summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp39
-rw-r--r--ApiDocs.bp1
-rw-r--r--StubLibraries.bp106
-rw-r--r--apct-tests/perftests/core/src/android/app/ResourcesManagerPerfTest.java2
-rw-r--r--apct-tests/perftests/core/src/android/app/ResourcesThemePerfTest.java2
-rw-r--r--apct-tests/perftests/core/src/android/wm/RelayoutPerfTest.java2
-rw-r--r--apex/Android.bp41
-rw-r--r--apex/blobstore/TEST_MAPPING8
-rw-r--r--apex/blobstore/framework/java/android/app/blob/BlobHandle.java62
-rw-r--r--apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java11
-rw-r--r--apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java395
-rw-r--r--apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerShellCommand.java111
-rw-r--r--apex/blobstore/service/java/com/android/server/blob/BlobStoreSession.java74
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java9
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java10
-rw-r--r--apex/media/framework/Android.bp61
-rw-r--r--apex/permission/framework/Android.bp59
-rw-r--r--apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistence.java3
-rw-r--r--apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsState.java3
-rw-r--r--apex/permission/service/java/com/android/role/persistence/RolesPersistence.java3
-rw-r--r--apex/permission/service/java/com/android/role/persistence/RolesState.java3
-rw-r--r--apex/sdkextensions/OWNERS1
-rw-r--r--apex/sdkextensions/framework/Android.bp58
-rw-r--r--apex/statsd/Android.bp35
-rw-r--r--apex/statsd/aidl/android/os/IStatsCompanionService.aidl7
-rw-r--r--apex/statsd/framework/Android.bp78
-rw-r--r--apex/statsd/framework/java/android/os/StatsDimensionsValue.java (renamed from core/java/android/os/StatsDimensionsValue.java)3
-rw-r--r--apex/statsd/jni/android_util_StatsLog.cpp (renamed from core/jni/android_util_StatsLog.cpp)29
-rw-r--r--apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java5
-rw-r--r--apex/statsd/tests/libstatspull/Android.bp56
-rw-r--r--apex/statsd/tests/libstatspull/AndroidManifest.xml30
-rw-r--r--apex/statsd/tests/libstatspull/TEST_MAPPING7
-rw-r--r--apex/statsd/tests/libstatspull/jni/stats_pull_helper.cpp88
-rw-r--r--apex/statsd/tests/libstatspull/protos/test_atoms.proto32
-rw-r--r--apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/StatsConfigUtils.java124
-rw-r--r--apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java285
-rw-r--r--api/current.txt160
-rw-r--r--api/module-app-current.txt21
-rw-r--r--api/module-app-removed.txt1
-rw-r--r--api/module-lib-current.txt20
-rwxr-xr-xapi/system-current.txt139
-rw-r--r--api/test-current.txt126
-rw-r--r--cmds/bootanimation/BootAnimation.cpp74
-rw-r--r--cmds/bootanimation/BootAnimation.h3
-rw-r--r--cmds/statsd/Android.bp11
-rw-r--r--cmds/statsd/benchmark/log_event_benchmark.cpp2
-rw-r--r--cmds/statsd/src/HashableDimensionKey.cpp2
-rw-r--r--cmds/statsd/src/StatsLogProcessor.cpp6
-rw-r--r--cmds/statsd/src/StatsService.cpp44
-rw-r--r--cmds/statsd/src/StatsService.h2
-rw-r--r--cmds/statsd/src/anomaly/AlarmMonitor.h2
-rw-r--r--cmds/statsd/src/anomaly/AnomalyTracker.h2
-rw-r--r--cmds/statsd/src/anomaly/subscriber_util.cpp4
-rw-r--r--cmds/statsd/src/atom_field_options.proto69
-rw-r--r--cmds/statsd/src/atoms.proto639
-rw-r--r--cmds/statsd/src/condition/CombinationConditionTracker.cpp5
-rw-r--r--cmds/statsd/src/condition/ConditionTracker.h2
-rw-r--r--cmds/statsd/src/condition/ConditionWizard.cpp3
-rw-r--r--cmds/statsd/src/condition/SimpleConditionTracker.cpp4
-rw-r--r--cmds/statsd/src/condition/StateConditionTracker.cpp2
-rw-r--r--cmds/statsd/src/condition/condition_util.cpp8
-rw-r--r--cmds/statsd/src/config/ConfigListener.h2
-rw-r--r--cmds/statsd/src/config/ConfigManager.cpp4
-rw-r--r--cmds/statsd/src/config/ConfigManager.h2
-rw-r--r--cmds/statsd/src/external/Perfetto.cpp4
-rw-r--r--cmds/statsd/src/external/PullDataReceiver.h2
-rw-r--r--cmds/statsd/src/external/ResourceHealthManagerPuller.cpp123
-rw-r--r--cmds/statsd/src/external/StatsCallbackPuller.cpp2
-rw-r--r--cmds/statsd/src/external/StatsCallbackPuller.h1
-rw-r--r--cmds/statsd/src/external/StatsPullerManager.cpp35
-rw-r--r--cmds/statsd/src/external/StatsPullerManager.h2
-rw-r--r--cmds/statsd/src/guardrail/StatsdStats.cpp1
-rw-r--r--cmds/statsd/src/logd/LogEvent.cpp16
-rw-r--r--cmds/statsd/src/logd/LogEvent.h37
-rw-r--r--cmds/statsd/src/logd/LogEventQueue.h2
-rw-r--r--cmds/statsd/src/main.cpp5
-rw-r--r--cmds/statsd/src/matchers/CombinationLogMatchingTracker.cpp2
-rw-r--r--cmds/statsd/src/matchers/CombinationLogMatchingTracker.h3
-rw-r--r--cmds/statsd/src/matchers/EventMatcherWizard.cpp3
-rw-r--r--cmds/statsd/src/matchers/SimpleLogMatchingTracker.cpp2
-rw-r--r--cmds/statsd/src/matchers/SimpleLogMatchingTracker.h3
-rw-r--r--cmds/statsd/src/matchers/matcher_util.cpp1
-rw-r--r--cmds/statsd/src/matchers/matcher_util.h5
-rw-r--r--cmds/statsd/src/metrics/GaugeMetricProducer.cpp11
-rw-r--r--cmds/statsd/src/metrics/MetricProducer.cpp1
-rw-r--r--cmds/statsd/src/metrics/MetricProducer.h1
-rw-r--r--cmds/statsd/src/metrics/MetricsManager.cpp4
-rw-r--r--cmds/statsd/src/metrics/ValueMetricProducer.cpp16
-rw-r--r--cmds/statsd/src/metrics/ValueMetricProducer.h2
-rw-r--r--cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h1
-rw-r--r--cmds/statsd/src/metrics/metrics_manager_util.cpp1
-rw-r--r--cmds/statsd/src/metrics/metrics_manager_util.h1
-rw-r--r--cmds/statsd/src/packages/PackageInfoListener.h1
-rw-r--r--cmds/statsd/src/packages/UidMap.cpp4
-rw-r--r--cmds/statsd/src/packages/UidMap.h2
-rw-r--r--cmds/statsd/src/shell/ShellSubscriber.cpp1
-rw-r--r--cmds/statsd/src/shell/ShellSubscriber.h1
-rwxr-xr-xcmds/statsd/src/socket/StatsSocketListener.cpp6
-rw-r--r--cmds/statsd/src/state/StateManager.h1
-rw-r--r--cmds/statsd/src/state/StateTracker.cpp80
-rw-r--r--cmds/statsd/src/state/StateTracker.h2
-rw-r--r--cmds/statsd/src/stats_log_util.cpp4
-rw-r--r--cmds/statsd/src/statscompanion_util.h6
-rw-r--r--cmds/statsd/src/storage/StorageManager.cpp2
-rw-r--r--cmds/statsd/src/subscriber/IncidentdReporter.cpp1
-rw-r--r--cmds/statsd/src/subscriber/SubscriberReporter.cpp1
-rw-r--r--cmds/statsd/tests/LogEvent_test.cpp24
-rw-r--r--cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp39
-rw-r--r--cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp17
-rw-r--r--cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp15
-rw-r--r--cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp39
-rw-r--r--cmds/statsd/tests/state/StateTracker_test.cpp103
-rw-r--r--cmds/statsd/tests/statsd_test_util.cpp36
-rw-r--r--cmds/statsd/tests/statsd_test_util.h19
-rw-r--r--config/boot-image-profile.txt32996
-rw-r--r--config/preloaded-classes3812
-rw-r--r--core/java/android/accessibilityservice/AccessibilityGestureEvent.java70
-rw-r--r--core/java/android/accessibilityservice/AccessibilityService.java70
-rw-r--r--core/java/android/annotation/UnsupportedAppUsage.java170
-rw-r--r--core/java/android/app/Activity.java8
-rw-r--r--core/java/android/app/ActivityManagerInternal.java2
-rw-r--r--core/java/android/app/ActivityTaskManager.java18
-rw-r--r--core/java/android/app/ActivityThread.java2
-rw-r--r--core/java/android/app/AlarmManager.java4
-rw-r--r--core/java/android/app/AppCompatCallbacks.java9
-rw-r--r--core/java/android/app/AppOpsManagerInternal.java13
-rw-r--r--core/java/android/app/ApplicationPackageManager.java56
-rw-r--r--core/java/android/app/ContextImpl.java64
-rw-r--r--core/java/android/app/IActivityManager.aidl9
-rw-r--r--core/java/android/app/IActivityTaskManager.aidl10
-rw-r--r--core/java/android/app/ITaskOrganizerController.aidl51
-rw-r--r--core/java/android/app/LoadedApk.java5
-rw-r--r--core/java/android/app/Notification.java94
-rw-r--r--core/java/android/app/NotificationChannel.java4
-rw-r--r--core/java/android/app/Person.java15
-rw-r--r--core/java/android/app/PropertyInvalidatedCache.java34
-rw-r--r--core/java/android/app/ResourcesManager.java388
-rw-r--r--core/java/android/app/SystemServiceRegistry.java14
-rw-r--r--core/java/android/app/TaskEmbedder.java11
-rw-r--r--core/java/android/app/TaskInfo.java29
-rw-r--r--core/java/android/app/WindowContext.java6
-rw-r--r--core/java/android/app/admin/DevicePolicyEventLogger.java7
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java62
-rw-r--r--core/java/android/app/admin/IDevicePolicyManager.aidl3
-rw-r--r--core/java/android/app/prediction/AppPredictionContext.java10
-rw-r--r--core/java/android/app/timedetector/ManualTimeSuggestion.java22
-rw-r--r--core/java/android/app/timedetector/NetworkTimeSuggestion.java22
-rw-r--r--core/java/android/app/timedetector/PhoneTimeSuggestion.java93
-rw-r--r--core/java/android/app/timedetector/TimeDetector.java72
-rw-r--r--core/java/android/app/timedetector/TimeDetectorImpl.java77
-rw-r--r--core/java/android/app/timezonedetector/ManualTimeZoneSuggestion.java18
-rw-r--r--core/java/android/app/timezonedetector/PhoneTimeZoneSuggestion.java147
-rw-r--r--core/java/android/app/timezonedetector/TimeZoneDetector.java57
-rw-r--r--core/java/android/app/timezonedetector/TimeZoneDetectorImpl.java65
-rw-r--r--core/java/android/bluetooth/BluetoothAdapter.java82
-rw-r--r--core/java/android/bluetooth/BluetoothDevice.java6
-rw-r--r--core/java/android/bluetooth/BluetoothHidDevice.java2
-rw-r--r--core/java/android/content/ContentProvider.java8
-rw-r--r--core/java/android/content/ContentProviderNative.java25
-rw-r--r--core/java/android/content/ContentResolver.java54
-rw-r--r--core/java/android/content/Context.java23
-rw-r--r--core/java/android/content/ContextWrapper.java4
-rw-r--r--core/java/android/content/IContentProvider.java10
-rw-r--r--core/java/android/content/Intent.java10
-rw-r--r--core/java/android/content/integrity/AppIntegrityManager.java21
-rw-r--r--core/java/android/content/integrity/AtomicFormula.java40
-rw-r--r--core/java/android/content/integrity/CompoundFormula.java10
-rw-r--r--core/java/android/content/integrity/IAppIntegrityManager.aidl1
-rw-r--r--core/java/android/content/integrity/IntegrityFormula.java17
-rw-r--r--core/java/android/content/integrity/Rule.java2
-rw-r--r--core/java/android/content/integrity/RuleSet.java2
-rw-r--r--core/java/android/content/om/OverlayManager.java10
-rw-r--r--core/java/android/content/pm/ApplicationInfo.java11
-rw-r--r--core/java/android/content/pm/IShortcutService.aidl4
-rw-r--r--core/java/android/content/pm/LauncherApps.java12
-rw-r--r--core/java/android/content/pm/PackageInstaller.java26
-rw-r--r--core/java/android/content/pm/PackageManager.java10
-rw-r--r--core/java/android/content/pm/PackageParser.java15
-rw-r--r--core/java/android/content/pm/PermissionInfo.java15
-rw-r--r--core/java/android/content/pm/ShortcutInfo.java17
-rw-r--r--core/java/android/content/pm/ShortcutManager.java93
-rw-r--r--core/java/android/content/pm/parsing/ApkLiteParseUtils.java10
-rw-r--r--core/java/android/content/pm/parsing/ApkParseUtils.java17
-rw-r--r--core/java/android/content/pm/parsing/ComponentParseUtils.java12
-rw-r--r--core/java/android/content/pm/parsing/PackageImpl.java1
-rw-r--r--core/java/android/content/res/AssetManager.java182
-rw-r--r--core/java/android/content/res/Resources.java224
-rw-r--r--core/java/android/content/res/ResourcesKey.java18
-rw-r--r--core/java/android/content/res/loader/AssetsProvider.java68
-rw-r--r--core/java/android/content/res/loader/DirectoryAssetsProvider.java (renamed from core/java/android/content/res/loader/DirectoryResourceLoader.java)26
-rw-r--r--core/java/android/content/res/loader/ResourceLoader.java116
-rw-r--r--core/java/android/content/res/loader/ResourceLoaderManager.java190
-rw-r--r--core/java/android/content/res/loader/ResourcesLoader.java253
-rw-r--r--core/java/android/content/res/loader/ResourcesProvider.java169
-rw-r--r--core/java/android/hardware/biometrics/BiometricManager.java17
-rw-r--r--core/java/android/hardware/camera2/CameraManager.java1
-rw-r--r--core/java/android/hardware/camera2/impl/CameraDeviceImpl.java16
-rw-r--r--core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java39
-rw-r--r--core/java/android/hardware/display/AmbientDisplayConfiguration.java5
-rw-r--r--core/java/android/hardware/location/ContextHubManager.java3
-rw-r--r--core/java/android/inputmethodservice/InputMethodService.java40
-rw-r--r--core/java/android/inputmethodservice/SoftInputWindow.java13
-rw-r--r--core/java/android/net/ConnectivityDiagnosticsManager.java48
-rw-r--r--core/java/android/net/ConnectivityManager.java8
-rw-r--r--core/java/android/net/IConnectivityManager.aidl11
-rw-r--r--core/java/android/net/NetworkAgent.java50
-rw-r--r--core/java/android/net/NetworkPolicyManager.java4
-rw-r--r--core/java/android/net/NetworkScore.aidl19
-rw-r--r--core/java/android/net/NetworkScore.java468
-rw-r--r--core/java/android/net/NetworkTemplate.java4
-rw-r--r--core/java/android/net/VpnManager.java71
-rw-r--r--core/java/android/os/BatteryStatsManager.java2
-rw-r--r--core/java/android/os/IVibratorService.aidl2
-rw-r--r--core/java/android/os/RecoverySystem.java4
-rw-r--r--core/java/android/os/SystemVibrator.java23
-rw-r--r--core/java/android/os/UpdateEngine.java19
-rw-r--r--core/java/android/os/UserManager.java66
-rw-r--r--core/java/android/os/VibrationAttributes.java12
-rw-r--r--core/java/android/os/VibrationEffect.aidl4
-rw-r--r--core/java/android/os/VibrationEffect.java346
-rw-r--r--core/java/android/os/Vibrator.java143
-rw-r--r--core/java/android/os/WorkSource.java2
-rw-r--r--core/java/android/os/incremental/IIncrementalManager.aidl4
-rw-r--r--core/java/android/os/incremental/IIncrementalManagerNative.aidl36
-rw-r--r--core/java/android/os/incremental/IncrementalFileStorages.java290
-rw-r--r--core/java/android/os/incremental/IncrementalFileSystemControlParcel.aidl7
-rw-r--r--core/java/android/os/incremental/IncrementalNewFileParams.aidl (renamed from cmds/statsd/src/external/ResourceHealthManagerPuller.h)32
-rw-r--r--core/java/android/os/incremental/IncrementalSignature.aidl31
-rw-r--r--core/java/android/os/incremental/IncrementalStorage.java174
-rw-r--r--core/java/android/os/storage/StorageManager.java115
-rw-r--r--core/java/android/permission/PermissionManager.java10
-rw-r--r--core/java/android/provider/ContactsContract.java20
-rw-r--r--core/java/android/provider/DeviceConfig.java8
-rw-r--r--core/java/android/provider/DocumentsContract.java4
-rw-r--r--core/java/android/provider/Settings.java25
-rw-r--r--core/java/android/provider/Telephony.java36
-rw-r--r--core/java/android/security/net/config/WfaCertificateSource.java5
-rw-r--r--core/java/android/service/autofill/Dataset.java25
-rw-r--r--core/java/android/service/autofill/FillResponse.java2
-rw-r--r--core/java/android/service/autofill/augmented/AugmentedAutofillService.java35
-rw-r--r--core/java/android/service/autofill/augmented/FillCallback.java2
-rw-r--r--core/java/android/service/autofill/augmented/FillResponse.java56
-rw-r--r--core/java/android/service/autofill/augmented/IFillCallback.aidl3
-rw-r--r--core/java/android/service/contentcapture/ContentCaptureService.java39
-rw-r--r--core/java/android/service/contentcapture/DataShareReadAdapter.java10
-rw-r--r--core/java/android/service/contentcapture/IDataShareCallback.aidl2
-rw-r--r--core/java/android/service/contentcapture/IDataShareReadAdapter.aidl2
-rw-r--r--core/java/android/service/notification/StatusBarNotification.java29
-rw-r--r--core/java/android/service/quickaccesswallet/TEST_MAPPING7
-rw-r--r--core/java/android/service/quicksettings/Tile.java22
-rw-r--r--core/java/android/service/wallpaper/WallpaperService.java5
-rw-r--r--core/java/android/telephony/CellBroadcastIntents.java11
-rw-r--r--core/java/android/telephony/PhoneStateListener.java17
-rw-r--r--core/java/android/text/format/Time.java6
-rw-r--r--core/java/android/timezone/CountryTimeZones.java39
-rw-r--r--core/java/android/timezone/TelephonyLookup.java4
-rw-r--r--core/java/android/timezone/TelephonyNetwork.java2
-rw-r--r--core/java/android/timezone/TelephonyNetworkFinder.java2
-rw-r--r--core/java/android/timezone/TimeZoneFinder.java2
-rw-r--r--core/java/android/timezone/TzDataSetVersion.java10
-rw-r--r--core/java/android/timezone/ZoneInfoDb.java8
-rw-r--r--core/java/android/util/CloseGuard.java4
-rw-r--r--core/java/android/util/FeatureFlagUtils.java8
-rw-r--r--core/java/android/util/RotationUtils.java72
-rw-r--r--core/java/android/util/StatsLog.java9
-rw-r--r--core/java/android/util/TimeUtils.java10
-rw-r--r--core/java/android/util/apk/ApkSignatureVerifier.java12
-rw-r--r--core/java/android/view/Display.java20
-rw-r--r--core/java/android/view/GestureDetector.java28
-rw-r--r--core/java/android/view/ITaskOrganizer.aidl18
-rw-r--r--core/java/android/view/IWindowManager.aidl4
-rw-r--r--core/java/android/view/IWindowSession.aidl14
-rw-r--r--core/java/android/view/ImeFocusController.java8
-rw-r--r--core/java/android/view/ImeInsetsSourceConsumer.java36
-rw-r--r--core/java/android/view/InsetsAnimationControlCallbacks.java6
-rw-r--r--core/java/android/view/InsetsAnimationControlImpl.java20
-rw-r--r--core/java/android/view/InsetsController.java211
-rw-r--r--core/java/android/view/InsetsSource.java21
-rw-r--r--core/java/android/view/InsetsSourceConsumer.java65
-rw-r--r--core/java/android/view/InsetsState.java17
-rw-r--r--core/java/android/view/SurfaceControl.java161
-rw-r--r--core/java/android/view/SurfaceControlViewHost.java2
-rw-r--r--core/java/android/view/View.java72
-rw-r--r--core/java/android/view/ViewConfiguration.java46
-rw-r--r--core/java/android/view/ViewGroup.java12
-rw-r--r--core/java/android/view/ViewRootImpl.java57
-rw-r--r--core/java/android/view/Window.java48
-rw-r--r--core/java/android/view/WindowContainerTransaction.java11
-rw-r--r--core/java/android/view/WindowInsetsAnimationCallback.java12
-rw-r--r--core/java/android/view/WindowInsetsAnimationControlListener.java2
-rw-r--r--core/java/android/view/WindowInsetsAnimationController.java3
-rw-r--r--core/java/android/view/WindowInsetsController.java56
-rw-r--r--core/java/android/view/WindowManager.java6
-rw-r--r--core/java/android/view/WindowlessWindowManager.java45
-rw-r--r--core/java/android/view/autofill/AutofillPopupWindow.java11
-rw-r--r--core/java/android/view/contentcapture/ContentCaptureManager.java35
-rw-r--r--core/java/android/view/contentcapture/DataShareWriteAdapter.java14
-rw-r--r--core/java/android/view/contentcapture/IContentCaptureManager.aidl3
-rw-r--r--core/java/android/view/inputmethod/InputMethodManager.java5
-rw-r--r--core/java/android/widget/Magnifier.java60
-rw-r--r--core/java/android/widget/ScrollBarDrawable.java2
-rw-r--r--core/java/android/widget/Toast.java5
-rw-r--r--core/java/com/android/ims/internal/uce/common/CapInfo.java36
-rw-r--r--core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java61
-rw-r--r--core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java43
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java161
-rw-r--r--core/java/com/android/internal/app/ChooserListAdapter.java13
-rw-r--r--core/java/com/android/internal/app/ChooserMultiProfilePagerAdapter.java24
-rw-r--r--core/java/com/android/internal/app/NetInitiatedActivity.java22
-rw-r--r--core/java/com/android/internal/app/ResolverActivity.java256
-rw-r--r--core/java/com/android/internal/app/ResolverListAdapter.java51
-rw-r--r--core/java/com/android/internal/app/ResolverListController.java11
-rw-r--r--core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java24
-rw-r--r--core/java/com/android/internal/compat/ChangeReporter.java62
-rw-r--r--core/java/com/android/internal/logging/InstanceId.java47
-rw-r--r--core/java/com/android/internal/logging/InstanceIdSequence.java18
-rw-r--r--core/java/com/android/internal/logging/MetricsLogger.java6
-rw-r--r--core/java/com/android/internal/logging/UiEventLoggerImpl.java8
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java73
-rw-r--r--core/java/com/android/internal/os/RuntimeInit.java8
-rw-r--r--core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java15
-rw-r--r--core/java/com/android/internal/os/logging/MetricsLoggerWrapper.java38
-rw-r--r--core/java/com/android/internal/policy/PhoneWindow.java29
-rw-r--r--core/java/com/android/internal/statusbar/IStatusBar.aidl10
-rw-r--r--core/java/com/android/internal/statusbar/IStatusBarService.aidl16
-rw-r--r--core/java/com/android/internal/util/LocationPermissionChecker.java85
-rw-r--r--core/java/com/android/internal/util/ObjectUtils.java8
-rw-r--r--core/java/com/android/internal/util/Preconditions.java60
-rw-r--r--core/java/com/android/internal/util/TraceBuffer.java (renamed from services/core/java/com/android/server/utils/TraceBuffer.java)122
-rw-r--r--core/java/com/android/internal/view/FloatingActionMode.java4
-rw-r--r--core/java/com/android/internal/view/menu/MenuPopupHelper.java11
-rw-r--r--core/java/com/android/internal/widget/ILockSettings.aidl2
-rw-r--r--core/java/com/android/internal/widget/LockPatternUtils.java33
-rw-r--r--core/java/com/android/server/BootReceiver.java40
-rw-r--r--core/jni/Android.bp3
-rw-r--r--core/jni/AndroidRuntime.cpp7
-rw-r--r--core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp7
-rw-r--r--core/jni/android_content_res_ApkAssets.cpp2
-rw-r--r--core/jni/android_os_storage_StorageManager.cpp77
-rw-r--r--core/jni/android_util_Binder.cpp5
-rw-r--r--core/jni/android_view_RenderNode.cpp6
-rw-r--r--core/jni/android_view_SurfaceControl.cpp121
-rw-r--r--core/jni/com_android_internal_os_Zygote.cpp8
-rw-r--r--core/jni/fd_utils.cpp1
-rw-r--r--core/proto/android/server/activitymanagerservice.proto100
-rw-r--r--core/proto/android/server/connectivity/data_stall_event.proto6
-rw-r--r--core/proto/android/server/vibratorservice.proto66
-rw-r--r--core/proto/android/server/windowmanagerservice.proto124
-rw-r--r--core/res/AndroidManifest.xml12
-rw-r--r--core/res/res/drawable-hdpi/sym_app_on_sd_unavailable_icon.pngbin3342 -> 0 bytes
-rw-r--r--core/res/res/drawable-ldpi/sym_app_on_sd_unavailable_icon.pngbin1077 -> 0 bytes
-rw-r--r--core/res/res/drawable-mdpi/sym_app_on_sd_unavailable_icon.pngbin5433 -> 0 bytes
-rw-r--r--core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.pngbin4125 -> 0 bytes
-rw-r--r--core/res/res/drawable/chooser_action_button_bg.xml33
-rw-r--r--core/res/res/drawable/ic_content_copy_gm2.xml25
-rw-r--r--core/res/res/drawable/ic_menu_copy_material.xml41
-rw-r--r--core/res/res/drawable/ic_open_in_new.xml26
-rw-r--r--core/res/res/drawable/media_seamless_background.xml2
-rw-r--r--core/res/res/drawable/sym_app_on_sd_unavailable_icon.xml47
-rw-r--r--core/res/res/layout/chooser_action_button.xml30
-rw-r--r--core/res/res/layout/chooser_action_row.xml26
-rw-r--r--core/res/res/layout/chooser_grid_preview_file.xml16
-rw-r--r--core/res/res/layout/chooser_grid_preview_image.xml10
-rw-r--r--core/res/res/layout/chooser_grid_preview_text.xml44
-rw-r--r--core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.pngbin3342 -> 0 bytes
-rw-r--r--core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.pngbin1077 -> 0 bytes
-rw-r--r--core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.pngbin5433 -> 0 bytes
-rw-r--r--core/res/res/values-af/strings.xml21
-rw-r--r--core/res/res/values-am/strings.xml21
-rw-r--r--core/res/res/values-ar/strings.xml23
-rw-r--r--core/res/res/values-as/strings.xml21
-rw-r--r--core/res/res/values-az/strings.xml21
-rw-r--r--core/res/res/values-b+sr+Latn/strings.xml21
-rw-r--r--core/res/res/values-be/strings.xml21
-rw-r--r--core/res/res/values-bg/strings.xml21
-rw-r--r--core/res/res/values-bn/strings.xml21
-rw-r--r--core/res/res/values-bs/strings.xml23
-rw-r--r--core/res/res/values-ca/strings.xml23
-rw-r--r--core/res/res/values-cs/strings.xml21
-rw-r--r--core/res/res/values-da/strings.xml21
-rw-r--r--core/res/res/values-de/strings.xml21
-rw-r--r--core/res/res/values-el/strings.xml21
-rw-r--r--core/res/res/values-en-rAU/strings.xml21
-rw-r--r--core/res/res/values-en-rCA/strings.xml21
-rw-r--r--core/res/res/values-en-rGB/strings.xml21
-rw-r--r--core/res/res/values-en-rIN/strings.xml21
-rw-r--r--core/res/res/values-en-rXC/strings.xml21
-rw-r--r--core/res/res/values-es-rUS/strings.xml21
-rw-r--r--core/res/res/values-es/strings.xml21
-rw-r--r--core/res/res/values-et/strings.xml21
-rw-r--r--core/res/res/values-eu/strings.xml21
-rw-r--r--core/res/res/values-fa/strings.xml21
-rw-r--r--core/res/res/values-fi/strings.xml21
-rw-r--r--core/res/res/values-fr-rCA/strings.xml21
-rw-r--r--core/res/res/values-fr/strings.xml21
-rw-r--r--core/res/res/values-gl/strings.xml21
-rw-r--r--core/res/res/values-gu/strings.xml21
-rw-r--r--core/res/res/values-hi/strings.xml21
-rw-r--r--core/res/res/values-hr/strings.xml21
-rw-r--r--core/res/res/values-hu/strings.xml21
-rw-r--r--core/res/res/values-hy/strings.xml21
-rw-r--r--core/res/res/values-in/strings.xml21
-rw-r--r--core/res/res/values-is/strings.xml21
-rw-r--r--core/res/res/values-it/strings.xml21
-rw-r--r--core/res/res/values-iw/strings.xml21
-rw-r--r--core/res/res/values-ja/strings.xml21
-rw-r--r--core/res/res/values-ka/strings.xml21
-rw-r--r--core/res/res/values-kk/strings.xml21
-rw-r--r--core/res/res/values-km/strings.xml21
-rw-r--r--core/res/res/values-kn/strings.xml21
-rw-r--r--core/res/res/values-ko/strings.xml21
-rw-r--r--core/res/res/values-ky/strings.xml21
-rw-r--r--core/res/res/values-lo/strings.xml21
-rw-r--r--core/res/res/values-lt/strings.xml21
-rw-r--r--core/res/res/values-lv/strings.xml21
-rw-r--r--core/res/res/values-mcc334/config.xml23
-rw-r--r--core/res/res/values-mcc732/config.xml23
-rw-r--r--core/res/res/values-mcc740/config.xml23
-rw-r--r--core/res/res/values-mk/strings.xml21
-rw-r--r--core/res/res/values-ml/strings.xml21
-rw-r--r--core/res/res/values-mn/strings.xml21
-rw-r--r--core/res/res/values-mr/strings.xml21
-rw-r--r--core/res/res/values-ms/strings.xml21
-rw-r--r--core/res/res/values-my/strings.xml21
-rw-r--r--core/res/res/values-nb/strings.xml21
-rw-r--r--core/res/res/values-ne/strings.xml21
-rw-r--r--core/res/res/values-nl/strings.xml21
-rw-r--r--core/res/res/values-or/strings.xml27
-rw-r--r--core/res/res/values-pa/strings.xml27
-rw-r--r--core/res/res/values-pl/strings.xml27
-rw-r--r--core/res/res/values-pt-rBR/strings.xml23
-rw-r--r--core/res/res/values-pt-rPT/strings.xml21
-rw-r--r--core/res/res/values-pt/strings.xml23
-rw-r--r--core/res/res/values-ro/strings.xml21
-rw-r--r--core/res/res/values-ru/strings.xml21
-rw-r--r--core/res/res/values-si/strings.xml21
-rw-r--r--core/res/res/values-sk/strings.xml21
-rw-r--r--core/res/res/values-sl/strings.xml21
-rw-r--r--core/res/res/values-sq/strings.xml21
-rw-r--r--core/res/res/values-sr/strings.xml21
-rw-r--r--core/res/res/values-sv/strings.xml21
-rw-r--r--core/res/res/values-sw/strings.xml21
-rw-r--r--core/res/res/values-ta/strings.xml21
-rw-r--r--core/res/res/values-te/strings.xml21
-rw-r--r--core/res/res/values-th/strings.xml21
-rw-r--r--core/res/res/values-tl/strings.xml21
-rw-r--r--core/res/res/values-tr/strings.xml21
-rw-r--r--core/res/res/values-uk/strings.xml21
-rw-r--r--core/res/res/values-ur/strings.xml21
-rw-r--r--core/res/res/values-uz/strings.xml21
-rw-r--r--core/res/res/values-vi/strings.xml21
-rw-r--r--core/res/res/values-zh-rCN/strings.xml21
-rw-r--r--core/res/res/values-zh-rHK/strings.xml21
-rw-r--r--core/res/res/values-zh-rTW/strings.xml21
-rw-r--r--core/res/res/values-zu/strings.xml21
-rw-r--r--core/res/res/values/attrs_manifest.xml10
-rw-r--r--core/res/res/values/config.xml30
-rw-r--r--core/res/res/values/dimens.xml8
-rw-r--r--core/res/res/values/ids.xml3
-rw-r--r--core/res/res/values/symbols.xml17
-rw-r--r--core/res/res/values/vendor_cross_profile_apps.xml24
-rw-r--r--core/tests/PlatformCompatFramework/src/com/android/internal/compat/ChangeReporterTest.java20
-rw-r--r--core/tests/ResourceLoaderTests/Android.bp5
-rw-r--r--core/tests/ResourceLoaderTests/AndroidTest.xml8
-rw-r--r--core/tests/ResourceLoaderTests/res/drawable-nodpi/non_asset_bitmap.pngbin146 -> 963 bytes
-rw-r--r--core/tests/ResourceLoaderTests/res/layout/layout.xml2
-rwxr-xr-xcore/tests/ResourceLoaderTests/resources/compileAndLink.sh28
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapRed.pngbin0 -> 962 bytes
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapWhite.pngbin0 -> 958 bytes
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableFour.xml21
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableOne.xml2
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableThree.xml21
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableTwo.xml2
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/layout/layout_four.xml23
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/layout/layout_three.xml23
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/values/dimen_four.xml (renamed from core/tests/ResourceLoaderTests/overlay/res/values/strings.xml)7
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/values/dimen_one.xml2
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/values/dimen_three.xml21
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/values/dimen_two.xml2
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/values/string_four.xml21
-rw-r--r--core/tests/ResourceLoaderTests/resources/res/values/string_three.xml21
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitFour/Android.bp (renamed from core/tests/ResourceLoaderTests/overlay/Android.bp)11
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitFour/AndroidManifest.xml (renamed from core/tests/ResourceLoaderTests/overlay/AndroidManifest.xml)8
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitFour/res/values/string_split.xml21
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitOne/Android.bp (renamed from core/tests/ResourceLoaderTests/SplitOne/Android.bp)0
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitOne/AndroidManifest.xml (renamed from core/tests/ResourceLoaderTests/SplitOne/AndroidManifest.xml)0
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitOne/res/values/string_split.xml (renamed from core/tests/ResourceLoaderTests/SplitOne/res/values/string_split_one.xml)0
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitThree/Android.bp19
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitThree/AndroidManifest.xml27
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitThree/res/values/string_spli.xml21
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitTwo/Android.bp (renamed from core/tests/ResourceLoaderTests/splits/Android.bp)0
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitTwo/AndroidManifest.xml (renamed from core/tests/ResourceLoaderTests/splits/AndroidManifest.xml)0
-rw-r--r--core/tests/ResourceLoaderTests/splits/SplitTwo/res/values/string_split.xml (renamed from core/tests/ResourceLoaderTests/splits/res/values/string_split_two.xml)0
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/DirectoryAssetsProviderTest.kt (renamed from core/tests/ResourceLoaderTests/src/android/content/res/loader/test/DirectoryResourceLoaderTest.kt)34
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetTest.kt169
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetsTest.kt220
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt241
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderDrawableTest.kt183
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderLayoutTest.kt153
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderTestBase.kt164
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderValuesTest.kt481
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/Utils.kt4
-rw-r--r--core/tests/coretests/Android.bp1
-rw-r--r--core/tests/coretests/AndroidManifest.xml11
-rw-r--r--core/tests/coretests/BstatsTestApp/src/com/android/coretests/apps/bstatstestapp/TestService.java9
-rw-r--r--core/tests/coretests/src/android/app/timedetector/PhoneTimeSuggestionTest.java10
-rw-r--r--core/tests/coretests/src/android/app/timezonedetector/PhoneTimeZoneSuggestionTest.java14
-rw-r--r--core/tests/coretests/src/android/content/ContentResolverTest.java18
-rw-r--r--core/tests/coretests/src/android/content/ContextTest.java1
-rw-r--r--core/tests/coretests/src/android/content/FakeProviderLocal.java57
-rw-r--r--core/tests/coretests/src/android/content/FakeProviderRemote.java57
-rw-r--r--core/tests/coretests/src/android/content/integrity/AtomicFormulaTest.java193
-rw-r--r--core/tests/coretests/src/android/content/integrity/CompoundFormulaTest.java115
-rw-r--r--core/tests/coretests/src/android/content/integrity/IntegrityUtilsTest.java26
-rw-r--r--core/tests/coretests/src/android/content/integrity/RuleTest.java51
-rw-r--r--core/tests/coretests/src/android/content/integrity/TestUtils.java51
-rw-r--r--core/tests/coretests/src/android/content/res/ResourcesManagerTest.java29
-rw-r--r--core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java6
-rw-r--r--core/tests/coretests/src/android/os/PowerManagerTest.java3
-rw-r--r--core/tests/coretests/src/android/util/GridScenario.java2
-rw-r--r--core/tests/coretests/src/android/util/ListScenario.java2
-rw-r--r--core/tests/coretests/src/android/util/ScrollViewScenario.java2
-rw-r--r--core/tests/coretests/src/android/view/BigCache.java7
-rw-r--r--core/tests/coretests/src/android/view/InsetsAnimationControlImplTest.java9
-rw-r--r--core/tests/coretests/src/android/view/InsetsControllerTest.java187
-rw-r--r--core/tests/coretests/src/android/view/InsetsSourceConsumerTest.java44
-rw-r--r--core/tests/coretests/src/android/view/InsetsSourceTest.java11
-rw-r--r--core/tests/coretests/src/android/view/InsetsStateTest.java11
-rw-r--r--core/tests/coretests/src/android/view/ScaleGestureDetectorTest.java23
-rw-r--r--core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java8
-rw-r--r--core/tests/coretests/src/android/view/menu/ContextMenuTest.java13
-rw-r--r--core/tests/coretests/src/android/widget/focus/ListOfInternalSelectionViews.java5
-rw-r--r--core/tests/coretests/src/android/widget/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java5
-rw-r--r--core/tests/coretests/src/android/widget/listview/AdjacentListsWithAdjacentISVsInside.java3
-rw-r--r--core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java12
-rw-r--r--core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java58
-rw-r--r--core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java27
-rw-r--r--core/tests/coretests/src/com/android/internal/policy/DecorContextTest.java4
-rw-r--r--core/tests/utiltests/src/com/android/internal/util/LocationPermissionCheckerTest.java39
-rw-r--r--data/etc/car/com.android.car.developeroptions.xml1
-rw-r--r--data/etc/car/com.android.car.secondaryhome.xml24
-rw-r--r--data/etc/com.android.settings.xml1
-rw-r--r--data/etc/com.android.systemui.xml1
-rw-r--r--data/etc/framework-sysconfig.xml24
-rw-r--r--data/etc/hiddenapi-package-whitelist.xml4
-rw-r--r--data/etc/privapp-permissions-platform.xml12
-rw-r--r--data/etc/services.core.protolog.json75
-rw-r--r--graphics/java/android/graphics/Canvas.java60
-rw-r--r--graphics/java/android/graphics/Outline.java38
-rw-r--r--graphics/java/android/graphics/Path.java6
-rw-r--r--graphics/java/android/graphics/RenderNode.java6
-rw-r--r--graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java2
-rw-r--r--graphics/java/android/graphics/drawable/GradientDrawable.java2
-rw-r--r--graphics/java/android/graphics/drawable/shapes/RoundRectShape.java2
-rw-r--r--libs/hwui/Outline.h6
-rw-r--r--libs/hwui/hwui/Bitmap.cpp8
-rw-r--r--libs/hwui/pipeline/skia/ATraceMemoryDump.cpp11
-rw-r--r--libs/hwui/pipeline/skia/SkiaPipeline.cpp8
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp49
-rw-r--r--libs/hwui/renderthread/CanvasContext.h2
-rw-r--r--libs/hwui/renderthread/ReliableSurface.cpp265
-rw-r--r--libs/hwui/renderthread/ReliableSurface.h51
-rw-r--r--libs/hwui/tests/common/TestContext.cpp74
-rw-r--r--libs/hwui/tests/common/TestContext.h11
-rw-r--r--libs/hwui/tests/macrobench/TestSceneRunner.cpp8
-rw-r--r--location/java/android/location/ILocationManager.aidl2
-rw-r--r--location/java/android/location/Location.java18
-rw-r--r--location/java/android/location/LocationManager.java15
-rw-r--r--location/java/android/location/LocationManagerInternal.java15
-rw-r--r--location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java4
-rw-r--r--media/TEST_MAPPING32
-rw-r--r--media/java/android/media/AudioAttributes.java5
-rw-r--r--media/java/android/media/AudioManager.java29
-rw-r--r--media/java/android/media/IAudioService.aidl4
-rw-r--r--media/java/android/media/MediaRoute2Info.java53
-rw-r--r--media/java/android/media/MediaRoute2ProviderInfo.java17
-rw-r--r--media/java/android/media/MediaRoute2ProviderService.java6
-rw-r--r--media/java/android/media/MediaRouter2.java27
-rw-r--r--media/java/android/media/MediaRouter2Manager.java7
-rw-r--r--media/java/android/media/audiopolicy/AudioProductStrategy.java4
-rw-r--r--media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java4
-rw-r--r--media/java/android/media/session/MediaSessionManager.java20
-rw-r--r--media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java4
-rw-r--r--media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java10
-rwxr-xr-xmedia/java/android/mtp/MtpDatabase.java1
-rw-r--r--media/jni/android_media_tv_Tuner.cpp683
-rw-r--r--media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestUtils.java9
-rw-r--r--media/tests/MediaRouteProvider/Android.bp18
-rw-r--r--media/tests/MediaRouteProvider/AndroidManifest.xml30
-rw-r--r--media/tests/MediaRouteProvider/res/values/strings.xml5
-rw-r--r--media/tests/MediaRouter/AndroidManifest.xml8
-rw-r--r--media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRoute2InfoTest.java363
-rw-r--r--media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2Test.java780
-rw-r--r--media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouterManagerTest.java78
-rw-r--r--media/tests/MediaRouter/src/com/android/mediaroutertest/RouteDiscoveryPreferenceTest.java87
-rw-r--r--media/tests/MediaRouter/src/com/android/mediaroutertest/RoutingSessionInfoTest.java526
-rw-r--r--media/tests/MediaRouter/src/com/android/mediaroutertest/SampleMediaRoute2ProviderService.java (renamed from media/tests/MediaRouteProvider/src/com/android/mediarouteprovider/example/SampleMediaRoute2ProviderService.java)2
-rw-r--r--mms/java/android/telephony/MmsManager.java14
-rw-r--r--mms/java/com/android/internal/telephony/IMms.aidl9
-rw-r--r--native/android/libandroid.map.txt2
-rw-r--r--packages/CarSystemUI/res/values/config.xml3
-rw-r--r--packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java8
-rw-r--r--packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java62
-rw-r--r--packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java24
-rw-r--r--packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java24
-rw-r--r--packages/CarrierDefaultApp/res/values-ky/strings.xml2
-rw-r--r--packages/ExternalStorageProvider/AndroidManifest.xml1
-rw-r--r--packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java10
-rw-r--r--packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeApp.java21
-rw-r--r--packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeBackgroundService.java23
-rw-r--r--packages/Incremental/NativeAdbDataLoader/jni/com_android_incremental_nativeadb_DataLoaderService.cpp104
-rw-r--r--packages/SettingsLib/res/values-af/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-am/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ar/arrays.xml2
-rw-r--r--packages/SettingsLib/res/values-ar/strings.xml11
-rw-r--r--packages/SettingsLib/res/values-as/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-az/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-b+sr+Latn/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-be/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-bg/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-bn/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-bs/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ca/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-cs/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-da/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-de/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-el/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-en-rAU/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-en-rCA/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-en-rGB/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-en-rIN/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-en-rXC/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-es-rUS/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-es/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-et/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-eu/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-fa/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-fi/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-fr-rCA/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-fr/strings.xml5
-rw-r--r--packages/SettingsLib/res/values-gl/strings.xml5
-rw-r--r--packages/SettingsLib/res/values-gu/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-hi/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-hr/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-hu/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-hy/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-in/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-is/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-it/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-iw/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ja/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ka/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-kk/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-km/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-kn/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ko/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ky/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-lo/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-lt/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-lv/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-mk/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ml/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-mn/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-mr/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ms/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-my/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-nb/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ne/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-nl/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-or/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-pa/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-pl/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-pt-rBR/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-pt-rPT/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-pt/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ro/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ru/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-si/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-sk/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-sl/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-sq/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-sr/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-sv/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-sw/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ta/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-te/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-th/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-tl/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-tr/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-uk/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-ur/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-uz/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-vi/strings.xml5
-rw-r--r--packages/SettingsLib/res/values-zh-rCN/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-zh-rHK/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-zh-rTW/strings.xml3
-rw-r--r--packages/SettingsLib/res/values-zu/strings.xml3
-rw-r--r--packages/SettingsLib/res/values/strings.xml2
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/NetworkPolicyEditor.java2
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java11
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java9
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java11
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java2
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java48
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java15
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java46
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java13
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java53
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java6
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java2
-rw-r--r--packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java35
-rw-r--r--packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java23
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java164
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java3
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java44
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java25
-rw-r--r--packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java2
-rw-r--r--packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java86
-rw-r--r--packages/SharedStorageBackup/AndroidManifest.xml1
-rw-r--r--packages/Shell/AndroidManifest.xml11
-rw-r--r--packages/SystemUI/Android.bp9
-rw-r--r--packages/SystemUI/AndroidManifest.xml3
-rw-r--r--packages/SystemUI/TEST_MAPPING19
-rw-r--r--packages/SystemUI/docs/plugin_hooks.md5
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/HomeControlsPlugin.java41
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/NPVPlugin.java52
-rw-r--r--packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java20
-rw-r--r--packages/SystemUI/proguard.flags1
-rw-r--r--packages/SystemUI/res-product/values-ky/strings.xml24
-rw-r--r--packages/SystemUI/res/color/control_background.xml (renamed from packages/SystemUI/res/color/lock_background.xml)0
-rw-r--r--packages/SystemUI/res/color/control_foreground.xml (renamed from packages/SystemUI/res/color/unknown_foreground.xml)0
-rw-r--r--packages/SystemUI/res/color/thermo_cool_background.xml6
-rw-r--r--packages/SystemUI/res/color/thermo_cool_foreground.xml6
-rw-r--r--packages/SystemUI/res/color/thermo_heat_background.xml6
-rw-r--r--packages/SystemUI/res/color/thermo_heat_foreground.xml (renamed from packages/SystemUI/res/color/lock_foreground.xml)2
-rw-r--r--packages/SystemUI/res/drawable/auth_dialog_enterprise.xml25
-rw-r--r--packages/SystemUI/res/drawable/control_no_favorites_background.xml2
-rw-r--r--packages/SystemUI/res/drawable/qs_media_background.xml26
-rw-r--r--packages/SystemUI/res/layout-land/auth_credential_pattern_view.xml67
-rw-r--r--packages/SystemUI/res/layout/auth_credential_password_view.xml30
-rw-r--r--packages/SystemUI/res/layout/auth_credential_pattern_view.xml69
-rw-r--r--packages/SystemUI/res/layout/controls_base_item.xml12
-rw-r--r--packages/SystemUI/res/layout/controls_no_favorites.xml2
-rw-r--r--packages/SystemUI/res/layout/controls_with_favorites.xml17
-rw-r--r--packages/SystemUI/res/layout/global_actions_grid_v2.xml4
-rw-r--r--packages/SystemUI/res/layout/home_controls.xml12
-rw-r--r--packages/SystemUI/res/layout/media_carousel.xml2
-rw-r--r--packages/SystemUI/res/layout/qqs_media_panel.xml28
-rw-r--r--packages/SystemUI/res/layout/qs_footer_impl.xml5
-rw-r--r--packages/SystemUI/res/layout/qs_media_panel.xml144
-rw-r--r--packages/SystemUI/res/layout/status_bar.xml26
-rw-r--r--packages/SystemUI/res/layout/status_bar_expanded.xml3
-rw-r--r--packages/SystemUI/res/values-af/strings.xml37
-rw-r--r--packages/SystemUI/res/values-am/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ar/strings.xml37
-rw-r--r--packages/SystemUI/res/values-as/strings.xml37
-rw-r--r--packages/SystemUI/res/values-az/strings.xml37
-rw-r--r--packages/SystemUI/res/values-b+sr+Latn/strings.xml4
-rw-r--r--packages/SystemUI/res/values-be/strings.xml37
-rw-r--r--packages/SystemUI/res/values-bg/strings.xml4
-rw-r--r--packages/SystemUI/res/values-bn/strings.xml37
-rw-r--r--packages/SystemUI/res/values-bs/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ca/strings.xml4
-rw-r--r--packages/SystemUI/res/values-cs/strings.xml4
-rw-r--r--packages/SystemUI/res/values-da/strings.xml4
-rw-r--r--packages/SystemUI/res/values-de/strings.xml37
-rw-r--r--packages/SystemUI/res/values-el/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rAU/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rCA/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rGB/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rIN/strings.xml4
-rw-r--r--packages/SystemUI/res/values-en-rXC/strings.xml4
-rw-r--r--packages/SystemUI/res/values-es-rUS/strings.xml4
-rw-r--r--packages/SystemUI/res/values-es/strings.xml4
-rw-r--r--packages/SystemUI/res/values-et/strings.xml37
-rw-r--r--packages/SystemUI/res/values-eu/strings.xml37
-rw-r--r--packages/SystemUI/res/values-fa/strings.xml37
-rw-r--r--packages/SystemUI/res/values-fi/strings.xml37
-rw-r--r--packages/SystemUI/res/values-fr-rCA/strings.xml4
-rw-r--r--packages/SystemUI/res/values-fr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-gl/strings.xml4
-rw-r--r--packages/SystemUI/res/values-gu/strings.xml37
-rw-r--r--packages/SystemUI/res/values-hi/strings.xml37
-rw-r--r--packages/SystemUI/res/values-hr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-hu/strings.xml4
-rw-r--r--packages/SystemUI/res/values-hy/strings.xml37
-rw-r--r--packages/SystemUI/res/values-in/strings.xml4
-rw-r--r--packages/SystemUI/res/values-is/strings.xml4
-rw-r--r--packages/SystemUI/res/values-it/strings.xml4
-rw-r--r--packages/SystemUI/res/values-iw/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ja/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ka/strings.xml37
-rw-r--r--packages/SystemUI/res/values-kk/strings.xml37
-rw-r--r--packages/SystemUI/res/values-km/strings.xml37
-rw-r--r--packages/SystemUI/res/values-kn/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ko/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ky/strings.xml41
-rw-r--r--packages/SystemUI/res/values-lo/strings.xml37
-rw-r--r--packages/SystemUI/res/values-lt/strings.xml4
-rw-r--r--packages/SystemUI/res/values-lv/strings.xml37
-rw-r--r--packages/SystemUI/res/values-mk/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ml/strings.xml37
-rw-r--r--packages/SystemUI/res/values-mn/strings.xml37
-rw-r--r--packages/SystemUI/res/values-mr/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ms/strings.xml37
-rw-r--r--packages/SystemUI/res/values-my/strings.xml37
-rw-r--r--packages/SystemUI/res/values-nb/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ne/strings.xml37
-rw-r--r--packages/SystemUI/res/values-nl/strings.xml4
-rw-r--r--packages/SystemUI/res/values-or/strings.xml37
-rw-r--r--packages/SystemUI/res/values-pa/strings.xml37
-rw-r--r--packages/SystemUI/res/values-pl/strings.xml37
-rw-r--r--packages/SystemUI/res/values-pt-rBR/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pt-rPT/strings.xml4
-rw-r--r--packages/SystemUI/res/values-pt/strings.xml4
-rw-r--r--packages/SystemUI/res/values-ro/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ru/strings.xml37
-rw-r--r--packages/SystemUI/res/values-si/strings.xml37
-rw-r--r--packages/SystemUI/res/values-sk/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sl/strings.xml37
-rw-r--r--packages/SystemUI/res/values-sq/strings.xml37
-rw-r--r--packages/SystemUI/res/values-sr/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sv/strings.xml4
-rw-r--r--packages/SystemUI/res/values-sw/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ta/strings.xml37
-rw-r--r--packages/SystemUI/res/values-te/strings.xml37
-rw-r--r--packages/SystemUI/res/values-television/config.xml3
-rw-r--r--packages/SystemUI/res/values-th/strings.xml37
-rw-r--r--packages/SystemUI/res/values-tl/strings.xml37
-rw-r--r--packages/SystemUI/res/values-tr/strings.xml37
-rw-r--r--packages/SystemUI/res/values-uk/strings.xml37
-rw-r--r--packages/SystemUI/res/values-ur/strings.xml37
-rw-r--r--packages/SystemUI/res/values-uz/strings.xml4
-rw-r--r--packages/SystemUI/res/values-vi/strings.xml37
-rw-r--r--packages/SystemUI/res/values-zh-rCN/strings.xml37
-rw-r--r--packages/SystemUI/res/values-zh-rHK/strings.xml37
-rw-r--r--packages/SystemUI/res/values-zh-rTW/strings.xml37
-rw-r--r--packages/SystemUI/res/values-zu/strings.xml4
-rw-r--r--packages/SystemUI/res/values/config.xml4
-rw-r--r--packages/SystemUI/res/values/dimens.xml7
-rw-r--r--packages/SystemUI/res/values/strings.xml2
-rw-r--r--packages/SystemUI/res/values/styles.xml41
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl1
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java197
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyCache.java101
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyLruCache.java100
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java6
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java190
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/tracing/ProtoTraceable.java26
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java9
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java23
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/DejankUtils.java44
-rw-r--r--packages/SystemUI/src/com/android/systemui/Dependency.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/ForegroundServiceNotificationListener.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/SystemUIFactory.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java69
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java54
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java542
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java108
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java73
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ControlStatus.kt6
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ControlsServiceInfo.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/UserAwareController.kt25
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingControllerImpl.kt67
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt139
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt20
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManager.kt77
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/AppAdapter.kt1
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt25
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingController.kt5
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt61
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt34
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/Behavior.kt21
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt310
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt29
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt117
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/TemperatureControlBehavior.kt56
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt66
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt183
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/UnknownBehavior.kt25
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/DefaultComponentBinder.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java12
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemUIRootComponent.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeEvent.java142
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeLog.java185
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt209
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeScreenState.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeSuppressedHandler.java124
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java29
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/DozeUi.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java28
-rw-r--r--packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java18
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java76
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogBuffer.kt213
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogLevel.kt31
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogMessage.kt52
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogMessageImpl.kt89
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogcatEchoTracker.kt32
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerDebug.kt133
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerProd.kt30
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/SysuiLog.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/dagger/DozeLog.java33
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java76
-rw-r--r--packages/SystemUI/src/com/android/systemui/log/dagger/NotificationLog.java33
-rw-r--r--packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/pip/PipUI.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/DoubleLineTileLayout.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSColorController.kt140
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java78
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanel.java38
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java72
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/TileLayout.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java48
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java43
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/ControlsTile.java203
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java22
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java38
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java66
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/StatusBarDependenciesModule.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/BypassHeadsUpNotifier.kt5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java309
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifInflaterImpl.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifPipeline.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java80
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java169
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescer.java29
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerLogger.kt62
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HideLocallyDismissedNotifsCoordinator.java41
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt217
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java40
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt81
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java48
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsController.kt50
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt157
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerStub.kt76
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableOutlineView.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NPVPluginManager.kt102
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java37
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java144
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowController.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java54
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java120
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java23
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java31
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/tracing/ProtoTracer.java145
-rw-r--r--packages/SystemUI/src/com/android/systemui/tracing/sysui_trace.proto57
-rw-r--r--packages/SystemUI/src/com/android/systemui/tv/TvSystemUIBinder.java28
-rw-r--r--packages/SystemUI/src/com/android/systemui/tv/TvSystemUIFactory.java35
-rw-r--r--packages/SystemUI/src/com/android/systemui/tv/TvSystemUIRootComponent.java58
-rw-r--r--packages/SystemUI/src/com/android/systemui/util/Utils.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/wm/DisplayChangeController.java109
-rw-r--r--packages/SystemUI/src/com/android/systemui/wm/DisplayController.java (renamed from packages/SystemUI/src/com/android/systemui/wm/DisplayWindowController.java)82
-rw-r--r--packages/SystemUI/src/com/android/systemui/wm/DisplayImeController.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/wm/DisplayLayout.java106
-rw-r--r--packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java12
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java132
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleDataTest.java26
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleTest.java42
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsBindingControllerImplTest.kt55
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt77
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManagerTest.kt10
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt33
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationUtil.java1
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java131
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeSuppressedHandlerTest.java77
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java6
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java16
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java18
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/shared/recents/model/TaskKeyLruCacheTest.java140
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java48
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java312
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java105
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java11
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java29
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java15
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java33
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java90
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java32
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java21
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java60
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java14
-rw-r--r--packages/Tethering/common/TetheringLib/jarjar-rules.txt1
-rw-r--r--packages/Tethering/common/TetheringLib/src/android/net/TetheringManager.java216
-rw-r--r--packages/Tethering/res/values/config.xml1
-rw-r--r--packages/Tethering/src/android/net/dhcp/DhcpServerCallbacks.java5
-rw-r--r--packages/Tethering/src/android/net/ip/IpServer.java5
-rw-r--r--packages/Tethering/src/android/net/util/BaseNetdUnsolicitedEventListener.java5
-rw-r--r--packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java2
-rw-r--r--packages/WAPPushManager/Android.bp1
-rw-r--r--packages/WallpaperCropper/src/com/android/photos/views/TiledImageRenderer.java5
-rw-r--r--packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java20
-rw-r--r--packages/overlays/Android.mk1
-rw-r--r--packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk14
-rw-r--r--packages/overlays/DisplayCutoutEmulationHoleOverlay/AndroidManifest.xml26
-rw-r--r--packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values-land/config.xml22
-rw-r--r--packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml61
-rw-r--r--packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/strings.xml22
-rw-r--r--services/Android.bp2
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java6
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java13
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/EventDispatcher.java6
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/GestureManifold.java47
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/GestureUtils.java11
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java291
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerSwipe.java496
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/SecondFingerMultiTap.java13
-rw-r--r--services/accessibility/java/com/android/server/accessibility/gestures/Swipe.java52
-rw-r--r--services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java125
-rw-r--r--services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java4
-rw-r--r--services/art-profile33902
-rw-r--r--services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java90
-rw-r--r--services/autofill/java/com/android/server/autofill/InlineSuggestionFactory.java29
-rw-r--r--services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java42
-rw-r--r--services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java11
-rw-r--r--services/autofill/java/com/android/server/autofill/Session.java4
-rw-r--r--services/autofill/java/com/android/server/autofill/ui/SaveUi.java16
-rw-r--r--services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java5
-rw-r--r--services/backup/java/com/android/server/backup/UserBackupManagerFilePersistedSettings.java20
-rw-r--r--services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java27
-rw-r--r--services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java217
-rw-r--r--services/contentcapture/java/com/android/server/contentcapture/ContentCaptureMetricsLogger.java17
-rw-r--r--services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java12
-rw-r--r--services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java18
-rw-r--r--services/core/java/android/app/usage/UsageStatsManagerInternal.java7
-rw-r--r--services/core/java/android/content/pm/PackageManagerInternal.java2
-rw-r--r--services/core/java/com/android/server/AlarmManagerService.java88
-rw-r--r--services/core/java/com/android/server/BatteryService.java33
-rw-r--r--services/core/java/com/android/server/BluetoothManagerService.java11
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java487
-rw-r--r--services/core/java/com/android/server/LocationManagerService.java430
-rw-r--r--services/core/java/com/android/server/LocationManagerServiceUtils.java51
-rw-r--r--services/core/java/com/android/server/MmsServiceBroker.java15
-rw-r--r--services/core/java/com/android/server/NetworkManagementService.java15
-rw-r--r--services/core/java/com/android/server/RescueParty.java25
-rw-r--r--services/core/java/com/android/server/ServiceWatcher.java68
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java53
-rw-r--r--services/core/java/com/android/server/SystemService.java5
-rw-r--r--services/core/java/com/android/server/TEST_MAPPING4
-rw-r--r--services/core/java/com/android/server/TelephonyRegistry.java52
-rw-r--r--services/core/java/com/android/server/VibratorService.java274
-rw-r--r--services/core/java/com/android/server/Watchdog.java5
-rw-r--r--services/core/java/com/android/server/adb/AdbDebuggingManager.java6
-rw-r--r--services/core/java/com/android/server/am/ActiveServices.java37
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerConstants.java35
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java241
-rw-r--r--services/core/java/com/android/server/am/AppExitInfoTracker.java9
-rw-r--r--services/core/java/com/android/server/am/BatteryExternalStatsWorker.java7
-rw-r--r--services/core/java/com/android/server/am/BatteryStatsService.java120
-rw-r--r--services/core/java/com/android/server/am/BroadcastQueue.java7
-rw-r--r--services/core/java/com/android/server/am/CachedAppOptimizer.java12
-rw-r--r--services/core/java/com/android/server/am/OomAdjuster.java63
-rw-r--r--services/core/java/com/android/server/am/ProcessList.java157
-rw-r--r--services/core/java/com/android/server/am/ProcessRecord.java45
-rw-r--r--services/core/java/com/android/server/am/TEST_MAPPING8
-rw-r--r--services/core/java/com/android/server/am/UserController.java10
-rw-r--r--services/core/java/com/android/server/appop/AppOpsService.java74
-rw-r--r--services/core/java/com/android/server/attention/AttentionManagerService.java11
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java58
-rw-r--r--services/core/java/com/android/server/audio/PlaybackActivityMonitor.java82
-rw-r--r--services/core/java/com/android/server/audio/RotationHelper.java1
-rw-r--r--services/core/java/com/android/server/backup/SystemBackupAgent.java1
-rw-r--r--services/core/java/com/android/server/biometrics/BiometricService.java208
-rw-r--r--services/core/java/com/android/server/biometrics/BiometricServiceBase.java12
-rw-r--r--services/core/java/com/android/server/biometrics/LoggableMonitor.java19
-rw-r--r--services/core/java/com/android/server/biometrics/face/FaceService.java3
-rw-r--r--services/core/java/com/android/server/camera/CameraServiceProxy.java19
-rw-r--r--services/core/java/com/android/server/compat/CompatConfig.java10
-rw-r--r--services/core/java/com/android/server/compat/PlatformCompat.java13
-rw-r--r--services/core/java/com/android/server/connectivity/LingerMonitor.java29
-rw-r--r--services/core/java/com/android/server/connectivity/NetdEventListenerService.java9
-rw-r--r--services/core/java/com/android/server/connectivity/NetworkAgentInfo.java2
-rw-r--r--services/core/java/com/android/server/connectivity/NetworkNotificationManager.java12
-rw-r--r--services/core/java/com/android/server/connectivity/Vpn.java210
-rw-r--r--services/core/java/com/android/server/content/SyncManager.java59
-rw-r--r--services/core/java/com/android/server/display/DisplayModeDirector.java7
-rw-r--r--services/core/java/com/android/server/display/LocalDisplayAdapter.java160
-rw-r--r--services/core/java/com/android/server/display/OverlayDisplayWindow.java3
-rw-r--r--services/core/java/com/android/server/incremental/IncrementalManagerService.java14
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java19
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java32
-rw-r--r--services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java6
-rw-r--r--services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java78
-rw-r--r--services/core/java/com/android/server/integrity/IntegrityFileManager.java20
-rw-r--r--services/core/java/com/android/server/integrity/engine/RuleEvaluator.java49
-rw-r--r--services/core/java/com/android/server/integrity/model/IntegrityCheckResult.java53
-rw-r--r--services/core/java/com/android/server/integrity/parser/RuleXmlParser.java220
-rw-r--r--services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java8
-rw-r--r--services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java203
-rw-r--r--services/core/java/com/android/server/location/AbstractLocationProvider.java23
-rw-r--r--services/core/java/com/android/server/location/AppForegroundHelper.java131
-rw-r--r--services/core/java/com/android/server/location/GeofenceManager.java4
-rw-r--r--services/core/java/com/android/server/location/GnssConfiguration.java5
-rw-r--r--services/core/java/com/android/server/location/GnssLocationProvider.java26
-rw-r--r--services/core/java/com/android/server/location/GnssVisibilityControl.java4
-rw-r--r--services/core/java/com/android/server/location/LocationFudger.java15
-rw-r--r--services/core/java/com/android/server/location/LocationProviderProxy.java80
-rw-r--r--services/core/java/com/android/server/location/LocationUsageLogger.java9
-rw-r--r--services/core/java/com/android/server/location/MockProvider.java15
-rw-r--r--services/core/java/com/android/server/location/MockableLocationProvider.java26
-rw-r--r--services/core/java/com/android/server/location/PassiveProvider.java27
-rw-r--r--services/core/java/com/android/server/location/SettingsHelper.java (renamed from services/core/java/com/android/server/location/LocationSettingsStore.java)78
-rw-r--r--services/core/java/com/android/server/location/UserInfoHelper.java (renamed from services/core/java/com/android/server/location/UserInfoStore.java)103
-rw-r--r--services/core/java/com/android/server/location/gnss/GnssManagerService.java506
-rw-r--r--services/core/java/com/android/server/locksettings/LockSettingsService.java69
-rw-r--r--services/core/java/com/android/server/locksettings/LockSettingsShellCommand.java21
-rw-r--r--services/core/java/com/android/server/locksettings/ManagedProfilePasswordCache.java191
-rw-r--r--services/core/java/com/android/server/locksettings/RebootEscrowData.java44
-rw-r--r--services/core/java/com/android/server/locksettings/RebootEscrowKey.java67
-rw-r--r--services/core/java/com/android/server/locksettings/RebootEscrowManager.java84
-rw-r--r--services/core/java/com/android/server/media/BluetoothRouteProvider.java1
-rw-r--r--services/core/java/com/android/server/media/MediaKeyDispatcher.java39
-rw-r--r--services/core/java/com/android/server/media/MediaRoute2Provider.java2
-rw-r--r--services/core/java/com/android/server/media/MediaRoute2ProviderProxy.java14
-rw-r--r--services/core/java/com/android/server/media/MediaSession2Record.java20
-rw-r--r--services/core/java/com/android/server/media/MediaSessionRecord.java46
-rw-r--r--services/core/java/com/android/server/media/MediaSessionRecordImpl.java14
-rw-r--r--services/core/java/com/android/server/media/MediaSessionService.java53
-rw-r--r--services/core/java/com/android/server/media/MediaSessionStack.java9
-rw-r--r--services/core/java/com/android/server/media/SessionPolicyProvider.java63
-rw-r--r--services/core/java/com/android/server/media/SystemMediaRoute2Provider.java2
-rw-r--r--services/core/java/com/android/server/notification/NotificationDelegate.java8
-rwxr-xr-xservices/core/java/com/android/server/notification/NotificationManagerService.java65
-rw-r--r--services/core/java/com/android/server/notification/NotificationRecordLogger.java4
-rw-r--r--services/core/java/com/android/server/notification/NotificationRecordLoggerImpl.java6
-rw-r--r--services/core/java/com/android/server/om/OverlayActorEnforcer.java8
-rw-r--r--services/core/java/com/android/server/om/TEST_MAPPING14
-rw-r--r--services/core/java/com/android/server/pm/ApexManager.java102
-rw-r--r--services/core/java/com/android/server/pm/AppsFilter.java74
-rw-r--r--services/core/java/com/android/server/pm/BackgroundDexOptService.java4
-rw-r--r--services/core/java/com/android/server/pm/DataLoaderManagerService.java14
-rw-r--r--services/core/java/com/android/server/pm/Installer.java10
-rw-r--r--services/core/java/com/android/server/pm/LauncherAppsService.java15
-rw-r--r--services/core/java/com/android/server/pm/PackageInstallerService.java7
-rw-r--r--services/core/java/com/android/server/pm/PackageInstallerSession.java237
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java199
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerServiceUtils.java18
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java3
-rw-r--r--services/core/java/com/android/server/pm/PackageSettingBase.java5
-rw-r--r--services/core/java/com/android/server/pm/Settings.java32
-rw-r--r--services/core/java/com/android/server/pm/ShortcutPackage.java36
-rw-r--r--services/core/java/com/android/server/pm/ShortcutService.java71
-rw-r--r--services/core/java/com/android/server/pm/StagingManager.java44
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java4
-rw-r--r--services/core/java/com/android/server/pm/UserRestrictionsUtils.java6
-rw-r--r--services/core/java/com/android/server/pm/permission/BasePermission.java4
-rw-r--r--services/core/java/com/android/server/pm/permission/PermissionManagerService.java19
-rw-r--r--services/core/java/com/android/server/policy/PermissionPolicyService.java23
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java29
-rw-r--r--services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java27
-rw-r--r--services/core/java/com/android/server/power/AttentionDetector.java5
-rw-r--r--services/core/java/com/android/server/power/Notifier.java55
-rw-r--r--services/core/java/com/android/server/power/PowerManagerService.java6
-rw-r--r--services/core/java/com/android/server/power/WakeLockLog.java1355
-rw-r--r--services/core/java/com/android/server/protolog/ProtoLogImpl.java2
-rw-r--r--services/core/java/com/android/server/rollback/AppDataRollbackHelper.java135
-rw-r--r--services/core/java/com/android/server/rollback/Rollback.java40
-rw-r--r--services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java88
-rw-r--r--services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java185
-rw-r--r--services/core/java/com/android/server/rollback/WatchdogRollbackLogger.java229
-rw-r--r--services/core/java/com/android/server/signedconfig/GlobalSettingsConfigApplicator.java13
-rw-r--r--services/core/java/com/android/server/signedconfig/SignatureVerifier.java18
-rw-r--r--services/core/java/com/android/server/signedconfig/SignedConfigEvent.java10
-rw-r--r--services/core/java/com/android/server/signedconfig/SignedConfigService.java7
-rw-r--r--services/core/java/com/android/server/stats/pull/StatsPullAtomService.java383
-rw-r--r--services/core/java/com/android/server/statusbar/StatusBarManagerService.java43
-rw-r--r--services/core/java/com/android/server/statusbar/StatusBarShellCommand.java17
-rw-r--r--services/core/java/com/android/server/storage/DeviceStorageMonitorService.java24
-rw-r--r--services/core/java/com/android/server/timedetector/TimeDetectorStrategyImpl.java57
-rw-r--r--services/core/java/com/android/server/timezone/RulesManagerService.java10
-rw-r--r--services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java31
-rw-r--r--services/core/java/com/android/server/wm/AccessibilityController.java17
-rw-r--r--services/core/java/com/android/server/wm/ActivityMetricsLogger.java32
-rw-r--r--services/core/java/com/android/server/wm/ActivityRecord.java143
-rw-r--r--services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java59
-rw-r--r--services/core/java/com/android/server/wm/ActivityStack.java187
-rw-r--r--services/core/java/com/android/server/wm/ActivityStackSupervisor.java1
-rw-r--r--services/core/java/com/android/server/wm/ActivityStarter.java4
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java157
-rw-r--r--services/core/java/com/android/server/wm/AnimationAdapter.java4
-rw-r--r--services/core/java/com/android/server/wm/AppTransitionController.java11
-rw-r--r--services/core/java/com/android/server/wm/Dimmer.java11
-rw-r--r--services/core/java/com/android/server/wm/DisplayArea.java265
-rw-r--r--services/core/java/com/android/server/wm/DisplayAreaPolicy.java123
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java348
-rw-r--r--services/core/java/com/android/server/wm/DisplayPolicy.java181
-rw-r--r--services/core/java/com/android/server/wm/DisplayRotation.java2
-rw-r--r--services/core/java/com/android/server/wm/EmbeddedWindowController.java42
-rw-r--r--services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java69
-rw-r--r--services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java2
-rw-r--r--services/core/java/com/android/server/wm/InsetsControlTarget.java7
-rw-r--r--services/core/java/com/android/server/wm/InsetsPolicy.java173
-rw-r--r--services/core/java/com/android/server/wm/InsetsSourceProvider.java55
-rw-r--r--services/core/java/com/android/server/wm/InsetsStateController.java41
-rw-r--r--services/core/java/com/android/server/wm/KeyguardController.java10
-rw-r--r--services/core/java/com/android/server/wm/LocalAnimationAdapter.java5
-rw-r--r--services/core/java/com/android/server/wm/ProtoLogGroup.java2
-rw-r--r--services/core/java/com/android/server/wm/RecentsAnimation.java11
-rw-r--r--services/core/java/com/android/server/wm/RecentsAnimationController.java17
-rw-r--r--services/core/java/com/android/server/wm/RemoteAnimationController.java20
-rw-r--r--services/core/java/com/android/server/wm/RootWindowContainer.java69
-rw-r--r--services/core/java/com/android/server/wm/ScreenRotationAnimation.java23
-rw-r--r--services/core/java/com/android/server/wm/SeamlessRotator.java4
-rw-r--r--services/core/java/com/android/server/wm/Session.java30
-rw-r--r--services/core/java/com/android/server/wm/SurfaceAnimator.java117
-rw-r--r--services/core/java/com/android/server/wm/Task.java97
-rw-r--r--services/core/java/com/android/server/wm/TaskOrganizerController.java336
-rw-r--r--services/core/java/com/android/server/wm/TaskSnapshotSurface.java22
-rw-r--r--services/core/java/com/android/server/wm/TaskTile.java225
-rw-r--r--services/core/java/com/android/server/wm/WallpaperAnimationAdapter.java15
-rw-r--r--services/core/java/com/android/server/wm/WindowContainer.java27
-rw-r--r--services/core/java/com/android/server/wm/WindowContainerThumbnail.java13
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java150
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java251
-rw-r--r--services/core/java/com/android/server/wm/WindowStateAnimator.java11
-rw-r--r--services/core/java/com/android/server/wm/WindowSurfaceController.java36
-rw-r--r--services/core/java/com/android/server/wm/WindowTracing.java4
-rw-r--r--services/core/java/com/android/server/wm/utils/WmDisplayCutout.java87
-rw-r--r--services/core/jni/Android.bp3
-rw-r--r--services/core/jni/com_android_server_SystemServer.cpp59
-rw-r--r--services/core/jni/com_android_server_VibratorService.cpp67
-rw-r--r--services/core/jni/com_android_server_incremental_IncrementalManagerService.cpp5
-rw-r--r--services/core/jni/com_android_server_location_GnssLocationProvider.cpp10
-rw-r--r--services/core/jni/com_android_server_stats_pull_StatsPullAtomService.cpp73
-rw-r--r--services/core/jni/onload.cpp2
-rw-r--r--services/core/jni/stats/OWNERS9
-rw-r--r--services/core/jni/stats/PowerStatsPuller.cpp (renamed from cmds/statsd/src/external/PowerStatsPuller.cpp)123
-rw-r--r--services/core/jni/stats/PowerStatsPuller.h (renamed from cmds/statsd/src/external/PowerStatsPuller.h)19
-rw-r--r--services/core/jni/stats/SubsystemSleepStatePuller.cpp (renamed from cmds/statsd/src/external/SubsystemSleepStatePuller.cpp)225
-rw-r--r--services/core/jni/stats/SubsystemSleepStatePuller.h (renamed from cmds/statsd/src/external/SubsystemSleepStatePuller.h)20
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java40
-rw-r--r--services/incremental/Android.bp2
-rw-r--r--services/incremental/BinderIncrementalService.cpp174
-rw-r--r--services/incremental/BinderIncrementalService.h63
-rw-r--r--services/incremental/IncrementalService.cpp399
-rw-r--r--services/incremental/IncrementalService.h75
-rw-r--r--services/incremental/ServiceWrappers.cpp31
-rw-r--r--services/incremental/ServiceWrappers.h135
-rw-r--r--services/incremental/include/incremental_service.h1
-rw-r--r--services/incremental/path.cpp31
-rw-r--r--services/incremental/path.h14
-rw-r--r--services/incremental/test/IncrementalServiceTest.cpp188
-rw-r--r--services/java/com/android/server/SystemServer.java62
-rw-r--r--services/net/java/android/net/IpMemoryStore.java5
-rw-r--r--services/net/java/android/net/ip/IpClientUtil.java5
-rw-r--r--services/people/java/com/android/server/people/PeopleService.java25
-rw-r--r--services/people/java/com/android/server/people/SessionInfo.java15
-rw-r--r--services/people/java/com/android/server/people/data/AggregateEventHistoryImpl.java95
-rw-r--r--services/people/java/com/android/server/people/data/CallLogQueryHelper.java121
-rw-r--r--services/people/java/com/android/server/people/data/ContactsQueryHelper.java182
-rw-r--r--services/people/java/com/android/server/people/data/ConversationInfo.java372
-rw-r--r--services/people/java/com/android/server/people/data/ConversationStore.java109
-rw-r--r--services/people/java/com/android/server/people/data/DataManager.java686
-rw-r--r--services/people/java/com/android/server/people/data/Event.java195
-rw-r--r--services/people/java/com/android/server/people/data/EventHistory.java44
-rw-r--r--services/people/java/com/android/server/people/data/EventHistoryImpl.java88
-rw-r--r--services/people/java/com/android/server/people/data/EventIndex.java377
-rw-r--r--services/people/java/com/android/server/people/data/EventList.java103
-rw-r--r--services/people/java/com/android/server/people/data/EventStore.java114
-rw-r--r--services/people/java/com/android/server/people/data/MmsQueryHelper.java151
-rw-r--r--services/people/java/com/android/server/people/data/PackageData.java152
-rw-r--r--services/people/java/com/android/server/people/data/SmsQueryHelper.java119
-rw-r--r--services/people/java/com/android/server/people/data/UserData.java116
-rw-r--r--services/people/java/com/android/server/people/data/Utils.java49
-rw-r--r--services/people/java/com/android/server/people/prediction/AppTargetPredictor.java (renamed from services/people/java/com/android/server/people/prediction/ConversationPredictor.java)59
-rw-r--r--services/people/java/com/android/server/people/prediction/ConversationData.java55
-rw-r--r--services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java139
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/AlarmManagerServiceTest.java48
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java29
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java117
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/display/LocalDisplayAdapterTest.java78
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/location/AppForegroundHelperTest.java112
-rw-r--r--services/tests/mockingservicestests/src/com/android/server/location/UserInfoHelperTest.java (renamed from services/tests/mockingservicestests/src/com/android/server/location/UserInfoStoreTest.java)51
-rw-r--r--services/tests/servicestests/Android.bp2
-rw-r--r--services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java14
-rw-r--r--services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java18
-rw-r--r--services/tests/servicestests/src/com/android/server/accessibility/gestures/TouchExplorerTest.java38
-rw-r--r--services/tests/servicestests/src/com/android/server/backup/restore/PerformUnifiedRestoreTaskTest.java38
-rw-r--r--services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java62
-rw-r--r--services/tests/servicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java189
-rw-r--r--services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java52
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java98
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/engine/RuleEvaluatorTest.java78
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/model/IntegrityCheckResultTest.java137
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/parser/RuleXmlParserTest.java640
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/serializer/RuleBinarySerializerTest.java20
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/serializer/RuleIndexingDetailsIdentifierTest.java10
-rw-r--r--services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java572
-rw-r--r--services/tests/servicestests/src/com/android/server/location/MockableLocationProviderTest.java213
-rw-r--r--services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java57
-rw-r--r--services/tests/servicestests/src/com/android/server/location/test/FakeProvider.java45
-rw-r--r--services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java6
-rw-r--r--services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowDataTest.java22
-rw-r--r--services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowManagerTests.java38
-rw-r--r--services/tests/servicestests/src/com/android/server/people/PeopleServiceTest.java2
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/AggregateEventHistoryImplTest.java131
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/CallLogQueryHelperTest.java169
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/ContactsQueryHelperTest.java187
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/ConversationInfoTest.java130
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/ConversationStoreTest.java153
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java577
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/EventHistoryImplTest.java118
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/EventIndexTest.java176
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/EventListTest.java137
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/MmsQueryHelperTest.java174
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/PackageDataTest.java124
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/SmsQueryHelperTest.java151
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/TestUtils.java42
-rw-r--r--services/tests/servicestests/src/com/android/server/people/prediction/ShareTargetPredictorTest.java137
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/AppsFilterTest.java31
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/PackageSettingBuilder.java11
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java185
-rw-r--r--services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java14
-rw-r--r--services/tests/servicestests/src/com/android/server/power/WakeLockLogTest.java268
-rw-r--r--services/tests/servicestests/src/com/android/server/rollback/AppDataRollbackHelperTest.java23
-rw-r--r--services/tests/servicestests/src/com/android/server/rollback/RollbackUnitTest.java11
-rw-r--r--services/tests/servicestests/src/com/android/server/rollback/WatchdogRollbackLoggerTest.java118
-rw-r--r--services/tests/servicestests/src/com/android/server/utils/TraceBufferTest.java1
-rw-r--r--services/tests/uiservicestests/src/com/android/internal/logging/InstanceIdSequenceFake.java (renamed from core/java/com/android/internal/logging/testing/InstanceIdSequenceFake.java)21
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java7
-rwxr-xr-xservices/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java110
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordLoggerFake.java4
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/RoleObserverTest.java14
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java14
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java48
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/AnimatingActivityRegistryTest.java13
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java22
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/DimmerTests.java17
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java128
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java12
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java52
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/InsetsPolicyTest.java33
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java16
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java43
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java9
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java6
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/RemoteAnimationControllerTest.java49
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java74
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java249
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java14
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java2
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java27
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/testing/Assert.java48
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/testing/AssertTest.java85
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/utils/WmDisplayCutoutTest.java184
-rw-r--r--services/usage/java/com/android/server/usage/TEST_MAPPING8
-rw-r--r--services/usage/java/com/android/server/usage/UsageStatsService.java52
-rw-r--r--services/usage/java/com/android/server/usage/UserUsageStatsService.java6
-rw-r--r--services/usb/java/com/android/server/usb/UsbHostManager.java17
-rw-r--r--services/usb/java/com/android/server/usb/UsbPortManager.java17
-rw-r--r--services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java22
-rw-r--r--startop/iorap/TEST_MAPPING3
-rw-r--r--startop/iorap/functional_tests/Android.bp41
-rw-r--r--startop/iorap/functional_tests/AndroidManifest.xml38
-rw-r--r--startop/iorap/functional_tests/AndroidTest.xml53
-rw-r--r--startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java377
-rw-r--r--telephony/common/com/android/internal/telephony/SmsApplication.java20
-rw-r--r--telephony/common/com/android/internal/telephony/SmsNumberUtils.java3
-rw-r--r--telephony/common/com/android/internal/telephony/TelephonyPermissions.java11
-rw-r--r--telephony/common/com/android/internal/telephony/util/TelephonyUtils.java7
-rw-r--r--telephony/java/android/service/carrier/CarrierIdentifier.java2
-rw-r--r--telephony/java/android/telephony/AnomalyReporter.java3
-rw-r--r--telephony/java/android/telephony/BarringInfo.java78
-rw-r--r--telephony/java/android/telephony/CallForwardingInfo.java3
-rw-r--r--telephony/java/android/telephony/CbGeoUtils.java3
-rw-r--r--telephony/java/android/telephony/CellBroadcastService.java24
-rw-r--r--telephony/java/android/telephony/CellIdentity.java4
-rw-r--r--telephony/java/android/telephony/CellIdentityCdma.java13
-rw-r--r--telephony/java/android/telephony/CellIdentityGsm.java24
-rw-r--r--telephony/java/android/telephony/CellIdentityLte.java25
-rw-r--r--telephony/java/android/telephony/CellIdentityNr.java16
-rw-r--r--telephony/java/android/telephony/CellIdentityTdscdma.java24
-rw-r--r--telephony/java/android/telephony/CellIdentityWcdma.java25
-rw-r--r--telephony/java/android/telephony/CellInfoCdma.java4
-rw-r--r--telephony/java/android/telephony/CellInfoGsm.java4
-rw-r--r--telephony/java/android/telephony/CellInfoLte.java4
-rw-r--r--telephony/java/android/telephony/CellInfoTdscdma.java4
-rw-r--r--telephony/java/android/telephony/CellInfoWcdma.java1
-rw-r--r--telephony/java/android/telephony/CellSignalStrengthCdma.java1
-rw-r--r--telephony/java/android/telephony/CellSignalStrengthGsm.java4
-rw-r--r--telephony/java/android/telephony/CellSignalStrengthLte.java4
-rw-r--r--telephony/java/android/telephony/CellSignalStrengthNr.java4
-rw-r--r--telephony/java/android/telephony/CellSignalStrengthTdscdma.java4
-rw-r--r--telephony/java/android/telephony/CellSignalStrengthWcdma.java4
-rw-r--r--telephony/java/android/telephony/ICellBroadcastService.aidl3
-rw-r--r--telephony/java/android/telephony/NetworkRegistrationInfo.java62
-rw-r--r--telephony/java/android/telephony/NetworkScan.java3
-rw-r--r--telephony/java/android/telephony/NetworkService.java3
-rw-r--r--telephony/java/android/telephony/NetworkServiceCallback.java4
-rw-r--r--telephony/java/android/telephony/PhoneCapability.java16
-rw-r--r--telephony/java/android/telephony/PhoneNumberUtils.java3
-rw-r--r--telephony/java/android/telephony/PreciseDataConnectionState.java11
-rw-r--r--telephony/java/android/telephony/ServiceState.java17
-rw-r--r--telephony/java/android/telephony/SmsCbMessage.java24
-rw-r--r--telephony/java/android/telephony/SmsManager.java4
-rw-r--r--telephony/java/android/telephony/SmsMessage.java4
-rw-r--r--telephony/java/android/telephony/SubscriptionInfo.java3
-rw-r--r--telephony/java/android/telephony/SubscriptionManager.java129
-rw-r--r--telephony/java/android/telephony/TelephonyManager.java8
-rw-r--r--telephony/java/android/telephony/TelephonyScanManager.java3
-rw-r--r--telephony/java/android/telephony/UiccAccessRule.java3
-rw-r--r--telephony/java/android/telephony/VoLteServiceState.java4
-rw-r--r--telephony/java/android/telephony/data/DataService.java2
-rw-r--r--telephony/java/android/telephony/data/DataServiceCallback.java3
-rw-r--r--telephony/java/android/telephony/data/QualifiedNetworksService.java2
-rw-r--r--telephony/java/android/telephony/emergency/EmergencyNumber.java1
-rw-r--r--telephony/java/android/telephony/ims/ImsConferenceState.java2
-rw-r--r--telephony/java/android/telephony/ims/ImsExternalCallState.java1
-rw-r--r--telephony/java/android/telephony/ims/ImsSsData.java1
-rw-r--r--telephony/java/com/android/ims/ImsConfig.java2
-rw-r--r--telephony/java/com/android/internal/telephony/Sms7BitEncodingTranslator.java2
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/SmsMessage.java2
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java2
-rw-r--r--telephony/java/com/android/internal/telephony/gsm/SmsMessage.java2
-rw-r--r--telephony/java/com/android/internal/telephony/uicc/IccUtils.java2
-rw-r--r--test-mock/src/android/test/mock/MockContentProvider.java20
-rw-r--r--test-mock/src/android/test/mock/MockContext.java2
-rw-r--r--test-mock/src/android/test/mock/MockIContentProvider.java13
-rw-r--r--test-runner/src/android/test/TouchUtils.java3
-rw-r--r--tests/FlickerTests/src/com/android/server/wm/flicker/ChangeAppRotationTest.java2
-rw-r--r--tests/FlickerTests/src/com/android/server/wm/flicker/CloseImeWindowToHomeTest.java3
-rw-r--r--tests/FlickerTests/src/com/android/server/wm/flicker/SeamlessAppRotationTest.java4
-rw-r--r--tests/GamePerformance/src/android/gameperformance/BaseTest.java5
-rw-r--r--tests/GamePerformance/src/android/gameperformance/CustomControlView.java17
-rw-r--r--tests/HwAccelerationTest/src/com/android/test/hwui/AlphaLayersActivity.java22
-rw-r--r--tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java2
-rw-r--r--tests/MirrorSurfaceTest/src/com/google/android/test/mirrorsurface/MirrorSurfaceActivity.java25
-rw-r--r--tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java19
-rw-r--r--tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java177
-rw-r--r--tests/SurfaceComposition/src/android/surfacecomposition/SurfaceCompositionMeasuringActivity.java4
-rw-r--r--tests/TaskOrganizerTest/AndroidManifest.xml6
-rw-r--r--tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java91
-rw-r--r--tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java61
-rw-r--r--tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskView.java73
-rw-r--r--tests/net/TEST_MAPPING7
-rw-r--r--tests/net/common/java/android/net/NetworkScoreTest.kt90
-rw-r--r--tests/net/deflake/Android.bp3
-rw-r--r--tests/net/integration/util/com/android/server/NetworkAgentWrapper.java7
-rw-r--r--tests/net/java/android/net/ConnectivityDiagnosticsManagerTest.java67
-rw-r--r--tests/net/java/android/net/VpnManagerTest.java66
-rw-r--r--tests/net/java/com/android/server/ConnectivityServiceTest.java105
-rw-r--r--tests/net/java/com/android/server/connectivity/LingerMonitorTest.java3
-rw-r--r--tests/net/java/com/android/server/connectivity/VpnTest.java206
-rw-r--r--tools/aapt2/link/ManifestFixer.cpp6
-rw-r--r--tools/codegen/src/com/android/codegen/ImportsProvider.kt2
-rw-r--r--tools/hiddenapi/Android.bp30
-rwxr-xr-xtools/hiddenapi/merge_csv.py13
-rw-r--r--tools/stats_log_api_gen/Android.bp1
-rw-r--r--tools/stats_log_api_gen/Collation.cpp46
-rw-r--r--tools/stats_log_api_gen/Collation.h3
-rw-r--r--tools/stats_log_api_gen/atoms_info_writer.cpp28
-rw-r--r--tools/stats_log_api_gen/java_writer_q.cpp318
-rw-r--r--tools/stats_log_api_gen/java_writer_q.h8
-rw-r--r--tools/stats_log_api_gen/main.cpp27
-rw-r--r--tools/stats_log_api_gen/test.proto35
-rw-r--r--tools/stats_log_api_gen/utils.h1
-rw-r--r--wifi/java/android/net/wifi/IScoreChangeCallback.aidl4
-rw-r--r--wifi/java/android/net/wifi/IWifiManager.aidl2
-rw-r--r--wifi/java/android/net/wifi/WifiConfiguration.java132
-rw-r--r--wifi/java/android/net/wifi/WifiEnterpriseConfig.java4
-rw-r--r--wifi/java/android/net/wifi/WifiInfo.java7
-rw-r--r--wifi/java/android/net/wifi/WifiManager.java118
-rw-r--r--wifi/java/android/net/wifi/WifiScanner.java2
-rw-r--r--wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java15
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pConfig.java12
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pGroup.java18
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pManager.java2
-rw-r--r--wifi/java/com/android/server/wifi/BaseWifiService.java4
-rw-r--r--wifi/tests/src/android/net/wifi/WifiManagerTest.java10
-rw-r--r--wifi/tests/src/android/net/wifi/hotspot2/PasspointConfigurationTest.java51
1513 files changed, 72365 insertions, 64994 deletions
diff --git a/Android.bp b/Android.bp
index 5292b2d80594..f48e6feb1c14 100644
--- a/Android.bp
+++ b/Android.bp
@@ -273,7 +273,8 @@ filegroup {
// etc.
":framework-javastream-protos",
- ":framework-statslog-gen",
+ ":framework-statslog-gen", // StatsLogInternal.java
+ ":statslog-framework-java-gen", // FrameworkStatsLog.java
// telephony annotations
":framework-telephony-annotations",
@@ -400,7 +401,7 @@ java_defaults {
"app-compat-annotations",
"ext",
"unsupportedappusage",
- "updatable_media_stubs",
+ "framework-media-stubs-systemapi",
"framework_mediaprovider_stubs",
"framework-tethering",
"framework-telephony-stubs",
@@ -468,7 +469,7 @@ java_library {
"framework-appsearch-stubs",
"framework-sdkextensions-stubs-systemapi",
"framework-statsd", // TODO(b/146167933): Use framework-statsd-stubs
- "framework-permission-stubs",
+ "framework-permission-stubs-systemapi",
"framework-wifi-stubs",
"ike-stubs",
],
@@ -516,10 +517,10 @@ java_library {
installable: false, // this lib is a build-only library
static_libs: [
"framework-minus-apex",
- "updatable_media_stubs",
+ "framework-media-stubs-systemapi",
"framework_mediaprovider_stubs",
"framework-appsearch", // TODO(b/146218515): should be framework-appsearch-stubs
- "framework-permission-stubs",
+ "framework-permission-stubs-systemapi",
"framework-sdkextensions-stubs-systemapi",
// TODO(b/146167933): Use framework-statsd-stubs instead.
"framework-statsd",
@@ -541,7 +542,7 @@ java_library {
srcs: [":framework-all-sources"],
installable: false,
static_libs: [
- "exoplayer2-core",
+ "exoplayer2-extractor",
"android.hardware.wifi-V1.0-java-constants",
],
libs: ["icing-java-proto-lite"],
@@ -550,18 +551,26 @@ java_library {
java_library {
name: "framework-annotation-proc",
- srcs: [":framework-all-sources"],
+ srcs: [
+ ":framework-all-sources",
+ "core/java/**/*.logtags",
+ ],
+ sdk_version: "core_platform",
libs: [
"app-compat-annotations",
+ "ext",
+ "icing-java-proto-lite",
"unsupportedappusage",
],
+
installable: false,
plugins: [
"unsupportedappusage-annotation-processor",
"compat-changeid-annotation-processor",
],
static_libs: [
- "exoplayer2-core",
+ "framework-internal-utils",
+ "exoplayer2-extractor",
"android.hardware.wifi-V1.0-java-constants",
]
}
@@ -582,7 +591,6 @@ java_library {
host_supported: true,
srcs: [
"core/java/android/annotation/IntDef.java",
- "core/java/android/annotation/UnsupportedAppUsage.java",
],
static_libs: [
"art.module.api.annotations",
@@ -612,6 +620,14 @@ genrule {
out: ["android/util/StatsLogInternal.java"],
}
+genrule {
+ name: "statslog-framework-java-gen",
+ tools: ["stats-log-api-gen"],
+ cmd: "$(location stats-log-api-gen) --java $(out) --module framework" +
+ " --javaPackage com.android.internal.util --javaClass FrameworkStatsLog --worksource",
+ out: ["com/android/internal/util/FrameworkStatsLog.java"],
+}
+
gensrcs {
name: "framework-javastream-protos",
depfile: true,
@@ -655,7 +671,6 @@ filegroup {
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/SystemService.java",
"core/java/android/annotation/TestApi.java",
- "core/java/android/annotation/UnsupportedAppUsage.java",
"core/java/com/android/internal/annotations/GuardedBy.java",
"core/java/com/android/internal/annotations/VisibleForTesting.java",
"core/java/com/android/internal/annotations/Immutable.java",
@@ -727,6 +742,7 @@ filegroup {
"core/java/android/annotation/RequiresPermission.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/TestApi.java",
+ "core/java/com/android/internal/annotations/GuardedBy.java",
],
}
// Build ext.jar
@@ -930,6 +946,8 @@ filegroup {
srcs: [
"core/java/android/os/incremental/IIncrementalManager.aidl",
"core/java/android/os/incremental/IIncrementalManagerNative.aidl",
+ "core/java/android/os/incremental/IncrementalNewFileParams.aidl",
+ "core/java/android/os/incremental/IncrementalSignature.aidl",
],
path: "core/java",
}
@@ -1062,7 +1080,6 @@ java_library {
"core/java/android/annotation/Nullable.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/TestApi.java",
- "core/java/android/annotation/UnsupportedAppUsage.java",
"core/java/android/os/HidlMemory.java",
"core/java/android/os/HwBinder.java",
"core/java/android/os/HwBlob.java",
diff --git a/ApiDocs.bp b/ApiDocs.bp
index c40004cf8e5c..04ddc50a94c4 100644
--- a/ApiDocs.bp
+++ b/ApiDocs.bp
@@ -176,6 +176,7 @@ droiddoc {
hdf: [
"android.whichdoc offline",
],
+ compat_config: ":global-compat-config",
proofread_file: "offline-sdk-docs-proofrerad.txt",
args: framework_docs_only_args + " -offlinemode -title \"Android SDK\"",
static_doc_index_redirect: "docs/docs-preview-index.html",
diff --git a/StubLibraries.bp b/StubLibraries.bp
index 6927f4449054..d4db7373504b 100644
--- a/StubLibraries.bp
+++ b/StubLibraries.bp
@@ -113,6 +113,16 @@ droidstubs {
jdiff_enabled: true,
}
+priv_apps = " " +
+ "--show-annotation android.annotation.SystemApi\\(" +
+ "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
+ "\\) "
+
+module_libs = " " +
+ " --show-annotation android.annotation.SystemApi\\(" +
+ "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
+ "\\) "
+
droidstubs {
name: "system-api-stubs-docs",
defaults: ["metalava-api-stubs-default"],
@@ -124,10 +134,7 @@ droidstubs {
arg_files: [
"core/res/AndroidManifest.xml",
],
- args: metalava_framework_docs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\)",
+ args: metalava_framework_docs_args + priv_apps,
check_api: {
current: {
api_file: "api/system-current.txt",
@@ -175,49 +182,17 @@ droidstubs {
// @SystemApi(client=MODULE_APPS) and @SystemApi(client=MODULE_LIBRARIES)
/////////////////////////////////////////////////////////////////////
-// TODO(b/146727827) remove the *-api modules when we can teach metalava
+// TODO(b/146727827) remove the *-api module when we can teach metalava
// about the relationship among the API surfaces. Currently, these modules are only to generate
// the API signature files and ensure that the APIs evolve in a backwards compatible manner.
// They however are NOT used for building the API stub.
-droidstubs {
- name: "module-app-api",
- defaults: ["metalava-api-stubs-default"],
- libs: ["framework-all"],
- arg_files: ["core/res/AndroidManifest.xml"],
- args: metalava_framework_docs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\)",
- check_api: {
- current: {
- api_file: "api/module-app-current.txt",
- removed_api_file: "api/module-app-removed.txt",
- },
- // TODO(b/147559833) enable the compatibility check against the last release API
- // and the API lint
- //last_released: {
- // api_file: ":last-released-module-app-api",
- // removed_api_file: "api/module-app-removed.txt",
- // baseline_file: ":module-app-api-incompatibilities-with-last-released"
- //},
- //api_lint: {
- // enabled: true,
- // new_since: ":last-released-module-app-api",
- // baseline_file: "api/module-app-lint-baseline.txt",
- //},
- },
- //jdiff_enabled: true,
-}
droidstubs {
name: "module-lib-api",
defaults: ["metalava-api-stubs-default"],
libs: ["framework-all"],
arg_files: ["core/res/AndroidManifest.xml"],
- args: metalava_framework_docs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES," +
- "process=android.annotation.SystemApi.Process.ALL\\)",
+ args: metalava_framework_docs_args + module_libs,
check_api: {
current: {
api_file: "api/module-lib-current.txt",
@@ -239,39 +214,17 @@ droidstubs {
//jdiff_enabled: true,
}
-// The following two droidstubs modules generate source files for the API stub libraries for
-// modules. Note that they not only include their own APIs but also other APIs that have
-// narrower scope. For example, module-lib-api-stubs-docs includes all @SystemApis not just
-// the ones with 'client=MODULE_LIBRARIES'.
-droidstubs {
- name: "module-app-api-stubs-docs",
- defaults: ["metalava-api-stubs-default"],
- libs: ["framework-all"],
- arg_files: ["core/res/AndroidManifest.xml"],
- args: metalava_framework_docs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\)" +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\)",
-}
+
+// The following droidstub module generates source files for the API stub library for
+// modules. Note that it not only includes its own APIs but also other APIs that have
+// narrower scope (all @SystemApis, not just the ones with 'client=MODULE_LIBRARIES').
droidstubs {
name: "module-lib-api-stubs-docs",
defaults: ["metalava-api-stubs-default"],
libs: ["framework-all"],
arg_files: ["core/res/AndroidManifest.xml"],
- args: metalava_framework_docs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\)" +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\)" +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES," +
- "process=android.annotation.SystemApi.Process.ALL\\)",
+ args: metalava_framework_docs_args + priv_apps + module_libs,
}
/////////////////////////////////////////////////////////////////////
@@ -340,22 +293,7 @@ java_library_static {
}
java_library_static {
- name: "framework_module_app_stubs_current",
- srcs: [
- ":module-app-api-stubs-docs",
- ],
- libs: [
- "stub-annotations",
- "framework-all",
- ],
- static_libs: [
- "private-stub-annotations-jar",
- ],
- defaults: ["framework-stubs-default"],
-}
-
-java_library_static {
- name: "framework_module_lib_stubs_current",
+ name: "android_module_lib_stubs_current",
srcs: [
":module-lib-api-stubs-docs",
],
@@ -401,7 +339,7 @@ droidstubs {
merge_annotations_dirs: [
"metalava-manual",
],
- args: " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS,process=android.annotation.SystemApi.Process.ALL\\)",
+ args: priv_apps,
}
java_library_static {
@@ -427,7 +365,7 @@ droidstubs {
removed_dex_api_filename: "removed-dex.txt",
args: metalava_framework_docs_args +
" --show-unannotated " +
- " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS,process=android.annotation.SystemApi.Process.ALL\\) " +
+ priv_apps +
" --show-annotation android.annotation.TestApi ",
}
@@ -446,7 +384,7 @@ droidstubs {
" --hide ReferencesHidden " +
" --hide UnhiddenSystemApi " +
" --show-unannotated " +
- " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.PRIVILEGED_APPS,process=android.annotation.SystemApi.Process.ALL\\) " +
+ priv_apps +
" --show-annotation android.annotation.TestApi ",
}
diff --git a/apct-tests/perftests/core/src/android/app/ResourcesManagerPerfTest.java b/apct-tests/perftests/core/src/android/app/ResourcesManagerPerfTest.java
index 2955d2ca7d0e..050fecde8213 100644
--- a/apct-tests/perftests/core/src/android/app/ResourcesManagerPerfTest.java
+++ b/apct-tests/perftests/core/src/android/app/ResourcesManagerPerfTest.java
@@ -80,7 +80,7 @@ public class ResourcesManagerPerfTest {
private void getResourcesForPath(String path) {
ResourcesManager.getInstance().getResources(null, path, null, null, null,
Display.DEFAULT_DISPLAY, null, sContext.getResources().getCompatibilityInfo(),
- null);
+ null, null);
}
@Test
diff --git a/apct-tests/perftests/core/src/android/app/ResourcesThemePerfTest.java b/apct-tests/perftests/core/src/android/app/ResourcesThemePerfTest.java
index 6123e69b584e..f4c0a172710b 100644
--- a/apct-tests/perftests/core/src/android/app/ResourcesThemePerfTest.java
+++ b/apct-tests/perftests/core/src/android/app/ResourcesThemePerfTest.java
@@ -96,7 +96,7 @@ public class ResourcesThemePerfTest {
Resources destResources = resourcesManager.getResources(null, ai.sourceDir,
ai.splitSourceDirs, ai.resourceDirs, ai.sharedLibraryFiles, Display.DEFAULT_DISPLAY,
- c, mContext.getResources().getCompatibilityInfo(), null);
+ c, mContext.getResources().getCompatibilityInfo(), null, null);
Assert.assertNotEquals(destResources.getAssets(), mContext.getAssets());
Resources.Theme destTheme = destResources.newTheme();
diff --git a/apct-tests/perftests/core/src/android/wm/RelayoutPerfTest.java b/apct-tests/perftests/core/src/android/wm/RelayoutPerfTest.java
index c62aad622f25..b6e39e14602a 100644
--- a/apct-tests/perftests/core/src/android/wm/RelayoutPerfTest.java
+++ b/apct-tests/perftests/core/src/android/wm/RelayoutPerfTest.java
@@ -150,7 +150,7 @@ public class RelayoutPerfTest extends WindowManagerPerfTestBase {
mViewVisibility.getAsInt(), mFlags, mFrameNumber, mOutFrame,
mOutContentInsets, mOutVisibleInsets, mOutStableInsets,
mOutBackDropFrame, mOutDisplayCutout, mOutMergedConfiguration,
- mOutSurfaceControl, mOutInsetsState, new Point());
+ mOutSurfaceControl, mOutInsetsState, new Point(), new SurfaceControl());
}
}
}
diff --git a/apex/Android.bp b/apex/Android.bp
index abebfa39fada..362cf95b3832 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -29,6 +29,16 @@ mainline_stubs_args =
// TODO: remove this server classes are cleaned up.
mainline_stubs_args += "--hide-package com.android.server "
+priv_apps = " " +
+ "--show-annotation android.annotation.SystemApi\\(" +
+ "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
+ "\\) "
+
+module_libs = " " +
+ " --show-annotation android.annotation.SystemApi\\(" +
+ "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES," +
+ "\\) "
+
stubs_defaults {
name: "framework-module-stubs-defaults-publicapi",
args: mainline_stubs_args,
@@ -37,36 +47,23 @@ stubs_defaults {
stubs_defaults {
name: "framework-module-stubs-defaults-systemapi",
- args: mainline_stubs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\) ",
+ args: mainline_stubs_args + priv_apps,
installable: false,
}
+// The defaults for module_libs comes in two parts - defaults for API checks
+// and defaults for stub generation. This is because we want the API txt
+// files to *only* include the module_libs_api, but the stubs to include
+// module_libs_api as well as priv_apps.
+
stubs_defaults {
- name: "framework-module-stubs-defaults-module_apps_api",
- args: mainline_stubs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\) " +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\) ",
+ name: "framework-module-api-defaults-module_libs_api",
+ args: mainline_stubs_args + module_libs,
installable: false,
}
stubs_defaults {
name: "framework-module-stubs-defaults-module_libs_api",
- args: mainline_stubs_args +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\) " +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_APPS," +
- "process=android.annotation.SystemApi.Process.ALL\\) " +
- " --show-annotation android.annotation.SystemApi\\(" +
- "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES," +
- "process=android.annotation.SystemApi.Process.ALL\\) ",
+ args: mainline_stubs_args + module_libs + priv_apps,
installable: false,
}
diff --git a/apex/blobstore/TEST_MAPPING b/apex/blobstore/TEST_MAPPING
index 4dc0c49380c8..cfe19a530b27 100644
--- a/apex/blobstore/TEST_MAPPING
+++ b/apex/blobstore/TEST_MAPPING
@@ -2,6 +2,14 @@
"presubmit": [
{
"name": "CtsBlobStoreTestCases"
+ },
+ {
+ "name": "FrameworksServicesTests",
+ "options": [
+ {
+ "include-filter": "com.android.server.blob"
+ }
+ ]
}
]
} \ No newline at end of file
diff --git a/apex/blobstore/framework/java/android/app/blob/BlobHandle.java b/apex/blobstore/framework/java/android/app/blob/BlobHandle.java
index f7e6a987ded3..f110b36c7e90 100644
--- a/apex/blobstore/framework/java/android/app/blob/BlobHandle.java
+++ b/apex/blobstore/framework/java/android/app/blob/BlobHandle.java
@@ -45,6 +45,10 @@ import java.util.Objects;
public final class BlobHandle implements Parcelable {
private static final String ALGO_SHA_256 = "SHA-256";
+ private static final String[] SUPPORTED_ALGOS = {
+ ALGO_SHA_256
+ };
+
private static final int LIMIT_BLOB_TAG_LENGTH = 128; // characters
/**
@@ -104,14 +108,9 @@ public final class BlobHandle implements Parcelable {
public static @NonNull BlobHandle create(@NonNull String algorithm, @NonNull byte[] digest,
@NonNull CharSequence label, @CurrentTimeMillisLong long expiryTimeMillis,
@NonNull String tag) {
- Preconditions.checkNotNull(algorithm, "algorithm must not be null");
- Preconditions.checkNotNull(digest, "digest must not be null");
- Preconditions.checkNotNull(label, "label must not be null");
- Preconditions.checkArgumentNonnegative(expiryTimeMillis,
- "expiryTimeMillis must not be negative");
- Preconditions.checkNotNull(tag, "tag must not be null");
- Preconditions.checkArgument(tag.length() <= LIMIT_BLOB_TAG_LENGTH, "tag too long");
- return new BlobHandle(algorithm, digest, label, expiryTimeMillis, tag);
+ final BlobHandle handle = new BlobHandle(algorithm, digest, label, expiryTimeMillis, tag);
+ handle.assertIsValid();
+ return handle;
}
/**
@@ -215,12 +214,47 @@ public final class BlobHandle implements Parcelable {
}
/** @hide */
- public void dump(IndentingPrintWriter fout) {
- fout.println("algo: " + algorithm);
- fout.println("digest: " + Base64.encodeToString(digest, Base64.NO_WRAP));
- fout.println("label: " + label);
- fout.println("expiryMs: " + expiryTimeMillis);
- fout.println("tag: " + tag);
+ public void dump(IndentingPrintWriter fout, boolean dumpFull) {
+ if (dumpFull) {
+ fout.println("algo: " + algorithm);
+ fout.println("digest: " + (dumpFull ? encodeDigest() : safeDigest()));
+ fout.println("label: " + label);
+ fout.println("expiryMs: " + expiryTimeMillis);
+ fout.println("tag: " + tag);
+ } else {
+ fout.println(toString());
+ }
+ }
+
+ /** @hide */
+ public void assertIsValid() {
+ Preconditions.checkArgumentIsSupported(SUPPORTED_ALGOS, algorithm);
+ Preconditions.checkByteArrayNotEmpty(digest, "digest");
+ Preconditions.checkStringNotEmpty(label, "label must not be null");
+ Preconditions.checkArgumentNonnegative(expiryTimeMillis,
+ "expiryTimeMillis must not be negative");
+ Preconditions.checkStringNotEmpty(tag, "tag must not be null");
+ Preconditions.checkArgument(tag.length() <= LIMIT_BLOB_TAG_LENGTH, "tag too long");
+ }
+
+ @Override
+ public String toString() {
+ return "BlobHandle {"
+ + "algo:" + algorithm + ","
+ + "digest:" + safeDigest() + ","
+ + "label:" + label + ","
+ + "expiryMs:" + expiryTimeMillis + ","
+ + "tag:" + tag
+ + "}";
+ }
+
+ private String safeDigest() {
+ final String digestStr = encodeDigest();
+ return digestStr.substring(0, 2) + ".." + digestStr.substring(digestStr.length() - 2);
+ }
+
+ private String encodeDigest() {
+ return Base64.encodeToString(digest, Base64.NO_WRAP);
}
public static final @NonNull Creator<BlobHandle> CREATOR = new Creator<BlobHandle>() {
diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java b/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java
index e9838d6b9712..aba3e8cadfa3 100644
--- a/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java
+++ b/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java
@@ -48,6 +48,7 @@ import android.util.SparseArray;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.XmlUtils;
+import com.android.server.blob.BlobStoreManagerService.DumpArgs;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -156,6 +157,12 @@ class BlobMetadata {
}
}
+ boolean hasLeases() {
+ synchronized (mMetadataLock) {
+ return mLeasees.isEmpty();
+ }
+ }
+
boolean isAccessAllowedForCaller(String callingPackage, int callingUid) {
// TODO: verify blob is still valid (expiryTime is not elapsed)
synchronized (mMetadataLock) {
@@ -234,10 +241,10 @@ class BlobMetadata {
return revocableFd.getRevocableFileDescriptor();
}
- void dump(IndentingPrintWriter fout) {
+ void dump(IndentingPrintWriter fout, DumpArgs dumpArgs) {
fout.println("blobHandle:");
fout.increaseIndent();
- blobHandle.dump(fout);
+ blobHandle.dump(fout, dumpArgs.shouldDumpFull());
fout.decreaseIndent();
fout.println("Committers:");
diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java b/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java
index fcc30e30dfaa..13f095e5a503 100644
--- a/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java
+++ b/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerService.java
@@ -40,6 +40,7 @@ import android.annotation.IdRes;
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UserIdInt;
import android.app.blob.BlobHandle;
import android.app.blob.IBlobStoreManager;
import android.app.blob.IBlobStoreSession;
@@ -49,6 +50,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManagerInternal;
+import android.content.res.ResourceId;
import android.os.Binder;
import android.os.Handler;
import android.os.HandlerThread;
@@ -67,6 +69,8 @@ import android.util.SparseArray;
import android.util.Xml;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.CollectionUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.IndentingPrintWriter;
@@ -91,6 +95,7 @@ import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* Service responsible for maintaining and facilitating access to data blobs published by apps.
@@ -112,20 +117,35 @@ public class BlobStoreManagerService extends SystemService {
private final Context mContext;
private final Handler mHandler;
+ private final Injector mInjector;
private final SessionStateChangeListener mSessionStateChangeListener =
new SessionStateChangeListener();
private PackageManagerInternal mPackageManagerInternal;
+ private final Runnable mSaveBlobsInfoRunnable = this::writeBlobsInfo;
+ private final Runnable mSaveSessionsRunnable = this::writeBlobSessions;
+
public BlobStoreManagerService(Context context) {
+ this(context, new Injector());
+ }
+
+ @VisibleForTesting
+ BlobStoreManagerService(Context context, Injector injector) {
super(context);
+
mContext = context;
+ mInjector = injector;
+ mHandler = mInjector.initializeMessageHandler();
+ }
+ private static Handler initializeMessageHandler() {
final HandlerThread handlerThread = new ServiceThread(TAG,
Process.THREAD_PRIORITY_BACKGROUND, true /* allowIo */);
handlerThread.start();
- mHandler = new Handler(handlerThread.getLooper());
- Watchdog.getInstance().addThread(mHandler);
+ final Handler handler = new Handler(handlerThread.getLooper());
+ Watchdog.getInstance().addThread(handler);
+ return handler;
}
@Override
@@ -181,6 +201,20 @@ public class BlobStoreManagerService extends SystemService {
return userBlobs;
}
+ @VisibleForTesting
+ void addUserSessionsForTest(LongSparseArray<BlobStoreSession> userSessions, int userId) {
+ synchronized (mBlobsLock) {
+ mSessions.put(userId, userSessions);
+ }
+ }
+
+ @VisibleForTesting
+ void addUserBlobsForTest(ArrayMap<BlobHandle, BlobMetadata> userBlobs, int userId) {
+ synchronized (mBlobsLock) {
+ mBlobsMap.put(userId, userBlobs);
+ }
+ }
+
private long createSessionInternal(BlobHandle blobHandle,
int callingUid, String callingPackage) {
synchronized (mBlobsLock) {
@@ -293,23 +327,23 @@ public class BlobStoreManagerService extends SystemService {
case STATE_ABANDONED:
case STATE_VERIFIED_INVALID:
session.getSessionFile().delete();
- getUserSessionsLocked(UserHandle.getUserId(session.ownerUid))
- .remove(session.sessionId);
+ getUserSessionsLocked(UserHandle.getUserId(session.getOwnerUid()))
+ .remove(session.getSessionId());
break;
case STATE_COMMITTED:
session.verifyBlobData();
break;
case STATE_VERIFIED_VALID:
- final int userId = UserHandle.getUserId(session.ownerUid);
+ final int userId = UserHandle.getUserId(session.getOwnerUid());
final ArrayMap<BlobHandle, BlobMetadata> userBlobs = getUserBlobsLocked(userId);
- BlobMetadata blob = userBlobs.get(session.blobHandle);
+ BlobMetadata blob = userBlobs.get(session.getBlobHandle());
if (blob == null) {
blob = new BlobMetadata(mContext,
- session.sessionId, session.blobHandle, userId);
- userBlobs.put(session.blobHandle, blob);
+ session.getSessionId(), session.getBlobHandle(), userId);
+ userBlobs.put(session.getBlobHandle(), blob);
}
- final Committer newCommitter = new Committer(session.ownerPackageName,
- session.ownerUid, session.getBlobAccessMode());
+ final Committer newCommitter = new Committer(session.getOwnerPackageName(),
+ session.getOwnerUid(), session.getBlobAccessMode());
final Committer existingCommitter = blob.getExistingCommitter(newCommitter);
blob.addCommitter(newCommitter);
try {
@@ -319,8 +353,8 @@ public class BlobStoreManagerService extends SystemService {
blob.addCommitter(existingCommitter);
session.sendCommitCallbackResult(COMMIT_RESULT_ERROR);
}
- getUserSessionsLocked(UserHandle.getUserId(session.ownerUid))
- .remove(session.sessionId);
+ getUserSessionsLocked(UserHandle.getUserId(session.getOwnerUid()))
+ .remove(session.getSessionId());
break;
default:
Slog.wtf(TAG, "Invalid session state: "
@@ -399,17 +433,17 @@ public class BlobStoreManagerService extends SystemService {
continue;
}
final SparseArray<String> userPackages = allPackages.get(
- UserHandle.getUserId(session.ownerUid));
+ UserHandle.getUserId(session.getOwnerUid()));
if (userPackages != null
- && session.ownerPackageName.equals(
- userPackages.get(session.ownerUid))) {
- getUserSessionsLocked(UserHandle.getUserId(session.ownerUid)).put(
- session.sessionId, session);
+ && session.getOwnerPackageName().equals(
+ userPackages.get(session.getOwnerUid()))) {
+ getUserSessionsLocked(UserHandle.getUserId(session.getOwnerUid())).put(
+ session.getSessionId(), session);
} else {
// Unknown package or the session data does not belong to this package.
session.getSessionFile().delete();
}
- mCurrentMaxSessionId = Math.max(mCurrentMaxSessionId, session.sessionId);
+ mCurrentMaxSessionId = Math.max(mCurrentMaxSessionId, session.getSessionId());
}
}
} catch (Exception e) {
@@ -504,9 +538,9 @@ public class BlobStoreManagerService extends SystemService {
}
private void writeBlobsInfoAsync() {
- mHandler.post(PooledLambda.obtainRunnable(
- BlobStoreManagerService::writeBlobsInfo,
- BlobStoreManagerService.this).recycleOnUse());
+ if (!mHandler.hasCallbacks(mSaveBlobsInfoRunnable)) {
+ mHandler.post(mSaveBlobsInfoRunnable);
+ }
}
private void writeBlobSessions() {
@@ -520,9 +554,9 @@ public class BlobStoreManagerService extends SystemService {
}
private void writeBlobSessionsAsync() {
- mHandler.post(PooledLambda.obtainRunnable(
- BlobStoreManagerService::writeBlobSessions,
- BlobStoreManagerService.this).recycleOnUse());
+ if (!mHandler.hasCallbacks(mSaveSessionsRunnable)) {
+ mHandler.post(mSaveSessionsRunnable);
+ }
}
private int getPackageUid(String packageName, int userId) {
@@ -568,7 +602,8 @@ public class BlobStoreManagerService extends SystemService {
return new AtomicFile(file, "blobs_index" /* commitLogTag */);
}
- private void handlePackageRemoved(String packageName, int uid) {
+ @VisibleForTesting
+ void handlePackageRemoved(String packageName, int uid) {
synchronized (mBlobsLock) {
// Clean up any pending sessions
final LongSparseArray<BlobStoreSession> userSessions =
@@ -576,25 +611,35 @@ public class BlobStoreManagerService extends SystemService {
final ArrayList<Integer> indicesToRemove = new ArrayList<>();
for (int i = 0, count = userSessions.size(); i < count; ++i) {
final BlobStoreSession session = userSessions.valueAt(i);
- if (session.ownerUid == uid
- && session.ownerPackageName.equals(packageName)) {
+ if (session.getOwnerUid() == uid
+ && session.getOwnerPackageName().equals(packageName)) {
session.getSessionFile().delete();
indicesToRemove.add(i);
}
}
for (int i = 0, count = indicesToRemove.size(); i < count; ++i) {
- userSessions.removeAt(i);
+ userSessions.removeAt(indicesToRemove.get(i));
}
+ writeBlobSessionsAsync();
// Remove the package from the committer and leasee list
final ArrayMap<BlobHandle, BlobMetadata> userBlobs =
getUserBlobsLocked(UserHandle.getUserId(uid));
+ indicesToRemove.clear();
for (int i = 0, count = userBlobs.size(); i < count; ++i) {
final BlobMetadata blobMetadata = userBlobs.valueAt(i);
blobMetadata.removeCommitter(packageName, uid);
blobMetadata.removeLeasee(packageName, uid);
+ // Delete the blob if it doesn't have any active leases.
+ if (!blobMetadata.hasLeases()) {
+ blobMetadata.getBlobFile().delete();
+ indicesToRemove.add(i);
+ }
+ }
+ for (int i = 0, count = indicesToRemove.size(); i < count; ++i) {
+ userBlobs.removeAt(indicesToRemove.get(i));
}
- // TODO: clean-up blobs which doesn't have any active leases.
+ writeBlobsInfoAsync();
}
}
@@ -620,6 +665,80 @@ public class BlobStoreManagerService extends SystemService {
}
}
+ void runClearAllSessions(@UserIdInt int userId) {
+ synchronized (mBlobsLock) {
+ if (userId == UserHandle.USER_ALL) {
+ mSessions.clear();
+ } else {
+ mSessions.remove(userId);
+ }
+ writeBlobSessionsAsync();
+ }
+ }
+
+ void runClearAllBlobs(@UserIdInt int userId) {
+ synchronized (mBlobsLock) {
+ if (userId == UserHandle.USER_ALL) {
+ mBlobsMap.clear();
+ } else {
+ mBlobsMap.remove(userId);
+ }
+ writeBlobsInfoAsync();
+ }
+ }
+
+ @GuardedBy("mBlobsLock")
+ private void dumpSessionsLocked(IndentingPrintWriter fout, DumpArgs dumpArgs) {
+ for (int i = 0, userCount = mSessions.size(); i < userCount; ++i) {
+ final int userId = mSessions.keyAt(i);
+ if (!dumpArgs.shouldDumpUser(userId)) {
+ continue;
+ }
+ final LongSparseArray<BlobStoreSession> userSessions = mSessions.valueAt(i);
+ fout.println("List of sessions in user #"
+ + userId + " (" + userSessions.size() + "):");
+ fout.increaseIndent();
+ for (int j = 0, sessionsCount = userSessions.size(); j < sessionsCount; ++j) {
+ final long sessionId = userSessions.keyAt(j);
+ final BlobStoreSession session = userSessions.valueAt(j);
+ if (!dumpArgs.shouldDumpSession(session.getOwnerPackageName(),
+ session.getOwnerUid(), session.getSessionId())) {
+ continue;
+ }
+ fout.println("Session #" + sessionId);
+ fout.increaseIndent();
+ session.dump(fout, dumpArgs);
+ fout.decreaseIndent();
+ }
+ fout.decreaseIndent();
+ }
+ }
+
+ @GuardedBy("mBlobsLock")
+ private void dumpBlobsLocked(IndentingPrintWriter fout, DumpArgs dumpArgs) {
+ for (int i = 0, userCount = mBlobsMap.size(); i < userCount; ++i) {
+ final int userId = mBlobsMap.keyAt(i);
+ if (!dumpArgs.shouldDumpUser(userId)) {
+ continue;
+ }
+ final ArrayMap<BlobHandle, BlobMetadata> userBlobs = mBlobsMap.valueAt(i);
+ fout.println("List of blobs in user #"
+ + userId + " (" + userBlobs.size() + "):");
+ fout.increaseIndent();
+ for (int j = 0, blobsCount = userBlobs.size(); j < blobsCount; ++j) {
+ final BlobMetadata blobMetadata = userBlobs.valueAt(j);
+ if (!dumpArgs.shouldDumpBlob(blobMetadata.blobId)) {
+ continue;
+ }
+ fout.println("Blob #" + blobMetadata.blobId);
+ fout.increaseIndent();
+ blobMetadata.dump(fout, dumpArgs);
+ fout.decreaseIndent();
+ }
+ fout.decreaseIndent();
+ }
+ }
+
private class PackageChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
@@ -658,10 +777,9 @@ public class BlobStoreManagerService extends SystemService {
@IntRange(from = 1)
public long createSession(@NonNull BlobHandle blobHandle,
@NonNull String packageName) {
- Preconditions.checkNotNull(blobHandle, "blobHandle must not be null");
- Preconditions.checkNotNull(packageName, "packageName must not be null");
- // TODO: verify blobHandle.algorithm is sha-256
- // TODO: assert blobHandle is valid.
+ Objects.requireNonNull(blobHandle, "blobHandle must not be null");
+ blobHandle.assertIsValid();
+ Objects.requireNonNull(packageName, "packageName must not be null");
final int callingUid = Binder.getCallingUid();
verifyCallingPackage(callingUid, packageName);
@@ -682,7 +800,7 @@ public class BlobStoreManagerService extends SystemService {
@NonNull String packageName) {
Preconditions.checkArgumentPositive(sessionId,
"sessionId must be positive: " + sessionId);
- Preconditions.checkNotNull(packageName, "packageName must not be null");
+ Objects.requireNonNull(packageName, "packageName must not be null");
final int callingUid = Binder.getCallingUid();
verifyCallingPackage(callingUid, packageName);
@@ -695,7 +813,7 @@ public class BlobStoreManagerService extends SystemService {
@NonNull String packageName) {
Preconditions.checkArgumentPositive(sessionId,
"sessionId must be positive: " + sessionId);
- Preconditions.checkNotNull(packageName, "packageName must not be null");
+ Objects.requireNonNull(packageName, "packageName must not be null");
final int callingUid = Binder.getCallingUid();
verifyCallingPackage(callingUid, packageName);
@@ -706,8 +824,9 @@ public class BlobStoreManagerService extends SystemService {
@Override
public ParcelFileDescriptor openBlob(@NonNull BlobHandle blobHandle,
@NonNull String packageName) {
- Preconditions.checkNotNull(blobHandle, "blobHandle must not be null");
- Preconditions.checkNotNull(packageName, "packageName must not be null");
+ Objects.requireNonNull(blobHandle, "blobHandle must not be null");
+ blobHandle.assertIsValid();
+ Objects.requireNonNull(packageName, "packageName must not be null");
final int callingUid = Binder.getCallingUid();
verifyCallingPackage(callingUid, packageName);
@@ -727,24 +846,27 @@ public class BlobStoreManagerService extends SystemService {
@Override
public void acquireLease(@NonNull BlobHandle blobHandle, @IdRes int descriptionResId,
- @CurrentTimeSecondsLong long leaseTimeoutSecs, @NonNull String packageName) {
- Preconditions.checkNotNull(blobHandle, "blobHandle must not be null");
- Preconditions.checkNotNull(packageName, "packageName must not be null");
- Preconditions.checkArgumentPositive(descriptionResId,
- "descriptionResId must be positive; value=" + descriptionResId);
+ @CurrentTimeSecondsLong long leaseExpiryTimeMillis, @NonNull String packageName) {
+ Objects.requireNonNull(blobHandle, "blobHandle must not be null");
+ blobHandle.assertIsValid();
+ Preconditions.checkArgument(ResourceId.isValid(descriptionResId),
+ "descriptionResId is not valid");
+ Preconditions.checkArgumentNonnegative(leaseExpiryTimeMillis,
+ "leaseExpiryTimeMillis must not be negative");
+ Objects.requireNonNull(packageName, "packageName must not be null");
final int callingUid = Binder.getCallingUid();
verifyCallingPackage(callingUid, packageName);
- acquireLeaseInternal(blobHandle, descriptionResId, leaseTimeoutSecs,
+ acquireLeaseInternal(blobHandle, descriptionResId, leaseExpiryTimeMillis,
callingUid, packageName);
}
@Override
public void releaseLease(@NonNull BlobHandle blobHandle, @NonNull String packageName) {
- Preconditions.checkNotNull(blobHandle, "blobHandle must not be null");
- Preconditions.checkNotNull(packageName, "packageName must not be null");
-
+ Objects.requireNonNull(blobHandle, "blobHandle must not be null");
+ blobHandle.assertIsValid();
+ Objects.requireNonNull(packageName, "packageName must not be null");
final int callingUid = Binder.getCallingUid();
verifyCallingPackage(callingUid, packageName);
@@ -754,7 +876,7 @@ public class BlobStoreManagerService extends SystemService {
@Override
public void waitForIdle(@NonNull RemoteCallback remoteCallback) {
- Preconditions.checkNotNull(remoteCallback, "remoteCallback must not be null");
+ Objects.requireNonNull(remoteCallback, "remoteCallback must not be null");
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP,
"Caller is not allowed to call this; caller=" + Binder.getCallingUid());
@@ -766,47 +888,164 @@ public class BlobStoreManagerService extends SystemService {
public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter writer,
@Nullable String[] args) {
// TODO: add proto-based version of this.
- if (!DumpUtils.checkDumpPermission(mContext, TAG, writer)) return;
+ if (!DumpUtils.checkDumpAndUsageStatsPermission(mContext, TAG, writer)) return;
+
+ final DumpArgs dumpArgs = DumpArgs.parse(args);
final IndentingPrintWriter fout = new IndentingPrintWriter(writer, " ");
synchronized (mBlobsLock) {
fout.println("mCurrentMaxSessionId: " + mCurrentMaxSessionId);
fout.println();
- for (int i = 0, userCount = mSessions.size(); i < userCount; ++i) {
- final int userId = mSessions.keyAt(i);
- final LongSparseArray<BlobStoreSession> userSessions = mSessions.valueAt(i);
- fout.println("List of sessions in user #"
- + userId + " (" + userSessions.size() + "):");
- fout.increaseIndent();
- for (int j = 0, sessionsCount = userSessions.size(); j < sessionsCount; ++j) {
- final long sessionId = userSessions.keyAt(j);
- final BlobStoreSession session = userSessions.valueAt(j);
- fout.println("Session #" + sessionId);
- fout.increaseIndent();
- session.dump(fout);
- fout.decreaseIndent();
- }
- fout.decreaseIndent();
+
+ if (dumpArgs.shouldDumpSessions()) {
+ dumpSessionsLocked(fout, dumpArgs);
+ fout.println();
+ }
+ if (dumpArgs.shouldDumpBlobs()) {
+ dumpBlobsLocked(fout, dumpArgs);
+ fout.println();
}
+ }
+ }
+
+ @Override
+ public int handleShellCommand(@NonNull ParcelFileDescriptor in,
+ @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err,
+ @NonNull String[] args) {
+ return (new BlobStoreManagerShellCommand(BlobStoreManagerService.this)).exec(this,
+ in.getFileDescriptor(), out.getFileDescriptor(), err.getFileDescriptor(), args);
+ }
+ }
+
+ static final class DumpArgs {
+ private boolean mDumpFull;
+ private final ArrayList<String> mDumpPackages = new ArrayList<>();
+ private final ArrayList<Integer> mDumpUids = new ArrayList<>();
+ private final ArrayList<Integer> mDumpUserIds = new ArrayList<>();
+ private final ArrayList<Long> mDumpBlobIds = new ArrayList<>();
+ private boolean mDumpOnlySelectedSections;
+ private boolean mDumpSessions;
+ private boolean mDumpBlobs;
+
+ public boolean shouldDumpSession(String packageName, int uid, long blobId) {
+ if (!CollectionUtils.isEmpty(mDumpPackages)
+ && mDumpPackages.indexOf(packageName) < 0) {
+ return false;
+ }
+ if (!CollectionUtils.isEmpty(mDumpUids)
+ && mDumpUids.indexOf(uid) < 0) {
+ return false;
+ }
+ if (!CollectionUtils.isEmpty(mDumpBlobIds)
+ && mDumpBlobIds.indexOf(blobId) < 0) {
+ return false;
+ }
+ return true;
+ }
+
+ public boolean shouldDumpSessions() {
+ if (!mDumpOnlySelectedSections) {
+ return true;
+ }
+ return mDumpSessions;
+ }
+
+ public boolean shouldDumpBlobs() {
+ if (!mDumpOnlySelectedSections) {
+ return true;
+ }
+ return mDumpBlobs;
+ }
+
+ public boolean shouldDumpBlob(long blobId) {
+ return CollectionUtils.isEmpty(mDumpBlobIds)
+ || mDumpBlobIds.indexOf(blobId) >= 0;
+ }
+
+ public boolean shouldDumpFull() {
+ return mDumpFull;
+ }
+
+ public boolean shouldDumpUser(int userId) {
+ return CollectionUtils.isEmpty(mDumpUserIds)
+ || mDumpUserIds.indexOf(userId) >= 0;
+ }
+
+ private DumpArgs() {}
- fout.print("\n\n");
-
- for (int i = 0, userCount = mBlobsMap.size(); i < userCount; ++i) {
- final int userId = mBlobsMap.keyAt(i);
- final ArrayMap<BlobHandle, BlobMetadata> userBlobs = mBlobsMap.valueAt(i);
- fout.println("List of blobs in user #"
- + userId + " (" + userBlobs.size() + "):");
- fout.increaseIndent();
- for (int j = 0, blobsCount = userBlobs.size(); j < blobsCount; ++j) {
- final BlobMetadata blobMetadata = userBlobs.valueAt(j);
- fout.println("Blob #" + blobMetadata.blobId);
- fout.increaseIndent();
- blobMetadata.dump(fout);
- fout.decreaseIndent();
+ public static DumpArgs parse(String[] args) {
+ final DumpArgs dumpArgs = new DumpArgs();
+ if (args == null) {
+ return dumpArgs;
+ }
+
+ for (int i = 0; i < args.length; ++i) {
+ final String opt = args[i];
+ if ("--full".equals(opt) || "-f".equals(opt)) {
+ final int callingUid = Binder.getCallingUid();
+ if (callingUid == Process.SHELL_UID || callingUid == Process.ROOT_UID) {
+ dumpArgs.mDumpFull = true;
}
- fout.decreaseIndent();
+ } else if ("--sessions".equals(opt)) {
+ dumpArgs.mDumpOnlySelectedSections = true;
+ dumpArgs.mDumpSessions = true;
+ } else if ("--blobs".equals(opt)) {
+ dumpArgs.mDumpOnlySelectedSections = true;
+ dumpArgs.mDumpBlobs = true;
+ } else if ("--package".equals(opt) || "-p".equals(opt)) {
+ dumpArgs.mDumpPackages.add(getStringArgRequired(args, ++i, "packageName"));
+ } else if ("--uid".equals(opt) || "-u".equals(opt)) {
+ dumpArgs.mDumpUids.add(getIntArgRequired(args, ++i, "uid"));
+ } else if ("--user".equals(opt)) {
+ dumpArgs.mDumpUserIds.add(getIntArgRequired(args, ++i, "userId"));
+ } else if ("--blob".equals(opt) || "-b".equals(opt)) {
+ dumpArgs.mDumpBlobIds.add(getLongArgRequired(args, ++i, "blobId"));
+ } else {
+ // Everything else is assumed to be blob ids.
+ dumpArgs.mDumpBlobIds.add(getLongArgRequired(args, i, "blobId"));
}
}
+ return dumpArgs;
+ }
+
+ private static String getStringArgRequired(String[] args, int index, String argName) {
+ if (index >= args.length) {
+ throw new IllegalArgumentException("Missing " + argName);
+ }
+ return args[index];
+ }
+
+ private static int getIntArgRequired(String[] args, int index, String argName) {
+ if (index >= args.length) {
+ throw new IllegalArgumentException("Missing " + argName);
+ }
+ final int value;
+ try {
+ value = Integer.parseInt(args[index]);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid " + argName + ": " + args[index]);
+ }
+ return value;
+ }
+
+ private static long getLongArgRequired(String[] args, int index, String argName) {
+ if (index >= args.length) {
+ throw new IllegalArgumentException("Missing " + argName);
+ }
+ final long value;
+ try {
+ value = Long.parseLong(args[index]);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid " + argName + ": " + args[index]);
+ }
+ return value;
+ }
+ }
+
+ @VisibleForTesting
+ static class Injector {
+ public Handler initializeMessageHandler() {
+ return BlobStoreManagerService.initializeMessageHandler();
}
}
} \ No newline at end of file
diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerShellCommand.java b/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerShellCommand.java
new file mode 100644
index 000000000000..3ac30f8fff6c
--- /dev/null
+++ b/apex/blobstore/service/java/com/android/server/blob/BlobStoreManagerShellCommand.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.server.blob;
+
+import android.os.ShellCommand;
+import android.os.UserHandle;
+
+import java.io.PrintWriter;
+
+class BlobStoreManagerShellCommand extends ShellCommand {
+
+ private final BlobStoreManagerService mService;
+
+ BlobStoreManagerShellCommand(BlobStoreManagerService blobStoreManagerService) {
+ mService = blobStoreManagerService;
+ }
+
+ @Override
+ public int onCommand(String cmd) {
+ if (cmd == null) {
+ return handleDefaultCommands(null);
+ }
+ final PrintWriter pw = getOutPrintWriter();
+ switch (cmd) {
+ case "clear-all-sessions":
+ return runClearAllSessions(pw);
+ case "clear-all-blobs":
+ return runClearAllBlobs(pw);
+ default:
+ return handleDefaultCommands(cmd);
+ }
+ }
+
+ private int runClearAllSessions(PrintWriter pw) {
+ final ParsedArgs args = new ParsedArgs();
+ args.userId = UserHandle.USER_ALL;
+
+ if (parseOptions(pw, args) < 0) {
+ return -1;
+ }
+
+ mService.runClearAllSessions(args.userId);
+ return 0;
+ }
+
+ private int runClearAllBlobs(PrintWriter pw) {
+ final ParsedArgs args = new ParsedArgs();
+ args.userId = UserHandle.USER_ALL;
+
+ if (parseOptions(pw, args) < 0) {
+ return -1;
+ }
+
+ mService.runClearAllBlobs(args.userId);
+ return 0;
+ }
+
+ @Override
+ public void onHelp() {
+ final PrintWriter pw = getOutPrintWriter();
+ pw.println("BlobStore service (blob_store) commands:");
+ pw.println("help");
+ pw.println(" Print this help text.");
+ pw.println();
+ pw.println("clear-all-sessions [-u | --user USER_ID]");
+ pw.println(" Remove all sessions.");
+ pw.println(" Options:");
+ pw.println(" -u or --user: specify which user's sessions to be removed;");
+ pw.println(" If not specified, sessions in all users are removed.");
+ pw.println();
+ pw.println("clear-all-blobs [-u | --user USER_ID]");
+ pw.println(" Remove all blobs.");
+ pw.println(" Options:");
+ pw.println(" -u or --user: specify which user's blobs to be removed;");
+ pw.println(" If not specified, blobs in all users are removed.");
+ pw.println();
+ }
+
+ private int parseOptions(PrintWriter pw, ParsedArgs args) {
+ String opt;
+ while ((opt = getNextOption()) != null) {
+ switch (opt) {
+ case "-u":
+ case "--user":
+ args.userId = Integer.parseInt(getNextArgRequired());
+ break;
+ default:
+ pw.println("Error: unknown option '" + opt + "'");
+ return -1;
+ }
+ }
+ return 0;
+ }
+
+ private static class ParsedArgs {
+ public int userId;
+ }
+}
diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobStoreSession.java b/apex/blobstore/service/java/com/android/server/blob/BlobStoreSession.java
index 7d1c16653383..54a299722754 100644
--- a/apex/blobstore/service/java/com/android/server/blob/BlobStoreSession.java
+++ b/apex/blobstore/service/java/com/android/server/blob/BlobStoreSession.java
@@ -47,9 +47,11 @@ import android.util.ExceptionUtils;
import android.util.Slog;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;
import com.android.internal.util.XmlUtils;
+import com.android.server.blob.BlobStoreManagerService.DumpArgs;
import com.android.server.blob.BlobStoreManagerService.SessionStateChangeListener;
import org.xmlpull.v1.XmlPullParser;
@@ -62,9 +64,11 @@ import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Objects;
/** TODO: add doc */
-public class BlobStoreSession extends IBlobStoreSession.Stub {
+@VisibleForTesting
+class BlobStoreSession extends IBlobStoreSession.Stub {
static final int STATE_OPENED = 1;
static final int STATE_CLOSED = 0;
@@ -78,10 +82,10 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
private final Context mContext;
private final SessionStateChangeListener mListener;
- public final BlobHandle blobHandle;
- public final long sessionId;
- public final int ownerUid;
- public final String ownerPackageName;
+ private final BlobHandle mBlobHandle;
+ private final long mSessionId;
+ private final int mOwnerUid;
+ private final String mOwnerPackageName;
// Do not access this directly, instead use getSessionFile().
private File mSessionFile;
@@ -101,15 +105,31 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
BlobStoreSession(Context context, long sessionId, BlobHandle blobHandle,
int ownerUid, String ownerPackageName, SessionStateChangeListener listener) {
this.mContext = context;
- this.blobHandle = blobHandle;
- this.sessionId = sessionId;
- this.ownerUid = ownerUid;
- this.ownerPackageName = ownerPackageName;
+ this.mBlobHandle = blobHandle;
+ this.mSessionId = sessionId;
+ this.mOwnerUid = ownerUid;
+ this.mOwnerPackageName = ownerPackageName;
this.mListener = listener;
}
+ public BlobHandle getBlobHandle() {
+ return mBlobHandle;
+ }
+
+ public long getSessionId() {
+ return mSessionId;
+ }
+
+ public int getOwnerUid() {
+ return mOwnerUid;
+ }
+
+ public String getOwnerPackageName() {
+ return mOwnerPackageName;
+ }
+
boolean hasAccess(int callingUid, String callingPackageName) {
- return ownerUid == callingUid && ownerPackageName.equals(callingPackageName);
+ return mOwnerUid == callingUid && mOwnerPackageName.equals(callingPackageName);
}
void open() {
@@ -155,6 +175,8 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
@NonNull
public ParcelFileDescriptor openWrite(@BytesLong long offsetBytes,
@BytesLong long lengthBytes) {
+ Preconditions.checkArgumentNonnegative(offsetBytes, "offsetBytes must not be negative");
+
assertCallerIsOwner();
synchronized (mSessionLock) {
if (mState != STATE_OPENED) {
@@ -242,7 +264,7 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
public void allowPackageAccess(@NonNull String packageName,
@NonNull byte[] certificate) {
assertCallerIsOwner();
- Preconditions.checkNotNull(packageName, "packageName must not be null");
+ Objects.requireNonNull(packageName, "packageName must not be null");
synchronized (mSessionLock) {
if (mState != STATE_OPENED) {
throw new IllegalStateException("Not allowed to change access type in state: "
@@ -280,7 +302,9 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
public boolean isPackageAccessAllowed(@NonNull String packageName,
@NonNull byte[] certificate) {
assertCallerIsOwner();
- Preconditions.checkNotNull(packageName, "packageName must not be null");
+ Objects.requireNonNull(packageName, "packageName must not be null");
+ Preconditions.checkByteArrayNotEmpty(certificate, "certificate");
+
synchronized (mSessionLock) {
if (mState != STATE_OPENED) {
throw new IllegalStateException("Not allowed to get access type in state: "
@@ -357,12 +381,12 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
void verifyBlobData() {
byte[] actualDigest = null;
try {
- actualDigest = FileUtils.digest(getSessionFile(), blobHandle.algorithm);
+ actualDigest = FileUtils.digest(getSessionFile(), mBlobHandle.algorithm);
} catch (IOException | NoSuchAlgorithmException e) {
Slog.e(TAG, "Error computing the digest", e);
}
synchronized (mSessionLock) {
- if (actualDigest != null && Arrays.equals(actualDigest, blobHandle.digest)) {
+ if (actualDigest != null && Arrays.equals(actualDigest, mBlobHandle.digest)) {
mState = STATE_VERIFIED_VALID;
// Commit callback will be sent once the data is persisted.
} else {
@@ -401,7 +425,7 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
@Nullable
File getSessionFile() {
if (mSessionFile == null) {
- mSessionFile = BlobStoreConfig.prepareBlobFile(sessionId);
+ mSessionFile = BlobStoreConfig.prepareBlobFile(mSessionId);
}
return mSessionFile;
}
@@ -425,20 +449,20 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
private void assertCallerIsOwner() {
final int callingUid = Binder.getCallingUid();
- if (callingUid != ownerUid) {
- throw new SecurityException(ownerUid + " is not the session owner");
+ if (callingUid != mOwnerUid) {
+ throw new SecurityException(mOwnerUid + " is not the session owner");
}
}
- void dump(IndentingPrintWriter fout) {
+ void dump(IndentingPrintWriter fout, DumpArgs dumpArgs) {
synchronized (mSessionLock) {
fout.println("state: " + stateToString(mState));
- fout.println("ownerUid: " + ownerUid);
- fout.println("ownerPkg: " + ownerPackageName);
+ fout.println("ownerUid: " + mOwnerUid);
+ fout.println("ownerPkg: " + mOwnerPackageName);
fout.println("blobHandle:");
fout.increaseIndent();
- blobHandle.dump(fout);
+ mBlobHandle.dump(fout, dumpArgs.shouldDumpFull());
fout.decreaseIndent();
fout.println("accessMode:");
@@ -452,12 +476,12 @@ public class BlobStoreSession extends IBlobStoreSession.Stub {
void writeToXml(@NonNull XmlSerializer out) throws IOException {
synchronized (mSessionLock) {
- XmlUtils.writeLongAttribute(out, ATTR_ID, sessionId);
- XmlUtils.writeStringAttribute(out, ATTR_PACKAGE, ownerPackageName);
- XmlUtils.writeIntAttribute(out, ATTR_UID, ownerUid);
+ XmlUtils.writeLongAttribute(out, ATTR_ID, mSessionId);
+ XmlUtils.writeStringAttribute(out, ATTR_PACKAGE, mOwnerPackageName);
+ XmlUtils.writeIntAttribute(out, ATTR_UID, mOwnerUid);
out.startTag(null, TAG_BLOB_HANDLE);
- blobHandle.writeToXml(out);
+ mBlobHandle.writeToXml(out);
out.endTag(null, TAG_BLOB_HANDLE);
out.startTag(null, TAG_ACCESS_MODE);
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
index ed5626a1acbc..69f4748548a7 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -77,7 +77,6 @@ import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
@@ -85,6 +84,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IBatteryStats;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.AppStateTracker;
import com.android.server.DeviceIdleInternal;
@@ -1171,9 +1171,9 @@ public class JobSchedulerService extends com.android.server.SystemService
jobStatus.enqueueWorkLocked(work);
}
- StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED,
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED,
uId, null, jobStatus.getBatteryName(),
- StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__SCHEDULED,
+ FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__SCHEDULED,
JobProtoEnums.STOP_REASON_CANCELLED, jobStatus.getStandbyBucket(),
jobStatus.getJobId());
@@ -2567,7 +2567,8 @@ public class JobSchedulerService extends com.android.server.SystemService
BatteryStatsInternal mBatteryStatsInternal = LocalServices.getService
(BatteryStatsInternal.class);
mBatteryStatsInternal.noteJobsDeferred(uid, counter.numDeferred(), sinceLast);
- StatsLog.write_non_chained(StatsLog.DEFERRED_JOB_STATS_REPORTED, uid, null,
+ FrameworkStatsLog.write_non_chained(
+ FrameworkStatsLog.DEFERRED_JOB_STATS_REPORTED, uid, null,
counter.numDeferred(), sinceLast);
}
}
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
index dbdce70dda03..f706260edec2 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java
@@ -32,10 +32,10 @@ import android.text.format.DateFormat;
import android.util.ArraySet;
import android.util.Pair;
import android.util.Slog;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.job.GrantedUriPermissions;
import com.android.server.job.JobSchedulerInternal;
@@ -1059,10 +1059,12 @@ public final class JobStatus {
mReadyDynamicSatisfied =
mDynamicConstraints == (satisfiedConstraints & mDynamicConstraints);
if (STATS_LOG_ENABLED && (STATSD_CONSTRAINTS_TO_LOG & constraint) != 0) {
- StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_CONSTRAINT_CHANGED,
+ FrameworkStatsLog.write_non_chained(
+ FrameworkStatsLog.SCHEDULED_JOB_CONSTRAINT_CHANGED,
sourceUid, null, getBatteryName(), getProtoConstraint(constraint),
- state ? StatsLog.SCHEDULED_JOB_CONSTRAINT_CHANGED__STATE__SATISFIED
- : StatsLog.SCHEDULED_JOB_CONSTRAINT_CHANGED__STATE__UNSATISFIED);
+ state ? FrameworkStatsLog.SCHEDULED_JOB_CONSTRAINT_CHANGED__STATE__SATISFIED
+ : FrameworkStatsLog
+ .SCHEDULED_JOB_CONSTRAINT_CHANGED__STATE__UNSATISFIED);
}
return true;
}
diff --git a/apex/media/framework/Android.bp b/apex/media/framework/Android.bp
index 18382a488428..91df09865037 100644
--- a/apex/media/framework/Android.bp
+++ b/apex/media/framework/Android.bp
@@ -50,7 +50,7 @@ java_library {
],
static_libs: [
- "exoplayer2-core"
+ "exoplayer2-extractor"
],
jarjar_rules: "jarjar_rules.txt",
@@ -99,13 +99,10 @@ filegroup {
path: "java"
}
-droidstubs {
- name: "updatable-media-stubs",
- srcs: [
- ":updatable-media-srcs",
- ":framework-media-annotation-srcs",
- ],
- defaults: [ "framework-module-stubs-defaults-systemapi" ],
+stubs_defaults {
+ name: "framework-media-stubs-srcs-defaults",
+ srcs: [ ":updatable-media-srcs" ],
+ libs: [ "framework_media_annotation" ],
aidl: {
// TODO(b/135922046) remove this
include_dirs: ["frameworks/base/core/java"],
@@ -113,9 +110,53 @@ droidstubs {
sdk_version: "system_current",
}
+droidstubs {
+ name: "framework-media-stubs-srcs-publicapi",
+ defaults: [
+ "framework-media-stubs-srcs-defaults",
+ "framework-module-stubs-defaults-publicapi",
+ ],
+}
+
+droidstubs {
+ name: "framework-media-stubs-srcs-systemapi",
+ defaults: [
+ "framework-media-stubs-srcs-defaults",
+ "framework-module-stubs-defaults-systemapi",
+ ],
+}
+
+droidstubs {
+ name: "framework-media-api-module_libs_api",
+ defaults: [
+ "framework-media-stubs-srcs-defaults",
+ "framework-module-api-defaults-module_libs_api",
+ ],
+}
+
+droidstubs {
+ name: "framework-media-stubs-srcs-module_libs_api",
+ defaults: [
+ "framework-media-stubs-srcs-defaults",
+ "framework-module-stubs-defaults-module_libs_api",
+ ],
+}
+
+java_library {
+ name: "framework-media-stubs-publicapi",
+ srcs: [":framework-media-stubs-srcs-publicapi"],
+ sdk_version: "current",
+}
+
+java_library {
+ name: "framework-media-stubs-systemapi",
+ srcs: [":framework-media-stubs-srcs-systemapi"],
+ sdk_version: "system_current",
+}
+
java_library {
- name: "updatable_media_stubs",
- srcs: [":updatable-media-stubs"],
+ name: "framework-media-stubs-module_libs_api",
+ srcs: [":framework-media-stubs-srcs-module_libs_api"],
sdk_version: "system_current",
}
diff --git a/apex/permission/framework/Android.bp b/apex/permission/framework/Android.bp
index 09571a1cd111..126fa00a31f0 100644
--- a/apex/permission/framework/Android.bp
+++ b/apex/permission/framework/Android.bp
@@ -44,23 +44,66 @@ java_library {
],
}
+stubs_defaults {
+ name: "framework-permission-stubs-defaults",
+ srcs: [ ":framework-permission-sources" ],
+ libs: [ "framework-annotations-lib" ],
+ sdk_version: "system_current",
+}
+
droidstubs {
- name: "framework-permission-stubs-sources",
- srcs: [
- ":framework-annotations",
- ":framework-permission-sources",
+ name: "framework-permission-stubs-srcs-publicapi",
+ sdk_version: "system_current",
+ defaults: [
+ "framework-module-stubs-defaults-publicapi",
+ "framework-permission-stubs-defaults",
],
+}
+
+droidstubs {
+ name: "framework-permission-stubs-srcs-systemapi",
sdk_version: "system_current",
defaults: [
"framework-module-stubs-defaults-systemapi",
+ "framework-permission-stubs-defaults",
],
}
-java_library {
- name: "framework-permission-stubs",
- srcs: [
- ":framework-permission-stubs-sources",
+droidstubs {
+ name: "framework-permission-api-module_libs_api",
+ sdk_version: "system_current",
+ defaults: [
+ "framework-module-api-defaults-module_libs_api",
+ "framework-permission-stubs-defaults",
+ ],
+}
+
+droidstubs {
+ name: "framework-permission-stubs-srcs-module_libs_api",
+ sdk_version: "system_current",
+ defaults: [
+ "framework-module-stubs-defaults-module_libs_api",
+ "framework-permission-stubs-defaults",
],
+}
+
+java_library {
+ name: "framework-permission-stubs-publicapi",
+ srcs: [ ":framework-permission-stubs-srcs-publicapi" ],
+ sdk_version: "system_current",
+ installable: false,
+}
+
+java_library {
+ name: "framework-permission-stubs-systemapi",
+ srcs: [ ":framework-permission-stubs-srcs-systemapi" ],
+ sdk_version: "system_current",
+ installable: false,
+}
+
+java_library {
+ name: "framework-permission-stubs-module_libs_api",
+ srcs: [ ":framework-permission-stubs-srcs-module_libs_api" ],
sdk_version: "system_current",
installable: false,
}
diff --git a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistence.java b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistence.java
index 5f2d94441965..6c7f82a11908 100644
--- a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistence.java
+++ b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistence.java
@@ -19,6 +19,7 @@ package com.android.permission.persistence;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.annotation.SystemApi.Client;
import android.os.UserHandle;
/**
@@ -27,7 +28,7 @@ import android.os.UserHandle;
* TODO(b/147914847): Remove @hide when it becomes the default.
* @hide
*/
-@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES, process = SystemApi.Process.SYSTEM_SERVER)
+@SystemApi(client = Client.SYSTEM_SERVER)
public interface RuntimePermissionsPersistence {
/**
diff --git a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsState.java b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsState.java
index 2a939e51b98e..cd2750a0bee5 100644
--- a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsState.java
+++ b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsState.java
@@ -19,6 +19,7 @@ package com.android.permission.persistence;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.annotation.SystemApi.Client;
import java.util.List;
import java.util.Map;
@@ -29,7 +30,7 @@ import java.util.Map;
* TODO(b/147914847): Remove @hide when it becomes the default.
* @hide
*/
-@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES, process = SystemApi.Process.SYSTEM_SERVER)
+@SystemApi(client = Client.SYSTEM_SERVER)
public final class RuntimePermissionsState {
/**
diff --git a/apex/permission/service/java/com/android/role/persistence/RolesPersistence.java b/apex/permission/service/java/com/android/role/persistence/RolesPersistence.java
index 63c8eedd6285..2908a3872df9 100644
--- a/apex/permission/service/java/com/android/role/persistence/RolesPersistence.java
+++ b/apex/permission/service/java/com/android/role/persistence/RolesPersistence.java
@@ -19,6 +19,7 @@ package com.android.role.persistence;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.annotation.SystemApi.Client;
import android.os.UserHandle;
/**
@@ -27,7 +28,7 @@ import android.os.UserHandle;
* TODO(b/147914847): Remove @hide when it becomes the default.
* @hide
*/
-@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES, process = SystemApi.Process.SYSTEM_SERVER)
+@SystemApi(client = Client.SYSTEM_SERVER)
public interface RolesPersistence {
/**
diff --git a/apex/permission/service/java/com/android/role/persistence/RolesState.java b/apex/permission/service/java/com/android/role/persistence/RolesState.java
index bff980e2e126..7da9d11f172f 100644
--- a/apex/permission/service/java/com/android/role/persistence/RolesState.java
+++ b/apex/permission/service/java/com/android/role/persistence/RolesState.java
@@ -19,6 +19,7 @@ package com.android.role.persistence;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.annotation.SystemApi.Client;
import java.util.Map;
import java.util.Set;
@@ -29,7 +30,7 @@ import java.util.Set;
* TODO(b/147914847): Remove @hide when it becomes the default.
* @hide
*/
-@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES, process = SystemApi.Process.SYSTEM_SERVER)
+@SystemApi(client = Client.SYSTEM_SERVER)
public final class RolesState {
/**
diff --git a/apex/sdkextensions/OWNERS b/apex/sdkextensions/OWNERS
index feb274262bef..a6e55228596b 100644
--- a/apex/sdkextensions/OWNERS
+++ b/apex/sdkextensions/OWNERS
@@ -1 +1,2 @@
+dariofreni@google.com
hansson@google.com
diff --git a/apex/sdkextensions/framework/Android.bp b/apex/sdkextensions/framework/Android.bp
index 245a96b99148..86f4ab7c1128 100644
--- a/apex/sdkextensions/framework/Android.bp
+++ b/apex/sdkextensions/framework/Android.bp
@@ -44,34 +44,68 @@ java_library {
],
}
+stubs_defaults {
+ name: "framework-sdkextensions-stubs-defaults",
+ srcs: [ ":framework-sdkextensions-sources" ],
+ libs: [ "framework-annotations-lib" ],
+ sdk_version: "system_current",
+}
+
droidstubs {
- name: "framework-sdkextensions-droidstubs-publicapi",
+ name: "framework-sdkextensions-stubs-srcs-publicapi",
defaults: [
- "framework-sdkextensions-stubs-defaults",
"framework-module-stubs-defaults-publicapi",
+ "framework-sdkextensions-stubs-defaults",
]
}
droidstubs {
- name: "framework-sdkextensions-droidstubs-systemapi",
+ name: "framework-sdkextensions-stubs-srcs-systemapi",
defaults: [
- "framework-sdkextensions-stubs-defaults",
"framework-module-stubs-defaults-systemapi",
+ "framework-sdkextensions-stubs-defaults",
]
}
-stubs_defaults {
- name: "framework-sdkextensions-stubs-defaults",
- srcs: [
- ":framework-sdkextensions-sources",
- ":framework-annotations",
- ],
- sdk_version: "system_current",
+droidstubs {
+ name: "framework-sdkextensions-api-module_libs_api",
+ defaults: [
+ "framework-module-api-defaults-module_libs_api",
+ "framework-sdkextensions-stubs-defaults",
+ ]
+}
+
+droidstubs {
+ name: "framework-sdkextensions-stubs-srcs-module_libs_api",
+ defaults: [
+ "framework-module-stubs-defaults-module_libs_api",
+ "framework-sdkextensions-stubs-defaults",
+ ]
+}
+
+java_library {
+ name: "framework-sdkextensions-stubs-publicapi",
+ srcs: [":framework-sdkextensions-stubs-srcs-publicapi"],
+ sdk_version: "current",
+ visibility: [
+ "//frameworks/base", // Framework
+ "//frameworks/base/apex/sdkextensions", // sdkextensions SDK
+ ]
}
java_library {
name: "framework-sdkextensions-stubs-systemapi",
- srcs: [":framework-sdkextensions-droidstubs-systemapi"],
+ srcs: [":framework-sdkextensions-stubs-srcs-systemapi"],
+ sdk_version: "system_current",
+ visibility: [
+ "//frameworks/base", // Framework
+ "//frameworks/base/apex/sdkextensions", // sdkextensions SDK
+ ]
+}
+
+java_library {
+ name: "framework-sdkextensions-stubs-module_libs_api",
+ srcs: [":framework-sdkextensions-stubs-srcs-module_libs_api"],
sdk_version: "system_current",
visibility: [
"//frameworks/base", // Framework
diff --git a/apex/statsd/Android.bp b/apex/statsd/Android.bp
index 09ca1d257460..1f9f18cd051a 100644
--- a/apex/statsd/Android.bp
+++ b/apex/statsd/Android.bp
@@ -19,8 +19,9 @@ apex {
}
apex_defaults {
- // libc.so and libcutils.so are included in the apex
- // native_shared_libs: ["libc", "libcutils"],
+ native_shared_libs: [
+ "libstats_jni",
+ ],
// binaries: ["vold"],
java_libs: [
"framework-statsd",
@@ -44,3 +45,33 @@ android_app_certificate {
// com.android.os.statsd.pk8 (the private key)
certificate: "com.android.os.statsd",
}
+
+
+// JNI library for StatsLog.write
+cc_library_shared {
+ name: "libstats_jni",
+ srcs: ["jni/**/*.cpp"],
+ shared_libs: [
+ "libnativehelper", // Has stable abi - should not be copied into apex.
+ "liblog", // Has a stable abi - should not be copied into apex.
+ ],
+ static_libs: [
+ //TODO: make shared - need libstatssocket to also live in the apex.
+ "libstatssocket",
+ "libcutils", // TODO: remove - needed by libstatssocket
+ ],
+ //TODO: is libc++_static correct?
+ stl: "libc++_static",
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-Wextra",
+ "-Wno-unused-parameter",
+ ],
+ apex_available: [
+ "com.android.os.statsd",
+ "test_com.android.os.statsd",
+ //TODO (b/148620413): remove platform.
+ "//apex_available:platform",
+ ],
+} \ No newline at end of file
diff --git a/apex/statsd/aidl/android/os/IStatsCompanionService.aidl b/apex/statsd/aidl/android/os/IStatsCompanionService.aidl
index bdd1da7bf3d3..b94928f09ae0 100644
--- a/apex/statsd/aidl/android/os/IStatsCompanionService.aidl
+++ b/apex/statsd/aidl/android/os/IStatsCompanionService.aidl
@@ -61,4 +61,11 @@ interface IStatsCompanionService {
/** Tells StatsCompaionService to grab the uid map snapshot and send it to statsd. */
oneway void triggerUidSnapshot();
+
+ /**
+ * Ask StatsCompanionService if the given permission is allowed for a particular process
+ * and user ID. statsd is incapable of doing this check itself because checkCallingPermission
+ * is not currently supported by libbinder_ndk.
+ */
+ boolean checkPermission(String permission, int pid, int uid);
}
diff --git a/apex/statsd/framework/Android.bp b/apex/statsd/framework/Android.bp
index f66f0340edab..d85ae69b799f 100644
--- a/apex/statsd/framework/Android.bp
+++ b/apex/statsd/framework/Android.bp
@@ -30,13 +30,13 @@ java_library {
],
permitted_packages: [
"android.app",
+ "android.os",
"android.util",
],
libs: [
"framework-annotations-lib",
- // TODO(b/146230220): Use framework-system-stubs instead.
- //"android_system_stubs_current",
- //"framework_module_lib_stubs_current",
+ // TODO(b/146230220): Use android_module_lib_stubs_current instead.
+ //"android_module_lib_stubs_current",
"framework-all",
],
hostdex: true, // for hiddenapi check
@@ -44,6 +44,7 @@ java_library {
"//frameworks/base/apex/statsd:__subpackages__",
//TODO(b/146167933) remove this when framework is built with framework-statsd-stubs
"//frameworks/base",
+ "//frameworks/opt/net/wifi/service",
],
apex_available: [
"com.android.os.statsd",
@@ -51,31 +52,70 @@ java_library {
],
}
+stubs_defaults {
+ name: "framework-statsd-stubs-srcs-defaults",
+ srcs: [ ":framework-statsd-sources" ],
+ libs: [
+ // TODO(b/148218250): Change to android_system_stubs_current
+ "framework-all",
+ "framework-annotations-lib",
+ ],
+ sdk_version: "core_platform",
+}
+
droidstubs {
- name: "framework-statsd-stubs-docs",
+ name: "framework-statsd-stubs-srcs-publicapi",
defaults: [
- "framework-module-stubs-defaults-systemapi"
+ "framework-module-stubs-defaults-systemapi",
+ "framework-statsd-stubs-srcs-defaults",
],
- srcs: [
- ":framework-annotations",
- ":framework-statsd-sources",
+}
+
+droidstubs {
+ name: "framework-statsd-stubs-srcs-systemapi",
+ defaults: [
+ "framework-module-stubs-defaults-systemapi",
+ "framework-statsd-stubs-srcs-defaults",
],
- libs: [
- // TODO(b/148218250): Change to android_system_stubs_current
- "framework-all",
+}
+
+droidstubs {
+ name: "framework-statsd-api-module_libs_api",
+ defaults: [
+ "framework-module-api-defaults-module_libs_api",
+ "framework-statsd-stubs-srcs-defaults",
+ ],
+}
+
+droidstubs {
+ name: "framework-statsd-stubs-srcs-module_libs_api",
+ defaults: [
+ "framework-module-stubs-defaults-module_libs_api",
+ "framework-statsd-stubs-srcs-defaults",
],
+}
+
+java_library {
+ name: "framework-statsd-stubs-publicapi",
+ srcs: [ ":framework-statsd-stubs-srcs-publicapi" ],
+ // TODO(b/148218250): Change to current
+ libs: [ "framework-all" ],
sdk_version: "core_platform",
}
// TODO(b/146167933): Use these stubs in frameworks/base/Android.bp
java_library {
- name: "framework-statsd-stubs",
- srcs: [
- ":framework-statsd-stubs-docs",
- ],
- libs: [
- // TODO(b/148218250): Change to android_system_stubs_current
- "framework-all",
- ],
+ name: "framework-statsd-stubs-systemapi",
+ srcs: [ ":framework-statsd-stubs-srcs-systemapi" ],
+ // TODO(b/148218250): Change to system_current
+ libs: [ "framework-all" ],
+ sdk_version: "core_platform",
+}
+
+java_library {
+ name: "framework-statsd-stubs-module_libs_api",
+ srcs: [ ":framework-statsd-stubs-srcs-systemapi" ],
+ // TODO(b/148218250): Change to system_current
+ libs: [ "framework-all" ],
sdk_version: "core_platform",
}
diff --git a/core/java/android/os/StatsDimensionsValue.java b/apex/statsd/framework/java/android/os/StatsDimensionsValue.java
index da13ea13d5fa..886130fc5f14 100644
--- a/core/java/android/os/StatsDimensionsValue.java
+++ b/apex/statsd/framework/java/android/os/StatsDimensionsValue.java
@@ -264,7 +264,8 @@ public final class StatsDimensionsValue implements Parcelable {
/**
* Parcelable Creator for StatsDimensionsValue.
*/
- public static final @android.annotation.NonNull Parcelable.Creator<StatsDimensionsValue> CREATOR = new
+ public static final @android.annotation.NonNull
+ Parcelable.Creator<StatsDimensionsValue> CREATOR = new
Parcelable.Creator<StatsDimensionsValue>() {
public StatsDimensionsValue createFromParcel(Parcel in) {
return new StatsDimensionsValue(in);
diff --git a/core/jni/android_util_StatsLog.cpp b/apex/statsd/jni/android_util_StatsLog.cpp
index 9225fc2839d0..9d410eb1f836 100644
--- a/core/jni/android_util_StatsLog.cpp
+++ b/apex/statsd/jni/android_util_StatsLog.cpp
@@ -17,12 +17,9 @@
#define LOG_NAMESPACE "StatsLog.tag."
#define LOG_TAG "StatsLog_println"
-#include <assert.h>
-
#include "jni.h"
+#include <log/log.h>
#include <nativehelper/JNIHelp.h>
-#include "utils/misc.h"
-#include "core_jni_helpers.h"
#include "stats_buffer_writer.h"
namespace android {
@@ -57,7 +54,27 @@ static const JNINativeMethod gMethods[] = {
int register_android_util_StatsLog(JNIEnv* env)
{
- return RegisterMethodsOrDie(env, "android/util/StatsLog", gMethods, NELEM(gMethods));
+ return jniRegisterNativeMethods(env, "android/util/StatsLog", gMethods, NELEM(gMethods));
}
-
}; // namespace android
+
+/*
+ * JNI Initialization
+ */
+jint JNI_OnLoad(JavaVM* jvm, void* reserved) {
+ JNIEnv* e;
+ int status;
+
+ ALOGV("statsd : loading JNI\n");
+ // Check JNI version
+ if (jvm->GetEnv((void**)&e, JNI_VERSION_1_4)) {
+ ALOGE("JNI version mismatch error");
+ return JNI_ERR;
+ }
+ status = android::register_android_util_StatsLog(e);
+ if (status < 0) {
+ ALOGE("jni statsd registration failure, status: %d", status);
+ return JNI_ERR;
+ }
+ return JNI_VERSION_1_4;
+}
diff --git a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
index 1e92826ee8a0..3e9a488fb5b8 100644
--- a/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
+++ b/apex/statsd/service/java/com/android/server/stats/StatsCompanionService.java
@@ -516,6 +516,11 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
}
}
+ @Override // Binder call
+ public boolean checkPermission(String permission, int pid, int uid) {
+ StatsCompanion.enforceStatsCompanionPermission(mContext);
+ return mContext.checkPermission(permission, pid, uid) == PackageManager.PERMISSION_GRANTED;
+ }
// Statsd related code
diff --git a/apex/statsd/tests/libstatspull/Android.bp b/apex/statsd/tests/libstatspull/Android.bp
new file mode 100644
index 000000000000..e81396405d31
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/Android.bp
@@ -0,0 +1,56 @@
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+android_test {
+ name: "LibStatsPullTests",
+ static_libs: [
+ "androidx.test.rules",
+ "platformprotoslite",
+ "statsdprotolite",
+ "truth-prebuilt",
+ ],
+ libs: [
+ "android.test.runner.stubs",
+ "android.test.base.stubs",
+ ],
+ jni_libs: [
+ "libstatspull_testhelper",
+ ],
+ srcs: [
+ "src/**/*.java",
+ "protos/**/*.proto",
+ ],
+ test_suites: [
+ "general-tests",
+ ],
+ platform_apis: true,
+ privileged: true,
+ certificate: "platform",
+ compile_multilib: "both",
+}
+
+cc_library_shared {
+ name: "libstatspull_testhelper",
+ srcs: ["jni/stats_pull_helper.cpp"],
+ cflags: [
+ "-Wall",
+ "-Werror",
+ ],
+ shared_libs: [
+ "libbinder",
+ "libutils",
+ "libstatspull",
+ "libstatssocket",
+ ],
+} \ No newline at end of file
diff --git a/apex/statsd/tests/libstatspull/AndroidManifest.xml b/apex/statsd/tests/libstatspull/AndroidManifest.xml
new file mode 100644
index 000000000000..bffd400bdb2c
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/AndroidManifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.internal.os.statsd.libstats" >
+
+
+ <uses-permission android:name="android.permission.DUMP" />
+ <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
+
+ <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+ android:targetPackage="com.android.internal.os.statsd.libstats"
+ android:label="Tests for libstatspull">
+ </instrumentation>
+</manifest>
+
diff --git a/apex/statsd/tests/libstatspull/TEST_MAPPING b/apex/statsd/tests/libstatspull/TEST_MAPPING
new file mode 100644
index 000000000000..5e1178cffc05
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+ "presubmit" : [
+ {
+ "name" : "LibStatsPullTests"
+ }
+ ]
+} \ No newline at end of file
diff --git a/apex/statsd/tests/libstatspull/jni/stats_pull_helper.cpp b/apex/statsd/tests/libstatspull/jni/stats_pull_helper.cpp
new file mode 100644
index 000000000000..e4ab823f345a
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/jni/stats_pull_helper.cpp
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <binder/ProcessState.h>
+#include <jni.h>
+#include <log/log.h>
+#include <stats_event.h>
+#include <stats_pull_atom_callback.h>
+
+#include <chrono>
+#include <thread>
+
+using std::this_thread::sleep_for;
+using namespace android;
+
+namespace {
+static int32_t sAtomTag;
+static int32_t sPullReturnVal;
+static int64_t sLatencyMillis;
+static int32_t sAtomsPerPull;
+static int32_t sNumPulls = 0;
+
+static bool initialized = false;
+
+static void init() {
+ if (!initialized) {
+ initialized = true;
+ // Set up the binder
+ sp<ProcessState> ps(ProcessState::self());
+ ps->setThreadPoolMaxThreadCount(9);
+ ps->startThreadPool();
+ ps->giveThreadPoolName();
+ }
+}
+
+static status_pull_atom_return_t pullAtomCallback(int32_t atomTag, pulled_stats_event_list* data,
+ void* /*cookie*/) {
+ sNumPulls++;
+ sleep_for(std::chrono::milliseconds(sLatencyMillis));
+ for (int i = 0; i < sAtomsPerPull; i++) {
+ stats_event* event = add_stats_event_to_pull_data(data);
+ stats_event_set_atom_id(event, atomTag);
+ stats_event_write_int64(event, (int64_t) sNumPulls);
+ stats_event_build(event);
+ }
+ return sPullReturnVal;
+}
+
+extern "C"
+JNIEXPORT void JNICALL
+Java_com_android_internal_os_statsd_libstats_LibStatsPullTests_registerStatsPuller(
+ JNIEnv* /*env*/, jobject /* this */, jint atomTag, jlong timeoutNs, jlong coolDownNs,
+ jint pullRetVal, jlong latencyMillis, int atomsPerPull)
+{
+ init();
+ sAtomTag = atomTag;
+ sPullReturnVal = pullRetVal;
+ sLatencyMillis = latencyMillis;
+ sAtomsPerPull = atomsPerPull;
+ sNumPulls = 0;
+ pull_atom_metadata metadata = {.cool_down_ns = coolDownNs,
+ .timeout_ns = timeoutNs,
+ .additive_fields = nullptr,
+ .additive_fields_size = 0};
+ register_stats_pull_atom_callback(sAtomTag, &pullAtomCallback, &metadata, nullptr);
+}
+
+extern "C"
+JNIEXPORT void JNICALL
+Java_com_android_internal_os_statsd_libstats_LibStatsPullTests_unregisterStatsPuller(
+ JNIEnv* /*env*/, jobject /* this */, jint /*atomTag*/)
+{
+ unregister_stats_pull_atom_callback(sAtomTag);
+}
+} // namespace \ No newline at end of file
diff --git a/apex/statsd/tests/libstatspull/protos/test_atoms.proto b/apex/statsd/tests/libstatspull/protos/test_atoms.proto
new file mode 100644
index 000000000000..56c1b534a7ce
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/protos/test_atoms.proto
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+syntax = "proto2";
+
+package com.android.internal.os.statsd.protos;
+
+option java_package = "com.android.internal.os.statsd.protos";
+option java_outer_classname = "TestAtoms";
+
+message PullCallbackAtomWrapper {
+ optional PullCallbackAtom pull_callback_atom = 150030;
+}
+
+message PullCallbackAtom {
+ optional int64 long_val = 1;
+}
+
+
+
diff --git a/apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/StatsConfigUtils.java b/apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/StatsConfigUtils.java
new file mode 100644
index 000000000000..d0d140092586
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/StatsConfigUtils.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.internal.os.statsd;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.StatsManager;
+import android.util.Log;
+
+import com.android.internal.os.StatsdConfigProto.AtomMatcher;
+import com.android.internal.os.StatsdConfigProto.FieldValueMatcher;
+import com.android.internal.os.StatsdConfigProto.SimpleAtomMatcher;
+import com.android.internal.os.StatsdConfigProto.StatsdConfig;
+import com.android.os.AtomsProto.AppBreadcrumbReported;
+import com.android.os.AtomsProto.Atom;
+import com.android.os.StatsLog.ConfigMetricsReport;
+import com.android.os.StatsLog.ConfigMetricsReportList;
+import com.android.os.StatsLog.GaugeBucketInfo;
+import com.android.os.StatsLog.GaugeMetricData;
+import com.android.os.StatsLog.StatsLogReport;
+import com.android.os.StatsLog.StatsdStatsReport;
+import com.android.os.StatsLog.StatsdStatsReport.ConfigStats;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Util class for constructing statsd configs.
+ */
+public class StatsConfigUtils {
+ public static final String TAG = "statsd.StatsConfigUtils";
+ public static final int SHORT_WAIT = 2_000; // 2 seconds.
+
+ /**
+ * @return An empty StatsdConfig in serialized proto format.
+ */
+ public static StatsdConfig.Builder getSimpleTestConfig(long configId) {
+ return StatsdConfig.newBuilder().setId(configId)
+ .addAllowedLogSource(StatsConfigUtils.class.getPackage().getName());
+ }
+
+
+ public static boolean verifyValidConfigExists(StatsManager statsManager, long configId) {
+ StatsdStatsReport report = null;
+ try {
+ report = StatsdStatsReport.parser().parseFrom(statsManager.getStatsMetadata());
+ } catch (Exception e) {
+ Log.e(TAG, "getMetadata failed", e);
+ }
+ assertThat(report).isNotNull();
+ boolean foundConfig = false;
+ for (ConfigStats configStats : report.getConfigStatsList()) {
+ if (configStats.getId() == configId && configStats.getIsValid()
+ && configStats.getDeletionTimeSec() == 0) {
+ foundConfig = true;
+ }
+ }
+ return foundConfig;
+ }
+
+ public static AtomMatcher getAppBreadcrumbMatcher(long id, int label) {
+ return AtomMatcher.newBuilder()
+ .setId(id)
+ .setSimpleAtomMatcher(
+ SimpleAtomMatcher.newBuilder()
+ .setAtomId(Atom.APP_BREADCRUMB_REPORTED_FIELD_NUMBER)
+ .addFieldValueMatcher(FieldValueMatcher.newBuilder()
+ .setField(AppBreadcrumbReported.LABEL_FIELD_NUMBER)
+ .setEqInt(label)
+ )
+ )
+ .build();
+ }
+
+ public static ConfigMetricsReport getConfigMetricsReport(StatsManager statsManager,
+ long configId) {
+ ConfigMetricsReportList reportList = null;
+ try {
+ reportList = ConfigMetricsReportList.parser()
+ .parseFrom(statsManager.getReports(configId));
+ } catch (Exception e) {
+ Log.e(TAG, "getData failed", e);
+ }
+ assertThat(reportList).isNotNull();
+ assertThat(reportList.getReportsCount()).isEqualTo(1);
+ ConfigMetricsReport report = reportList.getReports(0);
+ assertThat(report.getDumpReportReason())
+ .isEqualTo(ConfigMetricsReport.DumpReportReason.GET_DATA_CALLED);
+ return report;
+
+ }
+ public static List<Atom> getGaugeMetricDataList(ConfigMetricsReport report) {
+ List<Atom> data = new ArrayList<>();
+ for (StatsLogReport metric : report.getMetricsList()) {
+ for (GaugeMetricData gaugeMetricData : metric.getGaugeMetrics().getDataList()) {
+ for (GaugeBucketInfo bucketInfo : gaugeMetricData.getBucketInfoList()) {
+ for (Atom atom : bucketInfo.getAtomList()) {
+ data.add(atom);
+ }
+ }
+ }
+ }
+ return data;
+ }
+
+ public static List<Atom> getGaugeMetricDataList(StatsManager statsManager, long configId) {
+ ConfigMetricsReport report = getConfigMetricsReport(statsManager, configId);
+ return getGaugeMetricDataList(report);
+ }
+}
+
diff --git a/apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java b/apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java
new file mode 100644
index 000000000000..dbd636d2e95c
--- /dev/null
+++ b/apex/statsd/tests/libstatspull/src/com/android/internal/os/statsd/libstats/LibStatsPullTests.java
@@ -0,0 +1,285 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.internal.os.statsd.libstats;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.StatsManager;
+import android.content.Context;
+import android.util.Log;
+import android.util.StatsLog;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.MediumTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.internal.os.StatsdConfigProto.AtomMatcher;
+import com.android.internal.os.StatsdConfigProto.FieldFilter;
+import com.android.internal.os.StatsdConfigProto.GaugeMetric;
+import com.android.internal.os.StatsdConfigProto.SimpleAtomMatcher;
+import com.android.internal.os.StatsdConfigProto.StatsdConfig;
+import com.android.internal.os.StatsdConfigProto.TimeUnit;
+import com.android.internal.os.statsd.StatsConfigUtils;
+import com.android.internal.os.statsd.protos.TestAtoms;
+import com.android.os.AtomsProto.Atom;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+/**
+ * Test puller registration.
+ */
+@MediumTest
+@RunWith(AndroidJUnit4.class)
+public class LibStatsPullTests {
+ private static final String LOG_TAG = LibStatsPullTests.class.getSimpleName();
+ private static final int SHORT_SLEEP_MILLIS = 250;
+ private static final int LONG_SLEEP_MILLIS = 1_000;
+ private Context mContext;
+ private static final int PULL_ATOM_TAG = 150030;
+ private static final int APP_BREADCRUMB_LABEL = 3;
+ private static int sPullReturnValue;
+ private static long sConfigId;
+ private static long sPullLatencyMillis;
+ private static long sPullTimeoutNs;
+ private static long sCoolDownNs;
+ private static int sAtomsPerPull;
+
+ static {
+ System.loadLibrary("statspull_testhelper");
+ }
+
+ /**
+ * Setup the tests. Initialize shared data.
+ */
+ @Before
+ public void setup() {
+// Debug.waitForDebugger();
+ mContext = InstrumentationRegistry.getTargetContext();
+ assertThat(InstrumentationRegistry.getInstrumentation()).isNotNull();
+ sPullReturnValue = StatsManager.PULL_SUCCESS;
+ sPullLatencyMillis = 0;
+ sPullTimeoutNs = 10_000_000_000L;
+ sCoolDownNs = 1_000_000_000L;
+ sAtomsPerPull = 1;
+ }
+
+ /**
+ * Teardown the tests.
+ */
+ @After
+ public void tearDown() throws Exception {
+ unregisterStatsPuller(PULL_ATOM_TAG);
+ StatsManager statsManager = (StatsManager) mContext.getSystemService(
+ Context.STATS_MANAGER);
+ statsManager.removeConfig(sConfigId);
+ }
+
+ /**
+ * Tests adding a puller callback and that pulls complete successfully.
+ */
+ @Test
+ public void testPullAtomCallbackRegistration() throws Exception {
+ StatsManager statsManager = (StatsManager) mContext.getSystemService(
+ Context.STATS_MANAGER);
+ // Upload a config that captures that pulled atom.
+ createAndAddConfigToStatsd(statsManager);
+
+ // Add the puller.
+ registerStatsPuller(PULL_ATOM_TAG, sPullTimeoutNs, sCoolDownNs, sPullReturnValue,
+ sPullLatencyMillis, sAtomsPerPull);
+ Thread.sleep(SHORT_SLEEP_MILLIS);
+ StatsLog.logStart(APP_BREADCRUMB_LABEL);
+ // Let the current bucket finish.
+ Thread.sleep(LONG_SLEEP_MILLIS);
+ List<Atom> data = StatsConfigUtils.getGaugeMetricDataList(statsManager, sConfigId);
+ unregisterStatsPuller(PULL_ATOM_TAG);
+ assertThat(data.size()).isEqualTo(1);
+ TestAtoms.PullCallbackAtomWrapper atomWrapper = null;
+ try {
+ atomWrapper = TestAtoms.PullCallbackAtomWrapper.parser()
+ .parseFrom(data.get(0).toByteArray());
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Failed to parse primitive atoms");
+ }
+ assertThat(atomWrapper).isNotNull();
+ assertThat(atomWrapper.hasPullCallbackAtom()).isTrue();
+ TestAtoms.PullCallbackAtom atom =
+ atomWrapper.getPullCallbackAtom();
+ assertThat(atom.getLongVal()).isEqualTo(1);
+ }
+
+ /**
+ * Tests that a failed pull is skipped.
+ */
+ @Test
+ public void testPullAtomCallbackFailure() throws Exception {
+ StatsManager statsManager = (StatsManager) mContext.getSystemService(
+ Context.STATS_MANAGER);
+ createAndAddConfigToStatsd(statsManager);
+ sPullReturnValue = StatsManager.PULL_SKIP;
+ // Add the puller.
+ registerStatsPuller(PULL_ATOM_TAG, sPullTimeoutNs, sCoolDownNs, sPullReturnValue,
+ sPullLatencyMillis, sAtomsPerPull);
+ Thread.sleep(SHORT_SLEEP_MILLIS);
+ StatsLog.logStart(APP_BREADCRUMB_LABEL);
+ // Let the current bucket finish.
+ Thread.sleep(LONG_SLEEP_MILLIS);
+ List<Atom> data = StatsConfigUtils.getGaugeMetricDataList(statsManager, sConfigId);
+ unregisterStatsPuller(PULL_ATOM_TAG);
+ assertThat(data.size()).isEqualTo(0);
+ }
+
+ /**
+ * Tests that a pull that times out is skipped.
+ */
+ @Test
+ public void testPullAtomCallbackTimeout() throws Exception {
+ StatsManager statsManager = (StatsManager) mContext.getSystemService(
+ Context.STATS_MANAGER);
+ createAndAddConfigToStatsd(statsManager);
+ // The puller will sleep for 1.5 sec.
+ sPullLatencyMillis = 1_500;
+ // 1 second timeout
+ sPullTimeoutNs = 1_000_000_000;
+
+ // Add the puller.
+ registerStatsPuller(PULL_ATOM_TAG, sPullTimeoutNs, sCoolDownNs, sPullReturnValue,
+ sPullLatencyMillis, sAtomsPerPull);
+ Thread.sleep(SHORT_SLEEP_MILLIS);
+ StatsLog.logStart(APP_BREADCRUMB_LABEL);
+ // Let the current bucket finish and the pull timeout.
+ Thread.sleep(sPullLatencyMillis * 2);
+ List<Atom> data = StatsConfigUtils.getGaugeMetricDataList(statsManager, sConfigId);
+ unregisterStatsPuller(PULL_ATOM_TAG);
+ assertThat(data.size()).isEqualTo(0);
+ }
+
+ /**
+ * Tests that 2 pulls in quick succession use the cache instead of pulling again.
+ */
+ @Test
+ public void testPullAtomCallbackCache() throws Exception {
+ StatsManager statsManager = (StatsManager) mContext.getSystemService(
+ Context.STATS_MANAGER);
+ createAndAddConfigToStatsd(statsManager);
+
+ // Set the cooldown to 10 seconds
+ sCoolDownNs = 10_000_000_000L;
+ // Add the puller.
+ registerStatsPuller(PULL_ATOM_TAG, sPullTimeoutNs, sCoolDownNs, sPullReturnValue,
+ sPullLatencyMillis, sAtomsPerPull);
+
+ Thread.sleep(SHORT_SLEEP_MILLIS);
+ StatsLog.logStart(APP_BREADCRUMB_LABEL);
+ // Pull from cache.
+ StatsLog.logStart(APP_BREADCRUMB_LABEL);
+ Thread.sleep(LONG_SLEEP_MILLIS);
+ List<Atom> data = StatsConfigUtils.getGaugeMetricDataList(statsManager, sConfigId);
+ unregisterStatsPuller(PULL_ATOM_TAG);
+ assertThat(data.size()).isEqualTo(2);
+ for (int i = 0; i < data.size(); i++) {
+ TestAtoms.PullCallbackAtomWrapper atomWrapper = null;
+ try {
+ atomWrapper = TestAtoms.PullCallbackAtomWrapper.parser()
+ .parseFrom(data.get(i).toByteArray());
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Failed to parse primitive atoms");
+ }
+ assertThat(atomWrapper).isNotNull();
+ assertThat(atomWrapper.hasPullCallbackAtom()).isTrue();
+ TestAtoms.PullCallbackAtom atom =
+ atomWrapper.getPullCallbackAtom();
+ assertThat(atom.getLongVal()).isEqualTo(1);
+ }
+ }
+
+ /**
+ * Tests that a pull that returns 1000 stats events works properly.
+ */
+ @Test
+ public void testPullAtomCallbackStress() throws Exception {
+ StatsManager statsManager = (StatsManager) mContext.getSystemService(
+ Context.STATS_MANAGER);
+ // Upload a config that captures that pulled atom.
+ createAndAddConfigToStatsd(statsManager);
+ sAtomsPerPull = 1000;
+ // Add the puller.
+ registerStatsPuller(PULL_ATOM_TAG, sPullTimeoutNs, sCoolDownNs, sPullReturnValue,
+ sPullLatencyMillis, sAtomsPerPull);
+
+ Thread.sleep(SHORT_SLEEP_MILLIS);
+ StatsLog.logStart(APP_BREADCRUMB_LABEL);
+ // Let the current bucket finish.
+ Thread.sleep(LONG_SLEEP_MILLIS);
+ List<Atom> data = StatsConfigUtils.getGaugeMetricDataList(statsManager, sConfigId);
+ statsManager.unregisterPullAtomCallback(PULL_ATOM_TAG);
+ assertThat(data.size()).isEqualTo(sAtomsPerPull);
+
+ for (int i = 0; i < data.size(); i++) {
+ TestAtoms.PullCallbackAtomWrapper atomWrapper = null;
+ try {
+ atomWrapper = TestAtoms.PullCallbackAtomWrapper.parser()
+ .parseFrom(data.get(i).toByteArray());
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Failed to parse primitive atoms");
+ }
+ assertThat(atomWrapper).isNotNull();
+ assertThat(atomWrapper.hasPullCallbackAtom()).isTrue();
+ TestAtoms.PullCallbackAtom atom =
+ atomWrapper.getPullCallbackAtom();
+ assertThat(atom.getLongVal()).isEqualTo(1);
+ }
+ }
+
+ private void createAndAddConfigToStatsd(StatsManager statsManager) throws Exception {
+ sConfigId = System.currentTimeMillis();
+ long triggerMatcherId = sConfigId + 10;
+ long pullerMatcherId = sConfigId + 11;
+ long metricId = sConfigId + 100;
+ StatsdConfig config = StatsConfigUtils.getSimpleTestConfig(sConfigId)
+ .addAtomMatcher(
+ StatsConfigUtils.getAppBreadcrumbMatcher(triggerMatcherId,
+ APP_BREADCRUMB_LABEL))
+ .addAtomMatcher(AtomMatcher.newBuilder()
+ .setId(pullerMatcherId)
+ .setSimpleAtomMatcher(SimpleAtomMatcher.newBuilder()
+ .setAtomId(PULL_ATOM_TAG))
+ )
+ .addGaugeMetric(GaugeMetric.newBuilder()
+ .setId(metricId)
+ .setWhat(pullerMatcherId)
+ .setTriggerEvent(triggerMatcherId)
+ .setGaugeFieldsFilter(FieldFilter.newBuilder().setIncludeAll(true))
+ .setBucket(TimeUnit.CTS)
+ .setSamplingType(GaugeMetric.SamplingType.FIRST_N_SAMPLES)
+ .setMaxNumGaugeAtomsPerBucket(1000)
+ )
+ .build();
+ statsManager.addConfig(sConfigId, config.toByteArray());
+ assertThat(StatsConfigUtils.verifyValidConfigExists(statsManager, sConfigId)).isTrue();
+ }
+
+ private native void registerStatsPuller(int atomTag, long timeoutNs, long coolDownNs,
+ int pullReturnVal, long latencyMillis, int atomPerPull);
+
+ private native void unregisterStatsPuller(int atomTag);
+}
+
diff --git a/api/current.txt b/api/current.txt
index dda21526b515..515df6d8b654 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -2873,6 +2873,20 @@ package android.accessibilityservice {
method public final boolean performGlobalAction(int);
method public final void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
method public boolean takeScreenshot(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.graphics.Bitmap>);
+ field public static final int GESTURE_2_FINGER_DOUBLE_TAP = 20; // 0x14
+ field public static final int GESTURE_2_FINGER_SINGLE_TAP = 19; // 0x13
+ field public static final int GESTURE_2_FINGER_SWIPE_DOWN = 26; // 0x1a
+ field public static final int GESTURE_2_FINGER_SWIPE_LEFT = 27; // 0x1b
+ field public static final int GESTURE_2_FINGER_SWIPE_RIGHT = 28; // 0x1c
+ field public static final int GESTURE_2_FINGER_SWIPE_UP = 25; // 0x19
+ field public static final int GESTURE_2_FINGER_TRIPLE_TAP = 21; // 0x15
+ field public static final int GESTURE_3_FINGER_DOUBLE_TAP = 23; // 0x17
+ field public static final int GESTURE_3_FINGER_SINGLE_TAP = 22; // 0x16
+ field public static final int GESTURE_3_FINGER_SWIPE_DOWN = 30; // 0x1e
+ field public static final int GESTURE_3_FINGER_SWIPE_LEFT = 31; // 0x1f
+ field public static final int GESTURE_3_FINGER_SWIPE_RIGHT = 32; // 0x20
+ field public static final int GESTURE_3_FINGER_SWIPE_UP = 29; // 0x1d
+ field public static final int GESTURE_3_FINGER_TRIPLE_TAP = 24; // 0x18
field public static final int GESTURE_DOUBLE_TAP = 17; // 0x11
field public static final int GESTURE_DOUBLE_TAP_AND_HOLD = 18; // 0x12
field public static final int GESTURE_SWIPE_DOWN = 2; // 0x2
@@ -8625,7 +8639,7 @@ package android.bluetooth {
field public static final String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED";
field public static final String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED";
field public static final String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED";
- field public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.action.ALIAS_CHANGED";
+ field public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.device.action.ALIAS_CHANGED";
field public static final String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED";
field public static final String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED";
field public static final String ACTION_FOUND = "android.bluetooth.device.action.FOUND";
@@ -9984,7 +9998,7 @@ package android.content {
method public abstract android.content.Context createDisplayContext(@NonNull android.view.Display);
method @NonNull public android.content.Context createFeatureContext(@Nullable String);
method public abstract android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
- method @NonNull public android.content.Context createWindowContext(int);
+ method @NonNull public android.content.Context createWindowContext(int, @Nullable android.os.Bundle);
method public abstract String[] databaseList();
method public abstract boolean deleteDatabase(String);
method public abstract boolean deleteFile(String);
@@ -10116,6 +10130,7 @@ package android.content {
field public static final int BIND_NOT_PERCEPTIBLE = 256; // 0x100
field public static final int BIND_WAIVE_PRIORITY = 32; // 0x20
field public static final String BIOMETRIC_SERVICE = "biometric";
+ field public static final String BLOB_STORE_SERVICE = "blob_store";
field public static final String BLUETOOTH_SERVICE = "bluetooth";
field public static final String CAMERA_SERVICE = "camera";
field public static final String CAPTIONING_SERVICE = "captioning";
@@ -11665,6 +11680,7 @@ package android.content.pm {
method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int);
method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(@Nullable java.util.List<java.lang.String>);
field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4
+ field public static final int FLAG_MATCH_CACHED = 16; // 0x10
field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1
field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8
field public static final int FLAG_MATCH_PINNED = 2; // 0x2
@@ -12358,6 +12374,7 @@ package android.content.pm {
method @Nullable public CharSequence getShortLabel();
method public android.os.UserHandle getUserHandle();
method public boolean hasKeyFieldsOnly();
+ method public boolean isCached();
method public boolean isDeclaredInManifest();
method public boolean isDynamic();
method public boolean isEnabled();
@@ -12407,14 +12424,20 @@ package android.content.pm {
method @NonNull public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
method public int getMaxShortcutCountPerActivity();
method @NonNull public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
+ method @NonNull public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(int);
method public boolean isRateLimitingActive();
method public boolean isRequestPinShortcutSupported();
method public void removeAllDynamicShortcuts();
method public void removeDynamicShortcuts(@NonNull java.util.List<java.lang.String>);
+ method public void removeLongLivedShortcuts(@NonNull java.util.List<java.lang.String>);
method public void reportShortcutUsed(String);
method public boolean requestPinShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.content.IntentSender);
method public boolean setDynamicShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
method public boolean updateShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+ field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+ field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+ field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+ field public static final int FLAG_MATCH_PINNED = 4; // 0x4
}
public class Signature implements android.os.Parcelable {
@@ -12653,8 +12676,8 @@ package android.content.res {
public class Resources {
ctor @Deprecated public Resources(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration);
- method public void addLoader(@NonNull android.content.res.loader.ResourceLoader, @NonNull android.content.res.loader.ResourcesProvider, @IntRange(from=0) int);
- method public int addLoader(@NonNull android.content.res.loader.ResourceLoader, @NonNull android.content.res.loader.ResourcesProvider);
+ method public void addLoader(@NonNull android.content.res.loader.ResourcesLoader);
+ method public void clearLoaders();
method public final void finishPreloading();
method public final void flushLayoutCache();
method @NonNull public android.content.res.XmlResourceParser getAnimation(@AnimRes @AnimatorRes int) throws android.content.res.Resources.NotFoundException;
@@ -12681,7 +12704,7 @@ package android.content.res {
method @NonNull public int[] getIntArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
method public int getInteger(@IntegerRes int) throws android.content.res.Resources.NotFoundException;
method @NonNull public android.content.res.XmlResourceParser getLayout(@LayoutRes int) throws android.content.res.Resources.NotFoundException;
- method @NonNull public java.util.List<android.util.Pair<android.content.res.loader.ResourceLoader,android.content.res.loader.ResourcesProvider>> getLoaders();
+ method @NonNull public java.util.List<android.content.res.loader.ResourcesLoader> getLoaders();
method @Deprecated public android.graphics.Movie getMovie(@RawRes int) throws android.content.res.Resources.NotFoundException;
method @NonNull public String getQuantityString(@PluralsRes int, int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
method @NonNull public String getQuantityString(@PluralsRes int, int) throws android.content.res.Resources.NotFoundException;
@@ -12709,8 +12732,8 @@ package android.content.res {
method public android.content.res.AssetFileDescriptor openRawResourceFd(@RawRes int) throws android.content.res.Resources.NotFoundException;
method public void parseBundleExtra(String, android.util.AttributeSet, android.os.Bundle) throws org.xmlpull.v1.XmlPullParserException;
method public void parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
- method public int removeLoader(@NonNull android.content.res.loader.ResourceLoader);
- method public void setLoaders(@Nullable java.util.List<android.util.Pair<android.content.res.loader.ResourceLoader,android.content.res.loader.ResourcesProvider>>);
+ method public void removeLoader(@NonNull android.content.res.loader.ResourcesLoader);
+ method public void setLoaders(@NonNull java.util.List<android.content.res.loader.ResourcesLoader>);
method @Deprecated public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
field @AnyRes public static final int ID_NULL = 0; // 0x0
}
@@ -12780,27 +12803,37 @@ package android.content.res {
package android.content.res.loader {
- public class DirectoryResourceLoader implements android.content.res.loader.ResourceLoader {
- ctor public DirectoryResourceLoader(@NonNull java.io.File);
+ public interface AssetsProvider {
+ method @Nullable public default java.io.InputStream loadAsset(@NonNull String, int) throws java.io.IOException;
+ method @Nullable public default android.os.ParcelFileDescriptor loadAssetParcelFd(@NonNull String) throws java.io.IOException;
+ }
+
+ public class DirectoryAssetsProvider implements android.content.res.loader.AssetsProvider {
+ ctor public DirectoryAssetsProvider(@NonNull java.io.File);
method @Nullable public java.io.File findFile(@NonNull String);
method @NonNull public java.io.File getDirectory();
}
- public interface ResourceLoader {
- method @Nullable public default java.io.InputStream loadAsset(@NonNull String, int) throws java.io.IOException;
- method @Nullable public default android.os.ParcelFileDescriptor loadAssetFd(@NonNull String) throws java.io.IOException;
- method @Nullable public default android.graphics.drawable.Drawable loadDrawable(@NonNull android.util.TypedValue, int, int, @Nullable android.content.res.Resources.Theme);
- method @Nullable public default android.content.res.XmlResourceParser loadXmlResourceParser(@NonNull String, @AnyRes int);
+ public class ResourcesLoader {
+ ctor public ResourcesLoader();
+ method public void addProvider(@NonNull android.content.res.loader.ResourcesProvider);
+ method public void clearProviders();
+ method @NonNull public java.util.List<android.content.res.loader.ResourcesProvider> getProviders();
+ method public void removeProvider(@NonNull android.content.res.loader.ResourcesProvider);
+ method public void setProviders(@NonNull java.util.List<android.content.res.loader.ResourcesProvider>);
}
- public final class ResourcesProvider implements java.lang.AutoCloseable java.io.Closeable {
+ public class ResourcesProvider implements java.lang.AutoCloseable java.io.Closeable {
method public void close();
- method @NonNull public static android.content.res.loader.ResourcesProvider empty();
+ method @NonNull public static android.content.res.loader.ResourcesProvider empty(@NonNull android.content.res.loader.AssetsProvider);
+ method @Nullable public android.content.res.loader.AssetsProvider getAssetsProvider();
method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+ method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.SharedMemory) throws java.io.IOException;
- method @NonNull public static android.content.res.loader.ResourcesProvider loadFromArsc(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
- method @NonNull public static android.content.res.loader.ResourcesProvider loadFromArsc(@NonNull android.os.SharedMemory) throws java.io.IOException;
+ method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.SharedMemory, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
method @NonNull public static android.content.res.loader.ResourcesProvider loadFromSplit(@NonNull android.content.Context, @NonNull String) throws java.io.IOException;
+ method @NonNull public static android.content.res.loader.ResourcesProvider loadFromTable(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+ method @NonNull public static android.content.res.loader.ResourcesProvider loadFromTable(@NonNull android.os.SharedMemory, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
}
}
@@ -14249,9 +14282,12 @@ package android.graphics {
method public int getWidth();
method public boolean isHardwareAccelerated();
method public boolean isOpaque();
- method public boolean quickReject(@NonNull android.graphics.RectF, @NonNull android.graphics.Canvas.EdgeType);
- method public boolean quickReject(@NonNull android.graphics.Path, @NonNull android.graphics.Canvas.EdgeType);
- method public boolean quickReject(float, float, float, float, @NonNull android.graphics.Canvas.EdgeType);
+ method @Deprecated public boolean quickReject(@NonNull android.graphics.RectF, @NonNull android.graphics.Canvas.EdgeType);
+ method public boolean quickReject(@NonNull android.graphics.RectF);
+ method @Deprecated public boolean quickReject(@NonNull android.graphics.Path, @NonNull android.graphics.Canvas.EdgeType);
+ method public boolean quickReject(@NonNull android.graphics.Path);
+ method @Deprecated public boolean quickReject(float, float, float, float, @NonNull android.graphics.Canvas.EdgeType);
+ method public boolean quickReject(float, float, float, float);
method public void restore();
method public void restoreToCount(int);
method public void rotate(float);
@@ -14276,9 +14312,9 @@ package android.graphics {
field public static final int ALL_SAVE_FLAG = 31; // 0x1f
}
- public enum Canvas.EdgeType {
- enum_constant public static final android.graphics.Canvas.EdgeType AA;
- enum_constant public static final android.graphics.Canvas.EdgeType BW;
+ @Deprecated public enum Canvas.EdgeType {
+ enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType AA;
+ enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType BW;
}
public enum Canvas.VertexMode {
@@ -14824,10 +14860,11 @@ package android.graphics {
method public void offset(int, int);
method public void set(@NonNull android.graphics.Outline);
method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
- method public void setConvexPath(@NonNull android.graphics.Path);
+ method @Deprecated public void setConvexPath(@NonNull android.graphics.Path);
method public void setEmpty();
method public void setOval(int, int, int, int);
method public void setOval(@NonNull android.graphics.Rect);
+ method public void setPath(@NonNull android.graphics.Path);
method public void setRect(int, int, int, int);
method public void setRect(@NonNull android.graphics.Rect);
method public void setRoundRect(int, int, int, int, float);
@@ -15063,7 +15100,7 @@ package android.graphics {
method public void cubicTo(float, float, float, float, float, float);
method @NonNull public android.graphics.Path.FillType getFillType();
method public void incReserve(int);
- method public boolean isConvex();
+ method @Deprecated public boolean isConvex();
method public boolean isEmpty();
method public boolean isInverseFillType();
method public boolean isRect(@Nullable android.graphics.RectF);
@@ -26701,7 +26738,7 @@ package android.media {
method public int getVolume();
method public int getVolumeHandling();
method public int getVolumeMax();
- method public boolean hasAnyFeatures(@NonNull java.util.Collection<java.lang.String>);
+ method public boolean isSystemRoute();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
@@ -31102,11 +31139,6 @@ package android.net.wifi {
field @Deprecated public static final String[] strings;
}
- @Deprecated public static class WifiConfiguration.SuiteBCipher {
- field @Deprecated public static final int ECDHE_ECDSA = 0; // 0x0
- field @Deprecated public static final int ECDHE_RSA = 1; // 0x1
- }
-
public class WifiEnterpriseConfig implements android.os.Parcelable {
ctor public WifiEnterpriseConfig();
ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
@@ -31589,6 +31621,7 @@ package android.net.wifi.hotspot2 {
method public android.net.wifi.hotspot2.pps.Credential getCredential();
method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
method public long getSubscriptionExpirationTimeInMillis();
+ method @NonNull public String getUniqueId() throws java.lang.IllegalStateException;
method public boolean isOsuProvisioned();
method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
@@ -31769,8 +31802,8 @@ package android.net.wifi.p2p {
method public boolean isGroupOwner();
method public void writeToParcel(android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
- field public static final int PERSISTENT_NET_ID = -2; // 0xfffffffe
- field public static final int TEMPORARY_NET_ID = -1; // 0xffffffff
+ field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
+ field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
}
public class WifiP2pInfo implements android.os.Parcelable {
@@ -36917,7 +36950,7 @@ package android.os {
ctor public VibrationAttributes.Builder();
ctor public VibrationAttributes.Builder(@Nullable android.os.VibrationAttributes);
method @NonNull public android.os.VibrationAttributes build();
- method @NonNull public android.os.VibrationAttributes.Builder replaceFlags(int);
+ method @NonNull public android.os.VibrationAttributes.Builder setFlags(int, int);
method @NonNull public android.os.VibrationAttributes.Builder setUsage(int);
}
@@ -36927,6 +36960,7 @@ package android.os {
method public static android.os.VibrationEffect createWaveform(long[], int);
method public static android.os.VibrationEffect createWaveform(long[], int[], int);
method public int describeContents();
+ method @NonNull public static android.os.VibrationEffect.Composition startComposition();
field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect> CREATOR;
field public static final int DEFAULT_AMPLITUDE = -1; // 0xffffffff
field public static final int EFFECT_CLICK = 0; // 0x0
@@ -36935,7 +36969,26 @@ package android.os {
field public static final int EFFECT_TICK = 2; // 0x2
}
+ public static class VibrationEffect.Composition {
+ ctor public VibrationEffect.Composition();
+ method @Nullable public android.os.VibrationEffect.Composition addPrimitive(int);
+ method @Nullable public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float);
+ method @Nullable public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+ method @NonNull public android.os.VibrationEffect compose();
+ field public static final int PRIMITIVE_CLICK = 1; // 0x1
+ field public static final int PRIMITIVE_LIGHT_TICK = 7; // 0x7
+ field public static final int PRIMITIVE_QUICK_FALL = 6; // 0x6
+ field public static final int PRIMITIVE_QUICK_RISE = 4; // 0x4
+ field public static final int PRIMITIVE_SLOW_RISE = 5; // 0x5
+ field public static final int PRIMITIVE_SPIN = 3; // 0x3
+ field public static final int PRIMITIVE_THUD = 2; // 0x2
+ }
+
public abstract class Vibrator {
+ method @Nullable public Boolean areAllEffectsSupported(@NonNull int...);
+ method public boolean areAllPrimitivesSupported(@NonNull int...);
+ method @Nullable public boolean[] areEffectsSupported(@NonNull int...);
+ method @NonNull public boolean[] arePrimitivesSupported(@NonNull int...);
method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel();
method public abstract boolean hasAmplitudeControl();
method public abstract boolean hasVibrator();
@@ -39512,7 +39565,7 @@ package android.provider {
protected static interface ContactsContract.RawContactsColumns {
field public static final String ACCOUNT_TYPE_AND_DATA_SET = "account_type_and_data_set";
field public static final String AGGREGATION_MODE = "aggregation_mode";
- field @Deprecated public static final String BACKUP_ID = "backup_id";
+ field public static final String BACKUP_ID = "backup_id";
field public static final String CONTACT_ID = "contact_id";
field public static final String DATA_SET = "data_set";
field public static final String DELETED = "deleted";
@@ -43870,11 +43923,13 @@ package android.service.quicksettings {
method public android.graphics.drawable.Icon getIcon();
method public CharSequence getLabel();
method public int getState();
+ method @Nullable public CharSequence getStateDescription();
method @Nullable public CharSequence getSubtitle();
method public void setContentDescription(CharSequence);
method public void setIcon(android.graphics.drawable.Icon);
method public void setLabel(CharSequence);
method public void setState(int);
+ method public void setStateDescription(@Nullable CharSequence);
method public void setSubtitle(@Nullable CharSequence);
method public void updateTile();
method public void writeToParcel(android.os.Parcel, int);
@@ -46332,7 +46387,6 @@ package android.telephony {
public final class BarringInfo implements android.os.Parcelable {
method public int describeContents();
method @NonNull public android.telephony.BarringInfo.BarringServiceInfo getBarringServiceInfo(int);
- method public boolean isServiceBarred(int);
method public void writeToParcel(@NonNull android.os.Parcel, int);
field public static final int BARRING_SERVICE_TYPE_CS_FALLBACK = 5; // 0x5
field public static final int BARRING_SERVICE_TYPE_CS_SERVICE = 0; // 0x0
@@ -47021,8 +47075,8 @@ package android.telephony {
}
public class MmsManager {
- method public void downloadMultimediaMessage(int, @NonNull String, @NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent);
- method public void sendMultimediaMessage(int, @NonNull android.net.Uri, @Nullable String, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent);
+ method public void downloadMultimediaMessage(int, @NonNull String, @NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent, long);
+ method public void sendMultimediaMessage(int, @NonNull android.net.Uri, @Nullable String, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent, long);
}
@Deprecated public class NeighboringCellInfo implements android.os.Parcelable {
@@ -47051,6 +47105,7 @@ package android.telephony {
method @Nullable public android.telephony.CellIdentity getCellIdentity();
method public int getDomain();
method public int getNrState();
+ method @NonNull public String getRegisteredPlmn();
method public int getTransportType();
method public boolean isRegistered();
method public boolean isRoaming();
@@ -47241,6 +47296,7 @@ package android.telephony {
public final class PreciseDataConnectionState implements android.os.Parcelable {
method public int describeContents();
+ method @Nullable public android.telephony.data.ApnSetting getApnSetting();
method public int getLastCauseCode();
method @Nullable public android.net.LinkProperties getLinkProperties();
method public int getNetworkType();
@@ -51726,7 +51782,7 @@ package android.view {
method public int getFlags();
method public android.view.Display.HdrCapabilities getHdrCapabilities();
method @Deprecated public int getHeight();
- method public void getMetrics(android.util.DisplayMetrics);
+ method @Deprecated public void getMetrics(android.util.DisplayMetrics);
method public android.view.Display.Mode getMode();
method public String getName();
method @Deprecated public int getOrientation();
@@ -51735,10 +51791,10 @@ package android.view {
method public long getPresentationDeadlineNanos();
method public void getRealMetrics(android.util.DisplayMetrics);
method public void getRealSize(android.graphics.Point);
- method public void getRectSize(android.graphics.Rect);
+ method @Deprecated public void getRectSize(android.graphics.Rect);
method public float getRefreshRate();
method public int getRotation();
- method public void getSize(android.graphics.Point);
+ method @Deprecated public void getSize(android.graphics.Point);
method public int getState();
method public android.view.Display.Mode[] getSupportedModes();
method @Deprecated public float[] getSupportedRefreshRates();
@@ -54141,7 +54197,7 @@ package android.view {
public class ViewConfiguration {
ctor @Deprecated public ViewConfiguration();
method public static android.view.ViewConfiguration get(android.content.Context);
- method @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier();
+ method @Deprecated @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier();
method public static long getDefaultActionModeHideDuration();
method public static int getDoubleTapTimeout();
method @Deprecated public static int getEdgeSlop();
@@ -54155,6 +54211,7 @@ package android.view {
method @Deprecated public static int getMaximumFlingVelocity();
method @Deprecated public static int getMinimumFlingVelocity();
method public static int getPressedStateDuration();
+ method @FloatRange(from=1.0) public float getScaledAmbiguousGestureMultiplier();
method public int getScaledDoubleTapSlop();
method public int getScaledEdgeSlop();
method public int getScaledFadingEdgeLength();
@@ -54760,7 +54817,6 @@ package android.view {
method public final void removeOnFrameMetricsAvailableListener(android.view.Window.OnFrameMetricsAvailableListener);
method public boolean requestFeature(int);
method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
- method public void resetOnContentApplyWindowInsetsListener();
method public abstract void restoreHierarchyState(android.os.Bundle);
method public abstract android.os.Bundle saveHierarchyState();
method public void setAllowEnterTransitionOverlap(boolean);
@@ -54778,6 +54834,7 @@ package android.view {
method public abstract void setContentView(android.view.View);
method public abstract void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
method public abstract void setDecorCaptionShade(int);
+ method public void setDecorFitsSystemWindows(boolean);
method protected void setDefaultWindowFormat(int);
method public void setDimAmount(float);
method public void setElevation(float);
@@ -54799,7 +54856,6 @@ package android.view {
method public abstract void setNavigationBarColor(@ColorInt int);
method public void setNavigationBarContrastEnforced(boolean);
method public void setNavigationBarDividerColor(@ColorInt int);
- method public void setOnContentApplyWindowInsetsListener(@Nullable android.view.Window.OnContentApplyWindowInsetsListener);
method public void setPreferMinimalPostProcessing(boolean);
method public void setReenterTransition(android.transition.Transition);
method public abstract void setResizingCaptionDrawable(android.graphics.drawable.Drawable);
@@ -54894,10 +54950,6 @@ package android.view {
method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
}
- public static interface Window.OnContentApplyWindowInsetsListener {
- method @NonNull public android.util.Pair<android.graphics.Insets,android.view.WindowInsets> onContentApplyWindowInsets(@NonNull android.view.WindowInsets);
- }
-
public static interface Window.OnFrameMetricsAvailableListener {
method public void onFrameMetricsAvailable(android.view.Window, android.view.FrameMetrics, int);
}
@@ -55048,16 +55100,13 @@ package android.view {
}
public interface WindowInsetsController {
- method public default void controlInputMethodAnimation(long, @Nullable android.view.animation.Interpolator, @NonNull android.view.WindowInsetsAnimationControlListener);
method public void controlWindowInsetsAnimation(int, long, @Nullable android.view.animation.Interpolator, @NonNull android.view.WindowInsetsAnimationControlListener);
method public int getSystemBarsAppearance();
method public int getSystemBarsBehavior();
method public void hide(int);
- method public default void hideInputMethod();
method public void setSystemBarsAppearance(int, int);
method public void setSystemBarsBehavior(int);
method public void show(int);
- method public default void showInputMethod();
field public static final int APPEARANCE_LIGHT_NAVIGATION_BARS = 16; // 0x10
field public static final int APPEARANCE_LIGHT_STATUS_BARS = 8; // 0x8
field public static final int BEHAVIOR_SHOW_BARS_BY_SWIPE = 1; // 0x1
@@ -56177,6 +56226,9 @@ package android.view.contentcapture {
method public void removeData(@NonNull android.view.contentcapture.DataRemovalRequest);
method public void setContentCaptureEnabled(boolean);
method public void shareData(@NonNull android.view.contentcapture.DataShareRequest, @NonNull java.util.concurrent.Executor, @NonNull android.view.contentcapture.DataShareWriteAdapter);
+ field public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2; // 0x2
+ field public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3; // 0x3
+ field public static final int DATA_SHARE_ERROR_UNKNOWN = 1; // 0x1
}
public abstract class ContentCaptureSession implements java.lang.AutoCloseable {
@@ -56238,9 +56290,7 @@ package android.view.contentcapture {
public interface DataShareWriteAdapter {
method public default void onError(int);
method public void onRejected();
- method public void onWrite(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.CancellationSignal);
- field public static final int ERROR_CONCURRENT_REQUEST = 1; // 0x1
- field public static final int ERROR_UNKNOWN = 2; // 0x2
+ method public void onWrite(@NonNull android.os.ParcelFileDescriptor);
}
}
diff --git a/api/module-app-current.txt b/api/module-app-current.txt
deleted file mode 100644
index dadbd79e0e8d..000000000000
--- a/api/module-app-current.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-// Signature format: 2.0
-package android.app {
-
- public final class NotificationChannel implements android.os.Parcelable {
- method public void setBlockableSystem(boolean);
- }
-
-}
-
-package android.provider {
-
- public final class DocumentsContract {
- method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
- }
-
- public static final class Settings.Global extends android.provider.Settings.NameValueTable {
- field public static final String COMMON_CRITERIA_MODE = "common_criteria_mode";
- }
-
-}
-
diff --git a/api/module-app-removed.txt b/api/module-app-removed.txt
deleted file mode 100644
index d802177e249b..000000000000
--- a/api/module-app-removed.txt
+++ /dev/null
@@ -1 +0,0 @@
-// Signature format: 2.0
diff --git a/api/module-lib-current.txt b/api/module-lib-current.txt
index 6f4a27ecfb0b..b42594740433 100644
--- a/api/module-lib-current.txt
+++ b/api/module-lib-current.txt
@@ -6,7 +6,7 @@ package android.app.timedetector {
method public void addDebugInfo(@NonNull java.util.List<java.lang.String>);
method public int describeContents();
method @NonNull public java.util.List<java.lang.String> getDebugInfo();
- method public int getPhoneId();
+ method public int getSlotIndex();
method @Nullable public android.os.TimestampedValue<java.lang.Long> getUtcTime();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.app.timedetector.PhoneTimeSuggestion> CREATOR;
@@ -19,7 +19,7 @@ package android.app.timedetector {
method @NonNull public android.app.timedetector.PhoneTimeSuggestion.Builder setUtcTime(@Nullable android.os.TimestampedValue<java.lang.Long>);
}
- public class TimeDetector {
+ public interface TimeDetector {
method @RequiresPermission("android.permission.SUGGEST_PHONE_TIME_AND_ZONE") public void suggestPhoneTime(@NonNull android.app.timedetector.PhoneTimeSuggestion);
}
@@ -34,8 +34,8 @@ package android.app.timezonedetector {
method public int describeContents();
method @NonNull public java.util.List<java.lang.String> getDebugInfo();
method public int getMatchType();
- method public int getPhoneId();
method public int getQuality();
+ method public int getSlotIndex();
method @Nullable public String getZoneId();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.app.timezonedetector.PhoneTimeZoneSuggestion> CREATOR;
@@ -59,7 +59,7 @@ package android.app.timezonedetector {
method @NonNull public android.app.timezonedetector.PhoneTimeZoneSuggestion.Builder setZoneId(@Nullable String);
}
- public class TimeZoneDetector {
+ public interface TimeZoneDetector {
method @RequiresPermission("android.permission.SUGGEST_PHONE_TIME_AND_ZONE") public void suggestPhoneTimeZone(@NonNull android.app.timezonedetector.PhoneTimeZoneSuggestion);
}
@@ -87,8 +87,8 @@ package android.timezone {
method @NonNull public java.util.List<android.timezone.CountryTimeZones.TimeZoneMapping> getEffectiveTimeZoneMappingsAt(long);
method public boolean hasUtcZone(long);
method public boolean isDefaultTimeZoneBoosted();
- method public boolean isForCountryCode(@NonNull String);
method @Nullable public android.timezone.CountryTimeZones.OffsetResult lookupByOffsetWithBias(int, @Nullable Boolean, @Nullable Integer, long, @Nullable android.icu.util.TimeZone);
+ method public boolean matchesCountryCode(@NonNull String);
}
public static final class CountryTimeZones.OffsetResult {
@@ -98,22 +98,22 @@ package android.timezone {
}
public static final class CountryTimeZones.TimeZoneMapping {
- method @Nullable public android.icu.util.TimeZone getTimeZone();
+ method @NonNull public android.icu.util.TimeZone getTimeZone();
method @NonNull public String getTimeZoneId();
}
- public class TelephonyLookup {
+ public final class TelephonyLookup {
method @NonNull public static android.timezone.TelephonyLookup getInstance();
method @Nullable public android.timezone.TelephonyNetworkFinder getTelephonyNetworkFinder();
}
- public class TelephonyNetwork {
+ public final class TelephonyNetwork {
method @NonNull public String getCountryIsoCode();
method @NonNull public String getMcc();
method @NonNull public String getMnc();
}
- public class TelephonyNetworkFinder {
+ public final class TelephonyNetworkFinder {
method @Nullable public android.timezone.TelephonyNetwork findNetworkByMccMnc(@NonNull String, @NonNull String);
}
@@ -134,7 +134,7 @@ package android.timezone {
method @NonNull public static android.timezone.TzDataSetVersion read() throws java.io.IOException, android.timezone.TzDataSetVersion.TzDataSetException;
}
- public static class TzDataSetVersion.TzDataSetException extends java.lang.Exception {
+ public static final class TzDataSetVersion.TzDataSetException extends java.lang.Exception {
ctor public TzDataSetVersion.TzDataSetException(String);
ctor public TzDataSetVersion.TzDataSetException(String, Throwable);
}
diff --git a/api/system-current.txt b/api/system-current.txt
index 1a039dc3ce09..89811ada123a 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -665,6 +665,7 @@ package android.app {
method public int getUserLockedFields();
method public boolean isDeleted();
method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
+ method public void setBlockableSystem(boolean);
method public org.json.JSONObject toJson() throws org.json.JSONException;
method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
field public static final int USER_LOCKED_SOUND = 32; // 0x20
@@ -1482,8 +1483,9 @@ package android.bluetooth {
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public long getDiscoveryEndMillis();
method public boolean isBleScanAlwaysAvailable();
method public boolean isLeEnabled();
+ method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeActiveDevice(int);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
- method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean setActiveDevice(@Nullable android.bluetooth.BluetoothDevice, int);
+ method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setScanMode(int, int);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setScanMode(int);
field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
@@ -1556,7 +1558,7 @@ package android.bluetooth {
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isEncrypted();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isInSilenceMode();
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean removeBond();
- method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean setAlias(@NonNull String);
+ method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setAlias(@NonNull String);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setMessageAccessPermission(int);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setMetadata(int, @NonNull byte[]);
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setPhonebookAccessPermission(int);
@@ -1604,7 +1606,7 @@ package android.bluetooth {
}
public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
- method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+ method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
}
public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
@@ -2302,6 +2304,7 @@ package android.content.pm {
field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
+ field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
field public static final int PROTECTION_FLAG_TELEPHONY = 4194304; // 0x400000
field public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
@@ -2451,8 +2454,8 @@ package android.hardware {
package android.hardware.biometrics {
public static interface BiometricManager.Authenticators {
- field public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
- field public static final int EMPTY_SET = 0; // 0x0
+ field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
+ field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
}
}
@@ -4104,7 +4107,6 @@ package android.location {
public class Location implements android.os.Parcelable {
method public boolean isComplete();
method public void makeComplete();
- method public void setExtraLocation(@Nullable String, @Nullable android.location.Location);
method public void setIsFromMockProvider(boolean);
field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
}
@@ -4484,11 +4486,11 @@ package android.media.session {
}
public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
- method public default void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
+ method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
}
public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener {
- method public default void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
+ method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
}
public static interface MediaSessionManager.OnMediaKeyListener {
@@ -5377,7 +5379,7 @@ package android.media.tv.tuner.frontend {
public static class Atsc3FrontendSettings.Builder extends android.media.tv.tuner.frontend.FrontendSettings.Builder<android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder> {
method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
- method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(byte);
+ method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
}
@@ -5431,7 +5433,7 @@ package android.media.tv.tuner.frontend {
public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder(@NonNull android.content.Context);
- method public byte getAnnex();
+ method public int getAnnex();
method public long getFec();
method public int getModulation();
method public int getOuterFec();
@@ -5459,7 +5461,7 @@ package android.media.tv.tuner.frontend {
public static class DvbcFrontendSettings.Builder extends android.media.tv.tuner.frontend.FrontendSettings.Builder<android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder> {
method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
- method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(byte);
+ method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFec(long);
method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
@@ -6233,7 +6235,7 @@ package android.net {
}
public abstract class NetworkAgent {
- ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
+ ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
method @Nullable public android.net.Network getNetwork();
method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
method public void onAutomaticReconnectDisabled();
@@ -6248,7 +6250,7 @@ package android.net {
method @NonNull public android.net.Network register();
method public void sendLinkProperties(@NonNull android.net.LinkProperties);
method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
- method public void sendNetworkScore(int);
+ method public void sendNetworkScore(@NonNull android.net.NetworkScore);
method public void sendSocketKeepaliveEvent(int, int);
method public void setConnected();
method @Deprecated public void setLegacyExtraInfo(@Nullable String);
@@ -6351,6 +6353,55 @@ package android.net {
method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
}
+ public final class NetworkScore implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.net.NetworkScore.Metrics getEndToEndMetrics();
+ method @NonNull public android.net.NetworkScore.Metrics getLinkLayerMetrics();
+ method public int getRange();
+ method @IntRange(from=android.net.NetworkScore.UNKNOWN_SIGNAL_STRENGTH, to=android.net.NetworkScore.MAX_SIGNAL_STRENGTH) public int getSignalStrength();
+ method public boolean hasPolicy(int);
+ method public boolean isExiting();
+ method @NonNull public android.net.NetworkScore withExiting(boolean);
+ method @NonNull public android.net.NetworkScore withSignalStrength(@IntRange(from=android.net.NetworkScore.UNKNOWN_SIGNAL_STRENGTH) int);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
+ field public static final int MAX_SIGNAL_STRENGTH = 1000; // 0x3e8
+ field public static final int MIN_SIGNAL_STRENGTH = 0; // 0x0
+ field public static final int POLICY_DEFAULT_SUBSCRIPTION = 8; // 0x8
+ field public static final int POLICY_IGNORE_ON_WIFI = 4; // 0x4
+ field public static final int POLICY_LOCKDOWN_VPN = 1; // 0x1
+ field public static final int POLICY_VPN = 2; // 0x2
+ field public static final int RANGE_CLOSE = 1; // 0x1
+ field public static final int RANGE_LONG = 4; // 0x4
+ field public static final int RANGE_MEDIUM = 3; // 0x3
+ field public static final int RANGE_SHORT = 2; // 0x2
+ field public static final int RANGE_UNKNOWN = 0; // 0x0
+ field public static final int UNKNOWN_SIGNAL_STRENGTH = -1; // 0xffffffff
+ }
+
+ public static class NetworkScore.Builder {
+ ctor public NetworkScore.Builder();
+ method @NonNull public android.net.NetworkScore.Builder addPolicy(int);
+ method @NonNull public android.net.NetworkScore build();
+ method @NonNull public android.net.NetworkScore.Builder clearPolicy(int);
+ method @NonNull public android.net.NetworkScore.Builder setEndToEndMetrics(@NonNull android.net.NetworkScore.Metrics);
+ method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
+ method @NonNull public android.net.NetworkScore.Builder setLegacyScore(int);
+ method @NonNull public android.net.NetworkScore.Builder setLinkLayerMetrics(@NonNull android.net.NetworkScore.Metrics);
+ method @NonNull public android.net.NetworkScore.Builder setRange(int);
+ method @NonNull public android.net.NetworkScore.Builder setSignalStrength(@IntRange(from=android.net.NetworkScore.UNKNOWN_SIGNAL_STRENGTH, to=android.net.NetworkScore.MAX_SIGNAL_STRENGTH) int);
+ }
+
+ public static class NetworkScore.Metrics {
+ ctor public NetworkScore.Metrics(@IntRange(from=android.net.NetworkScore.Metrics.LATENCY_UNKNOWN) int, @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) int, @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) int);
+ field public static final int BANDWIDTH_UNKNOWN = -1; // 0xffffffff
+ field @NonNull public static final android.net.NetworkScore.Metrics EMPTY;
+ field public static final int LATENCY_UNKNOWN = -1; // 0xffffffff
+ field @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) public final int downlinkBandwidthKBps;
+ field @IntRange(from=android.net.NetworkScore.Metrics.LATENCY_UNKNOWN) public final int latencyMs;
+ field @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) public final int uplinkBandwidthKBps;
+ }
+
public class NetworkScoreManager {
method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
@@ -7460,19 +7511,16 @@ package android.net.wifi {
@Deprecated public class WifiConfiguration implements android.os.Parcelable {
method @Deprecated public int getAuthType();
- method @Deprecated @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
method @Deprecated @NonNull public String getPrintableSsid();
- method @Deprecated @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
- method @Deprecated @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
+ method @Deprecated public int getRecentFailureReason();
method @Deprecated public boolean hasNoInternetAccess();
method @Deprecated public boolean isEphemeral();
method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
method @Deprecated public boolean isNoInternetAccessExpected();
method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
- method @Deprecated public void setProxy(@NonNull android.net.IpConfiguration.ProxySettings, @NonNull android.net.ProxyInfo);
field @Deprecated public static final int AP_BAND_2GHZ = 0; // 0x0
field @Deprecated public static final int AP_BAND_5GHZ = 1; // 0x1
field @Deprecated public static final int AP_BAND_ANY = -1; // 0xffffffff
@@ -7482,6 +7530,8 @@ package android.net.wifi {
field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
+ field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
+ field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
field @Deprecated public boolean allowAutojoin;
field @Deprecated public int apBand;
field @Deprecated public int carrierId;
@@ -7497,7 +7547,6 @@ package android.net.wifi {
field @Deprecated public int numAssociation;
field @Deprecated public int numScorerOverride;
field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
- field @Deprecated @NonNull public final android.net.wifi.WifiConfiguration.RecentFailure recentFailure;
field @Deprecated public boolean requirePMF;
field @Deprecated @Nullable public String saePasswordId;
field @Deprecated public boolean shared;
@@ -7513,11 +7562,11 @@ package android.net.wifi {
@Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
method @Deprecated public int getDisableReasonCounter(int);
method @Deprecated public long getDisableTime();
- method @Deprecated public boolean getHasEverConnected();
method @Deprecated @Nullable public static String getNetworkDisableReasonString(int);
method @Deprecated public int getNetworkSelectionDisableReason();
method @Deprecated public int getNetworkSelectionStatus();
method @Deprecated @NonNull public String getNetworkStatusString();
+ method @Deprecated public boolean hasEverConnected();
method @Deprecated public boolean isNetworkEnabled();
method @Deprecated public boolean isNetworkPermanentlyDisabled();
field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
@@ -7527,10 +7576,10 @@ package android.net.wifi {
field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
+ field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
field @Deprecated public static final int NETWORK_SELECTION_DISABLED_MAX = 10; // 0xa
- field @Deprecated public static final int NETWORK_SELECTION_ENABLE = 0; // 0x0
field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
@@ -7543,12 +7592,6 @@ package android.net.wifi {
method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
}
- @Deprecated public static class WifiConfiguration.RecentFailure {
- method @Deprecated public int getAssociationStatus();
- field @Deprecated public static final int NONE = 0; // 0x0
- field @Deprecated public static final int STATUS_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
- }
-
public class WifiEnterpriseConfig implements android.os.Parcelable {
method @Nullable public String[] getCaCertificateAliases();
method @NonNull public String getCaPath();
@@ -7580,7 +7623,7 @@ package android.net.wifi {
method public boolean isEphemeral();
method public boolean isOsuAp();
method public boolean isPasspointAp();
- method @Nullable public static String removeDoubleQuotes(@Nullable String);
+ method @Nullable public static String sanitizeSsid(@Nullable String);
field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
field public static final int INVALID_RSSI = -127; // 0xffffff81
}
@@ -7622,7 +7665,6 @@ package android.net.wifi {
method public boolean isApMacRandomizationSupported();
method public boolean isConnectedMacRandomizationSupported();
method @Deprecated public boolean isDeviceToDeviceRttSupported();
- method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isDualModeSupported();
method public boolean isPortableHotspotSupported();
method public boolean isVerboseLoggingEnabled();
method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
@@ -7734,7 +7776,7 @@ package android.net.wifi {
}
public static interface WifiManager.ScoreChangeCallback {
- method public void onStatusChange(int, boolean);
+ method public void onScoreChange(int, @NonNull android.net.NetworkScore);
method public void onTriggerUpdateOfWifiUsabilityStats(int);
}
@@ -8367,7 +8409,7 @@ package android.os {
method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
}
- public class BatteryStatsManager {
+ public final class BatteryStatsManager {
method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
@@ -8865,13 +8907,13 @@ package android.os {
public class UpdateEngine {
ctor public UpdateEngine();
- method @NonNull public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
+ method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
method public void applyPayload(String, long, long, String[]);
method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
method public boolean bind(android.os.UpdateEngineCallback);
method public void cancel();
- method public int cleanupAppliedPayload();
+ method @WorkerThread public int cleanupAppliedPayload();
method public void resetStatus();
method public void resume();
method public void suspend();
@@ -8880,8 +8922,8 @@ package android.os {
}
public static final class UpdateEngine.AllocateSpaceResult {
- method public int errorCode();
- method public long freeSpaceRequired();
+ method public int getErrorCode();
+ method public long getFreeSpaceRequired();
}
public static final class UpdateEngine.ErrorCodeConstants {
@@ -8962,7 +9004,6 @@ package android.os {
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
- method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull android.os.UserHandle, @NonNull String);
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
@@ -9126,7 +9167,12 @@ package android.os.storage {
method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
method public static boolean hasIsolatedStorage();
+ method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
+ field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
+ field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
+ field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
+ field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
}
public final class StorageVolume implements android.os.Parcelable {
@@ -9174,7 +9220,7 @@ package android.permission {
}
public final class PermissionManager {
- method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public int getRuntimePermissionsVersion();
+ method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, "android.permission.UPGRADE_RUNTIME_PERMISSIONS"}) public int getRuntimePermissionsVersion();
method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledCarrierApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToEnabledImsServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
@@ -9182,7 +9228,7 @@ package android.permission {
method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void grantDefaultPermissionsToLuiApp(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromDisabledTelephonyDataServices(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS) public void revokeDefaultPermissionsFromLuiApps(@NonNull String[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
- method @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
+ method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, "android.permission.UPGRADE_RUNTIME_PERMISSIONS"}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
}
@@ -9412,6 +9458,7 @@ package android.provider {
}
public final class DocumentsContract {
+ method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
method public static boolean isManageMode(@NonNull android.net.Uri);
method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
@@ -9572,6 +9619,7 @@ package android.provider {
field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
field public static final String CARRIER_APP_NAMES = "carrier_app_names";
field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
+ field public static final String COMMON_CRITERIA_MODE = "common_criteria_mode";
field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
@@ -9703,6 +9751,7 @@ package android.provider {
field public static final String CMAS_SEVERITY = "cmas_severity";
field public static final String CMAS_URGENCY = "cmas_urgency";
field @NonNull public static final android.net.Uri CONTENT_URI;
+ field public static final String DATA_CODING_SCHEME = "dcs";
field public static final String DEFAULT_SORT_ORDER = "date DESC";
field public static final String DELIVERY_TIME = "date";
field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
@@ -9710,9 +9759,11 @@ package android.provider {
field public static final String GEOMETRIES = "geometries";
field public static final String LAC = "lac";
field public static final String LANGUAGE_CODE = "language";
+ field public static final String LOCATION_CHECK_TIME = "location_check_time";
field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
field public static final String MESSAGE_BODY = "body";
field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
+ field public static final String MESSAGE_DISPLAYED = "message_displayed";
field public static final String MESSAGE_FORMAT = "format";
field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
field public static final String MESSAGE_PRIORITY = "priority";
@@ -10061,6 +10112,7 @@ package android.service.autofill.augmented {
ctor public AugmentedAutofillService();
method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
+ method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
method public void onConnected();
method public void onDisconnected();
method public void onFillRequest(@NonNull android.service.autofill.augmented.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.augmented.FillController, @NonNull android.service.autofill.augmented.FillCallback);
@@ -10090,6 +10142,7 @@ package android.service.autofill.augmented {
public static final class FillResponse.Builder {
ctor public FillResponse.Builder();
method @NonNull public android.service.autofill.augmented.FillResponse build();
+ method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@Nullable android.os.Bundle);
method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@Nullable android.service.autofill.augmented.FillWindow);
method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@Nullable java.util.List<android.service.autofill.Dataset>);
}
@@ -10181,7 +10234,7 @@ package android.service.contentcapture {
public interface DataShareReadAdapter {
method public void onError(int);
- method public void onStart(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.CancellationSignal);
+ method public void onStart(@NonNull android.os.ParcelFileDescriptor);
}
public final class SnapshotData implements android.os.Parcelable {
@@ -11175,10 +11228,12 @@ package android.telephony {
public class CellBroadcastIntents {
method public static void sendSmsCbReceivedBroadcast(@NonNull android.content.Context, @Nullable android.os.UserHandle, @NonNull android.telephony.SmsCbMessage, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, int);
+ field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
}
public abstract class CellBroadcastService extends android.app.Service {
ctor public CellBroadcastService();
+ method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
@@ -11726,6 +11781,7 @@ package android.telephony {
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
+ method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
@@ -11795,9 +11851,9 @@ package android.telephony {
field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
field @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
- field public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
+ field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
- field public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
+ field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
}
public final class PinResult implements android.os.Parcelable {
@@ -12047,11 +12103,12 @@ package android.telephony {
}
public final class SmsCbMessage implements android.os.Parcelable {
- ctor public SmsCbMessage(int, int, int, @NonNull android.telephony.SmsCbLocation, int, @Nullable String, @Nullable String, int, @Nullable android.telephony.SmsCbEtwsInfo, @Nullable android.telephony.SmsCbCmasInfo, int, @Nullable java.util.List<android.telephony.CbGeoUtils.Geometry>, long, int, int);
+ ctor public SmsCbMessage(int, int, int, @NonNull android.telephony.SmsCbLocation, int, @Nullable String, int, @Nullable String, int, @Nullable android.telephony.SmsCbEtwsInfo, @Nullable android.telephony.SmsCbCmasInfo, int, @Nullable java.util.List<android.telephony.CbGeoUtils.Geometry>, long, int, int);
method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
method public int describeContents();
method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
method @NonNull public android.content.ContentValues getContentValues();
+ method public int getDataCodingScheme();
method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
method public int getGeographicalScope();
method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
diff --git a/api/test-current.txt b/api/test-current.txt
index fec5f3df9669..cee560b00abe 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -767,7 +767,7 @@ package android.content {
method public void setAutofillOptions(@Nullable android.content.AutofillOptions);
method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
- field public static final String BLOB_STORE_SERVICE = "blob_store";
+ field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
field public static final String BUGREPORT_SERVICE = "bugreport";
field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture";
field public static final String DEVICE_IDLE_CONTROLLER = "deviceidle";
@@ -793,6 +793,60 @@ package android.content {
}
+package android.content.integrity {
+
+ public class AppIntegrityManager {
+ method @NonNull public android.content.integrity.RuleSet getCurrentRuleSet();
+ method @NonNull public String getCurrentRuleSetProvider();
+ method @NonNull public String getCurrentRuleSetVersion();
+ method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
+ field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
+ field public static final int STATUS_FAILURE = 1; // 0x1
+ field public static final int STATUS_SUCCESS = 0; // 0x0
+ }
+
+ public abstract class IntegrityFormula {
+ method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
+ method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
+ method @NonNull public android.content.integrity.IntegrityFormula equalTo(@NonNull String);
+ method @NonNull public android.content.integrity.IntegrityFormula equalTo(boolean);
+ method @NonNull public android.content.integrity.IntegrityFormula equalTo(long);
+ method @NonNull public android.content.integrity.IntegrityFormula greaterThan(long);
+ method @NonNull public android.content.integrity.IntegrityFormula greaterThanOrEquals(long);
+ method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
+ field @NonNull public static final android.content.integrity.IntegrityFormula APP_CERTIFICATE;
+ field @NonNull public static final android.content.integrity.IntegrityFormula INSTALLER_CERTIFICATE;
+ field @NonNull public static final android.content.integrity.IntegrityFormula INSTALLER_NAME;
+ field @NonNull public static final android.content.integrity.IntegrityFormula PACKAGE_NAME;
+ field @NonNull public static final android.content.integrity.IntegrityFormula PRE_INSTALLED;
+ field @NonNull public static final android.content.integrity.IntegrityFormula VERSION_CODE;
+ }
+
+ public final class Rule implements android.os.Parcelable {
+ ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
+ method public int describeContents();
+ method public int getEffect();
+ method @NonNull public android.content.integrity.IntegrityFormula getFormula();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
+ field public static final int DENY = 0; // 0x0
+ field public static final int FORCE_ALLOW = 1; // 0x1
+ }
+
+ public class RuleSet {
+ method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
+ method @NonNull public String getVersion();
+ }
+
+ public static class RuleSet.Builder {
+ ctor public RuleSet.Builder();
+ method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
+ method @NonNull public android.content.integrity.RuleSet build();
+ method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
+ }
+
+}
+
package android.content.pm {
public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
@@ -879,6 +933,7 @@ package android.content.pm {
field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
+ field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
field public static final int PROTECTION_FLAG_TELEPHONY = 4194304; // 0x400000
field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
@@ -1272,7 +1327,6 @@ package android.location {
public class Location implements android.os.Parcelable {
method public void makeComplete();
- method public void setExtraLocation(@Nullable String, @Nullable android.location.Location);
field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
}
@@ -1388,6 +1442,10 @@ package android.media {
method public int getMaxMacroBlocks();
}
+ public final class MediaRoute2Info implements android.os.Parcelable {
+ method @NonNull public String getOriginalId();
+ }
+
public final class PlaybackParams implements android.os.Parcelable {
method public int getAudioStretchMode();
method public android.media.PlaybackParams setAudioStretchMode(int);
@@ -1689,6 +1747,55 @@ package android.net {
field public static final int TRANSPORT_TEST = 7; // 0x7
}
+ public final class NetworkScore implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.net.NetworkScore.Metrics getEndToEndMetrics();
+ method @NonNull public android.net.NetworkScore.Metrics getLinkLayerMetrics();
+ method public int getRange();
+ method @IntRange(from=android.net.NetworkScore.UNKNOWN_SIGNAL_STRENGTH, to=android.net.NetworkScore.MAX_SIGNAL_STRENGTH) public int getSignalStrength();
+ method public boolean hasPolicy(int);
+ method public boolean isExiting();
+ method @NonNull public android.net.NetworkScore withExiting(boolean);
+ method @NonNull public android.net.NetworkScore withSignalStrength(@IntRange(from=android.net.NetworkScore.UNKNOWN_SIGNAL_STRENGTH) int);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
+ field public static final int MAX_SIGNAL_STRENGTH = 1000; // 0x3e8
+ field public static final int MIN_SIGNAL_STRENGTH = 0; // 0x0
+ field public static final int POLICY_DEFAULT_SUBSCRIPTION = 8; // 0x8
+ field public static final int POLICY_IGNORE_ON_WIFI = 4; // 0x4
+ field public static final int POLICY_LOCKDOWN_VPN = 1; // 0x1
+ field public static final int POLICY_VPN = 2; // 0x2
+ field public static final int RANGE_CLOSE = 1; // 0x1
+ field public static final int RANGE_LONG = 4; // 0x4
+ field public static final int RANGE_MEDIUM = 3; // 0x3
+ field public static final int RANGE_SHORT = 2; // 0x2
+ field public static final int RANGE_UNKNOWN = 0; // 0x0
+ field public static final int UNKNOWN_SIGNAL_STRENGTH = -1; // 0xffffffff
+ }
+
+ public static class NetworkScore.Builder {
+ ctor public NetworkScore.Builder();
+ method @NonNull public android.net.NetworkScore.Builder addPolicy(int);
+ method @NonNull public android.net.NetworkScore build();
+ method @NonNull public android.net.NetworkScore.Builder clearPolicy(int);
+ method @NonNull public android.net.NetworkScore.Builder setEndToEndMetrics(@NonNull android.net.NetworkScore.Metrics);
+ method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
+ method @NonNull public android.net.NetworkScore.Builder setLegacyScore(int);
+ method @NonNull public android.net.NetworkScore.Builder setLinkLayerMetrics(@NonNull android.net.NetworkScore.Metrics);
+ method @NonNull public android.net.NetworkScore.Builder setRange(int);
+ method @NonNull public android.net.NetworkScore.Builder setSignalStrength(@IntRange(from=android.net.NetworkScore.UNKNOWN_SIGNAL_STRENGTH, to=android.net.NetworkScore.MAX_SIGNAL_STRENGTH) int);
+ }
+
+ public static class NetworkScore.Metrics {
+ ctor public NetworkScore.Metrics(@IntRange(from=android.net.NetworkScore.Metrics.LATENCY_UNKNOWN) int, @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) int, @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) int);
+ field public static final int BANDWIDTH_UNKNOWN = -1; // 0xffffffff
+ field @NonNull public static final android.net.NetworkScore.Metrics EMPTY;
+ field public static final int LATENCY_UNKNOWN = -1; // 0xffffffff
+ field @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) public final int downlinkBandwidthKBps;
+ field @IntRange(from=android.net.NetworkScore.Metrics.LATENCY_UNKNOWN) public final int latencyMs;
+ field @IntRange(from=android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN) public final int uplinkBandwidthKBps;
+ }
+
public class NetworkStack {
field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
}
@@ -2662,9 +2769,9 @@ package android.permission {
}
public final class PermissionManager {
- method @IntRange(from=0) @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public int getRuntimePermissionsVersion();
+ method @IntRange(from=0) @RequiresPermission(anyOf={"android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY", "android.permission.UPGRADE_RUNTIME_PERMISSIONS"}) public int getRuntimePermissionsVersion();
method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
- method @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public void setRuntimePermissionsVersion(@IntRange(from=0) int);
+ method @RequiresPermission(anyOf={"android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY", "android.permission.UPGRADE_RUNTIME_PERMISSIONS"}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
}
public static final class PermissionManager.SplitPermissionInfo {
@@ -2846,6 +2953,7 @@ package android.provider {
field public static final String CMAS_SEVERITY = "cmas_severity";
field public static final String CMAS_URGENCY = "cmas_urgency";
field @NonNull public static final android.net.Uri CONTENT_URI;
+ field public static final String DATA_CODING_SCHEME = "dcs";
field public static final String DEFAULT_SORT_ORDER = "date DESC";
field public static final String DELIVERY_TIME = "date";
field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
@@ -2853,9 +2961,11 @@ package android.provider {
field public static final String GEOMETRIES = "geometries";
field public static final String LAC = "lac";
field public static final String LANGUAGE_CODE = "language";
+ field public static final String LOCATION_CHECK_TIME = "location_check_time";
field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
field public static final String MESSAGE_BODY = "body";
field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
+ field public static final String MESSAGE_DISPLAYED = "message_displayed";
field public static final String MESSAGE_FORMAT = "format";
field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
field public static final String MESSAGE_PRIORITY = "priority";
@@ -3050,6 +3160,7 @@ package android.service.autofill.augmented {
ctor public AugmentedAutofillService();
method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
+ method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
method public void onConnected();
method public void onDisconnected();
method public void onFillRequest(@NonNull android.service.autofill.augmented.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.augmented.FillController, @NonNull android.service.autofill.augmented.FillCallback);
@@ -3079,6 +3190,7 @@ package android.service.autofill.augmented {
public static final class FillResponse.Builder {
ctor public FillResponse.Builder();
method @NonNull public android.service.autofill.augmented.FillResponse build();
+ method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@Nullable android.os.Bundle);
method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@Nullable android.service.autofill.augmented.FillWindow);
method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@Nullable java.util.List<android.service.autofill.Dataset>);
}
@@ -3475,6 +3587,7 @@ package android.telephony {
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
+ method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
@@ -4867,6 +4980,11 @@ package android.view {
method public abstract String asyncImpl() default "";
}
+ public class SurfaceControlViewHost {
+ method public void addView(@NonNull android.view.View, android.view.WindowManager.LayoutParams);
+ method public void relayout(android.view.WindowManager.LayoutParams);
+ }
+
@UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
method public android.view.View getTooltipView();
method public boolean isAutofilled();
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
index 2537edaf9e81..a1278f358380 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -17,6 +17,8 @@
#define LOG_NDEBUG 0
#define LOG_TAG "BootAnimation"
+#include <vector>
+
#include <stdint.h>
#include <inttypes.h>
#include <sys/inotify.h>
@@ -40,10 +42,10 @@
#include <android-base/properties.h>
+#include <ui/DisplayConfig.h>
#include <ui/PixelFormat.h>
#include <ui/Rect.h>
#include <ui/Region.h>
-#include <ui/DisplayInfo.h>
#include <gui/ISurfaceComposer.h>
#include <gui/Surface.h>
@@ -80,6 +82,10 @@ static const char OEM_SHUTDOWNANIMATION_FILE[] = "/oem/media/shutdownanimation.z
static const char PRODUCT_SHUTDOWNANIMATION_FILE[] = "/product/media/shutdownanimation.zip";
static const char SYSTEM_SHUTDOWNANIMATION_FILE[] = "/system/media/shutdownanimation.zip";
+static constexpr const char* PRODUCT_USERSPACE_REBOOT_ANIMATION_FILE = "/product/media/userspace-reboot.zip";
+static constexpr const char* OEM_USERSPACE_REBOOT_ANIMATION_FILE = "/oem/media/userspace-reboot.zip";
+static constexpr const char* SYSTEM_USERSPACE_REBOOT_ANIMATION_FILE = "/system/media/userspace-reboot.zip";
+
static const char SYSTEM_DATA_DIR_PATH[] = "/data/system";
static const char SYSTEM_TIME_DIR_NAME[] = "time";
static const char SYSTEM_TIME_DIR_PATH[] = "/data/system/time";
@@ -277,16 +283,19 @@ status_t BootAnimation::readyToRun() {
mDisplayToken = SurfaceComposerClient::getInternalDisplayToken();
if (mDisplayToken == nullptr)
- return -1;
+ return NAME_NOT_FOUND;
+
+ DisplayConfig displayConfig;
+ const status_t error =
+ SurfaceComposerClient::getActiveDisplayConfig(mDisplayToken, &displayConfig);
+ if (error != NO_ERROR)
+ return error;
- DisplayInfo dinfo;
- status_t status = SurfaceComposerClient::getDisplayInfo(mDisplayToken, &dinfo);
- if (status)
- return -1;
+ const ui::Size& resolution = displayConfig.resolution;
// create the native surface
sp<SurfaceControl> control = session()->createSurface(String8("BootAnimation"),
- dinfo.w, dinfo.h, PIXEL_FORMAT_RGB_565);
+ resolution.getWidth(), resolution.getHeight(), PIXEL_FORMAT_RGB_565);
SurfaceComposerClient::Transaction t;
@@ -384,6 +393,16 @@ bool BootAnimation::preloadAnimation() {
return false;
}
+bool BootAnimation::findBootAnimationFileInternal(const std::vector<std::string> &files) {
+ for (const std::string& f : files) {
+ if (access(f.c_str(), R_OK) == 0) {
+ mZipFileName = f.c_str();
+ return true;
+ }
+ }
+ return false;
+}
+
void BootAnimation::findBootAnimationFile() {
// If the device has encryption turned on or is in process
// of being encrypted we show the encrypted boot animation.
@@ -394,28 +413,33 @@ void BootAnimation::findBootAnimationFile() {
!strcmp("trigger_restart_min_framework", decrypt);
if (!mShuttingDown && encryptedAnimation) {
- static const char* encryptedBootFiles[] =
- {PRODUCT_ENCRYPTED_BOOTANIMATION_FILE, SYSTEM_ENCRYPTED_BOOTANIMATION_FILE};
- for (const char* f : encryptedBootFiles) {
- if (access(f, R_OK) == 0) {
- mZipFileName = f;
- return;
- }
+ static const std::vector<std::string> encryptedBootFiles = {
+ PRODUCT_ENCRYPTED_BOOTANIMATION_FILE, SYSTEM_ENCRYPTED_BOOTANIMATION_FILE,
+ };
+ if (findBootAnimationFileInternal(encryptedBootFiles)) {
+ return;
}
}
const bool playDarkAnim = android::base::GetIntProperty("ro.boot.theme", 0) == 1;
- static const char* bootFiles[] =
- {APEX_BOOTANIMATION_FILE, playDarkAnim ? PRODUCT_BOOTANIMATION_DARK_FILE : PRODUCT_BOOTANIMATION_FILE,
- OEM_BOOTANIMATION_FILE, SYSTEM_BOOTANIMATION_FILE};
- static const char* shutdownFiles[] =
- {PRODUCT_SHUTDOWNANIMATION_FILE, OEM_SHUTDOWNANIMATION_FILE, SYSTEM_SHUTDOWNANIMATION_FILE, ""};
-
- for (const char* f : (!mShuttingDown ? bootFiles : shutdownFiles)) {
- if (access(f, R_OK) == 0) {
- mZipFileName = f;
- return;
- }
+ static const std::vector<std::string> bootFiles = {
+ APEX_BOOTANIMATION_FILE, playDarkAnim ? PRODUCT_BOOTANIMATION_DARK_FILE : PRODUCT_BOOTANIMATION_FILE,
+ OEM_BOOTANIMATION_FILE, SYSTEM_BOOTANIMATION_FILE
+ };
+ static const std::vector<std::string> shutdownFiles = {
+ PRODUCT_SHUTDOWNANIMATION_FILE, OEM_SHUTDOWNANIMATION_FILE, SYSTEM_SHUTDOWNANIMATION_FILE, ""
+ };
+ static const std::vector<std::string> userspaceRebootFiles = {
+ PRODUCT_USERSPACE_REBOOT_ANIMATION_FILE, OEM_USERSPACE_REBOOT_ANIMATION_FILE,
+ SYSTEM_USERSPACE_REBOOT_ANIMATION_FILE,
+ };
+
+ if (android::base::GetBoolProperty("sys.init.userspace_reboot.in_progress", false)) {
+ findBootAnimationFileInternal(userspaceRebootFiles);
+ } else if (mShuttingDown) {
+ findBootAnimationFileInternal(shutdownFiles);
+ } else {
+ findBootAnimationFileInternal(bootFiles);
}
}
diff --git a/cmds/bootanimation/BootAnimation.h b/cmds/bootanimation/BootAnimation.h
index dc19fb09ef1d..574d65e425cf 100644
--- a/cmds/bootanimation/BootAnimation.h
+++ b/cmds/bootanimation/BootAnimation.h
@@ -17,6 +17,8 @@
#ifndef ANDROID_BOOTANIMATION_H
#define ANDROID_BOOTANIMATION_H
+#include <vector>
+
#include <stdint.h>
#include <sys/types.h>
@@ -157,6 +159,7 @@ private:
bool parseAnimationDesc(Animation&);
bool preloadZip(Animation &animation);
void findBootAnimationFile();
+ bool findBootAnimationFileInternal(const std::vector<std::string>& files);
bool preloadAnimation();
void checkExit();
diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp
index ac24a553b555..ebed4ee2b82d 100644
--- a/cmds/statsd/Android.bp
+++ b/cmds/statsd/Android.bp
@@ -66,14 +66,11 @@ cc_defaults {
"src/config/ConfigManager.cpp",
"src/external/GpuStatsPuller.cpp",
"src/external/Perfetto.cpp",
- "src/external/PowerStatsPuller.cpp",
"src/external/PullResultReceiver.cpp",
"src/external/puller_util.cpp",
- "src/external/ResourceHealthManagerPuller.cpp",
"src/external/StatsCallbackPuller.cpp",
"src/external/StatsPuller.cpp",
"src/external/StatsPullerManager.cpp",
- "src/external/SubsystemSleepStatePuller.cpp",
"src/external/TrainInfoPuller.cpp",
"src/FieldValue.cpp",
"src/guardrail/StatsdStats.cpp",
@@ -113,7 +110,7 @@ cc_defaults {
],
cflags: [
- // "-DNEW_ENCODING_SCHEME",
+ "-DNEW_ENCODING_SCHEME",
],
local_include_dirs: [
@@ -122,21 +119,15 @@ cc_defaults {
static_libs: [
"android.frameworks.stats@1.0",
- "android.hardware.power.stats@1.0",
- "android.hardware.power@1.0",
- "android.hardware.power@1.1",
"libbase",
"libcutils",
- "libhealthhalutils",
"liblog",
- "libplatformprotos",
"libprotoutil",
"libstatslog",
"libstatssocket",
"libsysutils",
],
shared_libs: [
- "android.hardware.health@2.0",
"libbinder",
"libgraphicsenv",
"libhidlbase",
diff --git a/cmds/statsd/benchmark/log_event_benchmark.cpp b/cmds/statsd/benchmark/log_event_benchmark.cpp
index bdfdb2e00ac0..30dfe3279829 100644
--- a/cmds/statsd/benchmark/log_event_benchmark.cpp
+++ b/cmds/statsd/benchmark/log_event_benchmark.cpp
@@ -39,7 +39,7 @@ static void BM_LogEventCreation(benchmark::State& state) {
uint8_t msg[LOGGER_ENTRY_MAX_PAYLOAD];
size_t size = createAndParseStatsEvent(msg);
while (state.KeepRunning()) {
- benchmark::DoNotOptimize(LogEvent(msg, size, /*uid=*/ 1000));
+ benchmark::DoNotOptimize(LogEvent(msg, size, /*uid=*/ 1000, /*pid=*/ 1001));
}
}
BENCHMARK(BM_LogEventCreation);
diff --git a/cmds/statsd/src/HashableDimensionKey.cpp b/cmds/statsd/src/HashableDimensionKey.cpp
index 109785f649e4..5b75b97a0764 100644
--- a/cmds/statsd/src/HashableDimensionKey.cpp
+++ b/cmds/statsd/src/HashableDimensionKey.cpp
@@ -16,8 +16,6 @@
#define DEBUG false // STOPSHIP if true
#include "Log.h"
-#include <mutex>
-
#include "HashableDimensionKey.h"
#include "FieldValue.h"
diff --git a/cmds/statsd/src/StatsLogProcessor.cpp b/cmds/statsd/src/StatsLogProcessor.cpp
index 34818145a922..879b3c3e52aa 100644
--- a/cmds/statsd/src/StatsLogProcessor.cpp
+++ b/cmds/statsd/src/StatsLogProcessor.cpp
@@ -20,11 +20,7 @@
#include "StatsLogProcessor.h"
#include <android-base/file.h>
-#include <dirent.h>
#include <frameworks/base/cmds/statsd/src/active_config_list.pb.h>
-#include <log/log_event_list.h>
-#include <utils/Errors.h>
-#include <utils/SystemClock.h>
#include "android-base/stringprintf.h"
#include "atoms_info.h"
@@ -47,8 +43,6 @@ using android::util::FIELD_TYPE_INT64;
using android::util::FIELD_TYPE_MESSAGE;
using android::util::FIELD_TYPE_STRING;
using android::util::ProtoOutputStream;
-using std::make_unique;
-using std::unique_ptr;
using std::vector;
namespace android {
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp
index c1a8d69191d2..8a8c1e6ff0ac 100644
--- a/cmds/statsd/src/StatsService.cpp
+++ b/cmds/statsd/src/StatsService.cpp
@@ -27,13 +27,10 @@
#include "subscriber/SubscriberReporter.h"
#include <android-base/file.h>
-#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <binder/IPCThreadState.h>
-#include <binder/IServiceManager.h>
#include <binder/PermissionController.h>
#include <cutils/multiuser.h>
-#include <dirent.h>
#include <frameworks/base/cmds/statsd/src/statsd_config.pb.h>
#include <frameworks/base/cmds/statsd/src/uid_data.pb.h>
#include <private/android_filesystem_config.h>
@@ -42,17 +39,13 @@
#include <stdlib.h>
#include <sys/system_properties.h>
#include <unistd.h>
-#include <utils/Looper.h>
#include <utils/String16.h>
-#include <chrono>
using namespace android;
using android::base::StringPrintf;
using android::util::FIELD_COUNT_REPEATED;
-using android::util::FIELD_TYPE_INT64;
using android::util::FIELD_TYPE_MESSAGE;
-using android::util::ProtoReader;
namespace android {
namespace os {
@@ -77,6 +70,25 @@ static binder::Status exception(uint32_t code, const std::string& msg) {
return binder::Status::fromExceptionCode(code, String8(msg.c_str()));
}
+
+static bool checkPermission(const char* permission) {
+ sp<IStatsCompanionService> scs = getStatsCompanionService();
+ if (scs == nullptr) {
+ return false;
+ }
+
+ bool success;
+ pid_t pid = IPCThreadState::self()->getCallingPid();
+ uid_t uid = IPCThreadState::self()->getCallingUid();
+
+ binder::Status status = scs->checkPermission(String16(permission), pid, uid, &success);
+ if (!status.isOk()) {
+ return false;
+ }
+ return success;
+}
+
+
binder::Status checkUid(uid_t expectedUid) {
uid_t uid = IPCThreadState::self()->getCallingUid();
if (uid == expectedUid || uid == AID_ROOT) {
@@ -97,11 +109,11 @@ binder::Status checkDumpAndUsageStats(const String16& packageName) {
}
// Caller must be granted these permissions
- if (!checkCallingPermission(String16(kPermissionDump))) {
+ if (!checkPermission(kPermissionDump)) {
return exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d lacks permission %s", uid, pid, kPermissionDump));
}
- if (!checkCallingPermission(String16(kPermissionUsage))) {
+ if (!checkPermission(kPermissionUsage)) {
return exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d lacks permission %s", uid, pid, kPermissionUsage));
}
@@ -285,7 +297,7 @@ status_t StatsService::onTransact(uint32_t code, const Parcel& data, Parcel* rep
* TODO: Come up with a more robust method of enacting <serviceutils/PriorityDumper.h>.
*/
status_t StatsService::dump(int fd, const Vector<String16>& args) {
- if (!checkCallingPermission(String16(kPermissionDump))) {
+ if (!checkPermission(kPermissionDump)) {
return PERMISSION_DENIED;
}
int lastArg = args.size() - 1;
@@ -914,7 +926,7 @@ status_t StatsService::cmd_clear_puller_cache(int out) {
IPCThreadState* ipc = IPCThreadState::self();
VLOG("StatsService::cmd_clear_puller_cache with Pid %i, Uid %i",
ipc->getCallingPid(), ipc->getCallingUid());
- if (checkCallingPermission(String16(kPermissionDump))) {
+ if (checkPermission(kPermissionDump)) {
int cleared = mPullerManager->ForceClearPullerCache();
dprintf(out, "Puller removed %d cached data!\n", cleared);
return NO_ERROR;
@@ -927,7 +939,7 @@ status_t StatsService::cmd_print_logs(int out, const Vector<String8>& args) {
IPCThreadState* ipc = IPCThreadState::self();
VLOG("StatsService::cmd_print_logs with Pid %i, Uid %i", ipc->getCallingPid(),
ipc->getCallingUid());
- if (checkCallingPermission(String16(kPermissionDump))) {
+ if (checkPermission(kPermissionDump)) {
bool enabled = true;
if (args.size() >= 2) {
enabled = atoi(args[1].c_str()) != 0;
@@ -1314,12 +1326,12 @@ Status StatsService::sendBinaryPushStateChangedAtom(const android::String16& tra
// Root, system, and shell always have access
if (uid != AID_ROOT && uid != AID_SYSTEM && uid != AID_SHELL) {
// Caller must be granted these permissions
- if (!checkCallingPermission(String16(kPermissionDump))) {
+ if (!checkPermission(kPermissionDump)) {
return exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d lacks permission %s", uid, pid,
kPermissionDump));
}
- if (!checkCallingPermission(String16(kPermissionUsage))) {
+ if (!checkPermission(kPermissionUsage)) {
return exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d lacks permission %s", uid, pid,
kPermissionUsage));
@@ -1410,12 +1422,12 @@ Status StatsService::sendWatchdogRollbackOccurredAtom(const int32_t rollbackType
// Root, system, and shell always have access
if (uid != AID_ROOT && uid != AID_SYSTEM && uid != AID_SHELL) {
// Caller must be granted these permissions
- if (!checkCallingPermission(String16(kPermissionDump))) {
+ if (!checkPermission(kPermissionDump)) {
return exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d lacks permission %s", uid, pid,
kPermissionDump));
}
- if (!checkCallingPermission(String16(kPermissionUsage))) {
+ if (!checkPermission(kPermissionUsage)) {
return exception(binder::Status::EX_SECURITY,
StringPrintf("UID %d / PID %d lacks permission %s", uid, pid,
kPermissionUsage));
diff --git a/cmds/statsd/src/StatsService.h b/cmds/statsd/src/StatsService.h
index f2079d9f278f..3bfaa9842950 100644
--- a/cmds/statsd/src/StatsService.h
+++ b/cmds/statsd/src/StatsService.h
@@ -37,11 +37,9 @@
#include <binder/ParcelFileDescriptor.h>
#include <utils/Looper.h>
-#include <deque>
#include <mutex>
using namespace android;
-using namespace android::base;
using namespace android::binder;
using namespace android::frameworks::stats::V1_0;
using namespace android::os;
diff --git a/cmds/statsd/src/anomaly/AlarmMonitor.h b/cmds/statsd/src/anomaly/AlarmMonitor.h
index bca858e67f13..219695ef5e43 100644
--- a/cmds/statsd/src/anomaly/AlarmMonitor.h
+++ b/cmds/statsd/src/anomaly/AlarmMonitor.h
@@ -21,8 +21,6 @@
#include <android/os/IStatsCompanionService.h>
#include <utils/RefBase.h>
-#include <queue>
-#include <set>
#include <unordered_set>
#include <vector>
diff --git a/cmds/statsd/src/anomaly/AnomalyTracker.h b/cmds/statsd/src/anomaly/AnomalyTracker.h
index e9414735b82b..794ee988ef55 100644
--- a/cmds/statsd/src/anomaly/AnomalyTracker.h
+++ b/cmds/statsd/src/anomaly/AnomalyTracker.h
@@ -16,8 +16,6 @@
#pragma once
-#include <memory> // unique_ptr
-
#include <stdlib.h>
#include <gtest/gtest_prod.h>
diff --git a/cmds/statsd/src/anomaly/subscriber_util.cpp b/cmds/statsd/src/anomaly/subscriber_util.cpp
index 4c30c4cb223c..5a4a41d01de6 100644
--- a/cmds/statsd/src/anomaly/subscriber_util.cpp
+++ b/cmds/statsd/src/anomaly/subscriber_util.cpp
@@ -17,10 +17,6 @@
#define DEBUG false // STOPSHIP if true
#include "Log.h"
-#include <android/os/IIncidentManager.h>
-#include <android/os/IncidentReportArgs.h>
-#include <binder/IServiceManager.h>
-
#include "external/Perfetto.h"
#include "subscriber/IncidentdReporter.h"
#include "subscriber/SubscriberReporter.h"
diff --git a/cmds/statsd/src/atom_field_options.proto b/cmds/statsd/src/atom_field_options.proto
index 946c55087005..9c875ba7502d 100644
--- a/cmds/statsd/src/atom_field_options.proto
+++ b/cmds/statsd/src/atom_field_options.proto
@@ -24,46 +24,75 @@ option java_outer_classname = "AtomFieldOptions";
import "google/protobuf/descriptor.proto";
enum StateField {
- // Default value for fields that are not primary or exclusive state.
+ // Default value for fields that are not a primary or exclusive state field.
STATE_FIELD_UNSET = 0;
// Fields that represent the key that the state belongs to.
- PRIMARY = 1;
+ // Used on simple proto fields. Do not use on attribution chains.
+ PRIMARY_FIELD = 1;
// The field that represents the state. It's an exclusive state.
- EXCLUSIVE = 2;
-
+ EXCLUSIVE_STATE = 2;
+ // Used on an attribution chain field to indicate that the first uid is the
+ // primary field.
PRIMARY_FIELD_FIRST_UID = 3;
}
-// Used to annotate an atom that reprsents a state change. A state change atom must have exactly ONE
-// exclusive state field, and any number of primary key fields.
-// For example,
-// message UidProcessStateChanged {
-// optional int32 uid = 1 [(state_field_option).option = PRIMARY];
-// optional android.app.ProcessStateEnum state = 2 [(state_field_option).option = EXCLUSIVE];
+// Used to annotate an atom that represents a state change. A state change atom must have exactly
+// ONE exclusive state field, and any number of primary key fields. For example, message
+// UidProcessStateChanged {
+// optional int32 uid = 1 [(state_field_option).option = PRIMARY_FIELD];
+// optional android.app.ProcessStateEnum state = 2 [(state_field_option).option =
+// EXCLUSIVE_STATE];
// }
-// Each of this UidProcessStateChanged atom represents a state change for a specific uid.
+// Each UidProcessStateChanged atom event represents a state change for a specific uid.
// A new state automatically overrides the previous state.
//
-// If the atom has 2 or more primary fields, it means the combination of the primary fields are
-// the primary key.
+// If the atom has 2 or more primary fields, it means the combination of the
+// primary fields are the primary key.
// For example:
// message ThreadStateChanged {
-// optional int32 pid = 1 [(state_field_option).option = PRIMARY];
-// optional int32 tid = 2 [(state_field_option).option = PRIMARY];
-// optional int32 state = 3 [(state_field_option).option = EXCLUSIVE];
+// optional int32 pid = 1 [(state_field_option).option = PRIMARY_FIELD];
+// optional int32 tid = 2 [(state_field_option).option = PRIMARY_FIELD];
+// optional int32 state = 3 [(state_field_option).option = EXCLUSIVE_STATE];
// }
//
// Sometimes, there is no primary key field, when the state is GLOBAL.
// For example,
-//
// message ScreenStateChanged {
-// optional android.view.DisplayStateEnum state = 1 [(state_field_option).option = EXCLUSIVE];
+// optional android.view.DisplayStateEnum state = 1 [(state_field_option).option =
+// EXCLUSIVE_STATE];
// }
//
-// Only fields of primary types can be annotated. AttributionNode cannot be primary keys (and they
-// usually are not).
+// For state atoms with attribution chain, sometimes the primary key is the first uid in the chain.
+// For example:
+// message AudioStateChanged {
+// repeated AttributionNode attribution_node = 1
+// [(stateFieldOption).option = PRIMARY_KEY_FIRST_UID];
+//
+// enum State {
+// OFF = 0;
+// ON = 1;
+// // RESET indicates all audio stopped. Used when it (re)starts (e.g. after it crashes).
+// RESET = 2;
+// }
+// optional State state = 2 [(stateFieldOption).option = EXCLUSIVE_STATE];
+// }
message StateAtomFieldOption {
optional StateField option = 1 [default = STATE_FIELD_UNSET];
+
+ // Note: We cannot annotate directly on the enums because many enums are imported from other
+ // proto files in the platform. proto-lite cc library does not support annotations unfortunately
+
+ // Knowing the default state value allows state trackers to remove entries that become the
+ // default state. If there is no default value specified, the default value is unknown, and all
+ // states will be tracked in memory.
+ optional int32 default_state_value = 2;
+
+ // A reset state signals all states go to default value. For example, BLE reset means all active
+ // BLE scans are to be turned off.
+ optional int32 reset_state_value = 3;
+
+ // If the state change needs to count nesting.
+ optional bool nested = 4 [default = true];
}
// Used to generate StatsLog.write APIs.
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index 36c60f8cfaa5..fccefdc07363 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -78,111 +78,118 @@ message Atom {
// Pushed atoms start at 2.
oneof pushed {
// For StatsLog reasons, 1 is illegal and will not work. Must start at 2.
- BleScanStateChanged ble_scan_state_changed = 2;
- ProcessStateChanged process_state_changed = 3;
- BleScanResultReceived ble_scan_result_received = 4;
- SensorStateChanged sensor_state_changed = 5;
- GpsScanStateChanged gps_scan_state_changed = 6;
- SyncStateChanged sync_state_changed = 7;
- ScheduledJobStateChanged scheduled_job_state_changed = 8;
- ScreenBrightnessChanged screen_brightness_changed = 9;
- WakelockStateChanged wakelock_state_changed = 10;
- LongPartialWakelockStateChanged long_partial_wakelock_state_changed = 11;
- MobileRadioPowerStateChanged mobile_radio_power_state_changed = 12;
- WifiRadioPowerStateChanged wifi_radio_power_state_changed = 13;
- ActivityManagerSleepStateChanged activity_manager_sleep_state_changed = 14;
- MemoryFactorStateChanged memory_factor_state_changed = 15;
- ExcessiveCpuUsageReported excessive_cpu_usage_reported = 16;
- CachedKillReported cached_kill_reported = 17;
- ProcessMemoryStatReported process_memory_stat_reported = 18;
+ BleScanStateChanged ble_scan_state_changed = 2 [(module) = "bluetooth"];
+ ProcessStateChanged process_state_changed = 3 [(module) = "framework"];
+ BleScanResultReceived ble_scan_result_received = 4 [(module) = "bluetooth"];
+ SensorStateChanged sensor_state_changed = 5 [(module) = "framework"];
+ GpsScanStateChanged gps_scan_state_changed = 6 [(module) = "framework"];
+ SyncStateChanged sync_state_changed = 7 [(module) = "framework"];
+ ScheduledJobStateChanged scheduled_job_state_changed = 8 [(module) = "framework"];
+ ScreenBrightnessChanged screen_brightness_changed = 9 [(module) = "framework"];
+ WakelockStateChanged wakelock_state_changed = 10 [(module) = "framework"];
+ LongPartialWakelockStateChanged long_partial_wakelock_state_changed =
+ 11 [(module) = "framework"];
+ MobileRadioPowerStateChanged mobile_radio_power_state_changed = 12 [(module) = "framework"];
+ WifiRadioPowerStateChanged wifi_radio_power_state_changed = 13 [(module) = "framework"];
+ ActivityManagerSleepStateChanged activity_manager_sleep_state_changed =
+ 14 [(module) = "framework"];
+ MemoryFactorStateChanged memory_factor_state_changed = 15 [(module) = "framework"];
+ ExcessiveCpuUsageReported excessive_cpu_usage_reported = 16 [(module) = "framework"];
+ CachedKillReported cached_kill_reported = 17 [(module) = "framework"];
+ ProcessMemoryStatReported process_memory_stat_reported = 18 [(module) = "framework"];
LauncherUIChanged launcher_event = 19 [(module) = "sysui"];
- BatterySaverModeStateChanged battery_saver_mode_state_changed = 20;
- DeviceIdleModeStateChanged device_idle_mode_state_changed = 21;
- DeviceIdlingModeStateChanged device_idling_mode_state_changed = 22;
- AudioStateChanged audio_state_changed = 23;
- MediaCodecStateChanged media_codec_state_changed = 24;
- CameraStateChanged camera_state_changed = 25;
- FlashlightStateChanged flashlight_state_changed = 26;
- UidProcessStateChanged uid_process_state_changed = 27;
- ProcessLifeCycleStateChanged process_life_cycle_state_changed = 28;
- ScreenStateChanged screen_state_changed = 29;
- BatteryLevelChanged battery_level_changed = 30;
- ChargingStateChanged charging_state_changed = 31;
- PluggedStateChanged plugged_state_changed = 32;
- InteractiveStateChanged interactive_state_changed = 33;
+ BatterySaverModeStateChanged battery_saver_mode_state_changed = 20 [(module) = "framework"];
+ DeviceIdleModeStateChanged device_idle_mode_state_changed = 21 [(module) = "framework"];
+ DeviceIdlingModeStateChanged device_idling_mode_state_changed = 22 [(module) = "framework"];
+ AudioStateChanged audio_state_changed = 23 [(module) = "framework"];
+ MediaCodecStateChanged media_codec_state_changed = 24 [(module) = "framework"];
+ CameraStateChanged camera_state_changed = 25 [(module) = "framework"];
+ FlashlightStateChanged flashlight_state_changed = 26 [(module) = "framework"];
+ UidProcessStateChanged uid_process_state_changed = 27 [(module) = "framework"];
+ ProcessLifeCycleStateChanged process_life_cycle_state_changed = 28 [(module) = "framework"];
+ ScreenStateChanged screen_state_changed = 29 [(module) = "framework"];
+ BatteryLevelChanged battery_level_changed = 30 [(module) = "framework"];
+ ChargingStateChanged charging_state_changed = 31 [(module) = "framework"];
+ PluggedStateChanged plugged_state_changed = 32 [(module) = "framework"];
+ InteractiveStateChanged interactive_state_changed = 33 [(module) = "framework"];
TouchEventReported touch_event_reported = 34;
- WakeupAlarmOccurred wakeup_alarm_occurred = 35;
- KernelWakeupReported kernel_wakeup_reported = 36;
+ WakeupAlarmOccurred wakeup_alarm_occurred = 35 [(module) = "framework"];
+ KernelWakeupReported kernel_wakeup_reported = 36 [(module) = "framework"];
WifiLockStateChanged wifi_lock_state_changed = 37 [(module) = "wifi"];
WifiSignalStrengthChanged wifi_signal_strength_changed = 38 [(module) = "wifi"];
WifiScanStateChanged wifi_scan_state_changed = 39 [(module) = "wifi"];
- PhoneSignalStrengthChanged phone_signal_strength_changed = 40;
- SettingChanged setting_changed = 41;
- ActivityForegroundStateChanged activity_foreground_state_changed = 42;
- IsolatedUidChanged isolated_uid_changed = 43;
- PacketWakeupOccurred packet_wakeup_occurred = 44;
- WallClockTimeShifted wall_clock_time_shifted = 45;
+ PhoneSignalStrengthChanged phone_signal_strength_changed = 40 [(module) = "framework"];
+ SettingChanged setting_changed = 41 [(module) = "framework"];
+ ActivityForegroundStateChanged activity_foreground_state_changed =
+ 42 [(module) = "framework"];
+ IsolatedUidChanged isolated_uid_changed = 43 [(module) = "framework"];
+ PacketWakeupOccurred packet_wakeup_occurred = 44 [(module) = "framework"];
+ WallClockTimeShifted wall_clock_time_shifted = 45 [(module) = "framework"];
AnomalyDetected anomaly_detected = 46;
- AppBreadcrumbReported app_breadcrumb_reported = 47 [(allow_from_any_uid) = true];
- AppStartOccurred app_start_occurred = 48;
- AppStartCanceled app_start_canceled = 49;
- AppStartFullyDrawn app_start_fully_drawn = 50;
+ AppBreadcrumbReported app_breadcrumb_reported =
+ 47 [(allow_from_any_uid) = true, (module) = "framework"];
+ AppStartOccurred app_start_occurred = 48 [(module) = "framework"];
+ AppStartCanceled app_start_canceled = 49 [(module) = "framework"];
+ AppStartFullyDrawn app_start_fully_drawn = 50 [(module) = "framework"];
LmkKillOccurred lmk_kill_occurred = 51 [(module) = "lmkd"];
- PictureInPictureStateChanged picture_in_picture_state_changed = 52;
+ PictureInPictureStateChanged picture_in_picture_state_changed = 52 [(module) = "framework"];
WifiMulticastLockStateChanged wifi_multicast_lock_state_changed = 53 [(module) = "wifi"];
LmkStateChanged lmk_state_changed = 54 [(module) = "lmkd"];
- AppStartMemoryStateCaptured app_start_memory_state_captured = 55;
- ShutdownSequenceReported shutdown_sequence_reported = 56;
+ AppStartMemoryStateCaptured app_start_memory_state_captured = 55 [(module) = "framework"];
+ ShutdownSequenceReported shutdown_sequence_reported = 56 [(module) = "framework"];
BootSequenceReported boot_sequence_reported = 57;
DaveyOccurred davey_occurred = 58 [(allow_from_any_uid) = true];
- OverlayStateChanged overlay_state_changed = 59;
- ForegroundServiceStateChanged foreground_service_state_changed = 60;
+ OverlayStateChanged overlay_state_changed = 59 [(module) = "framework"];
+ ForegroundServiceStateChanged foreground_service_state_changed
+ = 60 [(module) = "framework"];
CallStateChanged call_state_changed = 61 [(module) = "telecom"];
KeyguardStateChanged keyguard_state_changed = 62 [(module) = "sysui"];
KeyguardBouncerStateChanged keyguard_bouncer_state_changed = 63 [(module) = "sysui"];
KeyguardBouncerPasswordEntered keyguard_bouncer_password_entered = 64 [(module) = "sysui"];
- AppDied app_died = 65;
- ResourceConfigurationChanged resource_configuration_changed = 66;
- BluetoothEnabledStateChanged bluetooth_enabled_state_changed = 67;
- BluetoothConnectionStateChanged bluetooth_connection_state_changed = 68;
- GpsSignalQualityChanged gps_signal_quality_changed = 69;
- UsbConnectorStateChanged usb_connector_state_changed = 70;
+ AppDied app_died = 65 [(module) = "framework"];
+ ResourceConfigurationChanged resource_configuration_changed = 66 [(module) = "framework"];
+ BluetoothEnabledStateChanged bluetooth_enabled_state_changed = 67 [(module) = "framework"];
+ BluetoothConnectionStateChanged bluetooth_connection_state_changed =
+ 68 [(module) = "bluetooth"];
+ GpsSignalQualityChanged gps_signal_quality_changed = 69 [(module) = "framework"];
+ UsbConnectorStateChanged usb_connector_state_changed = 70 [(module) = "framework"];
SpeakerImpedanceReported speaker_impedance_reported = 71;
HardwareFailed hardware_failed = 72;
PhysicalDropDetected physical_drop_detected = 73;
ChargeCyclesReported charge_cycles_reported = 74;
MobileConnectionStateChanged mobile_connection_state_changed = 75 [(module) = "telephony"];
MobileRadioTechnologyChanged mobile_radio_technology_changed = 76 [(module) = "telephony"];
- UsbDeviceAttached usb_device_attached = 77;
- AppCrashOccurred app_crash_occurred = 78;
- ANROccurred anr_occurred = 79;
- WTFOccurred wtf_occurred = 80;
- LowMemReported low_mem_reported = 81;
+ UsbDeviceAttached usb_device_attached = 77 [(module) = "framework"];
+ AppCrashOccurred app_crash_occurred = 78 [(module) = "framework"];
+ ANROccurred anr_occurred = 79 [(module) = "framework"];
+ WTFOccurred wtf_occurred = 80 [(module) = "framework"];
+ LowMemReported low_mem_reported = 81 [(module) = "framework"];
GenericAtom generic_atom = 82;
- KeyValuePairsAtom key_value_pairs_atom = 83 [(allow_from_any_uid) = true];
- VibratorStateChanged vibrator_state_changed = 84;
- DeferredJobStatsReported deferred_job_stats_reported = 85;
+ KeyValuePairsAtom key_value_pairs_atom =
+ 83 [(allow_from_any_uid) = true, (module) = "framework"];
+ VibratorStateChanged vibrator_state_changed = 84 [(module) = "framework"];
+ DeferredJobStatsReported deferred_job_stats_reported = 85 [(module) = "framework"];
ThermalThrottlingStateChanged thermal_throttling = 86 [deprecated=true];
- BiometricAcquired biometric_acquired = 87;
- BiometricAuthenticated biometric_authenticated = 88;
- BiometricErrorOccurred biometric_error_occurred = 89;
- UiEventReported ui_event_reported = 90;
+ BiometricAcquired biometric_acquired = 87 [(module) = "framework"];
+ BiometricAuthenticated biometric_authenticated = 88 [(module) = "framework"];
+ BiometricErrorOccurred biometric_error_occurred = 89 [(module) = "framework"];
+ UiEventReported ui_event_reported = 90 [(module) = "framework"];
BatteryHealthSnapshot battery_health_snapshot = 91;
SlowIo slow_io = 92;
BatteryCausedShutdown battery_caused_shutdown = 93;
- PhoneServiceStateChanged phone_service_state_changed = 94;
- PhoneStateChanged phone_state_changed = 95;
+ PhoneServiceStateChanged phone_service_state_changed = 94 [(module) = "framework"];
+ PhoneStateChanged phone_state_changed = 95 [(module) = "framework"];
UserRestrictionChanged user_restriction_changed = 96;
- SettingsUIChanged settings_ui_changed = 97;
- ConnectivityStateChanged connectivity_state_changed = 98;
+ SettingsUIChanged settings_ui_changed = 97 [(module) = "settings"];
+ ConnectivityStateChanged connectivity_state_changed = 98 [(module) = "framework"];
// TODO: service state change is very noisy shortly after boot, as well
// as at other transitions - coming out of doze, device plugged in, etc.
// Consider removing this if it becomes a problem
- ServiceStateChanged service_state_changed = 99;
- ServiceLaunchReported service_launch_reported = 100;
- FlagFlipUpdateOccurred flag_flip_update_occurred = 101;
- BinaryPushStateChanged binary_push_state_changed = 102;
- DevicePolicyEvent device_policy_event = 103;
+ ServiceStateChanged service_state_changed = 99 [(module) = "framework"];
+ ServiceLaunchReported service_launch_reported = 100 [(module) = "framework"];
+ FlagFlipUpdateOccurred flag_flip_update_occurred = 101 [(module) = "framework"];
+ BinaryPushStateChanged binary_push_state_changed = 102 [(module) = "framework"];
+ DevicePolicyEvent device_policy_event = 103 [(module) = "framework"];
DocsUIFileOperationCanceledReported docs_ui_file_op_canceled = 104 [(module) = "docsui"];
DocsUIFileOperationCopyMoveModeReported docs_ui_file_op_copy_move_mode_reported =
105 [(module) = "docsui"];
@@ -194,9 +201,9 @@ message Atom {
DocsUIRootVisitedReported docs_ui_root_visited = 110 [(module) = "docsui"];
DocsUIStartupMsReported docs_ui_startup_ms = 111 [(module) = "docsui"];
DocsUIUserActionReported docs_ui_user_action_reported = 112 [(module) = "docsui"];
- WifiEnabledStateChanged wifi_enabled_state_changed = 113;
- WifiRunningStateChanged wifi_running_state_changed = 114;
- AppCompacted app_compacted = 115;
+ WifiEnabledStateChanged wifi_enabled_state_changed = 113 [(module) = "framework"];
+ WifiRunningStateChanged wifi_running_state_changed = 114 [(module) = "framework"];
+ AppCompacted app_compacted = 115 [(module) = "framework"];
NetworkDnsEventReported network_dns_event_reported = 116 [(module) = "resolv"];
DocsUIPickerLaunchedFromReported docs_ui_picker_launched_from_reported =
117 [(module) = "docsui"];
@@ -204,80 +211,108 @@ message Atom {
DocsUISearchModeReported docs_ui_search_mode_reported = 119 [(module) = "docsui"];
DocsUISearchTypeReported docs_ui_search_type_reported = 120 [(module) = "docsui"];
DataStallEvent data_stall_event = 121 [(module) = "network_stack"];
- RescuePartyResetReported rescue_party_reset_reported = 122;
- SignedConfigReported signed_config_reported = 123;
- GnssNiEventReported gnss_ni_event_reported = 124;
- BluetoothLinkLayerConnectionEvent bluetooth_link_layer_connection_event = 125;
- BluetoothAclConnectionStateChanged bluetooth_acl_connection_state_changed = 126;
- BluetoothScoConnectionStateChanged bluetooth_sco_connection_state_changed = 127;
- AppDowngraded app_downgraded = 128;
+ RescuePartyResetReported rescue_party_reset_reported = 122 [(module) = "framework"];
+ SignedConfigReported signed_config_reported = 123 [(module) = "framework"];
+ GnssNiEventReported gnss_ni_event_reported = 124 [(module) = "framework"];
+ BluetoothLinkLayerConnectionEvent bluetooth_link_layer_connection_event =
+ 125 [(module) = "bluetooth"];
+ BluetoothAclConnectionStateChanged bluetooth_acl_connection_state_changed =
+ 126 [(module) = "bluetooth"];
+ BluetoothScoConnectionStateChanged bluetooth_sco_connection_state_changed =
+ 127 [(module) = "bluetooth"];
+ AppDowngraded app_downgraded = 128 [(module) = "framework"];
AppOptimizedAfterDowngraded app_optimized_after_downgraded = 129;
- LowStorageStateChanged low_storage_state_changed = 130;
- GnssNfwNotificationReported gnss_nfw_notification_reported = 131;
- GnssConfigurationReported gnss_configuration_reported = 132;
+ LowStorageStateChanged low_storage_state_changed = 130 [(module) = "framework"];
+ GnssNfwNotificationReported gnss_nfw_notification_reported = 131 [(module) = "framework"];
+ GnssConfigurationReported gnss_configuration_reported = 132 [(module) = "framework"];
UsbPortOverheatEvent usb_port_overheat_event_reported = 133;
- NfcErrorOccurred nfc_error_occurred = 134;
- NfcStateChanged nfc_state_changed = 135;
- NfcBeamOccurred nfc_beam_occurred = 136;
- NfcCardemulationOccurred nfc_cardemulation_occurred = 137;
- NfcTagOccurred nfc_tag_occurred = 138;
- NfcHceTransactionOccurred nfc_hce_transaction_occurred = 139;
- SeStateChanged se_state_changed = 140;
- SeOmapiReported se_omapi_reported = 141;
- BroadcastDispatchLatencyReported broadcast_dispatch_latency_reported = 142;
- AttentionManagerServiceResultReported attention_manager_service_result_reported = 143;
- AdbConnectionChanged adb_connection_changed = 144;
+ NfcErrorOccurred nfc_error_occurred = 134 [(module) = "nfc"];
+ NfcStateChanged nfc_state_changed = 135 [(module) = "nfc"];
+ NfcBeamOccurred nfc_beam_occurred = 136 [(module) = "nfc"];
+ NfcCardemulationOccurred nfc_cardemulation_occurred = 137 [(module) = "nfc"];
+ NfcTagOccurred nfc_tag_occurred = 138 [(module) = "nfc"];
+ NfcHceTransactionOccurred nfc_hce_transaction_occurred = 139 [(module) = "nfc"];
+ SeStateChanged se_state_changed = 140 [(module) = "secure_element"];
+ SeOmapiReported se_omapi_reported = 141 [(module) = "secure_element"];
+ BroadcastDispatchLatencyReported broadcast_dispatch_latency_reported =
+ 142 [(module) = "framework"];
+ AttentionManagerServiceResultReported attention_manager_service_result_reported =
+ 143 [(module) = "framework"];
+ AdbConnectionChanged adb_connection_changed = 144 [(module) = "framework"];
SpeechDspStatReported speech_dsp_stat_reported = 145;
- UsbContaminantReported usb_contaminant_reported = 146;
- WatchdogRollbackOccurred watchdog_rollback_occurred = 147;
- BiometricSystemHealthIssueDetected biometric_system_health_issue_detected = 148;
+ UsbContaminantReported usb_contaminant_reported = 146 [(module) = "framework"];
+ WatchdogRollbackOccurred watchdog_rollback_occurred = 147 [(module) = "framework"];
+ BiometricSystemHealthIssueDetected biometric_system_health_issue_detected =
+ 148 [(module) = "framework"];
BubbleUIChanged bubble_ui_changed = 149 [(module) = "sysui"];
- ScheduledJobConstraintChanged scheduled_job_constraint_changed = 150;
- BluetoothActiveDeviceChanged bluetooth_active_device_changed = 151;
- BluetoothA2dpPlaybackStateChanged bluetooth_a2dp_playback_state_changed = 152;
- BluetoothA2dpCodecConfigChanged bluetooth_a2dp_codec_config_changed = 153;
- BluetoothA2dpCodecCapabilityChanged bluetooth_a2dp_codec_capability_changed = 154;
- BluetoothA2dpAudioUnderrunReported bluetooth_a2dp_audio_underrun_reported = 155;
- BluetoothA2dpAudioOverrunReported bluetooth_a2dp_audio_overrun_reported = 156;
- BluetoothDeviceRssiReported bluetooth_device_rssi_reported = 157;
- BluetoothDeviceFailedContactCounterReported bluetooth_device_failed_contact_counter_reported = 158;
- BluetoothDeviceTxPowerLevelReported bluetooth_device_tx_power_level_reported = 159;
- BluetoothHciTimeoutReported bluetooth_hci_timeout_reported = 160;
- BluetoothQualityReportReported bluetooth_quality_report_reported = 161;
- BluetoothDeviceInfoReported bluetooth_device_info_reported = 162;
- BluetoothRemoteVersionInfoReported bluetooth_remote_version_info_reported = 163;
- BluetoothSdpAttributeReported bluetooth_sdp_attribute_reported = 164;
- BluetoothBondStateChanged bluetooth_bond_state_changed = 165;
- BluetoothClassicPairingEventReported bluetooth_classic_pairing_event_reported = 166;
- BluetoothSmpPairingEventReported bluetooth_smp_pairing_event_reported = 167;
- ScreenTimeoutExtensionReported screen_timeout_extension_reported = 168;
- ProcessStartTime process_start_time = 169;
+ ScheduledJobConstraintChanged scheduled_job_constraint_changed =
+ 150 [(module) = "framework"];
+ BluetoothActiveDeviceChanged bluetooth_active_device_changed =
+ 151 [(module) = "bluetooth"];
+ BluetoothA2dpPlaybackStateChanged bluetooth_a2dp_playback_state_changed =
+ 152 [(module) = "bluetooth"];
+ BluetoothA2dpCodecConfigChanged bluetooth_a2dp_codec_config_changed =
+ 153 [(module) = "bluetooth"];
+ BluetoothA2dpCodecCapabilityChanged bluetooth_a2dp_codec_capability_changed =
+ 154 [(module) = "bluetooth"];
+ BluetoothA2dpAudioUnderrunReported bluetooth_a2dp_audio_underrun_reported =
+ 155 [(module) = "bluetooth"];
+ BluetoothA2dpAudioOverrunReported bluetooth_a2dp_audio_overrun_reported =
+ 156 [(module) = "bluetooth"];
+ BluetoothDeviceRssiReported bluetooth_device_rssi_reported =
+ 157 [(module) = "bluetooth"];
+ BluetoothDeviceFailedContactCounterReported
+ bluetooth_device_failed_contact_counter_reported = 158 [(module) = "bluetooth"];
+ BluetoothDeviceTxPowerLevelReported bluetooth_device_tx_power_level_reported =
+ 159 [(module) = "bluetooth"];
+ BluetoothHciTimeoutReported bluetooth_hci_timeout_reported =
+ 160 [(module) = "bluetooth"];
+ BluetoothQualityReportReported bluetooth_quality_report_reported =
+ 161 [(module) = "bluetooth"];
+ BluetoothDeviceInfoReported bluetooth_device_info_reported =
+ 162 [(module) = "bluetooth"];
+ BluetoothRemoteVersionInfoReported bluetooth_remote_version_info_reported =
+ 163 [(module) = "bluetooth"];
+ BluetoothSdpAttributeReported bluetooth_sdp_attribute_reported =
+ 164 [(module) = "bluetooth"];
+ BluetoothBondStateChanged bluetooth_bond_state_changed =
+ 165 [(module) = "bluetooth"];
+ BluetoothClassicPairingEventReported bluetooth_classic_pairing_event_reported =
+ 166 [(module) = "bluetooth"];
+ BluetoothSmpPairingEventReported bluetooth_smp_pairing_event_reported =
+ 167 [(module) = "bluetooth"];
+ ScreenTimeoutExtensionReported screen_timeout_extension_reported =
+ 168 [(module) = "framework"];
+ ProcessStartTime process_start_time = 169 [(module) = "framework"];
PermissionGrantRequestResultReported permission_grant_request_result_reported =
- 170 [(module) = "permissioncontroller"];
+ 170 [(module) = "permissioncontroller"];
BluetoothSocketConnectionStateChanged bluetooth_socket_connection_state_changed = 171;
DeviceIdentifierAccessDenied device_identifier_access_denied =
172 [(module) = "telephony_common"];
- BubbleDeveloperErrorReported bubble_developer_error_reported = 173;
- AssistGestureStageReported assist_gesture_stage_reported = 174;
- AssistGestureFeedbackReported assist_gesture_feedback_reported = 175;
- AssistGestureProgressReported assist_gesture_progress_reported = 176;
- TouchGestureClassified touch_gesture_classified = 177;
- HiddenApiUsed hidden_api_used = 178 [(allow_from_any_uid) = true];
+ BubbleDeveloperErrorReported bubble_developer_error_reported = 173 [(module) = "framework"];
+ AssistGestureStageReported assist_gesture_stage_reported = 174 [(module) = "sysui"];
+ AssistGestureFeedbackReported assist_gesture_feedback_reported = 175 [(module) = "sysui"];
+ AssistGestureProgressReported assist_gesture_progress_reported = 176 [(module) = "sysui"];
+ TouchGestureClassified touch_gesture_classified = 177 [(module) = "framework"];
+ HiddenApiUsed hidden_api_used = 178 [(allow_from_any_uid) = true, (module) = "framework"];
StyleUIChanged style_ui_changed = 179 [(module) = "sysui"];
PrivacyIndicatorsInteracted privacy_indicators_interacted =
- 180 [(module) = "permissioncontroller"];
- AppInstallOnExternalStorageReported app_install_on_external_storage_reported = 181;
+ 180 [(module) = "permissioncontroller"];
+ AppInstallOnExternalStorageReported app_install_on_external_storage_reported =
+ 181 [(module) = "framework"];
NetworkStackReported network_stack_reported = 182 [(module) = "network_stack"];
- AppMovedStorageReported app_moved_storage_reported = 183;
- BiometricEnrolled biometric_enrolled = 184;
- SystemServerWatchdogOccurred system_server_watchdog_occurred = 185;
- TombStoneOccurred tomb_stone_occurred = 186;
- BluetoothClassOfDeviceReported bluetooth_class_of_device_reported = 187;
+ AppMovedStorageReported app_moved_storage_reported = 183 [(module) = "framework"];
+ BiometricEnrolled biometric_enrolled = 184 [(module) = "framework"];
+ SystemServerWatchdogOccurred system_server_watchdog_occurred = 185 [(module) = "framework"];
+ TombStoneOccurred tomb_stone_occurred = 186 [(module) = "framework"];
+ BluetoothClassOfDeviceReported bluetooth_class_of_device_reported =
+ 187 [(module) = "bluetooth"];
IntelligenceEventReported intelligence_event_reported =
- 188 [(module) = "intelligence"];
- ThermalThrottlingSeverityStateChanged thermal_throttling_severity_state_changed = 189;
+ 188 [(module) = "intelligence"];
+ ThermalThrottlingSeverityStateChanged thermal_throttling_severity_state_changed =
+ 189 [(module) = "framework"];
RoleRequestResultReported role_request_result_reported =
- 190 [(module) = "permissioncontroller"];
+ 190 [(module) = "permissioncontroller"];
MediametricsAudiopolicyReported mediametrics_audiopolicy_reported = 191;
MediametricsAudiorecordReported mediametrics_audiorecord_reported = 192;
MediametricsAudiothreadReported mediametrics_audiothread_reported = 193;
@@ -292,38 +327,40 @@ message Atom {
CarPowerStateChanged car_power_state_changed = 203 [(module) = "car"];
GarageModeInfo garage_mode_info = 204 [(module) = "car"];
TestAtomReported test_atom_reported = 205 [(module) = "cts"];
- ContentCaptureCallerMismatchReported content_capture_caller_mismatch_reported = 206;
- ContentCaptureServiceEvents content_capture_service_events = 207;
- ContentCaptureSessionEvents content_capture_session_events = 208;
- ContentCaptureFlushed content_capture_flushed = 209;
- LocationManagerApiUsageReported location_manager_api_usage_reported = 210;
+ ContentCaptureCallerMismatchReported content_capture_caller_mismatch_reported =
+ 206 [(module) = "framework"];
+ ContentCaptureServiceEvents content_capture_service_events = 207 [(module) = "framework"];
+ ContentCaptureSessionEvents content_capture_session_events = 208 [(module) = "framework"];
+ ContentCaptureFlushed content_capture_flushed = 209 [(module) = "framework"];
+ LocationManagerApiUsageReported location_manager_api_usage_reported =
+ 210 [(module) = "framework"];
ReviewPermissionsFragmentResultReported review_permissions_fragment_result_reported =
- 211 [(module) = "permissioncontroller"];
+ 211 [(module) = "permissioncontroller"];
RuntimePermissionsUpgradeResult runtime_permissions_upgrade_result =
- 212 [(module) = "permissioncontroller"];
+ 212 [(module) = "permissioncontroller"];
GrantPermissionsActivityButtonActions grant_permissions_activity_button_actions =
- 213 [(module) = "permissioncontroller"];
+ 213 [(module) = "permissioncontroller"];
LocationAccessCheckNotificationAction location_access_check_notification_action =
- 214 [(module) = "permissioncontroller"];
+ 214 [(module) = "permissioncontroller"];
AppPermissionFragmentActionReported app_permission_fragment_action_reported =
- 215 [(module) = "permissioncontroller"];
+ 215 [(module) = "permissioncontroller"];
AppPermissionFragmentViewed app_permission_fragment_viewed =
- 216 [(module) = "permissioncontroller"];
+ 216 [(module) = "permissioncontroller"];
AppPermissionsFragmentViewed app_permissions_fragment_viewed =
- 217 [(module) = "permissioncontroller"];
+ 217 [(module) = "permissioncontroller"];
PermissionAppsFragmentViewed permission_apps_fragment_viewed =
- 218 [(module) = "permissioncontroller"];
+ 218 [(module) = "permissioncontroller"];
TextSelectionEvent text_selection_event = 219 [(module) = "textclassifier"];
TextLinkifyEvent text_linkify_event = 220 [(module) = "textclassifier"];
ConversationActionsEvent conversation_actions_event = 221 [(module) = "textclassifier"];
LanguageDetectionEvent language_detection_event = 222 [(module) = "textclassifier"];
- ExclusionRectStateChanged exclusion_rect_state_changed = 223;
+ ExclusionRectStateChanged exclusion_rect_state_changed = 223 [(module) = "framework"];
BackGesture back_gesture_reported_reported = 224 [(module) = "sysui"];
UpdateEngineUpdateAttemptReported update_engine_update_attempt_reported = 225;
UpdateEngineSuccessfulUpdateReported update_engine_successful_update_reported = 226;
- CameraActionEvent camera_action_event = 227;
+ CameraActionEvent camera_action_event = 227 [(module) = "framework"];
AppCompatibilityChangeReported app_compatibility_change_reported =
- 228 [(allow_from_any_uid) = true];
+ 228 [(allow_from_any_uid) = true, (module) = "framework"];
PerfettoUploaded perfetto_uploaded = 229 [(module) = "perfetto"];
VmsClientConnectionStateChanged vms_client_connection_state_changed =
230 [(module) = "car"];
@@ -334,96 +371,103 @@ message Atom {
MediaProviderSchemaChange media_provider_schema_change = 236 [(module) = "mediaprovider"];
MediaProviderIdleMaintenance media_provider_idle_maintenance =
237 [(module) = "mediaprovider"];
- RebootEscrowRecoveryReported reboot_escrow_recovery_reported = 238;
- BootTimeEventDuration boot_time_event_duration_reported = 239;
- BootTimeEventElapsedTime boot_time_event_elapsed_time_reported = 240;
+ RebootEscrowRecoveryReported reboot_escrow_recovery_reported = 238 [(module) = "framework"];
+ BootTimeEventDuration boot_time_event_duration_reported = 239 [(module) = "framework"];
+ BootTimeEventElapsedTime boot_time_event_elapsed_time_reported =
+ 240 [(module) = "framework"];
BootTimeEventUtcTime boot_time_event_utc_time_reported = 241;
- BootTimeEventErrorCode boot_time_event_error_code_reported = 242;
+ BootTimeEventErrorCode boot_time_event_error_code_reported = 242 [(module) = "framework"];
UserspaceRebootReported userspace_reboot_reported = 243;
- NotificationReported notification_reported = 244;
+ NotificationReported notification_reported = 244 [(module) = "framework"];
NotificationPanelReported notification_panel_reported = 245;
NotificationChannelModified notification_panel_modified = 246;
- IntegrityCheckResultReported integrity_check_result_reported = 247;
- IntegrityRulesPushed integrity_rules_pushed = 248;
+ IntegrityCheckResultReported integrity_check_result_reported = 247 [(module) = "framework"];
+ IntegrityRulesPushed integrity_rules_pushed = 248 [(module) = "framework"];
CellBroadcastMessageReported cb_message_reported =
249 [(module) = "cellbroadcast"];
CellBroadcastMessageError cb_message_error =
250 [(module) = "cellbroadcast"];
+ WifiHealthStatReported wifi_health_stat_reported = 251 [(module) = "wifi"];
+ WifiFailureStatReported wifi_failure_stat_reported = 252 [(module) = "wifi"];
+ WifiConnectionResultReported wifi_connection_result_reported = 253 [(module) = "wifi"];
}
// Pulled events will start at field 10000.
// Next: 10071
oneof pulled {
- WifiBytesTransfer wifi_bytes_transfer = 10000;
- WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001;
- MobileBytesTransfer mobile_bytes_transfer = 10002;
- MobileBytesTransferByFgBg mobile_bytes_transfer_by_fg_bg = 10003;
- BluetoothBytesTransfer bluetooth_bytes_transfer = 10006;
- KernelWakelock kernel_wakelock = 10004;
+ WifiBytesTransfer wifi_bytes_transfer = 10000 [(module) = "framework"];
+ WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001 [(module) = "framework"];
+ MobileBytesTransfer mobile_bytes_transfer = 10002 [(module) = "framework"];
+ MobileBytesTransferByFgBg mobile_bytes_transfer_by_fg_bg = 10003 [(module) = "framework"];
+ BluetoothBytesTransfer bluetooth_bytes_transfer = 10006 [(module) = "framework"];
+ KernelWakelock kernel_wakelock = 10004 [(module) = "framework"];
SubsystemSleepState subsystem_sleep_state = 10005;
- CpuTimePerFreq cpu_time_per_freq = 10008;
- CpuTimePerUid cpu_time_per_uid = 10009;
- CpuTimePerUidFreq cpu_time_per_uid_freq = 10010;
- WifiActivityInfo wifi_activity_info = 10011;
- ModemActivityInfo modem_activity_info = 10012;
- BluetoothActivityInfo bluetooth_activity_info = 10007;
- ProcessMemoryState process_memory_state = 10013;
- SystemElapsedRealtime system_elapsed_realtime = 10014;
- SystemUptime system_uptime = 10015;
- CpuActiveTime cpu_active_time = 10016;
- CpuClusterTime cpu_cluster_time = 10017;
+ CpuTimePerFreq cpu_time_per_freq = 10008 [(module) = "framework"];
+ CpuTimePerUid cpu_time_per_uid = 10009 [(module) = "framework"];
+ CpuTimePerUidFreq cpu_time_per_uid_freq = 10010 [(module) = "framework"];
+ WifiActivityInfo wifi_activity_info = 10011 [(module) = "framework"];
+ ModemActivityInfo modem_activity_info = 10012 [(module) = "framework"];
+ BluetoothActivityInfo bluetooth_activity_info = 10007 [(module) = "framework"];
+ ProcessMemoryState process_memory_state = 10013 [(module) = "framework"];
+ SystemElapsedRealtime system_elapsed_realtime = 10014 [(module) = "framework"];
+ SystemUptime system_uptime = 10015 [(module) = "framework"];
+ CpuActiveTime cpu_active_time = 10016 [(module) = "framework"];
+ CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework"];
DiskSpace disk_space = 10018 [deprecated=true];
- RemainingBatteryCapacity remaining_battery_capacity = 10019;
- FullBatteryCapacity full_battery_capacity = 10020;
- Temperature temperature = 10021;
- BinderCalls binder_calls = 10022;
- BinderCallsExceptions binder_calls_exceptions = 10023;
- LooperStats looper_stats = 10024;
- DiskStats disk_stats = 10025;
- DirectoryUsage directory_usage = 10026;
- AppSize app_size = 10027;
- CategorySize category_size = 10028;
- ProcStats proc_stats = 10029;
- BatteryVoltage battery_voltage = 10030;
- NumFingerprintsEnrolled num_fingerprints_enrolled = 10031;
- DiskIo disk_io = 10032;
- PowerProfile power_profile = 10033;
- ProcStatsPkgProc proc_stats_pkg_proc = 10034;
- ProcessCpuTime process_cpu_time = 10035;
- CpuTimePerThreadFreq cpu_time_per_thread_freq = 10037;
+ RemainingBatteryCapacity remaining_battery_capacity = 10019 [(module) = "framework"];
+ FullBatteryCapacity full_battery_capacity = 10020 [(module) = "framework"];
+ Temperature temperature = 10021 [(module) = "framework"];
+ BinderCalls binder_calls = 10022 [(module) = "framework"];
+ BinderCallsExceptions binder_calls_exceptions = 10023 [(module) = "framework"];
+ LooperStats looper_stats = 10024 [(module) = "framework"];
+ DiskStats disk_stats = 10025 [(module) = "framework"];
+ DirectoryUsage directory_usage = 10026 [(module) = "framework"];
+ AppSize app_size = 10027 [(module) = "framework"];
+ CategorySize category_size = 10028 [(module) = "framework"];
+ ProcStats proc_stats = 10029 [(module) = "framework"];
+ BatteryVoltage battery_voltage = 10030 [(module) = "framework"];
+ NumFingerprintsEnrolled num_fingerprints_enrolled = 10031 [(module) = "framework"];
+ DiskIo disk_io = 10032 [(module) = "framework"];
+ PowerProfile power_profile = 10033 [(module) = "framework"];
+ ProcStatsPkgProc proc_stats_pkg_proc = 10034 [(module) = "framework"];
+ ProcessCpuTime process_cpu_time = 10035 [(module) = "framework"];
+ CpuTimePerThreadFreq cpu_time_per_thread_freq = 10037 [(module) = "framework"];
OnDevicePowerMeasurement on_device_power_measurement = 10038;
- DeviceCalculatedPowerUse device_calculated_power_use = 10039;
- DeviceCalculatedPowerBlameUid device_calculated_power_blame_uid = 10040;
- DeviceCalculatedPowerBlameOther device_calculated_power_blame_other = 10041;
- ProcessMemoryHighWaterMark process_memory_high_water_mark = 10042;
- BatteryLevel battery_level = 10043;
- BuildInformation build_information = 10044;
- BatteryCycleCount battery_cycle_count = 10045;
- DebugElapsedClock debug_elapsed_clock = 10046;
- DebugFailingElapsedClock debug_failing_elapsed_clock = 10047;
- NumFacesEnrolled num_faces_enrolled = 10048;
- RoleHolder role_holder = 10049;
- DangerousPermissionState dangerous_permission_state = 10050;
+ DeviceCalculatedPowerUse device_calculated_power_use = 10039 [(module) = "framework"];
+ DeviceCalculatedPowerBlameUid device_calculated_power_blame_uid =
+ 10040 [(module) = "framework"];
+ DeviceCalculatedPowerBlameOther device_calculated_power_blame_other =
+ 10041 [(module) = "framework"];
+ ProcessMemoryHighWaterMark process_memory_high_water_mark = 10042 [(module) = "framework"];
+ BatteryLevel battery_level = 10043 [(module) = "framework"];
+ BuildInformation build_information = 10044 [(module) = "framework"];
+ BatteryCycleCount battery_cycle_count = 10045 [(module) = "framework"];
+ DebugElapsedClock debug_elapsed_clock = 10046 [(module) = "framework"];
+ DebugFailingElapsedClock debug_failing_elapsed_clock = 10047 [(module) = "framework"];
+ NumFacesEnrolled num_faces_enrolled = 10048 [(module) = "framework"];
+ RoleHolder role_holder = 10049 [(module) = "framework"];
+ DangerousPermissionState dangerous_permission_state = 10050 [(module) = "framework"];
TrainInfo train_info = 10051;
- TimeZoneDataInfo time_zone_data_info = 10052;
- ExternalStorageInfo external_storage_info = 10053;
+ TimeZoneDataInfo time_zone_data_info = 10052 [(module) = "framework"];
+ ExternalStorageInfo external_storage_info = 10053 [(module) = "framework"];
GpuStatsGlobalInfo gpu_stats_global_info = 10054;
GpuStatsAppInfo gpu_stats_app_info = 10055;
- SystemIonHeapSize system_ion_heap_size = 10056 [deprecated = true];
- AppsOnExternalStorageInfo apps_on_external_storage_info = 10057;
- FaceSettings face_settings = 10058;
- CoolingDevice cooling_device = 10059;
- AppOps app_ops = 10060;
- ProcessSystemIonHeapSize process_system_ion_heap_size = 10061;
+ SystemIonHeapSize system_ion_heap_size = 10056 [deprecated = true, (module) = "framework"];
+ AppsOnExternalStorageInfo apps_on_external_storage_info = 10057 [(module) = "framework"];
+ FaceSettings face_settings = 10058 [(module) = "framework"];
+ CoolingDevice cooling_device = 10059 [(module) = "framework"];
+ AppOps app_ops = 10060 [(module) = "framework"];
+ ProcessSystemIonHeapSize process_system_ion_heap_size = 10061 [(module) = "framework"];
SurfaceflingerStatsGlobalInfo surfaceflinger_stats_global_info = 10062;
SurfaceflingerStatsLayerInfo surfaceflinger_stats_layer_info = 10063;
- ProcessMemorySnapshot process_memory_snapshot = 10064;
+ ProcessMemorySnapshot process_memory_snapshot = 10064 [(module) = "framework"];
VmsClientStats vms_client_stats = 10065 [(module) = "car"];
- NotificationRemoteViews notification_remote_views = 10066;
- DangerousPermissionStateSampled dangerous_permission_state_sampled = 10067;
+ NotificationRemoteViews notification_remote_views = 10066 [(module) = "framework"];
+ DangerousPermissionStateSampled dangerous_permission_state_sampled =
+ 10067 [(module) = "framework"];
GraphicsStats graphics_stats = 10068;
- RuntimeAppOpsAccess runtime_app_ops_access = 10069;
- IonHeapSize ion_heap_size = 10070;
+ RuntimeAppOpAccess runtime_app_op_access = 10069 [(module) = "framework"];
+ IonHeapSize ion_heap_size = 10070 [(module) = "framework"];
}
// DO NOT USE field numbers above 100,000 in AOSP.
@@ -519,7 +563,8 @@ message ThermalThrottlingStateChanged {
*/
message ScreenStateChanged {
// New screen state, from frameworks/base/core/proto/android/view/enums.proto.
- optional android.view.DisplayStateEnum state = 1 [(state_field_option).option = EXCLUSIVE];
+ optional android.view.DisplayStateEnum state = 1
+ [(state_field_option).option = EXCLUSIVE_STATE, (state_field_option).nested = false];
}
/**
@@ -530,10 +575,11 @@ message ScreenStateChanged {
* frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java
*/
message UidProcessStateChanged {
- optional int32 uid = 1 [(state_field_option).option = PRIMARY, (is_uid) = true];
+ optional int32 uid = 1 [(state_field_option).option = PRIMARY_FIELD, (is_uid) = true];
// The state, from frameworks/base/core/proto/android/app/enums.proto.
- optional android.app.ProcessStateEnum state = 2 [(state_field_option).option = EXCLUSIVE];
+ optional android.app.ProcessStateEnum state = 2
+ [(state_field_option).option = EXCLUSIVE_STATE, (state_field_option).nested = false];
}
/**
@@ -565,7 +611,7 @@ message ActivityManagerSleepStateChanged {
ASLEEP = 1;
AWAKE = 2;
}
- optional State state = 1 [(state_field_option).option = EXCLUSIVE];
+ optional State state = 1 [(state_field_option).option = EXCLUSIVE_STATE];
}
/**
@@ -584,7 +630,7 @@ message MemoryFactorStateChanged {
CRITICAL = 4; // critical memory.
}
- optional State factor = 1 [(state_field_option).option = EXCLUSIVE];
+ optional State factor = 1 [(state_field_option).option = EXCLUSIVE_STATE];
}
/**
@@ -617,6 +663,81 @@ message CachedKillReported {
}
/**
+ * Logs the change in wifi health.
+ *
+ * Logged from:
+ * frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiDataStall.java
+ */
+message WifiHealthStatReported {
+ // duration this stat is obtained over in milliseconds
+ optional int32 duration_millis = 1;
+ // whether wifi is classified as sufficient for the user's data traffic, determined
+ // by whether the calculated throughput exceeds the average demand within |duration_millis|
+ optional bool is_sufficient = 2;
+ // whether the calculated throughput is exceeds the minimum required for typical usage
+ optional bool is_throughput_good = 3;
+ // whether cellular data is available
+ optional bool is_cell_data_available = 4;
+ // the WLAN channel the connected network is on (ie. 2412)
+ optional int32 frequency = 5;
+}
+
+/**
+ * Logged when wifi detects a significant change in connection failure rate.
+ *
+ * Logged from: frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiHealthMonitor.java
+ *
+ */
+message WifiFailureStatReported {
+ enum AbnormalityType {
+ UNKNOWN = 0;
+ SIGNIFICANT_INCREASE = 1;
+ SIGNIFICANT_DECREASE = 2;
+ SIMPLY_HIGH = 3;
+ }
+ enum FailureType {
+ FAILURE_UNKNOWN = 0;
+ FAILURE_CONNECTION = 1;
+ FAILURE_ASSOCIATION_REJECTION = 2;
+ FAILURE_ASSOCIATION_TIMEOUT = 3;
+ FAILURE_AUTHENTICATION = 4;
+ FAILURE_NON_LOCAL_DISCONNECTION = 5;
+ FAILURE_SHORT_CONNECTION_DUE_TO_NON_LOCAL_DISCONNECTION = 6;
+ }
+ // Reason for uploading this stat
+ optional AbnormalityType abnormality_type = 1;
+ // The particular type of failure
+ optional FailureType failure_type = 2;
+ // How many times we have encountered this combination of AbnormalityType and FailureType
+ optional int32 failure_count = 3;
+}
+
+/**
+ * Logs whether a wifi connection is successful and reasons for failure if it isn't.
+ *
+ * Logged from:
+ * frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.java
+ */
+message WifiConnectionResultReported {
+ enum FailureCode {
+ FAILURE_UNKNOWN = 0;
+ FAILURE_ASSOCIATION_TIMEOUT = 1;
+ FAILURE_ASSOCIATION_REJECTION = 2;
+ FAILURE_AUTHENTICATION_GENERAL = 3;
+ FAILURE_AUTHENTICATION_EAP = 4;
+ FAILURE_DHCP = 5;
+ FAILURE_NETWORK_DISCONNECTION = 6;
+ FAILURE_ROAM_TIMEOUT = 7;
+ }
+ // true represents a successful connection
+ optional bool connection_result = 1;
+ // reason for the connection failure
+ optional FailureCode failure_code = 2;
+ // scan rssi before the connection attempt
+ optional int32 rssi = 3;
+}
+
+/**
* Logs when memory stats of a process is reported.
*
* Logged from:
@@ -671,7 +792,8 @@ message ProcessLifeCycleStateChanged {
* packages/apps/Bluetooth/src/com/android/bluetooth/gatt/AppScanStats.java
*/
message BleScanStateChanged {
- repeated AttributionNode attribution_node = 1;
+ repeated AttributionNode attribution_node = 1
+ [(state_field_option).option = PRIMARY_FIELD_FIRST_UID];
enum State {
OFF = 0;
@@ -679,14 +801,19 @@ message BleScanStateChanged {
// RESET indicates all ble stopped. Used when it (re)starts (e.g. after it crashes).
RESET = 2;
}
- optional State state = 2;
+ optional State state = 2 [
+ (state_field_option).option = EXCLUSIVE_STATE,
+ (state_field_option).default_state_value = 0 /* State.OFF */,
+ (state_field_option).reset_state_value = 2 /* State.RESET */,
+ (state_field_option).nested = true
+ ];
// Does the scan have a filter.
- optional bool is_filtered = 3;
+ optional bool is_filtered = 3 [(state_field_option).option = PRIMARY_FIELD];
// Whether the scan is a CALLBACK_TYPE_FIRST_MATCH scan. Called 'background' scan internally.
- optional bool is_first_match = 4;
+ optional bool is_first_match = 4 [(state_field_option).option = PRIMARY_FIELD];
// Whether the scan set to piggy-back off the results of other scans (SCAN_MODE_OPPORTUNISTIC).
- optional bool is_opportunistic = 5;
+ optional bool is_opportunistic = 5 [(state_field_option).option = PRIMARY_FIELD];
}
/**
@@ -910,11 +1037,11 @@ message WakelockStateChanged {
// The type (level) of the wakelock; e.g. a partial wakelock or a full wakelock.
// From frameworks/base/core/proto/android/os/enums.proto.
- optional android.os.WakeLockLevelEnum type = 2 [(state_field_option).option = PRIMARY];
+ optional android.os.WakeLockLevelEnum type = 2 [(state_field_option).option = PRIMARY_FIELD];
;
// The wakelock tag (Called tag in the Java API, sometimes name elsewhere).
- optional string tag = 3 [(state_field_option).option = PRIMARY];
+ optional string tag = 3 [(state_field_option).option = PRIMARY_FIELD];
enum State {
RELEASE = 0;
@@ -922,7 +1049,11 @@ message WakelockStateChanged {
CHANGE_RELEASE = 2;
CHANGE_ACQUIRE = 3;
}
- optional State state = 4 [(state_field_option).option = EXCLUSIVE];
+ optional State state = 4 [
+ (state_field_option).option = EXCLUSIVE_STATE,
+ (state_field_option).default_state_value = 0,
+ (state_field_option).nested = true
+ ];
}
/**
@@ -3106,9 +3237,9 @@ message PictureInPictureStateChanged {
* services/core/java/com/android/server/wm/Session.java
*/
message OverlayStateChanged {
- optional int32 uid = 1 [(state_field_option).option = PRIMARY, (is_uid) = true];
+ optional int32 uid = 1 [(state_field_option).option = PRIMARY_FIELD, (is_uid) = true];
- optional string package_name = 2 [(state_field_option).option = PRIMARY];
+ optional string package_name = 2 [(state_field_option).option = PRIMARY_FIELD];
optional bool using_alert_window = 3;
@@ -3116,7 +3247,11 @@ message OverlayStateChanged {
ENTERED = 1;
EXITED = 2;
}
- optional State state = 4 [(state_field_option).option = EXCLUSIVE];
+ optional State state = 4 [
+ (state_field_option).option = EXCLUSIVE_STATE,
+ (state_field_option).nested = false,
+ (state_field_option).default_state_value = 2
+ ];
}
/*
@@ -3282,7 +3417,7 @@ message LmkKillOccurred {
*/
message AppDied {
// timestamp(elapsedRealtime) of record creation
- optional uint64 timestamp_millis = 1 [(state_field_option).option = EXCLUSIVE];
+ optional uint64 timestamp_millis = 1 [(state_field_option).option = EXCLUSIVE_STATE];
}
/**
@@ -3802,7 +3937,7 @@ message PrivacyIndicatorsInteracted {
DIALOG_LINE_ITEM = 5;
}
- optional Type type = 1 [(state_field_option).option = EXCLUSIVE];
+ optional Type type = 1 [(state_field_option).option = EXCLUSIVE_STATE];
// Used if the type is LINE_ITEM
optional string package_name = 2;
@@ -4112,6 +4247,9 @@ message BootTimeEventDuration {
// Time since last factory reset.
// Logged from bootstat.
FACTORY_RESET_TIME_SINCE_RESET = 18;
+ // Init's total time spent for completing the 1st stage.
+ // Logged from bootstat.
+ ANDROID_INIT_STAGE_1 = 19;
}
// Type of the event.
@@ -4139,19 +4277,19 @@ message BootTimeEventElapsedTime {
// BOOT_COMPLETE for device with no encryption.
BOOT_COMPLETE_NO_ENCRYPTION = 4;
// Adjusted BOOT_COMPLETE for encrypted device extracting decryption time.
- BOOT_COMPLETE_POST_DESCRYPT = 5;
+ BOOT_COMPLETE_POST_DECRYPT = 5;
// BOOT_COMPLETE after factory reset.
FACTORY_RESET_BOOT_COMPLETE = 6;
// BOOT_COMPLETE_NO_ENCRYPTION after factory reset.
FACTORY_RESET_BOOT_COMPLETE_NO_ENCRYPTION = 7;
- // BOOT_COMPLETE_POST_DESCRYPT after factory reset.
- FACTORY_RESET_BOOT_COMPLETE_POST_DESCRYPT = 8;
+ // BOOT_COMPLETE_POST_DECRYPT after factory reset.
+ FACTORY_RESET_BOOT_COMPLETE_POST_DECRYPT = 8;
// BOOT_COMPLETE after OTA.
OTA_BOOT_COMPLETE = 9;
// BOOT_COMPLETE_NO_ENCRYPTION after OTA.
OTA_BOOT_COMPLETE_NO_ENCRYPTION = 10;
- // BOOT_COMPLETE_POST_DESCRYPT after OTA.
- OTA_BOOT_COMPLETE_POST_DESCRYPT = 11;
+ // BOOT_COMPLETE_POST_DECRYPT after OTA.
+ OTA_BOOT_COMPLETE_POST_DECRYPT = 11;
// Time when the system starts sending LOCKED_BOOT_COMPLETED broadcast.
// Logged from f/b/services/.../UserController.java
FRAMEWORK_LOCKED_BOOT_COMPLETED = 12;
@@ -6344,6 +6482,8 @@ message PermissionGrantRequestResultReported {
USER_DENIED_WITH_PREJUDICE_IN_SETTINGS = 14;
// permission was automatically revoked after one-time permission expired
AUTO_ONE_TIME_PERMISSION_REVOKED = 15;
+ // permission was automatically revoked for unused app
+ AUTO_UNUSED_APP_PERMISSION_REVOKED = 16;
}
// The result of the permission grant
optional Result result = 6;
@@ -6873,7 +7013,8 @@ message DeviceIdentifierAccessDenied {
optional string method_name = 2;
// True if the package is preinstalled.
- optional bool is_preinstalled = 3;
+ // Starting from Android 11, this boolean is not set and will always be false.
+ optional bool is_preinstalled = 3 [deprecated = true];
// True if the package is privileged.
// Starting from Android 11, this boolean is not set and will always be false.
@@ -8034,15 +8175,15 @@ message GraphicsStats {
/**
* Message related to dangerous (runtime) app ops access
*/
-message RuntimeAppOpsAccess {
+message RuntimeAppOpAccess {
// Uid of the package accessing app op
optional int32 uid = 1 [(is_uid) = true];
// Name of the package accessing app op
optional string package_name = 2;
- // operation id; maps to the OP_* constants in AppOpsManager.java
- optional int32 op_id = 3;
+ // operation string id per OPSTR_ constants in AppOpsManager.java
+ optional string op = 3;
// feature id; provided by developer when accessing related API, limited at 50 chars by API.
// Features must be provided through manifest using <feature> tag available in R and above.
diff --git a/cmds/statsd/src/condition/CombinationConditionTracker.cpp b/cmds/statsd/src/condition/CombinationConditionTracker.cpp
index 69aae3d1e31c..2d7f912dac84 100644
--- a/cmds/statsd/src/condition/CombinationConditionTracker.cpp
+++ b/cmds/statsd/src/condition/CombinationConditionTracker.cpp
@@ -18,15 +18,10 @@
#include "Log.h"
#include "CombinationConditionTracker.h"
-#include <log/logprint.h>
-
namespace android {
namespace os {
namespace statsd {
-using std::map;
-using std::string;
-using std::unique_ptr;
using std::unordered_map;
using std::vector;
diff --git a/cmds/statsd/src/condition/ConditionTracker.h b/cmds/statsd/src/condition/ConditionTracker.h
index e94ea6586f05..26de88860ab4 100644
--- a/cmds/statsd/src/condition/ConditionTracker.h
+++ b/cmds/statsd/src/condition/ConditionTracker.h
@@ -21,10 +21,8 @@
#include "matchers/LogMatchingTracker.h"
#include "matchers/matcher_util.h"
-#include <log/logprint.h>
#include <utils/RefBase.h>
-#include <unordered_set>
#include <unordered_map>
namespace android {
diff --git a/cmds/statsd/src/condition/ConditionWizard.cpp b/cmds/statsd/src/condition/ConditionWizard.cpp
index 4f44a69ba980..c542032b48ea 100644
--- a/cmds/statsd/src/condition/ConditionWizard.cpp
+++ b/cmds/statsd/src/condition/ConditionWizard.cpp
@@ -14,14 +14,11 @@
* limitations under the License.
*/
#include "ConditionWizard.h"
-#include <unordered_set>
namespace android {
namespace os {
namespace statsd {
-using std::map;
-using std::string;
using std::vector;
ConditionState ConditionWizard::query(const int index, const ConditionKey& parameters,
diff --git a/cmds/statsd/src/condition/SimpleConditionTracker.cpp b/cmds/statsd/src/condition/SimpleConditionTracker.cpp
index 0c92149f4c96..61760f3e29b2 100644
--- a/cmds/statsd/src/condition/SimpleConditionTracker.cpp
+++ b/cmds/statsd/src/condition/SimpleConditionTracker.cpp
@@ -24,11 +24,7 @@ namespace android {
namespace os {
namespace statsd {
-using std::map;
-using std::string;
-using std::unique_ptr;
using std::unordered_map;
-using std::vector;
SimpleConditionTracker::SimpleConditionTracker(
const ConfigKey& key, const int64_t& id, const int index,
diff --git a/cmds/statsd/src/condition/StateConditionTracker.cpp b/cmds/statsd/src/condition/StateConditionTracker.cpp
index 7f3eeddba831..d19a1761ac00 100644
--- a/cmds/statsd/src/condition/StateConditionTracker.cpp
+++ b/cmds/statsd/src/condition/StateConditionTracker.cpp
@@ -23,8 +23,6 @@ namespace android {
namespace os {
namespace statsd {
-using std::string;
-using std::unordered_set;
using std::vector;
StateConditionTracker::StateConditionTracker(const ConfigKey& key, const int64_t& id, const int index,
diff --git a/cmds/statsd/src/condition/condition_util.cpp b/cmds/statsd/src/condition/condition_util.cpp
index 35e03e45c785..60b8c53e91e1 100644
--- a/cmds/statsd/src/condition/condition_util.cpp
+++ b/cmds/statsd/src/condition/condition_util.cpp
@@ -18,11 +18,6 @@
#include "condition_util.h"
-#include <log/event_tag_map.h>
-#include <log/log_event_list.h>
-#include <log/logprint.h>
-#include <utils/Errors.h>
-#include <unordered_map>
#include "../matchers/matcher_util.h"
#include "ConditionTracker.h"
#include "frameworks/base/cmds/statsd/src/statsd_config.pb.h"
@@ -32,9 +27,6 @@ namespace android {
namespace os {
namespace statsd {
-using std::set;
-using std::string;
-using std::unordered_map;
using std::vector;
diff --git a/cmds/statsd/src/config/ConfigListener.h b/cmds/statsd/src/config/ConfigListener.h
index 54e77701b7dc..dcd5e52feefd 100644
--- a/cmds/statsd/src/config/ConfigListener.h
+++ b/cmds/statsd/src/config/ConfigListener.h
@@ -19,14 +19,12 @@
#include "config/ConfigKey.h"
#include <utils/RefBase.h>
-#include <string>
namespace android {
namespace os {
namespace statsd {
using android::RefBase;
-using std::string;
/**
* Callback for different subsystems inside statsd to implement to find out
diff --git a/cmds/statsd/src/config/ConfigManager.cpp b/cmds/statsd/src/config/ConfigManager.cpp
index 972adf7d4d05..986955bc5f39 100644
--- a/cmds/statsd/src/config/ConfigManager.cpp
+++ b/cmds/statsd/src/config/ConfigManager.cpp
@@ -25,8 +25,6 @@
#include "stats_util.h"
#include "stats_log_util.h"
-#include <android-base/file.h>
-#include <dirent.h>
#include <stdio.h>
#include <vector>
#include "android-base/stringprintf.h"
@@ -35,9 +33,7 @@ namespace android {
namespace os {
namespace statsd {
-using std::map;
using std::pair;
-using std::set;
using std::string;
using std::vector;
diff --git a/cmds/statsd/src/config/ConfigManager.h b/cmds/statsd/src/config/ConfigManager.h
index 88e864a2520b..2095173e8959 100644
--- a/cmds/statsd/src/config/ConfigManager.h
+++ b/cmds/statsd/src/config/ConfigManager.h
@@ -20,9 +20,7 @@
#include "config/ConfigListener.h"
#include <android/os/IPendingIntentRef.h>
-#include <map>
#include <mutex>
-#include <set>
#include <string>
#include <stdio.h>
diff --git a/cmds/statsd/src/external/Perfetto.cpp b/cmds/statsd/src/external/Perfetto.cpp
index 0c4c3301e61e..85b660efc956 100644
--- a/cmds/statsd/src/external/Perfetto.cpp
+++ b/cmds/statsd/src/external/Perfetto.cpp
@@ -21,12 +21,8 @@
#include "frameworks/base/cmds/statsd/src/statsd_config.pb.h" // Alert
#include <android-base/unique_fd.h>
-#include <errno.h>
-#include <fcntl.h>
#include <inttypes.h>
-#include <sys/types.h>
#include <sys/wait.h>
-#include <unistd.h>
#include <string>
diff --git a/cmds/statsd/src/external/PullDataReceiver.h b/cmds/statsd/src/external/PullDataReceiver.h
index d2193f41b80a..dd5c0cfa04c1 100644
--- a/cmds/statsd/src/external/PullDataReceiver.h
+++ b/cmds/statsd/src/external/PullDataReceiver.h
@@ -15,8 +15,6 @@
*/
#pragma once
-#include <utils/String16.h>
-#include <unordered_map>
#include <utils/RefBase.h>
#include "StatsPuller.h"
#include "logd/LogEvent.h"
diff --git a/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp b/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
deleted file mode 100644
index 75b63f4b5f9e..000000000000
--- a/cmds/statsd/src/external/ResourceHealthManagerPuller.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define DEBUG false // STOPSHIP if true
-#include "Log.h"
-
-#include <android/hardware/health/2.0/IHealth.h>
-#include <healthhalutils/HealthHalUtils.h>
-#include "external/ResourceHealthManagerPuller.h"
-#include "external/StatsPuller.h"
-
-#include "ResourceHealthManagerPuller.h"
-#include "logd/LogEvent.h"
-#include "stats_log_util.h"
-#include "statslog.h"
-
-using android::hardware::hidl_vec;
-using android::hardware::Return;
-using android::hardware::Void;
-using android::hardware::health::V2_0::get_health_service;
-using android::hardware::health::V2_0::HealthInfo;
-using android::hardware::health::V2_0::IHealth;
-using android::hardware::health::V2_0::Result;
-
-using std::make_shared;
-using std::shared_ptr;
-
-namespace android {
-namespace os {
-namespace statsd {
-
-sp<android::hardware::health::V2_0::IHealth> gHealthHal = nullptr;
-
-bool getHealthHal() {
- if (gHealthHal == nullptr) {
- gHealthHal = get_health_service();
- }
- return gHealthHal != nullptr;
-}
-
-ResourceHealthManagerPuller::ResourceHealthManagerPuller(int tagId) : StatsPuller(tagId) {
-}
-
-// TODO(b/110565992): add other health atoms (eg. Temperature).
-bool ResourceHealthManagerPuller::PullInternal(vector<shared_ptr<LogEvent>>* data) {
- if (!getHealthHal()) {
- ALOGE("Health Hal not loaded");
- return false;
- }
-
- int64_t wallClockTimestampNs = getWallClockNs();
- int64_t elapsedTimestampNs = getElapsedRealtimeNs();
-
- data->clear();
- bool result_success = true;
-
- // Get the data from the Health HAL (hardware/interfaces/health/1.0/types.hal).
- Return<void> ret = gHealthHal->getHealthInfo([&](Result r, HealthInfo v) {
- if (r != Result::SUCCESS) {
- result_success = false;
- return;
- }
- if (mTagId == android::util::REMAINING_BATTERY_CAPACITY) {
- auto ptr = make_shared<LogEvent>(android::util::REMAINING_BATTERY_CAPACITY,
- wallClockTimestampNs, elapsedTimestampNs);
- ptr->write(v.legacy.batteryChargeCounter);
- ptr->init();
- data->push_back(ptr);
- } else if (mTagId == android::util::FULL_BATTERY_CAPACITY) {
- auto ptr = make_shared<LogEvent>(android::util::FULL_BATTERY_CAPACITY,
- wallClockTimestampNs, elapsedTimestampNs);
- ptr->write(v.legacy.batteryFullCharge);
- ptr->init();
- data->push_back(ptr);
- } else if (mTagId == android::util::BATTERY_VOLTAGE) {
- auto ptr = make_shared<LogEvent>(android::util::BATTERY_VOLTAGE, wallClockTimestampNs,
- elapsedTimestampNs);
- ptr->write(v.legacy.batteryVoltage);
- ptr->init();
- data->push_back(ptr);
- } else if (mTagId == android::util::BATTERY_LEVEL) {
- auto ptr = make_shared<LogEvent>(android::util::BATTERY_LEVEL, wallClockTimestampNs,
- elapsedTimestampNs);
- ptr->write(v.legacy.batteryLevel);
- ptr->init();
- data->push_back(ptr);
- } else if (mTagId == android::util::BATTERY_CYCLE_COUNT) {
- auto ptr = make_shared<LogEvent>(android::util::BATTERY_CYCLE_COUNT,
- wallClockTimestampNs, elapsedTimestampNs);
- ptr->write(v.legacy.batteryCycleCount);
- ptr->init();
- data->push_back(ptr);
- } else {
- ALOGE("Unsupported tag in ResourceHealthManagerPuller: %d", mTagId);
- }
- });
- if (!result_success || !ret.isOk()) {
- ALOGE("getHealthHal() failed: health HAL service not available. Description: %s",
- ret.description().c_str());
- if (!ret.isOk() && ret.isDeadObject()) {
- gHealthHal = nullptr;
- }
- return false;
- }
- return true;
-}
-
-} // namespace statsd
-} // namespace os
-} // namespace android
diff --git a/cmds/statsd/src/external/StatsCallbackPuller.cpp b/cmds/statsd/src/external/StatsCallbackPuller.cpp
index 6257771b5b0d..1a11f0e37311 100644
--- a/cmds/statsd/src/external/StatsCallbackPuller.cpp
+++ b/cmds/statsd/src/external/StatsCallbackPuller.cpp
@@ -68,7 +68,7 @@ bool StatsCallbackPuller::PullInternal(vector<shared_ptr<LogEvent>>* data) {
for (const StatsEventParcel& parcel: output) {
shared_ptr<LogEvent> event = make_shared<LogEvent>(
const_cast<uint8_t*>(parcel.buffer.data()), parcel.buffer.size(),
- /*uid=*/-1, /*useNewSchema=*/true);
+ /*uid=*/-1, /*pid=*/-1, /*useNewSchema=*/true);
sharedData->push_back(event);
}
*pullSuccess = success;
diff --git a/cmds/statsd/src/external/StatsCallbackPuller.h b/cmds/statsd/src/external/StatsCallbackPuller.h
index ac88524a72ee..fe6af19e3901 100644
--- a/cmds/statsd/src/external/StatsCallbackPuller.h
+++ b/cmds/statsd/src/external/StatsCallbackPuller.h
@@ -17,7 +17,6 @@
#pragma once
#include <android/os/IPullAtomCallback.h>
-#include <utils/String16.h>
#include "StatsPuller.h"
diff --git a/cmds/statsd/src/external/StatsPullerManager.cpp b/cmds/statsd/src/external/StatsPullerManager.cpp
index 85d1e38d6052..15d7e33d63fd 100644
--- a/cmds/statsd/src/external/StatsPullerManager.cpp
+++ b/cmds/statsd/src/external/StatsPullerManager.cpp
@@ -33,19 +33,12 @@
#include "../stats_log_util.h"
#include "../statscompanion_util.h"
#include "GpuStatsPuller.h"
-#include "PowerStatsPuller.h"
-#include "ResourceHealthManagerPuller.h"
#include "StatsCallbackPuller.h"
-#include "SubsystemSleepStatePuller.h"
#include "TrainInfoPuller.h"
#include "statslog.h"
-using std::make_shared;
-using std::map;
using std::shared_ptr;
-using std::string;
using std::vector;
-using std::list;
namespace android {
namespace os {
@@ -56,32 +49,6 @@ const int64_t NO_ALARM_UPDATE = INT64_MAX;
StatsPullerManager::StatsPullerManager()
: kAllPullAtomInfo({
- // subsystem_sleep_state
- {{.atomTag = android::util::SUBSYSTEM_SLEEP_STATE}, new SubsystemSleepStatePuller()},
-
- // on_device_power_measurement
- {{.atomTag = android::util::ON_DEVICE_POWER_MEASUREMENT}, new PowerStatsPuller()},
-
- // remaining_battery_capacity
- {{.atomTag = android::util::REMAINING_BATTERY_CAPACITY},
- new ResourceHealthManagerPuller(android::util::REMAINING_BATTERY_CAPACITY)},
-
- // full_battery_capacity
- {{.atomTag = android::util::FULL_BATTERY_CAPACITY},
- new ResourceHealthManagerPuller(android::util::FULL_BATTERY_CAPACITY)},
-
- // battery_voltage
- {{.atomTag = android::util::BATTERY_VOLTAGE},
- new ResourceHealthManagerPuller(android::util::BATTERY_VOLTAGE)},
-
- // battery_level
- {{.atomTag = android::util::BATTERY_LEVEL},
- new ResourceHealthManagerPuller(android::util::BATTERY_LEVEL)},
-
- // battery_cycle_count
- {{.atomTag = android::util::BATTERY_CYCLE_COUNT},
- new ResourceHealthManagerPuller(android::util::BATTERY_CYCLE_COUNT)},
-
// TrainInfo.
{{.atomTag = android::util::TRAIN_INFO}, new TrainInfoPuller()},
@@ -113,7 +80,7 @@ bool StatsPullerManager::PullLocked(int tagId, vector<shared_ptr<LogEvent>>* dat
}
return ret;
} else {
- VLOG("Unknown tagId %d", tagId);
+ ALOGW("StatsPullerManager: Unknown tagId %d", tagId);
return false; // Return early since we don't know what to pull.
}
}
diff --git a/cmds/statsd/src/external/StatsPullerManager.h b/cmds/statsd/src/external/StatsPullerManager.h
index f5d6057c2aec..aef16dcf2147 100644
--- a/cmds/statsd/src/external/StatsPullerManager.h
+++ b/cmds/statsd/src/external/StatsPullerManager.h
@@ -23,8 +23,6 @@
#include <utils/threads.h>
#include <list>
-#include <string>
-#include <unordered_map>
#include <vector>
#include "PullDataReceiver.h"
diff --git a/cmds/statsd/src/guardrail/StatsdStats.cpp b/cmds/statsd/src/guardrail/StatsdStats.cpp
index a836bd14c012..3054b6d2204b 100644
--- a/cmds/statsd/src/guardrail/StatsdStats.cpp
+++ b/cmds/statsd/src/guardrail/StatsdStats.cpp
@@ -36,7 +36,6 @@ using android::util::FIELD_TYPE_MESSAGE;
using android::util::FIELD_TYPE_STRING;
using android::util::ProtoOutputStream;
using std::lock_guard;
-using std::map;
using std::shared_ptr;
using std::string;
using std::vector;
diff --git a/cmds/statsd/src/logd/LogEvent.cpp b/cmds/statsd/src/logd/LogEvent.cpp
index 3827b9e21b70..9a0693a84e65 100644
--- a/cmds/statsd/src/logd/LogEvent.cpp
+++ b/cmds/statsd/src/logd/LogEvent.cpp
@@ -37,11 +37,12 @@ using std::vector;
// Msg is expected to begin at the start of the serialized atom -- it should not
// include the android_log_header_t or the StatsEventTag.
-LogEvent::LogEvent(uint8_t* msg, uint32_t len, uint32_t uid)
+LogEvent::LogEvent(uint8_t* msg, uint32_t len, int32_t uid, int32_t pid)
: mBuf(msg),
mRemainingLen(len),
mLogdTimestampNs(time(nullptr)),
- mLogUid(uid)
+ mLogUid(uid),
+ mLogPid(pid)
{
#ifdef NEW_ENCODING_SCHEME
initNew();
@@ -52,8 +53,13 @@ LogEvent::LogEvent(uint8_t* msg, uint32_t len, uint32_t uid)
#endif
}
-LogEvent::LogEvent(uint8_t* msg, uint32_t len, uint32_t uid, bool useNewSchema)
- : mBuf(msg), mRemainingLen(len), mLogdTimestampNs(time(nullptr)), mLogUid(uid) {
+LogEvent::LogEvent(uint8_t* msg, uint32_t len, int32_t uid, int32_t pid, bool useNewSchema)
+ : mBuf(msg),
+ mRemainingLen(len),
+ mLogdTimestampNs(time(nullptr)),
+ mLogUid(uid),
+ mLogPid(pid)
+{
if (useNewSchema) {
initNew();
} else {
@@ -66,6 +72,7 @@ LogEvent::LogEvent(uint8_t* msg, uint32_t len, uint32_t uid, bool useNewSchema)
LogEvent::LogEvent(const LogEvent& event) {
mTagId = event.mTagId;
mLogUid = event.mLogUid;
+ mLogPid = event.mLogPid;
mElapsedTimestampNs = event.mElapsedTimestampNs;
mLogdTimestampNs = event.mLogdTimestampNs;
mValues = event.mValues;
@@ -146,6 +153,7 @@ LogEvent::LogEvent(const string& trainName, int64_t trainVersionCode, bool requi
mElapsedTimestampNs = getElapsedRealtimeNs();
mTagId = android::util::BINARY_PUSH_STATE_CHANGED;
mLogUid = android::IPCThreadState::self()->getCallingUid();
+ mLogPid = android::IPCThreadState::self()->getCallingPid();
mValues.push_back(FieldValue(Field(mTagId, getSimpleField(1)), Value(trainName)));
mValues.push_back(FieldValue(Field(mTagId, getSimpleField(2)), Value(trainVersionCode)));
diff --git a/cmds/statsd/src/logd/LogEvent.h b/cmds/statsd/src/logd/LogEvent.h
index 0f33c56be42a..3db26765326d 100644
--- a/cmds/statsd/src/logd/LogEvent.h
+++ b/cmds/statsd/src/logd/LogEvent.h
@@ -20,11 +20,9 @@
#include <android/frameworks/stats/1.0/types.h>
#include <android/util/ProtoOutputStream.h>
-#include <log/log_read.h>
#include <private/android_logger.h>
#include <stats_event_list.h>
#include <stats_event.h>
-#include <utils/Errors.h>
#include <string>
#include <vector>
@@ -71,12 +69,12 @@ public:
/**
* Read a LogEvent from the socket
*/
- explicit LogEvent(uint8_t* msg, uint32_t len, uint32_t uid);
+ explicit LogEvent(uint8_t* msg, uint32_t len, int32_t uid, int32_t pid);
/**
* Temp constructor to use for pulled atoms until we flip the socket schema.
*/
- explicit LogEvent(uint8_t* msg, uint32_t len, uint32_t uid, bool useNewSchema);
+ explicit LogEvent(uint8_t* msg, uint32_t len, int32_t uid, int32_t pid, bool useNewSchema);
/**
* Constructs a LogEvent with synthetic data for testing. Must call init() before reading.
@@ -123,9 +121,17 @@ public:
*/
inline int GetTagId() const { return mTagId; }
- inline uint32_t GetUid() const {
- return mLogUid;
- }
+ /**
+ * Get the uid of the logging client.
+ * Returns -1 if the uid is unknown/has not been set.
+ */
+ inline int32_t GetUid() const { return mLogUid; }
+
+ /**
+ * Get the pid of the logging client.
+ * Returns -1 if the pid is unknown/has not been set.
+ */
+ inline int32_t GetPid() const { return mLogPid; }
/**
* Get the nth value, starting at 1.
@@ -255,7 +261,15 @@ private:
mValid = false;
value = 0; // all primitive types can successfully cast 0
} else {
- value = *((T*)mBuf);
+ // When alignof(T) == 1, hopefully the compiler can optimize away
+ // this conditional as always true.
+ if ((reinterpret_cast<uintptr_t>(mBuf) % alignof(T)) == 0) {
+ // We're properly aligned, and can safely make this assignment.
+ value = *((T*)mBuf);
+ } else {
+ // We need to use memcpy. It's slower, but safe.
+ memcpy(&value, mBuf, sizeof(T));
+ }
mBuf += sizeof(T);
mRemainingLen -= sizeof(T);
}
@@ -297,9 +311,14 @@ private:
// The elapsed timestamp set by statsd log writer.
int64_t mElapsedTimestampNs;
+ // The atom tag of the event.
int mTagId;
- uint32_t mLogUid;
+ // The uid of the logging client (defaults to -1).
+ int32_t mLogUid = -1;
+
+ // The pid of the logging client (defaults to -1).
+ int32_t mLogPid = -1;
};
void writeExperimentIdsToProto(const std::vector<int64_t>& experimentIds, std::vector<uint8_t>* protoOut);
diff --git a/cmds/statsd/src/logd/LogEventQueue.h b/cmds/statsd/src/logd/LogEventQueue.h
index b4fd63f119e6..9dda3d24c571 100644
--- a/cmds/statsd/src/logd/LogEventQueue.h
+++ b/cmds/statsd/src/logd/LogEventQueue.h
@@ -19,10 +19,8 @@
#include "LogEvent.h"
#include <condition_variable>
-#include <memory>
#include <mutex>
#include <queue>
-#include <thread>
namespace android {
namespace os {
diff --git a/cmds/statsd/src/main.cpp b/cmds/statsd/src/main.cpp
index 7d446a9a1ed6..58bfeb337da4 100644
--- a/cmds/statsd/src/main.cpp
+++ b/cmds/statsd/src/main.cpp
@@ -20,16 +20,11 @@
#include "StatsService.h"
#include "socket/StatsSocketListener.h"
-#include <binder/IInterface.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
#include <binder/ProcessState.h>
-#include <binder/Status.h>
#include <hidl/HidlTransportSupport.h>
#include <utils/Looper.h>
-#include <utils/StrongPointer.h>
-
-#include <memory>
#include <stdio.h>
#include <sys/stat.h>
diff --git a/cmds/statsd/src/matchers/CombinationLogMatchingTracker.cpp b/cmds/statsd/src/matchers/CombinationLogMatchingTracker.cpp
index 15c067ee936d..b94a9572113e 100644
--- a/cmds/statsd/src/matchers/CombinationLogMatchingTracker.cpp
+++ b/cmds/statsd/src/matchers/CombinationLogMatchingTracker.cpp
@@ -24,8 +24,6 @@ namespace os {
namespace statsd {
using std::set;
-using std::string;
-using std::unique_ptr;
using std::unordered_map;
using std::vector;
diff --git a/cmds/statsd/src/matchers/CombinationLogMatchingTracker.h b/cmds/statsd/src/matchers/CombinationLogMatchingTracker.h
index 2a3f08da7b96..55bc46059fc1 100644
--- a/cmds/statsd/src/matchers/CombinationLogMatchingTracker.h
+++ b/cmds/statsd/src/matchers/CombinationLogMatchingTracker.h
@@ -16,9 +16,6 @@
#ifndef COMBINATION_LOG_MATCHING_TRACKER_H
#define COMBINATION_LOG_MATCHING_TRACKER_H
-#include <log/log_read.h>
-#include <log/logprint.h>
-#include <set>
#include <unordered_map>
#include <vector>
#include "LogMatchingTracker.h"
diff --git a/cmds/statsd/src/matchers/EventMatcherWizard.cpp b/cmds/statsd/src/matchers/EventMatcherWizard.cpp
index 8418e9833509..025c9a87b16b 100644
--- a/cmds/statsd/src/matchers/EventMatcherWizard.cpp
+++ b/cmds/statsd/src/matchers/EventMatcherWizard.cpp
@@ -14,14 +14,11 @@
* limitations under the License.
*/
#include "EventMatcherWizard.h"
-#include <unordered_set>
namespace android {
namespace os {
namespace statsd {
-using std::map;
-using std::string;
using std::vector;
MatchingState EventMatcherWizard::matchLogEvent(const LogEvent& event, int matcher_index) {
diff --git a/cmds/statsd/src/matchers/SimpleLogMatchingTracker.cpp b/cmds/statsd/src/matchers/SimpleLogMatchingTracker.cpp
index 31b3db524e80..082daf5a1916 100644
--- a/cmds/statsd/src/matchers/SimpleLogMatchingTracker.cpp
+++ b/cmds/statsd/src/matchers/SimpleLogMatchingTracker.cpp
@@ -23,8 +23,6 @@ namespace android {
namespace os {
namespace statsd {
-using std::string;
-using std::unique_ptr;
using std::unordered_map;
using std::vector;
diff --git a/cmds/statsd/src/matchers/SimpleLogMatchingTracker.h b/cmds/statsd/src/matchers/SimpleLogMatchingTracker.h
index 28b339caa466..a0f6a888bd44 100644
--- a/cmds/statsd/src/matchers/SimpleLogMatchingTracker.h
+++ b/cmds/statsd/src/matchers/SimpleLogMatchingTracker.h
@@ -17,9 +17,6 @@
#ifndef SIMPLE_LOG_MATCHING_TRACKER_H
#define SIMPLE_LOG_MATCHING_TRACKER_H
-#include <log/log_read.h>
-#include <log/logprint.h>
-#include <set>
#include <unordered_map>
#include <vector>
#include "LogMatchingTracker.h"
diff --git a/cmds/statsd/src/matchers/matcher_util.cpp b/cmds/statsd/src/matchers/matcher_util.cpp
index 476fae37899d..1f8bbd7f528c 100644
--- a/cmds/statsd/src/matchers/matcher_util.cpp
+++ b/cmds/statsd/src/matchers/matcher_util.cpp
@@ -23,7 +23,6 @@
using std::set;
using std::string;
-using std::unordered_map;
using std::vector;
namespace android {
diff --git a/cmds/statsd/src/matchers/matcher_util.h b/cmds/statsd/src/matchers/matcher_util.h
index 15b4a9799a93..1ab3e87b5fed 100644
--- a/cmds/statsd/src/matchers/matcher_util.h
+++ b/cmds/statsd/src/matchers/matcher_util.h
@@ -18,11 +18,6 @@
#include "logd/LogEvent.h"
-#include <log/log_read.h>
-#include <log/logprint.h>
-#include <set>
-#include <string>
-#include <unordered_map>
#include <vector>
#include "frameworks/base/cmds/statsd/src/statsd_config.pb.h"
#include "packages/UidMap.h"
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
index 4ab6fd48f1db..5c606bc98235 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
@@ -21,8 +21,6 @@
#include "GaugeMetricProducer.h"
#include "../stats_log_util.h"
-#include <cutils/log.h>
-
using android::util::FIELD_COUNT_REPEATED;
using android::util::FIELD_TYPE_BOOL;
using android::util::FIELD_TYPE_FLOAT;
@@ -549,14 +547,11 @@ void GaugeMetricProducer::flushIfNeededLocked(const int64_t& eventTimeNs) {
void GaugeMetricProducer::flushCurrentBucketLocked(const int64_t& eventTimeNs,
const int64_t& nextBucketStartTimeNs) {
int64_t fullBucketEndTimeNs = getCurrentBucketEndTimeNs();
+ int64_t bucketEndTime = eventTimeNs < fullBucketEndTimeNs ? eventTimeNs : fullBucketEndTimeNs;
GaugeBucket info;
info.mBucketStartNs = mCurrentBucketStartTimeNs;
- if (eventTimeNs < fullBucketEndTimeNs) {
- info.mBucketEndNs = eventTimeNs;
- } else {
- info.mBucketEndNs = fullBucketEndTimeNs;
- }
+ info.mBucketEndNs = bucketEndTime;
// Add bucket to mPastBuckets if bucket is large enough.
// Otherwise, drop the bucket data and add bucket metadata to mSkippedBuckets.
@@ -571,7 +566,7 @@ void GaugeMetricProducer::flushCurrentBucketLocked(const int64_t& eventTimeNs,
}
} else {
mCurrentSkippedBucket.bucketStartTimeNs = mCurrentBucketStartTimeNs;
- mCurrentSkippedBucket.bucketEndTimeNs = eventTimeNs;
+ mCurrentSkippedBucket.bucketEndTimeNs = bucketEndTime;
if (!maxDropEventsReached()) {
mCurrentSkippedBucket.dropEvents.emplace_back(
buildDropEvent(eventTimeNs, BucketDropReason::BUCKET_TOO_SMALL));
diff --git a/cmds/statsd/src/metrics/MetricProducer.cpp b/cmds/statsd/src/metrics/MetricProducer.cpp
index 5c29cb3c27fe..be754e29b5bd 100644
--- a/cmds/statsd/src/metrics/MetricProducer.cpp
+++ b/cmds/statsd/src/metrics/MetricProducer.cpp
@@ -33,7 +33,6 @@ namespace android {
namespace os {
namespace statsd {
-using std::map;
// for ActiveMetric
const int FIELD_ID_ACTIVE_METRIC_ID = 1;
diff --git a/cmds/statsd/src/metrics/MetricProducer.h b/cmds/statsd/src/metrics/MetricProducer.h
index 99f0c64bd47c..d721514ed1f0 100644
--- a/cmds/statsd/src/metrics/MetricProducer.h
+++ b/cmds/statsd/src/metrics/MetricProducer.h
@@ -18,7 +18,6 @@
#define METRIC_PRODUCER_H
#include <frameworks/base/cmds/statsd/src/active_config_list.pb.h>
-#include <log/logprint.h>
#include <utils/RefBase.h>
#include <unordered_map>
diff --git a/cmds/statsd/src/metrics/MetricsManager.cpp b/cmds/statsd/src/metrics/MetricsManager.cpp
index 088f607ecfce..536700f3bfe7 100644
--- a/cmds/statsd/src/metrics/MetricsManager.cpp
+++ b/cmds/statsd/src/metrics/MetricsManager.cpp
@@ -18,9 +18,7 @@
#include "MetricsManager.h"
-#include <log/logprint.h>
#include <private/android_filesystem_config.h>
-#include <utils/SystemClock.h>
#include "CountMetricProducer.h"
#include "atoms_info.h"
@@ -42,10 +40,8 @@ using android::util::FIELD_TYPE_MESSAGE;
using android::util::FIELD_TYPE_STRING;
using android::util::ProtoOutputStream;
-using std::make_unique;
using std::set;
using std::string;
-using std::unordered_map;
using std::vector;
namespace android {
diff --git a/cmds/statsd/src/metrics/ValueMetricProducer.cpp b/cmds/statsd/src/metrics/ValueMetricProducer.cpp
index d2db6e9c9ead..dc9b41303894 100644
--- a/cmds/statsd/src/metrics/ValueMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/ValueMetricProducer.cpp
@@ -21,7 +21,6 @@
#include "../guardrail/StatsdStats.h"
#include "../stats_log_util.h"
-#include <cutils/log.h>
#include <limits.h>
#include <stdlib.h>
@@ -33,12 +32,8 @@ using android::util::FIELD_TYPE_INT64;
using android::util::FIELD_TYPE_MESSAGE;
using android::util::FIELD_TYPE_STRING;
using android::util::ProtoOutputStream;
-using std::list;
-using std::make_pair;
-using std::make_shared;
using std::map;
using std::shared_ptr;
-using std::unique_ptr;
using std::unordered_map;
namespace android {
@@ -384,9 +379,6 @@ void ValueMetricProducer::invalidateCurrentBucketWithoutResetBase(const int64_t
if (!mCurrentBucketIsInvalid) {
// Only report to StatsdStats once per invalid bucket.
StatsdStats::getInstance().noteInvalidatedBucket(mMetricId);
-
- mCurrentSkippedBucket.bucketStartTimeNs = mCurrentBucketStartTimeNs;
- mCurrentSkippedBucket.bucketEndTimeNs = getCurrentBucketEndTimeNs();
}
if (!maxDropEventsReached()) {
@@ -960,12 +952,6 @@ void ValueMetricProducer::flushCurrentBucketLocked(const int64_t& eventTimeNs,
int64_t conditionTrueDuration = mConditionTimer.newBucketStart(bucketEndTime);
bool isBucketLargeEnough = bucketEndTime - mCurrentBucketStartTimeNs >= mMinBucketSizeNs;
if (!isBucketLargeEnough) {
- // If the bucket is valid, this is the only drop reason and we need to
- // set the skipped bucket start and end times.
- if (!mCurrentBucketIsInvalid) {
- mCurrentSkippedBucket.bucketStartTimeNs = mCurrentBucketStartTimeNs;
- mCurrentSkippedBucket.bucketEndTimeNs = bucketEndTime;
- }
if (!maxDropEventsReached()) {
mCurrentSkippedBucket.dropEvents.emplace_back(
buildDropEvent(eventTimeNs, BucketDropReason::BUCKET_TOO_SMALL));
@@ -983,6 +969,8 @@ void ValueMetricProducer::flushCurrentBucketLocked(const int64_t& eventTimeNs,
}
}
} else {
+ mCurrentSkippedBucket.bucketStartTimeNs = mCurrentBucketStartTimeNs;
+ mCurrentSkippedBucket.bucketEndTimeNs = bucketEndTime;
mSkippedBuckets.emplace_back(mCurrentSkippedBucket);
}
diff --git a/cmds/statsd/src/metrics/ValueMetricProducer.h b/cmds/statsd/src/metrics/ValueMetricProducer.h
index 19fb6942928f..50317b341843 100644
--- a/cmds/statsd/src/metrics/ValueMetricProducer.h
+++ b/cmds/statsd/src/metrics/ValueMetricProducer.h
@@ -17,8 +17,6 @@
#pragma once
#include <gtest/gtest_prod.h>
-#include <utils/threads.h>
-#include <list>
#include "anomaly/AnomalyTracker.h"
#include "condition/ConditionTimer.h"
#include "condition/ConditionTracker.h"
diff --git a/cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h b/cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h
index c3aad668aa78..f44e3275b83d 100644
--- a/cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h
+++ b/cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h
@@ -19,7 +19,6 @@
#include "DurationTracker.h"
-#include <set>
namespace android {
namespace os {
namespace statsd {
diff --git a/cmds/statsd/src/metrics/metrics_manager_util.cpp b/cmds/statsd/src/metrics/metrics_manager_util.cpp
index 17f62b056426..40a313a14eab 100644
--- a/cmds/statsd/src/metrics/metrics_manager_util.cpp
+++ b/cmds/statsd/src/metrics/metrics_manager_util.cpp
@@ -40,7 +40,6 @@
#include "stats_util.h"
using std::set;
-using std::string;
using std::unordered_map;
using std::vector;
diff --git a/cmds/statsd/src/metrics/metrics_manager_util.h b/cmds/statsd/src/metrics/metrics_manager_util.h
index 95b2ab81fa53..5ebb232694a4 100644
--- a/cmds/statsd/src/metrics/metrics_manager_util.h
+++ b/cmds/statsd/src/metrics/metrics_manager_util.h
@@ -16,7 +16,6 @@
#pragma once
-#include <memory>
#include <set>
#include <unordered_map>
#include <vector>
diff --git a/cmds/statsd/src/packages/PackageInfoListener.h b/cmds/statsd/src/packages/PackageInfoListener.h
index fcdbe69dbbd1..6c50a8c41770 100644
--- a/cmds/statsd/src/packages/PackageInfoListener.h
+++ b/cmds/statsd/src/packages/PackageInfoListener.h
@@ -17,7 +17,6 @@
#ifndef STATSD_PACKAGE_INFO_LISTENER_H
#define STATSD_PACKAGE_INFO_LISTENER_H
-#include <utils/RefBase.h>
#include <string>
namespace android {
diff --git a/cmds/statsd/src/packages/UidMap.cpp b/cmds/statsd/src/packages/UidMap.cpp
index 7e63bbff2d0a..ab0e86e24b02 100644
--- a/cmds/statsd/src/packages/UidMap.cpp
+++ b/cmds/statsd/src/packages/UidMap.cpp
@@ -21,10 +21,6 @@
#include "guardrail/StatsdStats.h"
#include "packages/UidMap.h"
-#include <android/os/IStatsCompanionService.h>
-#include <binder/IServiceManager.h>
-#include <utils/Errors.h>
-
#include <inttypes.h>
using namespace android;
diff --git a/cmds/statsd/src/packages/UidMap.h b/cmds/statsd/src/packages/UidMap.h
index 2d3f6ee9c2e8..bfac6e3431b0 100644
--- a/cmds/statsd/src/packages/UidMap.h
+++ b/cmds/statsd/src/packages/UidMap.h
@@ -21,10 +21,8 @@
#include "packages/PackageInfoListener.h"
#include "stats_util.h"
-#include <binder/IResultReceiver.h>
#include <binder/IShellCallback.h>
#include <gtest/gtest_prod.h>
-#include <log/logprint.h>
#include <stdio.h>
#include <utils/RefBase.h>
#include <list>
diff --git a/cmds/statsd/src/shell/ShellSubscriber.cpp b/cmds/statsd/src/shell/ShellSubscriber.cpp
index f7e32d4aed26..d6a04336bc46 100644
--- a/cmds/statsd/src/shell/ShellSubscriber.cpp
+++ b/cmds/statsd/src/shell/ShellSubscriber.cpp
@@ -18,7 +18,6 @@
#include "ShellSubscriber.h"
-#include <android-base/file.h>
#include "matchers/matcher_util.h"
#include "stats_log_util.h"
diff --git a/cmds/statsd/src/shell/ShellSubscriber.h b/cmds/statsd/src/shell/ShellSubscriber.h
index 8e54a8b00091..86d85901083a 100644
--- a/cmds/statsd/src/shell/ShellSubscriber.h
+++ b/cmds/statsd/src/shell/ShellSubscriber.h
@@ -22,7 +22,6 @@
#include <binder/IResultReceiver.h>
#include <condition_variable>
#include <mutex>
-#include <string>
#include <thread>
#include "external/StatsPullerManager.h"
#include "frameworks/base/cmds/statsd/src/shell/shell_config.pb.h"
diff --git a/cmds/statsd/src/socket/StatsSocketListener.cpp b/cmds/statsd/src/socket/StatsSocketListener.cpp
index 4308a1107039..8f0f480cb862 100755
--- a/cmds/statsd/src/socket/StatsSocketListener.cpp
+++ b/cmds/statsd/src/socket/StatsSocketListener.cpp
@@ -27,9 +27,6 @@
#include <unistd.h>
#include <cutils/sockets.h>
-#include <private/android_filesystem_config.h>
-#include <private/android_logger.h>
-#include <unordered_map>
#include "StatsSocketListener.h"
#include "guardrail/StatsdStats.h"
@@ -126,9 +123,10 @@ bool StatsSocketListener::onDataAvailable(SocketClient* cli) {
uint8_t* msg = ptr + sizeof(uint32_t);
uint32_t len = n - sizeof(uint32_t);
uint32_t uid = cred->uid;
+ uint32_t pid = cred->pid;
int64_t oldestTimestamp;
- if (!mQueue->push(std::make_unique<LogEvent>(msg, len, uid), &oldestTimestamp)) {
+ if (!mQueue->push(std::make_unique<LogEvent>(msg, len, uid, pid), &oldestTimestamp)) {
StatsdStats::getInstance().noteEventQueueOverflow(oldestTimestamp);
}
diff --git a/cmds/statsd/src/state/StateManager.h b/cmds/statsd/src/state/StateManager.h
index 8bc24612be90..8b3a4218238c 100644
--- a/cmds/statsd/src/state/StateManager.h
+++ b/cmds/statsd/src/state/StateManager.h
@@ -15,7 +15,6 @@
*/
#pragma once
-#include <gtest/gtest_prod.h>
#include <inttypes.h>
#include <utils/RefBase.h>
diff --git a/cmds/statsd/src/state/StateTracker.cpp b/cmds/statsd/src/state/StateTracker.cpp
index 3ad21e0c96ae..ab861275073c 100644
--- a/cmds/statsd/src/state/StateTracker.cpp
+++ b/cmds/statsd/src/state/StateTracker.cpp
@@ -26,7 +26,9 @@ namespace os {
namespace statsd {
StateTracker::StateTracker(const int32_t atomId, const util::StateAtomFieldOptions& stateAtomInfo)
- : mAtomId(atomId), mStateField(getSimpleMatcher(atomId, stateAtomInfo.exclusiveField)) {
+ : mAtomId(atomId),
+ mStateField(getSimpleMatcher(atomId, stateAtomInfo.exclusiveField)),
+ mNested(stateAtomInfo.nested) {
// create matcher for each primary field
for (const auto& primaryField : stateAtomInfo.primaryFields) {
if (primaryField == util::FIRST_UID_IN_CHAIN) {
@@ -38,7 +40,13 @@ StateTracker::StateTracker(const int32_t atomId, const util::StateAtomFieldOptio
}
}
- // TODO(tsaichristine): b/142108433 set default state, reset state, and nesting
+ if (stateAtomInfo.defaultState != util::UNSET_VALUE) {
+ mDefaultState = stateAtomInfo.defaultState;
+ }
+
+ if (stateAtomInfo.resetState != util::UNSET_VALUE) {
+ mResetState = stateAtomInfo.resetState;
+ }
}
void StateTracker::onLogEvent(const LogEvent& event) {
@@ -60,7 +68,6 @@ void StateTracker::onLogEvent(const LogEvent& event) {
// Parse event for state value.
FieldValue stateValue;
- int32_t state;
if (!filterValues(mStateField, event.getValues(), &stateValue) ||
stateValue.mValue.getType() != INT) {
ALOGE("StateTracker error extracting state from log event. Type: %d",
@@ -68,11 +75,12 @@ void StateTracker::onLogEvent(const LogEvent& event) {
handlePartialReset(eventTimeNs, primaryKey);
return;
}
- state = stateValue.mValue.int_value;
+ int32_t state = stateValue.mValue.int_value;
if (state == mResetState) {
VLOG("StateTracker Reset state: %s", stateValue.mValue.toString().c_str());
handleReset(eventTimeNs);
+ return;
}
// Track and update state.
@@ -113,15 +121,17 @@ bool StateTracker::getStateValue(const HashableDimensionKey& queryKey, FieldValu
return true;
}
} else if (queryKey.getValues().size() > mPrimaryFields.size()) {
- ALOGE("StateTracker query key size > primary key size is illegal");
+ ALOGE("StateTracker query key size %zu > primary key size %zu is illegal",
+ queryKey.getValues().size(), mPrimaryFields.size());
} else {
- ALOGE("StateTracker query key size < primary key size is not supported");
+ ALOGE("StateTracker query key size %zu < primary key size %zu is not supported",
+ queryKey.getValues().size(), mPrimaryFields.size());
}
- // Set the state value to unknown if:
+ // Set the state value to default state if:
// - query key size is incorrect
// - query key is not found in state map
- output->mValue = StateTracker::kStateUnknown;
+ output->mValue = mDefaultState;
return false;
}
@@ -164,18 +174,52 @@ void StateTracker::updateState(const HashableDimensionKey& primaryKey, const int
*oldState = mDefaultState;
}
- // update state map
- if (eventState == mDefaultState) {
- // remove (key, state) pair if state returns to default state
- VLOG("\t StateTracker changed to default state")
- mStateMap.erase(primaryKey);
- } else {
- mStateMap[primaryKey].state = eventState;
- mStateMap[primaryKey].count = 1;
+ // Update state map for non-nested counting case.
+ // Every state event triggers a state overwrite.
+ if (!mNested) {
+ if (eventState == mDefaultState) {
+ // remove (key, state) pair if state returns to default state
+ VLOG("\t StateTracker changed to default state")
+ mStateMap.erase(primaryKey);
+ } else {
+ mStateMap[primaryKey].state = eventState;
+ mStateMap[primaryKey].count = 1;
+ }
+ *newState = eventState;
+ return;
}
- *newState = eventState;
- // TODO(tsaichristine): support atoms with nested counting
+ // Update state map for nested counting case.
+ //
+ // Nested counting is only allowed for binary state events such as ON/OFF or
+ // ACQUIRE/RELEASE. For example, WakelockStateChanged might have the state
+ // events: ON, ON, OFF. The state will still be ON until we see the same
+ // number of OFF events as ON events.
+ //
+ // In atoms.proto, a state atom with nested counting enabled
+ // must only have 2 states and one of the states must be the default state.
+ it = mStateMap.find(primaryKey);
+ if (it != mStateMap.end()) {
+ *newState = it->second.state;
+ if (eventState == it->second.state) {
+ it->second.count++;
+ } else if (eventState == mDefaultState) {
+ if ((--it->second.count) == 0) {
+ mStateMap.erase(primaryKey);
+ *newState = mDefaultState;
+ }
+ } else {
+ ALOGE("StateTracker Nest counting state has a third state instead of the binary state "
+ "limit.");
+ return;
+ }
+ } else {
+ if (eventState != mDefaultState) {
+ mStateMap[primaryKey].state = eventState;
+ mStateMap[primaryKey].count = 1;
+ }
+ *newState = eventState;
+ }
}
} // namespace statsd
diff --git a/cmds/statsd/src/state/StateTracker.h b/cmds/statsd/src/state/StateTracker.h
index 70f16274c7f6..aeca2a53bfdc 100644
--- a/cmds/statsd/src/state/StateTracker.h
+++ b/cmds/statsd/src/state/StateTracker.h
@@ -74,6 +74,8 @@ private:
int32_t mResetState = kStateUnknown;
+ const bool mNested;
+
// Maps primary key to state value info
std::unordered_map<HashableDimensionKey, StateValueInfo> mStateMap;
diff --git a/cmds/statsd/src/stats_log_util.cpp b/cmds/statsd/src/stats_log_util.cpp
index 76c193679eef..8e0c62869932 100644
--- a/cmds/statsd/src/stats_log_util.cpp
+++ b/cmds/statsd/src/stats_log_util.cpp
@@ -17,12 +17,8 @@
#include "hash.h"
#include "stats_log_util.h"
-#include <logd/LogEvent.h>
#include <private/android_filesystem_config.h>
-#include <utils/Log.h>
#include <set>
-#include <stack>
-#include <utils/Log.h>
#include <utils/SystemClock.h>
using android::util::AtomsInfo;
diff --git a/cmds/statsd/src/statscompanion_util.h b/cmds/statsd/src/statscompanion_util.h
index ff702f23f6d1..dc4f28361214 100644
--- a/cmds/statsd/src/statscompanion_util.h
+++ b/cmds/statsd/src/statscompanion_util.h
@@ -18,12 +18,6 @@
#include "StatsLogProcessor.h"
-using namespace android;
-using namespace android::base;
-using namespace android::binder;
-using namespace android::os;
-using namespace std;
-
namespace android {
namespace os {
namespace statsd {
diff --git a/cmds/statsd/src/storage/StorageManager.cpp b/cmds/statsd/src/storage/StorageManager.cpp
index 9b48a02c7f78..507297c6c401 100644
--- a/cmds/statsd/src/storage/StorageManager.cpp
+++ b/cmds/statsd/src/storage/StorageManager.cpp
@@ -23,10 +23,8 @@
#include "stats_log_util.h"
#include <android-base/file.h>
-#include <dirent.h>
#include <private/android_filesystem_config.h>
#include <fstream>
-#include <iostream>
namespace android {
namespace os {
diff --git a/cmds/statsd/src/subscriber/IncidentdReporter.cpp b/cmds/statsd/src/subscriber/IncidentdReporter.cpp
index f1320c2f746d..d86e29131661 100644
--- a/cmds/statsd/src/subscriber/IncidentdReporter.cpp
+++ b/cmds/statsd/src/subscriber/IncidentdReporter.cpp
@@ -24,7 +24,6 @@
#include <android/os/IIncidentManager.h>
#include <android/os/IncidentReportArgs.h>
#include <android/util/ProtoOutputStream.h>
-#include <binder/IBinder.h>
#include <binder/IServiceManager.h>
#include <vector>
diff --git a/cmds/statsd/src/subscriber/SubscriberReporter.cpp b/cmds/statsd/src/subscriber/SubscriberReporter.cpp
index a37cad14fcbc..160b57e27c6c 100644
--- a/cmds/statsd/src/subscriber/SubscriberReporter.cpp
+++ b/cmds/statsd/src/subscriber/SubscriberReporter.cpp
@@ -20,7 +20,6 @@
#include "SubscriberReporter.h"
using std::lock_guard;
-using std::unordered_map;
namespace android {
namespace os {
diff --git a/cmds/statsd/tests/LogEvent_test.cpp b/cmds/statsd/tests/LogEvent_test.cpp
index 1cf9fb681d61..35b0396e2fb1 100644
--- a/cmds/statsd/tests/LogEvent_test.cpp
+++ b/cmds/statsd/tests/LogEvent_test.cpp
@@ -57,9 +57,11 @@ TEST(LogEventTest, TestPrimitiveParsing) {
size_t size;
uint8_t* buf = stats_event_get_buffer(event, &size);
- LogEvent logEvent(buf, size, /*uid=*/ 1000);
+ LogEvent logEvent(buf, size, /*uid=*/ 1000, /*pid=*/ 1001);
EXPECT_TRUE(logEvent.isValid());
EXPECT_EQ(100, logEvent.GetTagId());
+ EXPECT_EQ(1000, logEvent.GetUid());
+ EXPECT_EQ(1001, logEvent.GetPid());
const vector<FieldValue>& values = logEvent.getValues();
EXPECT_EQ(4, values.size());
@@ -103,9 +105,11 @@ TEST(LogEventTest, TestStringAndByteArrayParsing) {
size_t size;
uint8_t* buf = stats_event_get_buffer(event, &size);
- LogEvent logEvent(buf, size, /*uid=*/ 1000);
+ LogEvent logEvent(buf, size, /*uid=*/ 1000, /*pid=*/ 1001);
EXPECT_TRUE(logEvent.isValid());
EXPECT_EQ(100, logEvent.GetTagId());
+ EXPECT_EQ(1000, logEvent.GetUid());
+ EXPECT_EQ(1001, logEvent.GetPid());
const vector<FieldValue>& values = logEvent.getValues();
EXPECT_EQ(2, values.size());
@@ -136,9 +140,11 @@ TEST(LogEventTest, TestEmptyString) {
size_t size;
uint8_t* buf = stats_event_get_buffer(event, &size);
- LogEvent logEvent(buf, size, /*uid=*/ 1000);
+ LogEvent logEvent(buf, size, /*uid=*/ 1000, /*pid=*/ 1001);
EXPECT_TRUE(logEvent.isValid());
EXPECT_EQ(100, logEvent.GetTagId());
+ EXPECT_EQ(1000, logEvent.GetUid());
+ EXPECT_EQ(1001, logEvent.GetPid());
const vector<FieldValue>& values = logEvent.getValues();
EXPECT_EQ(1, values.size());
@@ -162,9 +168,11 @@ TEST(LogEventTest, TestByteArrayWithNullCharacter) {
size_t size;
uint8_t* buf = stats_event_get_buffer(event, &size);
- LogEvent logEvent(buf, size, /*uid=*/ 1000);
+ LogEvent logEvent(buf, size, /*uid=*/ 1000, /*pid=*/ 1001);
EXPECT_TRUE(logEvent.isValid());
EXPECT_EQ(100, logEvent.GetTagId());
+ EXPECT_EQ(1000, logEvent.GetUid());
+ EXPECT_EQ(1001, logEvent.GetPid());
const vector<FieldValue>& values = logEvent.getValues();
EXPECT_EQ(1, values.size());
@@ -196,9 +204,11 @@ TEST(LogEventTest, TestKeyValuePairs) {
size_t size;
uint8_t* buf = stats_event_get_buffer(event, &size);
- LogEvent logEvent(buf, size, /*uid=*/ 1000);
+ LogEvent logEvent(buf, size, /*uid=*/ 1000, /*pid=*/ 1001);
EXPECT_TRUE(logEvent.isValid());
EXPECT_EQ(100, logEvent.GetTagId());
+ EXPECT_EQ(1000, logEvent.GetUid());
+ EXPECT_EQ(1001, logEvent.GetPid());
const vector<FieldValue>& values = logEvent.getValues();
EXPECT_EQ(8, values.size()); // 2 FieldValues per key-value pair
@@ -260,9 +270,11 @@ TEST(LogEventTest, TestAttributionChain) {
size_t size;
uint8_t* buf = stats_event_get_buffer(event, &size);
- LogEvent logEvent(buf, size, /*uid=*/ 1000);
+ LogEvent logEvent(buf, size, /*uid=*/ 1000, /*pid=*/ 1001);
EXPECT_TRUE(logEvent.isValid());
EXPECT_EQ(100, logEvent.GetTagId());
+ EXPECT_EQ(1000, logEvent.GetUid());
+ EXPECT_EQ(1001, logEvent.GetPid());
const vector<FieldValue>& values = logEvent.getValues();
EXPECT_EQ(4, values.size()); // 2 per attribution node
diff --git a/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp b/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
index c7ba9be3ca5a..5e60abaf7792 100644
--- a/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
+++ b/cmds/statsd/tests/e2e/GaugeMetric_e2e_pull_test.cpp
@@ -14,12 +14,12 @@
#include <gtest/gtest.h>
+#include <vector>
+
#include "src/StatsLogProcessor.h"
#include "src/stats_log_util.h"
#include "tests/statsd_test_util.h"
-#include <vector>
-
namespace android {
namespace os {
namespace statsd {
@@ -29,12 +29,13 @@ namespace statsd {
namespace {
const int64_t metricId = 123456;
+const int32_t ATOM_TAG = android::util::SUBSYSTEM_SLEEP_STATE;
StatsdConfig CreateStatsdConfig(const GaugeMetric::SamplingType sampling_type,
bool useCondition = true) {
StatsdConfig config;
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
- auto atomMatcher = CreateSimpleAtomMatcher("TestMatcher", android::util::SUBSYSTEM_SLEEP_STATE);
+ auto atomMatcher = CreateSimpleAtomMatcher("TestMatcher", ATOM_TAG);
*config.add_atom_matcher() = atomMatcher;
*config.add_atom_matcher() = CreateScreenTurnedOnAtomMatcher();
*config.add_atom_matcher() = CreateScreenTurnedOffAtomMatcher();
@@ -51,7 +52,7 @@ StatsdConfig CreateStatsdConfig(const GaugeMetric::SamplingType sampling_type,
gaugeMetric->set_sampling_type(sampling_type);
gaugeMetric->mutable_gauge_fields_filter()->set_include_all(true);
*gaugeMetric->mutable_dimensions_in_what() =
- CreateDimensions(android::util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
+ CreateDimensions(ATOM_TAG, {1 /* subsystem name */});
gaugeMetric->set_bucket(FIVE_MINUTES);
gaugeMetric->set_max_pull_delay_sec(INT_MAX);
config.set_hash_strings_in_metric_report(false);
@@ -69,8 +70,8 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEvents) {
TimeUnitToBucketSizeInMillis(config.gauge_metric(0).bucket()) * 1000000;
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(), ATOM_TAG);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -144,7 +145,7 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEvents) {
EXPECT_GT((int)gaugeMetrics.data_size(), 1);
auto data = gaugeMetrics.data(0);
- EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
+ EXPECT_EQ(ATOM_TAG, data.dimensions_in_what().field());
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
EXPECT_EQ(1 /* subsystem name field */,
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
@@ -214,8 +215,8 @@ TEST(GaugeMetricE2eTest, TestConditionChangeToTrueSamplePulledEvents) {
TimeUnitToBucketSizeInMillis(config.gauge_metric(0).bucket()) * 1000000;
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(), ATOM_TAG);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -267,7 +268,7 @@ TEST(GaugeMetricE2eTest, TestConditionChangeToTrueSamplePulledEvents) {
EXPECT_GT((int)gaugeMetrics.data_size(), 1);
auto data = gaugeMetrics.data(0);
- EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
+ EXPECT_EQ(ATOM_TAG, data.dimensions_in_what().field());
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
EXPECT_EQ(1 /* subsystem name field */,
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
@@ -315,8 +316,8 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEvent_LateAlarm) {
TimeUnitToBucketSizeInMillis(config.gauge_metric(0).bucket()) * 1000000;
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback, ATOM_TAG);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -371,7 +372,7 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEvent_LateAlarm) {
EXPECT_GT((int)gaugeMetrics.data_size(), 1);
auto data = gaugeMetrics.data(0);
- EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
+ EXPECT_EQ(ATOM_TAG, data.dimensions_in_what().field());
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
EXPECT_EQ(1 /* subsystem name field */,
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
@@ -424,8 +425,8 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEventsWithActivation) {
event_activation->set_ttl_seconds(ttlNs / 1000000000);
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(), ATOM_TAG);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -493,7 +494,7 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEventsWithActivation) {
EXPECT_GT((int)gaugeMetrics.data_size(), 0);
auto data = gaugeMetrics.data(0);
- EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
+ EXPECT_EQ(ATOM_TAG, data.dimensions_in_what().field());
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
EXPECT_EQ(1 /* subsystem name field */,
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
@@ -542,8 +543,8 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEventsNoCondition) {
TimeUnitToBucketSizeInMillis(config.gauge_metric(0).bucket()) * 1000000;
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(), ATOM_TAG);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -586,7 +587,7 @@ TEST(GaugeMetricE2eTest, TestRandomSamplePulledEventsNoCondition) {
EXPECT_GT((int)gaugeMetrics.data_size(), 0);
auto data = gaugeMetrics.data(0);
- EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
+ EXPECT_EQ(ATOM_TAG, data.dimensions_in_what().field());
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
EXPECT_EQ(1 /* subsystem name field */,
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
diff --git a/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp b/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp
index 16b51d99535b..9d58867f09db 100644
--- a/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp
@@ -12,22 +12,24 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+#include <android/os/BnPullAtomCallback.h>
+#include <android/os/IPullAtomResultReceiver.h>
+#include <binder/IPCThreadState.h>
#include <gtest/gtest.h>
-#include <binder/IPCThreadState.h>
+#include <vector>
+
#include "src/StatsLogProcessor.h"
#include "src/StatsService.h"
#include "src/stats_log_util.h"
#include "tests/statsd_test_util.h"
-#include <vector>
-
namespace android {
namespace os {
namespace statsd {
#ifdef __ANDROID__
-
+namespace {
const string kApp1 = "app1.sharing.1";
const int kConfigKey = 789130123; // Randomly chosen to avoid collisions with existing configs.
const int kCallingUid = 0; // Randomly chosen
@@ -109,6 +111,7 @@ StatsdConfig MakeGaugeMetricConfig(int64_t minTime) {
gaugeMetric->set_min_bucket_size_nanos(minTime);
return config;
}
+} // anonymous namespace
TEST(PartialBucketE2eTest, TestCountMetricWithoutSplit) {
StatsService service(nullptr, nullptr);
@@ -202,6 +205,9 @@ TEST(PartialBucketE2eTest, TestCountMetricSplitOnRemoval) {
TEST(PartialBucketE2eTest, TestValueMetricWithoutMinPartialBucket) {
StatsService service(nullptr, nullptr);
+ service.mPullerManager->RegisterPullAtomCallback(
+ /*uid=*/0, android::util::SUBSYSTEM_SLEEP_STATE, NS_PER_SEC, NS_PER_SEC * 10, {},
+ new FakeSubsystemSleepCallback());
// Partial buckets don't occur when app is first installed.
service.mUidMap->updateApp(1, String16(kApp1.c_str()), 1, 1, String16("v1"), String16(""));
SendConfig(service, MakeValueMetricConfig(0));
@@ -220,6 +226,9 @@ TEST(PartialBucketE2eTest, TestValueMetricWithoutMinPartialBucket) {
TEST(PartialBucketE2eTest, TestValueMetricWithMinPartialBucket) {
StatsService service(nullptr, nullptr);
+ service.mPullerManager->RegisterPullAtomCallback(
+ /*uid=*/0, android::util::SUBSYSTEM_SLEEP_STATE, NS_PER_SEC, NS_PER_SEC * 10, {},
+ new FakeSubsystemSleepCallback());
// Partial buckets don't occur when app is first installed.
service.mUidMap->updateApp(1, String16(kApp1.c_str()), 1, 1, String16("v1"), String16(""));
SendConfig(service, MakeValueMetricConfig(60 * NS_PER_SEC /* One minute */));
diff --git a/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp b/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
index e8d2ec514cad..a140af876474 100644
--- a/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
@@ -69,8 +69,9 @@ TEST(ValueMetricE2eTest, TestPulledEvents) {
TimeUnitToBucketSizeInMillis(config.value_metric(0).bucket()) * 1000000;
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(),
+ android::util::SUBSYSTEM_SLEEP_STATE);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -173,8 +174,9 @@ TEST(ValueMetricE2eTest, TestPulledEvents_LateAlarm) {
TimeUnitToBucketSizeInMillis(config.value_metric(0).bucket()) * 1000000;
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(),
+ android::util::SUBSYSTEM_SLEEP_STATE);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
@@ -285,8 +287,9 @@ TEST(ValueMetricE2eTest, TestPulledEvents_WithActivation) {
event_activation->set_ttl_seconds(ttlNs / 1000000000);
ConfigKey cfgKey;
- auto processor = CreateStatsLogProcessor(
- baseTimeNs, configAddedTimeNs, config, cfgKey);
+ auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
+ new FakeSubsystemSleepCallback(),
+ android::util::SUBSYSTEM_SLEEP_STATE);
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
processor->mPullerManager->ForceClearPullerCache();
diff --git a/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp b/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp
index 92e8241d9ec2..f6245ac8ea9a 100644
--- a/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp
+++ b/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp
@@ -3333,7 +3333,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenDumpReportRequeste
EXPECT_EQ(NanoToMillis(bucketStartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
+ EXPECT_EQ(NanoToMillis(bucketStartTimeNs + 40),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(1, report.value_metrics().skipped(0).drop_event_size());
@@ -3393,7 +3393,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenConditionEventWron
EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket3StartTimeNs),
+ EXPECT_EQ(NanoToMillis(bucket2StartTimeNs + 100),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(1, report.value_metrics().skipped(0).drop_event_size());
@@ -3470,7 +3470,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenAccumulateEventWro
EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket3StartTimeNs),
+ EXPECT_EQ(NanoToMillis(bucket2StartTimeNs + 100),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(1, report.value_metrics().skipped(0).drop_event_size());
@@ -3519,7 +3519,8 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenConditionUnknown)
// Check dump report.
ProtoOutputStream output;
std::set<string> strSet;
- valueProducer->onDumpReport(bucketStartTimeNs + 100, true /* include recent buckets */, true,
+ int64_t dumpReportTimeNs = bucketStartTimeNs + 10000;
+ valueProducer->onDumpReport(dumpReportTimeNs, true /* include recent buckets */, true,
NO_TIME_CONSTRAINTS /* dumpLatency */, &strSet, &output);
StatsLogReport report = outputStreamToProto(&output);
@@ -3529,13 +3530,13 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenConditionUnknown)
EXPECT_EQ(NanoToMillis(bucketStartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(1, report.value_metrics().skipped(0).drop_event_size());
auto dropEvent = report.value_metrics().skipped(0).drop_event(0);
EXPECT_EQ(BucketDropReason::CONDITION_UNKNOWN, dropEvent.drop_reason());
- EXPECT_EQ(NanoToMillis(bucketStartTimeNs + 100), dropEvent.drop_time_millis());
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs), dropEvent.drop_time_millis());
}
/*
@@ -3569,7 +3570,8 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenPullFailed) {
// Check dump report.
ProtoOutputStream output;
std::set<string> strSet;
- valueProducer->onDumpReport(bucketStartTimeNs + 100, true /* include recent buckets */, true,
+ int64_t dumpReportTimeNs = bucketStartTimeNs + 10000;
+ valueProducer->onDumpReport(dumpReportTimeNs, true /* include recent buckets */, true,
NO_TIME_CONSTRAINTS /* dumpLatency */, &strSet, &output);
StatsLogReport report = outputStreamToProto(&output);
@@ -3579,13 +3581,13 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenPullFailed) {
EXPECT_EQ(NanoToMillis(bucketStartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(1, report.value_metrics().skipped(0).drop_event_size());
auto dropEvent = report.value_metrics().skipped(0).drop_event(0);
EXPECT_EQ(BucketDropReason::PULL_FAILED, dropEvent.drop_reason());
- EXPECT_EQ(NanoToMillis(bucketStartTimeNs + 100), dropEvent.drop_time_millis());
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs), dropEvent.drop_time_millis());
}
/*
@@ -3691,8 +3693,9 @@ TEST(ValueMetricProducerTest_BucketDrop, TestBucketDropWhenBucketTooSmall) {
// Check dump report.
ProtoOutputStream output;
std::set<string> strSet;
- valueProducer->onDumpReport(bucketStartTimeNs + 9000000, true /* include recent buckets */,
- true, NO_TIME_CONSTRAINTS /* dumpLatency */, &strSet, &output);
+ int64_t dumpReportTimeNs = bucketStartTimeNs + 9000000;
+ valueProducer->onDumpReport(dumpReportTimeNs, true /* include recent buckets */, true,
+ NO_TIME_CONSTRAINTS /* dumpLatency */, &strSet, &output);
StatsLogReport report = outputStreamToProto(&output);
EXPECT_TRUE(report.has_value_metrics());
@@ -3701,13 +3704,13 @@ TEST(ValueMetricProducerTest_BucketDrop, TestBucketDropWhenBucketTooSmall) {
EXPECT_EQ(NanoToMillis(bucketStartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucketStartTimeNs + 9000000),
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(1, report.value_metrics().skipped(0).drop_event_size());
auto dropEvent = report.value_metrics().skipped(0).drop_event(0);
EXPECT_EQ(BucketDropReason::BUCKET_TOO_SMALL, dropEvent.drop_reason());
- EXPECT_EQ(NanoToMillis(bucketStartTimeNs + 9000000), dropEvent.drop_time_millis());
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs), dropEvent.drop_time_millis());
}
/*
@@ -3739,7 +3742,8 @@ TEST(ValueMetricProducerTest_BucketDrop, TestMultipleBucketDropEvents) {
// Check dump report.
ProtoOutputStream output;
std::set<string> strSet;
- valueProducer->onDumpReport(bucketStartTimeNs + 1000, true /* include recent buckets */, true,
+ int64_t dumpReportTimeNs = bucketStartTimeNs + 1000;
+ valueProducer->onDumpReport(dumpReportTimeNs, true /* include recent buckets */, true,
FAST /* dumpLatency */, &strSet, &output);
StatsLogReport report = outputStreamToProto(&output);
@@ -3749,7 +3753,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestMultipleBucketDropEvents) {
EXPECT_EQ(NanoToMillis(bucketStartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(2, report.value_metrics().skipped(0).drop_event_size());
@@ -3759,7 +3763,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestMultipleBucketDropEvents) {
dropEvent = report.value_metrics().skipped(0).drop_event(1);
EXPECT_EQ(BucketDropReason::DUMP_REPORT_REQUESTED, dropEvent.drop_reason());
- EXPECT_EQ(NanoToMillis(bucketStartTimeNs + 1000), dropEvent.drop_time_millis());
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs), dropEvent.drop_time_millis());
}
/*
@@ -3826,6 +3830,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestMaxBucketDropEvents) {
// Check dump report.
ProtoOutputStream output;
std::set<string> strSet;
+ int64_t dumpReportTimeNs = bucketStartTimeNs + 1000;
// Because we already have 10 dump events in the current bucket,
// this case should not be added to the list of dump events.
valueProducer->onDumpReport(bucketStartTimeNs + 1000, true /* include recent buckets */, true,
@@ -3838,7 +3843,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestMaxBucketDropEvents) {
EXPECT_EQ(NanoToMillis(bucketStartTimeNs),
report.value_metrics().skipped(0).start_bucket_elapsed_millis());
- EXPECT_EQ(NanoToMillis(bucket2StartTimeNs),
+ EXPECT_EQ(NanoToMillis(dumpReportTimeNs),
report.value_metrics().skipped(0).end_bucket_elapsed_millis());
EXPECT_EQ(10, report.value_metrics().skipped(0).drop_event_size());
diff --git a/cmds/statsd/tests/state/StateTracker_test.cpp b/cmds/statsd/tests/state/StateTracker_test.cpp
index 84aaa54bc5bf..b0acd5ad7452 100644
--- a/cmds/statsd/tests/state/StateTracker_test.cpp
+++ b/cmds/statsd/tests/state/StateTracker_test.cpp
@@ -127,6 +127,23 @@ std::shared_ptr<LogEvent> buildOverlayEventBadStateType(int uid, const std::stri
event->init();
return event;
}
+
+std::shared_ptr<LogEvent> buildBleScanEvent(int uid, bool acquire, bool reset) {
+ std::vector<AttributionNodeInternal> chain;
+ chain.push_back(AttributionNodeInternal());
+ AttributionNodeInternal& attr = chain.back();
+ attr.set_uid(uid);
+
+ std::shared_ptr<LogEvent> event =
+ std::make_shared<LogEvent>(android::util::BLE_SCAN_STATE_CHANGED, 1000);
+ event->write(chain);
+ event->write(reset ? 2 : acquire ? 1 : 0); // PARTIAL_WAKE_LOCK
+ event->write(0); // filtered
+ event->write(0); // first match
+ event->write(0); // opportunistic
+ event->init();
+ return event;
+}
// END: build event functions.
// START: get primary key functions
@@ -277,6 +294,80 @@ TEST(StateTrackerTest, TestUnregisterListener) {
}
/**
+ * Test a binary state atom with nested counting.
+ *
+ * To go from an "ON" state to an "OFF" state with nested counting, we must see
+ * an equal number of "OFF" events as "ON" events.
+ * For example, ACQUIRE, ACQUIRE, RELEASE will still be in the ACQUIRE state.
+ * ACQUIRE, ACQUIRE, RELEASE, RELEASE will be in the RELEASE state.
+ */
+TEST(StateTrackerTest, TestStateChangeNested) {
+ sp<TestStateListener> listener = new TestStateListener();
+ StateManager mgr;
+ mgr.registerListener(android::util::WAKELOCK_STATE_CHANGED, listener);
+
+ std::shared_ptr<LogEvent> event1 =
+ buildPartialWakelockEvent(1000 /* uid */, "tag", true /*acquire*/);
+ mgr.onLogEvent(*event1);
+ EXPECT_EQ(1, listener->updates.size());
+ EXPECT_EQ(1000, listener->updates[0].mKey.getValues()[0].mValue.int_value);
+ EXPECT_EQ(1, listener->updates[0].mState);
+ listener->updates.clear();
+
+ std::shared_ptr<LogEvent> event2 =
+ buildPartialWakelockEvent(1000 /* uid */, "tag", true /*acquire*/);
+ mgr.onLogEvent(*event2);
+ EXPECT_EQ(0, listener->updates.size());
+
+ std::shared_ptr<LogEvent> event3 =
+ buildPartialWakelockEvent(1000 /* uid */, "tag", false /*release*/);
+ mgr.onLogEvent(*event3);
+ EXPECT_EQ(0, listener->updates.size());
+
+ std::shared_ptr<LogEvent> event4 =
+ buildPartialWakelockEvent(1000 /* uid */, "tag", false /*release*/);
+ mgr.onLogEvent(*event4);
+ EXPECT_EQ(1, listener->updates.size());
+ EXPECT_EQ(1000, listener->updates[0].mKey.getValues()[0].mValue.int_value);
+ EXPECT_EQ(0, listener->updates[0].mState);
+}
+
+/**
+ * Test a state atom with a reset state.
+ *
+ * If the reset state value is seen, every state in the map is set to the default
+ * state and every listener is notified.
+ */
+TEST(StateTrackerTest, TestStateChangeReset) {
+ sp<TestStateListener> listener = new TestStateListener();
+ StateManager mgr;
+ mgr.registerListener(android::util::BLE_SCAN_STATE_CHANGED, listener);
+
+ std::shared_ptr<LogEvent> event1 =
+ buildBleScanEvent(1000 /* uid */, true /*acquire*/, false /*reset*/);
+ mgr.onLogEvent(*event1);
+ EXPECT_EQ(1, listener->updates.size());
+ EXPECT_EQ(1000, listener->updates[0].mKey.getValues()[0].mValue.int_value);
+ EXPECT_EQ(BleScanStateChanged::ON, listener->updates[0].mState);
+ listener->updates.clear();
+
+ std::shared_ptr<LogEvent> event2 =
+ buildBleScanEvent(2000 /* uid */, true /*acquire*/, false /*reset*/);
+ mgr.onLogEvent(*event2);
+ EXPECT_EQ(1, listener->updates.size());
+ EXPECT_EQ(2000, listener->updates[0].mKey.getValues()[0].mValue.int_value);
+ EXPECT_EQ(BleScanStateChanged::ON, listener->updates[0].mState);
+ listener->updates.clear();
+
+ std::shared_ptr<LogEvent> event3 =
+ buildBleScanEvent(2000 /* uid */, false /*acquire*/, true /*reset*/);
+ mgr.onLogEvent(*event3);
+ EXPECT_EQ(2, listener->updates.size());
+ EXPECT_EQ(BleScanStateChanged::OFF, listener->updates[0].mState);
+ EXPECT_EQ(BleScanStateChanged::OFF, listener->updates[1].mState);
+}
+
+/**
* Test StateManager's onLogEvent and StateListener's onStateChanged correctly
* updates listener for states without primary keys.
*/
@@ -334,7 +425,7 @@ TEST(StateTrackerTest, TestStateChangePrimaryFieldAttrChain) {
// Log event.
std::shared_ptr<LogEvent> event =
- buildPartialWakelockEvent(1001 /* uid */, "tag1", false /* acquire */);
+ buildPartialWakelockEvent(1001 /* uid */, "tag1", true /* acquire */);
mgr.onLogEvent(*event);
EXPECT_EQ(1, mgr.getStateTrackersCount());
@@ -346,23 +437,25 @@ TEST(StateTrackerTest, TestStateChangePrimaryFieldAttrChain) {
EXPECT_EQ(1001, listener1->updates[0].mKey.getValues()[0].mValue.int_value);
EXPECT_EQ(1, listener1->updates[0].mKey.getValues()[1].mValue.int_value);
EXPECT_EQ("tag1", listener1->updates[0].mKey.getValues()[2].mValue.str_value);
- EXPECT_EQ(WakelockStateChanged::RELEASE, listener1->updates[0].mState);
+ EXPECT_EQ(WakelockStateChanged::ACQUIRE, listener1->updates[0].mState);
// Check StateTracker was updated by querying for state.
HashableDimensionKey queryKey;
getPartialWakelockKey(1001 /* uid */, "tag1", &queryKey);
- EXPECT_EQ(WakelockStateChanged::RELEASE,
+ EXPECT_EQ(WakelockStateChanged::ACQUIRE,
getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey));
// No state stored for this query key.
HashableDimensionKey queryKey2;
getPartialWakelockKey(1002 /* uid */, "tag1", &queryKey2);
- EXPECT_EQ(-1, getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey2));
+ EXPECT_EQ(WakelockStateChanged::RELEASE,
+ getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey2));
// Partial query fails.
HashableDimensionKey queryKey3;
getPartialWakelockKey(1001 /* uid */, &queryKey3);
- EXPECT_EQ(-1, getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey3));
+ EXPECT_EQ(WakelockStateChanged::RELEASE,
+ getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey3));
}
/**
diff --git a/cmds/statsd/tests/statsd_test_util.cpp b/cmds/statsd/tests/statsd_test_util.cpp
index e0aecceac4e3..6e1890ad63a9 100644
--- a/cmds/statsd/tests/statsd_test_util.cpp
+++ b/cmds/statsd/tests/statsd_test_util.cpp
@@ -580,9 +580,15 @@ std::unique_ptr<LogEvent> CreateUidProcessStateChangedEvent(
}
sp<StatsLogProcessor> CreateStatsLogProcessor(const int64_t timeBaseNs, const int64_t currentTimeNs,
- const StatsdConfig& config, const ConfigKey& key) {
+ const StatsdConfig& config, const ConfigKey& key,
+ const sp<IPullAtomCallback>& puller,
+ const int32_t atomTag) {
sp<UidMap> uidMap = new UidMap();
sp<StatsPullerManager> pullerManager = new StatsPullerManager();
+ if (puller != nullptr) {
+ pullerManager->RegisterPullAtomCallback(/*uid=*/0, atomTag, NS_PER_SEC, NS_PER_SEC * 10, {},
+ puller);
+ }
sp<AlarmMonitor> anomalyAlarmMonitor =
new AlarmMonitor(1, [](const sp<IStatsCompanionService>&, int64_t){},
[](const sp<IStatsCompanionService>&){});
@@ -942,6 +948,34 @@ void backfillStartEndTimestamp(ConfigMetricsReportList *config_report_list) {
}
}
+binder::Status FakeSubsystemSleepCallback::onPullAtom(
+ int atomTag, const sp<IPullAtomResultReceiver>& resultReceiver) {
+ // Convert stats_events into StatsEventParcels.
+ std::vector<android::util::StatsEventParcel> parcels;
+ for (int i = 1; i < 3; i++) {
+ stats_event* event = stats_event_obtain();
+ stats_event_set_atom_id(event, atomTag);
+ std::string subsystemName = "subsystem_name_";
+ subsystemName = subsystemName + std::to_string(i);
+ stats_event_write_string8(event, subsystemName.c_str());
+ stats_event_write_string8(event, "subsystem_subname foo");
+ stats_event_write_int64(event, /*count= */ i);
+ stats_event_write_int64(event, /*time_millis= */ i * 100);
+ stats_event_build(event);
+ size_t size;
+ uint8_t* buffer = stats_event_get_buffer(event, &size);
+
+ android::util::StatsEventParcel p;
+ // vector.assign() creates a copy, but this is inevitable unless
+ // stats_event.h/c uses a vector as opposed to a buffer.
+ p.buffer.assign(buffer, buffer + size);
+ parcels.push_back(std::move(p));
+ stats_event_release(event);
+ }
+ resultReceiver->pullFinished(atomTag, /*success=*/true, parcels);
+ return binder::Status::ok();
+}
+
} // namespace statsd
} // namespace os
} // namespace android
diff --git a/cmds/statsd/tests/statsd_test_util.h b/cmds/statsd/tests/statsd_test_util.h
index 9bdfeebe561f..576a4916d60b 100644
--- a/cmds/statsd/tests/statsd_test_util.h
+++ b/cmds/statsd/tests/statsd_test_util.h
@@ -14,12 +14,16 @@
#pragma once
+#include <android/os/BnPullAtomCallback.h>
+#include <android/os/IPullAtomCallback.h>
+#include <android/os/IPullAtomResultReceiver.h>
#include <gtest/gtest.h>
+
#include "frameworks/base/cmds/statsd/src/stats_log.pb.h"
#include "frameworks/base/cmds/statsd/src/statsd_config.pb.h"
#include "src/StatsLogProcessor.h"
-#include "src/logd/LogEvent.h"
#include "src/hash.h"
+#include "src/logd/LogEvent.h"
#include "src/stats_log_util.h"
#include "statslog.h"
@@ -224,9 +228,10 @@ std::unique_ptr<LogEvent> CreateUidProcessStateChangedEvent(
AttributionNodeInternal CreateAttribution(const int& uid, const string& tag);
// Create a statsd log event processor upon the start time in seconds, config and key.
-sp<StatsLogProcessor> CreateStatsLogProcessor(const int64_t timeBaseNs,
- const int64_t currentTimeNs,
- const StatsdConfig& config, const ConfigKey& key);
+sp<StatsLogProcessor> CreateStatsLogProcessor(const int64_t timeBaseNs, const int64_t currentTimeNs,
+ const StatsdConfig& config, const ConfigKey& key,
+ const sp<IPullAtomCallback>& puller = nullptr,
+ const int32_t atomTag = 0 /*for puller only*/);
// Util function to sort the log events by timestamp.
void sortLogEventsByTimestamp(std::vector<std::unique_ptr<LogEvent>> *events);
@@ -278,6 +283,12 @@ bool backfillDimensionPath(const DimensionsValue& path,
const google::protobuf::RepeatedPtrField<DimensionsValue>& leafValues,
DimensionsValue* dimension);
+class FakeSubsystemSleepCallback : public BnPullAtomCallback {
+public:
+ binder::Status onPullAtom(int atomTag,
+ const sp<IPullAtomResultReceiver>& resultReceiver) override;
+};
+
template <typename T>
void backfillDimensionPath(const DimensionsValue& whatPath,
const DimensionsValue& conditionPath,
diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt
index e649c303541a..6c5d120644eb 100644
--- a/config/boot-image-profile.txt
+++ b/config/boot-image-profile.txt
@@ -13,20 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo$1;-><init>()V
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accessibilityservice/AccessibilityServiceInfo;
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;-><init>(Landroid/content/pm/ResolveInfo;Landroid/content/Context;)V
-HPLandroid/accessibilityservice/AccessibilityServiceInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->getCapabilities()I
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->getComponentName()Landroid/content/ComponentName;
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->getId()Ljava/lang/String;
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->getResolveInfo()Landroid/content/pm/ResolveInfo;
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->initFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->isDirectBootAware()Z
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->loadSummary(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/accounts/Account$1;-><init>()V
HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/Account;
HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/accounts/Account$1;->newArray(I)[Landroid/accounts/Account;
@@ -35,20 +21,15 @@ HSPLandroid/accounts/Account;-><init>(Landroid/os/Parcel;)V
HSPLandroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/Account;->equals(Ljava/lang/Object;)Z
-HPLandroid/accounts/Account;->getAccessId()Ljava/lang/String;
HSPLandroid/accounts/Account;->hashCode()I
-HPLandroid/accounts/Account;->toSafeName(Ljava/lang/String;C)Ljava/lang/String;
-HPLandroid/accounts/Account;->toSafeString()Ljava/lang/String;
HSPLandroid/accounts/Account;->toString()Ljava/lang/String;
HSPLandroid/accounts/Account;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/accounts/AccountAndUser;-><init>(Landroid/accounts/Account;I)V
-HSPLandroid/accounts/AccountAndUser;->equals(Ljava/lang/Object;)Z
-HSPLandroid/accounts/AccountAndUser;->hashCode()I
-HPLandroid/accounts/AccountAndUser;->toString()Ljava/lang/String;
HSPLandroid/accounts/AccountManager$10;->doWork()V
-HSPLandroid/accounts/AccountManager$2;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Boolean;
-HSPLandroid/accounts/AccountManager$2;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$2;->doWork()V
+HSPLandroid/accounts/AccountManager$18;->run()V
+PLandroid/accounts/AccountManager$20;-><init>(Landroid/accounts/AccountManager;)V
+HSPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
+HSPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)[Landroid/accounts/Account;
+HSPLandroid/accounts/AccountManager$3;->doWork()V
HSPLandroid/accounts/AccountManager$AmsTask$1;-><init>(Landroid/accounts/AccountManager;)V
HSPLandroid/accounts/AccountManager$AmsTask$Response;-><init>(Landroid/accounts/AccountManager$AmsTask;Landroid/accounts/AccountManager$1;)V
HSPLandroid/accounts/AccountManager$AmsTask$Response;->onResult(Landroid/os/Bundle;)V
@@ -59,59 +40,31 @@ HSPLandroid/accounts/AccountManager$AmsTask;->internalGetResult(Ljava/lang/Long;
HSPLandroid/accounts/AccountManager$AmsTask;->set(Landroid/os/Bundle;)V
HSPLandroid/accounts/AccountManager$AmsTask;->start()Landroid/accounts/AccountManagerFuture;
HSPLandroid/accounts/AccountManager$BaseFutureTask$Response;->onResult(Landroid/os/Bundle;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask;->postRunnableToHandler(Ljava/lang/Runnable;)V
HSPLandroid/accounts/AccountManager$BaseFutureTask;->startTask()V
-HSPLandroid/accounts/AccountManager$Future2Task$1;->run()V
HSPLandroid/accounts/AccountManager$Future2Task;->done()V
HSPLandroid/accounts/AccountManager$Future2Task;->getResult()Ljava/lang/Object;
HSPLandroid/accounts/AccountManager$Future2Task;->internalGetResult(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLandroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
+HSPLandroid/accounts/AccountManager;->access$000(Landroid/accounts/AccountManager;)Landroid/accounts/IAccountManager;
+HSPLandroid/accounts/AccountManager;->access$100(Landroid/accounts/AccountManager;)Landroid/content/Context;
HSPLandroid/accounts/AccountManager;->addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z)V
HSPLandroid/accounts/AccountManager;->addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z[Ljava/lang/String;)V
HSPLandroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
HSPLandroid/accounts/AccountManager;->ensureNotOnMainThread()V
HSPLandroid/accounts/AccountManager;->get(Landroid/content/Context;)Landroid/accounts/AccountManager;
HSPLandroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager;->getAccountsAsUser(I)[Landroid/accounts/Account;
HSPLandroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
+HSPLandroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
HSPLandroid/accounts/AccountManager;->getAccountsByTypeAsUser(Ljava/lang/String;Landroid/os/UserHandle;)[Landroid/accounts/Account;
HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-HPLandroid/accounts/AccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-HSPLandroid/accounts/AccountManager;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/AuthenticatorDescription$1;-><init>()V
-HSPLandroid/accounts/AuthenticatorDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AuthenticatorDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/accounts/AuthenticatorDescription$1;->newArray(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AuthenticatorDescription$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/accounts/AuthenticatorDescription;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;Ljava/lang/String;IIIIZ)V
-HSPLandroid/accounts/AuthenticatorDescription;->equals(Ljava/lang/Object;)Z
-HSPLandroid/accounts/AuthenticatorDescription;->hashCode()I
-HSPLandroid/accounts/AuthenticatorDescription;->newKey(Ljava/lang/String;)Landroid/accounts/AuthenticatorDescription;
-HPLandroid/accounts/AuthenticatorDescription;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-HPLandroid/accounts/IAccountAuthenticator$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticator;
-HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;-><init>()V
-PLandroid/accounts/IAccountAuthenticatorResponse$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->onAccountAccessed(Ljava/lang/String;)V
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub;-><init>()V
-HPLandroid/accounts/IAccountManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HPLandroid/accounts/IAccountManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
HSPLandroid/accounts/IAccountManagerResponse$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/accounts/IAccountManagerResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManagerResponse;
HSPLandroid/accounts/IAccountManagerResponse$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/animation/AnimationHandler$1;->doFrame(J)V
HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J
@@ -121,47 +74,34 @@ HSPLandroid/animation/AnimationHandler;->addAnimationFrameCallback(Landroid/anim
HSPLandroid/animation/AnimationHandler;->autoCancelBasedOn(Landroid/animation/ObjectAnimator;)V
HSPLandroid/animation/AnimationHandler;->cleanUpList()V
HSPLandroid/animation/AnimationHandler;->doAnimationFrame(J)V
+HSPLandroid/animation/AnimationHandler;->getAnimationCount()I
HSPLandroid/animation/AnimationHandler;->removeCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;)V
-HSPLandroid/animation/AnimationHandler;->setProvider(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;)V
-HSPLandroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I
HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator;
HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Ljava/lang/Object;
HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V
HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V
+HSPLandroid/animation/Animator;-><init>()V
HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V
HSPLandroid/animation/Animator;->appendChangingConfigurations(I)V
HSPLandroid/animation/Animator;->clone()Landroid/animation/Animator;
HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState;
HSPLandroid/animation/Animator;->getChangingConfigurations()I
-HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList;
-HSPLandroid/animation/Animator;->pause()V
-HSPLandroid/animation/Animator;->removeAllListeners()V
HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
-HSPLandroid/animation/Animator;->setAllowRunningAsynchronously(Z)V
-HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLandroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Landroid/util/PathParser$PathData;
-HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/animation/AnimatorInflater;->createAnimatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/animation/AnimatorSet;IF)Landroid/animation/Animator;
HSPLandroid/animation/AnimatorInflater;->createStateListAnimatorFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/animation/StateListAnimator;
HSPLandroid/animation/AnimatorInflater;->getChangingConfigs(Landroid/content/res/Resources;I)I
HSPLandroid/animation/AnimatorInflater;->getPVH(Landroid/content/res/TypedArray;IIILjava/lang/String;)Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/AnimatorInflater;->inferValueTypeFromValues(Landroid/content/res/TypedArray;II)I
-HSPLandroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/Context;I)Landroid/animation/Animator;
HSPLandroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;IF)Landroid/animation/Animator;
HSPLandroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;Landroid/animation/ValueAnimator;F)Landroid/animation/ValueAnimator;
HSPLandroid/animation/AnimatorInflater;->loadStateListAnimator(Landroid/content/Context;I)Landroid/animation/StateListAnimator;
HSPLandroid/animation/AnimatorInflater;->parseAnimatorFromTypeArray(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;F)V
HSPLandroid/animation/AnimatorInflater;->setupObjectAnimator(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;IF)V
HSPLandroid/animation/AnimatorListenerAdapter;-><init>()V
-HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationCancel(Landroid/animation/Animator;)V
-HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationEnd(Landroid/animation/Animator;)V
HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLandroid/animation/AnimatorSet$1;->onAnimationEnd(Landroid/animation/Animator;)V
HSPLandroid/animation/AnimatorSet$2;->onAnimationEnd(Landroid/animation/Animator;)V
HSPLandroid/animation/AnimatorSet$3;->compare(Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;)I
HSPLandroid/animation/AnimatorSet$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLandroid/animation/AnimatorSet$AnimationEvent;->getTime()J
-HSPLandroid/animation/AnimatorSet$Builder;->after(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
-HSPLandroid/animation/AnimatorSet$Builder;->before(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
HSPLandroid/animation/AnimatorSet$Builder;->with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
HSPLandroid/animation/AnimatorSet$Node;->addChild(Landroid/animation/AnimatorSet$Node;)V
HSPLandroid/animation/AnimatorSet$Node;->addParent(Landroid/animation/AnimatorSet$Node;)V
@@ -172,87 +112,51 @@ HSPLandroid/animation/AnimatorSet$SeekState;->getPlayTimeNormalized()J
HSPLandroid/animation/AnimatorSet$SeekState;->isActive()Z
HSPLandroid/animation/AnimatorSet$SeekState;->reset()V
HSPLandroid/animation/AnimatorSet;-><init>()V
-HSPLandroid/animation/AnimatorSet;->cancel()V
HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/Animator;
HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/AnimatorSet;
HSPLandroid/animation/AnimatorSet;->createDependencyGraph()V
HSPLandroid/animation/AnimatorSet;->doAnimationFrame(J)Z
-HSPLandroid/animation/AnimatorSet;->end()V
HSPLandroid/animation/AnimatorSet;->endAnimation()V
HSPLandroid/animation/AnimatorSet;->findLatestEventIdForTime(J)I
HSPLandroid/animation/AnimatorSet;->findSiblings(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V
HSPLandroid/animation/AnimatorSet;->getChangingConfigurations()I
HSPLandroid/animation/AnimatorSet;->getChildAnimations()Ljava/util/ArrayList;
-HSPLandroid/animation/AnimatorSet;->getStartDelay()J
-HSPLandroid/animation/AnimatorSet;->getTotalDuration()J
HSPLandroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V
HSPLandroid/animation/AnimatorSet;->initAnimation()V
HSPLandroid/animation/AnimatorSet;->isEmptySet(Landroid/animation/AnimatorSet;)Z
HSPLandroid/animation/AnimatorSet;->isInitialized()Z
-HSPLandroid/animation/AnimatorSet;->isStarted()Z
HSPLandroid/animation/AnimatorSet;->play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
-HSPLandroid/animation/AnimatorSet;->playSequentially([Landroid/animation/Animator;)V
-HSPLandroid/animation/AnimatorSet;->playTogether(Ljava/util/Collection;)V
-HSPLandroid/animation/AnimatorSet;->playTogether([Landroid/animation/Animator;)V
-HSPLandroid/animation/AnimatorSet;->pulseAnimationFrame(J)Z
-HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet;
-HSPLandroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V
-HSPLandroid/animation/AnimatorSet;->setStartDelay(J)V
HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V
-HSPLandroid/animation/AnimatorSet;->shouldPlayTogether()Z
-HSPLandroid/animation/AnimatorSet;->skipToEndValue(Z)V
HSPLandroid/animation/AnimatorSet;->sortAnimationEvents()V
HSPLandroid/animation/AnimatorSet;->start()V
HSPLandroid/animation/AnimatorSet;->start(ZZ)V
HSPLandroid/animation/AnimatorSet;->startAnimation()V
-HSPLandroid/animation/AnimatorSet;->startWithoutPulsing(Z)V
HSPLandroid/animation/AnimatorSet;->updateAnimatorsDuration()V
HSPLandroid/animation/AnimatorSet;->updatePlayTime(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V
-HSPLandroid/animation/ArgbEvaluator;-><init>()V
-HSPLandroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/animation/FloatEvaluator;-><init>()V
+HSPLandroid/animation/FloatKeyframeSet;-><init>([Landroid/animation/Keyframe$FloatKeyframe;)V
HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/FloatKeyframeSet;
HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/Keyframes;
HSPLandroid/animation/FloatKeyframeSet;->getFloatValue(F)F
-HSPLandroid/animation/FloatKeyframeSet;->getValue(F)Ljava/lang/Object;
-HSPLandroid/animation/IntEvaluator;-><init>()V
HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/IntKeyframeSet;
HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/Keyframes;
-HSPLandroid/animation/IntKeyframeSet;->getIntValue(F)I
+HSPLandroid/animation/Keyframe$FloatKeyframe;-><init>(FF)V
HSPLandroid/animation/Keyframe$FloatKeyframe;->clone()Landroid/animation/Keyframe$FloatKeyframe;
HSPLandroid/animation/Keyframe$FloatKeyframe;->clone()Landroid/animation/Keyframe;
HSPLandroid/animation/Keyframe$FloatKeyframe;->getFloatValue()F
HSPLandroid/animation/Keyframe$FloatKeyframe;->setValue(Ljava/lang/Object;)V
HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe$IntKeyframe;
HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe;
-HSPLandroid/animation/Keyframe$IntKeyframe;->getIntValue()I
-HSPLandroid/animation/Keyframe$IntKeyframe;->getValue()Ljava/lang/Object;
-HSPLandroid/animation/Keyframe$IntKeyframe;->setValue(Ljava/lang/Object;)V
-HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe$ObjectKeyframe;
-HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe;
-HSPLandroid/animation/Keyframe$ObjectKeyframe;->getValue()Ljava/lang/Object;
+HSPLandroid/animation/Keyframe;-><init>()V
HSPLandroid/animation/Keyframe;->getFraction()F
HSPLandroid/animation/Keyframe;->getInterpolator()Landroid/animation/TimeInterpolator;
HSPLandroid/animation/Keyframe;->hasValue()Z
+HSPLandroid/animation/Keyframe;->ofFloat(FF)Landroid/animation/Keyframe;
HSPLandroid/animation/Keyframe;->setValueWasSetOnStart(Z)V
HSPLandroid/animation/Keyframe;->valueWasSetOnStart()Z
HSPLandroid/animation/KeyframeSet;-><init>([Landroid/animation/Keyframe;)V
-HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/KeyframeSet;
-HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/Keyframes;
HSPLandroid/animation/KeyframeSet;->getKeyframes()Ljava/util/List;
-HSPLandroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;
HSPLandroid/animation/KeyframeSet;->ofFloat([F)Landroid/animation/KeyframeSet;
HSPLandroid/animation/KeyframeSet;->ofInt([I)Landroid/animation/KeyframeSet;
-HSPLandroid/animation/KeyframeSet;->ofObject([Ljava/lang/Object;)Landroid/animation/KeyframeSet;
-HSPLandroid/animation/KeyframeSet;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-HSPLandroid/animation/LayoutTransition$1;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$2;->onLayoutChange(Landroid/view/View;IIIIIIII)V
-HSPLandroid/animation/LayoutTransition$3;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$3;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$4;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$5;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$CleanupCallback;->cleanup()V
-HSPLandroid/animation/LayoutTransition$CleanupCallback;->onPreDraw()Z
HSPLandroid/animation/LayoutTransition;-><init>()V
HSPLandroid/animation/LayoutTransition;->addChild(Landroid/view/ViewGroup;Landroid/view/View;)V
HSPLandroid/animation/LayoutTransition;->addChild(Landroid/view/ViewGroup;Landroid/view/View;Z)V
@@ -260,102 +164,49 @@ HSPLandroid/animation/LayoutTransition;->addTransitionListener(Landroid/animatio
HSPLandroid/animation/LayoutTransition;->cancel()V
HSPLandroid/animation/LayoutTransition;->cancel(I)V
HSPLandroid/animation/LayoutTransition;->disableTransitionType(I)V
-HSPLandroid/animation/LayoutTransition;->enableTransitionType(I)V
-HSPLandroid/animation/LayoutTransition;->hideChild(Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/animation/LayoutTransition;->isChangingLayout()Z
-HSPLandroid/animation/LayoutTransition;->isRunning()Z
-HSPLandroid/animation/LayoutTransition;->layoutChange(Landroid/view/ViewGroup;)V
-HSPLandroid/animation/LayoutTransition;->removeChild(Landroid/view/ViewGroup;Landroid/view/View;)V
-HSPLandroid/animation/LayoutTransition;->removeChild(Landroid/view/ViewGroup;Landroid/view/View;Z)V
HSPLandroid/animation/LayoutTransition;->removeTransitionListener(Landroid/animation/LayoutTransition$TransitionListener;)V
-HSPLandroid/animation/LayoutTransition;->runAppearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
-HSPLandroid/animation/LayoutTransition;->runChangeTransition(Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/animation/LayoutTransition;->runDisappearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
-HSPLandroid/animation/LayoutTransition;->setAnimateParentHierarchy(Z)V
-HSPLandroid/animation/LayoutTransition;->setAnimator(ILandroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition;->setDuration(J)V
-HSPLandroid/animation/LayoutTransition;->setInterpolator(ILandroid/animation/TimeInterpolator;)V
-HSPLandroid/animation/LayoutTransition;->setStartDelay(IJ)V
-HSPLandroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V
-HSPLandroid/animation/LayoutTransition;->showChild(Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/animation/LayoutTransition;->startChangingAnimations()V
HSPLandroid/animation/ObjectAnimator;-><init>()V
HSPLandroid/animation/ObjectAnimator;->animateValue(F)V
HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/Animator;
-HSPLandroid/animation/ObjectAnimator;->getPropertyName()Ljava/lang/String;
-HSPLandroid/animation/ObjectAnimator;->hasSameTargetAndProperties(Landroid/animation/Animator;)Z
+HSPLandroid/animation/ObjectAnimator;->getTarget()Ljava/lang/Object;
HSPLandroid/animation/ObjectAnimator;->initAnimation()V
HSPLandroid/animation/ObjectAnimator;->isInitialized()Z
HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;
-HSPLandroid/animation/ObjectAnimator;->ofInt(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->ofInt(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;
-HSPLandroid/animation/ObjectAnimator;->ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;
-HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/Animator;
HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
HSPLandroid/animation/ObjectAnimator;->setFloatValues([F)V
HSPLandroid/animation/ObjectAnimator;->setIntValues([I)V
-HSPLandroid/animation/ObjectAnimator;->setObjectValues([Ljava/lang/Object;)V
HSPLandroid/animation/ObjectAnimator;->setProperty(Landroid/util/Property;)V
HSPLandroid/animation/ObjectAnimator;->setTarget(Ljava/lang/Object;)V
-HSPLandroid/animation/ObjectAnimator;->setupEndValues()V
-HSPLandroid/animation/ObjectAnimator;->setupStartValues()V
HSPLandroid/animation/ObjectAnimator;->start()V
-HSPLandroid/animation/PathKeyframes$1;->getFloatValue(F)F
-HSPLandroid/animation/PathKeyframes$2;->getFloatValue(F)F
-HSPLandroid/animation/PathKeyframes$FloatKeyframesBase;->getValue(F)Ljava/lang/Object;
-HSPLandroid/animation/PathKeyframes$SimpleKeyframes;->clone()Landroid/animation/Keyframes;
-HSPLandroid/animation/PathKeyframes;-><init>(Landroid/graphics/Path;F)V
-HSPLandroid/animation/PathKeyframes;->getValue(F)Ljava/lang/Object;
-HSPLandroid/animation/PathKeyframes;->interpolateInRange(FII)Landroid/graphics/PointF;
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->calculateValue(F)V
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setFloatValues([F)V
-HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setProperty(Landroid/util/Property;)V
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V
HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;
HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setIntValues([I)V
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V
+HSPLandroid/animation/PropertyValuesHolder$PropertyValues;-><init>()V
+HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V
HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/PropertyValuesHolder$1;)V
-HSPLandroid/animation/PropertyValuesHolder;->calculateValue(F)V
HSPLandroid/animation/PropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;
HSPLandroid/animation/PropertyValuesHolder;->convertBack(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
HSPLandroid/animation/PropertyValuesHolder;->getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/animation/PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
HSPLandroid/animation/PropertyValuesHolder;->getPropertyName()Ljava/lang/String;
-HSPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V
-HSPLandroid/animation/PropertyValuesHolder;->getValueType()Ljava/lang/Class;
HSPLandroid/animation/PropertyValuesHolder;->init()V
-HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder;->ofKeyframes(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-HSPLandroid/animation/PropertyValuesHolder;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-HSPLandroid/animation/PropertyValuesHolder;->setProperty(Landroid/util/Property;)V
+HSPLandroid/animation/PropertyValuesHolder;->setFloatValues([F)V
HSPLandroid/animation/PropertyValuesHolder;->setPropertyName(Ljava/lang/String;)V
-HSPLandroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V
HSPLandroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V
HSPLandroid/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
-HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V
-HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V
-HSPLandroid/animation/RectEvaluator;-><init>()V
HSPLandroid/animation/StateListAnimator$1;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->getChangingConfigurations()I
HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Landroid/animation/StateListAnimator;
HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Ljava/lang/Object;
-HSPLandroid/animation/StateListAnimator;-><init>()V
HSPLandroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V
HSPLandroid/animation/StateListAnimator;->appendChangingConfigurations(I)V
-HSPLandroid/animation/StateListAnimator;->clearTarget()V
HSPLandroid/animation/StateListAnimator;->clone()Landroid/animation/StateListAnimator;
HSPLandroid/animation/StateListAnimator;->createConstantState()Landroid/content/res/ConstantState;
HSPLandroid/animation/StateListAnimator;->getChangingConfigurations()I
@@ -364,34 +215,23 @@ HSPLandroid/animation/StateListAnimator;->jumpToCurrentState()V
HSPLandroid/animation/StateListAnimator;->setChangingConfigurations(I)V
HSPLandroid/animation/StateListAnimator;->setState([I)V
HSPLandroid/animation/StateListAnimator;->setTarget(Landroid/view/View;)V
-HSPLandroid/animation/TimeAnimator;-><init>()V
-HSPLandroid/animation/TimeAnimator;->animateBasedOnTime(J)Z
-HSPLandroid/animation/TimeAnimator;->initAnimation()V
-HSPLandroid/animation/TimeAnimator;->setCurrentPlayTime(J)V
-HSPLandroid/animation/TimeAnimator;->setTimeListener(Landroid/animation/TimeAnimator$TimeListener;)V
-HSPLandroid/animation/TimeAnimator;->start()V
HSPLandroid/animation/ValueAnimator;-><init>()V
HSPLandroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
HSPLandroid/animation/ValueAnimator;->animateBasedOnTime(J)Z
HSPLandroid/animation/ValueAnimator;->animateValue(F)V
-HSPLandroid/animation/ValueAnimator;->areAnimatorsEnabled()Z
HSPLandroid/animation/ValueAnimator;->cancel()V
HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/Animator;
HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/ValueAnimator;
HSPLandroid/animation/ValueAnimator;->doAnimationFrame(J)Z
HSPLandroid/animation/ValueAnimator;->end()V
HSPLandroid/animation/ValueAnimator;->endAnimation()V
-HSPLandroid/animation/ValueAnimator;->getAnimatedFraction()F
HSPLandroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;
HSPLandroid/animation/ValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
HSPLandroid/animation/ValueAnimator;->getCurrentAnimationsCount()I
-HSPLandroid/animation/ValueAnimator;->getCurrentPlayTime()J
HSPLandroid/animation/ValueAnimator;->getDuration()J
HSPLandroid/animation/ValueAnimator;->getDurationScale()F
-HSPLandroid/animation/ValueAnimator;->getInterpolator()Landroid/animation/TimeInterpolator;
HSPLandroid/animation/ValueAnimator;->getStartDelay()J
HSPLandroid/animation/ValueAnimator;->getTotalDuration()J
-HSPLandroid/animation/ValueAnimator;->getValues()[Landroid/animation/PropertyValuesHolder;
HSPLandroid/animation/ValueAnimator;->initAnimation()V
HSPLandroid/animation/ValueAnimator;->isInitialized()Z
HSPLandroid/animation/ValueAnimator;->isRunning()Z
@@ -399,707 +239,338 @@ HSPLandroid/animation/ValueAnimator;->isStarted()Z
HSPLandroid/animation/ValueAnimator;->notifyStartListeners()V
HSPLandroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;
HSPLandroid/animation/ValueAnimator;->ofInt([I)Landroid/animation/ValueAnimator;
-HSPLandroid/animation/ValueAnimator;->ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;
-HSPLandroid/animation/ValueAnimator;->overrideDurationScale(F)V
-HSPLandroid/animation/ValueAnimator;->pause()V
HSPLandroid/animation/ValueAnimator;->pulseAnimationFrame(J)Z
HSPLandroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V
HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V
HSPLandroid/animation/ValueAnimator;->setCurrentPlayTime(J)V
-HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/Animator;
HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
HSPLandroid/animation/ValueAnimator;->setDurationScale(F)V
-HSPLandroid/animation/ValueAnimator;->setEvaluator(Landroid/animation/TypeEvaluator;)V
HSPLandroid/animation/ValueAnimator;->setFloatValues([F)V
HSPLandroid/animation/ValueAnimator;->setIntValues([I)V
HSPLandroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
-HSPLandroid/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V
HSPLandroid/animation/ValueAnimator;->setRepeatCount(I)V
-HSPLandroid/animation/ValueAnimator;->setRepeatMode(I)V
HSPLandroid/animation/ValueAnimator;->setStartDelay(J)V
HSPLandroid/animation/ValueAnimator;->setValues([Landroid/animation/PropertyValuesHolder;)V
HSPLandroid/animation/ValueAnimator;->shouldPlayBackward(IZ)Z
-HSPLandroid/animation/ValueAnimator;->skipToEndValue(Z)V
HSPLandroid/animation/ValueAnimator;->start()V
HSPLandroid/animation/ValueAnimator;->start(Z)V
HSPLandroid/animation/ValueAnimator;->startAnimation()V
HSPLandroid/animation/ValueAnimator;->startWithoutPulsing(Z)V
-PLandroid/apex/ApexInfo$1;-><init>()V
-PLandroid/apex/ApexInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/apex/ApexInfo;
-PLandroid/apex/ApexInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/apex/ApexInfo$1;->newArray(I)[Landroid/apex/ApexInfo;
-PLandroid/apex/ApexInfo$1;->newArray(I)[Ljava/lang/Object;
-PLandroid/apex/ApexInfo;->readFromParcel(Landroid/os/Parcel;)V
-HPLandroid/apex/IApexService$Stub$Proxy;->getActivePackages()[Landroid/apex/ApexInfo;
-HSPLandroid/apex/IApexService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/apex/IApexService;
-HSPLandroid/app/-$$Lambda$ActivityThread$ActivityClientRecord$HOrG1qglSjSUHSjKBn2rXtX0gGg;->onConfigurationChanged(Landroid/content/res/Configuration;I)V
-HSPLandroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;-><init>()V
HSPLandroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/app/-$$Lambda$ActivityThread$ZXDWm3IBeFmLnFVblhB-IOZCr9o;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/app/-$$Lambda$AppOpsManager$HistoricalOp$DkVcBvqB32SMHlxw0sWQPh3GL1A;->get()Ljava/lang/Object;
-PLandroid/app/-$$Lambda$AppOpsManager$HistoricalOp$HUOLFYs8TiaQIOXcrq6JzjxA6gs;->get()Ljava/lang/Object;
-PLandroid/app/-$$Lambda$AppOpsManager$HistoricalOp$Vs6pDL0wjOBTquwNnreWVbPQrn4;->get()Ljava/lang/Object;
+HSPLandroid/app/-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054;-><init>(Landroid/app/ActivityThread;)V
+HSPLandroid/app/-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HSPLandroid/app/-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher$Args;)V
HSPLandroid/app/-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA;->run()V
HSPLandroid/app/-$$Lambda$Notification$hOCsSZH8tWalFSbIzQ9x9IcPa9M;->onMarshaled(Landroid/app/PendingIntent;Landroid/os/Parcel;I)V
-HSPLandroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;-><init>()V
HSPLandroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;->test(Ljava/lang/Object;)Z
HSPLandroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;->run()V
-HSPLandroid/app/ActionBar$LayoutParams;-><init>(II)V
-HSPLandroid/app/ActionBar$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/app/Activity$HostCallbacks;->onAttachFragment(Landroid/app/Fragment;)V
-HSPLandroid/app/Activity$HostCallbacks;->onFindViewById(I)Landroid/view/View;
-HSPLandroid/app/Activity$HostCallbacks;->onGetLayoutInflater()Landroid/view/LayoutInflater;
-HSPLandroid/app/Activity$HostCallbacks;->onHasView()Z
-HSPLandroid/app/Activity$HostCallbacks;->onUseFragmentManagerInflaterFactory()Z
HSPLandroid/app/Activity;-><init>()V
-HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
-HSPLandroid/app/Activity;->attachBaseContext(Landroid/content/Context;)V
-HSPLandroid/app/Activity;->autofillClientGetComponentName()Landroid/content/ComponentName;
-HSPLandroid/app/Activity;->autofillClientIsFillUiShowing()Z
-HSPLandroid/app/Activity;->autofillClientRequestHideFillUi()Z
-HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
-HSPLandroid/app/Activity;->dispatchEnterAnimationComplete()V
-HSPLandroid/app/Activity;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/app/Activity;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/app/Activity;->findViewById(I)Landroid/view/View;
-HSPLandroid/app/Activity;->finish()V
-HSPLandroid/app/Activity;->finish(I)V
-HSPLandroid/app/Activity;->finishAfterTransition()V
-HSPLandroid/app/Activity;->finishAndRemoveTask()V
-HSPLandroid/app/Activity;->getActionBar()Landroid/app/ActionBar;
-HSPLandroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions;
-HSPLandroid/app/Activity;->getApplication()Landroid/app/Application;
-HSPLandroid/app/Activity;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-HSPLandroid/app/Activity;->getComponentName()Landroid/content/ComponentName;
-HSPLandroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager;
-HSPLandroid/app/Activity;->getIntent()Landroid/content/Intent;
-HSPLandroid/app/Activity;->getLastNonConfigurationInstance()Ljava/lang/Object;
-HSPLandroid/app/Activity;->getLayoutInflater()Landroid/view/LayoutInflater;
-HSPLandroid/app/Activity;->getMenuInflater()Landroid/view/MenuInflater;
-HSPLandroid/app/Activity;->getNextAutofillId()I
-HSPLandroid/app/Activity;->getRequestedOrientation()I
-HSPLandroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
-HSPLandroid/app/Activity;->getTaskId()I
-HSPLandroid/app/Activity;->getTitle()Ljava/lang/CharSequence;
-HSPLandroid/app/Activity;->getWindow()Landroid/view/Window;
-HSPLandroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
-HSPLandroid/app/Activity;->hasWindowFocus()Z
-HSPLandroid/app/Activity;->initWindowDecorActionBar()V
-HSPLandroid/app/Activity;->invalidateOptionsMenu()V
-HSPLandroid/app/Activity;->isChangingConfigurations()Z
-HSPLandroid/app/Activity;->isDestroyed()Z
-HSPLandroid/app/Activity;->isFinishing()Z
-HSPLandroid/app/Activity;->isInMultiWindowMode()Z
-HSPLandroid/app/Activity;->makeVisible()V
-HSPLandroid/app/Activity;->notifyContentCaptureManagerIfNeeded(I)V
-HSPLandroid/app/Activity;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V
-HSPLandroid/app/Activity;->onAttachFragment(Landroid/app/Fragment;)V
-HSPLandroid/app/Activity;->onAttachedToWindow()V
-HSPLandroid/app/Activity;->onBackPressed()V
-HSPLandroid/app/Activity;->onContentChanged()V
-HSPLandroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->onCreateDescription()Ljava/lang/CharSequence;
-HSPLandroid/app/Activity;->onCreateOptionsMenu(Landroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onCreatePanelMenu(ILandroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/app/Activity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/app/Activity;->onDestroy()V
-HSPLandroid/app/Activity;->onDetachedFromWindow()V
-HSPLandroid/app/Activity;->onEnterAnimationComplete()V
-HSPLandroid/app/Activity;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLandroid/app/Activity;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HSPLandroid/app/Activity;->onNewIntent(Landroid/content/Intent;)V
-HSPLandroid/app/Activity;->onPause()V
-HSPLandroid/app/Activity;->onPostCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->onPostResume()V
-HSPLandroid/app/Activity;->onPrepareOptionsMenu(Landroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onProvideReferrer()Landroid/net/Uri;
-HSPLandroid/app/Activity;->onRestart()V
-HSPLandroid/app/Activity;->onRestoreInstanceState(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->onResume()V
-HSPLandroid/app/Activity;->onSaveInstanceState(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->onStart()V
-HSPLandroid/app/Activity;->onStateNotSaved()V
-HSPLandroid/app/Activity;->onStop()V
-HSPLandroid/app/Activity;->onTitleChanged(Ljava/lang/CharSequence;I)V
-HSPLandroid/app/Activity;->onTopResumedActivityChanged(Z)V
-HSPLandroid/app/Activity;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/app/Activity;->onTrimMemory(I)V
-HSPLandroid/app/Activity;->onUserInteraction()V
-HSPLandroid/app/Activity;->onUserLeaveHint()V
-HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/app/Activity;->onWindowFocusChanged(Z)V
-HSPLandroid/app/Activity;->overridePendingTransition(II)V
-HSPLandroid/app/Activity;->performCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V
-HSPLandroid/app/Activity;->performDestroy()V
-HSPLandroid/app/Activity;->performPause()V
-HSPLandroid/app/Activity;->performRestart(ZLjava/lang/String;)V
-HSPLandroid/app/Activity;->performResume(ZLjava/lang/String;)V
-HSPLandroid/app/Activity;->performStart(Ljava/lang/String;)V
-HSPLandroid/app/Activity;->performStop(ZLjava/lang/String;)V
-HSPLandroid/app/Activity;->reportFullyDrawn()V
-HSPLandroid/app/Activity;->requestWindowFeature(I)Z
-HSPLandroid/app/Activity;->restoreManagedDialogs(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->saveManagedDialogs(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->setActionBar(Landroid/widget/Toolbar;)V
-HSPLandroid/app/Activity;->setContentView(I)V
-HSPLandroid/app/Activity;->setIntent(Landroid/content/Intent;)V
-HSPLandroid/app/Activity;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/Activity;->setTheme(I)V
-HSPLandroid/app/Activity;->setTitle(I)V
-HSPLandroid/app/Activity;->setTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;)V
-HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
-HSPLandroid/app/Activity;->startActivityForResult(Landroid/content/Intent;ILandroid/os/Bundle;)V
-HSPLandroid/app/ActivityManager$1;-><init>()V
HSPLandroid/app/ActivityManager$1;->create()Landroid/app/IActivityManager;
HSPLandroid/app/ActivityManager$1;->create()Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$AppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-HSPLandroid/app/ActivityManager$AppTask;->setExcludeFromRecents(Z)V
-HSPLandroid/app/ActivityManager$MemoryInfo$1;-><init>()V
HSPLandroid/app/ActivityManager$MemoryInfo;-><init>()V
HSPLandroid/app/ActivityManager$MemoryInfo;->readFromParcel(Landroid/os/Parcel;)V
-HPLandroid/app/ActivityManager$MemoryInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$ProcessErrorStateInfo$1;-><init>()V
-HSPLandroid/app/ActivityManager$RecentTaskInfo$1;-><init>()V
-HSPLandroid/app/ActivityManager$RecentTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RecentTaskInfo;
-HSPLandroid/app/ActivityManager$RecentTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/ActivityManager$RecentTaskInfo;-><init>()V
-HPLandroid/app/ActivityManager$RecentTaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$RunningAppProcessInfo$1;-><init>()V
HSPLandroid/app/ActivityManager$RunningAppProcessInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningAppProcessInfo;
HSPLandroid/app/ActivityManager$RunningAppProcessInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/ActivityManager$RunningAppProcessInfo;-><init>()V
HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->importanceToProcState(I)I
HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportance(I)I
+HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportanceForClient(ILandroid/content/Context;)I
HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportanceForTargetSdk(II)I
HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$RunningServiceInfo$1;-><init>()V
-HSPLandroid/app/ActivityManager$RunningServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$RunningTaskInfo$1;-><init>()V
-HSPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningTaskInfo;
-HSPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$RunningTaskInfo;-><init>()V
-HSPLandroid/app/ActivityManager$RunningTaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$StackInfo$1;-><init>()V
-HSPLandroid/app/ActivityManager$StackInfo;-><init>()V
-HSPLandroid/app/ActivityManager$StackInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$TaskDescription$1;-><init>()V
+PLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningServiceInfo;
+PLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/app/ActivityManager$RunningServiceInfo;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/app/ActivityManager$TaskDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$TaskDescription;
HSPLandroid/app/ActivityManager$TaskDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/ActivityManager$TaskDescription;-><init>()V
-HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->copyFrom(Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/ActivityManager$TaskDescription;->copyFromPreserveHiddenFields(Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I
-HSPLandroid/app/ActivityManager$TaskDescription;->getIcon()Landroid/graphics/Bitmap;
-HSPLandroid/app/ActivityManager$TaskDescription;->getIconFilename()Ljava/lang/String;
-HSPLandroid/app/ActivityManager$TaskDescription;->getIconResource()I
-HSPLandroid/app/ActivityManager$TaskDescription;->getLabel()Ljava/lang/String;
-HSPLandroid/app/ActivityManager$TaskDescription;->getNavigationBarColor()I
-HSPLandroid/app/ActivityManager$TaskDescription;->getPrimaryColor()I
-HSPLandroid/app/ActivityManager$TaskDescription;->getStatusBarColor()I
-HSPLandroid/app/ActivityManager$TaskDescription;->loadTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
HSPLandroid/app/ActivityManager$TaskDescription;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$TaskDescription;->restoreFromXml(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/app/ActivityManager$TaskDescription;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setBackgroundColor(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setIconFilename(Ljava/lang/String;)V
-HPLandroid/app/ActivityManager$TaskDescription;->setLabel(Ljava/lang/String;)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setNavigationBarColor(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setPrimaryColor(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setStatusBarColor(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$TaskSnapshot$1;-><init>()V
-HPLandroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/content/ComponentName;Landroid/graphics/GraphicBuffer;ILandroid/graphics/Rect;ZFZIIZ)V
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getColorSpace()Landroid/graphics/ColorSpace;
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getContentInsets()Landroid/graphics/Rect;
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getOrientation()I
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getScale()F
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getSnapshot()Landroid/graphics/GraphicBuffer;
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getSystemUiVisibility()I
-PLandroid/app/ActivityManager$TaskSnapshot;->getTopActivityComponent()Landroid/content/ComponentName;
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getWindowingMode()I
-HSPLandroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z
-HSPLandroid/app/ActivityManager$TaskSnapshot;->isReducedResolution()Z
-HSPLandroid/app/ActivityManager$TaskSnapshot;->isTranslucent()Z
-HPLandroid/app/ActivityManager$TaskSnapshot;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$UidObserver;->onUidGone(IZ)V
-HSPLandroid/app/ActivityManager$UidObserver;->onUidStateChanged(IIJ)V
+PLandroid/app/ActivityManager$UidObserver;->onUidGone(IZ)V
+HSPLandroid/app/ActivityManager$UidObserver;->onUidStateChanged(IIJI)V
+HSPLandroid/app/ActivityManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
HSPLandroid/app/ActivityManager;->addOnUidImportanceListener(Landroid/app/ActivityManager$OnUidImportanceListener;I)V
-HSPLandroid/app/ActivityManager;->broadcastStickyIntent(Landroid/content/Intent;I)V
-HSPLandroid/app/ActivityManager;->broadcastStickyIntent(Landroid/content/Intent;II)V
-HSPLandroid/app/ActivityManager;->checkComponentPermission(Ljava/lang/String;IIZ)I
-HSPLandroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
-HSPLandroid/app/ActivityManager;->getAppTasks()Ljava/util/List;
HSPLandroid/app/ActivityManager;->getCurrentUser()I
+HSPLandroid/app/ActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
HSPLandroid/app/ActivityManager;->getLargeMemoryClass()I
HSPLandroid/app/ActivityManager;->getMemoryClass()I
HSPLandroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
HSPLandroid/app/ActivityManager;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-HSPLandroid/app/ActivityManager;->getPackageImportance(Ljava/lang/String;)I
HSPLandroid/app/ActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
HSPLandroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
+HSPLandroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List;
HSPLandroid/app/ActivityManager;->getService()Landroid/app/IActivityManager;
-HPLandroid/app/ActivityManager;->getUidImportance(I)I
-HSPLandroid/app/ActivityManager;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/ActivityManager;->isHighEndGfx()Z
HSPLandroid/app/ActivityManager;->isLowRamDevice()Z
HSPLandroid/app/ActivityManager;->isLowRamDeviceStatic()Z
HSPLandroid/app/ActivityManager;->isRunningInTestHarness()Z
-HSPLandroid/app/ActivityManager;->isSmallBatteryDevice()Z
-HPLandroid/app/ActivityManager;->isSystemReady()Z
HSPLandroid/app/ActivityManager;->isUserAMonkey()Z
-HSPLandroid/app/ActivityManager;->isUserRunning(I)Z
-HSPLandroid/app/ActivityManager;->noteAlarmFinish(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
-HSPLandroid/app/ActivityManager;->noteAlarmStart(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
-HSPLandroid/app/ActivityManager;->noteWakeupAlarm(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/ActivityManager;->processStateAmToProto(I)I
HSPLandroid/app/ActivityManager;->staticGetMemoryClass()I
-HSPLandroid/app/ActivityOptions;-><init>(Landroid/os/Bundle;)V
-HPLandroid/app/ActivityOptions;->abort()V
-HSPLandroid/app/ActivityOptions;->abort(Landroid/app/ActivityOptions;)V
-HSPLandroid/app/ActivityOptions;->disallowEnterPictureInPictureWhileLaunching()Z
-HPLandroid/app/ActivityOptions;->freezeRecentTasksReordering()Z
-HSPLandroid/app/ActivityOptions;->fromBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;
-HSPLandroid/app/ActivityOptions;->getAnimationType()I
-HSPLandroid/app/ActivityOptions;->getAvoidMoveToFront()Z
-HPLandroid/app/ActivityOptions;->getCustomEnterResId()I
-HPLandroid/app/ActivityOptions;->getCustomExitResId()I
-HPLandroid/app/ActivityOptions;->getLaunchActivityType()I
-HSPLandroid/app/ActivityOptions;->getLaunchBounds()Landroid/graphics/Rect;
-HSPLandroid/app/ActivityOptions;->getLaunchDisplayId()I
-HSPLandroid/app/ActivityOptions;->getLaunchTaskBehind()Z
-HSPLandroid/app/ActivityOptions;->getLaunchTaskId()I
-HSPLandroid/app/ActivityOptions;->getLaunchWindowingMode()I
-HSPLandroid/app/ActivityOptions;->getLockTaskMode()Z
-HPLandroid/app/ActivityOptions;->getOnAnimationStartListener()Landroid/os/IRemoteCallback;
-HPLandroid/app/ActivityOptions;->getPackageName()Ljava/lang/String;
-HPLandroid/app/ActivityOptions;->getPendingIntentLaunchFlags()I
-HSPLandroid/app/ActivityOptions;->getRemoteAnimationAdapter()Landroid/view/RemoteAnimationAdapter;
-HSPLandroid/app/ActivityOptions;->getRotationAnimationHint()I
-HSPLandroid/app/ActivityOptions;->getUsageTimeReport()Landroid/app/PendingIntent;
-HSPLandroid/app/ActivityOptions;->makeBasic()Landroid/app/ActivityOptions;
-HSPLandroid/app/ActivityOptions;->makeRemoteAnimation(Landroid/view/RemoteAnimationAdapter;)Landroid/app/ActivityOptions;
-HSPLandroid/app/ActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
-HSPLandroid/app/ActivityOptions;->setLaunchActivityType(I)V
-HSPLandroid/app/ActivityOptions;->setLaunchDisplayId(I)Landroid/app/ActivityOptions;
-HSPLandroid/app/ActivityOptions;->setLaunchWindowingMode(I)V
-HPLandroid/app/ActivityOptions;->setRemoteAnimationAdapter(Landroid/view/RemoteAnimationAdapter;)V
-HSPLandroid/app/ActivityOptions;->toBundle()Landroid/os/Bundle;
-HSPLandroid/app/ActivityTaskManager$1;-><init>()V
HSPLandroid/app/ActivityTaskManager$1;->create()Landroid/app/IActivityTaskManager;
HSPLandroid/app/ActivityTaskManager$1;->create()Ljava/lang/Object;
-HSPLandroid/app/ActivityTaskManager;->getDefaultAppRecentsLimitStatic()I
-HSPLandroid/app/ActivityTaskManager;->getMaxAppRecentsLimitStatic()I
-HSPLandroid/app/ActivityTaskManager;->getMaxRecentTasksStatic()I
HSPLandroid/app/ActivityTaskManager;->getService()Landroid/app/IActivityTaskManager;
-HSPLandroid/app/ActivityTaskManager;->supportsMultiWindow(Landroid/content/Context;)Z
-HSPLandroid/app/ActivityTaskManager;->supportsSplitScreenMultiWindow(Landroid/content/Context;)Z
+HSPLandroid/app/ActivityThread$1;-><init>(Landroid/app/ActivityThread;)V
HSPLandroid/app/ActivityThread$1;->run()V
-HSPLandroid/app/ActivityThread$ActivityClientRecord;-><init>(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;Landroid/app/ClientTransactionHandler;)V
-HSPLandroid/app/ActivityThread$ActivityClientRecord;->init()V
-HSPLandroid/app/ActivityThread$ActivityClientRecord;->setState(I)V
+HSPLandroid/app/ActivityThread$AndroidOs;-><init>(Llibcore/io/Os;)V
HSPLandroid/app/ActivityThread$AndroidOs;->access(Ljava/lang/String;I)Z
HSPLandroid/app/ActivityThread$AndroidOs;->install()V
HSPLandroid/app/ActivityThread$AndroidOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
HSPLandroid/app/ActivityThread$AndroidOs;->remove(Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread$AndroidOs;->rename(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/ActivityThread$AndroidOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
HSPLandroid/app/ActivityThread$AppBindData;-><init>()V
-HSPLandroid/app/ActivityThread$ApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/AutofillOptions;Landroid/content/ContentCaptureOptions;)V
+HSPLandroid/app/ActivityThread$ApplicationThread;-><init>(Landroid/app/ActivityThread;)V
+HSPLandroid/app/ActivityThread$ApplicationThread;-><init>(Landroid/app/ActivityThread;Landroid/app/ActivityThread$1;)V
+HSPLandroid/app/ActivityThread$ApplicationThread;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/AutofillOptions;Landroid/content/ContentCaptureOptions;[J)V
HSPLandroid/app/ActivityThread$ApplicationThread;->clearDnsCache()V
HSPLandroid/app/ActivityThread$ApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-HPLandroid/app/ActivityThread$ApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZZ)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-HPLandroid/app/ActivityThread$ApplicationThread;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;II)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-HPLandroid/app/ActivityThread$ApplicationThread;->scheduleLowMemory()V
+PLandroid/app/ActivityThread$ApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleSleeping(Landroid/os/IBinder;Z)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleStopService(Landroid/os/IBinder;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleTrimMemory(I)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->setCoreSettings(Landroid/os/Bundle;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->setNetworkBlockSeq(J)V
HSPLandroid/app/ActivityThread$ApplicationThread;->setProcessState(I)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->updateProcessState(IZ)V
-HSPLandroid/app/ActivityThread$ApplicationThread;->updateTimeZone()V
-HSPLandroid/app/ActivityThread$CreateServiceData;->toString()Ljava/lang/String;
+HSPLandroid/app/ActivityThread$BindServiceData;-><init>()V
+HSPLandroid/app/ActivityThread$ContextCleanupInfo;-><init>()V
+HSPLandroid/app/ActivityThread$CreateServiceData;-><init>()V
+HSPLandroid/app/ActivityThread$GcIdler;-><init>(Landroid/app/ActivityThread;)V
HSPLandroid/app/ActivityThread$GcIdler;->queueIdle()Z
+HSPLandroid/app/ActivityThread$H;-><init>(Landroid/app/ActivityThread;)V
HSPLandroid/app/ActivityThread$H;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/app/ActivityThread$Idler;->queueIdle()Z
+HSPLandroid/app/ActivityThread$Profiler;-><init>()V
+HSPLandroid/app/ActivityThread$ProviderClientRecord;-><init>(Landroid/app/ActivityThread;[Ljava/lang/String;Landroid/content/IContentProvider;Landroid/content/ContentProvider;Landroid/app/ContentProviderHolder;)V
+HSPLandroid/app/ActivityThread$ProviderKey;-><init>(Ljava/lang/String;I)V
HSPLandroid/app/ActivityThread$ProviderKey;->equals(Ljava/lang/Object;)Z
HSPLandroid/app/ActivityThread$ProviderKey;->hashCode()I
+HSPLandroid/app/ActivityThread$ProviderRefCount;-><init>(Landroid/app/ContentProviderHolder;Landroid/app/ActivityThread$ProviderClientRecord;II)V
+HSPLandroid/app/ActivityThread$PurgeIdler;-><init>(Landroid/app/ActivityThread;)V
HSPLandroid/app/ActivityThread$PurgeIdler;->queueIdle()Z
-HSPLandroid/app/ActivityThread$ServiceArgsData;->toString()Ljava/lang/String;
+HSPLandroid/app/ActivityThread$ReceiverData;-><init>(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZLandroid/os/IBinder;I)V
+HSPLandroid/app/ActivityThread$ServiceArgsData;-><init>()V
HSPLandroid/app/ActivityThread;-><init>()V
+HSPLandroid/app/ActivityThread;->access$1300(Landroid/app/ActivityThread;Landroid/app/ActivityThread$AppBindData;)V
+HSPLandroid/app/ActivityThread;->access$1400(Landroid/app/ActivityThread;Landroid/app/ActivityThread$ReceiverData;)V
+HSPLandroid/app/ActivityThread;->access$1500(Landroid/app/ActivityThread;Landroid/app/ActivityThread$CreateServiceData;)V
+HSPLandroid/app/ActivityThread;->access$1600(Landroid/app/ActivityThread;Landroid/app/ActivityThread$BindServiceData;)V
+HSPLandroid/app/ActivityThread;->access$1700(Landroid/app/ActivityThread;Landroid/app/ActivityThread$BindServiceData;)V
+HSPLandroid/app/ActivityThread;->access$1800(Landroid/app/ActivityThread;Landroid/app/ActivityThread$ServiceArgsData;)V
+HSPLandroid/app/ActivityThread;->access$2100(Landroid/app/ActivityThread;Landroid/app/ActivityThread$CreateBackupAgentData;)V
+HSPLandroid/app/ActivityThread;->access$2200(Landroid/app/ActivityThread;Landroid/app/ActivityThread$CreateBackupAgentData;)V
+HSPLandroid/app/ActivityThread;->access$2600(Landroid/app/ActivityThread;Landroid/os/Bundle;)V
+HSPLandroid/app/ActivityThread;->access$3300(Landroid/app/ActivityThread;)Landroid/app/servertransaction/TransactionExecutor;
+HSPLandroid/app/ActivityThread;->access$3600(Landroid/app/ActivityThread;)V
HSPLandroid/app/ActivityThread;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider;
HSPLandroid/app/ActivityThread;->acquireProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider;
HSPLandroid/app/ActivityThread;->applyCompatConfiguration(I)Landroid/content/res/Configuration;
-HSPLandroid/app/ActivityThread;->applyConfigurationToResources(Landroid/content/res/Configuration;)V
HSPLandroid/app/ActivityThread;->attach(ZJ)V
-HSPLandroid/app/ActivityThread;->callActivityOnSaveInstanceState(Landroid/app/ActivityThread$ActivityClientRecord;)V
-HSPLandroid/app/ActivityThread;->callActivityOnStop(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;)V
-HSPLandroid/app/ActivityThread;->checkAndBlockForNetworkAccess()V
-HSPLandroid/app/ActivityThread;->cleanUpPendingRemoveWindows(Landroid/app/ActivityThread$ActivityClientRecord;Z)V
HSPLandroid/app/ActivityThread;->collectComponentCallbacks(ZLandroid/content/res/Configuration;)Ljava/util/ArrayList;
HSPLandroid/app/ActivityThread;->completeRemoveProvider(Landroid/app/ActivityThread$ProviderRefCount;)V
-HSPLandroid/app/ActivityThread;->createBaseContextForActivity(Landroid/app/ActivityThread$ActivityClientRecord;)Landroid/app/ContextImpl;
+HSPLandroid/app/ActivityThread;->createNewConfigAndUpdateIfNotNull(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration;
HSPLandroid/app/ActivityThread;->currentActivityThread()Landroid/app/ActivityThread;
HSPLandroid/app/ActivityThread;->currentApplication()Landroid/app/Application;
HSPLandroid/app/ActivityThread;->currentOpPackageName()Ljava/lang/String;
HSPLandroid/app/ActivityThread;->currentPackageName()Ljava/lang/String;
HSPLandroid/app/ActivityThread;->currentProcessName()Ljava/lang/String;
-HSPLandroid/app/ActivityThread;->deliverNewIntents(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;)V
-HSPLandroid/app/ActivityThread;->dumpMemInfoTable(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZILjava/lang/String;JJJJJJ)V
-HSPLandroid/app/ActivityThread;->getActivitiesToBeDestroyed()Ljava/util/Map;
+HSPLandroid/app/ActivityThread;->freeTextLayoutCachesIfNeeded(I)V
HSPLandroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;
+HSPLandroid/app/ActivityThread;->getApplication()Landroid/app/Application;
+HSPLandroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread;
+HSPLandroid/app/ActivityThread;->getExecutor()Ljava/util/concurrent/Executor;
HSPLandroid/app/ActivityThread;->getGetProviderLock(Ljava/lang/String;I)Ljava/lang/Object;
+HSPLandroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
HSPLandroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I
HSPLandroid/app/ActivityThread;->getIntentBeingBroadcast()Landroid/content/Intent;
+HSPLandroid/app/ActivityThread;->getLooper()Landroid/os/Looper;
HSPLandroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk;
HSPLandroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;ZZZ)Landroid/app/LoadedApk;
HSPLandroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;II)Landroid/app/LoadedApk;
HSPLandroid/app/ActivityThread;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk;
HSPLandroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager;
+HSPLandroid/app/ActivityThread;->getPermissionManager()Landroid/permission/IPermissionManager;
HSPLandroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl;
HSPLandroid/app/ActivityThread;->getSystemUiContext()Landroid/app/ContextImpl;
-HSPLandroid/app/ActivityThread;->handleActivityConfigurationChanged(Landroid/os/IBinder;Landroid/content/res/Configuration;I)V
-HSPLandroid/app/ActivityThread;->handleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
+HSPLandroid/app/ActivityThread;->getTopLevelResources(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/app/LoadedApk;)Landroid/content/res/Resources;
HSPLandroid/app/ActivityThread;->handleBindApplication(Landroid/app/ActivityThread$AppBindData;)V
HSPLandroid/app/ActivityThread;->handleBindService(Landroid/app/ActivityThread$BindServiceData;)V
HSPLandroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
HSPLandroid/app/ActivityThread;->handleCreateBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
HSPLandroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V
-HSPLandroid/app/ActivityThread;->handleDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)V
HSPLandroid/app/ActivityThread;->handleDestroyBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
HSPLandroid/app/ActivityThread;->handleDispatchPackageBroadcast(I[Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread;->handleDumpProvider(Landroid/app/ActivityThread$DumpComponentInfo;)V
-HPLandroid/app/ActivityThread;->handleDumpService(Landroid/app/ActivityThread$DumpComponentInfo;)V
-HSPLandroid/app/ActivityThread;->handleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-HSPLandroid/app/ActivityThread;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
-HPLandroid/app/ActivityThread;->handleLowMemory()V
-HSPLandroid/app/ActivityThread;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
-HSPLandroid/app/ActivityThread;->handlePauseActivity(Landroid/os/IBinder;ZZILandroid/app/servertransaction/PendingTransactionActions;Ljava/lang/String;)V
+PLandroid/app/ActivityThread;->handleInstallProvider(Landroid/content/pm/ProviderInfo;)V
HSPLandroid/app/ActivityThread;->handleReceiver(Landroid/app/ActivityThread$ReceiverData;)V
-HSPLandroid/app/ActivityThread;->handleRequestAssistContextExtras(Landroid/app/ActivityThread$RequestAssistContextExtras;)V
-HSPLandroid/app/ActivityThread;->handleResumeActivity(Landroid/os/IBinder;ZZLjava/lang/String;)V
HSPLandroid/app/ActivityThread;->handleServiceArgs(Landroid/app/ActivityThread$ServiceArgsData;)V
HSPLandroid/app/ActivityThread;->handleSetCoreSettings(Landroid/os/Bundle;)V
-HSPLandroid/app/ActivityThread;->handleSleeping(Landroid/os/IBinder;Z)V
-HSPLandroid/app/ActivityThread;->handleStartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/ActivityThread;->handleStopActivity(Landroid/os/IBinder;ZILandroid/app/servertransaction/PendingTransactionActions;ZLjava/lang/String;)V
HSPLandroid/app/ActivityThread;->handleStopService(Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityThread;->handleTopResumedActivityChanged(Landroid/os/IBinder;ZLjava/lang/String;)V
HSPLandroid/app/ActivityThread;->handleTrimMemory(I)V
HSPLandroid/app/ActivityThread;->handleUnbindService(Landroid/app/ActivityThread$BindServiceData;)V
-HSPLandroid/app/ActivityThread;->handleWindowVisibility(Landroid/os/IBinder;Z)V
HSPLandroid/app/ActivityThread;->incProviderRefLocked(Landroid/app/ActivityThread$ProviderRefCount;Z)V
HSPLandroid/app/ActivityThread;->installContentProviders(Landroid/content/Context;Ljava/util/List;)V
HSPLandroid/app/ActivityThread;->installProvider(Landroid/content/Context;Landroid/app/ContentProviderHolder;Landroid/content/pm/ProviderInfo;ZZZ)Landroid/app/ContentProviderHolder;
HSPLandroid/app/ActivityThread;->installProviderAuthoritiesLocked(Landroid/content/IContentProvider;Landroid/content/ContentProvider;Landroid/app/ContentProviderHolder;)Landroid/app/ActivityThread$ProviderClientRecord;
-HSPLandroid/app/ActivityThread;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
-HSPLandroid/app/ActivityThread;->installSystemProviders(Ljava/util/List;)V
-HSPLandroid/app/ActivityThread;->lambda$attach$0$ActivityThread(Landroid/content/res/Configuration;)V
+HSPLandroid/app/ActivityThread;->isLoadedApkResourceDirsUpToDate(Landroid/app/LoadedApk;Landroid/content/pm/ApplicationInfo;)Z
+HSPLandroid/app/ActivityThread;->isSystem()Z
+HSPLandroid/app/ActivityThread;->lambda$attach$1$ActivityThread(Landroid/content/res/Configuration;)V
HSPLandroid/app/ActivityThread;->main([Ljava/lang/String;)V
+HSPLandroid/app/ActivityThread;->onCoreSettingsChange()V
HSPLandroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk;
-HSPLandroid/app/ActivityThread;->performActivityConfigurationChanged(Landroid/app/Activity;Landroid/content/res/Configuration;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
-HSPLandroid/app/ActivityThread;->performConfigurationChangedForActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
-HSPLandroid/app/ActivityThread;->performDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
-HSPLandroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity;
-HSPLandroid/app/ActivityThread;->performNewIntents(Landroid/os/IBinder;Ljava/util/List;Z)V
-HSPLandroid/app/ActivityThread;->performPauseActivity(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;Landroid/app/servertransaction/PendingTransactionActions;)Landroid/os/Bundle;
-HSPLandroid/app/ActivityThread;->performPauseActivityIfNeeded(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread;->performRestartActivity(Landroid/os/IBinder;Z)V
-HSPLandroid/app/ActivityThread;->performResumeActivity(Landroid/os/IBinder;ZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
-HSPLandroid/app/ActivityThread;->performStopActivityInner(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions$StopInfo;ZZZLjava/lang/String;)V
-HSPLandroid/app/ActivityThread;->printRow(Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/app/ActivityThread;->relaunchAllActivities()V
+HSPLandroid/app/ActivityThread;->performConfigurationChanged(Landroid/content/ComponentCallbacks2;Landroid/content/res/Configuration;)V
+HSPLandroid/app/ActivityThread;->purgePendingResources()V
HSPLandroid/app/ActivityThread;->releaseProvider(Landroid/content/IContentProvider;Z)Z
-HSPLandroid/app/ActivityThread;->reportSizeConfigurations(Landroid/app/ActivityThread$ActivityClientRecord;)V
-HSPLandroid/app/ActivityThread;->reportStop(Landroid/app/servertransaction/PendingTransactionActions;)V
+HSPLandroid/app/ActivityThread;->scheduleContextCleanup(Landroid/app/ContextImpl;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/app/ActivityThread;->schedulePurgeIdler()V
HSPLandroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;)V
HSPLandroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;IIZ)V
HSPLandroid/app/ActivityThread;->setupGraphicsSupport(Landroid/content/Context;)V
-HSPLandroid/app/ActivityThread;->systemMain()Landroid/app/ActivityThread;
+HSPLandroid/app/ActivityThread;->unscheduleGcIdler()V
HSPLandroid/app/ActivityThread;->updateDebugViewAttributeState()Z
HSPLandroid/app/ActivityThread;->updateDefaultDensity()V
HSPLandroid/app/ActivityThread;->updateLocaleListFromAppContext(Landroid/content/Context;Landroid/os/LocaleList;)V
HSPLandroid/app/ActivityThread;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
HSPLandroid/app/ActivityThread;->updateProcessState(IZ)V
-HSPLandroid/app/ActivityThread;->updateVisibility(Landroid/app/ActivityThread$ActivityClientRecord;Z)V
-HSPLandroid/app/ActivityTransitionState;->enterReady(Landroid/app/Activity;)V
-HSPLandroid/app/ActivityTransitionState;->onResume(Landroid/app/Activity;)V
-HSPLandroid/app/ActivityTransitionState;->onStop()V
-HSPLandroid/app/ActivityTransitionState;->readState(Landroid/os/Bundle;)V
-HSPLandroid/app/ActivityTransitionState;->saveState(Landroid/os/Bundle;)V
-HSPLandroid/app/ActivityTransitionState;->setEnterActivityOptions(Landroid/app/Activity;Landroid/app/ActivityOptions;)V
-HSPLandroid/app/ActivityTransitionState;->startExitBackTransition(Landroid/app/Activity;)Z
-HSPLandroid/app/AlarmManager$AlarmClockInfo$1;-><init>()V
-HSPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AlarmManager$AlarmClockInfo;
-HSPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/AlarmManager$AlarmClockInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/ActivityThread;->updateVmProcessState(I)V
HSPLandroid/app/AlarmManager$ListenerWrapper;-><init>(Landroid/app/AlarmManager;Landroid/app/AlarmManager$OnAlarmListener;)V
HSPLandroid/app/AlarmManager$ListenerWrapper;->cancel()V
-HSPLandroid/app/AlarmManager$ListenerWrapper;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
-HSPLandroid/app/AlarmManager$ListenerWrapper;->run()V
+PLandroid/app/AlarmManager$ListenerWrapper;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+PLandroid/app/AlarmManager$ListenerWrapper;->run()V
+HSPLandroid/app/AlarmManager$ListenerWrapper;->setHandler(Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;-><init>(Landroid/app/IAlarmManager;Landroid/content/Context;)V
+HSPLandroid/app/AlarmManager;->access$000(Landroid/app/AlarmManager;)Landroid/app/IAlarmManager;
+HSPLandroid/app/AlarmManager;->access$100()Landroid/util/ArrayMap;
HSPLandroid/app/AlarmManager;->cancel(Landroid/app/AlarmManager$OnAlarmListener;)V
HSPLandroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
HSPLandroid/app/AlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-HPLandroid/app/AlarmManager;->getNextWakeFromIdleTime()J
-HSPLandroid/app/AlarmManager;->set(IJJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
+HSPLandroid/app/AlarmManager;->legacyExactLength()J
HSPLandroid/app/AlarmManager;->set(IJLandroid/app/PendingIntent;)V
HSPLandroid/app/AlarmManager;->set(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;->setExact(IJLandroid/app/PendingIntent;)V
-HSPLandroid/app/AlarmManager;->setExact(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
+PLandroid/app/AlarmManager;->setExact(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;->setExactAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V
-HPLandroid/app/AlarmManager;->setIdleUntil(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;->setImpl(IJJJILandroid/app/PendingIntent;Landroid/app/AlarmManager$OnAlarmListener;Ljava/lang/String;Landroid/os/Handler;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
HSPLandroid/app/AlarmManager;->setInexactRepeating(IJJLandroid/app/PendingIntent;)V
-HSPLandroid/app/AlarmManager;->setTime(J)V
-HSPLandroid/app/AlarmManager;->setTimeZone(Ljava/lang/String;)V
-HSPLandroid/app/AlarmManager;->setWindow(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
-HSPLandroid/app/AlertDialog;->resolveDialogTheme(Landroid/content/Context;I)I
+HSPLandroid/app/AlarmManager;->setRepeating(IJJLandroid/app/PendingIntent;)V
+HSPLandroid/app/AppCompatCallbacks;-><init>([J)V
+HSPLandroid/app/AppCompatCallbacks;->install([J)V
+HSPLandroid/app/AppCompatCallbacks;->isChangeEnabled(J)Z
+HSPLandroid/app/AppCompatCallbacks;->reportChange(JI)V
HSPLandroid/app/AppComponentFactory;-><init>()V
-HSPLandroid/app/AppComponentFactory;->instantiateActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
HSPLandroid/app/AppComponentFactory;->instantiateApplication(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/app/Application;
HSPLandroid/app/AppComponentFactory;->instantiateClassLoader(Ljava/lang/ClassLoader;Landroid/content/pm/ApplicationInfo;)Ljava/lang/ClassLoader;
HSPLandroid/app/AppComponentFactory;->instantiateProvider(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/content/ContentProvider;
HSPLandroid/app/AppComponentFactory;->instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver;
HSPLandroid/app/AppComponentFactory;->instantiateService(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Service;
HSPLandroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application;
-HSPLandroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I
HSPLandroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
-HSPLandroid/app/AppOpsManager$2;->opChanged(IILjava/lang/String;)V
-HSPLandroid/app/AppOpsManager$HistoricalOp$1;-><init>()V
-HSPLandroid/app/AppOpsManager$HistoricalOp;->collectKeys()Landroid/util/LongSparseArray;
-HSPLandroid/app/AppOpsManager$HistoricalOp;->getAccessCount(III)J
-HSPLandroid/app/AppOpsManager$HistoricalOp;->getAccessDuration(III)J
-HSPLandroid/app/AppOpsManager$HistoricalOp;->getRejectCount(III)J
-HSPLandroid/app/AppOpsManager$HistoricalOp;->merge(Ljava/util/function/Supplier;Landroid/util/LongSparseLongArray;)V
-HPLandroid/app/AppOpsManager$HistoricalOp;->splice(D)Landroid/app/AppOpsManager$HistoricalOp;
-HPLandroid/app/AppOpsManager$HistoricalOp;->splice(Landroid/util/LongSparseLongArray;Ljava/util/function/Supplier;D)V
-HSPLandroid/app/AppOpsManager$HistoricalOps$1;-><init>()V
-HSPLandroid/app/AppOpsManager$HistoricalOps;-><init>(JJ)V
-HSPLandroid/app/AppOpsManager$HistoricalOps;->getOrCreateHistoricalUidOps(I)Landroid/app/AppOpsManager$HistoricalUidOps;
-HSPLandroid/app/AppOpsManager$HistoricalOps;->getUidCount()I
-HSPLandroid/app/AppOpsManager$HistoricalOps;->getUidOpsAt(I)Landroid/app/AppOpsManager$HistoricalUidOps;
-HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseAccessCount(IILjava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseAccessDuration(IILjava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseRejectCount(IILjava/lang/String;IIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalOps;->isEmpty()Z
-HSPLandroid/app/AppOpsManager$HistoricalOps;->merge(Landroid/app/AppOpsManager$HistoricalOps;)V
-HSPLandroid/app/AppOpsManager$HistoricalOps;->round(D)D
-HPLandroid/app/AppOpsManager$HistoricalOps;->splice(DZ)Landroid/app/AppOpsManager$HistoricalOps;
-HPLandroid/app/AppOpsManager$HistoricalOps;->spliceFromEnd(D)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps$1;-><init>()V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2700(Landroid/app/AppOpsManager$HistoricalPackageOps;IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2800(Landroid/app/AppOpsManager$HistoricalPackageOps;IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2900(Landroid/app/AppOpsManager$HistoricalPackageOps;IIIJ)V
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getOpAt(I)Landroid/app/AppOpsManager$HistoricalOp;
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getOrCreateHistoricalOp(I)Landroid/app/AppOpsManager$HistoricalOp;
-HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->merge(Landroid/app/AppOpsManager$HistoricalPackageOps;)V
-HPLandroid/app/AppOpsManager$HistoricalPackageOps;->splice(D)Landroid/app/AppOpsManager$HistoricalPackageOps;
-HSPLandroid/app/AppOpsManager$HistoricalUidOps$1;-><init>()V
-HSPLandroid/app/AppOpsManager$HistoricalUidOps;->getOrCreateHistoricalPackageOps(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalPackageOps;
-HSPLandroid/app/AppOpsManager$HistoricalUidOps;->getPackageOpsAt(I)Landroid/app/AppOpsManager$HistoricalPackageOps;
-HSPLandroid/app/AppOpsManager$HistoricalUidOps;->merge(Landroid/app/AppOpsManager$HistoricalUidOps;)V
-HPLandroid/app/AppOpsManager$HistoricalUidOps;->splice(D)Landroid/app/AppOpsManager$HistoricalUidOps;
-HSPLandroid/app/AppOpsManager$OnOpChangedInternalListener;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/AppOpsManager$OpEntry$1;-><init>()V
-HPLandroid/app/AppOpsManager$OpEntry;->collectKeys()Landroid/util/LongSparseArray;
-HPLandroid/app/AppOpsManager$OpEntry;->getLastAccessTime(III)J
-HPLandroid/app/AppOpsManager$OpEntry;->getLastDuration(III)J
-HPLandroid/app/AppOpsManager$OpEntry;->getLastRejectTime(III)J
-HPLandroid/app/AppOpsManager$OpEntry;->getProxyPackageName(II)Ljava/lang/String;
-HPLandroid/app/AppOpsManager$OpEntry;->getProxyUid(II)I
-HSPLandroid/app/AppOpsManager$OpEntry;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/AppOpsManager$PackageOps$1;-><init>()V
-HSPLandroid/app/AppOpsManager$PackageOps;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/AppOpsManager;->checkAudioOpNoThrow(IIILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager$2;-><init>(Landroid/app/AppOpsManager;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
+HSPLandroid/app/AppOpsManager$OpEntry;-><init>(II[Landroid/util/Pair;)V
+HSPLandroid/app/AppOpsManager$OpEntry;->getOp()I
+HSPLandroid/app/AppOpsManager$OpFeatureEntry$Builder;-><init>(ZLandroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;)V
+HSPLandroid/app/AppOpsManager$OpFeatureEntry$Builder;->build()Landroid/app/AppOpsManager$OpFeatureEntry;
+HSPLandroid/app/AppOpsManager$OpFeatureEntry$Builder;->setParent(Landroid/app/AppOpsManager$OpEntry;)Landroid/app/AppOpsManager$OpFeatureEntry$Builder;
+HSPLandroid/app/AppOpsManager$OpFeatureEntry;-><init>(Landroid/app/AppOpsManager$OpEntry;ZLandroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;)V
+HSPLandroid/app/AppOpsManager$PackageOps;->getOps()Ljava/util/List;
+HSPLandroid/app/AppOpsManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IAppOpsService;)V
HSPLandroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I
HSPLandroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
HSPLandroid/app/AppOpsManager;->checkPackage(ILjava/lang/String;)V
-HPLandroid/app/AppOpsManager;->findFirstNonNegativeForFlagsInStates(Landroid/util/LongSparseLongArray;III)J
-HPLandroid/app/AppOpsManager;->findFirstNonNullForFlagsInStates(Landroid/util/LongSparseArray;III)Ljava/lang/String;
-HSPLandroid/app/AppOpsManager;->finishOp(IILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager;->getFormattedStackTrace()Ljava/lang/String;
HSPLandroid/app/AppOpsManager;->getPackagesForOps([I)Ljava/util/List;
-HSPLandroid/app/AppOpsManager;->getSystemAlertWindowDefault()I
-HSPLandroid/app/AppOpsManager;->getToken(Lcom/android/internal/app/IAppOpsService;)Landroid/os/IBinder;
-HPLandroid/app/AppOpsManager;->isOperationActive(IILjava/lang/String;)Z
-HSPLandroid/app/AppOpsManager;->logOperationIfNeeded(ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/AppOpsManager;->maxForFlagsInStates(Landroid/util/LongSparseLongArray;III)J
-HSPLandroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteOpNoThrow(IILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteProxyOp(ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;I)I
-HSPLandroid/app/AppOpsManager;->opToDefaultMode(I)I
-HSPLandroid/app/AppOpsManager;->opToRestriction(I)Ljava/lang/String;
-HSPLandroid/app/AppOpsManager;->opToSwitch(I)I
+HSPLandroid/app/AppOpsManager;->isCollectingNotedAppOps()Z
+HSPLandroid/app/AppOpsManager;->markAppOpNoted(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HSPLandroid/app/AppOpsManager;->noteOp(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->noteOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->noteOpNoThrow(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+PLandroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
+HPLandroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->noteProxyOp(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->pauseNotedAppOpsCollection()Landroid/app/AppOpsManager$PausedNotedAppOpsCollection;
HSPLandroid/app/AppOpsManager;->permissionToOp(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/app/AppOpsManager;->permissionToOpCode(Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->setMode(IILjava/lang/String;I)V
-HSPLandroid/app/AppOpsManager;->setRestriction(III[Ljava/lang/String;)V
-HSPLandroid/app/AppOpsManager;->setUidMode(III)V
-HSPLandroid/app/AppOpsManager;->setUidMode(Ljava/lang/String;II)V
-HSPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;Z)I
-HSPLandroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
-HSPLandroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V
+HSPLandroid/app/AppOpsManager;->prefixParcelWithAppOpsIfNeeded(Landroid/os/Parcel;)V
+HSPLandroid/app/AppOpsManager;->startWatchingActive([Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
HSPLandroid/app/AppOpsManager;->strOpToOp(Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->sumForFlagsInStates(Landroid/util/LongSparseLongArray;III)J
-HPLandroid/app/AppOpsManager;->unsafeCheckOp(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->writeLongSparseLongArrayToParcel(Landroid/util/LongSparseLongArray;Landroid/os/Parcel;)V
-HSPLandroid/app/AppOpsManager;->writeLongSparseStringArrayToParcel(Landroid/util/LongSparseArray;Landroid/os/Parcel;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostDestroyed(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostPaused(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostResumed(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostStarted(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostStopped(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreDestroyed(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPrePaused(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreResumed(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStarted(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStopped(Landroid/app/Activity;)V
+HSPLandroid/app/AppOpsManager;->unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
HSPLandroid/app/Application;-><init>()V
-HSPLandroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
+HSPLandroid/app/Application;->attach(Landroid/content/Context;)V
HSPLandroid/app/Application;->collectComponentCallbacks()[Ljava/lang/Object;
-HSPLandroid/app/Application;->dispatchActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPaused(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityPostDestroyed(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPostPaused(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPostResumed(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPostSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityPostStarted(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPostStopped(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityPreDestroyed(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPrePaused(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPreResumed(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPreSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityPreStarted(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityPreStopped(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityResumed(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityStarted(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchActivityStopped(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
+HSPLandroid/app/Application;->getProcessName()Ljava/lang/String;
HSPLandroid/app/Application;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/app/Application;->onCreate()V
-HPLandroid/app/Application;->onLowMemory()V
HSPLandroid/app/Application;->onTrimMemory(I)V
HSPLandroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
HSPLandroid/app/Application;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V
HSPLandroid/app/Application;->unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
HSPLandroid/app/Application;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V
-HSPLandroid/app/ApplicationErrorReport$1;-><init>()V
-HSPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Ljava/lang/Throwable;)V
HSPLandroid/app/ApplicationErrorReport$CrashInfo;->sanitizeString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;-><init>()V
-HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;
-HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/ApplicationErrorReport$CrashInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Ljava/lang/Throwable;)V
-HSPLandroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;
-HSPLandroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
-HSPLandroid/app/ApplicationLoaders;-><init>()V
+HSPLandroid/app/ApplicationLoaders$CachedClassLoader;-><init>()V
+HSPLandroid/app/ApplicationLoaders$CachedClassLoader;-><init>(Landroid/app/ApplicationLoaders$1;)V
HSPLandroid/app/ApplicationLoaders;->addNative(Ljava/lang/ClassLoader;Ljava/util/Collection;)V
-HSPLandroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/ClassLoader;
+HSPLandroid/app/ApplicationLoaders;->createAndCacheNonBootclasspathSystemClassLoader(Landroid/content/pm/SharedLibraryInfo;)V
+HSPLandroid/app/ApplicationLoaders;->createAndCacheNonBootclasspathSystemClassLoaders([Landroid/content/pm/SharedLibraryInfo;)V
+HSPLandroid/app/ApplicationLoaders;->getCachedNonBootclasspathSystemLib(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
HSPLandroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
HSPLandroid/app/ApplicationLoaders;->getClassLoaderWithSharedLibraries(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
-HSPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->handleMessage(Landroid/os/Message;)Z
-HSPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->onPermissionsChanged(I)V
+HSPLandroid/app/ApplicationLoaders;->getDefault()Landroid/app/ApplicationLoaders;
+HSPLandroid/app/ApplicationLoaders;->getSharedLibraryClassLoaderWithSharedLibraries(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
+HSPLandroid/app/ApplicationLoaders;->sharedLibrariesEquals(Ljava/util/List;Ljava/util/List;)Z
HSPLandroid/app/ApplicationPackageManager$ResourceName;->equals(Ljava/lang/Object;)Z
HSPLandroid/app/ApplicationPackageManager$ResourceName;->hashCode()I
-HSPLandroid/app/ApplicationPackageManager;-><init>(Landroid/app/ContextImpl;Landroid/content/pm/IPackageManager;)V
-HSPLandroid/app/ApplicationPackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
-HSPLandroid/app/ApplicationPackageManager;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/app/ApplicationPackageManager;-><init>(Landroid/app/ContextImpl;Landroid/content/pm/IPackageManager;Landroid/permission/IPermissionManager;)V
HSPLandroid/app/ApplicationPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/app/ApplicationPackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/app/ApplicationPackageManager;->configurationChanged()V
HSPLandroid/app/ApplicationPackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
-HSPLandroid/app/ApplicationPackageManager;->getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/app/ApplicationPackageManager;->getApplicationEnabledSetting(Ljava/lang/String;)I
HSPLandroid/app/ApplicationPackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
HSPLandroid/app/ApplicationPackageManager;->getApplicationInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
HSPLandroid/app/ApplicationPackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
HSPLandroid/app/ApplicationPackageManager;->getCachedIcon(Landroid/app/ApplicationPackageManager$ResourceName;)Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->getCachedString(Landroid/app/ApplicationPackageManager$ResourceName;)Ljava/lang/CharSequence;
HSPLandroid/app/ApplicationPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;)I
-HSPLandroid/app/ApplicationPackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/app/ApplicationPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
HSPLandroid/app/ApplicationPackageManager;->getInstalledApplications(I)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getInstalledApplicationsAsUser(II)Ljava/util/List;
-HSPLandroid/app/ApplicationPackageManager;->getInstalledModules(I)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getInstalledPackages(I)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getInstalledPackagesAsUser(II)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/app/ApplicationPackageManager;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
HSPLandroid/app/ApplicationPackageManager;->getNameForUid(I)Ljava/lang/String;
HSPLandroid/app/ApplicationPackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
HSPLandroid/app/ApplicationPackageManager;->getPackageInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
HSPLandroid/app/ApplicationPackageManager;->getPackageInstaller()Landroid/content/pm/PackageInstaller;
HSPLandroid/app/ApplicationPackageManager;->getPackageUid(Ljava/lang/String;I)I
-HSPLandroid/app/ApplicationPackageManager;->getPackageUidAsUser(Ljava/lang/String;I)I
HSPLandroid/app/ApplicationPackageManager;->getPackageUidAsUser(Ljava/lang/String;II)I
HSPLandroid/app/ApplicationPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getPackagesHoldingPermissions([Ljava/lang/String;I)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
HSPLandroid/app/ApplicationPackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I
HSPLandroid/app/ApplicationPackageManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HPLandroid/app/ApplicationPackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
+HSPLandroid/app/ApplicationPackageManager;->getProviderInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;
HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;
HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
-HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
HSPLandroid/app/ApplicationPackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/app/ApplicationPackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getSystemSharedLibraryNames()[Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getSystemTextClassifierPackageName()Ljava/lang/String;
+HSPLandroid/app/ApplicationPackageManager;->getSystemTextClassifierPackages()[Ljava/lang/String;
HSPLandroid/app/ApplicationPackageManager;->getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
HSPLandroid/app/ApplicationPackageManager;->getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->getUserId()I
HSPLandroid/app/ApplicationPackageManager;->getUserManager()Landroid/os/UserManager;
HSPLandroid/app/ApplicationPackageManager;->getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;
-HSPLandroid/app/ApplicationPackageManager;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V
HSPLandroid/app/ApplicationPackageManager;->handlePackageBroadcast(I[Ljava/lang/String;Z)V
HSPLandroid/app/ApplicationPackageManager;->hasSystemFeature(Ljava/lang/String;)Z
HSPLandroid/app/ApplicationPackageManager;->hasSystemFeature(Ljava/lang/String;I)Z
HSPLandroid/app/ApplicationPackageManager;->isInstantApp()Z
HSPLandroid/app/ApplicationPackageManager;->isInstantApp(Ljava/lang/String;)Z
+HSPLandroid/app/ApplicationPackageManager;->isSafeMode()Z
HSPLandroid/app/ApplicationPackageManager;->loadItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->loadUnbadgedItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->maybeAdjustApplicationInfo(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
@@ -1114,7 +585,6 @@ HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProviders(Landroid
HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProvidersAsUser(Landroid/content/Intent;II)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->queryIntentServicesAsUser(Landroid/content/Intent;II)Ljava/util/List;
-HSPLandroid/app/ApplicationPackageManager;->replacePreferredActivityAsUser(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
HSPLandroid/app/ApplicationPackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
HSPLandroid/app/ApplicationPackageManager;->resolveActivityAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
HSPLandroid/app/ApplicationPackageManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
@@ -1122,44 +592,27 @@ HSPLandroid/app/ApplicationPackageManager;->resolveContentProviderAsUser(Ljava/l
HSPLandroid/app/ApplicationPackageManager;->resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
HSPLandroid/app/ApplicationPackageManager;->resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
HSPLandroid/app/ApplicationPackageManager;->setComponentEnabledSetting(Landroid/content/ComponentName;II)V
-HSPLandroid/app/ApplicationPackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IILandroid/os/UserHandle;)V
-HSPLandroid/app/BackStackRecord;-><init>(Landroid/app/FragmentManagerImpl;)V
-HSPLandroid/app/BackStackRecord;->add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/BackStackRecord;->bumpBackStackNesting(I)V
-HSPLandroid/app/BackStackRecord;->commit()I
-HSPLandroid/app/BackStackRecord;->commitAllowingStateLoss()I
-HSPLandroid/app/BackStackRecord;->commitInternal(Z)I
-HSPLandroid/app/BackStackRecord;->doAddOp(ILandroid/app/Fragment;Ljava/lang/String;I)V
-HSPLandroid/app/BackStackRecord;->executeOps()V
-HSPLandroid/app/BackStackRecord;->expandOps(Ljava/util/ArrayList;Landroid/app/Fragment;)Landroid/app/Fragment;
-HSPLandroid/app/BackStackRecord;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HSPLandroid/app/BackStackRecord;->interactsWith(I)Z
-HSPLandroid/app/BackStackRecord;->isEmpty()Z
-HSPLandroid/app/BroadcastOptions;-><init>(Landroid/os/Bundle;)V
-HSPLandroid/app/BroadcastOptions;->allowsBackgroundActivityStarts()Z
-HSPLandroid/app/BroadcastOptions;->getMaxManifestReceiverApiLevel()I
-HSPLandroid/app/BroadcastOptions;->getMinManifestReceiverApiLevel()I
-HSPLandroid/app/BroadcastOptions;->getTemporaryAppWhitelistDuration()J
-HSPLandroid/app/BroadcastOptions;->isDontSendToRestrictedApps()Z
+HSPLandroid/app/ApplicationPackageManager;->updateFlagsForComponent(IILandroid/content/Intent;)I
+HSPLandroid/app/ApplicationPackageManager;->updateFlagsForPackage(II)I
HSPLandroid/app/BroadcastOptions;->makeBasic()Landroid/app/BroadcastOptions;
-HSPLandroid/app/BroadcastOptions;->setBackgroundActivityStartsAllowed(Z)V
-HPLandroid/app/BroadcastOptions;->setDontSendToRestrictedApps(Z)V
-HSPLandroid/app/BroadcastOptions;->setMaxManifestReceiverApiLevel(I)V
-HSPLandroid/app/BroadcastOptions;->setTemporaryAppWhitelistDuration(J)V
HSPLandroid/app/BroadcastOptions;->toBundle()Landroid/os/Bundle;
-HSPLandroid/app/ContentProviderHolder$1;-><init>()V
+HSPLandroid/app/ClientTransactionHandler;-><init>()V
+HSPLandroid/app/ClientTransactionHandler;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
HSPLandroid/app/ContentProviderHolder$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ContentProviderHolder;
HSPLandroid/app/ContentProviderHolder$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/ContentProviderHolder;-><init>(Landroid/content/pm/ProviderInfo;)V
HSPLandroid/app/ContentProviderHolder;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/ContentProviderHolder;-><init>(Landroid/os/Parcel;Landroid/app/ContentProviderHolder$1;)V
HSPLandroid/app/ContentProviderHolder;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/ContextImpl$ApplicationContentResolver;-><init>(Landroid/content/Context;Landroid/app/ActivityThread;)V
HSPLandroid/app/ContextImpl$ApplicationContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
HSPLandroid/app/ContextImpl$ApplicationContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
HSPLandroid/app/ContextImpl$ApplicationContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
-HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;)V
+HSPLandroid/app/ContextImpl$ApplicationContentResolver;->resolveUserIdFromAuthority(Ljava/lang/String;)I
+HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;)V
HSPLandroid/app/ContextImpl;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
-HSPLandroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
HSPLandroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
HSPLandroid/app/ContextImpl;->bindServiceCommon(Landroid/content/Intent;Landroid/content/ServiceConnection;ILjava/lang/String;Landroid/os/Handler;Ljava/util/concurrent/Executor;Landroid/os/UserHandle;)Z
HSPLandroid/app/ContextImpl;->canLoadUnsafeResources()Z
@@ -1169,37 +622,35 @@ HSPLandroid/app/ContextImpl;->checkMode(I)V
HSPLandroid/app/ContextImpl;->checkPermission(Ljava/lang/String;II)I
HSPLandroid/app/ContextImpl;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
HSPLandroid/app/ContextImpl;->checkSelfPermission(Ljava/lang/String;)I
-HSPLandroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;III)I
-HSPLandroid/app/ContextImpl;->createActivityContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;ILandroid/content/res/Configuration;)Landroid/app/ContextImpl;
+PLandroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;III)I
HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;)Landroid/app/ContextImpl;
HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;)Landroid/app/ContextImpl;
HSPLandroid/app/ContextImpl;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
HSPLandroid/app/ContextImpl;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
-HSPLandroid/app/ContextImpl;->createCredentialProtectedStorageContext()Landroid/content/Context;
HSPLandroid/app/ContextImpl;->createDeviceProtectedStorageContext()Landroid/content/Context;
-HSPLandroid/app/ContextImpl;->createDisplayContext(Landroid/view/Display;)Landroid/content/Context;
HSPLandroid/app/ContextImpl;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
HSPLandroid/app/ContextImpl;->createPackageContextAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/Context;
-HSPLandroid/app/ContextImpl;->createResources(Landroid/os/IBinder;Landroid/app/LoadedApk;Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Ljava/lang/String;)Landroid/content/res/Resources;
+HSPLandroid/app/ContextImpl;->createResources(Landroid/os/IBinder;Landroid/app/LoadedApk;Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
HSPLandroid/app/ContextImpl;->createSystemContext(Landroid/app/ActivityThread;)Landroid/app/ContextImpl;
+HSPLandroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;)Landroid/app/ContextImpl;
HSPLandroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;I)Landroid/app/ContextImpl;
-HSPLandroid/app/ContextImpl;->deleteSharedPreferences(Ljava/lang/String;)Z
+HSPLandroid/app/ContextImpl;->deleteDatabase(Ljava/lang/String;)Z
HSPLandroid/app/ContextImpl;->enforce(Ljava/lang/String;IZILjava/lang/String;)V
HSPLandroid/app/ContextImpl;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
HSPLandroid/app/ContextImpl;->ensureExternalDirsExistOrFilter([Ljava/io/File;)[Ljava/io/File;
+HSPLandroid/app/ContextImpl;->ensurePrivateCacheDirExists(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
+HSPLandroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;)Ljava/io/File;
HSPLandroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;IILjava/lang/String;)Ljava/io/File;
HSPLandroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder;
HSPLandroid/app/ContextImpl;->getApplicationContext()Landroid/content/Context;
HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
HSPLandroid/app/ContextImpl;->getAssets()Landroid/content/res/AssetManager;
-HSPLandroid/app/ContextImpl;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
HSPLandroid/app/ContextImpl;->getAutofillOptions()Landroid/content/AutofillOptions;
HSPLandroid/app/ContextImpl;->getBasePackageName()Ljava/lang/String;
HSPLandroid/app/ContextImpl;->getCacheDir()Ljava/io/File;
HSPLandroid/app/ContextImpl;->getClassLoader()Ljava/lang/ClassLoader;
HSPLandroid/app/ContextImpl;->getCodeCacheDir()Ljava/io/File;
+HSPLandroid/app/ContextImpl;->getCodeCacheDirBeforeBind(Ljava/io/File;)Ljava/io/File;
HSPLandroid/app/ContextImpl;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
HSPLandroid/app/ContextImpl;->getContentResolver()Landroid/content/ContentResolver;
HSPLandroid/app/ContextImpl;->getDataDir()Ljava/io/File;
@@ -1213,16 +664,19 @@ HSPLandroid/app/ContextImpl;->getExternalCacheDir()Ljava/io/File;
HSPLandroid/app/ContextImpl;->getExternalCacheDirs()[Ljava/io/File;
HSPLandroid/app/ContextImpl;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/app/ContextImpl;->getExternalFilesDirs(Ljava/lang/String;)[Ljava/io/File;
+HSPLandroid/app/ContextImpl;->getFeatureId()Ljava/lang/String;
HSPLandroid/app/ContextImpl;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/app/ContextImpl;->getFilesDir()Ljava/io/File;
+HSPLandroid/app/ContextImpl;->getImpl(Landroid/content/Context;)Landroid/app/ContextImpl;
HSPLandroid/app/ContextImpl;->getMainExecutor()Ljava/util/concurrent/Executor;
HSPLandroid/app/ContextImpl;->getMainLooper()Landroid/os/Looper;
-HSPLandroid/app/ContextImpl;->getMainThreadHandler()Landroid/os/Handler;
HSPLandroid/app/ContextImpl;->getNoBackupFilesDir()Ljava/io/File;
HSPLandroid/app/ContextImpl;->getOpPackageName()Ljava/lang/String;
+HSPLandroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
HSPLandroid/app/ContextImpl;->getPackageManager()Landroid/content/pm/PackageManager;
HSPLandroid/app/ContextImpl;->getPackageName()Ljava/lang/String;
HSPLandroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File;
+HSPLandroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context;
HSPLandroid/app/ContextImpl;->getResources()Landroid/content/res/Resources;
HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;
HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
@@ -1231,10 +685,9 @@ HSPLandroid/app/ContextImpl;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/
HSPLandroid/app/ContextImpl;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/app/ContextImpl;->getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String;
HSPLandroid/app/ContextImpl;->getTheme()Landroid/content/res/Resources$Theme;
-HSPLandroid/app/ContextImpl;->getThemeResId()I
HSPLandroid/app/ContextImpl;->getUser()Landroid/os/UserHandle;
HSPLandroid/app/ContextImpl;->getUserId()I
-HSPLandroid/app/ContextImpl;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
+HSPLandroid/app/ContextImpl;->initializeTheme()V
HSPLandroid/app/ContextImpl;->isCredentialProtectedStorage()Z
HSPLandroid/app/ContextImpl;->isDeviceProtectedStorage()Z
HSPLandroid/app/ContextImpl;->isRestricted()Z
@@ -1245,232 +698,57 @@ HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceive
HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
HSPLandroid/app/ContextImpl;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
HSPLandroid/app/ContextImpl;->registerReceiverInternal(Landroid/content/BroadcastReceiver;ILandroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;Landroid/content/Context;I)Landroid/content/Intent;
+HSPLandroid/app/ContextImpl;->resolveUserId(Landroid/net/Uri;)I
+HSPLandroid/app/ContextImpl;->scheduleFinalCleanup(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;)V
HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V
HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V
-HPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/app/ContextImpl;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/app/ContextImpl;->sendStickyBroadcast(Landroid/content/Intent;)V
-HSPLandroid/app/ContextImpl;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-HSPLandroid/app/ContextImpl;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/Bundle;)V
-HSPLandroid/app/ContextImpl;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
HSPLandroid/app/ContextImpl;->setAutofillOptions(Landroid/content/AutofillOptions;)V
HSPLandroid/app/ContextImpl;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
HSPLandroid/app/ContextImpl;->setFilePermissionsFromMode(Ljava/lang/String;II)V
+HSPLandroid/app/ContextImpl;->setOuterContext(Landroid/content/Context;)V
HSPLandroid/app/ContextImpl;->setResources(Landroid/content/res/Resources;)V
HSPLandroid/app/ContextImpl;->setTheme(I)V
-HSPLandroid/app/ContextImpl;->startActivity(Landroid/content/Intent;)V
-HSPLandroid/app/ContextImpl;->startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V
-HSPLandroid/app/ContextImpl;->startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;
HSPLandroid/app/ContextImpl;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
-HSPLandroid/app/ContextImpl;->startServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName;
HSPLandroid/app/ContextImpl;->startServiceCommon(Landroid/content/Intent;ZLandroid/os/UserHandle;)Landroid/content/ComponentName;
HSPLandroid/app/ContextImpl;->stopService(Landroid/content/Intent;)Z
HSPLandroid/app/ContextImpl;->stopServiceCommon(Landroid/content/Intent;Landroid/os/UserHandle;)Z
HSPLandroid/app/ContextImpl;->unbindService(Landroid/content/ServiceConnection;)V
HSPLandroid/app/ContextImpl;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
+HSPLandroid/app/ContextImpl;->updateDisplay(I)V
HSPLandroid/app/ContextImpl;->validateServiceIntent(Landroid/content/Intent;)V
HSPLandroid/app/ContextImpl;->warnIfCallingFromSystemProcess()V
-HSPLandroid/app/DexLoadReporter;-><init>()V
+HSPLandroid/app/DexLoadReporter;->getInstance()Landroid/app/DexLoadReporter;
+HSPLandroid/app/DexLoadReporter;->isSecondaryDexFile(Ljava/lang/String;[Ljava/lang/String;)Z
HSPLandroid/app/DexLoadReporter;->notifyPackageManager(Ljava/util/List;Ljava/util/List;)V
HSPLandroid/app/DexLoadReporter;->registerAppDataDir(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/DexLoadReporter;->registerSecondaryDexForProfiling(Ljava/lang/String;[Ljava/lang/String;)V
HSPLandroid/app/DexLoadReporter;->registerSecondaryDexForProfiling([Ljava/lang/String;)V
HSPLandroid/app/DexLoadReporter;->report(Ljava/util/List;Ljava/util/List;)V
-HSPLandroid/app/Dialog$ListenersHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/app/Dialog;-><init>(Landroid/content/Context;I)V
HSPLandroid/app/Dialog;-><init>(Landroid/content/Context;IZ)V
-HSPLandroid/app/Dialog;->dismiss()V
-HSPLandroid/app/Dialog;->dismissDialog()V
-HSPLandroid/app/Dialog;->dispatchOnCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Dialog;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/app/Dialog;->findViewById(I)Landroid/view/View;
-HSPLandroid/app/Dialog;->getContext()Landroid/content/Context;
HSPLandroid/app/Dialog;->getWindow()Landroid/view/Window;
-HSPLandroid/app/Dialog;->hide()V
-HSPLandroid/app/Dialog;->onAttachedToWindow()V
-HSPLandroid/app/Dialog;->onContentChanged()V
-HSPLandroid/app/Dialog;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Dialog;->onDetachedFromWindow()V
-HSPLandroid/app/Dialog;->onStart()V
-HSPLandroid/app/Dialog;->onStop()V
-HSPLandroid/app/Dialog;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/app/Dialog;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/app/Dialog;->onWindowFocusChanged(Z)V
-HSPLandroid/app/Dialog;->setCancelable(Z)V
-HSPLandroid/app/Dialog;->setCanceledOnTouchOutside(Z)V
-HSPLandroid/app/Dialog;->setContentView(Landroid/view/View;)V
-HSPLandroid/app/Dialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V
-HSPLandroid/app/Dialog;->setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)V
-HSPLandroid/app/Dialog;->show()V
HSPLandroid/app/DownloadManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/app/Fragment;-><init>()V
-HSPLandroid/app/Fragment;->equals(Ljava/lang/Object;)Z
-HSPLandroid/app/Fragment;->getActivity()Landroid/app/Activity;
-HSPLandroid/app/Fragment;->getAnimatingAway()Landroid/animation/Animator;
-HSPLandroid/app/Fragment;->getChildFragmentManager()Landroid/app/FragmentManager;
-HSPLandroid/app/Fragment;->getContext()Landroid/content/Context;
-HSPLandroid/app/Fragment;->getEnterTransition()Landroid/transition/Transition;
-HSPLandroid/app/Fragment;->getNextAnim()I
-HSPLandroid/app/Fragment;->getNextTransition()I
-HSPLandroid/app/Fragment;->getNextTransitionStyle()I
-HSPLandroid/app/Fragment;->getResources()Landroid/content/res/Resources;
-HSPLandroid/app/Fragment;->getView()Landroid/view/View;
-HSPLandroid/app/Fragment;->hashCode()I
-HSPLandroid/app/Fragment;->initState()V
-HSPLandroid/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
-HSPLandroid/app/Fragment;->instantiateChildFragmentManager()V
-HSPLandroid/app/Fragment;->isPostponed()Z
-HSPLandroid/app/Fragment;->noteStateNotSaved()V
-HSPLandroid/app/Fragment;->onActivityCreated(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->onAttach(Landroid/app/Activity;)V
-HSPLandroid/app/Fragment;->onAttach(Landroid/content/Context;)V
-HSPLandroid/app/Fragment;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/app/Fragment;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->onCreateAnimator(IZI)Landroid/animation/Animator;
-HSPLandroid/app/Fragment;->onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
-HSPLandroid/app/Fragment;->onDestroy()V
-HSPLandroid/app/Fragment;->onDestroyView()V
-HSPLandroid/app/Fragment;->onDetach()V
-HSPLandroid/app/Fragment;->onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
-HSPLandroid/app/Fragment;->onPause()V
-HSPLandroid/app/Fragment;->onResume()V
-HSPLandroid/app/Fragment;->onSaveInstanceState(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->onStart()V
-HSPLandroid/app/Fragment;->onStop()V
-HSPLandroid/app/Fragment;->onTrimMemory(I)V
-HSPLandroid/app/Fragment;->onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->onViewStateRestored(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->performActivityCreated(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->performConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/app/Fragment;->performCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->performCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
-HSPLandroid/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
-HSPLandroid/app/Fragment;->performDestroy()V
-HSPLandroid/app/Fragment;->performDestroyView()V
-HSPLandroid/app/Fragment;->performDetach()V
-HSPLandroid/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
-HSPLandroid/app/Fragment;->performPause()V
-HSPLandroid/app/Fragment;->performPrepareOptionsMenu(Landroid/view/Menu;)Z
-HSPLandroid/app/Fragment;->performResume()V
-HSPLandroid/app/Fragment;->performSaveInstanceState(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->performStart()V
-HSPLandroid/app/Fragment;->performStop()V
-HSPLandroid/app/Fragment;->performTrimMemory(I)V
-HSPLandroid/app/Fragment;->restoreChildFragmentState(Landroid/os/Bundle;Z)V
-HSPLandroid/app/Fragment;->restoreViewState(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->setIndex(ILandroid/app/Fragment;)V
-HSPLandroid/app/Fragment;->setNextAnim(I)V
-HSPLandroid/app/Fragment;->setNextTransition(II)V
-HSPLandroid/app/Fragment;->setRetainInstance(Z)V
-HSPLandroid/app/FragmentContainer;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
HSPLandroid/app/FragmentController;->attachHost(Landroid/app/Fragment;)V
HSPLandroid/app/FragmentController;->createController(Landroid/app/FragmentHostCallback;)Landroid/app/FragmentController;
-HSPLandroid/app/FragmentController;->dispatchActivityCreated()V
-HSPLandroid/app/FragmentController;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/app/FragmentController;->dispatchCreate()V
-HSPLandroid/app/FragmentController;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
-HSPLandroid/app/FragmentController;->dispatchDestroy()V
-HSPLandroid/app/FragmentController;->dispatchPause()V
-HSPLandroid/app/FragmentController;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
HSPLandroid/app/FragmentController;->dispatchResume()V
HSPLandroid/app/FragmentController;->dispatchStart()V
-HSPLandroid/app/FragmentController;->dispatchStop()V
-HSPLandroid/app/FragmentController;->dispatchTrimMemory(I)V
-HSPLandroid/app/FragmentController;->doLoaderDestroy()V
-HSPLandroid/app/FragmentController;->doLoaderStart()V
-HSPLandroid/app/FragmentController;->doLoaderStop(Z)V
-HSPLandroid/app/FragmentController;->execPendingActions()Z
-HSPLandroid/app/FragmentController;->getFragmentManager()Landroid/app/FragmentManager;
-HSPLandroid/app/FragmentController;->noteStateNotSaved()V
-HSPLandroid/app/FragmentController;->reportLoaderStart()V
-HSPLandroid/app/FragmentController;->restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V
-HSPLandroid/app/FragmentController;->saveAllState()Landroid/os/Parcelable;
-HSPLandroid/app/FragmentHostCallback;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
-HSPLandroid/app/FragmentHostCallback;->doLoaderDestroy()V
-HSPLandroid/app/FragmentHostCallback;->doLoaderStart()V
-HSPLandroid/app/FragmentHostCallback;->doLoaderStop(Z)V
-HSPLandroid/app/FragmentHostCallback;->getActivity()Landroid/app/Activity;
HSPLandroid/app/FragmentHostCallback;->getContext()Landroid/content/Context;
-HSPLandroid/app/FragmentHostCallback;->getFragmentManagerImpl()Landroid/app/FragmentManagerImpl;
HSPLandroid/app/FragmentHostCallback;->getHandler()Landroid/os/Handler;
-HSPLandroid/app/FragmentHostCallback;->getLoaderManager(Ljava/lang/String;ZZ)Landroid/app/LoaderManagerImpl;
-HSPLandroid/app/FragmentHostCallback;->getRetainLoaders()Z
-HSPLandroid/app/FragmentHostCallback;->inactivateFragment(Ljava/lang/String;)V
-HSPLandroid/app/FragmentHostCallback;->reportLoaderStart()V
-HSPLandroid/app/FragmentManagerImpl$1;->run()V
HSPLandroid/app/FragmentManagerImpl;-><init>()V
-HSPLandroid/app/FragmentManagerImpl;->addAddedFragments(Landroid/util/ArraySet;)V
-HSPLandroid/app/FragmentManagerImpl;->addFragment(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->beginTransaction()Landroid/app/FragmentTransaction;
HSPLandroid/app/FragmentManagerImpl;->burpActive()V
-HSPLandroid/app/FragmentManagerImpl;->checkStateLoss()V
-HSPLandroid/app/FragmentManagerImpl;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
HSPLandroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentActivityCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentDestroyed(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentDetached(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentPaused(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentPreAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentPreCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentResumed(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentSaveInstanceState(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentStarted(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentStopped(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewCreated(Landroid/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewDestroyed(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
HSPLandroid/app/FragmentManagerImpl;->doPendingDeferredStart()V
-HSPLandroid/app/FragmentManagerImpl;->endAnimatingAwayFragments()V
-HSPLandroid/app/FragmentManagerImpl;->enqueueAction(Landroid/app/FragmentManagerImpl$OpGenerator;Z)V
HSPLandroid/app/FragmentManagerImpl;->ensureExecReady(Z)V
-HSPLandroid/app/FragmentManagerImpl;->ensureInflatedFragmentView(Landroid/app/Fragment;)V
HSPLandroid/app/FragmentManagerImpl;->execPendingActions()Z
-HSPLandroid/app/FragmentManagerImpl;->executeOps(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
-HSPLandroid/app/FragmentManagerImpl;->executeOpsTogether(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
-HSPLandroid/app/FragmentManagerImpl;->executePendingTransactions()Z
HSPLandroid/app/FragmentManagerImpl;->executePostponedTransaction(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/app/FragmentManagerImpl;->findFragmentByTag(Ljava/lang/String;)Landroid/app/Fragment;
-HSPLandroid/app/FragmentManagerImpl;->findFragmentUnder(Landroid/app/Fragment;)Landroid/app/Fragment;
HSPLandroid/app/FragmentManagerImpl;->generateOpsForPendingActions(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HSPLandroid/app/FragmentManagerImpl;->isStateSaved()Z
-HSPLandroid/app/FragmentManagerImpl;->loadAnimator(Landroid/app/Fragment;IZI)Landroid/animation/Animator;
-HSPLandroid/app/FragmentManagerImpl;->makeActive(Landroid/app/Fragment;)V
-HSPLandroid/app/FragmentManagerImpl;->makeInactive(Landroid/app/Fragment;)V
-HSPLandroid/app/FragmentManagerImpl;->moveFragmentToExpectedState(Landroid/app/Fragment;)V
HSPLandroid/app/FragmentManagerImpl;->moveToState(IZ)V
-HSPLandroid/app/FragmentManagerImpl;->moveToState(Landroid/app/Fragment;IIIZ)V
-HSPLandroid/app/FragmentManagerImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/app/FragmentManagerImpl;->popBackStackImmediate()Z
-HSPLandroid/app/FragmentManagerImpl;->popBackStackImmediate(Ljava/lang/String;II)Z
-HSPLandroid/app/FragmentManagerImpl;->popBackStackState(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;II)Z
-HSPLandroid/app/FragmentManagerImpl;->postponePostponableTransactions(Ljava/util/ArrayList;Ljava/util/ArrayList;IILandroid/util/ArraySet;)I
-HSPLandroid/app/FragmentManagerImpl;->removeRedundantOperationsAndExecute(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/app/FragmentManagerImpl;->restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V
-HSPLandroid/app/FragmentManagerImpl;->saveAllState()Landroid/os/Parcelable;
-HSPLandroid/app/FragmentManagerImpl;->saveFragmentBasicState(Landroid/app/Fragment;)Landroid/os/Bundle;
-HSPLandroid/app/FragmentManagerImpl;->saveFragmentViewState(Landroid/app/Fragment;)V
-HSPLandroid/app/FragmentManagerImpl;->saveNonConfig()V
-HSPLandroid/app/FragmentManagerImpl;->scheduleCommit()V
-HSPLandroid/app/FragmentManagerState$1;-><init>()V
-HSPLandroid/app/FragmentManagerState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/FragmentState$1;-><init>()V
-HSPLandroid/app/FragmentState;-><init>(Landroid/app/Fragment;)V
-HSPLandroid/app/FragmentState;->instantiate(Landroid/app/FragmentHostCallback;Landroid/app/FragmentContainer;Landroid/app/Fragment;Landroid/app/FragmentManagerNonConfig;)Landroid/app/Fragment;
-HSPLandroid/app/FragmentState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/FragmentTransition;->addToFirstInLastOut(Landroid/app/BackStackRecord;Landroid/app/BackStackRecord$Op;Landroid/util/SparseArray;ZZ)V
-HSPLandroid/app/FragmentTransition;->calculateNameOverrides(ILjava/util/ArrayList;Ljava/util/ArrayList;II)Landroid/util/ArrayMap;
-HSPLandroid/app/FragmentTransition;->cloneTransition(Landroid/transition/Transition;)Landroid/transition/Transition;
-HSPLandroid/app/FragmentTransition;->configureSharedElementsReordered(Landroid/view/ViewGroup;Landroid/view/View;Landroid/util/ArrayMap;Landroid/app/FragmentTransition$FragmentContainerTransition;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/transition/Transition;Landroid/transition/Transition;)Landroid/transition/TransitionSet;
-HSPLandroid/app/FragmentTransition;->configureTransitionsReordered(Landroid/app/FragmentManagerImpl;ILandroid/app/FragmentTransition$FragmentContainerTransition;Landroid/view/View;Landroid/util/ArrayMap;)V
-HSPLandroid/app/FragmentTransition;->startTransitions(Landroid/app/FragmentManagerImpl;Ljava/util/ArrayList;Ljava/util/ArrayList;IIZ)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->addPackageDependency(Ljava/lang/String;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->attachApplication(Landroid/app/IApplicationThread;J)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;I)V
@@ -1478,224 +756,77 @@ HSPLandroid/app/IActivityManager$Stub$Proxy;->bindIsolatedService(Landroid/app/I
HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I
HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
+HSPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
HSPLandroid/app/IActivityManager$Stub$Proxy;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getCurrentUser()Landroid/content/pm/UserInfo;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getRunningAppProcesses()Ljava/util/List;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
+HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserAMonkey()Z
HSPLandroid/app/IActivityManager$Stub$Proxy;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->refContentProvider(Landroid/os/IBinder;II)Z
HSPLandroid/app/IActivityManager$Stub$Proxy;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;III)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->setRenderThread(I)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
HSPLandroid/app/IActivityManager$Stub$Proxy;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
HSPLandroid/app/IActivityManager$Stub$Proxy;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->unbindService(Landroid/app/IServiceConnection;)Z
HSPLandroid/app/IActivityManager$Stub$Proxy;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->updateConfiguration(Landroid/content/res/Configuration;)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->waitForNetworkStateUpdate(J)V
-HSPLandroid/app/IActivityManager$Stub;-><init>()V
-HPLandroid/app/IActivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/IActivityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityDestroyed(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityPaused(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityResumed(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityTopResumedStateLost()V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getActivityDisplayId(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getRequestedOrientation(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTaskForActivity(Landroid/os/IBinder;Z)I
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
-HSPLandroid/app/IActivityTaskManager$Stub;-><init>()V
-HPLandroid/app/IActivityTaskManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/IActivityTaskManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IAlarmCompleteListener$Stub$Proxy;->alarmComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/IAlarmCompleteListener$Stub;-><init>()V
-HSPLandroid/app/IAlarmCompleteListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IAlarmCompleteListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IAlarmListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IAlarmListener$Stub$Proxy;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+HSPLandroid/app/IActivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityManager;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
+PLandroid/app/IAlarmCompleteListener$Stub$Proxy;->alarmComplete(Landroid/os/IBinder;)V
HSPLandroid/app/IAlarmListener$Stub;-><init>()V
HSPLandroid/app/IAlarmListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IAlarmListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmListener;
-HSPLandroid/app/IAlarmListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/app/IAlarmListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/IAlarmManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/IAlarmManager$Stub$Proxy;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
HSPLandroid/app/IAlarmManager$Stub$Proxy;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-HSPLandroid/app/IAlarmManager$Stub$Proxy;->setTimeZone(Ljava/lang/String;)V
-HSPLandroid/app/IAlarmManager$Stub;-><init>()V
HSPLandroid/app/IAlarmManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmManager;
-HPLandroid/app/IAlarmManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/IAlarmManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IAppTask$Stub$Proxy;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-HSPLandroid/app/IAppTask$Stub$Proxy;->setExcludeFromRecents(Z)V
-HPLandroid/app/IAppTask$Stub;-><init>()V
-HPLandroid/app/IAppTask$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IApplicationThread$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/AutofillOptions;Landroid/content/ContentCaptureOptions;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->clearDnsCache()V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;II)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleLowMemory()V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleSleeping(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleStopService(Landroid/os/IBinder;)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleSuicide()V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleTrimMemory(I)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->setNetworkBlockSeq(J)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->setProcessState(I)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->unstableProviderDied(Landroid/os/IBinder;)V
+HSPLandroid/app/IApplicationThread$Stub;-><init>()V
HSPLandroid/app/IApplicationThread$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IApplicationThread$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IApplicationThread;
HSPLandroid/app/IApplicationThread$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/app/IAssistDataReceiver$Stub;-><init>()V
-PLandroid/app/IAssistDataReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAssistDataReceiver;
-HPLandroid/app/IBackupAgent$Stub$Proxy;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JLandroid/app/backup/IBackupCallback;I)V
-PLandroid/app/IBackupAgent$Stub$Proxy;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-HPLandroid/app/IBackupAgent$Stub$Proxy;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
-HPLandroid/app/IBackupAgent$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IBackupAgent;
HSPLandroid/app/IBackupAgent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppResolveInfoList(Landroid/content/Intent;[IILjava/lang/String;ILandroid/os/IRemoteCallback;)V
-PLandroid/app/IInstantAppResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstantAppResolver;
HSPLandroid/app/IInstrumentationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstrumentationWatcher;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabled(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
HSPLandroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/INotificationManager$Stub$Proxy;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
HSPLandroid/app/INotificationManager$Stub$Proxy;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenMode()I
-HSPLandroid/app/INotificationManager$Stub;-><init>()V
HSPLandroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager;
-HPLandroid/app/INotificationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/INotificationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IProcessObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/app/IProcessObserver$Stub$Proxy;->onForegroundActivitiesChanged(IIZ)V
-HPLandroid/app/IProcessObserver$Stub$Proxy;->onForegroundServicesChanged(III)V
-HPLandroid/app/IProcessObserver$Stub$Proxy;->onProcessDied(II)V
-HSPLandroid/app/IProcessObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IProcessObserver;
-HSPLandroid/app/ISearchManager$Stub;-><init>()V
-HPLandroid/app/ISearchManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IServiceConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IServiceConnection$Stub$Proxy;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
+HSPLandroid/app/IServiceConnection$Stub;-><init>()V
HSPLandroid/app/IServiceConnection$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IServiceConnection;
HSPLandroid/app/IServiceConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/ITaskStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/app/ITaskStackListener$Stub$Proxy;->onActivityRequestedOrientationChanged(II)V
-HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskCreated(ILandroid/content/ComponentName;)V
-HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskDescriptionChanged(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemoved(I)V
-HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
-HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskStackChanged()V
-HSPLandroid/app/ITaskStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITaskStackListener;
-PLandroid/app/ITransientNotification$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/app/ITransientNotification$Stub$Proxy;->hide()V
-PLandroid/app/ITransientNotification$Stub$Proxy;->show(Landroid/os/IBinder;)V
-HSPLandroid/app/ITransientNotification$Stub;-><init>()V
-HSPLandroid/app/ITransientNotification$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/app/ITransientNotification$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITransientNotification;
+HSPLandroid/app/ITaskStackListener$Stub;-><init>()V
HSPLandroid/app/IUiAutomationConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiAutomationConnection;
HSPLandroid/app/IUiModeManager$Stub$Proxy;->getCurrentModeType()I
-HSPLandroid/app/IUiModeManager$Stub$Proxy;->getNightMode()I
-HSPLandroid/app/IUiModeManager$Stub;-><init>()V
HSPLandroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager;
-HSPLandroid/app/IUiModeManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IUidObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IUidObserver$Stub$Proxy;->onUidActive(I)V
-HSPLandroid/app/IUidObserver$Stub$Proxy;->onUidGone(IZ)V
-HSPLandroid/app/IUidObserver$Stub$Proxy;->onUidIdle(IZ)V
-HSPLandroid/app/IUidObserver$Stub$Proxy;->onUidStateChanged(IIJ)V
-HSPLandroid/app/IUidObserver$Stub;-><init>()V
HSPLandroid/app/IUidObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IUidObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUidObserver;
-HSPLandroid/app/IUriGrantsManager$Stub;-><init>()V
-HPLandroid/app/IUriGrantsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onForegroundProfileSwitch(I)V
-HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onLockedBootComplete(I)V
-HSPLandroid/app/IUserSwitchObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IUserSwitchObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUserSwitchObserver;
-HSPLandroid/app/IUserSwitchObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperColors(III)Landroid/app/WallpaperColors;
-HSPLandroid/app/IWallpaperManager$Stub;-><init>()V
-HSPLandroid/app/IWallpaperManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
+HSPLandroid/app/IUriGrantsManager$Stub$Proxy;->getUriPermissions(Ljava/lang/String;ZZ)Landroid/content/pm/ParceledListSlice;
HSPLandroid/app/Instrumentation;-><init>()V
HSPLandroid/app/Instrumentation;->basicInit(Landroid/app/ActivityThread;)V
-HSPLandroid/app/Instrumentation;->callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Instrumentation;->callActivityOnDestroy(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V
-HSPLandroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Lcom/android/internal/content/ReferrerIntent;)V
-HSPLandroid/app/Instrumentation;->callActivityOnPause(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Instrumentation;->callActivityOnRestart(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Instrumentation;->callActivityOnResume(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Instrumentation;->callActivityOnStart(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->callActivityOnStop(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->callActivityOnUserLeaving(Landroid/app/Activity;)V
HSPLandroid/app/Instrumentation;->callApplicationOnCreate(Landroid/app/Application;)V
-HSPLandroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
-HSPLandroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
HSPLandroid/app/Instrumentation;->getFactory(Ljava/lang/String;)Landroid/app/AppComponentFactory;
-HSPLandroid/app/Instrumentation;->newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
HSPLandroid/app/Instrumentation;->newApplication(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Context;)Landroid/app/Application;
HSPLandroid/app/Instrumentation;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Instrumentation;->onEnterAnimationComplete()V
-HSPLandroid/app/Instrumentation;->postPerformCreate(Landroid/app/Activity;)V
-HSPLandroid/app/Instrumentation;->prePerformCreate(Landroid/app/Activity;)V
-HSPLandroid/app/IntentService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/app/IntentReceiverLeaked;-><init>(Ljava/lang/String;)V
HSPLandroid/app/IntentService;-><init>(Ljava/lang/String;)V
HSPLandroid/app/IntentService;->onCreate()V
HSPLandroid/app/IntentService;->onDestroy()V
-HSPLandroid/app/IntentService;->onStart(Landroid/content/Intent;I)V
-HSPLandroid/app/IntentService;->onStartCommand(Landroid/content/Intent;II)I
-HSPLandroid/app/IntentService;->setIntentRedelivery(Z)V
+HSPLandroid/app/JobSchedulerImpl;-><init>(Landroid/app/job/IJobScheduler;)V
HSPLandroid/app/JobSchedulerImpl;->cancel(I)V
HSPLandroid/app/JobSchedulerImpl;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
HSPLandroid/app/JobSchedulerImpl;->getAllPendingJobs()Ljava/util/List;
@@ -1703,34 +834,43 @@ HSPLandroid/app/JobSchedulerImpl;->getPendingJob(I)Landroid/app/job/JobInfo;
HSPLandroid/app/JobSchedulerImpl;->schedule(Landroid/app/job/JobInfo;)I
HSPLandroid/app/JobSchedulerImpl;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
HSPLandroid/app/KeyguardManager;-><init>(Landroid/content/Context;)V
-HPLandroid/app/KeyguardManager;->createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Landroid/content/Intent;
-HPLandroid/app/KeyguardManager;->getSettingsPackageForIntent(Landroid/content/Intent;)Ljava/lang/String;
-HSPLandroid/app/KeyguardManager;->inKeyguardRestrictedInputMode()Z
-HSPLandroid/app/KeyguardManager;->isDeviceLocked()Z
HSPLandroid/app/KeyguardManager;->isDeviceLocked(I)Z
HSPLandroid/app/KeyguardManager;->isDeviceSecure()Z
HSPLandroid/app/KeyguardManager;->isDeviceSecure(I)Z
HSPLandroid/app/KeyguardManager;->isKeyguardLocked()Z
HSPLandroid/app/KeyguardManager;->isKeyguardSecure()Z
HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable;
HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args()V
+HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Z)V
HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
HSPLandroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V
+HSPLandroid/app/LoadedApk$ReceiverDispatcher;->getIIntentReceiver()Landroid/content/IIntentReceiver;
HSPLandroid/app/LoadedApk$ReceiverDispatcher;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
HSPLandroid/app/LoadedApk$ReceiverDispatcher;->validate(Landroid/content/Context;Landroid/os/Handler;)V
-HSPLandroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;->binderDied()V
+HSPLandroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;-><init>()V
+HSPLandroid/app/LoadedApk$ServiceDispatcher$ConnectionInfo;-><init>(Landroid/app/LoadedApk$1;)V
+HSPLandroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;-><init>(Landroid/app/LoadedApk$ServiceDispatcher;Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLandroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;->binderDied()V
+HSPLandroid/app/LoadedApk$ServiceDispatcher$InnerConnection;-><init>(Landroid/app/LoadedApk$ServiceDispatcher;)V
HSPLandroid/app/LoadedApk$ServiceDispatcher$InnerConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
+HSPLandroid/app/LoadedApk$ServiceDispatcher$RunConnection;-><init>(Landroid/app/LoadedApk$ServiceDispatcher;Landroid/content/ComponentName;Landroid/os/IBinder;IZ)V
HSPLandroid/app/LoadedApk$ServiceDispatcher$RunConnection;->run()V
HSPLandroid/app/LoadedApk$ServiceDispatcher;-><init>(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)V
HSPLandroid/app/LoadedApk$ServiceDispatcher;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
-HSPLandroid/app/LoadedApk$ServiceDispatcher;->death(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLandroid/app/LoadedApk$ServiceDispatcher;->death(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/app/LoadedApk$ServiceDispatcher;->doConnected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
-HSPLandroid/app/LoadedApk$ServiceDispatcher;->doDeath(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLandroid/app/LoadedApk$ServiceDispatcher;->doDeath(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/app/LoadedApk$ServiceDispatcher;->doForget()V
+HSPLandroid/app/LoadedApk$ServiceDispatcher;->getFlags()I
+HSPLandroid/app/LoadedApk$ServiceDispatcher;->getIServiceConnection()Landroid/app/IServiceConnection;
HSPLandroid/app/LoadedApk$ServiceDispatcher;->validate(Landroid/content/Context;Landroid/os/Handler;Ljava/util/concurrent/Executor;)V
+HSPLandroid/app/LoadedApk$WarningContextClassLoader;-><init>()V
+HSPLandroid/app/LoadedApk$WarningContextClassLoader;-><init>(Landroid/app/LoadedApk$1;)V
HSPLandroid/app/LoadedApk;-><init>(Landroid/app/ActivityThread;)V
HSPLandroid/app/LoadedApk;-><init>(Landroid/app/ActivityThread;Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;ZZZ)V
HSPLandroid/app/LoadedApk;->adjustNativeLibraryPaths(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
+HSPLandroid/app/LoadedApk;->allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;
HSPLandroid/app/LoadedApk;->appendApkLibPathIfNeeded(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
HSPLandroid/app/LoadedApk;->appendSharedLibrariesLibPathsIfNeeded(Ljava/util/List;Landroid/content/pm/ApplicationInfo;Ljava/util/Set;Ljava/util/List;)V
HSPLandroid/app/LoadedApk;->createAppFactory(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)Landroid/app/AppComponentFactory;
@@ -1739,70 +879,59 @@ HSPLandroid/app/LoadedApk;->createSharedLibrariesLoaders(Ljava/util/List;ZLjava/
HSPLandroid/app/LoadedApk;->createSharedLibraryLoader(Landroid/content/pm/SharedLibraryInfo;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;
HSPLandroid/app/LoadedApk;->forgetReceiverDispatcher(Landroid/content/Context;Landroid/content/BroadcastReceiver;)Landroid/content/IIntentReceiver;
HSPLandroid/app/LoadedApk;->forgetServiceDispatcher(Landroid/content/Context;Landroid/content/ServiceConnection;)Landroid/app/IServiceConnection;
+HSPLandroid/app/LoadedApk;->getAppDir()Ljava/lang/String;
+HSPLandroid/app/LoadedApk;->getAppFactory()Landroid/app/AppComponentFactory;
+HSPLandroid/app/LoadedApk;->getApplication()Landroid/app/Application;
+HSPLandroid/app/LoadedApk;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
+HSPLandroid/app/LoadedApk;->getAssets()Landroid/content/res/AssetManager;
HSPLandroid/app/LoadedApk;->getClassLoader()Ljava/lang/ClassLoader;
+HSPLandroid/app/LoadedApk;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
+HSPLandroid/app/LoadedApk;->getCredentialProtectedDataDirFile()Ljava/io/File;
+HSPLandroid/app/LoadedApk;->getDataDirFile()Ljava/io/File;
+HSPLandroid/app/LoadedApk;->getDeviceProtectedDataDirFile()Ljava/io/File;
+HSPLandroid/app/LoadedApk;->getOverlayDirs()[Ljava/lang/String;
+HSPLandroid/app/LoadedApk;->getPackageName()Ljava/lang/String;
HSPLandroid/app/LoadedApk;->getReceiverDispatcher(Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)Landroid/content/IIntentReceiver;
+HSPLandroid/app/LoadedApk;->getResDir()Ljava/lang/String;
HSPLandroid/app/LoadedApk;->getResources()Landroid/content/res/Resources;
+HSPLandroid/app/LoadedApk;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)Landroid/app/IServiceConnection;
HSPLandroid/app/LoadedApk;->getServiceDispatcherCommon(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;Ljava/util/concurrent/Executor;I)Landroid/app/IServiceConnection;
+HSPLandroid/app/LoadedApk;->getSplitClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;
+HSPLandroid/app/LoadedApk;->getSplitPaths(Ljava/lang/String;)[Ljava/lang/String;
HSPLandroid/app/LoadedApk;->initializeJavaContextClassLoader()V
+HSPLandroid/app/LoadedApk;->isSecurityViolation()Z
HSPLandroid/app/LoadedApk;->makeApplication(ZLandroid/app/Instrumentation;)Landroid/app/Application;
HSPLandroid/app/LoadedApk;->makePaths(Landroid/app/ActivityThread;ZLandroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;)V
HSPLandroid/app/LoadedApk;->removeContextRegistrations(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/LoadedApk;->setApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
+HSPLandroid/app/LoadedApk;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
HSPLandroid/app/LoadedApk;->setupJitProfileSupport()V
-HSPLandroid/app/LoadedApk;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
-HSPLandroid/app/Notification$1;-><init>()V
-HSPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification;
-HSPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/Notification$Action$1;-><init>()V
-HSPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification$Action;
-HSPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/Notification$Action$1;->newArray(I)[Landroid/app/Notification$Action;
-HSPLandroid/app/Notification$Action$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/app/Notification$Action$Builder;-><init>(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V
-HSPLandroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
-HSPLandroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZI)V
-HSPLandroid/app/Notification$Action$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;
-HSPLandroid/app/Notification$Action$Builder;->build()Landroid/app/Notification$Action;
-HSPLandroid/app/Notification$Action$Builder;->setAllowGeneratedReplies(Z)Landroid/app/Notification$Action$Builder;
-HPLandroid/app/Notification$Action$Builder;->setContextual(Z)Landroid/app/Notification$Action$Builder;
-HSPLandroid/app/Notification$Action$Builder;->setSemanticAction(I)Landroid/app/Notification$Action$Builder;
+PLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification;
+PLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification$Action;
+PLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/app/Notification$Action$1;->newArray(I)[Landroid/app/Notification$Action;
+PLandroid/app/Notification$Action$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/app/Notification$Action;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZIZ)V
-HSPLandroid/app/Notification$Action;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/Notification$Action;->clone()Landroid/app/Notification$Action;
-HSPLandroid/app/Notification$Action;->getAllowGeneratedReplies()Z
+PLandroid/app/Notification$Action;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/Notification$Action;->getIcon()Landroid/graphics/drawable/Icon;
-HSPLandroid/app/Notification$Action;->getRemoteInputs()[Landroid/app/RemoteInput;
-HSPLandroid/app/Notification$Action;->getSemanticAction()I
-HSPLandroid/app/Notification$Action;->isContextual()Z
HSPLandroid/app/Notification$Action;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/Notification$BigTextStyle;-><init>()V
-HSPLandroid/app/Notification$BigTextStyle;-><init>(Landroid/app/Notification$Builder;)V
HSPLandroid/app/Notification$BigTextStyle;->addExtras(Landroid/os/Bundle;)V
-HPLandroid/app/Notification$BigTextStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
HSPLandroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
-HPLandroid/app/Notification$BigTextStyle;->getBigText()Ljava/lang/CharSequence;
-HSPLandroid/app/Notification$BigTextStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$BigTextStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
-HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;)V
+PLandroid/app/Notification$BigTextStyle;->restoreFromExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;Landroid/app/Notification;)V
HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-HSPLandroid/app/Notification$Builder;->addAction(Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->addPerson(Landroid/app/Person;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->addPerson(Ljava/lang/String;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->build()Landroid/app/Notification;
HSPLandroid/app/Notification$Builder;->buildUnstyled()Landroid/app/Notification;
-HSPLandroid/app/Notification$Builder;->extend(Landroid/app/Notification$Extender;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->getExtras()Landroid/os/Bundle;
-HSPLandroid/app/Notification$Builder;->getStyle()Landroid/app/Notification$Style;
HSPLandroid/app/Notification$Builder;->maybeCloneStrippedForDelivery(Landroid/app/Notification;ZLandroid/content/Context;)Landroid/app/Notification;
-HSPLandroid/app/Notification$Builder;->recoverBuilder(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;
+PLandroid/app/Notification$Builder;->recoverBuilder(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;
+HSPLandroid/app/Notification$Builder;->setAllowSystemGeneratedContextualActions(Z)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setBadgeIconType(I)Landroid/app/Notification$Builder;
+HSPLandroid/app/Notification$Builder;->setBubbleMetadata(Landroid/app/Notification$BubbleMetadata;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setCategory(Ljava/lang/String;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->setChannelId(Ljava/lang/String;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setColor(I)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->setColorized(Z)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setContent(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setContentInfo(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
@@ -1845,129 +974,57 @@ HSPLandroid/app/Notification$Builder;->setUsesChronometer(Z)Landroid/app/Notific
HSPLandroid/app/Notification$Builder;->setVibrate([J)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setVisibility(I)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setWhen(J)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->usesStandardHeader()Z
-HSPLandroid/app/Notification$InboxStyle;-><init>()V
-HSPLandroid/app/Notification$InboxStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MediaStyle;-><init>()V
-HPLandroid/app/Notification$MediaStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-HSPLandroid/app/Notification$MediaStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MessagingStyle$Message;->getMessageFromBundle(Landroid/os/Bundle;)Landroid/app/Notification$MessagingStyle$Message;
-HSPLandroid/app/Notification$MessagingStyle$Message;->getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;
-HPLandroid/app/Notification$MessagingStyle$Message;->getSenderPerson()Landroid/app/Person;
-HPLandroid/app/Notification$MessagingStyle$Message;->getText()Ljava/lang/CharSequence;
-HPLandroid/app/Notification$MessagingStyle$Message;->getTimestamp()J
-HSPLandroid/app/Notification$MessagingStyle;-><init>()V
-HPLandroid/app/Notification$MessagingStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-HPLandroid/app/Notification$MessagingStyle;->getMessages()Ljava/util/List;
-HSPLandroid/app/Notification$MessagingStyle;->restoreFromExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$Style;->addExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$Style;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
-HSPLandroid/app/Notification$Style;->internalSetBigContentTitle(Ljava/lang/CharSequence;)V
HSPLandroid/app/Notification$Style;->purgeResources()V
HSPLandroid/app/Notification$Style;->reduceImageSizes(Landroid/content/Context;)V
HSPLandroid/app/Notification$Style;->setBuilder(Landroid/app/Notification$Builder;)V
HSPLandroid/app/Notification$Style;->validate(Landroid/content/Context;)V
-HSPLandroid/app/Notification$TvExtender;->extend(Landroid/app/Notification$Builder;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification;-><init>()V
HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V
-HSPLandroid/app/Notification;->areActionsVisiblyDifferent(Landroid/app/Notification;Landroid/app/Notification;)Z
-HSPLandroid/app/Notification;->areRemoteViewsChanged(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
-HSPLandroid/app/Notification;->areRemoteViewsChanged(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)Z
-HSPLandroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
-HSPLandroid/app/Notification;->clone()Landroid/app/Notification;
-HSPLandroid/app/Notification;->cloneInto(Landroid/app/Notification;Z)V
-HSPLandroid/app/Notification;->findRemoteInputActionPair(Z)Landroid/util/Pair;
-HPLandroid/app/Notification;->getAllowSystemGeneratedContextualActions()Z
-HSPLandroid/app/Notification;->getChannelId()Ljava/lang/String;
-HSPLandroid/app/Notification;->getContextualActions()Ljava/util/List;
+HSPLandroid/app/Notification;->access$1002(Landroid/app/Notification;Landroid/app/Notification$BubbleMetadata;)Landroid/app/Notification$BubbleMetadata;
+HSPLandroid/app/Notification;->access$2202(Landroid/app/Notification;Z)Z
+HPLandroid/app/Notification;->cloneInto(Landroid/app/Notification;Z)V
+HPLandroid/app/Notification;->getChannelId()Ljava/lang/String;
HSPLandroid/app/Notification;->getGroup()Ljava/lang/String;
-HSPLandroid/app/Notification;->getGroupAlertBehavior()I
-HSPLandroid/app/Notification;->getLargeIcon()Landroid/graphics/drawable/Icon;
+PLandroid/app/Notification;->getLargeIcon()Landroid/graphics/drawable/Icon;
HSPLandroid/app/Notification;->getNotificationStyle()Ljava/lang/Class;
HSPLandroid/app/Notification;->getNotificationStyleClass(Ljava/lang/String;)Ljava/lang/Class;
HSPLandroid/app/Notification;->getSmallIcon()Landroid/graphics/drawable/Icon;
HSPLandroid/app/Notification;->getSortKey()Ljava/lang/String;
-HSPLandroid/app/Notification;->getTimeoutAfter()J
-HSPLandroid/app/Notification;->hasCompletedProgress()Z
-HSPLandroid/app/Notification;->hasMediaSession()Z
-HSPLandroid/app/Notification;->isColorized()Z
-HSPLandroid/app/Notification;->isColorizedMedia()Z
-HSPLandroid/app/Notification;->isForegroundService()Z
-HSPLandroid/app/Notification;->isGroupChild()Z
-HSPLandroid/app/Notification;->isGroupSummary()Z
HSPLandroid/app/Notification;->lambda$writeToParcel$0$Notification(Landroid/os/Parcel;Landroid/app/PendingIntent;Landroid/os/Parcel;I)V
-HSPLandroid/app/Notification;->lightenPayload()V
HSPLandroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V
HSPLandroid/app/Notification;->reduceImageSizes(Landroid/content/Context;)V
HSPLandroid/app/Notification;->reduceImageSizesForRemoteView(Landroid/widget/RemoteViews;Landroid/content/Context;Z)V
HSPLandroid/app/Notification;->removeTextSizeSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
HSPLandroid/app/Notification;->safeCharSequence(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
HSPLandroid/app/Notification;->setSmallIcon(Landroid/graphics/drawable/Icon;)V
-HSPLandroid/app/Notification;->suppressAlertingDueToGrouping()Z
-HSPLandroid/app/Notification;->toString()Ljava/lang/String;
-HSPLandroid/app/Notification;->visibilityToString(I)Ljava/lang/String;
-HSPLandroid/app/Notification;->visitUris(Ljava/util/function/Consumer;)V
HSPLandroid/app/Notification;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V
-HSPLandroid/app/NotificationChannel$1;-><init>()V
HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationChannel;
HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/NotificationChannel;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V
-HSPLandroid/app/NotificationChannel;->equals(Ljava/lang/Object;)Z
+HSPLandroid/app/NotificationChannel;->enableLights(Z)V
+HSPLandroid/app/NotificationChannel;->enableVibration(Z)V
HSPLandroid/app/NotificationChannel;->getAudioAttributes()Landroid/media/AudioAttributes;
HSPLandroid/app/NotificationChannel;->getId()Ljava/lang/String;
HSPLandroid/app/NotificationChannel;->getImportance()I
-HSPLandroid/app/NotificationChannel;->hasUserSetImportance()Z
-HSPLandroid/app/NotificationChannel;->longArrayToString([J)Ljava/lang/String;
-HSPLandroid/app/NotificationChannel;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLandroid/app/NotificationChannel;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;ZLandroid/content/Context;)V
-HSPLandroid/app/NotificationChannel;->safeAudioAttributes(Lorg/xmlpull/v1/XmlPullParser;)Landroid/media/AudioAttributes;
-HSPLandroid/app/NotificationChannel;->safeLongArray(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[J)[J
+HSPLandroid/app/NotificationChannel;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/app/NotificationChannel;->setBlockableSystem(Z)V
HSPLandroid/app/NotificationChannel;->setDescription(Ljava/lang/String;)V
-HSPLandroid/app/NotificationChannel;->setName(Ljava/lang/CharSequence;)V
+HSPLandroid/app/NotificationChannel;->setGroup(Ljava/lang/String;)V
HSPLandroid/app/NotificationChannel;->setShowBadge(Z)V
HSPLandroid/app/NotificationChannel;->setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)V
-HPLandroid/app/NotificationChannel;->toJson()Lorg/json/JSONObject;
-HSPLandroid/app/NotificationChannel;->tryParseInt(Ljava/lang/String;I)I
HSPLandroid/app/NotificationChannel;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/NotificationChannel;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/app/NotificationChannel;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLandroid/content/Context;)V
-HPLandroid/app/NotificationChannel;->writeXmlForBackup(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/Context;)V
-HSPLandroid/app/NotificationChannelGroup$1;-><init>()V
HSPLandroid/app/NotificationChannelGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationChannelGroup;
HSPLandroid/app/NotificationChannelGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/NotificationChannelGroup;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/NotificationChannelGroup;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;)V
-HPLandroid/app/NotificationChannelGroup;->addChannel(Landroid/app/NotificationChannel;)V
-HPLandroid/app/NotificationChannelGroup;->clone()Landroid/app/NotificationChannelGroup;
-HPLandroid/app/NotificationChannelGroup;->equals(Ljava/lang/Object;)Z
-HSPLandroid/app/NotificationChannelGroup;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HPLandroid/app/NotificationChannelGroup;->toJson()Lorg/json/JSONObject;
+HSPLandroid/app/NotificationChannelGroup;->getId()Ljava/lang/String;
+HSPLandroid/app/NotificationChannelGroup;->isBlocked()Z
HSPLandroid/app/NotificationChannelGroup;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/NotificationChannelGroup;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/app/NotificationManager$Policy$1;-><init>()V
-HSPLandroid/app/NotificationManager$Policy$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationManager$Policy;
-HSPLandroid/app/NotificationManager$Policy$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/NotificationManager$Policy;->allowAlarms()Z
-HSPLandroid/app/NotificationManager$Policy;->allowCalls()Z
-HSPLandroid/app/NotificationManager$Policy;->allowMedia()Z
-HPLandroid/app/NotificationManager$Policy;->allowMessages()Z
-HSPLandroid/app/NotificationManager$Policy;->allowRepeatCallers()Z
-HSPLandroid/app/NotificationManager$Policy;->allowSystem()Z
-HSPLandroid/app/NotificationManager$Policy;->areAllVisualEffectsSuppressed(I)Z
-HSPLandroid/app/NotificationManager$Policy;->copy()Landroid/app/NotificationManager$Policy;
-HSPLandroid/app/NotificationManager$Policy;->effectToString(I)Ljava/lang/String;
-HSPLandroid/app/NotificationManager$Policy;->equals(Ljava/lang/Object;)Z
-HSPLandroid/app/NotificationManager$Policy;->hashCode()I
-HSPLandroid/app/NotificationManager$Policy;->priorityCategoriesToString(I)Ljava/lang/String;
-HSPLandroid/app/NotificationManager$Policy;->priorityCategoryToString(I)Ljava/lang/String;
-HSPLandroid/app/NotificationManager$Policy;->prioritySendersToString(I)Ljava/lang/String;
-HSPLandroid/app/NotificationManager$Policy;->suppressedEffectsToString(I)Ljava/lang/String;
-HSPLandroid/app/NotificationManager$Policy;->suppressedVisualEffectsEqual(II)Z
-HSPLandroid/app/NotificationManager$Policy;->toString()Ljava/lang/String;
-HSPLandroid/app/NotificationManager$Policy;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/NotificationManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
HSPLandroid/app/NotificationManager;->areNotificationsEnabled()Z
HSPLandroid/app/NotificationManager;->cancel(I)V
HSPLandroid/app/NotificationManager;->cancel(Ljava/lang/String;I)V
@@ -1978,74 +1035,35 @@ HSPLandroid/app/NotificationManager;->createNotificationChannelGroups(Ljava/util
HSPLandroid/app/NotificationManager;->createNotificationChannels(Ljava/util/List;)V
HSPLandroid/app/NotificationManager;->deleteNotificationChannel(Ljava/lang/String;)V
HSPLandroid/app/NotificationManager;->fixNotification(Landroid/app/Notification;)Landroid/app/Notification;
-HSPLandroid/app/NotificationManager;->from(Landroid/content/Context;)Landroid/app/NotificationManager;
HSPLandroid/app/NotificationManager;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
-HSPLandroid/app/NotificationManager;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
HSPLandroid/app/NotificationManager;->getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
HSPLandroid/app/NotificationManager;->getNotificationChannels()Ljava/util/List;
HSPLandroid/app/NotificationManager;->getService()Landroid/app/INotificationManager;
-HSPLandroid/app/NotificationManager;->getZenMode()I
-HPLandroid/app/NotificationManager;->matchesCallFilter(Landroid/os/Bundle;)Z
-HSPLandroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
HSPLandroid/app/NotificationManager;->notify(Ljava/lang/String;ILandroid/app/Notification;)V
HSPLandroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V
-HSPLandroid/app/NotificationManager;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/NotificationManager;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-PLandroid/app/PackageInstallObserver$1;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
-PLandroid/app/PackageInstallObserver;-><init>()V
-HSPLandroid/app/PendingIntent$2;-><init>()V
HSPLandroid/app/PendingIntent$2;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/PendingIntent$FinishedDispatcher;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V
-HSPLandroid/app/PendingIntent$FinishedDispatcher;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HSPLandroid/app/PendingIntent$FinishedDispatcher;->run()V
+HSPLandroid/app/PendingIntent;-><init>(Landroid/content/IIntentSender;)V
+HSPLandroid/app/PendingIntent;-><init>(Landroid/os/IBinder;Ljava/lang/Object;)V
HSPLandroid/app/PendingIntent;->buildServicePendingIntent(Landroid/content/Context;ILandroid/content/Intent;II)Landroid/app/PendingIntent;
-HSPLandroid/app/PendingIntent;->describeContents()I
HSPLandroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z
HSPLandroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;
-HSPLandroid/app/PendingIntent;->getActivityAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent;->getBroadcastAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/UserHandle;)Landroid/app/PendingIntent;
-HSPLandroid/app/PendingIntent;->getCreatorPackage()Ljava/lang/String;
+PLandroid/app/PendingIntent;->getCreatorPackage()Ljava/lang/String;
HSPLandroid/app/PendingIntent;->getCreatorUid()I
-HPLandroid/app/PendingIntent;->getIntent()Landroid/content/Intent;
HSPLandroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
-HSPLandroid/app/PendingIntent;->getTag(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/app/PendingIntent;->hashCode()I
-HSPLandroid/app/PendingIntent;->isActivity()Z
-HSPLandroid/app/PendingIntent;->isBroadcast()Z
-HSPLandroid/app/PendingIntent;->isForegroundService()Z
-HSPLandroid/app/PendingIntent;->readPendingIntentOrNullFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent;->send()V
-HSPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;)V
-HSPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)V
HSPLandroid/app/PendingIntent;->sendAndReturnResult(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)I
-HSPLandroid/app/PendingIntent;->toString()Ljava/lang/String;
-HSPLandroid/app/PendingIntent;->writePendingIntentOrNullToParcel(Landroid/app/PendingIntent;Landroid/os/Parcel;)V
HSPLandroid/app/PendingIntent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/Person$1;-><init>()V
-HSPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Person;
-HSPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/Person$Builder;-><init>()V
-HSPLandroid/app/Person$Builder;->build()Landroid/app/Person;
-HSPLandroid/app/Person$Builder;->setKey(Ljava/lang/String;)Landroid/app/Person$Builder;
-HSPLandroid/app/Person;-><init>(Landroid/app/Person$Builder;)V
-HSPLandroid/app/Person;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/Person;->equals(Ljava/lang/Object;)Z
-HPLandroid/app/Person;->getKey()Ljava/lang/String;
-HPLandroid/app/Person;->getName()Ljava/lang/CharSequence;
-HPLandroid/app/Person;->hashCode()I
-HPLandroid/app/Person;->resolveToLegacyUri()Ljava/lang/String;
-HSPLandroid/app/Person;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/PictureInPictureParams$1;-><init>()V
-HSPLandroid/app/PictureInPictureParams$Builder;-><init>()V
-HSPLandroid/app/PictureInPictureParams$Builder;->build()Landroid/app/PictureInPictureParams;
-PLandroid/app/ProcessMemoryHighWaterMark$1;-><init>()V
-PLandroid/app/ProcessMemoryState$1;-><init>()V
-HPLandroid/app/ProcessMemoryState;-><init>(ILjava/lang/String;IJJJJJJ)V
-HSPLandroid/app/ProfilerInfo$1;-><init>()V
+HPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Person;
+HPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/Person;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/QueuedWork$QueuedWorkHandler;-><init>(Landroid/os/Looper;)V
HSPLandroid/app/QueuedWork$QueuedWorkHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/app/QueuedWork;->access$000()V
HSPLandroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V
HSPLandroid/app/QueuedWork;->getHandler()Landroid/os/Handler;
HSPLandroid/app/QueuedWork;->hasPendingWork()Z
@@ -2053,31 +1071,23 @@ HSPLandroid/app/QueuedWork;->processPendingWork()V
HSPLandroid/app/QueuedWork;->queue(Ljava/lang/Runnable;Z)V
HSPLandroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V
HSPLandroid/app/QueuedWork;->waitToFinish()V
-HSPLandroid/app/RemoteAction$1;-><init>()V
-HSPLandroid/app/RemoteAction;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
-PLandroid/app/RemoteAction;->getActionIntent()Landroid/app/PendingIntent;
-PLandroid/app/RemoteAction;->getIcon()Landroid/graphics/drawable/Icon;
-PLandroid/app/RemoteAction;->getTitle()Ljava/lang/CharSequence;
-PLandroid/app/RemoteAction;->shouldShowIcon()Z
-HSPLandroid/app/RemoteInput$1;-><init>()V
-HSPLandroid/app/RemoteInput$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/RemoteInput;
-HSPLandroid/app/RemoteInput$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/RemoteInput$1;->newArray(I)[Landroid/app/RemoteInput;
-HSPLandroid/app/RemoteInput$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/app/RemoteInput;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/RemoteInput;->getAllowFreeFormInput()Z
-HPLandroid/app/RemoteInput;->getChoices()[Ljava/lang/CharSequence;
-HSPLandroid/app/RemoteInput;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/ReceiverRestrictedContext;-><init>(Landroid/content/Context;)V
+HSPLandroid/app/ReceiverRestrictedContext;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
+HSPLandroid/app/ReceiverRestrictedContext;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
+HSPLandroid/app/ResourcesManager$ApkKey;-><init>(Ljava/lang/String;ZZ)V
HSPLandroid/app/ResourcesManager$ApkKey;->equals(Ljava/lang/Object;)Z
HSPLandroid/app/ResourcesManager$ApkKey;->hashCode()I
HSPLandroid/app/ResourcesManager;-><init>()V
HSPLandroid/app/ResourcesManager;->applyCompatConfigurationLocked(ILandroid/content/res/Configuration;)Z
HSPLandroid/app/ResourcesManager;->applyConfigurationToResourcesLocked(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Z
-HSPLandroid/app/ResourcesManager;->applyNewResourceDirsLocked(Ljava/lang/String;[Ljava/lang/String;)V
+HSPLandroid/app/ResourcesManager;->applyConfigurationToResourcesLocked(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/ResourcesKey;Landroid/content/res/ResourcesImpl;)V
+HSPLandroid/app/ResourcesManager;->applyNewResourceDirsLocked(Landroid/content/pm/ApplicationInfo;[Ljava/lang/String;)V
+HSPLandroid/app/ResourcesManager;->cleanupReferences(Landroid/os/IBinder;)V
HSPLandroid/app/ResourcesManager;->createAssetManager(Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager;
-HSPLandroid/app/ResourcesManager;->createBaseActivityResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
+HSPLandroid/app/ResourcesManager;->createResources(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
HSPLandroid/app/ResourcesManager;->createResourcesImpl(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
-HSPLandroid/app/ResourcesManager;->findKeyForResourceImplLocked(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
+HSPLandroid/app/ResourcesManager;->createResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
+HSPLandroid/app/ResourcesManager;->findOrCreateResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
HSPLandroid/app/ResourcesManager;->findResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
HSPLandroid/app/ResourcesManager;->generateConfig(Landroid/content/res/ResourcesKey;Landroid/util/DisplayMetrics;)Landroid/content/res/Configuration;
HSPLandroid/app/ResourcesManager;->getAdjustedDisplay(ILandroid/content/res/Resources;)Landroid/view/Display;
@@ -2086,48 +1096,37 @@ HSPLandroid/app/ResourcesManager;->getConfiguration()Landroid/content/res/Config
HSPLandroid/app/ResourcesManager;->getDisplayMetrics()Landroid/util/DisplayMetrics;
HSPLandroid/app/ResourcesManager;->getDisplayMetrics(ILandroid/view/DisplayAdjustments;)Landroid/util/DisplayMetrics;
HSPLandroid/app/ResourcesManager;->getInstance()Landroid/app/ResourcesManager;
-HSPLandroid/app/ResourcesManager;->getOrCreateResources(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
-HSPLandroid/app/ResourcesManager;->getOrCreateResourcesForActivityLocked(Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
-HSPLandroid/app/ResourcesManager;->getOrCreateResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
HSPLandroid/app/ResourcesManager;->getResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
-HSPLandroid/app/ResourcesManager;->isSameResourcesOverrideConfig(Landroid/os/IBinder;Landroid/content/res/Configuration;)Z
HSPLandroid/app/ResourcesManager;->loadApkAssets(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
HSPLandroid/app/ResourcesManager;->overlayPathToIdmapPath(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/app/ResourcesManager;->redirectResourcesToNewImplLocked(Landroid/util/ArrayMap;)V
-HSPLandroid/app/ResourcesManager;->updateResourcesForActivity(Landroid/os/IBinder;Landroid/content/res/Configuration;IZ)V
-HSPLandroid/app/ResultInfo$1;-><init>()V
-HPLandroid/app/ResultInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/SearchableInfo$1;-><init>()V
-HSPLandroid/app/SearchableInfo;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/content/ComponentName;)V
-HSPLandroid/app/SearchableInfo;->createActivityContext(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/content/Context;
-HSPLandroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Landroid/content/pm/ActivityInfo;I)Landroid/app/SearchableInfo;
-HSPLandroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
HSPLandroid/app/Service;-><init>()V
-HPLandroid/app/Service;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HSPLandroid/app/Service;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Ljava/lang/String;Landroid/os/IBinder;Landroid/app/Application;Ljava/lang/Object;)V
+HSPLandroid/app/Service;->detachAndCleanUp()V
HSPLandroid/app/Service;->getApplication()Landroid/app/Application;
+HSPLandroid/app/Service;->getClassName()Ljava/lang/String;
HSPLandroid/app/Service;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/app/Service;->onCreate()V
HSPLandroid/app/Service;->onDestroy()V
-HPLandroid/app/Service;->onLowMemory()V
HSPLandroid/app/Service;->onStart(Landroid/content/Intent;I)V
HSPLandroid/app/Service;->onStartCommand(Landroid/content/Intent;II)I
-HSPLandroid/app/Service;->onTrimMemory(I)V
+PLandroid/app/Service;->onTrimMemory(I)V
HSPLandroid/app/Service;->onUnbind(Landroid/content/Intent;)Z
-HSPLandroid/app/Service;->startForeground(ILandroid/app/Notification;)V
-HSPLandroid/app/Service;->stopForeground(I)V
-HSPLandroid/app/Service;->stopForeground(Z)V
HSPLandroid/app/Service;->stopSelf()V
HSPLandroid/app/Service;->stopSelf(I)V
-HSPLandroid/app/ServiceStartArgs$1;-><init>()V
+HSPLandroid/app/ServiceConnectionLeaked;-><init>(Ljava/lang/String;)V
HSPLandroid/app/ServiceStartArgs$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ServiceStartArgs;
HSPLandroid/app/ServiceStartArgs$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/ServiceStartArgs;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/ServiceStartArgs;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/SharedElementCallback$1;-><init>()V
+HSPLandroid/app/SharedPreferencesImpl$1;-><init>(Landroid/app/SharedPreferencesImpl;Ljava/lang/String;)V
HSPLandroid/app/SharedPreferencesImpl$1;->run()V
+HSPLandroid/app/SharedPreferencesImpl$2;-><init>(Landroid/app/SharedPreferencesImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;ZLjava/lang/Runnable;)V
HSPLandroid/app/SharedPreferencesImpl$2;->run()V
+HSPLandroid/app/SharedPreferencesImpl$EditorImpl$1;-><init>(Landroid/app/SharedPreferencesImpl$EditorImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;J)V
HSPLandroid/app/SharedPreferencesImpl$EditorImpl$1;->run()V
+HSPLandroid/app/SharedPreferencesImpl$EditorImpl$2;-><init>(Landroid/app/SharedPreferencesImpl$EditorImpl;Ljava/lang/Runnable;)V
HSPLandroid/app/SharedPreferencesImpl$EditorImpl$2;->run()V
+HSPLandroid/app/SharedPreferencesImpl$EditorImpl;-><init>(Landroid/app/SharedPreferencesImpl;)V
HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->apply()V
HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->clear()Landroid/content/SharedPreferences$Editor;
HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commit()Z
@@ -2140,8 +1139,22 @@ HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putLong(Ljava/lang/String;J)L
HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putStringSet(Ljava/lang/String;Ljava/util/Set;)Landroid/content/SharedPreferences$Editor;
HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
+HSPLandroid/app/SharedPreferencesImpl$MemoryCommitResult;-><init>(JZLjava/util/List;Ljava/util/Set;Ljava/util/Map;)V
+HSPLandroid/app/SharedPreferencesImpl$MemoryCommitResult;-><init>(JZLjava/util/List;Ljava/util/Set;Ljava/util/Map;Landroid/app/SharedPreferencesImpl$1;)V
HSPLandroid/app/SharedPreferencesImpl$MemoryCommitResult;->setDiskWriteResult(ZZ)V
HSPLandroid/app/SharedPreferencesImpl;-><init>(Ljava/io/File;I)V
+HSPLandroid/app/SharedPreferencesImpl;->access$000(Landroid/app/SharedPreferencesImpl;)V
+HSPLandroid/app/SharedPreferencesImpl;->access$100(Landroid/app/SharedPreferencesImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Ljava/lang/Runnable;)V
+HSPLandroid/app/SharedPreferencesImpl;->access$200(Landroid/app/SharedPreferencesImpl;)Ljava/lang/Object;
+HSPLandroid/app/SharedPreferencesImpl;->access$300(Landroid/app/SharedPreferencesImpl;)I
+HSPLandroid/app/SharedPreferencesImpl;->access$308(Landroid/app/SharedPreferencesImpl;)I
+HSPLandroid/app/SharedPreferencesImpl;->access$310(Landroid/app/SharedPreferencesImpl;)I
+HSPLandroid/app/SharedPreferencesImpl;->access$400(Landroid/app/SharedPreferencesImpl;)Ljava/util/Map;
+HSPLandroid/app/SharedPreferencesImpl;->access$500(Landroid/app/SharedPreferencesImpl;)Ljava/util/WeakHashMap;
+HSPLandroid/app/SharedPreferencesImpl;->access$600(Landroid/app/SharedPreferencesImpl;)J
+HSPLandroid/app/SharedPreferencesImpl;->access$608(Landroid/app/SharedPreferencesImpl;)J
+HSPLandroid/app/SharedPreferencesImpl;->access$800(Landroid/app/SharedPreferencesImpl;)Ljava/lang/Object;
+HSPLandroid/app/SharedPreferencesImpl;->access$900(Landroid/app/SharedPreferencesImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
HSPLandroid/app/SharedPreferencesImpl;->awaitLoadedLocked()V
HSPLandroid/app/SharedPreferencesImpl;->contains(Ljava/lang/String;)Z
HSPLandroid/app/SharedPreferencesImpl;->createFileOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
@@ -2156,339 +1169,140 @@ HSPLandroid/app/SharedPreferencesImpl;->getString(Ljava/lang/String;Ljava/lang/S
HSPLandroid/app/SharedPreferencesImpl;->getStringSet(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;
HSPLandroid/app/SharedPreferencesImpl;->hasFileChangedUnexpectedly()Z
HSPLandroid/app/SharedPreferencesImpl;->loadFromDisk()V
+HSPLandroid/app/SharedPreferencesImpl;->makeBackupFile(Ljava/io/File;)Ljava/io/File;
HSPLandroid/app/SharedPreferencesImpl;->registerOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
HSPLandroid/app/SharedPreferencesImpl;->startLoadFromDisk()V
HSPLandroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V
HSPLandroid/app/SharedPreferencesImpl;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
-HSPLandroid/app/StatsManager;->getIStatsManagerLocked()Landroid/os/IStatsManager;
-HSPLandroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService;
-HSPLandroid/app/SynchronousUserSwitchObserver;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$100;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$101;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
+HSPLandroid/app/StatusBarManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Landroid/app/role/RoleManager;
HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$102;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Landroid/view/contentcapture/ContentCaptureManager;
-HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$103;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$104;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$105;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$106;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$107;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$108;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$108;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
+HSPLandroid/app/SystemServiceRegistry$106;->createService()Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$108;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$109;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$10;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Landroid/bluetooth/BluetoothManager;
-HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$110;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$110;->createService(Landroid/app/ContextImpl;)Landroid/app/timedetector/TimeDetector;
-HSPLandroid/app/SystemServiceRegistry$110;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$111;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionManager;
-HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$112;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionControllerManager;
-HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$113;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Landroid/app/role/RoleManager;
-HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$114;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$115;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$116;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$11;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$12;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$109;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/app/ContextImpl;)Landroid/view/textclassifier/TextClassificationManager;
HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$13;-><init>()V
HSPLandroid/app/SystemServiceRegistry$13;->createService(Landroid/app/ContextImpl;)Landroid/content/ClipboardManager;
HSPLandroid/app/SystemServiceRegistry$13;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$14;-><init>()V
HSPLandroid/app/SystemServiceRegistry$14;->createService(Landroid/content/Context;)Landroid/net/ConnectivityManager;
HSPLandroid/app/SystemServiceRegistry$14;->createService(Landroid/content/Context;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$15;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$16;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$17;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$18;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$18;->createService()Landroid/location/CountryDetector;
-HSPLandroid/app/SystemServiceRegistry$18;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$19;-><init>()V
HSPLandroid/app/SystemServiceRegistry$19;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
HSPLandroid/app/SystemServiceRegistry$19;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$1;-><init>()V
HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/AccessibilityManager;
HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$20;-><init>()V
HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Landroid/app/DownloadManager;
HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$21;-><init>()V
HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$22;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/nfc/NfcManager;
-HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$23;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/os/DropBoxManager;
-HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$24;-><init>()V
HSPLandroid/app/SystemServiceRegistry$24;->createService()Landroid/hardware/input/InputManager;
HSPLandroid/app/SystemServiceRegistry$24;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$25;-><init>()V
HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$26;-><init>()V
HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/ColorDisplayManager;
HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$27;-><init>()V
HSPLandroid/app/SystemServiceRegistry$27;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
HSPLandroid/app/SystemServiceRegistry$27;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$28;-><init>()V
HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Landroid/view/textservice/TextServicesManager;
HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$29;-><init>()V
HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$2;-><init>()V
HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/CaptioningManager;
HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$30;-><init>()V
HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$31;-><init>()V
HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$32;-><init>()V
HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$33;-><init>()V
HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$34;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$35;-><init>()V
HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$36;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$37;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$38;-><init>()V
HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$39;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$3;-><init>()V
HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Landroid/accounts/AccountManager;
HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$40;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Landroid/app/StatsManager;
-HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$41;-><init>()V
HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$42;-><init>()V
HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$43;-><init>()V
HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/StorageStatsManager;
HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$44;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/os/SystemUpdateManager;
-HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$45;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyManager;
+HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyRegistryManager;
HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$46;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Landroid/telephony/SubscriptionManager;
+HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$47;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$48;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telephony/CarrierConfigManager;
+HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
+HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$49;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
-HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$4;-><init>()V
HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityManager;
HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$50;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Landroid/telephony/euicc/EuiccManager;
-HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$51;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$52;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
-HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$53;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
-HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$54;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$55;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$56;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
+HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
+HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$55;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager;
+HSPLandroid/app/SystemServiceRegistry$55;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager;
HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$57;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Landroid/app/WallpaperManager;
+HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Landroid/app/AppOpsManager;
HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$58;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$59;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiManager;
-HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$5;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$5;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityTaskManager;
-HSPLandroid/app/SystemServiceRegistry$5;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$60;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$60;->createService()Landroid/net/wifi/p2p/WifiP2pManager;
-HSPLandroid/app/SystemServiceRegistry$60;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$61;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$62;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$63;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$64;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$65;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$66;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager;
+HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
+HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Landroid/hardware/fingerprint/FingerprintManager;
HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$67;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager;
-HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$68;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Landroid/app/AppOpsManager;
-HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$69;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Landroid/hardware/camera2/CameraManager;
-HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$6;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$70;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/LauncherApps;
-HSPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$71;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Landroid/content/RestrictionsManager;
+HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkScoreManager;
HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$72;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$73;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$74;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$75;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$75;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
-HSPLandroid/app/SystemServiceRegistry$75;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$76;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$76;->createService()Landroid/app/trust/TrustManager;
-HSPLandroid/app/SystemServiceRegistry$76;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$77;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Landroid/hardware/fingerprint/FingerprintManager;
+HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
+HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$78;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$79;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$7;-><init>()V
HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Landroid/app/AlarmManager;
HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$80;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$80;->createService(Landroid/app/ContextImpl;)Landroid/hardware/biometrics/BiometricManager;
-HSPLandroid/app/SystemServiceRegistry$80;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$81;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$82;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkScoreManager;
+HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$83;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
-HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$84;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
-HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$85;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$85;->createService()Landroid/app/job/JobScheduler;
-HSPLandroid/app/SystemServiceRegistry$85;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$86;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$87;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$88;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$89;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
+HSPLandroid/app/SystemServiceRegistry$86;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
+HSPLandroid/app/SystemServiceRegistry$86;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$8;-><init>()V
HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Landroid/media/AudioManager;
HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$90;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$91;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$92;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$93;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$94;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
-HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$95;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$96;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$97;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Landroid/os/health/SystemHealthManager;
-HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$98;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$99;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$9;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$96;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
+HSPLandroid/app/SystemServiceRegistry$96;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$9;->createService(Landroid/app/ContextImpl;)Landroid/media/MediaRouter;
HSPLandroid/app/SystemServiceRegistry$9;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$CachedServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$StaticServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry;->registerService(Ljava/lang/String;Ljava/lang/Class;Landroid/app/SystemServiceRegistry$ServiceFetcher;)V
+HSPLandroid/app/SystemServiceRegistry;->createServiceCache()[Ljava/lang/Object;
HSPLandroid/app/TaskInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/TaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/TaskStackListener;-><init>()V
-HSPLandroid/app/TaskStackListener;->onActivityRequestedOrientationChanged(II)V
-HSPLandroid/app/TaskStackListener;->onTaskCreated(ILandroid/content/ComponentName;)V
-HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HPLandroid/app/TaskStackListener;->onTaskMovedToFront(I)V
-HPLandroid/app/TaskStackListener;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HSPLandroid/app/TaskStackListener;->onTaskRemovalStarted(I)V
-HSPLandroid/app/TaskStackListener;->onTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HSPLandroid/app/TaskStackListener;->onTaskRemoved(I)V
-HPLandroid/app/TaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
+PLandroid/app/TaskStackListener;->onTaskRemovalStarted(I)V
+PLandroid/app/TaskStackListener;->onTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
+HSPLandroid/app/UiModeManager;-><init>(Landroid/content/Context;)V
HSPLandroid/app/UiModeManager;->getCurrentModeType()I
-HSPLandroid/app/UiModeManager;->getNightMode()I
-HSPLandroid/app/UriGrantsManager$1;-><init>()V
HSPLandroid/app/UriGrantsManager$1;->create()Landroid/app/IUriGrantsManager;
HSPLandroid/app/UriGrantsManager$1;->create()Ljava/lang/Object;
HSPLandroid/app/UriGrantsManager;->getService()Landroid/app/IUriGrantsManager;
-HSPLandroid/app/UserSwitchObserver;-><init>()V
-HPLandroid/app/UserSwitchObserver;->onForegroundProfileSwitch(I)V
-HSPLandroid/app/UserSwitchObserver;->onLockedBootComplete(I)V
-HSPLandroid/app/WallpaperColors$1;-><init>()V
-HSPLandroid/app/WallpaperColors$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WallpaperColors;
-HSPLandroid/app/WallpaperColors$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/WallpaperColors;-><init>(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;I)V
-HSPLandroid/app/WallpaperColors;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/WallpaperColors;->getColorHints()I
HSPLandroid/app/WallpaperColors;->getMainColors()Ljava/util/List;
-HSPLandroid/app/WallpaperColors;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/WallpaperInfo$1;-><init>()V
-HSPLandroid/app/WallpaperInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
-HSPLandroid/app/WallpaperInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/WallpaperInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/WallpaperManager$Globals;->forgetLoadedWallpaper()V
-HSPLandroid/app/WallpaperManager$Globals;->getWallpaperColors(III)Landroid/app/WallpaperColors;
-HSPLandroid/app/WallpaperManager;->getDefaultWallpaperComponent(Landroid/content/Context;)Landroid/content/ComponentName;
-HSPLandroid/app/WallpaperManager;->getWallpaperColors(I)Landroid/app/WallpaperColors;
-HSPLandroid/app/WallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-HSPLandroid/app/WallpaperManager;->getWallpaperFile(II)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/app/WallpaperManager;->getWallpaperIdForUser(II)I
-HSPLandroid/app/WallpaperManager;->initGlobals(Landroid/app/IWallpaperManager;Landroid/os/Looper;)V
-HPLandroid/app/WallpaperManager;->isWallpaperBackupEligible(I)Z
-HSPLandroid/app/WindowConfiguration$1;-><init>()V
HSPLandroid/app/WindowConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WindowConfiguration;
HSPLandroid/app/WindowConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/WindowConfiguration;-><init>()V
-HSPLandroid/app/WindowConfiguration;->activityTypeToString(I)Ljava/lang/String;
-HSPLandroid/app/WindowConfiguration;->canReceiveKeys()Z
-HPLandroid/app/WindowConfiguration;->canResizeTask()Z
+HSPLandroid/app/WindowConfiguration;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/WindowConfiguration;-><init>(Landroid/os/Parcel;Landroid/app/WindowConfiguration$1;)V
HSPLandroid/app/WindowConfiguration;->compareTo(Landroid/app/WindowConfiguration;)I
HSPLandroid/app/WindowConfiguration;->diff(Landroid/app/WindowConfiguration;Z)J
-HSPLandroid/app/WindowConfiguration;->equals(Ljava/lang/Object;)Z
HSPLandroid/app/WindowConfiguration;->getActivityType()I
HSPLandroid/app/WindowConfiguration;->getAppBounds()Landroid/graphics/Rect;
-HSPLandroid/app/WindowConfiguration;->getBounds()Landroid/graphics/Rect;
-HSPLandroid/app/WindowConfiguration;->getRotation()I
HSPLandroid/app/WindowConfiguration;->getWindowingMode()I
-HSPLandroid/app/WindowConfiguration;->hasMovementAnimations()Z
-HSPLandroid/app/WindowConfiguration;->hasWindowDecorCaption()Z
HSPLandroid/app/WindowConfiguration;->hasWindowShadow()Z
-HSPLandroid/app/WindowConfiguration;->isAlwaysOnTop()Z
-HSPLandroid/app/WindowConfiguration;->persistTaskBounds()Z
+HSPLandroid/app/WindowConfiguration;->isFloating(I)Z
HSPLandroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/WindowConfiguration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
HSPLandroid/app/WindowConfiguration;->setActivityType(I)V
+HSPLandroid/app/WindowConfiguration;->setAlwaysOnTop(I)V
HSPLandroid/app/WindowConfiguration;->setAppBounds(IIII)V
HSPLandroid/app/WindowConfiguration;->setAppBounds(Landroid/graphics/Rect;)V
HSPLandroid/app/WindowConfiguration;->setBounds(Landroid/graphics/Rect;)V
@@ -2497,924 +1311,419 @@ HSPLandroid/app/WindowConfiguration;->setRotation(I)V
HSPLandroid/app/WindowConfiguration;->setTo(Landroid/app/WindowConfiguration;)V
HSPLandroid/app/WindowConfiguration;->setToDefaults()V
HSPLandroid/app/WindowConfiguration;->setWindowingMode(I)V
-HSPLandroid/app/WindowConfiguration;->supportSplitScreenWindowingMode()Z
HSPLandroid/app/WindowConfiguration;->tasksAreFloating()Z
-HSPLandroid/app/WindowConfiguration;->toString()Ljava/lang/String;
HSPLandroid/app/WindowConfiguration;->unset()V
HSPLandroid/app/WindowConfiguration;->updateFrom(Landroid/app/WindowConfiguration;)I
-HSPLandroid/app/WindowConfiguration;->useWindowFrameForBackdrop()Z
-HSPLandroid/app/WindowConfiguration;->windowingModeToString(I)Ljava/lang/String;
-HSPLandroid/app/WindowConfiguration;->windowsAreScaleable()Z
HSPLandroid/app/WindowConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/WindowConfiguration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLandroid/app/admin/DeviceAdminInfo$1;-><init>()V
-HSPLandroid/app/admin/DeviceAdminInfo$PolicyInfo;-><init>(ILjava/lang/String;II)V
-HSPLandroid/app/admin/DeviceAdminInfo$PolicyInfo;-><init>(ILjava/lang/String;IIII)V
-HSPLandroid/app/admin/DeviceAdminInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ActivityInfo;)V
-HSPLandroid/app/admin/DeviceAdminInfo;->getComponent()Landroid/content/ComponentName;
-HSPLandroid/app/admin/DeviceAdminInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/admin/DeviceAdminInfo;->readPoliciesFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLandroid/app/admin/DeviceAdminInfo;->writePoliciesToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/app/admin/DevicePolicyCache;->getInstance()Landroid/app/admin/DevicePolicyCache;
-PLandroid/app/admin/DevicePolicyEventLogger;->createEvent(I)Landroid/app/admin/DevicePolicyEventLogger;
-PLandroid/app/admin/DevicePolicyEventLogger;->write()V
-HSPLandroid/app/admin/DevicePolicyManager;->checkDeviceIdentifierAccessAsUser(Ljava/lang/String;I)Z
-HPLandroid/app/admin/DevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
+HSPLandroid/app/admin/DevicePolicyManager;-><init>(Landroid/content/Context;Landroid/app/admin/IDevicePolicyManager;)V
+HSPLandroid/app/admin/DevicePolicyManager;-><init>(Landroid/content/Context;Landroid/app/admin/IDevicePolicyManager;Z)V
+HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwner()Ljava/lang/String;
HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentInner(Z)Landroid/content/ComponentName;
HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnAnyUser()Landroid/content/ComponentName;
-HSPLandroid/app/admin/DevicePolicyManager;->getGuestUserDisabled(Landroid/content/ComponentName;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnCallingUser()Landroid/content/ComponentName;
HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;I)I
-HSPLandroid/app/admin/DevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;I)J
-HSPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I
+HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwner()Landroid/content/ComponentName;
HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
-HPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(Landroid/os/UserHandle;)Landroid/content/ComponentName;
-HPLandroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J
HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus()I
HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus(I)I
-HSPLandroid/app/admin/DevicePolicyManager;->isDeviceManaged()Z
+HSPLandroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerApp(Ljava/lang/String;)Z
HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnCallingUser(Ljava/lang/String;)Z
-HPLandroid/app/admin/DevicePolicyManager;->isDeviceProvisioned()Z
-HPLandroid/app/admin/DevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
HSPLandroid/app/admin/DevicePolicyManager;->isProfileOwnerApp(Ljava/lang/String;)Z
HSPLandroid/app/admin/DevicePolicyManager;->myUserId()I
-HPLandroid/app/admin/DevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
-PLandroid/app/admin/IDeviceAdminService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDeviceAdminService;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->checkDeviceIdentifierAccess(Ljava/lang/String;III)Z
+HSPLandroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwner(I)Landroid/content/ComponentName;
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getStorageEncryptionStatus(Ljava/lang/String;I)I
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasDeviceOwner()Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub;-><init>()V
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
HSPLandroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
-HPLandroid/app/admin/IDevicePolicyManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/admin/PasswordMetrics$1;-><init>()V
-HPLandroid/app/admin/PasswordMetrics;->computeForCredential(I[B)Landroid/app/admin/PasswordMetrics;
-HSPLandroid/app/admin/PasswordMetrics;->computeForPassword([B)Landroid/app/admin/PasswordMetrics;
-HSPLandroid/app/admin/PasswordMetrics;->maxLengthSequence([B)I
-HSPLandroid/app/admin/SecurityLog$SecurityEvent$1;-><init>()V
-HSPLandroid/app/admin/SystemUpdateInfo$1;-><init>()V
-HSPLandroid/app/admin/SystemUpdateInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/admin/SystemUpdateInfo;
-HSPLandroid/app/admin/SystemUpdatePolicy$1;-><init>()V
-HSPLandroid/app/assist/AssistContent$1;-><init>()V
-HSPLandroid/app/assist/AssistContent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/assist/AssistContent;
-HSPLandroid/app/assist/AssistContent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/assist/AssistContent;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/assist/AssistContent;->getClipData()Landroid/content/ClipData;
-HSPLandroid/app/assist/AssistContent;->getIntent()Landroid/content/Intent;
-HPLandroid/app/assist/AssistContent;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/app/assist/AssistStructure$1;-><init>()V
-HSPLandroid/app/assist/AssistStructure$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/assist/AssistStructure;
-HSPLandroid/app/assist/AssistStructure$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/assist/AssistStructure$ParcelTransferReader;->fetchData()V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferReader;->go()V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferReader;->readParcel(II)Landroid/os/Parcel;
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;-><init>(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->pushViewStackEntry(Landroid/app/assist/AssistStructure$ViewNode;I)V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeNextEntryToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;Landroid/os/PooledStringWriter;)Z
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcelInner(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)Z
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeView(Landroid/app/assist/AssistStructure$ViewNode;Landroid/os/Parcel;Landroid/os/PooledStringWriter;I)V
-HSPLandroid/app/assist/AssistStructure$SendChannel;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/assist/AssistStructure$ViewNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;I)V
-HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillId()Landroid/view/autofill/AutofillId;
-HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillType()I
-HSPLandroid/app/assist/AssistStructure$ViewNode;->getChildAt(I)Landroid/app/assist/AssistStructure$ViewNode;
-HSPLandroid/app/assist/AssistStructure$ViewNode;->getChildCount()I
-HPLandroid/app/assist/AssistStructure$ViewNode;->setAutofillOverlay(Landroid/app/assist/AssistStructure$AutofillOverlay;)V
-HSPLandroid/app/assist/AssistStructure$ViewNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;Z[F)I
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getChildCount()I
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->newChild(I)Landroid/view/ViewStructure;
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillId(Landroid/view/autofill/AutofillId;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setChildCount(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClassName(Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClickable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setContentDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDataIsSensitive(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDimens(IIIIII)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setEnabled(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocusable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setHint(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setImportantForAutofill(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setInputType(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setLongClickable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextEms(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextLength(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMinTextEms(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setOpaque(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setSelected(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setText(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTextIdEntry(Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setVisibility(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeText;-><init>(Landroid/os/Parcel;Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeText;->writeToParcel(Landroid/os/Parcel;ZZ)V
-HSPLandroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;)V
-HSPLandroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure;Landroid/view/ViewRootImpl;ZI)V
-HSPLandroid/app/assist/AssistStructure$WindowNode;->getRootViewNode()Landroid/app/assist/AssistStructure$ViewNode;
-HSPLandroid/app/assist/AssistStructure$WindowNode;->resolveViewAutofillFlags(Landroid/content/Context;I)I
-HSPLandroid/app/assist/AssistStructure$WindowNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;[F)V
-HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/app/Activity;ZI)V
-HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/assist/AssistStructure;->ensureData()V
-HPLandroid/app/assist/AssistStructure;->ensureDataForAutofill()V
-HPLandroid/app/assist/AssistStructure;->getFlags()I
-HSPLandroid/app/assist/AssistStructure;->getWindowNodeAt(I)Landroid/app/assist/AssistStructure$WindowNode;
-HSPLandroid/app/assist/AssistStructure;->getWindowNodeCount()I
-HPLandroid/app/assist/AssistStructure;->sanitizeForParceling(Z)V
-HPLandroid/app/assist/AssistStructure;->setActivityComponent(Landroid/content/ComponentName;)V
-HPLandroid/app/assist/AssistStructure;->setHomeActivity(Z)V
-HPLandroid/app/assist/AssistStructure;->setTaskId(I)V
-HSPLandroid/app/assist/AssistStructure;->waitForReady()Z
-HSPLandroid/app/assist/AssistStructure;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JLandroid/app/backup/IBackupCallback;I)V
-HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
HSPLandroid/app/backup/BackupAgent$SharedPrefsSynchronizer;->run()V
-HSPLandroid/app/backup/BackupAgent;-><init>()V
HSPLandroid/app/backup/BackupAgent;->attach(Landroid/content/Context;)V
-HPLandroid/app/backup/BackupAgent;->fullBackupFile(Ljava/io/File;Landroid/app/backup/FullBackupDataOutput;)V
HSPLandroid/app/backup/BackupAgent;->getHandler()Landroid/os/Handler;
-HSPLandroid/app/backup/BackupAgent;->onCreate()V
HSPLandroid/app/backup/BackupAgent;->onCreate(Landroid/os/UserHandle;)V
HSPLandroid/app/backup/BackupAgent;->onDestroy()V
HSPLandroid/app/backup/BackupAgent;->waitForSharedPrefs()V
HSPLandroid/app/backup/BackupAgentHelper;-><init>()V
HSPLandroid/app/backup/BackupAgentHelper;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
HSPLandroid/app/backup/BackupAgentHelper;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-HPLandroid/app/backup/BackupDataInput;-><init>(Ljava/io/FileDescriptor;)V
-HPLandroid/app/backup/BackupDataInput;->finalize()V
-HPLandroid/app/backup/BackupDataInput;->getKey()Ljava/lang/String;
-HPLandroid/app/backup/BackupDataInput;->readNextHeader()Z
-HPLandroid/app/backup/BackupDataInput;->skipEntityData()V
HSPLandroid/app/backup/BackupDataOutput;-><init>(Ljava/io/FileDescriptor;JI)V
HSPLandroid/app/backup/BackupDataOutput;->finalize()V
HSPLandroid/app/backup/BackupDataOutput;->setKeyPrefix(Ljava/lang/String;)V
-HSPLandroid/app/backup/BackupDataOutput;->writeEntityData([BI)I
-HSPLandroid/app/backup/BackupDataOutput;->writeEntityHeader(Ljava/lang/String;I)I
HSPLandroid/app/backup/BackupHelperDispatcher;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
HSPLandroid/app/backup/BackupHelperDispatcher;->doOneBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupHelperDispatcher$Header;Landroid/app/backup/BackupHelper;)V
HSPLandroid/app/backup/BackupHelperDispatcher;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
HSPLandroid/app/backup/BackupManager;-><init>(Landroid/content/Context;)V
HSPLandroid/app/backup/BackupManager;->dataChanged()V
HSPLandroid/app/backup/BackupManager;->dataChanged(Ljava/lang/String;)V
-HPLandroid/app/backup/BlobBackupHelper;->checksum([B)J
-PLandroid/app/backup/BlobBackupHelper;->deflate([B)[B
-PLandroid/app/backup/BlobBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-PLandroid/app/backup/BlobBackupHelper;->readOldState(Landroid/os/ParcelFileDescriptor;)Landroid/util/ArrayMap;
-PLandroid/app/backup/BlobBackupHelper;->writeBackupState(Landroid/util/ArrayMap;Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/backup/FileBackupHelperBase;->finalize()V
-HSPLandroid/app/backup/FileBackupHelperBase;->performBackup_checked(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)V
-HPLandroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;JI)V
-HPLandroid/app/backup/FullBackupDataOutput;->addSize(J)V
-PLandroid/app/backup/IBackupCallback$Stub;-><init>()V
-PLandroid/app/backup/IBackupCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/app/backup/IBackupCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/backup/IBackupCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/app/backup/IBackupCallback$Stub$Proxy;->operationComplete(J)V
+HSPLandroid/app/backup/IBackupCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupCallback;
HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->dataChanged(Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->isBackupServiceActive(I)Z
-HPLandroid/app/backup/IBackupManager$Stub$Proxy;->opCompleteForUser(IIJ)V
-HSPLandroid/app/backup/IBackupManager$Stub;-><init>()V
-HSPLandroid/app/backup/IBackupManager$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
-HSPLandroid/app/backup/IBackupManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/backup/SharedPreferencesBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
-HSPLandroid/app/backup/SharedPreferencesBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/contentsuggestions/IContentSuggestionsManager$Stub;-><init>()V
+HSPLandroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$PtYe8PQc1PVJQXRnpm3iSxcWTR0;->createService(Landroid/content/Context;Landroid/os/IBinder;)Ljava/lang/Object;
+HSPLandroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$RHUxgww0pZFMmfQWKgaRAx0YFqA;->createService(Landroid/os/IBinder;)Ljava/lang/Object;
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->acknowledgeStartMessage(IZ)V
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->acknowledgeStopMessage(IZ)V
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->completeWork(II)Z
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->dequeueWork(I)Landroid/app/job/JobWorkItem;
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->jobFinished(IZ)V
-HSPLandroid/app/job/IJobCallback$Stub;-><init>()V
-HPLandroid/app/job/IJobCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/job/IJobCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/job/IJobScheduler$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->cancel(I)V
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getAllPendingJobs()Ljava/util/List;
+HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getAllPendingJobs()Landroid/content/pm/ParceledListSlice;
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getPendingJob(I)Landroid/app/job/JobInfo;
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->schedule(Landroid/app/job/JobInfo;)I
-HSPLandroid/app/job/IJobScheduler$Stub;-><init>()V
-HPLandroid/app/job/IJobScheduler$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/job/IJobScheduler$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/job/IJobService$Stub$Proxy;->startJob(Landroid/app/job/JobParameters;)V
-HPLandroid/app/job/IJobService$Stub$Proxy;->stopJob(Landroid/app/job/JobParameters;)V
+HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/job/IJobScheduler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobScheduler;
+HSPLandroid/app/job/IJobService$Stub;-><init>()V
HSPLandroid/app/job/IJobService$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/job/IJobService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobService;
HSPLandroid/app/job/IJobService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/job/JobInfo$1;-><init>()V
HSPLandroid/app/job/JobInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobInfo;
HSPLandroid/app/job/JobInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/job/JobInfo$Builder;-><init>(ILandroid/content/ComponentName;)V
+HSPLandroid/app/job/JobInfo$Builder;->access$000(Landroid/app/job/JobInfo$Builder;)I
+HSPLandroid/app/job/JobInfo$Builder;->access$100(Landroid/app/job/JobInfo$Builder;)Landroid/os/PersistableBundle;
+HSPLandroid/app/job/JobInfo$Builder;->access$1000(Landroid/app/job/JobInfo$Builder;)Landroid/net/NetworkRequest;
+HSPLandroid/app/job/JobInfo$Builder;->access$1100(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$1200(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$1300(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$1400(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$1500(Landroid/app/job/JobInfo$Builder;)Z
+HSPLandroid/app/job/JobInfo$Builder;->access$1600(Landroid/app/job/JobInfo$Builder;)Z
+HSPLandroid/app/job/JobInfo$Builder;->access$1700(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$1800(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$1900(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$200(Landroid/app/job/JobInfo$Builder;)Landroid/os/Bundle;
+HSPLandroid/app/job/JobInfo$Builder;->access$2000(Landroid/app/job/JobInfo$Builder;)I
+HSPLandroid/app/job/JobInfo$Builder;->access$2100(Landroid/app/job/JobInfo$Builder;)Z
+HSPLandroid/app/job/JobInfo$Builder;->access$2200(Landroid/app/job/JobInfo$Builder;)Z
+HSPLandroid/app/job/JobInfo$Builder;->access$2300(Landroid/app/job/JobInfo$Builder;)I
+HSPLandroid/app/job/JobInfo$Builder;->access$2400(Landroid/app/job/JobInfo$Builder;)I
+HSPLandroid/app/job/JobInfo$Builder;->access$300(Landroid/app/job/JobInfo$Builder;)Landroid/content/ClipData;
+HSPLandroid/app/job/JobInfo$Builder;->access$400(Landroid/app/job/JobInfo$Builder;)I
+HSPLandroid/app/job/JobInfo$Builder;->access$500(Landroid/app/job/JobInfo$Builder;)Landroid/content/ComponentName;
+HSPLandroid/app/job/JobInfo$Builder;->access$600(Landroid/app/job/JobInfo$Builder;)I
+HSPLandroid/app/job/JobInfo$Builder;->access$700(Landroid/app/job/JobInfo$Builder;)Ljava/util/ArrayList;
+HSPLandroid/app/job/JobInfo$Builder;->access$800(Landroid/app/job/JobInfo$Builder;)J
+HSPLandroid/app/job/JobInfo$Builder;->access$900(Landroid/app/job/JobInfo$Builder;)J
HSPLandroid/app/job/JobInfo$Builder;->addTriggerContentUri(Landroid/app/job/JobInfo$TriggerContentUri;)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->build()Landroid/app/job/JobInfo;
HSPLandroid/app/job/JobInfo$Builder;->setBackoffCriteria(JI)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setExtras(Landroid/os/PersistableBundle;)Landroid/app/job/JobInfo$Builder;
+HSPLandroid/app/job/JobInfo$Builder;->setFlags(I)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setMinimumLatency(J)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setOverrideDeadline(J)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setPeriodic(J)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setPeriodic(JJ)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setPersisted(Z)Landroid/app/job/JobInfo$Builder;
+HSPLandroid/app/job/JobInfo$Builder;->setPriority(I)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setRequiredNetworkType(I)Landroid/app/job/JobInfo$Builder;
+HSPLandroid/app/job/JobInfo$Builder;->setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setRequiresCharging(Z)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setRequiresDeviceIdle(Z)Landroid/app/job/JobInfo$Builder;
-HSPLandroid/app/job/JobInfo$Builder;->setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;
-HSPLandroid/app/job/JobInfo$TriggerContentUri$1;-><init>()V
+HSPLandroid/app/job/JobInfo$Builder;->setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;
+HSPLandroid/app/job/JobInfo$Builder;->setTransientExtras(Landroid/os/Bundle;)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobInfo$TriggerContentUri;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Landroid/app/job/JobInfo$TriggerContentUri;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/app/job/JobInfo$TriggerContentUri;-><init>(Landroid/net/Uri;I)V
-HPLandroid/app/job/JobInfo$TriggerContentUri;->equals(Ljava/lang/Object;)Z
-HPLandroid/app/job/JobInfo$TriggerContentUri;->hashCode()I
-HSPLandroid/app/job/JobInfo$TriggerContentUri;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V
+HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;Landroid/app/job/JobInfo$1;)V
HSPLandroid/app/job/JobInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/job/JobInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/app/job/JobInfo;->getBackoffPolicy()I
-HSPLandroid/app/job/JobInfo;->getClipData()Landroid/content/ClipData;
-HSPLandroid/app/job/JobInfo;->getClipGrantFlags()I
-HSPLandroid/app/job/JobInfo;->getConstraintFlags()I
-HSPLandroid/app/job/JobInfo;->getEstimatedNetworkBytes()J
HSPLandroid/app/job/JobInfo;->getExtras()Landroid/os/PersistableBundle;
-HSPLandroid/app/job/JobInfo;->getFlags()I
-HSPLandroid/app/job/JobInfo;->getFlexMillis()J
HSPLandroid/app/job/JobInfo;->getId()I
-HSPLandroid/app/job/JobInfo;->getInitialBackoffMillis()J
-HSPLandroid/app/job/JobInfo;->getIntervalMillis()J
HSPLandroid/app/job/JobInfo;->getMaxExecutionDelayMillis()J
HSPLandroid/app/job/JobInfo;->getMinLatencyMillis()J
-HSPLandroid/app/job/JobInfo;->getPriority()I
-HSPLandroid/app/job/JobInfo;->getRequiredNetwork()Landroid/net/NetworkRequest;
+HSPLandroid/app/job/JobInfo;->getNetworkType()I
HSPLandroid/app/job/JobInfo;->getService()Landroid/content/ComponentName;
-HSPLandroid/app/job/JobInfo;->getTransientExtras()Landroid/os/Bundle;
-HPLandroid/app/job/JobInfo;->getTriggerContentMaxDelay()J
-HPLandroid/app/job/JobInfo;->getTriggerContentUpdateDelay()J
-HSPLandroid/app/job/JobInfo;->getTriggerContentUris()[Landroid/app/job/JobInfo$TriggerContentUri;
-HSPLandroid/app/job/JobInfo;->hasEarlyConstraint()Z
-HSPLandroid/app/job/JobInfo;->hasLateConstraint()Z
-HSPLandroid/app/job/JobInfo;->isExemptedFromAppStandby()Z
-HSPLandroid/app/job/JobInfo;->isPeriodic()Z
-HSPLandroid/app/job/JobInfo;->isPersisted()Z
-HSPLandroid/app/job/JobInfo;->isPrefetch()Z
+HPLandroid/app/job/JobInfo;->isPersisted()Z
+HSPLandroid/app/job/JobInfo;->isRequireCharging()Z
+HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z
HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/job/JobParameters$1;-><init>()V
HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobParameters;
HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/job/JobParameters;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/job/JobParameters;->completeWork(Landroid/app/job/JobWorkItem;)V
HSPLandroid/app/job/JobParameters;->dequeueWork()Landroid/app/job/JobWorkItem;
HSPLandroid/app/job/JobParameters;->getCallback()Landroid/app/job/IJobCallback;
-HPLandroid/app/job/JobParameters;->getDebugStopReason()Ljava/lang/String;
HSPLandroid/app/job/JobParameters;->getExtras()Landroid/os/PersistableBundle;
HSPLandroid/app/job/JobParameters;->getJobId()I
-HSPLandroid/app/job/JobParameters;->getStopReason()I
-HSPLandroid/app/job/JobParameters;->getTransientExtras()Landroid/os/Bundle;
-HPLandroid/app/job/JobParameters;->setStopReason(ILjava/lang/String;)V
-HSPLandroid/app/job/JobParameters;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/job/JobParameters;->getNetwork()Landroid/net/Network;
+HSPLandroid/app/job/JobScheduler;-><init>()V
+HSPLandroid/app/job/JobSchedulerFrameworkInitializer;->lambda$registerServiceWrappers$0(Landroid/os/IBinder;)Landroid/app/job/JobScheduler;
+HSPLandroid/app/job/JobSchedulerFrameworkInitializer;->lambda$registerServiceWrappers$1(Landroid/content/Context;Landroid/os/IBinder;)Landroid/os/DeviceIdleManager;
HSPLandroid/app/job/JobService$1;->onStartJob(Landroid/app/job/JobParameters;)Z
HSPLandroid/app/job/JobService$1;->onStopJob(Landroid/app/job/JobParameters;)Z
HSPLandroid/app/job/JobService;-><init>()V
HSPLandroid/app/job/JobService;->jobFinished(Landroid/app/job/JobParameters;Z)V
HSPLandroid/app/job/JobService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/app/job/JobServiceEngine$JobHandler;-><init>(Landroid/app/job/JobServiceEngine;Landroid/os/Looper;)V
HSPLandroid/app/job/JobServiceEngine$JobHandler;->ackStartMessage(Landroid/app/job/JobParameters;Z)V
HSPLandroid/app/job/JobServiceEngine$JobHandler;->ackStopMessage(Landroid/app/job/JobParameters;Z)V
HSPLandroid/app/job/JobServiceEngine$JobHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/app/job/JobServiceEngine$JobInterface;-><init>(Landroid/app/job/JobServiceEngine;)V
HSPLandroid/app/job/JobServiceEngine$JobInterface;->startJob(Landroid/app/job/JobParameters;)V
HSPLandroid/app/job/JobServiceEngine$JobInterface;->stopJob(Landroid/app/job/JobParameters;)V
+HSPLandroid/app/job/JobServiceEngine;-><init>(Landroid/app/Service;)V
+HSPLandroid/app/job/JobServiceEngine;->getBinder()Landroid/os/IBinder;
HSPLandroid/app/job/JobServiceEngine;->jobFinished(Landroid/app/job/JobParameters;Z)V
-HSPLandroid/app/job/JobWorkItem$1;-><init>()V
HSPLandroid/app/job/JobWorkItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobWorkItem;
HSPLandroid/app/job/JobWorkItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/job/JobWorkItem;-><init>(Landroid/content/Intent;)V
HSPLandroid/app/job/JobWorkItem;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/job/JobWorkItem;->getIntent()Landroid/content/Intent;
HSPLandroid/app/job/JobWorkItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/prediction/AppPredictionContext$1;-><init>()V
-HSPLandroid/app/prediction/AppPredictionContext$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/prediction/AppPredictionContext;
-HSPLandroid/app/prediction/AppPredictionContext$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/app/prediction/AppPredictionContext;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/prediction/AppPredictionSessionId$1;-><init>()V
-HSPLandroid/app/prediction/AppPredictionSessionId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/prediction/AppPredictionSessionId;
-HSPLandroid/app/prediction/AppPredictionSessionId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/app/prediction/AppPredictionSessionId;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/prediction/AppTarget$1;-><init>()V
-HSPLandroid/app/prediction/AppTarget$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/prediction/AppTarget;
-HSPLandroid/app/prediction/AppTarget$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/prediction/AppTarget;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/prediction/AppTarget;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/prediction/AppTargetEvent$1;-><init>()V
-HSPLandroid/app/prediction/AppTargetEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/prediction/AppTargetEvent;
-HSPLandroid/app/prediction/AppTargetEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/app/prediction/AppTargetEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/prediction/AppTargetId$1;-><init>()V
-HSPLandroid/app/prediction/AppTargetId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/prediction/AppTargetId;
-HSPLandroid/app/prediction/AppTargetId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/prediction/AppTargetId;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/prediction/IPredictionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/prediction/IPredictionManager$Stub;-><init>()V
-HPLandroid/app/prediction/IPredictionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/role/-$$Lambda$RoleControllerManager$GrantDefaultRolesRequest$Qrnu382yknLH4_TvruMvYuK_N8M;->run()V
-HSPLandroid/app/role/-$$Lambda$RoleControllerManager$GrantDefaultRolesRequest$uMND2yv3BzXWyrtureF8K8b0f0A;->onResult(Landroid/os/Bundle;)V
-HSPLandroid/app/role/-$$Lambda$RoleControllerManager$RemoteService$45dMO3SdHJhfBB_YKrC44Sznmoo;-><init>()V
-HSPLandroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;-><init>()V
-HSPLandroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/app/role/IOnRoleHoldersChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/app/role/IRoleController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/role/IRoleController$Stub$Proxy;->grantDefaultRoles(Landroid/os/RemoteCallback;)V
+HSPLandroid/app/role/IRoleManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/role/IRoleManager$Stub$Proxy;->getDefaultSmsPackage(I)Ljava/lang/String;
-HSPLandroid/app/role/IRoleManager$Stub$Proxy;->getRoleHoldersAsUser(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/app/role/IRoleManager$Stub;-><init>()V
-HSPLandroid/app/role/IRoleManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/role/RoleControllerManager$GrantDefaultRolesRequest;->lambda$new$0$RoleControllerManager$GrantDefaultRolesRequest(Landroid/os/Bundle;)V
-HSPLandroid/app/role/RoleControllerManager$GrantDefaultRolesRequest;->run()V
-HSPLandroid/app/role/RoleControllerManager$RemoteService;->getRemoteRequestMillis()J
-HSPLandroid/app/role/RoleControllerManager$RemoteService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-HSPLandroid/app/role/RoleControllerManager$RemoteService;->getTimeoutIdleBindMillis()J
-HSPLandroid/app/role/RoleControllerManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-HSPLandroid/app/role/RoleControllerManager;->grantDefaultRoles(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
-HSPLandroid/app/role/RoleManager$OnRoleHoldersChangedListenerDelegate;->onRoleHoldersChanged(Ljava/lang/String;I)V
-HSPLandroid/app/role/RoleManager;->addOnRoleHoldersChangedListenerAsUser(Ljava/util/concurrent/Executor;Landroid/app/role/OnRoleHoldersChangedListener;Landroid/os/UserHandle;)V
+HSPLandroid/app/role/IRoleManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/role/IRoleManager;
+HSPLandroid/app/role/RoleManager;-><init>(Landroid/content/Context;)V
HSPLandroid/app/role/RoleManager;->getDefaultSmsPackage(I)Ljava/lang/String;
-HSPLandroid/app/role/RoleManager;->getRoleHoldersAsUser(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem$1;-><init>()V
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->obtain(Landroid/content/res/Configuration;)Landroid/app/servertransaction/ActivityConfigurationChangeItem;
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->recycle()V
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/ActivityRelaunchItem$1;-><init>()V
-HSPLandroid/app/servertransaction/ActivityRelaunchItem;->obtain(Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/servertransaction/ActivityRelaunchItem;
-HSPLandroid/app/servertransaction/ActivityRelaunchItem;->recycle()V
-HSPLandroid/app/servertransaction/ActivityRelaunchItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/ActivityResultItem$1;-><init>()V
-HPLandroid/app/servertransaction/ActivityResultItem;->obtain(Ljava/util/List;)Landroid/app/servertransaction/ActivityResultItem;
-HPLandroid/app/servertransaction/ActivityResultItem;->recycle()V
-HPLandroid/app/servertransaction/ActivityResultItem;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/servertransaction/BaseClientRequest;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/BaseClientRequest;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-HSPLandroid/app/servertransaction/ClientTransaction$1;-><init>()V
HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ClientTransaction;
HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/servertransaction/ClientTransaction;->addCallback(Landroid/app/servertransaction/ClientTransactionItem;)V
+HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;Landroid/app/servertransaction/ClientTransaction$1;)V
HSPLandroid/app/servertransaction/ClientTransaction;->getActivityToken()Landroid/os/IBinder;
HSPLandroid/app/servertransaction/ClientTransaction;->getCallbacks()Ljava/util/List;
-HSPLandroid/app/servertransaction/ClientTransaction;->getClient()Landroid/app/IApplicationThread;
HSPLandroid/app/servertransaction/ClientTransaction;->getLifecycleStateRequest()Landroid/app/servertransaction/ActivityLifecycleItem;
-HSPLandroid/app/servertransaction/ClientTransaction;->obtain(Landroid/app/IApplicationThread;Landroid/os/IBinder;)Landroid/app/servertransaction/ClientTransaction;
HSPLandroid/app/servertransaction/ClientTransaction;->preExecute(Landroid/app/ClientTransactionHandler;)V
-HSPLandroid/app/servertransaction/ClientTransaction;->recycle()V
-HSPLandroid/app/servertransaction/ClientTransaction;->schedule()V
-HSPLandroid/app/servertransaction/ClientTransaction;->setLifecycleStateRequest(Landroid/app/servertransaction/ActivityLifecycleItem;)V
-HSPLandroid/app/servertransaction/ClientTransaction;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/servertransaction/ClientTransactionItem;-><init>()V
HSPLandroid/app/servertransaction/ClientTransactionItem;->getPostExecutionState()I
-HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;-><init>()V
HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ConfigurationChangeItem;
HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/servertransaction/ConfigurationChangeItem;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/servertransaction/ConfigurationChangeItem;-><init>(Landroid/os/Parcel;Landroid/app/servertransaction/ConfigurationChangeItem$1;)V
HSPLandroid/app/servertransaction/ConfigurationChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/ConfigurationChangeItem;->obtain(Landroid/content/res/Configuration;)Landroid/app/servertransaction/ConfigurationChangeItem;
HSPLandroid/app/servertransaction/ConfigurationChangeItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-HSPLandroid/app/servertransaction/ConfigurationChangeItem;->recycle()V
-HSPLandroid/app/servertransaction/ConfigurationChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/DestroyActivityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/DestroyActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/DestroyActivityItem;
-HSPLandroid/app/servertransaction/DestroyActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/DestroyActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/DestroyActivityItem;->getTargetState()I
-HSPLandroid/app/servertransaction/DestroyActivityItem;->obtain(ZI)Landroid/app/servertransaction/DestroyActivityItem;
-HSPLandroid/app/servertransaction/DestroyActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-HSPLandroid/app/servertransaction/DestroyActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/DestroyActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/LaunchActivityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/LaunchActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/LaunchActivityItem;
-HSPLandroid/app/servertransaction/LaunchActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/LaunchActivityItem;-><init>()V
-HSPLandroid/app/servertransaction/LaunchActivityItem;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->obtain(Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;)Landroid/app/servertransaction/LaunchActivityItem;
-HSPLandroid/app/servertransaction/LaunchActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->setValues(Landroid/app/servertransaction/LaunchActivityItem;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;)V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/NewIntentItem$1;-><init>()V
-HSPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/NewIntentItem;
-HSPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/NewIntentItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HPLandroid/app/servertransaction/NewIntentItem;->obtain(Ljava/util/List;Z)Landroid/app/servertransaction/NewIntentItem;
-HPLandroid/app/servertransaction/NewIntentItem;->recycle()V
-HPLandroid/app/servertransaction/NewIntentItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/ObjectPool;->obtain(Ljava/lang/Class;)Landroid/app/servertransaction/ObjectPoolItem;
-HSPLandroid/app/servertransaction/ObjectPool;->recycle(Landroid/app/servertransaction/ObjectPoolItem;)V
-HSPLandroid/app/servertransaction/PauseActivityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/PauseActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/PauseActivityItem;
-HSPLandroid/app/servertransaction/PauseActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/PauseActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/PauseActivityItem;->getTargetState()I
-HSPLandroid/app/servertransaction/PauseActivityItem;->obtain(ZZIZ)Landroid/app/servertransaction/PauseActivityItem;
-HSPLandroid/app/servertransaction/PauseActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/PauseActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/PauseActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/PendingTransactionActions$StopInfo;->run()V
-HSPLandroid/app/servertransaction/PendingTransactionActions$StopInfo;->setDescription(Ljava/lang/CharSequence;)V
+HSPLandroid/app/servertransaction/PendingTransactionActions;-><init>()V
HSPLandroid/app/servertransaction/PendingTransactionActions;->clear()V
-HSPLandroid/app/servertransaction/PendingTransactionActions;->getOldState()Landroid/os/Bundle;
-HSPLandroid/app/servertransaction/PendingTransactionActions;->getStopInfo()Landroid/app/servertransaction/PendingTransactionActions$StopInfo;
-HSPLandroid/app/servertransaction/PendingTransactionActions;->setCallOnPostCreate(Z)V
-HSPLandroid/app/servertransaction/PendingTransactionActions;->setOldState(Landroid/os/Bundle;)V
-HSPLandroid/app/servertransaction/PendingTransactionActions;->setRestoreInstanceState(Z)V
-HSPLandroid/app/servertransaction/PendingTransactionActions;->setStopInfo(Landroid/app/servertransaction/PendingTransactionActions$StopInfo;)V
-HSPLandroid/app/servertransaction/PendingTransactionActions;->shouldCallOnPostCreate()Z
-HSPLandroid/app/servertransaction/PendingTransactionActions;->shouldRestoreInstanceState()Z
-HSPLandroid/app/servertransaction/ResumeActivityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/ResumeActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ResumeActivityItem;
-HSPLandroid/app/servertransaction/ResumeActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/ResumeActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/ResumeActivityItem;->getTargetState()I
-HSPLandroid/app/servertransaction/ResumeActivityItem;->obtain(IZ)Landroid/app/servertransaction/ResumeActivityItem;
-HSPLandroid/app/servertransaction/ResumeActivityItem;->obtain(Z)Landroid/app/servertransaction/ResumeActivityItem;
-HSPLandroid/app/servertransaction/ResumeActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/ResumeActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-HSPLandroid/app/servertransaction/ResumeActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/ResumeActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/StopActivityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/StopActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/StopActivityItem;
-HSPLandroid/app/servertransaction/StopActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/StopActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/StopActivityItem;->getTargetState()I
-HSPLandroid/app/servertransaction/StopActivityItem;->obtain(ZI)Landroid/app/servertransaction/StopActivityItem;
-HSPLandroid/app/servertransaction/StopActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/StopActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/StopActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem$1;-><init>()V
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/TopResumedActivityChangeItem;
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem;->obtain(Z)Landroid/app/servertransaction/TopResumedActivityChangeItem;
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem;->recycle()V
-HSPLandroid/app/servertransaction/TopResumedActivityChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/servertransaction/TransactionExecutor;-><init>(Landroid/app/ClientTransactionHandler;)V
HSPLandroid/app/servertransaction/TransactionExecutor;->execute(Landroid/app/servertransaction/ClientTransaction;)V
HSPLandroid/app/servertransaction/TransactionExecutor;->executeCallbacks(Landroid/app/servertransaction/ClientTransaction;)V
HSPLandroid/app/servertransaction/TransactionExecutor;->executeLifecycleState(Landroid/app/servertransaction/ClientTransaction;)V
-HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;Landroid/app/servertransaction/ClientTransaction;)V
+HSPLandroid/app/servertransaction/TransactionExecutorHelper;-><init>()V
HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestPreExecutionState(Landroid/app/ActivityThread$ActivityClientRecord;I)I
-HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray;
HSPLandroid/app/servertransaction/TransactionExecutorHelper;->lastCallbackRequestingState(Landroid/app/servertransaction/ClientTransaction;)I
-HSPLandroid/app/servertransaction/WindowVisibilityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/WindowVisibilityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/WindowVisibilityItem;
-HSPLandroid/app/servertransaction/WindowVisibilityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/WindowVisibilityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/WindowVisibilityItem;->obtain(Z)Landroid/app/servertransaction/WindowVisibilityItem;
-HSPLandroid/app/servertransaction/WindowVisibilityItem;->recycle()V
-HSPLandroid/app/servertransaction/WindowVisibilityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-HSPLandroid/app/slice/ISliceManager$Stub;-><init>()V
HSPLandroid/app/slice/ISliceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/slice/ISliceManager;
-HSPLandroid/app/slice/ISliceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/slice/Slice$1;-><init>()V
-HSPLandroid/app/slice/Slice$Builder;-><init>(Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V
-HSPLandroid/app/slice/Slice$Builder;->addAction(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->addHints(Ljava/util/List;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->addIcon(Landroid/graphics/drawable/Icon;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->addInt(ILjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->addLong(JLjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->addSubSlice(Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->addText(Ljava/lang/CharSequence;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;
-HSPLandroid/app/slice/Slice$Builder;->build()Landroid/app/slice/Slice;
-HSPLandroid/app/slice/Slice;->getHints()Ljava/util/List;
-HSPLandroid/app/slice/Slice;->getItems()Ljava/util/List;
-HSPLandroid/app/slice/Slice;->getSpec()Landroid/app/slice/SliceSpec;
-HSPLandroid/app/slice/Slice;->getUri()Landroid/net/Uri;
-HSPLandroid/app/slice/Slice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/slice/SliceItem$1;-><init>()V
-HSPLandroid/app/slice/SliceItem;->getAction()Landroid/app/PendingIntent;
-HSPLandroid/app/slice/SliceItem;->getFormat()Ljava/lang/String;
-HSPLandroid/app/slice/SliceItem;->getHints()Ljava/util/List;
-HSPLandroid/app/slice/SliceItem;->getIcon()Landroid/graphics/drawable/Icon;
-HSPLandroid/app/slice/SliceItem;->getLong()J
-HSPLandroid/app/slice/SliceItem;->getSlice()Landroid/app/slice/Slice;
-HSPLandroid/app/slice/SliceItem;->getSubType()Ljava/lang/String;
-HSPLandroid/app/slice/SliceItem;->getText()Ljava/lang/CharSequence;
-HSPLandroid/app/slice/SliceItem;->writeObj(Landroid/os/Parcel;ILjava/lang/Object;Ljava/lang/String;)V
-HSPLandroid/app/slice/SliceManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLandroid/app/slice/SliceManager;->bindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;
-HSPLandroid/app/slice/SliceManager;->checkSlicePermission(Landroid/net/Uri;II)I
-HSPLandroid/app/slice/SliceManager;->enforceSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)V
-HSPLandroid/app/slice/SliceManager;->getPinnedSlices()Ljava/util/List;
-HSPLandroid/app/slice/SliceManager;->getPinnedSpecs(Landroid/net/Uri;)Ljava/util/Set;
-HSPLandroid/app/slice/SliceManager;->grantSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/app/slice/SliceManager;->pinSlice(Landroid/net/Uri;Ljava/util/Set;)V
+HSPLandroid/app/slice/SliceManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
HSPLandroid/app/slice/SliceProvider;-><init>([Ljava/lang/String;)V
HSPLandroid/app/slice/SliceProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
-HSPLandroid/app/slice/SliceProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/app/slice/SliceProvider;->handleBindSlice(Landroid/net/Uri;Ljava/util/List;Ljava/lang/String;II)Landroid/app/slice/Slice;
-HSPLandroid/app/slice/SliceProvider;->handlePinSlice(Landroid/net/Uri;)V
-HSPLandroid/app/slice/SliceProvider;->onBindSliceStrict(Landroid/net/Uri;Ljava/util/List;)Landroid/app/slice/Slice;
-HSPLandroid/app/slice/SliceSpec$1;-><init>()V
HSPLandroid/app/slice/SliceSpec$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/slice/SliceSpec;
HSPLandroid/app/slice/SliceSpec$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/slice/SliceSpec$1;->newArray(I)[Landroid/app/slice/SliceSpec;
-HSPLandroid/app/slice/SliceSpec$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/app/slice/SliceSpec;-><init>(Ljava/lang/String;I)V
HSPLandroid/app/slice/SliceSpec;->getRevision()I
HSPLandroid/app/slice/SliceSpec;->getType()Ljava/lang/String;
HSPLandroid/app/slice/SliceSpec;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/timedetector/ITimeDetectorService$Stub$Proxy;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
-HSPLandroid/app/timedetector/ITimeDetectorService$Stub;-><init>()V
-HSPLandroid/app/timedetector/ITimeDetectorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/timedetector/TimeDetector;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
-HSPLandroid/app/timedetector/TimeSignal$1;-><init>()V
-HSPLandroid/app/timedetector/TimeSignal$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/timedetector/TimeSignal;
-HSPLandroid/app/timedetector/TimeSignal$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/timedetector/TimeSignal;-><init>(Ljava/lang/String;Landroid/util/TimestampedValue;)V
-HSPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;->onStrongAuthRequiredChanged(II)V
-HSPLandroid/app/trust/IStrongAuthTracker$Stub;-><init>()V
-HSPLandroid/app/trust/IStrongAuthTracker$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/trust/IStrongAuthTracker$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/IStrongAuthTracker;
-HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustChanged(ZII)V
-HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustManagedChanged(ZI)V
+HSPLandroid/app/trust/ITrustManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceLocked(I)Z
-HSPLandroid/app/trust/ITrustManager$Stub;-><init>()V
-HPLandroid/app/trust/ITrustManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/trust/ITrustManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/usage/AppStandbyInfo$1;-><init>()V
-HSPLandroid/app/usage/AppStandbyInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/AppStandbyInfo;
-HSPLandroid/app/usage/AppStandbyInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/usage/AppStandbyInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/usage/CacheQuotaHint$1;-><init>()V
-HSPLandroid/app/usage/CacheQuotaHint$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/CacheQuotaHint;
-HSPLandroid/app/usage/CacheQuotaHint$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/usage/CacheQuotaHint$Builder;-><init>(Landroid/app/usage/CacheQuotaHint;)V
-HSPLandroid/app/usage/CacheQuotaHint$Builder;->build()Landroid/app/usage/CacheQuotaHint;
-HSPLandroid/app/usage/CacheQuotaHint$Builder;->setQuota(J)Landroid/app/usage/CacheQuotaHint$Builder;
-HSPLandroid/app/usage/CacheQuotaHint$Builder;->setUid(I)Landroid/app/usage/CacheQuotaHint$Builder;
-HSPLandroid/app/usage/CacheQuotaHint;->getQuota()J
-HSPLandroid/app/usage/CacheQuotaHint;->getUid()I
-HSPLandroid/app/usage/CacheQuotaHint;->getUsageStats()Landroid/app/usage/UsageStats;
-HSPLandroid/app/usage/CacheQuotaHint;->getVolumeUuid()Ljava/lang/String;
-HSPLandroid/app/usage/CacheQuotaHint;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
-HSPLandroid/app/usage/CacheQuotaService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/app/usage/CacheQuotaService;-><init>()V
-HSPLandroid/app/usage/CacheQuotaService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/app/usage/CacheQuotaService;->onCreate()V
-HSPLandroid/app/usage/ConfigurationStats$1;-><init>()V
-HSPLandroid/app/usage/EventList;-><init>()V
-HSPLandroid/app/usage/EventList;->clear()V
-HSPLandroid/app/usage/EventList;->firstIndexOnOrAfter(J)I
-HSPLandroid/app/usage/EventList;->get(I)Landroid/app/usage/UsageEvents$Event;
-HSPLandroid/app/usage/EventList;->insert(Landroid/app/usage/UsageEvents$Event;)V
-HSPLandroid/app/usage/EventList;->size()I
-PLandroid/app/usage/ExternalStorageStats$1;-><init>()V
-HSPLandroid/app/usage/ICacheQuotaService$Stub$Proxy;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
-HSPLandroid/app/usage/ICacheQuotaService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/ICacheQuotaService;
-HSPLandroid/app/usage/ICacheQuotaService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/usage/IStorageStatsManager$Stub$Proxy;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
-HSPLandroid/app/usage/IStorageStatsManager$Stub$Proxy;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-HSPLandroid/app/usage/IStorageStatsManager$Stub;-><init>()V
-HPLandroid/app/usage/IStorageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->onCarrierPrivilegedAppsChanged()V
+HSPLandroid/app/trust/ITrustManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/ITrustManager;
+HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/usage/IUsageStatsManager$Stub;-><init>()V
HSPLandroid/app/usage/IUsageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IUsageStatsManager;
-HPLandroid/app/usage/IUsageStatsManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/app/usage/IUsageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/app/usage/NetworkStatsManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/app/usage/NetworkStatsManager;->registerUsageCallback(Landroid/net/NetworkTemplate;IJLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V
-HPLandroid/app/usage/NetworkStatsManager;->unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
-HSPLandroid/app/usage/StorageStats$1;-><init>()V
-HSPLandroid/app/usage/StorageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/StorageStats;
-HSPLandroid/app/usage/StorageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/usage/StorageStats;->getAppBytes()J
-HSPLandroid/app/usage/StorageStats;->getCacheBytes()J
-HSPLandroid/app/usage/StorageStats;->getDataBytes()J
-HPLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/lang/String;)J
-HPLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/util/UUID;)J
-HSPLandroid/app/usage/StorageStatsManager;->getFreeBytes(Ljava/util/UUID;)J
-HPLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/lang/String;)Z
-HPLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/util/UUID;)Z
-HPLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
-HPLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
-HSPLandroid/app/usage/StorageStatsManager;->queryStatsForPackage(Ljava/util/UUID;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;
-HSPLandroid/app/usage/TimeSparseArray;-><init>()V
-HSPLandroid/app/usage/TimeSparseArray;->closestIndexOnOrAfter(J)I
-HSPLandroid/app/usage/TimeSparseArray;->closestIndexOnOrBefore(J)I
-HSPLandroid/app/usage/TimeSparseArray;->put(JLjava/lang/Object;)V
-HSPLandroid/app/usage/UsageEvents$1;-><init>()V
-HSPLandroid/app/usage/UsageEvents$Event;-><init>(Landroid/app/usage/UsageEvents$Event;)V
-HPLandroid/app/usage/UsageEvents$Event;->getObfuscatedIfInstantApp()Landroid/app/usage/UsageEvents$Event;
-HSPLandroid/app/usage/UsageEvents;-><init>()V
-HPLandroid/app/usage/UsageEvents;-><init>(Ljava/util/List;[Ljava/lang/String;Z)V
-HPLandroid/app/usage/UsageEvents;->findStringIndex(Ljava/lang/String;)I
-HPLandroid/app/usage/UsageEvents;->writeEventToParcel(Landroid/app/usage/UsageEvents$Event;Landroid/os/Parcel;I)V
-HPLandroid/app/usage/UsageEvents;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/usage/UsageStats$1;-><init>()V
+HSPLandroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;Landroid/net/INetworkStatsService;)V
+HSPLandroid/app/usage/NetworkStatsManager;->setPollOnOpen(Z)V
+HSPLandroid/app/usage/UsageEvents$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageEvents;
+HSPLandroid/app/usage/UsageEvents$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/usage/UsageEvents$Event;-><init>()V
+HSPLandroid/app/usage/UsageEvents$Event;->getEventType()I
+HSPLandroid/app/usage/UsageEvents$Event;->getPackageName()Ljava/lang/String;
+HSPLandroid/app/usage/UsageEvents$Event;->getTimeStamp()J
+HSPLandroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/usage/UsageEvents;->getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z
+HSPLandroid/app/usage/UsageEvents;->hasNextEvent()Z
+HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V
HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageStats;
HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/usage/UsageStats$1;->readBundleToEventMap(Landroid/os/Bundle;Landroid/util/ArrayMap;)V
HSPLandroid/app/usage/UsageStats;-><init>()V
-HSPLandroid/app/usage/UsageStats;-><init>(Landroid/app/usage/UsageStats;)V
-HSPLandroid/app/usage/UsageStats;->eventMapToBundle(Landroid/util/ArrayMap;)Landroid/os/Bundle;
-HSPLandroid/app/usage/UsageStats;->getLastTimeUsed()J
-HSPLandroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String;
HSPLandroid/app/usage/UsageStats;->getTotalTimeInForeground()J
-HSPLandroid/app/usage/UsageStats;->update(Ljava/lang/String;JII)V
-HSPLandroid/app/usage/UsageStats;->updateActivity(Ljava/lang/String;JII)V
-HPLandroid/app/usage/UsageStats;->updateForegroundService(Ljava/lang/String;JI)V
-HSPLandroid/app/usage/UsageStats;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/usage/UsageStatsManager;->onCarrierPrivilegedAppsChanged()V
+HSPLandroid/app/usage/UsageStatsManager;-><init>(Landroid/content/Context;Landroid/app/usage/IUsageStatsManager;)V
+HSPLandroid/app/usage/UsageStatsManager;->queryEvents(JJ)Landroid/app/usage/UsageEvents;
HSPLandroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
-HPLandroid/app/usage/UsageStatsManager;->reasonToString(I)Ljava/lang/String;
-HPLandroid/app/usage/UsageStatsManager;->usageSourceToString(I)Ljava/lang/String;
-HSPLandroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onUserInteractionStarted(Ljava/lang/String;I)V
+HSPLandroid/appwidget/AppWidgetManager;-><init>(Landroid/content/Context;Lcom/android/internal/appwidget/IAppWidgetService;)V
HSPLandroid/appwidget/AppWidgetManager;->getAppWidgetIds(Landroid/content/ComponentName;)[I
HSPLandroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager;
-HSPLandroid/appwidget/AppWidgetManager;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-HSPLandroid/appwidget/AppWidgetManager;->updateAppWidget(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-HSPLandroid/appwidget/AppWidgetProviderInfo$1;-><init>()V
-HSPLandroid/appwidget/AppWidgetProviderInfo;->getProfile()Landroid/os/UserHandle;
-HSPLandroid/appwidget/AppWidgetProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/BluetoothA2dp$1;->onBluetoothStateChange(Z)V
-HSPLandroid/bluetooth/BluetoothA2dp$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
+HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Ljava/lang/Object;
HSPLandroid/bluetooth/BluetoothA2dp;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothA2dp;->doBind()Z
-HSPLandroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-HPLandroid/bluetooth/BluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
HSPLandroid/bluetooth/BluetoothA2dp;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;-><init>()V
-HPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothActivityEnergyInfo;
-HPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/BluetoothActivityEnergyInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/bluetooth/BluetoothAdapter$1;-><init>()V
-HSPLandroid/bluetooth/BluetoothAdapter$2;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
+HSPLandroid/bluetooth/BluetoothAdapter$2;-><init>(Landroid/bluetooth/BluetoothAdapter;)V
HSPLandroid/bluetooth/BluetoothAdapter;-><init>(Landroid/bluetooth/IBluetoothManager;)V
-HSPLandroid/bluetooth/BluetoothAdapter;->checkBluetoothAddress(Ljava/lang/String;)Z
+HPLandroid/bluetooth/BluetoothAdapter;->checkBluetoothAddress(Ljava/lang/String;)Z
+HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothManager()Landroid/bluetooth/IBluetoothManager;
HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothService(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
HSPLandroid/bluetooth/BluetoothAdapter;->getBondedDevices()Ljava/util/Set;
HSPLandroid/bluetooth/BluetoothAdapter;->getDefaultAdapter()Landroid/bluetooth/BluetoothAdapter;
HSPLandroid/bluetooth/BluetoothAdapter;->getProfileProxy(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;I)Z
HSPLandroid/bluetooth/BluetoothAdapter;->getState()I
-HSPLandroid/bluetooth/BluetoothAdapter;->getSupportedProfiles()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothAdapter;->getUuids()[Landroid/os/ParcelUuid;
HSPLandroid/bluetooth/BluetoothAdapter;->isEnabled()Z
HSPLandroid/bluetooth/BluetoothAdapter;->isHearingAidProfileSupported()Z
HSPLandroid/bluetooth/BluetoothAdapter;->nameForState(I)Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothAdapter;->requestControllerActivityEnergyInfo(Landroid/os/ResultReceiver;)V
-HSPLandroid/bluetooth/BluetoothClass$1;-><init>()V
-HSPLandroid/bluetooth/BluetoothClass;->toString()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothCodecConfig$1;-><init>()V
-HPLandroid/bluetooth/BluetoothCodecConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothCodecConfig;
-HPLandroid/bluetooth/BluetoothCodecConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/BluetoothCodecConfig$1;->newArray(I)[Landroid/bluetooth/BluetoothCodecConfig;
-HPLandroid/bluetooth/BluetoothCodecConfig$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/bluetooth/BluetoothDevice$1;-><init>()V
-HSPLandroid/bluetooth/BluetoothDevice$2;-><init>()V
-HSPLandroid/bluetooth/BluetoothDevice$2;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/BluetoothDevice$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/bluetooth/BluetoothAdapter;->toDeviceSet([Landroid/bluetooth/BluetoothDevice;)Ljava/util/Set;
HSPLandroid/bluetooth/BluetoothDevice$2;->newArray(I)[Landroid/bluetooth/BluetoothDevice;
HSPLandroid/bluetooth/BluetoothDevice$2;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/bluetooth/BluetoothDevice;-><init>(Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothDevice;->equals(Ljava/lang/Object;)Z
-HSPLandroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothDevice;->getAlias()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothDevice;->getAliasName()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothDevice;->getBluetoothClass()Landroid/bluetooth/BluetoothClass;
-HSPLandroid/bluetooth/BluetoothDevice;->getBondState()I
-HSPLandroid/bluetooth/BluetoothDevice;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothDevice;->getPhonebookAccessPermission()I
-HSPLandroid/bluetooth/BluetoothDevice;->getService()Landroid/bluetooth/IBluetooth;
-HSPLandroid/bluetooth/BluetoothDevice;->getUuids()[Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/BluetoothDevice;->hashCode()I
-HSPLandroid/bluetooth/BluetoothDevice;->isConnected()Z
-HSPLandroid/bluetooth/BluetoothDevice;->toString()Ljava/lang/String;
+PLandroid/bluetooth/BluetoothDevice;-><init>(Ljava/lang/String;)V
+PLandroid/bluetooth/BluetoothDevice;->getService()Landroid/bluetooth/IBluetooth;
+HSPLandroid/bluetooth/BluetoothHeadset$1;-><init>(Landroid/bluetooth/BluetoothHeadset;)V
HSPLandroid/bluetooth/BluetoothHeadset$1;->onBluetoothStateChange(Z)V
+HSPLandroid/bluetooth/BluetoothHeadset$2;-><init>(Landroid/bluetooth/BluetoothHeadset;)V
HSPLandroid/bluetooth/BluetoothHeadset$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothHeadset$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HSPLandroid/bluetooth/BluetoothHeadset$3;-><init>(Landroid/bluetooth/BluetoothHeadset;Landroid/os/Looper;)V
HSPLandroid/bluetooth/BluetoothHeadset$3;->handleMessage(Landroid/os/Message;)V
HSPLandroid/bluetooth/BluetoothHeadset;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
+HSPLandroid/bluetooth/BluetoothHeadset;->access$100(Landroid/bluetooth/BluetoothHeadset;)Z
+HSPLandroid/bluetooth/BluetoothHeadset;->access$202(Landroid/bluetooth/BluetoothHeadset;Landroid/bluetooth/IBluetoothHeadset;)Landroid/bluetooth/IBluetoothHeadset;
+HSPLandroid/bluetooth/BluetoothHeadset;->access$300(Landroid/bluetooth/BluetoothHeadset;)Landroid/os/Handler;
+HSPLandroid/bluetooth/BluetoothHeadset;->access$400(Landroid/bluetooth/BluetoothHeadset;)Landroid/bluetooth/BluetoothProfile$ServiceListener;
HSPLandroid/bluetooth/BluetoothHeadset;->doBind()Z
-HSPLandroid/bluetooth/BluetoothHeadset;->doUnbind()V
-HSPLandroid/bluetooth/BluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/BluetoothHeadset;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;ILjava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothHearingAid$1;->onBluetoothStateChange(Z)V
-HSPLandroid/bluetooth/BluetoothHearingAid$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/BluetoothHearingAid$1;->getServiceInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHearingAid;
+HSPLandroid/bluetooth/BluetoothHearingAid$1;->getServiceInterface(Landroid/os/IBinder;)Ljava/lang/Object;
HSPLandroid/bluetooth/BluetoothHearingAid;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothHearingAid;->doBind()V
-HSPLandroid/bluetooth/BluetoothHearingAid;->getActiveDevices()Ljava/util/List;
HSPLandroid/bluetooth/BluetoothHearingAid;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothHearingAid;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
-HSPLandroid/bluetooth/BluetoothHidDevice$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothHidDevice;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothHidDevice;->doBind()Z
-HSPLandroid/bluetooth/BluetoothHidDevice;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothHidDevice;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/BluetoothHidHost$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothHidHost;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothHidHost;->doBind()Z
-HSPLandroid/bluetooth/BluetoothHidHost;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothMap$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothMap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothMap;->doBind()Z
-HSPLandroid/bluetooth/BluetoothMap;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothMap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/BluetoothPan$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothPan;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothPan;->doBind()Z
-HSPLandroid/bluetooth/BluetoothPbap$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothPbap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothPbap$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothPbap;->doBind()Z
-HSPLandroid/bluetooth/BluetoothPbap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/BluetoothPbap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/BluetoothSap$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/BluetoothSap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothSap;->doBind()Z
-HSPLandroid/bluetooth/BluetoothSap;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothSocket$SocketState;-><init>(Ljava/lang/String;I)V
-HSPLandroid/bluetooth/BluetoothUuid;->containsAnyUuid([Landroid/os/ParcelUuid;[Landroid/os/ParcelUuid;)Z
-HSPLandroid/bluetooth/BluetoothUuid;->isUuidPresent([Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Z
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->enable()Z
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getBondState(Landroid/bluetooth/BluetoothDevice;)I
+HSPLandroid/bluetooth/BluetoothProfileConnector$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$200(Landroid/bluetooth/BluetoothProfileConnector;Ljava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$302(Landroid/bluetooth/BluetoothProfileConnector;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$400(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile$ServiceListener;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$500(Landroid/bluetooth/BluetoothProfileConnector;)I
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$600(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->connect(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
+HSPLandroid/bluetooth/BluetoothProfileConnector;->doBind()Z
+HSPLandroid/bluetooth/BluetoothProfileConnector;->getService()Ljava/lang/Object;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->logDebug(Ljava/lang/String;)V
+HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getBondedDevices()[Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteClass(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteUuids(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getState()I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getSupportedProfiles()J
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getUuids()[Landroid/os/ParcelUuid;
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isEnabled()Z
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->onLeServiceUp()V
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->registerCallback(Landroid/bluetooth/IBluetoothCallback;)V
-HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->requestActivityInfo(Landroid/os/ResultReceiver;)V
HSPLandroid/bluetooth/IBluetooth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetooth;
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothCallback$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothGatt$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGatt;
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->phoneStateChanged(IIILjava/lang/String;ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;-><init>()V
-HPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getActiveDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
-HSPLandroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
+HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothHeadset$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadset;
+HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothHearingAid$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHearingAid;
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isHearingAidProfileSupported()Z
HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-HSPLandroid/bluetooth/IBluetoothManager$Stub;-><init>()V
-HPLandroid/bluetooth/IBluetoothManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
+HSPLandroid/bluetooth/IBluetoothManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothManager;
+HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub;-><init>()V
HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothMap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub;-><init>()V
HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothSap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->onBluetoothStateChange(Z)V
+HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;-><init>()V
HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/UidTraffic$1;-><init>()V
-HSPLandroid/bluetooth/le/ScanFilter$1;-><init>()V
-HSPLandroid/bluetooth/le/ScanFilter$Builder;-><init>()V
-HSPLandroid/bluetooth/le/ScanFilter$Builder;->build()Landroid/bluetooth/le/ScanFilter;
-HSPLandroid/bluetooth/le/ScanResult$1;-><init>()V
-HSPLandroid/bluetooth/le/ScanSettings$1;-><init>()V
-HSPLandroid/companion/ICompanionDeviceManager$Stub;-><init>()V
-HSPLandroid/companion/ICompanionDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceManager;
-HPLandroid/companion/ICompanionDeviceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;-><init>()V
-HSPLandroid/content/AsyncQueryHandler$WorkerHandler;-><init>(Landroid/content/AsyncQueryHandler;Landroid/os/Looper;)V
-HSPLandroid/content/AsyncQueryHandler$WorkerHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/compat/Compatibility$Callbacks;-><init>()V
+HSPLandroid/compat/Compatibility;->setCallbacks(Landroid/compat/Compatibility$Callbacks;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->cancelSync(Landroid/content/ISyncContext;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->access$800(Landroid/content/AbstractThreadedSyncAdapter$SyncThread;)Landroid/content/SyncContext;
+HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->run()V
+HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;Z)V
+HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;ZZ)V
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$100()Z
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1100(Landroid/content/AbstractThreadedSyncAdapter;)Z
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/accounts/Account;)Landroid/accounts/Account;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$300(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/lang/Object;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$400(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/HashMap;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->getContext()Landroid/content/Context;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->getSyncAdapterBinder()Landroid/os/IBinder;
+PLandroid/content/AbstractThreadedSyncAdapter;->onSyncCanceled()V
HSPLandroid/content/AsyncQueryHandler;-><init>(Landroid/content/ContentResolver;)V
HSPLandroid/content/AsyncQueryHandler;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
-HSPLandroid/content/AsyncQueryHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/content/AsyncQueryHandler;->startQuery(ILjava/lang/Object;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/AsyncTaskLoader$LoadTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/content/AsyncTaskLoader$LoadTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Object;
-HSPLandroid/content/AsyncTaskLoader$LoadTask;->onPostExecute(Ljava/lang/Object;)V
-HSPLandroid/content/AsyncTaskLoader;->dispatchOnLoadComplete(Landroid/content/AsyncTaskLoader$LoadTask;Ljava/lang/Object;)V
-HSPLandroid/content/AsyncTaskLoader;->executePendingTask()V
-HSPLandroid/content/AsyncTaskLoader;->onCancelLoad()Z
-HSPLandroid/content/AsyncTaskLoader;->onForceLoad()V
-HSPLandroid/content/AsyncTaskLoader;->onLoadInBackground()Ljava/lang/Object;
-HSPLandroid/content/AutofillOptions$1;-><init>()V
HSPLandroid/content/AutofillOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/AutofillOptions;
HSPLandroid/content/AutofillOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/AutofillOptions;->isAugmentedAutofillEnabled(Landroid/content/Context;)Z
-HSPLandroid/content/AutofillOptions;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/AutofillOptions;-><init>(IZ)V
HSPLandroid/content/BroadcastReceiver$PendingResult$1;->run()V
HSPLandroid/content/BroadcastReceiver$PendingResult;-><init>(ILjava/lang/String;Landroid/os/Bundle;IZZLandroid/os/IBinder;II)V
HSPLandroid/content/BroadcastReceiver$PendingResult;->finish()V
-HPLandroid/content/BroadcastReceiver$PendingResult;->getSendingUserId()I
HSPLandroid/content/BroadcastReceiver$PendingResult;->sendFinished(Landroid/app/IActivityManager;)V
+HSPLandroid/content/BroadcastReceiver$PendingResult;->setExtrasClassLoader(Ljava/lang/ClassLoader;)V
HSPLandroid/content/BroadcastReceiver;-><init>()V
-HSPLandroid/content/BroadcastReceiver;->checkSynchronousHint()V
-HSPLandroid/content/BroadcastReceiver;->getSendingUserId()I
+HSPLandroid/content/BroadcastReceiver;->getDebugUnregister()Z
+HSPLandroid/content/BroadcastReceiver;->getPendingResult()Landroid/content/BroadcastReceiver$PendingResult;
+PLandroid/content/BroadcastReceiver;->getSendingUserId()I
HSPLandroid/content/BroadcastReceiver;->goAsync()Landroid/content/BroadcastReceiver$PendingResult;
HSPLandroid/content/BroadcastReceiver;->isInitialStickyBroadcast()Z
HSPLandroid/content/BroadcastReceiver;->isOrderedBroadcast()Z
-HSPLandroid/content/BroadcastReceiver;->setResultCode(I)V
-HSPLandroid/content/ClipData$1;-><init>()V
-HSPLandroid/content/ClipData$Item;->getIntent()Landroid/content/Intent;
-PLandroid/content/ClipData$Item;->getUri()Landroid/net/Uri;
-HSPLandroid/content/ClipData;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/ClipData;->getDescription()Landroid/content/ClipDescription;
-HSPLandroid/content/ClipData;->getItemAt(I)Landroid/content/ClipData$Item;
-HSPLandroid/content/ClipData;->getItemCount()I
-HSPLandroid/content/ClipData;->readHtmlTextFromParcel(Landroid/os/Parcel;)Ljava/lang/String;
-HSPLandroid/content/ClipData;->writeHtmlTextToParcel(Ljava/lang/String;Landroid/os/Parcel;I)V
-HSPLandroid/content/ClipData;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/ClipDescription$1;-><init>()V
-HSPLandroid/content/ClipDescription;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/BroadcastReceiver;->setPendingResult(Landroid/content/BroadcastReceiver$PendingResult;)V
HSPLandroid/content/ClipboardManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-HSPLandroid/content/ClipboardManager;->addPrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V
-HSPLandroid/content/ComponentName$1;-><init>()V
HSPLandroid/content/ComponentName$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;
HSPLandroid/content/ComponentName$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/ComponentName$1;->newArray(I)[Landroid/content/ComponentName;
-HSPLandroid/content/ComponentName$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
HSPLandroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/content/ComponentName;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Landroid/os/Parcel;)V
HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
-HSPLandroid/content/ComponentName;->compareTo(Landroid/content/ComponentName;)I
HSPLandroid/content/ComponentName;->createRelative(Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
HSPLandroid/content/ComponentName;->equals(Ljava/lang/Object;)Z
HSPLandroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
-HPLandroid/content/ComponentName;->flattenToShortString(Landroid/content/ComponentName;)Ljava/lang/String;
HSPLandroid/content/ComponentName;->flattenToString()Ljava/lang/String;
HSPLandroid/content/ComponentName;->getClassName()Ljava/lang/String;
HSPLandroid/content/ComponentName;->getPackageName()Ljava/lang/String;
HSPLandroid/content/ComponentName;->getShortClassName()Ljava/lang/String;
HSPLandroid/content/ComponentName;->hashCode()I
-HSPLandroid/content/ComponentName;->toShortString()Ljava/lang/String;
+HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;
HSPLandroid/content/ComponentName;->toString()Ljava/lang/String;
HSPLandroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;
HSPLandroid/content/ComponentName;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/ContentCaptureOptions$1;-><init>()V
-HSPLandroid/content/ContentCaptureOptions;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/ContentProvider$Transport;->applyBatch(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-HSPLandroid/content/ContentProvider$Transport;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
-HSPLandroid/content/ContentProvider$Transport;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/content/ContentProvider$Transport;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions;
+HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/ContentCaptureOptions;-><init>(IIIIILandroid/util/ArraySet;)V
+HSPLandroid/content/ContentCaptureOptions;-><init>(ZIIIIILandroid/util/ArraySet;)V
+HSPLandroid/content/ContentProvider$Transport;-><init>(Landroid/content/ContentProvider;)V
+HSPLandroid/content/ContentProvider$Transport;->access$300(Landroid/content/ContentProvider$Transport;Ljava/lang/String;Ljava/lang/String;I)I
+HSPLandroid/content/ContentProvider$Transport;->applyBatch(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+HSPLandroid/content/ContentProvider$Transport;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLandroid/content/ContentProvider$Transport;->createCancellationSignal()Landroid/os/ICancellationSignal;
-HSPLandroid/content/ContentProvider$Transport;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/ContentProvider$Transport;->enforceFilePermission(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
+HSPLandroid/content/ContentProvider$Transport;->delete(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)I
+HSPLandroid/content/ContentProvider$Transport;->enforceFilePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
+HSPLandroid/content/ContentProvider$Transport;->enforceReadPermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)I
+HSPLandroid/content/ContentProvider$Transport;->enforceWritePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)I
HSPLandroid/content/ContentProvider$Transport;->getContentProvider()Landroid/content/ContentProvider;
HSPLandroid/content/ContentProvider$Transport;->getProviderName()Ljava/lang/String;
HSPLandroid/content/ContentProvider$Transport;->getType(Landroid/net/Uri;)Ljava/lang/String;
-HSPLandroid/content/ContentProvider$Transport;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
-HSPLandroid/content/ContentProvider$Transport;->noteProxyOp(Ljava/lang/String;I)I
-HSPLandroid/content/ContentProvider$Transport;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/ContentProvider$Transport;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/content/ContentProvider$Transport;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/content/ContentProvider$Transport;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider$Transport;->noteProxyOp(Ljava/lang/String;Ljava/lang/String;I)I
+HSPLandroid/content/ContentProvider$Transport;->openTypedAssetFile(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HSPLandroid/content/ContentProvider$Transport;->query(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/content/ContentProvider$Transport;->update(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I
HSPLandroid/content/ContentProvider;-><init>()V
+HSPLandroid/content/ContentProvider;->access$000(Landroid/content/ContentProvider;Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider;->access$100(Landroid/content/ContentProvider;Landroid/util/Pair;)Landroid/util/Pair;
+HSPLandroid/content/ContentProvider;->access$200(Landroid/content/ContentProvider;Ljava/lang/String;)V
HSPLandroid/content/ContentProvider;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
HSPLandroid/content/ContentProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
HSPLandroid/content/ContentProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;Z)V
HSPLandroid/content/ContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HPLandroid/content/ContentProvider;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider;->checkPermissionAndAppOp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
HSPLandroid/content/ContentProvider;->checkUser(IILandroid/content/Context;)Z
-HSPLandroid/content/ContentProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLandroid/content/ContentProvider;->enforceReadPermissionInner(Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
-HSPLandroid/content/ContentProvider;->enforceWritePermissionInner(Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
+HSPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
+HSPLandroid/content/ContentProvider;->delete(Landroid/net/Uri;Landroid/os/Bundle;)I
+HSPLandroid/content/ContentProvider;->enforceReadPermissionInner(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
+HSPLandroid/content/ContentProvider;->enforceWritePermissionInner(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
HSPLandroid/content/ContentProvider;->getAuthorityWithoutUserId(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/content/ContentProvider;->getCallingPackage()Ljava/lang/String;
HSPLandroid/content/ContentProvider;->getContext()Landroid/content/Context;
HSPLandroid/content/ContentProvider;->getIContentProvider()Landroid/content/IContentProvider;
+HSPLandroid/content/ContentProvider;->getPathPermissions()[Landroid/content/pm/PathPermission;
+HSPLandroid/content/ContentProvider;->getReadPermission()Ljava/lang/String;
HSPLandroid/content/ContentProvider;->getUriWithoutUserId(Landroid/net/Uri;)Landroid/net/Uri;
HSPLandroid/content/ContentProvider;->getUserIdFromAuthority(Ljava/lang/String;I)I
HSPLandroid/content/ContentProvider;->getUserIdFromUri(Landroid/net/Uri;)I
HSPLandroid/content/ContentProvider;->getUserIdFromUri(Landroid/net/Uri;I)I
+HSPLandroid/content/ContentProvider;->getWritePermission()Ljava/lang/String;
+HSPLandroid/content/ContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;
HSPLandroid/content/ContentProvider;->matchesOurAuthorities(Ljava/lang/String;)Z
HSPLandroid/content/ContentProvider;->maybeAddUserId(Landroid/net/Uri;I)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider;->maybeGetUriWithoutUserId(Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider;->onCallingPackageChanged()V
HSPLandroid/content/ContentProvider;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HPLandroid/content/ContentProvider;->onLowMemory()V
HSPLandroid/content/ContentProvider;->onTrimMemory(I)V
HSPLandroid/content/ContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/ContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
@@ -3422,11 +1731,22 @@ HSPLandroid/content/ContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/
HSPLandroid/content/ContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
HSPLandroid/content/ContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
HSPLandroid/content/ContentProvider;->setAppOps(II)V
+HSPLandroid/content/ContentProvider;->setAuthorities(Ljava/lang/String;)V
+HSPLandroid/content/ContentProvider;->setCallingPackage(Landroid/util/Pair;)Landroid/util/Pair;
+HSPLandroid/content/ContentProvider;->setPathPermissions([Landroid/content/pm/PathPermission;)V
+HSPLandroid/content/ContentProvider;->setReadPermission(Ljava/lang/String;)V
+HSPLandroid/content/ContentProvider;->setTransportLoggingEnabled(Z)V
+HSPLandroid/content/ContentProvider;->setWritePermission(Ljava/lang/String;)V
+HSPLandroid/content/ContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I
HSPLandroid/content/ContentProvider;->validateIncomingAuthority(Ljava/lang/String;)V
HSPLandroid/content/ContentProvider;->validateIncomingUri(Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->close()V
+HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->finalize()V
HSPLandroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Ljava/lang/String;Z)V
-HSPLandroid/content/ContentProviderClient;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-HSPLandroid/content/ContentProviderClient;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+PLandroid/content/ContentProviderClient;->afterRemote()V
+PLandroid/content/ContentProviderClient;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+PLandroid/content/ContentProviderClient;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+PLandroid/content/ContentProviderClient;->beforeRemote()V
HSPLandroid/content/ContentProviderClient;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLandroid/content/ContentProviderClient;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLandroid/content/ContentProviderClient;->close()V
@@ -3437,114 +1757,150 @@ HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/S
HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
HSPLandroid/content/ContentProviderClient;->release()Z
HSPLandroid/content/ContentProviderClient;->setDetectNotResponding(J)V
+HSPLandroid/content/ContentProviderNative;-><init>()V
HSPLandroid/content/ContentProviderNative;->asBinder()Landroid/os/IBinder;
+HSPLandroid/content/ContentProviderNative;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentProvider;
HSPLandroid/content/ContentProviderNative;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/ContentProviderOperation$1;-><init>()V
+HSPLandroid/content/ContentProviderOperation$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentProviderOperation;
+HSPLandroid/content/ContentProviderOperation$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/content/ContentProviderOperation$BackReference$1;-><init>()V
+PLandroid/content/ContentProviderOperation$BackReference;-><clinit>()V
+HSPLandroid/content/ContentProviderOperation$Builder;-><init>(ILandroid/net/Uri;)V
+HSPLandroid/content/ContentProviderOperation$Builder;-><init>(ILandroid/net/Uri;Landroid/content/ContentProviderOperation$1;)V
+HSPLandroid/content/ContentProviderOperation$Builder;-><init>(ILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/content/ContentProviderOperation$Builder;->assertSelectionAllowed()V
+HSPLandroid/content/ContentProviderOperation$Builder;->assertValuesAllowed()V
HSPLandroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
+HPLandroid/content/ContentProviderOperation$Builder;->ensureSelectionArgs()V
+HPLandroid/content/ContentProviderOperation$Builder;->ensureValues()V
+HPLandroid/content/ContentProviderOperation$Builder;->setSelectionArg(ILjava/lang/Object;)V
+HPLandroid/content/ContentProviderOperation$Builder;->setValue(Ljava/lang/String;Ljava/lang/Object;)V
+HSPLandroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;
+HPLandroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
HSPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
+HPLandroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
+PLandroid/content/ContentProviderOperation$Builder;->withYieldAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;)V
+HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/os/Parcel;Landroid/content/ContentProviderOperation$1;)V
HSPLandroid/content/ContentProviderOperation;->apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
+HSPLandroid/content/ContentProviderOperation;->applyInternal(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
HSPLandroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri;
HSPLandroid/content/ContentProviderOperation;->isReadOperation()Z
HSPLandroid/content/ContentProviderOperation;->isWriteOperation()Z
-HSPLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
+PLandroid/content/ContentProviderOperation;->isYieldAllowed()Z
+HPLandroid/content/ContentProviderOperation;->newAssertQuery(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
+PLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
+HSPLandroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
+HSPLandroid/content/ContentProviderOperation;->resolveExtrasBackReferences([Landroid/content/ContentProviderResult;I)Landroid/os/Bundle;
HSPLandroid/content/ContentProviderOperation;->resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String;
HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;
+HSPLandroid/content/ContentProviderProxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/content/ContentProviderProxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ContentProviderProxy;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HPLandroid/content/ContentProviderProxy;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentProviderProxy;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLandroid/content/ContentProviderProxy;->createCancellationSignal()Landroid/os/ICancellationSignal;
-HSPLandroid/content/ContentProviderProxy;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/ContentProviderProxy;->getType(Landroid/net/Uri;)Ljava/lang/String;
-HSPLandroid/content/ContentProviderProxy;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
-HSPLandroid/content/ContentProviderProxy;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/ContentProviderProxy;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/content/ContentProviderProxy;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/ContentProviderResult$1;-><init>()V
+HSPLandroid/content/ContentProviderProxy;->delete(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)I
+HSPLandroid/content/ContentProviderProxy;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;
+HSPLandroid/content/ContentProviderProxy;->openTypedAssetFile(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HSPLandroid/content/ContentProviderProxy;->query(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/content/ContentProviderResult;-><init>(I)V
+PLandroid/content/ContentProviderResult;-><init>(Landroid/net/Uri;)V
+HSPLandroid/content/ContentProviderResult;-><init>(Landroid/net/Uri;Ljava/lang/Integer;Landroid/os/Bundle;Ljava/lang/Exception;)V
+HSPLandroid/content/ContentProviderResult;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
HSPLandroid/content/ContentResolver$CursorWrapperInner;->close()V
HSPLandroid/content/ContentResolver$CursorWrapperInner;->finalize()V
HSPLandroid/content/ContentResolver$ParcelFileDescriptorInner;->releaseResources()V
+HSPLandroid/content/ContentResolver;-><init>(Landroid/content/Context;)V
HSPLandroid/content/ContentResolver;-><init>(Landroid/content/Context;Landroid/content/ContentInterface;)V
HSPLandroid/content/ContentResolver;->acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
HSPLandroid/content/ContentResolver;->acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
+HSPLandroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
HSPLandroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
HSPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
+HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
+HSPLandroid/content/ContentResolver;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
HSPLandroid/content/ContentResolver;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
HSPLandroid/content/ContentResolver;->call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLandroid/content/ContentResolver;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HPLandroid/content/ContentResolver;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentResolver;->createSqlQueryBundle(Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/content/ContentResolver;->createSqlQueryBundle(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
+HSPLandroid/content/ContentResolver;->delete(Landroid/net/Uri;Landroid/os/Bundle;)I
HSPLandroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
+HSPLandroid/content/ContentResolver;->getFeatureId()Ljava/lang/String;
HSPLandroid/content/ContentResolver;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
-HPLandroid/content/ContentResolver;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-HPLandroid/content/ContentResolver;->getMasterSyncAutomaticallyAsUser(I)Z
+HSPLandroid/content/ContentResolver;->getMasterSyncAutomatically()Z
+HSPLandroid/content/ContentResolver;->getOutgoingPersistedUriPermissions()Ljava/util/List;
HSPLandroid/content/ContentResolver;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/ContentResolver;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/content/ContentResolver;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-HPLandroid/content/ContentResolver;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
+HSPLandroid/content/ContentResolver;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
HSPLandroid/content/ContentResolver;->getType(Landroid/net/Uri;)Ljava/lang/String;
HSPLandroid/content/ContentResolver;->getUserId()I
HSPLandroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
+HSPLandroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;
+HSPLandroid/content/ContentResolver;->invalidPeriodicExtras(Landroid/os/Bundle;)Z
+HSPLandroid/content/ContentResolver;->maybeLogQueryToEventLog(JLandroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->maybeLogUpdateToEventLog(JLandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V
+HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;I)V
HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;II)V
HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
-HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
-HSPLandroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
+HSPLandroid/content/ContentResolver;->notifyChange([Landroid/net/Uri;Landroid/database/ContentObserver;II)V
HSPLandroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
HSPLandroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/content/ContentResolver;->openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
HSPLandroid/content/ContentResolver;->openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
HSPLandroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
HSPLandroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
HSPLandroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
HSPLandroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
-HSPLandroid/content/ContentResolver;->resolveUserId(Landroid/net/Uri;)I
-HPLandroid/content/ContentResolver;->syncErrorToString(I)Ljava/lang/String;
+PLandroid/content/ContentResolver;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->requestSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
+HSPLandroid/content/ContentResolver;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
HSPLandroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
+HSPLandroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I
HSPLandroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/ContentUris;->appendId(Landroid/net/Uri$Builder;J)Landroid/net/Uri$Builder;
-HSPLandroid/content/ContentUris;->parseId(Landroid/net/Uri;)J
+HSPLandroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
+PLandroid/content/ContentUris;->parseId(Landroid/net/Uri;)J
HSPLandroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
-HSPLandroid/content/ContentValues$1;-><init>()V
HSPLandroid/content/ContentValues$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentValues;
HSPLandroid/content/ContentValues$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/ContentValues$1;->newArray(I)[Landroid/content/ContentValues;
-HSPLandroid/content/ContentValues$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/content/ContentValues;-><init>()V
HSPLandroid/content/ContentValues;-><init>(I)V
HSPLandroid/content/ContentValues;-><init>(Landroid/content/ContentValues;)V
HSPLandroid/content/ContentValues;->clear()V
HSPLandroid/content/ContentValues;->containsKey(Ljava/lang/String;)Z
+HSPLandroid/content/ContentValues;->get(Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/content/ContentValues;->getAsBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
HSPLandroid/content/ContentValues;->getAsInteger(Ljava/lang/String;)Ljava/lang/Integer;
HSPLandroid/content/ContentValues;->getAsLong(Ljava/lang/String;)Ljava/lang/Long;
HSPLandroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/content/ContentValues;->getValues()Landroid/util/ArrayMap;
+HSPLandroid/content/ContentValues;->isEmpty()Z
+HSPLandroid/content/ContentValues;->isSupportedValue(Ljava/lang/Object;)Z
HSPLandroid/content/ContentValues;->keySet()Ljava/util/Set;
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V
-HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Double;)V
-HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Float;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;[B)V
+HSPLandroid/content/ContentValues;->putAll(Landroid/content/ContentValues;)V
HSPLandroid/content/ContentValues;->putNull(Ljava/lang/String;)V
+HSPLandroid/content/ContentValues;->putObject(Ljava/lang/String;Ljava/lang/Object;)V
HSPLandroid/content/ContentValues;->remove(Ljava/lang/String;)V
HSPLandroid/content/ContentValues;->size()I
-HSPLandroid/content/ContentValues;->toString()Ljava/lang/String;
-HSPLandroid/content/Context;->assertRuntimeOverlayThemable()V
+HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set;
+HSPLandroid/content/ContentValues;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/Context;-><init>()V
HSPLandroid/content/Context;->getColor(I)I
-HSPLandroid/content/Context;->getColorStateList(I)Landroid/content/res/ColorStateList;
HSPLandroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/Context;->getNextAutofillId()I
-HSPLandroid/content/Context;->getSharedPrefsFile(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/Context;->getString(I)Ljava/lang/String;
HSPLandroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;
HSPLandroid/content/Context;->getText(I)Ljava/lang/CharSequence;
-HSPLandroid/content/Context;->getUser()Landroid/os/UserHandle;
-HSPLandroid/content/Context;->isAutofillCompatibilityEnabled()Z
HSPLandroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
@@ -3552,7 +1908,6 @@ HSPLandroid/content/Context;->obtainStyledAttributes([I)Landroid/content/res/Typ
HSPLandroid/content/ContextWrapper;-><init>(Landroid/content/Context;)V
HSPLandroid/content/ContextWrapper;->attachBaseContext(Landroid/content/Context;)V
HSPLandroid/content/ContextWrapper;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
-HSPLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
HSPLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
HSPLandroid/content/ContextWrapper;->canLoadUnsafeResources()Z
HSPLandroid/content/ContextWrapper;->checkCallingOrSelfPermission(Ljava/lang/String;)I
@@ -3562,18 +1917,14 @@ HSPLandroid/content/ContextWrapper;->checkPermission(Ljava/lang/String;IILandroi
HSPLandroid/content/ContextWrapper;->checkSelfPermission(Ljava/lang/String;)I
HSPLandroid/content/ContextWrapper;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
HSPLandroid/content/ContextWrapper;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
-HSPLandroid/content/ContextWrapper;->createCredentialProtectedStorageContext()Landroid/content/Context;
HSPLandroid/content/ContextWrapper;->createDeviceProtectedStorageContext()Landroid/content/Context;
-HSPLandroid/content/ContextWrapper;->createDisplayContext(Landroid/view/Display;)Landroid/content/Context;
HSPLandroid/content/ContextWrapper;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
HSPLandroid/content/ContextWrapper;->createPackageContextAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/Context;
+HSPLandroid/content/ContextWrapper;->deleteDatabase(Ljava/lang/String;)Z
HSPLandroid/content/ContextWrapper;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context;
HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager;
-HSPLandroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions;
HSPLandroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
HSPLandroid/content/ContextWrapper;->getBasePackageName()Ljava/lang/String;
@@ -3584,28 +1935,26 @@ HSPLandroid/content/ContextWrapper;->getContentResolver()Landroid/content/Conten
HSPLandroid/content/ContextWrapper;->getDataDir()Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getDir(Ljava/lang/String;I)Ljava/io/File;
-HSPLandroid/content/ContextWrapper;->getDisplay()Landroid/view/Display;
HSPLandroid/content/ContextWrapper;->getDisplayId()I
HSPLandroid/content/ContextWrapper;->getExternalCacheDir()Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getExternalFilesDirs(Ljava/lang/String;)[Ljava/io/File;
+HSPLandroid/content/ContextWrapper;->getFeatureId()Ljava/lang/String;
HSPLandroid/content/ContextWrapper;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getFilesDir()Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getMainExecutor()Ljava/util/concurrent/Executor;
HSPLandroid/content/ContextWrapper;->getMainLooper()Landroid/os/Looper;
-HSPLandroid/content/ContextWrapper;->getMainThreadHandler()Landroid/os/Handler;
HSPLandroid/content/ContextWrapper;->getNextAutofillId()I
HSPLandroid/content/ContextWrapper;->getNoBackupFilesDir()Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getOpPackageName()Ljava/lang/String;
HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager;
HSPLandroid/content/ContextWrapper;->getPackageName()Ljava/lang/String;
HSPLandroid/content/ContextWrapper;->getResources()Landroid/content/res/Resources;
-HPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;
HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
-HSPLandroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/content/ContextWrapper;->getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String;
HSPLandroid/content/ContextWrapper;->getTheme()Landroid/content/res/Resources$Theme;
+HSPLandroid/content/ContextWrapper;->getUser()Landroid/os/UserHandle;
HSPLandroid/content/ContextWrapper;->getUserId()I
HSPLandroid/content/ContextWrapper;->isDeviceProtectedStorage()Z
HSPLandroid/content/ContextWrapper;->isRestricted()Z
@@ -3616,124 +1965,67 @@ HSPLandroid/content/ContextWrapper;->registerReceiver(Landroid/content/Broadcast
HSPLandroid/content/ContextWrapper;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;)V
HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V
HSPLandroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
HSPLandroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
-HPLandroid/content/ContextWrapper;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/ContextWrapper;->sendStickyBroadcast(Landroid/content/Intent;)V
-HSPLandroid/content/ContextWrapper;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-HSPLandroid/content/ContextWrapper;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
HSPLandroid/content/ContextWrapper;->setAutofillOptions(Landroid/content/AutofillOptions;)V
HSPLandroid/content/ContextWrapper;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
-HSPLandroid/content/ContextWrapper;->setTheme(I)V
-HSPLandroid/content/ContextWrapper;->startActivity(Landroid/content/Intent;)V
-HSPLandroid/content/ContextWrapper;->startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;
HSPLandroid/content/ContextWrapper;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
HSPLandroid/content/ContextWrapper;->stopService(Landroid/content/Intent;)Z
HSPLandroid/content/ContextWrapper;->unbindService(Landroid/content/ServiceConnection;)V
HSPLandroid/content/ContextWrapper;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
-HSPLandroid/content/IClipboard$Stub$Proxy;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
-HSPLandroid/content/IClipboard$Stub;-><init>()V
-HPLandroid/content/IClipboard$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/IContentService$Stub$Proxy;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
HSPLandroid/content/IContentService$Stub$Proxy;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
-HSPLandroid/content/IContentService$Stub$Proxy;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
+HSPLandroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomatically()Z
+HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
+HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
+HSPLandroid/content/IContentService$Stub$Proxy;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
HSPLandroid/content/IContentService$Stub$Proxy;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
+PLandroid/content/IContentService$Stub$Proxy;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/IContentService$Stub$Proxy;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
+HSPLandroid/content/IContentService$Stub$Proxy;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
HSPLandroid/content/IContentService$Stub$Proxy;->unregisterContentObserver(Landroid/database/IContentObserver;)V
-HSPLandroid/content/IContentService$Stub;-><init>()V
-HPLandroid/content/IContentService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/content/IContentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/IIntentReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/IIntentReceiver$Stub$Proxy;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
HSPLandroid/content/IIntentReceiver$Stub;-><init>()V
HSPLandroid/content/IIntentReceiver$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/content/IIntentReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentReceiver;
+HSPLandroid/content/IIntentSender$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/content/IIntentSender$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/IIntentSender$Stub;-><init>()V
-HSPLandroid/content/IIntentSender$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/content/IIntentSender$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentSender;
-PLandroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/IOnPrimaryClipChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/IRestrictionsManager$Stub;-><init>()V
-HSPLandroid/content/IRestrictionsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/ISyncAdapter$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/content/ISyncAdapter$Stub$Proxy;->cancelSync(Landroid/content/ISyncContext;)V
-PLandroid/content/ISyncAdapter$Stub$Proxy;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HPLandroid/content/ISyncAdapter$Stub$Proxy;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HPLandroid/content/ISyncAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapter;
-HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;-><init>()V
-HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/ISyncContext$Stub;-><init>()V
-HPLandroid/content/ISyncContext$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/ISyncContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/content/ISyncStatusObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/ISyncStatusObserver$Stub$Proxy;->onStatusChanged(I)V
-HPLandroid/content/ISyncStatusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncStatusObserver;
-HSPLandroid/content/Intent$1;-><init>()V
+HSPLandroid/content/ISyncAdapter$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/content/ISyncAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/ISyncContext$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
HSPLandroid/content/Intent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/Intent;
HSPLandroid/content/Intent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/Intent$1;->newArray(I)[Landroid/content/Intent;
-HSPLandroid/content/Intent$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/Intent$FilterComparison;-><init>(Landroid/content/Intent;)V
-HSPLandroid/content/Intent$FilterComparison;->equals(Ljava/lang/Object;)Z
-HSPLandroid/content/Intent$FilterComparison;->hashCode()I
HSPLandroid/content/Intent;-><init>()V
HSPLandroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
HSPLandroid/content/Intent;-><init>(Landroid/content/Intent;)V
HSPLandroid/content/Intent;-><init>(Landroid/content/Intent;I)V
+HSPLandroid/content/Intent;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/Intent;-><init>(Ljava/lang/String;)V
HSPLandroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
HSPLandroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V
HSPLandroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;
HSPLandroid/content/Intent;->addFlags(I)Landroid/content/Intent;
-HSPLandroid/content/Intent;->canStripForHistory()Z
-HSPLandroid/content/Intent;->cloneFilter()Landroid/content/Intent;
-HSPLandroid/content/Intent;->createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;Landroid/content/IntentSender;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->describeContents()I
-HSPLandroid/content/Intent;->fillIn(Landroid/content/Intent;I)I
-HSPLandroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z
-HSPLandroid/content/Intent;->filterHashCode()I
HSPLandroid/content/Intent;->getAction()Ljava/lang/String;
HSPLandroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
-HSPLandroid/content/Intent;->getBundleExtra(Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/content/Intent;->getByteArrayExtra(Ljava/lang/String;)[B
HSPLandroid/content/Intent;->getCategories()Ljava/util/Set;
HSPLandroid/content/Intent;->getClipData()Landroid/content/ClipData;
HSPLandroid/content/Intent;->getComponent()Landroid/content/ComponentName;
-HSPLandroid/content/Intent;->getContentUserHint()I
HSPLandroid/content/Intent;->getData()Landroid/net/Uri;
-HSPLandroid/content/Intent;->getDataString()Ljava/lang/String;
HSPLandroid/content/Intent;->getExtras()Landroid/os/Bundle;
HSPLandroid/content/Intent;->getFlags()I
-HSPLandroid/content/Intent;->getIntArrayExtra(Ljava/lang/String;)[I
HSPLandroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I
-HSPLandroid/content/Intent;->getLaunchToken()Ljava/lang/String;
HSPLandroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
HSPLandroid/content/Intent;->getPackage()Ljava/lang/String;
-HSPLandroid/content/Intent;->getParcelableArrayExtra(Ljava/lang/String;)[Landroid/os/Parcelable;
-HSPLandroid/content/Intent;->getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;
HSPLandroid/content/Intent;->getScheme()Ljava/lang/String;
-HSPLandroid/content/Intent;->getSelector()Landroid/content/Intent;
HSPLandroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
-HSPLandroid/content/Intent;->getSourceBounds()Landroid/graphics/Rect;
-HSPLandroid/content/Intent;->getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;
HSPLandroid/content/Intent;->getStringArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/content/Intent;->getType()Ljava/lang/String;
-HSPLandroid/content/Intent;->hasCategory(Ljava/lang/String;)Z
HSPLandroid/content/Intent;->hasExtra(Ljava/lang/String;)Z
-HSPLandroid/content/Intent;->hasFileDescriptors()Z
-HSPLandroid/content/Intent;->hasWebURI()Z
-HSPLandroid/content/Intent;->isDocument()Z
-HSPLandroid/content/Intent;->isExcludingStopped()Z
-HSPLandroid/content/Intent;->isWebIntent()Z
-HSPLandroid/content/Intent;->makeMainSelectorActivity(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->makeRestartActivityTask(Landroid/content/ComponentName;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->maybeStripForHistory()Landroid/content/Intent;
HSPLandroid/content/Intent;->migrateExtraStreamToClipData()Z
-HSPLandroid/content/Intent;->parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;
HSPLandroid/content/Intent;->parseUri(Ljava/lang/String;I)Landroid/content/Intent;
HSPLandroid/content/Intent;->prepareToEnterProcess()V
HSPLandroid/content/Intent;->prepareToLeaveProcess(Landroid/content/Context;)V
@@ -3742,27 +2034,17 @@ HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Inten
HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;
HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;
HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[B)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[I)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;
+HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[J)Landroid/content/Intent;
HSPLandroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putParcelableArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
HSPLandroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
HSPLandroid/content/Intent;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/content/Intent;->removeExtra(Ljava/lang/String;)V
-HPLandroid/content/Intent;->removeFlags(I)V
-HSPLandroid/content/Intent;->replaceExtras(Landroid/content/Intent;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent;
HSPLandroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;
HSPLandroid/content/Intent;->resolveSystemService(Landroid/content/pm/PackageManager;I)Landroid/content/ComponentName;
HSPLandroid/content/Intent;->resolveType(Landroid/content/ContentResolver;)Ljava/lang/String;
HSPLandroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
-HSPLandroid/content/Intent;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/Intent;
-HPLandroid/content/Intent;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
HSPLandroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
HSPLandroid/content/Intent;->setAllowFds(Z)V
HSPLandroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;
@@ -3775,222 +2057,84 @@ HSPLandroid/content/Intent;->setDefusable(Z)V
HSPLandroid/content/Intent;->setExtrasClassLoader(Ljava/lang/ClassLoader;)V
HSPLandroid/content/Intent;->setFlags(I)Landroid/content/Intent;
HSPLandroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->setSourceBounds(Landroid/graphics/Rect;)V
HSPLandroid/content/Intent;->setType(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->toInsecureString()Ljava/lang/String;
HSPLandroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V
-HSPLandroid/content/Intent;->toShortString(ZZZZ)Ljava/lang/String;
HSPLandroid/content/Intent;->toString()Ljava/lang/String;
HSPLandroid/content/Intent;->toUri(I)Ljava/lang/String;
HSPLandroid/content/Intent;->toUriFragment(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
HSPLandroid/content/Intent;->toUriInner(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
HSPLandroid/content/Intent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/IntentFilter$1;-><init>()V
HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/IntentFilter;
HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/IntentFilter$AuthorityEntry;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/IntentFilter$AuthorityEntry;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter$AuthorityEntry;->equals(Ljava/lang/Object;)Z
-HSPLandroid/content/IntentFilter$AuthorityEntry;->match(Landroid/net/Uri;)I
HSPLandroid/content/IntentFilter;-><init>()V
-HSPLandroid/content/IntentFilter;-><init>(Landroid/content/IntentFilter;)V
HSPLandroid/content/IntentFilter;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;->actionsIterator()Ljava/util/Iterator;
HSPLandroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
HSPLandroid/content/IntentFilter;->addCategory(Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;->addDataAuthority(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/content/IntentFilter;->addDataPath(Ljava/lang/String;I)V
HSPLandroid/content/IntentFilter;->addDataScheme(Ljava/lang/String;)V
+HSPLandroid/content/IntentFilter;->addDataSchemeSpecificPart(Landroid/os/PatternMatcher;)V
HSPLandroid/content/IntentFilter;->addDataSchemeSpecificPart(Ljava/lang/String;I)V
HSPLandroid/content/IntentFilter;->addDataType(Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;->authoritiesIterator()Ljava/util/Iterator;
-HSPLandroid/content/IntentFilter;->categoriesIterator()Ljava/util/Iterator;
HSPLandroid/content/IntentFilter;->countActions()I
-HSPLandroid/content/IntentFilter;->countCategories()I
-HSPLandroid/content/IntentFilter;->countDataAuthorities()I
-HSPLandroid/content/IntentFilter;->countDataPaths()I
-HSPLandroid/content/IntentFilter;->countDataSchemeSpecificParts()I
-HSPLandroid/content/IntentFilter;->countDataSchemes()I
-HSPLandroid/content/IntentFilter;->countDataTypes()I
-HSPLandroid/content/IntentFilter;->dump(Landroid/util/Printer;Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;->findMimeType(Ljava/lang/String;)Z
HSPLandroid/content/IntentFilter;->getAction(I)Ljava/lang/String;
-HSPLandroid/content/IntentFilter;->getCategory(I)Ljava/lang/String;
-HSPLandroid/content/IntentFilter;->getDataAuthority(I)Landroid/content/IntentFilter$AuthorityEntry;
-HSPLandroid/content/IntentFilter;->getDataPath(I)Landroid/os/PatternMatcher;
-HSPLandroid/content/IntentFilter;->getDataScheme(I)Ljava/lang/String;
-HPLandroid/content/IntentFilter;->getDataSchemeSpecificPart(I)Landroid/os/PatternMatcher;
-HSPLandroid/content/IntentFilter;->getHostsList()Ljava/util/ArrayList;
+HSPLandroid/content/IntentFilter;->getAutoVerify()Z
HSPLandroid/content/IntentFilter;->getPriority()I
-HSPLandroid/content/IntentFilter;->handleAllWebDataURI()Z
-HSPLandroid/content/IntentFilter;->handlesWebUris(Z)Z
HSPLandroid/content/IntentFilter;->hasAction(Ljava/lang/String;)Z
HSPLandroid/content/IntentFilter;->hasCategory(Ljava/lang/String;)Z
-HSPLandroid/content/IntentFilter;->hasDataAuthority(Landroid/content/IntentFilter$AuthorityEntry;)Z
-HSPLandroid/content/IntentFilter;->hasDataPath(Landroid/os/PatternMatcher;)Z
-HPLandroid/content/IntentFilter;->hasDataPath(Ljava/lang/String;)Z
-HSPLandroid/content/IntentFilter;->hasDataScheme(Ljava/lang/String;)Z
-HPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Landroid/os/PatternMatcher;)Z
-HSPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Ljava/lang/String;)Z
-HSPLandroid/content/IntentFilter;->match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I
HSPLandroid/content/IntentFilter;->match(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/util/Set;Ljava/lang/String;)I
HSPLandroid/content/IntentFilter;->matchCategories(Ljava/util/Set;)Ljava/lang/String;
HSPLandroid/content/IntentFilter;->matchData(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)I
-HSPLandroid/content/IntentFilter;->matchDataAuthority(Landroid/net/Uri;)I
-HPLandroid/content/IntentFilter;->needsVerification()Z
-HSPLandroid/content/IntentFilter;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLandroid/content/IntentFilter;->schemesIterator()Ljava/util/Iterator;
HSPLandroid/content/IntentFilter;->setPriority(I)V
HSPLandroid/content/IntentFilter;->setVisibilityToInstantApp(I)V
-HSPLandroid/content/IntentFilter;->typesIterator()Ljava/util/Iterator;
HSPLandroid/content/IntentFilter;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/IntentFilter;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/content/IntentSender$1;-><init>()V
-HSPLandroid/content/IntentSender$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/IntentSender;
-HSPLandroid/content/IntentSender$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/IntentSender;-><init>(Landroid/os/IBinder;)V
-HPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V
-HPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V
-HSPLandroid/content/Loader;->cancelLoad()Z
-HSPLandroid/content/Loader;->commitContentChanged()V
-HSPLandroid/content/Loader;->forceLoad()V
-HSPLandroid/content/Loader;->getContext()Landroid/content/Context;
-HSPLandroid/content/Loader;->isAbandoned()Z
-HSPLandroid/content/Loader;->registerListener(ILandroid/content/Loader$OnLoadCompleteListener;)V
-HSPLandroid/content/Loader;->reset()V
HSPLandroid/content/PeriodicSync$1;-><init>()V
-PLandroid/content/PeriodicSync;-><init>(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;JJ)V
-PLandroid/content/PeriodicSync;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/ServiceConnection;->onBindingDied(Landroid/content/ComponentName;)V
-HSPLandroid/content/ServiceConnection;->onNullBinding(Landroid/content/ComponentName;)V
-HSPLandroid/content/SyncAdapterType$1;-><init>()V
+HSPLandroid/content/PeriodicSync;-><clinit>()V
+HSPLandroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;-><init>(Landroid/content/Context;I)V
+HSPLandroid/content/SearchRecentSuggestionsProvider;-><init>()V
+HSPLandroid/content/SearchRecentSuggestionsProvider;->onCreate()Z
+HSPLandroid/content/SearchRecentSuggestionsProvider;->setupSuggestions(Ljava/lang/String;I)V
HSPLandroid/content/SyncAdapterType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncAdapterType;
HSPLandroid/content/SyncAdapterType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/SyncAdapterType$1;->newArray(I)[Landroid/content/SyncAdapterType;
HSPLandroid/content/SyncAdapterType$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/content/SyncAdapterType;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;ZZZZLjava/lang/String;Ljava/lang/String;)V
-HPLandroid/content/SyncAdapterType;->allowParallelSyncs()Z
-HSPLandroid/content/SyncAdapterType;->equals(Ljava/lang/Object;)Z
-HSPLandroid/content/SyncAdapterType;->hashCode()I
-HPLandroid/content/SyncAdapterType;->isAlwaysSyncable()Z
-HPLandroid/content/SyncAdapterType;->isUserVisible()Z
-HSPLandroid/content/SyncAdapterType;->newKey(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SyncAdapterType;
-HPLandroid/content/SyncAdapterType;->supportsUploading()Z
-HPLandroid/content/SyncAdapterType;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/SyncAdaptersCache$MySerializer;-><init>()V
-HSPLandroid/content/SyncAdaptersCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/SyncAdapterType;
-HSPLandroid/content/SyncAdaptersCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
-HSPLandroid/content/SyncAdaptersCache;-><init>(Landroid/content/Context;)V
-HSPLandroid/content/SyncAdaptersCache;->getSyncAdapterPackagesForAuthority(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/content/SyncAdaptersCache;->onServicesChangedLocked(I)V
-HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/content/SyncAdapterType;
-HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-PLandroid/content/SyncInfo$1;-><init>()V
-HSPLandroid/content/SyncRequest$1;-><init>()V
-HPLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncRequest;
-HPLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/SyncRequest;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/SyncRequest;->getAccount()Landroid/accounts/Account;
-HPLandroid/content/SyncRequest;->getBundle()Landroid/os/Bundle;
-HPLandroid/content/SyncRequest;->getProvider()Ljava/lang/String;
-HPLandroid/content/SyncRequest;->getSyncFlexTime()J
-HPLandroid/content/SyncRequest;->getSyncRunTime()J
-HPLandroid/content/SyncRequest;->isPeriodic()Z
-HSPLandroid/content/SyncResult$1;-><init>()V
-HPLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncResult;
-HPLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/SyncResult;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/SyncResult;-><init>(Z)V
+HSPLandroid/content/SyncContext;->getSyncContextBinder()Landroid/os/IBinder;
+HSPLandroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
+HSPLandroid/content/SyncRequest$Builder;->build()Landroid/content/SyncRequest;
+HSPLandroid/content/SyncRequest$Builder;->setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;
+HSPLandroid/content/SyncRequest$Builder;->setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;
+HSPLandroid/content/SyncRequest$Builder;->syncOnce()Landroid/content/SyncRequest$Builder;
+HSPLandroid/content/SyncRequest;-><init>(Landroid/content/SyncRequest$Builder;)V
+HSPLandroid/content/SyncRequest;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/SyncResult;->clear()V
HSPLandroid/content/SyncResult;->hasError()Z
HSPLandroid/content/SyncResult;->hasHardError()Z
-HSPLandroid/content/SyncResult;->hasSoftError()Z
-HPLandroid/content/SyncResult;->madeSomeProgress()Z
-HSPLandroid/content/SyncResult;->toString()Ljava/lang/String;
-HSPLandroid/content/SyncStats$1;-><init>()V
-HPLandroid/content/SyncStats;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/SyncStats;->toString()Ljava/lang/String;
-HSPLandroid/content/SyncStatusInfo$1;-><init>()V
-HPLandroid/content/SyncStatusInfo$Stats;->clear()V
-HPLandroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
-HSPLandroid/content/SyncStatusInfo$Stats;->readFromParcel(Landroid/os/Parcel;)V
-HPLandroid/content/SyncStatusInfo$Stats;->writeToParcel(Landroid/os/Parcel;)V
-HPLandroid/content/SyncStatusInfo;-><init>(I)V
-HSPLandroid/content/SyncStatusInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/SyncStatusInfo;->addEvent(Ljava/lang/String;)V
-HPLandroid/content/SyncStatusInfo;->areSameDates(JJ)Z
-HPLandroid/content/SyncStatusInfo;->maybeResetTodayStats(ZZ)V
-HPLandroid/content/SyncStatusInfo;->setLastFailure(IJLjava/lang/String;)V
-HPLandroid/content/SyncStatusInfo;->setLastSuccess(IJ)V
-HPLandroid/content/SyncStatusInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/UndoManager$UndoState;->addOperation(Landroid/content/UndoOperation;)V
-HSPLandroid/content/UndoManager$UndoState;->destroy()V
-HSPLandroid/content/UndoManager$UndoState;->getLastOperation(Ljava/lang/Class;Landroid/content/UndoOwner;)Landroid/content/UndoOperation;
-HSPLandroid/content/UndoManager$UndoState;->hasMultipleOwners()Z
-HSPLandroid/content/UndoManager$UndoState;->hasOperation(Landroid/content/UndoOwner;)Z
-HSPLandroid/content/UndoManager;-><init>()V
-HSPLandroid/content/UndoManager;->addOperation(Landroid/content/UndoOperation;I)V
-HSPLandroid/content/UndoManager;->beginUpdate(Ljava/lang/CharSequence;)V
-HSPLandroid/content/UndoManager;->commitState(Landroid/content/UndoOwner;)I
-HSPLandroid/content/UndoManager;->endUpdate()V
-HSPLandroid/content/UndoManager;->findPrevState(Ljava/util/ArrayList;[Landroid/content/UndoOwner;I)I
+HSPLandroid/content/SyncResult;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/SyncStats;->clear()V
+PLandroid/content/SyncStats;->toString()Ljava/lang/String;
+HSPLandroid/content/SyncStats;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/UndoManager;->forgetRedos([Landroid/content/UndoOwner;I)I
HSPLandroid/content/UndoManager;->forgetUndos([Landroid/content/UndoOwner;I)I
-HSPLandroid/content/UndoManager;->getLastOperation(Ljava/lang/Class;Landroid/content/UndoOwner;I)Landroid/content/UndoOperation;
HSPLandroid/content/UndoManager;->getOwner(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/UndoOwner;
-HSPLandroid/content/UndoManager;->getTopUndo([Landroid/content/UndoOwner;)Landroid/content/UndoManager$UndoState;
-HSPLandroid/content/UndoManager;->isInUndo()Z
-HSPLandroid/content/UndoManager;->matchOwners(Landroid/content/UndoManager$UndoState;[Landroid/content/UndoOwner;)Z
-HSPLandroid/content/UndoManager;->pushWorkingState()V
-HSPLandroid/content/UndoManager;->removeOwner(Landroid/content/UndoOwner;)V
-HSPLandroid/content/UndoManager;->saveInstanceState(Landroid/os/Parcel;)V
-HSPLandroid/content/UndoOperation;->allowMerge()Z
-HSPLandroid/content/UndoOperation;->getOwner()Landroid/content/UndoOwner;
-HSPLandroid/content/UndoOperation;->hasData()Z
-HSPLandroid/content/UndoOperation;->matchOwner(Landroid/content/UndoOwner;)Z
HSPLandroid/content/UriMatcher;-><init>(I)V
+HSPLandroid/content/UriMatcher;-><init>(ILjava/lang/String;)V
HSPLandroid/content/UriMatcher;->addURI(Ljava/lang/String;Ljava/lang/String;I)V
HSPLandroid/content/UriMatcher;->createChild(Ljava/lang/String;)Landroid/content/UriMatcher;
HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I
-HSPLandroid/content/om/IOverlayManager$Stub;-><init>()V
HSPLandroid/content/om/IOverlayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/om/IOverlayManager;
-HSPLandroid/content/om/OverlayInfo$1;-><init>()V
-HSPLandroid/content/om/OverlayInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZ)V
HSPLandroid/content/om/OverlayInfo;->ensureValidState()V
-PLandroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;-><init>()V
PLandroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLandroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;-><init>()V
-PLandroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/content/pm/-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE;-><init>()V
-HSPLandroid/content/pm/-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE;->get()Ljava/lang/Object;
-PLandroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;-><init>()V
-HPLandroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLandroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;-><init>()V
+PLandroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
PLandroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/content/pm/ActivityInfo$1;-><init>()V
HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ActivityInfo;
HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/ActivityInfo$1;->newArray(I)[Landroid/content/pm/ActivityInfo;
HSPLandroid/content/pm/ActivityInfo$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/content/pm/ActivityInfo$WindowLayout;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/ActivityInfo;-><init>()V
-HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/content/pm/ActivityInfo;)V
HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/ActivityInfo;->getRealConfigChanged()I
-HSPLandroid/content/pm/ActivityInfo;->getThemeResource()I
-HSPLandroid/content/pm/ActivityInfo;->hasFixedAspectRatio()Z
-HSPLandroid/content/pm/ActivityInfo;->isFixedOrientation()Z
-HSPLandroid/content/pm/ActivityInfo;->isFixedOrientationLandscape()Z
-HSPLandroid/content/pm/ActivityInfo;->isFixedOrientationPortrait()Z
-HSPLandroid/content/pm/ActivityInfo;->isTranslucentOrFloating(Landroid/content/res/TypedArray;)Z
-HSPLandroid/content/pm/ActivityInfo;->resizeModeToString(I)Ljava/lang/String;
-HSPLandroid/content/pm/ActivityInfo;->supportsPictureInPicture()Z
-HSPLandroid/content/pm/ActivityInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/AndroidHidlUpdater;-><init>()V
-HSPLandroid/content/pm/AndroidHidlUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/ApplicationInfo$1;-><init>()V
+HSPLandroid/content/pm/ActivityInfo;->activityInfoConfigNativeToJava(I)I
HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ApplicationInfo;
HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/ApplicationInfo;-><init>()V
@@ -4000,446 +2144,120 @@ HSPLandroid/content/pm/ApplicationInfo;->getAllApkPaths()[Ljava/lang/String;
HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
HSPLandroid/content/pm/ApplicationInfo;->getBaseCodePath()Ljava/lang/String;
HSPLandroid/content/pm/ApplicationInfo;->getCodePath()Ljava/lang/String;
-HSPLandroid/content/pm/ApplicationInfo;->getHiddenApiEnforcementPolicy()I
-HSPLandroid/content/pm/ApplicationInfo;->getResourcePath()Ljava/lang/String;
-HPLandroid/content/pm/ApplicationInfo;->getSplitCodePaths()[Ljava/lang/String;
HSPLandroid/content/pm/ApplicationInfo;->hasRtlSupport()Z
HSPLandroid/content/pm/ApplicationInfo;->initForUser(I)V
-HSPLandroid/content/pm/ApplicationInfo;->isAllowedToUseHiddenApis()Z
-HPLandroid/content/pm/ApplicationInfo;->isAudioPlaybackCaptureAllowed()Z
-HSPLandroid/content/pm/ApplicationInfo;->isDirectBootAware()Z
-HSPLandroid/content/pm/ApplicationInfo;->isEmbeddedDexUsed()Z
-HSPLandroid/content/pm/ApplicationInfo;->isEncryptionAware()Z
-HSPLandroid/content/pm/ApplicationInfo;->isExternal()Z
HSPLandroid/content/pm/ApplicationInfo;->isInstantApp()Z
-HSPLandroid/content/pm/ApplicationInfo;->isOem()Z
-HSPLandroid/content/pm/ApplicationInfo;->isPartiallyDirectBootAware()Z
-HSPLandroid/content/pm/ApplicationInfo;->isPrivilegedApp()Z
HSPLandroid/content/pm/ApplicationInfo;->isProduct()Z
-HSPLandroid/content/pm/ApplicationInfo;->isProductServices()Z
HSPLandroid/content/pm/ApplicationInfo;->isProfileableByShell()Z
-HSPLandroid/content/pm/ApplicationInfo;->isSignedWithPlatformKey()Z
-HSPLandroid/content/pm/ApplicationInfo;->isStaticSharedLibrary()Z
HSPLandroid/content/pm/ApplicationInfo;->isSystemApp()Z
HSPLandroid/content/pm/ApplicationInfo;->isUpdatedSystemApp()Z
HSPLandroid/content/pm/ApplicationInfo;->isVendor()Z
-HSPLandroid/content/pm/ApplicationInfo;->maybeUpdateHiddenApiEnforcementPolicy(I)V
HSPLandroid/content/pm/ApplicationInfo;->requestsIsolatedSplitLoading()Z
-HSPLandroid/content/pm/ApplicationInfo;->setBaseCodePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/ApplicationInfo;->setBaseResourcePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/ApplicationInfo;->setCodePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/ApplicationInfo;->setHiddenApiEnforcementPolicy(I)V
-HSPLandroid/content/pm/ApplicationInfo;->setResourcePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/ApplicationInfo;->setSplitCodePaths([Ljava/lang/String;)V
-HSPLandroid/content/pm/ApplicationInfo;->setSplitResourcePaths([Ljava/lang/String;)V
HSPLandroid/content/pm/ApplicationInfo;->setVersionCode(J)V
-HPLandroid/content/pm/ApplicationInfo;->toString()Ljava/lang/String;
HSPLandroid/content/pm/ApplicationInfo;->usesCompatibilityMode()Z
-HSPLandroid/content/pm/ApplicationInfo;->usesNonSdkApi()Z
HSPLandroid/content/pm/ApplicationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;-><init>(Landroid/content/IntentFilter;Landroid/content/pm/InstantAppResolveInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/pm/BaseParceledListSlice$1;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
+HSPLandroid/content/pm/BaseParceledListSlice;->readCreator(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V
HSPLandroid/content/pm/BaseParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ChangedPackages$1;-><init>()V
-PLandroid/content/pm/ChangedPackages;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/ComponentInfo;-><init>()V
-HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/content/pm/ComponentInfo;)V
HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/ComponentInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
HSPLandroid/content/pm/ComponentInfo;->getComponentName()Landroid/content/ComponentName;
HSPLandroid/content/pm/ComponentInfo;->getIconResource()I
-HSPLandroid/content/pm/ComponentInfo;->getLogoResource()I
HSPLandroid/content/pm/ComponentInfo;->isEnabled()Z
-HSPLandroid/content/pm/ComponentInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
HSPLandroid/content/pm/ComponentInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ConfigurationInfo$1;-><init>()V
HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ConfigurationInfo;
HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ConfigurationInfo;-><init>()V
HSPLandroid/content/pm/ConfigurationInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/ConfigurationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/FallbackCategoryProvider;->loadFallbacks()V
-HSPLandroid/content/pm/FeatureGroupInfo$1;-><init>()V
-HSPLandroid/content/pm/FeatureInfo$1;-><init>()V
-HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/FeatureInfo;
-HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/FeatureInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ICrossProfileApps$Stub;-><init>()V
-HPLandroid/content/pm/ICrossProfileApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/ILauncherApps$Stub;-><init>()V
-HPLandroid/content/pm/ILauncherApps$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/content/pm/ILauncherApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->onPermissionsChanged(I)V
-HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnPermissionsChangeListener;
-HSPLandroid/content/pm/IOtaDexopt$Stub;-><init>()V
-PLandroid/content/pm/IPackageDataObserver$Stub$Proxy;->onRemoveCompleted(Ljava/lang/String;Z)V
-HPLandroid/content/pm/IPackageDataObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDataObserver;
-PLandroid/content/pm/IPackageInstallObserver2$Stub;-><init>()V
-HSPLandroid/content/pm/IPackageInstaller$Stub;-><init>()V
-HPLandroid/content/pm/IPackageInstaller$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/pm/IPackageInstaller$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionActiveChanged(IZ)V
-PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionCreated(I)V
-PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionFinished(IZ)V
-HPLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionProgressChanged(IF)V
HSPLandroid/content/pm/IPackageInstallerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IPackageInstallerSession$Stub;-><init>()V
-PLandroid/content/pm/IPackageInstallerSession$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/pm/IPackageInstallerSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledModules(I)Ljava/util/List;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getNameForUid(I)Ljava/lang/String;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageUid(Ljava/lang/String;II)I
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionControllerPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemSharedLibraryNames()[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemTextClassifierPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->hasSystemFeature(Ljava/lang/String;I)Z
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isInstantApp(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isOnlyCoreApps()Z
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackageUse(Ljava/lang/String;I)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackagesReplacedReceived([Ljava/lang/String;)V
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setSystemAppHiddenUntilInstalled(Ljava/lang/String;Z)V
-HSPLandroid/content/pm/IPackageManager$Stub;-><init>()V
HSPLandroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
-HPLandroid/content/pm/IPackageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/IPackageManagerNative$Stub;-><init>()V
-HSPLandroid/content/pm/IPackageManagerNative$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/IPackageMoveObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IPackageMoveObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageMoveObserver;
-HSPLandroid/content/pm/IPackageStatsObserver$Stub;-><init>()V
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/IShortcutService$Stub;-><init>()V
HSPLandroid/content/pm/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IShortcutService;
-HPLandroid/content/pm/IShortcutService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/content/pm/InstantAppIntentFilter$1;-><init>()V
-PLandroid/content/pm/InstantAppIntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppIntentFilter;
-PLandroid/content/pm/InstantAppIntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/pm/InstantAppRequest;-><init>(Landroid/content/pm/AuxiliaryResolveInfo;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;ILandroid/os/Bundle;Z)V
-PLandroid/content/pm/InstantAppResolveInfo$1;-><init>()V
-PLandroid/content/pm/InstantAppResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppResolveInfo;
-PLandroid/content/pm/InstantAppResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;-><init>()V
-PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;
-PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>(Ljava/lang/String;I)V
-PLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;-><init>([[B[I)V
-HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->generateDigest(Ljava/lang/String;I)[[B
-HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->getDigestPrefixSecure()[I
-PLandroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/os/Parcel;)V
-PLandroid/content/pm/InstantAppResolveInfo;->getDigestBytes()[B
-HSPLandroid/content/pm/InstrumentationInfo$1;-><init>()V
-HSPLandroid/content/pm/InstrumentationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/IntentFilterVerificationInfo$1;-><init>()V
-HSPLandroid/content/pm/IntentFilterVerificationInfo;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLandroid/content/pm/IntentFilterVerificationInfo;->getIntFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-HSPLandroid/content/pm/IntentFilterVerificationInfo;->getStringFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/IntentFilterVerificationInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLandroid/content/pm/IntentFilterVerificationInfo;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/content/pm/LauncherApps;-><init>(Landroid/content/Context;Landroid/content/pm/ILauncherApps;)V
-HSPLandroid/content/pm/ModuleInfo$1;-><init>()V
-HSPLandroid/content/pm/ModuleInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ModuleInfo;
-HSPLandroid/content/pm/ModuleInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ModuleInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/ModuleInfo;->isHidden()Z
-HPLandroid/content/pm/ModuleInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/OrgApacheHttpLegacyUpdater;-><init>()V
-HSPLandroid/content/pm/OrgApacheHttpLegacyUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;-><init>()V
-HSPLandroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageBackwardCompatibility;-><init>(Z[Landroid/content/pm/PackageSharedLibraryUpdater;)V
-HSPLandroid/content/pm/PackageBackwardCompatibility;->addOptionalUpdater(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Supplier;)Z
-HSPLandroid/content/pm/PackageBackwardCompatibility;->modifySharedLibraries(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageBackwardCompatibility;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageInfo$1;-><init>()V
HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInfo;
HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/PackageInfo;-><init>()V
HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageInfo;->composeLongVersionCode(II)J
+HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/PackageInfo$1;)V
HSPLandroid/content/pm/PackageInfo;->getLongVersionCode()J
-HSPLandroid/content/pm/PackageInfo;->isOverlayPackage()Z
-HSPLandroid/content/pm/PackageInfo;->isStaticOverlayPackage()Z
-HSPLandroid/content/pm/PackageInfo;->toString()Ljava/lang/String;
-HSPLandroid/content/pm/PackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/content/pm/PackageInfoLite$1;-><init>()V
-PLandroid/content/pm/PackageInfoLite;->getLongVersionCode()J
-HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionActiveChanged(IZ)V
-HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionCreated(I)V
-HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionFinished(IZ)V
-HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionProgressChanged(IF)V
-HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;-><init>()V
-HPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>()V
-HPLandroid/content/pm/PackageInstaller$SessionInfo;->describeContents()I
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallerPackageName()Ljava/lang/String;
-HPLandroid/content/pm/PackageInstaller$SessionInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams$1;-><init>()V
-HPLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionParams;
-HPLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/pm/PackageInstaller$SessionParams;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V
+HSPLandroid/content/pm/PackageInfo;->propagateApplicationInfo(Landroid/content/pm/ApplicationInfo;[Landroid/content/pm/ComponentInfo;)V
+HSPLandroid/content/pm/PackageInstaller$SessionCallback;-><init>()V
+PLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionActiveChanged(IZ)V
+PLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionFinished(IZ)V
+HSPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionProgressChanged(IF)V
+HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionInfo;
+HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getAppPackageName()Ljava/lang/String;
HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/content/pm/PackageItemInfo;)V
HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageItemInfo;->forceSafeLabels()V
HSPLandroid/content/pm/PackageItemInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/pm/PackageItemInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageItemInfo;->loadSafeLabel(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
HSPLandroid/content/pm/PackageItemInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
HSPLandroid/content/pm/PackageItemInfo;->loadXmlMetaData(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/pm/PackageItemInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageList;->getPackageNames()Ljava/util/List;
-HPLandroid/content/pm/PackageManager;->installStatusToPublicStatus(I)I
-HPLandroid/content/pm/PackageManager;->installStatusToString(I)Ljava/lang/String;
-HPLandroid/content/pm/PackageManager;->installStatusToString(ILjava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/content/pm/PackageParser$Activity$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$Activity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Activity;
-HSPLandroid/content/pm/PackageParser$Activity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageParser$Activity;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ActivityInfo;)V
-HSPLandroid/content/pm/PackageParser$Activity;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParser$Activity;->access$200(Landroid/content/pm/PackageParser$Activity;F)V
-HSPLandroid/content/pm/PackageParser$Activity;->setMaxAspectRatio(F)V
-HSPLandroid/content/pm/PackageParser$Activity;->setMinAspectRatio(F)V
-HSPLandroid/content/pm/PackageParser$Activity;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/content/pm/PackageParser$Activity;)V
-HSPLandroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PackageManager;-><init>()V
+HSPLandroid/content/pm/PackageManager;->getApplicationInfoAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
+HSPLandroid/content/pm/PackageManager;->queryIntentServicesAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
HSPLandroid/content/pm/PackageParser$ApkLite;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;ZIIIILjava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZZZZZZII)V
-HSPLandroid/content/pm/PackageParser$ApkLite;->getLongVersionCode()J
-HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>()V
-HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>(Landroid/content/pm/PackageParser$1;)V
-HSPLandroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ComponentInfo;)V
-HSPLandroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$ParsePackageItemArgs;Landroid/content/pm/PackageItemInfo;)V
-HSPLandroid/content/pm/PackageParser$Component;->createIntentsList(Landroid/os/Parcel;)Ljava/util/ArrayList;
-HSPLandroid/content/pm/PackageParser$Component;->getComponentName()Landroid/content/ComponentName;
-HSPLandroid/content/pm/PackageParser$Component;->writeIntentsList(Ljava/util/ArrayList;Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$Instrumentation$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$Instrumentation;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$IntentInfo;-><init>()V
-HSPLandroid/content/pm/PackageParser$IntentInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParser$IntentInfo;->writeIntentInfoToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$NewPermissionInfo;-><init>(Ljava/lang/String;II)V
-HSPLandroid/content/pm/PackageParser$Package$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$Package;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PackageParser$Package;-><init>(Ljava/lang/String;)V
-HPLandroid/content/pm/PackageParser$Package;->canHaveOatDir()Z
-HSPLandroid/content/pm/PackageParser$Package;->fixupOwner(Ljava/util/List;)V
-HSPLandroid/content/pm/PackageParser$Package;->getAllCodePaths()Ljava/util/List;
-HPLandroid/content/pm/PackageParser$Package;->getAllCodePathsExcludingResourceOnly()Ljava/util/List;
-HSPLandroid/content/pm/PackageParser$Package;->getChildPackageNames()Ljava/util/List;
-HPLandroid/content/pm/PackageParser$Package;->getLatestForegroundPackageUseTimeInMills()J
-HSPLandroid/content/pm/PackageParser$Package;->getLatestPackageUseTimeInMills()J
HSPLandroid/content/pm/PackageParser$Package;->getLongVersionCode()J
-HSPLandroid/content/pm/PackageParser$Package;->hasComponentClassName(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser$Package;->isExternal()Z
-HSPLandroid/content/pm/PackageParser$Package;->isLibrary()Z
HSPLandroid/content/pm/PackageParser$Package;->isMatch(I)Z
-HSPLandroid/content/pm/PackageParser$Package;->isPrivileged()Z
-HSPLandroid/content/pm/PackageParser$Package;->isProduct()Z
-HSPLandroid/content/pm/PackageParser$Package;->isProductServices()Z
-HSPLandroid/content/pm/PackageParser$Package;->isSystem()Z
-HSPLandroid/content/pm/PackageParser$Package;->isUpdatedSystemApp()Z
-HSPLandroid/content/pm/PackageParser$Package;->isVendor()Z
-HSPLandroid/content/pm/PackageParser$Package;->readKeySetMapping(Landroid/os/Parcel;)Landroid/util/ArrayMap;
-HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoBaseCodePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoBaseResourcePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoCodePath(Ljava/lang/String;)V
-HPLandroid/content/pm/PackageParser$Package;->setApplicationInfoFlags(II)V
-HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoResourcePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoSplitCodePaths([Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoSplitResourcePaths([Ljava/lang/String;)V
HSPLandroid/content/pm/PackageParser$Package;->setApplicationVolumeUuid(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setBaseCodePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setCodePath(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setPackageName(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser$Package;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)V
-HSPLandroid/content/pm/PackageParser$Package;->writeKeySetMapping(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-HSPLandroid/content/pm/PackageParser$Package;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/PackageParser$PackageLite;-><init>(Ljava/lang/String;Landroid/content/pm/PackageParser$ApkLite;[Ljava/lang/String;[Z[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[I)V
-HSPLandroid/content/pm/PackageParser$PackageLite;->getAllCodePaths()Ljava/util/List;
-HSPLandroid/content/pm/PackageParser$ParseComponentArgs;-><init>(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;IIIIII[Ljava/lang/String;III)V
-HSPLandroid/content/pm/PackageParser$ParsePackageItemArgs;-><init>(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;IIIIII)V
-HSPLandroid/content/pm/PackageParser$Permission$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$Permission$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Permission;
-HSPLandroid/content/pm/PackageParser$Permission$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageParser$Permission;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/pm/PackageParser$Permission;->isAppOp()Z
-HSPLandroid/content/pm/PackageParser$Permission;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$PermissionGroup$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$PermissionGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$PermissionGroup;
-HSPLandroid/content/pm/PackageParser$PermissionGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageParser$PermissionGroup;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$Provider$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$Provider$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Provider;
-HSPLandroid/content/pm/PackageParser$Provider$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageParser$Provider;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParser$Provider;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$ProviderIntentInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParser$Service$1;-><init>()V
-HSPLandroid/content/pm/PackageParser$Service$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Service;
-HSPLandroid/content/pm/PackageParser$Service$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageParser$Service;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParser$Service;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$ServiceIntentInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParser$SigningDetails$1;-><init>()V
HSPLandroid/content/pm/PackageParser$SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$SigningDetails;
HSPLandroid/content/pm/PackageParser$SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageParser$SigningDetails$Builder;->build()Landroid/content/pm/PackageParser$SigningDetails;
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;ILandroid/util/ArraySet;[Landroid/content/pm/Signature;)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I[Landroid/content/pm/Signature;)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;->checkCapability(Landroid/content/pm/PackageParser$SigningDetails;I)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasAncestor(Landroid/content/pm/PackageParser$SigningDetails;)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasAncestorOrSelf(Landroid/content/pm/PackageParser$SigningDetails;)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasCertificate(Landroid/content/pm/Signature;)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasCertificateInternal(Landroid/content/pm/Signature;I)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasSha256Certificate([B)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasSha256CertificateInternal([BI)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->signaturesMatchExactly(Landroid/content/pm/PackageParser$SigningDetails;)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageParser$SplitNameComparator;-><init>(Landroid/content/pm/PackageParser$1;)V
-HSPLandroid/content/pm/PackageParser$SplitNameComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/content/pm/PackageParser$SplitNameComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageParser;-><init>()V
-HSPLandroid/content/pm/PackageParser;->buildClassName(Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->buildCompoundName(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->buildProcessName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;I[Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->buildTaskAffinityName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->cacheResult(Ljava/io/File;ILandroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageParser;->checkOverlayRequiredSystemProperty(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PackageParser;->checkUseInstalledOrHidden(ILandroid/content/pm/PackageUserState;Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Ljava/io/File;Z)V
-HSPLandroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLandroid/content/pm/PackageParser;->collectCertificatesInternal(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLandroid/content/pm/PackageParser;->computeMinSdkVersion(ILjava/lang/String;I[Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageParser;->computeTargetSdkVersion(ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)I
HSPLandroid/content/pm/PackageParser;->copyNeeded(ILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageUserState;Landroid/os/Bundle;I)Z
-HSPLandroid/content/pm/PackageParser;->fromCacheEntry([B)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->fromCacheEntryStatic([B)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->generateActivityInfo(Landroid/content/pm/PackageParser$Activity;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/PackageParser;->generateAppDetailsHiddenActivity(Landroid/content/pm/PackageParser$Package;I[Ljava/lang/String;Z)Landroid/content/pm/PackageParser$Activity;
HSPLandroid/content/pm/PackageParser;->generateApplicationInfo(Landroid/content/pm/PackageParser$Package;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
+HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;Landroid/apex/ApexInfo;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
-HPLandroid/content/pm/PackageParser;->generatePackageInfoFromApex(Ljava/io/File;Z)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageParser;->generatePermissionGroupInfo(Landroid/content/pm/PackageParser$PermissionGroup;I)Landroid/content/pm/PermissionGroupInfo;
-HSPLandroid/content/pm/PackageParser;->generatePermissionInfo(Landroid/content/pm/PackageParser$Permission;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/content/pm/PackageParser;->generateProviderInfo(Landroid/content/pm/PackageParser$Provider;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/PackageParser;->generateServiceInfo(Landroid/content/pm/PackageParser$Service;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/PackageParser;->getCachedResult(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->hasDomainURLs(Landroid/content/pm/PackageParser$Package;)Z
-HSPLandroid/content/pm/PackageParser;->isApkFile(Ljava/io/File;)Z
-HSPLandroid/content/pm/PackageParser;->isAvailable(Landroid/content/pm/PackageUserState;)Z
-HSPLandroid/content/pm/PackageParser;->isCacheUpToDate(Ljava/io/File;Ljava/io/File;)Z
-HSPLandroid/content/pm/PackageParser;->isImplicitlyExposedIntent(Landroid/content/pm/PackageParser$IntentInfo;)Z
-HSPLandroid/content/pm/PackageParser;->parseActivity(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;ZZ)Landroid/content/pm/PackageParser$Activity;
-HSPLandroid/content/pm/PackageParser;->parseActivityAlias(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Activity;
-HSPLandroid/content/pm/PackageParser;->parseAdditionalCertificates(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser;->parseAllMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Ljava/lang/String;Landroid/content/pm/PackageParser$Component;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parseApkLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$ApkLite;
HSPLandroid/content/pm/PackageParser;->parseApkLite(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/PackageParser$ApkLite;
HSPLandroid/content/pm/PackageParser;->parseApkLiteInner(Ljava/io/File;Ljava/io/FileDescriptor;Ljava/lang/String;I)Landroid/content/pm/PackageParser$ApkLite;
+HSPLandroid/content/pm/PackageParser;->parseBaseApk(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
HSPLandroid/content/pm/PackageParser;->parseBaseApk(Ljava/io/File;Landroid/content/res/AssetManager;I)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->parseBaseApk(Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
HSPLandroid/content/pm/PackageParser;->parseBaseApkCommon(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->parseBaseApplication(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parseClusterPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->parseClusterPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
-HSPLandroid/content/pm/PackageParser;->parseInstrumentation(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/PackageParser$Instrumentation;
-HSPLandroid/content/pm/PackageParser;->parseIntent(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZLandroid/content/pm/PackageParser$IntentInfo;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parseLayout(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$Activity;)V
-HSPLandroid/content/pm/PackageParser;->parseMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;[Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/content/pm/PackageParser;->parseMonolithicPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
HSPLandroid/content/pm/PackageParser;->parseMonolithicPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
-HSPLandroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;IZ)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->parsePackageItemInfo(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageItemInfo;[Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;ZIIIIII)Z
-HSPLandroid/content/pm/PackageParser;->parsePackageList(Ljava/lang/String;)Ljava/util/Set;
-HSPLandroid/content/pm/PackageParser;->parsePackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
HSPLandroid/content/pm/PackageParser;->parsePackageSplitNames(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/util/Pair;
-HSPLandroid/content/pm/PackageParser;->parsePermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parsePermissionGroup(Landroid/content/pm/PackageParser$Package;ILandroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parsePermissionTree(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parseProvider(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Provider;
-HSPLandroid/content/pm/PackageParser;->parseProviderTags(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/PackageParser$Provider;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parsePublicKey(Ljava/lang/String;)Ljava/security/PublicKey;
-HSPLandroid/content/pm/PackageParser;->parseService(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Service;
-HSPLandroid/content/pm/PackageParser;->parseSplitApk(Landroid/content/pm/PackageParser$Package;ILandroid/content/res/AssetManager;I)V
-HSPLandroid/content/pm/PackageParser;->parseSplitApk(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageParser;->parseSplitApplication(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parseUsesFeature(Landroid/content/res/Resources;Landroid/util/AttributeSet;)Landroid/content/pm/FeatureInfo;
-HSPLandroid/content/pm/PackageParser;->parseUsesPermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
-HSPLandroid/content/pm/PackageParser;->parseUsesStaticLibrary(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->setActivityResizeMode(Landroid/content/pm/ActivityInfo;Landroid/content/res/TypedArray;Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageParser;->setCallback(Landroid/content/pm/PackageParser$Callback;)V
-HSPLandroid/content/pm/PackageParser;->setCompatibilityModeEnabled(Z)V
-HSPLandroid/content/pm/PackageParser;->setDisplayMetrics(Landroid/util/DisplayMetrics;)V
-HSPLandroid/content/pm/PackageParser;->setMaxAspectRatio(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageParser;->setMinAspectRatio(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageParser;->setSeparateProcesses([Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageParser;->toCacheEntry(Landroid/content/pm/PackageParser$Package;)[B
HSPLandroid/content/pm/PackageParser;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;)V
HSPLandroid/content/pm/PackageParser;->validateName(Ljava/lang/String;ZZ)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParserCacheHelper$ReadHelper;->readString(Landroid/os/Parcel;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageParserCacheHelper$ReadHelper;->startAndInstall()V
-HSPLandroid/content/pm/PackageParserCacheHelper$WriteHelper;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageParserCacheHelper$WriteHelper;->finishAndUninstall()V
-HSPLandroid/content/pm/PackageParserCacheHelper$WriteHelper;->writeString(Landroid/os/Parcel;Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageSharedLibraryUpdater;->prefixImplicitDependency(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageSharedLibraryUpdater;->prefixRequiredLibrary(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageStats$1;-><init>()V
-HPLandroid/content/pm/PackageStats;-><init>(Landroid/content/pm/PackageStats;)V
-HSPLandroid/content/pm/PackageStats;-><init>(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageUserState;-><init>()V
-HSPLandroid/content/pm/PackageUserState;->equals(Ljava/lang/Object;)Z
HSPLandroid/content/pm/PackageUserState;->isAvailable(I)Z
-HSPLandroid/content/pm/PackageUserState;->isEnabled(Landroid/content/pm/ComponentInfo;I)Z
-HSPLandroid/content/pm/PackageUserState;->isMatch(Landroid/content/pm/ComponentInfo;I)Z
-HSPLandroid/content/pm/ParceledListSlice$1;-><init>()V
HSPLandroid/content/pm/ParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/ParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ParceledListSlice;->emptyList()Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/ParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
+HSPLandroid/content/pm/ParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;Landroid/content/pm/ParceledListSlice$1;)V
+HSPLandroid/content/pm/ParceledListSlice;-><init>(Ljava/util/List;)V
HSPLandroid/content/pm/ParceledListSlice;->getList()Ljava/util/List;
HSPLandroid/content/pm/ParceledListSlice;->readParcelableCreator(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
HSPLandroid/content/pm/ParceledListSlice;->writeElement(Landroid/os/Parcelable;Landroid/os/Parcel;I)V
@@ -4447,220 +2265,123 @@ HSPLandroid/content/pm/ParceledListSlice;->writeElement(Ljava/lang/Object;Landro
HSPLandroid/content/pm/ParceledListSlice;->writeParcelableCreator(Landroid/os/Parcelable;Landroid/os/Parcel;)V
HSPLandroid/content/pm/ParceledListSlice;->writeParcelableCreator(Ljava/lang/Object;Landroid/os/Parcel;)V
HSPLandroid/content/pm/ParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PathPermission$1;-><init>()V
HSPLandroid/content/pm/PathPermission$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PathPermission;
HSPLandroid/content/pm/PathPermission$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/PathPermission$1;->newArray(I)[Landroid/content/pm/PathPermission;
HSPLandroid/content/pm/PathPermission$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/content/pm/PathPermission;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
HSPLandroid/content/pm/PathPermission;->getWritePermission()Ljava/lang/String;
HSPLandroid/content/pm/PathPermission;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PermissionGroupInfo$1;-><init>()V
-HSPLandroid/content/pm/PermissionGroupInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PermissionGroupInfo;
-HSPLandroid/content/pm/PermissionGroupInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PermissionGroupInfo;-><init>(III)V
-HSPLandroid/content/pm/PermissionGroupInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PermissionGroupInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PermissionInfo$1;-><init>()V
HSPLandroid/content/pm/PermissionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PermissionInfo;
HSPLandroid/content/pm/PermissionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/PermissionInfo$1;->newArray(I)[Landroid/content/pm/PermissionInfo;
HSPLandroid/content/pm/PermissionInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/pm/PermissionInfo;-><init>(Landroid/content/pm/PermissionInfo;)V
HSPLandroid/content/pm/PermissionInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PermissionInfo;->getProtection()I
-HSPLandroid/content/pm/PermissionInfo;->getProtectionFlags()I
-HPLandroid/content/pm/PermissionInfo;->isAppOp()Z
-HSPLandroid/content/pm/PermissionInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ProviderInfo$1;-><init>()V
HSPLandroid/content/pm/ProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ProviderInfo;
HSPLandroid/content/pm/ProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ProviderInfo;-><init>(Landroid/content/pm/ProviderInfo;)V
+HSPLandroid/content/pm/ProviderInfo$1;->newArray(I)[Landroid/content/pm/ProviderInfo;
+HSPLandroid/content/pm/ProviderInfo$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/content/pm/ProviderInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/ProviderInfo;->toString()Ljava/lang/String;
HSPLandroid/content/pm/ProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/RegisteredServicesCache$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLandroid/content/pm/RegisteredServicesCache;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/XmlSerializerAndParser;)V
-HSPLandroid/content/pm/RegisteredServicesCache;->createFileForUser(I)Landroid/util/AtomicFile;
-HSPLandroid/content/pm/RegisteredServicesCache;->findOrCreateUserLocked(IZ)Landroid/content/pm/RegisteredServicesCache$UserServices;
-HSPLandroid/content/pm/RegisteredServicesCache;->generateServicesMap([II)V
-HSPLandroid/content/pm/RegisteredServicesCache;->getAllServices(I)Ljava/util/Collection;
-HPLandroid/content/pm/RegisteredServicesCache;->getBindInstantServiceAllowed(I)Z
-HSPLandroid/content/pm/RegisteredServicesCache;->getDataDirectory()Ljava/io/File;
-HPLandroid/content/pm/RegisteredServicesCache;->getServiceInfo(Ljava/lang/Object;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-HSPLandroid/content/pm/RegisteredServicesCache;->getUser(I)Landroid/content/pm/UserInfo;
-HSPLandroid/content/pm/RegisteredServicesCache;->getUserSystemDirectory(I)Ljava/io/File;
-HSPLandroid/content/pm/RegisteredServicesCache;->handlePackageEvent(Landroid/content/Intent;I)V
-HSPLandroid/content/pm/RegisteredServicesCache;->invalidateCache(I)V
-HSPLandroid/content/pm/RegisteredServicesCache;->migrateIfNecessaryLocked()V
-HSPLandroid/content/pm/RegisteredServicesCache;->onServicesChangedLocked(I)V
-HSPLandroid/content/pm/RegisteredServicesCache;->parseServiceInfo(Landroid/content/pm/ResolveInfo;)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-HSPLandroid/content/pm/RegisteredServicesCache;->queryIntentServices(I)Ljava/util/List;
-HSPLandroid/content/pm/RegisteredServicesCache;->readPersistentServicesLocked(Ljava/io/InputStream;)V
-HSPLandroid/content/pm/RegisteredServicesCache;->setListener(Landroid/content/pm/RegisteredServicesCacheListener;Landroid/os/Handler;)V
-HPLandroid/content/pm/RegisteredServicesCache;->updateServices(I)V
-HSPLandroid/content/pm/ResolveInfo$1;-><init>()V
HSPLandroid/content/pm/ResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ResolveInfo;
HSPLandroid/content/pm/ResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ResolveInfo;-><init>()V
-HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/content/pm/ResolveInfo;)V
HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ResolveInfo$1;)V
HSPLandroid/content/pm/ResolveInfo;->getComponentInfo()Landroid/content/pm/ComponentInfo;
-HSPLandroid/content/pm/ResolveInfo;->getIconResource()I
-HSPLandroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/pm/ResolveInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/ResolveInfo;->toString()Ljava/lang/String;
-HSPLandroid/content/pm/ResolveInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/SELinuxUtil;->assignSeinfoUser(Landroid/content/pm/PackageUserState;)Ljava/lang/String;
-HSPLandroid/content/pm/ServiceInfo$1;-><init>()V
HSPLandroid/content/pm/ServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ServiceInfo;
HSPLandroid/content/pm/ServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ServiceInfo;-><init>(Landroid/content/pm/ServiceInfo;)V
-HPLandroid/content/pm/ServiceInfo;->getForegroundServiceType()I
-HSPLandroid/content/pm/ServiceInfo;->toString()Ljava/lang/String;
-HSPLandroid/content/pm/ServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/SharedLibraryInfo$1;-><init>()V
+HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Landroid/content/pm/ServiceInfo;
+HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SharedLibraryInfo;
HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/SharedLibraryInfo$1;)V
+HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;JILandroid/content/pm/VersionedPackage;Ljava/util/List;Ljava/util/List;)V
HSPLandroid/content/pm/SharedLibraryInfo;->addDependency(Landroid/content/pm/SharedLibraryInfo;)V
-HSPLandroid/content/pm/SharedLibraryInfo;->createForDynamic(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Landroid/content/pm/SharedLibraryInfo;
-HSPLandroid/content/pm/SharedLibraryInfo;->createForStatic(Landroid/content/pm/PackageParser$Package;)Landroid/content/pm/SharedLibraryInfo;
HSPLandroid/content/pm/SharedLibraryInfo;->getAllCodePaths()Ljava/util/List;
-HSPLandroid/content/pm/SharedLibraryInfo;->getLongVersion()J
-HSPLandroid/content/pm/SharedLibraryInfo;->getName()Ljava/lang/String;
-HPLandroid/content/pm/SharedLibraryInfo;->getPackageName()Ljava/lang/String;
+HSPLandroid/content/pm/SharedLibraryInfo;->getDependencies()Ljava/util/List;
HSPLandroid/content/pm/SharedLibraryInfo;->getPath()Ljava/lang/String;
-HPLandroid/content/pm/SharedLibraryInfo;->isStatic()Z
HSPLandroid/content/pm/SharedLibraryInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ShortcutInfo$1;-><init>()V
HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ShortcutInfo;
HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/ShortcutInfo$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/content/pm/ShortcutInfo$Builder;->build()Landroid/content/pm/ShortcutInfo;
-HSPLandroid/content/pm/ShortcutInfo$Builder;->setActivity(Landroid/content/ComponentName;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setIcon(Landroid/graphics/drawable/Icon;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setIntent(Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setIntents([Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setShortLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;
-HSPLandroid/content/pm/ShortcutInfo;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/util/Set;[Landroid/content/Intent;ILandroid/os/PersistableBundle;JIILjava/lang/String;Ljava/lang/String;I[Landroid/app/Person;Landroid/content/LocusId;)V
HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V
-HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo;I)V
HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/ShortcutInfo;->clone(I)Landroid/content/pm/ShortcutInfo;
HSPLandroid/content/pm/ShortcutInfo;->cloneCategories(Ljava/util/Set;)Landroid/util/ArraySet;
-HSPLandroid/content/pm/ShortcutInfo;->cloneIntents([Landroid/content/Intent;)[Landroid/content/Intent;
HSPLandroid/content/pm/ShortcutInfo;->clonePersons([Landroid/app/Person;)[Landroid/app/Person;
-HPLandroid/content/pm/ShortcutInfo;->copyNonNullFieldsFrom(Landroid/content/pm/ShortcutInfo;)V
-HPLandroid/content/pm/ShortcutInfo;->enforceMandatoryFields(Z)V
-HPLandroid/content/pm/ShortcutInfo;->ensureUpdatableWith(Landroid/content/pm/ShortcutInfo;Z)V
HSPLandroid/content/pm/ShortcutInfo;->fixUpIntentExtras()V
HSPLandroid/content/pm/ShortcutInfo;->getId()Ljava/lang/String;
-HPLandroid/content/pm/ShortcutInfo;->getPersons()[Landroid/app/Person;
-HSPLandroid/content/pm/ShortcutInfo;->getResourceString(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-HPLandroid/content/pm/ShortcutInfo;->isDynamicVisible()Z
-HPLandroid/content/pm/ShortcutInfo;->isManifestVisible()Z
-HPLandroid/content/pm/ShortcutInfo;->isPinnedVisible()Z
-HPLandroid/content/pm/ShortcutInfo;->isVisibleToPublisher()Z
-HPLandroid/content/pm/ShortcutInfo;->lookUpResourceId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/ShortcutInfo;->lookUpResourceName(Landroid/content/res/Resources;IZLjava/lang/String;)Ljava/lang/String;
-HPLandroid/content/pm/ShortcutInfo;->lookupAndFillInResourceIds(Landroid/content/res/Resources;)V
-HSPLandroid/content/pm/ShortcutInfo;->lookupAndFillInResourceNames(Landroid/content/res/Resources;)V
-HSPLandroid/content/pm/ShortcutInfo;->resolveResourceStrings(Landroid/content/res/Resources;)V
-HSPLandroid/content/pm/ShortcutInfo;->setCategories(Ljava/util/Set;)V
-HSPLandroid/content/pm/ShortcutInfo;->setIntentExtras(Landroid/content/Intent;Landroid/os/PersistableBundle;)Landroid/content/Intent;
-HSPLandroid/content/pm/ShortcutInfo;->setIntents([Landroid/content/Intent;)V
HSPLandroid/content/pm/ShortcutInfo;->validateIcon(Landroid/graphics/drawable/Icon;)Landroid/graphics/drawable/Icon;
HSPLandroid/content/pm/ShortcutInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;)V
-HSPLandroid/content/pm/ShortcutManager;->getDynamicShortcuts()Ljava/util/List;
+HSPLandroid/content/pm/ShortcutManager;-><init>(Landroid/content/Context;Landroid/content/pm/IShortcutService;)V
HSPLandroid/content/pm/ShortcutManager;->injectMyUserId()I
HSPLandroid/content/pm/ShortcutManager;->setDynamicShortcuts(Ljava/util/List;)Z
-HSPLandroid/content/pm/Signature$1;-><init>()V
HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/Signature;
HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/Signature$1;->newArray(I)[Landroid/content/pm/Signature;
HSPLandroid/content/pm/Signature$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/pm/Signature;-><init>(Ljava/lang/String;)V
+HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;Landroid/content/pm/Signature$1;)V
HSPLandroid/content/pm/Signature;-><init>([B)V
-HSPLandroid/content/pm/Signature;-><init>([Ljava/security/cert/Certificate;)V
-HSPLandroid/content/pm/Signature;->areExactMatch([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
HSPLandroid/content/pm/Signature;->equals(Ljava/lang/Object;)Z
-HSPLandroid/content/pm/Signature;->getPublicKey()Ljava/security/PublicKey;
HSPLandroid/content/pm/Signature;->hashCode()I
-HSPLandroid/content/pm/Signature;->parseHexDigit(I)I
HSPLandroid/content/pm/Signature;->toByteArray()[B
-HSPLandroid/content/pm/Signature;->toChars()[C
-HSPLandroid/content/pm/Signature;->toChars([C[I)[C
-HSPLandroid/content/pm/Signature;->toCharsString()Ljava/lang/String;
-HSPLandroid/content/pm/Signature;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/SigningInfo$1;-><init>()V
-HPLandroid/content/pm/SigningInfo;->getApkContentsSigners()[Landroid/content/pm/Signature;
-HSPLandroid/content/pm/StringParceledListSlice$1;-><init>()V
-HSPLandroid/content/pm/StringParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/StringParceledListSlice;
-HSPLandroid/content/pm/StringParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/StringParceledListSlice;->getList()Ljava/util/List;
-HSPLandroid/content/pm/UserInfo$1;-><init>()V
+HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningInfo;
+HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/SigningInfo$1;)V
HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/UserInfo;
HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/UserInfo;-><init>(ILjava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/UserInfo;-><init>(Landroid/content/pm/UserInfo;)V
HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/pm/UserInfo;->canHaveProfile()Z
+HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/UserInfo$1;)V
HSPLandroid/content/pm/UserInfo;->getUserHandle()Landroid/os/UserHandle;
HSPLandroid/content/pm/UserInfo;->isAdmin()Z
-HSPLandroid/content/pm/UserInfo;->isDemo()Z
-HSPLandroid/content/pm/UserInfo;->isEnabled()Z
HSPLandroid/content/pm/UserInfo;->isEphemeral()Z
HSPLandroid/content/pm/UserInfo;->isGuest()Z
-HSPLandroid/content/pm/UserInfo;->isInitialized()Z
HSPLandroid/content/pm/UserInfo;->isManagedProfile()Z
-HSPLandroid/content/pm/UserInfo;->isPrimary()Z
-HSPLandroid/content/pm/UserInfo;->isQuietModeEnabled()Z
+HSPLandroid/content/pm/UserInfo;->isProfile()Z
HSPLandroid/content/pm/UserInfo;->isRestricted()Z
-HSPLandroid/content/pm/UserInfo;->isSystemOnly()Z
HSPLandroid/content/pm/UserInfo;->supportsSwitchTo()Z
HSPLandroid/content/pm/UserInfo;->supportsSwitchToByUser()Z
-HSPLandroid/content/pm/UserInfo;->toString()Ljava/lang/String;
-HSPLandroid/content/pm/UserInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/VerifierInfo$1;-><init>()V
-HSPLandroid/content/pm/VersionedPackage$1;-><init>()V
HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/VersionedPackage;
HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;Landroid/content/pm/VersionedPackage$1;)V
HSPLandroid/content/pm/VersionedPackage;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/dex/ArtManager;->getCurrentProfilePath(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
HSPLandroid/content/pm/dex/ArtManager;->getProfileName(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/content/pm/dex/ArtManager;->getProfileSnapshotFileForName(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForApk(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForFile(Ljava/io/File;)Ljava/lang/String;
-PLandroid/content/pm/dex/DexMetadataHelper;->buildPackageApkToDexMetadataMap(Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/content/pm/dex/DexMetadataHelper;->findDexMetadataForFile(Ljava/io/File;)Ljava/io/File;
-PLandroid/content/pm/dex/DexMetadataHelper;->getPackageDexMetadataSize(Landroid/content/pm/PackageParser$PackageLite;)J
-HSPLandroid/content/pm/dex/DexMetadataHelper;->isDexMetadataFile(Ljava/io/File;)Z
-PLandroid/content/pm/dex/DexMetadataHelper;->validateDexMetadataFile(Ljava/lang/String;)V
-PLandroid/content/pm/dex/DexMetadataHelper;->validatePackageDexMetadata(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/dex/IArtManager$Stub;-><init>()V
-HPLandroid/content/pm/dex/IArtManager$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/pm/dex/IArtManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onError(I)V
-PLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationFilter()I
-HSPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationReason()I
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable$1;-><init>()V
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/permission/SplitPermissionInfoParcelable;
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;-><clinit>()V
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;-><init>(Ljava/lang/String;Ljava/util/List;I)V
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;->getNewPermissions()Ljava/util/List;
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;->getSplitPermission()Ljava/lang/String;
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;->getTargetSdk()I
+HSPLandroid/content/pm/permission/SplitPermissionInfoParcelable;->onConstructed()V
HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->close()V
HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->getBaseAssetManager()Landroid/content/res/AssetManager;
-HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->getSplitAssetManager(I)Landroid/content/res/AssetManager;
HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->loadApkAssets(Ljava/lang/String;I)Landroid/content/res/ApkAssets;
-HSPLandroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;-><init>()V
-HSPLandroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;->test(Ljava/lang/Object;)Z
-HSPLandroid/content/res/-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90;-><init>()V
HSPLandroid/content/res/-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
-HSPLandroid/content/res/-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og;-><init>()V
HSPLandroid/content/res/-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og;->get()Ljava/lang/Object;
+HSPLandroid/content/res/ApkAssets;-><init>(Ljava/lang/String;ZZZZZ)V
+HSPLandroid/content/res/ApkAssets;->close()V
HSPLandroid/content/res/ApkAssets;->finalize()V
HSPLandroid/content/res/ApkAssets;->getAssetPath()Ljava/lang/String;
HSPLandroid/content/res/ApkAssets;->getStringFromPool(I)Ljava/lang/CharSequence;
+HSPLandroid/content/res/ApkAssets;->isForLoader()Z
HSPLandroid/content/res/ApkAssets;->isUpToDate()Z
+HSPLandroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
+HSPLandroid/content/res/ApkAssets;->loadFromPath(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
+HSPLandroid/content/res/ApkAssets;->loadOverlayFromPath(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
HSPLandroid/content/res/ApkAssets;->openXml(Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
-HSPLandroid/content/res/AssetFileDescriptor$1;-><init>()V
HSPLandroid/content/res/AssetFileDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/res/AssetFileDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/Parcel;)V
@@ -4668,39 +2389,51 @@ HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescr
HSPLandroid/content/res/AssetFileDescriptor;->close()V
HSPLandroid/content/res/AssetFileDescriptor;->createInputStream()Ljava/io/FileInputStream;
HSPLandroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
-HSPLandroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
+HSPLandroid/content/res/AssetFileDescriptor;->getExtras()Landroid/os/Bundle;
HSPLandroid/content/res/AssetFileDescriptor;->getLength()J
HSPLandroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
HSPLandroid/content/res/AssetFileDescriptor;->getStartOffset()J
HSPLandroid/content/res/AssetFileDescriptor;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/res/AssetManager$AssetInputStream;-><init>(Landroid/content/res/AssetManager;J)V
+HSPLandroid/content/res/AssetManager$AssetInputStream;-><init>(Landroid/content/res/AssetManager;JLandroid/content/res/AssetManager$1;)V
HSPLandroid/content/res/AssetManager$AssetInputStream;->available()I
HSPLandroid/content/res/AssetManager$AssetInputStream;->close()V
+HSPLandroid/content/res/AssetManager$AssetInputStream;->ensureOpen()V
HSPLandroid/content/res/AssetManager$AssetInputStream;->finalize()V
-HSPLandroid/content/res/AssetManager$AssetInputStream;->read()I
+HSPLandroid/content/res/AssetManager$AssetInputStream;->getNativeAsset()J
HSPLandroid/content/res/AssetManager$AssetInputStream;->read([B)I
HSPLandroid/content/res/AssetManager$AssetInputStream;->read([BII)I
+HSPLandroid/content/res/AssetManager$Builder;-><init>()V
+HSPLandroid/content/res/AssetManager$Builder;->addApkAssets(Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager$Builder;
HSPLandroid/content/res/AssetManager$Builder;->build()Landroid/content/res/AssetManager;
-HSPLandroid/content/res/AssetManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
HSPLandroid/content/res/AssetManager;-><init>()V
-HSPLandroid/content/res/AssetManager;->addAssetPathAsSharedLibrary(Ljava/lang/String;)I
+HSPLandroid/content/res/AssetManager;-><init>(Z)V
+HSPLandroid/content/res/AssetManager;-><init>(ZLandroid/content/res/AssetManager$1;)V
+HSPLandroid/content/res/AssetManager;->access$1000(J)V
+HSPLandroid/content/res/AssetManager;->access$102(Landroid/content/res/AssetManager;[Landroid/content/res/ApkAssets;)[Landroid/content/res/ApkAssets;
+HSPLandroid/content/res/AssetManager;->access$1100(Landroid/content/res/AssetManager;J)V
+HSPLandroid/content/res/AssetManager;->access$200(Landroid/content/res/AssetManager;)J
+HSPLandroid/content/res/AssetManager;->access$300(J[Landroid/content/res/ApkAssets;Z)V
+HSPLandroid/content/res/AssetManager;->access$500(J)J
+HSPLandroid/content/res/AssetManager;->access$700(J[BII)I
+HSPLandroid/content/res/AssetManager;->access$900(J)J
HSPLandroid/content/res/AssetManager;->addAssetPathInternal(Ljava/lang/String;ZZ)I
HSPLandroid/content/res/AssetManager;->applyStyle(JIILandroid/content/res/XmlBlock$Parser;[IJJ)V
HSPLandroid/content/res/AssetManager;->applyStyleToTheme(JIZ)V
HSPLandroid/content/res/AssetManager;->close()V
-HSPLandroid/content/res/AssetManager;->createSystemAssetsInZygoteLocked()V
+HSPLandroid/content/res/AssetManager;->createSystemAssetsInZygoteLocked(ZLjava/lang/String;)V
HSPLandroid/content/res/AssetManager;->createTheme()J
+HSPLandroid/content/res/AssetManager;->decRefsLocked(J)V
HSPLandroid/content/res/AssetManager;->ensureOpenLocked()V
HSPLandroid/content/res/AssetManager;->ensureValidLocked()V
HSPLandroid/content/res/AssetManager;->finalize()V
HSPLandroid/content/res/AssetManager;->findCookieForPath(Ljava/lang/String;)I
HSPLandroid/content/res/AssetManager;->getApkAssets()[Landroid/content/res/ApkAssets;
-HSPLandroid/content/res/AssetManager;->getAssignedPackageIdentifiers()Landroid/util/SparseArray;
-HSPLandroid/content/res/AssetManager;->getAttributeResolutionStack(JIII)[I
-HSPLandroid/content/res/AssetManager;->getLocales()[Ljava/lang/String;
-HSPLandroid/content/res/AssetManager;->getNonSystemLocales()[Ljava/lang/String;
+HSPLandroid/content/res/AssetManager;->getAssignedPackageIdentifiers(ZZ)Landroid/util/SparseArray;
+HSPLandroid/content/res/AssetManager;->getPooledStringForCookie(II)Ljava/lang/CharSequence;
HSPLandroid/content/res/AssetManager;->getResourceArray(I[I)I
HSPLandroid/content/res/AssetManager;->getResourceArraySize(I)I
-HSPLandroid/content/res/AssetManager;->getResourceBagText(II)Ljava/lang/CharSequence;
+HPLandroid/content/res/AssetManager;->getResourceBagText(II)Ljava/lang/CharSequence;
HSPLandroid/content/res/AssetManager;->getResourceEntryName(I)Ljava/lang/String;
HSPLandroid/content/res/AssetManager;->getResourceIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/content/res/AssetManager;->getResourceIntArray(I)[I
@@ -4708,33 +2441,35 @@ HSPLandroid/content/res/AssetManager;->getResourceName(I)Ljava/lang/String;
HSPLandroid/content/res/AssetManager;->getResourcePackageName(I)Ljava/lang/String;
HSPLandroid/content/res/AssetManager;->getResourceStringArray(I)[Ljava/lang/String;
HSPLandroid/content/res/AssetManager;->getResourceText(I)Ljava/lang/CharSequence;
-HSPLandroid/content/res/AssetManager;->getResourceTextArray(I)[Ljava/lang/CharSequence;
HSPLandroid/content/res/AssetManager;->getResourceTypeName(I)Ljava/lang/String;
HSPLandroid/content/res/AssetManager;->getResourceValue(IILandroid/util/TypedValue;Z)Z
-HSPLandroid/content/res/AssetManager;->getSizeConfigurations()[Landroid/content/res/Configuration;
HSPLandroid/content/res/AssetManager;->getSystem()Landroid/content/res/AssetManager;
HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z
+HSPLandroid/content/res/AssetManager;->incRefsLocked(J)V
+HSPLandroid/content/res/AssetManager;->isUpToDate()Z
+HSPLandroid/content/res/AssetManager;->list(Ljava/lang/String;)[Ljava/lang/String;
HSPLandroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
HSPLandroid/content/res/AssetManager;->open(Ljava/lang/String;I)Ljava/io/InputStream;
HSPLandroid/content/res/AssetManager;->openNonAsset(ILjava/lang/String;I)Ljava/io/InputStream;
-HSPLandroid/content/res/AssetManager;->openNonAssetFd(ILjava/lang/String;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/res/AssetManager;->openXmlBlockAsset(ILjava/lang/String;)Landroid/content/res/XmlBlock;
HSPLandroid/content/res/AssetManager;->openXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/res/AssetManager;->releaseTheme(J)V
HSPLandroid/content/res/AssetManager;->resolveAttrs(JII[I[I[I[I)Z
HSPLandroid/content/res/AssetManager;->retrieveAttributes(Landroid/content/res/XmlBlock$Parser;[I[I[I)Z
+HSPLandroid/content/res/AssetManager;->searchLoaders(ILjava/lang/String;I)Ljava/io/InputStream;
+HSPLandroid/content/res/AssetManager;->searchLoadersFd(ILjava/lang/String;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/res/AssetManager;->setApkAssets([Landroid/content/res/ApkAssets;Z)V
HSPLandroid/content/res/AssetManager;->setConfiguration(IILjava/lang/String;IIIIIIIIIIIIIII)V
HSPLandroid/content/res/AssetManager;->setThemeTo(JLandroid/content/res/AssetManager;J)V
HSPLandroid/content/res/AssetManager;->xmlBlockGone(I)V
-HSPLandroid/content/res/ColorStateList$1;-><init>()V
-HSPLandroid/content/res/ColorStateList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/ColorStateList;
-HSPLandroid/content/res/ColorStateList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/res/ColorStateList$ColorStateListFactory;->getChangingConfigurations()I
+HPLandroid/content/res/ColorStateList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/ColorStateList;
+PLandroid/content/res/ColorStateList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/res/ColorStateList$ColorStateListFactory;-><init>(Landroid/content/res/ColorStateList;)V
HSPLandroid/content/res/ColorStateList$ColorStateListFactory;->newInstance()Landroid/content/res/ColorStateList;
HSPLandroid/content/res/ColorStateList$ColorStateListFactory;->newInstance()Ljava/lang/Object;
HSPLandroid/content/res/ColorStateList$ColorStateListFactory;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
HSPLandroid/content/res/ColorStateList$ColorStateListFactory;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object;
+HSPLandroid/content/res/ColorStateList;-><init>()V
HSPLandroid/content/res/ColorStateList;-><init>(Landroid/content/res/ColorStateList;)V
HSPLandroid/content/res/ColorStateList;-><init>([[I[I)V
HSPLandroid/content/res/ColorStateList;->applyTheme(Landroid/content/res/Resources$Theme;)V
@@ -4746,79 +2481,79 @@ HSPLandroid/content/res/ColorStateList;->getConstantState()Landroid/content/res/
HSPLandroid/content/res/ColorStateList;->getDefaultColor()I
HSPLandroid/content/res/ColorStateList;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/content/res/ColorStateList;->isStateful()Z
+HSPLandroid/content/res/ColorStateList;->modulateColorAlpha(IF)I
HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
HSPLandroid/content/res/ColorStateList;->onColorsChanged()V
HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
-HSPLandroid/content/res/ColorStateList;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/res/CompatibilityInfo$1;-><init>()V
-HSPLandroid/content/res/CompatibilityInfo$2;-><init>()V
HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/CompatibilityInfo;
HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/res/CompatibilityInfo;-><init>(Landroid/content/pm/ApplicationInfo;IIZ)V
+HSPLandroid/content/res/CompatibilityInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/res/CompatibilityInfo;-><init>(Landroid/os/Parcel;Landroid/content/res/CompatibilityInfo$1;)V
HSPLandroid/content/res/CompatibilityInfo;->applyToConfiguration(ILandroid/content/res/Configuration;)V
HSPLandroid/content/res/CompatibilityInfo;->applyToDisplayMetrics(Landroid/util/DisplayMetrics;)V
-HSPLandroid/content/res/CompatibilityInfo;->computeCompatibleScaling(Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;)F
HSPLandroid/content/res/CompatibilityInfo;->equals(Ljava/lang/Object;)Z
HSPLandroid/content/res/CompatibilityInfo;->getTranslator()Landroid/content/res/CompatibilityInfo$Translator;
HSPLandroid/content/res/CompatibilityInfo;->hashCode()I
HSPLandroid/content/res/CompatibilityInfo;->isScalingRequired()Z
HSPLandroid/content/res/CompatibilityInfo;->needsCompatResources()Z
HSPLandroid/content/res/CompatibilityInfo;->supportsScreen()Z
-HSPLandroid/content/res/CompatibilityInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/res/Configuration$1;-><init>()V
+HSPLandroid/content/res/ComplexColor;-><init>()V
+HSPLandroid/content/res/ComplexColor;->getChangingConfigurations()I
+HSPLandroid/content/res/ComplexColor;->setBaseChangingConfigurations(I)V
HSPLandroid/content/res/Configuration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/Configuration;
HSPLandroid/content/res/Configuration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/res/Configuration;-><init>()V
HSPLandroid/content/res/Configuration;-><init>(Landroid/content/res/Configuration;)V
+HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;Landroid/content/res/Configuration$1;)V
HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I
HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;)I
HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I
+HSPLandroid/content/res/Configuration;->diffPublicOnly(Landroid/content/res/Configuration;)I
HSPLandroid/content/res/Configuration;->equals(Landroid/content/res/Configuration;)Z
HSPLandroid/content/res/Configuration;->equals(Ljava/lang/Object;)Z
HSPLandroid/content/res/Configuration;->fixUpLocaleList()V
-HSPLandroid/content/res/Configuration;->generateDelta(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration;
HSPLandroid/content/res/Configuration;->getLayoutDirection()I
HSPLandroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
+HSPLandroid/content/res/Configuration;->getScreenLayoutNoDirection(I)I
HSPLandroid/content/res/Configuration;->hashCode()I
-HPLandroid/content/res/Configuration;->localesToResourceQualifier(Landroid/os/LocaleList;)Ljava/lang/String;
+HSPLandroid/content/res/Configuration;->isLayoutSizeAtLeast(I)Z
+HSPLandroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Configuration;)Z
+HSPLandroid/content/res/Configuration;->needNewResources(II)Z
HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/content/res/Configuration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
-HSPLandroid/content/res/Configuration;->reduceScreenLayout(III)I
-HPLandroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;)Ljava/lang/String;
-HPLandroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)Ljava/lang/String;
+HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V
HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V
HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V
HSPLandroid/content/res/Configuration;->setToDefaults()V
-HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String;
HSPLandroid/content/res/Configuration;->unset()V
HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I
HSPLandroid/content/res/Configuration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLandroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;JZ)V
-HSPLandroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;JZZ)V
+HSPLandroid/content/res/ConfigurationBoundResourceCache;-><init>()V
+HSPLandroid/content/res/ConfigurationBoundResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object;
HSPLandroid/content/res/ConfigurationBoundResourceCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object;
HSPLandroid/content/res/ConfigurationBoundResourceCache;->onConfigurationChange(I)V
-HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Landroid/content/res/ConstantState;I)Z
-HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z
+HSPLandroid/content/res/ConfigurationBoundResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;)V
+HSPLandroid/content/res/ConfigurationBoundResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;Z)V
+HSPLandroid/content/res/ConstantState;-><init>()V
HSPLandroid/content/res/ConstantState;->newInstance(Landroid/content/res/Resources;)Ljava/lang/Object;
HSPLandroid/content/res/ConstantState;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object;
+HSPLandroid/content/res/DrawableCache;-><init>()V
HSPLandroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/res/DrawableCache;->shouldInvalidateEntry(Landroid/graphics/drawable/Drawable$ConstantState;I)Z
-HSPLandroid/content/res/DrawableCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z
HSPLandroid/content/res/FontResourcesParser;->parse(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
HSPLandroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
HSPLandroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-HSPLandroid/content/res/ObbInfo$1;-><init>()V
+HSPLandroid/content/res/Resources$Theme;-><init>(Landroid/content/res/Resources;)V
+HSPLandroid/content/res/Resources$Theme;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$1;)V
HSPLandroid/content/res/Resources$Theme;->applyStyle(IZ)V
-HSPLandroid/content/res/Resources$Theme;->getAttributeResolutionStack(III)[I
HSPLandroid/content/res/Resources$Theme;->getChangingConfigurations()I
-HSPLandroid/content/res/Resources$Theme;->getExplicitStyle(Landroid/util/AttributeSet;)I
+HSPLandroid/content/res/Resources$Theme;->getResources()Landroid/content/res/Resources;
HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes([I)Landroid/content/res/TypedArray;
-HSPLandroid/content/res/Resources$Theme;->rebase()V
HSPLandroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z
+HSPLandroid/content/res/Resources$Theme;->setImpl(Landroid/content/res/ResourcesImpl$ThemeImpl;)V
HSPLandroid/content/res/Resources$Theme;->setTo(Landroid/content/res/Resources$Theme;)V
+HSPLandroid/content/res/Resources$ThemeKey;-><init>()V
HSPLandroid/content/res/Resources$ThemeKey;->append(IZ)V
HSPLandroid/content/res/Resources$ThemeKey;->clone()Landroid/content/res/Resources$ThemeKey;
HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z
@@ -4827,16 +2562,15 @@ HSPLandroid/content/res/Resources$ThemeKey;->setTo(Landroid/content/res/Resource
HSPLandroid/content/res/Resources;-><init>()V
HSPLandroid/content/res/Resources;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V
HSPLandroid/content/res/Resources;-><init>(Ljava/lang/ClassLoader;)V
+HSPLandroid/content/res/Resources;->findLoader(I)Landroid/content/res/loader/ResourceLoader;
HSPLandroid/content/res/Resources;->finishPreloading()V
HSPLandroid/content/res/Resources;->getAnimation(I)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/res/Resources;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
HSPLandroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager;
HSPLandroid/content/res/Resources;->getAttributeSetSourceResId(Landroid/util/AttributeSet;)I
HSPLandroid/content/res/Resources;->getBoolean(I)Z
-HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader;
HSPLandroid/content/res/Resources;->getColor(I)I
HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$Theme;)I
-HSPLandroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList;
HSPLandroid/content/res/Resources;->getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
HSPLandroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo;
HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
@@ -4857,59 +2591,56 @@ HSPLandroid/content/res/Resources;->getImpl()Landroid/content/res/ResourcesImpl;
HSPLandroid/content/res/Resources;->getIntArray(I)[I
HSPLandroid/content/res/Resources;->getInteger(I)I
HSPLandroid/content/res/Resources;->getLayout(I)Landroid/content/res/XmlResourceParser;
-HSPLandroid/content/res/Resources;->getQuantityString(II)Ljava/lang/String;
-HSPLandroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence;
+HPLandroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence;
HSPLandroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getResourceName(I)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getResourcePackageName(I)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getResourceTypeName(I)Ljava/lang/String;
-HSPLandroid/content/res/Resources;->getSizeConfigurations()[Landroid/content/res/Configuration;
HSPLandroid/content/res/Resources;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
HSPLandroid/content/res/Resources;->getString(I)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
HSPLandroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
HSPLandroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
-HPLandroid/content/res/Resources;->getText(ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/content/res/Resources;->getTextArray(I)[Ljava/lang/CharSequence;
HSPLandroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V
-HSPLandroid/content/res/Resources;->getValueForDensity(IILandroid/util/TypedValue;Z)V
HSPLandroid/content/res/Resources;->getXml(I)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/res/Resources;->loadColorStateList(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
HSPLandroid/content/res/Resources;->loadComplexColor(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
HSPLandroid/content/res/Resources;->loadDrawable(Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;
+HSPLandroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/res/Resources;->newTheme()Landroid/content/res/Resources$Theme;
+HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
HSPLandroid/content/res/Resources;->obtainTempTypedValue()Landroid/util/TypedValue;
HSPLandroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray;
HSPLandroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream;
HSPLandroid/content/res/Resources;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;
-HSPLandroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/res/Resources;->parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
-HSPLandroid/content/res/Resources;->preloadFonts(I)V
HSPLandroid/content/res/Resources;->releaseTempTypedValue(Landroid/util/TypedValue;)V
+HSPLandroid/content/res/Resources;->selectDefaultTheme(II)I
+HSPLandroid/content/res/Resources;->selectSystemTheme(IIIIII)I
HSPLandroid/content/res/Resources;->setImpl(Landroid/content/res/ResourcesImpl;)V
HSPLandroid/content/res/Resources;->startPreloading()V
HSPLandroid/content/res/Resources;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V
HSPLandroid/content/res/Resources;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
+HSPLandroid/content/res/Resources;->updateSystemConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
+HSPLandroid/content/res/ResourcesImpl$LookupStack;-><init>()V
+HSPLandroid/content/res/ResourcesImpl$LookupStack;-><init>(Landroid/content/res/ResourcesImpl$1;)V
HSPLandroid/content/res/ResourcesImpl$LookupStack;->contains(I)Z
HSPLandroid/content/res/ResourcesImpl$LookupStack;->pop()V
HSPLandroid/content/res/ResourcesImpl$LookupStack;->push(I)V
+HSPLandroid/content/res/ResourcesImpl$ThemeImpl;-><init>(Landroid/content/res/ResourcesImpl;)V
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->applyStyle(IZ)V
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->finalize()V
-HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getAttributeResolutionStack(III)[I
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getChangingConfigurations()I
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getKey()Landroid/content/res/Resources$ThemeKey;
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
-HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase()V
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttributes(Landroid/content/res/Resources$Theme;[I[I)Landroid/content/res/TypedArray;
HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->setTo(Landroid/content/res/ResourcesImpl$ThemeImpl;)V
HSPLandroid/content/res/ResourcesImpl;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V
HSPLandroid/content/res/ResourcesImpl;->adjustLanguageTag(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/res/ResourcesImpl;->attrForQuantityCode(Ljava/lang/String;)I
+HPLandroid/content/res/ResourcesImpl;->attrForQuantityCode(Ljava/lang/String;)I
HSPLandroid/content/res/ResourcesImpl;->cacheDrawable(Landroid/util/TypedValue;ZLandroid/content/res/DrawableCache;Landroid/content/res/Resources$Theme;ZJLandroid/graphics/drawable/Drawable;)V
HSPLandroid/content/res/ResourcesImpl;->calcConfigChanges(Landroid/content/res/Configuration;)I
HSPLandroid/content/res/ResourcesImpl;->decodeImageDrawable(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)Landroid/graphics/drawable/Drawable;
@@ -4923,16 +2654,17 @@ HSPLandroid/content/res/ResourcesImpl;->getConfiguration()Landroid/content/res/C
HSPLandroid/content/res/ResourcesImpl;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
HSPLandroid/content/res/ResourcesImpl;->getDisplayMetrics()Landroid/util/DisplayMetrics;
HSPLandroid/content/res/ResourcesImpl;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/res/ResourcesImpl;->getPluralRule()Landroid/icu/text/PluralRules;
-HSPLandroid/content/res/ResourcesImpl;->getQuantityText(II)Ljava/lang/CharSequence;
+HPLandroid/content/res/ResourcesImpl;->getPluralRule()Landroid/icu/text/PluralRules;
+HPLandroid/content/res/ResourcesImpl;->getQuantityText(II)Ljava/lang/CharSequence;
HSPLandroid/content/res/ResourcesImpl;->getResourceEntryName(I)Ljava/lang/String;
HSPLandroid/content/res/ResourcesImpl;->getResourceName(I)Ljava/lang/String;
HSPLandroid/content/res/ResourcesImpl;->getResourcePackageName(I)Ljava/lang/String;
HSPLandroid/content/res/ResourcesImpl;->getResourceTypeName(I)Ljava/lang/String;
-HSPLandroid/content/res/ResourcesImpl;->getSizeConfigurations()[Landroid/content/res/Configuration;
HSPLandroid/content/res/ResourcesImpl;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
HSPLandroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V
HSPLandroid/content/res/ResourcesImpl;->getValueForDensity(IILandroid/util/TypedValue;Z)V
+HSPLandroid/content/res/ResourcesImpl;->lambda$decodeImageDrawable$1(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
+HSPLandroid/content/res/ResourcesImpl;->lambda$new$0()Landroid/content/res/ResourcesImpl$LookupStack;
HSPLandroid/content/res/ResourcesImpl;->loadColorStateList(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
HSPLandroid/content/res/ResourcesImpl;->loadComplexColor(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
HSPLandroid/content/res/ResourcesImpl;->loadComplexColorForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor;
@@ -4943,25 +2675,28 @@ HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;
HSPLandroid/content/res/ResourcesImpl;->loadXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl;
-HSPLandroid/content/res/ResourcesImpl;->newThemeImpl(Landroid/content/res/Resources$ThemeKey;)Landroid/content/res/ResourcesImpl$ThemeImpl;
HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;
-HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/res/ResourcesImpl;->startPreloading()V
HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z
HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
HSPLandroid/content/res/ResourcesKey;->equals(Ljava/lang/Object;)Z
+HSPLandroid/content/res/ResourcesKey;->hasOverrideConfiguration()Z
HSPLandroid/content/res/ResourcesKey;->hashCode()I
-HSPLandroid/content/res/StringBlock;->applyStyles(Ljava/lang/String;[ILandroid/content/res/StringBlock$StyleIDs;)Ljava/lang/CharSequence;
+HSPLandroid/content/res/StringBlock;-><init>(JZ)V
+HSPLandroid/content/res/StringBlock;->close()V
HSPLandroid/content/res/StringBlock;->finalize()V
HSPLandroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence;
+HSPLandroid/content/res/ThemedResourceCache;-><init>()V
HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object;
HSPLandroid/content/res/ThemedResourceCache;->getThemedLocked(Landroid/content/res/Resources$Theme;Z)Landroid/util/LongSparseArray;
+HSPLandroid/content/res/ThemedResourceCache;->getUnthemedLocked(Z)Landroid/util/LongSparseArray;
HSPLandroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V
HSPLandroid/content/res/ThemedResourceCache;->prune(I)Z
HSPLandroid/content/res/ThemedResourceCache;->pruneEntriesLocked(Landroid/util/LongSparseArray;I)Z
HSPLandroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;)V
HSPLandroid/content/res/ThemedResourceCache;->put(JLandroid/content/res/Resources$Theme;Ljava/lang/Object;Z)V
+HSPLandroid/content/res/TypedArray;-><init>(Landroid/content/res/Resources;)V
HSPLandroid/content/res/TypedArray;->extractThemeAttrs()[I
HSPLandroid/content/res/TypedArray;->extractThemeAttrs([I)[I
HSPLandroid/content/res/TypedArray;->getBoolean(IZ)Z
@@ -4981,17 +2716,12 @@ HSPLandroid/content/res/TypedArray;->getIndex(I)I
HSPLandroid/content/res/TypedArray;->getIndexCount()I
HSPLandroid/content/res/TypedArray;->getInt(II)I
HSPLandroid/content/res/TypedArray;->getInteger(II)I
-HSPLandroid/content/res/TypedArray;->getLayoutDimension(II)I
HSPLandroid/content/res/TypedArray;->getLayoutDimension(ILjava/lang/String;)I
HSPLandroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String;
-HSPLandroid/content/res/TypedArray;->getNonResourceString(I)Ljava/lang/String;
HSPLandroid/content/res/TypedArray;->getPositionDescription()Ljava/lang/String;
HSPLandroid/content/res/TypedArray;->getResourceId(II)I
-HSPLandroid/content/res/TypedArray;->getResources()Landroid/content/res/Resources;
-HSPLandroid/content/res/TypedArray;->getSourceResourceId(II)I
HSPLandroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
HSPLandroid/content/res/TypedArray;->getText(I)Ljava/lang/CharSequence;
-HSPLandroid/content/res/TypedArray;->getTextArray(I)[Ljava/lang/CharSequence;
HSPLandroid/content/res/TypedArray;->getType(I)I
HSPLandroid/content/res/TypedArray;->getValue(ILandroid/util/TypedValue;)Z
HSPLandroid/content/res/TypedArray;->getValueAt(ILandroid/util/TypedValue;)Z
@@ -5003,13 +2733,12 @@ HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Lan
HSPLandroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
HSPLandroid/content/res/TypedArray;->recycle()V
HSPLandroid/content/res/TypedArray;->resize(I)V
+HSPLandroid/content/res/XmlBlock$Parser;-><init>(Landroid/content/res/XmlBlock;JLandroid/content/res/XmlBlock;)V
HSPLandroid/content/res/XmlBlock$Parser;->close()V
HSPLandroid/content/res/XmlBlock$Parser;->finalize()V
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeBooleanValue(IZ)Z
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeBooleanValue(Ljava/lang/String;Ljava/lang/String;Z)Z
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeCount()I
-HSPLandroid/content/res/XmlBlock$Parser;->getAttributeFloatValue(IF)F
-HSPLandroid/content/res/XmlBlock$Parser;->getAttributeFloatValue(Ljava/lang/String;Ljava/lang/String;F)F
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeIntValue(II)I
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeIntValue(Ljava/lang/String;Ljava/lang/String;I)I
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeName(I)Ljava/lang/String;
@@ -5020,22 +2749,38 @@ HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(I)Ljava/lang/String;
HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/content/res/XmlBlock$Parser;->getDepth()I
HSPLandroid/content/res/XmlBlock$Parser;->getEventType()I
-HSPLandroid/content/res/XmlBlock$Parser;->getIdAttributeResourceValue(I)I
HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String;
-HSPLandroid/content/res/XmlBlock$Parser;->getPositionDescription()Ljava/lang/String;
-HSPLandroid/content/res/XmlBlock$Parser;->getStyleAttribute()I
+HSPLandroid/content/res/XmlBlock$Parser;->getPooledString(I)Ljava/lang/CharSequence;
HSPLandroid/content/res/XmlBlock$Parser;->getText()Ljava/lang/String;
HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z
HSPLandroid/content/res/XmlBlock$Parser;->next()I
-HSPLandroid/content/res/XmlBlock$Parser;->nextTag()I
HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String;
HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V
+HSPLandroid/content/res/XmlBlock;-><init>(Landroid/content/res/AssetManager;J)V
+HSPLandroid/content/res/XmlBlock;->access$008(Landroid/content/res/XmlBlock;)I
+HSPLandroid/content/res/XmlBlock;->access$1000(JI)I
+HSPLandroid/content/res/XmlBlock;->access$1100(JLjava/lang/String;Ljava/lang/String;)I
+HSPLandroid/content/res/XmlBlock;->access$1200(JI)I
+HSPLandroid/content/res/XmlBlock;->access$1600(J)V
+HSPLandroid/content/res/XmlBlock;->access$1700(Landroid/content/res/XmlBlock;)V
+HSPLandroid/content/res/XmlBlock;->access$600(JI)I
+HSPLandroid/content/res/XmlBlock;->access$700(J)I
+HSPLandroid/content/res/XmlBlock;->access$800(JI)I
+HSPLandroid/content/res/XmlBlock;->access$900(JI)I
HSPLandroid/content/res/XmlBlock;->close()V
+HSPLandroid/content/res/XmlBlock;->decOpenCountLocked()V
HSPLandroid/content/res/XmlBlock;->finalize()V
HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser;
-HSPLandroid/content/rollback/IRollbackManager$Stub;-><init>()V
-HPLandroid/content/rollback/IRollbackManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/rollback/IRollbackManager;
-HSPLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V
+HSPLandroid/content/type/-$$Lambda$DefaultMimeMapFactory$3biOnZOOEGRoeaFehYke-eZnpCg;-><init>(Ljava/lang/Class;)V
+HSPLandroid/content/type/-$$Lambda$DefaultMimeMapFactory$3biOnZOOEGRoeaFehYke-eZnpCg;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/content/type/DefaultMimeMapFactory;->create()Llibcore/content/type/MimeMap;
+HSPLandroid/content/type/DefaultMimeMapFactory;->create(Ljava/util/function/Function;)Llibcore/content/type/MimeMap;
+HSPLandroid/content/type/DefaultMimeMapFactory;->lambda$create$0(Ljava/lang/Class;Ljava/lang/String;)Ljava/io/InputStream;
+HSPLandroid/content/type/DefaultMimeMapFactory;->parseTypes(Llibcore/content/type/MimeMap$Builder;Ljava/util/function/Function;Ljava/lang/String;)V
+HSPLandroid/database/AbstractCursor$SelfContentObserver;-><init>(Landroid/database/AbstractCursor;)V
+PLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V
+HSPLandroid/database/AbstractCursor;-><init>()V
+HSPLandroid/database/AbstractCursor;->checkPosition()V
HSPLandroid/database/AbstractCursor;->close()V
HSPLandroid/database/AbstractCursor;->fillWindow(ILandroid/database/CursorWindow;)V
HSPLandroid/database/AbstractCursor;->finalize()V
@@ -5047,22 +2792,20 @@ HSPLandroid/database/AbstractCursor;->getPosition()I
HSPLandroid/database/AbstractCursor;->getWantsAllOnMoveCalls()Z
HSPLandroid/database/AbstractCursor;->getWindow()Landroid/database/CursorWindow;
HSPLandroid/database/AbstractCursor;->isAfterLast()Z
-HSPLandroid/database/AbstractCursor;->isBeforeFirst()Z
HSPLandroid/database/AbstractCursor;->isClosed()Z
HSPLandroid/database/AbstractCursor;->isLast()Z
HSPLandroid/database/AbstractCursor;->moveToFirst()Z
HSPLandroid/database/AbstractCursor;->moveToNext()Z
HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z
-HSPLandroid/database/AbstractCursor;->moveToPrevious()Z
-HSPLandroid/database/AbstractCursor;->onChange(Z)V
+PLandroid/database/AbstractCursor;->onChange(Z)V
HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V
HSPLandroid/database/AbstractCursor;->onMove(II)Z
HSPLandroid/database/AbstractCursor;->registerContentObserver(Landroid/database/ContentObserver;)V
-HSPLandroid/database/AbstractCursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
HSPLandroid/database/AbstractCursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;)V
-HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;I)V
+HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;IZ)V
HSPLandroid/database/AbstractCursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
+HSPLandroid/database/AbstractWindowedCursor;-><init>()V
HSPLandroid/database/AbstractWindowedCursor;->checkPosition()V
HSPLandroid/database/AbstractWindowedCursor;->clearOrCreateWindow(Ljava/lang/String;)V
HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V
@@ -5075,7 +2818,7 @@ HSPLandroid/database/AbstractWindowedCursor;->getType(I)I
HSPLandroid/database/AbstractWindowedCursor;->getWindow()Landroid/database/CursorWindow;
HSPLandroid/database/AbstractWindowedCursor;->isNull(I)Z
HSPLandroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V
-HSPLandroid/database/BulkCursorDescriptor$1;-><init>()V
+HSPLandroid/database/AbstractWindowedCursor;->setWindow(Landroid/database/CursorWindow;)V
HSPLandroid/database/BulkCursorDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/database/BulkCursorDescriptor;
HSPLandroid/database/BulkCursorDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/database/BulkCursorDescriptor;->readFromParcel(Landroid/os/Parcel;)V
@@ -5085,37 +2828,53 @@ HSPLandroid/database/BulkCursorNative;->onTransact(ILandroid/os/Parcel;Landroid/
HSPLandroid/database/BulkCursorProxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/database/BulkCursorProxy;->close()V
HSPLandroid/database/BulkCursorProxy;->getWindow(I)Landroid/database/CursorWindow;
+HSPLandroid/database/BulkCursorToCursorAdaptor;-><init>()V
HSPLandroid/database/BulkCursorToCursorAdaptor;->close()V
HSPLandroid/database/BulkCursorToCursorAdaptor;->getColumnNames()[Ljava/lang/String;
HSPLandroid/database/BulkCursorToCursorAdaptor;->getCount()I
+HSPLandroid/database/BulkCursorToCursorAdaptor;->getObserver()Landroid/database/IContentObserver;
+HSPLandroid/database/BulkCursorToCursorAdaptor;->initialize(Landroid/database/BulkCursorDescriptor;)V
HSPLandroid/database/BulkCursorToCursorAdaptor;->onMove(II)Z
-HSPLandroid/database/ContentObservable;->dispatchChange(ZLandroid/net/Uri;)V
+HSPLandroid/database/CharArrayBuffer;-><init>(I)V
+HSPLandroid/database/ContentObservable;-><init>()V
+PLandroid/database/ContentObservable;->dispatchChange(ZLandroid/net/Uri;)V
HSPLandroid/database/ContentObservable;->registerObserver(Landroid/database/ContentObserver;)V
+HSPLandroid/database/ContentObserver$NotificationRunnable;-><init>(Landroid/database/ContentObserver;ZLandroid/net/Uri;I)V
HSPLandroid/database/ContentObserver$NotificationRunnable;->run()V
HSPLandroid/database/ContentObserver$Transport;->onChange(ZLandroid/net/Uri;I)V
+HSPLandroid/database/ContentObserver$Transport;->releaseContentObserver()V
HSPLandroid/database/ContentObserver;-><init>(Landroid/os/Handler;)V
+HSPLandroid/database/ContentObserver;->access$000(Landroid/database/ContentObserver;ZLandroid/net/Uri;I)V
+HSPLandroid/database/ContentObserver;->dispatchChange(ZLandroid/net/Uri;I)V
HSPLandroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
-HSPLandroid/database/ContentObserver;->onChange(Z)V
+PLandroid/database/ContentObserver;->onChange(Z)V
HSPLandroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;)V
HSPLandroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;I)V
HSPLandroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
+HSPLandroid/database/CrossProcessCursorWrapper;-><init>(Landroid/database/Cursor;)V
HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;-><init>(Landroid/database/IContentObserver;Landroid/os/IBinder$DeathRecipient;)V
-HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->onChange(ZLandroid/net/Uri;)V
+PLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->onChange(ZLandroid/net/Uri;)V
+HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;)Z
HSPLandroid/database/CursorToBulkCursorAdaptor;-><init>(Landroid/database/Cursor;Landroid/database/IContentObserver;Ljava/lang/String;)V
+PLandroid/database/CursorToBulkCursorAdaptor;->binderDied()V
HSPLandroid/database/CursorToBulkCursorAdaptor;->close()V
+HSPLandroid/database/CursorToBulkCursorAdaptor;->closeFilledWindowLocked()V
HSPLandroid/database/CursorToBulkCursorAdaptor;->createAndRegisterObserverProxyLocked(Landroid/database/IContentObserver;)V
+HSPLandroid/database/CursorToBulkCursorAdaptor;->disposeLocked()V
HSPLandroid/database/CursorToBulkCursorAdaptor;->getBulkCursorDescriptor()Landroid/database/BulkCursorDescriptor;
HSPLandroid/database/CursorToBulkCursorAdaptor;->getWindow(I)Landroid/database/CursorWindow;
HSPLandroid/database/CursorToBulkCursorAdaptor;->throwIfCursorIsClosed()V
-HSPLandroid/database/CursorWindow$1;-><init>()V
+HSPLandroid/database/CursorToBulkCursorAdaptor;->unregisterObserverProxyLocked()V
HSPLandroid/database/CursorWindow$1;->createFromParcel(Landroid/os/Parcel;)Landroid/database/CursorWindow;
HSPLandroid/database/CursorWindow$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/database/CursorWindow$1;->newArray(I)[Landroid/database/CursorWindow;
HSPLandroid/database/CursorWindow$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/database/CursorWindow;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V
HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;J)V
HSPLandroid/database/CursorWindow;->allocRow()Z
HSPLandroid/database/CursorWindow;->clear()V
+HSPLandroid/database/CursorWindow;->dispose()V
HSPLandroid/database/CursorWindow;->finalize()V
HSPLandroid/database/CursorWindow;->getBlob(II)[B
HSPLandroid/database/CursorWindow;->getCursorWindowSize()I
@@ -5138,46 +2897,49 @@ HSPLandroid/database/CursorWindow;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/database/CursorWrapper;-><init>(Landroid/database/Cursor;)V
HSPLandroid/database/CursorWrapper;->close()V
HSPLandroid/database/CursorWrapper;->getBlob(I)[B
-HSPLandroid/database/CursorWrapper;->getColumnCount()I
HSPLandroid/database/CursorWrapper;->getColumnIndex(Ljava/lang/String;)I
HSPLandroid/database/CursorWrapper;->getColumnIndexOrThrow(Ljava/lang/String;)I
-HSPLandroid/database/CursorWrapper;->getColumnName(I)Ljava/lang/String;
-HSPLandroid/database/CursorWrapper;->getColumnNames()[Ljava/lang/String;
HSPLandroid/database/CursorWrapper;->getCount()I
+HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle;
HSPLandroid/database/CursorWrapper;->getInt(I)I
HSPLandroid/database/CursorWrapper;->getLong(I)J
-HSPLandroid/database/CursorWrapper;->getPosition()I
HSPLandroid/database/CursorWrapper;->getString(I)Ljava/lang/String;
HSPLandroid/database/CursorWrapper;->getType(I)I
+HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor;
HSPLandroid/database/CursorWrapper;->isAfterLast()Z
-HSPLandroid/database/CursorWrapper;->isClosed()Z
+HSPLandroid/database/CursorWrapper;->isLast()Z
HSPLandroid/database/CursorWrapper;->isNull(I)Z
HSPLandroid/database/CursorWrapper;->moveToFirst()Z
HSPLandroid/database/CursorWrapper;->moveToNext()Z
HSPLandroid/database/CursorWrapper;->moveToPosition(I)Z
HSPLandroid/database/CursorWrapper;->registerContentObserver(Landroid/database/ContentObserver;)V
-HSPLandroid/database/CursorWrapper;->unregisterContentObserver(Landroid/database/ContentObserver;)V
HSPLandroid/database/DataSetObservable;-><init>()V
HSPLandroid/database/DataSetObservable;->notifyChanged()V
HSPLandroid/database/DataSetObservable;->notifyInvalidated()V
-HSPLandroid/database/DataSetObserver;-><init>()V
HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V
+HSPLandroid/database/DatabaseUtils;->bindObjectToProgram(Landroid/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V
HSPLandroid/database/DatabaseUtils;->cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V
HSPLandroid/database/DatabaseUtils;->getSqlStatementType(Ljava/lang/String;)I
HSPLandroid/database/DatabaseUtils;->getTypeOfObject(Ljava/lang/Object;)I
HSPLandroid/database/DatabaseUtils;->longForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
+HSPLandroid/database/DatabaseUtils;->longForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J
+PLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J
+PLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
+HSPLandroid/database/DatabaseUtils;->readExceptionFromParcel(Landroid/os/Parcel;)V
HSPLandroid/database/DatabaseUtils;->readExceptionWithFileNotFoundExceptionFromParcel(Landroid/os/Parcel;)V
HSPLandroid/database/DatabaseUtils;->sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/DefaultDatabaseErrorHandler;-><init>()V
HSPLandroid/database/IContentObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/database/IContentObserver$Stub$Proxy;->onChange(ZLandroid/net/Uri;I)V
+PLandroid/database/IContentObserver$Stub$Proxy;->onChange(ZLandroid/net/Uri;I)V
HSPLandroid/database/IContentObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/database/IContentObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/database/IContentObserver;
HSPLandroid/database/IContentObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/database/MatrixCursor$RowBuilder;->add(Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
+HSPLandroid/database/MatrixCursor$RowBuilder;->add(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
HSPLandroid/database/MatrixCursor;-><init>([Ljava/lang/String;)V
HSPLandroid/database/MatrixCursor;-><init>([Ljava/lang/String;I)V
-HSPLandroid/database/MatrixCursor;->addRow(Ljava/lang/Iterable;)V
-HSPLandroid/database/MatrixCursor;->addRow(Ljava/util/ArrayList;I)V
+HSPLandroid/database/MatrixCursor;->access$000(Landroid/database/MatrixCursor;)I
+HSPLandroid/database/MatrixCursor;->access$100(Landroid/database/MatrixCursor;)[Ljava/lang/Object;
+HSPLandroid/database/MatrixCursor;->access$200(Landroid/database/MatrixCursor;)[Ljava/lang/String;
HSPLandroid/database/MatrixCursor;->addRow([Ljava/lang/Object;)V
HSPLandroid/database/MatrixCursor;->get(I)Ljava/lang/Object;
HSPLandroid/database/MatrixCursor;->getColumnNames()[Ljava/lang/String;
@@ -5191,25 +2953,42 @@ HSPLandroid/database/Observable;-><init>()V
HSPLandroid/database/Observable;->registerObserver(Ljava/lang/Object;)V
HSPLandroid/database/Observable;->unregisterAll()V
HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V
+HSPLandroid/database/sqlite/-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q;-><init>(Landroid/database/sqlite/SQLiteDatabase;)V
HSPLandroid/database/sqlite/-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q;->get()Ljava/lang/Object;
+HSPLandroid/database/sqlite/SQLiteClosable;-><init>()V
HSPLandroid/database/sqlite/SQLiteClosable;->acquireReference()V
HSPLandroid/database/sqlite/SQLiteClosable;->close()V
HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V
+HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->getTruncateSize()J
HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->init(Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V
-HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->reset()V
+HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->isLegacyCompatibilityWalEnabled()Z
+HSPLandroid/database/sqlite/SQLiteConnection$Operation;-><init>()V
+HSPLandroid/database/sqlite/SQLiteConnection$Operation;-><init>(Landroid/database/sqlite/SQLiteConnection$1;)V
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;)V
HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->beginOperation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)I
HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperation(I)V
HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLog(I)Z
HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLogLocked(I)Z
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->failOperation(ILjava/lang/Exception;)V
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->getOperationLocked(I)Landroid/database/sqlite/SQLiteConnection$Operation;
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->newOperationCookieLocked(I)I
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->setResult(J)V
+HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->setResult(Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatement;-><init>()V
+HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatement;-><init>(Landroid/database/sqlite/SQLiteConnection$1;)V
+HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatementCache;-><init>(Landroid/database/sqlite/SQLiteConnection;I)V
HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->entryRemoved(ZLjava/lang/String;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
HSPLandroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V
+HSPLandroid/database/sqlite/SQLiteConnection;->access$100(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
HSPLandroid/database/sqlite/SQLiteConnection;->acquirePreparedStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
HSPLandroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
HSPLandroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V
HSPLandroid/database/sqlite/SQLiteConnection;->canonicalizeSyncMode(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteConnection;->checkDatabaseWiped()V
+HSPLandroid/database/sqlite/SQLiteConnection;->close()V
HSPLandroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteConnection;->dispose(Z)V
HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
@@ -5219,43 +2998,56 @@ HSPLandroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava
HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V
+HSPLandroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
+HSPLandroid/database/sqlite/SQLiteConnection;->getConnectionId()I
+HSPLandroid/database/sqlite/SQLiteConnection;->isCacheable(I)Z
+HSPLandroid/database/sqlite/SQLiteConnection;->isPrimaryConnection()Z
HSPLandroid/database/sqlite/SQLiteConnection;->maybeTruncateWalFile()V
+HSPLandroid/database/sqlite/SQLiteConnection;->obtainPreparedStatement(Ljava/lang/String;JIIZ)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
HSPLandroid/database/sqlite/SQLiteConnection;->open()V
HSPLandroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection;
HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V
HSPLandroid/database/sqlite/SQLiteConnection;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
+HSPLandroid/database/sqlite/SQLiteConnection;->recyclePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
HSPLandroid/database/sqlite/SQLiteConnection;->releasePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
HSPLandroid/database/sqlite/SQLiteConnection;->setAutoCheckpointInterval()V
HSPLandroid/database/sqlite/SQLiteConnection;->setForeignKeyModeFromConfiguration()V
HSPLandroid/database/sqlite/SQLiteConnection;->setJournalMode(Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteConnection;->setJournalSizeLimit()V
HSPLandroid/database/sqlite/SQLiteConnection;->setLocaleFromConfiguration()V
+HSPLandroid/database/sqlite/SQLiteConnection;->setOnlyAllowReadOnlyOperations(Z)V
HSPLandroid/database/sqlite/SQLiteConnection;->setPageSize()V
HSPLandroid/database/sqlite/SQLiteConnection;->setSyncMode(Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteConnection;->setWalModeFromConfiguration()V
HSPLandroid/database/sqlite/SQLiteConnection;->throwIfStatementForbidden(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;-><init>(Ljava/lang/String;I)V
HSPLandroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;-><init>(Landroid/database/sqlite/SQLiteConnectionPool$1;)V
+HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/os/Looper;J)V
HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionAcquired(Landroid/database/sqlite/SQLiteConnection;)V
HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionClosed(Landroid/database/sqlite/SQLiteConnection;)V
HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionReleased(Landroid/database/sqlite/SQLiteConnection;)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->handleMessage(Landroid/os/Message;)V
+PLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/database/sqlite/SQLiteConnectionPool;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
+PLandroid/database/sqlite/SQLiteConnectionPool;->access$000(Landroid/database/sqlite/SQLiteConnectionPool;)Ljava/lang/Object;
+PLandroid/database/sqlite/SQLiteConnectionPool;->access$300(Landroid/database/sqlite/SQLiteConnectionPool;)Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;
+PLandroid/database/sqlite/SQLiteConnectionPool;->access$400(Landroid/database/sqlite/SQLiteConnectionPool;I)Z
HSPLandroid/database/sqlite/SQLiteConnectionPool;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionLocked(I)Z
+PLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionLocked(I)Z
HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableNonPrimaryConnectionsAndLogExceptions()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeConnectionAndLogExceptionsLocked(Landroid/database/sqlite/SQLiteConnection;)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->disableIdleConnectionHandler()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->dispose(Z)V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->finalize()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V
+HSPLandroid/database/sqlite/SQLiteConnectionPool;->getPath()Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteConnectionPool;->markAcquiredConnectionsLocked(Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)V
+HSPLandroid/database/sqlite/SQLiteConnectionPool;->onStatementExecuted(J)V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->open()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->open(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)Landroid/database/sqlite/SQLiteConnectionPool;
+HSPLandroid/database/sqlite/SQLiteConnectionPool;->openConnectionLocked(Landroid/database/sqlite/SQLiteDatabaseConfiguration;Z)Landroid/database/sqlite/SQLiteConnection;
HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigureAllConnectionsLocked()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionLocked(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)Z
HSPLandroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V
+HSPLandroid/database/sqlite/SQLiteConnectionPool;->setMaxConnectionPoolSizeLocked()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->setupIdleConnectionHandler(Landroid/os/Looper;J)V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->throwIfClosedLocked()V
HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection;
@@ -5271,18 +3063,38 @@ HSPLandroid/database/sqlite/SQLiteCursor;->getColumnNames()[Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteCursor;->getCount()I
HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteCursor;->onMove(II)Z
+HSPLandroid/database/sqlite/SQLiteDatabase$1;->accept(Ljava/io/File;)Z
HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>()V
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->addOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->build()Landroid/database/sqlite/SQLiteDatabase$OpenParams;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->isWriteAheadLoggingEnabled()Z
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->removeOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->setCursorFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->setErrorHandler(Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->setIdleConnectionTimeout(J)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->setWriteAheadLoggingEnabled(Z)V
HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$1;)V
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$000(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$100(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$200(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/DatabaseErrorHandler;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$300(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$400(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$500(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)J
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$600(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$700(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V
+HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionNonExclusive()V
HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V
HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
HSPLandroid/database/sqlite/SQLiteDatabase;->createSession()Landroid/database/sqlite/SQLiteSession;
HSPLandroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;Z)Z
HSPLandroid/database/sqlite/SQLiteDatabase;->disableWriteAheadLogging()V
HSPLandroid/database/sqlite/SQLiteDatabase;->dispose(Z)V
-HSPLandroid/database/sqlite/SQLiteDatabase;->dumpAll(Landroid/util/Printer;ZZ)V
HSPLandroid/database/sqlite/SQLiteDatabase;->enableWriteAheadLogging()Z
HSPLandroid/database/sqlite/SQLiteDatabase;->endTransaction()V
HSPLandroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
@@ -5290,8 +3102,9 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;[Ljava/la
HSPLandroid/database/sqlite/SQLiteDatabase;->executeSql(Ljava/lang/String;[Ljava/lang/Object;)I
HSPLandroid/database/sqlite/SQLiteDatabase;->finalize()V
HSPLandroid/database/sqlite/SQLiteDatabase;->findEditTable(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList;
HSPLandroid/database/sqlite/SQLiteDatabase;->getPath()Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I
+HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;
HSPLandroid/database/sqlite/SQLiteDatabase;->getVersion()I
HSPLandroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
HSPLandroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
@@ -5300,9 +3113,11 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/Str
HSPLandroid/database/sqlite/SQLiteDatabase;->isMainThread()Z
HSPLandroid/database/sqlite/SQLiteDatabase;->isOpen()Z
HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnlyLocked()Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->isWriteAheadLoggingEnabled()Z
HSPLandroid/database/sqlite/SQLiteDatabase;->onAllReferencesReleased()V
HSPLandroid/database/sqlite/SQLiteDatabase;->open()V
-HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
+HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteDatabase;->openInner()V
@@ -5316,20 +3131,36 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/databa
HSPLandroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
HSPLandroid/database/sqlite/SQLiteDatabase;->replaceOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
HSPLandroid/database/sqlite/SQLiteDatabase;->setForeignKeyConstraintsEnabled(Z)V
-HSPLandroid/database/sqlite/SQLiteDatabase;->setPageSize(J)V
HSPLandroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
+HSPLandroid/database/sqlite/SQLiteDatabase;->setVersion(I)V
HSPLandroid/database/sqlite/SQLiteDatabase;->throwIfNotOpenLocked()V
HSPLandroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I
+HSPLandroid/database/sqlite/SQLiteDatabase;->validateSql(Ljava/lang/String;Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Ljava/lang/String;I)V
+HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z
+HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isLegacyCompatibilityWalEnabled()Z
+HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->stripPathForLogs(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
-HSPLandroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats;
+HSPLandroid/database/sqlite/SQLiteDebug$NoPreloadHolder;-><clinit>()V
+HSPLandroid/database/sqlite/SQLiteDebug$NoPreloadHolder;->access$000()Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteDebug;->shouldLogSlowQuery(J)Z
+HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->cursorClosed()V
HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/database/sqlite/SQLiteGlobal;->checkDbWipe()Z
+HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultJournalMode()Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultPageSize()I
+HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultSyncMode()Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteGlobal;->getJournalSizeLimit()I
+HSPLandroid/database/sqlite/SQLiteGlobal;->getWALAutoCheckpoint()I
+HSPLandroid/database/sqlite/SQLiteGlobal;->getWALConnectionPoolSize()I
+HSPLandroid/database/sqlite/SQLiteGlobal;->getWALSyncMode()Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteGlobal;->getWALTruncateSize()J
HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;IILandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
+HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V
HSPLandroid/database/sqlite/SQLiteOpenHelper;->close()V
HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase;
@@ -5338,31 +3169,50 @@ HSPLandroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/dat
HSPLandroid/database/sqlite/SQLiteOpenHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteOpenHelper;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V
HSPLandroid/database/sqlite/SQLiteOpenHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
+HSPLandroid/database/sqlite/SQLiteOpenHelper;->setFilePermissionsForDb(Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteOpenHelper;->setIdleConnectionTimeout(J)V
+HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParamsBuilder(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
HSPLandroid/database/sqlite/SQLiteOpenHelper;->setWriteAheadLoggingEnabled(Z)V
HSPLandroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteProgram;->bind(ILjava/lang/Object;)V
+HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteProgram;->bindBlob(I[B)V
-HSPLandroid/database/sqlite/SQLiteProgram;->bindDouble(ID)V
HSPLandroid/database/sqlite/SQLiteProgram;->bindLong(IJ)V
+HSPLandroid/database/sqlite/SQLiteProgram;->bindNull(I)V
HSPLandroid/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteProgram;->clearBindings()V
+HSPLandroid/database/sqlite/SQLiteProgram;->getBindArgs()[Ljava/lang/Object;
+HSPLandroid/database/sqlite/SQLiteProgram;->getColumnNames()[Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I
+HSPLandroid/database/sqlite/SQLiteProgram;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
+HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession;
+HSPLandroid/database/sqlite/SQLiteProgram;->getSql()Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteProgram;->onAllReferencesReleased()V
+HSPLandroid/database/sqlite/SQLiteQuery;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I
HSPLandroid/database/sqlite/SQLiteQueryBuilder;-><init>()V
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendWhere(Ljava/lang/CharSequence;)V
-HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendWhereStandalone(Ljava/lang/CharSequence;)V
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeSingleProjection(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeWhere(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->getTables()Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->isStrict()Z
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->isStrictColumns()Z
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->isStrictGrammar()Z
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->maybeWithOperator(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setDistinct(Z)V
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setProjectionMap(Ljava/util/Map;)V
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setStrict(Z)V
HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setTables(Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->wrap(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteSession;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;)V
+HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteSession;->beginTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteSession;->beginTransactionUnchecked(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteSession;->endTransaction(Landroid/os/CancellationSignal;)V
@@ -5376,177 +3226,89 @@ HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Lj
HSPLandroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V
HSPLandroid/database/sqlite/SQLiteSession;->releaseConnection()V
HSPLandroid/database/sqlite/SQLiteSession;->setTransactionSuccessful()V
+HSPLandroid/database/sqlite/SQLiteSession;->throwIfNoTransaction()V
+HSPLandroid/database/sqlite/SQLiteSession;->throwIfTransactionMarkedSuccessful()V
+HSPLandroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V
HSPLandroid/database/sqlite/SQLiteStatement;->execute()V
HSPLandroid/database/sqlite/SQLiteStatement;->executeInsert()J
HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I
HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForLong()J
-PLandroid/database/sqlite/SqliteWrapper;->query(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/ddm/DdmHandleAppName;-><init>()V
+HSPLandroid/database/sqlite/SQLiteStatementInfo;-><init>()V
HSPLandroid/ddm/DdmHandleAppName;->sendAPNM(Ljava/lang/String;I)V
-HSPLandroid/ddm/DdmHandleExit;-><init>()V
-HSPLandroid/ddm/DdmHandleExit;->connected()V
-HSPLandroid/ddm/DdmHandleExit;->disconnected()V
-HSPLandroid/ddm/DdmHandleHeap;-><init>()V
-HSPLandroid/ddm/DdmHandleHeap;->connected()V
-HSPLandroid/ddm/DdmHandleHeap;->disconnected()V
-HSPLandroid/ddm/DdmHandleHeap;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLandroid/ddm/DdmHandleHeap;->register()V
-HSPLandroid/ddm/DdmHandleHello;-><init>()V
-HSPLandroid/ddm/DdmHandleHello;->connected()V
-HSPLandroid/ddm/DdmHandleHello;->disconnected()V
-HSPLandroid/ddm/DdmHandleHello;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLandroid/ddm/DdmHandleHello;->handleFEAT(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLandroid/ddm/DdmHandleHello;->handleHELO(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLandroid/ddm/DdmHandleNativeHeap;-><init>()V
-HSPLandroid/ddm/DdmHandleNativeHeap;->connected()V
-HSPLandroid/ddm/DdmHandleNativeHeap;->disconnected()V
-HSPLandroid/ddm/DdmHandleProfiling;-><init>()V
-HSPLandroid/ddm/DdmHandleProfiling;->connected()V
-HSPLandroid/ddm/DdmHandleProfiling;->disconnected()V
-HSPLandroid/ddm/DdmHandleProfiling;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLandroid/ddm/DdmHandleProfiling;->register()V
-HSPLandroid/ddm/DdmHandleThread;-><init>()V
-HSPLandroid/ddm/DdmHandleThread;->connected()V
-HSPLandroid/ddm/DdmHandleThread;->disconnected()V
-HSPLandroid/ddm/DdmHandleViewDebug;-><init>()V
-HSPLandroid/ddm/DdmHandleViewDebug;->connected()V
-HSPLandroid/ddm/DdmHandleViewDebug;->disconnected()V
-HSPLandroid/ddm/DdmRegister;->registerHandlers()V
-HSPLandroid/debug/IAdbManager$Stub;-><init>()V
-HSPLandroid/debug/IAdbTransport$Stub;-><init>()V
-HSPLandroid/debug/IAdbTransport$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/graphics/-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw;-><init>()V
-HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;-><init>(Landroid/graphics/ColorSpace$Rgb;)V
-HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$CqKld6797g7__JnuY0NeFz5q4_E;-><init>(D)V
-HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$ZvS77aTfobOSa2o9MTqYMph4Rcg;-><init>(D)V
-HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$b9VGKuNnse0bbguR9jbOM_wK2Ac;->applyAsDouble(D)D
-HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY;->applyAsDouble(D)D
-HSPLandroid/graphics/-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE;-><init>()V
+HSPLandroid/ddm/DdmHandleAppName;->setAppName(Ljava/lang/String;I)V
+HSPLandroid/graphics/BaseCanvas;-><init>()V
+HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
HSPLandroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Shader;)V
-HSPLandroid/graphics/BaseRecordingCanvas;-><init>(J)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawColor(I)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawPaint(Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(FFFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Bitmap$1;-><init>()V
HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/graphics/Bitmap$CompressFormat;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Bitmap$CompressFormat;->valueOf(Ljava/lang/String;)Landroid/graphics/Bitmap$CompressFormat;
-HSPLandroid/graphics/Bitmap$CompressFormat;->values()[Landroid/graphics/Bitmap$CompressFormat;
-HSPLandroid/graphics/Bitmap$Config;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Bitmap$Config;->nativeToConfig(I)Landroid/graphics/Bitmap$Config;
HSPLandroid/graphics/Bitmap$Config;->values()[Landroid/graphics/Bitmap$Config;
HSPLandroid/graphics/Bitmap;-><init>(JIIIZ[BLandroid/graphics/NinePatch$InsetStruct;Z)V
-HSPLandroid/graphics/Bitmap;->checkPixelAccess(II)V
-HSPLandroid/graphics/Bitmap;->checkPixelsAccess(IIIIII[I)V
+HSPLandroid/graphics/Bitmap;->checkRecycled(Ljava/lang/String;)V
HSPLandroid/graphics/Bitmap;->checkWidthHeight(II)V
HSPLandroid/graphics/Bitmap;->checkXYSign(II)V
HSPLandroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
HSPLandroid/graphics/Bitmap;->copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
-HPLandroid/graphics/Bitmap;->createAshmemBitmap(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
-HPLandroid/graphics/Bitmap;->createGraphicBufferHandle()Landroid/graphics/GraphicBuffer;
HSPLandroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->eraseColor(I)V
HSPLandroid/graphics/Bitmap;->getAllocationByteCount()I
-HSPLandroid/graphics/Bitmap;->getByteCount()I
HSPLandroid/graphics/Bitmap;->getColorSpace()Landroid/graphics/ColorSpace;
HSPLandroid/graphics/Bitmap;->getConfig()Landroid/graphics/Bitmap$Config;
+HSPLandroid/graphics/Bitmap;->getDefaultDensity()I
HSPLandroid/graphics/Bitmap;->getHeight()I
-HSPLandroid/graphics/Bitmap;->getPixel(II)I
-HSPLandroid/graphics/Bitmap;->getPixels([IIIIIII)V
+HSPLandroid/graphics/Bitmap;->getNinePatchChunk()[B
HSPLandroid/graphics/Bitmap;->getScaledHeight(I)I
HSPLandroid/graphics/Bitmap;->getScaledWidth(I)I
HSPLandroid/graphics/Bitmap;->getWidth()I
HSPLandroid/graphics/Bitmap;->hasAlpha()Z
HSPLandroid/graphics/Bitmap;->isMutable()Z
-HSPLandroid/graphics/Bitmap;->isRecycled()Z
-HSPLandroid/graphics/Bitmap;->prepareToDraw()V
-HSPLandroid/graphics/Bitmap;->reconfigure(IILandroid/graphics/Bitmap$Config;)V
-HSPLandroid/graphics/Bitmap;->recycle()V
-HSPLandroid/graphics/Bitmap;->reinit(IIZ)V
-HSPLandroid/graphics/Bitmap;->sameAs(Landroid/graphics/Bitmap;)Z
HSPLandroid/graphics/Bitmap;->scaleFromDensity(III)I
HSPLandroid/graphics/Bitmap;->setDensity(I)V
HSPLandroid/graphics/Bitmap;->setHasAlpha(Z)V
HSPLandroid/graphics/Bitmap;->setPremultiplied(Z)V
-HSPLandroid/graphics/Bitmap;->wrapHardwareBuffer(Landroid/hardware/HardwareBuffer;Landroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/graphics/BitmapFactory$Options;-><init>()V
+HSPLandroid/graphics/BitmapFactory$Options;->nativeColorSpace(Landroid/graphics/BitmapFactory$Options;)J
+HSPLandroid/graphics/BitmapFactory$Options;->nativeInBitmap(Landroid/graphics/BitmapFactory$Options;)J
HSPLandroid/graphics/BitmapFactory$Options;->validate(Landroid/graphics/BitmapFactory$Options;)V
+HSPLandroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->setDensityFromOptions(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
-HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;II)V
-HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
-HSPLandroid/graphics/BitmapShader;->createNativeInstance(J)J
-HSPLandroid/graphics/BlendMode;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/BlendMode;->values()[Landroid/graphics/BlendMode;
-HSPLandroid/graphics/BlurMaskFilter$Blur;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/BlurMaskFilter;-><init>(FLandroid/graphics/BlurMaskFilter$Blur;)V
-HSPLandroid/graphics/Canvas$EdgeType;-><init>(Ljava/lang/String;II)V
+HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode;
+HSPLandroid/graphics/BlendMode;->fromValue(I)Landroid/graphics/BlendMode;
+HSPLandroid/graphics/BlendMode;->getXfermode()Landroid/graphics/Xfermode;
+HSPLandroid/graphics/BlendModeColorFilter;-><init>(ILandroid/graphics/BlendMode;)V
+HSPLandroid/graphics/BlendModeColorFilter;->createNativeInstance()J
HSPLandroid/graphics/Canvas;-><init>()V
HSPLandroid/graphics/Canvas;-><init>(J)V
HSPLandroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/Canvas;->access$000()J
-HSPLandroid/graphics/Canvas;->checkValidClipOp(Landroid/graphics/Region$Op;)V
-HSPLandroid/graphics/Canvas;->clipPath(Landroid/graphics/Path;)Z
-HSPLandroid/graphics/Canvas;->clipPath(Landroid/graphics/Path;Landroid/graphics/Region$Op;)Z
HSPLandroid/graphics/Canvas;->clipRect(FFFF)Z
HSPLandroid/graphics/Canvas;->clipRect(IIII)Z
HSPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
HSPLandroid/graphics/Canvas;->concat(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Canvas;->drawARGB(IIII)V
HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
HSPLandroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawColor(I)V
-HSPLandroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/Canvas;->drawOval(FFFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
HSPLandroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
HSPLandroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
HSPLandroid/graphics/Canvas;->getClipBounds(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/Canvas;->getDensity()I
HSPLandroid/graphics/Canvas;->getHeight()I
HSPLandroid/graphics/Canvas;->getNativeCanvasWrapper()J
HSPLandroid/graphics/Canvas;->getSaveCount()I
@@ -5554,117 +3316,43 @@ HSPLandroid/graphics/Canvas;->getWidth()I
HSPLandroid/graphics/Canvas;->insertInorderBarrier()V
HSPLandroid/graphics/Canvas;->insertReorderBarrier()V
HSPLandroid/graphics/Canvas;->isHardwareAccelerated()Z
-HSPLandroid/graphics/Canvas;->isOpaque()Z
-HSPLandroid/graphics/Canvas;->isRecordingFor(Ljava/lang/Object;)Z
HSPLandroid/graphics/Canvas;->quickReject(FFFFLandroid/graphics/Canvas$EdgeType;)Z
HSPLandroid/graphics/Canvas;->restore()V
HSPLandroid/graphics/Canvas;->restoreToCount(I)V
-HSPLandroid/graphics/Canvas;->rotate(F)V
-HSPLandroid/graphics/Canvas;->rotate(FFF)V
HSPLandroid/graphics/Canvas;->save()I
HSPLandroid/graphics/Canvas;->save(I)I
-HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFI)I
-HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFII)I
-HSPLandroid/graphics/Canvas;->scale(FF)V
-HSPLandroid/graphics/Canvas;->scale(FFFF)V
HSPLandroid/graphics/Canvas;->setBitmap(Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/Canvas;->setCompatibilityVersion(I)V
-HSPLandroid/graphics/Canvas;->setDensity(I)V
-HSPLandroid/graphics/Canvas;->setDrawFilter(Landroid/graphics/DrawFilter;)V
-HSPLandroid/graphics/Canvas;->setScreenDensity(I)V
HSPLandroid/graphics/Canvas;->translate(FF)V
-HSPLandroid/graphics/CanvasProperty;->getNativeContainer()J
-HSPLandroid/graphics/Color;->HSVToColor([F)I
HSPLandroid/graphics/Color;->alpha(I)I
HSPLandroid/graphics/Color;->alpha(J)F
HSPLandroid/graphics/Color;->argb(IIII)I
HSPLandroid/graphics/Color;->blue(I)I
HSPLandroid/graphics/Color;->blue(J)F
-HSPLandroid/graphics/Color;->colorToHSV(I[F)V
HSPLandroid/graphics/Color;->green(I)I
HSPLandroid/graphics/Color;->green(J)F
HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J
+HSPLandroid/graphics/Color;->pack(I)J
HSPLandroid/graphics/Color;->parseColor(Ljava/lang/String;)I
HSPLandroid/graphics/Color;->red(I)I
HSPLandroid/graphics/Color;->red(J)F
-HSPLandroid/graphics/Color;->rgb(III)I
HSPLandroid/graphics/Color;->toArgb()I
HSPLandroid/graphics/Color;->toArgb(J)I
HSPLandroid/graphics/Color;->valueOf(I)Landroid/graphics/Color;
-HSPLandroid/graphics/ColorFilter;->access$000()J
+HSPLandroid/graphics/ColorFilter;-><init>()V
HSPLandroid/graphics/ColorFilter;->getNativeInstance()J
-HSPLandroid/graphics/ColorMatrix;-><init>()V
-HSPLandroid/graphics/ColorMatrix;-><init>([F)V
-HSPLandroid/graphics/ColorMatrix;->reset()V
-HSPLandroid/graphics/ColorMatrix;->set(Landroid/graphics/ColorMatrix;)V
-HSPLandroid/graphics/ColorMatrixColorFilter;-><init>(Landroid/graphics/ColorMatrix;)V
-HSPLandroid/graphics/ColorMatrixColorFilter;->createNativeInstance()J
-HSPLandroid/graphics/ColorSpace$Adaptation;-><init>(Ljava/lang/String;I[F)V
-HSPLandroid/graphics/ColorSpace$Lab;-><init>(Ljava/lang/String;ILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace$Model;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/ColorSpace$Named;-><init>(Ljava/lang/String;I)V
HSPLandroid/graphics/ColorSpace$Named;->values()[Landroid/graphics/ColorSpace$Named;
-HSPLandroid/graphics/ColorSpace$Rgb$TransferParameters;-><init>(DDDDD)V
-HSPLandroid/graphics/ColorSpace$Rgb$TransferParameters;-><init>(DDDDDDD)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FDFFI)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FDFFILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;I)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;ILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFLandroid/graphics/ColorSpace$Rgb$TransferParameters;I)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFLandroid/graphics/ColorSpace$Rgb$TransferParameters;ILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace$Rgb;->access$1400()J
-HSPLandroid/graphics/ColorSpace$Rgb;->area([F)F
-HSPLandroid/graphics/ColorSpace$Rgb;->computeXYZMatrix([F[F)[F
-HSPLandroid/graphics/ColorSpace$Rgb;->contains([F[F)Z
HSPLandroid/graphics/ColorSpace$Rgb;->getNativeInstance()J
HSPLandroid/graphics/ColorSpace$Rgb;->isSrgb()Z
-HSPLandroid/graphics/ColorSpace$Rgb;->isSrgb([F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFI)Z
-HSPLandroid/graphics/ColorSpace$Rgb;->isWideGamut([FFF)Z
-HSPLandroid/graphics/ColorSpace$Rgb;->xyPrimaries([F)[F
-HSPLandroid/graphics/ColorSpace$Rgb;->xyWhitePoint([F)[F
-HSPLandroid/graphics/ColorSpace$Xyz;-><init>(Ljava/lang/String;ILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;I)V
-HSPLandroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;ILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace;->access$1200([F)[F
-HSPLandroid/graphics/ColorSpace;->access$1300([F[F)[F
-HSPLandroid/graphics/ColorSpace;->chromaticAdaptation([F[F[F)[F
-HSPLandroid/graphics/ColorSpace;->compare([F[F)Z
HSPLandroid/graphics/ColorSpace;->get(I)Landroid/graphics/ColorSpace;
HSPLandroid/graphics/ColorSpace;->get(Landroid/graphics/ColorSpace$Named;)Landroid/graphics/ColorSpace;
-HSPLandroid/graphics/ColorSpace;->getId()I
-HSPLandroid/graphics/ColorSpace;->inverse3x3([F)[F
-HSPLandroid/graphics/ColorSpace;->mul3x3([F[F)[F
-HSPLandroid/graphics/ColorSpace;->mul3x3Diag([F[F)[F
-HSPLandroid/graphics/ColorSpace;->mul3x3Float3([F[F)[F
-HSPLandroid/graphics/ColorSpace;->rcpResponse(DDDDDD)D
-HSPLandroid/graphics/ColorSpace;->response(DDDDDD)D
-HSPLandroid/graphics/FontFamily;-><init>()V
-HSPLandroid/graphics/FontFamily;->addFontFromBuffer(Ljava/nio/ByteBuffer;I[Landroid/graphics/fonts/FontVariationAxis;II)Z
-HSPLandroid/graphics/FontFamily;->freeze()Z
-HSPLandroid/graphics/FontListParser;->parse(Ljava/io/InputStream;Ljava/lang/String;)Landroid/text/FontConfig;
-HSPLandroid/graphics/FontListParser;->readAlias(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Alias;
-HSPLandroid/graphics/FontListParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/text/FontConfig;
-HSPLandroid/graphics/FontListParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/text/FontConfig$Family;
-HSPLandroid/graphics/FontListParser;->readFont(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/text/FontConfig$Font;
HSPLandroid/graphics/FrameInfo;-><init>()V
HSPLandroid/graphics/FrameInfo;->addFlags(J)V
HSPLandroid/graphics/FrameInfo;->markAnimationsStart()V
-HSPLandroid/graphics/FrameInfo;->markDrawStart()V
HSPLandroid/graphics/FrameInfo;->markInputHandlingStart()V
HSPLandroid/graphics/FrameInfo;->markPerformTraversalsStart()V
HSPLandroid/graphics/FrameInfo;->setVsync(JJ)V
-HSPLandroid/graphics/FrameInfo;->updateInputEventTime(JJ)V
-HSPLandroid/graphics/GraphicBuffer$1;-><init>()V
-HPLandroid/graphics/GraphicBuffer;-><init>(IIIIJ)V
-HSPLandroid/graphics/GraphicBuffer;->createFromExisting(IIIIJ)Landroid/graphics/GraphicBuffer;
+HSPLandroid/graphics/GraphicBuffer;-><init>(IIIIJ)V
HSPLandroid/graphics/GraphicBuffer;->finalize()V
-HPLandroid/graphics/GraphicBuffer;->getFormat()I
-HPLandroid/graphics/GraphicBuffer;->getHeight()I
-HPLandroid/graphics/GraphicBuffer;->getWidth()I
-HPLandroid/graphics/GraphicBuffer;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/graphics/HardwareRenderer$DestroyContextRunnable;->run()V
-HSPLandroid/graphics/HardwareRenderer$ProcessInitializer$1;->onRotateGraphicsStatsBuffer()V
-HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;-><init>()V
HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->init(J)V
HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->initGraphicsStats()V
HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->initSched(J)V
@@ -5672,180 +3360,90 @@ HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->requestBuffer()V
HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->setPackageName(Ljava/lang/String;)V
HSPLandroid/graphics/HardwareRenderer;-><init>()V
HSPLandroid/graphics/HardwareRenderer;->allocateBuffers()V
-HSPLandroid/graphics/HardwareRenderer;->clearContent()V
-HPLandroid/graphics/HardwareRenderer;->createHardwareBitmap(Landroid/graphics/RenderNode;II)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/HardwareRenderer;->destroy()V
-HSPLandroid/graphics/HardwareRenderer;->loadSystemProperties()Z
-HSPLandroid/graphics/HardwareRenderer;->notifyFramePending()V
HSPLandroid/graphics/HardwareRenderer;->pause()Z
-HSPLandroid/graphics/HardwareRenderer;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
-HSPLandroid/graphics/HardwareRenderer;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
+HSPLandroid/graphics/HardwareRenderer;->setDebuggingEnabled(Z)V
HSPLandroid/graphics/HardwareRenderer;->setFPSDivisor(I)V
-HSPLandroid/graphics/HardwareRenderer;->setForceDark(Z)Z
-HSPLandroid/graphics/HardwareRenderer;->setFrameCompleteCallback(Landroid/graphics/HardwareRenderer$FrameCompleteCallback;)V
HSPLandroid/graphics/HardwareRenderer;->setHighContrastText(Z)V
-HSPLandroid/graphics/HardwareRenderer;->setLightSourceAlpha(FF)V
-HSPLandroid/graphics/HardwareRenderer;->setLightSourceGeometry(FFFF)V
-HSPLandroid/graphics/HardwareRenderer;->setName(Ljava/lang/String;)V
-HSPLandroid/graphics/HardwareRenderer;->setOpaque(Z)V
HSPLandroid/graphics/HardwareRenderer;->setPackageName(Ljava/lang/String;)V
-HSPLandroid/graphics/HardwareRenderer;->setStopped(Z)V
-HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;)V
-HSPLandroid/graphics/HardwareRenderer;->setWideGamut(Z)V
-HSPLandroid/graphics/HardwareRenderer;->syncAndDrawFrame(Landroid/graphics/FrameInfo;)I
-HSPLandroid/graphics/HardwareRenderer;->trimMemory(I)V
+HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;Z)V
+HSPLandroid/graphics/HardwareRenderer;->setupDiskCache(Ljava/io/File;)V
HSPLandroid/graphics/HardwareRenderer;->validateAlpha(FLjava/lang/String;)V
HSPLandroid/graphics/HardwareRenderer;->validateFinite(FLjava/lang/String;)V
HSPLandroid/graphics/HardwareRenderer;->validatePositive(FLjava/lang/String;)V
HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;-><init>(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)V
-HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
+HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder(Z)Landroid/graphics/ImageDecoder;
HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getDensity()I
HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getResources()Landroid/content/res/Resources;
-HSPLandroid/graphics/ImageDecoder$InputStreamSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
-HSPLandroid/graphics/ImageDecoder$InputStreamSource;->getDensity()I
-HSPLandroid/graphics/ImageDecoder$InputStreamSource;->getResources()Landroid/content/res/Resources;
-HSPLandroid/graphics/ImageDecoder;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLandroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/graphics/ImageDecoder;)V
+HSPLandroid/graphics/ImageDecoder$ImageInfo;-><init>(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$1;)V
+HSPLandroid/graphics/ImageDecoder$ImageInfo;->access$1302(Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder;)Landroid/graphics/ImageDecoder;
+HSPLandroid/graphics/ImageDecoder$Source;-><init>()V
+HSPLandroid/graphics/ImageDecoder$Source;-><init>(Landroid/graphics/ImageDecoder$1;)V
+HSPLandroid/graphics/ImageDecoder$Source;->computeDstDensity()I
HSPLandroid/graphics/ImageDecoder;-><init>(JIIZZ)V
+HSPLandroid/graphics/ImageDecoder;->access$500(Landroid/content/res/AssetManager$AssetInputStream;ZLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
+HSPLandroid/graphics/ImageDecoder;->access$700(Landroid/graphics/ImageDecoder;)I
+HSPLandroid/graphics/ImageDecoder;->access$800(Landroid/graphics/ImageDecoder;)I
HSPLandroid/graphics/ImageDecoder;->callHeaderDecoded(Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;Landroid/graphics/ImageDecoder$Source;)V
+HSPLandroid/graphics/ImageDecoder;->checkForExtended()Z
HSPLandroid/graphics/ImageDecoder;->checkState(Z)V
HSPLandroid/graphics/ImageDecoder;->checkSubset(IILandroid/graphics/Rect;)V
HSPLandroid/graphics/ImageDecoder;->close()V
HSPLandroid/graphics/ImageDecoder;->computeDensity(Landroid/graphics/ImageDecoder$Source;)I
-HSPLandroid/graphics/ImageDecoder;->createFromAsset(Landroid/content/res/AssetManager$AssetInputStream;Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-HSPLandroid/graphics/ImageDecoder;->createFromStream(Ljava/io/InputStream;ZLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
-HSPLandroid/graphics/ImageDecoder;->createSource(Landroid/content/res/Resources;Ljava/io/InputStream;)Landroid/graphics/ImageDecoder$Source;
-HSPLandroid/graphics/ImageDecoder;->createSource(Landroid/content/res/Resources;Ljava/io/InputStream;I)Landroid/graphics/ImageDecoder$Source;
-HSPLandroid/graphics/ImageDecoder;->decodeBitmap(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/ImageDecoder;->decodeBitmapImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/ImageDecoder;->createFromAsset(Landroid/content/res/AssetManager$AssetInputStream;ZLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
HSPLandroid/graphics/ImageDecoder;->decodeBitmapInternal()Landroid/graphics/Bitmap;
HSPLandroid/graphics/ImageDecoder;->decodeDrawable(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/ImageDecoder;->decodeDrawableImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/ImageDecoder;->finalize()V
+HSPLandroid/graphics/ImageDecoder;->getColorSpacePtr()J
+HSPLandroid/graphics/ImageDecoder;->requestedResize()Z
+HSPLandroid/graphics/ImageDecoder;->setAllocator(I)V
HSPLandroid/graphics/ImageDecoder;->setTargetSize(II)V
-HSPLandroid/graphics/Insets$1;-><init>()V
HSPLandroid/graphics/Insets;-><init>(IIII)V
HSPLandroid/graphics/Insets;->equals(Ljava/lang/Object;)Z
HSPLandroid/graphics/Insets;->max(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;
HSPLandroid/graphics/Insets;->of(IIII)Landroid/graphics/Insets;
-HSPLandroid/graphics/Insets;->of(Landroid/graphics/Rect;)Landroid/graphics/Insets;
-HSPLandroid/graphics/Insets;->toRect()Landroid/graphics/Rect;
-HSPLandroid/graphics/Interpolator$Result;-><init>(Ljava/lang/String;I)V
-HSPLandroid/graphics/Interpolator;-><init>(II)V
-HSPLandroid/graphics/Interpolator;->finalize()V
-HSPLandroid/graphics/Interpolator;->setKeyFrame(II[F)V
-HSPLandroid/graphics/Interpolator;->setKeyFrame(II[F[F)V
-HSPLandroid/graphics/Interpolator;->timeToValues(I[F)Landroid/graphics/Interpolator$Result;
-HSPLandroid/graphics/Interpolator;->timeToValues([F)Landroid/graphics/Interpolator$Result;
-HSPLandroid/graphics/LeakyTypefaceStorage;->readTypefaceFromParcel(Landroid/os/Parcel;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/LeakyTypefaceStorage;->writeTypefaceToParcel(Landroid/graphics/Typeface;Landroid/os/Parcel;)V
-HSPLandroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V
+PLandroid/graphics/LeakyTypefaceStorage;->readTypefaceFromParcel(Landroid/os/Parcel;)Landroid/graphics/Typeface;
HSPLandroid/graphics/LinearGradient;-><init>(FFFF[I[FLandroid/graphics/Shader$TileMode;)V
-HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V
HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;Landroid/graphics/ColorSpace;)V
-HSPLandroid/graphics/LinearGradient;->createNativeInstance(J)J
-HSPLandroid/graphics/Matrix$1;-><init>()V
-HSPLandroid/graphics/Matrix$ScaleToFit;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Matrix;-><init>()V
-HSPLandroid/graphics/Matrix;-><init>(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Matrix;->access$000()J
-HSPLandroid/graphics/Matrix;->equals(Ljava/lang/Object;)Z
-HSPLandroid/graphics/Matrix;->getValues([F)V
-HSPLandroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z
HSPLandroid/graphics/Matrix;->isIdentity()Z
-HSPLandroid/graphics/Matrix;->mapPoints([F)V
-HSPLandroid/graphics/Matrix;->mapPoints([FI[FII)V
-HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z
-HSPLandroid/graphics/Matrix;->postConcat(Landroid/graphics/Matrix;)Z
-HSPLandroid/graphics/Matrix;->postScale(FF)Z
-HSPLandroid/graphics/Matrix;->postScale(FFFF)Z
HSPLandroid/graphics/Matrix;->postTranslate(FF)Z
-HSPLandroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
-HSPLandroid/graphics/Matrix;->preRotate(F)Z
-HSPLandroid/graphics/Matrix;->preScale(FF)Z
-HSPLandroid/graphics/Matrix;->preTranslate(FF)Z
HSPLandroid/graphics/Matrix;->rectStaysRect()Z
HSPLandroid/graphics/Matrix;->reset()V
-HSPLandroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Matrix;->setConcat(Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Z
HSPLandroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z
-HSPLandroid/graphics/Matrix;->setRotate(F)V
-HSPLandroid/graphics/Matrix;->setRotate(FFF)V
HSPLandroid/graphics/Matrix;->setScale(FF)V
-HSPLandroid/graphics/Matrix;->setScale(FFFF)V
HSPLandroid/graphics/Matrix;->setTranslate(FF)V
-HSPLandroid/graphics/Matrix;->setValues([F)V
HSPLandroid/graphics/NinePatch$InsetStruct;-><init>(IIIIIIIIFIF)V
HSPLandroid/graphics/NinePatch$InsetStruct;->scaleInsets(IIIIF)Landroid/graphics/Rect;
-HSPLandroid/graphics/NinePatch;->draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/NinePatch;->finalize()V
HSPLandroid/graphics/NinePatch;->getBitmap()Landroid/graphics/Bitmap;
HSPLandroid/graphics/NinePatch;->getDensity()I
HSPLandroid/graphics/NinePatch;->getHeight()I
HSPLandroid/graphics/NinePatch;->getWidth()I
-HSPLandroid/graphics/Outline;-><init>()V
-HSPLandroid/graphics/Outline;->setAlpha(F)V
HSPLandroid/graphics/Outline;->setConvexPath(Landroid/graphics/Path;)V
-HSPLandroid/graphics/Outline;->setEmpty()V
-HSPLandroid/graphics/Outline;->setOval(IIII)V
-HSPLandroid/graphics/Outline;->setRect(IIII)V
-HSPLandroid/graphics/Outline;->setRoundRect(IIIIF)V
HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V
-HSPLandroid/graphics/Paint$Align;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Paint$Cap;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Paint$FontMetrics;-><init>()V
-HSPLandroid/graphics/Paint$Join;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Paint$Style;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Paint;-><init>()V
HSPLandroid/graphics/Paint;-><init>(I)V
-HSPLandroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Paint;->access$000()J
-HSPLandroid/graphics/Paint;->ascent()F
-HSPLandroid/graphics/Paint;->descent()F
HSPLandroid/graphics/Paint;->getAlpha()I
HSPLandroid/graphics/Paint;->getColor()I
HSPLandroid/graphics/Paint;->getColorFilter()Landroid/graphics/ColorFilter;
HSPLandroid/graphics/Paint;->getEndHyphenEdit()I
HSPLandroid/graphics/Paint;->getFlags()I
-HSPLandroid/graphics/Paint;->getFontFeatureSettings()Ljava/lang/String;
-HSPLandroid/graphics/Paint;->getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F
-HSPLandroid/graphics/Paint;->getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt;
HSPLandroid/graphics/Paint;->getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I
-HSPLandroid/graphics/Paint;->getFontVariationSettings()Ljava/lang/String;
-HSPLandroid/graphics/Paint;->getHinting()I
HSPLandroid/graphics/Paint;->getLetterSpacing()F
-HSPLandroid/graphics/Paint;->getMaskFilter()Landroid/graphics/MaskFilter;
HSPLandroid/graphics/Paint;->getNativeInstance()J
HSPLandroid/graphics/Paint;->getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F
HSPLandroid/graphics/Paint;->getRunAdvance([CIIIIZI)F
HSPLandroid/graphics/Paint;->getShader()Landroid/graphics/Shader;
-HSPLandroid/graphics/Paint;->getShadowLayerColor()I
-HSPLandroid/graphics/Paint;->getShadowLayerDx()F
-HSPLandroid/graphics/Paint;->getShadowLayerDy()F
-HSPLandroid/graphics/Paint;->getShadowLayerRadius()F
HSPLandroid/graphics/Paint;->getStartHyphenEdit()I
-HSPLandroid/graphics/Paint;->getStrokeWidth()F
-HSPLandroid/graphics/Paint;->getStyle()Landroid/graphics/Paint$Style;
-HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V
-HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V
-HSPLandroid/graphics/Paint;->getTextBounds([CIILandroid/graphics/Rect;)V
HSPLandroid/graphics/Paint;->getTextLocale()Ljava/util/Locale;
HSPLandroid/graphics/Paint;->getTextLocales()Landroid/os/LocaleList;
HSPLandroid/graphics/Paint;->getTextRunAdvances([CIIIIZ[FI)F
-HSPLandroid/graphics/Paint;->getTextScaleX()F
HSPLandroid/graphics/Paint;->getTextSize()F
HSPLandroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface;
-HSPLandroid/graphics/Paint;->getUnderlinePosition()F
-HSPLandroid/graphics/Paint;->getUnderlineThickness()F
-HSPLandroid/graphics/Paint;->getXfermode()Landroid/graphics/Xfermode;
-HSPLandroid/graphics/Paint;->hasGlyph(Ljava/lang/String;)Z
-HSPLandroid/graphics/Paint;->isAntiAlias()Z
-HSPLandroid/graphics/Paint;->isElegantTextHeight()Z
-HSPLandroid/graphics/Paint;->isStrikeThruText()Z
-HSPLandroid/graphics/Paint;->isUnderlineText()Z
HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;)F
HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;II)F
-HSPLandroid/graphics/Paint;->reset()V
HSPLandroid/graphics/Paint;->set(Landroid/graphics/Paint;)V
HSPLandroid/graphics/Paint;->setAlpha(I)V
HSPLandroid/graphics/Paint;->setAntiAlias(Z)V
@@ -5855,20 +3453,13 @@ HSPLandroid/graphics/Paint;->setColor(I)V
HSPLandroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
HSPLandroid/graphics/Paint;->setCompatibilityScaling(F)V
HSPLandroid/graphics/Paint;->setDither(Z)V
-HSPLandroid/graphics/Paint;->setElegantTextHeight(Z)V
HSPLandroid/graphics/Paint;->setEndHyphenEdit(I)V
HSPLandroid/graphics/Paint;->setFakeBoldText(Z)V
HSPLandroid/graphics/Paint;->setFilterBitmap(Z)V
HSPLandroid/graphics/Paint;->setFlags(I)V
-HSPLandroid/graphics/Paint;->setLetterSpacing(F)V
-HSPLandroid/graphics/Paint;->setMaskFilter(Landroid/graphics/MaskFilter;)Landroid/graphics/MaskFilter;
-HSPLandroid/graphics/Paint;->setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect;
HSPLandroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
-HSPLandroid/graphics/Paint;->setShadowLayer(FFFI)V
-HSPLandroid/graphics/Paint;->setShadowLayer(FFFJ)V
HSPLandroid/graphics/Paint;->setStartHyphenEdit(I)V
HSPLandroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V
-HSPLandroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V
HSPLandroid/graphics/Paint;->setStrokeWidth(F)V
HSPLandroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
HSPLandroid/graphics/Paint;->setTextAlign(Landroid/graphics/Paint$Align;)V
@@ -5877,72 +3468,36 @@ HSPLandroid/graphics/Paint;->setTextScaleX(F)V
HSPLandroid/graphics/Paint;->setTextSize(F)V
HSPLandroid/graphics/Paint;->setTextSkewX(F)V
HSPLandroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Paint;->setUnderlineText(Z)V
HSPLandroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
HSPLandroid/graphics/Paint;->syncTextLocalesWithMinikin()V
-HSPLandroid/graphics/PaintFlagsDrawFilter;-><init>(II)V
-HSPLandroid/graphics/Path$Direction;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Path$FillType;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Path;-><init>()V
HSPLandroid/graphics/Path;-><init>(Landroid/graphics/Path;)V
-HSPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->addRoundRect(FFFF[FLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->approximate(F)[F
-HSPLandroid/graphics/Path;->arcTo(FFFFFFZ)V
-HSPLandroid/graphics/Path;->arcTo(Landroid/graphics/RectF;FFZ)V
-HSPLandroid/graphics/Path;->close()V
-HSPLandroid/graphics/Path;->computeBounds(Landroid/graphics/RectF;Z)V
HSPLandroid/graphics/Path;->cubicTo(FFFFFF)V
-HSPLandroid/graphics/Path;->detectSimplePath(FFFFLandroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->getFillType()Landroid/graphics/Path$FillType;
-HSPLandroid/graphics/Path;->isConvex()Z
HSPLandroid/graphics/Path;->isEmpty()Z
-HSPLandroid/graphics/Path;->lineTo(FF)V
HSPLandroid/graphics/Path;->moveTo(FF)V
HSPLandroid/graphics/Path;->reset()V
-HSPLandroid/graphics/Path;->rewind()V
HSPLandroid/graphics/Path;->set(Landroid/graphics/Path;)V
HSPLandroid/graphics/Path;->setFillType(Landroid/graphics/Path$FillType;)V
-HSPLandroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Path;->transform(Landroid/graphics/Matrix;Landroid/graphics/Path;)V
-HSPLandroid/graphics/PixelFormat;->formatHasAlpha(I)Z
-HSPLandroid/graphics/Point$1;-><init>()V
HSPLandroid/graphics/Point$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Point;
HSPLandroid/graphics/Point$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/graphics/Point;-><init>()V
HSPLandroid/graphics/Point;-><init>(II)V
-HSPLandroid/graphics/Point;-><init>(Landroid/graphics/Point;)V
HSPLandroid/graphics/Point;->equals(Ljava/lang/Object;)Z
-HSPLandroid/graphics/Point;->set(II)V
-HSPLandroid/graphics/Point;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/graphics/PointF$1;-><init>()V
HSPLandroid/graphics/PointF;-><init>()V
-HSPLandroid/graphics/PointF;-><init>(FF)V
-HSPLandroid/graphics/PointF;->length(FF)F
-HSPLandroid/graphics/PointF;->set(FF)V
-HSPLandroid/graphics/PorterDuff$Mode;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/PorterDuff;->intToMode(I)Landroid/graphics/PorterDuff$Mode;
HSPLandroid/graphics/PorterDuffColorFilter;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/PorterDuffColorFilter;->createNativeInstance()J
HSPLandroid/graphics/PorterDuffColorFilter;->getColor()I
-HSPLandroid/graphics/PorterDuffColorFilter;->getMode()Landroid/graphics/PorterDuff$Mode;
HSPLandroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/RadialGradient;-><init>(FFF[I[FLandroid/graphics/Shader$TileMode;)V
-HSPLandroid/graphics/RadialGradient;-><init>(FFF[J[FLandroid/graphics/Shader$TileMode;Landroid/graphics/ColorSpace;)V
-HSPLandroid/graphics/RadialGradient;->createNativeInstance(J)J
HSPLandroid/graphics/RecordingCanvas;->disableZ()V
HSPLandroid/graphics/RecordingCanvas;->drawRenderNode(Landroid/graphics/RenderNode;)V
HSPLandroid/graphics/RecordingCanvas;->enableZ()V
-HSPLandroid/graphics/RecordingCanvas;->getHeight()I
-HSPLandroid/graphics/RecordingCanvas;->getWidth()I
HSPLandroid/graphics/RecordingCanvas;->isHardwareAccelerated()Z
HSPLandroid/graphics/RecordingCanvas;->isRecordingFor(Ljava/lang/Object;)Z
HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas;
HSPLandroid/graphics/RecordingCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/Rect$1;-><init>()V
HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect;
HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/graphics/Rect;-><init>()V
@@ -5950,376 +3505,156 @@ HSPLandroid/graphics/Rect;-><init>(IIII)V
HSPLandroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
HSPLandroid/graphics/Rect;->centerX()I
HSPLandroid/graphics/Rect;->centerY()I
-HSPLandroid/graphics/Rect;->contains(II)Z
-HSPLandroid/graphics/Rect;->contains(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z
HSPLandroid/graphics/Rect;->exactCenterX()F
HSPLandroid/graphics/Rect;->exactCenterY()F
-HSPLandroid/graphics/Rect;->flattenToString()Ljava/lang/String;
HSPLandroid/graphics/Rect;->height()I
-HSPLandroid/graphics/Rect;->inset(Landroid/graphics/Insets;)V
-HSPLandroid/graphics/Rect;->inset(Landroid/graphics/Rect;)V
HSPLandroid/graphics/Rect;->intersect(IIII)Z
-HSPLandroid/graphics/Rect;->intersect(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/Rect;->intersectUnchecked(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/Rect;->intersects(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
HSPLandroid/graphics/Rect;->isEmpty()Z
HSPLandroid/graphics/Rect;->offset(II)V
+HSPLandroid/graphics/Rect;->offsetTo(II)V
HSPLandroid/graphics/Rect;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/graphics/Rect;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
HSPLandroid/graphics/Rect;->scale(F)V
HSPLandroid/graphics/Rect;->set(IIII)V
HSPLandroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
HSPLandroid/graphics/Rect;->setEmpty()V
-HSPLandroid/graphics/Rect;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String;
-HSPLandroid/graphics/Rect;->toString()Ljava/lang/String;
-HSPLandroid/graphics/Rect;->unflattenFromString(Ljava/lang/String;)Landroid/graphics/Rect;
+HSPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
HSPLandroid/graphics/Rect;->union(IIII)V
-HSPLandroid/graphics/Rect;->union(Landroid/graphics/Rect;)V
HSPLandroid/graphics/Rect;->width()I
HSPLandroid/graphics/Rect;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/graphics/Rect;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLandroid/graphics/RectF$1;-><init>()V
HSPLandroid/graphics/RectF;-><init>()V
HSPLandroid/graphics/RectF;-><init>(FFFF)V
HSPLandroid/graphics/RectF;-><init>(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/RectF;->centerX()F
-HSPLandroid/graphics/RectF;->centerY()F
-HSPLandroid/graphics/RectF;->height()F
-HSPLandroid/graphics/RectF;->inset(FF)V
-HSPLandroid/graphics/RectF;->intersect(FFFF)Z
-HSPLandroid/graphics/RectF;->offset(FF)V
-HSPLandroid/graphics/RectF;->round(Landroid/graphics/Rect;)V
HSPLandroid/graphics/RectF;->set(FFFF)V
HSPLandroid/graphics/RectF;->set(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/RectF;->set(Landroid/graphics/RectF;)V
HSPLandroid/graphics/RectF;->setEmpty()V
-HSPLandroid/graphics/RectF;->union(FFFF)V
-HSPLandroid/graphics/RectF;->union(Landroid/graphics/RectF;)V
HSPLandroid/graphics/RectF;->width()F
-HSPLandroid/graphics/Region$1;-><init>()V
-HSPLandroid/graphics/Region$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Region;
-HSPLandroid/graphics/Region$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/graphics/Region$Op;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Region;-><init>()V
-HSPLandroid/graphics/Region;->equals(Ljava/lang/Object;)Z
+HSPLandroid/graphics/Region;-><init>(J)V
HSPLandroid/graphics/Region;->finalize()V
-HSPLandroid/graphics/Region;->obtain()Landroid/graphics/Region;
-HSPLandroid/graphics/Region;->op(IIIILandroid/graphics/Region$Op;)Z
-HSPLandroid/graphics/Region;->op(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
-HSPLandroid/graphics/Region;->op(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z
-HSPLandroid/graphics/Region;->op(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z
-HSPLandroid/graphics/Region;->recycle()V
-HSPLandroid/graphics/Region;->set(IIII)Z
-HSPLandroid/graphics/Region;->set(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/Region;->set(Landroid/graphics/Region;)Z
HSPLandroid/graphics/Region;->setEmpty()V
-HSPLandroid/graphics/Region;->translate(II)V
-HSPLandroid/graphics/Region;->union(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/Region;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/graphics/RenderNode;->access$000()J
-HSPLandroid/graphics/RenderNode;->addAnimator(Landroid/view/RenderNodeAnimator;)V
-HSPLandroid/graphics/RenderNode;->addPositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V
-HSPLandroid/graphics/RenderNode;->beginRecording(II)Landroid/graphics/RecordingCanvas;
HSPLandroid/graphics/RenderNode;->create(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)Landroid/graphics/RenderNode;
-HSPLandroid/graphics/RenderNode;->discardDisplayList()V
-HPLandroid/graphics/RenderNode;->end(Landroid/graphics/RecordingCanvas;)V
-HSPLandroid/graphics/RenderNode;->endRecording()V
-HSPLandroid/graphics/RenderNode;->getClipToOutline()Z
-HSPLandroid/graphics/RenderNode;->getElevation()F
-HSPLandroid/graphics/RenderNode;->getInverseMatrix(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/RenderNode;->getPivotX()F
-HSPLandroid/graphics/RenderNode;->getPivotY()F
-HSPLandroid/graphics/RenderNode;->getRotationX()F
-HSPLandroid/graphics/RenderNode;->getRotationY()F
-HSPLandroid/graphics/RenderNode;->getRotationZ()F
-HSPLandroid/graphics/RenderNode;->getScaleX()F
-HSPLandroid/graphics/RenderNode;->getScaleY()F
-HSPLandroid/graphics/RenderNode;->getTranslationX()F
-HSPLandroid/graphics/RenderNode;->getTranslationY()F
-HSPLandroid/graphics/RenderNode;->getTranslationZ()F
HSPLandroid/graphics/RenderNode;->hasDisplayList()Z
-HSPLandroid/graphics/RenderNode;->hasIdentityMatrix()Z
-HSPLandroid/graphics/RenderNode;->isPivotExplicitlySet()Z
-HSPLandroid/graphics/RenderNode;->offsetTopAndBottom(I)Z
-HSPLandroid/graphics/RenderNode;->setAlpha(F)Z
-HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z
-HSPLandroid/graphics/RenderNode;->setBottom(I)Z
-HSPLandroid/graphics/RenderNode;->setClipRect(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/RenderNode;->setClipToBounds(Z)Z
-HSPLandroid/graphics/RenderNode;->setClipToOutline(Z)Z
-HSPLandroid/graphics/RenderNode;->setElevation(F)Z
-HSPLandroid/graphics/RenderNode;->setForceDarkAllowed(Z)Z
-HSPLandroid/graphics/RenderNode;->setHasOverlappingRendering(Z)Z
-HSPLandroid/graphics/RenderNode;->setLayerPaint(Landroid/graphics/Paint;)Z
-HSPLandroid/graphics/RenderNode;->setLayerType(I)Z
-HSPLandroid/graphics/RenderNode;->setLeft(I)Z
-HSPLandroid/graphics/RenderNode;->setLeftTopRightBottom(IIII)Z
HSPLandroid/graphics/RenderNode;->setOutline(Landroid/graphics/Outline;)Z
-HSPLandroid/graphics/RenderNode;->setPivotX(F)Z
-HSPLandroid/graphics/RenderNode;->setPivotY(F)Z
-HSPLandroid/graphics/RenderNode;->setProjectBackwards(Z)Z
-HSPLandroid/graphics/RenderNode;->setProjectionReceiver(Z)Z
-HSPLandroid/graphics/RenderNode;->setRight(I)Z
-HSPLandroid/graphics/RenderNode;->setRotationZ(F)Z
-HSPLandroid/graphics/RenderNode;->setScaleX(F)Z
-HSPLandroid/graphics/RenderNode;->setScaleY(F)Z
-HSPLandroid/graphics/RenderNode;->setTop(I)Z
-HSPLandroid/graphics/RenderNode;->setTranslationX(F)Z
-HSPLandroid/graphics/RenderNode;->setTranslationY(F)Z
-HSPLandroid/graphics/RenderNode;->setTranslationZ(F)Z
-HSPLandroid/graphics/RenderNode;->setUsageHint(I)V
-HPLandroid/graphics/RenderNode;->start(II)Landroid/graphics/RecordingCanvas;
-HSPLandroid/graphics/Shader$TileMode;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Shader;->access$000()J
HSPLandroid/graphics/Shader;->colorSpace()Landroid/graphics/ColorSpace;
HSPLandroid/graphics/Shader;->convertColors([I)[J
-HSPLandroid/graphics/Shader;->detectColorSpace([J)Landroid/graphics/ColorSpace;
HSPLandroid/graphics/Shader;->getNativeInstance()J
-HSPLandroid/graphics/Shader;->setLocalMatrix(Landroid/graphics/Matrix;)V
HSPLandroid/graphics/Shader;->verifyNativeInstance()V
-HSPLandroid/graphics/SurfaceTexture;-><init>(I)V
-HSPLandroid/graphics/SurfaceTexture;->finalize()V
-HSPLandroid/graphics/SurfaceTexture;->getTransformMatrix([F)V
-HSPLandroid/graphics/SurfaceTexture;->isSingleBuffered()Z
-HSPLandroid/graphics/SurfaceTexture;->postEventFromNative(Ljava/lang/ref/WeakReference;)V
-HSPLandroid/graphics/SurfaceTexture;->release()V
-HSPLandroid/graphics/SurfaceTexture;->updateTexImage()V
HSPLandroid/graphics/TemporaryBuffer;->obtain(I)[C
HSPLandroid/graphics/TemporaryBuffer;->recycle([C)V
-HSPLandroid/graphics/Typeface$Builder;->build()Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;
HSPLandroid/graphics/Typeface$CustomFallbackBuilder;-><init>(Landroid/graphics/fonts/FontFamily;)V
HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->build()Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;-><init>(J)V
HSPLandroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->create(Ljava/lang/String;I)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;Ljava/lang/String;II)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->createFromResources(Landroid/content/res/FontResourcesParser$FamilyResourceEntry;Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->getStyle()I
HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->initSystemDefaultTypefaces(Ljava/util/Map;Ljava/util/Map;[Landroid/text/FontConfig$Alias;)V
-HSPLandroid/graphics/Typeface;->registerGenericFamilyNative(Ljava/lang/String;Landroid/graphics/Typeface;)V
-HSPLandroid/graphics/Typeface;->setDefault(Landroid/graphics/Typeface;)V
-HSPLandroid/graphics/drawable/-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8;->run()V
-HSPLandroid/graphics/drawable/-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw;-><init>()V
-HSPLandroid/graphics/drawable/-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
-HSPLandroid/graphics/drawable/-$$Lambda$NinePatchDrawable$yQvfm7FAkslD5wdGFysjgwt8cLE;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;Landroid/graphics/drawable/AdaptiveIconDrawable;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/graphics/drawable/AdaptiveIconDrawable;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->invalidateCache()V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->isStateful()Z
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->newDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->createConstantState(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getOpacity()I
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->invalidateSelf()V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->isStateful()Z
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->jumpToCurrentState()V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateMaskBoundsInternal(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;-><init>(Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;Landroid/graphics/drawable/AnimatedStateListDrawable;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;I)I
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->addTransition(IILandroid/graphics/drawable/Drawable;Z)I
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->canApplyTheme()Z
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->generateTransitionKey(II)J
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->getKeyframeIdAt(I)I
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->indexOfKeyframe([I)I
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->indexOfTransition(II)I
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->isTransitionReversed(II)Z
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mutate()V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->transitionHasReversibleFlag(II)Z
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->start()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->stop()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->clearMutated()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->cloneConstantState()Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable;-><init>()V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable;-><init>(Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable;-><init>(Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;Landroid/content/res/Resources;Landroid/graphics/drawable/AnimatedStateListDrawable$1;)V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->isStateful()Z
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->init()V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->jumpToCurrentState()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->parseItem(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)I
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->parseTransition(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)I
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->selectTransition(I)Z
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$1;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$1;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/animation/Animator;
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;-><init>(IFLjava/lang/String;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/graphics/drawable/Drawable$Callback;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addPendingAnimator(IFLjava/lang/String;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addTargetAnimator(Ljava/lang/String;Landroid/animation/Animator;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->inflatePendingAnimators(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimator(I)Landroid/animation/Animator;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimators(Landroid/animation/AnimatorSet;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->callOnFinished(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createNativeChildAnimator(JJLandroid/animation/ObjectAnimator;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimator(Landroid/animation/ObjectAnimator;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForFullPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VFullPath;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VGroup;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VPath;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->end()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getAnimatorNativePtr()J
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getFrameCount(J)I
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->handlePendingAction(I)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->init(Landroid/animation/AnimatorSet;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isInfinite()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isStarted()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->parseAnimatorSet(Landroid/animation/AnimatorSet;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->pause()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->recordLastSeenTarget(Landroid/graphics/RecordingCanvas;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->start()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->startAnimation()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;-><init>()V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/content/res/Resources;Landroid/graphics/drawable/AnimatedVectorDrawable$1;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->access$400()Z
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->access$800()J
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->clearMutated()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->containsSameValueType(Landroid/animation/PropertyValuesHolder;Landroid/util/Property;)Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getOpacity()I
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->isStateful()Z
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setHotspot(FF)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->start()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->stop()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->updateAnimatorProperty(Landroid/animation/Animator;Ljava/lang/String;Landroid/graphics/drawable/VectorDrawable;Z)V
-HSPLandroid/graphics/drawable/AnimationDrawable$AnimationState;->growArray(II)V
-HSPLandroid/graphics/drawable/AnimationDrawable$AnimationState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimationDrawable;->clearMutated()V
-HSPLandroid/graphics/drawable/AnimationDrawable;->cloneConstantState()Landroid/graphics/drawable/AnimationDrawable$AnimationState;
-HSPLandroid/graphics/drawable/AnimationDrawable;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
-HSPLandroid/graphics/drawable/AnimationDrawable;->getDuration(I)I
-HSPLandroid/graphics/drawable/AnimationDrawable;->getNumberOfFrames()I
-HSPLandroid/graphics/drawable/AnimationDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimationDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimationDrawable;->isRunning()Z
-HSPLandroid/graphics/drawable/AnimationDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimationDrawable;->nextFrame(Z)V
-HSPLandroid/graphics/drawable/AnimationDrawable;->run()V
-HSPLandroid/graphics/drawable/AnimationDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
-HSPLandroid/graphics/drawable/AnimationDrawable;->setFrame(IZZ)V
-HSPLandroid/graphics/drawable/AnimationDrawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/AnimationDrawable;->start()V
-HSPLandroid/graphics/drawable/AnimationDrawable;->stop()V
-HSPLandroid/graphics/drawable/AnimationDrawable;->unscheduleSelf(Ljava/lang/Runnable;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->shouldIgnoreInvalidAnimation()Z
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;-><init>(Landroid/graphics/Bitmap;)V
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;-><init>(Landroid/graphics/drawable/BitmapDrawable$BitmapState;)V
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/BitmapDrawable;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;-><init>()V
HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/BitmapDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/BitmapDrawable;->clearMutated()V
HSPLandroid/graphics/drawable/BitmapDrawable;->computeBitmapSize()V
HSPLandroid/graphics/drawable/BitmapDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
HSPLandroid/graphics/drawable/BitmapDrawable;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/BitmapDrawable;->getColorFilter()Landroid/graphics/ColorFilter;
HSPLandroid/graphics/drawable/BitmapDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/BitmapDrawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/BitmapDrawable;->getIntrinsicWidth()I
HSPLandroid/graphics/drawable/BitmapDrawable;->getOpacity()I
-HSPLandroid/graphics/drawable/BitmapDrawable;->getOutline(Landroid/graphics/Outline;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/BitmapDrawable;->init(Landroid/graphics/drawable/BitmapDrawable$BitmapState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/BitmapDrawable;->isStateful()Z
HSPLandroid/graphics/drawable/BitmapDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/BitmapDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/BitmapDrawable;->setAlpha(I)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setBitmap(Landroid/graphics/Bitmap;)V
HSPLandroid/graphics/drawable/BitmapDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setDither(Z)V
HSPLandroid/graphics/drawable/BitmapDrawable;->setGravity(I)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setMipMap(Z)V
+HSPLandroid/graphics/drawable/BitmapDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
HSPLandroid/graphics/drawable/BitmapDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/drawable/BitmapDrawable;->updateDstRectAndInsetsIfDirty()V
-HSPLandroid/graphics/drawable/BitmapDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;I)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/BitmapDrawable;->updateLocalState(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/ColorDrawable$ColorState;-><init>()V
HSPLandroid/graphics/drawable/ColorDrawable$ColorState;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;)V
+HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/ColorDrawable;-><init>()V
HSPLandroid/graphics/drawable/ColorDrawable;-><init>(I)V
+HSPLandroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;Landroid/content/res/Resources;Landroid/graphics/drawable/ColorDrawable$1;)V
HSPLandroid/graphics/drawable/ColorDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/ColorDrawable;->clearMutated()V
HSPLandroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/ColorDrawable;->getAlpha()I
HSPLandroid/graphics/drawable/ColorDrawable;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/ColorDrawable;->getColor()I
-HSPLandroid/graphics/drawable/ColorDrawable;->getColorFilter()Landroid/graphics/ColorFilter;
HSPLandroid/graphics/drawable/ColorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/ColorDrawable;->getOpacity()I
HSPLandroid/graphics/drawable/ColorDrawable;->getOutline(Landroid/graphics/Outline;)V
HSPLandroid/graphics/drawable/ColorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/ColorDrawable;->isStateful()Z
HSPLandroid/graphics/drawable/ColorDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/ColorDrawable;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/ColorDrawable;->setAlpha(I)V
HSPLandroid/graphics/drawable/ColorDrawable;->setColor(I)V
-HSPLandroid/graphics/drawable/ColorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HSPLandroid/graphics/drawable/ColorDrawable;->updateLocalState(Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/ColorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/Drawable$ConstantState;-><init>()V
+HSPLandroid/graphics/drawable/Drawable$ConstantState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/Drawable$ConstantState;->newDrawable(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;-><init>()V
HSPLandroid/graphics/drawable/Drawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/Drawable;->clearColorFilter()V
-HSPLandroid/graphics/drawable/Drawable;->copyBounds()Landroid/graphics/Rect;
-HSPLandroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/Drawable;->createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Drawable;->createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Drawable;->createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->createFromXmlForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Drawable;->getBitmapDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Drawable;->createFromXmlInnerForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
HSPLandroid/graphics/drawable/Drawable;->getCallback()Landroid/graphics/drawable/Drawable$Callback;
HSPLandroid/graphics/drawable/Drawable;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/Drawable;->getColorFilter()Landroid/graphics/ColorFilter;
-HSPLandroid/graphics/drawable/Drawable;->getCurrent()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->getDirtyBounds()Landroid/graphics/Rect;
HSPLandroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
@@ -6327,21 +3662,21 @@ HSPLandroid/graphics/drawable/Drawable;->getLayoutDirection()I
HSPLandroid/graphics/drawable/Drawable;->getLevel()I
HSPLandroid/graphics/drawable/Drawable;->getMinimumHeight()I
HSPLandroid/graphics/drawable/Drawable;->getMinimumWidth()I
-HSPLandroid/graphics/drawable/Drawable;->getOutline(Landroid/graphics/Outline;)V
HSPLandroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/Drawable;->getState()[I
+HSPLandroid/graphics/drawable/Drawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/Drawable;->inflateWithAttributes(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/TypedArray;I)V
HSPLandroid/graphics/drawable/Drawable;->invalidateSelf()V
HSPLandroid/graphics/drawable/Drawable;->isProjected()Z
HSPLandroid/graphics/drawable/Drawable;->isStateful()Z
HSPLandroid/graphics/drawable/Drawable;->isVisible()Z
HSPLandroid/graphics/drawable/Drawable;->jumpToCurrentState()V
+HSPLandroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
HSPLandroid/graphics/drawable/Drawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/Drawable;->onLevelChange(I)Z
-HSPLandroid/graphics/drawable/Drawable;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/Drawable;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode;
HSPLandroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I
-HSPLandroid/graphics/drawable/Drawable;->scheduleSelf(Ljava/lang/Runnable;J)V
+HSPLandroid/graphics/drawable/Drawable;->scaleFromDensity(FII)F
+HSPLandroid/graphics/drawable/Drawable;->scaleFromDensity(IIIZ)I
HSPLandroid/graphics/drawable/Drawable;->setAutoMirrored(Z)V
HSPLandroid/graphics/drawable/Drawable;->setBounds(IIII)V
HSPLandroid/graphics/drawable/Drawable;->setBounds(Landroid/graphics/Rect;)V
@@ -6349,16 +3684,17 @@ HSPLandroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/
HSPLandroid/graphics/drawable/Drawable;->setChangingConfigurations(I)V
HSPLandroid/graphics/drawable/Drawable;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/drawable/Drawable;->setDither(Z)V
-HSPLandroid/graphics/drawable/Drawable;->setHotspot(FF)V
HSPLandroid/graphics/drawable/Drawable;->setLayoutDirection(I)Z
HSPLandroid/graphics/drawable/Drawable;->setLevel(I)Z
+HSPLandroid/graphics/drawable/Drawable;->setSrcDensityOverride(I)V
HSPLandroid/graphics/drawable/Drawable;->setState([I)Z
HSPLandroid/graphics/drawable/Drawable;->setTint(I)V
HSPLandroid/graphics/drawable/Drawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/Drawable;->unscheduleSelf(Ljava/lang/Runnable;)V
+HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;
HSPLandroid/graphics/drawable/Drawable;->updateTintFilter(Landroid/graphics/PorterDuffColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
+HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>()V
+HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>(Landroid/graphics/drawable/DrawableContainer$1;)V
HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unwrap()Landroid/graphics/drawable/Drawable$Callback;
HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->wrap(Landroid/graphics/drawable/Drawable$Callback;)Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V
@@ -6366,68 +3702,53 @@ HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->addChil
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->canConstantState()Z
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->computeConstantSize()V
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->createAllFutures()V
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getCapacity()I
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChild(I)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildCount()I
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getConstantPadding()Landroid/graphics/Rect;
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getOpacity()I
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->invalidateCache()V
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->isStateful()Z
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->prepareDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->setConstantSize(Z)V
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->setEnterFadeDuration(I)V
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->setExitFadeDuration(I)V
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->setVariablePadding(Z)V
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->updateDensity(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/DrawableContainer;-><init>()V
-HSPLandroid/graphics/drawable/DrawableContainer;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/DrawableContainer;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/DrawableContainer;->clearMutated()V
-HSPLandroid/graphics/drawable/DrawableContainer;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
-HSPLandroid/graphics/drawable/DrawableContainer;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/DrawableContainer;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/DrawableContainer;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/DrawableContainer;->getCurrent()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableContainer;->getCurrentIndex()I
-HSPLandroid/graphics/drawable/DrawableContainer;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/DrawableContainer;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/DrawableContainer;->getMinimumHeight()I
-HSPLandroid/graphics/drawable/DrawableContainer;->getMinimumWidth()I
-HSPLandroid/graphics/drawable/DrawableContainer;->getOpacity()I
-HSPLandroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets;
-HSPLandroid/graphics/drawable/DrawableContainer;->getOutline(Landroid/graphics/Outline;)V
HSPLandroid/graphics/drawable/DrawableContainer;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/DrawableContainer;->initializeDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/DrawableContainer;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/DrawableContainer;->isAutoMirrored()Z
-HSPLandroid/graphics/drawable/DrawableContainer;->isStateful()Z
HSPLandroid/graphics/drawable/DrawableContainer;->jumpToCurrentState()V
-HSPLandroid/graphics/drawable/DrawableContainer;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/DrawableContainer;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/DrawableContainer;->onLevelChange(I)Z
+HSPLandroid/graphics/drawable/DrawableContainer;->needsMirroring()Z
HSPLandroid/graphics/drawable/DrawableContainer;->onStateChange([I)Z
HSPLandroid/graphics/drawable/DrawableContainer;->selectDrawable(I)Z
-HSPLandroid/graphics/drawable/DrawableContainer;->setAlpha(I)V
HSPLandroid/graphics/drawable/DrawableContainer;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/DrawableContainer;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/DrawableContainer;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
HSPLandroid/graphics/drawable/DrawableContainer;->setDither(Z)V
-HSPLandroid/graphics/drawable/DrawableContainer;->setHotspot(FF)V
-HSPLandroid/graphics/drawable/DrawableContainer;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/DrawableContainer;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/drawable/DrawableContainer;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/DrawableContainer;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
HSPLandroid/graphics/drawable/DrawableContainer;->updateDensity(Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/DrawableInflater;-><init>(Landroid/content/res/Resources;Ljava/lang/ClassLoader;)V
HSPLandroid/graphics/drawable/DrawableInflater;->inflateFromClass(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableInflater;->inflateFromTag(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableInflater;->inflateFromXmlForDensity(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;-><init>(Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->access$002(Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;[I)[I
HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->canConstantState()Z
HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->onDensityChanged(II)V
-HSPLandroid/graphics/drawable/DrawableWrapper;->applyTheme(Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;->setDensity(I)V
+HSPLandroid/graphics/drawable/DrawableWrapper;-><init>(Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/DrawableWrapper;->clearMutated()V
-HSPLandroid/graphics/drawable/DrawableWrapper;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/DrawableWrapper;->getColorFilter()Landroid/graphics/ColorFilter;
HSPLandroid/graphics/drawable/DrawableWrapper;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/DrawableWrapper;->getDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableWrapper;->getIntrinsicHeight()I
@@ -6437,39 +3758,37 @@ HSPLandroid/graphics/drawable/DrawableWrapper;->inflate(Landroid/content/res/Res
HSPLandroid/graphics/drawable/DrawableWrapper;->inflateChildDrawable(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->isStateful()Z
+HSPLandroid/graphics/drawable/DrawableWrapper;->jumpToCurrentState()V
HSPLandroid/graphics/drawable/DrawableWrapper;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/DrawableWrapper;->onBoundsChange(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/DrawableWrapper;->setAlpha(I)V
-HSPLandroid/graphics/drawable/DrawableWrapper;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->setDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/DrawableWrapper;->setHotspot(FF)V
-HSPLandroid/graphics/drawable/DrawableWrapper;->setTintList(Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/DrawableWrapper;->updateLocalState(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->access$100(Landroid/graphics/drawable/GradientDrawable$GradientState;)V
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->applyDensityScaling(II)V
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->computeOpacity()V
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->getChangingConfigurations()I
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->hasCenterColor()Z
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/GradientDrawable$Orientation;-><init>(Ljava/lang/String;I)V
-HSPLandroid/graphics/drawable/GradientDrawable$Orientation;->values()[Landroid/graphics/drawable/GradientDrawable$Orientation;
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->setCornerRadii([F)V
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->setCornerRadius(F)V
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->setDensity(I)V
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->setGradientColors([I)V
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->setSolidColors(Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/GradientDrawable;-><init>()V
HSPLandroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V
-HSPLandroid/graphics/drawable/GradientDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->applyThemeChildElements(Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;Landroid/graphics/drawable/GradientDrawable$1;)V
HSPLandroid/graphics/drawable/GradientDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/GradientDrawable;->clearMutated()V
HSPLandroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/GradientDrawable;->ensureValidRect()Z
HSPLandroid/graphics/drawable/GradientDrawable;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/GradientDrawable;->getColorFilter()Landroid/graphics/ColorFilter;
HSPLandroid/graphics/drawable/GradientDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
+HSPLandroid/graphics/drawable/GradientDrawable;->getFloatOrFraction(Landroid/content/res/TypedArray;IF)F
HSPLandroid/graphics/drawable/GradientDrawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/GradientDrawable;->getIntrinsicWidth()I
HSPLandroid/graphics/drawable/GradientDrawable;->getOpacity()I
@@ -6477,88 +3796,78 @@ HSPLandroid/graphics/drawable/GradientDrawable;->getOutline(Landroid/graphics/Ou
HSPLandroid/graphics/drawable/GradientDrawable;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/GradientDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/GradientDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/GradientDrawable;->isOpaque(I)Z
HSPLandroid/graphics/drawable/GradientDrawable;->isOpaqueForState()Z
HSPLandroid/graphics/drawable/GradientDrawable;->isStateful()Z
HSPLandroid/graphics/drawable/GradientDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/GradientDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->onLevelChange(I)Z
-HSPLandroid/graphics/drawable/GradientDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/GradientDrawable;->setAlpha(I)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setColor(I)V
HSPLandroid/graphics/drawable/GradientDrawable;->setColor(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/GradientDrawable;->setCornerRadii([F)V
HSPLandroid/graphics/drawable/GradientDrawable;->setCornerRadius(F)V
HSPLandroid/graphics/drawable/GradientDrawable;->setDither(Z)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setGradientRadius(F)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setGradientType(I)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setShape(I)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(II)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(IIFF)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(ILandroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(ILandroid/content/res/ColorStateList;FF)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setStrokeInternal(IIFF)V
HSPLandroid/graphics/drawable/GradientDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/GradientDrawable;->updateDrawableCorners(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableGradient(Landroid/content/res/Resources;Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawablePadding(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSize(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableStroke(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSolid(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/GradientDrawable;->updateLocalState(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/GradientDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/Icon$1;-><init>()V
HSPLandroid/graphics/drawable/Icon$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/drawable/Icon;
HSPLandroid/graphics/drawable/Icon$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/graphics/drawable/Icon;-><init>(I)V
HSPLandroid/graphics/drawable/Icon;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/graphics/drawable/Icon;->createFromStream(Ljava/io/InputStream;)Landroid/graphics/drawable/Icon;
+HSPLandroid/graphics/drawable/Icon;-><init>(Landroid/os/Parcel;Landroid/graphics/drawable/Icon$1;)V
HSPLandroid/graphics/drawable/Icon;->createWithBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Icon;
HSPLandroid/graphics/drawable/Icon;->createWithResource(Landroid/content/Context;I)Landroid/graphics/drawable/Icon;
HSPLandroid/graphics/drawable/Icon;->createWithResource(Ljava/lang/String;I)Landroid/graphics/drawable/Icon;
HSPLandroid/graphics/drawable/Icon;->getBitmap()Landroid/graphics/Bitmap;
HSPLandroid/graphics/drawable/Icon;->getResId()I
HSPLandroid/graphics/drawable/Icon;->getResPackage()Ljava/lang/String;
-HSPLandroid/graphics/drawable/Icon;->getResources()Landroid/content/res/Resources;
HSPLandroid/graphics/drawable/Icon;->getType()I
-HSPLandroid/graphics/drawable/Icon;->loadDrawable(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Icon;->loadDrawableInner(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Icon;->scaleDownIfNecessary(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/drawable/Icon;->setTint(I)Landroid/graphics/drawable/Icon;
+HSPLandroid/graphics/drawable/Icon;->setBitmap(Landroid/graphics/Bitmap;)V
HSPLandroid/graphics/drawable/Icon;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/graphics/drawable/Icon;->writeToStream(Ljava/io/OutputStream;)V
HSPLandroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->access$002(Landroid/graphics/drawable/InsetDrawable$InsetState;[I)[I
+HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->applyDensityScaling(II)V
HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->onDensityChanged(II)V
-HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;I)V
-HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/graphics/drawable/InsetDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/InsetDrawable$InsetValue;-><init>()V
+HSPLandroid/graphics/drawable/InsetDrawable$InsetValue;-><init>(FI)V
+HSPLandroid/graphics/drawable/InsetDrawable$InsetValue;->getDimension(I)I
+HSPLandroid/graphics/drawable/InsetDrawable$InsetValue;->scaleFromDensity(II)V
+HSPLandroid/graphics/drawable/InsetDrawable;-><init>()V
+HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;Landroid/graphics/drawable/InsetDrawable$1;)V
HSPLandroid/graphics/drawable/InsetDrawable;->getInset(Landroid/content/res/TypedArray;ILandroid/graphics/drawable/InsetDrawable$InsetValue;)Landroid/graphics/drawable/InsetDrawable$InsetValue;
HSPLandroid/graphics/drawable/InsetDrawable;->getInsets(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/InsetDrawable;->getOpacity()I
-HSPLandroid/graphics/drawable/InsetDrawable;->getOutline(Landroid/graphics/Outline;)V
HSPLandroid/graphics/drawable/InsetDrawable;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/InsetDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/InsetDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-HSPLandroid/graphics/drawable/InsetDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/InsetDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/InsetDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(I)V
HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->canApplyTheme()Z
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->access$002(Landroid/graphics/drawable/LayerDrawable$LayerState;[I)[I
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->access$200(Landroid/graphics/drawable/LayerDrawable$LayerState;)I
+HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->access$202(Landroid/graphics/drawable/LayerDrawable$LayerState;I)I
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->applyDensityScaling(II)V
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->canApplyTheme()Z
+HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->canConstantState()Z
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->getOpacity()I
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->invalidateCache()V
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->isStateful()Z
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->onDensityChanged(II)V
+HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->setDensity(I)V
+HSPLandroid/graphics/drawable/LayerDrawable;-><init>()V
HSPLandroid/graphics/drawable/LayerDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/LayerDrawable$LayerState;)V
-HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/Drawable;[IIIIII)Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;)I
HSPLandroid/graphics/drawable/LayerDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/LayerDrawable;->canApplyTheme()Z
@@ -6566,85 +3875,46 @@ HSPLandroid/graphics/drawable/LayerDrawable;->clearMutated()V
HSPLandroid/graphics/drawable/LayerDrawable;->computeNestedPadding(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/LayerDrawable;->computeStackedPadding(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/LayerDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
-HSPLandroid/graphics/drawable/LayerDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/LayerDrawable;->ensurePadding()V
HSPLandroid/graphics/drawable/LayerDrawable;->findDrawableByLayerId(I)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/LayerDrawable;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/LayerDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicWidth()I
HSPLandroid/graphics/drawable/LayerDrawable;->getNumberOfLayers()I
HSPLandroid/graphics/drawable/LayerDrawable;->getOpacity()I
-HSPLandroid/graphics/drawable/LayerDrawable;->getOutline(Landroid/graphics/Outline;)V
HSPLandroid/graphics/drawable/LayerDrawable;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/LayerDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/LayerDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/LayerDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/LayerDrawable;->isAutoMirrored()Z
-HSPLandroid/graphics/drawable/LayerDrawable;->isProjected()Z
HSPLandroid/graphics/drawable/LayerDrawable;->isStateful()Z
HSPLandroid/graphics/drawable/LayerDrawable;->jumpToCurrentState()V
HSPLandroid/graphics/drawable/LayerDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/LayerDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z
HSPLandroid/graphics/drawable/LayerDrawable;->refreshPadding()V
HSPLandroid/graphics/drawable/LayerDrawable;->resolveGravity(IIIII)I
-HSPLandroid/graphics/drawable/LayerDrawable;->setAlpha(I)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setDither(Z)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setDrawable(ILandroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setHotspot(FF)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setId(II)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/graphics/drawable/LayerDrawable;->setPaddingMode(I)V
HSPLandroid/graphics/drawable/LayerDrawable;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/LayerDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>()V
HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZ)V
-HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->newDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/NinePatchDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/NinePatchDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/NinePatchDrawable;->clearMutated()V
HSPLandroid/graphics/drawable/NinePatchDrawable;->computeBitmapSize()V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getAlpha()I
HSPLandroid/graphics/drawable/NinePatchDrawable;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/NinePatchDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getOpacity()I
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getOpticalInsets()Landroid/graphics/Insets;
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getOutline(Landroid/graphics/Outline;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getPadding(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/drawable/NinePatchDrawable;->getPaint()Landroid/graphics/Paint;
-HSPLandroid/graphics/drawable/NinePatchDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->isAutoMirrored()Z
-HSPLandroid/graphics/drawable/NinePatchDrawable;->isStateful()Z
-HSPLandroid/graphics/drawable/NinePatchDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/NinePatchDrawable;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setDither(Z)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/NinePatchDrawable;->updateLocalState(Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/RippleBackground$1;-><init>(Ljava/lang/String;)V
HSPLandroid/graphics/drawable/RippleDrawable$RippleState;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/RippleDrawable;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->applyDensityScaling(II)V
HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->onDensityChanged(II)V
-HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/graphics/drawable/RippleDrawable;-><init>()V
HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;Landroid/graphics/drawable/RippleDrawable$1;)V
HSPLandroid/graphics/drawable/RippleDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/RippleDrawable;->canApplyTheme()Z
HSPLandroid/graphics/drawable/RippleDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
@@ -6653,10 +3923,8 @@ HSPLandroid/graphics/drawable/RippleDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/RippleDrawable;->drawBackgroundAndRipples(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/RippleDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/RippleDrawable;->getDirtyBounds()Landroid/graphics/Rect;
-HSPLandroid/graphics/drawable/RippleDrawable;->getMaskType()I
HSPLandroid/graphics/drawable/RippleDrawable;->getOpacity()I
HSPLandroid/graphics/drawable/RippleDrawable;->getOutline(Landroid/graphics/Outline;)V
-HSPLandroid/graphics/drawable/RippleDrawable;->getRipplePaint()Landroid/graphics/Paint;
HSPLandroid/graphics/drawable/RippleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf()V
HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf(Z)V
@@ -6669,164 +3937,79 @@ HSPLandroid/graphics/drawable/RippleDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/RippleDrawable;->pruneRipples()V
HSPLandroid/graphics/drawable/RippleDrawable;->setBackgroundActive(ZZZ)V
HSPLandroid/graphics/drawable/RippleDrawable;->setColor(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/RippleDrawable;->setHotspot(FF)V
-HSPLandroid/graphics/drawable/RippleDrawable;->setHotspotBounds(IIII)V
HSPLandroid/graphics/drawable/RippleDrawable;->setPaddingMode(I)V
HSPLandroid/graphics/drawable/RippleDrawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/RippleDrawable;->tryRippleEnter()V
-HSPLandroid/graphics/drawable/RippleDrawable;->tryRippleExit()V
-HSPLandroid/graphics/drawable/RippleDrawable;->updateMaskShaderIfNeeded()V
+HSPLandroid/graphics/drawable/RippleDrawable;->updateLocalState()V
HSPLandroid/graphics/drawable/RippleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/RippleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/RippleForeground$1;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/graphics/drawable/RippleForeground$2;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/RippleForeground$2;->get(Landroid/graphics/drawable/RippleForeground;)Ljava/lang/Float;
-HSPLandroid/graphics/drawable/RippleForeground$2;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/graphics/drawable/RippleForeground$2;->setValue(Landroid/graphics/drawable/RippleForeground;F)V
-HSPLandroid/graphics/drawable/RippleForeground$2;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/RippleForeground$3;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/RippleForeground$3;->get(Landroid/graphics/drawable/RippleForeground;)Ljava/lang/Float;
-HSPLandroid/graphics/drawable/RippleForeground$3;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/graphics/drawable/RippleForeground$3;->setValue(Landroid/graphics/drawable/RippleForeground;F)V
-HSPLandroid/graphics/drawable/RippleForeground$3;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/RippleForeground$4;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/RippleForeground$4;->get(Landroid/graphics/drawable/RippleForeground;)Ljava/lang/Float;
-HSPLandroid/graphics/drawable/RippleForeground$4;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/graphics/drawable/RippleForeground$4;->setValue(Landroid/graphics/drawable/RippleForeground;F)V
-HSPLandroid/graphics/drawable/RippleForeground$4;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/RippleForeground;-><init>(Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;FFZ)V
-HSPLandroid/graphics/drawable/RippleForeground;->clampStartingPosition()V
-HSPLandroid/graphics/drawable/RippleForeground;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/RippleForeground;->drawSoftware(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/RippleForeground;->end()V
-HSPLandroid/graphics/drawable/RippleForeground;->getBounds(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/RippleForeground;->hasFinishedExit()Z
-HSPLandroid/graphics/drawable/RippleForeground;->move(FF)V
-HSPLandroid/graphics/drawable/RippleForeground;->onTargetRadiusChanged(F)V
-HSPLandroid/graphics/drawable/RippleForeground;->pruneHwFinished()V
-HSPLandroid/graphics/drawable/RippleForeground;->pruneSwFinished()V
-HSPLandroid/graphics/drawable/RippleForeground;->startHardwareEnter()V
-HSPLandroid/graphics/drawable/RippleForeground;->startHardwareExit()V
-HSPLandroid/graphics/drawable/RippleForeground;->startPending(Landroid/graphics/RecordingCanvas;)V
-HSPLandroid/graphics/drawable/RippleForeground;->startSoftwareEnter()V
-HSPLandroid/graphics/drawable/RippleForeground;->startSoftwareExit()V
-HSPLandroid/graphics/drawable/RippleForeground;->switchToUiThreadAnimation()V
HSPLandroid/graphics/drawable/RotateDrawable$RotateState;-><init>(Landroid/graphics/drawable/RotateDrawable$RotateState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/RotateDrawable$RotateState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/RotateDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/RotateDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/RotateDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/ScaleDrawable$ScaleState;-><init>(Landroid/graphics/drawable/ScaleDrawable$ScaleState;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/ScaleDrawable$ScaleState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/ScaleDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/ScaleDrawable;->draw(Landroid/graphics/Canvas;)V
+HSPLandroid/graphics/drawable/ScaleDrawable$ScaleState;->access$002(Landroid/graphics/drawable/ScaleDrawable$ScaleState;[I)[I
+HSPLandroid/graphics/drawable/ScaleDrawable;-><init>()V
+HSPLandroid/graphics/drawable/ScaleDrawable;-><init>(Landroid/graphics/drawable/ScaleDrawable$ScaleState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/ScaleDrawable;->getPercent(Landroid/content/res/TypedArray;IF)F
HSPLandroid/graphics/drawable/ScaleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/ScaleDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-HSPLandroid/graphics/drawable/ScaleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/ScaleDrawable;->onLevelChange(I)Z
+HSPLandroid/graphics/drawable/ScaleDrawable;->updateLocalState()V
HSPLandroid/graphics/drawable/ScaleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/ScaleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/ShapeDrawable$ShapeState;-><init>(Landroid/graphics/drawable/ShapeDrawable$ShapeState;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;-><init>()V
HSPLandroid/graphics/drawable/ShapeDrawable;-><init>(Landroid/graphics/drawable/shapes/Shape;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->getAlpha()I
-HSPLandroid/graphics/drawable/ShapeDrawable;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/ShapeDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/ShapeDrawable;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/ShapeDrawable;->getIntrinsicWidth()I
HSPLandroid/graphics/drawable/ShapeDrawable;->getOpacity()I
-HSPLandroid/graphics/drawable/ShapeDrawable;->getOutline(Landroid/graphics/Outline;)V
HSPLandroid/graphics/drawable/ShapeDrawable;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/ShapeDrawable;->getPaint()Landroid/graphics/Paint;
HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z
-HSPLandroid/graphics/drawable/ShapeDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/ShapeDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->onDraw(Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->setAlpha(I)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicHeight(I)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicWidth(I)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->setShape(Landroid/graphics/drawable/shapes/Shape;)V
-HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V
+HSPLandroid/graphics/drawable/StateListDrawable$StateListState;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/graphics/drawable/StateListDrawable;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;)I
HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->indexOfStateSet([I)I
-HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->mutate()V
-HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/StateListDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/StateListDrawable;->clearMutated()V
-HSPLandroid/graphics/drawable/StateListDrawable;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
-HSPLandroid/graphics/drawable/StateListDrawable;->cloneConstantState()Landroid/graphics/drawable/StateListDrawable$StateListState;
+HSPLandroid/graphics/drawable/StateListDrawable;-><init>()V
+HSPLandroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;)V
+HSPLandroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/StateListDrawable;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/content/res/Resources;Landroid/graphics/drawable/StateListDrawable$1;)V
HSPLandroid/graphics/drawable/StateListDrawable;->extractStateSet(Landroid/util/AttributeSet;)[I
HSPLandroid/graphics/drawable/StateListDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/StateListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/StateListDrawable;->isStateful()Z
-HSPLandroid/graphics/drawable/StateListDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/StateListDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/StateListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
HSPLandroid/graphics/drawable/StateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/TransitionDrawable$TransitionState;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/TransitionDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/TransitionDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
-HSPLandroid/graphics/drawable/TransitionDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/TransitionDrawable;->startTransition(I)V
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->getNativePtr()J
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->getNativeSize()I
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->isStateful()Z
-HSPLandroid/graphics/drawable/VectorDrawable$VClipPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$10;-><init>()V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$1;-><init>()V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$2;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$3;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$4;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$5;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$6;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$7;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$8;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$9;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->applyTheme(Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;-><init>()V
+HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;-><init>(Landroid/graphics/drawable/VectorDrawable$VFullPath;)V
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getFillColor()I
+HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->canComplexColorApplyTheme(Landroid/content/res/ComplexColor;)Z
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getNativePtr()J
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getNativeSize()I
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getPropertyIndex(Ljava/lang/String;)I
+HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->isStateful()Z
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$1;-><init>()V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$2;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$3;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$4;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$5;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$6;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$7;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$8;-><init>(Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$9;-><init>()V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>()V
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>(Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/util/ArrayMap;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->access$100(Landroid/graphics/drawable/VectorDrawable$VGroup;)I
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->access$200(Landroid/graphics/drawable/VectorDrawable$VGroup;)J
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->addChild(Landroid/graphics/drawable/VectorDrawable$VObject;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->canApplyTheme()Z
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getGroupName()Ljava/lang/String;
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativePtr()J
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativeSize()I
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getProperty(Ljava/lang/String;)Landroid/util/Property;
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->isStateful()Z
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VObject;->isTreeValid()Z
+HSPLandroid/graphics/drawable/VectorDrawable$VObject;-><init>()V
HSPLandroid/graphics/drawable/VectorDrawable$VObject;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VPath$1;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState$1;-><init>(Ljava/lang/String;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VPath;-><init>()V
+HSPLandroid/graphics/drawable/VectorDrawable$VPath;-><init>(Landroid/graphics/drawable/VectorDrawable$VPath;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VPath;->getPathName()Ljava/lang/String;
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->access$000(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyDensityScaling(II)V
-HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canApplyTheme()Z
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canReuseCache()Z
+HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTree(Landroid/graphics/drawable/VectorDrawable$VGroup;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTreeFromCopy(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->finalize()V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getAlpha()F
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getChangingConfigurations()I
@@ -6834,17 +4017,32 @@ HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getNativeRend
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->isStateful()Z
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onStateChange([I)Z
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onTreeConstructionFinished()V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setAlpha(F)Z
+HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setDensity(I)Z
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setViewportSize(FF)V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->updateCacheStates()V
+HSPLandroid/graphics/drawable/VectorDrawable;-><init>()V
+HSPLandroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;Landroid/graphics/drawable/VectorDrawable$1;)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$1600(J)J
+HSPLandroid/graphics/drawable/VectorDrawable;->access$1700()J
+HSPLandroid/graphics/drawable/VectorDrawable;->access$1800(JJ)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$1900(J[FI)Z
HSPLandroid/graphics/drawable/VectorDrawable;->access$2000(JLjava/lang/String;)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$2100(JFFFFFFF)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$300(J)J
HSPLandroid/graphics/drawable/VectorDrawable;->access$3900(JLjava/lang/String;I)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$400(JJ)J
+HSPLandroid/graphics/drawable/VectorDrawable;->access$4800()J
+HSPLandroid/graphics/drawable/VectorDrawable;->access$4900(J)J
HSPLandroid/graphics/drawable/VectorDrawable;->access$5200(J[BI)Z
HSPLandroid/graphics/drawable/VectorDrawable;->access$5300(JJ)V
HSPLandroid/graphics/drawable/VectorDrawable;->access$5400(JJ)V
HSPLandroid/graphics/drawable/VectorDrawable;->access$5500(JFIFIFFFFFIII)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$600(JFF)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$700(JF)Z
+HSPLandroid/graphics/drawable/VectorDrawable;->access$800(J)F
HSPLandroid/graphics/drawable/VectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable;->canApplyTheme()Z
HSPLandroid/graphics/drawable/VectorDrawable;->clearMutated()V
@@ -6852,65 +4050,30 @@ HSPLandroid/graphics/drawable/VectorDrawable;->computeVectorSize()V
HSPLandroid/graphics/drawable/VectorDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/VectorDrawable;->getAlpha()I
HSPLandroid/graphics/drawable/VectorDrawable;->getChangingConfigurations()I
-HSPLandroid/graphics/drawable/VectorDrawable;->getColorFilter()Landroid/graphics/ColorFilter;
HSPLandroid/graphics/drawable/VectorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/VectorDrawable;->getNativeTree()J
HSPLandroid/graphics/drawable/VectorDrawable;->getOpacity()I
HSPLandroid/graphics/drawable/VectorDrawable;->getPixelSize()F
-HSPLandroid/graphics/drawable/VectorDrawable;->getTargetByName(Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/graphics/drawable/VectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable;->isAutoMirrored()Z
HSPLandroid/graphics/drawable/VectorDrawable;->isStateful()Z
HSPLandroid/graphics/drawable/VectorDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/VectorDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/VectorDrawable;->setAllowCaching(Z)V
-HSPLandroid/graphics/drawable/VectorDrawable;->setAlpha(I)V
HSPLandroid/graphics/drawable/VectorDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/VectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/VectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/VectorDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/VectorDrawable;->updateLocalState(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/VectorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/shapes/OvalShape;-><init>()V
-HSPLandroid/graphics/drawable/shapes/OvalShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/shapes/OvalShape;->getOutline(Landroid/graphics/Outline;)V
-HSPLandroid/graphics/drawable/shapes/PathShape;-><init>(Landroid/graphics/Path;FF)V
-HSPLandroid/graphics/drawable/shapes/PathShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/shapes/PathShape;->onResize(FF)V
-HSPLandroid/graphics/drawable/shapes/RectShape;->onResize(FF)V
-HSPLandroid/graphics/drawable/shapes/RoundRectShape;-><init>([FLandroid/graphics/RectF;[F)V
-HSPLandroid/graphics/drawable/shapes/RoundRectShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/drawable/shapes/RoundRectShape;->onResize(FF)V
HSPLandroid/graphics/fonts/Font$Builder;-><init>(Ljava/nio/ByteBuffer;)V
HSPLandroid/graphics/fonts/Font$Builder;->build()Landroid/graphics/fonts/Font;
-HSPLandroid/graphics/fonts/Font$Builder;->setFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Landroid/graphics/fonts/Font$Builder;
HSPLandroid/graphics/fonts/Font$Builder;->setWeight(I)Landroid/graphics/fonts/Font$Builder;
HSPLandroid/graphics/fonts/Font;-><init>(JLjava/nio/ByteBuffer;Ljava/io/File;Landroid/graphics/fonts/FontStyle;I[Landroid/graphics/fonts/FontVariationAxis;Ljava/lang/String;)V
-HSPLandroid/graphics/fonts/FontCustomizationParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/graphics/fonts/FontCustomizationParser$Result;
-HSPLandroid/graphics/fonts/FontCustomizationParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Landroid/graphics/fonts/FontCustomizationParser$Result;)V
-HSPLandroid/graphics/fonts/FontCustomizationParser;->validate(Landroid/graphics/fonts/FontCustomizationParser$Result;)V
HSPLandroid/graphics/fonts/FontFamily$Builder;-><init>(Landroid/graphics/fonts/Font;)V
-HSPLandroid/graphics/fonts/FontFamily$Builder;->addFont(Landroid/graphics/fonts/Font;)Landroid/graphics/fonts/FontFamily$Builder;
-HSPLandroid/graphics/fonts/FontFamily$Builder;->build()Landroid/graphics/fonts/FontFamily;
HSPLandroid/graphics/fonts/FontFamily$Builder;->build(Ljava/lang/String;IZ)Landroid/graphics/fonts/FontFamily;
-HSPLandroid/graphics/fonts/FontFamily;->getFont(I)Landroid/graphics/fonts/Font;
-HSPLandroid/graphics/fonts/FontFamily;->getSize()I
HSPLandroid/graphics/fonts/FontStyle;-><init>(II)V
-HSPLandroid/graphics/fonts/FontStyle;->getMatchScore(Landroid/graphics/fonts/FontStyle;)I
-HSPLandroid/graphics/fonts/FontVariationAxis;-><init>(Ljava/lang/String;F)V
HSPLandroid/graphics/fonts/FontVariationAxis;->fromFontVariationSettings(Ljava/lang/String;)[Landroid/graphics/fonts/FontVariationAxis;
-HSPLandroid/graphics/fonts/SystemFonts;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLandroid/graphics/fonts/SystemFonts;->appendNamedFamily(Landroid/text/FontConfig$Family;Ljava/util/HashMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;)V
-HSPLandroid/graphics/fonts/SystemFonts;->buildSystemFallback(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/fonts/FontCustomizationParser$Result;Landroid/util/ArrayMap;Ljava/util/ArrayList;)[Landroid/text/FontConfig$Alias;
-HSPLandroid/graphics/fonts/SystemFonts;->createFontFamily(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILjava/util/Map;Ljava/util/ArrayList;)Landroid/graphics/fonts/FontFamily;
-HSPLandroid/graphics/fonts/SystemFonts;->getAliases()[Landroid/text/FontConfig$Alias;
-HSPLandroid/graphics/fonts/SystemFonts;->getRawSystemFallbackMap()Ljava/util/Map;
-HSPLandroid/graphics/fonts/SystemFonts;->mmap(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-HSPLandroid/graphics/fonts/SystemFonts;->pushFamilyToFallback(Landroid/text/FontConfig$Family;Landroid/util/ArrayMap;Ljava/util/Map;Ljava/util/ArrayList;)V
-HSPLandroid/graphics/fonts/SystemFonts;->readFontCustomization(Ljava/lang/String;Ljava/lang/String;)Landroid/graphics/fonts/FontCustomizationParser$Result;
HSPLandroid/graphics/text/LineBreaker$Builder;-><init>()V
HSPLandroid/graphics/text/LineBreaker$Builder;->build()Landroid/graphics/text/LineBreaker;
HSPLandroid/graphics/text/LineBreaker$ParagraphConstraints;-><init>()V
@@ -6922,296 +4085,63 @@ HSPLandroid/graphics/text/LineBreaker$Result;->getLineDescent(I)F
HSPLandroid/graphics/text/LineBreaker$Result;->getLineWidth(I)F
HSPLandroid/graphics/text/LineBreaker$Result;->getStartLineHyphenEdit(I)I
HSPLandroid/graphics/text/LineBreaker$Result;->hasLineTab(I)Z
-HSPLandroid/graphics/text/LineBreaker;->access$100()J
HSPLandroid/graphics/text/LineBreaker;->computeLineBreaks(Landroid/graphics/text/MeasuredText;Landroid/graphics/text/LineBreaker$ParagraphConstraints;I)Landroid/graphics/text/LineBreaker$Result;
-HSPLandroid/graphics/text/MeasuredText$Builder;-><init>([C)V
-HSPLandroid/graphics/text/MeasuredText$Builder;->appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder;
HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder;
HSPLandroid/graphics/text/MeasuredText$Builder;->build()Landroid/graphics/text/MeasuredText;
-HSPLandroid/graphics/text/MeasuredText;->access$000()J
-HSPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F
HSPLandroid/graphics/text/MeasuredText;->getChars()[C
HSPLandroid/graphics/text/MeasuredText;->getNativePtr()J
-PLandroid/gsi/IGsiService$Stub$Proxy;->isGsiInstalled()Z
-PLandroid/gsi/IGsiService$Stub$Proxy;->isGsiRunning()Z
-PLandroid/gsi/IGsiService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/gsi/IGsiService;
-HSPLandroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
-HSPLandroid/hardware/CameraStatus$1;-><init>()V
-HSPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/CameraStatus;
-HSPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/CameraStatus$1;->newArray(I)[Landroid/hardware/CameraStatus;
-HSPLandroid/hardware/CameraStatus$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/hardware/GeomagneticField$LegendreTable;-><init>(IF)V
-HSPLandroid/hardware/GeomagneticField;-><init>(FFFJ)V
-HSPLandroid/hardware/GeomagneticField;->computeGeocentricCoordinates(FFF)V
-HSPLandroid/hardware/GeomagneticField;->computeSchmidtQuasiNormFactors(I)[[F
-HSPLandroid/hardware/GeomagneticField;->getDeclination()F
-HSPLandroid/hardware/GeomagneticField;->getFieldStrength()F
-HSPLandroid/hardware/GeomagneticField;->getHorizontalStrength()F
-HPLandroid/hardware/GeomagneticField;->getInclination()F
-HSPLandroid/hardware/HardwareBuffer$1;-><init>()V
-HSPLandroid/hardware/HardwareBuffer;-><init>(J)V
-HSPLandroid/hardware/HardwareBuffer;->createFromGraphicBuffer(Landroid/graphics/GraphicBuffer;)Landroid/hardware/HardwareBuffer;
-HSPLandroid/hardware/HardwareBuffer;->finalize()V
-HSPLandroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
-HSPLandroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HSPLandroid/hardware/ICameraService$Stub$Proxy;->isHiddenPhysicalCamera(Ljava/lang/String;)Z
-HSPLandroid/hardware/ICameraService$Stub$Proxy;->notifySystemEvent(I[I)V
-HSPLandroid/hardware/ICameraService$Stub$Proxy;->supportsCameraApi(Ljava/lang/String;I)Z
+HSPLandroid/hardware/ICameraService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService;
-HSPLandroid/hardware/ICameraServiceListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/ICameraServiceProxy$Stub;-><init>()V
-HSPLandroid/hardware/ICameraServiceProxy$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/IConsumerIrService$Stub;-><init>()V
-HSPLandroid/hardware/ISensorPrivacyListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/ISensorPrivacyManager$Stub;-><init>()V
-HSPLandroid/hardware/ISensorPrivacyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/ISerialManager$Stub;-><init>()V
-HSPLandroid/hardware/Sensor;->getName()Ljava/lang/String;
-HSPLandroid/hardware/Sensor;->getVendor()Ljava/lang/String;
+HSPLandroid/hardware/Sensor;->getMaximumRange()F
+HSPLandroid/hardware/Sensor;->getType()I
HSPLandroid/hardware/Sensor;->setType(I)Z
HSPLandroid/hardware/Sensor;->setUuid(JJ)V
-PLandroid/hardware/SensorAdditionalInfo;->createLocalGeomagneticField(FFF)Landroid/hardware/SensorAdditionalInfo;
-HSPLandroid/hardware/SensorManager;->cancelTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
HSPLandroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
-HSPLandroid/hardware/SensorManager;->getDefaultSensor(IZ)Landroid/hardware/Sensor;
HSPLandroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List;
HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
-HSPLandroid/hardware/SensorManager;->requestTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-HPLandroid/hardware/SensorManager;->setOperationParameter(Landroid/hardware/SensorAdditionalInfo;)Z
HSPLandroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;-><init>(Landroid/os/Looper;Landroid/hardware/SystemSensorManager;ILjava/lang/String;)V
HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->addSensor(Landroid/hardware/Sensor;II)Z
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->finalize()V
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeAllSensors()Z
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensor(Landroid/hardware/Sensor;Z)Z
+PLandroid/hardware/SystemSensorManager$BaseEventQueue;->finalize()V
+PLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeAllSensors()Z
HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V
-HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
-HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
-PLandroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchSensorEvent(I[FIJ)V
-HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
+PLandroid/hardware/SystemSensorManager$SensorEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
HSPLandroid/hardware/SystemSensorManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLandroid/hardware/SystemSensorManager;->cancelTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
HSPLandroid/hardware/SystemSensorManager;->getFullSensorList()Ljava/util/List;
HSPLandroid/hardware/SystemSensorManager;->registerListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
-HSPLandroid/hardware/SystemSensorManager;->requestTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-HPLandroid/hardware/SystemSensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
HSPLandroid/hardware/SystemSensorManager;->unregisterListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
-HSPLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;->getBiometricId()I
-HSPLandroid/hardware/biometrics/BiometricManager;->hasBiometrics(Landroid/content/Context;)Z
-HPLandroid/hardware/biometrics/BiometricManager;->resetLockout([B)V
-HSPLandroid/hardware/biometrics/BiometricSourceType$1;-><init>()V
-HSPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/biometrics/BiometricSourceType;
-HSPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/biometrics/BiometricSourceType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/hardware/biometrics/BiometricSourceType;->values()[Landroid/hardware/biometrics/BiometricSourceType;
-HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;->onChanged(Landroid/hardware/biometrics/BiometricSourceType;Z)V
-HSPLandroid/hardware/biometrics/IBiometricService$Stub;-><init>()V
-HSPLandroid/hardware/biometrics/IBiometricService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
-HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;
-HSPLandroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub;-><init>()V
-HSPLandroid/hardware/camera2/CameraCharacteristics$1;-><init>()V
-HSPLandroid/hardware/camera2/CameraCharacteristics$2;-><init>()V
-HSPLandroid/hardware/camera2/CameraCharacteristics$3;-><init>()V
-HSPLandroid/hardware/camera2/CameraCharacteristics$4;-><init>()V
-HSPLandroid/hardware/camera2/CameraCharacteristics$5;-><init>()V
-HSPLandroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-HSPLandroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-HSPLandroid/hardware/camera2/CameraCharacteristics$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-HSPLandroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;-><init>()V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->connectCameraServiceLocked()V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraIdList()[Ljava/lang/String;
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraService()Landroid/hardware/ICameraService;
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onCameraAccessPrioritiesChanged()V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChangedLocked(ILjava/lang/String;)V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChanged(ILjava/lang/String;)V
-HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChangedLocked(ILjava/lang/String;)V
-HSPLandroid/hardware/camera2/CameraManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
-HSPLandroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;
-HSPLandroid/hardware/camera2/CameraManager;->getDisplaySize()Landroid/util/Size;
-HSPLandroid/hardware/camera2/CameraManager;->isHiddenPhysicalCamera(Ljava/lang/String;)Z
-HSPLandroid/hardware/camera2/CameraManager;->supportsCameraApiLocked(Ljava/lang/String;I)Z
-HSPLandroid/hardware/camera2/CaptureRequest$1;-><init>()V
-HSPLandroid/hardware/camera2/CaptureRequest$2;-><init>()V
-HSPLandroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-HSPLandroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-HSPLandroid/hardware/camera2/CaptureRequest$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-HSPLandroid/hardware/camera2/CaptureResult$1;-><init>()V
-HSPLandroid/hardware/camera2/CaptureResult$2;-><init>()V
-HSPLandroid/hardware/camera2/CaptureResult$3;-><init>()V
-HSPLandroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-HSPLandroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-HSPLandroid/hardware/camera2/CaptureResult$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$10;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$11;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$12;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$13;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$14;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$15;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$16;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$17;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$18;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$19;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$1;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$20;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$21;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$2;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$3;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$4;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$5;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$6;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$7;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$8;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$9;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;->hashCode()I
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;-><init>()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->finalize()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->readValues(I)[B
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->registerAllMarshalers()V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->setCameraId(I)V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->setDisplaySize(Landroid/util/Size;)V
-HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->setupGlobalVendorTagDescriptor()V
-HSPLandroid/hardware/camera2/marshal/MarshalHelpers;->checkNativeType(I)I
-HSPLandroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;->hashCode()I
-HSPLandroid/hardware/camera2/marshal/MarshalRegistry;->getMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HSPLandroid/hardware/camera2/marshal/MarshalRegistry;->registerMarshalQueryable(Landroid/hardware/camera2/marshal/MarshalQueryable;)V
-HSPLandroid/hardware/camera2/marshal/Marshaler;-><init>(Landroid/hardware/camera2/marshal/MarshalQueryable;Landroid/hardware/camera2/utils/TypeReference;I)V
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableArray;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableEnum;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Integer;
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HSPLandroid/hardware/camera2/params/MandatoryStreamCombination$ReprocessType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/hardware/camera2/params/MandatoryStreamCombination$SizeThreshold;-><init>(Ljava/lang/String;I)V
-HSPLandroid/hardware/camera2/params/MandatoryStreamCombination$StreamCombinationTemplate;-><init>([Landroid/hardware/camera2/params/MandatoryStreamCombination$StreamTemplate;Ljava/lang/String;)V
-HSPLandroid/hardware/camera2/params/MandatoryStreamCombination$StreamCombinationTemplate;-><init>([Landroid/hardware/camera2/params/MandatoryStreamCombination$StreamTemplate;Ljava/lang/String;Landroid/hardware/camera2/params/MandatoryStreamCombination$ReprocessType;)V
-HSPLandroid/hardware/camera2/params/MandatoryStreamCombination$StreamTemplate;-><init>(ILandroid/hardware/camera2/params/MandatoryStreamCombination$SizeThreshold;)V
-PLandroid/hardware/camera2/utils/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLandroid/hardware/camera2/utils/TypeReference;-><init>()V
-HSPLandroid/hardware/camera2/utils/TypeReference;->containsTypeVariable(Ljava/lang/reflect/Type;)Z
-HSPLandroid/hardware/camera2/utils/TypeReference;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/camera2/utils/TypeReference;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
-HSPLandroid/hardware/camera2/utils/TypeReference;->getType()Ljava/lang/reflect/Type;
-HSPLandroid/hardware/camera2/utils/TypeReference;->hashCode()I
-HSPLandroid/hardware/contexthub/V1_0/ContextHub;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/contexthub/V1_0/ContextHub;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/ContextHubMsg;-><init>()V
-HSPLandroid/hardware/contexthub/V1_0/ContextHubMsg;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/contexthub/V1_0/ContextHubMsg;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/contexthub/V1_0/HubAppInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/contexthub/V1_0/HubAppInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->getHubs()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->loadNanoApp(ILandroid/hardware/contexthub/V1_0/NanoAppBinary;I)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->queryApps(I)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->registerCallback(ILandroid/hardware/contexthub/V1_0/IContexthubCallback;)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->sendMessageToHub(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)I
-HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->unloadNanoApp(IJI)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getService(Z)Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;-><init>()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-PLandroid/hardware/contexthub/V1_0/NanoAppBinary;-><init>()V
-HPLandroid/hardware/contexthub/V1_0/NanoAppBinary;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/display/AmbientBrightnessDayStats$1;-><init>()V
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F)V
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F[F)V
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;->getBucketIndex(F)I
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;->log(FF)V
-HPLandroid/hardware/display/AmbientBrightnessDayStats;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/hardware/TriggerEventListener;-><init>()V
HSPLandroid/hardware/display/AmbientDisplayConfiguration;-><init>(Landroid/content/Context;)V
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->accessibilityInversionEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->alwaysOnAvailable()Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->alwaysOnAvailableForUser(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->alwaysOnEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->ambientDisplayAvailable()Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->ambientDisplayComponent()Ljava/lang/String;
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->doubleTapGestureEnabled(I)Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->doubleTapSensorAvailable()Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->doubleTapSensorType()Ljava/lang/String;
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->dozePickupSensorAvailable()Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->enabled(I)Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->longPressSensorType()Ljava/lang/String;
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pickupGestureEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationAvailable()Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationEnabled(I)Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->tapSensorAvailable()Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->tapSensorType()Ljava/lang/String;
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->wakeScreenGestureAvailable()Z
-HSPLandroid/hardware/display/BrightnessChangeEvent$1;-><init>()V
-HSPLandroid/hardware/display/BrightnessChangeEvent$Builder;-><init>()V
-HSPLandroid/hardware/display/BrightnessChangeEvent$Builder;->build()Landroid/hardware/display/BrightnessChangeEvent;
-HSPLandroid/hardware/display/BrightnessChangeEvent$Builder;->setColorValues([JJ)Landroid/hardware/display/BrightnessChangeEvent$Builder;
-HSPLandroid/hardware/display/BrightnessChangeEvent;-><init>(FJLjava/lang/String;I[F[JFFZIFZZ[JJ)V
-HPLandroid/hardware/display/BrightnessChangeEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/display/BrightnessConfiguration$1;-><init>()V
-HPLandroid/hardware/display/BrightnessConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/BrightnessConfiguration;
-HPLandroid/hardware/display/BrightnessConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;-><init>([F[F)V
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->addCorrectionByCategory(ILandroid/hardware/display/BrightnessCorrection;)Landroid/hardware/display/BrightnessConfiguration$Builder;
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->addCorrectionByPackageName(Ljava/lang/String;Landroid/hardware/display/BrightnessCorrection;)Landroid/hardware/display/BrightnessConfiguration$Builder;
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->build()Landroid/hardware/display/BrightnessConfiguration;
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->checkMonotonic([FZLjava/lang/String;)V
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->getMaxCorrectionsByCategory()I
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->getMaxCorrectionsByPackageName()I
-HSPLandroid/hardware/display/BrightnessConfiguration;->equals(Ljava/lang/Object;)Z
-HPLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByCategory(I)Landroid/hardware/display/BrightnessCorrection;
-HSPLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByPackageName(Ljava/lang/String;)Landroid/hardware/display/BrightnessCorrection;
-HSPLandroid/hardware/display/BrightnessConfiguration;->getCurve()Landroid/util/Pair;
-HSPLandroid/hardware/display/BrightnessConfiguration;->loadFloatFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)F
-HSPLandroid/hardware/display/BrightnessConfiguration;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/display/BrightnessConfiguration;
-HPLandroid/hardware/display/BrightnessConfiguration;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/hardware/display/BrightnessCorrection$1;-><init>()V
-HPLandroid/hardware/display/BrightnessCorrection$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/BrightnessCorrection;
-HPLandroid/hardware/display/BrightnessCorrection$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;-><init>(FF)V
-HSPLandroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;->apply(F)F
-HSPLandroid/hardware/display/BrightnessCorrection;->apply(F)F
-HSPLandroid/hardware/display/BrightnessCorrection;->loadFloatFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)F
+PLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationEnabled(I)Z
HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->getInstance()Landroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;
-HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->getNightDisplayAutoMode()I
-HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->isNightDisplayActivated()Z
-HSPLandroid/hardware/display/ColorDisplayManager;->getMaximumColorTemperature(Landroid/content/Context;)I
-HSPLandroid/hardware/display/ColorDisplayManager;->getMinimumColorTemperature(Landroid/content/Context;)I
-HSPLandroid/hardware/display/ColorDisplayManager;->getNightDisplayAutoMode()I
-HSPLandroid/hardware/display/ColorDisplayManager;->isDisplayWhiteBalanceAvailable(Landroid/content/Context;)Z
-HSPLandroid/hardware/display/ColorDisplayManager;->isNightDisplayActivated()Z
HSPLandroid/hardware/display/ColorDisplayManager;->isNightDisplayAvailable(Landroid/content/Context;)Z
-HSPLandroid/hardware/display/Curve$1;-><init>()V
HSPLandroid/hardware/display/DisplayManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/hardware/display/DisplayManager;->addAllDisplaysLocked(Ljava/util/ArrayList;[I)V
HSPLandroid/hardware/display/DisplayManager;->addPresentationDisplaysLocked(Ljava/util/ArrayList;[II)V
HSPLandroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
HSPLandroid/hardware/display/DisplayManager;->getDisplays()[Landroid/view/Display;
HSPLandroid/hardware/display/DisplayManager;->getDisplays(Ljava/lang/String;)[Landroid/view/Display;
HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplayLocked(IZ)Landroid/view/Display;
-HSPLandroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Looper;)V
HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleMessage(Landroid/os/Message;)V
+PLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->sendDisplayEvent(II)V
+HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal$1;)V
HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V
HSPLandroid/hardware/display/DisplayManagerGlobal;-><init>(Landroid/hardware/display/IDisplayManager;)V
+HSPLandroid/hardware/display/DisplayManagerGlobal;->access$100(Landroid/hardware/display/DisplayManagerGlobal;II)V
+HSPLandroid/hardware/display/DisplayManagerGlobal;->findDisplayListenerLocked(Landroid/hardware/display/DisplayManager$DisplayListener;)I
+HSPLandroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandroid/content/res/Resources;)Landroid/view/Display;
+HSPLandroid/hardware/display/DisplayManagerGlobal;->getCompatibleDisplay(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayIds()[I
HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfo(I)Landroid/view/DisplayInfo;
HSPLandroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal;
@@ -7221,2420 +4151,170 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V
HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V
HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
HSPLandroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;-><init>(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->copyFrom(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->equals(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z
-HSPLandroid/hardware/display/DisplayViewport;-><init>()V
-HSPLandroid/hardware/display/DisplayViewport;->copyFrom(Landroid/hardware/display/DisplayViewport;)V
-HSPLandroid/hardware/display/DisplayViewport;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/display/DisplayViewport;->makeCopy()Landroid/hardware/display/DisplayViewport;
-HSPLandroid/hardware/display/DisplayedContentSamplingAttributes;-><init>(III)V
-HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->getNightDisplayAutoMode()I
-HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->isNightDisplayActivated()Z
-HSPLandroid/hardware/display/IColorDisplayManager$Stub;-><init>()V
-HSPLandroid/hardware/display/IColorDisplayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayIds()[I
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayInfo(I)Landroid/view/DisplayInfo;
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getPreferredWideGamutColorSpaceId()I
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
-HSPLandroid/hardware/display/IDisplayManager$Stub;-><init>()V
-HPLandroid/hardware/display/IDisplayManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/hardware/display/IDisplayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->onDisplayEvent(II)V
+HSPLandroid/hardware/display/IDisplayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManager;
+HSPLandroid/hardware/display/IDisplayManagerCallback$Stub;-><init>()V
HSPLandroid/hardware/display/IDisplayManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/hardware/display/IDisplayManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/display/NightDisplayListener;-><init>(Landroid/content/Context;ILandroid/os/Handler;)V
-HSPLandroid/hardware/display/NightDisplayListener;->setCallback(Landroid/hardware/display/NightDisplayListener$Callback;)V
-HSPLandroid/hardware/display/NightDisplayListener;->setCallbackInternal(Landroid/hardware/display/NightDisplayListener$Callback;)V
-HSPLandroid/hardware/display/Time$1;-><init>()V
-HSPLandroid/hardware/display/Time;-><init>(Ljava/time/LocalTime;)V
-HSPLandroid/hardware/display/Time;->getLocalTime()Ljava/time/LocalTime;
-HSPLandroid/hardware/display/WifiDisplay$1;-><init>()V
HSPLandroid/hardware/display/WifiDisplay$1;->newArray(I)[Landroid/hardware/display/WifiDisplay;
HSPLandroid/hardware/display/WifiDisplay$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/hardware/display/WifiDisplaySessionInfo$1;-><init>()V
HSPLandroid/hardware/display/WifiDisplaySessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/WifiDisplaySessionInfo;
HSPLandroid/hardware/display/WifiDisplaySessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/display/WifiDisplayStatus$1;-><init>()V
HSPLandroid/hardware/display/WifiDisplayStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/WifiDisplayStatus;
HSPLandroid/hardware/display/WifiDisplayStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/display/WifiDisplayStatus;-><init>()V
HSPLandroid/hardware/display/WifiDisplayStatus;-><init>(IIILandroid/hardware/display/WifiDisplay;[Landroid/hardware/display/WifiDisplay;Landroid/hardware/display/WifiDisplaySessionInfo;)V
-HSPLandroid/hardware/display/WifiDisplayStatus;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/fingerprint/Fingerprint$1;-><init>()V
-HSPLandroid/hardware/fingerprint/Fingerprint;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/fingerprint/FingerprintManager;-><init>(Landroid/content/Context;Landroid/hardware/fingerprint/IFingerprintService;)V
-HSPLandroid/hardware/fingerprint/FingerprintManager;->getAcquiredString(Landroid/content/Context;II)Ljava/lang/String;
-HSPLandroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints(I)Ljava/util/List;
HSPLandroid/hardware/fingerprint/FingerprintManager;->isHardwareDetected()Z
-HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
-HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->isHardwareDetected(JLjava/lang/String;)Z
-HSPLandroid/hardware/fingerprint/IFingerprintService$Stub;-><init>()V
+HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->isHardwareDetected(Ljava/lang/String;)Z
HSPLandroid/hardware/fingerprint/IFingerprintService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintService;
-HSPLandroid/hardware/fingerprint/IFingerprintService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAcquired(JII)V
-PLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAuthenticationFailed(J)V
-HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAuthenticationSucceeded(JLandroid/hardware/fingerprint/Fingerprint;I)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onError(JII)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
-HSPLandroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->onInputDevicesChanged([I)V
-HSPLandroid/hardware/input/IInputDevicesChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/input/IInputDevicesChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->getInputDevice(I)Landroid/view/InputDevice;
-HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->getInputDeviceIds()[I
-HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
-HSPLandroid/hardware/input/IInputManager$Stub;-><init>()V
-HSPLandroid/hardware/input/IInputManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/input/InputDeviceIdentifier$1;-><init>()V
-HSPLandroid/hardware/input/InputDeviceIdentifier;-><init>(Ljava/lang/String;II)V
-HSPLandroid/hardware/input/InputManager$InputDevicesChangedListener;->onInputDevicesChanged([I)V
-HSPLandroid/hardware/input/InputManager;->getInputDevice(I)Landroid/view/InputDevice;
-HSPLandroid/hardware/input/InputManager;->getInputDeviceIds()[I
HSPLandroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager;
-HSPLandroid/hardware/input/InputManager;->onInputDevicesChanged([I)V
-HSPLandroid/hardware/input/InputManager;->populateInputDevicesLocked()V
-HSPLandroid/hardware/input/InputManager;->registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
-HSPLandroid/hardware/input/KeyboardLayout$1;-><init>()V
-HSPLandroid/hardware/input/TouchCalibration$1;-><init>()V
-HSPLandroid/hardware/input/TouchCalibration;-><init>()V
-HSPLandroid/hardware/input/TouchCalibration;->getAffineTransform()[F
-HSPLandroid/hardware/location/ActivityRecognitionHardware;->isSupported()Z
-HSPLandroid/hardware/location/ContextHubInfo$1;-><init>()V
-HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/hardware/contexthub/V1_0/ContextHub;)V
+HSPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubInfo;
+HSPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/hardware/location/ContextHubInfo;->getId()I
-HSPLandroid/hardware/location/ContextHubInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/ContextHubMessage$1;-><init>()V
-HSPLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubMessage;
-HSPLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/ContextHubMessage;-><init>(II[B)V
-HSPLandroid/hardware/location/ContextHubMessage;->getData()[B
-HSPLandroid/hardware/location/ContextHubMessage;->getMsgType()I
-HSPLandroid/hardware/location/ContextHubMessage;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/location/GeofenceHardwareImpl$1;->handleMessage(Landroid/os/Message;)V
-PLandroid/hardware/location/GeofenceHardwareImpl$2;->handleMessage(Landroid/os/Message;)V
-HPLandroid/hardware/location/GeofenceHardwareImpl$3;->handleMessage(Landroid/os/Message;)V
-HPLandroid/hardware/location/GeofenceHardwareImpl$Reaper;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/location/GeofenceHardwareImpl;-><init>(Landroid/content/Context;)V
-HPLandroid/hardware/location/GeofenceHardwareImpl;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-HSPLandroid/hardware/location/GeofenceHardwareImpl;->getInstance(Landroid/content/Context;)Landroid/hardware/location/GeofenceHardwareImpl;
-PLandroid/hardware/location/GeofenceHardwareImpl;->getMonitoringTypes()[I
-PLandroid/hardware/location/GeofenceHardwareImpl;->getStatusOfMonitoringType(I)I
-HPLandroid/hardware/location/GeofenceHardwareImpl;->removeGeofence(II)Z
-HPLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceAddStatus(II)V
-PLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceMonitorStatus(IILandroid/location/Location;I)V
-HPLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceRemoveStatus(II)V
-HPLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceTransition(ILandroid/location/Location;IJII)V
-HSPLandroid/hardware/location/GeofenceHardwareImpl;->setMonitorAvailability(II)V
-HSPLandroid/hardware/location/GeofenceHardwareImpl;->updateGpsHardwareAvailability()V
-PLandroid/hardware/location/GeofenceHardwareMonitorEvent$1;-><init>()V
-PLandroid/hardware/location/GeofenceHardwareMonitorEvent;->getMonitoringType()I
-PLandroid/hardware/location/GeofenceHardwareMonitorEvent;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/hardware/location/GeofenceHardwareRequestParcelable$1;-><init>()V
-HPLandroid/hardware/location/GeofenceHardwareRequestParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/GeofenceHardwareRequestParcelable;
-PLandroid/hardware/location/GeofenceHardwareRequestParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/location/GeofenceHardwareService$1;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-PLandroid/hardware/location/GeofenceHardwareService$1;->getMonitoringTypes()[I
-PLandroid/hardware/location/GeofenceHardwareService$1;->getStatusOfMonitoringType(I)I
-PLandroid/hardware/location/GeofenceHardwareService$1;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-HPLandroid/hardware/location/GeofenceHardwareService$1;->removeGeofence(II)Z
-HSPLandroid/hardware/location/GeofenceHardwareService$1;->setGpsGeofenceHardware(Landroid/location/IGpsGeofenceHardware;)V
-HSPLandroid/hardware/location/GeofenceHardwareService;-><init>()V
-HPLandroid/hardware/location/GeofenceHardwareService;->checkPermission(III)V
-HSPLandroid/hardware/location/GeofenceHardwareService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/hardware/location/GeofenceHardwareService;->onCreate()V
-PLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;->onAvailabilityChanged(ZLandroid/hardware/location/IActivityRecognitionHardware;)V
-PLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareClient;
-HSPLandroid/hardware/location/IContextHubCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IContextHubCallback$Stub$Proxy;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-HSPLandroid/hardware/location/IContextHubClient$Stub;-><init>()V
-HSPLandroid/hardware/location/IContextHubClient$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/location/ContextHubManager$4;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
+HSPLandroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLandroid/hardware/location/ContextHubManager;->access$000(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$Callback;
+PLandroid/hardware/location/ContextHubManager;->access$200(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$ICallback;
+HSPLandroid/hardware/location/ContextHubManager;->getContextHubs()Ljava/util/List;
+PLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubMessage;
+PLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/location/IContextHubCallback$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/hardware/location/IContextHubCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/hardware/location/IContextHubClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubClient;
-HSPLandroid/hardware/location/IContextHubClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
-PLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppLoaded(J)V
-PLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppUnloaded(J)V
-HSPLandroid/hardware/location/IContextHubClientCallback$Stub;-><init>()V
HSPLandroid/hardware/location/IContextHubClientCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IContextHubService$Stub;-><init>()V
-HSPLandroid/hardware/location/IContextHubService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->onQueryResponse(ILjava/util/List;)V
-HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;-><init>()V
-PLandroid/hardware/location/IGeofenceHardware$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IGeofenceHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IGeofenceHardware;
-HPLandroid/hardware/location/IGeofenceHardware$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceAdd(II)V
-HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceRemove(II)V
-HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceTransition(IILandroid/location/Location;JI)V
-PLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-HSPLandroid/hardware/location/NanoApp$1;-><init>()V
-PLandroid/hardware/location/NanoApp$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoApp;
-PLandroid/hardware/location/NanoApp$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/hardware/location/NanoApp;-><init>(Landroid/os/Parcel;)V
-PLandroid/hardware/location/NanoApp;->getAppBinary()[B
-PLandroid/hardware/location/NanoAppBinary$1;-><init>()V
-PLandroid/hardware/location/NanoAppBinary;-><init>([B)V
-PLandroid/hardware/location/NanoAppBinary;->getBinaryNoHeader()[B
-PLandroid/hardware/location/NanoAppBinary;->parseBinaryHeader()V
-HSPLandroid/hardware/location/NanoAppFilter$1;-><init>()V
-PLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppFilter;
-PLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/hardware/location/NanoAppFilter;->testMatch(Landroid/hardware/location/NanoAppInstanceInfo;)Z
-HSPLandroid/hardware/location/NanoAppInstanceInfo$1;-><init>()V
-HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(IJII)V
-HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppId()J
-HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppVersion()I
-HSPLandroid/hardware/location/NanoAppInstanceInfo;->getContexthubId()I
-HSPLandroid/hardware/location/NanoAppInstanceInfo;->getHandle()I
-HPLandroid/hardware/location/NanoAppInstanceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/NanoAppMessage$1;-><init>()V
-HSPLandroid/hardware/location/NanoAppMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppMessage;
-HSPLandroid/hardware/location/NanoAppMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/NanoAppMessage;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/hardware/location/NanoAppMessage;->createMessageFromNanoApp(JI[BZ)Landroid/hardware/location/NanoAppMessage;
-HSPLandroid/hardware/location/NanoAppMessage;->createMessageToNanoApp(JI[B)Landroid/hardware/location/NanoAppMessage;
-HSPLandroid/hardware/location/NanoAppState$1;-><init>()V
-HSPLandroid/hardware/location/NanoAppState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/radio/ProgramSelector$1;-><init>()V
-HSPLandroid/hardware/radio/ProgramSelector$Identifier$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$AmBandConfig$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$AmBandDescriptor$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$BandConfig$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$BandDescriptor$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$FmBandConfig$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$FmBandDescriptor$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$ModuleProperties$1;-><init>()V
-HSPLandroid/hardware/radio/RadioManager$ProgramInfo$1;-><init>()V
-HSPLandroid/hardware/radio/RadioMetadata$1;-><init>()V
-HSPLandroid/hardware/radio/V1_0/ActivityStatsInfo;-><init>()V
-HSPLandroid/hardware/radio/V1_0/ActivityStatsInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/ActivityStatsInfo;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/AppStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CardStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo;->hashCode()I
-HSPLandroid/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo;->writeVectorToParcel(Landroid/os/HwParcel;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/CellIdentityLte;->hashCode()I
-HSPLandroid/hardware/radio/V1_0/CellIdentityLte;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CellIdentityWcdma;->hashCode()I
-HSPLandroid/hardware/radio/V1_0/CellIdentityWcdma;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/DataProfileInfo;-><init>()V
-HSPLandroid/hardware/radio/V1_0/DataProfileInfo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo;->writeVectorToParcel(Landroid/os/HwParcel;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/HardwareConfig;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IccIo;-><init>()V
-HSPLandroid/hardware/radio/V1_0/IccIo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/IccIoResult;-><init>()V
-HSPLandroid/hardware/radio/V1_0/IccIoResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/IccIoResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/LteSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/RadioCapability;-><init>()V
-HSPLandroid/hardware/radio/V1_0/RadioCapability;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/RadioCapability;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/RadioResponseInfo;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;-><init>()V
-HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->hashCode()I
-HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/SimApdu;-><init>()V
-HSPLandroid/hardware/radio/V1_0/SimApdu;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/WcdmaSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/Call;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/CardStatus;-><init>()V
-HSPLandroid/hardware/radio/V1_2/CardStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/CardStatus;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_2/CellIdentity;-><init>()V
-HSPLandroid/hardware/radio/V1_2/CellIdentity;->hashCode()I
-HSPLandroid/hardware/radio/V1_2/CellIdentity;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/CellIdentityLte;->hashCode()I
-HSPLandroid/hardware/radio/V1_2/CellIdentityOperatorNames;->hashCode()I
-HSPLandroid/hardware/radio/V1_2/CellIdentityOperatorNames;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/CellIdentityWcdma;->hashCode()I
-HSPLandroid/hardware/radio/V1_2/CellInfo;-><init>()V
-HSPLandroid/hardware/radio/V1_2/CellInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/CellInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/DataRegStateResult;-><init>()V
-HSPLandroid/hardware/radio/V1_2/DataRegStateResult;->hashCode()I
-HSPLandroid/hardware/radio/V1_2/DataRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/DataRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_2/LinkCapacityEstimate;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_2/PhysicalChannelConfig;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/SignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_2/SignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/SignalStrength;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;-><init>()V
-HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;->hashCode()I
-HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->deactivateDataCall_1_2(III)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getBasebandVersion(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCdmaSubscriptionSource(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCellInfoList(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCurrentCalls(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getDataRegistrationState(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getDeviceIdentity(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getFacilityLockForApp(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getHardwareConfig(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getIccCardStatus(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getImsRegistrationState(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getImsiForApp(ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getModemActivityInfo(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getNetworkSelectionMode(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getOperator(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getRadioCapability(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getSignalStrength(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getVoiceRadioTechnology(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getVoiceRegistrationState(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccCloseLogicalChannel(II)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccIOForApp(ILandroid/hardware/radio/V1_0/IccIo;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccOpenLogicalChannel(ILjava/lang/String;I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccTransmitApduLogicalChannel(ILandroid/hardware/radio/V1_0/SimApdu;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->reportStkServiceIsRunning(I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->responseAcknowledgement()V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->sendDeviceState(IIZ)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setCdmaBroadcastConfig(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setCdmaSubscriptionSource(II)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setGsmBroadcastActivation(IZ)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setGsmBroadcastConfig(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setIndicationFilter_1_2(II)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setInitialAttachApn(ILandroid/hardware/radio/V1_0/DataProfileInfo;ZZ)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setLinkCapacityReportingCriteria(IIIILjava/util/ArrayList;Ljava/util/ArrayList;I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setPreferredNetworkType(II)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setRadioPower(IZ)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setResponseFunctions(Landroid/hardware/radio/V1_0/IRadioResponse;Landroid/hardware/radio/V1_0/IRadioIndication;)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setSignalStrengthReportingCriteria(IIILjava/util/ArrayList;I)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setTTYMode(II)V
-HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setupDataCall_1_2(IILandroid/hardware/radio/V1_0/DataProfileInfo;ZZZILjava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_3/IRadio;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/V1_3/IRadio;
-HSPLandroid/hardware/radio/V1_3/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_3/IRadio;
-HSPLandroid/hardware/radio/V1_4/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_4/IRadio;
-HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;-><init>()V
-HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;-><init>()V
-HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/radio/config/V1_0/SimSlotStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/config/V1_0/SimSlotStatus;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->getPhoneCapability(I)V
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->getSimSlotsStatus(I)V
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->setPreferredDataModem(IB)V
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->setResponseFunctions(Landroid/hardware/radio/config/V1_0/IRadioConfigResponse;Landroid/hardware/radio/config/V1_0/IRadioConfigIndication;)V
-HSPLandroid/hardware/radio/config/V1_1/IRadioConfig;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/config/V1_1/IRadioConfig;
-HSPLandroid/hardware/radio/config/V1_1/PhoneCapability;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-PLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-PLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onRecognitionPaused()V
-PLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onRecognitionResumed()V
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;-><init>()V
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
-HSPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
-HPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;->toString()Ljava/lang/String;
-HSPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-HSPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties$1;-><init>()V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIIZIZIZ)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
-HSPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->toString()Ljava/lang/String;
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$SoundModel;->equals(Ljava/lang/Object;)Z
-HSPLandroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent$1;-><init>()V
-HPLandroid/hardware/soundtrigger/SoundTrigger;->attachModule(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)Landroid/hardware/soundtrigger/SoundTriggerModule;
-PLandroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
-PLandroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;->handler()Landroid/os/Handler;
-HPLandroid/hardware/soundtrigger/SoundTriggerModule;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-HSPLandroid/hardware/thermal/V1_0/ThermalStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->getCurrentTemperatures(ZILandroid/hardware/thermal/V2_0/IThermal$getCurrentTemperaturesCallback;)V
-HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->registerThermalChangedCallback(Landroid/hardware/thermal/V2_0/IThermalChangedCallback;ZI)Landroid/hardware/thermal/V1_0/ThermalStatus;
-HSPLandroid/hardware/thermal/V2_0/IThermal;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/thermal/V2_0/IThermal;
-HSPLandroid/hardware/thermal/V2_0/IThermal;->getService()Landroid/hardware/thermal/V2_0/IThermal;
-HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;-><init>()V
-HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/thermal/V2_0/Temperature;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/thermal/V2_0/Temperature;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getDeviceList(Landroid/os/Bundle;)V
-HSPLandroid/hardware/usb/IUsbManager$Stub;-><init>()V
-HSPLandroid/hardware/usb/IUsbManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/usb/ParcelableUsbPort$1;-><init>()V
-HSPLandroid/hardware/usb/ParcelableUsbPort;->describeContents()I
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubs()Ljava/util/List;
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
+HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Landroid/hardware/location/MemoryRegion;
+HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Ljava/lang/Object;
+PLandroid/hardware/location/NanoAppMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppMessage;
+PLandroid/hardware/location/NanoAppMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/hardware/location/NanoAppMessage;-><init>(Landroid/os/Parcel;)V
+PLandroid/hardware/location/NanoAppMessage;->getMessageType()I
+PLandroid/hardware/location/NanoAppMessage;->getNanoAppId()J
+HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/hardware/usb/IUsbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/usb/IUsbManager;
+HSPLandroid/hardware/usb/ParcelableUsbPort;-><init>(Ljava/lang/String;IIZZ)V
HSPLandroid/hardware/usb/ParcelableUsbPort;->getUsbPort(Landroid/hardware/usb/UsbManager;)Landroid/hardware/usb/UsbPort;
-HSPLandroid/hardware/usb/ParcelableUsbPort;->of(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/ParcelableUsbPort;
-HSPLandroid/hardware/usb/ParcelableUsbPort;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/usb/UsbDevice$1;-><init>()V
-HSPLandroid/hardware/usb/UsbManager;->getDeviceList()Ljava/util/HashMap;
-HSPLandroid/hardware/usb/UsbManager;->usbFunctionsFromString(Ljava/lang/String;)J
-HSPLandroid/hardware/usb/UsbManager;->usbFunctionsToString(J)Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPort;-><init>(Landroid/hardware/usb/UsbManager;Ljava/lang/String;IIZZ)V
-HSPLandroid/hardware/usb/UsbPort;->combineRolesAsBit(II)I
-HSPLandroid/hardware/usb/UsbPort;->modeToString(I)Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPort;->roleCombinationsToString(I)Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPort;->toString()Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPortStatus$1;-><init>()V
-HSPLandroid/hardware/usb/UsbPortStatus;->describeContents()I
-HSPLandroid/hardware/usb/UsbPortStatus;->isRoleCombinationSupported(II)Z
-HSPLandroid/hardware/usb/UsbPortStatus;->toString()Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPortStatus;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->getCurrentUsbFunctions(Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getService()Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getService(Z)Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;-><init>()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/icu/impl/BMPSet;-><init>([II)V
-HSPLandroid/icu/impl/BMPSet;->contains(I)Z
-HSPLandroid/icu/impl/BMPSet;->findCodePoint(III)I
-HSPLandroid/icu/impl/BMPSet;->initBits()V
-HSPLandroid/icu/impl/BMPSet;->set32x64Bits([III)V
-HSPLandroid/icu/impl/CacheValue$NullValue;-><init>(Landroid/icu/impl/CacheValue$1;)V
-HSPLandroid/icu/impl/CacheValue$SoftValue;->get()Ljava/lang/Object;
-HSPLandroid/icu/impl/CacheValue$Strength;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/CacheValue;->isNull()Z
-HSPLandroid/icu/impl/CalType;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/icu/impl/CalType;->values()[Landroid/icu/impl/CalType;
-HSPLandroid/icu/impl/CalendarUtil$CalendarPreferences;-><init>()V
-HSPLandroid/icu/impl/CalendarUtil$CalendarPreferences;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/impl/CalendarUtil;->getCalendarType(Landroid/icu/util/ULocale;)Ljava/lang/String;
-HSPLandroid/icu/impl/CaseMapImpl;->internalToUpper(IILjava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)V
-HSPLandroid/icu/impl/CaseMapImpl;->toUpper(IILjava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-HSPLandroid/icu/impl/CharTrie;->unserialize(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/CharacterIteration;->nextTrail32(Ljava/text/CharacterIterator;I)I
-HSPLandroid/icu/impl/CharacterPropertiesImpl;->getInclusionsForProperty(I)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/impl/CharacterPropertiesImpl;->getInclusionsForSource(I)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/impl/CharacterPropertiesImpl;->getIntPropInclusions(I)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/impl/ClassLoaderUtil;->getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader;
-HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;-><init>(Ljava/lang/String;II)V
-HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo;-><init>()V
-HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo;-><init>([Ljava/lang/String;)V
-HSPLandroid/icu/impl/DateNumberFormat;->initialize(Landroid/icu/util/ULocale;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/icu/impl/DontCareFieldPosition;-><init>()V
-HSPLandroid/icu/impl/DontCareFieldPosition;->setBeginIndex(I)V
-HSPLandroid/icu/impl/DontCareFieldPosition;->setEndIndex(I)V
-HSPLandroid/icu/impl/Grego;->dayToFields(J[I)[I
-HSPLandroid/icu/impl/Grego;->fieldsToDay(III)J
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader$IsAcceptable;-><init>(Landroid/icu/impl/ICUBinary$1;)V
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->addBaseName(Ljava/nio/ByteBuffer;ILjava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/util/Set;)Z
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->addBaseNamesInFolder(Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->binarySearch(Ljava/nio/ByteBuffer;Ljava/lang/CharSequence;)I
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->getData(Ljava/nio/ByteBuffer;Ljava/lang/CharSequence;)Ljava/nio/ByteBuffer;
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->startsWithPackageName(Ljava/nio/ByteBuffer;I)Z
-HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->validate(Ljava/nio/ByteBuffer;)Z
-HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-HSPLandroid/icu/impl/ICUBinary;->addDataFilesFromFolder(Ljava/io/File;Ljava/lang/StringBuilder;Ljava/util/List;)V
-HSPLandroid/icu/impl/ICUBinary;->addDataFilesFromPath(Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I
-HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I
-HSPLandroid/icu/impl/ICUBinary;->getChars(Ljava/nio/ByteBuffer;II)[C
-HSPLandroid/icu/impl/ICUBinary;->getData(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Z)Ljava/nio/ByteBuffer;
-HSPLandroid/icu/impl/ICUBinary;->getInts(Ljava/nio/ByteBuffer;II)[I
-HSPLandroid/icu/impl/ICUBinary;->getLongs(Ljava/nio/ByteBuffer;II)[J
-HSPLandroid/icu/impl/ICUBinary;->getRequiredData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-HSPLandroid/icu/impl/ICUBinary;->getString(Ljava/nio/ByteBuffer;II)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUBinary;->mapFile(Ljava/io/File;)Ljava/nio/ByteBuffer;
-HSPLandroid/icu/impl/ICUBinary;->readHeader(Ljava/nio/ByteBuffer;ILandroid/icu/impl/ICUBinary$Authenticate;)I
-HSPLandroid/icu/impl/ICUBinary;->readHeaderAndDataVersion(Ljava/nio/ByteBuffer;ILandroid/icu/impl/ICUBinary$Authenticate;)Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/impl/ICUBinary;->skipBytes(Ljava/nio/ByteBuffer;I)V
-HSPLandroid/icu/impl/ICUConfig;->get(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUConfig;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable;->values()[Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink;->consumeCurrenciesEntry(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink;->consumeCurrencySpacingTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;->fetchFormattingData(Ljava/lang/String;)Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$FormattingData;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;->fetchSpacingInfo()Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;->getFormatInfo(Ljava/lang/String;)Landroid/icu/impl/CurrencyData$CurrencyFormatInfo;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;->getSpacingInfo()Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;->getSymbol(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider;-><init>()V
-HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider;->getInstance(Landroid/icu/util/ULocale;Z)Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;->collect(Ljava/lang/String;Ljava/lang/String;JJIZ)V
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;->collects()I
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;->getList()Ljava/util/List;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->add(Ljava/lang/Object;)V
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->list()Ljava/util/List;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo;-><init>()V
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collect(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/Class;Ljava/lang/String;Z)Ljava/io/InputStream;
-HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/ClassLoader;Ljava/lang/String;Z)Ljava/io/InputStream;
-HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/String;)Ljava/io/InputStream;
-HSPLandroid/icu/impl/ICUDebug;->enabled(Ljava/lang/String;)Z
-HSPLandroid/icu/impl/ICUDebug;->getInstanceLenient(Ljava/lang/String;)Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->getSupportedIDs()Ljava/util/Set;
-HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->loader()Ljava/lang/ClassLoader;
-HSPLandroid/icu/impl/ICULocaleService$LocaleKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentDescriptor()Ljava/lang/String;
-HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentID()Ljava/lang/String;
-HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentLocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->kind()I
-HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->prefix()Ljava/lang/String;
-HSPLandroid/icu/impl/ICULocaleService$LocaleKeyFactory;->create(Landroid/icu/impl/ICUService$Key;Landroid/icu/impl/ICUService;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICULocaleService$LocaleKeyFactory;->handlesKey(Landroid/icu/impl/ICUService$Key;)Z
-HSPLandroid/icu/impl/ICULocaleService;->createKey(Landroid/icu/util/ULocale;I)Landroid/icu/impl/ICUService$Key;
-HSPLandroid/icu/impl/ICULocaleService;->get(Landroid/icu/util/ULocale;I[Landroid/icu/util/ULocale;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICULocaleService;->get(Landroid/icu/util/ULocale;[Landroid/icu/util/ULocale;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICULocaleService;->validateFallbackLocale()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUNotifier;->notifyChanged()V
-HSPLandroid/icu/impl/ICURWLock;->acquireRead()V
-HSPLandroid/icu/impl/ICURWLock;->acquireWrite()V
-HSPLandroid/icu/impl/ICURWLock;->releaseRead()V
-HSPLandroid/icu/impl/ICURWLock;->releaseWrite()V
-HSPLandroid/icu/impl/ICUResourceBundle$1;-><init>()V
-HSPLandroid/icu/impl/ICUResourceBundle$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundle$1;->createInstance(Ljava/lang/String;Landroid/icu/impl/ICUResourceBundle$Loader;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle$2;->run()Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundle$2;->run()Ljava/lang/Void;
-HSPLandroid/icu/impl/ICUResourceBundle$3;-><init>()V
-HSPLandroid/icu/impl/ICUResourceBundle$3;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundle$3;->createInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle$AvailEntry;
-HSPLandroid/icu/impl/ICUResourceBundle$4;->load()Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle$AvailEntry;->getFullLocaleNameSet()Ljava/util/Set;
-HSPLandroid/icu/impl/ICUResourceBundle$OpenType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/ICUResourceBundle;->at(I)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->at(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->createFullLocaleNameSet(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Set;
-HSPLandroid/icu/impl/ICUResourceBundle;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/impl/ICUResourceBundle;->findResourceWithFallback([Ljava/lang/String;ILandroid/icu/impl/ICUResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->findWithFallback(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->get(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->getAliasedResource(Landroid/icu/impl/ICUResourceBundle;[Ljava/lang/String;ILjava/lang/String;ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->getAllItemsWithFallback(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;Landroid/icu/impl/UResource$Sink;)V
-HSPLandroid/icu/impl/ICUResourceBundle;->getAllItemsWithFallback(Ljava/lang/String;Landroid/icu/impl/UResource$Sink;)V
-HSPLandroid/icu/impl/ICUResourceBundle;->getAllItemsWithFallbackNoFail(Ljava/lang/String;Landroid/icu/impl/UResource$Sink;)V
-HSPLandroid/icu/impl/ICUResourceBundle;->getBaseName()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundle;->getBundle(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->getKey()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundle;->getLocale()Ljava/util/Locale;
-HSPLandroid/icu/impl/ICUResourceBundle;->getLocaleID()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundle;->getParent()Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->getParent()Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->getResPathKeys(Ljava/lang/String;I[Ljava/lang/String;I)V
-HSPLandroid/icu/impl/ICUResourceBundle;->getStringWithFallback(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundle;->getULocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/impl/ICUResourceBundle;->getWithFallback(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundle;->setParent(Ljava/util/ResourceBundle;)V
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->getStringArray()[Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->handleGetStringArray()[Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;->getBinary([B)[B
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->createBundleObject(ILjava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getContainerResource(I)I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getSize()I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getString(I)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceInt;->getInt()I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceInt;->getType()I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceIntVector;->getIntVector()[I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getString()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getType()I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->findString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->getType()I
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGetObject(Ljava/lang/String;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleImpl;->createBundleObject(Ljava/lang/String;ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle;
-HSPLandroid/icu/impl/ICUResourceBundleImpl;->getResource()I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Array16;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Array32;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Array;-><init>()V
-HSPLandroid/icu/impl/ICUResourceBundleReader$Array;->getValue(ILandroid/icu/impl/UResource$Value;)Z
-HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getContainer16Resource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Container;->getSize()I
-HSPLandroid/icu/impl/ICUResourceBundleReader$IsAcceptable;-><init>(Landroid/icu/impl/ICUResourceBundleReader$1;)V
-HSPLandroid/icu/impl/ICUResourceBundleReader$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderCache;-><init>(Landroid/icu/impl/ICUResourceBundleReader$1;)V
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderCache;->createInstance(Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundleReader;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;->hashCode()I
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getAliasString()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getArray()Landroid/icu/impl/UResource$Array;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getString()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray()[Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArrayOrStringAsArray()[Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getTable()Landroid/icu/impl/UResource$Table;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getType()I
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table1632;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table16;->getContainerResource(Landroid/icu/impl/ICUResourceBundleReader;I)I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table;-><init>()V
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->findTableItem(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/CharSequence;)I
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKey(Landroid/icu/impl/ICUResourceBundleReader;I)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKeyAndValue(ILandroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)Z
-HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getResource(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;)I
-HSPLandroid/icu/impl/ICUResourceBundleReader;-><init>()V
-HSPLandroid/icu/impl/ICUResourceBundleReader;-><init>(Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getAlias(I)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getArray(I)Landroid/icu/impl/ICUResourceBundleReader$Array;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getBinary(I[B)[B
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getChars(II)[C
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getFullName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getIntVector(I)[I
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getInts(II)[I
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table;
-HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C
-HSPLandroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/ICUResourceBundleReader;->makeStringFromBytes(II)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUService;->clearCaches()V
-HSPLandroid/icu/impl/ICUService;->clearServiceCache()V
-HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;Landroid/icu/impl/ICUService$Factory;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUService;->isDefault()Z
-HSPLandroid/icu/impl/ICUService;->markDefault()V
-HSPLandroid/icu/impl/ICUService;->registerFactory(Landroid/icu/impl/ICUService$Factory;)Landroid/icu/impl/ICUService$Factory;
-HSPLandroid/icu/impl/IDNA2003;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/impl/IDNA2003;->convertIDNToUnicode(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/impl/IDNA2003;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/impl/IDNA2003;->convertToUnicode(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/impl/IDNA2003;->isLDHChar(I)Z
-HSPLandroid/icu/impl/IDNA2003;->startsWithPrefix(Ljava/lang/StringBuffer;)Z
-HSPLandroid/icu/impl/JavaTimeZone;->clone()Ljava/lang/Object;
-HSPLandroid/icu/impl/JavaTimeZone;->getOffset(JZ[I)V
-HSPLandroid/icu/impl/JavaTimeZone;->hashCode()I
-HSPLandroid/icu/impl/JavaTimeZone;->isFrozen()Z
-HSPLandroid/icu/impl/LocaleIDParser;->getKeywordMap()Ljava/util/Map;
-HSPLandroid/icu/impl/LocaleIDParser;->haveExperimentalLanguagePrefix()Z
-HSPLandroid/icu/impl/LocaleIDParser;->parseBaseName()V
-HSPLandroid/icu/impl/LocaleIDParser;->parseCountry()I
-HSPLandroid/icu/impl/LocaleIDParser;->parseKeywords()I
-HSPLandroid/icu/impl/LocaleIDParser;->parseLanguage()I
-HSPLandroid/icu/impl/LocaleIDParser;->parseScript()I
-HSPLandroid/icu/impl/LocaleIDParser;->parseVariant()I
-HSPLandroid/icu/impl/LocaleIDParser;->setToKeywordStart()Z
-HSPLandroid/icu/impl/LocaleIDParser;->skipCountry()V
-HSPLandroid/icu/impl/LocaleIDParser;->skipScript()V
-HSPLandroid/icu/impl/Norm2AllModes$1;-><init>()V
-HSPLandroid/icu/impl/Norm2AllModes$DecomposeNormalizer2;->spanQuickCheckYes(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/impl/Norm2AllModes$NoopNormalizer2;-><init>()V
-HSPLandroid/icu/impl/Norm2AllModes$Norm2AllModesSingleton;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/impl/Norm2AllModes$Norm2AllModesSingleton;-><init>(Ljava/lang/String;Landroid/icu/impl/Norm2AllModes$1;)V
-HSPLandroid/icu/impl/Norm2AllModes;-><init>(Landroid/icu/impl/Normalizer2Impl;)V
-HSPLandroid/icu/impl/Normalizer2Impl$1;-><init>()V
-HSPLandroid/icu/impl/Normalizer2Impl$IsAcceptable;-><init>(Landroid/icu/impl/Normalizer2Impl$1;)V
-HSPLandroid/icu/impl/Normalizer2Impl$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/Normalizer2Impl;->addLcccChars(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/impl/Normalizer2Impl;->composeQuickCheck(Ljava/lang/CharSequence;IIZZ)I
-HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I
-HSPLandroid/icu/impl/Normalizer2Impl;->getFCD16FromNormData(I)I
-HSPLandroid/icu/impl/Normalizer2Impl;->load(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Normalizer2Impl;
-HSPLandroid/icu/impl/OlsonTimeZone;-><init>(Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;Ljava/lang/String;)V
-HSPLandroid/icu/impl/OlsonTimeZone;->clone()Ljava/lang/Object;
-HSPLandroid/icu/impl/OlsonTimeZone;->cloneAsThawed()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/impl/OlsonTimeZone;->construct(Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)V
-HSPLandroid/icu/impl/OlsonTimeZone;->getCanonicalID()Ljava/lang/String;
-HSPLandroid/icu/impl/OlsonTimeZone;->getHistoricalOffset(JZII[I)V
-HSPLandroid/icu/impl/OlsonTimeZone;->getNextTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-HSPLandroid/icu/impl/OlsonTimeZone;->getOffset(JZ[I)V
-HSPLandroid/icu/impl/OlsonTimeZone;->getTimeZoneRules()[Landroid/icu/util/TimeZoneRule;
-HSPLandroid/icu/impl/OlsonTimeZone;->initTransitionRules()V
-HSPLandroid/icu/impl/OlsonTimeZone;->isFrozen()Z
-HSPLandroid/icu/impl/OlsonTimeZone;->loadRule(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/Pair;->hashCode()I
-HSPLandroid/icu/impl/Pair;->of(Ljava/lang/Object;Ljava/lang/Object;)Landroid/icu/impl/Pair;
-HSPLandroid/icu/impl/PatternProps;->isWhiteSpace(I)Z
-HSPLandroid/icu/impl/PatternTokenizer;-><init>()V
-HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I
-HSPLandroid/icu/impl/PatternTokenizer;->quoteLiteral(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/PatternTokenizer;->setPattern(Ljava/lang/String;)Landroid/icu/impl/PatternTokenizer;
-HSPLandroid/icu/impl/PluralRulesLoader;-><init>()V
-HSPLandroid/icu/impl/PluralRulesLoader;->checkBuildRulesIdMaps()V
-HSPLandroid/icu/impl/PluralRulesLoader;->forLocale(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)Landroid/icu/text/PluralRules;
-HSPLandroid/icu/impl/PluralRulesLoader;->getPluralBundle()Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/PluralRulesLoader;->getRulesForRulesId(Ljava/lang/String;)Landroid/icu/text/PluralRules;
-HSPLandroid/icu/impl/PluralRulesLoader;->getRulesIdForLocale(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)Ljava/lang/String;
-HSPLandroid/icu/impl/RBBIDataWrapper$IsAcceptable;-><init>(Landroid/icu/impl/RBBIDataWrapper$1;)V
-HSPLandroid/icu/impl/RBBIDataWrapper$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/RBBIDataWrapper$RBBIStateTable;->get(Ljava/nio/ByteBuffer;I)Landroid/icu/impl/RBBIDataWrapper$RBBIStateTable;
-HSPLandroid/icu/impl/RBBIDataWrapper;->get(Ljava/nio/ByteBuffer;)Landroid/icu/impl/RBBIDataWrapper;
-HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getIndex()I
-HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getLength()I
-HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getText([CI)I
-HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->next()I
-HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->setIndex(I)V
-HSPLandroid/icu/impl/RuleCharacterIterator;->_advance(I)V
-HSPLandroid/icu/impl/RuleCharacterIterator;->_current()I
-HSPLandroid/icu/impl/RuleCharacterIterator;->atEnd()Z
-HSPLandroid/icu/impl/RuleCharacterIterator;->getPos(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/RuleCharacterIterator;->isEscaped()Z
-HSPLandroid/icu/impl/RuleCharacterIterator;->jumpahead(I)V
-HSPLandroid/icu/impl/RuleCharacterIterator;->lookahead()Ljava/lang/String;
-HSPLandroid/icu/impl/RuleCharacterIterator;->next(I)I
-HSPLandroid/icu/impl/RuleCharacterIterator;->setPos(Ljava/lang/Object;)V
-HSPLandroid/icu/impl/RuleCharacterIterator;->skipIgnored(I)V
-HSPLandroid/icu/impl/SimpleCache;-><init>()V
-HSPLandroid/icu/impl/SimpleCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/SimpleCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/icu/impl/SimpleFormatterImpl;->compileToStringMinMaxArguments(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;II)Ljava/lang/String;
-HSPLandroid/icu/impl/SimpleFormatterImpl;->format(Ljava/lang/String;[Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Ljava/lang/String;Z[I)Ljava/lang/StringBuilder;
-HSPLandroid/icu/impl/SimpleFormatterImpl;->formatAndReplace(Ljava/lang/String;Ljava/lang/StringBuilder;[I[Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
-HSPLandroid/icu/impl/SimpleFormatterImpl;->formatCompiledPattern(Ljava/lang/String;[Ljava/lang/CharSequence;)Ljava/lang/String;
-HSPLandroid/icu/impl/SimpleFormatterImpl;->getArgumentLimit(Ljava/lang/String;)I
-HSPLandroid/icu/impl/SoftCache;->getInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/StandardPlural;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/icu/impl/StandardPlural;->fromString(Ljava/lang/CharSequence;)Landroid/icu/impl/StandardPlural;
-HSPLandroid/icu/impl/StandardPlural;->orNullFromString(Ljava/lang/CharSequence;)Landroid/icu/impl/StandardPlural;
-HSPLandroid/icu/impl/StandardPlural;->values()[Landroid/icu/impl/StandardPlural;
-HSPLandroid/icu/impl/StringPrepDataReader;-><init>(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/StringPrepDataReader;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/TimeZoneNamesFactoryImpl;-><init>()V
-HSPLandroid/icu/impl/TimeZoneNamesFactoryImpl;->getTimeZoneNames(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$MZ2TZsCache;-><init>(Landroid/icu/impl/TimeZoneNamesImpl$1;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$MZMapEntry;->from()J
-HSPLandroid/icu/impl/TimeZoneNamesImpl$MZMapEntry;->mzID()Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$MZMapEntry;->to()J
-HSPLandroid/icu/impl/TimeZoneNamesImpl$TZ2MZsCache;-><init>(Landroid/icu/impl/TimeZoneNamesImpl$1;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$TZ2MZsCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$TZ2MZsCache;->createInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$TZ2MZsCache;->parseDate(Ljava/lang/String;)J
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNames$NameTypeIndex;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNames$NameTypeIndex;->values()[Landroid/icu/impl/TimeZoneNamesImpl$ZNames$NameTypeIndex;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNames;-><init>([Ljava/lang/String;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNames;->createTimeZoneAndPutInCache(Ljava/util/Map;[Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/TimeZoneNamesImpl$ZNames;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNames;->getName(Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNames;->getNameTypeIndex(Landroid/icu/text/TimeZoneNames$NameType;)I
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;-><init>()V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;->getNames()[Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;->loadNames(Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;->nameTypeIndexFromKey(Landroid/icu/impl/UResource$Key;)Landroid/icu/impl/TimeZoneNamesImpl$ZNames$NameTypeIndex;
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;->setNameIfEmpty(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->_getAvailableMetaZoneIDs(Ljava/lang/String;)Ljava/util/Set;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->_getMetaZoneID(Ljava/lang/String;J)Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->getAvailableMetaZoneIDs(Ljava/lang/String;)Ljava/util/Set;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->getDefaultExemplarLocationName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->getMetaZoneDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->getMetaZoneID(Ljava/lang/String;J)Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->getTimeZoneDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->initialize(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->loadMetaZoneNames(Ljava/lang/String;)Landroid/icu/impl/TimeZoneNamesImpl$ZNames;
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->loadStrings(Ljava/lang/String;)V
-HSPLandroid/icu/impl/TimeZoneNamesImpl;->loadTimeZoneNames(Ljava/lang/String;)Landroid/icu/impl/TimeZoneNamesImpl$ZNames;
-HSPLandroid/icu/impl/Trie2$1;-><init>()V
-HSPLandroid/icu/impl/Trie2$1;->map(I)I
-HSPLandroid/icu/impl/Trie2$Trie2Iterator;->hasNext()Z
-HSPLandroid/icu/impl/Trie2$Trie2Iterator;->next()Landroid/icu/impl/Trie2$Range;
-HSPLandroid/icu/impl/Trie2$ValueWidth;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/Trie2$ValueWidth;->values()[Landroid/icu/impl/Trie2$ValueWidth;
-HSPLandroid/icu/impl/Trie2;->createFromSerialized(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Trie2;
-HSPLandroid/icu/impl/Trie2_16;->createFromSerialized(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Trie2_16;
-HSPLandroid/icu/impl/Trie2_16;->get(I)I
-HSPLandroid/icu/impl/Trie2_16;->getFromU16SingleLead(C)I
-HSPLandroid/icu/impl/Trie2_16;->getSerializedLength()I
-HSPLandroid/icu/impl/Trie2_16;->rangeEnd(III)I
-HSPLandroid/icu/impl/Trie2_32;->createFromSerialized(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Trie2_32;
-HSPLandroid/icu/impl/Trie2_32;->getSerializedLength()I
-HSPLandroid/icu/impl/Trie;-><init>(Ljava/nio/ByteBuffer;Landroid/icu/impl/Trie$DataManipulate;)V
-HSPLandroid/icu/impl/UBiDiProps$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/UBiDiProps;-><init>()V
-HSPLandroid/icu/impl/UBiDiProps;->getMaxValue(I)I
-HSPLandroid/icu/impl/UBiDiProps;->readData(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/UCaseProps$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/UCaseProps;-><init>()V
-HSPLandroid/icu/impl/UCaseProps;->getCaseLocale(Ljava/lang/String;)I
-HSPLandroid/icu/impl/UCaseProps;->getTrie()Landroid/icu/impl/Trie2_16;
-HSPLandroid/icu/impl/UCaseProps;->readData(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/UCharacterProperty$10;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$11;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$12;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$13;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$14;-><init>(Landroid/icu/impl/UCharacterProperty;)V
-HSPLandroid/icu/impl/UCharacterProperty$15;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$16;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$17;-><init>(Landroid/icu/impl/UCharacterProperty;)V
-HSPLandroid/icu/impl/UCharacterProperty$18;-><init>(Landroid/icu/impl/UCharacterProperty;)V
-HSPLandroid/icu/impl/UCharacterProperty$19;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$20;-><init>(Landroid/icu/impl/UCharacterProperty;III)V
-HSPLandroid/icu/impl/UCharacterProperty$20;->getValue(I)I
-HSPLandroid/icu/impl/UCharacterProperty$21;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$22;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$23;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$24;-><init>(Landroid/icu/impl/UCharacterProperty;)V
-HSPLandroid/icu/impl/UCharacterProperty$25;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$26;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$27;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$5;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$6;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$7;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$8;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$9;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$BiDiIntProperty;->getMaxValue(I)I
-HSPLandroid/icu/impl/UCharacterProperty$BinaryProperty;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$BinaryProperty;-><init>(Landroid/icu/impl/UCharacterProperty;II)V
-HSPLandroid/icu/impl/UCharacterProperty$CaseBinaryProperty;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
-HSPLandroid/icu/impl/UCharacterProperty$IntProperty;-><init>(Landroid/icu/impl/UCharacterProperty;III)V
-HSPLandroid/icu/impl/UCharacterProperty$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/UCharacterProperty$NormInertBinaryProperty;-><init>(Landroid/icu/impl/UCharacterProperty;II)V
-HSPLandroid/icu/impl/UCharacterProperty$NormQuickCheckIntProperty;-><init>(Landroid/icu/impl/UCharacterProperty;III)V
-HSPLandroid/icu/impl/UCharacterProperty;-><init>()V
-HSPLandroid/icu/impl/UCharacterProperty;->addPropertyStarts(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/impl/UCharacterProperty;->getEuropeanDigit(I)I
-HSPLandroid/icu/impl/UCharacterProperty;->getIntPropertyValue(II)I
-HSPLandroid/icu/impl/UCharacterProperty;->getMask(I)I
-HSPLandroid/icu/impl/UCharacterProperty;->getSource(I)I
-HSPLandroid/icu/impl/UCharacterProperty;->upropsvec_addPropertyStarts(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/impl/UPropertyAliases$IsAcceptable;-><init>(Landroid/icu/impl/UPropertyAliases$1;)V
-HSPLandroid/icu/impl/UPropertyAliases$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/UPropertyAliases;-><init>()V
-HSPLandroid/icu/impl/UPropertyAliases;->containsName(Landroid/icu/util/BytesTrie;Ljava/lang/CharSequence;)Z
-HSPLandroid/icu/impl/UPropertyAliases;->findProperty(I)I
-HSPLandroid/icu/impl/UPropertyAliases;->getPropertyValueEnum(ILjava/lang/CharSequence;)I
-HSPLandroid/icu/impl/UPropertyAliases;->load(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/UResource$Key;->charAt(I)C
-HSPLandroid/icu/impl/UResource$Key;->length()I
-HSPLandroid/icu/impl/UResource$Key;->setString(Ljava/lang/String;)Landroid/icu/impl/UResource$Key;
-HSPLandroid/icu/impl/UResource$Key;->toString()Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Value;->toString()Ljava/lang/String;
-HSPLandroid/icu/impl/USerializedSet;-><init>()V
-HSPLandroid/icu/impl/USerializedSet;->getRange(I[I)Z
-HSPLandroid/icu/impl/USerializedSet;->getSet([CI)Z
-HSPLandroid/icu/impl/ZoneMeta$CustomTimeZoneCache;-><init>(Landroid/icu/impl/ZoneMeta$1;)V
-HSPLandroid/icu/impl/ZoneMeta$SystemTimeZoneCache;-><init>(Landroid/icu/impl/ZoneMeta$1;)V
-HSPLandroid/icu/impl/ZoneMeta$SystemTimeZoneCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ZoneMeta$SystemTimeZoneCache;->createInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/OlsonTimeZone;
-HSPLandroid/icu/impl/ZoneMeta;->findCLDRCanonicalID(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ZoneMeta;->getAvailableIDs(Landroid/icu/util/TimeZone$SystemTimeZoneType;Ljava/lang/String;Ljava/lang/Integer;)Ljava/util/Set;
-HSPLandroid/icu/impl/ZoneMeta;->getCanonicalCLDRID(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ZoneMeta;->getSystemZIDs()Ljava/util/Set;
-HSPLandroid/icu/impl/ZoneMeta;->getZoneIDs()[Ljava/lang/String;
-HSPLandroid/icu/impl/ZoneMeta;->getZoneIndex(Ljava/lang/String;)I
-HSPLandroid/icu/impl/ZoneMeta;->openOlsonResource(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/coll/CollationData;->getLastPrimaryForGroup(I)J
-HSPLandroid/icu/impl/coll/CollationDataReader$IsAcceptable;-><init>(Landroid/icu/impl/coll/CollationDataReader$1;)V
-HSPLandroid/icu/impl/coll/CollationDataReader$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/coll/CollationDataReader;->read(Landroid/icu/impl/coll/CollationTailoring;Ljava/nio/ByteBuffer;Landroid/icu/impl/coll/CollationTailoring;)V
-HSPLandroid/icu/impl/coll/CollationFastLatin;->compareUTF16([C[CILjava/lang/CharSequence;Ljava/lang/CharSequence;I)I
-HSPLandroid/icu/impl/coll/CollationFastLatin;->getOptions(Landroid/icu/impl/coll/CollationData;Landroid/icu/impl/coll/CollationSettings;[C)I
-HSPLandroid/icu/impl/coll/CollationLoader;->loadTailoring(Landroid/icu/util/ULocale;Landroid/icu/util/Output;)Landroid/icu/impl/coll/CollationTailoring;
-HSPLandroid/icu/impl/coll/CollationSettings;->clone()Landroid/icu/impl/coll/SharedObject;
-HSPLandroid/icu/impl/coll/CollationSettings;->setStrength(I)V
-HSPLandroid/icu/impl/coll/CollationTailoring;-><init>(Landroid/icu/impl/coll/SharedObject$Reference;)V
-HSPLandroid/icu/impl/coll/CollationTailoring;->ensureOwnedData()V
-HSPLandroid/icu/impl/coll/SharedObject$Reference;->clone()Landroid/icu/impl/coll/SharedObject$Reference;
-HSPLandroid/icu/impl/coll/SharedObject$Reference;->copyOnWrite()Landroid/icu/impl/coll/SharedObject;
-HSPLandroid/icu/impl/coll/SharedObject$Reference;->finalize()V
-HSPLandroid/icu/impl/coll/SharedObject;->clone()Landroid/icu/impl/coll/SharedObject;
-HSPLandroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;->hashCode()I
-HSPLandroid/icu/impl/locale/AsciiUtil;->caseIgnoreMatch(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/icu/impl/locale/AsciiUtil;->toLowerString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/locale/AsciiUtil;->toTitleString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/locale/AsciiUtil;->toUpperString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/locale/BaseLocale$Cache;-><init>()V
-HSPLandroid/icu/impl/locale/BaseLocale$Cache;->createObject(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale;
-HSPLandroid/icu/impl/locale/BaseLocale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/locale/BaseLocale$Cache;->normalizeKey(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key;
-HSPLandroid/icu/impl/locale/BaseLocale$Cache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/impl/locale/BaseLocale$Key;->hashCode()I
-HSPLandroid/icu/impl/locale/BaseLocale$Key;->normalize(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key;
-HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/icu/impl/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/locale/BaseLocale;
-HSPLandroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(C)V
-HSPLandroid/icu/impl/locale/InternalLocaleBuilder;->getBaseLocale()Landroid/icu/impl/locale/BaseLocale;
-HSPLandroid/icu/impl/locale/InternalLocaleBuilder;->getLocaleExtensions()Landroid/icu/impl/locale/LocaleExtensions;
-HSPLandroid/icu/impl/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Landroid/icu/impl/locale/InternalLocaleBuilder;
-HSPLandroid/icu/impl/locale/InternalLocaleBuilder;->setLanguageTag(Landroid/icu/impl/locale/LanguageTag;)Landroid/icu/impl/locale/InternalLocaleBuilder;
-HSPLandroid/icu/impl/locale/LanguageTag;->getExtensions()Ljava/util/List;
-HSPLandroid/icu/impl/locale/LanguageTag;->getExtlangs()Ljava/util/List;
-HSPLandroid/icu/impl/locale/LanguageTag;->getLanguage()Ljava/lang/String;
-HSPLandroid/icu/impl/locale/LanguageTag;->getPrivateuse()Ljava/lang/String;
-HSPLandroid/icu/impl/locale/LanguageTag;->getRegion()Ljava/lang/String;
-HSPLandroid/icu/impl/locale/LanguageTag;->getScript()Ljava/lang/String;
-HSPLandroid/icu/impl/locale/LanguageTag;->getVariants()Ljava/util/List;
-HSPLandroid/icu/impl/locale/LanguageTag;->parse(Ljava/lang/String;Landroid/icu/impl/locale/ParseStatus;)Landroid/icu/impl/locale/LanguageTag;
-HSPLandroid/icu/impl/locale/LanguageTag;->parseExtensions(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->parseExtlangs(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->parseLanguage(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->parseLocale(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/impl/locale/LanguageTag;
-HSPLandroid/icu/impl/locale/LanguageTag;->parsePrivateuse(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->parseRegion(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->parseScript(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LanguageTag;->parseVariants(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
-HSPLandroid/icu/impl/locale/LocaleExtensions;-><init>()V
-HSPLandroid/icu/impl/locale/LocaleExtensions;->getKeys()Ljava/util/Set;
-HSPLandroid/icu/impl/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/locale/ParseStatus;->isError()Z
-HSPLandroid/icu/impl/locale/StringTokenIterator;->current()Ljava/lang/String;
-HSPLandroid/icu/impl/locale/StringTokenIterator;->currentEnd()I
-HSPLandroid/icu/impl/locale/StringTokenIterator;->hasNext()Z
-HSPLandroid/icu/impl/locale/StringTokenIterator;->isDone()Z
-HSPLandroid/icu/impl/locale/StringTokenIterator;->next()Ljava/lang/String;
-HSPLandroid/icu/impl/locale/StringTokenIterator;->nextDelimiter(I)I
-HSPLandroid/icu/impl/locale/StringTokenIterator;->setStart(I)Landroid/icu/impl/locale/StringTokenIterator;
-HSPLandroid/icu/impl/locale/UnicodeLocaleExtension;-><init>()V
-HSPLandroid/icu/impl/number/AffixUtils;->getFieldForType(I)Landroid/icu/text/NumberFormat$Field;
-HSPLandroid/icu/impl/number/AffixUtils;->hasCurrencySymbols(Ljava/lang/CharSequence;)Z
-HSPLandroid/icu/impl/number/AffixUtils;->hasNext(JLjava/lang/CharSequence;)Z
-HSPLandroid/icu/impl/number/AffixUtils;->nextToken(JLjava/lang/CharSequence;)J
-HSPLandroid/icu/impl/number/AffixUtils;->unescape(Ljava/lang/CharSequence;Landroid/icu/impl/number/NumberStringBuilder;ILandroid/icu/impl/number/AffixUtils$SymbolProvider;)I
-HSPLandroid/icu/impl/number/ConstantAffixModifier;-><init>()V
-HSPLandroid/icu/impl/number/ConstantAffixModifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
-HSPLandroid/icu/impl/number/CurrencySpacingEnabledModifier;->applyCurrencySpacing(Landroid/icu/impl/number/NumberStringBuilder;IIIILandroid/icu/text/DecimalFormatSymbols;)I
-HSPLandroid/icu/impl/number/CustomSymbolCurrency;->resolve(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/util/Currency;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;-><init>()V
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->_clear()Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->clear()Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->clone()Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getCompactStyle()Landroid/icu/text/CompactDecimalFormat$CompactStyle;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getCurrency()Landroid/icu/util/Currency;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getCurrencyPluralInfo()Landroid/icu/text/CurrencyPluralInfo;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getCurrencyUsage()Landroid/icu/util/Currency$CurrencyUsage;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getDecimalSeparatorAlwaysShown()Z
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getFormatWidth()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getGroupingSize()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getGroupingUsed()Z
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMagnitudeMultiplier()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMathContext()Ljava/math/MathContext;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMaximumFractionDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMaximumIntegerDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMaximumSignificantDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMinimumExponentDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMinimumFractionDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMinimumGroupingDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMinimumIntegerDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMinimumSignificantDigits()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMultiplier()Ljava/math/BigDecimal;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getNegativePrefix()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getNegativePrefixPattern()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getNegativeSuffix()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getNegativeSuffixPattern()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getPluralRules()Landroid/icu/text/PluralRules;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getPositivePrefix()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getPositivePrefixPattern()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getPositiveSuffix()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getPositiveSuffixPattern()Ljava/lang/String;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getRoundingIncrement()Ljava/math/BigDecimal;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getRoundingMode()Ljava/math/RoundingMode;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getSecondaryGroupingSize()I
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->getSignAlwaysShown()Z
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setCurrency(Landroid/icu/util/Currency;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setDecimalSeparatorAlwaysShown(Z)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setExponentSignAlwaysShown(Z)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setFormatWidth(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setGroupingSize(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setGroupingUsed(Z)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMagnitudeMultiplier(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMathContext(Ljava/math/MathContext;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMaximumFractionDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMaximumIntegerDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMaximumSignificantDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMinimumExponentDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMinimumFractionDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMinimumIntegerDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMinimumSignificantDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setNegativePrefixPattern(Ljava/lang/String;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setNegativeSuffixPattern(Ljava/lang/String;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setPadPosition(Landroid/icu/impl/number/Padder$PadPosition;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setPadString(Ljava/lang/String;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setPositivePrefixPattern(Ljava/lang/String;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setPositiveSuffixPattern(Ljava/lang/String;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setRoundingIncrement(Ljava/math/BigDecimal;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setRoundingMode(Ljava/math/RoundingMode;)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalFormatProperties;->setSecondaryGroupingSize(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigit(I)B
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getLowerDisplayMagnitude()I
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getUpperDisplayMagnitude()I
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isInfinite()Z
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isNaN()Z
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isNegative()Z
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isZero()Z
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->populateUFieldPosition(Ljava/text/FieldPosition;)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setFractionLength(II)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setIntegerLength(II)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->signum()I
-HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->compact()V
-HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->getDigitPos(I)B
-HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->readIntToBcd(I)V
-HSPLandroid/icu/impl/number/Grouper;-><init>(SSS)V
-HSPLandroid/icu/impl/number/Grouper;->forProperties(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/Grouper;
-HSPLandroid/icu/impl/number/Grouper;->getInstance(SSS)Landroid/icu/impl/number/Grouper;
-HSPLandroid/icu/impl/number/Grouper;->groupAtPosition(ILandroid/icu/impl/number/DecimalQuantity;)Z
-HSPLandroid/icu/impl/number/Grouper;->withLocaleData(Landroid/icu/util/ULocale;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)Landroid/icu/impl/number/Grouper;
-HSPLandroid/icu/impl/number/MacroProps;-><init>()V
-HSPLandroid/icu/impl/number/MacroProps;->fallback(Landroid/icu/impl/number/MacroProps;)V
-HSPLandroid/icu/impl/number/MicroProps;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
-HSPLandroid/icu/impl/number/MutablePatternModifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
-HSPLandroid/icu/impl/number/MutablePatternModifier;->needsPlurals()Z
-HSPLandroid/icu/impl/number/MutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
-HSPLandroid/icu/impl/number/MutablePatternModifier;->setNumberProperties(ILandroid/icu/impl/StandardPlural;)V
-HSPLandroid/icu/impl/number/NumberStringBuilder;-><init>()V
-HSPLandroid/icu/impl/number/NumberStringBuilder;->charAt(I)C
-HSPLandroid/icu/impl/number/NumberStringBuilder;->insert(ILjava/lang/CharSequence;Landroid/icu/text/NumberFormat$Field;)I
-HSPLandroid/icu/impl/number/NumberStringBuilder;->insertCodePoint(IILandroid/icu/text/NumberFormat$Field;)I
-HSPLandroid/icu/impl/number/NumberStringBuilder;->length()I
-HSPLandroid/icu/impl/number/NumberStringBuilder;->nextFieldPosition(Ljava/text/FieldPosition;)Z
-HSPLandroid/icu/impl/number/NumberStringBuilder;->prepareForInsert(II)I
-HSPLandroid/icu/impl/number/Padder$PadPosition;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/number/Padder;-><init>(Ljava/lang/String;ILandroid/icu/impl/number/Padder$PadPosition;)V
-HSPLandroid/icu/impl/number/Padder;->isValid()Z
-HSPLandroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;-><init>(Ljava/lang/String;Landroid/icu/impl/number/PatternStringParser$1;)V
-HSPLandroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;->getEndpoints(I)J
-HSPLandroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;->getString(I)Ljava/lang/String;
-HSPLandroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;-><init>()V
-HSPLandroid/icu/impl/number/PatternStringParser$ParserState;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/impl/number/PatternStringParser$ParserState;->next()I
-HSPLandroid/icu/impl/number/PatternStringParser$ParserState;->peek()I
-HSPLandroid/icu/impl/number/PatternStringParser;->consumeAffix(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)J
-HSPLandroid/icu/impl/number/PatternStringParser;->consumeExponent(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->consumeFractionFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->consumePadding(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;Landroid/icu/impl/number/Padder$PadPosition;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->consumePattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->consumeSubpattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->patternInfoToProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;I)V
-HSPLandroid/icu/impl/number/PatternStringUtils;->patternInfoToStringBuilder(Landroid/icu/impl/number/AffixPatternProvider;ZILandroid/icu/number/NumberFormatter$SignDisplay;Landroid/icu/impl/StandardPlural;ZLjava/lang/StringBuilder;)V
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->containsSymbolType(I)Z
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->getString(I)Ljava/lang/String;
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasBody()Z
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasCurrencySign()Z
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->length(I)I
-HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->negativeHasMinusSign()Z
-HSPLandroid/icu/impl/number/RoundingUtils;->getMathContextOrUnlimited(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/math/MathContext;
-HSPLandroid/icu/impl/number/RoundingUtils;->scaleFromProperties(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/number/Scale;
-HSPLandroid/icu/lang/UCharacter;->codePointAt(Ljava/lang/CharSequence;I)I
-HSPLandroid/icu/lang/UCharacter;->getIntPropertyMaxValue(I)I
-HSPLandroid/icu/lang/UCharacter;->getPropertyEnum(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/lang/UCharacter;->getPropertyValueEnum(ILjava/lang/CharSequence;)I
-HSPLandroid/icu/lang/UCharacter;->isLowerCase(I)Z
-HSPLandroid/icu/lang/UScript$ScriptUsage;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/lang/UScript$ScriptUsage;->values()[Landroid/icu/lang/UScript$ScriptUsage;
-HSPLandroid/icu/lang/UScript;->getScript(I)I
-HSPLandroid/icu/math/BigDecimal;-><init>(I)V
-HSPLandroid/icu/math/BigDecimal;-><init>(J)V
-HSPLandroid/icu/math/BigDecimal;->diginit()[B
-HSPLandroid/icu/math/MathContext;-><init>(II)V
-HSPLandroid/icu/math/MathContext;-><init>(IIZI)V
-HSPLandroid/icu/number/FormattedNumber;->appendTo(Ljava/lang/Appendable;)Ljava/lang/Appendable;
-HSPLandroid/icu/number/FormattedNumber;->nextFieldPosition(Ljava/text/FieldPosition;)Z
-HSPLandroid/icu/number/IntegerWidth;-><init>(II)V
-HSPLandroid/icu/number/IntegerWidth;->truncateAt(I)Landroid/icu/number/IntegerWidth;
-HSPLandroid/icu/number/IntegerWidth;->zeroFillTo(I)Landroid/icu/number/IntegerWidth;
-HSPLandroid/icu/number/LocalizedNumberFormatter;->computeCompiled()Z
-HSPLandroid/icu/number/LocalizedNumberFormatter;->format(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/number/FormattedNumber;
-HSPLandroid/icu/number/NumberFormatter$DecimalSeparatorDisplay;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/number/NumberFormatter$SignDisplay;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/number/NumberFormatter$UnitWidth;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/number/NumberFormatterImpl;->macrosToMicroGenerator(Landroid/icu/impl/number/MacroProps;Z)Landroid/icu/impl/number/MicroPropsGenerator;
-HSPLandroid/icu/number/NumberFormatterImpl;->preProcessUnsafe(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
-HSPLandroid/icu/number/NumberFormatterImpl;->writeAffixes(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/NumberStringBuilder;II)I
-HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;I)I
-HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;I)I
-HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;I)I
-HSPLandroid/icu/number/NumberFormatterSettings;->macros(Landroid/icu/impl/number/MacroProps;)Landroid/icu/number/NumberFormatterSettings;
-HSPLandroid/icu/number/NumberFormatterSettings;->resolve()Landroid/icu/impl/number/MacroProps;
-HSPLandroid/icu/number/NumberPropertyMapper;->oldToNew(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/MacroProps;
-HSPLandroid/icu/number/Precision$CurrencyRounderImpl;-><init>(Landroid/icu/util/Currency$CurrencyUsage;)V
-HSPLandroid/icu/number/Precision$FracSigRounderImpl;-><init>(IIII)V
-HSPLandroid/icu/number/Precision$FractionRounderImpl;-><init>(II)V
-HSPLandroid/icu/number/Precision$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V
-HSPLandroid/icu/number/Precision$IncrementRounderImpl;-><init>(Ljava/math/BigDecimal;)V
-HSPLandroid/icu/number/Precision$InfiniteRounderImpl;-><init>()V
-HSPLandroid/icu/number/Precision$PassThroughRounderImpl;-><init>()V
-HSPLandroid/icu/number/Precision$SignificantRounderImpl;-><init>(II)V
-HSPLandroid/icu/number/Precision;->constructFraction(II)Landroid/icu/number/FractionPrecision;
-HSPLandroid/icu/number/Precision;->withLocaleData(Landroid/icu/util/Currency;)Landroid/icu/number/Precision;
-HSPLandroid/icu/number/Precision;->withMode(Ljava/math/MathContext;)Landroid/icu/number/Precision;
-HSPLandroid/icu/number/UnlocalizedNumberFormatter;-><init>()V
-HSPLandroid/icu/number/UnlocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/NumberFormatterSettings;
-HSPLandroid/icu/number/UnlocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/UnlocalizedNumberFormatter;
-HSPLandroid/icu/number/UnlocalizedNumberFormatter;->locale(Landroid/icu/util/ULocale;)Landroid/icu/number/LocalizedNumberFormatter;
-HSPLandroid/icu/text/Bidi$ImpTabPair;-><init>([[B[[B[S[S)V
-HSPLandroid/icu/text/Bidi;-><init>(II)V
-HSPLandroid/icu/text/Bidi;->DirPropFlag(B)I
-HSPLandroid/icu/text/Bidi;->GetParaLevelAt(I)B
-HSPLandroid/icu/text/Bidi;->directionFromFlags()B
-HSPLandroid/icu/text/Bidi;->getCustomizedClass(I)I
-HSPLandroid/icu/text/Bidi;->getDirProps()V
-HSPLandroid/icu/text/Bidi;->getDirPropsMemory(I)V
-HSPLandroid/icu/text/Bidi;->getLevelAt(I)B
-HSPLandroid/icu/text/Bidi;->getLevelsMemory(I)V
-HSPLandroid/icu/text/Bidi;->getMemory(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;ZI)Ljava/lang/Object;
-HSPLandroid/icu/text/Bidi;->getParaLevel()B
-HSPLandroid/icu/text/Bidi;->resolveExplicitLevels()B
-HSPLandroid/icu/text/Bidi;->setPara([CB[B)V
-HSPLandroid/icu/text/Bidi;->verifyRange(III)V
-HSPLandroid/icu/text/Bidi;->verifyValidParaOrLine()V
-HSPLandroid/icu/text/BreakIterator;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/BreakIterator;->getBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/BreakIterator;->getShim()Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
-HSPLandroid/icu/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/BreakIterator;->setText(Ljava/lang/String;)V
-HSPLandroid/icu/text/BreakIteratorFactory$BFService;-><init>()V
-HSPLandroid/icu/text/BreakIteratorFactory;-><init>()V
-HSPLandroid/icu/text/BreakIteratorFactory;->createBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/BreakIteratorFactory;->createBreakIterator(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/CaseMap$Title;-><init>(I)V
-HSPLandroid/icu/text/CaseMap$Upper;-><init>(I)V
-HSPLandroid/icu/text/CaseMap$Upper;->apply(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-HSPLandroid/icu/text/CaseMap;->toUpper()Landroid/icu/text/CaseMap$Upper;
-HSPLandroid/icu/text/Collator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
-HSPLandroid/icu/text/Collator;->getInstance(Ljava/util/Locale;)Landroid/icu/text/Collator;
-HSPLandroid/icu/text/Collator;->getShim()Landroid/icu/text/Collator$ServiceShim;
-HSPLandroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;->handleCreate(Landroid/icu/util/ULocale;ILandroid/icu/impl/ICUService;)Ljava/lang/Object;
-HSPLandroid/icu/text/CollatorServiceShim$CService;-><init>()V
-HSPLandroid/icu/text/CollatorServiceShim$CService;->validateFallbackLocale()Ljava/lang/String;
-HSPLandroid/icu/text/CollatorServiceShim;-><init>()V
-HSPLandroid/icu/text/CollatorServiceShim;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
-HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyDigits;-><init>(II)V
-HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyFilter;-><init>(Ljava/lang/String;Ljava/lang/String;JJZ)V
-HSPLandroid/icu/text/DateFormat$BooleanAttribute;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DateFormat$BooleanAttribute;->values()[Landroid/icu/text/DateFormat$BooleanAttribute;
-HSPLandroid/icu/text/DateFormat$Field;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DateFormat;-><init>()V
-HSPLandroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
-HSPLandroid/icu/text/DateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DateFormat;->get(IILandroid/icu/util/ULocale;Landroid/icu/util/Calendar;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/text/DateFormat;->getCalendar()Landroid/icu/util/Calendar;
-HSPLandroid/icu/text/DateFormat;->getContext(Landroid/icu/text/DisplayContext$Type;)Landroid/icu/text/DisplayContext;
-HSPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Ljava/lang/String;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/text/DateFormat;->setCalendar(Landroid/icu/util/Calendar;)V
-HSPLandroid/icu/text/DateFormat;->setTimeZone(Landroid/icu/util/TimeZone;)V
-HSPLandroid/icu/text/DateFormatSymbols$1;-><init>()V
-HSPLandroid/icu/text/DateFormatSymbols$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/text/DateFormatSymbols$1;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormatSymbols;
-HSPLandroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DateFormatSymbols$CalendarDataSink;-><init>()V
-HSPLandroid/icu/text/DateFormatSymbols$CalendarDataSink;->preEnumerate(Ljava/lang/String;)V
-HSPLandroid/icu/text/DateFormatSymbols$CalendarDataSink;->processAliasFromValue(Ljava/lang/String;Landroid/icu/impl/UResource$Value;)Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-HSPLandroid/icu/text/DateFormatSymbols$CalendarDataSink;->processResource(Ljava/lang/String;Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/DateFormatSymbols$CalendarDataSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;->values()[Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-HSPLandroid/icu/text/DateFormatSymbols;-><init>(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateFormatSymbols;-><init>(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateFormatSymbols;-><init>(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V
-HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/text/DateFormatSymbols;)V
-HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V
-HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Ljava/lang/String;)V
-HSPLandroid/icu/text/DateFormatSymbols;->loadDayPeriodStrings(Ljava/util/Map;)[Ljava/lang/String;
-HSPLandroid/icu/text/DateFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateFormatSymbols;->setTimeSeparatorString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/SimpleDateFormat;)V
-HSPLandroid/icu/text/DateIntervalFormat;->format(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DateIntervalFormat;->genIntervalPattern(ILjava/lang/String;Ljava/lang/String;ILjava/util/Map;)Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;
-HSPLandroid/icu/text/DateIntervalFormat;->genSeparateDateTimePtn(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Landroid/icu/text/DateTimePatternGenerator;)Z
-HSPLandroid/icu/text/DateIntervalFormat;->getDateTimeSkeleton(Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)V
-HSPLandroid/icu/text/DateIntervalFormat;->initializeIntervalPattern(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/util/Map;
-HSPLandroid/icu/text/DateIntervalFormat;->initializePattern(Landroid/icu/impl/ICUCache;)V
-HSPLandroid/icu/text/DateIntervalInfo$DateIntervalSink;->processSkeletonTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/DateIntervalInfo$DateIntervalSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DateIntervalInfo$DateIntervalSink;->validateAndProcessPatternLetter(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/icu/text/DateIntervalInfo;->access$000()Ljava/lang/String;
-HSPLandroid/icu/text/DateIntervalInfo;->access$100()Ljava/lang/String;
-HSPLandroid/icu/text/DateIntervalInfo;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/DateIntervalInfo;->cloneUnfrozenDII()Ljava/lang/Object;
-HSPLandroid/icu/text/DateIntervalInfo;->freeze()Landroid/icu/text/DateIntervalInfo;
-HSPLandroid/icu/text/DateIntervalInfo;->getBestSkeleton(Ljava/lang/String;)Landroid/icu/text/DateIntervalFormat$BestMatchInfo;
-HSPLandroid/icu/text/DateIntervalInfo;->getDefaultOrder()Z
-HSPLandroid/icu/text/DateIntervalInfo;->getIntervalPattern(Ljava/lang/String;I)Landroid/icu/text/DateIntervalInfo$PatternInfo;
-HSPLandroid/icu/text/DateIntervalInfo;->initializeData(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateIntervalInfo;->setFallbackIntervalPattern(Ljava/lang/String;)V
-HSPLandroid/icu/text/DateIntervalInfo;->setIntervalPatternInternally(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/DateIntervalInfo$PatternInfo;
-HSPLandroid/icu/text/DateIntervalInfo;->setup(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateIntervalInfo;->splitPatternInto2Part(Ljava/lang/String;)I
-HSPLandroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DateTimePatternGenerator$AppendItemNamesSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DateTimePatternGenerator$AvailableFormatsSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DTPGflags;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DTPGflags;->values()[Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->compareTo(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)I
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->compareTo(Ljava/lang/Object;)I
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->fieldIsNumeric(I)Z
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getBasePattern()Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getDistance(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;)I
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getFieldMask()I
-HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
-HSPLandroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;-><init>(Ljava/util/HashMap;Landroid/icu/text/DateTimePatternGenerator$1;)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DisplayWidth;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DisplayWidth;->values()[Landroid/icu/text/DateTimePatternGenerator$DisplayWidth;
-HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addExtra(I)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addMissing(I)V
-HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->clear()V
-HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->setTo(Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;)V
-HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;-><init>()V
-HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->getItems()Ljava/util/List;
-HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->quoteLiteral(Ljava/lang/String;)Ljava/lang/Object;
-HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;Z)Landroid/icu/text/DateTimePatternGenerator$FormatParser;
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->clear()V
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->compareTo(Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;)I
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->getFieldChar(I)C
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->getFieldLength(I)I
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->isFieldEmpty(I)Z
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->populate(ICI)V
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->populate(ILjava/lang/String;)V
-HSPLandroid/icu/text/DateTimePatternGenerator$SkeletonFields;->toString(Z)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator$VariableField;-><init>(Ljava/lang/String;Z)V
-HSPLandroid/icu/text/DateTimePatternGenerator$VariableField;->getType()I
-HSPLandroid/icu/text/DateTimePatternGenerator$VariableField;->isNumeric()Z
-HSPLandroid/icu/text/DateTimePatternGenerator$VariableField;->toString()Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;-><init>()V
-HSPLandroid/icu/text/DateTimePatternGenerator;->addCLDRData(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateTimePatternGenerator;->addICUPatterns(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateTimePatternGenerator;->addPattern(Ljava/lang/String;ZLandroid/icu/text/DateTimePatternGenerator$PatternInfo;)Landroid/icu/text/DateTimePatternGenerator;
-HSPLandroid/icu/text/DateTimePatternGenerator;->addPatternWithSkeleton(Ljava/lang/String;Ljava/lang/String;ZLandroid/icu/text/DateTimePatternGenerator$PatternInfo;)Landroid/icu/text/DateTimePatternGenerator;
-HSPLandroid/icu/text/DateTimePatternGenerator;->adjustFieldTypes(Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;Ljava/util/EnumSet;I)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/DateTimePatternGenerator;->cloneAsThawed()Landroid/icu/text/DateTimePatternGenerator;
-HSPLandroid/icu/text/DateTimePatternGenerator;->consumeShortTimePattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$PatternInfo;)V
-HSPLandroid/icu/text/DateTimePatternGenerator;->fillInMissing()V
-HSPLandroid/icu/text/DateTimePatternGenerator;->getAllowedHourFormats(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/DateTimePatternGenerator;->getAppendItemFormat(I)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getBestAppending(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;Ljava/util/EnumSet;I)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;I)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getBestRaw(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getCLDRFieldAndWidthNumber(Landroid/icu/impl/UResource$Key;)I
-HSPLandroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I
-HSPLandroid/icu/text/DateTimePatternGenerator;->getDateTimeFormat()Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getFieldDisplayName(ILandroid/icu/text/DateTimePatternGenerator$DisplayWidth;)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getFilteredPattern(Landroid/icu/text/DateTimePatternGenerator$FormatParser;Ljava/util/BitSet;)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getFrozenInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateTimePatternGenerator;
-HSPLandroid/icu/text/DateTimePatternGenerator;->hackTimes(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Ljava/lang/String;)V
-HSPLandroid/icu/text/DateTimePatternGenerator;->isFrozen()Z
-HSPLandroid/icu/text/DateTimePatternGenerator;->mapSkeletonMetacharacters(Ljava/lang/String;Ljava/util/EnumSet;)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->setAppendItemFormat(ILjava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;I)V
-HSPLandroid/icu/text/DecimalFormat;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat;->refreshFormatter()V
-HSPLandroid/icu/text/DecimalFormat;->setPropertiesFromPattern(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DecimalFormatSymbols$1;-><init>()V
-HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Landroid/icu/util/ULocale;Ljava/lang/Void;)Landroid/icu/text/DecimalFormatSymbols$CacheData;
-HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/text/DecimalFormatSymbols$DecFmtDataSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DecimalFormatSymbols;-><init>(Ljava/util/Locale;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getCodePointZero()I
-HSPLandroid/icu/text/DecimalFormatSymbols;->getCurrency()Landroid/icu/util/Currency;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getCurrencySymbol()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getDecimalSeparator()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getDecimalSeparatorString()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getDigit()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getDigitStrings()[Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getDigitStringsLocal()[Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getExponentSeparator()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getGroupingSeparator()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getGroupingSeparatorString()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getInfinity()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getInternationalCurrencySymbol()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getLocale()Ljava/util/Locale;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getMinusSign()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getMinusSignString()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getMonetaryDecimalSeparator()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getNaN()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getPatternSeparator()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getPerMill()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getPercent()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getPercentString()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getULocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getZeroDigit()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->initialize(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->loadData(Landroid/icu/util/ULocale;)Landroid/icu/text/DecimalFormatSymbols$CacheData;
-HSPLandroid/icu/text/DecimalFormatSymbols;->setCurrency(Landroid/icu/util/Currency;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setCurrencySymbol(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setDecimalSeparator(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setDecimalSeparatorString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setDigit(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setDigitStrings([Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setExponentMultiplicationSign(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setExponentSeparator(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setGroupingSeparator(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setGroupingSeparatorString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setInfinity(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setInternationalCurrencySymbol(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setMinusSign(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setMinusSignString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setMonetaryDecimalSeparator(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setMonetaryDecimalSeparatorString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setMonetaryGroupingSeparator(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setMonetaryGroupingSeparatorString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setNaN(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPatternSeparator(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPerMill(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPerMillString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPercent(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPercentString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPlusSign(C)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setPlusSignString(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormatSymbols;->setZeroDigit(C)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android$Unit;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->_setMaximumFractionDigits(I)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->addPadding(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;II)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->appendAffix(Ljava/lang/StringBuffer;ZZLjava/text/FieldPosition;Z)I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->appendAffixPattern(Ljava/lang/StringBuffer;ZZZ)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->applyPatternWithoutExpandAffix(Ljava/lang/String;Z)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->areSignificantDigitsUsed()Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->compareAffix(Ljava/lang/String;IZZLjava/lang/String;ZI[Landroid/icu/util/Currency;)I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->compareSimpleAffix(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->createFromPatternAndSymbols(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->equalWithSignCompatibility(II)Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->expandAffix(Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuffer;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->expandAffixes(Ljava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getEquivalentDecimals(Ljava/lang/String;Z)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getMaximumSignificantDigits()I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getMinimumSignificantDigits()I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getNegativePrefix()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getNegativeSuffix()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getParseMaxDigits()I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getPositivePrefix()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getPositiveSuffix()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isDecimalPatternMatchRequired()Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isGroupingPosition(I)Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isParseBigDecimal()Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->matchesDigit(Ljava/lang/String;I[I)I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->parse(Ljava/lang/String;Ljava/text/ParsePosition;[Landroid/icu/util/Currency;)Ljava/lang/Object;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->precision(Z)I
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->resetActualRounding()V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setDecimalSeparatorAlwaysShown(Z)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMaximumFractionDigits(I)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMaximumIntegerDigits(I)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMinimumFractionDigits(I)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMinimumIntegerDigits(I)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingDouble(D)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingIncrement(Landroid/icu/math/BigDecimal;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setSignificantDigitsUsed(Z)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->subformat(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->subformat(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->subformatFixed(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ZZ)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->subparse(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/DigitList_Android;[Z[Landroid/icu/util/Currency;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->toPattern()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->toPattern(Z)Ljava/lang/String;
-HSPLandroid/icu/text/DictionaryBreakEngine$DequeI;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/DictionaryBreakEngine$DequeI;->removeAllElements()V
-HSPLandroid/icu/text/DigitList_Android;->append(I)V
-HSPLandroid/icu/text/DigitList_Android;->getDigitValue(I)B
-HSPLandroid/icu/text/DigitList_Android;->round(I)V
-HSPLandroid/icu/text/DigitList_Android;->set(DIZ)V
-HSPLandroid/icu/text/DigitList_Android;->set(JI)V
-HSPLandroid/icu/text/DigitList_Android;->set(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DigitList_Android;->shouldRoundUp(I)Z
-HSPLandroid/icu/text/DisplayContext$Type;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DisplayContext;-><init>(Ljava/lang/String;ILandroid/icu/text/DisplayContext$Type;I)V
-HSPLandroid/icu/text/Edits;-><init>()V
-HSPLandroid/icu/text/Edits;->addReplace(II)V
-HSPLandroid/icu/text/Edits;->addUnchanged(I)V
-HSPLandroid/icu/text/IDNA;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/IDNA;->convertIDNToUnicode(Ljava/lang/String;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/ListFormatter$Cache;-><init>(Landroid/icu/text/ListFormatter$1;)V
-HSPLandroid/icu/text/ListFormatter$Cache;->get(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
-HSPLandroid/icu/text/ListFormatter$Cache;->load(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
-HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;->append(Ljava/lang/String;Ljava/lang/Object;Z)Landroid/icu/text/ListFormatter$FormattedListBuilder;
-HSPLandroid/icu/text/ListFormatter$Style;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/icu/text/ListFormatter;->format(Ljava/util/Collection;I)Landroid/icu/text/ListFormatter$FormattedListBuilder;
-HSPLandroid/icu/text/Normalizer$FCDMode;-><init>(Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$ModeImpl;-><init>(Landroid/icu/text/Normalizer2;Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$NFCMode;-><init>(Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$NFDMode;-><init>(Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$NFDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-HSPLandroid/icu/text/Normalizer$NFKCMode;-><init>(Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$NFKDMode;-><init>(Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$NFKDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
-HSPLandroid/icu/text/Normalizer$NONEMode;-><init>(Landroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer$QuickCheckResult;-><init>(ILandroid/icu/text/Normalizer$1;)V
-HSPLandroid/icu/text/Normalizer2;->getNFDInstance()Landroid/icu/text/Normalizer2;
-HSPLandroid/icu/text/Normalizer2;->getNFKDInstance()Landroid/icu/text/Normalizer2;
-HSPLandroid/icu/text/Normalizer2;->normalize(Ljava/lang/CharSequence;)Ljava/lang/String;
-HSPLandroid/icu/text/Normalizer;->normalize(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;)Ljava/lang/String;
-HSPLandroid/icu/text/NumberFormat$Field;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/text/NumberFormat;-><init>()V
-HSPLandroid/icu/text/NumberFormat;->createInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-HSPLandroid/icu/text/NumberFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/NumberFormat;->getMaximumFractionDigits()I
-HSPLandroid/icu/text/NumberFormat;->getMaximumIntegerDigits()I
-HSPLandroid/icu/text/NumberFormat;->getMinimumFractionDigits()I
-HSPLandroid/icu/text/NumberFormat;->getMinimumIntegerDigits()I
-HSPLandroid/icu/text/NumberFormat;->getPatternForStyleAndNumberingSystem(Landroid/icu/util/ULocale;Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/icu/text/NumberFormat;->getShim()Landroid/icu/text/NumberFormat$NumberFormatShim;
-HSPLandroid/icu/text/NumberFormat;->isGroupingUsed()Z
-HSPLandroid/icu/text/NumberFormat;->isParseIntegerOnly()Z
-HSPLandroid/icu/text/NumberFormat;->isParseStrict()Z
-HSPLandroid/icu/text/NumberFormat;->setGroupingUsed(Z)V
-HSPLandroid/icu/text/NumberFormat;->setParseIntegerOnly(Z)V
-HSPLandroid/icu/text/NumberFormatServiceShim$NFService$1RBNumberFormatFactory;->handleCreate(Landroid/icu/util/ULocale;ILandroid/icu/impl/ICUService;)Ljava/lang/Object;
-HSPLandroid/icu/text/NumberFormatServiceShim$NFService;-><init>()V
-HSPLandroid/icu/text/NumberFormatServiceShim;-><init>()V
-HSPLandroid/icu/text/NumberFormatServiceShim;->createInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-HSPLandroid/icu/text/NumberingSystem$1;-><init>()V
-HSPLandroid/icu/text/NumberingSystem$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/text/NumberingSystem$1;->createInstance(Ljava/lang/String;Landroid/icu/text/NumberingSystem$LocaleLookupData;)Landroid/icu/text/NumberingSystem;
-HSPLandroid/icu/text/NumberingSystem$2;-><init>()V
-HSPLandroid/icu/text/NumberingSystem$2;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/text/NumberingSystem$2;->createInstance(Ljava/lang/String;Ljava/lang/Void;)Landroid/icu/text/NumberingSystem;
-HSPLandroid/icu/text/NumberingSystem;->getDescription()Ljava/lang/String;
-HSPLandroid/icu/text/NumberingSystem;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberingSystem;
-HSPLandroid/icu/text/NumberingSystem;->getInstance(Ljava/lang/String;IZLjava/lang/String;)Landroid/icu/text/NumberingSystem;
-HSPLandroid/icu/text/NumberingSystem;->getName()Ljava/lang/String;
-HSPLandroid/icu/text/NumberingSystem;->getRadix()I
-HSPLandroid/icu/text/NumberingSystem;->isAlgorithmic()Z
-HSPLandroid/icu/text/NumberingSystem;->lookupInstanceByLocale(Landroid/icu/text/NumberingSystem$LocaleLookupData;)Landroid/icu/text/NumberingSystem;
-HSPLandroid/icu/text/NumberingSystem;->lookupInstanceByName(Ljava/lang/String;)Landroid/icu/text/NumberingSystem;
-HSPLandroid/icu/text/PluralRanges$Matrix;->setIfNew(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)V
-HSPLandroid/icu/text/PluralRanges;-><init>()V
-HSPLandroid/icu/text/PluralRanges;->add(Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;Landroid/icu/impl/StandardPlural;)V
-HSPLandroid/icu/text/PluralRanges;->freeze()Landroid/icu/text/PluralRanges;
-HSPLandroid/icu/text/PluralRules$1;-><init>()V
-HSPLandroid/icu/text/PluralRules$1;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-HSPLandroid/icu/text/PluralRules$AndConstraint;-><init>(Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$Constraint;)V
-HSPLandroid/icu/text/PluralRules$AndConstraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-HSPLandroid/icu/text/PluralRules$FixedDecimal;-><init>(DIJ)V
-HSPLandroid/icu/text/PluralRules$FixedDecimal;->decimals(D)I
-HSPLandroid/icu/text/PluralRules$FixedDecimal;->getOperand(Ljava/lang/String;)Landroid/icu/text/PluralRules$Operand;
-HSPLandroid/icu/text/PluralRules$FixedDecimal;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D
-HSPLandroid/icu/text/PluralRules$FixedDecimal;->getVisibleDecimalDigitCount()I
-HSPLandroid/icu/text/PluralRules$FixedDecimal;->isInfinite()Z
-HSPLandroid/icu/text/PluralRules$FixedDecimal;->isNaN()Z
-HSPLandroid/icu/text/PluralRules$FixedDecimalRange;-><init>(Landroid/icu/text/PluralRules$FixedDecimal;Landroid/icu/text/PluralRules$FixedDecimal;)V
-HSPLandroid/icu/text/PluralRules$FixedDecimalSamples;->checkDecimal(Landroid/icu/text/PluralRules$SampleType;Landroid/icu/text/PluralRules$FixedDecimal;)V
-HSPLandroid/icu/text/PluralRules$FixedDecimalSamples;->parse(Ljava/lang/String;)Landroid/icu/text/PluralRules$FixedDecimalSamples;
-HSPLandroid/icu/text/PluralRules$Operand;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/PluralRules$Operand;->values()[Landroid/icu/text/PluralRules$Operand;
-HSPLandroid/icu/text/PluralRules$PluralType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/PluralRules$RangeConstraint;-><init>(IZLandroid/icu/text/PluralRules$Operand;ZDD[J)V
-HSPLandroid/icu/text/PluralRules$RangeConstraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-HSPLandroid/icu/text/PluralRules$Rule;-><init>(Ljava/lang/String;Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$FixedDecimalSamples;Landroid/icu/text/PluralRules$FixedDecimalSamples;)V
-HSPLandroid/icu/text/PluralRules$Rule;->appliesTo(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-HSPLandroid/icu/text/PluralRules$Rule;->getKeyword()Ljava/lang/String;
-HSPLandroid/icu/text/PluralRules$RuleList;-><init>(Landroid/icu/text/PluralRules$1;)V
-HSPLandroid/icu/text/PluralRules$RuleList;->addRule(Landroid/icu/text/PluralRules$Rule;)Landroid/icu/text/PluralRules$RuleList;
-HSPLandroid/icu/text/PluralRules$RuleList;->finish()Landroid/icu/text/PluralRules$RuleList;
-HSPLandroid/icu/text/PluralRules$RuleList;->getKeywords()Ljava/util/Set;
-HSPLandroid/icu/text/PluralRules$RuleList;->select(Landroid/icu/text/PluralRules$IFixedDecimal;)Ljava/lang/String;
-HSPLandroid/icu/text/PluralRules$SampleType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/PluralRules$SampleType;->values()[Landroid/icu/text/PluralRules$SampleType;
-HSPLandroid/icu/text/PluralRules$SimpleTokenizer;->split(Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/icu/text/PluralRules;-><init>(Landroid/icu/text/PluralRules$RuleList;)V
-HSPLandroid/icu/text/PluralRules;->forLocale(Ljava/util/Locale;)Landroid/icu/text/PluralRules;
-HSPLandroid/icu/text/PluralRules;->nextToken([Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/PluralRules;->parseConstraint(Ljava/lang/String;)Landroid/icu/text/PluralRules$Constraint;
-HSPLandroid/icu/text/PluralRules;->parseRule(Ljava/lang/String;)Landroid/icu/text/PluralRules$Rule;
-HSPLandroid/icu/text/PluralRules;->parseRuleChain(Ljava/lang/String;)Landroid/icu/text/PluralRules$RuleList;
-HSPLandroid/icu/text/PluralRules;->select(D)Ljava/lang/String;
-HSPLandroid/icu/text/PluralRules;->select(Landroid/icu/text/PluralRules$IFixedDecimal;)Ljava/lang/String;
-HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache$1;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
-HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache;-><init>(Landroid/icu/text/RelativeDateTimeFormatter$1;)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache;->get(Landroid/icu/util/ULocale;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
-HSPLandroid/icu/text/RelativeDateTimeFormatter$Loader;->getDateTimePattern(Landroid/icu/impl/ICUResourceBundle;)Ljava/lang/String;
-HSPLandroid/icu/text/RelativeDateTimeFormatter$Loader;->load()Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTableRelative(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTableRelativeTime(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTimeDetail(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTimeUnit(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->handleAlias(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->handlePlainDirection(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/ReplaceableString;->charAt(I)C
-HSPLandroid/icu/text/ReplaceableString;->getChars(II[CI)V
-HSPLandroid/icu/text/ReplaceableString;->length()I
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;-><init>(Landroid/icu/text/RuleBasedBreakIterator;Landroid/icu/text/RuleBasedBreakIterator$BreakCache;)V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->addFollowing(IIZ)V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->current()I
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->following(I)V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->next()V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->populateFollowing()Z
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->preceding(I)V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->previous()V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->reset(II)V
-HSPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->seek(I)Z
-HSPLandroid/icu/text/RuleBasedBreakIterator$DictionaryCache;-><init>(Landroid/icu/text/RuleBasedBreakIterator;Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;)V
-HSPLandroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->following(I)Z
-HSPLandroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->reset()V
-HSPLandroid/icu/text/RuleBasedBreakIterator$LookAheadResults;->reset()V
-HSPLandroid/icu/text/RuleBasedBreakIterator;-><init>()V
-HSPLandroid/icu/text/RuleBasedBreakIterator;->CISetIndex32(Ljava/text/CharacterIterator;I)I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/RuleBasedBreakIterator;->first()I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->following(I)I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->handleNext()I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->next()I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->preceding(I)I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->setText(Ljava/text/CharacterIterator;)V
-HSPLandroid/icu/text/RuleBasedCollator;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/RuleBasedCollator;->cloneAsThawed()Landroid/icu/text/RuleBasedCollator;
-HSPLandroid/icu/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
-HSPLandroid/icu/text/RuleBasedCollator;->setStrength(I)V
-HSPLandroid/icu/text/SimpleDateFormat;->fastZeroPaddingNumber(Ljava/lang/StringBuffer;III)V
-HSPLandroid/icu/text/SimpleDateFormat;->format(Landroid/icu/util/Calendar;Landroid/icu/text/DisplayContext;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/SimpleDateFormat;->format(Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/SimpleDateFormat;->getIndexFromChar(C)I
-HSPLandroid/icu/text/SimpleDateFormat;->getInstance(Landroid/icu/util/Calendar$FormatConfiguration;)Landroid/icu/text/SimpleDateFormat;
-HSPLandroid/icu/text/SimpleDateFormat;->getLocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/SimpleDateFormat;->getNumberFormat(C)Landroid/icu/text/NumberFormat;
-HSPLandroid/icu/text/SimpleDateFormat;->getPatternItems()[Ljava/lang/Object;
-HSPLandroid/icu/text/SimpleDateFormat;->initLocalZeroPaddingNumberFormat()V
-HSPLandroid/icu/text/SimpleDateFormat;->initialize()V
-HSPLandroid/icu/text/SimpleDateFormat;->isFieldUnitIgnored(Ljava/lang/String;I)Z
-HSPLandroid/icu/text/SimpleDateFormat;->parsePattern()V
-HSPLandroid/icu/text/SimpleDateFormat;->safeAppend([Ljava/lang/String;ILjava/lang/StringBuffer;)V
-HSPLandroid/icu/text/SimpleDateFormat;->safeAppendWithMonthPattern([Ljava/lang/String;ILjava/lang/StringBuffer;Ljava/lang/String;)V
-HSPLandroid/icu/text/SimpleDateFormat;->setContext(Landroid/icu/text/DisplayContext;)V
-HSPLandroid/icu/text/SimpleDateFormat;->subFormat(Ljava/lang/StringBuffer;CIIILandroid/icu/text/DisplayContext;Ljava/text/FieldPosition;Landroid/icu/util/Calendar;)V
-HSPLandroid/icu/text/SimpleDateFormat;->toPattern()Ljava/lang/String;
-HSPLandroid/icu/text/SimpleDateFormat;->zeroPaddingNumber(Landroid/icu/text/NumberFormat;Ljava/lang/StringBuffer;III)V
-HSPLandroid/icu/text/StringPrep;-><init>(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/text/StringPrep;->getInstance(I)Landroid/icu/text/StringPrep;
-HSPLandroid/icu/text/TimeZoneNames$Cache;-><init>(Landroid/icu/text/TimeZoneNames$1;)V
-HSPLandroid/icu/text/TimeZoneNames$Cache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/text/TimeZoneNames$Cache;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
-HSPLandroid/icu/text/TimeZoneNames$NameType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/TimeZoneNames$NameType;->values()[Landroid/icu/text/TimeZoneNames$NameType;
-HSPLandroid/icu/text/TimeZoneNames;->getDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;J)Ljava/lang/String;
-HSPLandroid/icu/text/TimeZoneNames;->getInstance(Ljava/util/Locale;)Landroid/icu/text/TimeZoneNames;
-HSPLandroid/icu/text/UCharacterIterator;->getText()Ljava/lang/String;
-HSPLandroid/icu/text/UCharacterIterator;->setToStart()V
-HSPLandroid/icu/text/UFieldPosition;->setFractionDigits(IJ)V
-HSPLandroid/icu/text/UFormat;-><init>()V
-HSPLandroid/icu/text/UFormat;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/UTF16;->append(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/UTF16;->charAt([CIII)I
-HSPLandroid/icu/text/UnhandledBreakEngine;-><init>()V
-HSPLandroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;->contains(I)Z
-HSPLandroid/icu/text/UnicodeSet$IntPropertyFilter;->contains(I)Z
-HSPLandroid/icu/text/UnicodeSet;-><init>()V
-HSPLandroid/icu/text/UnicodeSet;-><init>(II)V
-HSPLandroid/icu/text/UnicodeSet;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/text/UnicodeSet;-><init>([I)V
-HSPLandroid/icu/text/UnicodeSet;->_appendToPat(Ljava/lang/Appendable;IZ)Ljava/lang/Appendable;
-HSPLandroid/icu/text/UnicodeSet;->add(I)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->add(II)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->add([III)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->addAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->add_unchecked(I)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->add_unchecked(II)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->append(Ljava/lang/Appendable;Ljava/lang/CharSequence;)V
-HSPLandroid/icu/text/UnicodeSet;->appendCodePoint(Ljava/lang/Appendable;I)V
-HSPLandroid/icu/text/UnicodeSet;->appendNewPattern(Ljava/lang/Appendable;ZZ)Ljava/lang/Appendable;
-HSPLandroid/icu/text/UnicodeSet;->applyFilter(Landroid/icu/text/UnicodeSet$Filter;Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/text/UnicodeSet;->applyIntPropertyValue(II)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->applyPattern(Landroid/icu/impl/RuleCharacterIterator;Landroid/icu/text/SymbolTable;Ljava/lang/Appendable;II)V
-HSPLandroid/icu/text/UnicodeSet;->applyPattern(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;I)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->applyPropertyAlias(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/SymbolTable;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->applyPropertyPattern(Landroid/icu/impl/RuleCharacterIterator;Ljava/lang/Appendable;Landroid/icu/text/SymbolTable;)V
-HSPLandroid/icu/text/UnicodeSet;->applyPropertyPattern(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->clear()Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/UnicodeSet;->compact()Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->complement()Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->contains(I)Z
-HSPLandroid/icu/text/UnicodeSet;->containsAll(Ljava/lang/String;)Z
-HSPLandroid/icu/text/UnicodeSet;->containsNone(II)Z
-HSPLandroid/icu/text/UnicodeSet;->findCodePoint(I)I
-HSPLandroid/icu/text/UnicodeSet;->freeze()Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->getRangeCount()I
-HSPLandroid/icu/text/UnicodeSet;->getRangeEnd(I)I
-HSPLandroid/icu/text/UnicodeSet;->getRangeStart(I)I
-HSPLandroid/icu/text/UnicodeSet;->getSingleCP(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/text/UnicodeSet;->hasStrings()Z
-HSPLandroid/icu/text/UnicodeSet;->isFrozen()Z
-HSPLandroid/icu/text/UnicodeSet;->resemblesPropertyPattern(Landroid/icu/impl/RuleCharacterIterator;I)Z
-HSPLandroid/icu/text/UnicodeSet;->retain([III)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->retainAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->set(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/util/AnnualTimeZoneRule;->getEndYear()I
-HSPLandroid/icu/util/AnnualTimeZoneRule;->getFirstStart(II)Ljava/util/Date;
-HSPLandroid/icu/util/AnnualTimeZoneRule;->getNextStart(JIIZ)Ljava/util/Date;
-HSPLandroid/icu/util/AnnualTimeZoneRule;->getRule()Landroid/icu/util/DateTimeRule;
-HSPLandroid/icu/util/AnnualTimeZoneRule;->getStartInYear(III)Ljava/util/Date;
-HSPLandroid/icu/util/BytesTrie$Result;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/BytesTrie;->branchNext(III)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/BytesTrie;->jumpByDelta([BI)I
-HSPLandroid/icu/util/BytesTrie;->next(I)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/BytesTrie;->nextImpl(II)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/BytesTrie;->readValue([BII)I
-HSPLandroid/icu/util/Calendar$FormatConfiguration;->getCalendar()Landroid/icu/util/Calendar;
-HSPLandroid/icu/util/Calendar$FormatConfiguration;->getDateFormatSymbols()Landroid/icu/text/DateFormatSymbols;
-HSPLandroid/icu/util/Calendar$FormatConfiguration;->getLocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/Calendar$FormatConfiguration;->getOverrideString()Ljava/lang/String;
-HSPLandroid/icu/util/Calendar$FormatConfiguration;->getPatternString()Ljava/lang/String;
-HSPLandroid/icu/util/Calendar$PatternData;->make(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/util/Calendar$PatternData;
-HSPLandroid/icu/util/Calendar$WeekDataCache;-><init>(Landroid/icu/util/Calendar$1;)V
-HSPLandroid/icu/util/Calendar$WeekDataCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/util/Calendar$WeekDataCache;->createInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/Calendar$WeekData;
-HSPLandroid/icu/util/Calendar;->clone()Ljava/lang/Object;
-HSPLandroid/icu/util/Calendar;->complete()V
-HSPLandroid/icu/util/Calendar;->computeFields()V
-HSPLandroid/icu/util/Calendar;->computeGregorianFields(I)V
-HSPLandroid/icu/util/Calendar;->computeWeekFields()V
-HSPLandroid/icu/util/Calendar;->createInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar;
-HSPLandroid/icu/util/Calendar;->floorDivide(JI[I)I
-HSPLandroid/icu/util/Calendar;->formatHelper(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;II)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/util/Calendar;->get(I)I
-HSPLandroid/icu/util/Calendar;->getCalendarTypeForLocale(Landroid/icu/util/ULocale;)Landroid/icu/impl/CalType;
-HSPLandroid/icu/util/Calendar;->getDateTimeFormat(IILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/util/Calendar;->getFieldCount()I
-HSPLandroid/icu/util/Calendar;->getFirstDayOfWeek()I
-HSPLandroid/icu/util/Calendar;->getKeywordValuesForLocale(Ljava/lang/String;Landroid/icu/util/ULocale;Z)[Ljava/lang/String;
-HSPLandroid/icu/util/Calendar;->getMinimalDaysInFirstWeek()I
-HSPLandroid/icu/util/Calendar;->getPatternData(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/util/Calendar$PatternData;
-HSPLandroid/icu/util/Calendar;->getRepeatedWallTimeOption()I
-HSPLandroid/icu/util/Calendar;->getSkippedWallTimeOption()I
-HSPLandroid/icu/util/Calendar;->getTimeInMillis()J
-HSPLandroid/icu/util/Calendar;->getTimeZone()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/Calendar;->getWeekDataForRegionInternal(Ljava/lang/String;)Landroid/icu/util/Calendar$WeekData;
-HSPLandroid/icu/util/Calendar;->handleCreateFields()[I
-HSPLandroid/icu/util/Calendar;->handleGetDateFormat(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/util/Calendar;->initInternal()V
-HSPLandroid/icu/util/Calendar;->internalSet(II)V
-HSPLandroid/icu/util/Calendar;->isEquivalentTo(Landroid/icu/util/Calendar;)Z
-HSPLandroid/icu/util/Calendar;->isLenient()Z
-HSPLandroid/icu/util/Calendar;->setCalendarLocale(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/util/Calendar;->setFirstDayOfWeek(I)V
-HSPLandroid/icu/util/Calendar;->setMinimalDaysInFirstWeek(I)V
-HSPLandroid/icu/util/Calendar;->setTimeInMillis(J)V
-HSPLandroid/icu/util/Calendar;->setTimeZone(Landroid/icu/util/TimeZone;)V
-HSPLandroid/icu/util/Calendar;->setWeekData(Landroid/icu/util/Calendar$WeekData;)Landroid/icu/util/Calendar;
-HSPLandroid/icu/util/Calendar;->weekNumber(III)I
-HSPLandroid/icu/util/CodePointMap$RangeOption;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/CodePointMap;->getRange(ILandroid/icu/util/CodePointMap$RangeOption;ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
-HSPLandroid/icu/util/CodePointTrie$Data16;->getDataLength()I
-HSPLandroid/icu/util/CodePointTrie$Data16;->getFromIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast16;-><init>([C[CIII)V
-HSPLandroid/icu/util/CodePointTrie$Fast;->getType()Landroid/icu/util/CodePointTrie$Type;
-HSPLandroid/icu/util/CodePointTrie$Type;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/CodePointTrie$ValueWidth;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/CodePointTrie$ValueWidth;->values()[Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie;-><init>([CLandroid/icu/util/CodePointTrie$Data;III)V
-HSPLandroid/icu/util/CodePointTrie;-><init>([CLandroid/icu/util/CodePointTrie$Data;IIILandroid/icu/util/CodePointTrie$1;)V
-HSPLandroid/icu/util/CodePointTrie;->fromBinary(Landroid/icu/util/CodePointTrie$Type;Landroid/icu/util/CodePointTrie$ValueWidth;Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie;
-HSPLandroid/icu/util/CodePointTrie;->getRange(ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
-HSPLandroid/icu/util/Currency$1;-><init>()V
-HSPLandroid/icu/util/Currency$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/util/Currency$1;->createInstance(Ljava/lang/String;Ljava/lang/Void;)Landroid/icu/util/Currency;
-HSPLandroid/icu/util/Currency$CurrencyUsage;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/Currency;->createCurrency(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;
-HSPLandroid/icu/util/Currency;->getCurrencyCode()Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getInstance(Ljava/lang/String;)Landroid/icu/util/Currency;
-HSPLandroid/icu/util/Currency;->getInstance(Ljava/util/Locale;)Landroid/icu/util/Currency;
-HSPLandroid/icu/util/Currency;->getName(Landroid/icu/util/ULocale;I[Z)Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getSymbol(Landroid/icu/util/ULocale;)Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getSymbol(Ljava/util/Locale;)Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->isAlpha3Code(Ljava/lang/String;)Z
-HSPLandroid/icu/util/Currency;->loadCurrency(Ljava/lang/String;)Landroid/icu/util/Currency;
-HSPLandroid/icu/util/DateTimeRule;->getDateRuleType()I
-HSPLandroid/icu/util/DateTimeRule;->getRuleDayOfMonth()I
-HSPLandroid/icu/util/DateTimeRule;->getRuleDayOfWeek()I
-HSPLandroid/icu/util/DateTimeRule;->getRuleMillisInDay()I
-HSPLandroid/icu/util/DateTimeRule;->getRuleMonth()I
-HSPLandroid/icu/util/DateTimeRule;->getTimeRuleType()I
-HSPLandroid/icu/util/GregorianCalendar;-><init>()V
-HSPLandroid/icu/util/GregorianCalendar;->getType()Ljava/lang/String;
-HSPLandroid/icu/util/GregorianCalendar;->handleComputeFields(I)V
-HSPLandroid/icu/util/GregorianCalendar;->handleGetYearLength(I)I
-HSPLandroid/icu/util/GregorianCalendar;->isEquivalentTo(Landroid/icu/util/Calendar;)Z
-HSPLandroid/icu/util/GregorianCalendar;->isLeapYear(I)Z
-HSPLandroid/icu/util/MeasureUnit$1;-><init>()V
-HSPLandroid/icu/util/MeasureUnit$1;->create(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-HSPLandroid/icu/util/MeasureUnit$2;-><init>()V
-HSPLandroid/icu/util/MeasureUnit$2;->create(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-HSPLandroid/icu/util/MeasureUnit$3;-><init>()V
-HSPLandroid/icu/util/MeasureUnit$3;->create(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-HSPLandroid/icu/util/MeasureUnit$4;-><init>()V
-HSPLandroid/icu/util/MeasureUnit;->addUnit(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/MeasureUnit$Factory;)Landroid/icu/util/MeasureUnit;
-HSPLandroid/icu/util/MeasureUnit;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/util/MeasureUnit;->hashCode()I
-HSPLandroid/icu/util/MeasureUnit;->internalGetInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-HSPLandroid/icu/util/SimpleTimeZone;-><init>(ILjava/lang/String;IIIIIIIIIII)V
-HSPLandroid/icu/util/SimpleTimeZone;->clone()Ljava/lang/Object;
-HSPLandroid/icu/util/SimpleTimeZone;->cloneAsThawed()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/SimpleTimeZone;->compareToRule(IIIIIIIIIIII)I
-HSPLandroid/icu/util/SimpleTimeZone;->construct(IIIIIIIIIIII)V
-HSPLandroid/icu/util/SimpleTimeZone;->decodeEndRule()V
-HSPLandroid/icu/util/SimpleTimeZone;->decodeStartRule()V
-HSPLandroid/icu/util/SimpleTimeZone;->getDSTSavings()I
-HSPLandroid/icu/util/SimpleTimeZone;->getNextTransition(JZ)Landroid/icu/util/TimeZoneTransition;
-HSPLandroid/icu/util/SimpleTimeZone;->getOffset(IIIIII)I
-HSPLandroid/icu/util/SimpleTimeZone;->getOffset(IIIIIII)I
-HSPLandroid/icu/util/SimpleTimeZone;->getOffset(IIIIIIII)I
-HSPLandroid/icu/util/SimpleTimeZone;->getRawOffset()I
-HSPLandroid/icu/util/SimpleTimeZone;->getTimeZoneRules()[Landroid/icu/util/TimeZoneRule;
-HSPLandroid/icu/util/SimpleTimeZone;->initTransitionRules()V
-HSPLandroid/icu/util/SimpleTimeZone;->isFrozen()Z
-HSPLandroid/icu/util/SimpleTimeZone;->setID(Ljava/lang/String;)V
-HSPLandroid/icu/util/SimpleTimeZone;->setStartYear(I)V
-HSPLandroid/icu/util/SimpleTimeZone;->useDaylightTime()Z
-HSPLandroid/icu/util/TimeArrayTimeZoneRule;-><init>(Ljava/lang/String;II[JI)V
-HSPLandroid/icu/util/TimeZone$ConstantZone;-><init>(ILjava/lang/String;Landroid/icu/util/TimeZone$1;)V
-HSPLandroid/icu/util/TimeZone$ConstantZone;->freeze()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/TimeZone$SystemTimeZoneType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/TimeZone$SystemTimeZoneType;->values()[Landroid/icu/util/TimeZone$SystemTimeZoneType;
-HSPLandroid/icu/util/TimeZone;->cloneAsThawed()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/TimeZone;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/util/TimeZone;->getAvailableIDs(Landroid/icu/util/TimeZone$SystemTimeZoneType;Ljava/lang/String;Ljava/lang/Integer;)Ljava/util/Set;
-HSPLandroid/icu/util/TimeZone;->getCanonicalID(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/TimeZone;->getCanonicalID(Ljava/lang/String;[Z)Ljava/lang/String;
-HSPLandroid/icu/util/TimeZone;->getDefault()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/TimeZone;->getFrozenTimeZone(Ljava/lang/String;)Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/TimeZone;->getID()Ljava/lang/String;
-HSPLandroid/icu/util/TimeZone;->getOffset(J)I
-HSPLandroid/icu/util/TimeZone;->getOffset(JZ[I)V
-HSPLandroid/icu/util/TimeZone;->getTimeZone(Ljava/lang/String;IZ)Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/TimeZone;->setICUDefault(Landroid/icu/util/TimeZone;)V
-HSPLandroid/icu/util/TimeZoneRule;->getDSTSavings()I
-HSPLandroid/icu/util/TimeZoneRule;->getName()Ljava/lang/String;
-HSPLandroid/icu/util/TimeZoneRule;->getRawOffset()I
-HSPLandroid/icu/util/TimeZoneTransition;->getFrom()Landroid/icu/util/TimeZoneRule;
-HSPLandroid/icu/util/TimeZoneTransition;->getTime()J
-HSPLandroid/icu/util/TimeZoneTransition;->getTo()Landroid/icu/util/TimeZoneRule;
-HSPLandroid/icu/util/ULocale$1;-><init>()V
-HSPLandroid/icu/util/ULocale$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/util/ULocale$1;->createInstance(Ljava/lang/String;Ljava/lang/Void;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale$2;-><init>()V
-HSPLandroid/icu/util/ULocale$2;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/util/ULocale$2;->createInstance(Ljava/util/Locale;Ljava/lang/Void;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale$Category;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/ULocale$Category;->values()[Landroid/icu/util/ULocale$Category;
-HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->getDefault(Landroid/icu/util/ULocale$Category;)Ljava/util/Locale;
-HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toLocale(Landroid/icu/util/ULocale;)Ljava/util/Locale;
-HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale$Type;-><init>(Landroid/icu/util/ULocale$1;)V
-HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
-HSPLandroid/icu/util/ULocale;->addLikelySubtags(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->base()Landroid/icu/impl/locale/BaseLocale;
-HSPLandroid/icu/util/ULocale;->canonicalize(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->createLikelySubtagsString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->equals(Ljava/lang/Object;)Z
-HSPLandroid/icu/util/ULocale;->extensions()Landroid/icu/impl/locale/LocaleExtensions;
-HSPLandroid/icu/util/ULocale;->forLanguageTag(Ljava/lang/String;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->forLocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->getDefault()Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->getDefault(Landroid/icu/util/ULocale$Category;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->getInstance(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->getName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->getRegionForSupplementalData(Landroid/icu/util/ULocale;Z)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->getScript()Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->getShortestSubtagLength(Ljava/lang/String;)I
-HSPLandroid/icu/util/ULocale;->hashCode()I
-HSPLandroid/icu/util/ULocale;->isRightToLeft()Z
-HSPLandroid/icu/util/ULocale;->lookupLikelySubtags(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->lscvToID(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->parseTagString(Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/icu/util/ULocale;->toLanguageTag()Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->toString()Ljava/lang/String;
-HSPLandroid/icu/util/UResourceBundle$RootType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/UResourceBundle$RootType;->values()[Landroid/icu/util/UResourceBundle$RootType;
-HSPLandroid/icu/util/UResourceBundle;->get(I)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/UResourceBundle;->get(Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/UResourceBundle;->getIterator()Landroid/icu/util/UResourceBundleIterator;
-HSPLandroid/icu/util/UResourceBundle;->getRootType(Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle$RootType;
-HSPLandroid/icu/util/UResourceBundle;->handleGetObjectImpl(Ljava/lang/String;Landroid/icu/util/UResourceBundle;)Ljava/lang/Object;
-HSPLandroid/icu/util/UResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/UResourceBundle;->resolveObject(Ljava/lang/String;Landroid/icu/util/UResourceBundle;)Ljava/lang/Object;
-HSPLandroid/icu/util/UResourceBundleIterator;->hasNext()Z
-HSPLandroid/icu/util/UResourceBundleIterator;->next()Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/VersionInfo;->compareTo(Landroid/icu/util/VersionInfo;)I
-HSPLandroid/icu/util/VersionInfo;->getInstance(I)Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/util/VersionInfo;->getInstance(IIII)Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/util/VersionInfo;->getInstance(Ljava/lang/String;)Landroid/icu/util/VersionInfo;
-HSPLandroid/inputmethodservice/-$$Lambda$InputMethodService$8T9TmAUIN7vW9eU6kTg8309_d4E;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;->createSession(Landroid/view/inputmethod/InputMethod$SessionCallback;)V
-HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;->setSessionEnabled(Landroid/view/inputmethod/InputMethodSession;Z)V
-HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->dispatchKeyEvent(ILandroid/view/KeyEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
-HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->isEnabled()Z
-HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->setEnabled(Z)V
-HSPLandroid/inputmethodservice/AbstractInputMethodService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;->finishedEvent(IZ)V
-HSPLandroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
-HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->executeMessage(Landroid/os/Message;)V
-HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->finishSession()V
-HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->getInternalInputMethodSession()Landroid/view/inputmethod/InputMethodSession;
-HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->updateSelection(IIIIII)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper$InputMethodSessionCallbackWrapper;->sessionCreated(Landroid/view/inputmethod/InputMethodSession;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;-><init>(Landroid/inputmethodservice/AbstractInputMethodService;Landroid/view/inputmethod/InputMethod;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->executeMessage(Landroid/os/Message;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;ZZ)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->unbindInput()V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;-><init>(Landroid/inputmethodservice/InputMethodService;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->attachToken(Landroid/os/IBinder;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->dispatchStartInputWithToken(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;Z)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->startInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->unbindInput()V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->updateInputMethodDisplay(I)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;->updateSelection(IIIIII)V
-HSPLandroid/inputmethodservice/InputMethodService$SettingsObserver;->shouldShowImeWithHardKeyboard()Z
-HSPLandroid/inputmethodservice/InputMethodService;-><init>()V
-HSPLandroid/inputmethodservice/InputMethodService;->doFinishInput()V
-HSPLandroid/inputmethodservice/InputMethodService;->doMovementKey(ILandroid/view/KeyEvent;I)Z
-HSPLandroid/inputmethodservice/InputMethodService;->doStartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;Z)V
-HSPLandroid/inputmethodservice/InputMethodService;->getCandidatesHiddenVisibility()I
-HSPLandroid/inputmethodservice/InputMethodService;->getCurrentInputBinding()Landroid/view/inputmethod/InputBinding;
-HSPLandroid/inputmethodservice/InputMethodService;->getCurrentInputConnection()Landroid/view/inputmethod/InputConnection;
-HSPLandroid/inputmethodservice/InputMethodService;->getCurrentInputEditorInfo()Landroid/view/inputmethod/EditorInfo;
-HSPLandroid/inputmethodservice/InputMethodService;->hideStatusIcon()V
-HSPLandroid/inputmethodservice/InputMethodService;->hideWindow()V
-HSPLandroid/inputmethodservice/InputMethodService;->initViews()V
-HSPLandroid/inputmethodservice/InputMethodService;->initialize()V
-HSPLandroid/inputmethodservice/InputMethodService;->isExtractViewShown()Z
-HSPLandroid/inputmethodservice/InputMethodService;->isFullscreenMode()Z
-HSPLandroid/inputmethodservice/InputMethodService;->lambda$new$0$InputMethodService(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HSPLandroid/inputmethodservice/InputMethodService;->notifyUserActionIfNecessary()V
-HSPLandroid/inputmethodservice/InputMethodService;->onBindInput()V
-HSPLandroid/inputmethodservice/InputMethodService;->onConfigureWindow(Landroid/view/Window;ZZ)V
-HSPLandroid/inputmethodservice/InputMethodService;->onCreate()V
-HSPLandroid/inputmethodservice/InputMethodService;->onCreateInputMethodSessionInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;
-HSPLandroid/inputmethodservice/InputMethodService;->onEvaluateInputViewShown()Z
-HSPLandroid/inputmethodservice/InputMethodService;->onInitializeInterface()V
-HSPLandroid/inputmethodservice/InputMethodService;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HSPLandroid/inputmethodservice/InputMethodService;->onShowInputRequested(IZ)Z
-HSPLandroid/inputmethodservice/InputMethodService;->onUnbindInput()V
-HSPLandroid/inputmethodservice/InputMethodService;->onUpdateSelection(IIIIII)V
-HSPLandroid/inputmethodservice/InputMethodService;->onWindowHidden()V
-HSPLandroid/inputmethodservice/InputMethodService;->onWindowShown()V
-HSPLandroid/inputmethodservice/InputMethodService;->prepareWindow(Z)Z
-HSPLandroid/inputmethodservice/InputMethodService;->setBackDisposition(I)V
-HSPLandroid/inputmethodservice/InputMethodService;->setInputView(Landroid/view/View;)V
-HSPLandroid/inputmethodservice/InputMethodService;->showWindow(Z)V
-HSPLandroid/inputmethodservice/InputMethodService;->startExtractingText(Z)V
-HSPLandroid/inputmethodservice/InputMethodService;->startViews(Z)V
-HSPLandroid/inputmethodservice/InputMethodService;->updateCandidatesVisibility(Z)V
-HSPLandroid/inputmethodservice/InputMethodService;->updateExtractFrameVisibility()V
-HSPLandroid/inputmethodservice/InputMethodService;->updateFullscreenMode()V
-HSPLandroid/inputmethodservice/InputMethodService;->updateInputViewShown()V
-HSPLandroid/inputmethodservice/SoftInputWindow;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/inputmethodservice/SoftInputWindow;->initDockWindow()V
-HSPLandroid/inputmethodservice/SoftInputWindow;->setToken(Landroid/os/IBinder;)V
-HSPLandroid/inputmethodservice/SoftInputWindow;->show()V
-HSPLandroid/location/Address$1;-><init>()V
-HSPLandroid/location/Address$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Address;
-HSPLandroid/location/Address$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/location/Address;->getCountryCode()Ljava/lang/String;
-HPLandroid/location/Address;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/Country$1;-><init>()V
-HSPLandroid/location/Country$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Country;
-HSPLandroid/location/Country$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/location/Country;-><init>(Ljava/lang/String;I)V
-HSPLandroid/location/Country;->equals(Ljava/lang/Object;)Z
-HSPLandroid/location/Country;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/CountryDetector;->addCountryListener(Landroid/location/CountryListener;Landroid/os/Looper;)V
-HSPLandroid/location/CountryDetector;->detectCountry()Landroid/location/Country;
-HSPLandroid/location/Criteria$1;-><init>()V
-HPLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Criteria;
-HPLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/location/Criteria;->getAccuracy()I
-PLandroid/location/Criteria;->getPowerRequirement()I
-PLandroid/location/Criteria;->isAltitudeRequired()Z
-PLandroid/location/Criteria;->isBearingRequired()Z
-PLandroid/location/Criteria;->isCostAllowed()Z
-PLandroid/location/Criteria;->isSpeedRequired()Z
-HSPLandroid/location/Geocoder;-><init>(Landroid/content/Context;)V
-HSPLandroid/location/Geocoder;-><init>(Landroid/content/Context;Ljava/util/Locale;)V
-HSPLandroid/location/Geocoder;->getFromLocation(DDI)Ljava/util/List;
-HSPLandroid/location/Geocoder;->isPresent()Z
-HSPLandroid/location/GeocoderParams$1;-><init>()V
-HPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GeocoderParams;
-HPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/location/GeocoderParams;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/GnssClock$1;-><init>()V
-PLandroid/location/GnssClock;-><init>()V
-HSPLandroid/location/GnssClock;->initialize()V
-PLandroid/location/GnssClock;->setDriftNanosPerSecond(D)V
-PLandroid/location/GnssClock;->setDriftUncertaintyNanosPerSecond(D)V
-PLandroid/location/GnssClock;->setHardwareClockDiscontinuityCount(I)V
-PLandroid/location/GnssClock;->setTimeNanos(J)V
-HPLandroid/location/GnssClock;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/GnssMeasurement$1;-><init>()V
-HPLandroid/location/GnssMeasurement;-><init>()V
-HSPLandroid/location/GnssMeasurement;->initialize()V
-HPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeMeters(D)V
-HPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeState(I)V
-HPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeUncertaintyMeters(D)V
-HPLandroid/location/GnssMeasurement;->setAutomaticGainControlLevelInDb(D)V
-HPLandroid/location/GnssMeasurement;->setCarrierFrequencyHz(F)V
-HPLandroid/location/GnssMeasurement;->setCn0DbHz(D)V
-HPLandroid/location/GnssMeasurement;->setConstellationType(I)V
-HPLandroid/location/GnssMeasurement;->setMultipathIndicator(I)V
-HPLandroid/location/GnssMeasurement;->setPseudorangeRateMetersPerSecond(D)V
-HPLandroid/location/GnssMeasurement;->setPseudorangeRateUncertaintyMetersPerSecond(D)V
-HPLandroid/location/GnssMeasurement;->setReceivedSvTimeNanos(J)V
-HPLandroid/location/GnssMeasurement;->setReceivedSvTimeUncertaintyNanos(J)V
-HPLandroid/location/GnssMeasurement;->setState(I)V
-HPLandroid/location/GnssMeasurement;->setSvid(I)V
-HPLandroid/location/GnssMeasurement;->setTimeOffsetNanos(D)V
-HPLandroid/location/GnssMeasurement;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/GnssMeasurementCorrections$1;-><init>()V
-HSPLandroid/location/GnssMeasurementsEvent$1;-><init>()V
-HSPLandroid/location/GnssMeasurementsEvent;-><init>(Landroid/location/GnssClock;[Landroid/location/GnssMeasurement;)V
-HSPLandroid/location/GnssReflectingPlane$1;-><init>()V
-HSPLandroid/location/GnssSingleSatCorrection$1;-><init>()V
-HSPLandroid/location/ICountryDetector$Stub$Proxy;->detectCountry()Landroid/location/Country;
-HSPLandroid/location/ICountryDetector$Stub;-><init>()V
-HSPLandroid/location/ICountryDetector$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/location/ICountryListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/location/ICountryListener$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/location/IGeocodeProvider$Stub$Proxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-PLandroid/location/IGeocodeProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGeocodeProvider;
-PLandroid/location/IGeofenceProvider$Stub$Proxy;->setGeofenceHardware(Landroid/hardware/location/IGeofenceHardware;)V
-PLandroid/location/IGeofenceProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGeofenceProvider;
-PLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
-PLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->onStatusChanged(I)V
-HPLandroid/location/IGnssMeasurementsListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssMeasurementsListener;
-HSPLandroid/location/IGpsGeofenceHardware$Stub;-><init>()V
-HPLandroid/location/ILocationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/location/ILocationListener$Stub$Proxy;->onLocationChanged(Landroid/location/Location;)V
-PLandroid/location/ILocationListener$Stub$Proxy;->onProviderDisabled(Ljava/lang/String;)V
-PLandroid/location/ILocationListener$Stub$Proxy;->onProviderEnabled(Ljava/lang/String;)V
-HSPLandroid/location/ILocationListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/location/ILocationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationListener;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->geocoderIsPresent()Z
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
+HSPLandroid/hardware/usb/UsbManager;-><init>(Landroid/content/Context;Landroid/hardware/usb/IUsbManager;)V
+HSPLandroid/hardware/usb/UsbPort;->getId()Ljava/lang/String;
+HSPLandroid/hardware/usb/UsbPortStatus;-><init>(IIIIII)V
+HSPLandroid/hardware/usb/UsbPortStatus;->isConnected()Z
+PLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$OaIkiu4R0h4pgFbCDDlNkbmPaps;-><init>(Landroid/location/LocationManager$LocationListenerTransport;Ljava/util/concurrent/Executor;Landroid/location/Location;)V
+PLandroid/location/-$$Lambda$LocationManager$LocationListenerTransport$OaIkiu4R0h4pgFbCDDlNkbmPaps;->run()V
+HSPLandroid/location/AbstractListenerManager;-><init>()V
+PLandroid/location/ILocationListener$Stub;-><init>()V
+PLandroid/location/ILocationListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/location/ILocationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/location/ILocationManager$Stub$Proxy;->isLocationEnabledForUser(I)Z
-HSPLandroid/location/ILocationManager$Stub$Proxy;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager$Stub;-><init>()V
HSPLandroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
-HPLandroid/location/ILocationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/location/ILocationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/location/INetInitiatedListener$Stub;-><init>()V
-HSPLandroid/location/Location$1;-><init>()V
-HSPLandroid/location/Location$1;->initialValue()Landroid/location/Location$BearingDistanceCache;
-HSPLandroid/location/Location$1;->initialValue()Ljava/lang/Object;
-HSPLandroid/location/Location$2;-><init>()V
HSPLandroid/location/Location$2;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Location;
HSPLandroid/location/Location$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/location/Location$BearingDistanceCache;->access$102(Landroid/location/Location$BearingDistanceCache;F)F
-HSPLandroid/location/Location$BearingDistanceCache;->access$202(Landroid/location/Location$BearingDistanceCache;F)F
-HSPLandroid/location/Location$BearingDistanceCache;->access$302(Landroid/location/Location$BearingDistanceCache;F)F
-HSPLandroid/location/Location$BearingDistanceCache;->access$402(Landroid/location/Location$BearingDistanceCache;D)D
-HSPLandroid/location/Location$BearingDistanceCache;->access$502(Landroid/location/Location$BearingDistanceCache;D)D
-HSPLandroid/location/Location$BearingDistanceCache;->access$602(Landroid/location/Location$BearingDistanceCache;D)D
-HSPLandroid/location/Location$BearingDistanceCache;->access$702(Landroid/location/Location$BearingDistanceCache;D)D
-HSPLandroid/location/Location;-><init>(Landroid/location/Location;)V
+PLandroid/location/Location;-><init>(Landroid/location/Location;)V
HSPLandroid/location/Location;-><init>(Ljava/lang/String;)V
-HSPLandroid/location/Location;->computeDistanceAndBearing(DDDDLandroid/location/Location$BearingDistanceCache;)V
-HPLandroid/location/Location;->describeContents()I
-HSPLandroid/location/Location;->distanceTo(Landroid/location/Location;)F
-HSPLandroid/location/Location;->getAccuracy()F
-HSPLandroid/location/Location;->getAltitude()D
-HSPLandroid/location/Location;->getElapsedRealtimeNanos()J
-HPLandroid/location/Location;->getExtraLocation(Ljava/lang/String;)Landroid/location/Location;
-HSPLandroid/location/Location;->getExtras()Landroid/os/Bundle;
-HSPLandroid/location/Location;->getLatitude()D
-HSPLandroid/location/Location;->getLongitude()D
-HSPLandroid/location/Location;->getProvider()Ljava/lang/String;
-HSPLandroid/location/Location;->getSpeed()F
-HSPLandroid/location/Location;->getTime()J
-HSPLandroid/location/Location;->hasAccuracy()Z
-HSPLandroid/location/Location;->hasBearing()Z
-HSPLandroid/location/Location;->hasSpeed()Z
-HPLandroid/location/Location;->isComplete()Z
-HSPLandroid/location/Location;->isFromMockProvider()Z
-HSPLandroid/location/Location;->set(Landroid/location/Location;)V
-HSPLandroid/location/Location;->setAccuracy(F)V
-HSPLandroid/location/Location;->setAltitude(D)V
-HSPLandroid/location/Location;->setBearing(F)V
-HSPLandroid/location/Location;->setBearingAccuracyDegrees(F)V
-HSPLandroid/location/Location;->setElapsedRealtimeNanos(J)V
-HPLandroid/location/Location;->setExtraLocation(Ljava/lang/String;Landroid/location/Location;)V
-HSPLandroid/location/Location;->setExtras(Landroid/os/Bundle;)V
-HSPLandroid/location/Location;->setLatitude(D)V
-HSPLandroid/location/Location;->setLongitude(D)V
-HSPLandroid/location/Location;->setSpeed(F)V
-HSPLandroid/location/Location;->setSpeedAccuracyMetersPerSecond(F)V
-HSPLandroid/location/Location;->setTime(J)V
-HSPLandroid/location/Location;->setVerticalAccuracyMeters(F)V
-HSPLandroid/location/Location;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/LocationManager$ListenerTransport$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/location/LocationManager$ListenerTransport$2;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/location/LocationManager$ListenerTransport;->_handleMessage(Landroid/os/Message;)V
-HSPLandroid/location/LocationManager$ListenerTransport;->locationCallbackFinished()V
-HSPLandroid/location/LocationManager$ListenerTransport;->onLocationChanged(Landroid/location/Location;)V
-HSPLandroid/location/LocationManager$ListenerTransport;->onProviderDisabled(Ljava/lang/String;)V
+PLandroid/location/Location;->getAccuracy()F
+PLandroid/location/Location;->getLatitude()D
+PLandroid/location/Location;->getLongitude()D
+PLandroid/location/Location;->getProvider()Ljava/lang/String;
+PLandroid/location/Location;->hasAccuracy()Z
+PLandroid/location/Location;->set(Landroid/location/Location;)V
+HSPLandroid/location/LocationManager$BatchedLocationCallbackManager;-><init>(Landroid/location/LocationManager;)V
+HSPLandroid/location/LocationManager$BatchedLocationCallbackManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
+HSPLandroid/location/LocationManager$GnssMeasurementsListenerManager;-><init>(Landroid/location/LocationManager;)V
+HSPLandroid/location/LocationManager$GnssMeasurementsListenerManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
+HSPLandroid/location/LocationManager$GnssNavigationMessageListenerManager;-><init>(Landroid/location/LocationManager;)V
+HSPLandroid/location/LocationManager$GnssNavigationMessageListenerManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
+HSPLandroid/location/LocationManager$GnssStatusListenerManager;-><init>(Landroid/location/LocationManager;)V
+HSPLandroid/location/LocationManager$GnssStatusListenerManager;-><init>(Landroid/location/LocationManager;Landroid/location/LocationManager$1;)V
+PLandroid/location/LocationManager$LocationListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/LocationListener;)V
+PLandroid/location/LocationManager$LocationListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/LocationListener;Landroid/location/LocationManager$1;)V
+PLandroid/location/LocationManager$LocationListenerTransport;->lambda$onLocationChanged$0$LocationManager$LocationListenerTransport(Ljava/util/concurrent/Executor;Landroid/location/Location;)V
+PLandroid/location/LocationManager$LocationListenerTransport;->locationCallbackFinished()V
+PLandroid/location/LocationManager$LocationListenerTransport;->onLocationChanged(Landroid/location/Location;)V
+PLandroid/location/LocationManager$LocationListenerTransport;->register(Ljava/util/concurrent/Executor;)V
HSPLandroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
-HSPLandroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
-HSPLandroid/location/LocationManager;->getProviders(Z)Ljava/util/List;
-HSPLandroid/location/LocationManager;->isLocationEnabled()Z
+PLandroid/location/LocationManager;->access$600(Landroid/location/LocationManager;)Landroid/location/ILocationManager;
+PLandroid/location/LocationManager;->getListenerIdentifier(Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/location/LocationManager;->isLocationEnabledForUser(Landroid/os/UserHandle;)Z
-HSPLandroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
-HSPLandroid/location/LocationManager;->isProviderEnabledForUser(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
-HSPLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;)V
-HSPLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;Landroid/app/PendingIntent;)V
-HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
-HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
-HSPLandroid/location/LocationManager;->wrapListener(Landroid/location/LocationListener;Landroid/os/Looper;)Landroid/location/LocationManager$ListenerTransport;
-HSPLandroid/location/LocationProvider;-><init>(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;)V
-HPLandroid/location/LocationProvider;->propertiesMeetCriteria(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;Landroid/location/Criteria;)Z
-HSPLandroid/location/LocationRequest$1;-><init>()V
-HSPLandroid/location/LocationRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/LocationRequest;
-HSPLandroid/location/LocationRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;)V
+PLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Ljava/util/concurrent/Executor;Landroid/location/LocationListener;)V
HSPLandroid/location/LocationRequest;-><init>()V
-HSPLandroid/location/LocationRequest;-><init>(Landroid/location/LocationRequest;)V
HSPLandroid/location/LocationRequest;->checkQuality(I)V
HSPLandroid/location/LocationRequest;->createFromDeprecatedProvider(Ljava/lang/String;JFZ)Landroid/location/LocationRequest;
-HSPLandroid/location/LocationRequest;->setFastestInterval(J)Landroid/location/LocationRequest;
-HSPLandroid/location/LocationRequest;->setInterval(J)Landroid/location/LocationRequest;
-HSPLandroid/location/LocationRequest;->setQuality(I)Landroid/location/LocationRequest;
HSPLandroid/location/LocationRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;-><init>()V
-HSPLandroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/media/AudioAttributes$1;-><init>()V
HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioAttributes;
HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/media/AudioAttributes$Builder;-><init>()V
-HSPLandroid/media/AudioAttributes$Builder;-><init>(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder;
+HPLandroid/media/AudioAttributes$Builder;-><init>(Landroid/media/AudioAttributes;)V
HSPLandroid/media/AudioAttributes$Builder;->build()Landroid/media/AudioAttributes;
-HSPLandroid/media/AudioAttributes$Builder;->setCapturePreset(I)Landroid/media/AudioAttributes$Builder;
HSPLandroid/media/AudioAttributes$Builder;->setContentType(I)Landroid/media/AudioAttributes$Builder;
-HSPLandroid/media/AudioAttributes$Builder;->setFlags(I)Landroid/media/AudioAttributes$Builder;
-HSPLandroid/media/AudioAttributes$Builder;->setInternalCapturePreset(I)Landroid/media/AudioAttributes$Builder;
-HSPLandroid/media/AudioAttributes$Builder;->setInternalLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;
HSPLandroid/media/AudioAttributes$Builder;->setUsage(I)Landroid/media/AudioAttributes$Builder;
+HSPLandroid/media/AudioAttributes;-><init>()V
+HSPLandroid/media/AudioAttributes;-><init>(Landroid/media/AudioAttributes$1;)V
HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/AudioAttributes;->equals(Ljava/lang/Object;)Z
-HSPLandroid/media/AudioAttributes;->getUsage()I
-HSPLandroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I
-HSPLandroid/media/AudioAttributes;->toVolumeStreamType(ZLandroid/media/AudioAttributes;)I
-HSPLandroid/media/AudioAttributes;->usageForStreamType(I)I
-HSPLandroid/media/AudioAttributes;->usageToString(I)Ljava/lang/String;
+HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;Landroid/media/AudioAttributes$1;)V
+HSPLandroid/media/AudioAttributes;->access$002(Landroid/media/AudioAttributes;I)I
+HSPLandroid/media/AudioAttributes;->access$102(Landroid/media/AudioAttributes;I)I
+HSPLandroid/media/AudioAttributes;->access$202(Landroid/media/AudioAttributes;Ljava/util/HashSet;)Ljava/util/HashSet;
+HSPLandroid/media/AudioAttributes;->access$402(Landroid/media/AudioAttributes;I)I
+HSPLandroid/media/AudioAttributes;->access$502(Landroid/media/AudioAttributes;I)I
+HSPLandroid/media/AudioAttributes;->access$576(Landroid/media/AudioAttributes;I)I
+HSPLandroid/media/AudioAttributes;->access$602(Landroid/media/AudioAttributes;Ljava/lang/String;)Ljava/lang/String;
+PLandroid/media/AudioAttributes;->getUsage()I
HSPLandroid/media/AudioAttributes;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/media/AudioDeviceCallback;-><init>()V
-HSPLandroid/media/AudioDeviceInfo;->getType()I
-HSPLandroid/media/AudioDevicePort;-><init>(Landroid/media/AudioHandle;Ljava/lang/String;[I[I[I[I[Landroid/media/AudioGain;ILjava/lang/String;)V
-HSPLandroid/media/AudioDevicePort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioDevicePortConfig;
-HSPLandroid/media/AudioDevicePort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioPortConfig;
-HSPLandroid/media/AudioDevicePort;->type()I
-HSPLandroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)V
-HSPLandroid/media/AudioFocusInfo$1;-><init>()V
-HSPLandroid/media/AudioFocusInfo;-><init>(Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;IIII)V
-HSPLandroid/media/AudioFocusRequest$Builder;->build()Landroid/media/AudioFocusRequest;
-HSPLandroid/media/AudioFormat$1;-><init>()V
-HSPLandroid/media/AudioFormat$Builder;-><init>()V
-HSPLandroid/media/AudioFormat$Builder;->build()Landroid/media/AudioFormat;
-HSPLandroid/media/AudioFormat$Builder;->setChannelMask(I)Landroid/media/AudioFormat$Builder;
-HSPLandroid/media/AudioFormat$Builder;->setEncoding(I)Landroid/media/AudioFormat$Builder;
-HSPLandroid/media/AudioFormat$Builder;->setSampleRate(I)Landroid/media/AudioFormat$Builder;
-HPLandroid/media/AudioFormat;-><init>(IIII)V
-HSPLandroid/media/AudioFormat;-><init>(IIIII)V
-HSPLandroid/media/AudioFormat;->getBytesPerSample(I)I
-HSPLandroid/media/AudioHandle;-><init>(I)V
-HSPLandroid/media/AudioHandle;->equals(Ljava/lang/Object;)Z
-HSPLandroid/media/AudioHandle;->id()I
-HSPLandroid/media/AudioManager$NativeEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/AudioManager$NativeEventHandlerDelegate;->getHandler()Landroid/os/Handler;
-HSPLandroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPatchListUpdate([Landroid/media/AudioPatch;)V
-HSPLandroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPortListUpdate([Landroid/media/AudioPort;)V
+HSPLandroid/media/AudioManager$1;-><init>(Landroid/media/AudioManager;)V
+HSPLandroid/media/AudioManager$2;-><init>(Landroid/media/AudioManager;)V
+HSPLandroid/media/AudioManager$2;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
+HSPLandroid/media/AudioManager$3;-><init>(Landroid/media/AudioManager;)V
+HSPLandroid/media/AudioManager$4;-><init>(Landroid/media/AudioManager;)V
+HSPLandroid/media/AudioManager$AudioPlaybackCallback;-><init>()V
+HSPLandroid/media/AudioManager$AudioPlaybackCallbackInfo;-><init>(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)V
+HSPLandroid/media/AudioManager$PlaybackConfigChangeCallbackData;-><init>(Landroid/media/AudioManager$AudioPlaybackCallback;Ljava/util/List;)V
+HSPLandroid/media/AudioManager$ServiceEventHandlerDelegate$1;-><init>(Landroid/media/AudioManager$ServiceEventHandlerDelegate;Landroid/os/Looper;Landroid/media/AudioManager;)V
+HSPLandroid/media/AudioManager$ServiceEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
HSPLandroid/media/AudioManager$ServiceEventHandlerDelegate;-><init>(Landroid/media/AudioManager;Landroid/os/Handler;)V
+HSPLandroid/media/AudioManager$ServiceEventHandlerDelegate;->getHandler()Landroid/os/Handler;
HSPLandroid/media/AudioManager;-><init>(Landroid/content/Context;)V
-HPLandroid/media/AudioManager;->abandonAudioFocusForCall()V
-HSPLandroid/media/AudioManager;->broadcastDeviceListChange_sync(Landroid/os/Handler;)V
-HSPLandroid/media/AudioManager;->calcListDeltas(Ljava/util/ArrayList;Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
-HSPLandroid/media/AudioManager;->getDevices(I)[Landroid/media/AudioDeviceInfo;
-HSPLandroid/media/AudioManager;->getDevicesForStream(I)I
-HSPLandroid/media/AudioManager;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-HSPLandroid/media/AudioManager;->getIdForAudioFocusListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Ljava/lang/String;
-HSPLandroid/media/AudioManager;->getRingerMode()I
+HSPLandroid/media/AudioManager;->access$500(Landroid/media/AudioManager;)Ljava/lang/Object;
+HSPLandroid/media/AudioManager;->access$600(Landroid/media/AudioManager;)Ljava/util/List;
+HSPLandroid/media/AudioManager;->getContext()Landroid/content/Context;
HSPLandroid/media/AudioManager;->getRingerModeInternal()I
-HSPLandroid/media/AudioManager;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
+HSPLandroid/media/AudioManager;->getService()Landroid/media/IAudioService;
HSPLandroid/media/AudioManager;->getStreamMaxVolume(I)I
HSPLandroid/media/AudioManager;->getStreamVolume(I)I
-HSPLandroid/media/AudioManager;->infoListFromPortList(Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
-HSPLandroid/media/AudioManager;->isAudioFocusExclusive()Z
-HSPLandroid/media/AudioManager;->isBluetoothA2dpOn()Z
-HSPLandroid/media/AudioManager;->isBluetoothScoOn()Z
-HSPLandroid/media/AudioManager;->isMicrophoneMute()Z
-HSPLandroid/media/AudioManager;->isStreamMute(I)Z
+HSPLandroid/media/AudioManager;->hasPlaybackCallback_sync(Landroid/media/AudioManager$AudioPlaybackCallback;)Z
HSPLandroid/media/AudioManager;->isVolumeFixed()Z
-HSPLandroid/media/AudioManager;->isWiredHeadsetOn()Z
-HSPLandroid/media/AudioManager;->playSoundEffect(I)V
-HSPLandroid/media/AudioManager;->preDispatchKeyEvent(Landroid/view/KeyEvent;I)V
-HSPLandroid/media/AudioManager;->registerAudioDeviceCallback(Landroid/media/AudioDeviceCallback;Landroid/os/Handler;)V
-HSPLandroid/media/AudioManager;->registerAudioFocusRequest(Landroid/media/AudioFocusRequest;)V
-HSPLandroid/media/AudioManager;->registerAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioFocusRequest;Landroid/media/audiopolicy/AudioPolicy;)I
-HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;II)I
-HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;IILandroid/media/audiopolicy/AudioPolicy;)I
-HPLandroid/media/AudioManager;->requestAudioFocusForCall(II)V
-HSPLandroid/media/AudioManager;->resetAudioPortGeneration()I
-HSPLandroid/media/AudioManager;->setMode(I)V
-HSPLandroid/media/AudioManager;->setParameter(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/AudioManager;->setParameters(Ljava/lang/String;)V
-HSPLandroid/media/AudioManager;->setSpeakerphoneOn(Z)V
-HSPLandroid/media/AudioManager;->updateAudioPortCache(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)I
-HSPLandroid/media/AudioManager;->updatePortConfig(Landroid/media/AudioPortConfig;Ljava/util/ArrayList;)Landroid/media/AudioPortConfig;
-HSPLandroid/media/AudioMixPort;-><init>(Landroid/media/AudioHandle;IILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
-HSPLandroid/media/AudioMixPort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioMixPortConfig;
-HSPLandroid/media/AudioMixPort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioPortConfig;
-HSPLandroid/media/AudioMixPortConfig;-><init>(Landroid/media/AudioMixPort;IIILandroid/media/AudioGainConfig;)V
-HSPLandroid/media/AudioPatch;-><init>(Landroid/media/AudioHandle;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)V
-HSPLandroid/media/AudioPatch;->sinks()[Landroid/media/AudioPortConfig;
-HSPLandroid/media/AudioPatch;->sources()[Landroid/media/AudioPortConfig;
-HSPLandroid/media/AudioPlaybackConfiguration$1;-><init>()V
-HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->binderDied()V
-HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->monitorDeath()V
-HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->release()V
-HSPLandroid/media/AudioPlaybackConfiguration;-><init>(Landroid/media/PlayerBase$PlayerIdCard;III)V
-HPLandroid/media/AudioPlaybackConfiguration;->anonymizedCopy(Landroid/media/AudioPlaybackConfiguration;)Landroid/media/AudioPlaybackConfiguration;
-HSPLandroid/media/AudioPlaybackConfiguration;->handleAudioAttributesEvent(Landroid/media/AudioAttributes;)Z
-HSPLandroid/media/AudioPlaybackConfiguration;->handleStateEvent(I)Z
-HSPLandroid/media/AudioPlaybackConfiguration;->init()V
-HPLandroid/media/AudioPlaybackConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
-HSPLandroid/media/AudioPort;->handle()Landroid/media/AudioHandle;
-HSPLandroid/media/AudioPort;->id()I
-HSPLandroid/media/AudioPort;->role()I
-HSPLandroid/media/AudioPortConfig;-><init>(Landroid/media/AudioPort;IIILandroid/media/AudioGainConfig;)V
-HSPLandroid/media/AudioPortConfig;->channelMask()I
-HSPLandroid/media/AudioPortConfig;->format()I
-HSPLandroid/media/AudioPortConfig;->gain()Landroid/media/AudioGainConfig;
-HSPLandroid/media/AudioPortConfig;->port()Landroid/media/AudioPort;
-HSPLandroid/media/AudioPortConfig;->samplingRate()I
-HSPLandroid/media/AudioPortEventHandler$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/AudioPortEventHandler;-><init>()V
-HSPLandroid/media/AudioPortEventHandler;->handler()Landroid/os/Handler;
-HSPLandroid/media/AudioPortEventHandler;->init()V
-HSPLandroid/media/AudioPortEventHandler;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-HSPLandroid/media/AudioPortEventHandler;->registerListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-HSPLandroid/media/AudioRecord;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)V
-HSPLandroid/media/AudioRecord;->audioBuffSizeCheck(I)V
-HSPLandroid/media/AudioRecord;->audioParamCheck(III)V
-HSPLandroid/media/AudioRecord;->getChannelMaskFromLegacyConfig(IZ)I
-HSPLandroid/media/AudioRecord;->handleFullVolumeRec(Z)V
-HSPLandroid/media/AudioRecord;->release()V
-HSPLandroid/media/AudioRecord;->startRecording()V
-HSPLandroid/media/AudioRecord;->stop()V
-PLandroid/media/AudioRecordingConfiguration$1;-><init>()V
-PLandroid/media/AudioRecordingConfiguration;-><init>(IIILandroid/media/AudioFormat;Landroid/media/AudioFormat;ILjava/lang/String;IZI[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;)V
-HSPLandroid/media/AudioRoutesInfo$1;-><init>()V
+HSPLandroid/media/AudioManager;->registerAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)V
+HSPLandroid/media/AudioManager;->setContext(Landroid/content/Context;)V
HSPLandroid/media/AudioRoutesInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioRoutesInfo;
HSPLandroid/media/AudioRoutesInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/AudioRoutesInfo;-><init>(Landroid/media/AudioRoutesInfo;)V
-HSPLandroid/media/AudioRoutesInfo;->toString()Ljava/lang/String;
-HSPLandroid/media/AudioRoutesInfo;->typeToString(I)Ljava/lang/String;
-HSPLandroid/media/AudioRoutesInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/AudioSystem;->getOutputDeviceName(I)Ljava/lang/String;
-HSPLandroid/media/AudioSystem;->getPlatformType(Landroid/content/Context;)I
HSPLandroid/media/AudioSystem;->isSingleVolume(Landroid/content/Context;)Z
-HPLandroid/media/AudioSystem;->recordingCallbackFromNative(IIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;I)V
-HSPLandroid/media/AudioSystem;->setErrorCallback(Landroid/media/AudioSystem$ErrorCallback;)V
-HSPLandroid/media/AudioSystem;->setRecordingCallback(Landroid/media/AudioSystem$AudioRecordingCallback;)V
-HSPLandroid/media/AudioSystem;->setStreamVolumeIndexAS(III)I
-HSPLandroid/media/AudioTrack;->getNativeOutputSampleRate(I)I
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->read()I
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
-HSPLandroid/media/ExifInterface$ExifAttribute;->createULong([JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-HSPLandroid/media/ExifInterface$ExifAttribute;->createUShort([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
-HSPLandroid/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
-HSPLandroid/media/ExifInterface$ExifAttribute;->getStringValue(Ljava/nio/ByteOrder;)Ljava/lang/String;
-HSPLandroid/media/ExifInterface$ExifAttribute;->getValue(Ljava/nio/ByteOrder;)Ljava/lang/Object;
-HSPLandroid/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;IIILandroid/media/ExifInterface$1;)V
-HSPLandroid/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;IILandroid/media/ExifInterface$1;)V
-HSPLandroid/media/ExifInterface;-><init>(Ljava/io/InputStream;)V
-HSPLandroid/media/ExifInterface;->addDefaultValuesForCompatibility()V
-HSPLandroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
-HSPLandroid/media/ExifInterface;->getExifAttribute(Ljava/lang/String;)Landroid/media/ExifInterface$ExifAttribute;
-HSPLandroid/media/ExifInterface;->getJpegAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
-HSPLandroid/media/ExifInterface;->getMimeType(Ljava/io/BufferedInputStream;)I
-HSPLandroid/media/ExifInterface;->handleThumbnailFromJfif(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
-HSPLandroid/media/ExifInterface;->isHeifFormat([B)Z
-HSPLandroid/media/ExifInterface;->isOrfFormat([B)Z
-HSPLandroid/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
-HSPLandroid/media/ExifInterface;->readByteOrder(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
-HSPLandroid/media/ExifInterface;->setThumbnailData(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-HSPLandroid/media/IAudioFocusDispatcher$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IAudioFocusDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioFocusDispatcher;
-HSPLandroid/media/IAudioRoutesObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IAudioRoutesObserver$Stub$Proxy;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
-HSPLandroid/media/IAudioRoutesObserver$Stub;-><init>()V
+HSPLandroid/media/IAudioFocusDispatcher$Stub;-><init>()V
HSPLandroid/media/IAudioRoutesObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IAudioRoutesObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioRoutesObserver;
-PLandroid/media/IAudioServerStateDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/IAudioServerStateDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioServerStateDispatcher;
-HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeExternal()I
-HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeInternal()I
+HSPLandroid/media/IAudioServerStateDispatcher$Stub;-><init>()V
+HSPLandroid/media/IAudioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMaxVolume(I)I
HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamVolume(I)I
-HSPLandroid/media/IAudioService$Stub$Proxy;->isBluetoothScoOn()Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->isCameraSoundForced()Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->isStreamMute(I)Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->playSoundEffect(I)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->playerAttributes(ILandroid/media/AudioAttributes;)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->playerEvent(II)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->playerHasOpPlayAudio(IZ)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->releasePlayer(I)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
HSPLandroid/media/IAudioService$Stub$Proxy;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-HSPLandroid/media/IAudioService$Stub$Proxy;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-HSPLandroid/media/IAudioService$Stub;-><init>()V
HSPLandroid/media/IAudioService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioService;
-HPLandroid/media/IAudioService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/media/IAudioService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IMediaResourceMonitor$Stub;-><init>()V
-HPLandroid/media/IMediaResourceMonitor$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IMediaRouterClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/IMediaRouterClient$Stub$Proxy;->onRestoreRoute()V
-HPLandroid/media/IMediaRouterClient$Stub$Proxy;->onStateChanged()V
HSPLandroid/media/IMediaRouterClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IMediaRouterClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-HSPLandroid/media/IMediaRouterService$Stub;-><init>()V
-HSPLandroid/media/IMediaRouterService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
HSPLandroid/media/IPlaybackConfigDispatcher$Stub;-><init>()V
HSPLandroid/media/IPlaybackConfigDispatcher$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IPlaybackConfigDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IPlaybackConfigDispatcher;
-HSPLandroid/media/IPlayer$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/media/IPlayer$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/media/IPlayer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IPlayer;
HSPLandroid/media/IRecordingConfigDispatcher$Stub;-><init>()V
-HSPLandroid/media/IRemoteVolumeController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IRemoteVolumeController$Stub$Proxy;->updateRemoteController(Landroid/media/session/MediaSession$Token;)V
-HSPLandroid/media/IRemoteVolumeController$Stub;-><init>()V
-HSPLandroid/media/IRingtonePlayer$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IRingtonePlayer$Stub$Proxy;->playAsync(Landroid/net/Uri;Landroid/os/UserHandle;ZLandroid/media/AudioAttributes;)V
-HSPLandroid/media/IRingtonePlayer$Stub$Proxy;->stopAsync()V
-HSPLandroid/media/IRingtonePlayer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRingtonePlayer;
-HSPLandroid/media/IVolumeController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IVolumeController$Stub$Proxy;->setLayoutDirection(I)V
-HSPLandroid/media/IVolumeController$Stub$Proxy;->volumeChanged(II)V
-HSPLandroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController;
-HSPLandroid/media/MediaCodec$BufferInfo;-><init>()V
-HSPLandroid/media/MediaCodec$BufferInfo;->set(IIJI)V
-HSPLandroid/media/MediaCodec$BufferMap;->clear()V
-HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V
-HSPLandroid/media/MediaCodec$CryptoInfo;-><init>()V
-HSPLandroid/media/MediaCodec;-><init>(Ljava/lang/String;ZZ)V
-HSPLandroid/media/MediaCodec;->cacheBuffers(Z)V
-HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
-HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V
-HSPLandroid/media/MediaCodec;->dequeueInputBuffer(J)I
-HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
-HSPLandroid/media/MediaCodec;->finalize()V
-HSPLandroid/media/MediaCodec;->freeAllTrackedBuffers()V
-HSPLandroid/media/MediaCodec;->lockAndGetContext()J
-HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
-HSPLandroid/media/MediaCodec;->release()V
-HSPLandroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
-HSPLandroid/media/MediaCodec;->setAndUnlockContext(J)V
-HSPLandroid/media/MediaCodec;->start()V
-HSPLandroid/media/MediaCodec;->stop()V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->applyLevelLimits()V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->applyLimits(ILandroid/util/Range;)V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->createDiscreteSampleRates()V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->getDefaultFormat(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->initWithPlatformLimits()V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([I)V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([Landroid/util/Range;)V
-HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZLandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZLjava/util/Map;Ljava/util/Map;)V
-HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getMimeType()Ljava/lang/String;
-HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->applyLevelLimits()V
-HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->getDefaultFormat(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$Feature;-><init>(Ljava/lang/String;IZ)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;-><init>(III)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;-><init>(IIIILandroid/util/Size;)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;-><init>(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;Landroid/util/Size;)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;->covers(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;)Z
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;->getCommonBlockSize(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;)Landroid/util/Size;
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;->toString()Ljava/lang/String;
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyAlignment(II)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyBlockLimits(IILandroid/util/Range;Landroid/util/Range;Landroid/util/Range;)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyLevelLimits()V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyMacroBlockLimits(IIIIIJIIII)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyMacroBlockLimits(IIIJIIII)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->getMeasuredFrameRates(Ljava/util/Map;)Ljava/util/Map;
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->getPerformancePoints(Ljava/util/Map;)Ljava/util/List;
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->initWithPlatformLimits()V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->lambda$getPerformancePoints$0(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;)I
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->parseWidthHeightRanges(Ljava/lang/Object;)Landroid/util/Pair;
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->updateLimits()V
-HSPLandroid/media/MediaCodecInfo;-><init>(Ljava/lang/String;Ljava/lang/String;I[Landroid/media/MediaCodecInfo$CodecCapabilities;)V
-HSPLandroid/media/MediaCodecInfo;->checkPowerOfTwo(ILjava/lang/String;)I
-HSPLandroid/media/MediaCodecInfo;->getSupportedTypes()[Ljava/lang/String;
-HSPLandroid/media/MediaCodecInfo;->makeRegular()Landroid/media/MediaCodecInfo;
-HSPLandroid/media/MediaCodecList;-><init>(I)V
-HSPLandroid/media/MediaCodecList;->getCodecInfos()[Landroid/media/MediaCodecInfo;
-HSPLandroid/media/MediaCodecList;->getGlobalSettings()Ljava/util/Map;
-HSPLandroid/media/MediaCodecList;->getNewCodecInfoAt(I)Landroid/media/MediaCodecInfo;
-HSPLandroid/media/MediaCodecList;->initCodecList()V
-HSPLandroid/media/MediaDescription$1;-><init>()V
-HSPLandroid/media/MediaDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaDescription;
-HSPLandroid/media/MediaDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/MediaDescription;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/MediaDescription;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/MediaDrm;->getMaxSecurityLevel()I
-HSPLandroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
-HSPLandroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
-HSPLandroid/media/MediaMetadata$1;-><init>()V
-HSPLandroid/media/MediaMetadata$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaMetadata;
-HSPLandroid/media/MediaMetadata$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/MediaMetadata$Builder;-><init>(Landroid/media/MediaMetadata;)V
-HSPLandroid/media/MediaMetadata$Builder;->build()Landroid/media/MediaMetadata;
-HPLandroid/media/MediaMetadata;->size()I
-HSPLandroid/media/MediaMetadata;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/MediaParceledListSlice$2;-><init>()V
-HSPLandroid/media/MediaParceledListSlice$2;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaParceledListSlice;
-HSPLandroid/media/MediaParceledListSlice$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/MediaParceledListSlice;-><init>(Landroid/os/Parcel;)V
-HPLandroid/media/MediaParceledListSlice;-><init>(Ljava/util/List;)V
-HSPLandroid/media/MediaParceledListSlice;->getList()Ljava/util/List;
-HSPLandroid/media/MediaParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/MediaPlayer$2$1;->getSubtitleLooper()Landroid/os/Looper;
-HSPLandroid/media/MediaPlayer$2$1;->setSubtitleWidget(Landroid/media/SubtitleTrack$RenderingWidget;)V
-HSPLandroid/media/MediaPlayer$2;->run()V
-HSPLandroid/media/MediaPlayer$7;->onCompletion(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$EventHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/MediaPlayer$TimeProvider$EventHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/MediaPlayer$TimeProvider;-><init>(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$TimeProvider;->close()V
-HSPLandroid/media/MediaPlayer$TimeProvider;->finalize()V
-HSPLandroid/media/MediaPlayer$TimeProvider;->getCurrentTimeUs(ZZ)J
-HSPLandroid/media/MediaPlayer$TimeProvider;->notifySeek()V
-HSPLandroid/media/MediaPlayer$TimeProvider;->onPaused(Z)V
-HSPLandroid/media/MediaPlayer$TimeProvider;->scheduleNotification(IJ)V
-HSPLandroid/media/MediaPlayer$TrackInfo$1;-><init>()V
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaPlayer$TrackInfo;
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->newArray(I)[Landroid/media/MediaPlayer$TrackInfo;
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/media/MediaPlayer$TrackInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/MediaPlayer$TrackInfo;->getTrackType()I
-HSPLandroid/media/MediaPlayer;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLandroid/media/MediaPlayer;-><init>()V
-HSPLandroid/media/MediaPlayer;->attemptDataSource(Landroid/content/ContentResolver;Landroid/net/Uri;)Z
-HSPLandroid/media/MediaPlayer;->cleanDrmObj()V
-HSPLandroid/media/MediaPlayer;->finalize()V
-HSPLandroid/media/MediaPlayer;->getInbandTrackInfo()[Landroid/media/MediaPlayer$TrackInfo;
-HSPLandroid/media/MediaPlayer;->getMediaTimeProvider()Landroid/media/MediaTimeProvider;
-HSPLandroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
-HSPLandroid/media/MediaPlayer;->playerSetAuxEffectSendLevel(ZF)I
-HSPLandroid/media/MediaPlayer;->playerSetVolume(ZFF)V
-HSPLandroid/media/MediaPlayer;->populateInbandTracks()V
-HSPLandroid/media/MediaPlayer;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-HSPLandroid/media/MediaPlayer;->prepare()V
-HSPLandroid/media/MediaPlayer;->release()V
-HSPLandroid/media/MediaPlayer;->reset()V
-HSPLandroid/media/MediaPlayer;->resetDrmState()V
-HSPLandroid/media/MediaPlayer;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/res/AssetFileDescriptor;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;JJ)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
-HSPLandroid/media/MediaPlayer;->setSubtitleAnchor()V
-HSPLandroid/media/MediaPlayer;->setVolume(F)V
-HSPLandroid/media/MediaPlayer;->setVolume(FF)V
-HSPLandroid/media/MediaPlayer;->start()V
-HSPLandroid/media/MediaPlayer;->stayAwake(Z)V
-HPLandroid/media/MediaRecorder;->isSystemOnlyAudioSource(I)Z
HSPLandroid/media/MediaRouter$Callback;-><init>()V
-HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(I)Z
-HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(Landroid/media/MediaRouter$RouteInfo;)Z
HSPLandroid/media/MediaRouter$RouteCategory;->getName()Ljava/lang/CharSequence;
HSPLandroid/media/MediaRouter$RouteCategory;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
HSPLandroid/media/MediaRouter$RouteCategory;->isGroupable()Z
@@ -9643,38 +4323,21 @@ HSPLandroid/media/MediaRouter$RouteInfo;-><init>(Landroid/media/MediaRouter$Rout
HSPLandroid/media/MediaRouter$RouteInfo;->choosePresentationDisplay()Landroid/view/Display;
HSPLandroid/media/MediaRouter$RouteInfo;->getCategory()Landroid/media/MediaRouter$RouteCategory;
HSPLandroid/media/MediaRouter$RouteInfo;->getDescription()Ljava/lang/CharSequence;
-HSPLandroid/media/MediaRouter$RouteInfo;->getDeviceType()I
HSPLandroid/media/MediaRouter$RouteInfo;->getName()Ljava/lang/CharSequence;
-HSPLandroid/media/MediaRouter$RouteInfo;->getName(Landroid/content/Context;)Ljava/lang/CharSequence;
HSPLandroid/media/MediaRouter$RouteInfo;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
-HSPLandroid/media/MediaRouter$RouteInfo;->getPlaybackStream()I
-HSPLandroid/media/MediaRouter$RouteInfo;->getPlaybackType()I
-HSPLandroid/media/MediaRouter$RouteInfo;->getPresentationDisplay()Landroid/view/Display;
HSPLandroid/media/MediaRouter$RouteInfo;->getStatus()Ljava/lang/CharSequence;
HSPLandroid/media/MediaRouter$RouteInfo;->getSupportedTypes()I
-HSPLandroid/media/MediaRouter$RouteInfo;->getTag()Ljava/lang/Object;
-HSPLandroid/media/MediaRouter$RouteInfo;->getVolume()I
-HSPLandroid/media/MediaRouter$RouteInfo;->getVolumeHandling()I
-HSPLandroid/media/MediaRouter$RouteInfo;->getVolumeMax()I
-HSPLandroid/media/MediaRouter$RouteInfo;->isConnecting()Z
-HSPLandroid/media/MediaRouter$RouteInfo;->isEnabled()Z
HSPLandroid/media/MediaRouter$RouteInfo;->isSelected()Z
HSPLandroid/media/MediaRouter$RouteInfo;->matchesTypes(I)Z
HSPLandroid/media/MediaRouter$RouteInfo;->resolveStatusCode()Z
-HSPLandroid/media/MediaRouter$RouteInfo;->select()V
HSPLandroid/media/MediaRouter$RouteInfo;->toString()Ljava/lang/String;
HSPLandroid/media/MediaRouter$RouteInfo;->updatePresentationDisplay()Z
-HSPLandroid/media/MediaRouter$Static$1$1;->run()V
-HSPLandroid/media/MediaRouter$Static$1;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
-HSPLandroid/media/MediaRouter$Static$Client$1;->run()V
-HSPLandroid/media/MediaRouter$Static$Client$2;->run()V
-HSPLandroid/media/MediaRouter$Static$Client;->onRestoreRoute()V
-HSPLandroid/media/MediaRouter$Static$Client;->onStateChanged()V
+HSPLandroid/media/MediaRouter$SimpleCallback;-><init>()V
HSPLandroid/media/MediaRouter$Static;-><init>(Landroid/content/Context;)V
HSPLandroid/media/MediaRouter$Static;->getAllPresentationDisplays()[Landroid/view/Display;
HSPLandroid/media/MediaRouter$Static;->isBluetoothA2dpOn()Z
HSPLandroid/media/MediaRouter$Static;->isPlaybackActive()Z
-HSPLandroid/media/MediaRouter$Static;->onDisplayChanged(I)V
+PLandroid/media/MediaRouter$Static;->onDisplayChanged(I)V
HSPLandroid/media/MediaRouter$Static;->publishClientDiscoveryRequest()V
HSPLandroid/media/MediaRouter$Static;->publishClientSelectedRoute(Z)V
HSPLandroid/media/MediaRouter$Static;->rebindAsUser(I)V
@@ -9683,313 +4346,102 @@ HSPLandroid/media/MediaRouter$Static;->startMonitoringRoutes(Landroid/content/Co
HSPLandroid/media/MediaRouter$Static;->updateAudioRoutes(Landroid/media/AudioRoutesInfo;)V
HSPLandroid/media/MediaRouter$Static;->updateClientState()V
HSPLandroid/media/MediaRouter$Static;->updateDiscoveryRequest()V
-HSPLandroid/media/MediaRouter$Static;->updatePresentationDisplays(I)V
+PLandroid/media/MediaRouter$Static;->updatePresentationDisplays(I)V
HSPLandroid/media/MediaRouter$VolumeChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
HSPLandroid/media/MediaRouter;-><init>(Landroid/content/Context;)V
HSPLandroid/media/MediaRouter;->addCallback(ILandroid/media/MediaRouter$Callback;I)V
HSPLandroid/media/MediaRouter;->addRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->createRouteCategory(Ljava/lang/CharSequence;Z)Landroid/media/MediaRouter$RouteCategory;
HSPLandroid/media/MediaRouter;->dispatchRouteAdded(Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->dispatchRouteChanged(Landroid/media/MediaRouter$RouteInfo;I)V
-HSPLandroid/media/MediaRouter;->dispatchRouteRemoved(Landroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->dispatchRouteSelected(ILandroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->dispatchRouteUnselected(ILandroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->dispatchRouteVolumeChanged(Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter;->getDefaultRoute()Landroid/media/MediaRouter$RouteInfo;
-HSPLandroid/media/MediaRouter;->getRouteAt(I)Landroid/media/MediaRouter$RouteInfo;
-HSPLandroid/media/MediaRouter;->getRouteCount()I
-HSPLandroid/media/MediaRouter;->getSelectedRoute(I)Landroid/media/MediaRouter$RouteInfo;
-HSPLandroid/media/MediaRouter;->removeCallback(Landroid/media/MediaRouter$Callback;)V
-HSPLandroid/media/MediaRouter;->removeRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->selectDefaultRouteStatic()V
-HSPLandroid/media/MediaRouter;->selectRoute(ILandroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->selectRouteStatic(ILandroid/media/MediaRouter$RouteInfo;Z)V
-HSPLandroid/media/MediaRouter;->systemVolumeChanged(I)V
HSPLandroid/media/MediaRouter;->typesToString(I)Ljava/lang/String;
HSPLandroid/media/MediaRouter;->updateWifiDisplayStatus(Landroid/hardware/display/WifiDisplayStatus;)V
-HSPLandroid/media/MediaRouterClientState$1;-><init>()V
-HSPLandroid/media/MediaRouterClientState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaRouterClientState;
-HSPLandroid/media/MediaRouterClientState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/MediaRouterClientState$RouteInfo$1;-><init>()V
-PLandroid/media/MediaRouterClientState;-><init>()V
-HSPLandroid/media/MediaTimestamp;-><init>(JJF)V
-HSPLandroid/media/MicrophoneInfo$Coordinate3F;-><init>(FFF)V
-HSPLandroid/media/PlaybackParams$1;-><init>()V
-HSPLandroid/media/PlayerBase$IAppOpsCallbackWrapper;->opChanged(IILjava/lang/String;)V
-HSPLandroid/media/PlayerBase$PlayerIdCard$1;-><init>()V
-HSPLandroid/media/PlayerBase$PlayerIdCard$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/PlayerBase$PlayerIdCard;
-HSPLandroid/media/PlayerBase$PlayerIdCard$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/PlayerBase$PlayerIdCard;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/PlayerBase$PlayerIdCard;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/media/PlayerBase;-><init>(Landroid/media/AudioAttributes;I)V
HSPLandroid/media/PlayerBase;->baseRegisterPlayer()V
-HSPLandroid/media/PlayerBase;->baseRelease()V
-HSPLandroid/media/PlayerBase;->baseSetVolume(FF)V
-HSPLandroid/media/PlayerBase;->baseStart()V
-HSPLandroid/media/PlayerBase;->baseStop()V
-HSPLandroid/media/PlayerBase;->baseUpdateAudioAttributes(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/PlayerBase;->deprecateStreamTypeForPlayback(ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/PlayerBase;->getStartDelayMs()I
-HSPLandroid/media/PlayerBase;->isRestricted_sync()Z
-HSPLandroid/media/PlayerBase;->updateAppOpsPlayAudio()V
-HSPLandroid/media/PlayerBase;->updateAppOpsPlayAudio_sync(Z)V
-HSPLandroid/media/PlayerBase;->updatePlayerVolume()V
-HSPLandroid/media/PlayerBase;->updateState(I)V
-HSPLandroid/media/Rating$1;-><init>()V
-HSPLandroid/media/Rating$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/Rating;
-HSPLandroid/media/Rating$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/Ringtone;-><init>(Landroid/content/Context;Z)V
-HSPLandroid/media/Ringtone;->applyPlaybackProperties_sync()V
-HSPLandroid/media/Ringtone;->destroyLocalPlayer()V
-HSPLandroid/media/Ringtone;->finalize()V
-HSPLandroid/media/Ringtone;->play()V
-HSPLandroid/media/Ringtone;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-PLandroid/media/Ringtone;->setStreamType(I)V
-HSPLandroid/media/Ringtone;->setUri(Landroid/net/Uri;Landroid/media/VolumeShaper$Configuration;)V
-HSPLandroid/media/RingtoneManager;->getActualDefaultRingtoneUri(Landroid/content/Context;I)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->getDefaultUri(I)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;
-HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;ILandroid/media/VolumeShaper$Configuration;)Landroid/media/Ringtone;
-HPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;Landroid/media/VolumeShaper$Configuration;)Landroid/media/Ringtone;
+HSPLandroid/media/SoundPool$Builder;-><init>()V
HSPLandroid/media/SoundPool$Builder;->build()Landroid/media/SoundPool;
HSPLandroid/media/SoundPool$Builder;->setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/SoundPool$Builder;
-HSPLandroid/media/SoundPool$EventHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/media/SoundPool$Builder;->setMaxStreams(I)Landroid/media/SoundPool$Builder;
HSPLandroid/media/SoundPool;-><init>(ILandroid/media/AudioAttributes;)V
-HSPLandroid/media/SoundPool;->load(Ljava/lang/String;I)I
-HSPLandroid/media/SoundPool;->play(IFFIIF)I
-HSPLandroid/media/SoundPool;->playerSetAuxEffectSendLevel(ZF)I
-HSPLandroid/media/SoundPool;->playerSetVolume(ZFF)V
HSPLandroid/media/SoundPool;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-HSPLandroid/media/SoundPool;->setOnLoadCompleteListener(Landroid/media/SoundPool$OnLoadCompleteListener;)V
-HSPLandroid/media/SubtitleController$1;->handleMessage(Landroid/os/Message;)Z
-HSPLandroid/media/SubtitleController;-><init>(Landroid/content/Context;Landroid/media/MediaTimeProvider;Landroid/media/SubtitleController$Listener;)V
-HSPLandroid/media/SubtitleController;->doSelectDefaultTrack()V
-HSPLandroid/media/SubtitleController;->doSelectTrack(Landroid/media/SubtitleTrack;)V
-HSPLandroid/media/SubtitleController;->finalize()V
-HSPLandroid/media/SubtitleController;->getDefaultTrack()Landroid/media/SubtitleTrack;
-HSPLandroid/media/SubtitleController;->hide()V
-HSPLandroid/media/SubtitleController;->reset()V
-HSPLandroid/media/SubtitleController;->selectDefaultTrack()V
-HSPLandroid/media/SubtitleController;->selectTrack(Landroid/media/SubtitleTrack;)Z
-HSPLandroid/media/SubtitleController;->setAnchor(Landroid/media/SubtitleController$Anchor;)V
-HSPLandroid/media/ToneGenerator;-><init>(II)V
-HSPLandroid/media/ToneGenerator;->finalize()V
-HPLandroid/media/ToneGenerator;->startTone(I)Z
-HSPLandroid/media/Utils$1;->compare(Landroid/util/Range;Landroid/util/Range;)I
-HSPLandroid/media/Utils$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/media/Utils$2;->compare(Landroid/util/Range;Landroid/util/Range;)I
-HSPLandroid/media/Utils$2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/media/Utils;->alignRange(Landroid/util/Range;I)Landroid/util/Range;
-HSPLandroid/media/Utils;->divUp(II)I
-HSPLandroid/media/Utils;->divUp(JJ)J
-HSPLandroid/media/Utils;->factorRange(Landroid/util/Range;I)Landroid/util/Range;
-HSPLandroid/media/Utils;->factorRange(Landroid/util/Range;J)Landroid/util/Range;
-HSPLandroid/media/Utils;->intersectSortedDistinctRanges([Landroid/util/Range;[Landroid/util/Range;)[Landroid/util/Range;
-HSPLandroid/media/Utils;->parseIntRange(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
-HSPLandroid/media/Utils;->parseIntSafely(Ljava/lang/Object;I)I
-HSPLandroid/media/Utils;->parseLongRange(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
-HSPLandroid/media/Utils;->parseRationalRange(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
-HSPLandroid/media/Utils;->parseSize(Ljava/lang/Object;Landroid/util/Size;)Landroid/util/Size;
-HSPLandroid/media/Utils;->parseSizeRange(Ljava/lang/Object;)Landroid/util/Pair;
-HSPLandroid/media/VolumePolicy$1;-><init>()V
-HSPLandroid/media/VolumePolicy$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/VolumePolicy;
-HSPLandroid/media/VolumePolicy$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/VolumePolicy;-><init>(ZZZI)V
-HSPLandroid/media/VolumePolicy;->equals(Ljava/lang/Object;)Z
-HSPLandroid/media/VolumeShaper$Configuration$1;-><init>()V
-HSPLandroid/media/VolumeShaper$Configuration$Builder;-><init>()V
-HSPLandroid/media/VolumeShaper$Configuration$Builder;->build()Landroid/media/VolumeShaper$Configuration;
-HSPLandroid/media/VolumeShaper$Configuration$Builder;->setCurve([F[F)Landroid/media/VolumeShaper$Configuration$Builder;
-HSPLandroid/media/VolumeShaper$Configuration$Builder;->setDuration(J)Landroid/media/VolumeShaper$Configuration$Builder;
-HSPLandroid/media/VolumeShaper$Configuration$Builder;->setId(I)Landroid/media/VolumeShaper$Configuration$Builder;
-HSPLandroid/media/VolumeShaper$Configuration$Builder;->setInterpolatorType(I)Landroid/media/VolumeShaper$Configuration$Builder;
-HSPLandroid/media/VolumeShaper$Configuration$Builder;->setOptionFlags(I)Landroid/media/VolumeShaper$Configuration$Builder;
-HSPLandroid/media/VolumeShaper$Configuration;-><init>(I)V
-HSPLandroid/media/VolumeShaper$Configuration;->checkCurveForErrors([F[FZ)Ljava/lang/String;
-HSPLandroid/media/VolumeShaper$Operation$1;-><init>()V
-HSPLandroid/media/VolumeShaper$Operation$Builder;-><init>()V
-HSPLandroid/media/VolumeShaper$Operation$Builder;-><init>(Landroid/media/VolumeShaper$Operation;)V
-HSPLandroid/media/VolumeShaper$Operation$Builder;->build()Landroid/media/VolumeShaper$Operation;
-HSPLandroid/media/VolumeShaper$Operation$Builder;->createIfNeeded()Landroid/media/VolumeShaper$Operation$Builder;
-HSPLandroid/media/VolumeShaper$Operation$Builder;->reverse()Landroid/media/VolumeShaper$Operation$Builder;
-HSPLandroid/media/VolumeShaper$Operation$Builder;->setXOffset(F)Landroid/media/VolumeShaper$Operation$Builder;
-HSPLandroid/media/VolumeShaper$State$1;-><init>()V
-HSPLandroid/media/audiopolicy/AudioProductStrategies$1;-><init>()V
-HSPLandroid/media/audiopolicy/AudioProductStrategies;-><init>()V
-HSPLandroid/media/audiopolicy/AudioProductStrategy$1;-><init>()V
-HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup$1;-><init>()V
-HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;-><init>(II[Landroid/media/AudioAttributes;)V
-HSPLandroid/media/audiopolicy/AudioProductStrategy;-><init>(Ljava/lang/String;I[Landroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;)V
-HSPLandroid/media/audiopolicy/AudioVolumeGroup$1;-><init>()V
-HSPLandroid/media/audiopolicy/AudioVolumeGroup;-><init>(Ljava/lang/String;I[Landroid/media/AudioAttributes;[I)V
-HSPLandroid/media/audiopolicy/AudioVolumeGroupChangeHandler;-><init>()V
-HSPLandroid/media/audiopolicy/AudioVolumeGroups$1;-><init>()V
-HSPLandroid/media/audiopolicy/AudioVolumeGroups;-><init>()V
-HSPLandroid/media/audiopolicy/IAudioPolicyCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/audiopolicy/IAudioPolicyCallback;
-HSPLandroid/media/browse/MediaBrowser$MediaItem$1;-><init>()V
-HSPLandroid/media/midi/IMidiManager$Stub;-><init>()V
-HSPLandroid/media/midi/MidiDeviceInfo$1;-><init>()V
-HSPLandroid/media/projection/IMediaProjectionManager$Stub;-><init>()V
-HSPLandroid/media/projection/IMediaProjectionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/IActiveSessionsListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/IActiveSessionsListener$Stub$Proxy;->onActiveSessionsChanged(Ljava/util/List;)V
-HSPLandroid/media/session/ICallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
-PLandroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
-HSPLandroid/media/session/ICallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ICallback;
-HSPLandroid/media/session/ISession$Stub;-><init>()V
-HPLandroid/media/session/ISession$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/session/ISession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/media/session/ISessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/session/ICallback$Stub;-><init>()V
HSPLandroid/media/session/ISessionCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ISessionController$Stub;-><init>()V
-HPLandroid/media/session/ISessionController$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/session/ISessionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onQueueChanged(Landroid/media/MediaParceledListSlice;)V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onSessionDestroyed()V
HSPLandroid/media/session/ISessionManager$Stub$Proxy;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
-HSPLandroid/media/session/ISessionManager$Stub;-><init>()V
-HSPLandroid/media/session/ISessionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/MediaController$Callback;-><init>()V
-HSPLandroid/media/session/MediaController$PlaybackInfo$1;-><init>()V
+HSPLandroid/media/session/ISessionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionManager;
HSPLandroid/media/session/MediaController;-><init>(Landroid/content/Context;Landroid/media/session/MediaSession$Token;)V
-HSPLandroid/media/session/MediaSession$QueueItem$1;-><init>()V
-HSPLandroid/media/session/MediaSession$QueueItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$QueueItem;
-HSPLandroid/media/session/MediaSession$QueueItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/session/MediaSession$QueueItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/session/MediaSession$Token$1;-><init>()V
-HSPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$Token;
-HSPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/session/MediaSession$Token;-><init>(Landroid/media/session/ISessionController;)V
-HSPLandroid/media/session/MediaSession$Token;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/session/MediaSession;-><init>(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/media/session/MediaSession;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/MediaSession;->setActive(Z)V
-HSPLandroid/media/session/MediaSession;->setCallback(Landroid/media/session/MediaSession$Callback;)V
+HSPLandroid/media/session/MediaSession;->hasCustomParcelable(Landroid/os/Bundle;)Z
HSPLandroid/media/session/MediaSession;->setCallback(Landroid/media/session/MediaSession$Callback;Landroid/os/Handler;)V
HSPLandroid/media/session/MediaSession;->setFlags(I)V
-HSPLandroid/media/session/MediaSession;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+HSPLandroid/media/session/MediaSessionManager$CallbackStub;-><init>(Landroid/media/session/MediaSessionManager;)V
+HSPLandroid/media/session/MediaSessionManager$CallbackStub;-><init>(Landroid/media/session/MediaSessionManager;Landroid/media/session/MediaSessionManager$1;)V
HSPLandroid/media/session/MediaSessionManager;-><init>(Landroid/content/Context;)V
HSPLandroid/media/session/MediaSessionManager;->createSession(Landroid/media/session/MediaSession$CallbackStub;Ljava/lang/String;Landroid/os/Bundle;)Landroid/media/session/ISession;
-HSPLandroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventInternal(ZLandroid/view/KeyEvent;IZ)V
HSPLandroid/media/session/MediaSessionManager;->getActiveSessions(Landroid/content/ComponentName;)Ljava/util/List;
HSPLandroid/media/session/MediaSessionManager;->getActiveSessionsForUser(Landroid/content/ComponentName;I)Ljava/util/List;
-HSPLandroid/media/session/PlaybackState$1;-><init>()V
-HSPLandroid/media/session/PlaybackState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/PlaybackState;
-HSPLandroid/media/session/PlaybackState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/session/PlaybackState$Builder;-><init>(Landroid/media/session/PlaybackState;)V
-HSPLandroid/media/session/PlaybackState$Builder;->build()Landroid/media/session/PlaybackState;
-HSPLandroid/media/session/PlaybackState$CustomAction$1;-><init>()V
-HSPLandroid/media/session/PlaybackState$CustomAction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/PlaybackState$CustomAction;
-HSPLandroid/media/session/PlaybackState$CustomAction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/session/PlaybackState$CustomAction;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/session/PlaybackState;-><init>(IJJFJJLjava/util/List;JLjava/lang/CharSequence;Landroid/os/Bundle;)V
-HSPLandroid/media/session/PlaybackState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/session/PlaybackState;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;-><init>()V
HSPLandroid/metrics/LogMaker;-><init>(I)V
-HSPLandroid/metrics/LogMaker;->addTaggedData(ILjava/lang/Object;)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->clearTaggedData(I)Landroid/metrics/LogMaker;
+HPLandroid/metrics/LogMaker;->addTaggedData(ILjava/lang/Object;)Landroid/metrics/LogMaker;
HSPLandroid/metrics/LogMaker;->getEntries()Landroid/util/SparseArray;
-HSPLandroid/metrics/LogMaker;->getType()I
-HSPLandroid/metrics/LogMaker;->isValidValue(Ljava/lang/Object;)Z
+PLandroid/metrics/LogMaker;->getType()I
+HPLandroid/metrics/LogMaker;->isValidValue(Ljava/lang/Object;)Z
HSPLandroid/metrics/LogMaker;->serialize()[Ljava/lang/Object;
HSPLandroid/metrics/LogMaker;->setCategory(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setComponentName(Landroid/content/ComponentName;)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setCounterBucket(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setCounterName(Ljava/lang/String;)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setCounterValue(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setLatency(J)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setPackageName(Ljava/lang/String;)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setSubtype(I)Landroid/metrics/LogMaker;
HSPLandroid/metrics/LogMaker;->setType(I)Landroid/metrics/LogMaker;
-HSPLandroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;-><init>()V
HSPLandroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;->nameOf(I)Ljava/lang/String;
-HSPLandroid/net/-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI;->run()V
-HSPLandroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;-><init>()V
+HSPLandroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;->lookup(Ljava/lang/String;)Ljava/util/List;
HSPLandroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;->nameOf(I)Ljava/lang/String;
+HSPLandroid/net/ConnectivityManager$CallbackHandler;-><init>(Landroid/net/ConnectivityManager;Landroid/os/Handler;)V
+HSPLandroid/net/ConnectivityManager$CallbackHandler;-><init>(Landroid/net/ConnectivityManager;Landroid/os/Looper;)V
+HSPLandroid/net/ConnectivityManager$CallbackHandler;->getObject(Landroid/os/Message;Ljava/lang/Class;)Ljava/lang/Object;
HSPLandroid/net/ConnectivityManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/net/ConnectivityManager$NetworkCallback;-><init>()V
+HSPLandroid/net/ConnectivityManager$NetworkCallback;->access$900(Landroid/net/ConnectivityManager$NetworkCallback;)Landroid/net/NetworkRequest;
+HSPLandroid/net/ConnectivityManager$NetworkCallback;->access$902(Landroid/net/ConnectivityManager$NetworkCallback;Landroid/net/NetworkRequest;)Landroid/net/NetworkRequest;
HSPLandroid/net/ConnectivityManager$NetworkCallback;->onAvailable(Landroid/net/Network;)V
HSPLandroid/net/ConnectivityManager$NetworkCallback;->onAvailable(Landroid/net/Network;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;Z)V
HSPLandroid/net/ConnectivityManager$NetworkCallback;->onBlockedStatusChanged(Landroid/net/Network;Z)V
HSPLandroid/net/ConnectivityManager$NetworkCallback;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
HSPLandroid/net/ConnectivityManager$NetworkCallback;->onLinkPropertiesChanged(Landroid/net/Network;Landroid/net/LinkProperties;)V
-HSPLandroid/net/ConnectivityManager$NetworkCallback;->onLosing(Landroid/net/Network;I)V
-HSPLandroid/net/ConnectivityManager$NetworkCallback;->onLost(Landroid/net/Network;)V
-HSPLandroid/net/ConnectivityManager$NetworkCallback;->onNetworkResumed(Landroid/net/Network;)V
-HSPLandroid/net/ConnectivityManager$NetworkCallback;->onNetworkSuspended(Landroid/net/Network;)V
HSPLandroid/net/ConnectivityManager$NetworkCallback;->onPreCheck(Landroid/net/Network;)V
HSPLandroid/net/ConnectivityManager;-><init>(Landroid/content/Context;Landroid/net/IConnectivityManager;)V
-HSPLandroid/net/ConnectivityManager;->enforceChangePermission(Landroid/content/Context;)V
-HSPLandroid/net/ConnectivityManager;->enforceTetherChangePermission(Landroid/content/Context;Ljava/lang/String;)V
+HSPLandroid/net/ConnectivityManager;->access$800()Ljava/util/HashMap;
+HSPLandroid/net/ConnectivityManager;->checkCallbackNotNull(Landroid/net/ConnectivityManager$NetworkCallback;)V
HSPLandroid/net/ConnectivityManager;->from(Landroid/content/Context;)Landroid/net/ConnectivityManager;
HSPLandroid/net/ConnectivityManager;->getActiveNetwork()Landroid/net/Network;
-HSPLandroid/net/ConnectivityManager;->getActiveNetworkForUid(I)Landroid/net/Network;
-HSPLandroid/net/ConnectivityManager;->getActiveNetworkForUid(IZ)Landroid/net/Network;
HSPLandroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
HSPLandroid/net/ConnectivityManager;->getAllNetworks()[Landroid/net/Network;
HSPLandroid/net/ConnectivityManager;->getBoundNetworkForProcess()Landroid/net/Network;
-HSPLandroid/net/ConnectivityManager;->getCallbackName(I)Ljava/lang/String;
HSPLandroid/net/ConnectivityManager;->getDefaultHandler()Landroid/net/ConnectivityManager$CallbackHandler;
-HSPLandroid/net/ConnectivityManager;->getDefaultProxy()Landroid/net/ProxyInfo;
-HSPLandroid/net/ConnectivityManager;->getInstance()Landroid/net/ConnectivityManager;
HSPLandroid/net/ConnectivityManager;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
HSPLandroid/net/ConnectivityManager;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
HSPLandroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
HSPLandroid/net/ConnectivityManager;->getNetworkInfo(Landroid/net/Network;)Landroid/net/NetworkInfo;
HSPLandroid/net/ConnectivityManager;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
HSPLandroid/net/ConnectivityManager;->getNetworkPolicyManager()Landroid/net/INetworkPolicyManager;
-HSPLandroid/net/ConnectivityManager;->getNetworkTypeName(I)Ljava/lang/String;
HSPLandroid/net/ConnectivityManager;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
HSPLandroid/net/ConnectivityManager;->getRestrictBackgroundStatus()I
-HSPLandroid/net/ConnectivityManager;->inferLegacyTypeForNetworkCapabilities(Landroid/net/NetworkCapabilities;)I
HSPLandroid/net/ConnectivityManager;->isActiveNetworkMetered()Z
HSPLandroid/net/ConnectivityManager;->isNetworkSupported(I)Z
-HSPLandroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z
+HSPLandroid/net/ConnectivityManager;->isNetworkTypeValid(I)Z
HSPLandroid/net/ConnectivityManager;->isTetheringSupported()Z
HSPLandroid/net/ConnectivityManager;->printStackTrace()V
HSPLandroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
HSPLandroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
HSPLandroid/net/ConnectivityManager;->registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
HSPLandroid/net/ConnectivityManager;->registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
-HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
-HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;IILandroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V
-HPLandroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
HSPLandroid/net/ConnectivityManager;->sendRequestForNetwork(Landroid/net/NetworkCapabilities;Landroid/net/ConnectivityManager$NetworkCallback;IIILandroid/net/ConnectivityManager$CallbackHandler;)Landroid/net/NetworkRequest;
-HSPLandroid/net/ConnectivityManager;->setProcessDefaultNetwork(Landroid/net/Network;)Z
-HSPLandroid/net/ConnectivityManager;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
HSPLandroid/net/ConnectivityManager;->unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
-HPLandroid/net/ConnectivityManager;->unsupportedStartingFrom(I)V
-HSPLandroid/net/ConnectivityMetricsEvent$1;-><init>()V
-HSPLandroid/net/ConnectivityMetricsEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ConnectivityMetricsEvent;
-HSPLandroid/net/ConnectivityMetricsEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/ConnectivityMetricsEvent;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/net/ConnectivityThread$Singleton;-><clinit>()V
+HSPLandroid/net/ConnectivityThread$Singleton;->access$100()Landroid/net/ConnectivityThread;
+HSPLandroid/net/ConnectivityThread;-><init>()V
HSPLandroid/net/ConnectivityThread;->access$000()Landroid/net/ConnectivityThread;
+HSPLandroid/net/ConnectivityThread;->createInstance()Landroid/net/ConnectivityThread;
HSPLandroid/net/ConnectivityThread;->getInstanceLooper()Landroid/os/Looper;
HSPLandroid/net/Credentials;-><init>(III)V
HSPLandroid/net/Credentials;->getPid()I
HSPLandroid/net/Credentials;->getUid()I
-HSPLandroid/net/DataUsageRequest$1;-><init>()V
-HSPLandroid/net/DhcpInfo$1;-><init>()V
-HPLandroid/net/DhcpInfo;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/net/DhcpResults$1;-><init>()V
-HPLandroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V
-HPLandroid/net/DhcpResults;-><init>(Landroid/net/StaticIpConfiguration;)V
-HPLandroid/net/DhcpResults;->clear()V
-HPLandroid/net/DhcpResults;->hasMeteredHint()Z
-HPLandroid/net/DhcpResults;->toStaticIpConfiguration()Landroid/net/StaticIpConfiguration;
-HPLandroid/net/DhcpResults;->toString()Ljava/lang/String;
-HSPLandroid/net/EventLogTags;->writeNtpSuccess(Ljava/lang/String;JJ)V
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetwork()Landroid/net/Network;
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworks()[Landroid/net/Network;
@@ -10002,192 +4454,110 @@ HSPLandroid/net/IConnectivityManager$Stub$Proxy;->isActiveNetworkMetered()Z
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->isNetworkSupported(I)Z
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->isTetheringSupported(Ljava/lang/String;)Z
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
-HSPLandroid/net/IConnectivityManager$Stub;-><init>()V
HSPLandroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
-HPLandroid/net/IConnectivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/IEthernetManager$Stub;-><init>()V
-HSPLandroid/net/IIpConnectivityMetrics$Stub;-><init>()V
-HSPLandroid/net/IIpConnectivityMetrics$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IIpConnectivityMetrics;
-HSPLandroid/net/IIpConnectivityMetrics$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/IIpSecService$Stub;-><init>()V
-HSPLandroid/net/INetdEventCallback$Stub;-><init>()V
-HSPLandroid/net/INetworkManagementEventObserver$Stub;-><init>()V
-HSPLandroid/net/INetworkManagementEventObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkPolicyListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkPolicyListener$Stub$Proxy;->onMeteredIfacesChanged([Ljava/lang/String;)V
-HSPLandroid/net/INetworkPolicyListener$Stub$Proxy;->onUidRulesChanged(II)V
HSPLandroid/net/INetworkPolicyListener$Stub;-><init>()V
HSPLandroid/net/INetworkPolicyListener$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/net/INetworkPolicyListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getRestrictBackground()Z
HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getRestrictBackgroundByCaller()I
HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->registerListener(Landroid/net/INetworkPolicyListener;)V
-HSPLandroid/net/INetworkPolicyManager$Stub;-><init>()V
HSPLandroid/net/INetworkPolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkPolicyManager;
-HSPLandroid/net/INetworkPolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/net/INetworkRecommendationProvider$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)V
-PLandroid/net/INetworkRecommendationProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkRecommendationProvider;
-HSPLandroid/net/INetworkScoreCache$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkScoreCache$Stub$Proxy;->clearScores()V
HSPLandroid/net/INetworkScoreCache$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/INetworkScoreCache$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/net/INetworkScoreService$Stub$Proxy;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
HSPLandroid/net/INetworkScoreService$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)Z
-HSPLandroid/net/INetworkScoreService$Stub;-><init>()V
-HSPLandroid/net/INetworkScoreService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getIfaceStats(Ljava/lang/String;I)J
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String;
-HSPLandroid/net/INetworkStatsService$Stub;-><init>()V
+HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getUidStats(II)J
HSPLandroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsService;
-HPLandroid/net/INetworkStatsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/net/INetworkStatsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/net/INetworkStatsSession$Stub;-><init>()V
-HPLandroid/net/INetworkStatsSession$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/net/INetworkStatsSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/ITetheringStatsProvider$Stub;-><init>()V
-HSPLandroid/net/InetAddresses;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
-HSPLandroid/net/InterfaceConfiguration$1;-><init>()V
-HSPLandroid/net/InterfaceConfiguration;-><init>()V
-HPLandroid/net/InterfaceConfiguration;->getLinkAddress()Landroid/net/LinkAddress;
-HSPLandroid/net/InterfaceConfiguration;->hasFlag(Ljava/lang/String;)Z
-HSPLandroid/net/InterfaceConfiguration;->isUp()Z
-HSPLandroid/net/InterfaceConfiguration;->setFlag(Ljava/lang/String;)V
-HSPLandroid/net/InterfaceConfigurationParcel$1;-><init>()V
-HSPLandroid/net/InterfaceConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/InterfaceConfigurationParcel;
-HSPLandroid/net/InterfaceConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/InterfaceConfigurationParcel;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/net/IpConfiguration$1;-><init>()V
HSPLandroid/net/IpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/IpConfiguration;
HSPLandroid/net/IpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/IpConfiguration$IpAssignment;-><init>(Ljava/lang/String;I)V
-HSPLandroid/net/IpConfiguration$IpAssignment;->valueOf(Ljava/lang/String;)Landroid/net/IpConfiguration$IpAssignment;
HSPLandroid/net/IpConfiguration$IpAssignment;->values()[Landroid/net/IpConfiguration$IpAssignment;
-HSPLandroid/net/IpConfiguration$ProxySettings;-><init>(Ljava/lang/String;I)V
-HSPLandroid/net/IpConfiguration$ProxySettings;->valueOf(Ljava/lang/String;)Landroid/net/IpConfiguration$ProxySettings;
HSPLandroid/net/IpConfiguration$ProxySettings;->values()[Landroid/net/IpConfiguration$ProxySettings;
-HSPLandroid/net/IpConfiguration;-><init>()V
-HSPLandroid/net/IpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/IpMemoryStore;->getMemoryStore(Landroid/content/Context;)Landroid/net/IpMemoryStore;
-HSPLandroid/net/IpPrefix$2;-><init>()V
HSPLandroid/net/IpPrefix$2;->createFromParcel(Landroid/os/Parcel;)Landroid/net/IpPrefix;
HSPLandroid/net/IpPrefix$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/IpPrefix;-><init>(Ljava/lang/String;)V
-HPLandroid/net/IpPrefix;-><init>(Ljava/net/InetAddress;I)V
+HSPLandroid/net/IpPrefix;-><init>([BI)V
HSPLandroid/net/IpPrefix;->checkAndMaskAddressAndPrefixLength()V
HSPLandroid/net/IpPrefix;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/IpPrefix;->getAddress()Ljava/net/InetAddress;
-HSPLandroid/net/IpPrefix;->hashCode()I
-HSPLandroid/net/IpPrefix;->toString()Ljava/lang/String;
-HSPLandroid/net/LinkAddress$1;-><init>()V
+HSPLandroid/net/IpPrefix;->getPrefixLength()I
+PLandroid/net/IpPrefix;->toString()Ljava/lang/String;
HSPLandroid/net/LinkAddress$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkAddress;
HSPLandroid/net/LinkAddress$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/LinkAddress;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/LinkAddress;-><init>(Ljava/lang/String;II)V
-HSPLandroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;I)V
-HSPLandroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
-HSPLandroid/net/LinkAddress;->getNetworkPrefixLength()I
-HSPLandroid/net/LinkAddress;->getPrefixLength()I
+HSPLandroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;III)V
+PLandroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
HSPLandroid/net/LinkAddress;->init(Ljava/net/InetAddress;III)V
-HSPLandroid/net/LinkAddress;->isGlobalPreferred()Z
-HSPLandroid/net/LinkAddress;->isIpv6()Z
+PLandroid/net/LinkAddress;->isGlobalPreferred()Z
+PLandroid/net/LinkAddress;->isIpv6()Z
+PLandroid/net/LinkAddress;->isIpv6ULA()Z
HSPLandroid/net/LinkAddress;->isSameAddressAs(Landroid/net/LinkAddress;)Z
-HSPLandroid/net/LinkAddress;->scopeForUnicastAddress(Ljava/net/InetAddress;)I
-HSPLandroid/net/LinkAddress;->toString()Ljava/lang/String;
-HSPLandroid/net/LinkAddress;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/LinkProperties$1;-><init>()V
+PLandroid/net/LinkAddress;->toString()Ljava/lang/String;
HSPLandroid/net/LinkProperties$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkProperties;
HSPLandroid/net/LinkProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/LinkProperties$CompareResult;-><init>(Ljava/util/Collection;Ljava/util/Collection;)V
HSPLandroid/net/LinkProperties;-><init>()V
-HSPLandroid/net/LinkProperties;-><init>(Landroid/net/LinkProperties;)V
HSPLandroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z
HSPLandroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z
-HSPLandroid/net/LinkProperties;->addPcscfServer(Ljava/net/InetAddress;)Z
HSPLandroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z
-HSPLandroid/net/LinkProperties;->addStackedLink(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->addValidatedPrivateDnsServer(Ljava/net/InetAddress;)Z
HSPLandroid/net/LinkProperties;->clear()V
-HSPLandroid/net/LinkProperties;->describeContents()I
-HSPLandroid/net/LinkProperties;->ensureDirectlyConnectedRoutes()V
-HSPLandroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/LinkProperties;->getAddresses()Ljava/util/List;
-HSPLandroid/net/LinkProperties;->getAllInterfaceNames()Ljava/util/List;
-HSPLandroid/net/LinkProperties;->getAllRoutes()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->findLinkAddressIndex(Landroid/net/LinkAddress;)I
+PLandroid/net/LinkProperties;->getAddresses()Ljava/util/List;
HSPLandroid/net/LinkProperties;->getDnsServers()Ljava/util/List;
-HSPLandroid/net/LinkProperties;->getDomains()Ljava/lang/String;
-HSPLandroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo;
-HSPLandroid/net/LinkProperties;->getInterfaceName()Ljava/lang/String;
-HSPLandroid/net/LinkProperties;->getLinkAddresses()Ljava/util/List;
-HSPLandroid/net/LinkProperties;->getMtu()I
+PLandroid/net/LinkProperties;->getDomains()Ljava/lang/String;
+PLandroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo;
+PLandroid/net/LinkProperties;->getInterfaceName()Ljava/lang/String;
+PLandroid/net/LinkProperties;->getLinkAddresses()Ljava/util/List;
+PLandroid/net/LinkProperties;->getMtu()I
HSPLandroid/net/LinkProperties;->getPrivateDnsServerName()Ljava/lang/String;
-HSPLandroid/net/LinkProperties;->getRoutes()Ljava/util/List;
-HSPLandroid/net/LinkProperties;->getStackedLinks()Ljava/util/List;
-HSPLandroid/net/LinkProperties;->hasGlobalIPv6Address()Z
-HSPLandroid/net/LinkProperties;->hasGlobalIpv6Address()Z
-HSPLandroid/net/LinkProperties;->hasIPv4Address()Z
-HSPLandroid/net/LinkProperties;->hasIPv4DefaultRoute()Z
-HSPLandroid/net/LinkProperties;->hasIPv4DnsServer()Z
-HSPLandroid/net/LinkProperties;->hasIPv6DefaultRoute()Z
-HSPLandroid/net/LinkProperties;->hasIPv6DnsServer()Z
-HSPLandroid/net/LinkProperties;->hasIpv4Address()Z
-HSPLandroid/net/LinkProperties;->hasIpv4DefaultRoute()Z
-HSPLandroid/net/LinkProperties;->hasIpv6DefaultRoute()Z
-HSPLandroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z
-HSPLandroid/net/LinkProperties;->isIdenticalDnses(Landroid/net/LinkProperties;)Z
-HSPLandroid/net/LinkProperties;->isIdenticalInterfaceName(Landroid/net/LinkProperties;)Z
-HSPLandroid/net/LinkProperties;->isIdenticalRoutes(Landroid/net/LinkProperties;)Z
-HSPLandroid/net/LinkProperties;->isIdenticalStackedLinks(Landroid/net/LinkProperties;)Z
+PLandroid/net/LinkProperties;->getRoutes()Ljava/util/List;
+PLandroid/net/LinkProperties;->hasGlobalIpv6Address()Z
+PLandroid/net/LinkProperties;->hasIpv4Address()Z
+PLandroid/net/LinkProperties;->hasIpv6DefaultRoute()Z
+PLandroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z
+PLandroid/net/LinkProperties;->isIdenticalDnses(Landroid/net/LinkProperties;)Z
+PLandroid/net/LinkProperties;->isIdenticalRoutes(Landroid/net/LinkProperties;)Z
+PLandroid/net/LinkProperties;->isIdenticalStackedLinks(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->isPrivateDnsActive()Z
-HSPLandroid/net/LinkProperties;->setDnsServers(Ljava/util/Collection;)V
+HSPLandroid/net/LinkProperties;->routeWithInterface(Landroid/net/RouteInfo;)Landroid/net/RouteInfo;
HSPLandroid/net/LinkProperties;->setDomains(Ljava/lang/String;)V
-HSPLandroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
HSPLandroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V
-HSPLandroid/net/LinkProperties;->setLinkAddresses(Ljava/util/Collection;)V
HSPLandroid/net/LinkProperties;->setMtu(I)V
HSPLandroid/net/LinkProperties;->setNat64Prefix(Landroid/net/IpPrefix;)V
-HSPLandroid/net/LinkProperties;->setValidatedPrivateDnsServers(Ljava/util/Collection;)V
-HSPLandroid/net/LinkProperties;->toString()Ljava/lang/String;
-HSPLandroid/net/LinkProperties;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/LinkProperties;->setPrivateDnsServerName(Ljava/lang/String;)V
+HSPLandroid/net/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V
+HSPLandroid/net/LinkProperties;->setUsePrivateDns(Z)V
+HSPLandroid/net/LinkProperties;->setWakeOnLanSupported(Z)V
+PLandroid/net/LinkProperties;->toString()Ljava/lang/String;
HSPLandroid/net/LocalServerSocket;-><init>(Ljava/io/FileDescriptor;)V
-HSPLandroid/net/LocalServerSocket;-><init>(Ljava/lang/String;)V
HSPLandroid/net/LocalServerSocket;->accept()Landroid/net/LocalSocket;
HSPLandroid/net/LocalServerSocket;->close()V
HSPLandroid/net/LocalServerSocket;->getFileDescriptor()Ljava/io/FileDescriptor;
-HSPLandroid/net/LocalSocket;-><init>()V
-HSPLandroid/net/LocalSocket;-><init>(I)V
+HSPLandroid/net/LocalSocket;-><init>(Landroid/net/LocalSocketImpl;I)V
HSPLandroid/net/LocalSocket;->close()V
-HSPLandroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V
-HSPLandroid/net/LocalSocket;->getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;
+HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Landroid/net/LocalSocketImpl;I)Landroid/net/LocalSocket;
+HSPLandroid/net/LocalSocket;->createLocalSocketForAccept(Landroid/net/LocalSocketImpl;)Landroid/net/LocalSocket;
HSPLandroid/net/LocalSocket;->getFileDescriptor()Ljava/io/FileDescriptor;
HSPLandroid/net/LocalSocket;->getInputStream()Ljava/io/InputStream;
HSPLandroid/net/LocalSocket;->getOutputStream()Ljava/io/OutputStream;
HSPLandroid/net/LocalSocket;->getPeerCredentials()Landroid/net/Credentials;
HSPLandroid/net/LocalSocket;->implCreateIfNeeded()V
HSPLandroid/net/LocalSocket;->setSoTimeout(I)V
-HSPLandroid/net/LocalSocketAddress$Namespace;-><init>(Ljava/lang/String;II)V
-HSPLandroid/net/LocalSocketAddress;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/LocalSocketAddress;->getName()Ljava/lang/String;
-HSPLandroid/net/LocalSocketAddress;->getNamespace()Landroid/net/LocalSocketAddress$Namespace;
+HSPLandroid/net/LocalSocketImpl$SocketInputStream;-><init>(Landroid/net/LocalSocketImpl;)V
HSPLandroid/net/LocalSocketImpl$SocketInputStream;->available()I
-HSPLandroid/net/LocalSocketImpl$SocketInputStream;->read()I
-HSPLandroid/net/LocalSocketImpl$SocketInputStream;->read([B)I
HSPLandroid/net/LocalSocketImpl$SocketInputStream;->read([BII)I
-HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->flush()V
+HSPLandroid/net/LocalSocketImpl$SocketOutputStream;-><init>(Landroid/net/LocalSocketImpl;)V
HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->write(I)V
-HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->write([B)V
HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->write([BII)V
+HSPLandroid/net/LocalSocketImpl;-><init>()V
+HSPLandroid/net/LocalSocketImpl;-><init>(Ljava/io/FileDescriptor;)V
HSPLandroid/net/LocalSocketImpl;->accept(Landroid/net/LocalSocketImpl;)V
-HSPLandroid/net/LocalSocketImpl;->bind(Landroid/net/LocalSocketAddress;)V
+HSPLandroid/net/LocalSocketImpl;->access$000(Landroid/net/LocalSocketImpl;)Ljava/io/FileDescriptor;
+HSPLandroid/net/LocalSocketImpl;->access$100(Landroid/net/LocalSocketImpl;)Ljava/lang/Object;
+HSPLandroid/net/LocalSocketImpl;->access$300(Landroid/net/LocalSocketImpl;[BIILjava/io/FileDescriptor;)I
+HSPLandroid/net/LocalSocketImpl;->access$400(Landroid/net/LocalSocketImpl;)Ljava/lang/Object;
+HSPLandroid/net/LocalSocketImpl;->access$500(Landroid/net/LocalSocketImpl;[BIILjava/io/FileDescriptor;)V
+HSPLandroid/net/LocalSocketImpl;->access$600(Landroid/net/LocalSocketImpl;ILjava/io/FileDescriptor;)V
HSPLandroid/net/LocalSocketImpl;->close()V
-HSPLandroid/net/LocalSocketImpl;->connect(Landroid/net/LocalSocketAddress;I)V
-HSPLandroid/net/LocalSocketImpl;->create(I)V
HSPLandroid/net/LocalSocketImpl;->finalize()V
-HSPLandroid/net/LocalSocketImpl;->getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;
HSPLandroid/net/LocalSocketImpl;->getFileDescriptor()Ljava/io/FileDescriptor;
HSPLandroid/net/LocalSocketImpl;->getInputStream()Ljava/io/InputStream;
HSPLandroid/net/LocalSocketImpl;->getOutputStream()Ljava/io/OutputStream;
@@ -10195,135 +4565,93 @@ HSPLandroid/net/LocalSocketImpl;->getPeerCredentials()Landroid/net/Credentials;
HSPLandroid/net/LocalSocketImpl;->getSockAddress()Landroid/net/LocalSocketAddress;
HSPLandroid/net/LocalSocketImpl;->listen(I)V
HSPLandroid/net/LocalSocketImpl;->setOption(ILjava/lang/Object;)V
-HSPLandroid/net/MacAddress$1;-><init>()V
HSPLandroid/net/MacAddress$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/MacAddress;
HSPLandroid/net/MacAddress$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/MacAddress;-><init>(J)V
-HSPLandroid/net/MacAddress;->addr([I)[B
-HPLandroid/net/MacAddress;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/MacAddress;->fromBytes([B)Landroid/net/MacAddress;
-HSPLandroid/net/MacAddress;->fromString(Ljava/lang/String;)Landroid/net/MacAddress;
-HPLandroid/net/MacAddress;->hashCode()I
-HSPLandroid/net/MacAddress;->longAddrFromByteAddr([B)J
HSPLandroid/net/MacAddress;->longAddrFromStringAddr(Ljava/lang/String;)J
-HSPLandroid/net/MacAddress;->stringAddrFromLongAddr(J)Ljava/lang/String;
-HSPLandroid/net/MacAddress;->toByteArray()[B
-HSPLandroid/net/MacAddress;->toString()Ljava/lang/String;
-HSPLandroid/net/MatchAllNetworkSpecifier$1;-><init>()V
-HSPLandroid/net/MatchAllNetworkSpecifier;-><init>()V
-HSPLandroid/net/MatchAllNetworkSpecifier;->checkNotMatchAllNetworkSpecifier(Landroid/net/NetworkSpecifier;)V
-HSPLandroid/net/Network$1;-><init>()V
HSPLandroid/net/Network$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Network;
HSPLandroid/net/Network$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/Network$1;->newArray(I)[Landroid/net/Network;
HSPLandroid/net/Network$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/net/Network$NetworkBoundSocketFactory;->createSocket()Ljava/net/Socket;
HSPLandroid/net/Network;-><init>(I)V
+HSPLandroid/net/Network;-><init>(IZ)V
HSPLandroid/net/Network;->bindSocket(Ljava/io/FileDescriptor;)V
-HSPLandroid/net/Network;->bindSocket(Ljava/net/DatagramSocket;)V
HSPLandroid/net/Network;->bindSocket(Ljava/net/Socket;)V
HSPLandroid/net/Network;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/Network;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
-HSPLandroid/net/Network;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLandroid/net/Network;->getNetIdForResolv()I
HSPLandroid/net/Network;->getNetworkHandle()J
-HSPLandroid/net/Network;->getPrivateDnsBypassingCopy()Landroid/net/Network;
HSPLandroid/net/Network;->getSocketFactory()Ljavax/net/SocketFactory;
-HSPLandroid/net/Network;->hashCode()I
+HPLandroid/net/Network;->hashCode()I
+HSPLandroid/net/Network;->lambda$maybeInitUrlConnectionFactory$0$Network(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/net/Network;->maybeInitUrlConnectionFactory()V
+HSPLandroid/net/Network;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
+HSPLandroid/net/Network;->openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;
HSPLandroid/net/Network;->toString()Ljava/lang/String;
HSPLandroid/net/Network;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;)V
-HSPLandroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;I)V
-HSPLandroid/net/NetworkAgent;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/net/NetworkAgent;->log(Ljava/lang/String;)V
-HSPLandroid/net/NetworkAgent;->queueOrSendMessage(Landroid/os/Message;)V
-HSPLandroid/net/NetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V
-HSPLandroid/net/NetworkAgent;->sendNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
-HSPLandroid/net/NetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V
-HSPLandroid/net/NetworkAgent;->sendNetworkScore(I)V
-HSPLandroid/net/NetworkAgent;->setSignalStrengthThresholds([I)V
-HSPLandroid/net/NetworkCapabilities$1;-><init>()V
HSPLandroid/net/NetworkCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkCapabilities;
HSPLandroid/net/NetworkCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/NetworkCapabilities;-><init>()V
HSPLandroid/net/NetworkCapabilities;-><init>(Landroid/net/NetworkCapabilities;)V
+HSPLandroid/net/NetworkCapabilities;->access$002(Landroid/net/NetworkCapabilities;J)J
+HSPLandroid/net/NetworkCapabilities;->access$1002(Landroid/net/NetworkCapabilities;Z)Z
+HSPLandroid/net/NetworkCapabilities;->access$102(Landroid/net/NetworkCapabilities;J)J
+HSPLandroid/net/NetworkCapabilities;->access$202(Landroid/net/NetworkCapabilities;J)J
+HSPLandroid/net/NetworkCapabilities;->access$302(Landroid/net/NetworkCapabilities;I)I
+HSPLandroid/net/NetworkCapabilities;->access$402(Landroid/net/NetworkCapabilities;I)I
+HSPLandroid/net/NetworkCapabilities;->access$502(Landroid/net/NetworkCapabilities;Landroid/net/NetworkSpecifier;)Landroid/net/NetworkSpecifier;
+HSPLandroid/net/NetworkCapabilities;->access$602(Landroid/net/NetworkCapabilities;Landroid/net/TransportInfo;)Landroid/net/TransportInfo;
+HSPLandroid/net/NetworkCapabilities;->access$702(Landroid/net/NetworkCapabilities;I)I
+HSPLandroid/net/NetworkCapabilities;->access$802(Landroid/net/NetworkCapabilities;Landroid/util/ArraySet;)Landroid/util/ArraySet;
+HSPLandroid/net/NetworkCapabilities;->access$902(Landroid/net/NetworkCapabilities;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities;
HSPLandroid/net/NetworkCapabilities;->addTransportType(I)Landroid/net/NetworkCapabilities;
HSPLandroid/net/NetworkCapabilities;->appendStringRepresentationOfBitMaskToStringBuilder(Ljava/lang/StringBuilder;JLandroid/net/NetworkCapabilities$NameOf;Ljava/lang/String;)V
HSPLandroid/net/NetworkCapabilities;->capabilityNameOf(I)Ljava/lang/String;
-HSPLandroid/net/NetworkCapabilities;->describeContents()I
-HSPLandroid/net/NetworkCapabilities;->describeFirstNonRequestableCapability()Ljava/lang/String;
-HPLandroid/net/NetworkCapabilities;->describeImmutableDifferences(Landroid/net/NetworkCapabilities;)Ljava/lang/String;
-HSPLandroid/net/NetworkCapabilities;->equalRequestableCapabilities(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->checkValidCapability(I)V
+HSPLandroid/net/NetworkCapabilities;->checkValidTransportType(I)V
+HSPLandroid/net/NetworkCapabilities;->clearAll()V
HSPLandroid/net/NetworkCapabilities;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsLinkBandwidths(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsNetCapabilities(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsPrivateDnsBroken(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsSSID(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsSignalStrength(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsSpecifier(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsTransportInfo(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->equalsTransportTypes(Landroid/net/NetworkCapabilities;)Z
HSPLandroid/net/NetworkCapabilities;->equalsUids(Landroid/net/NetworkCapabilities;)Z
-HSPLandroid/net/NetworkCapabilities;->getCapabilities()[I
-HSPLandroid/net/NetworkCapabilities;->getNetworkSpecifier()Landroid/net/NetworkSpecifier;
HSPLandroid/net/NetworkCapabilities;->getTransportTypes()[I
-HSPLandroid/net/NetworkCapabilities;->getUids()Ljava/util/Set;
-HSPLandroid/net/NetworkCapabilities;->getUnwantedCapabilities()[I
HSPLandroid/net/NetworkCapabilities;->hasCapability(I)Z
HSPLandroid/net/NetworkCapabilities;->hasTransport(I)Z
HSPLandroid/net/NetworkCapabilities;->hashCode()I
-HSPLandroid/net/NetworkCapabilities;->isMetered()Z
+HSPLandroid/net/NetworkCapabilities;->isValidCapability(I)Z
+HSPLandroid/net/NetworkCapabilities;->isValidTransport(I)Z
HSPLandroid/net/NetworkCapabilities;->maybeMarkCapabilitiesRestricted()V
HSPLandroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities;
-HSPLandroid/net/NetworkCapabilities;->satisfiedByImmutableNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
-HSPLandroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
-HSPLandroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;Z)Z
-HSPLandroid/net/NetworkCapabilities;->satisfiedByUids(Landroid/net/NetworkCapabilities;)Z
HSPLandroid/net/NetworkCapabilities;->set(Landroid/net/NetworkCapabilities;)V
-HSPLandroid/net/NetworkCapabilities;->setCapabilities([I[I)V
-HSPLandroid/net/NetworkCapabilities;->setCapability(IZ)Landroid/net/NetworkCapabilities;
-HSPLandroid/net/NetworkCapabilities;->setLinkDownstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
-HSPLandroid/net/NetworkCapabilities;->setLinkUpstreamBandwidthKbps(I)Landroid/net/NetworkCapabilities;
HSPLandroid/net/NetworkCapabilities;->setNetworkSpecifier(Landroid/net/NetworkSpecifier;)Landroid/net/NetworkCapabilities;
HSPLandroid/net/NetworkCapabilities;->setSingleUid(I)Landroid/net/NetworkCapabilities;
-HSPLandroid/net/NetworkCapabilities;->setTransportTypes([I)V
+HSPLandroid/net/NetworkCapabilities;->setUids(Ljava/util/Set;)Landroid/net/NetworkCapabilities;
HSPLandroid/net/NetworkCapabilities;->toString()Ljava/lang/String;
HSPLandroid/net/NetworkCapabilities;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkConfig;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/NetworkFactory$SerialNumber;->nextSerialNumber()I
HSPLandroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V
-HSPLandroid/net/NetworkFactory;->acceptRequest(Landroid/net/NetworkRequest;I)Z
-HSPLandroid/net/NetworkFactory;->getSerialNumber()I
-HSPLandroid/net/NetworkFactory;->handleAddRequest(Landroid/net/NetworkRequest;II)V
+HSPLandroid/net/NetworkFactory;->evalRequests()V
HSPLandroid/net/NetworkFactory;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/net/NetworkFactory;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
-HSPLandroid/net/NetworkFactory;->lambda$reevaluateAllRequests$0$NetworkFactory()V
-HSPLandroid/net/NetworkFactory;->log(Ljava/lang/String;)V
-HSPLandroid/net/NetworkFactory;->reevaluateAllRequests()V
-HSPLandroid/net/NetworkFactory;->register()V
-HSPLandroid/net/NetworkFactory;->setCapabilityFilter(Landroid/net/NetworkCapabilities;)V
-HSPLandroid/net/NetworkFactory;->setScoreFilter(I)V
-HSPLandroid/net/NetworkFactory;->shouldNeedNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
-HSPLandroid/net/NetworkFactory;->shouldReleaseNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
-HSPLandroid/net/NetworkIdentity;->buildNetworkIdentity(Landroid/content/Context;Landroid/net/NetworkState;Z)Landroid/net/NetworkIdentity;
-HPLandroid/net/NetworkIdentity;->compareTo(Landroid/net/NetworkIdentity;)I
-HSPLandroid/net/NetworkIdentity;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/NetworkIdentity;->getDefaultNetwork()Z
-HSPLandroid/net/NetworkIdentity;->getMetered()Z
-HSPLandroid/net/NetworkIdentity;->getNetworkId()Ljava/lang/String;
-HSPLandroid/net/NetworkIdentity;->getRoaming()Z
-HSPLandroid/net/NetworkIdentity;->getSubType()I
-HSPLandroid/net/NetworkIdentity;->getSubscriberId()Ljava/lang/String;
-HSPLandroid/net/NetworkIdentity;->getType()I
-HSPLandroid/net/NetworkIdentity;->hashCode()I
-HSPLandroid/net/NetworkIdentity;->scrubSubscriberId(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/net/NetworkIdentity;->toString()Ljava/lang/String;
-HSPLandroid/net/NetworkInfo$1;-><init>()V
HSPLandroid/net/NetworkInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkInfo;
HSPLandroid/net/NetworkInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/NetworkInfo$DetailedState;-><init>(Ljava/lang/String;I)V
-HSPLandroid/net/NetworkInfo$DetailedState;->values()[Landroid/net/NetworkInfo$DetailedState;
-HSPLandroid/net/NetworkInfo$State;-><init>(Ljava/lang/String;I)V
+HSPLandroid/net/NetworkInfo$DetailedState;->valueOf(Ljava/lang/String;)Landroid/net/NetworkInfo$DetailedState;
+HSPLandroid/net/NetworkInfo$State;->valueOf(Ljava/lang/String;)Landroid/net/NetworkInfo$State;
HSPLandroid/net/NetworkInfo$State;->values()[Landroid/net/NetworkInfo$State;
HSPLandroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/NetworkInfo;-><init>(Landroid/net/NetworkInfo;)V
-HSPLandroid/net/NetworkInfo;->describeContents()I
+HSPLandroid/net/NetworkInfo;->access$002(Landroid/net/NetworkInfo;Landroid/net/NetworkInfo$State;)Landroid/net/NetworkInfo$State;
+HSPLandroid/net/NetworkInfo;->access$102(Landroid/net/NetworkInfo;Landroid/net/NetworkInfo$DetailedState;)Landroid/net/NetworkInfo$DetailedState;
+HSPLandroid/net/NetworkInfo;->access$202(Landroid/net/NetworkInfo;Z)Z
+HSPLandroid/net/NetworkInfo;->access$302(Landroid/net/NetworkInfo;Z)Z
+HSPLandroid/net/NetworkInfo;->access$402(Landroid/net/NetworkInfo;Z)Z
+HSPLandroid/net/NetworkInfo;->access$502(Landroid/net/NetworkInfo;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/net/NetworkInfo;->access$602(Landroid/net/NetworkInfo;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState;
-HSPLandroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
-HSPLandroid/net/NetworkInfo;->getReason()Ljava/lang/String;
HSPLandroid/net/NetworkInfo;->getState()Landroid/net/NetworkInfo$State;
HSPLandroid/net/NetworkInfo;->getSubtype()I
HSPLandroid/net/NetworkInfo;->getSubtypeName()Ljava/lang/String;
@@ -10331,54 +4659,21 @@ HSPLandroid/net/NetworkInfo;->getType()I
HSPLandroid/net/NetworkInfo;->getTypeName()Ljava/lang/String;
HSPLandroid/net/NetworkInfo;->isConnected()Z
HSPLandroid/net/NetworkInfo;->isConnectedOrConnecting()Z
-HSPLandroid/net/NetworkInfo;->isFailover()Z
HSPLandroid/net/NetworkInfo;->isRoaming()Z
HSPLandroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/NetworkInfo;->setExtraInfo(Ljava/lang/String;)V
-HSPLandroid/net/NetworkInfo;->setIsAvailable(Z)V
-HSPLandroid/net/NetworkInfo;->setRoaming(Z)V
-HSPLandroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V
-HSPLandroid/net/NetworkInfo;->setType(I)V
-HSPLandroid/net/NetworkInfo;->toString()Ljava/lang/String;
-HSPLandroid/net/NetworkInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkKey$1;-><init>()V
HSPLandroid/net/NetworkKey$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkKey;
HSPLandroid/net/NetworkKey$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/NetworkKey$1;->newArray(I)[Landroid/net/NetworkKey;
-HSPLandroid/net/NetworkKey$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/net/NetworkKey;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/NetworkKey;->createFromScanResult(Landroid/net/wifi/ScanResult;)Landroid/net/NetworkKey;
HSPLandroid/net/NetworkKey;->createFromWifiInfo(Landroid/net/wifi/WifiInfo;)Landroid/net/NetworkKey;
HSPLandroid/net/NetworkKey;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/NetworkKey;->hashCode()I
HSPLandroid/net/NetworkKey;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkMisc$1;-><init>()V
-HSPLandroid/net/NetworkMisc$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkMisc;
-HSPLandroid/net/NetworkMisc$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/NetworkMisc;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkPolicy$1;-><init>()V
-HSPLandroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;Landroid/util/RecurrenceRule;JJJJJZZ)V
-HSPLandroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;Landroid/util/RecurrenceRule;JJJJZZ)V
-HSPLandroid/net/NetworkPolicy;->buildRule(ILjava/time/ZoneId;)Landroid/util/RecurrenceRule;
-HSPLandroid/net/NetworkPolicy;->cycleIterator()Ljava/util/Iterator;
-HSPLandroid/net/NetworkPolicy;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/NetworkPolicy;->hasCycle()Z
-HSPLandroid/net/NetworkPolicy;->isOverLimit(J)Z
-HSPLandroid/net/NetworkPolicy;->isOverWarning(J)Z
-HSPLandroid/net/NetworkPolicy;->toString()Ljava/lang/String;
-HSPLandroid/net/NetworkPolicyManager$1;->hasNext()Z
-HSPLandroid/net/NetworkPolicyManager$1;->next()Landroid/util/Pair;
-HSPLandroid/net/NetworkPolicyManager$1;->next()Ljava/lang/Object;
HSPLandroid/net/NetworkPolicyManager$Listener;-><init>()V
HSPLandroid/net/NetworkPolicyManager$Listener;->onMeteredIfacesChanged([Ljava/lang/String;)V
-HSPLandroid/net/NetworkPolicyManager$Listener;->onUidRulesChanged(II)V
+HPLandroid/net/NetworkPolicyManager$Listener;->onUidRulesChanged(II)V
HSPLandroid/net/NetworkPolicyManager;-><init>(Landroid/content/Context;Landroid/net/INetworkPolicyManager;)V
-HSPLandroid/net/NetworkPolicyManager;->cycleIterator(Landroid/net/NetworkPolicy;)Ljava/util/Iterator;
HSPLandroid/net/NetworkPolicyManager;->from(Landroid/content/Context;)Landroid/net/NetworkPolicyManager;
-HSPLandroid/net/NetworkPolicyManager;->getNetworkPolicies()[Landroid/net/NetworkPolicy;
-HSPLandroid/net/NetworkPolicyManager;->getRestrictBackground()Z
HSPLandroid/net/NetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V
-HSPLandroid/net/NetworkRequest$1;-><init>()V
HSPLandroid/net/NetworkRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkRequest;
HSPLandroid/net/NetworkRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/NetworkRequest$Builder;-><init>()V
@@ -10387,187 +4682,57 @@ HSPLandroid/net/NetworkRequest$Builder;->addTransportType(I)Landroid/net/Network
HSPLandroid/net/NetworkRequest$Builder;->build()Landroid/net/NetworkRequest;
HSPLandroid/net/NetworkRequest$Builder;->clearCapabilities()Landroid/net/NetworkRequest$Builder;
HSPLandroid/net/NetworkRequest$Builder;->removeCapability(I)Landroid/net/NetworkRequest$Builder;
-HSPLandroid/net/NetworkRequest$Builder;->setNetworkSpecifier(Landroid/net/NetworkSpecifier;)Landroid/net/NetworkRequest$Builder;
-HSPLandroid/net/NetworkRequest$Builder;->setNetworkSpecifier(Ljava/lang/String;)Landroid/net/NetworkRequest$Builder;
-HSPLandroid/net/NetworkRequest$Type;-><init>(Ljava/lang/String;I)V
+HSPLandroid/net/NetworkRequest$Type;->valueOf(Ljava/lang/String;)Landroid/net/NetworkRequest$Type;
HSPLandroid/net/NetworkRequest$Type;->values()[Landroid/net/NetworkRequest$Type;
HSPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkCapabilities;IILandroid/net/NetworkRequest$Type;)V
-HSPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkRequest;)V
HSPLandroid/net/NetworkRequest;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/NetworkRequest;->hasCapability(I)Z
HSPLandroid/net/NetworkRequest;->hashCode()I
-HSPLandroid/net/NetworkRequest;->isBackgroundRequest()Z
-HSPLandroid/net/NetworkRequest;->isForegroundRequest()Z
-HSPLandroid/net/NetworkRequest;->isListen()Z
-HSPLandroid/net/NetworkRequest;->isRequest()Z
-HSPLandroid/net/NetworkRequest;->toString()Ljava/lang/String;
HSPLandroid/net/NetworkRequest;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/net/NetworkScoreManager;-><init>(Landroid/content/Context;)V
-HPLandroid/net/NetworkScoreManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-HSPLandroid/net/NetworkScoreManager;->getActiveScorerPackage()Ljava/lang/String;
HSPLandroid/net/NetworkScoreManager;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
HSPLandroid/net/NetworkScoreManager;->requestScores([Landroid/net/NetworkKey;)Z
-HSPLandroid/net/NetworkScorerAppData$1;-><init>()V
-HSPLandroid/net/NetworkScorerAppData;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/NetworkScorerAppData;->getRecommendationServicePackageName()Ljava/lang/String;
-HSPLandroid/net/NetworkSpecifier;->assertValidFromUid(I)V
-HSPLandroid/net/NetworkSpecifier;->redact()Landroid/net/NetworkSpecifier;
-HSPLandroid/net/NetworkState$1;-><init>()V
-HSPLandroid/net/NetworkState;-><init>(Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/Network;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/NetworkStats$1;-><init>()V
-HSPLandroid/net/NetworkStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkStats;
-HSPLandroid/net/NetworkStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/NetworkStats$Entry;-><init>()V
-HSPLandroid/net/NetworkStats$Entry;-><init>(Ljava/lang/String;IIIIIIJJJJJ)V
-HSPLandroid/net/NetworkStats$Entry;-><init>(Ljava/lang/String;IIIJJJJJ)V
-HSPLandroid/net/NetworkStats$Entry;->isEmpty()Z
-HSPLandroid/net/NetworkStats$Entry;->isNegative()Z
-HSPLandroid/net/NetworkStats;-><init>(JI)V
-HSPLandroid/net/NetworkStats;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/NetworkStats;->addValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats;
-HSPLandroid/net/NetworkStats;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Ljava/util/Map;Z)V
-HSPLandroid/net/NetworkStats;->apply464xlatAdjustments(Ljava/util/Map;Z)V
-HSPLandroid/net/NetworkStats;->clear()V
-HSPLandroid/net/NetworkStats;->clone()Landroid/net/NetworkStats;
-HSPLandroid/net/NetworkStats;->combineAllValues(Landroid/net/NetworkStats;)V
-HSPLandroid/net/NetworkStats;->combineValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats;
-HPLandroid/net/NetworkStats;->combineValues(Ljava/lang/String;IIIJJJJJ)Landroid/net/NetworkStats;
-HSPLandroid/net/NetworkStats;->filter(I[Ljava/lang/String;I)V
-HSPLandroid/net/NetworkStats;->findIndex(Ljava/lang/String;IIIIII)I
-HSPLandroid/net/NetworkStats;->findIndexHinted(Ljava/lang/String;IIIIIII)I
-HSPLandroid/net/NetworkStats;->getElapsedRealtime()J
-HSPLandroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
-HSPLandroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;Ljava/util/HashSet;)Landroid/net/NetworkStats$Entry;
-HSPLandroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;Ljava/util/HashSet;IZ)Landroid/net/NetworkStats$Entry;
-HSPLandroid/net/NetworkStats;->getTotalBytes()J
-HSPLandroid/net/NetworkStats;->getValues(ILandroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
-HSPLandroid/net/NetworkStats;->maybeCopyEntry(II)V
-HSPLandroid/net/NetworkStats;->removeUids([I)V
-HSPLandroid/net/NetworkStats;->setElapsedRealtime(J)V
-HPLandroid/net/NetworkStats;->setToString(I)Ljava/lang/String;
-HSPLandroid/net/NetworkStats;->setValues(ILandroid/net/NetworkStats$Entry;)V
-HSPLandroid/net/NetworkStats;->size()I
-HSPLandroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;)Landroid/net/NetworkStats;
-HSPLandroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
-HPLandroid/net/NetworkStats;->tagToString(I)Ljava/lang/String;
-HSPLandroid/net/NetworkStats;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkStatsHistory$1;-><init>()V
-HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLong(Ljava/io/DataInputStream;)J
-HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLongArray(Ljava/io/DataInputStream;)[J
-HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->writeVarLongArray(Ljava/io/DataOutputStream;[JI)V
-HPLandroid/net/NetworkStatsHistory$ParcelUtils;->writeLongArray(Landroid/os/Parcel;[JI)V
-HSPLandroid/net/NetworkStatsHistory;-><init>(J)V
-HSPLandroid/net/NetworkStatsHistory;-><init>(JI)V
-HSPLandroid/net/NetworkStatsHistory;-><init>(JII)V
-HSPLandroid/net/NetworkStatsHistory;-><init>(Ljava/io/DataInputStream;)V
-HSPLandroid/net/NetworkStatsHistory;->addLong([JIJ)V
-HPLandroid/net/NetworkStatsHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;Z)V
-HSPLandroid/net/NetworkStatsHistory;->ensureBuckets(JJ)V
-HSPLandroid/net/NetworkStatsHistory;->getBucketDuration()J
-HSPLandroid/net/NetworkStatsHistory;->getEnd()J
-HSPLandroid/net/NetworkStatsHistory;->getIndexAfter(J)I
-HSPLandroid/net/NetworkStatsHistory;->getStart()J
-HSPLandroid/net/NetworkStatsHistory;->getTotalBytes()J
-HSPLandroid/net/NetworkStatsHistory;->getValues(JJJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
-HSPLandroid/net/NetworkStatsHistory;->insertBucket(IJ)V
-HSPLandroid/net/NetworkStatsHistory;->recordData(JJLandroid/net/NetworkStats$Entry;)V
-HSPLandroid/net/NetworkStatsHistory;->recordEntireHistory(Landroid/net/NetworkStatsHistory;)V
-HSPLandroid/net/NetworkStatsHistory;->recordHistory(Landroid/net/NetworkStatsHistory;JJ)V
-HSPLandroid/net/NetworkStatsHistory;->size()I
-HPLandroid/net/NetworkStatsHistory;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkStatsHistory;->writeToStream(Ljava/io/DataOutputStream;)V
-HSPLandroid/net/NetworkTemplate$1;-><init>()V
-HSPLandroid/net/NetworkTemplate$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkTemplate;
-HSPLandroid/net/NetworkTemplate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/NetworkTemplate;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/NetworkTemplate;-><init>(ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/net/NetworkTemplate;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/NetworkTemplate;->buildTemplateMobileAll(Ljava/lang/String;)Landroid/net/NetworkTemplate;
-HSPLandroid/net/NetworkTemplate;->buildTemplateMobileWildcard()Landroid/net/NetworkTemplate;
-HSPLandroid/net/NetworkTemplate;->buildTemplateWifiWildcard()Landroid/net/NetworkTemplate;
-HSPLandroid/net/NetworkTemplate;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/NetworkTemplate;->getMatchRule()I
-HSPLandroid/net/NetworkTemplate;->getMatchRuleName(I)Ljava/lang/String;
-HSPLandroid/net/NetworkTemplate;->getNetworkId()Ljava/lang/String;
-HSPLandroid/net/NetworkTemplate;->getSubscriberId()Ljava/lang/String;
-HSPLandroid/net/NetworkTemplate;->hashCode()I
-HSPLandroid/net/NetworkTemplate;->isMatchRuleMobile()Z
-HSPLandroid/net/NetworkTemplate;->isPersistable()Z
-HSPLandroid/net/NetworkTemplate;->matches(Landroid/net/NetworkIdentity;)Z
-HSPLandroid/net/NetworkTemplate;->matchesMobile(Landroid/net/NetworkIdentity;)Z
-HSPLandroid/net/NetworkTemplate;->normalize(Landroid/net/NetworkTemplate;[Ljava/lang/String;)Landroid/net/NetworkTemplate;
-HSPLandroid/net/NetworkTemplate;->toString()Ljava/lang/String;
-HSPLandroid/net/NetworkTemplate;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/NetworkUtils;->inetAddressToInt(Ljava/net/Inet4Address;)I
-HSPLandroid/net/NetworkUtils;->makeStrings(Ljava/util/Collection;)[Ljava/lang/String;
+HSPLandroid/net/NetworkSpecifier;-><init>()V
+HPLandroid/net/NetworkTemplate;-><init>(ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;III)V
+PLandroid/net/NetworkTemplate;->buildTemplateMobileWildcard()Landroid/net/NetworkTemplate;
+PLandroid/net/NetworkTemplate;->buildTemplateWifiWildcard()Landroid/net/NetworkTemplate;
HSPLandroid/net/NetworkUtils;->maskRawAddress([BI)V
-HSPLandroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress;
-HSPLandroid/net/NetworkUtils;->parseIpAndMask(Ljava/lang/String;)Landroid/util/Pair;
-HPLandroid/net/NetworkWatchlistManager;-><init>(Landroid/content/Context;)V
-HPLandroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
HSPLandroid/net/Proxy;->setHttpProxySystemProperty(Landroid/net/ProxyInfo;)V
HSPLandroid/net/Proxy;->setHttpProxySystemProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/net/ProxyInfo$1;-><init>()V
-HSPLandroid/net/RouteInfo$1;-><init>()V
HSPLandroid/net/RouteInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RouteInfo;
HSPLandroid/net/RouteInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;)V
HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;I)V
-HPLandroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V
-HSPLandroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V
HSPLandroid/net/RouteInfo;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/RouteInfo;->getDestination()Landroid/net/IpPrefix;
+HSPLandroid/net/RouteInfo;->getGateway()Ljava/net/InetAddress;
+HSPLandroid/net/RouteInfo;->getInterface()Ljava/lang/String;
+HSPLandroid/net/RouteInfo;->getType()I
+PLandroid/net/RouteInfo;->isDefaultRoute()Z
HSPLandroid/net/RouteInfo;->isHost()Z
-HSPLandroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
-HSPLandroid/net/RouteInfo;->toString()Ljava/lang/String;
-HSPLandroid/net/SSLCertificateSocketFactory$1;-><init>()V
-HSPLandroid/net/ScoredNetwork$1;-><init>()V
+PLandroid/net/RouteInfo;->isIPv6Default()Z
+PLandroid/net/RouteInfo;->toString()Ljava/lang/String;
+HSPLandroid/net/RssiCurve$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RssiCurve;
+HSPLandroid/net/RssiCurve$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/RssiCurve;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/net/RssiCurve;-><init>(Landroid/os/Parcel;Landroid/net/RssiCurve$1;)V
+HSPLandroid/net/SSLCertificateSocketFactory;-><init>(ILandroid/net/SSLSessionCache;Z)V
+HSPLandroid/net/SSLSessionCache;-><init>(Landroid/content/Context;)V
HSPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ScoredNetwork;
HSPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/ScoredNetwork$1;->newArray(I)[Landroid/net/ScoredNetwork;
-HPLandroid/net/ScoredNetwork$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/net/ScoredNetwork;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/SntpClient;->checkValidServerReply(BBIJ)V
-HSPLandroid/net/SntpClient;->read32([BI)J
-HSPLandroid/net/SntpClient;->readTimeStamp([BI)J
-HSPLandroid/net/SntpClient;->requestTime(Ljava/lang/String;ILandroid/net/Network;)Z
-HSPLandroid/net/SntpClient;->requestTime(Ljava/net/InetAddress;IILandroid/net/Network;)Z
-HSPLandroid/net/SntpClient;->writeTimeStamp([BIJ)V
-HSPLandroid/net/StaticIpConfiguration$1;-><init>()V
-HSPLandroid/net/StaticIpConfiguration;-><init>()V
-HSPLandroid/net/StaticIpConfiguration;->addDnsServer(Ljava/net/InetAddress;)V
-HSPLandroid/net/StringNetworkSpecifier$1;-><init>()V
-HSPLandroid/net/StringNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StringNetworkSpecifier;
-HSPLandroid/net/StringNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/StringNetworkSpecifier;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/StringNetworkSpecifier;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/StringNetworkSpecifier;->hashCode()I
-HSPLandroid/net/StringNetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-HSPLandroid/net/StringNetworkSpecifier;->toString()Ljava/lang/String;
-HSPLandroid/net/StringNetworkSpecifier;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/TetherStatsParcel$1;-><init>()V
-HSPLandroid/net/TetherStatsParcel$1;->newArray(I)[Landroid/net/TetherStatsParcel;
-HSPLandroid/net/TetherStatsParcel$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/net/TrafficStats;->clearThreadStatsTag()V
-HSPLandroid/net/TrafficStats;->getAndSetThreadStatsTag(I)I
-HSPLandroid/net/TrafficStats;->getMobileIfaces()[Ljava/lang/String;
-HSPLandroid/net/TrafficStats;->getMobileRxPackets()J
-HSPLandroid/net/TrafficStats;->getMobileTxPackets()J
-HSPLandroid/net/TrafficStats;->getRxPackets(Ljava/lang/String;)J
+HSPLandroid/net/TrafficStats;->clearThreadStatsUid()V
HSPLandroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService;
-HSPLandroid/net/TrafficStats;->getTxPackets(Ljava/lang/String;)J
+HSPLandroid/net/TrafficStats;->getThreadStatsTag()I
HSPLandroid/net/TrafficStats;->getUidRxBytes(I)J
HSPLandroid/net/TrafficStats;->getUidTxBytes(I)J
HSPLandroid/net/TrafficStats;->setThreadStatsTag(I)V
-HSPLandroid/net/UidRange$1;-><init>()V
+HSPLandroid/net/TrafficStats;->setThreadStatsUid(I)V
HSPLandroid/net/UidRange$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/UidRange;
HSPLandroid/net/UidRange$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/UidRange;-><init>(II)V
HSPLandroid/net/UidRange;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/UidRange;->hashCode()I
HSPLandroid/net/UidRange;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/UidRangeParcel$1;-><init>()V
-HSPLandroid/net/UidRangeParcel;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/Uri$1;-><init>()V
HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Uri;
HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/Uri$1;->newArray(I)[Landroid/net/Uri;
@@ -10576,27 +4741,30 @@ HSPLandroid/net/Uri$AbstractHierarchicalUri;-><init>(Landroid/net/Uri$1;)V
HSPLandroid/net/Uri$AbstractHierarchicalUri;->findPortSeparator(Ljava/lang/String;)I
HSPLandroid/net/Uri$AbstractHierarchicalUri;->getHost()Ljava/lang/String;
HSPLandroid/net/Uri$AbstractHierarchicalUri;->getLastPathSegment()Ljava/lang/String;
-HSPLandroid/net/Uri$AbstractHierarchicalUri;->getPort()I
HSPLandroid/net/Uri$AbstractHierarchicalUri;->getUserInfo()Ljava/lang/String;
HSPLandroid/net/Uri$AbstractHierarchicalUri;->parseHost()Ljava/lang/String;
-HSPLandroid/net/Uri$AbstractHierarchicalUri;->parsePort()I
+HSPLandroid/net/Uri$AbstractPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/net/Uri$AbstractPart;->getDecoded()Ljava/lang/String;
HSPLandroid/net/Uri$AbstractPart;->writeTo(Landroid/os/Parcel;)V
HSPLandroid/net/Uri$Builder;-><init>()V
HSPLandroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;
+HSPLandroid/net/Uri$Builder;->authority(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->authority(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->build()Landroid/net/Uri;
HSPLandroid/net/Uri$Builder;->clearQuery()Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->encodedAuthority(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->encodedFragment(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->encodedQuery(Ljava/lang/String;)Landroid/net/Uri$Builder;
+HSPLandroid/net/Uri$Builder;->fragment(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->fragment(Ljava/lang/String;)Landroid/net/Uri$Builder;
+HSPLandroid/net/Uri$Builder;->path(Landroid/net/Uri$PathPart;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->path(Ljava/lang/String;)Landroid/net/Uri$Builder;
+HSPLandroid/net/Uri$Builder;->query(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->toString()Ljava/lang/String;
HSPLandroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
-HSPLandroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;Landroid/net/Uri$1;)V
HSPLandroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V
HSPLandroid/net/Uri$HierarchicalUri;->buildUpon()Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$HierarchicalUri;->getAuthority()Ljava/lang/String;
@@ -10613,53 +4781,58 @@ HSPLandroid/net/Uri$HierarchicalUri;->isHierarchical()Z
HSPLandroid/net/Uri$HierarchicalUri;->makeUriString()Ljava/lang/String;
HSPLandroid/net/Uri$HierarchicalUri;->toString()Ljava/lang/String;
HSPLandroid/net/Uri$HierarchicalUri;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/Uri$OpaqueUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
+HSPLandroid/net/Uri$OpaqueUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$Part;Landroid/net/Uri$1;)V
HSPLandroid/net/Uri$OpaqueUri;->getEncodedSchemeSpecificPart()Ljava/lang/String;
-HSPLandroid/net/Uri$OpaqueUri;->getHost()Ljava/lang/String;
HSPLandroid/net/Uri$OpaqueUri;->getScheme()Ljava/lang/String;
HSPLandroid/net/Uri$OpaqueUri;->getSchemeSpecificPart()Ljava/lang/String;
HSPLandroid/net/Uri$OpaqueUri;->toString()Ljava/lang/String;
HSPLandroid/net/Uri$OpaqueUri;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/Uri$Part$EmptyPart;-><init>(Ljava/lang/String;)V
HSPLandroid/net/Uri$Part$EmptyPart;->isEmpty()Z
HSPLandroid/net/Uri$Part;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Part;
HSPLandroid/net/Uri$Part;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$Part;
+HSPLandroid/net/Uri$Part;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$Part;
HSPLandroid/net/Uri$Part;->getEncoded()Ljava/lang/String;
HSPLandroid/net/Uri$Part;->isEmpty()Z
HSPLandroid/net/Uri$Part;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri$Part;
-HSPLandroid/net/Uri$PathPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/net/Uri$PathPart;->appendDecodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
HSPLandroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
+HSPLandroid/net/Uri$PathPart;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
+HSPLandroid/net/Uri$PathPart;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$PathPart;
+HSPLandroid/net/Uri$PathPart;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$PathPart;
HSPLandroid/net/Uri$PathPart;->getEncoded()Ljava/lang/String;
HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments;
HSPLandroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;
HSPLandroid/net/Uri$PathPart;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri$PathPart;
-HSPLandroid/net/Uri$PathSegments;-><init>([Ljava/lang/String;I)V
HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/Object;
HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/String;
HSPLandroid/net/Uri$PathSegments;->size()I
HSPLandroid/net/Uri$PathSegmentsBuilder;->add(Ljava/lang/String;)V
HSPLandroid/net/Uri$PathSegmentsBuilder;->build()Landroid/net/Uri$PathSegments;
HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;)V
+HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;Landroid/net/Uri$1;)V
HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder;
+HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I
HSPLandroid/net/Uri$StringUri;->getAuthority()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getEncodedAuthority()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getEncodedPath()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getEncodedQuery()Ljava/lang/String;
-HSPLandroid/net/Uri$StringUri;->getFragment()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getPath()Ljava/lang/String;
+HSPLandroid/net/Uri$StringUri;->getPathPart()Landroid/net/Uri$PathPart;
HSPLandroid/net/Uri$StringUri;->getPathSegments()Ljava/util/List;
+HSPLandroid/net/Uri$StringUri;->getQuery()Ljava/lang/String;
+HSPLandroid/net/Uri$StringUri;->getQueryPart()Landroid/net/Uri$Part;
HSPLandroid/net/Uri$StringUri;->getScheme()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getSchemeSpecificPart()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->isHierarchical()Z
-HSPLandroid/net/Uri$StringUri;->isRelative()Z
HSPLandroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->parsePath()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->parsePath(Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->toString()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/Uri;-><init>(Landroid/net/Uri$1;)V
HSPLandroid/net/Uri;->access$300()Ljava/lang/String;
-HSPLandroid/net/Uri;->checkContentUriWithoutPermission(Ljava/lang/String;I)V
HSPLandroid/net/Uri;->checkFileUriExposed(Ljava/lang/String;)V
HSPLandroid/net/Uri;->decode(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/net/Uri;->encode(Ljava/lang/String;)Ljava/lang/String;
@@ -10667,180 +4840,51 @@ HSPLandroid/net/Uri;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Str
HSPLandroid/net/Uri;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
HSPLandroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/net/Uri;->getBooleanQueryParameter(Ljava/lang/String;Z)Z
HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;
-HSPLandroid/net/Uri;->getQueryParameters(Ljava/lang/String;)Ljava/util/List;
HSPLandroid/net/Uri;->hashCode()I
-HSPLandroid/net/Uri;->isAbsolute()Z
HSPLandroid/net/Uri;->isAllowed(CLjava/lang/String;)Z
HSPLandroid/net/Uri;->isOpaque()Z
-HSPLandroid/net/Uri;->isPathPrefixMatch(Landroid/net/Uri;)Z
-HSPLandroid/net/Uri;->normalizeScheme()Landroid/net/Uri;
HSPLandroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/net/Uri;->toSafeString()Ljava/lang/String;
HSPLandroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/net/Uri;->writeToParcel(Landroid/os/Parcel;Landroid/net/Uri;)V
HSPLandroid/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V
HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V
HSPLandroid/net/UriCodec;->getNextCharacter(Ljava/lang/String;IILjava/lang/String;)C
HSPLandroid/net/UriCodec;->hexCharToValue(C)I
-HSPLandroid/net/WebAddress;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/WebAddress;->toString()Ljava/lang/String;
-HSPLandroid/net/WifiKey$1;-><init>()V
HSPLandroid/net/WifiKey$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/WifiKey;
HSPLandroid/net/WifiKey$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/WifiKey;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/net/WifiKey;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/WifiKey;->hashCode()I
HSPLandroid/net/WifiKey;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/apf/ApfCapabilities$1;-><init>()V
-HSPLandroid/net/apf/ApfCapabilities;-><init>(III)V
HSPLandroid/net/http/X509TrustManagerExtensions;-><init>(Ljavax/net/ssl/X509TrustManager;)V
HSPLandroid/net/http/X509TrustManagerExtensions;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-PLandroid/net/ipmemorystore/Blob$1;-><init>()V
-HSPLandroid/net/metrics/ApfProgramEvent$1;-><init>()V
-PLandroid/net/metrics/ApfProgramEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ApfProgramEvent;
-PLandroid/net/metrics/ApfProgramEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/metrics/ApfProgramEvent;-><init>(Landroid/os/Parcel;)V
-PLandroid/net/metrics/ApfStats$1;-><init>()V
-PLandroid/net/metrics/ApfStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ApfStats;
-PLandroid/net/metrics/ApfStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/metrics/ApfStats;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/metrics/ConnectStats;-><init>(IJLcom/android/internal/util/TokenBucket;I)V
-HSPLandroid/net/metrics/ConnectStats;->addEvent(IILjava/lang/String;)Z
-HSPLandroid/net/metrics/ConnectStats;->countLatency(II)V
-HSPLandroid/net/metrics/DefaultNetworkEvent;->updateDuration(J)V
-HSPLandroid/net/metrics/DhcpClientEvent$1;-><init>()V
-PLandroid/net/metrics/DhcpClientEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/DhcpClientEvent;
-HPLandroid/net/metrics/DhcpClientEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/metrics/DnsEvent;->addResult(BBI)Z
-PLandroid/net/metrics/DnsEvent;->resize(I)V
-HSPLandroid/net/metrics/IpConnectivityLog;->log(I[ILandroid/net/metrics/IpConnectivityLog$Event;)Z
-HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/ConnectivityMetricsEvent;)Z
-HSPLandroid/net/metrics/IpManagerEvent$1;-><init>()V
-PLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/IpManagerEvent;
-PLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/net/metrics/IpReachabilityEvent$1;-><init>()V
-PLandroid/net/metrics/IpReachabilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/IpReachabilityEvent;
-HPLandroid/net/metrics/IpReachabilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/metrics/NetworkEvent$1;-><init>()V
-HSPLandroid/net/metrics/NetworkEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/NetworkEvent;
-HSPLandroid/net/metrics/NetworkEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/metrics/NetworkMetrics$Metrics;->count(D)V
-HSPLandroid/net/metrics/NetworkMetrics$Metrics;->count(DI)V
-HPLandroid/net/metrics/NetworkMetrics$Metrics;->merge(Landroid/net/metrics/NetworkMetrics$Metrics;)V
-HSPLandroid/net/metrics/NetworkMetrics$Summary;-><init>(IJ)V
-HPLandroid/net/metrics/NetworkMetrics$Summary;->merge(Landroid/net/metrics/NetworkMetrics$Summary;)V
-HSPLandroid/net/metrics/NetworkMetrics;-><init>(IJLcom/android/internal/util/TokenBucket;)V
-HSPLandroid/net/metrics/NetworkMetrics;->addConnectResult(IILjava/lang/String;)V
-HSPLandroid/net/metrics/NetworkMetrics;->addDnsResult(III)V
-HPLandroid/net/metrics/NetworkMetrics;->addTcpStatsResult(IIII)V
-HPLandroid/net/metrics/NetworkMetrics;->getPendingStats()Landroid/net/metrics/NetworkMetrics$Summary;
-HSPLandroid/net/metrics/RaEvent$1;-><init>()V
-PLandroid/net/metrics/RaEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/RaEvent;
-PLandroid/net/metrics/RaEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/metrics/RaEvent;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/metrics/ValidationProbeEvent$1;-><init>()V
-HSPLandroid/net/metrics/ValidationProbeEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ValidationProbeEvent;
-HSPLandroid/net/metrics/ValidationProbeEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/net/metrics/WakeupStats;-><init>(Ljava/lang/String;)V
-PLandroid/net/metrics/WakeupStats;->countEvent(Landroid/net/metrics/WakeupEvent;)V
-PLandroid/net/metrics/WakeupStats;->updateDuration()V
-HSPLandroid/net/nsd/INsdManager$Stub;-><init>()V
-HPLandroid/net/nsd/INsdManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/shared/Inet4AddressUtils;->inet4AddressToIntHTH(Ljava/net/Inet4Address;)I
-HSPLandroid/net/sip/SipManager;->newInstance(Landroid/content/Context;)Landroid/net/sip/SipManager;
-HSPLandroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;->run()V
-HSPLandroid/net/util/MultinetworkPolicyTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLandroid/net/util/MultinetworkPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)V
-HSPLandroid/net/util/MultinetworkPolicyTracker;->configMeteredMultipathPreference()I
-HSPLandroid/net/util/MultinetworkPolicyTracker;->configRestrictsAvoidBadWifi()Z
-HSPLandroid/net/util/MultinetworkPolicyTracker;->getAvoidBadWifi()Z
-HSPLandroid/net/util/MultinetworkPolicyTracker;->getAvoidBadWifiSetting()Ljava/lang/String;
-HSPLandroid/net/util/MultinetworkPolicyTracker;->lambda$new$0$MultinetworkPolicyTracker(Ljava/lang/Runnable;)V
-HSPLandroid/net/util/MultinetworkPolicyTracker;->reevaluate()V
-HSPLandroid/net/util/MultinetworkPolicyTracker;->start()V
-HSPLandroid/net/util/MultinetworkPolicyTracker;->updateAvoidBadWifi()Z
-HSPLandroid/net/util/MultinetworkPolicyTracker;->updateMeteredMultipathPreference()V
-HSPLandroid/net/wifi/ISoftApCallback$Stub$Proxy;->onNumClientsChanged(I)V
-HSPLandroid/net/wifi/ISoftApCallback$Stub$Proxy;->onStateChanged(II)V
-HSPLandroid/net/wifi/ISoftApCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/ISoftApCallback;
-HPLandroid/net/wifi/ITrafficStateCallback$Stub$Proxy;->onStateChanged(I)V
-HSPLandroid/net/wifi/ITrafficStateCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/ITrafficStateCallback;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getAllMatchingFqdnsForScanResults(Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getConfiguredNetworks(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getConnectionInfo(Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
+HSPLandroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$K4DpGPGObWI293pmRTuiEj5r-DE;->createService(Landroid/content/Context;Landroid/os/IBinder;)Ljava/lang/Object;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getConfiguredNetworks(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getConnectionInfo(Ljava/lang/String;Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getCurrentNetwork()Landroid/net/Network;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getMatchingOsuProviders(Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getMatchingPasspointConfigsForOsuProviders(Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getScanResults(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getScanResults(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getSupportedFeatures()J
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getVerboseLoggingLevel()I
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApEnabledState()I
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiEnabledState()I
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->isScanAlwaysAvailable()Z
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->setCountryCode(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->startScan(Ljava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager$Stub;-><init>()V
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->startScan(Ljava/lang/String;Ljava/lang/String;)Z
HSPLandroid/net/wifi/IWifiManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiManager;
-HPLandroid/net/wifi/IWifiManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/net/wifi/IWifiManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/wifi/IWifiScanner$Stub;-><init>()V
-HSPLandroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner;
-HPLandroid/net/wifi/IWifiScanner$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/net/wifi/ParcelUtil;->readPrivateKey(Landroid/os/Parcel;)Ljava/security/PrivateKey;
-HSPLandroid/net/wifi/ScanResult$1;-><init>()V
HSPLandroid/net/wifi/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/ScanResult;
HSPLandroid/net/wifi/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;JI[BLjava/lang/String;IIJ)V
HSPLandroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;IIJIIIIIZ)V
HSPLandroid/net/wifi/ScanResult;-><init>(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;IIJIIIIIZ)V
-HPLandroid/net/wifi/ScanResult;->is24GHz()Z
-HPLandroid/net/wifi/ScanResult;->is5GHz()Z
-HPLandroid/net/wifi/ScanResult;->isPasspointNetwork()Z
-HPLandroid/net/wifi/ScanResult;->setFlag(J)V
-HSPLandroid/net/wifi/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/SupplicantState$1;-><init>()V
HSPLandroid/net/wifi/SupplicantState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/SupplicantState;
HSPLandroid/net/wifi/SupplicantState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/wifi/SupplicantState;-><init>(Ljava/lang/String;I)V
-HSPLandroid/net/wifi/SupplicantState;->describeContents()I
-HSPLandroid/net/wifi/SupplicantState;->isConnecting(Landroid/net/wifi/SupplicantState;)Z
-HSPLandroid/net/wifi/SupplicantState;->isHandshakeState(Landroid/net/wifi/SupplicantState;)Z
-HSPLandroid/net/wifi/SupplicantState;->values()[Landroid/net/wifi/SupplicantState;
-HPLandroid/net/wifi/SupplicantState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/WifiActivityEnergyInfo$1;-><init>()V
-HSPLandroid/net/wifi/WifiActivityEnergyInfo;-><init>(JIJ[JJJJJ)V
-HPLandroid/net/wifi/WifiActivityEnergyInfo;->toString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration$1;-><init>()V
+HSPLandroid/net/wifi/SupplicantState;->valueOf(Ljava/lang/String;)Landroid/net/wifi/SupplicantState;
HSPLandroid/net/wifi/WifiConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiConfiguration;
HSPLandroid/net/wifi/WifiConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;-><init>()V
-HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter()V
-HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter(I)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->copy(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getCandidate()Landroid/net/wifi/ScanResult;
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getCandidateScore()I
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getConnectChoice()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getConnectChoiceTimestamp()J
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getDisableReasonCounter(I)I
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getDisableTime()J
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getHasEverConnected()Z
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkDisableReasonString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionBSSID()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionDisableReason()I
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionStatus()I
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkStatusString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getSeenInLastQualifiedNetworkSelection()Z
-HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->incrementDisableReasonCounter(I)V
-HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isDisabledByReason(I)Z
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkEnabled()Z
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkPermanentlyDisabled()Z
-HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkTemporaryDisabled()Z
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNotRecommended()Z
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setCandidate(Landroid/net/wifi/ScanResult;)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setCandidateScore(I)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setConnectChoice(Ljava/lang/String;)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setConnectChoiceTimestamp(J)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setDisableReasonCounter(II)V
@@ -10849,256 +4893,116 @@ HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setHasEverConnec
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNetworkSelectionBSSID(Ljava/lang/String;)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNetworkSelectionDisableReason(I)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNetworkSelectionStatus(I)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNotRecommended(Z)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setSeenInLastQualifiedNetworkSelection(Z)V
-HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->writeToParcel(Landroid/os/Parcel;)V
-HPLandroid/net/wifi/WifiConfiguration$RecentFailure;->clear()V
-HSPLandroid/net/wifi/WifiConfiguration$RecentFailure;->getAssociationStatus()I
HSPLandroid/net/wifi/WifiConfiguration$RecentFailure;->setAssociationStatus(I)V
HSPLandroid/net/wifi/WifiConfiguration;-><init>()V
-HSPLandroid/net/wifi/WifiConfiguration;-><init>(Landroid/net/wifi/WifiConfiguration;)V
-HSPLandroid/net/wifi/WifiConfiguration;->configKey()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration;->configKey(Z)Ljava/lang/String;
-HPLandroid/net/wifi/WifiConfiguration;->describeContents()I
-HSPLandroid/net/wifi/WifiConfiguration;->getAuthType()I
-HPLandroid/net/wifi/WifiConfiguration;->getBytesForBackup()[B
-HPLandroid/net/wifi/WifiConfiguration;->getHttpProxy()Landroid/net/ProxyInfo;
-HSPLandroid/net/wifi/WifiConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment;
-HSPLandroid/net/wifi/WifiConfiguration;->getIpConfiguration()Landroid/net/IpConfiguration;
-HSPLandroid/net/wifi/WifiConfiguration;->getNetworkSelectionStatus()Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
-HSPLandroid/net/wifi/WifiConfiguration;->getOrCreateRandomizedMacAddress()Landroid/net/MacAddress;
-HPLandroid/net/wifi/WifiConfiguration;->getPrintableSsid()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiConfiguration;->getRandomizedMacAddress()Landroid/net/MacAddress;
-HPLandroid/net/wifi/WifiConfiguration;->isEnterprise()Z
-HSPLandroid/net/wifi/WifiConfiguration;->isEphemeral()Z
-HSPLandroid/net/wifi/WifiConfiguration;->isMetered(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiInfo;)Z
HSPLandroid/net/wifi/WifiConfiguration;->isPasspoint()Z
-HPLandroid/net/wifi/WifiConfiguration;->isValidMacAddressForRandomization(Landroid/net/MacAddress;)Z
-HSPLandroid/net/wifi/WifiConfiguration;->setIpConfiguration(Landroid/net/IpConfiguration;)V
-HSPLandroid/net/wifi/WifiConfiguration;->setNetworkSelectionStatus(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
-HSPLandroid/net/wifi/WifiConfiguration;->setRandomizedMacAddress(Landroid/net/MacAddress;)V
-HSPLandroid/net/wifi/WifiConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/WifiEnterpriseConfig$1;-><init>()V
HSPLandroid/net/wifi/WifiEnterpriseConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiEnterpriseConfig;
HSPLandroid/net/wifi/WifiEnterpriseConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->copyFrom(Landroid/net/wifi/WifiEnterpriseConfig;ZLjava/lang/String;)V
-HPLandroid/net/wifi/WifiEnterpriseConfig;->getAnonymousIdentity()Ljava/lang/String;
-HPLandroid/net/wifi/WifiEnterpriseConfig;->getCaCertificates()[Ljava/security/cert/X509Certificate;
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->getEapMethod()I
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->getFieldValue(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->getFieldValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/net/wifi/WifiEnterpriseConfig;->getIdentity()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->getPassword()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->getPhase2Method()I
-HSPLandroid/net/wifi/WifiEnterpriseConfig;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/WifiInfo$1;-><init>()V
+HSPLandroid/net/wifi/WifiFrameworkInitializer$NoPreloadHolder;-><clinit>()V
+HSPLandroid/net/wifi/WifiFrameworkInitializer$NoPreloadHolder;->access$000()Landroid/os/HandlerThread;
+HSPLandroid/net/wifi/WifiFrameworkInitializer$NoPreloadHolder;->createInstance()Landroid/os/HandlerThread;
+HSPLandroid/net/wifi/WifiFrameworkInitializer;->getInstanceLooper()Landroid/os/Looper;
+HSPLandroid/net/wifi/WifiFrameworkInitializer;->lambda$registerServiceWrappers$0(Landroid/content/Context;Landroid/os/IBinder;)Landroid/net/wifi/WifiManager;
HSPLandroid/net/wifi/WifiInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiInfo;
HSPLandroid/net/wifi/WifiInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/wifi/WifiInfo;-><init>()V
-HSPLandroid/net/wifi/WifiInfo;-><init>(Landroid/net/wifi/WifiInfo;)V
+HSPLandroid/net/wifi/WifiInfo;->access$002(Landroid/net/wifi/WifiInfo;Landroid/net/wifi/WifiSsid;)Landroid/net/wifi/WifiSsid;
+HSPLandroid/net/wifi/WifiInfo;->access$1002(Landroid/net/wifi/WifiInfo;Landroid/net/wifi/SupplicantState;)Landroid/net/wifi/SupplicantState;
+HSPLandroid/net/wifi/WifiInfo;->access$102(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/net/wifi/WifiInfo;->access$1102(Landroid/net/wifi/WifiInfo;Z)Z
+HSPLandroid/net/wifi/WifiInfo;->access$1202(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/net/wifi/WifiInfo;->access$1302(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/net/wifi/WifiInfo;->access$1402(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/net/wifi/WifiInfo;->access$1502(Landroid/net/wifi/WifiInfo;I)I
+HSPLandroid/net/wifi/WifiInfo;->access$202(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/net/wifi/WifiInfo;->access$302(Landroid/net/wifi/WifiInfo;Z)Z
+HSPLandroid/net/wifi/WifiInfo;->access$402(Landroid/net/wifi/WifiInfo;Z)Z
+HSPLandroid/net/wifi/WifiInfo;->access$502(Landroid/net/wifi/WifiInfo;Z)Z
+HSPLandroid/net/wifi/WifiInfo;->access$602(Landroid/net/wifi/WifiInfo;D)D
+HSPLandroid/net/wifi/WifiInfo;->access$702(Landroid/net/wifi/WifiInfo;D)D
+HSPLandroid/net/wifi/WifiInfo;->access$802(Landroid/net/wifi/WifiInfo;D)D
+HSPLandroid/net/wifi/WifiInfo;->access$902(Landroid/net/wifi/WifiInfo;D)D
HSPLandroid/net/wifi/WifiInfo;->getBSSID()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->getDetailedStateOf(Landroid/net/wifi/SupplicantState;)Landroid/net/NetworkInfo$DetailedState;
-HSPLandroid/net/wifi/WifiInfo;->getFrequency()I
-HSPLandroid/net/wifi/WifiInfo;->getLinkSpeed()I
-HSPLandroid/net/wifi/WifiInfo;->getMeteredHint()Z
HSPLandroid/net/wifi/WifiInfo;->getNetworkId()I
HSPLandroid/net/wifi/WifiInfo;->getRssi()I
-HPLandroid/net/wifi/WifiInfo;->getRxLinkSpeedMbps()I
HSPLandroid/net/wifi/WifiInfo;->getSSID()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->getSupplicantState()Landroid/net/wifi/SupplicantState;
-HPLandroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid;
-HPLandroid/net/wifi/WifiInfo;->is24GHz()Z
-HSPLandroid/net/wifi/WifiInfo;->is5GHz()Z
-HSPLandroid/net/wifi/WifiInfo;->isEphemeral()Z
HSPLandroid/net/wifi/WifiInfo;->isOsuAp()Z
HSPLandroid/net/wifi/WifiInfo;->isPasspointAp()Z
-HPLandroid/net/wifi/WifiInfo;->isTrusted()Z
-HSPLandroid/net/wifi/WifiInfo;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->reset()V
-HSPLandroid/net/wifi/WifiInfo;->setBSSID(Ljava/lang/String;)V
-HSPLandroid/net/wifi/WifiInfo;->setEphemeral(Z)V
-HSPLandroid/net/wifi/WifiInfo;->setFQDN(Ljava/lang/String;)V
HSPLandroid/net/wifi/WifiInfo;->setFrequency(I)V
-HSPLandroid/net/wifi/WifiInfo;->setInetAddress(Ljava/net/InetAddress;)V
+PLandroid/net/wifi/WifiInfo;->setInetAddress(Ljava/net/InetAddress;)V
HSPLandroid/net/wifi/WifiInfo;->setLinkSpeed(I)V
-HSPLandroid/net/wifi/WifiInfo;->setMacAddress(Ljava/lang/String;)V
-HSPLandroid/net/wifi/WifiInfo;->setMeteredHint(Z)V
HSPLandroid/net/wifi/WifiInfo;->setNetworkId(I)V
-HSPLandroid/net/wifi/WifiInfo;->setNetworkSuggestionOrSpecifierPackageName(Ljava/lang/String;)V
-HSPLandroid/net/wifi/WifiInfo;->setOsuAp(Z)V
-HSPLandroid/net/wifi/WifiInfo;->setProviderFriendlyName(Ljava/lang/String;)V
HSPLandroid/net/wifi/WifiInfo;->setRssi(I)V
HSPLandroid/net/wifi/WifiInfo;->setRxLinkSpeedMbps(I)V
-HSPLandroid/net/wifi/WifiInfo;->setSSID(Landroid/net/wifi/WifiSsid;)V
-HSPLandroid/net/wifi/WifiInfo;->setSupplicantState(Landroid/net/wifi/SupplicantState;)V
-HPLandroid/net/wifi/WifiInfo;->setTrusted(Z)V
HSPLandroid/net/wifi/WifiInfo;->setTxLinkSpeedMbps(I)V
-HSPLandroid/net/wifi/WifiInfo;->toString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/net/wifi/WifiManager$WifiLock;->setReferenceCounted(Z)V
HSPLandroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;Landroid/os/Looper;)V
HSPLandroid/net/wifi/WifiManager;->calculateSignalLevel(II)I
HSPLandroid/net/wifi/WifiManager;->createWifiLock(ILjava/lang/String;)Landroid/net/wifi/WifiManager$WifiLock;
-HSPLandroid/net/wifi/WifiManager;->finalize()V
-HSPLandroid/net/wifi/WifiManager;->getAllMatchingWifiConfigs(Ljava/util/List;)Ljava/util/List;
HSPLandroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
HSPLandroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
HSPLandroid/net/wifi/WifiManager;->getCurrentNetwork()Landroid/net/Network;
-HSPLandroid/net/wifi/WifiManager;->getMatchingOsuProviders(Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/net/wifi/WifiManager;->getMatchingPasspointConfigsForOsuProviders(Ljava/util/Set;)Ljava/util/Map;
HSPLandroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
HSPLandroid/net/wifi/WifiManager;->getSupportedFeatures()J
HSPLandroid/net/wifi/WifiManager;->getVerboseLoggingLevel()I
-HSPLandroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
HSPLandroid/net/wifi/WifiManager;->getWifiApState()I
HSPLandroid/net/wifi/WifiManager;->getWifiState()I
-HSPLandroid/net/wifi/WifiManager;->isEnhancedOpenSupported()Z
HSPLandroid/net/wifi/WifiManager;->isScanAlwaysAvailable()Z
-HSPLandroid/net/wifi/WifiManager;->isWifiApEnabled()Z
HSPLandroid/net/wifi/WifiManager;->isWifiEnabled()Z
-HSPLandroid/net/wifi/WifiManager;->isWpa3SaeSupported()Z
-HSPLandroid/net/wifi/WifiManager;->isWpa3SuiteBSupported()Z
-HPLandroid/net/wifi/WifiManager;->retrieveBackupData()[B
-HSPLandroid/net/wifi/WifiManager;->setCountryCode(Ljava/lang/String;)V
HSPLandroid/net/wifi/WifiManager;->startScan()Z
HSPLandroid/net/wifi/WifiManager;->startScan(Landroid/os/WorkSource;)Z
-PLandroid/net/wifi/WifiNetworkAgentSpecifier$1;-><init>()V
-HPLandroid/net/wifi/WifiNetworkAgentSpecifier;-><init>(Landroid/net/wifi/WifiConfiguration;ILjava/lang/String;)V
-HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->equals(Ljava/lang/Object;)Z
-HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->redact()Landroid/net/NetworkSpecifier;
-HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
-HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->toString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;-><init>(Landroid/os/Handler;)V
+HSPLandroid/net/wifi/WifiManager;->updateVerboseLoggingEnabledFromService()V
HSPLandroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;)V
-HSPLandroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
HSPLandroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/NetworkKey;)Ljava/lang/String;
-HSPLandroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/wifi/ScanResult;)Ljava/lang/String;
-HSPLandroid/net/wifi/WifiNetworkScoreCache;->clearScores()V
HSPLandroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/NetworkKey;)Landroid/net/ScoredNetwork;
-HSPLandroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
HSPLandroid/net/wifi/WifiNetworkScoreCache;->updateScores(Ljava/util/List;)V
-PLandroid/net/wifi/WifiScanner$OperationResult$1;-><init>()V
-PLandroid/net/wifi/WifiScanner$OperationResult;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;-><init>()V
-HSPLandroid/net/wifi/WifiScanner$ParcelableScanData;->getResults()[Landroid/net/wifi/WifiScanner$ScanData;
-HPLandroid/net/wifi/WifiScanner$ParcelableScanData;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/net/wifi/WifiScanner$ParcelableScanResults$1;-><init>()V
-PLandroid/net/wifi/WifiScanner$ParcelableScanResults;->getResults()[Landroid/net/wifi/ScanResult;
-PLandroid/net/wifi/WifiScanner$PnoSettings$1;-><init>()V
-HPLandroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/wifi/WifiScanner$ScanData$1;-><init>()V
-HPLandroid/net/wifi/WifiScanner$ScanData;->getBandScanned()I
-HPLandroid/net/wifi/WifiScanner$ScanData;->getBucketsScanned()I
-HPLandroid/net/wifi/WifiScanner$ScanData;->getFlags()I
-HPLandroid/net/wifi/WifiScanner$ScanData;->getId()I
-HPLandroid/net/wifi/WifiScanner$ScanData;->getResults()[Landroid/net/wifi/ScanResult;
-HPLandroid/net/wifi/WifiScanner$ScanData;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/WifiScanner$ScanSettings$1;-><init>()V
-HPLandroid/net/wifi/WifiScanner$ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$ScanSettings;
-HPLandroid/net/wifi/WifiScanner$ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiScanner$ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/wifi/WifiScanner$ServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/net/wifi/WifiScanner;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiScanner;Landroid/os/Looper;)V
-HSPLandroid/net/wifi/WifiScanner;->addListener(Landroid/net/wifi/WifiScanner$ActionListener;)I
-HSPLandroid/net/wifi/WifiScanner;->deregisterScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
-HSPLandroid/net/wifi/WifiScanner;->getListener(I)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiScanner;->getListenerKey(Ljava/lang/Object;)I
-HSPLandroid/net/wifi/WifiScanner;->putListener(Ljava/lang/Object;)I
-HSPLandroid/net/wifi/WifiScanner;->registerScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
-HSPLandroid/net/wifi/WifiScanner;->removeListener(I)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiScanner;->removeListener(Ljava/lang/Object;)I
-HSPLandroid/net/wifi/WifiScanner;->setScanningEnabled(Z)V
-HPLandroid/net/wifi/WifiScanner;->startDisconnectedPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;Landroid/net/wifi/WifiScanner$PnoScanListener;)V
-HSPLandroid/net/wifi/WifiScanner;->startScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$ScanListener;Landroid/os/WorkSource;)V
-HPLandroid/net/wifi/WifiScanner;->stopPnoScan(Landroid/net/wifi/WifiScanner$ScanListener;)V
-HSPLandroid/net/wifi/WifiSsid$1;-><init>()V
HSPLandroid/net/wifi/WifiSsid$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiSsid;
HSPLandroid/net/wifi/WifiSsid$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiSsid;->createFromByteArray([B)Landroid/net/wifi/WifiSsid;
-HPLandroid/net/wifi/WifiSsid;->createFromHex(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
+HSPLandroid/net/wifi/WifiSsid;-><init>()V
+HSPLandroid/net/wifi/WifiSsid;-><init>(Landroid/net/wifi/WifiSsid$1;)V
HSPLandroid/net/wifi/WifiSsid;->getHexString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiSsid;->getOctets()[B
+PLandroid/net/wifi/WifiSsid;->isArrayAllZeroes([B)Z
HSPLandroid/net/wifi/WifiSsid;->toString()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiSsid;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/net/wifi/WifiUsabilityStatsEntry$1;-><init>()V
-HPLandroid/net/wifi/WifiUsabilityStatsEntry;-><init>(JIIJJJJJJJJJJJJJJJJIIIIIIIZ)V
-HSPLandroid/net/wifi/WpsInfo$1;-><init>()V
-HSPLandroid/net/wifi/aware/IWifiAwareManager$Stub;-><init>()V
-HSPLandroid/net/wifi/hotspot2/OsuProvider$1;-><init>()V
-HSPLandroid/net/wifi/p2p/IWifiP2pManager$Stub;-><init>()V
-HSPLandroid/net/wifi/p2p/IWifiP2pManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/p2p/IWifiP2pManager;
-HSPLandroid/net/wifi/p2p/WifiP2pConfig$1;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pConfig;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pDevice$1;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pDeviceList$1;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pDeviceList;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pGroupList$2;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pGroupList;-><init>(Landroid/net/wifi/p2p/WifiP2pGroupList;Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;)V
-HSPLandroid/net/wifi/p2p/WifiP2pInfo$1;-><init>()V
-HSPLandroid/net/wifi/rtt/IWifiRttManager$Stub;-><init>()V
-HPLandroid/net/wifi/rtt/IWifiRttManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->deviceSupportsNfcSecure()Z
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcCardEmulationInterface()Landroid/nfc/INfcCardEmulation;
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcFCardEmulationInterface()Landroid/nfc/INfcFCardEmulation;
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcTagInterface()Landroid/nfc/INfcTag;
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getState()I
-HSPLandroid/nfc/NfcAdapter;-><init>(Landroid/content/Context;)V
-HSPLandroid/nfc/NfcAdapter;->getDefaultAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
-HSPLandroid/nfc/NfcAdapter;->getNfcAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
-HSPLandroid/nfc/NfcAdapter;->hasBeamFeature()Z
-HSPLandroid/nfc/NfcAdapter;->hasNfcFeature()Z
-HSPLandroid/nfc/NfcAdapter;->hasNfcHceFeature()Z
-HSPLandroid/nfc/NfcAdapter;->isEnabled()Z
-HSPLandroid/nfc/NfcAdapter;->isSecureNfcSupported()Z
-HSPLandroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/opengl/EGL14;->eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;
-HSPLandroid/opengl/EGLConfig;-><init>(J)V
-HSPLandroid/opengl/EGLContext;-><init>(J)V
-HSPLandroid/opengl/EGLDisplay;-><init>(J)V
-HSPLandroid/opengl/EGLObjectHandle;->getNativeHandle()J
-HSPLandroid/opengl/EGLSurface;-><init>(J)V
-HSPLandroid/opengl/Matrix;->setIdentityM([FI)V
-HSPLandroid/os/-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I;-><init>()V
-HSPLandroid/os/-$$Lambda$HidlSupport$CwwfmHPEvZaybUxpLzKdwrpQRfA;-><init>()V
-HSPLandroid/os/-$$Lambda$HidlSupport$CwwfmHPEvZaybUxpLzKdwrpQRfA;->applyAsInt(Ljava/lang/Object;)I
-HSPLandroid/os/-$$Lambda$IyvVQC-0mKtsfXbnO0kDL64hrk0;-><init>()V
-PLandroid/os/-$$Lambda$PowerManager$WakeLock$VvFzmRZ4ZGlXx7u3lSAJ_T-YUjw;->run()V
-HSPLandroid/os/-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0;-><init>()V
-HSPLandroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$9nBulCQKaMajrWr41SB7f7YRT1I;->run()V
-HSPLandroid/os/-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ;-><init>()V
+HSPLandroid/os/-$$Lambda$Build$WrC6eL7oW2Zm9UDTcXXKr0DnOMw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;->run()V
-HSPLandroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;-><init>()V
HSPLandroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;->get()Ljava/lang/Object;
-HSPLandroid/os/-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0;-><init>()V
-HSPLandroid/os/-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0;->run()V
-HSPLandroid/os/-$$Lambda$q1UvBdLgHRZVzc68BxdksTmbuCw;-><init>()V
-HSPLandroid/os/AsyncResult;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
-HSPLandroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
-HSPLandroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
-HSPLandroid/os/AsyncTask$1;-><init>()V
+PLandroid/os/-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0;->run()V
HSPLandroid/os/AsyncTask$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-HSPLandroid/os/AsyncTask$2;-><init>()V
+HSPLandroid/os/AsyncTask$3;-><init>(Landroid/os/AsyncTask;)V
HSPLandroid/os/AsyncTask$3;->call()Ljava/lang/Object;
+HSPLandroid/os/AsyncTask$4;-><init>(Landroid/os/AsyncTask;Ljava/util/concurrent/Callable;)V
HSPLandroid/os/AsyncTask$4;->done()V
+HSPLandroid/os/AsyncTask$AsyncTaskResult;-><init>(Landroid/os/AsyncTask;[Ljava/lang/Object;)V
+HSPLandroid/os/AsyncTask$InternalHandler;-><init>(Landroid/os/Looper;)V
HSPLandroid/os/AsyncTask$InternalHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/os/AsyncTask$SerialExecutor$1;-><init>(Landroid/os/AsyncTask$SerialExecutor;Ljava/lang/Runnable;)V
HSPLandroid/os/AsyncTask$SerialExecutor$1;->run()V
-HSPLandroid/os/AsyncTask$SerialExecutor;-><init>(Landroid/os/AsyncTask$1;)V
HSPLandroid/os/AsyncTask$SerialExecutor;->execute(Ljava/lang/Runnable;)V
HSPLandroid/os/AsyncTask$SerialExecutor;->scheduleNext()V
-HSPLandroid/os/AsyncTask$Status;-><init>(Ljava/lang/String;I)V
+HSPLandroid/os/AsyncTask$WorkerRunnable;-><init>()V
+HSPLandroid/os/AsyncTask$WorkerRunnable;-><init>(Landroid/os/AsyncTask$1;)V
HSPLandroid/os/AsyncTask;-><init>()V
HSPLandroid/os/AsyncTask;-><init>(Landroid/os/Looper;)V
-HSPLandroid/os/AsyncTask;->cancel(Z)Z
+HSPLandroid/os/AsyncTask;->access$500(Landroid/os/AsyncTask;)Ljava/util/concurrent/atomic/AtomicBoolean;
+HSPLandroid/os/AsyncTask;->access$700(Landroid/os/AsyncTask;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/os/AsyncTask;->access$800(Landroid/os/AsyncTask;Ljava/lang/Object;)V
+HSPLandroid/os/AsyncTask;->access$900(Landroid/os/AsyncTask;Ljava/lang/Object;)V
HSPLandroid/os/AsyncTask;->execute(Ljava/lang/Runnable;)V
HSPLandroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
HSPLandroid/os/AsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
+HSPLandroid/os/AsyncTask;->finish(Ljava/lang/Object;)V
+HSPLandroid/os/AsyncTask;->getHandler()Landroid/os/Handler;
HSPLandroid/os/AsyncTask;->getMainHandler()Landroid/os/Handler;
HSPLandroid/os/AsyncTask;->isCancelled()Z
-HSPLandroid/os/AsyncTask;->onCancelled()V
-HSPLandroid/os/AsyncTask;->onCancelled(Ljava/lang/Object;)V
HSPLandroid/os/AsyncTask;->onPostExecute(Ljava/lang/Object;)V
HSPLandroid/os/AsyncTask;->onPreExecute()V
+HSPLandroid/os/AsyncTask;->postResult(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/os/AsyncTask;->postResultIfNotInvoked(Ljava/lang/Object;)V
+HSPLandroid/os/BaseBundle;-><init>(I)V
+HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;)V
+HSPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V
HSPLandroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V
+HSPLandroid/os/BaseBundle;-><init>(Z)V
HSPLandroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
HSPLandroid/os/BaseBundle;->copyInternal(Landroid/os/BaseBundle;Z)V
HSPLandroid/os/BaseBundle;->deepCopyValue(Ljava/lang/Object;)Ljava/lang/Object;
@@ -11107,15 +5011,13 @@ HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;)Z
HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;Z)Z
HSPLandroid/os/BaseBundle;->getByteArray(Ljava/lang/String;)[B
HSPLandroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
-HSPLandroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
-HSPLandroid/os/BaseBundle;->getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F
HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;)I
HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I
HSPLandroid/os/BaseBundle;->getIntArray(Ljava/lang/String;)[I
-HSPLandroid/os/BaseBundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;)J
HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;J)J
+HPLandroid/os/BaseBundle;->getLongArray(Ljava/lang/String;)[J
HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable;
HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
@@ -11124,11 +5026,9 @@ HSPLandroid/os/BaseBundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/Arr
HSPLandroid/os/BaseBundle;->initializeFromParcelLocked(Landroid/os/Parcel;ZZ)V
HSPLandroid/os/BaseBundle;->isEmpty()Z
HSPLandroid/os/BaseBundle;->isEmptyParcel()Z
+HSPLandroid/os/BaseBundle;->isEmptyParcel(Landroid/os/Parcel;)Z
HSPLandroid/os/BaseBundle;->isParcelled()Z
HSPLandroid/os/BaseBundle;->keySet()Ljava/util/Set;
-HPLandroid/os/BaseBundle;->kindofEquals(Landroid/os/BaseBundle;)Z
-HSPLandroid/os/BaseBundle;->maybeIsEmpty()Z
-HSPLandroid/os/BaseBundle;->putAll(Landroid/os/PersistableBundle;)V
HSPLandroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V
HSPLandroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V
HSPLandroid/os/BaseBundle;->putIntArray(Ljava/lang/String;[I)V
@@ -11137,204 +5037,100 @@ HSPLandroid/os/BaseBundle;->putLongArray(Ljava/lang/String;[J)V
HSPLandroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/BaseBundle;->putStringArray(Ljava/lang/String;[Ljava/lang/String;)V
HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V
-HSPLandroid/os/BaseBundle;->setShouldDefuse(Z)V
+HSPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V
HSPLandroid/os/BaseBundle;->size()I
HSPLandroid/os/BaseBundle;->unparcel()V
HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V
HSPLandroid/os/BatteryManager;->isCharging()Z
-HSPLandroid/os/BatteryProperty$1;-><init>()V
-HPLandroid/os/BatteryProperty;->setLong(J)V
-HSPLandroid/os/BatteryStats$BitDescription;-><init>(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/os/BatteryStats$BitDescription;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/BatteryStats$HistoryEventTracker;-><init>()V
-HSPLandroid/os/BatteryStats$HistoryEventTracker;->getStateForEvent(I)Ljava/util/HashMap;
-HSPLandroid/os/BatteryStats$HistoryEventTracker;->updateState(ILjava/lang/String;II)Z
-HSPLandroid/os/BatteryStats$HistoryItem;-><init>()V
-HSPLandroid/os/BatteryStats$HistoryItem;->clear()V
-HSPLandroid/os/BatteryStats$HistoryItem;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/BatteryStats$HistoryItem;->setTo(JBLandroid/os/BatteryStats$HistoryItem;)V
-HSPLandroid/os/BatteryStats$HistoryItem;->setTo(Landroid/os/BatteryStats$HistoryItem;)V
-HSPLandroid/os/BatteryStats$HistoryItem;->setToCommon(Landroid/os/BatteryStats$HistoryItem;)V
-HSPLandroid/os/BatteryStats$HistoryItem;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/os/BatteryStats$HistoryPrinter;-><init>()V
-HPLandroid/os/BatteryStats$HistoryPrinter;->printNextItem(Landroid/os/BatteryStats$HistoryItem;JZZ)Ljava/lang/String;
-HPLandroid/os/BatteryStats$HistoryPrinter;->printNextItem(Ljava/io/PrintWriter;Landroid/os/BatteryStats$HistoryItem;JZZ)V
-PLandroid/os/BatteryStats$HistoryPrinter;->reset()V
-HSPLandroid/os/BatteryStats$HistoryStepDetails;-><init>()V
-HSPLandroid/os/BatteryStats$HistoryStepDetails;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/BatteryStats$HistoryStepDetails;->writeToParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/BatteryStats$HistoryTag;->equals(Ljava/lang/Object;)Z
-HSPLandroid/os/BatteryStats$HistoryTag;->hashCode()I
-HSPLandroid/os/BatteryStats$HistoryTag;->setTo(Landroid/os/BatteryStats$HistoryTag;)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;-><init>(I)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;-><init>(I[J)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;->addLevelSteps(IJJ)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;->appendHex(JILjava/lang/StringBuilder;)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;->computeTimePerLevel()J
-HSPLandroid/os/BatteryStats$LevelStepTracker;->decodeEntryAt(ILjava/lang/String;)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;->encodeEntryAt(ILjava/lang/StringBuilder;)V
-HPLandroid/os/BatteryStats$LevelStepTracker;->getDurationAt(I)J
-HPLandroid/os/BatteryStats$LevelStepTracker;->getInitModeAt(I)I
-HPLandroid/os/BatteryStats$LevelStepTracker;->getLevelAt(I)I
-HPLandroid/os/BatteryStats$LevelStepTracker;->getModModeAt(I)I
-HSPLandroid/os/BatteryStats$LevelStepTracker;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/BatteryStats$LevelStepTracker;->writeToParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/BatteryStats$Timer;-><init>()V
-HPLandroid/os/BatteryStats$Timer;->getCurrentDurationMsLocked(J)J
-HPLandroid/os/BatteryStats$Timer;->getMaxDurationMsLocked(J)J
-HPLandroid/os/BatteryStats$Timer;->getTotalDurationMsLocked(J)J
-HSPLandroid/os/BatteryStats;-><init>()V
-HPLandroid/os/BatteryStats;->controllerActivityHasData(Landroid/os/BatteryStats$ControllerActivityCounter;I)Z
-HPLandroid/os/BatteryStats;->dumpCheckinLocked(Landroid/content/Context;Ljava/io/PrintWriter;IIZ)V
-HPLandroid/os/BatteryStats;->dumpCheckinLocked(Landroid/content/Context;Ljava/io/PrintWriter;Ljava/util/List;IJ)V
-HPLandroid/os/BatteryStats;->dumpControllerActivityLine(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$ControllerActivityCounter;I)V
-HPLandroid/os/BatteryStats;->dumpDurationSteps(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Z)Z
-HPLandroid/os/BatteryStats;->dumpHistoryLocked(Ljava/io/PrintWriter;IJZ)V
-HPLandroid/os/BatteryStats;->dumpLine(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
-HPLandroid/os/BatteryStats;->dumpLineHeader(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;)V
-HPLandroid/os/BatteryStats;->dumpTimer(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$Timer;JI)V
-HSPLandroid/os/BatteryStats;->mapToInternalProcessState(I)I
-HPLandroid/os/BatteryStats;->printBitDescriptions(Ljava/lang/StringBuilder;IILandroid/os/BatteryStats$HistoryTag;[Landroid/os/BatteryStats$BitDescription;Z)V
-HPLandroid/os/BatteryStats;->printWakeLockCheckin(Ljava/lang/StringBuilder;Landroid/os/BatteryStats$Timer;JLjava/lang/String;ILjava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/BestClock;-><init>(Ljava/time/ZoneId;[Ljava/time/Clock;)V
-HSPLandroid/os/BestClock;->millis()J
+HSPLandroid/os/Binder$PropagateWorkSourceTransactListener;-><init>()V
HSPLandroid/os/Binder$PropagateWorkSourceTransactListener;->onTransactEnded(Ljava/lang/Object;)V
HSPLandroid/os/Binder$PropagateWorkSourceTransactListener;->onTransactStarted(Landroid/os/IBinder;I)Ljava/lang/Object;
+HSPLandroid/os/Binder$ProxyTransactListener;->onTransactStarted(Landroid/os/IBinder;II)Ljava/lang/Object;
HSPLandroid/os/Binder;-><init>()V
HSPLandroid/os/Binder;-><init>(Ljava/lang/String;)V
-HSPLandroid/os/Binder;->access$000()J
HSPLandroid/os/Binder;->allowBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
HSPLandroid/os/Binder;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
HSPLandroid/os/Binder;->copyAllowBlocking(Landroid/os/IBinder;Landroid/os/IBinder;)V
-HSPLandroid/os/Binder;->defaultBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
-HSPLandroid/os/Binder;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLandroid/os/Binder;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLandroid/os/Binder;->dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
HSPLandroid/os/Binder;->execTransact(IJJI)Z
HSPLandroid/os/Binder;->execTransactInternal(IJJII)Z
HSPLandroid/os/Binder;->getCallingUserHandle()Landroid/os/UserHandle;
HSPLandroid/os/Binder;->getInterfaceDescriptor()Ljava/lang/String;
HSPLandroid/os/Binder;->isBinderAlive()Z
-HSPLandroid/os/Binder;->isProxy(Landroid/os/IInterface;)Z
HSPLandroid/os/Binder;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
HSPLandroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/Binder;->pingBinder()Z
HSPLandroid/os/Binder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
-HSPLandroid/os/Binder;->setObserver(Lcom/android/internal/os/BinderInternal$Observer;)V
HSPLandroid/os/Binder;->setProxyTransactListener(Landroid/os/Binder$ProxyTransactListener;)V
-HSPLandroid/os/Binder;->setWarnOnBlocking(Z)V
-HSPLandroid/os/Binder;->setWorkSourceProvider(Lcom/android/internal/os/BinderInternal$WorkSourceProvider;)V
-HSPLandroid/os/Binder;->shellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
HSPLandroid/os/Binder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/Binder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
HSPLandroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V
-HSPLandroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;)Ljava/lang/Object;
-HSPLandroid/os/BinderProxy$ProxyMap;-><init>(Landroid/os/BinderProxy$1;)V
HSPLandroid/os/BinderProxy$ProxyMap;->get(J)Landroid/os/BinderProxy;
HSPLandroid/os/BinderProxy$ProxyMap;->remove(II)V
HSPLandroid/os/BinderProxy$ProxyMap;->set(JLandroid/os/BinderProxy;)V
-HSPLandroid/os/BinderProxy;->access$500()J
-HSPLandroid/os/BinderProxy;->dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
HSPLandroid/os/BinderProxy;->getInstance(JJ)Landroid/os/BinderProxy;
HSPLandroid/os/BinderProxy;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
-HSPLandroid/os/BinderProxy;->sendDeathNotice(Landroid/os/IBinder$DeathRecipient;)V
+PLandroid/os/BinderProxy;->sendDeathNotice(Landroid/os/IBinder$DeathRecipient;)V
HSPLandroid/os/BinderProxy;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/Build;->access$000(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/Build;->access$100(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/os/Build;->deriveFingerprint()Ljava/lang/String;
-HSPLandroid/os/Build;->ensureFingerprintProperty()V
-HSPLandroid/os/Build;->getLong(Ljava/lang/String;)J
HSPLandroid/os/Build;->getRadioVersion()Ljava/lang/String;
-HSPLandroid/os/Build;->getSerial()Ljava/lang/String;
-HSPLandroid/os/Build;->getString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/Build;->getStringList(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/os/Build;->isBuildConsistent()Z
-HSPLandroid/os/Bundle$1;-><init>()V
+HSPLandroid/os/Build;->lambda$joinListOrElse$0(Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/os/Bundle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Bundle;
HSPLandroid/os/Bundle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/Bundle$1;->newArray(I)[Landroid/os/Bundle;
-HSPLandroid/os/Bundle$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/os/Bundle;-><init>()V
HSPLandroid/os/Bundle;-><init>(I)V
HSPLandroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
HSPLandroid/os/Bundle;-><init>(Landroid/os/PersistableBundle;)V
+HSPLandroid/os/Bundle;-><init>(Z)V
HSPLandroid/os/Bundle;->clear()V
HSPLandroid/os/Bundle;->clone()Ljava/lang/Object;
HSPLandroid/os/Bundle;->deepCopy()Landroid/os/Bundle;
-HSPLandroid/os/Bundle;->describeContents()I
-HSPLandroid/os/Bundle;->forPair(Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/os/Bundle;->getBinder(Ljava/lang/String;)Landroid/os/IBinder;
HSPLandroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/os/Bundle;->getByteArray(Ljava/lang/String;)[B
HSPLandroid/os/Bundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
-HSPLandroid/os/Bundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
-HSPLandroid/os/Bundle;->getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;F)F
HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;
HSPLandroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable;
-HSPLandroid/os/Bundle;->getSize()I
-HSPLandroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;
HSPLandroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/os/Bundle;->hasFileDescriptors()Z
HSPLandroid/os/Bundle;->putAll(Landroid/os/Bundle;)V
HSPLandroid/os/Bundle;->putBinder(Ljava/lang/String;Landroid/os/IBinder;)V
HSPLandroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
HSPLandroid/os/Bundle;->putByteArray(Ljava/lang/String;[B)V
-HSPLandroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
-HSPLandroid/os/Bundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V
-HSPLandroid/os/Bundle;->putCharSequenceArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
HSPLandroid/os/Bundle;->putFloat(Ljava/lang/String;F)V
-HSPLandroid/os/Bundle;->putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
HSPLandroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
HSPLandroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
HSPLandroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
-HSPLandroid/os/Bundle;->putParcelableList(Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
-HSPLandroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V
HSPLandroid/os/Bundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
-HSPLandroid/os/Bundle;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/os/Bundle;->remove(Ljava/lang/String;)V
+HSPLandroid/os/Bundle;->setAllowFds(Z)Z
HSPLandroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
HSPLandroid/os/Bundle;->setDefusable(Landroid/os/Bundle;Z)Landroid/os/Bundle;
+HSPLandroid/os/Bundle;->setDefusable(Z)V
HSPLandroid/os/Bundle;->toString()Ljava/lang/String;
HSPLandroid/os/Bundle;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/os/CancellationSignal;-><init>()V
-HSPLandroid/os/CancellationSignal;->cancel()V
-HSPLandroid/os/CancellationSignal;->createTransport()Landroid/os/ICancellationSignal;
HSPLandroid/os/CancellationSignal;->fromTransport(Landroid/os/ICancellationSignal;)Landroid/os/CancellationSignal;
HSPLandroid/os/CancellationSignal;->isCanceled()Z
HSPLandroid/os/CancellationSignal;->setOnCancelListener(Landroid/os/CancellationSignal$OnCancelListener;)V
HSPLandroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
HSPLandroid/os/CancellationSignal;->throwIfCanceled()V
HSPLandroid/os/CancellationSignal;->waitForCancelFinishedLocked()V
-HSPLandroid/os/ChildZygoteProcess;-><init>(Landroid/net/LocalSocketAddress;I)V
HSPLandroid/os/ConditionVariable;-><init>()V
HSPLandroid/os/ConditionVariable;-><init>(Z)V
HSPLandroid/os/ConditionVariable;->block()V
HSPLandroid/os/ConditionVariable;->block(J)Z
HSPLandroid/os/ConditionVariable;->close()V
HSPLandroid/os/ConditionVariable;->open()V
-HSPLandroid/os/CpuUsageInfo$1;-><init>()V
-HSPLandroid/os/DeadObjectException;-><init>()V
-HSPLandroid/os/Debug$MemoryInfo$1;-><init>()V
+PLandroid/os/DeadObjectException;-><init>()V
HSPLandroid/os/Debug$MemoryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Debug$MemoryInfo;
HSPLandroid/os/Debug$MemoryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/Debug$MemoryInfo$1;->newArray(I)[Landroid/os/Debug$MemoryInfo;
HSPLandroid/os/Debug$MemoryInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/os/Debug$MemoryInfo;-><init>()V
HSPLandroid/os/Debug$MemoryInfo;->getMemoryStats()Ljava/util/Map;
-HSPLandroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String;
HSPLandroid/os/Debug$MemoryInfo;->getOtherPrivate(I)I
HSPLandroid/os/Debug$MemoryInfo;->getOtherPrivateClean(I)I
HSPLandroid/os/Debug$MemoryInfo;->getOtherPrivateDirty(I)I
HSPLandroid/os/Debug$MemoryInfo;->getOtherPss(I)I
-HSPLandroid/os/Debug$MemoryInfo;->getOtherSharedClean(I)I
-HSPLandroid/os/Debug$MemoryInfo;->getOtherSharedDirty(I)I
-HSPLandroid/os/Debug$MemoryInfo;->getOtherSwappablePss(I)I
-HSPLandroid/os/Debug$MemoryInfo;->getOtherSwappedOut(I)I
-HSPLandroid/os/Debug$MemoryInfo;->getOtherSwappedOutPss(I)I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryCode()I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryGraphics()I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryJavaHeap()I
@@ -11344,149 +5140,72 @@ HSPLandroid/os/Debug$MemoryInfo;->getSummaryStack()I
HSPLandroid/os/Debug$MemoryInfo;->getSummarySystem()I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryTotalPss()I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryTotalSwap()I
-HSPLandroid/os/Debug$MemoryInfo;->getSummaryTotalSwapPss()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalPrivateClean()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalPrivateDirty()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalPss()I
-HSPLandroid/os/Debug$MemoryInfo;->getTotalRss()I
-HSPLandroid/os/Debug$MemoryInfo;->getTotalSharedClean()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalSharedDirty()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalSwappablePss()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalSwappedOut()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalSwappedOutPss()I
-HSPLandroid/os/Debug$MemoryInfo;->getTotalUss()I
HSPLandroid/os/Debug$MemoryInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/Debug$MemoryInfo;->set(Landroid/os/Debug$MemoryInfo;)V
-HSPLandroid/os/Debug$MemoryInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J
-HSPLandroid/os/Debug;->getCaller([Ljava/lang/StackTraceElement;I)Ljava/lang/String;
-HSPLandroid/os/Debug;->getCallers(I)Ljava/lang/String;
-HSPLandroid/os/Debug;->getMethodTracingMode()I
-HSPLandroid/os/Debug;->getVmFeatureList()[Ljava/lang/String;
HSPLandroid/os/Debug;->isDebuggerConnected()Z
HSPLandroid/os/Debug;->threadCpuTimeNanos()J
-HSPLandroid/os/Debug;->waitingForDebugger()Z
-HSPLandroid/os/DropBoxManager$Entry$1;-><init>()V
-HSPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/DropBoxManager$Entry;
-HSPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;J)V
-HSPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLandroid/os/ParcelFileDescriptor;I)V
-HSPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLjava/io/File;I)V
-HSPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLjava/lang/String;)V
-HSPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;J[BI)V
-HSPLandroid/os/DropBoxManager$Entry;->close()V
-HSPLandroid/os/DropBoxManager$Entry;->getFlags()I
-HSPLandroid/os/DropBoxManager$Entry;->getInputStream()Ljava/io/InputStream;
-HSPLandroid/os/DropBoxManager$Entry;->getTag()Ljava/lang/String;
-HSPLandroid/os/DropBoxManager$Entry;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/DropBoxManager;->addFile(Ljava/lang/String;Ljava/io/File;I)V
-HSPLandroid/os/DropBoxManager;->addText(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
+HSPLandroid/os/DeviceIdleManager;-><init>(Landroid/content/Context;Landroid/os/IDeviceIdleController;)V
+HSPLandroid/os/Environment$UserEnvironment;-><init>(I)V
HSPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment$UserEnvironment;->buildExternalStoragePublicDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment$UserEnvironment;->getExternalDirs()[Ljava/io/File;
-HPLandroid/os/Environment$UserEnvironment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
-HSPLandroid/os/Environment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment;->buildPath(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/Environment;->buildPaths([Ljava/io/File;[Ljava/lang/String;)[Ljava/io/File;
-HSPLandroid/os/Environment;->getDataAppDirectory(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/Environment;->getDataDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getDataMiscCeDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getDataMiscCeDirectory(I)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataMiscDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getDataProfilesDeDirectory(I)Ljava/io/File;
HSPLandroid/os/Environment;->getDataProfilesDePackageDirectory(ILjava/lang/String;)Ljava/io/File;
-HPLandroid/os/Environment;->getDataRefProfilesDePackageDirectory(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataSystemCeDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getDataSystemCeDirectory(I)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataSystemDeDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getDataSystemDeDirectory(I)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataSystemDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getDataUserCeDirectory(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataUserCeDirectory(Ljava/lang/String;I)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataUserCePackageDirectory(Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataUserDePackageDirectory(Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->getDataVendorDeDirectory(I)Ljava/io/File;
-HSPLandroid/os/Environment;->getDirectory(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->getDownloadCacheDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
+HSPLandroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
-HSPLandroid/os/Environment;->getLegacyExternalStorageDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getOdmDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getOemDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getPackageCacheDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getProductDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getProductServicesDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getRootDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getUserConfigDirectory(I)Ljava/io/File;
-HSPLandroid/os/Environment;->getUserSystemDirectory(I)Ljava/io/File;
-HSPLandroid/os/Environment;->getVendorDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->initForCurrentUser()V
-HSPLandroid/os/Environment;->isExternalStorageEmulated()Z
-HSPLandroid/os/Environment;->isExternalStorageEmulated(Ljava/io/File;)Z
-HSPLandroid/os/Environment;->setUserRequired(Z)V
+HSPLandroid/os/Environment;->isExternalStorageRemovable(Ljava/io/File;)Z
+HSPLandroid/os/Environment;->throwIfUserRequired()V
HSPLandroid/os/FactoryTest;->getMode()I
-HPLandroid/os/FactoryTest;->isLongPressOnPowerOffEnabled()Z
-PLandroid/os/FileBridge;-><init>()V
-PLandroid/os/FileBridge;->forceClose()V
-PLandroid/os/FileBridge;->isClosed()Z
-HPLandroid/os/FileBridge;->run()V
HSPLandroid/os/FileObserver$ObserverThread;-><init>()V
-HSPLandroid/os/FileObserver$ObserverThread;->onEvent(IILjava/lang/String;)V
HSPLandroid/os/FileObserver$ObserverThread;->run()V
HSPLandroid/os/FileObserver$ObserverThread;->startWatching(Ljava/util/List;ILandroid/os/FileObserver;)[I
+HSPLandroid/os/FileObserver;-><clinit>()V
HSPLandroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
+HSPLandroid/os/FileObserver;-><init>(Ljava/util/List;I)V
HSPLandroid/os/FileObserver;->startWatching()V
-HSPLandroid/os/FileUtils$1;->compare(Ljava/io/File;Ljava/io/File;)I
-HSPLandroid/os/FileUtils$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/os/FileUtils;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
HSPLandroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/FileUtils;->bytesToFile(Ljava/lang/String;[B)V
+HSPLandroid/os/FileUtils;->closeQuietly(Ljava/lang/AutoCloseable;)V
HSPLandroid/os/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z
HSPLandroid/os/FileUtils;->contains(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/FileUtils;->createDir(Ljava/io/File;)Z
-HSPLandroid/os/FileUtils;->createDir(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/FileUtils;->deleteContents(Ljava/io/File;)Z
-HSPLandroid/os/FileUtils;->deleteContentsAndDir(Ljava/io/File;)Z
-HSPLandroid/os/FileUtils;->deleteOlderFiles(Ljava/io/File;IJ)Z
-HSPLandroid/os/FileUtils;->getUid(Ljava/lang/String;)I
-HSPLandroid/os/FileUtils;->isValidExtFilename(Ljava/lang/String;)Z
-HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;)[Ljava/io/File;
HSPLandroid/os/FileUtils;->newFileOrNull(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
-HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
-HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;[Ljava/lang/String;)[Ljava/lang/String;
-HPLandroid/os/FileUtils;->roundStorageSize(J)J
-HSPLandroid/os/FileUtils;->setPermissions(Ljava/io/File;III)I
-HSPLandroid/os/FileUtils;->setPermissions(Ljava/io/FileDescriptor;III)I
HSPLandroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
-HSPLandroid/os/FileUtils;->stringToFile(Ljava/io/File;Ljava/lang/String;)V
-HSPLandroid/os/FileUtils;->stringToFile(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
HSPLandroid/os/FileUtils;->translateModePfdToPosix(I)I
HSPLandroid/os/FileUtils;->translateModePosixToPfd(I)I
HSPLandroid/os/FileUtils;->translateModeStringToPosix(Ljava/lang/String;)I
HSPLandroid/os/FileUtils;->trimFilename(Ljava/lang/StringBuilder;I)V
-HSPLandroid/os/GraphicsEnvironment$OpenGlDriverChoice;-><init>(Ljava/lang/String;I)V
-HSPLandroid/os/GraphicsEnvironment;-><init>()V
-HSPLandroid/os/GraphicsEnvironment;->buildMap()Ljava/util/Map;
-HSPLandroid/os/GraphicsEnvironment;->chooseDriver(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)Z
+HSPLandroid/os/GraphicsEnvironment;->checkAngleWhitelist(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Z
+HSPLandroid/os/GraphicsEnvironment;->chooseDriver(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+HSPLandroid/os/GraphicsEnvironment;->chooseDriverInternal(Landroid/os/Bundle;Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->getAppInfoWithMetadata(Landroid/content/Context;Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
HSPLandroid/os/GraphicsEnvironment;->getDriverForPkg(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->getGlobalSettingsPkgIndex(Ljava/lang/String;Ljava/util/List;)I
HSPLandroid/os/GraphicsEnvironment;->getGlobalSettingsString(Landroid/content/ContentResolver;Landroid/os/Bundle;Ljava/lang/String;)Ljava/util/List;
HSPLandroid/os/GraphicsEnvironment;->getInstance()Landroid/os/GraphicsEnvironment;
+HSPLandroid/os/GraphicsEnvironment;->getVulkanVersion(Landroid/content/pm/PackageManager;)I
HSPLandroid/os/GraphicsEnvironment;->setLayerPaths(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/GraphicsEnvironment;->setup(Landroid/content/Context;Landroid/os/Bundle;)V
HSPLandroid/os/GraphicsEnvironment;->setupAngle(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)Z
-HSPLandroid/os/GraphicsEnvironment;->setupGpuLayers(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)V
-HSPLandroid/os/GraphicsEnvironment;->shouldShowAngleInUseDialogBox(Landroid/content/Context;)Z
-HSPLandroid/os/GraphicsEnvironment;->showAngleInUseDialogBox(Landroid/content/Context;)V
-HSPLandroid/os/Handler$BlockingRunnable;->postAndWait(Landroid/os/Handler;J)Z
-HSPLandroid/os/Handler$BlockingRunnable;->run()V
+HSPLandroid/os/GraphicsEnvironment;->setupGpuLayers(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)V
+HSPLandroid/os/GraphicsEnvironment;->shouldUseAngle(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Z
+HSPLandroid/os/Handler$MessengerImpl;-><init>(Landroid/os/Handler;)V
+HSPLandroid/os/Handler$MessengerImpl;-><init>(Landroid/os/Handler;Landroid/os/Handler$1;)V
HSPLandroid/os/Handler$MessengerImpl;->send(Landroid/os/Message;)V
HSPLandroid/os/Handler;-><init>()V
HSPLandroid/os/Handler;-><init>(Landroid/os/Handler$Callback;)V
@@ -11494,19 +5213,16 @@ HSPLandroid/os/Handler;-><init>(Landroid/os/Handler$Callback;Z)V
HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;)V
HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
-HSPLandroid/os/Handler;-><init>(Z)V
HSPLandroid/os/Handler;->createAsync(Landroid/os/Looper;)Landroid/os/Handler;
HSPLandroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V
+HSPLandroid/os/Handler;->enqueueMessage(Landroid/os/MessageQueue;Landroid/os/Message;J)Z
HSPLandroid/os/Handler;->getIMessenger()Landroid/os/IMessenger;
HSPLandroid/os/Handler;->getLooper()Landroid/os/Looper;
HSPLandroid/os/Handler;->getMain()Landroid/os/Handler;
-HSPLandroid/os/Handler;->getMessageName(Landroid/os/Message;)Ljava/lang/String;
HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;)Landroid/os/Message;
HSPLandroid/os/Handler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z
HSPLandroid/os/Handler;->hasMessages(I)Z
HSPLandroid/os/Handler;->hasMessages(ILjava/lang/Object;)Z
-HSPLandroid/os/Handler;->hasMessagesOrCallbacks()Z
HSPLandroid/os/Handler;->obtainMessage()Landroid/os/Message;
HSPLandroid/os/Handler;->obtainMessage(I)Landroid/os/Message;
HSPLandroid/os/Handler;->obtainMessage(III)Landroid/os/Message;
@@ -11521,7 +5237,6 @@ HSPLandroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
HSPLandroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
HSPLandroid/os/Handler;->removeMessages(I)V
HSPLandroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
-HSPLandroid/os/Handler;->runWithScissors(Ljava/lang/Runnable;J)Z
HSPLandroid/os/Handler;->sendEmptyMessage(I)Z
HSPLandroid/os/Handler;->sendEmptyMessageAtTime(IJ)Z
HSPLandroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
@@ -11529,267 +5244,126 @@ HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
HSPLandroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z
HSPLandroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z
HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z
-HSPLandroid/os/Handler;->toString()Ljava/lang/String;
HSPLandroid/os/HandlerExecutor;-><init>(Landroid/os/Handler;)V
HSPLandroid/os/HandlerExecutor;->execute(Ljava/lang/Runnable;)V
HSPLandroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
HSPLandroid/os/HandlerThread;-><init>(Ljava/lang/String;I)V
HSPLandroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
HSPLandroid/os/HandlerThread;->getThreadHandler()Landroid/os/Handler;
-HSPLandroid/os/HandlerThread;->getThreadId()I
HSPLandroid/os/HandlerThread;->onLooperPrepared()V
HSPLandroid/os/HandlerThread;->quit()Z
HSPLandroid/os/HandlerThread;->quitSafely()Z
HSPLandroid/os/HandlerThread;->run()V
-HSPLandroid/os/HidlSupport;->deepHashCode(Ljava/lang/Object;)I
-HSPLandroid/os/HidlSupport;->interfacesEqual(Landroid/os/IHwInterface;Ljava/lang/Object;)Z
-HSPLandroid/os/HidlSupport;->throwErrorIfUnsupportedType(Ljava/lang/Object;)V
HSPLandroid/os/HwBinder;-><init>()V
HSPLandroid/os/HwBinder;->getService(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IHwBinder;
HSPLandroid/os/HwBlob;-><init>(I)V
HSPLandroid/os/HwParcel;-><init>()V
HSPLandroid/os/HwParcel;-><init>(Z)V
-HSPLandroid/os/HwParcel;->readInt32Vector()Ljava/util/ArrayList;
-HSPLandroid/os/HwParcel;->readInt8Vector()Ljava/util/ArrayList;
HSPLandroid/os/HwParcel;->readStringVector()Ljava/util/ArrayList;
-HPLandroid/os/HwParcel;->writeInt16Vector(Ljava/util/ArrayList;)V
-HSPLandroid/os/HwParcel;->writeInt32Vector(Ljava/util/ArrayList;)V
-HSPLandroid/os/HwParcel;->writeInt8Vector(Ljava/util/ArrayList;)V
-HSPLandroid/os/HwParcel;->writeStringVector(Ljava/util/ArrayList;)V
HSPLandroid/os/HwRemoteBinder;-><init>()V
HSPLandroid/os/HwRemoteBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IHwInterface;
-HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;-><init>()V
HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IBatteryPropertiesRegistrar;
-HPLandroid/os/IBatteryPropertiesRegistrar$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/ICancellationSignal$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/ICancellationSignal$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ICancellationSignal;
-HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->getSerialForPackage(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;-><init>()V
-HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdentifiersPolicyService;
-HPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IDeviceIdleController$Stub;-><init>()V
HSPLandroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController;
-HPLandroid/os/IDeviceIdleController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IDumpstate$Stub;-><init>()V
-HSPLandroid/os/IExternalVibratorService$Stub;-><init>()V
-HSPLandroid/os/IHardwarePropertiesManager$Stub;-><init>()V
-HSPLandroid/os/IHardwarePropertiesManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IIncidentCompanion$Stub;-><init>()V
-HSPLandroid/os/IIncidentManager$Stub$Proxy;->systemRunning()V
-HSPLandroid/os/IIncidentManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIncidentManager;
-HSPLandroid/os/IInstalld$Stub$Proxy;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/os/IInstalld$Stub$Proxy;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld$Stub$Proxy;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
-HPLandroid/os/IInstalld$Stub$Proxy;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/os/IInstalld$Stub$Proxy;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld$Stub$Proxy;->createUserData(Ljava/lang/String;III)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->destroyAppProfiles(Ljava/lang/String;)V
-HPLandroid/os/IInstalld$Stub$Proxy;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->fixupAppData(Ljava/lang/String;I)V
-HPLandroid/os/IInstalld$Stub$Proxy;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;)[J
-HPLandroid/os/IInstalld$Stub$Proxy;->getExternalSize(Ljava/lang/String;II[I)[J
-HPLandroid/os/IInstalld$Stub$Proxy;->getUserSize(Ljava/lang/String;II[I)[J
-HPLandroid/os/IInstalld$Stub$Proxy;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
-HSPLandroid/os/IInstalld$Stub$Proxy;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
-HPLandroid/os/IInstalld$Stub$Proxy;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->invalidateMounts()V
-HPLandroid/os/IInstalld$Stub$Proxy;->isQuotaSupported(Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld$Stub$Proxy;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->markBootComplete(Ljava/lang/String;)V
-HPLandroid/os/IInstalld$Stub$Proxy;->mergeProfiles(ILjava/lang/String;Ljava/lang/String;)Z
-HPLandroid/os/IInstalld$Stub$Proxy;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HPLandroid/os/IInstalld$Stub$Proxy;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/os/IInstalld$Stub$Proxy;->rmPackageDir(Ljava/lang/String;)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld$Stub$Proxy;->setAppQuota(Ljava/lang/String;IIJ)V
-HSPLandroid/os/IInstalld$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IInstalld;
-HSPLandroid/os/IMessenger$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/IMessenger$Stub$Proxy;->send(Landroid/os/Message;)V
+HSPLandroid/os/IMessenger$Stub;-><init>()V
HSPLandroid/os/IMessenger$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/IMessenger$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/os/INetworkActivityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/os/INetworkActivityListener$Stub$Proxy;->onNetworkActive()V
-PLandroid/os/INetworkActivityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkActivityListener;
-HSPLandroid/os/INetworkManagementService$Stub$Proxy;->isBandwidthControlEnabled()Z
+HSPLandroid/os/INetworkManagementService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/os/INetworkManagementService$Stub$Proxy;->setUidCleartextNetworkPolicy(II)V
-HSPLandroid/os/INetworkManagementService$Stub;-><init>()V
HSPLandroid/os/INetworkManagementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkManagementService;
-HPLandroid/os/INetworkManagementService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/os/INetworkManagementService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IPermissionController$Stub;-><init>()V
-HSPLandroid/os/IPermissionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/os/IPowerManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/os/IPowerManager$Stub$Proxy;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
HSPLandroid/os/IPowerManager$Stub$Proxy;->isDeviceIdleMode()Z
HSPLandroid/os/IPowerManager$Stub$Proxy;->isInteractive()Z
HSPLandroid/os/IPowerManager$Stub$Proxy;->isPowerSaveMode()Z
-HSPLandroid/os/IPowerManager$Stub$Proxy;->isWakeLockLevelSupported(I)Z
HSPLandroid/os/IPowerManager$Stub$Proxy;->releaseWakeLock(Landroid/os/IBinder;I)V
-HSPLandroid/os/IPowerManager$Stub$Proxy;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
-HSPLandroid/os/IPowerManager$Stub$Proxy;->userActivity(JII)V
-HSPLandroid/os/IPowerManager$Stub;-><init>()V
HSPLandroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager;
-HPLandroid/os/IPowerManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/os/IPowerManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IProcessInfoService$Stub;-><init>()V
-HPLandroid/os/IProcessInfoService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IProgressListener$Stub;-><init>()V
-HSPLandroid/os/IProgressListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IRecoverySystem$Stub;-><init>()V
HSPLandroid/os/IRemoteCallback$Stub$Proxy;->sendResult(Landroid/os/Bundle;)V
-HSPLandroid/os/IRemoteCallback$Stub;-><init>()V
-HSPLandroid/os/IRemoteCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/IRemoteCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRemoteCallback;
-HSPLandroid/os/IRemoteCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/ISchedulingPolicyService$Stub;-><init>()V
-HSPLandroid/os/ISchedulingPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IStatsCompanionService$Stub;-><init>()V
-HPLandroid/os/IStatsCompanionService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/os/IStatsCompanionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/os/IServiceManager$Stub$Proxy;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
+HSPLandroid/os/IServiceManager$Stub$Proxy;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
HSPLandroid/os/IStatsManager$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IStatsManager$Stub$Proxy;->informAllUidData([I[J[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HPLandroid/os/IStatsManager$Stub$Proxy;->informOnePackage(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IStatsManager$Stub$Proxy;->informPollAlarmFired()V
-HSPLandroid/os/IStatsManager$Stub$Proxy;->statsCompanionReady()V
HSPLandroid/os/IStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStatsManager;
-HPLandroid/os/IStoraged$Stub$Proxy;->getRecentPerf()I
-HSPLandroid/os/IStoraged$Stub$Proxy;->onUserStarted(I)V
-HSPLandroid/os/IStoraged$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStoraged;
-HSPLandroid/os/ISystemUpdateManager$Stub;-><init>()V
-HSPLandroid/os/ISystemUpdateManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISystemUpdateManager;
-HPLandroid/os/ISystemUpdateManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IThermalEventListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IThermalEventListener$Stub$Proxy;->notifyThrottling(Landroid/os/Temperature;)V
-HSPLandroid/os/IThermalEventListener$Stub;-><init>()V
-HSPLandroid/os/IThermalEventListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IThermalService$Stub;-><init>()V
HSPLandroid/os/IThermalService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IThermalService;
-HSPLandroid/os/IThermalService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IThermalStatusListener$Stub;-><init>()V
-HSPLandroid/os/IThermalStatusListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IUpdateLock$Stub;-><init>()V
+HSPLandroid/os/IUserManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/os/IUserManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileIds(IZ)[I
+HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileParent(I)Landroid/content/pm/UserInfo;
HSPLandroid/os/IUserManager$Stub$Proxy;->getProfiles(IZ)Ljava/util/List;
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserHandle(I)I
HSPLandroid/os/IUserManager$Stub$Proxy;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
HSPLandroid/os/IUserManager$Stub$Proxy;->getUserSerialNumber(I)I
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUsers(Z)Ljava/util/List;
-HSPLandroid/os/IUserManager$Stub$Proxy;->hasBaseUserRestriction(Ljava/lang/String;I)Z
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUsers(ZZZ)Ljava/util/List;
HSPLandroid/os/IUserManager$Stub$Proxy;->hasUserRestriction(Ljava/lang/String;I)Z
HSPLandroid/os/IUserManager$Stub$Proxy;->isDemoUser(I)Z
HSPLandroid/os/IUserManager$Stub$Proxy;->isManagedProfile(I)Z
+HSPLandroid/os/IUserManager$Stub$Proxy;->isUserRunning(I)Z
HSPLandroid/os/IUserManager$Stub$Proxy;->isUserUnlocked(I)Z
HSPLandroid/os/IUserManager$Stub$Proxy;->isUserUnlockingOrUnlocked(I)Z
-HSPLandroid/os/IUserManager$Stub;-><init>()V
HSPLandroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
-HPLandroid/os/IUserManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/os/IUserManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IVibratorService$Stub$Proxy;->hasVibrator()Z
-HSPLandroid/os/IVibratorService$Stub;-><init>()V
-HSPLandroid/os/IVibratorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IVold$Stub$Proxy;->commitChanges()V
-HSPLandroid/os/IVold$Stub$Proxy;->destroySandboxForApp(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/os/IVold$Stub$Proxy;->fdeClearPassword()V
-HSPLandroid/os/IVold$Stub$Proxy;->fdeGetPassword()Ljava/lang/String;
-HSPLandroid/os/IVold$Stub$Proxy;->monitor()V
-HSPLandroid/os/IVold$Stub$Proxy;->mount(Ljava/lang/String;II)V
-HSPLandroid/os/IVold$Stub$Proxy;->onSecureKeyguardStateChanged(Z)V
-HSPLandroid/os/IVold$Stub$Proxy;->onUserAdded(II)V
-HSPLandroid/os/IVold$Stub$Proxy;->onUserStarted(I[Ljava/lang/String;[I[Ljava/lang/String;)V
-HSPLandroid/os/IVold$Stub$Proxy;->prepareUserStorage(Ljava/lang/String;III)V
-HSPLandroid/os/IVold$Stub$Proxy;->reset()V
-HPLandroid/os/IVold$Stub$Proxy;->runIdleMaint(Landroid/os/IVoldTaskListener;)V
-HSPLandroid/os/IVold$Stub$Proxy;->setListener(Landroid/os/IVoldListener;)V
-HSPLandroid/os/IVold$Stub$Proxy;->unlockUserKey(IILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVold$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVold;
-HSPLandroid/os/IVoldListener$Stub;-><init>()V
-HSPLandroid/os/IVoldListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IVoldListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IVoldTaskListener$Stub;-><init>()V
-HSPLandroid/os/IVoldTaskListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IVoldTaskListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/LocaleList$1;-><init>()V
HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList;
HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/LocaleList;-><init>(Ljava/util/Locale;Landroid/os/LocaleList;)V
HSPLandroid/os/LocaleList;-><init>([Ljava/util/Locale;)V
-HSPLandroid/os/LocaleList;->computeFirstMatchIndex(Ljava/util/Collection;Z)I
HSPLandroid/os/LocaleList;->equals(Ljava/lang/Object;)Z
HSPLandroid/os/LocaleList;->forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;
HSPLandroid/os/LocaleList;->get(I)Ljava/util/Locale;
HSPLandroid/os/LocaleList;->getAdjustedDefault()Landroid/os/LocaleList;
HSPLandroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;
HSPLandroid/os/LocaleList;->getEmptyLocaleList()Landroid/os/LocaleList;
-HSPLandroid/os/LocaleList;->getFirstMatchWithEnglishSupported([Ljava/lang/String;)Ljava/util/Locale;
-HSPLandroid/os/LocaleList;->hashCode()I
HSPLandroid/os/LocaleList;->isEmpty()Z
-HSPLandroid/os/LocaleList;->isPseudoLocalesOnly([Ljava/lang/String;)Z
-HSPLandroid/os/LocaleList;->matchScore(Ljava/util/Locale;Ljava/util/Locale;)I
HSPLandroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;)V
HSPLandroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;I)V
HSPLandroid/os/LocaleList;->size()I
+HSPLandroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
HSPLandroid/os/LocaleList;->toString()Ljava/lang/String;
-HSPLandroid/os/LocaleList;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/LocaleList;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+HSPLandroid/os/Looper;-><init>(Z)V
HSPLandroid/os/Looper;->getMainLooper()Landroid/os/Looper;
HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue;
HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread;
-HSPLandroid/os/Looper;->isCurrentThread()Z
HSPLandroid/os/Looper;->loop()V
HSPLandroid/os/Looper;->myLooper()Landroid/os/Looper;
HSPLandroid/os/Looper;->myQueue()Landroid/os/MessageQueue;
HSPLandroid/os/Looper;->prepare()V
+HSPLandroid/os/Looper;->prepare(Z)V
HSPLandroid/os/Looper;->prepareMainLooper()V
HSPLandroid/os/Looper;->quit()V
-HSPLandroid/os/Looper;->setObserver(Landroid/os/Looper$Observer;)V
+HSPLandroid/os/Looper;->setSlowLogThresholdMs(JJ)V
+HSPLandroid/os/Looper;->setTraceTag(J)V
HSPLandroid/os/Looper;->showSlowLog(JJJLjava/lang/String;Landroid/os/Message;)Z
-HSPLandroid/os/Looper;->toString()Ljava/lang/String;
-HSPLandroid/os/MemoryFile;-><init>(Ljava/lang/String;I)V
-HSPLandroid/os/MemoryFile;->close()V
-HSPLandroid/os/MemoryFile;->deactivate()V
-HSPLandroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor;
-HSPLandroid/os/MemoryFile;->getSize(Ljava/io/FileDescriptor;)I
-HSPLandroid/os/MemoryFile;->readBytes([BIII)I
-HSPLandroid/os/MemoryFile;->writeBytes([BIII)V
-HSPLandroid/os/Message$1;-><init>()V
HSPLandroid/os/Message$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Message;
HSPLandroid/os/Message$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/Message;-><init>()V
-HSPLandroid/os/Message;->copyFrom(Landroid/os/Message;)V
-HSPLandroid/os/Message;->getCallback()Ljava/lang/Runnable;
+HSPLandroid/os/Message;->access$000(Landroid/os/Message;Landroid/os/Parcel;)V
+PLandroid/os/Message;->copyFrom(Landroid/os/Message;)V
HSPLandroid/os/Message;->getData()Landroid/os/Bundle;
-HSPLandroid/os/Message;->getTarget()Landroid/os/Handler;
+HSPLandroid/os/Message;->isInUse()Z
HSPLandroid/os/Message;->obtain()Landroid/os/Message;
+HSPLandroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;
HSPLandroid/os/Message;->obtain(Landroid/os/Handler;I)Landroid/os/Message;
HSPLandroid/os/Message;->obtain(Landroid/os/Handler;III)Landroid/os/Message;
HSPLandroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
HSPLandroid/os/Message;->obtain(Landroid/os/Handler;ILjava/lang/Object;)Landroid/os/Message;
HSPLandroid/os/Message;->obtain(Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/os/Message;
-HSPLandroid/os/Message;->obtain(Landroid/os/Message;)Landroid/os/Message;
-HSPLandroid/os/Message;->peekData()Landroid/os/Bundle;
HSPLandroid/os/Message;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/os/Message;->recycle()V
HSPLandroid/os/Message;->recycleUnchecked()V
HSPLandroid/os/Message;->sendToTarget()V
+HSPLandroid/os/Message;->setAsynchronous(Z)V
HSPLandroid/os/Message;->setData(Landroid/os/Bundle;)V
-HSPLandroid/os/Message;->toString()Ljava/lang/String;
-HSPLandroid/os/Message;->toString(J)Ljava/lang/String;
HSPLandroid/os/Message;->updateCheckRecycle(I)V
HSPLandroid/os/Message;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/MessageQueue;-><init>(Z)V
HSPLandroid/os/MessageQueue;->addIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V
+HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
+HSPLandroid/os/MessageQueue;->dispatchEvents(II)I
HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z
HSPLandroid/os/MessageQueue;->finalize()V
-HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;)Z
HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z
-HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z
-HSPLandroid/os/MessageQueue;->isPolling()Z
HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;
-HSPLandroid/os/MessageQueue;->postSyncBarrier()I
HSPLandroid/os/MessageQueue;->postSyncBarrier(J)I
HSPLandroid/os/MessageQueue;->quit(Z)V
HSPLandroid/os/MessageQueue;->removeAllFutureMessagesLocked()V
@@ -11797,56 +5371,47 @@ HSPLandroid/os/MessageQueue;->removeCallbacksAndMessages(Landroid/os/Handler;Lja
HSPLandroid/os/MessageQueue;->removeIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V
HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V
+HSPLandroid/os/MessageQueue;->removeOnFileDescriptorEventListener(Ljava/io/FileDescriptor;)V
HSPLandroid/os/MessageQueue;->removeSyncBarrier(I)V
-HSPLandroid/os/Messenger$1;-><init>()V
-HSPLandroid/os/Messenger$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Messenger;
-HSPLandroid/os/Messenger$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/MessageQueue;->updateOnFileDescriptorEventListenerLocked(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
HSPLandroid/os/Messenger;-><init>(Landroid/os/Handler;)V
HSPLandroid/os/Messenger;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/Messenger;->equals(Ljava/lang/Object;)Z
HSPLandroid/os/Messenger;->getBinder()Landroid/os/IBinder;
-HSPLandroid/os/Messenger;->hashCode()I
+HSPLandroid/os/Messenger;->readMessengerOrNullFromParcel(Landroid/os/Parcel;)Landroid/os/Messenger;
HSPLandroid/os/Messenger;->send(Landroid/os/Message;)V
HSPLandroid/os/Messenger;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/Parcel$1;-><init>()V
HSPLandroid/os/Parcel$2;->resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
-HSPLandroid/os/Parcel$ReadWriteHelper;-><init>()V
HSPLandroid/os/Parcel$ReadWriteHelper;->readString(Landroid/os/Parcel;)Ljava/lang/String;
HSPLandroid/os/Parcel$ReadWriteHelper;->writeString(Landroid/os/Parcel;Ljava/lang/String;)V
-HSPLandroid/os/Parcel;->appendFrom(Landroid/os/Parcel;II)V
-HSPLandroid/os/Parcel;->copyClassCookies()Ljava/util/Map;
-HSPLandroid/os/Parcel;->createBinderArrayList()Ljava/util/ArrayList;
HSPLandroid/os/Parcel;->createByteArray()[B
-HSPLandroid/os/Parcel;->createDoubleArray()[D
HSPLandroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception;
-HSPLandroid/os/Parcel;->createFloatArray()[F
HSPLandroid/os/Parcel;->createIntArray()[I
HSPLandroid/os/Parcel;->createLongArray()[J
HSPLandroid/os/Parcel;->createStringArray()[Ljava/lang/String;
HSPLandroid/os/Parcel;->createStringArrayList()Ljava/util/ArrayList;
HSPLandroid/os/Parcel;->createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;
HSPLandroid/os/Parcel;->createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;
+HSPLandroid/os/Parcel;->dataAvail()I
HSPLandroid/os/Parcel;->dataPosition()I
HSPLandroid/os/Parcel;->dataSize()I
+HSPLandroid/os/Parcel;->destroy()V
HSPLandroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
HSPLandroid/os/Parcel;->finalize()V
HSPLandroid/os/Parcel;->getClassCookie(Ljava/lang/Class;)Ljava/lang/Object;
+HSPLandroid/os/Parcel;->hasFileDescriptors()Z
HSPLandroid/os/Parcel;->marshall()[B
HSPLandroid/os/Parcel;->obtain()Landroid/os/Parcel;
HSPLandroid/os/Parcel;->obtain(J)Landroid/os/Parcel;
-HSPLandroid/os/Parcel;->putClassCookies(Ljava/util/Map;)V
+HSPLandroid/os/Parcel;->pushAllowFds(Z)Z
HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList;
HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V
HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;
-HSPLandroid/os/Parcel;->readBlob()[B
HSPLandroid/os/Parcel;->readBoolean()Z
-HSPLandroid/os/Parcel;->readBooleanArray([Z)V
HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle;
HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;
HSPLandroid/os/Parcel;->readByte()B
HSPLandroid/os/Parcel;->readByteArray([B)V
HSPLandroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence;
-HSPLandroid/os/Parcel;->readCharSequenceArray()[Ljava/lang/CharSequence;
HSPLandroid/os/Parcel;->readDouble()D
HSPLandroid/os/Parcel;->readException()V
HSPLandroid/os/Parcel;->readException(ILjava/lang/String;)V
@@ -11854,51 +5419,40 @@ HSPLandroid/os/Parcel;->readExceptionCode()I
HSPLandroid/os/Parcel;->readFloat()F
HSPLandroid/os/Parcel;->readHashMap(Ljava/lang/ClassLoader;)Ljava/util/HashMap;
HSPLandroid/os/Parcel;->readInt()I
-HSPLandroid/os/Parcel;->readIntArray([I)V
HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;)V
+HSPLandroid/os/Parcel;->readListInternal(Ljava/util/List;ILjava/lang/ClassLoader;)V
HSPLandroid/os/Parcel;->readLong()J
-HSPLandroid/os/Parcel;->readLongArray([J)V
+HSPLandroid/os/Parcel;->readMapInternal(Ljava/util/Map;ILjava/lang/ClassLoader;)V
HSPLandroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parcelable;
-HSPLandroid/os/Parcel;->readParcelableArray(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Landroid/os/Parcelable;
HSPLandroid/os/Parcel;->readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
HSPLandroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;
HSPLandroid/os/Parcel;->readPersistableBundle()Landroid/os/PersistableBundle;
HSPLandroid/os/Parcel;->readPersistableBundle(Ljava/lang/ClassLoader;)Landroid/os/PersistableBundle;
+HSPLandroid/os/Parcel;->readRawFileDescriptor()Ljava/io/FileDescriptor;
HSPLandroid/os/Parcel;->readSerializable(Ljava/lang/ClassLoader;)Ljava/io/Serializable;
HSPLandroid/os/Parcel;->readSparseArray(Ljava/lang/ClassLoader;)Landroid/util/SparseArray;
HSPLandroid/os/Parcel;->readString()Ljava/lang/String;
HSPLandroid/os/Parcel;->readStringArray()[Ljava/lang/String;
HSPLandroid/os/Parcel;->readStringList(Ljava/util/List;)V
HSPLandroid/os/Parcel;->readStrongBinder()Landroid/os/IBinder;
-HSPLandroid/os/Parcel;->readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V
HSPLandroid/os/Parcel;->readTypedList(Ljava/util/List;Landroid/os/Parcelable$Creator;)V
HSPLandroid/os/Parcel;->readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;
HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;
HSPLandroid/os/Parcel;->recycle()V
-HSPLandroid/os/Parcel;->setClassCookie(Ljava/lang/Class;Ljava/lang/Object;)V
-HSPLandroid/os/Parcel;->setDataCapacity(I)V
+HSPLandroid/os/Parcel;->restoreAllowFds(Z)V
HSPLandroid/os/Parcel;->setDataPosition(I)V
-HSPLandroid/os/Parcel;->setDataSize(I)V
-HSPLandroid/os/Parcel;->setReadWriteHelper(Landroid/os/Parcel$ReadWriteHelper;)V
-HSPLandroid/os/Parcel;->setStackTraceParceling(Z)V
HSPLandroid/os/Parcel;->unmarshall([BII)V
HSPLandroid/os/Parcel;->updateNativeSize(J)V
HSPLandroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V
HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V
HSPLandroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V
-HSPLandroid/os/Parcel;->writeBinderList(Ljava/util/List;)V
-HSPLandroid/os/Parcel;->writeBlob([B)V
HSPLandroid/os/Parcel;->writeBoolean(Z)V
-HSPLandroid/os/Parcel;->writeBooleanArray([Z)V
HSPLandroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V
HSPLandroid/os/Parcel;->writeByte(B)V
HSPLandroid/os/Parcel;->writeByteArray([B)V
-HSPLandroid/os/Parcel;->writeCharSequence(Ljava/lang/CharSequence;)V
-HSPLandroid/os/Parcel;->writeCharSequenceArray([Ljava/lang/CharSequence;)V
-HSPLandroid/os/Parcel;->writeDouble(D)V
-HSPLandroid/os/Parcel;->writeException(Ljava/lang/Exception;)V
+HSPLandroid/os/Parcel;->writeByteArray([BII)V
+PLandroid/os/Parcel;->writeException(Ljava/lang/Exception;)V
HSPLandroid/os/Parcel;->writeFloat(F)V
-HSPLandroid/os/Parcel;->writeFloatArray([F)V
HSPLandroid/os/Parcel;->writeInt(I)V
HSPLandroid/os/Parcel;->writeIntArray([I)V
HSPLandroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
@@ -11909,13 +5463,11 @@ HSPLandroid/os/Parcel;->writeMap(Ljava/util/Map;)V
HSPLandroid/os/Parcel;->writeMapInternal(Ljava/util/Map;)V
HSPLandroid/os/Parcel;->writeNoException()V
HSPLandroid/os/Parcel;->writeParcelable(Landroid/os/Parcelable;I)V
-HSPLandroid/os/Parcel;->writeParcelableArray([Landroid/os/Parcelable;I)V
HSPLandroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V
HSPLandroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V
HSPLandroid/os/Parcel;->writePersistableBundle(Landroid/os/PersistableBundle;)V
HSPLandroid/os/Parcel;->writeSerializable(Ljava/io/Serializable;)V
HSPLandroid/os/Parcel;->writeSparseArray(Landroid/util/SparseArray;)V
-HSPLandroid/os/Parcel;->writeSparseBooleanArray(Landroid/util/SparseBooleanArray;)V
HSPLandroid/os/Parcel;->writeString(Ljava/lang/String;)V
HSPLandroid/os/Parcel;->writeStringArray([Ljava/lang/String;)V
HSPLandroid/os/Parcel;->writeStringList(Ljava/util/List;)V
@@ -11926,10 +5478,9 @@ HSPLandroid/os/Parcel;->writeTypedList(Ljava/util/List;)V
HSPLandroid/os/Parcel;->writeTypedList(Ljava/util/List;I)V
HSPLandroid/os/Parcel;->writeTypedObject(Landroid/os/Parcelable;I)V
HSPLandroid/os/Parcel;->writeValue(Ljava/lang/Object;)V
-HSPLandroid/os/ParcelFileDescriptor$2;-><init>()V
HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
+PLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->close()V
HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read([B)I
HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read([BII)I
@@ -11940,38 +5491,21 @@ HSPLandroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;)V
HSPLandroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
HSPLandroid/os/ParcelFileDescriptor;->canDetectErrors()Z
HSPLandroid/os/ParcelFileDescriptor;->close()V
-HSPLandroid/os/ParcelFileDescriptor;->createPipe()[Landroid/os/ParcelFileDescriptor;
+PLandroid/os/ParcelFileDescriptor;->createPipe()[Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->detachFd()I
-HSPLandroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->finalize()V
-HPLandroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->getFd()I
-HSPLandroid/os/ParcelFileDescriptor;->getFile(Ljava/io/FileDescriptor;)Ljava/io/File;
HSPLandroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
+HSPLandroid/os/ParcelFileDescriptor;->ifAtLeastQ(I)I
+HSPLandroid/os/ParcelFileDescriptor;->isAtLeastQ()Z
HSPLandroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->openInternal(Ljava/io/File;I)Ljava/io/FileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->parseMode(Ljava/lang/String;)I
HSPLandroid/os/ParcelFileDescriptor;->releaseResources()V
HSPLandroid/os/ParcelFileDescriptor;->writeCommStatusAndClose(ILjava/lang/String;)V
HSPLandroid/os/ParcelFileDescriptor;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/ParcelUuid$1;-><init>()V
-HSPLandroid/os/ParcelUuid$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelUuid;
-HSPLandroid/os/ParcelUuid$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/ParcelUuid$1;->newArray(I)[Landroid/os/ParcelUuid;
-HSPLandroid/os/ParcelUuid$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/os/ParcelUuid;->equals(Ljava/lang/Object;)Z
-HSPLandroid/os/ParcelUuid;->fromString(Ljava/lang/String;)Landroid/os/ParcelUuid;
-HSPLandroid/os/ParcelUuid;->hashCode()I
-HSPLandroid/os/ParcelUuid;->toString()Ljava/lang/String;
-HSPLandroid/os/ParcelableException$1;-><init>()V
-HSPLandroid/os/ParcelableException;-><init>(Ljava/lang/Throwable;)V
-HSPLandroid/os/ParcelableException;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/ParcelableParcel$1;-><init>()V
-HSPLandroid/os/ParcelableParcel;-><init>(Ljava/lang/ClassLoader;)V
-HSPLandroid/os/ParcelableParcel;->getParcel()Landroid/os/Parcel;
-HSPLandroid/os/ParcelableParcel;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/PatternMatcher$1;-><init>()V
+HSPLandroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
HSPLandroid/os/PatternMatcher$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/PatternMatcher;
HSPLandroid/os/PatternMatcher$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/PatternMatcher$1;->newArray(I)[Landroid/os/PatternMatcher;
@@ -11979,31 +5513,18 @@ HSPLandroid/os/PatternMatcher$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/os/PatternMatcher;-><init>(Landroid/os/Parcel;)V
HSPLandroid/os/PatternMatcher;-><init>(Ljava/lang/String;I)V
HSPLandroid/os/PatternMatcher;->match(Ljava/lang/String;)Z
-HPLandroid/os/PatternMatcher;->matchGlobPattern(Ljava/lang/String;Ljava/lang/String;)Z
HSPLandroid/os/PatternMatcher;->matchPattern(Ljava/lang/String;Ljava/lang/String;[II)Z
HSPLandroid/os/PatternMatcher;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/PersistableBundle$1;-><init>()V
HSPLandroid/os/PersistableBundle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/PersistableBundle;
HSPLandroid/os/PersistableBundle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/PersistableBundle$MyReadMapCallback;->readThisUnknownObjectXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/os/PersistableBundle;-><init>()V
-HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/Bundle;)V
+HSPLandroid/os/PersistableBundle;-><init>(I)V
+HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/Parcel;I)V
HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/PersistableBundle;)V
-HSPLandroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;)V
-HSPLandroid/os/PersistableBundle;->clone()Ljava/lang/Object;
+HSPLandroid/os/PersistableBundle;-><init>(Z)V
HSPLandroid/os/PersistableBundle;->deepCopy()Landroid/os/PersistableBundle;
-HSPLandroid/os/PersistableBundle;->getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle;
-HSPLandroid/os/PersistableBundle;->isValidType(Ljava/lang/Object;)Z
-HSPLandroid/os/PersistableBundle;->putPersistableBundle(Ljava/lang/String;Landroid/os/PersistableBundle;)V
-HSPLandroid/os/PersistableBundle;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/os/PersistableBundle;
-HSPLandroid/os/PersistableBundle;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
HSPLandroid/os/PersistableBundle;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/PersistableBundle;->writeUnknownObject(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/os/PooledStringReader;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/PooledStringReader;->readString()Ljava/lang/String;
-HSPLandroid/os/PooledStringWriter;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/PooledStringWriter;->finish()V
-HSPLandroid/os/PooledStringWriter;->writeString(Ljava/lang/String;)V
+HSPLandroid/os/PowerManager$WakeLock$1;-><init>(Landroid/os/PowerManager$WakeLock;)V
HSPLandroid/os/PowerManager$WakeLock$1;->run()V
HSPLandroid/os/PowerManager$WakeLock;-><init>(Landroid/os/PowerManager;ILjava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/PowerManager$WakeLock;->acquire()V
@@ -12011,111 +5532,48 @@ HSPLandroid/os/PowerManager$WakeLock;->acquire(J)V
HSPLandroid/os/PowerManager$WakeLock;->acquireLocked()V
HSPLandroid/os/PowerManager$WakeLock;->finalize()V
HSPLandroid/os/PowerManager$WakeLock;->isHeld()Z
-HPLandroid/os/PowerManager$WakeLock;->lambda$wrap$0$PowerManager$WakeLock(Ljava/lang/Runnable;)V
HSPLandroid/os/PowerManager$WakeLock;->release()V
HSPLandroid/os/PowerManager$WakeLock;->release(I)V
HSPLandroid/os/PowerManager$WakeLock;->setReferenceCounted(Z)V
HSPLandroid/os/PowerManager$WakeLock;->setWorkSource(Landroid/os/WorkSource;)V
-HSPLandroid/os/PowerManager$WakeLock;->toString()Ljava/lang/String;
-HPLandroid/os/PowerManager$WakeLock;->wrap(Ljava/lang/Runnable;)Ljava/lang/Runnable;
HSPLandroid/os/PowerManager;-><init>(Landroid/content/Context;Landroid/os/IPowerManager;Landroid/os/Handler;)V
-HSPLandroid/os/PowerManager;->getDefaultScreenBrightnessSetting()I
-HSPLandroid/os/PowerManager;->getLocationPowerSaveMode()I
HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I
HSPLandroid/os/PowerManager;->getMinimumScreenBrightnessSetting()I
-HSPLandroid/os/PowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-HPLandroid/os/PowerManager;->goToSleep(JII)V
HSPLandroid/os/PowerManager;->isDeviceIdleMode()Z
HSPLandroid/os/PowerManager;->isInteractive()Z
-HSPLandroid/os/PowerManager;->isLightDeviceIdleMode()Z
+PLandroid/os/PowerManager;->isLightDeviceIdleMode()Z
HSPLandroid/os/PowerManager;->isPowerSaveMode()Z
HSPLandroid/os/PowerManager;->isScreenOn()Z
-HSPLandroid/os/PowerManager;->isWakeLockLevelSupported(I)Z
HSPLandroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;
-HPLandroid/os/PowerManager;->sleepReasonToString(I)Ljava/lang/String;
-HSPLandroid/os/PowerManager;->userActivity(JII)V
-HSPLandroid/os/PowerManager;->userActivity(JZ)V
HSPLandroid/os/PowerManager;->validateWakeLockParameters(ILjava/lang/String;)V
-HPLandroid/os/PowerManager;->wakeReasonToString(I)Ljava/lang/String;
-HSPLandroid/os/PowerManager;->wakeUp(JILjava/lang/String;)V
-HSPLandroid/os/PowerManagerInternal;->registerLowPowerModeObserver(ILjava/util/function/Consumer;)V
-HSPLandroid/os/PowerManagerInternal;->wakefulnessToString(I)Ljava/lang/String;
-HSPLandroid/os/PowerSaveState$1;-><init>()V
-HSPLandroid/os/PowerSaveState$Builder;->build()Landroid/os/PowerSaveState;
-HSPLandroid/os/PowerSaveState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/os/Process;->getStartElapsedRealtime()J
-HSPLandroid/os/Process;->getThreadGroupLeader(I)I
-HPLandroid/os/Process;->getUidForPid(I)I
HSPLandroid/os/Process;->is64Bit()Z
HSPLandroid/os/Process;->isApplicationUid(I)Z
HSPLandroid/os/Process;->isIsolated()Z
HSPLandroid/os/Process;->isIsolated(I)Z
-HSPLandroid/os/Process;->isThreadInProcess(II)Z
-HSPLandroid/os/Process;->killProcessQuiet(I)V
HSPLandroid/os/Process;->myPid()I
HSPLandroid/os/Process;->myTid()I
HSPLandroid/os/Process;->myUid()I
HSPLandroid/os/Process;->myUserHandle()Landroid/os/UserHandle;
HSPLandroid/os/Process;->setStartTimes(JJ)V
-HSPLandroid/os/Process;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-HPLandroid/os/Process;->startWebView(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-HPLandroid/os/RecoverySystem;->handleAftermath(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLandroid/os/Registrant;->clear()V
-HSPLandroid/os/Registrant;->getHandler()Landroid/os/Handler;
-HSPLandroid/os/Registrant;->internalNotifyRegistrant(Ljava/lang/Object;Ljava/lang/Throwable;)V
-HSPLandroid/os/Registrant;->notifyRegistrant()V
-HSPLandroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V
-HSPLandroid/os/Registrant;->notifyResult(Ljava/lang/Object;)V
-HSPLandroid/os/RegistrantList;-><init>()V
-HSPLandroid/os/RegistrantList;->add(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLandroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
-HSPLandroid/os/RegistrantList;->addUnique(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLandroid/os/RegistrantList;->internalNotifyRegistrants(Ljava/lang/Object;Ljava/lang/Throwable;)V
-HSPLandroid/os/RegistrantList;->notifyRegistrants()V
-HSPLandroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V
-HSPLandroid/os/RegistrantList;->notifyResult(Ljava/lang/Object;)V
-HSPLandroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
-HSPLandroid/os/RegistrantList;->removeCleared()V
-HSPLandroid/os/RegistrantList;->size()I
-HSPLandroid/os/RemoteCallback$1;-><init>(Landroid/os/RemoteCallback;)V
-HSPLandroid/os/RemoteCallback$1;->sendResult(Landroid/os/Bundle;)V
-HSPLandroid/os/RemoteCallback$3;-><init>()V
-HSPLandroid/os/RemoteCallback$3;->createFromParcel(Landroid/os/Parcel;)Landroid/os/RemoteCallback;
-HSPLandroid/os/RemoteCallback$3;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/RemoteCallback;-><init>(Landroid/os/RemoteCallback$OnResultListener;)V
HSPLandroid/os/RemoteCallback;->sendResult(Landroid/os/Bundle;)V
-HSPLandroid/os/RemoteCallback;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/RemoteCallbackList$Callback;->binderDied()V
+HSPLandroid/os/RemoteCallbackList$Callback;-><init>(Landroid/os/RemoteCallbackList;Landroid/os/IInterface;Ljava/lang/Object;)V
HSPLandroid/os/RemoteCallbackList;-><init>()V
HSPLandroid/os/RemoteCallbackList;->beginBroadcast()I
-HSPLandroid/os/RemoteCallbackList;->broadcast(Ljava/util/function/Consumer;)V
-HSPLandroid/os/RemoteCallbackList;->broadcastForEachCookie(Ljava/util/function/Consumer;)V
HSPLandroid/os/RemoteCallbackList;->finishBroadcast()V
-HSPLandroid/os/RemoteCallbackList;->getBroadcastCookie(I)Ljava/lang/Object;
HSPLandroid/os/RemoteCallbackList;->getBroadcastItem(I)Landroid/os/IInterface;
-HSPLandroid/os/RemoteCallbackList;->getRegisteredCallbackCount()I
-HSPLandroid/os/RemoteCallbackList;->kill()V
HSPLandroid/os/RemoteCallbackList;->logExcessiveCallbacks()V
-HSPLandroid/os/RemoteCallbackList;->onCallbackDied(Landroid/os/IInterface;)V
-HSPLandroid/os/RemoteCallbackList;->onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V
HSPLandroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;)Z
HSPLandroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;Ljava/lang/Object;)Z
HSPLandroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
-HSPLandroid/os/RemoteException;-><init>(Ljava/lang/String;)V
-HSPLandroid/os/ResultReceiver$1;-><init>()V
HSPLandroid/os/ResultReceiver$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ResultReceiver;
HSPLandroid/os/ResultReceiver$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/ResultReceiver$MyResultReceiver;->send(ILandroid/os/Bundle;)V
-HSPLandroid/os/ResultReceiver$MyRunnable;->run()V
HSPLandroid/os/ResultReceiver;-><init>(Landroid/os/Handler;)V
HSPLandroid/os/ResultReceiver;->send(ILandroid/os/Bundle;)V
-HSPLandroid/os/ResultReceiver;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/SELinux;->restorecon(Ljava/io/File;)Z
-HPLandroid/os/SELinux;->restoreconRecursive(Ljava/io/File;)Z
HSPLandroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
HSPLandroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
HSPLandroid/os/ServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
+HSPLandroid/os/ServiceManager;->getIServiceManager()Landroid/os/IServiceManager;
HSPLandroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
HSPLandroid/os/ServiceManager;->getServiceOrThrow(Ljava/lang/String;)Landroid/os/IBinder;
HSPLandroid/os/ServiceManager;->initServiceCache(Ljava/util/Map;)V
@@ -12123,29 +5581,6 @@ HSPLandroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBi
HSPLandroid/os/ServiceManagerProxy;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
HSPLandroid/os/ServiceManagerProxy;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
HSPLandroid/os/ServiceManagerProxy;->getService(Ljava/lang/String;)Landroid/os/IBinder;
-HSPLandroid/os/ServiceSpecificException;->toString()Ljava/lang/String;
-HSPLandroid/os/SharedMemory$1;-><init>()V
-HSPLandroid/os/SharedMemory$Closer;->run()V
-HSPLandroid/os/SharedMemory$MemoryRegistration;->acquire()Landroid/os/SharedMemory$MemoryRegistration;
-HSPLandroid/os/SharedMemory$MemoryRegistration;->release()V
-HSPLandroid/os/SharedMemory$Unmapper;->run()V
-HSPLandroid/os/SharedMemory;-><init>(Ljava/io/FileDescriptor;)V
-HPLandroid/os/SharedMemory;->close()V
-HSPLandroid/os/SharedMemory;->create(Ljava/lang/String;I)Landroid/os/SharedMemory;
-HSPLandroid/os/SharedMemory;->map(III)Ljava/nio/ByteBuffer;
-HSPLandroid/os/SharedMemory;->mapReadWrite()Ljava/nio/ByteBuffer;
-HPLandroid/os/SharedMemory;->setProtect(I)Z
-HPLandroid/os/SharedMemory;->unmap(Ljava/nio/ByteBuffer;)V
-HSPLandroid/os/ShellCallback$1;-><init>()V
-HSPLandroid/os/ShellCallback$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ShellCallback;
-HSPLandroid/os/ShellCallback$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/ShellCommand;->exec(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)I
-HSPLandroid/os/ShellCommand;->getNextArg()Ljava/lang/String;
-HSPLandroid/os/ShellCommand;->getNextOption()Ljava/lang/String;
-HSPLandroid/os/ShellCommand;->getOutPrintWriter()Ljava/io/PrintWriter;
-HSPLandroid/os/ShellCommand;->getRawOutputStream()Ljava/io/OutputStream;
-HSPLandroid/os/ShellCommand;->init(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;I)V
-HSPLandroid/os/SimpleClock;->instant()Ljava/time/Instant;
HSPLandroid/os/StatFs;-><init>(Ljava/lang/String;)V
HSPLandroid/os/StatFs;->doStat(Ljava/lang/String;)Landroid/system/StructStatVfs;
HSPLandroid/os/StatFs;->getAvailableBlocks()I
@@ -12154,201 +5589,144 @@ HSPLandroid/os/StatFs;->getAvailableBytes()J
HSPLandroid/os/StatFs;->getBlockCount()I
HSPLandroid/os/StatFs;->getBlockSize()I
HSPLandroid/os/StatFs;->getBlockSizeLong()J
-HSPLandroid/os/StatFs;->getTotalBytes()J
-HSPLandroid/os/StatFs;->restat(Ljava/lang/String;)V
-HSPLandroid/os/StatsLogEventWrapper$1;-><init>()V
-HSPLandroid/os/StatsLogEventWrapper;-><init>(IJJ)V
-HPLandroid/os/StatsLogEventWrapper;->writeBoolean(Z)V
-HSPLandroid/os/StatsLogEventWrapper;->writeInt(I)V
-HSPLandroid/os/StatsLogEventWrapper;->writeLong(J)V
-HSPLandroid/os/StatsLogEventWrapper;->writeString(Ljava/lang/String;)V
-HSPLandroid/os/StatsLogEventWrapper;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/StrictMode$1;-><init>()V
+PLandroid/os/StatFs;->getTotalBytes()J
HSPLandroid/os/StrictMode$1;->initialValue()Ljava/lang/Object;
HSPLandroid/os/StrictMode$1;->initialValue()Ljava/util/ArrayList;
-HSPLandroid/os/StrictMode$2;-><init>()V
-HSPLandroid/os/StrictMode$2;->initialValue()Ljava/lang/Object;
-HSPLandroid/os/StrictMode$2;->initialValue()Ljava/util/ArrayList;
-HSPLandroid/os/StrictMode$3;-><init>()V
-HSPLandroid/os/StrictMode$3;->initialValue()Landroid/os/Handler;
-HSPLandroid/os/StrictMode$3;->initialValue()Ljava/lang/Object;
-HSPLandroid/os/StrictMode$4;-><init>()V
HSPLandroid/os/StrictMode$4;->initialValue()Landroid/os/StrictMode$AndroidBlockGuardPolicy;
HSPLandroid/os/StrictMode$4;->initialValue()Ljava/lang/Object;
-HSPLandroid/os/StrictMode$5;-><init>()V
HSPLandroid/os/StrictMode$5;->onPathAccess(Ljava/lang/String;)V
-HSPLandroid/os/StrictMode$6;-><init>()V
-HSPLandroid/os/StrictMode$7;-><init>()V
-HSPLandroid/os/StrictMode$8;-><init>()V
HSPLandroid/os/StrictMode$8;->initialValue()Landroid/os/StrictMode$ThreadSpanState;
HSPLandroid/os/StrictMode$8;->initialValue()Ljava/lang/Object;
-HSPLandroid/os/StrictMode$9;-><init>()V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;-><init>(I)V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->getThreadPolicyMask()I
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->handleViolationWithTimingAttempt(Landroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->lambda$handleViolationWithTimingAttempt$0$StrictMode$AndroidBlockGuardPolicy(Landroid/view/IWindowManager;Ljava/util/ArrayList;)V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onCustomSlowCall(Ljava/lang/String;)V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onExplicitGc()V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onResourceMismatch(Ljava/lang/Object;)V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onThreadPolicyViolation(Landroid/os/StrictMode$ViolationInfo;)V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onUnbufferedIO()V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onWriteToDisk()V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->setThreadPolicyMask(I)V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->startHandlingViolationException(Landroid/os/strictmode/Violation;)V
-HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
+HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;-><init>()V
+HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;-><init>(Landroid/os/StrictMode$1;)V
HSPLandroid/os/StrictMode$InstanceTracker;-><init>(Ljava/lang/Object;)V
-HSPLandroid/os/StrictMode$InstanceTracker;->finalize()V
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;-><init>()V
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;-><init>(Landroid/os/StrictMode$ThreadPolicy;)V
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->build()Landroid/os/StrictMode$ThreadPolicy;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectAll()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectResourceMismatches()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->enable(I)Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyDeath()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyDeathOnNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyDropBox()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyLog()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitAll()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;
HSPLandroid/os/StrictMode$ThreadPolicy;-><init>(ILandroid/os/StrictMode$OnThreadViolationListener;Ljava/util/concurrent/Executor;)V
-HSPLandroid/os/StrictMode$ViolationInfo$1;-><init>()V
-HSPLandroid/os/StrictMode$ViolationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/StrictMode$ViolationInfo;
-HSPLandroid/os/StrictMode$ViolationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V
+HSPLandroid/os/StrictMode$ThreadPolicy;-><init>(ILandroid/os/StrictMode$OnThreadViolationListener;Ljava/util/concurrent/Executor;Landroid/os/StrictMode$1;)V
+HSPLandroid/os/StrictMode$ThreadSpanState;-><init>()V
+HSPLandroid/os/StrictMode$ThreadSpanState;-><init>(Landroid/os/StrictMode$1;)V
HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/strictmode/Violation;I)V
-HSPLandroid/os/StrictMode$ViolationInfo;->getStackTrace()Ljava/lang/String;
-HSPLandroid/os/StrictMode$ViolationInfo;->getViolationDetails()Ljava/lang/String;
HSPLandroid/os/StrictMode$ViolationInfo;->hashCode()I
-HSPLandroid/os/StrictMode$ViolationInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/StrictMode$VmPolicy$Builder;-><init>()V
HSPLandroid/os/StrictMode$VmPolicy$Builder;->build()Landroid/os/StrictMode$VmPolicy;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;
HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectAll()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectContentUriWithoutPermission()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectCredentialProtectedWhileLocked()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedClosableObjects()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedRegistrationObjects()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedSqlLiteObjects()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectUntaggedSockets()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->disable(I)Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->enable(I)Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->penaltyDeathOnFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->penaltyDropBox()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->penaltyLog()Landroid/os/StrictMode$VmPolicy$Builder;
+HSPLandroid/os/StrictMode$VmPolicy$Builder;->permitActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;
HSPLandroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;)V
+HSPLandroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;Landroid/os/StrictMode$1;)V
HSPLandroid/os/StrictMode;->access$100()Ljava/util/HashMap;
+HSPLandroid/os/StrictMode;->access$2400()Ljava/lang/ThreadLocal;
HSPLandroid/os/StrictMode;->allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;
HSPLandroid/os/StrictMode;->allowThreadDiskReadsMask()I
HSPLandroid/os/StrictMode;->allowThreadDiskWrites()Landroid/os/StrictMode$ThreadPolicy;
HSPLandroid/os/StrictMode;->allowThreadDiskWritesMask()I
-HSPLandroid/os/StrictMode;->decrementExpectedActivityCount(Ljava/lang/Class;)V
HSPLandroid/os/StrictMode;->dropboxViolationAsync(ILandroid/os/StrictMode$ViolationInfo;)V
HSPLandroid/os/StrictMode;->getThreadPolicy()Landroid/os/StrictMode$ThreadPolicy;
+HSPLandroid/os/StrictMode;->getThreadPolicyMask()I
HSPLandroid/os/StrictMode;->handleApplicationStrictModeViolation(ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V
HSPLandroid/os/StrictMode;->initThreadDefaults(Landroid/content/pm/ApplicationInfo;)V
HSPLandroid/os/StrictMode;->initVmDefaults(Landroid/content/pm/ApplicationInfo;)V
HSPLandroid/os/StrictMode;->isBundledSystemApp(Landroid/content/pm/ApplicationInfo;)Z
HSPLandroid/os/StrictMode;->isUserKeyUnlocked(I)Z
HSPLandroid/os/StrictMode;->lambda$dropboxViolationAsync$2(ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/os/StrictMode;->noteResourceMismatch(Ljava/lang/Object;)V
HSPLandroid/os/StrictMode;->noteSlowCall(Ljava/lang/String;)V
HSPLandroid/os/StrictMode;->onBinderStrictModePolicyChange(I)V
HSPLandroid/os/StrictMode;->onCredentialProtectedPathAccess(Ljava/lang/String;I)V
HSPLandroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;Z)V
HSPLandroid/os/StrictMode;->setBlockGuardPolicy(I)V
+HSPLandroid/os/StrictMode;->setBlockGuardVmPolicy(I)V
+HSPLandroid/os/StrictMode;->setCloseGuardEnabled(Z)V
HSPLandroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
HSPLandroid/os/StrictMode;->setThreadPolicyMask(I)V
HSPLandroid/os/StrictMode;->setVmPolicy(Landroid/os/StrictMode$VmPolicy;)V
-HSPLandroid/os/StrictMode;->trackActivity(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/os/StrictMode;->vmContentUriWithoutPermissionEnabled()Z
-HSPLandroid/os/StrictMode;->vmFileUriExposureEnabled()Z
+HSPLandroid/os/StrictMode;->vmClosableObjectLeaksEnabled()Z
HSPLandroid/os/StrictMode;->vmImplicitDirectBootEnabled()Z
HSPLandroid/os/StrictMode;->vmRegistrationLeaksEnabled()Z
HSPLandroid/os/StrictMode;->vmSqliteObjectLeaksEnabled()Z
-HSPLandroid/os/StrictMode;->vmUntaggedSocketEnabled()Z
-HSPLandroid/os/StrictMode;->writeGatheredViolationsToParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/SynchronousResultReceiver;-><init>(Ljava/lang/String;)V
-HSPLandroid/os/SynchronousResultReceiver;->awaitResult(J)Landroid/os/SynchronousResultReceiver$Result;
-HSPLandroid/os/SynchronousResultReceiver;->getName()Ljava/lang/String;
-HSPLandroid/os/SynchronousResultReceiver;->onReceiveResult(ILandroid/os/Bundle;)V
-HSPLandroid/os/SystemClock$1;->millis()J
-HSPLandroid/os/SystemClock$2;->millis()J
-HSPLandroid/os/SystemClock$3;->millis()J
-HSPLandroid/os/SystemClock;->currentNetworkTimeClock()Ljava/time/Clock;
-HSPLandroid/os/SystemClock;->currentNetworkTimeMillis()J
-HSPLandroid/os/SystemClock;->elapsedRealtimeClock()Ljava/time/Clock;
-HSPLandroid/os/SystemClock;->sleep(J)V
-HSPLandroid/os/SystemClock;->uptimeMillisClock()Ljava/time/Clock;
HSPLandroid/os/SystemProperties;->addChangeCallback(Ljava/lang/Runnable;)V
-HSPLandroid/os/SystemProperties;->callChangeCallbacks()V
-HSPLandroid/os/SystemProperties;->digestOf([Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/os/SystemProperties;->callChangeCallbacks()V
HSPLandroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z
HSPLandroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
HSPLandroid/os/SystemProperties;->getLong(Ljava/lang/String;J)J
+HSPLandroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/SystemService$1;-><init>()V
-HSPLandroid/os/SystemService$State;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/os/SystemService;->getState(Ljava/lang/String;)Landroid/os/SystemService$State;
-HSPLandroid/os/SystemService;->isRunning(Ljava/lang/String;)Z
-HSPLandroid/os/SystemUpdateManager;-><init>(Landroid/os/ISystemUpdateManager;)V
-HPLandroid/os/SystemVibrator;-><init>()V
HSPLandroid/os/SystemVibrator;-><init>(Landroid/content/Context;)V
-HSPLandroid/os/SystemVibrator;->cancel()V
HSPLandroid/os/SystemVibrator;->hasVibrator()Z
-HSPLandroid/os/SystemVibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Ljava/lang/String;Landroid/media/AudioAttributes;)V
-HSPLandroid/os/Temperature$1;-><init>()V
+HSPLandroid/os/ThreadLocalWorkSource;->lambda$static$0()Ljava/lang/Integer;
HSPLandroid/os/ThreadLocalWorkSource;->restore(J)V
HSPLandroid/os/ThreadLocalWorkSource;->setUid(I)J
-HSPLandroid/os/TokenWatcher;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
HSPLandroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V
HSPLandroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V
HSPLandroid/os/Trace;->beginSection(Ljava/lang/String;)V
+HSPLandroid/os/Trace;->cacheEnabledTags()J
HSPLandroid/os/Trace;->endSection()V
+HSPLandroid/os/Trace;->isEnabled()Z
HSPLandroid/os/Trace;->isTagEnabled(J)Z
HSPLandroid/os/Trace;->setAppTracingAllowed(Z)V
HSPLandroid/os/Trace;->setTracingEnabled(ZI)V
HSPLandroid/os/Trace;->traceBegin(JLjava/lang/String;)V
-HSPLandroid/os/Trace;->traceCounter(JLjava/lang/String;I)V
HSPLandroid/os/Trace;->traceEnd(J)V
-HPLandroid/os/TransactionTooLargeException;-><init>(Ljava/lang/String;)V
-HSPLandroid/os/UEventObserver$UEventThread;->addObserver(Ljava/lang/String;Landroid/os/UEventObserver;)V
-HSPLandroid/os/UEventObserver$UEventThread;->removeObserver(Landroid/os/UEventObserver;)V
-HSPLandroid/os/UEventObserver$UEventThread;->run()V
-HSPLandroid/os/UEventObserver;->finalize()V
-HSPLandroid/os/UEventObserver;->getThread()Landroid/os/UEventObserver$UEventThread;
-HSPLandroid/os/UEventObserver;->peekThread()Landroid/os/UEventObserver$UEventThread;
-HSPLandroid/os/UEventObserver;->startObserving(Ljava/lang/String;)V
-HSPLandroid/os/UpdateLock;-><init>(Ljava/lang/String;)V
-HSPLandroid/os/UpdateLock;->isHeld()Z
-HSPLandroid/os/UserHandle$1;-><init>()V
HSPLandroid/os/UserHandle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/UserHandle;
HSPLandroid/os/UserHandle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/UserHandle;-><init>(I)V
-HPLandroid/os/UserHandle;->describeContents()I
HSPLandroid/os/UserHandle;->equals(Ljava/lang/Object;)Z
-HSPLandroid/os/UserHandle;->formatUid(Ljava/io/PrintWriter;I)V
-HSPLandroid/os/UserHandle;->formatUid(Ljava/lang/StringBuilder;I)V
HSPLandroid/os/UserHandle;->getAppId(I)I
HSPLandroid/os/UserHandle;->getCacheAppGid(I)I
-HSPLandroid/os/UserHandle;->getCallingAppId()I
+HSPLandroid/os/UserHandle;->getCacheAppGid(II)I
HSPLandroid/os/UserHandle;->getCallingUserId()I
HSPLandroid/os/UserHandle;->getIdentifier()I
-HSPLandroid/os/UserHandle;->getSharedAppGid(I)I
HSPLandroid/os/UserHandle;->getUid(II)I
-HSPLandroid/os/UserHandle;->getUserGid(I)I
HSPLandroid/os/UserHandle;->getUserHandleForUid(I)Landroid/os/UserHandle;
HSPLandroid/os/UserHandle;->getUserId(I)I
HSPLandroid/os/UserHandle;->hashCode()I
-HSPLandroid/os/UserHandle;->isApp(I)Z
-HSPLandroid/os/UserHandle;->isIsolated(I)Z
-HSPLandroid/os/UserHandle;->isOwner()Z
HSPLandroid/os/UserHandle;->isSameApp(II)Z
-HSPLandroid/os/UserHandle;->isSystem()Z
HSPLandroid/os/UserHandle;->myUserId()I
HSPLandroid/os/UserHandle;->of(I)Landroid/os/UserHandle;
HSPLandroid/os/UserHandle;->readFromParcel(Landroid/os/Parcel;)Landroid/os/UserHandle;
HSPLandroid/os/UserHandle;->toString()Ljava/lang/String;
HSPLandroid/os/UserHandle;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/UserHandle;->writeToParcel(Landroid/os/UserHandle;Landroid/os/Parcel;)V
-HSPLandroid/os/UserManager$EnforcingUser$1;-><init>()V
HSPLandroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
-HPLandroid/os/UserManager;->canAddMoreManagedProfiles(IZ)Z
HSPLandroid/os/UserManager;->get(Landroid/content/Context;)Landroid/os/UserManager;
HSPLandroid/os/UserManager;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/os/UserManager;->getCredentialOwnerProfile(I)I
-HSPLandroid/os/UserManager;->getEnabledProfileIds(I)[I
-HSPLandroid/os/UserManager;->getEnabledProfiles(I)Ljava/util/List;
HSPLandroid/os/UserManager;->getMaxSupportedUsers()I
-HSPLandroid/os/UserManager;->getPrimaryUser()Landroid/content/pm/UserInfo;
HSPLandroid/os/UserManager;->getProfileIds(IZ)[I
HSPLandroid/os/UserManager;->getProfileIdsWithDisabled(I)[I
HSPLandroid/os/UserManager;->getProfileParent(I)Landroid/content/pm/UserInfo;
@@ -12359,373 +5737,128 @@ HSPLandroid/os/UserManager;->getUserHandle()I
HSPLandroid/os/UserManager;->getUserHandle(I)I
HSPLandroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
HSPLandroid/os/UserManager;->getUserProfiles()Ljava/util/List;
-HSPLandroid/os/UserManager;->getUserRestrictionSources(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/os/UserManager;->getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle;
HSPLandroid/os/UserManager;->getUserSerialNumber(I)I
HSPLandroid/os/UserManager;->getUsers()Ljava/util/List;
HSPLandroid/os/UserManager;->getUsers(Z)Ljava/util/List;
-HSPLandroid/os/UserManager;->hasBaseUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/os/UserManager;->getUsers(ZZZ)Ljava/util/List;
+HSPLandroid/os/UserManager;->hasBadge(I)Z
HSPLandroid/os/UserManager;->hasUserRestriction(Ljava/lang/String;)Z
HSPLandroid/os/UserManager;->hasUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/os/UserManager;->hasUserRestrictionForUser(Ljava/lang/String;Landroid/os/UserHandle;)Z
HSPLandroid/os/UserManager;->isAdminUser()Z
HSPLandroid/os/UserManager;->isDemoUser()Z
-HSPLandroid/os/UserManager;->isDeviceInDemoMode(Landroid/content/Context;)Z
HSPLandroid/os/UserManager;->isManagedProfile()Z
HSPLandroid/os/UserManager;->isManagedProfile(I)Z
-HSPLandroid/os/UserManager;->isPrimaryUser()Z
-HSPLandroid/os/UserManager;->isQuietModeEnabled(Landroid/os/UserHandle;)Z
-HSPLandroid/os/UserManager;->isSameProfileGroup(II)Z
-HSPLandroid/os/UserManager;->isSplitSystemUser()Z
+HSPLandroid/os/UserManager;->isProfile()Z
+HSPLandroid/os/UserManager;->isProfile(I)Z
HSPLandroid/os/UserManager;->isSystemUser()Z
HSPLandroid/os/UserManager;->isUserAdmin(I)Z
HSPLandroid/os/UserManager;->isUserRunning(I)Z
HSPLandroid/os/UserManager;->isUserRunning(Landroid/os/UserHandle;)Z
-HSPLandroid/os/UserManager;->isUserSwitcherEnabled()Z
+HSPLandroid/os/UserManager;->isUserTypeGuest(Ljava/lang/String;)Z
+HSPLandroid/os/UserManager;->isUserTypeManagedProfile(Ljava/lang/String;)Z
HSPLandroid/os/UserManager;->isUserUnlocked()Z
HSPLandroid/os/UserManager;->isUserUnlocked(I)Z
HSPLandroid/os/UserManager;->isUserUnlocked(Landroid/os/UserHandle;)Z
HSPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(I)Z
-HPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(Landroid/os/UserHandle;)Z
HSPLandroid/os/UserManager;->supportsMultipleUsers()Z
-HSPLandroid/os/VibrationEffect$1;-><init>()V
-HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/VibrationEffect;
-HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/VibrationEffect$OneShot$1;-><init>()V
-HPLandroid/os/VibrationEffect$OneShot;->getAmplitude()I
-HPLandroid/os/VibrationEffect$OneShot;->getDuration()J
-HPLandroid/os/VibrationEffect$OneShot;->resolve(I)Landroid/os/VibrationEffect$OneShot;
-HPLandroid/os/VibrationEffect$OneShot;->scale(FI)Landroid/os/VibrationEffect$OneShot;
HSPLandroid/os/VibrationEffect$OneShot;->validate()V
-HSPLandroid/os/VibrationEffect$Prebaked$1;-><init>()V
-HPLandroid/os/VibrationEffect$Prebaked;->getDuration()J
-HPLandroid/os/VibrationEffect$Prebaked;->getEffectStrength()I
-HPLandroid/os/VibrationEffect$Prebaked;->getId()I
-HPLandroid/os/VibrationEffect$Prebaked;->setEffectStrength(I)V
-HPLandroid/os/VibrationEffect$Prebaked;->shouldFallback()Z
-HSPLandroid/os/VibrationEffect$Prebaked;->validate()V
-HSPLandroid/os/VibrationEffect$Waveform$1;-><init>()V
-HPLandroid/os/VibrationEffect$Waveform;->getAmplitudes()[I
-HPLandroid/os/VibrationEffect$Waveform;->getDuration()J
-HPLandroid/os/VibrationEffect$Waveform;->getRepeatIndex()I
-HPLandroid/os/VibrationEffect$Waveform;->getTimings()[J
-HPLandroid/os/VibrationEffect$Waveform;->resolve(I)Landroid/os/VibrationEffect$Waveform;
-HPLandroid/os/VibrationEffect$Waveform;->scale(FI)Landroid/os/VibrationEffect$Waveform;
-HSPLandroid/os/VibrationEffect$Waveform;->validate()V
HSPLandroid/os/VibrationEffect;->createOneShot(JI)Landroid/os/VibrationEffect;
-HSPLandroid/os/VibrationEffect;->createWaveform([JI)Landroid/os/VibrationEffect;
-HSPLandroid/os/VibrationEffect;->createWaveform([J[II)Landroid/os/VibrationEffect;
-HSPLandroid/os/VibrationEffect;->get(I)Landroid/os/VibrationEffect;
-HSPLandroid/os/VibrationEffect;->get(IZ)Landroid/os/VibrationEffect;
-HSPLandroid/os/Vibrator;->getDefaultHapticFeedbackIntensity()I
-HSPLandroid/os/Vibrator;->getDefaultNotificationVibrationIntensity()I
-HSPLandroid/os/Vibrator;->getDefaultRingVibrationIntensity()I
-HSPLandroid/os/Vibrator;->vibrate(Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
-HSPLandroid/os/WorkSource$1;-><init>()V
-HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource;
-HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/WorkSource$WorkChain$1;-><init>()V
-HPLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource$WorkChain;
-HPLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/WorkSource$WorkChain;->equals(Ljava/lang/Object;)Z
-HPLandroid/os/WorkSource$WorkChain;->getAttributionUid()I
-HPLandroid/os/WorkSource$WorkChain;->getTags()[Ljava/lang/String;
-HPLandroid/os/WorkSource$WorkChain;->getUids()[I
-HSPLandroid/os/WorkSource;-><init>(I)V
+HSPLandroid/os/Vibrator;->loadDefaultIntensity(Landroid/content/Context;I)I
+HSPLandroid/os/Vibrator;->loadVibrationIntensities(Landroid/content/Context;)V
+HPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource;
+HPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/WorkSource;-><init>()V
HSPLandroid/os/WorkSource;-><init>(ILjava/lang/String;)V
-HSPLandroid/os/WorkSource;-><init>(Landroid/os/Parcel;)V
+HPLandroid/os/WorkSource;-><init>(Landroid/os/Parcel;)V
HSPLandroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
-HPLandroid/os/WorkSource;->add(I)Z
-HSPLandroid/os/WorkSource;->add(ILjava/lang/String;)Z
HSPLandroid/os/WorkSource;->add(Landroid/os/WorkSource;)Z
-HSPLandroid/os/WorkSource;->clearNames()V
-HSPLandroid/os/WorkSource;->diff(Landroid/os/WorkSource;)Z
-HSPLandroid/os/WorkSource;->diffChains(Landroid/os/WorkSource;Landroid/os/WorkSource;)[Ljava/util/ArrayList;
-HSPLandroid/os/WorkSource;->equals(Ljava/lang/Object;)Z
-HSPLandroid/os/WorkSource;->get(I)I
-HSPLandroid/os/WorkSource;->getAttributionUid()I
-HSPLandroid/os/WorkSource;->getName(I)Ljava/lang/String;
-HSPLandroid/os/WorkSource;->getWorkChains()Ljava/util/ArrayList;
-HPLandroid/os/WorkSource;->insert(II)V
+HSPLandroid/os/WorkSource;->getPackageName(I)Ljava/lang/String;
+HSPLandroid/os/WorkSource;->getUid(I)I
HSPLandroid/os/WorkSource;->insert(IILjava/lang/String;)V
-HSPLandroid/os/WorkSource;->isChainedBatteryAttributionEnabled(Landroid/content/Context;)Z
HSPLandroid/os/WorkSource;->isEmpty()Z
-HSPLandroid/os/WorkSource;->remove(Landroid/os/WorkSource;)Z
-HSPLandroid/os/WorkSource;->removeUidsAndNames(Landroid/os/WorkSource;)Z
-HPLandroid/os/WorkSource;->set(I)V
-HSPLandroid/os/WorkSource;->set(Landroid/os/WorkSource;)V
-HSPLandroid/os/WorkSource;->setReturningDiffs(Landroid/os/WorkSource;)[Landroid/os/WorkSource;
HSPLandroid/os/WorkSource;->size()I
-HSPLandroid/os/WorkSource;->toString()Ljava/lang/String;
HSPLandroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z
HSPLandroid/os/WorkSource;->updateUidsAndNamesLocked(Landroid/os/WorkSource;ZZ)Z
-HSPLandroid/os/WorkSource;->updateUidsLocked(Landroid/os/WorkSource;ZZ)Z
HSPLandroid/os/WorkSource;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/ZygoteProcess$ZygoteState;->close()V
-HSPLandroid/os/ZygoteProcess$ZygoteState;->connect(Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
-HSPLandroid/os/ZygoteProcess$ZygoteState;->isClosed()Z
-HSPLandroid/os/ZygoteProcess$ZygoteState;->matches(Ljava/lang/String;)Z
-HSPLandroid/os/ZygoteProcess;-><init>()V
-HSPLandroid/os/ZygoteProcess;-><init>(Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)V
-HSPLandroid/os/ZygoteProcess;->attemptZygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-HSPLandroid/os/ZygoteProcess;->establishZygoteConnectionForAbi(Ljava/lang/String;)V
-HSPLandroid/os/ZygoteProcess;->fetchUsapPoolEnabledProp()Z
-HSPLandroid/os/ZygoteProcess;->fetchUsapPoolEnabledPropWithMinInterval()Z
-HSPLandroid/os/ZygoteProcess;->getAbiList(Ljava/io/BufferedWriter;Ljava/io/DataInputStream;)Ljava/util/List;
-HSPLandroid/os/ZygoteProcess;->getPrimarySocketAddress()Landroid/net/LocalSocketAddress;
-HSPLandroid/os/ZygoteProcess;->maybeSetApiBlacklistExemptions(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
-HSPLandroid/os/ZygoteProcess;->maybeSetHiddenApiAccessLogSampleRate(Landroid/os/ZygoteProcess$ZygoteState;)V
-HSPLandroid/os/ZygoteProcess;->maybeSetHiddenApiAccessStatslogSampleRate(Landroid/os/ZygoteProcess$ZygoteState;)V
-HSPLandroid/os/ZygoteProcess;->openZygoteSocketIfNeeded(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
-HSPLandroid/os/ZygoteProcess;->preloadApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Z
-HSPLandroid/os/ZygoteProcess;->preloadDefault(Ljava/lang/String;)Z
-HSPLandroid/os/ZygoteProcess;->setApiBlacklistExemptions(Ljava/util/List;)Z
-HSPLandroid/os/ZygoteProcess;->setHiddenApiAccessLogSampleRate(I)V
-HSPLandroid/os/ZygoteProcess;->setHiddenApiAccessStatslogSampleRate(I)V
-HSPLandroid/os/ZygoteProcess;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-HSPLandroid/os/ZygoteProcess;->startChildZygote(Ljava/lang/String;Ljava/lang/String;II[IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)Landroid/os/ChildZygoteProcess;
-HSPLandroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-HSPLandroid/os/ZygoteProcess;->waitForConnectionToZygote(Landroid/net/LocalSocketAddress;)V
-HSPLandroid/os/ZygoteProcess;->waitForConnectionToZygote(Ljava/lang/String;)V
-HSPLandroid/os/ZygoteProcess;->zygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;ZLjava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
-PLandroid/os/connectivity/CellularBatteryStats$1;-><init>()V
-PLandroid/os/connectivity/CellularBatteryStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/connectivity/CellularBatteryStats;
-PLandroid/os/connectivity/CellularBatteryStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/os/connectivity/CellularBatteryStats;-><init>()V
-HPLandroid/os/connectivity/CellularBatteryStats;->initialize()V
-PLandroid/os/connectivity/CellularBatteryStats;->readFromParcel(Landroid/os/Parcel;)V
-PLandroid/os/connectivity/CellularBatteryStats;->setTimeInRatMs([J)V
-PLandroid/os/connectivity/CellularBatteryStats;->setTimeInRxSignalStrengthLevelMs([J)V
-PLandroid/os/connectivity/CellularBatteryStats;->setTxTimeMs([J)V
-HPLandroid/os/connectivity/CellularBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/os/connectivity/GpsBatteryStats$1;-><init>()V
-PLandroid/os/connectivity/GpsBatteryStats;-><init>()V
-PLandroid/os/connectivity/GpsBatteryStats;->setTimeInGpsSignalQualityLevel([J)V
-HPLandroid/os/connectivity/GpsBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/os/connectivity/WifiBatteryStats$1;-><init>()V
-PLandroid/os/connectivity/WifiBatteryStats;-><init>()V
-HPLandroid/os/connectivity/WifiBatteryStats;->initialize()V
-HPLandroid/os/connectivity/WifiBatteryStats;->setTimeInRxSignalStrengthLevelMs([J)V
-HPLandroid/os/connectivity/WifiBatteryStats;->setTimeInStateMs([J)V
-HPLandroid/os/connectivity/WifiBatteryStats;->setTimeInSupplicantStateMs([J)V
-HPLandroid/os/connectivity/WifiBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/os/health/HealthKeys$Constants;-><init>(Ljava/lang/Class;)V
-PLandroid/os/health/HealthKeys$Constants;->getDataType()Ljava/lang/String;
-HPLandroid/os/health/HealthKeys$Constants;->getIndex(II)I
-PLandroid/os/health/HealthKeys$Constants;->getKeys(I)[I
-PLandroid/os/health/HealthKeys$Constants;->getSize(I)I
-PLandroid/os/health/HealthKeys$SortedIntArray;->addValue(I)V
-PLandroid/os/health/HealthKeys$SortedIntArray;->getArray()[I
-HSPLandroid/os/health/HealthStats;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/health/HealthStats;->getMeasurement(I)J
-HSPLandroid/os/health/HealthStats;->getStats(I)Ljava/util/Map;
-HSPLandroid/os/health/HealthStats;->getTimer(I)Landroid/os/health/TimerStat;
-HSPLandroid/os/health/HealthStats;->getTimers(I)Ljava/util/Map;
-HSPLandroid/os/health/HealthStats;->hasMeasurement(I)Z
-HSPLandroid/os/health/HealthStats;->hasMeasurements(I)Z
-HSPLandroid/os/health/HealthStats;->hasStats(I)Z
-HSPLandroid/os/health/HealthStats;->hasTimer(I)Z
-HSPLandroid/os/health/HealthStats;->hasTimers(I)Z
-HSPLandroid/os/health/HealthStatsParceler$1;-><init>()V
-HSPLandroid/os/health/HealthStatsParceler$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/health/HealthStatsParceler;
-HSPLandroid/os/health/HealthStatsParceler$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/health/HealthStatsParceler;->getHealthStats()Landroid/os/health/HealthStats;
-HPLandroid/os/health/HealthStatsParceler;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/os/health/HealthStatsWriter;-><init>(Landroid/os/health/HealthKeys$Constants;)V
-HPLandroid/os/health/HealthStatsWriter;->addMeasurement(IJ)V
-HPLandroid/os/health/HealthStatsWriter;->addMeasurements(ILjava/lang/String;J)V
-HPLandroid/os/health/HealthStatsWriter;->addStats(ILjava/lang/String;Landroid/os/health/HealthStatsWriter;)V
-HPLandroid/os/health/HealthStatsWriter;->addTimer(IIJ)V
-HPLandroid/os/health/HealthStatsWriter;->addTimers(ILjava/lang/String;Landroid/os/health/TimerStat;)V
-HPLandroid/os/health/HealthStatsWriter;->flattenToParcel(Landroid/os/Parcel;)V
-HPLandroid/os/health/HealthStatsWriter;->writeLongsMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-HPLandroid/os/health/HealthStatsWriter;->writeParcelableMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
-HSPLandroid/os/health/SystemHealthManager;->takeMyUidSnapshot()Landroid/os/health/HealthStats;
-HSPLandroid/os/health/SystemHealthManager;->takeUidSnapshot(I)Landroid/os/health/HealthStats;
-HSPLandroid/os/health/TimerStat$1;-><init>()V
-HSPLandroid/os/health/TimerStat$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/health/TimerStat;
-HSPLandroid/os/health/TimerStat$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/health/TimerStat;-><init>(IJ)V
-HPLandroid/os/health/TimerStat;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/image/IDynamicSystemService$Stub;-><init>()V
-HPLandroid/os/image/IDynamicSystemService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+HSPLandroid/os/storage/IObbActionListener$Stub;-><init>()V
HSPLandroid/os/storage/IStorageEventListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->isUserKeyUnlocked(I)Z
-HSPLandroid/os/storage/IStorageManager$Stub;-><init>()V
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->registerListener(Landroid/os/storage/IStorageEventListener;)V
HSPLandroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
-HPLandroid/os/storage/IStorageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/os/storage/IStorageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->handleMessage(Landroid/os/Message;)Z
-HSPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+HSPLandroid/os/storage/StorageEventListener;-><init>()V
+HSPLandroid/os/storage/StorageManager$ObbActionListener;-><init>(Landroid/os/storage/StorageManager;)V
+HSPLandroid/os/storage/StorageManager$ObbActionListener;-><init>(Landroid/os/storage/StorageManager;Landroid/os/storage/StorageManager$1;)V
HSPLandroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;JI)V
-HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/util/UUID;JI)V
-HSPLandroid/os/storage/StorageManager;->checkPermissionAndAppOp(ZIILjava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/os/storage/StorageManager;->checkPermissionReadImages(ZIILjava/lang/String;)Z
HSPLandroid/os/storage/StorageManager;->convert(Ljava/lang/String;)Ljava/util/UUID;
HSPLandroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String;
-HSPLandroid/os/storage/StorageManager;->findEmulatedForPrivate(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/StorageManager;->findPathForUuid(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/storage/StorageManager;->findPrivateForEmulated(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/StorageManager;->findVolumeById(Ljava/lang/String;)Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/StorageManager;->findVolumeByQualifiedUuid(Ljava/lang/String;)Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/StorageManager;->from(Landroid/content/Context;)Landroid/os/storage/StorageManager;
-HSPLandroid/os/storage/StorageManager;->getAllocatableBytes(Ljava/util/UUID;I)J
-HSPLandroid/os/storage/StorageManager;->getBestVolumeDescription(Landroid/os/storage/VolumeInfo;)Ljava/lang/String;
-HPLandroid/os/storage/StorageManager;->getPrimaryStorageSize()J
-HPLandroid/os/storage/StorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
-HSPLandroid/os/storage/StorageManager;->getPrimaryVolume()Landroid/os/storage/StorageVolume;
-HSPLandroid/os/storage/StorageManager;->getStorageCacheBytes(Ljava/io/File;I)J
-HSPLandroid/os/storage/StorageManager;->getStorageFullBytes(Ljava/io/File;)J
-HSPLandroid/os/storage/StorageManager;->getStorageLowBytes(Ljava/io/File;)J
+HSPLandroid/os/storage/StorageManager;->getStorageVolume(Ljava/io/File;I)Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/StorageManager;->getStorageVolume([Landroid/os/storage/StorageVolume;Ljava/io/File;)Landroid/os/storage/StorageVolume;
-HSPLandroid/os/storage/StorageManager;->getStorageVolumes()Ljava/util/List;
HSPLandroid/os/storage/StorageManager;->getUuidForPath(Ljava/io/File;)Ljava/util/UUID;
HSPLandroid/os/storage/StorageManager;->getVolumeList()[Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/StorageManager;->getVolumeList(II)[Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/StorageManager;->getVolumes()Ljava/util/List;
-HSPLandroid/os/storage/StorageManager;->getWritablePrivateVolumes()Ljava/util/List;
-HSPLandroid/os/storage/StorageManager;->hasAdoptable()Z
-HSPLandroid/os/storage/StorageManager;->hasIsolatedStorage()Z
-HSPLandroid/os/storage/StorageManager;->inCryptKeeperBounce()Z
-HSPLandroid/os/storage/StorageManager;->isBlockEncrypted()Z
-HSPLandroid/os/storage/StorageManager;->isFileEncryptedEmulatedOnly()Z
-HSPLandroid/os/storage/StorageManager;->isFileEncryptedNativeOnly()Z
-HSPLandroid/os/storage/StorageManager;->isFileEncryptedNativeOrEmulated()Z
-HSPLandroid/os/storage/StorageManager;->isUserKeyUnlocked(I)Z
-HSPLandroid/os/storage/StorageManager;->prepareUserStorage(Ljava/lang/String;III)V
HSPLandroid/os/storage/StorageManager;->registerListener(Landroid/os/storage/StorageEventListener;)V
-HSPLandroid/os/storage/StorageVolume$1;-><init>()V
HSPLandroid/os/storage/StorageVolume$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/StorageVolume$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/storage/StorageVolume$1;->newArray(I)[Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/StorageVolume$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/os/storage/StorageVolume;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/storage/StorageVolume;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;ZZZZJLandroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/StorageVolume;->describeContents()I
-HSPLandroid/os/storage/StorageVolume;->getPath()Ljava/lang/String;
-HSPLandroid/os/storage/StorageVolume;->getState()Ljava/lang/String;
-HSPLandroid/os/storage/StorageVolume;->getUuid()Ljava/lang/String;
-HSPLandroid/os/storage/StorageVolume;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/storage/VolumeInfo$1;-><init>()V
-HSPLandroid/os/storage/VolumeInfo$2;-><init>()V
+HSPLandroid/os/storage/StorageVolume;-><init>(Landroid/os/Parcel;Landroid/os/storage/StorageVolume$1;)V
+HSPLandroid/os/storage/StorageVolume;->getPathFile()Ljava/io/File;
+HSPLandroid/os/storage/StorageVolume;->isPrimary()Z
+HSPLandroid/os/storage/StorageVolume;->isRemovable()Z
HSPLandroid/os/storage/VolumeInfo$2;->createFromParcel(Landroid/os/Parcel;)Landroid/os/storage/VolumeInfo;
HSPLandroid/os/storage/VolumeInfo$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/storage/VolumeInfo$2;->newArray(I)[Landroid/os/storage/VolumeInfo;
HSPLandroid/os/storage/VolumeInfo$2;->newArray(I)[Ljava/lang/Object;
HSPLandroid/os/storage/VolumeInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/storage/VolumeInfo;-><init>(Ljava/lang/String;ILandroid/os/storage/DiskInfo;Ljava/lang/String;)V
-HSPLandroid/os/storage/VolumeInfo;->buildStorageVolume(Landroid/content/Context;IZ)Landroid/os/storage/StorageVolume;
-HSPLandroid/os/storage/VolumeInfo;->clone()Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/VolumeInfo;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLandroid/os/storage/VolumeInfo;->getBroadcastForEnvironment(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->getDescription()Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->getDiskId()Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->getEnvironmentForState(I)Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->getFsUuid()Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->getId()Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->getInternalPathForUser(I)Ljava/io/File;
-HSPLandroid/os/storage/VolumeInfo;->getPath()Ljava/io/File;
HSPLandroid/os/storage/VolumeInfo;->getPathForUser(I)Ljava/io/File;
-HSPLandroid/os/storage/VolumeInfo;->getState()I
HSPLandroid/os/storage/VolumeInfo;->getType()I
-HSPLandroid/os/storage/VolumeInfo;->isMountedReadable()Z
-HSPLandroid/os/storage/VolumeInfo;->isMountedWritable()Z
HSPLandroid/os/storage/VolumeInfo;->isPrimary()Z
HSPLandroid/os/storage/VolumeInfo;->isVisible()Z
-HSPLandroid/os/storage/VolumeInfo;->isVisibleForRead(I)Z
HSPLandroid/os/storage/VolumeInfo;->isVisibleForUser(I)Z
-HSPLandroid/os/storage/VolumeInfo;->isVisibleForWrite(I)Z
-HSPLandroid/os/storage/VolumeInfo;->toString()Ljava/lang/String;
-HSPLandroid/os/storage/VolumeInfo;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/permission/-$$Lambda$PermissionControllerManager$PendingGetRuntimePermissionBackup$TnLX6gxZCMF3D0czwj_XwNhPIgE;->run()V
-HSPLandroid/permission/-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss;-><init>()V
-HPLandroid/permission/IPermissionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/permission/IPermissionController$Stub$Proxy;->getRuntimePermissionBackup(Landroid/os/UserHandle;Landroid/os/ParcelFileDescriptor;)V
-PLandroid/permission/PermissionControllerManager$FileReaderTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
-PLandroid/permission/PermissionControllerManager$FileReaderTask;->doInBackground([Ljava/lang/Void;)[B
-PLandroid/permission/PermissionControllerManager$FileReaderTask;->getRemotePipe()Landroid/os/ParcelFileDescriptor;
-PLandroid/permission/PermissionControllerManager$FileReaderTask;->onPostExecute(Ljava/lang/Object;)V
-PLandroid/permission/PermissionControllerManager$FileReaderTask;->onPostExecute([B)V
-PLandroid/permission/PermissionControllerManager$FileReaderTask;->onPreExecute()V
-PLandroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;->accept(Ljava/lang/Object;)V
-PLandroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;->accept([B)V
-PLandroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;->run()V
-HSPLandroid/permission/PermissionControllerManager$RemoteService;->getRemoteRequestMillis()J
-HSPLandroid/permission/PermissionControllerManager$RemoteService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-HSPLandroid/permission/PermissionControllerManager$RemoteService;->getTimeoutIdleBindMillis()J
-HSPLandroid/permission/PermissionControllerManager;-><init>(Landroid/content/Context;)V
-HPLandroid/permission/PermissionControllerManager;->getRuntimePermissionBackup(Landroid/os/UserHandle;Ljava/util/concurrent/Executor;Landroid/permission/PermissionControllerManager$OnGetRuntimePermissionBackupCallback;)V
-HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getNewPermissions()Ljava/util/List;
-HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getSplitPermission()Ljava/lang/String;
-HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getTargetSdk()I
-HSPLandroid/permission/PermissionManager;->getSplitPermissions()Ljava/util/List;
+HSPLandroid/os/strictmode/Violation;-><init>(Ljava/lang/String;)V
+HSPLandroid/permission/IPermissionManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/permission/IPermissionManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+HSPLandroid/permission/IPermissionManager$Stub$Proxy;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+HSPLandroid/permission/IPermissionManager$Stub$Proxy;->getSplitPermissions()Ljava/util/List;
+HSPLandroid/permission/IPermissionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/permission/IPermissionManager;
HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
+HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferencesMode()I
+HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferencesName(Landroid/content/Context;)Ljava/lang/String;
HSPLandroid/preference/PreferenceManager;->setDefaultValues(Landroid/content/Context;IZ)V
HSPLandroid/preference/PreferenceManager;->setDefaultValues(Landroid/content/Context;Ljava/lang/String;IIZ)V
-HSPLandroid/print/IPrintManager$Stub;-><init>()V
-PLandroid/print/IPrintSpooler$Stub$Proxy;->pruneApprovedPrintServices(Ljava/util/List;)V
-PLandroid/print/IPrintSpooler$Stub$Proxy;->removeObsoletePrintJobs()V
-PLandroid/print/IPrintSpooler$Stub$Proxy;->setClient(Landroid/print/IPrintSpoolerClient;)V
-PLandroid/print/IPrintSpooler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintSpooler;
-HSPLandroid/print/IPrintSpoolerCallbacks$Stub;-><init>()V
-HSPLandroid/print/IPrintSpoolerClient$Stub;-><init>()V
-PLandroid/print/IPrintSpoolerClient$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/print/IPrintSpoolerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/printservice/IPrintServiceClient$Stub;-><init>()V
-HSPLandroid/printservice/PrintServiceInfo$1;-><init>()V
-HSPLandroid/printservice/PrintServiceInfo;->create(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)Landroid/printservice/PrintServiceInfo;
-HSPLandroid/printservice/PrintServiceInfo;->hashCode()I
-HPLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;-><init>(Ljava/lang/String;DDD)V
-PLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;->getEncoderId()Ljava/lang/String;
-PLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;->getIRRConfig()Landroid/privacy/internal/rappor/RapporConfig;
-PLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;->getProbabilityP()D
-PLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;->getProbabilityQ()D
-HPLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;-><init>(Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;Z[B)V
-PLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;->createEncoder(Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;[B)Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;
-PLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;->encodeBoolean(Z)[B
-HPLandroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;->getLongTermRandomizedResult(DZ[BLjava/lang/String;)Z
-HPLandroid/privacy/internal/rappor/RapporConfig;-><init>(Ljava/lang/String;IDDDII)V
-HPLandroid/privacy/internal/rappor/RapporEncoder;-><init>(Landroid/privacy/internal/rappor/RapporConfig;Z[B)V
-PLandroid/privacy/internal/rappor/RapporEncoder;->encodeBoolean(Z)[B
-HSPLandroid/provider/-$$Lambda$FontsContract$3FDNQd-WsglsyDhif-aHVbzkfrA;-><init>()V
HSPLandroid/provider/-$$Lambda$FontsContract$rqfIZKvP1frnI9vP1hVA8jQN_RE;->run()V
-HSPLandroid/provider/BlockedNumberContract$SystemContract;->shouldShowEmergencyCallNotification(Landroid/content/Context;)Z
-PLandroid/provider/BlockedNumberContract$SystemContract;->shouldSystemBlockNumber(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)I
-HPLandroid/provider/CallLog$Calls;->addCall(Lcom/android/internal/telephony/CallerInfo;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILandroid/telecom/PhoneAccountHandle;JILjava/lang/Long;ZLandroid/os/UserHandle;ZILjava/lang/CharSequence;Ljava/lang/String;Landroid/telecom/CallIdentification;)Landroid/net/Uri;
-HPLandroid/provider/CallLog$Calls;->addEntryAndRemoveExpiredEntries(Landroid/content/Context;Landroid/os/UserManager;Landroid/os/UserHandle;Landroid/content/ContentValues;)Landroid/net/Uri;
-HPLandroid/provider/CallLog$Calls;->charSequenceToString(Ljava/lang/CharSequence;)Ljava/lang/String;
-HPLandroid/provider/CallLog$Calls;->getLogAccountAddress(Landroid/content/Context;Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;
-HPLandroid/provider/CallLog$Calls;->getLogNumberPresentation(Ljava/lang/String;I)I
-HSPLandroid/provider/CallLog$Calls;->shouldHaveSharedCallLogEntries(Landroid/content/Context;Landroid/os/UserManager;I)Z
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/provider/-$$Lambda$Settings$NameValueCache$cLX_nUBDGp9SYpFxrABk-2ceeMI;-><init>(Landroid/provider/Settings$NameValueCache;)V
+HSPLandroid/provider/CalendarContract;-><clinit>()V
HSPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getTypeLabelResource(I)I
-HSPLandroid/provider/ContactsContract$Contacts;->getLookupUri(JLjava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/ContactsContract$Contacts;->isEnterpriseContactId(J)Z
-HPLandroid/provider/DeviceConfig$1;->onChange(ZLandroid/net/Uri;)V
-PLandroid/provider/DeviceConfig$3;->run()V
-HSPLandroid/provider/DeviceConfig;->addOnPropertyChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertyChangedListener;)V
-HSPLandroid/provider/DeviceConfig;->decrementNamespace(Ljava/lang/String;)V
+HSPLandroid/provider/ContactsContract$DisplayPhoto;-><clinit>()V
+PLandroid/provider/ContactsContract$Profile;-><clinit>()V
+HSPLandroid/provider/ContactsContract$RawContacts;-><clinit>()V
+HSPLandroid/provider/DeviceConfig$1;-><init>(Landroid/os/Handler;)V
+HSPLandroid/provider/DeviceConfig$Properties;-><init>(Ljava/lang/String;Ljava/util/Map;)V
+HSPLandroid/provider/DeviceConfig$Properties;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/provider/DeviceConfig;->addOnPropertiesChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+HSPLandroid/provider/DeviceConfig;->createNamespaceUri(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/DeviceConfig;->enforceReadPermission(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/provider/DeviceConfig;->getBoolean(Ljava/lang/String;Ljava/lang/String;Z)Z
HSPLandroid/provider/DeviceConfig;->getFloat(Ljava/lang/String;Ljava/lang/String;F)F
HSPLandroid/provider/DeviceConfig;->getInt(Ljava/lang/String;Ljava/lang/String;I)I
HSPLandroid/provider/DeviceConfig;->getLong(Ljava/lang/String;Ljava/lang/String;J)J
+HSPLandroid/provider/DeviceConfig;->getProperties(Ljava/lang/String;[Ljava/lang/String;)Landroid/provider/DeviceConfig$Properties;
HSPLandroid/provider/DeviceConfig;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/provider/DeviceConfig;->getString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/provider/DeviceConfig;->handleChange(Landroid/net/Uri;)V
HSPLandroid/provider/DeviceConfig;->incrementNamespace(Ljava/lang/String;)V
-HSPLandroid/provider/DeviceConfig;->removeOnPropertyChangedListener(Landroid/provider/DeviceConfig$OnPropertyChangedListener;)V
-PLandroid/provider/Downloads;->removeAllDownloadsByPackage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/provider/DocumentsContract;->buildRootsUri(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/DocumentsProvider;-><init>()V
+HSPLandroid/provider/DocumentsProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
+HSPLandroid/provider/DocumentsProvider;->registerAuthority(Ljava/lang/String;)V
HSPLandroid/provider/FontRequest;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/provider/FontsContract$1;-><init>()V
-HPLandroid/provider/FontsContract$1;->run()V
+PLandroid/provider/FontsContract$1;->run()V
HSPLandroid/provider/FontsContract$FontFamilyResult;->getFonts()[Landroid/provider/FontsContract$FontInfo;
HSPLandroid/provider/FontsContract$FontFamilyResult;->getStatusCode()I
HSPLandroid/provider/FontsContract$FontInfo;->getAxes()[Landroid/graphics/fonts/FontVariationAxis;
@@ -12734,7 +5867,6 @@ HSPLandroid/provider/FontsContract$FontInfo;->getTtcIndex()I
HSPLandroid/provider/FontsContract$FontInfo;->getUri()Landroid/net/Uri;
HSPLandroid/provider/FontsContract$FontInfo;->getWeight()I
HSPLandroid/provider/FontsContract$FontInfo;->isItalic()Z
-HSPLandroid/provider/FontsContract;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
HSPLandroid/provider/FontsContract;->buildTypeface(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;
HSPLandroid/provider/FontsContract;->fetchFonts(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;
HSPLandroid/provider/FontsContract;->getFontFromProvider(Landroid/content/Context;Landroid/provider/FontRequest;Ljava/lang/String;Landroid/os/CancellationSignal;)[Landroid/provider/FontsContract$FontInfo;
@@ -12743,308 +5875,254 @@ HSPLandroid/provider/FontsContract;->getProvider(Landroid/content/pm/PackageMana
HSPLandroid/provider/FontsContract;->lambda$getFontSync$0(Landroid/provider/FontRequest;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/locks/Condition;)V
HSPLandroid/provider/FontsContract;->prepareFontData(Landroid/content/Context;[Landroid/provider/FontsContract$FontInfo;Landroid/os/CancellationSignal;)Ljava/util/Map;
HSPLandroid/provider/FontsContract;->setApplicationContextForResources(Landroid/content/Context;)V
-HSPLandroid/provider/MediaStore$Audio$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/MediaStore$Images$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/MediaStore$Video$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/SearchIndexableResource;-><init>(Landroid/content/Context;)V
+HSPLandroid/provider/SearchIndexablesContract;-><clinit>()V
HSPLandroid/provider/SearchIndexablesProvider;-><init>()V
HSPLandroid/provider/SearchIndexablesProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
-HSPLandroid/provider/Settings$ContentProviderHolder;-><init>(Landroid/net/Uri;)V
+HSPLandroid/provider/SearchIndexablesProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/provider/SearchIndexablesProvider;->queryDynamicRawData([Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/provider/SearchIndexablesProvider;->querySliceUriPairs()Landroid/database/Cursor;
+HSPLandroid/provider/Settings$Config;->createCompositeName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/provider/Settings$Config;->createPrefix(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/provider/Settings$Config;->getStrings(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;
+HSPLandroid/provider/Settings$ContentProviderHolder;->access$000(Landroid/provider/Settings$ContentProviderHolder;)Landroid/net/Uri;
HSPLandroid/provider/Settings$ContentProviderHolder;->getProvider(Landroid/content/ContentResolver;)Landroid/content/IContentProvider;
+HSPLandroid/provider/Settings$GenerationTracker;-><init>(Landroid/util/MemoryIntArray;IILjava/lang/Runnable;)V
+HSPLandroid/provider/Settings$GenerationTracker;->getCurrentGeneration()I
+HSPLandroid/provider/Settings$GenerationTracker;->isGenerationChanged()Z
HSPLandroid/provider/Settings$GenerationTracker;->readCurrentGeneration()I
-HSPLandroid/provider/Settings$Global$1;-><init>()V
-HSPLandroid/provider/Settings$Global$2;-><init>()V
-HSPLandroid/provider/Settings$Global$3;-><init>()V
-HSPLandroid/provider/Settings$Global;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
HSPLandroid/provider/Settings$Global;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J
-HSPLandroid/provider/Settings$Global;->getMovedToSecureSettings(Ljava/util/Set;)V
HSPLandroid/provider/Settings$Global;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/provider/Settings$Global;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/Settings$Global;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
-HSPLandroid/provider/Settings$Global;->putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z
HSPLandroid/provider/Settings$Global;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
HSPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-HSPLandroid/provider/Settings$NameValueCache;-><init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/provider/Settings$ContentProviderHolder;)V
HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
+HSPLandroid/provider/Settings$NameValueCache;->getStringsForPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Landroid/util/ArrayMap;
HSPLandroid/provider/Settings$NameValueCache;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-HSPLandroid/provider/Settings$Secure$1;-><init>()V
-HSPLandroid/provider/Settings$Secure$2;-><init>()V
-HSPLandroid/provider/Settings$Secure$3;-><init>()V
-HSPLandroid/provider/Settings$Secure$4;-><init>()V
-HSPLandroid/provider/Settings$Secure;->getCloneToManagedProfileSettings(Ljava/util/Set;)V
-HSPLandroid/provider/Settings$Secure;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
-HSPLandroid/provider/Settings$Secure;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)F
+HSPLandroid/provider/Settings$NameValueTable;->getUriFor(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
HSPLandroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
-HSPLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J
-HSPLandroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J
-HSPLandroid/provider/Settings$Secure;->getMovedToGlobalSettings(Ljava/util/Set;)V
+PLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J
+PLandroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J
HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/provider/Settings$Secure;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
-HSPLandroid/provider/Settings$Secure;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
HSPLandroid/provider/Settings$Secure;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
HSPLandroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
-HSPLandroid/provider/Settings$System$1;-><init>()V
-HSPLandroid/provider/Settings$System$2;-><init>()V
-HSPLandroid/provider/Settings$System$2;->validate(Ljava/lang/String;)Z
-HSPLandroid/provider/Settings$System$3;-><init>()V
-HSPLandroid/provider/Settings$System$4;-><init>()V
-HSPLandroid/provider/Settings$System$5;-><init>()V
-HSPLandroid/provider/Settings$System$6;-><init>()V
-HSPLandroid/provider/Settings$System;->adjustConfigurationForUser(Landroid/content/ContentResolver;Landroid/content/res/Configuration;IZ)V
-HSPLandroid/provider/Settings$System;->clearConfiguration(Landroid/content/res/Configuration;)V
-HSPLandroid/provider/Settings$System;->getCloneFromParentOnValueSettings(Ljava/util/Map;)V
-HSPLandroid/provider/Settings$System;->getCloneToManagedProfileSettings(Ljava/util/Set;)V
-HSPLandroid/provider/Settings$System;->getConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)V
-HSPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
-HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)F
+HSPLandroid/provider/Settings$SettingNotFoundException;-><init>(Ljava/lang/String;)V
HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
-HSPLandroid/provider/Settings$System;->getMovedToGlobalSettings(Ljava/util/Set;)V
-HSPLandroid/provider/Settings$System;->getMovedToSecureSettings(Ljava/util/Set;)V
HSPLandroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
HSPLandroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
HSPLandroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/provider/Settings;->isCallingPackageAllowedToPerformAppOpsProtectedOperation(Landroid/content/Context;ILjava/lang/String;ZI[Ljava/lang/String;Z)Z
+PLandroid/provider/Settings;->isCallingPackageAllowedToPerformAppOpsProtectedOperation(Landroid/content/Context;ILjava/lang/String;ZI[Ljava/lang/String;Z)Z
HSPLandroid/provider/Settings;->isInSystemServer()Z
-HSPLandroid/provider/Settings;->setInSystemServer()V
-HSPLandroid/provider/SettingsValidators$1;-><init>()V
-HSPLandroid/provider/SettingsValidators$2;-><init>()V
-HSPLandroid/provider/SettingsValidators$2;->validate(Ljava/lang/String;)Z
-HSPLandroid/provider/SettingsValidators$3;-><init>()V
-HSPLandroid/provider/SettingsValidators$4;-><init>()V
-HSPLandroid/provider/SettingsValidators$5;-><init>()V
-HSPLandroid/provider/SettingsValidators$6;-><init>()V
-HSPLandroid/provider/SettingsValidators$7;-><init>()V
-HSPLandroid/provider/SettingsValidators$8;-><init>()V
-HSPLandroid/provider/SettingsValidators$9;-><init>()V
-HSPLandroid/provider/SettingsValidators$ComponentNameListValidator;-><init>(Ljava/lang/String;)V
-HSPLandroid/provider/SettingsValidators$DiscreteValueValidator;-><init>([Ljava/lang/String;)V
-HSPLandroid/provider/SettingsValidators$DiscreteValueValidator;->validate(Ljava/lang/String;)Z
-HSPLandroid/provider/SettingsValidators$InclusiveFloatRangeValidator;-><init>(FF)V
-HSPLandroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;-><init>(II)V
-HSPLandroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;->validate(Ljava/lang/String;)Z
-HSPLandroid/provider/SettingsValidators$PackageNameListValidator;-><init>(Ljava/lang/String;)V
-HSPLandroid/provider/Telephony$CarrierId;->getSpecificCarrierIdUriForSubscriptionId(I)Landroid/net/Uri;
-HSPLandroid/provider/Telephony$CarrierId;->getUriForSubscriptionId(I)Landroid/net/Uri;
-HSPLandroid/provider/Telephony$Mms;->isEmailAddress(Ljava/lang/String;)Z
-PLandroid/provider/Telephony$Mms;->isPhoneNumber(Ljava/lang/String;)Z
-HSPLandroid/provider/Telephony$ServiceStateTable;->getContentValuesForServiceState(Landroid/telephony/ServiceState;)Landroid/content/ContentValues;
-HSPLandroid/provider/Telephony$ServiceStateTable;->getUriForSubscriptionId(I)Landroid/net/Uri;
-HSPLandroid/provider/Telephony$ServiceStateTable;->getUriForSubscriptionIdAndField(ILjava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/Telephony$MmsSms;-><clinit>()V
HSPLandroid/provider/Telephony$Sms;->getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String;
-PLandroid/provider/Telephony$Threads;->getOrCreateThreadId(Landroid/content/Context;Ljava/util/Set;)J
HSPLandroid/renderscript/RenderScriptCacheDir;->setupDiskCache(Ljava/io/File;)V
-HSPLandroid/security/IKeyChainService$Stub$Proxy;->getUserCaAliases()Landroid/content/pm/StringParceledListSlice;
+HSPLandroid/security/Credentials;->deleteAllTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
+HSPLandroid/security/Credentials;->deleteCertificateTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
+HSPLandroid/security/Credentials;->deleteUserKeyTypeForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
HSPLandroid/security/KeyChain$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/security/KeyChain$KeyChainConnection;->close()V
HSPLandroid/security/KeyChain$KeyChainConnection;->getService()Landroid/security/IKeyChainService;
HSPLandroid/security/KeyChain;->bindAsUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;->getKeyCharacteristics()Landroid/security/keymaster/KeyCharacteristics;
HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;->getKeystoreResponse()Landroid/security/keystore/KeystoreResponse;
+HSPLandroid/security/KeyStore$KeyCharacteristicsPromise;-><init>(Landroid/security/KeyStore;)V
+HSPLandroid/security/KeyStore$KeyCharacteristicsPromise;-><init>(Landroid/security/KeyStore;Landroid/security/KeyStore$1;)V
+HSPLandroid/security/KeyStore$KeyCharacteristicsPromise;->getFuture()Ljava/util/concurrent/CompletableFuture;
HSPLandroid/security/KeyStore$KeyCharacteristicsPromise;->onFinished(Landroid/security/keystore/KeystoreResponse;Landroid/security/keymaster/KeyCharacteristics;)V
-HSPLandroid/security/KeyStore$KeystoreResultPromise;->onFinished(Landroid/security/keystore/KeystoreResponse;)V
+HSPLandroid/security/KeyStore$OperationPromise;-><init>(Landroid/security/KeyStore;)V
+HSPLandroid/security/KeyStore$OperationPromise;-><init>(Landroid/security/KeyStore;Landroid/security/KeyStore$1;)V
+HSPLandroid/security/KeyStore$OperationPromise;->getFuture()Ljava/util/concurrent/CompletableFuture;
HSPLandroid/security/KeyStore$OperationPromise;->onFinished(Landroid/security/keymaster/OperationResult;)V
-HSPLandroid/security/KeyStore$State;-><init>(Ljava/lang/String;I)V
HSPLandroid/security/KeyStore;->abort(Landroid/os/IBinder;)I
-HPLandroid/security/KeyStore;->addAuthToken([B)I
HSPLandroid/security/KeyStore;->begin(Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/KeyStore;->clearUid(I)Z
-HSPLandroid/security/KeyStore;->contains(Ljava/lang/String;)Z
HSPLandroid/security/KeyStore;->contains(Ljava/lang/String;I)Z
-HSPLandroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
+HSPLandroid/security/KeyStore;->delete(Ljava/lang/String;I)Z
+HSPLandroid/security/KeyStore;->delete2(Ljava/lang/String;I)I
+HSPLandroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B[B)Landroid/security/keymaster/OperationResult;
+HSPLandroid/security/KeyStore;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
+HSPLandroid/security/KeyStore;->generateKeyInternal(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
HSPLandroid/security/KeyStore;->getInstance()Landroid/security/KeyStore;
HSPLandroid/security/KeyStore;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
HSPLandroid/security/KeyStore;->getToken()Landroid/os/IBinder;
-HPLandroid/security/KeyStore;->grant(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/security/KeyStore;->state(I)Landroid/security/KeyStore$State;
-HPLandroid/security/KeyStore;->unlock(ILjava/lang/String;)Z
HSPLandroid/security/KeyStore;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/NetworkSecurityPolicy;-><init>()V
-HPLandroid/security/Scrypt;-><init>()V
-HPLandroid/security/Scrypt;->scrypt([B[BIIII)[B
-HSPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;-><init>()V
-HPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/security/keymaster/KeyAttestationApplicationId$1;-><init>()V
-PLandroid/security/keymaster/KeyAttestationApplicationId;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/security/keymaster/KeyAttestationPackageInfo$1;-><init>()V
-PLandroid/security/keymaster/KeyAttestationPackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/security/keymaster/KeyCharacteristics$1;-><init>()V
+PLandroid/security/NetworkSecurityPolicy;->getInstance()Landroid/security/NetworkSecurityPolicy;
+PLandroid/security/NetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
HSPLandroid/security/keymaster/KeyCharacteristics$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeyCharacteristics;
HSPLandroid/security/keymaster/KeyCharacteristics$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/security/keymaster/KeyCharacteristics;-><init>()V
HSPLandroid/security/keymaster/KeyCharacteristics;->getEnum(I)Ljava/lang/Integer;
HSPLandroid/security/keymaster/KeyCharacteristics;->getEnums(I)Ljava/util/List;
HSPLandroid/security/keymaster/KeyCharacteristics;->shallowCopyFrom(Landroid/security/keymaster/KeyCharacteristics;)V
-HSPLandroid/security/keymaster/KeymasterArgument$1;-><init>()V
HSPLandroid/security/keymaster/KeymasterArgument$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeymasterArgument;
HSPLandroid/security/keymaster/KeymasterArgument$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/security/keymaster/KeymasterArgument;-><init>(I)V
HSPLandroid/security/keymaster/KeymasterArgument;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/security/keymaster/KeymasterArguments$1;-><init>()V
HSPLandroid/security/keymaster/KeymasterArguments$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeymasterArguments;
HSPLandroid/security/keymaster/KeymasterArguments$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/security/keymaster/KeymasterArguments;-><init>()V
+HSPLandroid/security/keymaster/KeymasterArguments;->addBoolean(I)V
HSPLandroid/security/keymaster/KeymasterArguments;->addBytes(I[B)V
+HSPLandroid/security/keymaster/KeymasterArguments;->addDateIfNotNull(ILjava/util/Date;)V
HSPLandroid/security/keymaster/KeymasterArguments;->addEnum(II)V
+HSPLandroid/security/keymaster/KeymasterArguments;->addEnumTag(II)V
+HSPLandroid/security/keymaster/KeymasterArguments;->addEnums(I[I)V
HSPLandroid/security/keymaster/KeymasterArguments;->addUnsignedInt(IJ)V
HSPLandroid/security/keymaster/KeymasterArguments;->containsTag(I)Z
HSPLandroid/security/keymaster/KeymasterArguments;->getBytes(I[B)[B
HSPLandroid/security/keymaster/KeymasterArguments;->getEnum(II)I
HSPLandroid/security/keymaster/KeymasterArguments;->getEnums(I)Ljava/util/List;
HSPLandroid/security/keymaster/KeymasterArguments;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/security/keymaster/KeymasterBlob$1;-><init>()V
+HSPLandroid/security/keymaster/KeymasterBlob;-><init>([B)V
HSPLandroid/security/keymaster/KeymasterBlob;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/security/keymaster/KeymasterBlobArgument;-><init>(I[B)V
HSPLandroid/security/keymaster/KeymasterBlobArgument;->writeValue(Landroid/os/Parcel;)V
-HSPLandroid/security/keymaster/KeymasterCertificateChain$1;-><init>()V
+HSPLandroid/security/keymaster/KeymasterBooleanArgument;-><init>(I)V
+HSPLandroid/security/keymaster/KeymasterBooleanArgument;->writeValue(Landroid/os/Parcel;)V
+HSPLandroid/security/keymaster/KeymasterDefs;->getTagType(I)I
HSPLandroid/security/keymaster/KeymasterIntArgument;-><init>(II)V
HSPLandroid/security/keymaster/KeymasterIntArgument;->writeValue(Landroid/os/Parcel;)V
-HSPLandroid/security/keymaster/OperationResult$1;-><init>()V
HSPLandroid/security/keymaster/OperationResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/OperationResult;
HSPLandroid/security/keymaster/OperationResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/security/keymaster/OperationResult;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$AdditionalAuthenticationDataStream;->finish([B[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer;->doFinal([BII[B[B)[B
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM$NoPadding;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM$NoPadding;->finalize()V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->createAdditionalAuthenticationDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->createMainDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->getAdditionalEntropyAmountForBegin()I
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->getAdditionalEntropyAmountForFinish()I
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->initAlgorithmSpecificParameters()V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->initAlgorithmSpecificParameters(Ljava/security/spec/AlgorithmParameterSpec;)V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->resetAll()V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM;->resetWhilePreservingInitState()V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->engineGetIV()[B
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->getIv()[B
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->initKey(ILjava/security/Key;)V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->setIv([B)V
HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;-><init>()V
HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;->putAsymmetricCipherImpl(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;->putMacImpl(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;->putSignatureImpl(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;->putSymmetricCipherImpl(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineDoFinal([BII)[B
-HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->ensureKeystoreOperationInitialized()V
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->finalize()V
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->flushAAD()V
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->init(ILjava/security/Key;Ljava/security/SecureRandom;)V
+HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->isEncrypting()Z
HSPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->resetAll()V
+HSPLandroid/security/keystore/AndroidKeyStoreKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
HSPLandroid/security/keystore/AndroidKeyStoreKey;->getAlgorithm()Ljava/lang/String;
HSPLandroid/security/keystore/AndroidKeyStoreKey;->getAlias()Ljava/lang/String;
HSPLandroid/security/keystore/AndroidKeyStoreKey;->getFormat()Ljava/lang/String;
HSPLandroid/security/keystore/AndroidKeyStoreKey;->getUid()I
-HSPLandroid/security/keystore/AndroidKeyStoreKeyFactorySpi;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
HSPLandroid/security/keystore/AndroidKeyStoreProvider;-><init>()V
HSPLandroid/security/keystore/AndroidKeyStoreProvider;->getKeyCharacteristics(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keymaster/KeyCharacteristics;
HSPLandroid/security/keystore/AndroidKeyStoreProvider;->install()V
HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keystore/AndroidKeyStoreKey;
HSPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreSecretKeyFromKeystore(Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStoreSecretKey;
+HSPLandroid/security/keystore/AndroidKeyStoreProvider;->putKeyFactoryImpl(Ljava/lang/String;)V
+HSPLandroid/security/keystore/AndroidKeyStoreProvider;->putSecretKeyFactoryImpl(Ljava/lang/String;)V
+HSPLandroid/security/keystore/AndroidKeyStoreSecretKey;-><init>(Ljava/lang/String;ILjava/lang/String;)V
HSPLandroid/security/keystore/AndroidKeyStoreSpi;-><init>()V
HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineContainsAlias(Ljava/lang/String;)Z
HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetKey(Ljava/lang/String;[C)Ljava/security/Key;
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineIsCertificateEntry(Ljava/lang/String;)Z
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineIsKeyEntry(Ljava/lang/String;)Z
HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->isKeyEntry(Ljava/lang/String;)Z
+HSPLandroid/security/keystore/ArrayUtils;->cloneIfNotEmpty([Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;-><init>()V
HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/security/keystore/IKeystoreOperationResultCallback$Stub;-><init>()V
HSPLandroid/security/keystore/IKeystoreOperationResultCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/security/keystore/IKeystoreOperationResultCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/security/keystore/IKeystoreResponseCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/security/keystore/IKeystoreResponseCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->abort(Landroid/security/keystore/IKeystoreResponseCallback;Landroid/os/IBinder;)I
-HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->addAuthToken([B)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->begin(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)I
-HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->clear_uid(J)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->del(Ljava/lang/String;I)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->exist(Ljava/lang/String;I)I
-HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->finish(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->finish(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B[B)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->generateKey(Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BII)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getKeyCharacteristics(Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)I
-HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getState(I)I
-HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->grant(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->onKeyguardVisibilityChanged(ZI)I
-HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->unlock(ILjava/lang/String;)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->update(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)I
-HSPLandroid/security/keystore/IKeystoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/keystore/IKeystoreService;
+HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;-><init>(Ljava/lang/String;I)V
+HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->build()Landroid/security/keystore/KeyGenParameterSpec;
+HSPLandroid/security/keystore/KeyGenParameterSpec;-><init>(Ljava/lang/String;IILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZ[BZZZZZZ)V
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getBlockModes()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getDigests()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getEncryptionPaddings()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeySize()I
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeyValidityForConsumptionEnd()Ljava/util/Date;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeyValidityForOriginationEnd()Ljava/util/Date;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeyValidityStart()Ljava/util/Date;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeystoreAlias()Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getPurposes()I
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getSignaturePaddings()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getUid()I
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isDigestsSpecified()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isStrongBoxBacked()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUnlockedDeviceRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserAuthenticationRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserConfirmationRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserPresenceRequired()Z
+HSPLandroid/security/keystore/KeyProperties$BlockMode;->allToKeymaster([Ljava/lang/String;)[I
+HSPLandroid/security/keystore/KeyProperties$BlockMode;->toKeymaster(Ljava/lang/String;)I
+HSPLandroid/security/keystore/KeyProperties$Digest;->allToKeymaster([Ljava/lang/String;)[I
+HSPLandroid/security/keystore/KeyProperties$Digest;->toKeymaster(Ljava/lang/String;)I
+HSPLandroid/security/keystore/KeyProperties$EncryptionPadding;->allToKeymaster([Ljava/lang/String;)[I
+HSPLandroid/security/keystore/KeyProperties$EncryptionPadding;->toKeymaster(Ljava/lang/String;)I
HSPLandroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterSecretKeyAlgorithm(II)Ljava/lang/String;
-HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->finish([B[B)Landroid/security/keymaster/OperationResult;
+HSPLandroid/security/keystore/KeyProperties$Purpose;->allToKeymaster(I)[I
+HSPLandroid/security/keystore/KeyProperties$Purpose;->toKeymaster(I)I
+HSPLandroid/security/keystore/KeyProperties;->access$000(I)[I
+HSPLandroid/security/keystore/KeyProperties;->getSetBitCount(I)I
+HSPLandroid/security/keystore/KeyProperties;->getSetFlags(I)[I
+HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;-><init>(Landroid/security/KeyStore;Landroid/os/IBinder;)V
+HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->finish([B[B[B)Landroid/security/keymaster/OperationResult;
HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->update([B)Landroid/security/keymaster/OperationResult;
+HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;-><init>(Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;)V
+HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;-><init>(Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;I)V
HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->doFinal([BII[B[B)[B
HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->flush()[B
HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->update([BII)[B
HSPLandroid/security/keystore/KeyStoreCryptoOperationUtils;->getExceptionForCipherInit(Landroid/security/KeyStore;Landroid/security/keystore/AndroidKeyStoreKey;I)Ljava/security/GeneralSecurityException;
-HSPLandroid/security/keystore/KeystoreResponse$1;-><init>()V
+PLandroid/security/keystore/KeyStoreCryptoOperationUtils;->getInvalidKeyExceptionForInit(Landroid/security/KeyStore;Landroid/security/keystore/AndroidKeyStoreKey;I)Ljava/security/InvalidKeyException;
+HSPLandroid/security/keystore/KeyStoreCryptoOperationUtils;->getRandomBytesToMixIntoKeystoreRng(Ljava/security/SecureRandom;I)[B
+HSPLandroid/security/keystore/KeymasterUtils;->addUserAuthArgs(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keystore/UserAuthArgs;)V
HSPLandroid/security/keystore/KeystoreResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/KeystoreResponse;
HSPLandroid/security/keystore/KeystoreResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/security/keystore/ParcelableKeyGenParameterSpec$1;-><init>()V
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$1;-><init>()V
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;-><init>()V
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->build()Landroid/security/keystore/recovery/KeyChainProtectionParams;
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setKeyDerivationParams(Landroid/security/keystore/recovery/KeyDerivationParams;)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setLockScreenUiFormat(I)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
-PLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setUserSecretType(I)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$1;-><init>()V
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;-><init>()V
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->build()Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setCounterId(J)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setEncryptedRecoveryKeyBlob([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setKeyChainProtectionParams(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setMaxAttempts(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setServerParams([B)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setSnapshotVersion(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setTrustedHardwareCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setWrappedApplicationKeys(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-PLandroid/security/keystore/recovery/KeyDerivationParams$1;-><init>()V
-PLandroid/security/keystore/recovery/KeyDerivationParams;->createScryptParams([BI)Landroid/security/keystore/recovery/KeyDerivationParams;
-PLandroid/security/keystore/recovery/RecoveryCertPath$1;-><init>()V
-PLandroid/security/keystore/recovery/RecoveryCertPath;->createRecoveryCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/RecoveryCertPath;
-PLandroid/security/keystore/recovery/TrustedRootCertificates;->constructRootCertificateMap()Landroid/util/ArrayMap;
-PLandroid/security/keystore/recovery/TrustedRootCertificates;->getRootCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-PLandroid/security/keystore/recovery/TrustedRootCertificates;->getRootCertificates()Ljava/util/Map;
-PLandroid/security/keystore/recovery/TrustedRootCertificates;->parseBase64Certificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-PLandroid/security/keystore/recovery/WrappedApplicationKey$1;-><init>()V
-PLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;-><init>()V
-PLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->build()Landroid/security/keystore/recovery/WrappedApplicationKey;
-PLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->setAlias(Ljava/lang/String;)Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;
-PLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->setEncryptedKeyMaterial([B)Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;
-PLandroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeBase64Cert(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-PLandroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeCert(Ljava/io/InputStream;)Ljava/security/cert/X509Certificate;
+HSPLandroid/security/keystore/KeystoreResponse;->getErrorCode()I
+HSPLandroid/security/keystore/Utils;->cloneIfNotNull(Ljava/util/Date;)Ljava/util/Date;
+HSPLandroid/security/keystore/Utils;->cloneIfNotNull([B)[B
+HSPLandroid/security/net/config/ApplicationConfig;-><init>(Landroid/security/net/config/ConfigSource;)V
HSPLandroid/security/net/config/ApplicationConfig;->ensureInitialized()V
HSPLandroid/security/net/config/ApplicationConfig;->getConfigForHostname(Ljava/lang/String;)Landroid/security/net/config/NetworkSecurityConfig;
HSPLandroid/security/net/config/ApplicationConfig;->getDefaultInstance()Landroid/security/net/config/ApplicationConfig;
+HSPLandroid/security/net/config/ApplicationConfig;->getTrustManager()Ljavax/net/ssl/X509TrustManager;
+HSPLandroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
HSPLandroid/security/net/config/ApplicationConfig;->setDefaultInstance(Landroid/security/net/config/ApplicationConfig;)V
+HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;-><init>(Landroid/security/net/config/ApplicationConfig;)V
HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCertificateTransparencyVerificationRequired(Ljava/lang/String;)Z
-HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
+PLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
+HSPLandroid/security/net/config/DirectoryCertificateSource$1;-><init>(Landroid/security/net/config/DirectoryCertificateSource;Ljava/security/cert/X509Certificate;)V
+HSPLandroid/security/net/config/DirectoryCertificateSource$3;-><init>(Landroid/security/net/config/DirectoryCertificateSource;Ljava/security/cert/X509Certificate;)V
HSPLandroid/security/net/config/DirectoryCertificateSource$3;->match(Ljava/security/cert/X509Certificate;)Z
HSPLandroid/security/net/config/DirectoryCertificateSource;-><init>(Ljava/io/File;)V
+HSPLandroid/security/net/config/DirectoryCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
+HSPLandroid/security/net/config/DirectoryCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
HSPLandroid/security/net/config/DirectoryCertificateSource;->findCert(Ljavax/security/auth/x500/X500Principal;Landroid/security/net/config/DirectoryCertificateSource$CertSelector;)Ljava/security/cert/X509Certificate;
HSPLandroid/security/net/config/DirectoryCertificateSource;->findCerts(Ljavax/security/auth/x500/X500Principal;Landroid/security/net/config/DirectoryCertificateSource$CertSelector;)Ljava/util/Set;
HSPLandroid/security/net/config/DirectoryCertificateSource;->hashName(Ljavax/security/auth/x500/X500Principal;)I
HSPLandroid/security/net/config/DirectoryCertificateSource;->intToHexString(II)Ljava/lang/String;
HSPLandroid/security/net/config/DirectoryCertificateSource;->readCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
+HSPLandroid/security/net/config/Domain;->hashCode()I
HSPLandroid/security/net/config/KeyStoreConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
HSPLandroid/security/net/config/KeyStoreConfigSource;->getPerDomainConfigs()Ljava/util/Set;
HSPLandroid/security/net/config/ManifestConfigSource$DefaultConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
HSPLandroid/security/net/config/ManifestConfigSource$DefaultConfigSource;->getPerDomainConfigs()Ljava/util/Set;
+HSPLandroid/security/net/config/ManifestConfigSource;-><init>(Landroid/content/Context;)V
HSPLandroid/security/net/config/ManifestConfigSource;->getConfigSource()Landroid/security/net/config/ConfigSource;
HSPLandroid/security/net/config/ManifestConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
HSPLandroid/security/net/config/ManifestConfigSource;->getPerDomainConfigs()Ljava/util/Set;
@@ -13056,27 +6134,26 @@ HSPLandroid/security/net/config/NetworkSecurityConfig;-><init>(ZZLandroid/securi
HSPLandroid/security/net/config/NetworkSecurityConfig;-><init>(ZZLandroid/security/net/config/PinSet;Ljava/util/List;Landroid/security/net/config/NetworkSecurityConfig$1;)V
HSPLandroid/security/net/config/NetworkSecurityConfig;->getDefaultBuilder(Landroid/content/pm/ApplicationInfo;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
HSPLandroid/security/net/config/NetworkSecurityConfig;->getTrustManager()Landroid/security/net/config/NetworkSecurityTrustManager;
+HSPLandroid/security/net/config/NetworkSecurityConfig;->isCleartextTrafficPermitted()Z
HSPLandroid/security/net/config/NetworkSecurityConfigProvider;-><init>()V
HSPLandroid/security/net/config/NetworkSecurityConfigProvider;->install(Landroid/content/Context;)V
HSPLandroid/security/net/config/NetworkSecurityTrustManager;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkPins(Ljava/util/List;)V
HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
-HSPLandroid/security/net/config/PinSet;-><init>(Ljava/util/Set;J)V
HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
HSPLandroid/security/net/config/RootTrustManagerFactorySpi;-><init>()V
HSPLandroid/security/net/config/RootTrustManagerFactorySpi;->engineGetTrustManagers()[Ljavax/net/ssl/TrustManager;
HSPLandroid/security/net/config/RootTrustManagerFactorySpi;->engineInit(Ljava/security/KeyStore;)V
+HSPLandroid/security/net/config/SystemCertificateSource$NoPreloadHolder;-><clinit>()V
HSPLandroid/security/net/config/SystemCertificateSource;-><init>()V
HSPLandroid/security/net/config/SystemCertificateSource;-><init>(Landroid/security/net/config/SystemCertificateSource$1;)V
HSPLandroid/security/net/config/SystemCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
HSPLandroid/security/net/config/SystemCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
HSPLandroid/security/net/config/SystemCertificateSource;->isCertMarkedAsRemoved(Ljava/lang/String;)Z
-HSPLandroid/security/net/config/TrustedCertificateStoreAdapter;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
HSPLandroid/security/net/config/TrustedCertificateStoreAdapter;->findAllIssuers(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
HSPLandroid/security/net/config/TrustedCertificateStoreAdapter;->getTrustAnchor(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/net/config/XmlConfigSource;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
HSPLandroid/security/net/config/XmlConfigSource;-><init>(Landroid/content/Context;ILandroid/content/pm/ApplicationInfo;)V
HSPLandroid/security/net/config/XmlConfigSource;->ensureInitialized()V
HSPLandroid/security/net/config/XmlConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
@@ -13086,1302 +6163,264 @@ HSPLandroid/security/net/config/XmlConfigSource;->parseConfigEntry(Landroid/cont
HSPLandroid/security/net/config/XmlConfigSource;->parseDomain(Landroid/content/res/XmlResourceParser;Ljava/util/Set;)Landroid/security/net/config/Domain;
HSPLandroid/security/net/config/XmlConfigSource;->parseNetworkSecurityConfig(Landroid/content/res/XmlResourceParser;)V
HSPLandroid/security/net/config/XmlConfigSource;->parseTrustAnchors(Landroid/content/res/XmlResourceParser;Z)Ljava/util/Collection;
-PLandroid/service/appprediction/IPredictionService$Stub$Proxy;->notifyAppTargetEvent(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
-PLandroid/service/appprediction/IPredictionService$Stub$Proxy;->onCreatePredictionSession(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;)V
-PLandroid/service/appprediction/IPredictionService$Stub$Proxy;->registerPredictionUpdates(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;)V
-PLandroid/service/appprediction/IPredictionService$Stub$Proxy;->requestPredictionUpdate(Landroid/app/prediction/AppPredictionSessionId;)V
-PLandroid/service/appprediction/IPredictionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/appprediction/IPredictionService;
-HSPLandroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/ComponentName;I)V
-HSPLandroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
-HSPLandroid/service/autofill/AutofillServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/service/autofill/AutofillServiceInfo;->parseCompatibilityPackages(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/util/ArrayMap;
-PLandroid/service/autofill/FillContext$1;-><init>()V
-HPLandroid/service/autofill/FillContext;->findViewNodesByAutofillIds([Landroid/view/autofill/AutofillId;)[Landroid/app/assist/AssistStructure$ViewNode;
-PLandroid/service/autofill/FillContext;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/service/autofill/FillRequest$1;-><init>()V
-PLandroid/service/autofill/FillRequest;-><init>(ILjava/util/ArrayList;Landroid/os/Bundle;I)V
-PLandroid/service/autofill/IAutoFillService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/service/autofill/IAutoFillService$Stub$Proxy;->onConnectedStateChanged(Z)V
-PLandroid/service/autofill/IAutoFillService$Stub$Proxy;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/service/autofill/IFillCallback;)V
-PLandroid/service/autofill/IAutoFillService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/IAutoFillService;
-PLandroid/service/autofill/IFillCallback$Stub;-><init>()V
-PLandroid/service/autofill/IFillCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/service/autofill/IFillCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/service/autofill/UserData$1;-><init>()V
-PLandroid/service/autofill/UserData;->getInt(Ljava/lang/String;I)I
-PLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onConnected()V
-HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onDestroyAllFillWindowsRequest()V
-PLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onFillRequest(ILandroid/os/IBinder;ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLandroid/service/autofill/augmented/IFillCallback;)V
-PLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/augmented/IAugmentedAutofillService;
-PLandroid/service/autofill/augmented/IFillCallback$Stub;-><init>()V
-PLandroid/service/autofill/augmented/IFillCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/service/autofill/augmented/IFillCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/carrier/CarrierIdentifier$1;-><init>()V
-HSPLandroid/service/carrier/CarrierIdentifier;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/service/carrier/CarrierIdentifier;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/carrier/ICarrierService$Stub$Proxy;->getCarrierConfig(Landroid/service/carrier/CarrierIdentifier;Landroid/os/ResultReceiver;)V
-HSPLandroid/service/carrier/ICarrierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierService;
-HSPLandroid/service/contentcapture/ActivityEvent$1;-><init>()V
-HSPLandroid/service/contentcapture/ContentCaptureServiceInfo;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ZI)V
-HSPLandroid/service/contentcapture/ContentCaptureServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
-HSPLandroid/service/contentcapture/ContentCaptureServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;ZI)Landroid/content/pm/ServiceInfo;
-HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onActivityEvent(Landroid/service/contentcapture/ActivityEvent;)V
-PLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onActivitySnapshot(Ljava/lang/String;Landroid/service/contentcapture/SnapshotData;)V
-PLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onConnected(Landroid/os/IBinder;ZZ)V
-PLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onSessionFinished(Ljava/lang/String;)V
-PLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onSessionStarted(Landroid/view/contentcapture/ContentCaptureContext;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;I)V
-PLandroid/service/contentcapture/IContentCaptureService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/contentcapture/IContentCaptureService;
-HSPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;-><init>()V
-HSPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/service/contentcapture/SnapshotData$1;-><init>()V
-HSPLandroid/service/dreams/IDreamManager$Stub$Proxy;->getDefaultDreamComponent()Landroid/content/ComponentName;
-HSPLandroid/service/dreams/IDreamManager$Stub;-><init>()V
HSPLandroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;
-HSPLandroid/service/dreams/IDreamManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/service/dreams/IDreamService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/service/dreams/IDreamService$Stub$Proxy;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-HPLandroid/service/dreams/IDreamService$Stub$Proxy;->detach()V
-HPLandroid/service/dreams/IDreamService$Stub$Proxy;->wakeUp()V
-PLandroid/service/dreams/IDreamService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamService;
-HSPLandroid/service/euicc/EuiccProfileInfo$1;-><init>()V
-HSPLandroid/service/euicc/GetEuiccProfileInfoListResult$1;-><init>()V
-HSPLandroid/service/euicc/GetEuiccProfileInfoListResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/euicc/GetEuiccProfileInfoListResult;
-HSPLandroid/service/euicc/GetEuiccProfileInfoListResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/euicc/GetEuiccProfileInfoListResult;->getProfiles()Ljava/util/List;
-HSPLandroid/service/euicc/IEuiccService$Stub$Proxy;->getEuiccProfileInfoList(ILandroid/service/euicc/IGetEuiccProfileInfoListCallback;)V
-HSPLandroid/service/euicc/IEuiccService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IEuiccService;
-HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;-><init>()V
-HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/service/gatekeeper/GateKeeperResponse$1;-><init>()V
-PLandroid/service/gatekeeper/GateKeeperResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/gatekeeper/GateKeeperResponse;
-PLandroid/service/gatekeeper/GateKeeperResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->verifyChallenge(IJ[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
-HSPLandroid/service/gatekeeper/IGateKeeperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/gatekeeper/IGateKeeperService;
-HSPLandroid/service/media/IMediaBrowserService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/media/MediaBrowserService$ServiceBinder$1;->run()V
-HSPLandroid/service/media/MediaBrowserService$ServiceBinder;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/MediaBrowserService;-><init>()V
-HSPLandroid/service/media/MediaBrowserService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/media/MediaBrowserService;->onCreate()V
-HSPLandroid/service/notification/Adjustment$1;-><init>()V
-HSPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/Adjustment;
-HSPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/notification/Adjustment;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/Adjustment;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/CharSequence;I)V
-HSPLandroid/service/notification/Adjustment;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/notification/Condition$1;-><init>()V
-HSPLandroid/service/notification/Condition$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/Condition;
-HSPLandroid/service/notification/Condition$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/notification/Condition$1;->newArray(I)[Landroid/service/notification/Condition;
-HSPLandroid/service/notification/Condition$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/service/notification/Condition;-><init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/service/notification/Condition;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/Condition;->equals(Ljava/lang/Object;)Z
-HSPLandroid/service/notification/Condition;->hashCode()I
-HSPLandroid/service/notification/Condition;->stateToString(I)Ljava/lang/String;
-HSPLandroid/service/notification/Condition;->toString()Ljava/lang/String;
-HSPLandroid/service/notification/Condition;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/service/notification/ConditionProviderService$H;->handleMessage(Landroid/os/Message;)V
HSPLandroid/service/notification/ConditionProviderService$Provider;->onConnected()V
-HSPLandroid/service/notification/ConditionProviderService$Provider;->onSubscribe(Landroid/net/Uri;)V
HSPLandroid/service/notification/ConditionProviderService;-><init>()V
-HSPLandroid/service/notification/ConditionProviderService;->isBound()Z
-HSPLandroid/service/notification/ConditionProviderService;->notifyCondition(Landroid/service/notification/Condition;)V
-HSPLandroid/service/notification/ConditionProviderService;->notifyConditions([Landroid/service/notification/Condition;)V
+PLandroid/service/notification/ConditionProviderService;->getNotificationInterface()Landroid/app/INotificationManager;
HSPLandroid/service/notification/ConditionProviderService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/notification/IConditionProvider$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/notification/IConditionProvider$Stub$Proxy;->onConnected()V
-HSPLandroid/service/notification/IConditionProvider$Stub$Proxy;->onSubscribe(Landroid/net/Uri;)V
HSPLandroid/service/notification/IConditionProvider$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/notification/IConditionProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IConditionProvider;
-HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/service/notification/INotificationListener$Stub$Proxy;->onActionClicked(Ljava/lang/String;Landroid/app/Notification$Action;I)V
-HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onInterruptionFilterChanged(I)V
-HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationEnqueuedWithChannel(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/app/NotificationChannel;)V
-HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
-HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
-HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationsSeen(Ljava/util/List;)V
-HSPLandroid/service/notification/INotificationListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/notification/INotificationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/INotificationListener;
HSPLandroid/service/notification/INotificationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->get()Landroid/service/notification/StatusBarNotification;
-HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;-><init>()V
-HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/notification/NotificationAssistantService$MyHandler;->handleMessage(Landroid/os/Message;)V
-HPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onActionClicked(Ljava/lang/String;Landroid/app/Notification$Action;I)V
-HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationEnqueuedWithChannel(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/app/NotificationChannel;)V
-HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
-HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationsSeen(Ljava/util/List;)V
-HSPLandroid/service/notification/NotificationAssistantService;-><init>()V
-HSPLandroid/service/notification/NotificationAssistantService;->adjustNotification(Landroid/service/notification/Adjustment;)V
-HSPLandroid/service/notification/NotificationAssistantService;->attachBaseContext(Landroid/content/Context;)V
-HSPLandroid/service/notification/NotificationAssistantService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
HSPLandroid/service/notification/NotificationListenerService$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onInterruptionFilterChanged(I)V
-HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>()V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getChannel()Landroid/app/NotificationChannel;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getImportance()I
-HPLandroid/service/notification/NotificationListenerService$Ranking;->importanceToString(I)Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZJZLjava/util/ArrayList;Ljava/util/ArrayList;Z)V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;-><init>()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildBooleanMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildChannelsLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildImportanceLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildIntMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildLongMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildOverridePeopleLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildRanksLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSmartActions()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSmartReplies()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSnoozeCriteriaLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildStringMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->canBubble(Ljava/lang/String;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getHidden(Ljava/lang/String;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getImportance(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getImportanceExplanation(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getLastAudiblyAlerted(Ljava/lang/String;)J
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getNoisy(Ljava/lang/String;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getOverrideGroupKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getOverridePeople(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getRank(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getShowBadge(Ljava/lang/String;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getSmartActions(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getSmartReplies(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getSnoozeCriteria(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getSuppressedVisualEffects(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getUserSentiment(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getVisibilityOverride(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->isIntercepted(Ljava/lang/String;)Z
+PLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
+HPLandroid/service/notification/NotificationListenerService$Ranking;-><init>()V
+HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getKey()Ljava/lang/String;
+HPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZJZLjava/util/ArrayList;Ljava/util/ArrayList;ZZ)V
+HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationListenerService$RankingMap;
+HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V
HSPLandroid/service/notification/NotificationListenerService;-><init>()V
-HSPLandroid/service/notification/NotificationListenerService;->cleanUpNotificationList(Landroid/content/pm/ParceledListSlice;)[Landroid/service/notification/StatusBarNotification;
HSPLandroid/service/notification/NotificationListenerService;->createLegacyIconExtras(Landroid/app/Notification;)V
-HSPLandroid/service/notification/NotificationListenerService;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
-HSPLandroid/service/notification/NotificationListenerService;->getActiveNotifications([Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification;
HSPLandroid/service/notification/NotificationListenerService;->getContext()Landroid/content/Context;
-HSPLandroid/service/notification/NotificationListenerService;->isBound()Z
HSPLandroid/service/notification/NotificationListenerService;->maybePopulatePeople(Landroid/app/Notification;)V
HSPLandroid/service/notification/NotificationListenerService;->maybePopulateRemoteViews(Landroid/app/Notification;)V
-HSPLandroid/service/notification/NotificationListenerService;->onDestroy()V
-HSPLandroid/service/notification/NotificationListenerService;->onInterruptionFilterChanged(I)V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;)V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationRankingUpdate(Landroid/service/notification/NotificationListenerService$RankingMap;)V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;Landroid/service/notification/NotificationStats;I)V
-HSPLandroid/service/notification/NotificationRankingUpdate$1;-><init>()V
HSPLandroid/service/notification/NotificationRankingUpdate$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationRankingUpdate;
HSPLandroid/service/notification/NotificationRankingUpdate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/notification/NotificationRankingUpdate;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/NotificationRankingUpdate;-><init>([Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;[ILandroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;[Z)V
-HSPLandroid/service/notification/NotificationRankingUpdate;->getCanBubble()[Z
-HSPLandroid/service/notification/NotificationRankingUpdate;->getChannels()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getHidden()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getImportance()[I
-HSPLandroid/service/notification/NotificationRankingUpdate;->getImportanceExplanation()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getInterceptedKeys()[Ljava/lang/String;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getLastAudiblyAlerted()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getNoisy()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getOrderedKeys()[Ljava/lang/String;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getOverrideGroupKeys()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getOverridePeople()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getShowBadge()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getSmartActions()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getSmartReplies()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getSnoozeCriteria()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getSuppressedVisualEffects()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getUserSentiment()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getVisibilityOverrides()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/notification/NotificationStats$1;-><init>()V
-HSPLandroid/service/notification/NotificationStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationStats;
-HSPLandroid/service/notification/NotificationStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/notification/NotificationStats;-><init>(Landroid/os/Parcel;)V
-HPLandroid/service/notification/NotificationStats;->hasInteracted()Z
-HSPLandroid/service/notification/NotificationStats;->hasSeen()Z
-HSPLandroid/service/notification/NotificationStats;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/notification/NotifyingApp$1;-><init>()V
-HSPLandroid/service/notification/ScheduleCalendar;->getNextChangeTime(J)J
-HSPLandroid/service/notification/ScheduleCalendar;->getTime(JII)J
-HSPLandroid/service/notification/ScheduleCalendar;->isInSchedule(IJJJ)Z
-HSPLandroid/service/notification/ScheduleCalendar;->isInSchedule(J)Z
-HSPLandroid/service/notification/ScheduleCalendar;->maybeSetNextAlarm(JJ)V
-HSPLandroid/service/notification/ScheduleCalendar;->shouldExitForAlarm(J)Z
-HSPLandroid/service/notification/ScheduleCalendar;->toString()Ljava/lang/String;
-HSPLandroid/service/notification/ScheduleCalendar;->updateDays()V
-HSPLandroid/service/notification/StatusBarNotification$1;-><init>()V
+HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap;
HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/StatusBarNotification;
HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/StatusBarNotification;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IILandroid/app/Notification;Landroid/os/UserHandle;Ljava/lang/String;J)V
-HSPLandroid/service/notification/StatusBarNotification;->clone()Landroid/service/notification/StatusBarNotification;
-HSPLandroid/service/notification/StatusBarNotification;->cloneLight()Landroid/service/notification/StatusBarNotification;
-HSPLandroid/service/notification/StatusBarNotification;->getGroup()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getGroupKey()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getId()I
-HSPLandroid/service/notification/StatusBarNotification;->getInitialPid()I
-HSPLandroid/service/notification/StatusBarNotification;->getKey()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getLogMaker()Landroid/metrics/LogMaker;
+HPLandroid/service/notification/StatusBarNotification;->getId()I
+HPLandroid/service/notification/StatusBarNotification;->getKey()Ljava/lang/String;
HSPLandroid/service/notification/StatusBarNotification;->getNotification()Landroid/app/Notification;
-HSPLandroid/service/notification/StatusBarNotification;->getOpPkg()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getOverrideGroupKey()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getPackageName()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getPostTime()J
-HSPLandroid/service/notification/StatusBarNotification;->getTag()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getUid()I
-HSPLandroid/service/notification/StatusBarNotification;->getUser()Landroid/os/UserHandle;
+HPLandroid/service/notification/StatusBarNotification;->getPackageName()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->getPostTime()J
+HPLandroid/service/notification/StatusBarNotification;->getTag()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->getUser()Landroid/os/UserHandle;
HSPLandroid/service/notification/StatusBarNotification;->getUserId()I
HSPLandroid/service/notification/StatusBarNotification;->groupKey()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->isAppGroup()Z
-HSPLandroid/service/notification/StatusBarNotification;->isGroup()Z
HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;
-HPLandroid/service/notification/StatusBarNotification;->setOverrideGroupKey(Ljava/lang/String;)V
-HSPLandroid/service/notification/StatusBarNotification;->shortenTag(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/notification/ZenModeConfig$1;-><init>()V
-HSPLandroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Landroid/service/notification/ZenModeConfig$Diff;
-HSPLandroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Landroid/service/notification/ZenModeConfig$Diff;
-HSPLandroid/service/notification/ZenModeConfig$Diff;->toString()Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig$ScheduleInfo;->toString()Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;-><init>()V
HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig$ZenRule;
HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/service/notification/ZenModeConfig$ZenRule;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->appendDiff(Landroid/service/notification/ZenModeConfig$Diff;Ljava/lang/String;Landroid/service/notification/ZenModeConfig$ZenRule;)V
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->equals(Ljava/lang/Object;)Z
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->hashCode()I
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->isAutomaticActive()Z
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->isTrueOrUnknown()Z
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->toString()Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig$ZenRule;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/notification/ZenModeConfig;-><init>()V
-HSPLandroid/service/notification/ZenModeConfig;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/ZenModeConfig;->areAllPriorityOnlyNotificationZenSoundsMuted(Landroid/app/NotificationManager$Policy;)Z
-HSPLandroid/service/notification/ZenModeConfig;->areAllPriorityOnlyNotificationZenSoundsMuted(Landroid/service/notification/ZenModeConfig;)Z
-HSPLandroid/service/notification/ZenModeConfig;->areAllZenBehaviorSoundsMuted(Landroid/app/NotificationManager$Policy;)Z
-HSPLandroid/service/notification/ZenModeConfig;->copy()Landroid/service/notification/ZenModeConfig;
-HSPLandroid/service/notification/ZenModeConfig;->diff(Landroid/service/notification/ZenModeConfig;)Landroid/service/notification/ZenModeConfig$Diff;
-HSPLandroid/service/notification/ZenModeConfig;->diff(Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)Landroid/service/notification/ZenModeConfig$Diff;
-HSPLandroid/service/notification/ZenModeConfig;->equals(Ljava/lang/Object;)Z
-HSPLandroid/service/notification/ZenModeConfig;->generateMinuteBuckets()[I
-HSPLandroid/service/notification/ZenModeConfig;->hashCode()I
-HSPLandroid/service/notification/ZenModeConfig;->isValid()Z
-HSPLandroid/service/notification/ZenModeConfig;->isValidCountdownConditionId(Landroid/net/Uri;)Z
-HSPLandroid/service/notification/ZenModeConfig;->isValidEventConditionId(Landroid/net/Uri;)Z
-HSPLandroid/service/notification/ZenModeConfig;->isValidScheduleConditionId(Landroid/net/Uri;)Z
-HSPLandroid/service/notification/ZenModeConfig;->readConditionXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/Condition;
-HSPLandroid/service/notification/ZenModeConfig;->readRuleXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenModeConfig$ZenRule;
-HSPLandroid/service/notification/ZenModeConfig;->readXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenModeConfig;
-HSPLandroid/service/notification/ZenModeConfig;->readZenPolicyXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenPolicy;
-HSPLandroid/service/notification/ZenModeConfig;->rulesToString()Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig;->sameCondition(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-HSPLandroid/service/notification/ZenModeConfig;->toNotificationPolicy()Landroid/app/NotificationManager$Policy;
-HSPLandroid/service/notification/ZenModeConfig;->toNotificationPolicy(Landroid/service/notification/ZenPolicy;)Landroid/app/NotificationManager$Policy;
-HSPLandroid/service/notification/ZenModeConfig;->toScheduleCalendar(Landroid/net/Uri;)Landroid/service/notification/ScheduleCalendar;
-HSPLandroid/service/notification/ZenModeConfig;->toString()Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig;->tryParseCountdownConditionId(Landroid/net/Uri;)J
-HSPLandroid/service/notification/ZenModeConfig;->tryParseDayList(Ljava/lang/String;Ljava/lang/String;)[I
-HSPLandroid/service/notification/ZenModeConfig;->tryParseEventConditionId(Landroid/net/Uri;)Landroid/service/notification/ZenModeConfig$EventInfo;
-HSPLandroid/service/notification/ZenModeConfig;->tryParseHourAndMinute(Ljava/lang/String;)[I
-HSPLandroid/service/notification/ZenModeConfig;->tryParseInt(Ljava/lang/String;I)I
-HSPLandroid/service/notification/ZenModeConfig;->tryParseLong(Ljava/lang/String;J)J
-HSPLandroid/service/notification/ZenModeConfig;->tryParseLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
-HSPLandroid/service/notification/ZenModeConfig;->tryParseScheduleConditionId(Landroid/net/Uri;)Landroid/service/notification/ZenModeConfig$ScheduleInfo;
-HSPLandroid/service/notification/ZenModeConfig;->writeConditionXml(Landroid/service/notification/Condition;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/service/notification/ZenModeConfig;->writeRuleXml(Landroid/service/notification/ZenModeConfig$ZenRule;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLandroid/service/notification/ZenModeConfig;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/notification/ZenModeConfig;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/Integer;)V
-HSPLandroid/service/notification/ZenPolicy$1;-><init>()V
-HSPLandroid/service/notification/ZenPolicy;-><init>()V
-HSPLandroid/service/notification/ZenPolicy;->apply(Landroid/service/notification/ZenPolicy;)V
-HSPLandroid/service/notification/ZenPolicy;->getZenPolicyPriorityCategoryState(I)I
-HSPLandroid/service/notification/ZenPolicy;->getZenPolicyVisualEffectState(I)I
-HSPLandroid/service/oemlock/IOemLockService$Stub;-><init>()V
-HPLandroid/service/oemlock/IOemLockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;-><init>()V
-HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;-><init>()V
-HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
-HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSuggestConversationActions(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/ConversationActions$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
-HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
-HSPLandroid/service/textclassifier/ITextClassifierService$Stub;-><init>()V
HSPLandroid/service/textclassifier/ITextClassifierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassifierService;
-HPLandroid/service/textclassifier/ITextClassifierService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/textclassifier/TextClassifierService;->getResponse(Landroid/os/Bundle;)Landroid/os/Parcelable;
-HSPLandroid/service/textclassifier/TextClassifierService;->getServiceComponentName(Landroid/content/Context;)Landroid/content/ComponentName;
-PLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
-HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceLocked()V
-HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceUnlocked()V
-PLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onUnlockAttempt(Z)V
-PLandroid/service/trust/ITrustAgentService$Stub$Proxy;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-PLandroid/service/trust/ITrustAgentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/trust/ITrustAgentService;
-PLandroid/service/trust/ITrustAgentServiceCallback$Stub;-><init>()V
-PLandroid/service/trust/ITrustAgentServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->ready()V
-HPLandroid/service/voice/IVoiceInteractionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionService;
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->closeSystemDialogs()V
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleScreenshot(Landroid/graphics/Bitmap;)V
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->hide()V
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->onLockscreenShown()V
-PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->show(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
-PLandroid/service/voice/IVoiceInteractionSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSession;
-PLandroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
-HPLandroid/service/voice/IVoiceInteractionSessionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSessionService;
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;I)V
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ServiceInfo;)V
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getParseError()Ljava/lang/String;
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getRecognitionService()Ljava/lang/String;
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getSessionService()Ljava/lang/String;
-HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getSupportsLaunchFromKeyguard()Z
-HSPLandroid/service/vr/IPersistentVrStateCallbacks$Stub;-><init>()V
-HSPLandroid/service/vr/IPersistentVrStateCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/vr/IVrManager$Stub;-><init>()V
-HSPLandroid/service/vr/IVrManager$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/service/textclassifier/TextClassifierService;->getServiceComponentName(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)Landroid/content/ComponentName;
+HSPLandroid/service/textclassifier/TextClassifierService;->getServiceComponentNameByPackage(Landroid/content/Context;Ljava/lang/String;Z)Landroid/content/ComponentName;
HSPLandroid/service/vr/IVrManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrManager;
-HSPLandroid/service/vr/IVrManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/vr/IVrStateCallbacks$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/service/vr/IVrStateCallbacks$Stub;-><init>()V
-HSPLandroid/service/vr/IVrStateCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;-><init>()V
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->requestWallpaperColors()V
-HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setInAmbientMode(ZJ)V
-HSPLandroid/service/wallpaper/IWallpaperService$Stub$Proxy;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;I)V
-HSPLandroid/service/wallpaper/IWallpaperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperService;
-HSPLandroid/sysprop/AdbProperties;->secure()Ljava/util/Optional;
-HSPLandroid/sysprop/AdbProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
-HSPLandroid/sysprop/CryptoProperties$state_values;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/sysprop/CryptoProperties$state_values;->values()[Landroid/sysprop/CryptoProperties$state_values;
-HSPLandroid/sysprop/CryptoProperties$type_values;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/sysprop/CryptoProperties$type_values;->values()[Landroid/sysprop/CryptoProperties$type_values;
-HSPLandroid/sysprop/CryptoProperties;->state()Ljava/util/Optional;
-HSPLandroid/sysprop/CryptoProperties;->tryParseEnum(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
-HSPLandroid/sysprop/CryptoProperties;->type()Ljava/util/Optional;
-HSPLandroid/sysprop/DisplayProperties;->debug_force_rtl(Ljava/lang/Boolean;)V
-HSPLandroid/sysprop/DisplayProperties;->debug_layout()Ljava/util/Optional;
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$BfPaTA0e9gauJmR4vGNCDkGZ3uc;-><clinit>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$BfPaTA0e9gauJmR4vGNCDkGZ3uc;-><init>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$EV4LSOwY7Dsh1rJalZDLmnGJw5I;-><clinit>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$EV4LSOwY7Dsh1rJalZDLmnGJw5I;-><init>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI;-><clinit>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI;-><init>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;-><clinit>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;-><init>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$dc-CgjsF3BtDxLSSKL5bQ9ullG0;-><clinit>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$dc-CgjsF3BtDxLSSKL5bQ9ullG0;-><init>()V
+HSPLandroid/sysprop/-$$Lambda$TelephonyProperties$kemQbl44ndTqXdQVvnYppJuQboQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/sysprop/DisplayProperties;->debug_force_rtl()Ljava/util/Optional;
HSPLandroid/sysprop/DisplayProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
-HSPLandroid/sysprop/VoldProperties;->decrypt()Ljava/util/Optional;
-HSPLandroid/sysprop/VoldProperties;->encrypt_progress()Ljava/util/Optional;
+HSPLandroid/sysprop/ProductProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLandroid/sysprop/ProductProperties;->unbundled_apps()Ljava/util/Optional;
+HSPLandroid/sysprop/TelephonyProperties;->icc_operator_numeric()Ljava/util/List;
+HSPLandroid/sysprop/TelephonyProperties;->lambda$baseband_version$0(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/sysprop/TelephonyProperties;->lambda$operator_is_roaming$3(Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLandroid/sysprop/TelephonyProperties;->multi_sim_config()Ljava/util/Optional;
+HSPLandroid/sysprop/TelephonyProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLandroid/sysprop/TelephonyProperties;->tryParseInteger(Ljava/lang/String;)Ljava/lang/Integer;
+HSPLandroid/sysprop/TelephonyProperties;->tryParseList(Ljava/util/function/Function;Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/sysprop/TelephonyProperties;->tryParseString(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/system/ErrnoException;-><init>(Ljava/lang/String;I)V
HSPLandroid/system/ErrnoException;->getMessage()Ljava/lang/String;
-HSPLandroid/system/ErrnoException;->rethrowAsIOException()Ljava/io/IOException;
HSPLandroid/system/GaiException;-><init>(Ljava/lang/String;I)V
+PLandroid/system/GaiException;->rethrowAsUnknownHostException(Ljava/lang/String;)Ljava/net/UnknownHostException;
+HSPLandroid/system/Int32Ref;-><init>(I)V
HSPLandroid/system/Os;->accept(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)Ljava/io/FileDescriptor;
-HSPLandroid/system/Os;->access(Ljava/lang/String;I)Z
-HSPLandroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HSPLandroid/system/Os;->accept(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)Ljava/io/FileDescriptor;
HSPLandroid/system/Os;->capget(Landroid/system/StructCapUserHeader;)[Landroid/system/StructCapUserData;
HSPLandroid/system/Os;->chmod(Ljava/lang/String;I)V
-HSPLandroid/system/Os;->chown(Ljava/lang/String;II)V
HSPLandroid/system/Os;->close(Ljava/io/FileDescriptor;)V
-HPLandroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
-HSPLandroid/system/Os;->fchmod(Ljava/io/FileDescriptor;I)V
-HSPLandroid/system/Os;->fchown(Ljava/io/FileDescriptor;II)V
HSPLandroid/system/Os;->fcntlInt(Ljava/io/FileDescriptor;II)I
HSPLandroid/system/Os;->fdatasync(Ljava/io/FileDescriptor;)V
HSPLandroid/system/Os;->fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;
-HPLandroid/system/Os;->fsync(Ljava/io/FileDescriptor;)V
-HSPLandroid/system/Os;->getenv(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/system/Os;->getgid()I
HSPLandroid/system/Os;->getpeername(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;
HSPLandroid/system/Os;->getpgid(I)I
HSPLandroid/system/Os;->getpid()I
-HSPLandroid/system/Os;->getrlimit(I)Landroid/system/StructRlimit;
HSPLandroid/system/Os;->gettid()I
HSPLandroid/system/Os;->getuid()I
-HSPLandroid/system/Os;->getxattr(Ljava/lang/String;Ljava/lang/String;)[B
HSPLandroid/system/Os;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/Int32Ref;)I
HSPLandroid/system/Os;->listen(Ljava/io/FileDescriptor;I)V
-HSPLandroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
HSPLandroid/system/Os;->mkdir(Ljava/lang/String;I)V
-HSPLandroid/system/Os;->mlock(JJ)V
-HSPLandroid/system/Os;->mmap(JJIILjava/io/FileDescriptor;J)J
-HSPLandroid/system/Os;->munmap(JJ)V
HSPLandroid/system/Os;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
-HSPLandroid/system/Os;->pipe2(I)[Ljava/io/FileDescriptor;
+PLandroid/system/Os;->pipe2(I)[Ljava/io/FileDescriptor;
HSPLandroid/system/Os;->poll([Landroid/system/StructPollfd;I)I
-HSPLandroid/system/Os;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
HSPLandroid/system/Os;->read(Ljava/io/FileDescriptor;[BII)I
-HSPLandroid/system/Os;->readlink(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/system/Os;->rename(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/system/Os;->setpgid(II)V
HSPLandroid/system/Os;->setregid(II)V
HSPLandroid/system/Os;->setreuid(II)V
HSPLandroid/system/Os;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V
HSPLandroid/system/Os;->socket(III)Ljava/io/FileDescriptor;
-HSPLandroid/system/Os;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
HSPLandroid/system/Os;->stat(Ljava/lang/String;)Landroid/system/StructStat;
HSPLandroid/system/Os;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
HSPLandroid/system/Os;->sysconf(I)J
-HSPLandroid/system/Os;->umask(I)I
-HSPLandroid/system/Os;->write(Ljava/io/FileDescriptor;[BII)I
+HSPLandroid/system/OsConstants;->S_ISDIR(I)Z
HSPLandroid/system/OsConstants;->errnoName(I)Ljava/lang/String;
-HSPLandroid/system/OsConstants;->placeholder()I
+HSPLandroid/system/StructAddrinfo;-><init>()V
HSPLandroid/system/StructCapUserData;-><init>(III)V
+HSPLandroid/system/StructCapUserHeader;-><init>(II)V
HSPLandroid/system/StructIfaddrs;-><init>(Ljava/lang/String;ILjava/net/InetAddress;Ljava/net/InetAddress;Ljava/net/InetAddress;[B)V
HSPLandroid/system/StructLinger;-><init>(II)V
-HSPLandroid/system/StructPasswd;-><init>(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/system/StructRlimit;-><init>(JJ)V
+HSPLandroid/system/StructLinger;->isOn()Z
+HSPLandroid/system/StructPollfd;-><init>()V
HSPLandroid/system/StructStat;-><init>(JJIJIIJJLandroid/system/StructTimespec;Landroid/system/StructTimespec;Landroid/system/StructTimespec;JJ)V
HSPLandroid/system/StructStatVfs;-><init>(JJJJJJJJJJJ)V
HSPLandroid/system/StructTimespec;-><init>(JJ)V
HSPLandroid/system/StructTimespec;->equals(Ljava/lang/Object;)Z
+HSPLandroid/system/StructTimeval;-><init>(JJ)V
HSPLandroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval;
-HSPLandroid/system/StructUtsname;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/system/UnixSocketAddress;-><init>([B)V
-HSPLandroid/system/UnixSocketAddress;->createFileSystem(Ljava/lang/String;)Landroid/system/UnixSocketAddress;
-HSPLandroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;-><init>()V
-HSPLandroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;-><init>()V
-HSPLandroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;->getSessionId()Ljava/lang/String;
-HSPLandroid/telecom/AudioState$1;-><init>()V
-HSPLandroid/telecom/CallAudioState$1;-><init>()V
-HSPLandroid/telecom/CallAudioState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/CallAudioState;
-HSPLandroid/telecom/CallAudioState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/telecom/CallAudioState;-><init>(Landroid/telecom/CallAudioState;)V
-HSPLandroid/telecom/CallAudioState;-><init>(ZII)V
-HSPLandroid/telecom/CallAudioState;->audioRouteToString(I)Ljava/lang/String;
-HSPLandroid/telecom/CallAudioState;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telecom/CallAudioState;->getRoute()I
-HSPLandroid/telecom/CallAudioState;->getSupportedRouteMask()I
-HSPLandroid/telecom/CallAudioState;->toString()Ljava/lang/String;
-HPLandroid/telecom/CallAudioState;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/telecom/Connection;->capabilitiesToString(I)Ljava/lang/String;
-HPLandroid/telecom/Connection;->capabilitiesToStringInternal(IZ)Ljava/lang/String;
-PLandroid/telecom/Connection;->capabilitiesToStringShort(I)Ljava/lang/String;
-PLandroid/telecom/Connection;->propertiesToString(I)Ljava/lang/String;
-HPLandroid/telecom/Connection;->propertiesToStringInternal(IZ)Ljava/lang/String;
-PLandroid/telecom/ConnectionRequest$1;-><init>()V
-PLandroid/telecom/ConnectionRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/ConnectionRequest;
-PLandroid/telecom/ConnectionRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/telecom/ConnectionRequest$Builder;->build()Landroid/telecom/ConnectionRequest;
-PLandroid/telecom/ConnectionRequest;-><init>(Landroid/os/Parcel;)V
-PLandroid/telecom/ConnectionRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telecom/ConnectionService;-><init>()V
-HPLandroid/telecom/ConnectionService;->access$100(Landroid/telecom/ConnectionService;)Landroid/telecom/ConnectionServiceAdapter;
-HPLandroid/telecom/ConnectionService;->access$1900(Landroid/telecom/ConnectionService;Ljava/lang/String;Landroid/telecom/CallAudioState;)V
-HPLandroid/telecom/ConnectionService;->access$200(Landroid/telecom/ConnectionService;)V
-HPLandroid/telecom/ConnectionService;->access$300(Landroid/telecom/ConnectionService;)Z
-HPLandroid/telecom/ConnectionService;->access$500(Landroid/telecom/ConnectionService;)Ljava/util/List;
-HPLandroid/telecom/ConnectionService;->access$600(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
-HPLandroid/telecom/ConnectionService;->addConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/Connection;)V
-HPLandroid/telecom/ConnectionService;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZ)V
-HPLandroid/telecom/ConnectionService;->createIdList(Ljava/util/List;)Ljava/util/List;
-HPLandroid/telecom/ConnectionService;->endAllConnections()V
-HPLandroid/telecom/ConnectionService;->findConnectionForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/Connection;
-HPLandroid/telecom/ConnectionService;->getAllConnections()Ljava/util/Collection;
-HPLandroid/telecom/ConnectionService;->notifyCreateConnectionComplete(Ljava/lang/String;)V
-HPLandroid/telecom/ConnectionService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HPLandroid/telecom/ConnectionService;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;)V
-HPLandroid/telecom/ConnectionService;->onUnbind(Landroid/content/Intent;)Z
-HPLandroid/telecom/ConnectionService;->removeConnection(Landroid/telecom/Connection;)V
-HSPLandroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;I)Ljava/lang/String;
-HSPLandroid/telecom/DisconnectCause$1;-><init>()V
-HSPLandroid/telecom/DisconnectCause$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/DisconnectCause;
-HSPLandroid/telecom/DisconnectCause$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telecom/DisconnectCause;-><init>(I)V
-HPLandroid/telecom/DisconnectCause;->toString()Ljava/lang/String;
-HPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;)V
-HSPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/Object;)V
-HPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Log;->addRequestResponsePair(Landroid/telecom/Logging/EventManager$TimedEventPair;)V
-HSPLandroid/telecom/Log;->buildMessage(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/telecom/Log;->continueSession(Landroid/telecom/Logging/Session;Ljava/lang/String;)V
-HSPLandroid/telecom/Log;->createSubsession()Landroid/telecom/Logging/Session;
-HSPLandroid/telecom/Log;->d(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Log;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Log;->endSession()V
-HSPLandroid/telecom/Log;->getEventManager()Landroid/telecom/Logging/EventManager;
-HPLandroid/telecom/Log;->getExternalSession()Landroid/telecom/Logging/Session$Info;
-HSPLandroid/telecom/Log;->getSessionId()Ljava/lang/String;
-HSPLandroid/telecom/Log;->getSessionManager()Landroid/telecom/Logging/SessionManager;
-HSPLandroid/telecom/Log;->i(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Log;->isLoggable(I)Z
-HSPLandroid/telecom/Log;->obfuscatePhoneNumber(Ljava/lang/StringBuilder;Ljava/lang/String;)V
-HSPLandroid/telecom/Log;->pii(Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/telecom/Log;->piiHandle(Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/telecom/Log;->registerEventListener(Landroid/telecom/Logging/EventManager$EventListener;)V
-HSPLandroid/telecom/Log;->registerSessionListener(Landroid/telecom/Logging/SessionManager$ISessionListener;)V
-HSPLandroid/telecom/Log;->setSessionContext(Landroid/content/Context;)V
-HSPLandroid/telecom/Log;->setTag(Ljava/lang/String;)V
-HPLandroid/telecom/Log;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;)V
-HSPLandroid/telecom/Log;->startSession(Ljava/lang/String;)V
-HPLandroid/telecom/Log;->startSession(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telecom/Log;->v(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-HPLandroid/telecom/Log;->w(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;-><init>()V
-HSPLandroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;->get()I
-HPLandroid/telecom/Logging/-$$Lambda$SessionManager$VyH2gT1EjIvzDy_C9JfTT60CISM;->run()V
-HSPLandroid/telecom/Logging/-$$Lambda$SessionManager$hhtZwTEbvO-fLNlAvB6Do9_2gW4;->get()J
-HPLandroid/telecom/Logging/EventManager$Event;-><init>(Ljava/lang/String;Ljava/lang/String;JLjava/lang/Object;)V
-HPLandroid/telecom/Logging/EventManager$EventRecord;->addEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
-PLandroid/telecom/Logging/EventManager$EventRecord;->getRecordEntry()Landroid/telecom/Logging/EventManager$Loggable;
-HSPLandroid/telecom/Logging/EventManager$TimedEventPair;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telecom/Logging/EventManager$TimedEventPair;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-HSPLandroid/telecom/Logging/EventManager;-><init>(Landroid/telecom/Logging/SessionManager$ISessionIdQueryHandler;)V
-PLandroid/telecom/Logging/EventManager;->addEventRecord(Landroid/telecom/Logging/EventManager$EventRecord;)V
-HSPLandroid/telecom/Logging/EventManager;->addRequestResponsePair(Landroid/telecom/Logging/EventManager$TimedEventPair;)V
-HSPLandroid/telecom/Logging/EventManager;->event(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/Object;)V
-PLandroid/telecom/Logging/EventManager;->event(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLandroid/telecom/Logging/EventManager;->registerEventListener(Landroid/telecom/Logging/EventManager$EventListener;)V
-HPLandroid/telecom/Logging/Runnable$1;->run()V
-PLandroid/telecom/Logging/Runnable;-><init>(Ljava/lang/String;Ljava/lang/Object;)V
-PLandroid/telecom/Logging/Runnable;->cancel()V
-PLandroid/telecom/Logging/Runnable;->prepare()Ljava/lang/Runnable;
-PLandroid/telecom/Logging/Session$Info$1;-><init>()V
-PLandroid/telecom/Logging/Session$Info$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/Logging/Session$Info;
-PLandroid/telecom/Logging/Session$Info$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/telecom/Logging/Session$Info;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telecom/Logging/Session;-><init>(Ljava/lang/String;Ljava/lang/String;JZLjava/lang/String;)V
-HSPLandroid/telecom/Logging/Session;->addChild(Landroid/telecom/Logging/Session;)V
-HSPLandroid/telecom/Logging/Session;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telecom/Logging/Session;->getChildSessions()Ljava/util/ArrayList;
-HSPLandroid/telecom/Logging/Session;->getExecutionStartTimeMilliseconds()J
-HSPLandroid/telecom/Logging/Session;->getFullMethodPath(Ljava/lang/StringBuilder;Z)V
-HSPLandroid/telecom/Logging/Session;->getFullMethodPath(Z)Ljava/lang/String;
-HSPLandroid/telecom/Logging/Session;->getFullSessionId()Ljava/lang/String;
-PLandroid/telecom/Logging/Session;->getInfo()Landroid/telecom/Logging/Session$Info;
-HSPLandroid/telecom/Logging/Session;->getLocalExecutionTime()J
-HSPLandroid/telecom/Logging/Session;->getNextChildId()Ljava/lang/String;
-HSPLandroid/telecom/Logging/Session;->getParentSession()Landroid/telecom/Logging/Session;
-HSPLandroid/telecom/Logging/Session;->getShortMethodName()Ljava/lang/String;
-HSPLandroid/telecom/Logging/Session;->isExternal()Z
-HSPLandroid/telecom/Logging/Session;->isSessionCompleted()Z
-HSPLandroid/telecom/Logging/Session;->isStartedFromActiveSession()Z
-HSPLandroid/telecom/Logging/Session;->markSessionCompleted(J)V
-PLandroid/telecom/Logging/Session;->printFullSessionTree()Ljava/lang/String;
-PLandroid/telecom/Logging/Session;->printSessionTree()Ljava/lang/String;
-PLandroid/telecom/Logging/Session;->printSessionTree(ILjava/lang/StringBuilder;)V
-HSPLandroid/telecom/Logging/Session;->removeChild(Landroid/telecom/Logging/Session;)V
-HSPLandroid/telecom/Logging/Session;->setExecutionStartTimeMs(J)V
-HSPLandroid/telecom/Logging/Session;->setParentSession(Landroid/telecom/Logging/Session;)V
-HSPLandroid/telecom/Logging/Session;->setSessionId(Ljava/lang/String;)V
-HSPLandroid/telecom/Logging/Session;->setShortMethodName(Ljava/lang/String;)V
-HSPLandroid/telecom/Logging/Session;->toString()Ljava/lang/String;
-HSPLandroid/telecom/Logging/SessionManager;-><init>()V
-PLandroid/telecom/Logging/SessionManager;->cancelSubsession(Landroid/telecom/Logging/Session;)V
-HPLandroid/telecom/Logging/SessionManager;->cleanupStaleSessions(J)V
-HSPLandroid/telecom/Logging/SessionManager;->continueSession(Landroid/telecom/Logging/Session;Ljava/lang/String;)V
-HSPLandroid/telecom/Logging/SessionManager;->createSubsession()Landroid/telecom/Logging/Session;
-HSPLandroid/telecom/Logging/SessionManager;->createSubsession(Z)Landroid/telecom/Logging/Session;
-HSPLandroid/telecom/Logging/SessionManager;->endParentSessions(Landroid/telecom/Logging/Session;)V
-HSPLandroid/telecom/Logging/SessionManager;->endSession()V
-PLandroid/telecom/Logging/SessionManager;->getExternalSession()Landroid/telecom/Logging/Session$Info;
-HSPLandroid/telecom/Logging/SessionManager;->getNextSessionID()Ljava/lang/String;
-HSPLandroid/telecom/Logging/SessionManager;->getSessionId()Ljava/lang/String;
-PLandroid/telecom/Logging/SessionManager;->lambda$new$0$SessionManager()V
-HSPLandroid/telecom/Logging/SessionManager;->lambda$new$1$SessionManager()J
-HSPLandroid/telecom/Logging/SessionManager;->registerSessionListener(Landroid/telecom/Logging/SessionManager$ISessionListener;)V
-HSPLandroid/telecom/Logging/SessionManager;->resetStaleSessionTimer()V
-HSPLandroid/telecom/Logging/SessionManager;->setContext(Landroid/content/Context;)V
-HPLandroid/telecom/Logging/SessionManager;->startExternalSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;)V
-PLandroid/telecom/Logging/SessionManager;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telecom/Logging/SessionManager;->startSession(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telecom/ParcelableCall$1;-><init>()V
-HSPLandroid/telecom/ParcelableCall;-><init>(Ljava/lang/String;ILandroid/telecom/DisconnectCause;Ljava/util/List;IIIJLandroid/net/Uri;ILjava/lang/String;ILandroid/telecom/GatewayInfo;Landroid/telecom/PhoneAccountHandle;ZLcom/android/internal/telecom/IVideoProvider;ZLandroid/telecom/ParcelableRttCall;Ljava/lang/String;Ljava/util/List;Landroid/telecom/StatusHints;ILjava/util/List;Landroid/os/Bundle;Landroid/os/Bundle;JLandroid/telecom/CallIdentification;I)V
-HPLandroid/telecom/ParcelableCall;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/telecom/ParcelableConnection$1;-><init>()V
-HPLandroid/telecom/ParcelableConnection$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/ParcelableConnection;
-PLandroid/telecom/ParcelableConnection$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/telecom/ParcelableConnection;-><init>(Landroid/telecom/PhoneAccountHandle;IIIILandroid/net/Uri;ILjava/lang/String;ILcom/android/internal/telecom/IVideoProvider;IZZJJLandroid/telecom/StatusHints;Landroid/telecom/DisconnectCause;Ljava/util/List;Landroid/os/Bundle;)V
-PLandroid/telecom/ParcelableConnection;-><init>(Landroid/telecom/PhoneAccountHandle;IIIILandroid/net/Uri;ILjava/lang/String;ILcom/android/internal/telecom/IVideoProvider;IZZJJLandroid/telecom/StatusHints;Landroid/telecom/DisconnectCause;Ljava/util/List;Landroid/os/Bundle;Ljava/lang/String;)V
-HSPLandroid/telecom/PhoneAccount$1;-><init>()V
-HSPLandroid/telecom/PhoneAccount$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/PhoneAccount;
-HSPLandroid/telecom/PhoneAccount$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telecom/PhoneAccount$Builder;->addSupportedUriScheme(Ljava/lang/String;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->build()Landroid/telecom/PhoneAccount;
-HSPLandroid/telecom/PhoneAccount$Builder;->setAddress(Landroid/net/Uri;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setCapabilities(I)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setExtras(Landroid/os/Bundle;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setGroupId(Ljava/lang/String;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setHighlightColor(I)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setIcon(Landroid/graphics/drawable/Icon;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setIsEnabled(Z)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setShortDescription(Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setSubscriptionAddress(Landroid/net/Uri;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setSupportedAudioRoutes(I)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount$Builder;->setSupportedUriSchemes(Ljava/util/List;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telecom/PhoneAccount;-><init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/net/Uri;ILandroid/graphics/drawable/Icon;ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/util/List;Landroid/os/Bundle;IZLjava/lang/String;)V
-HSPLandroid/telecom/PhoneAccount;->areBundlesEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-HSPLandroid/telecom/PhoneAccount;->audioRoutesToString()Ljava/lang/String;
-HSPLandroid/telecom/PhoneAccount;->builder(Landroid/telecom/PhoneAccountHandle;Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;
-HSPLandroid/telecom/PhoneAccount;->capabilitiesToString()Ljava/lang/String;
-HSPLandroid/telecom/PhoneAccount;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telecom/PhoneAccount;->getAccountHandle()Landroid/telecom/PhoneAccountHandle;
-HSPLandroid/telecom/PhoneAccount;->getExtras()Landroid/os/Bundle;
-HSPLandroid/telecom/PhoneAccount;->hasCapabilities(I)Z
-HSPLandroid/telecom/PhoneAccount;->supportsUriScheme(Ljava/lang/String;)Z
-HSPLandroid/telecom/PhoneAccount;->toString()Ljava/lang/String;
-HSPLandroid/telecom/PhoneAccount;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telecom/PhoneAccountHandle$1;-><init>()V
HSPLandroid/telecom/PhoneAccountHandle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/PhoneAccountHandle;
HSPLandroid/telecom/PhoneAccountHandle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telecom/PhoneAccountHandle;-><init>(Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLandroid/telecom/PhoneAccountHandle;-><init>(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/telecom/PhoneAccountHandle;->checkParameters(Landroid/content/ComponentName;Landroid/os/UserHandle;)V
-HSPLandroid/telecom/PhoneAccountHandle;->describeContents()I
-HSPLandroid/telecom/PhoneAccountHandle;->equals(Ljava/lang/Object;)Z
HSPLandroid/telecom/PhoneAccountHandle;->getComponentName()Landroid/content/ComponentName;
HSPLandroid/telecom/PhoneAccountHandle;->getId()Ljava/lang/String;
-HSPLandroid/telecom/PhoneAccountHandle;->hashCode()I
HSPLandroid/telecom/PhoneAccountHandle;->toString()Ljava/lang/String;
HSPLandroid/telecom/PhoneAccountHandle;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/telecom/TelecomAnalytics$SessionTiming$1;-><init>()V
HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V
-HPLandroid/telecom/TelecomManager;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-HSPLandroid/telecom/TelecomManager;->from(Landroid/content/Context;)Landroid/telecom/TelecomManager;
-HSPLandroid/telecom/TelecomManager;->getCallCapablePhoneAccounts()Ljava/util/List;
-HSPLandroid/telecom/TelecomManager;->getCallCapablePhoneAccounts(Z)Ljava/util/List;
-HSPLandroid/telecom/TelecomManager;->getCurrentTtyMode()I
+HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;Lcom/android/internal/telecom/ITelecomService;)V
+HSPLandroid/telecom/TelecomManager;->getCallState()I
HSPLandroid/telecom/TelecomManager;->getDefaultDialerPackage()Ljava/lang/String;
-HSPLandroid/telecom/TelecomManager;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-HSPLandroid/telecom/TelecomManager;->getDefaultPhoneApp()Landroid/content/ComponentName;
-HSPLandroid/telecom/TelecomManager;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-HSPLandroid/telecom/TelecomManager;->getPhoneAccountsSupportingScheme(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle;
-HSPLandroid/telecom/TelecomManager;->getSystemDialerPackage()Ljava/lang/String;
-HSPLandroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-HSPLandroid/telecom/TelecomManager;->isInCall()Z
-HSPLandroid/telecom/TelecomManager;->isRinging()Z
-HSPLandroid/telecom/TelecomManager;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Z
-HSPLandroid/telecom/TelecomManager;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
-HSPLandroid/telecom/TelecomManager;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLandroid/telecom/VideoProfile$1;-><init>()V
-HSPLandroid/telecom/VideoProfile;->isVideo(I)Z
-HSPLandroid/telecom/VideoProfile;->videoStateToString(I)Ljava/lang/String;
-HSPLandroid/telephony/-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4;-><init>()V
-HSPLandroid/telephony/-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0;-><init>()V
-HSPLandroid/telephony/-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$-CiOzgf6ys4EwlCYOVUsuz9YQ5c;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$0s34qsuHFsa43jUHrTkD62ni6Ds;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2VMO21pFQN-JN3kpn6vQN1zPFEU;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$4NHt5Shg_DHV-T1IxfcQLHP5-j0;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$6czWSGzxct0CXPVO54T0aq05qls;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$JalixlMNdjktPsNntP_JT9pymhs;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$WYWtWHdkZDxBd9anjoxyZozPWHc;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$XyayAGWQZC2dNjwr697SfSGBBOc;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$aysbwPqxcLV_5w6LP0TzZu2D-ew;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$bELzxgwsPigyVKYkAXBO2BjcSm8;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$dUc3j82sK9P9Zpaq-91n9bk_Rpc;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$lHL69WZlO89JjNC1LLvFWp2OuKY;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$nrGqSRBJrc3_EwotCDNwfKeizIo;->run()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$oDAZqs8paeefe_3k_uRKV5plQW4;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$okPCYOx4UxYuvUHlM2iS425QGIg;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;->runOrThrow()V
-HSPLandroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;->test(Ljava/lang/Object;)Z
-HSPLandroid/telephony/AccessNetworkConstants$AccessNetworkType;->toString(I)Ljava/lang/String;
-HSPLandroid/telephony/AccessNetworkConstants;->transportTypeToString(I)Ljava/lang/String;
-HSPLandroid/telephony/AccessNetworkUtils;->getOperatingBandForEarfcn(I)I
-HSPLandroid/telephony/AnomalyReporter;->initialize(Landroid/content/Context;)V
-HSPLandroid/telephony/CallAttributes$1;-><init>()V
-HPLandroid/telephony/CallAttributes;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CallQuality$1;-><init>()V
-HPLandroid/telephony/CallQuality;->toString()Ljava/lang/String;
-HPLandroid/telephony/CallQuality;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CarrierConfigManager$Gps;->access$000()Landroid/os/PersistableBundle;
-HSPLandroid/telephony/CarrierConfigManager$Gps;->getDefaults()Landroid/os/PersistableBundle;
+HSPLandroid/telecom/TelecomManager;->getTelecomService()Lcom/android/internal/telecom/ITelecomService;
+HSPLandroid/telecom/TelecomManager;->isServiceConnected()Z
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$MtX5gtAKHxLcUp_ibya6VO1zuoE;-><init>(Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$MtX5gtAKHxLcUp_ibya6VO1zuoE;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Rh4FuYaAZPAbrOYr6GGF6llSePE;-><init>(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Rh4FuYaAZPAbrOYr6GGF6llSePE;->run()V
+HSPLandroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;-><init>(Landroid/telephony/SubscriptionManager;)V
+HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$3Kis6wL1IbLustWe9A2o4-2YpGo;->createService(Landroid/content/Context;)Ljava/lang/Object;
+HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$b_92_3ZijRrdEa9yLyFA5xu19OM;->createService(Landroid/content/Context;)Ljava/lang/Object;
+HSPLandroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$sQClc4rjc9ydh0nXpY79gr33av4;->createService(Landroid/content/Context;)Ljava/lang/Object;
+HSPLandroid/telephony/-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8;-><init>(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
+HSPLandroid/telephony/-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8;->run()V
HSPLandroid/telephony/CarrierConfigManager;-><init>(Landroid/content/Context;)V
HSPLandroid/telephony/CarrierConfigManager;->getConfig()Landroid/os/PersistableBundle;
HSPLandroid/telephony/CarrierConfigManager;->getConfigForSubId(I)Landroid/os/PersistableBundle;
-HPLandroid/telephony/CarrierConfigManager;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-HSPLandroid/telephony/CarrierConfigManager;->getDefaultConfig()Landroid/os/PersistableBundle;
-HSPLandroid/telephony/CarrierConfigManager;->isConfigForIdentifiedCarrier(Landroid/os/PersistableBundle;)Z
-HSPLandroid/telephony/CarrierConfigManager;->updateConfigForPhoneId(ILjava/lang/String;)V
-HSPLandroid/telephony/CellConfigLte$1;-><init>()V
-HSPLandroid/telephony/CellConfigLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellConfigLte;
-HSPLandroid/telephony/CellConfigLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellConfigLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellConfigLte;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellIdentity$1;-><init>()V
+HSPLandroid/telephony/CarrierConfigManager;->getICarrierConfigLoader()Lcom/android/internal/telephony/ICarrierConfigLoader;
+HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentity;
+HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILandroid/os/Parcel;)V
HSPLandroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telephony/CellIdentity;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellIdentity;->getType()I
-HSPLandroid/telephony/CellIdentityCdma$1;-><init>()V
-HSPLandroid/telephony/CellIdentityCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityCdma;
-HSPLandroid/telephony/CellIdentityCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityCdma;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellIdentityGsm$1;-><init>()V
-HSPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityGsm;
-HSPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityGsm;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellIdentityGsm;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellIdentityLte$1;-><init>()V
-HSPLandroid/telephony/CellIdentityLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellIdentityLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityLte;-><init>(Landroid/hardware/radio/V1_2/CellIdentityLte;)V
-HSPLandroid/telephony/CellIdentityLte;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellIdentityLte;->asCellLocation()Landroid/telephony/CellLocation;
-HSPLandroid/telephony/CellIdentityLte;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellIdentityLte;->getChannelNumber()I
-HSPLandroid/telephony/CellIdentityLte;->getMcc()I
-HSPLandroid/telephony/CellIdentityLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellIdentityLte;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellIdentityWcdma$1;-><init>()V
+HSPLandroid/telephony/CellIdentity;->isMcc(Ljava/lang/String;)Z
+HSPLandroid/telephony/CellIdentity;->isMnc(Ljava/lang/String;)Z
+HSPLandroid/telephony/CellIdentity;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/telephony/CellIdentityWcdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityWcdma;
HSPLandroid/telephony/CellIdentityWcdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityWcdma;-><init>(Landroid/hardware/radio/V1_2/CellIdentityWcdma;)V
-HSPLandroid/telephony/CellIdentityWcdma;->asCellLocation()Landroid/telephony/CellLocation;
-HSPLandroid/telephony/CellIdentityWcdma;->asCellLocation()Landroid/telephony/gsm/GsmCellLocation;
-HSPLandroid/telephony/CellIdentityWcdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellIdentityWcdma;->getChannelNumber()I
-HSPLandroid/telephony/CellIdentityWcdma;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellIdentityWcdma;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/CellIdentityWcdma;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityWcdma;
HSPLandroid/telephony/CellIdentityWcdma;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellInfo$1;-><init>()V
-HSPLandroid/telephony/CellInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellInfo;
-HSPLandroid/telephony/CellInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellInfo;->create(Landroid/hardware/radio/V1_2/CellInfo;)Landroid/telephony/CellInfo;
-HSPLandroid/telephony/CellInfo;->isRegistered()Z
-HSPLandroid/telephony/CellInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellInfoGsm$1;-><init>()V
-HSPLandroid/telephony/CellInfoLte$1;-><init>()V
-HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/hardware/radio/V1_2/CellInfo;)V
-HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentity;
-HSPLandroid/telephony/CellInfoLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellInfoLte;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellInfoWcdma$1;-><init>()V
-HSPLandroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentity;
-HSPLandroid/telephony/CellInfoWcdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellInfoWcdma;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellLocation;->getEmpty()Landroid/telephony/CellLocation;
-HSPLandroid/telephony/CellSignalStrengthCdma$1;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthCdma;
-HSPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrength;-><init>()V
HSPLandroid/telephony/CellSignalStrengthCdma;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(IIIII)V
-HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellSignalStrengthCdma;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthCdma;->getCdmaLevel()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->getEvdoLevel()I
-HSPLandroid/telephony/CellSignalStrengthCdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthCdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/CellSignalStrengthGsm$1;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthGsm;
-HSPLandroid/telephony/CellSignalStrengthGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthCdma;->setDefaultValues()V
HSPLandroid/telephony/CellSignalStrengthGsm;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(III)V
-HSPLandroid/telephony/CellSignalStrengthGsm;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthGsm;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthGsm;->getLevel()I
-HSPLandroid/telephony/CellSignalStrengthGsm;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthGsm;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/CellSignalStrengthLte$1;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthLte;
-HSPLandroid/telephony/CellSignalStrengthLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthGsm;->setDefaultValues()V
HSPLandroid/telephony/CellSignalStrengthLte;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthLte;-><init>(IIIIII)V
-HSPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/hardware/radio/V1_0/LteSignalStrength;)V
-HSPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellSignalStrengthLte;->convertRssiAsuToDBm(I)I
-HSPLandroid/telephony/CellSignalStrengthLte;->copyFrom(Landroid/telephony/CellSignalStrengthLte;)V
-HSPLandroid/telephony/CellSignalStrengthLte;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthLte;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthLte;->getDbm()I
-HSPLandroid/telephony/CellSignalStrengthLte;->getLevel()I
-HSPLandroid/telephony/CellSignalStrengthLte;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthLte;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/CellSignalStrengthLte;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthNr$1;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthNr$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthNr;
-HSPLandroid/telephony/CellSignalStrengthNr$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthLte;->setDefaultValues()V
HSPLandroid/telephony/CellSignalStrengthNr;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthNr;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellSignalStrengthNr;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthNr;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthNr;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthNr;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/CellSignalStrengthNr;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellSignalStrengthTdscdma$1;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthTdscdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthTdscdma;
-HSPLandroid/telephony/CellSignalStrengthTdscdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthNr;->setDefaultValues()V
HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(III)V
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/CellSignalStrengthWcdma$1;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthWcdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthWcdma;
-HSPLandroid/telephony/CellSignalStrengthWcdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthTdscdma;->setDefaultValues()V
HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>()V
-HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(IIII)V
-HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/hardware/radio/V1_2/WcdmaSignalStrength;)V
-HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellSignalStrengthWcdma;->describeContents()I
-HSPLandroid/telephony/CellSignalStrengthWcdma;->equals(Ljava/lang/Object;)Z
-HPLandroid/telephony/CellSignalStrengthWcdma;->getDbm()I
-HSPLandroid/telephony/CellSignalStrengthWcdma;->getLevel()I
-HSPLandroid/telephony/CellSignalStrengthWcdma;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellSignalStrengthWcdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/ClientRequestStats$1;-><init>()V
-HSPLandroid/telephony/ClientRequestStats;-><init>()V
-HSPLandroid/telephony/ClientRequestStats;->updateRequestHistograms(II)V
-HSPLandroid/telephony/DataFailCause$1;-><init>()V
-HSPLandroid/telephony/DataFailCause;->getFailCause(I)I
-HSPLandroid/telephony/DataFailCause;->isEventLoggable(I)Z
-HSPLandroid/telephony/DataFailCause;->isPermanentFailure(Landroid/content/Context;II)Z
-HSPLandroid/telephony/DataFailCause;->isRadioRestartFailure(Landroid/content/Context;II)Z
-HSPLandroid/telephony/DataFailCause;->toString(I)Ljava/lang/String;
-HSPLandroid/telephony/DataSpecificRegistrationInfo$1;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthWcdma;->setDefaultValues()V
HSPLandroid/telephony/DataSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/DataSpecificRegistrationInfo;
HSPLandroid/telephony/DataSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/DataSpecificRegistrationInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/DataSpecificRegistrationInfo;->toString()Ljava/lang/String;
-PLandroid/telephony/DisconnectCause;->toString(I)Ljava/lang/String;
-HSPLandroid/telephony/INetworkService$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/INetworkService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/INetworkService;
-HSPLandroid/telephony/INetworkServiceCallback$Stub;-><init>()V
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;-><init>()V
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->build()Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingPackage(Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingPid(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingUid(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setMethod(Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setMinSdkVersionForCoarse(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setMinSdkVersionForFine(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionResult;-><init>(Ljava/lang/String;I)V
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionResult;->values()[Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
-HSPLandroid/telephony/LocationAccessPolicy;->checkAppLocationPermissionHelper(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
-HSPLandroid/telephony/LocationAccessPolicy;->checkLocationPermission(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
-HSPLandroid/telephony/LocationAccessPolicy;->isAppAtLeastSdkVersion(Landroid/content/Context;Ljava/lang/String;I)Z
-HSPLandroid/telephony/LocationAccessPolicy;->isCurrentProfile(Landroid/content/Context;I)Z
-HSPLandroid/telephony/LocationAccessPolicy;->logError(Landroid/content/Context;Ljava/lang/String;)V
-HSPLandroid/telephony/LteVopsSupportInfo$1;-><init>()V
+HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/DataSpecificRegistrationInfo$1;)V
+HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/telephony/DataSpecificRegistrationInfo;)V
HSPLandroid/telephony/LteVopsSupportInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/LteVopsSupportInfo;
HSPLandroid/telephony/LteVopsSupportInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/LteVopsSupportInfo;-><init>(II)V
-HSPLandroid/telephony/ModemActivityInfo$1;-><init>()V
-HSPLandroid/telephony/ModemActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ModemActivityInfo;
-HSPLandroid/telephony/ModemActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/ModemActivityInfo;-><init>(JII[III)V
-HSPLandroid/telephony/ModemActivityInfo;->getEnergyUsed()I
-HSPLandroid/telephony/ModemActivityInfo;->getIdleTimeMillis()I
-HSPLandroid/telephony/ModemActivityInfo;->getRxTimeMillis()I
-HSPLandroid/telephony/ModemActivityInfo;->getSleepTimeMillis()I
-HSPLandroid/telephony/ModemActivityInfo;->getTimestamp()J
-HSPLandroid/telephony/ModemActivityInfo;->getTxTimeMillis()[I
-HSPLandroid/telephony/ModemActivityInfo;->isEmpty()Z
-HSPLandroid/telephony/ModemActivityInfo;->isValid()Z
-HSPLandroid/telephony/ModemActivityInfo;->setEnergyUsed(I)V
-HSPLandroid/telephony/ModemActivityInfo;->setIdleTimeMillis(I)V
-HSPLandroid/telephony/ModemActivityInfo;->setRxTimeMillis(I)V
-HSPLandroid/telephony/ModemActivityInfo;->setSleepTimeMillis(I)V
-HSPLandroid/telephony/ModemActivityInfo;->setTimestamp(J)V
-HSPLandroid/telephony/ModemActivityInfo;->setTxTimeMillis([I)V
-HSPLandroid/telephony/ModemActivityInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ModemActivityInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/ModemInfo$1;-><init>()V
-HSPLandroid/telephony/ModemInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ModemInfo;
-HSPLandroid/telephony/ModemInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/ModemInfo;-><init>(IIZZ)V
-HSPLandroid/telephony/ModemInfo;->hashCode()I
-HSPLandroid/telephony/ModemInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ModemInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/NetworkRegistrationInfo$1;-><init>()V
+HSPLandroid/telephony/LteVopsSupportInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/LteVopsSupportInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/LteVopsSupportInfo$1;)V
HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/NetworkRegistrationInfo;
HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;IZZZLandroid/telephony/LteVopsSupportInfo;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;ZIII)V
HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/NetworkRegistrationInfo;->getAccessNetworkTechnology()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->getRegistrationState()I
-HSPLandroid/telephony/NetworkRegistrationInfo;->isInService()Z
-HSPLandroid/telephony/NetworkRegistrationInfo;->registrationStateToString(I)Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->serviceTypeToString(I)Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/NetworkRegistrationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/NetworkService$INetworkServiceWrapper;->createNetworkServiceProvider(I)V
-HSPLandroid/telephony/NetworkService$INetworkServiceWrapper;->registerForNetworkRegistrationInfoChanged(ILandroid/telephony/INetworkServiceCallback;)V
-HSPLandroid/telephony/NetworkService$INetworkServiceWrapper;->requestNetworkRegistrationInfo(IILandroid/telephony/INetworkServiceCallback;)V
-HSPLandroid/telephony/NetworkService$NetworkServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/telephony/NetworkService$NetworkServiceProvider;-><init>(Landroid/telephony/NetworkService;I)V
-HSPLandroid/telephony/NetworkService$NetworkServiceProvider;->notifyInfoChangedToCallbacks()V
-HSPLandroid/telephony/NetworkService$NetworkServiceProvider;->notifyNetworkRegistrationInfoChanged()V
-HSPLandroid/telephony/NetworkService$NetworkServiceProvider;->registerForInfoChanged(Landroid/telephony/INetworkServiceCallback;)V
-HSPLandroid/telephony/NetworkService;-><init>()V
-HSPLandroid/telephony/NetworkService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/telephony/NetworkServiceCallback;->onRequestNetworkRegistrationInfoComplete(ILandroid/telephony/NetworkRegistrationInfo;)V
-HSPLandroid/telephony/PhoneCapability$1;-><init>()V
-HSPLandroid/telephony/PhoneCapability$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PhoneCapability;
-HSPLandroid/telephony/PhoneCapability$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/PhoneCapability;-><init>(IIILjava/util/List;Z)V
-HSPLandroid/telephony/PhoneCapability;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/PhoneCapability;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/PhoneCapability;->hashCode()I
-HSPLandroid/telephony/PhoneCapability;->toString()Ljava/lang/String;
-HSPLandroid/telephony/PhoneCapability;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/PhoneNumberUtils;->bcdToChar(BI)C
-HSPLandroid/telephony/PhoneNumberUtils;->calledPartyBCDToString([BIII)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->compare(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->compareLoosely(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->convertKeypadLettersToDigits(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->createTtsSpan(Ljava/lang/String;)Landroid/text/style/TtsSpan;
-HSPLandroid/telephony/PhoneNumberUtils;->createTtsSpannable(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->extractPostDialPortion(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Landroid/text/Editable;I)V
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumberInternal(Ljava/lang/String;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->formatNumberToE164(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->getFormatTypeFromCountryCode(Ljava/lang/String;)I
-HSPLandroid/telephony/PhoneNumberUtils;->internalCalledPartyBCDFragmentToString(Ljava/lang/StringBuilder;[BIII)V
-HSPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumber(Ljava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->isGlobalPhoneNumber(Ljava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumberInternal(ILjava/lang/String;Landroid/content/Context;Z)Z
-HSPLandroid/telephony/PhoneNumberUtils;->isNonSeparator(C)Z
-HPLandroid/telephony/PhoneNumberUtils;->isUriNumber(Ljava/lang/String;)Z
-HPLandroid/telephony/PhoneNumberUtils;->isVoiceMailNumber(Landroid/content/Context;ILjava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->splitAtNonNumerics(Ljava/lang/CharSequence;)Ljava/lang/String;
-HPLandroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/telephony/PhoneNumberUtils;->stripSeparators(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/telephony/PhoneNumberUtils;->toaFromString(Ljava/lang/String;)I
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCallForwardingIndicatorChanged$7$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Z)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCallStateChanged$11$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;ILjava/lang/String;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCellInfoChanged$21$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Ljava/util/List;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCellLocationChanged$9$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/CellLocation;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onDataActivity$15$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onDataConnectionStateChanged$13$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;II)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onMessageWaitingIndicatorChanged$5$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Z)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onPhoneCapabilityChanged$47$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/PhoneCapability;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onPreciseCallStateChanged$23$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/PreciseCallState;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onServiceStateChanged$1$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onSignalStrengthsChanged$17$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/SignalStrength;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCallForwardingIndicatorChanged(Z)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCallStateChanged(ILjava/lang/String;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellInfoChanged(Ljava/util/List;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellLocationChanged(Landroid/os/Bundle;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataActivity(I)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataConnectionStateChanged(II)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onMessageWaitingIndicatorChanged(Z)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
+HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/NetworkRegistrationInfo$1;)V
+HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/telephony/NetworkRegistrationInfo;)V
+HPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;-><init>(Landroid/telephony/PhoneStateListener;Ljava/util/concurrent/Executor;)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$54(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$55$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onActiveDataSubIdChanged(I)V
HSPLandroid/telephony/PhoneStateListener;-><init>()V
-HSPLandroid/telephony/PhoneStateListener;-><init>(Landroid/os/Looper;)V
HSPLandroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;Landroid/os/Looper;)V
-HSPLandroid/telephony/PhoneStateListener;->onDataConnectionStateChanged(I)V
-HSPLandroid/telephony/PhysicalChannelConfig$1;-><init>()V
-HSPLandroid/telephony/PhysicalChannelConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PhysicalChannelConfig;
-HSPLandroid/telephony/PhysicalChannelConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/PhysicalChannelConfig$Builder;-><init>()V
-HSPLandroid/telephony/PhysicalChannelConfig$Builder;->build()Landroid/telephony/PhysicalChannelConfig;
-HSPLandroid/telephony/PhysicalChannelConfig;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/PhysicalChannelConfig;-><init>(Landroid/telephony/PhysicalChannelConfig$Builder;)V
-HSPLandroid/telephony/PhysicalChannelConfig;->getConnectionStatusString()Ljava/lang/String;
-HSPLandroid/telephony/PhysicalChannelConfig;->toString()Ljava/lang/String;
-HSPLandroid/telephony/PhysicalChannelConfig;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/PreciseCallState$1;-><init>()V
-HSPLandroid/telephony/PreciseCallState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PreciseCallState;
-HSPLandroid/telephony/PreciseCallState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/PreciseCallState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/PreciseCallState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/PreciseDataConnectionState$1;-><init>()V
-HSPLandroid/telephony/PreciseDataConnectionState;-><init>(IIILjava/lang/String;Landroid/net/LinkProperties;I)V
-HPLandroid/telephony/PreciseDataConnectionState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/RadioAccessFamily$1;-><init>()V
-HSPLandroid/telephony/RadioAccessFamily;->getAdjustedRaf(I)I
-HSPLandroid/telephony/RadioAccessFamily;->getNetworkTypeFromRaf(I)I
-HSPLandroid/telephony/RadioAccessFamily;->getRadioAccessFamily()I
-HSPLandroid/telephony/RadioAccessFamily;->getRafFromNetworkType(I)I
+HSPLandroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;Ljava/util/concurrent/Executor;)V
+HSPLandroid/telephony/PhoneStateListener;-><init>(Ljava/util/concurrent/Executor;)V
HSPLandroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/telephony/Rlog;->isLoggable(Ljava/lang/String;I)Z
-HSPLandroid/telephony/Rlog;->pii(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/telephony/Rlog;->pii(ZLjava/lang/Object;)Ljava/lang/String;
-HSPLandroid/telephony/Rlog;->secureHash([B)Ljava/lang/String;
-HSPLandroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/telephony/ServiceState$1;-><init>()V
HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ServiceState;
HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/telephony/ServiceState;-><init>()V
HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/ServiceState;-><init>(Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/ServiceState;->addNetworkRegistrationInfo(Landroid/telephony/NetworkRegistrationInfo;)V
-HSPLandroid/telephony/ServiceState;->convertBearerBitmaskToNetworkTypeBitmask(I)I
-HSPLandroid/telephony/ServiceState;->convertNetworkTypeBitmaskToBearerBitmask(I)I
-HSPLandroid/telephony/ServiceState;->copyFrom(Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/ServiceState;->describeContents()I
-HSPLandroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/ServiceState;->getCdmaDefaultRoamingIndicator()I
-HSPLandroid/telephony/ServiceState;->getCdmaEriIconIndex()I
-HSPLandroid/telephony/ServiceState;->getCdmaEriIconMode()I
-HSPLandroid/telephony/ServiceState;->getCdmaNetworkId()I
-HSPLandroid/telephony/ServiceState;->getCdmaRoamingIndicator()I
-HSPLandroid/telephony/ServiceState;->getCdmaSystemId()I
-HSPLandroid/telephony/ServiceState;->getCellBandwidths()[I
-HSPLandroid/telephony/ServiceState;->getCssIndicator()I
-HSPLandroid/telephony/ServiceState;->getDataNetworkType()I
-HSPLandroid/telephony/ServiceState;->getDataOperatorAlphaLong()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getDataOperatorAlphaShort()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getDataOperatorNumeric()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getDataRegState()I
-HSPLandroid/telephony/ServiceState;->getDataRoaming()Z
-HSPLandroid/telephony/ServiceState;->getDataRoamingFromRegistration()Z
-HSPLandroid/telephony/ServiceState;->getDataRoamingType()I
-HSPLandroid/telephony/ServiceState;->getDuplexMode()I
-HSPLandroid/telephony/ServiceState;->getIsManualSelection()Z
-HSPLandroid/telephony/ServiceState;->getLteEarfcnRsrpBoost()I
-HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfo(II)Landroid/telephony/NetworkRegistrationInfo;
-HSPLandroid/telephony/ServiceState;->getNrFrequencyRange()I
-HSPLandroid/telephony/ServiceState;->getNrState()I
-HSPLandroid/telephony/ServiceState;->getOperatorAlpha()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getRilDataRadioTechnology()I
-HSPLandroid/telephony/ServiceState;->getRilVoiceRadioTechnology()I
-HSPLandroid/telephony/ServiceState;->getRoaming()Z
-HSPLandroid/telephony/ServiceState;->getState()I
-HSPLandroid/telephony/ServiceState;->getVoiceNetworkType()I
-HSPLandroid/telephony/ServiceState;->getVoiceOperatorAlphaLong()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getVoiceOperatorAlphaShort()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getVoiceOperatorNumeric()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->getVoiceRegState()I
-HSPLandroid/telephony/ServiceState;->getVoiceRoaming()Z
-HSPLandroid/telephony/ServiceState;->getVoiceRoamingType()I
-HSPLandroid/telephony/ServiceState;->isEmergencyOnly()Z
-HSPLandroid/telephony/ServiceState;->isGsm(I)Z
-HSPLandroid/telephony/ServiceState;->isUsingCarrierAggregation()Z
-HSPLandroid/telephony/ServiceState;->networkTypeToRilRadioTechnology(I)I
-HSPLandroid/telephony/ServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/ServiceState;
-HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I
-HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToNetworkType(I)I
-HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->roamingTypeToString(I)Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->sanitizeLocationInfo(Z)Landroid/telephony/ServiceState;
-HSPLandroid/telephony/ServiceState;->setCdmaDefaultRoamingIndicator(I)V
-HSPLandroid/telephony/ServiceState;->setCdmaEriIconIndex(I)V
-HSPLandroid/telephony/ServiceState;->setCdmaEriIconMode(I)V
-HSPLandroid/telephony/ServiceState;->setCdmaRoamingIndicator(I)V
-HSPLandroid/telephony/ServiceState;->setCdmaSystemAndNetworkId(II)V
-HSPLandroid/telephony/ServiceState;->setCellBandwidths([I)V
-HSPLandroid/telephony/ServiceState;->setChannelNumber(I)V
-HSPLandroid/telephony/ServiceState;->setCssIndicator(I)V
-HSPLandroid/telephony/ServiceState;->setDataOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telephony/ServiceState;->setDataRegState(I)V
-HSPLandroid/telephony/ServiceState;->setDataRoaming(Z)V
-HSPLandroid/telephony/ServiceState;->setDataRoamingType(I)V
-HSPLandroid/telephony/ServiceState;->setEmergencyOnly(Z)V
-HSPLandroid/telephony/ServiceState;->setIsManualSelection(Z)V
-HSPLandroid/telephony/ServiceState;->setIsUsingCarrierAggregation(Z)V
-HSPLandroid/telephony/ServiceState;->setLteEarfcnRsrpBoost(I)V
-HSPLandroid/telephony/ServiceState;->setNrFrequencyRange(I)V
-HSPLandroid/telephony/ServiceState;->setNullState(I)V
-HSPLandroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telephony/ServiceState;->setRilDataRadioTechnology(I)V
-HSPLandroid/telephony/ServiceState;->setRilVoiceRadioTechnology(I)V
-HSPLandroid/telephony/ServiceState;->setStateOff()V
-HSPLandroid/telephony/ServiceState;->setStateOutOfService()V
-HSPLandroid/telephony/ServiceState;->setVoiceOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telephony/ServiceState;->setVoiceRegState(I)V
-HSPLandroid/telephony/ServiceState;->setVoiceRoaming(Z)V
-HSPLandroid/telephony/ServiceState;->setVoiceRoamingType(I)V
-HSPLandroid/telephony/ServiceState;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/SignalStrength$1;-><init>()V
-HSPLandroid/telephony/SignalStrength$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SignalStrength;
-HSPLandroid/telephony/SignalStrength$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/telephony/SignalStrength;-><init>()V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/hardware/radio/V1_2/SignalStrength;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/SignalStrength;)V
-HSPLandroid/telephony/SignalStrength;->copyFrom(Landroid/telephony/SignalStrength;)V
-HSPLandroid/telephony/SignalStrength;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V
-HPLandroid/telephony/SignalStrength;->getCellSignalStrengths()Ljava/util/List;
-HPLandroid/telephony/SignalStrength;->getCellSignalStrengths(Ljava/lang/Class;)Ljava/util/List;
-HSPLandroid/telephony/SignalStrength;->getLevel()I
-HSPLandroid/telephony/SignalStrength;->getPrimary()Landroid/telephony/CellSignalStrength;
-HSPLandroid/telephony/SignalStrength;->isGsm()Z
-HSPLandroid/telephony/SignalStrength;->toString()Ljava/lang/String;
-HSPLandroid/telephony/SignalStrength;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/SignalStrength;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/SmsManager;-><init>(I)V
-HPLandroid/telephony/SmsManager;->getAutoPersisting()Z
-HSPLandroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager;
-HSPLandroid/telephony/SmsManager;->getMmsConfig(Landroid/os/BaseBundle;)Landroid/os/Bundle;
-PLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;)Landroid/telephony/SmsMessage;
-HSPLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;Z)Landroid/telephony/SmsMessage;
-HSPLandroid/telephony/SubscriptionInfo$1;-><init>()V
-HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;
-HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;IZLjava/lang/String;ZIII)V
-HSPLandroid/telephony/SubscriptionInfo;->getCarrierId()I
-HSPLandroid/telephony/SubscriptionInfo;->getCarrierName()Ljava/lang/CharSequence;
-HSPLandroid/telephony/SubscriptionInfo;->getCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionInfo;->getDisplayName()Ljava/lang/CharSequence;
-HSPLandroid/telephony/SubscriptionInfo;->getGroupUuid()Landroid/os/ParcelUuid;
-HSPLandroid/telephony/SubscriptionInfo;->getIccId()Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionInfo;->getMcc()I
-HSPLandroid/telephony/SubscriptionInfo;->getMnc()I
-HSPLandroid/telephony/SubscriptionInfo;->getNameSource()I
-HSPLandroid/telephony/SubscriptionInfo;->getNumber()Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionInfo;->getSimSlotIndex()I
-HSPLandroid/telephony/SubscriptionInfo;->getSubscriptionId()I
-HSPLandroid/telephony/SubscriptionInfo;->givePrintableIccid(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionInfo;->isEmbedded()Z
-HSPLandroid/telephony/SubscriptionInfo;->isOpportunistic()Z
-HSPLandroid/telephony/SubscriptionInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;-><init>()V
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$1;->onSubscriptionsChanged()V
-HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/CellSignalStrengthCdma;Landroid/telephony/CellSignalStrengthGsm;Landroid/telephony/CellSignalStrengthWcdma;Landroid/telephony/CellSignalStrengthTdscdma;Landroid/telephony/CellSignalStrengthLte;Landroid/telephony/CellSignalStrengthNr;)V
+HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;-><init>(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
+HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;-><init>(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;Landroid/os/Looper;)V
HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;-><init>()V
HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;-><init>(Landroid/os/Looper;)V
-HSPLandroid/telephony/SubscriptionManager;->addOnOpportunisticSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;)V
+HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;->access$000(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)Landroid/os/HandlerExecutor;
+HSPLandroid/telephony/SubscriptionManager;-><init>(Landroid/content/Context;)V
HSPLandroid/telephony/SubscriptionManager;->addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
-HSPLandroid/telephony/SubscriptionManager;->addSubscriptionInfoRecord(Ljava/lang/String;I)Landroid/net/Uri;
-HSPLandroid/telephony/SubscriptionManager;->addSubscriptionInfoRecord(Ljava/lang/String;Ljava/lang/String;II)V
HSPLandroid/telephony/SubscriptionManager;->from(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionIdList()[I
+HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionIdList(Z)[I
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoForSimSlotIndex(I)Landroid/telephony/SubscriptionInfo;
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoList()Ljava/util/List;
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoList(Z)Ljava/util/List;
-HSPLandroid/telephony/SubscriptionManager;->getDefaultDataPhoneId()I
HSPLandroid/telephony/SubscriptionManager;->getDefaultDataSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getDefaultDataSubscriptionInfo()Landroid/telephony/SubscriptionInfo;
HSPLandroid/telephony/SubscriptionManager;->getDefaultSmsSubscriptionId()I
HSPLandroid/telephony/SubscriptionManager;->getDefaultSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getDefaultVoicePhoneId()I
HSPLandroid/telephony/SubscriptionManager;->getDefaultVoiceSubscriptionId()I
-HSPLandroid/telephony/SubscriptionManager;->getIntegerSubscriptionProperty(ILjava/lang/String;ILandroid/content/Context;)I
-HSPLandroid/telephony/SubscriptionManager;->getOpportunisticSubscriptions()Ljava/util/List;
HSPLandroid/telephony/SubscriptionManager;->getPhoneId(I)I
-HSPLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;I)Landroid/content/res/Resources;
-HSPLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;IZ)Landroid/content/res/Resources;
+PLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;I)Landroid/content/res/Resources;
+PLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;IZ)Landroid/content/res/Resources;
HSPLandroid/telephony/SubscriptionManager;->getSimStateForSlotIndex(I)I
HSPLandroid/telephony/SubscriptionManager;->getSlotIndex(I)I
-HSPLandroid/telephony/SubscriptionManager;->getSubId(I)[I
-HSPLandroid/telephony/SubscriptionManager;->getSubscriptionProperty(ILjava/lang/String;Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/telephony/SubscriptionManager;->getUriForSubscriptionId(I)Landroid/net/Uri;
-HSPLandroid/telephony/SubscriptionManager;->isActiveSubId(I)Z
-HSPLandroid/telephony/SubscriptionManager;->isSubscriptionVisible(Landroid/telephony/SubscriptionInfo;)Z
HSPLandroid/telephony/SubscriptionManager;->isUsableSubIdValue(I)Z
-HSPLandroid/telephony/SubscriptionManager;->isValidPhoneId(I)Z
HSPLandroid/telephony/SubscriptionManager;->isValidSlotIndex(I)Z
HSPLandroid/telephony/SubscriptionManager;->isValidSubscriptionId(I)Z
-HSPLandroid/telephony/SubscriptionManager;->lambda$getActiveSubscriptionInfoList$0$SubscriptionManager(Landroid/telephony/SubscriptionInfo;)Z
-HSPLandroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;I)V
-HSPLandroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;II)V
-HSPLandroid/telephony/SubscriptionManager;->removeOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
-HSPLandroid/telephony/SubscriptionManager;->setDefaultDataSubId(I)V
-HSPLandroid/telephony/SubscriptionPlan$1;-><init>()V
-HSPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Landroid/telephony/SubscriptionPlan;
-HSPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/telephony/TelephonyHistogram$1;-><init>()V
-HSPLandroid/telephony/TelephonyHistogram;-><init>(III)V
-HPLandroid/telephony/TelephonyHistogram;-><init>(Landroid/telephony/TelephonyHistogram;)V
-HSPLandroid/telephony/TelephonyHistogram;->addTimeTaken(I)V
-HPLandroid/telephony/TelephonyHistogram;->getBucketCounters()[I
-HPLandroid/telephony/TelephonyHistogram;->getBucketEndPoints()[I
-HSPLandroid/telephony/TelephonyManager$MultiSimVariants;-><init>(Ljava/lang/String;I)V
-HSPLandroid/telephony/TelephonyManager$MultiSimVariants;->values()[Landroid/telephony/TelephonyManager$MultiSimVariants;
-HSPLandroid/telephony/TelephonyManager;-><init>()V
+HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$0(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
+HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$1(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;
+HSPLandroid/telephony/TelephonyFrameworkInitializer;->lambda$registerServiceWrappers$2(Landroid/content/Context;)Landroid/telephony/CarrierConfigManager;
HSPLandroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
HSPLandroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;I)V
-HSPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
HSPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-HSPLandroid/telephony/TelephonyManager;->createForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telephony/TelephonyManager;
HSPLandroid/telephony/TelephonyManager;->createForSubscriptionId(I)Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyManager;->enableIms(I)V
-HSPLandroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
-HPLandroid/telephony/TelephonyManager;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-HSPLandroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
+HSPLandroid/telephony/TelephonyManager;->getActiveModemCount()I
HSPLandroid/telephony/TelephonyManager;->getCallState()I
-HSPLandroid/telephony/TelephonyManager;->getCardIdForDefaultEuicc()I
-HSPLandroid/telephony/TelephonyManager;->getCarrierConfig()Landroid/os/PersistableBundle;
-HPLandroid/telephony/TelephonyManager;->getCarrierIdFromSimMccMnc()I
-HSPLandroid/telephony/TelephonyManager;->getCarrierInfoForImsiEncryption(I)Landroid/telephony/ImsiEncryptionInfo;
-HSPLandroid/telephony/TelephonyManager;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/telephony/TelephonyManager;->getCertsFromCarrierPrivilegeAccessRules()Ljava/util/List;
HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneType()I
HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneType(I)I
HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneTypeForSlot(I)I
-HSPLandroid/telephony/TelephonyManager;->getDataEnabled()Z
HSPLandroid/telephony/TelephonyManager;->getDataEnabled(I)Z
-HSPLandroid/telephony/TelephonyManager;->getDataNetworkType()I
-HSPLandroid/telephony/TelephonyManager;->getDataNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getDataState()I
HSPLandroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager;
-HSPLandroid/telephony/TelephonyManager;->getEmergencyNumberList()Ljava/util/Map;
-HSPLandroid/telephony/TelephonyManager;->getGroupIdLevel1()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getImei()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getFeatureId()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
HSPLandroid/telephony/TelephonyManager;->getImei(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLandroid/telephony/TelephonyManager;->getImsMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLandroid/telephony/TelephonyManager;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLandroid/telephony/TelephonyManager;->getIsimIst()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getLine1Number(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getMergedSubscriberIds()[Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getMultiSimConfiguration()Landroid/telephony/TelephonyManager$MultiSimVariants;
HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getNetworkOperatorForPhone(I)Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getNetworkOperatorName(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkType()I
-HSPLandroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNumberOfModemsWithSimultaneousDataConnections()I
-HSPLandroid/telephony/TelephonyManager;->getOtaSpNumberSchemaForPhone(ILjava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getPackagesWithCarrierPrivileges()Ljava/util/List;
+HSPLandroid/telephony/TelephonyManager;->getOpPackageName()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getPhoneCount()I
HSPLandroid/telephony/TelephonyManager;->getPhoneType()I
-HSPLandroid/telephony/TelephonyManager;->getPhoneType(I)I
-HSPLandroid/telephony/TelephonyManager;->getProcCmdLine()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getServiceState()Landroid/telephony/ServiceState;
-HSPLandroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState;
-HPLandroid/telephony/TelephonyManager;->getSignalStrength()Landroid/telephony/SignalStrength;
-HSPLandroid/telephony/TelephonyManager;->getSimApplicationState()I
-HSPLandroid/telephony/TelephonyManager;->getSimCarrierId()I
-HSPLandroid/telephony/TelephonyManager;->getSimCount()I
HSPLandroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimCountryIsoForPhone(I)Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorName(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimOperatorNameForPhone(I)Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumeric()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String;
@@ -14389,358 +6428,28 @@ HSPLandroid/telephony/TelephonyManager;->getSimState()I
HSPLandroid/telephony/TelephonyManager;->getSimState(I)I
HSPLandroid/telephony/TelephonyManager;->getSimStateIncludingLoaded()I
HSPLandroid/telephony/TelephonyManager;->getSlotIndex()I
-HSPLandroid/telephony/TelephonyManager;->getSmsReceiveCapableForPhone(IZ)Z
-HSPLandroid/telephony/TelephonyManager;->getSmsSendCapableForPhone(IZ)Z
-HSPLandroid/telephony/TelephonyManager;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
-HSPLandroid/telephony/TelephonyManager;->getSubIdForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)I
-HSPLandroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getTetherApnRequired()Z
-HSPLandroid/telephony/TelephonyManager;->getTetherApnRequired(I)Z
-HSPLandroid/telephony/TelephonyManager;->getUiccCardsInfo()Ljava/util/List;
-HSPLandroid/telephony/TelephonyManager;->getVisualVoicemailPackageName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getVoiceMailNumber(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType()I
-HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getVtDataUsage(I)Landroid/net/NetworkStats;
-HSPLandroid/telephony/TelephonyManager;->isDataCapable()Z
+HSPLandroid/telephony/TelephonyManager;->getSubId()I
+HSPLandroid/telephony/TelephonyManager;->getSubId(I)I
+HSPLandroid/telephony/TelephonyManager;->getSubscriberInfo()Lcom/android/internal/telephony/IPhoneSubInfo;
+HSPLandroid/telephony/TelephonyManager;->getTelephonyProperty(ILjava/util/List;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/telephony/TelephonyManager;->getTelephonyRegistry()Lcom/android/internal/telephony/ITelephonyRegistry;
HSPLandroid/telephony/TelephonyManager;->isDataEnabled()Z
-HSPLandroid/telephony/TelephonyManager;->isEmergencyNumber(Ljava/lang/String;)Z
-HSPLandroid/telephony/TelephonyManager;->isImsiEncryptionRequired(II)Z
-HSPLandroid/telephony/TelephonyManager;->isMultiSimEnabled()Z
-HSPLandroid/telephony/TelephonyManager;->isNetworkRoaming()Z
HSPLandroid/telephony/TelephonyManager;->isNetworkRoaming(I)Z
HSPLandroid/telephony/TelephonyManager;->isSmsCapable()Z
HSPLandroid/telephony/TelephonyManager;->isVoiceCapable()Z
HSPLandroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
-HSPLandroid/telephony/TelephonyManager;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
-HSPLandroid/telephony/TelephonyManager;->setBasebandVersionForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setDataNetworkTypeForPhone(II)V
-HSPLandroid/telephony/TelephonyManager;->setNetworkOperatorNameForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setNetworkOperatorNumericForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setNetworkRoamingForPhone(IZ)V
-HSPLandroid/telephony/TelephonyManager;->setPhoneType(II)V
-HSPLandroid/telephony/TelephonyManager;->setPolicyDataEnabled(ZI)V
-HSPLandroid/telephony/TelephonyManager;->setSimCountryIsoForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setSimOperatorNameForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setSimOperatorNumericForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setSimStateForPhone(ILjava/lang/String;)V
-HSPLandroid/telephony/TelephonyManager;->setTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)V
-PLandroid/telephony/TelephonyScanManager$NetworkScanCallback;-><init>()V
-HSPLandroid/telephony/UiccAccessRule$1;-><init>()V
-HSPLandroid/telephony/UiccAccessRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/UiccAccessRule;
-HSPLandroid/telephony/UiccAccessRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/UiccAccessRule$1;->newArray(I)[Landroid/telephony/UiccAccessRule;
-HSPLandroid/telephony/UiccAccessRule$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/telephony/UiccCardInfo$1;-><init>()V
-HSPLandroid/telephony/UiccSlotInfo$1;-><init>()V
-HSPLandroid/telephony/UiccSlotInfo;-><init>(ZZLjava/lang/String;IIZZ)V
-HSPLandroid/telephony/UiccSlotInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo$1;-><init>()V
+HSPLandroid/telephony/TelephonyRegistryManager$1;-><init>(Landroid/telephony/TelephonyRegistryManager;Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
+HSPLandroid/telephony/TelephonyRegistryManager$1;->lambda$onSubscriptionsChanged$0(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
+HSPLandroid/telephony/TelephonyRegistryManager$1;->onSubscriptionsChanged()V
+HSPLandroid/telephony/TelephonyRegistryManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/telephony/TelephonyRegistryManager;->addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;Ljava/util/concurrent/Executor;)V
HSPLandroid/telephony/VoiceSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/VoiceSpecificRegistrationInfo;
HSPLandroid/telephony/VoiceSpecificRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/data/ApnSetting$1;-><init>()V
-HSPLandroid/telephony/data/ApnSetting$Builder;-><init>()V
-HSPLandroid/telephony/data/ApnSetting$Builder;->access$2800(Landroid/telephony/data/ApnSetting$Builder;I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->buildWithoutCheck()Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setApnName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setApnSetId(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setApnTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setAuthType(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setCarrierEnabled(Z)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setCarrierId(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setEntryName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMaxConns(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMaxConnsTime(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMmsProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMmsProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMmsc(Landroid/net/Uri;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setModemCognitive(Z)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMtu(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMvnoMatchData(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setMvnoType(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setNetworkTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setOperatorNumeric(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setPassword(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setProfileId(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setProtocol(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setRoamingProtocol(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setSkip464Xlat(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setUser(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting$Builder;->setWaitTime(I)Landroid/telephony/data/ApnSetting$Builder;
-HSPLandroid/telephony/data/ApnSetting;-><init>(Landroid/telephony/data/ApnSetting$Builder;)V
-HSPLandroid/telephony/data/ApnSetting;->UriFromString(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/telephony/data/ApnSetting;->canHandleType(I)Z
-HSPLandroid/telephony/data/ApnSetting;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/data/ApnSetting;->equals(Ljava/lang/Object;Z)Z
-HSPLandroid/telephony/data/ApnSetting;->getApnName()Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getApnTypeBitmask()I
-HSPLandroid/telephony/data/ApnSetting;->getApnTypeString(I)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getApnTypesBitmaskFromString(Ljava/lang/String;)I
-HSPLandroid/telephony/data/ApnSetting;->getApnTypesStringFromBitmask(I)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getAuthType()I
-HSPLandroid/telephony/data/ApnSetting;->getEntryName()Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getId()I
-HSPLandroid/telephony/data/ApnSetting;->getMaxConns()I
-HSPLandroid/telephony/data/ApnSetting;->getMaxConnsTime()I
-HSPLandroid/telephony/data/ApnSetting;->getMtu()I
-HSPLandroid/telephony/data/ApnSetting;->getMvnoTypeIntFromString(Ljava/lang/String;)I
-HSPLandroid/telephony/data/ApnSetting;->getNetworkTypeBitmask()I
-HSPLandroid/telephony/data/ApnSetting;->getOperatorNumeric()Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getPassword()Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getPermanentFailed()Z
-HSPLandroid/telephony/data/ApnSetting;->getProfileId()I
-HSPLandroid/telephony/data/ApnSetting;->getProtocol()I
-HSPLandroid/telephony/data/ApnSetting;->getProtocolIntFromString(Ljava/lang/String;)I
-HSPLandroid/telephony/data/ApnSetting;->getProtocolStringFromInt(I)Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getProxyAddressAsString()Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getProxyPort()I
-HSPLandroid/telephony/data/ApnSetting;->getRoamingProtocol()I
-HSPLandroid/telephony/data/ApnSetting;->getSkip464Xlat()I
-HSPLandroid/telephony/data/ApnSetting;->getUser()Ljava/lang/String;
-HSPLandroid/telephony/data/ApnSetting;->getWaitTime()I
-HSPLandroid/telephony/data/ApnSetting;->isEnabled()Z
-HSPLandroid/telephony/data/ApnSetting;->isPersistent()Z
-HSPLandroid/telephony/data/ApnSetting;->makeApnSetting(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/net/Uri;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IIIIZIIZIIIIILjava/lang/String;III)Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting;->makeApnSetting(Landroid/database/Cursor;)Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting;->portFromString(Ljava/lang/String;)I
-HSPLandroid/telephony/data/ApnSetting;->setPermanentFailed(Z)V
-HSPLandroid/telephony/data/ApnSetting;->similar(Landroid/telephony/data/ApnSetting;)Z
-HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String;
-HSPLandroid/telephony/data/DataCallResponse$1;-><init>()V
-HSPLandroid/telephony/data/DataCallResponse;-><init>(IIIIILjava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V
-HSPLandroid/telephony/data/DataCallResponse;->toString()Ljava/lang/String;
-HSPLandroid/telephony/data/DataProfile$1;-><init>()V
-HSPLandroid/telephony/data/DataProfile$Builder;->build()Landroid/telephony/data/DataProfile;
-HSPLandroid/telephony/data/DataProfile;-><init>(ILjava/lang/String;IILjava/lang/String;Ljava/lang/String;IIIIZIIIIZZ)V
-HSPLandroid/telephony/data/DataProfile;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/data/DataProfile;->toString()Ljava/lang/String;
-HSPLandroid/telephony/data/DataService$DataServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/telephony/data/DataService$DataServiceProvider;-><init>(Landroid/telephony/data/DataService;I)V
-HSPLandroid/telephony/data/DataService$DataServiceProvider;->notifyDataCallListChanged(Ljava/util/List;)V
-HSPLandroid/telephony/data/DataService$DataServiceProvider;->registerForDataCallListChanged(Landroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->createDataServiceProvider(I)V
-HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->registerForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->setDataProfile(ILjava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->setInitialAttachApn(ILandroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->setupDataCall(IILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/DataService;-><init>()V
-HSPLandroid/telephony/data/DataService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/telephony/data/DataServiceCallback;->onDeactivateDataCallComplete(I)V
-HSPLandroid/telephony/data/DataServiceCallback;->onSetInitialAttachApnComplete(I)V
-HSPLandroid/telephony/data/DataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
-HSPLandroid/telephony/data/IDataService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/data/IDataService;
-HSPLandroid/telephony/data/IDataServiceCallback$Stub;-><init>()V
-HSPLandroid/telephony/emergency/EmergencyNumber$1;-><init>()V
-HSPLandroid/telephony/emergency/EmergencyNumber$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/emergency/EmergencyNumber;
-HSPLandroid/telephony/emergency/EmergencyNumber$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/emergency/EmergencyNumber;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/emergency/EmergencyNumber;->areSameEmergencyNumbers(Landroid/telephony/emergency/EmergencyNumber;Landroid/telephony/emergency/EmergencyNumber;)Z
-HSPLandroid/telephony/emergency/EmergencyNumber;->compareTo(Ljava/lang/Object;)I
-HSPLandroid/telephony/emergency/EmergencyNumber;->getDisplayPriorityScore()I
-HSPLandroid/telephony/emergency/EmergencyNumber;->hashCode()I
-HSPLandroid/telephony/emergency/EmergencyNumber;->mergeSameNumbersInEmergencyNumberList(Ljava/util/List;)V
-HSPLandroid/telephony/emergency/EmergencyNumber;->toString()Ljava/lang/String;
-HSPLandroid/telephony/emergency/EmergencyNumber;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/euicc/EuiccManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/euicc/EuiccManager;->isEnabled()Z
-HSPLandroid/telephony/gsm/GsmCellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V
-HSPLandroid/telephony/gsm/GsmCellLocation;->getCid()I
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08;->run()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$gK2iK9ZQ3GDeuMTfhRd7yjiYlO8;->runOrThrow()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$8xq93ap6i0L56Aegaj-ZEUt9ISc;->runOrThrow()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$AhnK6VJjwgpDNC1GXRrwfgtYvkM;->runOrThrow()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$F58PRHsH__07pmyvC0NTRprfEPU;->runOrThrow()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$J4VhgcUtd6SivHcdkzpurbTuyLc;->run()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$iuI3HyNU5eUABA_QRyzQ8Jw2-8g;->runOrThrow()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$jAP4lCkBQEdyrlgt5jaNPTlFXlY;->run()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$oDp7ilyKfflFThUCP4Du9EYoDoQ;->run()V
-HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$q0Uz23ATIYan5EBJYUigIVvwE3g;->run()V
-HSPLandroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM;->run()V
-HSPLandroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$rMBayJlNIko46WAqcRq_ggxbfrY;->runOrThrow()V
-HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;->lambda$onCapabilitiesStatusChanged$0$ImsMmTelManager$CapabilityCallback$CapabilityBinder(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;->lambda$onCapabilitiesStatusChanged$1$ImsMmTelManager$CapabilityCallback$CapabilityBinder(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;->onCapabilitiesStatusChanged(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback;-><init>()V
-HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback;->setExecutor(Ljava/util/concurrent/Executor;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder$1;-><init>()V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->getAccessType(I)I
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onDeregistered$4$ImsMmTelManager$RegistrationCallback$RegistrationBinder(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onDeregistered$5$ImsMmTelManager$RegistrationCallback$RegistrationBinder(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistered$0$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistered$1$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistering$2$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistering$3$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onSubscriberAssociatedUriChanged$8$ImsMmTelManager$RegistrationCallback$RegistrationBinder([Landroid/net/Uri;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onSubscriberAssociatedUriChanged$9$ImsMmTelManager$RegistrationCallback$RegistrationBinder([Landroid/net/Uri;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onRegistered(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onRegistering(I)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback;-><init>()V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback;->setExecutor(Ljava/util/concurrent/Executor;)V
-HSPLandroid/telephony/ims/ImsMmTelManager;->createForSubscriptionId(I)Landroid/telephony/ims/ImsMmTelManager;
-HSPLandroid/telephony/ims/ImsMmTelManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
-HSPLandroid/telephony/ims/ImsMmTelManager;->isAvailable(II)Z
-HSPLandroid/telephony/ims/ImsMmTelManager;->isImsAvailableOnDevice()Z
-HSPLandroid/telephony/ims/ImsMmTelManager;->registerMmTelCapabilityCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V
-HSPLandroid/telephony/ims/ImsMmTelManager;->unregisterMmTelCapabilityCallback(Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V
-HSPLandroid/telephony/ims/ImsReasonInfo$1;-><init>()V
-HSPLandroid/telephony/ims/ImsReasonInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ims/ImsReasonInfo;
-HSPLandroid/telephony/ims/ImsReasonInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/ims/ImsReasonInfo;-><init>(IILjava/lang/String;)V
-HSPLandroid/telephony/ims/ImsReasonInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/ImsReasonInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/ims/ImsService$1;->createMmTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLandroid/telephony/ims/ImsService$1;->enableIms(I)V
-HSPLandroid/telephony/ims/ImsService$1;->getConfig(I)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLandroid/telephony/ims/ImsService$1;->getRegistration(I)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLandroid/telephony/ims/ImsService$1;->notifyImsServiceReadyForFeatureCreation()V
-HSPLandroid/telephony/ims/ImsService$1;->setListener(Landroid/telephony/ims/aidl/IImsServiceControllerListener;)V
-HSPLandroid/telephony/ims/ImsService$Listener;-><init>()V
-HSPLandroid/telephony/ims/ImsService;-><init>()V
-HSPLandroid/telephony/ims/ImsService;->addImsFeature(IILandroid/telephony/ims/feature/ImsFeature;)V
-HSPLandroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;->lambda$onIntConfigChanged$0$ProvisioningManager$Callback$CallbackBinder(II)V
-HSPLandroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;->lambda$onIntConfigChanged$1$ProvisioningManager$Callback$CallbackBinder(II)V
-HSPLandroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;->onIntConfigChanged(II)V
-HSPLandroid/telephony/ims/ProvisioningManager$Callback;-><init>()V
-HSPLandroid/telephony/ims/ProvisioningManager$Callback;->setExecutor(Ljava/util/concurrent/Executor;)V
-HSPLandroid/telephony/ims/RcsMessageStore;-><init>()V
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;->onCapabilitiesStatusChanged(I)V
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;-><init>()V
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/telephony/ims/aidl/IImsConfigCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;->getFeatureState()I
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/telephony/ims/aidl/IImsRegistration$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsRegistration$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-PLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->onRegistered(I)V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsRegistrationCallback;
-HSPLandroid/telephony/ims/aidl/IImsServiceController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsServiceController;
-HSPLandroid/telephony/ims/aidl/IImsServiceControllerListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsSmsListener$Stub;-><init>()V
-HSPLandroid/telephony/ims/aidl/IRcs$Stub;-><init>()V
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$1;-><init>()V
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->getCapability()I
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->getRadioTech()I
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->hashCode()I
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;-><init>()V
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->addCapabilitiesToDisableForTech(II)V
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->addCapabilitiesToEnableForTech(II)V
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->getCapabilitiesToDisable()Ljava/util/List;
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->getCapabilitiesToEnable()Ljava/util/List;
-HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/feature/ImsFeature$Capabilities;->copy()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-HSPLandroid/telephony/ims/feature/ImsFeature;-><init>()V
-HSPLandroid/telephony/ims/feature/ImsFeature;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/ImsFeature;->addImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
-HSPLandroid/telephony/ims/feature/ImsFeature;->getFeatureState()I
-HSPLandroid/telephony/ims/feature/ImsFeature;->notifyCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
-HSPLandroid/telephony/ims/feature/ImsFeature;->notifyFeatureState(I)V
-HSPLandroid/telephony/ims/feature/ImsFeature;->queryCapabilityStatus()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-HSPLandroid/telephony/ims/feature/ImsFeature;->requestChangeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/ImsFeature;->sendImsServiceIntent(I)V
-HSPLandroid/telephony/ims/feature/ImsFeature;->setFeatureState(I)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->changeCapabilitiesConfiguration(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getFeatureState()I
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->onSmsReady()V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->queryCapabilityConfiguration(IILandroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->removeCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->setListener(Landroid/telephony/ims/aidl/IImsMmTelListener;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$1;->setUiTtyMode(ILandroid/os/Message;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$Listener;-><init>()V
-HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;-><init>()V
-HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;-><init>(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->addCapabilities(I)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->isCapable(I)Z
-HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->removeCapabilities(I)V
-HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/feature/MmTelFeature;-><init>()V
-HSPLandroid/telephony/ims/feature/MmTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLandroid/telephony/ims/feature/MmTelFeature;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLandroid/telephony/ims/feature/MmTelFeature;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLandroid/telephony/ims/feature/MmTelFeature;->notifyCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature;->queryCapabilityConfigurationInternal(IILandroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/feature/MmTelFeature;->queryCapabilityStatus()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-HSPLandroid/telephony/ims/feature/MmTelFeature;->setListener(Landroid/telephony/ims/aidl/IImsMmTelListener;)V
-HSPLandroid/telephony/ims/stub/-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA;->accept(Ljava/lang/Object;)V
-HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE;->accept(Ljava/lang/Object;)V
-HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI;->accept(Ljava/lang/Object;)V
-HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0;->accept(Ljava/lang/Object;)V
-HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s;->accept(Ljava/lang/Object;)V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->addImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-HPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getConfigInt(I)I
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getImsConfigImpl()Landroid/telephony/ims/stub/ImsConfigImplBase;
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->notifyImsConfigChanged(II)V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->setConfigInt(II)I
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(IIZ)V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase;->getIImsConfig()Landroid/telephony/ims/aidl/IImsConfig;
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase;->lambda$notifyConfigChanged$0(IILandroid/telephony/ims/aidl/IImsConfigCallback;)V
-HSPLandroid/telephony/ims/stub/ImsEcbmImplBase$1;->setListener(Lcom/android/ims/internal/IImsEcbmListener;)V
-HSPLandroid/telephony/ims/stub/ImsEcbmImplBase;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsEcbmImplBase;->getImsEcbm()Lcom/android/ims/internal/IImsEcbm;
-HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;->hashCode()I
-HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration;->getServiceFeatures()Ljava/util/Set;
-HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase$1;->setListener(Lcom/android/ims/internal/IImsExternalCallStateListener;)V
-HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase;->getIImsMultiEndpoint()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase;->onImsExternalCallStateUpdate(Ljava/util/List;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase$1;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase$1;->getRegistrationTechnology()I
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->getConnectionType()I
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->lambda$onDeregistered$2(Landroid/telephony/ims/ImsReasonInfo;Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->lambda$onRegistered$0(ILandroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->lambda$onRegistering$1(ILandroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->lambda$onSubscriberAssociatedUriChanged$4([Landroid/net/Uri;Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->onRegistered(I)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->onRegistering(I)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->updateNewCallbackWithState(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->updateToDisconnectedState(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->updateToState(II)V
-HSPLandroid/telephony/ims/stub/ImsSmsImplBase;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsSmsImplBase;->registerSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-HSPLandroid/telephony/ims/stub/ImsUtImplBase$1;->setListener(Lcom/android/ims/internal/IImsUtListener;)V
-HSPLandroid/telephony/ims/stub/ImsUtImplBase;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsUtImplBase;->getInterface()Lcom/android/ims/internal/IImsUt;
-HSPLandroid/text/AndroidBidi$EmojiBidiOverride;-><init>()V
-HSPLandroid/text/AndroidBidi$EmojiBidiOverride;->classify(I)I
-HSPLandroid/text/AndroidBidi;->bidi(I[C[B)I
-HSPLandroid/text/AndroidBidi;->directions(I[BI[CII)Landroid/text/Layout$Directions;
+HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/os/Parcel;Landroid/telephony/VoiceSpecificRegistrationInfo$1;)V
+HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/telephony/VoiceSpecificRegistrationInfo;)V
HSPLandroid/text/AutoGrowArray$ByteArray;->clear()V
HSPLandroid/text/AutoGrowArray$ByteArray;->clearWithReleasingLargeArray()V
-HSPLandroid/text/AutoGrowArray$ByteArray;->get(I)B
-HSPLandroid/text/AutoGrowArray$ByteArray;->getRawArray()[B
-HSPLandroid/text/AutoGrowArray$ByteArray;->resize(I)V
HSPLandroid/text/AutoGrowArray$FloatArray;->clear()V
HSPLandroid/text/AutoGrowArray$FloatArray;->clearWithReleasingLargeArray()V
HSPLandroid/text/AutoGrowArray$FloatArray;->getRawArray()[F
@@ -14749,22 +6458,8 @@ HSPLandroid/text/AutoGrowArray$IntArray;->append(I)V
HSPLandroid/text/AutoGrowArray$IntArray;->clear()V
HSPLandroid/text/AutoGrowArray$IntArray;->clearWithReleasingLargeArray()V
HSPLandroid/text/AutoGrowArray$IntArray;->getRawArray()[I
-HSPLandroid/text/BidiFormatter$DirectionalityEstimator;->dirTypeBackward()B
-HSPLandroid/text/BidiFormatter$DirectionalityEstimator;->dirTypeForward()B
-HSPLandroid/text/BidiFormatter$DirectionalityEstimator;->getEntryDir()I
-HSPLandroid/text/BidiFormatter$DirectionalityEstimator;->getExitDir()I
-HSPLandroid/text/BidiFormatter;-><init>(ZILandroid/text/TextDirectionHeuristic;)V
-HSPLandroid/text/BidiFormatter;->getInstance()Landroid/text/BidiFormatter;
-HSPLandroid/text/BidiFormatter;->markAfter(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
-HSPLandroid/text/BidiFormatter;->markBefore(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
-HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/CharSequence;
-HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
-HSPLandroid/text/BoringLayout$Metrics;-><init>()V
-HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V
+HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V
HSPLandroid/text/BoringLayout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
-HSPLandroid/text/BoringLayout;->ellipsized(II)V
HSPLandroid/text/BoringLayout;->getEllipsisCount(I)I
HSPLandroid/text/BoringLayout;->getEllipsisStart(I)I
HSPLandroid/text/BoringLayout;->getEllipsizedWidth()I
@@ -14773,7 +6468,6 @@ HSPLandroid/text/BoringLayout;->getLineContainsTab(I)Z
HSPLandroid/text/BoringLayout;->getLineCount()I
HSPLandroid/text/BoringLayout;->getLineDescent(I)I
HSPLandroid/text/BoringLayout;->getLineDirections(I)Landroid/text/Layout$Directions;
-HSPLandroid/text/BoringLayout;->getLineMax(I)F
HSPLandroid/text/BoringLayout;->getLineStart(I)I
HSPLandroid/text/BoringLayout;->getLineTop(I)I
HSPLandroid/text/BoringLayout;->getLineWidth(I)F
@@ -14781,139 +6475,39 @@ HSPLandroid/text/BoringLayout;->getParagraphDirection(I)I
HSPLandroid/text/BoringLayout;->hasAnyInterestingChars(Ljava/lang/CharSequence;I)Z
HSPLandroid/text/BoringLayout;->init(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
-HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
-HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
HSPLandroid/text/BoringLayout;->replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
-HSPLandroid/text/BoringLayout;->replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
-HSPLandroid/text/CharSequenceCharacterIterator;->current()C
-HSPLandroid/text/CharSequenceCharacterIterator;->first()C
-HSPLandroid/text/CharSequenceCharacterIterator;->getBeginIndex()I
-HSPLandroid/text/CharSequenceCharacterIterator;->getEndIndex()I
-HSPLandroid/text/CharSequenceCharacterIterator;->getIndex()I
-HSPLandroid/text/CharSequenceCharacterIterator;->next()C
-HSPLandroid/text/CharSequenceCharacterIterator;->setIndex(I)C
-HSPLandroid/text/DynamicLayout$Builder;->build()Landroid/text/DynamicLayout;
-HSPLandroid/text/DynamicLayout$Builder;->obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;
-HSPLandroid/text/DynamicLayout$ChangeWatcher;->afterTextChanged(Landroid/text/Editable;)V
-HSPLandroid/text/DynamicLayout$ChangeWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
-HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/text/DynamicLayout$ChangeWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/text/DynamicLayout;-><init>(Landroid/text/DynamicLayout$Builder;)V
-HSPLandroid/text/DynamicLayout;->addBlockAtOffset(I)V
-HSPLandroid/text/DynamicLayout;->contentMayProtrudeFromLineTopOrBottom(Ljava/lang/CharSequence;II)Z
-HSPLandroid/text/DynamicLayout;->createBlocks()V
-HSPLandroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V
-HSPLandroid/text/DynamicLayout;->getBlockEndLines()[I
-HSPLandroid/text/DynamicLayout;->getBlockIndices()[I
-HSPLandroid/text/DynamicLayout;->getBlocksAlwaysNeedToBeRedrawn()Landroid/util/ArraySet;
-HSPLandroid/text/DynamicLayout;->getEllipsisCount(I)I
-HSPLandroid/text/DynamicLayout;->getEllipsisStart(I)I
-HSPLandroid/text/DynamicLayout;->getEllipsizedWidth()I
-HSPLandroid/text/DynamicLayout;->getEndHyphenEdit(I)I
-HSPLandroid/text/DynamicLayout;->getIndexFirstChangedBlock()I
-HSPLandroid/text/DynamicLayout;->getLineContainsTab(I)Z
-HSPLandroid/text/DynamicLayout;->getLineCount()I
-HSPLandroid/text/DynamicLayout;->getLineDescent(I)I
-HSPLandroid/text/DynamicLayout;->getLineDirections(I)Landroid/text/Layout$Directions;
-HSPLandroid/text/DynamicLayout;->getLineExtra(I)I
-HSPLandroid/text/DynamicLayout;->getLineStart(I)I
-HSPLandroid/text/DynamicLayout;->getLineTop(I)I
-HSPLandroid/text/DynamicLayout;->getNumberOfBlocks()I
-HSPLandroid/text/DynamicLayout;->getParagraphDirection(I)I
-HSPLandroid/text/DynamicLayout;->getStartHyphenEdit(I)I
-HSPLandroid/text/DynamicLayout;->reflow(Ljava/lang/CharSequence;III)V
-HSPLandroid/text/DynamicLayout;->setIndexFirstChangedBlock(I)V
-HSPLandroid/text/DynamicLayout;->updateAlwaysNeedsToBeRedrawn(I)V
-HSPLandroid/text/DynamicLayout;->updateBlocks(III)V
-HSPLandroid/text/Editable$Factory;-><init>()V
HSPLandroid/text/Editable$Factory;->getInstance()Landroid/text/Editable$Factory;
HSPLandroid/text/Editable$Factory;->newEditable(Ljava/lang/CharSequence;)Landroid/text/Editable;
-HSPLandroid/text/Emoji;->isNewEmoji(I)Z
-HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;
-HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;
-HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V
-HSPLandroid/text/HtmlToSpannedConverter;->convert()Landroid/text/Spanned;
-HSPLandroid/text/HtmlToSpannedConverter;->endDocument()V
-HSPLandroid/text/HtmlToSpannedConverter;->endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endPrefixMapping(Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V
-HSPLandroid/text/HtmlToSpannedConverter;->setDocumentLocator(Lorg/xml/sax/Locator;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startDocument()V
-HSPLandroid/text/HtmlToSpannedConverter;->startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/text/Hyphenator;->init()V
-HSPLandroid/text/Layout$Alignment;-><init>(Ljava/lang/String;I)V
-HSPLandroid/text/Layout$Alignment;->values()[Landroid/text/Layout$Alignment;
-HSPLandroid/text/Layout$Directions;-><init>([I)V
HSPLandroid/text/Layout$Directions;->getRunCount()I
HSPLandroid/text/Layout$Directions;->getRunLength(I)I
HSPLandroid/text/Layout$Directions;->getRunStart(I)I
HSPLandroid/text/Layout$Directions;->isRunRtl(I)Z
-HSPLandroid/text/Layout$Ellipsizer;->charAt(I)C
-HSPLandroid/text/Layout$Ellipsizer;->getChars(II[CI)V
-HSPLandroid/text/Layout$Ellipsizer;->length()I
-HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanEnd(Ljava/lang/Object;)I
-HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanFlags(Ljava/lang/Object;)I
-HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanStart(Ljava/lang/Object;)I
-HSPLandroid/text/Layout$SpannedEllipsizer;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/text/Layout$SpannedEllipsizer;->nextSpanTransition(IILjava/lang/Class;)I
HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FF)V
HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
HSPLandroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;III)V
HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V
-HSPLandroid/text/Layout;->ellipsize(III[CILandroid/text/TextUtils$TruncateAt;)V
-HSPLandroid/text/Layout;->getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V
-HSPLandroid/text/Layout;->getDesiredWidthWithLimit(Ljava/lang/CharSequence;IILandroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;F)F
HSPLandroid/text/Layout;->getEndHyphenEdit(I)I
HSPLandroid/text/Layout;->getHeight()I
HSPLandroid/text/Layout;->getHeight(Z)I
-HSPLandroid/text/Layout;->getHorizontal(IZ)F
-HSPLandroid/text/Layout;->getHorizontal(IZIZ)F
HSPLandroid/text/Layout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I
-HSPLandroid/text/Layout;->getLineBaseline(I)I
-HSPLandroid/text/Layout;->getLineBottom(I)I
-HSPLandroid/text/Layout;->getLineBottomWithoutSpacing(I)I
-HSPLandroid/text/Layout;->getLineEnd(I)I
HSPLandroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F
-HSPLandroid/text/Layout;->getLineExtent(IZ)F
HSPLandroid/text/Layout;->getLineForOffset(I)I
HSPLandroid/text/Layout;->getLineForVertical(I)I
-HSPLandroid/text/Layout;->getLineLeft(I)F
-HSPLandroid/text/Layout;->getLineMax(I)F
HSPLandroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J
-HSPLandroid/text/Layout;->getLineRight(I)F
-HSPLandroid/text/Layout;->getLineStartPos(III)I
HSPLandroid/text/Layout;->getLineVisibleEnd(I)I
HSPLandroid/text/Layout;->getLineVisibleEnd(III)I
-HSPLandroid/text/Layout;->getLineWidth(I)F
-HSPLandroid/text/Layout;->getOffsetForHorizontal(IF)I
-HSPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I
-HSPLandroid/text/Layout;->getParagraphAlignment(I)Landroid/text/Layout$Alignment;
-HSPLandroid/text/Layout;->getParagraphLeadingMargin(I)I
-HSPLandroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/text/Layout;->getPrimaryHorizontal(I)F
-HSPLandroid/text/Layout;->getPrimaryHorizontal(IZ)F
HSPLandroid/text/Layout;->getStartHyphenEdit(I)I
-HSPLandroid/text/Layout;->increaseWidthTo(I)V
HSPLandroid/text/Layout;->isJustificationRequired(I)Z
-HSPLandroid/text/Layout;->measurePara(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)F
-HSPLandroid/text/Layout;->primaryIsTrailingPrevious(I)Z
HSPLandroid/text/Layout;->replaceWith(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
HSPLandroid/text/Layout;->setJustificationMode(I)V
-HSPLandroid/text/Layout;->shouldClampCursor(I)Z
HSPLandroid/text/MeasuredParagraph;-><init>()V
HSPLandroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;[Landroid/text/style/MetricAffectingSpan;IILandroid/graphics/text/MeasuredText$Builder;)V
-HSPLandroid/text/MeasuredParagraph;->applyReplacementRun(Landroid/text/style/ReplacementSpan;IILandroid/graphics/text/MeasuredText$Builder;)V
HSPLandroid/text/MeasuredParagraph;->applyStyleRun(IILandroid/graphics/text/MeasuredText$Builder;)V
-HSPLandroid/text/MeasuredParagraph;->breakText(IZF)I
HSPLandroid/text/MeasuredParagraph;->buildForBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
HSPLandroid/text/MeasuredParagraph;->buildForMeasurement(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
HSPLandroid/text/MeasuredParagraph;->buildForStaticLayout(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;ZZLandroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
-HSPLandroid/text/MeasuredParagraph;->getCharWidthAt(I)F
HSPLandroid/text/MeasuredParagraph;->getChars()[C
HSPLandroid/text/MeasuredParagraph;->getDirections(II)Landroid/text/Layout$Directions;
HSPLandroid/text/MeasuredParagraph;->getFontMetrics()Landroid/text/AutoGrowArray$IntArray;
@@ -14925,66 +6519,28 @@ HSPLandroid/text/MeasuredParagraph;->obtain()Landroid/text/MeasuredParagraph;
HSPLandroid/text/MeasuredParagraph;->recycle()V
HSPLandroid/text/MeasuredParagraph;->release()V
HSPLandroid/text/MeasuredParagraph;->resetAndAnalyzeBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)V
-HSPLandroid/text/NoCopySpan$Concrete;-><init>()V
-HSPLandroid/text/PackedIntVector;->adjustValuesBelow(III)V
-HSPLandroid/text/PackedIntVector;->deleteAt(II)V
-HSPLandroid/text/PackedIntVector;->getValue(II)I
-HSPLandroid/text/PackedIntVector;->growBuffer()V
-HSPLandroid/text/PackedIntVector;->insertAt(I[I)V
-HSPLandroid/text/PackedIntVector;->moveRowGapTo(I)V
-HSPLandroid/text/PackedIntVector;->moveValueGapTo(II)V
-HSPLandroid/text/PackedIntVector;->size()I
-HSPLandroid/text/PackedIntVector;->width()I
-HSPLandroid/text/PackedObjectVector;->deleteAt(II)V
-HSPLandroid/text/PackedObjectVector;->getValue(II)Ljava/lang/Object;
-HSPLandroid/text/PackedObjectVector;->growBuffer()V
-HSPLandroid/text/PackedObjectVector;->insertAt(I[Ljava/lang/Object;)V
-HSPLandroid/text/PackedObjectVector;->moveRowGapTo(I)V
-HSPLandroid/text/PackedObjectVector;->setValue(IILjava/lang/Object;)V
-HSPLandroid/text/PackedObjectVector;->size()I
HSPLandroid/text/PrecomputedText$Params;-><init>(Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;II)V
HSPLandroid/text/PrecomputedText;->createMeasuredParagraphs(Ljava/lang/CharSequence;Landroid/text/PrecomputedText$Params;IIZ)[Landroid/text/PrecomputedText$ParagraphInfo;
-HSPLandroid/text/Selection$END;-><init>(Landroid/text/Selection$1;)V
-HSPLandroid/text/Selection$MEMORY;-><init>(Landroid/text/Selection$1;)V
-HSPLandroid/text/Selection$START;-><init>(Landroid/text/Selection$1;)V
HSPLandroid/text/Selection;->getSelectionEnd(Ljava/lang/CharSequence;)I
HSPLandroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I
-HSPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;I)V
-HSPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;II)V
HSPLandroid/text/Selection;->updateMemory(Landroid/text/Spannable;I)V
-HSPLandroid/text/SpanSet;-><init>(Ljava/lang/Class;)V
-HSPLandroid/text/SpanSet;->getNextTransition(II)I
-HSPLandroid/text/SpanSet;->hasSpansIntersecting(II)Z
-HSPLandroid/text/SpanSet;->init(Landroid/text/Spanned;II)V
HSPLandroid/text/SpanSet;->recycle()V
-HSPLandroid/text/Spannable$Factory;-><init>()V
HSPLandroid/text/Spannable$Factory;->getInstance()Landroid/text/Spannable$Factory;
-HSPLandroid/text/Spannable$Factory;->newSpannable(Ljava/lang/CharSequence;)Landroid/text/Spannable;
HSPLandroid/text/SpannableString;-><init>(Ljava/lang/CharSequence;)V
-HSPLandroid/text/SpannableString;->equals(Ljava/lang/Object;)Z
HSPLandroid/text/SpannableString;->getSpanEnd(Ljava/lang/Object;)I
HSPLandroid/text/SpannableString;->getSpanFlags(Ljava/lang/Object;)I
HSPLandroid/text/SpannableString;->getSpanStart(Ljava/lang/Object;)I
HSPLandroid/text/SpannableString;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/text/SpannableString;->nextSpanTransition(IILjava/lang/Class;)I
-HSPLandroid/text/SpannableString;->removeSpan(Ljava/lang/Object;)V
-HSPLandroid/text/SpannableString;->removeSpan(Ljava/lang/Object;I)V
HSPLandroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V
-HSPLandroid/text/SpannableString;->subSequence(II)Ljava/lang/CharSequence;
HSPLandroid/text/SpannableStringBuilder;-><init>()V
HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V
HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;II)V
-HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder;
-HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/Editable;
HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
HSPLandroid/text/SpannableStringBuilder;->calcMax(I)I
HSPLandroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V
HSPLandroid/text/SpannableStringBuilder;->charAt(I)C
HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V
-HSPLandroid/text/SpannableStringBuilder;->clear()V
HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I
-HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder;
-HSPLandroid/text/SpannableStringBuilder;->equals(Ljava/lang/Object;)Z
HSPLandroid/text/SpannableStringBuilder;->getChars(II[CI)V
HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I
HSPLandroid/text/SpannableStringBuilder;->getSpanFlags(Ljava/lang/Object;)I
@@ -14992,26 +6548,18 @@ HSPLandroid/text/SpannableStringBuilder;->getSpanStart(Ljava/lang/Object;)I
HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;Z)[Ljava/lang/Object;
HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
-HSPLandroid/text/SpannableStringBuilder;->getTextWatcherDepth()I
HSPLandroid/text/SpannableStringBuilder;->hasNonExclusiveExclusiveSpanAt(Ljava/lang/CharSequence;I)Z
HSPLandroid/text/SpannableStringBuilder;->length()I
HSPLandroid/text/SpannableStringBuilder;->moveGapTo(I)V
-HSPLandroid/text/SpannableStringBuilder;->nextSpanTransition(IILjava/lang/Class;)I
-HSPLandroid/text/SpannableStringBuilder;->nextSpanTransitionRec(IILjava/lang/Class;I)I
HSPLandroid/text/SpannableStringBuilder;->obtain(I)[I
HSPLandroid/text/SpannableStringBuilder;->recycle([I)V
-HSPLandroid/text/SpannableStringBuilder;->removeSpan(II)V
HSPLandroid/text/SpannableStringBuilder;->removeSpan(Ljava/lang/Object;)V
HSPLandroid/text/SpannableStringBuilder;->removeSpan(Ljava/lang/Object;I)V
-HSPLandroid/text/SpannableStringBuilder;->removeSpansForChange(IIZI)Z
-HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/Editable;
-HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
HSPLandroid/text/SpannableStringBuilder;->resizeFor(I)V
HSPLandroid/text/SpannableStringBuilder;->restoreInvariants()V
HSPLandroid/text/SpannableStringBuilder;->sendAfterTextChanged([Landroid/text/TextWatcher;)V
HSPLandroid/text/SpannableStringBuilder;->sendBeforeTextChanged([Landroid/text/TextWatcher;III)V
-HSPLandroid/text/SpannableStringBuilder;->sendSpanChanged(Ljava/lang/Object;IIII)V
HSPLandroid/text/SpannableStringBuilder;->sendTextChanged([Landroid/text/TextWatcher;III)V
HSPLandroid/text/SpannableStringBuilder;->sendToSpanWatchers(III)V
HSPLandroid/text/SpannableStringBuilder;->setFilters([Landroid/text/InputFilter;)V
@@ -15019,30 +6567,14 @@ HSPLandroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V
HSPLandroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;IIIZ)V
HSPLandroid/text/SpannableStringBuilder;->siftDown(I[Ljava/lang/Object;I[I[I)V
HSPLandroid/text/SpannableStringBuilder;->sort([Ljava/lang/Object;[I[I)V
-HSPLandroid/text/SpannableStringBuilder;->subSequence(II)Ljava/lang/CharSequence;
HSPLandroid/text/SpannableStringBuilder;->toString()Ljava/lang/String;
-HSPLandroid/text/SpannableStringBuilder;->updatedIntervalBound(IIIIZZ)I
HSPLandroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V
-HSPLandroid/text/SpannableStringInternal;->charAt(I)C
HSPLandroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V
HSPLandroid/text/SpannableStringInternal;->copySpans(Landroid/text/SpannableStringInternal;IIZ)V
-HSPLandroid/text/SpannableStringInternal;->copySpans(Landroid/text/Spanned;IIZ)V
-HSPLandroid/text/SpannableStringInternal;->equals(Ljava/lang/Object;)Z
-HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V
HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
HSPLandroid/text/SpannableStringInternal;->length()I
-HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I
-HSPLandroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V
-HSPLandroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V
HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V
HSPLandroid/text/SpannableStringInternal;->toString()Ljava/lang/String;
-HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;)V
-HSPLandroid/text/SpannedString;->equals(Ljava/lang/Object;)Z
-HSPLandroid/text/SpannedString;->getSpanEnd(Ljava/lang/Object;)I
-HSPLandroid/text/SpannedString;->getSpanFlags(Ljava/lang/Object;)I
-HSPLandroid/text/SpannedString;->getSpanStart(Ljava/lang/Object;)I
-HSPLandroid/text/SpannedString;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/text/SpannedString;->nextSpanTransition(IILjava/lang/Class;)I
HSPLandroid/text/StaticLayout$Builder;->access$1000(Landroid/text/StaticLayout$Builder;)F
HSPLandroid/text/StaticLayout$Builder;->access$1100(Landroid/text/StaticLayout$Builder;)I
HSPLandroid/text/StaticLayout$Builder;->access$1500(Landroid/text/StaticLayout$Builder;)I
@@ -15059,16 +6591,9 @@ HSPLandroid/text/StaticLayout$Builder;->access$500(Landroid/text/StaticLayout$Bu
HSPLandroid/text/StaticLayout$Builder;->access$600(Landroid/text/StaticLayout$Builder;)I
HSPLandroid/text/StaticLayout$Builder;->access$800(Landroid/text/StaticLayout$Builder;)Landroid/text/TextDirectionHeuristic;
HSPLandroid/text/StaticLayout$Builder;->access$900(Landroid/text/StaticLayout$Builder;)F
-HSPLandroid/text/StaticLayout$Builder;->build()Landroid/text/StaticLayout;
HSPLandroid/text/StaticLayout$Builder;->obtain(Ljava/lang/CharSequence;IILandroid/text/TextPaint;I)Landroid/text/StaticLayout$Builder;
HSPLandroid/text/StaticLayout;-><init>(Landroid/text/StaticLayout$Builder;)V
-HSPLandroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;)V
-HSPLandroid/text/StaticLayout;->calculateEllipsis(IILandroid/text/MeasuredParagraph;IFLandroid/text/TextUtils$TruncateAt;IFLandroid/text/TextPaint;Z)V
HSPLandroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V
-HSPLandroid/text/StaticLayout;->getBottomPadding()I
-HSPLandroid/text/StaticLayout;->getEllipsisCount(I)I
-HSPLandroid/text/StaticLayout;->getEllipsisStart(I)I
-HSPLandroid/text/StaticLayout;->getEllipsizedWidth()I
HSPLandroid/text/StaticLayout;->getEndHyphenEdit(I)I
HSPLandroid/text/StaticLayout;->getHeight(Z)I
HSPLandroid/text/StaticLayout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I
@@ -15076,37 +6601,21 @@ HSPLandroid/text/StaticLayout;->getLineContainsTab(I)Z
HSPLandroid/text/StaticLayout;->getLineCount()I
HSPLandroid/text/StaticLayout;->getLineDescent(I)I
HSPLandroid/text/StaticLayout;->getLineDirections(I)Landroid/text/Layout$Directions;
-HSPLandroid/text/StaticLayout;->getLineExtra(I)I
HSPLandroid/text/StaticLayout;->getLineForVertical(I)I
HSPLandroid/text/StaticLayout;->getLineStart(I)I
HSPLandroid/text/StaticLayout;->getLineTop(I)I
HSPLandroid/text/StaticLayout;->getParagraphDirection(I)I
HSPLandroid/text/StaticLayout;->getStartHyphenEdit(I)I
-HSPLandroid/text/StaticLayout;->getTopPadding()I
HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;ZIZLandroid/text/MeasuredParagraph;IZZZ[CILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I
-HSPLandroid/text/TextDirectionHeuristics$AnyStrong;-><init>(Z)V
-HSPLandroid/text/TextDirectionHeuristics$FirstStrong;-><init>()V
HSPLandroid/text/TextDirectionHeuristics$FirstStrong;->checkRtl(Ljava/lang/CharSequence;II)I
HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl(Ljava/lang/CharSequence;II)Z
-HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;-><init>(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;ZLandroid/text/TextDirectionHeuristics$1;)V
HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;->defaultIsRtl()Z
-HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;-><init>()V
-HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;->defaultIsRtl()Z
HSPLandroid/text/TextDirectionHeuristics;->isRtlCodePoint(I)I
-HSPLandroid/text/TextLine$DecorationInfo;->copyInfo()Landroid/text/TextLine$DecorationInfo;
HSPLandroid/text/TextLine;-><init>()V
-HSPLandroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V
-HSPLandroid/text/TextLine;->drawRun(Landroid/graphics/Canvas;IIZFIIIZ)F
-HSPLandroid/text/TextLine;->drawStroke(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
-HSPLandroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V
-HSPLandroid/text/TextLine;->equalAttributes(Landroid/text/TextPaint;Landroid/text/TextPaint;)Z
HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V
-HSPLandroid/text/TextLine;->extractDecorationInfo(Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V
HSPLandroid/text/TextLine;->getRunAdvance(Landroid/text/TextPaint;IIIIZI)F
-HSPLandroid/text/TextLine;->handleReplacement(Landroid/text/style/ReplacementSpan;Landroid/text/TextPaint;IIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
HSPLandroid/text/TextLine;->handleRun(IIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F
HSPLandroid/text/TextLine;->handleText(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;ZILjava/util/ArrayList;)F
-HSPLandroid/text/TextLine;->isLineEndSpace(C)Z
HSPLandroid/text/TextLine;->measure(IZLandroid/graphics/Paint$FontMetricsInt;)F
HSPLandroid/text/TextLine;->metrics(Landroid/graphics/Paint$FontMetricsInt;)F
HSPLandroid/text/TextLine;->obtain()Landroid/text/TextLine;
@@ -15115,11 +6624,7 @@ HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;
HSPLandroid/text/TextLine;->updateMetrics(Landroid/graphics/Paint$FontMetricsInt;IIIII)V
HSPLandroid/text/TextPaint;-><init>()V
HSPLandroid/text/TextPaint;-><init>(I)V
-HSPLandroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V
-HSPLandroid/text/TextPaint;->getUnderlineThickness()F
HSPLandroid/text/TextPaint;->set(Landroid/text/TextPaint;)V
-HSPLandroid/text/TextPaint;->setUnderlineText(IF)V
-HSPLandroid/text/TextUtils$1;-><init>()V
HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/CharSequence;
HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/text/TextUtils$SimpleStringSplitter;-><init>(C)V
@@ -15128,180 +6633,58 @@ HSPLandroid/text/TextUtils$SimpleStringSplitter;->iterator()Ljava/util/Iterator;
HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/Object;
HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/String;
HSPLandroid/text/TextUtils$SimpleStringSplitter;->setString(Ljava/lang/String;)V
-HSPLandroid/text/TextUtils$StringWithRemovedChars;->toString()Ljava/lang/String;
-HSPLandroid/text/TextUtils$TruncateAt;-><init>(Ljava/lang/String;I)V
HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V
HSPLandroid/text/TextUtils;->couldAffectRtl(C)Z
-HSPLandroid/text/TextUtils;->delimitedStringContains(Ljava/lang/String;CLjava/lang/String;)Z
HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;
HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;Landroid/text/TextDirectionHeuristic;Ljava/lang/String;)Ljava/lang/CharSequence;
HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-HSPLandroid/text/TextUtils;->expandTemplate(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->getCapsMode(Ljava/lang/CharSequence;II)I
HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
-HSPLandroid/text/TextUtils;->getEllipsisString(Landroid/text/TextUtils$TruncateAt;)Ljava/lang/String;
HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I
HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I
HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I
HSPLandroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
-HSPLandroid/text/TextUtils;->isGraphic(Ljava/lang/CharSequence;)Z
HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CI)I
-HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CII)I
-HSPLandroid/text/TextUtils;->makeSafeForPresentation(Ljava/lang/String;IFI)Ljava/lang/CharSequence;
HSPLandroid/text/TextUtils;->obtain(I)[C
HSPLandroid/text/TextUtils;->recycle([C)V
-HSPLandroid/text/TextUtils;->removeEmptySpans([Ljava/lang/Object;Landroid/text/Spanned;Ljava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/text/TextUtils;->safeIntern(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/text/TextUtils;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
HSPLandroid/text/TextUtils;->stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->substring(Ljava/lang/CharSequence;II)Ljava/lang/String;
HSPLandroid/text/TextUtils;->toUpperCase(Ljava/util/Locale;Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->trimNoCopySpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->trimToParcelableSize(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->trimToSize(Ljava/lang/CharSequence;I)Ljava/lang/CharSequence;
HSPLandroid/text/TextUtils;->writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V
-HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;J)Ljava/lang/CharSequence;
HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Calendar;)Ljava/lang/CharSequence;
-HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence;
HSPLandroid/text/format/DateFormat;->getBestDateTimePattern(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/format/DateFormat;->getDayOfWeekString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
-HSPLandroid/text/format/DateFormat;->getMonthString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
-HSPLandroid/text/format/DateFormat;->getTimeFormat(Landroid/content/Context;)Ljava/text/DateFormat;
-HSPLandroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/text/format/DateFormat;->hasDesignator(Ljava/lang/CharSequence;C)Z
-HSPLandroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;)Z
HSPLandroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;I)Z
-HSPLandroid/text/format/DateFormat;->is24HourLocale(Ljava/util/Locale;)Z
HSPLandroid/text/format/DateFormat;->zeroPad(II)Ljava/lang/String;
-HSPLandroid/text/format/DateUtils;->formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJILjava/lang/String;)Ljava/util/Formatter;
-HSPLandroid/text/format/DateUtils;->formatDateTime(Landroid/content/Context;JI)Ljava/lang/String;
-HSPLandroid/text/format/DateUtils;->formatElapsedTime(J)Ljava/lang/String;
-HSPLandroid/text/format/DateUtils;->formatElapsedTime(Ljava/lang/StringBuilder;J)Ljava/lang/String;
-HSPLandroid/text/format/DateUtils;->initFormatStrings()V
-HSPLandroid/text/format/DateUtils;->initFormatStringsLocked()V
-HSPLandroid/text/format/Formatter;->formatBytes(Landroid/content/res/Resources;JI)Landroid/text/format/Formatter$BytesResult;
-HSPLandroid/text/format/Formatter;->formatFileSize(Landroid/content/Context;J)Ljava/lang/String;
-HSPLandroid/text/format/Time$TimeCalculator;->copyFieldsFromTime(Landroid/text/format/Time;)V
-HSPLandroid/text/format/Time$TimeCalculator;->copyFieldsToTime(Landroid/text/format/Time;)V
-HSPLandroid/text/format/Time$TimeCalculator;->format(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/format/Time$TimeCalculator;->lookupZoneInfo(Ljava/lang/String;)Llibcore/util/ZoneInfo;
-HSPLandroid/text/format/Time$TimeCalculator;->setTimeInMillis(J)V
-HSPLandroid/text/format/Time$TimeCalculator;->toMillis(Z)J
-HSPLandroid/text/format/Time;-><init>()V
-HSPLandroid/text/format/Time;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/format/Time;->format(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/format/Time;->getJulianDay(JJ)I
-HSPLandroid/text/format/Time;->set(J)V
-HSPLandroid/text/format/Time;->setToNow()V
-HSPLandroid/text/format/Time;->toMillis(Z)J
-HSPLandroid/text/format/TimeFormatter;-><init>()V
-HSPLandroid/text/format/TimeFormatter;->format(Ljava/lang/String;Llibcore/util/ZoneInfo$WallTime;Llibcore/util/ZoneInfo;)Ljava/lang/String;
-HSPLandroid/text/format/TimeFormatter;->formatInternal(Ljava/lang/String;Llibcore/util/ZoneInfo$WallTime;Llibcore/util/ZoneInfo;)V
-HSPLandroid/text/format/TimeFormatter;->handleToken(Ljava/nio/CharBuffer;Llibcore/util/ZoneInfo$WallTime;Llibcore/util/ZoneInfo;)Z
-HSPLandroid/text/method/AllCapsTransformationMethod;-><init>(Landroid/content/Context;)V
+HPLandroid/text/format/Time$TimeCalculator;->copyFieldsFromTime(Landroid/text/format/Time;)V
+HPLandroid/text/format/Time$TimeCalculator;->copyFieldsToTime(Landroid/text/format/Time;)V
+PLandroid/text/format/Time$TimeCalculator;->lookupZoneInfo(Ljava/lang/String;)Llibcore/util/ZoneInfo;
+HPLandroid/text/format/Time$TimeCalculator;->setTimeInMillis(J)V
+PLandroid/text/format/Time$TimeCalculator;->toMillis(Z)J
+PLandroid/text/format/Time;-><init>()V
+PLandroid/text/format/Time;->normalize(Z)J
+PLandroid/text/format/Time;->set(J)V
+PLandroid/text/format/Time;->toMillis(Z)J
HSPLandroid/text/method/AllCapsTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
HSPLandroid/text/method/AllCapsTransformationMethod;->setLengthChangesAllowed(Z)V
-HSPLandroid/text/method/ArrowKeyMovementMethod;->canSelectArbitrarily()Z
-HSPLandroid/text/method/ArrowKeyMovementMethod;->getInstance()Landroid/text/method/MovementMethod;
-HSPLandroid/text/method/ArrowKeyMovementMethod;->initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V
-HSPLandroid/text/method/ArrowKeyMovementMethod;->onTakeFocus(Landroid/widget/TextView;Landroid/text/Spannable;I)V
-HSPLandroid/text/method/LinkMovementMethod;->initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V
-HSPLandroid/text/method/MetaKeyKeyListener;->getMetaState(Ljava/lang/CharSequence;I)I
-HSPLandroid/text/method/MetaKeyKeyListener;->isMetaTracker(Ljava/lang/CharSequence;Ljava/lang/Object;)Z
-HSPLandroid/text/method/MetaKeyKeyListener;->resetMetaState(Landroid/text/Spannable;)V
-HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->charAt(I)C
-HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->getChars(II[CI)V
-HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->length()I
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanEnd(Ljava/lang/Object;)I
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanFlags(Ljava/lang/Object;)I
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanStart(Ljava/lang/Object;)I
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->nextSpanTransition(IILjava/lang/Class;)I
HSPLandroid/text/method/ReplacementTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
-HSPLandroid/text/method/ReplacementTransformationMethod;->onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V
-HSPLandroid/text/method/SingleLineTransformationMethod;->getInstance()Landroid/text/method/SingleLineTransformationMethod;
HSPLandroid/text/method/SingleLineTransformationMethod;->getOriginal()[C
HSPLandroid/text/method/SingleLineTransformationMethod;->getReplacement()[C
-HSPLandroid/text/method/TextKeyListener$Capitalize;-><init>(Ljava/lang/String;I)V
-HSPLandroid/text/method/TextKeyListener$Capitalize;->values()[Landroid/text/method/TextKeyListener$Capitalize;
-HSPLandroid/text/method/TextKeyListener;->getInstance()Landroid/text/method/TextKeyListener;
-HSPLandroid/text/method/TextKeyListener;->getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/TextKeyListener;
HSPLandroid/text/method/TextKeyListener;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/text/method/TextKeyListener;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
-HSPLandroid/text/method/TextKeyListener;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/text/method/WordIterator;->checkOffsetIsValid(I)V
-HSPLandroid/text/method/WordIterator;->following(I)I
-HSPLandroid/text/method/WordIterator;->getBeginning(I)I
-HSPLandroid/text/method/WordIterator;->getBeginning(IZ)I
-HSPLandroid/text/method/WordIterator;->setCharSequence(Ljava/lang/CharSequence;II)V
-HSPLandroid/text/style/BackgroundColorSpan;-><init>(I)V
-HSPLandroid/text/style/CharacterStyle;->getUnderlying()Landroid/text/style/CharacterStyle;
-HSPLandroid/text/style/DynamicDrawableSpan;->getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
-HSPLandroid/text/style/ForegroundColorSpan;-><init>(I)V
-HSPLandroid/text/style/ForegroundColorSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/ForegroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/ImageSpan;->getDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/CharacterStyle;
-HSPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/MetricAffectingSpan;
-HSPLandroid/text/style/StyleSpan;-><init>(I)V
-HSPLandroid/text/style/StyleSpan;->apply(Landroid/graphics/Paint;I)V
-HSPLandroid/text/style/StyleSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/StyleSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/StyleSpan;->updateMeasureState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/StyleSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/SuggestionSpan$1;-><init>()V
-HSPLandroid/text/style/SuggestionSpan;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/content/Context;I)V
-HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/content/Context;II)V
-HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/text/style/TextAppearanceSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/TextAppearanceSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/TtsSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/TtsSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/UnderlineSpan;-><init>()V
-HSPLandroid/text/style/UnderlineSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/UnderlineSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/UnderlineSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/transition/AutoTransition;-><init>()V
-HSPLandroid/transition/ChangeBounds$1;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeBounds$2;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeBounds$3;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeBounds$4;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeBounds$5;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeBounds$6;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeImageTransform$1;-><init>()V
-HSPLandroid/transition/ChangeImageTransform$2;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeTransform$1;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/transition/ChangeTransform$2;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
+HSPLandroid/text/style/CharacterStyle;-><init>()V
+PLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/os/Parcel;)V
HSPLandroid/transition/ChangeTransform;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/transition/Transition$1;-><init>()V
-HSPLandroid/transition/Transition;-><init>()V
HSPLandroid/transition/Transition;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/transition/Transition;->setDuration(J)Landroid/transition/Transition;
HSPLandroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition;
-HSPLandroid/transition/TransitionInflater;->from(Landroid/content/Context;)Landroid/transition/TransitionInflater;
HSPLandroid/transition/TransitionInflater;->inflateTransition(I)Landroid/transition/Transition;
-HSPLandroid/transition/TransitionManager;-><init>()V
-HSPLandroid/transition/TransitionManager;->beginDelayedTransition(Landroid/view/ViewGroup;)V
-HSPLandroid/transition/TransitionManager;->beginDelayedTransition(Landroid/view/ViewGroup;Landroid/transition/Transition;)V
-HSPLandroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/ArrayMap;
-HSPLandroid/transition/TransitionSet;-><init>()V
HSPLandroid/transition/TransitionSet;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/transition/TransitionSet;->addTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;
HSPLandroid/transition/TransitionSet;->getTransitionCount()I
HSPLandroid/transition/TransitionSet;->setOrdering(I)Landroid/transition/TransitionSet;
-HSPLandroid/util/AndroidException;-><init>()V
HSPLandroid/util/AndroidException;-><init>(Ljava/lang/String;)V
HSPLandroid/util/AndroidRuntimeException;-><init>(Ljava/lang/String;)V
HSPLandroid/util/ArrayMap$1;->colGetEntry(II)Ljava/lang/Object;
-HSPLandroid/util/ArrayMap$1;->colGetMap()Ljava/util/Map;
HSPLandroid/util/ArrayMap$1;->colGetSize()I
-HSPLandroid/util/ArrayMap$1;->colIndexOfKey(Ljava/lang/Object;)I
-HSPLandroid/util/ArrayMap$1;->colIndexOfValue(Ljava/lang/Object;)I
+HPLandroid/util/ArrayMap$1;->colIndexOfKey(Ljava/lang/Object;)I
HSPLandroid/util/ArrayMap$1;->colRemoveAt(I)V
HSPLandroid/util/ArrayMap;-><init>()V
HSPLandroid/util/ArrayMap;-><init>(I)V
@@ -15311,18 +6694,16 @@ HSPLandroid/util/ArrayMap;->allocArrays(I)V
HSPLandroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V
HSPLandroid/util/ArrayMap;->binarySearchHashes([III)I
HSPLandroid/util/ArrayMap;->clear()V
-HSPLandroid/util/ArrayMap;->containsAll(Ljava/util/Collection;)Z
HSPLandroid/util/ArrayMap;->containsKey(Ljava/lang/Object;)Z
HSPLandroid/util/ArrayMap;->ensureCapacity(I)V
HSPLandroid/util/ArrayMap;->entrySet()Ljava/util/Set;
-HSPLandroid/util/ArrayMap;->equals(Ljava/lang/Object;)Z
+HPLandroid/util/ArrayMap;->equals(Ljava/lang/Object;)Z
HSPLandroid/util/ArrayMap;->freeArrays([I[Ljava/lang/Object;I)V
HSPLandroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/util/ArrayMap;->hashCode()I
+HSPLandroid/util/ArrayMap;->getCollection()Landroid/util/MapCollections;
HSPLandroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I
HSPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I
HSPLandroid/util/ArrayMap;->indexOfNull()I
-HSPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I
HSPLandroid/util/ArrayMap;->isEmpty()Z
HSPLandroid/util/ArrayMap;->keyAt(I)Ljava/lang/Object;
HSPLandroid/util/ArrayMap;->keySet()Ljava/util/Set;
@@ -15331,7 +6712,6 @@ HSPLandroid/util/ArrayMap;->putAll(Landroid/util/ArrayMap;)V
HSPLandroid/util/ArrayMap;->putAll(Ljava/util/Map;)V
HSPLandroid/util/ArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/ArrayMap;->removeAt(I)Ljava/lang/Object;
-HPLandroid/util/ArrayMap;->setValueAt(ILjava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/ArrayMap;->size()I
HSPLandroid/util/ArrayMap;->toString()Ljava/lang/String;
HSPLandroid/util/ArrayMap;->validate()V
@@ -15339,9 +6719,9 @@ HSPLandroid/util/ArrayMap;->valueAt(I)Ljava/lang/Object;
HSPLandroid/util/ArrayMap;->values()Ljava/util/Collection;
HSPLandroid/util/ArraySet$1;->colGetEntry(II)Ljava/lang/Object;
HSPLandroid/util/ArraySet$1;->colGetSize()I
-HSPLandroid/util/ArraySet$1;->colRemoveAt(I)V
HSPLandroid/util/ArraySet;-><init>()V
HSPLandroid/util/ArraySet;-><init>(I)V
+HSPLandroid/util/ArraySet;-><init>(IZ)V
HSPLandroid/util/ArraySet;-><init>(Landroid/util/ArraySet;)V
HSPLandroid/util/ArraySet;-><init>(Ljava/util/Collection;)V
HSPLandroid/util/ArraySet;->add(Ljava/lang/Object;)Z
@@ -15349,6 +6729,7 @@ HSPLandroid/util/ArraySet;->addAll(Landroid/util/ArraySet;)V
HSPLandroid/util/ArraySet;->addAll(Ljava/util/Collection;)Z
HSPLandroid/util/ArraySet;->allocArrays(I)V
HSPLandroid/util/ArraySet;->append(Ljava/lang/Object;)V
+HSPLandroid/util/ArraySet;->binarySearch([II)I
HSPLandroid/util/ArraySet;->clear()V
HSPLandroid/util/ArraySet;->contains(Ljava/lang/Object;)Z
HSPLandroid/util/ArraySet;->ensureCapacity(I)V
@@ -15363,25 +6744,13 @@ HSPLandroid/util/ArraySet;->iterator()Ljava/util/Iterator;
HSPLandroid/util/ArraySet;->remove(Ljava/lang/Object;)Z
HSPLandroid/util/ArraySet;->removeAll(Ljava/util/Collection;)Z
HSPLandroid/util/ArraySet;->removeAt(I)Ljava/lang/Object;
-HSPLandroid/util/ArraySet;->retainAll(Ljava/util/Collection;)Z
HSPLandroid/util/ArraySet;->size()I
HSPLandroid/util/ArraySet;->toArray()[Ljava/lang/Object;
HSPLandroid/util/ArraySet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLandroid/util/ArraySet;->toString()Ljava/lang/String;
HSPLandroid/util/ArraySet;->valueAt(I)Ljava/lang/Object;
-HSPLandroid/util/ArraySet;->valueAtUnchecked(I)Ljava/lang/Object;
HSPLandroid/util/AtomicFile;-><init>(Ljava/io/File;)V
HSPLandroid/util/AtomicFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
-HSPLandroid/util/AtomicFile;->delete()V
-HSPLandroid/util/AtomicFile;->exists()Z
-HSPLandroid/util/AtomicFile;->failWrite(Ljava/io/FileOutputStream;)V
-HSPLandroid/util/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
-HSPLandroid/util/AtomicFile;->getBaseFile()Ljava/io/File;
-HSPLandroid/util/AtomicFile;->getLastModifiedTime()J
-HSPLandroid/util/AtomicFile;->openRead()Ljava/io/FileInputStream;
-HSPLandroid/util/AtomicFile;->readFully()[B
-HSPLandroid/util/AtomicFile;->startWrite()Ljava/io/FileOutputStream;
-HSPLandroid/util/AtomicFile;->startWrite(J)Ljava/io/FileOutputStream;
+HSPLandroid/util/Base64$Coder;-><init>()V
HSPLandroid/util/Base64$Decoder;->process([BIIZ)Z
HSPLandroid/util/Base64$Encoder;-><init>(I[B)V
HSPLandroid/util/Base64$Encoder;->process([BIIZ)Z
@@ -15392,67 +6761,33 @@ HSPLandroid/util/Base64;->encode([BI)[B
HSPLandroid/util/Base64;->encode([BIII)[B
HSPLandroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
HSPLandroid/util/Base64;->encodeToString([BIII)Ljava/lang/String;
-HSPLandroid/util/ByteStringUtils;->fromHexToByteArray(Ljava/lang/String;)[B
-HSPLandroid/util/ByteStringUtils;->toHexString([B)Ljava/lang/String;
HSPLandroid/util/ContainerHelpers;->binarySearch([III)I
-HSPLandroid/util/DataUnit$1;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$2;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$3;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$4;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$5;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$5;->toBytes(J)J
-HSPLandroid/util/DataUnit$6;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$6;->toBytes(J)J
-HSPLandroid/util/DebugUtils;->buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V
-HSPLandroid/util/DebugUtils;->flagsToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/util/DebugUtils;->valueToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
+HSPLandroid/util/ContainerHelpers;->binarySearch([JIJ)I
HSPLandroid/util/DisplayMetrics;-><init>()V
-HSPLandroid/util/DisplayMetrics;->getDeviceDensity()I
HSPLandroid/util/DisplayMetrics;->setTo(Landroid/util/DisplayMetrics;)V
HSPLandroid/util/DisplayMetrics;->setToDefaults()V
-HSPLandroid/util/EventLog$Event;-><init>([B)V
-HSPLandroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object;
-HSPLandroid/util/EventLog$Event;->getData()Ljava/lang/Object;
-HPLandroid/util/EventLog$Event;->getUid()I
-HSPLandroid/util/EventLog;->getTagCode(Ljava/lang/String;)I
-HSPLandroid/util/EventLog;->readTagsFile()V
-HPLandroid/util/ExceptionUtils;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
-HSPLandroid/util/FastImmutableArraySet$FastIterator;->hasNext()Z
-HSPLandroid/util/FastImmutableArraySet$FastIterator;->next()Ljava/lang/Object;
-HSPLandroid/util/FastImmutableArraySet;->iterator()Ljava/util/Iterator;
-HSPLandroid/util/FeatureFlagUtils;->isEnabled(Landroid/content/Context;Ljava/lang/String;)Z
HSPLandroid/util/FloatProperty;-><init>(Ljava/lang/String;)V
-HSPLandroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;)Landroid/util/IconDrawableFactory;
HSPLandroid/util/IntArray;-><init>()V
HSPLandroid/util/IntArray;-><init>(I)V
HSPLandroid/util/IntArray;->add(I)V
HSPLandroid/util/IntArray;->add(II)V
-HSPLandroid/util/IntArray;->addAll(Landroid/util/IntArray;)V
-HSPLandroid/util/IntArray;->binarySearch(I)I
HSPLandroid/util/IntArray;->clear()V
HSPLandroid/util/IntArray;->ensureCapacity(I)V
HSPLandroid/util/IntArray;->get(I)I
-HSPLandroid/util/IntArray;->indexOf(I)I
-HSPLandroid/util/IntArray;->remove(I)V
HSPLandroid/util/IntArray;->size()I
-HSPLandroid/util/IntArray;->toArray()[I
+HSPLandroid/util/IntProperty;-><init>(Ljava/lang/String;)V
HSPLandroid/util/JsonReader;-><init>(Ljava/io/Reader;)V
HSPLandroid/util/JsonReader;->beginArray()V
HSPLandroid/util/JsonReader;->beginObject()V
HSPLandroid/util/JsonReader;->close()V
HSPLandroid/util/JsonReader;->decodeLiteral()Landroid/util/JsonToken;
HSPLandroid/util/JsonReader;->decodeNumber([CII)Landroid/util/JsonToken;
-HSPLandroid/util/JsonReader;->endArray()V
HSPLandroid/util/JsonReader;->endObject()V
HSPLandroid/util/JsonReader;->expect(Landroid/util/JsonToken;)V
HSPLandroid/util/JsonReader;->fillBuffer(I)Z
-HSPLandroid/util/JsonReader;->hasNext()Z
-HSPLandroid/util/JsonReader;->nextBoolean()Z
HSPLandroid/util/JsonReader;->nextInArray(Z)Landroid/util/JsonToken;
HSPLandroid/util/JsonReader;->nextInObject(Z)Landroid/util/JsonToken;
-HSPLandroid/util/JsonReader;->nextInt()I
HSPLandroid/util/JsonReader;->nextLiteral(Z)Ljava/lang/String;
-HSPLandroid/util/JsonReader;->nextLong()J
HSPLandroid/util/JsonReader;->nextName()Ljava/lang/String;
HSPLandroid/util/JsonReader;->nextNonWhitespace()I
HSPLandroid/util/JsonReader;->nextString()Ljava/lang/String;
@@ -15463,48 +6798,27 @@ HSPLandroid/util/JsonReader;->peek()Landroid/util/JsonToken;
HSPLandroid/util/JsonReader;->readEscapeCharacter()C
HSPLandroid/util/JsonReader;->readLiteral()Landroid/util/JsonToken;
HSPLandroid/util/JsonReader;->setLenient(Z)V
-HSPLandroid/util/JsonReader;->skipValue()V
-HSPLandroid/util/JsonScope;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/JsonScope;->values()[Landroid/util/JsonScope;
-HSPLandroid/util/JsonToken;-><init>(Ljava/lang/String;I)V
HSPLandroid/util/JsonWriter;-><init>(Ljava/io/Writer;)V
HSPLandroid/util/JsonWriter;->beforeName()V
HSPLandroid/util/JsonWriter;->beforeValue(Z)V
-HSPLandroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->close()V
HSPLandroid/util/JsonWriter;->close(Landroid/util/JsonScope;Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V
-HSPLandroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/KeyValueListParser$IntValue;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/KeyValueListParser$IntValue;->getValue()I
-HSPLandroid/util/KeyValueListParser$IntValue;->parse(Landroid/util/KeyValueListParser;)V
HSPLandroid/util/KeyValueListParser;-><init>(C)V
HSPLandroid/util/KeyValueListParser;->getBoolean(Ljava/lang/String;Z)Z
-HSPLandroid/util/KeyValueListParser;->getDurationMillis(Ljava/lang/String;J)J
-HSPLandroid/util/KeyValueListParser;->getFloat(Ljava/lang/String;F)F
HSPLandroid/util/KeyValueListParser;->getInt(Ljava/lang/String;I)I
-HSPLandroid/util/KeyValueListParser;->getIntArray(Ljava/lang/String;[I)[I
-HSPLandroid/util/KeyValueListParser;->getLong(Ljava/lang/String;J)J
HSPLandroid/util/KeyValueListParser;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/util/KeyValueListParser;->setString(Ljava/lang/String;)V
-HSPLandroid/util/KeyValueListParser;->size()I
-HSPLandroid/util/KeyValueSettingObserver;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;Landroid/net/Uri;)V
-HSPLandroid/util/KeyValueSettingObserver;->setParserValue()V
-HSPLandroid/util/KeyValueSettingObserver;->start()V
HSPLandroid/util/LocalLog;-><init>(I)V
-HSPLandroid/util/LocalLog;->append(Ljava/lang/String;)V
-HSPLandroid/util/LocalLog;->log(Ljava/lang/String;)V
-HSPLandroid/util/Log$1;-><init>()V
HSPLandroid/util/Log$1;->onTerribleFailure(Ljava/lang/String;Landroid/util/Log$TerribleFailure;Z)V
+HSPLandroid/util/Log$ImmediateLogWriter;-><init>(IILjava/lang/String;)V
HSPLandroid/util/Log$ImmediateLogWriter;->flush()V
+HSPLandroid/util/Log$ImmediateLogWriter;->getWritten()I
HSPLandroid/util/Log$ImmediateLogWriter;->write([CII)V
-HSPLandroid/util/Log;->access$000()I
+HSPLandroid/util/Log$TerribleFailure;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
HSPLandroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
@@ -15516,78 +6830,53 @@ HSPLandroid/util/Log;->printlns(IILjava/lang/String;Ljava/lang/String;Ljava/lang
HSPLandroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-HSPLandroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+HSPLandroid/util/Log;->wtf(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ZZ)I
HSPLandroid/util/LogPrinter;-><init>(ILjava/lang/String;)V
-HSPLandroid/util/LogPrinter;->println(Ljava/lang/String;)V
HSPLandroid/util/LongArray;-><init>()V
-HSPLandroid/util/LongArray;->add(IJ)V
-HSPLandroid/util/LongArray;->add(J)V
-HSPLandroid/util/LongArray;->ensureCapacity(I)V
-HSPLandroid/util/LongArray;->get(I)J
-HSPLandroid/util/LongArray;->size()I
-PLandroid/util/LongArrayQueue;-><init>()V
-HPLandroid/util/LongArrayQueue;->addLast(J)V
-HPLandroid/util/LongArrayQueue;->get(I)J
-PLandroid/util/LongArrayQueue;->grow()V
-HPLandroid/util/LongArrayQueue;->peekFirst()J
-HPLandroid/util/LongArrayQueue;->peekLast()J
-HPLandroid/util/LongArrayQueue;->removeFirst()J
-HPLandroid/util/LongArrayQueue;->size()I
+HSPLandroid/util/LongArray;-><init>(I)V
+HSPLandroid/util/LongSparseArray$StringParcelling;-><init>()V
HSPLandroid/util/LongSparseArray;-><init>()V
HSPLandroid/util/LongSparseArray;-><init>(I)V
-HSPLandroid/util/LongSparseArray;->append(JLjava/lang/Object;)V
+HSPLandroid/util/LongSparseArray;->access$100(Landroid/util/LongSparseArray;)[J
+HSPLandroid/util/LongSparseArray;->access$200(Landroid/util/LongSparseArray;)[Ljava/lang/Object;
HSPLandroid/util/LongSparseArray;->clear()V
-HSPLandroid/util/LongSparseArray;->clone()Landroid/util/LongSparseArray;
HSPLandroid/util/LongSparseArray;->delete(J)V
HSPLandroid/util/LongSparseArray;->gc()V
HSPLandroid/util/LongSparseArray;->get(J)Ljava/lang/Object;
HSPLandroid/util/LongSparseArray;->get(JLjava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/util/LongSparseArray;->indexOfKey(J)I
-HSPLandroid/util/LongSparseArray;->keyAt(I)J
HSPLandroid/util/LongSparseArray;->put(JLjava/lang/Object;)V
-HSPLandroid/util/LongSparseArray;->remove(J)V
-HSPLandroid/util/LongSparseArray;->removeAt(I)V
-HSPLandroid/util/LongSparseArray;->setValueAt(ILjava/lang/Object;)V
HSPLandroid/util/LongSparseArray;->size()I
HSPLandroid/util/LongSparseArray;->valueAt(I)Ljava/lang/Object;
+HSPLandroid/util/LongSparseLongArray$Parcelling;-><init>()V
HSPLandroid/util/LongSparseLongArray;-><init>()V
HSPLandroid/util/LongSparseLongArray;-><init>(I)V
+HSPLandroid/util/LongSparseLongArray;->access$100(Landroid/util/LongSparseLongArray;)[J
+HSPLandroid/util/LongSparseLongArray;->access$200(Landroid/util/LongSparseLongArray;)[J
HSPLandroid/util/LongSparseLongArray;->append(JJ)V
HSPLandroid/util/LongSparseLongArray;->clear()V
-HSPLandroid/util/LongSparseLongArray;->clone()Landroid/util/LongSparseLongArray;
HSPLandroid/util/LongSparseLongArray;->delete(J)V
-HSPLandroid/util/LongSparseLongArray;->get(J)J
-HSPLandroid/util/LongSparseLongArray;->get(JJ)J
+HPLandroid/util/LongSparseLongArray;->get(J)J
+HPLandroid/util/LongSparseLongArray;->get(JJ)J
HSPLandroid/util/LongSparseLongArray;->indexOfKey(J)I
-HSPLandroid/util/LongSparseLongArray;->keyAt(I)J
HSPLandroid/util/LongSparseLongArray;->put(JJ)V
-HSPLandroid/util/LongSparseLongArray;->removeAt(I)V
-HSPLandroid/util/LongSparseLongArray;->size()I
HSPLandroid/util/LongSparseLongArray;->valueAt(I)J
HSPLandroid/util/LruCache;-><init>(I)V
HSPLandroid/util/LruCache;->create(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
HSPLandroid/util/LruCache;->evictAll()V
HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/util/LruCache;->hitCount()I
-HSPLandroid/util/LruCache;->missCount()I
HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/LruCache;->resize(I)V
HSPLandroid/util/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/util/LruCache;->size()I
HSPLandroid/util/LruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/util/LruCache;->snapshot()Ljava/util/Map;
HSPLandroid/util/LruCache;->trimToSize(I)V
HSPLandroid/util/MapCollections$ArrayIterator;->hasNext()Z
HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object;
HSPLandroid/util/MapCollections$ArrayIterator;->remove()V
HSPLandroid/util/MapCollections$EntrySet;->iterator()Ljava/util/Iterator;
HSPLandroid/util/MapCollections$EntrySet;->size()I
-HSPLandroid/util/MapCollections$KeySet;->contains(Ljava/lang/Object;)Z
-HSPLandroid/util/MapCollections$KeySet;->containsAll(Ljava/util/Collection;)Z
-HSPLandroid/util/MapCollections$KeySet;->equals(Ljava/lang/Object;)Z
-HSPLandroid/util/MapCollections$KeySet;->isEmpty()Z
+HPLandroid/util/MapCollections$KeySet;->contains(Ljava/lang/Object;)Z
HSPLandroid/util/MapCollections$KeySet;->iterator()Ljava/util/Iterator;
HSPLandroid/util/MapCollections$KeySet;->size()I
HSPLandroid/util/MapCollections$KeySet;->toArray()[Ljava/lang/Object;
@@ -15596,124 +6885,61 @@ HSPLandroid/util/MapCollections$MapIterator;->getKey()Ljava/lang/Object;
HSPLandroid/util/MapCollections$MapIterator;->getValue()Ljava/lang/Object;
HSPLandroid/util/MapCollections$MapIterator;->hasNext()Z
HSPLandroid/util/MapCollections$MapIterator;->next()Ljava/lang/Object;
-HSPLandroid/util/MapCollections$ValuesCollection;->contains(Ljava/lang/Object;)Z
HSPLandroid/util/MapCollections$ValuesCollection;->iterator()Ljava/util/Iterator;
-HSPLandroid/util/MapCollections$ValuesCollection;->size()I
-HSPLandroid/util/MapCollections$ValuesCollection;->toArray()[Ljava/lang/Object;
-HSPLandroid/util/MapCollections;->equalsSetHelper(Ljava/util/Set;Ljava/lang/Object;)Z
HSPLandroid/util/MapCollections;->getEntrySet()Ljava/util/Set;
HSPLandroid/util/MapCollections;->getKeySet()Ljava/util/Set;
HSPLandroid/util/MapCollections;->getValues()Ljava/util/Collection;
HSPLandroid/util/MapCollections;->toArrayHelper(I)[Ljava/lang/Object;
HSPLandroid/util/MapCollections;->toArrayHelper([Ljava/lang/Object;I)[Ljava/lang/Object;
HSPLandroid/util/MathUtils;->addOrThrow(II)I
-HSPLandroid/util/MathUtils;->exp(F)F
-HSPLandroid/util/MathUtils;->log(F)F
-HSPLandroid/util/MathUtils;->pow(FF)F
-HSPLandroid/util/MemoryIntArray$1;-><init>()V
+HSPLandroid/util/MathUtils;->constrain(FFF)F
+HSPLandroid/util/MathUtils;->constrain(III)I
+HSPLandroid/util/MathUtils;->lerp(FFF)F
HSPLandroid/util/MemoryIntArray$1;->createFromParcel(Landroid/os/Parcel;)Landroid/util/MemoryIntArray;
HSPLandroid/util/MemoryIntArray$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/util/MemoryIntArray;-><init>(I)V
HSPLandroid/util/MemoryIntArray;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/util/MemoryIntArray;-><init>(Landroid/os/Parcel;Landroid/util/MemoryIntArray$1;)V
HSPLandroid/util/MemoryIntArray;->enforceValidIndex(I)V
HSPLandroid/util/MemoryIntArray;->get(I)I
-HSPLandroid/util/MemoryIntArray;->set(II)V
-HSPLandroid/util/MemoryIntArray;->size()I
-HSPLandroid/util/MemoryIntArray;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/util/MergedConfiguration$1;-><init>()V
HSPLandroid/util/MergedConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/util/MergedConfiguration;
HSPLandroid/util/MergedConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/util/MergedConfiguration;-><init>()V
-HSPLandroid/util/MergedConfiguration;-><init>(Landroid/content/res/Configuration;)V
-HSPLandroid/util/MergedConfiguration;-><init>(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
-HSPLandroid/util/MergedConfiguration;-><init>(Landroid/util/MergedConfiguration;)V
HSPLandroid/util/MergedConfiguration;->equals(Ljava/lang/Object;)Z
HSPLandroid/util/MergedConfiguration;->getGlobalConfiguration()Landroid/content/res/Configuration;
-HSPLandroid/util/MergedConfiguration;->getMergedConfiguration()Landroid/content/res/Configuration;
HSPLandroid/util/MergedConfiguration;->getOverrideConfiguration()Landroid/content/res/Configuration;
HSPLandroid/util/MergedConfiguration;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/util/MergedConfiguration;->setConfiguration(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
-HSPLandroid/util/MergedConfiguration;->setGlobalConfiguration(Landroid/content/res/Configuration;)V
-HSPLandroid/util/MergedConfiguration;->setTo(Landroid/util/MergedConfiguration;)V
-HSPLandroid/util/MergedConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/util/NtpTrustedTime;->currentTimeMillis()J
-HSPLandroid/util/NtpTrustedTime;->forceRefresh()Z
-HSPLandroid/util/NtpTrustedTime;->forceRefresh(Landroid/net/Network;)Z
-HSPLandroid/util/NtpTrustedTime;->getCacheAge()J
-HSPLandroid/util/NtpTrustedTime;->getCacheCertainty()J
-HSPLandroid/util/NtpTrustedTime;->getCachedNtpTime()J
-HSPLandroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J
-HSPLandroid/util/NtpTrustedTime;->getInstance(Landroid/content/Context;)Landroid/util/NtpTrustedTime;
-HSPLandroid/util/NtpTrustedTime;->hasCache()Z
-HSPLandroid/util/PackageUtils;->computeSha256Digest([B)Ljava/lang/String;
-HSPLandroid/util/PackageUtils;->computeSha256DigestBytes([B)[B
-HPLandroid/util/PackageUtils;->computeSignaturesSha256Digest([Landroid/content/pm/Signature;)Ljava/lang/String;
HSPLandroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
HSPLandroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
HSPLandroid/util/Pair;->equals(Ljava/lang/Object;)Z
HSPLandroid/util/Pair;->hashCode()I
HSPLandroid/util/Pair;->toString()Ljava/lang/String;
-HSPLandroid/util/PathParser$PathData;-><init>()V
HSPLandroid/util/PathParser$PathData;-><init>(Landroid/util/PathParser$PathData;)V
HSPLandroid/util/PathParser$PathData;-><init>(Ljava/lang/String;)V
HSPLandroid/util/PathParser$PathData;->finalize()V
-HSPLandroid/util/PathParser$PathData;->getNativePtr()J
-HSPLandroid/util/PathParser;->canMorph(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Z
-HSPLandroid/util/PathParser;->createPathFromPathData(Ljava/lang/String;)Landroid/graphics/Path;
-HSPLandroid/util/PathParser;->interpolatePathData(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;F)Z
+HSPLandroid/util/PathParser;->access$100(J)J
+HSPLandroid/util/PathParser;->access$200(Ljava/lang/String;I)J
+HSPLandroid/util/PathParser;->access$400(J)V
+HSPLandroid/util/Patterns;-><clinit>()V
HSPLandroid/util/Pools$SimplePool;-><init>(I)V
HSPLandroid/util/Pools$SimplePool;->acquire()Ljava/lang/Object;
+HSPLandroid/util/Pools$SimplePool;->isInPool(Ljava/lang/Object;)Z
HSPLandroid/util/Pools$SimplePool;->release(Ljava/lang/Object;)Z
HSPLandroid/util/Pools$SynchronizedPool;-><init>(I)V
HSPLandroid/util/Pools$SynchronizedPool;-><init>(ILjava/lang/Object;)V
HSPLandroid/util/Pools$SynchronizedPool;->acquire()Ljava/lang/Object;
HSPLandroid/util/Pools$SynchronizedPool;->release(Ljava/lang/Object;)Z
-HSPLandroid/util/PrintWriterPrinter;->println(Ljava/lang/String;)V
HSPLandroid/util/Property;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
HSPLandroid/util/Property;->getName()Ljava/lang/String;
-HSPLandroid/util/Property;->getType()Ljava/lang/Class;
HSPLandroid/util/Range;-><init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
-HSPLandroid/util/Range;->contains(Ljava/lang/Comparable;)Z
HSPLandroid/util/Range;->create(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
-HSPLandroid/util/Range;->getLower()Ljava/lang/Comparable;
-HSPLandroid/util/Range;->getUpper()Ljava/lang/Comparable;
-HSPLandroid/util/Range;->intersect(Landroid/util/Range;)Landroid/util/Range;
-HSPLandroid/util/Range;->intersect(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
-HSPLandroid/util/Rational;-><init>(II)V
-HSPLandroid/util/Rational;->compareTo(Landroid/util/Rational;)I
-HSPLandroid/util/Rational;->compareTo(Ljava/lang/Object;)I
-HSPLandroid/util/RecurrenceRule$1;-><init>()V
-HSPLandroid/util/RecurrenceRule$RecurringIterator;-><init>(Landroid/util/RecurrenceRule;)V
-HSPLandroid/util/RecurrenceRule$RecurringIterator;->hasNext()Z
-HSPLandroid/util/RecurrenceRule$RecurringIterator;->next()Landroid/util/Range;
-HSPLandroid/util/RecurrenceRule$RecurringIterator;->next()Ljava/lang/Object;
-HSPLandroid/util/RecurrenceRule$RecurringIterator;->roundBoundaryTime(Ljava/time/ZonedDateTime;)Ljava/time/ZonedDateTime;
-HSPLandroid/util/RecurrenceRule$RecurringIterator;->updateCycle()V
-HSPLandroid/util/RecurrenceRule;-><init>(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
-HSPLandroid/util/RecurrenceRule;->buildRecurringMonthly(ILjava/time/ZoneId;)Landroid/util/RecurrenceRule;
-HSPLandroid/util/RecurrenceRule;->convertPeriod(Ljava/lang/String;)Ljava/time/Period;
-HSPLandroid/util/RecurrenceRule;->convertPeriod(Ljava/time/Period;)Ljava/lang/String;
-HSPLandroid/util/RecurrenceRule;->convertZonedDateTime(Ljava/lang/String;)Ljava/time/ZonedDateTime;
-HSPLandroid/util/RecurrenceRule;->convertZonedDateTime(Ljava/time/ZonedDateTime;)Ljava/lang/String;
-HSPLandroid/util/RecurrenceRule;->cycleIterator()Ljava/util/Iterator;
-HSPLandroid/util/RecurrenceRule;->equals(Ljava/lang/Object;)Z
-HSPLandroid/util/RecurrenceRule;->isMonthly()Z
HSPLandroid/util/Singleton;->get()Ljava/lang/Object;
HSPLandroid/util/Size;-><init>(II)V
-HSPLandroid/util/Size;->equals(Ljava/lang/Object;)Z
-HSPLandroid/util/Size;->hashCode()I
HSPLandroid/util/Size;->parseSize(Ljava/lang/String;)Landroid/util/Size;
-HSPLandroid/util/Size;->toString()Ljava/lang/String;
HSPLandroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
HSPLandroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/util/Slog;->println(ILjava/lang/String;Ljava/lang/String;)I
HSPLandroid/util/Slog;->v(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-HSPLandroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
HSPLandroid/util/SparseArray;-><init>()V
HSPLandroid/util/SparseArray;-><init>(I)V
HSPLandroid/util/SparseArray;->append(ILjava/lang/Object;)V
@@ -15724,351 +6950,136 @@ HSPLandroid/util/SparseArray;->gc()V
HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object;
HSPLandroid/util/SparseArray;->get(ILjava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/SparseArray;->indexOfKey(I)I
-HSPLandroid/util/SparseArray;->indexOfValue(Ljava/lang/Object;)I
HSPLandroid/util/SparseArray;->keyAt(I)I
HSPLandroid/util/SparseArray;->put(ILjava/lang/Object;)V
HSPLandroid/util/SparseArray;->remove(I)V
HSPLandroid/util/SparseArray;->removeAt(I)V
-HSPLandroid/util/SparseArray;->removeReturnOld(I)Ljava/lang/Object;
-HSPLandroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V
HSPLandroid/util/SparseArray;->size()I
HSPLandroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
HSPLandroid/util/SparseBooleanArray;-><init>()V
HSPLandroid/util/SparseBooleanArray;-><init>(I)V
HSPLandroid/util/SparseBooleanArray;->append(IZ)V
HSPLandroid/util/SparseBooleanArray;->clear()V
-HSPLandroid/util/SparseBooleanArray;->clone()Landroid/util/SparseBooleanArray;
HSPLandroid/util/SparseBooleanArray;->delete(I)V
-HSPLandroid/util/SparseBooleanArray;->equals(Ljava/lang/Object;)Z
HSPLandroid/util/SparseBooleanArray;->get(I)Z
HSPLandroid/util/SparseBooleanArray;->get(IZ)Z
HSPLandroid/util/SparseBooleanArray;->indexOfKey(I)I
-HSPLandroid/util/SparseBooleanArray;->indexOfValue(Z)I
+PLandroid/util/SparseBooleanArray;->indexOfValue(Z)I
HSPLandroid/util/SparseBooleanArray;->keyAt(I)I
HSPLandroid/util/SparseBooleanArray;->put(IZ)V
HSPLandroid/util/SparseBooleanArray;->size()I
-HSPLandroid/util/SparseBooleanArray;->toString()Ljava/lang/String;
HSPLandroid/util/SparseBooleanArray;->valueAt(I)Z
HSPLandroid/util/SparseIntArray;-><init>()V
HSPLandroid/util/SparseIntArray;-><init>(I)V
HSPLandroid/util/SparseIntArray;->append(II)V
HSPLandroid/util/SparseIntArray;->clear()V
HSPLandroid/util/SparseIntArray;->clone()Landroid/util/SparseIntArray;
-HSPLandroid/util/SparseIntArray;->copyKeys()[I
-HSPLandroid/util/SparseIntArray;->delete(I)V
HSPLandroid/util/SparseIntArray;->get(I)I
HSPLandroid/util/SparseIntArray;->get(II)I
HSPLandroid/util/SparseIntArray;->indexOfKey(I)I
HSPLandroid/util/SparseIntArray;->keyAt(I)I
HSPLandroid/util/SparseIntArray;->put(II)V
HSPLandroid/util/SparseIntArray;->removeAt(I)V
-HSPLandroid/util/SparseIntArray;->setValueAt(II)V
HSPLandroid/util/SparseIntArray;->size()I
-HSPLandroid/util/SparseIntArray;->toString()Ljava/lang/String;
HSPLandroid/util/SparseIntArray;->valueAt(I)I
HSPLandroid/util/SparseLongArray;-><init>()V
HSPLandroid/util/SparseLongArray;-><init>(I)V
-HSPLandroid/util/SparseLongArray;->clear()V
-HSPLandroid/util/SparseLongArray;->delete(I)V
HSPLandroid/util/SparseLongArray;->get(I)J
HSPLandroid/util/SparseLongArray;->get(IJ)J
-HPLandroid/util/SparseLongArray;->indexOfKey(I)I
-HSPLandroid/util/SparseLongArray;->keyAt(I)I
HSPLandroid/util/SparseLongArray;->put(IJ)V
-HSPLandroid/util/SparseLongArray;->removeAt(I)V
-HSPLandroid/util/SparseLongArray;->size()I
-HSPLandroid/util/SparseLongArray;->valueAt(I)J
-HSPLandroid/util/SparseSetArray;-><init>()V
-HSPLandroid/util/SparseSetArray;->add(ILjava/lang/Object;)Z
-HSPLandroid/util/SparseSetArray;->contains(ILjava/lang/Object;)Z
-HSPLandroid/util/SparseSetArray;->remove(ILjava/lang/Object;)Z
-HSPLandroid/util/Spline$MonotoneCubicSpline;-><init>([F[F)V
-HSPLandroid/util/Spline$MonotoneCubicSpline;->interpolate(F)F
-HSPLandroid/util/Spline;->createSpline([F[F)Landroid/util/Spline;
-HSPLandroid/util/Spline;->isMonotonic([F)Z
-HSPLandroid/util/Spline;->isStrictlyIncreasing([F)Z
-HSPLandroid/util/StateSet;->get(I)[I
HSPLandroid/util/StateSet;->stateSetMatches([I[I)Z
HSPLandroid/util/StateSet;->trimStateSet([II)[I
-HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;I)V
-HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;II)V
-HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;I)V
-HPLandroid/util/StringBuilderPrinter;->println(Ljava/lang/String;)V
-HSPLandroid/util/TimeUtils;->formatDuration(J)Ljava/lang/String;
-HSPLandroid/util/TimeUtils;->formatDuration(JJLjava/io/PrintWriter;)V
-HPLandroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
-HSPLandroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;I)V
+PLandroid/util/TimeUtils;->formatDuration(J)Ljava/lang/String;
HSPLandroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
HSPLandroid/util/TimeUtils;->formatDurationLocked(JI)I
-HPLandroid/util/TimeUtils;->formatForLogging(J)Ljava/lang/String;
HSPLandroid/util/TimeUtils;->printFieldLocked([CICIZI)I
-HSPLandroid/util/TimedRemoteCaller;-><init>(J)V
-HPLandroid/util/TimedRemoteCaller;->getResultTimed(I)Ljava/lang/Object;
-HPLandroid/util/TimedRemoteCaller;->onBeforeRemoteCall()I
-HPLandroid/util/TimedRemoteCaller;->onRemoteMethodResult(Ljava/lang/Object;I)V
-HSPLandroid/util/TimestampedValue;->readFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/util/TimestampedValue;
-HSPLandroid/util/TimestampedValue;->referenceTimeDifference(Landroid/util/TimestampedValue;Landroid/util/TimestampedValue;)J
-HSPLandroid/util/TimestampedValue;->toString()Ljava/lang/String;
-HSPLandroid/util/TimestampedValue;->writeToParcel(Landroid/os/Parcel;Landroid/util/TimestampedValue;)V
HSPLandroid/util/TimingLogger;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/util/TimingLogger;->addSplit(Ljava/lang/String;)V
HSPLandroid/util/TimingLogger;->dumpToLog()V
HSPLandroid/util/TimingLogger;->reset()V
HSPLandroid/util/TimingLogger;->reset(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/util/TimingsTraceLog;-><init>(Ljava/lang/String;J)V
+HSPLandroid/util/TimingsTraceLog;-><init>(Ljava/lang/String;JI)V
HSPLandroid/util/TimingsTraceLog;->assertSameThread()V
HSPLandroid/util/TimingsTraceLog;->logDuration(Ljava/lang/String;J)V
HSPLandroid/util/TimingsTraceLog;->traceBegin(Ljava/lang/String;)V
HSPLandroid/util/TimingsTraceLog;->traceEnd()V
HSPLandroid/util/TypedValue;-><init>()V
HSPLandroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
-HSPLandroid/util/TypedValue;->coerceToString()Ljava/lang/CharSequence;
HSPLandroid/util/TypedValue;->coerceToString(II)Ljava/lang/String;
-HSPLandroid/util/TypedValue;->complexToDimension(ILandroid/util/DisplayMetrics;)F
HSPLandroid/util/TypedValue;->complexToDimensionPixelOffset(ILandroid/util/DisplayMetrics;)I
HSPLandroid/util/TypedValue;->complexToDimensionPixelSize(ILandroid/util/DisplayMetrics;)I
HSPLandroid/util/TypedValue;->complexToFloat(I)F
-HSPLandroid/util/TypedValue;->complexToFraction(IFF)F
-HSPLandroid/util/TypedValue;->getDimension(Landroid/util/DisplayMetrics;)F
HSPLandroid/util/TypedValue;->getFloat()F
HSPLandroid/util/TypedValue;->getFraction(FF)F
-HSPLandroid/util/Xml$Encoding;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/util/UtilConfig;->setThrowExceptionForUpperArrayOutOfBounds(Z)V
HSPLandroid/util/Xml;->asAttributeSet(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/AttributeSet;
HSPLandroid/util/Xml;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
HSPLandroid/util/Xml;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->generateApkVerityRootHash(Ljava/lang/String;)[B
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->isSupportedSignatureAlgorithm(I)Z
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;)V
-HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)[Ljava/security/cert/X509Certificate;
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerityRootHash(Ljava/lang/String;)[B
-HPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->getVerityRootHash(Ljava/lang/String;)[B
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->isSupportedSignatureAlgorithm(I)Z
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
-HSPLandroid/util/apk/ApkSignatureVerifier;->closeQuietly(Landroid/util/jar/StrictJarFile;)V
-HPLandroid/util/apk/ApkSignatureVerifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
-HSPLandroid/util/apk/ApkSignatureVerifier;->generateApkVerityRootHash(Ljava/lang/String;)[B
-HPLandroid/util/apk/ApkSignatureVerifier;->getVerityRootHash(Ljava/lang/String;)[B
-HSPLandroid/util/apk/ApkSignatureVerifier;->loadCertificates(Landroid/util/jar/StrictJarFile;Ljava/util/zip/ZipEntry;)[[Ljava/security/cert/Certificate;
-HSPLandroid/util/apk/ApkSignatureVerifier;->readFullyIgnoringContents(Ljava/io/InputStream;)V
-HSPLandroid/util/apk/ApkSignatureVerifier;->unsafeGetCertsWithoutVerification(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
-HSPLandroid/util/apk/ApkSignatureVerifier;->verify(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
-HSPLandroid/util/apk/ApkSignatureVerifier;->verifyV1Signature(Ljava/lang/String;Z)Landroid/content/pm/PackageParser$SigningDetails;
-HSPLandroid/util/apk/ApkSigningBlockUtils$1;->create(I)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/ApkSigningBlockUtils$MultipleDigestDataDigester;->consume(Ljava/nio/ByteBuffer;)V
-HSPLandroid/util/apk/ApkSigningBlockUtils;->compareContentDigestAlgorithm(II)I
-HSPLandroid/util/apk/ApkSigningBlockUtils;->compareSignatureAlgorithm(II)I
-HSPLandroid/util/apk/ApkSigningBlockUtils;->computeContentDigestsPer1MbChunk([I[Landroid/util/apk/DataSource;)[[B
-HSPLandroid/util/apk/ApkSigningBlockUtils;->findApkSignatureSchemeBlock(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->findApkSigningBlock(Ljava/io/RandomAccessFile;J)Landroid/util/Pair;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->findSignature(Ljava/io/RandomAccessFile;I)Landroid/util/apk/SignatureInfo;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getByteBuffer(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getCentralDirOffset(Ljava/nio/ByteBuffer;J)J
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getContentDigestAlgorithmJcaDigestAlgorithm(I)Ljava/lang/String;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getContentDigestAlgorithmOutputSizeBytes(I)I
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getLengthPrefixedSlice(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getSignatureAlgorithmContentDigestAlgorithm(I)I
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getSignatureAlgorithmJcaKeyAlgorithm(I)Ljava/lang/String;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->getSignatureAlgorithmJcaSignatureAlgorithm(I)Landroid/util/Pair;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->parseVerityDigestAndVerifySourceLength([BJLandroid/util/apk/SignatureInfo;)[B
-HSPLandroid/util/apk/ApkSigningBlockUtils;->readLengthPrefixedByteArray(Ljava/nio/ByteBuffer;)[B
-HSPLandroid/util/apk/ApkSigningBlockUtils;->setUnsignedInt32LittleEndian(I[BI)V
-HSPLandroid/util/apk/ApkSigningBlockUtils;->sliceFromTo(Ljava/nio/ByteBuffer;II)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrity(Ljava/util/Map;Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;)V
-HSPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrityFor1MbChunkBasedAlgorithm(Ljava/util/Map;Ljava/io/FileDescriptor;Landroid/util/apk/SignatureInfo;)V
-HSPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrityForVerityBasedAlgorithm([BLjava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;)V
-HSPLandroid/util/apk/ByteBufferDataSource;->feedIntoDataDigester(Landroid/util/apk/DataDigester;JI)V
-HSPLandroid/util/apk/ByteBufferDataSource;->size()J
-HSPLandroid/util/apk/MemoryMappedFileDataSource;->feedIntoDataDigester(Landroid/util/apk/DataDigester;JI)V
-HSPLandroid/util/apk/MemoryMappedFileDataSource;->size()J
-HSPLandroid/util/apk/VerbatimX509Certificate;-><init>(Ljava/security/cert/X509Certificate;[B)V
-HSPLandroid/util/apk/VerbatimX509Certificate;->getEncoded()[B
-HSPLandroid/util/apk/VerityBuilder$BufferedDigester;-><init>([BLjava/nio/ByteBuffer;)V
-HSPLandroid/util/apk/VerityBuilder$BufferedDigester;->consume(Ljava/nio/ByteBuffer;)V
-HSPLandroid/util/apk/VerityBuilder;->assertSigningBlockAlignedAndHasFullPages(Landroid/util/apk/SignatureInfo;)V
-HSPLandroid/util/apk/VerityBuilder;->calculateVerityLevelOffset(J)[I
-HPLandroid/util/apk/VerityBuilder;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;Landroid/util/apk/SignatureInfo;)[B
-HSPLandroid/util/apk/VerityBuilder;->generateApkVerityDigestAtLeafLevel(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;[BLjava/nio/ByteBuffer;)V
-HSPLandroid/util/apk/VerityBuilder;->generateApkVerityExtensions(Ljava/nio/ByteBuffer;JJJ)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/VerityBuilder;->generateApkVerityHeader(Ljava/nio/ByteBuffer;J[B)Ljava/nio/ByteBuffer;
-HSPLandroid/util/apk/VerityBuilder;->generateApkVerityRootHash(Ljava/io/RandomAccessFile;Ljava/nio/ByteBuffer;Landroid/util/apk/SignatureInfo;)[B
-HSPLandroid/util/apk/VerityBuilder;->generateVerityTreeInternal(Ljava/io/RandomAccessFile;Landroid/util/apk/ByteBufferFactory;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/VerityBuilder$VerityResult;
-HSPLandroid/util/apk/VerityBuilder;->generateVerityTreeInternal(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;[B[ILjava/nio/ByteBuffer;Z)[B
-HSPLandroid/util/apk/WrappedX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
-HSPLandroid/util/apk/WrappedX509Certificate;->getPublicKey()Ljava/security/PublicKey;
-HSPLandroid/util/apk/ZipUtils;->findZipEndOfCentralDirectoryRecord(Ljava/io/RandomAccessFile;I)Landroid/util/Pair;
-HSPLandroid/util/apk/ZipUtils;->findZipEndOfCentralDirectoryRecord(Ljava/nio/ByteBuffer;)I
-HSPLandroid/util/apk/ZipUtils;->setUnsignedInt32(Ljava/nio/ByteBuffer;IJ)V
-HSPLandroid/util/jar/StrictJarFile$FDStream;->read([BII)I
-HSPLandroid/util/jar/StrictJarFile$JarFileInputStream;->read([BII)I
-HSPLandroid/util/jar/StrictJarFile$ZipInflaterInputStream;->close()V
-HSPLandroid/util/jar/StrictJarFile$ZipInflaterInputStream;->read([BII)I
-HSPLandroid/util/jar/StrictJarFile;-><init>(Ljava/lang/String;Ljava/io/FileDescriptor;ZZ)V
-HSPLandroid/util/jar/StrictJarFile;-><init>(Ljava/lang/String;ZZ)V
-HSPLandroid/util/jar/StrictJarFile;->access$000(JLjava/lang/String;)J
-HSPLandroid/util/jar/StrictJarFile;->close()V
-HSPLandroid/util/jar/StrictJarFile;->finalize()V
-HSPLandroid/util/jar/StrictJarFile;->findEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
-HSPLandroid/util/jar/StrictJarFile;->getMetaEntries()Ljava/util/HashMap;
-HSPLandroid/util/jar/StrictJarFile;->getZipInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
-HSPLandroid/util/jar/StrictJarManifest;->getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes;
-HSPLandroid/util/jar/StrictJarManifest;->getEntries()Ljava/util/Map;
-HSPLandroid/util/jar/StrictJarManifest;->getMainAttributesEnd()I
-HSPLandroid/util/jar/StrictJarManifestReader;-><init>([BLjava/util/jar/Attributes;)V
-HSPLandroid/util/jar/StrictJarManifestReader;->readEntries(Ljava/util/Map;Ljava/util/Map;)V
-HSPLandroid/util/jar/StrictJarManifestReader;->readName()V
-HSPLandroid/util/jar/StrictJarManifestReader;->readValue()V
-HSPLandroid/util/jar/StrictJarVerifier$VerifierEntry;->verify()V
-HSPLandroid/util/jar/StrictJarVerifier$VerifierEntry;->write([BII)V
-HSPLandroid/util/jar/StrictJarVerifier;-><init>(Ljava/lang/String;Landroid/util/jar/StrictJarManifest;Ljava/util/HashMap;Z)V
-HSPLandroid/util/jar/StrictJarVerifier;->getCertificateChains(Ljava/lang/String;)[[Ljava/security/cert/Certificate;
-HSPLandroid/util/jar/StrictJarVerifier;->initEntry(Ljava/lang/String;)Landroid/util/jar/StrictJarVerifier$VerifierEntry;
-HSPLandroid/util/jar/StrictJarVerifier;->isSignedJar()Z
-HSPLandroid/util/jar/StrictJarVerifier;->readCertificates()Z
-HSPLandroid/util/jar/StrictJarVerifier;->verify(Ljava/util/jar/Attributes;Ljava/lang/String;[BIIZZ)Z
-HSPLandroid/util/jar/StrictJarVerifier;->verifyBytes([B[B)[Ljava/security/cert/Certificate;
-HSPLandroid/util/jar/StrictJarVerifier;->verifyCertificate(Ljava/lang/String;)V
-HSPLandroid/util/jar/StrictJarVerifier;->verifyMessageDigest([B[B)Z
-HSPLandroid/util/proto/EncodedBuffer;-><init>(I)V
-HSPLandroid/util/proto/EncodedBuffer;->editRawFixed32(II)V
-HSPLandroid/util/proto/EncodedBuffer;->getBytes(I)[B
-HSPLandroid/util/proto/EncodedBuffer;->getRawFixed32At(I)I
-HSPLandroid/util/proto/EncodedBuffer;->nextWriteBuffer()V
-HSPLandroid/util/proto/EncodedBuffer;->readRawByte()B
-HSPLandroid/util/proto/EncodedBuffer;->readRawFixed32()I
-HSPLandroid/util/proto/EncodedBuffer;->readRawUnsigned()J
-HSPLandroid/util/proto/EncodedBuffer;->rewindWriteTo(I)V
-HSPLandroid/util/proto/EncodedBuffer;->skipRead(I)V
-HSPLandroid/util/proto/EncodedBuffer;->startEditing()V
-HSPLandroid/util/proto/EncodedBuffer;->writeFromThisBuffer(II)V
-HSPLandroid/util/proto/EncodedBuffer;->writeRawBuffer([BII)V
-HSPLandroid/util/proto/EncodedBuffer;->writeRawByte(B)V
-HSPLandroid/util/proto/ProtoInputStream;-><init>(Ljava/io/InputStream;)V
-HSPLandroid/util/proto/ProtoInputStream;-><init>(Ljava/io/InputStream;I)V
-HSPLandroid/util/proto/ProtoInputStream;->assertFieldNumber(J)V
-HSPLandroid/util/proto/ProtoInputStream;->assertFreshData()V
-HSPLandroid/util/proto/ProtoInputStream;->assertWireType(I)V
-HSPLandroid/util/proto/ProtoInputStream;->checkPacked(J)V
-HSPLandroid/util/proto/ProtoInputStream;->end(J)V
-HSPLandroid/util/proto/ProtoInputStream;->fillBuffer()V
-HSPLandroid/util/proto/ProtoInputStream;->incOffset(I)V
-HSPLandroid/util/proto/ProtoInputStream;->isNextField(J)Z
-HSPLandroid/util/proto/ProtoInputStream;->nextField()I
-HSPLandroid/util/proto/ProtoInputStream;->readBoolean(J)Z
-HSPLandroid/util/proto/ProtoInputStream;->readFixed32()I
-HSPLandroid/util/proto/ProtoInputStream;->readFloat(J)F
-HSPLandroid/util/proto/ProtoInputStream;->readInt(J)I
-HSPLandroid/util/proto/ProtoInputStream;->readLong(J)J
-HSPLandroid/util/proto/ProtoInputStream;->readRawString(I)Ljava/lang/String;
-HSPLandroid/util/proto/ProtoInputStream;->readString(J)Ljava/lang/String;
-HSPLandroid/util/proto/ProtoInputStream;->readTag()V
-HSPLandroid/util/proto/ProtoInputStream;->readVarint()J
-HSPLandroid/util/proto/ProtoInputStream;->start(J)J
-HSPLandroid/util/proto/ProtoOutputStream;-><init>(I)V
-HPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/FileDescriptor;)V
-HSPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/OutputStream;)V
-HSPLandroid/util/proto/ProtoOutputStream;->compactIfNecessary()V
-HSPLandroid/util/proto/ProtoOutputStream;->compactSizes(I)V
-HSPLandroid/util/proto/ProtoOutputStream;->editEncodedSize(I)I
-HSPLandroid/util/proto/ProtoOutputStream;->end(J)V
-HSPLandroid/util/proto/ProtoOutputStream;->endObjectImpl(JZ)V
-HSPLandroid/util/proto/ProtoOutputStream;->flush()V
-HSPLandroid/util/proto/ProtoOutputStream;->getBytes()[B
-HSPLandroid/util/proto/ProtoOutputStream;->start(J)J
-HSPLandroid/util/proto/ProtoOutputStream;->startObjectImpl(IZ)J
-HSPLandroid/util/proto/ProtoOutputStream;->write(JF)V
-HSPLandroid/util/proto/ProtoOutputStream;->write(JI)V
-HSPLandroid/util/proto/ProtoOutputStream;->write(JJ)V
-HSPLandroid/util/proto/ProtoOutputStream;->write(JLjava/lang/String;)V
-HSPLandroid/util/proto/ProtoOutputStream;->write(JZ)V
-HSPLandroid/util/proto/ProtoOutputStream;->writeUtf8String(ILjava/lang/String;)V
-HSPLandroid/util/proto/ProtoStream;->makeToken(IZIII)J
-HSPLandroid/view/-$$Lambda$1kvF4JuyM42-wmyDVPAIYdPz1jE;->run()V
-HSPLandroid/view/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;-><init>()V
-HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/view/-$$Lambda$FocusFinder$P8rLvOJhymJH5ALAgUjGaM5gxKA;-><init>()V
-HSPLandroid/view/-$$Lambda$FocusFinder$Pgx6IETuqCkrhJYdiBes48tolG4;-><init>()V
-HSPLandroid/view/-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8;-><init>()V
-HSPLandroid/view/-$$Lambda$ViewRootImpl$SOWCXD2hcuOyPEUFjoV8YFVJB34;->onFrameComplete(J)V
-HSPLandroid/view/-$$Lambda$ViewRootImpl$x5nGsJmfMGl8jXdwWgDuOQZdxR8;->run()V
-HSPLandroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;-><init>()V
-HSPLandroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/AbsSavedState$1;-><init>()V
-HSPLandroid/view/AbsSavedState$2;-><init>()V
-HSPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcelable;)V
-HSPLandroid/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
-HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/Choreographer$1;-><init>()V
+HSPLandroid/view/-$$Lambda$ViewRootImpl$7A_3tkr_Kw4TZAeIUGVlOoTcZhg;-><init>(Landroid/view/ViewRootImpl;Ljava/util/ArrayList;)V
+HSPLandroid/view/-$$Lambda$ViewRootImpl$7A_3tkr_Kw4TZAeIUGVlOoTcZhg;->run()V
+HSPLandroid/view/-$$Lambda$ViewRootImpl$YBiqAhbCbXVPSKdbE3K4rH2gpxI;->onFrameComplete(J)V
HSPLandroid/view/Choreographer$1;->initialValue()Landroid/view/Choreographer;
HSPLandroid/view/Choreographer$1;->initialValue()Ljava/lang/Object;
-HSPLandroid/view/Choreographer$2;-><init>()V
HSPLandroid/view/Choreographer$2;->initialValue()Landroid/view/Choreographer;
HSPLandroid/view/Choreographer$2;->initialValue()Ljava/lang/Object;
-HSPLandroid/view/Choreographer$3;-><init>()V
+HSPLandroid/view/Choreographer$CallbackQueue;-><init>(Landroid/view/Choreographer;)V
+HSPLandroid/view/Choreographer$CallbackQueue;-><init>(Landroid/view/Choreographer;Landroid/view/Choreographer$1;)V
HSPLandroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V
HSPLandroid/view/Choreographer$CallbackQueue;->extractDueCallbacksLocked(J)Landroid/view/Choreographer$CallbackRecord;
HSPLandroid/view/Choreographer$CallbackQueue;->removeCallbacksLocked(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/view/Choreographer$CallbackRecord;-><init>()V
+HSPLandroid/view/Choreographer$CallbackRecord;-><init>(Landroid/view/Choreographer$1;)V
+HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;I)V
HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJI)V
HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->run()V
-HSPLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/view/Choreographer$FrameHandler;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;)V
+PLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V
+HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;ILandroid/view/Choreographer$1;)V
+HSPLandroid/view/Choreographer;->access$400(Landroid/view/Choreographer;)Landroid/view/Choreographer$FrameHandler;
+HSPLandroid/view/Choreographer;->access$600(Landroid/view/Choreographer;JLjava/lang/Object;Ljava/lang/Object;)Landroid/view/Choreographer$CallbackRecord;
HSPLandroid/view/Choreographer;->doCallbacks(IJ)V
HSPLandroid/view/Choreographer;->doFrame(JI)V
-HSPLandroid/view/Choreographer;->doScheduleCallback(I)V
-HSPLandroid/view/Choreographer;->doScheduleVsync()V
-HSPLandroid/view/Choreographer;->getFrameTime()J
+PLandroid/view/Choreographer;->doScheduleVsync()V
HSPLandroid/view/Choreographer;->getFrameTimeNanos()J
HSPLandroid/view/Choreographer;->getInstance()Landroid/view/Choreographer;
-HSPLandroid/view/Choreographer;->getMainThreadInstance()Landroid/view/Choreographer;
+HSPLandroid/view/Choreographer;->getRefreshRate()F
HSPLandroid/view/Choreographer;->getSfInstance()Landroid/view/Choreographer;
+HSPLandroid/view/Choreographer;->isRunningOnLooperThreadLocked()Z
+HSPLandroid/view/Choreographer;->obtainCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)Landroid/view/Choreographer$CallbackRecord;
HSPLandroid/view/Choreographer;->postCallback(ILjava/lang/Runnable;Ljava/lang/Object;)V
HSPLandroid/view/Choreographer;->postCallbackDelayed(ILjava/lang/Runnable;Ljava/lang/Object;J)V
HSPLandroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V
HSPLandroid/view/Choreographer;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
-HSPLandroid/view/Choreographer;->removeCallbacks(ILjava/lang/Runnable;Ljava/lang/Object;)V
HSPLandroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/view/Choreographer;->removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
HSPLandroid/view/Choreographer;->scheduleFrameLocked(J)V
+HSPLandroid/view/Choreographer;->scheduleVsyncLocked()V
+HSPLandroid/view/Choreographer;->setFPSDivisor(I)V
HSPLandroid/view/ContextThemeWrapper;-><init>(Landroid/content/Context;I)V
-HSPLandroid/view/ContextThemeWrapper;->applyOverrideConfiguration(Landroid/content/res/Configuration;)V
-HSPLandroid/view/ContextThemeWrapper;->attachBaseContext(Landroid/content/Context;)V
-HSPLandroid/view/ContextThemeWrapper;->getAssets()Landroid/content/res/AssetManager;
HSPLandroid/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resources;
HSPLandroid/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme;
HSPLandroid/view/ContextThemeWrapper;->initializeTheme()V
HSPLandroid/view/ContextThemeWrapper;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V
-HSPLandroid/view/ContextThemeWrapper;->setTheme(I)V
-HSPLandroid/view/Display$HdrCapabilities$1;-><init>()V
HSPLandroid/view/Display$HdrCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/Display$HdrCapabilities;
HSPLandroid/view/Display$HdrCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/Display$HdrCapabilities;-><init>([IFFF)V
-HSPLandroid/view/Display$HdrCapabilities;->hashCode()I
+HSPLandroid/view/Display$HdrCapabilities;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/view/Display$HdrCapabilities;-><init>(Landroid/os/Parcel;Landroid/view/Display$1;)V
HSPLandroid/view/Display$HdrCapabilities;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/view/Display$HdrCapabilities;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/Display$Mode$1;-><init>()V
HSPLandroid/view/Display$Mode$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/Display$Mode;
HSPLandroid/view/Display$Mode$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/Display$Mode;-><init>(IIIF)V
-HSPLandroid/view/Display$Mode;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/Display$Mode;->toString()Ljava/lang/String;
+HSPLandroid/view/Display$Mode;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/view/Display$Mode;-><init>(Landroid/os/Parcel;Landroid/view/Display$1;)V
+HSPLandroid/view/Display$Mode;->getModeId()I
+HSPLandroid/view/Display$Mode;->getRefreshRate()F
HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/content/res/Resources;)V
HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;)V
HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V
HSPLandroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
HSPLandroid/view/Display;->getDisplayId()I
-HSPLandroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z
HSPLandroid/view/Display;->getHeight()I
-HSPLandroid/view/Display;->getMaximumSizeDimension()I
HSPLandroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
HSPLandroid/view/Display;->getRealMetrics(Landroid/util/DisplayMetrics;)V
HSPLandroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
@@ -16076,15 +7087,15 @@ HSPLandroid/view/Display;->getRefreshRate()F
HSPLandroid/view/Display;->getRotation()I
HSPLandroid/view/Display;->getSize(Landroid/graphics/Point;)V
HSPLandroid/view/Display;->getState()I
-HSPLandroid/view/Display;->getUniqueId()Ljava/lang/String;
HSPLandroid/view/Display;->getWidth()I
-HSPLandroid/view/Display;->hasAccess(I)Z
HSPLandroid/view/Display;->isValid()Z
-HSPLandroid/view/Display;->stateToString(I)Ljava/lang/String;
-HSPLandroid/view/Display;->typeToString(I)Ljava/lang/String;
HSPLandroid/view/Display;->updateCachedAppSizeIfNeededLocked()V
-HSPLandroid/view/DisplayAddress$Physical$1;-><init>()V
-HSPLandroid/view/DisplayAddress;->fromPhysicalDisplayId(J)Landroid/view/DisplayAddress$Physical;
+HSPLandroid/view/Display;->updateDisplayInfoLocked()V
+HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayAddress$Physical;
+HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/DisplayAddress$Physical;-><init>(J)V
+HSPLandroid/view/DisplayAddress$Physical;-><init>(JLandroid/view/DisplayAddress$1;)V
+HSPLandroid/view/DisplayAddress;-><init>()V
HSPLandroid/view/DisplayAdjustments;-><init>()V
HSPLandroid/view/DisplayAdjustments;-><init>(Landroid/content/res/Configuration;)V
HSPLandroid/view/DisplayAdjustments;-><init>(Landroid/view/DisplayAdjustments;)V
@@ -16093,723 +7104,194 @@ HSPLandroid/view/DisplayAdjustments;->getCompatibilityInfo()Landroid/content/res
HSPLandroid/view/DisplayAdjustments;->getConfiguration()Landroid/content/res/Configuration;
HSPLandroid/view/DisplayAdjustments;->hashCode()I
HSPLandroid/view/DisplayAdjustments;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V
-HSPLandroid/view/DisplayCutout$Bounds;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
-HSPLandroid/view/DisplayCutout$Bounds;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/view/DisplayCutout$1;)V
-HSPLandroid/view/DisplayCutout$Bounds;-><init>([Landroid/graphics/Rect;Z)V
-HSPLandroid/view/DisplayCutout$Bounds;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/DisplayCutout$Bounds;->toString()Ljava/lang/String;
-HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;-><init>()V
HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout$ParcelableWrapper;
HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/DisplayCutout$ParcelableWrapper;-><init>()V
+HSPLandroid/view/DisplayCutout$ParcelableWrapper;-><init>(Landroid/view/DisplayCutout;)V
HSPLandroid/view/DisplayCutout$ParcelableWrapper;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/DisplayCutout$ParcelableWrapper;->get()Landroid/view/DisplayCutout;
HSPLandroid/view/DisplayCutout$ParcelableWrapper;->readCutoutFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout;
HSPLandroid/view/DisplayCutout$ParcelableWrapper;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/view/DisplayCutout$ParcelableWrapper;->set(Landroid/view/DisplayCutout$ParcelableWrapper;)V
-HSPLandroid/view/DisplayCutout$ParcelableWrapper;->writeCutoutToParcel(Landroid/view/DisplayCutout;Landroid/os/Parcel;I)V
-HSPLandroid/view/DisplayCutout$ParcelableWrapper;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
HSPLandroid/view/DisplayCutout;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/DisplayCutout;->fromBounds([Landroid/graphics/Rect;)Landroid/view/DisplayCutout;
-HSPLandroid/view/DisplayCutout;->fromResourcesRectApproximation(Landroid/content/res/Resources;II)Landroid/view/DisplayCutout;
-HSPLandroid/view/DisplayCutout;->getBoundingRects()Ljava/util/List;
-HSPLandroid/view/DisplayCutout;->getBoundingRectsAll()[Landroid/graphics/Rect;
-HSPLandroid/view/DisplayCutout;->getSafeInsetBottom()I
-HSPLandroid/view/DisplayCutout;->getSafeInsetLeft()I
-HSPLandroid/view/DisplayCutout;->getSafeInsetRight()I
-HSPLandroid/view/DisplayCutout;->getSafeInsetTop()I
-HSPLandroid/view/DisplayCutout;->getSafeInsets()Landroid/graphics/Rect;
-HSPLandroid/view/DisplayCutout;->inset(IIII)Landroid/view/DisplayCutout;
-HSPLandroid/view/DisplayCutout;->isBoundsEmpty()Z
-HSPLandroid/view/DisplayCutout;->isEmpty()Z
-HSPLandroid/view/DisplayCutout;->pathAndDisplayCutoutFromSpec(Ljava/lang/String;IIF)Landroid/util/Pair;
-HSPLandroid/view/DisplayCutout;->replaceSafeInsets(Landroid/graphics/Rect;)Landroid/view/DisplayCutout;
-HSPLandroid/view/DisplayCutout;->toString()Ljava/lang/String;
-HSPLandroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;I)V
+HSPLandroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;II)V
HSPLandroid/view/DisplayEventReceiver;->dispatchVsync(JJI)V
-HSPLandroid/view/DisplayInfo$1;-><init>()V
+HSPLandroid/view/DisplayEventReceiver;->scheduleVsync()V
HSPLandroid/view/DisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayInfo;
HSPLandroid/view/DisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/DisplayInfo;-><init>()V
-HSPLandroid/view/DisplayInfo;-><init>(Landroid/view/DisplayInfo;)V
-HSPLandroid/view/DisplayInfo;->copyFrom(Landroid/view/DisplayInfo;)V
-HSPLandroid/view/DisplayInfo;->equals(Landroid/view/DisplayInfo;)Z
+HSPLandroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;Landroid/view/DisplayInfo$1;)V
HSPLandroid/view/DisplayInfo;->findMode(I)Landroid/view/Display$Mode;
-HSPLandroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;)V
-HSPLandroid/view/DisplayInfo;->getDefaultMode()Landroid/view/Display$Mode;
-HSPLandroid/view/DisplayInfo;->getLogicalMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V
+HSPLandroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/view/DisplayAdjustments;)V
HSPLandroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V
-HSPLandroid/view/DisplayInfo;->hasAccess(I)Z
-HSPLandroid/view/DisplayInfo;->isWideColorGamut()Z
+HSPLandroid/view/DisplayInfo;->getMode()Landroid/view/Display$Mode;
HSPLandroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/view/DisplayInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/DisplayListCanvas;-><init>(J)V
-HSPLandroid/view/FocusFinder$1;-><init>()V
-HSPLandroid/view/FocusFinder$1;->initialValue()Landroid/view/FocusFinder;
-HSPLandroid/view/FocusFinder$1;->initialValue()Ljava/lang/Object;
-HSPLandroid/view/FocusFinder$FocusSorter;->lambda$new$0$FocusFinder$FocusSorter(Landroid/view/View;Landroid/view/View;)I
-HSPLandroid/view/FocusFinder$FocusSorter;->lambda$new$1$FocusFinder$FocusSorter(Landroid/view/View;Landroid/view/View;)I
-HSPLandroid/view/FocusFinder$FocusSorter;->sort([Landroid/view/View;IILandroid/view/ViewGroup;Z)V
-HSPLandroid/view/FocusFinder$UserSpecifiedFocusComparator;-><init>(Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;)V
-HSPLandroid/view/FocusFinder;-><init>()V
-HSPLandroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
-HSPLandroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;ILjava/util/ArrayList;)Landroid/view/View;
-HSPLandroid/view/FocusFinder;->findNextFocusInAbsoluteDirection(Ljava/util/ArrayList;Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
-HSPLandroid/view/FocusFinder;->findNextUserSpecifiedFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
-HSPLandroid/view/FocusFinder;->getEffectiveRoot(Landroid/view/ViewGroup;Landroid/view/View;)Landroid/view/ViewGroup;
-HSPLandroid/view/FocusFinder;->isBetterCandidate(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLandroid/view/FocusFinder;->isCandidate(Landroid/graphics/Rect;Landroid/graphics/Rect;I)Z
-HSPLandroid/view/GestureDetector$GestureHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/view/GestureDetector$SimpleOnGestureListener;-><init>()V
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTap(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTapEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDown(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onLongPress(Landroid/view/MotionEvent;)V
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onShowPress(Landroid/view/MotionEvent;)V
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapUp(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
HSPLandroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V
-HSPLandroid/view/GestureDetector;->cancel()V
-HSPLandroid/view/GestureDetector;->cancelTaps()V
HSPLandroid/view/GestureDetector;->init(Landroid/content/Context;)V
-HSPLandroid/view/GestureDetector;->isConsideredDoubleTap(Landroid/view/MotionEvent;Landroid/view/MotionEvent;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/view/GestureDetector;->setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V
HSPLandroid/view/GestureDetector;->setOnDoubleTapListener(Landroid/view/GestureDetector$OnDoubleTapListener;)V
+HSPLandroid/view/GestureExclusionTracker;-><init>()V
HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;)V
-HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;I)V
-HSPLandroid/view/Gravity;->applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLandroid/view/Gravity;->getAbsoluteGravity(II)I
-HSPLandroid/view/HandlerActionQueue$HandlerAction;->matches(Ljava/lang/Runnable;)Z
HSPLandroid/view/HandlerActionQueue;->executeActions(Landroid/os/Handler;)V
-HSPLandroid/view/HandlerActionQueue;->post(Ljava/lang/Runnable;)V
-HSPLandroid/view/HandlerActionQueue;->postDelayed(Ljava/lang/Runnable;J)V
HSPLandroid/view/HandlerActionQueue;->removeCallbacks(Ljava/lang/Runnable;)V
-HSPLandroid/view/IApplicationToken$Stub;-><init>()V
-HSPLandroid/view/IApplicationToken$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onAdjustedForImeChanged(ZJ)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDividerVisibilityChanged(Z)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackExistsChanged(Z)V
-HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackMinimizedChanged(ZJZ)V
-HSPLandroid/view/IDockedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IDockedStackListener;
HSPLandroid/view/IGraphicsStats$Stub$Proxy;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/view/IGraphicsStats$Stub;-><init>()V
HSPLandroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats;
-HSPLandroid/view/IGraphicsStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IGraphicsStatsCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IGraphicsStatsCallback$Stub$Proxy;->onRotateGraphicsStatsBuffer()V
-HSPLandroid/view/IGraphicsStatsCallback$Stub;-><init>()V
HSPLandroid/view/IGraphicsStatsCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IGraphicsStatsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IPinnedStackController$Stub;-><init>()V
-HSPLandroid/view/IPinnedStackController$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IPinnedStackController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onActionsChanged(Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onImeVisibilityChanged(ZI)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onListenerRegistered(Landroid/view/IPinnedStackController;)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onMinimizedStateChanged(Z)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onMovementBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)V
-HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onShelfVisibilityChanged(ZI)V
-HSPLandroid/view/IPinnedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackListener;
-PLandroid/view/IRecentsAnimationController$Stub;-><init>()V
-PLandroid/view/IRecentsAnimationController$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/view/IRecentsAnimationController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/view/IRecentsAnimationRunner$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/view/IRecentsAnimationRunner$Stub$Proxy;->onAnimationCanceled(Z)V
-PLandroid/view/IRecentsAnimationRunner$Stub$Proxy;->onAnimationStart(Landroid/view/IRecentsAnimationController;[Landroid/view/RemoteAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLandroid/view/IRecentsAnimationRunner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRecentsAnimationRunner;
-PLandroid/view/IRemoteAnimationFinishedCallback$Stub;-><init>()V
-PLandroid/view/IRemoteAnimationFinishedCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/view/IRemoteAnimationFinishedCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/view/IRemoteAnimationRunner$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/view/IRemoteAnimationRunner$Stub$Proxy;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V
-HSPLandroid/view/IRotationWatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IRotationWatcher$Stub$Proxy;->onRotationChanged(I)V
-HSPLandroid/view/IRotationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRotationWatcher;
-HSPLandroid/view/IWallpaperVisibilityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IWallpaperVisibilityListener$Stub$Proxy;->onWallpaperVisibilityChanged(ZI)V
-HSPLandroid/view/IWallpaperVisibilityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWallpaperVisibilityListener;
-HSPLandroid/view/IWindow$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/view/IWindow$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/view/IWindow$Stub$Proxy;->dispatchAppVisibility(Z)V
-HSPLandroid/view/IWindow$Stub$Proxy;->dispatchSystemUiVisibilityChanged(IIII)V
-HPLandroid/view/IWindow$Stub$Proxy;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-HSPLandroid/view/IWindow$Stub$Proxy;->dispatchWallpaperOffsets(FFFFZ)V
-HSPLandroid/view/IWindow$Stub$Proxy;->dispatchWindowShown()V
-HSPLandroid/view/IWindow$Stub$Proxy;->insetsChanged(Landroid/view/InsetsState;)V
-HSPLandroid/view/IWindow$Stub$Proxy;->moved(II)V
-HSPLandroid/view/IWindow$Stub$Proxy;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-HSPLandroid/view/IWindow$Stub$Proxy;->windowFocusChanged(ZZ)V
+HSPLandroid/view/IWindow$Stub;-><init>()V
HSPLandroid/view/IWindow$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IWindow$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindow;
HSPLandroid/view/IWindow$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindowId$Stub;-><init>()V
-PLandroid/view/IWindowId$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IWindowManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/view/IWindowManager$Stub$Proxy;->getCurrentAnimatorScale()F
HSPLandroid/view/IWindowManager$Stub$Proxy;->hasNavigationBar(I)Z
HSPLandroid/view/IWindowManager$Stub$Proxy;->isKeyguardLocked()Z
HSPLandroid/view/IWindowManager$Stub$Proxy;->isKeyguardSecure(I)Z
HSPLandroid/view/IWindowManager$Stub$Proxy;->openSession(Landroid/view/IWindowSessionCallback;)Landroid/view/IWindowSession;
-HSPLandroid/view/IWindowManager$Stub;-><init>()V
HSPLandroid/view/IWindowManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowManager;
-HPLandroid/view/IWindowManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/view/IWindowManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindowSession$Stub$Proxy;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
-HSPLandroid/view/IWindowSession$Stub$Proxy;->finishDrawing(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
+HSPLandroid/view/IWindowSession$Stub$Proxy;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
+HSPLandroid/view/IWindowSession$Stub$Proxy;->finishDrawing(Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;)V
HSPLandroid/view/IWindowSession$Stub$Proxy;->getInTouchMode()Z
-HSPLandroid/view/IWindowSession$Stub$Proxy;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->performHapticFeedback(IZ)Z
-HSPLandroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
-HSPLandroid/view/IWindowSession$Stub$Proxy;->remove(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-HSPLandroid/view/IWindowSession$Stub;-><init>()V
-HSPLandroid/view/IWindowSession$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/view/IWindowSession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLandroid/view/IWindowSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindowSessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
HSPLandroid/view/IWindowSessionCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IWindowSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowSessionCallback;
-HSPLandroid/view/ImeInsetsSourceConsumer;->onWindowFocusGained()V
-HSPLandroid/view/ImeInsetsSourceConsumer;->onWindowFocusLost()V
-HSPLandroid/view/InputApplicationHandle;->finalize()V
-HSPLandroid/view/InputChannel$1;-><init>()V
HSPLandroid/view/InputChannel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputChannel;
HSPLandroid/view/InputChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/InputChannel;-><init>()V
-HSPLandroid/view/InputChannel;->dispose()V
-HSPLandroid/view/InputChannel;->dup()Landroid/view/InputChannel;
HSPLandroid/view/InputChannel;->finalize()V
-HSPLandroid/view/InputChannel;->getToken()Landroid/os/IBinder;
-HSPLandroid/view/InputChannel;->openInputChannelPair(Ljava/lang/String;)[Landroid/view/InputChannel;
HSPLandroid/view/InputChannel;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/view/InputChannel;->setToken(Landroid/os/IBinder;)V
-HSPLandroid/view/InputChannel;->transferTo(Landroid/view/InputChannel;)V
-HSPLandroid/view/InputChannel;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/InputDevice$1;-><init>()V
-HSPLandroid/view/InputDevice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputDevice;
-HSPLandroid/view/InputDevice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/InputDevice$MotionRange;-><init>(IIFFFFFLandroid/view/InputDevice$1;)V
-HSPLandroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V
-HSPLandroid/view/InputDevice;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/InputDevice;->addMotionRange(IIFFFFF)V
-HSPLandroid/view/InputDevice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/InputEvent$1;-><init>()V
-HPLandroid/view/InputEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputEvent;
-HPLandroid/view/InputEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/InputEvent;->getSequenceNumber()I
-HSPLandroid/view/InputEvent;->isFromSource(I)Z
-HSPLandroid/view/InputEvent;->prepareForReuse()V
HSPLandroid/view/InputEvent;->recycle()V
HSPLandroid/view/InputEvent;->recycleIfNeededAfterDispatch()V
-HSPLandroid/view/InputEventCompatProcessor;->processInputEventForCompatibility(Landroid/view/InputEvent;)Ljava/util/List;
+HSPLandroid/view/InputEventCompatProcessor;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/InputEventConsistencyVerifier;->isInstrumentationEnabled()Z
HSPLandroid/view/InputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
HSPLandroid/view/InputEventReceiver;->dispatchBatchedInputEventPending()V
HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;)V
-HSPLandroid/view/InputEventReceiver;->dispose()V
HSPLandroid/view/InputEventReceiver;->dispose(Z)V
HSPLandroid/view/InputEventReceiver;->finalize()V
HSPLandroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V
-HSPLandroid/view/InputEventReceiver;->onBatchedInputEventPending()V
-HSPLandroid/view/InputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
-HSPLandroid/view/InputEventSender;->dispatchInputEventFinished(IZ)V
-HSPLandroid/view/InputEventSender;->dispose(Z)V
-HSPLandroid/view/InputEventSender;->finalize()V
-HSPLandroid/view/InputEventSender;->sendInputEvent(ILandroid/view/InputEvent;)Z
-HSPLandroid/view/InputWindowHandle;-><init>(Landroid/view/InputApplicationHandle;Landroid/view/IWindow;I)V
-HSPLandroid/view/InputWindowHandle;->finalize()V
+HSPLandroid/view/InputMonitor$1;-><init>()V
+HSPLandroid/view/InputMonitor;-><clinit>()V
HSPLandroid/view/InsetsController;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/InsetsController;->getSourceConsumer(I)Landroid/view/InsetsSourceConsumer;
-HSPLandroid/view/InsetsController;->getViewRoot()Landroid/view/ViewRootImpl;
+HSPLandroid/view/InsetsController;->calculateInsets(ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/view/WindowInsets;
HSPLandroid/view/InsetsController;->onFrameChanged(Landroid/graphics/Rect;)V
HSPLandroid/view/InsetsController;->onStateChanged(Landroid/view/InsetsState;)Z
-HSPLandroid/view/InsetsController;->onWindowFocusGained()V
-HSPLandroid/view/InsetsController;->onWindowFocusLost()V
-HSPLandroid/view/InsetsSource$1;-><init>()V
+HSPLandroid/view/InsetsFlags;-><init>()V
HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsSource;
HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroid/graphics/Insets;
HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z
HSPLandroid/view/InsetsSource;->getType()I
-HSPLandroid/view/InsetsSource;->setFrame(Landroid/graphics/Rect;)V
-HSPLandroid/view/InsetsSource;->setVisible(Z)V
-HSPLandroid/view/InsetsSource;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/InsetsSourceConsumer;->applyLocalVisibilityOverride()Z
-HSPLandroid/view/InsetsState$1;-><init>()V
-HSPLandroid/view/InsetsState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsState;
-HSPLandroid/view/InsetsState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/InsetsSource;->isVisible()Z
HSPLandroid/view/InsetsState;-><init>()V
+HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/InsetsState;->getSource(I)Landroid/view/InsetsSource;
+HSPLandroid/view/InsetsState;->processSource(Landroid/view/InsetsSource;Landroid/graphics/Rect;Z[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[Z)V
+HSPLandroid/view/InsetsState;->processSourceAsPublicType(Landroid/view/InsetsSource;[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[ZLandroid/graphics/Insets;I)V
HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/view/InsetsState;->removeSource(I)V
HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;)V
HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V
-HSPLandroid/view/InsetsState;->setDisplayFrame(Landroid/graphics/Rect;)V
-HSPLandroid/view/InsetsState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/KeyCharacterMap$1;-><init>()V
-HSPLandroid/view/KeyCharacterMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/KeyCharacterMap;
-HSPLandroid/view/KeyCharacterMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/KeyCharacterMap;-><init>(J)V
-HSPLandroid/view/KeyCharacterMap;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/KeyCharacterMap;->addCombining(II)V
-HSPLandroid/view/KeyCharacterMap;->addDeadKey(III)V
-HSPLandroid/view/KeyCharacterMap;->finalize()V
-HSPLandroid/view/KeyCharacterMap;->get(II)I
-HSPLandroid/view/KeyCharacterMap;->getKeyboardType()I
-HSPLandroid/view/KeyCharacterMap;->load(I)Landroid/view/KeyCharacterMap;
-HSPLandroid/view/KeyCharacterMap;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/KeyEvent$1;-><init>()V
-HSPLandroid/view/KeyEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/KeyEvent;
-HSPLandroid/view/KeyEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/KeyEvent$DispatcherState;-><init>()V
-HSPLandroid/view/KeyEvent$DispatcherState;->handleUpEvent(Landroid/view/KeyEvent;)V
-HSPLandroid/view/KeyEvent$DispatcherState;->isTracking(Landroid/view/KeyEvent;)Z
+HSPLandroid/view/InsetsState;->toPublicType(I)I
HSPLandroid/view/KeyEvent$DispatcherState;->reset()V
-HSPLandroid/view/KeyEvent$DispatcherState;->reset(Ljava/lang/Object;)V
-HSPLandroid/view/KeyEvent$DispatcherState;->startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V
-HSPLandroid/view/KeyEvent;-><init>(JJIIIIIII)V
-HSPLandroid/view/KeyEvent;-><init>(Landroid/os/Parcel;)V
-HPLandroid/view/KeyEvent;->actionToString(I)Ljava/lang/String;
-HSPLandroid/view/KeyEvent;->dispatch(Landroid/view/KeyEvent$Callback;Landroid/view/KeyEvent$DispatcherState;Ljava/lang/Object;)Z
-HSPLandroid/view/KeyEvent;->getAction()I
-HSPLandroid/view/KeyEvent;->getDeviceId()I
-HSPLandroid/view/KeyEvent;->getEventTimeNano()J
-HSPLandroid/view/KeyEvent;->getFlags()I
-HSPLandroid/view/KeyEvent;->getKeyCharacterMap()Landroid/view/KeyCharacterMap;
-HSPLandroid/view/KeyEvent;->getKeyCode()I
-HSPLandroid/view/KeyEvent;->getMetaState()I
-HSPLandroid/view/KeyEvent;->getUnicodeChar()I
-HSPLandroid/view/KeyEvent;->getUnicodeChar(I)I
-HPLandroid/view/KeyEvent;->isAltPressed()Z
-HSPLandroid/view/KeyEvent;->isCtrlPressed()Z
-HPLandroid/view/KeyEvent;->isMetaKey(I)Z
-HPLandroid/view/KeyEvent;->isMetaPressed()Z
-HSPLandroid/view/KeyEvent;->isModifierKey(I)Z
-HPLandroid/view/KeyEvent;->isShiftPressed()Z
-HSPLandroid/view/KeyEvent;->isSystem()Z
-HSPLandroid/view/KeyEvent;->isSystemKey(I)Z
-HSPLandroid/view/KeyEvent;->isWakeKey()Z
-HSPLandroid/view/KeyEvent;->metaStateToString(I)Ljava/lang/String;
-HSPLandroid/view/KeyEvent;->normalizeMetaState(I)I
-HSPLandroid/view/KeyEvent;->obtain()Landroid/view/KeyEvent;
-HSPLandroid/view/KeyEvent;->obtain(JJIIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;
-HSPLandroid/view/KeyEvent;->recycle()V
-HSPLandroid/view/KeyEvent;->recycleIfNeededAfterDispatch()V
-HSPLandroid/view/KeyEvent;->toString()Ljava/lang/String;
-HSPLandroid/view/KeyEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/LayoutInflater$FactoryMerger;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/view/LayoutInflater;-><init>(Landroid/content/Context;)V
HSPLandroid/view/LayoutInflater;->advanceToRootNode(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLandroid/view/LayoutInflater;->createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
HSPLandroid/view/LayoutInflater;->getContext()Landroid/content/Context;
-HSPLandroid/view/LayoutInflater;->getFactory()Landroid/view/LayoutInflater$Factory;
HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;
-HSPLandroid/view/LayoutInflater;->initPrecompiledViews()V
HSPLandroid/view/LayoutInflater;->initPrecompiledViews(Z)V
HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V
HSPLandroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V
-HSPLandroid/view/LayoutInflater;->setFactory2(Landroid/view/LayoutInflater$Factory2;)V
-HSPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V
-HSPLandroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V
HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
HSPLandroid/view/LayoutInflater;->tryInflatePrecompiled(ILandroid/content/res/Resources;Landroid/view/ViewGroup;Z)Landroid/view/View;
-HSPLandroid/view/MenuInflater$MenuState;->readItem(Landroid/util/AttributeSet;)V
-HSPLandroid/view/MenuInflater$MenuState;->setItem(Landroid/view/MenuItem;)V
-HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
-HSPLandroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V
-HSPLandroid/view/MenuInflater;->parseMenu(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/view/Menu;)V
-HSPLandroid/view/MotionEvent$1;-><init>()V
-HSPLandroid/view/MotionEvent;->ensureSharedTempPointerCapacity(I)V
-HSPLandroid/view/MotionEvent;->finalize()V
-HSPLandroid/view/MotionEvent;->findPointerIndex(I)I
HSPLandroid/view/MotionEvent;->getAction()I
HSPLandroid/view/MotionEvent;->getActionIndex()I
-HSPLandroid/view/MotionEvent;->getActionMasked()I
-HSPLandroid/view/MotionEvent;->getClassification()I
HSPLandroid/view/MotionEvent;->getDownTime()J
-HSPLandroid/view/MotionEvent;->getEventTime()J
-HSPLandroid/view/MotionEvent;->getEventTimeNano()J
-HSPLandroid/view/MotionEvent;->getFlags()I
-HSPLandroid/view/MotionEvent;->getHistoricalEventTime(I)J
-HSPLandroid/view/MotionEvent;->getHistoricalPressure(II)F
-HSPLandroid/view/MotionEvent;->getHistoricalX(II)F
-HSPLandroid/view/MotionEvent;->getHistoricalY(II)F
-HSPLandroid/view/MotionEvent;->getHistorySize()I
-HSPLandroid/view/MotionEvent;->getPointerCount()I
HSPLandroid/view/MotionEvent;->getPointerId(I)I
-HSPLandroid/view/MotionEvent;->getPressure(I)F
-HSPLandroid/view/MotionEvent;->getRawX()F
-HSPLandroid/view/MotionEvent;->getRawY()F
-HSPLandroid/view/MotionEvent;->getSource()I
-HSPLandroid/view/MotionEvent;->getToolType(I)I
-HSPLandroid/view/MotionEvent;->getX()F
HSPLandroid/view/MotionEvent;->getX(I)F
-HSPLandroid/view/MotionEvent;->getY()F
HSPLandroid/view/MotionEvent;->getY(I)F
-HSPLandroid/view/MotionEvent;->isTouchEvent()Z
-HSPLandroid/view/MotionEvent;->isWithinBoundsNoHistory(FFFF)Z
HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFIIII)Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
HSPLandroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->offsetLocation(FF)V
HSPLandroid/view/MotionEvent;->recycle()V
-HSPLandroid/view/MotionEvent;->setAction(I)V
-HSPLandroid/view/MotionEvent;->setLocation(FF)V
-HSPLandroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->transform(Landroid/graphics/Matrix;)V
-HSPLandroid/view/OrientationEventListener;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/OrientationEventListener;-><init>(Landroid/content/Context;I)V
-HSPLandroid/view/PointerIcon$1;-><init>()V
-HSPLandroid/view/PointerIcon;-><init>(I)V
-HSPLandroid/view/PointerIcon;->getSystemIcon(Landroid/content/Context;I)Landroid/view/PointerIcon;
-HSPLandroid/view/PointerIcon;->getSystemIconTypeIndex(I)I
-HSPLandroid/view/PointerIcon;->setUseLargeIcons(Z)V
-HSPLandroid/view/RemoteAnimationAdapter$1;-><init>()V
-PLandroid/view/RemoteAnimationAdapter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationAdapter;
-PLandroid/view/RemoteAnimationAdapter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/RemoteAnimationAdapter;->getCallingPid()I
-HPLandroid/view/RemoteAnimationAdapter;->getDuration()J
-HPLandroid/view/RemoteAnimationAdapter;->getRunner()Landroid/view/IRemoteAnimationRunner;
-HPLandroid/view/RemoteAnimationAdapter;->getStatusBarTransitionDelay()J
-HPLandroid/view/RemoteAnimationAdapter;->setCallingPid(I)V
-HSPLandroid/view/RemoteAnimationDefinition$1;-><init>()V
-PLandroid/view/RemoteAnimationDefinition$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationDefinition;
-PLandroid/view/RemoteAnimationDefinition$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;-><init>()V
-PLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;
-PLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/RemoteAnimationDefinition;-><init>(Landroid/os/Parcel;)V
-PLandroid/view/RemoteAnimationDefinition;->getAdapter(ILandroid/util/ArraySet;)Landroid/view/RemoteAnimationAdapter;
-PLandroid/view/RemoteAnimationDefinition;->hasTransition(ILandroid/util/ArraySet;)Z
-PLandroid/view/RemoteAnimationDefinition;->setCallingPid(I)V
-HSPLandroid/view/RemoteAnimationTarget$1;-><init>()V
-PLandroid/view/RemoteAnimationTarget;-><init>(IILandroid/view/SurfaceControl;ZLandroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/graphics/Point;Landroid/graphics/Rect;Landroid/app/WindowConfiguration;ZLandroid/view/SurfaceControl;Landroid/graphics/Rect;)V
-HPLandroid/view/RemoteAnimationTarget;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/RenderNodeAnimator$1;-><init>(I)V
-HSPLandroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;F)V
-HSPLandroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;IF)V
-HSPLandroid/view/RenderNodeAnimator;->applyInterpolator()V
-HSPLandroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V
-HSPLandroid/view/RenderNodeAnimator;->end()V
-HSPLandroid/view/RenderNodeAnimator;->getNativeAnimator()J
-HSPLandroid/view/RenderNodeAnimator;->isRunning()Z
-HSPLandroid/view/RenderNodeAnimator;->onFinished()V
-HSPLandroid/view/RenderNodeAnimator;->setDuration(J)Landroid/view/RenderNodeAnimator;
-HSPLandroid/view/RenderNodeAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
-HSPLandroid/view/RenderNodeAnimator;->setStartDelay(J)V
-HSPLandroid/view/RenderNodeAnimator;->setStartValue(F)V
-HSPLandroid/view/RenderNodeAnimator;->setTarget(Landroid/graphics/RecordingCanvas;)V
-HSPLandroid/view/RenderNodeAnimator;->start()V
-HSPLandroid/view/RenderNodeAnimatorSetHelper;->createNativeInterpolator(Landroid/animation/TimeInterpolator;J)J
-HSPLandroid/view/RenderNodeAnimatorSetHelper;->getTarget(Landroid/graphics/RecordingCanvas;)Landroid/graphics/RenderNode;
-HSPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V
-HSPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;Landroid/os/Handler;)V
-HSPLandroid/view/ScaleGestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/ScaleGestureDetector;->setQuickScaleEnabled(Z)V
-HSPLandroid/view/ScaleGestureDetector;->setStylusScaleEnabled(Z)V
-HSPLandroid/view/Surface$1;-><init>()V
HSPLandroid/view/Surface;-><init>()V
-HSPLandroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V
-HSPLandroid/view/Surface;->attachAndQueueBuffer(Landroid/graphics/GraphicBuffer;)V
HSPLandroid/view/Surface;->checkNotReleasedLocked()V
HSPLandroid/view/Surface;->copyFrom(Landroid/view/SurfaceControl;)V
-HSPLandroid/view/Surface;->destroy()V
-HSPLandroid/view/Surface;->finalize()V
+PLandroid/view/Surface;->finalize()V
HSPLandroid/view/Surface;->getGenerationId()I
HSPLandroid/view/Surface;->getNextFrameNumber()J
HSPLandroid/view/Surface;->isValid()Z
-HSPLandroid/view/Surface;->lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;
HSPLandroid/view/Surface;->release()V
-HSPLandroid/view/Surface;->rotationToString(I)Ljava/lang/String;
HSPLandroid/view/Surface;->setNativeObjectLocked(J)V
-HSPLandroid/view/Surface;->unlockCanvasAndPost(Landroid/graphics/Canvas;)V
-HSPLandroid/view/Surface;->unlockSwCanvasAndPost(Landroid/graphics/Canvas;)V
-HSPLandroid/view/SurfaceControl$1;-><init>()V
-HSPLandroid/view/SurfaceControl$Builder;->build()Landroid/view/SurfaceControl;
-HSPLandroid/view/SurfaceControl$Builder;->setBufferSize(II)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setColorLayer()Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setContainerLayer()Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setFlags(I)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setFormat(I)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setMetadata(II)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setName(Ljava/lang/String;)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setOpaque(Z)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setSecure(Z)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V
-HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->createFromNative(IIIIJI)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
-HPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->getColorSpace()Landroid/graphics/ColorSpace;
-HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->getGraphicBuffer()Landroid/graphics/GraphicBuffer;
HSPLandroid/view/SurfaceControl$Transaction;-><init>()V
-HSPLandroid/view/SurfaceControl$Transaction;->apply()V
-HSPLandroid/view/SurfaceControl$Transaction;->apply(Z)V
-HSPLandroid/view/SurfaceControl$Transaction;->applyResizedSurfaces()V
-HSPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntil(Landroid/view/SurfaceControl;Landroid/os/IBinder;J)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->detachChildren(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->remove(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setAnimationTransaction()Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
-HPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setColorSpaceAgnostic(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setCornerRadius(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setDisplayLayerStack(Landroid/os/IBinder;I)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setDisplayProjection(Landroid/os/IBinder;ILandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setEarlyWakeup()Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setInputWindowInfo(Landroid/view/SurfaceControl;Landroid/view/InputWindowHandle;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setLayerStack(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;Landroid/graphics/Matrix;[F)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setOpaque(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setOverrideScalingMode(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setPosition(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setRelativeLayer(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setSecure(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
-HPLandroid/view/SurfaceControl$Transaction;->setTransparentRegionHint(Landroid/view/SurfaceControl;Landroid/graphics/Region;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
+HSPLandroid/view/SurfaceControl$Transaction;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/SurfaceControl;-><init>()V
-HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILandroid/view/SurfaceControl;Landroid/util/SparseIntArray;)V
-HSPLandroid/view/SurfaceControl;->access$200()J
-HPLandroid/view/SurfaceControl;->captureLayers(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
-HSPLandroid/view/SurfaceControl;->closeTransaction()V
-HSPLandroid/view/SurfaceControl;->closeTransaction(Z)V
-HSPLandroid/view/SurfaceControl;->copyFrom(Landroid/view/SurfaceControl;)V
-HSPLandroid/view/SurfaceControl;->detachChildren()V
+HSPLandroid/view/SurfaceControl;->access$4100(JLandroid/os/Parcel;)V
HSPLandroid/view/SurfaceControl;->finalize()V
-HSPLandroid/view/SurfaceControl;->getActiveColorMode(Landroid/os/IBinder;)I
-HSPLandroid/view/SurfaceControl;->getActiveConfig(Landroid/os/IBinder;)I
-HSPLandroid/view/SurfaceControl;->getAllowedDisplayConfigs(Landroid/os/IBinder;)[I
-HSPLandroid/view/SurfaceControl;->getCompositionColorSpaces()[Landroid/graphics/ColorSpace;
-HSPLandroid/view/SurfaceControl;->getDisplayBrightnessSupport(Landroid/os/IBinder;)Z
-HSPLandroid/view/SurfaceControl;->getDisplayColorModes(Landroid/os/IBinder;)[I
-HSPLandroid/view/SurfaceControl;->getDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo;
-HSPLandroid/view/SurfaceControl;->getDisplayedContentSamplingAttributes(Landroid/os/IBinder;)Landroid/hardware/display/DisplayedContentSamplingAttributes;
-HSPLandroid/view/SurfaceControl;->getHandle()Landroid/os/IBinder;
-HSPLandroid/view/SurfaceControl;->getHdrCapabilities(Landroid/os/IBinder;)Landroid/view/Display$HdrCapabilities;
-HSPLandroid/view/SurfaceControl;->getHeight()I
-HSPLandroid/view/SurfaceControl;->getInternalDisplayToken()Landroid/os/IBinder;
-HSPLandroid/view/SurfaceControl;->getPhysicalDisplayIds()[J
-HSPLandroid/view/SurfaceControl;->getPhysicalDisplayToken(J)Landroid/os/IBinder;
-HSPLandroid/view/SurfaceControl;->getWidth()I
-HSPLandroid/view/SurfaceControl;->mergeToGlobalTransaction(Landroid/view/SurfaceControl$Transaction;)V
-HSPLandroid/view/SurfaceControl;->openTransaction()V
HSPLandroid/view/SurfaceControl;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/view/SurfaceControl;->release()V
-HSPLandroid/view/SurfaceControl;->remove()V
-HPLandroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;IIZI)Landroid/graphics/Bitmap;
-HPLandroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;)V
-HPLandroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIZI)V
-HSPLandroid/view/SurfaceControl;->screenshotToBufferWithSecureLayersUnsafe(Landroid/os/IBinder;Landroid/graphics/Rect;IIZI)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
-HSPLandroid/view/SurfaceControl;->setAllowedDisplayConfigs(Landroid/os/IBinder;[I)Z
-HSPLandroid/view/SurfaceControl;->setAlpha(F)V
-HSPLandroid/view/SurfaceControl;->setBufferSize(II)V
-HPLandroid/view/SurfaceControl;->setColor([F)V
-HSPLandroid/view/SurfaceControl;->setColorSpaceAgnostic(Z)V
-HSPLandroid/view/SurfaceControl;->setDisplayPowerMode(Landroid/os/IBinder;I)V
-HSPLandroid/view/SurfaceControl;->setDisplayedContentSamplingEnabled(Landroid/os/IBinder;ZII)Z
-HSPLandroid/view/SurfaceControl;->setLayer(I)V
-HSPLandroid/view/SurfaceControl;->setMatrix(FFFF)V
-HSPLandroid/view/SurfaceControl;->setOpaque(Z)V
-HSPLandroid/view/SurfaceControl;->setPosition(FF)V
-HSPLandroid/view/SurfaceControl;->setSecure(Z)V
-HPLandroid/view/SurfaceControl;->setTransparentRegionHint(Landroid/graphics/Region;)V
-HSPLandroid/view/SurfaceControl;->setWindowCrop(Landroid/graphics/Rect;)V
-HSPLandroid/view/SurfaceControl;->show()V
-HSPLandroid/view/SurfaceControl;->toString()Ljava/lang/String;
-HSPLandroid/view/SurfaceControl;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/SurfaceSession;-><init>()V
-HSPLandroid/view/SurfaceSession;->finalize()V
-HSPLandroid/view/SurfaceSession;->kill()V
-HSPLandroid/view/SurfaceView$2;->onPreDraw()Z
-HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/SurfaceView;->onAttachedToWindow()V
-HSPLandroid/view/SurfaceView;->onDetachedFromWindow()V
-HSPLandroid/view/SurfaceView;->onWindowVisibilityChanged(I)V
-HSPLandroid/view/SurfaceView;->updateSurface()V
-HSPLandroid/view/SurfaceView;->windowStopped(Z)V
-HSPLandroid/view/TextureView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/TextureView;->onAttachedToWindow()V
-HSPLandroid/view/TextureView;->onDetachedFromWindowInternal()V
-HSPLandroid/view/TextureView;->onVisibilityChanged(Landroid/view/View;I)V
-HSPLandroid/view/TextureView;->releaseSurfaceTexture()V
+PLandroid/view/SurfaceSession;->finalize()V
HSPLandroid/view/ThreadedRenderer;-><init>(Landroid/content/Context;ZLjava/lang/String;)V
HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V
-HSPLandroid/view/ThreadedRenderer;->enableForegroundTrimming()V
HSPLandroid/view/ThreadedRenderer;->getHeight()I
HSPLandroid/view/ThreadedRenderer;->getWidth()I
HSPLandroid/view/ThreadedRenderer;->initialize(Landroid/view/Surface;)Z
-HSPLandroid/view/ThreadedRenderer;->isAvailable()Z
HSPLandroid/view/ThreadedRenderer;->isEnabled()Z
HSPLandroid/view/ThreadedRenderer;->setup(IILandroid/view/View$AttachInfo;Landroid/graphics/Rect;)V
HSPLandroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V
-HSPLandroid/view/ThreadedRenderer;->updateSurface(Landroid/view/Surface;)V
HSPLandroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V
-HSPLandroid/view/TouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/view/View;)V
HSPLandroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
HSPLandroid/view/VelocityTracker;->clear()V
-HSPLandroid/view/VelocityTracker;->computeCurrentVelocity(I)V
HSPLandroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
-HSPLandroid/view/VelocityTracker;->finalize()V
-HSPLandroid/view/VelocityTracker;->getXVelocity()F
HSPLandroid/view/VelocityTracker;->getXVelocity(I)F
-HSPLandroid/view/VelocityTracker;->getYVelocity()F
-HSPLandroid/view/VelocityTracker;->getYVelocity(I)F
HSPLandroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
HSPLandroid/view/VelocityTracker;->recycle()V
-HSPLandroid/view/View$10;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$11;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$12;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$13;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$13;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$13;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$13;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$13;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$14;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$14;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$14;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$14;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$14;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$3;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$3;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$3;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$3;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$3;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$4;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$4;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$4;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$5;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$5;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$5;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$5;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$5;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$6;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$6;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$6;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$6;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$6;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$7;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$7;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$7;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$8;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$9;-><init>(Ljava/lang/String;)V
HSPLandroid/view/View$AccessibilityDelegate;-><init>()V
HSPLandroid/view/View$AccessibilityDelegate;->sendAccessibilityEvent(Landroid/view/View;I)V
HSPLandroid/view/View$AttachInfo;-><init>(Landroid/view/IWindowSession;Landroid/view/IWindow;Landroid/view/Display;Landroid/view/ViewRootImpl;Landroid/os/Handler;Landroid/view/View$AttachInfo$Callbacks;Landroid/content/Context;)V
-HSPLandroid/view/View$BaseSavedState$1;-><init>()V
-HSPLandroid/view/View$BaseSavedState;-><init>(Landroid/os/Parcelable;)V
-HSPLandroid/view/View$BaseSavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/View$CheckForTap;->run()V
HSPLandroid/view/View$ForegroundInfo;->access$100(Landroid/view/View$ForegroundInfo;)Z
HSPLandroid/view/View$ForegroundInfo;->access$102(Landroid/view/View$ForegroundInfo;Z)Z
HSPLandroid/view/View$MeasureSpec;->getMode(I)I
HSPLandroid/view/View$MeasureSpec;->getSize(I)I
HSPLandroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
HSPLandroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I
-HSPLandroid/view/View$PerformClick;->run()V
-HSPLandroid/view/View$ScrollabilityCache;-><init>(Landroid/view/ViewConfiguration;Landroid/view/View;)V
-HSPLandroid/view/View$ScrollabilityCache;->run()V
-HSPLandroid/view/View$UnsetPressedState;->run()V
-HSPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/view/View;-><init>(Landroid/content/Context;)V
HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/View;->access$3000()Z
-HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V
-HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V
HSPLandroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
HSPLandroid/view/View;->animate()Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/View;->announceForAccessibility(Ljava/lang/CharSequence;)V
HSPLandroid/view/View;->applyBackgroundTint()V
-HSPLandroid/view/View;->applyForegroundTint()V
-HSPLandroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z
HSPLandroid/view/View;->areDrawablesResolved()Z
HSPLandroid/view/View;->assignParent(Landroid/view/ViewParent;)V
-HSPLandroid/view/View;->awakenScrollBars()Z
-HSPLandroid/view/View;->awakenScrollBars(IZ)Z
-HSPLandroid/view/View;->bringToFront()V
-HSPLandroid/view/View;->buildDrawingCache(Z)V
-HSPLandroid/view/View;->buildDrawingCacheImpl(Z)V
-HSPLandroid/view/View;->buildLayer()V
HSPLandroid/view/View;->calculateIsImportantForContentCapture()Z
HSPLandroid/view/View;->canHaveDisplayList()Z
HSPLandroid/view/View;->canNotifyAutofillEnterExitEvent()Z
HSPLandroid/view/View;->canResolveLayoutDirection()Z
HSPLandroid/view/View;->canResolveTextDirection()Z
-HSPLandroid/view/View;->canScrollHorizontally(I)Z
-HSPLandroid/view/View;->canScrollVertically(I)Z
HSPLandroid/view/View;->canTakeFocus()Z
HSPLandroid/view/View;->cancelLongPress()V
-HSPLandroid/view/View;->cancelPendingInputEvents()V
-HSPLandroid/view/View;->checkForLongClick(JFF)V
-HSPLandroid/view/View;->checkInputConnectionProxy(Landroid/view/View;)Z
HSPLandroid/view/View;->clearAccessibilityFocus()V
HSPLandroid/view/View;->clearAccessibilityFocusNoCallbacks(I)V
-HSPLandroid/view/View;->clearAnimation()V
-HSPLandroid/view/View;->clearFocus()V
-HSPLandroid/view/View;->clearFocusInternal(Landroid/view/View;ZZ)V
-HSPLandroid/view/View;->clearParentsWantFocus()V
-HSPLandroid/view/View;->combineMeasuredStates(II)I
HSPLandroid/view/View;->combineVisibility(II)I
HSPLandroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLandroid/view/View;->computeHorizontalScrollExtent()I
-HSPLandroid/view/View;->computeHorizontalScrollRange()I
HSPLandroid/view/View;->computeOpaqueFlags()V
HSPLandroid/view/View;->computeScroll()V
HSPLandroid/view/View;->computeSystemWindowInsets(Landroid/view/WindowInsets;Landroid/graphics/Rect;)Landroid/view/WindowInsets;
-HSPLandroid/view/View;->computeVerticalScrollExtent()I
-HSPLandroid/view/View;->computeVerticalScrollOffset()I
-HSPLandroid/view/View;->computeVerticalScrollRange()I
HSPLandroid/view/View;->damageInParent()V
-HSPLandroid/view/View;->debugDraw()Z
HSPLandroid/view/View;->destroyDrawingCache()V
HSPLandroid/view/View;->destroyHardwareResources()V
HSPLandroid/view/View;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
HSPLandroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
HSPLandroid/view/View;->dispatchCancelPendingInputEvents()V
HSPLandroid/view/View;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-HSPLandroid/view/View;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/view/View;->dispatchDetachedFromWindow()V
HSPLandroid/view/View;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/view/View;->dispatchDrawableHotspotChanged(FF)V
-HSPLandroid/view/View;->dispatchFinishTemporaryDetach()V
-HSPLandroid/view/View;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/View;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/View;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;II)V
-HSPLandroid/view/View;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/view/View;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/view/View;->dispatchScreenStateChanged(I)V
-HSPLandroid/view/View;->dispatchSetActivated(Z)V
-HSPLandroid/view/View;->dispatchSetPressed(Z)V
-HSPLandroid/view/View;->dispatchSetSelected(Z)V
-HSPLandroid/view/View;->dispatchStartTemporaryDetach()V
-HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/view/View;->dispatchVisibilityAggregated(Z)Z
HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V
HSPLandroid/view/View;->dispatchWindowFocusChanged(Z)V
@@ -16820,110 +7302,69 @@ HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)
HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V
HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V
HSPLandroid/view/View;->drawDefaultFocusHighlight(Landroid/graphics/Canvas;)V
-HSPLandroid/view/View;->drawableHotspotChanged(FF)V
HSPLandroid/view/View;->drawableStateChanged()V
HSPLandroid/view/View;->ensureTransformationInfo()V
-HSPLandroid/view/View;->findFocus()Landroid/view/View;
-HSPLandroid/view/View;->findKeyboardNavigationCluster()Landroid/view/View;
-HSPLandroid/view/View;->findUserSetNextFocus(Landroid/view/View;I)Landroid/view/View;
HSPLandroid/view/View;->findViewById(I)Landroid/view/View;
HSPLandroid/view/View;->findViewTraversal(I)Landroid/view/View;
-HSPLandroid/view/View;->findViewWithTag(Ljava/lang/Object;)Landroid/view/View;
-HSPLandroid/view/View;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
HSPLandroid/view/View;->fitSystemWindows(Landroid/graphics/Rect;)Z
HSPLandroid/view/View;->fitSystemWindowsInt(Landroid/graphics/Rect;)Z
-HSPLandroid/view/View;->focusSearch(I)Landroid/view/View;
HSPLandroid/view/View;->forceLayout()V
-HSPLandroid/view/View;->gatherTransparentRegion(Landroid/graphics/Region;)Z
-HSPLandroid/view/View;->generateViewId()I
-HSPLandroid/view/View;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/view/View;->getAccessibilityLiveRegion()I
-HSPLandroid/view/View;->getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;
HSPLandroid/view/View;->getAccessibilityViewId()I
-HSPLandroid/view/View;->getAccessibilityWindowId()I
HSPLandroid/view/View;->getAlpha()F
HSPLandroid/view/View;->getAnimation()Landroid/view/animation/Animation;
-HSPLandroid/view/View;->getApplicationWindowToken()Landroid/os/IBinder;
-HSPLandroid/view/View;->getAutofillHints()[Ljava/lang/String;
HSPLandroid/view/View;->getAutofillType()I
HSPLandroid/view/View;->getAutofillViewId()I
HSPLandroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
HSPLandroid/view/View;->getBaseline()I
HSPLandroid/view/View;->getBottom()I
-HSPLandroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V
-HSPLandroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;Z)V
-HSPLandroid/view/View;->getContentDescription()Ljava/lang/CharSequence;
HSPLandroid/view/View;->getContext()Landroid/content/Context;
-HSPLandroid/view/View;->getDefaultSize(II)I
HSPLandroid/view/View;->getDisplay()Landroid/view/Display;
HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;
HSPLandroid/view/View;->getDrawableState()[I
-HSPLandroid/view/View;->getDrawingCache(Z)Landroid/graphics/Bitmap;
HSPLandroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getDrawingTime()J
HSPLandroid/view/View;->getElevation()F
-HSPLandroid/view/View;->getFitsSystemWindows()Z
HSPLandroid/view/View;->getFocusable()I
HSPLandroid/view/View;->getFocusableAttribute(Landroid/content/res/TypedArray;)I
-HSPLandroid/view/View;->getFocusedRect(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getForeground()Landroid/graphics/drawable/Drawable;
HSPLandroid/view/View;->getForegroundGravity()I
-HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;)Z
-HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z
-HSPLandroid/view/View;->getHandler()Landroid/os/Handler;
HSPLandroid/view/View;->getHeight()I
-HSPLandroid/view/View;->getHitRect(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getId()I
HSPLandroid/view/View;->getImportantForAccessibility()I
HSPLandroid/view/View;->getImportantForAutofill()I
HSPLandroid/view/View;->getImportantForContentCapture()I
-HSPLandroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix;
-HSPLandroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;
HSPLandroid/view/View;->getLayerType()I
HSPLandroid/view/View;->getLayoutDirection()I
HSPLandroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/view/View;->getLeft()I
HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo;
HSPLandroid/view/View;->getLocationInWindow([I)V
-HSPLandroid/view/View;->getLocationOnScreen()[I
HSPLandroid/view/View;->getLocationOnScreen([I)V
HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix;
HSPLandroid/view/View;->getMeasuredHeight()I
-HSPLandroid/view/View;->getMeasuredState()I
HSPLandroid/view/View;->getMeasuredWidth()I
HSPLandroid/view/View;->getMinimumHeight()I
HSPLandroid/view/View;->getMinimumWidth()I
-HSPLandroid/view/View;->getOutsets(Landroid/graphics/Rect;)V
+HSPLandroid/view/View;->getNotifiedContentCaptureAppeared()Z
HSPLandroid/view/View;->getOverScrollMode()I
HSPLandroid/view/View;->getPaddingBottom()I
-HSPLandroid/view/View;->getPaddingEnd()I
HSPLandroid/view/View;->getPaddingLeft()I
HSPLandroid/view/View;->getPaddingRight()I
-HSPLandroid/view/View;->getPaddingStart()I
HSPLandroid/view/View;->getPaddingTop()I
HSPLandroid/view/View;->getParent()Landroid/view/ViewParent;
-HSPLandroid/view/View;->getParentForAccessibility()Landroid/view/ViewParent;
-HSPLandroid/view/View;->getPivotX()F
-HSPLandroid/view/View;->getPivotY()F
HSPLandroid/view/View;->getRawLayoutDirection()I
HSPLandroid/view/View;->getRawTextAlignment()I
HSPLandroid/view/View;->getRawTextDirection()I
HSPLandroid/view/View;->getResources()Landroid/content/res/Resources;
-HSPLandroid/view/View;->getRight()I
HSPLandroid/view/View;->getRootView()Landroid/view/View;
-HSPLandroid/view/View;->getRootWindowInsets()Landroid/view/WindowInsets;
HSPLandroid/view/View;->getRotation()F
HSPLandroid/view/View;->getRotationX()F
HSPLandroid/view/View;->getRotationY()F
-HSPLandroid/view/View;->getRunQueue()Landroid/view/HandlerActionQueue;
HSPLandroid/view/View;->getScaleX()F
HSPLandroid/view/View;->getScaleY()F
HSPLandroid/view/View;->getScrollX()I
-HSPLandroid/view/View;->getScrollY()I
-HSPLandroid/view/View;->getSelfOrParentImportantForA11y()Landroid/view/View;
-HSPLandroid/view/View;->getStraightVerticalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getSuggestedMinimumHeight()I
HSPLandroid/view/View;->getSuggestedMinimumWidth()I
+HSPLandroid/view/View;->getSystemGestureExclusionRects()Ljava/util/List;
HSPLandroid/view/View;->getSystemUiVisibility()I
HSPLandroid/view/View;->getTag()Ljava/lang/Object;
HSPLandroid/view/View;->getTag(I)Ljava/lang/Object;
@@ -16934,44 +7375,25 @@ HSPLandroid/view/View;->getTransitionAlpha()F
HSPLandroid/view/View;->getTranslationX()F
HSPLandroid/view/View;->getTranslationY()F
HSPLandroid/view/View;->getTranslationZ()F
-HSPLandroid/view/View;->getVerticalScrollbarWidth()I
HSPLandroid/view/View;->getViewRootImpl()Landroid/view/ViewRootImpl;
HSPLandroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
HSPLandroid/view/View;->getVisibility()I
HSPLandroid/view/View;->getWidth()I
-HSPLandroid/view/View;->getWindowAttachCount()I
HSPLandroid/view/View;->getWindowSystemUiVisibility()I
HSPLandroid/view/View;->getWindowToken()Landroid/os/IBinder;
HSPLandroid/view/View;->getWindowVisibility()I
-HSPLandroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V
-HSPLandroid/view/View;->getX()F
-HSPLandroid/view/View;->getY()F
HSPLandroid/view/View;->getZ()F
-HSPLandroid/view/View;->handleFocusGainInternal(ILandroid/graphics/Rect;)V
-HSPLandroid/view/View;->handleScrollBarDragging(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/View;->hasAncestorThatBlocksDescendantFocus()Z
HSPLandroid/view/View;->hasDefaultFocus()Z
-HSPLandroid/view/View;->hasExplicitFocusable()Z
HSPLandroid/view/View;->hasFocus()Z
-HSPLandroid/view/View;->hasFocusable()Z
-HSPLandroid/view/View;->hasFocusable(ZZ)Z
HSPLandroid/view/View;->hasIdentityMatrix()Z
-HSPLandroid/view/View;->hasListenersForAccessibility()Z
-HSPLandroid/view/View;->hasNestedScrollingParent()Z
-HSPLandroid/view/View;->hasOnClickListeners()Z
HSPLandroid/view/View;->hasOverlappingRendering()Z
HSPLandroid/view/View;->hasTransientState()Z
HSPLandroid/view/View;->hasUnhandledKeyListener()Z
HSPLandroid/view/View;->hasWindowFocus()Z
-HSPLandroid/view/View;->hideTooltip()V
HSPLandroid/view/View;->includeForAccessibility()Z
-HSPLandroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/view/View;->initializeScrollIndicatorsInternal()V
-HSPLandroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V
HSPLandroid/view/View;->internalSetPadding(IIII)V
HSPLandroid/view/View;->invalidate()V
HSPLandroid/view/View;->invalidate(IIII)V
-HSPLandroid/view/View;->invalidate(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->invalidate(Z)V
HSPLandroid/view/View;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/view/View;->invalidateInternal(IIIIZZ)V
@@ -16983,26 +7405,20 @@ HSPLandroid/view/View;->invalidateViewProperty(ZZ)V
HSPLandroid/view/View;->isAccessibilityFocused()Z
HSPLandroid/view/View;->isAccessibilityFocusedViewOrHost()Z
HSPLandroid/view/View;->isActionableForAccessibility()Z
-HSPLandroid/view/View;->isActivated()Z
+HSPLandroid/view/View;->isAggregatedVisible()Z
HSPLandroid/view/View;->isAttachedToWindow()Z
HSPLandroid/view/View;->isAutofillable()Z
HSPLandroid/view/View;->isAutofilled()Z
HSPLandroid/view/View;->isClickable()Z
-HSPLandroid/view/View;->isContextClickable()Z
-HSPLandroid/view/View;->isDefaultFocusHighlightNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)Z
HSPLandroid/view/View;->isEnabled()Z
-HSPLandroid/view/View;->isFocusable()Z
HSPLandroid/view/View;->isFocused()Z
HSPLandroid/view/View;->isForegroundInsidePadding()Z
-HSPLandroid/view/View;->isHapticFeedbackEnabled()Z
HSPLandroid/view/View;->isHardwareAccelerated()Z
HSPLandroid/view/View;->isHorizontalFadingEdgeEnabled()Z
-HSPLandroid/view/View;->isHorizontalScrollBarEnabled()Z
HSPLandroid/view/View;->isImportantForAccessibility()Z
HSPLandroid/view/View;->isImportantForAutofill()Z
HSPLandroid/view/View;->isImportantForContentCapture()Z
HSPLandroid/view/View;->isInEditMode()Z
-HSPLandroid/view/View;->isInScrollingContainer()Z
HSPLandroid/view/View;->isInTouchMode()Z
HSPLandroid/view/View;->isLaidOut()Z
HSPLandroid/view/View;->isLayoutDirectionInherited()Z
@@ -17011,116 +7427,61 @@ HSPLandroid/view/View;->isLayoutRequested()Z
HSPLandroid/view/View;->isLayoutRtl()Z
HSPLandroid/view/View;->isLayoutValid()Z
HSPLandroid/view/View;->isLongClickable()Z
-HSPLandroid/view/View;->isNestedScrollingEnabled()Z
HSPLandroid/view/View;->isOpaque()Z
HSPLandroid/view/View;->isPaddingResolved()Z
HSPLandroid/view/View;->isPressed()Z
-HSPLandroid/view/View;->isRootNamespace()Z
HSPLandroid/view/View;->isRtlCompatibilityMode()Z
-HSPLandroid/view/View;->isSelected()Z
HSPLandroid/view/View;->isShown()Z
-HSPLandroid/view/View;->isSoundEffectsEnabled()Z
HSPLandroid/view/View;->isTextAlignmentInherited()Z
HSPLandroid/view/View;->isTextAlignmentResolved()Z
HSPLandroid/view/View;->isTextDirectionInherited()Z
HSPLandroid/view/View;->isTextDirectionResolved()Z
-HSPLandroid/view/View;->isVerticalScrollBarEnabled()Z
-HSPLandroid/view/View;->isVerticalScrollBarHidden()Z
-HSPLandroid/view/View;->isVisibleToUser()Z
-HSPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z
HSPLandroid/view/View;->jumpDrawablesToCurrentState()V
HSPLandroid/view/View;->layout(IIII)V
HSPLandroid/view/View;->makeOptionalFitsSystemWindows()V
-HSPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V
HSPLandroid/view/View;->measure(II)V
-HSPLandroid/view/View;->mergeDrawableStates([I[I)[I
HSPLandroid/view/View;->needGlobalAttributesUpdate(Z)V
HSPLandroid/view/View;->notifyAppearedOrDisappearedForContentCaptureIfNeeded(Z)V
HSPLandroid/view/View;->notifyAppearedOrDisappearedForContentCaptureIfNeededNoTrace(Z)V
-HSPLandroid/view/View;->notifyAutofillManagerOnClick()V
HSPLandroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V
-HSPLandroid/view/View;->notifyGlobalFocusCleared(Landroid/view/View;)V
HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V
HSPLandroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V
-HSPLandroid/view/View;->offsetLeftAndRight(I)V
HSPLandroid/view/View;->offsetTopAndBottom(I)V
-HSPLandroid/view/View;->onAnimationEnd()V
-HSPLandroid/view/View;->onAnimationStart()V
HSPLandroid/view/View;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
HSPLandroid/view/View;->onAttachedToWindow()V
HSPLandroid/view/View;->onCancelPendingInputEvents()V
-HSPLandroid/view/View;->onCheckIsTextEditor()Z
-HSPLandroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/view/View;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/view/View;->onCreateDrawableState(I)[I
-HSPLandroid/view/View;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
HSPLandroid/view/View;->onDetachedFromWindow()V
HSPLandroid/view/View;->onDetachedFromWindowInternal()V
HSPLandroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
HSPLandroid/view/View;->onDrawForeground(Landroid/graphics/Canvas;)V
HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V
HSPLandroid/view/View;->onDrawScrollIndicators(Landroid/graphics/Canvas;)V
-HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/view/View;->onFilterTouchEventForSecurity(Landroid/view/MotionEvent;)Z
HSPLandroid/view/View;->onFinishInflate()V
-HSPLandroid/view/View;->onFinishTemporaryDetach()V
-HSPLandroid/view/View;->onFocusChanged(ZILandroid/graphics/Rect;)V
HSPLandroid/view/View;->onFocusLost()V
-HSPLandroid/view/View;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLandroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z
HSPLandroid/view/View;->onLayout(ZIIII)V
HSPLandroid/view/View;->onMeasure(II)V
-HSPLandroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/View;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/View;->onProvideStructure(Landroid/view/ViewStructure;II)V
HSPLandroid/view/View;->onResolveDrawables(I)V
-HSPLandroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V
HSPLandroid/view/View;->onRtlPropertiesChanged(I)V
-HSPLandroid/view/View;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/view/View;->onScreenStateChanged(I)V
HSPLandroid/view/View;->onScrollChanged(IIII)V
HSPLandroid/view/View;->onSetAlpha(I)Z
HSPLandroid/view/View;->onSizeChanged(IIII)V
-HSPLandroid/view/View;->onStartTemporaryDetach()V
-HSPLandroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/view/View;->onVisibilityAggregated(Z)V
HSPLandroid/view/View;->onVisibilityChanged(Landroid/view/View;I)V
HSPLandroid/view/View;->onWindowFocusChanged(Z)V
HSPLandroid/view/View;->onWindowSystemUiVisibilityChanged(I)V
HSPLandroid/view/View;->onWindowVisibilityChanged(I)V
-HSPLandroid/view/View;->performButtonActionOnTouchDown(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/View;->performClick()Z
HSPLandroid/view/View;->performCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-HSPLandroid/view/View;->performHapticFeedback(I)Z
-HSPLandroid/view/View;->performHapticFeedback(II)Z
-HSPLandroid/view/View;->playSoundEffect(I)V
-HSPLandroid/view/View;->pointInView(FFF)Z
HSPLandroid/view/View;->post(Ljava/lang/Runnable;)Z
-HSPLandroid/view/View;->postDelayed(Ljava/lang/Runnable;J)Z
-HSPLandroid/view/View;->postInvalidate()V
-HSPLandroid/view/View;->postInvalidateDelayed(J)V
-HSPLandroid/view/View;->postInvalidateOnAnimation()V
-HSPLandroid/view/View;->postOnAnimation(Ljava/lang/Runnable;)V
-HSPLandroid/view/View;->postOnAnimationDelayed(Ljava/lang/Runnable;J)V
HSPLandroid/view/View;->rebuildOutline()V
-HSPLandroid/view/View;->recomputePadding()V
HSPLandroid/view/View;->refreshDrawableState()V
HSPLandroid/view/View;->registerPendingFrameMetricsObservers()V
HSPLandroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
-HSPLandroid/view/View;->removeOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
HSPLandroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
HSPLandroid/view/View;->requestApplyInsets()V
HSPLandroid/view/View;->requestFitSystemWindows()V
-HSPLandroid/view/View;->requestFocus()Z
-HSPLandroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z
HSPLandroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z
HSPLandroid/view/View;->requestLayout()V
-HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z
-HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z
HSPLandroid/view/View;->resetResolvedDrawables()V
HSPLandroid/view/View;->resetResolvedDrawablesInternal()V
HSPLandroid/view/View;->resetResolvedLayoutDirection()V
@@ -17135,256 +7496,125 @@ HSPLandroid/view/View;->resolveLayoutDirection()Z
HSPLandroid/view/View;->resolveLayoutParams()V
HSPLandroid/view/View;->resolvePadding()V
HSPLandroid/view/View;->resolveRtlPropertiesIfNeeded()Z
-HSPLandroid/view/View;->resolveSize(II)I
HSPLandroid/view/View;->resolveSizeAndState(III)I
HSPLandroid/view/View;->resolveTextAlignment()Z
HSPLandroid/view/View;->resolveTextDirection()Z
-HSPLandroid/view/View;->restoreHierarchyState(Landroid/util/SparseArray;)V
HSPLandroid/view/View;->retrieveExplicitStyle(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-HSPLandroid/view/View;->rootViewRequestFocus()Z
HSPLandroid/view/View;->sanitizeFloatPropertyValue(FLjava/lang/String;FF)F
-HSPLandroid/view/View;->saveAttributeData(Landroid/util/AttributeSet;Landroid/content/res/TypedArray;)V
HSPLandroid/view/View;->saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
-HSPLandroid/view/View;->saveHierarchyState(Landroid/util/SparseArray;)V
-HSPLandroid/view/View;->scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V
HSPLandroid/view/View;->scrollTo(II)V
HSPLandroid/view/View;->sendAccessibilityEvent(I)V
-HSPLandroid/view/View;->sendAccessibilityEventInternal(I)V
-HSPLandroid/view/View;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/view/View;->sendAccessibilityEventUncheckedInternal(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/View;->setAccessibilityDelegate(Landroid/view/View$AccessibilityDelegate;)V
-HSPLandroid/view/View;->setAccessibilityHeading(Z)V
-HSPLandroid/view/View;->setAccessibilityLiveRegion(I)V
-HSPLandroid/view/View;->setAccessibilityTraversalAfter(I)V
-HSPLandroid/view/View;->setAccessibilityTraversalBefore(I)V
-HSPLandroid/view/View;->setActivated(Z)V
HSPLandroid/view/View;->setAlpha(F)V
-HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V
+HSPLandroid/view/View;->setAlphaInternal(F)V
HSPLandroid/view/View;->setAutofilled(Z)V
HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/view/View;->setBackgroundBounds()V
HSPLandroid/view/View;->setBackgroundColor(I)V
HSPLandroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/view/View;->setBackgroundResource(I)V
-HSPLandroid/view/View;->setBackgroundTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/view/View;->setBottom(I)V
HSPLandroid/view/View;->setClickable(Z)V
-HSPLandroid/view/View;->setClipBounds(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->setClipToOutline(Z)V
HSPLandroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V
HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V
HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V
-HSPLandroid/view/View;->setDuplicateParentStateEnabled(Z)V
HSPLandroid/view/View;->setElevation(F)V
HSPLandroid/view/View;->setEnabled(Z)V
-HSPLandroid/view/View;->setFitsSystemWindows(Z)V
HSPLandroid/view/View;->setFlags(II)V
HSPLandroid/view/View;->setFocusable(I)V
HSPLandroid/view/View;->setFocusable(Z)V
HSPLandroid/view/View;->setFocusableInTouchMode(Z)V
-HSPLandroid/view/View;->setForeground(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/view/View;->setForegroundGravity(I)V
HSPLandroid/view/View;->setFrame(IIII)Z
-HSPLandroid/view/View;->setHasTransientState(Z)V
-HSPLandroid/view/View;->setHorizontalFadingEdgeEnabled(Z)V
-HSPLandroid/view/View;->setHorizontalScrollBarEnabled(Z)V
HSPLandroid/view/View;->setId(I)V
HSPLandroid/view/View;->setImportantForAccessibility(I)V
HSPLandroid/view/View;->setImportantForAutofill(I)V
HSPLandroid/view/View;->setImportantForContentCapture(I)V
HSPLandroid/view/View;->setIsRootNamespace(Z)V
-HSPLandroid/view/View;->setKeepScreenOn(Z)V
-HSPLandroid/view/View;->setKeyboardNavigationCluster(Z)V
-HSPLandroid/view/View;->setLayerPaint(Landroid/graphics/Paint;)V
-HSPLandroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V
HSPLandroid/view/View;->setLayoutDirection(I)V
HSPLandroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/View;->setLeft(I)V
HSPLandroid/view/View;->setLongClickable(Z)V
HSPLandroid/view/View;->setMeasuredDimension(II)V
-HSPLandroid/view/View;->setMinimumHeight(I)V
-HSPLandroid/view/View;->setMinimumWidth(I)V
-HSPLandroid/view/View;->setNextFocusDownId(I)V
-HSPLandroid/view/View;->setNextFocusForwardId(I)V
-HSPLandroid/view/View;->setNextFocusLeftId(I)V
-HSPLandroid/view/View;->setNextFocusRightId(I)V
-HSPLandroid/view/View;->setNextFocusUpId(I)V
HSPLandroid/view/View;->setOnApplyWindowInsetsListener(Landroid/view/View$OnApplyWindowInsetsListener;)V
HSPLandroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
-HSPLandroid/view/View;->setOnCreateContextMenuListener(Landroid/view/View$OnCreateContextMenuListener;)V
-HSPLandroid/view/View;->setOnFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V
-HSPLandroid/view/View;->setOnHoverListener(Landroid/view/View$OnHoverListener;)V
-HSPLandroid/view/View;->setOnKeyListener(Landroid/view/View$OnKeyListener;)V
HSPLandroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
HSPLandroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
HSPLandroid/view/View;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
-HSPLandroid/view/View;->setOutlineProviderFromAttribute(I)V
HSPLandroid/view/View;->setOverScrollMode(I)V
HSPLandroid/view/View;->setPadding(IIII)V
HSPLandroid/view/View;->setPaddingRelative(IIII)V
-HSPLandroid/view/View;->setPivotX(F)V
-HSPLandroid/view/View;->setPivotY(F)V
-HSPLandroid/view/View;->setPointerIcon(Landroid/view/PointerIcon;)V
-HSPLandroid/view/View;->setPressed(Z)V
-HSPLandroid/view/View;->setRight(I)V
HSPLandroid/view/View;->setRotation(F)V
HSPLandroid/view/View;->setRotationX(F)V
HSPLandroid/view/View;->setRotationY(F)V
-HSPLandroid/view/View;->setSaveEnabled(Z)V
-HSPLandroid/view/View;->setSaveFromParentEnabled(Z)V
HSPLandroid/view/View;->setScaleX(F)V
HSPLandroid/view/View;->setScaleY(F)V
HSPLandroid/view/View;->setScrollContainer(Z)V
-HSPLandroid/view/View;->setScrollIndicators(II)V
-HSPLandroid/view/View;->setScrollX(I)V
-HSPLandroid/view/View;->setScrollY(I)V
-HSPLandroid/view/View;->setSelected(Z)V
HSPLandroid/view/View;->setStateListAnimator(Landroid/animation/StateListAnimator;)V
HSPLandroid/view/View;->setSystemUiVisibility(I)V
HSPLandroid/view/View;->setTag(ILjava/lang/Object;)V
HSPLandroid/view/View;->setTag(Ljava/lang/Object;)V
-HSPLandroid/view/View;->setTagInternal(ILjava/lang/Object;)V
-HSPLandroid/view/View;->setTextAlignment(I)V
-HSPLandroid/view/View;->setTextDirection(I)V
-HSPLandroid/view/View;->setTooltipText(Ljava/lang/CharSequence;)V
-HSPLandroid/view/View;->setTop(I)V
-HSPLandroid/view/View;->setTouchDelegate(Landroid/view/TouchDelegate;)V
-HSPLandroid/view/View;->setTransitionAlpha(F)V
HSPLandroid/view/View;->setTranslationX(F)V
HSPLandroid/view/View;->setTranslationY(F)V
HSPLandroid/view/View;->setTranslationZ(F)V
-HSPLandroid/view/View;->setVerticalScrollBarEnabled(Z)V
HSPLandroid/view/View;->setVisibility(I)V
HSPLandroid/view/View;->setWillNotDraw(Z)V
-HSPLandroid/view/View;->setX(F)V
-HSPLandroid/view/View;->setY(F)V
HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z
HSPLandroid/view/View;->sizeChange(IIII)V
-HSPLandroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V
-HSPLandroid/view/View;->startNestedScroll(I)Z
HSPLandroid/view/View;->stopNestedScroll()V
-HSPLandroid/view/View;->switchDefaultFocusHighlight()V
-HSPLandroid/view/View;->toString()Ljava/lang/String;
HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V
-HSPLandroid/view/View;->unFocus(Landroid/view/View;)V
HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;
-HSPLandroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V
HSPLandroid/view/View;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/view/ViewAnimationHostBridge;->isAttached()Z
-HSPLandroid/view/ViewAnimationHostBridge;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
-HSPLandroid/view/ViewAnimationHostBridge;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
HSPLandroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V
HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
-HPLandroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J
-HSPLandroid/view/ViewConfiguration;->getDoubleTapMinTime()I
-HSPLandroid/view/ViewConfiguration;->getDoubleTapTimeout()I
-HSPLandroid/view/ViewConfiguration;->getKeyRepeatTimeout()I
HSPLandroid/view/ViewConfiguration;->getLongPressTimeout()I
HSPLandroid/view/ViewConfiguration;->getScaledDoubleTapSlop()I
HSPLandroid/view/ViewConfiguration;->getScaledDoubleTapTouchSlop()I
-HSPLandroid/view/ViewConfiguration;->getScaledFadingEdgeLength()I
HSPLandroid/view/ViewConfiguration;->getScaledHorizontalScrollFactor()F
-HSPLandroid/view/ViewConfiguration;->getScaledHoverSlop()I
-HSPLandroid/view/ViewConfiguration;->getScaledMaximumDrawingCacheSize()I
HSPLandroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
-HSPLandroid/view/ViewConfiguration;->getScaledMinScrollbarTouchTarget()I
HSPLandroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
-HSPLandroid/view/ViewConfiguration;->getScaledMinimumScalingSpan()I
-HSPLandroid/view/ViewConfiguration;->getScaledOverflingDistance()I
-HSPLandroid/view/ViewConfiguration;->getScaledOverscrollDistance()I
HSPLandroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I
-HSPLandroid/view/ViewConfiguration;->getScaledScrollBarSize()I
HSPLandroid/view/ViewConfiguration;->getScaledTouchSlop()I
HSPLandroid/view/ViewConfiguration;->getScaledVerticalScrollFactor()F
-HSPLandroid/view/ViewConfiguration;->getScaledWindowTouchSlop()I
-HSPLandroid/view/ViewConfiguration;->getTapTimeout()I
-HSPLandroid/view/ViewConfiguration;->isFadingMarqueeEnabled()Z
-HSPLandroid/view/ViewDebug;->getViewInstanceCount()J
-HSPLandroid/view/ViewDebug;->getViewRootImplCount()J
-HSPLandroid/view/ViewGroup$1;-><init>()V
-HSPLandroid/view/ViewGroup$4;->endTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/view/ViewGroup$4;->startTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;->recycle()V
+HSPLandroid/view/ViewConfiguration;->getScrollFriction()F
+HSPLandroid/view/ViewGroup$LayoutParams;-><init>()V
HSPLandroid/view/ViewGroup$LayoutParams;-><init>(II)V
-HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/view/ViewGroup$LayoutParams;->resolveLayoutDirection(I)V
HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(II)V
HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V
HSPLandroid/view/ViewGroup$MarginLayoutParams;->doResolveMargins()V
HSPLandroid/view/ViewGroup$MarginLayoutParams;->getLayoutDirection()I
-HSPLandroid/view/ViewGroup$MarginLayoutParams;->getMarginEnd()I
-HSPLandroid/view/ViewGroup$MarginLayoutParams;->getMarginStart()I
HSPLandroid/view/ViewGroup$MarginLayoutParams;->isMarginRelative()Z
HSPLandroid/view/ViewGroup$MarginLayoutParams;->resolveLayoutDirection(I)V
HSPLandroid/view/ViewGroup$MarginLayoutParams;->setLayoutDirection(I)V
-HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginEnd(I)V
HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginStart(I)V
-HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMargins(IIII)V
-HSPLandroid/view/ViewGroup$TouchTarget;->obtain(Landroid/view/View;I)Landroid/view/ViewGroup$TouchTarget;
-HSPLandroid/view/ViewGroup$TouchTarget;->recycle()V
HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;)V
HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
HSPLandroid/view/ViewGroup;->addInArray(Landroid/view/View;I)V
HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;I)V
-HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;II)V
HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z
HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
-HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/ViewGroup;->bringChildToFront(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList;
-HSPLandroid/view/ViewGroup;->buildTouchDispatchChildList()Ljava/util/ArrayList;
HSPLandroid/view/ViewGroup;->cancelAndClearTouchTargets(Landroid/view/MotionEvent;)V
HSPLandroid/view/ViewGroup;->cancelHoverTarget(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
HSPLandroid/view/ViewGroup;->childDrawableStateChanged(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->childHasTransientStateChanged(Landroid/view/View;Z)V
-HSPLandroid/view/ViewGroup;->cleanupLayoutState(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->clearChildFocus(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->clearDisappearingChildren()V
-HSPLandroid/view/ViewGroup;->clearFocus()V
-HSPLandroid/view/ViewGroup;->clearFocusedInCluster()V
-HSPLandroid/view/ViewGroup;->clearTouchTargets()V
HSPLandroid/view/ViewGroup;->destroyHardwareResources()V
-HSPLandroid/view/ViewGroup;->detachAllViewsFromParent()V
-HSPLandroid/view/ViewGroup;->detachViewFromParent(I)V
HSPLandroid/view/ViewGroup;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
HSPLandroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V
HSPLandroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-HSPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V
HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V
-HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V
-HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V
-HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewGroup;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/ViewGroup;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/view/ViewGroup;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/view/ViewGroup;->dispatchScreenStateChanged(I)V
-HSPLandroid/view/ViewGroup;->dispatchSetPressed(Z)V
-HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V
-HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V
-HSPLandroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
-HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z
-HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View;
HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->dispatchVisibilityAggregated(Z)Z
@@ -17394,40 +7624,24 @@ HSPLandroid/view/ViewGroup;->dispatchWindowSystemUiVisiblityChanged(I)V
HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V
HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
HSPLandroid/view/ViewGroup;->drawableStateChanged()V
-HSPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->exitHoverTargets()V
HSPLandroid/view/ViewGroup;->exitTooltipHoverTargets()V
HSPLandroid/view/ViewGroup;->findFocus()Landroid/view/View;
HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View;
-HSPLandroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
-HSPLandroid/view/ViewGroup;->finishAnimatingView(Landroid/view/View;Landroid/view/animation/Animation;)V
-HSPLandroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
-HSPLandroid/view/ViewGroup;->focusableViewAvailable(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->gatherTransparentRegion(Landroid/graphics/Region;)Z
HSPLandroid/view/ViewGroup;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
HSPLandroid/view/ViewGroup;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/view/ViewGroup;->getAccessibilityClassName()Ljava/lang/CharSequence;
HSPLandroid/view/ViewGroup;->getAndVerifyPreorderedIndex(IIZ)I
HSPLandroid/view/ViewGroup;->getAndVerifyPreorderedView(Ljava/util/ArrayList;[Landroid/view/View;I)Landroid/view/View;
HSPLandroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
HSPLandroid/view/ViewGroup;->getChildCount()I
HSPLandroid/view/ViewGroup;->getChildMeasureSpec(III)I
-HSPLandroid/view/ViewGroup;->getChildTransformation()Landroid/view/animation/Transformation;
-HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
-HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z
HSPLandroid/view/ViewGroup;->getClipChildren()Z
-HSPLandroid/view/ViewGroup;->getClipToPadding()Z
HSPLandroid/view/ViewGroup;->getDescendantFocusability()I
HSPLandroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
-HSPLandroid/view/ViewGroup;->getLayoutMode()I
HSPLandroid/view/ViewGroup;->getLayoutTransition()Landroid/animation/LayoutTransition;
-HSPLandroid/view/ViewGroup;->getScrollIndicatorBounds(Landroid/graphics/Rect;)V
HSPLandroid/view/ViewGroup;->getTouchscreenBlocksFocus()Z
-HSPLandroid/view/ViewGroup;->handleFocusGainInternal(ILandroid/graphics/Rect;)V
HSPLandroid/view/ViewGroup;->hasDefaultFocus()Z
HSPLandroid/view/ViewGroup;->hasFocus()Z
-HSPLandroid/view/ViewGroup;->hasFocusable(ZZ)Z
-HSPLandroid/view/ViewGroup;->hasFocusableChild(Z)Z
HSPLandroid/view/ViewGroup;->hasTransientState()Z
HSPLandroid/view/ViewGroup;->hasUnhandledKeyListener()Z
HSPLandroid/view/ViewGroup;->indexOfChild(Landroid/view/View;)I
@@ -17438,49 +7652,26 @@ HSPLandroid/view/ViewGroup;->invalidateChild(Landroid/view/View;Landroid/graphic
HSPLandroid/view/ViewGroup;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
HSPLandroid/view/ViewGroup;->isChildrenDrawingOrderEnabled()Z
HSPLandroid/view/ViewGroup;->isLayoutModeOptical()Z
-HSPLandroid/view/ViewGroup;->isLayoutSuppressed()Z
-HSPLandroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z
HSPLandroid/view/ViewGroup;->isViewTransitioning(Landroid/view/View;)Z
HSPLandroid/view/ViewGroup;->jumpDrawablesToCurrentState()V
HSPLandroid/view/ViewGroup;->layout(IIII)V
HSPLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V
-HSPLandroid/view/ViewGroup;->measureChild(Landroid/view/View;II)V
HSPLandroid/view/ViewGroup;->measureChildWithMargins(Landroid/view/View;IIII)V
-HSPLandroid/view/ViewGroup;->measureChildren(II)V
-HSPLandroid/view/ViewGroup;->notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V
HSPLandroid/view/ViewGroup;->notifySubtreeAccessibilityStateChangedIfNeeded()V
-HSPLandroid/view/ViewGroup;->offsetRectBetweenParentAndChild(Landroid/view/View;Landroid/graphics/Rect;ZZ)V
HSPLandroid/view/ViewGroup;->onAttachedToWindow()V
HSPLandroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V
HSPLandroid/view/ViewGroup;->onCreateDrawableState(I)[I
HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->onDetachedFromWindow()V
-HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
-HSPLandroid/view/ViewGroup;->onRequestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/ViewGroup;->onRequestSendAccessibilityEventInternal(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLandroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/ViewGroup;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
HSPLandroid/view/ViewGroup;->onViewAdded(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V
-HSPLandroid/view/ViewGroup;->recomputeViewAttributes(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->removeAllViews()V
HSPLandroid/view/ViewGroup;->removeAllViewsInLayout()V
-HSPLandroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
HSPLandroid/view/ViewGroup;->removeFromArray(I)V
-HSPLandroid/view/ViewGroup;->removePointersFromTouchTargets(I)V
HSPLandroid/view/ViewGroup;->removeView(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->removeViewAt(I)V
-HSPLandroid/view/ViewGroup;->removeViewInLayout(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->removeViewInternal(ILandroid/view/View;)V
-HSPLandroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
-HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
HSPLandroid/view/ViewGroup;->requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/view/ViewGroup;->requestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/ViewGroup;->requestTransitionStart(Landroid/animation/LayoutTransition;)V
-HSPLandroid/view/ViewGroup;->requestTransparentRegion(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V
HSPLandroid/view/ViewGroup;->resetResolvedLayoutDirection()V
HSPLandroid/view/ViewGroup;->resetResolvedPadding()V
@@ -17494,474 +7685,220 @@ HSPLandroid/view/ViewGroup;->resolvePadding()V
HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z
HSPLandroid/view/ViewGroup;->resolveTextAlignment()Z
HSPLandroid/view/ViewGroup;->resolveTextDirection()Z
-HSPLandroid/view/ViewGroup;->restoreDefaultFocus()Z
-HSPLandroid/view/ViewGroup;->setAlwaysDrawnWithCacheEnabled(Z)V
-HSPLandroid/view/ViewGroup;->setChildrenDrawingCacheEnabled(Z)V
HSPLandroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
HSPLandroid/view/ViewGroup;->setClipChildren(Z)V
HSPLandroid/view/ViewGroup;->setClipToPadding(Z)V
HSPLandroid/view/ViewGroup;->setDescendantFocusability(I)V
-HSPLandroid/view/ViewGroup;->setLayoutAnimation(Landroid/view/animation/LayoutAnimationController;)V
HSPLandroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
HSPLandroid/view/ViewGroup;->setMotionEventSplittingEnabled(Z)V
-HSPLandroid/view/ViewGroup;->setOnHierarchyChangeListener(Landroid/view/ViewGroup$OnHierarchyChangeListener;)V
-HSPLandroid/view/ViewGroup;->setTouchscreenBlocksFocus(Z)V
HSPLandroid/view/ViewGroup;->shouldBlockFocusForTouchscreen()Z
-HSPLandroid/view/ViewGroup;->shouldDelayChildPressedState()Z
-HSPLandroid/view/ViewGroup;->startViewTransition(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V
-HSPLandroid/view/ViewGroup;->unFocus(Landroid/view/View;)V
-HSPLandroid/view/ViewGroup;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/ViewOutlineProvider$1;-><init>()V
HSPLandroid/view/ViewOutlineProvider$1;->getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
-HSPLandroid/view/ViewOutlineProvider$2;-><init>()V
-HSPLandroid/view/ViewOutlineProvider$2;->getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
-HSPLandroid/view/ViewOutlineProvider$3;-><init>()V
HSPLandroid/view/ViewOutlineProvider;-><init>()V
-HSPLandroid/view/ViewPropertyAnimator$1;->run()V
-HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationCancel(Landroid/animation/Animator;)V
-HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-HSPLandroid/view/ViewPropertyAnimator$PropertyBundle;->cancel(I)Z
HSPLandroid/view/ViewPropertyAnimator;-><init>(Landroid/view/View;)V
-HSPLandroid/view/ViewPropertyAnimator;->alpha(F)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->animatePropertyBy(IFF)V
HSPLandroid/view/ViewPropertyAnimator;->cancel()V
-HSPLandroid/view/ViewPropertyAnimator;->getValue(I)F
-HSPLandroid/view/ViewPropertyAnimator;->setDuration(J)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->setListener(Landroid/animation/Animator$AnimatorListener;)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->setStartDelay(J)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->setValue(IF)V
-HSPLandroid/view/ViewPropertyAnimator;->start()V
-HSPLandroid/view/ViewPropertyAnimator;->startAnimation()V
-HSPLandroid/view/ViewPropertyAnimator;->translationX(F)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->translationY(F)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewRootImpl$1;->onDisplayChanged(I)V
+HSPLandroid/view/ViewRootImpl$1;-><init>(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl$4;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$4;->run()V
-HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureConnection()V
-HSPLandroid/view/ViewRootImpl$AsyncInputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V
-HSPLandroid/view/ViewRootImpl$AsyncInputStage;->defer(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-HSPLandroid/view/ViewRootImpl$AsyncInputStage;->dequeue(Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-HSPLandroid/view/ViewRootImpl$AsyncInputStage;->forward(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
+HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;-><init>(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;->run()V
-HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V
-HSPLandroid/view/ViewRootImpl$ImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
+HSPLandroid/view/ViewRootImpl$HighContrastTextManager;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$InputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V
-HSPLandroid/view/ViewRootImpl$InputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V
-HSPLandroid/view/ViewRootImpl$InputStage;->finish(Landroid/view/ViewRootImpl$QueuedInputEvent;Z)V
-HSPLandroid/view/ViewRootImpl$InputStage;->forward(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-HSPLandroid/view/ViewRootImpl$InputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
HSPLandroid/view/ViewRootImpl$InputStage;->onDetachedFromWindow()V
HSPLandroid/view/ViewRootImpl$InputStage;->onWindowFocusChanged(Z)V
-HSPLandroid/view/ViewRootImpl$InputStage;->shouldDropInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)Z
-HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->addView(Landroid/view/View;)V
+HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->removeView(Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->run()V
-HSPLandroid/view/ViewRootImpl$NativePostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$NativePreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$QueuedInputEvent;->shouldSkipIme()Z
-HSPLandroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->removeCallbacksAndRun()V
-HSPLandroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->run()V
-HSPLandroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->runOrPost(Landroid/view/View;I)V
HSPLandroid/view/ViewRootImpl$SyntheticInputStage;-><init>(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/ViewRootImpl$SyntheticInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
HSPLandroid/view/ViewRootImpl$SyntheticInputStage;->onDetachedFromWindow()V
-HSPLandroid/view/ViewRootImpl$SyntheticInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
HSPLandroid/view/ViewRootImpl$SyntheticInputStage;->onWindowFocusChanged(Z)V
HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;-><init>(Landroid/view/ViewRootImpl$SyntheticJoystickHandler;)V
HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler;->cancel()V
+HSPLandroid/view/ViewRootImpl$TraversalRunnable;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$TraversalRunnable;->run()V
-HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->dispatch(Landroid/view/View;Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->preDispatch(Landroid/view/KeyEvent;)V
-HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->preViewDispatch(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Landroid/view/MotionEvent;)V
-HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
+HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;-><init>()V
+HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;-><init>(Landroid/view/ViewRootImpl$1;)V
+HSPLandroid/view/ViewRootImpl$ViewRootHandler;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$ViewRootHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/view/ViewRootImpl$ViewRootHandler;->sendMessageAtTime(Landroid/os/Message;J)Z
-HSPLandroid/view/ViewRootImpl$W;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V
-HSPLandroid/view/ViewRootImpl$W;->dispatchSystemUiVisibilityChanged(IIII)V
-HSPLandroid/view/ViewRootImpl$W;->dispatchWindowShown()V
-HSPLandroid/view/ViewRootImpl$W;->insetsChanged(Landroid/view/InsetsState;)V
-HSPLandroid/view/ViewRootImpl$W;->moved(II)V
-HSPLandroid/view/ViewRootImpl$W;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
+HSPLandroid/view/ViewRootImpl$W;-><init>(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/ViewRootImpl$W;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
HSPLandroid/view/ViewRootImpl$W;->windowFocusChanged(ZZ)V
-HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onBatchedInputEventPending()V
-HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
-HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V
-HSPLandroid/view/ViewRootImpl;->access$1000(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
-HSPLandroid/view/ViewRootImpl;->access$600(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
-HSPLandroid/view/ViewRootImpl;->access$900(Landroid/view/ViewRootImpl;)Landroid/view/InsetsController;
+HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;)V
+HSPLandroid/view/ViewRootImpl;->access$4000(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V
HSPLandroid/view/ViewRootImpl;->addWindowCallbacks(Landroid/view/WindowCallbacks;)V
HSPLandroid/view/ViewRootImpl;->canResolveTextDirection()Z
-HSPLandroid/view/ViewRootImpl;->checkForLeavingTouchModeAndConsume(Landroid/view/KeyEvent;)Z
HSPLandroid/view/ViewRootImpl;->childDrawableStateChanged(Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->childHasTransientStateChanged(Landroid/view/View;Z)V
-HSPLandroid/view/ViewRootImpl;->clearChildFocus(Landroid/view/View;)V
HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z
-HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V
+HSPLandroid/view/ViewRootImpl;->destroySurface()V
HSPLandroid/view/ViewRootImpl;->die(Z)Z
-HSPLandroid/view/ViewRootImpl;->dipToPx(I)I
HSPLandroid/view/ViewRootImpl;->dispatchApplyInsets(Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->dispatchCheckFocus()V
HSPLandroid/view/ViewRootImpl;->dispatchDetachedFromWindow()V
-HSPLandroid/view/ViewRootImpl;->dispatchMoved(II)V
-HSPLandroid/view/ViewRootImpl;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
+HSPLandroid/view/ViewRootImpl;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
HSPLandroid/view/ViewRootImpl;->doDie()V
HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V
HSPLandroid/view/ViewRootImpl;->doTraversal()V
HSPLandroid/view/ViewRootImpl;->draw(Z)Z
HSPLandroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V
-HSPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z
HSPLandroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V
HSPLandroid/view/ViewRootImpl;->endDragResizing()V
-HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V
HSPLandroid/view/ViewRootImpl;->ensureInsetsNonNegative(Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/Rect;
-HSPLandroid/view/ViewRootImpl;->ensureTouchMode(Z)Z
HSPLandroid/view/ViewRootImpl;->ensureTouchModeLocally(Z)Z
HSPLandroid/view/ViewRootImpl;->enterTouchMode()Z
-HSPLandroid/view/ViewRootImpl;->finishInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-HSPLandroid/view/ViewRootImpl;->fireAccessibilityFocusEventIfHasFocusedNode()V
-HSPLandroid/view/ViewRootImpl;->focusableViewAvailable(Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->forceLayout(Landroid/view/View;)V
HSPLandroid/view/ViewRootImpl;->getAccessibilityFocusedRect(Landroid/graphics/Rect;)Z
-HSPLandroid/view/ViewRootImpl;->getAudioManager()Landroid/media/AudioManager;
-HSPLandroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/AutofillManager;
-HSPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
-HSPLandroid/view/ViewRootImpl;->getCommonPredecessor(Landroid/view/View;Landroid/view/View;)Landroid/view/View;
-HSPLandroid/view/ViewRootImpl;->getDisplayId()I
HSPLandroid/view/ViewRootImpl;->getHostVisibility()I
-HSPLandroid/view/ViewRootImpl;->getParent()Landroid/view/ViewParent;
HSPLandroid/view/ViewRootImpl;->getRootMeasureSpec(II)I
HSPLandroid/view/ViewRootImpl;->getRunQueue()Landroid/view/HandlerActionQueue;
HSPLandroid/view/ViewRootImpl;->getTextDirection()I
-HSPLandroid/view/ViewRootImpl;->getTitle()Ljava/lang/CharSequence;
HSPLandroid/view/ViewRootImpl;->getValidLayoutRequesters(Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
-HSPLandroid/view/ViewRootImpl;->getWindowFlags()I
HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets;
-HSPLandroid/view/ViewRootImpl;->handleContentCaptureFlush()V
-HSPLandroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged(Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;)V
-HSPLandroid/view/ViewRootImpl;->handleDispatchWindowShown()V
-HSPLandroid/view/ViewRootImpl;->handleWindowContentChangedEvent(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/ViewRootImpl;->handleWindowFocusChanged()V
HSPLandroid/view/ViewRootImpl;->hasColorModeChanged(I)Z
HSPLandroid/view/ViewRootImpl;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V
HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
HSPLandroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V
HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z
-HSPLandroid/view/ViewRootImpl;->isInLocalFocusMode()Z
HSPLandroid/view/ViewRootImpl;->isInTouchMode()Z
HSPLandroid/view/ViewRootImpl;->isLayoutRequested()Z
-HSPLandroid/view/ViewRootImpl;->isNavigationKey(Landroid/view/KeyEvent;)Z
HSPLandroid/view/ViewRootImpl;->isTextDirectionResolved()Z
+HSPLandroid/view/ViewRootImpl;->lambda$performDraw$1$ViewRootImpl(Ljava/util/ArrayList;)V
+HSPLandroid/view/ViewRootImpl;->lambda$performDraw$2$ViewRootImpl(Landroid/os/Handler;Ljava/util/ArrayList;J)V
+HSPLandroid/view/ViewRootImpl;->loadSystemProperties()V
HSPLandroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V
-HSPLandroid/view/ViewRootImpl;->maybeUpdateTooltip(Landroid/view/MotionEvent;)V
HSPLandroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
-HSPLandroid/view/ViewRootImpl;->notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V
+HSPLandroid/view/ViewRootImpl;->notifySurfaceCreated()V
+HSPLandroid/view/ViewRootImpl;->notifySurfaceDestroyed()V
HSPLandroid/view/ViewRootImpl;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V
HSPLandroid/view/ViewRootImpl;->onPostDraw(Landroid/graphics/RecordingCanvas;)V
HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V
-HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
+HSPLandroid/view/ViewRootImpl;->pendingDrawFinished()V
HSPLandroid/view/ViewRootImpl;->performConfigurationChange(Landroid/util/MergedConfiguration;ZI)V
HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V
HSPLandroid/view/ViewRootImpl;->performDraw()V
-HSPLandroid/view/ViewRootImpl;->performHapticFeedback(IZ)Z
HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V
HSPLandroid/view/ViewRootImpl;->performMeasure(II)V
HSPLandroid/view/ViewRootImpl;->performTraversals()V
-HSPLandroid/view/ViewRootImpl;->playSoundEffect(I)V
HSPLandroid/view/ViewRootImpl;->pokeDrawLockIfNeeded()V
HSPLandroid/view/ViewRootImpl;->profileRendering(Z)V
-HSPLandroid/view/ViewRootImpl;->recomputeViewAttributes(Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
HSPLandroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I
-HSPLandroid/view/ViewRootImpl;->removeWindowCallbacks(Landroid/view/WindowCallbacks;)V
HSPLandroid/view/ViewRootImpl;->reportDrawFinished()V
HSPLandroid/view/ViewRootImpl;->reportNextDraw()V
-HSPLandroid/view/ViewRootImpl;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
-HSPLandroid/view/ViewRootImpl;->requestDisallowInterceptTouchEvent(Z)V
-HSPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V
HSPLandroid/view/ViewRootImpl;->requestLayout()V
-HSPLandroid/view/ViewRootImpl;->requestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLandroid/view/ViewRootImpl;->requestTransparentRegion(Landroid/view/View;)V
HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V
HSPLandroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z
HSPLandroid/view/ViewRootImpl;->setAccessibilityFocus(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
HSPLandroid/view/ViewRootImpl;->setLayoutParams(Landroid/view/WindowManager$LayoutParams;Z)V
HSPLandroid/view/ViewRootImpl;->setTag()V
HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->setWindowStopped(Z)V
HSPLandroid/view/ViewRootImpl;->shouldUseDisplaySize(Landroid/view/WindowManager$LayoutParams;)Z
-HSPLandroid/view/ViewRootImpl;->updateBoundsSurface()V
+HSPLandroid/view/ViewRootImpl;->updateBoundsLayer()V
HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V
HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z
HSPLandroid/view/ViewRootImpl;->updateForceDarkMode()V
-HSPLandroid/view/ViewRootImpl;->updateInternalDisplay(ILandroid/content/res/Resources;)V
HSPLandroid/view/ViewRootImpl;->windowFocusChanged(ZZ)V
HSPLandroid/view/ViewStub;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/view/ViewStub;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/ViewStub;->inflate()Landroid/view/View;
HSPLandroid/view/ViewStub;->setVisibility(I)V
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->add(Ljava/lang/Object;)V
-HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->addAll(Landroid/view/ViewTreeObserver$CopyOnWriteArray;)V
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I
HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;
-HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z
-HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->reset()V
-HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->set(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HSPLandroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
-HSPLandroid/view/ViewTreeObserver;->addOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
+HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V
HSPLandroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
-HSPLandroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
-HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V
-HSPLandroid/view/ViewTreeObserver;->checkIsAlive()V
-HSPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HSPLandroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V
HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V
HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z
HSPLandroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V
HSPLandroid/view/ViewTreeObserver;->dispatchOnWindowAttachedChange(Z)V
-HSPLandroid/view/ViewTreeObserver;->dispatchOnWindowShown()V
HSPLandroid/view/ViewTreeObserver;->hasComputeInternalInsetsListeners()Z
-HSPLandroid/view/ViewTreeObserver;->isAlive()Z
-HSPLandroid/view/ViewTreeObserver;->merge(Landroid/view/ViewTreeObserver;)V
-HSPLandroid/view/ViewTreeObserver;->removeGlobalOnLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
-HSPLandroid/view/ViewTreeObserver;->removeOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
-HSPLandroid/view/ViewTreeObserver;->removeOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
-HSPLandroid/view/ViewTreeObserver;->removeOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
-HSPLandroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
HSPLandroid/view/Window;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/Window;->addFlags(I)V
-HSPLandroid/view/Window;->adjustLayoutParamsForSubWindow(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/view/Window;->clearFlags(I)V
+HSPLandroid/view/Window;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
HSPLandroid/view/Window;->findViewById(I)Landroid/view/View;
HSPLandroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
-HSPLandroid/view/Window;->getCallback()Landroid/view/Window$Callback;
-HSPLandroid/view/Window;->getWindowManager()Landroid/view/WindowManager;
HSPLandroid/view/Window;->getWindowStyle()Landroid/content/res/TypedArray;
HSPLandroid/view/Window;->hasFeature(I)Z
-HSPLandroid/view/Window;->haveDimAmount()Z
-HSPLandroid/view/Window;->isOutOfBounds(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->makeActive()V
HSPLandroid/view/Window;->setCallback(Landroid/view/Window$Callback;)V
-HSPLandroid/view/Window;->setCloseOnTouchOutside(Z)V
-HSPLandroid/view/Window;->setCloseOnTouchOutsideIfNotSet(Z)V
-HSPLandroid/view/Window;->setColorMode(I)V
HSPLandroid/view/Window;->setFlags(II)V
-HSPLandroid/view/Window;->setGravity(I)V
HSPLandroid/view/Window;->setLayout(II)V
HSPLandroid/view/Window;->setNeedsMenuKey(I)V
-HSPLandroid/view/Window;->setSoftInputMode(I)V
-HSPLandroid/view/Window;->setType(I)V
-HSPLandroid/view/Window;->setWindowAnimations(I)V
-HSPLandroid/view/Window;->setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;)V
HSPLandroid/view/Window;->setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;Z)V
-HSPLandroid/view/Window;->shouldCloseOnTouch(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/WindowAnimationFrameStats$1;-><init>()V
-HSPLandroid/view/WindowContentFrameStats$1;-><init>()V
-HSPLandroid/view/WindowInsets$Builder;-><init>(Landroid/view/WindowInsets;)V
-HSPLandroid/view/WindowInsets$Builder;->build()Landroid/view/WindowInsets;
+HSPLandroid/view/WindowInsets$Type;->compatSystemInsets()I
HSPLandroid/view/WindowInsets$Type;->indexOf(I)I
-HSPLandroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;)V
HSPLandroid/view/WindowInsets;-><init>([Landroid/graphics/Insets;[Landroid/graphics/Insets;[ZZZLandroid/view/DisplayCutout;)V
-HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets;
-HSPLandroid/view/WindowInsets;->createCompatTypeMap(Landroid/graphics/Rect;)[Landroid/graphics/Insets;
-HSPLandroid/view/WindowInsets;->displayCutoutCopyConstructorArgument(Landroid/view/WindowInsets;)Landroid/view/DisplayCutout;
-HSPLandroid/view/WindowInsets;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout;
+HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V
HSPLandroid/view/WindowInsets;->getInsets([Landroid/graphics/Insets;I)Landroid/graphics/Insets;
-HSPLandroid/view/WindowInsets;->getStableInsetBottom()I
-HSPLandroid/view/WindowInsets;->getStableInsetLeft()I
-HSPLandroid/view/WindowInsets;->getStableInsetRight()I
-HSPLandroid/view/WindowInsets;->getSystemWindowInsetBottom()I
-HSPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I
-HSPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I
-HSPLandroid/view/WindowInsets;->getSystemWindowInsetTop()I
+HSPLandroid/view/WindowInsets;->getStableInsets()Landroid/graphics/Insets;
+HSPLandroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Insets;
HSPLandroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets;
HSPLandroid/view/WindowInsets;->insetInsets(Landroid/graphics/Insets;IIII)Landroid/graphics/Insets;
-HSPLandroid/view/WindowInsets;->isConsumed()Z
-HSPLandroid/view/WindowInsets;->replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets;
-HSPLandroid/view/WindowManager$LayoutParams$1;-><init>()V
-HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/WindowManager$LayoutParams;
-HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/WindowInsets;->insetInsets([Landroid/graphics/Insets;IIII)[Landroid/graphics/Insets;
+HSPLandroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V
HSPLandroid/view/WindowManager$LayoutParams;-><init>()V
-HSPLandroid/view/WindowManager$LayoutParams;-><init>(Landroid/os/Parcel;)V
HSPLandroid/view/WindowManager$LayoutParams;->copyFrom(Landroid/view/WindowManager$LayoutParams;)I
HSPLandroid/view/WindowManager$LayoutParams;->getColorMode()I
-HSPLandroid/view/WindowManager$LayoutParams;->isFullscreen()Z
+HSPLandroid/view/WindowManager$LayoutParams;->getTitle()Ljava/lang/CharSequence;
HSPLandroid/view/WindowManager$LayoutParams;->mayUseInputMethod(I)Z
-HSPLandroid/view/WindowManager$LayoutParams;->setColorMode(I)V
HSPLandroid/view/WindowManager$LayoutParams;->setSurfaceInsets(Landroid/view/View;ZZ)V
HSPLandroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V
HSPLandroid/view/WindowManager$LayoutParams;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/WindowManagerGlobal;-><init>()V
HSPLandroid/view/WindowManagerGlobal;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;Landroid/view/Display;Landroid/view/Window;)V
-HSPLandroid/view/WindowManagerGlobal;->closeAll(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/view/WindowManagerGlobal;->closeAllExceptView(Landroid/os/IBinder;Landroid/view/View;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/view/WindowManagerGlobal;->doRemoveView(Landroid/view/ViewRootImpl;)V
-HSPLandroid/view/WindowManagerGlobal;->doTrimForeground()V
-HPLandroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
HSPLandroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I
HSPLandroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal;
-HSPLandroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList;
HSPLandroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager;
HSPLandroid/view/WindowManagerGlobal;->getWindowSession()Landroid/view/IWindowSession;
-HSPLandroid/view/WindowManagerGlobal;->initialize()V
HSPLandroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession;
HSPLandroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V
HSPLandroid/view/WindowManagerGlobal;->removeViewLocked(IZ)V
-HSPLandroid/view/WindowManagerGlobal;->setStoppedState(Landroid/os/IBinder;Z)V
HSPLandroid/view/WindowManagerGlobal;->trimMemory(I)V
HSPLandroid/view/WindowManagerGlobal;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;Landroid/view/Window;)V
HSPLandroid/view/WindowManagerImpl;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/view/WindowManagerImpl;->applyDefaultToken(Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/view/WindowManagerImpl;->getDefaultDisplay()Landroid/view/Display;
HSPLandroid/view/WindowManagerImpl;->removeView(Landroid/view/View;)V
-HSPLandroid/view/WindowManagerImpl;->removeViewImmediate(Landroid/view/View;)V
HSPLandroid/view/WindowManagerImpl;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/accessibility/-$$Lambda$AccessibilityManager$1$o7fCplskH9NlBwJvkl6NoZ0L_BA;->run()V
-HSPLandroid/view/accessibility/AccessibilityEvent$1;-><init>()V
-HSPLandroid/view/accessibility/AccessibilityEvent;->clear()V
-HSPLandroid/view/accessibility/AccessibilityEvent;->setEventTime(J)V
-HSPLandroid/view/accessibility/AccessibilityEvent;->setPackageName(Ljava/lang/CharSequence;)V
-HSPLandroid/view/accessibility/AccessibilityEvent;->writeAccessibilityRecordToParcel(Landroid/view/accessibility/AccessibilityRecord;Landroid/os/Parcel;I)V
-HSPLandroid/view/accessibility/AccessibilityEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/accessibility/AccessibilityManager$1;->lambda$notifyServicesStateChanged$0$AccessibilityManager$1(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;)V
-HSPLandroid/view/accessibility/AccessibilityManager$1;->notifyServicesStateChanged(J)V
-HSPLandroid/view/accessibility/AccessibilityManager$1;->setState(I)V
-HSPLandroid/view/accessibility/AccessibilityManager$MyCallback;->handleMessage(Landroid/os/Message;)Z
+HSPLandroid/view/accessibility/AccessibilityManager$1;-><init>(Landroid/view/accessibility/AccessibilityManager;)V
+HSPLandroid/view/accessibility/AccessibilityManager$MyCallback;-><init>(Landroid/view/accessibility/AccessibilityManager;)V
+HSPLandroid/view/accessibility/AccessibilityManager$MyCallback;-><init>(Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager$1;)V
HSPLandroid/view/accessibility/AccessibilityManager;-><init>(Landroid/content/Context;Landroid/view/accessibility/IAccessibilityManager;I)V
-HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Ljava/lang/String;Landroid/view/accessibility/IAccessibilityInteractionConnection;)I
-HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityServicesStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;Landroid/os/Handler;)V
HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;Landroid/os/Handler;)V
HSPLandroid/view/accessibility/AccessibilityManager;->addHighTextContrastStateChangeListener(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;Landroid/os/Handler;)V
-HSPLandroid/view/accessibility/AccessibilityManager;->addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z
HSPLandroid/view/accessibility/AccessibilityManager;->addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;Landroid/os/Handler;)V
HSPLandroid/view/accessibility/AccessibilityManager;->getEnabledAccessibilityServiceList(I)Ljava/util/List;
-HSPLandroid/view/accessibility/AccessibilityManager;->getInstalledAccessibilityServiceList()Ljava/util/List;
HSPLandroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
-HSPLandroid/view/accessibility/AccessibilityManager;->getRecommendedTimeoutMillis(II)I
-HSPLandroid/view/accessibility/AccessibilityManager;->isAccessibilityVolumeStreamActive()Z
HSPLandroid/view/accessibility/AccessibilityManager;->isEnabled()Z
HSPLandroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z
-HSPLandroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z
-HSPLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
-HSPLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityStateChanged()V
-HSPLandroid/view/accessibility/AccessibilityManager;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
HSPLandroid/view/accessibility/AccessibilityManager;->removeAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
HSPLandroid/view/accessibility/AccessibilityManager;->removeHighTextContrastStateChangeListener(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;)V
-HSPLandroid/view/accessibility/AccessibilityManager;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/accessibility/AccessibilityManager;->setStateLocked(I)V
HSPLandroid/view/accessibility/AccessibilityManager;->tryConnectToServiceLocked(Landroid/view/accessibility/IAccessibilityManager;)V
-HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->findView(I)Landroid/view/View;
+HSPLandroid/view/accessibility/AccessibilityManager;->updateUiTimeout(J)V
HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->getInstance()Landroid/view/accessibility/AccessibilityNodeIdManager;
HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->registerViewWithId(Landroid/view/View;I)V
HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->unregisterViewWithId(I)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo$1;-><init>()V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(I)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(ILjava/lang/CharSequence;)V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->hashCode()I
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;-><init>()V
-HSPLandroid/view/accessibility/AccessibilityNodeInfo;->makeNodeId(II)J
-HSPLandroid/view/accessibility/AccessibilityRecord;-><init>()V
-HSPLandroid/view/accessibility/AccessibilityRecord;->clear()V
-HSPLandroid/view/accessibility/AccessibilityRecord;->enforceNotSealed()V
-HSPLandroid/view/accessibility/AccessibilityRecord;->isSealed()Z
-HSPLandroid/view/accessibility/AccessibilityRecord;->setClassName(Ljava/lang/CharSequence;)V
-HSPLandroid/view/accessibility/AccessibilityRecord;->setSource(Landroid/view/View;I)V
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;-><init>(IIIIILjava/lang/String;)V
HSPLandroid/view/accessibility/CaptioningManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/accessibility/CaptioningManager;->addCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
-HSPLandroid/view/accessibility/CaptioningManager;->getFontScale()F
-HSPLandroid/view/accessibility/CaptioningManager;->getLocale()Ljava/util/Locale;
-HSPLandroid/view/accessibility/CaptioningManager;->getRawUserStyle()I
-HSPLandroid/view/accessibility/CaptioningManager;->getUserStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
-HSPLandroid/view/accessibility/CaptioningManager;->isEnabled()Z
-HSPLandroid/view/accessibility/CaptioningManager;->removeCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
-HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getRecommendedTimeoutMillis()J
-HSPLandroid/view/accessibility/IAccessibilityManager$Stub;-><init>()V
-HSPLandroid/view/accessibility/IAccessibilityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->notifyServicesStateChanged(J)V
-HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->setState(I)V
+HSPLandroid/view/accessibility/IAccessibilityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;
+HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;-><init>()V
HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/view/animation/AccelerateDecelerateInterpolator;-><init>()V
-HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->createNativeInterpolator()J
HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->getInterpolation(F)F
-HSPLandroid/view/animation/AccelerateInterpolator;-><init>()V
-HSPLandroid/view/animation/AccelerateInterpolator;-><init>(F)V
-HSPLandroid/view/animation/AccelerateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/AccelerateInterpolator;->getInterpolation(F)F
-HSPLandroid/view/animation/AlphaAnimation;-><init>(FF)V
-HSPLandroid/view/animation/AlphaAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/AlphaAnimation;->hasAlpha()Z
-HSPLandroid/view/animation/AlphaAnimation;->willChangeBounds()Z
-HSPLandroid/view/animation/AlphaAnimation;->willChangeTransformationMatrix()Z
-HSPLandroid/view/animation/Animation$1;->run()V
-HSPLandroid/view/animation/Animation$3;->run()V
HSPLandroid/view/animation/Animation$Description;->parseValue(Landroid/util/TypedValue;)Landroid/view/animation/Animation$Description;
-HSPLandroid/view/animation/Animation;-><init>()V
HSPLandroid/view/animation/Animation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/Animation;->cancel()V
-HSPLandroid/view/animation/Animation;->computeDurationHint()J
-HSPLandroid/view/animation/Animation;->detach()V
-HSPLandroid/view/animation/Animation;->dispatchAnimationEnd()V
-HSPLandroid/view/animation/Animation;->dispatchAnimationStart()V
HSPLandroid/view/animation/Animation;->ensureInterpolator()V
HSPLandroid/view/animation/Animation;->finalize()V
-HSPLandroid/view/animation/Animation;->getBackgroundColor()I
HSPLandroid/view/animation/Animation;->getDuration()J
-HSPLandroid/view/animation/Animation;->getFillAfter()Z
-HPLandroid/view/animation/Animation;->getInterpolator()Landroid/view/animation/Interpolator;
-HSPLandroid/view/animation/Animation;->getInvalidateRegion(IIIILandroid/graphics/RectF;Landroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/Animation;->getRepeatCount()I
-HSPLandroid/view/animation/Animation;->getScaleFactor()F
-HPLandroid/view/animation/Animation;->getShowWallpaper()Z
HSPLandroid/view/animation/Animation;->getStartOffset()J
-HSPLandroid/view/animation/Animation;->getStartTime()J
-HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;)Z
-HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;F)Z
-HPLandroid/view/animation/Animation;->getZAdjustment()I
-HSPLandroid/view/animation/Animation;->hasAlpha()Z
-HSPLandroid/view/animation/Animation;->hasEnded()Z
-HSPLandroid/view/animation/Animation;->hasRoundedCorners()Z
-HSPLandroid/view/animation/Animation;->hasStarted()Z
-HSPLandroid/view/animation/Animation;->initialize(IIII)V
-HSPLandroid/view/animation/Animation;->initializeInvalidateRegion(IIII)V
-HSPLandroid/view/animation/Animation;->isFillEnabled()Z
-HSPLandroid/view/animation/Animation;->isInitialized()Z
-HSPLandroid/view/animation/Animation;->reset()V
-HSPLandroid/view/animation/Animation;->resolveSize(IFII)F
-HSPLandroid/view/animation/Animation;->restrictDuration(J)V
-HSPLandroid/view/animation/Animation;->scaleCurrentDuration(F)V
-HSPLandroid/view/animation/Animation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V
HSPLandroid/view/animation/Animation;->setBackgroundColor(I)V
HSPLandroid/view/animation/Animation;->setDetachWallpaper(Z)V
HSPLandroid/view/animation/Animation;->setDuration(J)V
@@ -17969,895 +7906,147 @@ HSPLandroid/view/animation/Animation;->setFillAfter(Z)V
HSPLandroid/view/animation/Animation;->setFillBefore(Z)V
HSPLandroid/view/animation/Animation;->setFillEnabled(Z)V
HSPLandroid/view/animation/Animation;->setHasRoundedCorners(Z)V
-HSPLandroid/view/animation/Animation;->setInterpolator(Landroid/content/Context;I)V
-HSPLandroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V
-HSPLandroid/view/animation/Animation;->setListenerHandler(Landroid/os/Handler;)V
HSPLandroid/view/animation/Animation;->setRepeatCount(I)V
HSPLandroid/view/animation/Animation;->setRepeatMode(I)V
HSPLandroid/view/animation/Animation;->setShowWallpaper(Z)V
HSPLandroid/view/animation/Animation;->setStartOffset(J)V
-HSPLandroid/view/animation/Animation;->setStartTime(J)V
HSPLandroid/view/animation/Animation;->setZAdjustment(I)V
HSPLandroid/view/animation/Animation;->willChangeBounds()Z
HSPLandroid/view/animation/Animation;->willChangeTransformationMatrix()Z
HSPLandroid/view/animation/AnimationSet;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/AnimationSet;-><init>(Z)V
HSPLandroid/view/animation/AnimationSet;->addAnimation(Landroid/view/animation/Animation;)V
-HSPLandroid/view/animation/AnimationSet;->computeDurationHint()J
-HSPLandroid/view/animation/AnimationSet;->getAnimations()Ljava/util/List;
-HSPLandroid/view/animation/AnimationSet;->getDuration()J
-HSPLandroid/view/animation/AnimationSet;->getTransformation(JLandroid/view/animation/Transformation;)Z
-HSPLandroid/view/animation/AnimationSet;->hasAlpha()Z
-HSPLandroid/view/animation/AnimationSet;->initialize(IIII)V
-HSPLandroid/view/animation/AnimationSet;->initializeInvalidateRegion(IIII)V
-HSPLandroid/view/animation/AnimationSet;->reset()V
-HSPLandroid/view/animation/AnimationSet;->restoreChildrenStartOffset()V
-HSPLandroid/view/animation/AnimationSet;->restrictDuration(J)V
-HSPLandroid/view/animation/AnimationSet;->scaleCurrentDuration(F)V
HSPLandroid/view/animation/AnimationSet;->setDuration(J)V
HSPLandroid/view/animation/AnimationSet;->setFillAfter(Z)V
HSPLandroid/view/animation/AnimationSet;->setFillBefore(Z)V
HSPLandroid/view/animation/AnimationSet;->setRepeatMode(I)V
HSPLandroid/view/animation/AnimationSet;->setStartOffset(J)V
-HSPLandroid/view/animation/AnimationSet;->setStartTime(J)V
-HSPLandroid/view/animation/AnimationSet;->willChangeBounds()Z
-HSPLandroid/view/animation/AnimationSet;->willChangeTransformationMatrix()Z
-HSPLandroid/view/animation/AnimationUtils$1;-><init>()V
HSPLandroid/view/animation/AnimationUtils$1;->initialValue()Landroid/view/animation/AnimationUtils$AnimationState;
HSPLandroid/view/animation/AnimationUtils$1;->initialValue()Ljava/lang/Object;
+HSPLandroid/view/animation/AnimationUtils$AnimationState;-><init>()V
+HSPLandroid/view/animation/AnimationUtils$AnimationState;-><init>(Landroid/view/animation/AnimationUtils$1;)V
HSPLandroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/view/animation/AnimationSet;Landroid/util/AttributeSet;)Landroid/view/animation/Animation;
HSPLandroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator;
-HSPLandroid/view/animation/AnimationUtils;->createLayoutAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/view/animation/LayoutAnimationController;
-HSPLandroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J
HSPLandroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation;
HSPLandroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;
HSPLandroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;I)Landroid/view/animation/Interpolator;
-HSPLandroid/view/animation/AnimationUtils;->loadLayoutAnimation(Landroid/content/Context;I)Landroid/view/animation/LayoutAnimationController;
+HSPLandroid/view/animation/AnimationUtils;->lockAnimationClock(J)V
+HSPLandroid/view/animation/AnimationUtils;->unlockAnimationClock()V
+HSPLandroid/view/animation/BaseInterpolator;-><init>()V
HSPLandroid/view/animation/BaseInterpolator;->getChangingConfiguration()I
HSPLandroid/view/animation/BaseInterpolator;->setChangingConfiguration(I)V
-HPLandroid/view/animation/ClipRectAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/view/animation/ClipRectAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-HPLandroid/view/animation/ClipRectAnimation;->initialize(IIII)V
HSPLandroid/view/animation/DecelerateInterpolator;-><init>()V
HSPLandroid/view/animation/DecelerateInterpolator;-><init>(F)V
-HSPLandroid/view/animation/DecelerateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
HSPLandroid/view/animation/DecelerateInterpolator;->getInterpolation(F)F
-HSPLandroid/view/animation/LayoutAnimationController;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/LayoutAnimationController;->setAnimation(Landroid/content/Context;I)V
-HSPLandroid/view/animation/LayoutAnimationController;->setAnimation(Landroid/view/animation/Animation;)V
HSPLandroid/view/animation/LinearInterpolator;-><init>()V
-HSPLandroid/view/animation/LinearInterpolator;->createNativeInterpolator()J
HSPLandroid/view/animation/LinearInterpolator;->getInterpolation(F)F
-HSPLandroid/view/animation/OvershootInterpolator;-><init>()V
HSPLandroid/view/animation/PathInterpolator;-><init>(FFFF)V
HSPLandroid/view/animation/PathInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/PathInterpolator;->createNativeInterpolator()J
HSPLandroid/view/animation/PathInterpolator;->getInterpolation(F)F
+HSPLandroid/view/animation/PathInterpolator;->initCubic(FFFF)V
HSPLandroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V
HSPLandroid/view/animation/PathInterpolator;->parseInterpolatorFromTypeArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/view/animation/RotateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/RotateAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/RotateAnimation;->initialize(IIII)V
-HSPLandroid/view/animation/ScaleAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/ScaleAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/ScaleAnimation;->initialize(IIII)V
-HSPLandroid/view/animation/ScaleAnimation;->resolveScale(FIIII)F
-HSPLandroid/view/animation/Transformation;-><init>()V
HSPLandroid/view/animation/Transformation;->clear()V
-HSPLandroid/view/animation/Transformation;->compose(Landroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/Transformation;->getAlpha()F
-HSPLandroid/view/animation/Transformation;->getClipRect()Landroid/graphics/Rect;
-HSPLandroid/view/animation/Transformation;->getMatrix()Landroid/graphics/Matrix;
-HSPLandroid/view/animation/Transformation;->getTransformationType()I
-HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/Transformation;->setAlpha(F)V
-HPLandroid/view/animation/Transformation;->setClipRect(IIII)V
-HPLandroid/view/animation/Transformation;->setClipRect(Landroid/graphics/Rect;)V
-HSPLandroid/view/animation/TranslateAnimation;-><init>(FFFF)V
-HSPLandroid/view/animation/TranslateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/TranslateAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/TranslateAnimation;->initialize(IIII)V
-HSPLandroid/view/autofill/AutofillId$1;-><init>()V
-HSPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillId;
-HSPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/autofill/AutofillId;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/autofill/AutofillId;->hashCode()I
-HSPLandroid/view/autofill/AutofillId;->toString()Ljava/lang/String;
-HSPLandroid/view/autofill/AutofillId;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/autofill/AutofillManager;-><init>(Landroid/content/Context;Landroid/view/autofill/IAutoFillManager;)V
-HSPLandroid/view/autofill/AutofillManager;->ensureServiceClientAddedIfNeededLocked()V
-HSPLandroid/view/autofill/AutofillManager;->getClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-HSPLandroid/view/autofill/AutofillManager;->isEnabled()Z
+HSPLandroid/view/autofill/AutofillManager;->hasAutofillFeature()Z
HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewVisibilityChangedInternal(Landroid/view/View;IZZ)V
-HSPLandroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Z)V
-HSPLandroid/view/autofill/AutofillValue$1;-><init>()V
-HPLandroid/view/autofill/AutofillValue$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillValue;
-HPLandroid/view/autofill/AutofillValue$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/autofill/AutofillValue;-><init>(Landroid/os/Parcel;)V
-HPLandroid/view/autofill/AutofillValue;->equals(Ljava/lang/Object;)Z
-HPLandroid/view/autofill/AutofillValue;->getTextValue()Ljava/lang/CharSequence;
-HPLandroid/view/autofill/AutofillValue;->isEmpty()Z
-HSPLandroid/view/autofill/AutofillValue;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/autofill/Helper;->toList(Ljava/util/Set;)Ljava/util/ArrayList;
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;ILcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub;-><init>()V
HSPLandroid/view/autofill/IAutoFillManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManager;
-HPLandroid/view/autofill/IAutoFillManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->getAugmentedAutofillClient(Lcom/android/internal/os/IResultReceiver;)V
-PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setSessionFinished(ILjava/util/List;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManagerClient;
-HSPLandroid/view/contentcapture/ContentCaptureContext$1;-><init>()V
-HSPLandroid/view/contentcapture/ContentCaptureContext;-><init>(Landroid/view/contentcapture/ContentCaptureContext;Landroid/content/ComponentName;III)V
-PLandroid/view/contentcapture/ContentCaptureContext;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/contentcapture/ContentCaptureHelper;->getDefaultLoggingLevel()I
-HSPLandroid/view/contentcapture/ContentCaptureHelper;->getLoggingLevelAsString(I)Ljava/lang/String;
-HSPLandroid/view/contentcapture/ContentCaptureHelper;->setLoggingLevel(I)V
-HSPLandroid/view/contentcapture/IContentCaptureManager$Stub;-><init>()V
-HPLandroid/view/contentcapture/IContentCaptureManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->beginBatchEdit()Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->endBatchEdit()Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->finishComposingText()Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->getEditable()Landroid/text/Editable;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getHandler()Landroid/os/Handler;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getSelectedText(I)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getTextAfterCursor(II)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/BaseInputConnection;->removeComposingSpans(Landroid/text/Spannable;)V
-HSPLandroid/view/inputmethod/BaseInputConnection;->replaceText(Ljava/lang/CharSequence;IZ)V
-HSPLandroid/view/inputmethod/BaseInputConnection;->reportFullscreenMode(Z)Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->sendCurrentText()V
-HSPLandroid/view/inputmethod/ComposingText;-><init>()V
HSPLandroid/view/inputmethod/CursorAnchorInfo$Builder;-><init>()V
-HSPLandroid/view/inputmethod/EditorInfo$1;-><init>()V
-HSPLandroid/view/inputmethod/EditorInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/EditorInfo;
-HSPLandroid/view/inputmethod/EditorInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/inputmethod/EditorInfo;-><init>()V
-HSPLandroid/view/inputmethod/EditorInfo;->makeCompatible(I)V
-HSPLandroid/view/inputmethod/EditorInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/inputmethod/ExtractedText$1;-><init>()V
-HSPLandroid/view/inputmethod/ExtractedTextRequest$1;-><init>()V
-HSPLandroid/view/inputmethod/ExtractedTextRequest;-><init>()V
-HSPLandroid/view/inputmethod/InputBinding$1;-><init>()V
-HSPLandroid/view/inputmethod/InputBinding$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputBinding;
-HSPLandroid/view/inputmethod/InputBinding$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/inputmethod/InputBinding;-><init>(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputBinding;)V
-HSPLandroid/view/inputmethod/InputBinding;->getConnection()Landroid/view/inputmethod/InputConnection;
-HSPLandroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlags(Landroid/view/inputmethod/InputConnection;)I
-HSPLandroid/view/inputmethod/InputMethodInfo$1;-><init>()V
HSPLandroid/view/inputmethod/InputMethodInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputMethodInfo;
HSPLandroid/view/inputmethod/InputMethodInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;Ljava/util/List;)V
HSPLandroid/view/inputmethod/InputMethodInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/inputmethod/InputMethodInfo;->computeId(Landroid/content/pm/ResolveInfo;)Ljava/lang/String;
-HSPLandroid/view/inputmethod/InputMethodInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/inputmethod/InputMethodInfo;->getComponent()Landroid/content/ComponentName;
-HSPLandroid/view/inputmethod/InputMethodInfo;->getId()Ljava/lang/String;
HSPLandroid/view/inputmethod/InputMethodInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/view/inputmethod/InputMethodInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
-HSPLandroid/view/inputmethod/InputMethodInfo;->getSubtypeAt(I)Landroid/view/inputmethod/InputMethodSubtype;
-HSPLandroid/view/inputmethod/InputMethodInfo;->getSubtypeCount()I
-HSPLandroid/view/inputmethod/InputMethodInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/InputMethodInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/inputmethod/InputMethodManager$1;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
-HSPLandroid/view/inputmethod/InputMethodManager$1;->onUnbindMethod(II)V
-HSPLandroid/view/inputmethod/InputMethodManager$1;->reportFullscreenMode(Z)V
-HSPLandroid/view/inputmethod/InputMethodManager$1;->setActive(ZZ)V
-HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;-><init>(Landroid/os/Looper;Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputMethodManager;)V
-HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->deactivate()V
-HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->isActive()Z
-HSPLandroid/view/inputmethod/InputMethodManager$H;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/view/inputmethod/InputMethodManager$ImeInputEventSender;->onInputEventFinished(IZ)V
-HSPLandroid/view/inputmethod/InputMethodManager$PendingEvent;->run()V
HSPLandroid/view/inputmethod/InputMethodManager;-><init>(Lcom/android/internal/view/IInputMethodManager;ILandroid/os/Looper;)V
HSPLandroid/view/inputmethod/InputMethodManager;->checkFocusNoStartInput(Z)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->closeCurrentInput()V
HSPLandroid/view/inputmethod/InputMethodManager;->createRealInstance(ILandroid/os/Looper;)Landroid/view/inputmethod/InputMethodManager;
-HSPLandroid/view/inputmethod/InputMethodManager;->dispatchInputEvent(Landroid/view/InputEvent;Ljava/lang/Object;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;Landroid/os/Handler;)I
-HSPLandroid/view/inputmethod/InputMethodManager;->finishedInputEvent(IZZ)V
-HSPLandroid/view/inputmethod/InputMethodManager;->flushPendingEventsLocked()V
-HSPLandroid/view/inputmethod/InputMethodManager;->focusIn(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->focusOut(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->forContext(Landroid/content/Context;)Landroid/view/inputmethod/InputMethodManager;
HSPLandroid/view/inputmethod/InputMethodManager;->forContextInternal(ILandroid/os/Looper;)Landroid/view/inputmethod/InputMethodManager;
HSPLandroid/view/inputmethod/InputMethodManager;->getEnabledInputMethodList()Ljava/util/List;
-HSPLandroid/view/inputmethod/InputMethodManager;->getEnabledInputMethodSubtypeList(Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
HSPLandroid/view/inputmethod/InputMethodManager;->getFallbackInputMethodManagerIfNecessary(Landroid/view/View;)Landroid/view/inputmethod/InputMethodManager;
-HSPLandroid/view/inputmethod/InputMethodManager;->getInputMethodList()Ljava/util/List;
-HSPLandroid/view/inputmethod/InputMethodManager;->hideSoftInputFromWindow(Landroid/os/IBinder;I)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->hideSoftInputFromWindow(Landroid/os/IBinder;ILandroid/os/ResultReceiver;)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->isActive(Landroid/view/View;)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->isCursorAnchorInfoEnabled()Z
-HSPLandroid/view/inputmethod/InputMethodManager;->isFullscreenMode()Z
-HSPLandroid/view/inputmethod/InputMethodManager;->maybeCallServedViewChangedLocked(Landroid/view/inputmethod/EditorInfo;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->onPostWindowFocus(Landroid/view/View;Landroid/view/View;IZI)V
-HSPLandroid/view/inputmethod/InputMethodManager;->onPreWindowFocus(Landroid/view/View;Z)V
HSPLandroid/view/inputmethod/InputMethodManager;->onViewDetachedFromWindow(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->registerImeConsumer(Landroid/view/ImeInsetsSourceConsumer;)V
HSPLandroid/view/inputmethod/InputMethodManager;->restartInput(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->sendInputEventOnMainLooperLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)I
-HSPLandroid/view/inputmethod/InputMethodManager;->setInputChannelLocked(Landroid/view/InputChannel;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;I)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;ILandroid/os/ResultReceiver;)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->startInputInner(ILandroid/os/IBinder;III)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->updateSelection(Landroid/view/View;IIII)V
HSPLandroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V
-HSPLandroid/view/inputmethod/InputMethodSubtype$1;-><init>()V
-HSPLandroid/view/inputmethod/InputMethodSubtype$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputMethodSubtype;
-HSPLandroid/view/inputmethod/InputMethodSubtype$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;)V
-HSPLandroid/view/inputmethod/InputMethodSubtype;->containsExtraValueKey(Ljava/lang/String;)Z
-HSPLandroid/view/inputmethod/InputMethodSubtype;->getExtraValueHashMap()Ljava/util/HashMap;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->hashCode()I
-HSPLandroid/view/inputmethod/InputMethodSubtype;->hashCodeInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZ)I
-HSPLandroid/view/inputmethod/InputMethodSubtype;->sort(Landroid/content/Context;ILandroid/view/inputmethod/InputMethodInfo;Ljava/util/List;)Ljava/util/List;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->compress([B)[B
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->get(I)Landroid/view/inputmethod/InputMethodSubtype;
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->getCount()I
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->marshall([Landroid/view/inputmethod/InputMethodSubtype;)[B
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->writeToParcel(Landroid/os/Parcel;)V
-HSPLandroid/view/inputmethod/InputMethodSystemProperty;->getMultiClientImeComponentName()Landroid/content/ComponentName;
-HSPLandroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;-><init>()V
-HSPLandroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;-><init>()V
-HPLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;-><init>()V
-PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;->test(Ljava/lang/Object;)Z
-PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk;-><init>()V
-PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$sY0w9od2zcl4YFel0lG4VB3vf7I;-><init>()V
-PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$sY0w9od2zcl4YFel0lG4VB3vf7I;->chooseTitle(Landroid/view/textclassifier/intent/LabeledIntent;Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
-HSPLandroid/view/textclassifier/-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/view/textclassifier/-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI;-><init>()V
-HSPLandroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;-><init>()V
-HSPLandroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLandroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;-><init>()V
-PLandroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;->get()Ljava/lang/Object;
-HSPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;-><init>()V
-HSPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;-><init>()V
-HPLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;-><init>()V
-HSPLandroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HPLandroid/view/textclassifier/ActionsSuggestionsHelper$PersonEncoder;->encode(Landroid/app/Person;)I
-PLandroid/view/textclassifier/ActionsSuggestionsHelper;->createLabeledIntentResult(Landroid/content/Context;Landroid/view/textclassifier/intent/TemplateIntentFactory;Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;)Landroid/view/textclassifier/intent/LabeledIntent$Result;
-HPLandroid/view/textclassifier/ActionsSuggestionsHelper;->createResultId(Landroid/content/Context;Ljava/util/List;ILjava/util/List;)Ljava/lang/String;
-PLandroid/view/textclassifier/ActionsSuggestionsHelper;->getRepresentation(Landroid/view/textclassifier/ConversationAction;)Landroid/util/Pair;
-HPLandroid/view/textclassifier/ActionsSuggestionsHelper;->removeActionsWithDuplicates(Ljava/util/List;)Ljava/util/List;
-HPLandroid/view/textclassifier/ActionsSuggestionsHelper;->toNativeMessages(Ljava/util/List;Ljava/util/function/Function;)[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
-HSPLandroid/view/textclassifier/ConfigParser;-><init>(Ljava/lang/String;)V
-PLandroid/view/textclassifier/ConversationAction$1;-><init>()V
-PLandroid/view/textclassifier/ConversationAction;->getConfidenceScore()F
-PLandroid/view/textclassifier/ConversationAction;->getTextReply()Ljava/lang/CharSequence;
-PLandroid/view/textclassifier/ConversationAction;->getType()Ljava/lang/String;
-HSPLandroid/view/textclassifier/ConversationActions$1;-><init>()V
-PLandroid/view/textclassifier/ConversationActions$Message$1;-><init>()V
-PLandroid/view/textclassifier/ConversationActions$Message$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Message;
-PLandroid/view/textclassifier/ConversationActions$Message$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/textclassifier/ConversationActions$Message$Builder;-><init>(Landroid/app/Person;)V
-PLandroid/view/textclassifier/ConversationActions$Message$Builder;->build()Landroid/view/textclassifier/ConversationActions$Message;
-PLandroid/view/textclassifier/ConversationActions$Message$Builder;->setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/ConversationActions$Message$Builder;
-PLandroid/view/textclassifier/ConversationActions$Message$Builder;->setText(Ljava/lang/CharSequence;)Landroid/view/textclassifier/ConversationActions$Message$Builder;
-HPLandroid/view/textclassifier/ConversationActions$Message;-><init>(Landroid/os/Parcel;)V
-PLandroid/view/textclassifier/ConversationActions$Message;->getAuthor()Landroid/app/Person;
-HPLandroid/view/textclassifier/ConversationActions$Message;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/view/textclassifier/ConversationActions$Request$1;-><init>()V
-PLandroid/view/textclassifier/ConversationActions$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
-PLandroid/view/textclassifier/ConversationActions$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/textclassifier/ConversationActions$Request$Builder;-><init>(Ljava/util/List;)V
-HPLandroid/view/textclassifier/ConversationActions$Request$Builder;->build()Landroid/view/textclassifier/ConversationActions$Request;
-PLandroid/view/textclassifier/ConversationActions$Request$Builder;->setHints(Ljava/util/List;)Landroid/view/textclassifier/ConversationActions$Request$Builder;
-PLandroid/view/textclassifier/ConversationActions$Request$Builder;->setMaxSuggestions(I)Landroid/view/textclassifier/ConversationActions$Request$Builder;
-PLandroid/view/textclassifier/ConversationActions$Request$Builder;->setTypeConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/ConversationActions$Request$Builder;
-HPLandroid/view/textclassifier/ConversationActions$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
-HPLandroid/view/textclassifier/ConversationActions$Request;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/textclassifier/ConversationActions;-><init>(Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/ConversationActions;->getConversationActions()Ljava/util/List;
-HSPLandroid/view/textclassifier/ConversationActions;->getId()Ljava/lang/String;
-HSPLandroid/view/textclassifier/EntityConfidence$1;-><init>()V
-HSPLandroid/view/textclassifier/EntityConfidence;-><init>(Ljava/util/Map;)V
-HSPLandroid/view/textclassifier/EntityConfidence;->resetSortedEntitiesFromMap()V
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFile;-><init>(Ljava/io/File;ILjava/util/List;Z)V
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFile;->isPreferredTo(Landroid/view/textclassifier/ModelFileManager$ModelFile;)Z
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFile;->toString()Ljava/lang/String;
+HSPLandroid/view/textclassifier/-$$Lambda$ActionsModelParamsSupplier$zElxNeuL3A8paTXvw8GWdpp4rFo;-><init>(Landroid/view/textclassifier/ActionsModelParamsSupplier;)V
+HSPLandroid/view/textclassifier/-$$Lambda$TextClassificationManager$oweIEhDWxy3_0kZSXp3oRbSuNW4;->get()Ljava/lang/Object;
+HSPLandroid/view/textclassifier/ActionsModelParamsSupplier$SettingsObserver;-><init>(Landroid/content/Context;Ljava/lang/Runnable;)V
+HSPLandroid/view/textclassifier/ActionsModelParamsSupplier;-><init>(Landroid/content/Context;Ljava/lang/Runnable;)V
+HSPLandroid/view/textclassifier/ConfigParser;->getBoolean(Ljava/lang/String;Z)Z
+HSPLandroid/view/textclassifier/ConfigParser;->getInt(Ljava/lang/String;I)I
+HSPLandroid/view/textclassifier/ConfigParser;->getLegacySettings()Landroid/util/KeyValueListParser;
+HSPLandroid/view/textclassifier/ConfigParser;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/view/textclassifier/Log;-><clinit>()V
HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;-><init>(Ljava/io/File;Ljava/lang/String;Ljava/io/File;Ljava/util/function/Function;Ljava/util/function/Function;)V
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->createModelFile(Ljava/io/File;)Landroid/view/textclassifier/ModelFileManager$ModelFile;
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->get()Ljava/lang/Object;
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->get()Ljava/util/List;
-HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->maybeCloseAndLogError(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/view/textclassifier/ModelFileManager;->findBestModelFile(Landroid/os/LocaleList;)Landroid/view/textclassifier/ModelFileManager$ModelFile;
-HSPLandroid/view/textclassifier/ModelFileManager;->listModelFiles()Ljava/util/List;
-HSPLandroid/view/textclassifier/SystemTextClassifier$BlockingCallback;->onSuccess(Landroid/os/Bundle;)V
-HSPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->get()Ljava/lang/Object;
-HSPLandroid/view/textclassifier/SystemTextClassifier;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)V
-HPLandroid/view/textclassifier/SystemTextClassifier;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V
-HPLandroid/view/textclassifier/SystemTextClassifier;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
-HSPLandroid/view/textclassifier/TextClassification$1;-><init>()V
-HSPLandroid/view/textclassifier/TextClassification$Builder;-><init>()V
-HSPLandroid/view/textclassifier/TextClassification$Builder;->build()Landroid/view/textclassifier/TextClassification;
-HSPLandroid/view/textclassifier/TextClassification$Builder;->buildExtras()Landroid/os/Bundle;
-HSPLandroid/view/textclassifier/TextClassificationConstants;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/TextClassificationConstants;->parseFloatArray(Landroid/view/textclassifier/ConfigParser;Ljava/lang/String;Ljava/lang/String;)[F
-PLandroid/view/textclassifier/TextClassificationContext$1;-><init>()V
-PLandroid/view/textclassifier/TextClassificationContext$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassificationContext;
-PLandroid/view/textclassifier/TextClassificationContext$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/textclassifier/TextClassificationContext$Builder;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/view/textclassifier/TextClassificationContext$Builder;->build()Landroid/view/textclassifier/TextClassificationContext;
-PLandroid/view/textclassifier/TextClassificationContext;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/view/textclassifier/TextClassificationConstants;->getTextClassifierServiceName()Ljava/lang/String;
HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;-><init>(Landroid/view/textclassifier/TextClassificationManager;)V
-HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;->onChange(Z)V
HSPLandroid/view/textclassifier/TextClassificationManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/textclassifier/TextClassificationManager;->finalize()V
HSPLandroid/view/textclassifier/TextClassificationManager;->getLocalTextClassifier()Landroid/view/textclassifier/TextClassifier;
HSPLandroid/view/textclassifier/TextClassificationManager;->getSettings()Landroid/view/textclassifier/TextClassificationConstants;
-HSPLandroid/view/textclassifier/TextClassificationManager;->getSettings(Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
-HSPLandroid/view/textclassifier/TextClassificationManager;->getSystemTextClassifier()Landroid/view/textclassifier/TextClassifier;
-HSPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier()Landroid/view/textclassifier/TextClassifier;
-HSPLandroid/view/textclassifier/TextClassificationManager;->invalidate()V
-HSPLandroid/view/textclassifier/TextClassifier$1;-><init>()V
-HSPLandroid/view/textclassifier/TextClassifier$EntityConfig$1;-><init>()V
-PLandroid/view/textclassifier/TextClassifier$EntityConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassifier$EntityConfig;
-PLandroid/view/textclassifier/TextClassifier$EntityConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/textclassifier/TextClassifier$EntityConfig$Builder;-><init>()V
-HSPLandroid/view/textclassifier/TextClassifier$EntityConfig$Builder;->build()Landroid/view/textclassifier/TextClassifier$EntityConfig;
-HPLandroid/view/textclassifier/TextClassifier$EntityConfig;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/TextClassifier$EntityConfig;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/view/textclassifier/TextClassifierEvent$1;-><init>()V
-PLandroid/view/textclassifier/TextClassifierEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassifierEvent;
-PLandroid/view/textclassifier/TextClassifierEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/textclassifier/TextClassifierEvent$Builder;-><init>(II)V
-PLandroid/view/textclassifier/TextClassifierEvent$Builder;->build()Landroid/view/textclassifier/TextClassifierEvent;
-PLandroid/view/textclassifier/TextClassifierEvent$Builder;->setEntityTypes([Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;
-PLandroid/view/textclassifier/TextClassifierEvent$Builder;->setEventContext(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifierEvent$Builder;
-PLandroid/view/textclassifier/TextClassifierEvent$Builder;->setEventTime(J)Landroid/view/textclassifier/TextClassifierEvent$Builder;
-PLandroid/view/textclassifier/TextClassifierEvent$Builder;->setResultId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;
-PLandroid/view/textclassifier/TextClassifierEvent;-><init>(II[Ljava/lang/String;Landroid/view/textclassifier/TextClassificationContext;Ljava/lang/String;IJLandroid/os/Bundle;IIII[ILjava/lang/String;FLjava/lang/String;)V
-HPLandroid/view/textclassifier/TextClassifierEvent;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassifierEvent;
-HPLandroid/view/textclassifier/TextClassifierEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/view/textclassifier/TextClassificationManager;->lambda$getSettings$2$TextClassificationManager()Ljava/lang/String;
+HPLandroid/view/textclassifier/TextClassificationSessionId;-><init>(Ljava/lang/String;)V
HSPLandroid/view/textclassifier/TextClassifierImpl;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;Landroid/view/textclassifier/TextClassifier;)V
-HPLandroid/view/textclassifier/TextClassifierImpl;->createConversationActionResult(Landroid/view/textclassifier/ConversationActions$Request;[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;)Landroid/view/textclassifier/ConversationActions;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->detectLanguage(Landroid/view/textclassifier/TextLanguage$Request;)Landroid/view/textclassifier/TextLanguage;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->detectLanguageTagsFromText(Ljava/lang/CharSequence;)Ljava/lang/String;
-HPLandroid/view/textclassifier/TextClassifierImpl;->getActionsImpl()Lcom/google/android/textclassifier/ActionsSuggestionsModel;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->getAnnotatorImpl(Landroid/os/LocaleList;)Lcom/google/android/textclassifier/AnnotatorModel;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->getLangIdThreshold()F
-HSPLandroid/view/textclassifier/TextClassifierImpl;->getResourceLocalesString()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->maybeCloseAndLogError(Landroid/os/ParcelFileDescriptor;)V
-HPLandroid/view/textclassifier/TextClassifierImpl;->resolveActionTypesFromRequest(Landroid/view/textclassifier/ConversationActions$Request;)Ljava/util/Collection;
-HPLandroid/view/textclassifier/TextClassifierImpl;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
-HSPLandroid/view/textclassifier/TextLanguage$1;-><init>()V
-HSPLandroid/view/textclassifier/TextLanguage$Builder;-><init>()V
-HSPLandroid/view/textclassifier/TextLanguage$Builder;->build()Landroid/view/textclassifier/TextLanguage;
-HSPLandroid/view/textclassifier/TextLanguage$Builder;->putLocale(Landroid/icu/util/ULocale;F)Landroid/view/textclassifier/TextLanguage$Builder;
-HSPLandroid/view/textclassifier/TextLanguage$Request$1;-><init>()V
-HSPLandroid/view/textclassifier/TextSelection$1;-><init>()V
-PLandroid/view/textclassifier/intent/-$$Lambda$LabeledIntent$LaL7EfxShgNu4lrdo3mv85g49Jg;-><init>()V
-PLandroid/view/textclassifier/intent/LabeledIntent;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;I)V
-PLandroid/view/textclassifier/intent/LabeledIntent;->resolve(Landroid/content/Context;Landroid/view/textclassifier/intent/LabeledIntent$TitleChooser;Landroid/os/Bundle;)Landroid/view/textclassifier/intent/LabeledIntent$Result;
-HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->create([Lcom/google/android/textclassifier/RemoteActionTemplate;)Ljava/util/List;
-HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->createIntent(Lcom/google/android/textclassifier/RemoteActionTemplate;)Landroid/content/Intent;
-HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->isValidTemplate(Lcom/google/android/textclassifier/RemoteActionTemplate;)Z
-HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->nameVariantsToBundle([Lcom/google/android/textclassifier/NamedVariant;)Landroid/os/Bundle;
-HSPLandroid/view/textservice/SpellCheckerInfo$1;-><init>()V
-HSPLandroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
-HPLandroid/view/textservice/SpellCheckerInfo;->getComponent()Landroid/content/ComponentName;
-HPLandroid/view/textservice/SpellCheckerInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/view/textservice/SpellCheckerInfo;->getSubtypeAt(I)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLandroid/view/textservice/SpellCheckerInfo;->getSubtypeCount()I
-HSPLandroid/view/textservice/SpellCheckerSubtype$1;-><init>()V
-HSPLandroid/view/textservice/SpellCheckerSubtype$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLandroid/view/textservice/SpellCheckerSubtype$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textservice/SpellCheckerSubtype;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/view/textservice/SpellCheckerSubtype;-><init>(Landroid/os/Parcel;)V
-HPLandroid/view/textservice/SpellCheckerSubtype;->getLocaleObject()Ljava/util/Locale;
-HPLandroid/view/textservice/SpellCheckerSubtype;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/textservice/TextServicesManager;->createInstance(Landroid/content/Context;)Landroid/view/textservice/TextServicesManager;
-HSPLandroid/view/textservice/TextServicesManager;->getCurrentSpellCheckerSubtype(Z)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLandroid/webkit/-$$Lambda$xYTrYQCPf1HcdlWzDof3mq93ihs;-><init>()V
-HSPLandroid/webkit/-$$Lambda$xYTrYQCPf1HcdlWzDof3mq93ihs;->run()V
-HSPLandroid/webkit/ConsoleMessage$MessageLevel;-><init>(Ljava/lang/String;I)V
+HSPLandroid/view/textclassifier/TextLinks$Request;-><init>(Ljava/lang/CharSequence;Landroid/os/LocaleList;Landroid/view/textclassifier/TextClassifier$EntityConfig;ZLandroid/os/Bundle;)V
+HSPLandroid/view/textclassifier/TextLinks$Request;->setCallingPackageName(Ljava/lang/String;)V
+HSPLandroid/view/textclassifier/TextLinks$Request;->setUserId(I)V
+HSPLandroid/webkit/CookieManager;-><init>()V
HSPLandroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
-HSPLandroid/webkit/CookieSyncManager;->checkInstanceIsAllowed()V
-HSPLandroid/webkit/CookieSyncManager;->createInstance(Landroid/content/Context;)Landroid/webkit/CookieSyncManager;
-HSPLandroid/webkit/CookieSyncManager;->getInstance()Landroid/webkit/CookieSyncManager;
HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->isMultiProcessEnabled()Z
HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-HSPLandroid/webkit/IWebViewUpdateService$Stub;-><init>()V
-HSPLandroid/webkit/IWebViewUpdateService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/webkit/URLUtil;->isValidUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/UserPackage;->getPackageInfo()Landroid/content/pm/PackageInfo;
-HSPLandroid/webkit/UserPackage;->getPackageInfosAllUsers(Landroid/content/Context;Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/webkit/UserPackage;->hasCorrectTargetSdkVersion(Landroid/content/pm/PackageInfo;)Z
-HSPLandroid/webkit/UserPackage;->isEnabledPackage()Z
-HSPLandroid/webkit/UserPackage;->isInstalledPackage()Z
HSPLandroid/webkit/WebViewDelegate;->getApplication()Landroid/app/Application;
HSPLandroid/webkit/WebViewDelegate;->getDataDirectorySuffix()Ljava/lang/String;
HSPLandroid/webkit/WebViewDelegate;->getPackageId(Landroid/content/res/Resources;Ljava/lang/String;)I
HSPLandroid/webkit/WebViewDelegate;->isMultiProcessEnabled()Z
-HSPLandroid/webkit/WebViewFactory;->fixupStubApplicationInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)V
HSPLandroid/webkit/WebViewFactory;->getDataDirectorySuffix()Ljava/lang/String;
HSPLandroid/webkit/WebViewFactory;->getLoadedPackageInfo()Landroid/content/pm/PackageInfo;
HSPLandroid/webkit/WebViewFactory;->getProvider()Landroid/webkit/WebViewFactoryProvider;
HSPLandroid/webkit/WebViewFactory;->getProviderClass()Ljava/lang/Class;
HSPLandroid/webkit/WebViewFactory;->getWebViewContextAndSetProvider()Landroid/content/Context;
-HSPLandroid/webkit/WebViewFactory;->getWebViewLibrary(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
-HSPLandroid/webkit/WebViewFactory;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
HSPLandroid/webkit/WebViewFactory;->prepareWebViewInZygote()V
HSPLandroid/webkit/WebViewFactory;->signaturesEquals([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
HSPLandroid/webkit/WebViewFactory;->verifyPackageInfo(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;)V
-HSPLandroid/webkit/WebViewLibraryLoader;->createRelroFile(ZLjava/lang/String;Ljava/lang/String;)V
HSPLandroid/webkit/WebViewLibraryLoader;->loadNativeLibrary(Ljava/lang/ClassLoader;Ljava/lang/String;)I
HSPLandroid/webkit/WebViewLibraryLoader;->reserveAddressSpaceInZygote()V
-HSPLandroid/webkit/WebViewProviderInfo$1;-><init>()V
-HSPLandroid/webkit/WebViewProviderInfo;-><init>(Ljava/lang/String;Ljava/lang/String;ZZ[Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProviderResponse$1;-><init>()V
HSPLandroid/webkit/WebViewProviderResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/webkit/WebViewProviderResponse;
HSPLandroid/webkit/WebViewProviderResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/webkit/WebViewZygote;->connectToZygoteIfNeededLocked()V
-HPLandroid/webkit/WebViewZygote;->getPackageName()Ljava/lang/String;
-HSPLandroid/webkit/WebViewZygote;->getProcess()Landroid/os/ZygoteProcess;
-HPLandroid/webkit/WebViewZygote;->isMultiprocessEnabled()Z
-HSPLandroid/webkit/WebViewZygote;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;)V
-HSPLandroid/webkit/WebViewZygote;->setMultiprocessEnabled(Z)V
-HSPLandroid/widget/-$$Lambda$RemoteViews$xYCMzfQwRCAW2azHo-bWqQ9R0Wk;-><init>()V
-HSPLandroid/widget/-$$Lambda$SmartSelectSprite$c8eqlh2kO_X0luLU2BexwK921WA;-><init>()V
-HSPLandroid/widget/-$$Lambda$SmartSelectSprite$mdkXIT1_UNlJQMaziE_E815aIKE;-><init>()V
-HSPLandroid/widget/AbsListView$AdapterDataSetObserver;->onChanged()V
-HSPLandroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V
-HSPLandroid/widget/AbsListView$RecycleBin;->clear()V
-HSPLandroid/widget/AbsListView$RecycleBin;->clearTransientStateViews()V
-HSPLandroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V
-HSPLandroid/widget/AbsListView$RecycleBin;->getActiveView(I)Landroid/view/View;
-HSPLandroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View;
-HSPLandroid/widget/AbsListView$RecycleBin;->getTransientStateView(I)Landroid/view/View;
-HSPLandroid/widget/AbsListView$RecycleBin;->markChildrenDirty()V
-HSPLandroid/widget/AbsListView$RecycleBin;->pruneScrapViews()V
-HSPLandroid/widget/AbsListView$RecycleBin;->removeSkippedScrap()V
-HSPLandroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View;
-HSPLandroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V
-HSPLandroid/widget/AbsListView$RecycleBin;->setViewTypeCount(I)V
-HSPLandroid/widget/AbsListView$RecycleBin;->shouldRecycleViewType(I)Z
-HSPLandroid/widget/AbsListView$SavedState$1;-><init>()V
-HSPLandroid/widget/AbsListView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/AbsListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AbsListView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/AbsListView;->clearChoices()V
-HSPLandroid/widget/AbsListView;->computeVerticalScrollExtent()I
-HSPLandroid/widget/AbsListView;->computeVerticalScrollOffset()I
-HSPLandroid/widget/AbsListView;->computeVerticalScrollRange()I
-HSPLandroid/widget/AbsListView;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/AbsListView;->dispatchSetPressed(Z)V
-HSPLandroid/widget/AbsListView;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/AbsListView;->drawableStateChanged()V
-HSPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/AbsListView$LayoutParams;
-HSPLandroid/widget/AbsListView;->getVerticalScrollbarWidth()I
-HSPLandroid/widget/AbsListView;->handleBoundsChange()V
-HSPLandroid/widget/AbsListView;->handleDataChanged()V
-HSPLandroid/widget/AbsListView;->handleScrollBarDragging(Landroid/view/MotionEvent;)Z
-HSPLandroid/widget/AbsListView;->hideSelector()V
-HSPLandroid/widget/AbsListView;->initAbsListView()V
-HSPLandroid/widget/AbsListView;->internalSetPadding(IIII)V
-HSPLandroid/widget/AbsListView;->invokeOnItemScrollListener()V
-HSPLandroid/widget/AbsListView;->isFastScrollEnabled()Z
-HSPLandroid/widget/AbsListView;->isInFilterMode()Z
-HSPLandroid/widget/AbsListView;->isVerticalScrollBarHidden()Z
-HSPLandroid/widget/AbsListView;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View;
-HSPLandroid/widget/AbsListView;->onAttachedToWindow()V
-HSPLandroid/widget/AbsListView;->onDetachedFromWindow()V
-HSPLandroid/widget/AbsListView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/widget/AbsListView;->onLayout(ZIIII)V
-HSPLandroid/widget/AbsListView;->onMeasure(II)V
-HSPLandroid/widget/AbsListView;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/AbsListView;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/AbsListView;->onTouchDown(Landroid/view/MotionEvent;)V
-HSPLandroid/widget/AbsListView;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/widget/AbsListView;->onTouchModeChanged(Z)V
-HSPLandroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V
-HSPLandroid/widget/AbsListView;->onWindowFocusChanged(Z)V
-HSPLandroid/widget/AbsListView;->pointToPosition(II)I
-HSPLandroid/widget/AbsListView;->positionSelector(ILandroid/view/View;)V
-HSPLandroid/widget/AbsListView;->positionSelector(ILandroid/view/View;ZFF)V
-HSPLandroid/widget/AbsListView;->requestLayout()V
-HSPLandroid/widget/AbsListView;->resetList()V
-HSPLandroid/widget/AbsListView;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/AbsListView;->setChoiceMode(I)V
-HSPLandroid/widget/AbsListView;->setFastScrollAlwaysVisible(Z)V
-HSPLandroid/widget/AbsListView;->setFastScrollEnabled(Z)V
-HSPLandroid/widget/AbsListView;->setFastScrollStyle(I)V
-HSPLandroid/widget/AbsListView;->setFrame(IIII)Z
-HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V
-HSPLandroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
-HSPLandroid/widget/AbsListView;->setSelector(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/AbsListView;->setSmoothScrollbarEnabled(Z)V
-HSPLandroid/widget/AbsListView;->setStackFromBottom(Z)V
-HSPLandroid/widget/AbsListView;->setTextFilterEnabled(Z)V
-HSPLandroid/widget/AbsListView;->setTranscriptMode(I)V
-HSPLandroid/widget/AbsListView;->setVisibleRangeHint(II)V
-HSPLandroid/widget/AbsListView;->shouldShowSelector()Z
-HSPLandroid/widget/AbsListView;->touchModeDrawsInPressedState()Z
-HSPLandroid/widget/AbsListView;->updateScrollIndicators()V
-HSPLandroid/widget/AbsListView;->updateSelectorState()V
-HSPLandroid/widget/AbsListView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/AbsSeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AbsSeekBar;->applyThumbTint()V
-HSPLandroid/widget/AbsSeekBar;->applyTickMarkTint()V
-HSPLandroid/widget/AbsSeekBar;->drawThumb(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/AbsSeekBar;->drawTickMarks(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/AbsSeekBar;->drawTrack(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/AbsSeekBar;->drawableStateChanged()V
-HSPLandroid/widget/AbsSeekBar;->getThumbOffset()I
-HSPLandroid/widget/AbsSeekBar;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/AbsSeekBar;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/AbsSeekBar;->onMeasure(II)V
-HSPLandroid/widget/AbsSeekBar;->onResolveDrawables(I)V
-HSPLandroid/widget/AbsSeekBar;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/AbsSeekBar;->onSizeChanged(IIII)V
-HSPLandroid/widget/AbsSeekBar;->onVisualProgressChanged(IF)V
-HSPLandroid/widget/AbsSeekBar;->setKeyProgressIncrement(I)V
-HSPLandroid/widget/AbsSeekBar;->setMax(I)V
-HSPLandroid/widget/AbsSeekBar;->setMin(I)V
-HSPLandroid/widget/AbsSeekBar;->setThumb(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/AbsSeekBar;->setThumbOffset(I)V
-HSPLandroid/widget/AbsSeekBar;->setThumbPos(ILandroid/graphics/drawable/Drawable;FI)V
-HSPLandroid/widget/AbsSeekBar;->setTickMark(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/AbsSeekBar;->updateThumbAndTrackPos(II)V
-HSPLandroid/widget/AbsSeekBar;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/ActionMenuPresenter$2;->onViewDetachedFromWindow(Landroid/view/View;)V
-HSPLandroid/widget/ActionMenuPresenter;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/ActionMenuPresenter;->bindItemView(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
-HSPLandroid/widget/ActionMenuPresenter;->dismissPopupMenus()Z
-HSPLandroid/widget/ActionMenuPresenter;->flagActionItems()Z
-HSPLandroid/widget/ActionMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/ActionMenuPresenter;->hideOverflowMenu()Z
-HSPLandroid/widget/ActionMenuPresenter;->hideSubMenus()Z
-HSPLandroid/widget/ActionMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-HSPLandroid/widget/ActionMenuPresenter;->isOverflowMenuShowing()Z
-HSPLandroid/widget/ActionMenuPresenter;->setExpandedActionViewsExclusive(Z)V
-HSPLandroid/widget/ActionMenuPresenter;->setMenuView(Landroid/widget/ActionMenuView;)V
-HSPLandroid/widget/ActionMenuPresenter;->setReserveOverflow(Z)V
-HSPLandroid/widget/ActionMenuPresenter;->shouldIncludeItem(ILcom/android/internal/view/menu/MenuItemImpl;)Z
-HSPLandroid/widget/ActionMenuPresenter;->updateMenuView(Z)V
-HSPLandroid/widget/ActionMenuView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ActionMenuView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/ActionMenuView;->dismissPopupMenus()V
-HSPLandroid/widget/ActionMenuView;->generateDefaultLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
-HSPLandroid/widget/ActionMenuView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/ActionMenuView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/ActionMenuView$LayoutParams;
-HSPLandroid/widget/ActionMenuView;->generateOverflowButtonLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
-HSPLandroid/widget/ActionMenuView;->getMenu()Landroid/view/Menu;
-HSPLandroid/widget/ActionMenuView;->hasDividerBeforeChildAt(I)Z
-HSPLandroid/widget/ActionMenuView;->initialize(Lcom/android/internal/view/menu/MenuBuilder;)V
-HSPLandroid/widget/ActionMenuView;->isOverflowMenuShowing()Z
-HSPLandroid/widget/ActionMenuView;->onDetachedFromWindow()V
-HSPLandroid/widget/ActionMenuView;->onLayout(ZIIII)V
-HSPLandroid/widget/ActionMenuView;->onMeasure(II)V
-HSPLandroid/widget/ActionMenuView;->peekMenu()Lcom/android/internal/view/menu/MenuBuilder;
-HSPLandroid/widget/ActionMenuView;->setExpandedActionViewsExclusive(Z)V
-HSPLandroid/widget/ActionMenuView;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLandroid/widget/ActionMenuView;->setOnMenuItemClickListener(Landroid/widget/ActionMenuView$OnMenuItemClickListener;)V
-HSPLandroid/widget/ActionMenuView;->setOverflowReserved(Z)V
-HSPLandroid/widget/ActionMenuView;->setPopupTheme(I)V
-HSPLandroid/widget/AdapterView$AdapterDataSetObserver;->onChanged()V
-HSPLandroid/widget/AdapterView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AdapterView;->checkFocus()V
-HSPLandroid/widget/AdapterView;->checkSelectionChanged()V
-HSPLandroid/widget/AdapterView;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/widget/AdapterView;->getItemIdAtPosition(I)J
-HSPLandroid/widget/AdapterView;->getSelectedItemId()J
-HSPLandroid/widget/AdapterView;->rememberSyncState()V
-HSPLandroid/widget/AdapterView;->setFocusableInTouchMode(Z)V
-HSPLandroid/widget/AdapterView;->setNextSelectedPositionInt(I)V
-HSPLandroid/widget/AdapterView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
-HSPLandroid/widget/AdapterView;->setSelectedPositionInt(I)V
-HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;I)V
-HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;IILjava/util/List;Z)V
-HSPLandroid/widget/BaseAdapter;-><init>()V
-HSPLandroid/widget/BaseAdapter;->areAllItemsEnabled()Z
-HSPLandroid/widget/BaseAdapter;->getItemViewType(I)I
-HSPLandroid/widget/BaseAdapter;->getViewTypeCount()I
-HSPLandroid/widget/BaseAdapter;->hasStableIds()Z
-HSPLandroid/widget/BaseAdapter;->isEnabled(I)Z
-HSPLandroid/widget/BaseAdapter;->notifyDataSetChanged()V
-HSPLandroid/widget/BaseAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/BaseAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
HSPLandroid/widget/Button;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Button;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/Button;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/CheckBox;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Chronometer;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Chronometer;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/Chronometer;->onDetachedFromWindow()V
-HSPLandroid/widget/Chronometer;->onVisibilityChanged(Landroid/view/View;I)V
-HSPLandroid/widget/Chronometer;->onWindowVisibilityChanged(I)V
-HSPLandroid/widget/Chronometer;->setCountDown(Z)V
-HSPLandroid/widget/Chronometer;->setFormat(Ljava/lang/String;)V
-HSPLandroid/widget/Chronometer;->updateRunning()V
-HSPLandroid/widget/Chronometer;->updateText(J)V
-HSPLandroid/widget/CompoundButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/CompoundButton;->applyButtonTint()V
-HSPLandroid/widget/CompoundButton;->drawableStateChanged()V
-HSPLandroid/widget/CompoundButton;->getAutofillType()I
-HSPLandroid/widget/CompoundButton;->getCompoundPaddingLeft()I
-HSPLandroid/widget/CompoundButton;->getCompoundPaddingRight()I
-HSPLandroid/widget/CompoundButton;->getHorizontalOffsetForDrawables()I
-HSPLandroid/widget/CompoundButton;->isChecked()Z
-HSPLandroid/widget/CompoundButton;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/CompoundButton;->onCreateDrawableState(I)[I
-HSPLandroid/widget/CompoundButton;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/CompoundButton;->onResolveDrawables(I)V
-HSPLandroid/widget/CompoundButton;->setButtonDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/CompoundButton;->setChecked(Z)V
-HSPLandroid/widget/CompoundButton;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V
-HSPLandroid/widget/CompoundButton;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
HSPLandroid/widget/EdgeEffect;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
-HSPLandroid/widget/EdgeEffect;->finish()V
-HSPLandroid/widget/EdgeEffect;->isFinished()Z
-HSPLandroid/widget/EdgeEffect;->onAbsorb(I)V
-HSPLandroid/widget/EdgeEffect;->onPull(FF)V
-HSPLandroid/widget/EdgeEffect;->onRelease()V
-HSPLandroid/widget/EdgeEffect;->setSize(II)V
-HSPLandroid/widget/EdgeEffect;->update()V
-HSPLandroid/widget/EditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/EditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/EditText;->getDefaultEditable()Z
-HSPLandroid/widget/EditText;->getDefaultMovementMethod()Landroid/text/method/MovementMethod;
-HSPLandroid/widget/EditText;->getFreezesText()Z
-HSPLandroid/widget/EditText;->getText()Landroid/text/Editable;
-HSPLandroid/widget/EditText;->getText()Ljava/lang/CharSequence;
-HSPLandroid/widget/EditText;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
-HSPLandroid/widget/EditText;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V
-HSPLandroid/widget/EditText;->supportsAutoSizeText()Z
-HSPLandroid/widget/Editor$1;->run()V
-HSPLandroid/widget/Editor$2;->onDraw()V
-HSPLandroid/widget/Editor$Blink;->cancel()V
-HSPLandroid/widget/Editor$Blink;->run()V
-HSPLandroid/widget/Editor$Blink;->uncancel()V
-HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V
-HSPLandroid/widget/Editor$EditOperation$1;-><init>()V
-HSPLandroid/widget/Editor$EditOperation;-><init>(Landroid/widget/Editor;Ljava/lang/String;ILjava/lang/String;Z)V
-HSPLandroid/widget/Editor$EditOperation;->commit()V
-HSPLandroid/widget/Editor$EditOperation;->mergeInsertWith(Landroid/widget/Editor$EditOperation;)Z
-HSPLandroid/widget/Editor$InsertionPointCursorController;->hide()V
-HSPLandroid/widget/Editor$InsertionPointCursorController;->invalidateHandle()V
-HSPLandroid/widget/Editor$InsertionPointCursorController;->isActive()Z
-HSPLandroid/widget/Editor$InsertionPointCursorController;->isCursorBeingModified()Z
-HSPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V
HSPLandroid/widget/Editor$MagnifierMotionAnimator;-><init>(Landroid/widget/Magnifier;)V
-HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V
-HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z
-HSPLandroid/widget/Editor$PositionListener;->onScrollChanged()V
-HSPLandroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V
-HSPLandroid/widget/Editor$PositionListener;->updatePosition()V
HSPLandroid/widget/Editor$ProcessTextIntentActionsHandler;-><init>(Landroid/widget/Editor;)V
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->invalidateHandles()V
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->isCursorBeingModified()Z
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->isDragAcceleratorActive()Z
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->isSelectionStartDragged()Z
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->onDetached()V
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetDragAcceleratorState()V
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetTouchOffsets()V
-HSPLandroid/widget/Editor$SpanController;->hide()V
HSPLandroid/widget/Editor$SpanController;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/widget/Editor$SpanController;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
-HSPLandroid/widget/Editor$SpanController;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/widget/Editor$TextRenderNode;->needsRecord()Z
-HSPLandroid/widget/Editor$UndoInputFilter;->beginBatchEdit()V
-HSPLandroid/widget/Editor$UndoInputFilter;->canUndoEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Z
-HSPLandroid/widget/Editor$UndoInputFilter;->endBatchEdit()V
-HSPLandroid/widget/Editor$UndoInputFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
-HSPLandroid/widget/Editor$UndoInputFilter;->handleEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;IIZ)V
-HSPLandroid/widget/Editor$UndoInputFilter;->recordEdit(Landroid/widget/Editor$EditOperation;I)V
-HSPLandroid/widget/Editor$UndoInputFilter;->saveInstanceState(Landroid/os/Parcel;)V
HSPLandroid/widget/Editor;-><init>(Landroid/widget/TextView;)V
HSPLandroid/widget/Editor;->addSpanWatchers(Landroid/text/Spannable;)V
HSPLandroid/widget/Editor;->adjustInputType(ZZZZ)V
-HSPLandroid/widget/Editor;->beginBatchEdit()V
-HSPLandroid/widget/Editor;->clampHorizontalPosition(Landroid/graphics/drawable/Drawable;F)I
-HSPLandroid/widget/Editor;->createInputContentTypeIfNeeded()V
-HSPLandroid/widget/Editor;->createInputMethodStateIfNeeded()V
-HSPLandroid/widget/Editor;->discardTextDisplayLists()V
-HSPLandroid/widget/Editor;->downgradeEasyCorrectionSpans()V
-HSPLandroid/widget/Editor;->drawHardwareAccelerated(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
-HSPLandroid/widget/Editor;->drawHardwareAcceleratedInner(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I[I[IIII)I
-HSPLandroid/widget/Editor;->endBatchEdit()V
-HSPLandroid/widget/Editor;->ensureEndedBatchEdit()V
-HSPLandroid/widget/Editor;->ensureNoSelectionIfNonSelectable()V
-HSPLandroid/widget/Editor;->finishBatchEdit(Landroid/widget/Editor$InputMethodState;)V
HSPLandroid/widget/Editor;->forgetUndoRedo()V
-HSPLandroid/widget/Editor;->getAvailableDisplayListIndex([III)I
-HSPLandroid/widget/Editor;->getLastTapPosition()I
-HSPLandroid/widget/Editor;->getSelectionController()Landroid/widget/Editor$SelectionModifierCursorController;
-HSPLandroid/widget/Editor;->getTextActionMode()Landroid/view/ActionMode;
HSPLandroid/widget/Editor;->getTextView()Landroid/widget/TextView;
-HSPLandroid/widget/Editor;->hideCursorAndSpanControllers()V
HSPLandroid/widget/Editor;->hideInsertionPointCursorController()V
-HSPLandroid/widget/Editor;->invalidateHandlesAndActionMode()V
HSPLandroid/widget/Editor;->invalidateTextDisplayList()V
-HSPLandroid/widget/Editor;->invalidateTextDisplayList(Landroid/text/Layout;II)V
-HSPLandroid/widget/Editor;->loadCursorDrawable()V
-HSPLandroid/widget/Editor;->makeBlink()V
-HSPLandroid/widget/Editor;->onAttachedToWindow()V
-HSPLandroid/widget/Editor;->onDetachedFromWindow()V
-HSPLandroid/widget/Editor;->onDraw(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
-HSPLandroid/widget/Editor;->onFocusChanged(ZI)V
-HSPLandroid/widget/Editor;->onLocaleChanged()V
-HSPLandroid/widget/Editor;->onScreenStateChanged(I)V
-HSPLandroid/widget/Editor;->onScrollChanged()V
-HSPLandroid/widget/Editor;->onWindowFocusChanged(Z)V
HSPLandroid/widget/Editor;->prepareCursorControllers()V
-HSPLandroid/widget/Editor;->refreshTextActionMode()V
-HSPLandroid/widget/Editor;->reportExtractedText()Z
-HSPLandroid/widget/Editor;->saveInstanceState()Landroid/os/ParcelableParcel;
HSPLandroid/widget/Editor;->sendOnTextChanged(III)V
-HSPLandroid/widget/Editor;->sendUpdateSelection()V
-HSPLandroid/widget/Editor;->setFrame()V
-HSPLandroid/widget/Editor;->shouldBlink()Z
-HSPLandroid/widget/Editor;->shouldRenderCursor()Z
HSPLandroid/widget/Editor;->stopTextActionMode()V
-HSPLandroid/widget/Editor;->updateCursorPosition()V
-HSPLandroid/widget/Editor;->updateCursorPosition(IIF)V
HSPLandroid/widget/Editor;->updateSpellCheckSpans(IIZ)V
-HSPLandroid/widget/ForwardingListener;-><init>(Landroid/view/View;)V
-HSPLandroid/widget/ForwardingListener;->onViewAttachedToWindow(Landroid/view/View;)V
-HSPLandroid/widget/ForwardingListener;->onViewDetachedFromWindow(Landroid/view/View;)V
HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(II)V
-HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(III)V
-HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/FrameLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/FrameLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/FrameLayout;->generateDefaultLayoutParams()Landroid/widget/FrameLayout$LayoutParams;
HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams;
HSPLandroid/widget/FrameLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/FrameLayout;->getAccessibilityClassName()Ljava/lang/CharSequence;
HSPLandroid/widget/FrameLayout;->getPaddingLeftWithForeground()I
HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I
HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V
HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V
HSPLandroid/widget/FrameLayout;->onMeasure(II)V
HSPLandroid/widget/FrameLayout;->setForegroundGravity(I)V
-HSPLandroid/widget/FrameLayout;->setMeasureAllChildren(Z)V
-HSPLandroid/widget/FrameLayout;->shouldDelayChildPressedState()Z
-HSPLandroid/widget/GridLayout$1;-><init>()V
-HSPLandroid/widget/GridLayout$2;-><init>()V
-HSPLandroid/widget/GridLayout$3;-><init>()V
-HSPLandroid/widget/GridLayout$3;->getAlignmentValue(Landroid/view/View;II)I
-HSPLandroid/widget/GridLayout$3;->getGravityOffset(Landroid/view/View;I)I
-HSPLandroid/widget/GridLayout$4;-><init>()V
-HSPLandroid/widget/GridLayout$6;-><init>()V
-HSPLandroid/widget/GridLayout$7$1;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
-HSPLandroid/widget/GridLayout$7$1;->include(II)V
-HSPLandroid/widget/GridLayout$7$1;->reset()V
-HSPLandroid/widget/GridLayout$7$1;->size(Z)I
-HSPLandroid/widget/GridLayout$7;-><init>()V
-HSPLandroid/widget/GridLayout$7;->getAlignmentValue(Landroid/view/View;II)I
-HSPLandroid/widget/GridLayout$7;->getBounds()Landroid/widget/GridLayout$Bounds;
-HSPLandroid/widget/GridLayout$7;->getGravityOffset(Landroid/view/View;I)I
-HSPLandroid/widget/GridLayout$8;-><init>()V
-HSPLandroid/widget/GridLayout$8;->getAlignmentValue(Landroid/view/View;II)I
-HSPLandroid/widget/GridLayout$8;->getGravityOffset(Landroid/view/View;I)I
-HSPLandroid/widget/GridLayout$8;->getSizeInCell(Landroid/view/View;II)I
-HSPLandroid/widget/GridLayout$Alignment;->getBounds()Landroid/widget/GridLayout$Bounds;
-HSPLandroid/widget/GridLayout$Alignment;->getSizeInCell(Landroid/view/View;II)I
-HSPLandroid/widget/GridLayout$Assoc;->pack()Landroid/widget/GridLayout$PackedMap;
-HSPLandroid/widget/GridLayout$Axis$1;-><init>(Landroid/widget/GridLayout$Axis;[Landroid/widget/GridLayout$Arc;)V
-HSPLandroid/widget/GridLayout$Axis$1;->walk(I)V
-HSPLandroid/widget/GridLayout$Axis;-><init>(Landroid/widget/GridLayout;Z)V
-HSPLandroid/widget/GridLayout$Axis;->calculateMaxIndex()I
-HSPLandroid/widget/GridLayout$Axis;->computeGroupBounds()V
-HSPLandroid/widget/GridLayout$Axis;->computeHasWeights()Z
-HSPLandroid/widget/GridLayout$Axis;->computeLinks(Landroid/widget/GridLayout$PackedMap;Z)V
-HSPLandroid/widget/GridLayout$Axis;->computeLocations([I)V
-HSPLandroid/widget/GridLayout$Axis;->createArcs()[Landroid/widget/GridLayout$Arc;
-HSPLandroid/widget/GridLayout$Axis;->createGroupBounds()Landroid/widget/GridLayout$PackedMap;
-HSPLandroid/widget/GridLayout$Axis;->createLinks(Z)Landroid/widget/GridLayout$PackedMap;
-HSPLandroid/widget/GridLayout$Axis;->getGroupBounds()Landroid/widget/GridLayout$PackedMap;
-HSPLandroid/widget/GridLayout$Axis;->getLocations()[I
-HSPLandroid/widget/GridLayout$Axis;->getMeasure(I)I
-HSPLandroid/widget/GridLayout$Axis;->groupArcsByFirstVertex([Landroid/widget/GridLayout$Arc;)[[Landroid/widget/GridLayout$Arc;
-HSPLandroid/widget/GridLayout$Axis;->include(Ljava/util/List;Landroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$MutableInt;Z)V
-HSPLandroid/widget/GridLayout$Axis;->layout(I)V
-HSPLandroid/widget/GridLayout$Axis;->setCount(I)V
-HSPLandroid/widget/GridLayout$Axis;->solve([Landroid/widget/GridLayout$Arc;[IZ)Z
-HSPLandroid/widget/GridLayout$Bounds;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
-HSPLandroid/widget/GridLayout$Bounds;->include(II)V
-HSPLandroid/widget/GridLayout$Bounds;->reset()V
-HSPLandroid/widget/GridLayout$Bounds;->size(Z)I
-HSPLandroid/widget/GridLayout$Interval;-><init>(II)V
-HSPLandroid/widget/GridLayout$Interval;->equals(Ljava/lang/Object;)Z
-HSPLandroid/widget/GridLayout$Interval;->hashCode()I
-HSPLandroid/widget/GridLayout$Interval;->size()I
-HSPLandroid/widget/GridLayout$LayoutParams;->hashCode()I
-HSPLandroid/widget/GridLayout$LayoutParams;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/GridLayout$LayoutParams;->reInitSuper(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/GridLayout$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
-HSPLandroid/widget/GridLayout$PackedMap;->compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
-HSPLandroid/widget/GridLayout$PackedMap;->createIndex([Ljava/lang/Object;)[I
-HSPLandroid/widget/GridLayout$PackedMap;->getValue(I)Ljava/lang/Object;
-HSPLandroid/widget/GridLayout$Spec;-><init>(ZIILandroid/widget/GridLayout$Alignment;F)V
-HSPLandroid/widget/GridLayout$Spec;-><init>(ZLandroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$Alignment;F)V
-HSPLandroid/widget/GridLayout$Spec;->access$100(Landroid/widget/GridLayout$Spec;Z)Landroid/widget/GridLayout$Alignment;
-HSPLandroid/widget/GridLayout$Spec;->equals(Ljava/lang/Object;)Z
-HSPLandroid/widget/GridLayout$Spec;->hashCode()I
-HSPLandroid/widget/GridLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/GridLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/GridLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/GridLayout;->checkLayoutParams(Landroid/widget/GridLayout$LayoutParams;Z)V
-HSPLandroid/widget/GridLayout;->computeLayoutParamsHashCode()I
-HSPLandroid/widget/GridLayout;->consistencyCheck()V
-HSPLandroid/widget/GridLayout;->createSwitchingAlignment(Landroid/widget/GridLayout$Alignment;Landroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Alignment;
-HSPLandroid/widget/GridLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/GridLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/GridLayout$LayoutParams;
-HSPLandroid/widget/GridLayout;->getAlignment(IZ)Landroid/widget/GridLayout$Alignment;
-HSPLandroid/widget/GridLayout;->getDefaultMargin(Landroid/view/View;Landroid/widget/GridLayout$LayoutParams;ZZ)I
-HSPLandroid/widget/GridLayout;->getLayoutParams(Landroid/view/View;)Landroid/widget/GridLayout$LayoutParams;
-HSPLandroid/widget/GridLayout;->getMargin(Landroid/view/View;ZZ)I
-HSPLandroid/widget/GridLayout;->getMargin1(Landroid/view/View;ZZ)I
-HSPLandroid/widget/GridLayout;->getMeasurement(Landroid/view/View;Z)I
-HSPLandroid/widget/GridLayout;->measureChildrenWithMargins(IIZ)V
-HSPLandroid/widget/GridLayout;->onChildVisibilityChanged(Landroid/view/View;II)V
-HSPLandroid/widget/GridLayout;->onLayout(ZIIII)V
-HSPLandroid/widget/GridLayout;->onMeasure(II)V
-HSPLandroid/widget/GridLayout;->onViewAdded(Landroid/view/View;)V
-HSPLandroid/widget/GridLayout;->requestLayout()V
-HSPLandroid/widget/GridLayout;->setAlignmentMode(I)V
-HSPLandroid/widget/GridLayout;->setColumnCount(I)V
-HSPLandroid/widget/GridLayout;->setColumnOrderPreserved(Z)V
-HSPLandroid/widget/GridLayout;->setOrientation(I)V
-HSPLandroid/widget/GridLayout;->setRowCount(I)V
-HSPLandroid/widget/GridLayout;->setRowOrderPreserved(Z)V
-HSPLandroid/widget/GridLayout;->setUseDefaultMargins(Z)V
-HSPLandroid/widget/GridLayout;->spec(I)Landroid/widget/GridLayout$Spec;
-HSPLandroid/widget/GridLayout;->validateLayoutParams()V
-HSPLandroid/widget/HorizontalScrollView$SavedState$1;-><init>()V
-HSPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/HorizontalScrollView;->computeScroll()V
-HSPLandroid/widget/HorizontalScrollView;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/HorizontalScrollView;->initScrollView()V
-HSPLandroid/widget/HorizontalScrollView;->measureChildWithMargins(Landroid/view/View;IIII)V
-HSPLandroid/widget/HorizontalScrollView;->onLayout(ZIIII)V
-HSPLandroid/widget/HorizontalScrollView;->onMeasure(II)V
-HSPLandroid/widget/HorizontalScrollView;->onSizeChanged(IIII)V
-HSPLandroid/widget/HorizontalScrollView;->requestLayout()V
-HSPLandroid/widget/HorizontalScrollView;->scrollTo(II)V
-HSPLandroid/widget/HorizontalScrollView;->setFillViewport(Z)V
HSPLandroid/widget/ImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/ImageButton;->onSetAlpha(I)Z
-HSPLandroid/widget/ImageView$ScaleType;-><init>(Ljava/lang/String;II)V
HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/ImageView;->applyImageTint()V
-HSPLandroid/widget/ImageView;->clearColorFilter()V
HSPLandroid/widget/ImageView;->configureBounds()V
-HSPLandroid/widget/ImageView;->drawableHotspotChanged(FF)V
HSPLandroid/widget/ImageView;->drawableStateChanged()V
HSPLandroid/widget/ImageView;->getBaseline()I
HSPLandroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
-HSPLandroid/widget/ImageView;->getScaleType()Landroid/widget/ImageView$ScaleType;
HSPLandroid/widget/ImageView;->hasOverlappingRendering()Z
HSPLandroid/widget/ImageView;->initImageView()V
HSPLandroid/widget/ImageView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
@@ -18866,60 +8055,31 @@ HSPLandroid/widget/ImageView;->isOpaque()Z
HSPLandroid/widget/ImageView;->jumpDrawablesToCurrentState()V
HSPLandroid/widget/ImageView;->onAttachedToWindow()V
HSPLandroid/widget/ImageView;->onCreateDrawableState(I)[I
-HSPLandroid/widget/ImageView;->onDetachedFromWindow()V
HSPLandroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V
HSPLandroid/widget/ImageView;->onMeasure(II)V
HSPLandroid/widget/ImageView;->onRtlPropertiesChanged(I)V
HSPLandroid/widget/ImageView;->onVisibilityAggregated(Z)V
-HSPLandroid/widget/ImageView;->resizeFromDrawable()V
-HSPLandroid/widget/ImageView;->resolveAdjustedSize(III)I
HSPLandroid/widget/ImageView;->resolveUri()V
HSPLandroid/widget/ImageView;->setAdjustViewBounds(Z)V
-HSPLandroid/widget/ImageView;->setAlpha(I)V
-HSPLandroid/widget/ImageView;->setColorFilter(I)V
-HSPLandroid/widget/ImageView;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/widget/ImageView;->setColorFilter(Landroid/graphics/ColorFilter;)V
-HSPLandroid/widget/ImageView;->setCropToPadding(Z)V
HSPLandroid/widget/ImageView;->setFrame(IIII)Z
-HSPLandroid/widget/ImageView;->setImageAlpha(I)V
-HSPLandroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
HSPLandroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ImageView;->setImageIcon(Landroid/graphics/drawable/Icon;)V
-HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
-HSPLandroid/widget/ImageView;->setImageResource(I)V
HSPLandroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/widget/ImageView;->setImageTintMode(Landroid/graphics/PorterDuff$Mode;)V
HSPLandroid/widget/ImageView;->setMaxHeight(I)V
HSPLandroid/widget/ImageView;->setMaxWidth(I)V
HSPLandroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
-HSPLandroid/widget/ImageView;->setSelected(Z)V
HSPLandroid/widget/ImageView;->setVisibility(I)V
HSPLandroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ImageView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(II)V
-HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V
-HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/LinearLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/LinearLayout;->forceUniformHeight(II)V
-HSPLandroid/widget/LinearLayout;->forceUniformWidth(II)V
-HSPLandroid/widget/LinearLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/LinearLayout;->generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;
HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;
-HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
-HSPLandroid/widget/LinearLayout;->getAccessibilityClassName()Ljava/lang/CharSequence;
HSPLandroid/widget/LinearLayout;->getBaseline()I
HSPLandroid/widget/LinearLayout;->getChildrenSkipCount(Landroid/view/View;I)I
-HSPLandroid/widget/LinearLayout;->getDividerDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/LinearLayout;->getGravity()I
HSPLandroid/widget/LinearLayout;->getLocationOffset(Landroid/view/View;)I
HSPLandroid/widget/LinearLayout;->getNextLocationOffset(Landroid/view/View;)I
-HSPLandroid/widget/LinearLayout;->getOrientation()I
HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;
HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I
HSPLandroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z
@@ -18937,164 +8097,52 @@ HSPLandroid/widget/LinearLayout;->setChildFrame(Landroid/view/View;IIII)V
HSPLandroid/widget/LinearLayout;->setDividerDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/LinearLayout;->setGravity(I)V
HSPLandroid/widget/LinearLayout;->setOrientation(I)V
-HSPLandroid/widget/LinearLayout;->shouldDelayChildPressedState()Z
-HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ListView;->adjustViewsUpOrDown()V
-HSPLandroid/widget/ListView;->clearRecycledState(Ljava/util/ArrayList;)V
-HSPLandroid/widget/ListView;->correctTooHigh(I)V
-HSPLandroid/widget/ListView;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ListView;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
-HSPLandroid/widget/ListView;->fillDown(II)Landroid/view/View;
-HSPLandroid/widget/ListView;->fillFromTop(I)Landroid/view/View;
-HSPLandroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
-HSPLandroid/widget/ListView;->fillUp(II)Landroid/view/View;
-HSPLandroid/widget/ListView;->findMotionRow(I)I
-HSPLandroid/widget/ListView;->findViewInHeadersOrFooters(Ljava/util/ArrayList;I)Landroid/view/View;
-HSPLandroid/widget/ListView;->findViewTraversal(I)Landroid/view/View;
-HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/Adapter;
-HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;
-HSPLandroid/widget/ListView;->isOpaque()Z
-HSPLandroid/widget/ListView;->layoutChildren()V
-HSPLandroid/widget/ListView;->lookForSelectablePosition(IZ)I
-HSPLandroid/widget/ListView;->makeAndAddView(IIZIZ)Landroid/view/View;
-HSPLandroid/widget/ListView;->onDetachedFromWindow()V
-HSPLandroid/widget/ListView;->onFinishInflate()V
-HSPLandroid/widget/ListView;->onMeasure(II)V
-HSPLandroid/widget/ListView;->onSizeChanged(IIII)V
-HSPLandroid/widget/ListView;->removeUnusedFixedViews(Ljava/util/List;)V
-HSPLandroid/widget/ListView;->resetList()V
-HSPLandroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/ListView;->setCacheColorHint(I)V
-HSPLandroid/widget/ListView;->setDivider(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V
+HSPLandroid/widget/Magnifier$Builder;-><init>(Landroid/view/View;)V
+HSPLandroid/widget/Magnifier$Builder;->access$002(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$1002(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$102(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$1102(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$1202(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$202(Landroid/widget/Magnifier$Builder;F)F
+HSPLandroid/widget/Magnifier$Builder;->access$302(Landroid/widget/Magnifier$Builder;F)F
+HSPLandroid/widget/Magnifier$Builder;->access$402(Landroid/widget/Magnifier$Builder;F)F
+HSPLandroid/widget/Magnifier$Builder;->access$502(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$602(Landroid/widget/Magnifier$Builder;I)I
+HSPLandroid/widget/Magnifier$Builder;->access$702(Landroid/widget/Magnifier$Builder;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/Magnifier$Builder;->access$802(Landroid/widget/Magnifier$Builder;Z)Z
+HSPLandroid/widget/Magnifier$Builder;->access$902(Landroid/widget/Magnifier$Builder;I)I
HSPLandroid/widget/Magnifier$Builder;->applyDefaults()V
+HSPLandroid/widget/Magnifier;-><clinit>()V
HSPLandroid/widget/Magnifier;-><init>(Landroid/widget/Magnifier$Builder;)V
HSPLandroid/widget/Magnifier;->createBuilderWithOldMagnifierDefaults(Landroid/view/View;)Landroid/widget/Magnifier$Builder;
-HSPLandroid/widget/Magnifier;->update()V
+HSPLandroid/widget/Magnifier;->getDeviceDefaultDialogCornerRadius(Landroid/content/Context;)F
HSPLandroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/OverScroller$SplineOverScroller;->continueWhenFinished()Z
HSPLandroid/widget/OverScroller$SplineOverScroller;->finish()V
-HSPLandroid/widget/OverScroller$SplineOverScroller;->fling(IIIII)V
-HSPLandroid/widget/OverScroller$SplineOverScroller;->springback(III)Z
-HSPLandroid/widget/OverScroller$SplineOverScroller;->update()Z
-HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V
HSPLandroid/widget/OverScroller;->abortAnimation()V
-HSPLandroid/widget/OverScroller;->computeScrollOffset()Z
-HSPLandroid/widget/OverScroller;->fling(IIIIIIII)V
-HSPLandroid/widget/OverScroller;->fling(IIIIIIIIII)V
-HSPLandroid/widget/OverScroller;->forceFinished(Z)V
-HSPLandroid/widget/OverScroller;->getCurrVelocity()F
-HSPLandroid/widget/OverScroller;->getCurrX()I
-HSPLandroid/widget/OverScroller;->getCurrY()I
-HSPLandroid/widget/OverScroller;->getDuration()I
-HSPLandroid/widget/OverScroller;->getFinalX()I
-HSPLandroid/widget/OverScroller;->getFinalY()I
-HSPLandroid/widget/OverScroller;->isFinished()Z
-HSPLandroid/widget/OverScroller;->springBack(IIIIII)Z
-HSPLandroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;III)V
-HSPLandroid/widget/PopupMenu;->getMenu()Landroid/view/Menu;
-HSPLandroid/widget/PopupMenu;->getMenuInflater()Landroid/view/MenuInflater;
-HSPLandroid/widget/PopupMenu;->inflate(I)V
-HSPLandroid/widget/PopupMenu;->setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/PopupWindow;->dismiss()V
-HSPLandroid/widget/PopupWindow;->getTransition(I)Landroid/transition/Transition;
-HSPLandroid/widget/PopupWindow;->isShowing()Z
-HSPLandroid/widget/PopupWindow;->setAttachedInDecor(Z)V
-HSPLandroid/widget/PopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/PopupWindow;->setContentView(Landroid/view/View;)V
-HSPLandroid/widget/PopupWindow;->setEnterTransition(Landroid/transition/Transition;)V
-HSPLandroid/widget/PopupWindow;->setExitTransition(Landroid/transition/Transition;)V
-HSPLandroid/widget/PopupWindow;->setFocusable(Z)V
-HSPLandroid/widget/PopupWindow;->setInputMethodMode(I)V
-HSPLandroid/widget/ProgressBar$SavedState$1;-><init>()V
-HSPLandroid/widget/ProgressBar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ProgressBar;->applyIndeterminateTint()V
-HSPLandroid/widget/ProgressBar;->applyPrimaryProgressTint()V
-HSPLandroid/widget/ProgressBar;->doRefreshProgress(IIZZZ)V
-HSPLandroid/widget/ProgressBar;->drawTrack(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ProgressBar;->drawableStateChanged()V
-HSPLandroid/widget/ProgressBar;->getCurrentDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ProgressBar;->getIndeterminateDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ProgressBar;->getMax()I
-HSPLandroid/widget/ProgressBar;->getMin()I
-HSPLandroid/widget/ProgressBar;->getProgress()I
-HSPLandroid/widget/ProgressBar;->getProgressDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ProgressBar;->initProgressBar()V
-HSPLandroid/widget/ProgressBar;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ProgressBar;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/ProgressBar;->needsTileify(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/ProgressBar;->onAttachedToWindow()V
-HSPLandroid/widget/ProgressBar;->onDetachedFromWindow()V
-HSPLandroid/widget/ProgressBar;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ProgressBar;->onMeasure(II)V
-HSPLandroid/widget/ProgressBar;->onProgressRefresh(FZI)V
-HSPLandroid/widget/ProgressBar;->onResolveDrawables(I)V
-HSPLandroid/widget/ProgressBar;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/ProgressBar;->onSizeChanged(IIII)V
-HSPLandroid/widget/ProgressBar;->onVisibilityAggregated(Z)V
-HSPLandroid/widget/ProgressBar;->onVisualProgressChanged(IF)V
-HSPLandroid/widget/ProgressBar;->postInvalidate()V
-HSPLandroid/widget/ProgressBar;->refreshProgress(IIZZ)V
-HSPLandroid/widget/ProgressBar;->setIndeterminate(Z)V
-HSPLandroid/widget/ProgressBar;->setIndeterminateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ProgressBar;->setInterpolator(Landroid/content/Context;I)V
-HSPLandroid/widget/ProgressBar;->setInterpolator(Landroid/view/animation/Interpolator;)V
-HSPLandroid/widget/ProgressBar;->setMax(I)V
-HSPLandroid/widget/ProgressBar;->setMin(I)V
-HSPLandroid/widget/ProgressBar;->setProgress(I)V
-HSPLandroid/widget/ProgressBar;->setProgressDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ProgressBar;->setProgressInternal(IZZ)Z
-HSPLandroid/widget/ProgressBar;->setSecondaryProgress(I)V
-HSPLandroid/widget/ProgressBar;->setVisualProgress(IF)V
-HSPLandroid/widget/ProgressBar;->startAnimation()V
-HSPLandroid/widget/ProgressBar;->stopAnimation()V
-HSPLandroid/widget/ProgressBar;->swapCurrentDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ProgressBar;->updateDrawableBounds(II)V
-HSPLandroid/widget/ProgressBar;->updateDrawableState()V
-HSPLandroid/widget/ProgressBar;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/RelativeLayout$DependencyGraph$Node;->release()V
HSPLandroid/widget/RelativeLayout$DependencyGraph;->add(Landroid/view/View;)V
HSPLandroid/widget/RelativeLayout$DependencyGraph;->clear()V
HSPLandroid/widget/RelativeLayout$DependencyGraph;->findRoots([I)Ljava/util/ArrayDeque;
HSPLandroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[I)V
-HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(II)V
HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$100(Landroid/widget/RelativeLayout$LayoutParams;)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->access$112(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$200(Landroid/widget/RelativeLayout$LayoutParams;)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->access$212(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$300(Landroid/widget/RelativeLayout$LayoutParams;)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->access$302(Landroid/widget/RelativeLayout$LayoutParams;I)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->access$312(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$400(Landroid/widget/RelativeLayout$LayoutParams;)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->access$402(Landroid/widget/RelativeLayout$LayoutParams;I)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->access$412(Landroid/widget/RelativeLayout$LayoutParams;I)I
-HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(I)V
-HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(II)V
HSPLandroid/widget/RelativeLayout$LayoutParams;->getRules()[I
HSPLandroid/widget/RelativeLayout$LayoutParams;->getRules(I)[I
HSPLandroid/widget/RelativeLayout$LayoutParams;->hasRelativeRules()Z
HSPLandroid/widget/RelativeLayout$LayoutParams;->resolveLayoutDirection(I)V
HSPLandroid/widget/RelativeLayout$LayoutParams;->resolveRules(I)V
-HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/RelativeLayout;->applyHorizontalSizeRules(Landroid/widget/RelativeLayout$LayoutParams;I[I)V
HSPLandroid/widget/RelativeLayout;->applyVerticalSizeRules(Landroid/widget/RelativeLayout$LayoutParams;II)V
-HSPLandroid/widget/RelativeLayout;->centerHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
-HSPLandroid/widget/RelativeLayout;->centerVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
HSPLandroid/widget/RelativeLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
HSPLandroid/widget/RelativeLayout;->compareLayoutPosition(Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;)I
HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RelativeLayout$LayoutParams;
-HSPLandroid/widget/RelativeLayout;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/RelativeLayout;->getBaseline()I
HSPLandroid/widget/RelativeLayout;->getChildMeasureSpec(IIIIIIII)I
HSPLandroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View;
HSPLandroid/widget/RelativeLayout;->getRelatedViewBaselineOffset([I)I
@@ -19103,372 +8151,114 @@ HSPLandroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/wid
HSPLandroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V
HSPLandroid/widget/RelativeLayout;->onLayout(ZIIII)V
HSPLandroid/widget/RelativeLayout;->onMeasure(II)V
-HSPLandroid/widget/RelativeLayout;->positionAtEdge(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
HSPLandroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z
HSPLandroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z
HSPLandroid/widget/RelativeLayout;->requestLayout()V
-HSPLandroid/widget/RelativeLayout;->setGravity(I)V
-HSPLandroid/widget/RelativeLayout;->shouldDelayChildPressedState()Z
HSPLandroid/widget/RelativeLayout;->sortChildren()V
-HSPLandroid/widget/RemoteViews$1;-><init>()V
-HSPLandroid/widget/RemoteViews$2;-><init>()V
-HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/RemoteViews;
-HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/widget/RemoteViews$Action;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/widget/RemoteViews$Action;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-HPLandroid/widget/RemoteViews$Action;->visitUris(Ljava/util/function/Consumer;)V
-HSPLandroid/widget/RemoteViews$BitmapCache;->getBitmapForId(I)Landroid/graphics/Bitmap;
-HSPLandroid/widget/RemoteViews$BitmapCache;->getBitmapId(Landroid/graphics/Bitmap;)I
-HPLandroid/widget/RemoteViews$BitmapCache;->getBitmapMemory()I
-HSPLandroid/widget/RemoteViews$BitmapCache;->writeBitmapsToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$BitmapReflectionAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
-HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->getActionTag()I
-HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$MethodKey;-><init>()V
-HSPLandroid/widget/RemoteViews$MethodKey;->equals(Ljava/lang/Object;)Z
-HSPLandroid/widget/RemoteViews$MethodKey;->hashCode()I
-HSPLandroid/widget/RemoteViews$MethodKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V
-HSPLandroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
-HSPLandroid/widget/RemoteViews$ReflectionAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews$ReflectionAction;->getActionTag()I
-HSPLandroid/widget/RemoteViews$ReflectionAction;->getParameterType()Ljava/lang/Class;
-HPLandroid/widget/RemoteViews$ReflectionAction;->visitUris(Ljava/util/function/Consumer;)V
-HSPLandroid/widget/RemoteViews$ReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$RemoteResponse;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/widget/RemoteViews$RemoteResponse;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$RemoteViewsContextWrapper;->getResources()Landroid/content/res/Resources;
-HSPLandroid/widget/RemoteViews$RemoteViewsContextWrapper;->getTheme()Landroid/content/res/Resources$Theme;
-HSPLandroid/widget/RemoteViews$SetOnClickResponse;->getActionTag()I
-HSPLandroid/widget/RemoteViews$SetOnClickResponse;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$TextViewSizeAction;->getActionTag()I
-HSPLandroid/widget/RemoteViews$TextViewSizeAction;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$ViewGroupActionAdd;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
-HSPLandroid/widget/RemoteViews$ViewPaddingAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
-HSPLandroid/widget/RemoteViews$ViewPaddingAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews;-><init>(Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
-HSPLandroid/widget/RemoteViews;-><init>(Landroid/widget/RemoteViews;)V
-HSPLandroid/widget/RemoteViews;-><init>(Ljava/lang/String;I)V
-HSPLandroid/widget/RemoteViews;->addFlags(I)V
-HSPLandroid/widget/RemoteViews;->clone()Landroid/widget/RemoteViews;
-HPLandroid/widget/RemoteViews;->estimateMemoryUsage()I
-HSPLandroid/widget/RemoteViews;->getActionFromParcel(Landroid/os/Parcel;I)Landroid/widget/RemoteViews$Action;
-HSPLandroid/widget/RemoteViews;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/widget/RemoteViews;->getContextForResources(Landroid/content/Context;)Landroid/content/Context;
-HSPLandroid/widget/RemoteViews;->getLayoutId()I
-HSPLandroid/widget/RemoteViews;->getMethod(Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
-HSPLandroid/widget/RemoteViews;->getPackage()Ljava/lang/String;
-HSPLandroid/widget/RemoteViews;->hasFlags(I)Z
-HSPLandroid/widget/RemoteViews;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/widget/RemoteViews;->inflateView(Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;I)Landroid/view/View;
-HSPLandroid/widget/RemoteViews;->onLoadClass(Ljava/lang/Class;)Z
-HSPLandroid/widget/RemoteViews;->performApply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews;->setBitmap(ILjava/lang/String;Landroid/graphics/Bitmap;)V
-HSPLandroid/widget/RemoteViews;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-HSPLandroid/widget/RemoteViews;->setCharSequence(ILjava/lang/String;Ljava/lang/CharSequence;)V
-HSPLandroid/widget/RemoteViews;->setContentDescription(ILjava/lang/CharSequence;)V
-HSPLandroid/widget/RemoteViews;->setImageViewBitmap(ILandroid/graphics/Bitmap;)V
-HSPLandroid/widget/RemoteViews;->setInt(ILjava/lang/String;I)V
-HSPLandroid/widget/RemoteViews;->setNotRoot()V
-HSPLandroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V
-HSPLandroid/widget/RemoteViews;->setOnClickResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V
-HSPLandroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
-HSPLandroid/widget/RemoteViews;->setViewVisibility(II)V
-HPLandroid/widget/RemoteViews;->visitUris(Ljava/util/function/Consumer;)V
-HSPLandroid/widget/RemoteViews;->writeActionsToParcel(Landroid/os/Parcel;)V
-HSPLandroid/widget/RemoteViews;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RtlSpacingHelper;->getEnd()I
-HSPLandroid/widget/RtlSpacingHelper;->getStart()I
-HSPLandroid/widget/RtlSpacingHelper;->setAbsolute(II)V
-HSPLandroid/widget/RtlSpacingHelper;->setDirection(Z)V
-HSPLandroid/widget/RtlSpacingHelper;->setRelative(II)V
-HSPLandroid/widget/ScrollBarDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ScrollBarDrawable;->drawThumb(Landroid/graphics/Canvas;Landroid/graphics/Rect;IIZ)V
-HSPLandroid/widget/ScrollBarDrawable;->getSize(Z)I
-HSPLandroid/widget/ScrollBarDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ScrollBarDrawable;->isStateful()Z
-HSPLandroid/widget/ScrollBarDrawable;->mutate()Landroid/widget/ScrollBarDrawable;
-HSPLandroid/widget/ScrollBarDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/widget/ScrollBarDrawable;->onStateChange([I)Z
-HSPLandroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ScrollBarDrawable;->setAlpha(I)V
-HSPLandroid/widget/ScrollBarDrawable;->setAlwaysDrawVerticalTrack(Z)V
-HSPLandroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ScrollBarDrawable;->setHorizontalTrackDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ScrollBarDrawable;->setParameters(IIIZ)V
-HSPLandroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ScrollBarDrawable;->setVerticalTrackDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ScrollView$SavedState$1;-><init>()V
-HSPLandroid/widget/ScrollView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/ScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/ScrollView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/ScrollView;->computeScroll()V
-HSPLandroid/widget/ScrollView;->computeVerticalScrollOffset()I
-HSPLandroid/widget/ScrollView;->computeVerticalScrollRange()I
-HSPLandroid/widget/ScrollView;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ScrollView;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/ScrollView;->initScrollView()V
-HSPLandroid/widget/ScrollView;->measureChildWithMargins(Landroid/view/View;IIII)V
-HSPLandroid/widget/ScrollView;->onDetachedFromWindow()V
-HSPLandroid/widget/ScrollView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/widget/ScrollView;->onLayout(ZIIII)V
-HSPLandroid/widget/ScrollView;->onMeasure(II)V
-HSPLandroid/widget/ScrollView;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/ScrollView;->onSizeChanged(IIII)V
-HSPLandroid/widget/ScrollView;->requestLayout()V
-HSPLandroid/widget/ScrollView;->scrollTo(II)V
-HSPLandroid/widget/ScrollView;->setFillViewport(Z)V
-HSPLandroid/widget/ScrollView;->shouldDelayChildPressedState()Z
-HSPLandroid/widget/Scroller$ViscousFluidInterpolator;->viscousFluid(F)F
-HSPLandroid/widget/Scroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V
-HSPLandroid/widget/Scroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
-HSPLandroid/widget/Scroller;->computeScrollOffset()Z
-HSPLandroid/widget/Scroller;->isFinished()Z
-HSPLandroid/widget/SeekBar;->onProgressRefresh(FZI)V
-HSPLandroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
HSPLandroid/widget/SelectionActionModeHelper$TextClassificationHelper;->init(Ljava/util/function/Supplier;Ljava/lang/CharSequence;IILandroid/os/LocaleList;)V
HSPLandroid/widget/SelectionActionModeHelper;-><init>(Landroid/widget/Editor;)V
HSPLandroid/widget/SmartSelectSprite;-><init>(Landroid/content/Context;ILjava/lang/Runnable;)V
-HSPLandroid/widget/Space;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/Space;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Space;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/Space;->onMeasure(II)V
-HSPLandroid/widget/SpellChecker;-><init>(Landroid/widget/TextView;)V
-HSPLandroid/widget/SpellChecker;->closeSession()V
-HSPLandroid/widget/SpellChecker;->resetSession()V
-HSPLandroid/widget/SpellChecker;->spellCheck(II)V
-HSPLandroid/widget/Switch$1;-><init>(Ljava/lang/String;)V
-HSPLandroid/widget/Switch;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Switch;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/Switch;->drawableStateChanged()V
-HSPLandroid/widget/Switch;->getCompoundPaddingLeft()I
-HSPLandroid/widget/Switch;->getCompoundPaddingRight()I
-HSPLandroid/widget/Switch;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/Switch;->onCreateDrawableState(I)[I
-HSPLandroid/widget/Switch;->onLayout(ZIIII)V
-HSPLandroid/widget/Switch;->onMeasure(II)V
-HSPLandroid/widget/Switch;->setChecked(Z)V
-HSPLandroid/widget/Switch;->setSwitchTextAppearance(Landroid/content/Context;I)V
-HSPLandroid/widget/Switch;->setSwitchTypeface(Landroid/graphics/Typeface;)V
-HSPLandroid/widget/Switch;->setSwitchTypeface(Landroid/graphics/Typeface;I)V
-HSPLandroid/widget/Switch;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/TextView$3;->run()V
-HSPLandroid/widget/TextView$BufferType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/widget/TextView$ChangeWatcher;->afterTextChanged(Landroid/text/Editable;)V
-HSPLandroid/widget/TextView$ChangeWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
HSPLandroid/widget/TextView$ChangeWatcher;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/widget/TextView$ChangeWatcher;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
-HSPLandroid/widget/TextView$ChangeWatcher;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
-HSPLandroid/widget/TextView$ChangeWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/TextView$Drawables;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/TextView$Drawables;->applyErrorDrawableIfNeeded(I)V
-HSPLandroid/widget/TextView$Drawables;->hasMetadata()Z
-HSPLandroid/widget/TextView$Drawables;->resolveWithLayoutDirection(I)Z
-HSPLandroid/widget/TextView$SavedState$1;-><init>()V
-HSPLandroid/widget/TextView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>()V
HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>(Landroid/widget/TextView$1;)V
HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V
HSPLandroid/widget/TextView;->applyCompoundDrawableTint()V
HSPLandroid/widget/TextView;->applySingleLine(ZZZ)V
HSPLandroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V
-HSPLandroid/widget/TextView;->assumeLayout()V
HSPLandroid/widget/TextView;->autoSizeText()V
-HSPLandroid/widget/TextView;->beginBatchEdit()V
-HSPLandroid/widget/TextView;->bringPointIntoView(I)Z
-HSPLandroid/widget/TextView;->bringTextIntoView()Z
-HSPLandroid/widget/TextView;->canMarquee()Z
HSPLandroid/widget/TextView;->cancelLongPress()V
HSPLandroid/widget/TextView;->checkForRelayout()V
-HSPLandroid/widget/TextView;->checkForResize()V
-HSPLandroid/widget/TextView;->cleanupAutoSizePresetSizes([I)[I
-HSPLandroid/widget/TextView;->compressText(F)Z
HSPLandroid/widget/TextView;->computeScroll()V
-HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I
-HSPLandroid/widget/TextView;->computeVerticalScrollRange()I
-HSPLandroid/widget/TextView;->createEditorIfNeeded()V
HSPLandroid/widget/TextView;->desired(Landroid/text/Layout;)I
-HSPLandroid/widget/TextView;->drawableHotspotChanged(FF)V
HSPLandroid/widget/TextView;->drawableStateChanged()V
-HSPLandroid/widget/TextView;->endBatchEdit()V
-HSPLandroid/widget/TextView;->findLargestTextSizeWhichFits(Landroid/graphics/RectF;)I
-HSPLandroid/widget/TextView;->fixFocusableAndClickableSettings()V
-HSPLandroid/widget/TextView;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/TextView;->getAutoSizeStepGranularity()I
HSPLandroid/widget/TextView;->getAutofillType()I
HSPLandroid/widget/TextView;->getBaseline()I
HSPLandroid/widget/TextView;->getBaselineOffset()I
HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I
-HSPLandroid/widget/TextView;->getBreakStrategy()I
HSPLandroid/widget/TextView;->getCompoundPaddingBottom()I
HSPLandroid/widget/TextView;->getCompoundPaddingLeft()I
HSPLandroid/widget/TextView;->getCompoundPaddingRight()I
HSPLandroid/widget/TextView;->getCompoundPaddingTop()I
-HSPLandroid/widget/TextView;->getCurrentTextColor()I
HSPLandroid/widget/TextView;->getDefaultEditable()Z
HSPLandroid/widget/TextView;->getDefaultMovementMethod()Landroid/text/method/MovementMethod;
HSPLandroid/widget/TextView;->getDesiredHeight()I
HSPLandroid/widget/TextView;->getDesiredHeight(Landroid/text/Layout;Z)I
-HSPLandroid/widget/TextView;->getEditableText()Landroid/text/Editable;
-HSPLandroid/widget/TextView;->getEllipsize()Landroid/text/TextUtils$TruncateAt;
-HSPLandroid/widget/TextView;->getError()Ljava/lang/CharSequence;
HSPLandroid/widget/TextView;->getExtendedPaddingBottom()I
HSPLandroid/widget/TextView;->getExtendedPaddingTop()I
HSPLandroid/widget/TextView;->getFilters()[Landroid/text/InputFilter;
-HSPLandroid/widget/TextView;->getFocusedRect(Landroid/graphics/Rect;)V
-HSPLandroid/widget/TextView;->getFreezesText()Z
-HSPLandroid/widget/TextView;->getGravity()I
-HSPLandroid/widget/TextView;->getHint()Ljava/lang/CharSequence;
HSPLandroid/widget/TextView;->getHorizontalOffsetForDrawables()I
-HSPLandroid/widget/TextView;->getHorizontallyScrolling()Z
-HSPLandroid/widget/TextView;->getHyphenationFrequency()I
-HSPLandroid/widget/TextView;->getIncludeFontPadding()Z
-HSPLandroid/widget/TextView;->getInputType()I
-HSPLandroid/widget/TextView;->getInterestingRect(Landroid/graphics/Rect;I)V
-HSPLandroid/widget/TextView;->getJustificationMode()I
HSPLandroid/widget/TextView;->getKeyListener()Landroid/text/method/KeyListener;
-HSPLandroid/widget/TextView;->getLayout()Landroid/text/Layout;
HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment;
-HSPLandroid/widget/TextView;->getLineCount()I
-HSPLandroid/widget/TextView;->getLineHeight()I
-HSPLandroid/widget/TextView;->getLineSpacingExtra()F
-HSPLandroid/widget/TextView;->getLineSpacingMultiplier()F
-HSPLandroid/widget/TextView;->getMaxEms()I
-HSPLandroid/widget/TextView;->getMaxHeight()I
-HSPLandroid/widget/TextView;->getMaxLines()I
-HSPLandroid/widget/TextView;->getMaxWidth()I
-HSPLandroid/widget/TextView;->getMinEms()I
-HSPLandroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
HSPLandroid/widget/TextView;->getSelectionEnd()I
HSPLandroid/widget/TextView;->getSelectionStart()I
-HSPLandroid/widget/TextView;->getSpellCheckerLocale()Ljava/util/Locale;
HSPLandroid/widget/TextView;->getText()Ljava/lang/CharSequence;
-HSPLandroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList;
-HSPLandroid/widget/TextView;->getTextCursorDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;
HSPLandroid/widget/TextView;->getTextLocale()Ljava/util/Locale;
HSPLandroid/widget/TextView;->getTextLocales()Landroid/os/LocaleList;
-HSPLandroid/widget/TextView;->getTextServicesManagerForUser()Landroid/view/textservice/TextServicesManager;
-HSPLandroid/widget/TextView;->getTextSize()F
-HSPLandroid/widget/TextView;->getTotalPaddingLeft()I
-HSPLandroid/widget/TextView;->getTotalPaddingRight()I
-HSPLandroid/widget/TextView;->getTotalPaddingTop()I
HSPLandroid/widget/TextView;->getTransformationMethod()Landroid/text/method/TransformationMethod;
-HSPLandroid/widget/TextView;->getTypeface()Landroid/graphics/Typeface;
HSPLandroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path;
HSPLandroid/widget/TextView;->getVerticalOffset(Z)I
-HSPLandroid/widget/TextView;->handleTextChanged(Ljava/lang/CharSequence;III)V
HSPLandroid/widget/TextView;->hasOverlappingRendering()Z
HSPLandroid/widget/TextView;->hasPasswordTransformationMethod()Z
HSPLandroid/widget/TextView;->hasSelection()Z
-HSPLandroid/widget/TextView;->hideErrorIfUnchanged()V
-HSPLandroid/widget/TextView;->invalidateCursorPath()V
-HSPLandroid/widget/TextView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->invalidateRegion(IIZ)V
-HSPLandroid/widget/TextView;->isInExtractedMode()Z
-HSPLandroid/widget/TextView;->isInputMethodTarget()Z
-HSPLandroid/widget/TextView;->isMarqueeFadeEnabled()Z
HSPLandroid/widget/TextView;->isMultilineInputType(I)Z
HSPLandroid/widget/TextView;->isSuggestionsEnabled()Z
HSPLandroid/widget/TextView;->isTextEditable()Z
HSPLandroid/widget/TextView;->isTextSelectable()Z
HSPLandroid/widget/TextView;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/TextView;->length()I
HSPLandroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V
HSPLandroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;
HSPLandroid/widget/TextView;->notifyListeningManagersAfterTextChanged()V
HSPLandroid/widget/TextView;->nullLayouts()V
HSPLandroid/widget/TextView;->onAttachedToWindow()V
-HSPLandroid/widget/TextView;->onBeginBatchEdit()V
HSPLandroid/widget/TextView;->onCheckIsTextEditor()Z
-HSPLandroid/widget/TextView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I
-HSPLandroid/widget/TextView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
HSPLandroid/widget/TextView;->onDetachedFromWindowInternal()V
HSPLandroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/TextView;->onEndBatchEdit()V
-HSPLandroid/widget/TextView;->onFocusChanged(ZILandroid/graphics/Rect;)V
HSPLandroid/widget/TextView;->onLayout(ZIIII)V
-HSPLandroid/widget/TextView;->onLocaleChanged()V
HSPLandroid/widget/TextView;->onMeasure(II)V
-HSPLandroid/widget/TextView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/widget/TextView;->onPreDraw()Z
-HSPLandroid/widget/TextView;->onProvideStructure(Landroid/view/ViewStructure;II)V
HSPLandroid/widget/TextView;->onResolveDrawables(I)V
-HSPLandroid/widget/TextView;->onRestoreInstanceState(Landroid/os/Parcelable;)V
HSPLandroid/widget/TextView;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/TextView;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/TextView;->onScreenStateChanged(I)V
-HSPLandroid/widget/TextView;->onScrollChanged(IIII)V
-HSPLandroid/widget/TextView;->onSelectionChanged(II)V
HSPLandroid/widget/TextView;->onTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/TextView;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/widget/TextView;->onVisibilityChanged(Landroid/view/View;I)V
HSPLandroid/widget/TextView;->onWindowFocusChanged(Z)V
+HSPLandroid/widget/TextView;->preloadFontCache()V
HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V
HSPLandroid/widget/TextView;->registerForPreDraw()V
HSPLandroid/widget/TextView;->removeAdjacentSuggestionSpans(I)V
HSPLandroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V
-HSPLandroid/widget/TextView;->removeMisspelledSpans(Landroid/text/Spannable;)V
HSPLandroid/widget/TextView;->removeSuggestionSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/widget/TextView;->resetErrorChangedFlag()V
HSPLandroid/widget/TextView;->resetResolvedDrawables()V
HSPLandroid/widget/TextView;->restartMarqueeIfNeeded()V
HSPLandroid/widget/TextView;->sendAccessibilityEventInternal(I)V
-HSPLandroid/widget/TextView;->sendAfterTextChanged(Landroid/text/Editable;)V
HSPLandroid/widget/TextView;->sendBeforeTextChanged(Ljava/lang/CharSequence;III)V
HSPLandroid/widget/TextView;->sendOnTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithPresetSizes([II)V
HSPLandroid/widget/TextView;->setCompoundDrawablePadding(I)V
HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCursorVisible(Z)V
-HSPLandroid/widget/TextView;->setElegantTextHeight(Z)V
HSPLandroid/widget/TextView;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
-HSPLandroid/widget/TextView;->setEnabled(Z)V
HSPLandroid/widget/TextView;->setFilters(Landroid/text/Editable;[Landroid/text/InputFilter;)V
HSPLandroid/widget/TextView;->setFilters([Landroid/text/InputFilter;)V
HSPLandroid/widget/TextView;->setFrame(IIII)Z
HSPLandroid/widget/TextView;->setGravity(I)V
HSPLandroid/widget/TextView;->setHighlightColor(I)V
-HSPLandroid/widget/TextView;->setHint(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextView;->setHintInternal(Ljava/lang/CharSequence;)V
HSPLandroid/widget/TextView;->setHorizontallyScrolling(Z)V
HSPLandroid/widget/TextView;->setIncludeFontPadding(Z)V
-HSPLandroid/widget/TextView;->setInputType(I)V
HSPLandroid/widget/TextView;->setInputType(IZ)V
HSPLandroid/widget/TextView;->setInputTypeSingleLine(Z)V
-HSPLandroid/widget/TextView;->setKeyListenerOnly(Landroid/text/method/KeyListener;)V
HSPLandroid/widget/TextView;->setLetterSpacing(F)V
-HSPLandroid/widget/TextView;->setLineSpacing(FF)V
HSPLandroid/widget/TextView;->setLines(I)V
-HSPLandroid/widget/TextView;->setMaxEms(I)V
HSPLandroid/widget/TextView;->setMaxLines(I)V
-HSPLandroid/widget/TextView;->setMaxWidth(I)V
HSPLandroid/widget/TextView;->setMinHeight(I)V
-HSPLandroid/widget/TextView;->setMinLines(I)V
HSPLandroid/widget/TextView;->setMinWidth(I)V
-HSPLandroid/widget/TextView;->setMovementMethod(Landroid/text/method/MovementMethod;)V
-HSPLandroid/widget/TextView;->setOnEditorActionListener(Landroid/widget/TextView$OnEditorActionListener;)V
-HSPLandroid/widget/TextView;->setPadding(IIII)V
-HSPLandroid/widget/TextView;->setPaddingRelative(IIII)V
-HSPLandroid/widget/TextView;->setPrivateImeOptions(Ljava/lang/String;)V
HSPLandroid/widget/TextView;->setRawInputType(I)V
HSPLandroid/widget/TextView;->setRawTextSize(FZ)V
HSPLandroid/widget/TextView;->setRelativeDrawablesIfNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setSelected(Z)V
-HSPLandroid/widget/TextView;->setShadowLayer(FFFI)V
-HSPLandroid/widget/TextView;->setSingleLine()V
-HSPLandroid/widget/TextView;->setSingleLine(Z)V
-HSPLandroid/widget/TextView;->setText(I)V
HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V
HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V
@@ -19477,4789 +8267,369 @@ HSPLandroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V
HSPLandroid/widget/TextView;->setTextColor(I)V
HSPLandroid/widget/TextView;->setTextColor(Landroid/content/res/ColorStateList;)V
HSPLandroid/widget/TextView;->setTextInternal(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextView;->setTextIsSelectable(Z)V
HSPLandroid/widget/TextView;->setTextSize(IF)V
HSPLandroid/widget/TextView;->setTransformationMethod(Landroid/text/method/TransformationMethod;)V
HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V
HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V
HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V
-HSPLandroid/widget/TextView;->setupAutoSizeText()Z
-HSPLandroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z
-HSPLandroid/widget/TextView;->shouldAdvanceFocusOnEnter()Z
HSPLandroid/widget/TextView;->spanChange(Landroid/text/Spanned;Ljava/lang/Object;IIII)V
-HSPLandroid/widget/TextView;->startMarquee()V
HSPLandroid/widget/TextView;->stopMarquee()V
-HSPLandroid/widget/TextView;->stopTextActionMode()V
-HSPLandroid/widget/TextView;->suggestedSizeFitsInSpace(ILandroid/graphics/RectF;)Z
HSPLandroid/widget/TextView;->supportsAutoSizeText()Z
-HSPLandroid/widget/TextView;->textCanBeSelected()Z
-HSPLandroid/widget/TextView;->updateAfterEdit()V
HSPLandroid/widget/TextView;->updateTextColors()V
HSPLandroid/widget/TextView;->useDynamicLayout()Z
-HSPLandroid/widget/TextView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/TextView;->viewportToContentHorizontalOffset()I
-HSPLandroid/widget/TextView;->viewportToContentVerticalOffset()I
-HSPLandroid/widget/Toast$TN$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/widget/Toast$TN;-><init>(Ljava/lang/String;Landroid/os/Looper;)V
-HSPLandroid/widget/Toast$TN;->handleHide()V
-HSPLandroid/widget/Toast$TN;->handleShow(Landroid/os/IBinder;)V
-HSPLandroid/widget/Toast$TN;->hide()V
-HSPLandroid/widget/Toast$TN;->show(Landroid/os/IBinder;)V
-HSPLandroid/widget/Toast$TN;->trySendAccessibilityEvent()V
-HSPLandroid/widget/Toast;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
-HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
-HSPLandroid/widget/Toast;->show()V
-HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->flagActionItems()Z
-HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->updateMenuView(Z)V
-HSPLandroid/widget/Toolbar$SavedState$1;-><init>()V
-HSPLandroid/widget/Toolbar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/Toolbar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Toolbar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/Toolbar;->addCustomViewsWithGravity(Ljava/util/List;I)V
-HSPLandroid/widget/Toolbar;->addSystemView(Landroid/view/View;Z)V
-HSPLandroid/widget/Toolbar;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/Toolbar;->dismissPopupMenus()V
-HSPLandroid/widget/Toolbar;->ensureMenu()V
-HSPLandroid/widget/Toolbar;->ensureMenuView()V
-HSPLandroid/widget/Toolbar;->ensureNavButtonView()V
-HSPLandroid/widget/Toolbar;->generateDefaultLayoutParams()Landroid/widget/Toolbar$LayoutParams;
-HSPLandroid/widget/Toolbar;->getChildTop(Landroid/view/View;I)I
-HSPLandroid/widget/Toolbar;->getContentInsetEnd()I
-HSPLandroid/widget/Toolbar;->getContentInsetStart()I
-HSPLandroid/widget/Toolbar;->getCurrentContentInsetEnd()I
-HSPLandroid/widget/Toolbar;->getCurrentContentInsetLeft()I
-HSPLandroid/widget/Toolbar;->getCurrentContentInsetRight()I
-HSPLandroid/widget/Toolbar;->getCurrentContentInsetStart()I
-HSPLandroid/widget/Toolbar;->getMenu()Landroid/view/Menu;
-HSPLandroid/widget/Toolbar;->getNavigationContentDescription()Ljava/lang/CharSequence;
-HSPLandroid/widget/Toolbar;->getNavigationIcon()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/Toolbar;->getSubtitle()Ljava/lang/CharSequence;
-HSPLandroid/widget/Toolbar;->getTitle()Ljava/lang/CharSequence;
-HSPLandroid/widget/Toolbar;->getViewListMeasuredWidth(Ljava/util/List;[I)I
-HSPLandroid/widget/Toolbar;->getWrapper()Lcom/android/internal/widget/DecorToolbar;
-HSPLandroid/widget/Toolbar;->isOverflowMenuShowing()Z
-HSPLandroid/widget/Toolbar;->layoutChildLeft(Landroid/view/View;I[II)I
-HSPLandroid/widget/Toolbar;->layoutChildRight(Landroid/view/View;I[II)I
-HSPLandroid/widget/Toolbar;->measureChildCollapseMargins(Landroid/view/View;IIII[I)I
-HSPLandroid/widget/Toolbar;->measureChildConstrained(Landroid/view/View;IIIII)V
-HSPLandroid/widget/Toolbar;->onAttachedToWindow()V
-HSPLandroid/widget/Toolbar;->onDetachedFromWindow()V
-HSPLandroid/widget/Toolbar;->onLayout(ZIIII)V
-HSPLandroid/widget/Toolbar;->onMeasure(II)V
-HSPLandroid/widget/Toolbar;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/Toolbar;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/Toolbar;->setContentInsetsRelative(II)V
-HSPLandroid/widget/Toolbar;->setLogo(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/Toolbar;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLandroid/widget/Toolbar;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/Toolbar;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/Toolbar;->setNavigationOnClickListener(Landroid/view/View$OnClickListener;)V
-HSPLandroid/widget/Toolbar;->setOnMenuItemClickListener(Landroid/widget/Toolbar$OnMenuItemClickListener;)V
-HSPLandroid/widget/Toolbar;->setPopupTheme(I)V
-HSPLandroid/widget/Toolbar;->setSubtitle(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/Toolbar;->setSubtitleTextAppearance(Landroid/content/Context;I)V
-HSPLandroid/widget/Toolbar;->setTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/Toolbar;->setTitleTextAppearance(Landroid/content/Context;I)V
-HSPLandroid/widget/Toolbar;->shouldCollapse()Z
-HSPLandroid/widget/Toolbar;->shouldLayout(Landroid/view/View;)Z
-HSPLandroid/widget/ViewAnimator;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ViewAnimator;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/ViewAnimator;->getBaseline()I
-HSPLandroid/widget/ViewAnimator;->getCurrentView()Landroid/view/View;
-HSPLandroid/widget/ViewAnimator;->setAnimateFirstView(Z)V
-HSPLandroid/widget/ViewAnimator;->setDisplayedChild(I)V
-HSPLandroid/widget/ViewAnimator;->showOnly(I)V
-HSPLandroid/widget/ViewAnimator;->showOnly(IZ)V
-HSPLandroid/widget/ViewSwitcher;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/ViewSwitcher;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
-PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawVarint32()I
-PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
-PLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->checkNoSpaceLeft()V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeBoolSize(IZ)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt32Size(II)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt64Size(IJ)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSize(ILcom/android/framework/protobuf/nano/MessageNano;)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint64Size(J)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeStringSize(ILjava/lang/String;)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;[BII)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->encodedLength(Ljava/lang/CharSequence;)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeBool(IZ)V
-PLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeDouble(ID)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt32(II)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt32NoTag(I)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt64(IJ)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt64NoTag(J)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeMessage(ILcom/android/framework/protobuf/nano/MessageNano;)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeMessageNoTag(Lcom/android/framework/protobuf/nano/MessageNano;)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
-PLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint32(I)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint64(J)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeString(ILjava/lang/String;)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeStringNoTag(Ljava/lang/String;)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeTag(II)V
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeUInt32NoTag(I)V
-HPLcom/android/framework/protobuf/nano/MessageNano;->getCachedSize()I
-HPLcom/android/framework/protobuf/nano/MessageNano;->getSerializedSize()I
-HPLcom/android/framework/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/framework/protobuf/nano/MessageNano;[BII)Lcom/android/framework/protobuf/nano/MessageNano;
-HPLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;)[B
-HPLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;[BII)V
-HSPLcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet;->getCountryCodeSet()Ljava/util/Set;
-HSPLcom/android/i18n/phonenumbers/CountryCodeToRegionCodeMap;->getCountryCodeToRegionCodeMap()Ljava/util/Map;
-HSPLcom/android/i18n/phonenumbers/MetadataManager$1;-><init>()V
-HSPLcom/android/i18n/phonenumbers/MetadataManager$1;->loadMetadata(Ljava/lang/String;)Ljava/io/InputStream;
-HSPLcom/android/i18n/phonenumbers/MetadataManager;->getMetadataFromMultiFilePrefix(Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap;Ljava/lang/String;Lcom/android/i18n/phonenumbers/MetadataLoader;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/MetadataManager;->getMetadataFromSingleFileName(Ljava/lang/String;Lcom/android/i18n/phonenumbers/MetadataLoader;)Ljava/util/List;
-HSPLcom/android/i18n/phonenumbers/MetadataManager;->loadMetadataAndCloseInput(Ljava/io/InputStream;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadataCollection;
-HSPLcom/android/i18n/phonenumbers/MultiFileMetadataSourceImpl;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/NumberParseException$ErrorType;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$1;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$2;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$3;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$4;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;->values()[Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;->values()[Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;-><init>(Lcom/android/i18n/phonenumbers/MetadataSource;Ljava/util/Map;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->buildNationalNumberForParsing(Ljava/lang/String;Ljava/lang/StringBuilder;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->chooseFormattingPatternForNumber(Ljava/util/List;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->createExtnPattern(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->createInstance(Lcom/android/i18n/phonenumbers/MetadataLoader;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractCountryCode(Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)I
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractPossibleNumber(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->format(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->format(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatInOriginalFormat(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsn(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsnUsingPattern(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getCountryCodeForValidRegion(Ljava/lang/String;)I
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getInstance()Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNationalSignificantNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNddPrefixForRegion(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberDescByType(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberType(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForCountryCode(I)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasFormattingPatternForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
-HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberGeographical(Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;I)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumberForRegion(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeAppendFormattedExtension(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeExtractCountryCode(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Ljava/lang/StringBuilder;ZLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)I
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripExtension(Ljava/lang/StringBuilder;)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripInternationalPrefixAndNormalize(Ljava/lang/StringBuilder;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeStripNationalPrefixAndCarrierCode(Ljava/lang/StringBuilder;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Ljava/lang/StringBuilder;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalize(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeDigits(Ljava/lang/CharSequence;Z)Ljava/lang/StringBuilder;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->normalizeHelper(Ljava/lang/CharSequence;Ljava/util/Map;Z)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parse(Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parse(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseAndKeepRawInput(Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseAndKeepRawInput(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parseHelper(Ljava/lang/CharSequence;Ljava/lang/String;ZZLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->parsePrefixAsIdd(Ljava/util/regex/Pattern;Ljava/lang/StringBuilder;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->prefixNumberWithCountryCallingCode(ILcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->rawInputContainsNationalPrefix(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->setInstance(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->setItalianLeadingZerosForPhoneNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->testNumberLength(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getFormat()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getLeadingDigitsPattern(I)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getNationalPrefixFormattingRule()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getPattern()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->leadingDigitsPatternSize()I
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->readExternal(Ljava/io/ObjectInput;)V
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setFormat(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setNationalPrefixFormattingRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setNationalPrefixOptionalWhenFormatting(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setPattern(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;-><init>()V
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getCountryCode()I
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getFixedLine()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getGeneralDesc()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getInternationalPrefix()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getLeadingDigits()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getMobile()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefix()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefixForParsing()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefixTransformRule()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getPager()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getPersonalNumber()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getPremiumRate()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getSameMobileAndFixedLinePattern()Z
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getSharedCost()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getTollFree()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getUan()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getVoicemail()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getVoip()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasLeadingDigits()Z
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->intlNumberFormats()Ljava/util/List;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->numberFormats()Ljava/util/List;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->readExternal(Ljava/io/ObjectInput;)V
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setCountryCode(I)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setFixedLine(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setGeneralDesc(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setId(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setInternationalPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setLeadingDigits(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setLeadingZeroPossible(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMainCountryForCode(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMobile(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMobileNumberPortableRegion(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixForParsing(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixTransformRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNoInternationalDialling(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPager(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPersonalNumber(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPreferredExtnPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPremiumRate(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setSameMobileAndFixedLinePattern(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setSharedCost(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setTollFree(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setUan(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setVoicemail(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setVoip(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadataCollection;->getMetadataList()Ljava/util/List;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->getNationalNumberPattern()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->getPossibleLengthList()Ljava/util/List;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->getPossibleLengthLocalOnlyList()Ljava/util/List;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->readExternal(Ljava/io/ObjectInput;)V
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->setExampleNumber(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->setNationalNumberPattern(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;->values()[Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getCountryCode()I
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getCountryCodeSource()Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getNationalNumber()J
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getRawInput()Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCode()Z
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCodeSource()Z
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasExtension()Z
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasRawInput()Z
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->isItalianLeadingZero()Z
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCode(I)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCodeSource(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNationalNumber(J)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setRawInput(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HSPLcom/android/i18n/phonenumbers/ShortNumbersRegionCodeSet;->getRegionCodeSet()Ljava/util/Set;
-HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z
-HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z
-HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/i18n/phonenumbers/internal/RegexCache;->getPatternForRegex(Ljava/lang/String;)Ljava/util/regex/Pattern;
-HSPLcom/android/ims/-$$Lambda$ImsManager$Connector$1$QkUK3GnYms22eckyg3OL-BmtP3M;->run()V
-HSPLcom/android/ims/-$$Lambda$ImsManager$Connector$N5r1SvOgM0jfHDwKkcQbyw_uTP0;->run()V
-HSPLcom/android/ims/-$$Lambda$ImsManager$Connector$yM9scWJWjDp_h0yrkCgrjFZH5oI;->get()I
-HSPLcom/android/ims/-$$Lambda$ImsManager$D1JuJ3ba2jMHWDKlSpm03meBR1c;->run()V
-HSPLcom/android/ims/-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk;-><init>()V
-HSPLcom/android/ims/-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk;->executeRunnable(Ljava/lang/Runnable;)V
-HSPLcom/android/ims/-$$Lambda$ImsManager$LiW49wt0wLMYHjgtAwL8NLIATfs;->run()V
-HSPLcom/android/ims/-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw;-><init>()V
-HSPLcom/android/ims/-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw;->test(Ljava/lang/Object;)Z
-HSPLcom/android/ims/-$$Lambda$MmTelFeatureConnection$1$2oMo1vy7PK7RvBpj3WhQvVVnmLE;->run()V
-HSPLcom/android/ims/-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw;-><init>()V
-HSPLcom/android/ims/-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/ims/ImsConfig;->addConfigCallback(Landroid/telephony/ims/ProvisioningManager$Callback;)V
-HSPLcom/android/ims/ImsConfig;->addConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-HSPLcom/android/ims/ImsConfig;->getConfigInt(I)I
-HSPLcom/android/ims/ImsConfig;->getProvisionedValue(I)I
-HSPLcom/android/ims/ImsConfig;->setConfig(II)I
-HSPLcom/android/ims/ImsConfig;->setProvisionedValue(II)I
-HSPLcom/android/ims/ImsConfigListener$Stub;-><init>()V
-HSPLcom/android/ims/ImsEcbm;->setEcbmStateListener(Lcom/android/ims/ImsEcbmStateListener;)V
-HSPLcom/android/ims/ImsException;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/ims/ImsException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;I)V
-HSPLcom/android/ims/ImsManager$2;->onQueryCapabilityConfiguration(IIZ)V
-HSPLcom/android/ims/ImsManager$Connector$1;->lambda$notifyStateChanged$0$ImsManager$Connector$1()V
-HSPLcom/android/ims/ImsManager$Connector$1;->notifyStateChanged()V
-HSPLcom/android/ims/ImsManager$Connector;-><init>(Landroid/content/Context;ILcom/android/ims/ImsManager$Connector$Listener;)V
-HSPLcom/android/ims/ImsManager$Connector;-><init>(Landroid/content/Context;ILcom/android/ims/ImsManager$Connector$Listener;Ljava/util/concurrent/Executor;)V
-HSPLcom/android/ims/ImsManager$Connector;->connect()V
-HSPLcom/android/ims/ImsManager$Connector;->getImsService()V
-HSPLcom/android/ims/ImsManager$Connector;->lambda$new$0$ImsManager$Connector()V
-HSPLcom/android/ims/ImsManager$Connector;->lambda$new$1$ImsManager$Connector()I
-HSPLcom/android/ims/ImsManager$Connector;->notifyReady()V
-HSPLcom/android/ims/ImsManager$Connector;->retryGetImsService()V
-HSPLcom/android/ims/ImsManager;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/ims/ImsManager;->addCapabilitiesCallback(Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V
-HSPLcom/android/ims/ImsManager;->addCapabilitiesCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
-HSPLcom/android/ims/ImsManager;->addNotifyStatusChangedCallbackIfAvailable(Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;)V
-HSPLcom/android/ims/ImsManager;->addRegistrationCallback(Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback;)V
-HSPLcom/android/ims/ImsManager;->addRegistrationCallbackForSubscription(Landroid/telephony/ims/aidl/IImsRegistrationCallback;I)V
-HSPLcom/android/ims/ImsManager;->changeMmTelCapability(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
-HSPLcom/android/ims/ImsManager;->checkAndThrowExceptionIfServiceUnavailable()V
-HSPLcom/android/ims/ImsManager;->connectIfServiceIsAvailable()V
-HSPLcom/android/ims/ImsManager;->getConfigInterface()Lcom/android/ims/ImsConfig;
-HSPLcom/android/ims/ImsManager;->getEcbmInterface()Lcom/android/ims/ImsEcbm;
-HSPLcom/android/ims/ImsManager;->getImsServiceState()I
-HSPLcom/android/ims/ImsManager;->getInstance(Landroid/content/Context;I)Lcom/android/ims/ImsManager;
-HSPLcom/android/ims/ImsManager;->getMultiEndpointInterface()Lcom/android/ims/ImsMultiEndpoint;
-HSPLcom/android/ims/ImsManager;->getRegistrationTech()I
-HSPLcom/android/ims/ImsManager;->getSmsFormat()Ljava/lang/String;
-HSPLcom/android/ims/ImsManager;->getSupplementaryServiceConfiguration()Lcom/android/ims/ImsUtInterface;
-HSPLcom/android/ims/ImsManager;->getWfcMode(Z)I
-HSPLcom/android/ims/ImsManager;->isDynamicBinding()Z
-HSPLcom/android/ims/ImsManager;->isEnhanced4gLteModeSettingEnabledByUser()Z
-HSPLcom/android/ims/ImsManager;->isGbaValid()Z
-HSPLcom/android/ims/ImsManager;->isNonTtyOrTtyOnVolteEnabled()Z
-HSPLcom/android/ims/ImsManager;->isServiceAvailable()Z
-HSPLcom/android/ims/ImsManager;->isSuppServicesOverUtEnabledByPlatform()Z
-HSPLcom/android/ims/ImsManager;->isTtyOnVoLteCapable()Z
-HSPLcom/android/ims/ImsManager;->isTurnOffImsAllowedByPlatform()Z
-HSPLcom/android/ims/ImsManager;->isVolteEnabledByPlatform()Z
-HSPLcom/android/ims/ImsManager;->isVolteProvisionedOnDevice()Z
-HSPLcom/android/ims/ImsManager;->isVtEnabledByPlatform()Z
-HSPLcom/android/ims/ImsManager;->isVtEnabledByUser()Z
-HSPLcom/android/ims/ImsManager;->isWfcEnabledByPlatform()Z
-HSPLcom/android/ims/ImsManager;->isWfcEnabledByUser()Z
-HSPLcom/android/ims/ImsManager;->isWfcRoamingEnabledByUser()Z
-HSPLcom/android/ims/ImsManager;->lambda$setRttConfig$4$ImsManager(ZI)V
-HSPLcom/android/ims/ImsManager;->lambda$setWfcModeInternal$1$ImsManager(I)V
-HSPLcom/android/ims/ImsManager;->lambda$setWfcRoamingSettingInternal$2$ImsManager(I)V
-HSPLcom/android/ims/ImsManager;->onSmsReady()V
-HSPLcom/android/ims/ImsManager;->open(Landroid/telephony/ims/feature/MmTelFeature$Listener;)V
-HSPLcom/android/ims/ImsManager;->queryMmTelCapability(II)Z
-HSPLcom/android/ims/ImsManager;->removeCapabilitiesCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
-HSPLcom/android/ims/ImsManager;->removeNotifyStatusChangedCallback(Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;)V
-HSPLcom/android/ims/ImsManager;->setConfigListener(Lcom/android/ims/ImsConfigListener;)V
-HSPLcom/android/ims/ImsManager;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-HSPLcom/android/ims/ImsManager;->setUiTTYMode(Landroid/content/Context;ILandroid/os/Message;)V
-HSPLcom/android/ims/ImsManager;->updateImsServiceConfig(Z)V
-HSPLcom/android/ims/ImsManager;->updateRttConfigValue()Z
-HSPLcom/android/ims/ImsManager;->updateUtFeatureValue(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
-HSPLcom/android/ims/ImsManager;->updateVideoCallFeatureValue(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
-HSPLcom/android/ims/ImsManager;->updateVolteFeatureValue(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
-HSPLcom/android/ims/ImsManager;->updateWfcFeatureAndProvisionedValues(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
-HSPLcom/android/ims/ImsMultiEndpoint$ImsExternalCallStateListenerProxy;->onImsExternalCallStateUpdate(Ljava/util/List;)V
-HSPLcom/android/ims/ImsMultiEndpoint;->setExternalCallStateListener(Lcom/android/ims/ImsExternalCallStateListener;)V
-HSPLcom/android/ims/ImsUt;-><init>(Lcom/android/ims/internal/IImsUt;)V
-HSPLcom/android/ims/ImsUt;->registerForSuppServiceIndication(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/ims/MmTelFeatureConnection$1;->imsFeatureCreated(II)V
-HSPLcom/android/ims/MmTelFeatureConnection$1;->lambda$imsFeatureCreated$0$MmTelFeatureConnection$1(II)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager$1;->onSubscriptionsChanged()V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->addCallback(Landroid/os/IInterface;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->addCallbackForSubscription(Landroid/os/IInterface;I)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->linkCallbackToSubscription(Landroid/os/IInterface;I)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->removeCallback(Landroid/os/IInterface;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->removeCallbackForSubscription(Landroid/os/IInterface;I)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->unlinkCallbackFromSubscription(Landroid/os/IInterface;I)V
-HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->registerCallback(Landroid/os/IInterface;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->registerCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->unregisterCallback(Landroid/os/IInterface;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->unregisterCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;->registerCallback(Landroid/os/IInterface;)V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;->registerCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/ims/MmTelFeatureConnection;->access$600(Lcom/android/ims/MmTelFeatureConnection;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->addCapabilityCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
-HSPLcom/android/ims/MmTelFeatureConnection;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->addRegistrationCallbackForSubscription(Landroid/telephony/ims/aidl/IImsRegistrationCallback;I)V
-HSPLcom/android/ims/MmTelFeatureConnection;->changeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->checkServiceIsReady()V
-HSPLcom/android/ims/MmTelFeatureConnection;->create(Landroid/content/Context;I)Lcom/android/ims/MmTelFeatureConnection;
-HSPLcom/android/ims/MmTelFeatureConnection;->getConfig()Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/ims/MmTelFeatureConnection;->getConfigInterface()Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/ims/MmTelFeatureConnection;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLcom/android/ims/MmTelFeatureConnection;->getFeatureState()I
-HSPLcom/android/ims/MmTelFeatureConnection;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLcom/android/ims/MmTelFeatureConnection;->getRegistration()Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLcom/android/ims/MmTelFeatureConnection;->getRegistrationTech()I
-HSPLcom/android/ims/MmTelFeatureConnection;->getSmsFormat()Ljava/lang/String;
-HSPLcom/android/ims/MmTelFeatureConnection;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLcom/android/ims/MmTelFeatureConnection;->isBinderAlive()Z
-HSPLcom/android/ims/MmTelFeatureConnection;->isBinderReady()Z
-HSPLcom/android/ims/MmTelFeatureConnection;->onSmsReady()V
-HSPLcom/android/ims/MmTelFeatureConnection;->openConnection(Landroid/telephony/ims/feature/MmTelFeature$Listener;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->queryEnabledCapabilities(IILandroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->removeCapabilityCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
-HSPLcom/android/ims/MmTelFeatureConnection;->retrieveFeatureState()Ljava/lang/Integer;
-HSPLcom/android/ims/MmTelFeatureConnection;->setBinder(Landroid/os/IBinder;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->setStatusCallback(Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->setUiTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/ims/internal/IImsEcbm$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsEcbmListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsExternalCallStateListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsFeatureStatusCallback$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsFeatureStatusCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/ims/internal/IImsMultiEndpoint$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->imsFeatureCreated(II)V
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsServiceFeatureCallback;
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/ims/internal/IImsUt$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsUtListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I
-HSPLcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;->getServiceStatus()Z
-HSPLcom/android/ims/internal/uce/UceServiceBase;-><init>()V
-HSPLcom/android/ims/internal/uce/UceServiceBase;->getBinder()Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
-HSPLcom/android/ims/internal/uce/common/CapInfo$1;-><init>()V
-HSPLcom/android/ims/internal/uce/common/CapInfo;->isIpVideoSupported()Z
-HSPLcom/android/ims/internal/uce/common/CapInfo;->isIpVoiceSupported()Z
-HSPLcom/android/ims/internal/uce/common/StatusCode$1;-><init>()V
-HSPLcom/android/ims/internal/uce/common/UceLong$1;-><init>()V
-HSPLcom/android/ims/internal/uce/common/UceLong$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/common/UceLong;
-HSPLcom/android/ims/internal/uce/common/UceLong$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/ims/internal/uce/common/UceLong;->getUceLong()J
-HSPLcom/android/ims/internal/uce/common/UceLong;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceService$Stub;-><init>()V
-HSPLcom/android/ims/internal/uce/presence/PresCapInfo$1;-><init>()V
-HSPLcom/android/ims/internal/uce/presence/PresCmdId$1;-><init>()V
-HSPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;-><init>()V
-HSPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;-><init>()V
-HSPLcom/android/ims/internal/uce/presence/PresSipResponse$1;-><init>()V
-HSPLcom/android/ims/internal/uce/uceservice/IUceService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/accessibility/AccessibilityShortcutController;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
-HSPLcom/android/internal/accessibility/AccessibilityShortcutController;->getFrameworkShortcutFeaturesMap()Ljava/util/Map;
-HSPLcom/android/internal/accessibility/AccessibilityShortcutController;->getTargetServiceComponentNameString(Landroid/content/Context;I)Ljava/lang/String;
-HSPLcom/android/internal/accessibility/AccessibilityShortcutController;->isAccessibilityShortcutAvailable(Z)Z
-HSPLcom/android/internal/accessibility/AccessibilityShortcutController;->onSettingsChanged()V
-HSPLcom/android/internal/accessibility/AccessibilityShortcutController;->setCurrentUser(I)V
-HSPLcom/android/internal/alsa/AlsaCardsParser;-><init>()V
-HSPLcom/android/internal/alsa/LineTokenizer;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V
-HSPLcom/android/internal/app/AlertController;->create(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)Lcom/android/internal/app/AlertController;
-HSPLcom/android/internal/app/AlertController;->installContent()V
-HSPLcom/android/internal/app/AlertController;->resolvePanel(Landroid/view/View;Landroid/view/View;)Landroid/view/ViewGroup;
-HSPLcom/android/internal/app/AlertController;->setBackground(Landroid/content/res/TypedArray;Landroid/view/View;Landroid/view/View;Landroid/view/View;Landroid/view/View;ZZZ)V
-HSPLcom/android/internal/app/AlertController;->setupButtons(Landroid/view/ViewGroup;)V
-HSPLcom/android/internal/app/AlertController;->setupContent(Landroid/view/ViewGroup;)V
-HSPLcom/android/internal/app/AlertController;->setupCustomContent(Landroid/view/ViewGroup;)V
-HSPLcom/android/internal/app/AlertController;->setupTitle(Landroid/view/ViewGroup;)V
-HSPLcom/android/internal/app/AlertController;->setupView()V
HSPLcom/android/internal/app/AssistUtils;-><init>(Landroid/content/Context;)V
HSPLcom/android/internal/app/AssistUtils;->getAssistComponentForUser(I)Landroid/content/ComponentName;
-HPLcom/android/internal/app/AssistUtils;->isPreinstalledAssistant(Landroid/content/Context;Landroid/content/ComponentName;)Z
-HPLcom/android/internal/app/AssistUtils;->shouldDisclose(Landroid/content/Context;Landroid/content/ComponentName;)Z
-HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->opActiveChanged(IILjava/lang/String;Z)V
-HSPLcom/android/internal/app/IAppOpsCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->opChanged(IILjava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsCallback$Stub;-><init>()V
-HSPLcom/android/internal/app/IAppOpsCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;->opNoted(IILjava/lang/String;I)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkAudioOperation(IIILjava/lang/String;)I
+HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;-><init>()V
+HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperation(IILjava/lang/String;)I
HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkPackage(ILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteOperation(IILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteProxyOperation(IILjava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->setMode(IILjava/lang/String;I)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUidMode(III)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/internal/app/IAppOpsService$Stub;-><init>()V
-HSPLcom/android/internal/app/IAppOpsService$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteAsyncOp(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteOperation(IILjava/lang/String;Ljava/lang/String;)I
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteProxyOperation(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->shouldCollectNotes(I)Z
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
HSPLcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
-HPLcom/android/internal/app/IAppOpsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLcom/android/internal/app/IAppOpsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->isCharging()Z
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
-HSPLcom/android/internal/app/IBatteryStats$Stub;-><init>()V
HSPLcom/android/internal/app/IBatteryStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IBatteryStats;
-HPLcom/android/internal/app/IBatteryStats$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLcom/android/internal/app/IBatteryStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/ISoundTriggerService$Stub;-><init>()V
-HPLcom/android/internal/app/ISoundTriggerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;-><init>()V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onVoiceSessionHidden()V
-PLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onVoiceSessionShown()V
-HSPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;-><init>()V
-PLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IVoiceInteractor$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractor;
-HSPLcom/android/internal/app/ProcessMap;-><init>()V
-HSPLcom/android/internal/app/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
-HSPLcom/android/internal/app/ProcessMap;->getMap()Landroid/util/ArrayMap;
-HSPLcom/android/internal/app/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/app/ProcessMap;->remove(Ljava/lang/String;I)Ljava/lang/Object;
-HPLcom/android/internal/app/ProcessMap;->size()I
-HSPLcom/android/internal/app/ResolverActivity$ActionTitle;-><init>(Ljava/lang/String;ILjava/lang/String;III)V
-HSPLcom/android/internal/app/ResolverActivity;->getLabelRes(Ljava/lang/String;)I
-HSPLcom/android/internal/app/procstats/AssociationState$SourceKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/app/procstats/AssociationState$SourceKey;->hashCode()I
-HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->startActive(J)V
-HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->stop()V
-HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->stopActive(J)V
-HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->stopTracking(J)V
-HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->toString()Ljava/lang/String;
-HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->trackProcState(IIJ)V
-HSPLcom/android/internal/app/procstats/AssociationState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Lcom/android/internal/app/procstats/ProcessStats$PackageState;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessState;)V
-HPLcom/android/internal/app/procstats/AssociationState;->add(Lcom/android/internal/app/procstats/AssociationState;)V
-HPLcom/android/internal/app/procstats/AssociationState;->commitStateTime(J)V
-HPLcom/android/internal/app/procstats/AssociationState;->dumpTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJLjava/lang/String;J)V
-HSPLcom/android/internal/app/procstats/AssociationState;->readFromParcel(Lcom/android/internal/app/procstats/ProcessStats;Landroid/os/Parcel;I)Ljava/lang/String;
-HPLcom/android/internal/app/procstats/AssociationState;->resetSafely(J)V
-HSPLcom/android/internal/app/procstats/AssociationState;->startSource(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState$SourceState;
-HPLcom/android/internal/app/procstats/AssociationState;->writeToParcel(Lcom/android/internal/app/procstats/ProcessStats;Landroid/os/Parcel;J)V
-HPLcom/android/internal/app/procstats/DumpUtils;->collapseString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/internal/app/procstats/DumpUtils;->dumpAdjTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;[JIJJ)V
-HPLcom/android/internal/app/procstats/DumpUtils;->printAdjTagAndValue(Ljava/io/PrintWriter;IJ)V
-HPLcom/android/internal/app/procstats/DumpUtils;->printProcStateTag(Ljava/io/PrintWriter;I)V
-HSPLcom/android/internal/app/procstats/DurationsTable;->addDuration(IJ)V
-HSPLcom/android/internal/app/procstats/DurationsTable;->addDurations(Lcom/android/internal/app/procstats/DurationsTable;)V
-HSPLcom/android/internal/app/procstats/IProcessStats$Stub;-><init>()V
-HSPLcom/android/internal/app/procstats/IProcessStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/procstats/IProcessStats;
-HPLcom/android/internal/app/procstats/IProcessStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/procstats/ProcessState$1;-><init>()V
-HSPLcom/android/internal/app/procstats/ProcessState$PssAggr;-><init>()V
-HSPLcom/android/internal/app/procstats/ProcessState$PssAggr;->add(JJ)V
-HSPLcom/android/internal/app/procstats/ProcessState;-><init>(Lcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;IJLjava/lang/String;J)V
-HSPLcom/android/internal/app/procstats/ProcessState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Ljava/lang/String;IJLjava/lang/String;)V
-HPLcom/android/internal/app/procstats/ProcessState;->add(Lcom/android/internal/app/procstats/ProcessState;)V
-HSPLcom/android/internal/app/procstats/ProcessState;->addPss(JJJZIJLandroid/util/ArrayMap;)V
-HSPLcom/android/internal/app/procstats/ProcessState;->aggregatePss(Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;J)V
-HSPLcom/android/internal/app/procstats/ProcessState;->clone(J)Lcom/android/internal/app/procstats/ProcessState;
-HSPLcom/android/internal/app/procstats/ProcessState;->commitStateTime(J)V
-HSPLcom/android/internal/app/procstats/ProcessState;->decActiveServices(Ljava/lang/String;)V
-HSPLcom/android/internal/app/procstats/ProcessState;->decStartedServices(IJLjava/lang/String;)V
-HPLcom/android/internal/app/procstats/ProcessState;->dumpAllPssCheckin(Ljava/io/PrintWriter;)V
-HPLcom/android/internal/app/procstats/ProcessState;->dumpAllStateCheckin(Ljava/io/PrintWriter;J)V
-HPLcom/android/internal/app/procstats/ProcessState;->dumpPackageProcCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJLjava/lang/String;J)V
-HPLcom/android/internal/app/procstats/ProcessState;->dumpProcCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJ)V
-HPLcom/android/internal/app/procstats/ProcessState;->dumpPssSamplesCheckin(Ljava/io/PrintWriter;[JI)V
-HSPLcom/android/internal/app/procstats/ProcessState;->ensureNotDead()V
-HSPLcom/android/internal/app/procstats/ProcessState;->getPssAverage(I)J
-HSPLcom/android/internal/app/procstats/ProcessState;->getPssSampleCount(I)J
-HSPLcom/android/internal/app/procstats/ProcessState;->makeActive()V
-HSPLcom/android/internal/app/procstats/ProcessState;->pullFixedProc(Landroid/util/ArrayMap;I)Lcom/android/internal/app/procstats/ProcessState;
-HSPLcom/android/internal/app/procstats/ProcessState;->pullFixedProc(Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
-HSPLcom/android/internal/app/procstats/ProcessState;->readFromParcel(Landroid/os/Parcel;Z)Z
-HPLcom/android/internal/app/procstats/ProcessState;->reportExcessiveCpu(Landroid/util/ArrayMap;)V
-HSPLcom/android/internal/app/procstats/ProcessState;->setCombinedState(IJ)V
-HSPLcom/android/internal/app/procstats/ProcessState;->setState(IIJLandroid/util/ArrayMap;)V
-HSPLcom/android/internal/app/procstats/ProcessState;->toString()Ljava/lang/String;
-HPLcom/android/internal/app/procstats/ProcessState;->writeToParcel(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/app/procstats/ProcessStats$1;-><init>()V
-HPLcom/android/internal/app/procstats/ProcessStats$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/app/procstats/ProcessStats;
-HPLcom/android/internal/app/procstats/ProcessStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/app/procstats/ProcessStats$PackageState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Ljava/lang/String;IJ)V
-HSPLcom/android/internal/app/procstats/ProcessStats$PackageState;->getAssociationStateLocked(Lcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState;
-HSPLcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;-><init>([I[I)V
-HPLcom/android/internal/app/procstats/ProcessStats;-><init>(Landroid/os/Parcel;)V
-HSPLcom/android/internal/app/procstats/ProcessStats;-><init>(Z)V
-HPLcom/android/internal/app/procstats/ProcessStats;->add(Lcom/android/internal/app/procstats/ProcessStats;)V
-HSPLcom/android/internal/app/procstats/ProcessStats;->addSysMemUsage(JJJJJ)V
-HSPLcom/android/internal/app/procstats/ProcessStats;->buildTimePeriodStartClockStr()V
-HSPLcom/android/internal/app/procstats/ProcessStats;->computeTotalMemoryUse(Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;J)V
-HPLcom/android/internal/app/procstats/ProcessStats;->dumpCheckinLocked(Ljava/io/PrintWriter;Ljava/lang/String;I)V
-HPLcom/android/internal/app/procstats/ProcessStats;->getAssociationStateLocked(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState;
-HSPLcom/android/internal/app/procstats/ProcessStats;->getPackageStateLocked(Ljava/lang/String;IJ)Lcom/android/internal/app/procstats/ProcessStats$PackageState;
-HSPLcom/android/internal/app/procstats/ProcessStats;->getProcessStateLocked(Lcom/android/internal/app/procstats/ProcessStats$PackageState;Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
-HSPLcom/android/internal/app/procstats/ProcessStats;->getProcessStateLocked(Ljava/lang/String;IJLjava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
-HSPLcom/android/internal/app/procstats/ProcessStats;->getServiceStateLocked(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/ServiceState;
-HSPLcom/android/internal/app/procstats/ProcessStats;->read(Ljava/io/InputStream;)V
-HSPLcom/android/internal/app/procstats/ProcessStats;->readCheckedInt(Landroid/os/Parcel;ILjava/lang/String;)Z
-HSPLcom/android/internal/app/procstats/ProcessStats;->readCommonString(Landroid/os/Parcel;I)Ljava/lang/String;
-HSPLcom/android/internal/app/procstats/ProcessStats;->readCompactedLongArray(Landroid/os/Parcel;I[JI)V
-HSPLcom/android/internal/app/procstats/ProcessStats;->readFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/app/procstats/ProcessStats;->readFully(Ljava/io/InputStream;[I)[B
-HSPLcom/android/internal/app/procstats/ProcessStats;->resetCommon()V
-HPLcom/android/internal/app/procstats/ProcessStats;->resetSafely()V
-HSPLcom/android/internal/app/procstats/ProcessStats;->splitAndParseNumbers(Ljava/lang/String;)[I
-HSPLcom/android/internal/app/procstats/ProcessStats;->updateFragmentation()V
-HSPLcom/android/internal/app/procstats/ProcessStats;->updateTrackingAssociationsLocked(IJ)V
-HPLcom/android/internal/app/procstats/ProcessStats;->writeCommonString(Landroid/os/Parcel;Ljava/lang/String;)V
-HPLcom/android/internal/app/procstats/ProcessStats;->writeCompactedLongArray(Landroid/os/Parcel;[JI)V
-HPLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;JI)V
-HSPLcom/android/internal/app/procstats/PssTable;->mergeStats(IIJJJJJJJJJ)V
-HPLcom/android/internal/app/procstats/PssTable;->mergeStats(Lcom/android/internal/app/procstats/PssTable;)V
-HSPLcom/android/internal/app/procstats/PssTable;->mergeStats([JIIJJJJJJJJJ)V
-HPLcom/android/internal/app/procstats/PssTable;->mergeStats([JI[JI)V
-HSPLcom/android/internal/app/procstats/ServiceState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessState;)V
-HPLcom/android/internal/app/procstats/ServiceState;->add(Lcom/android/internal/app/procstats/ServiceState;)V
-HSPLcom/android/internal/app/procstats/ServiceState;->applyNewOwner(Ljava/lang/Object;)V
-HSPLcom/android/internal/app/procstats/ServiceState;->clearCurrentOwner(Ljava/lang/Object;Z)V
-HPLcom/android/internal/app/procstats/ServiceState;->commitStateTime(J)V
-HPLcom/android/internal/app/procstats/ServiceState;->dumpTimeCheckin(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;IJLjava/lang/String;IIIJJ)V
-HPLcom/android/internal/app/procstats/ServiceState;->dumpTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJLjava/lang/String;J)V
-HSPLcom/android/internal/app/procstats/ServiceState;->readFromParcel(Landroid/os/Parcel;)Z
-HPLcom/android/internal/app/procstats/ServiceState;->resetSafely(J)V
-HSPLcom/android/internal/app/procstats/ServiceState;->setBound(ZIJ)V
-HSPLcom/android/internal/app/procstats/ServiceState;->setExecuting(ZIJ)V
-HPLcom/android/internal/app/procstats/ServiceState;->setForeground(ZIJ)V
-HSPLcom/android/internal/app/procstats/ServiceState;->setMemFactor(IJ)V
-HSPLcom/android/internal/app/procstats/ServiceState;->setRestarting(ZIJ)V
-HSPLcom/android/internal/app/procstats/ServiceState;->setStarted(ZIJ)V
-HSPLcom/android/internal/app/procstats/ServiceState;->updateRunning(IJ)V
-HSPLcom/android/internal/app/procstats/ServiceState;->updateStartedState(IJ)V
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->binarySearch(B)I
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->copyFrom(Lcom/android/internal/app/procstats/SparseMappingTable$Table;I)V
-HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->dumpInternalState()Ljava/lang/String;
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getArrayForKey(I)[J
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getKey(B)I
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getKeyAt(I)I
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getKeyCount()I
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getOrAddKey(BI)I
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getValue(I)J
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getValue(II)J
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getValueForId(BI)J
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->readFromParcel(Landroid/os/Parcel;)Z
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->resetTable()V
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->setValue(IIJ)V
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->setValue(IJ)V
-HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->validateKeys(Z)Z
-HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->writeToParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/app/procstats/SparseMappingTable;->readCompactedLongArray(Landroid/os/Parcel;[JI)V
-HSPLcom/android/internal/app/procstats/SparseMappingTable;->readFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/app/procstats/SparseMappingTable;->reset()V
-HPLcom/android/internal/app/procstats/SparseMappingTable;->writeCompactedLongArray(Landroid/os/Parcel;[JI)V
-HPLcom/android/internal/app/procstats/SparseMappingTable;->writeToParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/app/procstats/SysMemUsageTable;->getTotalMemUsage()[J
-HSPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeStats(I[JI)V
-HPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeStats(Lcom/android/internal/app/procstats/SysMemUsageTable;)V
-HSPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeSysMemUsage([JI[JI)V
HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetIds(Landroid/content/ComponentName;)[I
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub;-><init>()V
HSPLcom/android/internal/appwidget/IAppWidgetService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/appwidget/IAppWidgetService;
-HPLcom/android/internal/appwidget/IAppWidgetService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->cancelFullBackup()V
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->checkFullBackupSize(J)I
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->configurationIntent()Landroid/content/Intent;
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->currentDestinationString()Ljava/lang/String;
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->dataManagementIntent()Landroid/content/Intent;
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->dataManagementIntentLabel()Ljava/lang/CharSequence;
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->finishBackup()I
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getBackupQuota(Ljava/lang/String;Z)J
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getTransportFlags()I
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->name()Ljava/lang/String;
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->requestFullBackupTime()J
-HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->sendBackupData(I)I
-PLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->transportDirName()Ljava/lang/String;
-HPLcom/android/internal/backup/IBackupTransport$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/backup/IBackupTransport;
-HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->close()V
-HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Landroid/content/pm/PackageParser$Package;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
-HPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/io/File;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
-HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/util/List;ZZZ)Lcom/android/internal/content/NativeLibraryHelper$Handle;
-HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->finalize()V
-HSPLcom/android/internal/content/NativeLibraryHelper;->copyNativeBinariesForSupportedAbi(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/io/File;[Ljava/lang/String;Z)I
-HPLcom/android/internal/content/NativeLibraryHelper;->copyNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/io/File;Ljava/lang/String;)I
-HSPLcom/android/internal/content/NativeLibraryHelper;->createNativeLibrarySubdir(Ljava/io/File;)V
-HSPLcom/android/internal/content/NativeLibraryHelper;->findSupportedAbi(Lcom/android/internal/content/NativeLibraryHelper$Handle;[Ljava/lang/String;)I
-HSPLcom/android/internal/content/NativeLibraryHelper;->hasRenderscriptBitcode(Lcom/android/internal/content/NativeLibraryHelper$Handle;)Z
-HPLcom/android/internal/content/NativeLibraryHelper;->removeNativeBinariesFromDirLI(Ljava/io/File;Z)V
-HPLcom/android/internal/content/NativeLibraryHelper;->sumNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
-PLcom/android/internal/content/PackageHelper$1;->getAllow3rdPartyOnInternalConfig(Landroid/content/Context;)Z
-PLcom/android/internal/content/PackageHelper$1;->getExistingAppInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
-PLcom/android/internal/content/PackageHelper$1;->getForceAllowOnExternalSetting(Landroid/content/Context;)Z
-PLcom/android/internal/content/PackageHelper$1;->getStorageManager(Landroid/content/Context;)Landroid/os/storage/StorageManager;
-HPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
-HPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;)J
-HPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;Ljava/io/FileDescriptor;)J
-HPLcom/android/internal/content/PackageHelper;->fitsOnInternal(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Z
-HPLcom/android/internal/content/PackageHelper;->getDefaultTestableInterface()Lcom/android/internal/content/PackageHelper$TestableInterface;
-HSPLcom/android/internal/content/PackageHelper;->getStorageManager()Landroid/os/storage/IStorageManager;
-HPLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)I
-HPLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Ljava/lang/String;IJI)I
-HPLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Ljava/lang/String;
-HPLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;Lcom/android/internal/content/PackageHelper$TestableInterface;)Ljava/lang/String;
-HSPLcom/android/internal/content/PackageMonitor;-><init>()V
-HSPLcom/android/internal/content/PackageMonitor;->didSomePackagesChange()Z
-HSPLcom/android/internal/content/PackageMonitor;->getChangingUserId()I
-HSPLcom/android/internal/content/PackageMonitor;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
-HPLcom/android/internal/content/PackageMonitor;->isComponentModified(Ljava/lang/String;)Z
-HSPLcom/android/internal/content/PackageMonitor;->isPackageAppearing(Ljava/lang/String;)I
-HSPLcom/android/internal/content/PackageMonitor;->isPackageDisappearing(Ljava/lang/String;)I
-HSPLcom/android/internal/content/PackageMonitor;->isPackageModified(Ljava/lang/String;)Z
-HSPLcom/android/internal/content/PackageMonitor;->onBeginPackageChanges()V
-HSPLcom/android/internal/content/PackageMonitor;->onFinishPackageChanges()V
-HSPLcom/android/internal/content/PackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
-HSPLcom/android/internal/content/PackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-HSPLcom/android/internal/content/PackageMonitor;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
-HSPLcom/android/internal/content/PackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
-HSPLcom/android/internal/content/PackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/internal/content/PackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
-HPLcom/android/internal/content/PackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HPLcom/android/internal/content/PackageMonitor;->onPackageUpdateStarted(Ljava/lang/String;I)V
-HSPLcom/android/internal/content/PackageMonitor;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/content/PackageMonitor;->onSomePackagesChanged()V
-HSPLcom/android/internal/content/PackageMonitor;->onUidRemoved(I)V
-HSPLcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/Looper;Landroid/os/UserHandle;Z)V
-HSPLcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/Looper;Z)V
-HSPLcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/UserHandle;ZLandroid/os/Handler;)V
-HSPLcom/android/internal/content/ReferrerIntent$1;-><init>()V
-HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/content/ReferrerIntent;
-HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLcom/android/internal/content/ReferrerIntent;-><init>(Landroid/content/Intent;Ljava/lang/String;)V
-HPLcom/android/internal/content/ReferrerIntent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/internal/graphics/ColorUtils;->HSLToColor([F)I
-HSPLcom/android/internal/graphics/ColorUtils;->RGBToHSL(III[F)V
-HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->getFrameTime()J
-HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
+HSPLcom/android/internal/compat/ChangeReporter$ChangeReport;-><init>(JI)V
+HSPLcom/android/internal/compat/ChangeReporter$ChangeReport;->hashCode()I
+HSPLcom/android/internal/compat/ChangeReporter;-><init>(I)V
+HSPLcom/android/internal/compat/ChangeReporter;->debugLog(IJI)V
+HSPLcom/android/internal/compat/ChangeReporter;->isAlreadyReported(ILcom/android/internal/compat/ChangeReporter$ChangeReport;)Z
+HSPLcom/android/internal/compat/ChangeReporter;->markAsReported(ILcom/android/internal/compat/ChangeReporter$ChangeReport;)V
+HSPLcom/android/internal/compat/ChangeReporter;->reportChange(IJI)V
+HSPLcom/android/internal/compat/ChangeReporter;->shouldWriteToDebug(IJI)Z
+HSPLcom/android/internal/compat/ChangeReporter;->shouldWriteToStatsLog(IJI)Z
+HSPLcom/android/internal/compat/ChangeReporter;->stateToString(I)Ljava/lang/String;
+HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;-><init>(Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable;Landroid/content/res/Resources;)V
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->addDrawable(Landroid/graphics/drawable/Drawable;)I
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->canApplyTheme()Z
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->getCurrentDrawableIndexBasedOnScale()I
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->mutate()V
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;-><init>()V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->clearMutated()V
+HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;-><init>(Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;Landroid/content/res/Resources;)V
+HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;-><init>(Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;Landroid/content/res/Resources;Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$1;)V
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->onStateChange([I)Z
HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->start()V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->stop()V
-HSPLcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;-><init>()V
-HSPLcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;-><init>()V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;-><init>()V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;-><init>()V
-HPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;-><init>()V
-HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;->accept(Ljava/lang/Object;)V
-PLcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;-><init>()V
-HPLcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;Landroid/os/Handler;IZI)V
-HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handleOnDestroy()V
-HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handlePendingRequests()V
-HSPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->finish()Z
-HSPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->getService()Lcom/android/internal/infra/AbstractRemoteService;
-HSPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->isFinal()Z
-HPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->onFinished()V
-HPLcom/android/internal/infra/AbstractRemoteService$MyAsyncPendingRequest;->run()V
-HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;-><init>(Lcom/android/internal/infra/AbstractRemoteService;)V
-HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->onFinished()V
-HSPLcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HPLcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/infra/AbstractRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;Landroid/os/Handler;IZ)V
-HPLcom/android/internal/infra/AbstractRemoteService;->binderDied()V
-HSPLcom/android/internal/infra/AbstractRemoteService;->checkIfDestroyed()Z
-HSPLcom/android/internal/infra/AbstractRemoteService;->destroy()V
-HSPLcom/android/internal/infra/AbstractRemoteService;->finishRequest(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-HPLcom/android/internal/infra/AbstractRemoteService;->handleBinderDied()V
-HSPLcom/android/internal/infra/AbstractRemoteService;->handleEnsureBound()V
-HSPLcom/android/internal/infra/AbstractRemoteService;->handleEnsureUnbound()V
-HSPLcom/android/internal/infra/AbstractRemoteService;->handleOnConnectedStateChanged(Z)V
-HSPLcom/android/internal/infra/AbstractRemoteService;->handlePendingRequest(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleAsyncRequest(Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)V
-HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleBind()V
-HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleRequest(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleUnbind()V
-HPLcom/android/internal/infra/AbstractRemoteService;->toString()Ljava/lang/String;
-HSPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;Landroid/os/Handler;IZ)V
-HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handleOnDestroy()V
-HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequests()V
-HSPLcom/android/internal/infra/WhitelistHelper;->getWhitelistedComponents(Ljava/lang/String;)Landroid/util/ArraySet;
-HPLcom/android/internal/infra/WhitelistHelper;->isWhitelisted(Landroid/content/ComponentName;)Z
-HSPLcom/android/internal/infra/WhitelistHelper;->isWhitelisted(Ljava/lang/String;)Z
-HPLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
-HPLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Ljava/util/List;Ljava/util/List;)V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->notifyUserAction()V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->reportFullscreenMode(Z)V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->reportStartInput(Landroid/os/IBinder;)V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->setImeWindowStatus(II)V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->updateStatusIcon(Ljava/lang/String;I)V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;-><init>()V
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;->getAndWarnIfNull()Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;->set(Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;-><init>()V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->notifyUserAction()V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->reportFullscreenMode(Z)V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->reportStartInput(Landroid/os/IBinder;)V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->set(Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->setImeWindowStatus(II)V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->updateStatusIcon(Ljava/lang/String;I)V
-HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;->put(Landroid/os/IBinder;Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;)V
-HSPLcom/android/internal/inputmethod/SubtypeLocaleUtils;->constructLocaleFromString(Ljava/lang/String;)Ljava/util/Locale;
-HSPLcom/android/internal/location/GpsNetInitiatedHandler$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/location/GpsNetInitiatedHandler$2;->onCallStateChanged(ILjava/lang/String;)V
-HSPLcom/android/internal/location/GpsNetInitiatedHandler;-><init>(Landroid/content/Context;Landroid/location/INetInitiatedListener;Z)V
-HSPLcom/android/internal/location/GpsNetInitiatedHandler;->setEmergencyExtensionSeconds(I)V
-HSPLcom/android/internal/location/GpsNetInitiatedHandler;->setSuplEsEnabled(Z)V
-HSPLcom/android/internal/location/GpsNetInitiatedHandler;->updateLocationMode()V
-PLcom/android/internal/location/ILocationProvider$Stub$Proxy;->setLocationProviderManager(Lcom/android/internal/location/ILocationProviderManager;)V
-HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/location/ILocationProvider$Stub;-><init>()V
-HSPLcom/android/internal/location/ILocationProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProvider;
-HSPLcom/android/internal/location/ILocationProviderManager$Stub;-><init>()V
-HPLcom/android/internal/location/ILocationProviderManager$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/location/ILocationProviderManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/location/ProviderProperties$1;-><init>()V
-HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderProperties;
-HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/location/ProviderProperties;-><init>(ZZZZZZZII)V
-HSPLcom/android/internal/location/ProviderProperties;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/internal/location/ProviderRequest$1;-><init>()V
-HSPLcom/android/internal/location/ProviderRequest;-><init>()V
-HPLcom/android/internal/location/ProviderRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->buildProto()Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->reportSignalQuality([FI)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->addItem(D)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getCount()I
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getMean()D
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getStandardDeviation()D
-HSPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->reset()V
-HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;-><init>(Lcom/android/internal/app/IBatteryStats;)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->dumpGnssMetricsAsProtoString()Ljava/lang/String;
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logCn0([FI)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logMissedReports(II)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logPositionAccuracyMeters(F)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logReceivedLocationStatus(Z)V
-HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logTimeToFirstFixMilliSecs(I)V
-HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;->reset()V
-PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->clear()Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
-PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->computeSerializedSize()I
-PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;->computeSerializedSize()I
-PLcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/internal/logging/AndroidConfig;-><init>()V
-HSPLcom/android/internal/logging/AndroidHandler$1;-><init>()V
HSPLcom/android/internal/logging/AndroidHandler$1;->format(Ljava/util/logging/LogRecord;)Ljava/lang/String;
+HSPLcom/android/internal/logging/AndroidHandler;-><init>()V
HSPLcom/android/internal/logging/AndroidHandler;->publish(Ljava/util/logging/LogRecord;)V
-HSPLcom/android/internal/logging/EventLogTags;->writeCommitSysConfigFile(Ljava/lang/String;J)V
HSPLcom/android/internal/logging/MetricsLogger;-><init>()V
-HSPLcom/android/internal/logging/MetricsLogger;->action(I)V
HSPLcom/android/internal/logging/MetricsLogger;->action(II)V
-HSPLcom/android/internal/logging/MetricsLogger;->action(IZ)V
-HSPLcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;II)V
-HSPLcom/android/internal/logging/MetricsLogger;->action(Landroid/metrics/LogMaker;)V
-HSPLcom/android/internal/logging/MetricsLogger;->count(Landroid/content/Context;Ljava/lang/String;I)V
-HSPLcom/android/internal/logging/MetricsLogger;->count(Ljava/lang/String;I)V
HSPLcom/android/internal/logging/MetricsLogger;->hidden(I)V
-HSPLcom/android/internal/logging/MetricsLogger;->hidden(Landroid/content/Context;I)V
-HSPLcom/android/internal/logging/MetricsLogger;->histogram(Landroid/content/Context;Ljava/lang/String;I)V
-HSPLcom/android/internal/logging/MetricsLogger;->histogram(Ljava/lang/String;I)V
HSPLcom/android/internal/logging/MetricsLogger;->saveLog(Landroid/metrics/LogMaker;)V
HSPLcom/android/internal/logging/MetricsLogger;->visible(I)V
-HSPLcom/android/internal/logging/MetricsLogger;->visible(Landroid/content/Context;I)V
-HSPLcom/android/internal/logging/MetricsLogger;->write(Landroid/metrics/LogMaker;)V
-HSPLcom/android/internal/net/INetworkWatchlistManager$Stub;-><init>()V
-HPLcom/android/internal/net/INetworkWatchlistManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/net/INetworkWatchlistManager;
-HSPLcom/android/internal/net/NetworkStatsFactory;-><init>()V
-HSPLcom/android/internal/net/NetworkStatsFactory;-><init>(Ljava/io/File;Z)V
-HSPLcom/android/internal/net/NetworkStatsFactory;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Z)V
-HPLcom/android/internal/net/NetworkStatsFactory;->augmentWithStackedInterfaces([Ljava/lang/String;)[Ljava/lang/String;
-HPLcom/android/internal/net/NetworkStatsFactory;->noteStackedIface(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/net/NetworkStatsFactory;->readBpfNetworkStatsDev()Landroid/net/NetworkStats;
-HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetail(I[Ljava/lang/String;ILandroid/net/NetworkStats;)Landroid/net/NetworkStats;
-HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetailInternal(I[Ljava/lang/String;ILandroid/net/NetworkStats;)Landroid/net/NetworkStats;
-HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-HSPLcom/android/internal/notification/SystemNotificationChannels;->createAll(Landroid/content/Context;)V
-HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$7bfIWpn8X2h-hSzLD6dcuK4Ljuw;->onUidCpuTime(ILjava/lang/Object;)V
-HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$B-TmZhQb712ePnuJTxvMe7P-YwQ;->onUidCpuTime(ILjava/lang/Object;)V
-HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$Xvt9xdVPtevMWGIjcbxXf0_mr_c;->onUidCpuTime(ILjava/lang/Object;)V
-HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$_l2oiaRDRhjCXI_PwXPsAhrgegI;->onUidCpuTime(ILjava/lang/Object;)V
-PLcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;-><init>()V
-HPLcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/internal/os/-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg;-><init>()V
+PLcom/android/internal/logging/MetricsLogger;->write(Landroid/metrics/LogMaker;)V
+HSPLcom/android/internal/os/-$$Lambda$6-ytl6NLMGWt_iQr4_PfakNWUKQ;->get()Ljava/lang/Object;
HSPLcom/android/internal/os/-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg;->get()Ljava/lang/Object;
+HSPLcom/android/internal/os/-$$Lambda$ZygoteConnection$KxVsZ-s4KsanePOHCU5JcuypPik;-><init>(II)V
HSPLcom/android/internal/os/-$$Lambda$ZygoteConnection$KxVsZ-s4KsanePOHCU5JcuypPik;->run()V
-HSPLcom/android/internal/os/-$$Lambda$ZygoteConnection$xjqM7qW7vAjTqh2tR5XRF5Vn5mk;->run()V
-HSPLcom/android/internal/os/AtomicDirectory;-><init>(Ljava/io/File;)V
-HSPLcom/android/internal/os/AtomicDirectory;->backup()V
-HSPLcom/android/internal/os/AtomicDirectory;->closeWrite(Ljava/io/FileOutputStream;)V
-HSPLcom/android/internal/os/AtomicDirectory;->delete()V
-HSPLcom/android/internal/os/AtomicDirectory;->finishWrite()V
-HSPLcom/android/internal/os/AtomicDirectory;->getOrCreateBaseDirectory()Ljava/io/File;
-HSPLcom/android/internal/os/AtomicDirectory;->openWrite(Ljava/io/File;)Ljava/io/FileOutputStream;
-HSPLcom/android/internal/os/AtomicDirectory;->restore()V
-HSPLcom/android/internal/os/AtomicDirectory;->startRead()Ljava/io/File;
-HSPLcom/android/internal/os/AtomicDirectory;->startWrite()Ljava/io/File;
-HSPLcom/android/internal/os/AtomicDirectory;->throwIfSomeFilesOpen()V
-HSPLcom/android/internal/os/AtomicFile;-><init>(Ljava/io/File;)V
-HSPLcom/android/internal/os/AtomicFile;->delete()V
-HSPLcom/android/internal/os/AtomicFile;->exists()Z
-HSPLcom/android/internal/os/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
-HSPLcom/android/internal/os/AtomicFile;->openRead()Ljava/io/FileInputStream;
-HSPLcom/android/internal/os/AtomicFile;->readFully()[B
-HSPLcom/android/internal/os/AtomicFile;->startWrite()Ljava/io/FileOutputStream;
-HSPLcom/android/internal/os/AtomicFile;->truncate()V
+HSPLcom/android/internal/os/AndroidPrintStream;-><init>(ILjava/lang/String;)V
+HSPLcom/android/internal/os/BackgroundThread;-><init>()V
HSPLcom/android/internal/os/BackgroundThread;->ensureThreadLocked()V
-HSPLcom/android/internal/os/BackgroundThread;->get()Lcom/android/internal/os/BackgroundThread;
-HSPLcom/android/internal/os/BackgroundThread;->getExecutor()Ljava/util/concurrent/Executor;
HSPLcom/android/internal/os/BackgroundThread;->getHandler()Landroid/os/Handler;
-HSPLcom/android/internal/os/BatterySipper$DrainType;-><init>(Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
-HSPLcom/android/internal/os/BatterySipper;->add(Lcom/android/internal/os/BatterySipper;)V
-HSPLcom/android/internal/os/BatterySipper;->compareTo(Lcom/android/internal/os/BatterySipper;)I
-HSPLcom/android/internal/os/BatterySipper;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/internal/os/BatterySipper;->computeMobilemspp()V
-HSPLcom/android/internal/os/BatterySipper;->getUid()I
-HSPLcom/android/internal/os/BatterySipper;->sumPower()D
-HSPLcom/android/internal/os/BatteryStatsHelper$1;->compare(Lcom/android/internal/os/BatterySipper;Lcom/android/internal/os/BatterySipper;)I
-HSPLcom/android/internal/os/BatteryStatsHelper$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;Z)V
-HSPLcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;ZZ)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addAmbientDisplayUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addBluetoothUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addIdleUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addMemoryUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addPhoneUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addRadioUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addScreenUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addUserUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->addWiFiUsage()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->checkHasBluetoothPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
-HSPLcom/android/internal/os/BatteryStatsHelper;->checkHasWifiPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
-HPLcom/android/internal/os/BatteryStatsHelper;->checkWifiOnly(Landroid/content/Context;)Z
-HSPLcom/android/internal/os/BatteryStatsHelper;->clearStats()V
-HSPLcom/android/internal/os/BatteryStatsHelper;->convertMsToUs(J)J
-HSPLcom/android/internal/os/BatteryStatsHelper;->convertUsToMs(J)J
-HPLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/BatteryStats;)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/Bundle;)V
-HPLcom/android/internal/os/BatteryStatsHelper;->getComputedPower()D
-HSPLcom/android/internal/os/BatteryStatsHelper;->getForegroundActivityTotalTimeUs(Landroid/os/BatteryStats$Uid;J)J
-HPLcom/android/internal/os/BatteryStatsHelper;->getMaxDrainedPower()D
-HPLcom/android/internal/os/BatteryStatsHelper;->getMinDrainedPower()D
-HPLcom/android/internal/os/BatteryStatsHelper;->getPowerProfile()Lcom/android/internal/os/PowerProfile;
-HSPLcom/android/internal/os/BatteryStatsHelper;->getProcessForegroundTimeMs(Landroid/os/BatteryStats$Uid;I)J
-HSPLcom/android/internal/os/BatteryStatsHelper;->getStats()Landroid/os/BatteryStats;
-HSPLcom/android/internal/os/BatteryStatsHelper;->getStats(Lcom/android/internal/app/IBatteryStats;)Lcom/android/internal/os/BatteryStatsImpl;
-HSPLcom/android/internal/os/BatteryStatsHelper;->getTotalPower()D
-HSPLcom/android/internal/os/BatteryStatsHelper;->getUsageList()Ljava/util/List;
-HSPLcom/android/internal/os/BatteryStatsHelper;->isTypeService(Lcom/android/internal/os/BatterySipper;)Z
-HSPLcom/android/internal/os/BatteryStatsHelper;->isTypeSystem(Lcom/android/internal/os/BatterySipper;)Z
-HPLcom/android/internal/os/BatteryStatsHelper;->makemAh(D)Ljava/lang/String;
-HSPLcom/android/internal/os/BatteryStatsHelper;->processAppUsage(Landroid/util/SparseArray;)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(II)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;JJ)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILjava/util/List;)V
-HSPLcom/android/internal/os/BatteryStatsHelper;->removeHiddenBatterySippers(Ljava/util/List;)D
-HSPLcom/android/internal/os/BatteryStatsHelper;->shouldHideSipper(Lcom/android/internal/os/BatterySipper;)Z
-HSPLcom/android/internal/os/BatteryStatsHelper;->smearScreenBatterySipper(Ljava/util/List;Lcom/android/internal/os/BatterySipper;)V
-HSPLcom/android/internal/os/BatteryStatsHistory$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
-HSPLcom/android/internal/os/BatteryStatsHistory;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsHistory;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Ljava/io/File;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsHistory;->createActiveFile()V
-HSPLcom/android/internal/os/BatteryStatsHistory;->createNextFile()V
-HSPLcom/android/internal/os/BatteryStatsHistory;->finishIteratingHistory()V
-HSPLcom/android/internal/os/BatteryStatsHistory;->getActiveFile()Lcom/android/internal/os/AtomicFile;
-HSPLcom/android/internal/os/BatteryStatsHistory;->getFilesNumbers()Ljava/util/List;
-HSPLcom/android/internal/os/BatteryStatsHistory;->getNextParcel(Landroid/os/BatteryStats$HistoryItem;)Landroid/os/Parcel;
-HPLcom/android/internal/os/BatteryStatsHistory;->readFileToParcel(Landroid/os/Parcel;Lcom/android/internal/os/AtomicFile;)Z
-HSPLcom/android/internal/os/BatteryStatsHistory;->readFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsHistory;->resetAllFiles()V
-HSPLcom/android/internal/os/BatteryStatsHistory;->startIteratingHistory()Z
-HSPLcom/android/internal/os/BatteryStatsHistory;->writeToParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$1;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
-HPLcom/android/internal/os/BatteryStatsImpl$1;->run()V
-HSPLcom/android/internal/os/BatteryStatsImpl$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$3;->run()V
-HSPLcom/android/internal/os/BatteryStatsImpl$5;->run()V
-HSPLcom/android/internal/os/BatteryStatsImpl$6;-><init>()V
-HSPLcom/android/internal/os/BatteryStatsImpl$6;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl;
-HSPLcom/android/internal/os/BatteryStatsImpl$6;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->abortLastDuration(Lcom/android/internal/os/BatteryStatsImpl;)V
-HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->addDuration(Lcom/android/internal/os/BatteryStatsImpl;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeCurrentCountLocked()I
-HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeRunTimeLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->reset(Z)Z
-HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$1;)V
-HPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Constants;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Handler;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateConstants()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateKernelUidReadersThrottleTime(JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateTrackCpuTimesByProcStateLocked(ZZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;ILandroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->detach()V
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->reset(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeSummaryToParcel(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->addAtomic(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->getCountLocked(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->readCounterFromParcel(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$Counter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->reset(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->stepAtomic()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeToParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->reset(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->startRunningLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->stopRunningLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getCurrentDurationMsLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->reset(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->detach()V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->getCountLocked(I)J
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->reset(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->writeToParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->access$2300(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->access$2600(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([JZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->detach()V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getCountsLocked(I)[J
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getSize()I
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readFromParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->reset(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$MyHandler;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Looper;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->add(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->cleanup()V
-HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->clear()V
-HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->getMap()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->startObject(Ljava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->stopObject(Ljava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->add(JI)V
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeCurrentCountLocked()I
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeRunTimeLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->endSample()V
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->getUpdateVersion()I
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->setUpdateVersion(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->update(JI)V
-HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeCurrentCountLocked()I
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeRunTimeLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->detach()V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->isRunningLocked()Z
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->refreshTimersLocked(JLjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;)J
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->reset(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setMark(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setTimeout(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->startRunningLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->stopRunningLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$SystemClocks;->elapsedRealtime()J
-HSPLcom/android/internal/os/BatteryStatsImpl$SystemClocks;->uptimeMillis()J
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;-><init>(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->add(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->computeRealtime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->computeUptime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->getRealtime(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->getUptime(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->init(JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->isRunning()Z
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->readFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->readSummaryFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->remove(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->setRunning(ZJJ)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeSummaryToParcel(Landroid/os/Parcel;JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeToParcel(Landroid/os/Parcel;JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$Timer;->getCountLocked(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTimeSinceMarkLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$1;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$1;->instantiateObject()Ljava/lang/Object;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$2;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$2;->instantiateObject()Ljava/lang/Object;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$3;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$3;->instantiateObject()Ljava/lang/Object;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->detach()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getLaunches(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTimeToNowLocked(J)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStarts(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->readFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startRunningLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->writeToParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->noteWakeupAlarmLocked(Ljava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->readFromParcelLocked(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->writeToParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Ljava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(IIZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addExcessiveCpu(JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addForegroundTimeLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->detach()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumAnrs(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumCrashes(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getStarts(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getSystemTime(I)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getUserTime(I)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incNumCrashesLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incStartsLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->isActive()Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStarted(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStopped(JJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->readExcessivePowerFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeExcessivePowerToParcelLocked(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeToParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;I)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->readTimersFromParcel(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->reset()Z
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->writeToParcelLocked(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->reset()Z
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->writeToParcelLocked(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;-><init>(Lcom/android/internal/os/BatteryStatsImpl;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2400(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2402(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2500(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2502(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->addIsolatedUid(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createAggregatedPartialWakelockTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createAudioTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanResultBgCounterLocked()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanResultCounterLocked()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createCameraTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundActivityTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundServiceTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVibratorOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVideoTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->detachFromTimeBase()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Landroid/os/BatteryStats$Counter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Landroid/os/BatteryStats$Counter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuActiveTime()J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuClusterTimes()[J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuFreqTimes(I)[J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuFreqTimes(II)[J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getDeferredJobsCheckinLineLocked(Ljava/lang/StringBuilder;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFullWifiLockTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getJobCompletionStats()Landroid/util/ArrayMap;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getJobStats()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveCount(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveTime(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioApWakeupCount(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityBytes(II)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityPackets(II)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateBluetoothControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateModemControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateWifiControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStats()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStats()Landroid/util/SparseArray;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStats()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getScreenOffCpuFreqTimes(I)[J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorStats()Landroid/util/SparseArray;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getServiceStatsLocked(Ljava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSyncStats()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSystemCpuTimeUs(I)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getTimeAtCpuSpeed(III)J
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUid()I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserActivityCount(II)I
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserCpuTimeUs(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockStats()Landroid/util/ArrayMap;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockTimerLocked(Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;I)Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiMulticastTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRadioApWakeupCount(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRunningTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanActualTime(J)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanBackgroundCount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanBackgroundTime(J)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanCount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->hasUserActivity()Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->initNetworkActivityLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->initUserActivityLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->isInBackground()Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->makeProcessState(ILandroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteActivityPausedLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteActivityResumedLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOffLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOnLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanResultsLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStartedLocked(JZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStoppedLocked(JZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOffLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOnLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServicePausedLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServiceResumedLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockAcquiredLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockReleasedLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteJobsDeferredLocked(IJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioActiveTimeLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioApWakeupLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteNetworkActivityLocked(IJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartGps(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartJobLocked(Ljava/lang/String;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSensor(IJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSyncLocked(Ljava/lang/String;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartWakeLocked(ILjava/lang/String;IJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopGps(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSyncLocked(Ljava/lang/String;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteUserActivityLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOffLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOnLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOffLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOnLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastDisabledLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastEnabledLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiRadioApWakeupLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStartedLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStoppedLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readJobCompletionsFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readJobSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readSyncSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readWakeSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->removeIsolatedUid(I)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->reportExcessiveCpuLocked(Ljava/lang/String;JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->reset(JJ)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->writeJobCompletionsToParcelLocked(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->writeToParcelLocked(Landroid/os/Parcel;JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$UidToRemove;->remove()V
-HSPLcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->exists(I)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$RailEnergyDataCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$RailEnergyDataCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JBLandroid/os/BatteryStats$HistoryItem;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JLandroid/os/BatteryStats$HistoryItem;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryEventLocked(JJILjava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryRecordInnerLocked(JLandroid/os/BatteryStats$HistoryItem;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryRecordLocked(JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addIsolatedUidLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->addModemTxPowerToHistory(Landroid/telephony/ModemActivityInfo;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->aggregateLastWakeupUptimeLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->buildStateInt(Landroid/os/BatteryStats$HistoryItem;)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->clearHistoryLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->clearPendingRemovedUids()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->commitPendingDataToDisk(Landroid/os/Parcel;Lcom/android/internal/os/AtomicFile;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryRealtime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryScreenOffRealtime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryScreenOffUptime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryTimeRemaining(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryUptime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeChargeTimeRemaining(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeHistoryStepDetails(Landroid/os/BatteryStats$HistoryStepDetails;Landroid/os/BatteryStats$HistoryStepDetails;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeRealtime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->computeUptime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->copyFromAllUidsCpuTimes()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->copyFromAllUidsCpuTimes(ZZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull([Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull([[Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->ensureStartClockTime(J)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->excludeFromStringArray([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(IIIIIIII)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->finishIteratingHistoryLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryRealtime(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptime(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptimeLocked()J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-HPLcom/android/internal/os/BatteryStatsImpl;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HPLcom/android/internal/os/BatteryStatsImpl;->getCpuFreqs()[J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getDeltaModemActivityInfo(Landroid/telephony/ModemActivityInfo;)Landroid/telephony/ModemActivityInfo;
-HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeTime(IJI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdlingCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdlingTime(IJI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenDozeSinceCharge()I
-HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOffSinceCharge()I
-HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOnSinceCharge()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HPLcom/android/internal/os/BatteryStatsImpl;->getEndPlatformVersion()Ljava/lang/String;
-HPLcom/android/internal/os/BatteryStatsImpl;->getEstimatedBatteryCapacity()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getExternalStatsCollectionRateLimitMs()J
-HPLcom/android/internal/os/BatteryStatsImpl;->getGlobalWifiRunningTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getGpsBatteryDrainMaMs()J
-HPLcom/android/internal/os/BatteryStatsImpl;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getGpsSignalQualityTime(IJI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getHighDischargeAmountSinceCharge()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryBaseTime()J
-HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryStringPoolSize()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolString(I)Ljava/lang/String;
-HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolUid(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getInteractiveTime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getIsOnBattery()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->getKernelMemoryStats()Landroid/util/LongSparseArray;
-HPLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockStats()Ljava/util/Map;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-HPLcom/android/internal/os/BatteryStatsImpl;->getLongestDeviceIdleModeTime(I)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getLowDischargeAmountSinceCharge()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getMaxLearnedBatteryCapacity()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getMinLearnedBatteryCapacity()I
-HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileIfaces()[Ljava/lang/String;
-HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveAdjustedTime(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveCount(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveTime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownCount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownTime(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityBytes(II)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityPackets(II)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-HPLcom/android/internal/os/BatteryStatsImpl;->getNumConnectivityChange(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-HPLcom/android/internal/os/BatteryStatsImpl;->getParcelVersion()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTime(IJI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneOnTime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthCount(II)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTime(IJI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getPowerManagerWakeLockLevel(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getPowerSaveModeEnabledTime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
-HPLcom/android/internal/os/BatteryStatsImpl;->getRpmStats()Ljava/util/Map;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getRpmTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTime(IJI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getScreenDozeTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getScreenOffRpmStats()Ljava/util/Map;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getScreenOnTime(JI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getStartClockTime()J
-HPLcom/android/internal/os/BatteryStatsImpl;->getStartCount()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getStartPlatformVersion()Ljava/lang/String;
-HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischarge(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeDeepDoze(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeLightDoze(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenDoze(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenOff(I)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->getUidStats()Landroid/util/SparseArray;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid;
-HPLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonStats()Ljava/util/Map;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiActiveTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-HSPLcom/android/internal/os/BatteryStatsImpl;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockCount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiOnTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthTime(IJI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiStateCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiStateTime(IJI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTime(IJI)J
-HSPLcom/android/internal/os/BatteryStatsImpl;->hasBluetoothActivityReporting()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->hasWifiActivityReporting()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->init(Lcom/android/internal/os/BatteryStatsImpl$Clocks;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->initActiveHistoryEventsLocked(JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->initDischarge()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->initTimes(JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->isCharging()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->isOnBattery()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->isOnBatteryLocked()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->isOnBatteryScreenOffLocked()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->isScreenDoze(I)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->isScreenOff(I)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->isScreenOn(I)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuActiveTimesLocked$2$BatteryStatsImpl(ZILjava/lang/Long;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuClusterTimesLocked$3$BatteryStatsImpl(ZI[J)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuFreqTimesLocked$1$BatteryStatsImpl(ZZZIII[J)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuTimesLocked$0$BatteryStatsImpl(IZLandroid/util/SparseLongArray;I[J)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->mapUid(I)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->markPartialTimersAsEligible()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteActivityPausedLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteActivityResumedLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteAlarmFinishLocked(Ljava/lang/String;Landroid/os/WorkSource;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteAlarmStartLocked(Ljava/lang/String;Landroid/os/WorkSource;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteAlarmStartOrFinishLocked(ILjava/lang/String;Landroid/os/WorkSource;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteAudioOffLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteAudioOnLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanResultsFromSourceLocked(Landroid/os/WorkSource;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedFromSourceLocked(Landroid/os/WorkSource;Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedFromSourceLocked(Landroid/os/WorkSource;Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteCameraOffLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteCameraOnLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteChangeWakelockFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteConnectivityChangedLocked(ILjava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteCurrentTimeChangedLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteDeviceIdleModeLocked(ILjava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredFromSourceLocked(Landroid/os/WorkSource;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedFromSourceLocked(Landroid/os/WorkSource;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteGpsChangedLocked(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteGpsSignalQualityLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteInteractiveLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteJobsDeferredLocked(IIJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakeLockFinishInternal(Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakeLockStartInternal(Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteMobileRadioPowerStateLocked(IJI)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteNetworkInterfaceTypeLocked(Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->notePackageInstalledLocked(Ljava/lang/String;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePackageUninstalledLocked(Ljava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneDataConnectionStateLocked(IZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneOffLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->notePhoneOnLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneSignalStrengthLocked(Landroid/telephony/SignalStrength;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneStateLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePowerSaveModeLocked(Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteProcessAnrLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessCrashLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessDiedLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessFinishLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessStartLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteResetBluetoothScanLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteScreenBrightnessLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteScreenStateLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartGpsLocked(ILandroid/os/WorkSource$WorkChain;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartSensorLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IZJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteStopGpsLocked(ILandroid/os/WorkSource$WorkChain;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStopSensorLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStopWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStopWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteSyncFinishLocked(Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteSyncStartLocked(Ljava/lang/String;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteUidProcessStateLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteUsbConnectionStateLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteUserActivityLocked(II)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteVibratorOffLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteVibratorOnLocked(IJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteVideoOffLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteVideoOnLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeUpLocked(Ljava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeupReasonLocked(Ljava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiMulticastDisabledLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiMulticastEnabledLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiOffLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiOnLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRadioPowerState(IJI)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRssiChangedLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRunningLocked(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStartedFromSourceLocked(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStartedLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStoppedFromSourceLocked(Landroid/os/WorkSource;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStoppedLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiStateLocked(ILjava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiSupplicantStateChangedLocked(IZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->postBatteryNeedsCpuUpdateMsg()V
-HPLcom/android/internal/os/BatteryStatsImpl;->prepareForDumpLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->pullPendingStateUpdatesLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyItemTagDetailsLocked(Lorg/xmlpull/v1/XmlPullParser;Landroid/os/BatteryStats$DailyItem;ZLjava/lang/String;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyItemTagLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyItemsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyStatsLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readHistoryBuffer(Landroid/os/Parcel;Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuActiveTimesLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuClusterTimesLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuFreqTimesLocked(Ljava/util/ArrayList;ZZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuTimesLocked(Ljava/util/ArrayList;Landroid/util/SparseLongArray;Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readNetworkStatsLocked([Ljava/lang/String;)Landroid/net/NetworkStats;
-HSPLcom/android/internal/os/BatteryStatsImpl;->readOldHistory(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsIfNeededLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->registerUsbStateReceiver(Landroid/content/Context;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->removeIsolatedUidLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->removeUidStatsLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->reportChangesToStatsLog(Landroid/os/BatteryStats$HistoryItem;III)V
-HPLcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->resetAllStatsLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->scheduleRemoveIsolatedUidLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIII)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setCallback(Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setChargingLocked(Z)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->setExternalStatsSyncLocked(Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setOnBatteryLocked(JJZIII)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setPowerProfileLocked(Lcom/android/internal/os/PowerProfile;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->setRadioScanningTimeoutLocked(J)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->startAddingCpuLocked()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->startIteratingHistoryLocked()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->startRecordingHistory(JJZ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->stopAllGpsSignalQualityTimersLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->stopAllPhoneSignalStrengthTimersLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->systemServicesReady(Landroid/content/Context;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateAllPhoneStateLocked(III)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateBatteryPropertiesLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->updateBluetoothStateLocked(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateClusterSpeedTimes(Landroid/util/SparseLongArray;Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateCpuTimeLocked(ZZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateDailyDeadlineLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateDischargeScreenLevelsLocked(II)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateKernelMemoryBandwidthLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateKernelWakelocksLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateMobileRadioState(Landroid/telephony/ModemActivityInfo;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateNewDischargeScreenLevelLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateOldDischargeScreenLevelLocked(I)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateRailStatsLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateRpmStatsLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateTimeBasesLocked(ZIJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateWifiState(Landroid/net/wifi/WifiActivityEnergyInfo;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeDailyItemsLocked(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeDailyLevelSteps(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Ljava/lang/StringBuilder;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryBuffer(Landroid/os/Parcel;ZZ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;Landroid/os/BatteryStats$HistoryItem;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryTag(Landroid/os/BatteryStats$HistoryTag;)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeOldHistory(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeParcelToFileLocked(Landroid/os/Parcel;Lcom/android/internal/os/AtomicFile;Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeStatsLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeSummaryToParcel(Landroid/os/Parcel;Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->writeToParcelLocked(Landroid/os/Parcel;ZI)V
-HSPLcom/android/internal/os/BinderCallsStats$CallStatKey;-><init>()V
-HSPLcom/android/internal/os/BinderCallsStats$CallStatKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/os/BinderCallsStats$CallStatKey;->hashCode()I
-HSPLcom/android/internal/os/BinderCallsStats$Injector;->getRandomGenerator()Ljava/util/Random;
-HSPLcom/android/internal/os/BinderCallsStats$UidEntry;->get(ILjava/lang/Class;IZ)Lcom/android/internal/os/BinderCallsStats$CallStat;
-HPLcom/android/internal/os/BinderCallsStats$UidEntry;->getCallStatsList()Ljava/util/Collection;
-HSPLcom/android/internal/os/BinderCallsStats$UidEntry;->getOrCreate(ILjava/lang/Class;IZZ)Lcom/android/internal/os/BinderCallsStats$CallStat;
-HSPLcom/android/internal/os/BinderCallsStats;-><init>(Lcom/android/internal/os/BinderCallsStats$Injector;)V
-HSPLcom/android/internal/os/BinderCallsStats;->callEnded(Lcom/android/internal/os/BinderInternal$CallSession;III)V
-HSPLcom/android/internal/os/BinderCallsStats;->callStarted(Landroid/os/Binder;II)Lcom/android/internal/os/BinderInternal$CallSession;
-HSPLcom/android/internal/os/BinderCallsStats;->callThrewException(Lcom/android/internal/os/BinderInternal$CallSession;Ljava/lang/Exception;)V
-HPLcom/android/internal/os/BinderCallsStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/BinderCallsStats$ExportedCallStat;
-HSPLcom/android/internal/os/BinderCallsStats;->getCallingUid()I
-HPLcom/android/internal/os/BinderCallsStats;->getDefaultTransactionNameMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;
-HSPLcom/android/internal/os/BinderCallsStats;->getElapsedRealtimeMicro()J
-HPLcom/android/internal/os/BinderCallsStats;->getExportedCallStats()Ljava/util/ArrayList;
-HSPLcom/android/internal/os/BinderCallsStats;->getThreadTimeMicro()J
-HSPLcom/android/internal/os/BinderCallsStats;->processCallEnded(Lcom/android/internal/os/BinderInternal$CallSession;III)V
-HSPLcom/android/internal/os/BinderCallsStats;->reset()V
-HPLcom/android/internal/os/BinderCallsStats;->resolveTransactionCode(Ljava/lang/reflect/Method;I)Ljava/lang/String;
-HSPLcom/android/internal/os/BinderCallsStats;->setAddDebugEntries(Z)V
-HSPLcom/android/internal/os/BinderCallsStats;->setDetailedTracking(Z)V
-HSPLcom/android/internal/os/BinderCallsStats;->setDeviceState(Lcom/android/internal/os/CachedDeviceState$Readonly;)V
-HSPLcom/android/internal/os/BinderCallsStats;->setMaxBinderCallStats(I)V
-HSPLcom/android/internal/os/BinderCallsStats;->setSamplingInterval(I)V
-HSPLcom/android/internal/os/BinderCallsStats;->setTrackDirectCallerUid(Z)V
-HSPLcom/android/internal/os/BinderCallsStats;->setTrackScreenInteractive(Z)V
-HSPLcom/android/internal/os/BinderCallsStats;->shouldRecordDetailedData()Z
-HSPLcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate;-><init>(Lcom/android/internal/os/BinderInternal$1;)V
-HSPLcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate;->setListener(Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener;Landroid/os/Handler;)V
HSPLcom/android/internal/os/BinderInternal$GcWatcher;-><init>()V
HSPLcom/android/internal/os/BinderInternal$GcWatcher;->finalize()V
HSPLcom/android/internal/os/BinderInternal;->addGcWatcher(Ljava/lang/Runnable;)V
-HSPLcom/android/internal/os/BinderInternal;->forceBinderGc()V
-HSPLcom/android/internal/os/BinderInternal;->forceGc(Ljava/lang/String;)V
-HSPLcom/android/internal/os/BinderInternal;->getLastGcTime()J
-HSPLcom/android/internal/os/BinderInternal;->setBinderProxyCountCallback(Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener;Landroid/os/Handler;)V
-HSPLcom/android/internal/os/BluetoothPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
-HSPLcom/android/internal/os/BluetoothPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/BluetoothPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HSPLcom/android/internal/os/BluetoothPowerCalculator;->reset()V
-HSPLcom/android/internal/os/CachedDeviceState$Readonly;->createTimeOnBatteryStopwatch()Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;
-HSPLcom/android/internal/os/CachedDeviceState$Readonly;->isCharging()Z
-HPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->getMillis()J
-HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->isRunning()Z
-HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->reset()V
-HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->start()V
-HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->stop()V
-HSPLcom/android/internal/os/CachedDeviceState;-><init>()V
-HSPLcom/android/internal/os/CachedDeviceState;->getReadonlyClient()Lcom/android/internal/os/CachedDeviceState$Readonly;
-HSPLcom/android/internal/os/CachedDeviceState;->setCharging(Z)V
-HSPLcom/android/internal/os/CachedDeviceState;->setScreenInteractive(Z)V
-HSPLcom/android/internal/os/CachedDeviceState;->updateStopwatches(Z)V
-HSPLcom/android/internal/os/CameraPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+PLcom/android/internal/os/BinderInternal;->forceBinderGc()V
HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;IZLjava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
-HSPLcom/android/internal/os/ClassLoaderFactory;->getPathClassLoaderName()Ljava/lang/String;
-HSPLcom/android/internal/os/ClassLoaderFactory;->isDelegateLastClassLoaderName(Ljava/lang/String;)Z
HSPLcom/android/internal/os/ClassLoaderFactory;->isPathClassLoaderName(Ljava/lang/String;)Z
-HSPLcom/android/internal/os/ClassLoaderFactory;->isValidClassLoaderName(Ljava/lang/String;)Z
-HSPLcom/android/internal/os/CpuPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/FlashlightPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/FuseAppLoop$1;-><init>()V
-HSPLcom/android/internal/os/HandlerCaller$MyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/os/HandlerCaller$MyHandler;-><init>(Lcom/android/internal/os/HandlerCaller;Landroid/os/Looper;Z)V
HSPLcom/android/internal/os/HandlerCaller;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/internal/os/HandlerCaller$Callback;Z)V
-HSPLcom/android/internal/os/HandlerCaller;->executeOrSendMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessage(I)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageI(II)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIIIIII(IIIIIII)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIIO(IIILjava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIIOOOO(IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIOO(IILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/os/HandlerCaller;->obtainMessageO(ILjava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOO(ILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOOOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->sendMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub;-><init>()V
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
-HPLcom/android/internal/os/IDropBoxManagerService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/os/IResultReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/os/IResultReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLcom/android/internal/os/IResultReceiver$Stub$Proxy;->send(ILandroid/os/Bundle;)V
HSPLcom/android/internal/os/IResultReceiver$Stub;-><init>()V
HSPLcom/android/internal/os/IResultReceiver$Stub;->asBinder()Landroid/os/IBinder;
HSPLcom/android/internal/os/IResultReceiver$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IResultReceiver;
HSPLcom/android/internal/os/IResultReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->close()V
-HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->hasNextLine()Z
-HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->nextLine()Ljava/nio/CharBuffer;
-HSPLcom/android/internal/os/KernelCpuProcStringReader;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/os/KernelCpuProcStringReader;->asLongs(Ljava/nio/CharBuffer;[J)I
-HSPLcom/android/internal/os/KernelCpuProcStringReader;->open(Z)Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;
-HSPLcom/android/internal/os/KernelCpuSpeedReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelCpuSpeedReader;-><init>(II)V
-HSPLcom/android/internal/os/KernelCpuSpeedReader;->readDelta()[J
-HSPLcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;-><init>([JI)V
-HSPLcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;->getBucketMinFrequencies([J)[I
-HPLcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;->getBucketedValues([J)[I
-HPLcom/android/internal/os/KernelCpuThreadReader$Injector;->getUidForPid(I)I
-HPLcom/android/internal/os/KernelCpuThreadReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelCpuThreadReader;->create(ILjava/util/function/Predicate;I)Lcom/android/internal/os/KernelCpuThreadReader;
-HPLcom/android/internal/os/KernelCpuThreadReader;->getCpuFrequenciesKhz()[I
-HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessCpuUsage()Ljava/util/ArrayList;
-HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessCpuUsage(Ljava/nio/file/Path;II)Lcom/android/internal/os/KernelCpuThreadReader$ProcessCpuUsage;
-HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessId(Ljava/nio/file/Path;)I
-HPLcom/android/internal/os/KernelCpuThreadReader;->getThreadCpuUsage(Ljava/nio/file/Path;)Lcom/android/internal/os/KernelCpuThreadReader$ThreadCpuUsage;
-HSPLcom/android/internal/os/KernelCpuThreadReader;->setNumBuckets(I)V
-HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;->fromString(Ljava/lang/String;)Lcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;
-HPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;->test(Ljava/lang/Integer;)Z
-HPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver;->getSettingsModifiedReader(Landroid/content/Context;)Lcom/android/internal/os/KernelCpuThreadReader;
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;-><init>(Z)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;-><init>(Z)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->sumClusterTime()V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;-><init>(Z)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->extractClusterInfoFromProcFileFreqs()Landroid/util/IntArray;
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->perClusterTimesAvailable()Z
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readFreqs(Lcom/android/internal/os/PowerProfile;)[J
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readFreqs(Ljava/lang/String;)[J
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;-><init>(Z)V
-HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->readAbsoluteImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUid(I)V
-HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUidsFromKernelModule(II)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader;-><init>(Lcom/android/internal/os/KernelCpuProcStringReader;Z)V
-HPLcom/android/internal/os/KernelCpuUidTimeReader;->readAbsolute(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader;->readDelta(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
-HPLcom/android/internal/os/KernelCpuUidTimeReader;->removeUid(I)V
-HSPLcom/android/internal/os/KernelCpuUidTimeReader;->setThrottle(J)V
-HSPLcom/android/internal/os/KernelMemoryBandwidthStats;-><init>()V
-HSPLcom/android/internal/os/KernelMemoryBandwidthStats;->getBandwidthEntries()Landroid/util/LongSparseLongArray;
-HSPLcom/android/internal/os/KernelMemoryBandwidthStats;->parseStats(Ljava/io/BufferedReader;)V
-HSPLcom/android/internal/os/KernelMemoryBandwidthStats;->updateStats()V
-HSPLcom/android/internal/os/KernelWakelockReader;-><init>()V
-HSPLcom/android/internal/os/KernelWakelockReader;->parseProcWakelocks([BIZLcom/android/internal/os/KernelWakelockStats;)Lcom/android/internal/os/KernelWakelockStats;
-HSPLcom/android/internal/os/KernelWakelockReader;->readKernelWakelockStats(Lcom/android/internal/os/KernelWakelockStats;)Lcom/android/internal/os/KernelWakelockStats;
-HSPLcom/android/internal/os/KernelWakelockStats;-><init>()V
-HSPLcom/android/internal/os/LooperStats$DispatchSession;-><init>()V
-HSPLcom/android/internal/os/LooperStats$Entry;->idFor(Landroid/os/Message;Z)I
-HSPLcom/android/internal/os/LooperStats$Entry;->reset()V
-HPLcom/android/internal/os/LooperStats$ExportedEntry;-><init>(Lcom/android/internal/os/LooperStats$Entry;)V
-HSPLcom/android/internal/os/LooperStats;-><init>(II)V
-HPLcom/android/internal/os/LooperStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/LooperStats$ExportedEntry;
-HSPLcom/android/internal/os/LooperStats;->findEntry(Landroid/os/Message;Z)Lcom/android/internal/os/LooperStats$Entry;
-HSPLcom/android/internal/os/LooperStats;->getElapsedRealtimeMicro()J
-HPLcom/android/internal/os/LooperStats;->getEntries()Ljava/util/List;
-HSPLcom/android/internal/os/LooperStats;->getSystemUptimeMillis()J
-HSPLcom/android/internal/os/LooperStats;->getThreadTimeMicro()J
-HPLcom/android/internal/os/LooperStats;->maybeAddSpecialEntry(Ljava/util/List;Lcom/android/internal/os/LooperStats$Entry;)V
-HSPLcom/android/internal/os/LooperStats;->messageDispatchStarting()Ljava/lang/Object;
-HSPLcom/android/internal/os/LooperStats;->messageDispatched(Ljava/lang/Object;Landroid/os/Message;)V
-HSPLcom/android/internal/os/LooperStats;->reset()V
-HSPLcom/android/internal/os/LooperStats;->setAddDebugEntries(Z)V
-HSPLcom/android/internal/os/LooperStats;->setDeviceState(Lcom/android/internal/os/CachedDeviceState$Readonly;)V
-HSPLcom/android/internal/os/LooperStats;->setSamplingInterval(I)V
-HSPLcom/android/internal/os/LooperStats;->shouldCollectDetailedData()Z
-HSPLcom/android/internal/os/MediaPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/MemoryPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HSPLcom/android/internal/os/MobileRadioPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;)V
-HSPLcom/android/internal/os/MobileRadioPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/MobileRadioPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HSPLcom/android/internal/os/MobileRadioPowerCalculator;->getMobilePowerPerPacket(JI)D
-HSPLcom/android/internal/os/MobileRadioPowerCalculator;->reset()V
-HSPLcom/android/internal/os/MobileRadioPowerCalculator;->reset(Landroid/os/BatteryStats;)V
-HSPLcom/android/internal/os/PowerCalculator;-><init>()V
-HSPLcom/android/internal/os/PowerCalculator;->reset()V
-HSPLcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;Z)V
-HSPLcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;)D
-HSPLcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;I)D
-HSPLcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCluster(I)D
-HSPLcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCore(II)D
-HSPLcom/android/internal/os/PowerProfile;->getAveragePowerOrDefault(Ljava/lang/String;D)D
-HSPLcom/android/internal/os/PowerProfile;->getBatteryCapacity()D
-HSPLcom/android/internal/os/PowerProfile;->getNumCoresInCpuCluster(I)I
-HSPLcom/android/internal/os/PowerProfile;->getNumCpuClusters()I
-HSPLcom/android/internal/os/PowerProfile;->getNumElements(Ljava/lang/String;)I
-HSPLcom/android/internal/os/PowerProfile;->getNumSpeedStepsInCpuCluster(I)I
-HSPLcom/android/internal/os/PowerProfile;->initCpuClusters()V
-HSPLcom/android/internal/os/PowerProfile;->readPowerValuesFromXml(Landroid/content/Context;Z)V
-HSPLcom/android/internal/os/ProcStatsUtil;->readTerminatedProcFile(Ljava/lang/String;B)Ljava/lang/String;
-HSPLcom/android/internal/os/ProcTimeInStateReader;->getFrequenciesKhz()[J
-HPLcom/android/internal/os/ProcTimeInStateReader;->getUsageTimesMillis(Ljava/nio/file/Path;)[J
-HSPLcom/android/internal/os/ProcTimeInStateReader;->initializeTimeInStateFormat(Ljava/nio/file/Path;)V
-HSPLcom/android/internal/os/ProcessCpuTracker$1;-><init>()V
-HPLcom/android/internal/os/ProcessCpuTracker$1;->compare(Lcom/android/internal/os/ProcessCpuTracker$Stats;Lcom/android/internal/os/ProcessCpuTracker$Stats;)I
-HPLcom/android/internal/os/ProcessCpuTracker$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/internal/os/ProcessCpuTracker$Stats;-><init>(IIZ)V
-HSPLcom/android/internal/os/ProcessCpuTracker;-><init>(Z)V
-HPLcom/android/internal/os/ProcessCpuTracker;->buildWorkingProcs()V
-HSPLcom/android/internal/os/ProcessCpuTracker;->collectStats(Ljava/lang/String;IZ[ILjava/util/ArrayList;)[I
-HSPLcom/android/internal/os/ProcessCpuTracker;->countStats()I
-HSPLcom/android/internal/os/ProcessCpuTracker;->getCpuTimeForPid(I)J
-HSPLcom/android/internal/os/ProcessCpuTracker;->getName(Lcom/android/internal/os/ProcessCpuTracker$Stats;Ljava/lang/String;)V
-HSPLcom/android/internal/os/ProcessCpuTracker;->getStats(I)Lcom/android/internal/os/ProcessCpuTracker$Stats;
-HSPLcom/android/internal/os/ProcessCpuTracker;->getStats(Lcom/android/internal/os/ProcessCpuTracker$FilterStats;)Ljava/util/List;
-HSPLcom/android/internal/os/ProcessCpuTracker;->init()V
-HSPLcom/android/internal/os/ProcessCpuTracker;->onLoadChanged(FFF)V
-HSPLcom/android/internal/os/ProcessCpuTracker;->onMeasureProcessName(Ljava/lang/String;)I
-HPLcom/android/internal/os/ProcessCpuTracker;->printCurrentLoad()Ljava/lang/String;
-HPLcom/android/internal/os/ProcessCpuTracker;->printCurrentState(J)Ljava/lang/String;
-HPLcom/android/internal/os/ProcessCpuTracker;->printProcessCPU(Ljava/io/PrintWriter;Ljava/lang/String;ILjava/lang/String;IIIIIIII)V
-HPLcom/android/internal/os/ProcessCpuTracker;->printRatio(Ljava/io/PrintWriter;JJ)V
-HSPLcom/android/internal/os/ProcessCpuTracker;->update()V
-HSPLcom/android/internal/os/RailStats;-><init>()V
-HSPLcom/android/internal/os/RailStats;->setRailStatsAvailability(Z)V
-HSPLcom/android/internal/os/RpmStats$PowerStateSubsystem;->putState(Ljava/lang/String;JI)V
-HSPLcom/android/internal/os/RpmStats;-><init>()V
-HSPLcom/android/internal/os/RpmStats;->getSubsystem(Ljava/lang/String;)Lcom/android/internal/os/RpmStats$PowerStateSubsystem;
+HSPLcom/android/internal/os/LoggingPrintStream$1;-><init>()V
+HSPLcom/android/internal/os/LoggingPrintStream;-><init>()V
+HSPLcom/android/internal/os/RuntimeInit$Arguments;-><init>([Ljava/lang/String;)V
HSPLcom/android/internal/os/RuntimeInit$Arguments;->parseArgs([Ljava/lang/String;)V
+HSPLcom/android/internal/os/RuntimeInit$KillApplicationHandler;-><init>(Lcom/android/internal/os/RuntimeInit$LoggingHandler;)V
+HSPLcom/android/internal/os/RuntimeInit$LoggingHandler;-><init>()V
+HSPLcom/android/internal/os/RuntimeInit$LoggingHandler;-><init>(Lcom/android/internal/os/RuntimeInit$1;)V
+HSPLcom/android/internal/os/RuntimeInit$MethodAndArgsCaller;-><init>(Ljava/lang/reflect/Method;[Ljava/lang/String;)V
HSPLcom/android/internal/os/RuntimeInit$MethodAndArgsCaller;->run()V
HSPLcom/android/internal/os/RuntimeInit;->applicationInit(I[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Runnable;
HSPLcom/android/internal/os/RuntimeInit;->commonInit()V
HSPLcom/android/internal/os/RuntimeInit;->findStaticMain(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Runnable;
HSPLcom/android/internal/os/RuntimeInit;->getApplicationObject()Landroid/os/IBinder;
HSPLcom/android/internal/os/RuntimeInit;->getDefaultUserAgent()Ljava/lang/String;
+HSPLcom/android/internal/os/RuntimeInit;->lambda$commonInit$0()Ljava/lang/String;
HSPLcom/android/internal/os/RuntimeInit;->redirectLogStreams()V
HSPLcom/android/internal/os/RuntimeInit;->setApplicationObject(Landroid/os/IBinder;)V
HSPLcom/android/internal/os/RuntimeInit;->wtf(Ljava/lang/String;Ljava/lang/Throwable;Z)V
-HSPLcom/android/internal/os/SensorPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/SensorPowerCalculator;->getAverageGpsPower(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;JI)D
+HSPLcom/android/internal/os/SomeArgs;-><init>()V
HSPLcom/android/internal/os/SomeArgs;->clear()V
HSPLcom/android/internal/os/SomeArgs;->obtain()Lcom/android/internal/os/SomeArgs;
HSPLcom/android/internal/os/SomeArgs;->recycle()V
-PLcom/android/internal/os/TransferPipe;-><init>()V
-PLcom/android/internal/os/TransferPipe;->closeFd(I)V
-PLcom/android/internal/os/TransferPipe;->getNewOutputStream()Ljava/io/OutputStream;
-PLcom/android/internal/os/TransferPipe;->getReadFd()Landroid/os/ParcelFileDescriptor;
-PLcom/android/internal/os/TransferPipe;->getWriteFd()Landroid/os/ParcelFileDescriptor;
-PLcom/android/internal/os/TransferPipe;->go(Ljava/io/FileDescriptor;)V
-PLcom/android/internal/os/TransferPipe;->go(Ljava/io/FileDescriptor;J)V
-PLcom/android/internal/os/TransferPipe;->kill()V
-HPLcom/android/internal/os/TransferPipe;->run()V
-HSPLcom/android/internal/os/WakelockPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/WakelockPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HSPLcom/android/internal/os/WakelockPowerCalculator;->reset()V
-HSPLcom/android/internal/os/WifiPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
-HSPLcom/android/internal/os/WifiPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HSPLcom/android/internal/os/WifiPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HSPLcom/android/internal/os/WifiPowerCalculator;->reset()V
+HSPLcom/android/internal/os/StatsdHiddenApiUsageLogger;->getInstance()Lcom/android/internal/os/StatsdHiddenApiUsageLogger;
+HSPLcom/android/internal/os/StatsdHiddenApiUsageLogger;->setHiddenApiAccessLogSampleRates(II)V
HSPLcom/android/internal/os/Zygote;->applyDebuggerSystemProperty(Lcom/android/internal/os/ZygoteArguments;)V
HSPLcom/android/internal/os/Zygote;->applyInvokeWithSecurityPolicy(Lcom/android/internal/os/ZygoteArguments;Landroid/net/Credentials;)V
HSPLcom/android/internal/os/Zygote;->applyInvokeWithSystemProperty(Lcom/android/internal/os/ZygoteArguments;)V
HSPLcom/android/internal/os/Zygote;->applyUidSecurityPolicy(Lcom/android/internal/os/ZygoteArguments;Landroid/net/Credentials;)V
HSPLcom/android/internal/os/Zygote;->callPostForkChildHooks(IZZLjava/lang/String;)V
-HSPLcom/android/internal/os/Zygote;->callPostForkSystemServerHooks()V
HSPLcom/android/internal/os/Zygote;->createManagedSocketFromInitSocket(Ljava/lang/String;)Landroid/net/LocalServerSocket;
-HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;I)I
+HSPLcom/android/internal/os/Zygote;->disableExecuteOnly(I)V
+HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;IZ)I
+HSPLcom/android/internal/os/Zygote;->forkSystemServer(II[II[[IJJ)I
HSPLcom/android/internal/os/Zygote;->getConfigurationProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/os/Zygote;->getConfigurationPropertyBoolean(Ljava/lang/String;Ljava/lang/Boolean;)Z
+HSPLcom/android/internal/os/Zygote;->getUsapPoolEventFD()Ljava/io/FileDescriptor;
+HSPLcom/android/internal/os/Zygote;->getWrapProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/os/Zygote;->initNativeState(Z)V
HSPLcom/android/internal/os/Zygote;->readArgumentList(Ljava/io/BufferedReader;)[Ljava/lang/String;
-HSPLcom/android/internal/os/Zygote;->resetNicePriority()V
+HSPLcom/android/internal/os/Zygote;->setAppProcessName(Lcom/android/internal/os/ZygoteArguments;Ljava/lang/String;)V
HSPLcom/android/internal/os/ZygoteArguments;-><init>([Ljava/lang/String;)V
+HSPLcom/android/internal/os/ZygoteArguments;->getAssignmentValue(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/os/ZygoteArguments;->parseArgs([Ljava/lang/String;)V
-HSPLcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;-><init>()V
HSPLcom/android/internal/os/ZygoteConnection;-><init>(Landroid/net/LocalSocket;Ljava/lang/String;)V
HSPLcom/android/internal/os/ZygoteConnection;->canPreloadApp()Z
HSPLcom/android/internal/os/ZygoteConnection;->closeSocket()V
HSPLcom/android/internal/os/ZygoteConnection;->getFileDescriptor()Ljava/io/FileDescriptor;
HSPLcom/android/internal/os/ZygoteConnection;->handleAbiListQuery()V
-HSPLcom/android/internal/os/ZygoteConnection;->handleApiBlacklistExemptions(Lcom/android/internal/os/ZygoteServer;[Ljava/lang/String;)Ljava/lang/Runnable;
-HSPLcom/android/internal/os/ZygoteConnection;->handleChildProc(Lcom/android/internal/os/ZygoteArguments;[Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Z)Ljava/lang/Runnable;
+HSPLcom/android/internal/os/ZygoteConnection;->handleBootCompleted()V
+HSPLcom/android/internal/os/ZygoteConnection;->handleChildProc(Lcom/android/internal/os/ZygoteArguments;Ljava/io/FileDescriptor;Z)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteConnection;->handleHiddenApiAccessLogSampleRate(Lcom/android/internal/os/ZygoteServer;II)Ljava/lang/Runnable;
-HSPLcom/android/internal/os/ZygoteConnection;->handleParentProc(I[Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
-HSPLcom/android/internal/os/ZygoteConnection;->handlePreload()V
+HSPLcom/android/internal/os/ZygoteConnection;->handleParentProc(ILjava/io/FileDescriptor;)V
HSPLcom/android/internal/os/ZygoteConnection;->isClosedByPeer()Z
-HSPLcom/android/internal/os/ZygoteConnection;->isPreloadComplete()Z
-HSPLcom/android/internal/os/ZygoteConnection;->preload()V
+HSPLcom/android/internal/os/ZygoteConnection;->lambda$handleHiddenApiAccessLogSampleRate$1(II)V
HSPLcom/android/internal/os/ZygoteConnection;->processOneCommand(Lcom/android/internal/os/ZygoteServer;)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteConnection;->setChildPgid(I)V
HSPLcom/android/internal/os/ZygoteConnection;->stateChangeWithUsapPoolReset(Lcom/android/internal/os/ZygoteServer;Ljava/lang/Runnable;)Ljava/lang/Runnable;
-HSPLcom/android/internal/os/ZygoteInit;->createSystemServerClassLoader()V
-HSPLcom/android/internal/os/ZygoteInit;->encodeSystemServerClassPath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/os/ZygoteInit;->cacheNonBootClasspathClassLoaders()V
+HSPLcom/android/internal/os/ZygoteInit;->endPreload()V
HSPLcom/android/internal/os/ZygoteInit;->forkSystemServer(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/os/ZygoteServer;)Ljava/lang/Runnable;
-HSPLcom/android/internal/os/ZygoteInit;->handleSystemServerProcess(Lcom/android/internal/os/ZygoteArguments;)Ljava/lang/Runnable;
+HSPLcom/android/internal/os/ZygoteInit;->gcAndFinalize()V
HSPLcom/android/internal/os/ZygoteInit;->main([Ljava/lang/String;)V
-HSPLcom/android/internal/os/ZygoteInit;->performSystemServerDexOpt(Ljava/lang/String;)Z
+HSPLcom/android/internal/os/ZygoteInit;->maybePreloadGraphicsDriver()V
+HSPLcom/android/internal/os/ZygoteInit;->posixCapabilitiesAsBits([I)J
HSPLcom/android/internal/os/ZygoteInit;->preload(Landroid/util/TimingsTraceLog;)V
HSPLcom/android/internal/os/ZygoteInit;->preloadClasses()V
HSPLcom/android/internal/os/ZygoteInit;->preloadColorStateLists(Landroid/content/res/TypedArray;)I
HSPLcom/android/internal/os/ZygoteInit;->preloadDrawables(Landroid/content/res/TypedArray;)I
HSPLcom/android/internal/os/ZygoteInit;->preloadResources()V
-HSPLcom/android/internal/os/ZygoteInit;->prepareSystemServerProfile(Ljava/lang/String;)V
+HSPLcom/android/internal/os/ZygoteInit;->preloadSharedLibraries()V
+HSPLcom/android/internal/os/ZygoteInit;->preloadTextResources()V
+HSPLcom/android/internal/os/ZygoteInit;->setHiddenApiAccessLogSampleRate(I)V
+HSPLcom/android/internal/os/ZygoteInit;->setHiddenApiUsageLogger(Ldalvik/system/VMRuntime$HiddenApiUsageLogger;)V
+HSPLcom/android/internal/os/ZygoteInit;->shouldProfileSystemServer()Z
HSPLcom/android/internal/os/ZygoteInit;->warmUpJcaProviders()V
+HSPLcom/android/internal/os/ZygoteInit;->zygoteInit(I[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteServer;-><init>(Z)V
HSPLcom/android/internal/os/ZygoteServer;->acceptCommandPeer(Ljava/lang/String;)Lcom/android/internal/os/ZygoteConnection;
HSPLcom/android/internal/os/ZygoteServer;->closeServerSocket()V
HSPLcom/android/internal/os/ZygoteServer;->createNewConnection(Landroid/net/LocalSocket;Ljava/lang/String;)Lcom/android/internal/os/ZygoteConnection;
HSPLcom/android/internal/os/ZygoteServer;->fetchUsapPoolPolicyProps()V
+HSPLcom/android/internal/os/ZygoteServer;->fetchUsapPoolPolicyPropsWithMinInterval()V
HSPLcom/android/internal/os/ZygoteServer;->getZygoteSocketFileDescriptor()Ljava/io/FileDescriptor;
HSPLcom/android/internal/os/ZygoteServer;->isUsapPoolEnabled()Z
HSPLcom/android/internal/os/ZygoteServer;->runSelectLoop(Ljava/lang/String;)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteServer;->setForkChild()V
-HSPLcom/android/internal/policy/DecorContext;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
-HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources;
-HSPLcom/android/internal/policy/DecorContext;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/internal/policy/DecorContext;->setPhoneWindow(Lcom/android/internal/policy/PhoneWindow;)V
-HSPLcom/android/internal/policy/DecorView$1;-><init>()V
-HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;-><init>(IIIIILjava/lang/String;IILcom/android/internal/policy/DecorView$1;)V
HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(IIZ)Z
-HPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(IIIZ)Z
HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(ZIIZ)Z
HSPLcom/android/internal/policy/DecorView;-><init>(Landroid/content/Context;ILcom/android/internal/policy/PhoneWindow;Landroid/view/WindowManager$LayoutParams;)V
+HSPLcom/android/internal/policy/DecorView;->calculateBarColor(IIIIIIZ)I
+HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor()I
HSPLcom/android/internal/policy/DecorView;->createDecorCaptionView(Landroid/view/LayoutInflater;)Lcom/android/internal/widget/DecorCaptionView;
-HSPLcom/android/internal/policy/DecorView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLcom/android/internal/policy/DecorView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLcom/android/internal/policy/DecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
HSPLcom/android/internal/policy/DecorView;->draw(Landroid/graphics/Canvas;)V
-HSPLcom/android/internal/policy/DecorView;->drawResizingShadowIfNeeded(Landroid/graphics/RecordingCanvas;)V
HSPLcom/android/internal/policy/DecorView;->drawableChanged()V
HSPLcom/android/internal/policy/DecorView;->enableCaption(Z)V
HSPLcom/android/internal/policy/DecorView;->enforceNonTranslucentBackground(Landroid/graphics/drawable/Drawable;Z)Landroid/graphics/drawable/Drawable;
HSPLcom/android/internal/policy/DecorView;->finishChanging()V
-HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Landroid/graphics/Region;)Z
-HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Lcom/android/internal/policy/DecorView$ColorViewState;Landroid/graphics/Region;)Z
HSPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I
-HPLcom/android/internal/policy/DecorView;->getNavigationBarRect(IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/drawable/Drawable;
HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;
HSPLcom/android/internal/policy/DecorView;->initResizingPaints()V
HSPLcom/android/internal/policy/DecorView;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
HSPLcom/android/internal/policy/DecorView;->onAttachedToWindow()V
-HSPLcom/android/internal/policy/DecorView;->onCloseSystemDialogs(Ljava/lang/String;)V
-HSPLcom/android/internal/policy/DecorView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/internal/policy/DecorView;->onContentDrawn(IIII)Z
-HSPLcom/android/internal/policy/DecorView;->onDetachedFromWindow()V
HSPLcom/android/internal/policy/DecorView;->onDraw(Landroid/graphics/Canvas;)V
-HSPLcom/android/internal/policy/DecorView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
HSPLcom/android/internal/policy/DecorView;->onLayout(ZIIII)V
HSPLcom/android/internal/policy/DecorView;->onMeasure(II)V
-HSPLcom/android/internal/policy/DecorView;->onPostDraw(Landroid/graphics/RecordingCanvas;)V
HSPLcom/android/internal/policy/DecorView;->onResourcesLoaded(Landroid/view/LayoutInflater;I)V
-HSPLcom/android/internal/policy/DecorView;->onRootViewScrollYChanged(I)V
-HSPLcom/android/internal/policy/DecorView;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLcom/android/internal/policy/DecorView;->onWindowFocusChanged(Z)V
-HSPLcom/android/internal/policy/DecorView;->onWindowSystemUiVisibilityChanged(I)V
HSPLcom/android/internal/policy/DecorView;->sendAccessibilityEvent(I)V
-HSPLcom/android/internal/policy/DecorView;->setBackgroundFallback(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/policy/DecorView;->setColor(Landroid/view/View;IIZZ)V
HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z
HSPLcom/android/internal/policy/DecorView;->setWindow(Lcom/android/internal/policy/PhoneWindow;)V
HSPLcom/android/internal/policy/DecorView;->setWindowBackground(Landroid/graphics/drawable/Drawable;)V
HSPLcom/android/internal/policy/DecorView;->setWindowFrame(Landroid/graphics/drawable/Drawable;)V
HSPLcom/android/internal/policy/DecorView;->startChanging()V
-HSPLcom/android/internal/policy/DecorView;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLcom/android/internal/policy/DecorView;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V
HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIIZZIZZ)V
HSPLcom/android/internal/policy/DecorView;->updateColorViewTranslations()V
HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;
-HSPLcom/android/internal/policy/DecorView;->updateDecorCaptionStatus(Landroid/content/res/Configuration;)V
HSPLcom/android/internal/policy/DecorView;->updateElevation()V
HSPLcom/android/internal/policy/DecorView;->updateLogTag(Landroid/view/WindowManager$LayoutParams;)V
HSPLcom/android/internal/policy/DecorView;->updateStatusGuard(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
HSPLcom/android/internal/policy/DecorView;->willYouTakeTheInputQueue()Landroid/view/InputQueue$Callback;
HSPLcom/android/internal/policy/DecorView;->willYouTakeTheSurface()Landroid/view/SurfaceHolder$Callback2;
-HSPLcom/android/internal/policy/DividerSnapAlgorithm;-><init>(Landroid/content/res/Resources;IIIZLandroid/graphics/Rect;)V
-HSPLcom/android/internal/policy/DividerSnapAlgorithm;-><init>(Landroid/content/res/Resources;IIIZLandroid/graphics/Rect;IZ)V
-HSPLcom/android/internal/policy/DividerSnapAlgorithm;->addRatio16_9Targets(ZI)V
-HSPLcom/android/internal/policy/DividerSnapAlgorithm;->calculateTargets(ZI)V
-HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;-><init>()V
-HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->addStateMonitorCallback(Lcom/android/internal/policy/IKeyguardStateCallback;)V
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onBootCompleted()V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onDreamingStarted()V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onDreamingStopped()V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onFinishedGoingToSleep(IZ)V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onFinishedWakingUp()V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurnedOff()V
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurnedOn()V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurningOff()V
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onStartedGoingToSleep(I)V
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onStartedWakingUp()V
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onSystemReady()V
-HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setOccluded(ZZ)V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->startKeyguardExitAnimation(JJ)V
-HSPLcom/android/internal/policy/IKeyguardService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardService;
-HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;-><init>()V
-HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/policy/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IShortcutService;
-HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->getAudioManager()Landroid/media/AudioManager;
-HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->preDispatchKeyEvent(Landroid/view/KeyEvent;)V
+HSPLcom/android/internal/policy/PhoneFallbackEventHandler;-><init>(Landroid/content/Context;)V
HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->setView(Landroid/view/View;)V
-HSPLcom/android/internal/policy/PhoneLayoutInflater;-><init>(Landroid/content/Context;)V
HSPLcom/android/internal/policy/PhoneLayoutInflater;->cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;
HSPLcom/android/internal/policy/PhoneLayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLcom/android/internal/policy/PhoneWindow$1;->run()V
-HSPLcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState$1;-><init>()V
-HSPLcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/internal/policy/PhoneWindow$PanelFeatureState;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLcom/android/internal/policy/PhoneWindow$RotationWatcher;-><init>()V
HSPLcom/android/internal/policy/PhoneWindow;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/policy/PhoneWindow;-><init>(Landroid/content/Context;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
-HSPLcom/android/internal/policy/PhoneWindow;->alwaysReadCloseOnTouchAttr()V
-HSPLcom/android/internal/policy/PhoneWindow;->closeAllPanels()V
-HSPLcom/android/internal/policy/PhoneWindow;->closeContextMenu()V
-HSPLcom/android/internal/policy/PhoneWindow;->closePanel(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;Z)V
HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
-HSPLcom/android/internal/policy/PhoneWindow;->doInvalidatePanelMenu(I)V
HSPLcom/android/internal/policy/PhoneWindow;->generateDecor(I)Lcom/android/internal/policy/DecorView;
HSPLcom/android/internal/policy/PhoneWindow;->generateLayout(Lcom/android/internal/policy/DecorView;)Landroid/view/ViewGroup;
HSPLcom/android/internal/policy/PhoneWindow;->getDecorView()Landroid/view/View;
-HSPLcom/android/internal/policy/PhoneWindow;->getLayoutInflater()Landroid/view/LayoutInflater;
-HSPLcom/android/internal/policy/PhoneWindow;->getNavigationBarColor()I
-HSPLcom/android/internal/policy/PhoneWindow;->getNavigationBarDividerColor()I
-HSPLcom/android/internal/policy/PhoneWindow;->getPanelState(IZ)Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
-HSPLcom/android/internal/policy/PhoneWindow;->getPanelState(IZLcom/android/internal/policy/PhoneWindow$PanelFeatureState;)Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
HSPLcom/android/internal/policy/PhoneWindow;->getTransition(Landroid/transition/Transition;Landroid/transition/Transition;I)Landroid/transition/Transition;
-HSPLcom/android/internal/policy/PhoneWindow;->getVolumeControlStream()I
HSPLcom/android/internal/policy/PhoneWindow;->installDecor()V
-HSPLcom/android/internal/policy/PhoneWindow;->invalidatePanelMenu(I)V
HSPLcom/android/internal/policy/PhoneWindow;->isFloating()Z
HSPLcom/android/internal/policy/PhoneWindow;->isShowingWallpaper()Z
HSPLcom/android/internal/policy/PhoneWindow;->isTranslucent()Z
-HSPLcom/android/internal/policy/PhoneWindow;->onActive()V
-HSPLcom/android/internal/policy/PhoneWindow;->onKeyDown(IILandroid/view/KeyEvent;)Z
-HSPLcom/android/internal/policy/PhoneWindow;->onKeyUp(IILandroid/view/KeyEvent;)Z
HSPLcom/android/internal/policy/PhoneWindow;->onViewRootImplSet(Landroid/view/ViewRootImpl;)V
HSPLcom/android/internal/policy/PhoneWindow;->openPanelsAfterRestore()V
-HSPLcom/android/internal/policy/PhoneWindow;->peekDecorView()Landroid/view/View;
HSPLcom/android/internal/policy/PhoneWindow;->requestFeature(I)Z
-HSPLcom/android/internal/policy/PhoneWindow;->restoreHierarchyState(Landroid/os/Bundle;)V
-HSPLcom/android/internal/policy/PhoneWindow;->saveHierarchyState()Landroid/os/Bundle;
-HPLcom/android/internal/policy/PhoneWindow;->sendCloseSystemWindows(Landroid/content/Context;Ljava/lang/String;)V
HSPLcom/android/internal/policy/PhoneWindow;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
-HSPLcom/android/internal/policy/PhoneWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/policy/PhoneWindow;->setCloseOnSwipeEnabled(Z)V
-HSPLcom/android/internal/policy/PhoneWindow;->setContentView(I)V
HSPLcom/android/internal/policy/PhoneWindow;->setContentView(Landroid/view/View;)V
HSPLcom/android/internal/policy/PhoneWindow;->setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLcom/android/internal/policy/PhoneWindow;->setDefaultIcon(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setDefaultLogo(I)V
HSPLcom/android/internal/policy/PhoneWindow;->setDefaultWindowFormat(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setNavigationBarColor(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setStatusBarColor(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setTheme(I)V
HSPLcom/android/internal/policy/PhoneWindow;->setTitle(Ljava/lang/CharSequence;)V
HSPLcom/android/internal/policy/PhoneWindow;->setTitle(Ljava/lang/CharSequence;Z)V
HSPLcom/android/internal/policy/PhoneWindow;->setTitleColor(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setVolumeControlStream(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLcom/android/internal/policy/PhoneWindow;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLcom/android/internal/policy/PipSnapAlgorithm;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->applySnapFraction(Landroid/graphics/Rect;Landroid/graphics/Rect;F)V
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->calculateSnapTargets()V
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->getMovementBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;I)V
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->getSizeForAspectRatio(FFII)Landroid/util/Size;
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->getSnapFraction(Landroid/graphics/Rect;Landroid/graphics/Rect;)F
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->onConfigurationChanged()V
-HSPLcom/android/internal/policy/PipSnapAlgorithm;->snapRectToClosestEdge(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLcom/android/internal/policy/ScreenDecorationsUtils;->getWindowCornerRadius(Landroid/content/res/Resources;)F
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionCancelled(I)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionFinished(I)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionPending(I)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionStarting(IJJ)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->disable(III)V
-HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->handleSystemKey(I)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onProposedRotationChanged(IZ)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setImeWindowStatus(ILandroid/os/IBinder;IIZ)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setTopAppHidesStatusBar(Z)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setWindowState(III)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->topAppWindowChanged(IZ)V
-HSPLcom/android/internal/statusbar/IStatusBarService$Stub;-><init>()V
+HSPLcom/android/internal/policy/ScreenDecorationsUtils;->supportsRoundedCornersOnWindows(Landroid/content/res/Resources;)Z
HSPLcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
-HSPLcom/android/internal/statusbar/IStatusBarService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/statusbar/NotificationVisibility$1;-><init>()V
-PLcom/android/internal/statusbar/NotificationVisibility$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/statusbar/NotificationVisibility;
-HPLcom/android/internal/statusbar/NotificationVisibility$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLcom/android/internal/statusbar/NotificationVisibility$1;->newArray(I)[Lcom/android/internal/statusbar/NotificationVisibility;
-HPLcom/android/internal/statusbar/NotificationVisibility$1;->newArray(I)[Ljava/lang/Object;
-HSPLcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;-><init>(Ljava/lang/String;II)V
-PLcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;->values()[Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
-HPLcom/android/internal/statusbar/NotificationVisibility;->readFromParcel(Landroid/os/Parcel;)V
-HSPLcom/android/internal/statusbar/NotificationVisibility;->recycle()V
-HSPLcom/android/internal/statusbar/StatusBarIcon;-><init>(Landroid/os/UserHandle;Ljava/lang/String;Landroid/graphics/drawable/Icon;IILjava/lang/CharSequence;)V
-PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
-PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnectionComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;Landroid/telecom/Logging/Session$Info;)V
-PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->removeConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-PLcom/android/internal/telecom/IConnectionService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IConnectionService;
-PLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;-><init>()V
-PLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/telecom/IInCallAdapter$Stub;-><init>()V
-PLcom/android/internal/telecom/IInCallAdapter$Stub;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/telecom/IInCallService$Stub$Proxy;->addCall(Landroid/telecom/ParcelableCall;)V
-PLcom/android/internal/telecom/IInCallService$Stub$Proxy;->onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-PLcom/android/internal/telecom/IInCallService$Stub$Proxy;->onCanAddCallChanged(Z)V
-PLcom/android/internal/telecom/IInCallService$Stub$Proxy;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
-HPLcom/android/internal/telecom/IInCallService$Stub$Proxy;->updateCall(Landroid/telecom/ParcelableCall;)V
-PLcom/android/internal/telecom/IInCallService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IInCallService;
-HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallCapablePhoneAccounts(ZLjava/lang/String;)Ljava/util/List;
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallState()I
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCurrentTtyMode(Ljava/lang/String;)I
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultDialerPackage()Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccountsSupportingScheme(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSystemDialerPackage()Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getUserSelectedOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInCall(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLcom/android/internal/telecom/ITelecomService$Stub;-><init>()V
HSPLcom/android/internal/telecom/ITelecomService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ITelecomService;
-HPLcom/android/internal/telecom/ITelecomService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telecom/IVideoProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IVideoProvider;
-PLcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->onResult(Ljava/util/List;Ljava/util/List;)V
-HSPLcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$o5faRHxto_4PRqL7yYyTpAmBXy4;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$o5faRHxto_4PRqL7yYyTpAmBXy4;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$AjZFvwh3Ujx5W3fleFNksc6bLf0;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$FHid4fId_8FGzS_VkQR6V_NuxrY;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$Ja9yTBcEYPqTRBIP-hL0otixVeE;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;->applyAsInt(I)I
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionController$Nt_ojdeqo4C2mbuwymYLvwgOLGo;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionController$VCQsMNqRHpN3RyoXYzh2YUwA2yc;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionController$u5xE-urXR6ElZ50305_6guo20Fc;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$-zZXM9oMRZ3vZz7dJOG19J00Bmw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$MMx9iQX0JVqqMPLTUZhdBubFSzU;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$eUdIxJOKoyVP5UmFJtWXBUO93Qk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$nLdppNQT1Bv7QyIU3LwAwVD2K60;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I;->get()Ljava/lang/Object;
-HSPLcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;->applyAsInt(Ljava/lang/Object;)I
-HSPLcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;-><init>()V
-HSPLcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/AppSmsManager;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/BaseCommands;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/BaseCommands;->getRadioState()I
-HSPLcom/android/internal/telephony/BaseCommands;->getRilVersion()I
-HSPLcom/android/internal/telephony/BaseCommands;->registerForAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForCdmaOtaProvision(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForCdmaSubscriptionChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForCellInfoList(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForDataCallListChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForEmergencyNumberList(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForExitEmergencyCallbackMode(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForHardwareConfigChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForIccRefresh(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForIccStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForImsNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForInCallVoicePrivacyOff(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForInCallVoicePrivacyOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForLceInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForModemReset(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForNattKeepaliveStatus(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForNotAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForOffOrNotAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForPcoData(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForPhysicalChannelConfiguration(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForRadioCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForRadioStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForResendIncallMute(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForRilConnected(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForRingbackTone(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForSignalInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForSrvccStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForSubscriptionStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->registerForVoiceRadioTechChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setEmergencyCallbackMode(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnCallRing(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnCatCallSetUp(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnCatCcAlphaNotify(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnCatEvent(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnCatProactiveCmd(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnCatSessionEnd(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnIccSmsFull(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnNewCdmaSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnNewGsmBroadcastSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnNewGsmSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnRestrictedStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnSignalStrengthUpdate(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnSmsOnSim(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnSmsStatus(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnSs(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnSuppServiceNotification(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnUSSD(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setOnUnsolOemHookRaw(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setRadioState(IZ)V
-HSPLcom/android/internal/telephony/BaseCommands;->unregisterForCallWaitingInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/BaseCommands;->unregisterForCdmaOtaProvision(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/BaseCommands;->unregisterForCdmaPrlChanged(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/BaseCommands;->unregisterForInCallVoicePrivacyOff(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/BaseCommands;->unregisterForInCallVoicePrivacyOn(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/BaseCommands;->unregisterForLceInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/BaseCommands;->unregisterForNattKeepaliveStatus(Landroid/os/Handler;)V
-PLcom/android/internal/telephony/BlockChecker;->getBlockStatus(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)I
-HSPLcom/android/internal/telephony/Call$SrvccState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/Call$State;-><init>(Ljava/lang/String;I)V
-HPLcom/android/internal/telephony/Call$State;->isRinging()Z
-HSPLcom/android/internal/telephony/Call$State;->values()[Lcom/android/internal/telephony/Call$State;
-HSPLcom/android/internal/telephony/Call;->clearDisconnected()V
-HSPLcom/android/internal/telephony/Call;->getEarliestConnection()Lcom/android/internal/telephony/Connection;
-HSPLcom/android/internal/telephony/Call;->getState()Lcom/android/internal/telephony/Call$State;
-HSPLcom/android/internal/telephony/Call;->isIdle()Z
-HSPLcom/android/internal/telephony/Call;->isRinging()Z
-HSPLcom/android/internal/telephony/Call;->setState(Lcom/android/internal/telephony/Call$State;)V
-HSPLcom/android/internal/telephony/CallManager$CallManagerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CallManager;-><init>()V
-HPLcom/android/internal/telephony/CallManager;->getActiveFgCall(I)Lcom/android/internal/telephony/Call;
-HPLcom/android/internal/telephony/CallManager;->getActiveFgCallState(I)Lcom/android/internal/telephony/Call$State;
-HPLcom/android/internal/telephony/CallManager;->getFirstNonIdleCall(Ljava/util/List;I)Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/CallManager;->getInstance()Lcom/android/internal/telephony/CallManager;
-HPLcom/android/internal/telephony/CallManager;->getPhone(I)Lcom/android/internal/telephony/Phone;
-HPLcom/android/internal/telephony/CallManager;->hasActiveFgCall()Z
-HPLcom/android/internal/telephony/CallManager;->hasMoreThanOneRingingCall()Z
-HSPLcom/android/internal/telephony/CallManager;->registerForDisconnect(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForInCallVoicePrivacyOff(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForInCallVoicePrivacyOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForMmiComplete(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForPhoneStates(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForSignalInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForSuppServiceFailed(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForTtyModeReceived(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CallManager;->registerPhone(Lcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/CallTracker;->handleRadioAvailable()V
-HSPLcom/android/internal/telephony/CallTracker;->pollCallsWhenSafe()V
-HPLcom/android/internal/telephony/CallerInfo;->doSecondaryLookupIfNecessary(Landroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfo;)Lcom/android/internal/telephony/CallerInfo;
-HPLcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Landroid/net/Uri;Landroid/database/Cursor;)Lcom/android/internal/telephony/CallerInfo;
-HPLcom/android/internal/telephony/CallerInfo;->getCurrentCountryIso(Landroid/content/Context;Ljava/util/Locale;)Ljava/lang/String;
-HPLcom/android/internal/telephony/CallerInfo;->getGeoDescription(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/internal/telephony/CallerInfo;->toString()Ljava/lang/String;
-PLcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler$1;->run()V
-HPLcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler$CallerInfoWorkerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
-HPLcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler;->onQueryComplete(ILjava/lang/Object;Landroid/database/Cursor;)V
-PLcom/android/internal/telephony/CallerInfoAsyncQuery;->getCurrentProfileContentResolver(Landroid/content/Context;)Landroid/content/ContentResolver;
-PLcom/android/internal/telephony/CallerInfoAsyncQuery;->sanitizeUriToString(Landroid/net/Uri;)Ljava/lang/String;
-PLcom/android/internal/telephony/CallerInfoAsyncQuery;->startQuery(ILandroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfoAsyncQuery$OnQueryCompleteListener;Ljava/lang/Object;)Lcom/android/internal/telephony/CallerInfoAsyncQuery;
-PLcom/android/internal/telephony/CallerInfoAsyncQuery;->startQuery(ILandroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfoAsyncQuery$OnQueryCompleteListener;Ljava/lang/Object;I)Lcom/android/internal/telephony/CallerInfoAsyncQuery;
-HSPLcom/android/internal/telephony/CarrierActionAgent$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionReportDefaultNetworkStatus(Z)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionReset()V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionSetMeteredApnsEnabled(Z)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionSetRadioEnabled(Z)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->getCarrierActionEnabled(I)Ljava/lang/Boolean;
-HSPLcom/android/internal/telephony/CarrierActionAgent;->getRegistrantsFromAction(I)Landroid/os/RegistrantList;
-HSPLcom/android/internal/telephony/CarrierActionAgent;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/CarrierActionAgent;->registerForCarrierAction(ILandroid/os/Handler;ILjava/lang/Object;Z)V
-HSPLcom/android/internal/telephony/CarrierAppUtils;->disableCarrierAppsUntilPrivileged(Ljava/lang/String;Landroid/content/pm/IPackageManager;Landroid/content/ContentResolver;I)V
-HSPLcom/android/internal/telephony/CarrierAppUtils;->disableCarrierAppsUntilPrivileged(Ljava/lang/String;Landroid/content/pm/IPackageManager;Landroid/telephony/TelephonyManager;Landroid/content/ContentResolver;I)V
-HSPLcom/android/internal/telephony/CarrierAppUtils;->disableCarrierAppsUntilPrivileged(Ljava/lang/String;Landroid/content/pm/IPackageManager;Landroid/telephony/TelephonyManager;Landroid/content/ContentResolver;ILandroid/util/ArraySet;Landroid/util/ArrayMap;)V
-HSPLcom/android/internal/telephony/CarrierAppUtils;->getApplicationInfoIfSystemApp(Landroid/content/pm/IPackageManager;ILjava/lang/String;)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/internal/telephony/CarrierAppUtils;->getDefaultCarrierAppCandidatesHelper(Landroid/content/pm/IPackageManager;ILandroid/util/ArraySet;)Ljava/util/List;
-HSPLcom/android/internal/telephony/CarrierAppUtils;->getDefaultCarrierAssociatedAppsHelper(Landroid/content/pm/IPackageManager;ILandroid/util/ArrayMap;)Ljava/util/Map;
-HSPLcom/android/internal/telephony/CarrierInfoManager;->getCarrierInfoForImsiEncryption(ILandroid/content/Context;)Landroid/telephony/ImsiEncryptionInfo;
-HSPLcom/android/internal/telephony/CarrierKeyDownloadManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->carrierUsesKeys()Z
-HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->cleanupRenewalAlarms()V
-HSPLcom/android/internal/telephony/CarrierResolver$1;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ILjava/lang/String;I)V
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->match(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)V
-HSPLcom/android/internal/telephony/CarrierResolver;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CarrierResolver;->getCarrierId()I
-HSPLcom/android/internal/telephony/CarrierResolver;->getCarrierIdFromMccMnc(Landroid/content/Context;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/CarrierResolver;->getCarrierListVersion()I
-HSPLcom/android/internal/telephony/CarrierResolver;->getPreferApn()Ljava/lang/String;
-HSPLcom/android/internal/telephony/CarrierResolver;->getSpecificCarrierId()I
-HSPLcom/android/internal/telephony/CarrierResolver;->getSubscriptionMatchingRule()Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;
-HSPLcom/android/internal/telephony/CarrierResolver;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CarrierResolver;->handleSimLoaded()V
-HSPLcom/android/internal/telephony/CarrierResolver;->loadCarrierMatchingRulesOnMccMnc()V
-HSPLcom/android/internal/telephony/CarrierResolver;->makeCarrierMatchingRule(Landroid/database/Cursor;)Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;
-HSPLcom/android/internal/telephony/CarrierResolver;->matchSubscriptionCarrier()V
-HSPLcom/android/internal/telephony/CarrierResolver;->resolveSubscriptionCarrierId(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/CarrierResolver;->updateCarrierIdAndName(ILjava/lang/String;ILjava/lang/String;I)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$2;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->getPackage()Ljava/lang/String;
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->getPhoneId()I
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->rebind()V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->unbind(Z)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->evaluateBinding(Ljava/lang/String;Z)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/CarrierServiceBindHelper;->updateForPhoneId(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$1;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$EmergencyNetworkNotification;->getTypeId()I
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$EmergencyNetworkNotification;->sendMessage()Z
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$EmergencyNetworkNotification;->setDelay(Landroid/os/PersistableBundle;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$PrefNetworkNotification;->getTypeId()I
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$PrefNetworkNotification;->sendMessage()Z
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker$PrefNetworkNotification;->setDelay(Landroid/os/PersistableBundle;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/ServiceStateTracker;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->cancelNotification(I)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->evaluateSendingMessage(Lcom/android/internal/telephony/CarrierServiceStateTracker$NotificationType;)Z
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->evaluateSendingMessageOrCancelNotification(Lcom/android/internal/telephony/CarrierServiceStateTracker$NotificationType;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->getNotificationManager(Landroid/content/Context;)Landroid/app/NotificationManager;
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->handleConfigChanges()V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->isGlobalMode()Z
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->isPhoneRegisteredForWifiCalling()Z
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->isPhoneStillRegistered()Z
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->registerNotificationTypes()V
-HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->registerPrefNetworkModeObserver()V
-HSPLcom/android/internal/telephony/CarrierSignalAgent$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/CarrierSignalAgent;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CarrierSignalAgent;->broadcast(Landroid/content/Intent;Ljava/util/Set;Z)V
-HSPLcom/android/internal/telephony/CarrierSignalAgent;->hasRegisteredReceivers(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/CarrierSignalAgent;->loadCarrierConfig()V
-HSPLcom/android/internal/telephony/CarrierSignalAgent;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/CarrierSignalAgent;->notifyCarrierSignalReceivers(Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/CarrierSignalAgent;->parseAndCache([Ljava/lang/String;)Ljava/util/Map;
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;-><init>(Lcom/android/internal/telephony/CellularNetworkService;I)V
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->convertHalCellIdentityToCellIdentity(Landroid/hardware/radio/V1_2/CellIdentity;)Landroid/telephony/CellIdentity;
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->createRegistrationStateFromDataRegState(Ljava/lang/Object;)Landroid/telephony/NetworkRegistrationInfo;
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->createRegistrationStateFromVoiceRegState(Ljava/lang/Object;)Landroid/telephony/NetworkRegistrationInfo;
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getAccessNetworkTechnologyFromRat(I)I
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getAvailableServices(IIZ)Ljava/util/List;
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getRegStateFromHalRegState(I)I
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->requestNetworkRegistrationInfo(ILandroid/telephony/NetworkServiceCallback;)V
-HSPLcom/android/internal/telephony/CellularNetworkService;-><init>()V
-HSPLcom/android/internal/telephony/CellularNetworkService;->onCreateNetworkServiceProvider(I)Landroid/telephony/NetworkService$NetworkServiceProvider;
-HSPLcom/android/internal/telephony/ClientWakelockAccountant;->changeConcurrentRequests(IJ)V
-HSPLcom/android/internal/telephony/ClientWakelockAccountant;->completeRequest(Lcom/android/internal/telephony/RilWakelockInfo;J)V
-HSPLcom/android/internal/telephony/ClientWakelockAccountant;->getPendingRequestCount()I
-HSPLcom/android/internal/telephony/ClientWakelockAccountant;->removePendingWakelock(II)Lcom/android/internal/telephony/RilWakelockInfo;
-HSPLcom/android/internal/telephony/ClientWakelockAccountant;->startAttributingWakelock(IIIJ)V
-HSPLcom/android/internal/telephony/ClientWakelockAccountant;->stopAttributingWakelock(IIJ)V
-HSPLcom/android/internal/telephony/ClientWakelockTracker;->getClientWakelockAccountant(Ljava/lang/String;)Lcom/android/internal/telephony/ClientWakelockAccountant;
-HSPLcom/android/internal/telephony/ClientWakelockTracker;->isClientActive(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ClientWakelockTracker;->startTracking(Ljava/lang/String;III)V
-HSPLcom/android/internal/telephony/ClientWakelockTracker;->stopTracking(Ljava/lang/String;III)V
-HSPLcom/android/internal/telephony/ClientWakelockTracker;->updateConcurrentRequests(IJ)V
-HSPLcom/android/internal/telephony/CommandException$Error;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/CommandException;->fromRilErrno(I)Lcom/android/internal/telephony/CommandException;
-HSPLcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
-HPLcom/android/internal/telephony/Connection;-><init>(I)V
-HPLcom/android/internal/telephony/Connection;->addListener(Lcom/android/internal/telephony/Connection$Listener;)V
-HPLcom/android/internal/telephony/Connection;->addPostDialListener(Lcom/android/internal/telephony/Connection$PostDialListener;)V
-HPLcom/android/internal/telephony/Connection;->getAddress()Ljava/lang/String;
-HPLcom/android/internal/telephony/Connection;->getAudioModeIsVoip()Z
-HPLcom/android/internal/telephony/Connection;->getAudioQuality()I
-HPLcom/android/internal/telephony/Connection;->getCallRadioTech()I
-HPLcom/android/internal/telephony/Connection;->getCnapName()Ljava/lang/String;
-HPLcom/android/internal/telephony/Connection;->getCnapNamePresentation()I
-HPLcom/android/internal/telephony/Connection;->getConnectTime()J
-HPLcom/android/internal/telephony/Connection;->getConnectionCapabilities()I
-HPLcom/android/internal/telephony/Connection;->getConnectionExtras()Landroid/os/Bundle;
-HPLcom/android/internal/telephony/Connection;->getCreateTime()J
-HPLcom/android/internal/telephony/Connection;->getDisconnectCause()I
-HPLcom/android/internal/telephony/Connection;->getPhoneType()I
-HPLcom/android/internal/telephony/Connection;->getPostDialState()Lcom/android/internal/telephony/Connection$PostDialState;
-HPLcom/android/internal/telephony/Connection;->getTelecomCallId()Ljava/lang/String;
-HPLcom/android/internal/telephony/Connection;->getVideoProvider()Landroid/telecom/Connection$VideoProvider;
-HPLcom/android/internal/telephony/Connection;->getVideoState()I
-HPLcom/android/internal/telephony/Connection;->isActiveCallDisconnectedOnAnswer()Z
-HPLcom/android/internal/telephony/Connection;->isIncoming()Z
-HPLcom/android/internal/telephony/Connection;->isNetworkIdentifiedEmergencyCall()Z
-HPLcom/android/internal/telephony/Connection;->isPulledCall()Z
-HPLcom/android/internal/telephony/Connection;->notifyDisconnect(I)V
-HPLcom/android/internal/telephony/Connection;->removeListener(Lcom/android/internal/telephony/Connection$Listener;)V
-HPLcom/android/internal/telephony/Connection;->removePostDialListener(Lcom/android/internal/telephony/Connection$PostDialListener;)V
-HPLcom/android/internal/telephony/Connection;->setAudioQuality(I)V
-HPLcom/android/internal/telephony/Connection;->setCallRadioTech(I)V
-HPLcom/android/internal/telephony/Connection;->setTelecomCallId(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/Connection;->shouldAllowAddCallDuringVideoCall()Z
-HSPLcom/android/internal/telephony/DctConstants$Activity;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/DctConstants$Activity;->values()[Lcom/android/internal/telephony/DctConstants$Activity;
-HSPLcom/android/internal/telephony/DctConstants$State;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/DctConstants$State;->values()[Lcom/android/internal/telephony/DctConstants$State;
-HSPLcom/android/internal/telephony/DebugService;-><init>()V
-HPLcom/android/internal/telephony/DebugService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertDataActivityState(Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;)I
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertPreciseCallState(Lcom/android/internal/telephony/Call$State;)I
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->doNotifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCallForwardingChanged(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCellInfo(Lcom/android/internal/telephony/Phone;Ljava/util/List;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCellLocation(Lcom/android/internal/telephony/Phone;Landroid/telephony/CellLocation;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataActivity(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyEmergencyNumberList()V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyMessageWaitingChanged(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyOtaspChanged(Lcom/android/internal/telephony/Phone;I)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPhoneState(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPhysicalChannelConfiguration(Lcom/android/internal/telephony/Phone;Ljava/util/List;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPreciseCallState(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPreciseDataConnectionFailed(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyRadioPowerStateChanged(I)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyServiceState(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifySignalStrength(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor$1;->onAvailable(Landroid/net/Network;)V
-HPLcom/android/internal/telephony/DeviceStateMonitor$1;->onLost(Landroid/net/Network;)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor$2;->onDisplayChanged(I)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->computeCellInfoMinInterval()I
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->isScreenOn()Z
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->onReset()V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->onUpdateDeviceState(IZ)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->sendDeviceState(IZ)V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->setLinkCapacityReportingCriteria()V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->setSignalStrengthReportingCriteria()V
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->setUnsolResponseFilter(IZ)V
-HSPLcom/android/internal/telephony/ExponentialBackoff$1;->removeCallbacks(Ljava/lang/Runnable;)V
-HSPLcom/android/internal/telephony/ExponentialBackoff;-><init>(JJILandroid/os/Looper;Ljava/lang/Runnable;)V
-HSPLcom/android/internal/telephony/ExponentialBackoff;->stop()V
-HSPLcom/android/internal/telephony/GlobalSettingsHelper;->getSettingName(Landroid/content/Context;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/GlobalSettingsHelper;->setInt(Landroid/content/Context;Ljava/lang/String;II)Z
-HSPLcom/android/internal/telephony/GsmAlphabet;->enableCountrySpecificEncodings()V
-HSPLcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BIIIII)Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaCall;->getConnections()Ljava/util/List;
-HPLcom/android/internal/telephony/GsmCdmaCall;->getPhone()Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->dispatchCsCallRadioTech(I)V
-HPLcom/android/internal/telephony/GsmCdmaCallTracker;->getPhone()Lcom/android/internal/telephony/GsmCdmaPhone;
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->handlePollCalls(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->registerForCallWaiting(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->registerForVoiceCallEnded(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->registerForVoiceCallStarted(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForCallWaiting(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForVoiceCallEnded(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForVoiceCallStarted(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->updatePhoneState()V
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->updatePhoneType(Z)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;ZIILcom/android/internal/telephony/TelephonyComponentFactory;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getBackgroundCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getBackgroundCall()Lcom/android/internal/telephony/GsmCdmaCall;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCarrierId()I
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCarrierInfoForImsiEncryption(I)Landroid/telephony/ImsiEncryptionInfo;
-HPLcom/android/internal/telephony/GsmCdmaPhone;->getCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCsCallRadioTech(II)I
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDataActivityState()Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDataConnectionState(Ljava/lang/String;)Lcom/android/internal/telephony/PhoneConstants$DataState;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDataRoamingEnabled()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDeviceId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getEmergencyNumberTracker()Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getForegroundCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getForegroundCall()Lcom/android/internal/telephony/GsmCdmaCall;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getFullIccSerialNumber()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getGroupIdLevel1()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getGroupIdLevel2()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccCard()Lcom/android/internal/telephony/IccCard;
-HPLcom/android/internal/telephony/GsmCdmaPhone;->getIccPhoneBookInterfaceManager()Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccRecordsLoaded()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccSerialNumber()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccSmsInterfaceManager()Lcom/android/internal/telephony/IccSmsInterfaceManager;
-HPLcom/android/internal/telephony/GsmCdmaPhone;->getImei()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIsimRecords()Lcom/android/internal/telephony/uicc/IsimRecords;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getLine1AlphaTag()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getLine1Number()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getOperatorNumeric()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getPhoneType()I
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getPlmn()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getRingingCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getServiceState()Landroid/telephony/ServiceState;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getSpecificCarrierId()I
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getSubscriberId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getTransportManager()Lcom/android/internal/telephony/dataconnection/TransportManager;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getUiccCardApplication()Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getVmSimImsi()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getVoiceMailNumber()Ljava/lang/String;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleRadioAvailable()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleRadioOffOrNotAvailable()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleRadioPowerStateChange()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->initOnce(Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->initRatSpecific(I)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->isInEmergencyCall()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->isPhoneTypeCdma()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->isPhoneTypeCdmaLte()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->isPhoneTypeGsm()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->isUserDataEnabled()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->loadTtyMode()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->logi(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->mergeServiceStates(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;)Landroid/telephony/ServiceState;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyCallForwardingIndicator()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyLocationChanged(Landroid/telephony/CellLocation;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyPhoneStateChanged()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyPreciseCallStateChanged()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->onUpdateIccAvailability()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->phoneObjectUpdater(I)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->prepareEri()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForCallWaiting(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForCdmaOtaStatusChange(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForEcmTimerReset(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForIccRecordEvents()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForSubscriptionInfoReady(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->resolveSubscriptionCarrierId(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setBroadcastEmergencyCallStateChanges(Z)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setLinkCapacityReportingCriteria([I[II)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setSignalStrengthReportingCriteria([II)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setUiTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->syncClirSetting()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->unregisterForCallWaiting(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->unregisterForEriFileLoaded(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->unregisterForSimRecordsLoaded(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->updateCurrentCarrierInProvider()Z
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->updateVoiceMail()V
-HSPLcom/android/internal/telephony/HalVersion;-><init>(II)V
-HSPLcom/android/internal/telephony/HalVersion;->compareTo(Lcom/android/internal/telephony/HalVersion;)I
-HSPLcom/android/internal/telephony/HalVersion;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/HalVersion;->greater(Lcom/android/internal/telephony/HalVersion;)Z
-HSPLcom/android/internal/telephony/HalVersion;->greaterOrEqual(Lcom/android/internal/telephony/HalVersion;)Z
-HSPLcom/android/internal/telephony/HalVersion;->less(Lcom/android/internal/telephony/HalVersion;)Z
-HSPLcom/android/internal/telephony/HalVersion;->lessOrEqual(Lcom/android/internal/telephony/HalVersion;)Z
-HSPLcom/android/internal/telephony/HalVersion;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/HardwareConfig;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/HardwareConfig;->assignModem(Ljava/lang/String;IIIIII)V
-HSPLcom/android/internal/telephony/HardwareConfig;->assignSim(Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/HardwareConfig;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getConfigForSubId(ILjava/lang/String;)Landroid/os/PersistableBundle;
-HPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;-><init>()V
+HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getConfigForSubIdWithFeature(ILjava/lang/String;Ljava/lang/String;)Landroid/os/PersistableBundle;
HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ICarrierConfigLoader;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/telephony/IIccPhoneBook$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/telephony/IMms$Stub$Proxy;->getAutoPersisting()Z
-HSPLcom/android/internal/telephony/IMms$Stub;-><init>()V
-HSPLcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms;
-HPLcom/android/internal/telephony/IMms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->onSubscriptionsChanged()V
HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;-><init>()V
HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->asBinder()Landroid/os/IBinder;
HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IOns$Stub;-><init>()V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onActiveDataSubIdChanged(I)V
-HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallAttributesChanged(Landroid/telephony/CallAttributes;)V
-PLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallDisconnectCauseChanged(II)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallForwardingIndicatorChanged(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallStateChanged(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCarrierNetworkChange(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onDataActivity(I)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onDataConnectionStateChanged(II)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onMessageWaitingIndicatorChanged(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;-><init>()V
HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;-><init>()V
HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneSubInfo;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms;
-HSPLcom/android/internal/telephony/ISms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ISmsImplBase;-><init>()V
+HSPLcom/android/internal/telephony/ISub$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList(Z)[I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoList(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultDataSubId()I
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubId()I
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultVoiceSubId()I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getPhoneId(I)I
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSimStateForSlotIndex(I)I
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSlotIndex(I)I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSubId(I)[I
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->isActiveSubId(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ISub$Stub;-><init>()V
HSPLcom/android/internal/telephony/ISub$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISub;
-HSPLcom/android/internal/telephony/ISub$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getActivePhoneTypeForSlot(I)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getAllCellInfo(Ljava/lang/String;)Ljava/util/List;
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierIdFromMccMnc(ILjava/lang/String;Z)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatusForUid(II)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataNetworkTypeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataState()I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getEmergencyNumberList(Ljava/lang/String;)Ljava/util/Map;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImeiForSlot(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1NumberForDisplay(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMergedSubscriberIds(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPackagesWithCarrierPrivileges()Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getServiceStateForSubscriber(ILjava/lang/String;)Landroid/telephony/ServiceState;
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSignalStrength(I)Landroid/telephony/SignalStrength;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubscriptionCarrierId(I)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getTetherApnRequiredForSubscriber(I)Z
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVisualVoicemailPackageName(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceNetworkTypeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVtDataUsage(IZ)Landroid/net/NetworkStats;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isEmergencyNumber(Ljava/lang/String;Z)Z
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceIdWithFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImeiForSlot(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkCountryIsoForPhone(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isUserDataEnabled(I)Z
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->setPolicyDataEnabled(ZI)V
-HSPLcom/android/internal/telephony/ITelephony$Stub;-><init>()V
HSPLcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony;
-HSPLcom/android/internal/telephony/ITelephony$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyActiveDataSubIdChanged(I)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallForwardingChangedForSubscriber(IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellInfoForSubscriber(ILjava/util/List;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataActivityForSubscriber(II)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyEmergencyNumberList()V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOtaspChanged(I)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseCallState(IIII)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyRadioPowerStateChanged(I)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySubscriptionInfoChanged()V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;-><init>()V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->listenForSubscriber(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephonyRegistry;
-HPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IccCard;->getState()Lcom/android/internal/telephony/IccCardConstants$State;
-HSPLcom/android/internal/telephony/IccCard;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/IccCardConstants$State;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/IccCardConstants$State;->values()[Lcom/android/internal/telephony/IccCardConstants$State;
-HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;->notifyPending(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;Ljava/lang/Object;)V
-HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V
-HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->getAdnRecordsInEf(I)Ljava/util/List;
-HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->updateIccRecords(Lcom/android/internal/telephony/uicc/IccRecords;)V
-HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;)V
-HSPLcom/android/internal/telephony/IccProvider;-><init>()V
-HPLcom/android/internal/telephony/IccProvider;->getRequestSubId(Landroid/net/Uri;)I
-HSPLcom/android/internal/telephony/IccProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
-HPLcom/android/internal/telephony/IccProvider;->loadFromEf(II)Landroid/database/MatrixCursor;
-HPLcom/android/internal/telephony/IccProvider;->loadRecord(Lcom/android/internal/telephony/uicc/AdnRecord;Landroid/database/MatrixCursor;I)V
-HSPLcom/android/internal/telephony/IccProvider;->onCreate()Z
-HPLcom/android/internal/telephony/IccProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CdmaBroadcastRangeManager;->addRange(IIZ)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CdmaBroadcastRangeManager;->finishUpdate()Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CdmaBroadcastRangeManager;->startUpdate()V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CellBroadcastRangeManager;->addRange(IIZ)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CellBroadcastRangeManager;->finishUpdate()Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CellBroadcastRangeManager;->startUpdate()V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;-><init>(Lcom/android/internal/telephony/Phone;Landroid/content/Context;Landroid/app/AppOpsManager;Landroid/os/UserManager;Lcom/android/internal/telephony/SmsDispatchersController;)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->disableCdmaBroadcastRange(II)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->disableCellBroadcastRange(III)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->disableGsmBroadcastRange(II)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->enableCdmaBroadcastRange(II)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->enableCellBroadcastRange(III)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->enableGsmBroadcastRange(II)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCdmaBroadcastConfig([Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCellBroadcastActivation(Z)Z
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCellBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;)Z
-HSPLcom/android/internal/telephony/ImsSmsDispatcher$1;->onRegistered(I)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher$1;->onRegistering(I)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher$1;->onUnregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher$2;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher$4;->connectionReady(Lcom/android/ims/ImsManager;)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsDispatchersController;)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher;->getFormat()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ImsSmsDispatcher;->getSmsListener()Landroid/telephony/ims/aidl/IImsSmsListener;
-HSPLcom/android/internal/telephony/ImsSmsDispatcher;->setListeners()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$1;-><init>()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$2;-><init>()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$DeliveringState;->enter()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$DeliveringState;->exit()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$DeliveringState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/InboundSmsHandler$IdleState;->enter()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$IdleState;->exit()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$IdleState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/InboundSmsHandler$StartupState;->enter()V
-HSPLcom/android/internal/telephony/InboundSmsHandler$StartupState;->processMessage(Landroid/os/Message;)Z
-HPLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->enter()V
-HPLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->exit()V
-HPLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/InboundSmsHandler;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/CellBroadcastHandler;)V
-HSPLcom/android/internal/telephony/InboundSmsHandler;->addTrackerToRawTable(Lcom/android/internal/telephony/InboundSmsTracker;Z)I
-HSPLcom/android/internal/telephony/InboundSmsHandler;->addTrackerToRawTableAndSendMessage(Lcom/android/internal/telephony/InboundSmsTracker;Z)I
-HSPLcom/android/internal/telephony/InboundSmsHandler;->checkAndHandleDuplicate(Lcom/android/internal/telephony/InboundSmsTracker;)Z
-HSPLcom/android/internal/telephony/InboundSmsHandler;->deleteFromRawTable(Ljava/lang/String;[Ljava/lang/String;I)V
-HPLcom/android/internal/telephony/InboundSmsHandler;->dispatchIntent(Landroid/content/Intent;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;)V
-HSPLcom/android/internal/telephony/InboundSmsHandler;->dispatchMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
-HSPLcom/android/internal/telephony/InboundSmsHandler;->dispatchNormalMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
-HPLcom/android/internal/telephony/InboundSmsHandler;->filterSms([[BILcom/android/internal/telephony/InboundSmsTracker;Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;Z)Z
-HSPLcom/android/internal/telephony/InboundSmsHandler;->getPhone()Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/InboundSmsHandler;->getWakeLockTimeout()I
-HSPLcom/android/internal/telephony/InboundSmsHandler;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/InboundSmsHandler;->processMessagePart(Lcom/android/internal/telephony/InboundSmsTracker;)Z
-HSPLcom/android/internal/telephony/InboundSmsTracker;->getAddress()Ljava/lang/String;
-HSPLcom/android/internal/telephony/InboundSmsTracker;->getContentValues()Landroid/content/ContentValues;
-PLcom/android/internal/telephony/InboundSmsTracker;->getDeleteWhere()Ljava/lang/String;
-PLcom/android/internal/telephony/InboundSmsTracker;->getDeleteWhereArgs()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/InboundSmsTracker;->getDestPort()I
-HSPLcom/android/internal/telephony/InboundSmsTracker;->getMessageCount()I
-HSPLcom/android/internal/telephony/InboundSmsTracker;->getReferenceNumber()I
-HSPLcom/android/internal/telephony/InboundSmsTracker;->getTimestamp()J
-PLcom/android/internal/telephony/InboundSmsTracker;->is3gpp2()Z
-HSPLcom/android/internal/telephony/InboundSmsTracker;->setDeleteWhere(Ljava/lang/String;[Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/IntRangeManager$ClientRange;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/IntRangeManager$IntRange;->insert(Lcom/android/internal/telephony/IntRangeManager$ClientRange;)V
-HSPLcom/android/internal/telephony/IntRangeManager;->disableRange(IILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/IntRangeManager;->enableRange(IILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/IntRangeManager;->isEmpty()Z
-HSPLcom/android/internal/telephony/IntRangeManager;->tryAddRanges(IIZ)Z
-HSPLcom/android/internal/telephony/IntentBroadcaster$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/IntentBroadcaster;->broadcastStickyIntent(Landroid/content/Intent;I)V
-HSPLcom/android/internal/telephony/LinkCapacityEstimate;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/LocaleTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/LocaleTracker;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/NitzStateMachine;Landroid/os/Looper;)V
-HSPLcom/android/internal/telephony/LocaleTracker;->getCurrentCountry()Ljava/lang/String;
-HSPLcom/android/internal/telephony/LocaleTracker;->getMccFromCellInfo()Ljava/lang/String;
-HSPLcom/android/internal/telephony/LocaleTracker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/LocaleTracker;->onSimCardStateChanged(I)V
-HSPLcom/android/internal/telephony/LocaleTracker;->processCellInfo(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/LocaleTracker;->requestNextCellInfo(Z)V
-HSPLcom/android/internal/telephony/LocaleTracker;->updateLocale()V
-HSPLcom/android/internal/telephony/LocaleTracker;->updateOperatorNumeric(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/LocaleTracker;->updateTrackingStatus()V
-HSPLcom/android/internal/telephony/MccTable$MccEntry;-><init>(ILjava/lang/String;I)V
-HSPLcom/android/internal/telephony/MccTable$MccEntry;->compareTo(Lcom/android/internal/telephony/MccTable$MccEntry;)I
-HSPLcom/android/internal/telephony/MccTable$MccEntry;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/internal/telephony/MccTable;->countryCodeForMcc(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/MccTable;->setTimezoneFromMccIfNeeded(Landroid/content/Context;I)V
-HSPLcom/android/internal/telephony/MccTable;->updateMccMncConfiguration(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->disableDataForNonDefaultNonOpportunisticSubscriptions()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->getInstance()Lcom/android/internal/telephony/MultiSimSettingController;
-HSPLcom/android/internal/telephony/MultiSimSettingController;->onAllSubscriptionsLoaded()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->onDefaultDataSettingChanged()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->showSimSelectDialogIfNeeded(Ljava/util/List;ZZZ)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->updateDefaultValue(Ljava/util/List;ILcom/android/internal/telephony/MultiSimSettingController$UpdateDefaultAction;)Z
-HSPLcom/android/internal/telephony/MultiSimSettingController;->updateDefaults()V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager$NetworkRegStateCallback;->onNetworkStateChanged()V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager$NetworkRegStateCallback;->onRequestNetworkRegistrationInfoComplete(ILandroid/telephony/NetworkRegistrationInfo;)V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager$NetworkServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;-><init>(ILcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;->bindService()V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;->getPackageName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;->isServiceConnected()Z
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;->registerForNetworkRegistrationInfoChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/NetworkRegistrationManager;->requestNetworkRegistrationInfo(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/NetworkScanRequestTracker;-><init>()V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/NewTimeServiceHelper;Lcom/android/internal/telephony/NitzStateMachine$DeviceState;Lcom/android/internal/telephony/TimeZoneLookupHelper;)V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNetworkAvailable()V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNetworkCountryCodeSet(Z)V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNetworkCountryCodeUnavailable()V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNitzReceived(Landroid/util/TimestampedValue;)V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->isNitzSignalOffsetInfoBogus(Landroid/util/TimestampedValue;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->updateTimeFromNitz()V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->updateTimeZoneFromCountryAndNitz()V
-HSPLcom/android/internal/telephony/NewNitzStateMachine;->updateTimeZoneFromNetworkCountryCode(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->currentTimeMillis()J
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->elapsedRealtime()J
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->isTimeZoneDetectionEnabled()Z
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->isTimeZoneSettingInitialized()Z
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->setDeviceTimeZone(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->setDeviceTimeZoneStatic(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->setListener(Lcom/android/internal/telephony/NewTimeServiceHelper$Listener;)V
-HSPLcom/android/internal/telephony/NewTimeServiceHelper;->suggestDeviceTime(Landroid/util/TimestampedValue;)V
-HSPLcom/android/internal/telephony/NitzData;-><init>(Ljava/lang/String;ILjava/lang/Integer;JLjava/util/TimeZone;)V
-HSPLcom/android/internal/telephony/NitzData;->parse(Ljava/lang/String;)Lcom/android/internal/telephony/NitzData;
-HSPLcom/android/internal/telephony/NitzData;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;)V
-HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getIgnoreNitz()Z
-HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNetworkCountryIsoForPhone()Ljava/lang/String;
-HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNitzUpdateDiffMillis()I
-HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNitzUpdateSpacingMillis()I
-HSPLcom/android/internal/telephony/Phone;-><init>(Ljava/lang/String;Lcom/android/internal/telephony/PhoneNotifier;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;ZILcom/android/internal/telephony/TelephonyComponentFactory;)V
-HSPLcom/android/internal/telephony/Phone;->getActionAttached()Ljava/lang/String;
-HSPLcom/android/internal/telephony/Phone;->getActionDetached()Ljava/lang/String;
-HSPLcom/android/internal/telephony/Phone;->getActiveApnHost(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/Phone;->getActiveApnTypes()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/Phone;->getAllCellInfo()Ljava/util/List;
-HSPLcom/android/internal/telephony/Phone;->getCallForwardingIndicator()Z
-HSPLcom/android/internal/telephony/Phone;->getCallForwardingIndicatorFromSharedPref()I
-HSPLcom/android/internal/telephony/Phone;->getCarrierActionAgent()Lcom/android/internal/telephony/CarrierActionAgent;
-HSPLcom/android/internal/telephony/Phone;->getCarrierSignalAgent()Lcom/android/internal/telephony/CarrierSignalAgent;
-HSPLcom/android/internal/telephony/Phone;->getContext()Landroid/content/Context;
-HPLcom/android/internal/telephony/Phone;->getCurrentUiccAppType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-HSPLcom/android/internal/telephony/Phone;->getDataConnectionState()Lcom/android/internal/telephony/PhoneConstants$DataState;
-HSPLcom/android/internal/telephony/Phone;->getDataEnabledSettings()Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;
-HSPLcom/android/internal/telephony/Phone;->getDcTracker(I)Lcom/android/internal/telephony/dataconnection/DcTracker;
-HSPLcom/android/internal/telephony/Phone;->getHalVersion()Lcom/android/internal/telephony/HalVersion;
-HSPLcom/android/internal/telephony/Phone;->getHandler()Landroid/os/Handler;
-HSPLcom/android/internal/telephony/Phone;->getIccRecords()Lcom/android/internal/telephony/uicc/IccRecords;
-HSPLcom/android/internal/telephony/Phone;->getImsPhone()Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/Phone;->getLinkProperties(Ljava/lang/String;)Landroid/net/LinkProperties;
-HSPLcom/android/internal/telephony/Phone;->getLocaleFromCarrierProperties(Landroid/content/Context;)Ljava/util/Locale;
-HSPLcom/android/internal/telephony/Phone;->getMessageWaitingIndicator()Z
-HSPLcom/android/internal/telephony/Phone;->getModemActivityInfo(Landroid/os/Message;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/telephony/Phone;->getNetworkCapabilities(Ljava/lang/String;)Landroid/net/NetworkCapabilities;
-HSPLcom/android/internal/telephony/Phone;->getPhoneId()I
-HSPLcom/android/internal/telephony/Phone;->getPhoneName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/Phone;->getRadioAccessFamily()I
-HSPLcom/android/internal/telephony/Phone;->getRadioCapability()Lcom/android/internal/telephony/RadioCapability;
-HSPLcom/android/internal/telephony/Phone;->getSignalStrength()Landroid/telephony/SignalStrength;
-HSPLcom/android/internal/telephony/Phone;->getSimulatedRadioControl()Lcom/android/internal/telephony/test/SimulatedRadioControl;
-HSPLcom/android/internal/telephony/Phone;->getSubId()I
-HSPLcom/android/internal/telephony/Phone;->getUiccCard()Lcom/android/internal/telephony/uicc/UiccCard;
-HSPLcom/android/internal/telephony/Phone;->getUnitTestMode()Z
-HSPLcom/android/internal/telephony/Phone;->getVtDataUsage(Z)Landroid/net/NetworkStats;
-HSPLcom/android/internal/telephony/Phone;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/Phone;->hasMatchedTetherApnSetting()Z
-HPLcom/android/internal/telephony/Phone;->isConcurrentVoiceAndDataAllowed()Z
-HSPLcom/android/internal/telephony/Phone;->isDataAllowed(I)Z
-HSPLcom/android/internal/telephony/Phone;->isDataAllowed(ILcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
-HSPLcom/android/internal/telephony/Phone;->isImsCapabilityAvailable(II)Z
-HPLcom/android/internal/telephony/Phone;->isImsRegistered()Z
-HSPLcom/android/internal/telephony/Phone;->isInEcm()Z
-HSPLcom/android/internal/telephony/Phone;->isShuttingDown()Z
-HSPLcom/android/internal/telephony/Phone;->isVideoEnabled()Z
-HSPLcom/android/internal/telephony/Phone;->isWifiCallingEnabled()Z
-HSPLcom/android/internal/telephony/Phone;->notifyCellInfo(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/Phone;->notifyDataActivity()V
-HSPLcom/android/internal/telephony/Phone;->notifyDataConnection()V
-HSPLcom/android/internal/telephony/Phone;->notifyDataConnection(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Phone;->notifyEmergencyNumberList()V
-HSPLcom/android/internal/telephony/Phone;->notifyForVideoCapabilityChanged(Z)V
-HSPLcom/android/internal/telephony/Phone;->notifyOtaspChanged(I)V
-HSPLcom/android/internal/telephony/Phone;->notifyPhysicalChannelConfiguration(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/Phone;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/Phone;->notifySignalStrength()V
-HSPLcom/android/internal/telephony/Phone;->radioCapabilityUpdated(Lcom/android/internal/telephony/RadioCapability;)V
-HSPLcom/android/internal/telephony/Phone;->registerForCallWaiting(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForCdmaOtaStatusChange(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForCellInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForDisconnect(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForEcmTimerReset(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForEmergencyCallToggle(Landroid/os/Handler;ILjava/lang/Object;)V
-HPLcom/android/internal/telephony/Phone;->registerForHandoverStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForInCallVoicePrivacyOff(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForInCallVoicePrivacyOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForIncomingRing(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForMmiComplete(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForMmiInitiate(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForNewRingingConnection(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForOnHoldTone(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForPreciseCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForRadioCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForResendIncallMute(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForRingbackTone(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForServiceStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForSignalInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForSubscriptionInfoReady(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForSuppServiceFailed(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForTtyModeReceived(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForUnknownConnection(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForVideoCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->requestCellInfoUpdate(Landroid/os/WorkSource;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/Phone;->sendSubscriptionSettings(Z)V
-HSPLcom/android/internal/telephony/Phone;->setCellInfoMinInterval(I)V
-HPLcom/android/internal/telephony/Phone;->setEchoSuppressionEnabled()V
-HSPLcom/android/internal/telephony/Phone;->setOnPostDialCharacter(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->setPreferredNetworkType(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/Phone;->setPreferredNetworkTypeIfSimLoaded()V
-HSPLcom/android/internal/telephony/Phone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Phone;->setVoiceMessageCount(I)V
-HSPLcom/android/internal/telephony/Phone;->startLceAfterRadioIsAvailable()V
-HSPLcom/android/internal/telephony/Phone;->startMonitoringImsService()V
-HPLcom/android/internal/telephony/Phone;->unregisterForDisconnect(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/Phone;->unregisterForHandoverStateChanged(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/Phone;->unregisterForInCallVoicePrivacyOff(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/Phone;->unregisterForInCallVoicePrivacyOn(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/Phone;->unregisterForNewRingingConnection(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/Phone;->unregisterForPreciseCallStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/Phone;->unregisterForUnknownConnection(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/Phone;->unregisterForVideoCapabilityChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/Phone;->updateDataConnectionTracker()V
-HSPLcom/android/internal/telephony/Phone;->updateImsPhone()V
-HSPLcom/android/internal/telephony/PhoneConfigurationManager$MainThreadHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/PhoneConfigurationManager;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/PhoneConfigurationManager;->getInstance()Lcom/android/internal/telephony/PhoneConfigurationManager;
-HSPLcom/android/internal/telephony/PhoneConfigurationManager;->getNumberOfModemsWithSimultaneousDataConnections()I
-HSPLcom/android/internal/telephony/PhoneConfigurationManager;->getPhoneCount()I
-HSPLcom/android/internal/telephony/PhoneConfigurationManager;->getStaticPhoneCapability()Landroid/telephony/PhoneCapability;
-HSPLcom/android/internal/telephony/PhoneConfigurationManager;->init(Landroid/content/Context;)Lcom/android/internal/telephony/PhoneConfigurationManager;
-HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertCallState(I)Lcom/android/internal/telephony/PhoneConstants$State;
-HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertCallState(Lcom/android/internal/telephony/PhoneConstants$State;)I
-HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertDataState(I)Lcom/android/internal/telephony/PhoneConstants$DataState;
-HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertDataState(Lcom/android/internal/telephony/PhoneConstants$DataState;)I
-HSPLcom/android/internal/telephony/PhoneConstants$DataState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/PhoneConstants$DataState;->values()[Lcom/android/internal/telephony/PhoneConstants$DataState;
-HSPLcom/android/internal/telephony/PhoneConstants$State;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/PhoneConstants$State;->values()[Lcom/android/internal/telephony/PhoneConstants$State;
-HSPLcom/android/internal/telephony/PhoneFactory;->addLocalLog(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/PhoneFactory;->calculatePreferredNetworkType(Landroid/content/Context;I)I
-HSPLcom/android/internal/telephony/PhoneFactory;->getDefaultPhone()Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/PhoneFactory;->getImsResolver()Lcom/android/internal/telephony/ims/ImsResolver;
-HSPLcom/android/internal/telephony/PhoneFactory;->getNetworkFactory(I)Lcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;
-HSPLcom/android/internal/telephony/PhoneFactory;->getPhone(I)Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/PhoneFactory;->getPhones()[Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/PhoneFactory;->localLog(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/PhoneFactory;->makeDefaultPhone(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/PhoneFactory;->makeDefaultPhones(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;->values()[Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->callPhoneMethodWithPermissionCheck(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;Lcom/android/internal/telephony/PhoneSubInfoController$PermissionCheckHelper;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimDomain(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimImpu(I)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HPLcom/android/internal/telephony/PhoneSubInfoController;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithPrivilegedCheck$24$PhoneSubInfoController(Ljava/lang/String;Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getVoiceMailNumberForSubscriber$12$PhoneSubInfoController(Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSwitcher$1;->onAvailable(Landroid/net/Network;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher$3;->onPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher$3;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher$5;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;->needNetworkFor(Landroid/net/NetworkRequest;I)V
-HSPLcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;-><init>(IILandroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;Landroid/os/Looper;Lcom/android/internal/telephony/ITelephonyRegistry;[Lcom/android/internal/telephony/CommandsInterface;[Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->getPreferredDataPhoneId()I
-HSPLcom/android/internal/telephony/PhoneSwitcher;->getSubIdFromNetworkRequest(Landroid/net/NetworkRequest;)I
-HSPLcom/android/internal/telephony/PhoneSwitcher;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->isPhoneActive(I)Z
-HSPLcom/android/internal/telephony/PhoneSwitcher;->notifyPreferredDataSubIdChanged()V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->onEvaluate(ZLjava/lang/String;)Z
-HSPLcom/android/internal/telephony/PhoneSwitcher;->onPhoneCapabilityChangedInternal(Landroid/telephony/PhoneCapability;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->onRequestNetwork(Landroid/net/NetworkRequest;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->phoneIdForRequest(Landroid/net/NetworkRequest;)I
-HSPLcom/android/internal/telephony/PhoneSwitcher;->registerDefaultNetworkChangeCallback()V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->registerForActivePhoneSwitch(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->removeDefaultNetworkChangeCallback()V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->shouldApplyNetworkRequest(Landroid/net/NetworkRequest;I)Z
-HSPLcom/android/internal/telephony/PhoneSwitcher;->switchPhone(IZ)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->updatePreferredDataPhoneId()V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->validatePhoneId(I)V
-HSPLcom/android/internal/telephony/ProxyController;-><init>(Landroid/content/Context;[Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/uicc/UiccController;[Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneSwitcher;)V
-HSPLcom/android/internal/telephony/ProxyController;->clearTransaction()V
-HSPLcom/android/internal/telephony/ProxyController;->getMaxRafSupported()I
-HSPLcom/android/internal/telephony/ProxyController;->setRadioCapability([Landroid/telephony/RadioAccessFamily;)Z
-HSPLcom/android/internal/telephony/RIL$RilHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;-><init>(Landroid/content/Context;IILjava/lang/Integer;)V
-HSPLcom/android/internal/telephony/RIL;->acquireWakeLock(Lcom/android/internal/telephony/RILRequest;I)V
-HSPLcom/android/internal/telephony/RIL;->addRequest(Lcom/android/internal/telephony/RILRequest;)V
-HSPLcom/android/internal/telephony/RIL;->addToRilHistogram(Lcom/android/internal/telephony/RILRequest;)V
-HSPLcom/android/internal/telephony/RIL;->clearWakeLock(I)Z
-HSPLcom/android/internal/telephony/RIL;->convertDataCallResult(Ljava/lang/Object;)Landroid/telephony/data/DataCallResponse;
-HSPLcom/android/internal/telephony/RIL;->convertHalCellInfoList_1_2(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/RIL;->convertHalHwConfigList(Ljava/util/ArrayList;Lcom/android/internal/telephony/RIL;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/RIL;->convertHalRadioCapability(Landroid/hardware/radio/V1_0/RadioCapability;Lcom/android/internal/telephony/RIL;)Lcom/android/internal/telephony/RadioCapability;
-HSPLcom/android/internal/telephony/RIL;->convertToHalDataProfile10(Landroid/telephony/data/DataProfile;)Landroid/hardware/radio/V1_0/DataProfileInfo;
-HSPLcom/android/internal/telephony/RIL;->convertToNetworkTypeBitMask(I)I
-HSPLcom/android/internal/telephony/RIL;->deactivateDataCall(IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->decrementWakeLock(Lcom/android/internal/telephony/RILRequest;)V
-HSPLcom/android/internal/telephony/RIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RIL;->getBasebandVersion(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getCdmaSubscriptionSource(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getCellInfoList(Landroid/os/Message;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/telephony/RIL;->getCurrentCalls(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/RIL;->getDataCallList(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getDataRegistrationState(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getDeviceIdentity(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getHalVersion()Lcom/android/internal/telephony/HalVersion;
-HSPLcom/android/internal/telephony/RIL;->getHardwareConfig(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getIMSIForApp(Ljava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getIccCardStatus(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getImsRegistrationState(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getModemActivityInfo(Landroid/os/Message;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/telephony/RIL;->getNetworkSelectionMode(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getOemHookProxy(Landroid/os/Message;)Landroid/hardware/radio/deprecated/V1_0/IOemHook;
-HSPLcom/android/internal/telephony/RIL;->getOperator(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getRadioCapability(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getRadioProxy(Landroid/os/Message;)Landroid/hardware/radio/V1_0/IRadio;
-HSPLcom/android/internal/telephony/RIL;->getSignalStrength(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/RIL;->getTelephonyRILTimingHistograms()Ljava/util/List;
-HSPLcom/android/internal/telephony/RIL;->getVoiceRadioTechnology(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getVoiceRegistrationState(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->iccCloseLogicalChannel(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->iccIOForApp(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->iccOpenLogicalChannel(Ljava/lang/String;ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->iccTransmitApduLogicalChannel(IIIIIILjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->notifyRegistrantsRilConnectionChanged(I)V
-HSPLcom/android/internal/telephony/RIL;->processIndication(I)V
-HSPLcom/android/internal/telephony/RIL;->processResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RIL;->processResponseDone(Lcom/android/internal/telephony/RILRequest;Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/RIL;->queryFacilityLockForApp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->reportStkServiceIsRunning(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->requestToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/RIL;->responseToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/RIL;->riljLog(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RIL;->riljLoge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RIL;->riljLogv(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RIL;->sendAck()V
-HSPLcom/android/internal/telephony/RIL;->sendDeviceState(IZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->sendTerminalResponse(Ljava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setCdmaBroadcastConfig([Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setCdmaSubscriptionSource(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setDataProfile([Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setGsmBroadcastActivation(ZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setGsmBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setLinkCapacityReportingCriteria(III[I[IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setOnNITZTime(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/RIL;->setPhoneType(I)V
-HSPLcom/android/internal/telephony/RIL;->setPreferredNetworkType(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setRadioPower(ZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setSignalStrengthReportingCriteria(II[IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setUnsolResponseFilter(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->startLceService(IZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->unsljLog(I)V
-HSPLcom/android/internal/telephony/RIL;->unsljLogMore(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/RIL;->unsljLogRet(ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/RILRequest;->getWorkSourceClientId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;Landroid/os/WorkSource;)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/RILRequest;->release()V
-HSPLcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/RadioCapability;->getLogicalModemUuid()Ljava/lang/String;
-HSPLcom/android/internal/telephony/RadioCapability;->getPhase()I
-HSPLcom/android/internal/telephony/RadioCapability;->getRadioAccessFamily()I
-HSPLcom/android/internal/telephony/RadioCapability;->getSession()I
-HSPLcom/android/internal/telephony/RadioCapability;->getStatus()I
-HSPLcom/android/internal/telephony/RadioCapability;->getVersion()I
-HSPLcom/android/internal/telephony/RadioCapability;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/RadioConfig;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/RadioConfig;->convertHalSlotStatus(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/RadioConfig;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RadioConfig;->getPhoneCapability(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RadioConfig;->getRadioConfigProxy(Landroid/os/Message;)Landroid/hardware/radio/config/V1_0/IRadioConfig;
-HSPLcom/android/internal/telephony/RadioConfig;->getSimSlotsStatus(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RadioConfig;->isSetPreferredDataCommandSupported()Z
-HSPLcom/android/internal/telephony/RadioConfig;->obtainRequest(ILandroid/os/Message;Landroid/os/WorkSource;)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RadioConfig;->processResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RadioConfig;->registerForSimSlotStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/RadioConfig;->requestToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/RadioConfig;->setPreferredDataModem(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RadioConfig;->updateRadioConfigProxy()V
-HSPLcom/android/internal/telephony/RadioConfigIndication;->simSlotsStatusChanged(ILjava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioConfigResponse;->convertHalPhoneCapability(Landroid/hardware/radio/config/V1_1/PhoneCapability;)Landroid/telephony/PhoneCapability;
-HSPLcom/android/internal/telephony/RadioConfigResponse;->getPhoneCapabilityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/config/V1_1/PhoneCapability;)V
-HSPLcom/android/internal/telephony/RadioConfigResponse;->getSimSlotsStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioConfigResponse;->setPreferredDataModemResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioIndication;->convertConnectionStatusFromCellConnectionStatus(I)I
-HSPLcom/android/internal/telephony/RadioIndication;->currentLinkCapacityEstimate(ILandroid/hardware/radio/V1_2/LinkCapacityEstimate;)V
-HSPLcom/android/internal/telephony/RadioIndication;->currentPhysicalChannelConfigs(ILjava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioIndication;->currentSignalStrength_1_2(ILandroid/hardware/radio/V1_2/SignalStrength;)V
-HSPLcom/android/internal/telephony/RadioIndication;->dataCallListChanged(ILjava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioIndication;->getRadioStateFromInt(I)I
-HSPLcom/android/internal/telephony/RadioIndication;->imsNetworkStateChanged(I)V
-HSPLcom/android/internal/telephony/RadioIndication;->networkStateChanged(I)V
-HSPLcom/android/internal/telephony/RadioIndication;->nitzTimeReceived(ILjava/lang/String;J)V
-HSPLcom/android/internal/telephony/RadioIndication;->physicalChannelConfigsIndication(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/RadioIndication;->radioStateChanged(II)V
-HSPLcom/android/internal/telephony/RadioIndication;->rilConnected(I)V
-HSPLcom/android/internal/telephony/RadioIndication;->stkProactiveCommand(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/RadioIndication;->stkSessionEnd(I)V
-HSPLcom/android/internal/telephony/RadioIndication;->voiceRadioTechChanged(II)V
-HSPLcom/android/internal/telephony/RadioResponse;->convertHalCardStatus(Landroid/hardware/radio/V1_0/CardStatus;)Lcom/android/internal/telephony/uicc/IccCardStatus;
-HSPLcom/android/internal/telephony/RadioResponse;->deactivateDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getBasebandVersionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLcom/android/internal/telephony/RadioResponse;->getCellInfoListResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getCurrentCallsResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HPLcom/android/internal/telephony/RadioResponse;->getDataCallListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getDataRegistrationStateResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/DataRegStateResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getDeviceIdentityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getFacilityLockForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLcom/android/internal/telephony/RadioResponse;->getHardwareConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getIMSIForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getIccCardStatusResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/CardStatus;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getImsRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZI)V
-HSPLcom/android/internal/telephony/RadioResponse;->getModemActivityInfoResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/ActivityStatsInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getNetworkSelectionModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Z)V
-HSPLcom/android/internal/telephony/RadioResponse;->getOperatorResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getRadioCapabilityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/RadioCapability;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getSignalStrengthResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/SignalStrength;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getVoiceRadioTechnologyResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLcom/android/internal/telephony/RadioResponse;->getVoiceRegistrationStateResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/VoiceRegStateResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->iccCloseLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->iccIOForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->iccOpenLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ILjava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->iccTransmitApduLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->reportStkServiceIsRunningResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseActivityData(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/ActivityStatsInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseCurrentCalls_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseIccCardStatus_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/CardStatus;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseIccIo(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseIntArrayList(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseStringArrayList(Lcom/android/internal/telephony/RIL;Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->sendDeviceStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->sendTerminalResponseToSimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setCdmaBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setGsmBroadcastActivationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setGsmBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setIndicationFilterResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setInitialAttachApnResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setLinkCapacityReportingCriteriaResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setPreferredNetworkTypeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setRadioPowerResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setSignalStrengthReportingCriteriaResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setTTYModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setupDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SetupDataCallResult;)V
-HSPLcom/android/internal/telephony/RatRatcheter$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/RatRatcheter;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/RatRatcheter;->isSameRatFamily(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;)Z
-HSPLcom/android/internal/telephony/RatRatcheter;->ratchet(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;Z)V
-HSPLcom/android/internal/telephony/RatRatcheter;->ratchetRat(II)I
-HSPLcom/android/internal/telephony/RatRatcheter;->resetRatFamilyMap()V
-HSPLcom/android/internal/telephony/RatRatcheter;->updateBandwidths([ILandroid/telephony/ServiceState;)Z
-HSPLcom/android/internal/telephony/RestrictedState;->isPsRestricted()Z
-HSPLcom/android/internal/telephony/RetryManager;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RetryManager;->configure(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/RetryManager;->configureRetry()V
-HSPLcom/android/internal/telephony/RetryManager;->getDelayForNextApn(Z)J
-HSPLcom/android/internal/telephony/RetryManager;->getNextApnSetting()Landroid/telephony/data/ApnSetting;
-HSPLcom/android/internal/telephony/RetryManager;->getRetryAfterDisconnectDelay()J
-HSPLcom/android/internal/telephony/RetryManager;->getRetryTimer()I
-HSPLcom/android/internal/telephony/RetryManager;->getWaitingApns()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/RetryManager;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/RetryManager;->parseNonNegativeInt(Ljava/lang/String;Ljava/lang/String;)Landroid/util/Pair;
-HSPLcom/android/internal/telephony/RetryManager;->setModemSuggestedDelay(J)V
-HSPLcom/android/internal/telephony/RetryManager;->setWaitingApns(Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RilWakelockInfo;->getRilRequestSent()I
-HSPLcom/android/internal/telephony/RilWakelockInfo;->getTokenNumber()I
-HSPLcom/android/internal/telephony/RilWakelockInfo;->getWakelockTimeAttributedToClient()J
-HSPLcom/android/internal/telephony/RilWakelockInfo;->setResponseTime(J)V
-HSPLcom/android/internal/telephony/RilWakelockInfo;->updateConcurrentRequests(IJ)V
-HSPLcom/android/internal/telephony/RilWakelockInfo;->updateTime(J)V
-HSPLcom/android/internal/telephony/SMSDispatcher;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsDispatchersController;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker$SstSubscriptionsChangedListener;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->cancelAllNotifications()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->cancelPollState()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->combinePsRegistrationStates(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->containsEarfcnInEarfcnRange(Ljava/util/ArrayList;I)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->convertEarfcnStringArrayToPairList([Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getAllCellInfo()Ljava/util/List;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getBandwidthsFromConfigs(Ljava/util/List;)[I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCarrierConfig()Landroid/os/PersistableBundle;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCellLocation()Landroid/telephony/CellLocation;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCellLocationFromCellInfo(Ljava/util/List;)Landroid/telephony/CellLocation;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCidFromCellIdentity(Landroid/telephony/CellIdentity;)I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCombinedRegState()I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getDesiredPowerState()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getLocaleTracker()Lcom/android/internal/telephony/LocaleTracker;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getOtasp()I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getPhoneId()I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getPowerStateFromCarrier()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getSignalStrength()Landroid/telephony/SignalStrength;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getUiccCardApplication()Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->handlePollStateResult(ILandroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->handlePollStateResultMessage(ILandroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isDeviceShuttingDown()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isGprsConsistent(II)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isInvalidOperatorNumeric(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isMinInfoReady()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isNrStateChanged(Landroid/telephony/NetworkRegistrationInfo;Landroid/telephony/NetworkRegistrationInfo;)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isRadioOn()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isSimAbsent()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->logAttachChange()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->logMdnChange(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->logRatChange()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->notifyDataRegStateRilRadioTechnologyChanged(I)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->notifySignalStrength()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->notifyVoiceRegStateRilRadioTechnologyChanged()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->onCarrierConfigChanged()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->onImsCapabilityChanged()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->onImsServiceStateChanged()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->onUpdateIccAvailability()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->pollState()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->pollState(Z)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->pollStateDone()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->processPendingRadioPowerOffAfterDataOff()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->queueNextSignalStrengthPoll()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataConnectionAttached(ILandroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataConnectionDetached(ILandroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataRegStateOrRatChanged(ILandroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataRoamingOff(Landroid/os/Handler;ILjava/lang/Object;Z)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataRoamingOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForImsCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForNetworkAttached(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForNetworkDetached(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForPsRestrictedDisabled(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForPsRestrictedEnabled(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForSubscriptionInfoReady(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForVoiceRegStateOrRatChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->requestAllCellInfo(Landroid/os/WorkSource;Landroid/os/Message;)V
-HPLcom/android/internal/telephony/ServiceStateTracker;->requestCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->resetServiceStateInIwlanMode()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->setCellInfoMinInterval(I)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->setPhyCellInfoFromCellIdentity(Landroid/telephony/ServiceState;Landroid/telephony/CellIdentity;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->setPowerStateToDesired()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->setRoamingType(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->setTimeFromNITZString(Ljava/lang/String;J)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateLteEarfcnLists(Landroid/os/PersistableBundle;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateNrFrequencyRangeFromPhysicalChannelConfigs(Ljava/util/List;Landroid/telephony/ServiceState;)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateNrStateFromPhysicalChannelConfigs(Ljava/util/List;Landroid/telephony/NetworkRegistrationInfo;)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameFromCarrierConfig()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameFromEri()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOtaspState()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updatePhoneObject()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updatePhoneType()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateRoamingState()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateServiceStateLteEarfcnBoost(Landroid/telephony/ServiceState;I)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateSpnDisplay()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->useDataRegStateForDataOnlyDevices()V
-HSPLcom/android/internal/telephony/SettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/SettingsObserver;->observe(Landroid/net/Uri;I)V
-HSPLcom/android/internal/telephony/SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/internal/telephony/SettingsObserver;->unobserve()V
-HSPLcom/android/internal/telephony/SimActivationTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/SimActivationTracker;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/SmsAddress;->couldBeEmailGateway()Z
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$002(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$102(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$202(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$302(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$402(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$502(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$602(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->access$700(Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;)I
HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->isComplete()Z
-HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageChanged()V
-HPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SmsApplication;->assignExclusiveSmsPermissionsToSystemApp(Landroid/content/Context;Landroid/content/pm/PackageManager;Landroid/app/AppOpsManager;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SmsApplication;->defaultSmsAppChanged(Landroid/content/Context;)V
HSPLcom/android/internal/telephony/SmsApplication;->getApplication(Landroid/content/Context;ZI)Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;
-HPLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionAsUser(Landroid/content/Context;I)Ljava/util/Collection;
HSPLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionInternal(Landroid/content/Context;I)Ljava/util/Collection;
HSPLcom/android/internal/telephony/SmsApplication;->getApplicationForPackage(Ljava/util/Collection;Ljava/lang/String;)Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;
-HSPLcom/android/internal/telephony/SmsApplication;->getDefaultMmsApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
-HPLcom/android/internal/telephony/SmsApplication;->getDefaultRespondViaMessageApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
-HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSendToApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
-HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsApplicationAsUser(Landroid/content/Context;ZI)Landroid/content/ComponentName;
-HSPLcom/android/internal/telephony/SmsApplication;->initSmsPackageMonitor(Landroid/content/Context;)V
-HPLcom/android/internal/telephony/SmsApplication;->isDefaultSmsApplication(Landroid/content/Context;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/SmsApplication;->replacePreferredActivity(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/SmsApplication;->tryFixExclusiveSmsAppops(Landroid/content/Context;Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Z)Z
-HSPLcom/android/internal/telephony/SmsBroadcastUndelivered$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/SmsBroadcastUndelivered$ScanRawTableThread;->run()V
-HSPLcom/android/internal/telephony/SmsBroadcastUndelivered;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;)V
-HSPLcom/android/internal/telephony/SmsBroadcastUndelivered;->scanRawTable(Landroid/content/Context;Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;J)V
-HSPLcom/android/internal/telephony/SmsDispatchersController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/SmsDispatchersController;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/SmsUsageMonitor;)V
-HSPLcom/android/internal/telephony/SmsDispatchersController;->handleInService(J)V
-HSPLcom/android/internal/telephony/SmsDispatchersController;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/SmsDispatchersController;->handlePartialSegmentTimerExpiry(J)V
-HSPLcom/android/internal/telephony/SmsDispatchersController;->reevaluateTimerStatus()V
-HSPLcom/android/internal/telephony/SmsDispatchersController;->resetPartialSegmentWaitTimer()V
-HSPLcom/android/internal/telephony/SmsDispatchersController;->updateImsInfo(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/SmsMessageBase;->getDisplayOriginatingAddress()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SmsMessageBase;->getMessageBody()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SmsMessageBase;->getOriginatingAddress()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SmsMessageBase;->getTimestampMillis()J
-HSPLcom/android/internal/telephony/SmsMessageBase;->parseMessageBody()V
-HSPLcom/android/internal/telephony/SmsStorageMonitor;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/SmsStorageMonitor;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/SmsStorageMonitor;->isStorageAvailable()Z
-HSPLcom/android/internal/telephony/SmsUsageMonitor;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/SmsUsageMonitor;->loadPremiumSmsPolicyDb()V
-HSPLcom/android/internal/telephony/SubscriptionController$ScLocalLog;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionController;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->addSubInfo(Ljava/lang/String;Ljava/lang/String;II)I
-HSPLcom/android/internal/telephony/SubscriptionController;->addToSubIdList(III)Z
-HSPLcom/android/internal/telephony/SubscriptionController;->broadcastDefaultDataSubIdChanged(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->broadcastDefaultSmsSubIdChanged(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->broadcastDefaultVoiceSubIdChanged(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->clearSubInfoRecord(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->enforceModifyPhoneState(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubIdArrayList()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubIdList(Z)[I
-HPLcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCount(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCountMax()I
-HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoForSimSlotIndex(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getAvailableSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultDataSubId()I
-HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultSmsSubId()I
-HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultSubId()I
-HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultVoiceSubId()I
-HSPLcom/android/internal/telephony/SubscriptionController;->getGroupUuid(I)Landroid/os/ParcelUuid;
-HSPLcom/android/internal/telephony/SubscriptionController;->getInstance()Lcom/android/internal/telephony/SubscriptionController;
-HSPLcom/android/internal/telephony/SubscriptionController;->getOpportunisticSubscriptions(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getPhoneId(I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->getSimStateForSlotIndex(I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->getSlotIndex(I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubId(I)[I
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubIdUsingPhoneId(I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfo(Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfoRecord(Landroid/database/Cursor;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfoUsingSlotIndexPrivileged(IZ)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionInfoListFromCacheHelper(Ljava/lang/String;Ljava/util/List;)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionController;->init(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->init(Landroid/content/Context;[Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/SubscriptionController;
-HSPLcom/android/internal/telephony/SubscriptionController;->isActiveSubId(I)Z
-HSPLcom/android/internal/telephony/SubscriptionController;->isActiveSubId(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/SubscriptionController;->isSubInfoReady()Z
-HSPLcom/android/internal/telephony/SubscriptionController;->isSubscriptionVisible(I)Z
-HSPLcom/android/internal/telephony/SubscriptionController;->lambda$getActiveSubIdList$3$SubscriptionController(Ljava/lang/Integer;)Z
-HSPLcom/android/internal/telephony/SubscriptionController;->logdl(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->migrateImsSettingHelper(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->migrateImsSettings()V
-HSPLcom/android/internal/telephony/SubscriptionController;->notifySubscriptionInfoChanged()V
-HSPLcom/android/internal/telephony/SubscriptionController;->refreshCachedActiveSubscriptionInfoList()V
-HSPLcom/android/internal/telephony/SubscriptionController;->refreshCachedOpportunisticSubscriptionInfoList()Z
-HSPLcom/android/internal/telephony/SubscriptionController;->sendDefaultChangedBroadcast(II)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setCarrierId(II)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setCarrierText(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setCountryIso(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultDataSubId(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultFallbackSubId(II)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultSmsSubId(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultVoiceSubId(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setDisplayName(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setDisplayNameUsingSrc(Ljava/lang/String;IJ)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setMccMnc(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setPlmnSpn(IZLjava/lang/String;ZLjava/lang/String;)Z
-HSPLcom/android/internal/telephony/SubscriptionController;->updateAllDataConnectionTrackers()V
-HSPLcom/android/internal/telephony/SubscriptionController;->updatePhonesAvailability([Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->validateSubId(I)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;-><init>(Landroid/os/Looper;Landroid/content/Context;[Lcom/android/internal/telephony/Phone;[Lcom/android/internal/telephony/CommandsInterface;Landroid/content/pm/IPackageManager;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimApplicationStateChanged(II)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimCardStateChanged(II)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimStateChanged(ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->handleSimLoaded(I)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->initializeCarrierApps()V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->internalIccStateToMessage(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->isAllIccIdQueryDone()Z
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateSubscriptionInfoByIccId$2$SubscriptionInfoUpdater(Ljava/lang/Integer;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->simStateString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptions(I)Z
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateInternalIccState(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionInfoByIccId(I)V
-HSPLcom/android/internal/telephony/SubscriptionMonitor$1;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/SubscriptionMonitor$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/SubscriptionMonitor;-><init>(Lcom/android/internal/telephony/ITelephonyRegistry;Landroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;I)V
-HSPLcom/android/internal/telephony/SubscriptionMonitor;->registerForSubscriptionChanged(ILandroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/TelephonyCapabilities;->supportsNetworkSelection(Lcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->getValidatedPaths()Ljava/lang/String;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->lambda$parseInjection$3$TelephonyComponentFactory$InjectedComponents(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->lambda$parseXml$2$TelephonyComponentFactory$InjectedComponents(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->makeInjectedInstance()V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->parseXmlByTag(Lorg/xmlpull/v1/XmlPullParser;ZLjava/util/function/Consumer;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->setAttributes(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->getCdmaSubscriptionSourceManagerInstance(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Landroid/os/Handler;ILjava/lang/Object;)Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->getIDeviceIdleController()Landroid/os/IDeviceIdleController;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->getInstance()Lcom/android/internal/telephony/TelephonyComponentFactory;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->inject(Ljava/lang/String;)Lcom/android/internal/telephony/TelephonyComponentFactory;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->injectTheComponentFactory(Landroid/content/res/XmlResourceParser;)V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeAppSmsManager(Landroid/content/Context;)Lcom/android/internal/telephony/AppSmsManager;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierActionAgent(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierActionAgent;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierResolver(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierResolver;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierSignalAgent(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierSignalAgent;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDataEnabledSettings(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDcTracker(Lcom/android/internal/telephony/Phone;I)Lcom/android/internal/telephony/dataconnection/DcTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDeviceStateMonitor(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/DeviceStateMonitor;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeEmergencyNumberTracker(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeEriManager(Lcom/android/internal/telephony/Phone;Landroid/content/Context;I)Lcom/android/internal/telephony/cdma/EriManager;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeGsmCdmaCallTracker(Lcom/android/internal/telephony/GsmCdmaPhone;)Lcom/android/internal/telephony/GsmCdmaCallTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeIccPhoneBookInterfaceManager(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeIccSmsInterfaceManager(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/IccSmsInterfaceManager;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeImsExternalCallTracker(Lcom/android/internal/telephony/imsphone/ImsPhone;)Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeImsPhoneCallTracker(Lcom/android/internal/telephony/imsphone/ImsPhone;)Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeLocaleTracker(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/NitzStateMachine;Landroid/os/Looper;)Lcom/android/internal/telephony/LocaleTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeNitzStateMachine(Lcom/android/internal/telephony/GsmCdmaPhone;)Lcom/android/internal/telephony/NitzStateMachine;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeServiceStateTracker(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/ServiceStateTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeSimActivationTracker(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/SimActivationTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeSmsStorageMonitor(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/SmsStorageMonitor;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeSmsUsageMonitor(Landroid/content/Context;)Lcom/android/internal/telephony/SmsUsageMonitor;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeTransportManager(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/dataconnection/TransportManager;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeUiccProfile(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILcom/android/internal/telephony/uicc/UiccCard;Ljava/lang/Object;)Lcom/android/internal/telephony/uicc/UiccProfile;
-HSPLcom/android/internal/telephony/TelephonyDevController;->create()Lcom/android/internal/telephony/TelephonyDevController;
-HSPLcom/android/internal/telephony/TelephonyDevController;->getInstance()Lcom/android/internal/telephony/TelephonyDevController;
-HSPLcom/android/internal/telephony/TelephonyDevController;->initFromResource()V
-HSPLcom/android/internal/telephony/TelephonyDevController;->updateOrInsert(Lcom/android/internal/telephony/HardwareConfig;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadDeviceIdentifiers(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadDeviceIdentifiers(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadPhoneNumber(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadPhoneState(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadSubscriberIdentifiers(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadCallLog(Landroid/content/Context;IIILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadCallLog(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadDeviceIdentifiers(Landroid/content/Context;IILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadPhoneNumber(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadPhoneState(Landroid/content/Context;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadPhoneState(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(Landroid/content/Context;ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/TelephonyPermissions;->getCarrierPrivilegeStatus(Ljava/util/function/Supplier;II)I
-HSPLcom/android/internal/telephony/TelephonyPermissions;->reportAccessDeniedToReadIdentifiers(Landroid/content/Context;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyTester;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/TelephonyTester;->overrideServiceState(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->getCountryTimeZones(Ljava/lang/String;)Llibcore/timezone/CountryTimeZones;
-HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->lookupByCountry(Ljava/lang/String;J)Lcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;
-HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->lookupByNitzCountry(Lcom/android/internal/telephony/NitzData;Ljava/lang/String;)Lcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;
-HPLcom/android/internal/telephony/UiccPhoneBookController;->getAdnRecordsInEfForSubscriber(II)Ljava/util/List;
-HPLcom/android/internal/telephony/UiccPhoneBookController;->getIccPhoneBookInterfaceManager(I)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
-HSPLcom/android/internal/telephony/UiccSmsController;->disableCellBroadcastRangeForSubscriber(IIII)Z
-HSPLcom/android/internal/telephony/UiccSmsController;->enableCellBroadcastRangeForSubscriber(IIII)Z
-HSPLcom/android/internal/telephony/UiccSmsController;->getPreferredSmsSubscription()I
-HSPLcom/android/internal/telephony/UiccSmsController;->isSmsSimPickActivityNeeded(I)Z
-HSPLcom/android/internal/telephony/WakeLockStateMachine$IdleState;->enter()V
-HSPLcom/android/internal/telephony/WakeLockStateMachine$IdleState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/WakeLockStateMachine;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/WakeLockStateMachine;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/WapPushOverSms$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/WapPushOverSms$BindServiceThread;->run()V
-HSPLcom/android/internal/telephony/WapPushOverSms;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/WapPushOverSms;->bindWapPushManagerService(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/Object;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/cat/CatService;-><init>(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/UiccCardApplication;Lcom/android/internal/telephony/uicc/IccRecords;Landroid/content/Context;Lcom/android/internal/telephony/uicc/IccFileHandler;Lcom/android/internal/telephony/uicc/UiccProfile;I)V
-HSPLcom/android/internal/telephony/cat/CatService;->getInstance(I)Lcom/android/internal/telephony/cat/AppInterface;
-HSPLcom/android/internal/telephony/cat/CatService;->getInstance(Lcom/android/internal/telephony/CommandsInterface;Landroid/content/Context;Lcom/android/internal/telephony/uicc/UiccProfile;I)Lcom/android/internal/telephony/cat/CatService;
-HSPLcom/android/internal/telephony/cat/CatService;->handleCommand(Lcom/android/internal/telephony/cat/CommandParams;Z)V
-HSPLcom/android/internal/telephony/cat/CatService;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/cat/CatService;->handleRilMsg(Lcom/android/internal/telephony/cat/RilMessage;)V
-HSPLcom/android/internal/telephony/cat/CatService;->handleSessionEnd()V
-HSPLcom/android/internal/telephony/cat/CatService;->isStkAppInstalled()Z
-HSPLcom/android/internal/telephony/cat/CatService;->sendTerminalResponse(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/ResultCode;ZILcom/android/internal/telephony/cat/ResponseData;)V
-HSPLcom/android/internal/telephony/cat/CatService;->updateIccAvailability()V
-HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->getInstance(Lcom/android/internal/telephony/cat/RilMessageDecoder;Lcom/android/internal/telephony/uicc/IccFileHandler;)Lcom/android/internal/telephony/cat/CommandParamsFactory;
-HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->make(Lcom/android/internal/telephony/cat/BerTlv;)V
-HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->processCommandDetails(Ljava/util/List;)Lcom/android/internal/telephony/cat/CommandDetails;
-HSPLcom/android/internal/telephony/cat/IconLoader;-><init>(Landroid/os/Looper;Lcom/android/internal/telephony/uicc/IccFileHandler;)V
-HSPLcom/android/internal/telephony/cat/IconLoader;->getInstance(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;)Lcom/android/internal/telephony/cat/IconLoader;
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder$StateCmdParamsReady;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder$StateStart;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder;-><init>(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;)V
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->decodeMessageParams(Lcom/android/internal/telephony/cat/RilMessage;)Z
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->getInstance(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;I)Lcom/android/internal/telephony/cat/RilMessageDecoder;
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->sendMsgParamsDecoded(Lcom/android/internal/telephony/cat/ResultCode;Lcom/android/internal/telephony/cat/CommandParams;)V
-HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->sendStartDecodingMessageParams(Lcom/android/internal/telephony/cat/RilMessage;)V
-HSPLcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/cdma/CdmaSMSDispatcher;)V
-HSPLcom/android/internal/telephony/cdma/CdmaSMSDispatcher;->getFormat()Ljava/lang/String;
-HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->getFromServiceCategory()I
-HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->getLanguage()I
-HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->getToServiceCategory()I
-HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->isSelected()Z
-HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getDefault(Landroid/content/Context;)I
-HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getInstance(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Landroid/os/Handler;ILjava/lang/Object;)Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
-HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->handleGetCdmaSubscriptionSource(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/cdma/EriManager;->isEriFileLoaded()Z
-HSPLcom/android/internal/telephony/cdma/EriManager;->loadEriFile()V
-HSPLcom/android/internal/telephony/cdma/EriManager;->loadEriFileFromXml()V
-HSPLcom/android/internal/telephony/dataconnection/-$$Lambda$DataConnection$-tFSpFGzTv_UdpzJlTMOvg8VO98;-><init>()V
-HSPLcom/android/internal/telephony/dataconnection/-$$Lambda$DataConnection$-tFSpFGzTv_UdpzJlTMOvg8VO98;->apply(I)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/dataconnection/-$$Lambda$XZAGhHrbkIDyusER4MAM6luKcT0;-><init>()V
-HSPLcom/android/internal/telephony/dataconnection/-$$Lambda$XZAGhHrbkIDyusER4MAM6luKcT0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Landroid/net/NetworkConfig;Lcom/android/internal/telephony/dataconnection/DcTracker;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Landroid/telephony/data/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnType()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnTypeBitmask()I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnTypeFromNetworkRequest(Landroid/net/NetworkRequest;)I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnTypeFromNetworkType(I)I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getConnectionGeneration()I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getDataConnection()Lcom/android/internal/telephony/dataconnection/DataConnection;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getDelayForNextApn(Z)J
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getNetworkRequests()Ljava/util/List;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getNextApnSetting()Landroid/telephony/data/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getReason()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getReconnectIntent()Landroid/app/PendingIntent;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getRetryAfterDisconnectDelay()J
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getState()Lcom/android/internal/telephony/DctConstants$State;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getWaitingApns()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->hasRestrictedRequests(Z)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->incAndGetConnectionGeneration()I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isConnectable()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isDependencyMet()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isDisconnected()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isProvisioningApn()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isReady()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseDataConnection(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseNetwork(Landroid/net/NetworkRequest;ILandroid/util/LocalLog;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;Landroid/util/LocalLog;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->resetErrorCodeRetries()V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->restartOnError(I)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setApnSetting(Landroid/telephony/data/ApnSetting;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setConcurrentVoiceAndDataAllowed(Z)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setDataConnection(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setEnabled(Z)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setModemSuggestedDelay(J)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setReason(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setReconnectIntent(Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setState(Lcom/android/internal/telephony/DctConstants$State;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setWaitingApns(Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->isMetered(Landroid/telephony/data/ApnSetting;Lcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->mvnoMatches(Lcom/android/internal/telephony/uicc/IccRecords;ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;-><init>(Lcom/android/internal/telephony/dataconnection/CellularDataService;I)V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->deactivateDataCall(IILandroid/telephony/data/DataServiceCallback;)V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->setDataProfile(Ljava/util/List;ZLandroid/telephony/data/DataServiceCallback;)V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/telephony/data/DataServiceCallback;)V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/DataServiceCallback;)V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService;-><init>()V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService;->onCreateDataServiceProvider(I)Landroid/telephony/data/DataService$DataServiceProvider;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;->enter()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->enter()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->exit()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;->enter()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->enter()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->enter()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->exit()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(I)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;-><init>(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->networkStatus(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->unwanted()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->values()[Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->access$2000(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->access$5000(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->bringUp(Lcom/android/internal/telephony/dataconnection/ApnContext;IILandroid/os/Message;II)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->calculateScore()I
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Landroid/telephony/data/ApnSetting;Landroid/net/LinkProperties;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->clearSettings()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->connect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)I
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getApnContexts()Ljava/util/List;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getApnSetting()Landroid/telephony/data/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getLinkProperties()Landroid/net/LinkProperties;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getWhatToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isActivating()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isActive()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isDnsOk([Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isInactive()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isUnmeteredUseOnly()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->makeDataConnection(Lcom/android/internal/telephony/Phone;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DataConnection;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;IZ)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->reevaluateDataConnectionProperties()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->shouldRestrictNetwork()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->shouldSkip464Xlat()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->tearDown(Lcom/android/internal/telephony/dataconnection/ApnContext;Ljava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->toStringSimple()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfoSuspendState()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateScore()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataAllowedReasonType;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;-><init>(Ljava/lang/String;IZ)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;-><init>()V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->copyFrom(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->getDataRoamingEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->getDefaultDataRoamingEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isDataEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isInternalDataEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isProvisioning()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isUserDataEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->registerForDataEnabledChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->setPolicyDataEnabled(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updateDataEnabled()V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onDataCallListChanged(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onDeactivateDataCallComplete(I)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onSetInitialAttachApnComplete(I)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;-><init>(Lcom/android/internal/telephony/Phone;ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->bindDataService()V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getAllDataServicePackageNames()Ljava/util/Set;
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getDataServicePackageName(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getTransportType()I
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->grantPermissionsToService(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->registerForDataCallListChanged(Landroid/os/Handler;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->registerForServiceBindingChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->revokePermissionsFromUnusedDataServices()V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->setDataProfile(Ljava/util/List;ZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;->enter()V
-HSPLcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;->onDataStateChanged(Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcController;-><init>(Ljava/lang/String;Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController;->addActiveDcByCid(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController;->addDc(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController;->isExecutingCarrierChange()Z
-HSPLcom/android/internal/telephony/dataconnection/DcController;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController;->removeActiveDcByCid(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
-HSPLcom/android/internal/telephony/dataconnection/DcRequest;->compareTo(Lcom/android/internal/telephony/dataconnection/DcRequest;)I
-HSPLcom/android/internal/telephony/dataconnection/DcRequest;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/internal/telephony/dataconnection/DcRequest;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcRequest;->initApnPriorities(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTesterDeactivateAll;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/dataconnection/DcController;Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;-><init>(Lcom/android/internal/telephony/Phone;Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;->getDcFailBringUp()Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$1;->compare(Lcom/android/internal/telephony/dataconnection/ApnContext;Lcom/android/internal/telephony/dataconnection/ApnContext;)I
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$3;->run()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$ApnChangeObserver;->onChange(Z)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->broadcastDataStallDetected(I)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->checkRecovery()Z
-HPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->doRecovery()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->isAggressiveRecovery()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->isNoRxDataStallDetectionEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->isRecoveryOnBadNetworkEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->processNetworkStatusChanged(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->reset()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$DctOnSubscriptionsChangedListener;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;-><init>(Lcom/android/internal/telephony/Phone;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->addApnContext(Ljava/lang/String;Landroid/net/NetworkConfig;)Lcom/android/internal/telephony/dataconnection/ApnContext;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->addEmergencyApnSetting()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->addRequestNetworkCompleteMsg(Landroid/os/Message;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->apnListToString(Ljava/util/ArrayList;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->buildWaitingApns(Ljava/lang/String;I)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->checkDataRoamingStatus(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->checkForCompatibleConnectedApnContext(Lcom/android/internal/telephony/dataconnection/ApnContext;)Lcom/android/internal/telephony/dataconnection/DataConnection;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpAllConnectionsInternal(ZLjava/lang/String;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpConnectionInternal(ZILcom/android/internal/telephony/dataconnection/ApnContext;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpConnectionsOnUpdatedApns(ZLjava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->completeConnection(Lcom/android/internal/telephony/dataconnection/ApnContext;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->containsAllApns(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createAllApnList()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createDataConnection()Lcom/android/internal/telephony/dataconnection/DataConnection;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Landroid/telephony/data/ApnSetting;IZ)Landroid/telephony/data/DataProfile;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->dedupeApnSettings()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->disableApn(II)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->enableApn(IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->fetchDunApns()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->findFreeDataConnection()Lcom/android/internal/telephony/dataconnection/DataConnection;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getActiveApnString(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getActiveApnTypes()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getActivity()Lcom/android/internal/telephony/DctConstants$Activity;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getDataRat()I
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getDataRoamingEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getLinkProperties(Ljava/lang/String;)Landroid/net/LinkProperties;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getNetworkCapabilities(Ljava/lang/String;)Landroid/net/NetworkCapabilities;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getOverallState()Lcom/android/internal/telephony/DctConstants$State;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getPreferredApn()Landroid/telephony/data/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getState(Ljava/lang/String;)Lcom/android/internal/telephony/DctConstants$State;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->hasMatchedTetherApnSetting()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->initApnContexts()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->initEmergencyApnSetting()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isConnected()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/ApnContext;Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataRoamingFromUserAction()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDisconnected()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isEmergency()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isOnlySingleDcAllowed(I)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isPermanentFailure(I)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onApnChanged()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataConnectionAttached()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataEnabledChanged(ZI)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataReconnect(Landroid/os/Bundle;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataRoamingOff()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataServiceBindingChanged(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataSetupComplete(Lcom/android/internal/telephony/dataconnection/ApnContext;ZII)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataSetupCompleteError(Lcom/android/internal/telephony/dataconnection/ApnContext;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDisableApn(II)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDisconnectDone(Lcom/android/internal/telephony/dataconnection/ApnContext;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onEnableApn(IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onNetworkStatusChanged(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onRadioAvailable()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onRadioOffOrNotAvailable()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onRecordsLoadedOrSubIdChanged()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onUpdateIcc()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerForAllEvents()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerServiceStateTrackerEvents()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerSettingsObserver()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->releaseNetwork(Landroid/net/NetworkRequest;ILandroid/util/LocalLog;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;Landroid/util/LocalLog;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->sendStartNetStatPoll(Lcom/android/internal/telephony/DctConstants$Activity;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->sendStopNetStatPoll(Lcom/android/internal/telephony/DctConstants$Activity;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setActivity(Lcom/android/internal/telephony/DctConstants$Activity;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setDataProfilesAsNeeded()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setDefaultDataRoamingEnabled()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setInitialAttachApn()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupData(Lcom/android/internal/telephony/dataconnection/ApnContext;II)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupDataOnConnectableApns(Ljava/lang/String;Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->sortApnListByPreferred(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->startAlarmForReconnect(JLcom/android/internal/telephony/dataconnection/ApnContext;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->startDataStallAlarm(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->startNetStatPoll()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->stopDataStallAlarm()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->trySetupData(Lcom/android/internal/telephony/dataconnection/ApnContext;I)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->update()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->updateAutoAttachOnCreation()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->updateDataActivity()V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory$InternalHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;-><init>(Lcom/android/internal/telephony/SubscriptionMonitor;Landroid/os/Looper;Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->makeNetworkFilter(I)Landroid/net/NetworkCapabilities;
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->needNetworkFor(Landroid/net/NetworkRequest;I)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onActivePhoneSwitch()V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onNeedNetworkFor(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onReleaseNetworkFor(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onSubIdChange()V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;->getAvailableTransports()[I
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;->getCurrentTransport(I)I
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;->isInLegacyMode()Z
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;->registerForHandoverNeededEvent(Landroid/os/Handler;I)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->cacheEmergencyDatabaseByCountry(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->convertEmergencyNumberFromEccInfo(Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;Ljava/lang/String;)Landroid/telephony/emergency/EmergencyNumber;
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberList()Ljava/util/List;
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberListFromEccList()Ljava/util/List;
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberListTestMode()Ljava/util/List;
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getLabeledEmergencyNumberForEcclist(Ljava/lang/String;)Landroid/telephony/emergency/EmergencyNumber;
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumber(Ljava/lang/String;Z)Z
-HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumberForTest(Ljava/lang/String;)Z
-HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumberFromEccList(Ljava/lang/String;Z)Z
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->notifyEmergencyNumberList()V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->onCarrierConfigChanged()V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberDatabaseCountryChange(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberList()V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberListDatabaseAndNotify(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberPrefixAndNotify([Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/euicc/-$$Lambda$EuiccConnector$ConnectedState$4$S52i3hpE3-FGho807KZ1LR5rXQM;->run()V
-HSPLcom/android/internal/telephony/euicc/EuiccCardController$SimSlotStatusChangedBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/euicc/EuiccCardController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/internal/telephony/euicc/EuiccController;Lcom/android/internal/telephony/uicc/UiccController;)V
-HSPLcom/android/internal/telephony/euicc/EuiccCardController;->init(Landroid/content/Context;)Lcom/android/internal/telephony/euicc/EuiccCardController;
-HSPLcom/android/internal/telephony/euicc/EuiccCardController;->isBootUp(Landroid/content/Context;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccCardController;->isEmbeddedSlotActivated()Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$AvailableState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$BindingState;->enter()V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$4;->lambda$onComplete$0$EuiccConnector$ConnectedState$4(Lcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$4;->onComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->enter()V
-HPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->exit()V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$DisconnectedState;->enter()V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$DisconnectedState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$UnavailableState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->createBinding()Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->findBestComponent(Landroid/content/pm/PackageManager;Ljava/util/List;)Landroid/content/pm/ComponentInfo;
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getCallback(Landroid/os/Message;)Lcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getEuiccProfileInfoList(ILcom/android/internal/telephony/euicc/EuiccConnector$GetEuiccProfileInfoListCommandCallback;)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getSlotIdFromCardId(I)I
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->init(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->isValidEuiccComponent(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/euicc/EuiccController$3;->onListComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
-HSPLcom/android/internal/telephony/euicc/EuiccController;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/euicc/EuiccConnector;)V
-HSPLcom/android/internal/telephony/euicc/EuiccController;->blockingGetEuiccProfileInfoList(I)Landroid/service/euicc/GetEuiccProfileInfoListResult;
-HSPLcom/android/internal/telephony/euicc/EuiccController;->get()Lcom/android/internal/telephony/euicc/EuiccController;
-HSPLcom/android/internal/telephony/euicc/EuiccController;->init(Landroid/content/Context;)Lcom/android/internal/telephony/euicc/EuiccController;
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController$Stub;-><init>()V
-HSPLcom/android/internal/telephony/euicc/IEuiccController$Stub;-><init>()V
-HSPLcom/android/internal/telephony/euicc/IEuiccController$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/euicc/IEuiccController;
-HSPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;)V
-HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->dispatchMessageRadioSpecific(Lcom/android/internal/telephony/SmsMessageBase;)I
-HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->is3gpp2()Z
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsDispatchersController;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;)V
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getFormat()Ljava/lang/String;
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getUiccCardApplication()Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->onUpdateIccAvailability()V
-HSPLcom/android/internal/telephony/gsm/SimTlv;-><init>([BII)V
-HSPLcom/android/internal/telephony/gsm/SimTlv;->getData()[B
-HSPLcom/android/internal/telephony/gsm/SimTlv;->getTag()I
-HSPLcom/android/internal/telephony/gsm/SimTlv;->isValidObject()Z
-HPLcom/android/internal/telephony/gsm/SimTlv;->nextObject()Z
-HSPLcom/android/internal/telephony/gsm/SimTlv;->parseCurrentTlvObject()Z
-HSPLcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;Lcom/android/internal/telephony/uicc/AdnRecordCache;)V
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->createPbrFile(Ljava/util/ArrayList;)V
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->loadEfFilesFromUsim()Ljava/util/ArrayList;
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readAdnFileAndWait(I)V
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readEmailFileAndWait(I)V
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readPbrFileAndWait()V
-HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->reset()V
-HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->updatePhoneAdnRecord()V
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs;-><init>()V
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$VfY5To_kbbTJevLzywTg-_S1JhA;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$pNx4XUM9FmR6cV_MCAGiEt8F4pg;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsServiceController$w3xbtqEhKr7IY81qFuw0e94p84Y;->test(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/ims/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;-><init>()V
-HSPLcom/android/internal/telephony/ims/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;->get()Ljava/lang/Object;
-HSPLcom/android/internal/telephony/ims/-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs;-><init>()V
-HSPLcom/android/internal/telephony/ims/-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs;->create(Landroid/content/Context;Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;)Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;
-HSPLcom/android/internal/telephony/ims/ImsResolver$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver$3;->getSubId(I)I
-HSPLcom/android/internal/telephony/ims/ImsResolver$4;->create(Landroid/content/Context;Landroid/content/ComponentName;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;)Lcom/android/internal/telephony/ims/ImsServiceController;
-HSPLcom/android/internal/telephony/ims/ImsResolver$4;->getServiceInterface()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ims/ImsResolver$5;->getServiceInterface()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ims/ImsResolver$7;->onComplete(Landroid/content/ComponentName;Ljava/util/Set;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;->getSupportedFeatures()Ljava/util/HashSet;
-HSPLcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;->replaceFeatures(Ljava/util/Set;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;-><init>(Landroid/content/Context;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->bindImsServiceWithFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;Ljava/util/HashSet;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->calculateFeaturesToCreate(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)Ljava/util/HashSet;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->carrierConfigChanged(I)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->dynamicQueryComplete(Landroid/content/ComponentName;Ljava/util/Set;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->enableIms(I)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsServiceController(II)Lcom/android/internal/telephony/ims/ImsServiceController;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsServiceControllerAndListen(IILcom/android/ims/internal/IImsServiceFeatureCallback;)Lcom/android/internal/telephony/ims/ImsServiceController;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsServiceControllers(I)Landroid/util/SparseArray;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsServiceInfo(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsServiceInfoFromCache(Ljava/lang/String;)Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->imsServiceFeatureCreated(IILcom/android/internal/telephony/ims/ImsServiceController;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->initPopulateCacheAndStartBind()V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->lambda$new$0$ImsResolver(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/ims/ImsResolver;->maybeAddedImsService(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/ims/ImsResolver;->maybeRemovedImsService(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ims/ImsResolver;->printFeatures(Ljava/util/Set;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->putImsController(IILcom/android/internal/telephony/ims/ImsServiceController;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->scheduleQueryForFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;I)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->searchForImsServices(Ljava/lang/String;Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceControllerFactory;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ims/ImsResolver;->startDynamicQuery(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->unbindImsService(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->updateBoundCarrierServices(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->updateImsServiceFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController$3;->getMaximumDelay()J
-HSPLcom/android/internal/telephony/ims/ImsServiceController$3;->getStartDelay()J
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsFeatureContainer;->hashCode()I
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsFeatureContainer;->resolve(Ljava/lang/Class;)Landroid/os/IInterface;
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsFeatureStatusCallback$1;->notifyImsFeatureStatus(I)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->addImsServiceFeature(Landroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->addImsServiceFeatureCallback(Lcom/android/ims/internal/IImsServiceFeatureCallback;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->bind(Ljava/util/HashSet;)Z
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->changeImsServiceFeatures(Ljava/util/HashSet;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->createImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/os/IInterface;
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->enableIms(I)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->getComponentName()Landroid/content/ComponentName;
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->getConfig(I)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->getMmTelFeature(I)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->getRegistration(I)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->getServiceInterface()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->grantPermissionsToService()V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->isServiceControllerAvailable()Z
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->notifyImsServiceReady()V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->sendImsFeatureCreatedCallback(II)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->sendImsFeatureStatusChanged(III)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->setServiceController(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController;->startBindToService(Landroid/content/Intent;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceConnection;I)Z
-HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;->startQuery(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ims/RcsMessageStoreController;-><init>(Landroid/content/ContentResolver;)V
-HSPLcom/android/internal/telephony/ims/RcsMessageStoreController;->init(Landroid/content/Context;)Lcom/android/internal/telephony/ims/RcsMessageStoreController;
-HSPLcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54;-><init>()V
-HSPLcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg;-><init>()V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalCallStateListener;->onImsExternalCallStateUpdate(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;-><init>(Lcom/android/internal/telephony/imsphone/ImsPhone;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->getExternalCallStateListener()Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalCallStateListener;
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->handleVideoCapabilitiesChanged(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->refreshCallPullState()V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->refreshExternalCallState(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->registerForNotifications()V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->setCallPuller(Lcom/android/internal/telephony/imsphone/ImsPullCall;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Lcom/android/internal/telephony/Phone;Z)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getBackgroundCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getBackgroundCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getDefaultPhone()Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getExternalCallTracker()Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getForegroundCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getForegroundCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getImsEcbmStateListener()Lcom/android/ims/ImsEcbmStateListener;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getPhoneId()I
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getPhoneType()I
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getRingingCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getRingingCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getServiceState()Landroid/telephony/ServiceState;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getSubId()I
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getVtDataUsage(Z)Landroid/net/NetworkStats;
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isImsCapabilityAvailable(II)Z
-HPLcom/android/internal/telephony/imsphone/ImsPhone;->isImsRegistered()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isInEcm()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isVideoEnabled()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isWifiCallingEnabled()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->onFeatureCapabilityChanged()V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->processDisconnectReason(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForOnHoldTone(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForRingbackTone(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForSilentRedial(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForTtyModeReceived(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setCurrentSubscriberUris([Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setImsRegistered(Z)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setServiceState(I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->updateDataServiceState()V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneBase;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Z)V
-HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->getPhone()Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$3;->connectionReady(Lcom/android/ims/ImsManager;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onRegistered(I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onRegistering(I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onUnregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$7;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$8;->onSetFeatureResponse(IIII)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;->onProvisioningIntChanged(II)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;->sendConfigChangedIntent(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$HoldSwapState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;-><init>(Lcom/android/internal/telephony/imsphone/ImsPhone;Ljava/util/concurrent/Executor;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->addReasonCodeRemapping(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/Integer;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->cacheCarrierConfiguration(I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getEcbmInterface()Lcom/android/ims/ImsEcbm;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getImsRegistrationTech()I
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getMultiEndpointInterface()Lcom/android/ims/ImsMultiEndpoint;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getPackageUid(Landroid/content/Context;Ljava/lang/String;)I
-HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getPhone()Lcom/android/internal/telephony/imsphone/ImsPhone;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getUtInterface()Lcom/android/ims/ImsUtInterface;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getVtDataUsage(Z)Landroid/net/NetworkStats;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->handleFeatureCapabilityChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isImsCapabilityAvailable(II)Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isUtEnabled()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isVideoCallEnabled()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isVolteEnabled()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isVowifiEnabled()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->onDataEnabledChanged(ZI)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->registerPhoneStateListener(Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneStateListener;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->startListeningForCalls()V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->updateCarrierConfigCache(Landroid/os/PersistableBundle;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneFactory;->makePhone(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/imsphone/ImsPhone;
-HSPLcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY;->test(Ljava/lang/Object;)Z
-HPLcom/android/internal/telephony/metrics/CallSessionEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
-HPLcom/android/internal/telephony/metrics/CallSessionEventBuilder;->setDelay(I)Lcom/android/internal/telephony/metrics/CallSessionEventBuilder;
-HPLcom/android/internal/telephony/metrics/InProgressCallSession;-><init>(I)V
-HPLcom/android/internal/telephony/metrics/InProgressCallSession;->addEvent(JLcom/android/internal/telephony/metrics/CallSessionEventBuilder;)V
-HPLcom/android/internal/telephony/metrics/InProgressCallSession;->addEvent(Lcom/android/internal/telephony/metrics/CallSessionEventBuilder;)V
-HPLcom/android/internal/telephony/metrics/InProgressCallSession;->containsCsCalls()Z
-HPLcom/android/internal/telephony/metrics/InProgressCallSession;->isEventsDropped()Z
-HPLcom/android/internal/telephony/metrics/InProgressCallSession;->setLastKnownPhoneState(I)V
-HPLcom/android/internal/telephony/metrics/InProgressSmsSession;-><init>(I)V
-HPLcom/android/internal/telephony/metrics/InProgressSmsSession;->addEvent(JLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
-HPLcom/android/internal/telephony/metrics/InProgressSmsSession;->isEventsDropped()Z
-PLcom/android/internal/telephony/metrics/ModemPowerMetrics;->buildProto()Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
-PLcom/android/internal/telephony/metrics/ModemPowerMetrics;->getStats()Landroid/os/connectivity/CellularBatteryStats;
-HPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
-HPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setDelay(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
-HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
-HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->setSimStateChange(Landroid/util/SparseArray;)Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;-><init>()V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->addTelephonyEvent(Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->annotateInProgressCallSession(JILcom/android/internal/telephony/metrics/CallSessionEventBuilder;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->annotateInProgressSmsSession(JILcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->buildProto()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->convertSmsFormat(Ljava/lang/String;)I
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishCallSession(Lcom/android/internal/telephony/metrics/InProgressCallSession;)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishSmsSession(Lcom/android/internal/telephony/metrics/InProgressSmsSession;)Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->reset()V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewCallSessionIfNeeded(I)Lcom/android/internal/telephony/metrics/InProgressCallSession;
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewSmsSession(I)Lcom/android/internal/telephony/metrics/InProgressSmsSession;
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->toPrivacyFuzzedTimeInterval(JJ)I
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->toServiceStateProto(Landroid/telephony/ServiceState;)Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->updateActiveSubscriptionInfoList(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->updateSimState(II)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeCarrierIdMatchingEvent(IIILjava/lang/String;Ljava/lang/String;)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeDataStallEvent(II)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeDataSwitch(ILcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeImsSetFeatureValue(IIII)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeIncomingSmsSession(IZLjava/lang/String;[JZ)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeIncomingSmsSessionWithType(IIZLjava/lang/String;[JZZ)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeNITZEvent(IJ)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCapabilities(IILandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsConnectionState(IILandroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnRilSolicitedResponse(IIIILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnSetupDataCallResponse(IIIILandroid/telephony/data/DataCallResponse;)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writePhoneState(ILcom/android/internal/telephony/PhoneConstants$State;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilDataCallEvent(IIII)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilDeactivateDataCall(IIII)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeServiceStateChanged(ILandroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetPreferredNetworkType(II)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;I)V
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->clear()Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->emptyArray()[Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/protobuf/nano/MessageNano;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;->emptyArray()[Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/protobuf/nano/MessageNano;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/protobuf/nano/MessageNano;
-HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;->parseFrom([B)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsConnectionState;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsConnectionState;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsReasonInfo;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsReasonInfo;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
-PLcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
-HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
-HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$SmsSession;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
-HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState$TelephonyOperator;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState$TelephonyOperator;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonySettings;->computeSerializedSize()I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonySettings;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readMessage(Lcom/android/internal/telephony/protobuf/nano/MessageNano;)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readRawBytes(I)[B
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readRawVarint32()I
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readTag()I
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->rewindToPosition(I)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->skipField(I)Z
-HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->skipRawBytes(I)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->checkNoSpaceLeft()V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeInt32Size(II)I
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeInt32SizeNoTag(I)I
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSize(ILcom/android/internal/telephony/protobuf/nano/MessageNano;)I
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint64Size(J)I
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;[BII)I
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->encodedLength(Ljava/lang/CharSequence;)I
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt32(II)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt32NoTag(I)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt64(IJ)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt64NoTag(J)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeMessage(ILcom/android/internal/telephony/protobuf/nano/MessageNano;)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeMessageNoTag(Lcom/android/internal/telephony/protobuf/nano/MessageNano;)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint32(I)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint64(J)V
-HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeStringNoTag(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeTag(II)V
-HSPLcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/protobuf/nano/MessageNano;->getCachedSize()I
-HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->getSerializedSize()I
-HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/MessageNano;[BII)Lcom/android/internal/telephony/protobuf/nano/MessageNano;
-HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->messageNanoEquals(Lcom/android/internal/telephony/protobuf/nano/MessageNano;Lcom/android/internal/telephony/protobuf/nano/MessageNano;)Z
-HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->toByteArray(Lcom/android/internal/telephony/protobuf/nano/MessageNano;[BII)V
-HSPLcom/android/internal/telephony/uicc/AdnRecord$1;-><init>()V
-HSPLcom/android/internal/telephony/uicc/AdnRecord;->getAlphaTag()Ljava/lang/String;
-HPLcom/android/internal/telephony/uicc/AdnRecord;->getEfid()I
-HSPLcom/android/internal/telephony/uicc/AdnRecord;->getNumber()Ljava/lang/String;
-HPLcom/android/internal/telephony/uicc/AdnRecord;->getRecId()I
-HSPLcom/android/internal/telephony/uicc/AdnRecord;->isEmpty()Z
-HSPLcom/android/internal/telephony/uicc/AdnRecord;->parseRecord([B)V
-HSPLcom/android/internal/telephony/uicc/AdnRecord;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/AdnRecordCache;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;)V
-HSPLcom/android/internal/telephony/uicc/AdnRecordCache;->clearWaiters()V
-HPLcom/android/internal/telephony/uicc/AdnRecordCache;->extensionEfForEf(I)I
-HPLcom/android/internal/telephony/uicc/AdnRecordCache;->getRecordsIfLoaded(I)Ljava/util/ArrayList;
-HPLcom/android/internal/telephony/uicc/AdnRecordCache;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/uicc/AdnRecordCache;->requestLoadAllAdnLike(IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/AdnRecordCache;->reset()V
-HSPLcom/android/internal/telephony/uicc/AdnRecordLoader;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;)V
-HSPLcom/android/internal/telephony/uicc/AdnRecordLoader;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/AdnRecordLoader;->loadFromEF(IIILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->getRawData()[B
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->getValue(I)[B
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->parseHistoricalBytes([BII)Lcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->parseLtvNode(ILandroid/util/ArrayMap;[BI)I
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;->getTB()Ljava/lang/Byte;
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;->getTD()Ljava/lang/Byte;
-HSPLcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->checkIsEuiccSupported()V
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->getConventionByte()B
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->isEuiccSupported()Z
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->isExtendedApduSupported()Z
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->parseAtrString(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->parseConventionByte([BI)I
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->parseInterfaceBytes([BI)I
-HSPLcom/android/internal/telephony/uicc/AnswerToReset;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/CarrierTestOverride;->isInTestMode()Z
-HSPLcom/android/internal/telephony/uicc/CarrierTestOverride;->loadCarrierTestOverrides()V
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->AppStateFromRILInt(I)Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->PersoSubstateFromRILInt(I)Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->PinStateFromRILInt(I)Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccCardStatus$CardState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/IccCardStatus$CardState;->values()[Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-HSPLcom/android/internal/telephony/uicc/IccCardStatus$PinState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/IccCardStatus$PinState;->values()[Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-HSPLcom/android/internal/telephony/uicc/IccCardStatus;->setCardState(I)V
-HSPLcom/android/internal/telephony/uicc/IccCardStatus;->setUniversalPinState(I)V
-HSPLcom/android/internal/telephony/uicc/IccCardStatus;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->getCommonIccEFPath(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixed(IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixed(ILjava/lang/String;ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixedAll(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixedAll(ILjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFTransparent(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->sendResult(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)V
-HSPLcom/android/internal/telephony/uicc/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccIoResult;->getErrorString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccIoResult;->getException()Lcom/android/internal/telephony/uicc/IccException;
-HSPLcom/android/internal/telephony/uicc/IccIoResult;->success()Z
-HSPLcom/android/internal/telephony/uicc/IccIoResult;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;-><init>(Lcom/android/internal/telephony/uicc/UiccCardApplication;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getAdnCache()Lcom/android/internal/telephony/uicc/AdnRecordCache;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getFullIccId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getGid1()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getGid2()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getIMSI()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getIccId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getLockedRecordsLoaded()Z
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getNetworkLockedRecordsLoaded()Z
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getPnnHomeName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getRecordsLoaded()Z
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getServiceProviderName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->isLoaded()Z
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForLockedRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForNetworkLockedRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForNetworkSelectionModeAutomatic(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForNewSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsEvents(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsOverride(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->setImsi(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->setServiceProviderName(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForRecordsEvents(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForRecordsLoaded(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->updateOperatorPlmn()V
-HSPLcom/android/internal/telephony/uicc/IccServiceTable;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccSlotStatus$SlotState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->setCardState(I)V
-HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->setSlotState(I)V
-HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->adnStringFieldToString([BII)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->bcdPlmnToString([BI)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->bcdToString([BII)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->bchToString([BII)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->byteToHex(B)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->bytesToHexString([B)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->getDecimalSubstring(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->hexCharToInt(C)I
-HSPLcom/android/internal/telephony/uicc/IccUtils;->hexStringToBytes(Ljava/lang/String;)[B
-HSPLcom/android/internal/telephony/uicc/IccUtils;->networkNameToString([BII)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccUtils;->stripTrailingFs(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/InstallCarrierAppUtils;->hideAllNotifications(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/uicc/IsimFileHandler;->getEFPath(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimDomainLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimDomainLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpiLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpiLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpuLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpuLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimIstLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimPcscfLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;-><init>(Lcom/android/internal/telephony/uicc/UiccCardApplication;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->fetchIsimRecords()V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->getIsimDomain()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->getIsimImpu()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->isimTlvToString([B)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->onAllRecordsLoaded()V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->onReady()V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->onRecordLoaded()V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->resetRecords()V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/PlmnActRecord$1;-><init>()V
-HSPLcom/android/internal/telephony/uicc/PlmnActRecord;->accessTechString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/PlmnActRecord;->getRecords([B)[Lcom/android/internal/telephony/uicc/PlmnActRecord;
-HSPLcom/android/internal/telephony/uicc/PlmnActRecord;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords$EfPlLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords$EfPlLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords$EfUsimLiLoaded;->getEfName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords$EfUsimLiLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;->values()[Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;-><init>(Lcom/android/internal/telephony/uicc/UiccCardApplication;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->fetchSimRecords()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getDisplayRule(Landroid/telephony/ServiceState;)I
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getMsisdnAlphaTag()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getMsisdnNumber()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getOperatorNumeric()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getSpnFsm(ZLandroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceCallForwardingFlag()I
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMailNumber()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMessageCount()I
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->loadCallForwardingRecords()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->loadEfLiAndEfPl()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->onAllRecordsLoaded()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->onReady()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->onRecordLoaded()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->parseBcdPlmnList([BLjava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->resetRecords()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->setVoiceCallForwardingFlagFromSimRecords()V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->setVoiceMessageWaiting(II)V
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->validEfCfis([B)Z
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getApplication(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getCardId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getCardState()Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getCarrierPrivilegeStatus(Landroid/content/pm/PackageManager;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getIccId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getOperatorBrandOverride()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->getUiccProfile()Lcom/android/internal/telephony/uicc/UiccProfile;
-HSPLcom/android/internal/telephony/uicc/UiccCard;->hasCarrierPrivilegeRules()Z
-HSPLcom/android/internal/telephony/uicc/UiccCard;->update(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;)V
-HSPLcom/android/internal/telephony/uicc/UiccCard;->updateCardId()V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;-><init>(Lcom/android/internal/telephony/uicc/UiccProfile;Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->createIccFileHandler(Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;)Lcom/android/internal/telephony/uicc/IccFileHandler;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->createIccRecords(Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/uicc/IccRecords;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getAid()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getIccFileHandler()Lcom/android/internal/telephony/uicc/IccFileHandler;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getIccRecords()Lcom/android/internal/telephony/uicc/IccRecords;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getPhoneId()I
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getPin1State()Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getState()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getUiccProfile()Lcom/android/internal/telephony/uicc/UiccProfile;
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->isAppIgnored()Z
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->isReady()Z
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->notifyNetworkLockedRegistrantsIfNeeded(Landroid/os/Registrant;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->notifyPinLockedRegistrantsIfNeeded(Landroid/os/Registrant;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->notifyReadyRegistrantsIfNeeded(Landroid/os/Registrant;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->onQueryFacilityLock(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->onQueryFdnEnabled(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->queryFdn()V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->registerForLocked(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->registerForReady(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->unregisterForReady(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;-><init>(Lcom/android/internal/telephony/uicc/UiccProfile;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->areCarrierPriviligeRulesLoaded()Z
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getAccessRules()Ljava/util/List;
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPrivilegeStatus(Landroid/content/pm/PackageManager;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPrivilegeStatusForUid(Landroid/content/pm/PackageManager;I)I
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->hasCarrierPrivilegeRules()Z
-HSPLcom/android/internal/telephony/uicc/UiccController;-><init>(Landroid/content/Context;[Lcom/android/internal/telephony/CommandsInterface;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->addCardId(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->addCardLog(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->convertToPublicCardId(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/uicc/UiccController;->getAllUiccCardInfos()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getCardIdForDefaultEuicc()I
-HSPLcom/android/internal/telephony/uicc/UiccController;->getCiIndex(Landroid/os/Message;)Ljava/lang/Integer;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getIccRecords(II)Lcom/android/internal/telephony/uicc/IccRecords;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getIccStateIntentString(Lcom/android/internal/telephony/IccCardConstants$State;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getInstance()Lcom/android/internal/telephony/uicc/UiccController;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCard(I)Lcom/android/internal/telephony/uicc/UiccCard;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCardApplication(II)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCardForPhone(I)Lcom/android/internal/telephony/uicc/UiccCard;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccProfileForPhone(I)Lcom/android/internal/telephony/uicc/UiccProfile;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccSlotForPhone(I)Lcom/android/internal/telephony/uicc/UiccSlot;
-HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccSlots()[Lcom/android/internal/telephony/uicc/UiccSlot;
-HSPLcom/android/internal/telephony/uicc/UiccController;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->loadCardStrings()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/uicc/UiccController;->make(Landroid/content/Context;[Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/uicc/UiccController;
-HSPLcom/android/internal/telephony/uicc/UiccController;->onGetIccCardStatusDone(Landroid/os/AsyncResult;Ljava/lang/Integer;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->onGetSlotStatusDone(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->registerForIccChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->slotStatusChanged(Ljava/util/ArrayList;)Z
-HSPLcom/android/internal/telephony/uicc/UiccController;->updateInternalIccState(Landroid/content/Context;Lcom/android/internal/telephony/IccCardConstants$State;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15$Pkcs15Selector;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->getRules()Ljava/util/List;
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile$3;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILcom/android/internal/telephony/uicc/UiccCard;Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->areAllApplicationsReady()Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->areAllRecordsLoaded()Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->areCarrierPriviligeRulesLoaded()Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->checkAndUpdateIfAnyAppToBeIgnored()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->checkIndexLocked(ILcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;)I
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->createAndUpdateCatServiceLocked()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getApplication(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getApplicationIndex(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeRules()Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeStatus(Landroid/content/pm/PackageManager;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeStatusForUid(Landroid/content/pm/PackageManager;I)I
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCertsFromCarrierPrivilegeAccessRules()Ljava/util/List;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccRecords()Lcom/android/internal/telephony/uicc/IccRecords;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccRecordsLoaded()Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccStateReason(Lcom/android/internal/telephony/IccCardConstants$State;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getOperatorBrandOverride()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getPhoneId()I
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getServiceProviderName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getState()Lcom/android/internal/telephony/IccCardConstants$State;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getUninstalledCarrierPackages()Ljava/util/Set;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->handleCarrierNameOverride()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->handleSimCountryIsoOverride()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->hasCarrierPrivilegeRules()Z
-HPLcom/android/internal/telephony/uicc/UiccProfile;->hasIccCard()Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->iccCloseLogicalChannel(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->iccOpenLogicalChannel(Ljava/lang/String;ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->iccTransmitApduLogicalChannel(IIIIIILjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->isSupportedApplication(Lcom/android/internal/telephony/uicc/UiccCardApplication;)Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->loglocal(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->onCarrierPrivilegesLoadedMessage()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->registerAllAppEvents()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->resetProperties()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->sanitizeApplicationIndexesLocked()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->setCurrentAppType(Z)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->setExternalState(Lcom/android/internal/telephony/IccCardConstants$State;Z)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->unregisterAllAppEvents()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->unregisterForNetworkLocked(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->update(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateCarrierNameForSubscription(Lcom/android/internal/telephony/SubscriptionController;I)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateExternalState()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateIccAvailability(Z)V
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->getCardState()Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->getIccId()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->getPhoneId()I
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->getUiccCard()Lcom/android/internal/telephony/uicc/UiccCard;
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->isActive()Z
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->isEuicc()Z
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->isExtendedApduSupported()Z
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->isRemovable()Z
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->update(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;II)V
-HSPLcom/android/internal/telephony/uicc/UiccSlot;->update(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccSlotStatus;I)V
-HSPLcom/android/internal/telephony/uicc/UiccStateChangedLauncher;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/uicc/UiccController;)V
-HSPLcom/android/internal/telephony/uicc/UiccStateChangedLauncher;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccStateChangedLauncher;->notifyStateChanged()V
-HSPLcom/android/internal/telephony/uicc/UsimFileHandler;->getEFPath(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UsimFileHandler;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/uicc/UsimServiceTable;-><init>([B)V
-HSPLcom/android/internal/telephony/uicc/UsimServiceTable;->getTag()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UsimServiceTable;->getValues()[Ljava/lang/Object;
-HSPLcom/android/internal/telephony/uicc/VoiceMailConstants;->containsCarrier(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/uicc/VoiceMailConstants;->loadVoiceMail()V
-HSPLcom/android/internal/telephony/util/NotificationChannelController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/util/NotificationChannelController;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/util/NotificationChannelController;->createAll(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/util/NotificationChannelController;->migrateVoicemailNotificationSettings(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->getRingTonePreference(Landroid/content/Context;)Landroid/net/Uri;
-HSPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->migrateVoicemailRingtoneSettingsIfNeeded(Landroid/content/Context;Landroid/content/SharedPreferences;)V
-HSPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->migrateVoicemailVibrationSettingsIfNeeded(Landroid/content/Context;Landroid/content/SharedPreferences;)V
-PLcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
-PLcom/android/internal/textservice/ISpellCheckerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ISpellCheckerService;
-PLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;-><init>()V
-PLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub;-><init>()V
-HPLcom/android/internal/textservice/ITextServicesManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-PLcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;->test(Ljava/lang/Object;)Z
-PLcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;->run()V
-HSPLcom/android/internal/util/ArrayUtils;->add(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
-HSPLcom/android/internal/util/ArrayUtils;->add(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
-HSPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;Z)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->appendInt([II)[I
-HSPLcom/android/internal/util/ArrayUtils;->appendInt([IIZ)[I
-HSPLcom/android/internal/util/ArrayUtils;->appendLong([JJZ)[J
+HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsPackage(Landroid/content/Context;I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SmsApplication;->getIncomingUserId(Landroid/content/Context;)I
+HSPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLcom/android/internal/textservice/ITextServicesManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ITextServicesManager;
+HSPLcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;-><clinit>()V
+HSPLcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;-><init>()V
+HSPLcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;->get()Ljava/lang/Object;
+HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Landroid/annotation/IntRange;ILjava/lang/String;J)V
+HSPLcom/android/internal/util/AnnotationValidations;->validate(Ljava/lang/Class;Landroid/annotation/NonNull;Ljava/lang/Object;)V
HSPLcom/android/internal/util/ArrayUtils;->checkBounds(II)V
-HSPLcom/android/internal/util/ArrayUtils;->contains(Ljava/util/Collection;Ljava/lang/Object;)Z
+HSPLcom/android/internal/util/ArrayUtils;->cloneOrNull([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLcom/android/internal/util/ArrayUtils;->contains([II)Z
HSPLcom/android/internal/util/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLcom/android/internal/util/ArrayUtils;->containsAll([Ljava/lang/Object;[Ljava/lang/Object;)Z
-HSPLcom/android/internal/util/ArrayUtils;->convertToIntArray(Ljava/util/List;)[I
-HSPLcom/android/internal/util/ArrayUtils;->convertToLongArray([I)[J
HSPLcom/android/internal/util/ArrayUtils;->deepToString(Ljava/lang/Object;)Ljava/lang/String;
-HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/io/File;)[Ljava/io/File;
+HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->filterNotNull([Ljava/lang/Object;Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
HSPLcom/android/internal/util/ArrayUtils;->isEmpty(Ljava/util/Collection;)Z
+HSPLcom/android/internal/util/ArrayUtils;->isEmpty([I)Z
HSPLcom/android/internal/util/ArrayUtils;->isEmpty([Ljava/lang/Object;)Z
HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedArray(Ljava/lang/Class;I)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedByteArray(I)[B
HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedCharArray(I)[C
-HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedFloatArray(I)[F
HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedIntArray(I)[I
HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedLongArray(I)[J
HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->referenceEquals(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HSPLcom/android/internal/util/ArrayUtils;->remove(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
-HSPLcom/android/internal/util/ArrayUtils;->removeElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLcom/android/internal/util/ArrayUtils;->removeInt([II)[I
-HSPLcom/android/internal/util/ArrayUtils;->size(Ljava/util/Collection;)I
-HSPLcom/android/internal/util/ArrayUtils;->total([J)J
-HSPLcom/android/internal/util/ArrayUtils;->trimToSize([Ljava/lang/Object;I)[Ljava/lang/Object;
+HSPLcom/android/internal/util/ArrayUtils;->size([Ljava/lang/Object;)I
HSPLcom/android/internal/util/ArrayUtils;->unstableRemoveIf(Ljava/util/ArrayList;Ljava/util/function/Predicate;)I
-HSPLcom/android/internal/util/AsyncChannel$DeathMonitor;->binderDied()V
-HSPLcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/util/AsyncChannel$SyncMessenger;->obtain()Lcom/android/internal/util/AsyncChannel$SyncMessenger;
-HSPLcom/android/internal/util/AsyncChannel$SyncMessenger;->recycle()V
-HSPLcom/android/internal/util/AsyncChannel$SyncMessenger;->sendMessageSynchronously(Landroid/os/Messenger;Landroid/os/Message;)Landroid/os/Message;
-HSPLcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)V
-HSPLcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V
-HSPLcom/android/internal/util/AsyncChannel;->connectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)I
HSPLcom/android/internal/util/AsyncChannel;->connected(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V
-HPLcom/android/internal/util/AsyncChannel;->disconnect()V
-HSPLcom/android/internal/util/AsyncChannel;->linkToDeathMonitor()Z
-HSPLcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;II)V
-HSPLcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;Landroid/os/Message;)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessage(I)V
-HPLcom/android/internal/util/AsyncChannel;->sendMessage(II)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessage(III)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessage(IIILjava/lang/Object;)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessage(ILjava/lang/Object;)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(I)Landroid/os/Message;
-HSPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(III)Landroid/os/Message;
-HPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(ILjava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(Landroid/os/Message;)Landroid/os/Message;
-HSPLcom/android/internal/util/BitUtils;->packBits([I)J
-HSPLcom/android/internal/util/BitUtils;->toBytes(J)[B
HSPLcom/android/internal/util/BitUtils;->unpackBits(J)[I
-HPLcom/android/internal/util/CollectionUtils;->addIf(Ljava/util/List;Ljava/util/Collection;Ljava/util/function/Predicate;)V
-HSPLcom/android/internal/util/CollectionUtils;->copyOf(Ljava/util/Set;)Ljava/util/Set;
-HSPLcom/android/internal/util/CollectionUtils;->filter(Ljava/util/Set;Ljava/util/function/Predicate;)Ljava/util/Set;
-HSPLcom/android/internal/util/CollectionUtils;->firstOrNull(Ljava/util/Collection;)Ljava/lang/Object;
-HSPLcom/android/internal/util/CollectionUtils;->firstOrNull(Ljava/util/List;)Ljava/lang/Object;
HSPLcom/android/internal/util/CollectionUtils;->isEmpty(Ljava/util/Collection;)Z
-HSPLcom/android/internal/util/CollectionUtils;->map(Ljava/util/Set;Ljava/util/function/Function;)Ljava/util/Set;
-HPLcom/android/internal/util/CollectionUtils;->singletonOrEmpty(Ljava/lang/Object;)Ljava/util/List;
HSPLcom/android/internal/util/CollectionUtils;->size(Ljava/util/Collection;)I
-HSPLcom/android/internal/util/ConcurrentUtils$1$1;->run()V
-HSPLcom/android/internal/util/ConcurrentUtils$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-HSPLcom/android/internal/util/ConcurrentUtils;->newFixedThreadPool(ILjava/lang/String;I)Ljava/util/concurrent/ExecutorService;
-HSPLcom/android/internal/util/ConcurrentUtils;->waitForCountDownNoInterrupt(Ljava/util/concurrent/CountDownLatch;JLjava/lang/String;)V
-HSPLcom/android/internal/util/ConcurrentUtils;->waitForFutureNoInterrupt(Ljava/util/concurrent/Future;Ljava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/internal/util/ConcurrentUtils;->wtfIfLockHeld(Ljava/lang/String;Ljava/lang/Object;)V
-HPLcom/android/internal/util/DumpUtils;->checkDumpAndUsageStatsPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
-HSPLcom/android/internal/util/DumpUtils;->checkDumpPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
-HPLcom/android/internal/util/DumpUtils;->checkUsageStatsPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
-HPLcom/android/internal/util/DumpUtils;->filterRecord(Ljava/lang/String;)Ljava/util/function/Predicate;
-HPLcom/android/internal/util/DumpUtils;->lambda$filterRecord$2(ILjava/lang/String;Landroid/content/ComponentName$WithComponentName;)Z
HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;-><init>(I)V
HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;->add(I)V
-HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V
-HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;ZI)V
-HPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;)V
+HSPLcom/android/internal/util/FastPrintWriter$DummyWriter;-><init>()V
+HSPLcom/android/internal/util/FastPrintWriter$DummyWriter;-><init>(Lcom/android/internal/util/FastPrintWriter$1;)V
HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;ZI)V
HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V
-HPLcom/android/internal/util/FastPrintWriter;->appendLocked([CII)V
-HPLcom/android/internal/util/FastPrintWriter;->checkError()Z
-HSPLcom/android/internal/util/FastPrintWriter;->close()V
HSPLcom/android/internal/util/FastPrintWriter;->flush()V
-HSPLcom/android/internal/util/FastPrintWriter;->flushBytesLocked()V
HSPLcom/android/internal/util/FastPrintWriter;->flushLocked()V
-HSPLcom/android/internal/util/FastPrintWriter;->print(C)V
-HSPLcom/android/internal/util/FastPrintWriter;->print(I)V
-HSPLcom/android/internal/util/FastPrintWriter;->print(J)V
+HSPLcom/android/internal/util/FastPrintWriter;->initDefaultEncoder()V
HSPLcom/android/internal/util/FastPrintWriter;->print(Ljava/lang/String;)V
HSPLcom/android/internal/util/FastPrintWriter;->println()V
-HSPLcom/android/internal/util/FastPrintWriter;->println(C)V
-HSPLcom/android/internal/util/FastPrintWriter;->println(I)V
-HPLcom/android/internal/util/FastPrintWriter;->println(J)V
-HSPLcom/android/internal/util/FastPrintWriter;->write(I)V
-HSPLcom/android/internal/util/FastPrintWriter;->write(Ljava/lang/String;)V
-HPLcom/android/internal/util/FastPrintWriter;->write([CII)V
HSPLcom/android/internal/util/FastXmlSerializer;-><init>()V
HSPLcom/android/internal/util/FastXmlSerializer;-><init>(I)V
+HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;)V
HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;II)V
HSPLcom/android/internal/util/FastXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/internal/util/FastXmlSerializer;->endDocument()V
HSPLcom/android/internal/util/FastXmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/internal/util/FastXmlSerializer;->escapeAndAppendString(Ljava/lang/String;)V
HSPLcom/android/internal/util/FastXmlSerializer;->flush()V
+HSPLcom/android/internal/util/FastXmlSerializer;->flushBytes()V
HSPLcom/android/internal/util/FastXmlSerializer;->setFeature(Ljava/lang/String;Z)V
HSPLcom/android/internal/util/FastXmlSerializer;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V
HSPLcom/android/internal/util/FastXmlSerializer;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V
HSPLcom/android/internal/util/FastXmlSerializer;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/internal/util/FastXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLcom/android/internal/util/FileRotator$FileInfo;->parse(Ljava/lang/String;)Z
-HSPLcom/android/internal/util/FileRotator;-><init>(Ljava/io/File;Ljava/lang/String;JJ)V
-HPLcom/android/internal/util/FileRotator;->getActiveName(J)Ljava/lang/String;
-HSPLcom/android/internal/util/FileRotator;->maybeRotate(J)V
-HSPLcom/android/internal/util/FileRotator;->readFile(Ljava/io/File;Lcom/android/internal/util/FileRotator$Reader;)V
-HSPLcom/android/internal/util/FileRotator;->readMatching(Lcom/android/internal/util/FileRotator$Reader;JJ)V
-HPLcom/android/internal/util/FileRotator;->rewriteActive(Lcom/android/internal/util/FileRotator$Rewriter;J)V
-HSPLcom/android/internal/util/FileRotator;->rewriteSingle(Lcom/android/internal/util/FileRotator$Rewriter;Ljava/lang/String;)V
-HSPLcom/android/internal/util/FileRotator;->writeFile(Ljava/io/File;Lcom/android/internal/util/FileRotator$Writer;)V
-HSPLcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;->accept(Ljava/lang/Object;)V
-HPLcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->run()V
-HPLcom/android/internal/util/FunctionalUtils;->handleExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)Ljava/lang/Runnable;
-HPLcom/android/internal/util/FunctionalUtils;->lambda$handleExceptions$0(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)V
HSPLcom/android/internal/util/GrowingArrayUtils;->append([III)[I
HSPLcom/android/internal/util/GrowingArrayUtils;->append([JIJ)[J
HSPLcom/android/internal/util/GrowingArrayUtils;->append([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;
HSPLcom/android/internal/util/GrowingArrayUtils;->append([ZIZ)[Z
+HSPLcom/android/internal/util/GrowingArrayUtils;->growSize(I)I
HSPLcom/android/internal/util/GrowingArrayUtils;->insert([IIII)[I
HSPLcom/android/internal/util/GrowingArrayUtils;->insert([JIIJ)[J
HSPLcom/android/internal/util/GrowingArrayUtils;->insert([Ljava/lang/Object;IILjava/lang/Object;)[Ljava/lang/Object;
HSPLcom/android/internal/util/GrowingArrayUtils;->insert([ZIIZ)[Z
-HSPLcom/android/internal/util/HexDump;->hexStringToByteArray(Ljava/lang/String;)[B
-HSPLcom/android/internal/util/HexDump;->toByte(C)I
-HSPLcom/android/internal/util/HexDump;->toHexString([B)Ljava/lang/String;
-HSPLcom/android/internal/util/HexDump;->toHexString([BIIZ)Ljava/lang/String;
-HSPLcom/android/internal/util/IndentingPrintWriter;-><init>(Ljava/io/Writer;Ljava/lang/String;)V
-HSPLcom/android/internal/util/IndentingPrintWriter;-><init>(Ljava/io/Writer;Ljava/lang/String;I)V
-HSPLcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
-HSPLcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
-HSPLcom/android/internal/util/IndentingPrintWriter;->maybeWriteIndent()V
-HSPLcom/android/internal/util/IndentingPrintWriter;->printHexPair(Ljava/lang/String;I)Lcom/android/internal/util/IndentingPrintWriter;
-HSPLcom/android/internal/util/IndentingPrintWriter;->printPair(Ljava/lang/String;Ljava/lang/Object;)Lcom/android/internal/util/IndentingPrintWriter;
-HSPLcom/android/internal/util/IndentingPrintWriter;->printPair(Ljava/lang/String;[Ljava/lang/Object;)Lcom/android/internal/util/IndentingPrintWriter;
-HSPLcom/android/internal/util/IndentingPrintWriter;->println()V
-HSPLcom/android/internal/util/IndentingPrintWriter;->write(I)V
-HSPLcom/android/internal/util/IndentingPrintWriter;->write(Ljava/lang/String;II)V
-HSPLcom/android/internal/util/IndentingPrintWriter;->write([CII)V
-HSPLcom/android/internal/util/JournaledFile;->chooseForRead()Ljava/io/File;
-HSPLcom/android/internal/util/JournaledFile;->chooseForWrite()Ljava/io/File;
-HSPLcom/android/internal/util/JournaledFile;->commit()V
-HSPLcom/android/internal/util/LatencyTracker;->getInstance(Landroid/content/Context;)Lcom/android/internal/util/LatencyTracker;
-HSPLcom/android/internal/util/LatencyTracker;->onActionEnd(I)V
-HSPLcom/android/internal/util/LatencyTracker;->onActionStart(I)V
+HSPLcom/android/internal/util/IntPair;->first(J)I
+HSPLcom/android/internal/util/IntPair;->second(J)I
HSPLcom/android/internal/util/LineBreakBufferedWriter;-><init>(Ljava/io/Writer;I)V
+HSPLcom/android/internal/util/LineBreakBufferedWriter;-><init>(Ljava/io/Writer;II)V
HSPLcom/android/internal/util/LineBreakBufferedWriter;->flush()V
HSPLcom/android/internal/util/LineBreakBufferedWriter;->println()V
HSPLcom/android/internal/util/LineBreakBufferedWriter;->write(Ljava/lang/String;II)V
-HSPLcom/android/internal/util/LocalLog;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/util/MemInfoReader;-><init>()V
-HSPLcom/android/internal/util/MemInfoReader;->getCachedSizeKb()J
-HSPLcom/android/internal/util/MemInfoReader;->getFreeSizeKb()J
-HSPLcom/android/internal/util/MemInfoReader;->getKernelUsedSizeKb()J
-HSPLcom/android/internal/util/MemInfoReader;->getTotalSize()J
-HSPLcom/android/internal/util/MemInfoReader;->getTotalSizeKb()J
-HSPLcom/android/internal/util/MemInfoReader;->getZramTotalSizeKb()J
-HSPLcom/android/internal/util/MemInfoReader;->readMemInfo()V
-HSPLcom/android/internal/util/MessageUtils;->findMessageNames([Ljava/lang/Class;)Landroid/util/SparseArray;
-HSPLcom/android/internal/util/MessageUtils;->findMessageNames([Ljava/lang/Class;[Ljava/lang/String;)Landroid/util/SparseArray;
-HSPLcom/android/internal/util/NotificationMessagingUtil;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/util/NotificationMessagingUtil;->isDefaultMessagingApp(Landroid/service/notification/StatusBarNotification;)Z
-HSPLcom/android/internal/util/NotificationMessagingUtil;->isImportantMessaging(Landroid/service/notification/StatusBarNotification;I)Z
-HSPLcom/android/internal/util/NotificationMessagingUtil;->isMessaging(Landroid/service/notification/StatusBarNotification;)Z
-HSPLcom/android/internal/util/ObjectUtils;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
-HSPLcom/android/internal/util/ParseUtils;->parseIntWithBase(Ljava/lang/String;II)I
+HSPLcom/android/internal/util/LineBreakBufferedWriter;->writeBuffer(I)V
+HSPLcom/android/internal/util/Parcelling$Cache;-><clinit>()V
+HSPLcom/android/internal/util/Parcelling$Cache;->get(Ljava/lang/Class;)Lcom/android/internal/util/Parcelling;
+HSPLcom/android/internal/util/Parcelling$Cache;->getOrCreate(Ljava/lang/Class;)Lcom/android/internal/util/Parcelling;
+HSPLcom/android/internal/util/Parcelling$Cache;->put(Lcom/android/internal/util/Parcelling;)Lcom/android/internal/util/Parcelling;
HSPLcom/android/internal/util/Preconditions;->checkArgument(Z)V
HSPLcom/android/internal/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
-HSPLcom/android/internal/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
HSPLcom/android/internal/util/Preconditions;->checkArgumentInRange(IIILjava/lang/String;)I
-HSPLcom/android/internal/util/Preconditions;->checkArgumentInRange(JJJLjava/lang/String;)J
-HSPLcom/android/internal/util/Preconditions;->checkArgumentNonNegative(FLjava/lang/String;)F
HSPLcom/android/internal/util/Preconditions;->checkArgumentNonnegative(I)I
HSPLcom/android/internal/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
-HSPLcom/android/internal/util/Preconditions;->checkArgumentPositive(ILjava/lang/String;)I
-HSPLcom/android/internal/util/Preconditions;->checkArrayElementsInRange([FFFLjava/lang/String;)[F
-HSPLcom/android/internal/util/Preconditions;->checkArrayElementsInRange([IIILjava/lang/String;)[I
HSPLcom/android/internal/util/Preconditions;->checkCollectionElementsNotNull(Ljava/util/Collection;Ljava/lang/String;)Ljava/util/Collection;
HSPLcom/android/internal/util/Preconditions;->checkFlagsArgument(II)I
HSPLcom/android/internal/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
@@ -24268,493 +8638,202 @@ HSPLcom/android/internal/util/Preconditions;->checkState(Z)V
HSPLcom/android/internal/util/Preconditions;->checkState(ZLjava/lang/String;)V
HSPLcom/android/internal/util/Preconditions;->checkStringNotEmpty(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
HSPLcom/android/internal/util/Preconditions;->checkStringNotEmpty(Ljava/lang/CharSequence;Ljava/lang/Object;)Ljava/lang/CharSequence;
-HSPLcom/android/internal/util/ProgressReporter;-><init>(I)V
-HSPLcom/android/internal/util/ProgressReporter;->addListener(Landroid/os/IProgressListener;)V
-HSPLcom/android/internal/util/ProgressReporter;->finish()V
-HSPLcom/android/internal/util/ProgressReporter;->notifyFinished(ILandroid/os/Bundle;)V
-HSPLcom/android/internal/util/ProgressReporter;->notifyProgress(IILandroid/os/Bundle;)V
-HSPLcom/android/internal/util/ProgressReporter;->notifyStarted(ILandroid/os/Bundle;)V
-HSPLcom/android/internal/util/ProgressReporter;->setProgress(I)V
-HSPLcom/android/internal/util/ProgressReporter;->setProgress(IILjava/lang/CharSequence;)V
-HSPLcom/android/internal/util/ProgressReporter;->setProgress(ILjava/lang/CharSequence;)V
-HSPLcom/android/internal/util/ProgressReporter;->start()V
-HSPLcom/android/internal/util/RingBuffer;-><init>(Ljava/lang/Class;I)V
-HSPLcom/android/internal/util/RingBuffer;->append(Ljava/lang/Object;)V
-HSPLcom/android/internal/util/RingBuffer;->clear()V
-HSPLcom/android/internal/util/RingBuffer;->createNewItem()Ljava/lang/Object;
-HSPLcom/android/internal/util/RingBuffer;->getNextSlot()Ljava/lang/Object;
-HPLcom/android/internal/util/RingBuffer;->isEmpty()Z
-HSPLcom/android/internal/util/RingBuffer;->size()I
-HPLcom/android/internal/util/RingBuffer;->toArray()[Ljava/lang/Object;
-HSPLcom/android/internal/util/RingBufferIndices;->add()I
-HSPLcom/android/internal/util/ScreenShapeHelper;->getWindowOutsetBottomPx(Landroid/content/res/Resources;)I
-HSPLcom/android/internal/util/ScreenshotHelper;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/util/StatLogger;-><init>([Ljava/lang/String;)V
+HSPLcom/android/internal/util/ProviderAccessStats$PerThreadData;-><init>()V
+HSPLcom/android/internal/util/ProviderAccessStats$PerThreadData;-><init>(Lcom/android/internal/util/ProviderAccessStats$1;)V
+HSPLcom/android/internal/util/ProviderAccessStats;-><init>()V
+HSPLcom/android/internal/util/ProviderAccessStats;->finishOperation(I)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementBatchStats(I)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementDeleteStats(IZ)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementInsertStats(IZ)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementQueryStats(I)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementStats(ILandroid/util/SparseLongArray;)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementStats(IZLandroid/util/SparseLongArray;Landroid/util/SparseLongArray;)V
+HSPLcom/android/internal/util/ProviderAccessStats;->incrementUpdateStats(IZ)V
+HSPLcom/android/internal/util/ProviderAccessStats;->lambda$new$0()Lcom/android/internal/util/ProviderAccessStats$PerThreadData;
HSPLcom/android/internal/util/StatLogger;->getTime()J
HSPLcom/android/internal/util/StatLogger;->logDurationStat(IJ)J
HSPLcom/android/internal/util/State;-><init>()V
-HSPLcom/android/internal/util/State;->enter()V
-HSPLcom/android/internal/util/State;->exit()V
-HSPLcom/android/internal/util/State;->getName()Ljava/lang/String;
-HSPLcom/android/internal/util/State;->processMessage(Landroid/os/Message;)Z
+HSPLcom/android/internal/util/StateMachine$LogRec;-><init>(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V
HSPLcom/android/internal/util/StateMachine$LogRec;->update(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V
+HSPLcom/android/internal/util/StateMachine$LogRecords;-><init>()V
+HSPLcom/android/internal/util/StateMachine$LogRecords;-><init>(Lcom/android/internal/util/StateMachine$1;)V
HSPLcom/android/internal/util/StateMachine$LogRecords;->add(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V
-HSPLcom/android/internal/util/StateMachine$LogRecords;->cleanup()V
HSPLcom/android/internal/util/StateMachine$LogRecords;->logOnlyTransitions()Z
-HSPLcom/android/internal/util/StateMachine$LogRecords;->setLogOnlyTransitions(Z)V
-HSPLcom/android/internal/util/StateMachine$LogRecords;->setSize(I)V
+HSPLcom/android/internal/util/StateMachine$SmHandler$HaltingState;-><init>(Lcom/android/internal/util/StateMachine$SmHandler;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler$HaltingState;-><init>(Lcom/android/internal/util/StateMachine$SmHandler;Lcom/android/internal/util/StateMachine$1;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler$QuittingState;-><init>(Lcom/android/internal/util/StateMachine$SmHandler;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler$QuittingState;-><init>(Lcom/android/internal/util/StateMachine$SmHandler;Lcom/android/internal/util/StateMachine$1;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler$StateInfo;-><init>(Lcom/android/internal/util/StateMachine$SmHandler;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler$StateInfo;-><init>(Lcom/android/internal/util/StateMachine$SmHandler;Lcom/android/internal/util/StateMachine$1;)V
HSPLcom/android/internal/util/StateMachine$SmHandler;-><init>(Landroid/os/Looper;Lcom/android/internal/util/StateMachine;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler;-><init>(Landroid/os/Looper;Lcom/android/internal/util/StateMachine;Lcom/android/internal/util/StateMachine$1;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler;->access$1100(Lcom/android/internal/util/StateMachine$SmHandler;Lcom/android/internal/util/State;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler;->access$3000(Lcom/android/internal/util/StateMachine$SmHandler;)V
+HSPLcom/android/internal/util/StateMachine$SmHandler;->access$900(Lcom/android/internal/util/StateMachine$SmHandler;Lcom/android/internal/util/State;Lcom/android/internal/util/State;)Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
HSPLcom/android/internal/util/StateMachine$SmHandler;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
-HSPLcom/android/internal/util/StateMachine$SmHandler;->cleanupAfterQuitting()V
HSPLcom/android/internal/util/StateMachine$SmHandler;->completeConstruction()V
-HSPLcom/android/internal/util/StateMachine$SmHandler;->deferMessage(Landroid/os/Message;)V
HSPLcom/android/internal/util/StateMachine$SmHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/util/StateMachine$SmHandler;->invokeEnterMethods(I)V
-HSPLcom/android/internal/util/StateMachine$SmHandler;->invokeExitMethods(Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;)V
-HSPLcom/android/internal/util/StateMachine$SmHandler;->moveDeferredMessageAtFrontOfQueue()V
+HSPLcom/android/internal/util/StateMachine$SmHandler;->isQuit(Landroid/os/Message;)Z
HSPLcom/android/internal/util/StateMachine$SmHandler;->moveTempStateStackToStateStack()I
HSPLcom/android/internal/util/StateMachine$SmHandler;->performTransitions(Lcom/android/internal/util/State;Landroid/os/Message;)V
HSPLcom/android/internal/util/StateMachine$SmHandler;->processMsg(Landroid/os/Message;)Lcom/android/internal/util/State;
HSPLcom/android/internal/util/StateMachine$SmHandler;->setInitialState(Lcom/android/internal/util/State;)V
HSPLcom/android/internal/util/StateMachine$SmHandler;->setupInitialStateStack()V
-HSPLcom/android/internal/util/StateMachine$SmHandler;->setupTempStateStackWithStatesToEnter(Lcom/android/internal/util/State;)Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
-HSPLcom/android/internal/util/StateMachine$SmHandler;->transitionTo(Lcom/android/internal/util/IState;)V
HSPLcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;Landroid/os/Handler;)V
-HSPLcom/android/internal/util/StateMachine;-><init>(Ljava/lang/String;Landroid/os/Looper;)V
-HSPLcom/android/internal/util/StateMachine;->addLogRec(Ljava/lang/String;)V
HSPLcom/android/internal/util/StateMachine;->addState(Lcom/android/internal/util/State;)V
-HSPLcom/android/internal/util/StateMachine;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)V
-HSPLcom/android/internal/util/StateMachine;->deferMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/util/StateMachine;->getCurrentState()Lcom/android/internal/util/IState;
HSPLcom/android/internal/util/StateMachine;->getLogRecString(Landroid/os/Message;)Ljava/lang/String;
-HSPLcom/android/internal/util/StateMachine;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/util/StateMachine;->logAndAddLogRec(Ljava/lang/String;)V
-HSPLcom/android/internal/util/StateMachine;->logd(Ljava/lang/String;)V
+HSPLcom/android/internal/util/StateMachine;->initStateMachine(Ljava/lang/String;Landroid/os/Looper;)V
HSPLcom/android/internal/util/StateMachine;->obtainMessage(I)Landroid/os/Message;
-HSPLcom/android/internal/util/StateMachine;->obtainMessage(III)Landroid/os/Message;
-HSPLcom/android/internal/util/StateMachine;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/StateMachine;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/util/StateMachine;->onPostHandleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/util/StateMachine;->onPreHandleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/util/StateMachine;->onQuitting()V
-HSPLcom/android/internal/util/StateMachine;->quitNow()V
HSPLcom/android/internal/util/StateMachine;->recordLogRec(Landroid/os/Message;)Z
-HSPLcom/android/internal/util/StateMachine;->removeMessages(I)V
HSPLcom/android/internal/util/StateMachine;->sendMessage(I)V
-HSPLcom/android/internal/util/StateMachine;->sendMessage(II)V
-HSPLcom/android/internal/util/StateMachine;->sendMessage(III)V
-HSPLcom/android/internal/util/StateMachine;->sendMessage(IIILjava/lang/Object;)V
-HSPLcom/android/internal/util/StateMachine;->sendMessage(ILjava/lang/Object;)V
-HSPLcom/android/internal/util/StateMachine;->sendMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/util/StateMachine;->sendMessageAtFrontOfQueue(I)V
-HPLcom/android/internal/util/StateMachine;->sendMessageAtFrontOfQueue(IIILjava/lang/Object;)V
-HSPLcom/android/internal/util/StateMachine;->sendMessageDelayed(IJ)V
-HSPLcom/android/internal/util/StateMachine;->sendMessageDelayed(Landroid/os/Message;J)V
-HSPLcom/android/internal/util/StateMachine;->setDbg(Z)V
HSPLcom/android/internal/util/StateMachine;->setInitialState(Lcom/android/internal/util/State;)V
-HSPLcom/android/internal/util/StateMachine;->setLogOnlyTransitions(Z)V
-HSPLcom/android/internal/util/StateMachine;->setLogRecSize(I)V
HSPLcom/android/internal/util/StateMachine;->start()V
-HSPLcom/android/internal/util/StateMachine;->transitionTo(Lcom/android/internal/util/IState;)V
-HSPLcom/android/internal/util/StateMachine;->unhandledMessage(Landroid/os/Message;)V
-HPLcom/android/internal/util/SyncResultReceiver;->bundleFor(Landroid/os/Parcelable;)Landroid/os/Bundle;
+HSPLcom/android/internal/util/SyncResultReceiver;-><init>(I)V
+HSPLcom/android/internal/util/SyncResultReceiver;->getIntResult()I
HSPLcom/android/internal/util/SyncResultReceiver;->send(ILandroid/os/Bundle;)V
HSPLcom/android/internal/util/SyncResultReceiver;->waitResult()V
-HSPLcom/android/internal/util/TokenBucket;-><init>(II)V
-HSPLcom/android/internal/util/TokenBucket;-><init>(III)V
-HPLcom/android/internal/util/TokenBucket;->get()Z
-HPLcom/android/internal/util/TokenBucket;->get(I)I
HSPLcom/android/internal/util/VirtualRefBasePtr;-><init>(J)V
HSPLcom/android/internal/util/VirtualRefBasePtr;->finalize()V
+HSPLcom/android/internal/util/VirtualRefBasePtr;->get()J
HSPLcom/android/internal/util/VirtualRefBasePtr;->release()V
-HSPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;I)V
-HSPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;III)V
-HSPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;IIILjava/lang/Object;)V
-HSPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/Runnable;)V
-HSPLcom/android/internal/util/WakeupMessage;->cancel()V
-HPLcom/android/internal/util/WakeupMessage;->onAlarm()V
-HSPLcom/android/internal/util/WakeupMessage;->schedule(J)V
HSPLcom/android/internal/util/XmlUtils;->beginDocument(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
-HSPLcom/android/internal/util/XmlUtils;->convertValueToBoolean(Ljava/lang/CharSequence;Z)Z
-HSPLcom/android/internal/util/XmlUtils;->nextElement(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/internal/util/XmlUtils;->nextElementWithin(Lorg/xmlpull/v1/XmlPullParser;I)Z
-HSPLcom/android/internal/util/XmlUtils;->readBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
-HSPLcom/android/internal/util/XmlUtils;->readBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
-HSPLcom/android/internal/util/XmlUtils;->readIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
-HSPLcom/android/internal/util/XmlUtils;->readIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-HSPLcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
-HSPLcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
HSPLcom/android/internal/util/XmlUtils;->readMapXml(Ljava/io/InputStream;)Ljava/util/HashMap;
-HSPLcom/android/internal/util/XmlUtils;->readStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/util/XmlUtils;->readThisArrayMapXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Landroid/util/ArrayMap;
-HSPLcom/android/internal/util/XmlUtils;->readThisByteArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[B
-HSPLcom/android/internal/util/XmlUtils;->readThisLongArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[J
HSPLcom/android/internal/util/XmlUtils;->readThisMapXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Ljava/util/HashMap;
HSPLcom/android/internal/util/XmlUtils;->readThisPrimitiveValueXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
HSPLcom/android/internal/util/XmlUtils;->readThisSetXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/util/HashSet;
-HSPLcom/android/internal/util/XmlUtils;->readThisStringArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/internal/util/XmlUtils;->readThisValueXml(Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/lang/Object;
HSPLcom/android/internal/util/XmlUtils;->readValueXml(Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;)Ljava/lang/Object;
HSPLcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/util/XmlUtils;->writeBooleanAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Z)V
-HSPLcom/android/internal/util/XmlUtils;->writeByteArrayXml([BLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/internal/util/XmlUtils;->writeIntAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;I)V
-HSPLcom/android/internal/util/XmlUtils;->writeLongArrayXml([JLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/internal/util/XmlUtils;->writeLongAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;J)V
HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/io/OutputStream;)V
+HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
HSPLcom/android/internal/util/XmlUtils;->writeSetXml(Ljava/util/Set;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/internal/util/XmlUtils;->writeStringArrayXml([Ljava/lang/String;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/internal/util/XmlUtils;->writeStringAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/util/XmlUtils;->writeUriAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
-HSPLcom/android/internal/util/function/pooled/ArgumentPlaceholder;-><init>()V
-HSPLcom/android/internal/util/function/pooled/OmniFunction;->accept(Ljava/lang/Object;)V
HSPLcom/android/internal/util/function/pooled/OmniFunction;->run()V
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->__()Lcom/android/internal/util/function/pooled/ArgumentPlaceholder;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainConsumer(Ljava/util/function/BiConsumer;Lcom/android/internal/util/function/pooled/ArgumentPlaceholder;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledConsumer;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/HexConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuintConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/TriConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Ljava/util/function/BiConsumer;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Ljava/util/function/Consumer;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Lcom/android/internal/util/function/TriConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Ljava/util/function/BiConsumer;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;-><init>(Ljava/lang/Object;)V
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->access$000(II)I
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->decodeArgCount(I)I
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->encode(II)I
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->access$100(II)I
HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;)Lcom/android/internal/util/function/pooled/PooledLambdaImpl;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;Ljava/lang/Object;IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledLambda;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;Ljava/lang/Object;IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledLambda;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->checkNotRecycled()V
HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->doInvoke()Ljava/lang/Object;
HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->doRecycle()V
HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->fillInArg(Ljava/lang/Object;)Z
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->mask(II)I
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->popArg(I)Ljava/lang/Object;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->getFlags(I)I
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->isRecycleOnUse()Z
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->isRecycled()Z
HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->toString()Ljava/lang/String;
-HSPLcom/android/internal/view/ActionBarPolicy;->getMaxActionButtons()I
-HSPLcom/android/internal/view/BaseIWindow;-><init>()V
-PLcom/android/internal/view/BaseIWindow;->closeSystemDialogs(Ljava/lang/String;)V
-PLcom/android/internal/view/BaseIWindow;->dispatchAppVisibility(Z)V
-HSPLcom/android/internal/view/BaseIWindow;->insetsChanged(Landroid/view/InsetsState;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->beginBatchEdit()V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->closeConnection()V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->dispatchMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->endBatchEdit()V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->executeMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->finishComposingText()V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getInputConnection()Landroid/view/inputmethod/InputConnection;
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->isFinished()Z
-HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessage(I)Landroid/os/Message;
-HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIISC(IIIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
-HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageISC(IIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->beginBatchEdit()V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->commitText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->deleteSurroundingText(II)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->endBatchEdit()V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->finishComposingText()V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->sendKeyEvent(Landroid/view/KeyEvent;)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingRegion(II)V
-HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingText(Ljava/lang/CharSequence;I)V
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->setFlags(II)V
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->setIfInBounds([Ljava/lang/Object;ILjava/lang/Object;)V
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->unmask(II)I
HSPLcom/android/internal/view/IInputContext$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputContext$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputContext;
-HSPLcom/android/internal/view/IInputContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setSelectedText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputContextCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
-HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
-HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;ZZ)V
-HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->unbindInput()V
-HSPLcom/android/internal/view/IInputMethod$Stub;-><init>()V
-HSPLcom/android/internal/view/IInputMethod$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethod;
-HSPLcom/android/internal/view/IInputMethod$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
-HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->onUnbindMethod(II)V
-HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->reportFullscreenMode(Z)V
-HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setActive(ZZ)V
HSPLcom/android/internal/view/IInputMethodClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;I)V
HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList(I)Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInputMethodList(I)Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/internal/view/IInputMethodManager$Stub;-><init>()V
-HSPLcom/android/internal/view/IInputMethodManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->finishSession()V
-HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateSelection(IIIIII)V
-HSPLcom/android/internal/view/IInputMethodSession$Stub;-><init>()V
-HSPLcom/android/internal/view/IInputMethodSession$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputSessionCallback$Stub$Proxy;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
-HSPLcom/android/internal/view/IInputSessionCallback$Stub;-><init>()V
-HSPLcom/android/internal/view/IInputSessionCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputSessionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/InputBindResult$1;-><init>()V
-HSPLcom/android/internal/view/InputBindResult$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/internal/view/InputBindResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/view/InputBindResult;-><init>(ILcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;Ljava/lang/String;I)V
-HSPLcom/android/internal/view/InputBindResult;-><init>(Landroid/os/Parcel;)V
-HSPLcom/android/internal/view/InputBindResult;->error(I)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/internal/view/InputBindResult;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;-><init>()V
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->dispose()V
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->getInstance()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setSelectedText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->waitForResultLocked()V
-HSPLcom/android/internal/view/InputConnectionWrapper;->getSelectedText(I)Ljava/lang/CharSequence;
-HSPLcom/android/internal/view/InputConnectionWrapper;->getTextAfterCursor(II)Ljava/lang/CharSequence;
-HSPLcom/android/internal/view/InputConnectionWrapper;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
-HSPLcom/android/internal/view/RotationPolicy;->isRotationLockToggleVisible(Landroid/content/Context;)Z
-HSPLcom/android/internal/view/RotationPolicy;->isRotationLocked(Landroid/content/Context;)Z
-HSPLcom/android/internal/view/RotationPolicy;->isRotationSupported(Landroid/content/Context;)Z
-HSPLcom/android/internal/view/WindowManagerPolicyThread;->set(Ljava/lang/Thread;Landroid/os/Looper;)V
-HSPLcom/android/internal/view/menu/ActionMenuItem;-><init>(Landroid/content/Context;IIIILjava/lang/CharSequence;)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->hasText()Z
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->onMeasure(II)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->prefersCondensedTitle()Z
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->setItemInvoker(Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->setPopupCallback(Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->setTitle(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->shouldAllowTextWithIcon()Z
-HSPLcom/android/internal/view/menu/ActionMenuItemView;->updateTextButtonVisibility()V
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;->addItemView(Landroid/view/View;I)V
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;->createItemView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView$ItemView;
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;->updateMenuView(Z)V
-HSPLcom/android/internal/view/menu/MenuBuilder;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->add(IIII)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuBuilder;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuBuilder;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuBuilder;->addMenuPresenter(Lcom/android/internal/view/menu/MenuPresenter;Landroid/content/Context;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->clear()V
-HSPLcom/android/internal/view/menu/MenuBuilder;->dispatchPresenterUpdate(Z)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->findItem(I)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuBuilder;->flagActionItems()V
-HSPLcom/android/internal/view/menu/MenuBuilder;->getActionItems()Ljava/util/ArrayList;
-HSPLcom/android/internal/view/menu/MenuBuilder;->getContext()Landroid/content/Context;
-HSPLcom/android/internal/view/menu/MenuBuilder;->getNonActionItems()Ljava/util/ArrayList;
-HSPLcom/android/internal/view/menu/MenuBuilder;->getVisibleItems()Ljava/util/ArrayList;
-HSPLcom/android/internal/view/menu/MenuBuilder;->hasVisibleItems()Z
-HSPLcom/android/internal/view/menu/MenuBuilder;->onItemActionRequestChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->onItemVisibleChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->onItemsChanged(Z)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->setCallback(Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLcom/android/internal/view/menu/MenuBuilder;->size()I
-HSPLcom/android/internal/view/menu/MenuBuilder;->startDispatchingItemsChanged()V
-HSPLcom/android/internal/view/menu/MenuBuilder;->stopDispatchingItemsChanged()V
-HSPLcom/android/internal/view/menu/MenuItemImpl;-><init>(Lcom/android/internal/view/menu/MenuBuilder;IIIILjava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/menu/MenuItemImpl;->applyIconTintIfNecessary(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->getIcon()Landroid/graphics/drawable/Drawable;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->isVisible()Z
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setAlphabeticShortcut(CI)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setCheckable(Z)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setChecked(Z)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setContentDescription(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setEnabled(Z)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setIcon(I)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setNumericShortcut(CI)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setOnMenuItemClickListener(Landroid/view/MenuItem$OnMenuItemClickListener;)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setShowAsAction(I)V
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setTitleCondensed(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setTooltipText(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuItemImpl;->setVisible(Z)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuPopupHelper;->setGravity(I)V
-HSPLcom/android/internal/view/menu/MenuPopupHelper;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-HSPLcom/android/internal/widget/AbsActionBarView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;->getOpacity()I
-HSPLcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;->getOutline(Landroid/graphics/Outline;)V
-HSPLcom/android/internal/widget/ActionBarContainer;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/ActionBarContainer;->drawableStateChanged()V
-HSPLcom/android/internal/widget/ActionBarContainer;->jumpDrawablesToCurrentState()V
-HSPLcom/android/internal/widget/ActionBarContainer;->onFinishInflate()V
-HSPLcom/android/internal/widget/ActionBarContainer;->onLayout(ZIIII)V
-HSPLcom/android/internal/widget/ActionBarContainer;->onMeasure(II)V
-HSPLcom/android/internal/widget/ActionBarContainer;->onResolveDrawables(I)V
-HSPLcom/android/internal/widget/ActionBarContextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/ActionBarContextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLcom/android/internal/widget/ActionBarContextView;->onDetachedFromWindow()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$5;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->applyInsets(Landroid/view/View;Landroid/graphics/Rect;ZZZZ)Z
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->dismissPopups()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Lcom/android/internal/widget/ActionBarOverlayLayout$LayoutParams;
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->getDecorToolbar(Landroid/view/View;)Lcom/android/internal/widget/DecorToolbar;
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->getTitle()Ljava/lang/CharSequence;
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->hasIcon()Z
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->init(Landroid/content/Context;)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->initFeature(I)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->onDetachedFromWindow()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->onLayout(ZIIII)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->onMeasure(II)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->onWindowVisibilityChanged(I)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->pullChildren()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->setIcon(I)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->setUiOptions(I)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->setWindowCallback(Landroid/view/Window$Callback;)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout;->setWindowTitle(Ljava/lang/CharSequence;)V
HSPLcom/android/internal/widget/BackgroundFallback;->draw(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/graphics/Canvas;Landroid/view/View;Landroid/view/View;Landroid/view/View;)V
HSPLcom/android/internal/widget/BackgroundFallback;->hasFallback()Z
-HSPLcom/android/internal/widget/BackgroundFallback;->setDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/DialogTitle;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/EditableInputConnection;->beginBatchEdit()Z
-HSPLcom/android/internal/widget/EditableInputConnection;->closeConnection()V
-HSPLcom/android/internal/widget/EditableInputConnection;->commitText(Ljava/lang/CharSequence;I)Z
-HSPLcom/android/internal/widget/EditableInputConnection;->endBatchEdit()Z
-HSPLcom/android/internal/widget/EditableInputConnection;->getEditable()Landroid/text/Editable;
-PLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->onCredentialVerified()V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getBoolean(Ljava/lang/String;ZI)Z
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getLong(Ljava/lang/String;JI)J
-HSPLcom/android/internal/widget/ILockSettings$Stub;-><init>()V
HSPLcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
-HPLcom/android/internal/widget/ILockSettings$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$1;->onStrongAuthRequiredChanged(II)V
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->getDefaultFlags(Landroid/content/Context;)I
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->getStrongAuthForUser(I)I
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->isTrustAllowedForUser(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
HSPLcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/widget/LockPatternUtils;->frpCredentialEnabled(Landroid/content/Context;)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->getBoolean(Ljava/lang/String;ZI)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->getDevicePolicyManager()Landroid/app/admin/DevicePolicyManager;
-HSPLcom/android/internal/widget/LockPatternUtils;->getEnabledTrustAgents(I)Ljava/util/List;
-HSPLcom/android/internal/widget/LockPatternUtils;->getKeyguardStoredPasswordQuality(I)I
+HSPLcom/android/internal/widget/LockPatternUtils;->getCredentialTypeForUser(I)I
+PLcom/android/internal/widget/LockPatternUtils;->getDevicePolicyManager()Landroid/app/admin/DevicePolicyManager;
HSPLcom/android/internal/widget/LockPatternUtils;->getLockSettings()Lcom/android/internal/widget/ILockSettings;
-HSPLcom/android/internal/widget/LockPatternUtils;->getLong(Ljava/lang/String;JI)J
-HSPLcom/android/internal/widget/LockPatternUtils;->getOwnerInfo(I)Ljava/lang/String;
-HSPLcom/android/internal/widget/LockPatternUtils;->getPowerButtonInstantlyLocks(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->getString(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/widget/LockPatternUtils;->hasSecureLockScreen()Z
-HSPLcom/android/internal/widget/LockPatternUtils;->hasSeparateChallenge(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockPasswordEnabled(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockPasswordEnabled(II)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockPatternEnabled(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isOwnerInfoEnabled(I)Z
-HPLcom/android/internal/widget/LockPatternUtils;->isPowerButtonInstantlyLocksEverChosen(I)Z
+HSPLcom/android/internal/widget/LockPatternUtils;->getUserManager()Landroid/os/UserManager;
+HSPLcom/android/internal/widget/LockPatternUtils;->isManagedProfile(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isSecure(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isSeparateProfileChallengeEnabled(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isTrustUsuallyManaged(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEnabled(I)Z
-HPLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEverChosen(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->registerStrongAuthTracker(Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;)V
-HSPLcom/android/internal/widget/LockPatternUtils;->savedPasswordExists(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->savedPatternExists(I)Z
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper$1;-><init>(Lcom/android/internal/widget/ToolbarWidgetWrapper;)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;-><init>(Landroid/widget/Toolbar;ZI)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->dismissPopupMenus()V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getContext()Landroid/content/Context;
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getDisplayOptions()I
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getMenu()Landroid/view/Menu;
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getTitle()Ljava/lang/CharSequence;
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getViewGroup()Landroid/view/ViewGroup;
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->hasIcon()Z
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->isSplit()Z
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setDefaultNavigationContentDescription(I)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setDisplayOptions(I)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setIcon(I)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setMenuPrepared()V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowCallback(Landroid/view/Window$Callback;)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowTitle(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/widget/VerifyCredentialResponse$1;-><init>()V
-HSPLcom/android/internal/widget/VerifyCredentialResponse;-><init>()V
-HSPLcom/android/internal/widget/VerifyCredentialResponse;-><init>(II[B)V
-PLcom/android/internal/widget/VerifyCredentialResponse;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/android/internal/widget/LockscreenCredential$1;-><init>()V
+PLcom/android/internal/widget/LockscreenCredential;-><clinit>()V
+PLcom/android/internal/widget/LockscreenCredential;-><init>(I[B)V
HSPLcom/android/okhttp/Address;-><init>(Ljava/lang/String;ILcom/android/okhttp/Dns;Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/HostnameVerifier;Lcom/android/okhttp/CertificatePinner;Lcom/android/okhttp/Authenticator;Ljava/net/Proxy;Ljava/util/List;Ljava/util/List;Ljava/net/ProxySelector;)V
HSPLcom/android/okhttp/Address;->equals(Ljava/lang/Object;)Z
+HSPLcom/android/okhttp/Address;->getCertificatePinner()Lcom/android/okhttp/CertificatePinner;
+HSPLcom/android/okhttp/Address;->getConnectionSpecs()Ljava/util/List;
+HSPLcom/android/okhttp/Address;->getDns()Lcom/android/okhttp/Dns;
+HSPLcom/android/okhttp/Address;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
+HSPLcom/android/okhttp/Address;->getProtocols()Ljava/util/List;
+HSPLcom/android/okhttp/Address;->getProxy()Ljava/net/Proxy;
+HSPLcom/android/okhttp/Address;->getProxySelector()Ljava/net/ProxySelector;
+HSPLcom/android/okhttp/Address;->getSocketFactory()Ljavax/net/SocketFactory;
+HSPLcom/android/okhttp/Address;->getSslSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
+HSPLcom/android/okhttp/Address;->getUriHost()Ljava/lang/String;
+HSPLcom/android/okhttp/Address;->getUriPort()I
HSPLcom/android/okhttp/Address;->hashCode()I
-HSPLcom/android/okhttp/CacheControl$Builder;-><init>()V
-HSPLcom/android/okhttp/CacheControl$Builder;->build()Lcom/android/okhttp/CacheControl;
-HSPLcom/android/okhttp/CacheControl$Builder;->maxStale(ILjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/CacheControl$Builder;
-HSPLcom/android/okhttp/CacheControl$Builder;->noCache()Lcom/android/okhttp/CacheControl$Builder;
-HSPLcom/android/okhttp/CacheControl$Builder;->onlyIfCached()Lcom/android/okhttp/CacheControl$Builder;
-HSPLcom/android/okhttp/CacheControl;-><init>(Lcom/android/okhttp/CacheControl$Builder;)V
+HSPLcom/android/okhttp/Address;->url()Lcom/android/okhttp/HttpUrl;
+HSPLcom/android/okhttp/CacheControl;-><init>(ZZIIZZZIIZZLjava/lang/String;)V
+HSPLcom/android/okhttp/CacheControl;->onlyIfCached()Z
HSPLcom/android/okhttp/CacheControl;->parse(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/CacheControl;
-HSPLcom/android/okhttp/CertificatePinner$Builder;-><init>()V
-HSPLcom/android/okhttp/CertificatePinner$Builder;->build()Lcom/android/okhttp/CertificatePinner;
-HSPLcom/android/okhttp/CipherSuite;-><init>(Ljava/lang/String;ILjava/lang/String;IIII)V
-HSPLcom/android/okhttp/ConfigAwareConnectionPool$1;->onNetworkConfigurationChanged()V
-HSPLcom/android/okhttp/ConfigAwareConnectionPool;-><init>()V
+HSPLcom/android/okhttp/ConfigAwareConnectionPool$1;-><init>(Lcom/android/okhttp/ConfigAwareConnectionPool;)V
HSPLcom/android/okhttp/ConfigAwareConnectionPool;->get()Lcom/android/okhttp/ConnectionPool;
+HSPLcom/android/okhttp/ConfigAwareConnectionPool;->getInstance()Lcom/android/okhttp/ConfigAwareConnectionPool;
+HSPLcom/android/okhttp/ConnectionPool$1;-><init>(Lcom/android/okhttp/ConnectionPool;)V
HSPLcom/android/okhttp/ConnectionPool$1;->run()V
HSPLcom/android/okhttp/ConnectionPool;-><init>(IJ)V
HSPLcom/android/okhttp/ConnectionPool;-><init>(IJLjava/util/concurrent/TimeUnit;)V
HSPLcom/android/okhttp/ConnectionPool;->cleanup(J)J
+HSPLcom/android/okhttp/ConnectionPool;->connectionBecameIdle(Lcom/android/okhttp/internal/io/RealConnection;)Z
HSPLcom/android/okhttp/ConnectionPool;->get(Lcom/android/okhttp/Address;Lcom/android/okhttp/internal/http/StreamAllocation;)Lcom/android/okhttp/internal/io/RealConnection;
HSPLcom/android/okhttp/ConnectionPool;->pruneAndGetAllocationCount(Lcom/android/okhttp/internal/io/RealConnection;J)I
+HSPLcom/android/okhttp/ConnectionPool;->put(Lcom/android/okhttp/internal/io/RealConnection;)V
HSPLcom/android/okhttp/ConnectionSpec$Builder;-><init>(Lcom/android/okhttp/ConnectionSpec;)V
-HSPLcom/android/okhttp/ConnectionSpec$Builder;-><init>(Z)V
-HSPLcom/android/okhttp/ConnectionSpec$Builder;->allEnabledCipherSuites()Lcom/android/okhttp/ConnectionSpec$Builder;
-HSPLcom/android/okhttp/ConnectionSpec$Builder;->allEnabledTlsVersions()Lcom/android/okhttp/ConnectionSpec$Builder;
+HSPLcom/android/okhttp/ConnectionSpec$Builder;->access$000(Lcom/android/okhttp/ConnectionSpec$Builder;)Z
+HSPLcom/android/okhttp/ConnectionSpec$Builder;->access$100(Lcom/android/okhttp/ConnectionSpec$Builder;)[Ljava/lang/String;
+HSPLcom/android/okhttp/ConnectionSpec$Builder;->access$200(Lcom/android/okhttp/ConnectionSpec$Builder;)[Ljava/lang/String;
+HSPLcom/android/okhttp/ConnectionSpec$Builder;->access$300(Lcom/android/okhttp/ConnectionSpec$Builder;)Z
HSPLcom/android/okhttp/ConnectionSpec$Builder;->build()Lcom/android/okhttp/ConnectionSpec;
-HSPLcom/android/okhttp/ConnectionSpec$Builder;->cipherSuites([Lcom/android/okhttp/CipherSuite;)Lcom/android/okhttp/ConnectionSpec$Builder;
-HSPLcom/android/okhttp/ConnectionSpec$Builder;->supportsTlsExtensions(Z)Lcom/android/okhttp/ConnectionSpec$Builder;
-HSPLcom/android/okhttp/ConnectionSpec$Builder;->tlsVersions([Lcom/android/okhttp/TlsVersion;)Lcom/android/okhttp/ConnectionSpec$Builder;
+HSPLcom/android/okhttp/ConnectionSpec$Builder;->cipherSuites([Ljava/lang/String;)Lcom/android/okhttp/ConnectionSpec$Builder;
+HSPLcom/android/okhttp/ConnectionSpec$Builder;->tlsVersions([Ljava/lang/String;)Lcom/android/okhttp/ConnectionSpec$Builder;
+HSPLcom/android/okhttp/ConnectionSpec;-><init>(Lcom/android/okhttp/ConnectionSpec$Builder;)V
+HSPLcom/android/okhttp/ConnectionSpec;-><init>(Lcom/android/okhttp/ConnectionSpec$Builder;Lcom/android/okhttp/ConnectionSpec$1;)V
+HSPLcom/android/okhttp/ConnectionSpec;->access$400(Lcom/android/okhttp/ConnectionSpec;)Z
+HSPLcom/android/okhttp/ConnectionSpec;->access$500(Lcom/android/okhttp/ConnectionSpec;)[Ljava/lang/String;
+HSPLcom/android/okhttp/ConnectionSpec;->access$600(Lcom/android/okhttp/ConnectionSpec;)[Ljava/lang/String;
+HSPLcom/android/okhttp/ConnectionSpec;->access$700(Lcom/android/okhttp/ConnectionSpec;)Z
+HSPLcom/android/okhttp/ConnectionSpec;->apply(Ljavax/net/ssl/SSLSocket;Z)V
HSPLcom/android/okhttp/ConnectionSpec;->equals(Ljava/lang/Object;)Z
HSPLcom/android/okhttp/ConnectionSpec;->hashCode()I
HSPLcom/android/okhttp/ConnectionSpec;->isCompatible(Ljavax/net/ssl/SSLSocket;)Z
HSPLcom/android/okhttp/ConnectionSpec;->supportedSpec(Ljavax/net/ssl/SSLSocket;Z)Lcom/android/okhttp/ConnectionSpec;
-HSPLcom/android/okhttp/ConnectionSpecs;->builder(Z)Lcom/android/okhttp/ConnectionSpec$Builder;
-HSPLcom/android/okhttp/Dns$1;-><init>()V
+HSPLcom/android/okhttp/ConnectionSpec;->supportsTlsExtensions()Z
+HSPLcom/android/okhttp/Dispatcher;-><init>()V
HSPLcom/android/okhttp/Dns$1;->lookup(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/okhttp/Handshake;-><init>(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
HSPLcom/android/okhttp/Handshake;->get(Ljavax/net/ssl/SSLSession;)Lcom/android/okhttp/Handshake;
+HSPLcom/android/okhttp/Headers$Builder;-><init>()V
+HSPLcom/android/okhttp/Headers$Builder;->access$000(Lcom/android/okhttp/Headers$Builder;)Ljava/util/List;
+HSPLcom/android/okhttp/Headers$Builder;->add(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
HSPLcom/android/okhttp/Headers$Builder;->addLenient(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
+HSPLcom/android/okhttp/Headers$Builder;->addLenient(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
+HSPLcom/android/okhttp/Headers$Builder;->build()Lcom/android/okhttp/Headers;
HSPLcom/android/okhttp/Headers$Builder;->checkNameAndValue(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/okhttp/Headers$Builder;->get(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/okhttp/Headers$Builder;->removeAll(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-HSPLcom/android/okhttp/HttpHandler$CleartextURLFilter;-><init>(Lcom/android/okhttp/HttpHandler$1;)V
+HSPLcom/android/okhttp/Headers$Builder;->set(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
+HSPLcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;)V
+HSPLcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;Lcom/android/okhttp/Headers$1;)V
+HSPLcom/android/okhttp/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Headers;->get([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Headers;->name(I)Ljava/lang/String;
+HSPLcom/android/okhttp/Headers;->newBuilder()Lcom/android/okhttp/Headers$Builder;
+HSPLcom/android/okhttp/Headers;->size()I
+HSPLcom/android/okhttp/Headers;->value(I)Ljava/lang/String;
HSPLcom/android/okhttp/HttpHandler;-><init>()V
HSPLcom/android/okhttp/HttpHandler;->createHttpOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
HSPLcom/android/okhttp/HttpHandler;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
-HSPLcom/android/okhttp/HttpUrl$Builder$ParseResult;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/okhttp/HttpUrl$Builder$ParseResult;->values()[Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
+HSPLcom/android/okhttp/HttpUrl$Builder;-><init>()V
+HSPLcom/android/okhttp/HttpUrl$Builder;->build()Lcom/android/okhttp/HttpUrl;
HSPLcom/android/okhttp/HttpUrl$Builder;->canonicalizeHost(Ljava/lang/String;II)Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl$Builder;->containsInvalidHostnameAsciiCodes(Ljava/lang/String;)Z
HSPLcom/android/okhttp/HttpUrl$Builder;->domainToAscii(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/HttpUrl$Builder;->effectivePort()I
+HSPLcom/android/okhttp/HttpUrl$Builder;->encodedQuery(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
HSPLcom/android/okhttp/HttpUrl$Builder;->host(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
+HSPLcom/android/okhttp/HttpUrl$Builder;->isDot(Ljava/lang/String;)Z
HSPLcom/android/okhttp/HttpUrl$Builder;->isDotDot(Ljava/lang/String;)Z
HSPLcom/android/okhttp/HttpUrl$Builder;->parse(Lcom/android/okhttp/HttpUrl;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
HSPLcom/android/okhttp/HttpUrl$Builder;->port(I)Lcom/android/okhttp/HttpUrl$Builder;
@@ -24766,27 +8845,41 @@ HSPLcom/android/okhttp/HttpUrl$Builder;->scheme(Ljava/lang/String;)Lcom/android/
HSPLcom/android/okhttp/HttpUrl$Builder;->schemeDelimiterOffset(Ljava/lang/String;II)I
HSPLcom/android/okhttp/HttpUrl$Builder;->skipLeadingAsciiWhitespace(Ljava/lang/String;II)I
HSPLcom/android/okhttp/HttpUrl$Builder;->skipTrailingAsciiWhitespace(Ljava/lang/String;II)I
+HSPLcom/android/okhttp/HttpUrl$Builder;->slashCount(Ljava/lang/String;II)I
HSPLcom/android/okhttp/HttpUrl$Builder;->toString()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;-><init>(Lcom/android/okhttp/HttpUrl$Builder;)V
+HSPLcom/android/okhttp/HttpUrl;-><init>(Lcom/android/okhttp/HttpUrl$Builder;Lcom/android/okhttp/HttpUrl$1;)V
+HSPLcom/android/okhttp/HttpUrl;->access$200(Ljava/lang/String;IILjava/lang/String;)I
HSPLcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;IILjava/lang/String;ZZZZ)Ljava/lang/String;
+HSPLcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;Ljava/lang/String;ZZZZ)Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->decodeHexDigit(C)I
+HSPLcom/android/okhttp/HttpUrl;->defaultPort(Ljava/lang/String;)I
+HSPLcom/android/okhttp/HttpUrl;->delimiterOffset(Ljava/lang/String;IILjava/lang/String;)I
+HSPLcom/android/okhttp/HttpUrl;->encodedFragment()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->encodedPassword()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->encodedPath()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->encodedPathSegments()Ljava/util/List;
HSPLcom/android/okhttp/HttpUrl;->encodedQuery()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->encodedUsername()Ljava/lang/String;
+HSPLcom/android/okhttp/HttpUrl;->equals(Ljava/lang/Object;)Z
HSPLcom/android/okhttp/HttpUrl;->getChecked(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl;
+HSPLcom/android/okhttp/HttpUrl;->hashCode()I
+HSPLcom/android/okhttp/HttpUrl;->host()Ljava/lang/String;
+HSPLcom/android/okhttp/HttpUrl;->isHttps()Z
HSPLcom/android/okhttp/HttpUrl;->namesAndValuesToQueryString(Ljava/lang/StringBuilder;Ljava/util/List;)V
HSPLcom/android/okhttp/HttpUrl;->newBuilder()Lcom/android/okhttp/HttpUrl$Builder;
+HSPLcom/android/okhttp/HttpUrl;->pathSegmentsToString(Ljava/lang/StringBuilder;Ljava/util/List;)V
HSPLcom/android/okhttp/HttpUrl;->percentDecode(Lcom/android/okhttp/okio/Buffer;Ljava/lang/String;IIZ)V
HSPLcom/android/okhttp/HttpUrl;->percentDecode(Ljava/lang/String;IIZ)Ljava/lang/String;
+HSPLcom/android/okhttp/HttpUrl;->percentDecode(Ljava/lang/String;Z)Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->percentDecode(Ljava/util/List;Z)Ljava/util/List;
+HSPLcom/android/okhttp/HttpUrl;->port()I
HSPLcom/android/okhttp/HttpUrl;->queryStringToNamesAndValues(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/okhttp/HttpUrl;->scheme()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->uri()Ljava/net/URI;
HSPLcom/android/okhttp/HttpsHandler;-><init>()V
HSPLcom/android/okhttp/HttpsHandler;->createHttpsOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
HSPLcom/android/okhttp/HttpsHandler;->newOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
-HSPLcom/android/okhttp/OkHttpClient$1;-><init>()V
HSPLcom/android/okhttp/OkHttpClient$1;->addLenient(Lcom/android/okhttp/Headers$Builder;Ljava/lang/String;)V
HSPLcom/android/okhttp/OkHttpClient$1;->apply(Lcom/android/okhttp/ConnectionSpec;Ljavax/net/ssl/SSLSocket;Z)V
HSPLcom/android/okhttp/OkHttpClient$1;->connectionBecameIdle(Lcom/android/okhttp/ConnectionPool;Lcom/android/okhttp/internal/io/RealConnection;)Z
@@ -24819,120 +8912,308 @@ HSPLcom/android/okhttp/OkHttpClient;->setCertificatePinner(Lcom/android/okhttp/C
HSPLcom/android/okhttp/OkHttpClient;->setConnectTimeout(JLjava/util/concurrent/TimeUnit;)V
HSPLcom/android/okhttp/OkHttpClient;->setConnectionPool(Lcom/android/okhttp/ConnectionPool;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setConnectionSpecs(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
+HSPLcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setFollowRedirects(Z)V
+HSPLcom/android/okhttp/OkHttpClient;->setFollowSslRedirects(Z)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setProtocols(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setProxy(Ljava/net/Proxy;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setReadTimeout(JLjava/util/concurrent/TimeUnit;)V
+HSPLcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setSslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Lcom/android/okhttp/OkHttpClient;
HSPLcom/android/okhttp/OkHttpClient;->setWriteTimeout(JLjava/util/concurrent/TimeUnit;)V
+HSPLcom/android/okhttp/OkUrlFactories;->open(Lcom/android/okhttp/OkUrlFactory;Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/HttpURLConnection;
+HSPLcom/android/okhttp/OkUrlFactories;->setUrlFilter(Lcom/android/okhttp/OkUrlFactory;Lcom/android/okhttp/internal/URLFilter;)V
+HSPLcom/android/okhttp/OkUrlFactory;-><init>(Lcom/android/okhttp/OkHttpClient;)V
+HSPLcom/android/okhttp/OkUrlFactory;->client()Lcom/android/okhttp/OkHttpClient;
+HSPLcom/android/okhttp/OkUrlFactory;->open(Ljava/net/URL;)Ljava/net/HttpURLConnection;
HSPLcom/android/okhttp/OkUrlFactory;->open(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/HttpURLConnection;
-HSPLcom/android/okhttp/Protocol;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLcom/android/okhttp/OkUrlFactory;->setUrlFilter(Lcom/android/okhttp/internal/URLFilter;)V
HSPLcom/android/okhttp/Protocol;->get(Ljava/lang/String;)Lcom/android/okhttp/Protocol;
+HSPLcom/android/okhttp/Protocol;->toString()Ljava/lang/String;
+HSPLcom/android/okhttp/Request$Builder;-><init>()V
HSPLcom/android/okhttp/Request$Builder;-><init>(Lcom/android/okhttp/Request;)V
+HSPLcom/android/okhttp/Request$Builder;-><init>(Lcom/android/okhttp/Request;Lcom/android/okhttp/Request$1;)V
+HSPLcom/android/okhttp/Request$Builder;->access$000(Lcom/android/okhttp/Request$Builder;)Lcom/android/okhttp/HttpUrl;
+HSPLcom/android/okhttp/Request$Builder;->access$100(Lcom/android/okhttp/Request$Builder;)Ljava/lang/String;
+HSPLcom/android/okhttp/Request$Builder;->access$200(Lcom/android/okhttp/Request$Builder;)Lcom/android/okhttp/Headers$Builder;
+HSPLcom/android/okhttp/Request$Builder;->access$300(Lcom/android/okhttp/Request$Builder;)Lcom/android/okhttp/RequestBody;
+HSPLcom/android/okhttp/Request$Builder;->access$400(Lcom/android/okhttp/Request$Builder;)Ljava/lang/Object;
HSPLcom/android/okhttp/Request$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
HSPLcom/android/okhttp/Request$Builder;->build()Lcom/android/okhttp/Request;
HSPLcom/android/okhttp/Request$Builder;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
HSPLcom/android/okhttp/Request$Builder;->method(Ljava/lang/String;Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
+HSPLcom/android/okhttp/Request$Builder;->url(Lcom/android/okhttp/HttpUrl;)Lcom/android/okhttp/Request$Builder;
HSPLcom/android/okhttp/Request;-><init>(Lcom/android/okhttp/Request$Builder;)V
-HSPLcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;[B)Lcom/android/okhttp/RequestBody;
+HSPLcom/android/okhttp/Request;-><init>(Lcom/android/okhttp/Request$Builder;Lcom/android/okhttp/Request$1;)V
+HSPLcom/android/okhttp/Request;->access$1000(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Headers;
+HSPLcom/android/okhttp/Request;->access$600(Lcom/android/okhttp/Request;)Lcom/android/okhttp/HttpUrl;
+HSPLcom/android/okhttp/Request;->access$700(Lcom/android/okhttp/Request;)Ljava/lang/String;
+HSPLcom/android/okhttp/Request;->access$800(Lcom/android/okhttp/Request;)Lcom/android/okhttp/RequestBody;
+HSPLcom/android/okhttp/Request;->access$900(Lcom/android/okhttp/Request;)Ljava/lang/Object;
+HSPLcom/android/okhttp/Request;->cacheControl()Lcom/android/okhttp/CacheControl;
+HSPLcom/android/okhttp/Request;->header(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Request;->headers()Lcom/android/okhttp/Headers;
+HSPLcom/android/okhttp/Request;->httpUrl()Lcom/android/okhttp/HttpUrl;
+HSPLcom/android/okhttp/Request;->isHttps()Z
+HSPLcom/android/okhttp/Request;->method()Ljava/lang/String;
+HSPLcom/android/okhttp/Request;->newBuilder()Lcom/android/okhttp/Request$Builder;
+HSPLcom/android/okhttp/Response$Builder;-><init>()V
HSPLcom/android/okhttp/Response$Builder;-><init>(Lcom/android/okhttp/Response;)V
+HSPLcom/android/okhttp/Response$Builder;-><init>(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response$1;)V
+HSPLcom/android/okhttp/Response$Builder;->access$000(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Request;
+HSPLcom/android/okhttp/Response$Builder;->access$100(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Protocol;
+HSPLcom/android/okhttp/Response$Builder;->access$200(Lcom/android/okhttp/Response$Builder;)I
+HSPLcom/android/okhttp/Response$Builder;->access$300(Lcom/android/okhttp/Response$Builder;)Ljava/lang/String;
+HSPLcom/android/okhttp/Response$Builder;->access$400(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Handshake;
+HSPLcom/android/okhttp/Response$Builder;->access$500(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Headers$Builder;
+HSPLcom/android/okhttp/Response$Builder;->access$600(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/ResponseBody;
+HSPLcom/android/okhttp/Response$Builder;->access$700(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response$Builder;->access$800(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response$Builder;->access$900(Lcom/android/okhttp/Response$Builder;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response$Builder;->body(Lcom/android/okhttp/ResponseBody;)Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/Response$Builder;->build()Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response$Builder;->cacheResponse(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/Response$Builder;->checkSupportResponse(Ljava/lang/String;Lcom/android/okhttp/Response;)V
+HSPLcom/android/okhttp/Response$Builder;->code(I)Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/Response$Builder;->handshake(Lcom/android/okhttp/Handshake;)Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/Response$Builder;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
+HSPLcom/android/okhttp/Response$Builder;->headers(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Response$Builder;
+HSPLcom/android/okhttp/Response$Builder;->message(Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
+HSPLcom/android/okhttp/Response$Builder;->networkResponse(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response$Builder;
+HSPLcom/android/okhttp/Response$Builder;->priorResponse(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response$Builder;
+HSPLcom/android/okhttp/Response$Builder;->protocol(Lcom/android/okhttp/Protocol;)Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/Response$Builder;->request(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/Response;-><init>(Lcom/android/okhttp/Response$Builder;)V
+HSPLcom/android/okhttp/Response;-><init>(Lcom/android/okhttp/Response$Builder;Lcom/android/okhttp/Response$1;)V
+HSPLcom/android/okhttp/Response;->access$1100(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Request;
+HSPLcom/android/okhttp/Response;->access$1200(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Protocol;
+HSPLcom/android/okhttp/Response;->access$1300(Lcom/android/okhttp/Response;)I
+HSPLcom/android/okhttp/Response;->access$1400(Lcom/android/okhttp/Response;)Ljava/lang/String;
+HSPLcom/android/okhttp/Response;->access$1500(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Handshake;
+HSPLcom/android/okhttp/Response;->access$1600(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Headers;
+HSPLcom/android/okhttp/Response;->access$1700(Lcom/android/okhttp/Response;)Lcom/android/okhttp/ResponseBody;
+HSPLcom/android/okhttp/Response;->access$1800(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response;->access$1900(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response;->access$2000(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response;->body()Lcom/android/okhttp/ResponseBody;
+HSPLcom/android/okhttp/Response;->cacheResponse()Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response;->code()I
+HSPLcom/android/okhttp/Response;->header(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Response;->header(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Response;->headers()Lcom/android/okhttp/Headers;
+HSPLcom/android/okhttp/Response;->message()Ljava/lang/String;
+HSPLcom/android/okhttp/Response;->networkResponse()Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/Response;->newBuilder()Lcom/android/okhttp/Response$Builder;
+HSPLcom/android/okhttp/Response;->protocol()Lcom/android/okhttp/Protocol;
+HSPLcom/android/okhttp/Response;->request()Lcom/android/okhttp/Request;
+HSPLcom/android/okhttp/ResponseBody;-><init>()V
+HSPLcom/android/okhttp/ResponseBody;->byteStream()Ljava/io/InputStream;
HSPLcom/android/okhttp/Route;-><init>(Lcom/android/okhttp/Address;Ljava/net/Proxy;Ljava/net/InetSocketAddress;)V
+HSPLcom/android/okhttp/Route;->getAddress()Lcom/android/okhttp/Address;
+HSPLcom/android/okhttp/Route;->getProxy()Ljava/net/Proxy;
+HSPLcom/android/okhttp/Route;->getSocketAddress()Ljava/net/InetSocketAddress;
HSPLcom/android/okhttp/Route;->hashCode()I
-HSPLcom/android/okhttp/TlsVersion;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLcom/android/okhttp/Route;->requiresTunnel()Z
+HSPLcom/android/okhttp/internal/ConnectionSpecSelector;-><init>(Ljava/util/List;)V
HSPLcom/android/okhttp/internal/ConnectionSpecSelector;->configureSecureSocket(Ljavax/net/ssl/SSLSocket;)Lcom/android/okhttp/ConnectionSpec;
-HSPLcom/android/okhttp/internal/DiskLruCache$4;-><init>()V
-HSPLcom/android/okhttp/internal/OptionalMethod;-><init>(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
-HSPLcom/android/okhttp/internal/Platform;-><init>()V
+PLcom/android/okhttp/internal/ConnectionSpecSelector;->connectionFailed(Ljava/io/IOException;)Z
+HSPLcom/android/okhttp/internal/ConnectionSpecSelector;->isFallbackPossible(Ljavax/net/ssl/SSLSocket;)Z
+HSPLcom/android/okhttp/internal/OptionalMethod;->getMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLcom/android/okhttp/internal/OptionalMethod;->getPublicMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invokeOptional(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invokeOptionalWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invokeWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->isSupported(Ljava/lang/Object;)Z
HSPLcom/android/okhttp/internal/Platform;->afterHandshake(Ljavax/net/ssl/SSLSocket;)V
+HSPLcom/android/okhttp/internal/Platform;->concatLengthPrefixed(Ljava/util/List;)[B
HSPLcom/android/okhttp/internal/Platform;->configureTlsExtensions(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V
HSPLcom/android/okhttp/internal/Platform;->connectSocket(Ljava/net/Socket;Ljava/net/InetSocketAddress;I)V
HSPLcom/android/okhttp/internal/Platform;->get()Lcom/android/okhttp/internal/Platform;
-HSPLcom/android/okhttp/internal/Platform;->getPrefix()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/Platform;->getProtocolIds(Ljava/util/List;)[Ljava/lang/String;
HSPLcom/android/okhttp/internal/Platform;->getSelectedProtocol(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/Platform;->isPlatformSocket(Ljavax/net/ssl/SSLSocket;)Z
+HSPLcom/android/okhttp/internal/RouteDatabase;-><init>()V
HSPLcom/android/okhttp/internal/RouteDatabase;->connected(Lcom/android/okhttp/Route;)V
+PLcom/android/okhttp/internal/RouteDatabase;->failed(Lcom/android/okhttp/Route;)V
HSPLcom/android/okhttp/internal/RouteDatabase;->shouldPostpone(Lcom/android/okhttp/Route;)Z
+HSPLcom/android/okhttp/internal/Util$1;-><init>(Ljava/lang/String;Z)V
HSPLcom/android/okhttp/internal/Util$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HSPLcom/android/okhttp/internal/Util;->checkOffsetAndCount(JJJ)V
HSPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/net/Socket;)V
+HSPLcom/android/okhttp/internal/Util;->discard(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
+HSPLcom/android/okhttp/internal/Util;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLcom/android/okhttp/internal/Util;->hostHeader(Lcom/android/okhttp/HttpUrl;Z)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/Util;->immutableList(Ljava/util/List;)Ljava/util/List;
HSPLcom/android/okhttp/internal/Util;->immutableList([Ljava/lang/Object;)Ljava/util/List;
+HSPLcom/android/okhttp/internal/Util;->skipAll(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
+HSPLcom/android/okhttp/internal/Util;->threadFactory(Ljava/lang/String;Z)Ljava/util/concurrent/ThreadFactory;
HSPLcom/android/okhttp/internal/Util;->toHumanReadableAscii(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/http/AuthenticatorAdapter;-><init>()V
HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;-><init>(JLcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
+HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;->get()Lcom/android/okhttp/internal/http/CacheStrategy;
HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;->getCandidate()Lcom/android/okhttp/internal/http/CacheStrategy;
+HSPLcom/android/okhttp/internal/http/CacheStrategy;-><init>(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
+HSPLcom/android/okhttp/internal/http/CacheStrategy;-><init>(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;Lcom/android/okhttp/internal/http/CacheStrategy$1;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/Http1xStream$1;)V
HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->endOfInput()V
+HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->timeout()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/HttpEngine;)V
HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->close()V
HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->readChunkSize()V
+HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;J)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;JLcom/android/okhttp/internal/http/Http1xStream$1;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;->close()V
+HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;->flush()V
+HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSource;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;J)V
HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSource;->close()V
HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
+HSPLcom/android/okhttp/internal/http/Http1xStream;-><init>(Lcom/android/okhttp/internal/http/StreamAllocation;Lcom/android/okhttp/okio/BufferedSource;Lcom/android/okhttp/okio/BufferedSink;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$300(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$400(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/okio/ForwardingTimeout;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$500(Lcom/android/okhttp/internal/http/Http1xStream;)I
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$502(Lcom/android/okhttp/internal/http/Http1xStream;I)I
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$600(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/okio/BufferedSource;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$700(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/internal/http/StreamAllocation;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->detachTimeout(Lcom/android/okhttp/okio/ForwardingTimeout;)V
HSPLcom/android/okhttp/internal/http/Http1xStream;->finishRequest()V
HSPLcom/android/okhttp/internal/http/Http1xStream;->getTransferStream(Lcom/android/okhttp/Response;)Lcom/android/okhttp/okio/Source;
HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSource(Lcom/android/okhttp/internal/http/HttpEngine;)Lcom/android/okhttp/okio/Source;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->newFixedLengthSink(J)Lcom/android/okhttp/okio/Sink;
HSPLcom/android/okhttp/internal/http/Http1xStream;->newFixedLengthSource(J)Lcom/android/okhttp/okio/Source;
HSPLcom/android/okhttp/internal/http/Http1xStream;->openResponseBody(Lcom/android/okhttp/Response;)Lcom/android/okhttp/ResponseBody;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->readHeaders()Lcom/android/okhttp/Headers;
HSPLcom/android/okhttp/internal/http/Http1xStream;->readResponse()Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/internal/http/Http1xStream;->readResponseHeaders()Lcom/android/okhttp/Response$Builder;
HSPLcom/android/okhttp/internal/http/Http1xStream;->setHttpEngine(Lcom/android/okhttp/internal/http/HttpEngine;)V
HSPLcom/android/okhttp/internal/http/Http1xStream;->writeRequest(Lcom/android/okhttp/Headers;Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/http/Http1xStream;->writeRequestBody(Lcom/android/okhttp/internal/http/RetryableSink;)V
HSPLcom/android/okhttp/internal/http/Http1xStream;->writeRequestHeaders(Lcom/android/okhttp/Request;)V
-HSPLcom/android/okhttp/internal/http/HttpDate$1;-><init>()V
-HSPLcom/android/okhttp/internal/http/HttpEngine$1;-><init>()V
HSPLcom/android/okhttp/internal/http/HttpEngine;-><init>(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;ZZZLcom/android/okhttp/internal/http/StreamAllocation;Lcom/android/okhttp/internal/http/RetryableSink;Lcom/android/okhttp/Response;)V
HSPLcom/android/okhttp/internal/http/HttpEngine;->cacheWritingResponse(Lcom/android/okhttp/internal/http/CacheRequest;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->cancel()V
+PLcom/android/okhttp/internal/http/HttpEngine;->close()Lcom/android/okhttp/internal/http/StreamAllocation;
HSPLcom/android/okhttp/internal/http/HttpEngine;->connect()Lcom/android/okhttp/internal/http/HttpStream;
HSPLcom/android/okhttp/internal/http/HttpEngine;->createAddress(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;)Lcom/android/okhttp/Address;
HSPLcom/android/okhttp/internal/http/HttpEngine;->followUpRequest()Lcom/android/okhttp/Request;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->getBufferedRequestBody()Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->getConnection()Lcom/android/okhttp/Connection;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->getRequestBody()Lcom/android/okhttp/okio/Sink;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->getResponse()Lcom/android/okhttp/Response;
HSPLcom/android/okhttp/internal/http/HttpEngine;->hasBody(Lcom/android/okhttp/Response;)Z
+HSPLcom/android/okhttp/internal/http/HttpEngine;->hasResponse()Z
HSPLcom/android/okhttp/internal/http/HttpEngine;->maybeCache()V
HSPLcom/android/okhttp/internal/http/HttpEngine;->networkRequest(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Request;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->permitsRequestBody(Lcom/android/okhttp/Request;)Z
HSPLcom/android/okhttp/internal/http/HttpEngine;->readNetworkResponse()Lcom/android/okhttp/Response;
HSPLcom/android/okhttp/internal/http/HttpEngine;->readResponse()V
+HSPLcom/android/okhttp/internal/http/HttpEngine;->receiveHeaders(Lcom/android/okhttp/Headers;)V
+PLcom/android/okhttp/internal/http/HttpEngine;->recover(Lcom/android/okhttp/internal/http/RouteException;)Lcom/android/okhttp/internal/http/HttpEngine;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->releaseStreamAllocation()V
HSPLcom/android/okhttp/internal/http/HttpEngine;->sendRequest()V
+HSPLcom/android/okhttp/internal/http/HttpEngine;->stripBody(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
HSPLcom/android/okhttp/internal/http/HttpEngine;->unzip(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->writingRequestHeaders()V
HSPLcom/android/okhttp/internal/http/HttpMethod;->permitsRequestBody(Ljava/lang/String;)Z
HSPLcom/android/okhttp/internal/http/HttpMethod;->requiresRequestBody(Ljava/lang/String;)Z
-HSPLcom/android/okhttp/internal/http/OkHeaders$1;-><init>()V
HSPLcom/android/okhttp/internal/http/OkHeaders$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLcom/android/okhttp/internal/http/OkHeaders$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
+HSPLcom/android/okhttp/internal/http/OkHeaders;->contentLength(Lcom/android/okhttp/Headers;)J
+HSPLcom/android/okhttp/internal/http/OkHeaders;->contentLength(Lcom/android/okhttp/Request;)J
+HSPLcom/android/okhttp/internal/http/OkHeaders;->contentLength(Lcom/android/okhttp/Response;)J
HSPLcom/android/okhttp/internal/http/OkHeaders;->stringToLong(Ljava/lang/String;)J
HSPLcom/android/okhttp/internal/http/OkHeaders;->toMultimap(Lcom/android/okhttp/Headers;Ljava/lang/String;)Ljava/util/Map;
+HSPLcom/android/okhttp/internal/http/RealResponseBody;-><init>(Lcom/android/okhttp/Headers;Lcom/android/okhttp/okio/BufferedSource;)V
HSPLcom/android/okhttp/internal/http/RealResponseBody;->source()Lcom/android/okhttp/okio/BufferedSource;
HSPLcom/android/okhttp/internal/http/RequestLine;->get(Lcom/android/okhttp/Request;Ljava/net/Proxy$Type;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/http/RequestLine;->includeAuthorityInRequestLine(Lcom/android/okhttp/Request;Ljava/net/Proxy$Type;)Z
HSPLcom/android/okhttp/internal/http/RequestLine;->requestPath(Lcom/android/okhttp/HttpUrl;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/http/RetryableSink;-><init>()V
+HSPLcom/android/okhttp/internal/http/RetryableSink;-><init>(I)V
HSPLcom/android/okhttp/internal/http/RetryableSink;->close()V
+HSPLcom/android/okhttp/internal/http/RetryableSink;->contentLength()J
HSPLcom/android/okhttp/internal/http/RetryableSink;->flush()V
HSPLcom/android/okhttp/internal/http/RetryableSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
+HSPLcom/android/okhttp/internal/http/RetryableSink;->writeToSocket(Lcom/android/okhttp/okio/Sink;)V
+PLcom/android/okhttp/internal/http/RouteException;-><init>(Ljava/io/IOException;)V
+PLcom/android/okhttp/internal/http/RouteException;->getLastConnectException()Ljava/io/IOException;
HSPLcom/android/okhttp/internal/http/RouteSelector;-><init>(Lcom/android/okhttp/Address;Lcom/android/okhttp/internal/RouteDatabase;)V
+PLcom/android/okhttp/internal/http/RouteSelector;->connectFailed(Lcom/android/okhttp/Route;Ljava/io/IOException;)V
+PLcom/android/okhttp/internal/http/RouteSelector;->hasNext()Z
+HSPLcom/android/okhttp/internal/http/RouteSelector;->hasNextInetSocketAddress()Z
+PLcom/android/okhttp/internal/http/RouteSelector;->hasNextPostponed()Z
+HSPLcom/android/okhttp/internal/http/RouteSelector;->hasNextProxy()Z
HSPLcom/android/okhttp/internal/http/RouteSelector;->next()Lcom/android/okhttp/Route;
HSPLcom/android/okhttp/internal/http/RouteSelector;->nextInetSocketAddress()Ljava/net/InetSocketAddress;
HSPLcom/android/okhttp/internal/http/RouteSelector;->nextProxy()Ljava/net/Proxy;
HSPLcom/android/okhttp/internal/http/RouteSelector;->resetNextInetSocketAddress(Ljava/net/Proxy;)V
HSPLcom/android/okhttp/internal/http/RouteSelector;->resetNextProxy(Lcom/android/okhttp/HttpUrl;Ljava/net/Proxy;)V
+HSPLcom/android/okhttp/internal/http/StatusLine;-><init>(Lcom/android/okhttp/Protocol;ILjava/lang/String;)V
+HSPLcom/android/okhttp/internal/http/StatusLine;->get(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/StatusLine;
HSPLcom/android/okhttp/internal/http/StatusLine;->parse(Ljava/lang/String;)Lcom/android/okhttp/internal/http/StatusLine;
+HSPLcom/android/okhttp/internal/http/StatusLine;->toString()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/http/StreamAllocation;-><init>(Lcom/android/okhttp/ConnectionPool;Lcom/android/okhttp/Address;)V
+HSPLcom/android/okhttp/internal/http/StreamAllocation;->acquire(Lcom/android/okhttp/internal/io/RealConnection;)V
HSPLcom/android/okhttp/internal/http/StreamAllocation;->cancel()V
HSPLcom/android/okhttp/internal/http/StreamAllocation;->connection()Lcom/android/okhttp/internal/io/RealConnection;
+PLcom/android/okhttp/internal/http/StreamAllocation;->connectionFailed()V
+PLcom/android/okhttp/internal/http/StreamAllocation;->connectionFailed(Ljava/io/IOException;)V
HSPLcom/android/okhttp/internal/http/StreamAllocation;->deallocate(ZZZ)V
HSPLcom/android/okhttp/internal/http/StreamAllocation;->findConnection(IIIZ)Lcom/android/okhttp/internal/io/RealConnection;
HSPLcom/android/okhttp/internal/http/StreamAllocation;->findHealthyConnection(IIIZZ)Lcom/android/okhttp/internal/io/RealConnection;
+PLcom/android/okhttp/internal/http/StreamAllocation;->isRecoverable(Lcom/android/okhttp/internal/http/RouteException;)Z
HSPLcom/android/okhttp/internal/http/StreamAllocation;->newStream(IIIZZ)Lcom/android/okhttp/internal/http/HttpStream;
+HSPLcom/android/okhttp/internal/http/StreamAllocation;->noNewStreams()V
+PLcom/android/okhttp/internal/http/StreamAllocation;->recover(Lcom/android/okhttp/internal/http/RouteException;)Z
+HSPLcom/android/okhttp/internal/http/StreamAllocation;->release()V
HSPLcom/android/okhttp/internal/http/StreamAllocation;->release(Lcom/android/okhttp/internal/io/RealConnection;)V
+HSPLcom/android/okhttp/internal/http/StreamAllocation;->routeDatabase()Lcom/android/okhttp/internal/RouteDatabase;
HSPLcom/android/okhttp/internal/http/StreamAllocation;->streamFinished(Lcom/android/okhttp/internal/http/HttpStream;)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;-><init>(Ljava/net/HttpURLConnection;)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->connect()V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->disconnect()V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentEncoding()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentLength()I
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentType()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getHeaderFields()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getInputStream()Ljava/io/InputStream;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getOutputStream()Ljava/io/OutputStream;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestMethod()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperties()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getResponseCode()I
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getResponseMessage()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getURL()Ljava/net/URL;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setChunkedStreamingMode(I)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setConnectTimeout(I)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setDoInput(Z)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setDoOutput(Z)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setFixedLengthStreamingMode(I)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setInstanceFollowRedirects(Z)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setReadTimeout(I)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setRequestMethod(Ljava/lang/String;)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setUseCaches(Z)V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;-><init>(Ljava/net/URL;Lcom/android/okhttp/OkHttpClient;)V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;-><init>(Ljava/net/URL;Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/internal/URLFilter;)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->connect()V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->defaultUserAgent()Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->disconnect()V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->execute(Z)Z
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaders()Lcom/android/okhttp/Headers;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponse()Lcom/android/okhttp/internal/http/HttpEngine;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponseCode()I
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponseMessage()Ljava/lang/String;
@@ -24940,65 +9221,116 @@ HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->initHttpEngine()V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->newHttpEngine(Ljava/lang/String;Lcom/android/okhttp/internal/http/StreamAllocation;Lcom/android/okhttp/internal/http/RetryableSink;Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/HttpEngine;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->responseSourceHeader(Lcom/android/okhttp/Response;)Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setConnectTimeout(I)V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setFixedLengthStreamingMode(I)V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setFixedLengthStreamingMode(J)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setInstanceFollowRedirects(Z)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setReadTimeout(I)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setRequestMethod(Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;-><init>(Lcom/android/okhttp/internal/huc/HttpURLConnectionImpl;)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;-><init>(Ljava/net/URL;Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/internal/URLFilter;)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->connect()V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->disconnect()V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentEncoding()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentLength()I
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentType()Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestMethod()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseCode()I
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseMessage()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getURL()Ljava/net/URL;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setChunkedStreamingMode(I)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setConnectTimeout(I)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoInput(Z)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoOutput(Z)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setFixedLengthStreamingMode(I)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setInstanceFollowRedirects(Z)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setReadTimeout(I)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setRequestMethod(Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setUseCaches(Z)V
-HSPLcom/android/okhttp/internal/io/FileSystem$1;-><init>()V
+HSPLcom/android/okhttp/internal/io/RealConnection;-><init>(Lcom/android/okhttp/Route;)V
+HSPLcom/android/okhttp/internal/io/RealConnection;->allocationLimit()I
HSPLcom/android/okhttp/internal/io/RealConnection;->connect(IIILjava/util/List;Z)V
HSPLcom/android/okhttp/internal/io/RealConnection;->connectSocket(IIILcom/android/okhttp/internal/ConnectionSpecSelector;)V
HSPLcom/android/okhttp/internal/io/RealConnection;->connectTls(IILcom/android/okhttp/internal/ConnectionSpecSelector;)V
+HSPLcom/android/okhttp/internal/io/RealConnection;->getHandshake()Lcom/android/okhttp/Handshake;
+HSPLcom/android/okhttp/internal/io/RealConnection;->getRoute()Lcom/android/okhttp/Route;
+HSPLcom/android/okhttp/internal/io/RealConnection;->getSocket()Ljava/net/Socket;
HSPLcom/android/okhttp/internal/io/RealConnection;->isHealthy(Z)Z
-HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;-><init>()V
HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->getSubjectAltNames(Ljava/security/cert/X509Certificate;I)Ljava/util/List;
+HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verify(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Z
HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
+HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyAsIpAddress(Ljava/lang/String;)Z
HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyHostName(Ljava/lang/String;Ljava/lang/String;)Z
HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyHostName(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Z
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->hashCode()I
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->lookup(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->internalOpenConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
+HSPLcom/android/okhttp/okio/AsyncTimeout$1;-><init>(Lcom/android/okhttp/okio/AsyncTimeout;Lcom/android/okhttp/okio/Sink;)V
HSPLcom/android/okhttp/okio/AsyncTimeout$1;->flush()V
HSPLcom/android/okhttp/okio/AsyncTimeout$1;->timeout()Lcom/android/okhttp/okio/Timeout;
HSPLcom/android/okhttp/okio/AsyncTimeout$1;->write(Lcom/android/okhttp/okio/Buffer;J)V
+HSPLcom/android/okhttp/okio/AsyncTimeout$2;-><init>(Lcom/android/okhttp/okio/AsyncTimeout;Lcom/android/okhttp/okio/Source;)V
HSPLcom/android/okhttp/okio/AsyncTimeout$2;->read(Lcom/android/okhttp/okio/Buffer;J)J
HSPLcom/android/okhttp/okio/AsyncTimeout$2;->timeout()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/AsyncTimeout$Watchdog;-><init>()V
HSPLcom/android/okhttp/okio/AsyncTimeout$Watchdog;->run()V
+HSPLcom/android/okhttp/okio/AsyncTimeout;-><init>()V
+HSPLcom/android/okhttp/okio/AsyncTimeout;->access$000()Lcom/android/okhttp/okio/AsyncTimeout;
HSPLcom/android/okhttp/okio/AsyncTimeout;->awaitTimeout()Lcom/android/okhttp/okio/AsyncTimeout;
HSPLcom/android/okhttp/okio/AsyncTimeout;->cancelScheduledTimeout(Lcom/android/okhttp/okio/AsyncTimeout;)Z
HSPLcom/android/okhttp/okio/AsyncTimeout;->enter()V
+HSPLcom/android/okhttp/okio/AsyncTimeout;->exit()Z
+HSPLcom/android/okhttp/okio/AsyncTimeout;->exit(Ljava/io/IOException;)Ljava/io/IOException;
+HSPLcom/android/okhttp/okio/AsyncTimeout;->exit(Z)V
+HSPLcom/android/okhttp/okio/AsyncTimeout;->remainingNanos(J)J
HSPLcom/android/okhttp/okio/AsyncTimeout;->scheduleTimeout(Lcom/android/okhttp/okio/AsyncTimeout;JZ)V
+HSPLcom/android/okhttp/okio/AsyncTimeout;->sink(Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/okio/Sink;
+HSPLcom/android/okhttp/okio/AsyncTimeout;->source(Lcom/android/okhttp/okio/Source;)Lcom/android/okhttp/okio/Source;
+HSPLcom/android/okhttp/okio/Buffer;-><init>()V
HSPLcom/android/okhttp/okio/Buffer;->clear()V
+HSPLcom/android/okhttp/okio/Buffer;->completeSegmentByteCount()J
HSPLcom/android/okhttp/okio/Buffer;->copyTo(Lcom/android/okhttp/okio/Buffer;JJ)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/Buffer;->exhausted()Z
HSPLcom/android/okhttp/okio/Buffer;->getByte(J)B
HSPLcom/android/okhttp/okio/Buffer;->indexOf(BJ)J
HSPLcom/android/okhttp/okio/Buffer;->read(Lcom/android/okhttp/okio/Buffer;J)J
HSPLcom/android/okhttp/okio/Buffer;->read([BII)I
HSPLcom/android/okhttp/okio/Buffer;->readByte()B
+HSPLcom/android/okhttp/okio/Buffer;->readByteArray()[B
+HSPLcom/android/okhttp/okio/Buffer;->readByteArray(J)[B
+HSPLcom/android/okhttp/okio/Buffer;->readFully([B)V
HSPLcom/android/okhttp/okio/Buffer;->readHexadecimalUnsignedLong()J
HSPLcom/android/okhttp/okio/Buffer;->readInt()I
+HSPLcom/android/okhttp/okio/Buffer;->readIntLe()I
HSPLcom/android/okhttp/okio/Buffer;->readShort()S
HSPLcom/android/okhttp/okio/Buffer;->readString(JLjava/nio/charset/Charset;)Ljava/lang/String;
HSPLcom/android/okhttp/okio/Buffer;->readUtf8()Ljava/lang/String;
+HSPLcom/android/okhttp/okio/Buffer;->readUtf8(J)Ljava/lang/String;
HSPLcom/android/okhttp/okio/Buffer;->readUtf8Line(J)Ljava/lang/String;
+HSPLcom/android/okhttp/okio/Buffer;->size()J
HSPLcom/android/okhttp/okio/Buffer;->skip(J)V
HSPLcom/android/okhttp/okio/Buffer;->writableSegment(I)Lcom/android/okhttp/okio/Segment;
HSPLcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/Buffer;J)V
HSPLcom/android/okhttp/okio/Buffer;->write([BII)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/Buffer;->writeByte(I)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/Buffer;
HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/Buffer;
HSPLcom/android/okhttp/okio/Buffer;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/ByteString;->of([B)Lcom/android/okhttp/okio/ByteString;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;-><init>(Lcom/android/okhttp/okio/Timeout;)V
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->delegate()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->hasDeadline()Z
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->setDelegate(Lcom/android/okhttp/okio/Timeout;)Lcom/android/okhttp/okio/ForwardingTimeout;
HSPLcom/android/okhttp/okio/GzipSource;-><init>(Lcom/android/okhttp/okio/Source;)V
HSPLcom/android/okhttp/okio/GzipSource;->checkEqual(Ljava/lang/String;II)V
HSPLcom/android/okhttp/okio/GzipSource;->close()V
@@ -25006,31 +9338,51 @@ HSPLcom/android/okhttp/okio/GzipSource;->consumeHeader()V
HSPLcom/android/okhttp/okio/GzipSource;->consumeTrailer()V
HSPLcom/android/okhttp/okio/GzipSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
HSPLcom/android/okhttp/okio/GzipSource;->updateCrc(Lcom/android/okhttp/okio/Buffer;JJ)V
+HSPLcom/android/okhttp/okio/InflaterSource;-><init>(Lcom/android/okhttp/okio/BufferedSource;Ljava/util/zip/Inflater;)V
+HSPLcom/android/okhttp/okio/InflaterSource;->close()V
HSPLcom/android/okhttp/okio/InflaterSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
HSPLcom/android/okhttp/okio/InflaterSource;->refill()Z
+HSPLcom/android/okhttp/okio/InflaterSource;->releaseInflatedBytes()V
+HSPLcom/android/okhttp/okio/Okio$1;-><init>(Lcom/android/okhttp/okio/Timeout;Ljava/io/OutputStream;)V
HSPLcom/android/okhttp/okio/Okio$1;->flush()V
HSPLcom/android/okhttp/okio/Okio$1;->write(Lcom/android/okhttp/okio/Buffer;J)V
+HSPLcom/android/okhttp/okio/Okio$2;-><init>(Lcom/android/okhttp/okio/Timeout;Ljava/io/InputStream;)V
HSPLcom/android/okhttp/okio/Okio$2;->read(Lcom/android/okhttp/okio/Buffer;J)J
+HSPLcom/android/okhttp/okio/Okio$3;-><init>(Ljava/net/Socket;)V
HSPLcom/android/okhttp/okio/Okio;->buffer(Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/okio/BufferedSink;
HSPLcom/android/okhttp/okio/Okio;->buffer(Lcom/android/okhttp/okio/Source;)Lcom/android/okhttp/okio/BufferedSource;
+HSPLcom/android/okhttp/okio/Okio;->sink(Ljava/io/OutputStream;Lcom/android/okhttp/okio/Timeout;)Lcom/android/okhttp/okio/Sink;
HSPLcom/android/okhttp/okio/Okio;->sink(Ljava/net/Socket;)Lcom/android/okhttp/okio/Sink;
+HSPLcom/android/okhttp/okio/Okio;->source(Ljava/io/InputStream;Lcom/android/okhttp/okio/Timeout;)Lcom/android/okhttp/okio/Source;
HSPLcom/android/okhttp/okio/Okio;->source(Ljava/net/Socket;)Lcom/android/okhttp/okio/Source;
+HSPLcom/android/okhttp/okio/Okio;->timeout(Ljava/net/Socket;)Lcom/android/okhttp/okio/AsyncTimeout;
+HSPLcom/android/okhttp/okio/RealBufferedSink$1;-><init>(Lcom/android/okhttp/okio/RealBufferedSink;)V
HSPLcom/android/okhttp/okio/RealBufferedSink$1;->close()V
HSPLcom/android/okhttp/okio/RealBufferedSink$1;->flush()V
HSPLcom/android/okhttp/okio/RealBufferedSink$1;->write([BII)V
+HSPLcom/android/okhttp/okio/RealBufferedSink;-><init>(Lcom/android/okhttp/okio/Sink;)V
+HSPLcom/android/okhttp/okio/RealBufferedSink;-><init>(Lcom/android/okhttp/okio/Sink;Lcom/android/okhttp/okio/Buffer;)V
+HSPLcom/android/okhttp/okio/RealBufferedSink;->access$000(Lcom/android/okhttp/okio/RealBufferedSink;)Z
HSPLcom/android/okhttp/okio/RealBufferedSink;->buffer()Lcom/android/okhttp/okio/Buffer;
HSPLcom/android/okhttp/okio/RealBufferedSink;->close()V
+HSPLcom/android/okhttp/okio/RealBufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
HSPLcom/android/okhttp/okio/RealBufferedSink;->flush()V
HSPLcom/android/okhttp/okio/RealBufferedSink;->outputStream()Ljava/io/OutputStream;
HSPLcom/android/okhttp/okio/RealBufferedSink;->timeout()Lcom/android/okhttp/okio/Timeout;
HSPLcom/android/okhttp/okio/RealBufferedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
HSPLcom/android/okhttp/okio/RealBufferedSink;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/okio/RealBufferedSource$1;-><init>(Lcom/android/okhttp/okio/RealBufferedSource;)V
HSPLcom/android/okhttp/okio/RealBufferedSource$1;->available()I
HSPLcom/android/okhttp/okio/RealBufferedSource$1;->close()V
+HSPLcom/android/okhttp/okio/RealBufferedSource$1;->read()I
HSPLcom/android/okhttp/okio/RealBufferedSource$1;->read([BII)I
+HSPLcom/android/okhttp/okio/RealBufferedSource;-><init>(Lcom/android/okhttp/okio/Source;)V
+HSPLcom/android/okhttp/okio/RealBufferedSource;-><init>(Lcom/android/okhttp/okio/Source;Lcom/android/okhttp/okio/Buffer;)V
+HSPLcom/android/okhttp/okio/RealBufferedSource;->access$000(Lcom/android/okhttp/okio/RealBufferedSource;)Z
HSPLcom/android/okhttp/okio/RealBufferedSource;->buffer()Lcom/android/okhttp/okio/Buffer;
HSPLcom/android/okhttp/okio/RealBufferedSource;->close()V
HSPLcom/android/okhttp/okio/RealBufferedSource;->exhausted()Z
+HSPLcom/android/okhttp/okio/RealBufferedSource;->indexOf(B)J
HSPLcom/android/okhttp/okio/RealBufferedSource;->indexOf(BJ)J
HSPLcom/android/okhttp/okio/RealBufferedSource;->inputStream()Ljava/io/InputStream;
HSPLcom/android/okhttp/okio/RealBufferedSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
@@ -25042,626 +9394,193 @@ HSPLcom/android/okhttp/okio/RealBufferedSource;->request(J)Z
HSPLcom/android/okhttp/okio/RealBufferedSource;->require(J)V
HSPLcom/android/okhttp/okio/RealBufferedSource;->skip(J)V
HSPLcom/android/okhttp/okio/RealBufferedSource;->timeout()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/Segment;-><init>()V
+HSPLcom/android/okhttp/okio/Segment;-><init>(Lcom/android/okhttp/okio/Segment;)V
+HSPLcom/android/okhttp/okio/Segment;-><init>([BII)V
HSPLcom/android/okhttp/okio/Segment;->compact()V
+HSPLcom/android/okhttp/okio/Segment;->pop()Lcom/android/okhttp/okio/Segment;
+HSPLcom/android/okhttp/okio/Segment;->push(Lcom/android/okhttp/okio/Segment;)Lcom/android/okhttp/okio/Segment;
HSPLcom/android/okhttp/okio/Segment;->split(I)Lcom/android/okhttp/okio/Segment;
HSPLcom/android/okhttp/okio/Segment;->writeTo(Lcom/android/okhttp/okio/Segment;I)V
HSPLcom/android/okhttp/okio/SegmentPool;->recycle(Lcom/android/okhttp/okio/Segment;)V
HSPLcom/android/okhttp/okio/SegmentPool;->take()Lcom/android/okhttp/okio/Segment;
-HSPLcom/android/okhttp/okio/Timeout$1;-><init>()V
+HSPLcom/android/okhttp/okio/Timeout;-><init>()V
HSPLcom/android/okhttp/okio/Timeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
HSPLcom/android/okhttp/okio/Timeout;->clearTimeout()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime()J
+HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
HSPLcom/android/okhttp/okio/Timeout;->hasDeadline()Z
HSPLcom/android/okhttp/okio/Timeout;->throwIfReached()V
HSPLcom/android/okhttp/okio/Timeout;->timeout(JLjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/okio/Timeout;
HSPLcom/android/okhttp/okio/Timeout;->timeoutNanos()J
HSPLcom/android/okhttp/okio/Util;->checkOffsetAndCount(JJJ)V
+HSPLcom/android/okhttp/okio/Util;->reverseBytesInt(I)I
HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;-><init>([BI)V
+HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->derForm([BI)[B
HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->fromInputStream(ILjava/io/InputStream;)Lcom/android/org/bouncycastle/asn1/ASN1BitString;
-HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->getOctets()[B
-HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->getPadBits()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
+HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;->add(Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;->get(I)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;->size()I
+HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;-><init>(Ljava/io/InputStream;)V
+HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;-><init>(Ljava/io/InputStream;I)V
+HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;-><init>(Ljava/io/InputStream;IZ)V
+HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;-><init>([B)V
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->buildDEREncodableVector(Lcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;)Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;
+HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->buildEncodableVector()Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->buildObject(III)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->createPrimitiveDERObject(ILcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;[[B)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
+HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->getBuffer(Lcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;[[B)[B
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readLength()I
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readLength(Ljava/io/InputStream;I)I
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
HSPLcom/android/org/bouncycastle/asn1/ASN1InputStream;->readTagNumber(Ljava/io/InputStream;I)I
+HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;-><init>(Ljava/math/BigInteger;)V
HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;-><init>([BZ)V
HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->encodedLength()I
HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Integer;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getPositiveValue()Ljava/math/BigInteger;
HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getValue()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Null;->asn1Equals(Lcom/android/org/bouncycastle/asn1/ASN1Primitive;)Z
+HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->isMalformed([B)Z
+HSPLcom/android/org/bouncycastle/asn1/ASN1Object;-><init>()V
HSPLcom/android/org/bouncycastle/asn1/ASN1Object;->getEncoded(Ljava/lang/String;)[B
+HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;-><init>([B)V
HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;->hashCode()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;-><init>(Ljava/lang/String;)V
HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;-><init>([B)V
HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->asn1Equals(Lcom/android/org/bouncycastle/asn1/ASN1Primitive;)Z
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->branch(Ljava/lang/String;)Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->doOutput(Ljava/io/ByteArrayOutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->encodedLength()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->getBody()[B
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->getId()Ljava/lang/String;
+HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->fromOctetString([B)Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->hashCode()I
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->intern()Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->isValidBranchID(Ljava/lang/String;I)Z
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->isValidIdentifier(Ljava/lang/String;)Z
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->toString()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;->writeField(Ljava/io/ByteArrayOutputStream;J)V
+HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->write(I)V
HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->write([B)V
HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeEncoded(I[B)V
HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeLength(I)V
+HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->equals(Ljava/lang/Object;)Z
HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->fromByteArray([B)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
+HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Sequence;
HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getObjectAt(I)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getObjects()Ljava/util/Enumeration;
HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->size()I
HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/DERBitString;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/DERBitString;->encodedLength()I
+HSPLcom/android/org/bouncycastle/asn1/DERBitString;-><init>([BI)V
HSPLcom/android/org/bouncycastle/asn1/DERBitString;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/DERBitString;
-HSPLcom/android/org/bouncycastle/asn1/DERNull;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/DERFactory;->createSequence(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)Lcom/android/org/bouncycastle/asn1/ASN1Sequence;
+HSPLcom/android/org/bouncycastle/asn1/DEROutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLcom/android/org/bouncycastle/asn1/DEROutputStream;->getDERSubStream()Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;
HSPLcom/android/org/bouncycastle/asn1/DEROutputStream;->writeObject(Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
HSPLcom/android/org/bouncycastle/asn1/DERSequence;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/DERSequence;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
HSPLcom/android/org/bouncycastle/asn1/DERSequence;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/DERSequence;->encodedLength()I
HSPLcom/android/org/bouncycastle/asn1/DERSequence;->getBodyLength()I
-HSPLcom/android/org/bouncycastle/asn1/DERSet;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/DLSequence;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;)V
+HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;-><init>(Ljava/io/InputStream;I)V
HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->getRemaining()I
HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->read()I
HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->read([BII)I
HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->toByteArray()[B
+HSPLcom/android/org/bouncycastle/asn1/LimitedInputStream;-><init>(Ljava/io/InputStream;I)V
HSPLcom/android/org/bouncycastle/asn1/LimitedInputStream;->setParentEofDetect(Z)V
-HSPLcom/android/org/bouncycastle/asn1/OIDTokenizer;->nextToken()Ljava/lang/String;
+HSPLcom/android/org/bouncycastle/asn1/StreamUtil;->calculateBodyLength(I)I
HSPLcom/android/org/bouncycastle/asn1/StreamUtil;->findLimit(Ljava/io/InputStream;)I
+HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;->getAlgorithm()Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
+HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;
HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;->getParameters()Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
-HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x509/DSAParameter;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/DSAParameter;->getG()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/asn1/x509/DSAParameter;->getP()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/asn1/x509/DSAParameter;->getQ()Ljava/math/BigInteger;
HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->getAlgorithm()Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->parsePublicKey()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/crypto/CryptoServicesPermission;-><init>(Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar$Property;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;->localSetGlobalProperty(Lcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar$Property;[Ljava/lang/Object;)V
-HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;->toDH(Lcom/android/org/bouncycastle/crypto/params/DSAParameters;)Lcom/android/org/bouncycastle/crypto/params/DHParameters;
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryBouncyCastle;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;-><init>()V
+HSPLcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;
+HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;->getSecureRandom()Ljava/security/SecureRandom;
+HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;-><init>()V
+HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->PKCS12PasswordToBytes([C)[B
+HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->init([B[BI)V
HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;-><init>(Ljava/lang/String;I)V
HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->doFinal([BI)I
+HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->getByteLength()I
HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->getDigestSize()I
-HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->reset()V
HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->update([BII)V
-HSPLcom/android/org/bouncycastle/crypto/params/DHParameters;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;IILjava/math/BigInteger;Lcom/android/org/bouncycastle/crypto/params/DHValidationParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Lcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getG()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getP()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getQ()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getValidationParameters()Lcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;
-HSPLcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;->validate(Ljava/math/BigInteger;Lcom/android/org/bouncycastle/crypto/params/DSAParameters;)Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;-><init>([BI)V
-HSPLcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;->getCounter()I
-HSPLcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;->getSeed()[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DSA$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DSA$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/EC$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/EC$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA$Mappings;->addDigestSignature(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Ljava/lang/String;Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/X509$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/X509$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;-><init>(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getEncoded()[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getParams()Ljava/security/interfaces/DSAParams;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getY()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->hashCode()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;->generatePublic(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi$EC;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi;->generatePublic(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi;->generatePublic(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil;->getEncodedSubjectPublicKeyInfo(Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil;->getEncodedSubjectPublicKeyInfo(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission;->calculateMask(Ljava/lang/String;)I
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider;->addHMACAlgorithm(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider;->addHMACAlias(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/MD5$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/MD5$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA1$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA1$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA224$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA224$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA256$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA256$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA384$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA384$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA512$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/digest/SHA512$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/BC$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/BC$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/PKCS12$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/PKCS12$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
+HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;-><init>(Lcom/android/org/bouncycastle/crypto/Digest;)V
+HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;->adjust([BI[B)V
+HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;->generateDerivedKey(II)[B
+HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;->generateDerivedParameters(II)Lcom/android/org/bouncycastle/crypto/CipherParameters;
+HSPLcom/android/org/bouncycastle/crypto/params/KeyParameter;-><init>([BII)V
+HSPLcom/android/org/bouncycastle/crypto/params/KeyParameter;->getKey()[B
+HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;-><init>(Lcom/android/org/bouncycastle/crypto/CipherParameters;[BII)V
+HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;->getParameters()Lcom/android/org/bouncycastle/crypto/CipherParameters;
HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$Std;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;->getObject()Ljava/lang/Object;
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;->getType()I
+HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;-><init>(I)V
HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineAliases()Ljava/util/Enumeration;
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineLoad(Ljava/io/InputStream;[C)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineSetCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES;->access$000()Ljava/util/Map;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DESede$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DESede$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPKCS12$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPKCS12$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBES2AlgorithmParameters$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBES2AlgorithmParameters$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/RC2$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/RC2$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Twofish$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Twofish$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->findExceptionConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/ClassUtil;->loadClass(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
-HSPLcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;->addSignatureAlgorithm(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;->registerOid(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;->registerOidAlgorithmParameterGenerator(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider$1;->run()Ljava/lang/Object;
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;-><init>()V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAlgorithm(Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAlgorithm(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAttributes(Ljava/lang/String;Ljava/util/Map;)V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addKeyInfoConverter(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter;)V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->hasAlgorithm(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->loadAlgorithms(Ljava/lang/String;[Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->setup()V
-HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProviderConfiguration;-><init>()V
-HSPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;-><init>(Ljava/security/cert/CertStoreParameters;)V
-HPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;->engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
-HSPLcom/android/org/bouncycastle/util/Integers;->valueOf(I)Ljava/lang/Integer;
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEGenerator(II)Lcom/android/org/bouncycastle/crypto/PBEParametersGenerator;
+HSPLcom/android/org/bouncycastle/jcajce/util/DefaultJcaJceHelper;-><init>()V
+HSPLcom/android/org/bouncycastle/util/Arrays;->areEqual([B[B)Z
+HSPLcom/android/org/bouncycastle/util/Arrays;->clone([B)[B
+HSPLcom/android/org/bouncycastle/util/Arrays;->hashCode([B)I
+HSPLcom/android/org/bouncycastle/util/Properties$1;-><init>(Ljava/lang/String;)V
HSPLcom/android/org/bouncycastle/util/Properties$1;->run()Ljava/lang/Object;
+HSPLcom/android/org/bouncycastle/util/Properties;->access$000()Ljava/lang/ThreadLocal;
+HSPLcom/android/org/bouncycastle/util/Properties;->fetchProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/org/bouncycastle/util/Properties;->isOverrideSet(Ljava/lang/String;)Z
-HSPLcom/android/org/bouncycastle/util/Strings$1;-><init>()V
-HSPLcom/android/org/bouncycastle/util/Strings$1;->run()Ljava/lang/Object;
-HSPLcom/android/org/bouncycastle/util/Strings$1;->run()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/util/Strings;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/util/encoders/Hex;->decode(Ljava/lang/String;)[B
-HSPLcom/android/org/bouncycastle/util/encoders/HexEncoder;-><init>()V
-HSPLcom/android/org/bouncycastle/util/encoders/HexEncoder;->decode(Ljava/lang/String;Ljava/io/OutputStream;)I
-HSPLcom/android/org/bouncycastle/util/encoders/HexEncoder;->initialiseDecodingTable()V
-HSPLcom/android/org/kxml2/io/KXmlParser$ValueContext;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/org/bouncycastle/util/io/Streams;->readFully(Ljava/io/InputStream;[B)I
+HSPLcom/android/org/bouncycastle/util/io/Streams;->readFully(Ljava/io/InputStream;[BII)I
HSPLcom/android/org/kxml2/io/KXmlParser;-><init>()V
HSPLcom/android/org/kxml2/io/KXmlParser;->adjustNsp()Z
-HSPLcom/android/org/kxml2/io/KXmlParser;->close()V
+HSPLcom/android/org/kxml2/io/KXmlParser;->ensureCapacity([Ljava/lang/String;I)[Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->fillBuffer(I)Z
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeCount()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeName(I)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(I)Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getColumnNumber()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getDepth()I
HSPLcom/android/org/kxml2/io/KXmlParser;->getEventType()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getLineNumber()I
HSPLcom/android/org/kxml2/io/KXmlParser;->getName()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace()Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespaceCount(I)I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getPositionDescription()Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->getText()Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->next()I
HSPLcom/android/org/kxml2/io/KXmlParser;->next(Z)I
-HSPLcom/android/org/kxml2/io/KXmlParser;->nextTag()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->nextText()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->nextToken()I
HSPLcom/android/org/kxml2/io/KXmlParser;->parseStartTag(ZZ)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->peekCharacter()I
HSPLcom/android/org/kxml2/io/KXmlParser;->peekType(Z)I
HSPLcom/android/org/kxml2/io/KXmlParser;->read(C)V
HSPLcom/android/org/kxml2/io/KXmlParser;->read([C)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->readComment(Z)Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->readEndTag()V
HSPLcom/android/org/kxml2/io/KXmlParser;->readEntity(Ljava/lang/StringBuilder;ZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)V
HSPLcom/android/org/kxml2/io/KXmlParser;->readName()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->readUntil([CZ)Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->readValue(CZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)Ljava/lang/String;
HSPLcom/android/org/kxml2/io/KXmlParser;->readXmlDeclaration()V
-HSPLcom/android/org/kxml2/io/KXmlParser;->require(ILjava/lang/String;Ljava/lang/String;)V
HSPLcom/android/org/kxml2/io/KXmlParser;->setFeature(Ljava/lang/String;Z)V
HSPLcom/android/org/kxml2/io/KXmlParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V
HSPLcom/android/org/kxml2/io/KXmlParser;->setInput(Ljava/io/Reader;)V
-HPLcom/android/org/kxml2/io/KXmlSerializer;-><init>()V
+HSPLcom/android/org/kxml2/io/KXmlParser;->skip()V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->append(C)V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->append(Ljava/lang/String;)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->append(Ljava/lang/String;II)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/org/kxml2/io/KXmlSerializer;->check(Z)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->endDocument()V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/org/kxml2/io/KXmlSerializer;->flush()V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->setFeature(Ljava/lang/String;Z)V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->flushBuffer()V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->setOutput(Ljava/io/Writer;)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HPLcom/android/org/kxml2/io/KXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/org/kxml2/io/KXmlSerializer;->writeEscaped(Ljava/lang/String;I)V
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->readMessage(Lcom/android/phone/ecc/nano/MessageNano;)V
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->readRawVarint32()I
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->rewindToPosition(I)V
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->skipField(I)Z
-HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->skipRawBytes(I)V
-HSPLcom/android/phone/ecc/nano/MessageNano;->mergeFrom(Lcom/android/phone/ecc/nano/MessageNano;[BII)Lcom/android/phone/ecc/nano/MessageNano;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/MessageNano;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;->emptyArray()[Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/MessageNano;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;->emptyArray()[Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/MessageNano;
-HSPLcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
-HPLcom/android/server/AppWidgetBackupBridge;->getWidgetState(Ljava/lang/String;I)[B
-HSPLcom/android/server/AppWidgetBackupBridge;->register(Lcom/android/server/WidgetBackupProvider;)V
-PLcom/android/server/BootReceiver$1;->run()V
-PLcom/android/server/BootReceiver;-><init>()V
-PLcom/android/server/BootReceiver;->addAuditErrorsToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/BootReceiver;->addFileWithFootersToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/BootReceiver;->addFsckErrorsToDropBoxAndLogFsStat(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/BootReceiver;->getBootHeadersToLogAndUpdate()Ljava/lang/String;
-PLcom/android/server/BootReceiver;->getCurrentBootHeaders()Ljava/lang/String;
-PLcom/android/server/BootReceiver;->getPreviousBootHeaders()Ljava/lang/String;
-PLcom/android/server/BootReceiver;->logBootEvents(Landroid/content/Context;)V
-PLcom/android/server/BootReceiver;->logFsMountTime()V
-PLcom/android/server/BootReceiver;->logFsShutdownTime()V
-PLcom/android/server/BootReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/server/BootReceiver;->readTimestamps()Ljava/util/HashMap;
-HSPLcom/android/server/LocalServices;->addService(Ljava/lang/Class;Ljava/lang/Object;)V
-HSPLcom/android/server/LocalServices;->getService(Ljava/lang/Class;)Ljava/lang/Object;
-HSPLcom/android/server/NetworkManagementSocketTagger$1;-><init>()V
HSPLcom/android/server/NetworkManagementSocketTagger$1;->initialValue()Lcom/android/server/NetworkManagementSocketTagger$SocketTags;
HSPLcom/android/server/NetworkManagementSocketTagger$1;->initialValue()Ljava/lang/Object;
-HSPLcom/android/server/NetworkManagementSocketTagger;->setKernelCounterSet(II)V
-HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsTag(I)I
+HSPLcom/android/server/NetworkManagementSocketTagger$SocketTags;-><init>()V
+HSPLcom/android/server/NetworkManagementSocketTagger;-><init>()V
+HSPLcom/android/server/NetworkManagementSocketTagger;->install()V
HSPLcom/android/server/NetworkManagementSocketTagger;->tag(Ljava/io/FileDescriptor;)V
HSPLcom/android/server/NetworkManagementSocketTagger;->tagSocketFd(Ljava/io/FileDescriptor;II)V
-HSPLcom/android/server/SystemConfig$SharedLibraryEntry;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLcom/android/server/SystemConfig;-><init>()V
-HSPLcom/android/server/SystemConfig;->addFeature(Ljava/lang/String;I)V
-HSPLcom/android/server/SystemConfig;->getAllowIgnoreLocationSettings()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getAllowImplicitBroadcasts()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getAllowInDataUsageSave()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getAllowInPowerSave()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getAllowInPowerSaveExceptIdle()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getAllowUnthrottledLocation()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getAllowedAssociations()Landroid/util/ArrayMap;
-HSPLcom/android/server/SystemConfig;->getAvailableFeatures()Landroid/util/ArrayMap;
-HSPLcom/android/server/SystemConfig;->getBackupTransportWhitelist()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getBugreportWhitelistedPackages()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getDefaultVrComponents()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getDisabledUntilUsedPreinstalledCarrierApps()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getDisabledUntilUsedPreinstalledCarrierAssociatedApps()Landroid/util/ArrayMap;
-HSPLcom/android/server/SystemConfig;->getGlobalGids()[I
-HSPLcom/android/server/SystemConfig;->getHiddenApiWhitelistedApps()Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getInstance()Lcom/android/server/SystemConfig;
-HSPLcom/android/server/SystemConfig;->getPermissions()Landroid/util/ArrayMap;
-HSPLcom/android/server/SystemConfig;->getPrivAppPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getProductPrivAppDenyPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getProductPrivAppPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
-HSPLcom/android/server/SystemConfig;->getSharedLibraries()Landroid/util/ArrayMap;
-HSPLcom/android/server/SystemConfig;->getSplitPermissions()Ljava/util/ArrayList;
-HSPLcom/android/server/SystemConfig;->getSystemPermissions()Landroid/util/SparseArray;
-HSPLcom/android/server/SystemConfig;->readPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
-HSPLcom/android/server/SystemConfig;->readPermissions(Ljava/io/File;I)V
-HSPLcom/android/server/SystemConfig;->readPermissionsFromXml(Ljava/io/File;I)V
-HSPLcom/android/server/SystemConfig;->readPrivAppPermissions(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/SystemConfig;->readSplitPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;)V
-PLcom/android/server/backup/AccountManagerBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAdded(Landroid/content/Context;I)V
-PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAddedInternal(I)V
-PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-PLcom/android/server/backup/AccountSyncSettingsBackupHelper;->readOldMd5Checksum(Landroid/os/ParcelFileDescriptor;)[B
-HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->serializeAccountSyncSettingsToJSON(I)Lorg/json/JSONObject;
-PLcom/android/server/backup/NotificationBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/backup/PermissionBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/backup/PreferredActivityBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/backup/ShortcutBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/backup/SliceBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/backup/SystemBackupAgent;-><init>()V
-PLcom/android/server/backup/SystemBackupAgent;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
-PLcom/android/server/backup/SystemBackupAgent;->onCreate(Landroid/os/UserHandle;)V
-PLcom/android/server/backup/UsageStatsBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfProgramEvent;->computeSerializedSize()I
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfProgramEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfStatistics;-><init>()V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfStatistics;->clear()Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfStatistics;
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfStatistics;->computeSerializedSize()I
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfStatistics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ConnectStatistics;-><init>()V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ConnectStatistics;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ConnectStatistics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;-><init>()V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;->clear()Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DefaultNetworkEvent;-><init>()V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DefaultNetworkEvent;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DefaultNetworkEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->computeSerializedSize()I
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->emptyArray()[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityLog;-><init>()V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityLog;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpProvisioningEvent;->computeSerializedSize()I
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpProvisioningEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpReachabilityEvent;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpReachabilityEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;->emptyArray()[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$RaEvent;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$RaEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ValidationProbeEvent;->computeSerializedSize()I
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ValidationProbeEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;-><init>()V
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;->clear()Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;->computeSerializedSize()I
-PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/net/BaseNetdEventCallback;-><init>()V
-HSPLcom/android/server/net/BaseNetdEventCallback;->onConnectEvent(Ljava/lang/String;IJI)V
-HPLcom/android/server/net/BaseNetdEventCallback;->onNat64PrefixEvent(IZLjava/lang/String;I)V
-HSPLcom/android/server/net/BaseNetdEventCallback;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/net/BaseNetworkObserver;-><init>()V
-HSPLcom/android/server/net/BaseNetworkObserver;->addressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
-HSPLcom/android/server/net/BaseNetworkObserver;->addressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
-HSPLcom/android/server/net/BaseNetworkObserver;->interfaceAdded(Ljava/lang/String;)V
-HSPLcom/android/server/net/BaseNetworkObserver;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
-HSPLcom/android/server/net/BaseNetworkObserver;->interfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
-HSPLcom/android/server/net/BaseNetworkObserver;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
-HPLcom/android/server/net/BaseNetworkObserver;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/net/BaseNetworkObserver;->routeRemoved(Landroid/net/RouteInfo;)V
-HSPLcom/android/server/net/BaseNetworkObserver;->routeUpdated(Landroid/net/RouteInfo;)V
-HSPLcom/android/server/sip/SipService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/sip/SipService;->start(Landroid/content/Context;)V
-HSPLcom/android/server/sip/SipWakeupTimer;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-HSPLcom/android/server/wifi/BaseWifiService;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;
-PLcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;
-PLcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$SoftApConnectedClientsEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApConnectedClientsEvent;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$SoftApDurationBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApDurationBucket;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$SoftApReturnCodeCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApReturnCodeCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent$ConfigInfo;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent$ConfigInfo;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;-><init>()V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$NanStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$NanStatusHistogramBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;-><init>()V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;-><init>()V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;-><init>()V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRadioUsage;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRadioUsage;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->computeSerializedSize()I
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HSPLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;-><init>()V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;->computeSerializedSize()I
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->computeSerializedSize()I
-PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/framework/protobuf/nano/MessageNano;
-PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
-PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->parseFrom([B)Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
-HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/google/android/collect/Lists;->newArrayList()Ljava/util/ArrayList;
HSPLcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;
-HSPLcom/google/android/collect/Maps;->newArrayMap()Landroid/util/ArrayMap;
HSPLcom/google/android/collect/Maps;->newHashMap()Ljava/util/HashMap;
-HSPLcom/google/android/collect/Sets;->newArraySet()Landroid/util/ArraySet;
-HSPLcom/google/android/collect/Sets;->newArraySet([Ljava/lang/Object;)Landroid/util/ArraySet;
HSPLcom/google/android/collect/Sets;->newHashSet()Ljava/util/HashSet;
HSPLcom/google/android/collect/Sets;->newHashSet([Ljava/lang/Object;)Ljava/util/HashSet;
-HSPLcom/google/android/gles_jni/EGLConfigImpl;-><init>(J)V
-HSPLcom/google/android/gles_jni/EGLContextImpl;-><init>(J)V
-HSPLcom/google/android/gles_jni/EGLDisplayImpl;-><init>(J)V
-HSPLcom/google/android/gles_jni/EGLImpl;-><init>()V
-HSPLcom/google/android/gles_jni/EGLImpl;->eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;
-HSPLcom/google/android/gles_jni/EGLImpl;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;
-HSPLcom/google/android/gles_jni/EGLSurfaceImpl;-><init>(J)V
-HPLcom/google/android/rappor/Encoder;-><init>(Ljava/util/Random;Ljava/security/MessageDigest;Ljava/security/MessageDigest;[BLjava/lang/String;IDDDII)V
-HPLcom/google/android/rappor/Encoder;->checkArgument(ZLjava/lang/Object;)V
-HPLcom/google/android/rappor/Encoder;->computeInstantaneousRandomizedResponse(Ljava/util/BitSet;)Ljava/util/BitSet;
-HPLcom/google/android/rappor/Encoder;->computePermanentRandomizedResponse(Ljava/util/BitSet;)Ljava/util/BitSet;
-HPLcom/google/android/rappor/Encoder;->encodeBits(Ljava/util/BitSet;)[B
-HPLcom/google/android/rappor/Encoder;->encodeBoolean(Z)[B
-HPLcom/google/android/rappor/HmacDrbg;-><init>([B[B)V
-HPLcom/google/android/rappor/HmacDrbg;->bytesConcat([[B)[B
-HPLcom/google/android/rappor/HmacDrbg;->hash([B)[B
-HPLcom/google/android/rappor/HmacDrbg;->hmacDrbgGenerate([BII)V
-HPLcom/google/android/rappor/HmacDrbg;->hmacDrbgUpdate([B)V
-HPLcom/google/android/rappor/HmacDrbg;->nextBytes(I)[B
-PLcom/google/android/rappor/HmacDrbg;->nextBytes([B)V
-HPLcom/google/android/rappor/HmacDrbg;->nextBytes([BII)V
-HPLcom/google/android/rappor/HmacDrbg;->setKey([B)V
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;-><init>(Ljava/lang/String;Ljava/lang/String;F[Lcom/google/android/textclassifier/NamedVariant;[B[Lcom/google/android/textclassifier/RemoteActionTemplate;)V
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;->getConversationMessages()[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getDetectedTextLanguageTags()Ljava/lang/String;
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getReferenceTimeMsUtc()J
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getReferenceTimezone()Ljava/lang/String;
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getText()Ljava/lang/String;
-PLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getUserId()I
-PLcom/google/android/textclassifier/ActionsSuggestionsModel;-><init>(I)V
-PLcom/google/android/textclassifier/ActionsSuggestionsModel;-><init>(I[B)V
-PLcom/google/android/textclassifier/ActionsSuggestionsModel;->getLocales(I)Ljava/lang/String;
-PLcom/google/android/textclassifier/ActionsSuggestionsModel;->getVersion(I)I
-PLcom/google/android/textclassifier/ActionsSuggestionsModel;->suggestActionsWithIntents(Lcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestionOptions;Ljava/lang/Object;Ljava/lang/String;Lcom/google/android/textclassifier/AnnotatorModel;)[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;
-HSPLcom/google/android/textclassifier/AnnotatorModel;-><init>(I)V
-HSPLcom/google/android/textclassifier/AnnotatorModel;->getLocales(I)Ljava/lang/String;
-HSPLcom/google/android/textclassifier/AnnotatorModel;->getVersion(I)I
-HSPLcom/google/android/textclassifier/LangIdModel$LanguageResult;-><init>(Ljava/lang/String;F)V
-HSPLcom/google/android/textclassifier/LangIdModel;-><init>(I)V
-HSPLcom/google/android/textclassifier/LangIdModel;->detectLanguages(Ljava/lang/String;)[Lcom/google/android/textclassifier/LangIdModel$LanguageResult;
-HSPLcom/google/android/textclassifier/LangIdModel;->getLangIdThreshold()F
-HSPLcom/google/android/textclassifier/LangIdModel;->getVersion(I)I
-PLcom/google/android/textclassifier/NamedVariant;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/google/android/textclassifier/RemoteActionTemplate;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;[Ljava/lang/String;Ljava/lang/String;[Lcom/google/android/textclassifier/NamedVariant;Ljava/lang/Integer;)V
+HSPLdalvik/system/BaseDexClassLoader;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Ljava/lang/ClassLoader;)V
+HSPLdalvik/system/BaseDexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;)V
HSPLdalvik/system/BaseDexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Z)V
HSPLdalvik/system/BaseDexClassLoader;->addNativePath(Ljava/util/Collection;)V
HSPLdalvik/system/BaseDexClassLoader;->findClass(Ljava/lang/String;)Ljava/lang/Class;
@@ -25671,7 +9590,7 @@ HSPLdalvik/system/BaseDexClassLoader;->findResources(Ljava/lang/String;)Ljava/ut
HSPLdalvik/system/BaseDexClassLoader;->getLdLibraryPath()Ljava/lang/String;
HSPLdalvik/system/BaseDexClassLoader;->getPackage(Ljava/lang/String;)Ljava/lang/Package;
HSPLdalvik/system/BaseDexClassLoader;->reportClassLoaderChain()V
-HSPLdalvik/system/BaseDexClassLoader;->toString()Ljava/lang/String;
+HSPLdalvik/system/BaseDexClassLoader;->setReporter(Ldalvik/system/BaseDexClassLoader$Reporter;)V
HSPLdalvik/system/BlockGuard$1;->onExplicitGc()V
HSPLdalvik/system/BlockGuard$1;->onNetwork()V
HSPLdalvik/system/BlockGuard$1;->onReadFromDisk()V
@@ -25681,10 +9600,9 @@ HSPLdalvik/system/BlockGuard$2;->onPathAccess(Ljava/lang/String;)V
HSPLdalvik/system/BlockGuard$3;->initialValue()Ldalvik/system/BlockGuard$Policy;
HSPLdalvik/system/BlockGuard$3;->initialValue()Ljava/lang/Object;
HSPLdalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy;
-HSPLdalvik/system/BlockGuard;->setThreadPolicy(Ldalvik/system/BlockGuard$Policy;)V
+HSPLdalvik/system/BlockGuard;->getVmPolicy()Ldalvik/system/BlockGuard$VmPolicy;
HSPLdalvik/system/BlockGuard;->setVmPolicy(Ldalvik/system/BlockGuard$VmPolicy;)V
-HSPLdalvik/system/CloseGuard$DefaultReporter;-><init>(Ldalvik/system/CloseGuard$1;)V
-HSPLdalvik/system/CloseGuard$DefaultReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
+HSPLdalvik/system/CloseGuard;-><init>()V
HSPLdalvik/system/CloseGuard;->close()V
HSPLdalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard;
HSPLdalvik/system/CloseGuard;->getReporter()Ldalvik/system/CloseGuard$Reporter;
@@ -25693,26 +9611,41 @@ HSPLdalvik/system/CloseGuard;->setEnabled(Z)V
HSPLdalvik/system/CloseGuard;->setReporter(Ldalvik/system/CloseGuard$Reporter;)V
HSPLdalvik/system/CloseGuard;->warnIfOpen()V
HSPLdalvik/system/DalvikLogging;->loggerNameToTag(Ljava/lang/String;)Ljava/lang/String;
+HSPLdalvik/system/DelegateLastClassLoader;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V
HSPLdalvik/system/DelegateLastClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)V
HSPLdalvik/system/DelegateLastClassLoader;->loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
-HSPLdalvik/system/DexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
+HSPLdalvik/system/DexFile;-><init>(Ljava/io/File;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
+HSPLdalvik/system/DexFile;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
HSPLdalvik/system/DexFile;->defineClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/Object;Ldalvik/system/DexFile;Ljava/util/List;)Ljava/lang/Class;
HSPLdalvik/system/DexFile;->finalize()V
-HSPLdalvik/system/DexFile;->getDexFileOptimizationInfo(Ljava/lang/String;Ljava/lang/String;)Ldalvik/system/DexFile$OptimizationInfo;
+HSPLdalvik/system/DexFile;->loadClassBinaryName(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class;
HSPLdalvik/system/DexFile;->openDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ljava/lang/Object;
HSPLdalvik/system/DexPathList$Element;-><init>(Ldalvik/system/DexFile;Ljava/io/File;)V
+HSPLdalvik/system/DexPathList$Element;-><init>(Ljava/io/File;)V
+HSPLdalvik/system/DexPathList$Element;->access$000(Ldalvik/system/DexPathList$Element;)Ljava/lang/String;
HSPLdalvik/system/DexPathList$Element;->findClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class;
HSPLdalvik/system/DexPathList$Element;->findResource(Ljava/lang/String;)Ljava/net/URL;
+HSPLdalvik/system/DexPathList$Element;->getDexPath()Ljava/lang/String;
HSPLdalvik/system/DexPathList$Element;->maybeInit()V
HSPLdalvik/system/DexPathList$Element;->toString()Ljava/lang/String;
+HSPLdalvik/system/DexPathList$NativeLibraryElement;-><init>(Ljava/io/File;)V
+HSPLdalvik/system/DexPathList$NativeLibraryElement;-><init>(Ljava/io/File;Ljava/lang/String;)V
HSPLdalvik/system/DexPathList$NativeLibraryElement;->equals(Ljava/lang/Object;)Z
HSPLdalvik/system/DexPathList$NativeLibraryElement;->findNativeLibrary(Ljava/lang/String;)Ljava/lang/String;
HSPLdalvik/system/DexPathList$NativeLibraryElement;->maybeInit()V
HSPLdalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Z)V
HSPLdalvik/system/DexPathList;->addNativePath(Ljava/util/Collection;)V
HSPLdalvik/system/DexPathList;->findClass(Ljava/lang/String;Ljava/util/List;)Ljava/lang/Class;
+HSPLdalvik/system/DexPathList;->findLibrary(Ljava/lang/String;)Ljava/lang/String;
+HSPLdalvik/system/DexPathList;->findResource(Ljava/lang/String;)Ljava/net/URL;
+HSPLdalvik/system/DexPathList;->findResources(Ljava/lang/String;)Ljava/util/Enumeration;
+HSPLdalvik/system/DexPathList;->getAllNativeLibraryDirectories()Ljava/util/List;
+HSPLdalvik/system/DexPathList;->getDexPaths()Ljava/util/List;
+HSPLdalvik/system/DexPathList;->getNativeLibraryDirectories()Ljava/util/List;
+HSPLdalvik/system/DexPathList;->loadDexFile(Ljava/io/File;Ljava/io/File;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ldalvik/system/DexFile;
HSPLdalvik/system/DexPathList;->makeDexElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;Ljava/lang/ClassLoader;Z)[Ldalvik/system/DexPathList$Element;
HSPLdalvik/system/DexPathList;->makePathElements(Ljava/util/List;)[Ldalvik/system/DexPathList$NativeLibraryElement;
+HSPLdalvik/system/DexPathList;->splitDexPath(Ljava/lang/String;)Ljava/util/List;
HSPLdalvik/system/DexPathList;->splitPaths(Ljava/lang/String;Z)Ljava/util/List;
HSPLdalvik/system/DexPathList;->toString()Ljava/lang/String;
HSPLdalvik/system/PathClassLoader;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V
@@ -25721,28 +9654,33 @@ HSPLdalvik/system/PathClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;L
HSPLdalvik/system/RuntimeHooks;->getTimeZoneIdSupplier()Ljava/util/function/Supplier;
HSPLdalvik/system/RuntimeHooks;->setTimeZoneIdSupplier(Ljava/util/function/Supplier;)V
HSPLdalvik/system/RuntimeHooks;->setUncaughtExceptionPreHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
-HSPLdalvik/system/SocketTagger$1;-><init>()V
+HSPLdalvik/system/SocketTagger;-><init>()V
HSPLdalvik/system/SocketTagger;->get()Ldalvik/system/SocketTagger;
HSPLdalvik/system/SocketTagger;->set(Ldalvik/system/SocketTagger;)V
HSPLdalvik/system/VMRuntime;->getInstructionSet(Ljava/lang/String;)Ljava/lang/String;
HSPLdalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime;
HSPLdalvik/system/VMRuntime;->getTargetSdkVersion()I
-HSPLdalvik/system/VMRuntime;->is64BitAbi(Ljava/lang/String;)Z
-HSPLdalvik/system/VMRuntime;->is64BitInstructionSet(Ljava/lang/String;)Z
+HSPLdalvik/system/VMRuntime;->notifyNativeAllocation()V
HSPLdalvik/system/VMRuntime;->registerNativeAllocation(I)V
HSPLdalvik/system/VMRuntime;->registerNativeFree(I)V
HSPLdalvik/system/VMRuntime;->runFinalization(J)V
+HSPLdalvik/system/VMRuntime;->runFinalizationSync()V
+HSPLdalvik/system/VMRuntime;->setHiddenApiUsageLogger(Ldalvik/system/VMRuntime$HiddenApiUsageLogger;)V
+HSPLdalvik/system/VMRuntime;->setNonSdkApiUsageConsumer(Ljava/util/function/Consumer;)V
HSPLdalvik/system/VMRuntime;->setTargetHeapUtilization(F)F
HSPLdalvik/system/VMRuntime;->setTargetSdkVersion(I)V
HSPLdalvik/system/ZygoteHooks;->gcAndFinalize()V
-HSPLdalvik/system/ZygoteHooks;->onBeginPreload()V
HSPLdalvik/system/ZygoteHooks;->onEndPreload()V
HSPLdalvik/system/ZygoteHooks;->postForkChild(IZZLjava/lang/String;)V
HSPLdalvik/system/ZygoteHooks;->postForkCommon()V
-HSPLdalvik/system/ZygoteHooks;->postForkSystemServer()V
HSPLdalvik/system/ZygoteHooks;->preFork()V
+HSPLdalvik/system/ZygoteHooks;->waitUntilAllThreadsStopped()V
+HSPLjava/io/Bits;->getInt([BI)I
HSPLjava/io/Bits;->getLong([BI)J
+HSPLjava/io/Bits;->getShort([BI)S
+HSPLjava/io/Bits;->putInt([BII)V
HSPLjava/io/Bits;->putLong([BIJ)V
+HSPLjava/io/Bits;->putShort([BIS)V
HSPLjava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
HSPLjava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;I)V
HSPLjava/io/BufferedInputStream;->available()I
@@ -25756,10 +9694,10 @@ HSPLjava/io/BufferedInputStream;->read()I
HSPLjava/io/BufferedInputStream;->read([BII)I
HSPLjava/io/BufferedInputStream;->read1([BII)I
HSPLjava/io/BufferedInputStream;->reset()V
-HSPLjava/io/BufferedInputStream;->skip(J)J
HSPLjava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLjava/io/BufferedOutputStream;-><init>(Ljava/io/OutputStream;I)V
HSPLjava/io/BufferedOutputStream;->flush()V
+HSPLjava/io/BufferedOutputStream;->flushBuffer()V
HSPLjava/io/BufferedOutputStream;->write(I)V
HSPLjava/io/BufferedOutputStream;->write([BII)V
HSPLjava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
@@ -25778,6 +9716,7 @@ HSPLjava/io/BufferedWriter;->close()V
HSPLjava/io/BufferedWriter;->ensureOpen()V
HSPLjava/io/BufferedWriter;->flush()V
HSPLjava/io/BufferedWriter;->flushBuffer()V
+HSPLjava/io/BufferedWriter;->min(II)I
HSPLjava/io/BufferedWriter;->newLine()V
HSPLjava/io/BufferedWriter;->write(I)V
HSPLjava/io/BufferedWriter;->write(Ljava/lang/String;II)V
@@ -25795,20 +9734,19 @@ HSPLjava/io/ByteArrayOutputStream;-><init>()V
HSPLjava/io/ByteArrayOutputStream;-><init>(I)V
HSPLjava/io/ByteArrayOutputStream;->close()V
HSPLjava/io/ByteArrayOutputStream;->ensureCapacity(I)V
+HSPLjava/io/ByteArrayOutputStream;->grow(I)V
HSPLjava/io/ByteArrayOutputStream;->reset()V
HSPLjava/io/ByteArrayOutputStream;->size()I
HSPLjava/io/ByteArrayOutputStream;->toByteArray()[B
-HSPLjava/io/ByteArrayOutputStream;->toString()Ljava/lang/String;
HSPLjava/io/ByteArrayOutputStream;->toString(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/io/ByteArrayOutputStream;->write(I)V
HSPLjava/io/ByteArrayOutputStream;->write([BII)V
-HSPLjava/io/ByteArrayOutputStream;->writeTo(Ljava/io/OutputStream;)V
HSPLjava/io/CharArrayWriter;-><init>()V
HSPLjava/io/CharArrayWriter;-><init>(I)V
+HSPLjava/io/CharArrayWriter;->flush()V
+HSPLjava/io/CharArrayWriter;->reset()V
HSPLjava/io/CharArrayWriter;->toCharArray()[C
-HSPLjava/io/CharArrayWriter;->toString()Ljava/lang/String;
HSPLjava/io/CharArrayWriter;->write(I)V
-HSPLjava/io/CharArrayWriter;->write([CII)V
HSPLjava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
HSPLjava/io/DataInputStream;->read([B)I
HSPLjava/io/DataInputStream;->read([BII)I
@@ -25820,28 +9758,27 @@ HSPLjava/io/DataInputStream;->readInt()I
HSPLjava/io/DataInputStream;->readLong()J
HSPLjava/io/DataInputStream;->readUTF()Ljava/lang/String;
HSPLjava/io/DataInputStream;->readUTF(Ljava/io/DataInput;)Ljava/lang/String;
-HSPLjava/io/DataInputStream;->readUnsignedByte()I
HSPLjava/io/DataInputStream;->readUnsignedShort()I
-HSPLjava/io/DataInputStream;->skipBytes(I)I
HSPLjava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLjava/io/DataOutputStream;->flush()V
+HSPLjava/io/DataOutputStream;->incCount(I)V
HSPLjava/io/DataOutputStream;->write([BII)V
HSPLjava/io/DataOutputStream;->writeBoolean(Z)V
-HSPLjava/io/DataOutputStream;->writeByte(I)V
+HPLjava/io/DataOutputStream;->writeByte(I)V
HSPLjava/io/DataOutputStream;->writeInt(I)V
HSPLjava/io/DataOutputStream;->writeLong(J)V
HSPLjava/io/DataOutputStream;->writeUTF(Ljava/lang/String;)V
HSPLjava/io/DataOutputStream;->writeUTF(Ljava/lang/String;Ljava/io/DataOutput;)I
-HSPLjava/io/DefaultFileSystem;->getFileSystem()Ljava/io/FileSystem;
HSPLjava/io/EOFException;-><init>()V
-HSPLjava/io/EOFException;-><init>(Ljava/lang/String;)V
HSPLjava/io/ExpiringCache;->clear()V
-HSPLjava/io/File$PathStatus;-><init>(Ljava/lang/String;I)V
HSPLjava/io/File$TempDirectory;->generateFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
HSPLjava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
HSPLjava/io/File;-><init>(Ljava/lang/String;)V
+HSPLjava/io/File;-><init>(Ljava/lang/String;I)V
+HSPLjava/io/File;-><init>(Ljava/lang/String;Ljava/io/File;)V
HSPLjava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/io/File;->canRead()Z
+HSPLjava/io/File;->canWrite()Z
HSPLjava/io/File;->compareTo(Ljava/io/File;)I
HSPLjava/io/File;->createNewFile()Z
HSPLjava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
@@ -25864,6 +9801,7 @@ HSPLjava/io/File;->hashCode()I
HSPLjava/io/File;->isAbsolute()Z
HSPLjava/io/File;->isDirectory()Z
HSPLjava/io/File;->isFile()Z
+HSPLjava/io/File;->isInvalid()Z
HSPLjava/io/File;->lastModified()J
HSPLjava/io/File;->length()J
HSPLjava/io/File;->list()[Ljava/lang/String;
@@ -25875,16 +9813,21 @@ HSPLjava/io/File;->mkdir()Z
HSPLjava/io/File;->mkdirs()Z
HSPLjava/io/File;->renameTo(Ljava/io/File;)Z
HSPLjava/io/File;->setLastModified(J)Z
+HSPLjava/io/File;->setReadable(ZZ)Z
+HSPLjava/io/File;->setWritable(ZZ)Z
HSPLjava/io/File;->slashify(Ljava/lang/String;Z)Ljava/lang/String;
HSPLjava/io/File;->toPath()Ljava/nio/file/Path;
HSPLjava/io/File;->toString()Ljava/lang/String;
HSPLjava/io/File;->toURI()Ljava/net/URI;
-HSPLjava/io/FileDescriptor$1;-><init>()V
HSPLjava/io/FileDescriptor$1;->set(Ljava/io/FileDescriptor;I)V
HSPLjava/io/FileDescriptor;-><init>()V
-HSPLjava/io/FileDescriptor;->dupFd(I)Ljava/io/FileDescriptor;
+HSPLjava/io/FileDescriptor;->access$002(Ljava/io/FileDescriptor;I)I
+HSPLjava/io/FileDescriptor;->getInt$()I
+HSPLjava/io/FileDescriptor;->getOwnerId$()J
HSPLjava/io/FileDescriptor;->isSocket$()Z
HSPLjava/io/FileDescriptor;->release$()Ljava/io/FileDescriptor;
+HSPLjava/io/FileDescriptor;->setInt$(I)V
+HSPLjava/io/FileDescriptor;->setOwnerId$(J)V
HSPLjava/io/FileDescriptor;->valid()Z
HSPLjava/io/FileInputStream;-><init>(Ljava/io/File;)V
HSPLjava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
@@ -25904,7 +9847,6 @@ HSPLjava/io/FileOutputStream;-><init>(Ljava/io/File;)V
HSPLjava/io/FileOutputStream;-><init>(Ljava/io/File;Z)V
HSPLjava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
HSPLjava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;Z)V
-HSPLjava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
HSPLjava/io/FileOutputStream;->close()V
HSPLjava/io/FileOutputStream;->finalize()V
HSPLjava/io/FileOutputStream;->getChannel()Ljava/nio/channels/FileChannel;
@@ -25914,34 +9856,30 @@ HSPLjava/io/FileOutputStream;->write([B)V
HSPLjava/io/FileOutputStream;->write([BII)V
HSPLjava/io/FileReader;-><init>(Ljava/io/File;)V
HSPLjava/io/FileReader;-><init>(Ljava/lang/String;)V
-HSPLjava/io/FileSystem;->getBooleanProperty(Ljava/lang/String;Z)Z
-HSPLjava/io/FileWriter;-><init>(Ljava/io/File;)V
HSPLjava/io/FileWriter;-><init>(Ljava/io/File;Z)V
-HSPLjava/io/FileWriter;-><init>(Ljava/lang/String;)V
HSPLjava/io/FilterInputStream;-><init>(Ljava/io/InputStream;)V
HSPLjava/io/FilterInputStream;->available()I
HSPLjava/io/FilterInputStream;->close()V
-HSPLjava/io/FilterInputStream;->mark(I)V
HSPLjava/io/FilterInputStream;->read()I
HSPLjava/io/FilterInputStream;->read([B)I
HSPLjava/io/FilterInputStream;->read([BII)I
-HSPLjava/io/FilterInputStream;->reset()V
-HSPLjava/io/FilterInputStream;->skip(J)J
HSPLjava/io/FilterOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLjava/io/FilterOutputStream;->close()V
+HSPLjava/io/FilterOutputStream;->flush()V
HSPLjava/io/FilterOutputStream;->write([B)V
+HSPLjava/io/IOException;-><init>()V
HSPLjava/io/IOException;-><init>(Ljava/lang/String;)V
+HSPLjava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
HSPLjava/io/InputStream;-><init>()V
HSPLjava/io/InputStream;->close()V
-HSPLjava/io/InputStream;->markSupported()Z
HSPLjava/io/InputStream;->read([B)I
-HSPLjava/io/InputStream;->read([BII)I
HSPLjava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
HSPLjava/io/InputStreamReader;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V
HSPLjava/io/InputStreamReader;-><init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
HSPLjava/io/InputStreamReader;->close()V
HSPLjava/io/InputStreamReader;->read([CII)I
HSPLjava/io/InputStreamReader;->ready()Z
+HSPLjava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
HSPLjava/io/ObjectInputStream$BlockDataInputStream;-><init>(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->close()V
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->currentBlockRemaining()I
@@ -25952,7 +9890,7 @@ HSPLjava/io/ObjectInputStream$BlockDataInputStream;->read()I
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->read([BII)I
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->read([BIIZ)I
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readBlockHeader(Z)I
-HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readBoolean()Z
+PLjava/io/ObjectInputStream$BlockDataInputStream;->readBoolean()Z
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readByte()B
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFully([BIIZ)V
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readInt()I
@@ -25960,13 +9898,13 @@ HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readLong()J
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readShort()S
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readUTF()Ljava/lang/String;
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readUTFBody(J)Ljava/lang/String;
-HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readUTFChar(Ljava/lang/StringBuilder;J)I
+PLjava/io/ObjectInputStream$BlockDataInputStream;->readUTFChar(Ljava/lang/StringBuilder;J)I
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readUTFSpan(Ljava/lang/StringBuilder;J)J
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readUnsignedShort()I
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->refill()V
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->setBlockDataMode(Z)Z
HSPLjava/io/ObjectInputStream$BlockDataInputStream;->skipBlockData()V
-HSPLjava/io/ObjectInputStream$HandleTable$HandleList;->add(I)V
+HSPLjava/io/ObjectInputStream$HandleTable;-><init>(I)V
HSPLjava/io/ObjectInputStream$HandleTable;->assign(Ljava/lang/Object;)I
HSPLjava/io/ObjectInputStream$HandleTable;->clear()V
HSPLjava/io/ObjectInputStream$HandleTable;->finish(I)V
@@ -25974,21 +9912,27 @@ HSPLjava/io/ObjectInputStream$HandleTable;->grow()V
HSPLjava/io/ObjectInputStream$HandleTable;->lookupException(I)Ljava/lang/ClassNotFoundException;
HSPLjava/io/ObjectInputStream$HandleTable;->lookupObject(I)Ljava/lang/Object;
HSPLjava/io/ObjectInputStream$HandleTable;->markDependency(II)V
-HSPLjava/io/ObjectInputStream$HandleTable;->setObject(ILjava/lang/Object;)V
HSPLjava/io/ObjectInputStream$HandleTable;->size()I
+HSPLjava/io/ObjectInputStream$PeekInputStream;-><init>(Ljava/io/InputStream;)V
HSPLjava/io/ObjectInputStream$PeekInputStream;->close()V
HSPLjava/io/ObjectInputStream$PeekInputStream;->peek()I
HSPLjava/io/ObjectInputStream$PeekInputStream;->read()I
HSPLjava/io/ObjectInputStream$PeekInputStream;->read([BII)I
HSPLjava/io/ObjectInputStream$PeekInputStream;->readFully([BII)V
+HSPLjava/io/ObjectInputStream$ValidationList;-><init>()V
HSPLjava/io/ObjectInputStream$ValidationList;->clear()V
HSPLjava/io/ObjectInputStream$ValidationList;->doCallbacks()V
HSPLjava/io/ObjectInputStream;-><init>(Ljava/io/InputStream;)V
+HSPLjava/io/ObjectInputStream;->access$500(Ljava/io/ObjectInputStream;)Z
+HSPLjava/io/ObjectInputStream;->checkResolve(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/io/ObjectInputStream;->clear()V
HSPLjava/io/ObjectInputStream;->close()V
HSPLjava/io/ObjectInputStream;->defaultReadFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
HSPLjava/io/ObjectInputStream;->defaultReadObject()V
+HSPLjava/io/ObjectInputStream;->isCustomSubclass()Z
+HSPLjava/io/ObjectInputStream;->latestUserDefinedLoader()Ljava/lang/ClassLoader;
HSPLjava/io/ObjectInputStream;->readArray(Z)Ljava/lang/Object;
-HSPLjava/io/ObjectInputStream;->readBoolean()Z
+HPLjava/io/ObjectInputStream;->readBoolean()Z
HSPLjava/io/ObjectInputStream;->readByte()B
HSPLjava/io/ObjectInputStream;->readClassDesc(Z)Ljava/io/ObjectStreamClass;
HSPLjava/io/ObjectInputStream;->readClassDescriptor()Ljava/io/ObjectStreamClass;
@@ -26015,6 +9959,7 @@ HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->drain()V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->flush()V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->getUTFLength(Ljava/lang/String;)J
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->setBlockDataMode(Z)Z
+HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->warnIfClosed()V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->write([BIIZ)V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeBlockHeader(I)V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeByte(I)V
@@ -26024,9 +9969,14 @@ HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeLong(J)V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeShort(I)V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;)V
HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;J)V
+HSPLjava/io/ObjectOutputStream$HandleTable;-><init>(IF)V
HSPLjava/io/ObjectOutputStream$HandleTable;->assign(Ljava/lang/Object;)I
-HSPLjava/io/ObjectOutputStream$HandleTable;->growSpine()V
+HSPLjava/io/ObjectOutputStream$HandleTable;->clear()V
+HSPLjava/io/ObjectOutputStream$HandleTable;->growEntries()V
+HSPLjava/io/ObjectOutputStream$HandleTable;->hash(Ljava/lang/Object;)I
+HSPLjava/io/ObjectOutputStream$HandleTable;->insert(Ljava/lang/Object;I)V
HSPLjava/io/ObjectOutputStream$HandleTable;->lookup(Ljava/lang/Object;)I
+HSPLjava/io/ObjectOutputStream$ReplaceTable;-><init>(IF)V
HSPLjava/io/ObjectOutputStream$ReplaceTable;->lookup(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/io/ObjectOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLjava/io/ObjectOutputStream;->annotateClass(Ljava/lang/Class;)V
@@ -26034,15 +9984,17 @@ HSPLjava/io/ObjectOutputStream;->close()V
HSPLjava/io/ObjectOutputStream;->defaultWriteFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
HSPLjava/io/ObjectOutputStream;->defaultWriteObject()V
HSPLjava/io/ObjectOutputStream;->flush()V
+HSPLjava/io/ObjectOutputStream;->isCustomSubclass()Z
HSPLjava/io/ObjectOutputStream;->verifySubclass()V
HSPLjava/io/ObjectOutputStream;->writeArray(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
HSPLjava/io/ObjectOutputStream;->writeByte(I)V
HSPLjava/io/ObjectOutputStream;->writeClassDesc(Ljava/io/ObjectStreamClass;Z)V
HSPLjava/io/ObjectOutputStream;->writeClassDescriptor(Ljava/io/ObjectStreamClass;)V
-HSPLjava/io/ObjectOutputStream;->writeEnum(Ljava/lang/Enum;Ljava/io/ObjectStreamClass;Z)V
+HSPLjava/io/ObjectOutputStream;->writeHandle(I)V
HSPLjava/io/ObjectOutputStream;->writeInt(I)V
HSPLjava/io/ObjectOutputStream;->writeLong(J)V
HSPLjava/io/ObjectOutputStream;->writeNonProxyDesc(Ljava/io/ObjectStreamClass;Z)V
+HSPLjava/io/ObjectOutputStream;->writeNull()V
HSPLjava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
HSPLjava/io/ObjectOutputStream;->writeObject0(Ljava/lang/Object;Z)V
HSPLjava/io/ObjectOutputStream;->writeOrdinaryObject(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
@@ -26052,12 +10004,22 @@ HSPLjava/io/ObjectOutputStream;->writeStreamHeader()V
HSPLjava/io/ObjectOutputStream;->writeString(Ljava/lang/String;Z)V
HSPLjava/io/ObjectOutputStream;->writeTypeString(Ljava/lang/String;)V
HSPLjava/io/ObjectOutputStream;->writeUTF(Ljava/lang/String;)V
+HSPLjava/io/ObjectStreamClass$1;-><init>(Ljava/io/ObjectStreamClass;)V
+HSPLjava/io/ObjectStreamClass$1;->run()Ljava/lang/Long;
+HSPLjava/io/ObjectStreamClass$1;->run()Ljava/lang/Object;
+HSPLjava/io/ObjectStreamClass$2;-><init>(Ljava/io/ObjectStreamClass;Ljava/lang/Class;)V
+HSPLjava/io/ObjectStreamClass$2;->run()Ljava/lang/Object;
HSPLjava/io/ObjectStreamClass$2;->run()Ljava/lang/Void;
-HSPLjava/io/ObjectStreamClass$3;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
-HSPLjava/io/ObjectStreamClass$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/io/ObjectStreamClass$EntryFuture;->get()Ljava/lang/Object;
-HSPLjava/io/ObjectStreamClass$EntryFuture;->getOwner()Ljava/lang/Thread;
+HSPLjava/io/ObjectStreamClass$3;-><init>()V
+HSPLjava/io/ObjectStreamClass$4;-><init>()V
+HSPLjava/io/ObjectStreamClass$5;-><init>()V
+HSPLjava/io/ObjectStreamClass$Caches;->access$200()Ljava/lang/ref/ReferenceQueue;
+HSPLjava/io/ObjectStreamClass$Caches;->access$2600()Ljava/lang/ref/ReferenceQueue;
+HSPLjava/io/ObjectStreamClass$ClassDataSlot;-><init>(Ljava/io/ObjectStreamClass;Z)V
+HSPLjava/io/ObjectStreamClass$EntryFuture;-><init>()V
+HSPLjava/io/ObjectStreamClass$EntryFuture;-><init>(Ljava/io/ObjectStreamClass$1;)V
HSPLjava/io/ObjectStreamClass$EntryFuture;->set(Ljava/lang/Object;)Z
+HSPLjava/io/ObjectStreamClass$ExceptionInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/io/ObjectStreamClass$FieldReflector;-><init>([Ljava/io/ObjectStreamField;)V
HSPLjava/io/ObjectStreamClass$FieldReflector;->getFields()[Ljava/io/ObjectStreamField;
HSPLjava/io/ObjectStreamClass$FieldReflector;->getObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
@@ -26067,13 +10029,37 @@ HSPLjava/io/ObjectStreamClass$FieldReflector;->setPrimFieldValues(Ljava/lang/Obj
HSPLjava/io/ObjectStreamClass$FieldReflectorKey;-><init>(Ljava/lang/Class;[Ljava/io/ObjectStreamField;Ljava/lang/ref/ReferenceQueue;)V
HSPLjava/io/ObjectStreamClass$FieldReflectorKey;->equals(Ljava/lang/Object;)Z
HSPLjava/io/ObjectStreamClass$FieldReflectorKey;->hashCode()I
-HSPLjava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Field;)V
+HSPLjava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Constructor;)V
+HSPLjava/io/ObjectStreamClass$WeakClassKey;-><init>(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
HSPLjava/io/ObjectStreamClass$WeakClassKey;->equals(Ljava/lang/Object;)Z
HSPLjava/io/ObjectStreamClass$WeakClassKey;->hashCode()I
+HSPLjava/io/ObjectStreamClass;-><init>()V
HSPLjava/io/ObjectStreamClass;-><init>(Ljava/lang/Class;)V
+HSPLjava/io/ObjectStreamClass;->access$000(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
+HSPLjava/io/ObjectStreamClass;->access$100(Ljava/lang/Class;)J
+HSPLjava/io/ObjectStreamClass;->access$1200(Ljava/io/ObjectStreamClass;)Z
+HSPLjava/io/ObjectStreamClass;->access$1302(Ljava/io/ObjectStreamClass;Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
+HSPLjava/io/ObjectStreamClass;->access$1500(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
+HSPLjava/io/ObjectStreamClass;->access$1600(Ljava/io/ObjectStreamClass;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$1602(Ljava/io/ObjectStreamClass;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$1700(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$1802(Ljava/io/ObjectStreamClass;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$1902(Ljava/io/ObjectStreamClass;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$2002(Ljava/io/ObjectStreamClass;Z)Z
+HSPLjava/io/ObjectStreamClass;->access$2102(Ljava/io/ObjectStreamClass;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$2200(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$2302(Ljava/io/ObjectStreamClass;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
+HSPLjava/io/ObjectStreamClass;->access$2500([Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/String;
+HSPLjava/io/ObjectStreamClass;->access$400(Ljava/io/ObjectStreamClass;)Z
+HSPLjava/io/ObjectStreamClass;->access$502(Ljava/io/ObjectStreamClass;Ljava/lang/Long;)Ljava/lang/Long;
+HSPLjava/io/ObjectStreamClass;->access$602(Ljava/io/ObjectStreamClass;[Ljava/io/ObjectStreamField;)[Ljava/io/ObjectStreamField;
+HSPLjava/io/ObjectStreamClass;->access$700(Ljava/lang/Class;)Ljava/lang/Long;
+HSPLjava/io/ObjectStreamClass;->access$800(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
+HSPLjava/io/ObjectStreamClass;->access$900(Ljava/io/ObjectStreamClass;)V
HSPLjava/io/ObjectStreamClass;->checkDefaultSerialize()V
HSPLjava/io/ObjectStreamClass;->checkDeserialize()V
HSPLjava/io/ObjectStreamClass;->checkSerialize()V
+HSPLjava/io/ObjectStreamClass;->classNamesEqual(Ljava/lang/String;Ljava/lang/String;)Z
HSPLjava/io/ObjectStreamClass;->computeDefaultSUID(Ljava/lang/Class;)J
HSPLjava/io/ObjectStreamClass;->computeFieldOffsets()V
HSPLjava/io/ObjectStreamClass;->forClass()Ljava/lang/Class;
@@ -26098,6 +10084,7 @@ HSPLjava/io/ObjectStreamClass;->getSerialFields(Ljava/lang/Class;)[Ljava/io/Obje
HSPLjava/io/ObjectStreamClass;->getSerialVersionUID()J
HSPLjava/io/ObjectStreamClass;->getSerializableConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
HSPLjava/io/ObjectStreamClass;->getSuperDesc()Ljava/io/ObjectStreamClass;
+HSPLjava/io/ObjectStreamClass;->getVariantFor(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
HSPLjava/io/ObjectStreamClass;->hasReadObjectMethod()Z
HSPLjava/io/ObjectStreamClass;->hasReadResolveMethod()Z
HSPLjava/io/ObjectStreamClass;->hasWriteObjectData()Z
@@ -26105,7 +10092,6 @@ HSPLjava/io/ObjectStreamClass;->hasWriteObjectMethod()Z
HSPLjava/io/ObjectStreamClass;->hasWriteReplaceMethod()Z
HSPLjava/io/ObjectStreamClass;->initNonProxy(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
HSPLjava/io/ObjectStreamClass;->invokeReadObject(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
-HSPLjava/io/ObjectStreamClass;->invokeReadResolve(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/io/ObjectStreamClass;->invokeWriteObject(Ljava/lang/Object;Ljava/io/ObjectOutputStream;)V
HSPLjava/io/ObjectStreamClass;->isExternalizable()Z
HSPLjava/io/ObjectStreamClass;->isInstantiable()Z
@@ -26113,7 +10099,9 @@ HSPLjava/io/ObjectStreamClass;->isProxy()Z
HSPLjava/io/ObjectStreamClass;->lookup(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
HSPLjava/io/ObjectStreamClass;->matchFields([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)[Ljava/io/ObjectStreamField;
HSPLjava/io/ObjectStreamClass;->newInstance()Ljava/lang/Object;
+HSPLjava/io/ObjectStreamClass;->processQueue(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
HSPLjava/io/ObjectStreamClass;->readNonProxy(Ljava/io/ObjectInputStream;)V
+HSPLjava/io/ObjectStreamClass;->requireInitialized()V
HSPLjava/io/ObjectStreamClass;->setObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
HSPLjava/io/ObjectStreamClass;->setPrimFieldValues(Ljava/lang/Object;[B)V
HSPLjava/io/ObjectStreamClass;->writeNonProxy(Ljava/io/ObjectOutputStream;)V
@@ -26141,61 +10129,45 @@ HSPLjava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/lang/String;
HSPLjava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
HSPLjava/io/OutputStreamWriter;->close()V
HSPLjava/io/OutputStreamWriter;->flush()V
+HSPLjava/io/OutputStreamWriter;->write(I)V
HSPLjava/io/OutputStreamWriter;->write(Ljava/lang/String;II)V
HSPLjava/io/OutputStreamWriter;->write([CII)V
HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;)V
+HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;Z)V
+HSPLjava/io/PrintStream;-><init>(ZLjava/io/OutputStream;)V
HSPLjava/io/PrintStream;->close()V
-HSPLjava/io/PrintWriter;-><init>(Ljava/io/File;)V
-HSPLjava/io/PrintWriter;-><init>(Ljava/io/OutputStream;)V
+HSPLjava/io/PrintStream;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
HSPLjava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
HSPLjava/io/PrintWriter;-><init>(Ljava/io/Writer;Z)V
-HSPLjava/io/PrintWriter;->append(C)Ljava/io/PrintWriter;
-HSPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
-HSPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;
HSPLjava/io/PrintWriter;->close()V
HSPLjava/io/PrintWriter;->ensureOpen()V
HSPLjava/io/PrintWriter;->flush()V
-HSPLjava/io/PrintWriter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
HSPLjava/io/PrintWriter;->newLine()V
-HPLjava/io/PrintWriter;->print(D)V
-HPLjava/io/PrintWriter;->print(F)V
-HSPLjava/io/PrintWriter;->print(I)V
-HSPLjava/io/PrintWriter;->print(J)V
-HSPLjava/io/PrintWriter;->print(Ljava/lang/Object;)V
HSPLjava/io/PrintWriter;->print(Ljava/lang/String;)V
-HSPLjava/io/PrintWriter;->print(Z)V
-HSPLjava/io/PrintWriter;->printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
HSPLjava/io/PrintWriter;->println()V
-HPLjava/io/PrintWriter;->println(F)V
-HSPLjava/io/PrintWriter;->println(I)V
-HSPLjava/io/PrintWriter;->println(J)V
HSPLjava/io/PrintWriter;->println(Ljava/lang/Object;)V
HSPLjava/io/PrintWriter;->println(Ljava/lang/String;)V
-HSPLjava/io/PrintWriter;->println(Z)V
-HSPLjava/io/PrintWriter;->write(I)V
HSPLjava/io/PrintWriter;->write(Ljava/lang/String;)V
HSPLjava/io/PrintWriter;->write(Ljava/lang/String;II)V
HSPLjava/io/PrintWriter;->write([CII)V
HSPLjava/io/PushbackInputStream;-><init>(Ljava/io/InputStream;I)V
+HSPLjava/io/PushbackInputStream;->close()V
+HSPLjava/io/PushbackInputStream;->ensureOpen()V
HSPLjava/io/PushbackInputStream;->read()I
HSPLjava/io/PushbackInputStream;->read([BII)I
HSPLjava/io/PushbackInputStream;->unread([BII)V
-HSPLjava/io/PushbackReader;-><init>(Ljava/io/Reader;I)V
-HSPLjava/io/PushbackReader;->ensureOpen()V
-HSPLjava/io/PushbackReader;->read()I
-HSPLjava/io/PushbackReader;->unread(I)V
HSPLjava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
HSPLjava/io/RandomAccessFile;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/io/RandomAccessFile;->close()V
HSPLjava/io/RandomAccessFile;->finalize()V
HSPLjava/io/RandomAccessFile;->getChannel()Ljava/nio/channels/FileChannel;
-HSPLjava/io/RandomAccessFile;->getFD()Ljava/io/FileDescriptor;
HSPLjava/io/RandomAccessFile;->getFilePointer()J
HSPLjava/io/RandomAccessFile;->length()J
HSPLjava/io/RandomAccessFile;->maybeSync()V
HSPLjava/io/RandomAccessFile;->read()I
HSPLjava/io/RandomAccessFile;->read([B)I
HSPLjava/io/RandomAccessFile;->read([BII)I
+HSPLjava/io/RandomAccessFile;->readBytes([BII)I
HSPLjava/io/RandomAccessFile;->readFully([B)V
HSPLjava/io/RandomAccessFile;->readFully([BII)V
HSPLjava/io/RandomAccessFile;->readInt()I
@@ -26203,15 +10175,21 @@ HSPLjava/io/RandomAccessFile;->seek(J)V
HSPLjava/io/RandomAccessFile;->setLength(J)V
HSPLjava/io/RandomAccessFile;->write([B)V
HSPLjava/io/RandomAccessFile;->write([BII)V
-HSPLjava/io/RandomAccessFile;->writeUTF(Ljava/lang/String;)V
+HSPLjava/io/RandomAccessFile;->writeBytes([BII)V
+HSPLjava/io/Reader;-><init>()V
+HSPLjava/io/Reader;-><init>(Ljava/lang/Object;)V
HSPLjava/io/Reader;->read(Ljava/nio/CharBuffer;)I
HSPLjava/io/Reader;->read([C)I
HSPLjava/io/SequenceInputStream;-><init>(Ljava/io/InputStream;Ljava/io/InputStream;)V
HSPLjava/io/SequenceInputStream;->nextStream()V
HSPLjava/io/SequenceInputStream;->read()I
+HSPLjava/io/SerialCallbackContext;-><init>(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
HSPLjava/io/SerialCallbackContext;->check()V
+HSPLjava/io/SerialCallbackContext;->checkAndSetUsed()V
+HSPLjava/io/SerialCallbackContext;->getDesc()Ljava/io/ObjectStreamClass;
+HSPLjava/io/SerialCallbackContext;->getObj()Ljava/lang/Object;
+HSPLjava/io/SerialCallbackContext;->setUsed()V
HSPLjava/io/StringReader;-><init>(Ljava/lang/String;)V
-HSPLjava/io/StringReader;->close()V
HSPLjava/io/StringReader;->ensureOpen()V
HSPLjava/io/StringReader;->read()I
HSPLjava/io/StringReader;->read([CII)I
@@ -26225,7 +10203,6 @@ HSPLjava/io/StringWriter;->write(I)V
HSPLjava/io/StringWriter;->write(Ljava/lang/String;)V
HSPLjava/io/StringWriter;->write(Ljava/lang/String;II)V
HSPLjava/io/StringWriter;->write([CII)V
-HSPLjava/io/UnixFileSystem;-><init>()V
HSPLjava/io/UnixFileSystem;->canonicalize(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/io/UnixFileSystem;->checkAccess(Ljava/io/File;I)Z
HSPLjava/io/UnixFileSystem;->compare(Ljava/io/File;Ljava/io/File;)I
@@ -26235,8 +10212,6 @@ HSPLjava/io/UnixFileSystem;->delete(Ljava/io/File;)Z
HSPLjava/io/UnixFileSystem;->getBooleanAttributes(Ljava/io/File;)I
HSPLjava/io/UnixFileSystem;->getLastModifiedTime(Ljava/io/File;)J
HSPLjava/io/UnixFileSystem;->getLength(Ljava/io/File;)J
-HSPLjava/io/UnixFileSystem;->getPathSeparator()C
-HSPLjava/io/UnixFileSystem;->getSeparator()C
HSPLjava/io/UnixFileSystem;->getSpace(Ljava/io/File;I)J
HSPLjava/io/UnixFileSystem;->hashCode(Ljava/io/File;)I
HSPLjava/io/UnixFileSystem;->isAbsolute(Ljava/io/File;)Z
@@ -26247,11 +10222,16 @@ HSPLjava/io/UnixFileSystem;->rename(Ljava/io/File;Ljava/io/File;)Z
HSPLjava/io/UnixFileSystem;->resolve(Ljava/io/File;)Ljava/lang/String;
HSPLjava/io/UnixFileSystem;->resolve(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/io/UnixFileSystem;->setLastModifiedTime(Ljava/io/File;J)Z
+HSPLjava/io/UnixFileSystem;->setPermission(Ljava/io/File;IZZ)Z
+HSPLjava/io/Writer;-><init>()V
+HSPLjava/io/Writer;-><init>(Ljava/lang/Object;)V
HSPLjava/io/Writer;->append(C)Ljava/io/Writer;
HSPLjava/io/Writer;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
HSPLjava/io/Writer;->write(Ljava/lang/String;)V
HSPLjava/lang/AbstractStringBuilder;-><init>(I)V
HSPLjava/lang/AbstractStringBuilder;->append(C)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->append(D)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->append(F)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->append(I)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->append(J)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/AbstractStringBuilder;
@@ -26263,18 +10243,31 @@ HSPLjava/lang/AbstractStringBuilder;->append(Z)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->append([CII)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->appendCodePoint(I)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->appendNull()Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->charAt(I)C
HSPLjava/lang/AbstractStringBuilder;->codePointAt(I)I
HSPLjava/lang/AbstractStringBuilder;->delete(II)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->deleteCharAt(I)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->ensureCapacity(I)V
HSPLjava/lang/AbstractStringBuilder;->ensureCapacityInternal(I)V
HSPLjava/lang/AbstractStringBuilder;->getChars(II[CI)V
+HSPLjava/lang/AbstractStringBuilder;->indexOf(Ljava/lang/String;)I
+HSPLjava/lang/AbstractStringBuilder;->indexOf(Ljava/lang/String;I)I
+HSPLjava/lang/AbstractStringBuilder;->insert(IC)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/AbstractStringBuilder;->insert(ILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->lastIndexOf(Ljava/lang/String;I)I
+HSPLjava/lang/AbstractStringBuilder;->length()I
HSPLjava/lang/AbstractStringBuilder;->newCapacity(I)I
HSPLjava/lang/AbstractStringBuilder;->replace(IILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/AbstractStringBuilder;->setCharAt(IC)V
HSPLjava/lang/AbstractStringBuilder;->setLength(I)V
+PLjava/lang/AbstractStringBuilder;->subSequence(II)Ljava/lang/CharSequence;
+HSPLjava/lang/AbstractStringBuilder;->substring(I)Ljava/lang/String;
HSPLjava/lang/AbstractStringBuilder;->substring(II)Ljava/lang/String;
-HSPLjava/lang/ArrayIndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/Boolean;-><init>(Z)V
HSPLjava/lang/Boolean;->booleanValue()Z
HSPLjava/lang/Boolean;->compare(ZZ)I
+HSPLjava/lang/Boolean;->compareTo(Ljava/lang/Boolean;)I
+HSPLjava/lang/Boolean;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Boolean;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/Boolean;->getBoolean(Ljava/lang/String;)Z
HSPLjava/lang/Boolean;->hashCode()I
@@ -26288,55 +10281,52 @@ HSPLjava/lang/BootClassLoader;->findClass(Ljava/lang/String;)Ljava/lang/Class;
HSPLjava/lang/BootClassLoader;->findResource(Ljava/lang/String;)Ljava/net/URL;
HSPLjava/lang/BootClassLoader;->findResources(Ljava/lang/String;)Ljava/util/Enumeration;
HSPLjava/lang/BootClassLoader;->getInstance()Ljava/lang/BootClassLoader;
-HSPLjava/lang/BootClassLoader;->getPackage(Ljava/lang/String;)Ljava/lang/Package;
HSPLjava/lang/BootClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL;
HSPLjava/lang/BootClassLoader;->getResources(Ljava/lang/String;)Ljava/util/Enumeration;
HSPLjava/lang/BootClassLoader;->loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
HSPLjava/lang/Byte;-><init>(B)V
HSPLjava/lang/Byte;->byteValue()B
-HSPLjava/lang/Byte;->hashCode()I
+HSPLjava/lang/Byte;->compare(BB)I
HSPLjava/lang/Byte;->toString()Ljava/lang/String;
HSPLjava/lang/Byte;->toUnsignedInt(B)I
HSPLjava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
HSPLjava/lang/CaseMapper;->toLowerCase(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/lang/CaseMapper;->toUpperCase(Ljava/util/Locale;Ljava/lang/String;I)Ljava/lang/String;
HSPLjava/lang/CaseMapper;->upperIndex(I)I
-HSPLjava/lang/Character$Subset;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/Character$Subset;->hashCode()I
+HSPLjava/lang/Character;-><init>(C)V
HSPLjava/lang/Character;->charCount(I)I
HSPLjava/lang/Character;->charValue()C
HSPLjava/lang/Character;->codePointAt(Ljava/lang/CharSequence;I)I
+HSPLjava/lang/Character;->codePointAtImpl([CII)I
HSPLjava/lang/Character;->codePointBefore(Ljava/lang/CharSequence;I)I
HSPLjava/lang/Character;->codePointCount(Ljava/lang/CharSequence;II)I
-HSPLjava/lang/Character;->codePointCountImpl([CII)I
-HSPLjava/lang/Character;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Character;->digit(CI)I
HSPLjava/lang/Character;->digit(II)I
HSPLjava/lang/Character;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/Character;->forDigit(II)C
HSPLjava/lang/Character;->getDirectionality(C)B
HSPLjava/lang/Character;->getDirectionality(I)B
-HSPLjava/lang/Character;->getNumericValue(C)I
HSPLjava/lang/Character;->getNumericValue(I)I
HSPLjava/lang/Character;->getType(I)I
HSPLjava/lang/Character;->hashCode()I
-HSPLjava/lang/Character;->isAlphabetic(I)Z
+HSPLjava/lang/Character;->hashCode(C)I
+HSPLjava/lang/Character;->isBmpCodePoint(I)Z
HSPLjava/lang/Character;->isDigit(C)Z
HSPLjava/lang/Character;->isDigit(I)Z
HSPLjava/lang/Character;->isHighSurrogate(C)Z
+HSPLjava/lang/Character;->isJavaIdentifierPart(C)Z
+HSPLjava/lang/Character;->isJavaIdentifierPart(I)Z
HSPLjava/lang/Character;->isLetter(C)Z
HSPLjava/lang/Character;->isLetter(I)Z
HSPLjava/lang/Character;->isLetterOrDigit(C)Z
HSPLjava/lang/Character;->isLetterOrDigit(I)Z
HSPLjava/lang/Character;->isLowSurrogate(C)Z
-HSPLjava/lang/Character;->isSupplementaryCodePoint(I)Z
+HSPLjava/lang/Character;->isSpaceChar(I)Z
HSPLjava/lang/Character;->isUpperCase(C)Z
HSPLjava/lang/Character;->isUpperCase(I)Z
HSPLjava/lang/Character;->isValidCodePoint(I)Z
HSPLjava/lang/Character;->isWhitespace(C)Z
HSPLjava/lang/Character;->isWhitespace(I)Z
-HSPLjava/lang/Character;->offsetByCodePointsImpl([CIIII)I
-HSPLjava/lang/Character;->toChars(I)[C
HSPLjava/lang/Character;->toChars(I[CI)I
HSPLjava/lang/Character;->toCodePoint(CC)I
HSPLjava/lang/Character;->toLowerCase(C)C
@@ -26344,12 +10334,17 @@ HSPLjava/lang/Character;->toLowerCase(I)I
HSPLjava/lang/Character;->toString()Ljava/lang/String;
HSPLjava/lang/Character;->toString(C)Ljava/lang/String;
HSPLjava/lang/Character;->toUpperCase(C)C
+HSPLjava/lang/Character;->toUpperCase(I)I
HSPLjava/lang/Character;->valueOf(C)Ljava/lang/Character;
+HSPLjava/lang/Class$Caches;->access$000()Llibcore/util/BasicLruCache;
HSPLjava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
HSPLjava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/lang/Class;->classNameImpliesTopLevel()Z
+HSPLjava/lang/Class;->desiredAssertionStatus()Z
HSPLjava/lang/Class;->findInterfaceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
HSPLjava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
HSPLjava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
+HSPLjava/lang/Class;->getAccessFlags()I
HSPLjava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
HSPLjava/lang/Class;->getCanonicalName()Ljava/lang/String;
HSPLjava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
@@ -26358,11 +10353,16 @@ HSPLjava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Const
HSPLjava/lang/Class;->getConstructor0([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
HSPLjava/lang/Class;->getConstructors()[Ljava/lang/reflect/Constructor;
HSPLjava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
+HSPLjava/lang/Class;->getDeclaredConstructors()[Ljava/lang/reflect/Constructor;
HSPLjava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
HSPLjava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
+HSPLjava/lang/Class;->getEnclosingConstructor()Ljava/lang/reflect/Constructor;
+HSPLjava/lang/Class;->getEnclosingMethod()Ljava/lang/reflect/Method;
HSPLjava/lang/Class;->getEnumConstants()[Ljava/lang/Object;
+HSPLjava/lang/Class;->getEnumConstantsShared()[Ljava/lang/Object;
HSPLjava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
HSPLjava/lang/Class;->getFields()[Ljava/lang/reflect/Field;
+HSPLjava/lang/Class;->getGenericInterfaces()[Ljava/lang/reflect/Type;
HSPLjava/lang/Class;->getGenericSuperclass()Ljava/lang/reflect/Type;
HSPLjava/lang/Class;->getInterfaces()[Ljava/lang/Class;
HSPLjava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
@@ -26371,12 +10371,14 @@ HSPLjava/lang/Class;->getMethods()[Ljava/lang/reflect/Method;
HSPLjava/lang/Class;->getModifiers()I
HSPLjava/lang/Class;->getName()Ljava/lang/String;
HSPLjava/lang/Class;->getPackage()Ljava/lang/Package;
+HSPLjava/lang/Class;->getPackageName$()Ljava/lang/String;
HSPLjava/lang/Class;->getPublicFieldsRecursive(Ljava/util/List;)V
+HSPLjava/lang/Class;->getPublicMethodRecursive(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
HSPLjava/lang/Class;->getPublicMethodsInternal(Ljava/util/List;)V
HSPLjava/lang/Class;->getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;
+HSPLjava/lang/Class;->getSignatureAttribute()Ljava/lang/String;
HSPLjava/lang/Class;->getSimpleName()Ljava/lang/String;
HSPLjava/lang/Class;->getSuperclass()Ljava/lang/Class;
-HSPLjava/lang/Class;->getTypeName()Ljava/lang/String;
HSPLjava/lang/Class;->getTypeParameters()[Ljava/lang/reflect/TypeVariable;
HSPLjava/lang/Class;->isAnnotation()Z
HSPLjava/lang/Class;->isAnnotationPresent(Ljava/lang/Class;)Z
@@ -26386,6 +10388,7 @@ HSPLjava/lang/Class;->isEnum()Z
HSPLjava/lang/Class;->isInstance(Ljava/lang/Object;)Z
HSPLjava/lang/Class;->isInterface()Z
HSPLjava/lang/Class;->isLocalClass()Z
+HSPLjava/lang/Class;->isLocalOrAnonymousClass()Z
HSPLjava/lang/Class;->isMemberClass()Z
HSPLjava/lang/Class;->isPrimitive()Z
HSPLjava/lang/Class;->resolveName(Ljava/lang/String;)Ljava/lang/String;
@@ -26393,9 +10396,11 @@ HSPLjava/lang/Class;->toString()Ljava/lang/String;
HSPLjava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/ClassLoader;-><init>()V
HSPLjava/lang/ClassLoader;-><init>(Ljava/lang/ClassLoader;)V
-HSPLjava/lang/ClassLoader;->access$000()Ljava/lang/ClassLoader;
+HSPLjava/lang/ClassLoader;-><init>(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
+HSPLjava/lang/ClassLoader;->checkCreateClassLoader()Ljava/lang/Void;
HSPLjava/lang/ClassLoader;->definePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
HSPLjava/lang/ClassLoader;->findLoadedClass(Ljava/lang/String;)Ljava/lang/Class;
+HSPLjava/lang/ClassLoader;->getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader;
HSPLjava/lang/ClassLoader;->getPackage(Ljava/lang/String;)Ljava/lang/Package;
HSPLjava/lang/ClassLoader;->getParent()Ljava/lang/ClassLoader;
HSPLjava/lang/ClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL;
@@ -26410,32 +10415,36 @@ HSPLjava/lang/ClassNotFoundException;->getCause()Ljava/lang/Throwable;
HSPLjava/lang/Daemons$Daemon;->interrupt(Ljava/lang/Thread;)V
HSPLjava/lang/Daemons$Daemon;->isRunning()Z
HSPLjava/lang/Daemons$Daemon;->run()V
-HSPLjava/lang/Daemons$Daemon;->start()V
HSPLjava/lang/Daemons$Daemon;->startInternal()V
HSPLjava/lang/Daemons$Daemon;->startPostZygoteFork()V
HSPLjava/lang/Daemons$Daemon;->stop()V
+HSPLjava/lang/Daemons$FinalizerDaemon;->access$200()Ljava/lang/Daemons$FinalizerDaemon;
+HSPLjava/lang/Daemons$FinalizerDaemon;->access$900(Ljava/lang/Daemons$FinalizerDaemon;)Ljava/util/concurrent/atomic/AtomicInteger;
HSPLjava/lang/Daemons$FinalizerDaemon;->doFinalize(Ljava/lang/ref/FinalizerReference;)V
HSPLjava/lang/Daemons$FinalizerDaemon;->runInternal()V
+HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->access$300()Ljava/lang/Daemons$FinalizerWatchdogDaemon;
+HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->access$600(Ljava/lang/Daemons$FinalizerWatchdogDaemon;)V
+HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->access$700(Ljava/lang/Daemons$FinalizerWatchdogDaemon;)V
HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->getNeedToWork()Z
HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->goToSleep()V
HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->runInternal()V
-HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->sleepFor(J)Z
+HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->sleepForMillis(J)Z
HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->sleepUntilNeeded()Z
HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->waitForFinalization()Ljava/lang/Object;
HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->wakeUp()V
HSPLjava/lang/Daemons$HeapTaskDaemon;->interrupt(Ljava/lang/Thread;)V
HSPLjava/lang/Daemons$HeapTaskDaemon;->runInternal()V
HSPLjava/lang/Daemons$ReferenceQueueDaemon;->runInternal()V
-HSPLjava/lang/Daemons;->start()V
+HSPLjava/lang/Daemons;->access$400()Ljava/util/concurrent/CountDownLatch;
+HSPLjava/lang/Daemons;->startPostZygoteFork()V
+HSPLjava/lang/Daemons;->stop()V
+HSPLjava/lang/Double;-><init>(D)V
HSPLjava/lang/Double;->compare(DD)I
-HSPLjava/lang/Double;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Double;->doubleToLongBits(D)J
HSPLjava/lang/Double;->doubleValue()D
-HSPLjava/lang/Double;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/Double;->hashCode()I
+HSPLjava/lang/Double;->floatValue()F
HSPLjava/lang/Double;->isInfinite(D)Z
HSPLjava/lang/Double;->isNaN(D)Z
-HSPLjava/lang/Double;->longValue()J
HSPLjava/lang/Double;->parseDouble(Ljava/lang/String;)D
HSPLjava/lang/Double;->toString()Ljava/lang/String;
HSPLjava/lang/Double;->toString(D)Ljava/lang/String;
@@ -26444,31 +10453,31 @@ HSPLjava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;
HSPLjava/lang/Enum$1;->create(Ljava/lang/Class;)[Ljava/lang/Object;
HSPLjava/lang/Enum$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/lang/Enum;-><init>(Ljava/lang/String;I)V
+HSPLjava/lang/Enum;->access$000(Ljava/lang/Class;)[Ljava/lang/Object;
HSPLjava/lang/Enum;->compareTo(Ljava/lang/Enum;)I
HSPLjava/lang/Enum;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Enum;->enumValues(Ljava/lang/Class;)[Ljava/lang/Object;
HSPLjava/lang/Enum;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/Enum;->getDeclaringClass()Ljava/lang/Class;
+HSPLjava/lang/Enum;->getSharedConstants(Ljava/lang/Class;)[Ljava/lang/Enum;
HSPLjava/lang/Enum;->hashCode()I
HSPLjava/lang/Enum;->name()Ljava/lang/String;
HSPLjava/lang/Enum;->ordinal()I
HSPLjava/lang/Enum;->toString()Ljava/lang/String;
HSPLjava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
+HSPLjava/lang/Error;-><init>(Ljava/lang/String;)V
HSPLjava/lang/Exception;-><init>()V
HSPLjava/lang/Exception;-><init>(Ljava/lang/String;)V
HSPLjava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
HSPLjava/lang/Exception;-><init>(Ljava/lang/Throwable;)V
HSPLjava/lang/Float;-><init>(F)V
-HSPLjava/lang/Float;-><init>(Ljava/lang/String;)V
HSPLjava/lang/Float;->compare(FF)I
-HSPLjava/lang/Float;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Float;->doubleValue()D
HSPLjava/lang/Float;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/Float;->floatToIntBits(F)I
HSPLjava/lang/Float;->floatValue()F
HSPLjava/lang/Float;->hashCode()I
-HSPLjava/lang/Float;->isFinite(F)Z
+HSPLjava/lang/Float;->hashCode(F)I
HSPLjava/lang/Float;->isInfinite(F)Z
HSPLjava/lang/Float;->isNaN(F)Z
HSPLjava/lang/Float;->parseFloat(Ljava/lang/String;)F
@@ -26476,13 +10485,10 @@ HSPLjava/lang/Float;->toString()Ljava/lang/String;
HSPLjava/lang/Float;->toString(F)Ljava/lang/String;
HSPLjava/lang/Float;->valueOf(F)Ljava/lang/Float;
HSPLjava/lang/IllegalAccessException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/IllegalArgumentException;-><init>()V
HSPLjava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/IllegalStateException;-><init>()V
HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HPLjava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
-HSPLjava/lang/InheritableThreadLocal;-><init>()V
+HSPLjava/lang/IncompatibleClassChangeError;-><init>(Ljava/lang/String;)V
HSPLjava/lang/InheritableThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
HSPLjava/lang/InheritableThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
HSPLjava/lang/Integer;-><init>(I)V
@@ -26493,10 +10499,12 @@ HSPLjava/lang/Integer;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Integer;->decode(Ljava/lang/String;)Ljava/lang/Integer;
HSPLjava/lang/Integer;->doubleValue()D
HSPLjava/lang/Integer;->equals(Ljava/lang/Object;)Z
+HSPLjava/lang/Integer;->formatUnsignedInt(II[CII)I
HSPLjava/lang/Integer;->getChars(II[C)V
HSPLjava/lang/Integer;->getInteger(Ljava/lang/String;I)Ljava/lang/Integer;
HSPLjava/lang/Integer;->getInteger(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
HSPLjava/lang/Integer;->hashCode()I
+HSPLjava/lang/Integer;->hashCode(I)I
HSPLjava/lang/Integer;->highestOneBit(I)I
HSPLjava/lang/Integer;->intValue()I
HSPLjava/lang/Integer;->longValue()J
@@ -26511,18 +10519,18 @@ HSPLjava/lang/Integer;->reverse(I)I
HSPLjava/lang/Integer;->reverseBytes(I)I
HSPLjava/lang/Integer;->rotateLeft(II)I
HSPLjava/lang/Integer;->rotateRight(II)I
-HSPLjava/lang/Integer;->shortValue()S
HSPLjava/lang/Integer;->signum(I)I
+HSPLjava/lang/Integer;->stringSize(I)I
HSPLjava/lang/Integer;->toBinaryString(I)Ljava/lang/String;
HSPLjava/lang/Integer;->toHexString(I)Ljava/lang/String;
HSPLjava/lang/Integer;->toString()Ljava/lang/String;
HSPLjava/lang/Integer;->toString(I)Ljava/lang/String;
-HSPLjava/lang/Integer;->toString(II)Ljava/lang/String;
+HSPLjava/lang/Integer;->toUnsignedString0(II)Ljava/lang/String;
HSPLjava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
HSPLjava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
HSPLjava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer;
HSPLjava/lang/InterruptedException;-><init>()V
-HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
+HSPLjava/lang/LinkageError;-><init>(Ljava/lang/String;)V
HSPLjava/lang/Long;-><init>(J)V
HSPLjava/lang/Long;->bitCount(J)I
HSPLjava/lang/Long;->compare(JJ)I
@@ -26537,34 +10545,37 @@ HSPLjava/lang/Long;->getChars(JI[C)V
HSPLjava/lang/Long;->getLong(Ljava/lang/String;J)Ljava/lang/Long;
HSPLjava/lang/Long;->getLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
HSPLjava/lang/Long;->hashCode()I
+HSPLjava/lang/Long;->hashCode(J)I
HSPLjava/lang/Long;->highestOneBit(J)J
HSPLjava/lang/Long;->intValue()I
HSPLjava/lang/Long;->longValue()J
HSPLjava/lang/Long;->lowestOneBit(J)J
-HSPLjava/lang/Long;->max(JJ)J
HSPLjava/lang/Long;->numberOfLeadingZeros(J)I
HSPLjava/lang/Long;->numberOfTrailingZeros(J)I
HSPLjava/lang/Long;->parseLong(Ljava/lang/String;)J
HSPLjava/lang/Long;->parseLong(Ljava/lang/String;I)J
-HSPLjava/lang/Long;->parseUnsignedLong(Ljava/lang/String;I)J
HSPLjava/lang/Long;->reverse(J)J
HSPLjava/lang/Long;->reverseBytes(J)J
HSPLjava/lang/Long;->rotateLeft(JI)J
HSPLjava/lang/Long;->rotateRight(JI)J
HSPLjava/lang/Long;->signum(J)I
+HSPLjava/lang/Long;->stringSize(J)I
+HSPLjava/lang/Long;->sum(JJ)J
HSPLjava/lang/Long;->toHexString(J)Ljava/lang/String;
HSPLjava/lang/Long;->toString()Ljava/lang/String;
HSPLjava/lang/Long;->toString(J)Ljava/lang/String;
HSPLjava/lang/Long;->toString(JI)Ljava/lang/String;
+HSPLjava/lang/Long;->toUnsignedString0(JI)Ljava/lang/String;
HSPLjava/lang/Long;->valueOf(J)Ljava/lang/Long;
HSPLjava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
+HSPLjava/lang/Long;->valueOf(Ljava/lang/String;I)Ljava/lang/Long;
HSPLjava/lang/Math;->abs(D)D
HSPLjava/lang/Math;->abs(F)F
HSPLjava/lang/Math;->abs(I)I
HSPLjava/lang/Math;->abs(J)J
-HSPLjava/lang/Math;->addExact(II)I
HSPLjava/lang/Math;->addExact(JJ)J
-HSPLjava/lang/Math;->floorMod(II)I
+HSPLjava/lang/Math;->floorDiv(JJ)J
+HSPLjava/lang/Math;->floorMod(JJ)J
HSPLjava/lang/Math;->max(DD)D
HSPLjava/lang/Math;->max(FF)F
HSPLjava/lang/Math;->max(II)I
@@ -26573,24 +10584,22 @@ HSPLjava/lang/Math;->min(DD)D
HSPLjava/lang/Math;->min(FF)F
HSPLjava/lang/Math;->min(II)I
HSPLjava/lang/Math;->min(JJ)J
-HSPLjava/lang/Math;->multiplyExact(II)I
HSPLjava/lang/Math;->multiplyExact(JJ)J
HSPLjava/lang/Math;->nextAfter(DD)D
HSPLjava/lang/Math;->random()D
+HSPLjava/lang/Math;->randomLongInternal()J
HSPLjava/lang/Math;->round(D)J
HSPLjava/lang/Math;->round(F)I
-HSPLjava/lang/Math;->scalb(FI)F
HSPLjava/lang/Math;->setRandomSeedInternal(J)V
-HSPLjava/lang/Math;->signum(F)F
-HSPLjava/lang/Math;->toDegrees(D)D
-HSPLjava/lang/Math;->toIntExact(J)I
-HSPLjava/lang/Math;->toRadians(D)D
-HSPLjava/lang/Math;->ulp(F)F
+HSPLjava/lang/Math;->subtractExact(JJ)J
HSPLjava/lang/NoClassDefFoundError;-><init>(Ljava/lang/String;)V
HSPLjava/lang/NoSuchFieldException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/NoSuchMethodError;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/NoSuchMethodException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/Number;-><init>()V
+HSPLjava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/NumberFormatException;->forInputString(Ljava/lang/String;)Ljava/lang/NumberFormatException;
HSPLjava/lang/Object;-><init>()V
HSPLjava/lang/Object;->clone()Ljava/lang/Object;
HSPLjava/lang/Object;->equals(Ljava/lang/Object;)Z
@@ -26601,50 +10610,49 @@ HSPLjava/lang/Object;->identityHashCode(Ljava/lang/Object;)I
HSPLjava/lang/Object;->toString()Ljava/lang/String;
HSPLjava/lang/Object;->wait()V
HSPLjava/lang/Object;->wait(J)V
+HSPLjava/lang/Package;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;)V
HSPLjava/lang/Package;->getName()Ljava/lang/String;
-HSPLjava/lang/ProcessBuilder$NullInputStream;-><init>()V
-HSPLjava/lang/ProcessBuilder$NullInputStream;->read()I
-HSPLjava/lang/ProcessBuilder$NullOutputStream;-><init>()V
+HSPLjava/lang/Process;-><init>()V
HSPLjava/lang/ProcessBuilder;-><init>([Ljava/lang/String;)V
+HSPLjava/lang/ProcessBuilder;->directory(Ljava/io/File;)Ljava/lang/ProcessBuilder;
HSPLjava/lang/ProcessBuilder;->environment([Ljava/lang/String;)Ljava/lang/ProcessBuilder;
HSPLjava/lang/ProcessBuilder;->start()Ljava/lang/Process;
-HSPLjava/lang/ProcessEnvironment$ExternalData;->getBytes()[B
-HSPLjava/lang/ProcessEnvironment$ExternalData;->hashCode()I
-HSPLjava/lang/ProcessEnvironment$StringEnvironment;-><init>(Ljava/util/Map;)V
-HSPLjava/lang/ProcessEnvironment$Value;->valueOf([B)Ljava/lang/ProcessEnvironment$Value;
-HSPLjava/lang/ProcessEnvironment$Variable;->valueOf([B)Ljava/lang/ProcessEnvironment$Variable;
+HSPLjava/lang/ProcessEnvironment;->toEnvironmentBlock(Ljava/util/Map;[I)[B
HSPLjava/lang/ProcessImpl;->start([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;[Ljava/lang/ProcessBuilder$Redirect;Z)Ljava/lang/Process;
+HSPLjava/lang/ProcessImpl;->toCString(Ljava/lang/String;)[B
+HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
+HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/Throwable;)V
HSPLjava/lang/Runtime;->addShutdownHook(Ljava/lang/Thread;)V
HSPLjava/lang/Runtime;->availableProcessors()I
-HSPLjava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
-HSPLjava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
HSPLjava/lang/Runtime;->exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
HSPLjava/lang/Runtime;->gc()V
HSPLjava/lang/Runtime;->getLibPaths()[Ljava/lang/String;
HSPLjava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
-HSPLjava/lang/Runtime;->initLibPaths()[Ljava/lang/String;
+HSPLjava/lang/Runtime;->load0(Ljava/lang/Class;Ljava/lang/String;)V
HSPLjava/lang/Runtime;->loadLibrary0(Ljava/lang/Class;Ljava/lang/String;)V
HSPLjava/lang/Runtime;->loadLibrary0(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/String;)V
+HSPLjava/lang/Runtime;->nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/String;
HSPLjava/lang/Runtime;->runFinalization()V
HSPLjava/lang/RuntimeException;-><init>()V
HSPLjava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
HSPLjava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
-HSPLjava/lang/RuntimePermission;-><init>(Ljava/lang/String;)V
HSPLjava/lang/SecurityException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/Short;->hashCode()I
+HSPLjava/lang/Short;-><init>(S)V
HSPLjava/lang/Short;->reverseBytes(S)S
-HSPLjava/lang/Short;->valueOf(S)Ljava/lang/Short;
-HSPLjava/lang/StackTraceElement;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+PLjava/lang/Short;->valueOf(S)Ljava/lang/Short;
HSPLjava/lang/StackTraceElement;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
+HSPLjava/lang/StackTraceElement;->getFileName()Ljava/lang/String;
HSPLjava/lang/StackTraceElement;->getLineNumber()I
HSPLjava/lang/StackTraceElement;->getMethodName()Ljava/lang/String;
+HSPLjava/lang/StackTraceElement;->isNativeMethod()Z
HSPLjava/lang/StackTraceElement;->toString()Ljava/lang/String;
-HPLjava/lang/StrictMath;->toIntExact(J)I
HSPLjava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
HSPLjava/lang/String;->codePointAt(I)I
+HSPLjava/lang/String;->codePointBefore(I)I
HSPLjava/lang/String;->codePointCount(II)I
HSPLjava/lang/String;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I
@@ -26659,12 +10667,14 @@ HSPLjava/lang/String;->getBytes()[B
HSPLjava/lang/String;->getBytes(Ljava/lang/String;)[B
HSPLjava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
HSPLjava/lang/String;->getChars(II[CI)V
+HSPLjava/lang/String;->getChars([CI)V
HSPLjava/lang/String;->hashCode()I
HSPLjava/lang/String;->indexOf(I)I
HSPLjava/lang/String;->indexOf(II)I
HSPLjava/lang/String;->indexOf(Ljava/lang/String;)I
HSPLjava/lang/String;->indexOf(Ljava/lang/String;I)I
HSPLjava/lang/String;->indexOf(Ljava/lang/String;Ljava/lang/String;I)I
+HSPLjava/lang/String;->indexOf([CIILjava/lang/String;I)I
HSPLjava/lang/String;->indexOf([CII[CIII)I
HSPLjava/lang/String;->isEmpty()Z
HSPLjava/lang/String;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
@@ -26672,7 +10682,9 @@ HSPLjava/lang/String;->join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Lj
HSPLjava/lang/String;->lastIndexOf(I)I
HSPLjava/lang/String;->lastIndexOf(II)I
HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;)I
+HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;I)I
HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;Ljava/lang/String;I)I
+HSPLjava/lang/String;->lastIndexOf([CIILjava/lang/String;I)I
HSPLjava/lang/String;->lastIndexOf([CII[CIII)I
HSPLjava/lang/String;->length()I
HSPLjava/lang/String;->matches(Ljava/lang/String;)Z
@@ -26696,11 +10708,13 @@ HSPLjava/lang/String;->toUpperCase()Ljava/lang/String;
HSPLjava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
HSPLjava/lang/String;->trim()Ljava/lang/String;
HSPLjava/lang/String;->valueOf(C)Ljava/lang/String;
+HSPLjava/lang/String;->valueOf(D)Ljava/lang/String;
HSPLjava/lang/String;->valueOf(F)Ljava/lang/String;
HSPLjava/lang/String;->valueOf(I)Ljava/lang/String;
HSPLjava/lang/String;->valueOf(J)Ljava/lang/String;
HSPLjava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
HSPLjava/lang/String;->valueOf(Z)Ljava/lang/String;
+HSPLjava/lang/String;->valueOf([C)Ljava/lang/String;
HSPLjava/lang/StringBuffer;-><init>()V
HSPLjava/lang/StringBuffer;-><init>(I)V
HSPLjava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
@@ -26712,10 +10726,8 @@ HSPLjava/lang/StringBuffer;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBu
HSPLjava/lang/StringBuffer;->append(Ljava/lang/CharSequence;II)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;
-HSPLjava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
-HSPLjava/lang/StringBuffer;->append(Z)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->append([CII)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->charAt(I)C
HSPLjava/lang/StringBuffer;->codePointAt(I)I
@@ -26742,24 +10754,24 @@ HSPLjava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder
HSPLjava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
+HSPLjava/lang/StringBuilder;->append([C)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->appendCodePoint(I)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->charAt(I)C
-HSPLjava/lang/StringBuilder;->codePointCount(II)I
HSPLjava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->deleteCharAt(I)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->ensureCapacity(I)V
HSPLjava/lang/StringBuilder;->getChars(II[CI)V
HSPLjava/lang/StringBuilder;->indexOf(Ljava/lang/String;)I
+HSPLjava/lang/StringBuilder;->indexOf(Ljava/lang/String;I)I
HSPLjava/lang/StringBuilder;->insert(IC)Ljava/lang/StringBuilder;
-HSPLjava/lang/StringBuilder;->insert(II)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->lastIndexOf(Ljava/lang/String;I)I
HSPLjava/lang/StringBuilder;->length()I
-HSPLjava/lang/StringBuilder;->offsetByCodePoints(II)I
HSPLjava/lang/StringBuilder;->replace(IILjava/lang/String;)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->setCharAt(IC)V
HSPLjava/lang/StringBuilder;->setLength(I)V
+PLjava/lang/StringBuilder;->subSequence(II)Ljava/lang/CharSequence;
HSPLjava/lang/StringBuilder;->substring(I)Ljava/lang/String;
HSPLjava/lang/StringBuilder;->substring(II)Ljava/lang/String;
HSPLjava/lang/StringBuilder;->toString()Ljava/lang/String;
@@ -26774,31 +10786,30 @@ HSPLjava/lang/StringFactory;->newStringFromChars([C)Ljava/lang/String;
HSPLjava/lang/StringFactory;->newStringFromChars([CII)Ljava/lang/String;
HSPLjava/lang/System$PropertiesWithNonOverrideableDefaults;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/lang/System$PropertiesWithNonOverrideableDefaults;->remove(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/lang/System;->addLegacyLocaleSystemProperties()V
HSPLjava/lang/System;->arraycopy([BI[BII)V
HSPLjava/lang/System;->arraycopy([CI[CII)V
HSPLjava/lang/System;->arraycopy([FI[FII)V
HSPLjava/lang/System;->arraycopy([II[III)V
HSPLjava/lang/System;->arraycopy([JI[JII)V
HSPLjava/lang/System;->arraycopy([ZI[ZII)V
+HSPLjava/lang/System;->checkKey(Ljava/lang/String;)V
HSPLjava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/lang/System;->gc()V
HSPLjava/lang/System;->getProperties()Ljava/util/Properties;
HSPLjava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/lang/System;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/lang/System;->getSecurityManager()Ljava/lang/SecurityManager;
HSPLjava/lang/System;->getenv(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/lang/System;->identityHashCode(Ljava/lang/Object;)I
-HSPLjava/lang/System;->initProperties()Ljava/util/Properties;
-HSPLjava/lang/System;->initUnchangeableSystemProperties()Ljava/util/Properties;
HSPLjava/lang/System;->lineSeparator()Ljava/lang/String;
+HSPLjava/lang/System;->load(Ljava/lang/String;)V
HSPLjava/lang/System;->loadLibrary(Ljava/lang/String;)V
HSPLjava/lang/System;->logW(Ljava/lang/String;)V
-HSPLjava/lang/System;->logW(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/lang/System;->newPrintStream(Ljava/io/FileOutputStream;Ljava/lang/String;)Ljava/io/PrintStream;
HSPLjava/lang/System;->runFinalization()V
HSPLjava/lang/System;->setErr(Ljava/io/PrintStream;)V
HSPLjava/lang/System;->setOut(Ljava/io/PrintStream;)V
HSPLjava/lang/System;->setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/lang/Thread$State;->values()[Ljava/lang/Thread$State;
HSPLjava/lang/Thread;-><init>()V
HSPLjava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
HSPLjava/lang/Thread;-><init>(Ljava/lang/Runnable;Ljava/lang/String;)V
@@ -26808,14 +10819,19 @@ HSPLjava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/l
HSPLjava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/String;IZ)V
HSPLjava/lang/Thread;->activeCount()I
HSPLjava/lang/Thread;->blockedOn(Lsun/nio/ch/Interruptible;)V
+HSPLjava/lang/Thread;->checkAccess()V
HSPLjava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
HSPLjava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
HSPLjava/lang/Thread;->getId()J
HSPLjava/lang/Thread;->getName()Ljava/lang/String;
+HSPLjava/lang/Thread;->getPriority()I
HSPLjava/lang/Thread;->getStackTrace()[Ljava/lang/StackTraceElement;
HSPLjava/lang/Thread;->getState()Ljava/lang/Thread$State;
+HSPLjava/lang/Thread;->getThreadGroup()Ljava/lang/ThreadGroup;
HSPLjava/lang/Thread;->getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
+HSPLjava/lang/Thread;->init(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
HSPLjava/lang/Thread;->init(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JLjava/security/AccessControlContext;)V
+HSPLjava/lang/Thread;->init2(Ljava/lang/Thread;)V
HSPLjava/lang/Thread;->interrupt()V
HSPLjava/lang/Thread;->isAlive()Z
HSPLjava/lang/Thread;->isDaemon()Z
@@ -26836,31 +10852,55 @@ HSPLjava/lang/Thread;->sleep(J)V
HSPLjava/lang/Thread;->sleep(JI)V
HSPLjava/lang/Thread;->start()V
HSPLjava/lang/Thread;->toString()Ljava/lang/String;
+HSPLjava/lang/ThreadGroup;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/ThreadGroup;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V
+HSPLjava/lang/ThreadGroup;-><init>(Ljava/lang/Void;Ljava/lang/ThreadGroup;Ljava/lang/String;)V
HSPLjava/lang/ThreadGroup;->activeCount()I
HSPLjava/lang/ThreadGroup;->add(Ljava/lang/Thread;)V
+HSPLjava/lang/ThreadGroup;->add(Ljava/lang/ThreadGroup;)V
HSPLjava/lang/ThreadGroup;->addUnstarted()V
+HSPLjava/lang/ThreadGroup;->checkAccess()V
+HSPLjava/lang/ThreadGroup;->checkParentAccess(Ljava/lang/ThreadGroup;)Ljava/lang/Void;
+HSPLjava/lang/ThreadGroup;->getMaxPriority()I
+HSPLjava/lang/ThreadGroup;->getName()Ljava/lang/String;
HSPLjava/lang/ThreadGroup;->remove(Ljava/lang/Thread;)V
HSPLjava/lang/ThreadGroup;->threadTerminated(Ljava/lang/Thread;)V
+HSPLjava/lang/ThreadLocal$SuppliedThreadLocal;-><init>(Ljava/util/function/Supplier;)V
HSPLjava/lang/ThreadLocal$SuppliedThreadLocal;->initialValue()Ljava/lang/Object;
-HSPLjava/lang/ThreadLocal$ThreadLocalMap;-><init>(Ljava/lang/ThreadLocal$ThreadLocalMap;)V
+HSPLjava/lang/ThreadLocal$ThreadLocalMap$Entry;-><init>(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
HSPLjava/lang/ThreadLocal$ThreadLocalMap;-><init>(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->access$100(Ljava/lang/ThreadLocal$ThreadLocalMap;Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->access$200(Ljava/lang/ThreadLocal$ThreadLocalMap;Ljava/lang/ThreadLocal;)V
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->cleanSomeSlots(II)Z
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntries()V
HSPLjava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntry(I)I
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->nextIndex(II)I
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->rehash()V
HSPLjava/lang/ThreadLocal$ThreadLocalMap;->remove(Ljava/lang/ThreadLocal;)V
HSPLjava/lang/ThreadLocal$ThreadLocalMap;->resize()V
HSPLjava/lang/ThreadLocal$ThreadLocalMap;->set(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->setThreshold(I)V
HSPLjava/lang/ThreadLocal;-><init>()V
+HSPLjava/lang/ThreadLocal;->access$400(Ljava/lang/ThreadLocal;)I
HSPLjava/lang/ThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
HSPLjava/lang/ThreadLocal;->get()Ljava/lang/Object;
HSPLjava/lang/ThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
HSPLjava/lang/ThreadLocal;->initialValue()Ljava/lang/Object;
+HSPLjava/lang/ThreadLocal;->nextHashCode()I
HSPLjava/lang/ThreadLocal;->remove()V
HSPLjava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
HSPLjava/lang/ThreadLocal;->withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
+HSPLjava/lang/Throwable$PrintStreamOrWriter;-><init>()V
+HSPLjava/lang/Throwable$PrintStreamOrWriter;-><init>(Ljava/lang/Throwable$1;)V
+HSPLjava/lang/Throwable$WrappedPrintWriter;-><init>(Ljava/io/PrintWriter;)V
HSPLjava/lang/Throwable$WrappedPrintWriter;->lock()Ljava/lang/Object;
HSPLjava/lang/Throwable$WrappedPrintWriter;->println(Ljava/lang/Object;)V
HSPLjava/lang/Throwable;-><init>()V
HSPLjava/lang/Throwable;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/Throwable;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
HSPLjava/lang/Throwable;-><init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
+HSPLjava/lang/Throwable;-><init>(Ljava/lang/Throwable;)V
HSPLjava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V
HSPLjava/lang/Throwable;->fillInStackTrace()Ljava/lang/Throwable;
HSPLjava/lang/Throwable;->getCause()Ljava/lang/Throwable;
@@ -26873,61 +10913,49 @@ HSPLjava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
HSPLjava/lang/Throwable;->printEnclosedStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;[Ljava/lang/StackTraceElement;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
HSPLjava/lang/Throwable;->printStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;)V
-HSPLjava/lang/Throwable;->readObject(Ljava/io/ObjectInputStream;)V
HSPLjava/lang/Throwable;->setStackTrace([Ljava/lang/StackTraceElement;)V
HSPLjava/lang/Throwable;->toString()Ljava/lang/String;
-HSPLjava/lang/Throwable;->writeObject(Ljava/io/ObjectOutputStream;)V
-HSPLjava/lang/UNIXProcess$1;-><init>()V
-HSPLjava/lang/UNIXProcess$1;->run()Ljava/lang/Object;
-HSPLjava/lang/UNIXProcess$1;->run()Ljava/util/concurrent/Executor;
+HSPLjava/lang/UNIXProcess$2;-><init>(Ljava/lang/UNIXProcess;[I)V
HSPLjava/lang/UNIXProcess$2;->run()Ljava/lang/Object;
HSPLjava/lang/UNIXProcess$2;->run()Ljava/lang/Void;
+HSPLjava/lang/UNIXProcess$3;-><init>(Ljava/lang/UNIXProcess;)V
HSPLjava/lang/UNIXProcess$3;->run()V
+HSPLjava/lang/UNIXProcess$ProcessPipeInputStream;-><init>(I)V
HSPLjava/lang/UNIXProcess$ProcessPipeInputStream;->drainInputStream(Ljava/io/InputStream;)[B
HSPLjava/lang/UNIXProcess$ProcessPipeInputStream;->processExited()V
+HSPLjava/lang/UNIXProcess$ProcessPipeOutputStream;-><init>(I)V
HSPLjava/lang/UNIXProcess$ProcessPipeOutputStream;->processExited()V
-HSPLjava/lang/UNIXProcess$ProcessReaperThreadFactory;->getRootThreadGroup()Ljava/lang/ThreadGroup;
HSPLjava/lang/UNIXProcess$ProcessReaperThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
HSPLjava/lang/UNIXProcess;-><init>([B[BI[BI[B[IZ)V
-HSPLjava/lang/UNIXProcess;->getErrorStream()Ljava/io/InputStream;
+HSPLjava/lang/UNIXProcess;->access$100(Ljava/lang/UNIXProcess;)I
+HSPLjava/lang/UNIXProcess;->access$200(Ljava/lang/UNIXProcess;I)I
HSPLjava/lang/UNIXProcess;->getInputStream()Ljava/io/InputStream;
-HSPLjava/lang/UNIXProcess;->getOutputStream()Ljava/io/OutputStream;
HSPLjava/lang/UNIXProcess;->initStreams([I)V
+HSPLjava/lang/UNIXProcess;->newFileDescriptor(I)Ljava/io/FileDescriptor;
HSPLjava/lang/UNIXProcess;->processExited(I)V
-HSPLjava/lang/UNIXProcess;->waitFor()I
HSPLjava/lang/UnsatisfiedLinkError;-><init>(Ljava/lang/String;)V
HSPLjava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/VMClassLoader;->createBootClassPathUrlHandlers()[Llibcore/io/ClassPathURLStreamHandler;
HSPLjava/lang/VMClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL;
HSPLjava/lang/VMClassLoader;->getResources(Ljava/lang/String;)Ljava/util/List;
-HSPLjava/lang/invoke/MethodHandles$Lookup;->checkAccess(Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/String;)V
-HSPLjava/lang/invoke/MethodHandles$Lookup;->unreflect(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
-HSPLjava/lang/invoke/MethodHandles;->publicLookup()Ljava/lang/invoke/MethodHandles$Lookup;
-HSPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;->hashCode()I
-HSPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet;->add(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/lang/invoke/MethodType;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/invoke/MethodType;->genericMethodType(IZ)Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodType;->hashCode()I
-HSPLjava/lang/invoke/MethodType;->insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodType;->makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodTypeForm;-><init>(Ljava/lang/invoke/MethodType;)V
-HSPLjava/lang/invoke/MethodTypeForm;->canonicalize(Ljava/lang/Class;I)Ljava/lang/Class;
-HSPLjava/lang/invoke/MethodTypeForm;->canonicalize(Ljava/lang/invoke/MethodType;II)Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodTypeForm;->canonicalizeAll([Ljava/lang/Class;I)[Ljava/lang/Class;
HSPLjava/lang/invoke/VarHandle;->acquireFence()V
HSPLjava/lang/invoke/VarHandle;->fullFence()V
HSPLjava/lang/invoke/VarHandle;->loadLoadFence()V
HSPLjava/lang/invoke/VarHandle;->releaseFence()V
HSPLjava/lang/invoke/VarHandle;->storeStoreFence()V
+HSPLjava/lang/ref/FinalizerReference$Sentinel;-><init>()V
+HSPLjava/lang/ref/FinalizerReference$Sentinel;-><init>(Ljava/lang/ref/FinalizerReference$1;)V
HSPLjava/lang/ref/FinalizerReference$Sentinel;->awaitFinalization(J)V
HSPLjava/lang/ref/FinalizerReference$Sentinel;->finalize()V
+HSPLjava/lang/ref/FinalizerReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
HSPLjava/lang/ref/FinalizerReference;->add(Ljava/lang/Object;)V
+HSPLjava/lang/ref/FinalizerReference;->clear()V
HSPLjava/lang/ref/FinalizerReference;->enqueueSentinelReference(Ljava/lang/ref/FinalizerReference$Sentinel;)Z
+HSPLjava/lang/ref/FinalizerReference;->finalizeAllEnqueued(J)V
+HSPLjava/lang/ref/FinalizerReference;->get()Ljava/lang/Object;
HSPLjava/lang/ref/FinalizerReference;->remove(Ljava/lang/ref/FinalizerReference;)V
HSPLjava/lang/ref/PhantomReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-HSPLjava/lang/ref/Reference$SinkHolder$1;-><init>()V
+HSPLjava/lang/ref/Reference;-><init>(Ljava/lang/Object;)V
+HSPLjava/lang/ref/Reference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
HSPLjava/lang/ref/Reference;->clear()V
HSPLjava/lang/ref/Reference;->get()Ljava/lang/Object;
HSPLjava/lang/ref/Reference;->reachabilityFence(Ljava/lang/Object;)V
@@ -26936,6 +10964,7 @@ HSPLjava/lang/ref/ReferenceQueue;->add(Ljava/lang/ref/Reference;)V
HSPLjava/lang/ref/ReferenceQueue;->enqueueLocked(Ljava/lang/ref/Reference;)Z
HSPLjava/lang/ref/ReferenceQueue;->enqueuePending(Ljava/lang/ref/Reference;)V
HSPLjava/lang/ref/ReferenceQueue;->poll()Ljava/lang/ref/Reference;
+HSPLjava/lang/ref/ReferenceQueue;->reallyPollLocked()Ljava/lang/ref/Reference;
HSPLjava/lang/ref/ReferenceQueue;->remove()Ljava/lang/ref/Reference;
HSPLjava/lang/ref/ReferenceQueue;->remove(J)Ljava/lang/ref/Reference;
HSPLjava/lang/ref/SoftReference;-><init>(Ljava/lang/Object;)V
@@ -26943,6 +10972,8 @@ HSPLjava/lang/ref/SoftReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/Refere
HSPLjava/lang/ref/SoftReference;->get()Ljava/lang/Object;
HSPLjava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
HSPLjava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
+HSPLjava/lang/reflect/AccessibleObject;-><init>()V
+HSPLjava/lang/reflect/AccessibleObject;->getAnnotations()[Ljava/lang/annotation/Annotation;
HSPLjava/lang/reflect/AccessibleObject;->isAccessible()Z
HSPLjava/lang/reflect/AccessibleObject;->setAccessible(Z)V
HSPLjava/lang/reflect/AccessibleObject;->setAccessible0(Ljava/lang/reflect/AccessibleObject;Z)V
@@ -26952,131 +10983,166 @@ HSPLjava/lang/reflect/Array;->newArray(Ljava/lang/Class;I)Ljava/lang/Object;
HSPLjava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
HSPLjava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
HSPLjava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V
+HSPLjava/lang/reflect/Constructor;-><init>(Ljava/lang/Class;Ljava/lang/Class;)V
HSPLjava/lang/reflect/Constructor;->getDeclaringClass()Ljava/lang/Class;
HSPLjava/lang/reflect/Constructor;->getModifiers()I
+HSPLjava/lang/reflect/Constructor;->getName()Ljava/lang/String;
HSPLjava/lang/reflect/Constructor;->getParameterTypes()[Ljava/lang/Class;
HSPLjava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/lang/reflect/Constructor;->serializationCopy(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
+HSPLjava/lang/reflect/Executable$GenericInfo;-><init>(Llibcore/reflect/ListOfTypes;Llibcore/reflect/ListOfTypes;Ljava/lang/reflect/Type;[Ljava/lang/reflect/TypeVariable;)V
+HSPLjava/lang/reflect/Executable;-><init>()V
+HSPLjava/lang/reflect/Executable;->equalNameAndParametersInternal(Ljava/lang/reflect/Method;)Z
+HSPLjava/lang/reflect/Executable;->equalParamTypes([Ljava/lang/Class;[Ljava/lang/Class;)Z
+HSPLjava/lang/reflect/Executable;->fixMethodFlags(I)I
+HSPLjava/lang/reflect/Executable;->getAccessFlags()I
+HSPLjava/lang/reflect/Executable;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
+HSPLjava/lang/reflect/Executable;->getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;
+HSPLjava/lang/reflect/Executable;->getDeclaringClassInternal()Ljava/lang/Class;
+HSPLjava/lang/reflect/Executable;->getGenericParameterTypes()[Ljava/lang/reflect/Type;
+HSPLjava/lang/reflect/Executable;->getMethodOrConstructorGenericInfoInternal()Ljava/lang/reflect/Executable$GenericInfo;
+HSPLjava/lang/reflect/Executable;->getModifiersInternal()I
+HSPLjava/lang/reflect/Executable;->getParameterAnnotationsInternal()[[Ljava/lang/annotation/Annotation;
+HSPLjava/lang/reflect/Executable;->getSignatureAttribute()Ljava/lang/String;
HSPLjava/lang/reflect/Executable;->isAnnotationPresent(Ljava/lang/Class;)Z
-HSPLjava/lang/reflect/Executable;->printModifiersIfNonzero(Ljava/lang/StringBuilder;IZ)V
-HSPLjava/lang/reflect/Executable;->separateWithCommas([Ljava/lang/Class;Ljava/lang/StringBuilder;)V
-HSPLjava/lang/reflect/Executable;->sharedToString(IZ[Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
+HSPLjava/lang/reflect/Executable;->isDefaultMethodInternal()Z
+HSPLjava/lang/reflect/Executable;->isSynthetic()Z
HSPLjava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
+HSPLjava/lang/reflect/Field;->getDeclaringClass()Ljava/lang/Class;
+HSPLjava/lang/reflect/Field;->getGenericType()Ljava/lang/reflect/Type;
HSPLjava/lang/reflect/Field;->getModifiers()I
HSPLjava/lang/reflect/Field;->getName()Ljava/lang/String;
+HSPLjava/lang/reflect/Field;->getOffset()I
+HSPLjava/lang/reflect/Field;->getSignatureAttribute()Ljava/lang/String;
HSPLjava/lang/reflect/Field;->getType()Ljava/lang/Class;
+HSPLjava/lang/reflect/Field;->hashCode()I
HSPLjava/lang/reflect/Field;->isAnnotationPresent(Ljava/lang/Class;)Z
+HSPLjava/lang/reflect/Field;->isEnumConstant()Z
HSPLjava/lang/reflect/Field;->isSynthetic()Z
+HSPLjava/lang/reflect/InvocationTargetException;-><init>(Ljava/lang/Throwable;)V
+HSPLjava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;
HSPLjava/lang/reflect/Method$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/lang/reflect/Method$1;->compare(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)I
+HSPLjava/lang/reflect/Method;->equalNameAndParameters(Ljava/lang/reflect/Method;)Z
HSPLjava/lang/reflect/Method;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/reflect/Method;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
+HSPLjava/lang/reflect/Method;->getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;
+HSPLjava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;
+HSPLjava/lang/reflect/Method;->getGenericParameterTypes()[Ljava/lang/reflect/Type;
+HSPLjava/lang/reflect/Method;->getGenericReturnType()Ljava/lang/reflect/Type;
HSPLjava/lang/reflect/Method;->getModifiers()I
HSPLjava/lang/reflect/Method;->getName()Ljava/lang/String;
+HSPLjava/lang/reflect/Method;->getParameterAnnotations()[[Ljava/lang/annotation/Annotation;
HSPLjava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
HSPLjava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;
-HSPLjava/lang/reflect/Method;->specificToStringHeader(Ljava/lang/StringBuilder;)V
-HSPLjava/lang/reflect/Method;->toString()Ljava/lang/String;
+HSPLjava/lang/reflect/Method;->hashCode()I
+HSPLjava/lang/reflect/Method;->isDefault()Z
+HSPLjava/lang/reflect/Method;->isSynthetic()Z
+HSPLjava/lang/reflect/Modifier;->isAbstract(I)Z
HSPLjava/lang/reflect/Modifier;->isFinal(I)Z
+HSPLjava/lang/reflect/Modifier;->isInterface(I)Z
+HSPLjava/lang/reflect/Modifier;->isPrivate(I)Z
+HSPLjava/lang/reflect/Modifier;->isProtected(I)Z
HSPLjava/lang/reflect/Modifier;->isPublic(I)Z
HSPLjava/lang/reflect/Modifier;->isStatic(I)Z
-HSPLjava/lang/reflect/Modifier;->toString(I)Ljava/lang/String;
+HSPLjava/lang/reflect/Modifier;->isSynthetic(I)Z
+HSPLjava/lang/reflect/Modifier;->isVolatile(I)Z
HSPLjava/lang/reflect/Proxy$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/lang/reflect/Proxy$1;->compare(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)I
+HSPLjava/lang/reflect/Proxy$Key1;-><init>(Ljava/lang/Class;)V
HSPLjava/lang/reflect/Proxy$Key1;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/reflect/Proxy$Key1;->hashCode()I
HSPLjava/lang/reflect/Proxy$KeyFactory;->apply(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Object;
HSPLjava/lang/reflect/Proxy$KeyFactory;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/lang/reflect/Proxy$ProxyClassFactory;->apply(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
HSPLjava/lang/reflect/Proxy$ProxyClassFactory;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/lang/reflect/Proxy;->access$300([Ljava/lang/Class;)Ljava/util/List;
+HSPLjava/lang/reflect/Proxy;->access$400()Ljava/util/Comparator;
+HSPLjava/lang/reflect/Proxy;->access$500(Ljava/util/List;)V
+HSPLjava/lang/reflect/Proxy;->access$600(Ljava/util/List;)Ljava/util/List;
+HSPLjava/lang/reflect/Proxy;->access$700(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/ClassLoader;[Ljava/lang/reflect/Method;[[Ljava/lang/Class;)Ljava/lang/Class;
HSPLjava/lang/reflect/Proxy;->deduplicateAndGetExceptions(Ljava/util/List;)Ljava/util/List;
HSPLjava/lang/reflect/Proxy;->getMethods([Ljava/lang/Class;)Ljava/util/List;
+HSPLjava/lang/reflect/Proxy;->getMethodsRecursive([Ljava/lang/Class;Ljava/util/List;)V
+HSPLjava/lang/reflect/Proxy;->getProxyClass0(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
HSPLjava/lang/reflect/Proxy;->intersectExceptions([Ljava/lang/Class;[Ljava/lang/Class;)[Ljava/lang/Class;
HSPLjava/lang/reflect/Proxy;->invoke(Ljava/lang/reflect/Proxy;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/lang/reflect/Proxy;->isProxyClass(Ljava/lang/Class;)Z
HSPLjava/lang/reflect/Proxy;->newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
HSPLjava/lang/reflect/Proxy;->validateReturnTypes(Ljava/util/List;)V
+HSPLjava/lang/reflect/WeakCache$CacheKey;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
HSPLjava/lang/reflect/WeakCache$CacheKey;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/reflect/WeakCache$CacheKey;->hashCode()I
+HSPLjava/lang/reflect/WeakCache$CacheKey;->valueOf(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Ljava/lang/Object;
+HSPLjava/lang/reflect/WeakCache$CacheValue;-><init>(Ljava/lang/Object;)V
HSPLjava/lang/reflect/WeakCache$CacheValue;->hashCode()I
+HSPLjava/lang/reflect/WeakCache$Factory;-><init>(Ljava/lang/reflect/WeakCache;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentMap;)V
HSPLjava/lang/reflect/WeakCache$Factory;->get()Ljava/lang/Object;
+HSPLjava/lang/reflect/WeakCache;->access$000(Ljava/lang/reflect/WeakCache;)Ljava/util/function/BiFunction;
+HSPLjava/lang/reflect/WeakCache;->access$100(Ljava/lang/reflect/WeakCache;)Ljava/util/concurrent/ConcurrentMap;
+HSPLjava/lang/reflect/WeakCache;->expungeStaleEntries()V
HSPLjava/lang/reflect/WeakCache;->get(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/math/BigDecimal;-><init>(D)V
-HSPLjava/math/BigDecimal;-><init>(I)V
-HSPLjava/math/BigDecimal;-><init>(II)V
+HSPLjava/math/BigDecimal;-><init>(JI)V
+HSPLjava/math/BigDecimal;-><init>(Ljava/lang/String;)V
HSPLjava/math/BigDecimal;-><init>([CII)V
-HSPLjava/math/BigDecimal;->add(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
HSPLjava/math/BigDecimal;->bitLength(J)I
-HSPLjava/math/BigDecimal;->compareTo(Ljava/math/BigDecimal;)I
-HSPLjava/math/BigDecimal;->divide(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->dividePrimitiveLongs(JJILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->doubleValue()D
-HSPLjava/math/BigDecimal;->longValueExact()J
-HSPLjava/math/BigDecimal;->movePoint(J)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->movePointLeft(I)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->negate()Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->safeLongToInt(J)I
-HSPLjava/math/BigDecimal;->scale()I
-HSPLjava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->signum()I
-HSPLjava/math/BigDecimal;->stripTrailingZeros()Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->subtract(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->toBigIntegerExact()Ljava/math/BigInteger;
-HSPLjava/math/BigDecimal;->toPlainString()Ljava/lang/String;
-HSPLjava/math/BigDecimal;->valueOf(D)Ljava/math/BigDecimal;
+HSPLjava/math/BigDecimal;->getUnscaledValue()Ljava/math/BigInteger;
HSPLjava/math/BigDecimal;->valueOf(J)Ljava/math/BigDecimal;
+HSPLjava/math/BigInt;-><init>()V
+HSPLjava/math/BigInt;->addition(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
+HSPLjava/math/BigInt;->bitLength()I
HSPLjava/math/BigInt;->checkString(Ljava/lang/String;I)Ljava/lang/String;
+HSPLjava/math/BigInt;->cmp(Ljava/math/BigInt;Ljava/math/BigInt;)I
+HSPLjava/math/BigInt;->decString()Ljava/lang/String;
+HSPLjava/math/BigInt;->hasNativeBignum()Z
+HSPLjava/math/BigInt;->littleEndianIntsMagnitude()[I
+HSPLjava/math/BigInt;->longInt()J
+HSPLjava/math/BigInt;->makeValid()V
+HSPLjava/math/BigInt;->newBigInt()Ljava/math/BigInt;
+HSPLjava/math/BigInt;->product(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
+HSPLjava/math/BigInt;->putBigEndian([BZ)V
+HSPLjava/math/BigInt;->putBigEndianTwosComplement([B)V
+HSPLjava/math/BigInt;->putDecString(Ljava/lang/String;)V
+HSPLjava/math/BigInt;->putHexString(Ljava/lang/String;)V
+HSPLjava/math/BigInt;->putULongInt(JZ)V
+HSPLjava/math/BigInt;->sign()I
+HSPLjava/math/BigInt;->subtraction(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
+HSPLjava/math/BigInt;->twosCompFitsIntoBytes(I)Z
HSPLjava/math/BigInteger;-><init>(IJ)V
HSPLjava/math/BigInteger;-><init>(I[B)V
HSPLjava/math/BigInteger;-><init>(Ljava/lang/String;)V
HSPLjava/math/BigInteger;-><init>(Ljava/lang/String;I)V
+HSPLjava/math/BigInteger;-><init>(Ljava/math/BigInt;)V
HSPLjava/math/BigInteger;-><init>([B)V
-HSPLjava/math/BigInteger;->abs()Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->add(Ljava/math/BigInteger;)Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->bitLength()I
HSPLjava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
-HSPLjava/math/BigInteger;->divide(Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HSPLjava/math/BigInteger;->divideAndRemainder(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->equals(Ljava/lang/Object;)Z
HSPLjava/math/BigInteger;->getBigInt()Ljava/math/BigInt;
HSPLjava/math/BigInteger;->getFirstNonzeroDigit()I
-HSPLjava/math/BigInteger;->getLowestSetBit()I
HSPLjava/math/BigInteger;->hashCode()I
HSPLjava/math/BigInteger;->intValue()I
HSPLjava/math/BigInteger;->longValue()J
-HSPLjava/math/BigInteger;->modPow(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->prepareJavaRepresentation()V
-HSPLjava/math/BigInteger;->shiftLeft(I)Ljava/math/BigInteger;
+HSPLjava/math/BigInteger;->readObject(Ljava/io/ObjectInputStream;)V
+HSPLjava/math/BigInteger;->setBigInt(Ljava/math/BigInt;)V
+HSPLjava/math/BigInteger;->setJavaRepresentation(II[I)V
HSPLjava/math/BigInteger;->signum()I
HSPLjava/math/BigInteger;->subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HSPLjava/math/BigInteger;->testBit(I)Z
HSPLjava/math/BigInteger;->toByteArray()[B
HSPLjava/math/BigInteger;->toString()Ljava/lang/String;
-HSPLjava/math/BigInteger;->toString(I)Ljava/lang/String;
HSPLjava/math/BigInteger;->twosComplement()[B
HSPLjava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
-HSPLjava/math/BigInteger;->writeObject(Ljava/io/ObjectOutputStream;)V
-HSPLjava/math/Conversion;->bigInteger2String(Ljava/math/BigInteger;I)Ljava/lang/String;
-HSPLjava/math/MathContext;-><init>(I)V
-HSPLjava/math/MathContext;-><init>(ILjava/math/RoundingMode;)V
-HSPLjava/math/MathContext;->checkValid()V
-HSPLjava/math/Multiplication;->powerOf10(J)Ljava/math/BigInteger;
-HSPLjava/math/RoundingMode;-><init>(Ljava/lang/String;II)V
-HSPLjava/math/RoundingMode;->valueOf(I)Ljava/math/RoundingMode;
+HSPLjava/math/MathContext;->equals(Ljava/lang/Object;)Z
+HSPLjava/math/MathContext;->getPrecision()I
+HSPLjava/math/MathContext;->getRoundingMode()Ljava/math/RoundingMode;
HSPLjava/math/RoundingMode;->values()[Ljava/math/RoundingMode;
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->bind(ILjava/net/InetAddress;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->close()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->create()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->finalize()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->getOption(I)Ljava/lang/Object;
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->isClosed()Z
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->receive(Ljava/net/DatagramPacket;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->setOption(ILjava/lang/Object;)V
HSPLjava/net/AbstractPlainSocketImpl;-><init>()V
HSPLjava/net/AbstractPlainSocketImpl;->acquireFD()Ljava/io/FileDescriptor;
-HSPLjava/net/AbstractPlainSocketImpl;->bind(Ljava/net/InetAddress;I)V
HSPLjava/net/AbstractPlainSocketImpl;->close()V
HSPLjava/net/AbstractPlainSocketImpl;->connect(Ljava/net/SocketAddress;I)V
+HSPLjava/net/AbstractPlainSocketImpl;->connectToAddress(Ljava/net/InetAddress;II)V
HSPLjava/net/AbstractPlainSocketImpl;->create(Z)V
HSPLjava/net/AbstractPlainSocketImpl;->doConnect(Ljava/net/InetAddress;II)V
HSPLjava/net/AbstractPlainSocketImpl;->finalize()V
@@ -27084,106 +11150,73 @@ HSPLjava/net/AbstractPlainSocketImpl;->getInputStream()Ljava/io/InputStream;
HSPLjava/net/AbstractPlainSocketImpl;->getOption(I)Ljava/lang/Object;
HSPLjava/net/AbstractPlainSocketImpl;->getOutputStream()Ljava/io/OutputStream;
HSPLjava/net/AbstractPlainSocketImpl;->isClosedOrPending()Z
-HSPLjava/net/AbstractPlainSocketImpl;->listen(I)V
HSPLjava/net/AbstractPlainSocketImpl;->releaseFD()V
HSPLjava/net/AbstractPlainSocketImpl;->setOption(ILjava/lang/Object;)V
HSPLjava/net/AbstractPlainSocketImpl;->socketClose()V
+HSPLjava/net/AbstractPlainSocketImpl;->socketPreClose()V
+HSPLjava/net/AddressCache$AddressCacheEntry;-><init>(Ljava/lang/Object;)V
+HSPLjava/net/AddressCache$AddressCacheKey;-><init>(Ljava/lang/String;I)V
HSPLjava/net/AddressCache$AddressCacheKey;->equals(Ljava/lang/Object;)Z
HSPLjava/net/AddressCache$AddressCacheKey;->hashCode()I
-HSPLjava/net/AddressCache;-><init>()V
HSPLjava/net/AddressCache;->clear()V
HSPLjava/net/AddressCache;->get(Ljava/lang/String;I)Ljava/lang/Object;
HSPLjava/net/AddressCache;->put(Ljava/lang/String;I[Ljava/net/InetAddress;)V
+PLjava/net/AddressCache;->putUnknownHost(Ljava/lang/String;ILjava/lang/String;)V
+HSPLjava/net/CookieHandler;-><init>()V
HSPLjava/net/CookieHandler;->getDefault()Ljava/net/CookieHandler;
-HSPLjava/net/CookiePolicy$1;-><init>()V
-HSPLjava/net/CookiePolicy$2;-><init>()V
-HSPLjava/net/CookiePolicy$3;-><init>()V
-HSPLjava/net/DatagramPacket;-><init>([BI)V
-HSPLjava/net/DatagramPacket;-><init>([BILjava/net/InetAddress;I)V
-HSPLjava/net/DatagramPacket;->getAddress()Ljava/net/InetAddress;
-HSPLjava/net/DatagramPacket;->getData()[B
-HSPLjava/net/DatagramPacket;->getLength()I
-HSPLjava/net/DatagramPacket;->getOffset()I
-HSPLjava/net/DatagramPacket;->getPort()I
-HSPLjava/net/DatagramPacket;->setAddress(Ljava/net/InetAddress;)V
-HSPLjava/net/DatagramPacket;->setData([BII)V
-HSPLjava/net/DatagramPacket;->setPort(I)V
-HSPLjava/net/DatagramSocket$1;->run()Ljava/lang/Object;
-HSPLjava/net/DatagramSocket$1;->run()Ljava/lang/Void;
-HSPLjava/net/DatagramSocket;-><init>()V
-HSPLjava/net/DatagramSocket;-><init>(Ljava/net/SocketAddress;)V
-HSPLjava/net/DatagramSocket;->bind(Ljava/net/SocketAddress;)V
-HSPLjava/net/DatagramSocket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
-HSPLjava/net/DatagramSocket;->checkOldImpl()V
-HSPLjava/net/DatagramSocket;->close()V
-HSPLjava/net/DatagramSocket;->createImpl()V
-HSPLjava/net/DatagramSocket;->getFileDescriptor$()Ljava/io/FileDescriptor;
-HSPLjava/net/DatagramSocket;->getImpl()Ljava/net/DatagramSocketImpl;
-HSPLjava/net/DatagramSocket;->getReuseAddress()Z
-HSPLjava/net/DatagramSocket;->isBound()Z
-HSPLjava/net/DatagramSocket;->isClosed()Z
-HSPLjava/net/DatagramSocket;->receive(Ljava/net/DatagramPacket;)V
-HSPLjava/net/DatagramSocket;->send(Ljava/net/DatagramPacket;)V
-HSPLjava/net/DatagramSocket;->setSoTimeout(I)V
-HSPLjava/net/DatagramSocketImpl;->setDatagramSocket(Ljava/net/DatagramSocket;)V
-HSPLjava/net/DefaultDatagramSocketImplFactory;->createDatagramSocketImpl(Z)Ljava/net/DatagramSocketImpl;
-HSPLjava/net/DefaultInterface;->getDefault()Ljava/net/NetworkInterface;
-HSPLjava/net/HttpCookie$10;-><init>()V
-HSPLjava/net/HttpCookie$11;-><init>()V
-HSPLjava/net/HttpCookie$1;-><init>()V
-HSPLjava/net/HttpCookie$2;-><init>()V
-HSPLjava/net/HttpCookie$3;-><init>()V
-HSPLjava/net/HttpCookie$4;-><init>()V
-HSPLjava/net/HttpCookie$5;-><init>()V
-HSPLjava/net/HttpCookie$6;-><init>()V
-HSPLjava/net/HttpCookie$7;-><init>()V
-HSPLjava/net/HttpCookie$8;-><init>()V
-HSPLjava/net/HttpCookie$9;-><init>()V
+HSPLjava/net/CookieHandler;->setDefault(Ljava/net/CookieHandler;)V
+HSPLjava/net/CookieManager;-><init>(Ljava/net/CookieStore;Ljava/net/CookiePolicy;)V
+HSPLjava/net/CookieManager;->get(Ljava/net/URI;Ljava/util/Map;)Ljava/util/Map;
+HSPLjava/net/CookieManager;->put(Ljava/net/URI;Ljava/util/Map;)V
HSPLjava/net/HttpURLConnection;-><init>(Ljava/net/URL;)V
HSPLjava/net/HttpURLConnection;->getFollowRedirects()Z
-HSPLjava/net/HttpURLConnection;->setInstanceFollowRedirects(Z)V
+HSPLjava/net/HttpURLConnection;->getRequestMethod()Ljava/lang/String;
+HSPLjava/net/HttpURLConnection;->setChunkedStreamingMode(I)V
HSPLjava/net/IDN;->toASCII(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/IDN;->toASCII(Ljava/lang/String;I)Ljava/lang/String;
-HSPLjava/net/IDN;->toUnicode(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/IDN;->toUnicode(Ljava/lang/String;I)Ljava/lang/String;
+HSPLjava/net/InMemoryCookieStore;-><init>()V
+HSPLjava/net/InMemoryCookieStore;-><init>(I)V
+HSPLjava/net/InMemoryCookieStore;->get(Ljava/net/URI;)Ljava/util/List;
+HSPLjava/net/InMemoryCookieStore;->getEffectiveURI(Ljava/net/URI;)Ljava/net/URI;
+HSPLjava/net/InMemoryCookieStore;->getInternal1(Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V
+HSPLjava/net/InMemoryCookieStore;->getInternal2(Ljava/util/List;Ljava/util/Map;Ljava/lang/Comparable;)V
HSPLjava/net/Inet4Address;-><init>(Ljava/lang/String;[B)V
HSPLjava/net/Inet4Address;->equals(Ljava/lang/Object;)Z
HSPLjava/net/Inet4Address;->getAddress()[B
HSPLjava/net/Inet4Address;->getHostAddress()Ljava/lang/String;
HSPLjava/net/Inet4Address;->hashCode()I
HSPLjava/net/Inet4Address;->isAnyLocalAddress()Z
-HSPLjava/net/Inet4Address;->isLinkLocalAddress()Z
+PLjava/net/Inet4Address;->isLinkLocalAddress()Z
HSPLjava/net/Inet4Address;->isLoopbackAddress()Z
HSPLjava/net/Inet4Address;->isMulticastAddress()Z
HSPLjava/net/Inet4Address;->numericToTextFormat([B)Ljava/lang/String;
+HSPLjava/net/Inet6Address$Inet6AddressHolder;-><init>(Ljava/net/Inet6Address;)V
+HSPLjava/net/Inet6Address$Inet6AddressHolder;-><init>(Ljava/net/Inet6Address;Ljava/net/Inet6Address$1;)V
HSPLjava/net/Inet6Address$Inet6AddressHolder;->equals(Ljava/lang/Object;)Z
HSPLjava/net/Inet6Address$Inet6AddressHolder;->hashCode()I
HSPLjava/net/Inet6Address$Inet6AddressHolder;->init([BI)V
HSPLjava/net/Inet6Address$Inet6AddressHolder;->isAnyLocalAddress()Z
-HSPLjava/net/Inet6Address$Inet6AddressHolder;->isLinkLocalAddress()Z
+PLjava/net/Inet6Address$Inet6AddressHolder;->isLinkLocalAddress()Z
HSPLjava/net/Inet6Address$Inet6AddressHolder;->isLoopbackAddress()Z
HSPLjava/net/Inet6Address$Inet6AddressHolder;->isMulticastAddress()Z
-HSPLjava/net/Inet6Address$Inet6AddressHolder;->isSiteLocalAddress()Z
HSPLjava/net/Inet6Address$Inet6AddressHolder;->setAddr([B)V
HSPLjava/net/Inet6Address;-><init>(Ljava/lang/String;[BI)V
HSPLjava/net/Inet6Address;->equals(Ljava/lang/Object;)Z
HSPLjava/net/Inet6Address;->getAddress()[B
HSPLjava/net/Inet6Address;->getHostAddress()Ljava/lang/String;
-HSPLjava/net/Inet6Address;->getScopeId()I
HSPLjava/net/Inet6Address;->hashCode()I
HSPLjava/net/Inet6Address;->isAnyLocalAddress()Z
-HSPLjava/net/Inet6Address;->isLinkLocalAddress()Z
+PLjava/net/Inet6Address;->isLinkLocalAddress()Z
HSPLjava/net/Inet6Address;->isLoopbackAddress()Z
HSPLjava/net/Inet6Address;->isMulticastAddress()Z
-HSPLjava/net/Inet6Address;->isSiteLocalAddress()Z
-HSPLjava/net/Inet6AddressImpl;-><init>()V
HSPLjava/net/Inet6AddressImpl;->clearAddressCache()V
HSPLjava/net/Inet6AddressImpl;->lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;
HSPLjava/net/Inet6AddressImpl;->lookupHostByName(Ljava/lang/String;I)[Ljava/net/InetAddress;
-HSPLjava/net/InetAddress$1;-><init>()V
+HSPLjava/net/InetAddress$InetAddressHolder;-><init>()V
HSPLjava/net/InetAddress$InetAddressHolder;->getAddress()I
HSPLjava/net/InetAddress$InetAddressHolder;->getHostName()Ljava/lang/String;
HSPLjava/net/InetAddress$InetAddressHolder;->init(Ljava/lang/String;I)V
+HSPLjava/net/InetAddress;-><init>()V
HSPLjava/net/InetAddress;->clearDnsCache()V
HSPLjava/net/InetAddress;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->getAllByNameOnNet(Ljava/lang/String;I)[Ljava/net/InetAddress;
@@ -27191,47 +11224,54 @@ HSPLjava/net/InetAddress;->getByAddress(Ljava/lang/String;[B)Ljava/net/InetAddre
HSPLjava/net/InetAddress;->getByAddress(Ljava/lang/String;[BI)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->getByAddress([B)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
-HSPLjava/net/InetAddress;->getByNameOnNet(Ljava/lang/String;I)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->holder()Ljava/net/InetAddress$InetAddressHolder;
-HSPLjava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->toString()Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;-><init>(Ljava/lang/String;Ljava/net/InetAddress;I)V
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;-><init>(Ljava/lang/String;Ljava/net/InetAddress;ILjava/net/InetSocketAddress$1;)V
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$400(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)I
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$500(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/net/InetAddress;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$700(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$800(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Z
HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->equals(Ljava/lang/Object;)Z
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getAddress()Ljava/net/InetAddress;
HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostString()Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getPort()I
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->hashCode()I
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->isUnresolved()Z
HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->toString()Ljava/lang/String;
-HSPLjava/net/InetSocketAddress;-><init>()V
-HSPLjava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
+HSPLjava/net/InetSocketAddress;-><init>(ILjava/lang/String;)V
HSPLjava/net/InetSocketAddress;-><init>(Ljava/net/InetAddress;I)V
+HSPLjava/net/InetSocketAddress;->checkHost(Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/InetSocketAddress;->checkPort(I)I
HSPLjava/net/InetSocketAddress;->createUnresolved(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
HSPLjava/net/InetSocketAddress;->equals(Ljava/lang/Object;)Z
HSPLjava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress;
HSPLjava/net/InetSocketAddress;->getHostString()Ljava/lang/String;
HSPLjava/net/InetSocketAddress;->getPort()I
HSPLjava/net/InetSocketAddress;->hashCode()I
+HSPLjava/net/InetSocketAddress;->isUnresolved()Z
HSPLjava/net/InetSocketAddress;->toString()Ljava/lang/String;
+HSPLjava/net/InterfaceAddress;-><init>(Ljava/net/InetAddress;Ljava/net/Inet4Address;Ljava/net/InetAddress;)V
+HSPLjava/net/InterfaceAddress;->countPrefixLength(Ljava/net/InetAddress;)S
HSPLjava/net/JarURLConnection;-><init>(Ljava/net/URL;)V
HSPLjava/net/JarURLConnection;->getEntryName()Ljava/lang/String;
HSPLjava/net/JarURLConnection;->parseSpecs(Ljava/net/URL;)V
+HSPLjava/net/NetworkInterface;-><init>(Ljava/lang/String;I[Ljava/net/InetAddress;)V
HSPLjava/net/NetworkInterface;->getAll()[Ljava/net/NetworkInterface;
+HSPLjava/net/NetworkInterface;->getName()Ljava/lang/String;
HSPLjava/net/Parts;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/PlainDatagramSocketImpl;->bind0(ILjava/net/InetAddress;)V
-HSPLjava/net/PlainDatagramSocketImpl;->datagramSocketClose()V
-HSPLjava/net/PlainDatagramSocketImpl;->datagramSocketCreate()V
-HSPLjava/net/PlainDatagramSocketImpl;->doRecv(Ljava/net/DatagramPacket;I)V
-HSPLjava/net/PlainDatagramSocketImpl;->receive0(Ljava/net/DatagramPacket;)V
-HSPLjava/net/PlainDatagramSocketImpl;->send(Ljava/net/DatagramPacket;)V
-HSPLjava/net/PlainDatagramSocketImpl;->socketGetOption(I)Ljava/lang/Object;
+HSPLjava/net/Parts;->getPath()Ljava/lang/String;
+HSPLjava/net/Parts;->getQuery()Ljava/lang/String;
+HSPLjava/net/Parts;->getRef()Ljava/lang/String;
+HSPLjava/net/PlainSocketImpl;-><init>()V
HSPLjava/net/PlainSocketImpl;->getMarkerFD()Ljava/io/FileDescriptor;
-HSPLjava/net/PlainSocketImpl;->socketBind(Ljava/net/InetAddress;I)V
HSPLjava/net/PlainSocketImpl;->socketClose0(Z)V
HSPLjava/net/PlainSocketImpl;->socketConnect(Ljava/net/InetAddress;II)V
HSPLjava/net/PlainSocketImpl;->socketCreate(Z)V
HSPLjava/net/PlainSocketImpl;->socketGetOption(I)Ljava/lang/Object;
-HSPLjava/net/PlainSocketImpl;->socketListen(I)V
HSPLjava/net/PlainSocketImpl;->socketSetOption(ILjava/lang/Object;)V
HSPLjava/net/PlainSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
-HSPLjava/net/ProtocolException;-><init>(Ljava/lang/String;)V
-HSPLjava/net/Proxy$Type;-><init>(Ljava/lang/String;I)V
-HSPLjava/net/Proxy;-><init>()V
+HSPLjava/net/Proxy$Type;->values()[Ljava/net/Proxy$Type;
HSPLjava/net/Proxy;->address()Ljava/net/SocketAddress;
HSPLjava/net/Proxy;->equals(Ljava/lang/Object;)Z
HSPLjava/net/Proxy;->hashCode()I
@@ -27239,15 +11279,13 @@ HSPLjava/net/Proxy;->type()Ljava/net/Proxy$Type;
HSPLjava/net/ProxySelector;->getDefault()Ljava/net/ProxySelector;
HSPLjava/net/ProxySelector;->setDefault(Ljava/net/ProxySelector;)V
HSPLjava/net/ResponseCache;->getDefault()Ljava/net/ResponseCache;
-HSPLjava/net/ServerSocket;->bind(Ljava/net/SocketAddress;I)V
-HSPLjava/net/ServerSocket;->createImpl()V
-HSPLjava/net/ServerSocket;->getImpl()Ljava/net/SocketImpl;
-HSPLjava/net/ServerSocket;->isBound()Z
-HSPLjava/net/ServerSocket;->isClosed()Z
-HSPLjava/net/ServerSocket;->setBound()V
-HSPLjava/net/ServerSocket;->setCreated()V
+PLjava/net/Socket$1;-><init>(Ljava/net/Socket;)V
+PLjava/net/Socket$1;->run()Ljava/lang/Boolean;
+PLjava/net/Socket$1;->run()Ljava/lang/Object;
+HSPLjava/net/Socket$2;-><init>(Ljava/net/Socket;)V
HSPLjava/net/Socket$2;->run()Ljava/io/InputStream;
HSPLjava/net/Socket$2;->run()Ljava/lang/Object;
+HSPLjava/net/Socket$3;-><init>(Ljava/net/Socket;)V
HSPLjava/net/Socket$3;->run()Ljava/io/OutputStream;
HSPLjava/net/Socket$3;->run()Ljava/lang/Object;
HSPLjava/net/Socket;-><init>()V
@@ -27255,6 +11293,7 @@ HSPLjava/net/Socket;-><init>(Ljava/net/InetAddress;I)V
HSPLjava/net/Socket;-><init>(Ljava/net/SocketImpl;)V
HSPLjava/net/Socket;-><init>([Ljava/net/InetAddress;ILjava/net/SocketAddress;Z)V
HSPLjava/net/Socket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
+PLjava/net/Socket;->checkOldImpl()V
HSPLjava/net/Socket;->close()V
HSPLjava/net/Socket;->connect(Ljava/net/SocketAddress;)V
HSPLjava/net/Socket;->connect(Ljava/net/SocketAddress;I)V
@@ -27276,69 +11315,136 @@ HSPLjava/net/Socket;->isClosed()Z
HSPLjava/net/Socket;->isConnected()Z
HSPLjava/net/Socket;->isInputShutdown()Z
HSPLjava/net/Socket;->isOutputShutdown()Z
+HSPLjava/net/Socket;->nonNullAddress(Ljava/net/InetAddress;)[Ljava/net/InetAddress;
HSPLjava/net/Socket;->setBound()V
HSPLjava/net/Socket;->setConnected()V
HSPLjava/net/Socket;->setCreated()V
HSPLjava/net/Socket;->setImpl()V
HSPLjava/net/Socket;->setSoTimeout(I)V
HSPLjava/net/Socket;->setTcpNoDelay(Z)V
+HSPLjava/net/SocketAddress;-><init>()V
HSPLjava/net/SocketException;-><init>(Ljava/lang/String;)V
+HSPLjava/net/SocketImpl;-><init>()V
HSPLjava/net/SocketImpl;->getFileDescriptor()Ljava/io/FileDescriptor;
+HSPLjava/net/SocketImpl;->getInetAddress()Ljava/net/InetAddress;
+HSPLjava/net/SocketImpl;->getLocalPort()I
+HSPLjava/net/SocketImpl;->getPort()I
HSPLjava/net/SocketImpl;->getSocket()Ljava/net/Socket;
-HSPLjava/net/SocketImpl;->setServerSocket(Ljava/net/ServerSocket;)V
HSPLjava/net/SocketImpl;->setSocket(Ljava/net/Socket;)V
+HSPLjava/net/SocketInputStream;-><init>(Ljava/net/AbstractPlainSocketImpl;)V
HSPLjava/net/SocketInputStream;->finalize()V
+HSPLjava/net/SocketOutputStream;-><init>(Ljava/net/AbstractPlainSocketImpl;)V
HSPLjava/net/SocketOutputStream;->finalize()V
HSPLjava/net/SocketTimeoutException;-><init>(Ljava/lang/String;)V
+HSPLjava/net/SocksSocketImpl;-><init>()V
HSPLjava/net/SocksSocketImpl;->close()V
HSPLjava/net/SocksSocketImpl;->connect(Ljava/net/SocketAddress;I)V
HSPLjava/net/SocksSocketImpl;->getInetAddress()Ljava/net/InetAddress;
HSPLjava/net/SocksSocketImpl;->getLocalPort()I
HSPLjava/net/SocksSocketImpl;->getPort()I
-HSPLjava/net/StandardProtocolFamily;-><init>(Ljava/lang/String;I)V
+HSPLjava/net/SocksSocketImpl;->remainingMillis(J)I
+HSPLjava/net/URI$Parser;-><init>(Ljava/net/URI;Ljava/lang/String;)V
+HSPLjava/net/URI$Parser;->at(IIC)Z
+HSPLjava/net/URI$Parser;->charAt(I)C
+HSPLjava/net/URI$Parser;->checkChar(IJJLjava/lang/String;)V
+HSPLjava/net/URI$Parser;->checkChars(IIJJLjava/lang/String;)V
HSPLjava/net/URI$Parser;->parse(Z)V
HSPLjava/net/URI$Parser;->parseAuthority(II)I
HSPLjava/net/URI$Parser;->parseHierarchical(II)I
HSPLjava/net/URI$Parser;->parseHostname(II)I
HSPLjava/net/URI$Parser;->parseIPv4Address(II)I
HSPLjava/net/URI$Parser;->parseServer(II)I
+HSPLjava/net/URI$Parser;->scan(IIC)I
HSPLjava/net/URI$Parser;->scan(IIJJ)I
+HSPLjava/net/URI$Parser;->scan(IILjava/lang/String;Ljava/lang/String;)I
+HSPLjava/net/URI$Parser;->scanEscape(IIC)I
HSPLjava/net/URI$Parser;->scanIPv4Address(IIZ)I
+HSPLjava/net/URI$Parser;->substring(II)Ljava/lang/String;
HSPLjava/net/URI;-><init>(Ljava/lang/String;)V
HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLjava/net/URI;->access$002(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$100()J
+HSPLjava/net/URI;->access$1002(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$1200()J
+HSPLjava/net/URI;->access$1300()J
+HSPLjava/net/URI;->access$1402(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$1502(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$1600()J
+HSPLjava/net/URI;->access$1700()J
+HSPLjava/net/URI;->access$200()J
+HSPLjava/net/URI;->access$2000()J
+HSPLjava/net/URI;->access$2100()J
+HSPLjava/net/URI;->access$2202(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$2402(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$2502(Ljava/net/URI;I)I
+HSPLjava/net/URI;->access$2800()J
+HSPLjava/net/URI;->access$2900()J
+HSPLjava/net/URI;->access$300(CJJ)Z
+HSPLjava/net/URI;->access$3000()J
+HSPLjava/net/URI;->access$3100()J
+HSPLjava/net/URI;->access$3200()J
+HSPLjava/net/URI;->access$3300()J
+HSPLjava/net/URI;->access$3400()J
+HSPLjava/net/URI;->access$3500()J
+HSPLjava/net/URI;->access$3600()J
+HSPLjava/net/URI;->access$400()J
+HSPLjava/net/URI;->access$500()J
+HSPLjava/net/URI;->access$600()J
+HSPLjava/net/URI;->access$702(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$800()J
+HSPLjava/net/URI;->access$900()J
HSPLjava/net/URI;->appendAuthority(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+HSPLjava/net/URI;->appendFragment(Ljava/lang/StringBuffer;Ljava/lang/String;)V
HSPLjava/net/URI;->appendSchemeSpecificPart(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HSPLjava/net/URI;->checkPath(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;
HSPLjava/net/URI;->decode(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/URI;->defineString()V
-HSPLjava/net/URI;->encode(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/URI;->getAuthority()Ljava/lang/String;
HSPLjava/net/URI;->getFragment()Ljava/lang/String;
HSPLjava/net/URI;->getHost()Ljava/lang/String;
HSPLjava/net/URI;->getPath()Ljava/lang/String;
HSPLjava/net/URI;->getPort()I
HSPLjava/net/URI;->getQuery()Ljava/lang/String;
+PLjava/net/URI;->getRawQuery()Ljava/lang/String;
HSPLjava/net/URI;->getScheme()Ljava/lang/String;
HSPLjava/net/URI;->getUserInfo()Ljava/lang/String;
+HSPLjava/net/URI;->hash(ILjava/lang/String;)I
+HSPLjava/net/URI;->hashCode()I
+HSPLjava/net/URI;->hashIgnoringCase(ILjava/lang/String;)I
+HSPLjava/net/URI;->isAbsolute()Z
+HSPLjava/net/URI;->isOpaque()Z
HSPLjava/net/URI;->match(CJJ)Z
HSPLjava/net/URI;->quote(Ljava/lang/String;JJ)Ljava/lang/String;
-HSPLjava/net/URI;->toASCIIString()Ljava/lang/String;
+HSPLjava/net/URI;->toLower(C)I
HSPLjava/net/URI;->toString()Ljava/lang/String;
HSPLjava/net/URI;->toString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/URL;-><init>(Ljava/lang/String;)V
HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
+HSPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;)V
HSPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V
HSPLjava/net/URL;->createBuiltinHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
+HSPLjava/net/URL;->getAuthority()Ljava/lang/String;
+HSPLjava/net/URL;->getFile()Ljava/lang/String;
HSPLjava/net/URL;->getHost()Ljava/lang/String;
+HSPLjava/net/URL;->getPath()Ljava/lang/String;
+HSPLjava/net/URL;->getPort()I
HSPLjava/net/URL;->getProtocol()Ljava/lang/String;
+HSPLjava/net/URL;->getQuery()Ljava/lang/String;
+HSPLjava/net/URL;->getRef()Ljava/lang/String;
HSPLjava/net/URL;->getURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
+HSPLjava/net/URL;->getUserInfo()Ljava/lang/String;
HSPLjava/net/URL;->isValidProtocol(Ljava/lang/String;)Z
HSPLjava/net/URL;->openConnection()Ljava/net/URLConnection;
+HSPLjava/net/URL;->openStream()Ljava/io/InputStream;
HSPLjava/net/URL;->set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/net/URL;->toExternalForm()Ljava/lang/String;
HSPLjava/net/URL;->toString()Ljava/lang/String;
+HSPLjava/net/URLConnection;-><init>(Ljava/net/URL;)V
+HSPLjava/net/URLConnection;->getContentEncoding()Ljava/lang/String;
+HSPLjava/net/URLConnection;->getContentLength()I
HSPLjava/net/URLConnection;->getContentLengthLong()J
HSPLjava/net/URLConnection;->getContentType()Ljava/lang/String;
HSPLjava/net/URLConnection;->getHeaderFieldLong(Ljava/lang/String;J)J
@@ -27346,36 +11452,85 @@ HSPLjava/net/URLConnection;->getURL()Ljava/net/URL;
HSPLjava/net/URLConnection;->getUseCaches()Z
HSPLjava/net/URLConnection;->setDoInput(Z)V
HSPLjava/net/URLConnection;->setDoOutput(Z)V
-HSPLjava/net/URLConnection;->setReadTimeout(I)V
HSPLjava/net/URLConnection;->setUseCaches(Z)V
HSPLjava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URLStreamHandler;-><init>()V
HSPLjava/net/URLStreamHandler;->parseURL(Ljava/net/URL;Ljava/lang/String;II)V
HSPLjava/net/URLStreamHandler;->setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/net/URLStreamHandler;->toExternalForm(Ljava/net/URL;)Ljava/lang/String;
+PLjava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+HSPLjava/nio/Bits;->byteOrder()Ljava/nio/ByteOrder;
+HSPLjava/nio/Bits;->char0(C)B
+HSPLjava/nio/Bits;->char1(C)B
+HSPLjava/nio/Bits;->getFloat(Ljava/nio/ByteBuffer;IZ)F
+HSPLjava/nio/Bits;->getFloatL(Ljava/nio/ByteBuffer;I)F
+HSPLjava/nio/Bits;->getInt(Ljava/nio/ByteBuffer;IZ)I
+HSPLjava/nio/Bits;->getIntB(Ljava/nio/ByteBuffer;I)I
+HSPLjava/nio/Bits;->getIntL(Ljava/nio/ByteBuffer;I)I
+HSPLjava/nio/Bits;->getLong(Ljava/nio/ByteBuffer;IZ)J
HSPLjava/nio/Bits;->getLongB(Ljava/nio/ByteBuffer;I)J
HSPLjava/nio/Bits;->getLongL(Ljava/nio/ByteBuffer;I)J
+HSPLjava/nio/Bits;->getShort(Ljava/nio/ByteBuffer;IZ)S
+PLjava/nio/Bits;->getShortB(Ljava/nio/ByteBuffer;I)S
+HSPLjava/nio/Bits;->getShortL(Ljava/nio/ByteBuffer;I)S
+HSPLjava/nio/Bits;->int0(I)B
+HSPLjava/nio/Bits;->int1(I)B
+HSPLjava/nio/Bits;->int2(I)B
+HSPLjava/nio/Bits;->int3(I)B
+HSPLjava/nio/Bits;->long0(J)B
+HSPLjava/nio/Bits;->long1(J)B
+HSPLjava/nio/Bits;->long2(J)B
+HSPLjava/nio/Bits;->long3(J)B
+HSPLjava/nio/Bits;->long4(J)B
+HSPLjava/nio/Bits;->long5(J)B
+HSPLjava/nio/Bits;->long6(J)B
+HSPLjava/nio/Bits;->long7(J)B
+HSPLjava/nio/Bits;->makeInt(BBBB)I
HSPLjava/nio/Bits;->makeLong(BBBBBBBB)J
+HSPLjava/nio/Bits;->makeShort(BB)S
+HSPLjava/nio/Bits;->putChar(Ljava/nio/ByteBuffer;ICZ)V
+HSPLjava/nio/Bits;->putCharB(Ljava/nio/ByteBuffer;IC)V
+HSPLjava/nio/Bits;->putInt(Ljava/nio/ByteBuffer;IIZ)V
HSPLjava/nio/Bits;->putIntB(Ljava/nio/ByteBuffer;II)V
HSPLjava/nio/Bits;->putIntL(Ljava/nio/ByteBuffer;II)V
+HSPLjava/nio/Bits;->putLong(Ljava/nio/ByteBuffer;IJZ)V
HSPLjava/nio/Bits;->putLongB(Ljava/nio/ByteBuffer;IJ)V
HSPLjava/nio/Bits;->putLongL(Ljava/nio/ByteBuffer;IJ)V
+HSPLjava/nio/Bits;->putShort(Ljava/nio/ByteBuffer;ISZ)V
+HSPLjava/nio/Bits;->putShortB(Ljava/nio/ByteBuffer;IS)V
+HSPLjava/nio/Bits;->short0(S)B
+HSPLjava/nio/Bits;->short1(S)B
HSPLjava/nio/Buffer;-><init>(IIIII)V
HSPLjava/nio/Buffer;->capacity()I
HSPLjava/nio/Buffer;->checkBounds(III)V
HSPLjava/nio/Buffer;->checkIndex(I)I
HSPLjava/nio/Buffer;->checkIndex(II)I
+HSPLjava/nio/Buffer;->clear()Ljava/nio/Buffer;
+HSPLjava/nio/Buffer;->discardMark()V
+HSPLjava/nio/Buffer;->flip()Ljava/nio/Buffer;
HSPLjava/nio/Buffer;->hasRemaining()Z
HSPLjava/nio/Buffer;->limit()I
+HSPLjava/nio/Buffer;->limit(I)Ljava/nio/Buffer;
+HSPLjava/nio/Buffer;->mark()Ljava/nio/Buffer;
+HSPLjava/nio/Buffer;->markValue()I
+HSPLjava/nio/Buffer;->nextGetIndex()I
+HSPLjava/nio/Buffer;->nextGetIndex(I)I
+HSPLjava/nio/Buffer;->nextPutIndex()I
+HSPLjava/nio/Buffer;->nextPutIndex(I)I
HSPLjava/nio/Buffer;->position()I
HSPLjava/nio/Buffer;->position(I)Ljava/nio/Buffer;
HSPLjava/nio/Buffer;->remaining()I
+HSPLjava/nio/Buffer;->reset()Ljava/nio/Buffer;
+HSPLjava/nio/Buffer;->rewind()Ljava/nio/Buffer;
+HSPLjava/nio/ByteBuffer;-><init>(IIII)V
HSPLjava/nio/ByteBuffer;-><init>(IIII[BI)V
HSPLjava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
HSPLjava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
HSPLjava/nio/ByteBuffer;->array()[B
HSPLjava/nio/ByteBuffer;->arrayOffset()I
HSPLjava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
+HSPLjava/nio/ByteBuffer;->compare(BB)I
HSPLjava/nio/ByteBuffer;->compareTo(Ljava/nio/ByteBuffer;)I
HSPLjava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
HSPLjava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
@@ -27394,7 +11549,6 @@ HSPLjava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
HSPLjava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;
HSPLjava/nio/ByteBufferAsCharBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
HSPLjava/nio/ByteBufferAsCharBuffer;->duplicate()Ljava/nio/CharBuffer;
-HSPLjava/nio/ByteBufferAsCharBuffer;->get()C
HSPLjava/nio/ByteBufferAsCharBuffer;->get(I)C
HSPLjava/nio/ByteBufferAsCharBuffer;->get([CII)Ljava/nio/CharBuffer;
HSPLjava/nio/ByteBufferAsCharBuffer;->isDirect()Z
@@ -27404,22 +11558,19 @@ HSPLjava/nio/ByteBufferAsCharBuffer;->subSequence(II)Ljava/nio/CharBuffer;
HSPLjava/nio/ByteBufferAsCharBuffer;->toString(II)Ljava/lang/String;
HSPLjava/nio/ByteBufferAsFloatBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
HSPLjava/nio/ByteBufferAsFloatBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsFloatBuffer;->put(IF)Ljava/nio/FloatBuffer;
HSPLjava/nio/ByteBufferAsIntBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
HSPLjava/nio/ByteBufferAsIntBuffer;->get([III)Ljava/nio/IntBuffer;
HSPLjava/nio/ByteBufferAsIntBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsLongBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
-HSPLjava/nio/ByteBufferAsLongBuffer;->get([JII)Ljava/nio/LongBuffer;
-HSPLjava/nio/ByteBufferAsLongBuffer;->ix(I)I
HSPLjava/nio/ByteBufferAsShortBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
HSPLjava/nio/ByteBufferAsShortBuffer;->get([SII)Ljava/nio/ShortBuffer;
HSPLjava/nio/ByteBufferAsShortBuffer;->ix(I)I
HSPLjava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
+HSPLjava/nio/CharBuffer;-><init>(IIII)V
+HSPLjava/nio/CharBuffer;-><init>(IIII[CI)V
HSPLjava/nio/CharBuffer;->allocate(I)Ljava/nio/CharBuffer;
HSPLjava/nio/CharBuffer;->array()[C
HSPLjava/nio/CharBuffer;->arrayOffset()I
HSPLjava/nio/CharBuffer;->charAt(I)C
-HSPLjava/nio/CharBuffer;->clear()Ljava/nio/Buffer;
HSPLjava/nio/CharBuffer;->flip()Ljava/nio/Buffer;
HSPLjava/nio/CharBuffer;->get([C)Ljava/nio/CharBuffer;
HSPLjava/nio/CharBuffer;->get([CII)Ljava/nio/CharBuffer;
@@ -27430,51 +11581,58 @@ HSPLjava/nio/CharBuffer;->position(I)Ljava/nio/Buffer;
HSPLjava/nio/CharBuffer;->toString()Ljava/lang/String;
HSPLjava/nio/CharBuffer;->wrap(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
HSPLjava/nio/CharBuffer;->wrap(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;
+HSPLjava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer;
HSPLjava/nio/CharBuffer;->wrap([CII)Ljava/nio/CharBuffer;
HSPLjava/nio/DirectByteBuffer$MemoryRef;-><init>(I)V
-HSPLjava/nio/DirectByteBuffer$MemoryRef;->free()V
+HSPLjava/nio/DirectByteBuffer$MemoryRef;-><init>(JLjava/lang/Object;)V
HSPLjava/nio/DirectByteBuffer;-><init>(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)V
+HSPLjava/nio/DirectByteBuffer;-><init>(ILjava/nio/DirectByteBuffer$MemoryRef;)V
HSPLjava/nio/DirectByteBuffer;-><init>(JI)V
+HSPLjava/nio/DirectByteBuffer;-><init>(Ljava/nio/DirectByteBuffer$MemoryRef;IIIIIZ)V
HSPLjava/nio/DirectByteBuffer;->address()J
HSPLjava/nio/DirectByteBuffer;->asCharBuffer()Ljava/nio/CharBuffer;
HSPLjava/nio/DirectByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;
HSPLjava/nio/DirectByteBuffer;->asIntBuffer()Ljava/nio/IntBuffer;
-HSPLjava/nio/DirectByteBuffer;->asLongBuffer()Ljava/nio/LongBuffer;
HSPLjava/nio/DirectByteBuffer;->asReadOnlyBuffer()Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->asShortBuffer()Ljava/nio/ShortBuffer;
HSPLjava/nio/DirectByteBuffer;->cleaner()Lsun/misc/Cleaner;
HSPLjava/nio/DirectByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->get()B
HSPLjava/nio/DirectByteBuffer;->get(I)B
+HSPLjava/nio/DirectByteBuffer;->get(J)B
HSPLjava/nio/DirectByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->getChar()C
HSPLjava/nio/DirectByteBuffer;->getChar(I)C
HSPLjava/nio/DirectByteBuffer;->getCharUnchecked(I)C
HSPLjava/nio/DirectByteBuffer;->getInt()I
HSPLjava/nio/DirectByteBuffer;->getInt(I)I
+HSPLjava/nio/DirectByteBuffer;->getInt(J)I
HSPLjava/nio/DirectByteBuffer;->getLong(I)J
+HSPLjava/nio/DirectByteBuffer;->getLong(J)J
HSPLjava/nio/DirectByteBuffer;->getShort(I)S
+HSPLjava/nio/DirectByteBuffer;->getShort(J)S
HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[CII)V
HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[III)V
-HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[JII)V
HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[SII)V
HSPLjava/nio/DirectByteBuffer;->isDirect()Z
HSPLjava/nio/DirectByteBuffer;->isReadOnly()Z
-HSPLjava/nio/DirectByteBuffer;->put(B)Ljava/nio/ByteBuffer;
+HSPLjava/nio/DirectByteBuffer;->ix(I)J
HSPLjava/nio/DirectByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->putFloatUnchecked(IF)V
-HSPLjava/nio/DirectByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->setAccessible(Z)V
+HSPLjava/nio/DirectByteBuffer;->putInt(JI)Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->slice()Ljava/nio/ByteBuffer;
+HSPLjava/nio/FloatBuffer;-><init>(IIII)V
+HSPLjava/nio/FloatBuffer;-><init>(IIII[FI)V
HSPLjava/nio/FloatBuffer;->limit(I)Ljava/nio/Buffer;
HSPLjava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
+HSPLjava/nio/HeapByteBuffer;-><init>(II)V
+HSPLjava/nio/HeapByteBuffer;-><init>(IIZ)V
+HSPLjava/nio/HeapByteBuffer;-><init>([BII)V
+HSPLjava/nio/HeapByteBuffer;-><init>([BIIIIIZ)V
+HSPLjava/nio/HeapByteBuffer;-><init>([BIIZ)V
HSPLjava/nio/HeapByteBuffer;->_get(I)B
HSPLjava/nio/HeapByteBuffer;->_put(IB)V
HSPLjava/nio/HeapByteBuffer;->asReadOnlyBuffer()Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->asShortBuffer()Ljava/nio/ShortBuffer;
HSPLjava/nio/HeapByteBuffer;->compact()Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->get()B
@@ -27489,134 +11647,120 @@ HSPLjava/nio/HeapByteBuffer;->getShort()S
HSPLjava/nio/HeapByteBuffer;->getShort(I)S
HSPLjava/nio/HeapByteBuffer;->isDirect()Z
HSPLjava/nio/HeapByteBuffer;->isReadOnly()Z
+HSPLjava/nio/HeapByteBuffer;->ix(I)I
HSPLjava/nio/HeapByteBuffer;->put(B)Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->putChar(C)Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
+HSPLjava/nio/HeapByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putShort(IS)Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->slice()Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapCharBuffer;->get()C
+HSPLjava/nio/HeapCharBuffer;-><init>(II)V
+HSPLjava/nio/HeapCharBuffer;-><init>(IIZ)V
+HSPLjava/nio/HeapCharBuffer;-><init>([CII)V
+HSPLjava/nio/HeapCharBuffer;-><init>([CIIIIIZ)V
+HSPLjava/nio/HeapCharBuffer;-><init>([CIIZ)V
HSPLjava/nio/HeapCharBuffer;->get(I)C
HSPLjava/nio/HeapCharBuffer;->ix(I)I
HSPLjava/nio/HeapCharBuffer;->put(Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer;
HSPLjava/nio/HeapCharBuffer;->put([CII)Ljava/nio/CharBuffer;
HSPLjava/nio/HeapCharBuffer;->slice()Ljava/nio/CharBuffer;
HSPLjava/nio/HeapCharBuffer;->toString(II)Ljava/lang/String;
+HSPLjava/nio/IntBuffer;-><init>(IIII)V
+HSPLjava/nio/IntBuffer;-><init>(IIII[II)V
HSPLjava/nio/IntBuffer;->get([I)Ljava/nio/IntBuffer;
HSPLjava/nio/IntBuffer;->limit(I)Ljava/nio/Buffer;
HSPLjava/nio/IntBuffer;->position(I)Ljava/nio/Buffer;
-HSPLjava/nio/LongBuffer;->get([J)Ljava/nio/LongBuffer;
-HSPLjava/nio/LongBuffer;->limit(I)Ljava/nio/Buffer;
-HSPLjava/nio/LongBuffer;->position(I)Ljava/nio/Buffer;
-HSPLjava/nio/MappedByteBuffer;->load()Ljava/nio/MappedByteBuffer;
-HSPLjava/nio/NIOAccess;->getBasePointer(Ljava/nio/Buffer;)J
-HSPLjava/nio/NioUtils;->freeDirectBuffer(Ljava/nio/ByteBuffer;)V
+HSPLjava/nio/MappedByteBuffer;-><init>(IIII)V
+HSPLjava/nio/MappedByteBuffer;-><init>(IIIILjava/io/FileDescriptor;)V
+HSPLjava/nio/MappedByteBuffer;-><init>(IIII[BI)V
+HSPLjava/nio/ShortBuffer;-><init>(IIII)V
+HSPLjava/nio/ShortBuffer;-><init>(IIII[SI)V
HSPLjava/nio/ShortBuffer;->get([S)Ljava/nio/ShortBuffer;
HSPLjava/nio/ShortBuffer;->limit(I)Ljava/nio/Buffer;
HSPLjava/nio/ShortBuffer;->position(I)Ljava/nio/Buffer;
HSPLjava/nio/StringCharBuffer;-><init>(Ljava/lang/CharSequence;II)V
HSPLjava/nio/StringCharBuffer;->get()C
-HSPLjava/nio/StringCharBuffer;->get(I)C
+HSPLjava/nio/channels/Channels$1;-><init>(Ljava/nio/channels/WritableByteChannel;)V
+HSPLjava/nio/channels/Channels$1;->write([BII)V
+HSPLjava/nio/channels/Channels;->access$000(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
+HSPLjava/nio/channels/Channels;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
HSPLjava/nio/channels/Channels;->newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;
-HSPLjava/nio/channels/FileChannel$MapMode;-><init>(Ljava/lang/String;)V
-HSPLjava/nio/channels/FileChannel;->tryLock()Ljava/nio/channels/FileLock;
+HSPLjava/nio/channels/Channels;->newOutputStream(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
+HSPLjava/nio/channels/Channels;->writeFully(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
+HSPLjava/nio/channels/Channels;->writeFullyImpl(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
+HSPLjava/nio/channels/FileChannel;-><init>()V
+HSPLjava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
HSPLjava/nio/channels/FileLock;-><init>(Ljava/nio/channels/FileChannel;JJZ)V
HSPLjava/nio/channels/FileLock;->acquiredBy()Ljava/nio/channels/Channel;
+HSPLjava/nio/channels/FileLock;->position()J
+HSPLjava/nio/channels/FileLock;->size()J
+HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;-><init>()V
HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->begin()V
+HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->blockedOn(Lsun/nio/ch/Interruptible;)V
HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->close()V
HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->end(Z)V
+HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->isOpen()Z
HSPLjava/nio/charset/Charset;-><init>(Ljava/lang/String;[Ljava/lang/String;)V
HSPLjava/nio/charset/Charset;->aliases()Ljava/util/Set;
HSPLjava/nio/charset/Charset;->atBugLevel(Ljava/lang/String;)Z
HSPLjava/nio/charset/Charset;->cache(Ljava/lang/String;Ljava/nio/charset/Charset;)V
HSPLjava/nio/charset/Charset;->checkName(Ljava/lang/String;)V
-HSPLjava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
HSPLjava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
-HSPLjava/nio/charset/Charset;->encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
HSPLjava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z
HSPLjava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
HSPLjava/nio/charset/Charset;->forNameUEE(Ljava/lang/String;)Ljava/nio/charset/Charset;
+HSPLjava/nio/charset/Charset;->isSupported(Ljava/lang/String;)Z
HSPLjava/nio/charset/Charset;->lookup(Ljava/lang/String;)Ljava/nio/charset/Charset;
HSPLjava/nio/charset/Charset;->lookup2(Ljava/lang/String;)Ljava/nio/charset/Charset;
HSPLjava/nio/charset/Charset;->name()Ljava/lang/String;
HSPLjava/nio/charset/CharsetDecoder;-><init>(Ljava/nio/charset/Charset;FF)V
HSPLjava/nio/charset/CharsetDecoder;-><init>(Ljava/nio/charset/Charset;FFLjava/lang/String;)V
+HSPLjava/nio/charset/CharsetDecoder;->averageCharsPerByte()F
+HSPLjava/nio/charset/CharsetDecoder;->charset()Ljava/nio/charset/Charset;
HSPLjava/nio/charset/CharsetDecoder;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
HSPLjava/nio/charset/CharsetDecoder;->decode(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
+HSPLjava/nio/charset/CharsetDecoder;->flush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
+HSPLjava/nio/charset/CharsetDecoder;->malformedInputAction()Ljava/nio/charset/CodingErrorAction;
HSPLjava/nio/charset/CharsetDecoder;->maxCharsPerByte()F
HSPLjava/nio/charset/CharsetDecoder;->onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
HSPLjava/nio/charset/CharsetDecoder;->onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
HSPLjava/nio/charset/CharsetDecoder;->replaceWith(Ljava/lang/String;)Ljava/nio/charset/CharsetDecoder;
+HSPLjava/nio/charset/CharsetDecoder;->replacement()Ljava/lang/String;
HSPLjava/nio/charset/CharsetDecoder;->reset()Ljava/nio/charset/CharsetDecoder;
-HSPLjava/nio/charset/CharsetDecoderICU;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetDecoderICU;->getArray(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/charset/CharsetDecoderICU;->getArray(Ljava/nio/CharBuffer;)I
-HSPLjava/nio/charset/CharsetDecoderICU;->implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetDecoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V
-HSPLjava/nio/charset/CharsetDecoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V
-HSPLjava/nio/charset/CharsetDecoderICU;->implReplaceWith(Ljava/lang/String;)V
-HSPLjava/nio/charset/CharsetDecoderICU;->implReset()V
-HSPLjava/nio/charset/CharsetDecoderICU;->newInstance(Ljava/nio/charset/Charset;Ljava/lang/String;)Ljava/nio/charset/CharsetDecoderICU;
-HSPLjava/nio/charset/CharsetDecoderICU;->setPosition(Ljava/nio/CharBuffer;)V
+HSPLjava/nio/charset/CharsetDecoder;->unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;
HSPLjava/nio/charset/CharsetEncoder;-><init>(Ljava/nio/charset/Charset;FF[BZ)V
+HSPLjava/nio/charset/CharsetEncoder;->averageBytesPerChar()F
+HSPLjava/nio/charset/CharsetEncoder;->charset()Ljava/nio/charset/Charset;
HSPLjava/nio/charset/CharsetEncoder;->encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
HSPLjava/nio/charset/CharsetEncoder;->encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
+HSPLjava/nio/charset/CharsetEncoder;->flush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
+HSPLjava/nio/charset/CharsetEncoder;->malformedInputAction()Ljava/nio/charset/CodingErrorAction;
+HSPLjava/nio/charset/CharsetEncoder;->maxBytesPerChar()F
HSPLjava/nio/charset/CharsetEncoder;->onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
HSPLjava/nio/charset/CharsetEncoder;->onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
HSPLjava/nio/charset/CharsetEncoder;->replacement()[B
-HSPLjava/nio/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I
-HSPLjava/nio/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetEncoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V
-HSPLjava/nio/charset/CharsetEncoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V
-HSPLjava/nio/charset/CharsetEncoderICU;->implReset()V
-HSPLjava/nio/charset/CharsetEncoderICU;->newInstance(Ljava/nio/charset/Charset;Ljava/lang/String;)Ljava/nio/charset/CharsetEncoderICU;
-HSPLjava/nio/charset/CharsetEncoderICU;->setPosition(Ljava/nio/ByteBuffer;)V
-HSPLjava/nio/charset/CharsetICU;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLjava/nio/charset/CharsetICU;->newDecoder()Ljava/nio/charset/CharsetDecoder;
-HSPLjava/nio/charset/CharsetICU;->newEncoder()Ljava/nio/charset/CharsetEncoder;
-HSPLjava/nio/charset/CoderResult$1;-><init>()V
-HSPLjava/nio/charset/CoderResult$2;-><init>()V
-HSPLjava/nio/charset/CoderResult;-><init>(II)V
+HSPLjava/nio/charset/CharsetEncoder;->reset()Ljava/nio/charset/CharsetEncoder;
+HSPLjava/nio/charset/CharsetEncoder;->unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;
HSPLjava/nio/charset/CoderResult;->isError()Z
HSPLjava/nio/charset/CoderResult;->isOverflow()Z
HSPLjava/nio/charset/CoderResult;->isUnderflow()Z
-HSPLjava/nio/charset/CodingErrorAction;-><init>(Ljava/lang/String;)V
-HSPLjava/nio/file/AccessMode;-><init>(Ljava/lang/String;I)V
-HSPLjava/nio/file/FileSystems$DefaultFileSystemHolder;->defaultFileSystem()Ljava/nio/file/FileSystem;
-HSPLjava/nio/file/FileSystems$DefaultFileSystemHolder;->getDefaultProvider()Ljava/nio/file/spi/FileSystemProvider;
+HSPLjava/nio/file/FileSystemException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/nio/file/FileSystems;->getDefault()Ljava/nio/file/FileSystem;
-PLjava/nio/file/Files$1;->accept(Ljava/lang/Object;)Z
-PLjava/nio/file/Files$1;->accept(Ljava/nio/file/Path;)Z
-HSPLjava/nio/file/Files$AcceptAllFilter;-><init>()V
-HSPLjava/nio/file/Files$AcceptAllFilter;->accept(Ljava/lang/Object;)Z
-HSPLjava/nio/file/Files$AcceptAllFilter;->accept(Ljava/nio/file/Path;)Z
-HSPLjava/nio/file/Files;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLjava/nio/file/Files;->createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Files;->exists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
-HSPLjava/nio/file/Files;->followLinks([Ljava/nio/file/LinkOption;)Z
HSPLjava/nio/file/Files;->isRegularFile(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
-HSPLjava/nio/file/Files;->newBufferedReader(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
-HSPLjava/nio/file/Files;->newBufferedReader(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
-HPLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
-HPLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
-HSPLjava/nio/file/Files;->read(Ljava/io/InputStream;I)[B
-HSPLjava/nio/file/Files;->readAllBytes(Ljava/nio/file/Path;)[B
-HSPLjava/nio/file/LinkOption;-><init>(Ljava/lang/String;I)V
+HSPLjava/nio/file/Files;->newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
+HSPLjava/nio/file/Files;->newByteChannel(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/SeekableByteChannel;
+HSPLjava/nio/file/Files;->provider(Ljava/nio/file/Path;)Ljava/nio/file/spi/FileSystemProvider;
+HSPLjava/nio/file/Files;->readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
+HSPLjava/nio/file/NoSuchFileException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/nio/file/Paths;->get(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
-HSPLjava/nio/file/StandardOpenOption;-><init>(Ljava/lang/String;I)V
-HSPLjava/nio/file/spi/FileSystemProvider;->newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
+HSPLjava/security/AccessControlContext;-><init>([Ljava/security/ProtectionDomain;)V
HSPLjava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
HSPLjava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
+HSPLjava/security/AccessController;->getContext()Ljava/security/AccessControlContext;
HSPLjava/security/AlgorithmParameters;->getInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
-HSPLjava/security/AlgorithmParametersSpi;-><init>()V
-HSPLjava/security/BasicPermission;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/security/CryptoPrimitive;-><init>(Ljava/lang/String;I)V
-HSPLjava/security/CryptoPrimitive;->values()[Ljava/security/CryptoPrimitive;
+HSPLjava/security/GeneralSecurityException;-><init>(Ljava/lang/String;)V
HSPLjava/security/KeyFactory;-><init>(Ljava/lang/String;)V
HSPLjava/security/KeyFactory;->generatePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
HSPLjava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
@@ -27626,88 +11770,122 @@ HSPLjava/security/KeyFactorySpi;-><init>()V
HSPLjava/security/KeyPair;-><init>(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V
HSPLjava/security/KeyPair;->getPrivate()Ljava/security/PrivateKey;
HSPLjava/security/KeyPair;->getPublic()Ljava/security/PublicKey;
+HSPLjava/security/KeyPairGenerator$Delegate;->generateKeyPair()Ljava/security/KeyPair;
+HSPLjava/security/KeyPairGenerator;-><init>(Ljava/lang/String;)V
+HSPLjava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
+HSPLjava/security/KeyPairGeneratorSpi;-><init>()V
+HSPLjava/security/KeyStore$1;-><init>()V
+HSPLjava/security/KeyStore$1;->run()Ljava/lang/Object;
+HSPLjava/security/KeyStore$1;->run()Ljava/lang/String;
+HSPLjava/security/KeyStore;-><init>(Ljava/security/KeyStoreSpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjava/security/KeyStore;->aliases()Ljava/util/Enumeration;
-HSPLjava/security/KeyStore;->containsAlias(Ljava/lang/String;)Z
HSPLjava/security/KeyStore;->getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
HSPLjava/security/KeyStore;->getDefaultType()Ljava/lang/String;
-HSPLjava/security/KeyStore;->getEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
HSPLjava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
HSPLjava/security/KeyStore;->getKey(Ljava/lang/String;[C)Ljava/security/Key;
HSPLjava/security/KeyStore;->getType()Ljava/lang/String;
HSPLjava/security/KeyStore;->load(Ljava/io/InputStream;[C)V
HSPLjava/security/KeyStore;->load(Ljava/security/KeyStore$LoadStoreParameter;)V
-HSPLjava/security/KeyStore;->setCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
HSPLjava/security/KeyStoreSpi;-><init>()V
-HSPLjava/security/KeyStoreSpi;->engineGetEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
HSPLjava/security/KeyStoreSpi;->engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V
+HSPLjava/security/MessageDigest$Delegate;-><init>(Ljava/security/MessageDigestSpi;Ljava/lang/String;)V
+HPLjava/security/MessageDigest$Delegate;->clone()Ljava/lang/Object;
HSPLjava/security/MessageDigest$Delegate;->engineDigest()[B
HSPLjava/security/MessageDigest$Delegate;->engineDigest([BII)I
HSPLjava/security/MessageDigest$Delegate;->engineGetDigestLength()I
HSPLjava/security/MessageDigest$Delegate;->engineReset()V
HSPLjava/security/MessageDigest$Delegate;->engineUpdate(B)V
-HSPLjava/security/MessageDigest$Delegate;->engineUpdate(Ljava/nio/ByteBuffer;)V
HSPLjava/security/MessageDigest$Delegate;->engineUpdate([BII)V
+HSPLjava/security/MessageDigest;-><init>(Ljava/lang/String;)V
+PLjava/security/MessageDigest;->access$000(Ljava/security/MessageDigest;)Ljava/lang/String;
+PLjava/security/MessageDigest;->access$100(Ljava/security/MessageDigest;)Ljava/security/Provider;
+PLjava/security/MessageDigest;->access$102(Ljava/security/MessageDigest;Ljava/security/Provider;)Ljava/security/Provider;
+PLjava/security/MessageDigest;->access$200(Ljava/security/MessageDigest;)I
+PLjava/security/MessageDigest;->access$202(Ljava/security/MessageDigest;I)I
HSPLjava/security/MessageDigest;->digest()[B
HSPLjava/security/MessageDigest;->digest([B)[B
HSPLjava/security/MessageDigest;->digest([BII)I
HSPLjava/security/MessageDigest;->getDigestLength()I
HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;
-HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;
HSPLjava/security/MessageDigest;->isEqual([B[B)Z
HSPLjava/security/MessageDigest;->reset()V
HSPLjava/security/MessageDigest;->update(B)V
-HSPLjava/security/MessageDigest;->update(Ljava/nio/ByteBuffer;)V
HSPLjava/security/MessageDigest;->update([B)V
HSPLjava/security/MessageDigest;->update([BII)V
HSPLjava/security/MessageDigestSpi;-><init>()V
HSPLjava/security/MessageDigestSpi;->engineDigest([BII)I
-HSPLjava/security/MessageDigestSpi;->engineUpdate(Ljava/nio/ByteBuffer;)V
HSPLjava/security/NoSuchAlgorithmException;-><init>(Ljava/lang/String;)V
-HSPLjava/security/Provider$EngineDescription;->getConstructorParameterClass()Ljava/lang/Class;
+HSPLjava/security/Provider$Service;-><init>(Ljava/security/Provider;)V
+HSPLjava/security/Provider$Service;-><init>(Ljava/security/Provider;Ljava/security/Provider$1;)V
+HSPLjava/security/Provider$Service;->access$000(Ljava/security/Provider$Service;)Z
+HSPLjava/security/Provider$Service;->access$302(Ljava/security/Provider$Service;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/security/Provider$Service;->access$402(Ljava/security/Provider$Service;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/security/Provider$Service;->access$500(Ljava/security/Provider$Service;Ljava/lang/String;)V
+HSPLjava/security/Provider$Service;->access$602(Ljava/security/Provider$Service;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/security/Provider$Service;->addAlias(Ljava/lang/String;)V
HSPLjava/security/Provider$Service;->addAttribute(Ljava/lang/String;Ljava/lang/String;)V
+HSPLjava/security/Provider$Service;->getAlgorithm()Ljava/lang/String;
+HSPLjava/security/Provider$Service;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/security/Provider$Service;->getClassName()Ljava/lang/String;
HSPLjava/security/Provider$Service;->getImplClass()Ljava/lang/Class;
HSPLjava/security/Provider$Service;->getKeyClass(Ljava/lang/String;)Ljava/lang/Class;
+HSPLjava/security/Provider$Service;->getProvider()Ljava/security/Provider;
+HSPLjava/security/Provider$Service;->getType()Ljava/lang/String;
HSPLjava/security/Provider$Service;->hasKeyAttributes()Z
+HSPLjava/security/Provider$Service;->isValid()Z
HSPLjava/security/Provider$Service;->newInstance(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/security/Provider$Service;->supportsKeyClass(Ljava/security/Key;)Z
HSPLjava/security/Provider$Service;->supportsKeyFormat(Ljava/security/Key;)Z
HSPLjava/security/Provider$Service;->supportsParameter(Ljava/lang/Object;)Z
+HSPLjava/security/Provider$ServiceKey;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
HSPLjava/security/Provider$ServiceKey;-><init>(Ljava/lang/String;Ljava/lang/String;ZLjava/security/Provider$1;)V
HSPLjava/security/Provider$ServiceKey;->equals(Ljava/lang/Object;)Z
HSPLjava/security/Provider$ServiceKey;->hashCode()I
HSPLjava/security/Provider$ServiceKey;->matches(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLjava/security/Provider$UString;-><init>(Ljava/lang/String;)V
HSPLjava/security/Provider$UString;->equals(Ljava/lang/Object;)Z
HSPLjava/security/Provider$UString;->hashCode()I
HSPLjava/security/Provider;-><init>(Ljava/lang/String;DLjava/lang/String;)V
-HSPLjava/security/Provider;->addEngine(Ljava/lang/String;ZLjava/lang/String;)V
+HSPLjava/security/Provider;->access$1000()Ljava/util/Map;
HSPLjava/security/Provider;->check(Ljava/lang/String;)V
HSPLjava/security/Provider;->checkInitialized()V
HSPLjava/security/Provider;->checkLegacy(Ljava/lang/Object;)Z
HSPLjava/security/Provider;->ensureLegacyParsed()V
+HSPLjava/security/Provider;->getEngineName(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/security/Provider;->getName()Ljava/lang/String;
HSPLjava/security/Provider;->getService(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
HSPLjava/security/Provider;->getServices()Ljava/util/Set;
HSPLjava/security/Provider;->getTypeAndAlgorithm(Ljava/lang/String;)[Ljava/lang/String;
+HSPLjava/security/Provider;->implPut(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/security/Provider;->parseLegacyPut(Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/security/Provider;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/security/Provider;->putId()V
HSPLjava/security/Provider;->removeInvalidServices(Ljava/util/Map;)V
HSPLjava/security/Provider;->warmUpServiceProvision()V
HSPLjava/security/SecureRandom;-><init>()V
+HSPLjava/security/SecureRandom;-><init>(Ljava/security/SecureRandomSpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjava/security/SecureRandom;->getDefaultPRNG(Z[B)V
HSPLjava/security/SecureRandom;->getInstance(Ljava/lang/String;)Ljava/security/SecureRandom;
HSPLjava/security/SecureRandom;->getPrngAlgorithm()Ljava/lang/String;
+HSPLjava/security/SecureRandom;->getProvider()Ljava/security/Provider;
+HSPLjava/security/SecureRandom;->getSecureRandomSpi()Ljava/security/SecureRandomSpi;
HSPLjava/security/SecureRandom;->next(I)I
HSPLjava/security/SecureRandom;->nextBytes([B)V
HSPLjava/security/SecureRandom;->setSeed(J)V
HSPLjava/security/SecureRandomSpi;-><init>()V
HSPLjava/security/Security;->addProvider(Ljava/security/Provider;)I
+HSPLjava/security/Security;->getImpl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
HSPLjava/security/Security;->getProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/security/Security;->getProvider(Ljava/lang/String;)Ljava/security/Provider;
HSPLjava/security/Security;->getProviders()[Ljava/security/Provider;
HSPLjava/security/Security;->getSpiClass(Ljava/lang/String;)Ljava/lang/Class;
+HSPLjava/security/Security;->getVersion()I
+HSPLjava/security/Security;->increaseVersion()V
HSPLjava/security/Security;->insertProviderAt(Ljava/security/Provider;I)I
+HSPLjava/security/Security;->invalidateSMCache(Ljava/lang/String;)V
HSPLjava/security/Security;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLjava/security/Signature$Delegate;-><init>(Ljava/lang/String;)V
HSPLjava/security/Signature$Delegate;->chooseFirstProvider()V
HSPLjava/security/Signature$Delegate;->chooseProvider(ILjava/security/Key;Ljava/security/SecureRandom;)V
HSPLjava/security/Signature$Delegate;->engineInitVerify(Ljava/security/PublicKey;)V
@@ -27716,6 +11894,9 @@ HSPLjava/security/Signature$Delegate;->engineUpdate([BII)V
HSPLjava/security/Signature$Delegate;->engineVerify([B)Z
HSPLjava/security/Signature$Delegate;->init(Ljava/security/SignatureSpi;ILjava/security/Key;Ljava/security/SecureRandom;)V
HSPLjava/security/Signature$Delegate;->newInstance(Ljava/security/Provider$Service;)Ljava/security/SignatureSpi;
+HSPLjava/security/Signature;-><init>(Ljava/lang/String;)V
+HSPLjava/security/Signature;->access$000(Ljava/security/Signature;)Ljava/lang/String;
+HSPLjava/security/Signature;->access$200(Ljava/security/Provider$Service;)Z
HSPLjava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
HSPLjava/security/Signature;->initVerify(Ljava/security/PublicKey;)V
HSPLjava/security/Signature;->isSpi(Ljava/security/Provider$Service;)Z
@@ -27725,38 +11906,25 @@ HSPLjava/security/Signature;->update([BII)V
HSPLjava/security/Signature;->verify([B)Z
HSPLjava/security/SignatureSpi;-><init>()V
HSPLjava/security/SignatureSpi;->engineUpdate(Ljava/nio/ByteBuffer;)V
-HSPLjava/security/cert/CRLReason;-><init>(Ljava/lang/String;I)V
-HSPLjava/security/cert/CRLReason;->values()[Ljava/security/cert/CRLReason;
HSPLjava/security/cert/CertPath;-><init>(Ljava/lang/String;)V
HSPLjava/security/cert/CertPath;->getType()Ljava/lang/String;
-PLjava/security/cert/CertPathBuilder;->build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
-PLjava/security/cert/CertPathBuilder;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
-HPLjava/security/cert/CertPathHelperImpl;->implSetPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
-HSPLjava/security/cert/CertPathHelperImpl;->initialize()V
+HSPLjava/security/cert/CertPathValidator;-><init>(Ljava/security/cert/CertPathValidatorSpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjava/security/cert/CertPathValidator;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
-HSPLjava/security/cert/CertPathValidator;->getRevocationChecker()Ljava/security/cert/CertPathChecker;
HSPLjava/security/cert/CertPathValidator;->validate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
-HSPLjava/security/cert/CertStore;->getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
-HSPLjava/security/cert/Certificate;->equals(Ljava/lang/Object;)Z
+HSPLjava/security/cert/CertPathValidatorSpi;-><init>()V
+HSPLjava/security/cert/Certificate;-><init>(Ljava/lang/String;)V
HSPLjava/security/cert/Certificate;->hashCode()I
-HPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
+HSPLjava/security/cert/CertificateFactory;-><init>(Ljava/security/cert/CertificateFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;
HSPLjava/security/cert/CertificateFactory;->generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
HSPLjava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
HSPLjava/security/cert/CertificateFactorySpi;-><init>()V
-HSPLjava/security/cert/CollectionCertStoreParameters;-><init>(Ljava/util/Collection;)V
-HSPLjava/security/cert/CollectionCertStoreParameters;->clone()Ljava/lang/Object;
-HPLjava/security/cert/CollectionCertStoreParameters;->getCollection()Ljava/util/Collection;
-PLjava/security/cert/PKIXBuilderParameters;-><init>(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
-PLjava/security/cert/PKIXBuilderParameters;->getMaxPathLength()I
-PLjava/security/cert/PKIXCertPathBuilderResult;->getCertPath()Ljava/security/cert/CertPath;
HSPLjava/security/cert/PKIXCertPathChecker;-><init>()V
HSPLjava/security/cert/PKIXCertPathChecker;->clone()Ljava/lang/Object;
+HSPLjava/security/cert/PKIXCertPathValidatorResult;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
HSPLjava/security/cert/PKIXParameters;-><init>(Ljava/util/Set;)V
HSPLjava/security/cert/PKIXParameters;->addCertPathChecker(Ljava/security/cert/PKIXCertPathChecker;)V
-HPLjava/security/cert/PKIXParameters;->addCertStore(Ljava/security/cert/CertStore;)V
HSPLjava/security/cert/PKIXParameters;->getCertPathCheckers()Ljava/util/List;
-HSPLjava/security/cert/PKIXParameters;->getCertStores()Ljava/util/List;
HSPLjava/security/cert/PKIXParameters;->getDate()Ljava/util/Date;
HSPLjava/security/cert/PKIXParameters;->getInitialPolicies()Ljava/util/Set;
HSPLjava/security/cert/PKIXParameters;->getPolicyQualifiersRejected()Z
@@ -27767,31 +11935,14 @@ HSPLjava/security/cert/PKIXParameters;->isAnyPolicyInhibited()Z
HSPLjava/security/cert/PKIXParameters;->isExplicitPolicyRequired()Z
HSPLjava/security/cert/PKIXParameters;->isPolicyMappingInhibited()Z
HSPLjava/security/cert/PKIXParameters;->isRevocationEnabled()Z
-HSPLjava/security/cert/PKIXParameters;->setCertPathCheckers(Ljava/util/List;)V
-HSPLjava/security/cert/PKIXParameters;->setDate(Ljava/util/Date;)V
HSPLjava/security/cert/PKIXParameters;->setRevocationEnabled(Z)V
-HSPLjava/security/cert/PKIXParameters;->setTargetCertConstraints(Ljava/security/cert/CertSelector;)V
HSPLjava/security/cert/PKIXParameters;->setTrustAnchors(Ljava/util/Set;)V
-HSPLjava/security/cert/PKIXRevocationChecker$Option;-><init>(Ljava/lang/String;I)V
-HSPLjava/security/cert/PKIXRevocationChecker$Option;->values()[Ljava/security/cert/PKIXRevocationChecker$Option;
-HSPLjava/security/cert/PKIXRevocationChecker;->clone()Ljava/security/cert/PKIXRevocationChecker;
-HSPLjava/security/cert/PKIXRevocationChecker;->getOcspExtensions()Ljava/util/List;
-HSPLjava/security/cert/PKIXRevocationChecker;->getOcspResponder()Ljava/net/URI;
-HSPLjava/security/cert/PKIXRevocationChecker;->getOcspResponderCert()Ljava/security/cert/X509Certificate;
-HSPLjava/security/cert/PKIXRevocationChecker;->getOcspResponses()Ljava/util/Map;
-HSPLjava/security/cert/PKIXRevocationChecker;->getOptions()Ljava/util/Set;
-HSPLjava/security/cert/PKIXRevocationChecker;->setOcspResponses(Ljava/util/Map;)V
-HSPLjava/security/cert/PKIXRevocationChecker;->setOptions(Ljava/util/Set;)V
HSPLjava/security/cert/PolicyQualifierInfo;-><init>([B)V
HSPLjava/security/cert/TrustAnchor;-><init>(Ljava/security/cert/X509Certificate;[B)V
+HSPLjava/security/cert/TrustAnchor;->getNameConstraints()[B
HSPLjava/security/cert/TrustAnchor;->getTrustedCert()Ljava/security/cert/X509Certificate;
HSPLjava/security/cert/TrustAnchor;->setNameConstraints([B)V
HSPLjava/security/cert/X509CertSelector;-><init>()V
-HPLjava/security/cert/X509CertSelector;->clone()Ljava/lang/Object;
-HPLjava/security/cert/X509CertSelector;->getBasicConstraints()I
-HPLjava/security/cert/X509CertSelector;->getCertificate()Ljava/security/cert/X509Certificate;
-HPLjava/security/cert/X509CertSelector;->getExtensionObject(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
-HPLjava/security/cert/X509CertSelector;->getSubject()Ljavax/security/auth/x500/X500Principal;
HSPLjava/security/cert/X509CertSelector;->match(Ljava/security/cert/Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchAuthorityKeyID(Ljava/security/cert/X509Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchBasicConstraints(Ljava/security/cert/X509Certificate;)Z
@@ -27804,14 +11955,8 @@ HSPLjava/security/cert/X509CertSelector;->matchPrivateKeyValid(Ljava/security/ce
HSPLjava/security/cert/X509CertSelector;->matchSubjectAlternativeNames(Ljava/security/cert/X509Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchSubjectPublicKeyAlgID(Ljava/security/cert/X509Certificate;)Z
-HPLjava/security/cert/X509CertSelector;->setBasicConstraints(I)V
-HPLjava/security/cert/X509CertSelector;->setCertificateValid(Ljava/util/Date;)V
-HPLjava/security/cert/X509CertSelector;->setPathToNamesInternal(Ljava/util/Set;)V
HSPLjava/security/cert/X509CertSelector;->setSubject(Ljavax/security/auth/x500/X500Principal;)V
HSPLjava/security/cert/X509Certificate;-><init>()V
-HSPLjava/security/spec/DSAParameterSpec;->getG()Ljava/math/BigInteger;
-HSPLjava/security/spec/DSAParameterSpec;->getP()Ljava/math/BigInteger;
-HSPLjava/security/spec/DSAParameterSpec;->getQ()Ljava/math/BigInteger;
HSPLjava/security/spec/ECFieldFp;-><init>(Ljava/math/BigInteger;)V
HSPLjava/security/spec/ECFieldFp;->getFieldSize()I
HSPLjava/security/spec/ECFieldFp;->getP()Ljava/math/BigInteger;
@@ -27819,43 +11964,41 @@ HSPLjava/security/spec/ECParameterSpec;-><init>(Ljava/security/spec/EllipticCurv
HSPLjava/security/spec/ECParameterSpec;->getCurve()Ljava/security/spec/EllipticCurve;
HSPLjava/security/spec/ECParameterSpec;->getOrder()Ljava/math/BigInteger;
HSPLjava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V
-HSPLjava/security/spec/ECPoint;-><init>()V
HSPLjava/security/spec/ECPoint;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
HSPLjava/security/spec/EllipticCurve;-><init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
HSPLjava/security/spec/EllipticCurve;-><init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
HSPLjava/security/spec/EllipticCurve;->checkValidity(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/lang/String;)V
HSPLjava/security/spec/EllipticCurve;->getField()Ljava/security/spec/ECField;
-HSPLjava/security/spec/InvalidKeySpecException;-><init>(Ljava/lang/String;)V
-HSPLjava/security/spec/MGF1ParameterSpec;-><init>(Ljava/lang/String;)V
+HSPLjava/security/spec/EncodedKeySpec;-><init>([B)V
+HSPLjava/security/spec/EncodedKeySpec;->getEncoded()[B
HSPLjava/security/spec/PKCS8EncodedKeySpec;-><init>([B)V
HSPLjava/security/spec/PKCS8EncodedKeySpec;->getEncoded()[B
HSPLjava/security/spec/X509EncodedKeySpec;-><init>([B)V
HSPLjava/security/spec/X509EncodedKeySpec;->getEncoded()[B
-HSPLjava/sql/Timestamp;-><init>(J)V
-HSPLjava/sql/Timestamp;->toString()Ljava/lang/String;
HSPLjava/text/AttributedCharacterIterator$Attribute;-><init>(Ljava/lang/String;)V
+HSPLjava/text/AttributedCharacterIterator$Attribute;->equals(Ljava/lang/Object;)Z
HSPLjava/text/AttributedCharacterIterator$Attribute;->hashCode()I
-HSPLjava/text/BreakIterator;->getWordInstance()Ljava/text/BreakIterator;
-HSPLjava/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;
+HSPLjava/text/CalendarBuilder;-><init>()V
HSPLjava/text/CalendarBuilder;->establish(Ljava/util/Calendar;)Ljava/util/Calendar;
HSPLjava/text/CalendarBuilder;->isSet(I)Z
HSPLjava/text/CalendarBuilder;->set(II)Ljava/text/CalendarBuilder;
+HPLjava/text/CollationKey;-><init>(Ljava/lang/String;)V
+HSPLjava/text/Collator;-><init>()V
+HSPLjava/text/Collator;-><init>(Landroid/icu/text/Collator;)V
HSPLjava/text/Collator;->getInstance()Ljava/text/Collator;
HSPLjava/text/Collator;->getInstance(Ljava/util/Locale;)Ljava/text/Collator;
HSPLjava/text/Collator;->setStrength(I)V
-HSPLjava/text/DateFormat$Field;-><init>(Ljava/lang/String;I)V
+HSPLjava/text/DateFormat;-><init>()V
HSPLjava/text/DateFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
HSPLjava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
HSPLjava/text/DateFormat;->get(IIILjava/util/Locale;)Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getTimeInstance(ILjava/util/Locale;)Ljava/text/DateFormat;
HSPLjava/text/DateFormat;->getTimeZone()Ljava/util/TimeZone;
HSPLjava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
HSPLjava/text/DateFormat;->set24HourTimePref(Ljava/lang/Boolean;)V
-HSPLjava/text/DateFormat;->setLenient(Z)V
HSPLjava/text/DateFormat;->setTimeZone(Ljava/util/TimeZone;)V
HSPLjava/text/DateFormatSymbols;-><init>(Ljava/util/Locale;)V
-HSPLjava/text/DateFormatSymbols;->getAmPmStrings()[Ljava/lang/String;
HSPLjava/text/DateFormatSymbols;->getCachedInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
+HSPLjava/text/DateFormatSymbols;->getInstanceRef(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
HSPLjava/text/DateFormatSymbols;->getMonths()[Ljava/lang/String;
HSPLjava/text/DateFormatSymbols;->getShortMonths()[Ljava/lang/String;
HSPLjava/text/DateFormatSymbols;->getShortWeekdays()[Ljava/lang/String;
@@ -27872,65 +12015,99 @@ HSPLjava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatS
HSPLjava/text/DecimalFormat;->getIcuFieldPosition(Ljava/text/FieldPosition;)Ljava/text/FieldPosition;
HSPLjava/text/DecimalFormat;->getMaximumFractionDigits()I
HSPLjava/text/DecimalFormat;->getMaximumIntegerDigits()I
-HSPLjava/text/DecimalFormat;->getMinimumFractionDigits()I
HSPLjava/text/DecimalFormat;->getMinimumIntegerDigits()I
HSPLjava/text/DecimalFormat;->getNegativePrefix()Ljava/lang/String;
HSPLjava/text/DecimalFormat;->getNegativeSuffix()Ljava/lang/String;
HSPLjava/text/DecimalFormat;->getPositivePrefix()Ljava/lang/String;
HSPLjava/text/DecimalFormat;->getPositiveSuffix()Ljava/lang/String;
+HSPLjava/text/DecimalFormat;->initPattern(Ljava/lang/String;)V
HSPLjava/text/DecimalFormat;->isParseBigDecimal()Z
HSPLjava/text/DecimalFormat;->isParseIntegerOnly()Z
HSPLjava/text/DecimalFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
+HSPLjava/text/DecimalFormat;->setDecimalSeparatorAlwaysShown(Z)V
HSPLjava/text/DecimalFormat;->setGroupingUsed(Z)V
HSPLjava/text/DecimalFormat;->setMaximumFractionDigits(I)V
HSPLjava/text/DecimalFormat;->setMaximumIntegerDigits(I)V
-HSPLjava/text/DecimalFormat;->setMinimumFractionDigits(I)V
HSPLjava/text/DecimalFormat;->setMinimumIntegerDigits(I)V
+HSPLjava/text/DecimalFormat;->setParseIntegerOnly(Z)V
HSPLjava/text/DecimalFormat;->toPattern()Ljava/lang/String;
HSPLjava/text/DecimalFormat;->updateFieldsFromIcu()V
HSPLjava/text/DecimalFormatSymbols;-><init>(Ljava/util/Locale;)V
HSPLjava/text/DecimalFormatSymbols;->clone()Ljava/lang/Object;
HSPLjava/text/DecimalFormatSymbols;->fromIcuInstance(Landroid/icu/text/DecimalFormatSymbols;)Ljava/text/DecimalFormatSymbols;
+HSPLjava/text/DecimalFormatSymbols;->getDecimalSeparator()C
+HSPLjava/text/DecimalFormatSymbols;->getGroupingSeparator()C
HSPLjava/text/DecimalFormatSymbols;->getIcuDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
+HSPLjava/text/DecimalFormatSymbols;->getInfinity()Ljava/lang/String;
+HSPLjava/text/DecimalFormatSymbols;->getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
+HSPLjava/text/DecimalFormatSymbols;->getNaN()Ljava/lang/String;
HSPLjava/text/DecimalFormatSymbols;->getZeroDigit()C
HSPLjava/text/DecimalFormatSymbols;->initialize(Ljava/util/Locale;)V
HSPLjava/text/DecimalFormatSymbols;->maybeStripMarkers(Ljava/lang/String;C)C
HSPLjava/text/DecimalFormatSymbols;->setCurrency(Ljava/util/Currency;)V
+HSPLjava/text/DecimalFormatSymbols;->setCurrencySymbol(Ljava/lang/String;)V
+HSPLjava/text/DecimalFormatSymbols;->setDecimalSeparator(C)V
+HSPLjava/text/DecimalFormatSymbols;->setDigit(C)V
+HSPLjava/text/DecimalFormatSymbols;->setExponentSeparator(Ljava/lang/String;)V
+HSPLjava/text/DecimalFormatSymbols;->setGroupingSeparator(C)V
+HSPLjava/text/DecimalFormatSymbols;->setInfinity(Ljava/lang/String;)V
HSPLjava/text/DecimalFormatSymbols;->setInternationalCurrencySymbol(Ljava/lang/String;)V
+HSPLjava/text/DecimalFormatSymbols;->setMinusSign(C)V
+HSPLjava/text/DecimalFormatSymbols;->setMonetaryDecimalSeparator(C)V
+HSPLjava/text/DecimalFormatSymbols;->setNaN(Ljava/lang/String;)V
+HSPLjava/text/DecimalFormatSymbols;->setPatternSeparator(C)V
+HSPLjava/text/DecimalFormatSymbols;->setPerMill(C)V
+HSPLjava/text/DecimalFormatSymbols;->setPercent(C)V
+HSPLjava/text/DecimalFormatSymbols;->setZeroDigit(C)V
HSPLjava/text/DontCareFieldPosition$1;->formatted(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
-HSPLjava/text/DontCareFieldPosition;-><init>()V
HSPLjava/text/DontCareFieldPosition;->getFieldDelegate()Ljava/text/Format$FieldDelegate;
+HSPLjava/text/FieldPosition$Delegate;-><init>(Ljava/text/FieldPosition;)V
+HSPLjava/text/FieldPosition$Delegate;-><init>(Ljava/text/FieldPosition;Ljava/text/FieldPosition$1;)V
HSPLjava/text/FieldPosition$Delegate;->formatted(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
+HSPLjava/text/FieldPosition;-><init>(I)V
+HSPLjava/text/FieldPosition;->access$200(Ljava/text/FieldPosition;Ljava/text/Format$Field;I)Z
HSPLjava/text/FieldPosition;->getBeginIndex()I
HSPLjava/text/FieldPosition;->getEndIndex()I
HSPLjava/text/FieldPosition;->getField()I
HSPLjava/text/FieldPosition;->getFieldAttribute()Ljava/text/Format$Field;
HSPLjava/text/FieldPosition;->getFieldDelegate()Ljava/text/Format$FieldDelegate;
+HSPLjava/text/FieldPosition;->matchesField(Ljava/text/Format$Field;I)Z
HSPLjava/text/FieldPosition;->setBeginIndex(I)V
HSPLjava/text/FieldPosition;->setEndIndex(I)V
HSPLjava/text/Format$Field;-><init>(Ljava/lang/String;)V
+HSPLjava/text/Format;-><init>()V
HSPLjava/text/Format;->clone()Ljava/lang/Object;
HSPLjava/text/Format;->format(Ljava/lang/Object;)Ljava/lang/String;
-HSPLjava/text/MessageFormat$Field;-><init>(Ljava/lang/String;)V
HSPLjava/text/MessageFormat;-><init>(Ljava/lang/String;)V
HSPLjava/text/MessageFormat;->applyPattern(Ljava/lang/String;)V
+HSPLjava/text/MessageFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
+HSPLjava/text/MessageFormat;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
HSPLjava/text/MessageFormat;->makeFormat(II[Ljava/lang/StringBuilder;)V
HSPLjava/text/MessageFormat;->subformat([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
-HSPLjava/text/Normalizer$Form;-><init>(Ljava/lang/String;ILandroid/icu/text/Normalizer$Mode;)V
+HSPLjava/text/Normalizer$Form;->access$000(Ljava/text/Normalizer$Form;)Landroid/icu/text/Normalizer$Mode;
HSPLjava/text/Normalizer;->normalize(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
+HSPLjava/text/NumberFormat;-><init>()V
+HSPLjava/text/NumberFormat;->clone()Ljava/lang/Object;
HSPLjava/text/NumberFormat;->format(D)Ljava/lang/String;
-HSPLjava/text/NumberFormat;->format(J)Ljava/lang/String;
-HSPLjava/text/NumberFormat;->getInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
HSPLjava/text/NumberFormat;->getInstance(Ljava/util/Locale;I)Ljava/text/NumberFormat;
-HSPLjava/text/NumberFormat;->getIntegerInstance()Ljava/text/NumberFormat;
HSPLjava/text/NumberFormat;->getIntegerInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
-HSPLjava/text/NumberFormat;->getPercentInstance()Ljava/text/NumberFormat;
+HSPLjava/text/NumberFormat;->getNumberInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
+HSPLjava/text/NumberFormat;->setMaximumFractionDigits(I)V
+HSPLjava/text/NumberFormat;->setMaximumIntegerDigits(I)V
+HSPLjava/text/NumberFormat;->setMinimumIntegerDigits(I)V
+HSPLjava/text/NumberFormat;->setParseIntegerOnly(Z)V
+HSPLjava/text/ParseException;-><init>(Ljava/lang/String;I)V
HSPLjava/text/ParsePosition;-><init>(I)V
-HSPLjava/text/ParsePosition;->getErrorIndex()I
+PLjava/text/ParsePosition;->getErrorIndex()I
HSPLjava/text/ParsePosition;->getIndex()I
HSPLjava/text/ParsePosition;->setIndex(I)V
+HSPLjava/text/RuleBasedCollator;-><init>(Landroid/icu/text/RuleBasedCollator;)V
+HSPLjava/text/RuleBasedCollator;-><init>(Ljava/lang/String;)V
+HSPLjava/text/RuleBasedCollator;->collAsICU()Landroid/icu/text/RuleBasedCollator;
HSPLjava/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/text/SimpleDateFormat;-><init>()V
+PLjava/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;
+HSPLjava/text/RuleBasedCollator;->getRules()Ljava/lang/String;
+HSPLjava/text/SimpleDateFormat;-><init>(IILjava/util/Locale;)V
HSPLjava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
HSPLjava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
HSPLjava/text/SimpleDateFormat;->checkNegativeNumberExpression()V
@@ -27939,351 +12116,152 @@ HSPLjava/text/SimpleDateFormat;->encode(IILjava/lang/StringBuilder;)V
HSPLjava/text/SimpleDateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
HSPLjava/text/SimpleDateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
HSPLjava/text/SimpleDateFormat;->formatMonth(IIILjava/lang/StringBuffer;ZZII)Ljava/lang/String;
-HSPLjava/text/SimpleDateFormat;->formatWeekday(IIZZ)Ljava/lang/String;
HSPLjava/text/SimpleDateFormat;->getDateTimeFormat(IILjava/util/Locale;)Ljava/lang/String;
HSPLjava/text/SimpleDateFormat;->initialize(Ljava/util/Locale;)V
+HSPLjava/text/SimpleDateFormat;->initializeCalendar(Ljava/util/Locale;)V
+HSPLjava/text/SimpleDateFormat;->initializeDefaultCentury()V
HSPLjava/text/SimpleDateFormat;->matchString(Ljava/lang/String;II[Ljava/lang/String;Ljava/text/CalendarBuilder;)I
HSPLjava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
+HSPLjava/text/SimpleDateFormat;->parseAmbiguousDatesAsAfter(Ljava/util/Date;)V
HSPLjava/text/SimpleDateFormat;->parseInternal(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
HSPLjava/text/SimpleDateFormat;->parseMonth(Ljava/lang/String;IIIILjava/text/ParsePosition;ZZLjava/text/CalendarBuilder;)I
HSPLjava/text/SimpleDateFormat;->parseWeekday(Ljava/lang/String;IIZZLjava/text/CalendarBuilder;)I
HSPLjava/text/SimpleDateFormat;->subFormat(IILjava/text/Format$FieldDelegate;Ljava/lang/StringBuffer;Z)V
HSPLjava/text/SimpleDateFormat;->subParse(Ljava/lang/String;IIIZ[ZLjava/text/ParsePosition;ZLjava/text/CalendarBuilder;)I
-HSPLjava/text/SimpleDateFormat;->toPattern()Ljava/lang/String;
HSPLjava/text/SimpleDateFormat;->useDateFormatSymbols()Z
HSPLjava/text/SimpleDateFormat;->zeroPaddingNumber(IIILjava/lang/StringBuffer;)V
HSPLjava/text/StringCharacterIterator;-><init>(Ljava/lang/String;)V
+HSPLjava/text/StringCharacterIterator;-><init>(Ljava/lang/String;I)V
HSPLjava/text/StringCharacterIterator;-><init>(Ljava/lang/String;III)V
HSPLjava/text/StringCharacterIterator;->clone()Ljava/lang/Object;
-HSPLjava/text/StringCharacterIterator;->current()C
-HSPLjava/text/StringCharacterIterator;->first()C
-HSPLjava/text/StringCharacterIterator;->getBeginIndex()I
-HSPLjava/text/StringCharacterIterator;->getEndIndex()I
-HSPLjava/text/StringCharacterIterator;->getIndex()I
-HSPLjava/text/StringCharacterIterator;->next()C
-HSPLjava/text/StringCharacterIterator;->setIndex(I)C
-HSPLjava/time/-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A;-><init>()V
-HSPLjava/time/-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
-HSPLjava/time/-$$Lambda$JBWLm7jbzHiLhHxYdB_IuO_vFO8;-><init>()V
-HSPLjava/time/-$$Lambda$JBWLm7jbzHiLhHxYdB_IuO_vFO8;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
-HSPLjava/time/-$$Lambda$PTL8WkLA4o-1z4zIUBjrvwi808w;-><init>()V
-HSPLjava/time/-$$Lambda$PTL8WkLA4o-1z4zIUBjrvwi808w;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
-HSPLjava/time/-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA;-><init>()V
-HSPLjava/time/-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
+HSPLjava/time/Clock$SystemClock;-><init>(Ljava/time/ZoneId;)V
HSPLjava/time/Clock$SystemClock;->getZone()Ljava/time/ZoneId;
HSPLjava/time/Clock$SystemClock;->instant()Ljava/time/Instant;
HSPLjava/time/Clock$SystemClock;->millis()J
+HSPLjava/time/Clock;-><init>()V
HSPLjava/time/Clock;->systemDefaultZone()Ljava/time/Clock;
HSPLjava/time/Clock;->systemUTC()Ljava/time/Clock;
-HSPLjava/time/DateTimeException;-><init>(Ljava/lang/String;)V
-HSPLjava/time/DayOfWeek;-><init>(Ljava/lang/String;I)V
+HSPLjava/time/DayOfWeek;->getValue()I
HSPLjava/time/DayOfWeek;->of(I)Ljava/time/DayOfWeek;
-HSPLjava/time/DayOfWeek;->values()[Ljava/time/DayOfWeek;
+HSPLjava/time/DayOfWeek;->plus(J)Ljava/time/DayOfWeek;
HSPLjava/time/Duration;-><init>(JI)V
+HSPLjava/time/Duration;->between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
+HSPLjava/time/Duration;->create(JI)Ljava/time/Duration;
HSPLjava/time/Duration;->ofDays(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofHours(J)Ljava/time/Duration;
-HSPLjava/time/Duration;->ofMillis(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofMinutes(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofNanos(J)Ljava/time/Duration;
-HSPLjava/time/Duration;->ofSeconds(J)Ljava/time/Duration;
-HSPLjava/time/Duration;->ofSeconds(JJ)Ljava/time/Duration;
HSPLjava/time/Duration;->toMillis()J
HSPLjava/time/Instant;-><init>(JI)V
HSPLjava/time/Instant;->create(JI)Ljava/time/Instant;
HSPLjava/time/Instant;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
-HSPLjava/time/Instant;->isSupported(Ljava/time/temporal/TemporalField;)Z
+HSPLjava/time/Instant;->getEpochSecond()J
+HSPLjava/time/Instant;->getNano()I
+HSPLjava/time/Instant;->nanosUntil(Ljava/time/Instant;)J
HSPLjava/time/Instant;->now()Ljava/time/Instant;
HSPLjava/time/Instant;->ofEpochMilli(J)Ljava/time/Instant;
HSPLjava/time/Instant;->ofEpochSecond(JJ)Ljava/time/Instant;
-HSPLjava/time/Instant;->parse(Ljava/lang/CharSequence;)Ljava/time/Instant;
-HSPLjava/time/Instant;->plus(JJ)Ljava/time/Instant;
-HSPLjava/time/Instant;->plusMillis(J)Ljava/time/Instant;
HSPLjava/time/Instant;->toEpochMilli()J
-HSPLjava/time/LocalDate;->atTime(Ljava/time/LocalTime;)Ljava/time/chrono/ChronoLocalDateTime;
+HSPLjava/time/Instant;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
+HSPLjava/time/LocalDate;-><init>(III)V
HSPLjava/time/LocalDate;->create(III)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/LocalDate;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
+HSPLjava/time/LocalDate;->get(Ljava/time/temporal/TemporalField;)I
HSPLjava/time/LocalDate;->get0(Ljava/time/temporal/TemporalField;)I
-HSPLjava/time/LocalDate;->getChronology()Ljava/time/chrono/Chronology;
-HPLjava/time/LocalDate;->getLong(Ljava/time/temporal/TemporalField;)J
-HSPLjava/time/LocalDate;->isAfter(Ljava/time/chrono/ChronoLocalDate;)Z
-HSPLjava/time/LocalDate;->isSupported(Ljava/time/temporal/TemporalField;)Z
-HSPLjava/time/LocalDate;->minusDays(J)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->minusYears(J)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->now()Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->now(Ljava/time/Clock;)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->of(III)Ljava/time/LocalDate;
+HSPLjava/time/LocalDate;->getDayOfWeek()Ljava/time/DayOfWeek;
+HSPLjava/time/LocalDate;->getYear()I
+HSPLjava/time/LocalDate;->isLeapYear()Z
+HSPLjava/time/LocalDate;->of(ILjava/time/Month;I)Ljava/time/LocalDate;
HSPLjava/time/LocalDate;->ofEpochDay(J)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDate;
HSPLjava/time/LocalDate;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->plusMonths(J)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-HSPLjava/time/LocalDate;->resolvePreviousValid(III)Ljava/time/LocalDate;
+HSPLjava/time/LocalDate;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
+HSPLjava/time/LocalDate;->plusDays(J)Ljava/time/LocalDate;
HSPLjava/time/LocalDate;->toEpochDay()J
HSPLjava/time/LocalDate;->toString()Ljava/lang/String;
-HSPLjava/time/LocalDate;->withDayOfMonth(I)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->withMonth(I)Ljava/time/LocalDate;
+HSPLjava/time/LocalDate;->with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;
HSPLjava/time/LocalDateTime;-><init>(Ljava/time/LocalDate;Ljava/time/LocalTime;)V
-HSPLjava/time/LocalDateTime;->atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
-HSPLjava/time/LocalDateTime;->atZone(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/LocalDateTime;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/LocalDateTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDateTime;
-HSPLjava/time/LocalDateTime;->getDayOfMonth()I
-HSPLjava/time/LocalDateTime;->getMonth()Ljava/time/Month;
-HSPLjava/time/LocalDateTime;->getYear()I
-HSPLjava/time/LocalDateTime;->isAfter(Ljava/time/chrono/ChronoLocalDateTime;)Z
-HSPLjava/time/LocalDateTime;->isBefore(Ljava/time/chrono/ChronoLocalDateTime;)Z
-HSPLjava/time/LocalDateTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
-HSPLjava/time/LocalDateTime;->minusDays(J)Ljava/time/LocalDateTime;
HSPLjava/time/LocalDateTime;->now()Ljava/time/LocalDateTime;
HSPLjava/time/LocalDateTime;->now(Ljava/time/Clock;)Ljava/time/LocalDateTime;
-HSPLjava/time/LocalDateTime;->of(IIIIIII)Ljava/time/LocalDateTime;
-HSPLjava/time/LocalDateTime;->of(ILjava/time/Month;III)Ljava/time/LocalDateTime;
HSPLjava/time/LocalDateTime;->of(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
HSPLjava/time/LocalDateTime;->ofEpochSecond(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;
-HSPLjava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;
-HSPLjava/time/LocalDateTime;->plusDays(J)Ljava/time/LocalDateTime;
+HSPLjava/time/LocalDateTime;->plusSeconds(J)Ljava/time/LocalDateTime;
HSPLjava/time/LocalDateTime;->plusWithOverflow(Ljava/time/LocalDate;JJJJI)Ljava/time/LocalDateTime;
+HSPLjava/time/LocalDateTime;->toLocalDate()Ljava/time/LocalDate;
HSPLjava/time/LocalDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
HSPLjava/time/LocalDateTime;->toLocalTime()Ljava/time/LocalTime;
HSPLjava/time/LocalDateTime;->toString()Ljava/lang/String;
+HSPLjava/time/LocalDateTime;->with(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
HSPLjava/time/LocalTime;-><init>(IIII)V
-HSPLjava/time/LocalTime;->compareTo(Ljava/time/LocalTime;)I
-HSPLjava/time/LocalTime;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/LocalTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalTime;
-HSPLjava/time/LocalTime;->get0(Ljava/time/temporal/TemporalField;)I
-HSPLjava/time/LocalTime;->getLong(Ljava/time/temporal/TemporalField;)J
-HSPLjava/time/LocalTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
-HSPLjava/time/LocalTime;->of(IIII)Ljava/time/LocalTime;
+HSPLjava/time/LocalTime;->create(IIII)Ljava/time/LocalTime;
+HSPLjava/time/LocalTime;->getHour()I
+HSPLjava/time/LocalTime;->getMinute()I
+HSPLjava/time/LocalTime;->getNano()I
HSPLjava/time/LocalTime;->ofNanoOfDay(J)Ljava/time/LocalTime;
HSPLjava/time/LocalTime;->ofSecondOfDay(J)Ljava/time/LocalTime;
+HSPLjava/time/LocalTime;->toNanoOfDay()J
+HSPLjava/time/LocalTime;->toSecondOfDay()I
HSPLjava/time/LocalTime;->toString()Ljava/lang/String;
-HSPLjava/time/LocalTime;->truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;
-HSPLjava/time/Month;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/Month;->length(Z)I
-HSPLjava/time/Month;->of(I)Ljava/time/Month;
-HSPLjava/time/Month;->values()[Ljava/time/Month;
-HSPLjava/time/Period;-><init>(III)V
-HSPLjava/time/Period;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/Period;->multipliedBy(I)Ljava/time/Period;
-HSPLjava/time/Period;->ofMonths(I)Ljava/time/Period;
-HSPLjava/time/Period;->parse(Ljava/lang/CharSequence;)Ljava/time/Period;
-HSPLjava/time/Period;->parseNumber(Ljava/lang/CharSequence;Ljava/lang/String;I)I
-HSPLjava/time/Period;->toString()Ljava/lang/String;
-HSPLjava/time/ZoneId;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/ZoneId;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId;
+HSPLjava/time/Month;->getValue()I
+HSPLjava/time/Month;->plus(J)Ljava/time/Month;
+HSPLjava/time/ZoneId;-><init>()V
+HSPLjava/time/ZoneId;->of(Ljava/lang/String;)Ljava/time/ZoneId;
HSPLjava/time/ZoneId;->of(Ljava/lang/String;Ljava/util/Map;)Ljava/time/ZoneId;
HSPLjava/time/ZoneId;->of(Ljava/lang/String;Z)Ljava/time/ZoneId;
HSPLjava/time/ZoneId;->systemDefault()Ljava/time/ZoneId;
-HSPLjava/time/ZoneId;->toString()Ljava/lang/String;
+HSPLjava/time/ZoneOffset;-><init>(I)V
HSPLjava/time/ZoneOffset;->buildId(I)Ljava/lang/String;
-HSPLjava/time/ZoneOffset;->equals(Ljava/lang/Object;)Z
+HSPLjava/time/ZoneOffset;->getId()Ljava/lang/String;
+HSPLjava/time/ZoneOffset;->getTotalSeconds()I
HSPLjava/time/ZoneOffset;->ofTotalSeconds(I)Ljava/time/ZoneOffset;
+HSPLjava/time/ZoneRegion;-><init>(Ljava/lang/String;Ljava/time/zone/ZoneRules;)V
HSPLjava/time/ZoneRegion;->checkName(Ljava/lang/String;)V
-HSPLjava/time/ZoneRegion;->getId()Ljava/lang/String;
HSPLjava/time/ZoneRegion;->getRules()Ljava/time/zone/ZoneRules;
HSPLjava/time/ZoneRegion;->ofId(Ljava/lang/String;Z)Ljava/time/ZoneRegion;
-HSPLjava/time/ZonedDateTime;->create(JILjava/time/ZoneId;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->equals(Ljava/lang/Object;)Z
-HPLjava/time/ZonedDateTime;->format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
-HSPLjava/time/ZonedDateTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->getDayOfMonth()I
-HSPLjava/time/ZonedDateTime;->getLong(Ljava/time/temporal/TemporalField;)J
-HSPLjava/time/ZonedDateTime;->getOffset()Ljava/time/ZoneOffset;
-HSPLjava/time/ZonedDateTime;->getZone()Ljava/time/ZoneId;
-HSPLjava/time/ZonedDateTime;->now(Ljava/time/Clock;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->of(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->ofLocal(Ljava/time/LocalDateTime;Ljava/time/ZoneId;Ljava/time/ZoneOffset;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime;
-HPLjava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;
-HPLjava/time/ZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-HSPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/LocalDate;
-HSPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/ZonedDateTime;->toLocalTime()Ljava/time/LocalTime;
-HSPLjava/time/ZonedDateTime;->toString()Ljava/lang/String;
-HSPLjava/time/ZonedDateTime;->truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
-HSPLjava/time/chrono/-$$Lambda$AbstractChronology$5b0W7uLeaWkn0HLPDKwPXzJ7HPo;-><init>()V
-HSPLjava/time/chrono/-$$Lambda$AbstractChronology$j22w8kHhJoqCd56hhLQK1G0VLFw;-><init>()V
-HSPLjava/time/chrono/-$$Lambda$AbstractChronology$onW9aZyLFliH5Gg1qLodD_GoPfA;-><init>()V
-HSPLjava/time/chrono/AbstractChronology;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/chrono/AbstractChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
+HSPLjava/time/ZonedDateTime;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)V
HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J
-HSPLjava/time/chrono/ChronoZonedDateTime;->compareTo(Ljava/lang/Object;)I
-HSPLjava/time/chrono/ChronoZonedDateTime;->compareTo(Ljava/time/chrono/ChronoZonedDateTime;)I
-HPLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology;
-HPLjava/time/chrono/ChronoZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-HSPLjava/time/chrono/ChronoZonedDateTime;->toEpochSecond()J
-HSPLjava/time/chrono/ChronoZonedDateTime;->toInstant()Ljava/time/Instant;
-HSPLjava/time/chrono/IsoChronology;-><init>()V
-HSPLjava/time/chrono/IsoChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/IsoChronology;->resolveProlepticMonth(Ljava/util/Map;Ljava/time/format/ResolverStyle;)V
-HSPLjava/time/chrono/IsoChronology;->resolveYMD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate;
-HSPLjava/time/chrono/IsoChronology;->resolveYMD(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/IsoChronology;->resolveYearOfEra(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate;
-HSPLjava/time/chrono/IsoChronology;->resolveYearOfEra(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/format/-$$Lambda$DateTimeFormatter$GhpE1dbCMFpBqvhZZgrqVYpzk8E;-><init>()V
-HSPLjava/time/format/-$$Lambda$DateTimeFormatter$QqeEAMXK7Qf5gsmaSCLmrVwQ1Ns;-><init>()V
-HSPLjava/time/format/-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo;-><init>()V
-HPLjava/time/format/-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
-HSPLjava/time/format/DateTimeFormatter;-><init>(Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;Ljava/util/Locale;Ljava/time/format/DecimalStyle;Ljava/time/format/ResolverStyle;Ljava/util/Set;Ljava/time/chrono/Chronology;Ljava/time/ZoneId;)V
-HSPLjava/time/format/DateTimeFormatter;->formatTo(Ljava/time/temporal/TemporalAccessor;Ljava/lang/Appendable;)V
-HSPLjava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
-HSPLjava/time/format/DateTimeFormatter;->parse(Ljava/lang/CharSequence;Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-HSPLjava/time/format/DateTimeFormatter;->parseResolved0(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/temporal/TemporalAccessor;
-HSPLjava/time/format/DateTimeFormatter;->parseUnresolved0(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/format/DateTimeParseContext;
-HSPLjava/time/format/DateTimeFormatter;->toPrinterParser(Z)Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
-HSPLjava/time/format/DateTimeFormatterBuilder$2;-><init>()V
-HPLjava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HSPLjava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HSPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IIZ)V
-HSPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertFromFraction(Ljava/math/BigDecimal;)J
-HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertToFraction(J)Ljava/math/BigDecimal;
-HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HSPLjava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->getValue(Ljava/time/format/DateTimePrintContext;J)J
-HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->setValue(Ljava/time/format/DateTimeParseContext;JII)I
-HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->withFixedWidth()Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->withSubsequentWidth(I)Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
-HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->checkPattern(Ljava/lang/String;)I
-HPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->parseNumber([IILjava/lang/CharSequence;Z)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->add0(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->isEqual(CC)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->match(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/lang/String;
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->newNode(Ljava/lang/String;Ljava/lang/String;Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->prefixLength(Ljava/lang/String;)I
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->prefixOf(Ljava/lang/CharSequence;II)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->toKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-HSPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->getTree(Ljava/time/format/DateTimeParseContext;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
-HSPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-HSPLjava/time/format/DateTimeFormatterBuilder;-><init>()V
-HSPLjava/time/format/DateTimeFormatterBuilder;->append(Ljava/time/format/DateTimeFormatter;)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendFraction(Ljava/time/temporal/TemporalField;IIZ)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendInstant()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendInternal(Ljava/time/format/DateTimeFormatterBuilder$DateTimePrinterParser;)I
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendLiteral(C)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendLiteral(Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendOffset(Ljava/lang/String;Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendOffsetId()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendText(Ljava/time/temporal/TemporalField;Ljava/util/Map;)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/temporal/TemporalField;I)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendValue(Ljava/time/temporal/TemporalField;IILjava/time/format/SignStyle;)Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->appendZoneRegionId()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->optionalEnd()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->optionalStart()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->parseCaseInsensitive()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->parseCaseSensitive()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->parseField(CILjava/time/temporal/TemporalField;)V
-HSPLjava/time/format/DateTimeFormatterBuilder;->parseLenient()Ljava/time/format/DateTimeFormatterBuilder;
-HSPLjava/time/format/DateTimeFormatterBuilder;->parsePattern(Ljava/lang/String;)V
-HSPLjava/time/format/DateTimeFormatterBuilder;->toFormatter()Ljava/time/format/DateTimeFormatter;
-HSPLjava/time/format/DateTimeFormatterBuilder;->toFormatter(Ljava/time/format/ResolverStyle;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
-HSPLjava/time/format/DateTimeFormatterBuilder;->toFormatter(Ljava/util/Locale;Ljava/time/format/ResolverStyle;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
-HSPLjava/time/format/DateTimeParseContext;->copy()Ljava/time/format/DateTimeParseContext;
-HSPLjava/time/format/DateTimeParseContext;->getParsed(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
-HSPLjava/time/format/DateTimeParseContext;->setParsedField(Ljava/time/temporal/TemporalField;JII)I
-HSPLjava/time/format/DateTimeParseContext;->subSequenceEquals(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z
-HSPLjava/time/format/DateTimePrintContext;->adjust(Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)Ljava/time/temporal/TemporalAccessor;
-HSPLjava/time/format/DateTimePrintContext;->getValue(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
-PLjava/time/format/DateTimePrintContext;->getValue(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-HSPLjava/time/format/DateTimeTextProvider$1;-><init>()V
-HSPLjava/time/format/DateTimeTextProvider$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/time/format/DateTimeTextProvider$1;->compare(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
-HSPLjava/time/format/DateTimeTextProvider$LocaleStore;-><init>(Ljava/util/Map;)V
-HSPLjava/time/format/DecimalStyle;-><init>(CCCC)V
-HSPLjava/time/format/Parsed;->crossCheck()V
-HSPLjava/time/format/Parsed;->crossCheck(Ljava/time/temporal/TemporalAccessor;)V
-HSPLjava/time/format/Parsed;->getLong(Ljava/time/temporal/TemporalField;)J
-HSPLjava/time/format/Parsed;->isSupported(Ljava/time/temporal/TemporalField;)Z
-HSPLjava/time/format/Parsed;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
-HSPLjava/time/format/Parsed;->resolveFields()V
-HSPLjava/time/format/Parsed;->resolveFractional()V
-HSPLjava/time/format/Parsed;->resolveInstant()V
-HSPLjava/time/format/Parsed;->resolveInstantFields()V
-HSPLjava/time/format/Parsed;->resolveTime(JJJJ)V
-HSPLjava/time/format/Parsed;->resolveTimeFields()V
-HSPLjava/time/format/Parsed;->resolveTimeLenient()V
-HSPLjava/time/format/Parsed;->updateCheckConflict(Ljava/time/LocalTime;Ljava/time/Period;)V
-HSPLjava/time/format/Parsed;->updateCheckConflict(Ljava/time/chrono/ChronoLocalDate;)V
-HSPLjava/time/format/ResolverStyle;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/format/SignStyle;-><init>(Ljava/lang/String;I)V
-HPLjava/time/format/SignStyle;->values()[Ljava/time/format/SignStyle;
-HSPLjava/time/format/TextStyle;-><init>(Ljava/lang/String;III)V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$IZUinmsZUz98YXPe0ftAd27ByiE;-><init>()V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$JPrXwgedeqexYxypO8VpPKV4l3c;-><init>()V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$PBpYKRiwkxqQNlcU-BOJfaQoONg;-><init>()V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$PBpYKRiwkxqQNlcU-BOJfaQoONg;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$WGGw7SkRcanjtxRiTk5p0dKf_jc;-><init>()V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$bI5NESEXE4DqyC7TnOvbkx1GlvM;-><init>()V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$okxqZ6ZoOhHd_zSzW7k5qRIaLxM;-><init>()V
-HSPLjava/time/temporal/-$$Lambda$TemporalQueries$thd4JmExRUYKd7nNlE7b5oT19ms;-><init>()V
-HSPLjava/time/temporal/ChronoField;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/ValueRange;)V
-HSPLjava/time/temporal/ChronoField;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/TemporalUnit;Ljava/time/temporal/ValueRange;Ljava/lang/String;)V
+HSPLjava/time/chrono/IsoChronology;->isLeapYear(J)Z
+HSPLjava/time/temporal/-$$Lambda$TemporalAdjusters$A9OZwfMlHD1vy7-nYt5NssACu7Q;-><init>(I)V
+HSPLjava/time/temporal/-$$Lambda$TemporalAdjusters$A9OZwfMlHD1vy7-nYt5NssACu7Q;->adjustInto(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
+HSPLjava/time/temporal/ChronoField;->checkValidIntValue(J)I
HSPLjava/time/temporal/ChronoField;->checkValidValue(J)J
HSPLjava/time/temporal/ChronoField;->range()Ljava/time/temporal/ValueRange;
-HSPLjava/time/temporal/ChronoField;->values()[Ljava/time/temporal/ChronoField;
-HSPLjava/time/temporal/ChronoUnit;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/time/Duration;)V
-HSPLjava/time/temporal/ChronoUnit;->getDuration()Ljava/time/Duration;
-HSPLjava/time/temporal/ChronoUnit;->values()[Ljava/time/temporal/ChronoUnit;
-HSPLjava/time/temporal/IsoFields$Field$1;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/temporal/IsoFields$Field$2;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/temporal/IsoFields$Field$3;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/temporal/IsoFields$Field$4;-><init>(Ljava/lang/String;I)V
-HSPLjava/time/temporal/IsoFields$Unit;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/time/Duration;)V
-HSPLjava/time/temporal/TemporalAccessor;->get(Ljava/time/temporal/TemporalField;)I
-HSPLjava/time/temporal/TemporalAccessor;->range(Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange;
-HSPLjava/time/temporal/TemporalField;->resolve(Ljava/util/Map;Ljava/time/temporal/TemporalAccessor;Ljava/time/format/ResolverStyle;)Ljava/time/temporal/TemporalAccessor;
+HSPLjava/time/temporal/TemporalAdjusters;->lambda$nextOrSame$10(ILjava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
+HSPLjava/time/temporal/TemporalAdjusters;->nextOrSame(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;
+HSPLjava/time/temporal/ValueRange;->checkValidIntValue(JLjava/time/temporal/TemporalField;)I
HSPLjava/time/temporal/ValueRange;->checkValidValue(JLjava/time/temporal/TemporalField;)J
+HSPLjava/time/temporal/ValueRange;->getMaximum()J
+HSPLjava/time/temporal/ValueRange;->getMinimum()J
+HSPLjava/time/temporal/ValueRange;->isIntValue()Z
HSPLjava/time/temporal/ValueRange;->isValidIntValue(J)Z
HSPLjava/time/temporal/ValueRange;->isValidValue(J)Z
-HSPLjava/time/temporal/ValueRange;->of(JJ)Ljava/time/temporal/ValueRange;
-HSPLjava/time/temporal/ValueRange;->of(JJJ)Ljava/time/temporal/ValueRange;
-HSPLjava/time/temporal/ValueRange;->of(JJJJ)Ljava/time/temporal/ValueRange;
HSPLjava/time/zone/IcuZoneRulesProvider$ZoneRulesCache;->create(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/time/zone/IcuZoneRulesProvider$ZoneRulesCache;->create(Ljava/lang/String;)Ljava/time/zone/ZoneRules;
-HSPLjava/time/zone/IcuZoneRulesProvider;-><init>()V
HSPLjava/time/zone/IcuZoneRulesProvider;->generateZoneRules(Ljava/lang/String;)Ljava/time/zone/ZoneRules;
+HSPLjava/time/zone/IcuZoneRulesProvider;->millisToOffset(I)Ljava/time/ZoneOffset;
HSPLjava/time/zone/IcuZoneRulesProvider;->provideRules(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
-HSPLjava/time/zone/IcuZoneRulesProvider;->provideZoneIds()Ljava/util/Set;
HSPLjava/time/zone/IcuZoneRulesProvider;->toZoneOffsetTransitionRule(Landroid/icu/util/AnnualTimeZoneRule;I)Ljava/time/zone/ZoneOffsetTransitionRule;
-HSPLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;-><init>(Ljava/lang/String;I)V
+HSPLjava/time/zone/IcuZoneRulesProvider;->verify(ZLjava/lang/String;Ljava/lang/String;)V
+HSPLjava/time/zone/ZoneOffsetTransition;-><init>(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
+HSPLjava/time/zone/ZoneOffsetTransition;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
+HSPLjava/time/zone/ZoneOffsetTransition;->getDateTimeAfter()Ljava/time/LocalDateTime;
+HSPLjava/time/zone/ZoneOffsetTransition;->getDateTimeBefore()Ljava/time/LocalDateTime;
+HSPLjava/time/zone/ZoneOffsetTransition;->getDurationSeconds()I
+HSPLjava/time/zone/ZoneOffsetTransition;->getOffsetAfter()Ljava/time/ZoneOffset;
+HSPLjava/time/zone/ZoneOffsetTransition;->getOffsetBefore()Ljava/time/ZoneOffset;
+HSPLjava/time/zone/ZoneOffsetTransition;->isGap()Z
+HSPLjava/time/zone/ZoneOffsetTransition;->toEpochSecond()J
HSPLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;->createDateTime(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/LocalDateTime;
-HSPLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;->values()[Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
+HSPLjava/time/zone/ZoneOffsetTransitionRule;-><init>(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
HSPLjava/time/zone/ZoneOffsetTransitionRule;->createTransition(I)Ljava/time/zone/ZoneOffsetTransition;
HSPLjava/time/zone/ZoneOffsetTransitionRule;->of(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransitionRule;
HSPLjava/time/zone/ZoneRules;-><init>(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
-HSPLjava/time/zone/ZoneRules;->findOffsetInfo(Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
HSPLjava/time/zone/ZoneRules;->findTransitionArray(I)[Ljava/time/zone/ZoneOffsetTransition;
+HSPLjava/time/zone/ZoneRules;->findYear(JLjava/time/ZoneOffset;)I
HSPLjava/time/zone/ZoneRules;->getOffset(Ljava/time/Instant;)Ljava/time/ZoneOffset;
-HSPLjava/time/zone/ZoneRules;->getOffsetInfo(Ljava/time/LocalDateTime;)Ljava/lang/Object;
HSPLjava/time/zone/ZoneRules;->of(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/time/zone/ZoneRules;
HSPLjava/time/zone/ZoneRulesProvider;->getProvider(Ljava/lang/String;)Ljava/time/zone/ZoneRulesProvider;
HSPLjava/time/zone/ZoneRulesProvider;->getRules(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
-HSPLjava/time/zone/ZoneRulesProvider;->registerProvider(Ljava/time/zone/ZoneRulesProvider;)V
-HSPLjava/time/zone/ZoneRulesProvider;->registerProvider0(Ljava/time/zone/ZoneRulesProvider;)V
-HSPLjava/util/-$$Lambda$Comparator$4V5k8aLimtS0VsEILEAqQ9UGZYo;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/util/-$$Lambda$Comparator$BZSVCoA8i87ehjxxZ1weEounfDQ;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/util/-$$Lambda$Comparator$DNgpxUFZqmT4lOBzlVyPjWwvEvw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/util/-$$Lambda$Comparator$SPB8K9Yj7Pw1mljm7LpasV7zxWw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/util/AbstractCollection;-><init>()V
HSPLjava/util/AbstractCollection;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/AbstractCollection;->clear()V
HSPLjava/util/AbstractCollection;->contains(Ljava/lang/Object;)Z
HSPLjava/util/AbstractCollection;->containsAll(Ljava/util/Collection;)Z
HSPLjava/util/AbstractCollection;->isEmpty()Z
@@ -28294,8 +12272,11 @@ HSPLjava/util/AbstractCollection;->toArray()[Ljava/lang/Object;
HSPLjava/util/AbstractCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/AbstractCollection;->toString()Ljava/lang/String;
HSPLjava/util/AbstractList$Itr;-><init>(Ljava/util/AbstractList;)V
+HSPLjava/util/AbstractList$Itr;-><init>(Ljava/util/AbstractList;Ljava/util/AbstractList$1;)V
+HSPLjava/util/AbstractList$Itr;->checkForComodification()V
HSPLjava/util/AbstractList$Itr;->hasNext()Z
HSPLjava/util/AbstractList$Itr;->next()Ljava/lang/Object;
+HSPLjava/util/AbstractList$ListItr;-><init>(Ljava/util/AbstractList;I)V
HSPLjava/util/AbstractList$ListItr;->nextIndex()I
HSPLjava/util/AbstractList;-><init>()V
HSPLjava/util/AbstractList;->add(Ljava/lang/Object;)Z
@@ -28305,13 +12286,16 @@ HSPLjava/util/AbstractList;->hashCode()I
HSPLjava/util/AbstractList;->iterator()Ljava/util/Iterator;
HSPLjava/util/AbstractList;->listIterator()Ljava/util/ListIterator;
HSPLjava/util/AbstractList;->listIterator(I)Ljava/util/ListIterator;
+HSPLjava/util/AbstractList;->rangeCheckForAdd(I)V
HSPLjava/util/AbstractList;->subList(II)Ljava/util/List;
HSPLjava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLjava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/util/Map$Entry;)V
HSPLjava/util/AbstractMap$SimpleImmutableEntry;->getKey()Ljava/lang/Object;
HSPLjava/util/AbstractMap$SimpleImmutableEntry;->getValue()Ljava/lang/Object;
HSPLjava/util/AbstractMap$SimpleImmutableEntry;->hashCode()I
HSPLjava/util/AbstractMap;-><init>()V
HSPLjava/util/AbstractMap;->clear()V
+HSPLjava/util/AbstractMap;->clone()Ljava/lang/Object;
HSPLjava/util/AbstractMap;->equals(Ljava/lang/Object;)Z
HSPLjava/util/AbstractMap;->hashCode()I
HSPLjava/util/AbstractMap;->isEmpty()Z
@@ -28319,30 +12303,30 @@ HSPLjava/util/AbstractMap;->putAll(Ljava/util/Map;)V
HSPLjava/util/AbstractMap;->toString()Ljava/lang/String;
HSPLjava/util/AbstractQueue;-><init>()V
HSPLjava/util/AbstractQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/AbstractQueue;->addAll(Ljava/util/Collection;)Z
HSPLjava/util/AbstractQueue;->clear()V
HSPLjava/util/AbstractQueue;->remove()Ljava/lang/Object;
+HSPLjava/util/AbstractSequentialList;-><init>()V
HSPLjava/util/AbstractSequentialList;->iterator()Ljava/util/Iterator;
HSPLjava/util/AbstractSet;-><init>()V
HSPLjava/util/AbstractSet;->equals(Ljava/lang/Object;)Z
HSPLjava/util/AbstractSet;->hashCode()I
HSPLjava/util/AbstractSet;->removeAll(Ljava/util/Collection;)Z
+HSPLjava/util/ArrayDeque$DeqIterator;-><init>(Ljava/util/ArrayDeque;)V
+HSPLjava/util/ArrayDeque$DeqIterator;-><init>(Ljava/util/ArrayDeque;Ljava/util/ArrayDeque$1;)V
HSPLjava/util/ArrayDeque$DeqIterator;->hasNext()Z
HSPLjava/util/ArrayDeque$DeqIterator;->next()Ljava/lang/Object;
+HSPLjava/util/ArrayDeque$DeqIterator;->remove()V
HSPLjava/util/ArrayDeque;-><init>()V
HSPLjava/util/ArrayDeque;-><init>(I)V
-HSPLjava/util/ArrayDeque;-><init>(Ljava/util/Collection;)V
HSPLjava/util/ArrayDeque;->add(Ljava/lang/Object;)Z
HSPLjava/util/ArrayDeque;->addFirst(Ljava/lang/Object;)V
HSPLjava/util/ArrayDeque;->addLast(Ljava/lang/Object;)V
HSPLjava/util/ArrayDeque;->allocateElements(I)V
+HSPLjava/util/ArrayDeque;->checkInvariants()V
HSPLjava/util/ArrayDeque;->clear()V
-HSPLjava/util/ArrayDeque;->contains(Ljava/lang/Object;)Z
HSPLjava/util/ArrayDeque;->delete(I)Z
-HSPLjava/util/ArrayDeque;->descendingIterator()Ljava/util/Iterator;
HSPLjava/util/ArrayDeque;->doubleCapacity()V
-HSPLjava/util/ArrayDeque;->getFirst()Ljava/lang/Object;
-HSPLjava/util/ArrayDeque;->getLast()Ljava/lang/Object;
+HPLjava/util/ArrayDeque;->getFirst()Ljava/lang/Object;
HSPLjava/util/ArrayDeque;->isEmpty()Z
HSPLjava/util/ArrayDeque;->iterator()Ljava/util/Iterator;
HSPLjava/util/ArrayDeque;->offer(Ljava/lang/Object;)Z
@@ -28362,22 +12346,30 @@ HSPLjava/util/ArrayDeque;->removeFirstOccurrence(Ljava/lang/Object;)Z
HSPLjava/util/ArrayDeque;->removeLast()Ljava/lang/Object;
HSPLjava/util/ArrayDeque;->size()I
HSPLjava/util/ArrayDeque;->toArray()[Ljava/lang/Object;
-HPLjava/util/ArrayDeque;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HSPLjava/util/ArrayList$ArrayListSpliterator;-><init>(Ljava/util/ArrayList;III)V
HSPLjava/util/ArrayList$ArrayListSpliterator;->characteristics()I
HSPLjava/util/ArrayList$ArrayListSpliterator;->estimateSize()J
HSPLjava/util/ArrayList$ArrayListSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HSPLjava/util/ArrayList$ArrayListSpliterator;->getFence()I
HSPLjava/util/ArrayList$ArrayListSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
+HSPLjava/util/ArrayList$Itr;-><init>(Ljava/util/ArrayList;)V
HSPLjava/util/ArrayList$Itr;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList$1;)V
HSPLjava/util/ArrayList$Itr;->hasNext()Z
HSPLjava/util/ArrayList$Itr;->next()Ljava/lang/Object;
HSPLjava/util/ArrayList$Itr;->remove()V
+HSPLjava/util/ArrayList$ListItr;-><init>(Ljava/util/ArrayList;I)V
+HSPLjava/util/ArrayList$ListItr;->hasPrevious()Z
+HSPLjava/util/ArrayList$ListItr;->nextIndex()I
+HSPLjava/util/ArrayList$SubList$1;-><init>(Ljava/util/ArrayList$SubList;II)V
HSPLjava/util/ArrayList$SubList$1;->hasNext()Z
HSPLjava/util/ArrayList$SubList$1;->next()Ljava/lang/Object;
+HSPLjava/util/ArrayList$SubList;-><init>(Ljava/util/ArrayList;Ljava/util/AbstractList;III)V
HSPLjava/util/ArrayList$SubList;->get(I)Ljava/lang/Object;
HSPLjava/util/ArrayList$SubList;->iterator()Ljava/util/Iterator;
HSPLjava/util/ArrayList$SubList;->listIterator(I)Ljava/util/ListIterator;
HSPLjava/util/ArrayList$SubList;->removeRange(II)V
HSPLjava/util/ArrayList$SubList;->size()I
+HSPLjava/util/ArrayList$SubList;->subList(II)Ljava/util/List;
HSPLjava/util/ArrayList;-><init>()V
HSPLjava/util/ArrayList;-><init>(I)V
HSPLjava/util/ArrayList;-><init>(Ljava/util/Collection;)V
@@ -28393,13 +12385,13 @@ HSPLjava/util/ArrayList;->contains(Ljava/lang/Object;)Z
HSPLjava/util/ArrayList;->ensureCapacity(I)V
HSPLjava/util/ArrayList;->ensureCapacityInternal(I)V
HSPLjava/util/ArrayList;->ensureExplicitCapacity(I)V
+HSPLjava/util/ArrayList;->fastRemove(I)V
HSPLjava/util/ArrayList;->forEach(Ljava/util/function/Consumer;)V
HSPLjava/util/ArrayList;->get(I)Ljava/lang/Object;
HSPLjava/util/ArrayList;->grow(I)V
HSPLjava/util/ArrayList;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/ArrayList;->isEmpty()Z
HSPLjava/util/ArrayList;->iterator()Ljava/util/Iterator;
-HSPLjava/util/ArrayList;->lastIndexOf(Ljava/lang/Object;)I
HSPLjava/util/ArrayList;->listIterator()Ljava/util/ListIterator;
HSPLjava/util/ArrayList;->listIterator(I)Ljava/util/ListIterator;
HSPLjava/util/ArrayList;->remove(I)Ljava/lang/Object;
@@ -28415,21 +12407,23 @@ HSPLjava/util/ArrayList;->subList(II)Ljava/util/List;
HSPLjava/util/ArrayList;->subListRangeCheck(III)V
HSPLjava/util/ArrayList;->toArray()[Ljava/lang/Object;
HSPLjava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/ArrayList;->trimToSize()V
+HSPLjava/util/Arrays$ArrayList;-><init>([Ljava/lang/Object;)V
HSPLjava/util/Arrays$ArrayList;->contains(Ljava/lang/Object;)Z
HSPLjava/util/Arrays$ArrayList;->get(I)Ljava/lang/Object;
HSPLjava/util/Arrays$ArrayList;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/Arrays$ArrayList;->size()I
-HSPLjava/util/Arrays$ArrayList;->spliterator()Ljava/util/Spliterator;
HSPLjava/util/Arrays$ArrayList;->toArray()[Ljava/lang/Object;
HSPLjava/util/Arrays$ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
-HSPLjava/util/Arrays;->binarySearch([II)I
+HSPLjava/util/Arrays;->binarySearch([CC)I
HSPLjava/util/Arrays;->binarySearch([IIII)I
-HSPLjava/util/Arrays;->binarySearch([JIIJ)I
HSPLjava/util/Arrays;->binarySearch([JJ)I
HSPLjava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I
+HSPLjava/util/Arrays;->binarySearch0([CIIC)I
+HSPLjava/util/Arrays;->binarySearch0([IIII)I
+HSPLjava/util/Arrays;->binarySearch0([JIIJ)I
+HSPLjava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;)I
HSPLjava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
HSPLjava/util/Arrays;->copyOf([BI)[B
HSPLjava/util/Arrays;->copyOf([CI)[C
@@ -28438,29 +12432,21 @@ HSPLjava/util/Arrays;->copyOf([II)[I
HSPLjava/util/Arrays;->copyOf([JI)[J
HSPLjava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
HSPLjava/util/Arrays;->copyOf([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
-HSPLjava/util/Arrays;->copyOf([ZI)[Z
HSPLjava/util/Arrays;->copyOfRange([BII)[B
HSPLjava/util/Arrays;->copyOfRange([CII)[C
-HSPLjava/util/Arrays;->copyOfRange([III)[I
-HSPLjava/util/Arrays;->copyOfRange([JII)[J
HSPLjava/util/Arrays;->copyOfRange([Ljava/lang/Object;II)[Ljava/lang/Object;
HSPLjava/util/Arrays;->copyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
-HSPLjava/util/Arrays;->deepEquals([Ljava/lang/Object;[Ljava/lang/Object;)Z
-HSPLjava/util/Arrays;->deepEquals0(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLjava/util/Arrays;->deepHashCode([Ljava/lang/Object;)I
HSPLjava/util/Arrays;->equals([B[B)Z
-HSPLjava/util/Arrays;->equals([F[F)Z
HSPLjava/util/Arrays;->equals([I[I)Z
-HSPLjava/util/Arrays;->equals([J[J)Z
HSPLjava/util/Arrays;->equals([Ljava/lang/Object;[Ljava/lang/Object;)Z
-HSPLjava/util/Arrays;->equals([Z[Z)Z
HSPLjava/util/Arrays;->fill([BB)V
+HSPLjava/util/Arrays;->fill([BIIB)V
HSPLjava/util/Arrays;->fill([CC)V
HSPLjava/util/Arrays;->fill([CIIC)V
+HSPLjava/util/Arrays;->fill([DD)V
HSPLjava/util/Arrays;->fill([FF)V
HSPLjava/util/Arrays;->fill([II)V
HSPLjava/util/Arrays;->fill([IIII)V
-HSPLjava/util/Arrays;->fill([JIIJ)V
HSPLjava/util/Arrays;->fill([JJ)V
HSPLjava/util/Arrays;->fill([Ljava/lang/Object;IILjava/lang/Object;)V
HSPLjava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
@@ -28472,73 +12458,69 @@ HSPLjava/util/Arrays;->hashCode([J)I
HSPLjava/util/Arrays;->hashCode([Ljava/lang/Object;)I
HSPLjava/util/Arrays;->rangeCheck(III)V
HSPLjava/util/Arrays;->sort([C)V
-HSPLjava/util/Arrays;->sort([F)V
HSPLjava/util/Arrays;->sort([I)V
-HSPLjava/util/Arrays;->sort([III)V
HSPLjava/util/Arrays;->sort([J)V
HSPLjava/util/Arrays;->sort([Ljava/lang/Object;)V
+HSPLjava/util/Arrays;->sort([Ljava/lang/Object;II)V
HSPLjava/util/Arrays;->sort([Ljava/lang/Object;IILjava/util/Comparator;)V
HSPLjava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
-HSPLjava/util/Arrays;->stream([I)Ljava/util/stream/IntStream;
+HSPLjava/util/Arrays;->spliterator([Ljava/lang/Object;II)Ljava/util/Spliterator;
HSPLjava/util/Arrays;->stream([Ljava/lang/Object;)Ljava/util/stream/Stream;
-HSPLjava/util/Arrays;->toString([B)Ljava/lang/String;
+HSPLjava/util/Arrays;->stream([Ljava/lang/Object;II)Ljava/util/stream/Stream;
+HPLjava/util/Arrays;->toString([B)Ljava/lang/String;
HSPLjava/util/Arrays;->toString([I)Ljava/lang/String;
-HSPLjava/util/Arrays;->toString([J)Ljava/lang/String;
HSPLjava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
-HSPLjava/util/Base64$Decoder;-><init>(ZZ)V
HSPLjava/util/Base64$Decoder;->decode(Ljava/lang/String;)[B
HSPLjava/util/Base64$Decoder;->decode([B)[B
HSPLjava/util/Base64$Decoder;->decode0([BII[B)I
HSPLjava/util/Base64$Decoder;->outLength([BII)I
-HSPLjava/util/Base64$Encoder;-><init>(Z[BIZ)V
-HSPLjava/util/Base64$Encoder;->access$200()[C
-HSPLjava/util/Base64$Encoder;->access$300()[C
-HSPLjava/util/Base64$Encoder;->encode([B)[B
-HSPLjava/util/Base64$Encoder;->encode0([BII[B)I
-HSPLjava/util/Base64$Encoder;->encodeToString([B)Ljava/lang/String;
-HSPLjava/util/Base64$Encoder;->outLength(I)I
-HSPLjava/util/Base64;->getDecoder()Ljava/util/Base64$Decoder;
-HSPLjava/util/Base64;->getEncoder()Ljava/util/Base64$Encoder;
HSPLjava/util/BitSet;-><init>()V
HSPLjava/util/BitSet;-><init>(I)V
-HSPLjava/util/BitSet;->andNot(Ljava/util/BitSet;)V
-HSPLjava/util/BitSet;->cardinality()I
+HPLjava/util/BitSet;->cardinality()I
+HSPLjava/util/BitSet;->checkInvariants()V
HSPLjava/util/BitSet;->checkRange(II)V
HSPLjava/util/BitSet;->clear()V
HSPLjava/util/BitSet;->clear(I)V
HSPLjava/util/BitSet;->clone()Ljava/lang/Object;
-HSPLjava/util/BitSet;->equals(Ljava/lang/Object;)Z
+HSPLjava/util/BitSet;->ensureCapacity(I)V
+HSPLjava/util/BitSet;->expandTo(I)V
HSPLjava/util/BitSet;->get(I)Z
-HSPLjava/util/BitSet;->intersects(Ljava/util/BitSet;)Z
+HSPLjava/util/BitSet;->initWords(I)V
HSPLjava/util/BitSet;->isEmpty()Z
HSPLjava/util/BitSet;->length()I
HSPLjava/util/BitSet;->nextClearBit(I)I
HSPLjava/util/BitSet;->nextSetBit(I)I
HSPLjava/util/BitSet;->or(Ljava/util/BitSet;)V
+HSPLjava/util/BitSet;->recalculateWordsInUse()V
HSPLjava/util/BitSet;->set(I)V
HSPLjava/util/BitSet;->set(II)V
-HSPLjava/util/BitSet;->set(IIZ)V
HSPLjava/util/BitSet;->set(IZ)V
-HSPLjava/util/BitSet;->toByteArray()[B
HSPLjava/util/BitSet;->toString()Ljava/lang/String;
-HSPLjava/util/BitSet;->valueOf(Ljava/nio/ByteBuffer;)Ljava/util/BitSet;
-HSPLjava/util/BitSet;->valueOf([B)Ljava/util/BitSet;
+HSPLjava/util/BitSet;->wordIndex(I)I
+PLjava/util/Calendar;-><init>()V
HSPLjava/util/Calendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;)V
+HSPLjava/util/Calendar;->aggregateStamp(II)I
HSPLjava/util/Calendar;->clear()V
HSPLjava/util/Calendar;->clone()Ljava/lang/Object;
HSPLjava/util/Calendar;->complete()V
+HSPLjava/util/Calendar;->createCalendar(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
HSPLjava/util/Calendar;->get(I)I
HSPLjava/util/Calendar;->getFirstDayOfWeek()I
HSPLjava/util/Calendar;->getInstance()Ljava/util/Calendar;
HSPLjava/util/Calendar;->getInstance(Ljava/util/TimeZone;)Ljava/util/Calendar;
HSPLjava/util/Calendar;->getInstance(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
HSPLjava/util/Calendar;->getMinimalDaysInFirstWeek()I
+HSPLjava/util/Calendar;->getSetStateFields()I
HSPLjava/util/Calendar;->getTime()Ljava/util/Date;
HSPLjava/util/Calendar;->getTimeInMillis()J
+HSPLjava/util/Calendar;->getTimeZone()Ljava/util/TimeZone;
HSPLjava/util/Calendar;->getZone()Ljava/util/TimeZone;
HSPLjava/util/Calendar;->internalGet(I)I
HSPLjava/util/Calendar;->internalSet(II)V
+HSPLjava/util/Calendar;->isFieldSet(II)Z
HSPLjava/util/Calendar;->isLenient()Z
+HSPLjava/util/Calendar;->isPartiallyNormalized()Z
+HSPLjava/util/Calendar;->isSet(I)Z
HSPLjava/util/Calendar;->selectFields()I
HSPLjava/util/Calendar;->set(II)V
HSPLjava/util/Calendar;->set(IIIIII)V
@@ -28547,44 +12529,41 @@ HSPLjava/util/Calendar;->setFieldsNormalized(I)V
HSPLjava/util/Calendar;->setLenient(Z)V
HSPLjava/util/Calendar;->setTime(Ljava/util/Date;)V
HSPLjava/util/Calendar;->setTimeInMillis(J)V
+HSPLjava/util/Calendar;->setTimeZone(Ljava/util/TimeZone;)V
HSPLjava/util/Calendar;->setWeekCountData(Ljava/util/Locale;)V
HSPLjava/util/Calendar;->setZoneShared(Z)V
-HSPLjava/util/Collection;->removeIf(Ljava/util/function/Predicate;)Z
-HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
+HSPLjava/util/Calendar;->updateTime()V
HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
+HSPLjava/util/Collections$1;-><init>(Ljava/lang/Object;)V
HSPLjava/util/Collections$1;->hasNext()Z
HSPLjava/util/Collections$1;->next()Ljava/lang/Object;
-HPLjava/util/Collections$2;->characteristics()I
-HPLjava/util/Collections$2;->estimateSize()J
-HPLjava/util/Collections$2;->forEachRemaining(Ljava/util/function/Consumer;)V
-HPLjava/util/Collections$2;->tryAdvance(Ljava/util/function/Consumer;)Z
+HSPLjava/util/Collections$3;-><init>(Ljava/util/Collection;)V
HSPLjava/util/Collections$3;->hasMoreElements()Z
-HSPLjava/util/Collections$3;->nextElement()Ljava/lang/Object;
+HSPLjava/util/Collections$CopiesList;-><init>(ILjava/lang/Object;)V
HSPLjava/util/Collections$CopiesList;->get(I)Ljava/lang/Object;
HSPLjava/util/Collections$CopiesList;->size()I
HSPLjava/util/Collections$CopiesList;->toArray()[Ljava/lang/Object;
HSPLjava/util/Collections$EmptyEnumeration;->hasMoreElements()Z
HSPLjava/util/Collections$EmptyIterator;->hasNext()Z
-HSPLjava/util/Collections$EmptyList;->contains(Ljava/lang/Object;)Z
HSPLjava/util/Collections$EmptyList;->equals(Ljava/lang/Object;)Z
HSPLjava/util/Collections$EmptyList;->isEmpty()Z
HSPLjava/util/Collections$EmptyList;->iterator()Ljava/util/Iterator;
-HSPLjava/util/Collections$EmptyList;->readResolve()Ljava/lang/Object;
+HSPLjava/util/Collections$EmptyList;->listIterator()Ljava/util/ListIterator;
HSPLjava/util/Collections$EmptyList;->size()I
-HSPLjava/util/Collections$EmptyList;->spliterator()Ljava/util/Spliterator;
HSPLjava/util/Collections$EmptyList;->toArray()[Ljava/lang/Object;
-HSPLjava/util/Collections$EmptyList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/Collections$EmptyMap;->entrySet()Ljava/util/Set;
HSPLjava/util/Collections$EmptyMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Collections$EmptyMap;->isEmpty()Z
+HSPLjava/util/Collections$EmptyMap;->keySet()Ljava/util/Set;
HSPLjava/util/Collections$EmptyMap;->size()I
HSPLjava/util/Collections$EmptyMap;->values()Ljava/util/Collection;
HSPLjava/util/Collections$EmptySet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/Collections$EmptySet;->isEmpty()Z
HSPLjava/util/Collections$EmptySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/Collections$EmptySet;->size()I
-HSPLjava/util/Collections$EmptySet;->toArray()[Ljava/lang/Object;
+HPLjava/util/Collections$EmptySet;->toArray()[Ljava/lang/Object;
HSPLjava/util/Collections$EmptySet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HSPLjava/util/Collections$ReverseComparator2;-><init>(Ljava/util/Comparator;)V
HSPLjava/util/Collections$ReverseComparator2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/util/Collections$ReverseComparator;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
HSPLjava/util/Collections$ReverseComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
@@ -28596,21 +12575,22 @@ HSPLjava/util/Collections$SetFromMap;->isEmpty()Z
HSPLjava/util/Collections$SetFromMap;->iterator()Ljava/util/Iterator;
HSPLjava/util/Collections$SetFromMap;->remove(Ljava/lang/Object;)Z
HSPLjava/util/Collections$SetFromMap;->size()I
-HSPLjava/util/Collections$SetFromMap;->stream()Ljava/util/stream/Stream;
HSPLjava/util/Collections$SetFromMap;->toArray()[Ljava/lang/Object;
HSPLjava/util/Collections$SetFromMap;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/Collections$SingletonList;->contains(Ljava/lang/Object;)Z
+HSPLjava/util/Collections$SingletonList;-><init>(Ljava/lang/Object;)V
HSPLjava/util/Collections$SingletonList;->get(I)Ljava/lang/Object;
HSPLjava/util/Collections$SingletonList;->iterator()Ljava/util/Iterator;
HSPLjava/util/Collections$SingletonList;->size()I
-HPLjava/util/Collections$SingletonList;->spliterator()Ljava/util/Spliterator;
+HSPLjava/util/Collections$SingletonMap;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
HSPLjava/util/Collections$SingletonMap;->entrySet()Ljava/util/Set;
HSPLjava/util/Collections$SingletonMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Collections$SingletonMap;->keySet()Ljava/util/Set;
HSPLjava/util/Collections$SingletonMap;->size()I
+HSPLjava/util/Collections$SingletonSet;-><init>(Ljava/lang/Object;)V
HSPLjava/util/Collections$SingletonSet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/Collections$SingletonSet;->iterator()Ljava/util/Iterator;
HSPLjava/util/Collections$SingletonSet;->size()I
+HSPLjava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;)V
HSPLjava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V
HSPLjava/util/Collections$SynchronizedCollection;->add(Ljava/lang/Object;)Z
HSPLjava/util/Collections$SynchronizedCollection;->clear()V
@@ -28621,77 +12601,96 @@ HSPLjava/util/Collections$SynchronizedCollection;->remove(Ljava/lang/Object;)Z
HSPLjava/util/Collections$SynchronizedCollection;->size()I
HSPLjava/util/Collections$SynchronizedCollection;->toArray()[Ljava/lang/Object;
HSPLjava/util/Collections$SynchronizedCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/Collections$SynchronizedMap;->clear()V
+HSPLjava/util/Collections$SynchronizedList;-><init>(Ljava/util/List;)V
+HSPLjava/util/Collections$SynchronizedList;->get(I)Ljava/lang/Object;
+HSPLjava/util/Collections$SynchronizedMap;-><init>(Ljava/util/Map;)V
HSPLjava/util/Collections$SynchronizedMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/Collections$SynchronizedMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Collections$SynchronizedMap;->isEmpty()Z
+HPLjava/util/Collections$SynchronizedMap;->isEmpty()Z
HSPLjava/util/Collections$SynchronizedMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Collections$SynchronizedMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Collections$SynchronizedMap;->size()I
HSPLjava/util/Collections$SynchronizedMap;->values()Ljava/util/Collection;
+HSPLjava/util/Collections$SynchronizedRandomAccessList;-><init>(Ljava/util/List;)V
+HSPLjava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;)V
HSPLjava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V
-HSPLjava/util/Collections$SynchronizedSet;->equals(Ljava/lang/Object;)Z
+PLjava/util/Collections$SynchronizedSet;->equals(Ljava/lang/Object;)Z
+HSPLjava/util/Collections$UnmodifiableCollection$1;-><init>(Ljava/util/Collections$UnmodifiableCollection;)V
HSPLjava/util/Collections$UnmodifiableCollection$1;->hasNext()Z
HSPLjava/util/Collections$UnmodifiableCollection$1;->next()Ljava/lang/Object;
+HSPLjava/util/Collections$UnmodifiableCollection;-><init>(Ljava/util/Collection;)V
HSPLjava/util/Collections$UnmodifiableCollection;->contains(Ljava/lang/Object;)Z
HSPLjava/util/Collections$UnmodifiableCollection;->containsAll(Ljava/util/Collection;)Z
HSPLjava/util/Collections$UnmodifiableCollection;->isEmpty()Z
HSPLjava/util/Collections$UnmodifiableCollection;->iterator()Ljava/util/Iterator;
HSPLjava/util/Collections$UnmodifiableCollection;->size()I
-HSPLjava/util/Collections$UnmodifiableCollection;->stream()Ljava/util/stream/Stream;
HSPLjava/util/Collections$UnmodifiableCollection;->toArray()[Ljava/lang/Object;
HSPLjava/util/Collections$UnmodifiableCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/Collections$UnmodifiableCollection;->toString()Ljava/lang/String;
+HSPLjava/util/Collections$UnmodifiableList$1;-><init>(Ljava/util/Collections$UnmodifiableList;I)V
HSPLjava/util/Collections$UnmodifiableList$1;->hasNext()Z
HSPLjava/util/Collections$UnmodifiableList$1;->next()Ljava/lang/Object;
+HSPLjava/util/Collections$UnmodifiableList$1;->nextIndex()I
+HSPLjava/util/Collections$UnmodifiableList;-><init>(Ljava/util/List;)V
HSPLjava/util/Collections$UnmodifiableList;->equals(Ljava/lang/Object;)Z
HSPLjava/util/Collections$UnmodifiableList;->get(I)Ljava/lang/Object;
HSPLjava/util/Collections$UnmodifiableList;->hashCode()I
HSPLjava/util/Collections$UnmodifiableList;->listIterator()Ljava/util/ListIterator;
HSPLjava/util/Collections$UnmodifiableList;->listIterator(I)Ljava/util/ListIterator;
+HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;-><init>(Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;)V
HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;->hasNext()Z
HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;->next()Ljava/lang/Object;
HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;->next()Ljava/util/Map$Entry;
+HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;-><init>(Ljava/util/Map$Entry;)V
HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;->getKey()Ljava/lang/Object;
HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;->getValue()Ljava/lang/Object;
+HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;-><init>(Ljava/util/Set;)V
HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;->iterator()Ljava/util/Iterator;
+HSPLjava/util/Collections$UnmodifiableMap;-><init>(Ljava/util/Map;)V
HSPLjava/util/Collections$UnmodifiableMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/Collections$UnmodifiableMap;->entrySet()Ljava/util/Set;
HSPLjava/util/Collections$UnmodifiableMap;->equals(Ljava/lang/Object;)Z
HSPLjava/util/Collections$UnmodifiableMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Collections$UnmodifiableMap;->hashCode()I
HSPLjava/util/Collections$UnmodifiableMap;->isEmpty()Z
HSPLjava/util/Collections$UnmodifiableMap;->keySet()Ljava/util/Set;
HSPLjava/util/Collections$UnmodifiableMap;->size()I
HSPLjava/util/Collections$UnmodifiableMap;->values()Ljava/util/Collection;
+HSPLjava/util/Collections$UnmodifiableRandomAccessList;-><init>(Ljava/util/List;)V
HSPLjava/util/Collections$UnmodifiableRandomAccessList;->subList(II)Ljava/util/List;
-HSPLjava/util/Collections$UnmodifiableSet;->equals(Ljava/lang/Object;)Z
+HSPLjava/util/Collections$UnmodifiableSet;-><init>(Ljava/util/Set;)V
+HSPLjava/util/Collections$UnmodifiableSortedMap;-><init>(Ljava/util/SortedMap;)V
+HSPLjava/util/Collections$UnmodifiableSortedSet;-><init>(Ljava/util/SortedSet;)V
HSPLjava/util/Collections;->addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z
HSPLjava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;)I
HSPLjava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
+HSPLjava/util/Collections;->disjoint(Ljava/util/Collection;Ljava/util/Collection;)Z
+HSPLjava/util/Collections;->emptyEnumeration()Ljava/util/Enumeration;
+HSPLjava/util/Collections;->emptyIterator()Ljava/util/Iterator;
HSPLjava/util/Collections;->emptyList()Ljava/util/List;
+HSPLjava/util/Collections;->emptyListIterator()Ljava/util/ListIterator;
HSPLjava/util/Collections;->emptyMap()Ljava/util/Map;
HSPLjava/util/Collections;->emptySet()Ljava/util/Set;
HSPLjava/util/Collections;->enumeration(Ljava/util/Collection;)Ljava/util/Enumeration;
+HSPLjava/util/Collections;->eq(Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLjava/util/Collections;->indexedBinarySearch(Ljava/util/List;Ljava/lang/Object;)I
HSPLjava/util/Collections;->indexedBinarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
-HSPLjava/util/Collections;->max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
HSPLjava/util/Collections;->nCopies(ILjava/lang/Object;)Ljava/util/List;
HSPLjava/util/Collections;->newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
HSPLjava/util/Collections;->reverse(Ljava/util/List;)V
HSPLjava/util/Collections;->reverseOrder()Ljava/util/Comparator;
HSPLjava/util/Collections;->reverseOrder(Ljava/util/Comparator;)Ljava/util/Comparator;
-HSPLjava/util/Collections;->shuffle(Ljava/util/List;)V
-HSPLjava/util/Collections;->shuffle(Ljava/util/List;Ljava/util/Random;)V
+PLjava/util/Collections;->shuffle(Ljava/util/List;Ljava/util/Random;)V
HSPLjava/util/Collections;->singleton(Ljava/lang/Object;)Ljava/util/Set;
+HSPLjava/util/Collections;->singletonIterator(Ljava/lang/Object;)Ljava/util/Iterator;
HSPLjava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
HSPLjava/util/Collections;->singletonMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
HSPLjava/util/Collections;->sort(Ljava/util/List;)V
HSPLjava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
HSPLjava/util/Collections;->swap(Ljava/util/List;II)V
+HSPLjava/util/Collections;->synchronizedCollection(Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/Collection;
HSPLjava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List;
HSPLjava/util/Collections;->synchronizedMap(Ljava/util/Map;)Ljava/util/Map;
HSPLjava/util/Collections;->synchronizedSet(Ljava/util/Set;)Ljava/util/Set;
+HSPLjava/util/Collections;->synchronizedSet(Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
HSPLjava/util/Collections;->unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection;
HSPLjava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
HSPLjava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
@@ -28706,184 +12705,212 @@ HSPLjava/util/ComparableTimSort;->gallopLeft(Ljava/lang/Comparable;[Ljava/lang/O
HSPLjava/util/ComparableTimSort;->gallopRight(Ljava/lang/Comparable;[Ljava/lang/Object;III)I
HSPLjava/util/ComparableTimSort;->mergeAt(I)V
HSPLjava/util/ComparableTimSort;->mergeCollapse()V
+HSPLjava/util/ComparableTimSort;->mergeForceCollapse()V
HSPLjava/util/ComparableTimSort;->mergeHi(IIII)V
HSPLjava/util/ComparableTimSort;->mergeLo(IIII)V
+HSPLjava/util/ComparableTimSort;->minRunLength(I)I
+HSPLjava/util/ComparableTimSort;->pushRun(II)V
+HSPLjava/util/ComparableTimSort;->reverseRange([Ljava/lang/Object;II)V
HSPLjava/util/ComparableTimSort;->sort([Ljava/lang/Object;II[Ljava/lang/Object;II)V
-HSPLjava/util/Comparator;->comparing(Ljava/util/function/Function;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->comparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->comparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->comparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->nullsLast(Ljava/util/Comparator;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->reversed()Ljava/util/Comparator;
-HSPLjava/util/Comparator;->thenComparing(Ljava/util/Comparator;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->thenComparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
-HSPLjava/util/Comparators$NullComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLjava/util/Currency;-><init>(Landroid/icu/util/Currency;)V
+HSPLjava/util/Currency;->getCurrencyCode()Ljava/lang/String;
HSPLjava/util/Currency;->getInstance(Ljava/lang/String;)Ljava/util/Currency;
HSPLjava/util/Currency;->getInstance(Ljava/util/Locale;)Ljava/util/Currency;
HSPLjava/util/Currency;->getSymbol(Ljava/util/Locale;)Ljava/lang/String;
HSPLjava/util/Date;-><init>()V
HSPLjava/util/Date;-><init>(J)V
+HSPLjava/util/Date;->after(Ljava/util/Date;)Z
HSPLjava/util/Date;->before(Ljava/util/Date;)Z
HSPLjava/util/Date;->clone()Ljava/lang/Object;
HSPLjava/util/Date;->compareTo(Ljava/util/Date;)I
-HSPLjava/util/Date;->from(Ljava/time/Instant;)Ljava/util/Date;
+HSPLjava/util/Date;->convertToAbbr(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
HSPLjava/util/Date;->getCalendarSystem(J)Lsun/util/calendar/BaseCalendar;
+HSPLjava/util/Date;->getMillisOf(Ljava/util/Date;)J
HSPLjava/util/Date;->getTime()J
+HSPLjava/util/Date;->getTimeImpl()J
HSPLjava/util/Date;->normalize()Lsun/util/calendar/BaseCalendar$Date;
-HSPLjava/util/Date;->setTime(J)V
HSPLjava/util/Date;->toString()Ljava/lang/String;
+HSPLjava/util/Dictionary;-><init>()V
HSPLjava/util/DualPivotQuicksort;->doSort([CII[CII)V
-HSPLjava/util/DualPivotQuicksort;->doSort([FII[FII)V
HSPLjava/util/DualPivotQuicksort;->sort([CIIZ)V
HSPLjava/util/DualPivotQuicksort;->sort([CII[CII)V
-HSPLjava/util/DualPivotQuicksort;->sort([FIIZ)V
-HSPLjava/util/DualPivotQuicksort;->sort([FII[FII)V
HSPLjava/util/DualPivotQuicksort;->sort([IIIZ)V
HSPLjava/util/DualPivotQuicksort;->sort([III[III)V
HSPLjava/util/DualPivotQuicksort;->sort([JIIZ)V
HSPLjava/util/DualPivotQuicksort;->sort([JII[JII)V
-HSPLjava/util/EnumMap$1;-><init>()V
+HSPLjava/util/EnumMap$EntryIterator$Entry;-><init>(Ljava/util/EnumMap$EntryIterator;I)V
+HSPLjava/util/EnumMap$EntryIterator$Entry;-><init>(Ljava/util/EnumMap$EntryIterator;ILjava/util/EnumMap$1;)V
+HSPLjava/util/EnumMap$EntryIterator$Entry;->checkIndexForEntryUse()V
HSPLjava/util/EnumMap$EntryIterator$Entry;->getKey()Ljava/lang/Enum;
HSPLjava/util/EnumMap$EntryIterator$Entry;->getKey()Ljava/lang/Object;
HSPLjava/util/EnumMap$EntryIterator$Entry;->getValue()Ljava/lang/Object;
+HSPLjava/util/EnumMap$EntryIterator;-><init>(Ljava/util/EnumMap;)V
+HSPLjava/util/EnumMap$EntryIterator;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap$1;)V
HSPLjava/util/EnumMap$EntryIterator;->next()Ljava/lang/Object;
HSPLjava/util/EnumMap$EntryIterator;->next()Ljava/util/Map$Entry;
+HSPLjava/util/EnumMap$EntrySet;-><init>(Ljava/util/EnumMap;)V
+HSPLjava/util/EnumMap$EntrySet;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap$1;)V
HSPLjava/util/EnumMap$EntrySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/EnumMap$EntrySet;->size()I
+HSPLjava/util/EnumMap$EnumMapIterator;-><init>(Ljava/util/EnumMap;)V
+HSPLjava/util/EnumMap$EnumMapIterator;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap$1;)V
HSPLjava/util/EnumMap$EnumMapIterator;->hasNext()Z
-HSPLjava/util/EnumMap$KeyIterator;->next()Ljava/lang/Enum;
-HSPLjava/util/EnumMap$KeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/EnumMap$KeySet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/EnumMap$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/EnumMap$KeySet;->size()I
HSPLjava/util/EnumMap;-><init>(Ljava/lang/Class;)V
-HSPLjava/util/EnumMap;-><init>(Ljava/util/Map;)V
-HSPLjava/util/EnumMap;->clear()V
+HSPLjava/util/EnumMap;->access$1100(Ljava/util/EnumMap;)[Ljava/lang/Enum;
+HSPLjava/util/EnumMap;->access$1200(Ljava/util/EnumMap;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/EnumMap;->access$200(Ljava/util/EnumMap;)I
+HSPLjava/util/EnumMap;->access$600(Ljava/util/EnumMap;)[Ljava/lang/Object;
HSPLjava/util/EnumMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/EnumMap;->entrySet()Ljava/util/Set;
HSPLjava/util/EnumMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/EnumMap;->keySet()Ljava/util/Set;
+HSPLjava/util/EnumMap;->getKeyUniverse(Ljava/lang/Class;)[Ljava/lang/Enum;
+HSPLjava/util/EnumMap;->isValidKey(Ljava/lang/Object;)Z
+HSPLjava/util/EnumMap;->maskNull(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/EnumMap;->put(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/EnumMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/EnumMap;->putAll(Ljava/util/Map;)V
-HSPLjava/util/EnumMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/EnumMap;->size()I
HSPLjava/util/EnumMap;->typeCheck(Ljava/lang/Enum;)V
+HSPLjava/util/EnumMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/EnumSet;-><init>(Ljava/lang/Class;[Ljava/lang/Enum;)V
HSPLjava/util/EnumSet;->allOf(Ljava/lang/Class;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->clone()Ljava/util/EnumSet;
-HSPLjava/util/EnumSet;->complementOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->copyOf(Ljava/util/Collection;)Ljava/util/EnumSet;
+HSPLjava/util/EnumSet;->copyOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;
+HSPLjava/util/EnumSet;->getUniverse(Ljava/lang/Class;)[Ljava/lang/Enum;
HSPLjava/util/EnumSet;->noneOf(Ljava/lang/Class;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
-HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->typeCheck(Ljava/lang/Enum;)V
+HSPLjava/util/Formatter$Conversion;->isCharacter(C)Z
HSPLjava/util/Formatter$Conversion;->isFloat(C)Z
+HSPLjava/util/Formatter$Conversion;->isGeneral(C)Z
+HSPLjava/util/Formatter$Conversion;->isInteger(C)Z
+HSPLjava/util/Formatter$Conversion;->isText(C)Z
HSPLjava/util/Formatter$Conversion;->isValid(C)Z
-HSPLjava/util/Formatter$DateTime;->isValid(C)Z
+HSPLjava/util/Formatter$FixedString;-><init>(Ljava/util/Formatter;Ljava/lang/String;)V
HSPLjava/util/Formatter$FixedString;->index()I
HSPLjava/util/Formatter$FixedString;->print(Ljava/lang/Object;Ljava/util/Locale;)V
HSPLjava/util/Formatter$Flags;-><init>(I)V
+HSPLjava/util/Formatter$Flags;->access$100(Ljava/util/Formatter$Flags;Ljava/util/Formatter$Flags;)Ljava/util/Formatter$Flags;
+HSPLjava/util/Formatter$Flags;->add(Ljava/util/Formatter$Flags;)Ljava/util/Formatter$Flags;
HSPLjava/util/Formatter$Flags;->contains(Ljava/util/Formatter$Flags;)Z
HSPLjava/util/Formatter$Flags;->parse(C)Ljava/util/Formatter$Flags;
HSPLjava/util/Formatter$Flags;->parse(Ljava/lang/String;)Ljava/util/Formatter$Flags;
HSPLjava/util/Formatter$Flags;->valueOf()I
HSPLjava/util/Formatter$FormatSpecifier;-><init>(Ljava/util/Formatter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/util/Formatter$FormatSpecifier;->addZeros([CI)[C
+HSPLjava/util/Formatter$FormatSpecifier;->adjustWidth(ILjava/util/Formatter$Flags;Z)I
+HSPLjava/util/Formatter$FormatSpecifier;->checkBadFlags([Ljava/util/Formatter$Flags;)V
HSPLjava/util/Formatter$FormatSpecifier;->checkCharacter()V
-HSPLjava/util/Formatter$FormatSpecifier;->checkDateTime()V
HSPLjava/util/Formatter$FormatSpecifier;->checkFloat()V
HSPLjava/util/Formatter$FormatSpecifier;->checkGeneral()V
HSPLjava/util/Formatter$FormatSpecifier;->checkInteger()V
HSPLjava/util/Formatter$FormatSpecifier;->checkNumeric()V
HSPLjava/util/Formatter$FormatSpecifier;->checkText()V
HSPLjava/util/Formatter$FormatSpecifier;->conversion(Ljava/lang/String;)C
+HSPLjava/util/Formatter$FormatSpecifier;->flags(Ljava/lang/String;)Ljava/util/Formatter$Flags;
+HSPLjava/util/Formatter$FormatSpecifier;->getZero(Ljava/util/Locale;)C
HSPLjava/util/Formatter$FormatSpecifier;->index()I
HSPLjava/util/Formatter$FormatSpecifier;->index(Ljava/lang/String;)I
HSPLjava/util/Formatter$FormatSpecifier;->justify(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Formatter$FormatSpecifier;->leadingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
HSPLjava/util/Formatter$FormatSpecifier;->localizedMagnitude(Ljava/lang/StringBuilder;[CLjava/util/Formatter$Flags;ILjava/util/Locale;)Ljava/lang/StringBuilder;
HSPLjava/util/Formatter$FormatSpecifier;->precision(Ljava/lang/String;)I
+HSPLjava/util/Formatter$FormatSpecifier;->print(BLjava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->print(DLjava/util/Locale;)V
+HSPLjava/util/Formatter$FormatSpecifier;->print(FLjava/util/Locale;)V
+HSPLjava/util/Formatter$FormatSpecifier;->print(ILjava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->print(JLjava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/Object;Ljava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/String;)V
HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;DLjava/util/Locale;Ljava/util/Formatter$Flags;CIZ)V
-HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;Ljava/util/Calendar;CLjava/util/Locale;)Ljava/lang/Appendable;
-HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/util/Calendar;CLjava/util/Locale;)V
+HSPLjava/util/Formatter$FormatSpecifier;->printBoolean(Ljava/lang/Object;)V
HSPLjava/util/Formatter$FormatSpecifier;->printCharacter(Ljava/lang/Object;)V
-HSPLjava/util/Formatter$FormatSpecifier;->printDateTime(Ljava/lang/Object;Ljava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->printFloat(Ljava/lang/Object;Ljava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->printInteger(Ljava/lang/Object;Ljava/util/Locale;)V
HSPLjava/util/Formatter$FormatSpecifier;->printString(Ljava/lang/Object;Ljava/util/Locale;)V
+HSPLjava/util/Formatter$FormatSpecifier;->trailingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
HSPLjava/util/Formatter$FormatSpecifier;->width(Ljava/lang/String;)I
HSPLjava/util/Formatter$FormatSpecifierParser;-><init>(Ljava/util/Formatter;Ljava/lang/String;I)V
+HSPLjava/util/Formatter$FormatSpecifierParser;->advance()C
+HSPLjava/util/Formatter$FormatSpecifierParser;->back(I)V
+HSPLjava/util/Formatter$FormatSpecifierParser;->getEndIdx()I
+HSPLjava/util/Formatter$FormatSpecifierParser;->getFormatSpecifier()Ljava/util/Formatter$FormatSpecifier;
+HSPLjava/util/Formatter$FormatSpecifierParser;->isEnd()Z
+HSPLjava/util/Formatter$FormatSpecifierParser;->nextInt()Ljava/lang/String;
+HSPLjava/util/Formatter$FormatSpecifierParser;->nextIsInt()Z
+HSPLjava/util/Formatter$FormatSpecifierParser;->peek()C
+HSPLjava/util/Formatter;-><init>()V
HSPLjava/util/Formatter;-><init>(Ljava/lang/Appendable;)V
HSPLjava/util/Formatter;-><init>(Ljava/lang/Appendable;Ljava/util/Locale;)V
+HSPLjava/util/Formatter;-><init>(Ljava/util/Locale;)V
+HSPLjava/util/Formatter;-><init>(Ljava/util/Locale;Ljava/lang/Appendable;)V
+HSPLjava/util/Formatter;->access$000(Ljava/util/Formatter;)Ljava/lang/Appendable;
+HSPLjava/util/Formatter;->access$400(Ljava/util/Formatter;)C
+HSPLjava/util/Formatter;->ensureOpen()V
HSPLjava/util/Formatter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
HSPLjava/util/Formatter;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
HSPLjava/util/Formatter;->getZero(Ljava/util/Locale;)C
HSPLjava/util/Formatter;->locale()Ljava/util/Locale;
-HSPLjava/util/Formatter;->out()Ljava/lang/Appendable;
+HSPLjava/util/Formatter;->nonNullAppendable(Ljava/lang/Appendable;)Ljava/lang/Appendable;
HSPLjava/util/Formatter;->parse(Ljava/lang/String;)[Ljava/util/Formatter$FormatString;
HSPLjava/util/Formatter;->toString()Ljava/lang/String;
HSPLjava/util/GregorianCalendar;-><init>()V
-HSPLjava/util/GregorianCalendar;-><init>(III)V
-HSPLjava/util/GregorianCalendar;-><init>(IIIIII)V
-HSPLjava/util/GregorianCalendar;-><init>(IIIIIII)V
+HPLjava/util/GregorianCalendar;-><init>(IIIIIII)V
HSPLjava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;)V
HSPLjava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;)V
HSPLjava/util/GregorianCalendar;->add(II)V
+HSPLjava/util/GregorianCalendar;->adjustDstOffsetForInvalidWallClock(JLjava/util/TimeZone;I)I
HSPLjava/util/GregorianCalendar;->adjustForZoneAndDaylightSavingsTime(IJLjava/util/TimeZone;)J
HSPLjava/util/GregorianCalendar;->clone()Ljava/lang/Object;
HSPLjava/util/GregorianCalendar;->computeFields()V
HSPLjava/util/GregorianCalendar;->computeFields(II)I
HSPLjava/util/GregorianCalendar;->computeTime()V
+PLjava/util/GregorianCalendar;->getCurrentFixedDate()J
HSPLjava/util/GregorianCalendar;->getFixedDate(Lsun/util/calendar/BaseCalendar;II)J
-HSPLjava/util/GregorianCalendar;->getLeastMaximum(I)I
-HSPLjava/util/GregorianCalendar;->getMaximum(I)I
-HSPLjava/util/GregorianCalendar;->getMinimum(I)I
HSPLjava/util/GregorianCalendar;->getTimeZone()Ljava/util/TimeZone;
HSPLjava/util/GregorianCalendar;->getWeekNumber(JJ)I
+HSPLjava/util/GregorianCalendar;->internalGetEra()I
HSPLjava/util/GregorianCalendar;->isLeapYear(I)Z
+HSPLjava/util/GregorianCalendar;->monthLength(I)I
+HSPLjava/util/GregorianCalendar;->monthLength(II)I
HSPLjava/util/GregorianCalendar;->pinDayOfMonth()V
HSPLjava/util/GregorianCalendar;->setTimeZone(Ljava/util/TimeZone;)V
+HSPLjava/util/HashMap$EntryIterator;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$EntryIterator;->next()Ljava/lang/Object;
+HSPLjava/util/HashMap$EntryIterator;->next()Ljava/util/Map$Entry;
+HSPLjava/util/HashMap$EntrySet;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$EntrySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/HashMap$EntrySet;->size()I
-HSPLjava/util/HashMap$EntrySet;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/HashMap$EntrySpliterator;->characteristics()I
-HSPLjava/util/HashMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
HSPLjava/util/HashMap$HashIterator;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$HashIterator;->hasNext()Z
HSPLjava/util/HashMap$HashIterator;->nextNode()Ljava/util/HashMap$Node;
HSPLjava/util/HashMap$HashIterator;->remove()V
+HSPLjava/util/HashMap$HashMapSpliterator;-><init>(Ljava/util/HashMap;IIII)V
HSPLjava/util/HashMap$HashMapSpliterator;->estimateSize()J
+HSPLjava/util/HashMap$HashMapSpliterator;->getFence()I
+HSPLjava/util/HashMap$KeyIterator;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$KeyIterator;->next()Ljava/lang/Object;
+HSPLjava/util/HashMap$KeySet;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$KeySet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/HashMap$KeySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/HashMap$KeySet;->size()I
+HSPLjava/util/HashMap$KeySpliterator;-><init>(Ljava/util/HashMap;IIII)V
HSPLjava/util/HashMap$KeySpliterator;->characteristics()I
HSPLjava/util/HashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/HashMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
+HSPLjava/util/HashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
HSPLjava/util/HashMap$Node;->getKey()Ljava/lang/Object;
HSPLjava/util/HashMap$Node;->getValue()Ljava/lang/Object;
HSPLjava/util/HashMap$Node;->hashCode()I
HSPLjava/util/HashMap$Node;->setValue(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/HashMap$TreeNode;->balanceInsertion(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-HSPLjava/util/HashMap$TreeNode;->moveRootToFront([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
-HSPLjava/util/HashMap$TreeNode;->rotateLeft(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-HSPLjava/util/HashMap$TreeNode;->rotateRight(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-HSPLjava/util/HashMap$TreeNode;->split(Ljava/util/HashMap;[Ljava/util/HashMap$Node;II)V
-HSPLjava/util/HashMap$TreeNode;->treeify([Ljava/util/HashMap$Node;)V
+HSPLjava/util/HashMap$ValueIterator;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$ValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/HashMap$ValueSpliterator;-><init>(Ljava/util/HashMap;IIII)V
HSPLjava/util/HashMap$ValueSpliterator;->characteristics()I
HSPLjava/util/HashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/HashMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-HSPLjava/util/HashMap$Values;->forEach(Ljava/util/function/Consumer;)V
+HSPLjava/util/HashMap$Values;-><init>(Ljava/util/HashMap;)V
HSPLjava/util/HashMap$Values;->iterator()Ljava/util/Iterator;
HSPLjava/util/HashMap$Values;->size()I
HSPLjava/util/HashMap$Values;->spliterator()Ljava/util/Spliterator;
@@ -28896,16 +12923,13 @@ HSPLjava/util/HashMap;->afterNodeInsertion(Z)V
HSPLjava/util/HashMap;->afterNodeRemoval(Ljava/util/HashMap$Node;)V
HSPLjava/util/HashMap;->clear()V
HSPLjava/util/HashMap;->clone()Ljava/lang/Object;
-HSPLjava/util/HashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
HSPLjava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/HashMap;->containsValue(Ljava/lang/Object;)Z
HSPLjava/util/HashMap;->entrySet()Ljava/util/Set;
HSPLjava/util/HashMap;->forEach(Ljava/util/function/BiConsumer;)V
HSPLjava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/HashMap;->getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node;
-HSPLjava/util/HashMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/HashMap;->hash(Ljava/lang/Object;)I
-HSPLjava/util/HashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V
HSPLjava/util/HashMap;->isEmpty()Z
HSPLjava/util/HashMap;->keySet()Ljava/util/Set;
HSPLjava/util/HashMap;->merge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
@@ -28915,20 +12939,18 @@ HSPLjava/util/HashMap;->putAll(Ljava/util/Map;)V
HSPLjava/util/HashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/HashMap;->putMapEntries(Ljava/util/Map;Z)V
HSPLjava/util/HashMap;->putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
-HSPLjava/util/HashMap;->readObject(Ljava/io/ObjectInputStream;)V
HSPLjava/util/HashMap;->reinitialize()V
HSPLjava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/HashMap;->removeNode(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/util/HashMap$Node;
-HSPLjava/util/HashMap;->replacementNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-HSPLjava/util/HashMap;->replacementTreeNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
HSPLjava/util/HashMap;->resize()[Ljava/util/HashMap$Node;
HSPLjava/util/HashMap;->size()I
-HSPLjava/util/HashMap;->treeifyBin([Ljava/util/HashMap$Node;I)V
+HSPLjava/util/HashMap;->tableSizeFor(I)I
+PLjava/util/HashMap;->treeifyBin([Ljava/util/HashMap$Node;I)V
HSPLjava/util/HashMap;->values()Ljava/util/Collection;
-HSPLjava/util/HashMap;->writeObject(Ljava/io/ObjectOutputStream;)V
HSPLjava/util/HashSet;-><init>()V
HSPLjava/util/HashSet;-><init>(I)V
HSPLjava/util/HashSet;-><init>(IF)V
+HSPLjava/util/HashSet;-><init>(IFZ)V
HSPLjava/util/HashSet;-><init>(Ljava/util/Collection;)V
HSPLjava/util/HashSet;->add(Ljava/lang/Object;)Z
HSPLjava/util/HashSet;->clear()V
@@ -28939,30 +12961,42 @@ HSPLjava/util/HashSet;->iterator()Ljava/util/Iterator;
HSPLjava/util/HashSet;->remove(Ljava/lang/Object;)Z
HSPLjava/util/HashSet;->size()I
HSPLjava/util/HashSet;->spliterator()Ljava/util/Spliterator;
+HSPLjava/util/Hashtable$EntrySet;-><init>(Ljava/util/Hashtable;)V
+HSPLjava/util/Hashtable$EntrySet;-><init>(Ljava/util/Hashtable;Ljava/util/Hashtable$1;)V
HSPLjava/util/Hashtable$EntrySet;->iterator()Ljava/util/Iterator;
+HSPLjava/util/Hashtable$Enumerator;-><init>(Ljava/util/Hashtable;IZ)V
HSPLjava/util/Hashtable$Enumerator;->hasMoreElements()Z
HSPLjava/util/Hashtable$Enumerator;->hasNext()Z
HSPLjava/util/Hashtable$Enumerator;->next()Ljava/lang/Object;
HSPLjava/util/Hashtable$Enumerator;->nextElement()Ljava/lang/Object;
+HSPLjava/util/Hashtable$HashtableEntry;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/Hashtable$HashtableEntry;)V
HSPLjava/util/Hashtable$HashtableEntry;->clone()Ljava/lang/Object;
HSPLjava/util/Hashtable$HashtableEntry;->getKey()Ljava/lang/Object;
HSPLjava/util/Hashtable$HashtableEntry;->getValue()Ljava/lang/Object;
-HPLjava/util/Hashtable$KeySet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/Hashtable$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/Hashtable$KeySet;->size()I
+PLjava/util/Hashtable$KeySet;-><init>(Ljava/util/Hashtable;)V
+PLjava/util/Hashtable$KeySet;-><init>(Ljava/util/Hashtable;Ljava/util/Hashtable$1;)V
+PLjava/util/Hashtable$KeySet;->iterator()Ljava/util/Iterator;
+PLjava/util/Hashtable$KeySet;->size()I
+HSPLjava/util/Hashtable$ValueCollection;-><init>(Ljava/util/Hashtable;)V
+HSPLjava/util/Hashtable$ValueCollection;-><init>(Ljava/util/Hashtable;Ljava/util/Hashtable$1;)V
HSPLjava/util/Hashtable$ValueCollection;->iterator()Ljava/util/Iterator;
-HSPLjava/util/Hashtable$ValueCollection;->size()I
+HPLjava/util/Hashtable$ValueCollection;->size()I
HSPLjava/util/Hashtable;-><init>()V
-HSPLjava/util/Hashtable;-><init>(I)V
HSPLjava/util/Hashtable;-><init>(IF)V
+HSPLjava/util/Hashtable;->access$100(Ljava/util/Hashtable;I)Ljava/util/Iterator;
+PLjava/util/Hashtable;->access$200(Ljava/util/Hashtable;)I
+HSPLjava/util/Hashtable;->access$400(Ljava/util/Hashtable;)[Ljava/util/Hashtable$HashtableEntry;
+HSPLjava/util/Hashtable;->access$500(Ljava/util/Hashtable;)I
HSPLjava/util/Hashtable;->addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V
HSPLjava/util/Hashtable;->clear()V
HSPLjava/util/Hashtable;->clone()Ljava/lang/Object;
HSPLjava/util/Hashtable;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/Hashtable;->entrySet()Ljava/util/Set;
HSPLjava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/Hashtable;->getEnumeration(I)Ljava/util/Enumeration;
+HSPLjava/util/Hashtable;->getIterator(I)Ljava/util/Iterator;
HSPLjava/util/Hashtable;->isEmpty()Z
-HSPLjava/util/Hashtable;->keySet()Ljava/util/Set;
+PLjava/util/Hashtable;->keySet()Ljava/util/Set;
HSPLjava/util/Hashtable;->keys()Ljava/util/Enumeration;
HSPLjava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Hashtable;->rehash()V
@@ -28970,57 +13004,79 @@ HSPLjava/util/Hashtable;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Hashtable;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLjava/util/Hashtable;->size()I
HSPLjava/util/Hashtable;->values()Ljava/util/Collection;
+HSPLjava/util/IdentityHashMap$EntryIterator$Entry;-><init>(Ljava/util/IdentityHashMap$EntryIterator;I)V
+HSPLjava/util/IdentityHashMap$EntryIterator$Entry;-><init>(Ljava/util/IdentityHashMap$EntryIterator;ILjava/util/IdentityHashMap$1;)V
+HSPLjava/util/IdentityHashMap$EntryIterator$Entry;->checkIndexForEntryUse()V
HSPLjava/util/IdentityHashMap$EntryIterator$Entry;->getKey()Ljava/lang/Object;
HSPLjava/util/IdentityHashMap$EntryIterator$Entry;->getValue()Ljava/lang/Object;
+HSPLjava/util/IdentityHashMap$EntryIterator;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$EntryIterator;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$EntryIterator;->next()Ljava/lang/Object;
HSPLjava/util/IdentityHashMap$EntryIterator;->next()Ljava/util/Map$Entry;
+HSPLjava/util/IdentityHashMap$EntrySet;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$EntrySet;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$EntrySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;->hasNext()Z
HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;->nextIndex()I
+HSPLjava/util/IdentityHashMap$KeyIterator;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$KeyIterator;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$KeyIterator;->next()Ljava/lang/Object;
+HSPLjava/util/IdentityHashMap$KeySet;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$KeySet;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$KeySet;->iterator()Ljava/util/Iterator;
+HSPLjava/util/IdentityHashMap$ValueIterator;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$ValueIterator;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$ValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/IdentityHashMap$Values;-><init>(Ljava/util/IdentityHashMap;)V
+HSPLjava/util/IdentityHashMap$Values;-><init>(Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap$1;)V
HSPLjava/util/IdentityHashMap$Values;->iterator()Ljava/util/Iterator;
HSPLjava/util/IdentityHashMap;-><init>()V
HSPLjava/util/IdentityHashMap;-><init>(I)V
+HSPLjava/util/IdentityHashMap;->capacity(I)I
HSPLjava/util/IdentityHashMap;->clear()V
HSPLjava/util/IdentityHashMap;->closeDeletion(I)V
HSPLjava/util/IdentityHashMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/IdentityHashMap;->entrySet()Ljava/util/Set;
HSPLjava/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/IdentityHashMap;->hash(Ljava/lang/Object;I)I
+HSPLjava/util/IdentityHashMap;->init(I)V
HSPLjava/util/IdentityHashMap;->isEmpty()Z
HSPLjava/util/IdentityHashMap;->keySet()Ljava/util/Set;
+HSPLjava/util/IdentityHashMap;->maskNull(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/IdentityHashMap;->nextKeyIndex(II)I
HSPLjava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/IdentityHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/IdentityHashMap;->resize(I)Z
+HSPLjava/util/IdentityHashMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/IdentityHashMap;->values()Ljava/util/Collection;
HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/JumboEnumSet$EnumSetIterator;->hasNext()Z
-HSPLjava/util/JumboEnumSet$EnumSetIterator;->next()Ljava/lang/Enum;
-HSPLjava/util/JumboEnumSet$EnumSetIterator;->next()Ljava/lang/Object;
-HSPLjava/util/JumboEnumSet$EnumSetIterator;->remove()V
-HSPLjava/util/JumboEnumSet;->add(Ljava/lang/Enum;)Z
-HSPLjava/util/JumboEnumSet;->add(Ljava/lang/Object;)Z
-HSPLjava/util/JumboEnumSet;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/JumboEnumSet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/JumboEnumSet;->isEmpty()Z
-HSPLjava/util/JumboEnumSet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/JumboEnumSet;->removeAll(Ljava/util/Collection;)Z
-HSPLjava/util/JumboEnumSet;->size()I
+HSPLjava/util/JumboEnumSet;-><init>(Ljava/lang/Class;[Ljava/lang/Enum;)V
+HSPLjava/util/LinkedHashMap$LinkedEntryIterator;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedEntryIterator;->next()Ljava/lang/Object;
+HSPLjava/util/LinkedHashMap$LinkedEntryIterator;->next()Ljava/util/Map$Entry;
+HSPLjava/util/LinkedHashMap$LinkedEntrySet;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedEntrySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/LinkedHashMap$LinkedEntrySet;->size()I
+HSPLjava/util/LinkedHashMap$LinkedHashIterator;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z
+HSPLjava/util/LinkedHashMap$LinkedHashIterator;->nextNode()Ljava/util/LinkedHashMap$LinkedHashMapEntry;
HSPLjava/util/LinkedHashMap$LinkedHashIterator;->remove()V
+HSPLjava/util/LinkedHashMap$LinkedHashMapEntry;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
+HSPLjava/util/LinkedHashMap$LinkedKeyIterator;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedKeyIterator;->next()Ljava/lang/Object;
+HSPLjava/util/LinkedHashMap$LinkedKeySet;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedKeySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/LinkedHashMap$LinkedKeySet;->size()I
+HSPLjava/util/LinkedHashMap$LinkedValueIterator;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/LinkedHashMap$LinkedValues;-><init>(Ljava/util/LinkedHashMap;)V
HSPLjava/util/LinkedHashMap$LinkedValues;->iterator()Ljava/util/Iterator;
HSPLjava/util/LinkedHashMap$LinkedValues;->size()I
HSPLjava/util/LinkedHashMap;-><init>()V
HSPLjava/util/LinkedHashMap;-><init>(I)V
+HSPLjava/util/LinkedHashMap;-><init>(IF)V
HSPLjava/util/LinkedHashMap;-><init>(IFZ)V
HSPLjava/util/LinkedHashMap;-><init>(Ljava/util/Map;)V
HSPLjava/util/LinkedHashMap;->afterNodeAccess(Ljava/util/HashMap$Node;)V
@@ -29031,72 +13087,52 @@ HSPLjava/util/LinkedHashMap;->eldest()Ljava/util/Map$Entry;
HSPLjava/util/LinkedHashMap;->entrySet()Ljava/util/Set;
HSPLjava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/LinkedHashMap;->keySet()Ljava/util/Set;
+HSPLjava/util/LinkedHashMap;->linkNodeLast(Ljava/util/LinkedHashMap$LinkedHashMapEntry;)V
HSPLjava/util/LinkedHashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-HSPLjava/util/LinkedHashMap;->reinitialize()V
HSPLjava/util/LinkedHashMap;->removeEldestEntry(Ljava/util/Map$Entry;)Z
HSPLjava/util/LinkedHashMap;->values()Ljava/util/Collection;
HSPLjava/util/LinkedHashSet;-><init>()V
+HSPLjava/util/LinkedHashSet;-><init>(I)V
HSPLjava/util/LinkedHashSet;-><init>(Ljava/util/Collection;)V
-PLjava/util/LinkedList$LLSpliterator;->characteristics()I
-PLjava/util/LinkedList$LLSpliterator;->estimateSize()J
-PLjava/util/LinkedList$LLSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/LinkedList$ListItr;->add(Ljava/lang/Object;)V
+HSPLjava/util/LinkedList$ListItr;-><init>(Ljava/util/LinkedList;I)V
+HSPLjava/util/LinkedList$ListItr;->checkForComodification()V
HSPLjava/util/LinkedList$ListItr;->hasNext()Z
-HSPLjava/util/LinkedList$ListItr;->hasPrevious()Z
HSPLjava/util/LinkedList$ListItr;->next()Ljava/lang/Object;
-HSPLjava/util/LinkedList$ListItr;->previous()Ljava/lang/Object;
HSPLjava/util/LinkedList$ListItr;->remove()V
+HSPLjava/util/LinkedList$Node;-><init>(Ljava/util/LinkedList$Node;Ljava/lang/Object;Ljava/util/LinkedList$Node;)V
HSPLjava/util/LinkedList;-><init>()V
HSPLjava/util/LinkedList;-><init>(Ljava/util/Collection;)V
HSPLjava/util/LinkedList;->add(ILjava/lang/Object;)V
HSPLjava/util/LinkedList;->add(Ljava/lang/Object;)Z
HSPLjava/util/LinkedList;->addAll(ILjava/util/Collection;)Z
HSPLjava/util/LinkedList;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/LinkedList;->addFirst(Ljava/lang/Object;)V
HSPLjava/util/LinkedList;->addLast(Ljava/lang/Object;)V
+HSPLjava/util/LinkedList;->checkElementIndex(I)V
+HSPLjava/util/LinkedList;->checkPositionIndex(I)V
HSPLjava/util/LinkedList;->clear()V
HSPLjava/util/LinkedList;->clone()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->contains(Ljava/lang/Object;)Z
HSPLjava/util/LinkedList;->get(I)Ljava/lang/Object;
-HSPLjava/util/LinkedList;->getFirst()Ljava/lang/Object;
HSPLjava/util/LinkedList;->getLast()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->indexOf(Ljava/lang/Object;)I
-HSPLjava/util/LinkedList;->linkBefore(Ljava/lang/Object;Ljava/util/LinkedList$Node;)V
+HSPLjava/util/LinkedList;->isElementIndex(I)Z
+HSPLjava/util/LinkedList;->isPositionIndex(I)Z
HSPLjava/util/LinkedList;->linkLast(Ljava/lang/Object;)V
HSPLjava/util/LinkedList;->listIterator(I)Ljava/util/ListIterator;
HSPLjava/util/LinkedList;->node(I)Ljava/util/LinkedList$Node;
HSPLjava/util/LinkedList;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/LinkedList;->offerFirst(Ljava/lang/Object;)Z
HSPLjava/util/LinkedList;->peek()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->peekLast()Ljava/lang/Object;
HSPLjava/util/LinkedList;->poll()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->pollLast()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->pop()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->push(Ljava/lang/Object;)V
HSPLjava/util/LinkedList;->remove()Ljava/lang/Object;
HSPLjava/util/LinkedList;->remove(I)Ljava/lang/Object;
HSPLjava/util/LinkedList;->remove(Ljava/lang/Object;)Z
HSPLjava/util/LinkedList;->removeFirst()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->removeLast()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->set(ILjava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/LinkedList;->size()I
-HPLjava/util/LinkedList;->spliterator()Ljava/util/Spliterator;
HSPLjava/util/LinkedList;->superClone()Ljava/util/LinkedList;
HSPLjava/util/LinkedList;->toArray()[Ljava/lang/Object;
HSPLjava/util/LinkedList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/LinkedList;->unlink(Ljava/util/LinkedList$Node;)Ljava/lang/Object;
-HSPLjava/util/List;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/Locale$Builder;-><init>()V
-HSPLjava/util/Locale$Builder;->build()Ljava/util/Locale;
-HSPLjava/util/Locale$Builder;->setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Locale$Cache;->createObject(Ljava/util/Locale$LocaleKey;)Ljava/util/Locale;
-HSPLjava/util/Locale$Category;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/util/Locale$Category;->values()[Ljava/util/Locale$Category;
-HSPLjava/util/Locale$FilteringMode;-><init>(Ljava/lang/String;I)V
-HSPLjava/util/Locale$LanguageRange;-><init>(Ljava/lang/String;D)V
-HSPLjava/util/Locale$LanguageRange;->isSubtagIllFormed(Ljava/lang/String;Z)Z
-HSPLjava/util/Locale$LanguageRange;->parse(Ljava/lang/String;)Ljava/util/List;
+HSPLjava/util/LinkedList;->unlinkFirst(Ljava/util/LinkedList$Node;)Ljava/lang/Object;
+HSPLjava/util/Locale$LocaleKey;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)V
+HSPLjava/util/Locale$LocaleKey;-><init>(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;Ljava/util/Locale$1;)V
HSPLjava/util/Locale$LocaleKey;->equals(Ljava/lang/Object;)Z
HSPLjava/util/Locale$LocaleKey;->hashCode()I
HSPLjava/util/Locale;-><init>(Ljava/lang/String;)V
@@ -29104,35 +13140,26 @@ HSPLjava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/util/Locale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/util/Locale;->adjustLanguageCode(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Locale;->clone()Ljava/lang/Object;
+HSPLjava/util/Locale;->convertOldISOCodes(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Locale;->equals(Ljava/lang/Object;)Z
HSPLjava/util/Locale;->forLanguageTag(Ljava/lang/String;)Ljava/util/Locale;
+HSPLjava/util/Locale;->getBaseLocale()Lsun/util/locale/BaseLocale;
HSPLjava/util/Locale;->getCompatibilityExtensions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/LocaleExtensions;
HSPLjava/util/Locale;->getCountry()Ljava/lang/String;
HSPLjava/util/Locale;->getDefault()Ljava/util/Locale;
HSPLjava/util/Locale;->getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;
-HSPLjava/util/Locale;->getDisplayLanguage(Ljava/util/Locale;)Ljava/lang/String;
HSPLjava/util/Locale;->getExtensionKeys()Ljava/util/Set;
-HSPLjava/util/Locale;->getISO3Country()Ljava/lang/String;
-HSPLjava/util/Locale;->getISO3Language()Ljava/lang/String;
-HSPLjava/util/Locale;->getISOCountries()[Ljava/lang/String;
-HSPLjava/util/Locale;->getISOLanguages()[Ljava/lang/String;
+HSPLjava/util/Locale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale;
+HSPLjava/util/Locale;->getInstance(Lsun/util/locale/BaseLocale;Lsun/util/locale/LocaleExtensions;)Ljava/util/Locale;
HSPLjava/util/Locale;->getLanguage()Ljava/lang/String;
HSPLjava/util/Locale;->getScript()Ljava/lang/String;
HSPLjava/util/Locale;->getVariant()Ljava/lang/String;
+HSPLjava/util/Locale;->hasExtensions()Z
HSPLjava/util/Locale;->hashCode()I
-HSPLjava/util/Locale;->initDefault()Ljava/util/Locale;
-HSPLjava/util/Locale;->initDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;
-HSPLjava/util/Locale;->isValidBcp47Alpha(Ljava/lang/String;II)Z
-HSPLjava/util/Locale;->lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
-HSPLjava/util/Locale;->normalizeAndValidateLanguage(Ljava/lang/String;Z)Ljava/lang/String;
HSPLjava/util/Locale;->setDefault(Ljava/util/Locale$Category;Ljava/util/Locale;)V
HSPLjava/util/Locale;->setDefault(Ljava/util/Locale;)V
HSPLjava/util/Locale;->toLanguageTag()Ljava/lang/String;
HSPLjava/util/Locale;->toString()Ljava/lang/String;
-HSPLjava/util/Map;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
-HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
-HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Map;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/MissingResourceException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/util/NoSuchElementException;-><init>()V
HSPLjava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
@@ -29141,16 +13168,9 @@ HSPLjava/util/Objects;->hashCode(Ljava/lang/Object;)I
HSPLjava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
HSPLjava/util/Objects;->toString(Ljava/lang/Object;)Ljava/lang/String;
-HSPLjava/util/Objects;->toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Observable;-><init>()V
HSPLjava/util/Observable;->addObserver(Ljava/util/Observer;)V
-HSPLjava/util/Observable;->clearChanged()V
-HSPLjava/util/Observable;->deleteObserver(Ljava/util/Observer;)V
-HSPLjava/util/Observable;->hasChanged()Z
-HSPLjava/util/Observable;->notifyObservers()V
-HSPLjava/util/Observable;->notifyObservers(Ljava/lang/Object;)V
-HSPLjava/util/Observable;->setChanged()V
-HSPLjava/util/Optional;-><init>()V
+HSPLjava/util/Optional;-><init>(Ljava/lang/Object;)V
HSPLjava/util/Optional;->empty()Ljava/util/Optional;
HSPLjava/util/Optional;->get()Ljava/lang/Object;
HSPLjava/util/Optional;->ifPresent(Ljava/util/function/Consumer;)V
@@ -29159,41 +13179,48 @@ HSPLjava/util/Optional;->map(Ljava/util/function/Function;)Ljava/util/Optional;
HSPLjava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
HSPLjava/util/Optional;->ofNullable(Ljava/lang/Object;)Ljava/util/Optional;
HSPLjava/util/Optional;->orElse(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/PriorityQueue$Itr;-><init>(Ljava/util/PriorityQueue;)V
+HSPLjava/util/PriorityQueue$Itr;-><init>(Ljava/util/PriorityQueue;Ljava/util/PriorityQueue$1;)V
HSPLjava/util/PriorityQueue$Itr;->hasNext()Z
HSPLjava/util/PriorityQueue$Itr;->next()Ljava/lang/Object;
HSPLjava/util/PriorityQueue$Itr;->remove()V
HSPLjava/util/PriorityQueue;-><init>()V
HSPLjava/util/PriorityQueue;-><init>(ILjava/util/Comparator;)V
HSPLjava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/PriorityQueue;->clear()V
HSPLjava/util/PriorityQueue;->grow(I)V
+HSPLjava/util/PriorityQueue;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/PriorityQueue;->iterator()Ljava/util/Iterator;
HSPLjava/util/PriorityQueue;->offer(Ljava/lang/Object;)Z
HSPLjava/util/PriorityQueue;->peek()Ljava/lang/Object;
HSPLjava/util/PriorityQueue;->poll()Ljava/lang/Object;
HSPLjava/util/PriorityQueue;->remove(Ljava/lang/Object;)Z
HSPLjava/util/PriorityQueue;->removeAt(I)Ljava/lang/Object;
+HSPLjava/util/PriorityQueue;->siftDown(ILjava/lang/Object;)V
HSPLjava/util/PriorityQueue;->siftDownComparable(ILjava/lang/Object;)V
HSPLjava/util/PriorityQueue;->siftDownUsingComparator(ILjava/lang/Object;)V
+HSPLjava/util/PriorityQueue;->siftUp(ILjava/lang/Object;)V
+HSPLjava/util/PriorityQueue;->siftUpComparable(ILjava/lang/Object;)V
+HSPLjava/util/PriorityQueue;->siftUpUsingComparator(ILjava/lang/Object;)V
HSPLjava/util/PriorityQueue;->size()I
+HSPLjava/util/Properties$LineReader;-><init>(Ljava/util/Properties;Ljava/io/InputStream;)V
+HSPLjava/util/Properties$LineReader;-><init>(Ljava/util/Properties;Ljava/io/Reader;)V
HSPLjava/util/Properties$LineReader;->readLine()I
HSPLjava/util/Properties;-><init>()V
-HSPLjava/util/Properties;->enumerate(Ljava/util/Hashtable;)V
-HSPLjava/util/Properties;->enumerateStringProperties(Ljava/util/Hashtable;)V
+HSPLjava/util/Properties;-><init>(Ljava/util/Properties;)V
HSPLjava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Properties;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Properties;->load(Ljava/io/InputStream;)V
+HSPLjava/util/Properties;->load(Ljava/io/Reader;)V
HSPLjava/util/Properties;->load0(Ljava/util/Properties$LineReader;)V
HSPLjava/util/Properties;->loadConvert([CII[C)Ljava/lang/String;
-HSPLjava/util/Properties;->propertyNames()Ljava/util/Enumeration;
HSPLjava/util/Properties;->saveConvert(Ljava/lang/String;ZZ)Ljava/lang/String;
HSPLjava/util/Properties;->setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
HSPLjava/util/Properties;->store(Ljava/io/OutputStream;Ljava/lang/String;)V
HSPLjava/util/Properties;->store0(Ljava/io/BufferedWriter;Ljava/lang/String;Z)V
-HSPLjava/util/Properties;->stringPropertyNames()Ljava/util/Set;
-HSPLjava/util/Properties;->writeComments(Ljava/io/BufferedWriter;Ljava/lang/String;)V
+HSPLjava/util/PropertyResourceBundle;-><init>(Ljava/io/Reader;)V
HSPLjava/util/Random;-><init>()V
HSPLjava/util/Random;-><init>(J)V
+HSPLjava/util/Random;->initialScramble(J)J
HSPLjava/util/Random;->next(I)I
HSPLjava/util/Random;->nextBytes([B)V
HSPLjava/util/Random;->nextDouble()D
@@ -29202,95 +13229,140 @@ HSPLjava/util/Random;->nextGaussian()D
HSPLjava/util/Random;->nextInt()I
HSPLjava/util/Random;->nextInt(I)I
HSPLjava/util/Random;->nextLong()J
+HSPLjava/util/Random;->seedUniquifier()J
HSPLjava/util/Random;->setSeed(J)V
+HSPLjava/util/RandomAccessSubList;-><init>(Ljava/util/AbstractList;II)V
+HSPLjava/util/RegularEnumSet$EnumSetIterator;-><init>(Ljava/util/RegularEnumSet;)V
HSPLjava/util/RegularEnumSet$EnumSetIterator;->hasNext()Z
HSPLjava/util/RegularEnumSet$EnumSetIterator;->next()Ljava/lang/Enum;
HSPLjava/util/RegularEnumSet$EnumSetIterator;->next()Ljava/lang/Object;
+HSPLjava/util/RegularEnumSet;-><init>(Ljava/lang/Class;[Ljava/lang/Enum;)V
+HSPLjava/util/RegularEnumSet;->access$000(Ljava/util/RegularEnumSet;)J
HSPLjava/util/RegularEnumSet;->add(Ljava/lang/Enum;)Z
HSPLjava/util/RegularEnumSet;->add(Ljava/lang/Object;)Z
HSPLjava/util/RegularEnumSet;->addAll()V
-HSPLjava/util/RegularEnumSet;->complement()V
HSPLjava/util/RegularEnumSet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/RegularEnumSet;->isEmpty()Z
HSPLjava/util/RegularEnumSet;->iterator()Ljava/util/Iterator;
HSPLjava/util/RegularEnumSet;->size()I
-HSPLjava/util/ResourceBundle$1;-><init>()V
+HSPLjava/util/ResourceBundle$BundleReference;-><init>(Ljava/util/ResourceBundle;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
+HSPLjava/util/ResourceBundle$CacheKey;-><init>(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)V
+HSPLjava/util/ResourceBundle$CacheKey;->access$400(Ljava/util/ResourceBundle$CacheKey;)Ljava/lang/Throwable;
+HSPLjava/util/ResourceBundle$CacheKey;->access$600(Ljava/util/ResourceBundle$CacheKey;)J
+HSPLjava/util/ResourceBundle$CacheKey;->access$602(Ljava/util/ResourceBundle$CacheKey;J)J
+HSPLjava/util/ResourceBundle$CacheKey;->calculateHashCode()V
+HSPLjava/util/ResourceBundle$CacheKey;->clone()Ljava/lang/Object;
+HSPLjava/util/ResourceBundle$CacheKey;->getCause()Ljava/lang/Throwable;
+HSPLjava/util/ResourceBundle$CacheKey;->getLoader()Ljava/lang/ClassLoader;
+HSPLjava/util/ResourceBundle$CacheKey;->getLocale()Ljava/util/Locale;
+HSPLjava/util/ResourceBundle$CacheKey;->getName()Ljava/lang/String;
+HSPLjava/util/ResourceBundle$CacheKey;->hashCode()I
+HSPLjava/util/ResourceBundle$CacheKey;->setFormat(Ljava/lang/String;)V
+HSPLjava/util/ResourceBundle$CacheKey;->setLocale(Ljava/util/Locale;)Ljava/util/ResourceBundle$CacheKey;
+HSPLjava/util/ResourceBundle$Control$1;-><init>(Ljava/util/ResourceBundle$Control;ZLjava/lang/ClassLoader;Ljava/lang/String;)V
+HSPLjava/util/ResourceBundle$Control$1;->run()Ljava/io/InputStream;
+HSPLjava/util/ResourceBundle$Control$1;->run()Ljava/lang/Object;
+HSPLjava/util/ResourceBundle$Control$CandidateListCache;-><init>()V
+HSPLjava/util/ResourceBundle$Control$CandidateListCache;-><init>(Ljava/util/ResourceBundle$1;)V
+HSPLjava/util/ResourceBundle$Control$CandidateListCache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/ResourceBundle$Control$CandidateListCache;->createObject(Lsun/util/locale/BaseLocale;)Ljava/util/List;
+HSPLjava/util/ResourceBundle$Control$CandidateListCache;->getDefaultList(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
+HSPLjava/util/ResourceBundle$Control;-><clinit>()V
+HSPLjava/util/ResourceBundle$Control;-><init>()V
+HSPLjava/util/ResourceBundle$Control;->access$300()Ljava/util/ResourceBundle$Control;
+HSPLjava/util/ResourceBundle$Control;->getCandidateLocales(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
+HSPLjava/util/ResourceBundle$Control;->getFallbackLocale(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/Locale;
+HSPLjava/util/ResourceBundle$Control;->getFormats(Ljava/lang/String;)Ljava/util/List;
+HSPLjava/util/ResourceBundle$Control;->getTimeToLive(Ljava/lang/String;Ljava/util/Locale;)J
+HSPLjava/util/ResourceBundle$Control;->newBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle$Control;->toBundleName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
+HSPLjava/util/ResourceBundle$Control;->toResourceName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/util/ResourceBundle$Control;->toResourceName0(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/util/ResourceBundle$LoaderReference;-><init>(Ljava/lang/ClassLoader;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
+HSPLjava/util/ResourceBundle;-><init>()V
+HSPLjava/util/ResourceBundle;->access$200()Ljava/lang/ref/ReferenceQueue;
+HSPLjava/util/ResourceBundle;->findBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/List;ILjava/util/ResourceBundle$Control;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle;->findBundleInCache(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle;->getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle;->getBundleImpl(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle;->getDefaultControl(Ljava/lang/String;)Ljava/util/ResourceBundle$Control;
HSPLjava/util/ResourceBundle;->getObject(Ljava/lang/String;)Ljava/lang/Object;
HSPLjava/util/ResourceBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/ResourceBundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String;
+HSPLjava/util/ResourceBundle;->isValidBundle(Ljava/util/ResourceBundle;)Z
+HSPLjava/util/ResourceBundle;->loadBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/ResourceBundle$Control;Z)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle;->putBundleInCache(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
+HSPLjava/util/ResourceBundle;->setExpirationTime(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle$Control;)V
+HSPLjava/util/ResourceBundle;->setParent(Ljava/util/ResourceBundle;)V
+HSPLjava/util/Scanner$1;-><init>(Ljava/util/Scanner;I)V
HSPLjava/util/Scanner$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Scanner$1;->create(Ljava/lang/String;)Ljava/util/regex/Pattern;
-HSPLjava/util/Scanner;-><init>(Ljava/io/File;)V
HSPLjava/util/Scanner;-><init>(Ljava/lang/Readable;Ljava/util/regex/Pattern;)V
-HSPLjava/util/Scanner;->buildIntegerPatternString()Ljava/lang/String;
-HSPLjava/util/Scanner;->close()V
-HSPLjava/util/Scanner;->findPatternInBuffer(Ljava/util/regex/Pattern;I)Ljava/lang/String;
-HSPLjava/util/Scanner;->findWithinHorizon(Ljava/util/regex/Pattern;I)Ljava/lang/String;
+HSPLjava/util/Scanner;->clearCaches()V
+HSPLjava/util/Scanner;->ensureOpen()V
HSPLjava/util/Scanner;->getCompleteTokenInBuffer(Ljava/util/regex/Pattern;)Ljava/lang/String;
-HSPLjava/util/Scanner;->next(Ljava/util/regex/Pattern;)Ljava/lang/String;
-HSPLjava/util/Scanner;->nextLine()Ljava/lang/String;
-HSPLjava/util/Scanner;->nextLong()J
-HSPLjava/util/Scanner;->nextLong(I)J
+HSPLjava/util/Scanner;->hasNext()Z
+HSPLjava/util/Scanner;->hasTokenInBuffer()Z
+HSPLjava/util/Scanner;->next()Ljava/lang/String;
HSPLjava/util/Scanner;->readInput()V
-HSPLjava/util/Scanner;->setRadix(I)V
+HSPLjava/util/Scanner;->revertState(Z)Z
+HSPLjava/util/Scanner;->saveState()V
+HSPLjava/util/Scanner;->useDelimiter(Ljava/lang/String;)Ljava/util/Scanner;
HSPLjava/util/Scanner;->useLocale(Ljava/util/Locale;)Ljava/util/Scanner;
-HSPLjava/util/ServiceLoader$LazyIterator;->hasNext()Z
-HSPLjava/util/ServiceLoader$LazyIterator;->hasNextService()Z
-HSPLjava/util/ServiceLoader;-><init>(Ljava/lang/Class;Ljava/lang/ClassLoader;)V
-HSPLjava/util/ServiceLoader;->loadFromSystemProperty(Ljava/lang/Class;)Ljava/lang/Object;
-HSPLjava/util/Set;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/SimpleTimeZone;-><init>(ILjava/lang/String;)V
HSPLjava/util/SimpleTimeZone;->clone()Ljava/lang/Object;
HSPLjava/util/SimpleTimeZone;->getOffset(J)I
HSPLjava/util/SimpleTimeZone;->getOffsets(J[I)I
HSPLjava/util/SimpleTimeZone;->getRawOffset()I
-HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V
+HSPLjava/util/SimpleTimeZone;->hasSameRules(Ljava/util/TimeZone;)Z
HSPLjava/util/Spliterator;->getExactSizeIfKnown()J
+HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;III)V
HSPLjava/util/Spliterators$ArraySpliterator;->characteristics()I
HSPLjava/util/Spliterators$ArraySpliterator;->estimateSize()J
HSPLjava/util/Spliterators$ArraySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/Spliterators$ArraySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-HSPLjava/util/Spliterators$EmptySpliterator$OfRef;->forEachRemaining(Ljava/util/function/Consumer;)V
-HPLjava/util/Spliterators$EmptySpliterator$OfRef;->tryAdvance(Ljava/util/function/Consumer;)Z
-HSPLjava/util/Spliterators$EmptySpliterator;->characteristics()I
-HSPLjava/util/Spliterators$EmptySpliterator;->estimateSize()J
-HSPLjava/util/Spliterators$IntArraySpliterator;->characteristics()I
-HSPLjava/util/Spliterators$IntArraySpliterator;->estimateSize()J
-HSPLjava/util/Spliterators$IntArraySpliterator;->forEachRemaining(Ljava/util/function/IntConsumer;)V
-HSPLjava/util/Spliterators$IntArraySpliterator;->tryAdvance(Ljava/util/function/IntConsumer;)Z
+HSPLjava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Collection;I)V
HSPLjava/util/Spliterators$IteratorSpliterator;->characteristics()I
HSPLjava/util/Spliterators$IteratorSpliterator;->estimateSize()J
HSPLjava/util/Spliterators$IteratorSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/Spliterators$IteratorSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
HSPLjava/util/Spliterators;->checkFromToBounds(III)V
+HSPLjava/util/Spliterators;->spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;
+HSPLjava/util/Spliterators;->spliterator([Ljava/lang/Object;III)Ljava/util/Spliterator;
HSPLjava/util/Stack;-><init>()V
-HSPLjava/util/Stack;->empty()Z
+PLjava/util/Stack;->empty()Z
HSPLjava/util/Stack;->peek()Ljava/lang/Object;
HSPLjava/util/Stack;->pop()Ljava/lang/Object;
HSPLjava/util/Stack;->push(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/StringJoiner;-><init>(Ljava/lang/CharSequence;)V
HSPLjava/util/StringJoiner;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
HSPLjava/util/StringJoiner;->add(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
+HSPLjava/util/StringJoiner;->prepareBuilder()Ljava/lang/StringBuilder;
HSPLjava/util/StringJoiner;->toString()Ljava/lang/String;
HSPLjava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLjava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
+HSPLjava/util/StringTokenizer;->countTokens()I
HSPLjava/util/StringTokenizer;->hasMoreTokens()Z
HSPLjava/util/StringTokenizer;->nextToken()Ljava/lang/String;
HSPLjava/util/StringTokenizer;->scanToken(I)I
HSPLjava/util/StringTokenizer;->setMaxDelimCodePoint()V
HSPLjava/util/StringTokenizer;->skipDelimiters(I)I
+HSPLjava/util/SubList$1;-><init>(Ljava/util/SubList;I)V
HSPLjava/util/SubList$1;->hasNext()Z
HSPLjava/util/SubList$1;->next()Ljava/lang/Object;
HSPLjava/util/SubList$1;->nextIndex()I
HSPLjava/util/SubList;-><init>(Ljava/util/AbstractList;II)V
+HSPLjava/util/SubList;->access$000(Ljava/util/SubList;)I
+HSPLjava/util/SubList;->access$100(Ljava/util/SubList;)Ljava/util/AbstractList;
+HSPLjava/util/SubList;->access$200(Ljava/util/SubList;)I
+HSPLjava/util/SubList;->checkForComodification()V
HSPLjava/util/SubList;->iterator()Ljava/util/Iterator;
HSPLjava/util/SubList;->listIterator(I)Ljava/util/ListIterator;
-HSPLjava/util/SubList;->size()I
+HSPLjava/util/SubList;->rangeCheckForAdd(I)V
+HSPLjava/util/TaskQueue;-><init>()V
HSPLjava/util/TaskQueue;->add(Ljava/util/TimerTask;)V
HSPLjava/util/TaskQueue;->clear()V
-HSPLjava/util/TaskQueue;->fixDown(I)V
+PLjava/util/TaskQueue;->fixDown(I)V
HSPLjava/util/TaskQueue;->fixUp(I)V
HSPLjava/util/TaskQueue;->getMin()Ljava/util/TimerTask;
HSPLjava/util/TaskQueue;->isEmpty()Z
+PLjava/util/TaskQueue;->removeMin()V
HSPLjava/util/TimSort;-><init>([Ljava/lang/Object;Ljava/util/Comparator;[Ljava/lang/Object;II)V
HSPLjava/util/TimSort;->binarySort([Ljava/lang/Object;IIILjava/util/Comparator;)V
HSPLjava/util/TimSort;->countRunAndMakeAscending([Ljava/lang/Object;IILjava/util/Comparator;)I
@@ -29299,9 +13371,15 @@ HSPLjava/util/TimSort;->gallopLeft(Ljava/lang/Object;[Ljava/lang/Object;IIILjava
HSPLjava/util/TimSort;->gallopRight(Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)I
HSPLjava/util/TimSort;->mergeAt(I)V
HSPLjava/util/TimSort;->mergeCollapse()V
+HSPLjava/util/TimSort;->mergeForceCollapse()V
HSPLjava/util/TimSort;->mergeHi(IIII)V
HSPLjava/util/TimSort;->mergeLo(IIII)V
+HSPLjava/util/TimSort;->minRunLength(I)I
+HSPLjava/util/TimSort;->pushRun(II)V
+HSPLjava/util/TimSort;->reverseRange([Ljava/lang/Object;II)V
HSPLjava/util/TimSort;->sort([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
+HSPLjava/util/TimeZone;-><init>()V
+HSPLjava/util/TimeZone;->appendNumber(Ljava/lang/StringBuilder;II)V
HSPLjava/util/TimeZone;->clone()Ljava/lang/Object;
HSPLjava/util/TimeZone;->createGmtOffsetString(ZZI)Ljava/lang/String;
HSPLjava/util/TimeZone;->getAvailableIDs()[Ljava/lang/String;
@@ -29313,108 +13391,115 @@ HSPLjava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
HSPLjava/util/TimeZone;->setDefault(Ljava/util/TimeZone;)V
HSPLjava/util/TimeZone;->setID(Ljava/lang/String;)V
HSPLjava/util/TimeZone;->toZoneId()Ljava/time/ZoneId;
-HSPLjava/util/Timer$1;->finalize()V
+HSPLjava/util/Timer$1;-><init>(Ljava/util/Timer;)V
+PLjava/util/Timer$1;->finalize()V
HSPLjava/util/Timer;-><init>()V
HSPLjava/util/Timer;-><init>(Ljava/lang/String;)V
+PLjava/util/Timer;->access$000(Ljava/util/Timer;)Ljava/util/TaskQueue;
+PLjava/util/Timer;->access$100(Ljava/util/Timer;)Ljava/util/TimerThread;
HSPLjava/util/Timer;->cancel()V
HSPLjava/util/Timer;->sched(Ljava/util/TimerTask;JJ)V
HSPLjava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
+HSPLjava/util/Timer;->serialNumber()I
HSPLjava/util/TimerTask;-><init>()V
+HSPLjava/util/TimerThread;-><init>(Ljava/util/TaskQueue;)V
HSPLjava/util/TimerThread;->mainLoop()V
HSPLjava/util/TimerThread;->run()V
-HSPLjava/util/TreeMap$AscendingSubMap$AscendingEntrySetView;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$AscendingSubMap;->comparator()Ljava/util/Comparator;
+HSPLjava/util/TreeMap$AscendingSubMap$AscendingEntrySetView;-><init>(Ljava/util/TreeMap$AscendingSubMap;)V
+HSPLjava/util/TreeMap$AscendingSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
HSPLjava/util/TreeMap$AscendingSubMap;->entrySet()Ljava/util/Set;
-HSPLjava/util/TreeMap$AscendingSubMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
-HSPLjava/util/TreeMap$AscendingSubMap;->keyIterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$AscendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
+HPLjava/util/TreeMap$AscendingSubMap;->keyIterator()Ljava/util/Iterator;
+HSPLjava/util/TreeMap$EntryIterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$EntryIterator;->next()Ljava/lang/Object;
+HSPLjava/util/TreeMap$EntryIterator;->next()Ljava/util/Map$Entry;
+HSPLjava/util/TreeMap$EntrySet;-><init>(Ljava/util/TreeMap;)V
HSPLjava/util/TreeMap$EntrySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$EntrySet;->size()I
+HSPLjava/util/TreeMap$KeyIterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$KeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/TreeMap$KeySet;->isEmpty()Z
+HSPLjava/util/TreeMap$KeySet;-><init>(Ljava/util/NavigableMap;)V
HSPLjava/util/TreeMap$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;->isEmpty()Z
-HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;->size()I
-HSPLjava/util/TreeMap$NavigableSubMap$SubMapEntryIterator;->next()Ljava/lang/Object;
-HSPLjava/util/TreeMap$NavigableSubMap$SubMapEntryIterator;->remove()V
+HSPLjava/util/TreeMap$KeySet;->size()I
+HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;-><init>(Ljava/util/TreeMap$NavigableSubMap;)V
+HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;-><init>(Ljava/util/TreeMap$NavigableSubMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->hasNext()Z
HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->removeAscending()V
-HSPLjava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;->next()Ljava/lang/Object;
+HPLjava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;-><init>(Ljava/util/TreeMap$NavigableSubMap;Ljava/util/TreeMap$TreeMapEntry;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$NavigableSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
-HSPLjava/util/TreeMap$NavigableSubMap;->absHighest()Ljava/util/TreeMap$TreeMapEntry;
+HSPLjava/util/TreeMap$NavigableSubMap;->absHighFence()Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap$NavigableSubMap;->absLowest()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->isEmpty()Z
-HSPLjava/util/TreeMap$NavigableSubMap;->lastKey()Ljava/lang/Object;
-HSPLjava/util/TreeMap$NavigableSubMap;->navigableKeySet()Ljava/util/NavigableSet;
-HSPLjava/util/TreeMap$NavigableSubMap;->size()I
+PLjava/util/TreeMap$NavigableSubMap;->navigableKeySet()Ljava/util/NavigableSet;
+HSPLjava/util/TreeMap$NavigableSubMap;->tooHigh(Ljava/lang/Object;)Z
+HSPLjava/util/TreeMap$PrivateEntryIterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$PrivateEntryIterator;->hasNext()Z
HSPLjava/util/TreeMap$PrivateEntryIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$PrivateEntryIterator;->remove()V
+HSPLjava/util/TreeMap$TreeMapEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$TreeMapEntry;->getKey()Ljava/lang/Object;
HSPLjava/util/TreeMap$TreeMapEntry;->getValue()Ljava/lang/Object;
+HSPLjava/util/TreeMap$ValueIterator;-><init>(Ljava/util/TreeMap;Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap$ValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/TreeMap$Values;-><init>(Ljava/util/TreeMap;)V
HSPLjava/util/TreeMap$Values;->iterator()Ljava/util/Iterator;
HSPLjava/util/TreeMap$Values;->size()I
HSPLjava/util/TreeMap;-><init>()V
HSPLjava/util/TreeMap;-><init>(Ljava/util/Comparator;)V
+HSPLjava/util/TreeMap;->access$100(Ljava/util/TreeMap;)I
+PLjava/util/TreeMap;->access$200()Ljava/lang/Object;
HSPLjava/util/TreeMap;->buildFromSorted(IIIILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
+HSPLjava/util/TreeMap;->buildFromSorted(ILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)V
HSPLjava/util/TreeMap;->ceilingEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;
HSPLjava/util/TreeMap;->ceilingKey(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->clear()V
HSPLjava/util/TreeMap;->clone()Ljava/lang/Object;
+HSPLjava/util/TreeMap;->colorOf(Ljava/util/TreeMap$TreeMapEntry;)Z
HSPLjava/util/TreeMap;->comparator()Ljava/util/Comparator;
+HSPLjava/util/TreeMap;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLjava/util/TreeMap;->computeRedLevel(I)I
HSPLjava/util/TreeMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/TreeMap;->deleteEntry(Ljava/util/TreeMap$TreeMapEntry;)V
-HSPLjava/util/TreeMap;->descendingMap()Ljava/util/NavigableMap;
HSPLjava/util/TreeMap;->entrySet()Ljava/util/Set;
+HSPLjava/util/TreeMap;->exportEntry(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/Map$Entry;
HSPLjava/util/TreeMap;->firstKey()Ljava/lang/Object;
HSPLjava/util/TreeMap;->fixAfterDeletion(Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap;->fixAfterInsertion(Ljava/util/TreeMap$TreeMapEntry;)V
-HSPLjava/util/TreeMap;->floorKey(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->getCeilingEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->getEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap;->getFloorEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap;->getHigherEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap;->getLowerEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
+HSPLjava/util/TreeMap;->getEntryUsingComparator(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
+HSPLjava/util/TreeMap;->getFirstEntry()Ljava/util/TreeMap$TreeMapEntry;
+PLjava/util/TreeMap;->getLastEntry()Ljava/util/TreeMap$TreeMapEntry;
+HSPLjava/util/TreeMap;->key(Ljava/util/TreeMap$TreeMapEntry;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->keyIterator()Ljava/util/Iterator;
+HSPLjava/util/TreeMap;->keyOrNull(Ljava/util/TreeMap$TreeMapEntry;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->keySet()Ljava/util/Set;
-HSPLjava/util/TreeMap;->lastKey()Ljava/lang/Object;
+HSPLjava/util/TreeMap;->leftOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->navigableKeySet()Ljava/util/NavigableSet;
+HSPLjava/util/TreeMap;->parentOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/TreeMap;->rightOf(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->rotateLeft(Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap;->rotateRight(Ljava/util/TreeMap$TreeMapEntry;)V
+HSPLjava/util/TreeMap;->setColor(Ljava/util/TreeMap$TreeMapEntry;Z)V
HSPLjava/util/TreeMap;->size()I
HSPLjava/util/TreeMap;->subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;
-HSPLjava/util/TreeMap;->tailMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
+HSPLjava/util/TreeMap;->successor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->values()Ljava/util/Collection;
HSPLjava/util/TreeSet;-><init>()V
HSPLjava/util/TreeSet;-><init>(Ljava/util/Collection;)V
HSPLjava/util/TreeSet;-><init>(Ljava/util/Comparator;)V
+HSPLjava/util/TreeSet;-><init>(Ljava/util/NavigableMap;)V
HSPLjava/util/TreeSet;->add(Ljava/lang/Object;)Z
HSPLjava/util/TreeSet;->addAll(Ljava/util/Collection;)Z
HSPLjava/util/TreeSet;->clear()V
-HSPLjava/util/TreeSet;->comparator()Ljava/util/Comparator;
HSPLjava/util/TreeSet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/TreeSet;->first()Ljava/lang/Object;
-HSPLjava/util/TreeSet;->headSet(Ljava/lang/Object;)Ljava/util/SortedSet;
-HSPLjava/util/TreeSet;->headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
HSPLjava/util/TreeSet;->isEmpty()Z
HSPLjava/util/TreeSet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeSet;->last()Ljava/lang/Object;
HSPLjava/util/TreeSet;->remove(Ljava/lang/Object;)Z
HSPLjava/util/TreeSet;->size()I
-HSPLjava/util/TreeSet;->subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;
-HSPLjava/util/TreeSet;->tailSet(Ljava/lang/Object;)Ljava/util/SortedSet;
-HSPLjava/util/TreeSet;->tailSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
HSPLjava/util/UUID;-><init>(JJ)V
HSPLjava/util/UUID;-><init>([B)V
-HSPLjava/util/UUID;->compareTo(Ljava/lang/Object;)I
-HSPLjava/util/UUID;->compareTo(Ljava/util/UUID;)I
+HSPLjava/util/UUID;->digits(JI)Ljava/lang/String;
HSPLjava/util/UUID;->equals(Ljava/lang/Object;)Z
HSPLjava/util/UUID;->fromString(Ljava/lang/String;)Ljava/util/UUID;
HSPLjava/util/UUID;->getLeastSignificantBits()J
@@ -29422,13 +13507,16 @@ HSPLjava/util/UUID;->getMostSignificantBits()J
HSPLjava/util/UUID;->hashCode()I
HSPLjava/util/UUID;->randomUUID()Ljava/util/UUID;
HSPLjava/util/UUID;->toString()Ljava/lang/String;
+HSPLjava/util/Vector$1;-><init>(Ljava/util/Vector;)V
HSPLjava/util/Vector$1;->hasMoreElements()Z
HSPLjava/util/Vector$1;->nextElement()Ljava/lang/Object;
+HSPLjava/util/Vector$Itr;-><init>(Ljava/util/Vector;)V
+HSPLjava/util/Vector$Itr;-><init>(Ljava/util/Vector;Ljava/util/Vector$1;)V
HSPLjava/util/Vector$Itr;->checkForComodification()V
HSPLjava/util/Vector$Itr;->hasNext()Z
HSPLjava/util/Vector$Itr;->next()Ljava/lang/Object;
-HPLjava/util/Vector$Itr;->remove()V
HSPLjava/util/Vector;-><init>()V
+HSPLjava/util/Vector;-><init>(I)V
HSPLjava/util/Vector;-><init>(II)V
HSPLjava/util/Vector;->add(Ljava/lang/Object;)Z
HSPLjava/util/Vector;->addElement(Ljava/lang/Object;)V
@@ -29438,51 +13526,56 @@ HSPLjava/util/Vector;->copyInto([Ljava/lang/Object;)V
HSPLjava/util/Vector;->elementAt(I)Ljava/lang/Object;
HSPLjava/util/Vector;->elementData(I)Ljava/lang/Object;
HSPLjava/util/Vector;->elements()Ljava/util/Enumeration;
+HSPLjava/util/Vector;->ensureCapacityHelper(I)V
HSPLjava/util/Vector;->get(I)Ljava/lang/Object;
HSPLjava/util/Vector;->grow(I)V
-HSPLjava/util/Vector;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/Vector;->indexOf(Ljava/lang/Object;I)I
HSPLjava/util/Vector;->isEmpty()Z
HSPLjava/util/Vector;->iterator()Ljava/util/Iterator;
-HSPLjava/util/Vector;->remove(I)Ljava/lang/Object;
HSPLjava/util/Vector;->removeAllElements()V
-HSPLjava/util/Vector;->removeElement(Ljava/lang/Object;)Z
HSPLjava/util/Vector;->removeElementAt(I)V
HSPLjava/util/Vector;->size()I
-HSPLjava/util/Vector;->sort(Ljava/util/Comparator;)V
-HSPLjava/util/Vector;->toArray()[Ljava/lang/Object;
-HSPLjava/util/Vector;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HSPLjava/util/WeakHashMap$Entry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;ILjava/util/WeakHashMap$Entry;)V
HSPLjava/util/WeakHashMap$Entry;->getKey()Ljava/lang/Object;
-HSPLjava/util/WeakHashMap$Entry;->getValue()Ljava/lang/Object;
-HSPLjava/util/WeakHashMap$EntryIterator;->next()Ljava/lang/Object;
-HSPLjava/util/WeakHashMap$EntryIterator;->next()Ljava/util/Map$Entry;
-HSPLjava/util/WeakHashMap$EntrySet;->iterator()Ljava/util/Iterator;
+HSPLjava/util/WeakHashMap$HashIterator;-><init>(Ljava/util/WeakHashMap;)V
HSPLjava/util/WeakHashMap$HashIterator;->hasNext()Z
HSPLjava/util/WeakHashMap$HashIterator;->nextEntry()Ljava/util/WeakHashMap$Entry;
+HSPLjava/util/WeakHashMap$KeyIterator;-><init>(Ljava/util/WeakHashMap;)V
+HSPLjava/util/WeakHashMap$KeyIterator;-><init>(Ljava/util/WeakHashMap;Ljava/util/WeakHashMap$1;)V
HSPLjava/util/WeakHashMap$KeyIterator;->next()Ljava/lang/Object;
+HSPLjava/util/WeakHashMap$KeySet;-><init>(Ljava/util/WeakHashMap;)V
+HSPLjava/util/WeakHashMap$KeySet;-><init>(Ljava/util/WeakHashMap;Ljava/util/WeakHashMap$1;)V
HSPLjava/util/WeakHashMap$KeySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/WeakHashMap$KeySet;->size()I
-HSPLjava/util/WeakHashMap$ValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/WeakHashMap$ValueIterator;-><init>(Ljava/util/WeakHashMap;)V
+HSPLjava/util/WeakHashMap$ValueIterator;-><init>(Ljava/util/WeakHashMap;Ljava/util/WeakHashMap$1;)V
+HSPLjava/util/WeakHashMap$Values;-><init>(Ljava/util/WeakHashMap;)V
+HSPLjava/util/WeakHashMap$Values;-><init>(Ljava/util/WeakHashMap;Ljava/util/WeakHashMap$1;)V
HSPLjava/util/WeakHashMap$Values;->iterator()Ljava/util/Iterator;
HSPLjava/util/WeakHashMap;-><init>()V
HSPLjava/util/WeakHashMap;-><init>(I)V
HSPLjava/util/WeakHashMap;-><init>(IF)V
HSPLjava/util/WeakHashMap;->clear()V
HSPLjava/util/WeakHashMap;->containsKey(Ljava/lang/Object;)Z
-HSPLjava/util/WeakHashMap;->entrySet()Ljava/util/Set;
+HSPLjava/util/WeakHashMap;->eq(Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLjava/util/WeakHashMap;->expungeStaleEntries()V
HSPLjava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/WeakHashMap;->getEntry(Ljava/lang/Object;)Ljava/util/WeakHashMap$Entry;
+HSPLjava/util/WeakHashMap;->getTable()[Ljava/util/WeakHashMap$Entry;
+HSPLjava/util/WeakHashMap;->hash(Ljava/lang/Object;)I
+HSPLjava/util/WeakHashMap;->indexFor(II)I
HSPLjava/util/WeakHashMap;->isEmpty()Z
HSPLjava/util/WeakHashMap;->keySet()Ljava/util/Set;
+HSPLjava/util/WeakHashMap;->maskNull(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/WeakHashMap;->newTable(I)[Ljava/util/WeakHashMap$Entry;
HSPLjava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/WeakHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/WeakHashMap;->resize(I)V
HSPLjava/util/WeakHashMap;->size()I
HSPLjava/util/WeakHashMap;->transfer([Ljava/util/WeakHashMap$Entry;[Ljava/util/WeakHashMap$Entry;)V
+HSPLjava/util/WeakHashMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/WeakHashMap;->values()Ljava/util/Collection;
HSPLjava/util/concurrent/AbstractExecutorService;-><init>()V
-HSPLjava/util/concurrent/AbstractExecutorService;->invokeAll(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/util/List;
HSPLjava/util/concurrent/AbstractExecutorService;->newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;
HSPLjava/util/concurrent/AbstractExecutorService;->newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;
HSPLjava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
@@ -29490,58 +13583,48 @@ HSPLjava/util/concurrent/AbstractExecutorService;->submit(Ljava/util/concurrent/
HSPLjava/util/concurrent/ArrayBlockingQueue;-><init>(I)V
HSPLjava/util/concurrent/ArrayBlockingQueue;-><init>(IZ)V
HSPLjava/util/concurrent/ArrayBlockingQueue;->dequeue()Ljava/lang/Object;
+HSPLjava/util/concurrent/ArrayBlockingQueue;->enqueue(Ljava/lang/Object;)V
HSPLjava/util/concurrent/ArrayBlockingQueue;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ArrayBlockingQueue;->poll()Ljava/lang/Object;
HSPLjava/util/concurrent/ArrayBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/ArrayBlockingQueue;->put(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/ArrayBlockingQueue;->remainingCapacity()I
-HSPLjava/util/concurrent/ArrayBlockingQueue;->size()I
+PLjava/util/concurrent/ArrayBlockingQueue;->size()I
HSPLjava/util/concurrent/ArrayBlockingQueue;->take()Ljava/lang/Object;
HSPLjava/util/concurrent/CancellationException;-><init>(Ljava/lang/String;)V
-HSPLjava/util/concurrent/CompletableFuture$AltResult;-><init>(Ljava/lang/Throwable;)V
-HSPLjava/util/concurrent/CompletableFuture$Completion;->run()V
-HSPLjava/util/concurrent/CompletableFuture$Signaller;->block()Z
-HSPLjava/util/concurrent/CompletableFuture$Signaller;->isReleasable()Z
-HSPLjava/util/concurrent/CompletableFuture$Signaller;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HSPLjava/util/concurrent/CompletableFuture$Completion;-><init>()V
+HSPLjava/util/concurrent/CompletableFuture$Signaller;-><init>(ZJJ)V
HSPLjava/util/concurrent/CompletableFuture;-><init>()V
+HSPLjava/util/concurrent/CompletableFuture;->casStack(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)Z
HSPLjava/util/concurrent/CompletableFuture;->complete(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/CompletableFuture;->completedFuture(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
+HSPLjava/util/concurrent/CompletableFuture;->completeValue(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/CompletableFuture;->get()Ljava/lang/Object;
-HSPLjava/util/concurrent/CompletableFuture;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/CompletableFuture;->isDone()Z
-HSPLjava/util/concurrent/CompletableFuture;->newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;
+HSPLjava/util/concurrent/CompletableFuture;->lazySetNext(Ljava/util/concurrent/CompletableFuture$Completion;Ljava/util/concurrent/CompletableFuture$Completion;)V
HSPLjava/util/concurrent/CompletableFuture;->postComplete()V
-HSPLjava/util/concurrent/CompletableFuture;->postFire(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
HSPLjava/util/concurrent/CompletableFuture;->reportGet(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/CompletableFuture;->timedGet(J)Ljava/lang/Object;
-HSPLjava/util/concurrent/CompletableFuture;->uniWhenComplete(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
-HSPLjava/util/concurrent/CompletableFuture;->uniWhenCompleteStage(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
+HSPLjava/util/concurrent/CompletableFuture;->tryPushStack(Ljava/util/concurrent/CompletableFuture$Completion;)Z
HSPLjava/util/concurrent/CompletableFuture;->waitingGet(Z)Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasNext()Z
-HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->remove()V
-HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->size()I
+HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->toArray()[Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentHashMap$EntryIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$EntryIterator;->next()Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentHashMap$EntryIterator;->next()Ljava/util/Map$Entry;
+HSPLjava/util/concurrent/ConcurrentHashMap$EntrySetView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$EntrySetView;->iterator()Ljava/util/Iterator;
HSPLjava/util/concurrent/ConcurrentHashMap$ForwardingNode;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;)V
+HSPLjava/util/concurrent/ConcurrentHashMap$KeyIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$KeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->add(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;Ljava/lang/Object;)V
HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySpliterator;->characteristics()I
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HSPLjava/util/concurrent/ConcurrentHashMap$MapEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$MapEntry;->getKey()Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap$MapEntry;->getValue()Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;)V
+HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;->advance()Ljava/util/concurrent/ConcurrentHashMap$Node;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;-><init>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->balanceInsertion(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->putTreeVal(ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateLeft(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateRight(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeNode;->findTreeNode(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
+HSPLjava/util/concurrent/ConcurrentHashMap$ValueIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$ValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentHashMap$ValuesView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
HSPLjava/util/concurrent/ConcurrentHashMap$ValuesView;->iterator()Ljava/util/Iterator;
HSPLjava/util/concurrent/ConcurrentHashMap;-><init>()V
HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(I)V
@@ -29549,16 +13632,13 @@ HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
HSPLjava/util/concurrent/ConcurrentHashMap;->addCount(JI)V
HSPLjava/util/concurrent/ConcurrentHashMap;->casTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$Node;)Z
HSPLjava/util/concurrent/ConcurrentHashMap;->clear()V
-HSPLjava/util/concurrent/ConcurrentHashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ConcurrentHashMap;->entrySet()Ljava/util/Set;
-HSPLjava/util/concurrent/ConcurrentHashMap;->fullAddCount(JZ)V
HSPLjava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap;->initTable()[Ljava/util/concurrent/ConcurrentHashMap$Node;
HSPLjava/util/concurrent/ConcurrentHashMap;->isEmpty()Z
HSPLjava/util/concurrent/ConcurrentHashMap;->keySet()Ljava/util/Set;
HSPLjava/util/concurrent/ConcurrentHashMap;->mappingCount()J
-HSPLjava/util/concurrent/ConcurrentHashMap;->newKeySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
HSPLjava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
@@ -29568,44 +13648,60 @@ HSPLjava/util/concurrent/ConcurrentHashMap;->replaceNode(Ljava/lang/Object;Ljava
HSPLjava/util/concurrent/ConcurrentHashMap;->resizeStamp(I)I
HSPLjava/util/concurrent/ConcurrentHashMap;->setTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;)V
HSPLjava/util/concurrent/ConcurrentHashMap;->size()I
+HSPLjava/util/concurrent/ConcurrentHashMap;->spread(I)I
+HSPLjava/util/concurrent/ConcurrentHashMap;->sumCount()J
HSPLjava/util/concurrent/ConcurrentHashMap;->tabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;
-HSPLjava/util/concurrent/ConcurrentHashMap;->toString()Ljava/lang/String;
+HSPLjava/util/concurrent/ConcurrentHashMap;->tableSizeFor(I)I
HSPLjava/util/concurrent/ConcurrentHashMap;->transfer([Ljava/util/concurrent/ConcurrentHashMap$Node;[Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-HSPLjava/util/concurrent/ConcurrentHashMap;->treeifyBin([Ljava/util/concurrent/ConcurrentHashMap$Node;I)V
-HSPLjava/util/concurrent/ConcurrentHashMap;->tryPresize(I)V
HSPLjava/util/concurrent/ConcurrentHashMap;->values()Ljava/util/Collection;
-HSPLjava/util/concurrent/ConcurrentLinkedDeque$Node;-><init>()V
+HSPLjava/util/concurrent/ConcurrentLinkedDeque$Node;-><init>(Ljava/lang/Object;)V
HSPLjava/util/concurrent/ConcurrentLinkedDeque;-><init>()V
HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;-><init>(Ljava/util/concurrent/ConcurrentLinkedQueue;)V
HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->hasNext()Z
HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->next()Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentLinkedQueue$Node;-><init>()V
+HSPLjava/util/concurrent/ConcurrentLinkedQueue$Node;-><init>(Ljava/util/concurrent/ConcurrentLinkedQueue$1;)V
HSPLjava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;-><init>(Ljava/util/Collection;)V
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casHead(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casItem(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/lang/Object;Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casNext(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->casTail(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Z
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->contains(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->first()Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->iterator()Ljava/util/Iterator;
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->lazySetNext(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)V
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->newNode(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;->peek()Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;->remove(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->size()I
-HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;->advance()V
-HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;->hasNext()Z
-HSPLjava/util/concurrent/ConcurrentSkipListMap$ValueIterator;->next()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap$Values;->iterator()Ljava/util/Iterator;
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->succ(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->toArray()[Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->toArrayInternal([Ljava/lang/Object;)[Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->updateHead(Ljava/util/concurrent/ConcurrentLinkedQueue$Node;Ljava/util/concurrent/ConcurrentLinkedQueue$Node;)V
+HSPLjava/util/concurrent/ConcurrentSkipListMap$HeadIndex;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;I)V
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)V
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;->casRight(Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;->link(Ljava/util/concurrent/ConcurrentSkipListMap$Index;Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Index;->unlink(Ljava/util/concurrent/ConcurrentSkipListMap$Index;)Z
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap$Node;)V
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;->appendMarker(Ljava/util/concurrent/ConcurrentSkipListMap$Node;)Z
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;->casNext(Ljava/util/concurrent/ConcurrentSkipListMap$Node;Ljava/util/concurrent/ConcurrentSkipListMap$Node;)Z
+HSPLjava/util/concurrent/ConcurrentSkipListMap$Node;->casValue(Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ConcurrentSkipListMap;-><init>()V
-HSPLjava/util/concurrent/ConcurrentSkipListMap;-><init>(Ljava/util/Comparator;)V
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->clear()V
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->doGet(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->casHead(Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;)Z
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->cpr(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/util/concurrent/ConcurrentSkipListMap;->doPut(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentSkipListMap;->doRemove(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentSkipListMap;->findPredecessor(Ljava/lang/Object;Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->initialize()V
HSPLjava/util/concurrent/ConcurrentSkipListMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentSkipListMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentSkipListMap;->tryReduceLevel()V
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->values()Ljava/util/Collection;
-HSPLjava/util/concurrent/ConcurrentSkipListSet;-><init>()V
+HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;-><init>([Ljava/lang/Object;I)V
HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;->hasNext()Z
HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;->next()Ljava/lang/Object;
HSPLjava/util/concurrent/CopyOnWriteArrayList;-><init>()V
@@ -29613,25 +13709,30 @@ HSPLjava/util/concurrent/CopyOnWriteArrayList;-><init>(Ljava/util/Collection;)V
HSPLjava/util/concurrent/CopyOnWriteArrayList;->add(ILjava/lang/Object;)V
HSPLjava/util/concurrent/CopyOnWriteArrayList;->add(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/CopyOnWriteArrayList;->addAll(Ljava/util/Collection;)Z
+HSPLjava/util/concurrent/CopyOnWriteArrayList;->addAllAbsent(Ljava/util/Collection;)I
HSPLjava/util/concurrent/CopyOnWriteArrayList;->addIfAbsent(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/CopyOnWriteArrayList;->addIfAbsent(Ljava/lang/Object;[Ljava/lang/Object;)Z
HSPLjava/util/concurrent/CopyOnWriteArrayList;->clear()V
HSPLjava/util/concurrent/CopyOnWriteArrayList;->contains(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/CopyOnWriteArrayList;->get(I)Ljava/lang/Object;
+HSPLjava/util/concurrent/CopyOnWriteArrayList;->get([Ljava/lang/Object;I)Ljava/lang/Object;
+HSPLjava/util/concurrent/CopyOnWriteArrayList;->getArray()[Ljava/lang/Object;
+HSPLjava/util/concurrent/CopyOnWriteArrayList;->indexOf(Ljava/lang/Object;[Ljava/lang/Object;II)I
HSPLjava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z
HSPLjava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/CopyOnWriteArrayList;->remove(I)Ljava/lang/Object;
HSPLjava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;[Ljava/lang/Object;I)Z
-HSPLjava/util/concurrent/CopyOnWriteArrayList;->removeAll(Ljava/util/Collection;)Z
+HSPLjava/util/concurrent/CopyOnWriteArrayList;->setArray([Ljava/lang/Object;)V
HSPLjava/util/concurrent/CopyOnWriteArrayList;->size()I
-HSPLjava/util/concurrent/CopyOnWriteArrayList;->sort(Ljava/util/Comparator;)V
HSPLjava/util/concurrent/CopyOnWriteArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/concurrent/CopyOnWriteArraySet;-><init>()V
HSPLjava/util/concurrent/CopyOnWriteArraySet;->add(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/CopyOnWriteArraySet;->isEmpty()Z
HSPLjava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->remove(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/CountDownLatch$Sync;-><init>(I)V
+HSPLjava/util/concurrent/CountDownLatch$Sync;->getCount()I
HSPLjava/util/concurrent/CountDownLatch$Sync;->tryAcquireShared(I)I
+HSPLjava/util/concurrent/CountDownLatch$Sync;->tryReleaseShared(I)Z
HSPLjava/util/concurrent/CountDownLatch;-><init>(I)V
HSPLjava/util/concurrent/CountDownLatch;->await()V
HSPLjava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z
@@ -29640,14 +13741,18 @@ HSPLjava/util/concurrent/CountDownLatch;->getCount()J
HSPLjava/util/concurrent/ExecutionException;-><init>(Ljava/lang/Throwable;)V
HSPLjava/util/concurrent/Executors$DefaultThreadFactory;-><init>()V
HSPLjava/util/concurrent/Executors$DefaultThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HSPLjava/util/concurrent/Executors$DelegatedExecutorService;-><init>(Ljava/util/concurrent/ExecutorService;)V
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->execute(Ljava/lang/Runnable;)V
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->isShutdown()Z
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->shutdown()V
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->shutdownNow()Ljava/util/List;
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
+HSPLjava/util/concurrent/Executors$DelegatedScheduledExecutorService;-><init>(Ljava/util/concurrent/ScheduledExecutorService;)V
HSPLjava/util/concurrent/Executors$DelegatedScheduledExecutorService;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
+HSPLjava/util/concurrent/Executors$FinalizableDelegatedExecutorService;-><init>(Ljava/util/concurrent/ExecutorService;)V
HSPLjava/util/concurrent/Executors$FinalizableDelegatedExecutorService;->finalize()V
+HSPLjava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
HSPLjava/util/concurrent/Executors$RunnableAdapter;->call()Ljava/lang/Object;
HSPLjava/util/concurrent/Executors;->callable(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
HSPLjava/util/concurrent/Executors;->defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;
@@ -29663,15 +13768,9 @@ HSPLjava/util/concurrent/Executors;->newSingleThreadScheduledExecutor()Ljava/uti
HSPLjava/util/concurrent/Executors;->newSingleThreadScheduledExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
HSPLjava/util/concurrent/Executors;->unconfigurableExecutorService(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;
HSPLjava/util/concurrent/Executors;->unconfigurableScheduledExecutorService(Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;
-HSPLjava/util/concurrent/ForkJoinPool$1;-><init>()V
-HSPLjava/util/concurrent/ForkJoinPool$1;->run()Ljava/lang/Object;
-HSPLjava/util/concurrent/ForkJoinPool$1;->run()Ljava/util/concurrent/ForkJoinPool;
-HSPLjava/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory;-><init>(Ljava/util/concurrent/ForkJoinPool$1;)V
-HSPLjava/util/concurrent/ForkJoinPool;-><init>(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ILjava/lang/String;)V
-HSPLjava/util/concurrent/ForkJoinPool;->commonPool()Ljava/util/concurrent/ForkJoinPool;
-HSPLjava/util/concurrent/ForkJoinPool;->getCommonPoolParallelism()I
-HSPLjava/util/concurrent/ForkJoinPool;->makeCommonPool()Ljava/util/concurrent/ForkJoinPool;
HSPLjava/util/concurrent/ForkJoinPool;->managedBlock(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
+HSPLjava/util/concurrent/ForkJoinTask;-><init>()V
+HSPLjava/util/concurrent/FutureTask$WaitNode;-><init>()V
HSPLjava/util/concurrent/FutureTask;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
HSPLjava/util/concurrent/FutureTask;-><init>(Ljava/util/concurrent/Callable;)V
HSPLjava/util/concurrent/FutureTask;->awaitDone(ZJ)I
@@ -29680,44 +13779,36 @@ HSPLjava/util/concurrent/FutureTask;->done()V
HSPLjava/util/concurrent/FutureTask;->finishCompletion()V
HSPLjava/util/concurrent/FutureTask;->get()Ljava/lang/Object;
HSPLjava/util/concurrent/FutureTask;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
+HSPLjava/util/concurrent/FutureTask;->handlePossibleCancellationInterrupt(I)V
HSPLjava/util/concurrent/FutureTask;->isCancelled()Z
HSPLjava/util/concurrent/FutureTask;->isDone()Z
-HSPLjava/util/concurrent/FutureTask;->removeWaiter(Ljava/util/concurrent/FutureTask$WaitNode;)V
+PLjava/util/concurrent/FutureTask;->removeWaiter(Ljava/util/concurrent/FutureTask$WaitNode;)V
+HSPLjava/util/concurrent/FutureTask;->report(I)Ljava/lang/Object;
HSPLjava/util/concurrent/FutureTask;->run()V
HSPLjava/util/concurrent/FutureTask;->runAndReset()Z
HSPLjava/util/concurrent/FutureTask;->set(Ljava/lang/Object;)V
HSPLjava/util/concurrent/FutureTask;->setException(Ljava/lang/Throwable;)V
+HSPLjava/util/concurrent/LinkedBlockingDeque$Node;-><init>(Ljava/lang/Object;)V
HSPLjava/util/concurrent/LinkedBlockingDeque;-><init>()V
HSPLjava/util/concurrent/LinkedBlockingDeque;-><init>(I)V
-HSPLjava/util/concurrent/LinkedBlockingDeque;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingDeque;->addFirst(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/LinkedBlockingDeque;->addLast(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/LinkedBlockingDeque;->linkFirst(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
HSPLjava/util/concurrent/LinkedBlockingDeque;->linkLast(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
-HSPLjava/util/concurrent/LinkedBlockingDeque;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingDeque;->offerFirst(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/LinkedBlockingDeque;->offerLast(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingDeque;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->pollFirst()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->pollFirst(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HPLjava/util/concurrent/LinkedBlockingDeque;->pop()Ljava/lang/Object;
-HPLjava/util/concurrent/LinkedBlockingDeque;->remainingCapacity()I
-HSPLjava/util/concurrent/LinkedBlockingDeque;->removeFirst()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->size()I
HSPLjava/util/concurrent/LinkedBlockingDeque;->take()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->takeFirst()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->unlinkFirst()Ljava/lang/Object;
+HSPLjava/util/concurrent/LinkedBlockingQueue$Node;-><init>(Ljava/lang/Object;)V
HSPLjava/util/concurrent/LinkedBlockingQueue;-><init>()V
HSPLjava/util/concurrent/LinkedBlockingQueue;-><init>(I)V
+HSPLjava/util/concurrent/LinkedBlockingQueue;->dequeue()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingQueue;->drainTo(Ljava/util/Collection;)I
HSPLjava/util/concurrent/LinkedBlockingQueue;->drainTo(Ljava/util/Collection;I)I
+HSPLjava/util/concurrent/LinkedBlockingQueue;->enqueue(Ljava/util/concurrent/LinkedBlockingQueue$Node;)V
HSPLjava/util/concurrent/LinkedBlockingQueue;->fullyLock()V
HSPLjava/util/concurrent/LinkedBlockingQueue;->fullyUnlock()V
HSPLjava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingQueue;->poll()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingQueue;->put(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/LinkedBlockingQueue;->remainingCapacity()I
HSPLjava/util/concurrent/LinkedBlockingQueue;->signalNotEmpty()V
HSPLjava/util/concurrent/LinkedBlockingQueue;->signalNotFull()V
HSPLjava/util/concurrent/LinkedBlockingQueue;->size()I
@@ -29725,23 +13816,36 @@ HSPLjava/util/concurrent/LinkedBlockingQueue;->take()Ljava/lang/Object;
HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>()V
HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>(ILjava/util/Comparator;)V
HSPLjava/util/concurrent/PriorityBlockingQueue;->add(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/PriorityBlockingQueue;->dequeue()Ljava/lang/Object;
+HSPLjava/util/concurrent/PriorityBlockingQueue;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/concurrent/PriorityBlockingQueue;->offer(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/PriorityBlockingQueue;->peek()Ljava/lang/Object;
HSPLjava/util/concurrent/PriorityBlockingQueue;->poll()Ljava/lang/Object;
+HSPLjava/util/concurrent/PriorityBlockingQueue;->put(Ljava/lang/Object;)V
+HSPLjava/util/concurrent/PriorityBlockingQueue;->remove(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/PriorityBlockingQueue;->removeAt(I)V
HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownComparable(ILjava/lang/Object;[Ljava/lang/Object;I)V
-HSPLjava/util/concurrent/PriorityBlockingQueue;->size()I
+HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;ILjava/util/Comparator;)V
+HSPLjava/util/concurrent/PriorityBlockingQueue;->siftUpComparable(ILjava/lang/Object;[Ljava/lang/Object;)V
+HSPLjava/util/concurrent/PriorityBlockingQueue;->siftUpUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;Ljava/util/Comparator;)V
HSPLjava/util/concurrent/PriorityBlockingQueue;->take()Ljava/lang/Object;
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;-><init>(Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;[Ljava/util/concurrent/RunnableScheduledFuture;)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->hasNext()Z
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;-><init>()V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->add(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->add(Ljava/lang/Runnable;)Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->drainTo(Ljava/util/Collection;)I
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->finishPoll(Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->grow()V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->isEmpty()Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->iterator()Ljava/util/Iterator;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->offer(Ljava/lang/Runnable;)Z
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->peekExpired()Ljava/util/concurrent/RunnableScheduledFuture;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/RunnableScheduledFuture;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->remove(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->setIndex(Ljava/util/concurrent/RunnableScheduledFuture;I)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->siftDown(ILjava/util/concurrent/RunnableScheduledFuture;)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->siftUp(ILjava/util/concurrent/RunnableScheduledFuture;)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->size()I
@@ -29749,12 +13853,16 @@ HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->take()Lj
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->take()Ljava/util/concurrent/RunnableScheduledFuture;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->toArray()[Ljava/lang/Object;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;-><init>(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/lang/Runnable;Ljava/lang/Object;JJ)V
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;-><init>(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/lang/Runnable;Ljava/lang/Object;JJJ)V
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;-><init>(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/util/concurrent/Callable;JJ)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->cancel(Z)Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->compareTo(Ljava/lang/Object;)I
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->compareTo(Ljava/util/concurrent/Delayed;)I
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->getDelay(Ljava/util/concurrent/TimeUnit;)J
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->isPeriodic()Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->run()V
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;->setNextRunTime()V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;-><init>(I)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;-><init>(ILjava/util/concurrent/ThreadFactory;)V
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;-><init>(ILjava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
@@ -29777,42 +13885,64 @@ HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->shutdownNow()Ljava/util/L
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->triggerTime(J)J
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->triggerTime(JLjava/util/concurrent/TimeUnit;)J
+HSPLjava/util/concurrent/Semaphore$NonfairSync;-><init>(I)V
HSPLjava/util/concurrent/Semaphore$NonfairSync;->tryAcquireShared(I)I
+HSPLjava/util/concurrent/Semaphore$Sync;-><init>(I)V
+HSPLjava/util/concurrent/Semaphore$Sync;->nonfairTryAcquireShared(I)I
HSPLjava/util/concurrent/Semaphore$Sync;->tryReleaseShared(I)Z
HSPLjava/util/concurrent/Semaphore;-><init>(I)V
+HSPLjava/util/concurrent/Semaphore;-><init>(IZ)V
HSPLjava/util/concurrent/Semaphore;->acquire()V
+HSPLjava/util/concurrent/Semaphore;->acquireUninterruptibly()V
HSPLjava/util/concurrent/Semaphore;->release()V
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack$SNode;-><init>(Ljava/lang/Object;)V
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack$SNode;->casNext(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack$SNode;->isCancelled()Z
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack$SNode;->tryCancel()V
HSPLjava/util/concurrent/SynchronousQueue$TransferStack$SNode;->tryMatch(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack;-><init>()V
HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->awaitFulfill(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;ZJ)Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->casHead(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->clean(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)V
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->isFulfilling(I)Z
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->shouldSpin(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
+HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->snode(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;Ljava/lang/Object;Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;I)Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
+HSPLjava/util/concurrent/SynchronousQueue$Transferer;-><init>()V
HSPLjava/util/concurrent/SynchronousQueue;-><init>()V
+HSPLjava/util/concurrent/SynchronousQueue;-><init>(Z)V
HSPLjava/util/concurrent/SynchronousQueue;->isEmpty()Z
HSPLjava/util/concurrent/SynchronousQueue;->offer(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/SynchronousQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/SynchronousQueue;->take()Ljava/lang/Object;
-HSPLjava/util/concurrent/ThreadLocalRandom$1;-><init>()V
-HSPLjava/util/concurrent/ThreadLocalRandom$1;->run()Ljava/lang/Boolean;
-HSPLjava/util/concurrent/ThreadLocalRandom$1;->run()Ljava/lang/Object;
-HSPLjava/util/concurrent/ThreadLocalRandom;-><init>()V
-HSPLjava/util/concurrent/ThreadLocalRandom;->current()Ljava/util/concurrent/ThreadLocalRandom;
+HSPLjava/util/concurrent/ThreadLocalRandom;->getProbe()I
HSPLjava/util/concurrent/ThreadLocalRandom;->localInit()V
+HSPLjava/util/concurrent/ThreadLocalRandom;->mix32(J)I
HSPLjava/util/concurrent/ThreadLocalRandom;->mix64(J)J
-HSPLjava/util/concurrent/ThreadLocalRandom;->nextInt()I
HSPLjava/util/concurrent/ThreadLocalRandom;->nextSecondarySeed()I
-HSPLjava/util/concurrent/ThreadLocalRandom;->setSeed(J)V
-HSPLjava/util/concurrent/ThreadPoolExecutor$AbortPolicy;-><init>()V
+HSPLjava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;-><init>()V
+HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;-><init>(Ljava/util/concurrent/ThreadPoolExecutor;Ljava/lang/Runnable;)V
HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->interruptIfStarted()V
+HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->lock()V
HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->run()V
+HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->tryAcquire(I)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->tryLock()Z
+HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->tryRelease(I)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->unlock()V
HSPLjava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->addWorker(Ljava/lang/Runnable;Z)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->advanceRunState(I)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->afterExecute(Ljava/lang/Runnable;Ljava/lang/Throwable;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V
-HSPLjava/util/concurrent/ThreadPoolExecutor;->awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
HSPLjava/util/concurrent/ThreadPoolExecutor;->beforeExecute(Ljava/lang/Thread;Ljava/lang/Runnable;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->checkShutdownAccess()V
+HSPLjava/util/concurrent/ThreadPoolExecutor;->compareAndDecrementWorkerCount(I)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->compareAndIncrementWorkerCount(I)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->ctlOf(II)I
+HSPLjava/util/concurrent/ThreadPoolExecutor;->decrementWorkerCount()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->drainQueue()Ljava/util/List;
HSPLjava/util/concurrent/ThreadPoolExecutor;->ensurePrestart()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
@@ -29820,29 +13950,36 @@ HSPLjava/util/concurrent/ThreadPoolExecutor;->finalize()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->getQueue()Ljava/util/concurrent/BlockingQueue;
HSPLjava/util/concurrent/ThreadPoolExecutor;->getTask()Ljava/lang/Runnable;
HSPLjava/util/concurrent/ThreadPoolExecutor;->getThreadFactory()Ljava/util/concurrent/ThreadFactory;
+HSPLjava/util/concurrent/ThreadPoolExecutor;->interruptIdleWorkers()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->interruptIdleWorkers(Z)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->interruptWorkers()V
+HSPLjava/util/concurrent/ThreadPoolExecutor;->isRunning(I)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->isRunningOrShutdown(Z)Z
HSPLjava/util/concurrent/ThreadPoolExecutor;->isShutdown()Z
HSPLjava/util/concurrent/ThreadPoolExecutor;->onShutdown()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->prestartAllCoreThreads()I
HSPLjava/util/concurrent/ThreadPoolExecutor;->processWorkerExit(Ljava/util/concurrent/ThreadPoolExecutor$Worker;Z)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->purge()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->remove(Ljava/lang/Runnable;)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->runStateAtLeast(II)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->runStateLessThan(II)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor;->runStateOf(I)I
HSPLjava/util/concurrent/ThreadPoolExecutor;->runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->setKeepAliveTime(JLjava/util/concurrent/TimeUnit;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->setMaximumPoolSize(I)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->setRejectedExecutionHandler(Ljava/util/concurrent/RejectedExecutionHandler;)V
+HSPLjava/util/concurrent/ThreadPoolExecutor;->setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->shutdown()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->shutdownNow()Ljava/util/List;
HSPLjava/util/concurrent/ThreadPoolExecutor;->terminated()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->tryTerminate()V
+HSPLjava/util/concurrent/ThreadPoolExecutor;->workerCountOf(I)I
HSPLjava/util/concurrent/TimeUnit$1;->convert(JLjava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/TimeUnit$1;->toHours(J)J
HSPLjava/util/concurrent/TimeUnit$1;->toMicros(J)J
HSPLjava/util/concurrent/TimeUnit$1;->toMillis(J)J
HSPLjava/util/concurrent/TimeUnit$1;->toNanos(J)J
-HSPLjava/util/concurrent/TimeUnit$1;->toSeconds(J)J
-HSPLjava/util/concurrent/TimeUnit$2;->toMillis(J)J
+PLjava/util/concurrent/TimeUnit$1;->toSeconds(J)J
+HSPLjava/util/concurrent/TimeUnit$2;->toMinutes(J)J
HSPLjava/util/concurrent/TimeUnit$3;->convert(JLjava/util/concurrent/TimeUnit;)J
HSPLjava/util/concurrent/TimeUnit$3;->toDays(J)J
HSPLjava/util/concurrent/TimeUnit$3;->toHours(J)J
@@ -29857,27 +13994,27 @@ HSPLjava/util/concurrent/TimeUnit$4;->toMillis(J)J
HSPLjava/util/concurrent/TimeUnit$4;->toNanos(J)J
HSPLjava/util/concurrent/TimeUnit$4;->toSeconds(J)J
HSPLjava/util/concurrent/TimeUnit$5;->convert(JLjava/util/concurrent/TimeUnit;)J
+HSPLjava/util/concurrent/TimeUnit$5;->toMicros(J)J
HSPLjava/util/concurrent/TimeUnit$5;->toMillis(J)J
HSPLjava/util/concurrent/TimeUnit$5;->toNanos(J)J
HSPLjava/util/concurrent/TimeUnit$5;->toSeconds(J)J
-HSPLjava/util/concurrent/TimeUnit$6;->convert(JLjava/util/concurrent/TimeUnit;)J
HSPLjava/util/concurrent/TimeUnit$6;->toMillis(J)J
HSPLjava/util/concurrent/TimeUnit$6;->toMinutes(J)J
HSPLjava/util/concurrent/TimeUnit$6;->toNanos(J)J
HSPLjava/util/concurrent/TimeUnit$6;->toSeconds(J)J
-HSPLjava/util/concurrent/TimeUnit$7;->toHours(J)J
HSPLjava/util/concurrent/TimeUnit$7;->toMillis(J)J
-HSPLjava/util/concurrent/TimeUnit$7;->toMinutes(J)J
HSPLjava/util/concurrent/TimeUnit$7;->toNanos(J)J
HSPLjava/util/concurrent/TimeUnit$7;->toSeconds(J)J
+HSPLjava/util/concurrent/TimeUnit;->x(JJJ)J
+HSPLjava/util/concurrent/TimeoutException;-><init>()V
HSPLjava/util/concurrent/TimeoutException;-><init>(Ljava/lang/String;)V
HSPLjava/util/concurrent/atomic/AtomicBoolean;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
HSPLjava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
HSPLjava/util/concurrent/atomic/AtomicBoolean;->get()Z
HSPLjava/util/concurrent/atomic/AtomicBoolean;->getAndSet(Z)Z
+HSPLjava/util/concurrent/atomic/AtomicBoolean;->lazySet(Z)V
HSPLjava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
-HSPLjava/util/concurrent/atomic/AtomicBoolean;->toString()Ljava/lang/String;
HSPLjava/util/concurrent/atomic/AtomicInteger;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
HSPLjava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
@@ -29888,33 +14025,36 @@ HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndAdd(I)I
HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndDecrement()I
HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndSet(I)I
-HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndUpdate(Ljava/util/function/IntUnaryOperator;)I
HSPLjava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
HSPLjava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
HSPLjava/util/concurrent/atomic/AtomicInteger;->set(I)V
HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
+HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->accessCheck(Ljava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->compareAndSet(Ljava/lang/Object;II)Z
HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->decrementAndGet(Ljava/lang/Object;)I
+HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->getAndAdd(Ljava/lang/Object;I)I
HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->getAndSet(Ljava/lang/Object;I)I
HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->set(Ljava/lang/Object;I)V
+HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
HSPLjava/util/concurrent/atomic/AtomicLong;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicLong;-><init>(J)V
HSPLjava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
HSPLjava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z
-HSPLjava/util/concurrent/atomic/AtomicLong;->doubleValue()D
+HSPLjava/util/concurrent/atomic/AtomicLong;->decrementAndGet()J
HSPLjava/util/concurrent/atomic/AtomicLong;->get()J
HSPLjava/util/concurrent/atomic/AtomicLong;->getAndAdd(J)J
-HSPLjava/util/concurrent/atomic/AtomicLong;->getAndDecrement()J
HSPLjava/util/concurrent/atomic/AtomicLong;->getAndIncrement()J
HSPLjava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
HSPLjava/util/concurrent/atomic/AtomicLong;->incrementAndGet()J
HSPLjava/util/concurrent/atomic/AtomicLong;->lazySet(J)V
HSPLjava/util/concurrent/atomic/AtomicLong;->set(J)V
HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
+HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->accessCheck(Ljava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->getAndAdd(Ljava/lang/Object;J)J
HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->getAndIncrement(Ljava/lang/Object;)J
HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->incrementAndGet(Ljava/lang/Object;)J
+HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
HSPLjava/util/concurrent/atomic/AtomicReference;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
@@ -29924,37 +14064,91 @@ HSPLjava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)L
HSPLjava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicReferenceArray;-><init>(I)V
+HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->byteOffset(I)J
HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->checkedByteOffset(I)J
+HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->compareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->compareAndSetRaw(JLjava/lang/Object;Ljava/lang/Object;)Z
HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
+HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->getRaw(J)Ljava/lang/Object;
+HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->lazySet(ILjava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->length()I
HSPLjava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
+HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->accessCheck(Ljava/lang/Object;)V
HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->valueCheck(Ljava/lang/Object;)V
+HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;-><init>()V
HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
HSPLjava/util/concurrent/atomic/LongAdder;-><init>()V
HSPLjava/util/concurrent/atomic/LongAdder;->add(J)V
+HSPLjava/util/concurrent/atomic/Striped64;-><init>()V
+HSPLjava/util/concurrent/atomic/Striped64;->casBase(JJ)Z
+HSPLjava/util/concurrent/locks/AbstractOwnableSynchronizer;-><init>()V
+HSPLjava/util/concurrent/locks/AbstractOwnableSynchronizer;->getExclusiveOwnerThread()Ljava/lang/Thread;
+HSPLjava/util/concurrent/locks/AbstractOwnableSynchronizer;->setExclusiveOwnerThread(Ljava/lang/Thread;)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;-><init>(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->addConditionWaiter()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->await()V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->awaitNanos(J)J
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->checkInterruptWhileWaiting(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)I
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->doSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->doSignalAll(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->reportInterruptAfterWait(I)V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->signal()V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->signalAll()V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->unlinkCancelledWaiters()V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;-><init>()V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;-><init>(I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;-><init>(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->compareAndSetNext(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->compareAndSetWaitStatus(II)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->isShared()Z
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->predecessor()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;-><init>()V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquire(I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireInterruptibly(I)V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireQueued(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;I)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireShared(I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireSharedInterruptibly(I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->addWaiter(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->apparentlyFirstQueuedIsExclusive()Z
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->cancelAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->compareAndSetState(II)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->compareAndSetTail(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireInterruptibly(I)V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireShared(I)V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireSharedInterruptibly(I)V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireSharedNanos(IJ)Z
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doReleaseShared()V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->enq(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->findNodeFromTail(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->fullyRelease(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)I
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->getState()I
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->hasQueuedPredecessors()Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->initializeSyncQueue()V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->isOnSyncQueue(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->parkAndCheckInterrupt()Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->release(I)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->releaseShared(I)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->setHead(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->setHeadAndPropagate(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->setState(I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->shouldParkAfterFailedAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->transferAfterCancelledWait(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->transferForSignal(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->tryAcquireSharedNanos(IJ)Z
HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->unparkSuccessor(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
HSPLjava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V
HSPLjava/util/concurrent/locks/LockSupport;->parkNanos(Ljava/lang/Object;J)V
+HSPLjava/util/concurrent/locks/LockSupport;->setBlocker(Ljava/lang/Thread;Ljava/lang/Object;)V
HSPLjava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
+HSPLjava/util/concurrent/locks/ReentrantLock$NonfairSync;-><init>()V
HSPLjava/util/concurrent/locks/ReentrantLock$NonfairSync;->lock()V
HSPLjava/util/concurrent/locks/ReentrantLock$NonfairSync;->tryAcquire(I)Z
+HSPLjava/util/concurrent/locks/ReentrantLock$Sync;-><init>()V
HSPLjava/util/concurrent/locks/ReentrantLock$Sync;->isHeldExclusively()Z
+HSPLjava/util/concurrent/locks/ReentrantLock$Sync;->newCondition()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;
HSPLjava/util/concurrent/locks/ReentrantLock$Sync;->nonfairTryAcquire(I)Z
HSPLjava/util/concurrent/locks/ReentrantLock$Sync;->tryRelease(I)Z
HSPLjava/util/concurrent/locks/ReentrantLock;-><init>()V
@@ -29965,174 +14159,178 @@ HSPLjava/util/concurrent/locks/ReentrantLock;->lockInterruptibly()V
HSPLjava/util/concurrent/locks/ReentrantLock;->newCondition()Ljava/util/concurrent/locks/Condition;
HSPLjava/util/concurrent/locks/ReentrantLock;->tryLock()Z
HSPLjava/util/concurrent/locks/ReentrantLock;->unlock()V
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;-><init>()V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->readerShouldBlock()Z
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->writerShouldBlock()Z
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;-><init>()V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->readerShouldBlock()Z
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->writerShouldBlock()Z
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;-><init>(Ljava/util/concurrent/locks/ReentrantReadWriteLock;)V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->lock()V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;-><init>()V
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter;-><init>()V
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter;->initialValue()Ljava/lang/Object;
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter;->initialValue()Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter;
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;-><init>()V
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->exclusiveCount(I)I
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->fullTryAcquireShared(Ljava/lang/Thread;)I
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->isHeldExclusively()Z
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->sharedCount(I)I
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryAcquire(I)Z
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryAcquireShared(I)I
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryRelease(I)Z
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryReleaseShared(I)Z
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;-><init>(Ljava/util/concurrent/locks/ReentrantReadWriteLock;)V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;-><init>(Z)V
+HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->getThreadId(Ljava/lang/Thread;)J
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
-HSPLjava/util/function/-$$Lambda$BinaryOperator$V_WUclL0kAOZvMw9EtWtwAvmNJc;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$i7wtM_8Ous-CB32HCfZ4usZ4zaQ;-><init>()V
-HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$i7wtM_8Ous-CB32HCfZ4usZ4zaQ;->applyAsDouble(D)D
-HSPLjava/util/function/-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY;-><init>()V
-HSPLjava/util/function/-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/function/-$$Lambda$Predicate$17UUIF1CH_K9duk0ChtjSwOycuM;->test(Ljava/lang/Object;)Z
-PLjava/util/function/-$$Lambda$Predicate$GyIVQ08CWbeMZxHDkkrN-5apRkc;->test(Ljava/lang/Object;)Z
-HSPLjava/util/function/DoubleUnaryOperator;->andThen(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;
-HSPLjava/util/function/DoubleUnaryOperator;->identity()Ljava/util/function/DoubleUnaryOperator;
-HSPLjava/util/function/Function;->identity()Ljava/util/function/Function;
-HPLjava/util/function/Predicate;->and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
-HSPLjava/util/function/Predicate;->or(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
HSPLjava/util/jar/Attributes$Name;-><init>(Ljava/lang/String;)V
HSPLjava/util/jar/Attributes$Name;->equals(Ljava/lang/Object;)Z
HSPLjava/util/jar/Attributes$Name;->hashCode()I
-HSPLjava/util/jar/Attributes$Name;->toString()Ljava/lang/String;
-HSPLjava/util/jar/Attributes;-><init>()V
-HSPLjava/util/jar/Attributes;-><init>(I)V
-HSPLjava/util/jar/Attributes;->entrySet()Ljava/util/Set;
+HSPLjava/util/jar/Attributes$Name;->isAlpha(C)Z
+HSPLjava/util/jar/Attributes$Name;->isDigit(C)Z
+HSPLjava/util/jar/Attributes$Name;->isValid(C)Z
+HSPLjava/util/jar/Attributes$Name;->isValid(Ljava/lang/String;)Z
HSPLjava/util/jar/Attributes;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/jar/Attributes;->getValue(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/jar/Attributes;->getValue(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
HSPLjava/util/jar/Attributes;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/jar/Attributes;->putValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/jar/Attributes;->read(Ljava/util/jar/Manifest$FastInputStream;[B)V
-HSPLjava/util/jar/Attributes;->size()I
+HSPLjava/util/jar/JarEntry;-><init>(Ljava/util/zip/ZipEntry;)V
+HSPLjava/util/jar/JarFile$JarFileEntry;-><init>(Ljava/util/jar/JarFile;Ljava/util/zip/ZipEntry;)V
+HSPLjava/util/jar/JarFile;-><init>(Ljava/io/File;ZI)V
HSPLjava/util/jar/JarFile;-><init>(Ljava/lang/String;)V
-HSPLjava/util/jar/JarFile;->getBytes(Ljava/util/zip/ZipEntry;)[B
HSPLjava/util/jar/JarFile;->getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
HSPLjava/util/jar/JarFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
-HSPLjava/util/jar/JarFile;->getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry;
-HSPLjava/util/jar/JarFile;->getManEntry()Ljava/util/jar/JarEntry;
-HSPLjava/util/jar/JarFile;->getManifest()Ljava/util/jar/Manifest;
-HSPLjava/util/jar/JarFile;->getManifestFromReference()Ljava/util/jar/Manifest;
-HSPLjava/util/jar/JarFile;->initializeVerifier()V
HSPLjava/util/jar/JarFile;->maybeInstantiateVerifier()V
-HSPLjava/util/jar/JarVerifier$VerifierStream;-><init>(Ljava/util/jar/Manifest;Ljava/util/jar/JarEntry;Ljava/io/InputStream;Ljava/util/jar/JarVerifier;)V
-HSPLjava/util/jar/JarVerifier$VerifierStream;->close()V
-HSPLjava/util/jar/JarVerifier$VerifierStream;->read()I
-HSPLjava/util/jar/JarVerifier$VerifierStream;->read([BII)I
-HSPLjava/util/jar/JarVerifier;-><init>([B)V
-HSPLjava/util/jar/JarVerifier;->beginEntry(Ljava/util/jar/JarEntry;Lsun/security/util/ManifestEntryVerifier;)V
-HSPLjava/util/jar/JarVerifier;->doneWithMeta()V
-HSPLjava/util/jar/JarVerifier;->mapSignersToCertArray([Ljava/security/CodeSigner;)[Ljava/security/cert/Certificate;
-HSPLjava/util/jar/JarVerifier;->nothingToVerify()Z
-HSPLjava/util/jar/JarVerifier;->processEntry(Lsun/security/util/ManifestEntryVerifier;)V
-HSPLjava/util/jar/JarVerifier;->update(ILsun/security/util/ManifestEntryVerifier;)V
-HSPLjava/util/jar/JarVerifier;->update(I[BIILsun/security/util/ManifestEntryVerifier;)V
-HSPLjava/util/jar/Manifest$FastInputStream;->peek()B
-HSPLjava/util/jar/Manifest$FastInputStream;->readLine([B)I
-HSPLjava/util/jar/Manifest$FastInputStream;->readLine([BII)I
-HSPLjava/util/jar/Manifest;->getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes;
-HSPLjava/util/jar/Manifest;->getEntries()Ljava/util/Map;
-HSPLjava/util/jar/Manifest;->getMainAttributes()Ljava/util/jar/Attributes;
-HSPLjava/util/jar/Manifest;->parseName([BI)Ljava/lang/String;
-HSPLjava/util/jar/Manifest;->read(Ljava/io/InputStream;)V
+HSPLjava/util/logging/ErrorManager;-><init>()V
HSPLjava/util/logging/Handler;-><init>()V
HSPLjava/util/logging/Handler;->checkPermission()V
HSPLjava/util/logging/Handler;->getFormatter()Ljava/util/logging/Formatter;
HSPLjava/util/logging/Handler;->setFormatter(Ljava/util/logging/Formatter;)V
-HSPLjava/util/logging/Level$KnownLevel;-><init>(Ljava/util/logging/Level;)V
-HSPLjava/util/logging/Level$KnownLevel;->add(Ljava/util/logging/Level;)V
HSPLjava/util/logging/Level$KnownLevel;->findByName(Ljava/lang/String;)Ljava/util/logging/Level$KnownLevel;
-HSPLjava/util/logging/Level;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLjava/util/logging/Level;-><init>(Ljava/lang/String;ILjava/lang/String;Z)V
HSPLjava/util/logging/Level;->findLevel(Ljava/lang/String;)Ljava/util/logging/Level;
HSPLjava/util/logging/Level;->intValue()I
-HSPLjava/util/logging/LogManager$1;-><init>()V
-HSPLjava/util/logging/LogManager$1;->run()Ljava/lang/Object;
-HSPLjava/util/logging/LogManager$1;->run()Ljava/util/logging/LogManager;
-HSPLjava/util/logging/LogManager$2;->run()Ljava/lang/Object;
-HSPLjava/util/logging/LogManager$3;->run()Ljava/lang/Object;
-HSPLjava/util/logging/LogManager$3;->run()Ljava/lang/Void;
+HSPLjava/util/logging/LogManager$5;-><init>(Ljava/util/logging/LogManager;Ljava/lang/String;Ljava/util/logging/Logger;)V
HSPLjava/util/logging/LogManager$5;->run()Ljava/lang/Object;
+HSPLjava/util/logging/LogManager$LogNode;-><init>(Ljava/util/logging/LogManager$LogNode;Ljava/util/logging/LogManager$LoggerContext;)V
HSPLjava/util/logging/LogManager$LogNode;->walkAndSetParent(Ljava/util/logging/Logger;)V
+HSPLjava/util/logging/LogManager$LoggerContext$1;-><init>(Ljava/util/logging/LogManager$LoggerContext;Ljava/util/logging/Logger;Ljava/util/logging/LogManager;Ljava/lang/String;)V
+HSPLjava/util/logging/LogManager$LoggerContext$1;->run()Ljava/lang/Object;
HSPLjava/util/logging/LogManager$LoggerContext$1;->run()Ljava/lang/Void;
HSPLjava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;)Z
HSPLjava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;Z)Z
HSPLjava/util/logging/LogManager$LoggerContext;->ensureAllDefaultLoggers(Ljava/util/logging/Logger;)V
HSPLjava/util/logging/LogManager$LoggerContext;->ensureDefaultLogger(Ljava/util/logging/Logger;)V
+HSPLjava/util/logging/LogManager$LoggerContext;->ensureInitialized()V
HSPLjava/util/logging/LogManager$LoggerContext;->findLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
+HSPLjava/util/logging/LogManager$LoggerContext;->getGlobalLogger()Ljava/util/logging/Logger;
HSPLjava/util/logging/LogManager$LoggerContext;->getLoggerNames()Ljava/util/Enumeration;
HSPLjava/util/logging/LogManager$LoggerContext;->getNode(Ljava/lang/String;)Ljava/util/logging/LogManager$LogNode;
+HSPLjava/util/logging/LogManager$LoggerContext;->getOwner()Ljava/util/logging/LogManager;
+HSPLjava/util/logging/LogManager$LoggerContext;->getRootLogger()Ljava/util/logging/Logger;
HSPLjava/util/logging/LogManager$LoggerContext;->processParentHandlers(Ljava/util/logging/Logger;Ljava/lang/String;)V
HSPLjava/util/logging/LogManager$LoggerContext;->removeLoggerRef(Ljava/lang/String;Ljava/util/logging/LogManager$LoggerWeakRef;)V
+HSPLjava/util/logging/LogManager$LoggerContext;->requiresDefaultLoggers()Z
+HSPLjava/util/logging/LogManager$LoggerWeakRef;-><init>(Ljava/util/logging/LogManager;Ljava/util/logging/Logger;)V
HSPLjava/util/logging/LogManager$LoggerWeakRef;->dispose()V
+HSPLjava/util/logging/LogManager$LoggerWeakRef;->setNode(Ljava/util/logging/LogManager$LogNode;)V
+HSPLjava/util/logging/LogManager$LoggerWeakRef;->setParentRef(Ljava/lang/ref/WeakReference;)V
HSPLjava/util/logging/LogManager$RootLogger;->accessCheckedHandlers()[Ljava/util/logging/Handler;
HSPLjava/util/logging/LogManager$RootLogger;->addHandler(Ljava/util/logging/Handler;)V
-HSPLjava/util/logging/LogManager;-><init>(Ljava/lang/Void;)V
+HSPLjava/util/logging/LogManager$SystemLoggerContext;->demandLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
+HSPLjava/util/logging/LogManager;->access$1300(Ljava/util/logging/Logger;Ljava/util/logging/Logger;)V
+HSPLjava/util/logging/LogManager;->access$1400(Ljava/util/logging/LogManager;Ljava/lang/String;)[Ljava/lang/String;
+HSPLjava/util/logging/LogManager;->access$1500(Ljava/util/logging/LogManager;)Ljava/lang/ref/ReferenceQueue;
+HSPLjava/util/logging/LogManager;->access$1600(Ljava/util/logging/LogManager;)V
+HSPLjava/util/logging/LogManager;->access$200()Ljava/util/logging/LogManager;
+HSPLjava/util/logging/LogManager;->access$600(Ljava/util/logging/LogManager;)Ljava/util/logging/Logger;
HSPLjava/util/logging/LogManager;->addLogger(Ljava/util/logging/Logger;)Z
HSPLjava/util/logging/LogManager;->checkPermission()V
HSPLjava/util/logging/LogManager;->contexts()Ljava/util/List;
HSPLjava/util/logging/LogManager;->demandLogger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/logging/Logger;
+HSPLjava/util/logging/LogManager;->demandSystemLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
+HSPLjava/util/logging/LogManager;->doSetParent(Ljava/util/logging/Logger;Ljava/util/logging/Logger;)V
+HSPLjava/util/logging/LogManager;->drainLoggerRefQueueBounded()V
HSPLjava/util/logging/LogManager;->ensureLogManagerInitialized()V
HSPLjava/util/logging/LogManager;->getBooleanProperty(Ljava/lang/String;Z)Z
HSPLjava/util/logging/LogManager;->getLevelProperty(Ljava/lang/String;Ljava/util/logging/Level;)Ljava/util/logging/Level;
HSPLjava/util/logging/LogManager;->getLogManager()Ljava/util/logging/LogManager;
HSPLjava/util/logging/LogManager;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
HSPLjava/util/logging/LogManager;->getProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/util/logging/LogManager;->getSystemContext()Ljava/util/logging/LogManager$LoggerContext;
+HSPLjava/util/logging/LogManager;->getUserContext()Ljava/util/logging/LogManager$LoggerContext;
HSPLjava/util/logging/LogManager;->initializeGlobalHandlers()V
+HSPLjava/util/logging/LogManager;->loadLoggerHandlers(Ljava/util/logging/Logger;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/util/logging/LogManager;->parseClassNames(Ljava/lang/String;)[Ljava/lang/String;
-HSPLjava/util/logging/LogManager;->readConfiguration()V
-HSPLjava/util/logging/LogManager;->readConfiguration(Ljava/io/InputStream;)V
-HSPLjava/util/logging/LogManager;->readPrimordialConfiguration()V
HSPLjava/util/logging/LogManager;->reset()V
HSPLjava/util/logging/LogManager;->resetLogger(Ljava/util/logging/Logger;)V
-HSPLjava/util/logging/LogManager;->setLevelsOnExistingLoggers()V
HSPLjava/util/logging/LogRecord;-><init>(Ljava/util/logging/Level;Ljava/lang/String;)V
HSPLjava/util/logging/LogRecord;->defaultThreadID()I
HSPLjava/util/logging/LogRecord;->getLevel()Ljava/util/logging/Level;
HSPLjava/util/logging/LogRecord;->getLoggerName()Ljava/lang/String;
HSPLjava/util/logging/LogRecord;->getMessage()Ljava/lang/String;
HSPLjava/util/logging/LogRecord;->getThrown()Ljava/lang/Throwable;
-HSPLjava/util/logging/Logger$LoggerBundle;-><init>(Ljava/lang/String;Ljava/util/ResourceBundle;Ljava/util/logging/Logger$1;)V
-HSPLjava/util/logging/Logger;-><init>(Ljava/lang/String;)V
+HSPLjava/util/logging/LogRecord;->setLoggerName(Ljava/lang/String;)V
+HSPLjava/util/logging/LogRecord;->setSourceClassName(Ljava/lang/String;)V
+HSPLjava/util/logging/LogRecord;->setSourceMethodName(Ljava/lang/String;)V
+HSPLjava/util/logging/LogRecord;->setThrown(Ljava/lang/Throwable;)V
+HSPLjava/util/logging/Logger$1;-><init>(Ljava/util/Locale;)V
+HSPLjava/util/logging/Logger$1;->run()Ljava/lang/Object;
+HSPLjava/util/logging/Logger$1;->run()Ljava/util/ResourceBundle;
+HSPLjava/util/logging/Logger$LoggerBundle;->get(Ljava/lang/String;Ljava/util/ResourceBundle;)Ljava/util/logging/Logger$LoggerBundle;
+HSPLjava/util/logging/Logger$LoggerBundle;->isSystemBundle()Z
HSPLjava/util/logging/Logger;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Ljava/util/logging/LogManager;Z)V
+HSPLjava/util/logging/Logger;->access$100()Ljava/util/logging/Logger$LoggerBundle;
HSPLjava/util/logging/Logger;->accessCheckedHandlers()[Ljava/util/logging/Handler;
+HSPLjava/util/logging/Logger;->addHandler(Ljava/util/logging/Handler;)V
+HSPLjava/util/logging/Logger;->checkPermission()V
+HSPLjava/util/logging/Logger;->demandLogger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/logging/Logger;
+HSPLjava/util/logging/Logger;->doLog(Ljava/util/logging/LogRecord;)V
HSPLjava/util/logging/Logger;->doSetParent(Ljava/util/logging/Logger;)V
HSPLjava/util/logging/Logger;->findResourceBundle(Ljava/lang/String;Z)Ljava/util/ResourceBundle;
+HSPLjava/util/logging/Logger;->findSystemResourceBundle(Ljava/util/Locale;)Ljava/util/ResourceBundle;
+HSPLjava/util/logging/Logger;->getCallersClassLoader()Ljava/lang/ClassLoader;
HSPLjava/util/logging/Logger;->getEffectiveLoggerBundle()Ljava/util/logging/Logger$LoggerBundle;
HSPLjava/util/logging/Logger;->getHandlers()[Ljava/util/logging/Handler;
HSPLjava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
HSPLjava/util/logging/Logger;->getName()Ljava/lang/String;
HSPLjava/util/logging/Logger;->getParent()Ljava/util/logging/Logger;
+HSPLjava/util/logging/Logger;->getPlatformLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
HSPLjava/util/logging/Logger;->getResourceBundle()Ljava/util/ResourceBundle;
HSPLjava/util/logging/Logger;->getResourceBundleName()Ljava/lang/String;
HSPLjava/util/logging/Logger;->getUseParentHandlers()Z
HSPLjava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z
-HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
-HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
+HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
HSPLjava/util/logging/Logger;->log(Ljava/util/logging/LogRecord;)V
HSPLjava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
HSPLjava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
HSPLjava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
HSPLjava/util/logging/Logger;->removeChildLogger(Ljava/util/logging/LogManager$LoggerWeakRef;)V
+HSPLjava/util/logging/Logger;->setCallersClassLoaderRef(Ljava/lang/Class;)V
HSPLjava/util/logging/Logger;->setLevel(Ljava/util/logging/Level;)V
HSPLjava/util/logging/Logger;->setLogManager(Ljava/util/logging/LogManager;)V
HSPLjava/util/logging/Logger;->setParent(Ljava/util/logging/Logger;)V
HSPLjava/util/logging/Logger;->setupResourceInfo(Ljava/lang/String;Ljava/lang/Class;)V
HSPLjava/util/logging/Logger;->updateEffectiveLevel()V
-HSPLjava/util/logging/LoggingProxyImpl;-><init>()V
-HSPLjava/util/prefs/FileSystemPreferences$3;-><init>()V
-HSPLjava/util/prefs/Preferences;->factory()Ljava/util/prefs/PreferencesFactory;
+HSPLjava/util/logging/LoggingProxyImpl;->getLogger(Ljava/lang/String;)Ljava/lang/Object;
+HSPLjava/util/logging/LoggingProxyImpl;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
+HSPLjava/util/regex/Matcher;-><init>(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
HSPLjava/util/regex/Matcher;->appendEvaluated(Ljava/lang/StringBuffer;Ljava/lang/String;)V
+HSPLjava/util/regex/Matcher;->appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;
+HSPLjava/util/regex/Matcher;->appendTail(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
HSPLjava/util/regex/Matcher;->end()I
HSPLjava/util/regex/Matcher;->end(I)I
+HSPLjava/util/regex/Matcher;->ensureMatch()V
HSPLjava/util/regex/Matcher;->find()Z
HSPLjava/util/regex/Matcher;->find(I)Z
+HSPLjava/util/regex/Matcher;->getSubSequence(II)Ljava/lang/CharSequence;
+HSPLjava/util/regex/Matcher;->getTextLength()I
HSPLjava/util/regex/Matcher;->group()Ljava/lang/String;
HSPLjava/util/regex/Matcher;->group(I)Ljava/lang/String;
HSPLjava/util/regex/Matcher;->groupCount()I
@@ -30142,6 +14340,7 @@ HSPLjava/util/regex/Matcher;->matches()Z
HSPLjava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
HSPLjava/util/regex/Matcher;->replaceAll(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/regex/Matcher;->replaceFirst(Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/util/regex/Matcher;->reset()Ljava/util/regex/Matcher;
HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;II)Ljava/util/regex/Matcher;
HSPLjava/util/regex/Matcher;->resetForInput()V
@@ -30156,262 +14355,197 @@ HSPLjava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Patter
HSPLjava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;
HSPLjava/util/regex/Pattern;->fastSplit(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
HSPLjava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
+HSPLjava/util/regex/Pattern;->matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z
HSPLjava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;)[Ljava/lang/String;
HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;I)[Ljava/lang/String;
-HSPLjava/util/stream/-$$Lambda$Abl7XfE0Z4AgkViLas9vhsO9mjw;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$Collectors$0y_EMl863H_U7B4kxyGscB4vAag;-><init>()V
-HSPLjava/util/stream/-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$Collectors$SMVdf7W0ks2OOmS3zJw7DHc-Nhc;-><init>()V
-HSPLjava/util/stream/-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw;-><init>()V
-HSPLjava/util/stream/-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$Collectors$iab6bVO3ydceISRiUEq_MRHYzoU;-><init>()V
-HSPLjava/util/stream/-$$Lambda$Collectors$kXZFmh6iM6xf9lJWimhd2Ef6NEs;-><init>()V
+HSPLjava/util/stream/-$$Lambda$Collectors$TzSZZBK0laNSWMge_uuxANwkkMo;-><init>(Ljava/util/function/BinaryOperator;)V
+HSPLjava/util/stream/-$$Lambda$Collectors$nKlT6uFghrTzWO44dlFAJFeRr34;-><init>(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)V
HSPLjava/util/stream/-$$Lambda$Collectors$nKlT6uFghrTzWO44dlFAJFeRr34;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLjava/util/stream/-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
HSPLjava/util/stream/-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60;->get()Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;-><init>()V
HSPLjava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;-><init>()V
-HSPLjava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;->applyAsInt(Ljava/lang/Object;)I
-HSPLjava/util/stream/-$$Lambda$IntPipeline$ozedusDMANE_B8aDthWCd1L-na4;-><init>()V
-HSPLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;->get()Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$MatchOps$emK14UX33I4-nqH2o5l7hLEVAy8;->get()Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;-><init>()V
+PLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;-><init>(Ljava/util/stream/MatchOps$MatchKind;Ljava/util/function/Predicate;)V
+PLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;->get()Ljava/lang/Object;
HSPLjava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;->applyAsLong(Ljava/lang/Object;)J
-HSPLjava/util/stream/-$$Lambda$bjSXRjZ5UYwAzkW-XPKwqbJ9BRQ;-><init>()V
-HSPLjava/util/stream/-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40;-><init>()V
HSPLjava/util/stream/-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40;->applyAsLong(JJ)J
-HSPLjava/util/stream/-$$Lambda$i0Jl5dMkfWphZviqg6QdkkWPWRI;-><init>()V
-HSPLjava/util/stream/-$$Lambda$ihOtgw0eLCrsEBOphyN7SwoAlDg;-><init>()V
HSPLjava/util/stream/-$$Lambda$ihOtgw0eLCrsEBOphyN7SwoAlDg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A;-><init>()V
HSPLjava/util/stream/-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag;-><init>()V
-HSPLjava/util/stream/-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag;->applyAsInt(II)I
-HSPLjava/util/stream/-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is;-><init>()V
HSPLjava/util/stream/-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is;->get()Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0;-><init>()V
HSPLjava/util/stream/-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0;->get()Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;-><init>()V
HSPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;->get()Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo;-><init>()V
-HSPLjava/util/stream/-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$uJ6CkL42Bk73jN5EzP0Fx7o1eVA;-><init>()V
HSPLjava/util/stream/-$$Lambda$uJ6CkL42Bk73jN5EzP0Fx7o1eVA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/stream/-$$Lambda$wFoiz-RiPqYBPe0X4aSzbj2iL3g;-><init>()V
-HSPLjava/util/stream/-$$Lambda$wFoiz-RiPqYBPe0X4aSzbj2iL3g;->apply(I)Ljava/lang/Object;
-HSPLjava/util/stream/-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60;-><init>()V
HSPLjava/util/stream/-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60;->get()Ljava/lang/Object;
+HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/Spliterator;IZ)V
HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
-HSPLjava/util/stream/AbstractPipeline;->close()V
HSPLjava/util/stream/AbstractPipeline;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
+HSPLjava/util/stream/AbstractPipeline;->copyIntoWithCancel(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
+HSPLjava/util/stream/AbstractPipeline;->evaluate(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
HSPLjava/util/stream/AbstractPipeline;->evaluate(Ljava/util/stream/TerminalOp;)Ljava/lang/Object;
HSPLjava/util/stream/AbstractPipeline;->evaluateToArrayNode(Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
+HSPLjava/util/stream/AbstractPipeline;->exactOutputSizeIfKnown(Ljava/util/Spliterator;)J
+HSPLjava/util/stream/AbstractPipeline;->getStreamAndOpFlags()I
HSPLjava/util/stream/AbstractPipeline;->isParallel()Z
-HSPLjava/util/stream/AbstractPipeline;->sequential()Ljava/util/stream/BaseStream;
HSPLjava/util/stream/AbstractPipeline;->sourceSpliterator(I)Ljava/util/Spliterator;
-HSPLjava/util/stream/AbstractPipeline;->sourceStageSpliterator()Ljava/util/Spliterator;
-HSPLjava/util/stream/AbstractPipeline;->spliterator()Ljava/util/Spliterator;
HSPLjava/util/stream/AbstractPipeline;->wrapAndCopyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/Collector$Characteristics;-><init>(Ljava/lang/String;I)V
-HSPLjava/util/stream/Collector$Characteristics;->values()[Ljava/util/stream/Collector$Characteristics;
-HSPLjava/util/stream/Collector;->of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/AbstractPipeline;->wrapSink(Ljava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/AbstractSpinedBuffer;-><init>()V
+HSPLjava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/Set;)V
+HSPLjava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;Ljava/util/Set;)V
HSPLjava/util/stream/Collectors$CollectorImpl;->accumulator()Ljava/util/function/BiConsumer;
HSPLjava/util/stream/Collectors$CollectorImpl;->characteristics()Ljava/util/Set;
HSPLjava/util/stream/Collectors$CollectorImpl;->combiner()Ljava/util/function/BinaryOperator;
HSPLjava/util/stream/Collectors$CollectorImpl;->finisher()Ljava/util/function/Function;
HSPLjava/util/stream/Collectors$CollectorImpl;->supplier()Ljava/util/function/Supplier;
-HSPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;)Ljava/util/stream/Collector;
-HSPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->access$000()Ljava/util/function/Function;
+HSPLjava/util/stream/Collectors;->castingIdentity()Ljava/util/function/Function;
HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
-HSPLjava/util/stream/Collectors;->toCollection(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->lambda$joining$6(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
+HSPLjava/util/stream/Collectors;->lambda$toMap$58(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/Map;Ljava/lang/Object;)V
+HSPLjava/util/stream/Collectors;->mapMerger(Ljava/util/function/BinaryOperator;)Ljava/util/function/BinaryOperator;
+HSPLjava/util/stream/Collectors;->throwingMerger()Ljava/util/function/BinaryOperator;
HSPLjava/util/stream/Collectors;->toList()Ljava/util/stream/Collector;
HSPLjava/util/stream/Collectors;->toMap(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->toMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
HSPLjava/util/stream/Collectors;->toSet()Ljava/util/stream/Collector;
+HSPLjava/util/stream/DistinctOps$1$2;-><init>(Ljava/util/stream/DistinctOps$1;Ljava/util/stream/Sink;)V
HSPLjava/util/stream/DistinctOps$1$2;->accept(Ljava/lang/Object;)V
HSPLjava/util/stream/DistinctOps$1$2;->begin(J)V
HSPLjava/util/stream/DistinctOps$1$2;->end()V
+HSPLjava/util/stream/DistinctOps$1;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
HSPLjava/util/stream/DistinctOps$1;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/DistinctOps;->makeRef(Ljava/util/stream/AbstractPipeline;)Ljava/util/stream/ReferencePipeline;
+HSPLjava/util/stream/FindOps$FindOp;-><init>(ZLjava/util/stream/StreamShape;Ljava/lang/Object;Ljava/util/function/Predicate;Ljava/util/function/Supplier;)V
HSPLjava/util/stream/FindOps$FindOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
HSPLjava/util/stream/FindOps$FindOp;->getOpFlags()I
+HSPLjava/util/stream/FindOps$FindSink$OfRef;-><init>()V
HSPLjava/util/stream/FindOps$FindSink$OfRef;->get()Ljava/lang/Object;
+HSPLjava/util/stream/FindOps$FindSink$OfRef;->get()Ljava/util/Optional;
+HSPLjava/util/stream/FindOps$FindSink;-><init>()V
HSPLjava/util/stream/FindOps$FindSink;->accept(Ljava/lang/Object;)V
HSPLjava/util/stream/FindOps$FindSink;->cancellationRequested()Z
-HSPLjava/util/stream/ForEachOps$ForEachOp$OfRef;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/FindOps;->makeRef(Z)Ljava/util/stream/TerminalOp;
+HSPLjava/util/stream/ForEachOps$ForEachOp$OfRef;-><init>(Ljava/util/function/Consumer;Z)V
+HSPLjava/util/stream/ForEachOps$ForEachOp;-><init>(Z)V
HSPLjava/util/stream/ForEachOps$ForEachOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
HSPLjava/util/stream/ForEachOps$ForEachOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Void;
HSPLjava/util/stream/ForEachOps$ForEachOp;->get()Ljava/lang/Void;
HSPLjava/util/stream/ForEachOps$ForEachOp;->getOpFlags()I
-HSPLjava/util/stream/IntPipeline$4$1;->accept(I)V
-HSPLjava/util/stream/IntPipeline$4;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/ForEachOps;->makeRef(Ljava/util/function/Consumer;Z)Ljava/util/stream/TerminalOp;
+HSPLjava/util/stream/IntPipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/IntPipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
HSPLjava/util/stream/IntPipeline$StatelessOp;->opIsStateful()Z
-HSPLjava/util/stream/IntPipeline;->anyMatch(Ljava/util/function/IntPredicate;)Z
-HSPLjava/util/stream/IntPipeline;->boxed()Ljava/util/stream/Stream;
-HSPLjava/util/stream/IntPipeline;->distinct()Ljava/util/stream/IntStream;
-HSPLjava/util/stream/IntPipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
+HSPLjava/util/stream/IntPipeline;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/IntPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
HSPLjava/util/stream/IntPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-HSPLjava/util/stream/IntPipeline;->sum()I
HSPLjava/util/stream/IntPipeline;->toArray()[I
-HSPLjava/util/stream/IntStream;->of([I)Ljava/util/stream/IntStream;
+HSPLjava/util/stream/LongPipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
HSPLjava/util/stream/LongPipeline$StatelessOp;->opIsStateful()Z
-HSPLjava/util/stream/MatchOps$1MatchSink;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/MatchOps$BooleanTerminalSink;->cancellationRequested()Z
-HSPLjava/util/stream/MatchOps$BooleanTerminalSink;->getAndClearState()Z
-HSPLjava/util/stream/MatchOps$MatchKind;-><init>(Ljava/lang/String;IZZ)V
-HSPLjava/util/stream/MatchOps$MatchOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
-HSPLjava/util/stream/MatchOps$MatchOp;->getOpFlags()I
+HSPLjava/util/stream/LongPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
+HSPLjava/util/stream/LongPipeline;->reduce(JLjava/util/function/LongBinaryOperator;)J
+HSPLjava/util/stream/LongPipeline;->sum()J
+PLjava/util/stream/MatchOps$1MatchSink;-><init>(Ljava/util/stream/MatchOps$MatchKind;Ljava/util/function/Predicate;)V
+PLjava/util/stream/MatchOps$1MatchSink;->accept(Ljava/lang/Object;)V
+PLjava/util/stream/MatchOps$BooleanTerminalSink;-><init>(Ljava/util/stream/MatchOps$MatchKind;)V
+PLjava/util/stream/MatchOps$BooleanTerminalSink;->cancellationRequested()Z
+PLjava/util/stream/MatchOps$BooleanTerminalSink;->getAndClearState()Z
+PLjava/util/stream/MatchOps$MatchKind;->access$000(Ljava/util/stream/MatchOps$MatchKind;)Z
+PLjava/util/stream/MatchOps$MatchKind;->access$100(Ljava/util/stream/MatchOps$MatchKind;)Z
+PLjava/util/stream/MatchOps$MatchOp;-><init>(Ljava/util/stream/StreamShape;Ljava/util/stream/MatchOps$MatchKind;Ljava/util/function/Supplier;)V
+PLjava/util/stream/MatchOps$MatchOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Boolean;
+PLjava/util/stream/MatchOps$MatchOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
+PLjava/util/stream/MatchOps$MatchOp;->getOpFlags()I
+PLjava/util/stream/MatchOps;->lambda$makeRef$0(Ljava/util/stream/MatchOps$MatchKind;Ljava/util/function/Predicate;)Ljava/util/stream/MatchOps$BooleanTerminalSink;
+PLjava/util/stream/MatchOps;->makeRef(Ljava/util/function/Predicate;Ljava/util/stream/MatchOps$MatchKind;)Ljava/util/stream/TerminalOp;
HSPLjava/util/stream/Node;->getChildCount()I
-HSPLjava/util/stream/Nodes$ArrayNode;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HSPLjava/util/stream/Nodes$EmptyNode$OfDouble;-><init>()V
-HSPLjava/util/stream/Nodes$EmptyNode$OfInt;-><init>()V
-HSPLjava/util/stream/Nodes$EmptyNode$OfLong;-><init>()V
-HSPLjava/util/stream/Nodes$EmptyNode$OfRef;-><init>(Ljava/util/stream/Nodes$1;)V
-HSPLjava/util/stream/Nodes$FixedNodeBuilder;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/Nodes$FixedNodeBuilder;->begin(J)V
-HSPLjava/util/stream/Nodes$FixedNodeBuilder;->build()Ljava/util/stream/Node;
-HSPLjava/util/stream/Nodes$FixedNodeBuilder;->end()V
-HSPLjava/util/stream/Nodes$IntArrayNode;->asPrimitiveArray()Ljava/lang/Object;
-HSPLjava/util/stream/Nodes$IntArrayNode;->asPrimitiveArray()[I
-HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->accept(I)V
-HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->begin(J)V
-HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->build()Ljava/util/stream/Node$OfInt;
-HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->build()Ljava/util/stream/Node;
-HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->end()V
-HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->accept(I)V
-HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->asPrimitiveArray()Ljava/lang/Object;
-HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->begin(J)V
-HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->build()Ljava/util/stream/Node;
-HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->end()V
-HSPLjava/util/stream/Nodes$SpinedNodeBuilder;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/Nodes$SpinedNodeBuilder;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HSPLjava/util/stream/Nodes$SpinedNodeBuilder;->begin(J)V
-HSPLjava/util/stream/Nodes$SpinedNodeBuilder;->build()Ljava/util/stream/Node;
-HSPLjava/util/stream/Nodes$SpinedNodeBuilder;->end()V
+HSPLjava/util/stream/Nodes;->builder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
HSPLjava/util/stream/Nodes;->flatten(Ljava/util/stream/Node;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
HSPLjava/util/stream/Nodes;->flattenInt(Ljava/util/stream/Node$OfInt;)Ljava/util/stream/Node$OfInt;
+HSPLjava/util/stream/Nodes;->intBuilder(J)Ljava/util/stream/Node$Builder$OfInt;
HSPLjava/util/stream/PipelineHelper;-><init>()V
-HSPLjava/util/stream/ReduceOps$2;->makeSink()Ljava/util/stream/ReduceOps$2ReducingSink;
-HSPLjava/util/stream/ReduceOps$2;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
-HSPLjava/util/stream/ReduceOps$2ReducingSink;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/ReduceOps$2ReducingSink;->begin(J)V
-HSPLjava/util/stream/ReduceOps$2ReducingSink;->get()Ljava/lang/Object;
-HSPLjava/util/stream/ReduceOps$2ReducingSink;->get()Ljava/util/Optional;
+HSPLjava/util/stream/ReduceOps$3;-><init>(Ljava/util/stream/StreamShape;Ljava/util/function/BinaryOperator;Ljava/util/function/BiConsumer;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)V
HSPLjava/util/stream/ReduceOps$3;->getOpFlags()I
HSPLjava/util/stream/ReduceOps$3;->makeSink()Ljava/util/stream/ReduceOps$3ReducingSink;
HSPLjava/util/stream/ReduceOps$3;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
+HSPLjava/util/stream/ReduceOps$3ReducingSink;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;)V
HSPLjava/util/stream/ReduceOps$3ReducingSink;->accept(Ljava/lang/Object;)V
HSPLjava/util/stream/ReduceOps$3ReducingSink;->begin(J)V
-HSPLjava/util/stream/ReduceOps$5;->makeSink()Ljava/util/stream/ReduceOps$5ReducingSink;
-HSPLjava/util/stream/ReduceOps$5;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->accept(I)V
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->begin(J)V
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->get()Ljava/lang/Integer;
-HSPLjava/util/stream/ReduceOps$5ReducingSink;->get()Ljava/lang/Object;
+HSPLjava/util/stream/ReduceOps$8;-><init>(Ljava/util/stream/StreamShape;Ljava/util/function/LongBinaryOperator;J)V
HSPLjava/util/stream/ReduceOps$8;->makeSink()Ljava/util/stream/ReduceOps$8ReducingSink;
HSPLjava/util/stream/ReduceOps$8;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
+HSPLjava/util/stream/ReduceOps$8ReducingSink;-><init>(JLjava/util/function/LongBinaryOperator;)V
HSPLjava/util/stream/ReduceOps$8ReducingSink;->accept(J)V
HSPLjava/util/stream/ReduceOps$8ReducingSink;->begin(J)V
HSPLjava/util/stream/ReduceOps$8ReducingSink;->get()Ljava/lang/Long;
HSPLjava/util/stream/ReduceOps$8ReducingSink;->get()Ljava/lang/Object;
+HSPLjava/util/stream/ReduceOps$Box;-><init>()V
HSPLjava/util/stream/ReduceOps$Box;->get()Ljava/lang/Object;
HSPLjava/util/stream/ReduceOps$ReduceOp;-><init>(Ljava/util/stream/StreamShape;)V
HSPLjava/util/stream/ReduceOps$ReduceOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
+HSPLjava/util/stream/ReduceOps;->makeLong(JLjava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp;
+HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/stream/Collector;)Ljava/util/stream/TerminalOp;
+HSPLjava/util/stream/ReferencePipeline$2$1;-><init>(Ljava/util/stream/ReferencePipeline$2;Ljava/util/stream/Sink;)V
HSPLjava/util/stream/ReferencePipeline$2$1;->accept(Ljava/lang/Object;)V
HSPLjava/util/stream/ReferencePipeline$2$1;->begin(J)V
+HSPLjava/util/stream/ReferencePipeline$2;-><init>(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Predicate;)V
HSPLjava/util/stream/ReferencePipeline$2;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/ReferencePipeline$3$1;-><init>(Ljava/util/stream/ReferencePipeline$3;Ljava/util/stream/Sink;)V
HSPLjava/util/stream/ReferencePipeline$3$1;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/ReferencePipeline$3;-><init>(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Function;)V
HSPLjava/util/stream/ReferencePipeline$3;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/ReferencePipeline$4$1;-><init>(Ljava/util/stream/ReferencePipeline$4;Ljava/util/stream/Sink;)V
HSPLjava/util/stream/ReferencePipeline$4$1;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/ReferencePipeline$4;-><init>(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/ToIntFunction;)V
HSPLjava/util/stream/ReferencePipeline$4;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/ReferencePipeline$5$1;-><init>(Ljava/util/stream/ReferencePipeline$5;Ljava/util/stream/Sink;)V
HSPLjava/util/stream/ReferencePipeline$5$1;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/ReferencePipeline$5;-><init>(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/ToLongFunction;)V
HSPLjava/util/stream/ReferencePipeline$5;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/ReferencePipeline$7$1;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/ReferencePipeline$7$1;->begin(J)V
-HSPLjava/util/stream/ReferencePipeline$7;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/ReferencePipeline$Head;->forEach(Ljava/util/function/Consumer;)V
+HSPLjava/util/stream/ReferencePipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/ReferencePipeline$StatefulOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
HSPLjava/util/stream/ReferencePipeline$StatefulOp;->opIsStateful()Z
+HSPLjava/util/stream/ReferencePipeline$StatelessOp;-><init>(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
HSPLjava/util/stream/ReferencePipeline$StatelessOp;->opIsStateful()Z
-HSPLjava/util/stream/ReferencePipeline;->anyMatch(Ljava/util/function/Predicate;)Z
+HSPLjava/util/stream/ReferencePipeline;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/ReferencePipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
+PLjava/util/stream/ReferencePipeline;->anyMatch(Ljava/util/function/Predicate;)Z
HSPLjava/util/stream/ReferencePipeline;->collect(Ljava/util/stream/Collector;)Ljava/lang/Object;
HSPLjava/util/stream/ReferencePipeline;->count()J
+HSPLjava/util/stream/ReferencePipeline;->distinct()Ljava/util/stream/Stream;
HSPLjava/util/stream/ReferencePipeline;->filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
-HSPLjava/util/stream/ReferencePipeline;->findAny()Ljava/util/Optional;
HSPLjava/util/stream/ReferencePipeline;->findFirst()Ljava/util/Optional;
-HSPLjava/util/stream/ReferencePipeline;->flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream;
HSPLjava/util/stream/ReferencePipeline;->forEach(Ljava/util/function/Consumer;)V
HSPLjava/util/stream/ReferencePipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-HSPLjava/util/stream/ReferencePipeline;->limit(J)Ljava/util/stream/Stream;
+HSPLjava/util/stream/ReferencePipeline;->lambda$count$2(Ljava/lang/Object;)J
HSPLjava/util/stream/ReferencePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
HSPLjava/util/stream/ReferencePipeline;->map(Ljava/util/function/Function;)Ljava/util/stream/Stream;
HSPLjava/util/stream/ReferencePipeline;->mapToInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
-HSPLjava/util/stream/ReferencePipeline;->max(Ljava/util/Comparator;)Ljava/util/Optional;
-HSPLjava/util/stream/ReferencePipeline;->noneMatch(Ljava/util/function/Predicate;)Z
-HSPLjava/util/stream/ReferencePipeline;->sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;
+HSPLjava/util/stream/ReferencePipeline;->mapToLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;
HSPLjava/util/stream/ReferencePipeline;->toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HSPLjava/util/stream/Sink$ChainedInt;->begin(J)V
+HSPLjava/util/stream/Sink$ChainedInt;-><init>(Ljava/util/stream/Sink;)V
HSPLjava/util/stream/Sink$ChainedInt;->end()V
+HSPLjava/util/stream/Sink$ChainedReference;-><init>(Ljava/util/stream/Sink;)V
HSPLjava/util/stream/Sink$ChainedReference;->begin(J)V
HSPLjava/util/stream/Sink$ChainedReference;->cancellationRequested()Z
HSPLjava/util/stream/Sink$ChainedReference;->end()V
HSPLjava/util/stream/Sink;->begin(J)V
-HSPLjava/util/stream/Sink;->cancellationRequested()Z
HSPLjava/util/stream/Sink;->end()V
-HSPLjava/util/stream/SliceOps$1$1;-><init>(Ljava/util/stream/SliceOps$1;Ljava/util/stream/Sink;)V
-HSPLjava/util/stream/SliceOps$1$1;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/SliceOps$1$1;->begin(J)V
-HSPLjava/util/stream/SliceOps$1$1;->cancellationRequested()Z
-HSPLjava/util/stream/SliceOps$1;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/SliceOps;->makeRef(Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/Stream;
-HSPLjava/util/stream/SortedOps$OfRef;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/SortedOps$RefSortingSink;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/SortedOps$RefSortingSink;->begin(J)V
-HSPLjava/util/stream/SortedOps$RefSortingSink;->end()V
-HSPLjava/util/stream/SpinedBuffer$OfInt;->arrayLength(Ljava/lang/Object;)I
-HSPLjava/util/stream/SpinedBuffer$OfInt;->arrayLength([I)I
-HSPLjava/util/stream/SpinedBuffer$OfInt;->count()J
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->capacity()J
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->copyInto(Ljava/lang/Object;I)V
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->ensureCapacity(J)V
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->preAccept()V
-HSPLjava/util/stream/SpinedBuffer;->accept(Ljava/lang/Object;)V
-HSPLjava/util/stream/SpinedBuffer;->capacity()J
-HSPLjava/util/stream/SpinedBuffer;->clear()V
-HSPLjava/util/stream/SpinedBuffer;->copyInto([Ljava/lang/Object;I)V
-HSPLjava/util/stream/SpinedBuffer;->count()J
-HSPLjava/util/stream/SpinedBuffer;->ensureCapacity(J)V
-HSPLjava/util/stream/Stream;->concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
-HPLjava/util/stream/Stream;->empty()Ljava/util/stream/Stream;
-HSPLjava/util/stream/Stream;->generate(Ljava/util/function/Supplier;)Ljava/util/stream/Stream;
-HSPLjava/util/stream/Stream;->of([Ljava/lang/Object;)Ljava/util/stream/Stream;
-HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->build()Ljava/util/Map;
-HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->clear(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->mask(Ljava/util/stream/StreamOpFlag$Type;Ljava/lang/Integer;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->set(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->setAndClear(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-HSPLjava/util/stream/StreamOpFlag$Type;-><init>(Ljava/lang/String;I)V
-HSPLjava/util/stream/StreamOpFlag$Type;->values()[Ljava/util/stream/StreamOpFlag$Type;
-HSPLjava/util/stream/StreamOpFlag;-><init>(Ljava/lang/String;IILjava/util/stream/StreamOpFlag$MaskBuilder;)V
-HSPLjava/util/stream/StreamOpFlag;->createFlagMask()I
-HSPLjava/util/stream/StreamOpFlag;->createMask(Ljava/util/stream/StreamOpFlag$Type;)I
-HSPLjava/util/stream/StreamOpFlag;->set(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
-HSPLjava/util/stream/StreamShape;-><init>(Ljava/lang/String;I)V
-HSPLjava/util/stream/StreamSpliterators$InfiniteSupplyingSpliterator$OfRef;->tryAdvance(Ljava/util/function/Consumer;)Z
-HSPLjava/util/stream/StreamSpliterators$InfiniteSupplyingSpliterator;->characteristics()I
-HSPLjava/util/stream/Streams$ConcatSpliterator;->characteristics()I
-HSPLjava/util/stream/Streams$ConcatSpliterator;->estimateSize()J
-HSPLjava/util/stream/Streams$ConcatSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/stream/Streams$ConcatSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
+HSPLjava/util/stream/StreamOpFlag;->combineOpFlags(II)I
+HSPLjava/util/stream/StreamOpFlag;->fromCharacteristics(Ljava/util/Spliterator;)I
+HSPLjava/util/stream/StreamOpFlag;->getMask(I)I
+HSPLjava/util/stream/StreamOpFlag;->isKnown(I)Z
+HSPLjava/util/stream/StreamSupport;->intStream(Ljava/util/Spliterator$OfInt;Z)Ljava/util/stream/IntStream;
+HSPLjava/util/stream/StreamSupport;->stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
HSPLjava/util/stream/TerminalOp;->getOpFlags()I
-HSPLjava/util/zip/Adler32;-><init>()V
-HSPLjava/util/zip/Adler32;->getValue()J
-HSPLjava/util/zip/Adler32;->update([B)V
HSPLjava/util/zip/CRC32;-><init>()V
HSPLjava/util/zip/CRC32;->getValue()J
HSPLjava/util/zip/CRC32;->reset()V
HSPLjava/util/zip/CRC32;->update(I)V
-HSPLjava/util/zip/CRC32;->update([B)V
HSPLjava/util/zip/CRC32;->update([BII)V
+HSPLjava/util/zip/CheckedInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V
HSPLjava/util/zip/CheckedInputStream;->read()I
+HSPLjava/util/zip/CheckedInputStream;->read([BII)I
HSPLjava/util/zip/Deflater;-><init>(IZ)V
HSPLjava/util/zip/Deflater;->deflate([BII)I
HSPLjava/util/zip/Deflater;->deflate([BIII)I
@@ -30424,135 +14558,187 @@ HSPLjava/util/zip/Deflater;->getBytesRead()J
HSPLjava/util/zip/Deflater;->getTotalIn()I
HSPLjava/util/zip/Deflater;->needsInput()Z
HSPLjava/util/zip/Deflater;->setInput([BII)V
-HSPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;IZ)V
HSPLjava/util/zip/DeflaterOutputStream;->close()V
HSPLjava/util/zip/DeflaterOutputStream;->deflate()V
-HSPLjava/util/zip/DeflaterOutputStream;->finish()V
HSPLjava/util/zip/DeflaterOutputStream;->flush()V
HSPLjava/util/zip/DeflaterOutputStream;->write([BII)V
+HSPLjava/util/zip/GZIPInputStream$1;-><init>(Ljava/util/zip/GZIPInputStream;Ljava/io/InputStream;)V
HSPLjava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
HSPLjava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;I)V
HSPLjava/util/zip/GZIPInputStream;->close()V
+HSPLjava/util/zip/GZIPInputStream;->ensureOpen()V
HSPLjava/util/zip/GZIPInputStream;->read([BII)I
HSPLjava/util/zip/GZIPInputStream;->readHeader(Ljava/io/InputStream;)I
HSPLjava/util/zip/GZIPInputStream;->readTrailer()Z
HSPLjava/util/zip/GZIPInputStream;->readUByte(Ljava/io/InputStream;)I
+HSPLjava/util/zip/GZIPInputStream;->readUInt(Ljava/io/InputStream;)J
+HSPLjava/util/zip/GZIPInputStream;->readUShort(Ljava/io/InputStream;)I
+HSPLjava/util/zip/GZIPInputStream;->skipBytes(Ljava/io/InputStream;I)V
HSPLjava/util/zip/GZIPOutputStream;-><init>(Ljava/io/OutputStream;)V
+HSPLjava/util/zip/GZIPOutputStream;-><init>(Ljava/io/OutputStream;IZ)V
HSPLjava/util/zip/GZIPOutputStream;->finish()V
HSPLjava/util/zip/GZIPOutputStream;->write([BII)V
+HSPLjava/util/zip/GZIPOutputStream;->writeHeader()V
+HSPLjava/util/zip/GZIPOutputStream;->writeInt(I[BI)V
+HSPLjava/util/zip/GZIPOutputStream;->writeShort(I[BI)V
+HSPLjava/util/zip/GZIPOutputStream;->writeTrailer([BI)V
HSPLjava/util/zip/Inflater;-><init>(Z)V
HSPLjava/util/zip/Inflater;->end()V
HSPLjava/util/zip/Inflater;->ended()Z
HSPLjava/util/zip/Inflater;->ensureOpen()V
HSPLjava/util/zip/Inflater;->finalize()V
HSPLjava/util/zip/Inflater;->finished()Z
+HSPLjava/util/zip/Inflater;->getBytesRead()J
HSPLjava/util/zip/Inflater;->getBytesWritten()J
HSPLjava/util/zip/Inflater;->getRemaining()I
HSPLjava/util/zip/Inflater;->getTotalOut()I
HSPLjava/util/zip/Inflater;->inflate([BII)I
HSPLjava/util/zip/Inflater;->needsDictionary()Z
HSPLjava/util/zip/Inflater;->needsInput()Z
+HSPLjava/util/zip/Inflater;->reset()V
HSPLjava/util/zip/Inflater;->setInput([BII)V
HSPLjava/util/zip/InflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V
HSPLjava/util/zip/InflaterInputStream;->available()I
HSPLjava/util/zip/InflaterInputStream;->close()V
+HSPLjava/util/zip/InflaterInputStream;->ensureOpen()V
HSPLjava/util/zip/InflaterInputStream;->fill()V
HSPLjava/util/zip/InflaterInputStream;->read()I
HSPLjava/util/zip/InflaterInputStream;->read([BII)I
+HSPLjava/util/zip/ZStreamRef;-><init>(J)V
HSPLjava/util/zip/ZStreamRef;->address()J
HSPLjava/util/zip/ZStreamRef;->clear()V
+HSPLjava/util/zip/ZipCoder;-><init>(Ljava/nio/charset/Charset;)V
+HSPLjava/util/zip/ZipCoder;->decoder()Ljava/nio/charset/CharsetDecoder;
+HSPLjava/util/zip/ZipCoder;->encoder()Ljava/nio/charset/CharsetEncoder;
+HSPLjava/util/zip/ZipCoder;->get(Ljava/nio/charset/Charset;)Ljava/util/zip/ZipCoder;
HSPLjava/util/zip/ZipCoder;->getBytes(Ljava/lang/String;)[B
+HSPLjava/util/zip/ZipCoder;->isUTF8()Z
HSPLjava/util/zip/ZipCoder;->toString([BI)Ljava/lang/String;
-HSPLjava/util/zip/ZipEntry;-><init>(Ljava/lang/String;Ljava/lang/String;JJJII[BJ)V
+HSPLjava/util/zip/ZipEntry;-><init>()V
+HSPLjava/util/zip/ZipEntry;-><init>(Ljava/lang/String;)V
HSPLjava/util/zip/ZipEntry;-><init>(Ljava/util/zip/ZipEntry;)V
-HSPLjava/util/zip/ZipEntry;->getCompressedSize()J
-HSPLjava/util/zip/ZipEntry;->getDataOffset()J
HSPLjava/util/zip/ZipEntry;->getMethod()I
HSPLjava/util/zip/ZipEntry;->getName()Ljava/lang/String;
HSPLjava/util/zip/ZipEntry;->getSize()J
HSPLjava/util/zip/ZipEntry;->isDirectory()Z
HSPLjava/util/zip/ZipEntry;->setExtra0([BZ)V
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;-><init>(Ljava/util/zip/ZipFile;)V
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasMoreElements()Z
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasNext()Z
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->next()Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/lang/Object;
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;-><init>(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipFile$ZipFileInputStream;Ljava/util/zip/Inflater;I)V
HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->available()I
HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->close()V
HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->fill()V
HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->finalize()V
+HSPLjava/util/zip/ZipFile$ZipFileInputStream;-><init>(Ljava/util/zip/ZipFile;J)V
HSPLjava/util/zip/ZipFile$ZipFileInputStream;->close()V
HSPLjava/util/zip/ZipFile$ZipFileInputStream;->finalize()V
-HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read()I
HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read([BII)I
HSPLjava/util/zip/ZipFile$ZipFileInputStream;->size()J
+HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;I)V
HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;ILjava/nio/charset/Charset;)V
HSPLjava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V
+HSPLjava/util/zip/ZipFile;->access$000(Ljava/util/zip/ZipFile;)Ljava/util/Map;
+HSPLjava/util/zip/ZipFile;->access$100(Ljava/util/zip/ZipFile;Ljava/util/zip/Inflater;)V
+HSPLjava/util/zip/ZipFile;->access$1000(JJ)V
+HSPLjava/util/zip/ZipFile;->access$1100(J)J
+HSPLjava/util/zip/ZipFile;->access$1200(J)J
+HSPLjava/util/zip/ZipFile;->access$1300(Ljava/util/zip/ZipFile;)V
+HSPLjava/util/zip/ZipFile;->access$1400(JJJ[BII)I
+HSPLjava/util/zip/ZipFile;->access$200(Ljava/util/zip/ZipFile;)V
+HSPLjava/util/zip/ZipFile;->access$300(Ljava/util/zip/ZipFile;)I
+HSPLjava/util/zip/ZipFile;->access$400(Ljava/util/zip/ZipFile;)J
+HSPLjava/util/zip/ZipFile;->access$500(JI)J
+HSPLjava/util/zip/ZipFile;->access$900(Ljava/util/zip/ZipFile;Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
HSPLjava/util/zip/ZipFile;->close()V
HSPLjava/util/zip/ZipFile;->ensureOpen()V
+HSPLjava/util/zip/ZipFile;->ensureOpenOrZipException()V
+HSPLjava/util/zip/ZipFile;->entries()Ljava/util/Enumeration;
HSPLjava/util/zip/ZipFile;->finalize()V
HSPLjava/util/zip/ZipFile;->getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
HSPLjava/util/zip/ZipFile;->getInflater()Ljava/util/zip/Inflater;
HSPLjava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
HSPLjava/util/zip/ZipFile;->getZipEntry(Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
HSPLjava/util/zip/ZipFile;->releaseInflater(Ljava/util/zip/Inflater;)V
-HSPLjavax/crypto/Cipher$InitType;-><init>(Ljava/lang/String;I)V
-HSPLjavax/crypto/Cipher$InitType;->values()[Ljavax/crypto/Cipher$InitType;
-HSPLjavax/crypto/Cipher$NeedToSet;-><init>(Ljava/lang/String;I)V
+HSPLjava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;)V
+HSPLjava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
+HSPLjava/util/zip/ZipInputStream;->close()V
+HSPLjava/util/zip/ZipInputStream;->createZipEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipInputStream;->ensureOpen()V
+HSPLjava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipInputStream;->read([BII)I
+HSPLjava/util/zip/ZipInputStream;->readEnd(Ljava/util/zip/ZipEntry;)V
+HSPLjava/util/zip/ZipInputStream;->readFully([BII)V
+HSPLjava/util/zip/ZipInputStream;->readLOC()Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipUtils;->get16([BI)I
+HSPLjava/util/zip/ZipUtils;->get32([BI)J
+HSPLjavax/crypto/Cipher$CipherSpiAndProvider;-><init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)V
+HSPLjavax/crypto/Cipher$InitParams;-><init>(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/SecureRandom;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;)V
+HSPLjavax/crypto/Cipher$SpiAndProviderUpdater;-><init>(Ljavax/crypto/Cipher;Ljava/security/Provider;Ljavax/crypto/CipherSpi;)V
HSPLjavax/crypto/Cipher$SpiAndProviderUpdater;->setCipherSpiImplAndProvider(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)V
HSPLjavax/crypto/Cipher$SpiAndProviderUpdater;->updateAndGetSpiAndProvider(Ljavax/crypto/Cipher$InitParams;Ljavax/crypto/CipherSpi;Ljava/security/Provider;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
+HSPLjavax/crypto/Cipher$Transform;-><init>(Ljava/lang/String;Ljavax/crypto/Cipher$NeedToSet;)V
+HSPLjavax/crypto/Cipher$Transform;->access$300(Ljavax/crypto/Cipher$Transform;)Ljava/lang/String;
+HSPLjavax/crypto/Cipher$Transform;->access$400(Ljavax/crypto/Cipher$Transform;)Ljavax/crypto/Cipher$NeedToSet;
+HSPLjavax/crypto/Cipher;-><init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;Ljava/lang/String;[Ljava/lang/String;)V
+HSPLjavax/crypto/Cipher;->access$002(Ljavax/crypto/Cipher;Ljavax/crypto/CipherSpi;)Ljavax/crypto/CipherSpi;
+HSPLjavax/crypto/Cipher;->access$102(Ljavax/crypto/Cipher;Ljava/security/Provider;)Ljava/security/Provider;
+HSPLjavax/crypto/Cipher;->access$200(Ljavax/crypto/Cipher;)[Ljava/lang/String;
HSPLjavax/crypto/Cipher;->checkCipherState()V
+HSPLjavax/crypto/Cipher;->checkOpmode(I)V
HSPLjavax/crypto/Cipher;->chooseProvider(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
HSPLjavax/crypto/Cipher;->createCipher(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
HSPLjavax/crypto/Cipher;->doFinal([B)[B
-HSPLjavax/crypto/Cipher;->doFinal([BII)[B
-HSPLjavax/crypto/Cipher;->doFinal([BII[BI)I
-HSPLjavax/crypto/Cipher;->getIV()[B
HSPLjavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
-HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;)V
-HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/SecureRandom;)V
HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
+HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
+HSPLjavax/crypto/Cipher;->matchAttribute(Ljava/security/Provider$Service;Ljava/lang/String;Ljava/lang/String;)Z
HSPLjavax/crypto/Cipher;->tokenizeTransformation(Ljava/lang/String;)[Ljava/lang/String;
HSPLjavax/crypto/Cipher;->tryCombinations(Ljavax/crypto/Cipher$InitParams;Ljava/security/Provider;[Ljava/lang/String;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
HSPLjavax/crypto/Cipher;->tryTransformWithProvider(Ljavax/crypto/Cipher$InitParams;[Ljava/lang/String;Ljavax/crypto/Cipher$NeedToSet;Ljava/security/Provider$Service;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
HSPLjavax/crypto/Cipher;->updateProviderIfNeeded()V
HSPLjavax/crypto/CipherSpi;-><init>()V
+HSPLjavax/crypto/JceSecurity;->canUseProvider(Ljava/security/Provider;)Z
HSPLjavax/crypto/KeyGenerator;-><init>(Ljava/lang/String;)V
HSPLjavax/crypto/KeyGenerator;->generateKey()Ljavax/crypto/SecretKey;
HSPLjavax/crypto/KeyGenerator;->getInstance(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
HSPLjavax/crypto/KeyGenerator;->nextSpi(Ljavax/crypto/KeyGeneratorSpi;Z)Ljavax/crypto/KeyGeneratorSpi;
HSPLjavax/crypto/KeyGeneratorSpi;-><init>()V
+HSPLjavax/crypto/Mac;-><init>(Ljava/lang/String;)V
HSPLjavax/crypto/Mac;->chooseFirstProvider()V
HSPLjavax/crypto/Mac;->chooseProvider(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
HSPLjavax/crypto/Mac;->doFinal()[B
HSPLjavax/crypto/Mac;->doFinal([B)[B
-HSPLjavax/crypto/Mac;->doFinal([BI)V
HSPLjavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;
-HSPLjavax/crypto/Mac;->getMacLength()I
HSPLjavax/crypto/Mac;->init(Ljava/security/Key;)V
-HSPLjavax/crypto/Mac;->update(B)V
HSPLjavax/crypto/Mac;->update([B)V
-HSPLjavax/crypto/Mac;->update([BII)V
HSPLjavax/crypto/MacSpi;-><init>()V
-HSPLjavax/crypto/spec/GCMParameterSpec;-><init>(I[B)V
-HSPLjavax/crypto/spec/GCMParameterSpec;->getIV()[B
-HSPLjavax/crypto/spec/GCMParameterSpec;->getTLen()I
-HSPLjavax/crypto/spec/GCMParameterSpec;->init(I[BII)V
HSPLjavax/crypto/spec/IvParameterSpec;-><init>([B)V
HSPLjavax/crypto/spec/IvParameterSpec;-><init>([BII)V
HSPLjavax/crypto/spec/IvParameterSpec;->getIV()[B
-HSPLjavax/crypto/spec/OAEPParameterSpec;-><init>()V
-HSPLjavax/crypto/spec/PSource$PSpecified;-><init>([B)V
HSPLjavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
HSPLjavax/crypto/spec/SecretKeySpec;->getEncoded()[B
HSPLjavax/crypto/spec/SecretKeySpec;->getFormat()Ljava/lang/String;
-HSPLjavax/microedition/khronos/egl/EGLContext;->getEGL()Ljavax/microedition/khronos/egl/EGL;
+HSPLjavax/net/DefaultSocketFactory;-><init>()V
HSPLjavax/net/DefaultSocketFactory;->createSocket()Ljava/net/Socket;
HSPLjavax/net/DefaultSocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
HSPLjavax/net/SocketFactory;-><init>()V
HSPLjavax/net/SocketFactory;->getDefault()Ljavax/net/SocketFactory;
HSPLjavax/net/ssl/ExtendedSSLSession;-><init>()V
+HSPLjavax/net/ssl/HttpsURLConnection$NoPreloadHolder;-><clinit>()V
HSPLjavax/net/ssl/HttpsURLConnection;-><init>(Ljava/net/URL;)V
HSPLjavax/net/ssl/HttpsURLConnection;->getDefaultHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
HSPLjavax/net/ssl/HttpsURLConnection;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
HSPLjavax/net/ssl/HttpsURLConnection;->setDefaultHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V
HSPLjavax/net/ssl/HttpsURLConnection;->setDefaultSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V
+HSPLjavax/net/ssl/KeyManagerFactory$1;-><init>()V
+HSPLjavax/net/ssl/KeyManagerFactory$1;->run()Ljava/lang/Object;
+HSPLjavax/net/ssl/KeyManagerFactory$1;->run()Ljava/lang/String;
+HSPLjavax/net/ssl/KeyManagerFactory;-><init>(Ljavax/net/ssl/KeyManagerFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjavax/net/ssl/KeyManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
HSPLjavax/net/ssl/KeyManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
HSPLjavax/net/ssl/KeyManagerFactory;->getKeyManagers()[Ljavax/net/ssl/KeyManager;
@@ -30563,6 +14749,7 @@ HSPLjavax/net/ssl/SNIHostName;->checkHostName()V
HSPLjavax/net/ssl/SNIHostName;->getAsciiName()Ljava/lang/String;
HSPLjavax/net/ssl/SNIServerName;-><init>(I[B)V
HSPLjavax/net/ssl/SNIServerName;->getType()I
+HSPLjavax/net/ssl/SSLContext;-><init>(Ljavax/net/ssl/SSLContextSpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjavax/net/ssl/SSLContext;->getDefault()Ljavax/net/ssl/SSLContext;
HSPLjavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
HSPLjavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/SSLContext;
@@ -30570,7 +14757,9 @@ HSPLjavax/net/ssl/SSLContext;->getSocketFactory()Ljavax/net/ssl/SSLSocketFactory
HSPLjavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
HSPLjavax/net/ssl/SSLContext;->setDefault(Ljavax/net/ssl/SSLContext;)V
HSPLjavax/net/ssl/SSLContextSpi;-><init>()V
-HSPLjavax/net/ssl/SSLException;-><init>(Ljava/lang/String;)V
+PLjavax/net/ssl/SSLException;-><init>(Ljava/lang/String;)V
+HSPLjavax/net/ssl/SSLParameters;-><init>()V
+HSPLjavax/net/ssl/SSLParameters;->clone([Ljava/lang/String;)[Ljava/lang/String;
HSPLjavax/net/ssl/SSLParameters;->getApplicationProtocols()[Ljava/lang/String;
HSPLjavax/net/ssl/SSLParameters;->getCipherSuites()[Ljava/lang/String;
HSPLjavax/net/ssl/SSLParameters;->getEndpointIdentificationAlgorithm()Ljava/lang/String;
@@ -30580,14 +14769,25 @@ HSPLjavax/net/ssl/SSLParameters;->getServerNames()Ljava/util/List;
HSPLjavax/net/ssl/SSLParameters;->getUseCipherSuitesOrder()Z
HSPLjavax/net/ssl/SSLParameters;->getWantClientAuth()Z
HSPLjavax/net/ssl/SSLParameters;->setApplicationProtocols([Ljava/lang/String;)V
+HSPLjavax/net/ssl/SSLParameters;->setCipherSuites([Ljava/lang/String;)V
HSPLjavax/net/ssl/SSLParameters;->setEndpointIdentificationAlgorithm(Ljava/lang/String;)V
+HSPLjavax/net/ssl/SSLParameters;->setProtocols([Ljava/lang/String;)V
HSPLjavax/net/ssl/SSLParameters;->setServerNames(Ljava/util/List;)V
HSPLjavax/net/ssl/SSLParameters;->setUseCipherSuitesOrder(Z)V
HSPLjavax/net/ssl/SSLSocket;-><init>()V
HSPLjavax/net/ssl/SSLSocket;->getSSLParameters()Ljavax/net/ssl/SSLParameters;
HSPLjavax/net/ssl/SSLSocket;->setSSLParameters(Ljavax/net/ssl/SSLParameters;)V
+HSPLjavax/net/ssl/SSLSocketFactory$1;-><init>(Ljava/lang/String;)V
+HSPLjavax/net/ssl/SSLSocketFactory$1;->run()Ljava/lang/Object;
+HSPLjavax/net/ssl/SSLSocketFactory$1;->run()Ljava/lang/String;
HSPLjavax/net/ssl/SSLSocketFactory;-><init>()V
HSPLjavax/net/ssl/SSLSocketFactory;->getDefault()Ljavax/net/SocketFactory;
+HSPLjavax/net/ssl/SSLSocketFactory;->getSecurityProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLjavax/net/ssl/SSLSocketFactory;->log(Ljava/lang/String;)V
+HSPLjavax/net/ssl/TrustManagerFactory$1;-><init>()V
+HSPLjavax/net/ssl/TrustManagerFactory$1;->run()Ljava/lang/Object;
+HSPLjavax/net/ssl/TrustManagerFactory$1;->run()Ljava/lang/String;
+HSPLjavax/net/ssl/TrustManagerFactory;-><init>(Ljavax/net/ssl/TrustManagerFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
HSPLjavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
HSPLjavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
HSPLjavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
@@ -30600,102 +14800,98 @@ HSPLjavax/security/auth/x500/X500Principal;-><init>(Lsun/security/x509/X500Name;
HSPLjavax/security/auth/x500/X500Principal;-><init>([B)V
HSPLjavax/security/auth/x500/X500Principal;->equals(Ljava/lang/Object;)Z
HSPLjavax/security/auth/x500/X500Principal;->getEncoded()[B
-HSPLjavax/security/auth/x500/X500Principal;->getName(Ljava/lang/String;)Ljava/lang/String;
HSPLjavax/security/auth/x500/X500Principal;->hashCode()I
-HSPLjavax/security/cert/X509Certificate$1;-><init>()V
-HSPLjavax/security/cert/X509Certificate$1;->run()Ljava/lang/Object;
-HSPLjavax/security/cert/X509Certificate$1;->run()Ljava/lang/String;
-HSPLjavax/xml/parsers/DocumentBuilder;->parse(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->isCoalescing()Z
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->isIgnoringComments()Z
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->isIgnoringElementContentWhitespace()Z
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->isNamespaceAware()Z
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->isValidating()Z
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;
-HSPLjavax/xml/parsers/SAXParserFactory;->newInstance()Ljavax/xml/parsers/SAXParserFactory;
-HSPLlibcore/icu/DateIntervalFormat;->formatDateRange(JJILjava/lang/String;)Ljava/lang/String;
-HSPLlibcore/icu/DateIntervalFormat;->formatDateRange(Landroid/icu/util/ULocale;Landroid/icu/util/TimeZone;JJI)Ljava/lang/String;
-HSPLlibcore/icu/DateIntervalFormat;->getFormatter(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/util/TimeZone;)Landroid/icu/text/DateIntervalFormat;
-HSPLlibcore/icu/DateIntervalFormat;->isExactlyMidnight(Landroid/icu/util/Calendar;)Z
-HSPLlibcore/icu/DateUtilsBridge;->fallOnDifferentDates(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)Z
-HSPLlibcore/icu/DateUtilsBridge;->toSkeleton(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;I)Ljava/lang/String;
-HSPLlibcore/icu/ICU;->addLikelySubtags(Ljava/util/Locale;)Ljava/util/Locale;
+HSPLlibcore/content/type/MimeMap$Builder$Element;-><init>(Ljava/lang/String;Z)V
+HSPLlibcore/content/type/MimeMap$Builder$Element;->ofExtensionSpec(Ljava/lang/String;)Llibcore/content/type/MimeMap$Builder$Element;
+HSPLlibcore/content/type/MimeMap$Builder$Element;->ofMimeSpec(Ljava/lang/String;)Llibcore/content/type/MimeMap$Builder$Element;
+HSPLlibcore/content/type/MimeMap$Builder;-><init>()V
+HSPLlibcore/content/type/MimeMap$Builder;->build()Llibcore/content/type/MimeMap;
+HSPLlibcore/content/type/MimeMap$Builder;->maybePut(Ljava/util/Map;Llibcore/content/type/MimeMap$Builder$Element;Ljava/lang/String;)Ljava/lang/String;
+HSPLlibcore/content/type/MimeMap$Builder;->put(Ljava/lang/String;Ljava/util/List;)Llibcore/content/type/MimeMap$Builder;
+HSPLlibcore/content/type/MimeMap$MemoizingSupplier;->get()Ljava/lang/Object;
+HSPLlibcore/content/type/MimeMap;-><init>(Ljava/util/Map;Ljava/util/Map;)V
+HSPLlibcore/content/type/MimeMap;-><init>(Ljava/util/Map;Ljava/util/Map;Llibcore/content/type/MimeMap$1;)V
+HSPLlibcore/content/type/MimeMap;->access$000(Ljava/lang/String;)Ljava/lang/String;
+HSPLlibcore/content/type/MimeMap;->builder()Llibcore/content/type/MimeMap$Builder;
+HSPLlibcore/content/type/MimeMap;->checkValidExtension(Ljava/lang/String;)V
+HSPLlibcore/content/type/MimeMap;->checkValidMimeType(Ljava/lang/String;)V
+HSPLlibcore/content/type/MimeMap;->getDefault()Llibcore/content/type/MimeMap;
+HSPLlibcore/content/type/MimeMap;->guessMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
+HSPLlibcore/content/type/MimeMap;->isValidMimeTypeOrExtension(Ljava/lang/String;)Z
+HSPLlibcore/content/type/MimeMap;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
+PLlibcore/icu/CollationKeyICU;-><init>(Ljava/lang/String;Landroid/icu/text/CollationKey;)V
+PLlibcore/icu/CollationKeyICU;->toByteArray()[B
HSPLlibcore/icu/ICU;->getBestDateTimePattern(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-HSPLlibcore/icu/ICU;->getDisplayLanguage(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;
-HSPLlibcore/icu/ICU;->getISOCountries()[Ljava/lang/String;
-HSPLlibcore/icu/ICU;->getISOLanguages()[Ljava/lang/String;
+HSPLlibcore/icu/LocaleData;-><init>()V
HSPLlibcore/icu/LocaleData;->get(Ljava/util/Locale;)Llibcore/icu/LocaleData;
HSPLlibcore/icu/LocaleData;->getDateFormat(I)Ljava/lang/String;
HSPLlibcore/icu/LocaleData;->getTimeFormat(I)Ljava/lang/String;
HSPLlibcore/icu/LocaleData;->initLocaleData(Ljava/util/Locale;)Llibcore/icu/LocaleData;
HSPLlibcore/icu/LocaleData;->initializePatternSeparator(Llibcore/icu/LocaleData;Ljava/util/Locale;)V
HSPLlibcore/icu/LocaleData;->mapInvalidAndNullLocales(Ljava/util/Locale;)Ljava/util/Locale;
-HSPLlibcore/icu/RelativeDateTimeFormatter$FormatterCache;-><init>()V
-HSPLlibcore/icu/TimeZoneNames$1;-><init>()V
-HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;-><init>()V
HSPLlibcore/internal/StringPool;-><init>()V
HSPLlibcore/internal/StringPool;->get([CII)Ljava/lang/String;
HSPLlibcore/io/BlockGuardOs;->accept(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)Ljava/io/FileDescriptor;
HSPLlibcore/io/BlockGuardOs;->access(Ljava/lang/String;I)Z
HSPLlibcore/io/BlockGuardOs;->android_getaddrinfo(Ljava/lang/String;Landroid/system/StructAddrinfo;I)[Ljava/net/InetAddress;
HSPLlibcore/io/BlockGuardOs;->chmod(Ljava/lang/String;I)V
-HSPLlibcore/io/BlockGuardOs;->chown(Ljava/lang/String;II)V
HSPLlibcore/io/BlockGuardOs;->close(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HSPLlibcore/io/BlockGuardOs;->fchmod(Ljava/io/FileDescriptor;I)V
-HSPLlibcore/io/BlockGuardOs;->fchown(Ljava/io/FileDescriptor;II)V
HSPLlibcore/io/BlockGuardOs;->fdatasync(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/BlockGuardOs;->fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;
-HPLlibcore/io/BlockGuardOs;->fsync(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/BlockGuardOs;->ftruncate(Ljava/io/FileDescriptor;J)V
-HSPLlibcore/io/BlockGuardOs;->getxattr(Ljava/lang/String;Ljava/lang/String;)[B
+HSPLlibcore/io/BlockGuardOs;->isInetDomain(I)Z
+HSPLlibcore/io/BlockGuardOs;->isInetSocket(Ljava/io/FileDescriptor;)Z
+HSPLlibcore/io/BlockGuardOs;->isLingerSocket(Ljava/io/FileDescriptor;)Z
+HSPLlibcore/io/BlockGuardOs;->isUdpSocket(Ljava/io/FileDescriptor;)Z
HSPLlibcore/io/BlockGuardOs;->lseek(Ljava/io/FileDescriptor;JI)J
HSPLlibcore/io/BlockGuardOs;->mkdir(Ljava/lang/String;I)V
HSPLlibcore/io/BlockGuardOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
HSPLlibcore/io/BlockGuardOs;->poll([Landroid/system/StructPollfd;I)I
-HSPLlibcore/io/BlockGuardOs;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
HSPLlibcore/io/BlockGuardOs;->read(Ljava/io/FileDescriptor;[BII)I
-HSPLlibcore/io/BlockGuardOs;->readlink(Ljava/lang/String;)Ljava/lang/String;
-HSPLlibcore/io/BlockGuardOs;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I
HSPLlibcore/io/BlockGuardOs;->remove(Ljava/lang/String;)V
HSPLlibcore/io/BlockGuardOs;->rename(Ljava/lang/String;Ljava/lang/String;)V
-HSPLlibcore/io/BlockGuardOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
HSPLlibcore/io/BlockGuardOs;->socket(III)Ljava/io/FileDescriptor;
HSPLlibcore/io/BlockGuardOs;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
HSPLlibcore/io/BlockGuardOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
HSPLlibcore/io/BlockGuardOs;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
HSPLlibcore/io/BlockGuardOs;->tagSocket(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
HSPLlibcore/io/BlockGuardOs;->write(Ljava/io/FileDescriptor;[BII)I
+HSPLlibcore/io/BufferIterator;-><init>()V
+HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection$1;-><init>(Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;Ljava/io/InputStream;)V
HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection$1;->close()V
+HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;-><init>(Llibcore/io/ClassPathURLStreamHandler;Ljava/net/URL;)V
+HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;->access$100(Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;)Ljava/util/jar/JarFile;
HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;->connect()V
HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;->getInputStream()Ljava/io/InputStream;
+HSPLlibcore/io/ClassPathURLStreamHandler;-><init>(Ljava/lang/String;)V
+HSPLlibcore/io/ClassPathURLStreamHandler;->access$000(Llibcore/io/ClassPathURLStreamHandler;)Ljava/util/jar/JarFile;
HSPLlibcore/io/ClassPathURLStreamHandler;->getEntryUrlOrNull(Ljava/lang/String;)Ljava/net/URL;
HSPLlibcore/io/ClassPathURLStreamHandler;->isEntryStored(Ljava/lang/String;)Z
HSPLlibcore/io/ClassPathURLStreamHandler;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
HSPLlibcore/io/ForwardingOs;-><init>(Llibcore/io/Os;)V
+HSPLlibcore/io/ForwardingOs;->accept(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)Ljava/io/FileDescriptor;
HSPLlibcore/io/ForwardingOs;->access(Ljava/lang/String;I)Z
HSPLlibcore/io/ForwardingOs;->android_fdsan_exchange_owner_tag(Ljava/io/FileDescriptor;JJ)V
HSPLlibcore/io/ForwardingOs;->android_getaddrinfo(Ljava/lang/String;Landroid/system/StructAddrinfo;I)[Ljava/net/InetAddress;
HSPLlibcore/io/ForwardingOs;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HSPLlibcore/io/ForwardingOs;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
HSPLlibcore/io/ForwardingOs;->capget(Landroid/system/StructCapUserHeader;)[Landroid/system/StructCapUserData;
HSPLlibcore/io/ForwardingOs;->chmod(Ljava/lang/String;I)V
HSPLlibcore/io/ForwardingOs;->close(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/ForwardingOs;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HPLlibcore/io/ForwardingOs;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
HSPLlibcore/io/ForwardingOs;->dup2(Ljava/io/FileDescriptor;I)Ljava/io/FileDescriptor;
HSPLlibcore/io/ForwardingOs;->fcntlInt(Ljava/io/FileDescriptor;II)I
HSPLlibcore/io/ForwardingOs;->fcntlVoid(Ljava/io/FileDescriptor;I)I
+HSPLlibcore/io/ForwardingOs;->fdatasync(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/ForwardingOs;->fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;
+HSPLlibcore/io/ForwardingOs;->ftruncate(Ljava/io/FileDescriptor;J)V
+PLlibcore/io/ForwardingOs;->gai_strerror(I)Ljava/lang/String;
HSPLlibcore/io/ForwardingOs;->getenv(Ljava/lang/String;)Ljava/lang/String;
-HSPLlibcore/io/ForwardingOs;->getgid()I
HSPLlibcore/io/ForwardingOs;->getifaddrs()[Landroid/system/StructIfaddrs;
HSPLlibcore/io/ForwardingOs;->getnameinfo(Ljava/net/InetAddress;I)Ljava/lang/String;
HSPLlibcore/io/ForwardingOs;->getpeername(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;
HSPLlibcore/io/ForwardingOs;->getpgid(I)I
HSPLlibcore/io/ForwardingOs;->getpid()I
-HSPLlibcore/io/ForwardingOs;->getpwuid(I)Landroid/system/StructPasswd;
-HSPLlibcore/io/ForwardingOs;->getrlimit(I)Landroid/system/StructRlimit;
HSPLlibcore/io/ForwardingOs;->getsockname(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;
HSPLlibcore/io/ForwardingOs;->getsockoptInt(Ljava/io/FileDescriptor;II)I
HSPLlibcore/io/ForwardingOs;->getsockoptLinger(Ljava/io/FileDescriptor;II)Landroid/system/StructLinger;
@@ -30706,11 +14902,8 @@ HSPLlibcore/io/ForwardingOs;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/
HSPLlibcore/io/ForwardingOs;->listen(Ljava/io/FileDescriptor;I)V
HSPLlibcore/io/ForwardingOs;->lseek(Ljava/io/FileDescriptor;JI)J
HSPLlibcore/io/ForwardingOs;->mkdir(Ljava/lang/String;I)V
-HSPLlibcore/io/ForwardingOs;->mlock(JJ)V
-HSPLlibcore/io/ForwardingOs;->mmap(JJIILjava/io/FileDescriptor;J)J
-HSPLlibcore/io/ForwardingOs;->munmap(JJ)V
HSPLlibcore/io/ForwardingOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
-HSPLlibcore/io/ForwardingOs;->pipe2(I)[Ljava/io/FileDescriptor;
+PLlibcore/io/ForwardingOs;->pipe2(I)[Ljava/io/FileDescriptor;
HSPLlibcore/io/ForwardingOs;->poll([Landroid/system/StructPollfd;I)I
HSPLlibcore/io/ForwardingOs;->read(Ljava/io/FileDescriptor;[BII)I
HSPLlibcore/io/ForwardingOs;->remove(Ljava/lang/String;)V
@@ -30727,51 +14920,41 @@ HSPLlibcore/io/ForwardingOs;->stat(Ljava/lang/String;)Landroid/system/StructStat
HSPLlibcore/io/ForwardingOs;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
HSPLlibcore/io/ForwardingOs;->strerror(I)Ljava/lang/String;
HSPLlibcore/io/ForwardingOs;->sysconf(I)J
-HSPLlibcore/io/ForwardingOs;->umask(I)I
-HSPLlibcore/io/ForwardingOs;->uname()Landroid/system/StructUtsname;
HSPLlibcore/io/ForwardingOs;->write(Ljava/io/FileDescriptor;[BII)I
HSPLlibcore/io/IoBridge;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
+HSPLlibcore/io/IoBridge;->booleanFromInt(I)Z
+HSPLlibcore/io/IoBridge;->booleanToInt(Z)I
HSPLlibcore/io/IoBridge;->closeAndSignalBlockedThreads(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/IoBridge;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)V
HSPLlibcore/io/IoBridge;->connectErrno(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)V
-HSPLlibcore/io/IoBridge;->createMessageForException(Ljava/io/FileDescriptor;Ljava/net/InetAddress;IILjava/lang/Exception;)Ljava/lang/String;
+PLlibcore/io/IoBridge;->createMessageForException(Ljava/io/FileDescriptor;Ljava/net/InetAddress;IILjava/lang/Exception;)Ljava/lang/String;
HSPLlibcore/io/IoBridge;->getLocalInetSocketAddress(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
HSPLlibcore/io/IoBridge;->getSocketOption(Ljava/io/FileDescriptor;I)Ljava/lang/Object;
HSPLlibcore/io/IoBridge;->getSocketOptionErrno(Ljava/io/FileDescriptor;I)Ljava/lang/Object;
HSPLlibcore/io/IoBridge;->isConnected(Ljava/io/FileDescriptor;Ljava/net/InetAddress;III)Z
HSPLlibcore/io/IoBridge;->open(Ljava/lang/String;I)Ljava/io/FileDescriptor;
HSPLlibcore/io/IoBridge;->poll(Ljava/io/FileDescriptor;II)V
-HSPLlibcore/io/IoBridge;->postRecvfrom(ZLjava/net/DatagramPacket;Ljava/net/InetSocketAddress;I)I
HSPLlibcore/io/IoBridge;->read(Ljava/io/FileDescriptor;[BII)I
-HSPLlibcore/io/IoBridge;->recvfrom(ZLjava/io/FileDescriptor;[BIIILjava/net/DatagramPacket;Z)I
-HSPLlibcore/io/IoBridge;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
HSPLlibcore/io/IoBridge;->setSocketOption(Ljava/io/FileDescriptor;ILjava/lang/Object;)V
HSPLlibcore/io/IoBridge;->setSocketOptionErrno(Ljava/io/FileDescriptor;ILjava/lang/Object;)V
HSPLlibcore/io/IoBridge;->socket(III)Ljava/io/FileDescriptor;
HSPLlibcore/io/IoBridge;->write(Ljava/io/FileDescriptor;[BII)V
-HSPLlibcore/io/IoTracker$Mode;-><init>(Ljava/lang/String;I)V
HSPLlibcore/io/IoTracker;-><init>()V
+HSPLlibcore/io/IoTracker;->reset()V
HSPLlibcore/io/IoTracker;->trackIo(I)V
HSPLlibcore/io/IoTracker;->trackIo(ILlibcore/io/IoTracker$Mode;)V
-HSPLlibcore/io/IoUtils$FileReader;-><init>(Ljava/lang/String;)V
-HSPLlibcore/io/IoUtils$FileReader;->readFully()Llibcore/io/IoUtils$FileReader;
-HSPLlibcore/io/IoUtils$FileReader;->toByteArray()[B
-HSPLlibcore/io/IoUtils$FileReader;->toString(Ljava/nio/charset/Charset;)Ljava/lang/String;
HSPLlibcore/io/IoUtils;->acquireRawFd(Ljava/io/FileDescriptor;)I
HSPLlibcore/io/IoUtils;->canOpenReadOnly(Ljava/lang/String;)Z
+HSPLlibcore/io/IoUtils;->close(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/IoUtils;->closeQuietly(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/IoUtils;->closeQuietly(Ljava/lang/AutoCloseable;)V
HSPLlibcore/io/IoUtils;->generateFdOwnerId(Ljava/lang/Object;)J
HSPLlibcore/io/IoUtils;->isParcelFileDescriptor(Ljava/lang/Object;)Z
-HSPLlibcore/io/IoUtils;->readFileAsByteArray(Ljava/lang/String;)[B
-HSPLlibcore/io/IoUtils;->readFileAsString(Ljava/lang/String;)Ljava/lang/String;
HSPLlibcore/io/IoUtils;->setBlocking(Ljava/io/FileDescriptor;Z)V
HSPLlibcore/io/IoUtils;->setFdOwner(Ljava/io/FileDescriptor;Ljava/lang/Object;)V
HSPLlibcore/io/Libcore;->compareAndSetOs(Llibcore/io/Os;Llibcore/io/Os;)Z
+HSPLlibcore/io/Libcore;->getOs()Llibcore/io/Os;
HSPLlibcore/io/Linux;->read(Ljava/io/FileDescriptor;[BII)I
-HSPLlibcore/io/Linux;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I
-HSPLlibcore/io/Linux;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
-HSPLlibcore/io/Linux;->umask(I)I
HSPLlibcore/io/Linux;->write(Ljava/io/FileDescriptor;[BII)I
HSPLlibcore/io/Memory;->peekInt(JZ)I
HSPLlibcore/io/Memory;->peekInt([BILjava/nio/ByteOrder;)I
@@ -30779,34 +14962,27 @@ HSPLlibcore/io/Memory;->peekLong(JZ)J
HSPLlibcore/io/Memory;->peekShort(JZ)S
HSPLlibcore/io/Memory;->peekShort([BILjava/nio/ByteOrder;)S
HSPLlibcore/io/Memory;->pokeInt(JIZ)V
-HSPLlibcore/io/Memory;->pokeLong(JJZ)V
-HSPLlibcore/io/Memory;->pokeShort(JSZ)V
-HSPLlibcore/io/MemoryMappedFile;-><init>(JJ)V
-HSPLlibcore/io/MemoryMappedFile;->mmapRO(Ljava/lang/String;)Llibcore/io/MemoryMappedFile;
-HSPLlibcore/io/MemoryMappedFile;->size()I
+HSPLlibcore/io/MemoryMappedFile;->bigEndianIterator()Llibcore/io/BufferIterator;
+HSPLlibcore/io/MemoryMappedFile;->checkNotClosed()V
HSPLlibcore/io/NioBufferIterator;-><init>(Llibcore/io/MemoryMappedFile;JIZ)V
-HSPLlibcore/io/NioBufferIterator;->checkDstBounds(III)V
+HSPLlibcore/io/NioBufferIterator;->checkArrayBounds(III)V
HSPLlibcore/io/NioBufferIterator;->checkReadBounds(III)V
HSPLlibcore/io/NioBufferIterator;->readByte()B
HSPLlibcore/io/NioBufferIterator;->readByteArray([BII)V
HSPLlibcore/io/NioBufferIterator;->readInt()I
-HSPLlibcore/io/NioBufferIterator;->readIntArray([III)V
-HSPLlibcore/io/NioBufferIterator;->seek(I)V
+HSPLlibcore/io/NioBufferIterator;->readLongArray([JII)V
HSPLlibcore/io/NioBufferIterator;->skip(I)V
HSPLlibcore/io/Os;->compareAndSetDefault(Llibcore/io/Os;Llibcore/io/Os;)Z
-HSPLlibcore/io/Streams;->readFully(Ljava/io/InputStream;)[B
-HPLlibcore/io/Streams;->readFully(Ljava/io/Reader;)Ljava/lang/String;
-HSPLlibcore/net/InetAddressUtils;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+HSPLlibcore/io/Os;->getDefault()Llibcore/io/Os;
HSPLlibcore/net/InetAddressUtils;->parseNumericAddressNoThrow(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLlibcore/net/InetAddressUtils;->parseNumericAddressNoThrowStripOptionalBrackets(Ljava/lang/String;)Ljava/net/InetAddress;
-HSPLlibcore/net/NetworkSecurityPolicy$DefaultNetworkSecurityPolicy;-><init>()V
+HSPLlibcore/net/NetworkSecurityPolicy;-><init>()V
HSPLlibcore/net/NetworkSecurityPolicy;->getInstance()Llibcore/net/NetworkSecurityPolicy;
HSPLlibcore/net/NetworkSecurityPolicy;->setInstance(Llibcore/net/NetworkSecurityPolicy;)V
-HSPLlibcore/net/event/NetworkEventDispatcher;-><init>()V
HSPLlibcore/net/event/NetworkEventDispatcher;->addListener(Llibcore/net/event/NetworkEventListener;)V
-HSPLlibcore/net/event/NetworkEventDispatcher;->getInstance()Llibcore/net/event/NetworkEventDispatcher;
+PLlibcore/net/event/NetworkEventDispatcher;->getInstance()Llibcore/net/event/NetworkEventDispatcher;
HSPLlibcore/net/event/NetworkEventDispatcher;->onNetworkConfigurationChanged()V
-HSPLlibcore/net/http/HttpDate$1;-><init>()V
+HSPLlibcore/net/event/NetworkEventListener;-><init>()V
HSPLlibcore/reflect/AnnotationFactory;-><init>(Ljava/lang/Class;[Llibcore/reflect/AnnotationMember;)V
HSPLlibcore/reflect/AnnotationFactory;->createAnnotation(Ljava/lang/Class;[Llibcore/reflect/AnnotationMember;)Ljava/lang/annotation/Annotation;
HSPLlibcore/reflect/AnnotationFactory;->getElementsDescription(Ljava/lang/Class;)[Llibcore/reflect/AnnotationMember;
@@ -30814,278 +14990,164 @@ HSPLlibcore/reflect/AnnotationFactory;->invoke(Ljava/lang/Object;Ljava/lang/refl
HSPLlibcore/reflect/AnnotationMember;-><init>(Ljava/lang/String;Ljava/lang/Object;)V
HSPLlibcore/reflect/AnnotationMember;-><init>(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Method;)V
HSPLlibcore/reflect/AnnotationMember;->copyValue()Ljava/lang/Object;
+HSPLlibcore/reflect/AnnotationMember;->setDefinition(Llibcore/reflect/AnnotationMember;)Llibcore/reflect/AnnotationMember;
HSPLlibcore/reflect/AnnotationMember;->validateValue()Ljava/lang/Object;
-HSPLlibcore/reflect/GenericArrayTypeImpl;->getGenericComponentType()Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/GenericArrayTypeImpl;->hashCode()I
+HSPLlibcore/reflect/GenericSignatureParser;-><init>(Ljava/lang/ClassLoader;)V
+HSPLlibcore/reflect/GenericSignatureParser;->expect(C)V
+HSPLlibcore/reflect/GenericSignatureParser;->isStopSymbol(C)Z
HSPLlibcore/reflect/GenericSignatureParser;->parseClassSignature()V
HSPLlibcore/reflect/GenericSignatureParser;->parseClassTypeSignature()Ljava/lang/reflect/Type;
HSPLlibcore/reflect/GenericSignatureParser;->parseFieldTypeSignature()Ljava/lang/reflect/Type;
HSPLlibcore/reflect/GenericSignatureParser;->parseForClass(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
+HSPLlibcore/reflect/GenericSignatureParser;->parseForField(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
+HSPLlibcore/reflect/GenericSignatureParser;->parseForMethod(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;[Ljava/lang/Class;)V
+HSPLlibcore/reflect/GenericSignatureParser;->parseFormalTypeParameter()Llibcore/reflect/TypeVariableImpl;
+HSPLlibcore/reflect/GenericSignatureParser;->parseMethodTypeSignature([Ljava/lang/Class;)V
HSPLlibcore/reflect/GenericSignatureParser;->parseOptFormalTypeParameters()V
HSPLlibcore/reflect/GenericSignatureParser;->parseOptTypeArguments()Llibcore/reflect/ListOfTypes;
+HSPLlibcore/reflect/GenericSignatureParser;->parseReturnType()Ljava/lang/reflect/Type;
HSPLlibcore/reflect/GenericSignatureParser;->parseTypeArgument()Ljava/lang/reflect/Type;
HSPLlibcore/reflect/GenericSignatureParser;->parseTypeSignature()Ljava/lang/reflect/Type;
+HSPLlibcore/reflect/GenericSignatureParser;->parseTypeVariableSignature()Llibcore/reflect/TypeVariableImpl;
HSPLlibcore/reflect/GenericSignatureParser;->scanIdentifier()V
+HSPLlibcore/reflect/GenericSignatureParser;->scanSymbol()V
+HSPLlibcore/reflect/GenericSignatureParser;->setInput(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
+HSPLlibcore/reflect/ListOfTypes;-><init>(I)V
+HSPLlibcore/reflect/ListOfTypes;-><init>([Ljava/lang/reflect/Type;)V
+HSPLlibcore/reflect/ListOfTypes;->add(Ljava/lang/reflect/Type;)V
+HSPLlibcore/reflect/ListOfTypes;->getResolvedTypes()[Ljava/lang/reflect/Type;
+HSPLlibcore/reflect/ListOfTypes;->length()I
HSPLlibcore/reflect/ListOfTypes;->resolveTypes(Ljava/util/List;)[Ljava/lang/reflect/Type;
+HSPLlibcore/reflect/ListOfVariables;-><init>()V
+HSPLlibcore/reflect/ListOfVariables;->add(Ljava/lang/reflect/TypeVariable;)V
+HSPLlibcore/reflect/ListOfVariables;->getArray()[Ljava/lang/reflect/TypeVariable;
+HSPLlibcore/reflect/ParameterizedTypeImpl;-><init>(Llibcore/reflect/ParameterizedTypeImpl;Ljava/lang/String;Llibcore/reflect/ListOfTypes;Ljava/lang/ClassLoader;)V
HSPLlibcore/reflect/ParameterizedTypeImpl;->getActualTypeArguments()[Ljava/lang/reflect/Type;
+HSPLlibcore/reflect/ParameterizedTypeImpl;->getOwnerType()Ljava/lang/reflect/Type;
HSPLlibcore/reflect/ParameterizedTypeImpl;->getRawType()Ljava/lang/Class;
HSPLlibcore/reflect/ParameterizedTypeImpl;->getRawType()Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/ParameterizedTypeImpl;->hashCode()I
+HSPLlibcore/reflect/ParameterizedTypeImpl;->getResolvedType()Ljava/lang/reflect/Type;
+HSPLlibcore/reflect/TypeVariableImpl;-><init>(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
+HSPLlibcore/reflect/TypeVariableImpl;-><init>(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;Llibcore/reflect/ListOfTypes;)V
+HSPLlibcore/reflect/TypeVariableImpl;->equals(Ljava/lang/Object;)Z
+HSPLlibcore/reflect/TypeVariableImpl;->findFormalVar(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)Ljava/lang/reflect/TypeVariable;
+HSPLlibcore/reflect/TypeVariableImpl;->getGenericDeclaration()Ljava/lang/reflect/GenericDeclaration;
+HSPLlibcore/reflect/TypeVariableImpl;->getName()Ljava/lang/String;
+HSPLlibcore/reflect/TypeVariableImpl;->hashCode()I
+HSPLlibcore/reflect/TypeVariableImpl;->resolve()V
HSPLlibcore/reflect/Types;->getType(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
-HSPLlibcore/timezone/-$$Lambda$TimeZoneFinder$ReaderSupplier$gDAfECMWS_ohJ_Rfk1HN7JyDSJA;->get()Ljava/io/Reader;
-HSPLlibcore/timezone/CountryTimeZones;->createValidated(Ljava/lang/String;Ljava/lang/String;ZLjava/util/List;Ljava/lang/String;)Llibcore/timezone/CountryTimeZones;
-HSPLlibcore/timezone/CountryTimeZones;->getDefaultTimeZone()Landroid/icu/util/TimeZone;
-HSPLlibcore/timezone/CountryTimeZones;->getIcuTimeZones()Ljava/util/List;
-HSPLlibcore/timezone/CountryTimeZones;->isDefaultOkForCountryTimeZoneDetection(J)Z
-HSPLlibcore/timezone/CountryTimeZones;->isForCountryCode(Ljava/lang/String;)Z
-HSPLlibcore/timezone/CountryTimeZones;->lookupByOffsetWithBias(IZJLandroid/icu/util/TimeZone;)Llibcore/timezone/CountryTimeZones$OffsetResult;
-HSPLlibcore/timezone/TimeZoneDataFiles;->generateIcuDataPath()Ljava/lang/String;
-HSPLlibcore/timezone/TimeZoneDataFiles;->getTimeZoneFilePaths(Ljava/lang/String;)[Ljava/lang/String;
-HSPLlibcore/timezone/TimeZoneFinder$ReaderSupplier;->forFile(Ljava/lang/String;Ljava/nio/charset/Charset;)Llibcore/timezone/TimeZoneFinder$ReaderSupplier;
-HSPLlibcore/timezone/TimeZoneFinder$SelectiveCountryTimeZonesExtractor;->processCountryZones(Ljava/lang/String;Ljava/lang/String;ZLjava/util/List;Ljava/lang/String;)Z
-HSPLlibcore/timezone/TimeZoneFinder$TimeZonesProcessor;->processHeader(Ljava/lang/String;)Z
-HSPLlibcore/timezone/TimeZoneFinder;->checkOnEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
-HSPLlibcore/timezone/TimeZoneFinder;->consumeText(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/String;
-HSPLlibcore/timezone/TimeZoneFinder;->createInstanceWithFallback([Ljava/lang/String;)Llibcore/timezone/TimeZoneFinder;
-HSPLlibcore/timezone/TimeZoneFinder;->findStartTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
-HSPLlibcore/timezone/TimeZoneFinder;->getInstance()Llibcore/timezone/TimeZoneFinder;
-HSPLlibcore/timezone/TimeZoneFinder;->lookupCountryTimeZones(Ljava/lang/String;)Llibcore/timezone/CountryTimeZones;
-HSPLlibcore/timezone/TimeZoneFinder;->parseBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
-HSPLlibcore/timezone/TimeZoneFinder;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
-HSPLlibcore/timezone/TimeZoneFinder;->parseTimeZoneMappings(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
-HSPLlibcore/timezone/TimeZoneFinder;->processCountryZones(Lorg/xmlpull/v1/XmlPullParser;Llibcore/timezone/TimeZoneFinder$TimeZonesProcessor;)Z
-HSPLlibcore/timezone/TimeZoneFinder;->processXml(Llibcore/timezone/TimeZoneFinder$TimeZonesProcessor;)V
+HSPLlibcore/reflect/Types;->getTypeArray(Llibcore/reflect/ListOfTypes;Z)[Ljava/lang/reflect/Type;
HSPLlibcore/timezone/ZoneInfoDB$TzData$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
HSPLlibcore/timezone/ZoneInfoDB$TzData$1;->create(Ljava/lang/String;)Llibcore/util/ZoneInfo;
+HSPLlibcore/timezone/ZoneInfoDB$TzData;->checkNotClosed()V
HSPLlibcore/timezone/ZoneInfoDB$TzData;->close()V
HSPLlibcore/timezone/ZoneInfoDB$TzData;->finalize()V
HSPLlibcore/timezone/ZoneInfoDB$TzData;->getAvailableIDs()[Ljava/lang/String;
HSPLlibcore/timezone/ZoneInfoDB$TzData;->getBufferIterator(Ljava/lang/String;)Llibcore/io/BufferIterator;
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->hasTimeZone(Ljava/lang/String;)Z
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->loadData(Ljava/lang/String;)Z
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->loadTzDataWithFallback([Ljava/lang/String;)Llibcore/timezone/ZoneInfoDB$TzData;
HSPLlibcore/timezone/ZoneInfoDB$TzData;->makeTimeZone(Ljava/lang/String;)Llibcore/util/ZoneInfo;
HSPLlibcore/timezone/ZoneInfoDB$TzData;->makeTimeZoneUncached(Ljava/lang/String;)Llibcore/util/ZoneInfo;
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->readHeader()V
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->readIndex(Llibcore/io/BufferIterator;II)V
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->readZoneTab(Llibcore/io/BufferIterator;II)V
-HSPLlibcore/timezone/ZoneInfoDB$TzData;->validateOffset(II)V
HSPLlibcore/timezone/ZoneInfoDB;->getInstance()Llibcore/timezone/ZoneInfoDB$TzData;
HSPLlibcore/util/ArrayUtils;->throwsIfOutOfBounds(III)V
-HSPLlibcore/util/BasicLruCache;-><init>(I)V
HSPLlibcore/util/BasicLruCache;->create(Ljava/lang/Object;)Ljava/lang/Object;
HSPLlibcore/util/BasicLruCache;->entryEvicted(Ljava/lang/Object;Ljava/lang/Object;)V
HSPLlibcore/util/BasicLruCache;->evictAll()V
HSPLlibcore/util/BasicLruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLlibcore/util/BasicLruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLlibcore/util/BasicLruCache;->trimToSize(I)V
HSPLlibcore/util/CollectionUtils;->removeDuplicates(Ljava/util/List;Ljava/util/Comparator;)V
-HSPLlibcore/util/HexEncoding;->decode([CZ)[B
-HSPLlibcore/util/HexEncoding;->encode([BII)[C
-HSPLlibcore/util/HexEncoding;->encodeToString([B)Ljava/lang/String;
-HPLlibcore/util/HexEncoding;->toDigit([CI)I
+HSPLlibcore/util/HexEncoding;->encode([BIIZ)[C
+HSPLlibcore/util/HexEncoding;->encode([BZ)[C
+HSPLlibcore/util/HexEncoding;->encodeToString([BZ)Ljava/lang/String;
HSPLlibcore/util/NativeAllocationRegistry$CleanerRunner;->run()V
HSPLlibcore/util/NativeAllocationRegistry$CleanerThunk;->run()V
-HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;JJ)V
HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;JJZ)V
-HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/ClassLoader;J)Llibcore/util/NativeAllocationRegistry;
+HSPLlibcore/util/NativeAllocationRegistry;->access$000(Llibcore/util/NativeAllocationRegistry;)J
+HSPLlibcore/util/NativeAllocationRegistry;->access$100(Llibcore/util/NativeAllocationRegistry;)J
+HSPLlibcore/util/NativeAllocationRegistry;->access$200(J)V
HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/ClassLoader;JJ)Llibcore/util/NativeAllocationRegistry;
-HSPLlibcore/util/NativeAllocationRegistry;->createNonmalloced(Ljava/lang/ClassLoader;JJ)Llibcore/util/NativeAllocationRegistry;
HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(J)V
HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(Ljava/lang/Object;J)Ljava/lang/Runnable;
-HSPLlibcore/util/SneakyThrow;->sneakyThrow(Ljava/lang/Throwable;)V
+HSPLlibcore/util/NativeAllocationRegistry;->registerNativeFree(J)V
HSPLlibcore/util/SneakyThrow;->sneakyThrow_(Ljava/lang/Throwable;)V
HSPLlibcore/util/XmlObjectFactory;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser;
-HSPLlibcore/util/XmlObjectFactory;->newXmlSerializer()Lorg/xmlpull/v1/XmlSerializer;
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->containsWallTime(J)Z
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->create(Llibcore/util/ZoneInfo;I)Llibcore/util/ZoneInfo$OffsetInterval;
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->getIsDst()I
-HSPLlibcore/util/ZoneInfo$OffsetInterval;->getTotalOffsetSeconds()I
-HSPLlibcore/util/ZoneInfo$WallTime;-><init>()V
-HSPLlibcore/util/ZoneInfo$WallTime;->copyFieldsFromCalendar()V
-HSPLlibcore/util/ZoneInfo$WallTime;->copyFieldsToCalendar()V
-HSPLlibcore/util/ZoneInfo$WallTime;->doWallTimeSearch(Llibcore/util/ZoneInfo;IIZ)Ljava/lang/Integer;
-HSPLlibcore/util/ZoneInfo$WallTime;->getGmtOffset()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getHour()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getIsDst()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getMinute()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getMonth()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getMonthDay()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getSecond()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getWeekDay()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getYear()I
-HSPLlibcore/util/ZoneInfo$WallTime;->getYearDay()I
-HSPLlibcore/util/ZoneInfo$WallTime;->localtime(ILlibcore/util/ZoneInfo;)V
-HSPLlibcore/util/ZoneInfo$WallTime;->mktime(Llibcore/util/ZoneInfo;)I
-HSPLlibcore/util/ZoneInfo$WallTime;->setGmtOffset(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setHour(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setIsDst(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setMinute(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setMonth(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setMonthDay(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setSecond(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setWeekDay(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setYear(I)V
-HSPLlibcore/util/ZoneInfo$WallTime;->setYearDay(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->copyFieldsFromCalendar()V
+HPLlibcore/util/ZoneInfo$WallTime;->copyFieldsToCalendar()V
+HPLlibcore/util/ZoneInfo$WallTime;->getGmtOffset()I
+HPLlibcore/util/ZoneInfo$WallTime;->getHour()I
+HPLlibcore/util/ZoneInfo$WallTime;->getIsDst()I
+HPLlibcore/util/ZoneInfo$WallTime;->getMinute()I
+HPLlibcore/util/ZoneInfo$WallTime;->getMonth()I
+HPLlibcore/util/ZoneInfo$WallTime;->getMonthDay()I
+HPLlibcore/util/ZoneInfo$WallTime;->getSecond()I
+HPLlibcore/util/ZoneInfo$WallTime;->getWeekDay()I
+HPLlibcore/util/ZoneInfo$WallTime;->getYear()I
+HPLlibcore/util/ZoneInfo$WallTime;->getYearDay()I
+HPLlibcore/util/ZoneInfo$WallTime;->localtime(ILlibcore/util/ZoneInfo;)V
+HPLlibcore/util/ZoneInfo$WallTime;->mktime(Llibcore/util/ZoneInfo;)I
+HPLlibcore/util/ZoneInfo$WallTime;->setGmtOffset(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setHour(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setIsDst(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setMinute(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setMonth(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setMonthDay(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setSecond(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setWeekDay(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setYear(I)V
+HPLlibcore/util/ZoneInfo$WallTime;->setYearDay(I)V
HSPLlibcore/util/ZoneInfo;-><init>(Ljava/lang/String;[J[B[I[BJ)V
-HSPLlibcore/util/ZoneInfo;->access$400(JI)I
-HSPLlibcore/util/ZoneInfo;->access$500(II)I
+PLlibcore/util/ZoneInfo;->access$000(Llibcore/util/ZoneInfo;)I
+PLlibcore/util/ZoneInfo;->access$100(Llibcore/util/ZoneInfo;)[J
+HPLlibcore/util/ZoneInfo;->access$500(JI)I
+HPLlibcore/util/ZoneInfo;->access$600(JI)I
+HSPLlibcore/util/ZoneInfo;->checkTzifVersionAcceptable(Ljava/lang/String;B)V
+PLlibcore/util/ZoneInfo;->checked32BitAdd(JI)I
+PLlibcore/util/ZoneInfo;->checked32BitSubtract(JI)I
HSPLlibcore/util/ZoneInfo;->clone()Ljava/lang/Object;
-HSPLlibcore/util/ZoneInfo;->getDSTSavings()I
+HSPLlibcore/util/ZoneInfo;->findOffsetIndexForTimeInMilliseconds(J)I
+HSPLlibcore/util/ZoneInfo;->findOffsetIndexForTimeInSeconds(J)I
+HSPLlibcore/util/ZoneInfo;->findTransitionIndex(J)I
HSPLlibcore/util/ZoneInfo;->getOffset(J)I
HSPLlibcore/util/ZoneInfo;->getOffsetsByUtcTime(J[I)I
HSPLlibcore/util/ZoneInfo;->getRawOffset()I
+HSPLlibcore/util/ZoneInfo;->hasSameRules(Ljava/util/TimeZone;)Z
HSPLlibcore/util/ZoneInfo;->hashCode()I
HSPLlibcore/util/ZoneInfo;->inDaylightTime(Ljava/util/Date;)Z
+HSPLlibcore/util/ZoneInfo;->read64BitData(Ljava/lang/String;Llibcore/io/BufferIterator;J)Llibcore/util/ZoneInfo;
HSPLlibcore/util/ZoneInfo;->readTimeZone(Ljava/lang/String;Llibcore/io/BufferIterator;J)Llibcore/util/ZoneInfo;
+HSPLlibcore/util/ZoneInfo;->roundDownMillisToSeconds(J)J
+HSPLlibcore/util/ZoneInfo;->roundUpMillisToSeconds(J)J
+HSPLlibcore/util/ZoneInfo;->skipOver32BitData(Ljava/lang/String;Llibcore/io/BufferIterator;)V
HSPLorg/apache/harmony/dalvik/ddmc/Chunk;-><init>(ILjava/nio/ByteBuffer;)V
HSPLorg/apache/harmony/dalvik/ddmc/ChunkHandler;->putString(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
-HSPLorg/apache/harmony/dalvik/ddmc/ChunkHandler;->type(Ljava/lang/String;)I
-HSPLorg/apache/harmony/dalvik/ddmc/ChunkHandler;->wrapChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Ljava/nio/ByteBuffer;
-HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->broadcast(I)V
-HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->dispatch(I[BII)Lorg/apache/harmony/dalvik/ddmc/Chunk;
-HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->registerHandler(ILorg/apache/harmony/dalvik/ddmc/ChunkHandler;)V
-HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->registrationComplete()V
HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->sendChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)V
-HSPLorg/apache/harmony/xml/dom/CharacterDataImpl;->getData()Ljava/lang/String;
-HSPLorg/apache/harmony/xml/dom/CharacterDataImpl;->getLength()I
-HSPLorg/apache/harmony/xml/dom/CharacterDataImpl;->getNodeValue()Ljava/lang/String;
-HSPLorg/apache/harmony/xml/dom/DOMImplementationImpl;->getInstance()Lorg/apache/harmony/xml/dom/DOMImplementationImpl;
-HSPLorg/apache/harmony/xml/dom/DocumentImpl;-><init>(Lorg/apache/harmony/xml/dom/DOMImplementationImpl;Ljava/lang/String;Ljava/lang/String;Lorg/w3c/dom/DocumentType;Ljava/lang/String;)V
-HSPLorg/apache/harmony/xml/dom/DocumentImpl;->getDocumentElement()Lorg/w3c/dom/Element;
-HSPLorg/apache/harmony/xml/dom/DocumentImpl;->insertChildAt(Lorg/w3c/dom/Node;I)Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/DocumentImpl;->isXMLIdentifier(Ljava/lang/String;)Z
-HSPLorg/apache/harmony/xml/dom/ElementImpl;->getNodeName()Ljava/lang/String;
-HSPLorg/apache/harmony/xml/dom/ElementImpl;->getNodeType()S
-HSPLorg/apache/harmony/xml/dom/ElementImpl;->getTagName()Ljava/lang/String;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->appendChild(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->getChildNodes()Lorg/w3c/dom/NodeList;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->getFirstChild()Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->getLastChild()Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->getNextSibling()Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->getTextContent()Ljava/lang/String;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->insertChildAt(Lorg/w3c/dom/Node;I)Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->isParentOf(Lorg/w3c/dom/Node;)Z
-HSPLorg/apache/harmony/xml/dom/InnerNodeImpl;->normalize()V
-HSPLorg/apache/harmony/xml/dom/LeafNodeImpl;-><init>(Lorg/apache/harmony/xml/dom/DocumentImpl;)V
-HSPLorg/apache/harmony/xml/dom/LeafNodeImpl;->getNextSibling()Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/LeafNodeImpl;->getPreviousSibling()Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/LeafNodeImpl;->isParentOf(Lorg/w3c/dom/Node;)Z
-HSPLorg/apache/harmony/xml/dom/NodeImpl$1;-><init>()V
-HSPLorg/apache/harmony/xml/dom/NodeImpl;->getTextContent()Ljava/lang/String;
-HSPLorg/apache/harmony/xml/dom/NodeImpl;->normalize()V
-HSPLorg/apache/harmony/xml/dom/NodeImpl;->setName(Lorg/apache/harmony/xml/dom/NodeImpl;Ljava/lang/String;)V
-HSPLorg/apache/harmony/xml/dom/NodeListImpl;-><init>()V
-HSPLorg/apache/harmony/xml/dom/NodeListImpl;->getLength()I
-HSPLorg/apache/harmony/xml/dom/NodeListImpl;->item(I)Lorg/w3c/dom/Node;
-HSPLorg/apache/harmony/xml/dom/TextImpl;->getNodeType()S
-HSPLorg/apache/harmony/xml/dom/TextImpl;->minimize()Lorg/apache/harmony/xml/dom/TextImpl;
-HSPLorg/apache/harmony/xml/parsers/DocumentBuilderFactoryImpl;->newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder;
-HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->appendText(Lorg/apache/harmony/xml/dom/DocumentImpl;Lorg/w3c/dom/Node;ILjava/lang/String;)V
-HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->parse(Lcom/android/org/kxml2/io/KXmlParser;Lorg/apache/harmony/xml/dom/DocumentImpl;Lorg/w3c/dom/Node;I)V
-HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->parse(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
-HSPLorg/apache/http/conn/ssl/AllowAllHostnameVerifier;-><init>()V
-HSPLorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;-><init>()V
-HSPLorg/apache/http/conn/ssl/StrictHostnameVerifier;-><init>()V
+HSPLorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Ljavax/net/ssl/SSLSocketFactory;)V
HSPLorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V
HSPLorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->clear()V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->ensureCapacity(I)V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getIndex(Ljava/lang/String;)I
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getLength()I
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getLocalName(I)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getQName(I)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getType(I)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getURI(I)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(I)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->removeAttribute(I)V
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V
-HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V
-HSPLorg/ccil/cowan/tagsoup/Element;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl;
-HSPLorg/ccil/cowan/tagsoup/Element;->canContain(Lorg/ccil/cowan/tagsoup/Element;)Z
-HSPLorg/ccil/cowan/tagsoup/Element;->clean()V
-HSPLorg/ccil/cowan/tagsoup/Element;->flags()I
-HSPLorg/ccil/cowan/tagsoup/Element;->isPreclosed()Z
-HSPLorg/ccil/cowan/tagsoup/Element;->localName()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Element;->model()I
-HSPLorg/ccil/cowan/tagsoup/Element;->name()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Element;->namespace()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Element;->next()Lorg/ccil/cowan/tagsoup/Element;
-HSPLorg/ccil/cowan/tagsoup/Element;->parent()Lorg/ccil/cowan/tagsoup/ElementType;
-HSPLorg/ccil/cowan/tagsoup/Element;->setNext(Lorg/ccil/cowan/tagsoup/Element;)V
-HSPLorg/ccil/cowan/tagsoup/ElementType;-><init>(Ljava/lang/String;IIILorg/ccil/cowan/tagsoup/Schema;)V
-HSPLorg/ccil/cowan/tagsoup/ElementType;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->canContain(Lorg/ccil/cowan/tagsoup/ElementType;)Z
-HSPLorg/ccil/cowan/tagsoup/ElementType;->flags()I
-HSPLorg/ccil/cowan/tagsoup/ElementType;->localName()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->localName(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->model()I
-HSPLorg/ccil/cowan/tagsoup/ElementType;->name()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->namespace()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->namespace(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->normalize(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->parent()Lorg/ccil/cowan/tagsoup/ElementType;
-HSPLorg/ccil/cowan/tagsoup/ElementType;->setAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/ElementType;->setAttribute(Lorg/ccil/cowan/tagsoup/AttributesImpl;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/ElementType;->setParent(Lorg/ccil/cowan/tagsoup/ElementType;)V
-HSPLorg/ccil/cowan/tagsoup/HTMLScanner;-><init>()V
-HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->resetDocumentLocator(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->save(ILorg/ccil/cowan/tagsoup/ScanHandler;)V
-HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V
-HSPLorg/ccil/cowan/tagsoup/HTMLSchema;-><init>()V
-HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V
-HSPLorg/ccil/cowan/tagsoup/Parser;->entity([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->eof([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->etag([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->etag_basic([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->etag_cdata([CII)Z
-HSPLorg/ccil/cowan/tagsoup/Parser;->getEntity()I
-HSPLorg/ccil/cowan/tagsoup/Parser;->getReader(Lorg/xml/sax/InputSource;)Ljava/io/Reader;
-HSPLorg/ccil/cowan/tagsoup/Parser;->gi([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->lookupEntity([CII)I
-HSPLorg/ccil/cowan/tagsoup/Parser;->makeName([CII)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Parser;->parse(Lorg/xml/sax/InputSource;)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->pcdata([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->pop()V
-HSPLorg/ccil/cowan/tagsoup/Parser;->push(Lorg/ccil/cowan/tagsoup/Element;)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->rectify(Lorg/ccil/cowan/tagsoup/Element;)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->restart(Lorg/ccil/cowan/tagsoup/Element;)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->setContentHandler(Lorg/xml/sax/ContentHandler;)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V
-HSPLorg/ccil/cowan/tagsoup/Parser;->stagc([CII)V
-HSPLorg/ccil/cowan/tagsoup/Schema;-><init>()V
-HSPLorg/ccil/cowan/tagsoup/Schema;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/Schema;->elementType(Ljava/lang/String;III)V
-HSPLorg/ccil/cowan/tagsoup/Schema;->entity(Ljava/lang/String;I)V
-HSPLorg/ccil/cowan/tagsoup/Schema;->getElementType(Ljava/lang/String;)Lorg/ccil/cowan/tagsoup/ElementType;
-HSPLorg/ccil/cowan/tagsoup/Schema;->getPrefix()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Schema;->getURI()Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Schema;->parent(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/Schema;->setPrefix(Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/Schema;->setURI(Ljava/lang/String;)V
+HSPLorg/apache/http/params/HttpConnectionParams;->setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V
+HSPLorg/apache/http/params/HttpConnectionParams;->setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V
HSPLorg/json/JSON;->checkDouble(D)D
HSPLorg/json/JSON;->toBoolean(Ljava/lang/Object;)Ljava/lang/Boolean;
-HSPLorg/json/JSON;->toDouble(Ljava/lang/Object;)Ljava/lang/Double;
HSPLorg/json/JSON;->toInteger(Ljava/lang/Object;)Ljava/lang/Integer;
HSPLorg/json/JSON;->toLong(Ljava/lang/Object;)Ljava/lang/Long;
+HSPLorg/json/JSON;->toString(Ljava/lang/Object;)Ljava/lang/String;
HSPLorg/json/JSONArray;-><init>()V
-HSPLorg/json/JSONArray;-><init>(Ljava/lang/Object;)V
HSPLorg/json/JSONArray;-><init>(Ljava/lang/String;)V
+HSPLorg/json/JSONArray;-><init>(Ljava/util/Collection;)V
+HSPLorg/json/JSONArray;-><init>(Lorg/json/JSONTokener;)V
HSPLorg/json/JSONArray;->get(I)Ljava/lang/Object;
HSPLorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
HSPLorg/json/JSONArray;->getString(I)Ljava/lang/String;
HSPLorg/json/JSONArray;->length()I
HSPLorg/json/JSONArray;->opt(I)Ljava/lang/Object;
HSPLorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
-HSPLorg/json/JSONArray;->put(J)Lorg/json/JSONArray;
HSPLorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
HSPLorg/json/JSONArray;->toString()Ljava/lang/String;
HSPLorg/json/JSONArray;->writeTo(Lorg/json/JSONStringer;)V
-HSPLorg/json/JSONObject$1;-><init>()V
+HSPLorg/json/JSONException;-><init>(Ljava/lang/String;)V
HSPLorg/json/JSONObject;-><init>()V
HSPLorg/json/JSONObject;-><init>(Ljava/lang/String;)V
HSPLorg/json/JSONObject;-><init>(Ljava/util/Map;)V
+HSPLorg/json/JSONObject;-><init>(Lorg/json/JSONTokener;)V
HSPLorg/json/JSONObject;->checkName(Ljava/lang/String;)Ljava/lang/String;
HSPLorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
HSPLorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
@@ -31095,28 +15157,29 @@ HSPLorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->getLong(Ljava/lang/String;)J
HSPLorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
HSPLorg/json/JSONObject;->has(Ljava/lang/String;)Z
+HSPLorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
HSPLorg/json/JSONObject;->keys()Ljava/util/Iterator;
+HSPLorg/json/JSONObject;->length()I
HSPLorg/json/JSONObject;->numberToString(Ljava/lang/Number;)Ljava/lang/String;
HSPLorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/json/JSONObject;->optBoolean(Ljava/lang/String;)Z
HSPLorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
-HSPLorg/json/JSONObject;->optDouble(Ljava/lang/String;)D
-HSPLorg/json/JSONObject;->optDouble(Ljava/lang/String;D)D
+HSPLorg/json/JSONObject;->optInt(Ljava/lang/String;)I
HSPLorg/json/JSONObject;->optInt(Ljava/lang/String;I)I
+HSPLorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
HSPLorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
+HSPLorg/json/JSONObject;->optLong(Ljava/lang/String;)J
HSPLorg/json/JSONObject;->optLong(Ljava/lang/String;J)J
HSPLorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
HSPLorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
-HSPLorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+HSPLorg/json/JSONObject;->remove(Ljava/lang/String;)Ljava/lang/Object;
HSPLorg/json/JSONObject;->toString()Ljava/lang/String;
HSPLorg/json/JSONObject;->wrap(Ljava/lang/Object;)Ljava/lang/Object;
HSPLorg/json/JSONObject;->writeTo(Lorg/json/JSONStringer;)V
-HSPLorg/json/JSONStringer$Scope;-><init>(Ljava/lang/String;I)V
+HSPLorg/json/JSONStringer;-><init>()V
HSPLorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
HSPLorg/json/JSONStringer;->beforeKey()V
HSPLorg/json/JSONStringer;->beforeValue()V
@@ -31124,10 +15187,15 @@ HSPLorg/json/JSONStringer;->close(Lorg/json/JSONStringer$Scope;Lorg/json/JSONStr
HSPLorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
HSPLorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
HSPLorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
+HSPLorg/json/JSONStringer;->newline()V
HSPLorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
HSPLorg/json/JSONStringer;->open(Lorg/json/JSONStringer$Scope;Ljava/lang/String;)Lorg/json/JSONStringer;
+HSPLorg/json/JSONStringer;->peek()Lorg/json/JSONStringer$Scope;
+HSPLorg/json/JSONStringer;->replaceTop(Lorg/json/JSONStringer$Scope;)V
HSPLorg/json/JSONStringer;->string(Ljava/lang/String;)V
+HSPLorg/json/JSONStringer;->toString()Ljava/lang/String;
HSPLorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
+HSPLorg/json/JSONTokener;-><init>(Ljava/lang/String;)V
HSPLorg/json/JSONTokener;->nextCleanInternal()I
HSPLorg/json/JSONTokener;->nextString(C)Ljava/lang/String;
HSPLorg/json/JSONTokener;->nextToInternal(Ljava/lang/String;)Ljava/lang/String;
@@ -31136,51 +15204,42 @@ HSPLorg/json/JSONTokener;->readArray()Lorg/json/JSONArray;
HSPLorg/json/JSONTokener;->readEscapeCharacter()C
HSPLorg/json/JSONTokener;->readLiteral()Ljava/lang/Object;
HSPLorg/json/JSONTokener;->readObject()Lorg/json/JSONObject;
-HSPLorg/xml/sax/InputSource;->getByteStream()Ljava/io/InputStream;
-HSPLorg/xml/sax/InputSource;->getCharacterStream()Ljava/io/Reader;
-HSPLorg/xml/sax/InputSource;->getEncoding()Ljava/lang/String;
-HSPLorg/xml/sax/InputSource;->getPublicId()Ljava/lang/String;
-HSPLorg/xml/sax/InputSource;->getSystemId()Ljava/lang/String;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;-><init>()V
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->getParserInstance()Lorg/xmlpull/v1/XmlPullParser;
-HPLorg/xmlpull/v1/XmlPullParserFactory;->getSerializerInstance()Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
-HPLorg/xmlpull/v1/XmlPullParserFactory;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
-HSPLsun/invoke/util/Wrapper;->forPrimitiveType(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
-HSPLsun/misc/ASCIICaseInsensitiveComparator;-><init>()V
HSPLsun/misc/ASCIICaseInsensitiveComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLsun/misc/ASCIICaseInsensitiveComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
+HSPLsun/misc/ASCIICaseInsensitiveComparator;->isUpper(I)Z
+HSPLsun/misc/ASCIICaseInsensitiveComparator;->lowerCaseHashCode(Ljava/lang/String;)I
+HSPLsun/misc/ASCIICaseInsensitiveComparator;->toLower(I)I
+HSPLsun/misc/Cleaner;-><init>(Ljava/lang/Object;Ljava/lang/Runnable;)V
HSPLsun/misc/Cleaner;->add(Lsun/misc/Cleaner;)Lsun/misc/Cleaner;
HSPLsun/misc/Cleaner;->clean()V
HSPLsun/misc/Cleaner;->create(Ljava/lang/Object;Ljava/lang/Runnable;)Lsun/misc/Cleaner;
HSPLsun/misc/Cleaner;->remove(Lsun/misc/Cleaner;)Z
+HSPLsun/misc/CompoundEnumeration;-><init>([Ljava/util/Enumeration;)V
HSPLsun/misc/CompoundEnumeration;->hasMoreElements()Z
+HSPLsun/misc/CompoundEnumeration;->next()Z
HSPLsun/misc/FDBigInteger;-><init>(J[CII)V
HSPLsun/misc/FDBigInteger;-><init>([II)V
-HSPLsun/misc/FDBigInteger;->add(Lsun/misc/FDBigInteger;)Lsun/misc/FDBigInteger;
-HSPLsun/misc/FDBigInteger;->addAndCmp(Lsun/misc/FDBigInteger;Lsun/misc/FDBigInteger;)I
+HSPLsun/misc/FDBigInteger;->big5pow(I)Lsun/misc/FDBigInteger;
HSPLsun/misc/FDBigInteger;->cmp(Lsun/misc/FDBigInteger;)I
HSPLsun/misc/FDBigInteger;->cmpPow52(II)I
-HSPLsun/misc/FDBigInteger;->getNormalizationBias()I
HSPLsun/misc/FDBigInteger;->leftInplaceSub(Lsun/misc/FDBigInteger;)Lsun/misc/FDBigInteger;
HSPLsun/misc/FDBigInteger;->leftShift(I)Lsun/misc/FDBigInteger;
+HSPLsun/misc/FDBigInteger;->leftShift([II[IIII)V
HSPLsun/misc/FDBigInteger;->makeImmutable()V
-HSPLsun/misc/FDBigInteger;->mult(I)Lsun/misc/FDBigInteger;
-HSPLsun/misc/FDBigInteger;->mult([IIII[I)V
+HSPLsun/misc/FDBigInteger;->mult([III[I)V
HSPLsun/misc/FDBigInteger;->multAddMe(II)V
-HSPLsun/misc/FDBigInteger;->multBy10()Lsun/misc/FDBigInteger;
HSPLsun/misc/FDBigInteger;->multByPow52(II)Lsun/misc/FDBigInteger;
-HSPLsun/misc/FDBigInteger;->multDiffMe(JLsun/misc/FDBigInteger;)J
-HSPLsun/misc/FDBigInteger;->quoRemIteration(Lsun/misc/FDBigInteger;)I
HSPLsun/misc/FDBigInteger;->rightInplaceSub(Lsun/misc/FDBigInteger;)Lsun/misc/FDBigInteger;
HSPLsun/misc/FDBigInteger;->trimLeadingZeros()V
HSPLsun/misc/FDBigInteger;->valueOfMulPow52(JII)Lsun/misc/FDBigInteger;
-HSPLsun/misc/FDBigInteger;->valueOfPow52(II)Lsun/misc/FDBigInteger;
HSPLsun/misc/FloatingDecimal$1;->initialValue()Ljava/lang/Object;
HSPLsun/misc/FloatingDecimal$1;->initialValue()Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
+HSPLsun/misc/FloatingDecimal$ASCIIToBinaryBuffer;-><init>(ZI[CI)V
HSPLsun/misc/FloatingDecimal$ASCIIToBinaryBuffer;->doubleValue()D
HSPLsun/misc/FloatingDecimal$ASCIIToBinaryBuffer;->floatValue()F
+HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;-><init>()V
+HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->access$000(Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;Z)V
+HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->access$100(Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;IJIZ)V
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->appendTo(Ljava/lang/Appendable;)V
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->developLongDigits(IJI)V
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->dtoa(IJIZ)V
@@ -31191,25 +15250,34 @@ HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->getDigits([C)I
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->isExceptional()Z
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->isNegative()Z
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->roundup()V
+HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->setSign(Z)V
HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->toJavaFormatString()Ljava/lang/String;
HSPLsun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer;->doubleValue()D
HSPLsun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer;->floatValue()F
+HSPLsun/misc/FloatingDecimal;->appendTo(DLjava/lang/Appendable;)V
+HSPLsun/misc/FloatingDecimal;->appendTo(FLjava/lang/Appendable;)V
+HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIBuffer()Lsun/misc/FloatingDecimal$BinaryToASCIIBuffer;
+HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(D)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(DZ)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(F)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
+HSPLsun/misc/FloatingDecimal;->parseDouble(Ljava/lang/String;)D
+HSPLsun/misc/FloatingDecimal;->parseFloat(Ljava/lang/String;)F
HSPLsun/misc/FloatingDecimal;->readJavaFormatString(Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
-HSPLsun/misc/FormattedFloatingDecimal$1;-><init>()V
+HSPLsun/misc/FloatingDecimal;->toJavaFormatString(D)Ljava/lang/String;
+HSPLsun/misc/FloatingDecimal;->toJavaFormatString(F)Ljava/lang/String;
HSPLsun/misc/FormattedFloatingDecimal$1;->initialValue()Ljava/lang/Object;
-HSPLsun/misc/FormattedFloatingDecimal$Form;-><init>(Ljava/lang/String;I)V
-HSPLsun/misc/FormattedFloatingDecimal$Form;->values()[Lsun/misc/FormattedFloatingDecimal$Form;
HSPLsun/misc/FormattedFloatingDecimal;-><init>(ILsun/misc/FormattedFloatingDecimal$Form;Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;)V
HSPLsun/misc/FormattedFloatingDecimal;->applyPrecision(I[CII)I
+HSPLsun/misc/FormattedFloatingDecimal;->create(ZI)[C
HSPLsun/misc/FormattedFloatingDecimal;->fillDecimal(I[CIIZ)V
+HSPLsun/misc/FormattedFloatingDecimal;->getBuffer()[C
HSPLsun/misc/FormattedFloatingDecimal;->getMantissa()[C
HSPLsun/misc/FormattedFloatingDecimal;->valueOf(DILsun/misc/FormattedFloatingDecimal$Form;)Lsun/misc/FormattedFloatingDecimal;
HSPLsun/misc/IOUtils;->readFully(Ljava/io/InputStream;IZ)[B
+HSPLsun/misc/LRUCache;-><init>(I)V
HSPLsun/misc/LRUCache;->forName(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLsun/misc/LRUCache;->moveToFront([Ljava/lang/Object;I)V
HSPLsun/misc/SharedSecrets;->getJavaIOFileDescriptorAccess()Lsun/misc/JavaIOFileDescriptorAccess;
-HSPLsun/misc/SharedSecrets;->setJavaIOFileDescriptorAccess(Lsun/misc/JavaIOFileDescriptorAccess;)V
HSPLsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
HSPLsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I
HSPLsun/misc/Unsafe;->getAndAddInt(Ljava/lang/Object;JI)I
@@ -31219,37 +15287,25 @@ HSPLsun/misc/Unsafe;->getAndSetLong(Ljava/lang/Object;JJ)J
HSPLsun/misc/Unsafe;->getAndSetObject(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
HSPLsun/misc/Unsafe;->getUnsafe()Lsun/misc/Unsafe;
HSPLsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
-HSPLsun/misc/VM;->booted()V
-HSPLsun/misc/VM;->initializeOSEnvironment()V
-HSPLsun/misc/Version;->initSystemProperties()V
-HSPLsun/net/NetProperties$1;-><init>()V
-HSPLsun/net/NetProperties$1;->run()Ljava/lang/Object;
-HSPLsun/net/NetProperties$1;->run()Ljava/lang/Void;
+HSPLsun/net/NetHooks;->beforeTcpConnect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
HSPLsun/net/NetProperties;->get(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/net/NetProperties;->loadDefaultProperties()V
-HSPLsun/net/ResourceManager;->beforeUdpCreate()V
+HSPLsun/net/spi/DefaultProxySelector$1;-><init>(Lsun/net/spi/DefaultProxySelector;Ljava/lang/String;Lsun/net/spi/DefaultProxySelector$NonProxyInfo;Ljava/lang/String;)V
+HSPLsun/net/spi/DefaultProxySelector$1;->run()Ljava/lang/Object;
HSPLsun/net/spi/DefaultProxySelector$1;->run()Ljava/net/Proxy;
-HSPLsun/net/spi/DefaultProxySelector$NonProxyInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/regex/Pattern;Ljava/lang/String;)V
-HSPLsun/net/spi/DefaultProxySelector;-><init>()V
HSPLsun/net/spi/DefaultProxySelector;->select(Ljava/net/URI;)Ljava/util/List;
+HSPLsun/net/util/IPAddressUtil;->convertFromIPv4MappedAddress([B)[B
HSPLsun/net/util/IPAddressUtil;->isIPv4MappedAddress([B)Z
HSPLsun/net/www/ParseUtil;->decode(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/net/www/ParseUtil;->encodePath(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLsun/net/www/ParseUtil;->highMask(CC)J
-HSPLsun/net/www/ParseUtil;->highMask(Ljava/lang/String;)J
-HSPLsun/net/www/ParseUtil;->lowMask(CC)J
-HSPLsun/net/www/ParseUtil;->lowMask(Ljava/lang/String;)J
HSPLsun/net/www/protocol/file/Handler;->parseURL(Ljava/net/URL;Ljava/lang/String;II)V
-HSPLsun/nio/ch/ChannelInputStream;->available()I
+HSPLsun/net/www/protocol/jar/Handler;-><init>()V
+HSPLsun/nio/ch/ChannelInputStream;-><init>(Ljava/nio/channels/ReadableByteChannel;)V
HSPLsun/nio/ch/ChannelInputStream;->close()V
-HSPLsun/nio/ch/ChannelInputStream;->read()I
HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/ByteBuffer;)I
HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/ByteBuffer;Z)I
HSPLsun/nio/ch/ChannelInputStream;->read([BII)I
-HSPLsun/nio/ch/DatagramDispatcher;-><init>()V
HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;)V
HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;Lsun/nio/ch/FileChannelImpl$1;)V
-HSPLsun/nio/ch/FileChannelImpl$Unmapper;->run()V
HSPLsun/nio/ch/FileChannelImpl;-><init>(Ljava/io/FileDescriptor;Ljava/lang/String;ZZZLjava/lang/Object;)V
HSPLsun/nio/ch/FileChannelImpl;->ensureOpen()V
HSPLsun/nio/ch/FileChannelImpl;->fileLockTable()Lsun/nio/ch/FileLockTable;
@@ -31258,13 +15314,16 @@ HSPLsun/nio/ch/FileChannelImpl;->implCloseChannel()V
HSPLsun/nio/ch/FileChannelImpl;->isSharedFileLockTable()Z
HSPLsun/nio/ch/FileChannelImpl;->lock(JJZ)Ljava/nio/channels/FileLock;
HSPLsun/nio/ch/FileChannelImpl;->map(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
+HSPLsun/nio/ch/FileChannelImpl;->open(Ljava/io/FileDescriptor;Ljava/lang/String;ZZLjava/lang/Object;)Ljava/nio/channels/FileChannel;
+HSPLsun/nio/ch/FileChannelImpl;->open(Ljava/io/FileDescriptor;Ljava/lang/String;ZZZLjava/lang/Object;)Ljava/nio/channels/FileChannel;
HSPLsun/nio/ch/FileChannelImpl;->position()J
HSPLsun/nio/ch/FileChannelImpl;->position(J)Ljava/nio/channels/FileChannel;
HSPLsun/nio/ch/FileChannelImpl;->read(Ljava/nio/ByteBuffer;)I
+HSPLsun/nio/ch/FileChannelImpl;->release(Lsun/nio/ch/FileLockImpl;)V
HSPLsun/nio/ch/FileChannelImpl;->size()J
-HSPLsun/nio/ch/FileChannelImpl;->tryLock(JJZ)Ljava/nio/channels/FileLock;
HSPLsun/nio/ch/FileChannelImpl;->write(Ljava/nio/ByteBuffer;)I
-HSPLsun/nio/ch/FileDispatcherImpl;-><init>()V
+HSPLsun/nio/ch/FileDispatcher;-><init>()V
+HSPLsun/nio/ch/FileDispatcherImpl;-><init>(Z)V
HSPLsun/nio/ch/FileDispatcherImpl;->close(Ljava/io/FileDescriptor;)V
HSPLsun/nio/ch/FileDispatcherImpl;->duplicateForMapping(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
HSPLsun/nio/ch/FileDispatcherImpl;->lock(Ljava/io/FileDescriptor;ZJJZ)I
@@ -31272,38 +15331,54 @@ HSPLsun/nio/ch/FileDispatcherImpl;->read(Ljava/io/FileDescriptor;JI)I
HSPLsun/nio/ch/FileDispatcherImpl;->release(Ljava/io/FileDescriptor;JJ)V
HSPLsun/nio/ch/FileDispatcherImpl;->size(Ljava/io/FileDescriptor;)J
HSPLsun/nio/ch/FileDispatcherImpl;->write(Ljava/io/FileDescriptor;JI)I
+HSPLsun/nio/ch/FileKey;-><init>()V
HSPLsun/nio/ch/FileKey;->create(Ljava/io/FileDescriptor;)Lsun/nio/ch/FileKey;
HSPLsun/nio/ch/FileKey;->hashCode()I
+HSPLsun/nio/ch/FileLockImpl;-><init>(Ljava/nio/channels/FileChannel;JJZ)V
HSPLsun/nio/ch/FileLockImpl;->invalidate()V
HSPLsun/nio/ch/FileLockImpl;->isValid()Z
+HSPLsun/nio/ch/FileLockImpl;->release()V
+HSPLsun/nio/ch/FileLockTable;-><init>()V
+HSPLsun/nio/ch/FileLockTable;->newSharedFileLockTable(Ljava/nio/channels/Channel;Ljava/io/FileDescriptor;)Lsun/nio/ch/FileLockTable;
+HSPLsun/nio/ch/IOStatus;->checkAll(J)Z
+HSPLsun/nio/ch/IOStatus;->normalize(I)I
+HSPLsun/nio/ch/IOStatus;->normalize(J)J
HSPLsun/nio/ch/IOUtil;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
HSPLsun/nio/ch/IOUtil;->readIntoNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
HSPLsun/nio/ch/IOUtil;->write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
HSPLsun/nio/ch/IOUtil;->writeFromNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
+HSPLsun/nio/ch/NativeDispatcher;-><init>()V
+HSPLsun/nio/ch/NativeThreadSet;-><init>(I)V
HSPLsun/nio/ch/NativeThreadSet;->add()I
HSPLsun/nio/ch/NativeThreadSet;->remove(I)V
HSPLsun/nio/ch/NativeThreadSet;->signalAndWait()V
-HSPLsun/nio/ch/Net$1;-><init>()V
-HSPLsun/nio/ch/Net;->isFastTcpLoopbackRequested()Z
+HSPLsun/nio/ch/SharedFileLockTable$FileLockReference;-><init>(Ljava/nio/channels/FileLock;Ljava/lang/ref/ReferenceQueue;Lsun/nio/ch/FileKey;)V
+HSPLsun/nio/ch/SharedFileLockTable;-><init>(Ljava/nio/channels/Channel;Ljava/io/FileDescriptor;)V
HSPLsun/nio/ch/SharedFileLockTable;->add(Ljava/nio/channels/FileLock;)V
+HSPLsun/nio/ch/SharedFileLockTable;->remove(Ljava/nio/channels/FileLock;)V
HSPLsun/nio/ch/SharedFileLockTable;->removeAll()Ljava/util/List;
+HSPLsun/nio/ch/SharedFileLockTable;->removeKeyIfEmpty(Lsun/nio/ch/FileKey;Ljava/util/List;)V
HSPLsun/nio/ch/SharedFileLockTable;->removeStaleEntries()V
-HSPLsun/nio/ch/SocketDispatcher;-><init>()V
-HSPLsun/nio/ch/Util$1;-><init>()V
HSPLsun/nio/ch/Util$1;->initialValue()Ljava/lang/Object;
HSPLsun/nio/ch/Util$1;->initialValue()Lsun/nio/ch/Util$BufferCache;
+HSPLsun/nio/ch/Util$BufferCache;-><init>()V
HSPLsun/nio/ch/Util$BufferCache;->get(I)Ljava/nio/ByteBuffer;
HSPLsun/nio/ch/Util$BufferCache;->isEmpty()Z
+HSPLsun/nio/ch/Util$BufferCache;->next(I)I
HSPLsun/nio/ch/Util$BufferCache;->offerFirst(Ljava/nio/ByteBuffer;)Z
HSPLsun/nio/ch/Util$BufferCache;->removeFirst()Ljava/nio/ByteBuffer;
-HSPLsun/nio/ch/Util;->getMaxCachedBufferSize()J
+HSPLsun/nio/ch/Util;->access$000()I
+HSPLsun/nio/ch/Util;->free(Ljava/nio/ByteBuffer;)V
HSPLsun/nio/ch/Util;->getTemporaryDirectBuffer(I)Ljava/nio/ByteBuffer;
+HSPLsun/nio/ch/Util;->isBufferTooLarge(I)Z
+HSPLsun/nio/ch/Util;->isBufferTooLarge(Ljava/nio/ByteBuffer;)Z
+HSPLsun/nio/ch/Util;->offerFirstTemporaryDirectBuffer(Ljava/nio/ByteBuffer;)V
HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/Charset;)V
HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/CharsetDecoder;)V
-HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/charset/CharsetDecoder;I)V
HSPLsun/nio/cs/StreamDecoder;->close()V
HSPLsun/nio/cs/StreamDecoder;->ensureOpen()V
HSPLsun/nio/cs/StreamDecoder;->forInputStreamReader(Ljava/io/InputStream;Ljava/lang/Object;Ljava/lang/String;)Lsun/nio/cs/StreamDecoder;
+HSPLsun/nio/cs/StreamDecoder;->forInputStreamReader(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/Charset;)Lsun/nio/cs/StreamDecoder;
HSPLsun/nio/cs/StreamDecoder;->implClose()V
HSPLsun/nio/cs/StreamDecoder;->implRead([CII)I
HSPLsun/nio/cs/StreamDecoder;->implReady()Z
@@ -31318,157 +15393,155 @@ HSPLsun/nio/cs/StreamEncoder;->ensureOpen()V
HSPLsun/nio/cs/StreamEncoder;->flush()V
HSPLsun/nio/cs/StreamEncoder;->flushLeftoverChar(Ljava/nio/CharBuffer;Z)V
HSPLsun/nio/cs/StreamEncoder;->forOutputStreamWriter(Ljava/io/OutputStream;Ljava/lang/Object;Ljava/lang/String;)Lsun/nio/cs/StreamEncoder;
+HSPLsun/nio/cs/StreamEncoder;->forOutputStreamWriter(Ljava/io/OutputStream;Ljava/lang/Object;Ljava/nio/charset/Charset;)Lsun/nio/cs/StreamEncoder;
HSPLsun/nio/cs/StreamEncoder;->implClose()V
HSPLsun/nio/cs/StreamEncoder;->implFlush()V
HSPLsun/nio/cs/StreamEncoder;->implFlushBuffer()V
HSPLsun/nio/cs/StreamEncoder;->implWrite([CII)V
+HSPLsun/nio/cs/StreamEncoder;->write(I)V
HSPLsun/nio/cs/StreamEncoder;->write(Ljava/lang/String;II)V
HSPLsun/nio/cs/StreamEncoder;->write([CII)V
HSPLsun/nio/cs/StreamEncoder;->writeBytes()V
-HSPLsun/nio/cs/ThreadLocalCoders$1;-><init>(I)V
-HSPLsun/nio/cs/ThreadLocalCoders$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/nio/cs/ThreadLocalCoders$2;-><init>(I)V
-HSPLsun/nio/cs/ThreadLocalCoders$2;->create(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/nio/cs/ThreadLocalCoders$2;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLsun/nio/cs/ThreadLocalCoders$Cache;->forName(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/nio/fs/AbstractPath;->resolve(Ljava/lang/String;)Ljava/nio/file/Path;
-HSPLsun/nio/fs/AbstractPath;->startsWith(Ljava/lang/String;)Z
-HSPLsun/nio/fs/AbstractPath;->toFile()Ljava/io/File;
-HSPLsun/nio/fs/DefaultFileSystemProvider;->create()Ljava/nio/file/spi/FileSystemProvider;
-HSPLsun/nio/fs/DefaultFileSystemProvider;->createProvider(Ljava/lang/String;)Ljava/nio/file/spi/FileSystemProvider;
-PLsun/nio/fs/Globs;->toRegexPattern(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLsun/nio/fs/LinuxFileSystemProvider;-><init>()V
+HSPLsun/nio/fs/AbstractBasicFileAttributeView;-><init>()V
+HSPLsun/nio/fs/AbstractPath;-><init>()V
HSPLsun/nio/fs/LinuxFileSystemProvider;->getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
-HSPLsun/nio/fs/LinuxFileSystemProvider;->newFileSystem(Ljava/lang/String;)Lsun/nio/fs/LinuxFileSystem;
-HSPLsun/nio/fs/LinuxFileSystemProvider;->newFileSystem(Ljava/lang/String;)Lsun/nio/fs/UnixFileSystem;
HSPLsun/nio/fs/LinuxFileSystemProvider;->readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
+HSPLsun/nio/fs/NativeBuffer$Deallocator;-><init>(J)V
+HSPLsun/nio/fs/NativeBuffer;-><init>(I)V
HSPLsun/nio/fs/NativeBuffer;->address()J
HSPLsun/nio/fs/NativeBuffer;->owner()Ljava/lang/Object;
HSPLsun/nio/fs/NativeBuffer;->release()V
HSPLsun/nio/fs/NativeBuffer;->setOwner(Ljava/lang/Object;)V
HSPLsun/nio/fs/NativeBuffer;->size()I
+HSPLsun/nio/fs/NativeBuffers;->allocNativeBuffer(I)Lsun/nio/fs/NativeBuffer;
HSPLsun/nio/fs/NativeBuffers;->copyCStringToNativeBuffer([BLsun/nio/fs/NativeBuffer;)V
+HSPLsun/nio/fs/NativeBuffers;->getNativeBufferFromCache(I)Lsun/nio/fs/NativeBuffer;
HSPLsun/nio/fs/NativeBuffers;->releaseNativeBuffer(Lsun/nio/fs/NativeBuffer;)V
+HSPLsun/nio/fs/UnixChannelFactory$Flags;-><init>()V
HSPLsun/nio/fs/UnixChannelFactory$Flags;->toFlags(Ljava/util/Set;)Lsun/nio/fs/UnixChannelFactory$Flags;
+HSPLsun/nio/fs/UnixChannelFactory;-><clinit>()V
HSPLsun/nio/fs/UnixChannelFactory;->newFileChannel(ILsun/nio/fs/UnixPath;Ljava/lang/String;Ljava/util/Set;I)Ljava/nio/channels/FileChannel;
+HSPLsun/nio/fs/UnixChannelFactory;->newFileChannel(Lsun/nio/fs/UnixPath;Ljava/util/Set;I)Ljava/nio/channels/FileChannel;
HSPLsun/nio/fs/UnixChannelFactory;->open(ILsun/nio/fs/UnixPath;Ljava/lang/String;Lsun/nio/fs/UnixChannelFactory$Flags;I)Ljava/io/FileDescriptor;
-HSPLsun/nio/fs/UnixConstants;->get_S_IAMB()I
-HSPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->hasNext()Z
-HSPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->next()Ljava/lang/Object;
-HSPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->next()Ljava/nio/file/Path;
-HSPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->readNextEntry()Ljava/nio/file/Path;
-HSPLsun/nio/fs/UnixDirectoryStream;->close()V
-HSPLsun/nio/fs/UnixDirectoryStream;->closeImpl()Z
-HSPLsun/nio/fs/UnixDirectoryStream;->finalize()V
-HSPLsun/nio/fs/UnixDirectoryStream;->iterator(Ljava/nio/file/DirectoryStream;)Ljava/util/Iterator;
HSPLsun/nio/fs/UnixException;-><init>(I)V
HSPLsun/nio/fs/UnixException;->errno()I
HSPLsun/nio/fs/UnixException;->rethrowAsIOException(Lsun/nio/fs/UnixPath;)V
HSPLsun/nio/fs/UnixException;->rethrowAsIOException(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
HSPLsun/nio/fs/UnixException;->translateToIOException(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
+HSPLsun/nio/fs/UnixFileAttributeViews$Basic;-><init>(Lsun/nio/fs/UnixPath;Z)V
HSPLsun/nio/fs/UnixFileAttributeViews$Basic;->readAttributes()Ljava/nio/file/attribute/BasicFileAttributes;
-HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
+HSPLsun/nio/fs/UnixFileAttributeViews;->createBasicView(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Basic;
+HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;-><init>(Lsun/nio/fs/UnixFileAttributes;)V
HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->isRegularFile()Z
-HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
-HSPLsun/nio/fs/UnixFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
+HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->wrap(Lsun/nio/fs/UnixFileAttributes;)Lsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;
+HSPLsun/nio/fs/UnixFileAttributes;-><init>()V
+HSPLsun/nio/fs/UnixFileAttributes;->asBasicFileAttributes()Ljava/nio/file/attribute/BasicFileAttributes;
+HSPLsun/nio/fs/UnixFileAttributes;->get(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributes;
HSPLsun/nio/fs/UnixFileAttributes;->isRegularFile()Z
-HSPLsun/nio/fs/UnixFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
HSPLsun/nio/fs/UnixFileModeAttribute;->toUnixMode(I[Ljava/nio/file/attribute/FileAttribute;)I
-PLsun/nio/fs/UnixFileSystem$3;->matches(Ljava/nio/file/Path;)Z
-HSPLsun/nio/fs/UnixFileSystem;-><init>(Lsun/nio/fs/UnixFileSystemProvider;Ljava/lang/String;)V
-HPLsun/nio/fs/UnixFileSystem;->compilePathMatchPattern(Ljava/lang/String;)Ljava/util/regex/Pattern;
HSPLsun/nio/fs/UnixFileSystem;->getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
-HPLsun/nio/fs/UnixFileSystem;->getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
HSPLsun/nio/fs/UnixFileSystem;->needToResolveAgainstDefaultDirectory()Z
HSPLsun/nio/fs/UnixFileSystem;->normalizeJavaPath(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/nio/fs/UnixFileSystem;->normalizeNativePath([C)[C
HSPLsun/nio/fs/UnixFileSystem;->provider()Ljava/nio/file/spi/FileSystemProvider;
HSPLsun/nio/fs/UnixFileSystemProvider;->checkAccess(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)V
-HSPLsun/nio/fs/UnixFileSystemProvider;->checkUri(Ljava/net/URI;)V
-HSPLsun/nio/fs/UnixFileSystemProvider;->createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
HSPLsun/nio/fs/UnixFileSystemProvider;->getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
-HSPLsun/nio/fs/UnixFileSystemProvider;->getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;
HSPLsun/nio/fs/UnixFileSystemProvider;->newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
-HSPLsun/nio/fs/UnixFileSystemProvider;->newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
HSPLsun/nio/fs/UnixFileSystemProvider;->readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
HSPLsun/nio/fs/UnixNativeDispatcher;->access(Lsun/nio/fs/UnixPath;I)V
-HSPLsun/nio/fs/UnixNativeDispatcher;->link(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
+HSPLsun/nio/fs/UnixNativeDispatcher;->copyToNativeBuffer(Lsun/nio/fs/UnixPath;)Lsun/nio/fs/NativeBuffer;
+HSPLsun/nio/fs/UnixNativeDispatcher;->lstat(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;)V
HSPLsun/nio/fs/UnixNativeDispatcher;->open(Lsun/nio/fs/UnixPath;II)I
-HSPLsun/nio/fs/UnixNativeDispatcher;->stat(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;)V
+HSPLsun/nio/fs/UnixPath;-><init>(Lsun/nio/fs/UnixFileSystem;Ljava/lang/String;)V
+HSPLsun/nio/fs/UnixPath;-><init>(Lsun/nio/fs/UnixFileSystem;[B)V
+HSPLsun/nio/fs/UnixPath;->checkNotNul(Ljava/lang/String;C)V
HSPLsun/nio/fs/UnixPath;->checkRead()V
HSPLsun/nio/fs/UnixPath;->encode(Lsun/nio/fs/UnixFileSystem;Ljava/lang/String;)[B
HSPLsun/nio/fs/UnixPath;->getByteArrayForSysCalls()[B
-HPLsun/nio/fs/UnixPath;->getFileName()Ljava/nio/file/Path;
-HPLsun/nio/fs/UnixPath;->getFileName()Lsun/nio/fs/UnixPath;
HSPLsun/nio/fs/UnixPath;->getFileSystem()Ljava/nio/file/FileSystem;
HSPLsun/nio/fs/UnixPath;->getFileSystem()Lsun/nio/fs/UnixFileSystem;
-HSPLsun/nio/fs/UnixPath;->getNameCount()I
HSPLsun/nio/fs/UnixPath;->getParent()Ljava/nio/file/Path;
HSPLsun/nio/fs/UnixPath;->getParent()Lsun/nio/fs/UnixPath;
HSPLsun/nio/fs/UnixPath;->getPathForExceptionMessage()Ljava/lang/String;
HSPLsun/nio/fs/UnixPath;->initOffsets()V
-HSPLsun/nio/fs/UnixPath;->normalize(Ljava/lang/String;II)Ljava/lang/String;
+HSPLsun/nio/fs/UnixPath;->isEmpty()Z
HSPLsun/nio/fs/UnixPath;->normalizeAndCheck(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/nio/fs/UnixPath;->resolve(Ljava/nio/file/Path;)Ljava/nio/file/Path;
HSPLsun/nio/fs/UnixPath;->resolve(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
-HSPLsun/nio/fs/UnixPath;->resolve([B)Lsun/nio/fs/UnixPath;
HSPLsun/nio/fs/UnixPath;->resolve([B[B)[B
-HSPLsun/nio/fs/UnixPath;->startsWith(Ljava/nio/file/Path;)Z
HSPLsun/nio/fs/UnixPath;->toString()Ljava/lang/String;
-HSPLsun/nio/fs/UnixSecureDirectoryStream;->close()V
-HSPLsun/nio/fs/UnixSecureDirectoryStream;->finalize()V
-HSPLsun/nio/fs/UnixSecureDirectoryStream;->iterator()Ljava/util/Iterator;
-HSPLsun/nio/fs/Util;->newSet([Ljava/lang/Object;)Ljava/util/Set;
+HSPLsun/nio/fs/UnixPath;->toUnixPath(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
+HSPLsun/nio/fs/Util;->followLinks([Ljava/nio/file/LinkOption;)Z
+HSPLsun/nio/fs/Util;->jnuEncoding()Ljava/nio/charset/Charset;
+HSPLsun/nio/fs/Util;->toString([B)Ljava/lang/String;
HSPLsun/reflect/Reflection;->ensureMemberAccess(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)V
+HSPLsun/reflect/Reflection;->getCallerClass()Ljava/lang/Class;
+HSPLsun/reflect/Reflection;->isSameClassPackage(Ljava/lang/Class;Ljava/lang/Class;)Z
HSPLsun/reflect/Reflection;->isSameClassPackage(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Z
HSPLsun/reflect/Reflection;->verifyMemberAccess(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)Z
HSPLsun/reflect/misc/ReflectUtil;->ensureMemberAccess(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)V
-HSPLsun/security/action/GetBooleanAction;-><init>(Ljava/lang/String;)V
-HSPLsun/security/action/GetBooleanAction;->run()Ljava/lang/Boolean;
-HSPLsun/security/action/GetBooleanAction;->run()Ljava/lang/Object;
HSPLsun/security/action/GetPropertyAction;-><init>(Ljava/lang/String;)V
-HSPLsun/security/action/GetPropertyAction;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLsun/security/action/GetPropertyAction;->run()Ljava/lang/Object;
HSPLsun/security/action/GetPropertyAction;->run()Ljava/lang/String;
+HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;)V
+HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;Lsun/security/jca/GetInstance$1;)V
+HSPLsun/security/jca/GetInstance$Instance;->toArray()[Ljava/lang/Object;
HSPLsun/security/jca/GetInstance;->checkSuperClass(Ljava/security/Provider$Service;Ljava/lang/Class;Ljava/lang/Class;)V
HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
-HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Lsun/security/jca/GetInstance$Instance;
+HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
+HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
+HSPLsun/security/jca/GetInstance;->getInstance(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
HSPLsun/security/jca/GetInstance;->getService(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
HSPLsun/security/jca/GetInstance;->getService(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Provider$Service;
-HSPLsun/security/jca/ProviderConfig$2;->run()Ljava/security/Provider;
+HSPLsun/security/jca/GetInstance;->getServices(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
+HSPLsun/security/jca/JCAUtil;->getSecureRandom()Ljava/security/SecureRandom;
+HSPLsun/security/jca/ProviderConfig;-><init>(Ljava/lang/String;)V
+HSPLsun/security/jca/ProviderConfig;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLsun/security/jca/ProviderConfig;-><init>(Ljava/security/Provider;)V
HSPLsun/security/jca/ProviderConfig;->equals(Ljava/lang/Object;)Z
+HSPLsun/security/jca/ProviderConfig;->expand(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/security/jca/ProviderConfig;->getProvider()Ljava/security/Provider;
-HSPLsun/security/jca/ProviderConfig;->initProvider(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/security/Provider;
-HSPLsun/security/jca/ProviderList$1;-><init>(Ljava/lang/String;DLjava/lang/String;)V
+HSPLsun/security/jca/ProviderList$3;-><init>(Lsun/security/jca/ProviderList;)V
HSPLsun/security/jca/ProviderList$3;->get(I)Ljava/lang/Object;
HSPLsun/security/jca/ProviderList$3;->get(I)Ljava/security/Provider;
HSPLsun/security/jca/ProviderList$3;->size()I
+HSPLsun/security/jca/ProviderList$ServiceList$1;-><init>(Lsun/security/jca/ProviderList$ServiceList;)V
HSPLsun/security/jca/ProviderList$ServiceList$1;->hasNext()Z
HSPLsun/security/jca/ProviderList$ServiceList$1;->next()Ljava/lang/Object;
HSPLsun/security/jca/ProviderList$ServiceList$1;->next()Ljava/security/Provider$Service;
+HSPLsun/security/jca/ProviderList$ServiceList;-><init>(Lsun/security/jca/ProviderList;Ljava/lang/String;Ljava/lang/String;)V
+HSPLsun/security/jca/ProviderList$ServiceList;->access$200(Lsun/security/jca/ProviderList$ServiceList;I)Ljava/security/Provider$Service;
+HSPLsun/security/jca/ProviderList$ServiceList;->addService(Ljava/security/Provider$Service;)V
+HSPLsun/security/jca/ProviderList$ServiceList;->iterator()Ljava/util/Iterator;
HSPLsun/security/jca/ProviderList$ServiceList;->tryGet(I)Ljava/security/Provider$Service;
-HSPLsun/security/jca/ProviderList;-><init>()V
HSPLsun/security/jca/ProviderList;-><init>([Lsun/security/jca/ProviderConfig;Z)V
-HSPLsun/security/jca/ProviderList;->fromSecurityProperties()Lsun/security/jca/ProviderList;
+HSPLsun/security/jca/ProviderList;->access$100(Lsun/security/jca/ProviderList;)[Lsun/security/jca/ProviderConfig;
+HSPLsun/security/jca/ProviderList;->getIndex(Ljava/lang/String;)I
HSPLsun/security/jca/ProviderList;->getJarList([Ljava/lang/String;)Lsun/security/jca/ProviderList;
+HSPLsun/security/jca/ProviderList;->getProvider(I)Ljava/security/Provider;
HSPLsun/security/jca/ProviderList;->getProvider(Ljava/lang/String;)Ljava/security/Provider;
+HSPLsun/security/jca/ProviderList;->getProviderConfig(Ljava/lang/String;)Lsun/security/jca/ProviderConfig;
+HSPLsun/security/jca/ProviderList;->getService(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
+HSPLsun/security/jca/ProviderList;->getServices(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
HSPLsun/security/jca/ProviderList;->insertAt(Lsun/security/jca/ProviderList;Ljava/security/Provider;I)Lsun/security/jca/ProviderList;
HSPLsun/security/jca/ProviderList;->loadAll()I
+HSPLsun/security/jca/ProviderList;->providers()Ljava/util/List;
HSPLsun/security/jca/ProviderList;->removeInvalid()Lsun/security/jca/ProviderList;
-HSPLsun/security/jca/ProviderList;->size()I
+HSPLsun/security/jca/ProviderList;->toArray()[Ljava/security/Provider;
HSPLsun/security/jca/Providers;->beginThreadProviderList(Lsun/security/jca/ProviderList;)Lsun/security/jca/ProviderList;
HSPLsun/security/jca/Providers;->checkBouncyCastleDeprecation(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLsun/security/jca/Providers;->checkBouncyCastleDeprecation(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;)V
HSPLsun/security/jca/Providers;->endThreadProviderList(Lsun/security/jca/ProviderList;)V
HSPLsun/security/jca/Providers;->getFullProviderList()Lsun/security/jca/ProviderList;
-HSPLsun/security/jca/Providers;->getSunProvider()Ljava/security/Provider;
-HSPLsun/security/jca/Providers;->startJarVerification()Ljava/lang/Object;
-HSPLsun/security/jca/Providers;->stopJarVerification(Ljava/lang/Object;)V
-HSPLsun/security/jca/ServiceId;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLsun/security/jca/Providers;->getProviderList()Lsun/security/jca/ProviderList;
+HSPLsun/security/jca/Providers;->getSystemProviderList()Lsun/security/jca/ProviderList;
+HSPLsun/security/jca/Providers;->getThreadProviderList()Lsun/security/jca/ProviderList;
+HSPLsun/security/jca/Providers;->setProviderList(Lsun/security/jca/ProviderList;)V
+HSPLsun/security/jca/Providers;->setSystemProviderList(Lsun/security/jca/ProviderList;)V
+HSPLsun/security/pkcs/ContentInfo;-><init>(Lsun/security/util/DerInputStream;)V
HSPLsun/security/pkcs/ContentInfo;-><init>(Lsun/security/util/DerInputStream;Z)V
HSPLsun/security/pkcs/ContentInfo;->getContent()Lsun/security/util/DerValue;
-HSPLsun/security/pkcs/ContentInfo;->getData()[B
-HSPLsun/security/pkcs/PKCS7$VerbatimX509Certificate;->getEncoded()[B
+HSPLsun/security/pkcs/PKCS7$VerbatimX509Certificate;-><init>(Ljava/security/cert/X509Certificate;[B)V
+HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;->getIssuerDN()Ljava/security/Principal;
HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;->getKeyUsage()[Z
HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;->getPublicKey()Ljava/security/PublicKey;
@@ -31486,90 +15559,49 @@ HSPLsun/security/pkcs/PKCS7;->parseSignedData(Lsun/security/util/DerValue;)V
HSPLsun/security/pkcs/PKCS7;->populateCertIssuerNames()V
HSPLsun/security/pkcs/PKCS7;->verify(Lsun/security/pkcs/SignerInfo;[B)Lsun/security/pkcs/SignerInfo;
HSPLsun/security/pkcs/PKCS7;->verify([B)[Lsun/security/pkcs/SignerInfo;
+HSPLsun/security/pkcs/SignerInfo;-><init>(Lsun/security/util/DerInputStream;)V
HSPLsun/security/pkcs/SignerInfo;-><init>(Lsun/security/util/DerInputStream;Z)V
HSPLsun/security/pkcs/SignerInfo;->getCertificate(Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
HSPLsun/security/pkcs/SignerInfo;->getCertificateChain(Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList;
HSPLsun/security/pkcs/SignerInfo;->getDigestAlgorithmId()Lsun/security/x509/AlgorithmId;
HSPLsun/security/pkcs/SignerInfo;->getDigestEncryptionAlgorithmId()Lsun/security/x509/AlgorithmId;
-HSPLsun/security/pkcs/SignerInfo;->getTimestamp()Ljava/security/Timestamp;
-HSPLsun/security/pkcs/SignerInfo;->getTsToken()Lsun/security/pkcs/PKCS7;
HSPLsun/security/pkcs/SignerInfo;->verify(Lsun/security/pkcs/PKCS7;Ljava/io/InputStream;)Lsun/security/pkcs/SignerInfo;
HSPLsun/security/pkcs/SignerInfo;->verify(Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
-HSPLsun/security/provider/CertPathProvider;-><init>()V
HSPLsun/security/provider/X509Factory;->addToCache(Lsun/security/util/Cache;[BLjava/lang/Object;)V
HSPLsun/security/provider/X509Factory;->getFromCache(Lsun/security/util/Cache;[B)Ljava/lang/Object;
HSPLsun/security/provider/X509Factory;->intern(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
+HSPLsun/security/provider/certpath/AdaptableX509CertSelector;-><init>()V
HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->match(Ljava/security/cert/Certificate;)Z
HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
-HPLsun/security/provider/certpath/AdaptableX509CertSelector;->setValidityPeriod(Ljava/util/Date;Ljava/util/Date;)V
-PLsun/security/provider/certpath/AdjacencyList;->buildList(Ljava/util/List;ILsun/security/provider/certpath/BuildStep;)Z
+HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->setSkiAndSerialNumber(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;)V
HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/AlgorithmConstraints;)V
-HSPLsun/security/provider/certpath/AlgorithmChecker;->check(Ljava/security/PublicKey;Lsun/security/x509/AlgorithmId;)V
HSPLsun/security/provider/certpath/AlgorithmChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
HSPLsun/security/provider/certpath/AlgorithmChecker;->checkFingerprint(Ljava/security/cert/X509Certificate;)Z
HSPLsun/security/provider/certpath/AlgorithmChecker;->init(Z)V
-HPLsun/security/provider/certpath/AlgorithmChecker;->isForwardCheckingSupported()Z
-HPLsun/security/provider/certpath/AlgorithmChecker;->trySetTrustAnchor(Ljava/security/cert/TrustAnchor;)V
HSPLsun/security/provider/certpath/BasicChecker;-><init>(Ljava/security/cert/TrustAnchor;Ljava/util/Date;Ljava/lang/String;Z)V
HSPLsun/security/provider/certpath/BasicChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
+HSPLsun/security/provider/certpath/BasicChecker;->getPublicKey()Ljava/security/PublicKey;
HSPLsun/security/provider/certpath/BasicChecker;->init(Z)V
HSPLsun/security/provider/certpath/BasicChecker;->updateState(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/provider/certpath/BasicChecker;->verifyNameChaining(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/provider/certpath/BasicChecker;->verifySignature(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/provider/certpath/BasicChecker;->verifyTimestamp(Ljava/security/cert/X509Certificate;)V
-PLsun/security/provider/certpath/Builder;->addMatchingCerts(Ljava/security/cert/X509CertSelector;Ljava/util/Collection;Ljava/util/Collection;Z)Z
-HSPLsun/security/provider/certpath/CertId;-><init>(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;Lsun/security/x509/SerialNumber;)V
-HSPLsun/security/provider/certpath/CertId;-><init>(Lsun/security/util/DerInputStream;)V
-HSPLsun/security/provider/certpath/CertId;->equals(Ljava/lang/Object;)Z
-HSPLsun/security/provider/certpath/CertId;->getHashAlgorithm()Lsun/security/x509/AlgorithmId;
-HSPLsun/security/provider/certpath/CertId;->getIssuerKeyHash()[B
-HSPLsun/security/provider/certpath/CertId;->getIssuerNameHash()[B
-HSPLsun/security/provider/certpath/CertId;->getSerialNumber()Ljava/math/BigInteger;
-HSPLsun/security/provider/certpath/CertId;->hashCode()I
+HSPLsun/security/provider/certpath/ConstraintsChecker;-><init>(I)V
HSPLsun/security/provider/certpath/ConstraintsChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
HSPLsun/security/provider/certpath/ConstraintsChecker;->checkBasicConstraints(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/provider/certpath/ConstraintsChecker;->init(Z)V
HSPLsun/security/provider/certpath/ConstraintsChecker;->mergeNameConstraints(Ljava/security/cert/X509Certificate;Lsun/security/x509/NameConstraintsExtension;)Lsun/security/x509/NameConstraintsExtension;
HSPLsun/security/provider/certpath/ConstraintsChecker;->verifyNameConstraints(Ljava/security/cert/X509Certificate;)V
-PLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->compare(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-PLsun/security/provider/certpath/ForwardBuilder;-><init>(Lsun/security/provider/certpath/PKIX$BuilderParams;Z)V
-PLsun/security/provider/certpath/ForwardBuilder;->addCertToPath(Ljava/security/cert/X509Certificate;Ljava/util/LinkedList;)V
-PLsun/security/provider/certpath/ForwardBuilder;->getMatchingCACerts(Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
-PLsun/security/provider/certpath/ForwardBuilder;->getMatchingCerts(Lsun/security/provider/certpath/State;Ljava/util/List;)Ljava/util/Collection;
-PLsun/security/provider/certpath/ForwardBuilder;->getMatchingEECerts(Lsun/security/provider/certpath/ForwardState;Ljava/util/List;Ljava/util/Collection;)V
-PLsun/security/provider/certpath/ForwardBuilder;->isPathCompleted(Ljava/security/cert/X509Certificate;)Z
-PLsun/security/provider/certpath/ForwardBuilder;->verifyCert(Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/State;Ljava/util/List;)V
-PLsun/security/provider/certpath/ForwardState;->clone()Ljava/lang/Object;
-PLsun/security/provider/certpath/ForwardState;->initState(Ljava/util/List;)V
-PLsun/security/provider/certpath/ForwardState;->isInitial()Z
-PLsun/security/provider/certpath/ForwardState;->keyParamsNeeded()Z
-PLsun/security/provider/certpath/ForwardState;->updateState(Ljava/security/cert/X509Certificate;)V
+HSPLsun/security/provider/certpath/KeyChecker;-><init>(ILjava/security/cert/CertSelector;)V
HSPLsun/security/provider/certpath/KeyChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
HSPLsun/security/provider/certpath/KeyChecker;->init(Z)V
HSPLsun/security/provider/certpath/KeyChecker;->verifyCAKeyUsage(Ljava/security/cert/X509Certificate;)V
-HSPLsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;-><init>(Ljava/lang/String;I)V
-HSPLsun/security/provider/certpath/OCSPResponse$ResponseStatus;-><init>(Ljava/lang/String;I)V
-HSPLsun/security/provider/certpath/OCSPResponse$ResponseStatus;->values()[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
-HSPLsun/security/provider/certpath/OCSPResponse$SingleResponse;-><init>(Lsun/security/util/DerValue;)V
-HSPLsun/security/provider/certpath/OCSPResponse$SingleResponse;-><init>(Lsun/security/util/DerValue;Lsun/security/provider/certpath/OCSPResponse$1;)V
-HSPLsun/security/provider/certpath/OCSPResponse$SingleResponse;->access$100(Lsun/security/provider/certpath/OCSPResponse$SingleResponse;)Lsun/security/provider/certpath/CertId;
-HSPLsun/security/provider/certpath/OCSPResponse;-><init>([B)V
-HSPLsun/security/provider/certpath/OCSPResponse;->initializeClockSkew()I
-HSPLsun/security/provider/certpath/OCSPResponse;->verify(Ljava/util/List;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/util/Date;[B)V
-HSPLsun/security/provider/certpath/OCSPResponse;->verifySignature(Ljava/security/cert/X509Certificate;)Z
-PLsun/security/provider/certpath/PKIX$BuilderParams;->certStores()Ljava/util/List;
-PLsun/security/provider/certpath/PKIX$BuilderParams;->checkParams(Ljava/security/cert/PKIXBuilderParameters;)V
-PLsun/security/provider/certpath/PKIX$BuilderParams;->getTargetSubject(Ljava/util/List;Ljava/security/cert/X509CertSelector;)Ljavax/security/auth/x500/X500Principal;
-PLsun/security/provider/certpath/PKIX$BuilderParams;->maxPathLength()I
-PLsun/security/provider/certpath/PKIX$BuilderParams;->targetSubject()Ljavax/security/auth/x500/X500Principal;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;)V
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;-><init>(Ljava/security/cert/PKIXParameters;)V
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->anyPolicyInhibited()Z
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->certPath()Ljava/security/cert/CertPath;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->certPathCheckers()Ljava/util/List;
-HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->certStores()Ljava/util/List;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->certificates()Ljava/util/List;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->date()Ljava/util/Date;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->explicitPolicyRequired()Z
@@ -31577,12 +15609,12 @@ HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->initialPolicies()Ljava
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->policyMappingInhibited()Z
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->policyQualifiersRejected()Z
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->revocationEnabled()Z
-HPLsun/security/provider/certpath/PKIX$ValidatorParams;->setCertPath(Ljava/security/cert/CertPath;)V
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->sigProvider()Ljava/lang/String;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->targetCertConstraints()Ljava/security/cert/CertSelector;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->trustAnchors()Ljava/util/Set;
+HSPLsun/security/provider/certpath/PKIX;->checkParams(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Lsun/security/provider/certpath/PKIX$ValidatorParams;
+HSPLsun/security/provider/certpath/PKIX;->isDSAPublicKeyWithoutParams(Ljava/security/PublicKey;)Z
HSPLsun/security/provider/certpath/PKIXCertPathValidator;-><init>()V
-HSPLsun/security/provider/certpath/PKIXCertPathValidator;->engineGetRevocationChecker()Ljava/security/cert/CertPathChecker;
HSPLsun/security/provider/certpath/PKIXCertPathValidator;->engineValidate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
HSPLsun/security/provider/certpath/PKIXCertPathValidator;->validate(Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)Ljava/security/cert/PKIXCertPathValidatorResult;
HSPLsun/security/provider/certpath/PKIXCertPathValidator;->validate(Lsun/security/provider/certpath/PKIX$ValidatorParams;)Ljava/security/cert/PKIXCertPathValidatorResult;
@@ -31592,7 +15624,6 @@ HSPLsun/security/provider/certpath/PolicyChecker;->check(Ljava/security/cert/Cer
HSPLsun/security/provider/certpath/PolicyChecker;->checkPolicy(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/provider/certpath/PolicyChecker;->getPolicyTree()Ljava/security/cert/PolicyNode;
HSPLsun/security/provider/certpath/PolicyChecker;->init(Z)V
-HPLsun/security/provider/certpath/PolicyChecker;->isForwardCheckingSupported()Z
HSPLsun/security/provider/certpath/PolicyChecker;->mergeExplicitPolicy(ILsun/security/x509/X509CertImpl;Z)I
HSPLsun/security/provider/certpath/PolicyChecker;->mergeInhibitAnyPolicy(ILsun/security/x509/X509CertImpl;)I
HSPLsun/security/provider/certpath/PolicyChecker;->mergePolicyMapping(ILsun/security/x509/X509CertImpl;)I
@@ -31601,59 +15632,41 @@ HSPLsun/security/provider/certpath/PolicyChecker;->processPolicies(ILjava/util/S
HSPLsun/security/provider/certpath/PolicyChecker;->processPolicyMappings(Lsun/security/x509/X509CertImpl;IILsun/security/provider/certpath/PolicyNodeImpl;ZLjava/util/Set;)Lsun/security/provider/certpath/PolicyNodeImpl;
HSPLsun/security/provider/certpath/PolicyNodeImpl;-><init>(Lsun/security/provider/certpath/PolicyNodeImpl;Ljava/lang/String;Ljava/util/Set;ZLjava/util/Set;Z)V
HSPLsun/security/provider/certpath/PolicyNodeImpl;-><init>(Lsun/security/provider/certpath/PolicyNodeImpl;Lsun/security/provider/certpath/PolicyNodeImpl;)V
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->addChild(Lsun/security/provider/certpath/PolicyNodeImpl;)V
HSPLsun/security/provider/certpath/PolicyNodeImpl;->copyTree()Lsun/security/provider/certpath/PolicyNodeImpl;
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->copyTree(Lsun/security/provider/certpath/PolicyNodeImpl;)Lsun/security/provider/certpath/PolicyNodeImpl;
HSPLsun/security/provider/certpath/PolicyNodeImpl;->getChildren()Ljava/util/Iterator;
-HSPLsun/security/provider/certpath/PolicyNodeImpl;->getPolicyNodes(I)Ljava/util/Set;
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->getDepth()I
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->getPolicyNodesExpected(ILjava/lang/String;Z)Ljava/util/Set;
HSPLsun/security/provider/certpath/PolicyNodeImpl;->getPolicyNodesExpectedHelper(ILjava/lang/String;Z)Ljava/util/Set;
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->getValidPolicy()Ljava/lang/String;
HSPLsun/security/provider/certpath/PolicyNodeImpl;->prune(I)V
-HSPLsun/security/provider/certpath/RevocationChecker$1;->run()Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
-HSPLsun/security/provider/certpath/RevocationChecker$Mode;-><init>(Ljava/lang/String;I)V
-HSPLsun/security/provider/certpath/RevocationChecker$Mode;->values()[Lsun/security/provider/certpath/RevocationChecker$Mode;
-HSPLsun/security/provider/certpath/RevocationChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
-HSPLsun/security/provider/certpath/RevocationChecker;->check(Ljava/security/cert/X509Certificate;Ljava/util/Collection;Ljava/security/PublicKey;Z)V
-HSPLsun/security/provider/certpath/RevocationChecker;->checkOCSP(Ljava/security/cert/X509Certificate;Ljava/util/Collection;)V
-HSPLsun/security/provider/certpath/RevocationChecker;->clone()Ljava/lang/Object;
-HSPLsun/security/provider/certpath/RevocationChecker;->clone()Lsun/security/provider/certpath/RevocationChecker;
-HSPLsun/security/provider/certpath/RevocationChecker;->getResponderCert(Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
-HSPLsun/security/provider/certpath/RevocationChecker;->init(Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)V
-HSPLsun/security/provider/certpath/RevocationChecker;->init(Z)V
-HSPLsun/security/provider/certpath/RevocationChecker;->toURI(Ljava/lang/String;)Ljava/net/URI;
-HSPLsun/security/provider/certpath/RevocationChecker;->updateState(Ljava/security/cert/X509Certificate;)V
-PLsun/security/provider/certpath/SunCertPathBuilder;-><init>()V
-PLsun/security/provider/certpath/SunCertPathBuilder;->addVertices(Ljava/util/Collection;Ljava/util/List;)Ljava/util/List;
-PLsun/security/provider/certpath/SunCertPathBuilder;->build()Ljava/security/cert/PKIXCertPathBuilderResult;
-PLsun/security/provider/certpath/SunCertPathBuilder;->buildCertPath(ZLjava/util/List;)Ljava/security/cert/PKIXCertPathBuilderResult;
-PLsun/security/provider/certpath/SunCertPathBuilder;->buildForward(Ljava/util/List;Ljava/util/LinkedList;Z)V
-PLsun/security/provider/certpath/SunCertPathBuilder;->depthFirstSearchForward(Ljavax/security/auth/x500/X500Principal;Lsun/security/provider/certpath/ForwardState;Lsun/security/provider/certpath/ForwardBuilder;Ljava/util/List;Ljava/util/LinkedList;)V
-PLsun/security/provider/certpath/SunCertPathBuilder;->engineBuild(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
-PLsun/security/provider/certpath/SunCertPathBuilderResult;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;Lsun/security/provider/certpath/AdjacencyList;)V
-PLsun/security/provider/certpath/Vertex;->getCertificate()Ljava/security/cert/X509Certificate;
-PLsun/security/provider/certpath/Vertex;->getIndex()I
-PLsun/security/provider/certpath/Vertex;->getThrowable()Ljava/lang/Throwable;
-PLsun/security/provider/certpath/Vertex;->setIndex(I)V
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->setImmutable()V
HSPLsun/security/util/AbstractAlgorithmConstraints;->checkAlgorithm([Ljava/lang/String;Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)Z
-HSPLsun/security/util/AbstractAlgorithmConstraints;->getAlgorithms(Ljava/lang/String;)[Ljava/lang/String;
HSPLsun/security/util/AlgorithmDecomposer;->decompose(Ljava/lang/String;)Ljava/util/Set;
HSPLsun/security/util/AlgorithmDecomposer;->decomposeImpl(Ljava/lang/String;)Ljava/util/Set;
HSPLsun/security/util/AlgorithmDecomposer;->decomposeOneHash(Ljava/lang/String;)Ljava/util/Set;
+HSPLsun/security/util/AlgorithmDecomposer;->hasLoop(Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
HSPLsun/security/util/BitArray;-><init>(I[B)V
HSPLsun/security/util/BitArray;->get(I)Z
HSPLsun/security/util/BitArray;->length()I
+HSPLsun/security/util/BitArray;->position(I)I
+HSPLsun/security/util/BitArray;->subscript(I)I
HSPLsun/security/util/BitArray;->toBooleanArray()[Z
HSPLsun/security/util/BitArray;->toByteArray()[B
-HSPLsun/security/util/ByteArrayLexOrder;-><init>()V
-HSPLsun/security/util/ByteArrayTagOrder;-><init>()V
+HSPLsun/security/util/Cache$EqualByteArray;-><init>([B)V
HSPLsun/security/util/Cache$EqualByteArray;->equals(Ljava/lang/Object;)Z
HSPLsun/security/util/Cache$EqualByteArray;->hashCode()I
-HSPLsun/security/util/Cache;->newSoftMemoryCache(I)Lsun/security/util/Cache;
+HSPLsun/security/util/CertConstraintParameters;-><init>(Ljava/security/cert/X509Certificate;Z)V
HSPLsun/security/util/CertConstraintParameters;->getCertificate()Ljava/security/cert/X509Certificate;
-HSPLsun/security/util/Debug;->getInstance(Ljava/lang/String;)Lsun/security/util/Debug;
-HSPLsun/security/util/Debug;->getInstance(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
+HSPLsun/security/util/DerIndefLenConverter;->isIndefinite(I)Z
+HSPLsun/security/util/DerIndefLenConverter;->isLongForm(I)Z
+HSPLsun/security/util/DerInputBuffer;-><init>([B)V
+HSPLsun/security/util/DerInputBuffer;-><init>([BII)V
HSPLsun/security/util/DerInputBuffer;->dup()Lsun/security/util/DerInputBuffer;
HSPLsun/security/util/DerInputBuffer;->getBigInteger(IZ)Ljava/math/BigInteger;
HSPLsun/security/util/DerInputBuffer;->getBitString()[B
HSPLsun/security/util/DerInputBuffer;->getBitString(I)[B
-HSPLsun/security/util/DerInputBuffer;->getGeneralizedTime(I)Ljava/util/Date;
HSPLsun/security/util/DerInputBuffer;->getInteger(I)I
HSPLsun/security/util/DerInputBuffer;->getPos()I
HSPLsun/security/util/DerInputBuffer;->getSlice(II)[B
@@ -31663,20 +15676,22 @@ HSPLsun/security/util/DerInputBuffer;->getUnalignedBitString()Lsun/security/util
HSPLsun/security/util/DerInputBuffer;->peek()I
HSPLsun/security/util/DerInputBuffer;->toByteArray()[B
HSPLsun/security/util/DerInputBuffer;->truncate(I)V
+HSPLsun/security/util/DerInputStream;-><init>(Lsun/security/util/DerInputBuffer;)V
+HSPLsun/security/util/DerInputStream;-><init>([B)V
HSPLsun/security/util/DerInputStream;->available()I
HSPLsun/security/util/DerInputStream;->getBigInteger()Ljava/math/BigInteger;
HSPLsun/security/util/DerInputStream;->getByte()I
HSPLsun/security/util/DerInputStream;->getBytes([B)V
HSPLsun/security/util/DerInputStream;->getDerValue()Lsun/security/util/DerValue;
-HSPLsun/security/util/DerInputStream;->getEnumerated()I
-HSPLsun/security/util/DerInputStream;->getGeneralizedTime()Ljava/util/Date;
HSPLsun/security/util/DerInputStream;->getLength()I
HSPLsun/security/util/DerInputStream;->getLength(ILjava/io/InputStream;)I
+HSPLsun/security/util/DerInputStream;->getLength(Ljava/io/InputStream;)I
HSPLsun/security/util/DerInputStream;->getOID()Lsun/security/util/ObjectIdentifier;
HSPLsun/security/util/DerInputStream;->getOctetString()[B
HSPLsun/security/util/DerInputStream;->getSequence(I)[Lsun/security/util/DerValue;
HSPLsun/security/util/DerInputStream;->getSequence(IZ)[Lsun/security/util/DerValue;
HSPLsun/security/util/DerInputStream;->getSet(I)[Lsun/security/util/DerValue;
+HSPLsun/security/util/DerInputStream;->getSet(IZ)[Lsun/security/util/DerValue;
HSPLsun/security/util/DerInputStream;->getSet(IZZ)[Lsun/security/util/DerValue;
HSPLsun/security/util/DerInputStream;->getUTCTime()Ljava/util/Date;
HSPLsun/security/util/DerInputStream;->getUnalignedBitString()Lsun/security/util/BitArray;
@@ -31688,25 +15703,34 @@ HSPLsun/security/util/DerInputStream;->readVector(IZ)[Lsun/security/util/DerValu
HSPLsun/security/util/DerInputStream;->reset()V
HSPLsun/security/util/DerInputStream;->subStream(IZ)Lsun/security/util/DerInputStream;
HSPLsun/security/util/DerInputStream;->toByteArray()[B
+HSPLsun/security/util/DerOutputStream;-><init>()V
+HSPLsun/security/util/DerOutputStream;->putDerValue(Lsun/security/util/DerValue;)V
HSPLsun/security/util/DerOutputStream;->putLength(I)V
+HSPLsun/security/util/DerOutputStream;->putNull()V
+HSPLsun/security/util/DerOutputStream;->putOID(Lsun/security/util/ObjectIdentifier;)V
HSPLsun/security/util/DerOutputStream;->putOctetString([B)V
HSPLsun/security/util/DerOutputStream;->putOrderedSet(B[Lsun/security/util/DerEncoder;Ljava/util/Comparator;)V
HSPLsun/security/util/DerOutputStream;->putOrderedSetOf(B[Lsun/security/util/DerEncoder;)V
+HSPLsun/security/util/DerOutputStream;->putUnalignedBitString(Lsun/security/util/BitArray;)V
HSPLsun/security/util/DerOutputStream;->write(BLsun/security/util/DerOutputStream;)V
HSPLsun/security/util/DerOutputStream;->write(B[B)V
HSPLsun/security/util/DerValue;-><init>(B[B)V
+HSPLsun/security/util/DerValue;-><init>(Ljava/io/InputStream;)V
HSPLsun/security/util/DerValue;-><init>(Ljava/lang/String;)V
HSPLsun/security/util/DerValue;-><init>(Lsun/security/util/DerInputBuffer;Z)V
+HSPLsun/security/util/DerValue;-><init>([B)V
HSPLsun/security/util/DerValue;->encode(Lsun/security/util/DerOutputStream;)V
HSPLsun/security/util/DerValue;->getBigInteger()Ljava/math/BigInteger;
HSPLsun/security/util/DerValue;->getBitString()[B
HSPLsun/security/util/DerValue;->getBoolean()Z
+HSPLsun/security/util/DerValue;->getData()Lsun/security/util/DerInputStream;
HSPLsun/security/util/DerValue;->getDataBytes()[B
HSPLsun/security/util/DerValue;->getIA5String()Ljava/lang/String;
HSPLsun/security/util/DerValue;->getInteger()I
HSPLsun/security/util/DerValue;->getOID()Lsun/security/util/ObjectIdentifier;
HSPLsun/security/util/DerValue;->getOctetString()[B
HSPLsun/security/util/DerValue;->getOriginalEncodedForm()[B
+HSPLsun/security/util/DerValue;->getTag()B
HSPLsun/security/util/DerValue;->getUnalignedBitString()Lsun/security/util/BitArray;
HSPLsun/security/util/DerValue;->init(BLjava/lang/String;)Lsun/security/util/DerInputStream;
HSPLsun/security/util/DerValue;->init(ZLjava/io/InputStream;)Lsun/security/util/DerInputStream;
@@ -31718,89 +15742,57 @@ HSPLsun/security/util/DerValue;->length()I
HSPLsun/security/util/DerValue;->resetTag(B)V
HSPLsun/security/util/DerValue;->toByteArray()[B
HSPLsun/security/util/DerValue;->toDerInputStream()Lsun/security/util/DerInputStream;
-HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;-><init>(Ljava/lang/String;I)V
-HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->of(Ljava/lang/String;)Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->values()[Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;-><init>([Ljava/lang/String;)V
+HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->getConstraints(Ljava/lang/String;)Ljava/util/Set;
HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Ljava/security/Key;)Z
HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Lsun/security/util/CertConstraintParameters;)V
-HSPLsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;-><init>(Ljava/lang/String;Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;I)V
HSPLsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->permits(Ljava/security/Key;)Z
HSPLsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->permits(Lsun/security/util/CertConstraintParameters;)V
HSPLsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint;->permitsImpl(Ljava/security/Key;)Z
-HSPLsun/security/util/DisabledAlgorithmConstraints;-><init>(Ljava/lang/String;)V
+HSPLsun/security/util/DisabledAlgorithmConstraints;->access$000()Lsun/security/util/Debug;
HSPLsun/security/util/DisabledAlgorithmConstraints;->checkConstraints(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
HSPLsun/security/util/DisabledAlgorithmConstraints;->checkConstraints(Ljava/util/Set;Lsun/security/util/CertConstraintParameters;)V
-HSPLsun/security/util/DisabledAlgorithmConstraints;->checkProperty(Ljava/lang/String;)Z
HSPLsun/security/util/DisabledAlgorithmConstraints;->permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
HSPLsun/security/util/DisabledAlgorithmConstraints;->permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
+HSPLsun/security/util/DisabledAlgorithmConstraints;->permits(Ljava/util/Set;Ljava/security/Key;)Z
+HSPLsun/security/util/DisabledAlgorithmConstraints;->permits(Ljava/util/Set;Lsun/security/util/CertConstraintParameters;)V
HSPLsun/security/util/KeyUtil;->getKeySize(Ljava/security/Key;)I
-HSPLsun/security/util/ManifestDigester;-><init>([B)V
-HSPLsun/security/util/ManifestDigester;->findSection(ILsun/security/util/ManifestDigester$Position;)Z
-HSPLsun/security/util/ManifestDigester;->isNameAttr([BI)Z
-HSPLsun/security/util/ManifestDigester;->manifestDigest(Ljava/security/MessageDigest;)[B
-HSPLsun/security/util/ManifestEntryVerifier;-><init>(Ljava/util/jar/Manifest;)V
-HSPLsun/security/util/ManifestEntryVerifier;->getEntry()Ljava/util/jar/JarEntry;
-HSPLsun/security/util/ManifestEntryVerifier;->setEntry(Ljava/lang/String;Ljava/util/jar/JarEntry;)V
-HSPLsun/security/util/ManifestEntryVerifier;->update(B)V
-HSPLsun/security/util/ManifestEntryVerifier;->update([BII)V
-HSPLsun/security/util/ManifestEntryVerifier;->verify(Ljava/util/Hashtable;Ljava/util/Hashtable;)[Ljava/security/CodeSigner;
+HSPLsun/security/util/MemoryCache$SoftCacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/ref/ReferenceQueue;)V
HSPLsun/security/util/MemoryCache$SoftCacheEntry;->getValue()Ljava/lang/Object;
HSPLsun/security/util/MemoryCache$SoftCacheEntry;->isValid(J)Z
-HSPLsun/security/util/MemoryCache;-><init>(ZII)V
HSPLsun/security/util/MemoryCache;->emptyQueue()V
HSPLsun/security/util/MemoryCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLsun/security/util/MemoryCache;->newEntry(Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/ref/ReferenceQueue;)Lsun/security/util/MemoryCache$CacheEntry;
HSPLsun/security/util/MemoryCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLsun/security/util/ObjectIdentifier;-><init>(Ljava/lang/String;)V
HSPLsun/security/util/ObjectIdentifier;-><init>(Lsun/security/util/DerInputBuffer;)V
HSPLsun/security/util/ObjectIdentifier;-><init>(Lsun/security/util/DerInputStream;)V
-HSPLsun/security/util/ObjectIdentifier;-><init>([I)V
HSPLsun/security/util/ObjectIdentifier;->check([B)V
-HSPLsun/security/util/ObjectIdentifier;->checkCount(I)V
-HSPLsun/security/util/ObjectIdentifier;->checkFirstComponent(I)V
-HSPLsun/security/util/ObjectIdentifier;->checkOtherComponent(II)V
-HSPLsun/security/util/ObjectIdentifier;->checkSecondComponent(II)V
+HSPLsun/security/util/ObjectIdentifier;->encode(Lsun/security/util/DerOutputStream;)V
HSPLsun/security/util/ObjectIdentifier;->equals(Ljava/lang/Object;)Z
HSPLsun/security/util/ObjectIdentifier;->hashCode()I
-HSPLsun/security/util/ObjectIdentifier;->init([II)V
-HSPLsun/security/util/ObjectIdentifier;->newInternal([I)Lsun/security/util/ObjectIdentifier;
-HSPLsun/security/util/ObjectIdentifier;->pack([BIIII)[B
-HSPLsun/security/util/ObjectIdentifier;->pack7Oid([BII[BI)I
HSPLsun/security/util/ObjectIdentifier;->toString()Ljava/lang/String;
-HSPLsun/security/util/SignatureFileVerifier;-><init>(Ljava/util/ArrayList;Lsun/security/util/ManifestDigester;Ljava/lang/String;[B)V
-HSPLsun/security/util/SignatureFileVerifier;->getDigest(Ljava/lang/String;)Ljava/security/MessageDigest;
-HSPLsun/security/util/SignatureFileVerifier;->getSigners([Lsun/security/pkcs/SignerInfo;Lsun/security/pkcs/PKCS7;)[Ljava/security/CodeSigner;
-HSPLsun/security/util/SignatureFileVerifier;->isBlockOrSF(Ljava/lang/String;)Z
-HSPLsun/security/util/SignatureFileVerifier;->matches([Ljava/security/CodeSigner;[Ljava/security/CodeSigner;[Ljava/security/CodeSigner;)Z
-HSPLsun/security/util/SignatureFileVerifier;->process(Ljava/util/Hashtable;Ljava/util/List;)V
-HSPLsun/security/util/SignatureFileVerifier;->processImpl(Ljava/util/Hashtable;Ljava/util/List;)V
-HSPLsun/security/util/SignatureFileVerifier;->updateSigners([Ljava/security/CodeSigner;Ljava/util/Hashtable;Ljava/lang/String;)V
-HSPLsun/security/util/SignatureFileVerifier;->verifyManifestHash(Ljava/util/jar/Manifest;Lsun/security/util/ManifestDigester;Ljava/util/List;)Z
HSPLsun/security/x509/AVA;-><init>(Ljava/io/Reader;ILjava/util/Map;)V
+HSPLsun/security/x509/AVA;-><init>(Ljava/io/Reader;Ljava/util/Map;)V
HSPLsun/security/x509/AVA;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/AVA;->derEncode(Ljava/io/OutputStream;)V
HSPLsun/security/x509/AVA;->isDerString(Lsun/security/util/DerValue;Z)Z
+HSPLsun/security/x509/AVA;->isTerminator(II)Z
HSPLsun/security/x509/AVA;->parseString(Ljava/io/Reader;IILjava/lang/StringBuilder;)Lsun/security/util/DerValue;
+HSPLsun/security/x509/AVA;->readChar(Ljava/io/Reader;Ljava/lang/String;)I
+HSPLsun/security/x509/AVA;->toKeyword(ILjava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/AVA;->toRFC2253CanonicalString()Ljava/lang/String;
-HSPLsun/security/x509/AVA;->toRFC2253String(Ljava/util/Map;)Ljava/lang/String;
-HSPLsun/security/x509/AVAKeyword;-><init>(Ljava/lang/String;Lsun/security/util/ObjectIdentifier;ZZ)V
HSPLsun/security/x509/AVAKeyword;->getKeyword(Lsun/security/util/ObjectIdentifier;ILjava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/AVAKeyword;->getOID(Ljava/lang/String;ILjava/util/Map;)Lsun/security/util/ObjectIdentifier;
HSPLsun/security/x509/AVAKeyword;->isCompliant(I)Z
-HSPLsun/security/x509/AlgorithmId;-><init>(Lsun/security/util/ObjectIdentifier;)V
-HSPLsun/security/x509/AlgorithmId;->algOID(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
+HSPLsun/security/x509/AccessDescription;-><init>(Lsun/security/util/DerValue;)V
+HSPLsun/security/x509/AlgorithmId;-><init>(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
HSPLsun/security/x509/AlgorithmId;->decodeParams()V
HSPLsun/security/x509/AlgorithmId;->derEncode(Ljava/io/OutputStream;)V
+HSPLsun/security/x509/AlgorithmId;->encode(Lsun/security/util/DerOutputStream;)V
HSPLsun/security/x509/AlgorithmId;->equals(Lsun/security/x509/AlgorithmId;)Z
-HSPLsun/security/x509/AlgorithmId;->get(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
HSPLsun/security/x509/AlgorithmId;->getEncAlgFromSigAlg(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/security/x509/AlgorithmId;->getName()Ljava/lang/String;
HSPLsun/security/x509/AlgorithmId;->getParameters()Ljava/security/AlgorithmParameters;
-HSPLsun/security/x509/AlgorithmId;->hashCode()I
HSPLsun/security/x509/AlgorithmId;->makeSigAlg(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/security/x509/AlgorithmId;->oid([I)Lsun/security/util/ObjectIdentifier;
-HSPLsun/security/x509/AlgorithmId;->paramsToString()Ljava/lang/String;
HSPLsun/security/x509/AlgorithmId;->parse(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
HSPLsun/security/x509/AuthorityInfoAccessExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
HSPLsun/security/x509/AuthorityInfoAccessExtension;->getName()Ljava/lang/String;
@@ -31813,106 +15805,110 @@ HSPLsun/security/x509/BasicConstraintsExtension;->getName()Ljava/lang/String;
HSPLsun/security/x509/CRLDistributionPointsExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
HSPLsun/security/x509/CRLDistributionPointsExtension;-><init>(Lsun/security/util/ObjectIdentifier;Ljava/lang/Boolean;Ljava/lang/Object;Ljava/lang/String;)V
HSPLsun/security/x509/CRLDistributionPointsExtension;->getName()Ljava/lang/String;
+HSPLsun/security/x509/CertificateAlgorithmId;-><init>(Lsun/security/util/DerInputStream;)V
HSPLsun/security/x509/CertificateAlgorithmId;->get(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
+HSPLsun/security/x509/CertificateExtensions;-><init>(Lsun/security/util/DerInputStream;)V
HSPLsun/security/x509/CertificateExtensions;->getAllExtensions()Ljava/util/Collection;
HSPLsun/security/x509/CertificateExtensions;->getExtension(Ljava/lang/String;)Lsun/security/x509/Extension;
+HSPLsun/security/x509/CertificateExtensions;->init(Lsun/security/util/DerInputStream;)V
HSPLsun/security/x509/CertificateExtensions;->parseExtension(Lsun/security/x509/Extension;)V
HSPLsun/security/x509/CertificatePoliciesExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
HSPLsun/security/x509/CertificatePoliciesExtension;->get(Ljava/lang/String;)Ljava/util/List;
HSPLsun/security/x509/CertificatePoliciesExtension;->getName()Ljava/lang/String;
+HSPLsun/security/x509/CertificatePolicyId;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/CertificatePolicyId;->getIdentifier()Lsun/security/util/ObjectIdentifier;
-HSPLsun/security/x509/CertificateSerialNumber;->get(Ljava/lang/String;)Lsun/security/x509/SerialNumber;
+HSPLsun/security/x509/CertificateSerialNumber;-><init>(Lsun/security/util/DerValue;)V
+HSPLsun/security/x509/CertificateValidity;-><init>(Lsun/security/util/DerInputStream;)V
HSPLsun/security/x509/CertificateValidity;->construct(Lsun/security/util/DerValue;)V
-HPLsun/security/x509/CertificateValidity;->get(Ljava/lang/String;)Ljava/util/Date;
+HSPLsun/security/x509/CertificateVersion;-><init>()V
+HSPLsun/security/x509/CertificateVersion;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/CertificateVersion;->compare(I)I
HSPLsun/security/x509/CertificateVersion;->construct(Lsun/security/util/DerValue;)V
-HSPLsun/security/x509/CertificateX509Key;->get(Ljava/lang/String;)Ljava/security/PublicKey;
+HSPLsun/security/x509/CertificateX509Key;-><init>(Lsun/security/util/DerInputStream;)V
HSPLsun/security/x509/DNSName;-><init>(Ljava/lang/String;)V
+HSPLsun/security/x509/DNSName;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/DistributionPoint;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/ExtendedKeyUsageExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
HSPLsun/security/x509/ExtendedKeyUsageExtension;->getName()Ljava/lang/String;
+HSPLsun/security/x509/Extension;-><init>()V
HSPLsun/security/x509/Extension;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/Extension;->getExtensionId()Lsun/security/util/ObjectIdentifier;
HSPLsun/security/x509/Extension;->getExtensionValue()[B
HSPLsun/security/x509/Extension;->isCritical()Z
+HSPLsun/security/x509/GeneralName;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/GeneralName;-><init>(Lsun/security/util/DerValue;Z)V
+HSPLsun/security/x509/GeneralNames;-><init>()V
HSPLsun/security/x509/GeneralNames;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/GeneralNames;->add(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
+HSPLsun/security/x509/KeyIdentifier;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/KeyIdentifier;->encode(Lsun/security/util/DerOutputStream;)V
-HSPLsun/security/x509/KeyIdentifier;->equals(Ljava/lang/Object;)Z
HSPLsun/security/x509/KeyUsageExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
HSPLsun/security/x509/KeyUsageExtension;->getName()Ljava/lang/String;
-HSPLsun/security/x509/NetscapeCertTypeExtension$MapEntry;-><init>(Ljava/lang/String;I)V
HSPLsun/security/x509/OIDMap$OIDInfo;->getClazz()Ljava/lang/Class;
-HSPLsun/security/x509/OIDMap;->addInternal(Ljava/lang/String;Lsun/security/util/ObjectIdentifier;Ljava/lang/Class;)V
+HSPLsun/security/x509/OIDMap;->getClass(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Class;
HSPLsun/security/x509/PolicyInformation;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/PolicyInformation;->getPolicyIdentifier()Lsun/security/x509/CertificatePolicyId;
HSPLsun/security/x509/PolicyInformation;->getPolicyQualifiers()Ljava/util/Set;
HSPLsun/security/x509/RDN;-><init>(Ljava/lang/String;Ljava/util/Map;)V
HSPLsun/security/x509/RDN;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/RDN;->encode(Lsun/security/util/DerOutputStream;)V
-HSPLsun/security/x509/RDN;->toRFC2253String(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/RDN;->toRFC2253String(Z)Ljava/lang/String;
HSPLsun/security/x509/RDN;->toRFC2253StringInternal(ZLjava/util/Map;)Ljava/lang/String;
-HSPLsun/security/x509/SerialNumber;->getNumber()Ljava/math/BigInteger;
+HSPLsun/security/x509/SerialNumber;-><init>(Lsun/security/util/DerValue;)V
+HSPLsun/security/x509/SerialNumber;->construct(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/SubjectAlternativeNameExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
HSPLsun/security/x509/SubjectAlternativeNameExtension;->getName()Ljava/lang/String;
HSPLsun/security/x509/SubjectKeyIdentifierExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
-HSPLsun/security/x509/SubjectKeyIdentifierExtension;->get(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
HSPLsun/security/x509/SubjectKeyIdentifierExtension;->getName()Ljava/lang/String;
HSPLsun/security/x509/URIName;-><init>(Ljava/lang/String;)V
-HSPLsun/security/x509/X500Name$1;-><init>()V
-HSPLsun/security/x509/X500Name$1;->run()Ljava/lang/Object;
-HSPLsun/security/x509/X500Name$1;->run()[Ljava/lang/Object;
+HSPLsun/security/x509/URIName;-><init>(Lsun/security/util/DerValue;)V
+HSPLsun/security/x509/X500Name;-><init>(Ljava/lang/String;Ljava/util/Map;)V
+HSPLsun/security/x509/X500Name;-><init>(Lsun/security/util/DerInputStream;)V
+HSPLsun/security/x509/X500Name;-><init>(Lsun/security/util/DerValue;)V
+HSPLsun/security/x509/X500Name;-><init>([B)V
HSPLsun/security/x509/X500Name;->asX500Name(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
HSPLsun/security/x509/X500Name;->asX500Principal()Ljavax/security/auth/x500/X500Principal;
HSPLsun/security/x509/X500Name;->checkNoNewLinesNorTabsAtBeginningOfDN(Ljava/lang/String;)V
HSPLsun/security/x509/X500Name;->countQuotes(Ljava/lang/String;II)I
HSPLsun/security/x509/X500Name;->equals(Ljava/lang/Object;)Z
HSPLsun/security/x509/X500Name;->escaped(IILjava/lang/String;)Z
-HSPLsun/security/x509/X500Name;->generateRFC2253DN(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/X500Name;->getEncoded()[B
HSPLsun/security/x509/X500Name;->getEncodedInternal()[B
HSPLsun/security/x509/X500Name;->getRFC2253CanonicalName()Ljava/lang/String;
-HSPLsun/security/x509/X500Name;->getRFC2253Name()Ljava/lang/String;
-HSPLsun/security/x509/X500Name;->getRFC2253Name(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/X500Name;->hashCode()I
HSPLsun/security/x509/X500Name;->intern(Lsun/security/util/ObjectIdentifier;)Lsun/security/util/ObjectIdentifier;
HSPLsun/security/x509/X500Name;->isEmpty()Z
HSPLsun/security/x509/X500Name;->parseDER(Lsun/security/util/DerInputStream;)V
HSPLsun/security/x509/X500Name;->parseDN(Ljava/lang/String;Ljava/util/Map;)V
HSPLsun/security/x509/X509AttributeName;-><init>(Ljava/lang/String;)V
+HSPLsun/security/x509/X509AttributeName;->getPrefix()Ljava/lang/String;
+HSPLsun/security/x509/X509AttributeName;->getSuffix()Ljava/lang/String;
HSPLsun/security/x509/X509CertImpl;-><init>([B)V
HSPLsun/security/x509/X509CertImpl;->get(Ljava/lang/String;)Ljava/lang/Object;
HSPLsun/security/x509/X509CertImpl;->getAuthorityKeyIdentifierExtension()Lsun/security/x509/AuthorityKeyIdentifierExtension;
HSPLsun/security/x509/X509CertImpl;->getCertificatePoliciesExtension()Lsun/security/x509/CertificatePoliciesExtension;
HSPLsun/security/x509/X509CertImpl;->getEncodedInternal()[B
+HSPLsun/security/x509/X509CertImpl;->getEncodedInternal(Ljava/security/cert/Certificate;)[B
HSPLsun/security/x509/X509CertImpl;->getExtension(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
HSPLsun/security/x509/X509CertImpl;->getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;
HSPLsun/security/x509/X509CertImpl;->getNameConstraintsExtension()Lsun/security/x509/NameConstraintsExtension;
-HPLsun/security/x509/X509CertImpl;->getNotAfter()Ljava/util/Date;
-HPLsun/security/x509/X509CertImpl;->getNotBefore()Ljava/util/Date;
HSPLsun/security/x509/X509CertImpl;->getPolicyConstraintsExtension()Lsun/security/x509/PolicyConstraintsExtension;
HSPLsun/security/x509/X509CertImpl;->getPolicyMappingsExtension()Lsun/security/x509/PolicyMappingsExtension;
-HSPLsun/security/x509/X509CertImpl;->getPublicKey()Ljava/security/PublicKey;
-HSPLsun/security/x509/X509CertImpl;->getSerialNumberObject()Lsun/security/x509/SerialNumber;
HSPLsun/security/x509/X509CertImpl;->getSigAlgName()Ljava/lang/String;
-HPLsun/security/x509/X509CertImpl;->getSubjectAlternativeNameExtension()Lsun/security/x509/SubjectAlternativeNameExtension;
-HSPLsun/security/x509/X509CertImpl;->getSubjectKeyId()Lsun/security/x509/KeyIdentifier;
-HSPLsun/security/x509/X509CertImpl;->getSubjectKeyIdentifierExtension()Lsun/security/x509/SubjectKeyIdentifierExtension;
HSPLsun/security/x509/X509CertImpl;->getSubjectX500Principal()Ljavax/security/auth/x500/X500Principal;
-HPLsun/security/x509/X509CertImpl;->isSelfSigned(Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
+HSPLsun/security/x509/X509CertImpl;->isSelfIssued(Ljava/security/cert/X509Certificate;)Z
+HSPLsun/security/x509/X509CertImpl;->parse(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/X509CertImpl;->parse(Lsun/security/util/DerValue;[B)V
-HSPLsun/security/x509/X509CertImpl;->verify(Ljava/security/PublicKey;)V
-HSPLsun/security/x509/X509CertImpl;->verify(Ljava/security/PublicKey;Ljava/lang/String;)V
+HSPLsun/security/x509/X509CertImpl;->toImpl(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
HSPLsun/security/x509/X509CertInfo;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/X509CertInfo;-><init>([B)V
+HSPLsun/security/x509/X509CertInfo;->attributeMap(Ljava/lang/String;)I
HSPLsun/security/x509/X509CertInfo;->get(Ljava/lang/String;)Ljava/lang/Object;
-HSPLsun/security/x509/X509CertInfo;->getEncodedInfo()[B
HSPLsun/security/x509/X509CertInfo;->getX500Name(Ljava/lang/String;Z)Ljava/lang/Object;
HSPLsun/security/x509/X509CertInfo;->parse(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/X509CertInfo;->verifyCert(Lsun/security/x509/X500Name;Lsun/security/x509/CertificateExtensions;)V
HSPLsun/security/x509/X509Key;->buildX509Key(Lsun/security/x509/AlgorithmId;Lsun/security/util/BitArray;)Ljava/security/PublicKey;
+HSPLsun/security/x509/X509Key;->encode(Lsun/security/util/DerOutputStream;Lsun/security/x509/AlgorithmId;Lsun/security/util/BitArray;)V
HSPLsun/security/x509/X509Key;->parse(Lsun/security/util/DerValue;)Ljava/security/PublicKey;
HSPLsun/util/calendar/AbstractCalendar;->getCalendarDate(JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
HSPLsun/util/calendar/AbstractCalendar;->getDayOfWeekDateOnOrBefore(JI)J
@@ -31920,16 +15916,22 @@ HSPLsun/util/calendar/AbstractCalendar;->getTime(Lsun/util/calendar/CalendarDate
HSPLsun/util/calendar/AbstractCalendar;->getTimeOfDay(Lsun/util/calendar/CalendarDate;)J
HSPLsun/util/calendar/AbstractCalendar;->getTimeOfDayValue(Lsun/util/calendar/CalendarDate;)J
HSPLsun/util/calendar/AbstractCalendar;->setTimeOfDay(Lsun/util/calendar/CalendarDate;I)Lsun/util/calendar/CalendarDate;
+HSPLsun/util/calendar/BaseCalendar$Date;-><init>(Ljava/util/TimeZone;)V
HSPLsun/util/calendar/BaseCalendar$Date;->getCachedJan1()J
HSPLsun/util/calendar/BaseCalendar$Date;->getCachedYear()I
+HSPLsun/util/calendar/BaseCalendar$Date;->hit(I)Z
+HSPLsun/util/calendar/BaseCalendar$Date;->hit(J)Z
HSPLsun/util/calendar/BaseCalendar$Date;->setCache(IJI)V
HSPLsun/util/calendar/BaseCalendar;->getCalendarDateFromFixedDate(Lsun/util/calendar/CalendarDate;J)V
+HSPLsun/util/calendar/BaseCalendar;->getDayOfWeekFromFixedDate(J)I
+HSPLsun/util/calendar/BaseCalendar;->getDayOfYear(III)J
HSPLsun/util/calendar/BaseCalendar;->getFixedDate(IIILsun/util/calendar/BaseCalendar$Date;)J
HSPLsun/util/calendar/BaseCalendar;->getFixedDate(Lsun/util/calendar/CalendarDate;)J
HSPLsun/util/calendar/BaseCalendar;->getGregorianYearFromFixedDate(J)I
HSPLsun/util/calendar/BaseCalendar;->isLeapYear(I)Z
HSPLsun/util/calendar/BaseCalendar;->isLeapYear(Lsun/util/calendar/CalendarDate;)Z
HSPLsun/util/calendar/BaseCalendar;->normalizeMonth(Lsun/util/calendar/CalendarDate;)V
+HSPLsun/util/calendar/CalendarDate;-><init>(Ljava/util/TimeZone;)V
HSPLsun/util/calendar/CalendarDate;->clone()Ljava/lang/Object;
HSPLsun/util/calendar/CalendarDate;->getDayOfMonth()I
HSPLsun/util/calendar/CalendarDate;->getDayOfWeek()I
@@ -31962,11 +15964,11 @@ HSPLsun/util/calendar/CalendarDate;->setYear(I)Lsun/util/calendar/CalendarDate;
HSPLsun/util/calendar/CalendarDate;->setZone(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
HSPLsun/util/calendar/CalendarDate;->setZoneOffset(I)V
HSPLsun/util/calendar/CalendarSystem;->getGregorianCalendar()Lsun/util/calendar/Gregorian;
+HSPLsun/util/calendar/CalendarUtils;->isGregorianLeapYear(I)Z
HSPLsun/util/calendar/CalendarUtils;->sprintf0d(Ljava/lang/StringBuilder;II)Ljava/lang/StringBuilder;
-HSPLsun/util/calendar/Era;-><init>(Ljava/lang/String;Ljava/lang/String;JZ)V
+HSPLsun/util/calendar/Gregorian$Date;-><init>(Ljava/util/TimeZone;)V
HSPLsun/util/calendar/Gregorian$Date;->getNormalizedYear()I
HSPLsun/util/calendar/Gregorian$Date;->setNormalizedYear(I)V
-HSPLsun/util/calendar/Gregorian;-><init>()V
HSPLsun/util/calendar/Gregorian;->getCalendarDate(JLjava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
HSPLsun/util/calendar/Gregorian;->getCalendarDate(JLjava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
HSPLsun/util/calendar/Gregorian;->getCalendarDate(JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
@@ -31977,20 +15979,33 @@ HSPLsun/util/locale/BaseLocale$Cache;->createObject(Ljava/lang/Object;)Ljava/lan
HSPLsun/util/locale/BaseLocale$Cache;->createObject(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale;
HSPLsun/util/locale/BaseLocale$Cache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
HSPLsun/util/locale/BaseLocale$Cache;->normalizeKey(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale$Key;
+HSPLsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLsun/util/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
+HSPLsun/util/locale/BaseLocale$Key;->access$100(Lsun/util/locale/BaseLocale$Key;)Ljava/lang/ref/SoftReference;
+HSPLsun/util/locale/BaseLocale$Key;->access$200(Lsun/util/locale/BaseLocale$Key;)Ljava/lang/ref/SoftReference;
+HSPLsun/util/locale/BaseLocale$Key;->access$300(Lsun/util/locale/BaseLocale$Key;)Ljava/lang/ref/SoftReference;
+HSPLsun/util/locale/BaseLocale$Key;->access$400(Lsun/util/locale/BaseLocale$Key;)Ljava/lang/ref/SoftReference;
HSPLsun/util/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z
HSPLsun/util/locale/BaseLocale$Key;->hashCode()I
HSPLsun/util/locale/BaseLocale$Key;->normalize(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale$Key;
HSPLsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLsun/util/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/util/locale/BaseLocale$1;)V
HSPLsun/util/locale/BaseLocale;->equals(Ljava/lang/Object;)Z
HSPLsun/util/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/BaseLocale;
+HSPLsun/util/locale/BaseLocale;->getLanguage()Ljava/lang/String;
+HSPLsun/util/locale/BaseLocale;->getRegion()Ljava/lang/String;
+HSPLsun/util/locale/BaseLocale;->getScript()Ljava/lang/String;
+HSPLsun/util/locale/BaseLocale;->getVariant()Ljava/lang/String;
HSPLsun/util/locale/BaseLocale;->hashCode()I
-HSPLsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(Ljava/lang/String;Lsun/util/locale/InternalLocaleBuilder$1;)V
+HSPLsun/util/locale/InternalLocaleBuilder;-><init>()V
+HSPLsun/util/locale/InternalLocaleBuilder;->clear()Lsun/util/locale/InternalLocaleBuilder;
+HSPLsun/util/locale/InternalLocaleBuilder;->clearExtensions()Lsun/util/locale/InternalLocaleBuilder;
HSPLsun/util/locale/InternalLocaleBuilder;->getBaseLocale()Lsun/util/locale/BaseLocale;
HSPLsun/util/locale/InternalLocaleBuilder;->getLocaleExtensions()Lsun/util/locale/LocaleExtensions;
HSPLsun/util/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setLanguage(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
HSPLsun/util/locale/InternalLocaleBuilder;->setLanguageTag(Lsun/util/locale/LanguageTag;)Lsun/util/locale/InternalLocaleBuilder;
+HSPLsun/util/locale/LanguageTag;-><init>()V
+HSPLsun/util/locale/LanguageTag;->canonicalizeLanguage(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/util/locale/LanguageTag;->getExtensions()Ljava/util/List;
HSPLsun/util/locale/LanguageTag;->getExtlangs()Ljava/util/List;
HSPLsun/util/locale/LanguageTag;->getLanguage()Ljava/lang/String;
@@ -31998,6 +16013,10 @@ HSPLsun/util/locale/LanguageTag;->getPrivateuse()Ljava/lang/String;
HSPLsun/util/locale/LanguageTag;->getRegion()Ljava/lang/String;
HSPLsun/util/locale/LanguageTag;->getScript()Ljava/lang/String;
HSPLsun/util/locale/LanguageTag;->getVariants()Ljava/util/List;
+HSPLsun/util/locale/LanguageTag;->isExtlang(Ljava/lang/String;)Z
+HSPLsun/util/locale/LanguageTag;->isLanguage(Ljava/lang/String;)Z
+HSPLsun/util/locale/LanguageTag;->isRegion(Ljava/lang/String;)Z
+HSPLsun/util/locale/LanguageTag;->isScript(Ljava/lang/String;)Z
HSPLsun/util/locale/LanguageTag;->parse(Ljava/lang/String;Lsun/util/locale/ParseStatus;)Lsun/util/locale/LanguageTag;
HSPLsun/util/locale/LanguageTag;->parseExtensions(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
HSPLsun/util/locale/LanguageTag;->parseExtlangs(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
@@ -32007,19 +16026,26 @@ HSPLsun/util/locale/LanguageTag;->parsePrivateuse(Lsun/util/locale/StringTokenIt
HSPLsun/util/locale/LanguageTag;->parseRegion(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
HSPLsun/util/locale/LanguageTag;->parseScript(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
HSPLsun/util/locale/LanguageTag;->parseVariants(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-HSPLsun/util/locale/LocaleMatcher;->getEquivalentForRegionAndVariant(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/util/locale/LocaleMatcher;->getEquivalentsForLanguage(Ljava/lang/String;)[Ljava/lang/String;
-HSPLsun/util/locale/LocaleMatcher;->lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
-HSPLsun/util/locale/LocaleMatcher;->lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
-HSPLsun/util/locale/LocaleMatcher;->parse(Ljava/lang/String;)Ljava/util/List;
+HSPLsun/util/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
HSPLsun/util/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object;
+HSPLsun/util/locale/LocaleObjectCache;-><init>()V
+HSPLsun/util/locale/LocaleObjectCache;-><init>(IFI)V
+HSPLsun/util/locale/LocaleObjectCache;->cleanStaleEntries()V
HSPLsun/util/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLsun/util/locale/LocaleObjectCache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
HSPLsun/util/locale/LocaleUtils;->caseIgnoreMatch(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLsun/util/locale/LocaleUtils;->isAlpha(C)Z
+HSPLsun/util/locale/LocaleUtils;->isAlphaString(Ljava/lang/String;)Z
+HSPLsun/util/locale/LocaleUtils;->isEmpty(Ljava/util/List;)Z
+HSPLsun/util/locale/LocaleUtils;->isEmpty(Ljava/util/Map;)Z
+HSPLsun/util/locale/LocaleUtils;->isEmpty(Ljava/util/Set;)Z
HSPLsun/util/locale/LocaleUtils;->toLowerString(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/util/locale/LocaleUtils;->toTitleString(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/util/locale/LocaleUtils;->toUpperString(Ljava/lang/String;)Ljava/lang/String;
+HSPLsun/util/locale/ParseStatus;-><init>()V
HSPLsun/util/locale/ParseStatus;->isError()Z
+HSPLsun/util/locale/ParseStatus;->reset()V
+HSPLsun/util/locale/StringTokenIterator;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLsun/util/locale/StringTokenIterator;->current()Ljava/lang/String;
HSPLsun/util/locale/StringTokenIterator;->currentEnd()I
HSPLsun/util/locale/StringTokenIterator;->hasNext()Z
@@ -32027,26 +16053,33 @@ HSPLsun/util/locale/StringTokenIterator;->isDone()Z
HSPLsun/util/locale/StringTokenIterator;->next()Ljava/lang/String;
HSPLsun/util/locale/StringTokenIterator;->nextDelimiter(I)I
HSPLsun/util/locale/StringTokenIterator;->setStart(I)Lsun/util/locale/StringTokenIterator;
-HSPLsun/util/logging/LoggingSupport$1;-><init>()V
-HSPLsun/util/logging/LoggingSupport$1;->run()Ljava/lang/Object;
-HSPLsun/util/logging/LoggingSupport$1;->run()Lsun/util/logging/LoggingProxy;
-HSPLsun/util/logging/PlatformLogger$1;-><init>()V
-HSPLsun/util/logging/PlatformLogger$1;->run()Ljava/lang/Boolean;
-HSPLsun/util/logging/PlatformLogger$1;->run()Ljava/lang/Object;
-HSPLsun/util/logging/PlatformLogger$Level;-><init>(Ljava/lang/String;I)V
-HSPLsun/util/logging/PlatformLogger;->redirectPlatformLoggers()V
+HSPLsun/util/logging/LoggingSupport;->ensureAvailable()V
+HSPLsun/util/logging/LoggingSupport;->getLogger(Ljava/lang/String;)Ljava/lang/Object;
+HSPLsun/util/logging/LoggingSupport;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
+HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><clinit>()V
+HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><init>(Ljava/lang/String;)V
+HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><init>(Ljava/lang/String;Lsun/util/logging/PlatformLogger$Level;)V
+HSPLsun/util/logging/PlatformLogger$Level;->values()[Lsun/util/logging/PlatformLogger$Level;
+HSPLsun/util/logging/PlatformLogger$LoggerProxy;-><init>(Ljava/lang/String;)V
+HSPLsun/util/logging/PlatformLogger;-><init>(Ljava/lang/String;)V
+HSPLsun/util/logging/PlatformLogger;->getLogger(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
Landroid/R$styleable;
Landroid/accessibilityservice/AccessibilityServiceInfo$1;
Landroid/accessibilityservice/AccessibilityServiceInfo;
+Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;
+Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;
+Landroid/accessibilityservice/IAccessibilityServiceClient;
Landroid/accounts/Account$1;
Landroid/accounts/Account;
Landroid/accounts/AccountAndUser;
Landroid/accounts/AccountManager$10;
Landroid/accounts/AccountManager$11;
+Landroid/accounts/AccountManager$17;
Landroid/accounts/AccountManager$18;
Landroid/accounts/AccountManager$1;
Landroid/accounts/AccountManager$20;
Landroid/accounts/AccountManager$2;
+Landroid/accounts/AccountManager$3;
Landroid/accounts/AccountManager$AmsTask$1;
Landroid/accounts/AccountManager$AmsTask$Response;
Landroid/accounts/AccountManager$AmsTask;
@@ -32064,14 +16097,21 @@ Landroid/accounts/AccountsException;
Landroid/accounts/AuthenticatorDescription$1;
Landroid/accounts/AuthenticatorDescription;
Landroid/accounts/AuthenticatorException;
+Landroid/accounts/IAccountAuthenticator$Stub$Proxy;
+Landroid/accounts/IAccountAuthenticator$Stub;
+Landroid/accounts/IAccountAuthenticator;
+Landroid/accounts/IAccountAuthenticatorResponse$Stub;
+Landroid/accounts/IAccountAuthenticatorResponse;
Landroid/accounts/IAccountManager$Stub$Proxy;
Landroid/accounts/IAccountManager$Stub;
Landroid/accounts/IAccountManager;
+Landroid/accounts/IAccountManagerResponse$Stub$Proxy;
Landroid/accounts/IAccountManagerResponse$Stub;
Landroid/accounts/IAccountManagerResponse;
Landroid/accounts/OnAccountsUpdateListener;
Landroid/accounts/OperationCanceledException;
Landroid/animation/AnimationHandler$1;
+Landroid/animation/AnimationHandler$2;
Landroid/animation/AnimationHandler$AnimationFrameCallback;
Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;
Landroid/animation/AnimationHandler$MyFrameCallbackProvider;
@@ -32092,6 +16132,7 @@ Landroid/animation/AnimatorSet$Node;
Landroid/animation/AnimatorSet$SeekState;
Landroid/animation/AnimatorSet;
Landroid/animation/ArgbEvaluator;
+Landroid/animation/BidirectionalTypeConverter;
Landroid/animation/FloatEvaluator;
Landroid/animation/FloatKeyframeSet;
Landroid/animation/IntEvaluator;
@@ -32106,6 +16147,7 @@ Landroid/animation/Keyframes$IntKeyframes;
Landroid/animation/Keyframes;
Landroid/animation/LayoutTransition$1;
Landroid/animation/LayoutTransition$2;
+Landroid/animation/LayoutTransition$3;
Landroid/animation/LayoutTransition$4;
Landroid/animation/LayoutTransition$5;
Landroid/animation/LayoutTransition$CleanupCallback;
@@ -32114,12 +16156,16 @@ Landroid/animation/LayoutTransition;
Landroid/animation/ObjectAnimator;
Landroid/animation/PathKeyframes$1;
Landroid/animation/PathKeyframes$2;
+Landroid/animation/PathKeyframes$3;
+Landroid/animation/PathKeyframes$4;
Landroid/animation/PathKeyframes$FloatKeyframesBase;
Landroid/animation/PathKeyframes$IntKeyframesBase;
Landroid/animation/PathKeyframes$SimpleKeyframes;
Landroid/animation/PathKeyframes;
+Landroid/animation/PropertyValuesHolder$1;
Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;
Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;
+Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;
Landroid/animation/PropertyValuesHolder$PropertyValues;
Landroid/animation/PropertyValuesHolder;
Landroid/animation/RectEvaluator;
@@ -32130,31 +16176,56 @@ Landroid/animation/StateListAnimator;
Landroid/animation/TimeAnimator$TimeListener;
Landroid/animation/TimeAnimator;
Landroid/animation/TimeInterpolator;
+Landroid/animation/TypeConverter;
Landroid/animation/TypeEvaluator;
Landroid/animation/ValueAnimator$AnimatorUpdateListener;
Landroid/animation/ValueAnimator;
+Landroid/annotation/IntRange;
+Landroid/annotation/NonNull;
+Landroid/apex/ApexInfo$1;
+Landroid/apex/ApexInfo;
Landroid/apex/IApexService$Stub$Proxy;
Landroid/apex/IApexService$Stub;
Landroid/apex/IApexService;
+Landroid/app/-$$Lambda$ActivityThread$A4ykhsPb8qV3ffTqpQDklHSMDJ0;
Landroid/app/-$$Lambda$ActivityThread$ActivityClientRecord$HOrG1qglSjSUHSjKBn2rXtX0gGg;
+Landroid/app/-$$Lambda$ActivityThread$ApplicationThread$nBC_BR7B9W6ftKAxur3BC53SJYc;
Landroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;
-Landroid/app/-$$Lambda$ActivityThread$ZXDWm3IBeFmLnFVblhB-IOZCr9o;
+Landroid/app/-$$Lambda$ActivityThread$ApplicationThread$uR_ee-5oPoxu4U_by7wU55jwtdU;
+Landroid/app/-$$Lambda$ActivityThread$FmvGY8exyv0L0oqZrnunpl8OFI8;
+Landroid/app/-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054;
+Landroid/app/-$$Lambda$ActivityTransitionState$yioLR6wQWjZ9DcWK5bibElIbsXc;
+Landroid/app/-$$Lambda$AppOpsManager$HistoricalOp$DkVcBvqB32SMHlxw0sWQPh3GL1A;
+Landroid/app/-$$Lambda$AppOpsManager$HistoricalOp$HUOLFYs8TiaQIOXcrq6JzjxA6gs;
+Landroid/app/-$$Lambda$AppOpsManager$HistoricalOp$Vs6pDL0wjOBTquwNnreWVbPQrn4;
+Landroid/app/-$$Lambda$AppOpsManager$OpEntry$YTJl86rOgjsrtxPtz5iTGXvrzc4;
+Landroid/app/-$$Lambda$AppOpsManager$OpEntry$kdehJT0Vyrquji7c4qSeRkpnvBU;
+Landroid/app/-$$Lambda$AppOpsManager$OpEntry$uXaZ6E4Gv-J5C3nhIOFXmg3dYxc;
Landroid/app/-$$Lambda$Dialog$zXRzrq3I7H1_zmZ8d_W7t2CQN0I;
+Landroid/app/-$$Lambda$FragmentTransition$jurn0WXuKw3bRQ_2d5zCWdeZWuI;
Landroid/app/-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA;
Landroid/app/-$$Lambda$Notification$hOCsSZH8tWalFSbIzQ9x9IcPa9M;
Landroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;
Landroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;
+Landroid/app/-$$Lambda$WallpaperManager$Globals$1AcnQUORvPlCjJoNqdxfQT4o4Nw;
+Landroid/app/-$$Lambda$WallpaperManager$Globals$2yG7V1sbMECCnlFTLyjKWKqNoYI;
+Landroid/app/-$$Lambda$ZsFzoG2loyqNOR2cNbo-thrNK5c;
Landroid/app/-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE;
Landroid/app/ActionBar$LayoutParams;
Landroid/app/ActionBar;
+Landroid/app/Activity$1;
Landroid/app/Activity$HostCallbacks;
+Landroid/app/Activity$ManagedCursor;
+Landroid/app/Activity$ManagedDialog;
Landroid/app/Activity$NonConfigurationInstances;
+Landroid/app/Activity$RequestFinishCallback;
Landroid/app/Activity;
Landroid/app/ActivityManager$1;
Landroid/app/ActivityManager$AppTask;
Landroid/app/ActivityManager$MemoryInfo$1;
Landroid/app/ActivityManager$MemoryInfo;
Landroid/app/ActivityManager$OnUidImportanceListener;
+Landroid/app/ActivityManager$ProcessErrorStateInfo$1;
Landroid/app/ActivityManager$RecentTaskInfo$1;
Landroid/app/ActivityManager$RecentTaskInfo;
Landroid/app/ActivityManager$RunningAppProcessInfo$1;
@@ -32167,6 +16238,8 @@ Landroid/app/ActivityManager$StackInfo$1;
Landroid/app/ActivityManager$StackInfo;
Landroid/app/ActivityManager$TaskDescription$1;
Landroid/app/ActivityManager$TaskDescription;
+Landroid/app/ActivityManager$TaskSnapshot$1;
+Landroid/app/ActivityManager$TaskSnapshot;
Landroid/app/ActivityManager$UidObserver;
Landroid/app/ActivityManager;
Landroid/app/ActivityManagerInternal;
@@ -32195,20 +16268,27 @@ Landroid/app/ActivityThread$ProviderRefCount;
Landroid/app/ActivityThread$PurgeIdler;
Landroid/app/ActivityThread$ReceiverData;
Landroid/app/ActivityThread$RequestAssistContextExtras;
+Landroid/app/ActivityThread$SafeCancellationTransport;
Landroid/app/ActivityThread$ServiceArgsData;
Landroid/app/ActivityThread$UpdateCompatibilityData;
Landroid/app/ActivityThread;
+Landroid/app/ActivityTransitionCoordinator;
+Landroid/app/ActivityTransitionState$1;
Landroid/app/ActivityTransitionState;
+Landroid/app/AlarmManager$AlarmClockInfo$1;
Landroid/app/AlarmManager$AlarmClockInfo;
Landroid/app/AlarmManager$ListenerWrapper;
Landroid/app/AlarmManager$OnAlarmListener;
Landroid/app/AlarmManager;
Landroid/app/AlertDialog$Builder;
Landroid/app/AlertDialog;
+Landroid/app/AppCompatCallbacks;
Landroid/app/AppComponentFactory;
Landroid/app/AppDetailsActivity;
Landroid/app/AppGlobals;
+Landroid/app/AppOpsManager$1;
Landroid/app/AppOpsManager$2;
+Landroid/app/AppOpsManager$3;
Landroid/app/AppOpsManager$HistoricalOp$1;
Landroid/app/AppOpsManager$HistoricalOp;
Landroid/app/AppOpsManager$HistoricalOps$1;
@@ -32217,25 +16297,36 @@ Landroid/app/AppOpsManager$HistoricalPackageOps$1;
Landroid/app/AppOpsManager$HistoricalPackageOps;
Landroid/app/AppOpsManager$HistoricalUidOps$1;
Landroid/app/AppOpsManager$HistoricalUidOps;
+Landroid/app/AppOpsManager$OnOpActiveChangedListener;
Landroid/app/AppOpsManager$OnOpChangedInternalListener;
Landroid/app/AppOpsManager$OnOpChangedListener;
Landroid/app/AppOpsManager$OpEntry$1;
Landroid/app/AppOpsManager$OpEntry;
+Landroid/app/AppOpsManager$OpFeatureEntry;
Landroid/app/AppOpsManager$PackageOps$1;
Landroid/app/AppOpsManager$PackageOps;
+Landroid/app/AppOpsManager$PausedNotedAppOpsCollection;
Landroid/app/AppOpsManager;
Landroid/app/AppOpsManagerInternal;
Landroid/app/Application$ActivityLifecycleCallbacks;
Landroid/app/Application;
+Landroid/app/ApplicationErrorReport$1;
Landroid/app/ApplicationErrorReport$CrashInfo;
Landroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;
Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;
+Landroid/app/ApplicationErrorReport;
+Landroid/app/ApplicationLoaders$CachedClassLoader;
Landroid/app/ApplicationLoaders;
+Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;
Landroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;
Landroid/app/ApplicationPackageManager$ResourceName;
Landroid/app/ApplicationPackageManager;
+Landroid/app/AutomaticZenRule$1;
+Landroid/app/AutomaticZenRule;
Landroid/app/BackStackRecord$Op;
Landroid/app/BackStackRecord;
+Landroid/app/BackStackState$1;
+Landroid/app/BackStackState;
Landroid/app/BroadcastOptions;
Landroid/app/ClientTransactionHandler;
Landroid/app/ContentProviderHolder$1;
@@ -32247,34 +16338,55 @@ Landroid/app/DexLoadReporter;
Landroid/app/Dialog$ListenersHandler;
Landroid/app/Dialog;
Landroid/app/DialogFragment;
+Landroid/app/DirectAction;
+Landroid/app/DownloadManager$CursorTranslator;
+Landroid/app/DownloadManager$Query;
+Landroid/app/DownloadManager$Request;
Landroid/app/DownloadManager;
+Landroid/app/EnterTransitionCoordinator;
+Landroid/app/EventLogTags;
+Landroid/app/ExitTransitionCoordinator;
Landroid/app/Fragment$1;
Landroid/app/Fragment$AnimationInfo;
+Landroid/app/Fragment$InstantiationException;
Landroid/app/Fragment$OnStartEnterTransitionListener;
Landroid/app/Fragment;
Landroid/app/FragmentContainer;
Landroid/app/FragmentController;
Landroid/app/FragmentHostCallback;
Landroid/app/FragmentManager$BackStackEntry;
+Landroid/app/FragmentManager$FragmentLifecycleCallbacks;
+Landroid/app/FragmentManager$OnBackStackChangedListener;
Landroid/app/FragmentManager;
Landroid/app/FragmentManagerImpl$1;
+Landroid/app/FragmentManagerImpl$2;
+Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;
Landroid/app/FragmentManagerImpl$OpGenerator;
+Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;
Landroid/app/FragmentManagerImpl;
+Landroid/app/FragmentManagerNonConfig;
Landroid/app/FragmentManagerState$1;
Landroid/app/FragmentManagerState;
Landroid/app/FragmentState$1;
Landroid/app/FragmentState;
Landroid/app/FragmentTransaction;
+Landroid/app/FragmentTransition$2;
+Landroid/app/FragmentTransition$5;
Landroid/app/FragmentTransition$FragmentContainerTransition;
Landroid/app/FragmentTransition;
+Landroid/app/IActivityController$Stub$Proxy;
+Landroid/app/IActivityController$Stub;
+Landroid/app/IActivityController;
Landroid/app/IActivityManager$Stub$Proxy;
Landroid/app/IActivityManager$Stub;
Landroid/app/IActivityManager;
Landroid/app/IActivityTaskManager$Stub$Proxy;
Landroid/app/IActivityTaskManager$Stub;
Landroid/app/IActivityTaskManager;
+Landroid/app/IAlarmCompleteListener$Stub$Proxy;
Landroid/app/IAlarmCompleteListener$Stub;
Landroid/app/IAlarmCompleteListener;
+Landroid/app/IAlarmListener$Stub$Proxy;
Landroid/app/IAlarmListener$Stub;
Landroid/app/IAlarmListener;
Landroid/app/IAlarmManager$Stub$Proxy;
@@ -32286,24 +16398,42 @@ Landroid/app/IAppTask;
Landroid/app/IApplicationThread$Stub$Proxy;
Landroid/app/IApplicationThread$Stub;
Landroid/app/IApplicationThread;
+Landroid/app/IAssistDataReceiver$Stub$Proxy;
+Landroid/app/IAssistDataReceiver$Stub;
+Landroid/app/IAssistDataReceiver;
+Landroid/app/IBackupAgent$Stub$Proxy;
Landroid/app/IBackupAgent$Stub;
Landroid/app/IBackupAgent;
+Landroid/app/IInstantAppResolver$Stub$Proxy;
+Landroid/app/IInstantAppResolver$Stub;
+Landroid/app/IInstantAppResolver;
+Landroid/app/IInstrumentationWatcher$Stub$Proxy;
Landroid/app/IInstrumentationWatcher$Stub;
Landroid/app/IInstrumentationWatcher;
Landroid/app/INotificationManager$Stub$Proxy;
Landroid/app/INotificationManager$Stub;
Landroid/app/INotificationManager;
+Landroid/app/IProcessObserver$Stub$Proxy;
Landroid/app/IProcessObserver$Stub;
Landroid/app/IProcessObserver;
+Landroid/app/IRequestFinishCallback$Stub$Proxy;
+Landroid/app/IRequestFinishCallback$Stub;
+Landroid/app/IRequestFinishCallback;
Landroid/app/ISearchManager$Stub;
Landroid/app/ISearchManager;
+Landroid/app/IServiceConnection$Stub$Proxy;
Landroid/app/IServiceConnection$Stub;
Landroid/app/IServiceConnection;
+Landroid/app/IStopUserCallback$Stub$Proxy;
+Landroid/app/IStopUserCallback$Stub;
+Landroid/app/IStopUserCallback;
Landroid/app/ITaskStackListener$Stub$Proxy;
Landroid/app/ITaskStackListener$Stub;
Landroid/app/ITaskStackListener;
+Landroid/app/ITransientNotification$Stub$Proxy;
Landroid/app/ITransientNotification$Stub;
Landroid/app/ITransientNotification;
+Landroid/app/IUiAutomationConnection$Stub$Proxy;
Landroid/app/IUiAutomationConnection$Stub;
Landroid/app/IUiAutomationConnection;
Landroid/app/IUiModeManager$Stub$Proxy;
@@ -32312,6 +16442,7 @@ Landroid/app/IUiModeManager;
Landroid/app/IUidObserver$Stub$Proxy;
Landroid/app/IUidObserver$Stub;
Landroid/app/IUidObserver;
+Landroid/app/IUriGrantsManager$Stub$Proxy;
Landroid/app/IUriGrantsManager$Stub;
Landroid/app/IUriGrantsManager;
Landroid/app/IUserSwitchObserver$Stub$Proxy;
@@ -32323,6 +16454,10 @@ Landroid/app/IWallpaperManager;
Landroid/app/IWallpaperManagerCallback$Stub$Proxy;
Landroid/app/IWallpaperManagerCallback$Stub;
Landroid/app/IWallpaperManagerCallback;
+Landroid/app/Instrumentation$ActivityGoing;
+Landroid/app/Instrumentation$ActivityMonitor;
+Landroid/app/Instrumentation$ActivityResult;
+Landroid/app/Instrumentation$ActivityWaiter;
Landroid/app/Instrumentation;
Landroid/app/IntentReceiverLeaked;
Landroid/app/IntentService$ServiceHandler;
@@ -32338,6 +16473,7 @@ Landroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;
Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;
Landroid/app/LoadedApk$ServiceDispatcher$RunConnection;
Landroid/app/LoadedApk$ServiceDispatcher;
+Landroid/app/LoadedApk$SplitDependencyLoaderImpl;
Landroid/app/LoadedApk$WarningContextClassLoader;
Landroid/app/LoadedApk;
Landroid/app/LoaderManager$LoaderCallbacks;
@@ -32351,49 +16487,69 @@ Landroid/app/Notification$Action$Builder;
Landroid/app/Notification$Action;
Landroid/app/Notification$BigPictureStyle;
Landroid/app/Notification$BigTextStyle;
+Landroid/app/Notification$BubbleMetadata$1;
+Landroid/app/Notification$BubbleMetadata;
Landroid/app/Notification$Builder;
Landroid/app/Notification$BuilderRemoteViews;
Landroid/app/Notification$DecoratedCustomViewStyle;
Landroid/app/Notification$DecoratedMediaCustomViewStyle;
+Landroid/app/Notification$Extender;
Landroid/app/Notification$InboxStyle;
Landroid/app/Notification$MediaStyle;
Landroid/app/Notification$MessagingStyle$Message;
Landroid/app/Notification$MessagingStyle;
Landroid/app/Notification$StandardTemplateParams;
Landroid/app/Notification$Style;
+Landroid/app/Notification$TemplateBindResult;
+Landroid/app/Notification$TvExtender;
Landroid/app/Notification;
Landroid/app/NotificationChannel$1;
Landroid/app/NotificationChannel;
Landroid/app/NotificationChannelGroup$1;
Landroid/app/NotificationChannelGroup;
+Landroid/app/NotificationHistory;
Landroid/app/NotificationManager$Policy$1;
Landroid/app/NotificationManager$Policy;
Landroid/app/NotificationManager;
Landroid/app/OnActivityPausedListener;
+Landroid/app/PackageInstallObserver$1;
+Landroid/app/PackageInstallObserver;
Landroid/app/PendingIntent$1;
Landroid/app/PendingIntent$2;
Landroid/app/PendingIntent$CanceledException;
+Landroid/app/PendingIntent$FinishedDispatcher;
Landroid/app/PendingIntent$OnFinished;
Landroid/app/PendingIntent$OnMarshaledListener;
Landroid/app/PendingIntent;
Landroid/app/Person$1;
Landroid/app/Person$Builder;
Landroid/app/Person;
+Landroid/app/PictureInPictureParams$1;
+Landroid/app/PictureInPictureParams$Builder;
+Landroid/app/PictureInPictureParams;
+Landroid/app/ProcessMemoryState$1;
Landroid/app/ProfilerInfo$1;
Landroid/app/ProfilerInfo;
+Landroid/app/ProgressDialog;
Landroid/app/QueuedWork$QueuedWorkHandler;
Landroid/app/QueuedWork;
Landroid/app/ReceiverRestrictedContext;
Landroid/app/RemoteAction$1;
+Landroid/app/RemoteAction;
Landroid/app/RemoteInput$1;
Landroid/app/RemoteInput;
+Landroid/app/RemoteServiceException;
Landroid/app/ResourcesManager$1;
Landroid/app/ResourcesManager$ActivityResources;
Landroid/app/ResourcesManager$ApkKey;
+Landroid/app/ResourcesManager$ResourcesWithLoaders;
Landroid/app/ResourcesManager;
Landroid/app/ResultInfo$1;
Landroid/app/ResultInfo;
Landroid/app/SearchManager;
+Landroid/app/SearchableInfo$1;
+Landroid/app/SearchableInfo$ActionKeyInfo;
+Landroid/app/SearchableInfo;
Landroid/app/Service;
Landroid/app/ServiceConnectionLeaked;
Landroid/app/ServiceStartArgs$1;
@@ -32408,6 +16564,7 @@ Landroid/app/SharedPreferencesImpl$EditorImpl;
Landroid/app/SharedPreferencesImpl$MemoryCommitResult;
Landroid/app/SharedPreferencesImpl;
Landroid/app/StatsManager$StatsUnavailableException;
+Landroid/app/StatsManager$StatsdDeathRecipient;
Landroid/app/StatsManager;
Landroid/app/StatusBarManager;
Landroid/app/SynchronousUserSwitchObserver;
@@ -32422,13 +16579,6 @@ Landroid/app/SystemServiceRegistry$107;
Landroid/app/SystemServiceRegistry$108;
Landroid/app/SystemServiceRegistry$109;
Landroid/app/SystemServiceRegistry$10;
-Landroid/app/SystemServiceRegistry$110;
-Landroid/app/SystemServiceRegistry$111;
-Landroid/app/SystemServiceRegistry$112;
-Landroid/app/SystemServiceRegistry$113;
-Landroid/app/SystemServiceRegistry$114;
-Landroid/app/SystemServiceRegistry$115;
-Landroid/app/SystemServiceRegistry$116;
Landroid/app/SystemServiceRegistry$11;
Landroid/app/SystemServiceRegistry$12;
Landroid/app/SystemServiceRegistry$13;
@@ -32528,9 +16678,12 @@ Landroid/app/SystemServiceRegistry$98;
Landroid/app/SystemServiceRegistry$99;
Landroid/app/SystemServiceRegistry$9;
Landroid/app/SystemServiceRegistry$CachedServiceFetcher;
+Landroid/app/SystemServiceRegistry$ContextAwareServiceProducerWithBinder;
+Landroid/app/SystemServiceRegistry$ContextAwareServiceProducerWithoutBinder;
Landroid/app/SystemServiceRegistry$ServiceFetcher;
Landroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher;
Landroid/app/SystemServiceRegistry$StaticServiceFetcher;
+Landroid/app/SystemServiceRegistry$StaticServiceProducerWithBinder;
Landroid/app/SystemServiceRegistry;
Landroid/app/TaskInfo;
Landroid/app/TaskStackListener;
@@ -32538,20 +16691,30 @@ Landroid/app/UiModeManager;
Landroid/app/UriGrantsManager$1;
Landroid/app/UriGrantsManager;
Landroid/app/UserSwitchObserver;
+Landroid/app/VoiceInteractor$Request;
+Landroid/app/VoiceInteractor;
+Landroid/app/Vr2dDisplayProperties$1;
+Landroid/app/Vr2dDisplayProperties;
Landroid/app/VrManager;
+Landroid/app/WaitResult;
Landroid/app/WallpaperColors$1;
Landroid/app/WallpaperColors;
Landroid/app/WallpaperInfo$1;
+Landroid/app/WallpaperInfo;
Landroid/app/WallpaperManager$Globals;
+Landroid/app/WallpaperManager$OnColorsChangedListener;
Landroid/app/WallpaperManager;
Landroid/app/WindowConfiguration$1;
Landroid/app/WindowConfiguration;
Landroid/app/admin/-$$Lambda$DevicePolicyManager$aBAov4sAc4DWENs1-hCXh31NAg0;
Landroid/app/admin/-$$Lambda$DevicePolicyManager$w2TynM9H41ejac4JVpNbnemNVWk;
+Landroid/app/admin/-$$Lambda$pWaRScwKTZTgGW4Wa_v5R_pKBDU;
Landroid/app/admin/DeviceAdminInfo$1;
Landroid/app/admin/DeviceAdminInfo$PolicyInfo;
Landroid/app/admin/DeviceAdminInfo;
+Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;
Landroid/app/admin/DevicePolicyCache;
+Landroid/app/admin/DevicePolicyEventLogger;
Landroid/app/admin/DevicePolicyManager$1;
Landroid/app/admin/DevicePolicyManager$2;
Landroid/app/admin/DevicePolicyManager$InstallSystemUpdateCallback;
@@ -32559,6 +16722,9 @@ Landroid/app/admin/DevicePolicyManager$OnClearApplicationUserDataListener;
Landroid/app/admin/DevicePolicyManager;
Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;
Landroid/app/admin/DevicePolicyManagerInternal;
+Landroid/app/admin/IDeviceAdminService$Stub$Proxy;
+Landroid/app/admin/IDeviceAdminService$Stub;
+Landroid/app/admin/IDeviceAdminService;
Landroid/app/admin/IDevicePolicyManager$Stub$Proxy;
Landroid/app/admin/IDevicePolicyManager$Stub;
Landroid/app/admin/IDevicePolicyManager;
@@ -32567,15 +16733,20 @@ Landroid/app/admin/PasswordMetrics;
Landroid/app/admin/SecurityLog$SecurityEvent$1;
Landroid/app/admin/SecurityLog$SecurityEvent;
Landroid/app/admin/SecurityLog;
+Landroid/app/admin/StartInstallingUpdateCallback$Stub$Proxy;
Landroid/app/admin/StartInstallingUpdateCallback$Stub;
Landroid/app/admin/StartInstallingUpdateCallback;
Landroid/app/admin/SystemUpdateInfo$1;
Landroid/app/admin/SystemUpdateInfo;
Landroid/app/admin/SystemUpdatePolicy$1;
Landroid/app/admin/SystemUpdatePolicy;
+Landroid/app/appsearch/-$$Lambda$AppSearchManagerFrameworkInitializer$2C99JDf4IVN8JVCb0sQQPhgXbjI;
+Landroid/app/appsearch/AppSearchManager;
+Landroid/app/appsearch/AppSearchManagerFrameworkInitializer;
Landroid/app/assist/AssistContent$1;
Landroid/app/assist/AssistContent;
Landroid/app/assist/AssistStructure$1;
+Landroid/app/assist/AssistStructure$AutofillOverlay;
Landroid/app/assist/AssistStructure$ParcelTransferReader;
Landroid/app/assist/AssistStructure$ParcelTransferWriter;
Landroid/app/assist/AssistStructure$SendChannel;
@@ -32598,22 +16769,47 @@ Landroid/app/backup/BackupHelperDispatcher;
Landroid/app/backup/BackupManager;
Landroid/app/backup/BackupTransport$TransportImpl;
Landroid/app/backup/BackupTransport;
+Landroid/app/backup/BlobBackupHelper;
Landroid/app/backup/FileBackupHelperBase;
Landroid/app/backup/FullBackup;
Landroid/app/backup/FullBackupDataOutput;
+Landroid/app/backup/IBackupCallback$Stub$Proxy;
+Landroid/app/backup/IBackupCallback$Stub;
+Landroid/app/backup/IBackupCallback;
Landroid/app/backup/IBackupManager$Stub$Proxy;
Landroid/app/backup/IBackupManager$Stub;
Landroid/app/backup/IBackupManager;
+Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;
+Landroid/app/backup/IBackupManagerMonitor$Stub;
+Landroid/app/backup/IBackupManagerMonitor;
+Landroid/app/backup/IBackupObserver$Stub$Proxy;
+Landroid/app/backup/IBackupObserver$Stub;
+Landroid/app/backup/IBackupObserver;
+Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;
+Landroid/app/backup/IFullBackupRestoreObserver$Stub;
+Landroid/app/backup/IFullBackupRestoreObserver;
+Landroid/app/backup/IRestoreSession;
+Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;
+Landroid/app/backup/ISelectBackupTransportCallback$Stub;
+Landroid/app/backup/ISelectBackupTransportCallback;
+Landroid/app/backup/RestoreDescription;
Landroid/app/backup/SharedPreferencesBackupHelper;
+Landroid/app/blob/-$$Lambda$BlobStoreManagerFrameworkInitializer$WjSRSHMmxWPF4Fq-7TpX23MBh2U;
+Landroid/app/blob/BlobStoreManager;
+Landroid/app/blob/BlobStoreManagerFrameworkInitializer;
Landroid/app/contentsuggestions/ContentSuggestionsManager;
Landroid/app/contentsuggestions/IContentSuggestionsManager$Stub;
Landroid/app/contentsuggestions/IContentSuggestionsManager;
+Landroid/app/job/-$$Lambda$FpGlzN9oJcl8o5soW-gU-DyTvXM;
+Landroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$PtYe8PQc1PVJQXRnpm3iSxcWTR0;
+Landroid/app/job/-$$Lambda$JobSchedulerFrameworkInitializer$RHUxgww0pZFMmfQWKgaRAx0YFqA;
Landroid/app/job/IJobCallback$Stub$Proxy;
Landroid/app/job/IJobCallback$Stub;
Landroid/app/job/IJobCallback;
Landroid/app/job/IJobScheduler$Stub$Proxy;
Landroid/app/job/IJobScheduler$Stub;
Landroid/app/job/IJobScheduler;
+Landroid/app/job/IJobService$Stub$Proxy;
Landroid/app/job/IJobService$Stub;
Landroid/app/job/IJobService;
Landroid/app/job/JobInfo$1;
@@ -32624,6 +16820,7 @@ Landroid/app/job/JobInfo;
Landroid/app/job/JobParameters$1;
Landroid/app/job/JobParameters;
Landroid/app/job/JobScheduler;
+Landroid/app/job/JobSchedulerFrameworkInitializer;
Landroid/app/job/JobService$1;
Landroid/app/job/JobService;
Landroid/app/job/JobServiceEngine$JobHandler;
@@ -32631,11 +16828,33 @@ Landroid/app/job/JobServiceEngine$JobInterface;
Landroid/app/job/JobServiceEngine;
Landroid/app/job/JobWorkItem$1;
Landroid/app/job/JobWorkItem;
+Landroid/app/prediction/AppPredictionContext$1;
+Landroid/app/prediction/AppPredictionContext;
Landroid/app/prediction/AppPredictionManager;
+Landroid/app/prediction/AppPredictionSessionId$1;
+Landroid/app/prediction/AppPredictionSessionId;
+Landroid/app/prediction/AppPredictor;
+Landroid/app/prediction/AppTarget$1;
+Landroid/app/prediction/AppTarget;
+Landroid/app/prediction/AppTargetEvent$1;
+Landroid/app/prediction/AppTargetEvent;
+Landroid/app/prediction/AppTargetId$1;
+Landroid/app/prediction/AppTargetId;
+Landroid/app/prediction/IPredictionCallback$Stub$Proxy;
+Landroid/app/prediction/IPredictionCallback$Stub;
+Landroid/app/prediction/IPredictionCallback;
+Landroid/app/prediction/IPredictionManager$Stub$Proxy;
Landroid/app/prediction/IPredictionManager$Stub;
Landroid/app/prediction/IPredictionManager;
+Landroid/app/role/-$$Lambda$RoleControllerManager$Jsb4ev7pHUqel8_lglNSRLiUzpg;
+Landroid/app/role/-$$Lambda$RoleControllerManager$hbh627Rh8mtJykW3vb1FWR34mIQ;
+Landroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;
+Landroid/app/role/IOnRoleHoldersChangedListener$Stub$Proxy;
Landroid/app/role/IOnRoleHoldersChangedListener$Stub;
Landroid/app/role/IOnRoleHoldersChangedListener;
+Landroid/app/role/IRoleController$Stub$Proxy;
+Landroid/app/role/IRoleController$Stub;
+Landroid/app/role/IRoleController;
Landroid/app/role/IRoleManager$Stub$Proxy;
Landroid/app/role/IRoleManager$Stub;
Landroid/app/role/IRoleManager;
@@ -32643,6 +16862,8 @@ Landroid/app/role/OnRoleHoldersChangedListener;
Landroid/app/role/RoleControllerManager;
Landroid/app/role/RoleManager$OnRoleHoldersChangedListenerDelegate;
Landroid/app/role/RoleManager;
+Landroid/app/servertransaction/ActivityConfigurationChangeItem$1;
+Landroid/app/servertransaction/ActivityConfigurationChangeItem;
Landroid/app/servertransaction/ActivityLifecycleItem;
Landroid/app/servertransaction/ActivityRelaunchItem$1;
Landroid/app/servertransaction/ActivityRelaunchItem;
@@ -32692,10 +16913,11 @@ Landroid/app/slice/SliceSpec;
Landroid/app/timedetector/ITimeDetectorService$Stub$Proxy;
Landroid/app/timedetector/ITimeDetectorService$Stub;
Landroid/app/timedetector/ITimeDetectorService;
+Landroid/app/timedetector/ManualTimeSuggestion;
+Landroid/app/timedetector/PhoneTimeSuggestion;
Landroid/app/timedetector/TimeDetector;
-Landroid/app/timedetector/TimeSignal$1;
-Landroid/app/timedetector/TimeSignal;
Landroid/app/timezone/RulesManager;
+Landroid/app/timezonedetector/TimeZoneDetector;
Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;
Landroid/app/trust/IStrongAuthTracker$Stub;
Landroid/app/trust/IStrongAuthTracker;
@@ -32705,7 +16927,9 @@ Landroid/app/trust/ITrustListener;
Landroid/app/trust/ITrustManager$Stub$Proxy;
Landroid/app/trust/ITrustManager$Stub;
Landroid/app/trust/ITrustManager;
+Landroid/app/trust/TrustManager$1;
Landroid/app/trust/TrustManager$2;
+Landroid/app/trust/TrustManager$TrustListener;
Landroid/app/trust/TrustManager;
Landroid/app/usage/AppStandbyInfo$1;
Landroid/app/usage/AppStandbyInfo;
@@ -32718,6 +16942,9 @@ Landroid/app/usage/CacheQuotaService;
Landroid/app/usage/ConfigurationStats$1;
Landroid/app/usage/ConfigurationStats;
Landroid/app/usage/EventList;
+Landroid/app/usage/ExternalStorageStats$1;
+Landroid/app/usage/ExternalStorageStats;
+Landroid/app/usage/ICacheQuotaService$Stub$Proxy;
Landroid/app/usage/ICacheQuotaService$Stub;
Landroid/app/usage/ICacheQuotaService;
Landroid/app/usage/IStorageStatsManager$Stub$Proxy;
@@ -32726,6 +16953,8 @@ Landroid/app/usage/IStorageStatsManager;
Landroid/app/usage/IUsageStatsManager$Stub$Proxy;
Landroid/app/usage/IUsageStatsManager$Stub;
Landroid/app/usage/IUsageStatsManager;
+Landroid/app/usage/NetworkStatsManager$CallbackHandler;
+Landroid/app/usage/NetworkStatsManager$UsageCallback;
Landroid/app/usage/NetworkStatsManager;
Landroid/app/usage/StorageStats$1;
Landroid/app/usage/StorageStats;
@@ -32737,45 +16966,68 @@ Landroid/app/usage/UsageEvents;
Landroid/app/usage/UsageStats$1;
Landroid/app/usage/UsageStats;
Landroid/app/usage/UsageStatsManager;
-Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;
-Landroid/app/usage/UsageStatsManagerInternal;
Landroid/appwidget/AppWidgetManager;
Landroid/appwidget/AppWidgetManagerInternal;
Landroid/appwidget/AppWidgetProvider;
+Landroid/appwidget/AppWidgetProviderInfo$1;
+Landroid/appwidget/AppWidgetProviderInfo;
Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal;
Landroid/attention/AttentionManagerInternal;
+Landroid/bluetooth/-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4;
Landroid/bluetooth/BluetoothA2dp$1;
-Landroid/bluetooth/BluetoothA2dp$2;
Landroid/bluetooth/BluetoothA2dp;
+Landroid/bluetooth/BluetoothA2dpSink;
Landroid/bluetooth/BluetoothActivityEnergyInfo$1;
Landroid/bluetooth/BluetoothActivityEnergyInfo;
Landroid/bluetooth/BluetoothAdapter$1;
Landroid/bluetooth/BluetoothAdapter$2;
Landroid/bluetooth/BluetoothAdapter;
+Landroid/bluetooth/BluetoothAvrcpController;
Landroid/bluetooth/BluetoothClass$1;
Landroid/bluetooth/BluetoothClass;
Landroid/bluetooth/BluetoothCodecConfig$1;
Landroid/bluetooth/BluetoothCodecConfig;
+Landroid/bluetooth/BluetoothCodecStatus$1;
+Landroid/bluetooth/BluetoothCodecStatus;
Landroid/bluetooth/BluetoothDevice$1;
Landroid/bluetooth/BluetoothDevice$2;
Landroid/bluetooth/BluetoothDevice;
+Landroid/bluetooth/BluetoothGattService$1;
+Landroid/bluetooth/BluetoothGattService;
Landroid/bluetooth/BluetoothHeadset$1;
Landroid/bluetooth/BluetoothHeadset$2;
Landroid/bluetooth/BluetoothHeadset$3;
Landroid/bluetooth/BluetoothHeadset;
+Landroid/bluetooth/BluetoothHeadsetClient;
Landroid/bluetooth/BluetoothHearingAid$1;
-Landroid/bluetooth/BluetoothHearingAid$2;
Landroid/bluetooth/BluetoothHearingAid;
+Landroid/bluetooth/BluetoothHidDevice$1;
Landroid/bluetooth/BluetoothHidDevice;
+Landroid/bluetooth/BluetoothHidDeviceAppQosSettings$1;
+Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;
+Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings$1;
+Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;
+Landroid/bluetooth/BluetoothHidHost$1;
Landroid/bluetooth/BluetoothHidHost;
Landroid/bluetooth/BluetoothInputStream;
Landroid/bluetooth/BluetoothManager;
+Landroid/bluetooth/BluetoothMap$1;
Landroid/bluetooth/BluetoothMap;
+Landroid/bluetooth/BluetoothMapClient;
Landroid/bluetooth/BluetoothOutputStream;
+Landroid/bluetooth/BluetoothPan$1;
Landroid/bluetooth/BluetoothPan;
+Landroid/bluetooth/BluetoothPbap$1;
+Landroid/bluetooth/BluetoothPbap$2;
+Landroid/bluetooth/BluetoothPbap$ServiceListener;
Landroid/bluetooth/BluetoothPbap;
+Landroid/bluetooth/BluetoothPbapClient;
Landroid/bluetooth/BluetoothProfile$ServiceListener;
Landroid/bluetooth/BluetoothProfile;
+Landroid/bluetooth/BluetoothProfileConnector$1;
+Landroid/bluetooth/BluetoothProfileConnector$2;
+Landroid/bluetooth/BluetoothProfileConnector;
+Landroid/bluetooth/BluetoothSap$1;
Landroid/bluetooth/BluetoothSap;
Landroid/bluetooth/BluetoothServerSocket;
Landroid/bluetooth/BluetoothSocket$SocketState;
@@ -32795,16 +17047,28 @@ Landroid/bluetooth/IBluetoothCallback;
Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;
Landroid/bluetooth/IBluetoothGatt$Stub;
Landroid/bluetooth/IBluetoothGatt;
+Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;
+Landroid/bluetooth/IBluetoothGattCallback$Stub;
+Landroid/bluetooth/IBluetoothGattCallback;
+Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;
+Landroid/bluetooth/IBluetoothGattServerCallback$Stub;
+Landroid/bluetooth/IBluetoothGattServerCallback;
Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;
Landroid/bluetooth/IBluetoothHeadset$Stub;
Landroid/bluetooth/IBluetoothHeadset;
Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;
Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;
Landroid/bluetooth/IBluetoothHeadsetPhone;
+Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;
Landroid/bluetooth/IBluetoothHearingAid$Stub;
Landroid/bluetooth/IBluetoothHearingAid;
+Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;
Landroid/bluetooth/IBluetoothHidDevice$Stub;
Landroid/bluetooth/IBluetoothHidDevice;
+Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;
+Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;
+Landroid/bluetooth/IBluetoothHidDeviceCallback;
+Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;
Landroid/bluetooth/IBluetoothHidHost$Stub;
Landroid/bluetooth/IBluetoothHidHost;
Landroid/bluetooth/IBluetoothManager$Stub$Proxy;
@@ -32813,27 +17077,50 @@ Landroid/bluetooth/IBluetoothManager;
Landroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;
Landroid/bluetooth/IBluetoothManagerCallback$Stub;
Landroid/bluetooth/IBluetoothManagerCallback;
+Landroid/bluetooth/IBluetoothMap$Stub$Proxy;
Landroid/bluetooth/IBluetoothMap$Stub;
Landroid/bluetooth/IBluetoothMap;
+Landroid/bluetooth/IBluetoothMetadataListener$Stub$Proxy;
Landroid/bluetooth/IBluetoothMetadataListener$Stub;
Landroid/bluetooth/IBluetoothMetadataListener;
+Landroid/bluetooth/IBluetoothPan$Stub$Proxy;
Landroid/bluetooth/IBluetoothPan$Stub;
Landroid/bluetooth/IBluetoothPan;
+Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;
Landroid/bluetooth/IBluetoothPbap$Stub;
Landroid/bluetooth/IBluetoothPbap;
+Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;
Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;
Landroid/bluetooth/IBluetoothProfileServiceConnection;
+Landroid/bluetooth/IBluetoothSap$Stub$Proxy;
Landroid/bluetooth/IBluetoothSap$Stub;
Landroid/bluetooth/IBluetoothSap;
Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;
Landroid/bluetooth/IBluetoothSocketManager$Stub;
Landroid/bluetooth/IBluetoothSocketManager;
+Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;
Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;
Landroid/bluetooth/IBluetoothStateChangeCallback;
+Landroid/bluetooth/OobData$1;
+Landroid/bluetooth/OobData;
Landroid/bluetooth/UidTraffic$1;
Landroid/bluetooth/UidTraffic;
+Landroid/bluetooth/le/AdvertiseData$1;
+Landroid/bluetooth/le/AdvertiseData;
+Landroid/bluetooth/le/AdvertisingSetParameters$1;
+Landroid/bluetooth/le/AdvertisingSetParameters;
+Landroid/bluetooth/le/BluetoothLeScanner;
+Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;
+Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;
+Landroid/bluetooth/le/IAdvertisingSetCallback;
+Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;
+Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;
+Landroid/bluetooth/le/IPeriodicAdvertisingCallback;
Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;
+Landroid/bluetooth/le/IScannerCallback$Stub;
Landroid/bluetooth/le/IScannerCallback;
+Landroid/bluetooth/le/PeriodicAdvertisingParameters$1;
+Landroid/bluetooth/le/PeriodicAdvertisingParameters;
Landroid/bluetooth/le/ScanFilter$1;
Landroid/bluetooth/le/ScanFilter$Builder;
Landroid/bluetooth/le/ScanFilter;
@@ -32843,9 +17130,17 @@ Landroid/bluetooth/le/ScanResult;
Landroid/bluetooth/le/ScanSettings$1;
Landroid/bluetooth/le/ScanSettings$Builder;
Landroid/bluetooth/le/ScanSettings;
+Landroid/companion/AssociationRequest$1;
+Landroid/companion/AssociationRequest;
Landroid/companion/CompanionDeviceManager;
+Landroid/companion/ICompanionDeviceManager$Stub$Proxy;
Landroid/companion/ICompanionDeviceManager$Stub;
Landroid/companion/ICompanionDeviceManager;
+Landroid/companion/IFindDeviceCallback$Stub$Proxy;
+Landroid/companion/IFindDeviceCallback$Stub;
+Landroid/companion/IFindDeviceCallback;
+Landroid/compat/Compatibility$Callbacks;
+Landroid/compat/Compatibility;
Landroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;
Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
@@ -32861,6 +17156,11 @@ Landroid/content/AutofillOptions;
Landroid/content/BroadcastReceiver$PendingResult$1;
Landroid/content/BroadcastReceiver$PendingResult;
Landroid/content/BroadcastReceiver;
+Landroid/content/ClipData$1;
+Landroid/content/ClipData$Item;
+Landroid/content/ClipData;
+Landroid/content/ClipDescription$1;
+Landroid/content/ClipDescription;
Landroid/content/ClipboardManager$1;
Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;
Landroid/content/ClipboardManager;
@@ -32869,15 +17169,18 @@ Landroid/content/ComponentCallbacks;
Landroid/content/ComponentName$1;
Landroid/content/ComponentName$WithComponentName;
Landroid/content/ComponentName;
+Landroid/content/ContentCaptureOptions$1;
Landroid/content/ContentCaptureOptions;
Landroid/content/ContentInterface;
Landroid/content/ContentProvider$PipeDataWriter;
Landroid/content/ContentProvider$Transport;
Landroid/content/ContentProvider;
Landroid/content/ContentProviderClient$CursorWrapperInner;
+Landroid/content/ContentProviderClient$NotRespondingRunnable;
Landroid/content/ContentProviderClient;
Landroid/content/ContentProviderNative;
Landroid/content/ContentProviderOperation$1;
+Landroid/content/ContentProviderOperation$BackReference;
Landroid/content/ContentProviderOperation$Builder;
Landroid/content/ContentProviderOperation;
Landroid/content/ContentProviderProxy;
@@ -32885,6 +17188,7 @@ Landroid/content/ContentProviderResult$1;
Landroid/content/ContentProviderResult;
Landroid/content/ContentResolver$1;
Landroid/content/ContentResolver$CursorWrapperInner;
+Landroid/content/ContentResolver$OpenResourceIdResult;
Landroid/content/ContentResolver$ParcelFileDescriptorInner;
Landroid/content/ContentResolver;
Landroid/content/ContentUris;
@@ -32912,10 +17216,13 @@ Landroid/content/IIntentReceiver;
Landroid/content/IIntentSender$Stub$Proxy;
Landroid/content/IIntentSender$Stub;
Landroid/content/IIntentSender;
+Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;
Landroid/content/IOnPrimaryClipChangedListener$Stub;
Landroid/content/IOnPrimaryClipChangedListener;
+Landroid/content/IRestrictionsManager$Stub$Proxy;
Landroid/content/IRestrictionsManager$Stub;
Landroid/content/IRestrictionsManager;
+Landroid/content/ISyncAdapter$Stub$Proxy;
Landroid/content/ISyncAdapter$Stub;
Landroid/content/ISyncAdapter;
Landroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;
@@ -32924,6 +17231,7 @@ Landroid/content/ISyncAdapterUnsyncableAccountCallback;
Landroid/content/ISyncContext$Stub$Proxy;
Landroid/content/ISyncContext$Stub;
Landroid/content/ISyncContext;
+Landroid/content/ISyncStatusObserver$Stub$Proxy;
Landroid/content/ISyncStatusObserver$Stub;
Landroid/content/ISyncStatusObserver;
Landroid/content/Intent$1;
@@ -32934,14 +17242,19 @@ Landroid/content/IntentFilter$AuthorityEntry;
Landroid/content/IntentFilter$MalformedMimeTypeException;
Landroid/content/IntentFilter;
Landroid/content/IntentSender$1;
+Landroid/content/IntentSender$FinishedDispatcher;
Landroid/content/IntentSender$SendIntentException;
Landroid/content/IntentSender;
Landroid/content/Loader$ForceLoadContentObserver;
Landroid/content/Loader$OnLoadCanceledListener;
Landroid/content/Loader$OnLoadCompleteListener;
Landroid/content/Loader;
+Landroid/content/LocusId$1;
+Landroid/content/LocusId;
+Landroid/content/LoggingContentInterface;
Landroid/content/OperationApplicationException;
Landroid/content/PeriodicSync$1;
+Landroid/content/PeriodicSync;
Landroid/content/ReceiverCallNotAllowedException;
Landroid/content/RestrictionsManager;
Landroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;
@@ -32955,6 +17268,7 @@ Landroid/content/SyncAdapterType;
Landroid/content/SyncAdaptersCache$MySerializer;
Landroid/content/SyncAdaptersCache;
Landroid/content/SyncContext;
+Landroid/content/SyncInfo$1;
Landroid/content/SyncRequest$1;
Landroid/content/SyncRequest$Builder;
Landroid/content/SyncRequest;
@@ -32971,19 +17285,31 @@ Landroid/content/UndoManager;
Landroid/content/UndoOperation;
Landroid/content/UndoOwner;
Landroid/content/UriMatcher;
+Landroid/content/om/IOverlayManager$Stub$Proxy;
Landroid/content/om/IOverlayManager$Stub;
Landroid/content/om/IOverlayManager;
Landroid/content/om/OverlayInfo$1;
Landroid/content/om/OverlayInfo;
Landroid/content/om/OverlayManager;
+Landroid/content/pm/-$$Lambda$PackageParser$0DZRgzfgaIMpCOhJqjw6PUiU5vw;
+Landroid/content/pm/-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4;
+Landroid/content/pm/-$$Lambda$PackageParser$M-9fHqS_eEp1oYkuKJhRHOGUxf8;
+Landroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;
+Landroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;
Landroid/content/pm/-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE;
+Landroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;
+Landroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;
Landroid/content/pm/ActivityInfo$1;
Landroid/content/pm/ActivityInfo$WindowLayout;
Landroid/content/pm/ActivityInfo;
Landroid/content/pm/AndroidHidlUpdater;
Landroid/content/pm/ApplicationInfo$1;
Landroid/content/pm/ApplicationInfo;
+Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;
+Landroid/content/pm/BaseParceledListSlice$1;
Landroid/content/pm/BaseParceledListSlice;
+Landroid/content/pm/ChangedPackages$1;
+Landroid/content/pm/ChangedPackages;
Landroid/content/pm/ComponentInfo;
Landroid/content/pm/ConfigurationInfo$1;
Landroid/content/pm/ConfigurationInfo;
@@ -32995,42 +17321,70 @@ Landroid/content/pm/FeatureInfo$1;
Landroid/content/pm/FeatureInfo;
Landroid/content/pm/ICrossProfileApps$Stub;
Landroid/content/pm/ICrossProfileApps;
+Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;
+Landroid/content/pm/IDexModuleRegisterCallback$Stub;
+Landroid/content/pm/IDexModuleRegisterCallback;
Landroid/content/pm/ILauncherApps$Stub$Proxy;
Landroid/content/pm/ILauncherApps$Stub;
Landroid/content/pm/ILauncherApps;
+Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;
Landroid/content/pm/IOnAppsChangedListener$Stub;
Landroid/content/pm/IOnAppsChangedListener;
-Landroid/content/pm/IOnPermissionsChangeListener$Stub;
-Landroid/content/pm/IOnPermissionsChangeListener;
Landroid/content/pm/IOtaDexopt$Stub;
Landroid/content/pm/IOtaDexopt;
+Landroid/content/pm/IPackageDataObserver$Stub$Proxy;
Landroid/content/pm/IPackageDataObserver$Stub;
Landroid/content/pm/IPackageDataObserver;
+Landroid/content/pm/IPackageDeleteObserver$Stub$Proxy;
+Landroid/content/pm/IPackageDeleteObserver$Stub;
+Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;
+Landroid/content/pm/IPackageDeleteObserver2$Stub;
+Landroid/content/pm/IPackageDeleteObserver2;
Landroid/content/pm/IPackageDeleteObserver;
+Landroid/content/pm/IPackageInstallObserver2$Stub;
+Landroid/content/pm/IPackageInstallObserver2;
Landroid/content/pm/IPackageInstaller$Stub$Proxy;
Landroid/content/pm/IPackageInstaller$Stub;
Landroid/content/pm/IPackageInstaller;
+Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;
Landroid/content/pm/IPackageInstallerCallback$Stub;
Landroid/content/pm/IPackageInstallerCallback;
Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;
+Landroid/content/pm/IPackageInstallerSession$Stub;
Landroid/content/pm/IPackageInstallerSession;
Landroid/content/pm/IPackageManager$Stub$Proxy;
Landroid/content/pm/IPackageManager$Stub;
Landroid/content/pm/IPackageManager;
Landroid/content/pm/IPackageManagerNative$Stub;
Landroid/content/pm/IPackageManagerNative;
+Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;
Landroid/content/pm/IPackageMoveObserver$Stub;
Landroid/content/pm/IPackageMoveObserver;
+Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;
Landroid/content/pm/IPackageStatsObserver$Stub;
Landroid/content/pm/IPackageStatsObserver;
Landroid/content/pm/IShortcutService$Stub$Proxy;
Landroid/content/pm/IShortcutService$Stub;
Landroid/content/pm/IShortcutService;
+Landroid/content/pm/InstallSourceInfo;
+Landroid/content/pm/InstantAppIntentFilter$1;
+Landroid/content/pm/InstantAppIntentFilter;
+Landroid/content/pm/InstantAppRequest;
+Landroid/content/pm/InstantAppResolveInfo$1;
+Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;
+Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;
+Landroid/content/pm/InstantAppResolveInfo;
Landroid/content/pm/InstrumentationInfo$1;
Landroid/content/pm/InstrumentationInfo;
Landroid/content/pm/IntentFilterVerificationInfo$1;
Landroid/content/pm/IntentFilterVerificationInfo;
+Landroid/content/pm/KeySet$1;
+Landroid/content/pm/KeySet;
+Landroid/content/pm/LauncherActivityInfo;
Landroid/content/pm/LauncherApps$1;
+Landroid/content/pm/LauncherApps$AppUsageLimit;
+Landroid/content/pm/LauncherApps$CallbackMessageHandler;
+Landroid/content/pm/LauncherApps$ShortcutQuery;
Landroid/content/pm/LauncherApps;
Landroid/content/pm/ModuleInfo$1;
Landroid/content/pm/ModuleInfo;
@@ -33040,6 +17394,8 @@ Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBas
Landroid/content/pm/PackageBackwardCompatibility;
Landroid/content/pm/PackageInfo$1;
Landroid/content/pm/PackageInfo;
+Landroid/content/pm/PackageInfoLite$1;
+Landroid/content/pm/PackageInfoLite;
Landroid/content/pm/PackageInstaller$Session;
Landroid/content/pm/PackageInstaller$SessionCallback;
Landroid/content/pm/PackageInstaller$SessionCallbackDelegate;
@@ -33049,17 +17405,9 @@ Landroid/content/pm/PackageInstaller$SessionParams$1;
Landroid/content/pm/PackageInstaller$SessionParams;
Landroid/content/pm/PackageInstaller;
Landroid/content/pm/PackageItemInfo;
-Landroid/content/pm/PackageList;
Landroid/content/pm/PackageManager$NameNotFoundException;
Landroid/content/pm/PackageManager$OnPermissionsChangedListener;
Landroid/content/pm/PackageManager;
-Landroid/content/pm/PackageManagerInternal$DefaultBrowserProvider;
-Landroid/content/pm/PackageManagerInternal$DefaultHomeProvider;
-Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;
-Landroid/content/pm/PackageManagerInternal$PackageListObserver;
-Landroid/content/pm/PackageManagerInternal$PackagesProvider;
-Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;
-Landroid/content/pm/PackageManagerInternal;
Landroid/content/pm/PackageParser$1;
Landroid/content/pm/PackageParser$Activity$1;
Landroid/content/pm/PackageParser$Activity;
@@ -33069,6 +17417,8 @@ Landroid/content/pm/PackageParser$CachedComponentArgs;
Landroid/content/pm/PackageParser$Callback;
Landroid/content/pm/PackageParser$CallbackImpl;
Landroid/content/pm/PackageParser$Component;
+Landroid/content/pm/PackageParser$Instrumentation$1;
+Landroid/content/pm/PackageParser$Instrumentation;
Landroid/content/pm/PackageParser$IntentInfo;
Landroid/content/pm/PackageParser$NewPermissionInfo;
Landroid/content/pm/PackageParser$Package$1;
@@ -33131,10 +17481,14 @@ Landroid/content/pm/ShortcutServiceInternal;
Landroid/content/pm/Signature$1;
Landroid/content/pm/Signature;
Landroid/content/pm/SigningInfo$1;
+Landroid/content/pm/SigningInfo;
Landroid/content/pm/StringParceledListSlice$1;
Landroid/content/pm/StringParceledListSlice;
+Landroid/content/pm/SuspendDialogInfo$1;
+Landroid/content/pm/SuspendDialogInfo;
Landroid/content/pm/UserInfo$1;
Landroid/content/pm/UserInfo;
+Landroid/content/pm/VerifierDeviceIdentity;
Landroid/content/pm/VerifierInfo$1;
Landroid/content/pm/VerifierInfo;
Landroid/content/pm/VersionedPackage$1;
@@ -33142,16 +17496,26 @@ Landroid/content/pm/VersionedPackage;
Landroid/content/pm/XmlSerializerAndParser;
Landroid/content/pm/dex/ArtManager;
Landroid/content/pm/dex/ArtManagerInternal;
+Landroid/content/pm/dex/DexMetadataHelper;
Landroid/content/pm/dex/IArtManager$Stub;
Landroid/content/pm/dex/IArtManager;
+Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;
+Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;
+Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;
+Landroid/content/pm/dex/PackageOptimizationInfo;
+Landroid/content/pm/permission/SplitPermissionInfoParcelable$1;
+Landroid/content/pm/permission/SplitPermissionInfoParcelable;
Landroid/content/pm/split/DefaultSplitAssetLoader;
+Landroid/content/pm/split/SplitAssetDependencyLoader;
Landroid/content/pm/split/SplitAssetLoader;
Landroid/content/pm/split/SplitDependencyLoader$IllegalDependencyException;
+Landroid/content/pm/split/SplitDependencyLoader;
Landroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;
Landroid/content/res/-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90;
Landroid/content/res/-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og;
Landroid/content/res/ApkAssets;
Landroid/content/res/AssetFileDescriptor$1;
+Landroid/content/res/AssetFileDescriptor$AutoCloseInputStream;
Landroid/content/res/AssetFileDescriptor;
Landroid/content/res/AssetManager$AssetInputStream;
Landroid/content/res/AssetManager$Builder;
@@ -33162,6 +17526,7 @@ Landroid/content/res/ColorStateList;
Landroid/content/res/CompatResources;
Landroid/content/res/CompatibilityInfo$1;
Landroid/content/res/CompatibilityInfo$2;
+Landroid/content/res/CompatibilityInfo$Translator;
Landroid/content/res/CompatibilityInfo;
Landroid/content/res/ComplexColor;
Landroid/content/res/Configuration$1;
@@ -33170,8 +17535,11 @@ Landroid/content/res/ConfigurationBoundResourceCache;
Landroid/content/res/ConstantState;
Landroid/content/res/DrawableCache;
Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
+Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;
+Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
Landroid/content/res/FontResourcesParser$ProviderResourceEntry;
Landroid/content/res/FontResourcesParser;
+Landroid/content/res/GradientColor$GradientColorFactory;
Landroid/content/res/GradientColor;
Landroid/content/res/ObbInfo$1;
Landroid/content/res/ObbInfo;
@@ -33185,6 +17553,7 @@ Landroid/content/res/ResourcesImpl$LookupStack;
Landroid/content/res/ResourcesImpl$ThemeImpl;
Landroid/content/res/ResourcesImpl;
Landroid/content/res/ResourcesKey;
+Landroid/content/res/StringBlock$Height;
Landroid/content/res/StringBlock$StyleIDs;
Landroid/content/res/StringBlock;
Landroid/content/res/ThemedResourceCache;
@@ -33192,6 +17561,9 @@ Landroid/content/res/TypedArray;
Landroid/content/res/XmlBlock$Parser;
Landroid/content/res/XmlBlock;
Landroid/content/res/XmlResourceParser;
+Landroid/content/res/loader/ResourceLoader;
+Landroid/content/res/loader/ResourceLoaderManager;
+Landroid/content/rollback/IRollbackManager$Stub$Proxy;
Landroid/content/rollback/IRollbackManager$Stub;
Landroid/content/rollback/IRollbackManager;
Landroid/content/rollback/RollbackManager;
@@ -33220,6 +17592,7 @@ Landroid/database/CursorWrapper;
Landroid/database/DataSetObservable;
Landroid/database/DataSetObserver;
Landroid/database/DatabaseErrorHandler;
+Landroid/database/DatabaseUtils$InsertHelper;
Landroid/database/DatabaseUtils;
Landroid/database/DefaultDatabaseErrorHandler;
Landroid/database/IBulkCursor;
@@ -33232,8 +17605,10 @@ Landroid/database/MergeCursor$1;
Landroid/database/MergeCursor;
Landroid/database/Observable;
Landroid/database/SQLException;
+Landroid/database/StaleDataException;
Landroid/database/sqlite/-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q;
Landroid/database/sqlite/DatabaseObjectNotClosedException;
+Landroid/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException;
Landroid/database/sqlite/SQLiteCantOpenDatabaseException;
Landroid/database/sqlite/SQLiteClosable;
Landroid/database/sqlite/SQLiteCompatibilityWalFlags;
@@ -33242,6 +17617,7 @@ Landroid/database/sqlite/SQLiteConnection$OperationLog;
Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;
Landroid/database/sqlite/SQLiteConnection;
+Landroid/database/sqlite/SQLiteConnectionPool$1;
Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;
@@ -33258,11 +17634,12 @@ Landroid/database/sqlite/SQLiteDatabase;
Landroid/database/sqlite/SQLiteDatabaseConfiguration;
Landroid/database/sqlite/SQLiteDatabaseCorruptException;
Landroid/database/sqlite/SQLiteDatabaseLockedException;
-Landroid/database/sqlite/SQLiteDebug$Consts;
Landroid/database/sqlite/SQLiteDebug$DbStats;
+Landroid/database/sqlite/SQLiteDebug$NoPreloadHolder;
Landroid/database/sqlite/SQLiteDebug$PagerStats;
Landroid/database/sqlite/SQLiteDebug;
Landroid/database/sqlite/SQLiteDirectCursorDriver;
+Landroid/database/sqlite/SQLiteDiskIOException;
Landroid/database/sqlite/SQLiteDoneException;
Landroid/database/sqlite/SQLiteException;
Landroid/database/sqlite/SQLiteFullException;
@@ -33276,6 +17653,7 @@ Landroid/database/sqlite/SQLiteSession;
Landroid/database/sqlite/SQLiteStatement;
Landroid/database/sqlite/SQLiteStatementInfo;
Landroid/database/sqlite/SQLiteTransactionListener;
+Landroid/database/sqlite/SqliteWrapper;
Landroid/ddm/DdmHandleAppName;
Landroid/ddm/DdmHandleExit;
Landroid/ddm/DdmHandleHeap;
@@ -33294,10 +17672,13 @@ Landroid/debug/IAdbTransport;
Landroid/graphics/-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw;
Landroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;
Landroid/graphics/-$$Lambda$ColorSpace$Rgb$CqKld6797g7__JnuY0NeFz5q4_E;
+Landroid/graphics/-$$Lambda$ColorSpace$Rgb$V_0lmM2WEpxGBDV_1G1wvvidn7Y;
Landroid/graphics/-$$Lambda$ColorSpace$Rgb$ZvS77aTfobOSa2o9MTqYMph4Rcg;
Landroid/graphics/-$$Lambda$ColorSpace$Rgb$b9VGKuNnse0bbguR9jbOM_wK2Ac;
Landroid/graphics/-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY;
+Landroid/graphics/-$$Lambda$ColorSpace$Rgb$iMkODTKa3_8kPZUnZZerD2Lv-yo;
Landroid/graphics/-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE;
+Landroid/graphics/BLASTBufferQueue;
Landroid/graphics/BaseCanvas;
Landroid/graphics/BaseRecordingCanvas;
Landroid/graphics/Bitmap$1;
@@ -33309,6 +17690,7 @@ Landroid/graphics/BitmapFactory$Options;
Landroid/graphics/BitmapFactory;
Landroid/graphics/BitmapRegionDecoder;
Landroid/graphics/BitmapShader;
+Landroid/graphics/BlendMode$1;
Landroid/graphics/BlendMode;
Landroid/graphics/BlendModeColorFilter;
Landroid/graphics/BlurMaskFilter$Blur;
@@ -33324,9 +17706,11 @@ Landroid/graphics/ColorFilter;
Landroid/graphics/ColorMatrix;
Landroid/graphics/ColorMatrixColorFilter;
Landroid/graphics/ColorSpace$Adaptation;
+Landroid/graphics/ColorSpace$Connector;
Landroid/graphics/ColorSpace$Lab;
Landroid/graphics/ColorSpace$Model;
Landroid/graphics/ColorSpace$Named;
+Landroid/graphics/ColorSpace$RenderIntent;
Landroid/graphics/ColorSpace$Rgb$NoImagePreloadHolder;
Landroid/graphics/ColorSpace$Rgb$TransferParameters;
Landroid/graphics/ColorSpace$Rgb;
@@ -33362,6 +17746,7 @@ Landroid/graphics/Insets$1;
Landroid/graphics/Insets;
Landroid/graphics/Interpolator$Result;
Landroid/graphics/Interpolator;
+Landroid/graphics/LeakyTypefaceStorage;
Landroid/graphics/LightingColorFilter;
Landroid/graphics/LinearGradient;
Landroid/graphics/MaskFilter;
@@ -33384,6 +17769,7 @@ Landroid/graphics/Paint;
Landroid/graphics/PaintFlagsDrawFilter;
Landroid/graphics/Path$Direction;
Landroid/graphics/Path$FillType;
+Landroid/graphics/Path$Op;
Landroid/graphics/Path;
Landroid/graphics/PathDashPathEffect;
Landroid/graphics/PathEffect;
@@ -33401,6 +17787,7 @@ Landroid/graphics/PorterDuffXfermode;
Landroid/graphics/RadialGradient;
Landroid/graphics/RecordingCanvas;
Landroid/graphics/Rect$1;
+Landroid/graphics/Rect$UnflattenHelper;
Landroid/graphics/Rect;
Landroid/graphics/RectF$1;
Landroid/graphics/RectF;
@@ -33413,6 +17800,7 @@ Landroid/graphics/RenderNode$CompositePositionUpdateListener;
Landroid/graphics/RenderNode$NoImagePreloadHolder;
Landroid/graphics/RenderNode$PositionUpdateListener;
Landroid/graphics/RenderNode;
+Landroid/graphics/RuntimeShader;
Landroid/graphics/Shader$NoImagePreloadHolder;
Landroid/graphics/Shader$TileMode;
Landroid/graphics/Shader;
@@ -33428,25 +17816,33 @@ Landroid/graphics/Typeface$CustomFallbackBuilder;
Landroid/graphics/Typeface;
Landroid/graphics/Xfermode;
Landroid/graphics/YuvImage;
+Landroid/graphics/drawable/-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8;
Landroid/graphics/drawable/-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw;
+Landroid/graphics/drawable/-$$Lambda$Drawable$bbJz2VgQAwkXlE27mR8nPMYacEw;
Landroid/graphics/drawable/-$$Lambda$NinePatchDrawable$yQvfm7FAkslD5wdGFysjgwt8cLE;
Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
Landroid/graphics/drawable/AdaptiveIconDrawable;
Landroid/graphics/drawable/Animatable2;
Landroid/graphics/drawable/Animatable;
+Landroid/graphics/drawable/AnimatedImageDrawable$State;
Landroid/graphics/drawable/AnimatedImageDrawable;
+Landroid/graphics/drawable/AnimatedRotateDrawable$1;
Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;
Landroid/graphics/drawable/AnimatedRotateDrawable;
+Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;
Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;
+Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;
Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;
Landroid/graphics/drawable/AnimatedStateListDrawable;
Landroid/graphics/drawable/AnimatedVectorDrawable$1;
+Landroid/graphics/drawable/AnimatedVectorDrawable$2;
Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;
Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;
Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;
Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;
+Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;
Landroid/graphics/drawable/AnimatedVectorDrawable;
Landroid/graphics/drawable/AnimationDrawable$AnimationState;
Landroid/graphics/drawable/AnimationDrawable;
@@ -33456,9 +17852,12 @@ Landroid/graphics/drawable/ClipDrawable$ClipState;
Landroid/graphics/drawable/ClipDrawable;
Landroid/graphics/drawable/ColorDrawable$ColorState;
Landroid/graphics/drawable/ColorDrawable;
+Landroid/graphics/drawable/ColorStateListDrawable$ColorStateListDrawableState;
+Landroid/graphics/drawable/ColorStateListDrawable;
Landroid/graphics/drawable/Drawable$Callback;
Landroid/graphics/drawable/Drawable$ConstantState;
Landroid/graphics/drawable/Drawable;
+Landroid/graphics/drawable/DrawableContainer$1;
Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
Landroid/graphics/drawable/DrawableContainer;
@@ -33477,6 +17876,8 @@ Landroid/graphics/drawable/InsetDrawable;
Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
Landroid/graphics/drawable/LayerDrawable$LayerState;
Landroid/graphics/drawable/LayerDrawable;
+Landroid/graphics/drawable/LevelListDrawable$LevelListState;
+Landroid/graphics/drawable/LevelListDrawable;
Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;
Landroid/graphics/drawable/NinePatchDrawable;
Landroid/graphics/drawable/PaintDrawable;
@@ -33495,6 +17896,7 @@ Landroid/graphics/drawable/RotateDrawable$RotateState;
Landroid/graphics/drawable/RotateDrawable;
Landroid/graphics/drawable/ScaleDrawable$ScaleState;
Landroid/graphics/drawable/ScaleDrawable;
+Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;
Landroid/graphics/drawable/ShapeDrawable$ShapeState;
Landroid/graphics/drawable/ShapeDrawable;
Landroid/graphics/drawable/StateListDrawable$StateListState;
@@ -33530,6 +17932,7 @@ Landroid/graphics/drawable/VectorDrawable$VectorDrawableState$1;
Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;
Landroid/graphics/drawable/VectorDrawable;
Landroid/graphics/drawable/shapes/OvalShape;
+Landroid/graphics/drawable/shapes/PathShape;
Landroid/graphics/drawable/shapes/RectShape;
Landroid/graphics/drawable/shapes/RoundRectShape;
Landroid/graphics/drawable/shapes/Shape;
@@ -33539,6 +17942,7 @@ Landroid/graphics/fonts/FontCustomizationParser$Result;
Landroid/graphics/fonts/FontCustomizationParser;
Landroid/graphics/fonts/FontFamily$Builder;
Landroid/graphics/fonts/FontFamily;
+Landroid/graphics/fonts/FontFileUtil;
Landroid/graphics/fonts/FontStyle;
Landroid/graphics/fonts/FontVariationAxis;
Landroid/graphics/fonts/SystemFonts;
@@ -33551,10 +17955,15 @@ Landroid/graphics/text/LineBreaker$Result;
Landroid/graphics/text/LineBreaker;
Landroid/graphics/text/MeasuredText$Builder;
Landroid/graphics/text/MeasuredText;
+Landroid/gsi/GsiProgress;
+Landroid/gsi/IGsiService$Stub$Proxy;
+Landroid/gsi/IGsiService$Stub;
+Landroid/gsi/IGsiService;
Landroid/hardware/Camera$CameraInfo;
Landroid/hardware/Camera$Face;
Landroid/hardware/Camera;
Landroid/hardware/CameraStatus$1;
+Landroid/hardware/CameraStatus;
Landroid/hardware/ConsumerIrManager;
Landroid/hardware/GeomagneticField$LegendreTable;
Landroid/hardware/GeomagneticField;
@@ -33572,20 +17981,25 @@ Landroid/hardware/IConsumerIrService;
Landroid/hardware/ISensorPrivacyListener$Stub$Proxy;
Landroid/hardware/ISensorPrivacyListener$Stub;
Landroid/hardware/ISensorPrivacyListener;
+Landroid/hardware/ISensorPrivacyManager$Stub$Proxy;
Landroid/hardware/ISensorPrivacyManager$Stub;
Landroid/hardware/ISensorPrivacyManager;
Landroid/hardware/ISerialManager$Stub;
Landroid/hardware/ISerialManager;
Landroid/hardware/Sensor;
+Landroid/hardware/SensorAdditionalInfo;
Landroid/hardware/SensorEvent;
Landroid/hardware/SensorEventListener;
Landroid/hardware/SensorManager;
+Landroid/hardware/SensorPrivacyManager$1;
Landroid/hardware/SensorPrivacyManager;
Landroid/hardware/SerialManager;
Landroid/hardware/SerialPort;
Landroid/hardware/SystemSensorManager$BaseEventQueue;
Landroid/hardware/SystemSensorManager$SensorEventQueue;
+Landroid/hardware/SystemSensorManager$TriggerEventQueue;
Landroid/hardware/SystemSensorManager;
+Landroid/hardware/TriggerEvent;
Landroid/hardware/TriggerEventListener;
Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;
Landroid/hardware/biometrics/BiometricAuthenticator;
@@ -33594,14 +18008,22 @@ Landroid/hardware/biometrics/BiometricFingerprintConstants;
Landroid/hardware/biometrics/BiometricManager;
Landroid/hardware/biometrics/BiometricSourceType$1;
Landroid/hardware/biometrics/BiometricSourceType;
+Landroid/hardware/biometrics/IAuthService;
+Landroid/hardware/biometrics/IBiometricAuthenticator$Stub;
+Landroid/hardware/biometrics/IBiometricAuthenticator;
Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;
Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;
Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;
+Landroid/hardware/biometrics/IBiometricService$Stub$Proxy;
Landroid/hardware/biometrics/IBiometricService$Stub;
Landroid/hardware/biometrics/IBiometricService;
Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;
Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;
Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;
+Landroid/hardware/biometrics/IBiometricServiceReceiver$Stub$Proxy;
+Landroid/hardware/biometrics/IBiometricServiceReceiver$Stub;
+Landroid/hardware/biometrics/IBiometricServiceReceiver;
+Landroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub$Proxy;
Landroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub;
Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;
Landroid/hardware/camera2/CameraAccessException;
@@ -33612,7 +18034,11 @@ Landroid/hardware/camera2/CameraCharacteristics$4;
Landroid/hardware/camera2/CameraCharacteristics$5;
Landroid/hardware/camera2/CameraCharacteristics$Key;
Landroid/hardware/camera2/CameraCharacteristics;
+Landroid/hardware/camera2/CameraDevice;
+Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;
+Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
+Landroid/hardware/camera2/CameraManager$TorchCallback;
Landroid/hardware/camera2/CameraManager;
Landroid/hardware/camera2/CameraMetadata;
Landroid/hardware/camera2/CaptureRequest$1;
@@ -33625,6 +18051,8 @@ Landroid/hardware/camera2/CaptureResult$3;
Landroid/hardware/camera2/CaptureResult$Key;
Landroid/hardware/camera2/CaptureResult;
Landroid/hardware/camera2/DngCreator;
+Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;
+Landroid/hardware/camera2/impl/CameraDeviceImpl;
Landroid/hardware/camera2/impl/CameraMetadataNative$10;
Landroid/hardware/camera2/impl/CameraMetadataNative$11;
Landroid/hardware/camera2/impl/CameraMetadataNative$12;
@@ -33638,6 +18066,7 @@ Landroid/hardware/camera2/impl/CameraMetadataNative$19;
Landroid/hardware/camera2/impl/CameraMetadataNative$1;
Landroid/hardware/camera2/impl/CameraMetadataNative$20;
Landroid/hardware/camera2/impl/CameraMetadataNative$21;
+Landroid/hardware/camera2/impl/CameraMetadataNative$22;
Landroid/hardware/camera2/impl/CameraMetadataNative$2;
Landroid/hardware/camera2/impl/CameraMetadataNative$3;
Landroid/hardware/camera2/impl/CameraMetadataNative$4;
@@ -33652,6 +18081,7 @@ Landroid/hardware/camera2/impl/GetCommand;
Landroid/hardware/camera2/impl/SetCommand;
Landroid/hardware/camera2/legacy/LegacyCameraDevice;
Landroid/hardware/camera2/legacy/LegacyExceptionUtils$BufferQueueAbandonedException;
+Landroid/hardware/camera2/legacy/LegacyMetadataMapper;
Landroid/hardware/camera2/legacy/PerfMeasurement;
Landroid/hardware/camera2/marshal/MarshalHelpers;
Landroid/hardware/camera2/marshal/MarshalQueryable;
@@ -33660,7 +18090,9 @@ Landroid/hardware/camera2/marshal/MarshalRegistry;
Landroid/hardware/camera2/marshal/Marshaler;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableArray;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableBlackLevelPattern;
+Landroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;
+Landroid/hardware/camera2/marshal/impl/MarshalQueryableCapabilityAndMaxSize;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableColorSpaceTransform;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableEnum;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration;
@@ -33681,6 +18113,7 @@ Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;
Landroid/hardware/camera2/marshal/impl/MarshalQueryableString;
Landroid/hardware/camera2/params/BlackLevelPattern;
+Landroid/hardware/camera2/params/CapabilityAndMaxSize;
Landroid/hardware/camera2/params/ColorSpaceTransform;
Landroid/hardware/camera2/params/Face;
Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;
@@ -33699,18 +18132,25 @@ Landroid/hardware/camera2/params/StreamConfiguration;
Landroid/hardware/camera2/params/StreamConfigurationDuration;
Landroid/hardware/camera2/params/StreamConfigurationMap;
Landroid/hardware/camera2/params/TonemapCurve;
+Landroid/hardware/camera2/utils/ArrayUtils;
Landroid/hardware/camera2/utils/TypeReference$SpecializedTypeReference;
Landroid/hardware/camera2/utils/TypeReference;
Landroid/hardware/contexthub/V1_0/ContextHub;
+Landroid/hardware/contexthub/V1_0/ContextHubMsg;
Landroid/hardware/contexthub/V1_0/HubAppInfo;
Landroid/hardware/contexthub/V1_0/IContexthub$Proxy;
Landroid/hardware/contexthub/V1_0/IContexthub;
Landroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;
Landroid/hardware/contexthub/V1_0/IContexthubCallback;
+Landroid/hardware/contexthub/V1_0/MemRange;
+Landroid/hardware/contexthub/V1_0/NanoAppBinary;
+Landroid/hardware/contexthub/V1_0/PhysicalSensor;
+Landroid/hardware/display/-$$Lambda$NightDisplayListener$sOK1HmSbMnFLzc4SdDD1WpVWJiI;
Landroid/hardware/display/AmbientBrightnessDayStats$1;
Landroid/hardware/display/AmbientBrightnessDayStats;
Landroid/hardware/display/AmbientDisplayConfiguration;
Landroid/hardware/display/BrightnessChangeEvent$1;
+Landroid/hardware/display/BrightnessChangeEvent$Builder;
Landroid/hardware/display/BrightnessChangeEvent;
Landroid/hardware/display/BrightnessConfiguration$1;
Landroid/hardware/display/BrightnessConfiguration$Builder;
@@ -33743,7 +18183,14 @@ Landroid/hardware/display/IDisplayManager;
Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;
Landroid/hardware/display/IDisplayManagerCallback$Stub;
Landroid/hardware/display/IDisplayManagerCallback;
+Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;
+Landroid/hardware/display/IVirtualDisplayCallback$Stub;
+Landroid/hardware/display/IVirtualDisplayCallback;
+Landroid/hardware/display/NightDisplayListener$1;
Landroid/hardware/display/NightDisplayListener$Callback;
+Landroid/hardware/display/NightDisplayListener;
+Landroid/hardware/display/Time$1;
+Landroid/hardware/display/Time;
Landroid/hardware/display/WifiDisplay$1;
Landroid/hardware/display/WifiDisplay;
Landroid/hardware/display/WifiDisplaySessionInfo$1;
@@ -33757,18 +18204,26 @@ Landroid/hardware/fingerprint/FingerprintManager$1;
Landroid/hardware/fingerprint/FingerprintManager$2;
Landroid/hardware/fingerprint/FingerprintManager$MyHandler;
Landroid/hardware/fingerprint/FingerprintManager;
+Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;
+Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;
+Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;
Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;
Landroid/hardware/fingerprint/IFingerprintService$Stub;
Landroid/hardware/fingerprint/IFingerprintService;
+Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;
Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;
Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
Landroid/hardware/hdmi/HdmiControlManager;
Landroid/hardware/hdmi/HdmiPlaybackClient$DisplayStatusCallback;
+Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;
Landroid/hardware/input/IInputDevicesChangedListener$Stub;
Landroid/hardware/input/IInputDevicesChangedListener;
Landroid/hardware/input/IInputManager$Stub$Proxy;
Landroid/hardware/input/IInputManager$Stub;
Landroid/hardware/input/IInputManager;
+Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;
+Landroid/hardware/input/ITabletModeChangedListener$Stub;
+Landroid/hardware/input/ITabletModeChangedListener;
Landroid/hardware/input/InputDeviceIdentifier$1;
Landroid/hardware/input/InputDeviceIdentifier;
Landroid/hardware/input/InputManager$InputDeviceListener;
@@ -33782,23 +18237,68 @@ Landroid/hardware/input/TouchCalibration$1;
Landroid/hardware/input/TouchCalibration;
Landroid/hardware/iris/IrisManager;
Landroid/hardware/location/ActivityRecognitionHardware;
+Landroid/hardware/location/ContextHubClient;
Landroid/hardware/location/ContextHubInfo$1;
Landroid/hardware/location/ContextHubInfo;
+Landroid/hardware/location/ContextHubManager$2;
+Landroid/hardware/location/ContextHubManager$3;
+Landroid/hardware/location/ContextHubManager$4;
+Landroid/hardware/location/ContextHubManager$Callback;
Landroid/hardware/location/ContextHubManager;
+Landroid/hardware/location/ContextHubMessage$1;
+Landroid/hardware/location/ContextHubMessage;
+Landroid/hardware/location/ContextHubTransaction;
+Landroid/hardware/location/GeofenceHardwareImpl$1;
+Landroid/hardware/location/GeofenceHardwareImpl$2;
+Landroid/hardware/location/GeofenceHardwareImpl$3;
+Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;
+Landroid/hardware/location/GeofenceHardwareImpl$Reaper;
+Landroid/hardware/location/GeofenceHardwareImpl;
+Landroid/hardware/location/GeofenceHardwareMonitorEvent$1;
+Landroid/hardware/location/GeofenceHardwareMonitorEvent;
+Landroid/hardware/location/GeofenceHardwareRequest;
+Landroid/hardware/location/GeofenceHardwareRequestParcelable$1;
+Landroid/hardware/location/GeofenceHardwareRequestParcelable;
+Landroid/hardware/location/GeofenceHardwareService$1;
Landroid/hardware/location/GeofenceHardwareService;
+Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;
Landroid/hardware/location/IActivityRecognitionHardware$Stub;
Landroid/hardware/location/IActivityRecognitionHardware;
+Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;
+Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;
+Landroid/hardware/location/IActivityRecognitionHardwareClient;
+Landroid/hardware/location/IContextHubCallback$Stub$Proxy;
Landroid/hardware/location/IContextHubCallback$Stub;
Landroid/hardware/location/IContextHubCallback;
+Landroid/hardware/location/IContextHubClient$Stub$Proxy;
Landroid/hardware/location/IContextHubClient$Stub;
Landroid/hardware/location/IContextHubClient;
+Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;
Landroid/hardware/location/IContextHubClientCallback$Stub;
Landroid/hardware/location/IContextHubClientCallback;
+Landroid/hardware/location/IContextHubService$Stub$Proxy;
Landroid/hardware/location/IContextHubService$Stub;
Landroid/hardware/location/IContextHubService;
+Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;
Landroid/hardware/location/IContextHubTransactionCallback$Stub;
Landroid/hardware/location/IContextHubTransactionCallback;
+Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;
+Landroid/hardware/location/IGeofenceHardware$Stub;
+Landroid/hardware/location/IGeofenceHardware;
+Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;
+Landroid/hardware/location/IGeofenceHardwareCallback$Stub;
+Landroid/hardware/location/IGeofenceHardwareCallback;
+Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;
+Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;
+Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
+Landroid/hardware/location/MemoryRegion$1;
Landroid/hardware/location/MemoryRegion;
+Landroid/hardware/location/NanoApp$1;
+Landroid/hardware/location/NanoApp;
+Landroid/hardware/location/NanoAppBinary$1;
+Landroid/hardware/location/NanoAppBinary;
+Landroid/hardware/location/NanoAppFilter$1;
+Landroid/hardware/location/NanoAppFilter;
Landroid/hardware/location/NanoAppInstanceInfo$1;
Landroid/hardware/location/NanoAppInstanceInfo;
Landroid/hardware/location/NanoAppMessage$1;
@@ -33833,54 +18333,121 @@ Landroid/hardware/radio/RadioMetadata$1;
Landroid/hardware/radio/RadioMetadata;
Landroid/hardware/radio/V1_0/ActivityStatsInfo;
Landroid/hardware/radio/V1_0/AppStatus;
+Landroid/hardware/radio/V1_0/Call;
+Landroid/hardware/radio/V1_0/CallForwardInfo;
Landroid/hardware/radio/V1_0/CardStatus;
+Landroid/hardware/radio/V1_0/CarrierRestrictions;
Landroid/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo;
+Landroid/hardware/radio/V1_0/CdmaCallWaiting;
+Landroid/hardware/radio/V1_0/CdmaInformationRecords;
+Landroid/hardware/radio/V1_0/CdmaSignalInfoRecord;
Landroid/hardware/radio/V1_0/CdmaSignalStrength;
+Landroid/hardware/radio/V1_0/CdmaSmsAddress;
+Landroid/hardware/radio/V1_0/CdmaSmsMessage;
+Landroid/hardware/radio/V1_0/CdmaSmsSubaddress;
+Landroid/hardware/radio/V1_0/CellIdentity;
+Landroid/hardware/radio/V1_0/CellIdentityCdma;
+Landroid/hardware/radio/V1_0/CellIdentityGsm;
Landroid/hardware/radio/V1_0/CellIdentityLte;
+Landroid/hardware/radio/V1_0/CellIdentityTdscdma;
+Landroid/hardware/radio/V1_0/CellIdentityWcdma;
+Landroid/hardware/radio/V1_0/CellInfo;
+Landroid/hardware/radio/V1_0/CellInfoGsm;
+Landroid/hardware/radio/V1_0/CellInfoLte;
+Landroid/hardware/radio/V1_0/CellInfoTdscdma;
Landroid/hardware/radio/V1_0/CellInfoType;
+Landroid/hardware/radio/V1_0/CellInfoWcdma;
+Landroid/hardware/radio/V1_0/DataCallFailCause;
Landroid/hardware/radio/V1_0/DataProfileInfo;
Landroid/hardware/radio/V1_0/DataRegStateResult;
Landroid/hardware/radio/V1_0/EvdoSignalStrength;
Landroid/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo;
Landroid/hardware/radio/V1_0/GsmSignalStrength;
+Landroid/hardware/radio/V1_0/GsmSmsMessage;
Landroid/hardware/radio/V1_0/HardwareConfig;
+Landroid/hardware/radio/V1_0/HardwareConfigModem;
+Landroid/hardware/radio/V1_0/HardwareConfigSim;
Landroid/hardware/radio/V1_0/IRadio;
Landroid/hardware/radio/V1_0/IRadioIndication;
Landroid/hardware/radio/V1_0/IRadioResponse;
Landroid/hardware/radio/V1_0/IccIo;
Landroid/hardware/radio/V1_0/IccIoResult;
+Landroid/hardware/radio/V1_0/ImsSmsMessage;
+Landroid/hardware/radio/V1_0/LastCallFailCauseInfo;
+Landroid/hardware/radio/V1_0/LceDataInfo;
+Landroid/hardware/radio/V1_0/LceStatusInfo;
Landroid/hardware/radio/V1_0/LteSignalStrength;
+Landroid/hardware/radio/V1_0/NeighboringCell;
+Landroid/hardware/radio/V1_0/OperatorInfo;
+Landroid/hardware/radio/V1_0/PcoDataInfo;
Landroid/hardware/radio/V1_0/RadioCapability;
Landroid/hardware/radio/V1_0/RadioResponseInfo;
Landroid/hardware/radio/V1_0/RegState;
+Landroid/hardware/radio/V1_0/SendSmsResult;
Landroid/hardware/radio/V1_0/SetupDataCallResult;
+Landroid/hardware/radio/V1_0/SignalStrength;
+Landroid/hardware/radio/V1_0/SimApdu;
+Landroid/hardware/radio/V1_0/SimRefreshResult;
+Landroid/hardware/radio/V1_0/StkCcUnsolSsResult;
+Landroid/hardware/radio/V1_0/SuppSvcNotification;
Landroid/hardware/radio/V1_0/TdScdmaSignalStrength;
+Landroid/hardware/radio/V1_0/UusInfo;
Landroid/hardware/radio/V1_0/VoiceRegStateResult;
Landroid/hardware/radio/V1_0/WcdmaSignalStrength;
+Landroid/hardware/radio/V1_1/IRadio$Proxy;
Landroid/hardware/radio/V1_1/IRadio;
Landroid/hardware/radio/V1_1/IRadioIndication;
Landroid/hardware/radio/V1_1/IRadioResponse;
+Landroid/hardware/radio/V1_1/KeepaliveStatus;
+Landroid/hardware/radio/V1_1/NetworkScanResult;
Landroid/hardware/radio/V1_2/Call;
Landroid/hardware/radio/V1_2/CardStatus;
Landroid/hardware/radio/V1_2/CellIdentity;
+Landroid/hardware/radio/V1_2/CellIdentityCdma;
+Landroid/hardware/radio/V1_2/CellIdentityGsm;
+Landroid/hardware/radio/V1_2/CellIdentityLte;
Landroid/hardware/radio/V1_2/CellIdentityOperatorNames;
+Landroid/hardware/radio/V1_2/CellIdentityTdscdma;
+Landroid/hardware/radio/V1_2/CellIdentityWcdma;
Landroid/hardware/radio/V1_2/CellInfo;
+Landroid/hardware/radio/V1_2/CellInfoCdma;
+Landroid/hardware/radio/V1_2/CellInfoGsm;
+Landroid/hardware/radio/V1_2/CellInfoLte;
+Landroid/hardware/radio/V1_2/CellInfoTdscdma;
+Landroid/hardware/radio/V1_2/CellInfoWcdma;
Landroid/hardware/radio/V1_2/DataRegStateResult;
Landroid/hardware/radio/V1_2/IRadio;
Landroid/hardware/radio/V1_2/IRadioIndication;
Landroid/hardware/radio/V1_2/IRadioResponse;
+Landroid/hardware/radio/V1_2/LinkCapacityEstimate;
+Landroid/hardware/radio/V1_2/NetworkScanResult;
+Landroid/hardware/radio/V1_2/PhysicalChannelConfig;
Landroid/hardware/radio/V1_2/SignalStrength;
+Landroid/hardware/radio/V1_2/TdscdmaSignalStrength;
Landroid/hardware/radio/V1_2/VoiceRegStateResult;
Landroid/hardware/radio/V1_2/WcdmaSignalStrength;
Landroid/hardware/radio/V1_3/IRadio$Proxy;
Landroid/hardware/radio/V1_3/IRadio;
Landroid/hardware/radio/V1_3/IRadioIndication;
Landroid/hardware/radio/V1_3/IRadioResponse;
+Landroid/hardware/radio/V1_4/CardStatus;
+Landroid/hardware/radio/V1_4/CarrierRestrictionsWithPriority;
+Landroid/hardware/radio/V1_4/CellInfo;
+Landroid/hardware/radio/V1_4/DataRegStateResult$VopsInfo;
+Landroid/hardware/radio/V1_4/DataRegStateResult;
+Landroid/hardware/radio/V1_4/EmergencyNumber;
Landroid/hardware/radio/V1_4/IRadio;
Landroid/hardware/radio/V1_4/IRadioIndication$Stub;
Landroid/hardware/radio/V1_4/IRadioIndication;
Landroid/hardware/radio/V1_4/IRadioResponse$Stub;
Landroid/hardware/radio/V1_4/IRadioResponse;
+Landroid/hardware/radio/V1_4/LteVopsInfo;
+Landroid/hardware/radio/V1_4/NetworkScanResult;
+Landroid/hardware/radio/V1_4/NrIndicators;
+Landroid/hardware/radio/V1_4/PhysicalChannelConfig;
+Landroid/hardware/radio/V1_4/SetupDataCallResult;
+Landroid/hardware/radio/V1_4/SignalStrength;
+Landroid/hardware/radio/V1_5/IRadio;
Landroid/hardware/radio/config/V1_0/IRadioConfig;
Landroid/hardware/radio/config/V1_0/IRadioConfigIndication;
Landroid/hardware/radio/config/V1_0/IRadioConfigResponse;
@@ -33890,17 +18457,23 @@ Landroid/hardware/radio/config/V1_1/IRadioConfig;
Landroid/hardware/radio/config/V1_1/IRadioConfigIndication;
Landroid/hardware/radio/config/V1_1/IRadioConfigResponse;
Landroid/hardware/radio/config/V1_1/ModemInfo;
+Landroid/hardware/radio/config/V1_1/ModemsConfig;
Landroid/hardware/radio/config/V1_1/PhoneCapability;
Landroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;
Landroid/hardware/radio/config/V1_2/IRadioConfigIndication;
Landroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;
Landroid/hardware/radio/config/V1_2/IRadioConfigResponse;
+Landroid/hardware/radio/config/V1_2/SimSlotStatus;
+Landroid/hardware/radio/deprecated/V1_0/IOemHook$Proxy;
Landroid/hardware/radio/deprecated/V1_0/IOemHook;
Landroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;
Landroid/hardware/radio/deprecated/V1_0/IOemHookIndication;
Landroid/hardware/radio/deprecated/V1_0/IOemHookResponse$Stub;
Landroid/hardware/radio/deprecated/V1_0/IOemHookResponse;
Landroid/hardware/sidekick/SidekickInternal;
+Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;
+Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;
+Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;
Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent$1;
@@ -33926,6 +18499,8 @@ Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent$1;
Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;
Landroid/hardware/soundtrigger/SoundTrigger$StatusListener;
Landroid/hardware/soundtrigger/SoundTrigger;
+Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate$1;
+Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;
Landroid/hardware/soundtrigger/SoundTriggerModule;
Landroid/hardware/thermal/V1_0/IThermal;
Landroid/hardware/thermal/V1_0/ThermalStatus;
@@ -33940,6 +18515,8 @@ Landroid/hardware/usb/IUsbManager$Stub;
Landroid/hardware/usb/IUsbManager;
Landroid/hardware/usb/ParcelableUsbPort$1;
Landroid/hardware/usb/ParcelableUsbPort;
+Landroid/hardware/usb/UsbAccessory$2;
+Landroid/hardware/usb/UsbAccessory;
Landroid/hardware/usb/UsbDevice$1;
Landroid/hardware/usb/UsbDevice;
Landroid/hardware/usb/UsbDeviceConnection;
@@ -33952,498 +18529,83 @@ Landroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;
Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;
Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;
-Landroid/icu/impl/BMPSet;
-Landroid/icu/impl/CacheBase;
-Landroid/icu/impl/CacheValue$NullValue;
-Landroid/icu/impl/CacheValue$SoftValue;
-Landroid/icu/impl/CacheValue$Strength;
-Landroid/icu/impl/CacheValue;
-Landroid/icu/impl/CalType;
-Landroid/icu/impl/CalendarUtil$CalendarPreferences;
-Landroid/icu/impl/CalendarUtil;
-Landroid/icu/impl/CaseMapImpl$StringContextIterator;
-Landroid/icu/impl/CaseMapImpl;
-Landroid/icu/impl/CharTrie;
-Landroid/icu/impl/CharacterIteration;
-Landroid/icu/impl/CharacterPropertiesImpl;
-Landroid/icu/impl/ClassLoaderUtil;
-Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
-Landroid/icu/impl/CurrencyData$CurrencyDisplayInfoProvider;
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingType;
-Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;
-Landroid/icu/impl/CurrencyData;
-Landroid/icu/impl/DateNumberFormat;
-Landroid/icu/impl/Grego;
-Landroid/icu/impl/ICUBinary$Authenticate;
-Landroid/icu/impl/ICUBinary$DatPackageReader$IsAcceptable;
-Landroid/icu/impl/ICUBinary$DatPackageReader;
-Landroid/icu/impl/ICUBinary$DataFile;
-Landroid/icu/impl/ICUBinary$PackageDataFile;
-Landroid/icu/impl/ICUBinary;
-Landroid/icu/impl/ICUCache;
-Landroid/icu/impl/ICUConfig;
-Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$1;
-Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable;
-Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink;
-Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$FormattingData;
-Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;
-Landroid/icu/impl/ICUCurrencyDisplayInfoProvider;
-Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;
-Landroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;
-Landroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;
-Landroid/icu/impl/ICUCurrencyMetaInfo;
-Landroid/icu/impl/ICUData;
-Landroid/icu/impl/ICUDebug;
-Landroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;
-Landroid/icu/impl/ICULocaleService$LocaleKey;
-Landroid/icu/impl/ICULocaleService$LocaleKeyFactory;
-Landroid/icu/impl/ICULocaleService;
-Landroid/icu/impl/ICUNotifier;
-Landroid/icu/impl/ICURWLock;
-Landroid/icu/impl/ICUResourceBundle$1;
-Landroid/icu/impl/ICUResourceBundle$2$1;
-Landroid/icu/impl/ICUResourceBundle$2;
-Landroid/icu/impl/ICUResourceBundle$3;
-Landroid/icu/impl/ICUResourceBundle$4;
-Landroid/icu/impl/ICUResourceBundle$AvailEntry;
-Landroid/icu/impl/ICUResourceBundle$Loader;
-Landroid/icu/impl/ICUResourceBundle$OpenType;
-Landroid/icu/impl/ICUResourceBundle$WholeBundle;
-Landroid/icu/impl/ICUResourceBundle;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceArray;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceInt;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceIntVector;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceString;
-Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;
-Landroid/icu/impl/ICUResourceBundleImpl;
-Landroid/icu/impl/ICUResourceBundleReader$Array16;
-Landroid/icu/impl/ICUResourceBundleReader$Array32;
-Landroid/icu/impl/ICUResourceBundleReader$Array;
-Landroid/icu/impl/ICUResourceBundleReader$Container;
-Landroid/icu/impl/ICUResourceBundleReader$IsAcceptable;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCache;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;
-Landroid/icu/impl/ICUResourceBundleReader$ReaderValue;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;
-Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;
-Landroid/icu/impl/ICUResourceBundleReader$Table1632;
-Landroid/icu/impl/ICUResourceBundleReader$Table16;
-Landroid/icu/impl/ICUResourceBundleReader$Table;
-Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUService$CacheEntry;
-Landroid/icu/impl/ICUService$Factory;
-Landroid/icu/impl/ICUService$Key;
-Landroid/icu/impl/ICUService;
-Landroid/icu/impl/IDNA2003;
-Landroid/icu/impl/JavaTimeZone;
-Landroid/icu/impl/LocaleIDParser;
-Landroid/icu/impl/LocaleIDs;
-Landroid/icu/impl/Norm2AllModes$1;
-Landroid/icu/impl/Norm2AllModes$ComposeNormalizer2;
-Landroid/icu/impl/Norm2AllModes$DecomposeNormalizer2;
-Landroid/icu/impl/Norm2AllModes$FCDNormalizer2;
-Landroid/icu/impl/Norm2AllModes$NFCSingleton;
-Landroid/icu/impl/Norm2AllModes$NFKCSingleton;
-Landroid/icu/impl/Norm2AllModes$NoopNormalizer2;
-Landroid/icu/impl/Norm2AllModes$Norm2AllModesSingleton;
-Landroid/icu/impl/Norm2AllModes$Normalizer2WithImpl;
-Landroid/icu/impl/Norm2AllModes;
-Landroid/icu/impl/Normalizer2Impl$1;
-Landroid/icu/impl/Normalizer2Impl$IsAcceptable;
-Landroid/icu/impl/Normalizer2Impl$UTF16Plus;
-Landroid/icu/impl/Normalizer2Impl;
-Landroid/icu/impl/OlsonTimeZone;
-Landroid/icu/impl/Pair;
-Landroid/icu/impl/PatternProps;
-Landroid/icu/impl/PatternTokenizer;
-Landroid/icu/impl/PluralRulesLoader;
-Landroid/icu/impl/RBBIDataWrapper$IsAcceptable;
-Landroid/icu/impl/RBBIDataWrapper$RBBIDataHeader;
-Landroid/icu/impl/RBBIDataWrapper$RBBIStateTable;
-Landroid/icu/impl/RBBIDataWrapper;
-Landroid/icu/impl/ReplaceableUCharacterIterator;
-Landroid/icu/impl/RuleCharacterIterator;
-Landroid/icu/impl/SimpleCache;
-Landroid/icu/impl/SimpleFormatterImpl;
-Landroid/icu/impl/SoftCache;
-Landroid/icu/impl/StandardPlural;
-Landroid/icu/impl/StringPrepDataReader;
-Landroid/icu/impl/TextTrieMap$Node;
-Landroid/icu/impl/TextTrieMap;
-Landroid/icu/impl/TimeZoneNamesFactoryImpl;
-Landroid/icu/impl/TimeZoneNamesImpl$1;
-Landroid/icu/impl/TimeZoneNamesImpl$MZ2TZsCache;
-Landroid/icu/impl/TimeZoneNamesImpl$MZMapEntry;
-Landroid/icu/impl/TimeZoneNamesImpl$TZ2MZsCache;
-Landroid/icu/impl/TimeZoneNamesImpl$ZNames$NameTypeIndex;
-Landroid/icu/impl/TimeZoneNamesImpl$ZNames;
-Landroid/icu/impl/TimeZoneNamesImpl$ZNamesLoader;
-Landroid/icu/impl/TimeZoneNamesImpl;
-Landroid/icu/impl/Trie$DataManipulate;
-Landroid/icu/impl/Trie$DefaultGetFoldingOffset;
-Landroid/icu/impl/Trie2$1;
-Landroid/icu/impl/Trie2$2;
-Landroid/icu/impl/Trie2$Range;
-Landroid/icu/impl/Trie2$Trie2Iterator;
-Landroid/icu/impl/Trie2$UTrie2Header;
-Landroid/icu/impl/Trie2$ValueMapper;
-Landroid/icu/impl/Trie2$ValueWidth;
-Landroid/icu/impl/Trie2;
-Landroid/icu/impl/Trie2_16;
-Landroid/icu/impl/Trie2_32;
-Landroid/icu/impl/Trie;
-Landroid/icu/impl/UBiDiProps$IsAcceptable;
-Landroid/icu/impl/UBiDiProps;
-Landroid/icu/impl/UCaseProps$ContextIterator;
-Landroid/icu/impl/UCaseProps$IsAcceptable;
-Landroid/icu/impl/UCaseProps$LatinCase;
-Landroid/icu/impl/UCaseProps;
-Landroid/icu/impl/UCharacterProperty$10;
-Landroid/icu/impl/UCharacterProperty$11;
-Landroid/icu/impl/UCharacterProperty$12;
-Landroid/icu/impl/UCharacterProperty$13;
-Landroid/icu/impl/UCharacterProperty$14;
-Landroid/icu/impl/UCharacterProperty$15;
-Landroid/icu/impl/UCharacterProperty$16;
-Landroid/icu/impl/UCharacterProperty$17;
-Landroid/icu/impl/UCharacterProperty$18;
-Landroid/icu/impl/UCharacterProperty$19;
-Landroid/icu/impl/UCharacterProperty$1;
-Landroid/icu/impl/UCharacterProperty$20;
-Landroid/icu/impl/UCharacterProperty$21;
-Landroid/icu/impl/UCharacterProperty$22;
-Landroid/icu/impl/UCharacterProperty$23;
-Landroid/icu/impl/UCharacterProperty$24;
-Landroid/icu/impl/UCharacterProperty$25;
-Landroid/icu/impl/UCharacterProperty$26;
-Landroid/icu/impl/UCharacterProperty$27;
-Landroid/icu/impl/UCharacterProperty$2;
-Landroid/icu/impl/UCharacterProperty$3;
-Landroid/icu/impl/UCharacterProperty$4;
-Landroid/icu/impl/UCharacterProperty$5;
-Landroid/icu/impl/UCharacterProperty$6;
-Landroid/icu/impl/UCharacterProperty$7;
-Landroid/icu/impl/UCharacterProperty$8;
-Landroid/icu/impl/UCharacterProperty$9;
-Landroid/icu/impl/UCharacterProperty$BiDiIntProperty;
-Landroid/icu/impl/UCharacterProperty$BinaryProperty;
-Landroid/icu/impl/UCharacterProperty$CaseBinaryProperty;
-Landroid/icu/impl/UCharacterProperty$CombiningClassIntProperty;
-Landroid/icu/impl/UCharacterProperty$IntProperty;
-Landroid/icu/impl/UCharacterProperty$IsAcceptable;
-Landroid/icu/impl/UCharacterProperty$NormInertBinaryProperty;
-Landroid/icu/impl/UCharacterProperty$NormQuickCheckIntProperty;
-Landroid/icu/impl/UCharacterProperty;
-Landroid/icu/impl/UPropertyAliases$IsAcceptable;
-Landroid/icu/impl/UPropertyAliases;
-Landroid/icu/impl/URLHandler$URLVisitor;
-Landroid/icu/impl/UResource$Array;
-Landroid/icu/impl/UResource$Key;
-Landroid/icu/impl/UResource$Sink;
-Landroid/icu/impl/UResource$Table;
-Landroid/icu/impl/UResource$Value;
-Landroid/icu/impl/UResource;
-Landroid/icu/impl/USerializedSet;
-Landroid/icu/impl/Utility;
-Landroid/icu/impl/ZoneMeta$1;
-Landroid/icu/impl/ZoneMeta$CustomTimeZoneCache;
-Landroid/icu/impl/ZoneMeta$SystemTimeZoneCache;
-Landroid/icu/impl/ZoneMeta;
-Landroid/icu/impl/coll/CollationData;
-Landroid/icu/impl/coll/CollationDataReader$IsAcceptable;
-Landroid/icu/impl/coll/CollationDataReader;
-Landroid/icu/impl/coll/CollationFastLatin;
-Landroid/icu/impl/coll/CollationIterator$CEBuffer;
-Landroid/icu/impl/coll/CollationLoader;
-Landroid/icu/impl/coll/CollationRoot;
-Landroid/icu/impl/coll/CollationSettings;
-Landroid/icu/impl/coll/CollationTailoring;
-Landroid/icu/impl/coll/SharedObject$Reference;
-Landroid/icu/impl/coll/SharedObject;
-Landroid/icu/impl/locale/AsciiUtil;
-Landroid/icu/impl/locale/BaseLocale$Cache;
-Landroid/icu/impl/locale/BaseLocale$Key;
-Landroid/icu/impl/locale/BaseLocale;
-Landroid/icu/impl/locale/LocaleObjectCache$CacheEntry;
-Landroid/icu/impl/locale/LocaleObjectCache;
-Landroid/icu/impl/locale/LocaleSyntaxException;
-Landroid/icu/impl/number/AffixPatternProvider;
-Landroid/icu/impl/number/AffixUtils$SymbolProvider;
-Landroid/icu/impl/number/ConstantMultiFieldModifier;
-Landroid/icu/impl/number/CustomSymbolCurrency;
-Landroid/icu/impl/number/DecimalQuantity;
-Landroid/icu/impl/number/MacroProps;
-Landroid/icu/impl/number/MicroProps;
-Landroid/icu/impl/number/MicroPropsGenerator;
-Landroid/icu/impl/number/Modifier;
-Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;
-Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;
-Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;
-Landroid/icu/impl/number/PatternStringParser$ParserState;
-Landroid/icu/impl/number/RoundingUtils;
-Landroid/icu/lang/UCharacter;
-Landroid/icu/lang/UCharacterEnums$ECharacterCategory;
-Landroid/icu/lang/UCharacterEnums$ECharacterDirection;
-Landroid/icu/lang/UScript$ScriptUsage;
-Landroid/icu/lang/UScript;
-Landroid/icu/math/BigDecimal;
-Landroid/icu/math/MathContext;
-Landroid/icu/number/CurrencyPrecision;
-Landroid/icu/number/CurrencyRounder;
-Landroid/icu/number/FormattedNumber;
-Landroid/icu/number/FractionPrecision;
-Landroid/icu/number/FractionRounder;
-Landroid/icu/number/NumberFormatterSettings;
-Landroid/icu/number/Precision$CurrencyRounderImpl;
-Landroid/icu/number/Precision$FracSigRounderImpl;
-Landroid/icu/number/Precision$FractionRounderImpl;
-Landroid/icu/number/Precision$IncrementRounderImpl;
-Landroid/icu/number/Precision$InfiniteRounderImpl;
-Landroid/icu/number/Precision$PassThroughRounderImpl;
-Landroid/icu/number/Precision$SignificantRounderImpl;
-Landroid/icu/number/Precision;
-Landroid/icu/number/Rounder;
-Landroid/icu/number/UnlocalizedNumberFormatter;
-Landroid/icu/text/AlphabeticIndex$1;
-Landroid/icu/text/AlphabeticIndex$Bucket;
-Landroid/icu/text/AlphabeticIndex$BucketList;
-Landroid/icu/text/AlphabeticIndex$ImmutableIndex;
-Landroid/icu/text/Bidi$ImpTabPair;
-Landroid/icu/text/Bidi;
-Landroid/icu/text/BidiClassifier;
-Landroid/icu/text/BreakIterator$BreakIteratorCache;
-Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
-Landroid/icu/text/BreakIterator;
-Landroid/icu/text/BreakIteratorFactory$BFService$1RBBreakIteratorFactory;
-Landroid/icu/text/BreakIteratorFactory$BFService;
-Landroid/icu/text/BreakIteratorFactory;
-Landroid/icu/text/CaseMap$Title;
-Landroid/icu/text/CaseMap$Upper;
-Landroid/icu/text/CaseMap;
-Landroid/icu/text/Collator$ServiceShim;
-Landroid/icu/text/Collator;
-Landroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;
-Landroid/icu/text/CollatorServiceShim$CService;
-Landroid/icu/text/CollatorServiceShim;
-Landroid/icu/text/CurrencyDisplayNames;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
-Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;
-Landroid/icu/text/CurrencyMetaInfo;
-Landroid/icu/text/DateFormat$BooleanAttribute;
-Landroid/icu/text/DateFormat$Field;
-Landroid/icu/text/DateFormat;
-Landroid/icu/text/DateFormatSymbols$1;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink$AliasType;
-Landroid/icu/text/DateFormatSymbols$CalendarDataSink;
-Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
-Landroid/icu/text/DateFormatSymbols;
-Landroid/icu/text/DateIntervalFormat$BestMatchInfo;
-Landroid/icu/text/DateIntervalFormat;
-Landroid/icu/text/DateIntervalInfo$DateIntervalSink;
-Landroid/icu/text/DateIntervalInfo$PatternInfo;
-Landroid/icu/text/DateIntervalInfo;
-Landroid/icu/text/DateTimePatternGenerator$AppendItemFormatsSink;
-Landroid/icu/text/DateTimePatternGenerator$AppendItemNamesSink;
-Landroid/icu/text/DateTimePatternGenerator$AvailableFormatsSink;
-Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
-Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
-Landroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;
-Landroid/icu/text/DateTimePatternGenerator$DisplayWidth;
-Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;
-Landroid/icu/text/DateTimePatternGenerator$FormatParser;
-Landroid/icu/text/DateTimePatternGenerator$PatternInfo;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;
-Landroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;
-Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;
-Landroid/icu/text/DateTimePatternGenerator$VariableField;
-Landroid/icu/text/DateTimePatternGenerator;
-Landroid/icu/text/DecimalFormat;
-Landroid/icu/text/DecimalFormatSymbols$1;
-Landroid/icu/text/DecimalFormatSymbols$CacheData;
-Landroid/icu/text/DecimalFormatSymbols$DecFmtDataSink;
-Landroid/icu/text/DecimalFormatSymbols;
-Landroid/icu/text/DecimalFormat_ICU58_Android$Unit;
-Landroid/icu/text/DecimalFormat_ICU58_Android;
-Landroid/icu/text/DictionaryBreakEngine$DequeI;
-Landroid/icu/text/DictionaryBreakEngine;
-Landroid/icu/text/DigitList_Android;
-Landroid/icu/text/DisplayContext$Type;
-Landroid/icu/text/DisplayContext;
-Landroid/icu/text/Edits;
-Landroid/icu/text/IDNA;
-Landroid/icu/text/LanguageBreakEngine;
-Landroid/icu/text/Normalizer$FCDMode;
-Landroid/icu/text/Normalizer$Mode;
-Landroid/icu/text/Normalizer$ModeImpl;
-Landroid/icu/text/Normalizer$NFCMode;
-Landroid/icu/text/Normalizer$NFDMode;
-Landroid/icu/text/Normalizer$NFKCMode;
-Landroid/icu/text/Normalizer$NFKDMode;
-Landroid/icu/text/Normalizer$NFKDModeImpl;
-Landroid/icu/text/Normalizer$NONEMode;
-Landroid/icu/text/Normalizer$QuickCheckResult;
-Landroid/icu/text/Normalizer2;
-Landroid/icu/text/Normalizer;
-Landroid/icu/text/NumberFormat$Field;
-Landroid/icu/text/NumberFormat$NumberFormatShim;
-Landroid/icu/text/NumberFormat;
-Landroid/icu/text/NumberFormatServiceShim$NFService$1RBNumberFormatFactory;
-Landroid/icu/text/NumberFormatServiceShim$NFService;
-Landroid/icu/text/NumberingSystem$1;
-Landroid/icu/text/NumberingSystem$2;
-Landroid/icu/text/NumberingSystem$LocaleLookupData;
-Landroid/icu/text/NumberingSystem;
-Landroid/icu/text/PluralRanges$Matrix;
-Landroid/icu/text/PluralRanges;
-Landroid/icu/text/PluralRules$1;
-Landroid/icu/text/PluralRules$2;
-Landroid/icu/text/PluralRules$AndConstraint;
-Landroid/icu/text/PluralRules$BinaryConstraint;
-Landroid/icu/text/PluralRules$Constraint;
-Landroid/icu/text/PluralRules$Factory;
-Landroid/icu/text/PluralRules$FixedDecimal;
-Landroid/icu/text/PluralRules$FixedDecimalRange;
-Landroid/icu/text/PluralRules$FixedDecimalSamples;
-Landroid/icu/text/PluralRules$IFixedDecimal;
-Landroid/icu/text/PluralRules$Operand;
-Landroid/icu/text/PluralRules$PluralType;
-Landroid/icu/text/PluralRules$RangeConstraint;
-Landroid/icu/text/PluralRules$Rule;
-Landroid/icu/text/PluralRules$RuleList;
-Landroid/icu/text/PluralRules$SampleType;
-Landroid/icu/text/PluralRules$SimpleTokenizer;
-Landroid/icu/text/PluralRules;
-Landroid/icu/text/RelativeDateTimeFormatter$Cache$1;
-Landroid/icu/text/RelativeDateTimeFormatter$Cache;
-Landroid/icu/text/RelativeDateTimeFormatter$Loader;
-Landroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;
-Landroid/icu/text/Replaceable;
-Landroid/icu/text/ReplaceableString;
-Landroid/icu/text/RuleBasedBreakIterator$BreakCache;
-Landroid/icu/text/RuleBasedBreakIterator$DictionaryCache;
-Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;
-Landroid/icu/text/RuleBasedBreakIterator;
-Landroid/icu/text/RuleBasedCollator$CollationBuffer;
-Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator$NFDIterator;
-Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;
-Landroid/icu/text/RuleBasedCollator;
-Landroid/icu/text/SimpleDateFormat$PatternItem;
-Landroid/icu/text/SimpleDateFormat;
-Landroid/icu/text/StringPrep;
-Landroid/icu/text/StringPrepParseException;
-Landroid/icu/text/TimeZoneNames$Cache;
-Landroid/icu/text/TimeZoneNames$Factory;
-Landroid/icu/text/TimeZoneNames$NameType;
-Landroid/icu/text/TimeZoneNames;
-Landroid/icu/text/UCharacterIterator;
-Landroid/icu/text/UFieldPosition;
-Landroid/icu/text/UFormat;
-Landroid/icu/text/UForwardCharacterIterator;
-Landroid/icu/text/UTF16$StringComparator;
-Landroid/icu/text/UTF16;
-Landroid/icu/text/UnhandledBreakEngine;
-Landroid/icu/text/UnicodeFilter;
-Landroid/icu/text/UnicodeMatcher;
-Landroid/icu/text/UnicodeSet$Filter;
-Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;
-Landroid/icu/text/UnicodeSet$IntPropertyFilter;
-Landroid/icu/text/UnicodeSet$UnicodeSetIterator2;
-Landroid/icu/text/UnicodeSet;
-Landroid/icu/util/AnnualTimeZoneRule;
-Landroid/icu/util/BasicTimeZone;
-Landroid/icu/util/BytesTrie$Result;
-Landroid/icu/util/BytesTrie;
-Landroid/icu/util/Calendar$1;
-Landroid/icu/util/Calendar$FormatConfiguration;
-Landroid/icu/util/Calendar$PatternData;
-Landroid/icu/util/Calendar$WeekData;
-Landroid/icu/util/Calendar$WeekDataCache;
-Landroid/icu/util/Calendar;
-Landroid/icu/util/CharsTrie$Entry;
-Landroid/icu/util/CharsTrie$Iterator;
-Landroid/icu/util/CodePointMap$Range;
-Landroid/icu/util/CodePointMap$RangeOption;
-Landroid/icu/util/CodePointMap$ValueFilter;
-Landroid/icu/util/CodePointMap;
-Landroid/icu/util/CodePointTrie$1;
-Landroid/icu/util/CodePointTrie$Data16;
-Landroid/icu/util/CodePointTrie$Data;
-Landroid/icu/util/CodePointTrie$Fast16;
-Landroid/icu/util/CodePointTrie$Fast;
-Landroid/icu/util/CodePointTrie$Type;
-Landroid/icu/util/CodePointTrie$ValueWidth;
-Landroid/icu/util/CodePointTrie;
-Landroid/icu/util/Currency$1;
-Landroid/icu/util/Currency$CurrencyUsage;
-Landroid/icu/util/Currency;
-Landroid/icu/util/DateTimeRule;
-Landroid/icu/util/Freezable;
-Landroid/icu/util/GregorianCalendar;
-Landroid/icu/util/InitialTimeZoneRule;
-Landroid/icu/util/MeasureUnit$1;
-Landroid/icu/util/MeasureUnit$2;
-Landroid/icu/util/MeasureUnit$3;
-Landroid/icu/util/MeasureUnit$4;
-Landroid/icu/util/MeasureUnit$Factory;
-Landroid/icu/util/MeasureUnit;
-Landroid/icu/util/Output;
-Landroid/icu/util/STZInfo;
-Landroid/icu/util/SimpleTimeZone;
-Landroid/icu/util/TimeArrayTimeZoneRule;
-Landroid/icu/util/TimeUnit;
-Landroid/icu/util/TimeZone$ConstantZone;
-Landroid/icu/util/TimeZone$SystemTimeZoneType;
-Landroid/icu/util/TimeZone;
-Landroid/icu/util/TimeZoneRule;
-Landroid/icu/util/TimeZoneTransition;
-Landroid/icu/util/ULocale$1;
-Landroid/icu/util/ULocale$2;
-Landroid/icu/util/ULocale$3;
-Landroid/icu/util/ULocale$Category;
-Landroid/icu/util/ULocale$JDKLocaleHelper;
-Landroid/icu/util/ULocale$Type;
-Landroid/icu/util/ULocale;
-Landroid/icu/util/UResourceBundle$1;
-Landroid/icu/util/UResourceBundle$RootType;
-Landroid/icu/util/UResourceBundle;
-Landroid/icu/util/UResourceBundleIterator;
-Landroid/icu/util/UResourceTypeMismatchException;
-Landroid/icu/util/VersionInfo;
+Landroid/inputmethodservice/-$$Lambda$InputMethodService$8T9TmAUIN7vW9eU6kTg8309_d4E;
+Landroid/inputmethodservice/-$$Lambda$InputMethodService$wp8DeVGx_WDOPw4F6an7QbwVxf0;
+Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;
+Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;
+Landroid/inputmethodservice/AbstractInputMethodService;
+Landroid/inputmethodservice/ExtractEditText;
+Landroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;
+Landroid/inputmethodservice/IInputMethodSessionWrapper;
+Landroid/inputmethodservice/IInputMethodWrapper$InputMethodSessionCallbackWrapper;
+Landroid/inputmethodservice/IInputMethodWrapper;
+Landroid/inputmethodservice/InputMethodService$InputMethodImpl;
+Landroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;
+Landroid/inputmethodservice/InputMethodService$Insets;
+Landroid/inputmethodservice/InputMethodService$SettingsObserver;
+Landroid/inputmethodservice/InputMethodService;
Landroid/inputmethodservice/SoftInputWindow;
+Landroid/internal/hidl/base/V1_0/DebugInfo;
Landroid/internal/hidl/base/V1_0/IBase;
+Landroid/internal/telephony/sysprop/TelephonyProperties;
+Landroid/location/-$$Lambda$_14QHG018Z6p13d3hzJuGTWnNeo;
+Landroid/location/AbstractListenerManager;
Landroid/location/Address$1;
Landroid/location/Address;
-Landroid/location/BatchedLocationCallbackTransport$CallbackTransport;
-Landroid/location/BatchedLocationCallbackTransport;
Landroid/location/Country$1;
+Landroid/location/Country;
+Landroid/location/CountryDetector$ListenerTransport;
Landroid/location/CountryDetector;
Landroid/location/CountryListener;
Landroid/location/Criteria$1;
+Landroid/location/Criteria;
Landroid/location/Geocoder;
Landroid/location/GeocoderParams$1;
Landroid/location/GeocoderParams;
-Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport;
-Landroid/location/GnssMeasurementCallbackTransport;
-Landroid/location/GnssNavigationMessageCallbackTransport$ListenerTransport;
-Landroid/location/GnssNavigationMessageCallbackTransport;
+Landroid/location/Geofence$1;
+Landroid/location/Geofence;
+Landroid/location/GnssClock$1;
+Landroid/location/GnssClock;
+Landroid/location/GnssMeasurement$1;
+Landroid/location/GnssMeasurement;
+Landroid/location/GnssMeasurementCorrections$1;
+Landroid/location/GnssMeasurementCorrections;
+Landroid/location/GnssMeasurementsEvent$1;
+Landroid/location/GnssMeasurementsEvent;
+Landroid/location/GnssReflectingPlane$1;
+Landroid/location/GnssSingleSatCorrection$1;
Landroid/location/GpsStatus$Listener;
+Landroid/location/IBatchedLocationCallback$Stub$Proxy;
Landroid/location/IBatchedLocationCallback$Stub;
Landroid/location/IBatchedLocationCallback;
Landroid/location/ICountryDetector$Stub$Proxy;
Landroid/location/ICountryDetector$Stub;
Landroid/location/ICountryDetector;
+Landroid/location/ICountryListener$Stub$Proxy;
+Landroid/location/ICountryListener$Stub;
+Landroid/location/ICountryListener;
+Landroid/location/IFusedGeofenceHardware$Stub$Proxy;
+Landroid/location/IFusedGeofenceHardware$Stub;
+Landroid/location/IFusedGeofenceHardware;
+Landroid/location/IGeocodeProvider$Stub$Proxy;
+Landroid/location/IGeocodeProvider$Stub;
+Landroid/location/IGeocodeProvider;
+Landroid/location/IGeofenceProvider$Stub$Proxy;
+Landroid/location/IGeofenceProvider$Stub;
+Landroid/location/IGeofenceProvider;
+Landroid/location/IGnssMeasurementsListener$Stub$Proxy;
Landroid/location/IGnssMeasurementsListener$Stub;
Landroid/location/IGnssMeasurementsListener;
+Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;
Landroid/location/IGnssNavigationMessageListener$Stub;
Landroid/location/IGnssNavigationMessageListener;
+Landroid/location/IGnssStatusListener$Stub$Proxy;
Landroid/location/IGnssStatusListener$Stub;
Landroid/location/IGnssStatusListener;
+Landroid/location/IGpsGeofenceHardware$Stub$Proxy;
Landroid/location/IGpsGeofenceHardware$Stub;
Landroid/location/IGpsGeofenceHardware;
+Landroid/location/ILocationListener$Stub$Proxy;
Landroid/location/ILocationListener$Stub;
Landroid/location/ILocationListener;
Landroid/location/ILocationManager$Stub$Proxy;
@@ -34451,21 +18613,22 @@ Landroid/location/ILocationManager$Stub;
Landroid/location/ILocationManager;
Landroid/location/INetInitiatedListener$Stub;
Landroid/location/INetInitiatedListener;
-Landroid/location/LocalListenerHelper;
Landroid/location/Location$1;
Landroid/location/Location$2;
Landroid/location/Location$BearingDistanceCache;
Landroid/location/Location;
Landroid/location/LocationListener;
-Landroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;
-Landroid/location/LocationManager$GnssStatusListenerTransport;
-Landroid/location/LocationManager$ListenerTransport$1;
-Landroid/location/LocationManager$ListenerTransport$2;
-Landroid/location/LocationManager$ListenerTransport;
+Landroid/location/LocationManager$BatchedLocationCallbackManager;
+Landroid/location/LocationManager$GnssMeasurementsListenerManager;
+Landroid/location/LocationManager$GnssNavigationMessageListenerManager;
+Landroid/location/LocationManager$GnssStatusListenerManager;
+Landroid/location/LocationManager$LocationListenerTransport;
Landroid/location/LocationManager;
Landroid/location/LocationProvider;
Landroid/location/LocationRequest$1;
Landroid/location/LocationRequest;
+Landroid/location/LocationTime;
+Landroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;
Landroid/media/AudioAttributes$1;
Landroid/media/AudioAttributes$Builder;
Landroid/media/AudioAttributes;
@@ -34473,7 +18636,10 @@ Landroid/media/AudioDeviceCallback;
Landroid/media/AudioDeviceInfo;
Landroid/media/AudioDevicePort;
Landroid/media/AudioDevicePortConfig;
+Landroid/media/AudioFocusInfo$1;
+Landroid/media/AudioFocusInfo;
Landroid/media/AudioFocusRequest$Builder;
+Landroid/media/AudioFocusRequest;
Landroid/media/AudioFormat$1;
Landroid/media/AudioFormat$Builder;
Landroid/media/AudioFormat;
@@ -34486,12 +18652,14 @@ Landroid/media/AudioManager$3;
Landroid/media/AudioManager$4;
Landroid/media/AudioManager$AudioPlaybackCallback;
Landroid/media/AudioManager$AudioPlaybackCallbackInfo;
+Landroid/media/AudioManager$BlockingFocusResultReceiver;
Landroid/media/AudioManager$FocusRequestInfo;
Landroid/media/AudioManager$NativeEventHandlerDelegate$1;
Landroid/media/AudioManager$NativeEventHandlerDelegate;
Landroid/media/AudioManager$OnAmPortUpdateListener;
Landroid/media/AudioManager$OnAudioFocusChangeListener;
Landroid/media/AudioManager$OnAudioPortUpdateListener;
+Landroid/media/AudioManager$SafeWaitObject;
Landroid/media/AudioManager$ServiceEventHandlerDelegate$1;
Landroid/media/AudioManager$ServiceEventHandlerDelegate;
Landroid/media/AudioManager;
@@ -34511,8 +18679,12 @@ Landroid/media/AudioPortEventHandler;
Landroid/media/AudioPresentation;
Landroid/media/AudioRecord;
Landroid/media/AudioRecordRoutingProxy;
+Landroid/media/AudioRecordingConfiguration$1;
+Landroid/media/AudioRecordingConfiguration;
Landroid/media/AudioRecordingMonitor;
Landroid/media/AudioRecordingMonitorClient;
+Landroid/media/AudioRecordingMonitorImpl$1;
+Landroid/media/AudioRecordingMonitorImpl;
Landroid/media/AudioRoutesInfo$1;
Landroid/media/AudioRoutesInfo;
Landroid/media/AudioRouting;
@@ -34530,12 +18702,15 @@ Landroid/media/EncoderCapabilities;
Landroid/media/ExifInterface$ByteOrderedDataInputStream;
Landroid/media/ExifInterface$ExifAttribute;
Landroid/media/ExifInterface$ExifTag;
+Landroid/media/ExifInterface$Rational;
Landroid/media/ExifInterface;
+Landroid/media/IAudioFocusDispatcher$Stub$Proxy;
Landroid/media/IAudioFocusDispatcher$Stub;
Landroid/media/IAudioFocusDispatcher;
Landroid/media/IAudioRoutesObserver$Stub$Proxy;
Landroid/media/IAudioRoutesObserver$Stub;
Landroid/media/IAudioRoutesObserver;
+Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;
Landroid/media/IAudioServerStateDispatcher$Stub;
Landroid/media/IAudioServerStateDispatcher;
Landroid/media/IAudioService$Stub$Proxy;
@@ -34543,21 +18718,32 @@ Landroid/media/IAudioService$Stub;
Landroid/media/IAudioService;
Landroid/media/IMediaHTTPConnection$Stub;
Landroid/media/IMediaHTTPConnection;
+Landroid/media/IMediaHTTPService$Stub;
+Landroid/media/IMediaHTTPService;
Landroid/media/IMediaResourceMonitor$Stub;
Landroid/media/IMediaResourceMonitor;
+Landroid/media/IMediaRouter2Client$Stub$Proxy;
+Landroid/media/IMediaRouter2Client$Stub;
+Landroid/media/IMediaRouter2Client;
+Landroid/media/IMediaRouter2Manager$Stub$Proxy;
+Landroid/media/IMediaRouter2Manager$Stub;
+Landroid/media/IMediaRouter2Manager;
Landroid/media/IMediaRouterClient$Stub$Proxy;
Landroid/media/IMediaRouterClient$Stub;
Landroid/media/IMediaRouterClient;
Landroid/media/IMediaRouterService$Stub$Proxy;
Landroid/media/IMediaRouterService$Stub;
Landroid/media/IMediaRouterService;
+Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;
Landroid/media/IPlaybackConfigDispatcher$Stub;
Landroid/media/IPlaybackConfigDispatcher;
Landroid/media/IPlayer$Stub$Proxy;
Landroid/media/IPlayer$Stub;
Landroid/media/IPlayer;
+Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;
Landroid/media/IRecordingConfigDispatcher$Stub;
Landroid/media/IRecordingConfigDispatcher;
+Landroid/media/IRemoteVolumeController$Stub$Proxy;
Landroid/media/IRemoteVolumeController$Stub;
Landroid/media/IRemoteVolumeController;
Landroid/media/IRemoteVolumeObserver$Stub;
@@ -34565,6 +18751,7 @@ Landroid/media/IRemoteVolumeObserver;
Landroid/media/IRingtonePlayer$Stub$Proxy;
Landroid/media/IRingtonePlayer$Stub;
Landroid/media/IRingtonePlayer;
+Landroid/media/IVolumeController$Stub$Proxy;
Landroid/media/IVolumeController$Stub;
Landroid/media/IVolumeController;
Landroid/media/Image$Plane;
@@ -34577,6 +18764,7 @@ Landroid/media/ImageWriter$WriterSurfaceImage;
Landroid/media/ImageWriter;
Landroid/media/JetPlayer;
Landroid/media/MediaCodec$BufferInfo;
+Landroid/media/MediaCodec$BufferMap$CodecBuffer;
Landroid/media/MediaCodec$BufferMap;
Landroid/media/MediaCodec$CodecException;
Landroid/media/MediaCodec$CryptoException;
@@ -34590,6 +18778,7 @@ Landroid/media/MediaCodecInfo$CodecCapabilities;
Landroid/media/MediaCodecInfo$CodecProfileLevel;
Landroid/media/MediaCodecInfo$EncoderCapabilities;
Landroid/media/MediaCodecInfo$Feature;
+Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;
Landroid/media/MediaCodecInfo$VideoCapabilities;
Landroid/media/MediaCodecInfo;
Landroid/media/MediaCodecList;
@@ -34599,6 +18788,7 @@ Landroid/media/MediaDescription$1;
Landroid/media/MediaDescription;
Landroid/media/MediaDrm$Certificate;
Landroid/media/MediaDrm$KeyRequest;
+Landroid/media/MediaDrm$KeyStatus;
Landroid/media/MediaDrm$MediaDrmStateException;
Landroid/media/MediaDrm$ProvisionRequest;
Landroid/media/MediaDrm$SessionException;
@@ -34607,6 +18797,7 @@ Landroid/media/MediaDrmException;
Landroid/media/MediaExtractor;
Landroid/media/MediaFormat;
Landroid/media/MediaHTTPConnection;
+Landroid/media/MediaHTTPService;
Landroid/media/MediaMetadata$1;
Landroid/media/MediaMetadata$Builder;
Landroid/media/MediaMetadata;
@@ -34617,21 +18808,37 @@ Landroid/media/MediaPlayer$1;
Landroid/media/MediaPlayer$2$1;
Landroid/media/MediaPlayer$2;
Landroid/media/MediaPlayer$3;
+Landroid/media/MediaPlayer$6;
Landroid/media/MediaPlayer$7;
+Landroid/media/MediaPlayer$DrmInfo;
+Landroid/media/MediaPlayer$EventHandler$1;
+Landroid/media/MediaPlayer$EventHandler$2;
Landroid/media/MediaPlayer$EventHandler;
+Landroid/media/MediaPlayer$OnBufferingUpdateListener;
Landroid/media/MediaPlayer$OnCompletionListener;
+Landroid/media/MediaPlayer$OnDrmInfoHandlerDelegate;
Landroid/media/MediaPlayer$OnErrorListener;
+Landroid/media/MediaPlayer$OnInfoListener;
+Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;
Landroid/media/MediaPlayer$OnPreparedListener;
Landroid/media/MediaPlayer$OnSeekCompleteListener;
Landroid/media/MediaPlayer$OnSubtitleDataListener;
+Landroid/media/MediaPlayer$OnTimedMetaDataAvailableListener;
+Landroid/media/MediaPlayer$OnTimedTextListener;
+Landroid/media/MediaPlayer$OnVideoSizeChangedListener;
+Landroid/media/MediaPlayer$ProvisioningThread;
Landroid/media/MediaPlayer$TimeProvider$EventHandler;
Landroid/media/MediaPlayer$TimeProvider;
Landroid/media/MediaPlayer$TrackInfo$1;
+Landroid/media/MediaPlayer$TrackInfo;
Landroid/media/MediaPlayer;
Landroid/media/MediaRecorder;
+Landroid/media/MediaRoute2Info$1;
+Landroid/media/MediaRoute2Info;
Landroid/media/MediaRouter$Callback;
Landroid/media/MediaRouter$CallbackInfo;
Landroid/media/MediaRouter$RouteCategory;
+Landroid/media/MediaRouter$RouteGroup;
Landroid/media/MediaRouter$RouteInfo$1;
Landroid/media/MediaRouter$RouteInfo;
Landroid/media/MediaRouter$SimpleCallback;
@@ -34647,6 +18854,9 @@ Landroid/media/MediaRouter$VolumeChangeReceiver;
Landroid/media/MediaRouter$WifiDisplayStatusChangedReceiver;
Landroid/media/MediaRouter;
Landroid/media/MediaRouterClientState$1;
+Landroid/media/MediaRouterClientState$RouteInfo$1;
+Landroid/media/MediaRouterClientState$RouteInfo;
+Landroid/media/MediaRouterClientState;
Landroid/media/MediaScanner;
Landroid/media/MediaScannerConnection$MediaScannerConnectionClient;
Landroid/media/MediaScannerConnection$OnScanCompletedListener;
@@ -34657,6 +18867,7 @@ Landroid/media/MediaTimestamp;
Landroid/media/MicrophoneDirection;
Landroid/media/MicrophoneInfo$Coordinate3F;
Landroid/media/MicrophoneInfo;
+Landroid/media/NativeRoutingEventHandlerDelegate;
Landroid/media/NotProvisionedException;
Landroid/media/PlaybackParams$1;
Landroid/media/PlaybackParams;
@@ -34666,18 +18877,26 @@ Landroid/media/PlayerBase$PlayerIdCard$1;
Landroid/media/PlayerBase$PlayerIdCard;
Landroid/media/PlayerBase;
Landroid/media/Rating$1;
+Landroid/media/Rating;
Landroid/media/RemoteDisplay;
Landroid/media/ResampleInputStream;
Landroid/media/Ringtone$MyOnCompletionListener;
+Landroid/media/Ringtone;
Landroid/media/RingtoneManager;
Landroid/media/SoundPool$Builder;
Landroid/media/SoundPool$EventHandler;
Landroid/media/SoundPool$OnLoadCompleteListener;
Landroid/media/SoundPool;
Landroid/media/SubtitleController$1;
+Landroid/media/SubtitleController$2;
Landroid/media/SubtitleController$Anchor;
Landroid/media/SubtitleController$Listener;
+Landroid/media/SubtitleController;
+Landroid/media/SubtitleData;
+Landroid/media/SubtitleTrack;
Landroid/media/SyncParams;
+Landroid/media/TimedMetaData;
+Landroid/media/TimedText;
Landroid/media/ToneGenerator;
Landroid/media/Utils$1;
Landroid/media/Utils$2;
@@ -34697,8 +18916,9 @@ Landroid/media/audiofx/AudioEffect$Descriptor;
Landroid/media/audiopolicy/AudioMix;
Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;
Landroid/media/audiopolicy/AudioMixingRule;
-Landroid/media/audiopolicy/AudioProductStrategies$1;
-Landroid/media/audiopolicy/AudioProductStrategies;
+Landroid/media/audiopolicy/AudioPolicy;
+Landroid/media/audiopolicy/AudioPolicyConfig$1;
+Landroid/media/audiopolicy/AudioPolicyConfig;
Landroid/media/audiopolicy/AudioProductStrategy$1;
Landroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup$1;
Landroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;
@@ -34706,8 +18926,9 @@ Landroid/media/audiopolicy/AudioProductStrategy;
Landroid/media/audiopolicy/AudioVolumeGroup$1;
Landroid/media/audiopolicy/AudioVolumeGroup;
Landroid/media/audiopolicy/AudioVolumeGroupChangeHandler;
-Landroid/media/audiopolicy/AudioVolumeGroups$1;
-Landroid/media/audiopolicy/AudioVolumeGroups;
+Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;
+Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;
+Landroid/media/audiopolicy/IAudioPolicyCallback;
Landroid/media/browse/MediaBrowser$1;
Landroid/media/browse/MediaBrowser$2;
Landroid/media/browse/MediaBrowser$6;
@@ -34729,17 +18950,30 @@ Landroid/media/midi/MidiDevice;
Landroid/media/midi/MidiDeviceInfo$1;
Landroid/media/midi/MidiDeviceInfo;
Landroid/media/midi/MidiManager;
+Landroid/media/projection/IMediaProjection$Stub$Proxy;
+Landroid/media/projection/IMediaProjection$Stub;
+Landroid/media/projection/IMediaProjection;
+Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;
Landroid/media/projection/IMediaProjectionManager$Stub;
Landroid/media/projection/IMediaProjectionManager;
+Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;
Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;
Landroid/media/projection/IMediaProjectionWatcherCallback;
+Landroid/media/projection/MediaProjectionInfo;
+Landroid/media/projection/MediaProjectionManager$CallbackDelegate;
Landroid/media/projection/MediaProjectionManager;
+Landroid/media/session/-$$Lambda$MediaSessionManager$YiJ5NX2VHOfUBIGqvAyigWL-pTY;
+Landroid/media/session/-$$Lambda$MediaSessionManager$xJmJKLsOLtZRF5E4CYrmYZJiMw4;
+Landroid/media/session/IActiveSessionsListener$Stub$Proxy;
Landroid/media/session/IActiveSessionsListener$Stub;
Landroid/media/session/IActiveSessionsListener;
+Landroid/media/session/ICallback$Stub$Proxy;
Landroid/media/session/ICallback$Stub;
Landroid/media/session/ICallback;
+Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;
Landroid/media/session/IOnMediaKeyListener$Stub;
Landroid/media/session/IOnMediaKeyListener;
+Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;
Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;
Landroid/media/session/IOnVolumeKeyLongPressListener;
Landroid/media/session/ISession$Stub$Proxy;
@@ -34748,11 +18982,13 @@ Landroid/media/session/ISession2TokensListener$Stub$Proxy;
Landroid/media/session/ISession2TokensListener$Stub;
Landroid/media/session/ISession2TokensListener;
Landroid/media/session/ISession;
+Landroid/media/session/ISessionCallback$Stub$Proxy;
Landroid/media/session/ISessionCallback$Stub;
Landroid/media/session/ISessionCallback;
Landroid/media/session/ISessionController$Stub$Proxy;
Landroid/media/session/ISessionController$Stub;
Landroid/media/session/ISessionController;
+Landroid/media/session/ISessionControllerCallback$Stub$Proxy;
Landroid/media/session/ISessionControllerCallback$Stub;
Landroid/media/session/ISessionControllerCallback;
Landroid/media/session/ISessionManager$Stub$Proxy;
@@ -34761,6 +18997,8 @@ Landroid/media/session/ISessionManager;
Landroid/media/session/MediaController$Callback;
Landroid/media/session/MediaController$CallbackStub;
Landroid/media/session/MediaController$MessageHandler;
+Landroid/media/session/MediaController$PlaybackInfo$1;
+Landroid/media/session/MediaController$PlaybackInfo;
Landroid/media/session/MediaController$TransportControls;
Landroid/media/session/MediaController;
Landroid/media/session/MediaSession$Callback;
@@ -34771,9 +19009,9 @@ Landroid/media/session/MediaSession$QueueItem;
Landroid/media/session/MediaSession$Token$1;
Landroid/media/session/MediaSession$Token;
Landroid/media/session/MediaSession;
+Landroid/media/session/MediaSessionManager$1;
Landroid/media/session/MediaSessionManager$Callback;
-Landroid/media/session/MediaSessionManager$CallbackImpl$4;
-Landroid/media/session/MediaSessionManager$CallbackImpl;
+Landroid/media/session/MediaSessionManager$CallbackStub;
Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;
Landroid/media/session/MediaSessionManager$OnMediaKeyListener;
Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;
@@ -34791,9 +19029,12 @@ Landroid/media/session/PlaybackState$Builder;
Landroid/media/session/PlaybackState$CustomAction$1;
Landroid/media/session/PlaybackState$CustomAction;
Landroid/media/session/PlaybackState;
+Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;
+Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;
Landroid/media/soundtrigger/SoundTriggerManager;
Landroid/media/tv/TvInputHardwareInfo$Builder;
Landroid/media/tv/TvInputManager;
+Landroid/media/tv/TvStreamConfig$1;
Landroid/media/tv/TvStreamConfig$Builder;
Landroid/media/tv/TvStreamConfig;
Landroid/metrics/LogMaker;
@@ -34808,36 +19049,55 @@ Landroid/mtp/MtpServer;
Landroid/mtp/MtpStorage;
Landroid/mtp/MtpStorageInfo;
Landroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;
+Landroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;
+Landroid/net/-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI;
+Landroid/net/-$$Lambda$NetworkStats$xvFSsVoR0k5s7Fhw1yPDPVIpx8A;
Landroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;
+Landroid/net/ConnectionInfo$1;
+Landroid/net/ConnectionInfo;
Landroid/net/ConnectivityManager$CallbackHandler;
Landroid/net/ConnectivityManager$NetworkCallback;
Landroid/net/ConnectivityManager$OnNetworkActiveListener;
Landroid/net/ConnectivityManager;
+Landroid/net/ConnectivityMetricsEvent$1;
Landroid/net/ConnectivityMetricsEvent;
Landroid/net/ConnectivityThread$Singleton;
Landroid/net/ConnectivityThread;
Landroid/net/Credentials;
+Landroid/net/DataUsageRequest$1;
+Landroid/net/DataUsageRequest;
Landroid/net/DhcpInfo$1;
+Landroid/net/DhcpInfo;
+Landroid/net/DhcpResults$1;
Landroid/net/DhcpResults;
Landroid/net/EthernetManager;
+Landroid/net/EventLogTags;
Landroid/net/IConnectivityManager$Stub$Proxy;
Landroid/net/IConnectivityManager$Stub;
Landroid/net/IConnectivityManager;
Landroid/net/IEthernetManager$Stub;
Landroid/net/IEthernetManager;
+Landroid/net/IIpConnectivityMetrics$Stub$Proxy;
Landroid/net/IIpConnectivityMetrics$Stub;
Landroid/net/IIpConnectivityMetrics;
Landroid/net/IIpSecService$Stub;
Landroid/net/IIpSecService;
+Landroid/net/INetdEventCallback$Stub$Proxy;
Landroid/net/INetdEventCallback$Stub;
Landroid/net/INetdEventCallback;
+Landroid/net/INetworkManagementEventObserver$Stub$Proxy;
Landroid/net/INetworkManagementEventObserver$Stub;
Landroid/net/INetworkManagementEventObserver;
+Landroid/net/INetworkPolicyListener$Stub$Proxy;
Landroid/net/INetworkPolicyListener$Stub;
Landroid/net/INetworkPolicyListener;
Landroid/net/INetworkPolicyManager$Stub$Proxy;
Landroid/net/INetworkPolicyManager$Stub;
Landroid/net/INetworkPolicyManager;
+Landroid/net/INetworkRecommendationProvider$Stub$Proxy;
+Landroid/net/INetworkRecommendationProvider$Stub;
+Landroid/net/INetworkRecommendationProvider;
+Landroid/net/INetworkScoreCache$Stub$Proxy;
Landroid/net/INetworkScoreCache$Stub;
Landroid/net/INetworkScoreCache;
Landroid/net/INetworkScoreService$Stub$Proxy;
@@ -34846,28 +19106,37 @@ Landroid/net/INetworkScoreService;
Landroid/net/INetworkStatsService$Stub$Proxy;
Landroid/net/INetworkStatsService$Stub;
Landroid/net/INetworkStatsService;
+Landroid/net/INetworkStatsSession$Stub;
+Landroid/net/INetworkStatsSession;
+Landroid/net/ISocketKeepaliveCallback$Stub$Proxy;
+Landroid/net/ISocketKeepaliveCallback$Stub;
+Landroid/net/ISocketKeepaliveCallback;
Landroid/net/ITestNetworkManager$Stub;
Landroid/net/ITestNetworkManager;
+Landroid/net/ITetheringEventCallback$Stub$Proxy;
+Landroid/net/ITetheringEventCallback$Stub;
+Landroid/net/ITetheringEventCallback;
+Landroid/net/ITetheringStatsProvider$Stub$Proxy;
Landroid/net/ITetheringStatsProvider$Stub;
Landroid/net/ITetheringStatsProvider;
+Landroid/net/InetAddresses;
Landroid/net/InterfaceConfiguration$1;
Landroid/net/InterfaceConfiguration;
-Landroid/net/InterfaceConfigurationParcel$1;
-Landroid/net/InterfaceConfigurationParcel;
Landroid/net/IpConfiguration$1;
Landroid/net/IpConfiguration$IpAssignment;
Landroid/net/IpConfiguration$ProxySettings;
Landroid/net/IpConfiguration;
-Landroid/net/IpMemoryStore;
Landroid/net/IpPrefix$1;
Landroid/net/IpPrefix$2;
Landroid/net/IpPrefix;
Landroid/net/IpSecManager$SpiUnavailableException;
Landroid/net/IpSecManager;
+Landroid/net/KeepalivePacketData$1;
Landroid/net/KeepalivePacketData;
Landroid/net/LinkAddress$1;
Landroid/net/LinkAddress;
Landroid/net/LinkProperties$1;
+Landroid/net/LinkProperties$CompareResult;
Landroid/net/LinkProperties;
Landroid/net/LocalServerSocket;
Landroid/net/LocalSocket;
@@ -34900,14 +19169,20 @@ Landroid/net/NetworkKey$1;
Landroid/net/NetworkKey;
Landroid/net/NetworkMisc$1;
Landroid/net/NetworkMisc;
+Landroid/net/NetworkPolicy$1;
Landroid/net/NetworkPolicy;
+Landroid/net/NetworkPolicyManager$1;
Landroid/net/NetworkPolicyManager$Listener;
Landroid/net/NetworkPolicyManager;
+Landroid/net/NetworkQuotaInfo;
Landroid/net/NetworkRequest$1;
Landroid/net/NetworkRequest$Builder;
Landroid/net/NetworkRequest$Type;
Landroid/net/NetworkRequest;
+Landroid/net/NetworkScore;
Landroid/net/NetworkScoreManager;
+Landroid/net/NetworkScorerAppData$1;
+Landroid/net/NetworkScorerAppData;
Landroid/net/NetworkSpecifier;
Landroid/net/NetworkState$1;
Landroid/net/NetworkState;
@@ -34917,11 +19192,14 @@ Landroid/net/NetworkStats$NonMonotonicObserver;
Landroid/net/NetworkStats;
Landroid/net/NetworkStatsHistory$1;
Landroid/net/NetworkStatsHistory$DataStreamUtils;
+Landroid/net/NetworkStatsHistory$Entry;
+Landroid/net/NetworkStatsHistory$ParcelUtils;
Landroid/net/NetworkStatsHistory;
Landroid/net/NetworkTemplate$1;
Landroid/net/NetworkTemplate;
Landroid/net/NetworkUtils;
Landroid/net/NetworkWatchlistManager;
+Landroid/net/PacProxySelector;
Landroid/net/ParseException;
Landroid/net/PrivateDnsConnectivityChecker;
Landroid/net/Proxy;
@@ -34929,28 +19207,27 @@ Landroid/net/ProxyInfo$1;
Landroid/net/ProxyInfo;
Landroid/net/RouteInfo$1;
Landroid/net/RouteInfo;
+Landroid/net/RssiCurve$1;
+Landroid/net/RssiCurve;
Landroid/net/SSLCertificateSocketFactory$1;
Landroid/net/SSLCertificateSocketFactory;
Landroid/net/SSLSessionCache;
Landroid/net/ScoredNetwork$1;
Landroid/net/ScoredNetwork;
+Landroid/net/SntpClient$InvalidServerReplyException;
+Landroid/net/SntpClient;
Landroid/net/SocketKeepalive$ErrorCodeException;
Landroid/net/SocketKeepalive$InvalidPacketException;
Landroid/net/StaticIpConfiguration$1;
+Landroid/net/StaticIpConfiguration$Builder;
Landroid/net/StaticIpConfiguration;
Landroid/net/StringNetworkSpecifier$1;
Landroid/net/StringNetworkSpecifier;
-Landroid/net/TcpKeepalivePacketData;
-Landroid/net/TcpKeepalivePacketDataParcelable;
Landroid/net/TestNetworkManager;
-Landroid/net/TetherStatsParcel$1;
-Landroid/net/TetherStatsParcel;
Landroid/net/TrafficStats;
Landroid/net/TransportInfo;
Landroid/net/UidRange$1;
Landroid/net/UidRange;
-Landroid/net/UidRangeParcel$1;
-Landroid/net/UidRangeParcel;
Landroid/net/Uri$1;
Landroid/net/Uri$AbstractHierarchicalUri;
Landroid/net/Uri$AbstractPart;
@@ -34973,79 +19250,178 @@ Landroid/net/apf/ApfCapabilities;
Landroid/net/http/HttpResponseCache;
Landroid/net/http/X509TrustManagerExtensions;
Landroid/net/lowpan/LowpanManager;
+Landroid/net/metrics/ApfProgramEvent$1;
Landroid/net/metrics/ApfProgramEvent;
+Landroid/net/metrics/ApfStats$1;
+Landroid/net/metrics/ApfStats;
+Landroid/net/metrics/ConnectStats;
Landroid/net/metrics/DefaultNetworkEvent;
+Landroid/net/metrics/DhcpClientEvent$1;
+Landroid/net/metrics/DhcpClientEvent;
+Landroid/net/metrics/DnsEvent;
Landroid/net/metrics/IpConnectivityLog$Event;
Landroid/net/metrics/IpConnectivityLog;
+Landroid/net/metrics/IpManagerEvent$1;
+Landroid/net/metrics/IpManagerEvent;
+Landroid/net/metrics/IpReachabilityEvent$1;
+Landroid/net/metrics/IpReachabilityEvent;
+Landroid/net/metrics/NetworkEvent$1;
+Landroid/net/metrics/NetworkEvent;
+Landroid/net/metrics/NetworkMetrics$Metrics;
+Landroid/net/metrics/NetworkMetrics$Summary;
+Landroid/net/metrics/NetworkMetrics;
+Landroid/net/metrics/RaEvent$1;
+Landroid/net/metrics/RaEvent;
+Landroid/net/metrics/ValidationProbeEvent$1;
+Landroid/net/metrics/ValidationProbeEvent;
Landroid/net/metrics/WakeupEvent;
+Landroid/net/metrics/WakeupStats;
+Landroid/net/nsd/INsdManager$Stub$Proxy;
Landroid/net/nsd/INsdManager$Stub;
Landroid/net/nsd/INsdManager;
+Landroid/net/nsd/NsdManager$ServiceHandler;
Landroid/net/nsd/NsdManager;
+Landroid/net/shared/Inet4AddressUtils;
+Landroid/net/shared/InetAddressUtils;
+Landroid/net/sip/ISipService$Stub$Proxy;
Landroid/net/sip/ISipService$Stub;
Landroid/net/sip/ISipService;
+Landroid/net/sip/SipException;
Landroid/net/sip/SipManager;
-Landroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;
+Landroid/net/util/-$$Lambda$MultinetworkPolicyTracker$8YMQ0fPTKk7Fw-_gJjln0JT-g8E;
Landroid/net/util/MultinetworkPolicyTracker$1;
+Landroid/net/util/MultinetworkPolicyTracker$2;
Landroid/net/util/MultinetworkPolicyTracker$SettingObserver;
Landroid/net/util/MultinetworkPolicyTracker;
+Landroid/net/wifi/-$$Lambda$O5kkps4d9X9Xr5DI8L3NlcZliu8;
+Landroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$K4DpGPGObWI293pmRTuiEj5r-DE;
+Landroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$Q8AMcrAZzPqZKp4l5Zz4DRDq6rY;
+Landroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$QSCNoL1_pVVaV8B35R8b_0UECkU;
+Landroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$evN9sVM7TGOwMVxoJTGBCfu_880;
+Landroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$qxuZsnr_-ppKI2ad2pa3htyx2u0;
+Landroid/net/wifi/-$$Lambda$WifiFrameworkInitializer$y82Bone6wQbJ8BixuAZ6L5k501Y;
+Landroid/net/wifi/-$$Lambda$WifiScanner$ServiceHandler$MC84hrJ90Rns-G99w6ih3qQMdyw;
+Landroid/net/wifi/-$$Lambda$WifiScanner$ServiceHandler$cKqGOMxI2R2uyUjgsLnrUOSFRS8;
+Landroid/net/wifi/-$$Lambda$WifiScanner$ServiceHandler$tfzaoDCMuySQuJsgvPXn9A60XqE;
+Landroid/net/wifi/-$$Lambda$WifiScanner$ServiceHandler$y6fV_BVhUdL0OIhrI7CZr_ohobM;
+Landroid/net/wifi/AnqpInformationElement;
+Landroid/net/wifi/IActionListener$Stub;
+Landroid/net/wifi/IActionListener;
+Landroid/net/wifi/IDppCallback$Stub$Proxy;
+Landroid/net/wifi/IDppCallback$Stub;
+Landroid/net/wifi/IDppCallback;
+Landroid/net/wifi/ILocalOnlyHotspotCallback$Stub;
+Landroid/net/wifi/ILocalOnlyHotspotCallback;
+Landroid/net/wifi/INetworkRequestMatchCallback$Stub$Proxy;
+Landroid/net/wifi/INetworkRequestMatchCallback$Stub;
Landroid/net/wifi/INetworkRequestMatchCallback;
+Landroid/net/wifi/IOnWifiActivityEnergyInfoListener$Stub;
+Landroid/net/wifi/IOnWifiActivityEnergyInfoListener;
+Landroid/net/wifi/IOnWifiUsabilityStatsListener$Stub$Proxy;
+Landroid/net/wifi/IOnWifiUsabilityStatsListener$Stub;
+Landroid/net/wifi/IOnWifiUsabilityStatsListener;
+Landroid/net/wifi/IScanResultsCallback$Stub;
+Landroid/net/wifi/IScanResultsCallback;
+Landroid/net/wifi/ISoftApCallback$Stub$Proxy;
Landroid/net/wifi/ISoftApCallback$Stub;
Landroid/net/wifi/ISoftApCallback;
+Landroid/net/wifi/ISuggestionConnectionStatusListener$Stub;
+Landroid/net/wifi/ISuggestionConnectionStatusListener;
+Landroid/net/wifi/ITrafficStateCallback$Stub$Proxy;
Landroid/net/wifi/ITrafficStateCallback$Stub;
Landroid/net/wifi/ITrafficStateCallback;
+Landroid/net/wifi/ITxPacketCountListener$Stub;
+Landroid/net/wifi/ITxPacketCountListener;
Landroid/net/wifi/IWifiManager$Stub$Proxy;
Landroid/net/wifi/IWifiManager$Stub;
Landroid/net/wifi/IWifiManager;
+Landroid/net/wifi/IWifiScanner$Stub$Proxy;
Landroid/net/wifi/IWifiScanner$Stub;
Landroid/net/wifi/IWifiScanner;
Landroid/net/wifi/ParcelUtil;
-Landroid/net/wifi/RssiPacketCountInfo;
Landroid/net/wifi/RttManager;
Landroid/net/wifi/ScanResult$1;
Landroid/net/wifi/ScanResult$InformationElement;
Landroid/net/wifi/ScanResult$RadioChainInfo;
Landroid/net/wifi/ScanResult;
+Landroid/net/wifi/SoftApConfiguration;
+Landroid/net/wifi/SoftApInfo;
Landroid/net/wifi/SupplicantState$1;
+Landroid/net/wifi/SupplicantState$2;
Landroid/net/wifi/SupplicantState;
-Landroid/net/wifi/WifiActivityEnergyInfo$1;
-Landroid/net/wifi/WifiActivityEnergyInfo;
+Landroid/net/wifi/SynchronousExecutor;
+Landroid/net/wifi/WifiClient;
Landroid/net/wifi/WifiConfiguration$1;
+Landroid/net/wifi/WifiConfiguration$KeyMgmt;
+Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo;
Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
Landroid/net/wifi/WifiConfiguration$RecentFailure;
Landroid/net/wifi/WifiConfiguration;
Landroid/net/wifi/WifiEnterpriseConfig$1;
Landroid/net/wifi/WifiEnterpriseConfig;
+Landroid/net/wifi/WifiFrameworkInitializer$NoPreloadHolder;
+Landroid/net/wifi/WifiFrameworkInitializer;
Landroid/net/wifi/WifiInfo$1;
Landroid/net/wifi/WifiInfo;
+Landroid/net/wifi/WifiManager$MulticastLock;
Landroid/net/wifi/WifiManager$SoftApCallback;
+Landroid/net/wifi/WifiManager$SoftApCallbackProxy;
+Landroid/net/wifi/WifiManager$TrafficStateCallbackProxy;
Landroid/net/wifi/WifiManager$WifiLock;
Landroid/net/wifi/WifiManager;
+Landroid/net/wifi/WifiNetworkAgentSpecifier$1;
Landroid/net/wifi/WifiNetworkAgentSpecifier;
+Landroid/net/wifi/WifiNetworkScoreCache$CacheListener$1;
Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
Landroid/net/wifi/WifiNetworkScoreCache;
+Landroid/net/wifi/WifiNetworkSpecifier$1;
+Landroid/net/wifi/WifiNetworkSpecifier;
+Landroid/net/wifi/WifiNetworkSuggestion$1;
+Landroid/net/wifi/WifiNetworkSuggestion;
Landroid/net/wifi/WifiScanner$ActionListener;
Landroid/net/wifi/WifiScanner$ChannelSpec;
+Landroid/net/wifi/WifiScanner$ListenerWithExecutor;
+Landroid/net/wifi/WifiScanner$OperationResult$1;
+Landroid/net/wifi/WifiScanner$OperationResult;
+Landroid/net/wifi/WifiScanner$ParcelableScanData$1;
+Landroid/net/wifi/WifiScanner$ParcelableScanData;
+Landroid/net/wifi/WifiScanner$ParcelableScanResults$1;
+Landroid/net/wifi/WifiScanner$ParcelableScanResults;
Landroid/net/wifi/WifiScanner$PnoScanListener;
+Landroid/net/wifi/WifiScanner$PnoSettings$1;
+Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;
+Landroid/net/wifi/WifiScanner$PnoSettings;
Landroid/net/wifi/WifiScanner$ScanData$1;
Landroid/net/wifi/WifiScanner$ScanData;
Landroid/net/wifi/WifiScanner$ScanListener;
Landroid/net/wifi/WifiScanner$ScanSettings$1;
+Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;
Landroid/net/wifi/WifiScanner$ScanSettings;
Landroid/net/wifi/WifiScanner$ServiceHandler;
Landroid/net/wifi/WifiScanner;
Landroid/net/wifi/WifiSsid$1;
Landroid/net/wifi/WifiSsid;
+Landroid/net/wifi/WifiUsabilityStatsEntry$1;
+Landroid/net/wifi/WifiUsabilityStatsEntry;
Landroid/net/wifi/WpsInfo$1;
Landroid/net/wifi/WpsInfo;
+Landroid/net/wifi/aware/Characteristics$1;
Landroid/net/wifi/aware/Characteristics;
+Landroid/net/wifi/aware/ConfigRequest$1;
Landroid/net/wifi/aware/ConfigRequest;
Landroid/net/wifi/aware/IWifiAwareManager$Stub;
Landroid/net/wifi/aware/IWifiAwareManager;
Landroid/net/wifi/aware/WifiAwareManager;
+Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;
+Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;
Landroid/net/wifi/hotspot2/IProvisioningCallback;
+Landroid/net/wifi/hotspot2/OsuProvider$1;
Landroid/net/wifi/hotspot2/OsuProvider;
+Landroid/net/wifi/hotspot2/PasspointConfiguration$1;
Landroid/net/wifi/hotspot2/PasspointConfiguration;
+Landroid/net/wifi/hotspot2/pps/HomeSp$1;
Landroid/net/wifi/hotspot2/pps/HomeSp;
+Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;
Landroid/net/wifi/p2p/IWifiP2pManager$Stub;
Landroid/net/wifi/p2p/IWifiP2pManager;
Landroid/net/wifi/p2p/WifiP2pConfig$1;
@@ -35063,24 +19439,41 @@ Landroid/net/wifi/p2p/WifiP2pInfo$1;
Landroid/net/wifi/p2p/WifiP2pInfo;
Landroid/net/wifi/p2p/WifiP2pManager;
Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;
+Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo$1;
Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;
+Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;
+Landroid/net/wifi/rtt/IRttCallback$Stub;
+Landroid/net/wifi/rtt/IRttCallback;
Landroid/net/wifi/rtt/IWifiRttManager$Stub;
Landroid/net/wifi/rtt/IWifiRttManager;
+Landroid/net/wifi/rtt/RangingRequest$1;
+Landroid/net/wifi/rtt/RangingRequest;
Landroid/net/wifi/rtt/WifiRttManager;
+Landroid/nfc/BeamShareData$1;
+Landroid/nfc/BeamShareData;
+Landroid/nfc/IAppCallback$Stub$Proxy;
Landroid/nfc/IAppCallback$Stub;
Landroid/nfc/IAppCallback;
Landroid/nfc/INfcAdapter$Stub$Proxy;
Landroid/nfc/INfcAdapter$Stub;
Landroid/nfc/INfcAdapter;
+Landroid/nfc/INfcAdapterExtras;
Landroid/nfc/INfcCardEmulation$Stub$Proxy;
Landroid/nfc/INfcCardEmulation$Stub;
Landroid/nfc/INfcCardEmulation;
+Landroid/nfc/INfcDta;
Landroid/nfc/INfcFCardEmulation$Stub$Proxy;
Landroid/nfc/INfcFCardEmulation$Stub;
Landroid/nfc/INfcFCardEmulation;
Landroid/nfc/INfcTag$Stub$Proxy;
Landroid/nfc/INfcTag$Stub;
Landroid/nfc/INfcTag;
+Landroid/nfc/INfcUnlockHandler$Stub$Proxy;
+Landroid/nfc/INfcUnlockHandler$Stub;
+Landroid/nfc/INfcUnlockHandler;
+Landroid/nfc/ITagRemovedCallback$Stub$Proxy;
+Landroid/nfc/ITagRemovedCallback$Stub;
+Landroid/nfc/ITagRemovedCallback;
Landroid/nfc/NfcActivityManager$NfcActivityState;
Landroid/nfc/NfcActivityManager$NfcApplicationState;
Landroid/nfc/NfcActivityManager;
@@ -35088,6 +19481,10 @@ Landroid/nfc/NfcAdapter$1;
Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;
Landroid/nfc/NfcAdapter;
Landroid/nfc/NfcManager;
+Landroid/nfc/Tag$1;
+Landroid/nfc/Tag;
+Landroid/nfc/TechListParcel$1;
+Landroid/nfc/TechListParcel;
Landroid/opengl/EGL14;
Landroid/opengl/EGL15;
Landroid/opengl/EGLConfig;
@@ -35113,10 +19510,15 @@ Landroid/opengl/GLUtils;
Landroid/opengl/Matrix;
Landroid/opengl/Visibility;
Landroid/os/-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I;
+Landroid/os/-$$Lambda$Build$WrC6eL7oW2Zm9UDTcXXKr0DnOMw;
Landroid/os/-$$Lambda$HidlSupport$CwwfmHPEvZaybUxpLzKdwrpQRfA;
+Landroid/os/-$$Lambda$HidlSupport$GHxmwrIWiKN83tl6aMQt_nV5hiw;
Landroid/os/-$$Lambda$IyvVQC-0mKtsfXbnO0kDL64hrk0;
+Landroid/os/-$$Lambda$PowerManager$WakeLock$VvFzmRZ4ZGlXx7u3lSAJ_T-YUjw;
Landroid/os/-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0;
Landroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$9nBulCQKaMajrWr41SB7f7YRT1I;
+Landroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$FxZGA9KtfTewqdcxlUwvIe5Nx9I;
+Landroid/os/-$$Lambda$StrictMode$UFC_nI1x6u8ZwMQmA7bmj9NHZz4;
Landroid/os/-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ;
Landroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;
Landroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;
@@ -35127,6 +19529,7 @@ Landroid/os/AsyncTask$1;
Landroid/os/AsyncTask$2;
Landroid/os/AsyncTask$3;
Landroid/os/AsyncTask$4;
+Landroid/os/AsyncTask$5;
Landroid/os/AsyncTask$AsyncTaskResult;
Landroid/os/AsyncTask$InternalHandler;
Landroid/os/AsyncTask$SerialExecutor$1;
@@ -35137,15 +19540,21 @@ Landroid/os/AsyncTask;
Landroid/os/BadParcelableException;
Landroid/os/BaseBundle$NoImagePreloadHolder;
Landroid/os/BaseBundle;
+Landroid/os/BasicShellCommandHandler;
Landroid/os/BatteryManager;
Landroid/os/BatteryManagerInternal;
Landroid/os/BatteryProperty$1;
+Landroid/os/BatteryProperty;
+Landroid/os/BatterySaverPolicyConfig$1;
+Landroid/os/BatterySaverPolicyConfig;
+Landroid/os/BatteryStats$2;
Landroid/os/BatteryStats$BitDescription;
Landroid/os/BatteryStats$ControllerActivityCounter;
Landroid/os/BatteryStats$Counter;
Landroid/os/BatteryStats$DailyItem;
Landroid/os/BatteryStats$HistoryEventTracker;
Landroid/os/BatteryStats$HistoryItem;
+Landroid/os/BatteryStats$HistoryPrinter;
Landroid/os/BatteryStats$HistoryStepDetails;
Landroid/os/BatteryStats$HistoryTag;
Landroid/os/BatteryStats$IntToString;
@@ -35163,7 +19572,7 @@ Landroid/os/BatteryStats$Uid$Sensor;
Landroid/os/BatteryStats$Uid$Wakelock;
Landroid/os/BatteryStats$Uid;
Landroid/os/BatteryStats;
-Landroid/os/BatteryStatsInternal;
+Landroid/os/BatteryStatsManager;
Landroid/os/BestClock;
Landroid/os/Binder$NoImagePreloadHolder;
Landroid/os/Binder$PropagateWorkSourceTransactListener;
@@ -35198,9 +19607,12 @@ Landroid/os/Environment;
Landroid/os/EventLogTags;
Landroid/os/FactoryTest;
Landroid/os/FileBridge$FileBridgeOutputStream;
+Landroid/os/FileBridge;
Landroid/os/FileObserver$ObserverThread;
Landroid/os/FileObserver;
+Landroid/os/FileUtils$1;
Landroid/os/FileUtils;
+Landroid/os/GraphicsEnvironment$1;
Landroid/os/GraphicsEnvironment$OpenGlDriverChoice;
Landroid/os/GraphicsEnvironment;
Landroid/os/Handler$BlockingRunnable;
@@ -35210,6 +19622,7 @@ Landroid/os/Handler;
Landroid/os/HandlerExecutor;
Landroid/os/HandlerThread;
Landroid/os/HardwarePropertiesManager;
+Landroid/os/HidlMemory;
Landroid/os/HidlSupport$Mutable;
Landroid/os/HidlSupport;
Landroid/os/HwBinder;
@@ -35224,6 +19637,7 @@ Landroid/os/IBinder;
Landroid/os/ICancellationSignal$Stub$Proxy;
Landroid/os/ICancellationSignal$Stub;
Landroid/os/ICancellationSignal;
+Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;
Landroid/os/IDeviceIdentifiersPolicyService$Stub;
Landroid/os/IDeviceIdentifiersPolicyService;
Landroid/os/IDeviceIdleController$Stub$Proxy;
@@ -35250,6 +19664,9 @@ Landroid/os/IInterface;
Landroid/os/IMessenger$Stub$Proxy;
Landroid/os/IMessenger$Stub;
Landroid/os/IMessenger;
+Landroid/os/INetworkActivityListener$Stub$Proxy;
+Landroid/os/INetworkActivityListener$Stub;
+Landroid/os/INetworkActivityListener;
Landroid/os/INetworkManagementService$Stub$Proxy;
Landroid/os/INetworkManagementService$Stub;
Landroid/os/INetworkManagementService;
@@ -35260,30 +19677,40 @@ Landroid/os/IPowerManager$Stub;
Landroid/os/IPowerManager;
Landroid/os/IProcessInfoService$Stub;
Landroid/os/IProcessInfoService;
+Landroid/os/IProgressListener$Stub$Proxy;
Landroid/os/IProgressListener$Stub;
Landroid/os/IProgressListener;
+Landroid/os/IPullAtomCallback$Stub;
+Landroid/os/IPullAtomCallback;
Landroid/os/IRecoverySystem$Stub;
Landroid/os/IRecoverySystem;
+Landroid/os/IRemoteCallback$Stub$Proxy;
Landroid/os/IRemoteCallback$Stub;
Landroid/os/IRemoteCallback;
Landroid/os/ISchedulingPolicyService$Stub;
Landroid/os/ISchedulingPolicyService;
+Landroid/os/IServiceManager$Stub$Proxy;
+Landroid/os/IServiceManager$Stub;
Landroid/os/IServiceManager;
Landroid/os/IStatsCompanionService$Stub;
Landroid/os/IStatsCompanionService;
Landroid/os/IStatsManager$Stub$Proxy;
Landroid/os/IStatsManager$Stub;
Landroid/os/IStatsManager;
+Landroid/os/IStatsPullerCallback;
Landroid/os/IStoraged$Stub$Proxy;
Landroid/os/IStoraged$Stub;
Landroid/os/IStoraged;
Landroid/os/ISystemUpdateManager$Stub$Proxy;
Landroid/os/ISystemUpdateManager$Stub;
Landroid/os/ISystemUpdateManager;
+Landroid/os/IThermalEventListener$Stub$Proxy;
Landroid/os/IThermalEventListener$Stub;
Landroid/os/IThermalEventListener;
+Landroid/os/IThermalService$Stub$Proxy;
Landroid/os/IThermalService$Stub;
Landroid/os/IThermalService;
+Landroid/os/IThermalStatusListener$Stub$Proxy;
Landroid/os/IThermalStatusListener$Stub;
Landroid/os/IThermalStatusListener;
Landroid/os/IUpdateLock$Stub;
@@ -35291,6 +19718,8 @@ Landroid/os/IUpdateLock;
Landroid/os/IUserManager$Stub$Proxy;
Landroid/os/IUserManager$Stub;
Landroid/os/IUserManager;
+Landroid/os/IUserRestrictionsListener$Stub;
+Landroid/os/IUserRestrictionsListener;
Landroid/os/IVibratorService$Stub$Proxy;
Landroid/os/IVibratorService$Stub;
Landroid/os/IVibratorService;
@@ -35299,6 +19728,9 @@ Landroid/os/IVold$Stub;
Landroid/os/IVold;
Landroid/os/IVoldListener$Stub;
Landroid/os/IVoldListener;
+Landroid/os/IVoldTaskListener$Stub$Proxy;
+Landroid/os/IVoldTaskListener$Stub;
+Landroid/os/IVoldTaskListener;
Landroid/os/IncidentManager;
Landroid/os/LocaleList$1;
Landroid/os/LocaleList;
@@ -35307,12 +19739,14 @@ Landroid/os/Looper;
Landroid/os/MemoryFile;
Landroid/os/Message$1;
Landroid/os/Message;
+Landroid/os/MessageQueue$FileDescriptorRecord;
Landroid/os/MessageQueue$IdleHandler;
Landroid/os/MessageQueue$OnFileDescriptorEventListener;
Landroid/os/MessageQueue;
Landroid/os/Messenger$1;
Landroid/os/Messenger;
Landroid/os/NativeHandle;
+Landroid/os/NetworkOnMainThreadException;
Landroid/os/OperationCanceledException;
Landroid/os/Parcel$1;
Landroid/os/Parcel$2;
@@ -35322,6 +19756,7 @@ Landroid/os/ParcelFileDescriptor$1;
Landroid/os/ParcelFileDescriptor$2;
Landroid/os/ParcelFileDescriptor$AutoCloseInputStream;
Landroid/os/ParcelFileDescriptor$AutoCloseOutputStream;
+Landroid/os/ParcelFileDescriptor$OnCloseListener;
Landroid/os/ParcelFileDescriptor;
Landroid/os/ParcelFormatException;
Landroid/os/ParcelUuid$1;
@@ -35349,11 +19784,14 @@ Landroid/os/PowerManagerInternal;
Landroid/os/PowerSaveState$1;
Landroid/os/PowerSaveState$Builder;
Landroid/os/PowerSaveState;
+Landroid/os/PowerWhitelistManager;
Landroid/os/Process$ProcessStartResult;
Landroid/os/Process;
Landroid/os/RecoverySystem;
Landroid/os/Registrant;
Landroid/os/RegistrantList;
+Landroid/os/RemoteCallback$1;
+Landroid/os/RemoteCallback$2;
Landroid/os/RemoteCallback$3;
Landroid/os/RemoteCallback$OnResultListener;
Landroid/os/RemoteCallback;
@@ -35371,12 +19809,19 @@ Landroid/os/ServiceManagerNative;
Landroid/os/ServiceManagerProxy;
Landroid/os/ServiceSpecificException;
Landroid/os/SharedMemory$1;
+Landroid/os/SharedMemory$Closer;
+Landroid/os/SharedMemory$MemoryRegistration;
+Landroid/os/SharedMemory$Unmapper;
Landroid/os/SharedMemory;
Landroid/os/ShellCallback$1;
Landroid/os/ShellCallback;
Landroid/os/ShellCommand;
Landroid/os/SimpleClock;
Landroid/os/StatFs;
+Landroid/os/StatsDimensionsValue$1;
+Landroid/os/StatsDimensionsValue;
+Landroid/os/StatsLogEventWrapper$1;
+Landroid/os/StatsLogEventWrapper;
Landroid/os/StrictMode$1;
Landroid/os/StrictMode$2;
Landroid/os/StrictMode$3;
@@ -35407,6 +19852,9 @@ Landroid/os/SystemClock$2;
Landroid/os/SystemClock$3;
Landroid/os/SystemClock;
Landroid/os/SystemProperties;
+Landroid/os/SystemService$1;
+Landroid/os/SystemService$State;
+Landroid/os/SystemService;
Landroid/os/SystemUpdateManager;
Landroid/os/SystemVibrator;
Landroid/os/Temperature$1;
@@ -35415,6 +19863,7 @@ Landroid/os/ThreadLocalWorkSource;
Landroid/os/TokenWatcher$1;
Landroid/os/TokenWatcher;
Landroid/os/Trace;
+Landroid/os/TraceNameSupplier;
Landroid/os/TransactionTooLargeException;
Landroid/os/TransactionTracker;
Landroid/os/UEventObserver$UEventThread;
@@ -35426,8 +19875,6 @@ Landroid/os/UserManager$EnforcingUser$1;
Landroid/os/UserManager$EnforcingUser;
Landroid/os/UserManager$UserOperationException;
Landroid/os/UserManager;
-Landroid/os/UserManagerInternal$UserRestrictionsListener;
-Landroid/os/UserManagerInternal;
Landroid/os/VibrationEffect$1;
Landroid/os/VibrationEffect$OneShot$1;
Landroid/os/VibrationEffect$OneShot;
@@ -35446,9 +19893,20 @@ Landroid/os/WorkSource;
Landroid/os/ZygoteProcess$ZygoteState;
Landroid/os/ZygoteProcess;
Landroid/os/ZygoteStartFailedEx;
+Landroid/os/connectivity/CellularBatteryStats$1;
+Landroid/os/connectivity/CellularBatteryStats;
+Landroid/os/connectivity/GpsBatteryStats$1;
+Landroid/os/connectivity/GpsBatteryStats;
+Landroid/os/connectivity/WifiActivityEnergyInfo;
+Landroid/os/connectivity/WifiBatteryStats$1;
+Landroid/os/connectivity/WifiBatteryStats;
+Landroid/os/health/HealthKeys$Constant;
+Landroid/os/health/HealthKeys$Constants;
+Landroid/os/health/HealthKeys$SortedIntArray;
Landroid/os/health/HealthStats;
Landroid/os/health/HealthStatsParceler$1;
Landroid/os/health/HealthStatsParceler;
+Landroid/os/health/HealthStatsWriter;
Landroid/os/health/SystemHealthManager;
Landroid/os/health/TimerStat$1;
Landroid/os/health/TimerStat;
@@ -35456,14 +19914,22 @@ Landroid/os/image/DynamicSystemClient;
Landroid/os/image/DynamicSystemManager;
Landroid/os/image/IDynamicSystemService$Stub;
Landroid/os/image/IDynamicSystemService;
+Landroid/os/incremental/IncrementalDataLoaderParams;
+Landroid/os/incremental/IncrementalDataLoaderParamsParcel;
+Landroid/os/storage/DiskInfo$1;
Landroid/os/storage/DiskInfo;
+Landroid/os/storage/IObbActionListener$Stub$Proxy;
Landroid/os/storage/IObbActionListener$Stub;
Landroid/os/storage/IObbActionListener;
+Landroid/os/storage/IStorageEventListener$Stub$Proxy;
Landroid/os/storage/IStorageEventListener$Stub;
Landroid/os/storage/IStorageEventListener;
Landroid/os/storage/IStorageManager$Stub$Proxy;
Landroid/os/storage/IStorageManager$Stub;
Landroid/os/storage/IStorageManager;
+Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;
+Landroid/os/storage/IStorageShutdownObserver$Stub;
+Landroid/os/storage/IStorageShutdownObserver;
Landroid/os/storage/StorageEventListener;
Landroid/os/storage/StorageManager$ObbActionListener;
Landroid/os/storage/StorageManager$StorageEventListenerDelegate;
@@ -35475,33 +19941,82 @@ Landroid/os/storage/StorageVolume;
Landroid/os/storage/VolumeInfo$1;
Landroid/os/storage/VolumeInfo$2;
Landroid/os/storage/VolumeInfo;
+Landroid/os/storage/VolumeRecord$1;
Landroid/os/storage/VolumeRecord;
+Landroid/os/strictmode/ContentUriWithoutPermissionViolation;
+Landroid/os/strictmode/CredentialProtectedWhileLockedViolation;
+Landroid/os/strictmode/CustomViolation;
Landroid/os/strictmode/DiskReadViolation;
+Landroid/os/strictmode/DiskWriteViolation;
+Landroid/os/strictmode/ExplicitGcViolation;
+Landroid/os/strictmode/ImplicitDirectBootViolation;
Landroid/os/strictmode/InstanceCountViolation;
+Landroid/os/strictmode/IntentReceiverLeakedViolation;
+Landroid/os/strictmode/LeakedClosableViolation;
+Landroid/os/strictmode/NetworkViolation;
+Landroid/os/strictmode/ResourceMismatchViolation;
+Landroid/os/strictmode/ServiceConnectionLeakedViolation;
+Landroid/os/strictmode/SqliteObjectLeakedViolation;
+Landroid/os/strictmode/UnbufferedIoViolation;
+Landroid/os/strictmode/UntaggedSocketViolation;
Landroid/os/strictmode/Violation;
-Landroid/permission/-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss;
+Landroid/permission/-$$Lambda$PermissionControllerManager$Iy-7wiKMCV-MFSPGyIJxP_DSf8E;
+Landroid/permission/IOnPermissionsChangeListener$Stub;
+Landroid/permission/IOnPermissionsChangeListener;
Landroid/permission/IPermissionController$Stub$Proxy;
+Landroid/permission/IPermissionController$Stub;
Landroid/permission/IPermissionController;
-Landroid/permission/PermissionControllerManager$RemoteService;
+Landroid/permission/IPermissionManager$Stub$Proxy;
+Landroid/permission/IPermissionManager$Stub;
+Landroid/permission/IPermissionManager;
Landroid/permission/PermissionControllerManager;
Landroid/permission/PermissionManager$SplitPermissionInfo;
Landroid/permission/PermissionManager;
Landroid/permission/PermissionManagerInternal;
+Landroid/preference/GenericInflater$Parent;
+Landroid/preference/GenericInflater;
Landroid/preference/Preference$OnPreferenceChangeListener;
Landroid/preference/Preference;
Landroid/preference/PreferenceActivity;
Landroid/preference/PreferenceFragment$OnPreferenceStartFragmentCallback;
Landroid/preference/PreferenceFragment;
+Landroid/preference/PreferenceGroup;
+Landroid/preference/PreferenceInflater;
Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
Landroid/preference/PreferenceManager;
+Landroid/preference/PreferenceScreen;
Landroid/print/IPrintManager$Stub;
Landroid/print/IPrintManager;
+Landroid/print/IPrintSpooler$Stub$Proxy;
+Landroid/print/IPrintSpooler$Stub;
+Landroid/print/IPrintSpooler;
+Landroid/print/IPrintSpoolerCallbacks$Stub;
+Landroid/print/IPrintSpoolerCallbacks;
+Landroid/print/IPrintSpoolerClient$Stub;
+Landroid/print/IPrintSpoolerClient;
Landroid/print/PrintDocumentAdapter;
+Landroid/print/PrintJobInfo$1;
+Landroid/print/PrintJobInfo;
Landroid/print/PrintManager;
+Landroid/printservice/IPrintServiceClient$Stub;
+Landroid/printservice/IPrintServiceClient;
+Landroid/printservice/PrintServiceInfo$1;
+Landroid/printservice/PrintServiceInfo;
+Landroid/privacy/DifferentialPrivacyConfig;
+Landroid/privacy/DifferentialPrivacyEncoder;
+Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;
+Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;
+Landroid/privacy/internal/rappor/RapporConfig;
+Landroid/privacy/internal/rappor/RapporEncoder;
+Landroid/provider/-$$Lambda$DeviceConfig$6U9gBH6h5Oab2DB_e83az4n_WEo;
Landroid/provider/-$$Lambda$FontsContract$3FDNQd-WsglsyDhif-aHVbzkfrA;
Landroid/provider/-$$Lambda$FontsContract$rqfIZKvP1frnI9vP1hVA8jQN_RE;
+Landroid/provider/-$$Lambda$Settings$NameValueCache$cLX_nUBDGp9SYpFxrABk-2ceeMI;
Landroid/provider/-$$Lambda$Settings$NameValueCache$qSyMM6rUAHCa-5rsP-atfAqR3sA;
Landroid/provider/BaseColumns;
+Landroid/provider/BlockedNumberContract$BlockedNumbers;
+Landroid/provider/BlockedNumberContract$SystemContract;
+Landroid/provider/BlockedNumberContract;
Landroid/provider/CalendarContract$CalendarColumns;
Landroid/provider/CalendarContract$CalendarSyncColumns;
Landroid/provider/CalendarContract$Calendars;
@@ -35509,6 +20024,7 @@ Landroid/provider/CalendarContract$Events;
Landroid/provider/CalendarContract$EventsColumns;
Landroid/provider/CalendarContract$Instances;
Landroid/provider/CalendarContract$SyncColumns;
+Landroid/provider/CalendarContract;
Landroid/provider/CallLog$Calls;
Landroid/provider/ContactsContract$CommonDataKinds$BaseTypes;
Landroid/provider/ContactsContract$CommonDataKinds$Callable;
@@ -35525,13 +20041,21 @@ Landroid/provider/ContactsContract$Data;
Landroid/provider/ContactsContract$DataColumns;
Landroid/provider/ContactsContract$DataColumnsWithJoins;
Landroid/provider/ContactsContract$DataUsageStatColumns;
+Landroid/provider/ContactsContract$PhoneLookup;
+Landroid/provider/ContactsContract$PhoneLookupColumns;
+Landroid/provider/ContactsContract$Profile;
Landroid/provider/ContactsContract$RawContactsColumns;
Landroid/provider/ContactsContract$StatusColumns;
Landroid/provider/ContactsContract;
Landroid/provider/DeviceConfig$1;
-Landroid/provider/DeviceConfig$OnPropertyChangedListener;
+Landroid/provider/DeviceConfig$OnPropertiesChangedListener;
+Landroid/provider/DeviceConfig$Properties;
Landroid/provider/DeviceConfig;
+Landroid/provider/DocumentsContract$Path;
+Landroid/provider/DocumentsContract;
+Landroid/provider/DocumentsProvider;
Landroid/provider/Downloads$Impl;
+Landroid/provider/Downloads;
Landroid/provider/FontRequest;
Landroid/provider/FontsContract$1;
Landroid/provider/FontsContract$FontFamilyResult;
@@ -35548,60 +20072,39 @@ Landroid/provider/MediaStore$Video$VideoColumns;
Landroid/provider/MediaStore;
Landroid/provider/SearchIndexableData;
Landroid/provider/SearchIndexableResource;
+Landroid/provider/SearchIndexablesContract;
Landroid/provider/SearchIndexablesProvider;
Landroid/provider/SearchRecentSuggestions;
Landroid/provider/Settings$Config;
Landroid/provider/Settings$ContentProviderHolder;
Landroid/provider/Settings$GenerationTracker;
-Landroid/provider/Settings$Global$1;
-Landroid/provider/Settings$Global$2;
-Landroid/provider/Settings$Global$3;
Landroid/provider/Settings$Global;
Landroid/provider/Settings$NameValueCache;
Landroid/provider/Settings$NameValueTable;
-Landroid/provider/Settings$Secure$1;
-Landroid/provider/Settings$Secure$2;
-Landroid/provider/Settings$Secure$3;
-Landroid/provider/Settings$Secure$4;
Landroid/provider/Settings$Secure;
Landroid/provider/Settings$SettingNotFoundException;
-Landroid/provider/Settings$System$1;
-Landroid/provider/Settings$System$2;
-Landroid/provider/Settings$System$3;
-Landroid/provider/Settings$System$4;
-Landroid/provider/Settings$System$5;
-Landroid/provider/Settings$System$6;
Landroid/provider/Settings$System;
Landroid/provider/Settings;
-Landroid/provider/SettingsValidators$1;
-Landroid/provider/SettingsValidators$2;
-Landroid/provider/SettingsValidators$3;
-Landroid/provider/SettingsValidators$4;
-Landroid/provider/SettingsValidators$5;
-Landroid/provider/SettingsValidators$6;
-Landroid/provider/SettingsValidators$7;
-Landroid/provider/SettingsValidators$8;
-Landroid/provider/SettingsValidators$9;
-Landroid/provider/SettingsValidators$ComponentNameListValidator;
-Landroid/provider/SettingsValidators$DiscreteValueValidator;
-Landroid/provider/SettingsValidators$InclusiveFloatRangeValidator;
-Landroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;
-Landroid/provider/SettingsValidators$PackageNameListValidator;
-Landroid/provider/SettingsValidators$Validator;
-Landroid/provider/SettingsValidators;
+Landroid/provider/Telephony$BaseMmsColumns;
Landroid/provider/Telephony$CarrierColumns;
Landroid/provider/Telephony$CarrierId$All;
Landroid/provider/Telephony$CarrierId;
Landroid/provider/Telephony$Carriers;
+Landroid/provider/Telephony$Mms;
Landroid/provider/Telephony$ServiceStateTable;
Landroid/provider/Telephony$Sms;
Landroid/provider/Telephony$TextBasedSmsColumns;
+Landroid/provider/Telephony$Threads;
+Landroid/provider/Telephony$ThreadsColumns;
Landroid/provider/UserDictionary$Words;
+Landroid/renderscript/RenderScript;
Landroid/renderscript/RenderScriptCacheDir;
Landroid/security/AttestedKeyPair;
Landroid/security/Credentials;
Landroid/security/IKeyChainAliasCallback$Stub;
Landroid/security/IKeyChainAliasCallback;
+Landroid/security/IKeyChainService$Stub$Proxy;
+Landroid/security/IKeyChainService$Stub;
Landroid/security/IKeyChainService;
Landroid/security/KeyChain$1;
Landroid/security/KeyChain$AliasResponse;
@@ -35609,12 +20112,21 @@ Landroid/security/KeyChain$KeyChainConnection;
Landroid/security/KeyChain;
Landroid/security/KeyChainAliasCallback;
Landroid/security/KeyChainException;
+Landroid/security/KeyStore$KeyCharacteristicsCallbackResult;
+Landroid/security/KeyStore$KeyCharacteristicsPromise;
+Landroid/security/KeyStore$KeystoreResultPromise;
+Landroid/security/KeyStore$OperationPromise;
+Landroid/security/KeyStore$State;
Landroid/security/KeyStore;
Landroid/security/KeyStoreException;
Landroid/security/NetworkSecurityPolicy;
Landroid/security/Scrypt;
Landroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;
Landroid/security/keymaster/IKeyAttestationApplicationIdProvider;
+Landroid/security/keymaster/KeyAttestationApplicationId$1;
+Landroid/security/keymaster/KeyAttestationApplicationId;
+Landroid/security/keymaster/KeyAttestationPackageInfo$1;
+Landroid/security/keymaster/KeyAttestationPackageInfo;
Landroid/security/keymaster/KeyCharacteristics$1;
Landroid/security/keymaster/KeyCharacteristics;
Landroid/security/keymaster/KeymasterArgument$1;
@@ -35624,9 +20136,13 @@ Landroid/security/keymaster/KeymasterArguments;
Landroid/security/keymaster/KeymasterBlob$1;
Landroid/security/keymaster/KeymasterBlob;
Landroid/security/keymaster/KeymasterBlobArgument;
+Landroid/security/keymaster/KeymasterBooleanArgument;
Landroid/security/keymaster/KeymasterCertificateChain$1;
Landroid/security/keymaster/KeymasterCertificateChain;
+Landroid/security/keymaster/KeymasterDateArgument;
+Landroid/security/keymaster/KeymasterDefs;
Landroid/security/keymaster/KeymasterIntArgument;
+Landroid/security/keymaster/KeymasterLongArgument;
Landroid/security/keymaster/OperationResult$1;
Landroid/security/keymaster/OperationResult;
Landroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$AdditionalAuthenticationDataStream;
@@ -35638,27 +20154,64 @@ Landroid/security/keystore/AndroidKeyStoreBCWorkaroundProvider;
Landroid/security/keystore/AndroidKeyStoreCipherSpiBase;
Landroid/security/keystore/AndroidKeyStoreKey;
Landroid/security/keystore/AndroidKeyStoreKeyFactorySpi;
+Landroid/security/keystore/AndroidKeyStoreLoadStoreParameter;
+Landroid/security/keystore/AndroidKeyStorePrivateKey;
Landroid/security/keystore/AndroidKeyStoreProvider;
+Landroid/security/keystore/AndroidKeyStoreSecretKey;
Landroid/security/keystore/AndroidKeyStoreSpi;
+Landroid/security/keystore/ArrayUtils;
Landroid/security/keystore/AttestationUtils;
+Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;
+Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;
+Landroid/security/keystore/IKeystoreOperationResultCallback$Stub;
+Landroid/security/keystore/IKeystoreOperationResultCallback;
+Landroid/security/keystore/IKeystoreResponseCallback$Stub;
+Landroid/security/keystore/IKeystoreResponseCallback;
Landroid/security/keystore/IKeystoreService$Stub$Proxy;
Landroid/security/keystore/IKeystoreService$Stub;
Landroid/security/keystore/IKeystoreService;
Landroid/security/keystore/KeyAttestationException;
+Landroid/security/keystore/KeyGenParameterSpec$Builder;
Landroid/security/keystore/KeyGenParameterSpec;
Landroid/security/keystore/KeyPermanentlyInvalidatedException;
+Landroid/security/keystore/KeyProperties$BlockMode;
+Landroid/security/keystore/KeyProperties$Digest;
+Landroid/security/keystore/KeyProperties$EncryptionPadding;
Landroid/security/keystore/KeyProperties$KeyAlgorithm;
+Landroid/security/keystore/KeyProperties$Purpose;
+Landroid/security/keystore/KeyProperties;
+Landroid/security/keystore/KeyStoreConnectException;
Landroid/security/keystore/KeyStoreCryptoOperation;
Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;
Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;
Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;
Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
Landroid/security/keystore/KeyStoreCryptoOperationUtils;
+Landroid/security/keystore/KeymasterUtils;
+Landroid/security/keystore/KeystoreResponse$1;
+Landroid/security/keystore/KeystoreResponse;
Landroid/security/keystore/ParcelableKeyGenParameterSpec$1;
Landroid/security/keystore/ParcelableKeyGenParameterSpec;
Landroid/security/keystore/StrongBoxUnavailableException;
Landroid/security/keystore/UserAuthArgs;
+Landroid/security/keystore/UserNotAuthenticatedException;
+Landroid/security/keystore/Utils;
+Landroid/security/keystore/recovery/KeyChainProtectionParams$1;
+Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
+Landroid/security/keystore/recovery/KeyChainProtectionParams;
+Landroid/security/keystore/recovery/KeyChainSnapshot$1;
+Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
+Landroid/security/keystore/recovery/KeyChainSnapshot;
+Landroid/security/keystore/recovery/KeyDerivationParams$1;
+Landroid/security/keystore/recovery/KeyDerivationParams;
+Landroid/security/keystore/recovery/RecoveryCertPath$1;
+Landroid/security/keystore/recovery/RecoveryCertPath;
Landroid/security/keystore/recovery/RecoveryController;
+Landroid/security/keystore/recovery/TrustedRootCertificates;
+Landroid/security/keystore/recovery/WrappedApplicationKey$1;
+Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;
+Landroid/security/keystore/recovery/WrappedApplicationKey;
+Landroid/security/keystore/recovery/X509CertificateParsingUtils;
Landroid/security/net/config/ApplicationConfig;
Landroid/security/net/config/CertificateSource;
Landroid/security/net/config/CertificatesEntryRef;
@@ -35668,6 +20221,7 @@ Landroid/security/net/config/DirectoryCertificateSource$1;
Landroid/security/net/config/DirectoryCertificateSource$3;
Landroid/security/net/config/DirectoryCertificateSource$CertSelector;
Landroid/security/net/config/DirectoryCertificateSource;
+Landroid/security/net/config/Domain;
Landroid/security/net/config/KeyStoreCertificateSource;
Landroid/security/net/config/KeyStoreConfigSource;
Landroid/security/net/config/ManifestConfigSource$DefaultConfigSource;
@@ -35679,33 +20233,102 @@ Landroid/security/net/config/NetworkSecurityConfigProvider;
Landroid/security/net/config/NetworkSecurityTrustManager;
Landroid/security/net/config/Pin;
Landroid/security/net/config/PinSet;
+Landroid/security/net/config/ResourceCertificateSource;
Landroid/security/net/config/RootTrustManager;
Landroid/security/net/config/RootTrustManagerFactorySpi;
Landroid/security/net/config/SystemCertificateSource$NoPreloadHolder;
Landroid/security/net/config/SystemCertificateSource;
Landroid/security/net/config/TrustAnchor;
Landroid/security/net/config/TrustedCertificateStoreAdapter;
+Landroid/security/net/config/UserCertificateSource$NoPreloadHolder;
Landroid/security/net/config/UserCertificateSource;
+Landroid/security/net/config/WfaCertificateSource$NoPreloadHolder;
+Landroid/security/net/config/WfaCertificateSource;
Landroid/security/net/config/XmlConfigSource$ParserException;
Landroid/security/net/config/XmlConfigSource;
+Landroid/service/appprediction/IPredictionService$Stub$Proxy;
+Landroid/service/appprediction/IPredictionService$Stub;
+Landroid/service/appprediction/IPredictionService;
+Landroid/service/autofill/AutofillServiceInfo;
+Landroid/service/autofill/FieldClassificationUserData;
+Landroid/service/autofill/FillContext$1;
+Landroid/service/autofill/FillContext;
+Landroid/service/autofill/FillRequest$1;
+Landroid/service/autofill/FillRequest;
+Landroid/service/autofill/FillResponse$1;
+Landroid/service/autofill/FillResponse;
+Landroid/service/autofill/IAutoFillService$Stub$Proxy;
+Landroid/service/autofill/IAutoFillService$Stub;
+Landroid/service/autofill/IAutoFillService;
+Landroid/service/autofill/IFillCallback$Stub;
+Landroid/service/autofill/IFillCallback;
+Landroid/service/autofill/UserData$1;
+Landroid/service/autofill/UserData;
+Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;
+Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub;
+Landroid/service/autofill/augmented/IAugmentedAutofillService;
+Landroid/service/autofill/augmented/IFillCallback$Stub;
+Landroid/service/autofill/augmented/IFillCallback;
Landroid/service/carrier/CarrierIdentifier$1;
Landroid/service/carrier/CarrierIdentifier;
+Landroid/service/carrier/CarrierMessagingServiceWrapper$CarrierMessagingCallbackWrapper;
+Landroid/service/carrier/CarrierMessagingServiceWrapper;
Landroid/service/carrier/ICarrierService$Stub$Proxy;
Landroid/service/carrier/ICarrierService$Stub;
Landroid/service/carrier/ICarrierService;
+Landroid/service/contentcapture/ActivityEvent$1;
+Landroid/service/contentcapture/ActivityEvent;
+Landroid/service/contentcapture/ContentCaptureServiceInfo;
+Landroid/service/contentcapture/FlushMetrics$1;
+Landroid/service/contentcapture/FlushMetrics;
+Landroid/service/contentcapture/IContentCaptureService$Stub$Proxy;
+Landroid/service/contentcapture/IContentCaptureService$Stub;
+Landroid/service/contentcapture/IContentCaptureService;
+Landroid/service/contentcapture/IContentCaptureServiceCallback$Stub;
+Landroid/service/contentcapture/IContentCaptureServiceCallback;
+Landroid/service/contentcapture/SnapshotData$1;
Landroid/service/dreams/DreamManagerInternal;
Landroid/service/dreams/IDreamManager$Stub$Proxy;
Landroid/service/dreams/IDreamManager$Stub;
Landroid/service/dreams/IDreamManager;
+Landroid/service/dreams/IDreamService$Stub$Proxy;
+Landroid/service/dreams/IDreamService$Stub;
+Landroid/service/dreams/IDreamService;
Landroid/service/euicc/EuiccProfileInfo$1;
Landroid/service/euicc/EuiccProfileInfo;
Landroid/service/euicc/GetEuiccProfileInfoListResult$1;
Landroid/service/euicc/GetEuiccProfileInfoListResult;
+Landroid/service/euicc/IDeleteSubscriptionCallback$Stub;
+Landroid/service/euicc/IDeleteSubscriptionCallback;
+Landroid/service/euicc/IDownloadSubscriptionCallback$Stub;
+Landroid/service/euicc/IDownloadSubscriptionCallback;
+Landroid/service/euicc/IEraseSubscriptionsCallback$Stub;
+Landroid/service/euicc/IEraseSubscriptionsCallback;
Landroid/service/euicc/IEuiccService$Stub$Proxy;
Landroid/service/euicc/IEuiccService$Stub;
Landroid/service/euicc/IEuiccService;
+Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback$Stub;
+Landroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;
+Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback$Stub;
+Landroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;
+Landroid/service/euicc/IGetEidCallback$Stub;
+Landroid/service/euicc/IGetEidCallback;
+Landroid/service/euicc/IGetEuiccInfoCallback$Stub;
+Landroid/service/euicc/IGetEuiccInfoCallback;
Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;
Landroid/service/euicc/IGetEuiccProfileInfoListCallback;
+Landroid/service/euicc/IGetOtaStatusCallback$Stub;
+Landroid/service/euicc/IGetOtaStatusCallback;
+Landroid/service/euicc/IOtaStatusChangedCallback$Stub;
+Landroid/service/euicc/IOtaStatusChangedCallback;
+Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback$Stub;
+Landroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;
+Landroid/service/euicc/ISwitchToSubscriptionCallback$Stub;
+Landroid/service/euicc/ISwitchToSubscriptionCallback;
+Landroid/service/euicc/IUpdateSubscriptionNicknameCallback$Stub;
+Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;
+Landroid/service/gatekeeper/GateKeeperResponse$1;
+Landroid/service/gatekeeper/GateKeeperResponse;
Landroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;
Landroid/service/gatekeeper/IGateKeeperService$Stub;
Landroid/service/gatekeeper/IGateKeeperService;
@@ -35733,8 +20356,10 @@ Landroid/service/notification/Condition;
Landroid/service/notification/ConditionProviderService$H;
Landroid/service/notification/ConditionProviderService$Provider;
Landroid/service/notification/ConditionProviderService;
+Landroid/service/notification/IConditionProvider$Stub$Proxy;
Landroid/service/notification/IConditionProvider$Stub;
Landroid/service/notification/IConditionProvider;
+Landroid/service/notification/INotificationListener$Stub$Proxy;
Landroid/service/notification/INotificationListener$Stub;
Landroid/service/notification/INotificationListener;
Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;
@@ -35753,6 +20378,10 @@ Landroid/service/notification/NotificationRankingUpdate$1;
Landroid/service/notification/NotificationRankingUpdate;
Landroid/service/notification/NotificationStats$1;
Landroid/service/notification/NotificationStats;
+Landroid/service/notification/NotifyingApp$1;
+Landroid/service/notification/ScheduleCalendar;
+Landroid/service/notification/SnoozeCriterion$1;
+Landroid/service/notification/SnoozeCriterion;
Landroid/service/notification/StatusBarNotification$1;
Landroid/service/notification/StatusBarNotification;
Landroid/service/notification/ZenModeConfig$1;
@@ -35768,29 +20397,49 @@ Landroid/service/notification/ZenPolicy;
Landroid/service/oemlock/IOemLockService$Stub;
Landroid/service/oemlock/IOemLockService;
Landroid/service/oemlock/OemLockManager;
+Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;
Landroid/service/persistentdata/IPersistentDataBlockService$Stub;
Landroid/service/persistentdata/IPersistentDataBlockService;
Landroid/service/persistentdata/PersistentDataBlockManager;
+Landroid/service/textclassifier/-$$Lambda$TextClassifierService$Fzy8p7cXXCBABuhNkqvLY5FuWrA;
+Landroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;
+Landroid/service/textclassifier/ITextClassifierCallback$Stub;
+Landroid/service/textclassifier/ITextClassifierCallback;
Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;
Landroid/service/textclassifier/ITextClassifierService$Stub;
Landroid/service/textclassifier/ITextClassifierService;
Landroid/service/textclassifier/TextClassifierService;
+Landroid/service/trust/ITrustAgentService$Stub$Proxy;
+Landroid/service/trust/ITrustAgentService$Stub;
+Landroid/service/trust/ITrustAgentService;
+Landroid/service/trust/ITrustAgentServiceCallback$Stub;
+Landroid/service/trust/ITrustAgentServiceCallback;
+Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;
Landroid/service/voice/IVoiceInteractionService$Stub;
Landroid/service/voice/IVoiceInteractionService;
+Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;
+Landroid/service/voice/IVoiceInteractionSession$Stub;
Landroid/service/voice/IVoiceInteractionSession;
+Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;
Landroid/service/voice/IVoiceInteractionSessionService$Stub;
Landroid/service/voice/IVoiceInteractionSessionService;
Landroid/service/voice/VoiceInteractionManagerInternal;
+Landroid/service/voice/VoiceInteractionServiceInfo;
+Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;
Landroid/service/vr/IPersistentVrStateCallbacks$Stub;
Landroid/service/vr/IPersistentVrStateCallbacks;
+Landroid/service/vr/IVrManager$Stub$Proxy;
Landroid/service/vr/IVrManager$Stub;
Landroid/service/vr/IVrManager;
+Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;
Landroid/service/vr/IVrStateCallbacks$Stub;
Landroid/service/vr/IVrStateCallbacks;
Landroid/service/wallpaper/IWallpaperConnection$Stub;
Landroid/service/wallpaper/IWallpaperConnection;
+Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;
Landroid/service/wallpaper/IWallpaperEngine$Stub;
Landroid/service/wallpaper/IWallpaperEngine;
+Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;
Landroid/service/wallpaper/IWallpaperService$Stub;
Landroid/service/wallpaper/IWallpaperService;
Landroid/speech/tts/ITextToSpeechCallback$Stub;
@@ -35803,11 +20452,28 @@ Landroid/speech/tts/TextToSpeech$Connection;
Landroid/speech/tts/TextToSpeech$OnInitListener;
Landroid/speech/tts/TextToSpeech;
Landroid/speech/tts/TtsEngines;
+Landroid/stats/devicepolicy/nano/StringList;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$0Zy6hglFVc-K9jiJWmuHmilIMkY;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$2V_2ZQoGHfOIfKo_A8Ss547oL-c;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$BfPaTA0e9gauJmR4vGNCDkGZ3uc;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$EV4LSOwY7Dsh1rJalZDLmnGJw5I;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$H4jN0VIBNpZQBeWYt6qS3DCe_M8;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$VtSZ_Uto4bMa49ncgAfdWewMFOU;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$dc-CgjsF3BtDxLSSKL5bQ9ullG0;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$fdR0mRnJd3OymvjDc_MI1AHnMwc;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$iJa3afMQmWbO1DX4jS9zkcOKZlY;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$kCQNtMqtfi6MMlFLqtIufNXwOS8;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$kemQbl44ndTqXdQVvnYppJuQboQ;
+Landroid/sysprop/-$$Lambda$TelephonyProperties$rKoNB08X7R8OCPq-VDCWDOm3lDM;
Landroid/sysprop/AdbProperties;
Landroid/sysprop/CryptoProperties$state_values;
Landroid/sysprop/CryptoProperties$type_values;
Landroid/sysprop/CryptoProperties;
Landroid/sysprop/DisplayProperties;
+Landroid/sysprop/ProductProperties;
+Landroid/sysprop/TelephonyProperties;
Landroid/sysprop/VoldProperties;
Landroid/system/ErrnoException;
Landroid/system/GaiException;
@@ -35820,7 +20486,6 @@ Landroid/system/PacketSocketAddress;
Landroid/system/StructAddrinfo;
Landroid/system/StructCapUserData;
Landroid/system/StructCapUserHeader;
-Landroid/system/StructFlock;
Landroid/system/StructGroupReq;
Landroid/system/StructIfaddrs;
Landroid/system/StructLinger;
@@ -35834,31 +20499,108 @@ Landroid/system/StructTimeval;
Landroid/system/StructUcred;
Landroid/system/StructUtsname;
Landroid/system/UnixSocketAddress;
+Landroid/system/suspend/WakeLockInfo$1;
+Landroid/system/suspend/WakeLockInfo;
+Landroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;
+Landroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;
+Landroid/telecom/AudioState$1;
+Landroid/telecom/AudioState;
Landroid/telecom/CallAudioState$1;
Landroid/telecom/CallAudioState;
+Landroid/telecom/Conference$Listener;
+Landroid/telecom/Conference;
+Landroid/telecom/Conferenceable;
+Landroid/telecom/Connection$FailureSignalingConnection;
+Landroid/telecom/Connection$Listener;
+Landroid/telecom/Connection$VideoProvider;
+Landroid/telecom/Connection;
+Landroid/telecom/ConnectionRequest$1;
+Landroid/telecom/ConnectionRequest$Builder;
+Landroid/telecom/ConnectionRequest;
+Landroid/telecom/ConnectionService$1;
+Landroid/telecom/ConnectionService$2;
+Landroid/telecom/ConnectionService$3;
+Landroid/telecom/ConnectionService$4;
+Landroid/telecom/ConnectionService$5;
Landroid/telecom/ConnectionService;
+Landroid/telecom/ConnectionServiceAdapter;
Landroid/telecom/DefaultDialerManager;
Landroid/telecom/DisconnectCause$1;
+Landroid/telecom/DisconnectCause;
Landroid/telecom/Log;
+Landroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;
+Landroid/telecom/Logging/-$$Lambda$SessionManager$VyH2gT1EjIvzDy_C9JfTT60CISM;
+Landroid/telecom/Logging/-$$Lambda$SessionManager$hhtZwTEbvO-fLNlAvB6Do9_2gW4;
+Landroid/telecom/Logging/EventManager$Event;
+Landroid/telecom/Logging/EventManager$EventListener;
+Landroid/telecom/Logging/EventManager$EventRecord;
+Landroid/telecom/Logging/EventManager$Loggable;
+Landroid/telecom/Logging/EventManager$TimedEventPair;
+Landroid/telecom/Logging/EventManager;
+Landroid/telecom/Logging/Runnable$1;
+Landroid/telecom/Logging/Runnable;
+Landroid/telecom/Logging/Session$Info$1;
+Landroid/telecom/Logging/Session$Info;
+Landroid/telecom/Logging/Session;
+Landroid/telecom/Logging/SessionManager$ICurrentThreadId;
+Landroid/telecom/Logging/SessionManager$ISessionCleanupTimeoutMs;
+Landroid/telecom/Logging/SessionManager$ISessionIdQueryHandler;
+Landroid/telecom/Logging/SessionManager$ISessionListener;
+Landroid/telecom/Logging/SessionManager;
+Landroid/telecom/ParcelableCall$1;
+Landroid/telecom/ParcelableCall;
+Landroid/telecom/ParcelableConference$1;
+Landroid/telecom/ParcelableConference;
+Landroid/telecom/ParcelableConnection$1;
+Landroid/telecom/ParcelableConnection;
Landroid/telecom/PhoneAccount$1;
Landroid/telecom/PhoneAccount$Builder;
Landroid/telecom/PhoneAccount;
Landroid/telecom/PhoneAccountHandle$1;
Landroid/telecom/PhoneAccountHandle;
+Landroid/telecom/RemoteConnectionManager;
+Landroid/telecom/StatusHints$1;
+Landroid/telecom/StatusHints;
+Landroid/telecom/TelecomAnalytics$SessionTiming$1;
+Landroid/telecom/TelecomAnalytics;
Landroid/telecom/TelecomManager;
Landroid/telecom/VideoProfile$1;
+Landroid/telecom/VideoProfile;
+Landroid/telephony/-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY;
+Landroid/telephony/-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4;
Landroid/telephony/-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$-CiOzgf6ys4EwlCYOVUsuz9YQ5c;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$0s34qsuHFsa43jUHrTkD62ni6Ds;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2VMO21pFQN-JN3kpn6vQN1zPFEU;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$4NHt5Shg_DHV-T1IxfcQLHP5-j0;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$6czWSGzxct0CXPVO54T0aq05qls;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$E9hw_LXFliykadzCB_mw8nukNGI;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$JalixlMNdjktPsNntP_JT9pymhs;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$MtX5gtAKHxLcUp_ibya6VO1zuoE;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$WYWtWHdkZDxBd9anjoxyZozPWHc;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$lHL69WZlO89JjNC1LLvFWp2OuKY;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$XyayAGWQZC2dNjwr697SfSGBBOc;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$YY3srkIkMm8vTSFJZHoiKzUUrGs;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$aysbwPqxcLV_5w6LP0TzZu2D-ew;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$bELzxgwsPigyVKYkAXBO2BjcSm8;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$dUc3j82sK9P9Zpaq-91n9bk_Rpc;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$jlNX9JiqGSNg9W49vDcKucKdeCI;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$nrGqSRBJrc3_EwotCDNwfKeizIo;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$oDAZqs8paeefe_3k_uRKV5plQW4;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$okPCYOx4UxYuvUHlM2iS425QGIg;
Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;
Landroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;
+Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$3Kis6wL1IbLustWe9A2o4-2YpGo;
+Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$MLDtRnX1dj1RKFdjgIsOvcQxhA0;
+Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$b_92_3ZijRrdEa9yLyFA5xu19OM;
+Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$mpe0Kh92VEQmEtmo60oqykdvnBE;
+Landroid/telephony/-$$Lambda$TelephonyFrameworkInitializer$sQClc4rjc9ydh0nXpY79gr33av4;
+Landroid/telephony/-$$Lambda$TelephonyRegistryManager$1$cLzLZB4oGnI-HG_-4MhxcXoHys8;
+Landroid/telephony/AccessNetworkConstants$AccessNetworkType;
Landroid/telephony/AccessNetworkConstants$TransportType;
Landroid/telephony/AccessNetworkConstants;
Landroid/telephony/AccessNetworkUtils;
@@ -35869,20 +20611,38 @@ Landroid/telephony/CallQuality$1;
Landroid/telephony/CallQuality;
Landroid/telephony/CarrierConfigManager$Gps;
Landroid/telephony/CarrierConfigManager;
+Landroid/telephony/CarrierRestrictionRules$1;
Landroid/telephony/CarrierRestrictionRules;
+Landroid/telephony/CellConfigLte$1;
+Landroid/telephony/CellConfigLte;
Landroid/telephony/CellIdentity$1;
Landroid/telephony/CellIdentity;
+Landroid/telephony/CellIdentityCdma$1;
+Landroid/telephony/CellIdentityCdma;
Landroid/telephony/CellIdentityGsm$1;
+Landroid/telephony/CellIdentityGsm;
Landroid/telephony/CellIdentityLte$1;
Landroid/telephony/CellIdentityLte;
+Landroid/telephony/CellIdentityNr$1;
+Landroid/telephony/CellIdentityNr;
+Landroid/telephony/CellIdentityTdscdma$1;
+Landroid/telephony/CellIdentityTdscdma;
Landroid/telephony/CellIdentityWcdma$1;
Landroid/telephony/CellIdentityWcdma;
Landroid/telephony/CellInfo$1;
Landroid/telephony/CellInfo;
+Landroid/telephony/CellInfoCdma$1;
+Landroid/telephony/CellInfoCdma;
Landroid/telephony/CellInfoGsm$1;
+Landroid/telephony/CellInfoGsm;
Landroid/telephony/CellInfoLte$1;
Landroid/telephony/CellInfoLte;
+Landroid/telephony/CellInfoNr$1;
+Landroid/telephony/CellInfoNr;
+Landroid/telephony/CellInfoTdscdma$1;
+Landroid/telephony/CellInfoTdscdma;
Landroid/telephony/CellInfoWcdma$1;
+Landroid/telephony/CellInfoWcdma;
Landroid/telephony/CellLocation;
Landroid/telephony/CellSignalStrength;
Landroid/telephony/CellSignalStrengthCdma$1;
@@ -35899,16 +20659,26 @@ Landroid/telephony/CellSignalStrengthWcdma$1;
Landroid/telephony/CellSignalStrengthWcdma;
Landroid/telephony/ClientRequestStats$1;
Landroid/telephony/ClientRequestStats;
+Landroid/telephony/DataConnectionRealTimeInfo$1;
+Landroid/telephony/DataConnectionRealTimeInfo;
+Landroid/telephony/DataFailCause$1;
Landroid/telephony/DataFailCause;
Landroid/telephony/DataSpecificRegistrationInfo$1;
Landroid/telephony/DataSpecificRegistrationInfo;
+Landroid/telephony/DisconnectCause;
+Landroid/telephony/ICellInfoCallback$Stub$Proxy;
+Landroid/telephony/ICellInfoCallback$Stub;
Landroid/telephony/ICellInfoCallback;
+Landroid/telephony/INetworkService$Stub$Proxy;
Landroid/telephony/INetworkService$Stub;
Landroid/telephony/INetworkService;
Landroid/telephony/INetworkServiceCallback$Stub;
Landroid/telephony/INetworkServiceCallback;
+Landroid/telephony/IccOpenLogicalChannelResponse$1;
Landroid/telephony/IccOpenLogicalChannelResponse;
+Landroid/telephony/ImsiEncryptionInfo$1;
Landroid/telephony/ImsiEncryptionInfo;
+Landroid/telephony/JapanesePhoneNumberFormatter;
Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;
Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
@@ -35916,25 +20686,32 @@ Landroid/telephony/LocationAccessPolicy;
Landroid/telephony/LteVopsSupportInfo$1;
Landroid/telephony/LteVopsSupportInfo;
Landroid/telephony/ModemActivityInfo$1;
+Landroid/telephony/ModemActivityInfo$TransmitPower;
Landroid/telephony/ModemActivityInfo;
Landroid/telephony/ModemInfo$1;
Landroid/telephony/ModemInfo;
+Landroid/telephony/NeighboringCellInfo$1;
+Landroid/telephony/NeighboringCellInfo;
Landroid/telephony/NetworkRegistrationInfo$1;
Landroid/telephony/NetworkRegistrationInfo$Builder;
Landroid/telephony/NetworkRegistrationInfo;
+Landroid/telephony/NetworkScanRequest$1;
Landroid/telephony/NetworkScanRequest;
Landroid/telephony/NetworkService$INetworkServiceWrapper;
Landroid/telephony/NetworkService$NetworkServiceHandler;
Landroid/telephony/NetworkService$NetworkServiceProvider;
Landroid/telephony/NetworkService;
Landroid/telephony/NetworkServiceCallback;
+Landroid/telephony/PackageChangeReceiver;
Landroid/telephony/PhoneCapability$1;
Landroid/telephony/PhoneCapability;
+Landroid/telephony/PhoneNumberRange$1;
Landroid/telephony/PhoneNumberRange;
Landroid/telephony/PhoneNumberUtils;
Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;
Landroid/telephony/PhoneStateListener;
Landroid/telephony/PhysicalChannelConfig$1;
+Landroid/telephony/PhysicalChannelConfig$Builder;
Landroid/telephony/PhysicalChannelConfig;
Landroid/telephony/PreciseCallState$1;
Landroid/telephony/PreciseCallState;
@@ -35948,27 +20725,37 @@ Landroid/telephony/ServiceState;
Landroid/telephony/SignalStrength$1;
Landroid/telephony/SignalStrength;
Landroid/telephony/SmsManager;
+Landroid/telephony/SmsMessage;
Landroid/telephony/SubscriptionInfo$1;
Landroid/telephony/SubscriptionInfo;
-Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$1;
+Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;
Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;
Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;
Landroid/telephony/SubscriptionManager;
+Landroid/telephony/SubscriptionPlan$1;
+Landroid/telephony/SubscriptionPlan;
+Landroid/telephony/TelephonyFrameworkInitializer;
Landroid/telephony/TelephonyHistogram$1;
Landroid/telephony/TelephonyHistogram;
Landroid/telephony/TelephonyManager$5;
Landroid/telephony/TelephonyManager$7;
Landroid/telephony/TelephonyManager$MultiSimVariants;
Landroid/telephony/TelephonyManager;
+Landroid/telephony/TelephonyRegistryManager$1;
+Landroid/telephony/TelephonyRegistryManager;
+Landroid/telephony/TelephonyScanManager$NetworkScanCallback;
Landroid/telephony/UiccAccessRule$1;
Landroid/telephony/UiccAccessRule;
Landroid/telephony/UiccCardInfo$1;
Landroid/telephony/UiccCardInfo;
Landroid/telephony/UiccSlotInfo$1;
Landroid/telephony/UiccSlotInfo;
+Landroid/telephony/VisualVoicemailSmsFilterSettings$1;
+Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
Landroid/telephony/VisualVoicemailSmsFilterSettings;
Landroid/telephony/VoiceSpecificRegistrationInfo$1;
Landroid/telephony/VoiceSpecificRegistrationInfo;
+Landroid/telephony/cdma/CdmaCellLocation;
Landroid/telephony/data/ApnSetting$1;
Landroid/telephony/data/ApnSetting$Builder;
Landroid/telephony/data/ApnSetting;
@@ -35977,14 +20764,17 @@ Landroid/telephony/data/DataCallResponse;
Landroid/telephony/data/DataProfile$1;
Landroid/telephony/data/DataProfile$Builder;
Landroid/telephony/data/DataProfile;
+Landroid/telephony/data/DataService$DataCallListChangedIndication;
Landroid/telephony/data/DataService$DataServiceHandler;
Landroid/telephony/data/DataService$DataServiceProvider;
+Landroid/telephony/data/DataService$DeactivateDataCallRequest;
Landroid/telephony/data/DataService$IDataServiceWrapper;
Landroid/telephony/data/DataService$SetDataProfileRequest;
Landroid/telephony/data/DataService$SetInitialAttachApnRequest;
Landroid/telephony/data/DataService$SetupDataCallRequest;
Landroid/telephony/data/DataService;
Landroid/telephony/data/DataServiceCallback;
+Landroid/telephony/data/IDataService$Stub$Proxy;
Landroid/telephony/data/IDataService$Stub;
Landroid/telephony/data/IDataService;
Landroid/telephony/data/IDataServiceCallback$Stub;
@@ -35996,16 +20786,17 @@ Landroid/telephony/euicc/EuiccManager;
Landroid/telephony/gsm/GsmCellLocation;
Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08;
Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$gK2iK9ZQ3GDeuMTfhRd7yjiYlO8;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$F58PRHsH__07pmyvC0NTRprfEPU;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$q0Uz23ATIYan5EBJYUigIVvwE3g;
Landroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM;
Landroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$rMBayJlNIko46WAqcRq_ggxbfrY;
+Landroid/telephony/ims/ImsCallForwardInfo$1;
+Landroid/telephony/ims/ImsCallForwardInfo;
+Landroid/telephony/ims/ImsCallProfile$1;
Landroid/telephony/ims/ImsCallProfile;
Landroid/telephony/ims/ImsException;
+Landroid/telephony/ims/ImsExternalCallState$1;
+Landroid/telephony/ims/ImsExternalCallState;
Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;
Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;
-Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder$1;
-Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;
Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback;
Landroid/telephony/ims/ImsMmTelManager;
Landroid/telephony/ims/ImsReasonInfo$1;
@@ -36013,37 +20804,53 @@ Landroid/telephony/ims/ImsReasonInfo;
Landroid/telephony/ims/ImsService$1;
Landroid/telephony/ims/ImsService$Listener;
Landroid/telephony/ims/ImsService;
+Landroid/telephony/ims/ImsSsInfo$1;
+Landroid/telephony/ims/ImsSsInfo;
Landroid/telephony/ims/ImsUtListener;
Landroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;
Landroid/telephony/ims/ProvisioningManager$Callback;
-Landroid/telephony/ims/RcsManager;
-Landroid/telephony/ims/RcsMessageStore;
+Landroid/telephony/ims/RegistrationManager$1;
+Landroid/telephony/ims/RegistrationManager$RegistrationCallback$RegistrationBinder;
+Landroid/telephony/ims/RegistrationManager$RegistrationCallback;
+Landroid/telephony/ims/RegistrationManager;
+Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;
Landroid/telephony/ims/aidl/IImsCapabilityCallback;
+Landroid/telephony/ims/aidl/IImsConfig$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsConfig$Stub;
Landroid/telephony/ims/aidl/IImsConfig;
+Landroid/telephony/ims/aidl/IImsConfigCallback$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsConfigCallback$Stub;
Landroid/telephony/ims/aidl/IImsConfigCallback;
+Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub;
Landroid/telephony/ims/aidl/IImsMmTelFeature;
+Landroid/telephony/ims/aidl/IImsMmTelListener$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsMmTelListener$Stub;
Landroid/telephony/ims/aidl/IImsMmTelListener;
Landroid/telephony/ims/aidl/IImsRcsFeature;
Landroid/telephony/ims/aidl/IImsRegistration$Stub;
Landroid/telephony/ims/aidl/IImsRegistration;
+Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;
Landroid/telephony/ims/aidl/IImsRegistrationCallback;
+Landroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsServiceController$Stub;
Landroid/telephony/ims/aidl/IImsServiceController;
Landroid/telephony/ims/aidl/IImsServiceControllerListener$Stub;
Landroid/telephony/ims/aidl/IImsServiceControllerListener;
+Landroid/telephony/ims/aidl/IImsSmsListener$Stub$Proxy;
Landroid/telephony/ims/aidl/IImsSmsListener$Stub;
Landroid/telephony/ims/aidl/IImsSmsListener;
-Landroid/telephony/ims/aidl/IRcs$Stub;
-Landroid/telephony/ims/aidl/IRcs;
+Landroid/telephony/ims/aidl/IRcsMessage$Stub;
+Landroid/telephony/ims/aidl/IRcsMessage;
+Landroid/telephony/ims/feature/-$$Lambda$ImsFeature$9bLETU1BeS-dFzQnbBBs3kwaz-8;
+Landroid/telephony/ims/feature/-$$Lambda$ImsFeature$rPSMsRhoup9jfT6nt1MV2qhomrM;
Landroid/telephony/ims/feature/CapabilityChangeRequest$1;
Landroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;
Landroid/telephony/ims/feature/CapabilityChangeRequest;
+Landroid/telephony/ims/feature/ImsFeature$1;
+Landroid/telephony/ims/feature/ImsFeature$2;
Landroid/telephony/ims/feature/ImsFeature$Capabilities;
Landroid/telephony/ims/feature/ImsFeature$CapabilityCallbackProxy;
Landroid/telephony/ims/feature/ImsFeature;
@@ -36052,11 +20859,15 @@ Landroid/telephony/ims/feature/MmTelFeature$Listener;
Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;
Landroid/telephony/ims/feature/MmTelFeature;
Landroid/telephony/ims/stub/-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA;
+Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE;
Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI;
+Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0;
+Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s;
Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;
Landroid/telephony/ims/stub/ImsConfigImplBase;
Landroid/telephony/ims/stub/ImsEcbmImplBase$1;
Landroid/telephony/ims/stub/ImsEcbmImplBase;
+Landroid/telephony/ims/stub/ImsFeatureConfiguration$1;
Landroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;
Landroid/telephony/ims/stub/ImsFeatureConfiguration;
Landroid/telephony/ims/stub/ImsMultiEndpointImplBase$1;
@@ -36078,6 +20889,7 @@ Landroid/text/BidiFormatter$DirectionalityEstimator;
Landroid/text/BidiFormatter;
Landroid/text/BoringLayout$Metrics;
Landroid/text/BoringLayout;
+Landroid/text/CharSequenceCharacterIterator;
Landroid/text/ClipboardManager;
Landroid/text/DynamicLayout$Builder;
Landroid/text/DynamicLayout$ChangeWatcher;
@@ -36094,7 +20906,19 @@ Landroid/text/GraphicsOperations;
Landroid/text/Html$HtmlParser;
Landroid/text/Html$TagHandler;
Landroid/text/Html;
+Landroid/text/HtmlToSpannedConverter$Big;
+Landroid/text/HtmlToSpannedConverter$Blockquote;
+Landroid/text/HtmlToSpannedConverter$Bold;
+Landroid/text/HtmlToSpannedConverter$Bullet;
+Landroid/text/HtmlToSpannedConverter$Heading;
Landroid/text/HtmlToSpannedConverter$Href;
+Landroid/text/HtmlToSpannedConverter$Italic;
+Landroid/text/HtmlToSpannedConverter$Monospace;
+Landroid/text/HtmlToSpannedConverter$Small;
+Landroid/text/HtmlToSpannedConverter$Strikethrough;
+Landroid/text/HtmlToSpannedConverter$Sub;
+Landroid/text/HtmlToSpannedConverter$Super;
+Landroid/text/HtmlToSpannedConverter$Underline;
Landroid/text/HtmlToSpannedConverter;
Landroid/text/Hyphenator;
Landroid/text/InputFilter$LengthFilter;
@@ -36104,7 +20928,9 @@ Landroid/text/Layout$1;
Landroid/text/Layout$Alignment;
Landroid/text/Layout$Directions;
Landroid/text/Layout$Ellipsizer;
+Landroid/text/Layout$HorizontalMeasurementProvider;
Landroid/text/Layout$SpannedEllipsizer;
+Landroid/text/Layout$TabStops;
Landroid/text/Layout;
Landroid/text/MeasuredParagraph;
Landroid/text/NoCopySpan$Concrete;
@@ -36113,6 +20939,7 @@ Landroid/text/PackedIntVector;
Landroid/text/PackedObjectVector;
Landroid/text/ParcelableSpan;
Landroid/text/PrecomputedText$ParagraphInfo;
+Landroid/text/PrecomputedText$Params$Builder;
Landroid/text/PrecomputedText$Params;
Landroid/text/PrecomputedText;
Landroid/text/Selection$END;
@@ -36154,6 +20981,7 @@ Landroid/text/TextUtils;
Landroid/text/TextWatcher;
Landroid/text/format/DateFormat;
Landroid/text/format/DateUtils;
+Landroid/text/format/Formatter$BytesResult;
Landroid/text/format/Formatter;
Landroid/text/format/Time$TimeCalculator;
Landroid/text/format/Time;
@@ -36162,6 +20990,10 @@ Landroid/text/method/AllCapsTransformationMethod;
Landroid/text/method/ArrowKeyMovementMethod;
Landroid/text/method/BaseKeyListener;
Landroid/text/method/BaseMovementMethod;
+Landroid/text/method/DateKeyListener;
+Landroid/text/method/DateTimeKeyListener;
+Landroid/text/method/DialerKeyListener;
+Landroid/text/method/DigitsKeyListener;
Landroid/text/method/KeyListener;
Landroid/text/method/LinkMovementMethod;
Landroid/text/method/MetaKeyKeyListener;
@@ -36177,44 +21009,71 @@ Landroid/text/method/SingleLineTransformationMethod;
Landroid/text/method/TextKeyListener$Capitalize;
Landroid/text/method/TextKeyListener$SettingsObserver;
Landroid/text/method/TextKeyListener;
+Landroid/text/method/TimeKeyListener;
Landroid/text/method/Touch;
Landroid/text/method/TransformationMethod2;
Landroid/text/method/TransformationMethod;
Landroid/text/method/WordIterator;
Landroid/text/style/AbsoluteSizeSpan;
+Landroid/text/style/AccessibilityClickableSpan$1;
+Landroid/text/style/AccessibilityClickableSpan;
+Landroid/text/style/AccessibilityReplacementSpan;
+Landroid/text/style/AccessibilityURLSpan;
+Landroid/text/style/AlignmentSpan$Standard;
Landroid/text/style/AlignmentSpan;
Landroid/text/style/BackgroundColorSpan;
+Landroid/text/style/BulletSpan;
Landroid/text/style/CharacterStyle;
Landroid/text/style/ClickableSpan;
Landroid/text/style/DynamicDrawableSpan;
Landroid/text/style/EasyEditSpan;
Landroid/text/style/ForegroundColorSpan;
Landroid/text/style/ImageSpan;
+Landroid/text/style/LeadingMarginSpan$LeadingMarginSpan2;
+Landroid/text/style/LeadingMarginSpan$Standard;
Landroid/text/style/LeadingMarginSpan;
+Landroid/text/style/LineBackgroundSpan$Standard;
Landroid/text/style/LineBackgroundSpan;
+Landroid/text/style/LineHeightSpan$Standard;
+Landroid/text/style/LineHeightSpan$WithDensity;
Landroid/text/style/LineHeightSpan;
+Landroid/text/style/LocaleSpan;
Landroid/text/style/MetricAffectingSpan;
Landroid/text/style/ParagraphStyle;
+Landroid/text/style/QuoteSpan;
Landroid/text/style/RelativeSizeSpan;
Landroid/text/style/ReplacementSpan;
+Landroid/text/style/ScaleXSpan;
Landroid/text/style/SpellCheckSpan;
+Landroid/text/style/StrikethroughSpan;
Landroid/text/style/StyleSpan;
+Landroid/text/style/SubscriptSpan;
+Landroid/text/style/SuggestionRangeSpan;
Landroid/text/style/SuggestionSpan$1;
Landroid/text/style/SuggestionSpan;
+Landroid/text/style/SuperscriptSpan;
Landroid/text/style/TabStopSpan;
Landroid/text/style/TextAppearanceSpan;
+Landroid/text/style/TtsSpan$Builder;
+Landroid/text/style/TtsSpan$SemioticClassBuilder;
+Landroid/text/style/TtsSpan$TelephoneBuilder;
+Landroid/text/style/TtsSpan;
+Landroid/text/style/TypefaceSpan;
Landroid/text/style/URLSpan;
Landroid/text/style/UnderlineSpan;
Landroid/text/style/UpdateAppearance;
Landroid/text/style/UpdateLayout;
Landroid/text/style/WrapTogetherSpan;
+Landroid/text/util/-$$Lambda$Linkify$7J_-cMhIF2bcttjkxA2jDFP8sKw;
Landroid/text/util/Linkify$1;
Landroid/text/util/Linkify$2;
Landroid/text/util/Linkify$3;
Landroid/text/util/Linkify$MatchFilter;
Landroid/text/util/Linkify$TransformFilter;
+Landroid/text/util/Linkify;
Landroid/text/util/Rfc822Token;
Landroid/text/util/Rfc822Tokenizer;
+Landroid/transition/ArcMotion;
Landroid/transition/AutoTransition;
Landroid/transition/ChangeBounds$1;
Landroid/transition/ChangeBounds$2;
@@ -36227,18 +21086,34 @@ Landroid/transition/ChangeClipBounds;
Landroid/transition/ChangeImageTransform$1;
Landroid/transition/ChangeImageTransform$2;
Landroid/transition/ChangeImageTransform;
+Landroid/transition/ChangeScroll;
Landroid/transition/ChangeTransform$1;
Landroid/transition/ChangeTransform$2;
Landroid/transition/ChangeTransform;
+Landroid/transition/CircularPropagation;
+Landroid/transition/Explode;
Landroid/transition/Fade$1;
Landroid/transition/Fade$FadeAnimatorListener;
Landroid/transition/Fade;
Landroid/transition/PathMotion;
+Landroid/transition/PatternPathMotion;
+Landroid/transition/Recolor;
Landroid/transition/Scene;
+Landroid/transition/Slide$1;
+Landroid/transition/Slide$2;
+Landroid/transition/Slide$3;
+Landroid/transition/Slide$4;
+Landroid/transition/Slide$5;
+Landroid/transition/Slide$6;
+Landroid/transition/Slide$CalculateSlide;
+Landroid/transition/Slide$CalculateSlideHorizontal;
+Landroid/transition/Slide$CalculateSlideVertical;
+Landroid/transition/Slide;
Landroid/transition/Transition$1;
Landroid/transition/Transition$2;
Landroid/transition/Transition$3;
Landroid/transition/Transition$AnimationInfo;
+Landroid/transition/Transition$EpicenterCallback;
Landroid/transition/Transition$TransitionListener;
Landroid/transition/Transition;
Landroid/transition/TransitionInflater;
@@ -36246,12 +21121,14 @@ Landroid/transition/TransitionListenerAdapter;
Landroid/transition/TransitionManager$MultiListener$1;
Landroid/transition/TransitionManager$MultiListener;
Landroid/transition/TransitionManager;
+Landroid/transition/TransitionPropagation;
Landroid/transition/TransitionSet$TransitionSetListener;
Landroid/transition/TransitionSet;
Landroid/transition/TransitionUtils;
Landroid/transition/TransitionValues;
Landroid/transition/TransitionValuesMaps;
Landroid/transition/Visibility;
+Landroid/transition/VisibilityPropagation;
Landroid/util/AndroidException;
Landroid/util/AndroidRuntimeException;
Landroid/util/ArrayMap$1;
@@ -36260,11 +21137,11 @@ Landroid/util/ArraySet$1;
Landroid/util/ArraySet;
Landroid/util/AtomicFile;
Landroid/util/AttributeSet;
+Landroid/util/BackupUtils;
Landroid/util/Base64$Coder;
Landroid/util/Base64$Decoder;
Landroid/util/Base64$Encoder;
Landroid/util/Base64;
-Landroid/util/ByteStringUtils;
Landroid/util/ContainerHelpers;
Landroid/util/DataUnit$1;
Landroid/util/DataUnit$2;
@@ -36282,6 +21159,7 @@ Landroid/util/FastImmutableArraySet$FastIterator;
Landroid/util/FastImmutableArraySet;
Landroid/util/FeatureFlagUtils;
Landroid/util/FloatProperty;
+Landroid/util/Half;
Landroid/util/IconDrawableFactory;
Landroid/util/IntArray;
Landroid/util/IntProperty;
@@ -36289,9 +21167,13 @@ Landroid/util/JsonReader$1;
Landroid/util/JsonReader;
Landroid/util/JsonScope;
Landroid/util/JsonToken;
+Landroid/util/JsonWriter$1;
Landroid/util/JsonWriter;
Landroid/util/KeyValueListParser$IntValue;
Landroid/util/KeyValueListParser;
+Landroid/util/KeyValueSettingObserver$SettingObserver;
+Landroid/util/KeyValueSettingObserver;
+Landroid/util/LauncherIcons;
Landroid/util/LocalLog;
Landroid/util/Log$1;
Landroid/util/Log$ImmediateLogWriter;
@@ -36300,7 +21182,9 @@ Landroid/util/Log$TerribleFailure;
Landroid/util/Log$TerribleFailureHandler;
Landroid/util/Log;
Landroid/util/LogPrinter;
+Landroid/util/LogWriter;
Landroid/util/LongArray;
+Landroid/util/LongArrayQueue;
Landroid/util/LongSparseArray;
Landroid/util/LongSparseLongArray;
Landroid/util/LruCache;
@@ -36332,6 +21216,10 @@ Landroid/util/Printer;
Landroid/util/Property;
Landroid/util/Range;
Landroid/util/Rational;
+Landroid/util/RecurrenceRule$1;
+Landroid/util/RecurrenceRule$NonrecurringIterator;
+Landroid/util/RecurrenceRule$RecurringIterator;
+Landroid/util/RecurrenceRule;
Landroid/util/Singleton;
Landroid/util/Size;
Landroid/util/SizeF;
@@ -36341,36 +21229,46 @@ Landroid/util/SparseBooleanArray;
Landroid/util/SparseIntArray;
Landroid/util/SparseLongArray;
Landroid/util/SparseSetArray;
+Landroid/util/Spline$LinearSpline;
Landroid/util/Spline$MonotoneCubicSpline;
Landroid/util/Spline;
Landroid/util/StateSet;
Landroid/util/StatsLog;
Landroid/util/StatsLogInternal;
+Landroid/util/StringBuilderPrinter;
Landroid/util/SuperNotCalledException;
Landroid/util/TimeUtils;
Landroid/util/TimedRemoteCaller;
+Landroid/util/TimestampedValue$1;
Landroid/util/TimestampedValue;
Landroid/util/TimingLogger;
Landroid/util/TimingsTraceLog;
Landroid/util/TrustedTime;
Landroid/util/TypedValue;
+Landroid/util/UtilConfig;
+Landroid/util/Xml$Encoding;
Landroid/util/Xml;
Landroid/util/XmlPullAttributes;
Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
Landroid/util/apk/ApkSignatureSchemeV2Verifier;
Landroid/util/apk/ApkSignatureSchemeV3Verifier$PlatformNotSupportedException;
+Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation;
Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
Landroid/util/apk/ApkSignatureSchemeV3Verifier;
Landroid/util/apk/ApkSignatureVerifier;
+Landroid/util/apk/ApkSigningBlockUtils$1;
Landroid/util/apk/ApkSigningBlockUtils$MultipleDigestDataDigester;
Landroid/util/apk/ApkSigningBlockUtils;
Landroid/util/apk/ByteBufferDataSource;
+Landroid/util/apk/ByteBufferFactory;
Landroid/util/apk/DataDigester;
Landroid/util/apk/DataSource;
Landroid/util/apk/MemoryMappedFileDataSource;
Landroid/util/apk/SignatureInfo;
Landroid/util/apk/SignatureNotFoundException;
Landroid/util/apk/VerbatimX509Certificate;
+Landroid/util/apk/VerityBuilder$BufferedDigester;
+Landroid/util/apk/VerityBuilder$VerityResult;
Landroid/util/apk/VerityBuilder;
Landroid/util/apk/WrappedX509Certificate;
Landroid/util/apk/ZipUtils;
@@ -36384,11 +21282,13 @@ Landroid/util/jar/StrictJarManifest;
Landroid/util/jar/StrictJarManifestReader;
Landroid/util/jar/StrictJarVerifier$VerifierEntry;
Landroid/util/jar/StrictJarVerifier;
+Landroid/util/proto/EncodedBuffer;
Landroid/util/proto/ProtoInputStream;
Landroid/util/proto/ProtoOutputStream;
Landroid/util/proto/ProtoParseException;
Landroid/util/proto/ProtoStream;
Landroid/util/proto/WireTypeMismatchException;
+Landroid/view/-$$Lambda$1kvF4JuyM42-wmyDVPAIYdPz1jE;
Landroid/view/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;
Landroid/view/-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU;
Landroid/view/-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8;
@@ -36396,12 +21296,21 @@ Landroid/view/-$$Lambda$FocusFinder$P8rLvOJhymJH5ALAgUjGaM5gxKA;
Landroid/view/-$$Lambda$FocusFinder$Pgx6IETuqCkrhJYdiBes48tolG4;
Landroid/view/-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8;
Landroid/view/-$$Lambda$InsetsController$HI9QZ2HvGm6iykc-WONz2KPG61Q;
+Landroid/view/-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g;
Landroid/view/-$$Lambda$QI1s392qW8l6mC24bcy9050SkuY;
-Landroid/view/-$$Lambda$SurfaceView$Cs7TGTdA1lXf9qW8VOJAfEsMjdk;
Landroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;
+Landroid/view/-$$Lambda$SurfaceView$w68OV7dB_zKVNsA-r0IrAUtyWas;
+Landroid/view/-$$Lambda$TextureView$WAq1rgfoZeDSt6cBQga7iQDymYk;
+Landroid/view/-$$Lambda$ThreadedRenderer$ydBD-R1iP5u-97XYakm-jKvC1b4;
Landroid/view/-$$Lambda$View$llq76MkPXP4bNcb9oJt_msw0fnQ;
-Landroid/view/-$$Lambda$ViewRootImpl$SOWCXD2hcuOyPEUFjoV8YFVJB34;
-Landroid/view/-$$Lambda$ViewRootImpl$x5nGsJmfMGl8jXdwWgDuOQZdxR8;
+Landroid/view/-$$Lambda$ViewRootImpl$IReiNMSbDakZSGbIZuL_ifaFWn8;
+Landroid/view/-$$Lambda$ViewRootImpl$YBiqAhbCbXVPSKdbE3K4rH2gpxI;
+Landroid/view/-$$Lambda$ViewRootImpl$dznxCZGM2R1fsBljsJKomLjBRoM;
+Landroid/view/-$$Lambda$ViewRootImpl$zlBUjCwDtoAWMNaHI62DIq-eKFY;
+Landroid/view/-$$Lambda$WindowManagerGlobal$2bR3FsEm4EdRwuXfttH0wA2xOW4;
+Landroid/view/-$$Lambda$WlJa6OPA72p3gYtA3nVKC7Z1tGY;
+Landroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;
+Landroid/view/-$$Lambda$dj1hfDQd0iEp_uBDBPEUMMYJJwk;
Landroid/view/AbsSavedState$1;
Landroid/view/AbsSavedState$2;
Landroid/view/AbsSavedState;
@@ -36412,6 +21321,8 @@ Landroid/view/ActionMode$Callback;
Landroid/view/ActionMode;
Landroid/view/ActionProvider$SubUiVisibilityListener;
Landroid/view/ActionProvider;
+Landroid/view/AppTransitionAnimationSpec$1;
+Landroid/view/AppTransitionAnimationSpec;
Landroid/view/Choreographer$1;
Landroid/view/Choreographer$2;
Landroid/view/Choreographer$3;
@@ -36442,6 +21353,8 @@ Landroid/view/DisplayEventReceiver;
Landroid/view/DisplayInfo$1;
Landroid/view/DisplayInfo;
Landroid/view/DisplayListCanvas;
+Landroid/view/DragEvent$1;
+Landroid/view/DragEvent;
Landroid/view/FallbackEventHandler;
Landroid/view/FocusFinder$1;
Landroid/view/FocusFinder$FocusSorter;
@@ -36457,28 +21370,67 @@ Landroid/view/GestureDetector$OnDoubleTapListener;
Landroid/view/GestureDetector$OnGestureListener;
Landroid/view/GestureDetector$SimpleOnGestureListener;
Landroid/view/GestureDetector;
+Landroid/view/GestureExclusionTracker$GestureExclusionViewInfo;
Landroid/view/GestureExclusionTracker;
+Landroid/view/GhostView;
Landroid/view/Gravity;
Landroid/view/HandlerActionQueue$HandlerAction;
Landroid/view/HandlerActionQueue;
+Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;
+Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;
+Landroid/view/IAppTransitionAnimationSpecsFuture;
+Landroid/view/IApplicationToken$Stub;
+Landroid/view/IApplicationToken;
+Landroid/view/IDisplayFoldListener$Stub$Proxy;
+Landroid/view/IDisplayFoldListener$Stub;
+Landroid/view/IDisplayFoldListener;
+Landroid/view/IDisplayWindowListener$Stub;
+Landroid/view/IDisplayWindowListener;
+Landroid/view/IDisplayWindowRotationController$Stub;
+Landroid/view/IDisplayWindowRotationController;
+Landroid/view/IDockedStackListener$Stub$Proxy;
Landroid/view/IDockedStackListener$Stub;
Landroid/view/IDockedStackListener;
Landroid/view/IGraphicsStats$Stub$Proxy;
Landroid/view/IGraphicsStats$Stub;
Landroid/view/IGraphicsStats;
+Landroid/view/IGraphicsStatsCallback$Stub$Proxy;
Landroid/view/IGraphicsStatsCallback$Stub;
Landroid/view/IGraphicsStatsCallback;
+Landroid/view/IOnKeyguardExitResult$Stub$Proxy;
+Landroid/view/IOnKeyguardExitResult$Stub;
+Landroid/view/IOnKeyguardExitResult;
+Landroid/view/IPinnedStackController$Stub$Proxy;
Landroid/view/IPinnedStackController$Stub;
Landroid/view/IPinnedStackController;
+Landroid/view/IPinnedStackListener$Stub$Proxy;
Landroid/view/IPinnedStackListener$Stub;
Landroid/view/IPinnedStackListener;
+Landroid/view/IRecentsAnimationController$Stub;
+Landroid/view/IRecentsAnimationController;
+Landroid/view/IRecentsAnimationRunner$Stub$Proxy;
+Landroid/view/IRecentsAnimationRunner$Stub;
+Landroid/view/IRecentsAnimationRunner;
+Landroid/view/IRemoteAnimationFinishedCallback$Stub;
+Landroid/view/IRemoteAnimationFinishedCallback;
+Landroid/view/IRemoteAnimationRunner$Stub$Proxy;
+Landroid/view/IRemoteAnimationRunner$Stub;
+Landroid/view/IRemoteAnimationRunner;
+Landroid/view/IRotationWatcher$Stub$Proxy;
Landroid/view/IRotationWatcher$Stub;
Landroid/view/IRotationWatcher;
+Landroid/view/ISystemGestureExclusionListener$Stub$Proxy;
+Landroid/view/ISystemGestureExclusionListener$Stub;
+Landroid/view/ISystemGestureExclusionListener;
Landroid/view/IWallpaperVisibilityListener$Stub$Proxy;
Landroid/view/IWallpaperVisibilityListener$Stub;
Landroid/view/IWallpaperVisibilityListener;
+Landroid/view/IWindow$Stub$Proxy;
Landroid/view/IWindow$Stub;
Landroid/view/IWindow;
+Landroid/view/IWindowContainer$Stub;
+Landroid/view/IWindowContainer;
+Landroid/view/IWindowId$Stub;
Landroid/view/IWindowId;
Landroid/view/IWindowManager$Stub$Proxy;
Landroid/view/IWindowManager$Stub;
@@ -36486,6 +21438,7 @@ Landroid/view/IWindowManager;
Landroid/view/IWindowSession$Stub$Proxy;
Landroid/view/IWindowSession$Stub;
Landroid/view/IWindowSession;
+Landroid/view/IWindowSessionCallback$Stub$Proxy;
Landroid/view/IWindowSessionCallback$Stub;
Landroid/view/IWindowSessionCallback;
Landroid/view/ImeInsetsSourceConsumer;
@@ -36502,29 +21455,37 @@ Landroid/view/InputEventCompatProcessor;
Landroid/view/InputEventConsistencyVerifier;
Landroid/view/InputEventReceiver;
Landroid/view/InputEventSender;
+Landroid/view/InputMonitor;
Landroid/view/InputQueue$Callback;
Landroid/view/InputQueue$FinishedInputEventCallback;
Landroid/view/InputQueue;
Landroid/view/InputWindowHandle;
Landroid/view/InsetsController;
+Landroid/view/InsetsFlags;
Landroid/view/InsetsSource$1;
Landroid/view/InsetsSource;
Landroid/view/InsetsSourceConsumer;
+Landroid/view/InsetsSourceControl$1;
+Landroid/view/InsetsSourceControl;
Landroid/view/InsetsState$1;
Landroid/view/InsetsState;
Landroid/view/KeyCharacterMap$1;
Landroid/view/KeyCharacterMap$FallbackAction;
+Landroid/view/KeyCharacterMap$UnavailableException;
Landroid/view/KeyCharacterMap;
Landroid/view/KeyEvent$1;
Landroid/view/KeyEvent$Callback;
Landroid/view/KeyEvent$DispatcherState;
Landroid/view/KeyEvent;
+Landroid/view/LayoutInflater$BlinkLayout$1;
+Landroid/view/LayoutInflater$BlinkLayout;
Landroid/view/LayoutInflater$Factory2;
Landroid/view/LayoutInflater$Factory;
Landroid/view/LayoutInflater$FactoryMerger;
Landroid/view/LayoutInflater$Filter;
Landroid/view/LayoutInflater;
Landroid/view/Menu;
+Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;
Landroid/view/MenuInflater$MenuState;
Landroid/view/MenuInflater;
Landroid/view/MenuItem$OnActionExpandListener;
@@ -36538,27 +21499,42 @@ Landroid/view/NativeVectorDrawableAnimator;
Landroid/view/OrientationEventListener$SensorEventListenerImpl;
Landroid/view/OrientationEventListener;
Landroid/view/PointerIcon$1;
+Landroid/view/PointerIcon$2;
Landroid/view/PointerIcon;
+Landroid/view/RemotableViewMethod;
+Landroid/view/RemoteAnimationAdapter$1;
Landroid/view/RemoteAnimationAdapter;
+Landroid/view/RemoteAnimationDefinition$1;
+Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;
+Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;
+Landroid/view/RemoteAnimationDefinition;
+Landroid/view/RemoteAnimationTarget$1;
+Landroid/view/RemoteAnimationTarget;
Landroid/view/RenderNodeAnimator$1;
+Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;
Landroid/view/RenderNodeAnimator;
Landroid/view/RenderNodeAnimatorSetHelper;
+Landroid/view/RoundScrollbarRenderer;
Landroid/view/ScaleGestureDetector$1;
Landroid/view/ScaleGestureDetector$OnScaleGestureListener;
Landroid/view/ScaleGestureDetector$SimpleOnScaleGestureListener;
Landroid/view/ScaleGestureDetector;
Landroid/view/SearchEvent;
+Landroid/view/SoundEffectConstants;
Landroid/view/SubMenu;
Landroid/view/Surface$1;
Landroid/view/Surface$CompatibleCanvas;
+Landroid/view/Surface$HwuiContext;
Landroid/view/Surface$OutOfResourcesException;
Landroid/view/Surface;
Landroid/view/SurfaceControl$1;
Landroid/view/SurfaceControl$Builder;
Landroid/view/SurfaceControl$CieXyz;
+Landroid/view/SurfaceControl$DesiredDisplayConfigSpecs;
Landroid/view/SurfaceControl$DisplayPrimaries;
Landroid/view/SurfaceControl$PhysicalDisplayInfo;
Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
+Landroid/view/SurfaceControl$Transaction$1;
Landroid/view/SurfaceControl$Transaction;
Landroid/view/SurfaceControl;
Landroid/view/SurfaceHolder$Callback2;
@@ -36567,11 +21543,8 @@ Landroid/view/SurfaceHolder;
Landroid/view/SurfaceSession;
Landroid/view/SurfaceView$1;
Landroid/view/SurfaceView$2;
-Landroid/view/SurfaceView$3;
-Landroid/view/SurfaceView$4;
Landroid/view/SurfaceView;
Landroid/view/TextureLayer;
-Landroid/view/TextureView$1;
Landroid/view/TextureView$SurfaceTextureListener;
Landroid/view/TextureView;
Landroid/view/ThreadedRenderer$DrawCallbacks;
@@ -36595,10 +21568,13 @@ Landroid/view/View$8;
Landroid/view/View$9;
Landroid/view/View$AccessibilityDelegate;
Landroid/view/View$AttachInfo$Callbacks;
+Landroid/view/View$AttachInfo$InvalidateInfo;
Landroid/view/View$AttachInfo;
Landroid/view/View$BaseSavedState$1;
Landroid/view/View$BaseSavedState;
+Landroid/view/View$CheckForLongPress;
Landroid/view/View$CheckForTap;
+Landroid/view/View$DeclaredOnClickListener;
Landroid/view/View$ForegroundInfo;
Landroid/view/View$ListenerInfo;
Landroid/view/View$MatchIdPredicate;
@@ -36614,6 +21590,7 @@ Landroid/view/View$OnHoverListener;
Landroid/view/View$OnKeyListener;
Landroid/view/View$OnLayoutChangeListener;
Landroid/view/View$OnLongClickListener;
+Landroid/view/View$OnScrollChangeListener;
Landroid/view/View$OnSystemUiVisibilityChangeListener;
Landroid/view/View$OnTouchListener;
Landroid/view/View$PerformClick;
@@ -36632,6 +21609,9 @@ Landroid/view/ViewDebug;
Landroid/view/ViewGroup$1;
Landroid/view/ViewGroup$2;
Landroid/view/ViewGroup$4;
+Landroid/view/ViewGroup$ChildListForAccessibility;
+Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;
+Landroid/view/ViewGroup$HoverTarget;
Landroid/view/ViewGroup$LayoutParams;
Landroid/view/ViewGroup$MarginLayoutParams;
Landroid/view/ViewGroup$OnHierarchyChangeListener;
@@ -36647,20 +21627,26 @@ Landroid/view/ViewOverlay$OverlayViewGroup;
Landroid/view/ViewOverlay;
Landroid/view/ViewParent;
Landroid/view/ViewPropertyAnimator$1;
+Landroid/view/ViewPropertyAnimator$2;
+Landroid/view/ViewPropertyAnimator$3;
Landroid/view/ViewPropertyAnimator$AnimatorEventListener;
Landroid/view/ViewPropertyAnimator$NameValuesHolder;
Landroid/view/ViewPropertyAnimator$PropertyBundle;
Landroid/view/ViewPropertyAnimator;
Landroid/view/ViewRootImpl$1;
+Landroid/view/ViewRootImpl$2;
+Landroid/view/ViewRootImpl$3;
Landroid/view/ViewRootImpl$4;
Landroid/view/ViewRootImpl$AccessibilityInteractionConnection;
Landroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;
Landroid/view/ViewRootImpl$ActivityConfigCallback;
Landroid/view/ViewRootImpl$AsyncInputStage;
+Landroid/view/ViewRootImpl$CalledFromWrongThreadException;
Landroid/view/ViewRootImpl$ConfigChangedCallback;
Landroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;
Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;
Landroid/view/ViewRootImpl$EarlyPostImeInputStage;
+Landroid/view/ViewRootImpl$GfxInfo;
Landroid/view/ViewRootImpl$HighContrastTextManager;
Landroid/view/ViewRootImpl$ImeInputStage;
Landroid/view/ViewRootImpl$InputStage;
@@ -36669,6 +21655,7 @@ Landroid/view/ViewRootImpl$NativePostImeInputStage;
Landroid/view/ViewRootImpl$NativePreImeInputStage;
Landroid/view/ViewRootImpl$QueuedInputEvent;
Landroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;
+Landroid/view/ViewRootImpl$SurfaceChangedCallback;
Landroid/view/ViewRootImpl$SyntheticInputStage;
Landroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;
Landroid/view/ViewRootImpl$SyntheticJoystickHandler;
@@ -36677,6 +21664,7 @@ Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler$1;
Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;
Landroid/view/ViewRootImpl$SyntheticTrackballHandler;
Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;
+Landroid/view/ViewRootImpl$TakenSurfaceHolder;
Landroid/view/ViewRootImpl$TrackballAxis;
Landroid/view/ViewRootImpl$TraversalRunnable;
Landroid/view/ViewRootImpl$UnhandledKeyManager;
@@ -36685,21 +21673,26 @@ Landroid/view/ViewRootImpl$ViewPreImeInputStage;
Landroid/view/ViewRootImpl$ViewRootHandler;
Landroid/view/ViewRootImpl$W;
Landroid/view/ViewRootImpl$WindowInputEventReceiver;
-Landroid/view/ViewRootImpl$WindowStoppedCallback;
Landroid/view/ViewRootImpl;
+Landroid/view/ViewStructure$HtmlInfo;
Landroid/view/ViewStructure;
Landroid/view/ViewStub$OnInflateListener;
+Landroid/view/ViewStub$ViewReplaceRunnable;
Landroid/view/ViewStub;
Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;
Landroid/view/ViewTreeObserver$CopyOnWriteArray;
Landroid/view/ViewTreeObserver$InternalInsetsInfo;
Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;
Landroid/view/ViewTreeObserver$OnDrawListener;
+Landroid/view/ViewTreeObserver$OnEnterAnimationCompleteListener;
Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;
Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;
Landroid/view/ViewTreeObserver$OnPreDrawListener;
Landroid/view/ViewTreeObserver$OnScrollChangedListener;
Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;
+Landroid/view/ViewTreeObserver$OnWindowAttachListener;
+Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;
+Landroid/view/ViewTreeObserver$OnWindowShownListener;
Landroid/view/ViewTreeObserver;
Landroid/view/Window$Callback;
Landroid/view/Window$OnFrameMetricsAvailableListener;
@@ -36710,14 +21703,17 @@ Landroid/view/Window;
Landroid/view/WindowAnimationFrameStats$1;
Landroid/view/WindowAnimationFrameStats;
Landroid/view/WindowCallbacks;
+Landroid/view/WindowContainerTransaction;
Landroid/view/WindowContentFrameStats$1;
Landroid/view/WindowContentFrameStats;
Landroid/view/WindowId$1;
+Landroid/view/WindowInsets$Builder;
Landroid/view/WindowInsets$Type;
Landroid/view/WindowInsets;
Landroid/view/WindowInsetsController;
Landroid/view/WindowLeaked;
Landroid/view/WindowManager$BadTokenException;
+Landroid/view/WindowManager$InvalidDisplayException;
Landroid/view/WindowManager$LayoutParams$1;
Landroid/view/WindowManager$LayoutParams;
Landroid/view/WindowManager;
@@ -36727,10 +21723,13 @@ Landroid/view/WindowManagerGlobal;
Landroid/view/WindowManagerImpl;
Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
Landroid/view/WindowManagerPolicyConstants;
+Landroid/view/accessibility/-$$Lambda$AccessibilityManager$1$o7fCplskH9NlBwJvkl6NoZ0L_BA;
+Landroid/view/accessibility/-$$Lambda$AccessibilityManager$yzw5NYY7_MfAQ9gLy3mVllchaXo;
Landroid/view/accessibility/AccessibilityEvent$1;
Landroid/view/accessibility/AccessibilityEvent;
Landroid/view/accessibility/AccessibilityEventSource;
Landroid/view/accessibility/AccessibilityManager$1;
+Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;
Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;
Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;
Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;
@@ -36739,6 +21738,7 @@ Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeList
Landroid/view/accessibility/AccessibilityManager;
Landroid/view/accessibility/AccessibilityNodeIdManager;
Landroid/view/accessibility/AccessibilityNodeInfo$1;
+Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction$1;
Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
Landroid/view/accessibility/AccessibilityNodeInfo;
Landroid/view/accessibility/AccessibilityNodeProvider;
@@ -36748,6 +21748,7 @@ Landroid/view/accessibility/CaptioningManager$CaptionStyle;
Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;
Landroid/view/accessibility/CaptioningManager$MyContentObserver;
Landroid/view/accessibility/CaptioningManager;
+Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;
Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub;
Landroid/view/accessibility/IAccessibilityInteractionConnection;
Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;
@@ -36756,8 +21757,11 @@ Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;
Landroid/view/accessibility/IAccessibilityManager$Stub;
Landroid/view/accessibility/IAccessibilityManager;
+Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;
Landroid/view/accessibility/IAccessibilityManagerClient$Stub;
Landroid/view/accessibility/IAccessibilityManagerClient;
+Landroid/view/accessibility/WeakSparseArray$WeakReferenceWithId;
+Landroid/view/accessibility/WeakSparseArray;
Landroid/view/animation/AccelerateDecelerateInterpolator;
Landroid/view/animation/AccelerateInterpolator;
Landroid/view/animation/AlphaAnimation;
@@ -36772,13 +21776,20 @@ Landroid/view/animation/AnimationSet;
Landroid/view/animation/AnimationUtils$1;
Landroid/view/animation/AnimationUtils$AnimationState;
Landroid/view/animation/AnimationUtils;
+Landroid/view/animation/AnticipateInterpolator;
+Landroid/view/animation/AnticipateOvershootInterpolator;
Landroid/view/animation/BaseInterpolator;
+Landroid/view/animation/BounceInterpolator;
+Landroid/view/animation/ClipRectAnimation;
+Landroid/view/animation/CycleInterpolator;
Landroid/view/animation/DecelerateInterpolator;
+Landroid/view/animation/GridLayoutAnimationController;
Landroid/view/animation/Interpolator;
Landroid/view/animation/LayoutAnimationController;
Landroid/view/animation/LinearInterpolator;
Landroid/view/animation/OvershootInterpolator;
Landroid/view/animation/PathInterpolator;
+Landroid/view/animation/RotateAnimation;
Landroid/view/animation/ScaleAnimation;
Landroid/view/animation/Transformation;
Landroid/view/animation/TranslateAnimation;
@@ -36789,34 +21800,60 @@ Landroid/view/autofill/AutofillId;
Landroid/view/autofill/AutofillManager$AutofillCallback;
Landroid/view/autofill/AutofillManager$AutofillClient;
Landroid/view/autofill/AutofillManager$AutofillManagerClient;
+Landroid/view/autofill/AutofillManager$TrackedViews;
Landroid/view/autofill/AutofillManager;
Landroid/view/autofill/AutofillManagerInternal;
+Landroid/view/autofill/AutofillPopupWindow;
Landroid/view/autofill/AutofillValue$1;
Landroid/view/autofill/AutofillValue;
Landroid/view/autofill/Helper;
Landroid/view/autofill/IAutoFillManager$Stub$Proxy;
Landroid/view/autofill/IAutoFillManager$Stub;
Landroid/view/autofill/IAutoFillManager;
+Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;
Landroid/view/autofill/IAutoFillManagerClient$Stub;
Landroid/view/autofill/IAutoFillManagerClient;
Landroid/view/autofill/IAutofillWindowPresenter;
+Landroid/view/autofill/ParcelableMap;
+Landroid/view/contentcapture/ContentCaptureCondition$1;
+Landroid/view/contentcapture/ContentCaptureCondition;
+Landroid/view/contentcapture/ContentCaptureContext$1;
+Landroid/view/contentcapture/ContentCaptureContext;
Landroid/view/contentcapture/ContentCaptureHelper;
Landroid/view/contentcapture/ContentCaptureManager$ContentCaptureClient;
Landroid/view/contentcapture/ContentCaptureManager;
+Landroid/view/contentcapture/ContentCaptureSession;
+Landroid/view/contentcapture/DataRemovalRequest$1;
+Landroid/view/contentcapture/DataRemovalRequest;
Landroid/view/contentcapture/IContentCaptureManager$Stub;
Landroid/view/contentcapture/IContentCaptureManager;
+Landroid/view/contentcapture/MainContentCaptureSession;
+Landroid/view/inputmethod/-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0;
+Landroid/view/inputmethod/-$$Lambda$InputMethodManager$iDWn3IGSUFqIcs8Py42UhfrshxI;
Landroid/view/inputmethod/BaseInputConnection;
+Landroid/view/inputmethod/CompletionInfo$1;
+Landroid/view/inputmethod/CompletionInfo;
Landroid/view/inputmethod/ComposingText;
+Landroid/view/inputmethod/CorrectionInfo$1;
+Landroid/view/inputmethod/CorrectionInfo;
+Landroid/view/inputmethod/CursorAnchorInfo$1;
Landroid/view/inputmethod/CursorAnchorInfo$Builder;
+Landroid/view/inputmethod/CursorAnchorInfo;
Landroid/view/inputmethod/EditorInfo$1;
Landroid/view/inputmethod/EditorInfo;
Landroid/view/inputmethod/ExtractedText$1;
Landroid/view/inputmethod/ExtractedText;
+Landroid/view/inputmethod/ExtractedTextRequest$1;
+Landroid/view/inputmethod/ExtractedTextRequest;
Landroid/view/inputmethod/InputBinding$1;
Landroid/view/inputmethod/InputBinding;
Landroid/view/inputmethod/InputConnection;
Landroid/view/inputmethod/InputConnectionInspector;
Landroid/view/inputmethod/InputConnectionWrapper;
+Landroid/view/inputmethod/InputContentInfo$1;
+Landroid/view/inputmethod/InputContentInfo;
+Landroid/view/inputmethod/InputMethod$SessionCallback;
+Landroid/view/inputmethod/InputMethod;
Landroid/view/inputmethod/InputMethodInfo$1;
Landroid/view/inputmethod/InputMethodInfo;
Landroid/view/inputmethod/InputMethodManager$1;
@@ -36826,44 +21863,110 @@ Landroid/view/inputmethod/InputMethodManager$H;
Landroid/view/inputmethod/InputMethodManager$ImeInputEventSender;
Landroid/view/inputmethod/InputMethodManager$PendingEvent;
Landroid/view/inputmethod/InputMethodManager;
+Landroid/view/inputmethod/InputMethodSession$EventCallback;
+Landroid/view/inputmethod/InputMethodSession;
Landroid/view/inputmethod/InputMethodSubtype$1;
Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;
Landroid/view/inputmethod/InputMethodSubtype;
Landroid/view/inputmethod/InputMethodSubtypeArray;
-Landroid/view/inputmethod/InputMethodSystemProperty;
Landroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;
Landroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;
+Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;
+Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk;
+Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$sY0w9od2zcl4YFel0lG4VB3vf7I;
Landroid/view/textclassifier/-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0;
Landroid/view/textclassifier/-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI;
Landroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;
-Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE;
+Landroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;
+Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$SIydN2POphTO3AmPTLEMmXPLSKY;
+Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$VwZ4EV_1i6FbjO7TtyaAnFL3oe0;
+Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$oweIEhDWxy3_0kZSXp3oRbSuNW4;
Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;
+Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;
+Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$iSt_Guet-O6Vtdk0MA4z-Z4lzaM;
Landroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;
Landroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;
+Landroid/view/textclassifier/ActionsModelParamsSupplier$ActionsModelParams;
+Landroid/view/textclassifier/ActionsModelParamsSupplier;
+Landroid/view/textclassifier/ActionsSuggestionsHelper$PersonEncoder;
+Landroid/view/textclassifier/ActionsSuggestionsHelper;
Landroid/view/textclassifier/ConfigParser;
+Landroid/view/textclassifier/ConversationAction$1;
+Landroid/view/textclassifier/ConversationAction$Builder;
+Landroid/view/textclassifier/ConversationAction;
Landroid/view/textclassifier/ConversationActions$1;
+Landroid/view/textclassifier/ConversationActions$Message$1;
+Landroid/view/textclassifier/ConversationActions$Message$Builder;
+Landroid/view/textclassifier/ConversationActions$Message;
+Landroid/view/textclassifier/ConversationActions$Request$1;
+Landroid/view/textclassifier/ConversationActions$Request$Builder;
+Landroid/view/textclassifier/ConversationActions$Request;
Landroid/view/textclassifier/ConversationActions;
Landroid/view/textclassifier/EntityConfidence$1;
Landroid/view/textclassifier/EntityConfidence;
+Landroid/view/textclassifier/ExtrasUtils;
Landroid/view/textclassifier/GenerateLinksLogger;
+Landroid/view/textclassifier/Log;
+Landroid/view/textclassifier/ModelFileManager$ModelFile;
Landroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;
Landroid/view/textclassifier/ModelFileManager;
+Landroid/view/textclassifier/SelectionEvent$1;
+Landroid/view/textclassifier/SelectionEvent;
+Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;
Landroid/view/textclassifier/SelectionSessionLogger;
+Landroid/view/textclassifier/SystemTextClassifier$BlockingCallback;
+Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
Landroid/view/textclassifier/SystemTextClassifier;
Landroid/view/textclassifier/TextClassification$1;
Landroid/view/textclassifier/TextClassification$Builder;
+Landroid/view/textclassifier/TextClassification$Request$1;
+Landroid/view/textclassifier/TextClassification$Request;
Landroid/view/textclassifier/TextClassification;
Landroid/view/textclassifier/TextClassificationConstants;
+Landroid/view/textclassifier/TextClassificationContext$1;
+Landroid/view/textclassifier/TextClassificationContext$Builder;
+Landroid/view/textclassifier/TextClassificationContext;
Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;
Landroid/view/textclassifier/TextClassificationManager;
Landroid/view/textclassifier/TextClassificationSessionFactory;
+Landroid/view/textclassifier/TextClassificationSessionId$1;
+Landroid/view/textclassifier/TextClassificationSessionId;
Landroid/view/textclassifier/TextClassifier$1;
+Landroid/view/textclassifier/TextClassifier$EntityConfig$1;
+Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;
+Landroid/view/textclassifier/TextClassifier$EntityConfig;
+Landroid/view/textclassifier/TextClassifier$Utils;
Landroid/view/textclassifier/TextClassifier;
+Landroid/view/textclassifier/TextClassifierEvent$1;
+Landroid/view/textclassifier/TextClassifierEvent$Builder;
+Landroid/view/textclassifier/TextClassifierEvent$ConversationActionsEvent$1;
+Landroid/view/textclassifier/TextClassifierEvent$ConversationActionsEvent;
+Landroid/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent$1;
+Landroid/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent;
+Landroid/view/textclassifier/TextClassifierEvent$TextLinkifyEvent$1;
+Landroid/view/textclassifier/TextClassifierEvent$TextLinkifyEvent;
+Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$1;
+Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent;
+Landroid/view/textclassifier/TextClassifierEvent;
Landroid/view/textclassifier/TextClassifierEventTronLogger;
Landroid/view/textclassifier/TextClassifierImpl;
+Landroid/view/textclassifier/TextLanguage$1;
+Landroid/view/textclassifier/TextLanguage$Builder;
+Landroid/view/textclassifier/TextLanguage$Request$1;
+Landroid/view/textclassifier/TextLanguage$Request$Builder;
+Landroid/view/textclassifier/TextLanguage$Request;
+Landroid/view/textclassifier/TextLanguage;
+Landroid/view/textclassifier/TextLinks$Request$1;
+Landroid/view/textclassifier/TextLinks$Request;
Landroid/view/textclassifier/TextSelection$1;
+Landroid/view/textclassifier/TextSelection$Request$1;
+Landroid/view/textclassifier/TextSelection$Request;
Landroid/view/textclassifier/TextSelection;
+Landroid/view/textclassifier/intent/-$$Lambda$LabeledIntent$LaL7EfxShgNu4lrdo3mv85g49Jg;
Landroid/view/textclassifier/intent/ClassificationIntentFactory;
+Landroid/view/textclassifier/intent/LabeledIntent$Result;
+Landroid/view/textclassifier/intent/LabeledIntent$TitleChooser;
+Landroid/view/textclassifier/intent/LabeledIntent;
Landroid/view/textclassifier/intent/LegacyClassificationIntentFactory;
Landroid/view/textclassifier/intent/TemplateClassificationIntentFactory;
Landroid/view/textclassifier/intent/TemplateIntentFactory;
@@ -36879,7 +21982,6 @@ Landroid/view/textservice/SpellCheckerSession;
Landroid/view/textservice/SpellCheckerSubtype$1;
Landroid/view/textservice/SpellCheckerSubtype;
Landroid/view/textservice/TextServicesManager;
-Landroid/webkit/-$$Lambda$xYTrYQCPf1HcdlWzDof3mq93ihs;
Landroid/webkit/ConsoleMessage$MessageLevel;
Landroid/webkit/ConsoleMessage;
Landroid/webkit/CookieManager;
@@ -36890,6 +21992,7 @@ Landroid/webkit/IWebViewUpdateService$Stub$Proxy;
Landroid/webkit/IWebViewUpdateService$Stub;
Landroid/webkit/IWebViewUpdateService;
Landroid/webkit/JavascriptInterface;
+Landroid/webkit/MimeTypeMap;
Landroid/webkit/ServiceWorkerClient;
Landroid/webkit/ServiceWorkerController;
Landroid/webkit/ServiceWorkerWebSettings;
@@ -36938,21 +22041,30 @@ Landroid/widget/-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hD
Landroid/widget/-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw;
Landroid/widget/-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI;
Landroid/widget/-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc;
-Landroid/widget/-$$Lambda$RemoteViews$xYCMzfQwRCAW2azHo-bWqQ9R0Wk;
+Landroid/widget/-$$Lambda$RemoteViews$FAOkoZgPKPkiYdtkDxAhkeoykww;
+Landroid/widget/-$$Lambda$RemoteViews$Ld8XNSMwygf42608Zln-rjTyHy0;
+Landroid/widget/-$$Lambda$RemoteViews$SetOnClickResponse$9rKnU2QqCzJhBC39ZrKYXob0-MA;
Landroid/widget/-$$Lambda$SmartSelectSprite$c8eqlh2kO_X0luLU2BexwK921WA;
Landroid/widget/-$$Lambda$SmartSelectSprite$mdkXIT1_UNlJQMaziE_E815aIKE;
Landroid/widget/-$$Lambda$yIdmBO6ZxaY03PGN08RySVVQXuE;
+Landroid/widget/AbsListView$1;
+Landroid/widget/AbsListView$2;
Landroid/widget/AbsListView$3;
+Landroid/widget/AbsListView$4;
+Landroid/widget/AbsListView$AbsPositionScroller;
Landroid/widget/AbsListView$AdapterDataSetObserver;
+Landroid/widget/AbsListView$CheckForTap;
Landroid/widget/AbsListView$FlingRunnable$1;
Landroid/widget/AbsListView$FlingRunnable;
Landroid/widget/AbsListView$LayoutParams;
+Landroid/widget/AbsListView$ListItemAccessibilityDelegate;
Landroid/widget/AbsListView$OnScrollListener;
Landroid/widget/AbsListView$PerformClick;
Landroid/widget/AbsListView$RecycleBin;
Landroid/widget/AbsListView$RecyclerListener;
Landroid/widget/AbsListView$SavedState$1;
Landroid/widget/AbsListView$SavedState;
+Landroid/widget/AbsListView$SelectionBoundsAdjuster;
Landroid/widget/AbsListView$WindowRunnnable;
Landroid/widget/AbsListView;
Landroid/widget/AbsSeekBar;
@@ -36962,11 +22074,15 @@ Landroid/widget/AbsSpinner;
Landroid/widget/AbsoluteLayout;
Landroid/widget/ActionMenuPresenter$1;
Landroid/widget/ActionMenuPresenter$2;
+Landroid/widget/ActionMenuPresenter$ActionButtonSubmenu;
+Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;
Landroid/widget/ActionMenuPresenter$OverflowMenuButton$1;
Landroid/widget/ActionMenuPresenter$OverflowMenuButton;
+Landroid/widget/ActionMenuPresenter$OverflowPopup;
Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;
Landroid/widget/ActionMenuPresenter;
Landroid/widget/ActionMenuView$ActionMenuChildView;
+Landroid/widget/ActionMenuView$ActionMenuPresenterCallback;
Landroid/widget/ActionMenuView$LayoutParams;
Landroid/widget/ActionMenuView$MenuBuilderCallback;
Landroid/widget/ActionMenuView$OnMenuItemClickListener;
@@ -36975,6 +22091,7 @@ Landroid/widget/Adapter;
Landroid/widget/AdapterView$AdapterDataSetObserver;
Landroid/widget/AdapterView$OnItemClickListener;
Landroid/widget/AdapterView$OnItemSelectedListener;
+Landroid/widget/AdapterView$SelectionNotifier;
Landroid/widget/AdapterView;
Landroid/widget/ArrayAdapter;
Landroid/widget/AutoCompleteTextView$DropDownItemClickListener;
@@ -36986,6 +22103,8 @@ Landroid/widget/Button;
Landroid/widget/CheckBox;
Landroid/widget/Checkable;
Landroid/widget/CheckedTextView;
+Landroid/widget/Chronometer$1;
+Landroid/widget/Chronometer;
Landroid/widget/CompoundButton$OnCheckedChangeListener;
Landroid/widget/CompoundButton;
Landroid/widget/EdgeEffect;
@@ -36995,20 +22114,31 @@ Landroid/widget/Editor$2;
Landroid/widget/Editor$3;
Landroid/widget/Editor$5;
Landroid/widget/Editor$Blink;
+Landroid/widget/Editor$CorrectionHighlighter;
Landroid/widget/Editor$CursorAnchorInfoNotifier;
Landroid/widget/Editor$CursorController;
+Landroid/widget/Editor$EasyEditDeleteListener;
+Landroid/widget/Editor$EasyEditPopupWindow;
Landroid/widget/Editor$EditOperation$1;
Landroid/widget/Editor$EditOperation;
+Landroid/widget/Editor$ErrorPopup;
+Landroid/widget/Editor$HandleView;
Landroid/widget/Editor$InputContentType;
Landroid/widget/Editor$InputMethodState;
+Landroid/widget/Editor$InsertionHandleView;
Landroid/widget/Editor$InsertionPointCursorController;
Landroid/widget/Editor$MagnifierMotionAnimator;
+Landroid/widget/Editor$PinnedPopupWindow;
Landroid/widget/Editor$PositionListener;
Landroid/widget/Editor$ProcessTextIntentActionsHandler;
+Landroid/widget/Editor$SelectionHandleView;
Landroid/widget/Editor$SelectionModifierCursorController;
+Landroid/widget/Editor$SpanController$1;
+Landroid/widget/Editor$SpanController$2;
Landroid/widget/Editor$SpanController;
Landroid/widget/Editor$SuggestionHelper$SuggestionSpanComparator;
Landroid/widget/Editor$SuggestionHelper;
+Landroid/widget/Editor$SuggestionsPopupWindow;
Landroid/widget/Editor$TextRenderNode;
Landroid/widget/Editor$TextViewPositionListener;
Landroid/widget/Editor$UndoInputFilter;
@@ -37019,6 +22149,7 @@ Landroid/widget/FastScroller$3;
Landroid/widget/FastScroller$4;
Landroid/widget/FastScroller$5;
Landroid/widget/FastScroller$6;
+Landroid/widget/FastScroller;
Landroid/widget/Filter$FilterListener;
Landroid/widget/Filter;
Landroid/widget/Filterable;
@@ -37031,20 +22162,27 @@ Landroid/widget/GridLayout$3;
Landroid/widget/GridLayout$4;
Landroid/widget/GridLayout$5;
Landroid/widget/GridLayout$6;
+Landroid/widget/GridLayout$7$1;
Landroid/widget/GridLayout$7;
Landroid/widget/GridLayout$8;
Landroid/widget/GridLayout$Alignment;
Landroid/widget/GridLayout$Arc;
Landroid/widget/GridLayout$Assoc;
+Landroid/widget/GridLayout$Axis$1;
+Landroid/widget/GridLayout$Axis;
Landroid/widget/GridLayout$Bounds;
Landroid/widget/GridLayout$Interval;
+Landroid/widget/GridLayout$LayoutParams;
Landroid/widget/GridLayout$MutableInt;
Landroid/widget/GridLayout$PackedMap;
+Landroid/widget/GridLayout$Spec;
+Landroid/widget/GridLayout;
Landroid/widget/HeaderViewListAdapter;
Landroid/widget/HorizontalScrollView$SavedState$1;
Landroid/widget/HorizontalScrollView$SavedState;
Landroid/widget/HorizontalScrollView;
Landroid/widget/ImageButton;
+Landroid/widget/ImageView$ImageDrawableCallback;
Landroid/widget/ImageView$ScaleType;
Landroid/widget/ImageView;
Landroid/widget/LinearLayout$LayoutParams;
@@ -37058,6 +22196,7 @@ Landroid/widget/ListPopupWindow$ResizePopupRunnable;
Landroid/widget/ListPopupWindow;
Landroid/widget/ListView$ArrowScrollFocusResult;
Landroid/widget/ListView$FixedViewInfo;
+Landroid/widget/ListView$FocusSelector;
Landroid/widget/ListView;
Landroid/widget/Magnifier$Builder;
Landroid/widget/Magnifier;
@@ -37066,15 +22205,20 @@ Landroid/widget/MultiAutoCompleteTextView$Tokenizer;
Landroid/widget/MultiAutoCompleteTextView;
Landroid/widget/OverScroller$SplineOverScroller;
Landroid/widget/OverScroller;
+Landroid/widget/PopupMenu$1;
+Landroid/widget/PopupMenu$2;
Landroid/widget/PopupMenu$OnMenuItemClickListener;
Landroid/widget/PopupMenu;
Landroid/widget/PopupWindow$1;
Landroid/widget/PopupWindow$2;
+Landroid/widget/PopupWindow$3;
Landroid/widget/PopupWindow$OnDismissListener;
Landroid/widget/PopupWindow$PopupDecorView;
Landroid/widget/PopupWindow;
Landroid/widget/ProgressBar$1;
-Landroid/widget/ProgressBar$AccessibilityEventSender;
+Landroid/widget/ProgressBar$ProgressTintInfo;
+Landroid/widget/ProgressBar$RefreshData;
+Landroid/widget/ProgressBar$RefreshProgressRunnable;
Landroid/widget/ProgressBar$SavedState$1;
Landroid/widget/ProgressBar$SavedState;
Landroid/widget/ProgressBar;
@@ -37089,20 +22233,41 @@ Landroid/widget/RelativeLayout;
Landroid/widget/RemoteViews$1;
Landroid/widget/RemoteViews$2;
Landroid/widget/RemoteViews$Action;
+Landroid/widget/RemoteViews$ActionException;
+Landroid/widget/RemoteViews$AsyncApplyTask;
Landroid/widget/RemoteViews$BitmapCache;
Landroid/widget/RemoteViews$BitmapReflectionAction;
Landroid/widget/RemoteViews$LayoutParamAction;
+Landroid/widget/RemoteViews$MethodArgs;
Landroid/widget/RemoteViews$MethodKey;
Landroid/widget/RemoteViews$OnClickHandler;
+Landroid/widget/RemoteViews$OverrideTextColorsAction;
Landroid/widget/RemoteViews$ReflectionAction;
Landroid/widget/RemoteViews$RemoteResponse;
Landroid/widget/RemoteViews$RemoteView;
+Landroid/widget/RemoteViews$RemoteViewsContextWrapper;
+Landroid/widget/RemoteViews$RunnableAction;
Landroid/widget/RemoteViews$RuntimeAction;
Landroid/widget/RemoteViews$SetDrawableTint;
+Landroid/widget/RemoteViews$SetEmptyView;
+Landroid/widget/RemoteViews$SetIntTagAction;
Landroid/widget/RemoteViews$SetOnClickResponse;
+Landroid/widget/RemoteViews$SetPendingIntentTemplate;
+Landroid/widget/RemoteViews$SetRemoteInputsAction;
+Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;
+Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;
+Landroid/widget/RemoteViews$SetRippleDrawableColor;
+Landroid/widget/RemoteViews$TextViewDrawableAction;
+Landroid/widget/RemoteViews$TextViewSizeAction;
+Landroid/widget/RemoteViews$ViewContentNavigation;
+Landroid/widget/RemoteViews$ViewGroupActionAdd;
+Landroid/widget/RemoteViews$ViewGroupActionRemove;
Landroid/widget/RemoteViews$ViewPaddingAction;
+Landroid/widget/RemoteViews$ViewTree;
Landroid/widget/RemoteViews;
Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
+Landroid/widget/RemoteViewsAdapter;
+Landroid/widget/RemoteViewsService;
Landroid/widget/RtlSpacingHelper;
Landroid/widget/ScrollBarDrawable;
Landroid/widget/ScrollView$SavedState$1;
@@ -37131,10 +22296,12 @@ Landroid/widget/Spinner$SpinnerPopup;
Landroid/widget/Spinner;
Landroid/widget/SpinnerAdapter;
Landroid/widget/Switch$1;
+Landroid/widget/Switch;
Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
Landroid/widget/TableLayout;
Landroid/widget/TableRow$ChildrenTracker;
Landroid/widget/TableRow;
+Landroid/widget/TextView$1;
Landroid/widget/TextView$2;
Landroid/widget/TextView$3;
Landroid/widget/TextView$4;
@@ -37142,12 +22309,15 @@ Landroid/widget/TextView$BufferType;
Landroid/widget/TextView$ChangeWatcher;
Landroid/widget/TextView$CharWrapper;
Landroid/widget/TextView$Drawables;
+Landroid/widget/TextView$Marquee;
Landroid/widget/TextView$OnEditorActionListener;
Landroid/widget/TextView$SavedState$1;
Landroid/widget/TextView$SavedState;
Landroid/widget/TextView$TextAppearanceAttributes;
Landroid/widget/TextView;
Landroid/widget/ThemedSpinnerAdapter;
+Landroid/widget/Toast$TN$1;
+Landroid/widget/Toast$TN;
Landroid/widget/Toast;
Landroid/widget/ToggleButton;
Landroid/widget/Toolbar$1;
@@ -37156,13 +22326,18 @@ Landroid/widget/Toolbar$ExpandedActionViewMenuPresenter;
Landroid/widget/Toolbar$LayoutParams;
Landroid/widget/Toolbar$OnMenuItemClickListener;
Landroid/widget/Toolbar$SavedState$1;
+Landroid/widget/Toolbar$SavedState;
Landroid/widget/Toolbar;
Landroid/widget/ViewAnimator;
Landroid/widget/ViewSwitcher;
Landroid/widget/WrapperListAdapter;
+Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;
+Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano$OutOfSpaceException;
+Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;
Lcom/android/framework/protobuf/nano/InternalNano;
Lcom/android/framework/protobuf/nano/InvalidProtocolBufferNanoException;
Lcom/android/framework/protobuf/nano/MessageNano;
+Lcom/android/framework/protobuf/nano/WireFormatNano;
Lcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet;
Lcom/android/i18n/phonenumbers/CountryCodeToRegionCodeMap;
Lcom/android/i18n/phonenumbers/MetadataLoader;
@@ -37170,6 +22345,7 @@ Lcom/android/i18n/phonenumbers/MetadataManager$1;
Lcom/android/i18n/phonenumbers/MetadataManager;
Lcom/android/i18n/phonenumbers/MetadataSource;
Lcom/android/i18n/phonenumbers/MultiFileMetadataSourceImpl;
+Lcom/android/i18n/phonenumbers/NumberParseException$ErrorType;
Lcom/android/i18n/phonenumbers/NumberParseException;
Lcom/android/i18n/phonenumbers/PhoneNumberUtil$1;
Lcom/android/i18n/phonenumbers/PhoneNumberUtil$2;
@@ -37182,29 +22358,34 @@ Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;
Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
+Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat$Builder;
Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadataCollection;
Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
+Lcom/android/i18n/phonenumbers/ShortNumberInfo;
Lcom/android/i18n/phonenumbers/ShortNumbersRegionCodeSet;
+Lcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;
Lcom/android/i18n/phonenumbers/internal/MatcherApi;
Lcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;
Lcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache$1;
Lcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;
Lcom/android/i18n/phonenumbers/internal/RegexCache;
-Lcom/android/ims/-$$Lambda$ImsManager$Connector$1$QkUK3GnYms22eckyg3OL-BmtP3M;
-Lcom/android/ims/-$$Lambda$ImsManager$Connector$N5r1SvOgM0jfHDwKkcQbyw_uTP0;
-Lcom/android/ims/-$$Lambda$ImsManager$Connector$yM9scWJWjDp_h0yrkCgrjFZH5oI;
+Lcom/android/ims/-$$Lambda$ImsManager$CwzXIbVJZNvgdV2t7LH2gUKL7AA;
Lcom/android/ims/-$$Lambda$ImsManager$D1JuJ3ba2jMHWDKlSpm03meBR1c;
-Lcom/android/ims/-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk;
Lcom/android/ims/-$$Lambda$ImsManager$LiW49wt0wLMYHjgtAwL8NLIATfs;
Lcom/android/ims/-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$1$2oMo1vy7PK7RvBpj3WhQvVVnmLE;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$ij8S4RNRiQPHfppwkejp36BG78I;
Lcom/android/ims/-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw;
+Lcom/android/ims/FeatureConnection$IFeatureUpdate;
+Lcom/android/ims/FeatureConnection;
+Lcom/android/ims/FeatureConnector$Listener;
+Lcom/android/ims/FeatureConnector;
+Lcom/android/ims/HandlerExecutor;
+Lcom/android/ims/IFeatureConnector;
Lcom/android/ims/ImsCall$Listener;
+Lcom/android/ims/ImsCall;
Lcom/android/ims/ImsConfig;
Lcom/android/ims/ImsConfigListener$Stub;
Lcom/android/ims/ImsConfigListener;
@@ -37213,26 +22394,25 @@ Lcom/android/ims/ImsEcbm;
Lcom/android/ims/ImsEcbmStateListener;
Lcom/android/ims/ImsException;
Lcom/android/ims/ImsExternalCallStateListener;
+Lcom/android/ims/ImsManager$2;
Lcom/android/ims/ImsManager$3;
-Lcom/android/ims/ImsManager$Connector$1;
-Lcom/android/ims/ImsManager$Connector$Listener;
-Lcom/android/ims/ImsManager$Connector$RetryTimeout;
-Lcom/android/ims/ImsManager$Connector;
Lcom/android/ims/ImsManager$ExecutorFactory;
+Lcom/android/ims/ImsManager$ImsExecutorFactory;
Lcom/android/ims/ImsManager;
Lcom/android/ims/ImsMultiEndpoint$ImsExternalCallStateListenerProxy;
Lcom/android/ims/ImsMultiEndpoint;
Lcom/android/ims/ImsUt$IImsUtListenerProxy;
Lcom/android/ims/ImsUt;
Lcom/android/ims/ImsUtInterface;
-Lcom/android/ims/MmTelFeatureConnection$1;
Lcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager$1;
Lcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;
Lcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;
-Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;
Lcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;
Lcom/android/ims/MmTelFeatureConnection$ProvisioningCallbackManager;
Lcom/android/ims/MmTelFeatureConnection;
+Lcom/android/ims/Registrant;
+Lcom/android/ims/internal/ICall;
+Lcom/android/ims/internal/IImsCallSession;
Lcom/android/ims/internal/IImsEcbm$Stub;
Lcom/android/ims/internal/IImsEcbm;
Lcom/android/ims/internal/IImsEcbmListener$Stub;
@@ -37250,23 +22430,55 @@ Lcom/android/ims/internal/IImsUt$Stub;
Lcom/android/ims/internal/IImsUt;
Lcom/android/ims/internal/IImsUtListener$Stub;
Lcom/android/ims/internal/IImsUtListener;
+Lcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback;
+Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
Lcom/android/ims/internal/uce/UceServiceBase;
+Lcom/android/ims/internal/uce/common/CapInfo$1;
+Lcom/android/ims/internal/uce/common/CapInfo;
+Lcom/android/ims/internal/uce/common/StatusCode$1;
+Lcom/android/ims/internal/uce/common/UceLong$1;
+Lcom/android/ims/internal/uce/common/UceLong;
+Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;
+Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;
+Lcom/android/ims/internal/uce/options/IOptionsListener;
+Lcom/android/ims/internal/uce/options/IOptionsService;
+Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;
+Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;
+Lcom/android/ims/internal/uce/presence/IPresenceListener;
+Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;
+Lcom/android/ims/internal/uce/presence/IPresenceService;
+Lcom/android/ims/internal/uce/presence/PresCapInfo$1;
+Lcom/android/ims/internal/uce/presence/PresCmdId$1;
+Lcom/android/ims/internal/uce/presence/PresCmdStatus$1;
+Lcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;
+Lcom/android/ims/internal/uce/presence/PresSipResponse$1;
+Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;
+Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;
+Lcom/android/ims/internal/uce/uceservice/IUceListener;
Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;
Lcom/android/ims/internal/uce/uceservice/IUceService;
Lcom/android/internal/R$styleable;
Lcom/android/internal/accessibility/AccessibilityShortcutController$1;
Lcom/android/internal/accessibility/AccessibilityShortcutController$FrameworkObjectProvider;
+Lcom/android/internal/accessibility/AccessibilityShortcutController$ToggleableFrameworkFeatureInfo;
Lcom/android/internal/accessibility/AccessibilityShortcutController;
Lcom/android/internal/alsa/AlsaCardsParser;
Lcom/android/internal/alsa/LineTokenizer;
+Lcom/android/internal/app/AlertController$1;
Lcom/android/internal/app/AlertController$AlertParams;
+Lcom/android/internal/app/AlertController$ButtonHandler;
+Lcom/android/internal/app/AlertController$RecycleListView;
Lcom/android/internal/app/AlertController;
Lcom/android/internal/app/AssistUtils;
+Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;
Lcom/android/internal/app/IAppOpsActiveCallback$Stub;
Lcom/android/internal/app/IAppOpsActiveCallback;
+Lcom/android/internal/app/IAppOpsAsyncNotedCallback$Stub;
+Lcom/android/internal/app/IAppOpsAsyncNotedCallback;
Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;
Lcom/android/internal/app/IAppOpsCallback$Stub;
Lcom/android/internal/app/IAppOpsCallback;
+Lcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;
Lcom/android/internal/app/IAppOpsNotedCallback$Stub;
Lcom/android/internal/app/IAppOpsNotedCallback;
Lcom/android/internal/app/IAppOpsService$Stub$Proxy;
@@ -37277,62 +22489,109 @@ Lcom/android/internal/app/IBatteryStats$Stub;
Lcom/android/internal/app/IBatteryStats;
Lcom/android/internal/app/ISoundTriggerService$Stub;
Lcom/android/internal/app/ISoundTriggerService;
+Lcom/android/internal/app/IVoiceActionCheckCallback$Stub$Proxy;
+Lcom/android/internal/app/IVoiceActionCheckCallback$Stub;
+Lcom/android/internal/app/IVoiceActionCheckCallback;
Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;
Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;
Lcom/android/internal/app/IVoiceInteractionManagerService;
+Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;
Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub;
Lcom/android/internal/app/IVoiceInteractionSessionListener;
Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;
+Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;
Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;
+Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;
Lcom/android/internal/app/IVoiceInteractor$Stub;
Lcom/android/internal/app/IVoiceInteractor;
+Lcom/android/internal/app/MicroAlertController;
Lcom/android/internal/app/ProcessMap;
+Lcom/android/internal/app/ResolverActivity$ActionTitle;
Lcom/android/internal/app/ResolverActivity;
+Lcom/android/internal/app/ResolverListAdapter$ResolverListCommunicator;
+Lcom/android/internal/app/ToolbarActionBar;
+Lcom/android/internal/app/WindowDecorActionBar;
+Lcom/android/internal/app/procstats/-$$Lambda$AssociationState$kgfxYpOOyQWCFPwGaRqRz0N4-zg;
Lcom/android/internal/app/procstats/AssociationState$SourceKey;
Lcom/android/internal/app/procstats/AssociationState$SourceState;
Lcom/android/internal/app/procstats/AssociationState;
+Lcom/android/internal/app/procstats/DumpUtils;
Lcom/android/internal/app/procstats/DurationsTable;
+Lcom/android/internal/app/procstats/IProcessStats$Stub$Proxy;
Lcom/android/internal/app/procstats/IProcessStats$Stub;
Lcom/android/internal/app/procstats/IProcessStats;
Lcom/android/internal/app/procstats/ProcessState$1;
+Lcom/android/internal/app/procstats/ProcessState$PssAggr;
Lcom/android/internal/app/procstats/ProcessState;
Lcom/android/internal/app/procstats/ProcessStats$1;
Lcom/android/internal/app/procstats/ProcessStats$PackageState;
Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
+Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;
Lcom/android/internal/app/procstats/ProcessStats;
Lcom/android/internal/app/procstats/PssTable;
Lcom/android/internal/app/procstats/ServiceState;
Lcom/android/internal/app/procstats/SparseMappingTable$Table;
Lcom/android/internal/app/procstats/SparseMappingTable;
Lcom/android/internal/app/procstats/SysMemUsageTable;
+Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;
+Lcom/android/internal/appwidget/IAppWidgetHost$Stub;
+Lcom/android/internal/appwidget/IAppWidgetHost;
Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;
Lcom/android/internal/appwidget/IAppWidgetService$Stub;
Lcom/android/internal/appwidget/IAppWidgetService;
+Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;
Lcom/android/internal/backup/IBackupTransport$Stub;
Lcom/android/internal/backup/IBackupTransport;
+Lcom/android/internal/compat/ChangeReporter;
Lcom/android/internal/content/NativeLibraryHelper$Handle;
Lcom/android/internal/content/NativeLibraryHelper;
+Lcom/android/internal/content/PackageHelper$1;
+Lcom/android/internal/content/PackageHelper$TestableInterface;
Lcom/android/internal/content/PackageHelper;
Lcom/android/internal/content/PackageMonitor;
Lcom/android/internal/content/ReferrerIntent$1;
Lcom/android/internal/content/ReferrerIntent;
+Lcom/android/internal/graphics/ColorUtils;
Lcom/android/internal/graphics/SfVsyncFrameCallbackProvider;
Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;
Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable;
+Lcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;
Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$PendingRequest$IBoaBGXZQEXJr69u3aJF-LCJ42Y;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$ocrHd68Md9x6FfAzVQ6w8MAjFqY;
+Lcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;
Lcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;
+Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;
Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;
+Lcom/android/internal/infra/AbstractRemoteService$MyAsyncPendingRequest;
Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;
Lcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;
Lcom/android/internal/infra/AbstractRemoteService$VultureCallback;
Lcom/android/internal/infra/AbstractRemoteService;
Lcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;
+Lcom/android/internal/infra/AndroidFuture;
+Lcom/android/internal/infra/ServiceConnector$Job;
+Lcom/android/internal/infra/ServiceConnector;
Lcom/android/internal/infra/WhitelistHelper;
+Lcom/android/internal/inputmethod/IInputContentUriToken;
+Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;
Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;
Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;
+Lcom/android/internal/inputmethod/InputMethodDebug;
+Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;
+Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;
+Lcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;
+Lcom/android/internal/inputmethod/SubtypeLocaleUtils;
Lcom/android/internal/location/GpsNetInitiatedHandler$1;
Lcom/android/internal/location/GpsNetInitiatedHandler$2;
Lcom/android/internal/location/GpsNetInitiatedHandler;
+Lcom/android/internal/location/ILocationProvider$Stub$Proxy;
+Lcom/android/internal/location/ILocationProvider$Stub;
+Lcom/android/internal/location/ILocationProvider;
+Lcom/android/internal/location/ILocationProviderManager$Stub$Proxy;
Lcom/android/internal/location/ILocationProviderManager$Stub;
Lcom/android/internal/location/ILocationProviderManager;
Lcom/android/internal/location/ProviderProperties$1;
@@ -37342,34 +22601,48 @@ Lcom/android/internal/location/ProviderRequest;
Lcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;
Lcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;
Lcom/android/internal/location/gnssmetrics/GnssMetrics;
+Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
+Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
Lcom/android/internal/logging/AndroidConfig;
Lcom/android/internal/logging/AndroidHandler$1;
Lcom/android/internal/logging/AndroidHandler;
Lcom/android/internal/logging/EventLogTags;
Lcom/android/internal/logging/MetricsLogger;
+Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;
Lcom/android/internal/net/INetworkWatchlistManager$Stub;
Lcom/android/internal/net/INetworkWatchlistManager;
-Lcom/android/internal/net/NetworkStatsFactory;
+Lcom/android/internal/net/LegacyVpnInfo;
+Lcom/android/internal/net/VpnConfig$1;
+Lcom/android/internal/net/VpnConfig;
+Lcom/android/internal/net/VpnInfo$1;
Lcom/android/internal/net/VpnInfo;
+Lcom/android/internal/net/VpnProfile$1;
+Lcom/android/internal/net/VpnProfile;
Lcom/android/internal/notification/SystemNotificationChannels;
+Lcom/android/internal/os/-$$Lambda$6-ytl6NLMGWt_iQr4_PfakNWUKQ;
Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$7bfIWpn8X2h-hSzLD6dcuK4Ljuw;
Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$B-TmZhQb712ePnuJTxvMe7P-YwQ;
Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$Xvt9xdVPtevMWGIjcbxXf0_mr_c;
Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$_l2oiaRDRhjCXI_PwXPsAhrgegI;
+Lcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;
Lcom/android/internal/os/-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg;
Lcom/android/internal/os/-$$Lambda$ZygoteConnection$KxVsZ-s4KsanePOHCU5JcuypPik;
Lcom/android/internal/os/-$$Lambda$ZygoteConnection$xjqM7qW7vAjTqh2tR5XRF5Vn5mk;
+Lcom/android/internal/os/-$$Lambda$sHtqZgGVjxOf9IJdAdZO6gwD_Do;
Lcom/android/internal/os/AndroidPrintStream;
+Lcom/android/internal/os/AppFuseMount;
Lcom/android/internal/os/AtomicDirectory;
-Lcom/android/internal/os/AtomicFile;
Lcom/android/internal/os/BackgroundThread;
Lcom/android/internal/os/BatterySipper$DrainType;
Lcom/android/internal/os/BatterySipper;
+Lcom/android/internal/os/BatteryStatsHelper$1;
Lcom/android/internal/os/BatteryStatsHelper;
Lcom/android/internal/os/BatteryStatsHistory$1;
Lcom/android/internal/os/BatteryStatsHistory;
Lcom/android/internal/os/BatteryStatsImpl$1;
Lcom/android/internal/os/BatteryStatsImpl$2;
+Lcom/android/internal/os/BatteryStatsImpl$3;
+Lcom/android/internal/os/BatteryStatsImpl$4;
Lcom/android/internal/os/BatteryStatsImpl$5;
Lcom/android/internal/os/BatteryStatsImpl$6;
Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
@@ -37403,15 +22676,21 @@ Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;
Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;
Lcom/android/internal/os/BatteryStatsImpl$Uid;
+Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;
Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;
Lcom/android/internal/os/BatteryStatsImpl;
Lcom/android/internal/os/BinderCallsStats$CallStat;
+Lcom/android/internal/os/BinderCallsStats$CallStatKey;
+Lcom/android/internal/os/BinderCallsStats$ExportedCallStat;
Lcom/android/internal/os/BinderCallsStats$Injector;
Lcom/android/internal/os/BinderCallsStats$OverflowBinder;
Lcom/android/internal/os/BinderCallsStats$UidEntry;
Lcom/android/internal/os/BinderCallsStats;
+Lcom/android/internal/os/BinderDeathDispatcher$RecipientsInfo;
+Lcom/android/internal/os/BinderDeathDispatcher;
Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener;
Lcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate;
+Lcom/android/internal/os/BinderInternal$CallSession;
Lcom/android/internal/os/BinderInternal$GcWatcher;
Lcom/android/internal/os/BinderInternal$Observer;
Lcom/android/internal/os/BinderInternal$WorkSourceProvider;
@@ -37436,11 +22715,16 @@ Lcom/android/internal/os/IDropBoxManagerService;
Lcom/android/internal/os/IResultReceiver$Stub$Proxy;
Lcom/android/internal/os/IResultReceiver$Stub;
Lcom/android/internal/os/IResultReceiver;
+Lcom/android/internal/os/IShellCallback$Stub$Proxy;
+Lcom/android/internal/os/IShellCallback$Stub;
+Lcom/android/internal/os/IShellCallback;
Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;
Lcom/android/internal/os/KernelCpuProcStringReader;
Lcom/android/internal/os/KernelCpuSpeedReader;
Lcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;
Lcom/android/internal/os/KernelCpuThreadReader$Injector;
+Lcom/android/internal/os/KernelCpuThreadReader$ProcessCpuUsage;
+Lcom/android/internal/os/KernelCpuThreadReader$ThreadCpuUsage;
Lcom/android/internal/os/KernelCpuThreadReader;
Lcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;
Lcom/android/internal/os/KernelCpuThreadReaderSettingsObserver;
@@ -37451,6 +22735,7 @@ Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;
Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;
Lcom/android/internal/os/KernelCpuUidTimeReader;
Lcom/android/internal/os/KernelMemoryBandwidthStats;
+Lcom/android/internal/os/KernelSingleUidTimeReader;
Lcom/android/internal/os/KernelWakelockReader;
Lcom/android/internal/os/KernelWakelockStats$Entry;
Lcom/android/internal/os/KernelWakelockStats;
@@ -37458,6 +22743,7 @@ Lcom/android/internal/os/LoggingPrintStream$1;
Lcom/android/internal/os/LoggingPrintStream;
Lcom/android/internal/os/LooperStats$DispatchSession;
Lcom/android/internal/os/LooperStats$Entry;
+Lcom/android/internal/os/LooperStats$ExportedEntry;
Lcom/android/internal/os/LooperStats;
Lcom/android/internal/os/MediaPowerCalculator;
Lcom/android/internal/os/MemoryPowerCalculator;
@@ -37468,6 +22754,7 @@ Lcom/android/internal/os/PowerProfile;
Lcom/android/internal/os/ProcStatsUtil;
Lcom/android/internal/os/ProcTimeInStateReader;
Lcom/android/internal/os/ProcessCpuTracker$1;
+Lcom/android/internal/os/ProcessCpuTracker$FilterStats;
Lcom/android/internal/os/ProcessCpuTracker$Stats;
Lcom/android/internal/os/ProcessCpuTracker;
Lcom/android/internal/os/RailStats;
@@ -37484,35 +22771,54 @@ Lcom/android/internal/os/RuntimeInit$MethodAndArgsCaller;
Lcom/android/internal/os/RuntimeInit;
Lcom/android/internal/os/SensorPowerCalculator;
Lcom/android/internal/os/SomeArgs;
+Lcom/android/internal/os/StatsdHiddenApiUsageLogger;
Lcom/android/internal/os/StoragedUidIoStatsReader;
+Lcom/android/internal/os/TransferPipe;
Lcom/android/internal/os/WakelockPowerCalculator;
Lcom/android/internal/os/WifiPowerCalculator;
+Lcom/android/internal/os/WifiPowerEstimator;
+Lcom/android/internal/os/WrapperInit;
Lcom/android/internal/os/Zygote;
Lcom/android/internal/os/ZygoteArguments;
-Lcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;
Lcom/android/internal/os/ZygoteConnection;
Lcom/android/internal/os/ZygoteInit;
+Lcom/android/internal/os/ZygoteSecurityException;
+Lcom/android/internal/os/ZygoteServer$UsapPoolRefillAction;
Lcom/android/internal/os/ZygoteServer;
+Lcom/android/internal/policy/BackdropFrameRenderer;
Lcom/android/internal/policy/DecorContext;
Lcom/android/internal/policy/DecorView$1;
+Lcom/android/internal/policy/DecorView$2;
+Lcom/android/internal/policy/DecorView$3;
Lcom/android/internal/policy/DecorView$ColorViewAttributes;
Lcom/android/internal/policy/DecorView$ColorViewState;
Lcom/android/internal/policy/DecorView;
Lcom/android/internal/policy/DividerSnapAlgorithm$SnapTarget;
Lcom/android/internal/policy/DividerSnapAlgorithm;
Lcom/android/internal/policy/DockedDividerUtils;
+Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;
+Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;
+Lcom/android/internal/policy/IKeyguardDismissCallback;
+Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;
Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;
Lcom/android/internal/policy/IKeyguardDrawnCallback;
+Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;
+Lcom/android/internal/policy/IKeyguardExitCallback$Stub;
+Lcom/android/internal/policy/IKeyguardExitCallback;
+Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;
Lcom/android/internal/policy/IKeyguardService$Stub;
Lcom/android/internal/policy/IKeyguardService;
+Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;
Lcom/android/internal/policy/IKeyguardStateCallback$Stub;
Lcom/android/internal/policy/IKeyguardStateCallback;
+Lcom/android/internal/policy/IShortcutService$Stub$Proxy;
Lcom/android/internal/policy/IShortcutService$Stub;
Lcom/android/internal/policy/IShortcutService;
Lcom/android/internal/policy/PhoneFallbackEventHandler;
Lcom/android/internal/policy/PhoneLayoutInflater;
Lcom/android/internal/policy/PhoneWindow$1;
Lcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState$1;
+Lcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState;
Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
Lcom/android/internal/policy/PhoneWindow$PhoneWindowMenuCallback;
Lcom/android/internal/policy/PhoneWindow$RotationWatcher$1;
@@ -37520,53 +22826,91 @@ Lcom/android/internal/policy/PhoneWindow$RotationWatcher;
Lcom/android/internal/policy/PhoneWindow;
Lcom/android/internal/policy/PipSnapAlgorithm;
Lcom/android/internal/policy/ScreenDecorationsUtils;
+Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;
Lcom/android/internal/statusbar/IStatusBar$Stub;
Lcom/android/internal/statusbar/IStatusBar;
+Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;
Lcom/android/internal/statusbar/IStatusBarService$Stub;
Lcom/android/internal/statusbar/IStatusBarService;
+Lcom/android/internal/statusbar/NotificationVisibility$1;
+Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
+Lcom/android/internal/statusbar/NotificationVisibility;
+Lcom/android/internal/statusbar/RegisterStatusBarResult;
+Lcom/android/internal/statusbar/StatusBarIcon$1;
Lcom/android/internal/statusbar/StatusBarIcon;
+Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;
+Lcom/android/internal/telecom/IConnectionService$Stub;
+Lcom/android/internal/telecom/IConnectionService;
+Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;
+Lcom/android/internal/telecom/IConnectionServiceAdapter;
+Lcom/android/internal/telecom/IInCallAdapter$Stub;
+Lcom/android/internal/telecom/IInCallAdapter;
+Lcom/android/internal/telecom/IInCallService$Stub$Proxy;
+Lcom/android/internal/telecom/IInCallService$Stub;
+Lcom/android/internal/telecom/IInCallService;
Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;
Lcom/android/internal/telecom/ITelecomService$Stub;
Lcom/android/internal/telecom/ITelecomService;
Lcom/android/internal/telecom/IVideoCallback;
+Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;
Lcom/android/internal/telecom/IVideoProvider$Stub;
Lcom/android/internal/telecom/IVideoProvider;
+Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;
+Lcom/android/internal/telecom/RemoteServiceCallback$Stub;
+Lcom/android/internal/telecom/RemoteServiceCallback;
+Lcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$55347QtGjuukX-px3jYZkJd_z3U;
Lcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$DcLtrTEtdlCd4WOev4Zk79vrSko;
-Lcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$GxCl_qV1anWayDxo4dQIuZZ5PC0;
Lcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$WtGtOenjqxSBoW5BUjT-VlNoSTM;
-Lcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$o5faRHxto_4PRqL7yYyTpAmBXy4;
Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI;
Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;
Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$AjZFvwh3Ujx5W3fleFNksc6bLf0;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$Ja9yTBcEYPqTRBIP-hL0otixVeE;
Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;
Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw;
Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$knEK4mNNOqbx_h4hWVcDSbY5kHE;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$rpyQeO7zACcc5v4krwU9_qRMHL8;
Lcom/android/internal/telephony/-$$Lambda$PhoneSwitcher$WfAxZbJDpCUxBytiUchQ87aGijQ;
+Lcom/android/internal/telephony/-$$Lambda$RIL$803u4JiCud_JSoDndvAhT13ZZqU;
+Lcom/android/internal/telephony/-$$Lambda$RIL$Ir4pOMTf7R0Jtw4O3F7JgMVtXO4;
+Lcom/android/internal/telephony/-$$Lambda$RIL$ZGWeCQ9boMO1_J1_yQ82l_jK-Nc;
+Lcom/android/internal/telephony/-$$Lambda$RIL$zYsQZAc3z9bM5fCaq_J0dn5kjjo;
+Lcom/android/internal/telephony/-$$Lambda$RILConstants$ODSbRKyUeaOFMcez-ZudOmaKCBw;
+Lcom/android/internal/telephony/-$$Lambda$RILConstants$zIAjDPNpW8a5C22QbMmMwM64vD8;
Lcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;
+Lcom/android/internal/telephony/-$$Lambda$RadioIndication$GND6XxOOm1d_Ro76zEUFjA9OrEA;
Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$Nt_ojdeqo4C2mbuwymYLvwgOLGo;
Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$VCQsMNqRHpN3RyoXYzh2YUwA2yc;
Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$u5xE-urXR6ElZ50305_6guo20Fc;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$-zZXM9oMRZ3vZz7dJOG19J00Bmw;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$MMx9iQX0JVqqMPLTUZhdBubFSzU;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$DY4i_CG7hrAeejGLeh3hMUZySnw;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$UFyB0ValfLD0rdGDibCjTnGFkeo;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$Y5woGfEDKrozRViLH7WF93qPEno;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$ZTY4uxKw17CHcHQzbBUF7m-dN-E;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$ecTEeMEIjOEa2z5W3wjqiicibbY;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$qyDxq2AWyReUxdc6HttVGQeDD3Y;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$tLUuQ7lYu8EjRd038qzQlDm-CtA;
+Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$09rMKC8001jAR0zFrzzlPx26Xjs;
Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$DKjB_mCxFOHomOyKLPFU9-9Dywc;
+Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$UYUq9z2WZwxqOLXquU0tTNN9wAs;
Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$eUdIxJOKoyVP5UmFJtWXBUO93Qk;
Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$nLdppNQT1Bv7QyIU3LwAwVD2K60;
Lcom/android/internal/telephony/-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I;
+Lcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;
+Lcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;
+Lcom/android/internal/telephony/ATParseEx;
Lcom/android/internal/telephony/AppSmsManager;
Lcom/android/internal/telephony/BaseCommands;
+Lcom/android/internal/telephony/BlockChecker;
Lcom/android/internal/telephony/Call$SrvccState;
Lcom/android/internal/telephony/Call$State;
Lcom/android/internal/telephony/Call;
+Lcom/android/internal/telephony/CallForwardInfo;
Lcom/android/internal/telephony/CallManager$CallManagerHandler;
Lcom/android/internal/telephony/CallManager;
Lcom/android/internal/telephony/CallStateException;
Lcom/android/internal/telephony/CallTracker;
-Lcom/android/internal/telephony/CallerInfo;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery$OnQueryCompleteListener;
Lcom/android/internal/telephony/CarrierActionAgent$1;
Lcom/android/internal/telephony/CarrierActionAgent;
Lcom/android/internal/telephony/CarrierAppUtils;
@@ -37580,6 +22924,7 @@ Lcom/android/internal/telephony/CarrierResolver;
Lcom/android/internal/telephony/CarrierServiceBindHelper$1;
Lcom/android/internal/telephony/CarrierServiceBindHelper$2;
Lcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;
+Lcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServiceConnection;
Lcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;
Lcom/android/internal/telephony/CarrierServiceBindHelper;
Lcom/android/internal/telephony/CarrierServiceStateTracker$1;
@@ -37589,9 +22934,15 @@ Lcom/android/internal/telephony/CarrierServiceStateTracker$EmergencyNetworkNotif
Lcom/android/internal/telephony/CarrierServiceStateTracker$NotificationType;
Lcom/android/internal/telephony/CarrierServiceStateTracker$PrefNetworkNotification;
Lcom/android/internal/telephony/CarrierServiceStateTracker;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter$CallbackTimeoutHandler;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierServicesSmsFilterCallbackInterface;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter;
Lcom/android/internal/telephony/CarrierSignalAgent$1;
Lcom/android/internal/telephony/CarrierSignalAgent;
+Lcom/android/internal/telephony/CarrierSmsUtils;
Lcom/android/internal/telephony/CellBroadcastHandler;
+Lcom/android/internal/telephony/CellBroadcastServiceManager;
+Lcom/android/internal/telephony/CellNetworkScanResult$1;
Lcom/android/internal/telephony/CellNetworkScanResult;
Lcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider$1;
Lcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;
@@ -37603,6 +22954,8 @@ Lcom/android/internal/telephony/ClientWakelockTracker;
Lcom/android/internal/telephony/CommandException$Error;
Lcom/android/internal/telephony/CommandException;
Lcom/android/internal/telephony/CommandsInterface;
+Lcom/android/internal/telephony/Connection$Listener;
+Lcom/android/internal/telephony/Connection$PostDialState;
Lcom/android/internal/telephony/Connection;
Lcom/android/internal/telephony/DctConstants$Activity;
Lcom/android/internal/telephony/DctConstants$State;
@@ -37614,6 +22967,8 @@ Lcom/android/internal/telephony/DeviceStateMonitor$2;
Lcom/android/internal/telephony/DeviceStateMonitor$3;
Lcom/android/internal/telephony/DeviceStateMonitor$AccessNetworkThresholds;
Lcom/android/internal/telephony/DeviceStateMonitor;
+Lcom/android/internal/telephony/DriverCall$State;
+Lcom/android/internal/telephony/DriverCall;
Lcom/android/internal/telephony/EncodeException;
Lcom/android/internal/telephony/ExponentialBackoff$1;
Lcom/android/internal/telephony/ExponentialBackoff$HandlerAdapter;
@@ -37622,35 +22977,53 @@ Lcom/android/internal/telephony/GlobalSettingsHelper;
Lcom/android/internal/telephony/GsmAlphabet;
Lcom/android/internal/telephony/GsmCdmaCall;
Lcom/android/internal/telephony/GsmCdmaCallTracker$1;
+Lcom/android/internal/telephony/GsmCdmaCallTracker$2;
+Lcom/android/internal/telephony/GsmCdmaCallTracker$3;
Lcom/android/internal/telephony/GsmCdmaCallTracker;
Lcom/android/internal/telephony/GsmCdmaConnection;
Lcom/android/internal/telephony/GsmCdmaPhone$1;
Lcom/android/internal/telephony/GsmCdmaPhone$2;
Lcom/android/internal/telephony/GsmCdmaPhone$3;
+Lcom/android/internal/telephony/GsmCdmaPhone$Cfu;
Lcom/android/internal/telephony/GsmCdmaPhone;
Lcom/android/internal/telephony/HalVersion;
Lcom/android/internal/telephony/HardwareConfig;
+Lcom/android/internal/telephony/HbpcdUtils;
+Lcom/android/internal/telephony/HexDump;
Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;
Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;
Lcom/android/internal/telephony/ICarrierConfigLoader;
+Lcom/android/internal/telephony/IIccPhoneBook$Stub$Proxy;
Lcom/android/internal/telephony/IIccPhoneBook$Stub;
Lcom/android/internal/telephony/IIccPhoneBook;
+Lcom/android/internal/telephony/IIntegerConsumer$Stub$Proxy;
+Lcom/android/internal/telephony/IIntegerConsumer$Stub;
+Lcom/android/internal/telephony/IIntegerConsumer;
+Lcom/android/internal/telephony/IMms$Stub$Proxy;
Lcom/android/internal/telephony/IMms$Stub;
Lcom/android/internal/telephony/IMms;
+Lcom/android/internal/telephony/INumberVerificationCallback$Stub$Proxy;
+Lcom/android/internal/telephony/INumberVerificationCallback$Stub;
Lcom/android/internal/telephony/INumberVerificationCallback;
Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;
Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;
Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;
+Lcom/android/internal/telephony/IOns$Stub;
+Lcom/android/internal/telephony/IOns;
+Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;
Lcom/android/internal/telephony/IPhoneStateListener$Stub;
Lcom/android/internal/telephony/IPhoneStateListener;
Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;
Lcom/android/internal/telephony/IPhoneSubInfo$Stub;
Lcom/android/internal/telephony/IPhoneSubInfo;
+Lcom/android/internal/telephony/ISetOpportunisticDataCallback$Stub$Proxy;
Lcom/android/internal/telephony/ISetOpportunisticDataCallback$Stub;
Lcom/android/internal/telephony/ISetOpportunisticDataCallback;
+Lcom/android/internal/telephony/ISms$Stub$Proxy;
Lcom/android/internal/telephony/ISms$Stub;
Lcom/android/internal/telephony/ISms;
Lcom/android/internal/telephony/ISmsImplBase;
+Lcom/android/internal/telephony/IState;
Lcom/android/internal/telephony/ISub$Stub$Proxy;
Lcom/android/internal/telephony/ISub$Stub;
Lcom/android/internal/telephony/ISub;
@@ -37660,12 +23033,15 @@ Lcom/android/internal/telephony/ITelephony;
Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;
Lcom/android/internal/telephony/ITelephonyRegistry$Stub;
Lcom/android/internal/telephony/ITelephonyRegistry;
+Lcom/android/internal/telephony/IWapPushManager;
Lcom/android/internal/telephony/IccCard;
Lcom/android/internal/telephony/IccCardConstants$State;
Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;
+Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;
Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
Lcom/android/internal/telephony/IccProvider;
Lcom/android/internal/telephony/IccSmsInterfaceManager$1;
+Lcom/android/internal/telephony/IccSmsInterfaceManager$2;
Lcom/android/internal/telephony/IccSmsInterfaceManager$CdmaBroadcastRangeManager;
Lcom/android/internal/telephony/IccSmsInterfaceManager$CellBroadcastRangeManager;
Lcom/android/internal/telephony/IccSmsInterfaceManager;
@@ -37676,22 +23052,32 @@ Lcom/android/internal/telephony/ImsSmsDispatcher$4;
Lcom/android/internal/telephony/ImsSmsDispatcher;
Lcom/android/internal/telephony/InboundSmsHandler$1;
Lcom/android/internal/telephony/InboundSmsHandler$2;
+Lcom/android/internal/telephony/InboundSmsHandler$CarrierServicesSmsFilterCallback;
+Lcom/android/internal/telephony/InboundSmsHandler$CbTestBroadcastReceiver;
Lcom/android/internal/telephony/InboundSmsHandler$DefaultState;
Lcom/android/internal/telephony/InboundSmsHandler$DeliveringState;
Lcom/android/internal/telephony/InboundSmsHandler$IdleState;
Lcom/android/internal/telephony/InboundSmsHandler$NewMessageNotificationActionReceiver;
+Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;
Lcom/android/internal/telephony/InboundSmsHandler$StartupState;
Lcom/android/internal/telephony/InboundSmsHandler$WaitingState;
Lcom/android/internal/telephony/InboundSmsHandler;
+Lcom/android/internal/telephony/InboundSmsTracker;
Lcom/android/internal/telephony/IntRangeManager$ClientRange;
Lcom/android/internal/telephony/IntRangeManager$IntRange;
Lcom/android/internal/telephony/IntRangeManager;
Lcom/android/internal/telephony/IntentBroadcaster$1;
Lcom/android/internal/telephony/IntentBroadcaster;
+Lcom/android/internal/telephony/LastCallFailCause;
+Lcom/android/internal/telephony/LinkCapacityEstimate;
+Lcom/android/internal/telephony/LocalLog;
Lcom/android/internal/telephony/LocaleTracker$1;
Lcom/android/internal/telephony/LocaleTracker;
Lcom/android/internal/telephony/MccTable$MccEntry;
+Lcom/android/internal/telephony/MccTable$MccMnc;
Lcom/android/internal/telephony/MccTable;
+Lcom/android/internal/telephony/MmiCode;
+Lcom/android/internal/telephony/MultiSimSettingController$1;
Lcom/android/internal/telephony/MultiSimSettingController$UpdateDefaultAction;
Lcom/android/internal/telephony/MultiSimSettingController;
Lcom/android/internal/telephony/NetworkRegistrationManager$1;
@@ -37702,37 +23088,40 @@ Lcom/android/internal/telephony/NetworkRegistrationManager;
Lcom/android/internal/telephony/NetworkScanRequestTracker$1;
Lcom/android/internal/telephony/NetworkScanRequestTracker$NetworkScanRequestScheduler;
Lcom/android/internal/telephony/NetworkScanRequestTracker;
-Lcom/android/internal/telephony/NewNitzStateMachine$1;
-Lcom/android/internal/telephony/NewNitzStateMachine;
-Lcom/android/internal/telephony/NewTimeServiceHelper$1;
-Lcom/android/internal/telephony/NewTimeServiceHelper$Listener;
-Lcom/android/internal/telephony/NewTimeServiceHelper;
Lcom/android/internal/telephony/NitzData;
Lcom/android/internal/telephony/NitzStateMachine$DeviceState;
Lcom/android/internal/telephony/NitzStateMachine;
+Lcom/android/internal/telephony/NitzStateMachineImpl;
Lcom/android/internal/telephony/OemHookIndication;
Lcom/android/internal/telephony/OemHookResponse;
+Lcom/android/internal/telephony/OperatorInfo$1;
+Lcom/android/internal/telephony/OperatorInfo$State;
Lcom/android/internal/telephony/OperatorInfo;
Lcom/android/internal/telephony/Phone$1;
Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneConfigurationManager$MainThreadHandler;
+Lcom/android/internal/telephony/PhoneConfigurationManager$ConfigManagerHandler;
+Lcom/android/internal/telephony/PhoneConfigurationManager$MockableInterface;
Lcom/android/internal/telephony/PhoneConfigurationManager;
-Lcom/android/internal/telephony/PhoneConfigurationModels;
Lcom/android/internal/telephony/PhoneConstantConversions$1;
Lcom/android/internal/telephony/PhoneConstantConversions;
Lcom/android/internal/telephony/PhoneConstants$DataState;
Lcom/android/internal/telephony/PhoneConstants$State;
Lcom/android/internal/telephony/PhoneFactory;
Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
+Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;
+Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs;
+Lcom/android/internal/telephony/PhoneInternalInterface$SuppService;
Lcom/android/internal/telephony/PhoneInternalInterface;
Lcom/android/internal/telephony/PhoneNotifier;
+Lcom/android/internal/telephony/PhoneStateIntentReceiver;
Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;
Lcom/android/internal/telephony/PhoneSubInfoController$PermissionCheckHelper;
Lcom/android/internal/telephony/PhoneSubInfoController;
Lcom/android/internal/telephony/PhoneSwitcher$1;
+Lcom/android/internal/telephony/PhoneSwitcher$2;
Lcom/android/internal/telephony/PhoneSwitcher$3;
-Lcom/android/internal/telephony/PhoneSwitcher$4;
-Lcom/android/internal/telephony/PhoneSwitcher$5;
+Lcom/android/internal/telephony/PhoneSwitcher$DefaultNetworkCallback;
+Lcom/android/internal/telephony/PhoneSwitcher$EmergencyOverrideRequest;
Lcom/android/internal/telephony/PhoneSwitcher$PhoneState;
Lcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;
Lcom/android/internal/telephony/PhoneSwitcher;
@@ -37743,6 +23132,7 @@ Lcom/android/internal/telephony/RIL$RilHandler;
Lcom/android/internal/telephony/RIL;
Lcom/android/internal/telephony/RILConstants;
Lcom/android/internal/telephony/RILRequest;
+Lcom/android/internal/telephony/RadioBugDetector;
Lcom/android/internal/telephony/RadioCapability;
Lcom/android/internal/telephony/RadioConfig$ServiceDeathRecipient;
Lcom/android/internal/telephony/RadioConfig;
@@ -37752,11 +23142,18 @@ Lcom/android/internal/telephony/RadioIndication;
Lcom/android/internal/telephony/RadioResponse;
Lcom/android/internal/telephony/RatRatcheter$1;
Lcom/android/internal/telephony/RatRatcheter;
+Lcom/android/internal/telephony/Registrant;
+Lcom/android/internal/telephony/RegistrantList;
Lcom/android/internal/telephony/RestrictedState;
Lcom/android/internal/telephony/RetryManager$RetryRec;
Lcom/android/internal/telephony/RetryManager;
Lcom/android/internal/telephony/RilWakelockInfo;
+Lcom/android/internal/telephony/SMSDispatcher$DataSmsSender;
Lcom/android/internal/telephony/SMSDispatcher$SettingsObserver;
+Lcom/android/internal/telephony/SMSDispatcher$SmsSender;
+Lcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;
+Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
+Lcom/android/internal/telephony/SMSDispatcher$TextSmsSender;
Lcom/android/internal/telephony/SMSDispatcher;
Lcom/android/internal/telephony/ServiceStateTracker$1;
Lcom/android/internal/telephony/ServiceStateTracker$SstSubscriptionsChangedListener;
@@ -37764,26 +23161,41 @@ Lcom/android/internal/telephony/ServiceStateTracker;
Lcom/android/internal/telephony/SettingsObserver;
Lcom/android/internal/telephony/SimActivationTracker$1;
Lcom/android/internal/telephony/SimActivationTracker;
+Lcom/android/internal/telephony/SmsAddress;
Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;
Lcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;
Lcom/android/internal/telephony/SmsApplication;
Lcom/android/internal/telephony/SmsBroadcastUndelivered$1;
+Lcom/android/internal/telephony/SmsBroadcastUndelivered$2;
Lcom/android/internal/telephony/SmsBroadcastUndelivered$ScanRawTableThread;
+Lcom/android/internal/telephony/SmsBroadcastUndelivered$SmsReferenceKey;
Lcom/android/internal/telephony/SmsBroadcastUndelivered;
+Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsController;
Lcom/android/internal/telephony/SmsDispatchersController$1;
Lcom/android/internal/telephony/SmsDispatchersController;
+Lcom/android/internal/telephony/SmsHeader$ConcatRef;
+Lcom/android/internal/telephony/SmsHeader$PortAddrs;
+Lcom/android/internal/telephony/SmsHeader;
+Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
+Lcom/android/internal/telephony/SmsMessageBase;
+Lcom/android/internal/telephony/SmsNumberUtils;
+Lcom/android/internal/telephony/SmsPermissions;
+Lcom/android/internal/telephony/SmsResponse;
Lcom/android/internal/telephony/SmsStorageMonitor$1;
Lcom/android/internal/telephony/SmsStorageMonitor;
Lcom/android/internal/telephony/SmsUsageMonitor$SettingsObserver;
Lcom/android/internal/telephony/SmsUsageMonitor$SettingsObserverHandler;
Lcom/android/internal/telephony/SmsUsageMonitor;
-Lcom/android/internal/telephony/SubscriptionController$ScLocalLog;
+Lcom/android/internal/telephony/SomeArgs;
+Lcom/android/internal/telephony/State;
+Lcom/android/internal/telephony/StateMachine$LogRecords;
+Lcom/android/internal/telephony/StateMachine$SmHandler;
+Lcom/android/internal/telephony/StateMachine;
Lcom/android/internal/telephony/SubscriptionController;
Lcom/android/internal/telephony/SubscriptionInfoUpdater$1;
+Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;
Lcom/android/internal/telephony/SubscriptionInfoUpdater;
-Lcom/android/internal/telephony/SubscriptionMonitor$1;
-Lcom/android/internal/telephony/SubscriptionMonitor$2;
-Lcom/android/internal/telephony/SubscriptionMonitor;
Lcom/android/internal/telephony/TelephonyCapabilities;
Lcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;
Lcom/android/internal/telephony/TelephonyComponentFactory;
@@ -37791,11 +23203,16 @@ Lcom/android/internal/telephony/TelephonyDevController;
Lcom/android/internal/telephony/TelephonyPermissions;
Lcom/android/internal/telephony/TelephonyTester$1;
Lcom/android/internal/telephony/TelephonyTester;
+Lcom/android/internal/telephony/TimeServiceHelper;
+Lcom/android/internal/telephony/TimeUtils;
Lcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;
Lcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;
Lcom/android/internal/telephony/TimeZoneLookupHelper;
+Lcom/android/internal/telephony/UUSInfo;
Lcom/android/internal/telephony/UiccPhoneBookController;
-Lcom/android/internal/telephony/UiccSmsController;
+Lcom/android/internal/telephony/VisualVoicemailSmsFilter$1;
+Lcom/android/internal/telephony/VisualVoicemailSmsFilter$PhoneAccountHandleConverter;
+Lcom/android/internal/telephony/VisualVoicemailSmsFilter;
Lcom/android/internal/telephony/WakeLockStateMachine$1;
Lcom/android/internal/telephony/WakeLockStateMachine$DefaultState;
Lcom/android/internal/telephony/WakeLockStateMachine$IdleState;
@@ -37804,16 +23221,44 @@ Lcom/android/internal/telephony/WakeLockStateMachine;
Lcom/android/internal/telephony/WapPushOverSms$1;
Lcom/android/internal/telephony/WapPushOverSms$BindServiceThread;
Lcom/android/internal/telephony/WapPushOverSms;
+Lcom/android/internal/telephony/cat/AppInterface$CommandType;
Lcom/android/internal/telephony/cat/AppInterface;
+Lcom/android/internal/telephony/cat/BIPClientParams;
+Lcom/android/internal/telephony/cat/BerTlv;
+Lcom/android/internal/telephony/cat/CallSetupParams;
+Lcom/android/internal/telephony/cat/CatCmdMessage$1;
+Lcom/android/internal/telephony/cat/CatCmdMessage;
Lcom/android/internal/telephony/cat/CatException;
Lcom/android/internal/telephony/cat/CatLog;
+Lcom/android/internal/telephony/cat/CatResponseMessage;
+Lcom/android/internal/telephony/cat/CatService$1;
Lcom/android/internal/telephony/cat/CatService;
+Lcom/android/internal/telephony/cat/CommandDetails;
+Lcom/android/internal/telephony/cat/CommandParams;
+Lcom/android/internal/telephony/cat/CommandParamsFactory$1;
Lcom/android/internal/telephony/cat/CommandParamsFactory;
+Lcom/android/internal/telephony/cat/ComprehensionTlv;
+Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
+Lcom/android/internal/telephony/cat/DTTZResponseData;
+Lcom/android/internal/telephony/cat/DisplayTextParams;
Lcom/android/internal/telephony/cat/IconLoader;
+Lcom/android/internal/telephony/cat/LanguageParams;
+Lcom/android/internal/telephony/cat/LanguageResponseData;
+Lcom/android/internal/telephony/cat/LaunchBrowserParams;
+Lcom/android/internal/telephony/cat/ResponseData;
+Lcom/android/internal/telephony/cat/ResultCode;
Lcom/android/internal/telephony/cat/ResultException;
+Lcom/android/internal/telephony/cat/RilMessage;
Lcom/android/internal/telephony/cat/RilMessageDecoder$StateCmdParamsReady;
Lcom/android/internal/telephony/cat/RilMessageDecoder$StateStart;
Lcom/android/internal/telephony/cat/RilMessageDecoder;
+Lcom/android/internal/telephony/cat/TextMessage;
+Lcom/android/internal/telephony/cat/ValueObject;
+Lcom/android/internal/telephony/cat/ValueParser;
+Lcom/android/internal/telephony/cdma/-$$Lambda$CdmaInboundSmsHandler$sD3UQ6e4SE9ZbPjDZ9bEr_XRoaA;
+Lcom/android/internal/telephony/cdma/CdmaCallWaitingNotification;
+Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler$CdmaCbTestBroadcastReceiver;
+Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler$CdmaScpTestBroadcastReceiver;
Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;
Lcom/android/internal/telephony/cdma/CdmaSMSDispatcher;
Lcom/android/internal/telephony/cdma/CdmaServiceCategoryProgramHandler$1;
@@ -37823,6 +23268,14 @@ Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
Lcom/android/internal/telephony/cdma/EriInfo;
Lcom/android/internal/telephony/cdma/EriManager$EriFile;
Lcom/android/internal/telephony/cdma/EriManager;
+Lcom/android/internal/telephony/cdma/SmsMessage;
+Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData$1;
+Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData$Builder;
+Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData;
+Lcom/android/internal/telephony/cdnr/CarrierDisplayNameResolver$CarrierDisplayNameConditionRule;
+Lcom/android/internal/telephony/cdnr/CarrierDisplayNameResolver;
+Lcom/android/internal/telephony/dataconnection/-$$Lambda$DataConnection$-tFSpFGzTv_UdpzJlTMOvg8VO98;
+Lcom/android/internal/telephony/dataconnection/-$$Lambda$XZAGhHrbkIDyusER4MAM6luKcT0;
Lcom/android/internal/telephony/dataconnection/AccessNetworksManager$1;
Lcom/android/internal/telephony/dataconnection/AccessNetworksManager;
Lcom/android/internal/telephony/dataconnection/ApnContext;
@@ -37838,11 +23291,18 @@ Lcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;
Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;
Lcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectionErrorCreatingConnection;
Lcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;
+Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
Lcom/android/internal/telephony/dataconnection/DataConnection;
Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataAllowedReasonType;
Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;
Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;
+Lcom/android/internal/telephony/dataconnection/DataEnabledOverride$OverrideConditions;
+Lcom/android/internal/telephony/dataconnection/DataEnabledOverride$OverrideRule;
+Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
+Lcom/android/internal/telephony/dataconnection/DataEnabledSettings$1;
+Lcom/android/internal/telephony/dataconnection/DataEnabledSettings$2;
Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;
Lcom/android/internal/telephony/dataconnection/DataServiceManager$1;
Lcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;
@@ -37850,10 +23310,11 @@ Lcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataSe
Lcom/android/internal/telephony/dataconnection/DataServiceManager$DataServiceManagerDeathRecipient;
Lcom/android/internal/telephony/dataconnection/DataServiceManager;
Lcom/android/internal/telephony/dataconnection/DcController$1;
-Lcom/android/internal/telephony/dataconnection/DcController$2;
Lcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;
Lcom/android/internal/telephony/dataconnection/DcController;
Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
+Lcom/android/internal/telephony/dataconnection/DcNetworkAgent$DcKeepaliveTracker;
+Lcom/android/internal/telephony/dataconnection/DcNetworkAgent;
Lcom/android/internal/telephony/dataconnection/DcRequest;
Lcom/android/internal/telephony/dataconnection/DcTesterDeactivateAll$1;
Lcom/android/internal/telephony/dataconnection/DcTesterDeactivateAll;
@@ -37862,15 +23323,21 @@ Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;
Lcom/android/internal/telephony/dataconnection/DcTracker$1;
Lcom/android/internal/telephony/dataconnection/DcTracker$2;
Lcom/android/internal/telephony/dataconnection/DcTracker$3;
+Lcom/android/internal/telephony/dataconnection/DcTracker$4;
Lcom/android/internal/telephony/dataconnection/DcTracker$5;
+Lcom/android/internal/telephony/dataconnection/DcTracker$6;
Lcom/android/internal/telephony/dataconnection/DcTracker$ApnChangeObserver;
Lcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;
Lcom/android/internal/telephony/dataconnection/DcTracker$DctOnSubscriptionsChangedListener;
+Lcom/android/internal/telephony/dataconnection/DcTracker$ProvisionNotificationBroadcastReceiver;
Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;
Lcom/android/internal/telephony/dataconnection/DcTracker$TxRxSum;
Lcom/android/internal/telephony/dataconnection/DcTracker;
+Lcom/android/internal/telephony/dataconnection/KeepaliveStatus$1;
+Lcom/android/internal/telephony/dataconnection/KeepaliveStatus;
Lcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory$InternalHandler;
Lcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;
+Lcom/android/internal/telephony/dataconnection/TransportManager$HandoverParams;
Lcom/android/internal/telephony/dataconnection/TransportManager;
Lcom/android/internal/telephony/emergency/EmergencyNumberTracker$1;
Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
@@ -37881,30 +23348,59 @@ Lcom/android/internal/telephony/euicc/EuiccConnector$1;
Lcom/android/internal/telephony/euicc/EuiccConnector$AvailableState;
Lcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;
Lcom/android/internal/telephony/euicc/EuiccConnector$BindingState;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$10;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$11;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$12;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$13;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$14;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$1;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$2;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$3;
Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$4;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$5;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$6;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$7;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$8;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$9;
Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;
+Lcom/android/internal/telephony/euicc/EuiccConnector$DeleteRequest;
Lcom/android/internal/telephony/euicc/EuiccConnector$DisconnectedState;
+Lcom/android/internal/telephony/euicc/EuiccConnector$DownloadRequest;
Lcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;
+Lcom/android/internal/telephony/euicc/EuiccConnector$GetDefaultListRequest;
Lcom/android/internal/telephony/euicc/EuiccConnector$GetEuiccProfileInfoListCommandCallback;
+Lcom/android/internal/telephony/euicc/EuiccConnector$GetMetadataRequest;
+Lcom/android/internal/telephony/euicc/EuiccConnector$SwitchRequest;
Lcom/android/internal/telephony/euicc/EuiccConnector$UnavailableState;
+Lcom/android/internal/telephony/euicc/EuiccConnector$UpdateNicknameRequest;
Lcom/android/internal/telephony/euicc/EuiccConnector;
Lcom/android/internal/telephony/euicc/EuiccController$3;
Lcom/android/internal/telephony/euicc/EuiccController;
Lcom/android/internal/telephony/euicc/IEuiccCardController$Stub;
Lcom/android/internal/telephony/euicc/IEuiccCardController;
+Lcom/android/internal/telephony/euicc/IEuiccController$Stub$Proxy;
Lcom/android/internal/telephony/euicc/IEuiccController$Stub;
Lcom/android/internal/telephony/euicc/IEuiccController;
Lcom/android/internal/telephony/gsm/GsmCellBroadcastHandler;
+Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler$GsmCbTestBroadcastReceiver;
Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;
+Lcom/android/internal/telephony/gsm/GsmMmiCode;
Lcom/android/internal/telephony/gsm/GsmSMSDispatcher;
Lcom/android/internal/telephony/gsm/SimTlv;
Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;
+Lcom/android/internal/telephony/gsm/SmsMessage;
+Lcom/android/internal/telephony/gsm/SuppServiceNotification;
Lcom/android/internal/telephony/gsm/UsimDataDownloadHandler;
+Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;
+Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$PbrRecord;
Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;
+Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$-jFhgP_NotuFSwzjQBXWuvls4x4;
Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs;
Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$VfY5To_kbbTJevLzywTg-_S1JhA;
Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI;
+Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$kF808g2NWzNL8H1SwzDc1FxiQdQ;
Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$pNx4XUM9FmR6cV_MCAGiEt8F4pg;
+Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw;
Lcom/android/internal/telephony/ims/-$$Lambda$ImsServiceController$w3xbtqEhKr7IY81qFuw0e94p84Y;
Lcom/android/internal/telephony/ims/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;
Lcom/android/internal/telephony/ims/-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs;
@@ -37915,10 +23411,13 @@ Lcom/android/internal/telephony/ims/ImsResolver$4;
Lcom/android/internal/telephony/ims/ImsResolver$5;
Lcom/android/internal/telephony/ims/ImsResolver$6;
Lcom/android/internal/telephony/ims/ImsResolver$7;
+Lcom/android/internal/telephony/ims/ImsResolver$8;
+Lcom/android/internal/telephony/ims/ImsResolver$9;
Lcom/android/internal/telephony/ims/ImsResolver$ImsDynamicQueryManagerFactory;
Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceControllerFactory;
Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;
Lcom/android/internal/telephony/ims/ImsResolver$SubscriptionManagerProxy;
+Lcom/android/internal/telephony/ims/ImsResolver$TelephonyManagerProxy;
Lcom/android/internal/telephony/ims/ImsResolver;
Lcom/android/internal/telephony/ims/ImsServiceController$1;
Lcom/android/internal/telephony/ims/ImsServiceController$2;
@@ -37930,14 +23429,14 @@ Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceConnection;
Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;
Lcom/android/internal/telephony/ims/ImsServiceController$RebindRetry;
Lcom/android/internal/telephony/ims/ImsServiceController;
+Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;
Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;
Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;
Lcom/android/internal/telephony/ims/RcsEventQueryHelper;
+Lcom/android/internal/telephony/ims/RcsMessageController;
Lcom/android/internal/telephony/ims/RcsMessageQueryHelper;
-Lcom/android/internal/telephony/ims/RcsMessageStoreController;
Lcom/android/internal/telephony/ims/RcsMessageStoreUtil;
Lcom/android/internal/telephony/ims/RcsParticipantQueryHelper;
-Lcom/android/internal/telephony/ims/RcsThreadQueryHelper;
Lcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54;
Lcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg;
Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$1;
@@ -37947,9 +23446,14 @@ Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalConnecti
Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ImsCallNotify;
Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;
Lcom/android/internal/telephony/imsphone/ImsExternalConnection$Listener;
+Lcom/android/internal/telephony/imsphone/ImsExternalConnection;
Lcom/android/internal/telephony/imsphone/ImsPhone$1;
Lcom/android/internal/telephony/imsphone/ImsPhone$2;
Lcom/android/internal/telephony/imsphone/ImsPhone$3;
+Lcom/android/internal/telephony/imsphone/ImsPhone$4;
+Lcom/android/internal/telephony/imsphone/ImsPhone$5;
+Lcom/android/internal/telephony/imsphone/ImsPhone$Cf;
+Lcom/android/internal/telephony/imsphone/ImsPhone$ImsDialArgs$Builder;
Lcom/android/internal/telephony/imsphone/ImsPhone;
Lcom/android/internal/telephony/imsphone/ImsPhoneBase;
Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
@@ -37969,42 +23473,65 @@ Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneStateListener;
Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$SharedPreferenceProxy;
Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
Lcom/android/internal/telephony/imsphone/ImsPhoneCommandInterface;
+Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;
Lcom/android/internal/telephony/imsphone/ImsPhoneFactory;
+Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;
Lcom/android/internal/telephony/imsphone/ImsPullCall;
+Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$fLmZDbNadlr6LF7zSJ6jCR1AAsk;
Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY;
+Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$x2dJi76S2YQdpSTfY8RZ8qC_K6g;
Lcom/android/internal/telephony/metrics/CallSessionEventBuilder;
Lcom/android/internal/telephony/metrics/InProgressCallSession;
Lcom/android/internal/telephony/metrics/InProgressSmsSession;
+Lcom/android/internal/telephony/metrics/ModemPowerMetrics;
Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
+Lcom/android/internal/telephony/metrics/TelephonyMetrics$1;
Lcom/android/internal/telephony/metrics/TelephonyMetrics;
Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;
Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;
Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;
+Lcom/android/internal/telephony/nano/TelephonyProto$EmergencyNumberInfo;
Lcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;
Lcom/android/internal/telephony/nano/TelephonyProto$ImsConnectionState;
Lcom/android/internal/telephony/nano/TelephonyProto$ImsReasonInfo;
+Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
Lcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;
Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
+Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$NetworkCapabilitiesInfo;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$OnDemandDataSwitch;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilDeactivateDataCall;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState$TelephonyOperator;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState;
Lcom/android/internal/telephony/nano/TelephonyProto$TelephonySettings;
+Lcom/android/internal/telephony/nano/TelephonyProto$Time;
+Lcom/android/internal/telephony/nitz/NewNitzStateMachineImpl;
Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;
+Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano$OutOfSpaceException;
Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;
Lcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;
+Lcom/android/internal/telephony/protobuf/nano/FieldArray;
+Lcom/android/internal/telephony/protobuf/nano/FieldData;
Lcom/android/internal/telephony/protobuf/nano/InternalNano;
Lcom/android/internal/telephony/protobuf/nano/InvalidProtocolBufferNanoException;
Lcom/android/internal/telephony/protobuf/nano/MessageNano;
+Lcom/android/internal/telephony/protobuf/nano/MessageNanoPrinter;
Lcom/android/internal/telephony/protobuf/nano/WireFormatNano;
+Lcom/android/internal/telephony/sip/SipPhone;
+Lcom/android/internal/telephony/sip/SipPhoneBase;
Lcom/android/internal/telephony/test/SimulatedRadioControl;
Lcom/android/internal/telephony/uicc/AdnRecord$1;
Lcom/android/internal/telephony/uicc/AdnRecord;
@@ -38014,6 +23541,7 @@ Lcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;
Lcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;
Lcom/android/internal/telephony/uicc/AnswerToReset;
Lcom/android/internal/telephony/uicc/CarrierTestOverride;
+Lcom/android/internal/telephony/uicc/CsimFileHandler;
Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
@@ -38022,18 +23550,35 @@ Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
Lcom/android/internal/telephony/uicc/IccCardStatus;
Lcom/android/internal/telephony/uicc/IccConstants;
+Lcom/android/internal/telephony/uicc/IccException;
Lcom/android/internal/telephony/uicc/IccFileHandler$LoadLinearFixedContext;
Lcom/android/internal/telephony/uicc/IccFileHandler;
+Lcom/android/internal/telephony/uicc/IccFileNotFound;
+Lcom/android/internal/telephony/uicc/IccFileTypeMismatch;
Lcom/android/internal/telephony/uicc/IccIoResult;
Lcom/android/internal/telephony/uicc/IccRecords$IccRecordLoaded;
Lcom/android/internal/telephony/uicc/IccRecords;
+Lcom/android/internal/telephony/uicc/IccRefreshResponse;
Lcom/android/internal/telephony/uicc/IccServiceTable;
Lcom/android/internal/telephony/uicc/IccSlotStatus$SlotState;
Lcom/android/internal/telephony/uicc/IccSlotStatus;
Lcom/android/internal/telephony/uicc/IccUtils;
+Lcom/android/internal/telephony/uicc/IccVmNotSupportedException;
+Lcom/android/internal/telephony/uicc/InstallCarrierAppTrampolineActivity;
Lcom/android/internal/telephony/uicc/InstallCarrierAppUtils;
+Lcom/android/internal/telephony/uicc/IsimFileHandler;
+Lcom/android/internal/telephony/uicc/IsimRecords;
+Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimDomainLoaded;
+Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpiLoaded;
+Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpuLoaded;
+Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimIstLoaded;
+Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimPcscfLoaded;
+Lcom/android/internal/telephony/uicc/IsimUiccRecords;
Lcom/android/internal/telephony/uicc/PlmnActRecord$1;
Lcom/android/internal/telephony/uicc/PlmnActRecord;
+Lcom/android/internal/telephony/uicc/RuimFileHandler;
+Lcom/android/internal/telephony/uicc/RuimRecords;
+Lcom/android/internal/telephony/uicc/SIMFileHandler;
Lcom/android/internal/telephony/uicc/SIMRecords$1;
Lcom/android/internal/telephony/uicc/SIMRecords$EfPlLoaded;
Lcom/android/internal/telephony/uicc/SIMRecords$EfUsimLiLoaded;
@@ -38044,15 +23589,18 @@ Lcom/android/internal/telephony/uicc/UiccCardApplication$1;
Lcom/android/internal/telephony/uicc/UiccCardApplication$2;
Lcom/android/internal/telephony/uicc/UiccCardApplication;
Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$1;
+Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;
Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;
Lcom/android/internal/telephony/uicc/UiccController$1;
Lcom/android/internal/telephony/uicc/UiccController;
+Lcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;
Lcom/android/internal/telephony/uicc/UiccPkcs15$Pkcs15Selector;
Lcom/android/internal/telephony/uicc/UiccPkcs15;
Lcom/android/internal/telephony/uicc/UiccProfile$1;
Lcom/android/internal/telephony/uicc/UiccProfile$2;
Lcom/android/internal/telephony/uicc/UiccProfile$3;
Lcom/android/internal/telephony/uicc/UiccProfile$4;
+Lcom/android/internal/telephony/uicc/UiccProfile$5;
Lcom/android/internal/telephony/uicc/UiccProfile;
Lcom/android/internal/telephony/uicc/UiccSlot;
Lcom/android/internal/telephony/uicc/UiccStateChangedLauncher;
@@ -38060,20 +23608,46 @@ Lcom/android/internal/telephony/uicc/UsimFileHandler;
Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
Lcom/android/internal/telephony/uicc/UsimServiceTable;
Lcom/android/internal/telephony/uicc/VoiceMailConstants;
+Lcom/android/internal/telephony/uicc/asn1/InvalidAsn1DataException;
+Lcom/android/internal/telephony/uicc/asn1/TagNotFoundException;
Lcom/android/internal/telephony/uicc/euicc/EuiccCard;
+Lcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;
+Lcom/android/internal/telephony/util/ArrayUtils;
Lcom/android/internal/telephony/util/NotificationChannelController$1;
Lcom/android/internal/telephony/util/NotificationChannelController;
+Lcom/android/internal/telephony/util/SMSDispatcherUtil;
+Lcom/android/internal/telephony/util/TelephonyUtils;
Lcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;
+Lcom/android/internal/telephony/util/XmlUtils;
+Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;
+Lcom/android/internal/textservice/ISpellCheckerService$Stub;
+Lcom/android/internal/textservice/ISpellCheckerService;
+Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;
+Lcom/android/internal/textservice/ISpellCheckerServiceCallback;
Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;
+Lcom/android/internal/textservice/ISpellCheckerSession$Stub;
Lcom/android/internal/textservice/ISpellCheckerSession;
+Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;
Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;
Lcom/android/internal/textservice/ISpellCheckerSessionListener;
Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;
Lcom/android/internal/textservice/ITextServicesManager$Stub;
Lcom/android/internal/textservice/ITextServicesManager;
+Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;
Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;
Lcom/android/internal/textservice/ITextServicesSessionListener;
Lcom/android/internal/transition/EpicenterTranslateClipReveal;
+Lcom/android/internal/util/-$$Lambda$DumpUtils$D1OlZP6xIpu72ypnJd0fzx0wd6I;
+Lcom/android/internal/util/-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0;
+Lcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;
+Lcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;
+Lcom/android/internal/util/-$$Lambda$JwOUSWW2-Jzu15y4Kn4JuPh8tWM;
+Lcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;
+Lcom/android/internal/util/-$$Lambda$TCbPpgWlKJUHZgFKCczglAvxLfw;
+Lcom/android/internal/util/-$$Lambda$eRa1rlfDk6Og2yFeXGHqUGPzRF0;
+Lcom/android/internal/util/-$$Lambda$grRTg3idX3yJe9Zyx-tmLBiD1DM;
+Lcom/android/internal/util/-$$Lambda$kVylv1rl9MOSbHFZoVyK5dl1kfY;
+Lcom/android/internal/util/AnnotationValidations;
Lcom/android/internal/util/ArrayUtils;
Lcom/android/internal/util/AsyncChannel$AsyncChannelConnection;
Lcom/android/internal/util/AsyncChannel$DeathMonitor;
@@ -38081,10 +23655,14 @@ Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;
Lcom/android/internal/util/AsyncChannel$SyncMessenger;
Lcom/android/internal/util/AsyncChannel;
Lcom/android/internal/util/BitUtils;
+Lcom/android/internal/util/BitwiseInputStream$AccessException;
Lcom/android/internal/util/CollectionUtils;
Lcom/android/internal/util/ConcurrentUtils$1$1;
Lcom/android/internal/util/ConcurrentUtils$1;
+Lcom/android/internal/util/ConcurrentUtils$DirectExecutor;
Lcom/android/internal/util/ConcurrentUtils;
+Lcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;
+Lcom/android/internal/util/ContrastColorUtil;
Lcom/android/internal/util/DumpUtils$Dump;
Lcom/android/internal/util/DumpUtils;
Lcom/android/internal/util/ExponentiallyBucketedHistogram;
@@ -38097,6 +23675,7 @@ Lcom/android/internal/util/FileRotator$Reader;
Lcom/android/internal/util/FileRotator$Rewriter;
Lcom/android/internal/util/FileRotator$Writer;
Lcom/android/internal/util/FileRotator;
+Lcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;
Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;
Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;
Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;
@@ -38112,13 +23691,16 @@ Lcom/android/internal/util/LatencyTracker;
Lcom/android/internal/util/LineBreakBufferedWriter;
Lcom/android/internal/util/LocalLog;
Lcom/android/internal/util/MemInfoReader;
+Lcom/android/internal/util/MessageUtils$DuplicateConstantError;
Lcom/android/internal/util/MessageUtils;
Lcom/android/internal/util/NotificationMessagingUtil$1;
Lcom/android/internal/util/NotificationMessagingUtil;
Lcom/android/internal/util/ObjectUtils;
Lcom/android/internal/util/ParseUtils;
Lcom/android/internal/util/Preconditions;
+Lcom/android/internal/util/ProcFileReader;
Lcom/android/internal/util/ProgressReporter;
+Lcom/android/internal/util/ProviderAccessStats;
Lcom/android/internal/util/RingBuffer;
Lcom/android/internal/util/RingBufferIndices;
Lcom/android/internal/util/ScreenshotHelper;
@@ -38131,29 +23713,43 @@ Lcom/android/internal/util/StateMachine$SmHandler$QuittingState;
Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
Lcom/android/internal/util/StateMachine$SmHandler;
Lcom/android/internal/util/StateMachine;
+Lcom/android/internal/util/SyncResultReceiver$TimeoutException;
Lcom/android/internal/util/SyncResultReceiver;
Lcom/android/internal/util/ToBooleanFunction;
Lcom/android/internal/util/TokenBucket;
+Lcom/android/internal/util/UserIcons;
Lcom/android/internal/util/VirtualRefBasePtr;
Lcom/android/internal/util/WakeupMessage;
Lcom/android/internal/util/XmlUtils$ReadMapCallback;
Lcom/android/internal/util/XmlUtils$WriteMapCallback;
Lcom/android/internal/util/XmlUtils;
+Lcom/android/internal/util/function/DecConsumer;
+Lcom/android/internal/util/function/DecFunction;
+Lcom/android/internal/util/function/DecPredicate;
Lcom/android/internal/util/function/HeptConsumer;
Lcom/android/internal/util/function/HeptFunction;
+Lcom/android/internal/util/function/HeptPredicate;
Lcom/android/internal/util/function/HexConsumer;
Lcom/android/internal/util/function/HexFunction;
+Lcom/android/internal/util/function/HexPredicate;
Lcom/android/internal/util/function/NonaConsumer;
Lcom/android/internal/util/function/NonaFunction;
+Lcom/android/internal/util/function/NonaPredicate;
Lcom/android/internal/util/function/OctConsumer;
Lcom/android/internal/util/function/OctFunction;
+Lcom/android/internal/util/function/OctPredicate;
Lcom/android/internal/util/function/QuadConsumer;
Lcom/android/internal/util/function/QuadFunction;
+Lcom/android/internal/util/function/QuadPredicate;
Lcom/android/internal/util/function/QuintConsumer;
Lcom/android/internal/util/function/QuintFunction;
+Lcom/android/internal/util/function/QuintPredicate;
Lcom/android/internal/util/function/TriConsumer;
Lcom/android/internal/util/function/TriFunction;
Lcom/android/internal/util/function/TriPredicate;
+Lcom/android/internal/util/function/UndecConsumer;
+Lcom/android/internal/util/function/UndecFunction;
+Lcom/android/internal/util/function/UndecPredicate;
Lcom/android/internal/util/function/pooled/ArgumentPlaceholder;
Lcom/android/internal/util/function/pooled/OmniFunction;
Lcom/android/internal/util/function/pooled/PooledConsumer;
@@ -38169,6 +23765,9 @@ Lcom/android/internal/util/function/pooled/PooledSupplier$OfInt;
Lcom/android/internal/util/function/pooled/PooledSupplier$OfLong;
Lcom/android/internal/util/function/pooled/PooledSupplier;
Lcom/android/internal/view/ActionBarPolicy;
+Lcom/android/internal/view/AppearanceRegion;
+Lcom/android/internal/view/BaseIWindow;
+Lcom/android/internal/view/BaseSurfaceHolder;
Lcom/android/internal/view/IInputConnectionWrapper$MyHandler;
Lcom/android/internal/view/IInputConnectionWrapper;
Lcom/android/internal/view/IInputContext$Stub$Proxy;
@@ -38177,8 +23776,10 @@ Lcom/android/internal/view/IInputContext;
Lcom/android/internal/view/IInputContextCallback$Stub$Proxy;
Lcom/android/internal/view/IInputContextCallback$Stub;
Lcom/android/internal/view/IInputContextCallback;
+Lcom/android/internal/view/IInputMethod$Stub$Proxy;
Lcom/android/internal/view/IInputMethod$Stub;
Lcom/android/internal/view/IInputMethod;
+Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;
Lcom/android/internal/view/IInputMethodClient$Stub;
Lcom/android/internal/view/IInputMethodClient;
Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;
@@ -38187,29 +23788,42 @@ Lcom/android/internal/view/IInputMethodManager;
Lcom/android/internal/view/IInputMethodSession$Stub$Proxy;
Lcom/android/internal/view/IInputMethodSession$Stub;
Lcom/android/internal/view/IInputMethodSession;
+Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;
Lcom/android/internal/view/IInputSessionCallback$Stub;
Lcom/android/internal/view/IInputSessionCallback;
Lcom/android/internal/view/InputBindResult$1;
Lcom/android/internal/view/InputBindResult;
+Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
+Lcom/android/internal/view/InputConnectionWrapper;
+Lcom/android/internal/view/OneShotPreDrawListener;
Lcom/android/internal/view/RootViewSurfaceTaker;
+Lcom/android/internal/view/RotationPolicy$1;
+Lcom/android/internal/view/RotationPolicy$RotationPolicyListener;
Lcom/android/internal/view/RotationPolicy;
Lcom/android/internal/view/SurfaceCallbackHelper$1;
Lcom/android/internal/view/SurfaceCallbackHelper;
+Lcom/android/internal/view/TooltipPopup;
Lcom/android/internal/view/WindowManagerPolicyThread;
Lcom/android/internal/view/animation/FallbackLUTInterpolator;
Lcom/android/internal/view/animation/HasNativeInterpolator;
Lcom/android/internal/view/animation/NativeInterpolatorFactory;
Lcom/android/internal/view/animation/NativeInterpolatorFactoryHelper;
Lcom/android/internal/view/menu/ActionMenuItem;
+Lcom/android/internal/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener;
+Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;
+Lcom/android/internal/view/menu/ActionMenuItemView;
Lcom/android/internal/view/menu/BaseMenuPresenter;
+Lcom/android/internal/view/menu/ContextMenuBuilder;
Lcom/android/internal/view/menu/MenuBuilder$Callback;
Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;
Lcom/android/internal/view/menu/MenuBuilder;
Lcom/android/internal/view/menu/MenuHelper;
Lcom/android/internal/view/menu/MenuItemImpl;
+Lcom/android/internal/view/menu/MenuPopupHelper$1;
Lcom/android/internal/view/menu/MenuPopupHelper;
Lcom/android/internal/view/menu/MenuPresenter$Callback;
Lcom/android/internal/view/menu/MenuPresenter;
+Lcom/android/internal/view/menu/MenuView$ItemView;
Lcom/android/internal/view/menu/MenuView;
Lcom/android/internal/view/menu/ShowableListMenu;
Lcom/android/internal/widget/AbsActionBarView$VisibilityAnimListener;
@@ -38224,11 +23838,17 @@ Lcom/android/internal/widget/ActionBarOverlayLayout$4;
Lcom/android/internal/widget/ActionBarOverlayLayout$5;
Lcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;
Lcom/android/internal/widget/ActionBarOverlayLayout$LayoutParams;
+Lcom/android/internal/widget/ActionBarOverlayLayout;
Lcom/android/internal/widget/BackgroundFallback;
+Lcom/android/internal/widget/DecorCaptionView;
Lcom/android/internal/widget/DecorContentParent;
Lcom/android/internal/widget/DecorToolbar;
Lcom/android/internal/widget/DialogTitle;
Lcom/android/internal/widget/EditableInputConnection;
+Lcom/android/internal/widget/FloatingToolbar;
+Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;
+Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;
+Lcom/android/internal/widget/ICheckCredentialProgressCallback;
Lcom/android/internal/widget/ILockSettings$Stub$Proxy;
Lcom/android/internal/widget/ILockSettings$Stub;
Lcom/android/internal/widget/ILockSettings;
@@ -38237,9 +23857,12 @@ Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$H;
Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;
Lcom/android/internal/widget/LockPatternUtils;
Lcom/android/internal/widget/LockSettingsInternal;
+Lcom/android/internal/widget/LockscreenCredential;
Lcom/android/internal/widget/ScrollBarUtils;
Lcom/android/internal/widget/ToolbarWidgetWrapper$1;
Lcom/android/internal/widget/ToolbarWidgetWrapper;
+Lcom/android/internal/widget/VerifyCredentialResponse$1;
+Lcom/android/internal/widget/VerifyCredentialResponse;
Lcom/android/okhttp/Address;
Lcom/android/okhttp/AndroidShimResponseCache;
Lcom/android/okhttp/Authenticator;
@@ -38339,7 +23962,10 @@ Lcom/android/okhttp/internal/io/RealConnection;
Lcom/android/okhttp/internal/tls/OkHostnameVerifier;
Lcom/android/okhttp/internal/tls/RealTrustRootIndex;
Lcom/android/okhttp/internal/tls/TrustRootIndex;
+Lcom/android/okhttp/internalandroidapi/Dns;
Lcom/android/okhttp/internalandroidapi/HasCacheHolder;
+Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;
+Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;
Lcom/android/okhttp/okio/AsyncTimeout$1;
Lcom/android/okhttp/okio/AsyncTimeout$2;
Lcom/android/okhttp/okio/AsyncTimeout$Watchdog;
@@ -38550,6 +24176,7 @@ Lcom/android/org/bouncycastle/util/encoders/Encoder;
Lcom/android/org/bouncycastle/util/encoders/Hex;
Lcom/android/org/bouncycastle/util/encoders/HexEncoder;
Lcom/android/org/bouncycastle/util/io/Streams;
+Lcom/android/org/kxml2/io/KXmlParser$ContentSource;
Lcom/android/org/kxml2/io/KXmlParser$ValueContext;
Lcom/android/org/kxml2/io/KXmlParser;
Lcom/android/org/kxml2/io/KXmlSerializer;
@@ -38563,6 +24190,9 @@ Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
Lcom/android/phone/ecc/nano/WireFormatNano;
Lcom/android/server/AppWidgetBackupBridge;
+Lcom/android/server/BootReceiver$1;
+Lcom/android/server/BootReceiver$2;
+Lcom/android/server/BootReceiver;
Lcom/android/server/LocalServices;
Lcom/android/server/NetworkManagementSocketTagger$1;
Lcom/android/server/NetworkManagementSocketTagger$SocketTags;
@@ -38571,44 +24201,38 @@ Lcom/android/server/SystemConfig$PermissionEntry;
Lcom/android/server/SystemConfig$SharedLibraryEntry;
Lcom/android/server/SystemConfig;
Lcom/android/server/WidgetBackupProvider;
+Lcom/android/server/backup/AccountManagerBackupHelper;
+Lcom/android/server/backup/AccountSyncSettingsBackupHelper;
+Lcom/android/server/backup/NotificationBackupHelper;
+Lcom/android/server/backup/PermissionBackupHelper;
+Lcom/android/server/backup/PreferredActivityBackupHelper;
+Lcom/android/server/backup/ShortcutBackupHelper;
+Lcom/android/server/backup/SliceBackupHelper;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfProgramEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfStatistics;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ConnectStatistics;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DefaultNetworkEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityLog;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpProvisioningEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpReachabilityEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$RaEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ValidationProbeEvent;
+Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;
Lcom/android/server/net/BaseNetdEventCallback;
Lcom/android/server/net/BaseNetworkObserver;
+Lcom/android/server/sip/SipService$ConnectivityReceiver;
+Lcom/android/server/sip/SipService$MyExecutor;
Lcom/android/server/sip/SipService;
+Lcom/android/server/sip/SipWakeLock;
+Lcom/android/server/sip/SipWakeupTimer$MyEventComparator;
Lcom/android/server/sip/SipWakeupTimer;
Lcom/android/server/wifi/BaseWifiService;
-Lcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
-Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
-Lcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;
-Lcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;
-Lcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;
-Lcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
-Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;
-Lcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;
-Lcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApConnectedClientsEvent;
-Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApDurationBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApReturnCodeCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;
+Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
Lcom/google/android/collect/Lists;
Lcom/google/android/collect/Maps;
Lcom/google/android/collect/Sets;
@@ -38619,6 +24243,17 @@ Lcom/google/android/gles_jni/EGLImpl;
Lcom/google/android/gles_jni/EGLSurfaceImpl;
Lcom/google/android/gles_jni/GLImpl;
Lcom/google/android/mms/MmsException;
+Lcom/google/android/rappor/Encoder;
+Lcom/google/android/rappor/HmacDrbg;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel;
+Lcom/google/android/textclassifier/AnnotatorModel;
+Lcom/google/android/textclassifier/LangIdModel$LanguageResult;
+Lcom/google/android/textclassifier/LangIdModel;
+Lcom/google/android/textclassifier/NamedVariant;
+Lcom/google/android/textclassifier/RemoteActionTemplate;
Lcom/sun/security/cert/internal/x509/X509V1CertImpl;
Ldalvik/annotation/optimization/CriticalNative;
Ldalvik/annotation/optimization/FastNative;
@@ -38660,6 +24295,7 @@ Ldalvik/system/VMRuntime$HiddenApiUsageLogger;
Ldalvik/system/VMRuntime;
Ldalvik/system/VMStack;
Ldalvik/system/ZygoteHooks;
+Ljava/io/-$$Lambda$ObjectStreamClass$GVMp_c-BEBrBo_ZKh_HiLSO-fGo;
Ljava/io/Bits;
Ljava/io/BufferedInputStream;
Ljava/io/BufferedOutputStream;
@@ -38725,6 +24361,7 @@ Ljava/io/ObjectStreamClass$4;
Ljava/io/ObjectStreamClass$5;
Ljava/io/ObjectStreamClass$Caches;
Ljava/io/ObjectStreamClass$ClassDataSlot;
+Ljava/io/ObjectStreamClass$DefaultSUIDCompatibilityListener;
Ljava/io/ObjectStreamClass$EntryFuture;
Ljava/io/ObjectStreamClass$ExceptionInfo;
Ljava/io/ObjectStreamClass$FieldReflector;
@@ -38750,6 +24387,7 @@ Ljava/io/SerializablePermission;
Ljava/io/StreamCorruptedException;
Ljava/io/StringReader;
Ljava/io/StringWriter;
+Ljava/io/UTFDataFormatException;
Ljava/io/UncheckedIOException;
Ljava/io/UnixFileSystem;
Ljava/io/UnsupportedEncodingException;
@@ -38781,6 +24419,7 @@ Ljava/lang/Character;
Ljava/lang/Class$Caches;
Ljava/lang/Class;
Ljava/lang/ClassCastException;
+Ljava/lang/ClassFormatError;
Ljava/lang/ClassLoader$SystemClassLoader;
Ljava/lang/ClassLoader;
Ljava/lang/ClassNotFoundException;
@@ -38970,6 +24609,7 @@ Ljava/lang/reflect/Executable;
Ljava/lang/reflect/Field;
Ljava/lang/reflect/GenericArrayType;
Ljava/lang/reflect/GenericDeclaration;
+Ljava/lang/reflect/GenericSignatureFormatError;
Ljava/lang/reflect/InvocationHandler;
Ljava/lang/reflect/InvocationTargetException;
Ljava/lang/reflect/MalformedParametersException;
@@ -39055,6 +24695,7 @@ Ljava/net/InterfaceAddress;
Ljava/net/JarURLConnection;
Ljava/net/MalformedURLException;
Ljava/net/MulticastSocket;
+Ljava/net/NetPermission;
Ljava/net/NetworkInterface$1checkedAddresses;
Ljava/net/NetworkInterface;
Ljava/net/NoRouteToHostException;
@@ -39076,9 +24717,11 @@ Ljava/net/Socket;
Ljava/net/SocketAddress;
Ljava/net/SocketException;
Ljava/net/SocketImpl;
+Ljava/net/SocketImplFactory;
Ljava/net/SocketInputStream;
Ljava/net/SocketOptions;
Ljava/net/SocketOutputStream;
+Ljava/net/SocketPermission;
Ljava/net/SocketTimeoutException;
Ljava/net/SocksConsts;
Ljava/net/SocksSocketImpl;
@@ -39158,10 +24801,8 @@ Ljava/nio/channels/spi/SelectorProvider;
Ljava/nio/charset/CharacterCodingException;
Ljava/nio/charset/Charset;
Ljava/nio/charset/CharsetDecoder;
-Ljava/nio/charset/CharsetDecoderICU;
Ljava/nio/charset/CharsetEncoder;
-Ljava/nio/charset/CharsetEncoderICU;
-Ljava/nio/charset/CharsetICU;
+Ljava/nio/charset/CoderMalfunctionError;
Ljava/nio/charset/CoderResult$1;
Ljava/nio/charset/CoderResult$2;
Ljava/nio/charset/CoderResult$Cache;
@@ -39172,13 +24813,17 @@ Ljava/nio/charset/StandardCharsets;
Ljava/nio/charset/UnsupportedCharsetException;
Ljava/nio/file/AccessMode;
Ljava/nio/file/CopyOption;
+Ljava/nio/file/DirectoryStream$Filter;
+Ljava/nio/file/DirectoryStream;
Ljava/nio/file/FileAlreadyExistsException;
Ljava/nio/file/FileSystem;
Ljava/nio/file/FileSystemException;
Ljava/nio/file/FileSystems$DefaultFileSystemHolder$1;
Ljava/nio/file/FileSystems$DefaultFileSystemHolder;
Ljava/nio/file/FileSystems;
+Ljava/nio/file/Files$AcceptAllFilter;
Ljava/nio/file/Files;
+Ljava/nio/file/InvalidPathException;
Ljava/nio/file/LinkOption;
Ljava/nio/file/NoSuchFileException;
Ljava/nio/file/OpenOption;
@@ -39200,6 +24845,7 @@ Ljava/security/AccessController;
Ljava/security/AlgorithmConstraints;
Ljava/security/AlgorithmParameters;
Ljava/security/AlgorithmParametersSpi;
+Ljava/security/AllPermission;
Ljava/security/BasicPermission;
Ljava/security/CodeSigner;
Ljava/security/CryptoPrimitive;
@@ -39251,6 +24897,7 @@ Ljava/security/PublicKey;
Ljava/security/SecureRandom;
Ljava/security/SecureRandomSpi;
Ljava/security/Security;
+Ljava/security/SecurityPermission;
Ljava/security/Signature$Delegate;
Ljava/security/Signature;
Ljava/security/SignatureException;
@@ -39322,6 +24969,7 @@ Ljava/security/spec/InvalidParameterSpecException;
Ljava/security/spec/KeySpec;
Ljava/security/spec/MGF1ParameterSpec;
Ljava/security/spec/PKCS8EncodedKeySpec;
+Ljava/security/spec/PSSParameterSpec;
Ljava/security/spec/RSAPrivateCrtKeySpec;
Ljava/security/spec/RSAPrivateKeySpec;
Ljava/security/spec/RSAPublicKeySpec;
@@ -39335,6 +24983,7 @@ Ljava/text/Bidi;
Ljava/text/BreakIterator;
Ljava/text/CalendarBuilder;
Ljava/text/CharacterIterator;
+Ljava/text/CollationKey;
Ljava/text/Collator;
Ljava/text/DateFormat$Field;
Ljava/text/DateFormat;
@@ -39360,6 +25009,7 @@ Ljava/text/RuleBasedCollator;
Ljava/text/SimpleDateFormat;
Ljava/text/StringCharacterIterator;
Ljava/time/-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A;
+Ljava/time/-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA;
Ljava/time/Clock$SystemClock;
Ljava/time/Clock;
Ljava/time/DateTimeException;
@@ -39568,6 +25218,7 @@ Ljava/util/Date;
Ljava/util/Deque;
Ljava/util/Dictionary;
Ljava/util/DualPivotQuicksort;
+Ljava/util/DuplicateFormatFlagsException;
Ljava/util/EnumMap$1;
Ljava/util/EnumMap$EntryIterator$Entry;
Ljava/util/EnumMap$EntryIterator;
@@ -39583,6 +25234,7 @@ Ljava/util/EnumSet;
Ljava/util/Enumeration;
Ljava/util/EventListener;
Ljava/util/EventObject;
+Ljava/util/FormatFlagsConversionMismatchException;
Ljava/util/Formattable;
Ljava/util/Formatter$Conversion;
Ljava/util/Formatter$DateTime;
@@ -39624,6 +25276,7 @@ Ljava/util/IdentityHashMap$ValueIterator;
Ljava/util/IdentityHashMap$Values;
Ljava/util/IdentityHashMap;
Ljava/util/IllegalFormatException;
+Ljava/util/IllegalFormatPrecisionException;
Ljava/util/IllformedLocaleException;
Ljava/util/Iterator;
Ljava/util/JumboEnumSet$EnumSetIterator;
@@ -39669,6 +25322,7 @@ Ljava/util/PriorityQueue$Itr;
Ljava/util/PriorityQueue;
Ljava/util/Properties$LineReader;
Ljava/util/Properties;
+Ljava/util/PropertyPermission;
Ljava/util/PropertyResourceBundle;
Ljava/util/Queue;
Ljava/util/Random;
@@ -39740,6 +25394,7 @@ Ljava/util/TreeMap;
Ljava/util/TreeSet;
Ljava/util/UUID$Holder;
Ljava/util/UUID;
+Ljava/util/UnknownFormatConversionException;
Ljava/util/Vector$1;
Ljava/util/Vector$Itr;
Ljava/util/Vector;
@@ -39763,6 +25418,7 @@ Ljava/util/concurrent/CancellationException;
Ljava/util/concurrent/CompletableFuture$AltResult;
Ljava/util/concurrent/CompletableFuture$AsynchronousCompletionTask;
Ljava/util/concurrent/CompletableFuture$Completion;
+Ljava/util/concurrent/CompletableFuture$Signaller;
Ljava/util/concurrent/CompletableFuture;
Ljava/util/concurrent/CompletionStage;
Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;
@@ -39855,6 +25511,7 @@ Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;
Ljava/util/concurrent/ForkJoinPool;
Ljava/util/concurrent/ForkJoinTask$ExceptionNode;
Ljava/util/concurrent/ForkJoinTask;
+Ljava/util/concurrent/ForkJoinWorkerThread;
Ljava/util/concurrent/Future;
Ljava/util/concurrent/FutureTask$WaitNode;
Ljava/util/concurrent/FutureTask;
@@ -39943,6 +25600,7 @@ Ljava/util/function/BiConsumer;
Ljava/util/function/BiFunction;
Ljava/util/function/BiPredicate;
Ljava/util/function/BinaryOperator;
+Ljava/util/function/BooleanSupplier;
Ljava/util/function/Consumer;
Ljava/util/function/DoubleBinaryOperator;
Ljava/util/function/DoubleSupplier;
@@ -40001,6 +25659,7 @@ Ljava/util/logging/LogManager;
Ljava/util/logging/LogRecord;
Ljava/util/logging/Logger$1;
Ljava/util/logging/Logger$LoggerBundle;
+Ljava/util/logging/Logger$SystemLoggerHelper;
Ljava/util/logging/Logger;
Ljava/util/logging/LoggingPermission;
Ljava/util/logging/LoggingProxyImpl;
@@ -40030,6 +25689,7 @@ Ljava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;
Ljava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;
Ljava/util/stream/-$$Lambda$IntPipeline$ozedusDMANE_B8aDthWCd1L-na4;
Ljava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;
+Ljava/util/stream/-$$Lambda$MatchOps$emK14UX33I4-nqH2o5l7hLEVAy8;
Ljava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;
Ljava/util/stream/-$$Lambda$bjSXRjZ5UYwAzkW-XPKwqbJ9BRQ;
Ljava/util/stream/-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40;
@@ -40159,11 +25819,14 @@ Ljava/util/zip/ZStreamRef;
Ljava/util/zip/ZipCoder;
Ljava/util/zip/ZipConstants;
Ljava/util/zip/ZipEntry;
+Ljava/util/zip/ZipError;
Ljava/util/zip/ZipException;
Ljava/util/zip/ZipFile$ZipEntryIterator;
Ljava/util/zip/ZipFile$ZipFileInflaterInputStream;
Ljava/util/zip/ZipFile$ZipFileInputStream;
Ljava/util/zip/ZipFile;
+Ljava/util/zip/ZipInputStream;
+Ljava/util/zip/ZipOutputStream;
Ljava/util/zip/ZipUtils;
Ljavax/crypto/AEADBadTagException;
Ljavax/crypto/BadPaddingException;
@@ -40175,6 +25838,7 @@ Ljavax/crypto/Cipher$NeedToSet;
Ljavax/crypto/Cipher$SpiAndProviderUpdater;
Ljavax/crypto/Cipher$Transform;
Ljavax/crypto/Cipher;
+Ljavax/crypto/CipherOutputStream;
Ljavax/crypto/CipherSpi;
Ljavax/crypto/IllegalBlockSizeException;
Ljavax/crypto/JceSecurity;
@@ -40264,12 +25928,15 @@ Ljavax/xml/parsers/DocumentBuilderFactory;
Ljavax/xml/parsers/ParserConfigurationException;
Ljavax/xml/parsers/SAXParser;
Ljavax/xml/parsers/SAXParserFactory;
+Llibcore/content/type/-$$Lambda$MimeMap$xJ95jeANwfbnj45hvSUmlPtZWWg;
+Llibcore/content/type/MimeMap$MemoizingSupplier;
+Llibcore/content/type/MimeMap;
Llibcore/icu/DateIntervalFormat;
Llibcore/icu/DateUtilsBridge;
Llibcore/icu/ICU;
Llibcore/icu/LocaleData;
-Llibcore/icu/NativeConverter;
Llibcore/icu/RelativeDateTimeFormatter$FormatterCache;
+Llibcore/icu/RelativeDateTimeFormatter;
Llibcore/icu/TimeZoneNames$1;
Llibcore/icu/TimeZoneNames$ZoneStringsCache;
Llibcore/icu/TimeZoneNames;
@@ -40313,12 +25980,10 @@ Llibcore/reflect/ParameterizedTypeImpl;
Llibcore/reflect/TypeVariableImpl;
Llibcore/reflect/Types;
Llibcore/reflect/WildcardTypeImpl;
-Llibcore/timezone/-$$Lambda$TimeZoneFinder$ReaderSupplier$gDAfECMWS_ohJ_Rfk1HN7JyDSJA;
Llibcore/timezone/CountryTimeZones$OffsetResult;
Llibcore/timezone/CountryTimeZones$TimeZoneMapping;
Llibcore/timezone/CountryTimeZones;
Llibcore/timezone/TimeZoneDataFiles;
-Llibcore/timezone/TimeZoneFinder$ReaderSupplier;
Llibcore/timezone/TimeZoneFinder$SelectiveCountryTimeZonesExtractor;
Llibcore/timezone/TimeZoneFinder$TimeZonesProcessor;
Llibcore/timezone/TimeZoneFinder;
@@ -40330,6 +25995,7 @@ Llibcore/util/BasicLruCache;
Llibcore/util/CharsetUtils;
Llibcore/util/CollectionUtils;
Llibcore/util/EmptyArray;
+Llibcore/util/FP16;
Llibcore/util/HexEncoding;
Llibcore/util/NativeAllocationRegistry$CleanerRunner;
Llibcore/util/NativeAllocationRegistry$CleanerThunk;
@@ -40626,6 +26292,7 @@ Lsun/security/util/MemoryCache$CacheEntry;
Lsun/security/util/MemoryCache$SoftCacheEntry;
Lsun/security/util/MemoryCache;
Lsun/security/util/ObjectIdentifier;
+Lsun/security/util/SecurityConstants;
Lsun/security/util/SignatureFileVerifier;
Lsun/security/x509/AVA;
Lsun/security/x509/AVAKeyword;
@@ -40702,6 +26369,8 @@ Lsun/util/locale/BaseLocale;
Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;
Lsun/util/locale/InternalLocaleBuilder;
Lsun/util/locale/LanguageTag;
+Lsun/util/locale/LocaleExtensions;
+Lsun/util/locale/LocaleMatcher;
Lsun/util/locale/LocaleObjectCache$CacheEntry;
Lsun/util/locale/LocaleObjectCache;
Lsun/util/locale/LocaleSyntaxException;
@@ -40715,4770 +26384,3 @@ Lsun/util/logging/PlatformLogger$1;
Lsun/util/logging/PlatformLogger$Level;
Lsun/util/logging/PlatformLogger$LoggerProxy;
Lsun/util/logging/PlatformLogger;
-HSPLandroid/accounts/AccountManager$18;->run()V
-HSPLandroid/accounts/AccountManager$BaseFutureTask$1;-><init>(Landroid/accounts/AccountManager;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask$Response;-><init>(Landroid/accounts/AccountManager$BaseFutureTask;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;)V
-HSPLandroid/accounts/AccountManager$Future2Task;->getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$Future2Task;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
-HSPLandroid/accounts/AccountManager$Future2Task;->start()Landroid/accounts/AccountManager$Future2Task;
-HSPLandroid/accounts/AccountManager;->access$000(Landroid/accounts/AccountManager;)Landroid/accounts/IAccountManager;
-HSPLandroid/accounts/AccountManager;->access$100(Landroid/accounts/AccountManager;)Landroid/content/Context;
-HSPLandroid/accounts/AccountManager;->access$200(Landroid/accounts/AccountManager;)Ljava/util/HashMap;
-HSPLandroid/accounts/AccountManager;->access$300(Landroid/accounts/AccountManager;)Ljava/util/HashMap;
-HSPLandroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-HSPLandroid/accounts/AccountManager;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManagerResponse$Stub;-><init>()V
-HSPLandroid/animation/Animator;->isPaused()Z
-HSPLandroid/animation/AnimatorSet$SeekState;->getPlayTime()J
-HSPLandroid/animation/AnimatorSet$SeekState;->setPlayTime(JZ)V
-HSPLandroid/animation/AnimatorSet$SeekState;->updateSeekDirection(Z)V
-HSPLandroid/animation/AnimatorSet;->access$200(Landroid/animation/AnimatorSet;)J
-HSPLandroid/animation/AnimatorSet;->setCurrentPlayTime(J)V
-HSPLandroid/animation/ObjectAnimator;->setAutoCancel(Z)V
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;[I)V
-HSPLandroid/animation/PropertyValuesHolder;->ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/RectEvaluator;-><init>(Landroid/graphics/Rect;)V
-HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningServiceInfo;
-HSPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;Landroid/app/ActivityManager$1;)V
-HSPLandroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$RunningServiceInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$StackInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$StackInfo;
-HSPLandroid/app/ActivityManager$StackInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$StackInfo;-><init>(Landroid/os/Parcel;Landroid/app/ActivityManager$1;)V
-HSPLandroid/app/ActivityManager$StackInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$StackInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setEnsureNavigationBarContrastWhenTransparent(Z)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setEnsureStatusBarContrastWhenTransparent(Z)V
-HSPLandroid/app/ActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-HSPLandroid/app/ActivityManager;->getLockTaskModeState()I
-HSPLandroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List;
-HSPLandroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
-HSPLandroid/app/ActivityManager;->getTaskService()Landroid/app/IActivityTaskManager;
-HSPLandroid/app/Activity;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
-HSPLandroid/app/Activity;->setContentView(Landroid/view/View;)V
-HSPLandroid/app/Activity;->setDefaultKeyMode(I)V
-HSPLandroid/app/Activity;->setRequestedOrientation(I)V
-HSPLandroid/app/ActivityThread$ActivityClientRecord;-><init>(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityThread$ActivityClientRecord;->isPersistable()Z
-HSPLandroid/app/ActivityThread;->applyPendingProcessState()V
-HSPLandroid/app/ActivityThread;->countLaunchingActivities(I)V
-HSPLandroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
-HSPLandroid/app/ActivityThread;->isLoadedApkResourceDirsUpToDate(Landroid/app/LoadedApk;Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/app/ActivityThread;->lambda$attach$1$ActivityThread(Landroid/content/res/Configuration;)V
-HSPLandroid/app/ActivityThread;->relaunchAllActivities(Z)V
-HSPLandroid/app/ActivityTransitionState;->startExitOutTransition(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnCallingUser()Landroid/content/ComponentName;
-HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwner()Ljava/lang/String;
-HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
-HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;)I
-HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwner()Landroid/content/ComponentName;
-HSPLandroid/app/admin/DevicePolicyManager;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-HSPLandroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isLogoutEnabled()Z
-HSPLandroid/app/admin/DevicePolicyManager;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwner(I)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isLogoutEnabled()Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/AlarmManager;->set(IJJJLandroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
-HSPLandroid/app/AlarmManager;->set(IJJJLandroid/app/PendingIntent;Landroid/os/WorkSource;)V
-HSPLandroid/app/AlarmManager;->setWindow(IJJLandroid/app/PendingIntent;)V
-HSPLandroid/app/Application;->getProcessName()Ljava/lang/String;
-HSPLandroid/app/ApplicationLoaders;->getCachedNonBootclasspathSystemLib(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
-HSPLandroid/app/ApplicationLoaders;->getSharedLibraryClassLoaderWithSharedLibraries(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
-HSPLandroid/app/ApplicationLoaders;->sharedLibrariesEquals(Ljava/util/List;Ljava/util/List;)Z
-HSPLandroid/app/ApplicationPackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/app/ApplicationPackageManager;->getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;
-HSPLandroid/app/ApplicationPackageManager;->getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;
-HSPLandroid/app/ApplicationPackageManager;->isManagedProfile(I)Z
-HSPLandroid/app/ApplicationPackageManager;->isSafeMode()Z
-HSPLandroid/app/ApplicationPackageManager;->registerMoveCallback(Landroid/content/pm/PackageManager$MoveCallback;Landroid/os/Handler;)V
-HSPLandroid/app/AppOpsManager$2;-><init>(Landroid/app/AppOpsManager;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
-HSPLandroid/app/AppOpsManager$OpEntry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AppOpsManager$OpEntry;
-HSPLandroid/app/AppOpsManager$OpEntry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/AppOpsManager$OpEntry;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/AppOpsManager$PackageOps$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AppOpsManager$PackageOps;
-HSPLandroid/app/AppOpsManager$PackageOps$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/AppOpsManager$PackageOps;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/AppOpsManager;->access$800(Landroid/os/Parcel;)Landroid/util/LongSparseLongArray;
-HSPLandroid/app/AppOpsManager;->access$900(Landroid/os/Parcel;)Landroid/util/LongSparseArray;
-HSPLandroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->finishOp(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->readLongSparseLongArrayFromParcel(Landroid/os/Parcel;)Landroid/util/LongSparseLongArray;
-HSPLandroid/app/AppOpsManager;->readLongSparseStringArrayFromParcel(Landroid/os/Parcel;)Landroid/util/LongSparseArray;
-HSPLandroid/app/AppOpsManager;->startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/AppOpsManager;->startWatchingActive([ILandroid/app/AppOpsManager$OnOpActiveChangedListener;)V
-HSPLandroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
-HSPLandroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V
-HSPLandroid/app/AppOpsManager;->startWatchingNoted([ILandroid/app/AppOpsManager$OnOpNotedListener;)V
-HSPLandroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/BackStackRecord;->replace(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/backup/BackupManager;->checkServiceBinder()V
-HSPLandroid/app/backup/BackupManager;->getCurrentTransport()Ljava/lang/String;
-HSPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
-HSPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->configurationIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->currentDestinationString()Ljava/lang/String;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntentLabel()Ljava/lang/CharSequence;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;-><init>(Landroid/app/backup/BackupTransport;)V
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->name()Ljava/lang/String;
-HSPLandroid/app/backup/BackupTransport$TransportImpl;->transportDirName()Ljava/lang/String;
-HSPLandroid/app/backup/BackupTransport;->configurationIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport;->dataManagementIntentLabel()Ljava/lang/CharSequence;
-HSPLandroid/app/backup/BackupTransport;->dataManagementIntent()Landroid/content/Intent;
-HSPLandroid/app/backup/BackupTransport;->getBinder()Landroid/os/IBinder;
-HSPLandroid/app/backup/BackupTransport;-><init>()V
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->getCurrentTransport()Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
-HSPLandroid/app/ContextImpl$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
-HSPLandroid/app/ContextImpl$1;-><init>(Ljava/lang/String;)V
-HSPLandroid/app/ContextImpl;->createResources(Landroid/os/IBinder;Landroid/app/LoadedApk;Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
-HSPLandroid/app/ContextImpl;->databaseList()[Ljava/lang/String;
-HSPLandroid/app/ContextImpl;->deleteDatabase(Ljava/lang/String;)Z
-HSPLandroid/app/ContextImpl;->deleteFile(Ljava/lang/String;)Z
-HSPLandroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
-HSPLandroid/app/ContextImpl;->moveFiles(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)I
-HSPLandroid/app/ContextImpl;->moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z
-HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/app/ContextImpl;->updateDisplay(I)V
-HSPLandroid/app/Dialog;->getLayoutInflater()Landroid/view/LayoutInflater;
-HSPLandroid/app/Dialog;->setContentView(I)V
-HSPLandroid/app/Dialog;->setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V
-HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
-HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;[Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/app/FragmentManagerImpl;->registerFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;Z)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserRunning(II)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerProcessObserver(Landroid/app/IProcessObserver;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->setHasTopUi(Z)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getFilteredTasks(III)Ljava/util/List;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getLastResumedActivityUserId()I
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getLockTaskModeState()I
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->keyguardGoingAway(I)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->setLockScreenShown(ZZ)V
-HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->setRequestedOrientation(Landroid/os/IBinder;I)V
-HSPLandroid/app/IAlarmManager$Stub$Proxy;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelAllNotifications(Ljava/lang/String;I)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getEffectsSuppressor()Landroid/content/ComponentName;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->requestBindListener(Landroid/content/ComponentName;)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->setPrivateNotificationsAllowed(Z)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
-HSPLandroid/app/IProcessObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IProcessObserver$Stub;-><init>()V
-HSPLandroid/app/IProcessObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/ITaskStackListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/ITaskStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IUidObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getHeightHint(I)I
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWidthHint(I)I
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->isWallpaperSupported(Ljava/lang/String;)Z
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->setInAmbientMode(ZJ)V
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
-HSPLandroid/app/IWallpaperManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IWallpaperManager;
-HSPLandroid/app/IWallpaperManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IWallpaperManagerCallback$Stub;-><init>()V
-HSPLandroid/app/IWallpaperManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
-HSPLandroid/app/job/JobInfo$Builder;->setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;
-HSPLandroid/app/job/JobInfo;->getNetworkType()I
-HSPLandroid/app/job/JobInfo;->isRequireCharging()Z
-HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z
-HSPLandroid/app/KeyguardManager;->setPrivateNotificationsAllowed(Z)V
-HSPLandroid/app/LoadedApk;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
-HSPLandroid/app/LoadedApk;->getOverlayDirs()[Ljava/lang/String;
-HSPLandroid/app/LoadedApk;->getResDir()Ljava/lang/String;
-HSPLandroid/app/LoadedApk;->getSplitClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;
-HSPLandroid/app/LoadedApk;->getSplitPaths(Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/app/Notification$Action;->access$1900(Landroid/app/Notification$Action;)[Landroid/app/RemoteInput;
-HSPLandroid/app/Notification$Builder;->access$2500(Landroid/app/Notification$Builder;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/app/Notification$Builder;->access$300(Landroid/app/Notification$Builder;)Landroid/app/Notification;
-HSPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->bindActivePermissions(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindAlertedIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindExpandButton(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindHeaderAppName(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindHeaderChronometerAndTime(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindHeaderText(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindHeaderTextSecondary(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindLargeIconAndReply(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)V
-HSPLandroid/app/Notification$Builder;->bindLargeIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)Z
-HSPLandroid/app/Notification$Builder;->bindNotificationHeader(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindProfileBadge(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->bindReplyIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)Z
-HSPLandroid/app/Notification$Builder;->bindSmallIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->calculateMarginEnd(ZZ)I
-HSPLandroid/app/Notification$Builder;->createBigContentView()Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->createContentView()Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->createContentView(Z)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->createSummaryText()Ljava/lang/CharSequence;
-HSPLandroid/app/Notification$Builder;->ensureColors(Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->filterOutContextualActions(Ljava/util/List;)Ljava/util/List;
-HSPLandroid/app/Notification$Builder;->findReplyAction()Landroid/app/Notification$Action;
-HSPLandroid/app/Notification$Builder;->generateActionButton(Landroid/app/Notification$Action;ZLandroid/app/Notification$StandardTemplateParams;)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->getActionLayoutResource()I
-HSPLandroid/app/Notification$Builder;->getBackgroundColor(Landroid/app/Notification$StandardTemplateParams;)I
-HSPLandroid/app/Notification$Builder;->getBaseLayoutResource()I
-HSPLandroid/app/Notification$Builder;->getBigBaseLayoutResource()I
-HSPLandroid/app/Notification$Builder;->getHeadsUpStatusBarText(Z)Ljava/lang/CharSequence;
-HSPLandroid/app/Notification$Builder;->getNeutralColor(Landroid/app/Notification$StandardTemplateParams;)I
-HSPLandroid/app/Notification$Builder;->getPrimaryTextColor(Landroid/app/Notification$StandardTemplateParams;)I
-HSPLandroid/app/Notification$Builder;->getProfileBadgeDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/app/Notification$Builder;->getProfileBadge()Landroid/graphics/Bitmap;
-HSPLandroid/app/Notification$Builder;->getRawColor(Landroid/app/Notification$StandardTemplateParams;)I
-HSPLandroid/app/Notification$Builder;->getSecondaryTextColor(Landroid/app/Notification$StandardTemplateParams;)I
-HSPLandroid/app/Notification$Builder;->handleProgressBar(Landroid/widget/RemoteViews;Landroid/os/Bundle;Landroid/app/Notification$StandardTemplateParams;)Z
-HSPLandroid/app/Notification$Builder;->hasForegroundColor()Z
-HSPLandroid/app/Notification$Builder;->hasValidRemoteInput(Landroid/app/Notification$Action;)Z
-HSPLandroid/app/Notification$Builder;->isColorized(Landroid/app/Notification$StandardTemplateParams;)Z
-HSPLandroid/app/Notification$Builder;->isLegacy()Z
-HSPLandroid/app/Notification$Builder;->loadHeaderAppName()Ljava/lang/String;
-HSPLandroid/app/Notification$Builder;->makeHeaderExpanded(Landroid/widget/RemoteViews;)V
-HSPLandroid/app/Notification$Builder;->makeLowPriorityContentView(Z)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->makeNotificationHeader(Landroid/app/Notification$StandardTemplateParams;)Landroid/widget/RemoteViews;
-HSPLandroid/app/Notification$Builder;->processLargeLegacyIcon(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->processLegacyText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/app/Notification$Builder;->processSmallIconColor(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->processTextSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/app/Notification$BuilderRemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-HSPLandroid/app/Notification$Builder;->resetNotificationHeader(Landroid/widget/RemoteViews;)V
-HSPLandroid/app/Notification$Builder;->resetStandardTemplate(Landroid/widget/RemoteViews;)V
-HSPLandroid/app/Notification$Builder;->resetStandardTemplateWithActions(Landroid/widget/RemoteViews;)V
-HSPLandroid/app/Notification$Builder;->resolveContrastColor(Landroid/app/Notification$StandardTemplateParams;)I
-HSPLandroid/app/Notification$Builder;->resolveNeutralColor()I
-HSPLandroid/app/Notification$Builder;->setContentMinHeight(Landroid/widget/RemoteViews;Z)V
-HSPLandroid/app/Notification$Builder;->setTextViewColorPrimary(Landroid/widget/RemoteViews;ILandroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->setTextViewColorSecondary(Landroid/widget/RemoteViews;ILandroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$Builder;->showsTimeOrChronometer()Z
-HSPLandroid/app/Notification$Builder;->textColorsNeedInversion()Z
-HSPLandroid/app/Notification$Builder;->updateBackgroundColor(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
-HSPLandroid/app/Notification$StandardTemplateParams;->disallowColorization()Landroid/app/Notification$StandardTemplateParams;
-HSPLandroid/app/Notification$StandardTemplateParams;->fillTextsFrom(Landroid/app/Notification$Builder;)Landroid/app/Notification$StandardTemplateParams;
-HSPLandroid/app/Notification$StandardTemplateParams;->forceDefaultColor()Landroid/app/Notification$StandardTemplateParams;
-HSPLandroid/app/Notification$StandardTemplateParams;->reset()Landroid/app/Notification$StandardTemplateParams;
-HSPLandroid/app/Notification$StandardTemplateParams;->summaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$StandardTemplateParams;
-HSPLandroid/app/Notification;->access$1300(Landroid/app/Notification;)Landroid/graphics/drawable/Icon;
-HSPLandroid/app/Notification;->access$1602(Landroid/app/Notification;Z)Z
-HSPLandroid/app/Notification;->access$1800(Landroid/app/Notification;)Z
-HSPLandroid/app/Notification;->access$2000(Landroid/app/Notification;)J
-HSPLandroid/app/Notification;->access$2100(Landroid/app/Notification;)Landroid/graphics/drawable/Icon;
-HSPLandroid/app/NotificationChannel;->enableVibration(Z)V
-HSPLandroid/app/NotificationChannel;->setGroup(Ljava/lang/String;)V
-HSPLandroid/app/Notification;->getShortcutId()Ljava/lang/String;
-HSPLandroid/app/Notification;->hasLargeIcon()Z
-HSPLandroid/app/Notification;->isMediaNotification()Z
-HSPLandroid/app/NotificationManager;->cancelAll()V
-HSPLandroid/app/NotificationManager;->getCurrentInterruptionFilter()I
-HSPLandroid/app/NotificationManager;->getEffectsSuppressor()Landroid/content/ComponentName;
-HSPLandroid/app/NotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
-HSPLandroid/app/NotificationManager;->shouldHideSilentStatusBarIcons()Z
-HSPLandroid/app/NotificationManager;->zenModeToInterruptionFilter(I)I
-HSPLandroid/app/Notification;->showsChronometer()Z
-HSPLandroid/app/Notification;->showsTime()Z
-HSPLandroid/app/PendingIntent$1;-><init>(Landroid/app/PendingIntent;)V
-HSPLandroid/app/PendingIntent;->getTarget()Landroid/content/IIntentSender;
-HSPLandroid/app/PendingIntent;->getTargetPackage()Ljava/lang/String;
-HSPLandroid/app/PendingIntent;->registerCancelListener(Landroid/app/PendingIntent$CancelListener;)V
-HSPLandroid/app/PendingIntent;->unregisterCancelListener(Landroid/app/PendingIntent$CancelListener;)V
-HSPLandroid/app/prediction/AppPredictionManager;->createAppPredictionSession(Landroid/app/prediction/AppPredictionContext;)Landroid/app/prediction/AppPredictor;
-HSPLandroid/app/prediction/AppPredictionManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/app/prediction/IPredictionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/prediction/IPredictionManager;
-HSPLandroid/app/RemoteAction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/RemoteAction;
-HSPLandroid/app/RemoteAction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/LaunchActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->setValues(Landroid/app/servertransaction/LaunchActivityItem;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;Landroid/os/IBinder;)V
-HSPLandroid/app/Service;->stopSelfResult(I)Z
-HSPLandroid/app/StatsManager;->addConfig(J[B)V
-HSPLandroid/app/StatsManager;->getReports(J)[B
-HSPLandroid/app/StatsManager;->setFetchReportsOperation(Landroid/app/PendingIntent;J)V
-HSPLandroid/app/StatsManager;->setPullerCallback(ILandroid/os/IStatsPullerCallback;)V
-HSPLandroid/app/StatusBarManager;->disable(I)V
-HSPLandroid/app/SystemServiceRegistry$103;->createService(Landroid/app/ContextImpl;)Landroid/app/prediction/AppPredictionManager;
-HSPLandroid/app/SystemServiceRegistry$103;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$15;->createService()Landroid/os/IBinder;
-HSPLandroid/app/SystemServiceRegistry$15;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/net/nsd/NsdManager;
-HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorPrivacyManager;
-HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$86;->createService()Landroid/service/persistentdata/PersistentDataBlockManager;
-HSPLandroid/app/SystemServiceRegistry$86;->createService()Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Landroid/media/projection/MediaProjectionManager;
-HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Landroid/content/om/OverlayManager;
-HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
-HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/trust/IStrongAuthTracker$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/trust/ITrustListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/trust/ITrustListener$Stub;-><init>()V
-HSPLandroid/app/trust/ITrustListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;)V
-HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceSecure(I)Z
-HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isTrustUsuallyManaged(I)Z
-HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
-HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->reportKeyguardShowingChanged()V
-HSPLandroid/app/trust/TrustManager$2;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/app/trust/TrustManager;->access$000(Landroid/app/trust/TrustManager;)Landroid/os/Handler;
-HSPLandroid/app/trust/TrustManager;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;)V
-HSPLandroid/app/trust/TrustManager;->isTrustUsuallyManaged(I)Z
-HSPLandroid/app/trust/TrustManager;->registerTrustListener(Landroid/app/trust/TrustManager$TrustListener;)V
-HSPLandroid/app/trust/TrustManager;->reportKeyguardShowingChanged()V
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->isAppInactive(Ljava/lang/String;I)Z
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/UsageEvents$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/UsageEvents$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/usage/UsageEvents$Event;->getClassName()Ljava/lang/String;
-HSPLandroid/app/usage/UsageEvents$Event;->getConfiguration()Landroid/content/res/Configuration;
-HSPLandroid/app/usage/UsageEvents$Event;->getEventType()I
-HSPLandroid/app/usage/UsageEvents$Event;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/usage/UsageEvents$Event;->getTimeStamp()J
-HSPLandroid/app/usage/UsageEvents$Event;-><init>()V
-HSPLandroid/app/usage/UsageEvents;->getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z
-HSPLandroid/app/usage/UsageEvents;->hasNextEvent()Z
-HSPLandroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V
-HSPLandroid/app/usage/UsageStats;->getLastTimeStamp()J
-HSPLandroid/app/usage/UsageStatsManager;->isAppInactive(Ljava/lang/String;)Z
-HSPLandroid/app/usage/UsageStatsManager;->queryAndAggregateUsageStats(JJ)Ljava/util/Map;
-HSPLandroid/app/usage/UsageStatsManager;->queryEvents(JJ)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/WallpaperColors;->getColorHints()I
-HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WallpaperInfo;
-HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/WallpaperManager$Globals;->access$200(Landroid/app/WallpaperManager$Globals;)Landroid/app/IWallpaperManager;
-HSPLandroid/app/WallpaperManager$Globals;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;II)V
-HSPLandroid/app/WallpaperManager$Globals;->lambda$onWallpaperColorsChanged$1$WallpaperManager$Globals(Landroid/util/Pair;Landroid/app/WallpaperColors;II)V
-HSPLandroid/app/WallpaperManager$Globals;->lambda$removeOnColorsChangedListener$0(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/util/Pair;)Z
-HSPLandroid/app/WallpaperManager$Globals;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
-HSPLandroid/app/WallpaperManager$Globals;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;II)V
-HSPLandroid/app/WallpaperManager;->access$100()Landroid/app/WallpaperManager$Globals;
-HSPLandroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V
-HSPLandroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;)V
-HSPLandroid/app/WallpaperManager;->getDesiredMinimumHeight()I
-HSPLandroid/app/WallpaperManager;->getDesiredMinimumWidth()I
-HSPLandroid/app/WallpaperManager;->getInstance(Landroid/content/Context;)Landroid/app/WallpaperManager;
-HSPLandroid/app/WallpaperManager;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-HSPLandroid/app/WallpaperManager;->getWallpaperInfo()Landroid/app/WallpaperInfo;
-HSPLandroid/app/WallpaperManager;->isWallpaperSupported()Z
-HSPLandroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;I)V
-HSPLandroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;)V
-HSPLandroid/app/WallpaperManager;->setWallpaperOffsets(Landroid/os/IBinder;FF)V
-HSPLandroid/app/WallpaperManager;->setWallpaperOffsetSteps(FF)V
-HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(ILandroid/os/UserHandle;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
-HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Ljava/lang/Object;
-HSPLandroid/bluetooth/BluetoothAdapter;->enableBLE()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;
-HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothManager()Landroid/bluetooth/IBluetoothManager;
-HSPLandroid/bluetooth/BluetoothAdapter;->getConnectionState()I
-HSPLandroid/bluetooth/BluetoothAdapter;->getLeAccess()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->getLeState()I
-HSPLandroid/bluetooth/BluetoothAdapter;->getRemoteDevice(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/BluetoothAdapter;->isBleScanAlwaysAvailable()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->isLeEnabled()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->isOffloadedFilteringSupported()Z
-HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingInsecureL2capOn(I)Landroid/bluetooth/BluetoothServerSocket;
-HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingInsecureRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
-HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingL2capOn(I)Landroid/bluetooth/BluetoothServerSocket;
-HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingL2capOn(IZZ)Landroid/bluetooth/BluetoothServerSocket;
-HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
-HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingRfcommOn(IZZ)Landroid/bluetooth/BluetoothServerSocket;
-HSPLandroid/bluetooth/BluetoothClass;-><init>(I)V
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getBitsPerSample()I
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getChannelMode()I
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecPriority()I
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific1()J
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific2()J
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific3()J
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific4()J
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecType()I
-HSPLandroid/bluetooth/BluetoothCodecConfig;->getSampleRate()I
-HSPLandroid/bluetooth/BluetoothCodecConfig;-><init>(IIIIIJJJJ)V
-HSPLandroid/bluetooth/BluetoothDevice;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/BluetoothHeadset;->isInbandRingingSupported(Landroid/content/Context;)Z
-HSPLandroid/bluetooth/BluetoothInputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
-HSPLandroid/bluetooth/BluetoothManager;->getAdapter()Landroid/bluetooth/BluetoothAdapter;
-HSPLandroid/bluetooth/BluetoothOutputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
-HSPLandroid/bluetooth/BluetoothPbap;->access$000(Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothPbap;->log(Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothProfileConnector;->access$000(Landroid/bluetooth/BluetoothProfileConnector;)Z
-HSPLandroid/bluetooth/BluetoothProfileConnector;->access$200(Landroid/bluetooth/BluetoothProfileConnector;Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothProfileConnector;->access$302(Landroid/bluetooth/BluetoothProfileConnector;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/bluetooth/BluetoothProfileConnector;->access$400(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile$ServiceListener;
-HSPLandroid/bluetooth/BluetoothProfileConnector;->access$500(Landroid/bluetooth/BluetoothProfileConnector;)I
-HSPLandroid/bluetooth/BluetoothProfileConnector;->access$600(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile;
-HSPLandroid/bluetooth/BluetoothProfileConnector;->connect(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
-HSPLandroid/bluetooth/BluetoothProfileConnector;->doBind()Z
-HSPLandroid/bluetooth/BluetoothProfileConnector;->getService()Ljava/lang/Object;
-HSPLandroid/bluetooth/BluetoothProfileConnector;->logDebug(Ljava/lang/String;)V
-HSPLandroid/bluetooth/BluetoothServerSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
-HSPLandroid/bluetooth/BluetoothServerSocket;->accept()Landroid/bluetooth/BluetoothSocket;
-HSPLandroid/bluetooth/BluetoothServerSocket;->getChannel()I
-HSPLandroid/bluetooth/BluetoothServerSocket;-><init>(IZZI)V
-HSPLandroid/bluetooth/BluetoothServerSocket;-><init>(IZZIZZ)V
-HSPLandroid/bluetooth/BluetoothServerSocket;->setChannel(I)V
-HSPLandroid/bluetooth/BluetoothSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
-HSPLandroid/bluetooth/BluetoothSocket;->bindListen()I
-HSPLandroid/bluetooth/BluetoothSocket;->getPort()I
-HSPLandroid/bluetooth/BluetoothSocket;->getSecurityFlags()I
-HSPLandroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;)V
-HSPLandroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;ZZ)V
-HSPLandroid/bluetooth/BluetoothSocket;->readAll(Ljava/io/InputStream;[B)I
-HSPLandroid/bluetooth/BluetoothSocket;->readInt(Ljava/io/InputStream;)I
-HSPLandroid/bluetooth/BluetoothSocket;->setExcludeSdp(Z)V
-HSPLandroid/bluetooth/BluetoothSocket;->waitSocketSignal(Ljava/io/InputStream;)Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothUuid;->getServiceIdentifierFromParcelUuid(Landroid/os/ParcelUuid;)I
-HSPLandroid/bluetooth/BluetoothUuid;->is16BitUuid(Landroid/os/ParcelUuid;)Z
-HSPLandroid/bluetooth/BluetoothUuid;->parseUuidFrom([B)Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/BluetoothUuid;->uuidToBytes(Landroid/os/ParcelUuid;)[B
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getAdapterConnectionState()I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedFilteringSupported()Z
-HSPLandroid/bluetooth/IBluetooth$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetooth$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothAvrcpTarget$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;->onBluetoothStateChange(II)V
-HSPLandroid/bluetooth/IBluetoothCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothCallback;
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScan(I)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterScanner(I)V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothGatt$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadsetPhone;
-HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidDevice;
-HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHidHost$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidHost;
-HSPLandroid/bluetooth/IBluetoothHidHost$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothHidHost$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleScanAlwaysAvailable()Z
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
-HSPLandroid/bluetooth/IBluetoothMap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothMap;
-HSPLandroid/bluetooth/IBluetoothMap$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothMap$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothPan$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothPan;
-HSPLandroid/bluetooth/IBluetoothPan$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothPbap$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothSap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSap;
-HSPLandroid/bluetooth/IBluetoothSap$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothSap$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->createSocketChannel(ILjava/lang/String;Landroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/IBluetoothSocketManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSocketManager;
-HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScannerRegistered(II)V
-HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-HSPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanFilter;
-HSPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/bluetooth/le/ScanFilter$Builder;->setManufacturerData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder;
-HSPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/ScanFilter$Builder;
-HSPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;
-HSPLandroid/bluetooth/le/ScanFilter;->getDeviceAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/le/ScanFilter;->getDeviceName()Ljava/lang/String;
-HSPLandroid/bluetooth/le/ScanFilter;->getManufacturerData()[B
-HSPLandroid/bluetooth/le/ScanFilter;->getManufacturerDataMask()[B
-HSPLandroid/bluetooth/le/ScanFilter;->getManufacturerId()I
-HSPLandroid/bluetooth/le/ScanFilter;->getServiceData()[B
-HSPLandroid/bluetooth/le/ScanFilter;->getServiceDataMask()[B
-HSPLandroid/bluetooth/le/ScanFilter;->getServiceDataUuid()Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/le/ScanFilter;->getServiceSolicitationUuid()Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/le/ScanFilter;->getServiceUuid()Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/le/ScanFilter;->getServiceUuidMask()Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/le/ScanFilter;->matches(Landroid/bluetooth/le/ScanResult;)Z
-HSPLandroid/bluetooth/le/ScanFilter;->matchesPartialData([B[B[B)Z
-HSPLandroid/bluetooth/le/ScanFilter;->matchesServiceUuid(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Z
-HSPLandroid/bluetooth/le/ScanFilter;->matchesServiceUuids(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Ljava/util/List;)Z
-HSPLandroid/bluetooth/le/ScanFilter;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/le/ScanRecord;->extractBytes([BII)[B
-HSPLandroid/bluetooth/le/ScanRecord;->getBytes()[B
-HSPLandroid/bluetooth/le/ScanRecord;->getManufacturerSpecificData(I)[B
-HSPLandroid/bluetooth/le/ScanRecord;->getServiceData(Landroid/os/ParcelUuid;)[B
-HSPLandroid/bluetooth/le/ScanRecord;->getServiceUuids()Ljava/util/List;
-HSPLandroid/bluetooth/le/ScanRecord;-><init>(Ljava/util/List;Ljava/util/List;Landroid/util/SparseArray;Ljava/util/Map;IILjava/lang/String;[B)V
-HSPLandroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
-HSPLandroid/bluetooth/le/ScanRecord;->parseServiceUuid([BIIILjava/util/List;)I
-HSPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanResult;
-HSPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/bluetooth/le/ScanResult;->getDevice()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/le/ScanResult;->getRssi()I
-HSPLandroid/bluetooth/le/ScanResult;->getScanRecord()Landroid/bluetooth/le/ScanRecord;
-HSPLandroid/bluetooth/le/ScanResult;->getTimestampNanos()J
-HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/bluetooth/BluetoothDevice;IIIIIIILandroid/bluetooth/le/ScanRecord;J)V
-HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;Landroid/bluetooth/le/ScanResult$1;)V
-HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/bluetooth/le/ScanResult;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/bluetooth/le/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/le/ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanSettings;
-HSPLandroid/bluetooth/le/ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->build()Landroid/bluetooth/le/ScanSettings;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;-><init>()V
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->isValidCallbackType(I)Z
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setReportDelay(J)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings$Builder;->setScanMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HSPLandroid/bluetooth/le/ScanSettings;->getCallbackType()I
-HSPLandroid/bluetooth/le/ScanSettings;->getLegacy()Z
-HSPLandroid/bluetooth/le/ScanSettings;->getMatchMode()I
-HSPLandroid/bluetooth/le/ScanSettings;->getReportDelayMillis()J
-HSPLandroid/bluetooth/le/ScanSettings;->getScanMode()I
-HSPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZILandroid/bluetooth/le/ScanSettings$1;)V
-HSPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZI)V
-HSPLandroid/bluetooth/le/ScanSettings;-><init>(Landroid/os/Parcel;Landroid/bluetooth/le/ScanSettings$1;)V
-HSPLandroid/bluetooth/le/ScanSettings;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/bluetooth/le/ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/AbstractThreadedSyncAdapter$1;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>(Landroid/content/AbstractThreadedSyncAdapter;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->lambda$onUnsyncableAccount$0(Ljava/lang/Object;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;Landroid/content/AbstractThreadedSyncAdapter$1;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
-HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->run()V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$100()Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1300(Landroid/content/AbstractThreadedSyncAdapter;)Landroid/content/Context;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/accounts/Account;)Landroid/accounts/Account;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$300(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/lang/Object;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$400(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/HashMap;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$500(Landroid/content/AbstractThreadedSyncAdapter;)Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$600(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/concurrent/atomic/AtomicInteger;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->getContext()Landroid/content/Context;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->getSyncAdapterBinder()Landroid/os/IBinder;
-HSPLandroid/content/AbstractThreadedSyncAdapter;->handleOnUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;ZZ)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->onUnsyncableAccount()Z
-HSPLandroid/content/AbstractThreadedSyncAdapter;->toSyncKey(Landroid/accounts/Account;)Landroid/accounts/Account;
-HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Landroid/os/Parcel;)V
-HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;
-HSPLandroid/content/ContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->close()V
-HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->finalize()V
-HSPLandroid/content/ContentProviderClient;->getLocalContentProvider()Landroid/content/ContentProvider;
-HSPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
-HSPLandroid/content/ContentProvider;->onCallingPackageChanged()V
-HSPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
-HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
-HSPLandroid/content/ContentResolver;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-HSPLandroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
-HSPLandroid/content/ContentResolver;->getMasterSyncAutomatically()Z
-HSPLandroid/content/ContentResolver;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-HSPLandroid/content/ContentResolver;->invalidPeriodicExtras(Landroid/os/Bundle;)Z
-HSPLandroid/content/ContentResolver;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/ContentResolver;->requestSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/Bundle;)V
-HSPLandroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/ContentResolver;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-HSPLandroid/content/ContentResolver;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-HSPLandroid/content/ContentResolver;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
-HSPLandroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
-HSPLandroid/content/ContentValues;->getAsByteArray(Ljava/lang/String;)[B
-HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set;
-HSPLandroid/content/Context;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V
-HSPLandroid/content/ContextWrapper;->databaseList()[Ljava/lang/String;
-HSPLandroid/content/ContextWrapper;->deleteDatabase(Ljava/lang/String;)Z
-HSPLandroid/content/ContextWrapper;->deleteFile(Ljava/lang/String;)Z
-HSPLandroid/content/ContextWrapper;->getThemeResId()I
-HSPLandroid/content/ContextWrapper;->moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z
-HSPLandroid/content/ContextWrapper;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/content/ContextWrapper;->updateDisplay(I)V
-HSPLandroid/content/IClipboard$Stub$Proxy;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;I)V
-HSPLandroid/content/IContentService$Stub$Proxy;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-HSPLandroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomatically()Z
-HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-HSPLandroid/content/IContentService$Stub$Proxy;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/IContentService$Stub$Proxy;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-HSPLandroid/content/IContentService$Stub$Proxy;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-HSPLandroid/content/IContentService$Stub$Proxy;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
-HSPLandroid/content/IIntentReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/IntentFilter;->matchAction(Ljava/lang/String;)Z
-HSPLandroid/content/Intent;->putExtras(Landroid/content/Intent;)Landroid/content/Intent;
-HSPLandroid/content/ISyncAdapter$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ISyncAdapter$Stub;-><init>()V
-HSPLandroid/content/ISyncAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->onUnsyncableAccountDone(Z)V
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapterUnsyncableAccountCallback;
-HSPLandroid/content/ISyncContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
-HSPLandroid/content/ISyncContext$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncContext;
-HSPLandroid/content/om/OverlayManager;-><init>(Landroid/content/Context;Landroid/content/om/IOverlayManager;)V
-HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Ljava/util/List;)V
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getAllSessions(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->hasShortcutHostPermission(Ljava/lang/String;)Z
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/IOnAppsChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IOnAppsChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
-HSPLandroid/content/pm/IPackageInstaller$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstaller;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isSafeMode()Z
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-HSPLandroid/content/pm/IPackageMoveObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IPackageMoveObserver$Stub;-><init>()V
-HSPLandroid/content/pm/LauncherApps$1;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-HSPLandroid/content/pm/LauncherApps$1;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/content/pm/LauncherApps;->access$100(Landroid/content/pm/LauncherApps;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->addCallbackLocked(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
-HSPLandroid/content/pm/LauncherApps;->convertToActivityList(Landroid/content/pm/ParceledListSlice;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->findCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)I
-HSPLandroid/content/pm/LauncherApps;->getActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->getAllPackageInstallerSessions()Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->getShortcutConfigActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->getShortcuts(Landroid/content/pm/LauncherApps$ShortcutQuery;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->hasShortcutHostPermission()Z
-HSPLandroid/content/pm/LauncherApps;->isActivityEnabled(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/LauncherApps;->isPackageEnabled(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/LauncherApps;->logErrorForInvalidProfileAccess(Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/LauncherApps;->maybeUpdateDisabledMessage(Ljava/util/List;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
-HSPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;)V
-HSPLandroid/content/pm/LauncherApps;->removeCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)V
-HSPLandroid/content/pm/LauncherApps;->resolveActivity(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/LauncherActivityInfo;
-HSPLandroid/content/pm/LauncherApps;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/PackageInfo;-><init>()V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;-><init>()V
-HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V
-HSPLandroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageParser$CallbackImpl;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser$CallbackImpl;->hasFeature(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser$CallbackImpl;-><init>(Landroid/content/pm/PackageManager;)V
-HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/ParceledListSlice;-><init>(Ljava/util/List;)V
-HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/pm/ShortcutInfo;->getActivity()Landroid/content/ComponentName;
-HSPLandroid/content/pm/ShortcutInfo;->getDisabledReasonForRestoreIssue(Landroid/content/Context;I)Ljava/lang/String;
-HSPLandroid/content/pm/ShortcutInfo;->getDisabledReason()I
-HSPLandroid/content/pm/ShortcutInfo;->getPackage()Ljava/lang/String;
-HSPLandroid/content/pm/ShortcutInfo;->getUserHandle()Landroid/os/UserHandle;
-HSPLandroid/content/pm/ShortcutInfo;->hasFlags(I)Z
-HSPLandroid/content/pm/ShortcutInfo;->isDeclaredInManifest()Z
-HSPLandroid/content/pm/ShortcutInfo;->isDynamic()Z
-HSPLandroid/content/pm/ShortcutInfo;->isEnabled()Z
-HSPLandroid/content/res/ApkAssets;->close()V
-HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
-HSPLandroid/content/res/AssetManager;->isUpToDate()Z
-HSPLandroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/res/ComplexColor;-><init>()V
-HSPLandroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Configuration;)Z
-HSPLandroid/content/res/ConstantState;-><init>()V
-HSPLandroid/content/res/GradientColor;->access$000(Landroid/content/res/GradientColor;)I
-HSPLandroid/content/res/GradientColor;->canApplyTheme()Z
-HSPLandroid/content/res/GradientColor;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/content/res/GradientColor;
-HSPLandroid/content/res/GradientColor;->getConstantState()Landroid/content/res/ConstantState;
-HSPLandroid/content/res/GradientColor;->getDefaultColor()I
-HSPLandroid/content/res/GradientColor;->getShader()Landroid/graphics/Shader;
-HSPLandroid/content/res/GradientColor;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/content/res/GradientColor;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/content/res/GradientColor;-><init>()V
-HSPLandroid/content/res/GradientColor;->onColorsChange()V
-HSPLandroid/content/res/GradientColor;->parseTileMode(I)Landroid/graphics/Shader$TileMode;
-HSPLandroid/content/res/GradientColor;->updateRootElementState(Landroid/content/res/TypedArray;)V
-HSPLandroid/content/res/GradientColor;->validateXmlContent()V
-HSPLandroid/content/res/Resources;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/res/ResourcesImpl;->loadColorOrXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
-HSPLandroid/content/res/StringBlock;->close()V
-HSPLandroid/content/res/TypedArray;->getThemeAttributeId(II)I
-HSPLandroid/content/SyncContext;-><init>(Landroid/content/ISyncContext;)V
-HSPLandroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
-HSPLandroid/content/SyncRequest$Builder;->access$1000(Landroid/content/SyncRequest$Builder;)Z
-HSPLandroid/content/SyncRequest$Builder;->access$100(Landroid/content/SyncRequest$Builder;)J
-HSPLandroid/content/SyncRequest$Builder;->access$200(Landroid/content/SyncRequest$Builder;)J
-HSPLandroid/content/SyncRequest$Builder;->access$300(Landroid/content/SyncRequest$Builder;)Landroid/accounts/Account;
-HSPLandroid/content/SyncRequest$Builder;->access$400(Landroid/content/SyncRequest$Builder;)Ljava/lang/String;
-HSPLandroid/content/SyncRequest$Builder;->access$500(Landroid/content/SyncRequest$Builder;)I
-HSPLandroid/content/SyncRequest$Builder;->access$600(Landroid/content/SyncRequest$Builder;)I
-HSPLandroid/content/SyncRequest$Builder;->access$700(Landroid/content/SyncRequest$Builder;)Z
-HSPLandroid/content/SyncRequest$Builder;->access$800(Landroid/content/SyncRequest$Builder;)Landroid/os/Bundle;
-HSPLandroid/content/SyncRequest$Builder;->access$900(Landroid/content/SyncRequest$Builder;)Landroid/os/Bundle;
-HSPLandroid/content/SyncRequest$Builder;->build()Landroid/content/SyncRequest;
-HSPLandroid/content/SyncRequest$Builder;-><init>()V
-HSPLandroid/content/SyncRequest$Builder;->setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;
-HSPLandroid/content/SyncRequest$Builder;->setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;
-HSPLandroid/content/SyncRequest$Builder;->setupInterval(JJ)V
-HSPLandroid/content/SyncRequest$Builder;->syncOnce()Landroid/content/SyncRequest$Builder;
-HSPLandroid/content/SyncRequest;-><init>(Landroid/content/SyncRequest$Builder;)V
-HSPLandroid/content/SyncRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/SyncResult;-><init>()V
-HSPLandroid/content/SyncResult;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/SyncStats;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/database/AbstractCursor$SelfContentObserver;-><init>(Landroid/database/AbstractCursor;)V
-HSPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle;
-HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;IZ)V
-HSPLandroid/database/AbstractWindowedCursor;->setWindow(Landroid/database/CursorWindow;)V
-HSPLandroid/database/CrossProcessCursorWrapper;->getWindow()Landroid/database/CursorWindow;
-HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V
-HSPLandroid/database/CursorWindow;-><init>(Z)V
-HSPLandroid/database/CursorWindow;->putBlob([BII)Z
-HSPLandroid/database/CursorWindow;->putDouble(DII)Z
-HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle;
-HSPLandroid/database/CursorWrapper;->getWantsAllOnMoveCalls()Z
-HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor;
-HSPLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J
-HSPLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
-HSPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/MatrixCursor;->getBlob(I)[B
-HSPLandroid/database/MatrixCursor;->getDouble(I)D
-HSPLandroid/database/sqlite/SQLiteCursor;->setWindow(Landroid/database/CursorWindow;)V
-HSPLandroid/database/sqlite/SQLiteDatabase$1;->accept(Ljava/io/File;)Z
-HSPLandroid/database/sqlite/SQLiteDatabase$1;-><init>(Ljava/lang/String;)V
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->addOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->build()Landroid/database/sqlite/SQLiteDatabase$OpenParams;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$000(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$100(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$200(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/DatabaseErrorHandler;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$300(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$400(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$600(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$700(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$1;)V
-HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionNonExclusive()V
-HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;)Z
-HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;Z)Z
-HSPLandroid/database/sqlite/SQLiteDatabase;->getMaximumSize()J
-HSPLandroid/database/sqlite/SQLiteDatabase;->getPageSize()J
-HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I
-HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;
-HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteDatabase;->releaseMemory()I
-HSPLandroid/database/sqlite/SQLiteGlobal;->releaseMemory()I
-HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParamsBuilder(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
-HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParams(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
-HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V
-HSPLandroid/database/sqlite/SQLiteProgram;->getBindArgs()[Ljava/lang/Object;
-HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I
-HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession;
-HSPLandroid/database/sqlite/SQLiteProgram;->getSql()Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
-HSPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String;
-HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;->applyAsDouble(D)D
-HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Bitmap;->checkRecycled(Ljava/lang/String;)V
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->extractAlpha(Landroid/graphics/Paint;[I)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory$Options;->nativeColorSpace(Landroid/graphics/BitmapFactory$Options;)J
-HSPLandroid/graphics/BitmapFactory$Options;->nativeInBitmap(Landroid/graphics/BitmapFactory$Options;)J
-HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->getNativeInstance()J
-HSPLandroid/graphics/Bitmap;->noteHardwareBitmapSlowCall()V
-HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode;
-HSPLandroid/graphics/BlendModeColorFilter;->createNativeInstance()J
-HSPLandroid/graphics/BlendModeColorFilter;->getColor()I
-HSPLandroid/graphics/BlendModeColorFilter;->getMode()Landroid/graphics/BlendMode;
-HSPLandroid/graphics/BlendModeColorFilter;-><init>(ILandroid/graphics/BlendMode;)V
-HSPLandroid/graphics/BlendMode;->fromValue(I)Landroid/graphics/BlendMode;
-HSPLandroid/graphics/BlendMode;->getXfermode()Landroid/graphics/Xfermode;
-HSPLandroid/graphics/Canvas;->checkValidSaveFlags(I)V
-HSPLandroid/graphics/Canvas;->clipOutPath(Landroid/graphics/Path;)Z
-HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->getClipBounds()Landroid/graphics/Rect;
-HSPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I
-HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I
-HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I
-HSPLandroid/graphics/ColorFilter;->discardNativeInstance()V
-HSPLandroid/graphics/ColorFilter;-><init>()V
-HSPLandroid/graphics/Color;->luminance(I)F
-HSPLandroid/graphics/ColorMatrixColorFilter;-><init>([F)V
-HSPLandroid/graphics/ColorMatrixColorFilter;->setColorMatrixArray([F)V
-HSPLandroid/graphics/ColorMatrix;->set([F)V
-HSPLandroid/graphics/ColorSpace$Rgb;->clamp(D)D
-HSPLandroid/graphics/ColorSpace$Rgb;->getEotf()Ljava/util/function/DoubleUnaryOperator;
-HSPLandroid/graphics/ColorSpace$Rgb;->lambda$8EkhO2jIf14tuA3BvrmYJMa7YXM(Landroid/graphics/ColorSpace$Rgb;D)D
-HSPLandroid/graphics/CornerPathEffect;-><init>(F)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;-><init>(I)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->addLayer(ILandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->createChildDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getBackground()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getExtraInsetFraction()F
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getForeground()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIconMask()Landroid/graphics/Path;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;-><init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->newDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->access$200(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)Landroid/animation/Animator$AnimatorListener;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->access$300(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->addPendingAction(I)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForRootGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->invalidateOwningView()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isRunning()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->reset()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->transferPendingActions(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->useLastSeenTarget()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->access$1700(JFF)J
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->access$700(Landroid/graphics/drawable/AnimatedVectorDrawable;)Ljava/util/ArrayList;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->clearAnimationCallbacks()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->ensureAnimatorSet()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->fallbackOntoUI()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->forceAnimationOnUI()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/content/res/Resources;Landroid/graphics/drawable/AnimatedVectorDrawable$1;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->registerAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->removeAnimatorSetListener()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->reset()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
-HSPLandroid/graphics/drawable/ColorDrawable;-><init>()V
-HSPLandroid/graphics/drawable/ColorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/Drawable$ConstantState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Drawable;->clearMutated()V
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildCount()I
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->growArray(II)V
-HSPLandroid/graphics/drawable/DrawableContainer;->getAlpha()I
-HSPLandroid/graphics/drawable/Drawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Drawable;->parseBlendMode(ILandroid/graphics/BlendMode;)Landroid/graphics/BlendMode;
-HSPLandroid/graphics/drawable/Drawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;
-HSPLandroid/graphics/drawable/DrawableWrapper;->getOpacity()I
-HSPLandroid/graphics/drawable/DrawableWrapper;-><init>(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/DrawableWrapper;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-HSPLandroid/graphics/drawable/DrawableWrapper;->onLevelChange(I)Z
-HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->getAngleFromOrientation(Landroid/graphics/drawable/GradientDrawable$Orientation;)I
-HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->updateGradientStateOrientation()V
-HSPLandroid/graphics/drawable/Icon;->loadDrawableAsUser(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/Icon;->sameAs(Landroid/graphics/drawable/Icon;)Z
-HSPLandroid/graphics/drawable/Icon;->setTintMode(Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/drawable/Icon;
-HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->newDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/NinePatchDrawable;-><init>()V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setAlpha(I)V
-HSPLandroid/graphics/drawable/RippleDrawable;->setForceSoftware(Z)V
-HSPLandroid/graphics/drawable/RotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-HSPLandroid/graphics/drawable/ShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/shapes/Shape;->clone()Landroid/graphics/drawable/shapes/Shape;
-HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getProperty(Ljava/lang/String;)Landroid/util/Property;
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$2;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$2;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$3;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$3;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$4;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$4;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$5;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup$5;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setScaleX(F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setScaleY(F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTranslateX(F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTranslateY(F)V
-HSPLandroid/graphics/drawable/VectorDrawable$VPath$1;->set(Landroid/graphics/drawable/VectorDrawable$VPath;Landroid/util/PathParser$PathData;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VPath$1;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/graphics/drawable/VectorDrawable$VPath;->setPathData(Landroid/util/PathParser$PathData;)V
-HSPLandroid/graphics/drawable/VectorDrawable;->access$2900(JF)V
-HSPLandroid/graphics/drawable/VectorDrawable;->access$3100(JF)V
-HSPLandroid/graphics/drawable/VectorDrawable;->access$3300(JF)V
-HSPLandroid/graphics/drawable/VectorDrawable;->access$3500(JF)V
-HSPLandroid/graphics/drawable/VectorDrawable;->access$3600(JJ)V
-HSPLandroid/graphics/drawable/VectorDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
-HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/HardwareRenderer;->buildLayer(Landroid/graphics/RenderNode;)V
-HSPLandroid/graphics/HardwareRenderer;->overrideProperty(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/graphics/HardwareRenderer;->setContextPriority(I)V
-HSPLandroid/graphics/HardwareRenderer;->setFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
-HSPLandroid/graphics/MaskFilter;->finalize()V
-HSPLandroid/graphics/Matrix;->ni()J
-HSPLandroid/graphics/Matrix;->postRotate(FFF)Z
-HSPLandroid/graphics/Paint;->clearShadowLayer()V
-HSPLandroid/graphics/Paint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics;
-HSPLandroid/graphics/Paint;->setARGB(IIII)V
-HSPLandroid/graphics/Paint;->setFontFeatureSettings(Ljava/lang/String;)V
-HSPLandroid/graphics/Paint;->setStrokeMiter(F)V
-HSPLandroid/graphics/Path;->addCircle(FFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;)V
-HSPLandroid/graphics/Path;->addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->arcTo(Landroid/graphics/RectF;FF)V
-HSPLandroid/graphics/PathEffect;-><init>()V
-HSPLandroid/graphics/PathMeasure;->finalize()V
-HSPLandroid/graphics/PathMeasure;->getLength()F
-HSPLandroid/graphics/PathMeasure;->getPosTan(F[F[F)Z
-HSPLandroid/graphics/PathMeasure;-><init>(Landroid/graphics/Path;Z)V
-HSPLandroid/graphics/PathMeasure;-><init>()V
-HSPLandroid/graphics/PathMeasure;->setPath(Landroid/graphics/Path;Z)V
-HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z
-HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z
-HSPLandroid/graphics/Path;->quadTo(FFFF)V
-HSPLandroid/graphics/Path;->readOnlyNI()J
-HSPLandroid/graphics/Path;->rLineTo(FF)V
-HSPLandroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
-HSPLandroid/graphics/Point;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/graphics/RectF;->offsetTo(FF)V
-HSPLandroid/graphics/Rect;->inset(II)V
-HSPLandroid/graphics/Rect;->offsetTo(II)V
-HSPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/Region;->getBounds()Landroid/graphics/Rect;
-HSPLandroid/graphics/Region;-><init>(IIII)V
-HSPLandroid/graphics/RegionIterator;-><init>(Landroid/graphics/Region;)V
-HSPLandroid/graphics/RegionIterator;->next(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/Region;->ni()J
-HSPLandroid/graphics/Region;->setPath(Landroid/graphics/Path;Landroid/graphics/Region;)Z
-HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;-><init>([Landroid/graphics/RenderNode$PositionUpdateListener;)V
-HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->positionChanged(JIIII)V
-HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->positionLost(J)V
-HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->without(Landroid/graphics/RenderNode$PositionUpdateListener;)Landroid/graphics/RenderNode$CompositePositionUpdateListener;
-HSPLandroid/graphics/RenderNode;->removePositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V
-HSPLandroid/graphics/Typeface;->create(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->createWeightStyle(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;
-HSPLandroid/hardware/biometrics/BiometricManager;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
-HSPLandroid/hardware/biometrics/BiometricSourceType;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;-><init>()V
-HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;-><init>()V
-HSPLandroid/hardware/Camera$CameraInfo;-><init>()V
-HSPLandroid/hardware/camera2/CameraManager;->registerTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;Landroid/os/Handler;)V
-HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->boolSettingDefaultOn(Ljava/lang/String;I)Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->boolSetting(Ljava/lang/String;II)Z
-HSPLandroid/hardware/display/AmbientDisplayConfiguration;->tapGestureEnabled(I)Z
-HSPLandroid/hardware/display/DisplayManager;->getStableDisplaySize()Landroid/graphics/Point;
-HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point;
-HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getStableDisplaySize()Landroid/graphics/Point;
-HSPLandroid/hardware/fingerprint/FingerprintManager$1;-><init>(Landroid/hardware/fingerprint/FingerprintManager;Landroid/os/PowerManager;Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;)V
-HSPLandroid/hardware/fingerprint/FingerprintManager;->addLockoutResetCallback(Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->addLockoutResetCallback(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
-HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->hasKeys(II[I[Z)Z
-HSPLandroid/hardware/input/InputManager;->deviceHasKeys(I[I)[Z
-HSPLandroid/hardware/ISensorPrivacyListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/ISensorPrivacyListener$Stub;-><init>()V
-HSPLandroid/hardware/ISensorPrivacyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ISensorPrivacyManager;
-HSPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubInfo;
-HSPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/ContextHubInfo;->getMaxPacketLengthBytes()I
-HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/location/ContextHubInfo$1;)V
-HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/hardware/location/ContextHubManager;->access$000(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$Callback;
-HSPLandroid/hardware/location/ContextHubManager;->access$100(Landroid/hardware/location/ContextHubManager;)Landroid/os/Handler;
-HSPLandroid/hardware/location/ContextHubManager;->access$200(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$ICallback;
-HSPLandroid/hardware/location/ContextHubManager;->access$300(Landroid/hardware/location/ContextHubManager;IILandroid/hardware/location/ContextHubMessage;)V
-HSPLandroid/hardware/location/ContextHubManager;->createClientCallback(Landroid/hardware/location/ContextHubClient;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/IContextHubClientCallback;
-HSPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;)Landroid/hardware/location/ContextHubClient;
-HSPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/ContextHubClient;
-HSPLandroid/hardware/location/ContextHubManager;->createQueryCallback(Landroid/hardware/location/ContextHubTransaction;)Landroid/hardware/location/IContextHubTransactionCallback;
-HSPLandroid/hardware/location/ContextHubManager;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-HSPLandroid/hardware/location/ContextHubManager;->getContextHubHandles()[I
-HSPLandroid/hardware/location/ContextHubManager;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-HSPLandroid/hardware/location/ContextHubManager;->getContextHubs()Ljava/util/List;
-HSPLandroid/hardware/location/ContextHubManager;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLandroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLandroid/hardware/location/ContextHubManager;->invokeOnMessageReceiptCallback(IILandroid/hardware/location/ContextHubMessage;)V
-HSPLandroid/hardware/location/ContextHubManager;->queryNanoApps(Landroid/hardware/location/ContextHubInfo;)Landroid/hardware/location/ContextHubTransaction;
-HSPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;)I
-HSPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;Landroid/os/Handler;)I
-HSPLandroid/hardware/location/ContextHubManager;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
-HSPLandroid/hardware/location/IActivityRecognitionHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardware;
-HSPLandroid/hardware/location/IContextHubCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IContextHubCallback$Stub;-><init>()V
-HSPLandroid/hardware/location/IContextHubCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/location/IContextHubClientCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/location/IContextHubService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubService;
-HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Landroid/hardware/location/MemoryRegion;
-HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/location/NanoAppInstanceInfo$1;)V
-HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/hardware/location/NanoAppMessage;->getMessageType()I
-HSPLandroid/hardware/location/NanoAppMessage;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppState;
-HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/NanoAppState;->getNanoAppId()J
-HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;Landroid/hardware/location/NanoAppState$1;)V
-HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/deprecated/V1_0/IOemHook;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_0/CardStatus;-><init>()V
-HSPLandroid/hardware/radio/V1_0/CardStatus;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo;->toString()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/CdmaSignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_0/CdmaSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CellIdentityLte;-><init>()V
-HSPLandroid/hardware/radio/V1_0/CellIdentityLte;->toString()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/CellInfoType;->toString(I)Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/DataProfileInfo;->writeToParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/DataRegStateResult;-><init>()V
-HSPLandroid/hardware/radio/V1_0/DataRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/DataRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/DataRegStateResult;->toString()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/EvdoSignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_0/EvdoSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/GsmSignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_0/GsmSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/IccIo;->writeToParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/LteSignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_0/RegState;->toString(I)Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->toString()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/TdScdmaSignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_0/TdScdmaSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;-><init>()V
-HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;->toString()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_1/IRadio;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/V1_1/IRadio;
-HSPLandroid/hardware/radio/V1_1/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_1/IRadio;
-HSPLandroid/hardware/radio/V1_2/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_2/IRadio;
-HSPLandroid/hardware/Sensor;->getFifoMaxEventCount()I
-HSPLandroid/hardware/SensorManager;->getDelay(I)I
-HSPLandroid/hardware/SensorManager;-><init>()V
-HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z
-HSPLandroid/hardware/SensorPrivacyManager;->addSensorPrivacyListener(Landroid/hardware/SensorPrivacyManager$OnSensorPrivacyChangedListener;)V
-HSPLandroid/hardware/SensorPrivacyManager;->getInstance(Landroid/content/Context;)Landroid/hardware/SensorPrivacyManager;
-HSPLandroid/hardware/SensorPrivacyManager;-><init>(Landroid/content/Context;Landroid/hardware/ISensorPrivacyManager;)V
-HSPLandroid/hardware/SensorPrivacyManager;->isSensorPrivacyEnabled()Z
-HSPLandroid/hardware/TriggerEventListener;-><init>()V
-HSPLandroid/icu/impl/CacheValue$NullValue;->isNull()Z
-HSPLandroid/icu/impl/coll/CollationData;->getCE32FromContexts(I)I
-HSPLandroid/icu/impl/coll/CollationData;->getCE32(I)I
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->append(J)V
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->getCEs()[J
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->get(I)J
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->incLength()V
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;-><init>()V
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->set(IJ)J
-HSPLandroid/icu/impl/coll/CollationSettings;->dontCheckFCD()Z
-HSPLandroid/icu/impl/coll/CollationSettings;->getAlternateHandling()Z
-HSPLandroid/icu/impl/coll/CollationSettings;->getStrength(I)I
-HSPLandroid/icu/impl/coll/CollationSettings;->hasReordering()Z
-HSPLandroid/icu/impl/coll/CollationSettings;->isNumeric()Z
-HSPLandroid/icu/impl/coll/SharedObject$Reference;->readOnly()Landroid/icu/impl/coll/SharedObject;
-HSPLandroid/icu/impl/JavaTimeZone;->freeze()Landroid/icu/util/TimeZone;
-HSPLandroid/icu/impl/JavaTimeZone;-><init>(Ljava/util/TimeZone;Ljava/lang/String;)V
-HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
-HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/number/NumberStringBuilder;Landroid/icu/impl/number/NumberStringBuilder;ZZLandroid/icu/impl/number/Modifier$Parameters;)V
-HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/number/NumberStringBuilder;Landroid/icu/impl/number/NumberStringBuilder;ZZ)V
-HSPLandroid/icu/impl/number/MicroProps;->clone()Ljava/lang/Object;
-HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V
-HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;-><init>(Landroid/icu/impl/number/AdoptingModifierStore;Landroid/icu/text/PluralRules;Landroid/icu/impl/number/MicroPropsGenerator;)V
-HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
-HSPLandroid/icu/impl/StandardPlural;->orOtherFromString(Ljava/lang/CharSequence;)Landroid/icu/impl/StandardPlural;
-HSPLandroid/icu/impl/Trie2_32;->getFromU16SingleLead(C)I
-HSPLandroid/icu/impl/Trie2_32;->get(I)I
-HSPLandroid/icu/impl/UCharacterProperty;->getProperty(I)I
-HSPLandroid/icu/impl/UCharacterProperty;->getType(I)I
-HSPLandroid/icu/impl/UResource$Key;->contentEquals(Ljava/lang/CharSequence;)Z
-HSPLandroid/icu/impl/UResource$Key;->regionMatches(ILjava/lang/CharSequence;I)Z
-HSPLandroid/icu/lang/UCharacter;->getType(I)I
-HSPLandroid/icu/text/AlphabeticIndex$1;-><init>(Landroid/icu/text/AlphabeticIndex;)V
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$1400(Landroid/icu/text/AlphabeticIndex$Bucket;)I
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$1402(Landroid/icu/text/AlphabeticIndex$Bucket;I)I
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$800(Landroid/icu/text/AlphabeticIndex$Bucket;)Ljava/lang/String;
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$900(Landroid/icu/text/AlphabeticIndex$Bucket;)Landroid/icu/text/AlphabeticIndex$Bucket;
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;->getLabel()Ljava/lang/String;
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;Landroid/icu/text/AlphabeticIndex$1;)V
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;)V
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;->access$200(Landroid/icu/text/AlphabeticIndex$BucketList;)I
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;->access$300(Landroid/icu/text/AlphabeticIndex$BucketList;Ljava/lang/CharSequence;Landroid/icu/text/Collator;)I
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;->access$400(Landroid/icu/text/AlphabeticIndex$BucketList;)Ljava/util/List;
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;->getBucketCount()I
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;->getBucketIndex(Ljava/lang/CharSequence;Landroid/icu/text/Collator;)I
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/icu/text/AlphabeticIndex$1;)V
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucket(I)Landroid/icu/text/AlphabeticIndex$Bucket;
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucketIndex(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;-><init>(Landroid/icu/text/AlphabeticIndex$BucketList;Landroid/icu/text/Collator;Landroid/icu/text/AlphabeticIndex$1;)V
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;-><init>(Landroid/icu/text/AlphabeticIndex$BucketList;Landroid/icu/text/Collator;)V
-HSPLandroid/icu/text/BreakIterator;->getSentenceInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/Collator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/icu/text/DateFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/text/DateFormat;->getPatternInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateTimePatternGenerator;
-HSPLandroid/icu/text/DisplayContext;->type()Landroid/icu/text/DisplayContext$Type;
-HSPLandroid/icu/text/NumberFormat;->getInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-HSPLandroid/icu/text/NumberFormat;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;
-HSPLandroid/icu/text/PluralRules$Factory;->getDefaultFactory()Landroid/icu/impl/PluralRulesLoader;
-HSPLandroid/icu/text/PluralRules;->forLocale(Landroid/icu/util/ULocale;)Landroid/icu/text/PluralRules;
-HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;Landroid/icu/text/RuleBasedCollator$1;)V
-HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;)V
-HSPLandroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;-><init>()V
-HSPLandroid/icu/text/RuleBasedCollator$NFDIterator;-><init>()V
-HSPLandroid/icu/text/RuleBasedCollator$UTF16NFDIterator;-><init>()V
-HSPLandroid/icu/text/RuleBasedCollator;->freeze()Landroid/icu/text/Collator;
-HSPLandroid/icu/text/RuleBasedCollator;->getCollationBuffer()Landroid/icu/text/RuleBasedCollator$CollationBuffer;
-HSPLandroid/icu/text/RuleBasedCollator;->internalAddContractions(ILandroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/text/RuleBasedCollator;->internalGetCEs(Ljava/lang/CharSequence;)[J
-HSPLandroid/icu/text/RuleBasedCollator;->isAlternateHandlingShifted()Z
-HSPLandroid/icu/text/RuleBasedCollator;->isFrozen()Z
-HSPLandroid/icu/text/RuleBasedCollator;->releaseCollationBuffer(Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
-HSPLandroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/Calendar;Landroid/icu/text/NumberFormat;Landroid/icu/util/ULocale;ZLjava/lang/String;)V
-HSPLandroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/UFieldPosition;->getCountVisibleFractionDigits()I
-HSPLandroid/icu/text/UFieldPosition;->getFractionDigits()J
-HSPLandroid/icu/text/UFieldPosition;-><init>(Ljava/text/Format$Field;I)V
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->hasNext()Z
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;-><init>(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->next()Ljava/lang/Object;
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->next()Ljava/lang/String;
-HSPLandroid/icu/text/UnicodeSet;->access$400(Landroid/icu/text/UnicodeSet;)I
-HSPLandroid/icu/text/UnicodeSet;->access$500(Landroid/icu/text/UnicodeSet;)[I
-HSPLandroid/icu/text/UnicodeSet;->add(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->addString(Ljava/lang/CharSequence;)V
-HSPLandroid/icu/text/UnicodeSet;->checkFrozen()V
-HSPLandroid/icu/text/UnicodeSet;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/UnicodeSet;->isEmpty()Z
-HSPLandroid/icu/text/UnicodeSet;->iterator()Ljava/util/Iterator;
-HSPLandroid/icu/text/UTF16$StringComparator;-><init>(ZZI)V
-HSPLandroid/icu/text/UTF16$StringComparator;->setCodePointCompare(Z)V
-HSPLandroid/icu/text/UTF16;->_charAt(Ljava/lang/CharSequence;IC)I
-HSPLandroid/icu/text/UTF16;->getLeadSurrogate(I)C
-HSPLandroid/icu/text/UTF16;->getTrailSurrogate(I)C
-HSPLandroid/icu/text/UTF16;->hasMoreCodePointsThan(Ljava/lang/String;I)Z
-HSPLandroid/icu/util/BytesTrie$Result;->hasNext()Z
-HSPLandroid/icu/util/BytesTrie$Result;->hasValue()Z
-HSPLandroid/icu/util/CharsTrie$Entry;-><init>(Landroid/icu/util/CharsTrie$1;)V
-HSPLandroid/icu/util/CharsTrie$Entry;-><init>()V
-HSPLandroid/icu/util/CharsTrie$Iterator;->branchNext(II)I
-HSPLandroid/icu/util/CharsTrie$Iterator;->hasNext()Z
-HSPLandroid/icu/util/CharsTrie$Iterator;-><init>(Ljava/lang/CharSequence;IIILandroid/icu/util/CharsTrie$1;)V
-HSPLandroid/icu/util/CharsTrie$Iterator;-><init>(Ljava/lang/CharSequence;III)V
-HSPLandroid/icu/util/CharsTrie$Iterator;->next()Landroid/icu/util/CharsTrie$Entry;
-HSPLandroid/icu/util/TimeZone;-><init>()V
-HSPLandroid/icu/util/TimeZone;->setID(Ljava/lang/String;)V
-HSPLandroid/location/IGnssStatusListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/location/IGnssStatusListener$Stub;-><init>()V
-HSPLandroid/location/ILocationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getExtraLocationControllerPackage()Ljava/lang/String;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->isProviderEnabledForUser(Ljava/lang/String;I)Z
-HSPLandroid/location/ILocationManager$Stub$Proxy;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
-HSPLandroid/location/ILocationManager$Stub$Proxy;->setExtraLocationControllerPackageEnabled(Z)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->setExtraLocationControllerPackage(Ljava/lang/String;)V
-HSPLandroid/location/Location;->getVerticalAccuracyMeters()F
-HSPLandroid/location/Location;->hasAltitude()Z
-HSPLandroid/location/Location;->hasBearingAccuracy()Z
-HSPLandroid/location/Location;->hasElapsedRealtimeUncertaintyNanos()Z
-HSPLandroid/location/Location;->hasSpeedAccuracy()Z
-HSPLandroid/location/Location;->hasVerticalAccuracy()Z
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;-><init>(Landroid/location/LocationManager$GnssStatusListenerTransport;Landroid/os/Handler;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/GpsStatus$Listener;Landroid/os/Handler;)V
-HSPLandroid/location/LocationManager;->addGpsStatusListener(Landroid/location/GpsStatus$Listener;)Z
-HSPLandroid/location/LocationManager;->checkProvider(Ljava/lang/String;)V
-HSPLandroid/location/LocationManager;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/LocationManager;->getExtraLocationControllerPackage()Ljava/lang/String;
-HSPLandroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
-HSPLandroid/location/LocationManager;->removeGpsStatusListener(Landroid/location/GpsStatus$Listener;)V
-HSPLandroid/location/LocationManager;->setLocationControllerExtraPackageEnabled(Z)V
-HSPLandroid/location/LocationManager;->setLocationControllerExtraPackage(Ljava/lang/String;)V
-HSPLandroid/location/LocationRequest;->setHideFromAppOps(Z)V
-HSPLandroid/location/LocationRequest;->setLocationSettingsIgnored(Z)Landroid/location/LocationRequest;
-HSPLandroid/location/LocationRequest;->setWorkSource(Landroid/os/WorkSource;)V
-HSPLandroid/location/Location;->setProvider(Ljava/lang/String;)V
-HSPLandroid/location/Location;->toString()Ljava/lang/String;
-HSPLandroid/media/AudioDeviceInfo;->getProductName()Ljava/lang/CharSequence;
-HSPLandroid/media/AudioManager;->getLastAudibleStreamVolume(I)I
-HSPLandroid/media/AudioManager;->getService()Landroid/media/IAudioService;
-HSPLandroid/media/AudioManager;->getStreamMinVolumeInt(I)I
-HSPLandroid/media/AudioManager;->isStreamAffectedByMute(I)Z
-HSPLandroid/media/AudioManager;->setVolumeController(Landroid/media/IVolumeController;)V
-HSPLandroid/media/AudioManager;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-HSPLandroid/media/AudioPort;->name()Ljava/lang/String;
-HSPLandroid/media/AudioSystem;->streamToString(I)Ljava/lang/String;
-HSPLandroid/media/browse/MediaBrowser$1;-><init>(Landroid/media/browse/MediaBrowser;)V
-HSPLandroid/media/browse/MediaBrowser$1;->run()V
-HSPLandroid/media/browse/MediaBrowser$2;-><init>(Landroid/media/browse/MediaBrowser;)V
-HSPLandroid/media/browse/MediaBrowser$2;->run()V
-HSPLandroid/media/browse/MediaBrowser$6;-><init>(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser$6;->run()V
-HSPLandroid/media/browse/MediaBrowser$7;-><init>(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/media/browse/MediaBrowser$7;->run()V
-HSPLandroid/media/browse/MediaBrowser$8;-><init>(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/media/browse/MediaBrowser$8;->run()V
-HSPLandroid/media/browse/MediaBrowser$ConnectionCallback;-><init>()V
-HSPLandroid/media/browse/MediaBrowser$MediaItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/browse/MediaBrowser$MediaItem;
-HSPLandroid/media/browse/MediaBrowser$MediaItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/browse/MediaBrowser$MediaItem;->getDescription()Landroid/media/MediaDescription;
-HSPLandroid/media/browse/MediaBrowser$MediaItem;->getMediaId()Ljava/lang/String;
-HSPLandroid/media/browse/MediaBrowser$MediaItem;-><init>(Landroid/os/Parcel;Landroid/media/browse/MediaBrowser$1;)V
-HSPLandroid/media/browse/MediaBrowser$MediaItem;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/browse/MediaBrowser$MediaItem;->isBrowsable()Z
-HSPLandroid/media/browse/MediaBrowser$MediaItem;->toString()Ljava/lang/String;
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection$1;-><init>(Landroid/media/browse/MediaBrowser$MediaServiceConnection;Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection$1;->run()V
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->access$1600(Landroid/media/browse/MediaBrowser$MediaServiceConnection;Ljava/lang/String;)Z
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;-><init>(Landroid/media/browse/MediaBrowser;Landroid/media/browse/MediaBrowser$1;)V
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;-><init>(Landroid/media/browse/MediaBrowser;)V
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->isCurrent(Ljava/lang/String;)Z
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->postOrRun(Ljava/lang/Runnable;)V
-HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;-><init>(Landroid/media/browse/MediaBrowser;)V
-HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnectFailed()V
-HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser$SubscriptionCallback;-><init>()V
-HSPLandroid/media/browse/MediaBrowser$Subscription;->getCallback(Landroid/content/Context;Landroid/os/Bundle;)Landroid/media/browse/MediaBrowser$SubscriptionCallback;
-HSPLandroid/media/browse/MediaBrowser$Subscription;->getCallbacks()Ljava/util/List;
-HSPLandroid/media/browse/MediaBrowser$Subscription;->getOptionsList()Ljava/util/List;
-HSPLandroid/media/browse/MediaBrowser$Subscription;-><init>()V
-HSPLandroid/media/browse/MediaBrowser$Subscription;->isEmpty()Z
-HSPLandroid/media/browse/MediaBrowser$Subscription;->putCallback(Landroid/content/Context;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-HSPLandroid/media/browse/MediaBrowser;->access$000(Landroid/media/browse/MediaBrowser;)I
-HSPLandroid/media/browse/MediaBrowser;->access$002(Landroid/media/browse/MediaBrowser;I)I
-HSPLandroid/media/browse/MediaBrowser;->access$100(Landroid/media/browse/MediaBrowser;)Landroid/service/media/IMediaBrowserService;
-HSPLandroid/media/browse/MediaBrowser;->access$102(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserService;)Landroid/service/media/IMediaBrowserService;
-HSPLandroid/media/browse/MediaBrowser;->access$1102(Landroid/media/browse/MediaBrowser;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/media/browse/MediaBrowser;->access$1202(Landroid/media/browse/MediaBrowser;Landroid/media/session/MediaSession$Token;)Landroid/media/session/MediaSession$Token;
-HSPLandroid/media/browse/MediaBrowser;->access$1302(Landroid/media/browse/MediaBrowser;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/media/browse/MediaBrowser;->access$1400(Landroid/media/browse/MediaBrowser;)Landroid/util/ArrayMap;
-HSPLandroid/media/browse/MediaBrowser;->access$1700(Landroid/media/browse/MediaBrowser;)Landroid/media/browse/MediaBrowser$ServiceCallbacks;
-HSPLandroid/media/browse/MediaBrowser;->access$1800(Landroid/media/browse/MediaBrowser;)Landroid/os/Bundle;
-HSPLandroid/media/browse/MediaBrowser;->access$1900(Landroid/media/browse/MediaBrowser;)Landroid/os/Handler;
-HSPLandroid/media/browse/MediaBrowser;->access$2000(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser;->access$200(Landroid/media/browse/MediaBrowser;)Landroid/service/media/IMediaBrowserServiceCallbacks;
-HSPLandroid/media/browse/MediaBrowser;->access$202(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;)Landroid/service/media/IMediaBrowserServiceCallbacks;
-HSPLandroid/media/browse/MediaBrowser;->access$2100(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/media/browse/MediaBrowser;->access$2200(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser;->access$300(Landroid/media/browse/MediaBrowser;)Landroid/content/ComponentName;
-HSPLandroid/media/browse/MediaBrowser;->access$400(Landroid/media/browse/MediaBrowser;)Landroid/media/browse/MediaBrowser$MediaServiceConnection;
-HSPLandroid/media/browse/MediaBrowser;->access$402(Landroid/media/browse/MediaBrowser;Landroid/media/browse/MediaBrowser$MediaServiceConnection;)Landroid/media/browse/MediaBrowser$MediaServiceConnection;
-HSPLandroid/media/browse/MediaBrowser;->access$600(Landroid/media/browse/MediaBrowser;)Landroid/content/Context;
-HSPLandroid/media/browse/MediaBrowser;->access$700(Landroid/media/browse/MediaBrowser;)V
-HSPLandroid/media/browse/MediaBrowser;->access$800(Landroid/media/browse/MediaBrowser;)Landroid/media/browse/MediaBrowser$ConnectionCallback;
-HSPLandroid/media/browse/MediaBrowser;->access$900(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;)Z
-HSPLandroid/media/browse/MediaBrowser;->connect()V
-HSPLandroid/media/browse/MediaBrowser;->disconnect()V
-HSPLandroid/media/browse/MediaBrowser;->forceCloseConnection()V
-HSPLandroid/media/browse/MediaBrowser;->getNewServiceCallbacks()Landroid/media/browse/MediaBrowser$ServiceCallbacks;
-HSPLandroid/media/browse/MediaBrowser;->getRoot()Ljava/lang/String;
-HSPLandroid/media/browse/MediaBrowser;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/media/browse/MediaBrowser$ConnectionCallback;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser;->isConnected()Z
-HSPLandroid/media/browse/MediaBrowser;->isCurrent(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;)Z
-HSPLandroid/media/browse/MediaBrowser;->onConnectionFailed(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/media/browse/MediaBrowser;->onLoadChildren(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser;->onServiceConnected(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser;->subscribeInternal(Ljava/lang/String;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-HSPLandroid/media/browse/MediaBrowser;->subscribe(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-HSPLandroid/media/browse/MediaBrowser;->unsubscribeInternal(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
-HSPLandroid/media/browse/MediaBrowser;->unsubscribe(Ljava/lang/String;)V
-HSPLandroid/media/browse/MediaBrowserUtils;->areSameOptions(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->getLastAudibleStreamVolume(I)I
-HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMinVolume(I)I
-HSPLandroid/media/IAudioService$Stub$Proxy;->isStreamAffectedByMute(I)Z
-HSPLandroid/media/IAudioService$Stub$Proxy;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->setVolumeController(Landroid/media/IVolumeController;)V
-HSPLandroid/media/IAudioService$Stub$Proxy;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-HSPLandroid/media/IMediaRouterService$Stub$Proxy;->registerClientGroupId(Landroid/media/IMediaRouterClient;Ljava/lang/String;)V
-HSPLandroid/media/IRemoteVolumeController$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IRemoteVolumeController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IRingtonePlayer$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IRingtonePlayer$Stub;-><init>()V
-HSPLandroid/media/IVolumeController$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IVolumeController$Stub;-><init>()V
-HSPLandroid/media/IVolumeController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/MediaDescription;->getMediaId()Ljava/lang/String;
-HSPLandroid/media/MediaDescription;->getTitle()Ljava/lang/CharSequence;
-HSPLandroid/media/MediaDescription;->toString()Ljava/lang/String;
-HSPLandroid/media/MediaRouter$Static;->setRouterGroupId(Ljava/lang/String;)V
-HSPLandroid/media/MediaRouter$VolumeCallback;-><init>()V
-HSPLandroid/media/MediaRouter;->setRouterGroupId(Ljava/lang/String;)V
-HSPLandroid/media/projection/IMediaProjectionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionManager;
-HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;-><init>()V
-HSPLandroid/media/projection/MediaProjectionManager;->addCallback(Landroid/media/projection/MediaProjectionManager$Callback;Landroid/os/Handler;)V
-HSPLandroid/media/projection/MediaProjectionManager;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-HSPLandroid/media/projection/MediaProjectionManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/media/session/IActiveSessionsListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/IActiveSessionsListener$Stub;-><init>()V
-HSPLandroid/media/session/IActiveSessionsListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/ICallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ICallback$Stub;-><init>()V
-HSPLandroid/media/session/ICallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->getMetadata()Landroid/media/MediaMetadata;
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->getPackageName()Ljava/lang/String;
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->getPlaybackState()Landroid/media/session/PlaybackState;
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->getQueue()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->registerCallback(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController$Stub$Proxy;->unregisterCallback(Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionControllerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ISessionControllerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/ISessionManager$Stub$Proxy;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-HSPLandroid/media/session/ISessionManager$Stub$Proxy;->registerRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-HSPLandroid/media/session/ISessionManager$Stub$Proxy;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-HSPLandroid/media/session/ISessionManager$Stub$Proxy;->setCallback(Landroid/media/session/ICallback;)V
-HSPLandroid/media/session/MediaController$CallbackStub;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-HSPLandroid/media/session/MediaController$CallbackStub;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-HSPLandroid/media/session/MediaController$CallbackStub;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-HSPLandroid/media/session/MediaController$CallbackStub;->onSessionDestroyed()V
-HSPLandroid/media/session/MediaController$MessageHandler;->access$102(Landroid/media/session/MediaController$MessageHandler;Z)Z
-HSPLandroid/media/session/MediaController$MessageHandler;->access$200(Landroid/media/session/MediaController$MessageHandler;)Landroid/media/session/MediaController$Callback;
-HSPLandroid/media/session/MediaController$MessageHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/session/MediaController$MessageHandler;-><init>(Landroid/os/Looper;Landroid/media/session/MediaController$Callback;)V
-HSPLandroid/media/session/MediaController$MessageHandler;->post(ILjava/lang/Object;Landroid/os/Bundle;)V
-HSPLandroid/media/session/MediaController;->access$600(Landroid/media/session/MediaController;ILjava/lang/Object;Landroid/os/Bundle;)V
-HSPLandroid/media/session/MediaController;->addCallbackLocked(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
-HSPLandroid/media/session/MediaController;->getHandlerForCallbackLocked(Landroid/media/session/MediaController$Callback;)Landroid/media/session/MediaController$MessageHandler;
-HSPLandroid/media/session/MediaController;->getMetadata()Landroid/media/MediaMetadata;
-HSPLandroid/media/session/MediaController;->getPackageName()Ljava/lang/String;
-HSPLandroid/media/session/MediaController;->getPlaybackInfo()Landroid/media/session/MediaController$PlaybackInfo;
-HSPLandroid/media/session/MediaController;->getPlaybackState()Landroid/media/session/PlaybackState;
-HSPLandroid/media/session/MediaController;->getQueue()Ljava/util/List;
-HSPLandroid/media/session/MediaController;->getTransportControls()Landroid/media/session/MediaController$TransportControls;
-HSPLandroid/media/session/MediaController;->postMessage(ILjava/lang/Object;Landroid/os/Bundle;)V
-HSPLandroid/media/session/MediaController;->registerCallback(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
-HSPLandroid/media/session/MediaController;->removeCallbackLocked(Landroid/media/session/MediaController$Callback;)Z
-HSPLandroid/media/session/MediaController;->unregisterCallback(Landroid/media/session/MediaController$Callback;)V
-HSPLandroid/media/session/MediaSession$Token;->equals(Ljava/lang/Object;)Z
-HSPLandroid/media/session/MediaSession$Token;->hashCode()I
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl$4;-><init>(Landroid/media/session/MediaSessionManager$CallbackImpl;Landroid/content/ComponentName;)V
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl$4;->run()V
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl;->access$900(Landroid/media/session/MediaSessionManager$CallbackImpl;)Landroid/media/session/MediaSessionManager$Callback;
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl;-><init>(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
-HSPLandroid/media/session/MediaSessionManager$Callback;-><init>()V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1$1;-><init>(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;Ljava/util/List;)V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1$1;->run()V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;-><init>(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;->onActiveSessionsChanged(Ljava/util/List;)V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$000(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/media/session/IActiveSessionsListener$Stub;
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$100(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$200(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/os/Handler;
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$300(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/content/Context;
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$400(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;-><init>(Landroid/content/Context;Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/os/Handler;)V
-HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->release()V
-HSPLandroid/media/session/MediaSessionManager;->addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;ILandroid/os/Handler;)V
-HSPLandroid/media/session/MediaSessionManager;->addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;Landroid/os/Handler;)V
-HSPLandroid/media/session/MediaSessionManager;->registerRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-HSPLandroid/media/session/MediaSessionManager;->removeOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;)V
-HSPLandroid/media/session/MediaSessionManager;->setCallback(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
-HSPLandroid/media/SoundPool$Builder;-><init>()V
-HSPLandroid/media/SoundPool$Builder;->setMaxStreams(I)Landroid/media/SoundPool$Builder;
-HSPLandroid/media/SoundPool;->load(Landroid/content/Context;II)I
-HSPLandroid/media/VolumePolicy;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/metrics/LogMaker;->deserialize([Ljava/lang/Object;)V
-HSPLandroid/metrics/LogMaker;->getCategory()I
-HSPLandroid/metrics/LogMaker;->getCounterBucket()J
-HSPLandroid/metrics/LogMaker;->getCounterName()Ljava/lang/String;
-HSPLandroid/metrics/LogMaker;->getCounterValue()I
-HSPLandroid/metrics/LogMaker;->getSubtype()I
-HSPLandroid/metrics/LogMaker;->getTimestamp()J
-HSPLandroid/metrics/LogMaker;-><init>([Ljava/lang/Object;)V
-HSPLandroid/metrics/LogMaker;->isLongCounterBucket()Z
-HSPLandroid/metrics/LogMaker;->setProcessId(I)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setTimestamp(J)Landroid/metrics/LogMaker;
-HSPLandroid/metrics/LogMaker;->setUid(I)Landroid/metrics/LogMaker;
-HSPLandroid/net/apf/ApfCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/apf/ApfCapabilities;
-HSPLandroid/net/apf/ApfCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/apf/ApfCapabilities;->getApfDrop8023Frames()Z
-HSPLandroid/net/apf/ApfCapabilities;->getApfEtherTypeBlackList()[I
-HSPLandroid/net/apf/ApfCapabilities;->hasDataAccess()Z
-HSPLandroid/net/apf/ApfCapabilities;-><init>(Landroid/os/Parcel;Landroid/net/apf/ApfCapabilities$1;)V
-HSPLandroid/net/apf/ApfCapabilities;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/net/apf/ApfCapabilities;->toString()Ljava/lang/String;
-HSPLandroid/net/ConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
-HSPLandroid/net/ConnectivityManager;->getInstanceOrNull()Landroid/net/ConnectivityManager;
-HSPLandroid/net/ConnectivityManager;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-HSPLandroid/net/ConnectivityManager;->shouldAvoidBadWifi()Z
-HSPLandroid/net/ConnectivityMetricsEvent;-><init>()V
-HSPLandroid/net/ConnectivityMetricsEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->shouldAvoidBadWifi()Z
-HSPLandroid/net/INetworkScoreCache$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkScoreService$Stub$Proxy;->getActiveScorerPackage()Ljava/lang/String;
-HSPLandroid/net/INetworkScoreService$Stub$Proxy;->updateScores([Landroid/net/ScoredNetwork;)Z
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getTotalStats(I)J
-HSPLandroid/net/IpPrefix;->contains(Ljava/net/InetAddress;)Z
-HSPLandroid/net/LinkAddress;->equals(Ljava/lang/Object;)Z
-HSPLandroid/net/LinkProperties;->hasIpv4AddressOnInterface(Ljava/lang/String;)Z
-HSPLandroid/net/LinkProperties;->hasIpv6DnsServer()Z
-HSPLandroid/net/LinkProperties;->isIpv4Provisioned()Z
-HSPLandroid/net/LinkProperties;->isIpv6Provisioned()Z
-HSPLandroid/net/LinkProperties;->isProvisioned()Z
-HSPLandroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z
-HSPLandroid/net/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V
-HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Landroid/net/LocalSocketImpl;I)Landroid/net/LocalSocket;
-HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Ljava/io/FileDescriptor;)Landroid/net/LocalSocket;
-HSPLandroid/net/LocalSocketImpl;-><init>(Ljava/io/FileDescriptor;)V
-HSPLandroid/net/LocalSocket;-><init>(Landroid/net/LocalSocketImpl;I)V
-HSPLandroid/net/metrics/ApfProgramEvent;->flagsFor(ZZ)I
-HSPLandroid/net/metrics/IpConnectivityLog;-><init>()V
-HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/metrics/IpConnectivityLog$Event;)Z
-HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/Network;[ILandroid/net/metrics/IpConnectivityLog$Event;)Z
-HSPLandroid/net/metrics/IpConnectivityLog;->log(Ljava/lang/String;Landroid/net/metrics/IpConnectivityLog$Event;)Z
-HSPLandroid/net/metrics/IpConnectivityLog;->makeEv(Landroid/net/metrics/IpConnectivityLog$Event;)Landroid/net/ConnectivityMetricsEvent;
-HSPLandroid/net/NetworkCapabilities$1;->newArray(I)[Landroid/net/NetworkCapabilities;
-HSPLandroid/net/NetworkCapabilities$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/net/NetworkCapabilities;->equalsTransportTypes(Landroid/net/NetworkCapabilities;)Z
-HSPLandroid/net/NetworkCapabilities;->setUids(Ljava/util/Set;)Landroid/net/NetworkCapabilities;
-HSPLandroid/net/NetworkInfo;->isAvailable()Z
-HSPLandroid/net/Network;-><init>(IZ)V
-HSPLandroid/net/Network;-><init>(Landroid/net/Network;)V
-HSPLandroid/net/NetworkKey;-><init>(Landroid/net/WifiKey;)V
-HSPLandroid/net/Network;->lambda$maybeInitUrlConnectionFactory$0$Network(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/net/Network;->maybeInitUrlConnectionFactory()V
-HSPLandroid/net/Network;->openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;
-HSPLandroid/net/Network;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
-HSPLandroid/net/NetworkRequest$Builder;->setUids(Ljava/util/Set;)Landroid/net/NetworkRequest$Builder;
-HSPLandroid/net/NetworkScoreManager;->updateScores([Landroid/net/ScoredNetwork;)Z
-HSPLandroid/net/NetworkUtils;->protectFromVpn(Ljava/io/FileDescriptor;)Z
-HSPLandroid/net/nsd/INsdManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/nsd/INsdManager;
-HSPLandroid/net/nsd/NsdManager;->access$000(Landroid/net/nsd/NsdManager;)Lcom/android/internal/util/AsyncChannel;
-HSPLandroid/net/nsd/NsdManager;->access$100(Landroid/net/nsd/NsdManager;)Ljava/util/concurrent/CountDownLatch;
-HSPLandroid/net/nsd/NsdManager;->getMessenger()Landroid/os/Messenger;
-HSPLandroid/net/nsd/NsdManager;-><init>(Landroid/content/Context;Landroid/net/nsd/INsdManager;)V
-HSPLandroid/net/nsd/NsdManager;->init()V
-HSPLandroid/net/RouteInfo;->getGateway()Ljava/net/InetAddress;
-HSPLandroid/net/RouteInfo;->getInterface()Ljava/lang/String;
-HSPLandroid/net/RouteInfo;->hasGateway()Z
-HSPLandroid/net/RouteInfo;->matches(Ljava/net/InetAddress;)Z
-HSPLandroid/net/ScoredNetwork;->calculateBadge(I)I
-HSPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;ZLandroid/os/Bundle;)V
-HSPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;Z)V
-HSPLandroid/net/ScoredNetwork;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/StaticIpConfiguration;->getDnsServers()Ljava/util/List;
-HSPLandroid/net/StaticIpConfiguration;->getDomains()Ljava/lang/String;
-HSPLandroid/net/StaticIpConfiguration;->getGateway()Ljava/net/InetAddress;
-HSPLandroid/net/StaticIpConfiguration;->getIpAddress()Landroid/net/LinkAddress;
-HSPLandroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/net/StaticIpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/TrafficStats;->clearThreadStatsUid()V
-HSPLandroid/net/TrafficStats;->getMobileRxBytes()J
-HSPLandroid/net/TrafficStats;->getMobileTxBytes()J
-HSPLandroid/net/TrafficStats;->getThreadStatsTag()I
-HSPLandroid/net/TrafficStats;->getTotalRxBytes()J
-HSPLandroid/net/TrafficStats;->setThreadStatsUid(I)V
-HSPLandroid/net/TrafficStats;->tagSocket(Ljava/net/Socket;)V
-HSPLandroid/net/Uri$AbstractPart;->getDecoded()Ljava/lang/String;
-HSPLandroid/net/Uri$HierarchicalUri;->getFragment()Ljava/lang/String;
-HSPLandroid/net/Uri$Part;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$Part;
-HSPLandroid/net/Uri$StringUri;->findFragmentSeparator()I
-HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I
-HSPLandroid/net/Uri$StringUri;->getEncodedFragment()Ljava/lang/String;
-HSPLandroid/net/Uri$StringUri;->getFragmentPart()Landroid/net/Uri$Part;
-HSPLandroid/net/Uri$StringUri;->parseFragment()Ljava/lang/String;
-HSPLandroid/net/wifi/ISoftApCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/wifi/ISoftApCallback$Stub;-><init>()V
-HSPLandroid/net/wifi/ISoftApCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/wifi/ITrafficStateCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/wifi/ITrafficStateCallback$Stub;-><init>()V
-HSPLandroid/net/wifi/ITrafficStateCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->acquireMulticastLock(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->acquireWifiLock(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/WorkSource;)Z
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->registerTrafficStateCallback(Landroid/os/IBinder;Landroid/net/wifi/ITrafficStateCallback;I)V
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseMulticastLock(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseWifiLock(Landroid/os/IBinder;)Z
-HSPLandroid/net/wifi/ScanResult;->is80211mcResponder()Z
-HSPLandroid/net/wifi/WifiInfo;->getIpAddress()I
-HSPLandroid/net/wifi/WifiInfo;->getMacAddress()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiManager$WifiLock;->acquire()V
-HSPLandroid/net/wifi/WifiManager$WifiLock;->finalize()V
-HSPLandroid/net/wifi/WifiManager$WifiLock;->release()V
-HSPLandroid/net/wifi/WifiManager;->access$000(Landroid/net/wifi/WifiManager;)Z
-HSPLandroid/net/wifi/WifiManager;->access$800(Landroid/net/wifi/WifiManager;)I
-HSPLandroid/net/wifi/WifiManager;->access$808(Landroid/net/wifi/WifiManager;)I
-HSPLandroid/net/wifi/WifiManager;->access$810(Landroid/net/wifi/WifiManager;)I
-HSPLandroid/net/wifi/WifiManager;->createMulticastLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$MulticastLock;
-HSPLandroid/net/wifi/WifiManager;->registerSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;Landroid/os/Handler;)V
-HSPLandroid/net/wifi/WifiManager;->registerTrafficStateCallback(Landroid/net/wifi/WifiManager$TrafficStateCallback;Landroid/os/Handler;)V
-HSPLandroid/net/wifi/WifiNetworkAgentSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiNetworkAgentSpecifier;
-HSPLandroid/net/wifi/WifiNetworkAgentSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;->post(Ljava/util/List;)V
-HSPLandroid/net/wifi/WifiNetworkScoreCache;->registerListener(Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
-HSPLandroid/nfc/INfcAdapter$Stub;-><init>()V
-HSPLandroid/nfc/INfcAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/nfc/INfcCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/INfcCardEmulation$Stub;-><init>()V
-HSPLandroid/nfc/INfcFCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/INfcFCardEmulation$Stub;-><init>()V
-HSPLandroid/nfc/INfcTag$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/INfcTag$Stub;-><init>()V
-HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;)D
-HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;D)D
-HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;)F
-HSPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V
-HSPLandroid/os/BaseBundle;->putDouble(Ljava/lang/String;D)V
-HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;)F
-HSPLandroid/os/Bundle;->maybePrefillHasFds()V
-HSPLandroid/os/DropBoxManager$Entry;->getTimeMillis()J
-HSPLandroid/os/DropBoxManager;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
-HSPLandroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/os/Environment;->throwIfUserRequired()V
-HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;Ljava/io/FilenameFilter;)[Ljava/io/File;
-HSPLandroid/os/FileUtils;->listOrEmpty(Ljava/io/File;)[Ljava/lang/String;
-HSPLandroid/os/GraphicsEnvironment;->checkAngleWhitelist(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Z
-HSPLandroid/os/GraphicsEnvironment;->chooseDriverInternal(Landroid/content/Context;Landroid/os/Bundle;)Ljava/lang/String;
-HSPLandroid/os/GraphicsEnvironment;->shouldUseAngle(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Z
-HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
-HSPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;Ljava/lang/Object;J)Z
-HSPLandroid/os/IPowerManager$Stub$Proxy;->getLastShutdownReason()I
-HSPLandroid/os/IPowerManager$Stub$Proxy;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-HSPLandroid/os/IPowerManager$Stub$Proxy;->isLightDeviceIdleMode()Z
-HSPLandroid/os/IPowerManager$Stub$Proxy;->setDozeAfterScreenOff(Z)V
-HSPLandroid/os/IStatsManager$Stub$Proxy;->addConfiguration(J[BLjava/lang/String;)V
-HSPLandroid/os/IStatsManager$Stub$Proxy;->getData(JLjava/lang/String;)[B
-HSPLandroid/os/IStatsManager$Stub$Proxy;->registerPullerCallback(ILandroid/os/IStatsPullerCallback;Ljava/lang/String;)V
-HSPLandroid/os/IStatsManager$Stub$Proxy;->setDataFetchOperation(JLandroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/os/IThermalEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileParent(I)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserAccount(I)Ljava/lang/String;
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserHandle(I)I
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/os/IUserManager$Stub$Proxy;->isQuietModeEnabled(I)Z
-HSPLandroid/os/IUserManager$Stub$Proxy;->isUserRunning(I)Z
-HSPLandroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
-HSPLandroid/os/Message;->getWhen()J
-HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
-HSPLandroid/os/MessageQueue;->dispatchEvents(II)I
-HSPLandroid/os/MessageQueue;->removeOnFileDescriptorEventListener(Ljava/io/FileDescriptor;)V
-HSPLandroid/os/MessageQueue;->updateOnFileDescriptorEventListenerLocked(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
-HSPLandroid/os/Message;->setAsynchronous(Z)V
-HSPLandroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message;
-HSPLandroid/os/Message;->setTarget(Landroid/os/Handler;)V
-HSPLandroid/os/Parcel;->createTypedArrayMap(Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;
-HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read()I
-HSPLandroid/os/Parcel;->hasFileDescriptors()Z
-HSPLandroid/os/Parcel;->readCharSequenceList()Ljava/util/ArrayList;
-HSPLandroid/os/Parcel;->readFileDescriptor()Landroid/os/ParcelFileDescriptor;
-HSPLandroid/os/ParcelUuid;->getUuid()Ljava/util/UUID;
-HSPLandroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
-HSPLandroid/os/ParcelUuid;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/Parcel;->writeFileDescriptor(Ljava/io/FileDescriptor;)V
-HSPLandroid/os/PersistableBundle;->toString()Ljava/lang/String;
-HSPLandroid/os/PowerManager;->getDefaultScreenBrightnessForVrSetting()I
-HSPLandroid/os/PowerManager;->getLastShutdownReason()I
-HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessForVrSetting()I
-HSPLandroid/os/PowerManager;->getMinimumScreenBrightnessForVrSetting()I
-HSPLandroid/os/PowerManager;->setDozeAfterScreenOff(Z)V
-HSPLandroid/os/PowerSaveState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/PowerSaveState;
-HSPLandroid/os/PowerSaveState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/PowerSaveState;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/StatFs;->getBlockCountLong()J
-HSPLandroid/os/storage/DiskInfo$1;->newArray(I)[Landroid/os/storage/DiskInfo;
-HSPLandroid/os/storage/DiskInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/os/storage/IStorageEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getDisks()[Landroid/os/storage/DiskInfo;
-HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
-HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->registerListener(Landroid/os/storage/IStorageEventListener;)V
-HSPLandroid/os/storage/StorageManager;->getDisks()Ljava/util/List;
-HSPLandroid/os/storage/StorageManager;->getVolumeRecords()Ljava/util/List;
-HSPLandroid/os/storage/VolumeRecord$1;->newArray(I)[Landroid/os/storage/VolumeRecord;
-HSPLandroid/os/storage/VolumeRecord$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/os/Temperature$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Temperature;
-HSPLandroid/os/Temperature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/Temperature;-><init>(FILjava/lang/String;I)V
-HSPLandroid/os/Temperature;->isValidStatus(I)Z
-HSPLandroid/os/Temperature;->isValidType(I)Z
-HSPLandroid/os/Trace;->beginAsyncSection(Ljava/lang/String;I)V
-HSPLandroid/os/UserManager;->canAddMoreUsers()Z
-HSPLandroid/os/UserManager;->canSwitchUsers()Z
-HSPLandroid/os/UserManager;->getUserAccount(I)Ljava/lang/String;
-HSPLandroid/os/UserManager;->getUserCount()I
-HSPLandroid/os/UserManager;->getUserIcon(I)Landroid/graphics/Bitmap;
-HSPLandroid/os/UserManager;->isGuestUserEphemeral()Z
-HSPLandroid/os/UserManager;->isGuestUser(I)Z
-HSPLandroid/os/UserManager;->isGuestUser()Z
-HSPLandroid/os/WorkSource$WorkChain;->addNode(ILjava/lang/String;)Landroid/os/WorkSource$WorkChain;
-HSPLandroid/os/WorkSource$WorkChain;-><init>()V
-HSPLandroid/os/WorkSource$WorkChain;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/WorkSource;->createWorkChain()Landroid/os/WorkSource$WorkChain;
-HSPLandroid/os/WorkSource;->hashCode()I
-HSPLandroid/os/WorkSource;-><init>()V
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Email;->getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/provider/ContactsContract$CommonDataKinds$Email;->getTypeLabelResource(I)I
-HSPLandroid/provider/DeviceConfig;->addOnPropertiesChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
-HSPLandroid/provider/Settings$Secure;->isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
-HSPLandroid/provider/Settings$System;->canWrite(Landroid/content/Context;)Z
-HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)F
-HSPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F
-HSPLandroid/provider/Settings;->isCallingPackageAllowedToWriteSettings(Landroid/content/Context;ILjava/lang/String;Z)Z
-HSPLandroid/security/keymaster/KeymasterArguments;-><init>()V
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getBlockModes()[Ljava/lang/String;
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getBoundToSpecificSecureUserId()J
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getEncryptionPaddings()[Ljava/lang/String;
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeySize()I
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeystoreAlias()Ljava/lang/String;
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getPurposes()I
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getSignaturePaddings()[Ljava/lang/String;
-HSPLandroid/security/keystore/KeyGenParameterSpec;->getUserAuthenticationValidityDurationSeconds()I
-HSPLandroid/security/keystore/KeyGenParameterSpec;-><init>(Ljava/lang/String;IILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZ[BZZZZZZ)V
-HSPLandroid/security/keystore/KeyGenParameterSpec;->isDigestsSpecified()Z
-HSPLandroid/security/keystore/KeyGenParameterSpec;->isRandomizedEncryptionRequired()Z
-HSPLandroid/security/keystore/KeyGenParameterSpec;->isUnlockedDeviceRequired()Z
-HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserAuthenticationRequired()Z
-HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserConfirmationRequired()Z
-HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserPresenceRequired()Z
-HSPLandroid/security/keystore/recovery/RecoveryController;->getInstance(Landroid/content/Context;)Landroid/security/keystore/recovery/RecoveryController;
-HSPLandroid/security/keystore/recovery/RecoveryController;->getRecoverySecretTypes()[I
-HSPLandroid/security/keystore/recovery/RecoveryController;-><init>(Lcom/android/internal/widget/ILockSettings;Landroid/security/KeyStore;)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->initRecoveryService(Ljava/lang/String;[B[B)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->setRecoverySecretTypes([I)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->setServerParams([B)V
-HSPLandroid/security/keystore/recovery/RecoveryController;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-HSPLandroid/service/dreams/IDreamManager$Stub$Proxy;->forceAmbientDisplayEnabled(Z)V
-HSPLandroid/service/euicc/GetEuiccProfileInfoListResult;->getResult()I
-HSPLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->getSecureUserId(I)J
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/media/IMediaBrowserService;
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;-><init>()V
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/notification/INotificationListener$Stub;-><init>()V
-HSPLandroid/service/notification/NotificationListenerService$MyHandler;-><init>(Landroid/service/notification/NotificationListenerService;Landroid/os/Looper;)V
-HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;-><init>(Landroid/service/notification/NotificationListenerService;)V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->canBubble()Z
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->canShowBadge()Z
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getKey()Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getLastAudiblyAlertedMillis()J
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getOverrideGroupKey()Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getRank()I
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSmartActions()Ljava/util/List;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSmartReplies()Ljava/util/List;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSnoozeCriteria()Ljava/util/List;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSuppressedVisualEffects()I
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getUserSentiment()I
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getVisibilityOverride()I
-HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->isAmbient()Z
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->isSuspended()Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationListenerService$RankingMap;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;Landroid/service/notification/NotificationListenerService$1;)V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Landroid/service/notification/NotificationListenerService$Ranking;)V
-HSPLandroid/service/notification/NotificationListenerService;->attachBaseContext(Landroid/content/Context;)V
-HSPLandroid/service/notification/NotificationListenerService;->getCurrentRanking()Landroid/service/notification/NotificationListenerService$RankingMap;
-HSPLandroid/service/notification/NotificationListenerService;->getNotificationInterface()Landroid/app/INotificationManager;
-HSPLandroid/service/notification/NotificationListenerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/notification/NotificationListenerService;->onListenerConnected()V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V
-HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V
-HSPLandroid/service/notification/NotificationListenerService;->registerAsSystemService(Landroid/content/Context;Landroid/content/ComponentName;I)V
-HSPLandroid/service/notification/NotificationListenerService;->requestRebind(Landroid/content/ComponentName;)V
-HSPLandroid/service/notification/NotificationListenerService;->setNotificationsShown([Ljava/lang/String;)V
-HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap;
-HSPLandroid/service/notification/StatusBarNotification;->getPackageContext(Landroid/content/Context;)Landroid/content/Context;
-HSPLandroid/service/notification/StatusBarNotification;->isClearable()Z
-HSPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig;
-HSPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/notification/ZenModeConfig;->getDescription(Landroid/content/Context;ZLandroid/service/notification/ZenModeConfig;Z)Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig;->isZenOverridingRinger(ILandroid/app/NotificationManager$Policy;)Z
-HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService;
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->getMaximumDataBlockSize()J
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;-><init>(Landroid/service/persistentdata/IPersistentDataBlockService;)V
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->read()[B
-HSPLandroid/service/persistentdata/PersistentDataBlockManager;->write([B)I
-HSPLandroid/service/textclassifier/TextClassifierService;->getDefaultTextClassifierImplementation(Landroid/content/Context;)Landroid/view/textclassifier/TextClassifier;
-HSPLandroid/service/wallpaper/IWallpaperService$Stub;-><init>()V
-HSPLandroid/system/NetlinkSocketAddress;-><init>(II)V
-HSPLandroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HSPLandroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HSPLandroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
-HSPLandroid/system/Os;->getsockname(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;
-HSPLandroid/system/Os;->prctl(IJJJJ)I
-HSPLandroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HSPLandroid/system/Os;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
-HSPLandroid/system/Os;->setsockoptInt(Ljava/io/FileDescriptor;III)V
-HSPLandroid/system/PacketSocketAddress;-><init>(I[B)V
-HSPLandroid/system/PacketSocketAddress;-><init>(SISB[B)V
-HSPLandroid/system/PacketSocketAddress;-><init>(SI)V
-HSPLandroid/system/StructGroupReq;-><init>(ILjava/net/InetAddress;)V
-HSPLandroid/system/StructTimeval;-><init>(JJ)V
-HSPLandroid/telecom/TelecomManager;->getTelecomService()Lcom/android/internal/telecom/ITelecomService;
-HSPLandroid/telecom/TelecomManager;->isServiceConnected()Z
-HSPLandroid/telecom/TelecomManager;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentity;
-HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentity;->getOperatorAlphaLong()Ljava/lang/CharSequence;
-HSPLandroid/telephony/CellIdentity;->getOperatorAlphaShort()Ljava/lang/CharSequence;
-HSPLandroid/telephony/CellIdentity;->inRangeOrUnavailable(III)I
-HSPLandroid/telephony/CellIdentityLte;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellIdentityLte;->getCi()I
-HSPLandroid/telephony/CellIdentityLte;->getMnc()I
-HSPLandroid/telephony/CellIdentityLte;->getPci()I
-HSPLandroid/telephony/CellIdentityLte;->getTac()I
-HSPLandroid/telephony/CellIdentityLte;-><init>(IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/telephony/CellIdentityLte;-><init>(Landroid/hardware/radio/V1_0/CellIdentityLte;)V
-HSPLandroid/telephony/CellIdentity;->setOperatorAlphaLong(Ljava/lang/String;)V
-HSPLandroid/telephony/CellIdentity;->setOperatorAlphaShort(Ljava/lang/String;)V
-HSPLandroid/telephony/CellInfo;->create(Landroid/hardware/radio/V1_0/CellInfo;)Landroid/telephony/CellInfo;
-HSPLandroid/telephony/CellInfo;-><init>(Landroid/hardware/radio/V1_0/CellInfo;)V
-HSPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;
-HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/hardware/radio/V1_0/CellInfo;)V
-HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/hardware/radio/V1_0/CdmaSignalStrength;Landroid/hardware/radio/V1_0/EvdoSignalStrength;)V
-HSPLandroid/telephony/CellSignalStrength;->getRssiDbmFromAsu(I)I
-HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/hardware/radio/V1_0/GsmSignalStrength;)V
-HSPLandroid/telephony/CellSignalStrengthGsm;->setDefaultValues()V
-HSPLandroid/telephony/CellSignalStrengthLte;->getTimingAdvance()I
-HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(Landroid/hardware/radio/V1_0/TdScdmaSignalStrength;)V
-HSPLandroid/telephony/CellSignalStrengthTdscdma;->setDefaultValues()V
-HSPLandroid/telephony/data/ApnSetting$Builder;->build()Landroid/telephony/data/ApnSetting;
-HSPLandroid/telephony/data/ApnSetting;->getApnTypes()Ljava/util/List;
-HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(IZZZLandroid/telephony/LteVopsSupportInfo;Z)V
-HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/telephony/DataSpecificRegistrationInfo;)V
-HSPLandroid/telephony/emergency/EmergencyNumber;->compareTo(Landroid/telephony/emergency/EmergencyNumber;)I
-HSPLandroid/telephony/emergency/EmergencyNumber;->getCountryIso()Ljava/lang/String;
-HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyCallRouting()I
-HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyNumberSourceBitmask()I
-HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyServiceCategoryBitmask()I
-HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyUrns()Ljava/util/List;
-HSPLandroid/telephony/emergency/EmergencyNumber;->getMnc()Ljava/lang/String;
-HSPLandroid/telephony/emergency/EmergencyNumber;->getNumber()Ljava/lang/String;
-HSPLandroid/telephony/emergency/EmergencyNumber;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/List;II)V
-HSPLandroid/telephony/emergency/EmergencyNumber;->mergeSameEmergencyNumbers(Landroid/telephony/emergency/EmergencyNumber;Landroid/telephony/emergency/EmergencyNumber;)Landroid/telephony/emergency/EmergencyNumber;
-HSPLandroid/telephony/IccOpenLogicalChannelResponse;-><init>(II[B)V
-HSPLandroid/telephony/IccOpenLogicalChannelResponse;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;-><init>()V
-HSPLandroid/telephony/ims/feature/ImsFeature;->initialize(Landroid/content/Context;I)V
-HSPLandroid/telephony/ims/feature/MmTelFeature;->getBinder()Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLandroid/telephony/ims/feature/MmTelFeature;->getSmsImplementation()Landroid/telephony/ims/stub/ImsSmsImplBase;
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;-><init>(Landroid/telephony/ims/stub/ImsConfigImplBase;)V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->getBinder()Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLandroid/telephony/ims/stub/ImsSmsImplBase;->onReady()V
-HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setLogAsInfo(Z)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
-HSPLandroid/telephony/LocationAccessPolicy;->logError(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;Ljava/lang/String;)V
-HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->build()Landroid/telephony/NetworkRegistrationInfo;
-HSPLandroid/telephony/NetworkRegistrationInfo$Builder;-><init>()V
-HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->setDomain(I)Landroid/telephony/NetworkRegistrationInfo$Builder;
-HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->setRegistrationState(I)Landroid/telephony/NetworkRegistrationInfo$Builder;
-HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->setTransportType(I)Landroid/telephony/NetworkRegistrationInfo$Builder;
-HSPLandroid/telephony/NetworkRegistrationInfo;->getCellIdentity()Landroid/telephony/CellIdentity;
-HSPLandroid/telephony/NetworkRegistrationInfo;->getDomain()I
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;IZZZLandroid/telephony/LteVopsSupportInfo;Z)V
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;Landroid/telephony/NetworkRegistrationInfo$1;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/telephony/NetworkRegistrationInfo;)V
-HSPLandroid/telephony/NetworkRegistrationInfo;->updateNrState(Landroid/telephony/DataSpecificRegistrationInfo;)V
-HSPLandroid/telephony/PhoneNumberUtils;->charToBCD(CI)I
-HSPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(ILjava/lang/String;Ljava/lang/String;Z)Z
-HSPLandroid/telephony/PhoneNumberUtils;->networkPortionToCalledPartyBCD(Ljava/lang/String;)[B
-HSPLandroid/telephony/PhoneNumberUtils;->numberToCalledPartyBCDHelper(Ljava/lang/String;ZI)[B
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$52(Landroid/telephony/PhoneStateListener;I)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$53$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCarrierNetworkChange$40(Landroid/telephony/PhoneStateListener;Z)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCarrierNetworkChange$41$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Z)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onActiveDataSubIdChanged(I)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCarrierNetworkChange(Z)V
-HSPLandroid/telephony/PhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V
-HSPLandroid/telephony/ServiceState;->bearerBitmapHasCdma(I)Z
-HSPLandroid/telephony/ServiceState;->getChannelNumber()I
-HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfoListForDomain(I)Ljava/util/List;
-HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfoList()Ljava/util/List;
-HSPLandroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
-HSPLandroid/telephony/ServiceState;->init()V
-HSPLandroid/telephony/ServiceState;->networkBitmaskHasAccessNetworkType(II)Z
-HSPLandroid/telephony/ServiceState;->networkTypeToAccessNetworkType(I)I
-HSPLandroid/telephony/ServiceState;->setIwlanPreferred(Z)V
-HSPLandroid/telephony/ServiceState;->setOperatorAlphaLongRaw(Ljava/lang/String;)V
-HSPLandroid/telephony/ServiceState;->setOperatorAlphaShortRaw(Ljava/lang/String;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/hardware/radio/V1_0/SignalStrength;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/CellSignalStrengthCdma;Landroid/telephony/CellSignalStrengthGsm;Landroid/telephony/CellSignalStrengthWcdma;Landroid/telephony/CellSignalStrengthTdscdma;Landroid/telephony/CellSignalStrengthLte;Landroid/telephony/CellSignalStrengthNr;)V
-HSPLandroid/telephony/SubscriptionInfo;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/SubscriptionInfo;->getDataRoaming()I
-HSPLandroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;IZLjava/lang/String;ZIIILjava/lang/String;)V
-HSPLandroid/telephony/SubscriptionManager;->isUsableSubscriptionId(I)Z
-HSPLandroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getGroupIdLevel1(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
-HSPLandroid/telephony/TelephonyManager;->getLine1AlphaTag(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getLine1AlphaTag()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getNetworkType(I)I
-HSPLandroid/telephony/TelephonyManager;->getOpPackageName()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getPhoneAccountHandleForSubscriptionId(I)Landroid/telecom/PhoneAccountHandle;
-HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSubId()I
-HSPLandroid/telephony/TelephonyManager;->getSubscriberInfo()Lcom/android/internal/telephony/IPhoneSubInfo;
-HSPLandroid/telephony/VisualVoicemailSmsFilterSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-HSPLandroid/telephony/VisualVoicemailSmsFilterSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/VisualVoicemailSmsFilterSettings;-><init>(Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;Landroid/telephony/VisualVoicemailSmsFilterSettings$1;)V
-HSPLandroid/telephony/VisualVoicemailSmsFilterSettings;-><init>(Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;)V
-HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/telephony/VoiceSpecificRegistrationInfo;)V
-HSPLandroid/text/format/DateFormat;->hasSeconds(Ljava/lang/CharSequence;)Z
-HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJI)Ljava/lang/CharSequence;
-HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJ)Ljava/lang/CharSequence;
-HSPLandroid/text/InputFilter$LengthFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
-HSPLandroid/text/InputFilter$LengthFilter;-><init>(I)V
-HSPLandroid/text/StaticLayout$Builder;->setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setBreakStrategy(I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setEllipsizedWidth(I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setHyphenationFrequency(I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setIncludePad(Z)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setIndents([I[I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setLineSpacing(FF)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setMaxLines(I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setUseLineSpacingFromFallbacks(Z)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;
-HSPLandroid/text/TextUtils;->emptyIfNull(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/transition/Transition;->addTarget(I)Landroid/transition/Transition;
-HSPLandroid/transition/Transition;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/Transition;
-HSPLandroid/transition/TransitionSet;->setDuration(J)Landroid/transition/TransitionSet;
-HSPLandroid/transition/TransitionSet;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/TransitionSet;
-HSPLandroid/transition/Visibility;-><init>()V
-HSPLandroid/util/ArrayMap;->containsValue(Ljava/lang/Object;)Z
-HSPLandroid/util/ArraySet;->removeAll(Landroid/util/ArraySet;)Z
-HSPLandroid/util/EventLog$Event;->getProcessId()I
-HSPLandroid/util/EventLog$Event;->getTag()I
-HSPLandroid/util/EventLog$Event;->getTimeNanos()J
-HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Float;)V
-HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/util/IntProperty;-><init>(Ljava/lang/String;)V
-HSPLandroid/util/IntProperty;->set(Ljava/lang/Object;Ljava/lang/Integer;)V
-HSPLandroid/util/IntProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/util/LongSparseArray;->indexOfValue(Ljava/lang/Object;)I
-HSPLandroid/util/MathUtils;->constrain(FFF)F
-HSPLandroid/util/MathUtils;->fitRect(Landroid/graphics/Rect;I)V
-HSPLandroid/util/PathParser$PathData;->setPathData(Landroid/util/PathParser$PathData;)V
-HSPLandroid/util/PathParser;->access$300(JJ)V
-HSPLandroid/util/Range;->clamp(Ljava/lang/Comparable;)Ljava/lang/Comparable;
-HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;IZZZ)V
-HSPLandroid/view/accessibility/AccessibilityManager;->getServiceLocked()Landroid/view/accessibility/IAccessibilityManager;
-HSPLandroid/view/accessibility/AccessibilityManager;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;-><init>()V
-HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-HSPLandroid/view/animation/BaseInterpolator;-><init>()V
-HSPLandroid/view/animation/OvershootInterpolator;-><init>(F)V
-HSPLandroid/view/animation/PathInterpolator;-><init>(Landroid/graphics/Path;)V
-HSPLandroid/view/CompositionSamplingListener;-><init>(Ljava/util/concurrent/Executor;)V
-HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayAddress$Physical;
-HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/DisplayAddress$Physical;-><init>(JLandroid/view/DisplayAddress$1;)V
-HSPLandroid/view/DisplayAddress$Physical;-><init>(J)V
-HSPLandroid/view/DisplayAddress;-><init>()V
-HSPLandroid/view/Display;->getAppVsyncOffsetNanos()J
-HSPLandroid/view/Display;->getCurrentSizeRange(Landroid/graphics/Point;Landroid/graphics/Point;)V
-HSPLandroid/view/Display;->getPresentationDeadlineNanos()J
-HSPLandroid/view/Display;->updateDisplayInfoLocked()V
-HSPLandroid/view/GestureDetector;->recordGestureClassification(I)V
-HSPLandroid/view/GestureExclusionTracker;->computeChangedRects()Ljava/util/List;
-HSPLandroid/view/GestureExclusionTracker;->updateRectsForView(Landroid/view/View;)V
-HSPLandroid/view/IDockedStackListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IDockedStackListener$Stub;-><init>()V
-HSPLandroid/view/IDockedStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/InputDevice$MotionRange;->getAxis()I
-HSPLandroid/view/InputDevice$MotionRange;->getSource()I
-HSPLandroid/view/InputDevice;->getMotionRanges()Ljava/util/List;
-HSPLandroid/view/InputDevice;->getSources()I
-HSPLandroid/view/InputDevice;->hasKeys([I)[Z
-HSPLandroid/view/inputmethod/InputMethodSubtype;->isAuxiliary()Z
-HSPLandroid/view/InsetsController;->calculateInsets(ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/view/WindowInsets;
-HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroid/graphics/Insets;
-HSPLandroid/view/InsetsSource;->isVisible()Z
-HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
-HSPLandroid/view/InsetsState;->processSourceAsPublicType(Landroid/view/InsetsSource;[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[ZLandroid/graphics/Insets;I)V
-HSPLandroid/view/InsetsState;->processSource(Landroid/view/InsetsSource;Landroid/graphics/Rect;Z[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[Z)V
-HSPLandroid/view/InsetsState;->toPublicType(I)I
-HSPLandroid/view/IPinnedStackController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackController;
-HSPLandroid/view/IPinnedStackListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IPinnedStackListener$Stub;-><init>()V
-HSPLandroid/view/IPinnedStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IRotationWatcher$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IRotationWatcher$Stub;-><init>()V
-HSPLandroid/view/IWallpaperVisibilityListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IWallpaperVisibilityListener$Stub;-><init>()V
-HSPLandroid/view/IWallpaperVisibilityListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindowManager$Stub$Proxy;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->destroyInputConsumer(Ljava/lang/String;I)Z
-HSPLandroid/view/IWindowManager$Stub$Proxy;->freezeRotation(I)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->getDockedStackSide()I
-HSPLandroid/view/IWindowManager$Stub$Proxy;->getInitialDisplaySize(ILandroid/graphics/Point;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->getStableInsets(ILandroid/graphics/Rect;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
-HSPLandroid/view/IWindowManager$Stub$Proxy;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->setShelfHeight(ZI)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->statusBarVisibilityChanged(II)V
-HSPLandroid/view/IWindowManager$Stub$Proxy;->watchRotation(Landroid/view/IRotationWatcher;I)I
-HSPLandroid/view/IWindowSession$Stub$Proxy;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
-HSPLandroid/view/LayoutInflater;->createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V
-HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJZ)V
-HSPLandroid/view/RemoteAnimationAdapter;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/SurfaceControl$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/SurfaceControl;
-HSPLandroid/view/SurfaceControl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl;->access$2700(JJJJ)V
-HSPLandroid/view/SurfaceControl;->access$800(Landroid/view/SurfaceControl;)V
-HSPLandroid/view/SurfaceControl;->checkNotReleased()V
-HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;Landroid/view/SurfaceControl$1;)V
-HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/ConfigParser;->getBoolean(Ljava/lang/String;Z)Z
-HSPLandroid/view/textclassifier/ConfigParser;->getInt(Ljava/lang/String;I)I
-HSPLandroid/view/textclassifier/ConfigParser;->getLegacySettings()Landroid/util/KeyValueListParser;
-HSPLandroid/view/textclassifier/TextClassificationManager;->getApplicationContext()Landroid/content/Context;
-HSPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier;
-HSPLandroid/view/textclassifier/TextClassificationManager;->lambda$getSettings$2$TextClassificationManager()Ljava/lang/String;
-HSPLandroid/view/ThreadedRenderer;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
-HSPLandroid/view/View$10;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$10;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$1;-><init>(Landroid/view/View;)V
-HSPLandroid/view/View$1;->positionChanged(JIIII)V
-HSPLandroid/view/View$7;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$7;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$8;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$8;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/view/View$8;->setValue(Landroid/view/View;F)V
-HSPLandroid/view/View$8;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/view/View$ListenerInfo;->access$1200(Landroid/view/View$ListenerInfo;)Ljava/util/List;
-HSPLandroid/view/View$ListenerInfo;->access$1202(Landroid/view/View$ListenerInfo;Ljava/util/List;)Ljava/util/List;
-HSPLandroid/view/View$TransformationInfo;->access$2300(Landroid/view/View$TransformationInfo;)F
-HSPLandroid/view/View$TransformationInfo;->access$2302(Landroid/view/View$TransformationInfo;F)F
-HSPLandroid/view/View;->canReceivePointerEvents()Z
-HSPLandroid/view/View;->checkForLongClick(JFFI)V
-HSPLandroid/view/ViewConfiguration;->getScrollBarFadeDuration()I
-HSPLandroid/view/ViewConfiguration;->getScrollDefaultDelay()I
-HSPLandroid/view/ViewConfiguration;->getScrollFriction()F
-HSPLandroid/view/View;->forceHasOverlappingRendering(Z)V
-HSPLandroid/view/View;->getClipBounds()Landroid/graphics/Rect;
-HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z
-HSPLandroid/view/View;->getSystemGestureExclusionRects()Ljava/util/List;
-HSPLandroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V
-HSPLandroid/view/ViewGroup;->getTransientViewCount()I
-HSPLandroid/view/ViewGroup;->getTransientView(I)Landroid/view/View;
-HSPLandroid/view/ViewGroup;->removeTransientView(Landroid/view/View;)V
-HSPLandroid/view/View;->initScrollCache()V
-HSPLandroid/view/View;->isPaddingRelative()Z
-HSPLandroid/view/View;->isVerticalFadingEdgeEnabled()Z
-HSPLandroid/view/View;->postUpdateSystemGestureExclusionRects()V
-HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewRootImpl;->getView()Landroid/view/View;
-HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
-HSPLandroid/view/ViewRootImpl;->systemGestureExclusionChanged()V
-HSPLandroid/view/ViewRootImpl;->updateSystemGestureExclusionRectsForView(Landroid/view/View;)V
-HSPLandroid/view/View;->setAccessibilityPaneTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/view/View;->setAlphaInternal(F)V
-HSPLandroid/view/View;->setForceDarkAllowed(Z)V
-HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V
-HSPLandroid/view/View;->setSystemGestureExclusionRects(Ljava/util/List;)V
-HSPLandroid/view/View;->setVerticalFadingEdgeEnabled(Z)V
-HSPLandroid/view/ViewStub;->setVisibilityAsync(I)Ljava/lang/Runnable;
-HSPLandroid/view/ViewTreeObserver;->dispatchOnSystemGestureExclusionRectsChanged(Ljava/util/List;)V
-HSPLandroid/view/View;->updateSystemGestureExclusionRects()V
-HSPLandroid/view/WindowInsets$Type;->compatSystemInsets()I
-HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V
-HSPLandroid/view/WindowInsets;->getMandatorySystemGestureInsets()Landroid/graphics/Insets;
-HSPLandroid/view/WindowInsets;->getStableInsets()Landroid/graphics/Insets;
-HSPLandroid/view/WindowInsets;->getStableInsetTop()I
-HSPLandroid/view/WindowInsets;->getTappableElementInsets()Landroid/graphics/Insets;
-HSPLandroid/view/WindowManager$LayoutParams;-><init>(IIIIIII)V
-HSPLandroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
-HSPLandroid/view/Window;->setOnWindowDismissedCallback(Landroid/view/Window$OnWindowDismissedCallback;)V
-HSPLandroid/view/Window;->setWindowControllerCallback(Landroid/view/Window$WindowControllerCallback;)V
-HSPLandroid/widget/AbsSeekBar;->setThumbTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/widget/AbsSeekBar;->updateGestureExclusionRects()V
-HSPLandroid/widget/ActionMenuPresenter$2;->onViewAttachedToWindow(Landroid/view/View;)V
-HSPLandroid/widget/Button;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ImageView;->access$002(Landroid/widget/ImageView;Landroid/net/Uri;)Landroid/net/Uri;
-HSPLandroid/widget/ImageView;->access$102(Landroid/widget/ImageView;I)I
-HSPLandroid/widget/ImageView;->setImageIconAsync(Landroid/graphics/drawable/Icon;)Ljava/lang/Runnable;
-HSPLandroid/widget/ImageView;->setImageLevel(I)V
-HSPLandroid/widget/ProgressBar$1;->get(Landroid/widget/ProgressBar;)Ljava/lang/Float;
-HSPLandroid/widget/ProgressBar$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/widget/ProgressBar$1;->setValue(Landroid/widget/ProgressBar;F)V
-HSPLandroid/widget/ProgressBar$1;->setValue(Ljava/lang/Object;F)V
-HSPLandroid/widget/ProgressBar;->access$700(Landroid/widget/ProgressBar;IF)V
-HSPLandroid/widget/ProgressBar;->access$800(Landroid/widget/ProgressBar;)F
-HSPLandroid/widget/ProgressBar;->access$802(Landroid/widget/ProgressBar;F)F
-HSPLandroid/widget/ProgressBar;->applyProgressBackgroundTint()V
-HSPLandroid/widget/ProgressBar;->getTintTarget(IZ)Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ProgressBar;->setProgressBackgroundTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/widget/ProgressBar;->setProgress(IZ)V
-HSPLandroid/widget/ProgressBar;->setProgressTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V
-HSPLandroid/widget/RelativeLayout$LayoutParams;->removeRule(I)V
-HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/RelativeLayout;->getGravity()I
-HSPLandroid/widget/RemoteViews$1;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews$Action;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-HSPLandroid/widget/RemoteViews$Action;-><init>(Landroid/widget/RemoteViews$1;)V
-HSPLandroid/widget/RemoteViews$Action;-><init>()V
-HSPLandroid/widget/RemoteViews$BitmapCache;-><init>()V
-HSPLandroid/widget/RemoteViews$LayoutParamAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews$LayoutParamAction;-><init>(III)V
-HSPLandroid/widget/RemoteViews$LayoutParamAction;->resolveDimenPixelOffset(Landroid/view/View;I)I
-HSPLandroid/widget/RemoteViews$ReflectionAction;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
-HSPLandroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/widget/RemoteViews;ILjava/lang/String;ILjava/lang/Object;)V
-HSPLandroid/widget/RemoteViews$RemoteResponse;->access$500(Landroid/widget/RemoteViews$RemoteResponse;)Landroid/app/PendingIntent;
-HSPLandroid/widget/RemoteViews$RuntimeAction;-><init>(Landroid/widget/RemoteViews$1;)V
-HSPLandroid/widget/RemoteViews$RuntimeAction;-><init>()V
-HSPLandroid/widget/RemoteViews$SetDrawableTint;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews$SetDrawableTint;-><init>(Landroid/widget/RemoteViews;IZILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/widget/RemoteViews$SetOnClickResponse;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
-HSPLandroid/widget/RemoteViews;->access$1100(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)V
-HSPLandroid/widget/RemoteViews;->access$1500(Landroid/widget/RemoteViews;Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$AsyncApplyTask;
-HSPLandroid/widget/RemoteViews;->access$2400(Landroid/widget/RemoteViews;Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/RemoteViews;->access$2600(Landroid/widget/RemoteViews;)Ljava/util/ArrayList;
-HSPLandroid/widget/RemoteViews;->access$700(Landroid/widget/RemoteViews;Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
-HSPLandroid/widget/RemoteViews;->access$900()Landroid/widget/RemoteViews$Action;
-HSPLandroid/widget/RemoteViews;->addAction(Landroid/widget/RemoteViews$Action;)V
-HSPLandroid/widget/RemoteViews;->addView(ILandroid/widget/RemoteViews;)V
-HSPLandroid/widget/RemoteViews;->applyAsync(Landroid/content/Context;Landroid/view/ViewGroup;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/os/CancellationSignal;
-HSPLandroid/widget/RemoteViews;->configureRemoteViewsAsChild(Landroid/widget/RemoteViews;)V
-HSPLandroid/widget/RemoteViews;->getAsyncApplyTask(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$AsyncApplyTask;
-HSPLandroid/widget/RemoteViews;->getRemoteViewsToApply(Landroid/content/Context;)Landroid/widget/RemoteViews;
-HSPLandroid/widget/RemoteViews;->hasLandscapeAndPortraitLayouts()Z
-HSPLandroid/widget/RemoteViews;->inflateView(Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/RemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-HSPLandroid/widget/RemoteViews;->removeAllViews(I)V
-HSPLandroid/widget/RemoteViews;->setBoolean(ILjava/lang/String;Z)V
-HSPLandroid/widget/RemoteViews;->setDrawableTint(IZILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/widget/RemoteViews;->setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;)V
-HSPLandroid/widget/RemoteViews;->setImageViewIcon(ILandroid/graphics/drawable/Icon;)V
-HSPLandroid/widget/RemoteViews;->setIntTag(III)V
-HSPLandroid/widget/RemoteViews;->setLong(ILjava/lang/String;J)V
-HSPLandroid/widget/RemoteViews;->setRemoteInputs(I[Landroid/app/RemoteInput;)V
-HSPLandroid/widget/RemoteViews;->setTextColor(II)V
-HSPLandroid/widget/RemoteViews;->setViewLayoutMarginBottomDimen(II)V
-HSPLandroid/widget/RemoteViews;->setViewLayoutMarginEnd(II)V
-HSPLandroid/widget/RemoteViews;->setViewLayoutWidth(II)V
-HSPLandroid/widget/RemoteViews;->startTaskOnExecutor(Landroid/widget/RemoteViews$AsyncApplyTask;Ljava/util/concurrent/Executor;)Landroid/os/CancellationSignal;
-HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TextView;->getCompoundDrawablePadding()I
-HSPLandroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/TextView;->getCompoundDrawablesRelative()[Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V
-HSPLandroid/widget/TextView;->setFontFeatureSettings(Ljava/lang/String;)V
-HSPLandroid/widget/TextView;->setLineHeight(I)V
-HSPLandroid/widget/TextView;->setMarqueeRepeatLimit(I)V
-HSPLandroid/widget/Toolbar;->setTitle(I)V
-HSPLandroid/widget/ViewAnimator;->getDisplayedChild()I
-HSPLcom/android/internal/app/AssistUtils;->activeServiceSupportsLaunchFromKeyguard()Z
-HSPLcom/android/internal/app/AssistUtils;->getActiveServiceComponentName()Landroid/content/ComponentName;
-HSPLcom/android/internal/app/AssistUtils;->onLockscreenShown()V
-HSPLcom/android/internal/app/AssistUtils;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
-HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;-><init>()V
-HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;-><init>()V
-HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperationRaw(IILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getPackagesForOps([I)Ljava/util/List;
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanResults(Landroid/os/WorkSource;I)V
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
-HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetBleScan()V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->activeServiceSupportsLaunchFromKeyguard()Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getActiveServiceComponentName()Landroid/content/ComponentName;
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->onLockscreenShown()V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
-HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;-><init>()V
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->stopListening(Ljava/lang/String;I)V
-HSPLcom/android/internal/backup/IBackupTransport$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/backup/IBackupTransport$Stub;-><init>()V
-HSPLcom/android/internal/backup/IBackupTransport$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;-><init>()V
-HSPLcom/android/internal/location/ILocationProviderManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProviderManager;
-HSPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderRequest;
-HSPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/logging/MetricsLogger;->visibility(IZ)V
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
-HSPLcom/android/internal/os/Zygote;->disableExecuteOnly(I)V
-HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;I)I
-HSPLcom/android/internal/policy/DecorView;->calculateBarColor(IIIIIIZ)I
-HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor()I
-HSPLcom/android/internal/policy/DecorView;->drawLegacyNavigationBarBackground(Landroid/graphics/RecordingCanvas;)V
-HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/drawable/Drawable;
-HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V
-HSPLcom/android/internal/policy/DividerSnapAlgorithm;->getMiddleTarget()Lcom/android/internal/policy/DividerSnapAlgorithm$SnapTarget;
-HSPLcom/android/internal/policy/DividerSnapAlgorithm;-><init>(Landroid/content/res/Resources;IIIZLandroid/graphics/Rect;I)V
-HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardDrawnCallback;
-HSPLcom/android/internal/policy/IKeyguardService$Stub;-><init>()V
-HSPLcom/android/internal/policy/IKeyguardService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardStateCallback;
-HSPLcom/android/internal/policy/IShortcutService$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/policy/IShortcutService$Stub;-><init>()V
-HSPLcom/android/internal/policy/PhoneWindow;->getTransitionBackgroundFadeDuration()J
-HSPLcom/android/internal/policy/ScreenDecorationsUtils;->supportsRoundedCornersOnWindows(Landroid/content/res/Resources;)Z
-HSPLcom/android/internal/statusbar/IStatusBar$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/statusbar/IStatusBar$Stub;-><init>()V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/statusbar/StatusBarIcon;->clone()Lcom/android/internal/statusbar/StatusBarIcon;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->handleAlarmOrConfigChange()V
-HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$300(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)I
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$400(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)I
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$500(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)I
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$700(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->imsiPrefixMatch(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/CarrierResolver;->isPreferApnUserEdited(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/CarrierResolver;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/cdma/EriManager$EriFile;-><init>(Lcom/android/internal/telephony/cdma/EriManager;)V
-HSPLcom/android/internal/telephony/cdma/EriManager;-><init>(Lcom/android/internal/telephony/Phone;I)V
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->convertHalCellIdentityToCellIdentity(Landroid/hardware/radio/V1_0/CellIdentity;)Landroid/telephony/CellIdentity;
-HSPLcom/android/internal/telephony/CommandException;-><init>(Lcom/android/internal/telephony/CommandException$Error;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->logl(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseNetwork(Landroid/net/NetworkRequest;I)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->isMeteredApnType(ILcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;-><init>(Lcom/android/internal/telephony/dataconnection/ApnContext;IILandroid/os/Message;III)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->bringUp(Lcom/android/internal/telephony/dataconnection/ApnContext;IILandroid/os/Message;III)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;->isHardReason()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->add(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->containsHardDisallowedReasons()Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->contains(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->containsOnly(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;)Z
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->setHandoverState(I)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$000(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)I
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$002(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;I)I
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$100(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)Lcom/android/internal/telephony/Phone;
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$200(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$302(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;)Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$400(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$500(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$600(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->getDataEnabledOverride()Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isDataEnabled(I)Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->localLog(Ljava/lang/String;Z)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->notifyDataEnabledOverrideChanged()V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->registerForDataEnabledOverrideChanged(Landroid/os/Handler;I)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->setDataRoamingEnabled(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updateDataEnabledAndNotify(I)V
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updatePhoneStateListener()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/ApnContext;ILcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataEnabledOverrideRulesChanged()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->releaseNetwork(Landroid/net/NetworkRequest;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestTypeToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupDataOnAllConnectableApns(Ljava/lang/String;Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupDataOnConnectableApn(Lcom/android/internal/telephony/dataconnection/ApnContext;Ljava/lang/String;Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->shouldAutoAttach()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->shouldCleanUpConnection(Lcom/android/internal/telephony/dataconnection/ApnContext;Z)Z
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->logl(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;->isAnyApnPreferredOnIwlan()Z
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyEmergencyNumberList(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyOemHookRawEventForSubscriber(Lcom/android/internal/telephony/Phone;[B)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyRadioPowerStateChanged(Lcom/android/internal/telephony/Phone;I)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyUserMobileDataStateChanged(Lcom/android/internal/telephony/Phone;Z)V
-HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->writeUpdatedEmergencyNumberListMetrics(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->findBestComponent(Landroid/content/pm/PackageManager;)Landroid/content/pm/ComponentInfo;
-HSPLcom/android/internal/telephony/GlobalSettingsHelper;->setBoolean(Landroid/content/Context;Ljava/lang/String;IZ)Z
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;I[BZ)Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->sendSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->shouldBlockSmsForEcbm()Z
-HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->access$200(Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/IccCardConstants$State;->intToState(I)Lcom/android/internal/telephony/IccCardConstants$State;
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->filterDestAddress(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendDataInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendDataWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/internal/telephony/ims/ImsResolver$5;->create(Landroid/content/Context;Landroid/content/ComponentName;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;)Lcom/android/internal/telephony/ims/ImsServiceController;
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isInEmergencyCall()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->sendImsServiceStateIntent(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isInEmergencyCall()Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyForVideoCapabilityChanged(Z)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->updateRoamingState(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/ims/RcsEventQueryHelper;-><init>(Landroid/content/ContentResolver;)V
-HSPLcom/android/internal/telephony/ims/RcsMessageQueryHelper;-><init>(Landroid/content/ContentResolver;)V
-HSPLcom/android/internal/telephony/ims/RcsMessageStoreController;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/ims/RcsMessageStoreUtil;-><init>(Landroid/content/ContentResolver;)V
-HSPLcom/android/internal/telephony/ims/RcsParticipantQueryHelper;-><init>(Landroid/content/ContentResolver;)V
-HSPLcom/android/internal/telephony/ims/RcsThreadQueryHelper;-><init>(Landroid/content/ContentResolver;Lcom/android/internal/telephony/ims/RcsParticipantQueryHelper;)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher;->isAvailable()Z
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1AlphaTagForDisplay(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkTypeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isDataEnabled(I)Z
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionForSubscriber(IIIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyEmergencyNumberList(II)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOemHookRawEventForSubscriber(II[B)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOtaspChanged(II)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyRadioPowerStateChanged(III)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyUserMobileDataStateChangedForPhoneId(IIZ)V
-HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->addEvent(Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
-HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->decreaseExpectedResponse()V
-HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->getNumExpectedResponses()I
-HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->increaseExpectedResponse()V
-HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;-><init>(I)V
-HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setErrorCode(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
-HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setFormat(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
-HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setRilErrno(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
-HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setRilRequestId(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
-HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setTech(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
-HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;-><init>(I)V
-HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;-><init>(JI)V
-HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->setCarrierIdMatching(Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;)Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
-HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->setUpdatedEmergencyNumber(Lcom/android/internal/telephony/nano/TelephonyProto$EmergencyNumberInfo;)Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->convertEmergencyNumberToEmergencyNumberInfo(Landroid/telephony/emergency/EmergencyNumber;)Lcom/android/internal/telephony/nano/TelephonyProto$EmergencyNumberInfo;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishSmsSessionIfNeeded(Lcom/android/internal/telephony/metrics/InProgressSmsSession;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->lambda$convertEmergencyNumberToEmergencyNumberInfo$1(I)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->logv(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewSmsSessionIfNeeded(I)Lcom/android/internal/telephony/metrics/InProgressSmsSession;
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeCarrierIdMatchingEvent(IIILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeEmergencyNumberUpdateEvent(ILandroid/telephony/emergency/EmergencyNumber;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnSmsSolicitedResponse(IIILcom/android/internal/telephony/SmsResponse;)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilSendSms(IIII)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->init(Landroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;)Lcom/android/internal/telephony/MultiSimSettingController;
-HSPLcom/android/internal/telephony/MultiSimSettingController;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->lambda$updatePrimarySubListAndGetChangeType$3(Landroid/telephony/SubscriptionInfo;)Z
-HSPLcom/android/internal/telephony/MultiSimSettingController;->lambda$updatePrimarySubListAndGetChangeType$4(Landroid/telephony/SubscriptionInfo;)Ljava/lang/Integer;
-HSPLcom/android/internal/telephony/MultiSimSettingController;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->notifyAllSubscriptionLoaded()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->notifyDefaultDataSubChanged()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->notifySubscriptionInfoChanged()V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->updateDefaults(Z)V
-HSPLcom/android/internal/telephony/MultiSimSettingController;->updatePrimarySubListAndGetChangeType(Ljava/util/List;Z)I
-HSPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;-><init>()V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;-><init>()V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;-><init>()V
-HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;-><init>()V
-HSPLcom/android/internal/telephony/OemHookIndication;->oemHookRaw(ILjava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/PhoneFactory;->getSmsController()Lcom/android/internal/telephony/SmsController;
-HSPLcom/android/internal/telephony/PhoneFactory;->getSubscriptionInfoUpdater()Lcom/android/internal/telephony/SubscriptionInfoUpdater;
-HSPLcom/android/internal/telephony/Phone;->notifySmsSent(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Phone;->notifyUserMobileDataStateChanged(Z)V
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->callPhoneMethodForSubIdWithPrivilegedCheck(ILjava/lang/String;Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;)Ljava/lang/Object;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimIst(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithPrivilegedCheck$25$PhoneSubInfoController(Ljava/lang/String;Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithReadPhoneNumberCheck$27(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithReadSubscriberIdentifiersCheck$24(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getIsimIst$17(Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSwitcher;->getInstance()Lcom/android/internal/telephony/PhoneSwitcher;
-HSPLcom/android/internal/telephony/PhoneSwitcher;->isEmergencyNetworkRequest(Landroid/net/NetworkRequest;)Z
-HSPLcom/android/internal/telephony/PhoneSwitcher;->isEmergency()Z
-HSPLcom/android/internal/telephony/PhoneSwitcher;->isInEmergencyCallbackMode()Z
-HSPLcom/android/internal/telephony/PhoneSwitcher;->sendRilCommands(I)V
-HSPLcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;-><init>()V
-HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;-><init>()V
-HSPLcom/android/internal/telephony/ProxyController;->getSmsController()Lcom/android/internal/telephony/SmsController;
-HSPLcom/android/internal/telephony/RadioIndication;->currentSignalStrength(ILandroid/hardware/radio/V1_0/SignalStrength;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getCellInfoListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getCurrentCallsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getDataRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/DataRegStateResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getIccCardStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/CardStatus;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getSignalStrengthResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SignalStrength;)V
-HSPLcom/android/internal/telephony/RadioResponse;->getVoiceRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/VoiceRegStateResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseCellInfoList(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseCurrentCalls(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseIccCardStatus(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/CardStatus;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseLceStatus(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseSignalStrength(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SignalStrength;)V
-HSPLcom/android/internal/telephony/RadioResponse;->responseSms(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->sendImsSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->sendMessageResponse(Landroid/os/Message;Ljava/lang/Object;)V
-HSPLcom/android/internal/telephony/RadioResponse;->startLceServiceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
-HSPLcom/android/internal/telephony/RIL;->arrayListToPrimitiveArray(Ljava/util/ArrayList;)[B
-HSPLcom/android/internal/telephony/RIL;->constructGsmSendSmsRilRequest(Ljava/lang/String;Ljava/lang/String;)Landroid/hardware/radio/V1_0/GsmSmsMessage;
-HSPLcom/android/internal/telephony/RIL;->convertHalCellInfoList(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/RIL;->getModemStatus(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->obtainRequest(ILandroid/os/Message;Landroid/os/WorkSource;)Lcom/android/internal/telephony/RILRequest;
-HSPLcom/android/internal/telephony/RIL;->sendImsGsmSms(Ljava/lang/String;Ljava/lang/String;IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->unsljLogvRet(ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->filterOperatorNameByPattern(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCarrierNameDisplayBitmask(Landroid/telephony/ServiceState;)I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCombinedRegState(Landroid/telephony/ServiceState;)I
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getOperatorBrandOverride()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getOperatorNameFromEri()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getServiceProviderName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->modemTriggeredPollState()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->notifySpnDisplayUpdate(Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->processIwlanRegistrationInfo()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateNrStateFromPhysicalChannelConfigs(Ljava/util/List;Landroid/telephony/ServiceState;)Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameForCellIdentity(Landroid/telephony/CellIdentity;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameForCellInfo(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameForServiceState(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNamePattern(Landroid/os/PersistableBundle;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->updateSpnDisplayLegacy()V
-HSPLcom/android/internal/telephony/SMSDispatcher;->checkDestination(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)Z
-HSPLcom/android/internal/telephony/SMSDispatcher;->getCarrierAppPackageName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(Ljava/lang/String;Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;Landroid/net/Uri;ZLjava/lang/String;ZZZ)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
-HSPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(Ljava/lang/String;Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicBoolean;Landroid/net/Uri;Lcom/android/internal/telephony/SmsHeader;ZLjava/lang/String;ZZIIZ)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
-HSPLcom/android/internal/telephony/SMSDispatcher;->getSmsTrackerMap(Ljava/lang/String;Ljava/lang/String;I[BLcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;)Ljava/util/HashMap;
-HSPLcom/android/internal/telephony/SMSDispatcher;->getSubId()I
-HSPLcom/android/internal/telephony/SMSDispatcher;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/SMSDispatcher;->handleSendComplete(Landroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/SMSDispatcher;->isIms()Z
-HSPLcom/android/internal/telephony/SmsDispatchersController;->getUsageMonitor()Lcom/android/internal/telephony/SmsUsageMonitor;
-HSPLcom/android/internal/telephony/SmsDispatchersController;->isCdmaFormat(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/SmsDispatchersController;->isCdmaMo()Z
-HSPLcom/android/internal/telephony/SmsDispatchersController;->isIms()Z
-HSPLcom/android/internal/telephony/SmsDispatchersController;->sendData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/internal/telephony/SMSDispatcher;->sendData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/internal/telephony/SMSDispatcher;->sendRawPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-HSPLcom/android/internal/telephony/SMSDispatcher;->sendSmsByCarrierApp(ZLcom/android/internal/telephony/SMSDispatcher$SmsTracker;)Z
-HSPLcom/android/internal/telephony/SMSDispatcher;->sendSubmitPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-HSPLcom/android/internal/telephony/SmsUsageMonitor;->check(Ljava/lang/String;I)Z
-HSPLcom/android/internal/telephony/SmsUsageMonitor;->isUnderLimit(Ljava/util/ArrayList;I)Z
-HSPLcom/android/internal/telephony/SmsUsageMonitor;->removeExpiredTimestamps()V
-HSPLcom/android/internal/telephony/SubscriptionController;->clearSlotIndexForSubInfoRecords()V
-HSPLcom/android/internal/telephony/SubscriptionController;->getDataEnabledOverrideRules(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionController;->getOptionalStringFromCursor(Landroid/database/Cursor;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfoUsingSlotIndexPrivileged(I)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionProperty(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionController;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->notifySubInfoReady()V
-HSPLcom/android/internal/telephony/SubscriptionController;->sendDefaultChangedBroadcast(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setAssociatedPlmns([Ljava/lang/String;[Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setDisplayNumber(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/SubscriptionController;->setImsi(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->isCarrierServicePackage(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$handleMessage$0(Z)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateEmbeddedSubscriptions$4$SubscriptionInfoUpdater(Ljava/util/List;Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateEmbeddedSubscriptions$5$SubscriptionInfoUpdater(Ljava/util/List;Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateSubscriptionByCarrierConfigAndNotifyComplete$6$SubscriptionInfoUpdater(ILjava/lang/String;Landroid/os/PersistableBundle;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateSubscriptionInfoByIccId$3(Z)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->setSubInfoInitialized()V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptionsCache(Landroid/service/euicc/GetEuiccProfileInfoListResult;)Z
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptions(Ljava/util/List;Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateInternalIccState(Ljava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionByCarrierConfigAndNotifyComplete(ILjava/lang/String;Landroid/os/PersistableBundle;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionByCarrierConfig(ILjava/lang/String;Landroid/os/PersistableBundle;)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionInfoByIccId(IZ)V
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeEriManager(Lcom/android/internal/telephony/Phone;I)Lcom/android/internal/telephony/cdma/EriManager;
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadPhoneStateNoThrow(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCarrierPrivilegeForAnySubId(Landroid/content/Context;Ljava/util/function/Supplier;I)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadDeviceIdentifiers(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/uicc/AdnRecord;->getEmails()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getEhplmns()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getHomePlmns()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getPlmnsFromHplmnActRecord()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccRecords;->getServiceProviderDisplayInformation()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/SIMRecords;->getCarrierNameDisplayCondition()I
-HSPLcom/android/internal/telephony/uicc/UiccCard;->iccOpenLogicalChannel(Ljava/lang/String;ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccController;->getSlotIdFromPhoneId(I)I
-HSPLcom/android/internal/telephony/uicc/UiccController;->updateInternalIccState(Landroid/content/Context;Lcom/android/internal/telephony/IccCardConstants$State;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->access$000(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->access$100(Lcom/android/internal/telephony/uicc/UiccPkcs15;)I
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->access$200(Lcom/android/internal/telephony/uicc/UiccPkcs15;)Lcom/android/internal/telephony/uicc/UiccProfile;
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->parseAcrf(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateCarrierNameForSubscription(Lcom/android/internal/telephony/SubscriptionController;II)V
-HSPLcom/android/internal/telephony/util/NotificationChannelController;->getChannel(Ljava/lang/String;Landroid/content/Context;)Landroid/app/NotificationChannel;
-HSPLcom/android/internal/telephony/util/NotificationChannelController;->migrateCallFowardNotificationChannel(Landroid/content/Context;Landroid/app/NotificationChannel;)V
-HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/util/AsyncChannel;-><init>()V
-HSPLcom/android/internal/util/BitUtils;->maskedEquals(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Z
-HSPLcom/android/internal/util/BitUtils;->uint16(S)I
-HSPLcom/android/internal/util/BitUtils;->uint32(I)J
-HSPLcom/android/internal/util/BitUtils;->uint8(B)I
-HSPLcom/android/internal/util/GrowingArrayUtils;->append([FIF)[F
-HSPLcom/android/internal/util/LatencyTracker;->isEnabled(Landroid/content/Context;)Z
-HSPLcom/android/internal/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/util/StateMachine;->getHandler()Landroid/os/Handler;
-HSPLcom/android/internal/util/StateMachine;->getName()Ljava/lang/String;
-HSPLcom/android/internal/view/InputBindResult;->getActivityViewToScreenMatrix()Landroid/graphics/Matrix;
-HSPLcom/android/internal/view/RotationPolicy;->areAllRotationsAllowed(Landroid/content/Context;)Z
-HSPLcom/android/internal/view/RotationPolicy;->getRotationLockOrientation(Landroid/content/Context;)I
-HSPLcom/android/internal/view/RotationPolicy;->registerRotationPolicyListener(Landroid/content/Context;Lcom/android/internal/view/RotationPolicy$RotationPolicyListener;I)V
-HSPLcom/android/internal/view/RotationPolicy;->setRotationLockAtAngle(Landroid/content/Context;ZI)V
-HSPLcom/android/internal/view/RotationPolicy;->setRotationLock(ZI)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->checkVoldPassword(I)Z
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoverySecretTypes()[I
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setBoolean(Ljava/lang/String;ZI)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoverySecretTypes([I)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setServerParams([B)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->userPresent(I)V
-HSPLcom/android/internal/widget/LockPatternUtils;->checkVoldPassword(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->getActivePasswordQuality(I)I
-HSPLcom/android/internal/widget/LockPatternUtils;->getDeviceOwnerInfo()Ljava/lang/String;
-HSPLcom/android/internal/widget/LockPatternUtils;->getUserManager()Landroid/os/UserManager;
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockPatternEnabled(II)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockScreenDisabled(I)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->userPresent(I)V
-HSPLcom/android/okhttp/Headers$Builder;->access$000(Lcom/android/okhttp/Headers$Builder;)Ljava/util/List;
-HSPLcom/android/okhttp/Headers$Builder;->build()Lcom/android/okhttp/Headers;
-HSPLcom/android/okhttp/Headers$Builder;->get(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/Headers;->get([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;Lcom/android/okhttp/Headers$1;)V
-HSPLcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;)V
-HSPLcom/android/okhttp/HttpHandler$CleartextURLFilter;->checkURLPermitted(Ljava/net/URL;)V
-HSPLcom/android/okhttp/HttpUrl;->url()Ljava/net/URL;
-HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->timeout()Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->close()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->flush()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/Http1xStream$1;)V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;)V
-HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
-HSPLcom/android/okhttp/internal/http/Http1xStream;->access$300(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/internal/http/Http1xStream;->access$400(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/okio/ForwardingTimeout;)V
-HSPLcom/android/okhttp/internal/http/Http1xStream;->access$502(Lcom/android/okhttp/internal/http/Http1xStream;I)I
-HSPLcom/android/okhttp/internal/http/Http1xStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/http/Http1xStream;->detachTimeout(Lcom/android/okhttp/okio/ForwardingTimeout;)V
-HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSink()Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/http/HttpEngine;->getResponse()Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/internal/http/StatusLine;->get(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/StatusLine;
-HSPLcom/android/okhttp/internal/http/StatusLine;-><init>(Lcom/android/okhttp/Protocol;ILjava/lang/String;)V
-HSPLcom/android/okhttp/internal/http/StatusLine;->toString()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentEncoding()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentLength()I
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentType()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getHeaderFields()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperties()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getURL()Ljava/net/URL;
-HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setChunkedStreamingMode(I)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentEncoding()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentLength()I
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentType()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getURL()Ljava/net/URL;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setChunkedStreamingMode(I)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/OptionalMethod;->getMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;
-HSPLcom/android/okhttp/internal/OptionalMethod;->getPublicMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-HSPLcom/android/okhttp/internal/OptionalMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/okhttp/internal/OptionalMethod;->invokeOptional(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/okhttp/internal/OptionalMethod;->invokeOptionalWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/okhttp/internal/OptionalMethod;->invokeWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/okhttp/internal/OptionalMethod;->isSupported(Ljava/lang/Object;)Z
-HSPLcom/android/okhttp/internal/Platform;->concatLengthPrefixed(Ljava/util/List;)[B
-HSPLcom/android/okhttp/internal/Util;->discard(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
-HSPLcom/android/okhttp/internal/Util;->skipAll(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
-HSPLcom/android/okhttp/OkHttpClient;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
-HSPLcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
-HSPLcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
-HSPLcom/android/okhttp/okio/Buffer;->completeSegmentByteCount()J
-HSPLcom/android/okhttp/okio/Buffer;-><init>()V
-HSPLcom/android/okhttp/okio/Buffer;->readByteArray()[B
-HSPLcom/android/okhttp/okio/Buffer;->readByteArray(J)[B
-HSPLcom/android/okhttp/okio/Buffer;->readFully([B)V
-HSPLcom/android/okhttp/okio/Buffer;->size()J
-HSPLcom/android/okhttp/okio/Buffer;->writeByte(I)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/Buffer;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/ForwardingTimeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/okio/ForwardingTimeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/okio/ForwardingTimeout;->delegate()Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/okio/ForwardingTimeout;->hasDeadline()Z
-HSPLcom/android/okhttp/okio/ForwardingTimeout;-><init>(Lcom/android/okhttp/okio/Timeout;)V
-HSPLcom/android/okhttp/okio/ForwardingTimeout;->setDelegate(Lcom/android/okhttp/okio/Timeout;)Lcom/android/okhttp/okio/ForwardingTimeout;
-HSPLcom/android/okhttp/okio/RealBufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/RealBufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/RealBufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/RealBufferedSource$1;->read()I
-HSPLcom/android/okhttp/okio/RealBufferedSource;->access$000(Lcom/android/okhttp/okio/RealBufferedSource;)Z
-HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime()J
-HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/okio/Timeout;-><init>()V
-HSPLcom/android/okhttp/OkUrlFactories;->open(Lcom/android/okhttp/OkUrlFactory;Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/HttpURLConnection;
-HSPLcom/android/okhttp/OkUrlFactory;->client()Lcom/android/okhttp/OkHttpClient;
-HSPLcom/android/okhttp/Protocol;->toString()Ljava/lang/String;
-HSPLcom/android/okhttp/Request;->header(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/Response;->code()I
-HSPLcom/android/okhttp/Response;->message()Ljava/lang/String;
-HSPLcom/android/okhttp/Response;->protocol()Lcom/android/okhttp/Protocol;
-HSPLcom/android/server/NetworkManagementSocketTagger;->getThreadSocketStatsTag()I
-HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsUid(I)I
-HSPLdalvik/system/BlockGuard;->getVmPolicy()Ldalvik/system/BlockGuard$VmPolicy;
-HSPLdalvik/system/SocketTagger;->tag(Ljava/net/Socket;)V
-HSPLjava/io/DataInputStream;->readDouble()D
-HSPLjava/io/DataOutputStream;->incCount(I)V
-HSPLjava/io/DataOutputStream;->writeDouble(D)V
-HSPLjava/io/DataOutputStream;->writeShort(I)V
-HSPLjava/io/File;->deleteOnExit()V
-HSPLjava/io/FileDescriptor;->getInt$()I
-HSPLjava/io/File;->isInvalid()Z
-HSPLjava/io/File;->setExecutable(ZZ)Z
-HSPLjava/io/File;->setReadable(ZZ)Z
-HSPLjava/io/FilterOutputStream;->flush()V
-HSPLjava/io/IOException;-><init>()V
-HSPLjava/io/RandomAccessFile;->write(I)V
-HSPLjava/io/RandomAccessFile;->writeLong(J)V
-HSPLjava/io/SequenceInputStream;->available()I
-HSPLjava/io/SequenceInputStream;->close()V
-HSPLjava/io/SequenceInputStream;->read([BII)I
-HSPLjava/io/StringWriter;->append(C)Ljava/io/StringWriter;
-HSPLjava/io/StringWriter;->append(C)Ljava/io/Writer;
-HSPLjava/io/UnixFileSystem;->setPermission(Ljava/io/File;IZZ)Z
-HSPLjava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
-HSPLjava/lang/AssertionError;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/Byte;->compare(BB)I
-HSPLjava/lang/Byte;->compareTo(Ljava/lang/Byte;)I
-HSPLjava/lang/Byte;->compareTo(Ljava/lang/Object;)I
-HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;)B
-HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;I)B
-HSPLjava/lang/Class;->getInstanceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
-HSPLjava/lang/Class;->getPackageName$()Ljava/lang/String;
-HSPLjava/lang/Class;->getProtectionDomain()Ljava/security/ProtectionDomain;
-HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->sleepForMillis(J)Z
-HSPLjava/lang/Double;->floatValue()F
-HSPLjava/lang/Error;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/Float;->compareTo(Ljava/lang/Float;)I
-HSPLjava/lang/IllegalMonitorStateException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/InstantiationException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/Integer;->byteValue()B
-HSPLjava/lang/Integer;->toUnsignedLong(I)J
-HSPLjava/lang/invoke/MethodHandleImpl;-><init>(JILjava/lang/invoke/MethodType;)V
-HSPLjava/lang/invoke/MethodHandle;-><init>(JILjava/lang/invoke/MethodType;)V
-HSPLjava/lang/invoke/MethodHandles$Lookup;->checkReturnType(Ljava/lang/reflect/Method;Ljava/lang/invoke/MethodType;)V
-HSPLjava/lang/invoke/MethodHandles$Lookup;->createMethodHandle(Ljava/lang/reflect/Method;ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-HSPLjava/lang/invoke/MethodHandles$Lookup;->findVirtual(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
-HSPLjava/lang/invoke/MethodHandle;->type()Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodType;->changeReturnType(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodType;->dropParameterTypes(II)Ljava/lang/invoke/MethodType;
-HSPLjava/lang/invoke/MethodType;->ptypes()[Ljava/lang/Class;
-HSPLjava/lang/invoke/MethodType;->returnType()Ljava/lang/Class;
-HSPLjava/lang/invoke/MethodType;->rtype()Ljava/lang/Class;
-HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
-HSPLjava/lang/Long;->valueOf(Ljava/lang/String;I)Ljava/lang/Long;
-HSPLjava/lang/Math;->subtractExact(JJ)J
-HSPLjava/lang/reflect/Executable;->getArtMethod()J
-HSPLjava/lang/reflect/Executable;->getDeclaringClassInternal()Ljava/lang/Class;
-HSPLjava/lang/reflect/Executable;->isSynthetic()Z
-HSPLjava/lang/reflect/Executable;->isVarArgs()Z
-HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;
-HSPLjava/lang/reflect/Method;->isSynthetic()Z
-HSPLjava/lang/reflect/Method;->isVarArgs()Z
-HSPLjava/lang/Short;->shortValue()S
-HSPLjava/lang/StackTraceElement;->getFileName()Ljava/lang/String;
-HSPLjava/lang/StringBuffer;->substring(II)Ljava/lang/String;
-HSPLjava/lang/StringBuffer;->substring(I)Ljava/lang/String;
-HSPLjava/lang/System;->getSecurityManager()Ljava/lang/SecurityManager;
-HSPLjava/lang/Thread;->getUncaughtExceptionPreHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
-HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
-HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
-HSPLjava/lang/ThreadLocal$ThreadLocalMap;->nextIndex(II)I
-HSPLjava/lang/ThreadLocal;->access$400(Ljava/lang/ThreadLocal;)I
-HSPLjava/math/BigInteger;-><init>(Ljava/math/BigInt;)V
-HSPLjava/math/BigInteger;->mod(Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HSPLjava/math/BigInteger;->setBigInt(Ljava/math/BigInt;)V
-HSPLjava/math/BigInt;->hasNativeBignum()Z
-HSPLjava/math/BigInt;-><init>()V
-HSPLjava/math/BigInt;->modulus(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
-HSPLjava/math/BigInt;->newBigInt()Ljava/math/BigInt;
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/AbstractPlainSocketImpl;->getTimeout()I
-HSPLjava/net/AbstractPlainSocketImpl;->isConnectionReset()Z
-HSPLjava/net/DatagramPacket;-><init>([BIILjava/net/SocketAddress;)V
-HSPLjava/net/DatagramPacket;-><init>([BILjava/net/SocketAddress;)V
-HSPLjava/net/DatagramPacket;->setSocketAddress(Ljava/net/SocketAddress;)V
-HSPLjava/net/DatagramSocket;->setReuseAddress(Z)V
-HSPLjava/net/HttpURLConnection;->setChunkedStreamingMode(I)V
-HSPLjava/net/Inet6Address$Inet6AddressHolder;->isIPv4CompatibleAddress()Z
-HSPLjava/net/Inet6AddressImpl;->getHostByAddr0([B)Ljava/lang/String;
-HSPLjava/net/Inet6AddressImpl;->getHostByAddr([B)Ljava/lang/String;
-HSPLjava/net/Inet6Address;->isIPv4CompatibleAddress()Z
-HSPLjava/net/InetAddress$1;->getHostByAddr([B)Ljava/lang/String;
-HSPLjava/net/InetAddress;->getHostFromNameService(Ljava/net/InetAddress;)Ljava/lang/String;
-HSPLjava/net/InetAddress;->getHostName()Ljava/lang/String;
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$600(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/lang/String;
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$800(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Z
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostName()Ljava/lang/String;
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->isUnresolved()Z
-HSPLjava/net/InetSocketAddress;->getHostName()Ljava/lang/String;
-HSPLjava/net/InetSocketAddress;-><init>(I)V
-HSPLjava/net/InetSocketAddress;->isUnresolved()Z
-HSPLjava/net/InterfaceAddress;->getAddress()Ljava/net/InetAddress;
-HSPLjava/net/MulticastSocket;-><init>(I)V
-HSPLjava/net/MulticastSocket;-><init>(Ljava/net/SocketAddress;)V
-HSPLjava/net/MulticastSocket;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/MulticastSocket;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/MulticastSocket;->setNetworkInterface(Ljava/net/NetworkInterface;)V
-HSPLjava/net/MulticastSocket;->setTimeToLive(I)V
-HSPLjava/net/NetworkInterface$1checkedAddresses;->hasMoreElements()Z
-HSPLjava/net/NetworkInterface$1checkedAddresses;-><init>(Ljava/net/NetworkInterface;)V
-HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/lang/Object;
-HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/net/InetAddress;
-HSPLjava/net/NetworkInterface;->access$000(Ljava/net/NetworkInterface;)[Ljava/net/InetAddress;
-HSPLjava/net/NetworkInterface;->getByName(Ljava/lang/String;)Ljava/net/NetworkInterface;
-HSPLjava/net/NetworkInterface;->getFlags()I
-HSPLjava/net/NetworkInterface;->getHardwareAddress()[B
-HSPLjava/net/NetworkInterface;->getIndex()I
-HSPLjava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;
-HSPLjava/net/NetworkInterface;->getInterfaceAddresses()Ljava/util/List;
-HSPLjava/net/NetworkInterface;->getMTU()I
-HSPLjava/net/NetworkInterface;->getName()Ljava/lang/String;
-HSPLjava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
-HSPLjava/net/NetworkInterface;->isLoopback()Z
-HSPLjava/net/NetworkInterface;->isPointToPoint()Z
-HSPLjava/net/NetworkInterface;->isUp()Z
-HSPLjava/net/NetworkInterface;->isVirtual()Z
-HSPLjava/net/NetworkInterface;->supportsMulticast()Z
-HSPLjava/net/PlainDatagramSocketImpl;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/PlainDatagramSocketImpl;->leave(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/PlainDatagramSocketImpl;->makeGroupReq(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)Landroid/system/StructGroupReq;
-HSPLjava/net/PlainDatagramSocketImpl;->setTimeToLive(I)V
-HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
-HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption(ILjava/lang/Object;)V
-HSPLjava/net/SocketAddress;-><init>()V
-HSPLjava/net/SocketInputStream;->read([BII)I
-HSPLjava/net/SocketInputStream;->read([BIII)I
-HSPLjava/net/SocketInputStream;->socketRead(Ljava/io/FileDescriptor;[BIII)I
-HSPLjava/net/SocketOutputStream;->socketWrite([BII)V
-HSPLjava/net/SocketOutputStream;->write([BII)V
-HSPLjava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
-HSPLjava/net/URI$Parser;->charAt(I)C
-HSPLjava/net/URI$Parser;-><init>(Ljava/net/URI;Ljava/lang/String;)V
-HSPLjava/net/URI$Parser;->scanEscape(IIC)I
-HSPLjava/net/URI;->access$002(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/URI;->access$100()J
-HSPLjava/net/URI;->access$200()J
-HSPLjava/net/URI;->access$300(CJJ)Z
-HSPLjava/net/URI;->hashCode()I
-HSPLjava/net/URI;->hashIgnoringCase(ILjava/lang/String;)I
-HSPLjava/net/URI;->hash(ILjava/lang/String;)I
-HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/URI;->isAbsolute()Z
-HSPLjava/net/URI;->isOpaque()Z
-HSPLjava/net/URI;->toLower(C)I
-HSPLjava/net/URI;->toURL()Ljava/net/URL;
-HSPLjava/net/URLConnection;->getContentEncoding()Ljava/lang/String;
-HSPLjava/net/URLConnection;->getContentLength()I
-HSPLjava/nio/Bits;->getFloatB(Ljava/nio/ByteBuffer;I)F
-HSPLjava/nio/Bits;->getFloat(Ljava/nio/ByteBuffer;IZ)F
-HSPLjava/nio/Bits;->getIntB(Ljava/nio/ByteBuffer;I)I
-HSPLjava/nio/Bits;->getInt(Ljava/nio/ByteBuffer;IZ)I
-HSPLjava/nio/Bits;->makeInt(BBBB)I
-HSPLjava/nio/Bits;->putFloatB(Ljava/nio/ByteBuffer;IF)V
-HSPLjava/nio/Bits;->putFloat(Ljava/nio/ByteBuffer;IFZ)V
-HSPLjava/nio/Bits;->putLong(Ljava/nio/ByteBuffer;IJZ)V
-HSPLjava/nio/Buffer;->nextGetIndex()I
-HSPLjava/nio/Buffer;->nextGetIndex(I)I
-HSPLjava/nio/Buffer;->nextPutIndex(I)I
-HSPLjava/nio/ByteBufferAsIntBuffer;->get()I
-HSPLjava/nio/ByteBufferAsIntBuffer;->get(I)I
-HSPLjava/nio/ByteBufferAsIntBuffer;->put([III)Ljava/nio/IntBuffer;
-HSPLjava/nio/ByteBufferAsLongBuffer;->put([JII)Ljava/nio/LongBuffer;
-HSPLjava/nio/ByteBufferAsShortBuffer;->put([SII)Ljava/nio/ShortBuffer;
-HSPLjava/nio/ByteBuffer;->compareTo(Ljava/lang/Object;)I
-HSPLjava/nio/ByteBuffer;->equals(BB)Z
-HSPLjava/nio/ByteBuffer;->equals(Ljava/lang/Object;)Z
-HSPLjava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
-HSPLjava/nio/channels/FileLock;->position()J
-HSPLjava/nio/channels/FileLock;->size()J
-HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->isOpen()Z
-HSPLjava/nio/DirectByteBuffer;->getFloat()F
-HSPLjava/nio/DirectByteBuffer;->getFloat(J)F
-HSPLjava/nio/DirectByteBuffer;->getLong()J
-HSPLjava/nio/DirectByteBuffer;->getLong(J)J
-HSPLjava/nio/DirectByteBuffer;->ix(I)J
-HSPLjava/nio/HeapByteBuffer;->asIntBuffer()Ljava/nio/IntBuffer;
-HSPLjava/nio/HeapByteBuffer;->asLongBuffer()Ljava/nio/LongBuffer;
-HSPLjava/nio/HeapByteBuffer;->getFloat()F
-HSPLjava/nio/HeapByteBuffer;->getIntUnchecked(I)I
-HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[III)V
-HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[JII)V
-HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[SII)V
-HSPLjava/nio/HeapByteBuffer;->ix(I)I
-HSPLjava/nio/HeapByteBuffer;->putFloat(F)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[III)V
-HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[JII)V
-HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[SII)V
-HSPLjava/nio/IntBuffer;->put([I)Ljava/nio/IntBuffer;
-HSPLjava/nio/LongBuffer;->put([J)Ljava/nio/LongBuffer;
-HSPLjava/nio/ShortBuffer;->put([S)Ljava/nio/ShortBuffer;
-HSPLjava/security/GeneralSecurityException;-><init>(Ljava/lang/Throwable;)V
-HSPLjava/security/InvalidAlgorithmParameterException;-><init>(Ljava/lang/Throwable;)V
-HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
-HSPLjava/security/KeyFactory;-><init>(Ljava/security/KeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
-HSPLjava/security/MessageDigest;->getAlgorithm()Ljava/lang/String;
-HSPLjava/security/MessageDigest;-><init>(Ljava/lang/String;)V
-HSPLjava/security/Provider$Service;->getProvider()Ljava/security/Provider;
-HSPLjava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
-HSPLjava/security/spec/ECParameterSpec;->getGenerator()Ljava/security/spec/ECPoint;
-HSPLjava/security/spec/ECPoint;->getAffineX()Ljava/math/BigInteger;
-HSPLjava/security/spec/ECPoint;->getAffineY()Ljava/math/BigInteger;
-HSPLjava/security/spec/ECPublicKeySpec;->getParams()Ljava/security/spec/ECParameterSpec;
-HSPLjava/security/spec/ECPublicKeySpec;->getW()Ljava/security/spec/ECPoint;
-HSPLjava/security/spec/ECPublicKeySpec;-><init>(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
-HSPLjava/security/spec/EllipticCurve;->getA()Ljava/math/BigInteger;
-HSPLjava/security/spec/EllipticCurve;->getB()Ljava/math/BigInteger;
-HSPLjava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
-HSPLjava/text/DecimalFormat;->initPattern(Ljava/lang/String;)V
-HSPLjava/text/DecimalFormat;-><init>()V
-HSPLjava/text/DecimalFormatSymbols;->getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
-HSPLjava/text/FieldPosition;-><init>(I)V
-HSPLjava/text/FieldPosition;-><init>(Ljava/text/Format$Field;I)V
-HSPLjava/text/Format;-><init>()V
-HSPLjava/text/NumberFormat;-><init>()V
-HSPLjava/text/SimpleDateFormat;->isDigit(C)Z
-HSPLjava/text/SimpleDateFormat;->subParseNumericZone(Ljava/lang/String;IIIZLjava/text/CalendarBuilder;)I
-HSPLjava/time/Duration;->between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
-HSPLjava/time/Duration;->compareTo(Ljava/time/Duration;)I
-HSPLjava/time/Duration;->getNano()I
-HSPLjava/time/Duration;->getSeconds()J
-HSPLjava/time/Duration;->isNegative()Z
-HSPLjava/time/Duration;->minus(Ljava/time/Duration;)Ljava/time/Duration;
-HSPLjava/time/Duration;->plus(JJ)Ljava/time/Duration;
-HSPLjava/time/Duration;->subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
-HSPLjava/time/Duration;->toString()Ljava/lang/String;
-HSPLjava/time/Instant;->compareTo(Ljava/time/Instant;)I
-HSPLjava/time/Instant;->isBefore(Ljava/time/Instant;)Z
-HSPLjava/time/Instant;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
-HSPLjava/time/Instant;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
-HSPLjava/time/Instant;->minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
-HSPLjava/time/Instant;->nanosUntil(Ljava/time/Instant;)J
-HSPLjava/time/Instant;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
-HSPLjava/time/Instant;->plusSeconds(J)Ljava/time/Instant;
-HSPLjava/time/Instant;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
-HSPLjava/util/AbstractList$Itr;->checkForComodification()V
-HSPLjava/util/AbstractList$ListItr;->hasPrevious()Z
-HSPLjava/util/AbstractList$ListItr;->previousIndex()I
-HSPLjava/util/AbstractList$ListItr;->previous()Ljava/lang/Object;
-HSPLjava/util/AbstractList;->indexOf(Ljava/lang/Object;)I
-HSPLjava/util/AbstractMap$2;-><init>(Ljava/util/AbstractMap;)V
-HSPLjava/util/AbstractMap$2;->iterator()Ljava/util/Iterator;
-HSPLjava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/util/Map$Entry;)V
-HSPLjava/util/AbstractMap;->values()Ljava/util/Collection;
-HSPLjava/util/ArrayList$Itr;-><init>(Ljava/util/ArrayList;)V
-HSPLjava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;
-HSPLjava/util/Arrays;->deepToString([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
-HSPLjava/util/Arrays;->fill([DD)V
-HSPLjava/util/Arrays;->fill([ZIIZ)V
-HSPLjava/util/Arrays;->sort([Ljava/lang/Object;II)V
-HSPLjava/util/Arrays;->toString([F)Ljava/lang/String;
-HSPLjava/util/BitSet;->checkInvariants()V
-HSPLjava/util/BitSet;->clear(II)V
-HSPLjava/util/BitSet;->recalculateWordsInUse()V
-HSPLjava/util/BitSet;->wordIndex(I)I
-HSPLjava/util/Calendar;->after(Ljava/lang/Object;)Z
-HSPLjava/util/Calendar;->before(Ljava/lang/Object;)Z
-HSPLjava/util/Calendar;->compareTo(J)I
-HSPLjava/util/Calendar;->compareTo(Ljava/util/Calendar;)I
-HSPLjava/util/Calendar;->getMillisOf(Ljava/util/Calendar;)J
-HSPLjava/util/Collections$EmptyList;->listIterator()Ljava/util/ListIterator;
-HSPLjava/util/Collections$EmptyList;->sort(Ljava/util/Comparator;)V
-HSPLjava/util/Collections$EmptyMap;->keySet()Ljava/util/Set;
-HSPLjava/util/Collections$SynchronizedMap;->containsValue(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$SynchronizedMap;->keySet()Ljava/util/Set;
-HSPLjava/util/Collections$UnmodifiableMap;->toString()Ljava/lang/String;
-HSPLjava/util/Collections;->emptyListIterator()Ljava/util/ListIterator;
-HSPLjava/util/Collections;->frequency(Ljava/util/Collection;Ljava/lang/Object;)I
-HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
-HSPLjava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;
-HSPLjava/util/concurrent/ArrayBlockingQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/atomic/AtomicBoolean;->lazySet(Z)V
-HSPLjava/util/concurrent/atomic/AtomicLong;->decrementAndGet()J
-HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
-HSPLjava/util/concurrent/ConcurrentHashMap$EntrySetView;->removeIf(Ljava/util/function/Predicate;)Z
-HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
-HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(Ljava/util/Map;)V
-HSPLjava/util/concurrent/ConcurrentHashMap;->putAll(Ljava/util/Map;)V
-HSPLjava/util/concurrent/ConcurrentHashMap;->removeEntryIf(Ljava/util/function/Predicate;)Z
-HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
-HSPLjava/util/concurrent/LinkedBlockingQueue;->clear()V
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireShared(I)V
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->getState()I
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->release(I)Z
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->tryAcquireSharedNanos(IJ)Z
-HSPLjava/util/concurrent/Semaphore$Sync;->getPermits()I
-HSPLjava/util/concurrent/Semaphore;->acquireUninterruptibly()V
-HSPLjava/util/concurrent/Semaphore;->availablePermits()I
-HSPLjava/util/concurrent/Semaphore;->tryAcquire(JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;-><init>()V
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getMaximumPoolSize()I
-HSPLjava/util/concurrent/ThreadPoolExecutor;->setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V
-HSPLjava/util/concurrent/TimeUnit$2;->convert(JLjava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/TimeUnit$2;->toSeconds(J)J
-HSPLjava/util/concurrent/TimeUnit$5;->toMicros(J)J
-HSPLjava/util/concurrent/TimeUnit$7;->toMicros(J)J
-HSPLjava/util/concurrent/TimeUnit;->x(JJJ)J
-HSPLjava/util/Date;->after(Ljava/util/Date;)Z
-HSPLjava/util/Date;->getCalendarSystem(I)Lsun/util/calendar/BaseCalendar;
-HSPLjava/util/Date;->getCalendarSystem(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar;
-HSPLjava/util/Date;->getMillisOf(Ljava/util/Date;)J
-HSPLjava/util/Date;->getTimeImpl()J
-HSPLjava/util/Date;-><init>(IIIIII)V
-HSPLjava/util/Date;->normalize(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar$Date;
-HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/math/BigInteger;Ljava/util/Locale;)V
-HSPLjava/util/Formatter$FormatSpecifier;->trailingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
-HSPLjava/util/Formatter;->access$000(Ljava/util/Formatter;)Ljava/lang/Appendable;
-HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA;->applyAsDouble(D)D
-HSPLjava/util/function/DoubleUnaryOperator;->lambda$andThen$1(Ljava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;D)D
-HSPLjava/util/HashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
-HSPLjava/util/HashMap$TreeNode;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
-HSPLjava/util/HashMap$TreeNode;->putTreeVal(Ljava/util/HashMap;[Ljava/util/HashMap$Node;ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/HashMap$TreeNode;
-HSPLjava/util/HashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
-HSPLjava/util/HashSet;-><init>(IFZ)V
-HSPLjava/util/IdentityHashMap$KeySet;->size()I
-HSPLjava/util/IdentityHashMap;->size()I
-HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/LinkedHashMap$LinkedEntrySet;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/LinkedHashMap$LinkedHashMapEntry;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
-HSPLjava/util/LinkedHashMap$LinkedKeySet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/LinkedHashMap;-><init>(IF)V
-HSPLjava/util/LinkedHashSet;-><init>(IF)V
-HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
-HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/PriorityQueue;->comparator()Ljava/util/Comparator;
-HSPLjava/util/PriorityQueue;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/PriorityQueue;->indexOf(Ljava/lang/Object;)I
-HSPLjava/util/PriorityQueue;->initElementsFromCollection(Ljava/util/Collection;)V
-HSPLjava/util/PriorityQueue;-><init>(Ljava/util/Collection;)V
-HSPLjava/util/PriorityQueue;->siftDown(ILjava/lang/Object;)V
-HSPLjava/util/regex/Matcher;->regionEnd()I
-HSPLjava/util/regex/Matcher;->regionStart()I
-HSPLjava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Collection;I)V
-HSPLjava/util/Spliterators;->spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;
-HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/Spliterator;IZ)V
-HSPLjava/util/stream/ReduceOps$1;-><init>(Ljava/util/stream/StreamShape;Ljava/util/function/BinaryOperator;Ljava/util/function/BiFunction;Ljava/lang/Object;)V
-HSPLjava/util/stream/ReduceOps$1;->makeSink()Ljava/util/stream/ReduceOps$1ReducingSink;
-HSPLjava/util/stream/ReduceOps$1;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
-HSPLjava/util/stream/ReduceOps$1ReducingSink;->begin(J)V
-HSPLjava/util/stream/ReduceOps$1ReducingSink;-><init>(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)V
-HSPLjava/util/stream/ReduceOps$Box;-><init>()V
-HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
-HSPLjava/util/stream/ReferencePipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
-HSPLjava/util/stream/ReferencePipeline;-><init>(Ljava/util/Spliterator;IZ)V
-HSPLjava/util/stream/ReferencePipeline;->reduce(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
-HSPLjava/util/stream/StreamOpFlag;->fromCharacteristics(Ljava/util/Spliterator;)I
-HSPLjava/util/stream/StreamSupport;->stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
-HSPLjava/util/TaskQueue;-><init>()V
-HSPLjava/util/Timer$1;-><init>(Ljava/util/Timer;)V
-HSPLjava/util/Timer;-><init>(Ljava/lang/String;Z)V
-HSPLjava/util/Timer;->scheduleAtFixedRate(Ljava/util/TimerTask;JJ)V
-HSPLjava/util/TimerThread;-><init>(Ljava/util/TaskQueue;)V
-HSPLjava/util/TreeMap$KeySet;->comparator()Ljava/util/Comparator;
-HSPLjava/util/TreeMap$KeySet;->size()I
-HSPLjava/util/TreeMap;->addAllForTreeSet(Ljava/util/SortedSet;Ljava/lang/Object;)V
-HSPLjava/util/TreeMap;->buildFromSorted(ILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)V
-HSPLjava/util/TreeMap;->computeRedLevel(I)I
-HSPLjava/util/TreeMap;->exportEntry(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/Map$Entry;
-HSPLjava/util/TreeMap;->getLastEntry()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap;->lastEntry()Ljava/util/Map$Entry;
-HSPLjava/util/TreeMap;->putAll(Ljava/util/Map;)V
-HSPLjava/util/TreeMap;->subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;
-HSPLjava/util/TreeSet;-><init>(Ljava/util/SortedSet;)V
-HSPLjava/util/Vector;->ensureCapacityHelper(I)V
-HSPLjava/util/Vector;->insertElementAt(Ljava/lang/Object;I)V
-HSPLjava/util/Vector;->setElementAt(Ljava/lang/Object;I)V
-HSPLjava/util/zip/Adler32;->update([BII)V
-HSPLjava/util/zip/Adler32;->update(I)V
-HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasMoreElements()Z
-HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasNext()Z
-HSPLjava/util/zip/ZipFile$ZipEntryIterator;-><init>(Ljava/util/zip/ZipFile;)V
-HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/lang/Object;
-HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/util/zip/ZipEntry;
-HSPLjava/util/zip/ZipFile$ZipEntryIterator;->next()Ljava/util/zip/ZipEntry;
-HSPLjava/util/zip/ZipFile;->access$1000(JJ)V
-HSPLjava/util/zip/ZipFile;->access$200(Ljava/util/zip/ZipFile;)V
-HSPLjava/util/zip/ZipFile;->access$300(Ljava/util/zip/ZipFile;)I
-HSPLjava/util/zip/ZipFile;->access$400(Ljava/util/zip/ZipFile;)J
-HSPLjava/util/zip/ZipFile;->access$500(JI)J
-HSPLjava/util/zip/ZipFile;->access$900(Ljava/util/zip/ZipFile;Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
-HSPLjava/util/zip/ZipFile;->entries()Ljava/util/Enumeration;
-HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;I)V
-HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
-HSPLjavax/crypto/JceSecurity;->access$000()Ljava/net/URL;
-HSPLjavax/crypto/JceSecurity;->getCodeBase(Ljava/lang/Class;)Ljava/net/URL;
-HSPLjavax/crypto/JceSecurity;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
-HSPLjavax/crypto/JceSecurity;->getVerificationResult(Ljava/security/Provider;)Ljava/lang/Exception;
-HSPLjavax/crypto/JceSecurity;->verifyProviderJar(Ljava/net/URL;)V
-HSPLjavax/crypto/KeyGenerator;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
-HSPLjavax/crypto/KeyGenerator;->init(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLjavax/crypto/KeyGenerator;->init(Ljava/security/spec/AlgorithmParameterSpec;)V
-HSPLjavax/crypto/KeyGenerator;-><init>(Ljavax/crypto/KeyGeneratorSpi;Ljava/security/Provider;Ljava/lang/String;)V
-HSPLjavax/crypto/Mac;->reset()V
-HSPLjavax/crypto/spec/SecretKeySpec;->getAlgorithm()Ljava/lang/String;
-HSPLlibcore/icu/DateUtilsBridge;->icuTimeZone(Ljava/util/TimeZone;)Landroid/icu/util/TimeZone;
-HSPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
-HSPLlibcore/io/BlockGuardOs;->isUdpSocket(Ljava/io/FileDescriptor;)Z
-HSPLlibcore/io/BlockGuardOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HSPLlibcore/io/ForwardingOs;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
-HSPLlibcore/io/ForwardingOs;->prctl(IJJJJ)I
-HSPLlibcore/io/ForwardingOs;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I
-HSPLlibcore/io/ForwardingOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
-HSPLlibcore/io/ForwardingOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HSPLlibcore/io/ForwardingOs;->setsockoptByte(Ljava/io/FileDescriptor;III)V
-HSPLlibcore/io/ForwardingOs;->setsockoptGroupReq(Ljava/io/FileDescriptor;IILandroid/system/StructGroupReq;)V
-HSPLlibcore/io/ForwardingOs;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
-HSPLlibcore/io/ForwardingOs;->setsockoptIpMreqn(Ljava/io/FileDescriptor;III)V
-HSPLlibcore/io/Linux;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HSPLlibcore/util/ZoneInfo;->access$500(JI)I
-HSPLlibcore/util/ZoneInfo;->access$600(JI)I
-HSPLlibcore/util/ZoneInfo;->checked32BitAdd(JI)I
-HSPLlibcore/util/ZoneInfo;->checked32BitSubtract(JI)I
-HSPLorg/json/JSONArray;-><init>(Ljava/util/Collection;)V
-HSPLorg/json/JSONObject;->length()I
-HSPLorg/json/JSONTokener;->skipToEndOfLine()V
-HSPLsun/misc/FloatingDecimal;->appendTo(DLjava/lang/Appendable;)V
-HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(D)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
-HSPLsun/misc/FloatingDecimal;->parseDouble(Ljava/lang/String;)D
-HSPLsun/misc/FloatingDecimal;->parseFloat(Ljava/lang/String;)F
-HSPLsun/misc/FloatingDecimal;->toJavaFormatString(D)Ljava/lang/String;
-HSPLsun/nio/ch/FileChannelImpl;->release(Lsun/nio/ch/FileLockImpl;)V
-HSPLsun/nio/ch/FileLockImpl;->release()V
-HSPLsun/nio/ch/SharedFileLockTable;->remove(Ljava/nio/channels/FileLock;)V
-HSPLsun/nio/fs/NativeBuffer$Deallocator;->run()V
-HSPLsun/nio/fs/NativeBuffer;->access$000()Lsun/misc/Unsafe;
-HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;Lsun/security/jca/GetInstance$1;)V
-HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;)V
-HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
-HSPLsun/security/jca/GetInstance;->getInstance(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
-HSPLsun/util/calendar/BaseCalendar$Date;->setNormalizedDate(III)Lsun/util/calendar/BaseCalendar$Date;
-HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
-HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
-HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
-HSPLandroid/os/Trace;->endAsyncSection(Ljava/lang/String;I)V
-HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[B)V
-HSPLjava/nio/ByteBuffer;->array()Ljava/lang/Object;
-HSPLjava/nio/NIOAccess;->getBaseArray(Ljava/nio/Buffer;)Ljava/lang/Object;
-HSPLjava/nio/NIOAccess;->getBaseArrayOffset(Ljava/nio/Buffer;)I
-HSPLandroid/graphics/drawable/RotateDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/Bitmap;->checkHardware(Ljava/lang/String;)V
-HSPLandroid/graphics/Bitmap;->copyPixelsToBuffer(Ljava/nio/Buffer;)V
-HSPLandroid/graphics/Bitmap;->getDensity()I
-HSPLandroid/accounts/AccountManager;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/AccountManager;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()V
-HSPLjava/util/Arrays$ArrayList;-><init>([Ljava/lang/Object;)V
-HSPLjava/util/regex/Matcher;-><init>(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
-HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-[[F
-[[J
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;
-Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;
-[Landroid/accounts/Account;
-Landroid/accounts/AccountManager$17;
-Landroid/accounts/AccountManager$3;
-[Landroid/accounts/AuthenticatorDescription;
-Landroid/accounts/IAccountAuthenticator;
-Landroid/accounts/IAccountAuthenticator$Stub;
-Landroid/accounts/IAccountAuthenticator$Stub$Proxy;
-Landroid/accounts/IAccountManagerResponse$Stub$Proxy;
-Landroid/animation/AnimationHandler$2;
-[Landroid/animation/Animator;
-Landroid/animation/BidirectionalTypeConverter;
-[Landroid/animation/Keyframe;
-[Landroid/animation/Keyframe$FloatKeyframe;
-[Landroid/animation/Keyframe$IntKeyframe;
-[Landroid/animation/Keyframe$ObjectKeyframe;
-Landroid/animation/LayoutTransition$3;
-Landroid/animation/PathKeyframes$3;
-Landroid/animation/PathKeyframes$4;
-[Landroid/animation/PropertyValuesHolder;
-Landroid/animation/PropertyValuesHolder$1;
-[Landroid/apex/ApexInfo;
-Landroid/apex/ApexInfo;
-Landroid/app/-$$Lambda$ActivityThread$A4ykhsPb8qV3ffTqpQDklHSMDJ0;
-Landroid/app/-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054;
-Landroid/app/-$$Lambda$ActivityTransitionState$yioLR6wQWjZ9DcWK5bibElIbsXc;
-Landroid/app/-$$Lambda$AppOpsManager$HistoricalOp$DkVcBvqB32SMHlxw0sWQPh3GL1A;
-Landroid/app/-$$Lambda$AppOpsManager$HistoricalOp$HUOLFYs8TiaQIOXcrq6JzjxA6gs;
-Landroid/app/-$$Lambda$AppOpsManager$HistoricalOp$Vs6pDL0wjOBTquwNnreWVbPQrn4;
-Landroid/app/-$$Lambda$FragmentTransition$jurn0WXuKw3bRQ_2d5zCWdeZWuI;
-Landroid/app/-$$Lambda$WallpaperManager$Globals$1AcnQUORvPlCjJoNqdxfQT4o4Nw;
-Landroid/app/-$$Lambda$WallpaperManager$Globals$2yG7V1sbMECCnlFTLyjKWKqNoYI;
-Landroid/app/Activity$1;
-Landroid/app/Activity$ManagedCursor;
-Landroid/app/Activity$ManagedDialog;
-Landroid/app/ActivityManager$TaskSnapshot;
-Landroid/app/ActivityTransitionState$1;
-Landroid/app/admin/DevicePolicyCache$EmptyDevicePolicyCache;
-Landroid/app/admin/DevicePolicyEventLogger;
-Landroid/app/admin/IDeviceAdminService;
-Landroid/app/admin/IDeviceAdminService$Stub$Proxy;
-Landroid/app/admin/StartInstallingUpdateCallback$Stub$Proxy;
-Landroid/app/AppCompatCallbacks;
-Landroid/app/ApplicationErrorReport;
-Landroid/app/ApplicationLoaders$CachedClassLoader;
-Landroid/app/ApplicationPackageManager$MoveCallbackDelegate;
-Landroid/app/AppOpsManager$1;
-Landroid/app/AppOpsManager$3;
-[Landroid/app/assist/AssistStructure$ViewNode;
-Landroid/app/AutomaticZenRule;
-[Landroid/app/BackStackState;
-Landroid/app/BackStackState;
-Landroid/app/backup/BlobBackupHelper;
-Landroid/app/backup/IBackupCallback$Stub;
-Landroid/app/backup/IBackupCallback$Stub$Proxy;
-Landroid/app/backup/IBackupManagerMonitor$Stub;
-Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;
-Landroid/app/backup/IBackupObserver$Stub;
-Landroid/app/backup/IBackupObserver$Stub$Proxy;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub;
-Landroid/app/backup/IFullBackupRestoreObserver$Stub$Proxy;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub;
-Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;
-Landroid/app/DownloadManager$CursorTranslator;
-Landroid/app/EnterTransitionCoordinator;
-Landroid/app/ExitTransitionCoordinator;
-Landroid/app/Fragment$InstantiationException;
-Landroid/app/FragmentManager$FragmentLifecycleCallbacks;
-Landroid/app/FragmentManager$OnBackStackChangedListener;
-Landroid/app/FragmentManagerImpl$2;
-Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;
-Landroid/app/FragmentManagerImpl$StartEnterTransitionListener;
-Landroid/app/FragmentManagerNonConfig;
-[Landroid/app/FragmentState;
-Landroid/app/FragmentTransition$2;
-Landroid/app/FragmentTransition$5;
-Landroid/app/IActivityController$Stub;
-Landroid/app/IActivityController$Stub$Proxy;
-Landroid/app/IAlarmCompleteListener$Stub$Proxy;
-Landroid/app/IAlarmListener$Stub$Proxy;
-Landroid/app/IAssistDataReceiver;
-Landroid/app/IAssistDataReceiver$Stub;
-Landroid/app/IAssistDataReceiver$Stub$Proxy;
-Landroid/app/IBackupAgent$Stub$Proxy;
-Landroid/app/IInstantAppResolver;
-Landroid/app/IInstantAppResolver$Stub;
-Landroid/app/IInstantAppResolver$Stub$Proxy;
-Landroid/app/IInstrumentationWatcher$Stub$Proxy;
-Landroid/app/Instrumentation$ActivityGoing;
-Landroid/app/Instrumentation$ActivityMonitor;
-Landroid/app/Instrumentation$ActivityWaiter;
-Landroid/app/IProcessObserver$Stub$Proxy;
-Landroid/app/IRequestFinishCallback$Stub;
-Landroid/app/IRequestFinishCallback$Stub$Proxy;
-Landroid/app/IServiceConnection$Stub$Proxy;
-Landroid/app/IStopUserCallback$Stub;
-Landroid/app/IStopUserCallback$Stub$Proxy;
-Landroid/app/ITransientNotification$Stub$Proxy;
-Landroid/app/IUiAutomationConnection$Stub$Proxy;
-Landroid/app/IUriGrantsManager$Stub$Proxy;
-Landroid/app/job/IJobService$Stub$Proxy;
-[Landroid/app/job/JobInfo$TriggerContentUri;
-Landroid/app/LoadedApk$SplitDependencyLoaderImpl;
-[Landroid/app/LoaderManagerImpl;
-[Landroid/app/Notification$Action;
-Landroid/app/Notification$BubbleMetadata;
-[Landroid/app/NotificationChannel;
-[Landroid/app/NotificationChannelGroup;
-Landroid/app/PackageInstallObserver$1;
-Landroid/app/PendingIntent$FinishedDispatcher;
-[Landroid/app/Person;
-Landroid/app/PictureInPictureParams;
-Landroid/app/prediction/AppPredictionContext;
-Landroid/app/prediction/AppPredictionSessionId;
-Landroid/app/prediction/AppPredictor;
-Landroid/app/prediction/AppTarget;
-Landroid/app/prediction/AppTargetEvent;
-Landroid/app/prediction/AppTargetId;
-Landroid/app/prediction/IPredictionCallback$Stub;
-Landroid/app/prediction/IPredictionCallback$Stub$Proxy;
-Landroid/app/prediction/IPredictionManager$Stub$Proxy;
-Landroid/app/RemoteAction;
-[Landroid/app/RemoteInput;
-Landroid/app/RemoteServiceException;
-Landroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;
-Landroid/app/role/-$$Lambda$RoleControllerManager$9hUe0y0G47wIHKhViIp3z2IRAIk;
-Landroid/app/role/-$$Lambda$RoleControllerManager$Jsb4ev7pHUqel8_lglNSRLiUzpg;
-Landroid/app/role/IOnRoleHoldersChangedListener$Stub$Proxy;
-Landroid/app/role/IRoleController$Stub;
-Landroid/app/SearchableInfo;
-Landroid/app/SearchableInfo$ActionKeyInfo;
-Landroid/app/servertransaction/ActivityConfigurationChangeItem;
-[Landroid/app/slice/SliceItem;
-[Landroid/app/slice/SliceSpec;
-Landroid/app/StatsManager$StatsdDeathRecipient;
-Landroid/app/trust/TrustManager$1;
-Landroid/app/trust/TrustManager$TrustListener;
-Landroid/app/usage/ICacheQuotaService$Stub$Proxy;
-Landroid/app/usage/NetworkStatsManager$CallbackHandler;
-Landroid/app/usage/NetworkStatsManager$UsageCallback;
-Landroid/app/VoiceInteractor;
-Landroid/app/Vr2dDisplayProperties;
-Landroid/app/WallpaperInfo;
-Landroid/app/WallpaperManager$OnColorsChangedListener;
-Landroid/appwidget/AppWidgetProviderInfo;
-Landroid/bluetooth/-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4;
-Landroid/bluetooth/BluetoothA2dpSink;
-Landroid/bluetooth/BluetoothAvrcpController;
-[Landroid/bluetooth/BluetoothCodecConfig;
-Landroid/bluetooth/BluetoothCodecStatus;
-[Landroid/bluetooth/BluetoothDevice;
-Landroid/bluetooth/BluetoothGattService;
-Landroid/bluetooth/BluetoothHeadsetClient;
-Landroid/bluetooth/BluetoothHidDevice$1;
-Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;
-Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;
-Landroid/bluetooth/BluetoothHidHost$1;
-Landroid/bluetooth/BluetoothMap$1;
-Landroid/bluetooth/BluetoothMapClient;
-Landroid/bluetooth/BluetoothPan$1;
-Landroid/bluetooth/BluetoothPbap$1;
-Landroid/bluetooth/BluetoothPbap$2;
-Landroid/bluetooth/BluetoothPbapClient;
-Landroid/bluetooth/BluetoothProfileConnector$1;
-Landroid/bluetooth/BluetoothProfileConnector$2;
-Landroid/bluetooth/BluetoothSap$1;
-Landroid/bluetooth/IBluetoothGattCallback$Stub;
-Landroid/bluetooth/IBluetoothGattCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub;
-Landroid/bluetooth/IBluetoothHidDeviceCallback$Stub$Proxy;
-Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;
-Landroid/bluetooth/IBluetoothMap$Stub$Proxy;
-Landroid/bluetooth/IBluetoothMetadataListener$Stub$Proxy;
-Landroid/bluetooth/IBluetoothPan$Stub$Proxy;
-Landroid/bluetooth/IBluetoothPbap$Stub$Proxy;
-Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;
-Landroid/bluetooth/IBluetoothSap$Stub$Proxy;
-Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;
-Landroid/bluetooth/le/AdvertiseData;
-Landroid/bluetooth/le/AdvertisingSetParameters;
-Landroid/bluetooth/le/BluetoothLeScanner;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub;
-Landroid/bluetooth/le/IPeriodicAdvertisingCallback$Stub$Proxy;
-Landroid/bluetooth/le/IScannerCallback$Stub;
-Landroid/bluetooth/le/PeriodicAdvertisingParameters;
-Landroid/bluetooth/OobData;
-[Landroid/bluetooth/UidTraffic;
-Landroid/companion/AssociationRequest;
-Landroid/companion/ICompanionDeviceManager$Stub$Proxy;
-Landroid/companion/IFindDeviceCallback$Stub;
-Landroid/companion/IFindDeviceCallback$Stub$Proxy;
-Landroid/compat/Compatibility;
-Landroid/content/ClipData;
-Landroid/content/ClipData$Item;
-Landroid/content/ClipDescription;
-Landroid/content/ContentProviderClient$NotRespondingRunnable;
-[Landroid/content/ContentValues;
-[Landroid/content/Intent;
-[Landroid/content/IntentFilter;
-Landroid/content/IntentSender$FinishedDispatcher;
-Landroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;
-Landroid/content/IRestrictionsManager$Stub$Proxy;
-Landroid/content/ISyncAdapter$Stub$Proxy;
-Landroid/content/ISyncStatusObserver$Stub$Proxy;
-Landroid/content/LocusId;
-Landroid/content/om/IOverlayManager$Stub$Proxy;
-Landroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;
-Landroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;
-Landroid/content/pm/-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4;
-Landroid/content/pm/-$$Lambda$PackageParser$0DZRgzfgaIMpCOhJqjw6PUiU5vw;
-Landroid/content/pm/-$$Lambda$PackageParser$M-9fHqS_eEp1oYkuKJhRHOGUxf8;
-Landroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;
-Landroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;
-[Landroid/content/pm/ActivityInfo;
-Landroid/content/pm/BaseParceledListSlice$1;
-[Landroid/content/pm/ConfigurationInfo;
-Landroid/content/pm/dex/DexMetadataHelper;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;
-[Landroid/content/pm/FeatureGroupInfo;
-[Landroid/content/pm/FeatureInfo;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub;
-Landroid/content/pm/IDexModuleRegisterCallback$Stub$Proxy;
-Landroid/content/pm/InstantAppIntentFilter;
-Landroid/content/pm/InstantAppResolveInfo;
-Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;
-[Landroid/content/pm/InstrumentationInfo;
-Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy;
-Landroid/content/pm/IPackageDataObserver$Stub$Proxy;
-Landroid/content/pm/IPackageDeleteObserver$Stub;
-Landroid/content/pm/IPackageDeleteObserver$Stub$Proxy;
-Landroid/content/pm/IPackageDeleteObserver2$Stub;
-Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;
-Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;
-Landroid/content/pm/IPackageMoveObserver$Stub$Proxy;
-Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;
-Landroid/content/pm/KeySet;
-Landroid/content/pm/LauncherActivityInfo;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler;
-[Landroid/content/pm/PackageInfo;
-Landroid/content/pm/PackageParser$Instrumentation;
-[Landroid/content/pm/PathPermission;
-[Landroid/content/pm/PermissionInfo;
-[Landroid/content/pm/ProviderInfo;
-[Landroid/content/pm/ServiceInfo;
-[Landroid/content/pm/Signature;
-Landroid/content/pm/SigningInfo;
-Landroid/content/pm/split/SplitAssetDependencyLoader;
-Landroid/content/pm/split/SplitDependencyLoader;
-Landroid/content/pm/SuspendDialogInfo;
-[Landroid/content/pm/VerifierInfo;
-Landroid/content/res/AssetFileDescriptor$AutoCloseInputStream;
-[Landroid/content/res/ColorStateList;
-Landroid/content/res/CompatibilityInfo$Translator;
-Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;
-[Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
-Landroid/content/res/GradientColor$GradientColorFactory;
-Landroid/content/res/StringBlock$Height;
-[Landroid/content/res/XmlBlock;
-Landroid/content/rollback/IRollbackManager$Stub$Proxy;
-[Landroid/content/SyncAdapterType;
-[Landroid/content/UndoOwner;
-[Landroid/database/CursorWindow;
-Landroid/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException;
-[Landroid/database/sqlite/SQLiteConnection$Operation;
-Landroid/database/sqlite/SQLiteConnectionPool$1;
-Landroid/database/sqlite/SQLiteDebug$NoPreloadHolder;
-Landroid/database/sqlite/SqliteWrapper;
-Landroid/database/StaleDataException;
-Landroid/graphics/-$$Lambda$ColorSpace$Rgb$iMkODTKa3_8kPZUnZZerD2Lv-yo;
-Landroid/graphics/-$$Lambda$ColorSpace$Rgb$V_0lmM2WEpxGBDV_1G1wvvidn7Y;
-Landroid/graphics/BlendMode$1;
-[Landroid/graphics/ColorSpace;
-Landroid/graphics/ColorSpace$RenderIntent;
-Landroid/graphics/drawable/-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8;
-Landroid/graphics/drawable/-$$Lambda$Drawable$bbJz2VgQAwkXlE27mR8nPMYacEw;
-[Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
-Landroid/graphics/drawable/AnimatedImageDrawable$State;
-Landroid/graphics/drawable/AnimatedRotateDrawable$1;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatableTransition;
-Landroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;
-Landroid/graphics/drawable/AnimatedVectorDrawable$2;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;
-Landroid/graphics/drawable/ColorStateListDrawable;
-Landroid/graphics/drawable/ColorStateListDrawable$ColorStateListDrawableState;
-[Landroid/graphics/drawable/Drawable;
-Landroid/graphics/drawable/DrawableContainer$1;
-[Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
-Landroid/graphics/drawable/LevelListDrawable;
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;
-[Landroid/graphics/drawable/RippleForeground;
-[Landroid/graphics/fonts/FontFamily;
-Landroid/graphics/fonts/FontFileUtil;
-[Landroid/graphics/fonts/FontVariationAxis;
-Landroid/graphics/LeakyTypefaceStorage;
-Landroid/graphics/Rect$UnflattenHelper;
-Landroid/gsi/IGsiService;
-Landroid/gsi/IGsiService$Stub;
-Landroid/gsi/IGsiService$Stub$Proxy;
-Landroid/hardware/biometrics/IBiometricConfirmDeviceCredentialCallback$Stub;
-Landroid/hardware/biometrics/IBiometricConfirmDeviceCredentialCallback$Stub$Proxy;
-Landroid/hardware/biometrics/IBiometricService$Stub$Proxy;
-Landroid/hardware/biometrics/IBiometricServiceReceiver$Stub;
-Landroid/hardware/biometrics/IBiometricServiceReceiver$Stub$Proxy;
-Landroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub$Proxy;
-Landroid/hardware/camera2/CameraManager$AvailabilityCallback;
-Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
-Landroid/hardware/camera2/CameraManager$TorchCallback;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;
-Landroid/hardware/camera2/legacy/LegacyMetadataMapper;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;
-[Landroid/hardware/camera2/marshal/MarshalQueryable;
-Landroid/hardware/camera2/utils/ArrayUtils;
-[Landroid/hardware/CameraStatus;
-Landroid/hardware/CameraStatus;
-Landroid/hardware/contexthub/V1_0/ContextHubMsg;
-Landroid/hardware/contexthub/V1_0/MemRange;
-Landroid/hardware/contexthub/V1_0/PhysicalSensor;
-Landroid/hardware/display/-$$Lambda$NightDisplayListener$sOK1HmSbMnFLzc4SdDD1WpVWJiI;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub;
-Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;
-Landroid/hardware/display/NightDisplayListener;
-Landroid/hardware/display/NightDisplayListener$1;
-Landroid/hardware/display/Time;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub;
-Landroid/hardware/fingerprint/IFingerprintClientActiveCallback$Stub$Proxy;
-Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;
-Landroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;
-Landroid/hardware/input/ITabletModeChangedListener$Stub;
-Landroid/hardware/input/ITabletModeChangedListener$Stub$Proxy;
-Landroid/hardware/ISensorPrivacyManager$Stub$Proxy;
-Landroid/hardware/location/ContextHubClient;
-Landroid/hardware/location/ContextHubManager$2;
-Landroid/hardware/location/ContextHubManager$3;
-Landroid/hardware/location/ContextHubManager$4;
-Landroid/hardware/location/ContextHubMessage;
-Landroid/hardware/location/ContextHubTransaction;
-Landroid/hardware/location/GeofenceHardwareImpl;
-Landroid/hardware/location/GeofenceHardwareImpl$1;
-Landroid/hardware/location/GeofenceHardwareImpl$2;
-Landroid/hardware/location/GeofenceHardwareImpl$3;
-Landroid/hardware/location/GeofenceHardwareImpl$GeofenceTransition;
-Landroid/hardware/location/GeofenceHardwareImpl$Reaper;
-Landroid/hardware/location/GeofenceHardwareMonitorEvent;
-Landroid/hardware/location/GeofenceHardwareRequest;
-[Landroid/hardware/location/GeofenceHardwareRequestParcelable;
-Landroid/hardware/location/GeofenceHardwareRequestParcelable;
-Landroid/hardware/location/GeofenceHardwareService$1;
-Landroid/hardware/location/IActivityRecognitionHardware$Stub$Proxy;
-Landroid/hardware/location/IActivityRecognitionHardwareClient;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;
-Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;
-Landroid/hardware/location/IContextHubCallback$Stub$Proxy;
-Landroid/hardware/location/IContextHubClient$Stub$Proxy;
-Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;
-Landroid/hardware/location/IContextHubService$Stub$Proxy;
-Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardware;
-Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardwareCallback;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub;
-Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;
-Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;
-[Landroid/hardware/location/MemoryRegion;
-Landroid/hardware/location/NanoApp;
-Landroid/hardware/location/NanoAppBinary;
-Landroid/hardware/location/NanoAppFilter;
-Landroid/hardware/radio/config/V1_1/ModemsConfig;
-Landroid/hardware/radio/config/V1_2/SimSlotStatus;
-Landroid/hardware/radio/deprecated/V1_0/IOemHook$Proxy;
-Landroid/hardware/radio/V1_0/Call;
-Landroid/hardware/radio/V1_0/CallForwardInfo;
-Landroid/hardware/radio/V1_0/CarrierRestrictions;
-Landroid/hardware/radio/V1_0/CdmaCallWaiting;
-Landroid/hardware/radio/V1_0/CdmaInformationRecords;
-Landroid/hardware/radio/V1_0/CdmaSignalInfoRecord;
-Landroid/hardware/radio/V1_0/CdmaSmsAddress;
-Landroid/hardware/radio/V1_0/CdmaSmsMessage;
-Landroid/hardware/radio/V1_0/CdmaSmsSubaddress;
-Landroid/hardware/radio/V1_0/CellIdentity;
-Landroid/hardware/radio/V1_0/CellIdentityCdma;
-Landroid/hardware/radio/V1_0/CellIdentityGsm;
-Landroid/hardware/radio/V1_0/CellIdentityTdscdma;
-Landroid/hardware/radio/V1_0/CellIdentityWcdma;
-Landroid/hardware/radio/V1_0/CellInfo;
-Landroid/hardware/radio/V1_0/CellInfoGsm;
-Landroid/hardware/radio/V1_0/CellInfoLte;
-Landroid/hardware/radio/V1_0/CellInfoTdscdma;
-Landroid/hardware/radio/V1_0/CellInfoWcdma;
-Landroid/hardware/radio/V1_0/DataCallFailCause;
-Landroid/hardware/radio/V1_0/GsmSmsMessage;
-Landroid/hardware/radio/V1_0/HardwareConfigModem;
-Landroid/hardware/radio/V1_0/HardwareConfigSim;
-Landroid/hardware/radio/V1_0/ImsSmsMessage;
-Landroid/hardware/radio/V1_0/LastCallFailCauseInfo;
-Landroid/hardware/radio/V1_0/LceDataInfo;
-Landroid/hardware/radio/V1_0/LceStatusInfo;
-Landroid/hardware/radio/V1_0/NeighboringCell;
-Landroid/hardware/radio/V1_0/OperatorInfo;
-Landroid/hardware/radio/V1_0/PcoDataInfo;
-Landroid/hardware/radio/V1_0/SendSmsResult;
-Landroid/hardware/radio/V1_0/SignalStrength;
-Landroid/hardware/radio/V1_0/SimApdu;
-Landroid/hardware/radio/V1_0/SimRefreshResult;
-Landroid/hardware/radio/V1_0/StkCcUnsolSsResult;
-Landroid/hardware/radio/V1_0/SuppSvcNotification;
-Landroid/hardware/radio/V1_0/UusInfo;
-Landroid/hardware/radio/V1_1/IRadio$Proxy;
-Landroid/hardware/radio/V1_1/KeepaliveStatus;
-Landroid/hardware/radio/V1_1/NetworkScanResult;
-Landroid/hardware/radio/V1_2/CellIdentityCdma;
-Landroid/hardware/radio/V1_2/CellIdentityGsm;
-Landroid/hardware/radio/V1_2/CellIdentityLte;
-Landroid/hardware/radio/V1_2/CellIdentityTdscdma;
-Landroid/hardware/radio/V1_2/CellIdentityWcdma;
-Landroid/hardware/radio/V1_2/CellInfoCdma;
-Landroid/hardware/radio/V1_2/CellInfoGsm;
-Landroid/hardware/radio/V1_2/CellInfoLte;
-Landroid/hardware/radio/V1_2/CellInfoTdscdma;
-Landroid/hardware/radio/V1_2/CellInfoWcdma;
-Landroid/hardware/radio/V1_2/LinkCapacityEstimate;
-Landroid/hardware/radio/V1_2/NetworkScanResult;
-Landroid/hardware/radio/V1_2/PhysicalChannelConfig;
-Landroid/hardware/radio/V1_2/TdscdmaSignalStrength;
-Landroid/hardware/radio/V1_4/CardStatus;
-Landroid/hardware/radio/V1_4/CarrierRestrictionsWithPriority;
-Landroid/hardware/radio/V1_4/CellInfo;
-Landroid/hardware/radio/V1_4/DataRegStateResult;
-Landroid/hardware/radio/V1_4/DataRegStateResult$VopsInfo;
-Landroid/hardware/radio/V1_4/EmergencyNumber;
-Landroid/hardware/radio/V1_4/NetworkScanResult;
-Landroid/hardware/radio/V1_4/NrIndicators;
-Landroid/hardware/radio/V1_4/PhysicalChannelConfig;
-Landroid/hardware/radio/V1_4/SetupDataCallResult;
-Landroid/hardware/radio/V1_4/SignalStrength;
-Landroid/hardware/SensorAdditionalInfo;
-Landroid/hardware/SensorPrivacyManager$1;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;
-Landroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;
-[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
-[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;
-Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate$1;
-Landroid/hardware/SystemSensorManager$TriggerEventQueue;
-Landroid/hardware/TriggerEvent;
-Landroid/hardware/usb/UsbAccessory;
-Landroid/icu/impl/locale/InternalLocaleBuilder;
-Landroid/icu/impl/locale/LanguageTag;
-Landroid/icu/text/BidiLine;
-Landroid/icu/text/Edits$Iterator;
-Landroid/inputmethodservice/-$$Lambda$InputMethodService$8T9TmAUIN7vW9eU6kTg8309_d4E;
-Landroid/inputmethodservice/-$$Lambda$InputMethodService$wp8DeVGx_WDOPw4F6an7QbwVxf0;
-Landroid/inputmethodservice/AbstractInputMethodService;
-Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;
-Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;
-Landroid/inputmethodservice/IInputMethodSessionWrapper;
-Landroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;
-Landroid/inputmethodservice/IInputMethodWrapper;
-Landroid/inputmethodservice/IInputMethodWrapper$InputMethodSessionCallbackWrapper;
-Landroid/inputmethodservice/InputMethodService;
-Landroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;
-Landroid/inputmethodservice/InputMethodService$Insets;
-Landroid/inputmethodservice/InputMethodService$SettingsObserver;
-Landroid/internal/hidl/base/V1_0/DebugInfo;
-Landroid/location/Country;
-Landroid/location/CountryDetector$ListenerTransport;
-Landroid/location/Criteria;
-Landroid/location/Geofence;
-Landroid/location/GnssClock;
-Landroid/location/GnssMeasurement;
-Landroid/location/GnssMeasurementCorrections;
-Landroid/location/IBatchedLocationCallback$Stub$Proxy;
-Landroid/location/ICountryListener$Stub;
-Landroid/location/ICountryListener$Stub$Proxy;
-Landroid/location/IFusedGeofenceHardware$Stub;
-Landroid/location/IFusedGeofenceHardware$Stub$Proxy;
-Landroid/location/IGeocodeProvider;
-Landroid/location/IGeocodeProvider$Stub;
-Landroid/location/IGeocodeProvider$Stub$Proxy;
-Landroid/location/IGeofenceProvider;
-Landroid/location/IGeofenceProvider$Stub;
-Landroid/location/IGeofenceProvider$Stub$Proxy;
-Landroid/location/IGnssMeasurementsListener$Stub$Proxy;
-Landroid/location/IGnssNavigationMessageListener$Stub$Proxy;
-Landroid/location/IGnssStatusListener$Stub$Proxy;
-Landroid/location/IGpsGeofenceHardware$Stub$Proxy;
-Landroid/location/ILocationListener$Stub$Proxy;
-Landroid/location/LocationManager$GnssStatusListenerTransport$1;
-Landroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;
-[Landroid/media/AudioDeviceInfo;
-Landroid/media/AudioFocusInfo;
-Landroid/media/AudioFocusRequest;
-Landroid/media/AudioManager$BlockingFocusResultReceiver;
-Landroid/media/AudioManager$SafeWaitObject;
-[Landroid/media/AudioPatch;
-Landroid/media/audiopolicy/AudioPolicyConfig;
-Landroid/media/audiopolicy/IAudioPolicyCallback;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;
-Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;
-[Landroid/media/AudioPort;
-Landroid/media/AudioRecordingMonitorImpl;
-Landroid/media/AudioRecordingMonitorImpl$1;
-[Landroid/media/ExifInterface$Rational;
-Landroid/media/ExifInterface$Rational;
-Landroid/media/IAudioFocusDispatcher$Stub$Proxy;
-Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;
-Landroid/media/IMediaRouter2Client$Stub;
-Landroid/media/IMediaRouter2Client$Stub$Proxy;
-Landroid/media/IMediaRouter2Manager$Stub;
-Landroid/media/IMediaRouter2Manager$Stub$Proxy;
-Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;
-Landroid/media/IRecordingConfigDispatcher$Stub$Proxy;
-Landroid/media/IRemoteVolumeController$Stub$Proxy;
-Landroid/media/IVolumeController$Stub$Proxy;
-Landroid/media/MediaCodec$BufferMap$CodecBuffer;
-[Landroid/media/MediaCodecInfo;
-[Landroid/media/MediaCodecInfo$CodecCapabilities;
-[Landroid/media/MediaCodecInfo$CodecProfileLevel;
-Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;
-Landroid/media/MediaHTTPService;
-Landroid/media/MediaPlayer$6;
-Landroid/media/MediaPlayer$DrmInfo;
-Landroid/media/MediaPlayer$EventHandler$1;
-Landroid/media/MediaPlayer$EventHandler$2;
-[Landroid/media/MediaPlayer$TrackInfo;
-Landroid/media/MediaPlayer$TrackInfo;
-Landroid/media/MediaRoute2Info;
-Landroid/media/MediaRouter$RouteGroup;
-Landroid/media/MediaRouterClientState;
-Landroid/media/MediaRouterClientState$RouteInfo;
-[Landroid/media/MediaTimeProvider$OnMediaTimeListener;
-Landroid/media/NativeRoutingEventHandlerDelegate;
-Landroid/media/projection/IMediaProjection$Stub;
-Landroid/media/projection/IMediaProjection$Stub$Proxy;
-Landroid/media/projection/IMediaProjectionManager$Stub$Proxy;
-Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;
-Landroid/media/projection/MediaProjectionManager$CallbackDelegate;
-Landroid/media/Rating;
-Landroid/media/Ringtone;
-Landroid/media/Session2Token;
-Landroid/media/session/IActiveSessionsListener$Stub$Proxy;
-Landroid/media/session/ICallback$Stub$Proxy;
-Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;
-Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;
-Landroid/media/session/ISessionCallback$Stub$Proxy;
-Landroid/media/session/ISessionControllerCallback$Stub$Proxy;
-Landroid/media/session/MediaController$PlaybackInfo;
-Landroid/media/session/MediaSessionManager$CallbackStub;
-Landroid/media/SubtitleController;
-Landroid/media/SubtitleController$2;
-Landroid/media/SubtitleData;
-Landroid/media/SubtitleTrack;
-Landroid/media/TimedMetaData;
-Landroid/media/TimedText;
-Landroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;
-Landroid/net/-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI;
-Landroid/net/-$$Lambda$NetworkStats$xvFSsVoR0k5s7Fhw1yPDPVIpx8A;
-Landroid/net/ConnectionInfo;
-Landroid/net/DataUsageRequest;
-Landroid/net/EventLogTags;
-Landroid/net/IIpConnectivityMetrics$Stub$Proxy;
-Landroid/net/INetdEventCallback$Stub$Proxy;
-Landroid/net/INetworkManagementEventObserver$Stub$Proxy;
-Landroid/net/INetworkPolicyListener$Stub$Proxy;
-Landroid/net/INetworkRecommendationProvider;
-Landroid/net/INetworkRecommendationProvider$Stub;
-Landroid/net/INetworkRecommendationProvider$Stub$Proxy;
-Landroid/net/INetworkScoreCache$Stub$Proxy;
-Landroid/net/ISocketKeepaliveCallback$Stub;
-Landroid/net/ISocketKeepaliveCallback$Stub$Proxy;
-Landroid/net/ITetheringEventCallback$Stub;
-Landroid/net/ITetheringEventCallback$Stub$Proxy;
-Landroid/net/ITetheringStatsProvider$Stub$Proxy;
-Landroid/net/LinkProperties$CompareResult;
-Landroid/net/metrics/ApfStats;
-Landroid/net/metrics/ConnectStats;
-Landroid/net/metrics/DhcpClientEvent;
-Landroid/net/metrics/DnsEvent;
-Landroid/net/metrics/IpManagerEvent;
-Landroid/net/metrics/IpReachabilityEvent;
-Landroid/net/metrics/NetworkEvent;
-Landroid/net/metrics/NetworkMetrics$Metrics;
-Landroid/net/metrics/NetworkMetrics$Summary;
-Landroid/net/metrics/RaEvent;
-Landroid/net/metrics/ValidationProbeEvent;
-Landroid/net/metrics/WakeupStats;
-[Landroid/net/Network;
-[Landroid/net/NetworkCapabilities;
-[Landroid/net/NetworkKey;
-[Landroid/net/NetworkPolicy;
-Landroid/net/NetworkPolicyManager$1;
-[Landroid/net/NetworkState;
-Landroid/net/NetworkStatsHistory$Entry;
-Landroid/net/NetworkStatsHistory$ParcelUtils;
-Landroid/net/nsd/INsdManager$Stub$Proxy;
-Landroid/net/nsd/NsdManager$ServiceHandler;
-Landroid/net/PacProxySelector;
-Landroid/net/RssiCurve;
-[Landroid/net/ScoredNetwork;
-Landroid/net/shared/Inet4AddressUtils;
-Landroid/net/shared/InetAddressUtils;
-Landroid/net/sip/ISipService$Stub$Proxy;
-Landroid/net/SntpClient;
-Landroid/net/SntpClient$InvalidServerReplyException;
-Landroid/net/StaticIpConfiguration$Builder;
-[Landroid/net/UidRange;
-[Landroid/net/Uri;
-[Landroid/net/wifi/AnqpInformationElement;
-Landroid/net/wifi/AnqpInformationElement;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub;
-Landroid/net/wifi/hotspot2/IProvisioningCallback$Stub$Proxy;
-Landroid/net/wifi/IDppCallback$Stub;
-Landroid/net/wifi/IDppCallback$Stub$Proxy;
-Landroid/net/wifi/INetworkRequestMatchCallback$Stub;
-Landroid/net/wifi/INetworkRequestMatchCallback$Stub$Proxy;
-Landroid/net/wifi/IOnWifiUsabilityStatsListener$Stub;
-Landroid/net/wifi/IOnWifiUsabilityStatsListener$Stub$Proxy;
-Landroid/net/wifi/ISoftApCallback$Stub$Proxy;
-Landroid/net/wifi/ITrafficStateCallback$Stub$Proxy;
-Landroid/net/wifi/IWifiScanner$Stub$Proxy;
-Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;
-Landroid/net/wifi/rtt/IRttCallback$Stub;
-Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;
-Landroid/net/wifi/rtt/RangingRequest;
-[Landroid/net/wifi/ScanResult$InformationElement;
-[Landroid/net/wifi/ScanResult$RadioChainInfo;
-Landroid/net/wifi/SupplicantState$2;
-Landroid/net/wifi/WifiConfiguration$KeyMgmt;
-Landroid/net/wifi/WifiManager$MulticastLock;
-Landroid/net/wifi/WifiManager$SoftApCallbackProxy;
-Landroid/net/wifi/WifiManager$TrafficStateCallbackProxy;
-Landroid/net/wifi/WifiNetworkScoreCache$CacheListener$1;
-Landroid/net/wifi/WifiNetworkSpecifier;
-Landroid/net/wifi/WifiNetworkSuggestion;
-[Landroid/net/wifi/WifiScanner$ChannelSpec;
-Landroid/net/wifi/WifiScanner$OperationResult;
-Landroid/net/wifi/WifiScanner$ParcelableScanData;
-Landroid/net/wifi/WifiScanner$ParcelableScanResults;
-[Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;
-Landroid/net/wifi/WifiScanner$ScanSettings$HiddenNetwork;
-Landroid/nfc/BeamShareData;
-Landroid/nfc/IAppCallback$Stub$Proxy;
-Landroid/nfc/INfcUnlockHandler$Stub;
-Landroid/nfc/INfcUnlockHandler$Stub$Proxy;
-Landroid/nfc/ITagRemovedCallback$Stub;
-Landroid/nfc/ITagRemovedCallback$Stub$Proxy;
-Landroid/nfc/Tag;
-Landroid/nfc/TechListParcel;
-Landroid/os/-$$Lambda$HidlSupport$GHxmwrIWiKN83tl6aMQt_nV5hiw;
-Landroid/os/-$$Lambda$PowerManager$WakeLock$VvFzmRZ4ZGlXx7u3lSAJ_T-YUjw;
-Landroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$FxZGA9KtfTewqdcxlUwvIe5Nx9I;
-Landroid/os/-$$Lambda$StrictMode$UFC_nI1x6u8ZwMQmA7bmj9NHZz4;
-Landroid/os/AsyncTask$5;
-Landroid/os/BatteryProperty;
-Landroid/os/BatterySaverPolicyConfig;
-Landroid/os/BatteryStats$2;
-Landroid/os/BatteryStats$HistoryPrinter;
-[Landroid/os/Bundle;
-Landroid/os/connectivity/CellularBatteryStats;
-Landroid/os/connectivity/GpsBatteryStats;
-Landroid/os/connectivity/WifiBatteryStats;
-[Landroid/os/Debug$MemoryInfo;
-Landroid/os/FileUtils$1;
-Landroid/os/GraphicsEnvironment$1;
-Landroid/os/health/HealthKeys$Constant;
-[Landroid/os/health/HealthKeys$SortedIntArray;
-Landroid/os/health/HealthKeys$SortedIntArray;
-Landroid/os/health/HealthStatsWriter;
-Landroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;
-Landroid/os/IMaintenanceActivityListener$Stub;
-Landroid/os/IMaintenanceActivityListener$Stub$Proxy;
-Landroid/os/INetworkActivityListener;
-Landroid/os/INetworkActivityListener$Stub;
-Landroid/os/INetworkActivityListener$Stub$Proxy;
-Landroid/os/IProgressListener$Stub$Proxy;
-Landroid/os/IRemoteCallback$Stub$Proxy;
-Landroid/os/IServiceManager$Stub;
-Landroid/os/IServiceManager$Stub$Proxy;
-Landroid/os/IThermalEventListener$Stub$Proxy;
-Landroid/os/IThermalService$Stub$Proxy;
-Landroid/os/IThermalStatusListener$Stub$Proxy;
-Landroid/os/IVoldTaskListener$Stub;
-Landroid/os/IVoldTaskListener$Stub$Proxy;
-Landroid/os/MessageQueue$FileDescriptorRecord;
-[Landroid/os/MessageQueue$IdleHandler;
-Landroid/os/NetworkOnMainThreadException;
-[Landroid/os/Parcelable;
-[Landroid/os/ParcelFileDescriptor;
-[Landroid/os/ParcelUuid;
-[Landroid/os/PatternMatcher;
-[Landroid/os/PersistableBundle;
-[Landroid/os/RegistrantList;
-Landroid/os/RemoteCallback$1;
-Landroid/os/RemoteCallback$2;
-Landroid/os/SharedMemory$Closer;
-Landroid/os/SharedMemory$MemoryRegistration;
-Landroid/os/SharedMemory$Unmapper;
-Landroid/os/StatsDimensionsValue;
-[Landroid/os/storage/DiskInfo;
-Landroid/os/storage/IObbActionListener$Stub$Proxy;
-Landroid/os/storage/IStorageEventListener$Stub$Proxy;
-Landroid/os/storage/IStorageShutdownObserver$Stub;
-Landroid/os/storage/IStorageShutdownObserver$Stub$Proxy;
-[Landroid/os/storage/StorageVolume;
-[Landroid/os/storage/VolumeInfo;
-[Landroid/os/storage/VolumeRecord;
-Landroid/os/strictmode/ContentUriWithoutPermissionViolation;
-Landroid/os/strictmode/CredentialProtectedWhileLockedViolation;
-Landroid/os/strictmode/CustomViolation;
-Landroid/os/strictmode/DiskWriteViolation;
-Landroid/os/strictmode/ExplicitGcViolation;
-Landroid/os/strictmode/ImplicitDirectBootViolation;
-Landroid/os/strictmode/IntentReceiverLeakedViolation;
-Landroid/os/strictmode/LeakedClosableViolation;
-Landroid/os/strictmode/NetworkViolation;
-Landroid/os/strictmode/ResourceMismatchViolation;
-Landroid/os/strictmode/ServiceConnectionLeakedViolation;
-Landroid/os/strictmode/SqliteObjectLeakedViolation;
-Landroid/os/strictmode/UnbufferedIoViolation;
-Landroid/os/strictmode/UntaggedSocketViolation;
-Landroid/os/SystemService;
-Landroid/os/SystemService$State;
-[Landroid/os/WorkSource;
-Landroid/permission/-$$Lambda$PermissionControllerManager$Iy-7wiKMCV-MFSPGyIJxP_DSf8E;
-Landroid/permission/-$$Lambda$PermissionControllerManager$yYvntg8BoN_6kTWlcdYA7GFZJjs;
-Landroid/permission/IPermissionController$Stub;
-Landroid/permission/IPermissionManager$Stub;
-Landroid/permission/IPermissionManager$Stub$Proxy;
-Landroid/preference/PreferenceInflater;
-Landroid/preference/PreferenceScreen;
-Landroid/print/IPrintSpooler;
-Landroid/print/IPrintSpooler$Stub;
-Landroid/print/IPrintSpooler$Stub$Proxy;
-Landroid/print/PrintJobInfo;
-Landroid/printservice/PrintServiceInfo;
-Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingEncoder;
-Landroid/privacy/internal/rappor/RapporConfig;
-Landroid/privacy/internal/rappor/RapporEncoder;
-Landroid/provider/BlockedNumberContract;
-Landroid/provider/BlockedNumberContract$SystemContract;
-Landroid/provider/ContactsContract$PhoneLookup;
-Landroid/provider/DeviceConfig$2;
-Landroid/provider/Downloads;
-[Landroid/provider/FontsContract$FontInfo;
-Landroid/provider/Telephony$Mms;
-Landroid/security/IKeyChainService$Stub;
-Landroid/security/IKeyChainService$Stub$Proxy;
-Landroid/security/keymaster/KeymasterBooleanArgument;
-Landroid/security/keymaster/KeymasterDateArgument;
-Landroid/security/keymaster/KeymasterDefs;
-Landroid/security/keymaster/KeymasterLongArgument;
-Landroid/security/KeyStore$KeyCharacteristicsCallbackResult;
-Landroid/security/KeyStore$KeyCharacteristicsPromise;
-Landroid/security/KeyStore$KeystoreResultPromise;
-Landroid/security/KeyStore$OperationPromise;
-Landroid/security/KeyStore$State;
-Landroid/security/keystore/AndroidKeyStoreLoadStoreParameter;
-Landroid/security/keystore/AndroidKeyStorePrivateKey;
-Landroid/security/keystore/AndroidKeyStoreSecretKey;
-Landroid/security/keystore/ArrayUtils;
-Landroid/security/keystore/KeyProperties$Digest;
-Landroid/security/keystore/KeyStoreConnectException;
-Landroid/security/keystore/KeystoreResponse;
-Landroid/security/keystore/recovery/KeyChainProtectionParams;
-Landroid/security/keystore/recovery/KeyChainSnapshot;
-Landroid/security/keystore/recovery/KeyDerivationParams;
-Landroid/security/keystore/recovery/RecoveryCertPath;
-Landroid/security/keystore/recovery/WrappedApplicationKey;
-Landroid/security/keystore/recovery/X509CertificateParsingUtils;
-Landroid/security/keystore/UserNotAuthenticatedException;
-Landroid/security/keystore/Utils;
-Landroid/security/net/config/Domain;
-Landroid/security/net/config/ResourceCertificateSource;
-Landroid/security/net/config/TrustedCertificateStoreAdapter;
-Landroid/security/net/config/UserCertificateSource$NoPreloadHolder;
-Landroid/security/net/config/WfaCertificateSource;
-Landroid/security/net/config/WfaCertificateSource$NoPreloadHolder;
-Landroid/service/appprediction/IPredictionService;
-Landroid/service/appprediction/IPredictionService$Stub;
-Landroid/service/appprediction/IPredictionService$Stub$Proxy;
-Landroid/service/autofill/augmented/IAugmentedAutofillService;
-Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub;
-Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;
-Landroid/service/autofill/AutofillServiceInfo;
-Landroid/service/autofill/FillResponse;
-Landroid/service/autofill/IAutoFillService;
-Landroid/service/autofill/IAutoFillService$Stub;
-Landroid/service/autofill/IAutoFillService$Stub$Proxy;
-Landroid/service/autofill/UserData;
-Landroid/service/contentcapture/ContentCaptureServiceInfo;
-Landroid/service/contentcapture/FlushMetrics;
-Landroid/service/contentcapture/IContentCaptureService;
-Landroid/service/contentcapture/IContentCaptureService$Stub;
-Landroid/service/contentcapture/IContentCaptureService$Stub$Proxy;
-Landroid/service/dreams/IDreamService;
-Landroid/service/dreams/IDreamService$Stub;
-Landroid/service/dreams/IDreamService$Stub$Proxy;
-[Landroid/service/euicc/EuiccProfileInfo;
-Landroid/service/gatekeeper/GateKeeperResponse;
-[Landroid/service/notification/Condition;
-Landroid/service/notification/IConditionProvider$Stub$Proxy;
-Landroid/service/notification/INotificationListener$Stub$Proxy;
-Landroid/service/notification/ScheduleCalendar;
-Landroid/service/notification/SnoozeCriterion;
-[Landroid/service/notification/StatusBarNotification;
-[Landroid/service/notification/ZenModeConfig$ZenRule;
-Landroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;
-Landroid/service/textclassifier/ITextClassifierCallback$Stub;
-Landroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;
-Landroid/service/trust/ITrustAgentService;
-Landroid/service/trust/ITrustAgentService$Stub;
-Landroid/service/trust/ITrustAgentService$Stub$Proxy;
-Landroid/service/voice/IVoiceInteractionService$Stub$Proxy;
-Landroid/service/voice/IVoiceInteractionSession$Stub;
-Landroid/service/voice/IVoiceInteractionSession$Stub$Proxy;
-Landroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;
-Landroid/service/voice/VoiceInteractionServiceInfo;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;
-Landroid/service/vr/IVrManager$Stub$Proxy;
-Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;
-Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;
-Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;
-Landroid/stats/devicepolicy/nano/StringList;
-Landroid/sysprop/ProductProperties;
-[Landroid/system/StructPollfd;
-Landroid/system/suspend/WakeLockInfo;
-Landroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;
-Landroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;
-Landroid/telecom/AudioState;
-Landroid/telecom/Conference;
-Landroid/telecom/Conferenceable;
-Landroid/telecom/Connection;
-Landroid/telecom/Connection$FailureSignalingConnection;
-Landroid/telecom/ConnectionRequest;
-Landroid/telecom/ConnectionService$1;
-Landroid/telecom/ConnectionService$2;
-Landroid/telecom/ConnectionService$3;
-Landroid/telecom/ConnectionService$4;
-Landroid/telecom/ConnectionService$5;
-Landroid/telecom/ConnectionServiceAdapter;
-Landroid/telecom/DisconnectCause;
-Landroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;
-Landroid/telecom/Logging/-$$Lambda$SessionManager$hhtZwTEbvO-fLNlAvB6Do9_2gW4;
-Landroid/telecom/Logging/-$$Lambda$SessionManager$VyH2gT1EjIvzDy_C9JfTT60CISM;
-Landroid/telecom/Logging/EventManager;
-Landroid/telecom/Logging/EventManager$Event;
-Landroid/telecom/Logging/EventManager$EventListener;
-Landroid/telecom/Logging/EventManager$EventRecord;
-Landroid/telecom/Logging/Runnable;
-Landroid/telecom/Logging/Runnable$1;
-Landroid/telecom/Logging/Session;
-Landroid/telecom/Logging/Session$Info;
-Landroid/telecom/Logging/SessionManager;
-Landroid/telecom/Logging/SessionManager$ISessionListener;
-Landroid/telecom/ParcelableConference;
-Landroid/telecom/ParcelableConnection;
-Landroid/telecom/RemoteConnectionManager;
-Landroid/telecom/StatusHints;
-Landroid/telecom/VideoProfile;
-Landroid/telephony/-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY;
-Landroid/telephony/-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$0s34qsuHFsa43jUHrTkD62ni6Ds;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2VMO21pFQN-JN3kpn6vQN1zPFEU;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$4NHt5Shg_DHV-T1IxfcQLHP5-j0;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$aysbwPqxcLV_5w6LP0TzZu2D-ew;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$bELzxgwsPigyVKYkAXBO2BjcSm8;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$dUc3j82sK9P9Zpaq-91n9bk_Rpc;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$ipH9N0fJiGE9EBJHahQeXcCZXzo;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$JalixlMNdjktPsNntP_JT9pymhs;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$jlNX9JiqGSNg9W49vDcKucKdeCI;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$nnG75RvQ1_1KZGJk1ySeCH1JJRg;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$XyayAGWQZC2dNjwr697SfSGBBOc;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;
-Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$YY3srkIkMm8vTSFJZHoiKzUUrGs;
-Landroid/telephony/AccessNetworkConstants$AccessNetworkType;
-Landroid/telephony/cdma/CdmaCellLocation;
-Landroid/telephony/CellConfigLte;
-Landroid/telephony/CellIdentityCdma;
-Landroid/telephony/CellIdentityGsm;
-Landroid/telephony/CellIdentityNr;
-Landroid/telephony/CellIdentityTdscdma;
-Landroid/telephony/CellInfoCdma;
-Landroid/telephony/CellInfoGsm;
-Landroid/telephony/CellInfoNr;
-Landroid/telephony/CellInfoTdscdma;
-Landroid/telephony/CellInfoWcdma;
-Landroid/telephony/DataConnectionRealTimeInfo;
-[Landroid/telephony/data/DataProfile;
-Landroid/telephony/data/DataService$DataCallListChangedIndication;
-Landroid/telephony/data/DataService$DeactivateDataCallRequest;
-Landroid/telephony/DataFailCause$1;
-Landroid/telephony/data/IDataService$Stub$Proxy;
-Landroid/telephony/ICellInfoCallback$Stub;
-Landroid/telephony/ICellInfoCallback$Stub$Proxy;
-Landroid/telephony/IFinancialSmsCallback$Stub;
-Landroid/telephony/IFinancialSmsCallback$Stub$Proxy;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$8xq93ap6i0L56Aegaj-ZEUt9ISc;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$AhnK6VJjwgpDNC1GXRrwfgtYvkM;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$iuI3HyNU5eUABA_QRyzQ8Jw2-8g;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$J4VhgcUtd6SivHcdkzpurbTuyLc;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$jAP4lCkBQEdyrlgt5jaNPTlFXlY;
-Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$oDp7ilyKfflFThUCP4Du9EYoDoQ;
-Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsConfig$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsConfigCallback$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsMmTelListener$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;
-Landroid/telephony/ims/aidl/IImsSmsListener$Stub$Proxy;
-[Landroid/telephony/ims/ImsCallForwardInfo;
-Landroid/telephony/ims/ImsExternalCallState;
-[Landroid/telephony/ims/ImsSsInfo;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0;
-Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s;
-Landroid/telephony/INetworkService$Stub$Proxy;
-Landroid/telephony/JapanesePhoneNumberFormatter;
-Landroid/telephony/NeighboringCellInfo;
-Landroid/telephony/PhysicalChannelConfig$Builder;
-[Landroid/telephony/RadioAccessFamily;
-Landroid/telephony/SmsMessage;
-Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;
-Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener$1;
-[Landroid/telephony/SubscriptionPlan;
-Landroid/telephony/SubscriptionPlan;
-[Landroid/telephony/UiccAccessRule;
-Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
-Landroid/text/CharSequenceCharacterIterator;
-[Landroid/text/DynamicLayout$ChangeWatcher;
-[Landroid/text/FontConfig$Alias;
-[Landroid/text/FontConfig$Family;
-[Landroid/text/FontConfig$Font;
-Landroid/text/format/Formatter$BytesResult;
-Landroid/text/HtmlToSpannedConverter$Big;
-Landroid/text/HtmlToSpannedConverter$Blockquote;
-Landroid/text/HtmlToSpannedConverter$Bold;
-Landroid/text/HtmlToSpannedConverter$Bullet;
-Landroid/text/HtmlToSpannedConverter$Heading;
-Landroid/text/HtmlToSpannedConverter$Italic;
-Landroid/text/HtmlToSpannedConverter$Monospace;
-Landroid/text/HtmlToSpannedConverter$Small;
-Landroid/text/HtmlToSpannedConverter$Strikethrough;
-Landroid/text/HtmlToSpannedConverter$Sub;
-Landroid/text/HtmlToSpannedConverter$Super;
-Landroid/text/HtmlToSpannedConverter$Underline;
-[Landroid/text/Layout$Directions;
-Landroid/text/Layout$HorizontalMeasurementProvider;
-Landroid/text/Layout$TabStops;
-Landroid/text/method/DateKeyListener;
-Landroid/text/method/DateTimeKeyListener;
-Landroid/text/method/DialerKeyListener;
-Landroid/text/method/DigitsKeyListener;
-Landroid/text/method/TimeKeyListener;
-[Landroid/text/PrecomputedText$ParagraphInfo;
-Landroid/text/PrecomputedText$Params$Builder;
-[Landroid/text/Selection$MemoryTextWatcher;
-[Landroid/text/SpanWatcher;
-Landroid/text/style/AccessibilityClickableSpan;
-Landroid/text/style/AccessibilityURLSpan;
-[Landroid/text/style/AlignmentSpan;
-Landroid/text/style/AlignmentSpan$Standard;
-Landroid/text/style/BulletSpan;
-[Landroid/text/style/CharacterStyle;
-[Landroid/text/style/ClickableSpan;
-[Landroid/text/style/LeadingMarginSpan;
-Landroid/text/style/LeadingMarginSpan$LeadingMarginSpan2;
-Landroid/text/style/LeadingMarginSpan$Standard;
-[Landroid/text/style/LineBackgroundSpan;
-Landroid/text/style/LineBackgroundSpan$Standard;
-[Landroid/text/style/LineHeightSpan;
-Landroid/text/style/LineHeightSpan$Standard;
-Landroid/text/style/LineHeightSpan$WithDensity;
-Landroid/text/style/LocaleSpan;
-[Landroid/text/style/MetricAffectingSpan;
-Landroid/text/style/QuoteSpan;
-[Landroid/text/style/ReplacementSpan;
-Landroid/text/style/ScaleXSpan;
-[Landroid/text/style/SpellCheckSpan;
-Landroid/text/style/StrikethroughSpan;
-Landroid/text/style/SubscriptSpan;
-Landroid/text/style/SuggestionRangeSpan;
-[Landroid/text/style/SuggestionSpan;
-Landroid/text/style/SuperscriptSpan;
-[Landroid/text/style/TabStopSpan;
-Landroid/text/style/TtsSpan;
-Landroid/text/style/TtsSpan$TelephoneBuilder;
-Landroid/text/style/TypefaceSpan;
-[Landroid/text/TextWatcher;
-Landroid/text/util/Linkify;
-Landroid/transition/ArcMotion;
-Landroid/transition/ChangeScroll;
-Landroid/transition/CircularPropagation;
-Landroid/transition/Explode;
-Landroid/transition/PatternPathMotion;
-Landroid/transition/Recolor;
-Landroid/transition/Slide;
-Landroid/util/apk/ApkSigningBlockUtils$1;
-[Landroid/util/apk/DataSource;
-Landroid/util/apk/VerityBuilder$BufferedDigester;
-Landroid/util/apk/VerityBuilder$VerityResult;
-[Landroid/util/ArrayMap;
-Landroid/util/BackupUtils;
-Landroid/util/Half;
-Landroid/util/JsonWriter$1;
-Landroid/util/KeyValueSettingObserver;
-Landroid/util/KeyValueSettingObserver$SettingObserver;
-Landroid/util/LauncherIcons;
-Landroid/util/LogWriter;
-Landroid/util/LongArrayQueue;
-Landroid/util/proto/EncodedBuffer;
-Landroid/util/RecurrenceRule;
-Landroid/util/RecurrenceRule$NonrecurringIterator;
-Landroid/util/RecurrenceRule$RecurringIterator;
-Landroid/util/Spline$LinearSpline;
-Landroid/util/UtilConfig;
-Landroid/view/-$$Lambda$1kvF4JuyM42-wmyDVPAIYdPz1jE;
-Landroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;
-Landroid/view/-$$Lambda$dj1hfDQd0iEp_uBDBPEUMMYJJwk;
-Landroid/view/-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g;
-Landroid/view/-$$Lambda$SurfaceView$w68OV7dB_zKVNsA-r0IrAUtyWas;
-Landroid/view/-$$Lambda$ThreadedRenderer$ydBD-R1iP5u-97XYakm-jKvC1b4;
-Landroid/view/-$$Lambda$ViewRootImpl$dznxCZGM2R1fsBljsJKomLjBRoM;
-Landroid/view/-$$Lambda$ViewRootImpl$IReiNMSbDakZSGbIZuL_ifaFWn8;
-Landroid/view/-$$Lambda$ViewRootImpl$YBiqAhbCbXVPSKdbE3K4rH2gpxI;
-Landroid/view/-$$Lambda$ViewRootImpl$zlBUjCwDtoAWMNaHI62DIq-eKFY;
-Landroid/view/-$$Lambda$WindowManagerGlobal$2bR3FsEm4EdRwuXfttH0wA2xOW4;
-Landroid/view/-$$Lambda$WlJa6OPA72p3gYtA3nVKC7Z1tGY;
-Landroid/view/accessibility/-$$Lambda$AccessibilityManager$1$o7fCplskH9NlBwJvkl6NoZ0L_BA;
-Landroid/view/accessibility/-$$Lambda$AccessibilityManager$yzw5NYY7_MfAQ9gLy3mVllchaXo;
-Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;
-Landroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;
-Landroid/view/accessibility/WeakSparseArray;
-Landroid/view/accessibility/WeakSparseArray$WeakReferenceWithId;
-Landroid/view/animation/AnticipateInterpolator;
-Landroid/view/animation/AnticipateOvershootInterpolator;
-Landroid/view/animation/BounceInterpolator;
-Landroid/view/animation/ClipRectAnimation;
-Landroid/view/animation/CycleInterpolator;
-Landroid/view/animation/GridLayoutAnimationController;
-Landroid/view/animation/RotateAnimation;
-[Landroid/view/AppTransitionAnimationSpec;
-Landroid/view/AppTransitionAnimationSpec;
-Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;
-[Landroid/view/Choreographer$CallbackQueue;
-Landroid/view/contentcapture/ContentCaptureCondition;
-Landroid/view/contentcapture/ContentCaptureContext;
-Landroid/view/contentcapture/DataRemovalRequest;
-[Landroid/view/Display;
-Landroid/view/DragEvent;
-Landroid/view/GestureExclusionTracker$GestureExclusionViewInfo;
-[Landroid/view/HandlerActionQueue$HandlerAction;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;
-Landroid/view/IAppTransitionAnimationSpecsFuture$Stub$Proxy;
-Landroid/view/IDisplayFoldListener$Stub;
-Landroid/view/IDisplayFoldListener$Stub$Proxy;
-Landroid/view/IDockedStackListener$Stub$Proxy;
-Landroid/view/IGraphicsStatsCallback$Stub$Proxy;
-Landroid/view/inputmethod/-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0;
-Landroid/view/inputmethod/-$$Lambda$InputMethodManager$iDWn3IGSUFqIcs8Py42UhfrshxI;
-[Landroid/view/inputmethod/CompletionInfo;
-Landroid/view/inputmethod/CompletionInfo;
-Landroid/view/inputmethod/CorrectionInfo;
-Landroid/view/inputmethod/CursorAnchorInfo;
-Landroid/view/inputmethod/ExtractedTextRequest;
-Landroid/view/inputmethod/InputContentInfo;
-Landroid/view/inputmethod/InputMethod;
-Landroid/view/inputmethod/InputMethodSession;
-[Landroid/view/inputmethod/InputMethodSubtype;
-[Landroid/view/InsetsSourceControl;
-Landroid/view/InsetsSourceControl;
-Landroid/view/IOnKeyguardExitResult$Stub;
-Landroid/view/IOnKeyguardExitResult$Stub$Proxy;
-Landroid/view/IPinnedStackController$Stub$Proxy;
-Landroid/view/IPinnedStackListener$Stub$Proxy;
-Landroid/view/IRecentsAnimationRunner;
-Landroid/view/IRecentsAnimationRunner$Stub;
-Landroid/view/IRecentsAnimationRunner$Stub$Proxy;
-Landroid/view/IRemoteAnimationRunner$Stub;
-Landroid/view/IRemoteAnimationRunner$Stub$Proxy;
-Landroid/view/IRotationWatcher$Stub$Proxy;
-Landroid/view/ISystemGestureExclusionListener$Stub;
-Landroid/view/ISystemGestureExclusionListener$Stub$Proxy;
-Landroid/view/IWindow$Stub$Proxy;
-Landroid/view/IWindowSessionCallback$Stub$Proxy;
-Landroid/view/KeyCharacterMap$UnavailableException;
-Landroid/view/LayoutInflater$BlinkLayout;
-Landroid/view/LayoutInflater$BlinkLayout$1;
-Landroid/view/MenuInflater$InflatedOnMenuItemClickListener;
-[Landroid/view/MotionEvent$PointerCoords;
-[Landroid/view/MotionEvent$PointerProperties;
-Landroid/view/PointerIcon$2;
-Landroid/view/RemotableViewMethod;
-Landroid/view/RemoteAnimationDefinition;
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;
-Landroid/view/RenderNodeAnimator$DelayedAnimationHelper;
-Landroid/view/RoundScrollbarRenderer;
-Landroid/view/SoundEffectConstants;
-Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;
-Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$sY0w9od2zcl4YFel0lG4VB3vf7I;
-Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk;
-Landroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;
-Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$oweIEhDWxy3_0kZSXp3oRbSuNW4;
-Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$SIydN2POphTO3AmPTLEMmXPLSKY;
-Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;
-Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$iSt_Guet-O6Vtdk0MA4z-Z4lzaM;
-Landroid/view/textclassifier/ActionsModelParamsSupplier;
-Landroid/view/textclassifier/ActionsModelParamsSupplier$ActionsModelParams;
-Landroid/view/textclassifier/ActionsSuggestionsHelper;
-Landroid/view/textclassifier/ActionsSuggestionsHelper$PersonEncoder;
-Landroid/view/textclassifier/ConversationAction;
-Landroid/view/textclassifier/ConversationAction$Builder;
-Landroid/view/textclassifier/ConversationActions$Message;
-Landroid/view/textclassifier/ConversationActions$Request;
-Landroid/view/textclassifier/ExtrasUtils;
-Landroid/view/textclassifier/intent/LabeledIntent;
-Landroid/view/textclassifier/intent/LabeledIntent$Result;
-Landroid/view/textclassifier/Log;
-Landroid/view/textclassifier/ModelFileManager$ModelFile;
-Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;
-Landroid/view/textclassifier/SystemTextClassifier$BlockingCallback;
-Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
-Landroid/view/textclassifier/TextClassification$Request;
-Landroid/view/textclassifier/TextClassificationContext;
-Landroid/view/textclassifier/TextClassificationContext$Builder;
-Landroid/view/textclassifier/TextClassificationSessionId;
-Landroid/view/textclassifier/TextClassifier$EntityConfig;
-Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;
-Landroid/view/textclassifier/TextClassifier$Utils;
-Landroid/view/textclassifier/TextClassifierEvent;
-Landroid/view/textclassifier/TextClassifierEvent$ConversationActionsEvent;
-Landroid/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent;
-Landroid/view/textclassifier/TextClassifierEvent$TextLinkifyEvent;
-Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent;
-Landroid/view/textclassifier/TextLanguage;
-Landroid/view/textclassifier/TextLanguage$Builder;
-Landroid/view/textclassifier/TextLanguage$Request;
-Landroid/view/textclassifier/TextLanguage$Request$Builder;
-Landroid/view/textclassifier/TextLinks$Request;
-Landroid/view/textclassifier/TextSelection$Request;
-[Landroid/view/View;
-[Landroid/view/View$AttachInfo$InvalidateInfo;
-Landroid/view/View$AttachInfo$InvalidateInfo;
-Landroid/view/View$CheckForLongPress;
-Landroid/view/View$DeclaredOnClickListener;
-Landroid/view/ViewGroup$ChildListForAccessibility;
-Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;
-Landroid/view/ViewPropertyAnimator$2;
-Landroid/view/ViewPropertyAnimator$3;
-Landroid/view/ViewRootImpl$2;
-Landroid/view/ViewRootImpl$3;
-Landroid/view/ViewRootImpl$CalledFromWrongThreadException;
-Landroid/view/ViewRootImpl$TakenSurfaceHolder;
-Landroid/view/ViewStructure$HtmlInfo;
-Landroid/view/ViewStub$ViewReplaceRunnable;
-Landroid/view/ViewTreeObserver$OnEnterAnimationCompleteListener;
-Landroid/view/ViewTreeObserver$OnWindowAttachListener;
-Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;
-Landroid/view/ViewTreeObserver$OnWindowShownListener;
-Landroid/view/WindowInsets$Builder;
-Landroid/view/WindowManager$InvalidDisplayException;
-Landroid/widget/-$$Lambda$RemoteViews$SetOnClickResponse$9rKnU2QqCzJhBC39ZrKYXob0-MA;
-Landroid/widget/AbsListView$1;
-Landroid/widget/AbsListView$2;
-Landroid/widget/AbsListView$4;
-Landroid/widget/AbsListView$CheckForTap;
-Landroid/widget/AbsListView$ListItemAccessibilityDelegate;
-Landroid/widget/AbsListView$SelectionBoundsAdjuster;
-Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;
-Landroid/widget/ActionMenuView$ActionMenuPresenterCallback;
-Landroid/widget/Chronometer;
-Landroid/widget/Chronometer$1;
-Landroid/widget/Editor$EasyEditPopupWindow;
-Landroid/widget/Editor$SpanController$1;
-Landroid/widget/Editor$SpanController$2;
-[Landroid/widget/Editor$TextRenderNode;
-[Landroid/widget/Editor$TextViewPositionListener;
-Landroid/widget/GridLayout;
-Landroid/widget/GridLayout$7$1;
-[[Landroid/widget/GridLayout$Arc;
-[Landroid/widget/GridLayout$Arc;
-Landroid/widget/GridLayout$Axis;
-Landroid/widget/GridLayout$Axis$1;
-[Landroid/widget/GridLayout$Bounds;
-[Landroid/widget/GridLayout$Interval;
-Landroid/widget/GridLayout$LayoutParams;
-[Landroid/widget/GridLayout$MutableInt;
-[Landroid/widget/GridLayout$Spec;
-Landroid/widget/GridLayout$Spec;
-Landroid/widget/ImageView$ImageDrawableCallback;
-Landroid/widget/ListView$FocusSelector;
-Landroid/widget/PopupMenu$1;
-Landroid/widget/PopupMenu$2;
-Landroid/widget/PopupWindow$3;
-Landroid/widget/ProgressBar$ProgressTintInfo;
-Landroid/widget/ProgressBar$RefreshData;
-Landroid/widget/ProgressBar$RefreshProgressRunnable;
-Landroid/widget/RemoteViews$ActionException;
-Landroid/widget/RemoteViews$AsyncApplyTask;
-Landroid/widget/RemoteViews$MethodArgs;
-Landroid/widget/RemoteViews$OverrideTextColorsAction;
-Landroid/widget/RemoteViews$RemoteViewsContextWrapper;
-Landroid/widget/RemoteViews$RunnableAction;
-Landroid/widget/RemoteViews$SetEmptyView;
-Landroid/widget/RemoteViews$SetIntTagAction;
-Landroid/widget/RemoteViews$SetPendingIntentTemplate;
-Landroid/widget/RemoteViews$SetRemoteInputsAction;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterIntent;
-Landroid/widget/RemoteViews$SetRemoteViewsAdapterList;
-Landroid/widget/RemoteViews$SetRippleDrawableColor;
-Landroid/widget/RemoteViews$TextViewDrawableAction;
-Landroid/widget/RemoteViews$TextViewSizeAction;
-Landroid/widget/RemoteViews$ViewContentNavigation;
-Landroid/widget/RemoteViews$ViewGroupActionAdd;
-Landroid/widget/RemoteViews$ViewGroupActionRemove;
-[Landroid/widget/SpellChecker$SpellParser;
-Landroid/widget/Switch;
-Landroid/widget/TextView$1;
-[Landroid/widget/TextView$ChangeWatcher;
-Landroid/widget/TextView$Marquee;
-Landroid/widget/Toast$TN;
-Landroid/widget/Toast$TN$1;
-Landroid/widget/Toolbar$SavedState;
-Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;
-Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;
-Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano$OutOfSpaceException;
-Lcom/android/framework/protobuf/nano/WireFormatNano;
-Lcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;
-Lcom/android/i18n/phonenumbers/NumberParseException$ErrorType;
-Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat$Builder;
-Lcom/android/i18n/phonenumbers/ShortNumberInfo;
-Lcom/android/ims/-$$Lambda$ImsManager$_6YCQyhjHBSdrm4ZBEMUQ2AAqOY;
-Lcom/android/ims/ImsCall;
-Lcom/android/ims/ImsManager$2;
-Lcom/android/ims/internal/uce/common/UceLong;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub;
-Lcom/android/ims/internal/uce/options/IOptionsListener$Stub$Proxy;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;
-Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;
-Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;
-Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub$Proxy;
-Lcom/android/internal/accessibility/AccessibilityShortcutController$ToggleableFrameworkFeatureInfo;
-Lcom/android/internal/app/AlertController$1;
-Lcom/android/internal/app/AlertController$ButtonHandler;
-Lcom/android/internal/app/AlertController$RecycleListView;
-Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;
-Lcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;
-Lcom/android/internal/app/IVoiceActionCheckCallback$Stub;
-Lcom/android/internal/app/IVoiceActionCheckCallback$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;
-Lcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;
-Lcom/android/internal/app/IVoiceInteractor$Stub$Proxy;
-Lcom/android/internal/app/MicroAlertController;
-Lcom/android/internal/app/procstats/DumpUtils;
-Lcom/android/internal/app/procstats/IProcessStats$Stub$Proxy;
-Lcom/android/internal/app/procstats/ProcessState$PssAggr;
-Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;
-Lcom/android/internal/app/ResolverActivity$ActionTitle;
-Lcom/android/internal/app/ToolbarActionBar;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;
-Lcom/android/internal/app/WindowDecorActionBar;
-Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;
-Lcom/android/internal/content/PackageHelper$1;
-Lcom/android/internal/graphics/ColorUtils;
-Lcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;
-Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;
-Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;
-Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$ocrHd68Md9x6FfAzVQ6w8MAjFqY;
-Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$PendingRequest$IBoaBGXZQEXJr69u3aJF-LCJ42Y;
-Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;
-Lcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;
-Lcom/android/internal/infra/AbstractRemoteService$MyAsyncPendingRequest;
-Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;
-Lcom/android/internal/inputmethod/InputMethodDebug;
-Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;
-Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;
-Lcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;
-Lcom/android/internal/inputmethod/SubtypeLocaleUtils;
-Lcom/android/internal/location/ILocationProvider;
-Lcom/android/internal/location/ILocationProvider$Stub;
-Lcom/android/internal/location/ILocationProvider$Stub$Proxy;
-Lcom/android/internal/location/ILocationProviderManager$Stub$Proxy;
-Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
-Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
-Lcom/android/internal/net/INetworkWatchlistManager$Stub$Proxy;
-Lcom/android/internal/net/VpnConfig;
-[Lcom/android/internal/net/VpnInfo;
-Lcom/android/internal/net/VpnProfile;
-Lcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;
-Lcom/android/internal/os/-$$Lambda$sHtqZgGVjxOf9IJdAdZO6gwD_Do;
-Lcom/android/internal/os/BatteryStatsHelper$1;
-Lcom/android/internal/os/BatteryStatsImpl$3;
-Lcom/android/internal/os/BatteryStatsImpl$4;
-[Lcom/android/internal/os/BatteryStatsImpl$Counter;
-[[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
-[Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;
-Lcom/android/internal/os/BinderCallsStats$CallStatKey;
-Lcom/android/internal/os/BinderCallsStats$ExportedCallStat;
-Lcom/android/internal/os/BinderDeathDispatcher$RecipientsInfo;
-Lcom/android/internal/os/BinderInternal$CallSession;
-Lcom/android/internal/os/IShellCallback$Stub;
-Lcom/android/internal/os/IShellCallback$Stub$Proxy;
-[Lcom/android/internal/os/KernelCpuSpeedReader;
-Lcom/android/internal/os/KernelCpuThreadReader$ProcessCpuUsage;
-Lcom/android/internal/os/KernelCpuThreadReader$ThreadCpuUsage;
-Lcom/android/internal/os/LooperStats$ExportedEntry;
-[Lcom/android/internal/os/PowerProfile$CpuClusterKey;
-Lcom/android/internal/os/StatsdHiddenApiUsageLogger;
-Lcom/android/internal/os/TransferPipe;
-Lcom/android/internal/os/WifiPowerEstimator;
-Lcom/android/internal/os/WrapperInit;
-Lcom/android/internal/os/ZygoteSecurityException;
-Lcom/android/internal/os/ZygoteServer$UsapPoolRefillAction;
-Lcom/android/internal/policy/DecorView$2;
-Lcom/android/internal/policy/DecorView$3;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub;
-Lcom/android/internal/policy/IKeyguardExitCallback$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;
-Lcom/android/internal/policy/IKeyguardStateCallback$Stub$Proxy;
-Lcom/android/internal/policy/IShortcutService$Stub$Proxy;
-[Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
-Lcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState;
-Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;
-Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy;
-[Lcom/android/internal/statusbar/NotificationVisibility;
-Lcom/android/internal/statusbar/NotificationVisibility;
-[Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
-Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
-Lcom/android/internal/telecom/IConnectionService;
-Lcom/android/internal/telecom/IConnectionService$Stub;
-Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;
-Lcom/android/internal/telecom/IInCallService;
-Lcom/android/internal/telecom/IInCallService$Stub;
-Lcom/android/internal/telecom/IInCallService$Stub$Proxy;
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub;
-Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;
-Lcom/android/internal/telephony/-$$Lambda$MultiSimSettingController$55347QtGjuukX-px3jYZkJd_z3U;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1TnOMFYcM13ZTJNoLjxguPwVcxw;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$EYZUPU0CYhRoptGCGJ9y78u-jQM;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$Ja9yTBcEYPqTRBIP-hL0otixVeE;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$PONge0j2mBi_ILbtJD_7euF0uoM;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$rpyQeO7zACcc5v4krwU9_qRMHL8;
-Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;
-Lcom/android/internal/telephony/-$$Lambda$RadioIndication$GND6XxOOm1d_Ro76zEUFjA9OrEA;
-Lcom/android/internal/telephony/-$$Lambda$RIL$803u4JiCud_JSoDndvAhT13ZZqU;
-Lcom/android/internal/telephony/-$$Lambda$RIL$Ir4pOMTf7R0Jtw4O3F7JgMVtXO4;
-Lcom/android/internal/telephony/-$$Lambda$RIL$ZGWeCQ9boMO1_J1_yQ82l_jK-Nc;
-Lcom/android/internal/telephony/-$$Lambda$RIL$zYsQZAc3z9bM5fCaq_J0dn5kjjo;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$0y_j8vef67bMEiPQdeWyjuFpPQ8;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$DY4i_CG7hrAeejGLeh3hMUZySnw;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$ecTEeMEIjOEa2z5W3wjqiicibbY;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$qyDxq2AWyReUxdc6HttVGQeDD3Y;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$tLUuQ7lYu8EjRd038qzQlDm-CtA;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$UFyB0ValfLD0rdGDibCjTnGFkeo;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$Y5woGfEDKrozRViLH7WF93qPEno;
-Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$ZTY4uxKw17CHcHQzbBUF7m-dN-E;
-Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$09rMKC8001jAR0zFrzzlPx26Xjs;
-Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$UYUq9z2WZwxqOLXquU0tTNN9wAs;
-Lcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;
-Lcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;
-Lcom/android/internal/telephony/BlockChecker;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler$1;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler$CallerInfoWorkerHandler;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery$CookieWrapper;
-Lcom/android/internal/telephony/CallerInfoAsyncQuery$QueryPoolException;
-[Lcom/android/internal/telephony/CallForwardInfo;
-[Lcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;
-Lcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServiceConnection;
-Lcom/android/internal/telephony/CarrierServicesSmsFilter;
-Lcom/android/internal/telephony/CarrierServicesSmsFilter$CallbackTimeoutHandler;
-Lcom/android/internal/telephony/CarrierSmsUtils;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/BerTlv;
-Lcom/android/internal/telephony/cat/BIPClientParams;
-Lcom/android/internal/telephony/cat/CallSetupParams;
-Lcom/android/internal/telephony/cat/CatCmdMessage;
-Lcom/android/internal/telephony/cat/CatResponseMessage;
-[Lcom/android/internal/telephony/cat/CatService;
-Lcom/android/internal/telephony/cat/CatService$1;
-Lcom/android/internal/telephony/cat/CommandParams;
-Lcom/android/internal/telephony/cat/CommandParamsFactory$1;
-Lcom/android/internal/telephony/cat/ComprehensionTlv;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/DisplayTextParams;
-Lcom/android/internal/telephony/cat/DTTZResponseData;
-Lcom/android/internal/telephony/cat/LanguageParams;
-Lcom/android/internal/telephony/cat/LanguageResponseData;
-Lcom/android/internal/telephony/cat/LaunchBrowserParams;
-Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/RilMessage;
-[Lcom/android/internal/telephony/cat/RilMessageDecoder;
-Lcom/android/internal/telephony/cat/ValueParser;
-Lcom/android/internal/telephony/cdma/CdmaCallWaitingNotification;
-[Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;
-Lcom/android/internal/telephony/cdma/SmsMessage;
-Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData;
-Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData$Builder;
-Lcom/android/internal/telephony/cdnr/CarrierDisplayNameResolver;
-Lcom/android/internal/telephony/Connection$Listener;
-Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/dataconnection/-$$Lambda$DataConnection$-tFSpFGzTv_UdpzJlTMOvg8VO98;
-Lcom/android/internal/telephony/dataconnection/-$$Lambda$XZAGhHrbkIDyusER4MAM6luKcT0;
-Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;
-Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
-Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
-Lcom/android/internal/telephony/dataconnection/DataEnabledSettings$1;
-Lcom/android/internal/telephony/dataconnection/DataEnabledSettings$2;
-Lcom/android/internal/telephony/dataconnection/DcNetworkAgent;
-Lcom/android/internal/telephony/dataconnection/DcTracker$4;
-Lcom/android/internal/telephony/dataconnection/DcTracker$ProvisionNotificationBroadcastReceiver;
-Lcom/android/internal/telephony/dataconnection/KeepaliveStatus;
-[Lcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;
-Lcom/android/internal/telephony/dataconnection/TransportManager$HandoverParams;
-Lcom/android/internal/telephony/DriverCall;
-Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$1;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$10;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$11;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$12;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$13;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$2;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$3;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$5;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$6;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$7;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$8;
-Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$9;
-Lcom/android/internal/telephony/euicc/EuiccConnector$DeleteRequest;
-Lcom/android/internal/telephony/euicc/EuiccConnector$DownloadRequest;
-Lcom/android/internal/telephony/euicc/EuiccConnector$GetDefaultListRequest;
-Lcom/android/internal/telephony/euicc/EuiccConnector$GetMetadataRequest;
-Lcom/android/internal/telephony/euicc/EuiccConnector$SwitchRequest;
-Lcom/android/internal/telephony/euicc/EuiccConnector$UpdateNicknameRequest;
-Lcom/android/internal/telephony/euicc/IEuiccController$Stub$Proxy;
-Lcom/android/internal/telephony/GsmCdmaCallTracker$2;
-Lcom/android/internal/telephony/GsmCdmaCallTracker$3;
-[Lcom/android/internal/telephony/GsmCdmaConnection;
-Lcom/android/internal/telephony/GsmCdmaPhone$Cfu;
-Lcom/android/internal/telephony/gsm/GsmMmiCode;
-[Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;
-Lcom/android/internal/telephony/gsm/SmsMessage;
-Lcom/android/internal/telephony/gsm/SuppServiceNotification;
-Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;
-Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$PbrRecord;
-Lcom/android/internal/telephony/HbpcdUtils;
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;
-Lcom/android/internal/telephony/IIccPhoneBook$Stub$Proxy;
-Lcom/android/internal/telephony/IIntegerConsumer$Stub;
-Lcom/android/internal/telephony/IIntegerConsumer$Stub$Proxy;
-Lcom/android/internal/telephony/IMms$Stub$Proxy;
-Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$-jFhgP_NotuFSwzjQBXWuvls4x4;
-Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$kF808g2NWzNL8H1SwzDc1FxiQdQ;
-Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw;
-Lcom/android/internal/telephony/ims/ImsResolver$8;
-Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;
-Lcom/android/internal/telephony/imsphone/ImsExternalConnection;
-Lcom/android/internal/telephony/imsphone/ImsPhone$Cf;
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;
-Lcom/android/internal/telephony/ims/RcsMessageController;
-Lcom/android/internal/telephony/InboundSmsHandler$CarrierServicesSmsFilterCallback;
-Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;
-Lcom/android/internal/telephony/InboundSmsTracker;
-Lcom/android/internal/telephony/INumberVerificationCallback$Stub;
-Lcom/android/internal/telephony/INumberVerificationCallback$Stub$Proxy;
-Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;
-Lcom/android/internal/telephony/ISetOpportunisticDataCallback$Stub$Proxy;
-Lcom/android/internal/telephony/ISms$Stub$Proxy;
-Lcom/android/internal/telephony/IWapPushManager;
-Lcom/android/internal/telephony/LastCallFailCause;
-Lcom/android/internal/telephony/LinkCapacityEstimate;
-Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$fLmZDbNadlr6LF7zSJ6jCR1AAsk;
-Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$x2dJi76S2YQdpSTfY8RZ8qC_K6g;
-Lcom/android/internal/telephony/metrics/ModemPowerMetrics;
-Lcom/android/internal/telephony/metrics/TelephonyMetrics$1;
-Lcom/android/internal/telephony/MultiSimSettingController$1;
-[Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
-[Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;
-[Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;
-Lcom/android/internal/telephony/nano/TelephonyProto$EmergencyNumberInfo;
-Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
-[Lcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;
-[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
-Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
-[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
-[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;
-Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;
-[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
-[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;
-[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
-Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$OnDemandDataSwitch;
-Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilDeactivateDataCall;
-[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;
-Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;
-Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
-Lcom/android/internal/telephony/nano/TelephonyProto$Time;
-Lcom/android/internal/telephony/NitzStateMachineImpl;
-Lcom/android/internal/telephony/OperatorInfo$State;
-[Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs;
-Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;
-Lcom/android/internal/telephony/PhoneInternalInterface$SuppService;
-Lcom/android/internal/telephony/PhoneSwitcher$2;
-Lcom/android/internal/telephony/PhoneSwitcher$DefaultNetworkCallback;
-Lcom/android/internal/telephony/PhoneSwitcher$EmergencyOverrideRequest;
-[Lcom/android/internal/telephony/PhoneSwitcher$PhoneState;
-Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano$OutOfSpaceException;
-Lcom/android/internal/telephony/protobuf/nano/MessageNanoPrinter;
-Lcom/android/internal/telephony/RadioBugDetector;
-[Lcom/android/internal/telephony/RIL;
-Lcom/android/internal/telephony/sip/SipPhone;
-Lcom/android/internal/telephony/SmsBroadcastUndelivered$SmsReferenceKey;
-Lcom/android/internal/telephony/SmsConstants$MessageClass;
-Lcom/android/internal/telephony/SmsController;
-Lcom/android/internal/telephony/SMSDispatcher$DataSmsSender;
-Lcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;
-[Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
-Lcom/android/internal/telephony/SMSDispatcher$TextSmsSender;
-Lcom/android/internal/telephony/SmsNumberUtils;
-Lcom/android/internal/telephony/SmsPermissions;
-Lcom/android/internal/telephony/SmsResponse;
-Lcom/android/internal/telephony/TimeServiceHelper;
-Lcom/android/internal/telephony/uicc/CsimFileHandler;
-[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;
-Lcom/android/internal/telephony/uicc/IccException;
-Lcom/android/internal/telephony/uicc/IccFileNotFound;
-Lcom/android/internal/telephony/uicc/IccFileTypeMismatch;
-Lcom/android/internal/telephony/uicc/IccRefreshResponse;
-Lcom/android/internal/telephony/uicc/IccVmNotSupportedException;
-Lcom/android/internal/telephony/uicc/InstallCarrierAppTrampolineActivity;
-Lcom/android/internal/telephony/uicc/IsimFileHandler;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimDomainLoaded;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpiLoaded;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpuLoaded;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimIstLoaded;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimPcscfLoaded;
-[Lcom/android/internal/telephony/uicc/PlmnActRecord;
-Lcom/android/internal/telephony/uicc/RuimFileHandler;
-Lcom/android/internal/telephony/uicc/RuimRecords;
-Lcom/android/internal/telephony/uicc/SIMFileHandler;
-[Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;
-Lcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;
-Lcom/android/internal/telephony/uicc/UiccProfile$5;
-[Lcom/android/internal/telephony/uicc/UiccSlot;
-Lcom/android/internal/telephony/util/SMSDispatcherUtil;
-Lcom/android/internal/telephony/UUSInfo;
-Lcom/android/internal/telephony/VisualVoicemailSmsFilter;
-Lcom/android/internal/textservice/ISpellCheckerService;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub;
-Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;
-Lcom/android/internal/textservice/ISpellCheckerSession$Stub;
-Lcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;
-Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;
-Lcom/android/internal/util/-$$Lambda$DumpUtils$D1OlZP6xIpu72ypnJd0fzx0wd6I;
-Lcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;
-Lcom/android/internal/util/-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0;
-Lcom/android/internal/util/-$$Lambda$eRa1rlfDk6Og2yFeXGHqUGPzRF0;
-Lcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;
-Lcom/android/internal/util/-$$Lambda$grRTg3idX3yJe9Zyx-tmLBiD1DM;
-Lcom/android/internal/util/-$$Lambda$JwOUSWW2-Jzu15y4Kn4JuPh8tWM;
-Lcom/android/internal/util/-$$Lambda$kVylv1rl9MOSbHFZoVyK5dl1kfY;
-Lcom/android/internal/util/-$$Lambda$TCbPpgWlKJUHZgFKCczglAvxLfw;
-Lcom/android/internal/util/ContrastColorUtil;
-Lcom/android/internal/util/ContrastColorUtil$ColorUtilsFromCompat;
-Lcom/android/internal/util/function/HeptPredicate;
-Lcom/android/internal/util/function/HexPredicate;
-Lcom/android/internal/util/function/NonaPredicate;
-Lcom/android/internal/util/function/OctPredicate;
-Lcom/android/internal/util/function/QuadPredicate;
-Lcom/android/internal/util/function/QuintPredicate;
-Lcom/android/internal/util/MessageUtils$DuplicateConstantError;
-Lcom/android/internal/util/ProcFileReader;
-[Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
-Lcom/android/internal/util/SyncResultReceiver$TimeoutException;
-Lcom/android/internal/util/UserIcons;
-Lcom/android/internal/view/IInputMethod$Stub$Proxy;
-Lcom/android/internal/view/IInputMethodClient$Stub$Proxy;
-Lcom/android/internal/view/IInputSessionCallback$Stub$Proxy;
-Lcom/android/internal/view/InputConnectionWrapper;
-Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
-Lcom/android/internal/view/menu/ActionMenuItemView;
-Lcom/android/internal/view/menu/ActionMenuItemView$ActionMenuItemForwardingListener;
-Lcom/android/internal/view/menu/MenuPopupHelper$1;
-Lcom/android/internal/view/menu/MenuView$ItemView;
-Lcom/android/internal/view/OneShotPreDrawListener;
-Lcom/android/internal/view/RotationPolicy$1;
-Lcom/android/internal/widget/ActionBarOverlayLayout;
-Lcom/android/internal/widget/DecorCaptionView;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;
-Lcom/android/internal/widget/SwipeDismissLayout;
-Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;
-Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;
-Lcom/android/org/conscrypt/TrustedCertificateStore;
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;
-Lcom/android/org/conscrypt/TrustManagerImpl;
-[Lcom/android/ph
-[Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
-[Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
-Lcom/android/server/backup/AccountManagerBackupHelper;
-Lcom/android/server/backup/AccountSyncSettingsBackupHelper;
-Lcom/android/server/backup/NotificationBackupHelper;
-Lcom/android/server/backup/PermissionBackupHelper;
-Lcom/android/server/backup/PreferredActivityBackupHelper;
-Lcom/android/server/backup/ShortcutBackupHelper;
-Lcom/android/server/backup/SliceBackupHelper;
-Lcom/android/server/backup/UsageStatsBackupHelper;
-Lcom/android/server/BootReceiver;
-Lcom/android/server/BootReceiver$1;
-Lcom/android/server/BootReceiver$2;
-[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
-[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
-Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
-Lcom/android/server/sip/SipService$ConnectivityReceiver;
-Lcom/android/server/sip/SipService$MyExecutor;
-Lcom/android/server/sip/SipWakeLock;
-Lcom/android/server/sip/SipWakeupTimer$MyEventComparator;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;
-Lcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;
-Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$ExperimentProbeCounts;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;
-Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApConnectedClientsEvent;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApDurationBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApReturnCodeCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$NanStatusHistogramBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$NanStatusHistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
-Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
-[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;
-Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
-Lcom/google/android/rappor/Encoder;
-Lcom/google/android/rappor/HmacDrbg;
-Lcom/google/android/textclassifier/ActionsSuggestionsModel;
-Lcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;
-[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
-Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
-Lcom/google/android/textclassifier/AnnotatorModel;
-Lcom/google/android/textclassifier/LangIdModel;
-[Ljava/lang/Double;
-[Ljava/lang/Runnable;
-[Ljava/lang/Void;
-[Ljava/net/InetAddress;
-Ljava/nio/file/Files$AcceptAllFilter;
-[Ljava/nio/file/OpenOption;
-[[Ljava/security/cert/Certificate;
-[Ljava/security/cert/Certificate;
-[[Ljava/security/cert/X509Certificate;
-[Ljava/security/cert/X509Certificate;
-[Ljava/security/MessageDigest;
-Ljava/security/spec/PSSParameterSpec;
-Ljava/time/-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA;
-[Ljava/util/concurrent/RunnableScheduledFuture;
-[Ljava/util/HashMap;
-Ljava/util/logging/Logger$SystemLoggerHelper;
-Ljava/util/PropertyPermission;
-Ljava/util/stream/-$$Lambda$MatchOps$emK14UX33I4-nqH2o5l7hLEVAy8;
-[Ljavax/net/ssl/TrustManager;
-Llibcore/icu/RelativeDateTimeFormatter;
-Lsun/security/util/SecurityConstants;
-Lsun/util/locale/LocaleMatcher;
diff --git a/config/preloaded-classes b/config/preloaded-classes
index e53c74bdfc4b..e8d2083a12bd 100644
--- a/config/preloaded-classes
+++ b/config/preloaded-classes
@@ -24,14 +24,20 @@
android.R$styleable
android.accessibilityservice.AccessibilityServiceInfo$1
android.accessibilityservice.AccessibilityServiceInfo
+android.accessibilityservice.IAccessibilityServiceClient$Stub$Proxy
+android.accessibilityservice.IAccessibilityServiceClient$Stub
+android.accessibilityservice.IAccessibilityServiceClient
android.accounts.Account$1
android.accounts.Account
+android.accounts.AccountAndUser
android.accounts.AccountManager$10
android.accounts.AccountManager$11
+android.accounts.AccountManager$17
android.accounts.AccountManager$18
android.accounts.AccountManager$1
android.accounts.AccountManager$20
android.accounts.AccountManager$2
+android.accounts.AccountManager$3
android.accounts.AccountManager$AmsTask$1
android.accounts.AccountManager$AmsTask$Response
android.accounts.AccountManager$AmsTask
@@ -43,18 +49,27 @@ android.accounts.AccountManager$Future2Task
android.accounts.AccountManager
android.accounts.AccountManagerCallback
android.accounts.AccountManagerFuture
+android.accounts.AccountManagerInternal$OnAppPermissionChangeListener
+android.accounts.AccountManagerInternal
android.accounts.AccountsException
android.accounts.AuthenticatorDescription$1
android.accounts.AuthenticatorDescription
android.accounts.AuthenticatorException
+android.accounts.IAccountAuthenticator$Stub$Proxy
+android.accounts.IAccountAuthenticator$Stub
+android.accounts.IAccountAuthenticator
+android.accounts.IAccountAuthenticatorResponse$Stub
+android.accounts.IAccountAuthenticatorResponse
android.accounts.IAccountManager$Stub$Proxy
android.accounts.IAccountManager$Stub
android.accounts.IAccountManager
+android.accounts.IAccountManagerResponse$Stub$Proxy
android.accounts.IAccountManagerResponse$Stub
android.accounts.IAccountManagerResponse
android.accounts.OnAccountsUpdateListener
android.accounts.OperationCanceledException
android.animation.AnimationHandler$1
+android.animation.AnimationHandler$2
android.animation.AnimationHandler$AnimationFrameCallback
android.animation.AnimationHandler$AnimationFrameCallbackProvider
android.animation.AnimationHandler$MyFrameCallbackProvider
@@ -75,6 +90,7 @@ android.animation.AnimatorSet$Node
android.animation.AnimatorSet$SeekState
android.animation.AnimatorSet
android.animation.ArgbEvaluator
+android.animation.BidirectionalTypeConverter
android.animation.FloatEvaluator
android.animation.FloatKeyframeSet
android.animation.IntEvaluator
@@ -89,6 +105,7 @@ android.animation.Keyframes$IntKeyframes
android.animation.Keyframes
android.animation.LayoutTransition$1
android.animation.LayoutTransition$2
+android.animation.LayoutTransition$3
android.animation.LayoutTransition$4
android.animation.LayoutTransition$5
android.animation.LayoutTransition$CleanupCallback
@@ -97,12 +114,16 @@ android.animation.LayoutTransition
android.animation.ObjectAnimator
android.animation.PathKeyframes$1
android.animation.PathKeyframes$2
+android.animation.PathKeyframes$3
+android.animation.PathKeyframes$4
android.animation.PathKeyframes$FloatKeyframesBase
android.animation.PathKeyframes$IntKeyframesBase
android.animation.PathKeyframes$SimpleKeyframes
android.animation.PathKeyframes
+android.animation.PropertyValuesHolder$1
android.animation.PropertyValuesHolder$FloatPropertyValuesHolder
android.animation.PropertyValuesHolder$IntPropertyValuesHolder
+android.animation.PropertyValuesHolder$PropertyValues$DataSource
android.animation.PropertyValuesHolder$PropertyValues
android.animation.PropertyValuesHolder
android.animation.RectEvaluator
@@ -113,28 +134,54 @@ android.animation.StateListAnimator
android.animation.TimeAnimator$TimeListener
android.animation.TimeAnimator
android.animation.TimeInterpolator
+android.animation.TypeConverter
android.animation.TypeEvaluator
android.animation.ValueAnimator$AnimatorUpdateListener
android.animation.ValueAnimator
+android.apex.ApexInfo$1
+android.apex.ApexInfo
+android.apex.IApexService$Stub$Proxy
+android.apex.IApexService$Stub
+android.apex.IApexService
+android.app.-$$Lambda$ActivityThread$A4ykhsPb8qV3ffTqpQDklHSMDJ0
android.app.-$$Lambda$ActivityThread$ActivityClientRecord$HOrG1qglSjSUHSjKBn2rXtX0gGg
+android.app.-$$Lambda$ActivityThread$ApplicationThread$nBC_BR7B9W6ftKAxur3BC53SJYc
android.app.-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38
-android.app.-$$Lambda$ActivityThread$ZXDWm3IBeFmLnFVblhB-IOZCr9o
+android.app.-$$Lambda$ActivityThread$ApplicationThread$uR_ee-5oPoxu4U_by7wU55jwtdU
+android.app.-$$Lambda$ActivityThread$FmvGY8exyv0L0oqZrnunpl8OFI8
+android.app.-$$Lambda$ActivityThread$Wg40iAoNYFxps_KmrqtgptTB054
+android.app.-$$Lambda$ActivityTransitionState$yioLR6wQWjZ9DcWK5bibElIbsXc
+android.app.-$$Lambda$AppOpsManager$HistoricalOp$DkVcBvqB32SMHlxw0sWQPh3GL1A
+android.app.-$$Lambda$AppOpsManager$HistoricalOp$HUOLFYs8TiaQIOXcrq6JzjxA6gs
+android.app.-$$Lambda$AppOpsManager$HistoricalOp$Vs6pDL0wjOBTquwNnreWVbPQrn4
+android.app.-$$Lambda$AppOpsManager$OpEntry$YTJl86rOgjsrtxPtz5iTGXvrzc4
+android.app.-$$Lambda$AppOpsManager$OpEntry$kdehJT0Vyrquji7c4qSeRkpnvBU
+android.app.-$$Lambda$AppOpsManager$OpEntry$uXaZ6E4Gv-J5C3nhIOFXmg3dYxc
android.app.-$$Lambda$Dialog$zXRzrq3I7H1_zmZ8d_W7t2CQN0I
+android.app.-$$Lambda$FragmentTransition$jurn0WXuKw3bRQ_2d5zCWdeZWuI
android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA
android.app.-$$Lambda$Notification$hOCsSZH8tWalFSbIzQ9x9IcPa9M
android.app.-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM
android.app.-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0
+android.app.-$$Lambda$WallpaperManager$Globals$1AcnQUORvPlCjJoNqdxfQT4o4Nw
+android.app.-$$Lambda$WallpaperManager$Globals$2yG7V1sbMECCnlFTLyjKWKqNoYI
+android.app.-$$Lambda$ZsFzoG2loyqNOR2cNbo-thrNK5c
android.app.-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE
android.app.ActionBar$LayoutParams
android.app.ActionBar
+android.app.Activity$1
android.app.Activity$HostCallbacks
+android.app.Activity$ManagedCursor
+android.app.Activity$ManagedDialog
android.app.Activity$NonConfigurationInstances
+android.app.Activity$RequestFinishCallback
android.app.Activity
android.app.ActivityManager$1
android.app.ActivityManager$AppTask
android.app.ActivityManager$MemoryInfo$1
android.app.ActivityManager$MemoryInfo
android.app.ActivityManager$OnUidImportanceListener
+android.app.ActivityManager$ProcessErrorStateInfo$1
android.app.ActivityManager$RecentTaskInfo$1
android.app.ActivityManager$RecentTaskInfo
android.app.ActivityManager$RunningAppProcessInfo$1
@@ -143,10 +190,15 @@ android.app.ActivityManager$RunningServiceInfo$1
android.app.ActivityManager$RunningServiceInfo
android.app.ActivityManager$RunningTaskInfo$1
android.app.ActivityManager$RunningTaskInfo
+android.app.ActivityManager$StackInfo$1
+android.app.ActivityManager$StackInfo
android.app.ActivityManager$TaskDescription$1
android.app.ActivityManager$TaskDescription
+android.app.ActivityManager$TaskSnapshot$1
+android.app.ActivityManager$TaskSnapshot
android.app.ActivityManager$UidObserver
android.app.ActivityManager
+android.app.ActivityManagerInternal
android.app.ActivityOptions
android.app.ActivityTaskManager$1
android.app.ActivityTaskManager
@@ -172,28 +224,65 @@ android.app.ActivityThread$ProviderRefCount
android.app.ActivityThread$PurgeIdler
android.app.ActivityThread$ReceiverData
android.app.ActivityThread$RequestAssistContextExtras
+android.app.ActivityThread$SafeCancellationTransport
android.app.ActivityThread$ServiceArgsData
android.app.ActivityThread$UpdateCompatibilityData
android.app.ActivityThread
+android.app.ActivityTransitionCoordinator
+android.app.ActivityTransitionState$1
android.app.ActivityTransitionState
+android.app.AlarmManager$AlarmClockInfo$1
+android.app.AlarmManager$AlarmClockInfo
android.app.AlarmManager$ListenerWrapper
+android.app.AlarmManager$OnAlarmListener
android.app.AlarmManager
android.app.AlertDialog$Builder
android.app.AlertDialog
+android.app.AppCompatCallbacks
android.app.AppComponentFactory
android.app.AppDetailsActivity
android.app.AppGlobals
+android.app.AppOpsManager$1
+android.app.AppOpsManager$2
+android.app.AppOpsManager$3
+android.app.AppOpsManager$HistoricalOp$1
+android.app.AppOpsManager$HistoricalOp
+android.app.AppOpsManager$HistoricalOps$1
+android.app.AppOpsManager$HistoricalOps
+android.app.AppOpsManager$HistoricalPackageOps$1
+android.app.AppOpsManager$HistoricalPackageOps
+android.app.AppOpsManager$HistoricalUidOps$1
+android.app.AppOpsManager$HistoricalUidOps
+android.app.AppOpsManager$OnOpChangedInternalListener
android.app.AppOpsManager$OnOpChangedListener
+android.app.AppOpsManager$OpEntry$1
+android.app.AppOpsManager$OpEntry
+android.app.AppOpsManager$OpFeatureEntry
+android.app.AppOpsManager$PackageOps$1
+android.app.AppOpsManager$PackageOps
+android.app.AppOpsManager$PausedNotedAppOpsCollection
android.app.AppOpsManager
+android.app.AppOpsManagerInternal
android.app.Application$ActivityLifecycleCallbacks
android.app.Application
+android.app.ApplicationErrorReport$1
android.app.ApplicationErrorReport$CrashInfo
+android.app.ApplicationErrorReport$ParcelableCrashInfo$1
+android.app.ApplicationErrorReport$ParcelableCrashInfo
+android.app.ApplicationErrorReport
+android.app.ApplicationLoaders$CachedClassLoader
android.app.ApplicationLoaders
+android.app.ApplicationPackageManager$MoveCallbackDelegate
android.app.ApplicationPackageManager$OnPermissionsChangeListenerDelegate
android.app.ApplicationPackageManager$ResourceName
android.app.ApplicationPackageManager
+android.app.AutomaticZenRule$1
+android.app.AutomaticZenRule
android.app.BackStackRecord$Op
android.app.BackStackRecord
+android.app.BackStackState$1
+android.app.BackStackState
+android.app.BroadcastOptions
android.app.ClientTransactionHandler
android.app.ContentProviderHolder$1
android.app.ContentProviderHolder
@@ -204,33 +293,54 @@ android.app.DexLoadReporter
android.app.Dialog$ListenersHandler
android.app.Dialog
android.app.DialogFragment
+android.app.DirectAction
+android.app.DownloadManager$CursorTranslator
+android.app.DownloadManager$Query
android.app.DownloadManager
+android.app.EnterTransitionCoordinator
+android.app.EventLogTags
+android.app.ExitTransitionCoordinator
android.app.Fragment$1
android.app.Fragment$AnimationInfo
+android.app.Fragment$InstantiationException
android.app.Fragment$OnStartEnterTransitionListener
android.app.Fragment
android.app.FragmentContainer
android.app.FragmentController
android.app.FragmentHostCallback
android.app.FragmentManager$BackStackEntry
+android.app.FragmentManager$FragmentLifecycleCallbacks
+android.app.FragmentManager$OnBackStackChangedListener
android.app.FragmentManager
android.app.FragmentManagerImpl$1
+android.app.FragmentManagerImpl$2
+android.app.FragmentManagerImpl$AnimateOnHWLayerIfNeededListener
android.app.FragmentManagerImpl$OpGenerator
+android.app.FragmentManagerImpl$StartEnterTransitionListener
android.app.FragmentManagerImpl
+android.app.FragmentManagerNonConfig
android.app.FragmentManagerState$1
android.app.FragmentManagerState
android.app.FragmentState$1
android.app.FragmentState
android.app.FragmentTransaction
+android.app.FragmentTransition$2
+android.app.FragmentTransition$5
android.app.FragmentTransition$FragmentContainerTransition
android.app.FragmentTransition
+android.app.IActivityController$Stub$Proxy
+android.app.IActivityController$Stub
+android.app.IActivityController
android.app.IActivityManager$Stub$Proxy
android.app.IActivityManager$Stub
android.app.IActivityManager
android.app.IActivityTaskManager$Stub$Proxy
android.app.IActivityTaskManager$Stub
android.app.IActivityTaskManager
+android.app.IAlarmCompleteListener$Stub$Proxy
+android.app.IAlarmCompleteListener$Stub
android.app.IAlarmCompleteListener
+android.app.IAlarmListener$Stub$Proxy
android.app.IAlarmListener$Stub
android.app.IAlarmListener
android.app.IAlarmManager$Stub$Proxy
@@ -239,37 +349,69 @@ android.app.IAlarmManager
android.app.IAppTask$Stub$Proxy
android.app.IAppTask$Stub
android.app.IAppTask
+android.app.IApplicationThread$Stub$Proxy
android.app.IApplicationThread$Stub
android.app.IApplicationThread
+android.app.IAssistDataReceiver$Stub$Proxy
+android.app.IAssistDataReceiver$Stub
+android.app.IAssistDataReceiver
+android.app.IBackupAgent$Stub$Proxy
android.app.IBackupAgent$Stub
android.app.IBackupAgent
+android.app.IInstantAppResolver$Stub$Proxy
+android.app.IInstantAppResolver$Stub
+android.app.IInstantAppResolver
+android.app.IInstrumentationWatcher$Stub$Proxy
android.app.IInstrumentationWatcher$Stub
android.app.IInstrumentationWatcher
android.app.INotificationManager$Stub$Proxy
android.app.INotificationManager$Stub
android.app.INotificationManager
+android.app.IProcessObserver$Stub$Proxy
android.app.IProcessObserver$Stub
android.app.IProcessObserver
+android.app.IRequestFinishCallback$Stub$Proxy
+android.app.IRequestFinishCallback$Stub
+android.app.IRequestFinishCallback
android.app.ISearchManager$Stub
android.app.ISearchManager
+android.app.IServiceConnection$Stub$Proxy
android.app.IServiceConnection$Stub
android.app.IServiceConnection
+android.app.IStopUserCallback$Stub$Proxy
+android.app.IStopUserCallback$Stub
+android.app.IStopUserCallback
+android.app.ITaskStackListener$Stub$Proxy
+android.app.ITaskStackListener$Stub
+android.app.ITaskStackListener
+android.app.ITransientNotification$Stub$Proxy
android.app.ITransientNotification$Stub
android.app.ITransientNotification
+android.app.IUiAutomationConnection$Stub$Proxy
android.app.IUiAutomationConnection$Stub
android.app.IUiAutomationConnection
android.app.IUiModeManager$Stub$Proxy
android.app.IUiModeManager$Stub
android.app.IUiModeManager
+android.app.IUidObserver$Stub$Proxy
android.app.IUidObserver$Stub
android.app.IUidObserver
+android.app.IUriGrantsManager$Stub$Proxy
+android.app.IUriGrantsManager$Stub
+android.app.IUriGrantsManager
+android.app.IUserSwitchObserver$Stub$Proxy
android.app.IUserSwitchObserver$Stub
android.app.IUserSwitchObserver
android.app.IWallpaperManager$Stub$Proxy
android.app.IWallpaperManager$Stub
android.app.IWallpaperManager
+android.app.IWallpaperManagerCallback$Stub$Proxy
android.app.IWallpaperManagerCallback$Stub
android.app.IWallpaperManagerCallback
+android.app.Instrumentation$ActivityGoing
+android.app.Instrumentation$ActivityMonitor
+android.app.Instrumentation$ActivityResult
+android.app.Instrumentation$ActivityWaiter
android.app.Instrumentation
android.app.IntentReceiverLeaked
android.app.IntentService$ServiceHandler
@@ -285,6 +427,7 @@ android.app.LoadedApk$ServiceDispatcher$DeathMonitor
android.app.LoadedApk$ServiceDispatcher$InnerConnection
android.app.LoadedApk$ServiceDispatcher$RunConnection
android.app.LoadedApk$ServiceDispatcher
+android.app.LoadedApk$SplitDependencyLoaderImpl
android.app.LoadedApk$WarningContextClassLoader
android.app.LoadedApk
android.app.LoaderManager$LoaderCallbacks
@@ -298,48 +441,69 @@ android.app.Notification$Action$Builder
android.app.Notification$Action
android.app.Notification$BigPictureStyle
android.app.Notification$BigTextStyle
+android.app.Notification$BubbleMetadata$1
+android.app.Notification$BubbleMetadata
android.app.Notification$Builder
android.app.Notification$BuilderRemoteViews
android.app.Notification$DecoratedCustomViewStyle
android.app.Notification$DecoratedMediaCustomViewStyle
+android.app.Notification$Extender
android.app.Notification$InboxStyle
android.app.Notification$MediaStyle
android.app.Notification$MessagingStyle$Message
android.app.Notification$MessagingStyle
android.app.Notification$StandardTemplateParams
android.app.Notification$Style
+android.app.Notification$TemplateBindResult
+android.app.Notification$TvExtender
android.app.Notification
android.app.NotificationChannel$1
android.app.NotificationChannel
android.app.NotificationChannelGroup$1
android.app.NotificationChannelGroup
+android.app.NotificationHistory
android.app.NotificationManager$Policy$1
android.app.NotificationManager$Policy
android.app.NotificationManager
android.app.OnActivityPausedListener
+android.app.PackageInstallObserver$1
+android.app.PackageInstallObserver
android.app.PendingIntent$1
android.app.PendingIntent$2
android.app.PendingIntent$CanceledException
+android.app.PendingIntent$FinishedDispatcher
+android.app.PendingIntent$OnFinished
android.app.PendingIntent$OnMarshaledListener
android.app.PendingIntent
android.app.Person$1
android.app.Person$Builder
android.app.Person
+android.app.PictureInPictureParams$1
+android.app.PictureInPictureParams$Builder
+android.app.PictureInPictureParams
+android.app.ProcessMemoryState$1
android.app.ProfilerInfo$1
android.app.ProfilerInfo
+android.app.ProgressDialog
android.app.QueuedWork$QueuedWorkHandler
android.app.QueuedWork
android.app.ReceiverRestrictedContext
android.app.RemoteAction$1
+android.app.RemoteAction
android.app.RemoteInput$1
android.app.RemoteInput
+android.app.RemoteServiceException
android.app.ResourcesManager$1
android.app.ResourcesManager$ActivityResources
android.app.ResourcesManager$ApkKey
+android.app.ResourcesManager$ResourcesWithLoaders
android.app.ResourcesManager
android.app.ResultInfo$1
android.app.ResultInfo
android.app.SearchManager
+android.app.SearchableInfo$1
+android.app.SearchableInfo$ActionKeyInfo
+android.app.SearchableInfo
android.app.Service
android.app.ServiceConnectionLeaked
android.app.ServiceStartArgs$1
@@ -354,8 +518,10 @@ android.app.SharedPreferencesImpl$EditorImpl
android.app.SharedPreferencesImpl$MemoryCommitResult
android.app.SharedPreferencesImpl
android.app.StatsManager$StatsUnavailableException
+android.app.StatsManager$StatsdDeathRecipient
android.app.StatsManager
android.app.StatusBarManager
+android.app.SynchronousUserSwitchObserver
android.app.SystemServiceRegistry$100
android.app.SystemServiceRegistry$101
android.app.SystemServiceRegistry$102
@@ -367,13 +533,6 @@ android.app.SystemServiceRegistry$107
android.app.SystemServiceRegistry$108
android.app.SystemServiceRegistry$109
android.app.SystemServiceRegistry$10
-android.app.SystemServiceRegistry$110
-android.app.SystemServiceRegistry$111
-android.app.SystemServiceRegistry$112
-android.app.SystemServiceRegistry$113
-android.app.SystemServiceRegistry$114
-android.app.SystemServiceRegistry$115
-android.app.SystemServiceRegistry$116
android.app.SystemServiceRegistry$11
android.app.SystemServiceRegistry$12
android.app.SystemServiceRegistry$13
@@ -473,33 +632,53 @@ android.app.SystemServiceRegistry$98
android.app.SystemServiceRegistry$99
android.app.SystemServiceRegistry$9
android.app.SystemServiceRegistry$CachedServiceFetcher
+android.app.SystemServiceRegistry$ContextAwareServiceProducerWithBinder
+android.app.SystemServiceRegistry$ContextAwareServiceProducerWithoutBinder
android.app.SystemServiceRegistry$ServiceFetcher
android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher
android.app.SystemServiceRegistry$StaticServiceFetcher
+android.app.SystemServiceRegistry$StaticServiceProducerWithBinder
android.app.SystemServiceRegistry
android.app.TaskInfo
+android.app.TaskStackListener
android.app.UiModeManager
android.app.UriGrantsManager$1
android.app.UriGrantsManager
android.app.UserSwitchObserver
+android.app.VoiceInteractor$Request
+android.app.VoiceInteractor
+android.app.Vr2dDisplayProperties$1
+android.app.Vr2dDisplayProperties
android.app.VrManager
+android.app.WaitResult
android.app.WallpaperColors$1
android.app.WallpaperColors
android.app.WallpaperInfo$1
+android.app.WallpaperInfo
android.app.WallpaperManager$Globals
+android.app.WallpaperManager$OnColorsChangedListener
android.app.WallpaperManager
android.app.WindowConfiguration$1
android.app.WindowConfiguration
android.app.admin.-$$Lambda$DevicePolicyManager$aBAov4sAc4DWENs1-hCXh31NAg0
android.app.admin.-$$Lambda$DevicePolicyManager$w2TynM9H41ejac4JVpNbnemNVWk
+android.app.admin.-$$Lambda$pWaRScwKTZTgGW4Wa_v5R_pKBDU
android.app.admin.DeviceAdminInfo$1
android.app.admin.DeviceAdminInfo$PolicyInfo
android.app.admin.DeviceAdminInfo
+android.app.admin.DevicePolicyCache$EmptyDevicePolicyCache
+android.app.admin.DevicePolicyCache
+android.app.admin.DevicePolicyEventLogger
android.app.admin.DevicePolicyManager$1
android.app.admin.DevicePolicyManager$2
android.app.admin.DevicePolicyManager$InstallSystemUpdateCallback
android.app.admin.DevicePolicyManager$OnClearApplicationUserDataListener
android.app.admin.DevicePolicyManager
+android.app.admin.DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener
+android.app.admin.DevicePolicyManagerInternal
+android.app.admin.IDeviceAdminService$Stub$Proxy
+android.app.admin.IDeviceAdminService$Stub
+android.app.admin.IDeviceAdminService
android.app.admin.IDevicePolicyManager$Stub$Proxy
android.app.admin.IDevicePolicyManager$Stub
android.app.admin.IDevicePolicyManager
@@ -508,16 +687,20 @@ android.app.admin.PasswordMetrics
android.app.admin.SecurityLog$SecurityEvent$1
android.app.admin.SecurityLog$SecurityEvent
android.app.admin.SecurityLog
+android.app.admin.StartInstallingUpdateCallback$Stub$Proxy
android.app.admin.StartInstallingUpdateCallback$Stub
android.app.admin.StartInstallingUpdateCallback
android.app.admin.SystemUpdateInfo$1
android.app.admin.SystemUpdateInfo
android.app.admin.SystemUpdatePolicy$1
android.app.admin.SystemUpdatePolicy
+android.app.appsearch.-$$Lambda$AppSearchManagerFrameworkInitializer$2C99JDf4IVN8JVCb0sQQPhgXbjI
+android.app.appsearch.AppSearchManager
android.app.appsearch.AppSearchManagerFrameworkInitializer
android.app.assist.AssistContent$1
android.app.assist.AssistContent
android.app.assist.AssistStructure$1
+android.app.assist.AssistStructure$AutofillOverlay
android.app.assist.AssistStructure$ParcelTransferReader
android.app.assist.AssistStructure$ParcelTransferWriter
android.app.assist.AssistStructure$SendChannel
@@ -540,21 +723,47 @@ android.app.backup.BackupHelperDispatcher
android.app.backup.BackupManager
android.app.backup.BackupTransport$TransportImpl
android.app.backup.BackupTransport
+android.app.backup.BlobBackupHelper
android.app.backup.FileBackupHelperBase
android.app.backup.FullBackup
android.app.backup.FullBackupDataOutput
+android.app.backup.IBackupCallback$Stub$Proxy
+android.app.backup.IBackupCallback$Stub
+android.app.backup.IBackupCallback
android.app.backup.IBackupManager$Stub$Proxy
android.app.backup.IBackupManager$Stub
android.app.backup.IBackupManager
+android.app.backup.IBackupManagerMonitor$Stub$Proxy
+android.app.backup.IBackupManagerMonitor$Stub
+android.app.backup.IBackupManagerMonitor
+android.app.backup.IBackupObserver$Stub$Proxy
+android.app.backup.IBackupObserver$Stub
+android.app.backup.IBackupObserver
+android.app.backup.IFullBackupRestoreObserver$Stub$Proxy
+android.app.backup.IFullBackupRestoreObserver$Stub
+android.app.backup.IFullBackupRestoreObserver
+android.app.backup.IRestoreSession
+android.app.backup.ISelectBackupTransportCallback$Stub$Proxy
+android.app.backup.ISelectBackupTransportCallback$Stub
+android.app.backup.ISelectBackupTransportCallback
+android.app.backup.RestoreDescription
android.app.backup.SharedPreferencesBackupHelper
+android.app.blob.-$$Lambda$BlobStoreManagerFrameworkInitializer$WjSRSHMmxWPF4Fq-7TpX23MBh2U
+android.app.blob.BlobStoreManager
android.app.blob.BlobStoreManagerFrameworkInitializer
android.app.contentsuggestions.ContentSuggestionsManager
+android.app.contentsuggestions.IContentSuggestionsManager$Stub
+android.app.contentsuggestions.IContentSuggestionsManager
+android.app.job.-$$Lambda$FpGlzN9oJcl8o5soW-gU-DyTvXM
+android.app.job.-$$Lambda$JobSchedulerFrameworkInitializer$PtYe8PQc1PVJQXRnpm3iSxcWTR0
+android.app.job.-$$Lambda$JobSchedulerFrameworkInitializer$RHUxgww0pZFMmfQWKgaRAx0YFqA
android.app.job.IJobCallback$Stub$Proxy
android.app.job.IJobCallback$Stub
android.app.job.IJobCallback
android.app.job.IJobScheduler$Stub$Proxy
android.app.job.IJobScheduler$Stub
android.app.job.IJobScheduler
+android.app.job.IJobService$Stub$Proxy
android.app.job.IJobService$Stub
android.app.job.IJobService
android.app.job.JobInfo$1
@@ -573,12 +782,42 @@ android.app.job.JobServiceEngine$JobInterface
android.app.job.JobServiceEngine
android.app.job.JobWorkItem$1
android.app.job.JobWorkItem
+android.app.prediction.AppPredictionContext$1
+android.app.prediction.AppPredictionContext
android.app.prediction.AppPredictionManager
+android.app.prediction.AppPredictionSessionId$1
+android.app.prediction.AppPredictionSessionId
+android.app.prediction.AppPredictor
+android.app.prediction.AppTarget$1
+android.app.prediction.AppTarget
+android.app.prediction.AppTargetEvent$1
+android.app.prediction.AppTargetEvent
+android.app.prediction.AppTargetId$1
+android.app.prediction.AppTargetId
+android.app.prediction.IPredictionCallback$Stub$Proxy
+android.app.prediction.IPredictionCallback$Stub
+android.app.prediction.IPredictionCallback
+android.app.prediction.IPredictionManager$Stub$Proxy
+android.app.prediction.IPredictionManager$Stub
+android.app.prediction.IPredictionManager
+android.app.role.-$$Lambda$RoleControllerManager$Jsb4ev7pHUqel8_lglNSRLiUzpg
+android.app.role.-$$Lambda$RoleControllerManager$hbh627Rh8mtJykW3vb1FWR34mIQ
+android.app.role.-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA
+android.app.role.IOnRoleHoldersChangedListener$Stub$Proxy
+android.app.role.IOnRoleHoldersChangedListener$Stub
+android.app.role.IOnRoleHoldersChangedListener
+android.app.role.IRoleController$Stub$Proxy
+android.app.role.IRoleController$Stub
+android.app.role.IRoleController
android.app.role.IRoleManager$Stub$Proxy
android.app.role.IRoleManager$Stub
android.app.role.IRoleManager
+android.app.role.OnRoleHoldersChangedListener
android.app.role.RoleControllerManager
+android.app.role.RoleManager$OnRoleHoldersChangedListenerDelegate
android.app.role.RoleManager
+android.app.servertransaction.ActivityConfigurationChangeItem$1
+android.app.servertransaction.ActivityConfigurationChangeItem
android.app.servertransaction.ActivityLifecycleItem
android.app.servertransaction.ActivityRelaunchItem$1
android.app.servertransaction.ActivityRelaunchItem
@@ -596,6 +835,7 @@ android.app.servertransaction.LaunchActivityItem$1
android.app.servertransaction.LaunchActivityItem
android.app.servertransaction.NewIntentItem$1
android.app.servertransaction.NewIntentItem
+android.app.servertransaction.ObjectPool
android.app.servertransaction.ObjectPoolItem
android.app.servertransaction.PauseActivityItem$1
android.app.servertransaction.PauseActivityItem
@@ -627,11 +867,23 @@ android.app.slice.SliceSpec
android.app.timedetector.ITimeDetectorService$Stub$Proxy
android.app.timedetector.ITimeDetectorService$Stub
android.app.timedetector.ITimeDetectorService
+android.app.timedetector.ManualTimeSuggestion
+android.app.timedetector.PhoneTimeSuggestion
android.app.timedetector.TimeDetector
android.app.timezone.RulesManager
+android.app.timezonedetector.TimeZoneDetector
+android.app.trust.IStrongAuthTracker$Stub$Proxy
+android.app.trust.IStrongAuthTracker$Stub
+android.app.trust.IStrongAuthTracker
+android.app.trust.ITrustListener$Stub$Proxy
+android.app.trust.ITrustListener$Stub
+android.app.trust.ITrustListener
android.app.trust.ITrustManager$Stub$Proxy
android.app.trust.ITrustManager$Stub
android.app.trust.ITrustManager
+android.app.trust.TrustManager$1
+android.app.trust.TrustManager$2
+android.app.trust.TrustManager$TrustListener
android.app.trust.TrustManager
android.app.usage.AppStandbyInfo$1
android.app.usage.AppStandbyInfo
@@ -641,6 +893,12 @@ android.app.usage.CacheQuotaHint
android.app.usage.CacheQuotaService$CacheQuotaServiceWrapper
android.app.usage.CacheQuotaService$ServiceHandler
android.app.usage.CacheQuotaService
+android.app.usage.ConfigurationStats$1
+android.app.usage.ConfigurationStats
+android.app.usage.EventList
+android.app.usage.ExternalStorageStats$1
+android.app.usage.ExternalStorageStats
+android.app.usage.ICacheQuotaService$Stub$Proxy
android.app.usage.ICacheQuotaService$Stub
android.app.usage.ICacheQuotaService
android.app.usage.IStorageStatsManager$Stub$Proxy
@@ -649,10 +907,13 @@ android.app.usage.IStorageStatsManager
android.app.usage.IUsageStatsManager$Stub$Proxy
android.app.usage.IUsageStatsManager$Stub
android.app.usage.IUsageStatsManager
+android.app.usage.NetworkStatsManager$CallbackHandler
+android.app.usage.NetworkStatsManager$UsageCallback
android.app.usage.NetworkStatsManager
android.app.usage.StorageStats$1
android.app.usage.StorageStats
android.app.usage.StorageStatsManager
+android.app.usage.TimeSparseArray
android.app.usage.UsageEvents$1
android.app.usage.UsageEvents$Event
android.app.usage.UsageEvents
@@ -660,37 +921,67 @@ android.app.usage.UsageStats$1
android.app.usage.UsageStats
android.app.usage.UsageStatsManager
android.appwidget.AppWidgetManager
+android.appwidget.AppWidgetManagerInternal
android.appwidget.AppWidgetProvider
+android.appwidget.AppWidgetProviderInfo$1
+android.appwidget.AppWidgetProviderInfo
+android.attention.AttentionManagerInternal$AttentionCallbackInternal
+android.attention.AttentionManagerInternal
+android.bluetooth.-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4
android.bluetooth.BluetoothA2dp$1
-android.bluetooth.BluetoothA2dp$2
android.bluetooth.BluetoothA2dp
+android.bluetooth.BluetoothA2dpSink
android.bluetooth.BluetoothActivityEnergyInfo$1
android.bluetooth.BluetoothActivityEnergyInfo
android.bluetooth.BluetoothAdapter$1
android.bluetooth.BluetoothAdapter$2
android.bluetooth.BluetoothAdapter
+android.bluetooth.BluetoothAvrcpController
android.bluetooth.BluetoothClass$1
android.bluetooth.BluetoothClass
android.bluetooth.BluetoothCodecConfig$1
android.bluetooth.BluetoothCodecConfig
+android.bluetooth.BluetoothCodecStatus$1
+android.bluetooth.BluetoothCodecStatus
android.bluetooth.BluetoothDevice$1
android.bluetooth.BluetoothDevice$2
android.bluetooth.BluetoothDevice
+android.bluetooth.BluetoothGattService$1
+android.bluetooth.BluetoothGattService
android.bluetooth.BluetoothHeadset$1
android.bluetooth.BluetoothHeadset$2
android.bluetooth.BluetoothHeadset$3
android.bluetooth.BluetoothHeadset
+android.bluetooth.BluetoothHeadsetClient
+android.bluetooth.BluetoothHearingAid$1
android.bluetooth.BluetoothHearingAid
+android.bluetooth.BluetoothHidDevice$1
android.bluetooth.BluetoothHidDevice
+android.bluetooth.BluetoothHidDeviceAppQosSettings$1
+android.bluetooth.BluetoothHidDeviceAppQosSettings
+android.bluetooth.BluetoothHidDeviceAppSdpSettings$1
+android.bluetooth.BluetoothHidDeviceAppSdpSettings
+android.bluetooth.BluetoothHidHost$1
android.bluetooth.BluetoothHidHost
android.bluetooth.BluetoothInputStream
android.bluetooth.BluetoothManager
+android.bluetooth.BluetoothMap$1
android.bluetooth.BluetoothMap
+android.bluetooth.BluetoothMapClient
android.bluetooth.BluetoothOutputStream
+android.bluetooth.BluetoothPan$1
android.bluetooth.BluetoothPan
+android.bluetooth.BluetoothPbap$1
+android.bluetooth.BluetoothPbap$2
+android.bluetooth.BluetoothPbap$ServiceListener
android.bluetooth.BluetoothPbap
+android.bluetooth.BluetoothPbapClient
android.bluetooth.BluetoothProfile$ServiceListener
android.bluetooth.BluetoothProfile
+android.bluetooth.BluetoothProfileConnector$1
+android.bluetooth.BluetoothProfileConnector$2
+android.bluetooth.BluetoothProfileConnector
+android.bluetooth.BluetoothSap$1
android.bluetooth.BluetoothSap
android.bluetooth.BluetoothServerSocket
android.bluetooth.BluetoothSocket$SocketState
@@ -710,44 +1001,80 @@ android.bluetooth.IBluetoothCallback
android.bluetooth.IBluetoothGatt$Stub$Proxy
android.bluetooth.IBluetoothGatt$Stub
android.bluetooth.IBluetoothGatt
+android.bluetooth.IBluetoothGattCallback$Stub$Proxy
+android.bluetooth.IBluetoothGattCallback$Stub
+android.bluetooth.IBluetoothGattCallback
+android.bluetooth.IBluetoothGattServerCallback$Stub$Proxy
+android.bluetooth.IBluetoothGattServerCallback$Stub
+android.bluetooth.IBluetoothGattServerCallback
android.bluetooth.IBluetoothHeadset$Stub$Proxy
android.bluetooth.IBluetoothHeadset$Stub
android.bluetooth.IBluetoothHeadset
android.bluetooth.IBluetoothHeadsetPhone$Stub$Proxy
android.bluetooth.IBluetoothHeadsetPhone$Stub
android.bluetooth.IBluetoothHeadsetPhone
+android.bluetooth.IBluetoothHearingAid$Stub$Proxy
android.bluetooth.IBluetoothHearingAid$Stub
android.bluetooth.IBluetoothHearingAid
+android.bluetooth.IBluetoothHidDevice$Stub$Proxy
android.bluetooth.IBluetoothHidDevice$Stub
android.bluetooth.IBluetoothHidDevice
+android.bluetooth.IBluetoothHidDeviceCallback$Stub$Proxy
+android.bluetooth.IBluetoothHidDeviceCallback$Stub
+android.bluetooth.IBluetoothHidDeviceCallback
+android.bluetooth.IBluetoothHidHost$Stub$Proxy
android.bluetooth.IBluetoothHidHost$Stub
android.bluetooth.IBluetoothHidHost
android.bluetooth.IBluetoothManager$Stub$Proxy
android.bluetooth.IBluetoothManager$Stub
android.bluetooth.IBluetoothManager
+android.bluetooth.IBluetoothManagerCallback$Stub$Proxy
android.bluetooth.IBluetoothManagerCallback$Stub
android.bluetooth.IBluetoothManagerCallback
+android.bluetooth.IBluetoothMap$Stub$Proxy
android.bluetooth.IBluetoothMap$Stub
android.bluetooth.IBluetoothMap
+android.bluetooth.IBluetoothMetadataListener$Stub$Proxy
android.bluetooth.IBluetoothMetadataListener$Stub
android.bluetooth.IBluetoothMetadataListener
+android.bluetooth.IBluetoothPan$Stub$Proxy
android.bluetooth.IBluetoothPan$Stub
android.bluetooth.IBluetoothPan
+android.bluetooth.IBluetoothPbap$Stub$Proxy
android.bluetooth.IBluetoothPbap$Stub
android.bluetooth.IBluetoothPbap
+android.bluetooth.IBluetoothProfileServiceConnection$Stub$Proxy
android.bluetooth.IBluetoothProfileServiceConnection$Stub
android.bluetooth.IBluetoothProfileServiceConnection
+android.bluetooth.IBluetoothSap$Stub$Proxy
android.bluetooth.IBluetoothSap$Stub
android.bluetooth.IBluetoothSap
android.bluetooth.IBluetoothSocketManager$Stub$Proxy
android.bluetooth.IBluetoothSocketManager$Stub
android.bluetooth.IBluetoothSocketManager
+android.bluetooth.IBluetoothStateChangeCallback$Stub$Proxy
android.bluetooth.IBluetoothStateChangeCallback$Stub
android.bluetooth.IBluetoothStateChangeCallback
+android.bluetooth.OobData$1
+android.bluetooth.OobData
android.bluetooth.UidTraffic$1
android.bluetooth.UidTraffic
+android.bluetooth.le.AdvertiseData$1
+android.bluetooth.le.AdvertiseData
+android.bluetooth.le.AdvertisingSetParameters$1
+android.bluetooth.le.AdvertisingSetParameters
+android.bluetooth.le.BluetoothLeScanner
+android.bluetooth.le.IAdvertisingSetCallback$Stub$Proxy
+android.bluetooth.le.IAdvertisingSetCallback$Stub
+android.bluetooth.le.IAdvertisingSetCallback
+android.bluetooth.le.IPeriodicAdvertisingCallback$Stub$Proxy
+android.bluetooth.le.IPeriodicAdvertisingCallback$Stub
+android.bluetooth.le.IPeriodicAdvertisingCallback
android.bluetooth.le.IScannerCallback$Stub$Proxy
+android.bluetooth.le.IScannerCallback$Stub
android.bluetooth.le.IScannerCallback
+android.bluetooth.le.PeriodicAdvertisingParameters$1
+android.bluetooth.le.PeriodicAdvertisingParameters
android.bluetooth.le.ScanFilter$1
android.bluetooth.le.ScanFilter$Builder
android.bluetooth.le.ScanFilter
@@ -757,7 +1084,17 @@ android.bluetooth.le.ScanResult
android.bluetooth.le.ScanSettings$1
android.bluetooth.le.ScanSettings$Builder
android.bluetooth.le.ScanSettings
+android.companion.AssociationRequest$1
+android.companion.AssociationRequest
android.companion.CompanionDeviceManager
+android.companion.ICompanionDeviceManager$Stub$Proxy
+android.companion.ICompanionDeviceManager$Stub
+android.companion.ICompanionDeviceManager
+android.companion.IFindDeviceCallback$Stub$Proxy
+android.companion.IFindDeviceCallback$Stub
+android.companion.IFindDeviceCallback
+android.compat.Compatibility$Callbacks
+android.compat.Compatibility
android.content.-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc
android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl
android.content.AbstractThreadedSyncAdapter$SyncThread
@@ -772,21 +1109,31 @@ android.content.AutofillOptions
android.content.BroadcastReceiver$PendingResult$1
android.content.BroadcastReceiver$PendingResult
android.content.BroadcastReceiver
+android.content.ClipData$1
+android.content.ClipData$Item
+android.content.ClipData
+android.content.ClipDescription$1
+android.content.ClipDescription
android.content.ClipboardManager$1
+android.content.ClipboardManager$OnPrimaryClipChangedListener
android.content.ClipboardManager
android.content.ComponentCallbacks2
android.content.ComponentCallbacks
android.content.ComponentName$1
+android.content.ComponentName$WithComponentName
android.content.ComponentName
+android.content.ContentCaptureOptions$1
android.content.ContentCaptureOptions
android.content.ContentInterface
android.content.ContentProvider$PipeDataWriter
android.content.ContentProvider$Transport
android.content.ContentProvider
android.content.ContentProviderClient$CursorWrapperInner
+android.content.ContentProviderClient$NotRespondingRunnable
android.content.ContentProviderClient
android.content.ContentProviderNative
android.content.ContentProviderOperation$1
+android.content.ContentProviderOperation$BackReference
android.content.ContentProviderOperation$Builder
android.content.ContentProviderOperation
android.content.ContentProviderProxy
@@ -794,6 +1141,7 @@ android.content.ContentProviderResult$1
android.content.ContentProviderResult
android.content.ContentResolver$1
android.content.ContentResolver$CursorWrapperInner
+android.content.ContentResolver$OpenResourceIdResult
android.content.ContentResolver$ParcelFileDescriptorInner
android.content.ContentResolver
android.content.ContentUris
@@ -815,15 +1163,19 @@ android.content.IContentProvider
android.content.IContentService$Stub$Proxy
android.content.IContentService$Stub
android.content.IContentService
+android.content.IIntentReceiver$Stub$Proxy
android.content.IIntentReceiver$Stub
android.content.IIntentReceiver
android.content.IIntentSender$Stub$Proxy
android.content.IIntentSender$Stub
android.content.IIntentSender
+android.content.IOnPrimaryClipChangedListener$Stub$Proxy
android.content.IOnPrimaryClipChangedListener$Stub
android.content.IOnPrimaryClipChangedListener
+android.content.IRestrictionsManager$Stub$Proxy
android.content.IRestrictionsManager$Stub
android.content.IRestrictionsManager
+android.content.ISyncAdapter$Stub$Proxy
android.content.ISyncAdapter$Stub
android.content.ISyncAdapter
android.content.ISyncAdapterUnsyncableAccountCallback$Stub$Proxy
@@ -832,23 +1184,30 @@ android.content.ISyncAdapterUnsyncableAccountCallback
android.content.ISyncContext$Stub$Proxy
android.content.ISyncContext$Stub
android.content.ISyncContext
+android.content.ISyncStatusObserver$Stub$Proxy
android.content.ISyncStatusObserver$Stub
android.content.ISyncStatusObserver
android.content.Intent$1
+android.content.Intent$FilterComparison
android.content.Intent
android.content.IntentFilter$1
android.content.IntentFilter$AuthorityEntry
android.content.IntentFilter$MalformedMimeTypeException
android.content.IntentFilter
android.content.IntentSender$1
+android.content.IntentSender$FinishedDispatcher
android.content.IntentSender$SendIntentException
android.content.IntentSender
android.content.Loader$ForceLoadContentObserver
android.content.Loader$OnLoadCanceledListener
android.content.Loader$OnLoadCompleteListener
android.content.Loader
+android.content.LocusId$1
+android.content.LocusId
+android.content.LoggingContentInterface
android.content.OperationApplicationException
android.content.PeriodicSync$1
+android.content.PeriodicSync
android.content.ReceiverCallNotAllowedException
android.content.RestrictionsManager
android.content.SearchRecentSuggestionsProvider$DatabaseHelper
@@ -859,7 +1218,10 @@ android.content.SharedPreferences$OnSharedPreferenceChangeListener
android.content.SharedPreferences
android.content.SyncAdapterType$1
android.content.SyncAdapterType
+android.content.SyncAdaptersCache$MySerializer
+android.content.SyncAdaptersCache
android.content.SyncContext
+android.content.SyncInfo$1
android.content.SyncRequest$1
android.content.SyncRequest$Builder
android.content.SyncRequest
@@ -867,21 +1229,40 @@ android.content.SyncResult$1
android.content.SyncResult
android.content.SyncStats$1
android.content.SyncStats
+android.content.SyncStatusInfo$1
+android.content.SyncStatusInfo$Stats
+android.content.SyncStatusInfo
android.content.SyncStatusObserver
android.content.UndoManager$UndoState
android.content.UndoManager
android.content.UndoOperation
android.content.UndoOwner
android.content.UriMatcher
+android.content.om.IOverlayManager$Stub$Proxy
+android.content.om.IOverlayManager$Stub
+android.content.om.IOverlayManager
+android.content.om.OverlayInfo$1
+android.content.om.OverlayInfo
android.content.om.OverlayManager
+android.content.pm.-$$Lambda$PackageParser$0DZRgzfgaIMpCOhJqjw6PUiU5vw
+android.content.pm.-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4
+android.content.pm.-$$Lambda$PackageParser$M-9fHqS_eEp1oYkuKJhRHOGUxf8
+android.content.pm.-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM
+android.content.pm.-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU
android.content.pm.-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE
+android.content.pm.-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g
+android.content.pm.-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc
android.content.pm.ActivityInfo$1
android.content.pm.ActivityInfo$WindowLayout
android.content.pm.ActivityInfo
-android.content.pm.parsing.library.AndroidHidlUpdater
+android.content.pm.AndroidHidlUpdater
android.content.pm.ApplicationInfo$1
android.content.pm.ApplicationInfo
+android.content.pm.AuxiliaryResolveInfo$AuxiliaryFilter
+android.content.pm.BaseParceledListSlice$1
android.content.pm.BaseParceledListSlice
+android.content.pm.ChangedPackages$1
+android.content.pm.ChangedPackages
android.content.pm.ComponentInfo
android.content.pm.ConfigurationInfo$1
android.content.pm.ConfigurationInfo
@@ -891,45 +1272,86 @@ android.content.pm.FeatureGroupInfo$1
android.content.pm.FeatureGroupInfo
android.content.pm.FeatureInfo$1
android.content.pm.FeatureInfo
+android.content.pm.ICrossProfileApps$Stub
+android.content.pm.ICrossProfileApps
+android.content.pm.IDexModuleRegisterCallback$Stub$Proxy
+android.content.pm.IDexModuleRegisterCallback$Stub
+android.content.pm.IDexModuleRegisterCallback
android.content.pm.ILauncherApps$Stub$Proxy
android.content.pm.ILauncherApps$Stub
android.content.pm.ILauncherApps
+android.content.pm.IOnAppsChangedListener$Stub$Proxy
android.content.pm.IOnAppsChangedListener$Stub
android.content.pm.IOnAppsChangedListener
-android.content.pm.IOnPermissionsChangeListener$Stub
-android.content.pm.IOnPermissionsChangeListener
+android.content.pm.IOtaDexopt$Stub
+android.content.pm.IOtaDexopt
+android.content.pm.IPackageDataObserver$Stub$Proxy
android.content.pm.IPackageDataObserver$Stub
android.content.pm.IPackageDataObserver
+android.content.pm.IPackageDeleteObserver$Stub$Proxy
+android.content.pm.IPackageDeleteObserver$Stub
+android.content.pm.IPackageDeleteObserver2$Stub$Proxy
+android.content.pm.IPackageDeleteObserver2$Stub
+android.content.pm.IPackageDeleteObserver2
android.content.pm.IPackageDeleteObserver
+android.content.pm.IPackageInstallObserver2$Stub
+android.content.pm.IPackageInstallObserver2
android.content.pm.IPackageInstaller$Stub$Proxy
android.content.pm.IPackageInstaller$Stub
android.content.pm.IPackageInstaller
+android.content.pm.IPackageInstallerCallback$Stub$Proxy
android.content.pm.IPackageInstallerCallback$Stub
android.content.pm.IPackageInstallerCallback
android.content.pm.IPackageInstallerSession$Stub$Proxy
+android.content.pm.IPackageInstallerSession$Stub
android.content.pm.IPackageInstallerSession
android.content.pm.IPackageManager$Stub$Proxy
android.content.pm.IPackageManager$Stub
android.content.pm.IPackageManager
+android.content.pm.IPackageManagerNative$Stub
+android.content.pm.IPackageManagerNative
+android.content.pm.IPackageMoveObserver$Stub$Proxy
+android.content.pm.IPackageMoveObserver$Stub
+android.content.pm.IPackageMoveObserver
+android.content.pm.IPackageStatsObserver$Stub$Proxy
android.content.pm.IPackageStatsObserver$Stub
android.content.pm.IPackageStatsObserver
android.content.pm.IShortcutService$Stub$Proxy
android.content.pm.IShortcutService$Stub
android.content.pm.IShortcutService
+android.content.pm.InstallSourceInfo
+android.content.pm.InstantAppIntentFilter$1
+android.content.pm.InstantAppIntentFilter
+android.content.pm.InstantAppRequest
+android.content.pm.InstantAppResolveInfo$1
+android.content.pm.InstantAppResolveInfo$InstantAppDigest$1
+android.content.pm.InstantAppResolveInfo$InstantAppDigest
+android.content.pm.InstantAppResolveInfo
android.content.pm.InstrumentationInfo$1
android.content.pm.InstrumentationInfo
+android.content.pm.IntentFilterVerificationInfo$1
+android.content.pm.IntentFilterVerificationInfo
+android.content.pm.KeySet$1
+android.content.pm.KeySet
+android.content.pm.LauncherActivityInfo
android.content.pm.LauncherApps$1
+android.content.pm.LauncherApps$AppUsageLimit
+android.content.pm.LauncherApps$CallbackMessageHandler
+android.content.pm.LauncherApps$ShortcutQuery
android.content.pm.LauncherApps
android.content.pm.ModuleInfo$1
android.content.pm.ModuleInfo
-android.content.pm.parsing.library.OrgApacheHttpLegacyUpdater
-android.content.pm.parsing.library.PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater
-android.content.pm.parsing.library.PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary
-android.content.pm.parsing.library.PackageBackwardCompatibility
+android.content.pm.OrgApacheHttpLegacyUpdater
+android.content.pm.PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater
+android.content.pm.PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary
+android.content.pm.PackageBackwardCompatibility
android.content.pm.PackageInfo$1
android.content.pm.PackageInfo
+android.content.pm.PackageInfoLite$1
+android.content.pm.PackageInfoLite
android.content.pm.PackageInstaller$Session
android.content.pm.PackageInstaller$SessionCallback
+android.content.pm.PackageInstaller$SessionCallbackDelegate
android.content.pm.PackageInstaller$SessionInfo$1
android.content.pm.PackageInstaller$SessionInfo
android.content.pm.PackageInstaller$SessionParams$1
@@ -948,6 +1370,8 @@ android.content.pm.PackageParser$CachedComponentArgs
android.content.pm.PackageParser$Callback
android.content.pm.PackageParser$CallbackImpl
android.content.pm.PackageParser$Component
+android.content.pm.PackageParser$Instrumentation$1
+android.content.pm.PackageParser$Instrumentation
android.content.pm.PackageParser$IntentInfo
android.content.pm.PackageParser$NewPermissionInfo
android.content.pm.PackageParser$Package$1
@@ -956,11 +1380,24 @@ android.content.pm.PackageParser$PackageLite
android.content.pm.PackageParser$PackageParserException
android.content.pm.PackageParser$ParseComponentArgs
android.content.pm.PackageParser$ParsePackageItemArgs
+android.content.pm.PackageParser$Permission$1
+android.content.pm.PackageParser$Permission
+android.content.pm.PackageParser$PermissionGroup$1
+android.content.pm.PackageParser$PermissionGroup
+android.content.pm.PackageParser$Provider$1
+android.content.pm.PackageParser$Provider
+android.content.pm.PackageParser$ProviderIntentInfo
+android.content.pm.PackageParser$Service$1
+android.content.pm.PackageParser$Service
+android.content.pm.PackageParser$ServiceIntentInfo
android.content.pm.PackageParser$SigningDetails$1
+android.content.pm.PackageParser$SigningDetails$Builder
android.content.pm.PackageParser$SigningDetails
android.content.pm.PackageParser$SplitNameComparator
android.content.pm.PackageParser
-android.content.pm.parsing.library.PackageSharedLibraryUpdater
+android.content.pm.PackageParserCacheHelper$ReadHelper
+android.content.pm.PackageParserCacheHelper$WriteHelper
+android.content.pm.PackageSharedLibraryUpdater
android.content.pm.PackageStats$1
android.content.pm.PackageStats
android.content.pm.PackageUserState
@@ -974,6 +1411,13 @@ android.content.pm.PermissionInfo$1
android.content.pm.PermissionInfo
android.content.pm.ProviderInfo$1
android.content.pm.ProviderInfo
+android.content.pm.RegisteredServicesCache$1
+android.content.pm.RegisteredServicesCache$2
+android.content.pm.RegisteredServicesCache$3
+android.content.pm.RegisteredServicesCache$ServiceInfo
+android.content.pm.RegisteredServicesCache$UserServices
+android.content.pm.RegisteredServicesCache
+android.content.pm.RegisteredServicesCacheListener
android.content.pm.ResolveInfo$1
android.content.pm.ResolveInfo
android.content.pm.SELinuxUtil
@@ -985,27 +1429,45 @@ android.content.pm.ShortcutInfo$1
android.content.pm.ShortcutInfo$Builder
android.content.pm.ShortcutInfo
android.content.pm.ShortcutManager
+android.content.pm.ShortcutServiceInternal$ShortcutChangeListener
+android.content.pm.ShortcutServiceInternal
android.content.pm.Signature$1
android.content.pm.Signature
android.content.pm.SigningInfo$1
+android.content.pm.SigningInfo
android.content.pm.StringParceledListSlice$1
android.content.pm.StringParceledListSlice
+android.content.pm.SuspendDialogInfo$1
+android.content.pm.SuspendDialogInfo
android.content.pm.UserInfo$1
android.content.pm.UserInfo
+android.content.pm.VerifierDeviceIdentity
android.content.pm.VerifierInfo$1
android.content.pm.VerifierInfo
android.content.pm.VersionedPackage$1
android.content.pm.VersionedPackage
+android.content.pm.XmlSerializerAndParser
android.content.pm.dex.ArtManager
+android.content.pm.dex.ArtManagerInternal
+android.content.pm.dex.DexMetadataHelper
+android.content.pm.dex.IArtManager$Stub
android.content.pm.dex.IArtManager
+android.content.pm.dex.ISnapshotRuntimeProfileCallback$Stub$Proxy
+android.content.pm.dex.ISnapshotRuntimeProfileCallback$Stub
+android.content.pm.dex.ISnapshotRuntimeProfileCallback
+android.content.pm.dex.PackageOptimizationInfo
+android.content.pm.permission.SplitPermissionInfoParcelable
android.content.pm.split.DefaultSplitAssetLoader
+android.content.pm.split.SplitAssetDependencyLoader
android.content.pm.split.SplitAssetLoader
android.content.pm.split.SplitDependencyLoader$IllegalDependencyException
+android.content.pm.split.SplitDependencyLoader
android.content.res.-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4
android.content.res.-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90
android.content.res.-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og
android.content.res.ApkAssets
android.content.res.AssetFileDescriptor$1
+android.content.res.AssetFileDescriptor$AutoCloseInputStream
android.content.res.AssetFileDescriptor
android.content.res.AssetManager$AssetInputStream
android.content.res.AssetManager$Builder
@@ -1016,6 +1478,7 @@ android.content.res.ColorStateList
android.content.res.CompatResources
android.content.res.CompatibilityInfo$1
android.content.res.CompatibilityInfo$2
+android.content.res.CompatibilityInfo$Translator
android.content.res.CompatibilityInfo
android.content.res.ComplexColor
android.content.res.Configuration$1
@@ -1023,7 +1486,12 @@ android.content.res.Configuration
android.content.res.ConfigurationBoundResourceCache
android.content.res.ConstantState
android.content.res.DrawableCache
+android.content.res.FontResourcesParser$FamilyResourceEntry
+android.content.res.FontResourcesParser$FontFamilyFilesResourceEntry
+android.content.res.FontResourcesParser$FontFileResourceEntry
+android.content.res.FontResourcesParser$ProviderResourceEntry
android.content.res.FontResourcesParser
+android.content.res.GradientColor$GradientColorFactory
android.content.res.GradientColor
android.content.res.ObbInfo$1
android.content.res.ObbInfo
@@ -1037,6 +1505,7 @@ android.content.res.ResourcesImpl$LookupStack
android.content.res.ResourcesImpl$ThemeImpl
android.content.res.ResourcesImpl
android.content.res.ResourcesKey
+android.content.res.StringBlock$Height
android.content.res.StringBlock$StyleIDs
android.content.res.StringBlock
android.content.res.ThemedResourceCache
@@ -1044,6 +1513,11 @@ android.content.res.TypedArray
android.content.res.XmlBlock$Parser
android.content.res.XmlBlock
android.content.res.XmlResourceParser
+android.content.res.loader.ResourceLoader
+android.content.res.loader.ResourceLoaderManager
+android.content.rollback.IRollbackManager$Stub$Proxy
+android.content.rollback.IRollbackManager$Stub
+android.content.rollback.IRollbackManager
android.content.rollback.RollbackManager
android.database.AbstractCursor$SelfContentObserver
android.database.AbstractCursor
@@ -1082,8 +1556,10 @@ android.database.MergeCursor$1
android.database.MergeCursor
android.database.Observable
android.database.SQLException
+android.database.StaleDataException
android.database.sqlite.-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q
android.database.sqlite.DatabaseObjectNotClosedException
+android.database.sqlite.SQLiteBindOrColumnIndexOutOfRangeException
android.database.sqlite.SQLiteCantOpenDatabaseException
android.database.sqlite.SQLiteClosable
android.database.sqlite.SQLiteCompatibilityWalFlags
@@ -1092,6 +1568,7 @@ android.database.sqlite.SQLiteConnection$OperationLog
android.database.sqlite.SQLiteConnection$PreparedStatement
android.database.sqlite.SQLiteConnection$PreparedStatementCache
android.database.sqlite.SQLiteConnection
+android.database.sqlite.SQLiteConnectionPool$1
android.database.sqlite.SQLiteConnectionPool$AcquiredConnectionStatus
android.database.sqlite.SQLiteConnectionPool$ConnectionWaiter
android.database.sqlite.SQLiteConnectionPool$IdleConnectionHandler
@@ -1125,6 +1602,7 @@ android.database.sqlite.SQLiteSession
android.database.sqlite.SQLiteStatement
android.database.sqlite.SQLiteStatementInfo
android.database.sqlite.SQLiteTransactionListener
+android.database.sqlite.SqliteWrapper
android.ddm.DdmHandleAppName
android.ddm.DdmHandleExit
android.ddm.DdmHandleHeap
@@ -1135,13 +1613,21 @@ android.ddm.DdmHandleThread
android.ddm.DdmHandleViewDebug
android.ddm.DdmRegister
android.debug.AdbManager
+android.debug.AdbManagerInternal
+android.debug.IAdbManager$Stub
+android.debug.IAdbManager
+android.debug.IAdbTransport$Stub
+android.debug.IAdbTransport
android.graphics.-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw
android.graphics.-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM
android.graphics.-$$Lambda$ColorSpace$Rgb$CqKld6797g7__JnuY0NeFz5q4_E
+android.graphics.-$$Lambda$ColorSpace$Rgb$V_0lmM2WEpxGBDV_1G1wvvidn7Y
android.graphics.-$$Lambda$ColorSpace$Rgb$ZvS77aTfobOSa2o9MTqYMph4Rcg
android.graphics.-$$Lambda$ColorSpace$Rgb$b9VGKuNnse0bbguR9jbOM_wK2Ac
android.graphics.-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY
+android.graphics.-$$Lambda$ColorSpace$Rgb$iMkODTKa3_8kPZUnZZerD2Lv-yo
android.graphics.-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE
+android.graphics.BLASTBufferQueue
android.graphics.BaseCanvas
android.graphics.BaseRecordingCanvas
android.graphics.Bitmap$1
@@ -1153,6 +1639,7 @@ android.graphics.BitmapFactory$Options
android.graphics.BitmapFactory
android.graphics.BitmapRegionDecoder
android.graphics.BitmapShader
+android.graphics.BlendMode$1
android.graphics.BlendMode
android.graphics.BlendModeColorFilter
android.graphics.BlurMaskFilter$Blur
@@ -1168,9 +1655,11 @@ android.graphics.ColorFilter
android.graphics.ColorMatrix
android.graphics.ColorMatrixColorFilter
android.graphics.ColorSpace$Adaptation
+android.graphics.ColorSpace$Connector
android.graphics.ColorSpace$Lab
android.graphics.ColorSpace$Model
android.graphics.ColorSpace$Named
+android.graphics.ColorSpace$RenderIntent
android.graphics.ColorSpace$Rgb$NoImagePreloadHolder
android.graphics.ColorSpace$Rgb$TransferParameters
android.graphics.ColorSpace$Rgb
@@ -1191,6 +1680,7 @@ android.graphics.GraphicBuffer
android.graphics.HardwareRenderer$DestroyContextRunnable
android.graphics.HardwareRenderer$FrameCompleteCallback
android.graphics.HardwareRenderer$FrameDrawingCallback
+android.graphics.HardwareRenderer$FrameRenderRequest
android.graphics.HardwareRenderer$ProcessInitializer$1
android.graphics.HardwareRenderer$ProcessInitializer
android.graphics.HardwareRenderer
@@ -1205,6 +1695,7 @@ android.graphics.Insets$1
android.graphics.Insets
android.graphics.Interpolator$Result
android.graphics.Interpolator
+android.graphics.LeakyTypefaceStorage
android.graphics.LightingColorFilter
android.graphics.LinearGradient
android.graphics.MaskFilter
@@ -1227,6 +1718,7 @@ android.graphics.Paint
android.graphics.PaintFlagsDrawFilter
android.graphics.Path$Direction
android.graphics.Path$FillType
+android.graphics.Path$Op
android.graphics.Path
android.graphics.PathDashPathEffect
android.graphics.PathEffect
@@ -1244,6 +1736,7 @@ android.graphics.PorterDuffXfermode
android.graphics.RadialGradient
android.graphics.RecordingCanvas
android.graphics.Rect$1
+android.graphics.Rect$UnflattenHelper
android.graphics.Rect
android.graphics.RectF$1
android.graphics.RectF
@@ -1252,9 +1745,11 @@ android.graphics.Region$Op
android.graphics.Region
android.graphics.RegionIterator
android.graphics.RenderNode$AnimationHost
+android.graphics.RenderNode$CompositePositionUpdateListener
android.graphics.RenderNode$NoImagePreloadHolder
android.graphics.RenderNode$PositionUpdateListener
android.graphics.RenderNode
+android.graphics.RuntimeShader
android.graphics.Shader$NoImagePreloadHolder
android.graphics.Shader$TileMode
android.graphics.Shader
@@ -1270,25 +1765,33 @@ android.graphics.Typeface$CustomFallbackBuilder
android.graphics.Typeface
android.graphics.Xfermode
android.graphics.YuvImage
+android.graphics.drawable.-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8
android.graphics.drawable.-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw
+android.graphics.drawable.-$$Lambda$Drawable$bbJz2VgQAwkXlE27mR8nPMYacEw
android.graphics.drawable.-$$Lambda$NinePatchDrawable$yQvfm7FAkslD5wdGFysjgwt8cLE
android.graphics.drawable.AdaptiveIconDrawable$ChildDrawable
android.graphics.drawable.AdaptiveIconDrawable$LayerState
android.graphics.drawable.AdaptiveIconDrawable
android.graphics.drawable.Animatable2
android.graphics.drawable.Animatable
+android.graphics.drawable.AnimatedImageDrawable$State
android.graphics.drawable.AnimatedImageDrawable
+android.graphics.drawable.AnimatedRotateDrawable$1
android.graphics.drawable.AnimatedRotateDrawable$AnimatedRotateState
android.graphics.drawable.AnimatedRotateDrawable
+android.graphics.drawable.AnimatedStateListDrawable$AnimatableTransition
android.graphics.drawable.AnimatedStateListDrawable$AnimatedStateListState
android.graphics.drawable.AnimatedStateListDrawable$AnimatedVectorDrawableTransition
+android.graphics.drawable.AnimatedStateListDrawable$AnimationDrawableTransition
android.graphics.drawable.AnimatedStateListDrawable$Transition
android.graphics.drawable.AnimatedStateListDrawable
android.graphics.drawable.AnimatedVectorDrawable$1
+android.graphics.drawable.AnimatedVectorDrawable$2
android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator
android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState
android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimator
android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT
+android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorUI
android.graphics.drawable.AnimatedVectorDrawable
android.graphics.drawable.AnimationDrawable$AnimationState
android.graphics.drawable.AnimationDrawable
@@ -1298,9 +1801,12 @@ android.graphics.drawable.ClipDrawable$ClipState
android.graphics.drawable.ClipDrawable
android.graphics.drawable.ColorDrawable$ColorState
android.graphics.drawable.ColorDrawable
+android.graphics.drawable.ColorStateListDrawable$ColorStateListDrawableState
+android.graphics.drawable.ColorStateListDrawable
android.graphics.drawable.Drawable$Callback
android.graphics.drawable.Drawable$ConstantState
android.graphics.drawable.Drawable
+android.graphics.drawable.DrawableContainer$1
android.graphics.drawable.DrawableContainer$BlockInvalidateCallback
android.graphics.drawable.DrawableContainer$DrawableContainerState
android.graphics.drawable.DrawableContainer
@@ -1319,6 +1825,8 @@ android.graphics.drawable.InsetDrawable
android.graphics.drawable.LayerDrawable$ChildDrawable
android.graphics.drawable.LayerDrawable$LayerState
android.graphics.drawable.LayerDrawable
+android.graphics.drawable.LevelListDrawable$LevelListState
+android.graphics.drawable.LevelListDrawable
android.graphics.drawable.NinePatchDrawable$NinePatchState
android.graphics.drawable.NinePatchDrawable
android.graphics.drawable.PaintDrawable
@@ -1337,6 +1845,7 @@ android.graphics.drawable.RotateDrawable$RotateState
android.graphics.drawable.RotateDrawable
android.graphics.drawable.ScaleDrawable$ScaleState
android.graphics.drawable.ScaleDrawable
+android.graphics.drawable.ShapeDrawable$ShaderFactory
android.graphics.drawable.ShapeDrawable$ShapeState
android.graphics.drawable.ShapeDrawable
android.graphics.drawable.StateListDrawable$StateListState
@@ -1372,6 +1881,7 @@ android.graphics.drawable.VectorDrawable$VectorDrawableState$1
android.graphics.drawable.VectorDrawable$VectorDrawableState
android.graphics.drawable.VectorDrawable
android.graphics.drawable.shapes.OvalShape
+android.graphics.drawable.shapes.PathShape
android.graphics.drawable.shapes.RectShape
android.graphics.drawable.shapes.RoundRectShape
android.graphics.drawable.shapes.Shape
@@ -1381,6 +1891,7 @@ android.graphics.fonts.FontCustomizationParser$Result
android.graphics.fonts.FontCustomizationParser
android.graphics.fonts.FontFamily$Builder
android.graphics.fonts.FontFamily
+android.graphics.fonts.FontFileUtil
android.graphics.fonts.FontStyle
android.graphics.fonts.FontVariationAxis
android.graphics.fonts.SystemFonts
@@ -1393,10 +1904,15 @@ android.graphics.text.LineBreaker$Result
android.graphics.text.LineBreaker
android.graphics.text.MeasuredText$Builder
android.graphics.text.MeasuredText
+android.gsi.GsiProgress
+android.gsi.IGsiService$Stub$Proxy
+android.gsi.IGsiService$Stub
+android.gsi.IGsiService
android.hardware.Camera$CameraInfo
android.hardware.Camera$Face
android.hardware.Camera
android.hardware.CameraStatus$1
+android.hardware.CameraStatus
android.hardware.ConsumerIrManager
android.hardware.GeomagneticField$LegendreTable
android.hardware.GeomagneticField
@@ -1407,23 +1923,58 @@ android.hardware.ICameraService$Stub
android.hardware.ICameraService
android.hardware.ICameraServiceListener$Stub
android.hardware.ICameraServiceListener
+android.hardware.ICameraServiceProxy$Stub
+android.hardware.ICameraServiceProxy
+android.hardware.IConsumerIrService$Stub
+android.hardware.IConsumerIrService
+android.hardware.ISensorPrivacyListener$Stub$Proxy
+android.hardware.ISensorPrivacyListener$Stub
+android.hardware.ISensorPrivacyListener
+android.hardware.ISensorPrivacyManager$Stub$Proxy
+android.hardware.ISensorPrivacyManager$Stub
+android.hardware.ISensorPrivacyManager
+android.hardware.ISerialManager$Stub
+android.hardware.ISerialManager
android.hardware.Sensor
+android.hardware.SensorAdditionalInfo
android.hardware.SensorEvent
android.hardware.SensorEventListener
android.hardware.SensorManager
+android.hardware.SensorPrivacyManager$1
android.hardware.SensorPrivacyManager
android.hardware.SerialManager
android.hardware.SerialPort
android.hardware.SystemSensorManager$BaseEventQueue
android.hardware.SystemSensorManager$SensorEventQueue
+android.hardware.SystemSensorManager$TriggerEventQueue
android.hardware.SystemSensorManager
+android.hardware.TriggerEvent
android.hardware.TriggerEventListener
+android.hardware.biometrics.BiometricAuthenticator$Identifier
android.hardware.biometrics.BiometricAuthenticator
android.hardware.biometrics.BiometricFaceConstants
android.hardware.biometrics.BiometricFingerprintConstants
android.hardware.biometrics.BiometricManager
+android.hardware.biometrics.BiometricSourceType$1
+android.hardware.biometrics.BiometricSourceType
+android.hardware.biometrics.IAuthService
+android.hardware.biometrics.IBiometricAuthenticator$Stub
+android.hardware.biometrics.IBiometricAuthenticator
+android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback$Stub$Proxy
+android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback$Stub
+android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback
+android.hardware.biometrics.IBiometricService$Stub$Proxy
+android.hardware.biometrics.IBiometricService$Stub
+android.hardware.biometrics.IBiometricService
+android.hardware.biometrics.IBiometricServiceLockoutResetCallback$Stub$Proxy
android.hardware.biometrics.IBiometricServiceLockoutResetCallback$Stub
android.hardware.biometrics.IBiometricServiceLockoutResetCallback
+android.hardware.biometrics.IBiometricServiceReceiver$Stub$Proxy
+android.hardware.biometrics.IBiometricServiceReceiver$Stub
+android.hardware.biometrics.IBiometricServiceReceiver
+android.hardware.biometrics.IBiometricServiceReceiverInternal$Stub$Proxy
+android.hardware.biometrics.IBiometricServiceReceiverInternal$Stub
+android.hardware.biometrics.IBiometricServiceReceiverInternal
android.hardware.camera2.CameraAccessException
android.hardware.camera2.CameraCharacteristics$1
android.hardware.camera2.CameraCharacteristics$2
@@ -1432,7 +1983,11 @@ android.hardware.camera2.CameraCharacteristics$4
android.hardware.camera2.CameraCharacteristics$5
android.hardware.camera2.CameraCharacteristics$Key
android.hardware.camera2.CameraCharacteristics
+android.hardware.camera2.CameraDevice
+android.hardware.camera2.CameraManager$AvailabilityCallback
android.hardware.camera2.CameraManager$CameraManagerGlobal$1
+android.hardware.camera2.CameraManager$CameraManagerGlobal
+android.hardware.camera2.CameraManager$TorchCallback
android.hardware.camera2.CameraManager
android.hardware.camera2.CameraMetadata
android.hardware.camera2.CaptureRequest$1
@@ -1445,6 +2000,8 @@ android.hardware.camera2.CaptureResult$3
android.hardware.camera2.CaptureResult$Key
android.hardware.camera2.CaptureResult
android.hardware.camera2.DngCreator
+android.hardware.camera2.impl.CameraDeviceImpl$CameraHandlerExecutor
+android.hardware.camera2.impl.CameraDeviceImpl
android.hardware.camera2.impl.CameraMetadataNative$10
android.hardware.camera2.impl.CameraMetadataNative$11
android.hardware.camera2.impl.CameraMetadataNative$12
@@ -1458,6 +2015,7 @@ android.hardware.camera2.impl.CameraMetadataNative$19
android.hardware.camera2.impl.CameraMetadataNative$1
android.hardware.camera2.impl.CameraMetadataNative$20
android.hardware.camera2.impl.CameraMetadataNative$21
+android.hardware.camera2.impl.CameraMetadataNative$22
android.hardware.camera2.impl.CameraMetadataNative$2
android.hardware.camera2.impl.CameraMetadataNative$3
android.hardware.camera2.impl.CameraMetadataNative$4
@@ -1472,6 +2030,7 @@ android.hardware.camera2.impl.GetCommand
android.hardware.camera2.impl.SetCommand
android.hardware.camera2.legacy.LegacyCameraDevice
android.hardware.camera2.legacy.LegacyExceptionUtils$BufferQueueAbandonedException
+android.hardware.camera2.legacy.LegacyMetadataMapper
android.hardware.camera2.legacy.PerfMeasurement
android.hardware.camera2.marshal.MarshalHelpers
android.hardware.camera2.marshal.MarshalQueryable
@@ -1480,7 +2039,9 @@ android.hardware.camera2.marshal.MarshalRegistry
android.hardware.camera2.marshal.Marshaler
android.hardware.camera2.marshal.impl.MarshalQueryableArray
android.hardware.camera2.marshal.impl.MarshalQueryableBlackLevelPattern
+android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean
android.hardware.camera2.marshal.impl.MarshalQueryableBoolean
+android.hardware.camera2.marshal.impl.MarshalQueryableCapabilityAndMaxSize
android.hardware.camera2.marshal.impl.MarshalQueryableColorSpaceTransform
android.hardware.camera2.marshal.impl.MarshalQueryableEnum
android.hardware.camera2.marshal.impl.MarshalQueryableHighSpeedVideoConfiguration
@@ -1501,6 +2062,7 @@ android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfiguration
android.hardware.camera2.marshal.impl.MarshalQueryableStreamConfigurationDuration
android.hardware.camera2.marshal.impl.MarshalQueryableString
android.hardware.camera2.params.BlackLevelPattern
+android.hardware.camera2.params.CapabilityAndMaxSize
android.hardware.camera2.params.ColorSpaceTransform
android.hardware.camera2.params.Face
android.hardware.camera2.params.HighSpeedVideoConfiguration
@@ -1519,31 +2081,65 @@ android.hardware.camera2.params.StreamConfiguration
android.hardware.camera2.params.StreamConfigurationDuration
android.hardware.camera2.params.StreamConfigurationMap
android.hardware.camera2.params.TonemapCurve
+android.hardware.camera2.utils.ArrayUtils
android.hardware.camera2.utils.TypeReference$SpecializedTypeReference
android.hardware.camera2.utils.TypeReference
+android.hardware.contexthub.V1_0.ContextHub
+android.hardware.contexthub.V1_0.ContextHubMsg
+android.hardware.contexthub.V1_0.HubAppInfo
+android.hardware.contexthub.V1_0.IContexthub$Proxy
+android.hardware.contexthub.V1_0.IContexthub
+android.hardware.contexthub.V1_0.IContexthubCallback$Stub
+android.hardware.contexthub.V1_0.IContexthubCallback
+android.hardware.contexthub.V1_0.MemRange
+android.hardware.contexthub.V1_0.NanoAppBinary
+android.hardware.contexthub.V1_0.PhysicalSensor
+android.hardware.display.-$$Lambda$NightDisplayListener$sOK1HmSbMnFLzc4SdDD1WpVWJiI
android.hardware.display.AmbientBrightnessDayStats$1
android.hardware.display.AmbientBrightnessDayStats
+android.hardware.display.AmbientDisplayConfiguration
android.hardware.display.BrightnessChangeEvent$1
+android.hardware.display.BrightnessChangeEvent$Builder
android.hardware.display.BrightnessChangeEvent
android.hardware.display.BrightnessConfiguration$1
android.hardware.display.BrightnessConfiguration$Builder
android.hardware.display.BrightnessConfiguration
+android.hardware.display.BrightnessCorrection$1
+android.hardware.display.BrightnessCorrection$BrightnessCorrectionImplementation
+android.hardware.display.BrightnessCorrection$ScaleAndTranslateLog
+android.hardware.display.BrightnessCorrection
android.hardware.display.ColorDisplayManager$ColorDisplayManagerInternal
android.hardware.display.ColorDisplayManager
+android.hardware.display.Curve$1
+android.hardware.display.Curve
android.hardware.display.DisplayManager$DisplayListener
android.hardware.display.DisplayManager
android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback
android.hardware.display.DisplayManagerGlobal
+android.hardware.display.DisplayManagerInternal$DisplayPowerCallbacks
+android.hardware.display.DisplayManagerInternal$DisplayPowerRequest
+android.hardware.display.DisplayManagerInternal
+android.hardware.display.DisplayViewport
android.hardware.display.DisplayedContentSample
android.hardware.display.DisplayedContentSamplingAttributes
android.hardware.display.IColorDisplayManager$Stub$Proxy
+android.hardware.display.IColorDisplayManager$Stub
android.hardware.display.IColorDisplayManager
android.hardware.display.IDisplayManager$Stub$Proxy
android.hardware.display.IDisplayManager$Stub
android.hardware.display.IDisplayManager
+android.hardware.display.IDisplayManagerCallback$Stub$Proxy
android.hardware.display.IDisplayManagerCallback$Stub
android.hardware.display.IDisplayManagerCallback
+android.hardware.display.IVirtualDisplayCallback$Stub$Proxy
+android.hardware.display.IVirtualDisplayCallback$Stub
+android.hardware.display.IVirtualDisplayCallback
+android.hardware.display.NightDisplayListener$1
+android.hardware.display.NightDisplayListener$Callback
+android.hardware.display.NightDisplayListener
+android.hardware.display.Time$1
+android.hardware.display.Time
android.hardware.display.WifiDisplay$1
android.hardware.display.WifiDisplay
android.hardware.display.WifiDisplaySessionInfo$1
@@ -1552,77 +2148,255 @@ android.hardware.display.WifiDisplayStatus$1
android.hardware.display.WifiDisplayStatus
android.hardware.face.FaceManager
android.hardware.fingerprint.Fingerprint$1
+android.hardware.fingerprint.Fingerprint
android.hardware.fingerprint.FingerprintManager$1
+android.hardware.fingerprint.FingerprintManager$2
android.hardware.fingerprint.FingerprintManager$MyHandler
android.hardware.fingerprint.FingerprintManager
+android.hardware.fingerprint.IFingerprintClientActiveCallback$Stub$Proxy
+android.hardware.fingerprint.IFingerprintClientActiveCallback$Stub
+android.hardware.fingerprint.IFingerprintClientActiveCallback
android.hardware.fingerprint.IFingerprintService$Stub$Proxy
android.hardware.fingerprint.IFingerprintService$Stub
android.hardware.fingerprint.IFingerprintService
+android.hardware.fingerprint.IFingerprintServiceReceiver$Stub$Proxy
android.hardware.fingerprint.IFingerprintServiceReceiver$Stub
android.hardware.fingerprint.IFingerprintServiceReceiver
android.hardware.hdmi.HdmiControlManager
+android.hardware.hdmi.HdmiPlaybackClient$DisplayStatusCallback
+android.hardware.input.IInputDevicesChangedListener$Stub$Proxy
android.hardware.input.IInputDevicesChangedListener$Stub
android.hardware.input.IInputDevicesChangedListener
android.hardware.input.IInputManager$Stub$Proxy
android.hardware.input.IInputManager$Stub
android.hardware.input.IInputManager
+android.hardware.input.ITabletModeChangedListener$Stub$Proxy
+android.hardware.input.ITabletModeChangedListener$Stub
+android.hardware.input.ITabletModeChangedListener
android.hardware.input.InputDeviceIdentifier$1
android.hardware.input.InputDeviceIdentifier
android.hardware.input.InputManager$InputDeviceListener
android.hardware.input.InputManager$InputDeviceListenerDelegate
android.hardware.input.InputManager$InputDevicesChangedListener
android.hardware.input.InputManager
+android.hardware.input.InputManagerInternal
+android.hardware.input.KeyboardLayout$1
+android.hardware.input.KeyboardLayout
+android.hardware.input.TouchCalibration$1
+android.hardware.input.TouchCalibration
android.hardware.iris.IrisManager
android.hardware.location.ActivityRecognitionHardware
+android.hardware.location.ContextHubClient
+android.hardware.location.ContextHubInfo$1
+android.hardware.location.ContextHubInfo
+android.hardware.location.ContextHubManager$2
+android.hardware.location.ContextHubManager$3
+android.hardware.location.ContextHubManager$4
+android.hardware.location.ContextHubManager$Callback
android.hardware.location.ContextHubManager
+android.hardware.location.ContextHubMessage$1
+android.hardware.location.ContextHubMessage
+android.hardware.location.ContextHubTransaction
+android.hardware.location.GeofenceHardwareImpl$1
+android.hardware.location.GeofenceHardwareImpl$2
+android.hardware.location.GeofenceHardwareImpl$3
+android.hardware.location.GeofenceHardwareImpl$GeofenceTransition
+android.hardware.location.GeofenceHardwareImpl$Reaper
+android.hardware.location.GeofenceHardwareImpl
+android.hardware.location.GeofenceHardwareMonitorEvent$1
+android.hardware.location.GeofenceHardwareMonitorEvent
+android.hardware.location.GeofenceHardwareRequest
+android.hardware.location.GeofenceHardwareRequestParcelable$1
+android.hardware.location.GeofenceHardwareRequestParcelable
+android.hardware.location.GeofenceHardwareService$1
+android.hardware.location.GeofenceHardwareService
+android.hardware.location.IActivityRecognitionHardware$Stub$Proxy
android.hardware.location.IActivityRecognitionHardware$Stub
android.hardware.location.IActivityRecognitionHardware
+android.hardware.location.IActivityRecognitionHardwareClient$Stub$Proxy
+android.hardware.location.IActivityRecognitionHardwareClient$Stub
+android.hardware.location.IActivityRecognitionHardwareClient
+android.hardware.location.IContextHubCallback$Stub$Proxy
+android.hardware.location.IContextHubCallback$Stub
+android.hardware.location.IContextHubCallback
+android.hardware.location.IContextHubClient$Stub$Proxy
+android.hardware.location.IContextHubClient$Stub
+android.hardware.location.IContextHubClient
+android.hardware.location.IContextHubClientCallback$Stub$Proxy
+android.hardware.location.IContextHubClientCallback$Stub
+android.hardware.location.IContextHubClientCallback
+android.hardware.location.IContextHubService$Stub$Proxy
+android.hardware.location.IContextHubService$Stub
+android.hardware.location.IContextHubService
+android.hardware.location.IContextHubTransactionCallback$Stub$Proxy
+android.hardware.location.IContextHubTransactionCallback$Stub
+android.hardware.location.IContextHubTransactionCallback
+android.hardware.location.IGeofenceHardware$Stub$Proxy
+android.hardware.location.IGeofenceHardware$Stub
+android.hardware.location.IGeofenceHardware
+android.hardware.location.IGeofenceHardwareCallback$Stub$Proxy
+android.hardware.location.IGeofenceHardwareCallback$Stub
+android.hardware.location.IGeofenceHardwareCallback
+android.hardware.location.IGeofenceHardwareMonitorCallback$Stub$Proxy
+android.hardware.location.IGeofenceHardwareMonitorCallback$Stub
+android.hardware.location.IGeofenceHardwareMonitorCallback
+android.hardware.location.MemoryRegion$1
+android.hardware.location.MemoryRegion
+android.hardware.location.NanoApp$1
+android.hardware.location.NanoApp
+android.hardware.location.NanoAppBinary$1
+android.hardware.location.NanoAppBinary
+android.hardware.location.NanoAppFilter$1
+android.hardware.location.NanoAppFilter
+android.hardware.location.NanoAppInstanceInfo$1
+android.hardware.location.NanoAppInstanceInfo
+android.hardware.location.NanoAppMessage$1
+android.hardware.location.NanoAppMessage
+android.hardware.location.NanoAppState$1
+android.hardware.location.NanoAppState
+android.hardware.radio.ITuner$Stub
+android.hardware.radio.ITuner
+android.hardware.radio.ITunerCallback
+android.hardware.radio.ProgramSelector$1
+android.hardware.radio.ProgramSelector$Identifier$1
+android.hardware.radio.ProgramSelector$Identifier
+android.hardware.radio.ProgramSelector
+android.hardware.radio.RadioManager$AmBandConfig$1
+android.hardware.radio.RadioManager$AmBandConfig
+android.hardware.radio.RadioManager$AmBandDescriptor$1
+android.hardware.radio.RadioManager$AmBandDescriptor
+android.hardware.radio.RadioManager$BandConfig$1
+android.hardware.radio.RadioManager$BandConfig
+android.hardware.radio.RadioManager$BandDescriptor$1
+android.hardware.radio.RadioManager$BandDescriptor
+android.hardware.radio.RadioManager$FmBandConfig$1
+android.hardware.radio.RadioManager$FmBandConfig
+android.hardware.radio.RadioManager$FmBandDescriptor$1
+android.hardware.radio.RadioManager$FmBandDescriptor
+android.hardware.radio.RadioManager$ModuleProperties$1
+android.hardware.radio.RadioManager$ModuleProperties
+android.hardware.radio.RadioManager$ProgramInfo$1
+android.hardware.radio.RadioManager$ProgramInfo
android.hardware.radio.RadioManager
+android.hardware.radio.RadioMetadata$1
+android.hardware.radio.RadioMetadata
android.hardware.radio.V1_0.ActivityStatsInfo
+android.hardware.radio.V1_0.AppStatus
+android.hardware.radio.V1_0.Call
+android.hardware.radio.V1_0.CallForwardInfo
android.hardware.radio.V1_0.CardStatus
+android.hardware.radio.V1_0.CarrierRestrictions
android.hardware.radio.V1_0.CdmaBroadcastSmsConfigInfo
+android.hardware.radio.V1_0.CdmaCallWaiting
+android.hardware.radio.V1_0.CdmaInformationRecords
+android.hardware.radio.V1_0.CdmaSignalInfoRecord
android.hardware.radio.V1_0.CdmaSignalStrength
+android.hardware.radio.V1_0.CdmaSmsAddress
+android.hardware.radio.V1_0.CdmaSmsMessage
+android.hardware.radio.V1_0.CdmaSmsSubaddress
+android.hardware.radio.V1_0.CellIdentity
+android.hardware.radio.V1_0.CellIdentityCdma
+android.hardware.radio.V1_0.CellIdentityGsm
+android.hardware.radio.V1_0.CellIdentityLte
+android.hardware.radio.V1_0.CellIdentityTdscdma
+android.hardware.radio.V1_0.CellIdentityWcdma
+android.hardware.radio.V1_0.CellInfo
+android.hardware.radio.V1_0.CellInfoGsm
+android.hardware.radio.V1_0.CellInfoLte
+android.hardware.radio.V1_0.CellInfoTdscdma
android.hardware.radio.V1_0.CellInfoType
+android.hardware.radio.V1_0.CellInfoWcdma
+android.hardware.radio.V1_0.DataCallFailCause
+android.hardware.radio.V1_0.DataProfileInfo
android.hardware.radio.V1_0.DataRegStateResult
android.hardware.radio.V1_0.EvdoSignalStrength
android.hardware.radio.V1_0.GsmBroadcastSmsConfigInfo
android.hardware.radio.V1_0.GsmSignalStrength
+android.hardware.radio.V1_0.GsmSmsMessage
android.hardware.radio.V1_0.HardwareConfig
+android.hardware.radio.V1_0.HardwareConfigModem
+android.hardware.radio.V1_0.HardwareConfigSim
android.hardware.radio.V1_0.IRadio
android.hardware.radio.V1_0.IRadioIndication
android.hardware.radio.V1_0.IRadioResponse
+android.hardware.radio.V1_0.IccIo
android.hardware.radio.V1_0.IccIoResult
+android.hardware.radio.V1_0.ImsSmsMessage
+android.hardware.radio.V1_0.LastCallFailCauseInfo
+android.hardware.radio.V1_0.LceDataInfo
+android.hardware.radio.V1_0.LceStatusInfo
android.hardware.radio.V1_0.LteSignalStrength
+android.hardware.radio.V1_0.NeighboringCell
+android.hardware.radio.V1_0.OperatorInfo
+android.hardware.radio.V1_0.PcoDataInfo
android.hardware.radio.V1_0.RadioCapability
android.hardware.radio.V1_0.RadioResponseInfo
android.hardware.radio.V1_0.RegState
+android.hardware.radio.V1_0.SendSmsResult
+android.hardware.radio.V1_0.SetupDataCallResult
+android.hardware.radio.V1_0.SignalStrength
+android.hardware.radio.V1_0.SimApdu
+android.hardware.radio.V1_0.SimRefreshResult
+android.hardware.radio.V1_0.StkCcUnsolSsResult
+android.hardware.radio.V1_0.SuppSvcNotification
android.hardware.radio.V1_0.TdScdmaSignalStrength
+android.hardware.radio.V1_0.UusInfo
android.hardware.radio.V1_0.VoiceRegStateResult
android.hardware.radio.V1_0.WcdmaSignalStrength
+android.hardware.radio.V1_1.IRadio$Proxy
android.hardware.radio.V1_1.IRadio
android.hardware.radio.V1_1.IRadioIndication
android.hardware.radio.V1_1.IRadioResponse
+android.hardware.radio.V1_1.KeepaliveStatus
+android.hardware.radio.V1_1.NetworkScanResult
android.hardware.radio.V1_2.Call
android.hardware.radio.V1_2.CardStatus
android.hardware.radio.V1_2.CellIdentity
+android.hardware.radio.V1_2.CellIdentityCdma
+android.hardware.radio.V1_2.CellIdentityGsm
+android.hardware.radio.V1_2.CellIdentityLte
android.hardware.radio.V1_2.CellIdentityOperatorNames
+android.hardware.radio.V1_2.CellIdentityTdscdma
+android.hardware.radio.V1_2.CellIdentityWcdma
android.hardware.radio.V1_2.CellInfo
+android.hardware.radio.V1_2.CellInfoCdma
+android.hardware.radio.V1_2.CellInfoGsm
+android.hardware.radio.V1_2.CellInfoLte
+android.hardware.radio.V1_2.CellInfoTdscdma
+android.hardware.radio.V1_2.CellInfoWcdma
android.hardware.radio.V1_2.DataRegStateResult
android.hardware.radio.V1_2.IRadio
android.hardware.radio.V1_2.IRadioIndication
android.hardware.radio.V1_2.IRadioResponse
+android.hardware.radio.V1_2.LinkCapacityEstimate
+android.hardware.radio.V1_2.NetworkScanResult
+android.hardware.radio.V1_2.PhysicalChannelConfig
android.hardware.radio.V1_2.SignalStrength
+android.hardware.radio.V1_2.TdscdmaSignalStrength
android.hardware.radio.V1_2.VoiceRegStateResult
android.hardware.radio.V1_2.WcdmaSignalStrength
android.hardware.radio.V1_3.IRadio$Proxy
android.hardware.radio.V1_3.IRadio
android.hardware.radio.V1_3.IRadioIndication
android.hardware.radio.V1_3.IRadioResponse
+android.hardware.radio.V1_4.CardStatus
+android.hardware.radio.V1_4.CarrierRestrictionsWithPriority
+android.hardware.radio.V1_4.CellInfo
+android.hardware.radio.V1_4.DataRegStateResult$VopsInfo
+android.hardware.radio.V1_4.DataRegStateResult
+android.hardware.radio.V1_4.EmergencyNumber
android.hardware.radio.V1_4.IRadio
android.hardware.radio.V1_4.IRadioIndication$Stub
android.hardware.radio.V1_4.IRadioIndication
android.hardware.radio.V1_4.IRadioResponse$Stub
android.hardware.radio.V1_4.IRadioResponse
+android.hardware.radio.V1_4.LteVopsInfo
+android.hardware.radio.V1_4.NetworkScanResult
+android.hardware.radio.V1_4.NrIndicators
+android.hardware.radio.V1_4.PhysicalChannelConfig
+android.hardware.radio.V1_4.SetupDataCallResult
+android.hardware.radio.V1_4.SignalStrength
+android.hardware.radio.V1_5.IRadio
android.hardware.radio.config.V1_0.IRadioConfig
android.hardware.radio.config.V1_0.IRadioConfigIndication
android.hardware.radio.config.V1_0.IRadioConfigResponse
@@ -1631,15 +2405,24 @@ android.hardware.radio.config.V1_1.IRadioConfig$Proxy
android.hardware.radio.config.V1_1.IRadioConfig
android.hardware.radio.config.V1_1.IRadioConfigIndication
android.hardware.radio.config.V1_1.IRadioConfigResponse
+android.hardware.radio.config.V1_1.ModemInfo
+android.hardware.radio.config.V1_1.ModemsConfig
+android.hardware.radio.config.V1_1.PhoneCapability
android.hardware.radio.config.V1_2.IRadioConfigIndication$Stub
android.hardware.radio.config.V1_2.IRadioConfigIndication
android.hardware.radio.config.V1_2.IRadioConfigResponse$Stub
android.hardware.radio.config.V1_2.IRadioConfigResponse
+android.hardware.radio.config.V1_2.SimSlotStatus
+android.hardware.radio.deprecated.V1_0.IOemHook$Proxy
android.hardware.radio.deprecated.V1_0.IOemHook
android.hardware.radio.deprecated.V1_0.IOemHookIndication$Stub
android.hardware.radio.deprecated.V1_0.IOemHookIndication
android.hardware.radio.deprecated.V1_0.IOemHookResponse$Stub
android.hardware.radio.deprecated.V1_0.IOemHookResponse
+android.hardware.sidekick.SidekickInternal
+android.hardware.soundtrigger.IRecognitionStatusCallback$Stub$Proxy
+android.hardware.soundtrigger.IRecognitionStatusCallback$Stub
+android.hardware.soundtrigger.IRecognitionStatusCallback
android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel$1
android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel
android.hardware.soundtrigger.SoundTrigger$GenericRecognitionEvent$1
@@ -1663,12 +2446,26 @@ android.hardware.soundtrigger.SoundTrigger$RecognitionEvent
android.hardware.soundtrigger.SoundTrigger$SoundModel
android.hardware.soundtrigger.SoundTrigger$SoundModelEvent$1
android.hardware.soundtrigger.SoundTrigger$SoundModelEvent
+android.hardware.soundtrigger.SoundTrigger$StatusListener
android.hardware.soundtrigger.SoundTrigger
+android.hardware.soundtrigger.SoundTriggerModule$NativeEventHandlerDelegate$1
+android.hardware.soundtrigger.SoundTriggerModule$NativeEventHandlerDelegate
android.hardware.soundtrigger.SoundTriggerModule
+android.hardware.thermal.V1_0.IThermal
+android.hardware.thermal.V1_0.ThermalStatus
+android.hardware.thermal.V2_0.IThermal$Proxy
+android.hardware.thermal.V2_0.IThermal$getCurrentTemperaturesCallback
+android.hardware.thermal.V2_0.IThermal
+android.hardware.thermal.V2_0.IThermalChangedCallback$Stub
+android.hardware.thermal.V2_0.IThermalChangedCallback
+android.hardware.thermal.V2_0.Temperature
android.hardware.usb.IUsbManager$Stub$Proxy
android.hardware.usb.IUsbManager$Stub
android.hardware.usb.IUsbManager
android.hardware.usb.ParcelableUsbPort$1
+android.hardware.usb.ParcelableUsbPort
+android.hardware.usb.UsbAccessory$2
+android.hardware.usb.UsbAccessory
android.hardware.usb.UsbDevice$1
android.hardware.usb.UsbDevice
android.hardware.usb.UsbDeviceConnection
@@ -1677,513 +2474,110 @@ android.hardware.usb.UsbPort
android.hardware.usb.UsbPortStatus$1
android.hardware.usb.UsbPortStatus
android.hardware.usb.UsbRequest
-android.icu.impl.BMPSet
-android.icu.impl.CacheBase
-android.icu.impl.CacheValue$NullValue
-android.icu.impl.CacheValue$SoftValue
-android.icu.impl.CacheValue$Strength
-android.icu.impl.CacheValue
-android.icu.impl.CalType
-android.icu.impl.CalendarUtil$CalendarPreferences
-android.icu.impl.CalendarUtil
-android.icu.impl.CaseMapImpl$StringContextIterator
-android.icu.impl.CaseMapImpl
-android.icu.impl.CharTrie
-android.icu.impl.CharacterIteration
-android.icu.impl.CharacterPropertiesImpl
-android.icu.impl.ClassLoaderUtil
-android.icu.impl.CurrencyData$CurrencyDisplayInfo
-android.icu.impl.CurrencyData$CurrencyDisplayInfoProvider
-android.icu.impl.CurrencyData$CurrencySpacingInfo$SpacingPattern
-android.icu.impl.CurrencyData$CurrencySpacingInfo$SpacingType
-android.icu.impl.CurrencyData$CurrencySpacingInfo
-android.icu.impl.CurrencyData
-android.icu.impl.DateNumberFormat
-android.icu.impl.Grego
-android.icu.impl.ICUBinary$Authenticate
-android.icu.impl.ICUBinary$DatPackageReader$IsAcceptable
-android.icu.impl.ICUBinary$DatPackageReader
-android.icu.impl.ICUBinary$DataFile
-android.icu.impl.ICUBinary$PackageDataFile
-android.icu.impl.ICUBinary
-android.icu.impl.ICUCache
-android.icu.impl.ICUConfig
-android.icu.impl.ICUCurrencyDisplayInfoProvider$1
-android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable
-android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink
-android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$FormattingData
-android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo
-android.icu.impl.ICUCurrencyDisplayInfoProvider
-android.icu.impl.ICUCurrencyMetaInfo$Collector
-android.icu.impl.ICUCurrencyMetaInfo$CurrencyCollector
-android.icu.impl.ICUCurrencyMetaInfo$UniqueList
-android.icu.impl.ICUCurrencyMetaInfo
-android.icu.impl.ICUData
-android.icu.impl.ICUDebug
-android.icu.impl.ICULocaleService$ICUResourceBundleFactory
-android.icu.impl.ICULocaleService$LocaleKey
-android.icu.impl.ICULocaleService$LocaleKeyFactory
-android.icu.impl.ICULocaleService
-android.icu.impl.ICUNotifier
-android.icu.impl.ICURWLock
-android.icu.impl.ICUResourceBundle$1
-android.icu.impl.ICUResourceBundle$2$1
-android.icu.impl.ICUResourceBundle$2
-android.icu.impl.ICUResourceBundle$3
-android.icu.impl.ICUResourceBundle$4
-android.icu.impl.ICUResourceBundle$AvailEntry
-android.icu.impl.ICUResourceBundle$Loader
-android.icu.impl.ICUResourceBundle$OpenType
-android.icu.impl.ICUResourceBundle$WholeBundle
-android.icu.impl.ICUResourceBundle
-android.icu.impl.ICUResourceBundleImpl$ResourceArray
-android.icu.impl.ICUResourceBundleImpl$ResourceBinary
-android.icu.impl.ICUResourceBundleImpl$ResourceContainer
-android.icu.impl.ICUResourceBundleImpl$ResourceInt
-android.icu.impl.ICUResourceBundleImpl$ResourceIntVector
-android.icu.impl.ICUResourceBundleImpl$ResourceString
-android.icu.impl.ICUResourceBundleImpl$ResourceTable
-android.icu.impl.ICUResourceBundleImpl
-android.icu.impl.ICUResourceBundleReader$Array16
-android.icu.impl.ICUResourceBundleReader$Array32
-android.icu.impl.ICUResourceBundleReader$Array
-android.icu.impl.ICUResourceBundleReader$Container
-android.icu.impl.ICUResourceBundleReader$IsAcceptable
-android.icu.impl.ICUResourceBundleReader$ReaderCache
-android.icu.impl.ICUResourceBundleReader$ReaderCacheKey
-android.icu.impl.ICUResourceBundleReader$ReaderValue
-android.icu.impl.ICUResourceBundleReader$ResourceCache$Level
-android.icu.impl.ICUResourceBundleReader$ResourceCache
-android.icu.impl.ICUResourceBundleReader$Table1632
-android.icu.impl.ICUResourceBundleReader$Table16
-android.icu.impl.ICUResourceBundleReader$Table
-android.icu.impl.ICUResourceBundleReader
-android.icu.impl.ICUService$CacheEntry
-android.icu.impl.ICUService$Factory
-android.icu.impl.ICUService$Key
-android.icu.impl.ICUService
-android.icu.impl.IDNA2003
-android.icu.impl.JavaTimeZone
-android.icu.impl.LocaleIDParser
-android.icu.impl.LocaleIDs
-android.icu.impl.Norm2AllModes$1
-android.icu.impl.Norm2AllModes$ComposeNormalizer2
-android.icu.impl.Norm2AllModes$DecomposeNormalizer2
-android.icu.impl.Norm2AllModes$FCDNormalizer2
-android.icu.impl.Norm2AllModes$NFCSingleton
-android.icu.impl.Norm2AllModes$NFKCSingleton
-android.icu.impl.Norm2AllModes$NoopNormalizer2
-android.icu.impl.Norm2AllModes$Norm2AllModesSingleton
-android.icu.impl.Norm2AllModes$Normalizer2WithImpl
-android.icu.impl.Norm2AllModes
-android.icu.impl.Normalizer2Impl$1
-android.icu.impl.Normalizer2Impl$IsAcceptable
-android.icu.impl.Normalizer2Impl$UTF16Plus
-android.icu.impl.Normalizer2Impl
-android.icu.impl.OlsonTimeZone
-android.icu.impl.Pair
-android.icu.impl.PatternProps
-android.icu.impl.PatternTokenizer
-android.icu.impl.PluralRulesLoader
-android.icu.impl.RBBIDataWrapper$IsAcceptable
-android.icu.impl.RBBIDataWrapper$RBBIStateTable
-android.icu.impl.RBBIDataWrapper
-android.icu.impl.ReplaceableUCharacterIterator
-android.icu.impl.RuleCharacterIterator
-android.icu.impl.SimpleCache
-android.icu.impl.SimpleFormatterImpl
-android.icu.impl.SoftCache
-android.icu.impl.StandardPlural
-android.icu.impl.StringPrepDataReader
-android.icu.impl.TextTrieMap$Node
-android.icu.impl.TextTrieMap
-android.icu.impl.TimeZoneNamesFactoryImpl
-android.icu.impl.TimeZoneNamesImpl$1
-android.icu.impl.TimeZoneNamesImpl$MZ2TZsCache
-android.icu.impl.TimeZoneNamesImpl$MZMapEntry
-android.icu.impl.TimeZoneNamesImpl$TZ2MZsCache
-android.icu.impl.TimeZoneNamesImpl$ZNames$NameTypeIndex
-android.icu.impl.TimeZoneNamesImpl$ZNames
-android.icu.impl.TimeZoneNamesImpl$ZNamesLoader
-android.icu.impl.TimeZoneNamesImpl
-android.icu.impl.Trie$DataManipulate
-android.icu.impl.Trie$DefaultGetFoldingOffset
-android.icu.impl.Trie2$1
-android.icu.impl.Trie2$2
-android.icu.impl.Trie2$Range
-android.icu.impl.Trie2$Trie2Iterator
-android.icu.impl.Trie2$UTrie2Header
-android.icu.impl.Trie2$ValueMapper
-android.icu.impl.Trie2$ValueWidth
-android.icu.impl.Trie2
-android.icu.impl.Trie2_16
-android.icu.impl.Trie2_32
-android.icu.impl.Trie
-android.icu.impl.UBiDiProps$IsAcceptable
-android.icu.impl.UBiDiProps
-android.icu.impl.UCaseProps$ContextIterator
-android.icu.impl.UCaseProps$IsAcceptable
-android.icu.impl.UCaseProps
-android.icu.impl.UCharacterProperty$10
-android.icu.impl.UCharacterProperty$11
-android.icu.impl.UCharacterProperty$12
-android.icu.impl.UCharacterProperty$13
-android.icu.impl.UCharacterProperty$14
-android.icu.impl.UCharacterProperty$15
-android.icu.impl.UCharacterProperty$16
-android.icu.impl.UCharacterProperty$17
-android.icu.impl.UCharacterProperty$18
-android.icu.impl.UCharacterProperty$19
-android.icu.impl.UCharacterProperty$1
-android.icu.impl.UCharacterProperty$20
-android.icu.impl.UCharacterProperty$21
-android.icu.impl.UCharacterProperty$22
-android.icu.impl.UCharacterProperty$23
-android.icu.impl.UCharacterProperty$24
-android.icu.impl.UCharacterProperty$25
-android.icu.impl.UCharacterProperty$26
-android.icu.impl.UCharacterProperty$27
-android.icu.impl.UCharacterProperty$2
-android.icu.impl.UCharacterProperty$3
-android.icu.impl.UCharacterProperty$4
-android.icu.impl.UCharacterProperty$5
-android.icu.impl.UCharacterProperty$6
-android.icu.impl.UCharacterProperty$7
-android.icu.impl.UCharacterProperty$8
-android.icu.impl.UCharacterProperty$9
-android.icu.impl.UCharacterProperty$BiDiIntProperty
-android.icu.impl.UCharacterProperty$BinaryProperty
-android.icu.impl.UCharacterProperty$CaseBinaryProperty
-android.icu.impl.UCharacterProperty$CombiningClassIntProperty
-android.icu.impl.UCharacterProperty$IntProperty
-android.icu.impl.UCharacterProperty$IsAcceptable
-android.icu.impl.UCharacterProperty$NormInertBinaryProperty
-android.icu.impl.UCharacterProperty$NormQuickCheckIntProperty
-android.icu.impl.UCharacterProperty
-android.icu.impl.UPropertyAliases$IsAcceptable
-android.icu.impl.UPropertyAliases
-android.icu.impl.URLHandler$URLVisitor
-android.icu.impl.UResource$Array
-android.icu.impl.UResource$Key
-android.icu.impl.UResource$Sink
-android.icu.impl.UResource$Table
-android.icu.impl.UResource$Value
-android.icu.impl.UResource
-android.icu.impl.USerializedSet
-android.icu.impl.Utility
-android.icu.impl.ZoneMeta$1
-android.icu.impl.ZoneMeta$CustomTimeZoneCache
-android.icu.impl.ZoneMeta$SystemTimeZoneCache
-android.icu.impl.ZoneMeta
-android.icu.impl.coll.CollationData
-android.icu.impl.coll.CollationDataReader$IsAcceptable
-android.icu.impl.coll.CollationDataReader
-android.icu.impl.coll.CollationFastLatin
-android.icu.impl.coll.CollationIterator$CEBuffer
-android.icu.impl.coll.CollationLoader
-android.icu.impl.coll.CollationRoot
-android.icu.impl.coll.CollationSettings
-android.icu.impl.coll.CollationTailoring
-android.icu.impl.coll.SharedObject$Reference
-android.icu.impl.coll.SharedObject
-android.icu.impl.locale.AsciiUtil
-android.icu.impl.locale.BaseLocale$Cache
-android.icu.impl.locale.BaseLocale$Key
-android.icu.impl.locale.BaseLocale
-android.icu.impl.locale.LocaleObjectCache$CacheEntry
-android.icu.impl.locale.LocaleObjectCache
-android.icu.impl.locale.LocaleSyntaxException
-android.icu.impl.number.AffixPatternProvider
-android.icu.impl.number.AffixUtils$SymbolProvider
-android.icu.impl.number.ConstantMultiFieldModifier
-android.icu.impl.number.CustomSymbolCurrency
-android.icu.impl.number.DecimalQuantity
-android.icu.impl.number.MacroProps
-android.icu.impl.number.MicroProps
-android.icu.impl.number.MicroPropsGenerator
-android.icu.impl.number.Modifier
-android.icu.impl.number.MutablePatternModifier$ImmutablePatternModifier
-android.icu.impl.number.PatternStringParser$ParsedPatternInfo
-android.icu.impl.number.PatternStringParser$ParsedSubpatternInfo
-android.icu.impl.number.PatternStringParser$ParserState
-android.icu.impl.number.RoundingUtils
-android.icu.lang.UCharacter
-android.icu.lang.UCharacterEnums$ECharacterCategory
-android.icu.lang.UCharacterEnums$ECharacterDirection
-android.icu.lang.UScript$ScriptUsage
-android.icu.lang.UScript
-android.icu.math.BigDecimal
-android.icu.math.MathContext
-android.icu.number.CurrencyPrecision
-android.icu.number.CurrencyRounder
-android.icu.number.FormattedNumber
-android.icu.number.FractionPrecision
-android.icu.number.FractionRounder
-android.icu.number.NumberFormatterSettings
-android.icu.number.Precision$CurrencyRounderImpl
-android.icu.number.Precision$FracSigRounderImpl
-android.icu.number.Precision$FractionRounderImpl
-android.icu.number.Precision$IncrementRounderImpl
-android.icu.number.Precision$InfiniteRounderImpl
-android.icu.number.Precision$PassThroughRounderImpl
-android.icu.number.Precision$SignificantRounderImpl
-android.icu.number.Precision
-android.icu.number.Rounder
-android.icu.number.UnlocalizedNumberFormatter
-android.icu.text.AlphabeticIndex$1
-android.icu.text.AlphabeticIndex$Bucket
-android.icu.text.AlphabeticIndex$BucketList
-android.icu.text.AlphabeticIndex$ImmutableIndex
-android.icu.text.Bidi$ImpTabPair
-android.icu.text.Bidi
-android.icu.text.BidiClassifier
-android.icu.text.BreakIterator$BreakIteratorCache
-android.icu.text.BreakIterator$BreakIteratorServiceShim
-android.icu.text.BreakIterator
-android.icu.text.BreakIteratorFactory$BFService$1RBBreakIteratorFactory
-android.icu.text.BreakIteratorFactory$BFService
-android.icu.text.BreakIteratorFactory
-android.icu.text.CaseMap$Title
-android.icu.text.CaseMap$Upper
-android.icu.text.CaseMap
-android.icu.text.Collator$ServiceShim
-android.icu.text.Collator
-android.icu.text.CollatorServiceShim$CService$1CollatorFactory
-android.icu.text.CollatorServiceShim$CService
-android.icu.text.CollatorServiceShim
-android.icu.text.CurrencyDisplayNames
-android.icu.text.CurrencyMetaInfo$CurrencyDigits
-android.icu.text.CurrencyMetaInfo$CurrencyFilter
-android.icu.text.CurrencyMetaInfo
-android.icu.text.DateFormat$BooleanAttribute
-android.icu.text.DateFormat$Field
-android.icu.text.DateFormat
-android.icu.text.DateFormatSymbols$1
-android.icu.text.DateFormatSymbols$CalendarDataSink$AliasType
-android.icu.text.DateFormatSymbols$CalendarDataSink
-android.icu.text.DateFormatSymbols$CapitalizationContextUsage
-android.icu.text.DateFormatSymbols
-android.icu.text.DateIntervalFormat$BestMatchInfo
-android.icu.text.DateIntervalFormat
-android.icu.text.DateIntervalInfo$DateIntervalSink
-android.icu.text.DateIntervalInfo$PatternInfo
-android.icu.text.DateIntervalInfo
-android.icu.text.DateTimePatternGenerator$AppendItemFormatsSink
-android.icu.text.DateTimePatternGenerator$AppendItemNamesSink
-android.icu.text.DateTimePatternGenerator$AvailableFormatsSink
-android.icu.text.DateTimePatternGenerator$DTPGflags
-android.icu.text.DateTimePatternGenerator$DateTimeMatcher
-android.icu.text.DateTimePatternGenerator$DayPeriodAllowedHoursSink
-android.icu.text.DateTimePatternGenerator$DisplayWidth
-android.icu.text.DateTimePatternGenerator$DistanceInfo
-android.icu.text.DateTimePatternGenerator$FormatParser
-android.icu.text.DateTimePatternGenerator$PatternInfo
-android.icu.text.DateTimePatternGenerator$PatternWithMatcher
-android.icu.text.DateTimePatternGenerator$PatternWithSkeletonFlag
-android.icu.text.DateTimePatternGenerator$SkeletonFields
-android.icu.text.DateTimePatternGenerator$VariableField
-android.icu.text.DateTimePatternGenerator
-android.icu.text.DecimalFormat
-android.icu.text.DecimalFormatSymbols$1
-android.icu.text.DecimalFormatSymbols$CacheData
-android.icu.text.DecimalFormatSymbols$DecFmtDataSink
-android.icu.text.DecimalFormatSymbols
-android.icu.text.DecimalFormat_ICU58_Android$Unit
-android.icu.text.DecimalFormat_ICU58_Android
-android.icu.text.DictionaryBreakEngine$DequeI
-android.icu.text.DictionaryBreakEngine
-android.icu.text.DigitList_Android
-android.icu.text.DisplayContext$Type
-android.icu.text.DisplayContext
-android.icu.text.Edits
-android.icu.text.IDNA
-android.icu.text.LanguageBreakEngine
-android.icu.text.Normalizer$FCDMode
-android.icu.text.Normalizer$Mode
-android.icu.text.Normalizer$ModeImpl
-android.icu.text.Normalizer$NFCMode
-android.icu.text.Normalizer$NFDMode
-android.icu.text.Normalizer$NFKCMode
-android.icu.text.Normalizer$NFKDMode
-android.icu.text.Normalizer$NFKDModeImpl
-android.icu.text.Normalizer$NONEMode
-android.icu.text.Normalizer$QuickCheckResult
-android.icu.text.Normalizer2
-android.icu.text.Normalizer
-android.icu.text.NumberFormat$Field
-android.icu.text.NumberFormat$NumberFormatShim
-android.icu.text.NumberFormat
-android.icu.text.NumberFormatServiceShim$NFService$1RBNumberFormatFactory
-android.icu.text.NumberFormatServiceShim$NFService
-android.icu.text.NumberingSystem$1
-android.icu.text.NumberingSystem$2
-android.icu.text.NumberingSystem$LocaleLookupData
-android.icu.text.NumberingSystem
-android.icu.text.PluralRanges$Matrix
-android.icu.text.PluralRanges
-android.icu.text.PluralRules$1
-android.icu.text.PluralRules$2
-android.icu.text.PluralRules$AndConstraint
-android.icu.text.PluralRules$BinaryConstraint
-android.icu.text.PluralRules$Constraint
-android.icu.text.PluralRules$Factory
-android.icu.text.PluralRules$FixedDecimal
-android.icu.text.PluralRules$FixedDecimalRange
-android.icu.text.PluralRules$FixedDecimalSamples
-android.icu.text.PluralRules$IFixedDecimal
-android.icu.text.PluralRules$Operand
-android.icu.text.PluralRules$PluralType
-android.icu.text.PluralRules$RangeConstraint
-android.icu.text.PluralRules$Rule
-android.icu.text.PluralRules$RuleList
-android.icu.text.PluralRules$SampleType
-android.icu.text.PluralRules$SimpleTokenizer
-android.icu.text.PluralRules
-android.icu.text.RelativeDateTimeFormatter$Cache$1
-android.icu.text.RelativeDateTimeFormatter$Cache
-android.icu.text.RelativeDateTimeFormatter$Loader
-android.icu.text.RelativeDateTimeFormatter$RelDateTimeDataSink
-android.icu.text.Replaceable
-android.icu.text.ReplaceableString
-android.icu.text.RuleBasedBreakIterator$BreakCache
-android.icu.text.RuleBasedBreakIterator$DictionaryCache
-android.icu.text.RuleBasedBreakIterator$LookAheadResults
-android.icu.text.RuleBasedBreakIterator
-android.icu.text.RuleBasedCollator$CollationBuffer
-android.icu.text.RuleBasedCollator$FCDUTF16NFDIterator
-android.icu.text.RuleBasedCollator$NFDIterator
-android.icu.text.RuleBasedCollator$UTF16NFDIterator
-android.icu.text.RuleBasedCollator
-android.icu.text.SimpleDateFormat$PatternItem
-android.icu.text.SimpleDateFormat
-android.icu.text.StringPrep
-android.icu.text.StringPrepParseException
-android.icu.text.TimeZoneNames$Cache
-android.icu.text.TimeZoneNames$Factory
-android.icu.text.TimeZoneNames$NameType
-android.icu.text.TimeZoneNames
-android.icu.text.UCharacterIterator
-android.icu.text.UFieldPosition
-android.icu.text.UFormat
-android.icu.text.UForwardCharacterIterator
-android.icu.text.UTF16$StringComparator
-android.icu.text.UTF16
-android.icu.text.UnhandledBreakEngine
-android.icu.text.UnicodeFilter
-android.icu.text.UnicodeMatcher
-android.icu.text.UnicodeSet$Filter
-android.icu.text.UnicodeSet$GeneralCategoryMaskFilter
-android.icu.text.UnicodeSet$IntPropertyFilter
-android.icu.text.UnicodeSet$UnicodeSetIterator2
-android.icu.text.UnicodeSet
-android.icu.util.AnnualTimeZoneRule
-android.icu.util.BasicTimeZone
-android.icu.util.BytesTrie$Result
-android.icu.util.BytesTrie
-android.icu.util.Calendar$1
-android.icu.util.Calendar$FormatConfiguration
-android.icu.util.Calendar$PatternData
-android.icu.util.Calendar$WeekData
-android.icu.util.Calendar$WeekDataCache
-android.icu.util.Calendar
-android.icu.util.CharsTrie$Entry
-android.icu.util.CharsTrie$Iterator
-android.icu.util.CodePointMap$Range
-android.icu.util.CodePointMap$RangeOption
-android.icu.util.CodePointMap$ValueFilter
-android.icu.util.CodePointMap
-android.icu.util.CodePointTrie$1
-android.icu.util.CodePointTrie$Data16
-android.icu.util.CodePointTrie$Data
-android.icu.util.CodePointTrie$Fast16
-android.icu.util.CodePointTrie$Fast
-android.icu.util.CodePointTrie$Type
-android.icu.util.CodePointTrie$ValueWidth
-android.icu.util.CodePointTrie
-android.icu.util.Currency$1
-android.icu.util.Currency$CurrencyUsage
-android.icu.util.Currency
-android.icu.util.DateTimeRule
-android.icu.util.Freezable
-android.icu.util.GregorianCalendar
-android.icu.util.InitialTimeZoneRule
-android.icu.util.MeasureUnit$1
-android.icu.util.MeasureUnit$2
-android.icu.util.MeasureUnit$3
-android.icu.util.MeasureUnit$4
-android.icu.util.MeasureUnit$Factory
-android.icu.util.MeasureUnit
-android.icu.util.Output
-android.icu.util.STZInfo
-android.icu.util.SimpleTimeZone
-android.icu.util.TimeArrayTimeZoneRule
-android.icu.util.TimeUnit
-android.icu.util.TimeZone$ConstantZone
-android.icu.util.TimeZone$SystemTimeZoneType
-android.icu.util.TimeZone
-android.icu.util.TimeZoneRule
-android.icu.util.TimeZoneTransition
-android.icu.util.ULocale$1
-android.icu.util.ULocale$2
-android.icu.util.ULocale$3
-android.icu.util.ULocale$Category
-android.icu.util.ULocale$JDKLocaleHelper
-android.icu.util.ULocale$Type
-android.icu.util.ULocale
-android.icu.util.UResourceBundle$1
-android.icu.util.UResourceBundle$RootType
-android.icu.util.UResourceBundle
-android.icu.util.UResourceBundleIterator
-android.icu.util.UResourceTypeMismatchException
-android.icu.util.VersionInfo
+android.hardware.usb.gadget.V1_0.IUsbGadget$Proxy
+android.hardware.usb.gadget.V1_0.IUsbGadget
+android.hardware.usb.gadget.V1_0.IUsbGadgetCallback$Stub
+android.hardware.usb.gadget.V1_0.IUsbGadgetCallback
+android.inputmethodservice.-$$Lambda$InputMethodService$8T9TmAUIN7vW9eU6kTg8309_d4E
+android.inputmethodservice.-$$Lambda$InputMethodService$wp8DeVGx_WDOPw4F6an7QbwVxf0
+android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodImpl
+android.inputmethodservice.AbstractInputMethodService$AbstractInputMethodSessionImpl
+android.inputmethodservice.AbstractInputMethodService
+android.inputmethodservice.ExtractEditText
+android.inputmethodservice.IInputMethodSessionWrapper$ImeInputEventReceiver
+android.inputmethodservice.IInputMethodSessionWrapper
+android.inputmethodservice.IInputMethodWrapper$InputMethodSessionCallbackWrapper
+android.inputmethodservice.IInputMethodWrapper
+android.inputmethodservice.InputMethodService$InputMethodImpl
+android.inputmethodservice.InputMethodService$InputMethodSessionImpl
+android.inputmethodservice.InputMethodService$Insets
+android.inputmethodservice.InputMethodService$SettingsObserver
+android.inputmethodservice.InputMethodService
android.inputmethodservice.SoftInputWindow
+android.internal.hidl.base.V1_0.DebugInfo
android.internal.hidl.base.V1_0.IBase
+android.internal.telephony.sysprop.TelephonyProperties
+android.location.-$$Lambda$_14QHG018Z6p13d3hzJuGTWnNeo
+android.location.AbstractListenerManager
android.location.Address$1
android.location.Address
-android.location.BatchedLocationCallbackTransport$CallbackTransport
-android.location.BatchedLocationCallbackTransport
android.location.Country$1
+android.location.Country
+android.location.CountryDetector$ListenerTransport
android.location.CountryDetector
+android.location.CountryListener
android.location.Criteria$1
+android.location.Criteria
android.location.Geocoder
android.location.GeocoderParams$1
android.location.GeocoderParams
-android.location.GnssMeasurementCallbackTransport$ListenerTransport
-android.location.GnssMeasurementCallbackTransport
-android.location.GnssNavigationMessageCallbackTransport$ListenerTransport
-android.location.GnssNavigationMessageCallbackTransport
+android.location.Geofence$1
+android.location.Geofence
+android.location.GnssClock$1
+android.location.GnssClock
+android.location.GnssMeasurement$1
+android.location.GnssMeasurement
+android.location.GnssMeasurementCorrections$1
+android.location.GnssMeasurementCorrections
+android.location.GnssMeasurementsEvent$1
+android.location.GnssMeasurementsEvent
+android.location.GnssReflectingPlane$1
+android.location.GnssSingleSatCorrection$1
android.location.GpsStatus$Listener
+android.location.IBatchedLocationCallback$Stub$Proxy
android.location.IBatchedLocationCallback$Stub
android.location.IBatchedLocationCallback
android.location.ICountryDetector$Stub$Proxy
android.location.ICountryDetector$Stub
android.location.ICountryDetector
+android.location.ICountryListener$Stub$Proxy
+android.location.ICountryListener$Stub
+android.location.ICountryListener
+android.location.IFusedGeofenceHardware$Stub$Proxy
+android.location.IFusedGeofenceHardware$Stub
+android.location.IFusedGeofenceHardware
+android.location.IGeocodeProvider$Stub$Proxy
+android.location.IGeocodeProvider$Stub
+android.location.IGeocodeProvider
+android.location.IGeofenceProvider$Stub$Proxy
+android.location.IGeofenceProvider$Stub
+android.location.IGeofenceProvider
+android.location.IGnssMeasurementsListener$Stub$Proxy
android.location.IGnssMeasurementsListener$Stub
android.location.IGnssMeasurementsListener
+android.location.IGnssNavigationMessageListener$Stub$Proxy
android.location.IGnssNavigationMessageListener$Stub
android.location.IGnssNavigationMessageListener
+android.location.IGnssStatusListener$Stub$Proxy
android.location.IGnssStatusListener$Stub
android.location.IGnssStatusListener
+android.location.IGpsGeofenceHardware$Stub$Proxy
+android.location.IGpsGeofenceHardware$Stub
+android.location.IGpsGeofenceHardware
+android.location.ILocationListener$Stub$Proxy
android.location.ILocationListener$Stub
android.location.ILocationListener
android.location.ILocationManager$Stub$Proxy
android.location.ILocationManager$Stub
android.location.ILocationManager
-android.location.LocalListenerHelper
+android.location.INetInitiatedListener$Stub
+android.location.INetInitiatedListener
android.location.Location$1
android.location.Location$2
android.location.Location$BearingDistanceCache
android.location.Location
android.location.LocationListener
-android.location.LocationManager$GnssStatusListenerTransport$GnssHandler
-android.location.LocationManager$GnssStatusListenerTransport
-android.location.LocationManager$ListenerTransport$1
-android.location.LocationManager$ListenerTransport$2
-android.location.LocationManager$ListenerTransport
+android.location.LocationManager$BatchedLocationCallbackManager
+android.location.LocationManager$GnssMeasurementsListenerManager
+android.location.LocationManager$GnssNavigationMessageListenerManager
+android.location.LocationManager$GnssStatusListenerManager
+android.location.LocationManager$LocationListenerTransport
android.location.LocationManager
android.location.LocationProvider
android.location.LocationRequest$1
android.location.LocationRequest
+android.location.LocationTime
+android.media.-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M
android.media.AudioAttributes$1
android.media.AudioAttributes$Builder
android.media.AudioAttributes
@@ -2191,7 +2585,10 @@ android.media.AudioDeviceCallback
android.media.AudioDeviceInfo
android.media.AudioDevicePort
android.media.AudioDevicePortConfig
+android.media.AudioFocusInfo$1
+android.media.AudioFocusInfo
android.media.AudioFocusRequest$Builder
+android.media.AudioFocusRequest
android.media.AudioFormat$1
android.media.AudioFormat$Builder
android.media.AudioFormat
@@ -2204,19 +2601,25 @@ android.media.AudioManager$3
android.media.AudioManager$4
android.media.AudioManager$AudioPlaybackCallback
android.media.AudioManager$AudioPlaybackCallbackInfo
+android.media.AudioManager$BlockingFocusResultReceiver
android.media.AudioManager$FocusRequestInfo
android.media.AudioManager$NativeEventHandlerDelegate$1
android.media.AudioManager$NativeEventHandlerDelegate
android.media.AudioManager$OnAmPortUpdateListener
android.media.AudioManager$OnAudioFocusChangeListener
android.media.AudioManager$OnAudioPortUpdateListener
+android.media.AudioManager$SafeWaitObject
android.media.AudioManager$ServiceEventHandlerDelegate$1
android.media.AudioManager$ServiceEventHandlerDelegate
android.media.AudioManager
+android.media.AudioManagerInternal$RingerModeDelegate
+android.media.AudioManagerInternal
android.media.AudioMixPort
android.media.AudioMixPortConfig
android.media.AudioPatch
android.media.AudioPlaybackConfiguration$1
+android.media.AudioPlaybackConfiguration$IPlayerShell
+android.media.AudioPlaybackConfiguration$PlayerDeathMonitor
android.media.AudioPlaybackConfiguration
android.media.AudioPort
android.media.AudioPortConfig
@@ -2225,11 +2628,18 @@ android.media.AudioPortEventHandler
android.media.AudioPresentation
android.media.AudioRecord
android.media.AudioRecordRoutingProxy
+android.media.AudioRecordingConfiguration$1
+android.media.AudioRecordingConfiguration
android.media.AudioRecordingMonitor
android.media.AudioRecordingMonitorClient
+android.media.AudioRecordingMonitorImpl$1
+android.media.AudioRecordingMonitorImpl
android.media.AudioRoutesInfo$1
android.media.AudioRoutesInfo
android.media.AudioRouting
+android.media.AudioSystem$AudioRecordingCallback
+android.media.AudioSystem$DynamicPolicyCallback
+android.media.AudioSystem$ErrorCallback
android.media.AudioSystem
android.media.AudioTimestamp
android.media.AudioTrack
@@ -2241,11 +2651,15 @@ android.media.EncoderCapabilities
android.media.ExifInterface$ByteOrderedDataInputStream
android.media.ExifInterface$ExifAttribute
android.media.ExifInterface$ExifTag
+android.media.ExifInterface$Rational
android.media.ExifInterface
+android.media.IAudioFocusDispatcher$Stub$Proxy
android.media.IAudioFocusDispatcher$Stub
android.media.IAudioFocusDispatcher
+android.media.IAudioRoutesObserver$Stub$Proxy
android.media.IAudioRoutesObserver$Stub
android.media.IAudioRoutesObserver
+android.media.IAudioServerStateDispatcher$Stub$Proxy
android.media.IAudioServerStateDispatcher$Stub
android.media.IAudioServerStateDispatcher
android.media.IAudioService$Stub$Proxy
@@ -2253,17 +2667,32 @@ android.media.IAudioService$Stub
android.media.IAudioService
android.media.IMediaHTTPConnection$Stub
android.media.IMediaHTTPConnection
+android.media.IMediaHTTPService$Stub
+android.media.IMediaHTTPService
+android.media.IMediaResourceMonitor$Stub
+android.media.IMediaResourceMonitor
+android.media.IMediaRouter2Client$Stub$Proxy
+android.media.IMediaRouter2Client$Stub
+android.media.IMediaRouter2Client
+android.media.IMediaRouter2Manager$Stub$Proxy
+android.media.IMediaRouter2Manager$Stub
+android.media.IMediaRouter2Manager
+android.media.IMediaRouterClient$Stub$Proxy
android.media.IMediaRouterClient$Stub
android.media.IMediaRouterClient
android.media.IMediaRouterService$Stub$Proxy
android.media.IMediaRouterService$Stub
android.media.IMediaRouterService
+android.media.IPlaybackConfigDispatcher$Stub$Proxy
android.media.IPlaybackConfigDispatcher$Stub
android.media.IPlaybackConfigDispatcher
+android.media.IPlayer$Stub$Proxy
android.media.IPlayer$Stub
android.media.IPlayer
+android.media.IRecordingConfigDispatcher$Stub$Proxy
android.media.IRecordingConfigDispatcher$Stub
android.media.IRecordingConfigDispatcher
+android.media.IRemoteVolumeController$Stub$Proxy
android.media.IRemoteVolumeController$Stub
android.media.IRemoteVolumeController
android.media.IRemoteVolumeObserver$Stub
@@ -2271,6 +2700,9 @@ android.media.IRemoteVolumeObserver
android.media.IRingtonePlayer$Stub$Proxy
android.media.IRingtonePlayer$Stub
android.media.IRingtonePlayer
+android.media.IVolumeController$Stub$Proxy
+android.media.IVolumeController$Stub
+android.media.IVolumeController
android.media.Image$Plane
android.media.Image
android.media.ImageReader$SurfaceImage$SurfacePlane
@@ -2281,6 +2713,7 @@ android.media.ImageWriter$WriterSurfaceImage
android.media.ImageWriter
android.media.JetPlayer
android.media.MediaCodec$BufferInfo
+android.media.MediaCodec$BufferMap$CodecBuffer
android.media.MediaCodec$BufferMap
android.media.MediaCodec$CodecException
android.media.MediaCodec$CryptoException
@@ -2294,6 +2727,7 @@ android.media.MediaCodecInfo$CodecCapabilities
android.media.MediaCodecInfo$CodecProfileLevel
android.media.MediaCodecInfo$EncoderCapabilities
android.media.MediaCodecInfo$Feature
+android.media.MediaCodecInfo$VideoCapabilities$PerformancePoint
android.media.MediaCodecInfo$VideoCapabilities
android.media.MediaCodecInfo
android.media.MediaCodecList
@@ -2303,6 +2737,7 @@ android.media.MediaDescription$1
android.media.MediaDescription
android.media.MediaDrm$Certificate
android.media.MediaDrm$KeyRequest
+android.media.MediaDrm$KeyStatus
android.media.MediaDrm$MediaDrmStateException
android.media.MediaDrm$ProvisionRequest
android.media.MediaDrm$SessionException
@@ -2311,6 +2746,7 @@ android.media.MediaDrmException
android.media.MediaExtractor
android.media.MediaFormat
android.media.MediaHTTPConnection
+android.media.MediaHTTPService
android.media.MediaMetadata$1
android.media.MediaMetadata$Builder
android.media.MediaMetadata
@@ -2321,23 +2757,40 @@ android.media.MediaPlayer$1
android.media.MediaPlayer$2$1
android.media.MediaPlayer$2
android.media.MediaPlayer$3
+android.media.MediaPlayer$6
android.media.MediaPlayer$7
+android.media.MediaPlayer$DrmInfo
+android.media.MediaPlayer$EventHandler$1
+android.media.MediaPlayer$EventHandler$2
android.media.MediaPlayer$EventHandler
+android.media.MediaPlayer$OnBufferingUpdateListener
android.media.MediaPlayer$OnCompletionListener
+android.media.MediaPlayer$OnDrmInfoHandlerDelegate
android.media.MediaPlayer$OnErrorListener
+android.media.MediaPlayer$OnInfoListener
+android.media.MediaPlayer$OnMediaTimeDiscontinuityListener
android.media.MediaPlayer$OnPreparedListener
android.media.MediaPlayer$OnSeekCompleteListener
android.media.MediaPlayer$OnSubtitleDataListener
+android.media.MediaPlayer$OnTimedMetaDataAvailableListener
+android.media.MediaPlayer$OnTimedTextListener
+android.media.MediaPlayer$OnVideoSizeChangedListener
+android.media.MediaPlayer$ProvisioningThread
android.media.MediaPlayer$TimeProvider$EventHandler
android.media.MediaPlayer$TimeProvider
android.media.MediaPlayer$TrackInfo$1
+android.media.MediaPlayer$TrackInfo
android.media.MediaPlayer
android.media.MediaRecorder
+android.media.MediaRoute2Info$1
+android.media.MediaRoute2Info
android.media.MediaRouter$Callback
android.media.MediaRouter$CallbackInfo
android.media.MediaRouter$RouteCategory
+android.media.MediaRouter$RouteGroup
android.media.MediaRouter$RouteInfo$1
android.media.MediaRouter$RouteInfo
+android.media.MediaRouter$SimpleCallback
android.media.MediaRouter$Static$1$1
android.media.MediaRouter$Static$1
android.media.MediaRouter$Static$Client$1
@@ -2350,6 +2803,9 @@ android.media.MediaRouter$VolumeChangeReceiver
android.media.MediaRouter$WifiDisplayStatusChangedReceiver
android.media.MediaRouter
android.media.MediaRouterClientState$1
+android.media.MediaRouterClientState$RouteInfo$1
+android.media.MediaRouterClientState$RouteInfo
+android.media.MediaRouterClientState
android.media.MediaScanner
android.media.MediaScannerConnection$MediaScannerConnectionClient
android.media.MediaScannerConnection$OnScanCompletedListener
@@ -2360,6 +2816,7 @@ android.media.MediaTimestamp
android.media.MicrophoneDirection
android.media.MicrophoneInfo$Coordinate3F
android.media.MicrophoneInfo
+android.media.NativeRoutingEventHandlerDelegate
android.media.NotProvisionedException
android.media.PlaybackParams$1
android.media.PlaybackParams
@@ -2369,20 +2826,33 @@ android.media.PlayerBase$PlayerIdCard$1
android.media.PlayerBase$PlayerIdCard
android.media.PlayerBase
android.media.Rating$1
+android.media.Rating
android.media.RemoteDisplay
android.media.ResampleInputStream
android.media.Ringtone$MyOnCompletionListener
+android.media.Ringtone
android.media.RingtoneManager
+android.media.SoundPool$Builder
+android.media.SoundPool$EventHandler
+android.media.SoundPool$OnLoadCompleteListener
android.media.SoundPool
android.media.SubtitleController$1
+android.media.SubtitleController$2
android.media.SubtitleController$Anchor
android.media.SubtitleController$Listener
+android.media.SubtitleController
+android.media.SubtitleData
+android.media.SubtitleTrack
android.media.SyncParams
+android.media.TimedMetaData
+android.media.TimedText
android.media.ToneGenerator
android.media.Utils$1
android.media.Utils$2
android.media.Utils
android.media.VolumeAutomation
+android.media.VolumePolicy$1
+android.media.VolumePolicy
android.media.VolumeShaper$Configuration$1
android.media.VolumeShaper$Configuration$Builder
android.media.VolumeShaper$Configuration
@@ -2395,7 +2865,9 @@ android.media.audiofx.AudioEffect$Descriptor
android.media.audiopolicy.AudioMix
android.media.audiopolicy.AudioMixingRule$AudioMixMatchCriterion
android.media.audiopolicy.AudioMixingRule
-android.media.audiopolicy.AudioProductStrategies
+android.media.audiopolicy.AudioPolicy
+android.media.audiopolicy.AudioPolicyConfig$1
+android.media.audiopolicy.AudioPolicyConfig
android.media.audiopolicy.AudioProductStrategy$1
android.media.audiopolicy.AudioProductStrategy$AudioAttributesGroup$1
android.media.audiopolicy.AudioProductStrategy$AudioAttributesGroup
@@ -2403,7 +2875,9 @@ android.media.audiopolicy.AudioProductStrategy
android.media.audiopolicy.AudioVolumeGroup$1
android.media.audiopolicy.AudioVolumeGroup
android.media.audiopolicy.AudioVolumeGroupChangeHandler
-android.media.audiopolicy.AudioVolumeGroups
+android.media.audiopolicy.IAudioPolicyCallback$Stub$Proxy
+android.media.audiopolicy.IAudioPolicyCallback$Stub
+android.media.audiopolicy.IAudioPolicyCallback
android.media.browse.MediaBrowser$1
android.media.browse.MediaBrowser$2
android.media.browse.MediaBrowser$6
@@ -2419,17 +2893,36 @@ android.media.browse.MediaBrowser$Subscription
android.media.browse.MediaBrowser$SubscriptionCallback
android.media.browse.MediaBrowser
android.media.browse.MediaBrowserUtils
+android.media.midi.IMidiManager$Stub
+android.media.midi.IMidiManager
android.media.midi.MidiDevice
android.media.midi.MidiDeviceInfo$1
android.media.midi.MidiDeviceInfo
android.media.midi.MidiManager
+android.media.projection.IMediaProjection$Stub$Proxy
+android.media.projection.IMediaProjection$Stub
+android.media.projection.IMediaProjection
+android.media.projection.IMediaProjectionManager$Stub$Proxy
+android.media.projection.IMediaProjectionManager$Stub
+android.media.projection.IMediaProjectionManager
+android.media.projection.IMediaProjectionWatcherCallback$Stub$Proxy
+android.media.projection.IMediaProjectionWatcherCallback$Stub
+android.media.projection.IMediaProjectionWatcherCallback
+android.media.projection.MediaProjectionInfo
+android.media.projection.MediaProjectionManager$CallbackDelegate
android.media.projection.MediaProjectionManager
+android.media.session.-$$Lambda$MediaSessionManager$YiJ5NX2VHOfUBIGqvAyigWL-pTY
+android.media.session.-$$Lambda$MediaSessionManager$xJmJKLsOLtZRF5E4CYrmYZJiMw4
+android.media.session.IActiveSessionsListener$Stub$Proxy
android.media.session.IActiveSessionsListener$Stub
android.media.session.IActiveSessionsListener
+android.media.session.ICallback$Stub$Proxy
android.media.session.ICallback$Stub
android.media.session.ICallback
+android.media.session.IOnMediaKeyListener$Stub$Proxy
android.media.session.IOnMediaKeyListener$Stub
android.media.session.IOnMediaKeyListener
+android.media.session.IOnVolumeKeyLongPressListener$Stub$Proxy
android.media.session.IOnVolumeKeyLongPressListener$Stub
android.media.session.IOnVolumeKeyLongPressListener
android.media.session.ISession$Stub$Proxy
@@ -2438,11 +2931,13 @@ android.media.session.ISession2TokensListener$Stub$Proxy
android.media.session.ISession2TokensListener$Stub
android.media.session.ISession2TokensListener
android.media.session.ISession
+android.media.session.ISessionCallback$Stub$Proxy
android.media.session.ISessionCallback$Stub
android.media.session.ISessionCallback
android.media.session.ISessionController$Stub$Proxy
android.media.session.ISessionController$Stub
android.media.session.ISessionController
+android.media.session.ISessionControllerCallback$Stub$Proxy
android.media.session.ISessionControllerCallback$Stub
android.media.session.ISessionControllerCallback
android.media.session.ISessionManager$Stub$Proxy
@@ -2451,18 +2946,21 @@ android.media.session.ISessionManager
android.media.session.MediaController$Callback
android.media.session.MediaController$CallbackStub
android.media.session.MediaController$MessageHandler
+android.media.session.MediaController$PlaybackInfo$1
+android.media.session.MediaController$PlaybackInfo
android.media.session.MediaController$TransportControls
android.media.session.MediaController
android.media.session.MediaSession$Callback
+android.media.session.MediaSession$CallbackMessageHandler
android.media.session.MediaSession$CallbackStub
android.media.session.MediaSession$QueueItem$1
android.media.session.MediaSession$QueueItem
android.media.session.MediaSession$Token$1
android.media.session.MediaSession$Token
android.media.session.MediaSession
+android.media.session.MediaSessionManager$1
android.media.session.MediaSessionManager$Callback
-android.media.session.MediaSessionManager$CallbackImpl$4
-android.media.session.MediaSessionManager$CallbackImpl
+android.media.session.MediaSessionManager$CallbackStub
android.media.session.MediaSessionManager$OnActiveSessionsChangedListener
android.media.session.MediaSessionManager$OnMediaKeyListener
android.media.session.MediaSessionManager$OnMediaKeyListenerImpl
@@ -2480,8 +2978,14 @@ android.media.session.PlaybackState$Builder
android.media.session.PlaybackState$CustomAction$1
android.media.session.PlaybackState$CustomAction
android.media.session.PlaybackState
+android.media.soundtrigger.ISoundTriggerDetectionServiceClient$Stub
+android.media.soundtrigger.ISoundTriggerDetectionServiceClient
android.media.soundtrigger.SoundTriggerManager
+android.media.tv.TvInputHardwareInfo$Builder
android.media.tv.TvInputManager
+android.media.tv.TvStreamConfig$1
+android.media.tv.TvStreamConfig$Builder
+android.media.tv.TvStreamConfig
android.metrics.LogMaker
android.mtp.MtpDatabase
android.mtp.MtpDevice
@@ -2494,22 +2998,54 @@ android.mtp.MtpServer
android.mtp.MtpStorage
android.mtp.MtpStorageInfo
android.net.-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ
+android.net.-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ
+android.net.-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI
+android.net.-$$Lambda$NetworkStats$xvFSsVoR0k5s7Fhw1yPDPVIpx8A
android.net.-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw
+android.net.ConnectionInfo$1
+android.net.ConnectionInfo
android.net.ConnectivityManager$CallbackHandler
android.net.ConnectivityManager$NetworkCallback
+android.net.ConnectivityManager$OnNetworkActiveListener
android.net.ConnectivityManager
+android.net.ConnectivityMetricsEvent$1
+android.net.ConnectivityMetricsEvent
android.net.ConnectivityThread
android.net.Credentials
+android.net.DataUsageRequest$1
+android.net.DataUsageRequest
android.net.DhcpInfo$1
+android.net.DhcpInfo
+android.net.DhcpResults$1
+android.net.DhcpResults
android.net.EthernetManager
+android.net.EventLogTags
android.net.IConnectivityManager$Stub$Proxy
android.net.IConnectivityManager$Stub
android.net.IConnectivityManager
+android.net.IEthernetManager$Stub
+android.net.IEthernetManager
+android.net.IIpConnectivityMetrics$Stub$Proxy
+android.net.IIpConnectivityMetrics$Stub
+android.net.IIpConnectivityMetrics
+android.net.IIpSecService$Stub
+android.net.IIpSecService
+android.net.INetdEventCallback$Stub$Proxy
+android.net.INetdEventCallback$Stub
+android.net.INetdEventCallback
+android.net.INetworkManagementEventObserver$Stub$Proxy
+android.net.INetworkManagementEventObserver$Stub
+android.net.INetworkManagementEventObserver
+android.net.INetworkPolicyListener$Stub$Proxy
android.net.INetworkPolicyListener$Stub
android.net.INetworkPolicyListener
android.net.INetworkPolicyManager$Stub$Proxy
android.net.INetworkPolicyManager$Stub
android.net.INetworkPolicyManager
+android.net.INetworkRecommendationProvider$Stub$Proxy
+android.net.INetworkRecommendationProvider$Stub
+android.net.INetworkRecommendationProvider
+android.net.INetworkScoreCache$Stub$Proxy
android.net.INetworkScoreCache$Stub
android.net.INetworkScoreCache
android.net.INetworkScoreService$Stub$Proxy
@@ -2518,6 +3054,22 @@ android.net.INetworkScoreService
android.net.INetworkStatsService$Stub$Proxy
android.net.INetworkStatsService$Stub
android.net.INetworkStatsService
+android.net.INetworkStatsSession$Stub
+android.net.INetworkStatsSession
+android.net.ISocketKeepaliveCallback$Stub$Proxy
+android.net.ISocketKeepaliveCallback$Stub
+android.net.ISocketKeepaliveCallback
+android.net.ITestNetworkManager$Stub
+android.net.ITestNetworkManager
+android.net.ITetheringEventCallback$Stub$Proxy
+android.net.ITetheringEventCallback$Stub
+android.net.ITetheringEventCallback
+android.net.ITetheringStatsProvider$Stub$Proxy
+android.net.ITetheringStatsProvider$Stub
+android.net.ITetheringStatsProvider
+android.net.InetAddresses
+android.net.InterfaceConfiguration$1
+android.net.InterfaceConfiguration
android.net.IpConfiguration$1
android.net.IpConfiguration$IpAssignment
android.net.IpConfiguration$ProxySettings
@@ -2527,9 +3079,12 @@ android.net.IpPrefix$2
android.net.IpPrefix
android.net.IpSecManager$SpiUnavailableException
android.net.IpSecManager
+android.net.KeepalivePacketData$1
+android.net.KeepalivePacketData
android.net.LinkAddress$1
android.net.LinkAddress
android.net.LinkProperties$1
+android.net.LinkProperties$CompareResult
android.net.LinkProperties
android.net.LocalServerSocket
android.net.LocalSocket
@@ -2545,30 +3100,54 @@ android.net.MatchAllNetworkSpecifier
android.net.Network$1
android.net.Network$NetworkBoundSocketFactory
android.net.Network
+android.net.NetworkAgent
android.net.NetworkCapabilities$1
android.net.NetworkCapabilities$NameOf
android.net.NetworkCapabilities
android.net.NetworkConfig
android.net.NetworkFactory$NetworkRequestInfo
+android.net.NetworkFactory$SerialNumber
android.net.NetworkFactory
+android.net.NetworkIdentity
android.net.NetworkInfo$1
android.net.NetworkInfo$DetailedState
android.net.NetworkInfo$State
android.net.NetworkInfo
android.net.NetworkKey$1
android.net.NetworkKey
+android.net.NetworkMisc$1
+android.net.NetworkMisc
+android.net.NetworkPolicy$1
+android.net.NetworkPolicy
+android.net.NetworkPolicyManager$1
android.net.NetworkPolicyManager$Listener
android.net.NetworkPolicyManager
+android.net.NetworkQuotaInfo
android.net.NetworkRequest$1
android.net.NetworkRequest$Builder
android.net.NetworkRequest$Type
android.net.NetworkRequest
+android.net.NetworkScore
android.net.NetworkScoreManager
+android.net.NetworkScorerAppData$1
+android.net.NetworkScorerAppData
android.net.NetworkSpecifier
+android.net.NetworkState$1
+android.net.NetworkState
android.net.NetworkStats$1
+android.net.NetworkStats$Entry
+android.net.NetworkStats$NonMonotonicObserver
android.net.NetworkStats
+android.net.NetworkStatsHistory$1
+android.net.NetworkStatsHistory$DataStreamUtils
+android.net.NetworkStatsHistory$Entry
+android.net.NetworkStatsHistory$ParcelUtils
+android.net.NetworkStatsHistory
+android.net.NetworkTemplate$1
+android.net.NetworkTemplate
android.net.NetworkUtils
android.net.NetworkWatchlistManager
+android.net.PacProxySelector
android.net.ParseException
android.net.PrivateDnsConnectivityChecker
android.net.Proxy
@@ -2576,12 +3155,19 @@ android.net.ProxyInfo$1
android.net.ProxyInfo
android.net.RouteInfo$1
android.net.RouteInfo
+android.net.RssiCurve$1
+android.net.RssiCurve
android.net.SSLCertificateSocketFactory$1
android.net.SSLCertificateSocketFactory
android.net.SSLSessionCache
android.net.ScoredNetwork$1
android.net.ScoredNetwork
+android.net.SntpClient$InvalidServerReplyException
+android.net.SntpClient
+android.net.SocketKeepalive$ErrorCodeException
+android.net.SocketKeepalive$InvalidPacketException
android.net.StaticIpConfiguration$1
+android.net.StaticIpConfiguration$Builder
android.net.StaticIpConfiguration
android.net.StringNetworkSpecifier$1
android.net.StringNetworkSpecifier
@@ -2607,58 +3193,234 @@ android.net.UriCodec
android.net.WebAddress
android.net.WifiKey$1
android.net.WifiKey
+android.net.apf.ApfCapabilities$1
+android.net.apf.ApfCapabilities
android.net.http.HttpResponseCache
android.net.http.X509TrustManagerExtensions
android.net.lowpan.LowpanManager
+android.net.metrics.ApfProgramEvent$1
+android.net.metrics.ApfProgramEvent
+android.net.metrics.ApfStats$1
+android.net.metrics.ApfStats
+android.net.metrics.ConnectStats
+android.net.metrics.DefaultNetworkEvent
+android.net.metrics.DhcpClientEvent$1
+android.net.metrics.DhcpClientEvent
+android.net.metrics.DnsEvent
+android.net.metrics.IpConnectivityLog$Event
+android.net.metrics.IpConnectivityLog
+android.net.metrics.IpManagerEvent$1
+android.net.metrics.IpManagerEvent
+android.net.metrics.IpReachabilityEvent$1
+android.net.metrics.IpReachabilityEvent
+android.net.metrics.NetworkEvent$1
+android.net.metrics.NetworkEvent
+android.net.metrics.NetworkMetrics$Metrics
+android.net.metrics.NetworkMetrics$Summary
+android.net.metrics.NetworkMetrics
+android.net.metrics.RaEvent$1
+android.net.metrics.RaEvent
+android.net.metrics.ValidationProbeEvent$1
+android.net.metrics.ValidationProbeEvent
+android.net.metrics.WakeupEvent
+android.net.metrics.WakeupStats
+android.net.nsd.INsdManager$Stub$Proxy
+android.net.nsd.INsdManager$Stub
+android.net.nsd.INsdManager
+android.net.nsd.NsdManager$ServiceHandler
android.net.nsd.NsdManager
+android.net.shared.Inet4AddressUtils
+android.net.shared.InetAddressUtils
+android.net.sip.ISipService$Stub$Proxy
android.net.sip.ISipService$Stub
android.net.sip.ISipService
+android.net.sip.SipException
android.net.sip.SipManager
+android.net.util.-$$Lambda$MultinetworkPolicyTracker$8YMQ0fPTKk7Fw-_gJjln0JT-g8E
+android.net.util.MultinetworkPolicyTracker$1
+android.net.util.MultinetworkPolicyTracker$2
+android.net.util.MultinetworkPolicyTracker$SettingObserver
+android.net.util.MultinetworkPolicyTracker
+android.net.wifi.-$$Lambda$O5kkps4d9X9Xr5DI8L3NlcZliu8
+android.net.wifi.-$$Lambda$WifiFrameworkInitializer$K4DpGPGObWI293pmRTuiEj5r-DE
+android.net.wifi.-$$Lambda$WifiFrameworkInitializer$Q8AMcrAZzPqZKp4l5Zz4DRDq6rY
+android.net.wifi.-$$Lambda$WifiFrameworkInitializer$QSCNoL1_pVVaV8B35R8b_0UECkU
+android.net.wifi.-$$Lambda$WifiFrameworkInitializer$evN9sVM7TGOwMVxoJTGBCfu_880
+android.net.wifi.-$$Lambda$WifiFrameworkInitializer$qxuZsnr_-ppKI2ad2pa3htyx2u0
+android.net.wifi.-$$Lambda$WifiFrameworkInitializer$y82Bone6wQbJ8BixuAZ6L5k501Y
+android.net.wifi.-$$Lambda$WifiScanner$ServiceHandler$MC84hrJ90Rns-G99w6ih3qQMdyw
+android.net.wifi.-$$Lambda$WifiScanner$ServiceHandler$cKqGOMxI2R2uyUjgsLnrUOSFRS8
+android.net.wifi.-$$Lambda$WifiScanner$ServiceHandler$tfzaoDCMuySQuJsgvPXn9A60XqE
+android.net.wifi.-$$Lambda$WifiScanner$ServiceHandler$y6fV_BVhUdL0OIhrI7CZr_ohobM
+android.net.wifi.AnqpInformationElement
+android.net.wifi.IActionListener$Stub
+android.net.wifi.IActionListener
+android.net.wifi.IDppCallback$Stub$Proxy
+android.net.wifi.IDppCallback$Stub
+android.net.wifi.IDppCallback
+android.net.wifi.ILocalOnlyHotspotCallback$Stub
+android.net.wifi.ILocalOnlyHotspotCallback
+android.net.wifi.INetworkRequestMatchCallback$Stub$Proxy
+android.net.wifi.INetworkRequestMatchCallback$Stub
+android.net.wifi.INetworkRequestMatchCallback
+android.net.wifi.IOnWifiActivityEnergyInfoListener$Stub
+android.net.wifi.IOnWifiActivityEnergyInfoListener
+android.net.wifi.IOnWifiUsabilityStatsListener$Stub$Proxy
+android.net.wifi.IOnWifiUsabilityStatsListener$Stub
+android.net.wifi.IOnWifiUsabilityStatsListener
+android.net.wifi.IScanResultsCallback$Stub
+android.net.wifi.IScanResultsCallback
+android.net.wifi.ISoftApCallback$Stub$Proxy
+android.net.wifi.ISoftApCallback$Stub
+android.net.wifi.ISoftApCallback
+android.net.wifi.ISuggestionConnectionStatusListener$Stub
+android.net.wifi.ISuggestionConnectionStatusListener
+android.net.wifi.ITrafficStateCallback$Stub$Proxy
+android.net.wifi.ITrafficStateCallback$Stub
+android.net.wifi.ITrafficStateCallback
+android.net.wifi.ITxPacketCountListener$Stub
+android.net.wifi.ITxPacketCountListener
android.net.wifi.IWifiManager$Stub$Proxy
android.net.wifi.IWifiManager$Stub
android.net.wifi.IWifiManager
+android.net.wifi.IWifiScanner$Stub$Proxy
+android.net.wifi.IWifiScanner$Stub
+android.net.wifi.IWifiScanner
android.net.wifi.ParcelUtil
android.net.wifi.RttManager
android.net.wifi.ScanResult$1
android.net.wifi.ScanResult$InformationElement
android.net.wifi.ScanResult$RadioChainInfo
android.net.wifi.ScanResult
+android.net.wifi.SoftApConfiguration
+android.net.wifi.SoftApInfo
android.net.wifi.SupplicantState$1
+android.net.wifi.SupplicantState$2
android.net.wifi.SupplicantState
+android.net.wifi.SynchronousExecutor
+android.net.wifi.WifiClient
android.net.wifi.WifiConfiguration$1
+android.net.wifi.WifiConfiguration$KeyMgmt
+android.net.wifi.WifiConfiguration$NetworkSelectionStatus$DisableReasonInfo
android.net.wifi.WifiConfiguration$NetworkSelectionStatus
android.net.wifi.WifiConfiguration$RecentFailure
android.net.wifi.WifiConfiguration
android.net.wifi.WifiEnterpriseConfig$1
android.net.wifi.WifiEnterpriseConfig
+android.net.wifi.WifiFrameworkInitializer
android.net.wifi.WifiInfo$1
android.net.wifi.WifiInfo
+android.net.wifi.WifiManager$MulticastLock
+android.net.wifi.WifiManager$SoftApCallback
+android.net.wifi.WifiManager$SoftApCallbackProxy
+android.net.wifi.WifiManager$TrafficStateCallbackProxy
android.net.wifi.WifiManager$WifiLock
android.net.wifi.WifiManager
+android.net.wifi.WifiNetworkAgentSpecifier$1
+android.net.wifi.WifiNetworkAgentSpecifier
+android.net.wifi.WifiNetworkScoreCache$CacheListener$1
android.net.wifi.WifiNetworkScoreCache$CacheListener
android.net.wifi.WifiNetworkScoreCache
+android.net.wifi.WifiNetworkSpecifier$1
+android.net.wifi.WifiNetworkSpecifier
+android.net.wifi.WifiNetworkSuggestion$1
+android.net.wifi.WifiNetworkSuggestion
+android.net.wifi.WifiScanner$ActionListener
+android.net.wifi.WifiScanner$ChannelSpec
+android.net.wifi.WifiScanner$ListenerWithExecutor
+android.net.wifi.WifiScanner$OperationResult$1
+android.net.wifi.WifiScanner$OperationResult
+android.net.wifi.WifiScanner$ParcelableScanData$1
+android.net.wifi.WifiScanner$ParcelableScanData
+android.net.wifi.WifiScanner$ParcelableScanResults$1
+android.net.wifi.WifiScanner$ParcelableScanResults
+android.net.wifi.WifiScanner$PnoScanListener
+android.net.wifi.WifiScanner$PnoSettings$1
+android.net.wifi.WifiScanner$PnoSettings$PnoNetwork
+android.net.wifi.WifiScanner$PnoSettings
+android.net.wifi.WifiScanner$ScanData$1
+android.net.wifi.WifiScanner$ScanData
+android.net.wifi.WifiScanner$ScanListener
+android.net.wifi.WifiScanner$ScanSettings$1
+android.net.wifi.WifiScanner$ScanSettings$HiddenNetwork
+android.net.wifi.WifiScanner$ScanSettings
+android.net.wifi.WifiScanner$ServiceHandler
android.net.wifi.WifiScanner
android.net.wifi.WifiSsid$1
android.net.wifi.WifiSsid
+android.net.wifi.WifiUsabilityStatsEntry$1
+android.net.wifi.WifiUsabilityStatsEntry
+android.net.wifi.WpsInfo$1
+android.net.wifi.WpsInfo
+android.net.wifi.aware.Characteristics$1
+android.net.wifi.aware.Characteristics
+android.net.wifi.aware.ConfigRequest$1
+android.net.wifi.aware.ConfigRequest
+android.net.wifi.aware.IWifiAwareManager$Stub
+android.net.wifi.aware.IWifiAwareManager
android.net.wifi.aware.WifiAwareManager
+android.net.wifi.hotspot2.IProvisioningCallback$Stub$Proxy
+android.net.wifi.hotspot2.IProvisioningCallback$Stub
+android.net.wifi.hotspot2.IProvisioningCallback
+android.net.wifi.hotspot2.OsuProvider$1
+android.net.wifi.hotspot2.OsuProvider
+android.net.wifi.hotspot2.PasspointConfiguration$1
+android.net.wifi.hotspot2.PasspointConfiguration
+android.net.wifi.hotspot2.pps.HomeSp$1
+android.net.wifi.hotspot2.pps.HomeSp
+android.net.wifi.p2p.IWifiP2pManager$Stub$Proxy
android.net.wifi.p2p.IWifiP2pManager$Stub
android.net.wifi.p2p.IWifiP2pManager
+android.net.wifi.p2p.WifiP2pConfig$1
+android.net.wifi.p2p.WifiP2pConfig
+android.net.wifi.p2p.WifiP2pDevice$1
+android.net.wifi.p2p.WifiP2pDevice
+android.net.wifi.p2p.WifiP2pDeviceList$1
+android.net.wifi.p2p.WifiP2pDeviceList
+android.net.wifi.p2p.WifiP2pGroup
+android.net.wifi.p2p.WifiP2pGroupList$1
+android.net.wifi.p2p.WifiP2pGroupList$2
+android.net.wifi.p2p.WifiP2pGroupList$GroupDeleteListener
+android.net.wifi.p2p.WifiP2pGroupList
+android.net.wifi.p2p.WifiP2pInfo$1
+android.net.wifi.p2p.WifiP2pInfo
android.net.wifi.p2p.WifiP2pManager
+android.net.wifi.p2p.WifiP2pProvDiscEvent
+android.net.wifi.p2p.nsd.WifiP2pServiceInfo$1
+android.net.wifi.p2p.nsd.WifiP2pServiceInfo
+android.net.wifi.rtt.IRttCallback$Stub$Proxy
+android.net.wifi.rtt.IRttCallback$Stub
+android.net.wifi.rtt.IRttCallback
+android.net.wifi.rtt.IWifiRttManager$Stub
+android.net.wifi.rtt.IWifiRttManager
+android.net.wifi.rtt.RangingRequest$1
+android.net.wifi.rtt.RangingRequest
android.net.wifi.rtt.WifiRttManager
+android.nfc.BeamShareData$1
+android.nfc.BeamShareData
+android.nfc.IAppCallback$Stub$Proxy
android.nfc.IAppCallback$Stub
android.nfc.IAppCallback
android.nfc.INfcAdapter$Stub$Proxy
android.nfc.INfcAdapter$Stub
android.nfc.INfcAdapter
+android.nfc.INfcAdapterExtras
android.nfc.INfcCardEmulation$Stub$Proxy
android.nfc.INfcCardEmulation$Stub
android.nfc.INfcCardEmulation
+android.nfc.INfcDta
android.nfc.INfcFCardEmulation$Stub$Proxy
android.nfc.INfcFCardEmulation$Stub
android.nfc.INfcFCardEmulation
android.nfc.INfcTag$Stub$Proxy
android.nfc.INfcTag$Stub
android.nfc.INfcTag
+android.nfc.INfcUnlockHandler$Stub$Proxy
+android.nfc.INfcUnlockHandler$Stub
+android.nfc.INfcUnlockHandler
+android.nfc.ITagRemovedCallback$Stub$Proxy
+android.nfc.ITagRemovedCallback$Stub
+android.nfc.ITagRemovedCallback
android.nfc.NfcActivityManager$NfcActivityState
android.nfc.NfcActivityManager$NfcApplicationState
android.nfc.NfcActivityManager
@@ -2666,6 +3428,10 @@ android.nfc.NfcAdapter$1
android.nfc.NfcAdapter$CreateNdefMessageCallback
android.nfc.NfcAdapter
android.nfc.NfcManager
+android.nfc.Tag$1
+android.nfc.Tag
+android.nfc.TechListParcel$1
+android.nfc.TechListParcel
android.opengl.EGL14
android.opengl.EGL15
android.opengl.EGLConfig
@@ -2691,50 +3457,73 @@ android.opengl.GLUtils
android.opengl.Matrix
android.opengl.Visibility
android.os.-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I
+android.os.-$$Lambda$Build$WrC6eL7oW2Zm9UDTcXXKr0DnOMw
+android.os.-$$Lambda$HidlSupport$CwwfmHPEvZaybUxpLzKdwrpQRfA
+android.os.-$$Lambda$HidlSupport$GHxmwrIWiKN83tl6aMQt_nV5hiw
android.os.-$$Lambda$IyvVQC-0mKtsfXbnO0kDL64hrk0
+android.os.-$$Lambda$PowerManager$WakeLock$VvFzmRZ4ZGlXx7u3lSAJ_T-YUjw
android.os.-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0
+android.os.-$$Lambda$StrictMode$AndroidBlockGuardPolicy$9nBulCQKaMajrWr41SB7f7YRT1I
+android.os.-$$Lambda$StrictMode$AndroidBlockGuardPolicy$FxZGA9KtfTewqdcxlUwvIe5Nx9I
+android.os.-$$Lambda$StrictMode$UFC_nI1x6u8ZwMQmA7bmj9NHZz4
android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ
android.os.-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg
android.os.-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE
android.os.-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0
android.os.-$$Lambda$q1UvBdLgHRZVzc68BxdksTmbuCw
android.os.AsyncResult
-android.os.AsyncTask
android.os.AsyncTask$1
android.os.AsyncTask$2
android.os.AsyncTask$3
android.os.AsyncTask$4
+android.os.AsyncTask$5
android.os.AsyncTask$AsyncTaskResult
android.os.AsyncTask$InternalHandler
android.os.AsyncTask$SerialExecutor$1
android.os.AsyncTask$SerialExecutor
android.os.AsyncTask$Status
android.os.AsyncTask$WorkerRunnable
+android.os.AsyncTask
android.os.BadParcelableException
android.os.BaseBundle$NoImagePreloadHolder
android.os.BaseBundle
+android.os.BasicShellCommandHandler
android.os.BatteryManager
+android.os.BatteryManagerInternal
android.os.BatteryProperty$1
+android.os.BatteryProperty
+android.os.BatterySaverPolicyConfig$1
+android.os.BatterySaverPolicyConfig
+android.os.BatteryStats$2
android.os.BatteryStats$BitDescription
android.os.BatteryStats$ControllerActivityCounter
android.os.BatteryStats$Counter
+android.os.BatteryStats$DailyItem
android.os.BatteryStats$HistoryEventTracker
android.os.BatteryStats$HistoryItem
+android.os.BatteryStats$HistoryPrinter
android.os.BatteryStats$HistoryStepDetails
android.os.BatteryStats$HistoryTag
android.os.BatteryStats$IntToString
android.os.BatteryStats$LevelStepTracker
android.os.BatteryStats$LongCounter
android.os.BatteryStats$LongCounterArray
+android.os.BatteryStats$PackageChange
android.os.BatteryStats$Timer
+android.os.BatteryStats$Uid$Pid
android.os.BatteryStats$Uid$Pkg$Serv
android.os.BatteryStats$Uid$Pkg
+android.os.BatteryStats$Uid$Proc$ExcessivePower
android.os.BatteryStats$Uid$Proc
android.os.BatteryStats$Uid$Sensor
android.os.BatteryStats$Uid$Wakelock
android.os.BatteryStats$Uid
android.os.BatteryStats
+android.os.BatteryStatsManager
+android.os.BestClock
android.os.Binder$NoImagePreloadHolder
+android.os.Binder$PropagateWorkSourceTransactListener
+android.os.Binder$ProxyTransactListener
android.os.Binder
android.os.BinderProxy$NoImagePreloadHolder
android.os.BinderProxy$ProxyMap
@@ -2747,7 +3536,10 @@ android.os.Bundle
android.os.CancellationSignal$OnCancelListener
android.os.CancellationSignal$Transport
android.os.CancellationSignal
+android.os.ChildZygoteProcess
android.os.ConditionVariable
+android.os.CpuUsageInfo$1
+android.os.CpuUsageInfo
android.os.DeadObjectException
android.os.DeadSystemException
android.os.Debug$MemoryInfo$1
@@ -2762,16 +3554,22 @@ android.os.Environment
android.os.EventLogTags
android.os.FactoryTest
android.os.FileBridge$FileBridgeOutputStream
+android.os.FileBridge
android.os.FileObserver$ObserverThread
+android.os.FileUtils$1
android.os.FileUtils
+android.os.GraphicsEnvironment$1
android.os.GraphicsEnvironment$OpenGlDriverChoice
android.os.GraphicsEnvironment
+android.os.Handler$BlockingRunnable
android.os.Handler$Callback
android.os.Handler$MessengerImpl
android.os.Handler
android.os.HandlerExecutor
android.os.HandlerThread
android.os.HardwarePropertiesManager
+android.os.HidlMemory
+android.os.HidlSupport$Mutable
android.os.HidlSupport
android.os.HwBinder
android.os.HwBlob
@@ -2785,54 +3583,116 @@ android.os.IBinder
android.os.ICancellationSignal$Stub$Proxy
android.os.ICancellationSignal$Stub
android.os.ICancellationSignal
+android.os.IDeviceIdentifiersPolicyService$Stub$Proxy
android.os.IDeviceIdentifiersPolicyService$Stub
android.os.IDeviceIdentifiersPolicyService
android.os.IDeviceIdleController$Stub$Proxy
android.os.IDeviceIdleController$Stub
android.os.IDeviceIdleController
+android.os.IDumpstate$Stub
+android.os.IDumpstate
+android.os.IExternalVibratorService$Stub
+android.os.IExternalVibratorService
android.os.IHardwarePropertiesManager$Stub
android.os.IHardwarePropertiesManager
android.os.IHwBinder$DeathRecipient
android.os.IHwBinder
android.os.IHwInterface
+android.os.IIncidentCompanion$Stub
+android.os.IIncidentCompanion
+android.os.IIncidentManager$Stub$Proxy
+android.os.IIncidentManager$Stub
+android.os.IIncidentManager
+android.os.IInstalld$Stub$Proxy
+android.os.IInstalld$Stub
+android.os.IInstalld
android.os.IInterface
android.os.IMessenger$Stub$Proxy
android.os.IMessenger$Stub
android.os.IMessenger
+android.os.INetworkActivityListener$Stub$Proxy
+android.os.INetworkActivityListener$Stub
+android.os.INetworkActivityListener
android.os.INetworkManagementService$Stub$Proxy
android.os.INetworkManagementService$Stub
android.os.INetworkManagementService
+android.os.IPermissionController$Stub
+android.os.IPermissionController
android.os.IPowerManager$Stub$Proxy
android.os.IPowerManager$Stub
android.os.IPowerManager
+android.os.IProcessInfoService$Stub
+android.os.IProcessInfoService
+android.os.IProgressListener$Stub$Proxy
+android.os.IProgressListener$Stub
+android.os.IProgressListener
+android.os.IPullAtomCallback$Stub
+android.os.IPullAtomCallback
+android.os.IRecoverySystem$Stub
+android.os.IRecoverySystem
+android.os.IRemoteCallback$Stub$Proxy
android.os.IRemoteCallback$Stub
android.os.IRemoteCallback
+android.os.ISchedulingPolicyService$Stub
+android.os.ISchedulingPolicyService
+android.os.IServiceManager$Stub$Proxy
+android.os.IServiceManager$Stub
android.os.IServiceManager
+android.os.IStatsCompanionService$Stub
+android.os.IStatsCompanionService
android.os.IStatsManager$Stub$Proxy
android.os.IStatsManager$Stub
android.os.IStatsManager
+android.os.IStatsPullerCallback
+android.os.IStoraged$Stub$Proxy
+android.os.IStoraged$Stub
+android.os.IStoraged
android.os.ISystemUpdateManager$Stub$Proxy
android.os.ISystemUpdateManager$Stub
android.os.ISystemUpdateManager
+android.os.IThermalEventListener$Stub$Proxy
+android.os.IThermalEventListener$Stub
+android.os.IThermalEventListener
+android.os.IThermalService$Stub$Proxy
+android.os.IThermalService$Stub
+android.os.IThermalService
+android.os.IThermalStatusListener$Stub$Proxy
+android.os.IThermalStatusListener$Stub
+android.os.IThermalStatusListener
+android.os.IUpdateLock$Stub
+android.os.IUpdateLock
android.os.IUserManager$Stub$Proxy
android.os.IUserManager$Stub
android.os.IUserManager
+android.os.IUserRestrictionsListener$Stub
+android.os.IUserRestrictionsListener
android.os.IVibratorService$Stub$Proxy
android.os.IVibratorService$Stub
android.os.IVibratorService
+android.os.IVold$Stub$Proxy
+android.os.IVold$Stub
+android.os.IVold
+android.os.IVoldListener$Stub
+android.os.IVoldListener
+android.os.IVoldTaskListener$Stub$Proxy
+android.os.IVoldTaskListener$Stub
+android.os.IVoldTaskListener
android.os.IncidentManager
android.os.LocaleList$1
android.os.LocaleList
+android.os.Looper$Observer
android.os.Looper
android.os.MemoryFile
android.os.Message$1
android.os.Message
+android.os.MessageQueue$FileDescriptorRecord
android.os.MessageQueue$IdleHandler
android.os.MessageQueue$OnFileDescriptorEventListener
android.os.MessageQueue
android.os.Messenger$1
android.os.Messenger
android.os.NativeHandle
+android.os.NetworkOnMainThreadException
android.os.OperationCanceledException
android.os.Parcel$1
android.os.Parcel$2
@@ -2843,6 +3703,7 @@ android.os.ParcelFileDescriptor$2
android.os.ParcelFileDescriptor$AutoCloseInputStream
android.os.ParcelFileDescriptor$AutoCloseOutputStream
android.os.ParcelFileDescriptor
+android.os.ParcelFormatException
android.os.ParcelUuid$1
android.os.ParcelUuid
android.os.Parcelable$ClassLoaderCreator
@@ -2855,16 +3716,27 @@ android.os.ParcelableParcel
android.os.PatternMatcher$1
android.os.PatternMatcher
android.os.PersistableBundle$1
+android.os.PersistableBundle$MyReadMapCallback
android.os.PersistableBundle
android.os.PooledStringReader
android.os.PooledStringWriter
android.os.PowerManager$WakeLock$1
android.os.PowerManager$WakeLock
android.os.PowerManager
+android.os.PowerManagerInternal$1
+android.os.PowerManagerInternal$LowPowerModeListener
+android.os.PowerManagerInternal
+android.os.PowerSaveState$1
+android.os.PowerSaveState$Builder
+android.os.PowerSaveState
+android.os.PowerWhitelistManager
+android.os.Process$ProcessStartResult
android.os.Process
android.os.RecoverySystem
android.os.Registrant
android.os.RegistrantList
+android.os.RemoteCallback$1
+android.os.RemoteCallback$2
android.os.RemoteCallback$3
android.os.RemoteCallback$OnResultListener
android.os.RemoteCallback
@@ -2882,10 +3754,19 @@ android.os.ServiceManagerNative
android.os.ServiceManagerProxy
android.os.ServiceSpecificException
android.os.SharedMemory$1
+android.os.SharedMemory$Closer
+android.os.SharedMemory$MemoryRegistration
+android.os.SharedMemory$Unmapper
android.os.SharedMemory
android.os.ShellCallback$1
android.os.ShellCallback
+android.os.ShellCommand
+android.os.SimpleClock
android.os.StatFs
+android.os.StatsDimensionsValue$1
+android.os.StatsDimensionsValue
+android.os.StatsLogEventWrapper$1
+android.os.StatsLogEventWrapper
android.os.StrictMode$1
android.os.StrictMode$2
android.os.StrictMode$3
@@ -2909,23 +3790,43 @@ android.os.StrictMode$ViolationLogger
android.os.StrictMode$VmPolicy$Builder
android.os.StrictMode$VmPolicy
android.os.StrictMode
+android.os.SynchronousResultReceiver$Result
+android.os.SynchronousResultReceiver
+android.os.SystemClock$1
+android.os.SystemClock$2
+android.os.SystemClock$3
android.os.SystemClock
android.os.SystemProperties
+android.os.SystemService$1
+android.os.SystemService$State
+android.os.SystemService
android.os.SystemUpdateManager
android.os.SystemVibrator
+android.os.Temperature$1
+android.os.Temperature
android.os.ThreadLocalWorkSource
+android.os.TokenWatcher$1
+android.os.TokenWatcher
android.os.Trace
+android.os.TraceNameSupplier
+android.os.TransactionTooLargeException
android.os.TransactionTracker
+android.os.UEventObserver$UEventThread
android.os.UEventObserver
android.os.UpdateLock
android.os.UserHandle$1
android.os.UserHandle
android.os.UserManager$EnforcingUser$1
+android.os.UserManager$EnforcingUser
android.os.UserManager$UserOperationException
android.os.UserManager
android.os.VibrationEffect$1
android.os.VibrationEffect$OneShot$1
android.os.VibrationEffect$OneShot
+android.os.VibrationEffect$Prebaked$1
+android.os.VibrationEffect$Prebaked
+android.os.VibrationEffect$Waveform$1
+android.os.VibrationEffect$Waveform
android.os.VibrationEffect
android.os.Vibrator
android.os.VintfObject
@@ -2934,56 +3835,138 @@ android.os.WorkSource$1
android.os.WorkSource$WorkChain$1
android.os.WorkSource$WorkChain
android.os.WorkSource
+android.os.ZygoteProcess$ZygoteState
android.os.ZygoteProcess
android.os.ZygoteStartFailedEx
+android.os.connectivity.CellularBatteryStats$1
+android.os.connectivity.CellularBatteryStats
+android.os.connectivity.GpsBatteryStats$1
+android.os.connectivity.GpsBatteryStats
+android.os.connectivity.WifiActivityEnergyInfo
+android.os.connectivity.WifiBatteryStats$1
+android.os.connectivity.WifiBatteryStats
+android.os.health.HealthKeys$Constant
+android.os.health.HealthKeys$Constants
+android.os.health.HealthKeys$SortedIntArray
android.os.health.HealthStats
android.os.health.HealthStatsParceler$1
android.os.health.HealthStatsParceler
+android.os.health.HealthStatsWriter
android.os.health.SystemHealthManager
android.os.health.TimerStat$1
android.os.health.TimerStat
android.os.image.DynamicSystemClient
android.os.image.DynamicSystemManager
+android.os.image.IDynamicSystemService$Stub
+android.os.image.IDynamicSystemService
+android.os.incremental.IncrementalDataLoaderParams
+android.os.incremental.IncrementalDataLoaderParamsParcel
+android.os.storage.DiskInfo$1
+android.os.storage.DiskInfo
+android.os.storage.IObbActionListener$Stub$Proxy
android.os.storage.IObbActionListener$Stub
android.os.storage.IObbActionListener
+android.os.storage.IStorageEventListener$Stub$Proxy
+android.os.storage.IStorageEventListener$Stub
+android.os.storage.IStorageEventListener
android.os.storage.IStorageManager$Stub$Proxy
android.os.storage.IStorageManager$Stub
android.os.storage.IStorageManager
+android.os.storage.IStorageShutdownObserver$Stub$Proxy
+android.os.storage.IStorageShutdownObserver$Stub
+android.os.storage.IStorageShutdownObserver
+android.os.storage.StorageEventListener
android.os.storage.StorageManager$ObbActionListener
+android.os.storage.StorageManager$StorageEventListenerDelegate
android.os.storage.StorageManager
+android.os.storage.StorageManagerInternal$ExternalStorageMountPolicy
+android.os.storage.StorageManagerInternal
android.os.storage.StorageVolume$1
android.os.storage.StorageVolume
android.os.storage.VolumeInfo$1
android.os.storage.VolumeInfo$2
android.os.storage.VolumeInfo
+android.os.storage.VolumeRecord$1
+android.os.storage.VolumeRecord
+android.os.strictmode.ContentUriWithoutPermissionViolation
+android.os.strictmode.CredentialProtectedWhileLockedViolation
+android.os.strictmode.CustomViolation
android.os.strictmode.DiskReadViolation
+android.os.strictmode.DiskWriteViolation
+android.os.strictmode.ExplicitGcViolation
+android.os.strictmode.ImplicitDirectBootViolation
android.os.strictmode.InstanceCountViolation
+android.os.strictmode.IntentReceiverLeakedViolation
+android.os.strictmode.LeakedClosableViolation
+android.os.strictmode.NetworkViolation
+android.os.strictmode.ResourceMismatchViolation
+android.os.strictmode.ServiceConnectionLeakedViolation
+android.os.strictmode.SqliteObjectLeakedViolation
+android.os.strictmode.UnbufferedIoViolation
+android.os.strictmode.UntaggedSocketViolation
android.os.strictmode.Violation
-android.permission.-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss
+android.permission.-$$Lambda$PermissionControllerManager$Iy-7wiKMCV-MFSPGyIJxP_DSf8E
+android.permission.IOnPermissionsChangeListener$Stub
+android.permission.IOnPermissionsChangeListener
android.permission.IPermissionController$Stub$Proxy
+android.permission.IPermissionController$Stub
android.permission.IPermissionController
-android.permission.PermissionControllerManager$RemoteService
+android.permission.IPermissionManager$Stub$Proxy
+android.permission.IPermissionManager$Stub
+android.permission.IPermissionManager
android.permission.PermissionControllerManager
android.permission.PermissionManager$SplitPermissionInfo
+android.permission.PermissionManagerInternal
+android.preference.GenericInflater$Parent
+android.preference.GenericInflater
android.preference.Preference$OnPreferenceChangeListener
android.preference.Preference
android.preference.PreferenceActivity
android.preference.PreferenceFragment$OnPreferenceStartFragmentCallback
android.preference.PreferenceFragment
+android.preference.PreferenceGroup
+android.preference.PreferenceInflater
android.preference.PreferenceManager$OnPreferenceTreeClickListener
android.preference.PreferenceManager
+android.preference.PreferenceScreen
+android.print.IPrintManager$Stub
+android.print.IPrintManager
+android.print.IPrintSpooler$Stub$Proxy
+android.print.IPrintSpooler$Stub
+android.print.IPrintSpooler
+android.print.IPrintSpoolerCallbacks$Stub
+android.print.IPrintSpoolerCallbacks
+android.print.IPrintSpoolerClient$Stub
+android.print.IPrintSpoolerClient
android.print.PrintDocumentAdapter
+android.print.PrintJobInfo$1
+android.print.PrintJobInfo
android.print.PrintManager
+android.printservice.IPrintServiceClient$Stub
+android.printservice.IPrintServiceClient
+android.printservice.PrintServiceInfo$1
+android.printservice.PrintServiceInfo
+android.privacy.DifferentialPrivacyConfig
+android.privacy.DifferentialPrivacyEncoder
+android.privacy.internal.longitudinalreporting.LongitudinalReportingConfig
+android.privacy.internal.longitudinalreporting.LongitudinalReportingEncoder
+android.privacy.internal.rappor.RapporConfig
+android.privacy.internal.rappor.RapporEncoder
+android.provider.-$$Lambda$DeviceConfig$6U9gBH6h5Oab2DB_e83az4n_WEo
android.provider.-$$Lambda$FontsContract$3FDNQd-WsglsyDhif-aHVbzkfrA
android.provider.-$$Lambda$FontsContract$rqfIZKvP1frnI9vP1hVA8jQN_RE
android.provider.-$$Lambda$Settings$NameValueCache$qSyMM6rUAHCa-5rsP-atfAqR3sA
android.provider.BaseColumns
+android.provider.BlockedNumberContract$SystemContract
+android.provider.BlockedNumberContract
android.provider.CalendarContract$CalendarColumns
android.provider.CalendarContract$CalendarSyncColumns
+android.provider.CalendarContract$Calendars
android.provider.CalendarContract$Events
android.provider.CalendarContract$EventsColumns
android.provider.CalendarContract$Instances
android.provider.CalendarContract$SyncColumns
+android.provider.CallLog$Calls
android.provider.ContactsContract$CommonDataKinds$BaseTypes
android.provider.ContactsContract$CommonDataKinds$Callable
android.provider.ContactsContract$CommonDataKinds$CommonColumns
@@ -2999,13 +3982,17 @@ android.provider.ContactsContract$Data
android.provider.ContactsContract$DataColumns
android.provider.ContactsContract$DataColumnsWithJoins
android.provider.ContactsContract$DataUsageStatColumns
+android.provider.ContactsContract$PhoneLookup
+android.provider.ContactsContract$PhoneLookupColumns
android.provider.ContactsContract$RawContactsColumns
android.provider.ContactsContract$StatusColumns
android.provider.ContactsContract
android.provider.DeviceConfig$1
-android.provider.DeviceConfig$OnPropertyChangedListener
+android.provider.DeviceConfig$OnPropertiesChangedListener
+android.provider.DeviceConfig$Properties
android.provider.DeviceConfig
android.provider.Downloads$Impl
+android.provider.Downloads
android.provider.FontRequest
android.provider.FontsContract$1
android.provider.FontsContract$FontFamilyResult
@@ -3027,52 +4014,32 @@ android.provider.SearchRecentSuggestions
android.provider.Settings$Config
android.provider.Settings$ContentProviderHolder
android.provider.Settings$GenerationTracker
-android.provider.Settings$Global$1
-android.provider.Settings$Global$2
-android.provider.Settings$Global$3
android.provider.Settings$Global
android.provider.Settings$NameValueCache
android.provider.Settings$NameValueTable
-android.provider.Settings$Secure$1
-android.provider.Settings$Secure$2
-android.provider.Settings$Secure$3
-android.provider.Settings$Secure$4
android.provider.Settings$Secure
android.provider.Settings$SettingNotFoundException
-android.provider.Settings$System$1
-android.provider.Settings$System$2
-android.provider.Settings$System$3
-android.provider.Settings$System$4
-android.provider.Settings$System$5
-android.provider.Settings$System$6
android.provider.Settings$System
android.provider.Settings
-android.provider.SettingsValidators$1
-android.provider.SettingsValidators$2
-android.provider.SettingsValidators$3
-android.provider.SettingsValidators$4
-android.provider.SettingsValidators$5
-android.provider.SettingsValidators$6
-android.provider.SettingsValidators$7
-android.provider.SettingsValidators$8
-android.provider.SettingsValidators$9
-android.provider.SettingsValidators$ComponentNameListValidator
-android.provider.SettingsValidators$DiscreteValueValidator
-android.provider.SettingsValidators$InclusiveFloatRangeValidator
-android.provider.SettingsValidators$InclusiveIntegerRangeValidator
-android.provider.SettingsValidators$PackageNameListValidator
-android.provider.SettingsValidators$Validator
-android.provider.SettingsValidators
+android.provider.Telephony$BaseMmsColumns
+android.provider.Telephony$CarrierColumns
android.provider.Telephony$CarrierId$All
+android.provider.Telephony$CarrierId
android.provider.Telephony$Carriers
+android.provider.Telephony$Mms
android.provider.Telephony$ServiceStateTable
android.provider.Telephony$Sms
android.provider.Telephony$TextBasedSmsColumns
+android.provider.Telephony$Threads
+android.provider.Telephony$ThreadsColumns
+android.provider.UserDictionary$Words
android.renderscript.RenderScriptCacheDir
android.security.AttestedKeyPair
android.security.Credentials
android.security.IKeyChainAliasCallback$Stub
android.security.IKeyChainAliasCallback
+android.security.IKeyChainService$Stub$Proxy
+android.security.IKeyChainService$Stub
android.security.IKeyChainService
android.security.KeyChain$1
android.security.KeyChain$AliasResponse
@@ -3080,10 +4047,21 @@ android.security.KeyChain$KeyChainConnection
android.security.KeyChain
android.security.KeyChainAliasCallback
android.security.KeyChainException
+android.security.KeyStore$KeyCharacteristicsCallbackResult
+android.security.KeyStore$KeyCharacteristicsPromise
+android.security.KeyStore$KeystoreResultPromise
+android.security.KeyStore$OperationPromise
+android.security.KeyStore$State
android.security.KeyStore
android.security.KeyStoreException
android.security.NetworkSecurityPolicy
android.security.Scrypt
+android.security.keymaster.IKeyAttestationApplicationIdProvider$Stub
+android.security.keymaster.IKeyAttestationApplicationIdProvider
+android.security.keymaster.KeyAttestationApplicationId$1
+android.security.keymaster.KeyAttestationApplicationId
+android.security.keymaster.KeyAttestationPackageInfo$1
+android.security.keymaster.KeyAttestationPackageInfo
android.security.keymaster.KeyCharacteristics$1
android.security.keymaster.KeyCharacteristics
android.security.keymaster.KeymasterArgument$1
@@ -3093,9 +4071,13 @@ android.security.keymaster.KeymasterArguments
android.security.keymaster.KeymasterBlob$1
android.security.keymaster.KeymasterBlob
android.security.keymaster.KeymasterBlobArgument
+android.security.keymaster.KeymasterBooleanArgument
android.security.keymaster.KeymasterCertificateChain$1
android.security.keymaster.KeymasterCertificateChain
+android.security.keymaster.KeymasterDateArgument
+android.security.keymaster.KeymasterDefs
android.security.keymaster.KeymasterIntArgument
+android.security.keymaster.KeymasterLongArgument
android.security.keymaster.OperationResult$1
android.security.keymaster.OperationResult
android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi$AdditionalAuthenticationDataStream
@@ -3107,27 +4089,58 @@ android.security.keystore.AndroidKeyStoreBCWorkaroundProvider
android.security.keystore.AndroidKeyStoreCipherSpiBase
android.security.keystore.AndroidKeyStoreKey
android.security.keystore.AndroidKeyStoreKeyFactorySpi
+android.security.keystore.AndroidKeyStoreLoadStoreParameter
+android.security.keystore.AndroidKeyStorePrivateKey
android.security.keystore.AndroidKeyStoreProvider
+android.security.keystore.AndroidKeyStoreSecretKey
android.security.keystore.AndroidKeyStoreSpi
+android.security.keystore.ArrayUtils
android.security.keystore.AttestationUtils
+android.security.keystore.IKeystoreKeyCharacteristicsCallback$Stub
+android.security.keystore.IKeystoreKeyCharacteristicsCallback
+android.security.keystore.IKeystoreOperationResultCallback$Stub
+android.security.keystore.IKeystoreOperationResultCallback
+android.security.keystore.IKeystoreResponseCallback$Stub
+android.security.keystore.IKeystoreResponseCallback
android.security.keystore.IKeystoreService$Stub$Proxy
android.security.keystore.IKeystoreService$Stub
android.security.keystore.IKeystoreService
android.security.keystore.KeyAttestationException
android.security.keystore.KeyGenParameterSpec
android.security.keystore.KeyPermanentlyInvalidatedException
+android.security.keystore.KeyProperties$Digest
android.security.keystore.KeyProperties$KeyAlgorithm
+android.security.keystore.KeyStoreConnectException
android.security.keystore.KeyStoreCryptoOperation
android.security.keystore.KeyStoreCryptoOperationChunkedStreamer$MainDataStream
android.security.keystore.KeyStoreCryptoOperationChunkedStreamer$Stream
android.security.keystore.KeyStoreCryptoOperationChunkedStreamer
android.security.keystore.KeyStoreCryptoOperationStreamer
android.security.keystore.KeyStoreCryptoOperationUtils
+android.security.keystore.KeystoreResponse$1
+android.security.keystore.KeystoreResponse
android.security.keystore.ParcelableKeyGenParameterSpec$1
android.security.keystore.ParcelableKeyGenParameterSpec
android.security.keystore.StrongBoxUnavailableException
android.security.keystore.UserAuthArgs
+android.security.keystore.UserNotAuthenticatedException
+android.security.keystore.Utils
+android.security.keystore.recovery.KeyChainProtectionParams$1
+android.security.keystore.recovery.KeyChainProtectionParams$Builder
+android.security.keystore.recovery.KeyChainProtectionParams
+android.security.keystore.recovery.KeyChainSnapshot$1
+android.security.keystore.recovery.KeyChainSnapshot$Builder
+android.security.keystore.recovery.KeyChainSnapshot
+android.security.keystore.recovery.KeyDerivationParams$1
+android.security.keystore.recovery.KeyDerivationParams
+android.security.keystore.recovery.RecoveryCertPath$1
+android.security.keystore.recovery.RecoveryCertPath
android.security.keystore.recovery.RecoveryController
+android.security.keystore.recovery.TrustedRootCertificates
+android.security.keystore.recovery.WrappedApplicationKey$1
+android.security.keystore.recovery.WrappedApplicationKey$Builder
+android.security.keystore.recovery.WrappedApplicationKey
+android.security.keystore.recovery.X509CertificateParsingUtils
android.security.net.config.ApplicationConfig
android.security.net.config.CertificateSource
android.security.net.config.CertificatesEntryRef
@@ -3137,6 +4150,7 @@ android.security.net.config.DirectoryCertificateSource$1
android.security.net.config.DirectoryCertificateSource$3
android.security.net.config.DirectoryCertificateSource$CertSelector
android.security.net.config.DirectoryCertificateSource
+android.security.net.config.Domain
android.security.net.config.KeyStoreCertificateSource
android.security.net.config.KeyStoreConfigSource
android.security.net.config.ManifestConfigSource$DefaultConfigSource
@@ -3148,19 +4162,102 @@ android.security.net.config.NetworkSecurityConfigProvider
android.security.net.config.NetworkSecurityTrustManager
android.security.net.config.Pin
android.security.net.config.PinSet
+android.security.net.config.ResourceCertificateSource
android.security.net.config.RootTrustManager
android.security.net.config.RootTrustManagerFactorySpi
android.security.net.config.SystemCertificateSource
android.security.net.config.TrustAnchor
android.security.net.config.TrustedCertificateStoreAdapter
android.security.net.config.UserCertificateSource
+android.security.net.config.WfaCertificateSource
android.security.net.config.XmlConfigSource$ParserException
android.security.net.config.XmlConfigSource
+android.service.appprediction.IPredictionService$Stub$Proxy
+android.service.appprediction.IPredictionService$Stub
+android.service.appprediction.IPredictionService
+android.service.autofill.AutofillServiceInfo
+android.service.autofill.FieldClassificationUserData
+android.service.autofill.FillContext$1
+android.service.autofill.FillContext
+android.service.autofill.FillRequest$1
+android.service.autofill.FillRequest
+android.service.autofill.FillResponse$1
+android.service.autofill.FillResponse
+android.service.autofill.IAutoFillService$Stub$Proxy
+android.service.autofill.IAutoFillService$Stub
+android.service.autofill.IAutoFillService
+android.service.autofill.IFillCallback$Stub
+android.service.autofill.IFillCallback
+android.service.autofill.UserData$1
+android.service.autofill.UserData
+android.service.autofill.augmented.IAugmentedAutofillService$Stub$Proxy
+android.service.autofill.augmented.IAugmentedAutofillService$Stub
+android.service.autofill.augmented.IAugmentedAutofillService
+android.service.autofill.augmented.IFillCallback$Stub
+android.service.autofill.augmented.IFillCallback
android.service.carrier.CarrierIdentifier$1
android.service.carrier.CarrierIdentifier
+android.service.carrier.CarrierMessagingServiceWrapper$CarrierMessagingCallbackWrapper
+android.service.carrier.CarrierMessagingServiceWrapper
+android.service.carrier.ICarrierService$Stub$Proxy
+android.service.carrier.ICarrierService$Stub
+android.service.carrier.ICarrierService
+android.service.contentcapture.ActivityEvent$1
+android.service.contentcapture.ActivityEvent
+android.service.contentcapture.ContentCaptureServiceInfo
+android.service.contentcapture.FlushMetrics$1
+android.service.contentcapture.FlushMetrics
+android.service.contentcapture.IContentCaptureService$Stub$Proxy
+android.service.contentcapture.IContentCaptureService$Stub
+android.service.contentcapture.IContentCaptureService
+android.service.contentcapture.IContentCaptureServiceCallback$Stub
+android.service.contentcapture.IContentCaptureServiceCallback
+android.service.contentcapture.SnapshotData$1
+android.service.dreams.DreamManagerInternal
android.service.dreams.IDreamManager$Stub$Proxy
android.service.dreams.IDreamManager$Stub
android.service.dreams.IDreamManager
+android.service.dreams.IDreamService$Stub$Proxy
+android.service.dreams.IDreamService$Stub
+android.service.dreams.IDreamService
+android.service.euicc.EuiccProfileInfo$1
+android.service.euicc.EuiccProfileInfo
+android.service.euicc.GetEuiccProfileInfoListResult$1
+android.service.euicc.GetEuiccProfileInfoListResult
+android.service.euicc.IDeleteSubscriptionCallback$Stub
+android.service.euicc.IDeleteSubscriptionCallback
+android.service.euicc.IDownloadSubscriptionCallback$Stub
+android.service.euicc.IDownloadSubscriptionCallback
+android.service.euicc.IEraseSubscriptionsCallback$Stub
+android.service.euicc.IEraseSubscriptionsCallback
+android.service.euicc.IEuiccService$Stub$Proxy
+android.service.euicc.IEuiccService$Stub
+android.service.euicc.IEuiccService
+android.service.euicc.IGetDefaultDownloadableSubscriptionListCallback$Stub
+android.service.euicc.IGetDefaultDownloadableSubscriptionListCallback
+android.service.euicc.IGetDownloadableSubscriptionMetadataCallback$Stub
+android.service.euicc.IGetDownloadableSubscriptionMetadataCallback
+android.service.euicc.IGetEidCallback$Stub
+android.service.euicc.IGetEidCallback
+android.service.euicc.IGetEuiccInfoCallback$Stub
+android.service.euicc.IGetEuiccInfoCallback
+android.service.euicc.IGetEuiccProfileInfoListCallback$Stub
+android.service.euicc.IGetEuiccProfileInfoListCallback
+android.service.euicc.IGetOtaStatusCallback$Stub
+android.service.euicc.IGetOtaStatusCallback
+android.service.euicc.IOtaStatusChangedCallback$Stub
+android.service.euicc.IOtaStatusChangedCallback
+android.service.euicc.IRetainSubscriptionsForFactoryResetCallback$Stub
+android.service.euicc.IRetainSubscriptionsForFactoryResetCallback
+android.service.euicc.ISwitchToSubscriptionCallback$Stub
+android.service.euicc.ISwitchToSubscriptionCallback
+android.service.euicc.IUpdateSubscriptionNicknameCallback$Stub
+android.service.euicc.IUpdateSubscriptionNicknameCallback
+android.service.gatekeeper.GateKeeperResponse$1
+android.service.gatekeeper.GateKeeperResponse
+android.service.gatekeeper.IGateKeeperService$Stub$Proxy
+android.service.gatekeeper.IGateKeeperService$Stub
+android.service.gatekeeper.IGateKeeperService
android.service.media.IMediaBrowserService$Stub$Proxy
android.service.media.IMediaBrowserService$Stub
android.service.media.IMediaBrowserService
@@ -3181,6 +4278,14 @@ android.service.media.MediaBrowserService
android.service.notification.Adjustment$1
android.service.notification.Adjustment
android.service.notification.Condition$1
+android.service.notification.Condition
+android.service.notification.ConditionProviderService$H
+android.service.notification.ConditionProviderService$Provider
+android.service.notification.ConditionProviderService
+android.service.notification.IConditionProvider$Stub$Proxy
+android.service.notification.IConditionProvider$Stub
+android.service.notification.IConditionProvider
+android.service.notification.INotificationListener$Stub$Proxy
android.service.notification.INotificationListener$Stub
android.service.notification.INotificationListener
android.service.notification.IStatusBarNotificationHolder$Stub$Proxy
@@ -3199,26 +4304,70 @@ android.service.notification.NotificationRankingUpdate$1
android.service.notification.NotificationRankingUpdate
android.service.notification.NotificationStats$1
android.service.notification.NotificationStats
+android.service.notification.NotifyingApp$1
+android.service.notification.ScheduleCalendar
+android.service.notification.SnoozeCriterion$1
+android.service.notification.SnoozeCriterion
android.service.notification.StatusBarNotification$1
android.service.notification.StatusBarNotification
+android.service.notification.ZenModeConfig$1
+android.service.notification.ZenModeConfig$Diff
+android.service.notification.ZenModeConfig$EventInfo
+android.service.notification.ZenModeConfig$ScheduleInfo
android.service.notification.ZenModeConfig$ZenRule$1
+android.service.notification.ZenModeConfig$ZenRule
+android.service.notification.ZenModeConfig
+android.service.notification.ZenPolicy$1
+android.service.notification.ZenPolicy$Builder
+android.service.notification.ZenPolicy
+android.service.oemlock.IOemLockService$Stub
+android.service.oemlock.IOemLockService
android.service.oemlock.OemLockManager
+android.service.persistentdata.IPersistentDataBlockService$Stub$Proxy
android.service.persistentdata.IPersistentDataBlockService$Stub
android.service.persistentdata.IPersistentDataBlockService
android.service.persistentdata.PersistentDataBlockManager
+android.service.textclassifier.-$$Lambda$TextClassifierService$Fzy8p7cXXCBABuhNkqvLY5FuWrA
+android.service.textclassifier.ITextClassifierCallback$Stub$Proxy
+android.service.textclassifier.ITextClassifierCallback$Stub
+android.service.textclassifier.ITextClassifierCallback
android.service.textclassifier.ITextClassifierService$Stub$Proxy
android.service.textclassifier.ITextClassifierService$Stub
android.service.textclassifier.ITextClassifierService
android.service.textclassifier.TextClassifierService
+android.service.trust.ITrustAgentService$Stub$Proxy
+android.service.trust.ITrustAgentService$Stub
+android.service.trust.ITrustAgentService
+android.service.trust.ITrustAgentServiceCallback$Stub
+android.service.trust.ITrustAgentServiceCallback
+android.service.voice.IVoiceInteractionService$Stub$Proxy
android.service.voice.IVoiceInteractionService$Stub
android.service.voice.IVoiceInteractionService
+android.service.voice.IVoiceInteractionSession$Stub$Proxy
+android.service.voice.IVoiceInteractionSession$Stub
android.service.voice.IVoiceInteractionSession
+android.service.voice.IVoiceInteractionSessionService$Stub$Proxy
android.service.voice.IVoiceInteractionSessionService$Stub
android.service.voice.IVoiceInteractionSessionService
+android.service.voice.VoiceInteractionManagerInternal
+android.service.voice.VoiceInteractionServiceInfo
+android.service.vr.IPersistentVrStateCallbacks$Stub$Proxy
+android.service.vr.IPersistentVrStateCallbacks$Stub
+android.service.vr.IPersistentVrStateCallbacks
+android.service.vr.IVrManager$Stub$Proxy
android.service.vr.IVrManager$Stub
android.service.vr.IVrManager
+android.service.vr.IVrStateCallbacks$Stub$Proxy
android.service.vr.IVrStateCallbacks$Stub
android.service.vr.IVrStateCallbacks
+android.service.wallpaper.IWallpaperConnection$Stub
+android.service.wallpaper.IWallpaperConnection
+android.service.wallpaper.IWallpaperEngine$Stub$Proxy
+android.service.wallpaper.IWallpaperEngine$Stub
+android.service.wallpaper.IWallpaperEngine
+android.service.wallpaper.IWallpaperService$Stub$Proxy
+android.service.wallpaper.IWallpaperService$Stub
+android.service.wallpaper.IWallpaperService
android.speech.tts.ITextToSpeechCallback$Stub
android.speech.tts.ITextToSpeechCallback
android.speech.tts.ITextToSpeechService$Stub$Proxy
@@ -3228,10 +4377,28 @@ android.speech.tts.TextToSpeech$Connection
android.speech.tts.TextToSpeech$OnInitListener
android.speech.tts.TextToSpeech
android.speech.tts.TtsEngines
+android.stats.devicepolicy.nano.StringList
+android.sysprop.-$$Lambda$TelephonyProperties$0Zy6hglFVc-K9jiJWmuHmilIMkY
+android.sysprop.-$$Lambda$TelephonyProperties$2V_2ZQoGHfOIfKo_A8Ss547oL-c
+android.sysprop.-$$Lambda$TelephonyProperties$BfPaTA0e9gauJmR4vGNCDkGZ3uc
+android.sysprop.-$$Lambda$TelephonyProperties$EV4LSOwY7Dsh1rJalZDLmnGJw5I
+android.sysprop.-$$Lambda$TelephonyProperties$H4jN0VIBNpZQBeWYt6qS3DCe_M8
+android.sysprop.-$$Lambda$TelephonyProperties$JNTRmlscGaFlYo_3krOr_WWd2QI
+android.sysprop.-$$Lambda$TelephonyProperties$UKEfAuJVPm5cKR_UnPj1L66mN34
+android.sysprop.-$$Lambda$TelephonyProperties$VtSZ_Uto4bMa49ncgAfdWewMFOU
+android.sysprop.-$$Lambda$TelephonyProperties$dc-CgjsF3BtDxLSSKL5bQ9ullG0
+android.sysprop.-$$Lambda$TelephonyProperties$fdR0mRnJd3OymvjDc_MI1AHnMwc
+android.sysprop.-$$Lambda$TelephonyProperties$iJa3afMQmWbO1DX4jS9zkcOKZlY
+android.sysprop.-$$Lambda$TelephonyProperties$kCQNtMqtfi6MMlFLqtIufNXwOS8
+android.sysprop.-$$Lambda$TelephonyProperties$kemQbl44ndTqXdQVvnYppJuQboQ
+android.sysprop.-$$Lambda$TelephonyProperties$rKoNB08X7R8OCPq-VDCWDOm3lDM
+android.sysprop.AdbProperties
android.sysprop.CryptoProperties$state_values
android.sysprop.CryptoProperties$type_values
android.sysprop.CryptoProperties
android.sysprop.DisplayProperties
+android.sysprop.ProductProperties
+android.sysprop.TelephonyProperties
android.sysprop.VoldProperties
android.system.ErrnoException
android.system.GaiException
@@ -3244,12 +4411,12 @@ android.system.PacketSocketAddress
android.system.StructAddrinfo
android.system.StructCapUserData
android.system.StructCapUserHeader
-android.system.StructFlock
android.system.StructGroupReq
android.system.StructIfaddrs
android.system.StructLinger
android.system.StructPasswd
android.system.StructPollfd
+android.system.StructRlimit
android.system.StructStat
android.system.StructStatVfs
android.system.StructTimespec
@@ -3257,33 +4424,149 @@ android.system.StructTimeval
android.system.StructUcred
android.system.StructUtsname
android.system.UnixSocketAddress
+android.system.suspend.WakeLockInfo$1
+android.system.suspend.WakeLockInfo
+android.telecom.-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw
+android.telecom.-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0
+android.telecom.AudioState$1
+android.telecom.AudioState
android.telecom.CallAudioState$1
+android.telecom.CallAudioState
+android.telecom.Conference$Listener
+android.telecom.Conference
+android.telecom.Conferenceable
+android.telecom.Connection$FailureSignalingConnection
+android.telecom.Connection$Listener
+android.telecom.Connection$VideoProvider
+android.telecom.Connection
+android.telecom.ConnectionRequest$1
+android.telecom.ConnectionRequest$Builder
+android.telecom.ConnectionRequest
+android.telecom.ConnectionService$1
+android.telecom.ConnectionService$2
+android.telecom.ConnectionService$3
+android.telecom.ConnectionService$4
+android.telecom.ConnectionService$5
+android.telecom.ConnectionService
+android.telecom.ConnectionServiceAdapter
android.telecom.DefaultDialerManager
android.telecom.DisconnectCause$1
+android.telecom.DisconnectCause
android.telecom.Log
+android.telecom.Logging.-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E
+android.telecom.Logging.-$$Lambda$SessionManager$VyH2gT1EjIvzDy_C9JfTT60CISM
+android.telecom.Logging.-$$Lambda$SessionManager$hhtZwTEbvO-fLNlAvB6Do9_2gW4
+android.telecom.Logging.EventManager$Event
+android.telecom.Logging.EventManager$EventListener
+android.telecom.Logging.EventManager$EventRecord
+android.telecom.Logging.EventManager$Loggable
+android.telecom.Logging.EventManager$TimedEventPair
+android.telecom.Logging.EventManager
+android.telecom.Logging.Runnable$1
+android.telecom.Logging.Runnable
+android.telecom.Logging.Session$Info$1
+android.telecom.Logging.Session$Info
+android.telecom.Logging.Session
+android.telecom.Logging.SessionManager$ICurrentThreadId
+android.telecom.Logging.SessionManager$ISessionCleanupTimeoutMs
+android.telecom.Logging.SessionManager$ISessionIdQueryHandler
+android.telecom.Logging.SessionManager$ISessionListener
+android.telecom.Logging.SessionManager
+android.telecom.ParcelableCall$1
+android.telecom.ParcelableCall
+android.telecom.ParcelableConference$1
+android.telecom.ParcelableConference
+android.telecom.ParcelableConnection$1
+android.telecom.ParcelableConnection
android.telecom.PhoneAccount$1
android.telecom.PhoneAccount$Builder
android.telecom.PhoneAccount
android.telecom.PhoneAccountHandle$1
android.telecom.PhoneAccountHandle
+android.telecom.RemoteConnectionManager
+android.telecom.StatusHints$1
+android.telecom.StatusHints
+android.telecom.TelecomAnalytics$SessionTiming$1
+android.telecom.TelecomAnalytics
android.telecom.TelecomManager
android.telecom.VideoProfile$1
+android.telecom.VideoProfile
+android.telephony.-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY
+android.telephony.-$$Lambda$MLKtmRGKP3e0WU7x_KyS5-Vg8q4
+android.telephony.-$$Lambda$NetworkRegistrationInfo$1JuZmO5PoYGZY8bHhZYwvmqwOB0
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$0s34qsuHFsa43jUHrTkD62ni6Ds
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2VMO21pFQN-JN3kpn6vQN1zPFEU
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$4NHt5Shg_DHV-T1IxfcQLHP5-j0
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$6czWSGzxct0CXPVO54T0aq05qls
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$E9hw_LXFliykadzCB_mw8nukNGI
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$JalixlMNdjktPsNntP_JT9pymhs
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$MtX5gtAKHxLcUp_ibya6VO1zuoE
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$WYWtWHdkZDxBd9anjoxyZozPWHc
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$XyayAGWQZC2dNjwr697SfSGBBOc
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$YY3srkIkMm8vTSFJZHoiKzUUrGs
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$aysbwPqxcLV_5w6LP0TzZu2D-ew
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$bELzxgwsPigyVKYkAXBO2BjcSm8
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$dUc3j82sK9P9Zpaq-91n9bk_Rpc
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$jlNX9JiqGSNg9W49vDcKucKdeCI
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$nrGqSRBJrc3_EwotCDNwfKeizIo
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$oDAZqs8paeefe_3k_uRKV5plQW4
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$okPCYOx4UxYuvUHlM2iS425QGIg
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ
+android.telephony.-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA
+android.telephony.-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ
+android.telephony.-$$Lambda$TelephonyFrameworkInitializer$3Kis6wL1IbLustWe9A2o4-2YpGo
+android.telephony.-$$Lambda$TelephonyFrameworkInitializer$MLDtRnX1dj1RKFdjgIsOvcQxhA0
+android.telephony.-$$Lambda$TelephonyFrameworkInitializer$b_92_3ZijRrdEa9yLyFA5xu19OM
+android.telephony.-$$Lambda$TelephonyFrameworkInitializer$mpe0Kh92VEQmEtmo60oqykdvnBE
+android.telephony.-$$Lambda$TelephonyFrameworkInitializer$sQClc4rjc9ydh0nXpY79gr33av4
+android.telephony.AccessNetworkConstants$AccessNetworkType
android.telephony.AccessNetworkConstants$TransportType
+android.telephony.AccessNetworkConstants
+android.telephony.AccessNetworkUtils
+android.telephony.AnomalyReporter
+android.telephony.CallAttributes$1
+android.telephony.CallAttributes
+android.telephony.CallQuality$1
+android.telephony.CallQuality
android.telephony.CarrierConfigManager$Gps
android.telephony.CarrierConfigManager
+android.telephony.CarrierRestrictionRules$1
+android.telephony.CarrierRestrictionRules
+android.telephony.CellConfigLte$1
+android.telephony.CellConfigLte
android.telephony.CellIdentity$1
android.telephony.CellIdentity
+android.telephony.CellIdentityCdma$1
+android.telephony.CellIdentityCdma
android.telephony.CellIdentityGsm$1
+android.telephony.CellIdentityGsm
android.telephony.CellIdentityLte$1
android.telephony.CellIdentityLte
+android.telephony.CellIdentityNr$1
+android.telephony.CellIdentityNr
+android.telephony.CellIdentityTdscdma$1
+android.telephony.CellIdentityTdscdma
android.telephony.CellIdentityWcdma$1
android.telephony.CellIdentityWcdma
android.telephony.CellInfo$1
android.telephony.CellInfo
+android.telephony.CellInfoCdma$1
+android.telephony.CellInfoCdma
android.telephony.CellInfoGsm$1
+android.telephony.CellInfoGsm
android.telephony.CellInfoLte$1
android.telephony.CellInfoLte
+android.telephony.CellInfoNr$1
+android.telephony.CellInfoNr
+android.telephony.CellInfoTdscdma$1
+android.telephony.CellInfoTdscdma
android.telephony.CellInfoWcdma$1
+android.telephony.CellInfoWcdma
android.telephony.CellLocation
android.telephony.CellSignalStrength
android.telephony.CellSignalStrengthCdma$1
@@ -3300,31 +4583,64 @@ android.telephony.CellSignalStrengthWcdma$1
android.telephony.CellSignalStrengthWcdma
android.telephony.ClientRequestStats$1
android.telephony.ClientRequestStats
+android.telephony.DataConnectionRealTimeInfo$1
+android.telephony.DataConnectionRealTimeInfo
+android.telephony.DataFailCause$1
+android.telephony.DataFailCause
android.telephony.DataSpecificRegistrationInfo$1
android.telephony.DataSpecificRegistrationInfo
+android.telephony.DisconnectCause
+android.telephony.ICellInfoCallback$Stub$Proxy
+android.telephony.ICellInfoCallback$Stub
+android.telephony.ICellInfoCallback
+android.telephony.INetworkService$Stub$Proxy
android.telephony.INetworkService$Stub
android.telephony.INetworkService
android.telephony.INetworkServiceCallback$Stub
android.telephony.INetworkServiceCallback
+android.telephony.IccOpenLogicalChannelResponse$1
+android.telephony.IccOpenLogicalChannelResponse
+android.telephony.ImsiEncryptionInfo$1
+android.telephony.ImsiEncryptionInfo
+android.telephony.JapanesePhoneNumberFormatter
+android.telephony.LocationAccessPolicy$LocationPermissionQuery$Builder
+android.telephony.LocationAccessPolicy$LocationPermissionQuery
+android.telephony.LocationAccessPolicy$LocationPermissionResult
android.telephony.LocationAccessPolicy
android.telephony.LteVopsSupportInfo$1
android.telephony.LteVopsSupportInfo
android.telephony.ModemActivityInfo$1
+android.telephony.ModemActivityInfo$TransmitPower
android.telephony.ModemActivityInfo
android.telephony.ModemInfo$1
android.telephony.ModemInfo
+android.telephony.NeighboringCellInfo$1
+android.telephony.NeighboringCellInfo
android.telephony.NetworkRegistrationInfo$1
+android.telephony.NetworkRegistrationInfo$Builder
android.telephony.NetworkRegistrationInfo
+android.telephony.NetworkScanRequest$1
+android.telephony.NetworkScanRequest
android.telephony.NetworkService$INetworkServiceWrapper
android.telephony.NetworkService$NetworkServiceHandler
android.telephony.NetworkService$NetworkServiceProvider
android.telephony.NetworkService
android.telephony.NetworkServiceCallback
+android.telephony.PackageChangeReceiver
android.telephony.PhoneCapability$1
android.telephony.PhoneCapability
+android.telephony.PhoneNumberRange$1
+android.telephony.PhoneNumberRange
android.telephony.PhoneNumberUtils
android.telephony.PhoneStateListener$IPhoneStateListenerStub
android.telephony.PhoneStateListener
+android.telephony.PhysicalChannelConfig$1
+android.telephony.PhysicalChannelConfig$Builder
+android.telephony.PhysicalChannelConfig
+android.telephony.PreciseCallState$1
+android.telephony.PreciseCallState
+android.telephony.PreciseDataConnectionState$1
+android.telephony.PreciseDataConnectionState
android.telephony.RadioAccessFamily$1
android.telephony.RadioAccessFamily
android.telephony.Rlog
@@ -3333,29 +4649,55 @@ android.telephony.ServiceState
android.telephony.SignalStrength$1
android.telephony.SignalStrength
android.telephony.SmsManager
+android.telephony.SmsMessage
android.telephony.SubscriptionInfo$1
android.telephony.SubscriptionInfo
-android.telephony.SubscriptionManager$OnSubscriptionsChangedListener$1
+android.telephony.SubscriptionManager$OnOpportunisticSubscriptionsChangedListener
android.telephony.SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler
android.telephony.SubscriptionManager$OnSubscriptionsChangedListener
android.telephony.SubscriptionManager
+android.telephony.SubscriptionPlan$1
+android.telephony.SubscriptionPlan
+android.telephony.TelephonyFrameworkInitializer
android.telephony.TelephonyHistogram$1
android.telephony.TelephonyHistogram
android.telephony.TelephonyManager$5
android.telephony.TelephonyManager$7
android.telephony.TelephonyManager$MultiSimVariants
android.telephony.TelephonyManager
+android.telephony.TelephonyRegistryManager
+android.telephony.TelephonyScanManager$NetworkScanCallback
android.telephony.UiccAccessRule$1
+android.telephony.UiccAccessRule
+android.telephony.UiccCardInfo$1
+android.telephony.UiccCardInfo
android.telephony.UiccSlotInfo$1
android.telephony.UiccSlotInfo
+android.telephony.VisualVoicemailSmsFilterSettings$1
+android.telephony.VisualVoicemailSmsFilterSettings$Builder
+android.telephony.VisualVoicemailSmsFilterSettings
android.telephony.VoiceSpecificRegistrationInfo$1
android.telephony.VoiceSpecificRegistrationInfo
+android.telephony.cdma.CdmaCellLocation
android.telephony.data.ApnSetting$1
+android.telephony.data.ApnSetting$Builder
android.telephony.data.ApnSetting
+android.telephony.data.DataCallResponse$1
+android.telephony.data.DataCallResponse
+android.telephony.data.DataProfile$1
+android.telephony.data.DataProfile$Builder
+android.telephony.data.DataProfile
+android.telephony.data.DataService$DataCallListChangedIndication
android.telephony.data.DataService$DataServiceHandler
android.telephony.data.DataService$DataServiceProvider
+android.telephony.data.DataService$DeactivateDataCallRequest
android.telephony.data.DataService$IDataServiceWrapper
+android.telephony.data.DataService$SetDataProfileRequest
+android.telephony.data.DataService$SetInitialAttachApnRequest
+android.telephony.data.DataService$SetupDataCallRequest
android.telephony.data.DataService
+android.telephony.data.DataServiceCallback
+android.telephony.data.IDataService$Stub$Proxy
android.telephony.data.IDataService$Stub
android.telephony.data.IDataService
android.telephony.data.IDataServiceCallback$Stub
@@ -3369,53 +4711,88 @@ android.telephony.ims.-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBin
android.telephony.ims.-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$gK2iK9ZQ3GDeuMTfhRd7yjiYlO8
android.telephony.ims.-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM
android.telephony.ims.-$$Lambda$ProvisioningManager$Callback$CallbackBinder$rMBayJlNIko46WAqcRq_ggxbfrY
+android.telephony.ims.ImsCallForwardInfo$1
+android.telephony.ims.ImsCallForwardInfo
+android.telephony.ims.ImsCallProfile$1
+android.telephony.ims.ImsCallProfile
+android.telephony.ims.ImsException
+android.telephony.ims.ImsExternalCallState$1
+android.telephony.ims.ImsExternalCallState
android.telephony.ims.ImsMmTelManager$CapabilityCallback$CapabilityBinder
android.telephony.ims.ImsMmTelManager$CapabilityCallback
-android.telephony.ims.ImsMmTelManager$RegistrationCallback$RegistrationBinder$1
-android.telephony.ims.ImsMmTelManager$RegistrationCallback$RegistrationBinder
android.telephony.ims.ImsMmTelManager$RegistrationCallback
+android.telephony.ims.ImsMmTelManager
android.telephony.ims.ImsReasonInfo$1
android.telephony.ims.ImsReasonInfo
android.telephony.ims.ImsService$1
android.telephony.ims.ImsService$Listener
android.telephony.ims.ImsService
+android.telephony.ims.ImsSsInfo$1
+android.telephony.ims.ImsSsInfo
android.telephony.ims.ImsUtListener
android.telephony.ims.ProvisioningManager$Callback$CallbackBinder
android.telephony.ims.ProvisioningManager$Callback
-android.telephony.ims.RcsManager
-android.telephony.ims.RcsMessageStore
+android.telephony.ims.RegistrationManager$1
+android.telephony.ims.RegistrationManager$RegistrationCallback$RegistrationBinder
+android.telephony.ims.RegistrationManager$RegistrationCallback
+android.telephony.ims.RegistrationManager
+android.telephony.ims.aidl.IImsCapabilityCallback$Stub$Proxy
android.telephony.ims.aidl.IImsCapabilityCallback$Stub
android.telephony.ims.aidl.IImsCapabilityCallback
+android.telephony.ims.aidl.IImsConfig$Stub$Proxy
android.telephony.ims.aidl.IImsConfig$Stub
android.telephony.ims.aidl.IImsConfig
+android.telephony.ims.aidl.IImsConfigCallback$Stub$Proxy
android.telephony.ims.aidl.IImsConfigCallback$Stub
android.telephony.ims.aidl.IImsConfigCallback
+android.telephony.ims.aidl.IImsMmTelFeature$Stub$Proxy
android.telephony.ims.aidl.IImsMmTelFeature$Stub
android.telephony.ims.aidl.IImsMmTelFeature
+android.telephony.ims.aidl.IImsMmTelListener$Stub$Proxy
android.telephony.ims.aidl.IImsMmTelListener$Stub
android.telephony.ims.aidl.IImsMmTelListener
+android.telephony.ims.aidl.IImsRcsFeature
android.telephony.ims.aidl.IImsRegistration$Stub
android.telephony.ims.aidl.IImsRegistration
+android.telephony.ims.aidl.IImsRegistrationCallback$Stub$Proxy
android.telephony.ims.aidl.IImsRegistrationCallback$Stub
android.telephony.ims.aidl.IImsRegistrationCallback
+android.telephony.ims.aidl.IImsServiceController$Stub$Proxy
android.telephony.ims.aidl.IImsServiceController$Stub
android.telephony.ims.aidl.IImsServiceController
android.telephony.ims.aidl.IImsServiceControllerListener$Stub
android.telephony.ims.aidl.IImsServiceControllerListener
+android.telephony.ims.aidl.IImsSmsListener$Stub$Proxy
android.telephony.ims.aidl.IImsSmsListener$Stub
android.telephony.ims.aidl.IImsSmsListener
+android.telephony.ims.aidl.IRcsMessage$Stub
+android.telephony.ims.aidl.IRcsMessage
+android.telephony.ims.feature.-$$Lambda$ImsFeature$9bLETU1BeS-dFzQnbBBs3kwaz-8
+android.telephony.ims.feature.-$$Lambda$ImsFeature$rPSMsRhoup9jfT6nt1MV2qhomrM
+android.telephony.ims.feature.CapabilityChangeRequest$1
+android.telephony.ims.feature.CapabilityChangeRequest$CapabilityPair
+android.telephony.ims.feature.CapabilityChangeRequest
+android.telephony.ims.feature.ImsFeature$1
+android.telephony.ims.feature.ImsFeature$2
android.telephony.ims.feature.ImsFeature$Capabilities
+android.telephony.ims.feature.ImsFeature$CapabilityCallbackProxy
android.telephony.ims.feature.ImsFeature
android.telephony.ims.feature.MmTelFeature$1
android.telephony.ims.feature.MmTelFeature$Listener
android.telephony.ims.feature.MmTelFeature$MmTelCapabilities
android.telephony.ims.feature.MmTelFeature
android.telephony.ims.stub.-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA
+android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE
+android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI
+android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0
+android.telephony.ims.stub.-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s
android.telephony.ims.stub.ImsConfigImplBase$ImsConfigStub
android.telephony.ims.stub.ImsConfigImplBase
android.telephony.ims.stub.ImsEcbmImplBase$1
android.telephony.ims.stub.ImsEcbmImplBase
+android.telephony.ims.stub.ImsFeatureConfiguration$1
android.telephony.ims.stub.ImsFeatureConfiguration$FeatureSlotPair
+android.telephony.ims.stub.ImsFeatureConfiguration
android.telephony.ims.stub.ImsMultiEndpointImplBase$1
android.telephony.ims.stub.ImsMultiEndpointImplBase
android.telephony.ims.stub.ImsRegistrationImplBase$1
@@ -3435,6 +4812,7 @@ android.text.BidiFormatter$DirectionalityEstimator
android.text.BidiFormatter
android.text.BoringLayout$Metrics
android.text.BoringLayout
+android.text.CharSequenceCharacterIterator
android.text.ClipboardManager
android.text.DynamicLayout$Builder
android.text.DynamicLayout$ChangeWatcher
@@ -3451,16 +4829,31 @@ android.text.GraphicsOperations
android.text.Html$HtmlParser
android.text.Html$TagHandler
android.text.Html
+android.text.HtmlToSpannedConverter$Big
+android.text.HtmlToSpannedConverter$Blockquote
+android.text.HtmlToSpannedConverter$Bold
+android.text.HtmlToSpannedConverter$Bullet
+android.text.HtmlToSpannedConverter$Heading
android.text.HtmlToSpannedConverter$Href
+android.text.HtmlToSpannedConverter$Italic
+android.text.HtmlToSpannedConverter$Monospace
+android.text.HtmlToSpannedConverter$Small
+android.text.HtmlToSpannedConverter$Strikethrough
+android.text.HtmlToSpannedConverter$Sub
+android.text.HtmlToSpannedConverter$Super
+android.text.HtmlToSpannedConverter$Underline
android.text.HtmlToSpannedConverter
android.text.Hyphenator
android.text.InputFilter$LengthFilter
android.text.InputFilter
android.text.InputType
+android.text.Layout$1
android.text.Layout$Alignment
android.text.Layout$Directions
android.text.Layout$Ellipsizer
+android.text.Layout$HorizontalMeasurementProvider
android.text.Layout$SpannedEllipsizer
+android.text.Layout$TabStops
android.text.Layout
android.text.MeasuredParagraph
android.text.NoCopySpan$Concrete
@@ -3469,6 +4862,7 @@ android.text.PackedIntVector
android.text.PackedObjectVector
android.text.ParcelableSpan
android.text.PrecomputedText$ParagraphInfo
+android.text.PrecomputedText$Params$Builder
android.text.PrecomputedText$Params
android.text.PrecomputedText
android.text.Selection$END
@@ -3504,11 +4898,13 @@ android.text.TextUtils$1
android.text.TextUtils$EllipsizeCallback
android.text.TextUtils$SimpleStringSplitter
android.text.TextUtils$StringSplitter
+android.text.TextUtils$StringWithRemovedChars
android.text.TextUtils$TruncateAt
android.text.TextUtils
android.text.TextWatcher
android.text.format.DateFormat
android.text.format.DateUtils
+android.text.format.Formatter$BytesResult
android.text.format.Formatter
android.text.format.Time$TimeCalculator
android.text.format.Time
@@ -3517,6 +4913,10 @@ android.text.method.AllCapsTransformationMethod
android.text.method.ArrowKeyMovementMethod
android.text.method.BaseKeyListener
android.text.method.BaseMovementMethod
+android.text.method.DateKeyListener
+android.text.method.DateTimeKeyListener
+android.text.method.DialerKeyListener
+android.text.method.DigitsKeyListener
android.text.method.KeyListener
android.text.method.LinkMovementMethod
android.text.method.MetaKeyKeyListener
@@ -3532,44 +4932,71 @@ android.text.method.SingleLineTransformationMethod
android.text.method.TextKeyListener$Capitalize
android.text.method.TextKeyListener$SettingsObserver
android.text.method.TextKeyListener
+android.text.method.TimeKeyListener
android.text.method.Touch
android.text.method.TransformationMethod2
android.text.method.TransformationMethod
android.text.method.WordIterator
android.text.style.AbsoluteSizeSpan
+android.text.style.AccessibilityClickableSpan$1
+android.text.style.AccessibilityClickableSpan
+android.text.style.AccessibilityReplacementSpan
+android.text.style.AccessibilityURLSpan
+android.text.style.AlignmentSpan$Standard
android.text.style.AlignmentSpan
android.text.style.BackgroundColorSpan
+android.text.style.BulletSpan
android.text.style.CharacterStyle
android.text.style.ClickableSpan
android.text.style.DynamicDrawableSpan
android.text.style.EasyEditSpan
android.text.style.ForegroundColorSpan
android.text.style.ImageSpan
+android.text.style.LeadingMarginSpan$LeadingMarginSpan2
+android.text.style.LeadingMarginSpan$Standard
android.text.style.LeadingMarginSpan
+android.text.style.LineBackgroundSpan$Standard
android.text.style.LineBackgroundSpan
+android.text.style.LineHeightSpan$Standard
+android.text.style.LineHeightSpan$WithDensity
android.text.style.LineHeightSpan
+android.text.style.LocaleSpan
android.text.style.MetricAffectingSpan
android.text.style.ParagraphStyle
+android.text.style.QuoteSpan
android.text.style.RelativeSizeSpan
android.text.style.ReplacementSpan
+android.text.style.ScaleXSpan
android.text.style.SpellCheckSpan
+android.text.style.StrikethroughSpan
android.text.style.StyleSpan
+android.text.style.SubscriptSpan
+android.text.style.SuggestionRangeSpan
android.text.style.SuggestionSpan$1
android.text.style.SuggestionSpan
+android.text.style.SuperscriptSpan
android.text.style.TabStopSpan
android.text.style.TextAppearanceSpan
+android.text.style.TtsSpan$Builder
+android.text.style.TtsSpan$SemioticClassBuilder
+android.text.style.TtsSpan$TelephoneBuilder
+android.text.style.TtsSpan
+android.text.style.TypefaceSpan
android.text.style.URLSpan
android.text.style.UnderlineSpan
android.text.style.UpdateAppearance
android.text.style.UpdateLayout
android.text.style.WrapTogetherSpan
+android.text.util.-$$Lambda$Linkify$7J_-cMhIF2bcttjkxA2jDFP8sKw
android.text.util.Linkify$1
android.text.util.Linkify$2
android.text.util.Linkify$3
android.text.util.Linkify$MatchFilter
android.text.util.Linkify$TransformFilter
+android.text.util.Linkify
android.text.util.Rfc822Token
android.text.util.Rfc822Tokenizer
+android.transition.ArcMotion
android.transition.AutoTransition
android.transition.ChangeBounds$1
android.transition.ChangeBounds$2
@@ -3582,18 +5009,34 @@ android.transition.ChangeClipBounds
android.transition.ChangeImageTransform$1
android.transition.ChangeImageTransform$2
android.transition.ChangeImageTransform
+android.transition.ChangeScroll
android.transition.ChangeTransform$1
android.transition.ChangeTransform$2
android.transition.ChangeTransform
+android.transition.CircularPropagation
+android.transition.Explode
android.transition.Fade$1
android.transition.Fade$FadeAnimatorListener
android.transition.Fade
android.transition.PathMotion
+android.transition.PatternPathMotion
+android.transition.Recolor
android.transition.Scene
+android.transition.Slide$1
+android.transition.Slide$2
+android.transition.Slide$3
+android.transition.Slide$4
+android.transition.Slide$5
+android.transition.Slide$6
+android.transition.Slide$CalculateSlide
+android.transition.Slide$CalculateSlideHorizontal
+android.transition.Slide$CalculateSlideVertical
+android.transition.Slide
android.transition.Transition$1
android.transition.Transition$2
android.transition.Transition$3
android.transition.Transition$AnimationInfo
+android.transition.Transition$EpicenterCallback
android.transition.Transition$TransitionListener
android.transition.Transition
android.transition.TransitionInflater
@@ -3601,12 +5044,14 @@ android.transition.TransitionListenerAdapter
android.transition.TransitionManager$MultiListener$1
android.transition.TransitionManager$MultiListener
android.transition.TransitionManager
+android.transition.TransitionPropagation
android.transition.TransitionSet$TransitionSetListener
android.transition.TransitionSet
android.transition.TransitionUtils
android.transition.TransitionValues
android.transition.TransitionValuesMaps
android.transition.Visibility
+android.transition.VisibilityPropagation
android.util.AndroidException
android.util.AndroidRuntimeException
android.util.ArrayMap$1
@@ -3615,6 +5060,7 @@ android.util.ArraySet$1
android.util.ArraySet
android.util.AtomicFile
android.util.AttributeSet
+android.util.BackupUtils
android.util.Base64$Coder
android.util.Base64$Decoder
android.util.Base64$Encoder
@@ -3632,8 +5078,11 @@ android.util.DisplayMetrics
android.util.EventLog$Event
android.util.EventLog
android.util.ExceptionUtils
+android.util.FastImmutableArraySet$FastIterator
+android.util.FastImmutableArraySet
android.util.FeatureFlagUtils
android.util.FloatProperty
+android.util.Half
android.util.IconDrawableFactory
android.util.IntArray
android.util.IntProperty
@@ -3641,8 +5090,13 @@ android.util.JsonReader$1
android.util.JsonReader
android.util.JsonScope
android.util.JsonToken
+android.util.JsonWriter$1
android.util.JsonWriter
+android.util.KeyValueListParser$IntValue
android.util.KeyValueListParser
+android.util.KeyValueSettingObserver$SettingObserver
+android.util.KeyValueSettingObserver
+android.util.LauncherIcons
android.util.LocalLog
android.util.Log$1
android.util.Log$ImmediateLogWriter
@@ -3651,7 +5105,9 @@ android.util.Log$TerribleFailure
android.util.Log$TerribleFailureHandler
android.util.Log
android.util.LogPrinter
+android.util.LogWriter
android.util.LongArray
+android.util.LongArrayQueue
android.util.LongSparseArray
android.util.LongSparseLongArray
android.util.LruCache
@@ -3666,11 +5122,15 @@ android.util.MemoryIntArray$1
android.util.MemoryIntArray
android.util.MergedConfiguration$1
android.util.MergedConfiguration
+android.util.MutableBoolean
android.util.MutableInt
android.util.MutableLong
+android.util.NtpTrustedTime
+android.util.PackageUtils
android.util.Pair
android.util.PathParser$PathData
android.util.PathParser
+android.util.Patterns
android.util.Pools$Pool
android.util.Pools$SimplePool
android.util.Pools$SynchronizedPool
@@ -3679,6 +5139,10 @@ android.util.Printer
android.util.Property
android.util.Range
android.util.Rational
+android.util.RecurrenceRule$1
+android.util.RecurrenceRule$NonrecurringIterator
+android.util.RecurrenceRule$RecurringIterator
+android.util.RecurrenceRule
android.util.Singleton
android.util.Size
android.util.SizeF
@@ -3687,31 +5151,89 @@ android.util.SparseArray
android.util.SparseBooleanArray
android.util.SparseIntArray
android.util.SparseLongArray
+android.util.SparseSetArray
+android.util.Spline$LinearSpline
+android.util.Spline$MonotoneCubicSpline
+android.util.Spline
android.util.StateSet
android.util.StatsLog
android.util.StatsLogInternal
+android.util.StringBuilderPrinter
android.util.SuperNotCalledException
android.util.TimeUtils
+android.util.TimedRemoteCaller
+android.util.TimestampedValue$1
+android.util.TimestampedValue
android.util.TimingLogger
android.util.TimingsTraceLog
+android.util.TrustedTime
android.util.TypedValue
+android.util.UtilConfig
+android.util.Xml$Encoding
android.util.Xml
android.util.XmlPullAttributes
+android.util.apk.ApkSignatureSchemeV2Verifier$VerifiedSigner
+android.util.apk.ApkSignatureSchemeV2Verifier
+android.util.apk.ApkSignatureSchemeV3Verifier$PlatformNotSupportedException
+android.util.apk.ApkSignatureSchemeV3Verifier$VerifiedProofOfRotation
+android.util.apk.ApkSignatureSchemeV3Verifier$VerifiedSigner
+android.util.apk.ApkSignatureSchemeV3Verifier
+android.util.apk.ApkSignatureVerifier
+android.util.apk.ApkSigningBlockUtils$1
+android.util.apk.ApkSigningBlockUtils$MultipleDigestDataDigester
+android.util.apk.ApkSigningBlockUtils
+android.util.apk.ByteBufferDataSource
+android.util.apk.ByteBufferFactory
+android.util.apk.DataDigester
+android.util.apk.DataSource
+android.util.apk.MemoryMappedFileDataSource
+android.util.apk.SignatureInfo
+android.util.apk.SignatureNotFoundException
+android.util.apk.VerbatimX509Certificate
+android.util.apk.VerityBuilder$BufferedDigester
+android.util.apk.VerityBuilder$VerityResult
+android.util.apk.VerityBuilder
+android.util.apk.WrappedX509Certificate
+android.util.apk.ZipUtils
+android.util.jar.StrictJarFile$EntryIterator
+android.util.jar.StrictJarFile$FDStream
+android.util.jar.StrictJarFile$JarFileInputStream
+android.util.jar.StrictJarFile$ZipInflaterInputStream
android.util.jar.StrictJarFile
+android.util.jar.StrictJarManifest$Chunk
+android.util.jar.StrictJarManifest
+android.util.jar.StrictJarManifestReader
+android.util.jar.StrictJarVerifier$VerifierEntry
+android.util.jar.StrictJarVerifier
+android.util.proto.EncodedBuffer
+android.util.proto.ProtoInputStream
android.util.proto.ProtoOutputStream
android.util.proto.ProtoParseException
android.util.proto.ProtoStream
android.util.proto.WireTypeMismatchException
+android.view.-$$Lambda$1kvF4JuyM42-wmyDVPAIYdPz1jE
android.view.-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc
android.view.-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU
android.view.-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8
android.view.-$$Lambda$FocusFinder$P8rLvOJhymJH5ALAgUjGaM5gxKA
android.view.-$$Lambda$FocusFinder$Pgx6IETuqCkrhJYdiBes48tolG4
android.view.-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8
+android.view.-$$Lambda$InsetsController$HI9QZ2HvGm6iykc-WONz2KPG61Q
+android.view.-$$Lambda$PYGleuqIeCxjTD1pJqqx1opFv1g
android.view.-$$Lambda$QI1s392qW8l6mC24bcy9050SkuY
-android.view.-$$Lambda$SurfaceView$Cs7TGTdA1lXf9qW8VOJAfEsMjdk
android.view.-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY
+android.view.-$$Lambda$SurfaceView$w68OV7dB_zKVNsA-r0IrAUtyWas
+android.view.-$$Lambda$TextureView$WAq1rgfoZeDSt6cBQga7iQDymYk
+android.view.-$$Lambda$ThreadedRenderer$ydBD-R1iP5u-97XYakm-jKvC1b4
android.view.-$$Lambda$View$llq76MkPXP4bNcb9oJt_msw0fnQ
+android.view.-$$Lambda$ViewRootImpl$IReiNMSbDakZSGbIZuL_ifaFWn8
+android.view.-$$Lambda$ViewRootImpl$YBiqAhbCbXVPSKdbE3K4rH2gpxI
+android.view.-$$Lambda$ViewRootImpl$dznxCZGM2R1fsBljsJKomLjBRoM
+android.view.-$$Lambda$ViewRootImpl$zlBUjCwDtoAWMNaHI62DIq-eKFY
+android.view.-$$Lambda$WindowManagerGlobal$2bR3FsEm4EdRwuXfttH0wA2xOW4
+android.view.-$$Lambda$WlJa6OPA72p3gYtA3nVKC7Z1tGY
+android.view.-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0
+android.view.-$$Lambda$dj1hfDQd0iEp_uBDBPEUMMYJJwk
android.view.AbsSavedState$1
android.view.AbsSavedState$2
android.view.AbsSavedState
@@ -3722,6 +5244,8 @@ android.view.ActionMode$Callback
android.view.ActionMode
android.view.ActionProvider$SubUiVisibilityListener
android.view.ActionProvider
+android.view.AppTransitionAnimationSpec$1
+android.view.AppTransitionAnimationSpec
android.view.Choreographer$1
android.view.Choreographer$2
android.view.Choreographer$3
@@ -3740,6 +5264,8 @@ android.view.Display$HdrCapabilities
android.view.Display$Mode$1
android.view.Display$Mode
android.view.Display
+android.view.DisplayAddress$Physical$1
+android.view.DisplayAddress$Physical
android.view.DisplayAddress
android.view.DisplayAdjustments
android.view.DisplayCutout$Bounds
@@ -3750,6 +5276,8 @@ android.view.DisplayEventReceiver
android.view.DisplayInfo$1
android.view.DisplayInfo
android.view.DisplayListCanvas
+android.view.DragEvent$1
+android.view.DragEvent
android.view.FallbackEventHandler
android.view.FocusFinder$1
android.view.FocusFinder$FocusSorter
@@ -3765,18 +5293,67 @@ android.view.GestureDetector$OnDoubleTapListener
android.view.GestureDetector$OnGestureListener
android.view.GestureDetector$SimpleOnGestureListener
android.view.GestureDetector
+android.view.GestureExclusionTracker$GestureExclusionViewInfo
+android.view.GestureExclusionTracker
+android.view.GhostView
android.view.Gravity
android.view.HandlerActionQueue$HandlerAction
android.view.HandlerActionQueue
+android.view.IAppTransitionAnimationSpecsFuture$Stub$Proxy
+android.view.IAppTransitionAnimationSpecsFuture$Stub
+android.view.IAppTransitionAnimationSpecsFuture
+android.view.IApplicationToken$Stub
+android.view.IApplicationToken
+android.view.IDisplayFoldListener$Stub$Proxy
+android.view.IDisplayFoldListener$Stub
+android.view.IDisplayFoldListener
+android.view.IDisplayWindowListener$Stub
+android.view.IDisplayWindowListener
+android.view.IDisplayWindowRotationController$Stub
+android.view.IDisplayWindowRotationController
+android.view.IDockedStackListener$Stub$Proxy
+android.view.IDockedStackListener$Stub
+android.view.IDockedStackListener
android.view.IGraphicsStats$Stub$Proxy
android.view.IGraphicsStats$Stub
android.view.IGraphicsStats
+android.view.IGraphicsStatsCallback$Stub$Proxy
android.view.IGraphicsStatsCallback$Stub
android.view.IGraphicsStatsCallback
+android.view.IOnKeyguardExitResult$Stub$Proxy
+android.view.IOnKeyguardExitResult$Stub
+android.view.IOnKeyguardExitResult
+android.view.IPinnedStackController$Stub$Proxy
+android.view.IPinnedStackController$Stub
+android.view.IPinnedStackController
+android.view.IPinnedStackListener$Stub$Proxy
+android.view.IPinnedStackListener$Stub
+android.view.IPinnedStackListener
+android.view.IRecentsAnimationController$Stub
+android.view.IRecentsAnimationController
+android.view.IRecentsAnimationRunner$Stub$Proxy
+android.view.IRecentsAnimationRunner$Stub
+android.view.IRecentsAnimationRunner
+android.view.IRemoteAnimationFinishedCallback$Stub
+android.view.IRemoteAnimationFinishedCallback
+android.view.IRemoteAnimationRunner$Stub$Proxy
+android.view.IRemoteAnimationRunner$Stub
+android.view.IRemoteAnimationRunner
+android.view.IRotationWatcher$Stub$Proxy
android.view.IRotationWatcher$Stub
android.view.IRotationWatcher
+android.view.ISystemGestureExclusionListener$Stub$Proxy
+android.view.ISystemGestureExclusionListener$Stub
+android.view.ISystemGestureExclusionListener
+android.view.IWallpaperVisibilityListener$Stub$Proxy
+android.view.IWallpaperVisibilityListener$Stub
+android.view.IWallpaperVisibilityListener
+android.view.IWindow$Stub$Proxy
android.view.IWindow$Stub
android.view.IWindow
+android.view.IWindowContainer$Stub
+android.view.IWindowContainer
+android.view.IWindowId$Stub
android.view.IWindowId
android.view.IWindowManager$Stub$Proxy
android.view.IWindowManager$Stub
@@ -3784,6 +5361,7 @@ android.view.IWindowManager
android.view.IWindowSession$Stub$Proxy
android.view.IWindowSession$Stub
android.view.IWindowSession
+android.view.IWindowSessionCallback$Stub$Proxy
android.view.IWindowSessionCallback$Stub
android.view.IWindowSessionCallback
android.view.ImeInsetsSourceConsumer
@@ -3800,29 +5378,37 @@ android.view.InputEventCompatProcessor
android.view.InputEventConsistencyVerifier
android.view.InputEventReceiver
android.view.InputEventSender
+android.view.InputMonitor
android.view.InputQueue$Callback
android.view.InputQueue$FinishedInputEventCallback
android.view.InputQueue
android.view.InputWindowHandle
android.view.InsetsController
+android.view.InsetsFlags
android.view.InsetsSource$1
android.view.InsetsSource
android.view.InsetsSourceConsumer
+android.view.InsetsSourceControl$1
+android.view.InsetsSourceControl
android.view.InsetsState$1
android.view.InsetsState
android.view.KeyCharacterMap$1
android.view.KeyCharacterMap$FallbackAction
+android.view.KeyCharacterMap$UnavailableException
android.view.KeyCharacterMap
android.view.KeyEvent$1
android.view.KeyEvent$Callback
android.view.KeyEvent$DispatcherState
android.view.KeyEvent
+android.view.LayoutInflater$BlinkLayout$1
+android.view.LayoutInflater$BlinkLayout
android.view.LayoutInflater$Factory2
android.view.LayoutInflater$Factory
android.view.LayoutInflater$FactoryMerger
android.view.LayoutInflater$Filter
android.view.LayoutInflater
android.view.Menu
+android.view.MenuInflater$InflatedOnMenuItemClickListener
android.view.MenuInflater$MenuState
android.view.MenuInflater
android.view.MenuItem$OnActionExpandListener
@@ -3836,26 +5422,42 @@ android.view.NativeVectorDrawableAnimator
android.view.OrientationEventListener$SensorEventListenerImpl
android.view.OrientationEventListener
android.view.PointerIcon$1
+android.view.PointerIcon$2
android.view.PointerIcon
+android.view.RemotableViewMethod
+android.view.RemoteAnimationAdapter$1
+android.view.RemoteAnimationAdapter
+android.view.RemoteAnimationDefinition$1
+android.view.RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1
+android.view.RemoteAnimationDefinition$RemoteAnimationAdapterEntry
+android.view.RemoteAnimationDefinition
+android.view.RemoteAnimationTarget$1
+android.view.RemoteAnimationTarget
android.view.RenderNodeAnimator$1
+android.view.RenderNodeAnimator$DelayedAnimationHelper
android.view.RenderNodeAnimator
android.view.RenderNodeAnimatorSetHelper
+android.view.RoundScrollbarRenderer
android.view.ScaleGestureDetector$1
android.view.ScaleGestureDetector$OnScaleGestureListener
android.view.ScaleGestureDetector$SimpleOnScaleGestureListener
android.view.ScaleGestureDetector
android.view.SearchEvent
+android.view.SoundEffectConstants
android.view.SubMenu
android.view.Surface$1
android.view.Surface$CompatibleCanvas
+android.view.Surface$HwuiContext
android.view.Surface$OutOfResourcesException
android.view.Surface
android.view.SurfaceControl$1
android.view.SurfaceControl$Builder
android.view.SurfaceControl$CieXyz
+android.view.SurfaceControl$DesiredDisplayConfigSpecs
android.view.SurfaceControl$DisplayPrimaries
android.view.SurfaceControl$PhysicalDisplayInfo
android.view.SurfaceControl$ScreenshotGraphicBuffer
+android.view.SurfaceControl$Transaction$1
android.view.SurfaceControl$Transaction
android.view.SurfaceControl
android.view.SurfaceHolder$Callback2
@@ -3864,10 +5466,8 @@ android.view.SurfaceHolder
android.view.SurfaceSession
android.view.SurfaceView$1
android.view.SurfaceView$2
-android.view.SurfaceView$3
android.view.SurfaceView
android.view.TextureLayer
-android.view.TextureView$1
android.view.TextureView$SurfaceTextureListener
android.view.TextureView
android.view.ThreadedRenderer$DrawCallbacks
@@ -3891,10 +5491,13 @@ android.view.View$8
android.view.View$9
android.view.View$AccessibilityDelegate
android.view.View$AttachInfo$Callbacks
+android.view.View$AttachInfo$InvalidateInfo
android.view.View$AttachInfo
android.view.View$BaseSavedState$1
android.view.View$BaseSavedState
+android.view.View$CheckForLongPress
android.view.View$CheckForTap
+android.view.View$DeclaredOnClickListener
android.view.View$ForegroundInfo
android.view.View$ListenerInfo
android.view.View$MatchIdPredicate
@@ -3910,6 +5513,7 @@ android.view.View$OnHoverListener
android.view.View$OnKeyListener
android.view.View$OnLayoutChangeListener
android.view.View$OnLongClickListener
+android.view.View$OnScrollChangeListener
android.view.View$OnSystemUiVisibilityChangeListener
android.view.View$OnTouchListener
android.view.View$PerformClick
@@ -3928,6 +5532,9 @@ android.view.ViewDebug
android.view.ViewGroup$1
android.view.ViewGroup$2
android.view.ViewGroup$4
+android.view.ViewGroup$ChildListForAccessibility
+android.view.ViewGroup$ChildListForAutoFillOrContentCapture
+android.view.ViewGroup$HoverTarget
android.view.ViewGroup$LayoutParams
android.view.ViewGroup$MarginLayoutParams
android.view.ViewGroup$OnHierarchyChangeListener
@@ -3943,20 +5550,26 @@ android.view.ViewOverlay$OverlayViewGroup
android.view.ViewOverlay
android.view.ViewParent
android.view.ViewPropertyAnimator$1
+android.view.ViewPropertyAnimator$2
+android.view.ViewPropertyAnimator$3
android.view.ViewPropertyAnimator$AnimatorEventListener
android.view.ViewPropertyAnimator$NameValuesHolder
android.view.ViewPropertyAnimator$PropertyBundle
android.view.ViewPropertyAnimator
android.view.ViewRootImpl$1
+android.view.ViewRootImpl$2
+android.view.ViewRootImpl$3
android.view.ViewRootImpl$4
android.view.ViewRootImpl$AccessibilityInteractionConnection
android.view.ViewRootImpl$AccessibilityInteractionConnectionManager
android.view.ViewRootImpl$ActivityConfigCallback
android.view.ViewRootImpl$AsyncInputStage
+android.view.ViewRootImpl$CalledFromWrongThreadException
android.view.ViewRootImpl$ConfigChangedCallback
android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable
android.view.ViewRootImpl$ConsumeBatchedInputRunnable
android.view.ViewRootImpl$EarlyPostImeInputStage
+android.view.ViewRootImpl$GfxInfo
android.view.ViewRootImpl$HighContrastTextManager
android.view.ViewRootImpl$ImeInputStage
android.view.ViewRootImpl$InputStage
@@ -3965,6 +5578,7 @@ android.view.ViewRootImpl$NativePostImeInputStage
android.view.ViewRootImpl$NativePreImeInputStage
android.view.ViewRootImpl$QueuedInputEvent
android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent
+android.view.ViewRootImpl$SurfaceChangedCallback
android.view.ViewRootImpl$SyntheticInputStage
android.view.ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState
android.view.ViewRootImpl$SyntheticJoystickHandler
@@ -3973,6 +5587,7 @@ android.view.ViewRootImpl$SyntheticTouchNavigationHandler$1
android.view.ViewRootImpl$SyntheticTouchNavigationHandler
android.view.ViewRootImpl$SyntheticTrackballHandler
android.view.ViewRootImpl$SystemUiVisibilityInfo
+android.view.ViewRootImpl$TakenSurfaceHolder
android.view.ViewRootImpl$TrackballAxis
android.view.ViewRootImpl$TraversalRunnable
android.view.ViewRootImpl$UnhandledKeyManager
@@ -3981,21 +5596,26 @@ android.view.ViewRootImpl$ViewPreImeInputStage
android.view.ViewRootImpl$ViewRootHandler
android.view.ViewRootImpl$W
android.view.ViewRootImpl$WindowInputEventReceiver
-android.view.ViewRootImpl$WindowStoppedCallback
android.view.ViewRootImpl
+android.view.ViewStructure$HtmlInfo
android.view.ViewStructure
android.view.ViewStub$OnInflateListener
+android.view.ViewStub$ViewReplaceRunnable
android.view.ViewStub
android.view.ViewTreeObserver$CopyOnWriteArray$Access
android.view.ViewTreeObserver$CopyOnWriteArray
android.view.ViewTreeObserver$InternalInsetsInfo
android.view.ViewTreeObserver$OnComputeInternalInsetsListener
android.view.ViewTreeObserver$OnDrawListener
+android.view.ViewTreeObserver$OnEnterAnimationCompleteListener
android.view.ViewTreeObserver$OnGlobalFocusChangeListener
android.view.ViewTreeObserver$OnGlobalLayoutListener
android.view.ViewTreeObserver$OnPreDrawListener
android.view.ViewTreeObserver$OnScrollChangedListener
android.view.ViewTreeObserver$OnTouchModeChangeListener
+android.view.ViewTreeObserver$OnWindowAttachListener
+android.view.ViewTreeObserver$OnWindowFocusChangeListener
+android.view.ViewTreeObserver$OnWindowShownListener
android.view.ViewTreeObserver
android.view.Window$Callback
android.view.Window$OnFrameMetricsAvailableListener
@@ -4006,14 +5626,17 @@ android.view.Window
android.view.WindowAnimationFrameStats$1
android.view.WindowAnimationFrameStats
android.view.WindowCallbacks
+android.view.WindowContainerTransaction
android.view.WindowContentFrameStats$1
android.view.WindowContentFrameStats
android.view.WindowId$1
+android.view.WindowInsets$Builder
android.view.WindowInsets$Type
android.view.WindowInsets
android.view.WindowInsetsController
android.view.WindowLeaked
android.view.WindowManager$BadTokenException
+android.view.WindowManager$InvalidDisplayException
android.view.WindowManager$LayoutParams$1
android.view.WindowManager$LayoutParams
android.view.WindowManager
@@ -4021,10 +5644,16 @@ android.view.WindowManagerGlobal$1
android.view.WindowManagerGlobal$2
android.view.WindowManagerGlobal
android.view.WindowManagerImpl
+android.view.WindowManagerPolicyConstants$PointerEventListener
+android.view.WindowManagerPolicyConstants
+android.view.accessibility.-$$Lambda$AccessibilityManager$1$o7fCplskH9NlBwJvkl6NoZ0L_BA
+android.view.accessibility.-$$Lambda$AccessibilityManager$yzw5NYY7_MfAQ9gLy3mVllchaXo
android.view.accessibility.AccessibilityEvent$1
android.view.accessibility.AccessibilityEvent
android.view.accessibility.AccessibilityEventSource
android.view.accessibility.AccessibilityManager$1
+android.view.accessibility.AccessibilityManager$AccessibilityPolicy
+android.view.accessibility.AccessibilityManager$AccessibilityServicesStateChangeListener
android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
android.view.accessibility.AccessibilityManager$HighTextContrastChangeListener
android.view.accessibility.AccessibilityManager$MyCallback
@@ -4032,6 +5661,7 @@ android.view.accessibility.AccessibilityManager$TouchExplorationStateChangeListe
android.view.accessibility.AccessibilityManager
android.view.accessibility.AccessibilityNodeIdManager
android.view.accessibility.AccessibilityNodeInfo$1
+android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction$1
android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction
android.view.accessibility.AccessibilityNodeInfo
android.view.accessibility.AccessibilityNodeProvider
@@ -4041,6 +5671,7 @@ android.view.accessibility.CaptioningManager$CaptionStyle
android.view.accessibility.CaptioningManager$CaptioningChangeListener
android.view.accessibility.CaptioningManager$MyContentObserver
android.view.accessibility.CaptioningManager
+android.view.accessibility.IAccessibilityInteractionConnection$Stub$Proxy
android.view.accessibility.IAccessibilityInteractionConnection$Stub
android.view.accessibility.IAccessibilityInteractionConnection
android.view.accessibility.IAccessibilityInteractionConnectionCallback$Stub$Proxy
@@ -4049,8 +5680,11 @@ android.view.accessibility.IAccessibilityInteractionConnectionCallback
android.view.accessibility.IAccessibilityManager$Stub$Proxy
android.view.accessibility.IAccessibilityManager$Stub
android.view.accessibility.IAccessibilityManager
+android.view.accessibility.IAccessibilityManagerClient$Stub$Proxy
android.view.accessibility.IAccessibilityManagerClient$Stub
android.view.accessibility.IAccessibilityManagerClient
+android.view.accessibility.WeakSparseArray$WeakReferenceWithId
+android.view.accessibility.WeakSparseArray
android.view.animation.AccelerateDecelerateInterpolator
android.view.animation.AccelerateInterpolator
android.view.animation.AlphaAnimation
@@ -4065,13 +5699,20 @@ android.view.animation.AnimationSet
android.view.animation.AnimationUtils$1
android.view.animation.AnimationUtils$AnimationState
android.view.animation.AnimationUtils
+android.view.animation.AnticipateInterpolator
+android.view.animation.AnticipateOvershootInterpolator
android.view.animation.BaseInterpolator
+android.view.animation.BounceInterpolator
+android.view.animation.ClipRectAnimation
+android.view.animation.CycleInterpolator
android.view.animation.DecelerateInterpolator
+android.view.animation.GridLayoutAnimationController
android.view.animation.Interpolator
android.view.animation.LayoutAnimationController
android.view.animation.LinearInterpolator
android.view.animation.OvershootInterpolator
android.view.animation.PathInterpolator
+android.view.animation.RotateAnimation
android.view.animation.ScaleAnimation
android.view.animation.Transformation
android.view.animation.TranslateAnimation
@@ -4082,28 +5723,60 @@ android.view.autofill.AutofillId
android.view.autofill.AutofillManager$AutofillCallback
android.view.autofill.AutofillManager$AutofillClient
android.view.autofill.AutofillManager$AutofillManagerClient
+android.view.autofill.AutofillManager$TrackedViews
android.view.autofill.AutofillManager
+android.view.autofill.AutofillManagerInternal
+android.view.autofill.AutofillPopupWindow
android.view.autofill.AutofillValue$1
android.view.autofill.AutofillValue
android.view.autofill.Helper
android.view.autofill.IAutoFillManager$Stub$Proxy
android.view.autofill.IAutoFillManager$Stub
android.view.autofill.IAutoFillManager
+android.view.autofill.IAutoFillManagerClient$Stub$Proxy
android.view.autofill.IAutoFillManagerClient$Stub
android.view.autofill.IAutoFillManagerClient
android.view.autofill.IAutofillWindowPresenter
+android.view.autofill.ParcelableMap
+android.view.contentcapture.ContentCaptureCondition$1
+android.view.contentcapture.ContentCaptureCondition
+android.view.contentcapture.ContentCaptureContext$1
+android.view.contentcapture.ContentCaptureContext
+android.view.contentcapture.ContentCaptureHelper
android.view.contentcapture.ContentCaptureManager$ContentCaptureClient
android.view.contentcapture.ContentCaptureManager
+android.view.contentcapture.ContentCaptureSession
+android.view.contentcapture.DataRemovalRequest$1
+android.view.contentcapture.DataRemovalRequest
+android.view.contentcapture.IContentCaptureManager$Stub
+android.view.contentcapture.IContentCaptureManager
+android.view.contentcapture.MainContentCaptureSession
+android.view.inputmethod.-$$Lambda$InputMethodManager$dfnCauFoZCf-HfXs1QavrkwWDf0
+android.view.inputmethod.-$$Lambda$InputMethodManager$iDWn3IGSUFqIcs8Py42UhfrshxI
android.view.inputmethod.BaseInputConnection
+android.view.inputmethod.CompletionInfo$1
+android.view.inputmethod.CompletionInfo
android.view.inputmethod.ComposingText
+android.view.inputmethod.CorrectionInfo$1
+android.view.inputmethod.CorrectionInfo
+android.view.inputmethod.CursorAnchorInfo$1
android.view.inputmethod.CursorAnchorInfo$Builder
+android.view.inputmethod.CursorAnchorInfo
android.view.inputmethod.EditorInfo$1
android.view.inputmethod.EditorInfo
android.view.inputmethod.ExtractedText$1
android.view.inputmethod.ExtractedText
+android.view.inputmethod.ExtractedTextRequest$1
+android.view.inputmethod.ExtractedTextRequest
+android.view.inputmethod.InputBinding$1
+android.view.inputmethod.InputBinding
android.view.inputmethod.InputConnection
android.view.inputmethod.InputConnectionInspector
android.view.inputmethod.InputConnectionWrapper
+android.view.inputmethod.InputContentInfo$1
+android.view.inputmethod.InputContentInfo
+android.view.inputmethod.InputMethod$SessionCallback
+android.view.inputmethod.InputMethod
android.view.inputmethod.InputMethodInfo$1
android.view.inputmethod.InputMethodInfo
android.view.inputmethod.InputMethodManager$1
@@ -4113,39 +5786,113 @@ android.view.inputmethod.InputMethodManager$H
android.view.inputmethod.InputMethodManager$ImeInputEventSender
android.view.inputmethod.InputMethodManager$PendingEvent
android.view.inputmethod.InputMethodManager
+android.view.inputmethod.InputMethodSession$EventCallback
+android.view.inputmethod.InputMethodSession
android.view.inputmethod.InputMethodSubtype$1
+android.view.inputmethod.InputMethodSubtype$InputMethodSubtypeBuilder
android.view.inputmethod.InputMethodSubtype
android.view.inputmethod.InputMethodSubtypeArray
-android.view.inputmethod.InputMethodSystemProperty
android.view.textclassifier.-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE
android.view.textclassifier.-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A
+android.view.textclassifier.-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0
+android.view.textclassifier.-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk
+android.view.textclassifier.-$$Lambda$ActionsSuggestionsHelper$sY0w9od2zcl4YFel0lG4VB3vf7I
android.view.textclassifier.-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0
android.view.textclassifier.-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI
android.view.textclassifier.-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk
-android.view.textclassifier.-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE
+android.view.textclassifier.-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8
+android.view.textclassifier.-$$Lambda$TextClassificationManager$SIydN2POphTO3AmPTLEMmXPLSKY
+android.view.textclassifier.-$$Lambda$TextClassificationManager$VwZ4EV_1i6FbjO7TtyaAnFL3oe0
+android.view.textclassifier.-$$Lambda$TextClassificationManager$oweIEhDWxy3_0kZSXp3oRbSuNW4
android.view.textclassifier.-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw
+android.view.textclassifier.-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos
+android.view.textclassifier.-$$Lambda$TextClassifierImpl$iSt_Guet-O6Vtdk0MA4z-Z4lzaM
android.view.textclassifier.-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA
android.view.textclassifier.-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM
+android.view.textclassifier.ActionsModelParamsSupplier$ActionsModelParams
+android.view.textclassifier.ActionsModelParamsSupplier
+android.view.textclassifier.ActionsSuggestionsHelper$PersonEncoder
+android.view.textclassifier.ActionsSuggestionsHelper
+android.view.textclassifier.ConfigParser
+android.view.textclassifier.ConversationAction$1
+android.view.textclassifier.ConversationAction$Builder
+android.view.textclassifier.ConversationAction
+android.view.textclassifier.ConversationActions$1
+android.view.textclassifier.ConversationActions$Message$1
+android.view.textclassifier.ConversationActions$Message$Builder
+android.view.textclassifier.ConversationActions$Message
+android.view.textclassifier.ConversationActions$Request$1
+android.view.textclassifier.ConversationActions$Request$Builder
+android.view.textclassifier.ConversationActions$Request
+android.view.textclassifier.ConversationActions
android.view.textclassifier.EntityConfidence$1
android.view.textclassifier.EntityConfidence
+android.view.textclassifier.ExtrasUtils
android.view.textclassifier.GenerateLinksLogger
+android.view.textclassifier.Log
+android.view.textclassifier.ModelFileManager$ModelFile
android.view.textclassifier.ModelFileManager$ModelFileSupplierImpl
android.view.textclassifier.ModelFileManager
+android.view.textclassifier.SelectionEvent$1
+android.view.textclassifier.SelectionEvent
+android.view.textclassifier.SelectionSessionLogger$SignatureParser
android.view.textclassifier.SelectionSessionLogger
+android.view.textclassifier.SystemTextClassifier$BlockingCallback
+android.view.textclassifier.SystemTextClassifier$ResponseReceiver
android.view.textclassifier.SystemTextClassifier
android.view.textclassifier.TextClassification$1
android.view.textclassifier.TextClassification$Builder
+android.view.textclassifier.TextClassification$Request$1
+android.view.textclassifier.TextClassification$Request
android.view.textclassifier.TextClassification
android.view.textclassifier.TextClassificationConstants
+android.view.textclassifier.TextClassificationContext$1
+android.view.textclassifier.TextClassificationContext$Builder
+android.view.textclassifier.TextClassificationContext
android.view.textclassifier.TextClassificationManager$SettingsObserver
android.view.textclassifier.TextClassificationManager
android.view.textclassifier.TextClassificationSessionFactory
+android.view.textclassifier.TextClassificationSessionId$1
+android.view.textclassifier.TextClassificationSessionId
android.view.textclassifier.TextClassifier$1
+android.view.textclassifier.TextClassifier$EntityConfig$1
+android.view.textclassifier.TextClassifier$EntityConfig$Builder
+android.view.textclassifier.TextClassifier$EntityConfig
+android.view.textclassifier.TextClassifier$Utils
android.view.textclassifier.TextClassifier
+android.view.textclassifier.TextClassifierEvent$1
+android.view.textclassifier.TextClassifierEvent$Builder
+android.view.textclassifier.TextClassifierEvent$ConversationActionsEvent$1
+android.view.textclassifier.TextClassifierEvent$ConversationActionsEvent
+android.view.textclassifier.TextClassifierEvent$LanguageDetectionEvent$1
+android.view.textclassifier.TextClassifierEvent$LanguageDetectionEvent
+android.view.textclassifier.TextClassifierEvent$TextLinkifyEvent$1
+android.view.textclassifier.TextClassifierEvent$TextLinkifyEvent
+android.view.textclassifier.TextClassifierEvent$TextSelectionEvent$1
+android.view.textclassifier.TextClassifierEvent$TextSelectionEvent
+android.view.textclassifier.TextClassifierEvent
android.view.textclassifier.TextClassifierEventTronLogger
android.view.textclassifier.TextClassifierImpl
+android.view.textclassifier.TextLanguage$1
+android.view.textclassifier.TextLanguage$Builder
+android.view.textclassifier.TextLanguage$Request$1
+android.view.textclassifier.TextLanguage$Request$Builder
+android.view.textclassifier.TextLanguage$Request
+android.view.textclassifier.TextLanguage
+android.view.textclassifier.TextLinks$Request$1
+android.view.textclassifier.TextLinks$Request
android.view.textclassifier.TextSelection$1
+android.view.textclassifier.TextSelection$Request$1
+android.view.textclassifier.TextSelection$Request
android.view.textclassifier.TextSelection
+android.view.textclassifier.intent.-$$Lambda$LabeledIntent$LaL7EfxShgNu4lrdo3mv85g49Jg
+android.view.textclassifier.intent.ClassificationIntentFactory
+android.view.textclassifier.intent.LabeledIntent$Result
+android.view.textclassifier.intent.LabeledIntent$TitleChooser
+android.view.textclassifier.intent.LabeledIntent
+android.view.textclassifier.intent.LegacyClassificationIntentFactory
+android.view.textclassifier.intent.TemplateClassificationIntentFactory
+android.view.textclassifier.intent.TemplateIntentFactory
android.view.textclassifier.logging.SmartSelectionEventTracker$SelectionEvent
android.view.textclassifier.logging.SmartSelectionEventTracker
android.view.textservice.SpellCheckerInfo$1
@@ -4168,12 +5915,14 @@ android.webkit.IWebViewUpdateService$Stub$Proxy
android.webkit.IWebViewUpdateService$Stub
android.webkit.IWebViewUpdateService
android.webkit.JavascriptInterface
+android.webkit.MimeTypeMap
android.webkit.ServiceWorkerClient
android.webkit.ServiceWorkerController
android.webkit.ServiceWorkerWebSettings
android.webkit.TokenBindingService
android.webkit.TracingController
android.webkit.URLUtil
+android.webkit.UserPackage
android.webkit.ValueCallback
android.webkit.WebBackForwardList
android.webkit.WebChromeClient$CustomViewCallback
@@ -4200,31 +5949,45 @@ android.webkit.WebViewFactory$MissingWebViewPackageException
android.webkit.WebViewFactory
android.webkit.WebViewFactoryProvider$Statics
android.webkit.WebViewFactoryProvider
+android.webkit.WebViewLibraryLoader$1
+android.webkit.WebViewLibraryLoader$RelroFileCreator
android.webkit.WebViewLibraryLoader
android.webkit.WebViewProvider$ScrollDelegate
android.webkit.WebViewProvider$ViewDelegate
android.webkit.WebViewProvider
+android.webkit.WebViewProviderInfo$1
+android.webkit.WebViewProviderInfo
android.webkit.WebViewProviderResponse$1
android.webkit.WebViewProviderResponse
+android.webkit.WebViewZygote
android.widget.-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hDYeIg
android.widget.-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw
android.widget.-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI
android.widget.-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc
-android.widget.-$$Lambda$RemoteViews$xYCMzfQwRCAW2azHo-bWqQ9R0Wk
+android.widget.-$$Lambda$RemoteViews$FAOkoZgPKPkiYdtkDxAhkeoykww
+android.widget.-$$Lambda$RemoteViews$Ld8XNSMwygf42608Zln-rjTyHy0
+android.widget.-$$Lambda$RemoteViews$SetOnClickResponse$9rKnU2QqCzJhBC39ZrKYXob0-MA
android.widget.-$$Lambda$SmartSelectSprite$c8eqlh2kO_X0luLU2BexwK921WA
android.widget.-$$Lambda$SmartSelectSprite$mdkXIT1_UNlJQMaziE_E815aIKE
android.widget.-$$Lambda$yIdmBO6ZxaY03PGN08RySVVQXuE
+android.widget.AbsListView$1
+android.widget.AbsListView$2
android.widget.AbsListView$3
+android.widget.AbsListView$4
+android.widget.AbsListView$AbsPositionScroller
android.widget.AbsListView$AdapterDataSetObserver
+android.widget.AbsListView$CheckForTap
android.widget.AbsListView$FlingRunnable$1
android.widget.AbsListView$FlingRunnable
android.widget.AbsListView$LayoutParams
+android.widget.AbsListView$ListItemAccessibilityDelegate
android.widget.AbsListView$OnScrollListener
android.widget.AbsListView$PerformClick
android.widget.AbsListView$RecycleBin
android.widget.AbsListView$RecyclerListener
android.widget.AbsListView$SavedState$1
android.widget.AbsListView$SavedState
+android.widget.AbsListView$SelectionBoundsAdjuster
android.widget.AbsListView$WindowRunnnable
android.widget.AbsListView
android.widget.AbsSeekBar
@@ -4234,11 +5997,15 @@ android.widget.AbsSpinner
android.widget.AbsoluteLayout
android.widget.ActionMenuPresenter$1
android.widget.ActionMenuPresenter$2
+android.widget.ActionMenuPresenter$ActionButtonSubmenu
+android.widget.ActionMenuPresenter$ActionMenuPopupCallback
android.widget.ActionMenuPresenter$OverflowMenuButton$1
android.widget.ActionMenuPresenter$OverflowMenuButton
+android.widget.ActionMenuPresenter$OverflowPopup
android.widget.ActionMenuPresenter$PopupPresenterCallback
android.widget.ActionMenuPresenter
android.widget.ActionMenuView$ActionMenuChildView
+android.widget.ActionMenuView$ActionMenuPresenterCallback
android.widget.ActionMenuView$LayoutParams
android.widget.ActionMenuView$MenuBuilderCallback
android.widget.ActionMenuView$OnMenuItemClickListener
@@ -4247,6 +6014,7 @@ android.widget.Adapter
android.widget.AdapterView$AdapterDataSetObserver
android.widget.AdapterView$OnItemClickListener
android.widget.AdapterView$OnItemSelectedListener
+android.widget.AdapterView$SelectionNotifier
android.widget.AdapterView
android.widget.ArrayAdapter
android.widget.AutoCompleteTextView$DropDownItemClickListener
@@ -4258,6 +6026,8 @@ android.widget.Button
android.widget.CheckBox
android.widget.Checkable
android.widget.CheckedTextView
+android.widget.Chronometer$1
+android.widget.Chronometer
android.widget.CompoundButton$OnCheckedChangeListener
android.widget.CompoundButton
android.widget.EdgeEffect
@@ -4267,20 +6037,31 @@ android.widget.Editor$2
android.widget.Editor$3
android.widget.Editor$5
android.widget.Editor$Blink
+android.widget.Editor$CorrectionHighlighter
android.widget.Editor$CursorAnchorInfoNotifier
android.widget.Editor$CursorController
+android.widget.Editor$EasyEditDeleteListener
+android.widget.Editor$EasyEditPopupWindow
android.widget.Editor$EditOperation$1
android.widget.Editor$EditOperation
+android.widget.Editor$ErrorPopup
+android.widget.Editor$HandleView
android.widget.Editor$InputContentType
android.widget.Editor$InputMethodState
+android.widget.Editor$InsertionHandleView
android.widget.Editor$InsertionPointCursorController
android.widget.Editor$MagnifierMotionAnimator
+android.widget.Editor$PinnedPopupWindow
android.widget.Editor$PositionListener
android.widget.Editor$ProcessTextIntentActionsHandler
+android.widget.Editor$SelectionHandleView
android.widget.Editor$SelectionModifierCursorController
+android.widget.Editor$SpanController$1
+android.widget.Editor$SpanController$2
android.widget.Editor$SpanController
android.widget.Editor$SuggestionHelper$SuggestionSpanComparator
android.widget.Editor$SuggestionHelper
+android.widget.Editor$SuggestionsPopupWindow
android.widget.Editor$TextRenderNode
android.widget.Editor$TextViewPositionListener
android.widget.Editor$UndoInputFilter
@@ -4291,6 +6072,7 @@ android.widget.FastScroller$3
android.widget.FastScroller$4
android.widget.FastScroller$5
android.widget.FastScroller$6
+android.widget.FastScroller
android.widget.Filter$FilterListener
android.widget.Filter
android.widget.Filterable
@@ -4303,20 +6085,27 @@ android.widget.GridLayout$3
android.widget.GridLayout$4
android.widget.GridLayout$5
android.widget.GridLayout$6
+android.widget.GridLayout$7$1
android.widget.GridLayout$7
android.widget.GridLayout$8
android.widget.GridLayout$Alignment
android.widget.GridLayout$Arc
android.widget.GridLayout$Assoc
+android.widget.GridLayout$Axis$1
+android.widget.GridLayout$Axis
android.widget.GridLayout$Bounds
android.widget.GridLayout$Interval
+android.widget.GridLayout$LayoutParams
android.widget.GridLayout$MutableInt
android.widget.GridLayout$PackedMap
+android.widget.GridLayout$Spec
+android.widget.GridLayout
android.widget.HeaderViewListAdapter
android.widget.HorizontalScrollView$SavedState$1
android.widget.HorizontalScrollView$SavedState
android.widget.HorizontalScrollView
android.widget.ImageButton
+android.widget.ImageView$ImageDrawableCallback
android.widget.ImageView$ScaleType
android.widget.ImageView
android.widget.LinearLayout$LayoutParams
@@ -4330,6 +6119,7 @@ android.widget.ListPopupWindow$ResizePopupRunnable
android.widget.ListPopupWindow
android.widget.ListView$ArrowScrollFocusResult
android.widget.ListView$FixedViewInfo
+android.widget.ListView$FocusSelector
android.widget.ListView
android.widget.Magnifier$Builder
android.widget.MediaController$MediaPlayerControl
@@ -4337,15 +6127,20 @@ android.widget.MultiAutoCompleteTextView$Tokenizer
android.widget.MultiAutoCompleteTextView
android.widget.OverScroller$SplineOverScroller
android.widget.OverScroller
+android.widget.PopupMenu$1
+android.widget.PopupMenu$2
android.widget.PopupMenu$OnMenuItemClickListener
android.widget.PopupMenu
android.widget.PopupWindow$1
android.widget.PopupWindow$2
+android.widget.PopupWindow$3
android.widget.PopupWindow$OnDismissListener
android.widget.PopupWindow$PopupDecorView
android.widget.PopupWindow
android.widget.ProgressBar$1
-android.widget.ProgressBar$AccessibilityEventSender
+android.widget.ProgressBar$ProgressTintInfo
+android.widget.ProgressBar$RefreshData
+android.widget.ProgressBar$RefreshProgressRunnable
android.widget.ProgressBar$SavedState$1
android.widget.ProgressBar$SavedState
android.widget.ProgressBar
@@ -4360,20 +6155,40 @@ android.widget.RelativeLayout
android.widget.RemoteViews$1
android.widget.RemoteViews$2
android.widget.RemoteViews$Action
+android.widget.RemoteViews$ActionException
+android.widget.RemoteViews$AsyncApplyTask
android.widget.RemoteViews$BitmapCache
android.widget.RemoteViews$BitmapReflectionAction
android.widget.RemoteViews$LayoutParamAction
+android.widget.RemoteViews$MethodArgs
android.widget.RemoteViews$MethodKey
android.widget.RemoteViews$OnClickHandler
+android.widget.RemoteViews$OverrideTextColorsAction
android.widget.RemoteViews$ReflectionAction
android.widget.RemoteViews$RemoteResponse
android.widget.RemoteViews$RemoteView
+android.widget.RemoteViews$RemoteViewsContextWrapper
+android.widget.RemoteViews$RunnableAction
android.widget.RemoteViews$RuntimeAction
android.widget.RemoteViews$SetDrawableTint
+android.widget.RemoteViews$SetEmptyView
+android.widget.RemoteViews$SetIntTagAction
android.widget.RemoteViews$SetOnClickResponse
+android.widget.RemoteViews$SetPendingIntentTemplate
+android.widget.RemoteViews$SetRemoteInputsAction
+android.widget.RemoteViews$SetRemoteViewsAdapterIntent
+android.widget.RemoteViews$SetRemoteViewsAdapterList
+android.widget.RemoteViews$SetRippleDrawableColor
+android.widget.RemoteViews$TextViewDrawableAction
+android.widget.RemoteViews$TextViewSizeAction
+android.widget.RemoteViews$ViewContentNavigation
+android.widget.RemoteViews$ViewGroupActionAdd
+android.widget.RemoteViews$ViewGroupActionRemove
android.widget.RemoteViews$ViewPaddingAction
+android.widget.RemoteViews$ViewTree
android.widget.RemoteViews
android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback
+android.widget.RemoteViewsAdapter
android.widget.RtlSpacingHelper
android.widget.ScrollBarDrawable
android.widget.ScrollView$SavedState$1
@@ -4402,10 +6217,12 @@ android.widget.Spinner$SpinnerPopup
android.widget.Spinner
android.widget.SpinnerAdapter
android.widget.Switch$1
+android.widget.Switch
android.widget.TableLayout$PassThroughHierarchyChangeListener
android.widget.TableLayout
android.widget.TableRow$ChildrenTracker
android.widget.TableRow
+android.widget.TextView$1
android.widget.TextView$2
android.widget.TextView$3
android.widget.TextView$4
@@ -4413,12 +6230,15 @@ android.widget.TextView$BufferType
android.widget.TextView$ChangeWatcher
android.widget.TextView$CharWrapper
android.widget.TextView$Drawables
+android.widget.TextView$Marquee
android.widget.TextView$OnEditorActionListener
android.widget.TextView$SavedState$1
android.widget.TextView$SavedState
android.widget.TextView$TextAppearanceAttributes
android.widget.TextView
android.widget.ThemedSpinnerAdapter
+android.widget.Toast$TN$1
+android.widget.Toast$TN
android.widget.Toast
android.widget.ToggleButton
android.widget.Toolbar$1
@@ -4427,10 +6247,18 @@ android.widget.Toolbar$ExpandedActionViewMenuPresenter
android.widget.Toolbar$LayoutParams
android.widget.Toolbar$OnMenuItemClickListener
android.widget.Toolbar$SavedState$1
+android.widget.Toolbar$SavedState
android.widget.Toolbar
android.widget.ViewAnimator
android.widget.ViewSwitcher
android.widget.WrapperListAdapter
+com.android.framework.protobuf.nano.CodedInputByteBufferNano
+com.android.framework.protobuf.nano.CodedOutputByteBufferNano$OutOfSpaceException
+com.android.framework.protobuf.nano.CodedOutputByteBufferNano
+com.android.framework.protobuf.nano.InternalNano
+com.android.framework.protobuf.nano.InvalidProtocolBufferNanoException
+com.android.framework.protobuf.nano.MessageNano
+com.android.framework.protobuf.nano.WireFormatNano
com.android.i18n.phonenumbers.AlternateFormatsCountryCodeSet
com.android.i18n.phonenumbers.CountryCodeToRegionCodeMap
com.android.i18n.phonenumbers.MetadataLoader
@@ -4438,8 +6266,10 @@ com.android.i18n.phonenumbers.MetadataManager$1
com.android.i18n.phonenumbers.MetadataManager
com.android.i18n.phonenumbers.MetadataSource
com.android.i18n.phonenumbers.MultiFileMetadataSourceImpl
+com.android.i18n.phonenumbers.NumberParseException$ErrorType
com.android.i18n.phonenumbers.NumberParseException
com.android.i18n.phonenumbers.PhoneNumberUtil$1
+com.android.i18n.phonenumbers.PhoneNumberUtil$2
com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$1
com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$2
com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$3
@@ -4449,23 +6279,34 @@ com.android.i18n.phonenumbers.PhoneNumberUtil$PhoneNumberFormat
com.android.i18n.phonenumbers.PhoneNumberUtil$PhoneNumberType
com.android.i18n.phonenumbers.PhoneNumberUtil$ValidationResult
com.android.i18n.phonenumbers.PhoneNumberUtil
+com.android.i18n.phonenumbers.Phonemetadata$NumberFormat$Builder
com.android.i18n.phonenumbers.Phonemetadata$NumberFormat
com.android.i18n.phonenumbers.Phonemetadata$PhoneMetadata
com.android.i18n.phonenumbers.Phonemetadata$PhoneMetadataCollection
com.android.i18n.phonenumbers.Phonemetadata$PhoneNumberDesc
com.android.i18n.phonenumbers.Phonenumber$PhoneNumber$CountryCodeSource
com.android.i18n.phonenumbers.Phonenumber$PhoneNumber
+com.android.i18n.phonenumbers.ShortNumberInfo
com.android.i18n.phonenumbers.ShortNumbersRegionCodeSet
+com.android.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder
com.android.i18n.phonenumbers.internal.MatcherApi
com.android.i18n.phonenumbers.internal.RegexBasedMatcher
com.android.i18n.phonenumbers.internal.RegexCache$LRUCache$1
com.android.i18n.phonenumbers.internal.RegexCache$LRUCache
com.android.i18n.phonenumbers.internal.RegexCache
-com.android.ims.-$$Lambda$ImsManager$Connector$N5r1SvOgM0jfHDwKkcQbyw_uTP0
-com.android.ims.-$$Lambda$ImsManager$Connector$yM9scWJWjDp_h0yrkCgrjFZH5oI
-com.android.ims.-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk
-com.android.ims.-$$Lambda$MmTelFeatureConnection$ij8S4RNRiQPHfppwkejp36BG78I
+com.android.ims.-$$Lambda$ImsManager$CwzXIbVJZNvgdV2t7LH2gUKL7AA
+com.android.ims.-$$Lambda$ImsManager$D1JuJ3ba2jMHWDKlSpm03meBR1c
+com.android.ims.-$$Lambda$ImsManager$LiW49wt0wLMYHjgtAwL8NLIATfs
+com.android.ims.-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw
+com.android.ims.-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw
+com.android.ims.FeatureConnection$IFeatureUpdate
+com.android.ims.FeatureConnection
+com.android.ims.FeatureConnector$Listener
+com.android.ims.FeatureConnector
+com.android.ims.HandlerExecutor
+com.android.ims.IFeatureConnector
com.android.ims.ImsCall$Listener
+com.android.ims.ImsCall
com.android.ims.ImsConfig
com.android.ims.ImsConfigListener$Stub
com.android.ims.ImsConfigListener
@@ -4474,26 +6315,25 @@ com.android.ims.ImsEcbm
com.android.ims.ImsEcbmStateListener
com.android.ims.ImsException
com.android.ims.ImsExternalCallStateListener
+com.android.ims.ImsManager$2
com.android.ims.ImsManager$3
-com.android.ims.ImsManager$Connector$1
-com.android.ims.ImsManager$Connector$Listener
-com.android.ims.ImsManager$Connector$RetryTimeout
-com.android.ims.ImsManager$Connector
com.android.ims.ImsManager$ExecutorFactory
+com.android.ims.ImsManager$ImsExecutorFactory
com.android.ims.ImsManager
com.android.ims.ImsMultiEndpoint$ImsExternalCallStateListenerProxy
com.android.ims.ImsMultiEndpoint
com.android.ims.ImsUt$IImsUtListenerProxy
com.android.ims.ImsUt
com.android.ims.ImsUtInterface
-com.android.ims.MmTelFeatureConnection$1
com.android.ims.MmTelFeatureConnection$CallbackAdapterManager$1
com.android.ims.MmTelFeatureConnection$CallbackAdapterManager
com.android.ims.MmTelFeatureConnection$CapabilityCallbackManager
-com.android.ims.MmTelFeatureConnection$IFeatureUpdate
com.android.ims.MmTelFeatureConnection$ImsRegistrationCallbackAdapter
com.android.ims.MmTelFeatureConnection$ProvisioningCallbackManager
com.android.ims.MmTelFeatureConnection
+com.android.ims.Registrant
+com.android.ims.internal.ICall
+com.android.ims.internal.IImsCallSession
com.android.ims.internal.IImsEcbm$Stub
com.android.ims.internal.IImsEcbm
com.android.ims.internal.IImsEcbmListener$Stub
@@ -4511,63 +6351,223 @@ com.android.ims.internal.IImsUt$Stub
com.android.ims.internal.IImsUt
com.android.ims.internal.IImsUtListener$Stub
com.android.ims.internal.IImsUtListener
+com.android.ims.internal.ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback
+com.android.ims.internal.uce.UceServiceBase$UceServiceBinder
+com.android.ims.internal.uce.UceServiceBase
+com.android.ims.internal.uce.common.CapInfo$1
+com.android.ims.internal.uce.common.CapInfo
+com.android.ims.internal.uce.common.StatusCode$1
+com.android.ims.internal.uce.common.UceLong$1
+com.android.ims.internal.uce.common.UceLong
+com.android.ims.internal.uce.options.IOptionsListener$Stub$Proxy
+com.android.ims.internal.uce.options.IOptionsListener$Stub
+com.android.ims.internal.uce.options.IOptionsListener
+com.android.ims.internal.uce.options.IOptionsService
+com.android.ims.internal.uce.presence.IPresenceListener$Stub$Proxy
+com.android.ims.internal.uce.presence.IPresenceListener$Stub
+com.android.ims.internal.uce.presence.IPresenceListener
+com.android.ims.internal.uce.presence.IPresenceService$Stub
+com.android.ims.internal.uce.presence.IPresenceService
+com.android.ims.internal.uce.presence.PresCapInfo$1
+com.android.ims.internal.uce.presence.PresCmdId$1
+com.android.ims.internal.uce.presence.PresCmdStatus$1
+com.android.ims.internal.uce.presence.PresPublishTriggerType$1
+com.android.ims.internal.uce.presence.PresSipResponse$1
+com.android.ims.internal.uce.uceservice.IUceListener$Stub$Proxy
+com.android.ims.internal.uce.uceservice.IUceListener$Stub
+com.android.ims.internal.uce.uceservice.IUceListener
+com.android.ims.internal.uce.uceservice.IUceService$Stub
+com.android.ims.internal.uce.uceservice.IUceService
com.android.internal.R$styleable
+com.android.internal.accessibility.AccessibilityShortcutController$1
+com.android.internal.accessibility.AccessibilityShortcutController$FrameworkObjectProvider
+com.android.internal.accessibility.AccessibilityShortcutController$ToggleableFrameworkFeatureInfo
+com.android.internal.accessibility.AccessibilityShortcutController
+com.android.internal.alsa.AlsaCardsParser
+com.android.internal.alsa.LineTokenizer
+com.android.internal.app.AlertController$1
com.android.internal.app.AlertController$AlertParams
+com.android.internal.app.AlertController$ButtonHandler
+com.android.internal.app.AlertController$RecycleListView
com.android.internal.app.AlertController
com.android.internal.app.AssistUtils
+com.android.internal.app.IAppOpsActiveCallback$Stub$Proxy
+com.android.internal.app.IAppOpsActiveCallback$Stub
+com.android.internal.app.IAppOpsActiveCallback
+com.android.internal.app.IAppOpsAsyncNotedCallback$Stub
+com.android.internal.app.IAppOpsAsyncNotedCallback
+com.android.internal.app.IAppOpsCallback$Stub$Proxy
com.android.internal.app.IAppOpsCallback$Stub
com.android.internal.app.IAppOpsCallback
+com.android.internal.app.IAppOpsNotedCallback$Stub$Proxy
+com.android.internal.app.IAppOpsNotedCallback$Stub
+com.android.internal.app.IAppOpsNotedCallback
com.android.internal.app.IAppOpsService$Stub$Proxy
com.android.internal.app.IAppOpsService$Stub
com.android.internal.app.IAppOpsService
com.android.internal.app.IBatteryStats$Stub$Proxy
com.android.internal.app.IBatteryStats$Stub
com.android.internal.app.IBatteryStats
+com.android.internal.app.ISoundTriggerService$Stub
+com.android.internal.app.ISoundTriggerService
+com.android.internal.app.IVoiceActionCheckCallback$Stub$Proxy
+com.android.internal.app.IVoiceActionCheckCallback$Stub
+com.android.internal.app.IVoiceActionCheckCallback
com.android.internal.app.IVoiceInteractionManagerService$Stub$Proxy
com.android.internal.app.IVoiceInteractionManagerService$Stub
com.android.internal.app.IVoiceInteractionManagerService
+com.android.internal.app.IVoiceInteractionSessionListener$Stub$Proxy
+com.android.internal.app.IVoiceInteractionSessionListener$Stub
+com.android.internal.app.IVoiceInteractionSessionListener
com.android.internal.app.IVoiceInteractionSessionShowCallback$Stub$Proxy
+com.android.internal.app.IVoiceInteractionSessionShowCallback$Stub
com.android.internal.app.IVoiceInteractionSessionShowCallback
+com.android.internal.app.IVoiceInteractor$Stub$Proxy
com.android.internal.app.IVoiceInteractor$Stub
com.android.internal.app.IVoiceInteractor
+com.android.internal.app.MicroAlertController
+com.android.internal.app.ProcessMap
+com.android.internal.app.ResolverActivity$ActionTitle
+com.android.internal.app.ResolverActivity
+com.android.internal.app.ResolverListAdapter$ResolverListCommunicator
+com.android.internal.app.ToolbarActionBar
+com.android.internal.app.WindowDecorActionBar
+com.android.internal.app.procstats.-$$Lambda$AssociationState$kgfxYpOOyQWCFPwGaRqRz0N4-zg
+com.android.internal.app.procstats.AssociationState$SourceKey
+com.android.internal.app.procstats.AssociationState$SourceState
+com.android.internal.app.procstats.AssociationState
+com.android.internal.app.procstats.DumpUtils
+com.android.internal.app.procstats.DurationsTable
+com.android.internal.app.procstats.IProcessStats$Stub$Proxy
+com.android.internal.app.procstats.IProcessStats$Stub
+com.android.internal.app.procstats.IProcessStats
+com.android.internal.app.procstats.ProcessState$1
+com.android.internal.app.procstats.ProcessState$PssAggr
+com.android.internal.app.procstats.ProcessState
+com.android.internal.app.procstats.ProcessStats$1
+com.android.internal.app.procstats.ProcessStats$PackageState
+com.android.internal.app.procstats.ProcessStats$ProcessStateHolder
+com.android.internal.app.procstats.ProcessStats$TotalMemoryUseCollection
+com.android.internal.app.procstats.ProcessStats
+com.android.internal.app.procstats.PssTable
+com.android.internal.app.procstats.ServiceState
+com.android.internal.app.procstats.SparseMappingTable$Table
+com.android.internal.app.procstats.SparseMappingTable
+com.android.internal.app.procstats.SysMemUsageTable
+com.android.internal.appwidget.IAppWidgetHost$Stub$Proxy
+com.android.internal.appwidget.IAppWidgetHost$Stub
+com.android.internal.appwidget.IAppWidgetHost
com.android.internal.appwidget.IAppWidgetService$Stub$Proxy
com.android.internal.appwidget.IAppWidgetService$Stub
com.android.internal.appwidget.IAppWidgetService
+com.android.internal.backup.IBackupTransport$Stub$Proxy
com.android.internal.backup.IBackupTransport$Stub
com.android.internal.backup.IBackupTransport
+com.android.internal.compat.ChangeReporter
+com.android.internal.content.NativeLibraryHelper$Handle
com.android.internal.content.NativeLibraryHelper
+com.android.internal.content.PackageHelper$1
+com.android.internal.content.PackageHelper$TestableInterface
+com.android.internal.content.PackageHelper
com.android.internal.content.PackageMonitor
com.android.internal.content.ReferrerIntent$1
com.android.internal.content.ReferrerIntent
+com.android.internal.graphics.ColorUtils
+com.android.internal.graphics.SfVsyncFrameCallbackProvider
com.android.internal.graphics.drawable.AnimationScaleListDrawable$AnimationScaleListState
com.android.internal.graphics.drawable.AnimationScaleListDrawable
+com.android.internal.infra.-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8
+com.android.internal.infra.-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4
+com.android.internal.infra.-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o
com.android.internal.infra.-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw
+com.android.internal.infra.-$$Lambda$AbstractRemoteService$PendingRequest$IBoaBGXZQEXJr69u3aJF-LCJ42Y
+com.android.internal.infra.-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck
+com.android.internal.infra.-$$Lambda$AbstractRemoteService$ocrHd68Md9x6FfAzVQ6w8MAjFqY
+com.android.internal.infra.-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A
com.android.internal.infra.AbstractMultiplePendingRequestsRemoteService
+com.android.internal.infra.AbstractRemoteService$AsyncRequest
com.android.internal.infra.AbstractRemoteService$BasePendingRequest
+com.android.internal.infra.AbstractRemoteService$MyAsyncPendingRequest
com.android.internal.infra.AbstractRemoteService$PendingRequest
com.android.internal.infra.AbstractRemoteService$RemoteServiceConnection
com.android.internal.infra.AbstractRemoteService$VultureCallback
com.android.internal.infra.AbstractRemoteService
+com.android.internal.infra.AbstractSinglePendingRequestRemoteService
+com.android.internal.infra.AndroidFuture
+com.android.internal.infra.ServiceConnector$Job
+com.android.internal.infra.ServiceConnector
+com.android.internal.infra.WhitelistHelper
+com.android.internal.inputmethod.IInputContentUriToken
+com.android.internal.inputmethod.IInputMethodPrivilegedOperations$Stub$Proxy
+com.android.internal.inputmethod.IInputMethodPrivilegedOperations$Stub
+com.android.internal.inputmethod.IInputMethodPrivilegedOperations
+com.android.internal.inputmethod.InputMethodDebug
+com.android.internal.inputmethod.InputMethodPrivilegedOperations$OpsHolder
+com.android.internal.inputmethod.InputMethodPrivilegedOperations
+com.android.internal.inputmethod.InputMethodPrivilegedOperationsRegistry
+com.android.internal.inputmethod.SubtypeLocaleUtils
+com.android.internal.location.GpsNetInitiatedHandler$1
+com.android.internal.location.GpsNetInitiatedHandler$2
+com.android.internal.location.GpsNetInitiatedHandler
+com.android.internal.location.ILocationProvider$Stub$Proxy
+com.android.internal.location.ILocationProvider$Stub
+com.android.internal.location.ILocationProvider
+com.android.internal.location.ILocationProviderManager$Stub$Proxy
+com.android.internal.location.ILocationProviderManager$Stub
+com.android.internal.location.ILocationProviderManager
+com.android.internal.location.ProviderProperties$1
+com.android.internal.location.ProviderProperties
+com.android.internal.location.ProviderRequest$1
+com.android.internal.location.ProviderRequest
+com.android.internal.location.gnssmetrics.GnssMetrics$GnssPowerMetrics
+com.android.internal.location.gnssmetrics.GnssMetrics$Statistics
+com.android.internal.location.gnssmetrics.GnssMetrics
+com.android.internal.location.nano.GnssLogsProto$GnssLog
+com.android.internal.location.nano.GnssLogsProto$PowerMetrics
com.android.internal.logging.AndroidConfig
com.android.internal.logging.AndroidHandler$1
com.android.internal.logging.AndroidHandler
com.android.internal.logging.EventLogTags
com.android.internal.logging.MetricsLogger
-com.android.internal.net.NetworkStatsFactory
+com.android.internal.net.INetworkWatchlistManager$Stub$Proxy
+com.android.internal.net.INetworkWatchlistManager$Stub
+com.android.internal.net.INetworkWatchlistManager
+com.android.internal.net.LegacyVpnInfo
+com.android.internal.net.VpnConfig$1
+com.android.internal.net.VpnConfig
+com.android.internal.net.VpnInfo$1
+com.android.internal.net.VpnInfo
+com.android.internal.net.VpnProfile$1
+com.android.internal.net.VpnProfile
+com.android.internal.notification.SystemNotificationChannels
+com.android.internal.os.-$$Lambda$6-ytl6NLMGWt_iQr4_PfakNWUKQ
+com.android.internal.os.-$$Lambda$BatteryStatsImpl$7bfIWpn8X2h-hSzLD6dcuK4Ljuw
+com.android.internal.os.-$$Lambda$BatteryStatsImpl$B-TmZhQb712ePnuJTxvMe7P-YwQ
+com.android.internal.os.-$$Lambda$BatteryStatsImpl$Xvt9xdVPtevMWGIjcbxXf0_mr_c
+com.android.internal.os.-$$Lambda$BatteryStatsImpl$_l2oiaRDRhjCXI_PwXPsAhrgegI
+com.android.internal.os.-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk
com.android.internal.os.-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg
com.android.internal.os.-$$Lambda$ZygoteConnection$KxVsZ-s4KsanePOHCU5JcuypPik
com.android.internal.os.-$$Lambda$ZygoteConnection$xjqM7qW7vAjTqh2tR5XRF5Vn5mk
+com.android.internal.os.-$$Lambda$sHtqZgGVjxOf9IJdAdZO6gwD_Do
com.android.internal.os.AndroidPrintStream
+com.android.internal.os.AppFuseMount
com.android.internal.os.AtomicDirectory
com.android.internal.os.BackgroundThread
com.android.internal.os.BatterySipper$DrainType
com.android.internal.os.BatterySipper
+com.android.internal.os.BatteryStatsHelper$1
com.android.internal.os.BatteryStatsHelper
+com.android.internal.os.BatteryStatsHistory$1
com.android.internal.os.BatteryStatsHistory
com.android.internal.os.BatteryStatsImpl$1
+com.android.internal.os.BatteryStatsImpl$2
+com.android.internal.os.BatteryStatsImpl$3
+com.android.internal.os.BatteryStatsImpl$4
com.android.internal.os.BatteryStatsImpl$5
com.android.internal.os.BatteryStatsImpl$6
com.android.internal.os.BatteryStatsImpl$BatchTimer
+com.android.internal.os.BatteryStatsImpl$BatteryCallback
com.android.internal.os.BatteryStatsImpl$BluetoothActivityInfoCache
com.android.internal.os.BatteryStatsImpl$Clocks
com.android.internal.os.BatteryStatsImpl$Constants
@@ -4575,9 +6575,13 @@ com.android.internal.os.BatteryStatsImpl$ControllerActivityCounterImpl
com.android.internal.os.BatteryStatsImpl$Counter
com.android.internal.os.BatteryStatsImpl$DualTimer
com.android.internal.os.BatteryStatsImpl$DurationTimer
+com.android.internal.os.BatteryStatsImpl$ExternalStatsSync
com.android.internal.os.BatteryStatsImpl$LongSamplingCounter
com.android.internal.os.BatteryStatsImpl$LongSamplingCounterArray
+com.android.internal.os.BatteryStatsImpl$MyHandler
com.android.internal.os.BatteryStatsImpl$OverflowArrayMap
+com.android.internal.os.BatteryStatsImpl$PlatformIdleStateCallback
+com.android.internal.os.BatteryStatsImpl$RailEnergyDataCallback
com.android.internal.os.BatteryStatsImpl$SamplingTimer
com.android.internal.os.BatteryStatsImpl$StopwatchTimer
com.android.internal.os.BatteryStatsImpl$SystemClocks
@@ -4593,17 +6597,29 @@ com.android.internal.os.BatteryStatsImpl$Uid$Proc
com.android.internal.os.BatteryStatsImpl$Uid$Sensor
com.android.internal.os.BatteryStatsImpl$Uid$Wakelock
com.android.internal.os.BatteryStatsImpl$Uid
+com.android.internal.os.BatteryStatsImpl$UidToRemove
+com.android.internal.os.BatteryStatsImpl$UserInfoProvider
com.android.internal.os.BatteryStatsImpl
com.android.internal.os.BinderCallsStats$CallStat
+com.android.internal.os.BinderCallsStats$CallStatKey
+com.android.internal.os.BinderCallsStats$ExportedCallStat
+com.android.internal.os.BinderCallsStats$Injector
com.android.internal.os.BinderCallsStats$OverflowBinder
com.android.internal.os.BinderCallsStats$UidEntry
com.android.internal.os.BinderCallsStats
+com.android.internal.os.BinderDeathDispatcher$RecipientsInfo
+com.android.internal.os.BinderDeathDispatcher
+com.android.internal.os.BinderInternal$BinderProxyLimitListener
com.android.internal.os.BinderInternal$BinderProxyLimitListenerDelegate
+com.android.internal.os.BinderInternal$CallSession
com.android.internal.os.BinderInternal$GcWatcher
com.android.internal.os.BinderInternal$Observer
com.android.internal.os.BinderInternal$WorkSourceProvider
com.android.internal.os.BinderInternal
com.android.internal.os.BluetoothPowerCalculator
+com.android.internal.os.CachedDeviceState$Readonly
+com.android.internal.os.CachedDeviceState$TimeInStateStopwatch
+com.android.internal.os.CachedDeviceState
com.android.internal.os.CameraPowerCalculator
com.android.internal.os.ClassLoaderFactory
com.android.internal.os.CpuPowerCalculator
@@ -4620,24 +6636,53 @@ com.android.internal.os.IDropBoxManagerService
com.android.internal.os.IResultReceiver$Stub$Proxy
com.android.internal.os.IResultReceiver$Stub
com.android.internal.os.IResultReceiver
+com.android.internal.os.IShellCallback$Stub$Proxy
+com.android.internal.os.IShellCallback$Stub
+com.android.internal.os.IShellCallback
+com.android.internal.os.KernelCpuProcStringReader$ProcFileIterator
com.android.internal.os.KernelCpuProcStringReader
+com.android.internal.os.KernelCpuSpeedReader
+com.android.internal.os.KernelCpuThreadReader$FrequencyBucketCreator
+com.android.internal.os.KernelCpuThreadReader$Injector
+com.android.internal.os.KernelCpuThreadReader$ProcessCpuUsage
+com.android.internal.os.KernelCpuThreadReader$ThreadCpuUsage
+com.android.internal.os.KernelCpuThreadReader
+com.android.internal.os.KernelCpuThreadReaderSettingsObserver$UidPredicate
+com.android.internal.os.KernelCpuThreadReaderSettingsObserver
+com.android.internal.os.KernelCpuUidTimeReader$Callback
com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader
com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader
com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader
com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader
com.android.internal.os.KernelCpuUidTimeReader
com.android.internal.os.KernelMemoryBandwidthStats
+com.android.internal.os.KernelSingleUidTimeReader
com.android.internal.os.KernelWakelockReader
+com.android.internal.os.KernelWakelockStats$Entry
com.android.internal.os.KernelWakelockStats
com.android.internal.os.LoggingPrintStream$1
com.android.internal.os.LoggingPrintStream
+com.android.internal.os.LooperStats$DispatchSession
+com.android.internal.os.LooperStats$Entry
+com.android.internal.os.LooperStats$ExportedEntry
+com.android.internal.os.LooperStats
com.android.internal.os.MediaPowerCalculator
com.android.internal.os.MemoryPowerCalculator
com.android.internal.os.MobileRadioPowerCalculator
com.android.internal.os.PowerCalculator
com.android.internal.os.PowerProfile$CpuClusterKey
com.android.internal.os.PowerProfile
+com.android.internal.os.ProcStatsUtil
+com.android.internal.os.ProcTimeInStateReader
+com.android.internal.os.ProcessCpuTracker$1
+com.android.internal.os.ProcessCpuTracker$FilterStats
+com.android.internal.os.ProcessCpuTracker$Stats
+com.android.internal.os.ProcessCpuTracker
+com.android.internal.os.RailStats
com.android.internal.os.RoSystemProperties
+com.android.internal.os.RpmStats$PowerStateElement
+com.android.internal.os.RpmStats$PowerStatePlatformSleepState
+com.android.internal.os.RpmStats$PowerStateSubsystem
com.android.internal.os.RpmStats
com.android.internal.os.RuntimeInit$1
com.android.internal.os.RuntimeInit$Arguments
@@ -4647,59 +6692,146 @@ com.android.internal.os.RuntimeInit$MethodAndArgsCaller
com.android.internal.os.RuntimeInit
com.android.internal.os.SensorPowerCalculator
com.android.internal.os.SomeArgs
+com.android.internal.os.StatsdHiddenApiUsageLogger
+com.android.internal.os.StoragedUidIoStatsReader
+com.android.internal.os.TransferPipe
com.android.internal.os.WakelockPowerCalculator
com.android.internal.os.WifiPowerCalculator
+com.android.internal.os.WifiPowerEstimator
+com.android.internal.os.WrapperInit
com.android.internal.os.Zygote
com.android.internal.os.ZygoteArguments
-com.android.internal.os.ZygoteConnection$HiddenApiUsageLogger
com.android.internal.os.ZygoteConnection
com.android.internal.os.ZygoteInit
+com.android.internal.os.ZygoteSecurityException
+com.android.internal.os.ZygoteServer$UsapPoolRefillAction
com.android.internal.os.ZygoteServer
+com.android.internal.policy.BackdropFrameRenderer
com.android.internal.policy.DecorContext
com.android.internal.policy.DecorView$1
+com.android.internal.policy.DecorView$2
+com.android.internal.policy.DecorView$3
com.android.internal.policy.DecorView$ColorViewAttributes
com.android.internal.policy.DecorView$ColorViewState
com.android.internal.policy.DecorView
+com.android.internal.policy.DividerSnapAlgorithm$SnapTarget
+com.android.internal.policy.DividerSnapAlgorithm
+com.android.internal.policy.DockedDividerUtils
+com.android.internal.policy.IKeyguardDismissCallback$Stub$Proxy
+com.android.internal.policy.IKeyguardDismissCallback$Stub
+com.android.internal.policy.IKeyguardDismissCallback
+com.android.internal.policy.IKeyguardDrawnCallback$Stub$Proxy
+com.android.internal.policy.IKeyguardDrawnCallback$Stub
+com.android.internal.policy.IKeyguardDrawnCallback
+com.android.internal.policy.IKeyguardExitCallback$Stub$Proxy
+com.android.internal.policy.IKeyguardExitCallback$Stub
+com.android.internal.policy.IKeyguardExitCallback
+com.android.internal.policy.IKeyguardService$Stub$Proxy
+com.android.internal.policy.IKeyguardService$Stub
+com.android.internal.policy.IKeyguardService
+com.android.internal.policy.IKeyguardStateCallback$Stub$Proxy
+com.android.internal.policy.IKeyguardStateCallback$Stub
+com.android.internal.policy.IKeyguardStateCallback
+com.android.internal.policy.IShortcutService$Stub$Proxy
+com.android.internal.policy.IShortcutService$Stub
+com.android.internal.policy.IShortcutService
com.android.internal.policy.PhoneFallbackEventHandler
com.android.internal.policy.PhoneLayoutInflater
com.android.internal.policy.PhoneWindow$1
com.android.internal.policy.PhoneWindow$PanelFeatureState$SavedState$1
+com.android.internal.policy.PhoneWindow$PanelFeatureState$SavedState
com.android.internal.policy.PhoneWindow$PanelFeatureState
com.android.internal.policy.PhoneWindow$PhoneWindowMenuCallback
com.android.internal.policy.PhoneWindow$RotationWatcher$1
com.android.internal.policy.PhoneWindow$RotationWatcher
com.android.internal.policy.PhoneWindow
+com.android.internal.policy.PipSnapAlgorithm
+com.android.internal.policy.ScreenDecorationsUtils
+com.android.internal.statusbar.IStatusBar$Stub$Proxy
+com.android.internal.statusbar.IStatusBar$Stub
+com.android.internal.statusbar.IStatusBar
+com.android.internal.statusbar.IStatusBarService$Stub$Proxy
+com.android.internal.statusbar.IStatusBarService$Stub
+com.android.internal.statusbar.IStatusBarService
+com.android.internal.statusbar.NotificationVisibility$1
+com.android.internal.statusbar.NotificationVisibility$NotificationLocation
+com.android.internal.statusbar.NotificationVisibility
+com.android.internal.statusbar.RegisterStatusBarResult
+com.android.internal.statusbar.StatusBarIcon$1
+com.android.internal.statusbar.StatusBarIcon
+com.android.internal.telecom.IConnectionService$Stub$Proxy
+com.android.internal.telecom.IConnectionService$Stub
+com.android.internal.telecom.IConnectionService
+com.android.internal.telecom.IConnectionServiceAdapter$Stub
+com.android.internal.telecom.IConnectionServiceAdapter
+com.android.internal.telecom.IInCallAdapter$Stub
+com.android.internal.telecom.IInCallAdapter
+com.android.internal.telecom.IInCallService$Stub$Proxy
+com.android.internal.telecom.IInCallService$Stub
+com.android.internal.telecom.IInCallService
com.android.internal.telecom.ITelecomService$Stub$Proxy
com.android.internal.telecom.ITelecomService$Stub
com.android.internal.telecom.ITelecomService
com.android.internal.telecom.IVideoCallback
+com.android.internal.telecom.IVideoProvider$Stub$Proxy
com.android.internal.telecom.IVideoProvider$Stub
com.android.internal.telecom.IVideoProvider
+com.android.internal.telecom.RemoteServiceCallback$Stub$Proxy
+com.android.internal.telecom.RemoteServiceCallback$Stub
+com.android.internal.telecom.RemoteServiceCallback
+com.android.internal.telephony.-$$Lambda$MultiSimSettingController$55347QtGjuukX-px3jYZkJd_z3U
+com.android.internal.telephony.-$$Lambda$MultiSimSettingController$DcLtrTEtdlCd4WOev4Zk79vrSko
+com.android.internal.telephony.-$$Lambda$MultiSimSettingController$WtGtOenjqxSBoW5BUjT-VlNoSTM
com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI
com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM
-com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$AjZFvwh3Ujx5W3fleFNksc6bLf0
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$Ja9yTBcEYPqTRBIP-hL0otixVeE
com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo
-com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0
com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw
-com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$knEK4mNNOqbx_h4hWVcDSbY5kHE
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$rpyQeO7zACcc5v4krwU9_qRMHL8
com.android.internal.telephony.-$$Lambda$PhoneSwitcher$WfAxZbJDpCUxBytiUchQ87aGijQ
+com.android.internal.telephony.-$$Lambda$RIL$803u4JiCud_JSoDndvAhT13ZZqU
+com.android.internal.telephony.-$$Lambda$RIL$Ir4pOMTf7R0Jtw4O3F7JgMVtXO4
+com.android.internal.telephony.-$$Lambda$RIL$ZGWeCQ9boMO1_J1_yQ82l_jK-Nc
+com.android.internal.telephony.-$$Lambda$RIL$zYsQZAc3z9bM5fCaq_J0dn5kjjo
+com.android.internal.telephony.-$$Lambda$RILConstants$ODSbRKyUeaOFMcez-ZudOmaKCBw
+com.android.internal.telephony.-$$Lambda$RILConstants$zIAjDPNpW8a5C22QbMmMwM64vD8
com.android.internal.telephony.-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI
+com.android.internal.telephony.-$$Lambda$RadioIndication$GND6XxOOm1d_Ro76zEUFjA9OrEA
com.android.internal.telephony.-$$Lambda$SubscriptionController$Nt_ojdeqo4C2mbuwymYLvwgOLGo
+com.android.internal.telephony.-$$Lambda$SubscriptionController$VCQsMNqRHpN3RyoXYzh2YUwA2yc
com.android.internal.telephony.-$$Lambda$SubscriptionController$u5xE-urXR6ElZ50305_6guo20Fc
-com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$-zZXM9oMRZ3vZz7dJOG19J00Bmw
-com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g
-com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$MMx9iQX0JVqqMPLTUZhdBubFSzU
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$DY4i_CG7hrAeejGLeh3hMUZySnw
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$UFyB0ValfLD0rdGDibCjTnGFkeo
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$Y5woGfEDKrozRViLH7WF93qPEno
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$ZTY4uxKw17CHcHQzbBUF7m-dN-E
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$ecTEeMEIjOEa2z5W3wjqiicibbY
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$qyDxq2AWyReUxdc6HttVGQeDD3Y
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$tLUuQ7lYu8EjRd038qzQlDm-CtA
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$09rMKC8001jAR0zFrzzlPx26Xjs
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$DKjB_mCxFOHomOyKLPFU9-9Dywc
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$UYUq9z2WZwxqOLXquU0tTNN9wAs
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$eUdIxJOKoyVP5UmFJtWXBUO93Qk
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$nLdppNQT1Bv7QyIU3LwAwVD2K60
com.android.internal.telephony.-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I
+com.android.internal.telephony.-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw
+com.android.internal.telephony.-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM
+com.android.internal.telephony.ATParseEx
com.android.internal.telephony.AppSmsManager
com.android.internal.telephony.BaseCommands
+com.android.internal.telephony.BlockChecker
com.android.internal.telephony.Call$SrvccState
com.android.internal.telephony.Call$State
com.android.internal.telephony.Call
+com.android.internal.telephony.CallForwardInfo
com.android.internal.telephony.CallManager$CallManagerHandler
com.android.internal.telephony.CallManager
com.android.internal.telephony.CallStateException
com.android.internal.telephony.CallTracker
-android.telephony.CallerInfoAsyncQuery$OnQueryCompleteListener
com.android.internal.telephony.CarrierActionAgent$1
com.android.internal.telephony.CarrierActionAgent
com.android.internal.telephony.CarrierAppUtils
@@ -4707,10 +6839,13 @@ com.android.internal.telephony.CarrierInfoManager
com.android.internal.telephony.CarrierKeyDownloadManager$1
com.android.internal.telephony.CarrierKeyDownloadManager
com.android.internal.telephony.CarrierResolver$1
+com.android.internal.telephony.CarrierResolver$2
+com.android.internal.telephony.CarrierResolver$CarrierMatchingRule
com.android.internal.telephony.CarrierResolver
com.android.internal.telephony.CarrierServiceBindHelper$1
com.android.internal.telephony.CarrierServiceBindHelper$2
com.android.internal.telephony.CarrierServiceBindHelper$AppBinding
+com.android.internal.telephony.CarrierServiceBindHelper$CarrierServiceConnection
com.android.internal.telephony.CarrierServiceBindHelper$CarrierServicePackageMonitor
com.android.internal.telephony.CarrierServiceBindHelper
com.android.internal.telephony.CarrierServiceStateTracker$1
@@ -4720,9 +6855,16 @@ com.android.internal.telephony.CarrierServiceStateTracker$EmergencyNetworkNotifi
com.android.internal.telephony.CarrierServiceStateTracker$NotificationType
com.android.internal.telephony.CarrierServiceStateTracker$PrefNetworkNotification
com.android.internal.telephony.CarrierServiceStateTracker
+com.android.internal.telephony.CarrierServicesSmsFilter$CallbackTimeoutHandler
+com.android.internal.telephony.CarrierServicesSmsFilter$CarrierServicesSmsFilterCallbackInterface
+com.android.internal.telephony.CarrierServicesSmsFilter
com.android.internal.telephony.CarrierSignalAgent$1
com.android.internal.telephony.CarrierSignalAgent
+com.android.internal.telephony.CarrierSmsUtils
com.android.internal.telephony.CellBroadcastHandler
+com.android.internal.telephony.CellBroadcastServiceManager
+com.android.internal.telephony.CellNetworkScanResult$1
+com.android.internal.telephony.CellNetworkScanResult
com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider$1
com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider
com.android.internal.telephony.CellularNetworkService
@@ -4733,6 +6875,8 @@ com.android.internal.telephony.ClientWakelockTracker
com.android.internal.telephony.CommandException$Error
com.android.internal.telephony.CommandException
com.android.internal.telephony.CommandsInterface
+com.android.internal.telephony.Connection$Listener
+com.android.internal.telephony.Connection$PostDialState
com.android.internal.telephony.Connection
com.android.internal.telephony.DctConstants$Activity
com.android.internal.telephony.DctConstants$State
@@ -4744,36 +6888,63 @@ com.android.internal.telephony.DeviceStateMonitor$2
com.android.internal.telephony.DeviceStateMonitor$3
com.android.internal.telephony.DeviceStateMonitor$AccessNetworkThresholds
com.android.internal.telephony.DeviceStateMonitor
+com.android.internal.telephony.DriverCall$State
+com.android.internal.telephony.DriverCall
+com.android.internal.telephony.EncodeException
com.android.internal.telephony.ExponentialBackoff$1
com.android.internal.telephony.ExponentialBackoff$HandlerAdapter
com.android.internal.telephony.ExponentialBackoff
+com.android.internal.telephony.GlobalSettingsHelper
+com.android.internal.telephony.GsmAlphabet
com.android.internal.telephony.GsmCdmaCall
com.android.internal.telephony.GsmCdmaCallTracker$1
+com.android.internal.telephony.GsmCdmaCallTracker$2
+com.android.internal.telephony.GsmCdmaCallTracker$3
com.android.internal.telephony.GsmCdmaCallTracker
com.android.internal.telephony.GsmCdmaConnection
com.android.internal.telephony.GsmCdmaPhone$1
com.android.internal.telephony.GsmCdmaPhone$2
com.android.internal.telephony.GsmCdmaPhone$3
+com.android.internal.telephony.GsmCdmaPhone$Cfu
com.android.internal.telephony.GsmCdmaPhone
com.android.internal.telephony.HalVersion
com.android.internal.telephony.HardwareConfig
+com.android.internal.telephony.HbpcdUtils
+com.android.internal.telephony.HexDump
com.android.internal.telephony.ICarrierConfigLoader$Stub$Proxy
com.android.internal.telephony.ICarrierConfigLoader$Stub
com.android.internal.telephony.ICarrierConfigLoader
+com.android.internal.telephony.IIccPhoneBook$Stub$Proxy
com.android.internal.telephony.IIccPhoneBook$Stub
com.android.internal.telephony.IIccPhoneBook
+com.android.internal.telephony.IIntegerConsumer$Stub$Proxy
+com.android.internal.telephony.IIntegerConsumer$Stub
+com.android.internal.telephony.IIntegerConsumer
+com.android.internal.telephony.IMms$Stub$Proxy
+com.android.internal.telephony.IMms$Stub
+com.android.internal.telephony.IMms
+com.android.internal.telephony.INumberVerificationCallback$Stub$Proxy
+com.android.internal.telephony.INumberVerificationCallback$Stub
+com.android.internal.telephony.INumberVerificationCallback
+com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub$Proxy
com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub
com.android.internal.telephony.IOnSubscriptionsChangedListener
+com.android.internal.telephony.IOns$Stub
+com.android.internal.telephony.IOns
+com.android.internal.telephony.IPhoneStateListener$Stub$Proxy
com.android.internal.telephony.IPhoneStateListener$Stub
com.android.internal.telephony.IPhoneStateListener
com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy
com.android.internal.telephony.IPhoneSubInfo$Stub
com.android.internal.telephony.IPhoneSubInfo
+com.android.internal.telephony.ISetOpportunisticDataCallback$Stub$Proxy
com.android.internal.telephony.ISetOpportunisticDataCallback$Stub
com.android.internal.telephony.ISetOpportunisticDataCallback
+com.android.internal.telephony.ISms$Stub$Proxy
com.android.internal.telephony.ISms$Stub
com.android.internal.telephony.ISms
com.android.internal.telephony.ISmsImplBase
+com.android.internal.telephony.IState
com.android.internal.telephony.ISub$Stub$Proxy
com.android.internal.telephony.ISub$Stub
com.android.internal.telephony.ISub
@@ -4783,12 +6954,15 @@ com.android.internal.telephony.ITelephony
com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy
com.android.internal.telephony.ITelephonyRegistry$Stub
com.android.internal.telephony.ITelephonyRegistry
+com.android.internal.telephony.IWapPushManager
com.android.internal.telephony.IccCard
com.android.internal.telephony.IccCardConstants$State
com.android.internal.telephony.IccPhoneBookInterfaceManager$1
+com.android.internal.telephony.IccPhoneBookInterfaceManager$Request
com.android.internal.telephony.IccPhoneBookInterfaceManager
com.android.internal.telephony.IccProvider
com.android.internal.telephony.IccSmsInterfaceManager$1
+com.android.internal.telephony.IccSmsInterfaceManager$2
com.android.internal.telephony.IccSmsInterfaceManager$CdmaBroadcastRangeManager
com.android.internal.telephony.IccSmsInterfaceManager$CellBroadcastRangeManager
com.android.internal.telephony.IccSmsInterfaceManager
@@ -4799,20 +6973,35 @@ com.android.internal.telephony.ImsSmsDispatcher$4
com.android.internal.telephony.ImsSmsDispatcher
com.android.internal.telephony.InboundSmsHandler$1
com.android.internal.telephony.InboundSmsHandler$2
+com.android.internal.telephony.InboundSmsHandler$CarrierServicesSmsFilterCallback
+com.android.internal.telephony.InboundSmsHandler$CbTestBroadcastReceiver
com.android.internal.telephony.InboundSmsHandler$DefaultState
com.android.internal.telephony.InboundSmsHandler$DeliveringState
com.android.internal.telephony.InboundSmsHandler$IdleState
com.android.internal.telephony.InboundSmsHandler$NewMessageNotificationActionReceiver
+com.android.internal.telephony.InboundSmsHandler$SmsBroadcastReceiver
com.android.internal.telephony.InboundSmsHandler$StartupState
com.android.internal.telephony.InboundSmsHandler$WaitingState
com.android.internal.telephony.InboundSmsHandler
+com.android.internal.telephony.InboundSmsTracker
+com.android.internal.telephony.IntRangeManager$ClientRange
+com.android.internal.telephony.IntRangeManager$IntRange
com.android.internal.telephony.IntRangeManager
com.android.internal.telephony.IntentBroadcaster$1
com.android.internal.telephony.IntentBroadcaster
+com.android.internal.telephony.LastCallFailCause
+com.android.internal.telephony.LinkCapacityEstimate
+com.android.internal.telephony.LocalLog
com.android.internal.telephony.LocaleTracker$1
com.android.internal.telephony.LocaleTracker
com.android.internal.telephony.MccTable$MccEntry
+com.android.internal.telephony.MccTable$MccMnc
com.android.internal.telephony.MccTable
+com.android.internal.telephony.MmiCode
+com.android.internal.telephony.MultiSimSettingController$1
+com.android.internal.telephony.MultiSimSettingController$UpdateDefaultAction
+com.android.internal.telephony.MultiSimSettingController
+com.android.internal.telephony.NetworkRegistrationManager$1
com.android.internal.telephony.NetworkRegistrationManager$NetworkRegStateCallback
com.android.internal.telephony.NetworkRegistrationManager$NetworkServiceConnection
com.android.internal.telephony.NetworkRegistrationManager$RegManagerDeathRecipient
@@ -4820,32 +7009,40 @@ com.android.internal.telephony.NetworkRegistrationManager
com.android.internal.telephony.NetworkScanRequestTracker$1
com.android.internal.telephony.NetworkScanRequestTracker$NetworkScanRequestScheduler
com.android.internal.telephony.NetworkScanRequestTracker
-com.android.internal.telephony.NewNitzStateMachine$1
-com.android.internal.telephony.NewNitzStateMachine
-com.android.internal.telephony.NewTimeServiceHelper$1
-com.android.internal.telephony.NewTimeServiceHelper$Listener
-com.android.internal.telephony.NewTimeServiceHelper
+com.android.internal.telephony.NitzData
com.android.internal.telephony.NitzStateMachine$DeviceState
com.android.internal.telephony.NitzStateMachine
+com.android.internal.telephony.NitzStateMachineImpl
com.android.internal.telephony.OemHookIndication
com.android.internal.telephony.OemHookResponse
+com.android.internal.telephony.OperatorInfo$1
+com.android.internal.telephony.OperatorInfo$State
+com.android.internal.telephony.OperatorInfo
com.android.internal.telephony.Phone$1
com.android.internal.telephony.Phone
-com.android.internal.telephony.PhoneConfigurationManager$MainThreadHandler
+com.android.internal.telephony.PhoneConfigurationManager$ConfigManagerHandler
+com.android.internal.telephony.PhoneConfigurationManager$MockableInterface
com.android.internal.telephony.PhoneConfigurationManager
-com.android.internal.telephony.PhoneConfigurationModels
com.android.internal.telephony.PhoneConstantConversions$1
com.android.internal.telephony.PhoneConstantConversions
com.android.internal.telephony.PhoneConstants$DataState
com.android.internal.telephony.PhoneConstants$State
com.android.internal.telephony.PhoneFactory
+com.android.internal.telephony.PhoneInternalInterface$DataActivityState
+com.android.internal.telephony.PhoneInternalInterface$DialArgs$Builder
+com.android.internal.telephony.PhoneInternalInterface$DialArgs
+com.android.internal.telephony.PhoneInternalInterface$SuppService
com.android.internal.telephony.PhoneInternalInterface
com.android.internal.telephony.PhoneNotifier
+com.android.internal.telephony.PhoneStateIntentReceiver
com.android.internal.telephony.PhoneSubInfoController$CallPhoneMethodHelper
com.android.internal.telephony.PhoneSubInfoController$PermissionCheckHelper
com.android.internal.telephony.PhoneSubInfoController
+com.android.internal.telephony.PhoneSwitcher$1
+com.android.internal.telephony.PhoneSwitcher$2
com.android.internal.telephony.PhoneSwitcher$3
-com.android.internal.telephony.PhoneSwitcher$4
+com.android.internal.telephony.PhoneSwitcher$DefaultNetworkCallback
+com.android.internal.telephony.PhoneSwitcher$EmergencyOverrideRequest
com.android.internal.telephony.PhoneSwitcher$PhoneState
com.android.internal.telephony.PhoneSwitcher$PhoneSwitcherNetworkRequestListener
com.android.internal.telephony.PhoneSwitcher
@@ -4856,6 +7053,7 @@ com.android.internal.telephony.RIL$RilHandler
com.android.internal.telephony.RIL
com.android.internal.telephony.RILConstants
com.android.internal.telephony.RILRequest
+com.android.internal.telephony.RadioBugDetector
com.android.internal.telephony.RadioCapability
com.android.internal.telephony.RadioConfig$ServiceDeathRecipient
com.android.internal.telephony.RadioConfig
@@ -4865,10 +7063,18 @@ com.android.internal.telephony.RadioIndication
com.android.internal.telephony.RadioResponse
com.android.internal.telephony.RatRatcheter$1
com.android.internal.telephony.RatRatcheter
+com.android.internal.telephony.Registrant
+com.android.internal.telephony.RegistrantList
com.android.internal.telephony.RestrictedState
+com.android.internal.telephony.RetryManager$RetryRec
com.android.internal.telephony.RetryManager
com.android.internal.telephony.RilWakelockInfo
+com.android.internal.telephony.SMSDispatcher$DataSmsSender
com.android.internal.telephony.SMSDispatcher$SettingsObserver
+com.android.internal.telephony.SMSDispatcher$SmsSender
+com.android.internal.telephony.SMSDispatcher$SmsSenderCallback
+com.android.internal.telephony.SMSDispatcher$SmsTracker
+com.android.internal.telephony.SMSDispatcher$TextSmsSender
com.android.internal.telephony.SMSDispatcher
com.android.internal.telephony.ServiceStateTracker$1
com.android.internal.telephony.ServiceStateTracker$SstSubscriptionsChangedListener
@@ -4876,26 +7082,41 @@ com.android.internal.telephony.ServiceStateTracker
com.android.internal.telephony.SettingsObserver
com.android.internal.telephony.SimActivationTracker$1
com.android.internal.telephony.SimActivationTracker
+com.android.internal.telephony.SmsAddress
com.android.internal.telephony.SmsApplication$SmsApplicationData
com.android.internal.telephony.SmsApplication$SmsPackageMonitor
com.android.internal.telephony.SmsApplication
com.android.internal.telephony.SmsBroadcastUndelivered$1
+com.android.internal.telephony.SmsBroadcastUndelivered$2
com.android.internal.telephony.SmsBroadcastUndelivered$ScanRawTableThread
+com.android.internal.telephony.SmsBroadcastUndelivered$SmsReferenceKey
com.android.internal.telephony.SmsBroadcastUndelivered
+com.android.internal.telephony.SmsConstants$MessageClass
+com.android.internal.telephony.SmsController
com.android.internal.telephony.SmsDispatchersController$1
com.android.internal.telephony.SmsDispatchersController
+com.android.internal.telephony.SmsHeader$ConcatRef
+com.android.internal.telephony.SmsHeader$PortAddrs
+com.android.internal.telephony.SmsHeader
+com.android.internal.telephony.SmsMessageBase$SubmitPduBase
+com.android.internal.telephony.SmsMessageBase
+com.android.internal.telephony.SmsNumberUtils
+com.android.internal.telephony.SmsPermissions
+com.android.internal.telephony.SmsResponse
com.android.internal.telephony.SmsStorageMonitor$1
com.android.internal.telephony.SmsStorageMonitor
com.android.internal.telephony.SmsUsageMonitor$SettingsObserver
com.android.internal.telephony.SmsUsageMonitor$SettingsObserverHandler
com.android.internal.telephony.SmsUsageMonitor
-com.android.internal.telephony.SubscriptionController$ScLocalLog
+com.android.internal.telephony.SomeArgs
+com.android.internal.telephony.State
+com.android.internal.telephony.StateMachine$LogRecords
+com.android.internal.telephony.StateMachine$SmHandler
+com.android.internal.telephony.StateMachine
com.android.internal.telephony.SubscriptionController
com.android.internal.telephony.SubscriptionInfoUpdater$1
+com.android.internal.telephony.SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback
com.android.internal.telephony.SubscriptionInfoUpdater
-com.android.internal.telephony.SubscriptionMonitor$1
-com.android.internal.telephony.SubscriptionMonitor$2
-com.android.internal.telephony.SubscriptionMonitor
com.android.internal.telephony.TelephonyCapabilities
com.android.internal.telephony.TelephonyComponentFactory$InjectedComponents
com.android.internal.telephony.TelephonyComponentFactory
@@ -4903,10 +7124,16 @@ com.android.internal.telephony.TelephonyDevController
com.android.internal.telephony.TelephonyPermissions
com.android.internal.telephony.TelephonyTester$1
com.android.internal.telephony.TelephonyTester
+com.android.internal.telephony.TimeServiceHelper
+com.android.internal.telephony.TimeUtils
com.android.internal.telephony.TimeZoneLookupHelper$CountryResult
+com.android.internal.telephony.TimeZoneLookupHelper$OffsetResult
com.android.internal.telephony.TimeZoneLookupHelper
+com.android.internal.telephony.UUSInfo
com.android.internal.telephony.UiccPhoneBookController
-com.android.internal.telephony.UiccSmsController
+com.android.internal.telephony.VisualVoicemailSmsFilter$1
+com.android.internal.telephony.VisualVoicemailSmsFilter$PhoneAccountHandleConverter
+com.android.internal.telephony.VisualVoicemailSmsFilter
com.android.internal.telephony.WakeLockStateMachine$1
com.android.internal.telephony.WakeLockStateMachine$DefaultState
com.android.internal.telephony.WakeLockStateMachine$IdleState
@@ -4915,37 +7142,100 @@ com.android.internal.telephony.WakeLockStateMachine
com.android.internal.telephony.WapPushOverSms$1
com.android.internal.telephony.WapPushOverSms$BindServiceThread
com.android.internal.telephony.WapPushOverSms
+com.android.internal.telephony.cat.AppInterface$CommandType
com.android.internal.telephony.cat.AppInterface
+com.android.internal.telephony.cat.BIPClientParams
+com.android.internal.telephony.cat.BerTlv
+com.android.internal.telephony.cat.CallSetupParams
+com.android.internal.telephony.cat.CatCmdMessage$1
+com.android.internal.telephony.cat.CatCmdMessage
+com.android.internal.telephony.cat.CatException
com.android.internal.telephony.cat.CatLog
+com.android.internal.telephony.cat.CatResponseMessage
+com.android.internal.telephony.cat.CatService$1
com.android.internal.telephony.cat.CatService
+com.android.internal.telephony.cat.CommandDetails
+com.android.internal.telephony.cat.CommandParams
+com.android.internal.telephony.cat.CommandParamsFactory$1
+com.android.internal.telephony.cat.CommandParamsFactory
+com.android.internal.telephony.cat.ComprehensionTlv
+com.android.internal.telephony.cat.ComprehensionTlvTag
+com.android.internal.telephony.cat.DTTZResponseData
+com.android.internal.telephony.cat.DisplayTextParams
+com.android.internal.telephony.cat.IconLoader
+com.android.internal.telephony.cat.LanguageParams
+com.android.internal.telephony.cat.LanguageResponseData
+com.android.internal.telephony.cat.LaunchBrowserParams
+com.android.internal.telephony.cat.ResponseData
+com.android.internal.telephony.cat.ResultCode
+com.android.internal.telephony.cat.ResultException
+com.android.internal.telephony.cat.RilMessage
+com.android.internal.telephony.cat.RilMessageDecoder$StateCmdParamsReady
+com.android.internal.telephony.cat.RilMessageDecoder$StateStart
+com.android.internal.telephony.cat.RilMessageDecoder
+com.android.internal.telephony.cat.TextMessage
+com.android.internal.telephony.cat.ValueObject
+com.android.internal.telephony.cat.ValueParser
+com.android.internal.telephony.cdma.-$$Lambda$CdmaInboundSmsHandler$sD3UQ6e4SE9ZbPjDZ9bEr_XRoaA
+com.android.internal.telephony.cdma.CdmaCallWaitingNotification
+com.android.internal.telephony.cdma.CdmaInboundSmsHandler$CdmaCbTestBroadcastReceiver
+com.android.internal.telephony.cdma.CdmaInboundSmsHandler$CdmaScpTestBroadcastReceiver
com.android.internal.telephony.cdma.CdmaInboundSmsHandler
com.android.internal.telephony.cdma.CdmaSMSDispatcher
com.android.internal.telephony.cdma.CdmaServiceCategoryProgramHandler$1
com.android.internal.telephony.cdma.CdmaServiceCategoryProgramHandler
com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo
com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager
+com.android.internal.telephony.cdma.EriInfo
com.android.internal.telephony.cdma.EriManager$EriFile
com.android.internal.telephony.cdma.EriManager
+com.android.internal.telephony.cdma.SmsMessage
+com.android.internal.telephony.cdnr.CarrierDisplayNameData$1
+com.android.internal.telephony.cdnr.CarrierDisplayNameData$Builder
+com.android.internal.telephony.cdnr.CarrierDisplayNameData
+com.android.internal.telephony.cdnr.CarrierDisplayNameResolver$CarrierDisplayNameConditionRule
+com.android.internal.telephony.cdnr.CarrierDisplayNameResolver
+com.android.internal.telephony.dataconnection.-$$Lambda$DataConnection$-tFSpFGzTv_UdpzJlTMOvg8VO98
+com.android.internal.telephony.dataconnection.-$$Lambda$XZAGhHrbkIDyusER4MAM6luKcT0
com.android.internal.telephony.dataconnection.AccessNetworksManager$1
com.android.internal.telephony.dataconnection.AccessNetworksManager
com.android.internal.telephony.dataconnection.ApnContext
+com.android.internal.telephony.dataconnection.ApnSettingUtils
com.android.internal.telephony.dataconnection.CellularDataService$CellularDataServiceProvider$1
com.android.internal.telephony.dataconnection.CellularDataService$CellularDataServiceProvider
com.android.internal.telephony.dataconnection.CellularDataService
+com.android.internal.telephony.dataconnection.DataConnection$2
+com.android.internal.telephony.dataconnection.DataConnection$ConnectionParams
+com.android.internal.telephony.dataconnection.DataConnection$DcActivatingState
+com.android.internal.telephony.dataconnection.DataConnection$DcActiveState
+com.android.internal.telephony.dataconnection.DataConnection$DcDefaultState
+com.android.internal.telephony.dataconnection.DataConnection$DcDisconnectingState
+com.android.internal.telephony.dataconnection.DataConnection$DcDisconnectionErrorCreatingConnection
+com.android.internal.telephony.dataconnection.DataConnection$DcInactiveState
+com.android.internal.telephony.dataconnection.DataConnection$DisconnectParams
+com.android.internal.telephony.dataconnection.DataConnection$SetupResult
+com.android.internal.telephony.dataconnection.DataConnection$UpdateLinkPropertyResult
com.android.internal.telephony.dataconnection.DataConnection
com.android.internal.telephony.dataconnection.DataConnectionReasons$DataAllowedReasonType
com.android.internal.telephony.dataconnection.DataConnectionReasons$DataDisallowedReasonType
com.android.internal.telephony.dataconnection.DataConnectionReasons
+com.android.internal.telephony.dataconnection.DataEnabledOverride$OverrideConditions
+com.android.internal.telephony.dataconnection.DataEnabledOverride$OverrideRule
+com.android.internal.telephony.dataconnection.DataEnabledOverride
+com.android.internal.telephony.dataconnection.DataEnabledSettings$1
+com.android.internal.telephony.dataconnection.DataEnabledSettings$2
com.android.internal.telephony.dataconnection.DataEnabledSettings
+com.android.internal.telephony.dataconnection.DataServiceManager$1
com.android.internal.telephony.dataconnection.DataServiceManager$CellularDataServiceCallback
com.android.internal.telephony.dataconnection.DataServiceManager$CellularDataServiceConnection
com.android.internal.telephony.dataconnection.DataServiceManager$DataServiceManagerDeathRecipient
com.android.internal.telephony.dataconnection.DataServiceManager
com.android.internal.telephony.dataconnection.DcController$1
-com.android.internal.telephony.dataconnection.DcController$2
com.android.internal.telephony.dataconnection.DcController$DccDefaultState
com.android.internal.telephony.dataconnection.DcController
com.android.internal.telephony.dataconnection.DcFailBringUp
+com.android.internal.telephony.dataconnection.DcNetworkAgent$DcKeepaliveTracker
+com.android.internal.telephony.dataconnection.DcNetworkAgent
com.android.internal.telephony.dataconnection.DcRequest
com.android.internal.telephony.dataconnection.DcTesterDeactivateAll$1
com.android.internal.telephony.dataconnection.DcTesterDeactivateAll
@@ -4954,40 +7244,84 @@ com.android.internal.telephony.dataconnection.DcTesterFailBringUpAll
com.android.internal.telephony.dataconnection.DcTracker$1
com.android.internal.telephony.dataconnection.DcTracker$2
com.android.internal.telephony.dataconnection.DcTracker$3
+com.android.internal.telephony.dataconnection.DcTracker$4
+com.android.internal.telephony.dataconnection.DcTracker$5
+com.android.internal.telephony.dataconnection.DcTracker$6
com.android.internal.telephony.dataconnection.DcTracker$ApnChangeObserver
com.android.internal.telephony.dataconnection.DcTracker$DataStallRecoveryHandler
com.android.internal.telephony.dataconnection.DcTracker$DctOnSubscriptionsChangedListener
+com.android.internal.telephony.dataconnection.DcTracker$ProvisionNotificationBroadcastReceiver
com.android.internal.telephony.dataconnection.DcTracker$RetryFailures
com.android.internal.telephony.dataconnection.DcTracker$TxRxSum
com.android.internal.telephony.dataconnection.DcTracker
+com.android.internal.telephony.dataconnection.KeepaliveStatus$1
+com.android.internal.telephony.dataconnection.KeepaliveStatus
com.android.internal.telephony.dataconnection.TelephonyNetworkFactory$InternalHandler
com.android.internal.telephony.dataconnection.TelephonyNetworkFactory
+com.android.internal.telephony.dataconnection.TransportManager$HandoverParams
com.android.internal.telephony.dataconnection.TransportManager
+com.android.internal.telephony.emergency.EmergencyNumberTracker$1
com.android.internal.telephony.emergency.EmergencyNumberTracker
+com.android.internal.telephony.euicc.-$$Lambda$EuiccConnector$ConnectedState$4$S52i3hpE3-FGho807KZ1LR5rXQM
com.android.internal.telephony.euicc.EuiccCardController$SimSlotStatusChangedBroadcastReceiver
com.android.internal.telephony.euicc.EuiccCardController
com.android.internal.telephony.euicc.EuiccConnector$1
com.android.internal.telephony.euicc.EuiccConnector$AvailableState
+com.android.internal.telephony.euicc.EuiccConnector$BaseEuiccCommandCallback
com.android.internal.telephony.euicc.EuiccConnector$BindingState
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$10
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$11
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$12
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$13
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$14
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$1
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$2
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$3
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$4
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$5
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$6
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$7
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$8
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState$9
com.android.internal.telephony.euicc.EuiccConnector$ConnectedState
+com.android.internal.telephony.euicc.EuiccConnector$DeleteRequest
com.android.internal.telephony.euicc.EuiccConnector$DisconnectedState
+com.android.internal.telephony.euicc.EuiccConnector$DownloadRequest
com.android.internal.telephony.euicc.EuiccConnector$EuiccPackageMonitor
+com.android.internal.telephony.euicc.EuiccConnector$GetDefaultListRequest
+com.android.internal.telephony.euicc.EuiccConnector$GetEuiccProfileInfoListCommandCallback
+com.android.internal.telephony.euicc.EuiccConnector$GetMetadataRequest
+com.android.internal.telephony.euicc.EuiccConnector$SwitchRequest
com.android.internal.telephony.euicc.EuiccConnector$UnavailableState
+com.android.internal.telephony.euicc.EuiccConnector$UpdateNicknameRequest
com.android.internal.telephony.euicc.EuiccConnector
+com.android.internal.telephony.euicc.EuiccController$3
com.android.internal.telephony.euicc.EuiccController
com.android.internal.telephony.euicc.IEuiccCardController$Stub
com.android.internal.telephony.euicc.IEuiccCardController
+com.android.internal.telephony.euicc.IEuiccController$Stub$Proxy
com.android.internal.telephony.euicc.IEuiccController$Stub
com.android.internal.telephony.euicc.IEuiccController
com.android.internal.telephony.gsm.GsmCellBroadcastHandler
+com.android.internal.telephony.gsm.GsmInboundSmsHandler$GsmCbTestBroadcastReceiver
com.android.internal.telephony.gsm.GsmInboundSmsHandler
+com.android.internal.telephony.gsm.GsmMmiCode
com.android.internal.telephony.gsm.GsmSMSDispatcher
+com.android.internal.telephony.gsm.SimTlv
com.android.internal.telephony.gsm.SmsBroadcastConfigInfo
+com.android.internal.telephony.gsm.SmsMessage
+com.android.internal.telephony.gsm.SuppServiceNotification
com.android.internal.telephony.gsm.UsimDataDownloadHandler
+com.android.internal.telephony.gsm.UsimPhoneBookManager$File
+com.android.internal.telephony.gsm.UsimPhoneBookManager$PbrRecord
+com.android.internal.telephony.gsm.UsimPhoneBookManager
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$-jFhgP_NotuFSwzjQBXWuvls4x4
com.android.internal.telephony.ims.-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs
com.android.internal.telephony.ims.-$$Lambda$ImsResolver$VfY5To_kbbTJevLzywTg-_S1JhA
com.android.internal.telephony.ims.-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$kF808g2NWzNL8H1SwzDc1FxiQdQ
com.android.internal.telephony.ims.-$$Lambda$ImsResolver$pNx4XUM9FmR6cV_MCAGiEt8F4pg
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw
com.android.internal.telephony.ims.-$$Lambda$ImsServiceController$w3xbtqEhKr7IY81qFuw0e94p84Y
com.android.internal.telephony.ims.-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY
com.android.internal.telephony.ims.-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs
@@ -4998,10 +7332,13 @@ com.android.internal.telephony.ims.ImsResolver$4
com.android.internal.telephony.ims.ImsResolver$5
com.android.internal.telephony.ims.ImsResolver$6
com.android.internal.telephony.ims.ImsResolver$7
+com.android.internal.telephony.ims.ImsResolver$8
+com.android.internal.telephony.ims.ImsResolver$9
com.android.internal.telephony.ims.ImsResolver$ImsDynamicQueryManagerFactory
com.android.internal.telephony.ims.ImsResolver$ImsServiceControllerFactory
com.android.internal.telephony.ims.ImsResolver$ImsServiceInfo
com.android.internal.telephony.ims.ImsResolver$SubscriptionManagerProxy
+com.android.internal.telephony.ims.ImsResolver$TelephonyManagerProxy
com.android.internal.telephony.ims.ImsResolver
com.android.internal.telephony.ims.ImsServiceController$1
com.android.internal.telephony.ims.ImsServiceController$2
@@ -5013,8 +7350,14 @@ com.android.internal.telephony.ims.ImsServiceController$ImsServiceConnection
com.android.internal.telephony.ims.ImsServiceController$ImsServiceControllerCallbacks
com.android.internal.telephony.ims.ImsServiceController$RebindRetry
com.android.internal.telephony.ims.ImsServiceController
+com.android.internal.telephony.ims.ImsServiceFeatureQueryManager$ImsServiceFeatureQuery
com.android.internal.telephony.ims.ImsServiceFeatureQueryManager$Listener
com.android.internal.telephony.ims.ImsServiceFeatureQueryManager
+com.android.internal.telephony.ims.RcsEventQueryHelper
+com.android.internal.telephony.ims.RcsMessageController
+com.android.internal.telephony.ims.RcsMessageQueryHelper
+com.android.internal.telephony.ims.RcsMessageStoreUtil
+com.android.internal.telephony.ims.RcsParticipantQueryHelper
com.android.internal.telephony.imsphone.-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54
com.android.internal.telephony.imsphone.-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg
com.android.internal.telephony.imsphone.ImsExternalCallTracker$1
@@ -5024,9 +7367,14 @@ com.android.internal.telephony.imsphone.ImsExternalCallTracker$ExternalConnectio
com.android.internal.telephony.imsphone.ImsExternalCallTracker$ImsCallNotify
com.android.internal.telephony.imsphone.ImsExternalCallTracker
com.android.internal.telephony.imsphone.ImsExternalConnection$Listener
+com.android.internal.telephony.imsphone.ImsExternalConnection
com.android.internal.telephony.imsphone.ImsPhone$1
com.android.internal.telephony.imsphone.ImsPhone$2
com.android.internal.telephony.imsphone.ImsPhone$3
+com.android.internal.telephony.imsphone.ImsPhone$4
+com.android.internal.telephony.imsphone.ImsPhone$5
+com.android.internal.telephony.imsphone.ImsPhone$Cf
+com.android.internal.telephony.imsphone.ImsPhone$ImsDialArgs$Builder
com.android.internal.telephony.imsphone.ImsPhone
com.android.internal.telephony.imsphone.ImsPhoneBase
com.android.internal.telephony.imsphone.ImsPhoneCall
@@ -5046,92 +7394,234 @@ com.android.internal.telephony.imsphone.ImsPhoneCallTracker$PhoneStateListener
com.android.internal.telephony.imsphone.ImsPhoneCallTracker$SharedPreferenceProxy
com.android.internal.telephony.imsphone.ImsPhoneCallTracker
com.android.internal.telephony.imsphone.ImsPhoneCommandInterface
+com.android.internal.telephony.imsphone.ImsPhoneConnection
com.android.internal.telephony.imsphone.ImsPhoneFactory
+com.android.internal.telephony.imsphone.ImsPhoneMmiCode
com.android.internal.telephony.imsphone.ImsPullCall
+com.android.internal.telephony.metrics.-$$Lambda$TelephonyMetrics$fLmZDbNadlr6LF7zSJ6jCR1AAsk
+com.android.internal.telephony.metrics.-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY
+com.android.internal.telephony.metrics.-$$Lambda$TelephonyMetrics$x2dJi76S2YQdpSTfY8RZ8qC_K6g
com.android.internal.telephony.metrics.CallSessionEventBuilder
com.android.internal.telephony.metrics.InProgressCallSession
com.android.internal.telephony.metrics.InProgressSmsSession
+com.android.internal.telephony.metrics.ModemPowerMetrics
com.android.internal.telephony.metrics.SmsSessionEventBuilder
com.android.internal.telephony.metrics.TelephonyEventBuilder
+com.android.internal.telephony.metrics.TelephonyMetrics$1
com.android.internal.telephony.metrics.TelephonyMetrics
com.android.internal.telephony.nano.CarrierIdProto$CarrierAttribute
com.android.internal.telephony.nano.CarrierIdProto$CarrierId
com.android.internal.telephony.nano.CarrierIdProto$CarrierList
com.android.internal.telephony.nano.TelephonyProto$ActiveSubscriptionInfo
+com.android.internal.telephony.nano.TelephonyProto$EmergencyNumberInfo
com.android.internal.telephony.nano.TelephonyProto$ImsCapabilities
com.android.internal.telephony.nano.TelephonyProto$ImsConnectionState
com.android.internal.telephony.nano.TelephonyProto$ImsReasonInfo
+com.android.internal.telephony.nano.TelephonyProto$ModemPowerStats
com.android.internal.telephony.nano.TelephonyProto$RilDataCall
com.android.internal.telephony.nano.TelephonyProto$SmsSession$Event
+com.android.internal.telephony.nano.TelephonyProto$SmsSession
com.android.internal.telephony.nano.TelephonyProto$TelephonyCallSession$Event$RilCall
com.android.internal.telephony.nano.TelephonyProto$TelephonyCallSession$Event
+com.android.internal.telephony.nano.TelephonyProto$TelephonyCallSession
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$CarrierIdMatching
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$CarrierIdMatchingResult
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$DataSwitch
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$NetworkCapabilitiesInfo
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$OnDemandDataSwitch
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$RilDeactivateDataCall
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$RilSetupDataCall
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent$RilSetupDataCallResponse
com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent
+com.android.internal.telephony.nano.TelephonyProto$TelephonyHistogram
+com.android.internal.telephony.nano.TelephonyProto$TelephonyLog
com.android.internal.telephony.nano.TelephonyProto$TelephonyServiceState$TelephonyOperator
com.android.internal.telephony.nano.TelephonyProto$TelephonyServiceState
+com.android.internal.telephony.nano.TelephonyProto$TelephonySettings
+com.android.internal.telephony.nano.TelephonyProto$Time
+com.android.internal.telephony.nitz.NewNitzStateMachineImpl
com.android.internal.telephony.protobuf.nano.CodedInputByteBufferNano
+com.android.internal.telephony.protobuf.nano.CodedOutputByteBufferNano$OutOfSpaceException
com.android.internal.telephony.protobuf.nano.CodedOutputByteBufferNano
com.android.internal.telephony.protobuf.nano.ExtendableMessageNano
+com.android.internal.telephony.protobuf.nano.FieldArray
+com.android.internal.telephony.protobuf.nano.FieldData
com.android.internal.telephony.protobuf.nano.InternalNano
com.android.internal.telephony.protobuf.nano.InvalidProtocolBufferNanoException
com.android.internal.telephony.protobuf.nano.MessageNano
+com.android.internal.telephony.protobuf.nano.MessageNanoPrinter
com.android.internal.telephony.protobuf.nano.WireFormatNano
+com.android.internal.telephony.sip.SipPhone
+com.android.internal.telephony.sip.SipPhoneBase
com.android.internal.telephony.test.SimulatedRadioControl
+com.android.internal.telephony.uicc.AdnRecord$1
+com.android.internal.telephony.uicc.AdnRecord
+com.android.internal.telephony.uicc.AdnRecordCache
+com.android.internal.telephony.uicc.AdnRecordLoader
com.android.internal.telephony.uicc.AnswerToReset$HistoricalBytes
com.android.internal.telephony.uicc.AnswerToReset$InterfaceByte
com.android.internal.telephony.uicc.AnswerToReset
+com.android.internal.telephony.uicc.CarrierTestOverride
+com.android.internal.telephony.uicc.CsimFileHandler
com.android.internal.telephony.uicc.IccCardApplicationStatus$AppState
com.android.internal.telephony.uicc.IccCardApplicationStatus$AppType
+com.android.internal.telephony.uicc.IccCardApplicationStatus$PersoSubState
com.android.internal.telephony.uicc.IccCardApplicationStatus
com.android.internal.telephony.uicc.IccCardStatus$CardState
com.android.internal.telephony.uicc.IccCardStatus$PinState
com.android.internal.telephony.uicc.IccCardStatus
com.android.internal.telephony.uicc.IccConstants
+com.android.internal.telephony.uicc.IccException
+com.android.internal.telephony.uicc.IccFileHandler$LoadLinearFixedContext
+com.android.internal.telephony.uicc.IccFileHandler
+com.android.internal.telephony.uicc.IccFileNotFound
+com.android.internal.telephony.uicc.IccFileTypeMismatch
com.android.internal.telephony.uicc.IccIoResult
+com.android.internal.telephony.uicc.IccRecords$IccRecordLoaded
com.android.internal.telephony.uicc.IccRecords
+com.android.internal.telephony.uicc.IccRefreshResponse
+com.android.internal.telephony.uicc.IccServiceTable
com.android.internal.telephony.uicc.IccSlotStatus$SlotState
com.android.internal.telephony.uicc.IccSlotStatus
com.android.internal.telephony.uicc.IccUtils
+com.android.internal.telephony.uicc.IccVmNotSupportedException
+com.android.internal.telephony.uicc.InstallCarrierAppTrampolineActivity
com.android.internal.telephony.uicc.InstallCarrierAppUtils
+com.android.internal.telephony.uicc.IsimFileHandler
+com.android.internal.telephony.uicc.IsimRecords
+com.android.internal.telephony.uicc.IsimUiccRecords$EfIsimDomainLoaded
+com.android.internal.telephony.uicc.IsimUiccRecords$EfIsimImpiLoaded
+com.android.internal.telephony.uicc.IsimUiccRecords$EfIsimImpuLoaded
+com.android.internal.telephony.uicc.IsimUiccRecords$EfIsimIstLoaded
+com.android.internal.telephony.uicc.IsimUiccRecords$EfIsimPcscfLoaded
+com.android.internal.telephony.uicc.IsimUiccRecords
+com.android.internal.telephony.uicc.PlmnActRecord$1
+com.android.internal.telephony.uicc.PlmnActRecord
+com.android.internal.telephony.uicc.RuimFileHandler
+com.android.internal.telephony.uicc.RuimRecords
+com.android.internal.telephony.uicc.SIMFileHandler
+com.android.internal.telephony.uicc.SIMRecords$1
+com.android.internal.telephony.uicc.SIMRecords$EfPlLoaded
+com.android.internal.telephony.uicc.SIMRecords$EfUsimLiLoaded
+com.android.internal.telephony.uicc.SIMRecords$GetSpnFsmState
+com.android.internal.telephony.uicc.SIMRecords
com.android.internal.telephony.uicc.UiccCard
+com.android.internal.telephony.uicc.UiccCardApplication$1
+com.android.internal.telephony.uicc.UiccCardApplication$2
com.android.internal.telephony.uicc.UiccCardApplication
+com.android.internal.telephony.uicc.UiccCarrierPrivilegeRules$1
+com.android.internal.telephony.uicc.UiccCarrierPrivilegeRules$TLV
com.android.internal.telephony.uicc.UiccCarrierPrivilegeRules
com.android.internal.telephony.uicc.UiccController$1
com.android.internal.telephony.uicc.UiccController
+com.android.internal.telephony.uicc.UiccPkcs15$FileHandler
+com.android.internal.telephony.uicc.UiccPkcs15$Pkcs15Selector
+com.android.internal.telephony.uicc.UiccPkcs15
+com.android.internal.telephony.uicc.UiccProfile$1
com.android.internal.telephony.uicc.UiccProfile$2
com.android.internal.telephony.uicc.UiccProfile$3
+com.android.internal.telephony.uicc.UiccProfile$4
+com.android.internal.telephony.uicc.UiccProfile$5
com.android.internal.telephony.uicc.UiccProfile
com.android.internal.telephony.uicc.UiccSlot
com.android.internal.telephony.uicc.UiccStateChangedLauncher
+com.android.internal.telephony.uicc.UsimFileHandler
+com.android.internal.telephony.uicc.UsimServiceTable$UsimService
+com.android.internal.telephony.uicc.UsimServiceTable
+com.android.internal.telephony.uicc.VoiceMailConstants
+com.android.internal.telephony.uicc.asn1.InvalidAsn1DataException
+com.android.internal.telephony.uicc.asn1.TagNotFoundException
+com.android.internal.telephony.uicc.euicc.EuiccCard
+com.android.internal.telephony.uicc.euicc.EuiccSpecVersion
+com.android.internal.telephony.util.ArrayUtils
com.android.internal.telephony.util.NotificationChannelController$1
com.android.internal.telephony.util.NotificationChannelController
+com.android.internal.telephony.util.SMSDispatcherUtil
+com.android.internal.telephony.util.TelephonyUtils
com.android.internal.telephony.util.VoicemailNotificationSettingsUtil
+com.android.internal.telephony.util.XmlUtils
+com.android.internal.textservice.ISpellCheckerService$Stub$Proxy
+com.android.internal.textservice.ISpellCheckerService$Stub
+com.android.internal.textservice.ISpellCheckerService
+com.android.internal.textservice.ISpellCheckerServiceCallback$Stub
+com.android.internal.textservice.ISpellCheckerServiceCallback
com.android.internal.textservice.ISpellCheckerSession$Stub$Proxy
+com.android.internal.textservice.ISpellCheckerSession$Stub
com.android.internal.textservice.ISpellCheckerSession
+com.android.internal.textservice.ISpellCheckerSessionListener$Stub$Proxy
com.android.internal.textservice.ISpellCheckerSessionListener$Stub
com.android.internal.textservice.ISpellCheckerSessionListener
com.android.internal.textservice.ITextServicesManager$Stub$Proxy
com.android.internal.textservice.ITextServicesManager$Stub
com.android.internal.textservice.ITextServicesManager
+com.android.internal.textservice.ITextServicesSessionListener$Stub$Proxy
com.android.internal.textservice.ITextServicesSessionListener$Stub
com.android.internal.textservice.ITextServicesSessionListener
com.android.internal.transition.EpicenterTranslateClipReveal
+com.android.internal.util.-$$Lambda$DumpUtils$D1OlZP6xIpu72ypnJd0fzx0wd6I
+com.android.internal.util.-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0
+com.android.internal.util.-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg
+com.android.internal.util.-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U
+com.android.internal.util.-$$Lambda$JwOUSWW2-Jzu15y4Kn4JuPh8tWM
+com.android.internal.util.-$$Lambda$TCbPpgWlKJUHZgFKCczglAvxLfw
+com.android.internal.util.-$$Lambda$eRa1rlfDk6Og2yFeXGHqUGPzRF0
+com.android.internal.util.-$$Lambda$grRTg3idX3yJe9Zyx-tmLBiD1DM
+com.android.internal.util.-$$Lambda$kVylv1rl9MOSbHFZoVyK5dl1kfY
com.android.internal.util.ArrayUtils
+com.android.internal.util.AsyncChannel$AsyncChannelConnection
+com.android.internal.util.AsyncChannel$DeathMonitor
+com.android.internal.util.AsyncChannel$SyncMessenger$SyncHandler
+com.android.internal.util.AsyncChannel$SyncMessenger
com.android.internal.util.AsyncChannel
com.android.internal.util.BitUtils
+com.android.internal.util.BitwiseInputStream$AccessException
com.android.internal.util.CollectionUtils
+com.android.internal.util.ConcurrentUtils$1$1
+com.android.internal.util.ConcurrentUtils$1
+com.android.internal.util.ConcurrentUtils$DirectExecutor
+com.android.internal.util.ConcurrentUtils
+com.android.internal.util.ContrastColorUtil$ColorUtilsFromCompat
+com.android.internal.util.ContrastColorUtil
+com.android.internal.util.DumpUtils$Dump
+com.android.internal.util.DumpUtils
com.android.internal.util.ExponentiallyBucketedHistogram
com.android.internal.util.FastMath
com.android.internal.util.FastPrintWriter$DummyWriter
com.android.internal.util.FastPrintWriter
com.android.internal.util.FastXmlSerializer
+com.android.internal.util.FileRotator$FileInfo
+com.android.internal.util.FileRotator$Reader
+com.android.internal.util.FileRotator$Rewriter
+com.android.internal.util.FileRotator$Writer
+com.android.internal.util.FileRotator
+com.android.internal.util.FunctionalUtils$RemoteExceptionIgnoringConsumer
+com.android.internal.util.FunctionalUtils$ThrowingConsumer
com.android.internal.util.FunctionalUtils$ThrowingRunnable
com.android.internal.util.FunctionalUtils$ThrowingSupplier
+com.android.internal.util.FunctionalUtils
com.android.internal.util.GrowingArrayUtils
+com.android.internal.util.HexDump
com.android.internal.util.IState
+com.android.internal.util.IndentingPrintWriter
com.android.internal.util.IntPair
+com.android.internal.util.JournaledFile
+com.android.internal.util.LatencyTracker$1
+com.android.internal.util.LatencyTracker
com.android.internal.util.LineBreakBufferedWriter
+com.android.internal.util.LocalLog
com.android.internal.util.MemInfoReader
+com.android.internal.util.MessageUtils$DuplicateConstantError
+com.android.internal.util.MessageUtils
+com.android.internal.util.NotificationMessagingUtil$1
+com.android.internal.util.NotificationMessagingUtil
+com.android.internal.util.ObjectUtils
+com.android.internal.util.ParseUtils
com.android.internal.util.Preconditions
+com.android.internal.util.ProcFileReader
+com.android.internal.util.ProgressReporter
+com.android.internal.util.RingBuffer
+com.android.internal.util.RingBufferIndices
+com.android.internal.util.ScreenshotHelper
com.android.internal.util.StatLogger
com.android.internal.util.State
com.android.internal.util.StateMachine$LogRec
@@ -5141,24 +7631,43 @@ com.android.internal.util.StateMachine$SmHandler$QuittingState
com.android.internal.util.StateMachine$SmHandler$StateInfo
com.android.internal.util.StateMachine$SmHandler
com.android.internal.util.StateMachine
+com.android.internal.util.SyncResultReceiver$TimeoutException
com.android.internal.util.SyncResultReceiver
+com.android.internal.util.ToBooleanFunction
+com.android.internal.util.TokenBucket
+com.android.internal.util.UserIcons
com.android.internal.util.VirtualRefBasePtr
+com.android.internal.util.WakeupMessage
+com.android.internal.util.XmlUtils$ReadMapCallback
com.android.internal.util.XmlUtils$WriteMapCallback
com.android.internal.util.XmlUtils
+com.android.internal.util.function.DecConsumer
+com.android.internal.util.function.DecFunction
+com.android.internal.util.function.DecPredicate
com.android.internal.util.function.HeptConsumer
com.android.internal.util.function.HeptFunction
+com.android.internal.util.function.HeptPredicate
com.android.internal.util.function.HexConsumer
com.android.internal.util.function.HexFunction
+com.android.internal.util.function.HexPredicate
com.android.internal.util.function.NonaConsumer
com.android.internal.util.function.NonaFunction
+com.android.internal.util.function.NonaPredicate
com.android.internal.util.function.OctConsumer
com.android.internal.util.function.OctFunction
+com.android.internal.util.function.OctPredicate
com.android.internal.util.function.QuadConsumer
com.android.internal.util.function.QuadFunction
+com.android.internal.util.function.QuadPredicate
com.android.internal.util.function.QuintConsumer
com.android.internal.util.function.QuintFunction
+com.android.internal.util.function.QuintPredicate
com.android.internal.util.function.TriConsumer
com.android.internal.util.function.TriFunction
+com.android.internal.util.function.TriPredicate
+com.android.internal.util.function.UndecConsumer
+com.android.internal.util.function.UndecFunction
+com.android.internal.util.function.UndecPredicate
com.android.internal.util.function.pooled.ArgumentPlaceholder
com.android.internal.util.function.pooled.OmniFunction
com.android.internal.util.function.pooled.PooledConsumer
@@ -5174,13 +7683,21 @@ com.android.internal.util.function.pooled.PooledSupplier$OfInt
com.android.internal.util.function.pooled.PooledSupplier$OfLong
com.android.internal.util.function.pooled.PooledSupplier
com.android.internal.view.ActionBarPolicy
+com.android.internal.view.AppearanceRegion
+com.android.internal.view.BaseIWindow
+com.android.internal.view.BaseSurfaceHolder
com.android.internal.view.IInputConnectionWrapper$MyHandler
com.android.internal.view.IInputConnectionWrapper
+com.android.internal.view.IInputContext$Stub$Proxy
com.android.internal.view.IInputContext$Stub
com.android.internal.view.IInputContext
com.android.internal.view.IInputContextCallback$Stub$Proxy
com.android.internal.view.IInputContextCallback$Stub
com.android.internal.view.IInputContextCallback
+com.android.internal.view.IInputMethod$Stub$Proxy
+com.android.internal.view.IInputMethod$Stub
+com.android.internal.view.IInputMethod
+com.android.internal.view.IInputMethodClient$Stub$Proxy
com.android.internal.view.IInputMethodClient$Stub
com.android.internal.view.IInputMethodClient
com.android.internal.view.IInputMethodManager$Stub$Proxy
@@ -5189,26 +7706,42 @@ com.android.internal.view.IInputMethodManager
com.android.internal.view.IInputMethodSession$Stub$Proxy
com.android.internal.view.IInputMethodSession$Stub
com.android.internal.view.IInputMethodSession
+com.android.internal.view.IInputSessionCallback$Stub$Proxy
+com.android.internal.view.IInputSessionCallback$Stub
+com.android.internal.view.IInputSessionCallback
com.android.internal.view.InputBindResult$1
com.android.internal.view.InputBindResult
+com.android.internal.view.InputConnectionWrapper$InputContextCallback
+com.android.internal.view.InputConnectionWrapper
+com.android.internal.view.OneShotPreDrawListener
com.android.internal.view.RootViewSurfaceTaker
+com.android.internal.view.RotationPolicy$1
+com.android.internal.view.RotationPolicy$RotationPolicyListener
com.android.internal.view.RotationPolicy
com.android.internal.view.SurfaceCallbackHelper$1
com.android.internal.view.SurfaceCallbackHelper
+com.android.internal.view.TooltipPopup
+com.android.internal.view.WindowManagerPolicyThread
com.android.internal.view.animation.FallbackLUTInterpolator
com.android.internal.view.animation.HasNativeInterpolator
com.android.internal.view.animation.NativeInterpolatorFactory
com.android.internal.view.animation.NativeInterpolatorFactoryHelper
com.android.internal.view.menu.ActionMenuItem
+com.android.internal.view.menu.ActionMenuItemView$ActionMenuItemForwardingListener
+com.android.internal.view.menu.ActionMenuItemView$PopupCallback
+com.android.internal.view.menu.ActionMenuItemView
com.android.internal.view.menu.BaseMenuPresenter
+com.android.internal.view.menu.ContextMenuBuilder
com.android.internal.view.menu.MenuBuilder$Callback
com.android.internal.view.menu.MenuBuilder$ItemInvoker
com.android.internal.view.menu.MenuBuilder
com.android.internal.view.menu.MenuHelper
com.android.internal.view.menu.MenuItemImpl
+com.android.internal.view.menu.MenuPopupHelper$1
com.android.internal.view.menu.MenuPopupHelper
com.android.internal.view.menu.MenuPresenter$Callback
com.android.internal.view.menu.MenuPresenter
+com.android.internal.view.menu.MenuView$ItemView
com.android.internal.view.menu.MenuView
com.android.internal.view.menu.ShowableListMenu
com.android.internal.widget.AbsActionBarView$VisibilityAnimListener
@@ -5223,18 +7756,31 @@ com.android.internal.widget.ActionBarOverlayLayout$4
com.android.internal.widget.ActionBarOverlayLayout$5
com.android.internal.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback
com.android.internal.widget.ActionBarOverlayLayout$LayoutParams
+com.android.internal.widget.ActionBarOverlayLayout
com.android.internal.widget.BackgroundFallback
+com.android.internal.widget.DecorCaptionView
com.android.internal.widget.DecorContentParent
com.android.internal.widget.DecorToolbar
com.android.internal.widget.DialogTitle
com.android.internal.widget.EditableInputConnection
+com.android.internal.widget.FloatingToolbar
+com.android.internal.widget.ICheckCredentialProgressCallback$Stub$Proxy
+com.android.internal.widget.ICheckCredentialProgressCallback$Stub
+com.android.internal.widget.ICheckCredentialProgressCallback
com.android.internal.widget.ILockSettings$Stub$Proxy
com.android.internal.widget.ILockSettings$Stub
com.android.internal.widget.ILockSettings
+com.android.internal.widget.LockPatternUtils$StrongAuthTracker$1
+com.android.internal.widget.LockPatternUtils$StrongAuthTracker$H
+com.android.internal.widget.LockPatternUtils$StrongAuthTracker
com.android.internal.widget.LockPatternUtils
+com.android.internal.widget.LockSettingsInternal
+com.android.internal.widget.LockscreenCredential
com.android.internal.widget.ScrollBarUtils
com.android.internal.widget.ToolbarWidgetWrapper$1
com.android.internal.widget.ToolbarWidgetWrapper
+com.android.internal.widget.VerifyCredentialResponse$1
+com.android.internal.widget.VerifyCredentialResponse
com.android.okhttp.Address
com.android.okhttp.AndroidShimResponseCache
com.android.okhttp.Authenticator
@@ -5334,7 +7880,10 @@ com.android.okhttp.internal.io.RealConnection
com.android.okhttp.internal.tls.OkHostnameVerifier
com.android.okhttp.internal.tls.RealTrustRootIndex
com.android.okhttp.internal.tls.TrustRootIndex
+com.android.okhttp.internalandroidapi.Dns
com.android.okhttp.internalandroidapi.HasCacheHolder
+com.android.okhttp.internalandroidapi.HttpURLConnectionFactory$DnsAdapter
+com.android.okhttp.internalandroidapi.HttpURLConnectionFactory
com.android.okhttp.okio.AsyncTimeout$1
com.android.okhttp.okio.AsyncTimeout$2
com.android.okhttp.okio.AsyncTimeout$Watchdog
@@ -5399,6 +7948,7 @@ com.android.org.bouncycastle.asn1.nist.NISTObjectIdentifiers
com.android.org.bouncycastle.asn1.oiw.OIWObjectIdentifiers
com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier
+com.android.org.bouncycastle.asn1.x509.DSAParameter
com.android.org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
com.android.org.bouncycastle.asn1.x509.X509ObjectIdentifiers
com.android.org.bouncycastle.asn1.x9.X9ECParameters
@@ -5456,8 +8006,10 @@ com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi
com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding
com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi
com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi
+com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil
com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi
com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseKeyFactorySpi
+com.android.org.bouncycastle.jcajce.provider.asymmetric.util.KeyUtil
com.android.org.bouncycastle.jcajce.provider.config.ConfigurableProvider
com.android.org.bouncycastle.jcajce.provider.config.ProviderConfiguration
com.android.org.bouncycastle.jcajce.provider.config.ProviderConfigurationPermission
@@ -5527,11 +8079,15 @@ com.android.org.bouncycastle.jce.provider.BouncyCastleProvider$1
com.android.org.bouncycastle.jce.provider.BouncyCastleProvider
com.android.org.bouncycastle.jce.provider.BouncyCastleProviderConfiguration
com.android.org.bouncycastle.jce.provider.CertStoreCollectionSpi
+com.android.org.bouncycastle.jce.spec.ECKeySpec
+com.android.org.bouncycastle.jce.spec.ECPublicKeySpec
com.android.org.bouncycastle.util.Arrays
com.android.org.bouncycastle.util.Encodable
com.android.org.bouncycastle.util.Integers
com.android.org.bouncycastle.util.Iterable
com.android.org.bouncycastle.util.Pack
+com.android.org.bouncycastle.util.Properties$1
+com.android.org.bouncycastle.util.Properties
com.android.org.bouncycastle.util.Strings$1
com.android.org.bouncycastle.util.Strings
com.android.org.bouncycastle.util.encoders.Encoder
@@ -5550,14 +8106,49 @@ com.android.phone.ecc.nano.ProtobufEccData$AllInfo
com.android.phone.ecc.nano.ProtobufEccData$CountryInfo
com.android.phone.ecc.nano.ProtobufEccData$EccInfo
com.android.phone.ecc.nano.WireFormatNano
+com.android.server.AppWidgetBackupBridge
+com.android.server.BootReceiver$1
+com.android.server.BootReceiver
+com.android.server.LocalServices
com.android.server.NetworkManagementSocketTagger$1
com.android.server.NetworkManagementSocketTagger$SocketTags
com.android.server.NetworkManagementSocketTagger
com.android.server.SystemConfig$PermissionEntry
com.android.server.SystemConfig$SharedLibraryEntry
com.android.server.SystemConfig
+com.android.server.WidgetBackupProvider
+com.android.server.backup.AccountManagerBackupHelper
+com.android.server.backup.AccountSyncSettingsBackupHelper
+com.android.server.backup.NotificationBackupHelper
+com.android.server.backup.PermissionBackupHelper
+com.android.server.backup.PreferredActivityBackupHelper
+com.android.server.backup.ShortcutBackupHelper
+com.android.server.backup.SliceBackupHelper
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$ApfProgramEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$ApfStatistics
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$ConnectStatistics
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$DHCPEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$DNSLookupBatch
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$DefaultNetworkEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$IpConnectivityEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$IpConnectivityLog
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$IpProvisioningEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$IpReachabilityEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$NetworkEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$Pair
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$RaEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$ValidationProbeEvent
+com.android.server.connectivity.metrics.nano.IpConnectivityLogClass$WakeupStats
+com.android.server.net.BaseNetdEventCallback
+com.android.server.net.BaseNetworkObserver
+com.android.server.sip.SipService$ConnectivityReceiver
+com.android.server.sip.SipService$MyExecutor
com.android.server.sip.SipService
+com.android.server.sip.SipWakeLock
+com.android.server.sip.SipWakeupTimer$MyEventComparator
com.android.server.sip.SipWakeupTimer
+com.android.server.wifi.BaseWifiService
+com.android.server.wm.nano.WindowManagerProtos$TaskSnapshotProto
com.google.android.collect.Lists
com.google.android.collect.Maps
com.google.android.collect.Sets
@@ -5568,6 +8159,17 @@ com.google.android.gles_jni.EGLImpl
com.google.android.gles_jni.EGLSurfaceImpl
com.google.android.gles_jni.GLImpl
com.google.android.mms.MmsException
+com.google.android.rappor.Encoder
+com.google.android.rappor.HmacDrbg
+com.google.android.textclassifier.ActionsSuggestionsModel$ActionSuggestion
+com.google.android.textclassifier.ActionsSuggestionsModel$Conversation
+com.google.android.textclassifier.ActionsSuggestionsModel$ConversationMessage
+com.google.android.textclassifier.ActionsSuggestionsModel
+com.google.android.textclassifier.AnnotatorModel
+com.google.android.textclassifier.LangIdModel$LanguageResult
+com.google.android.textclassifier.LangIdModel
+com.google.android.textclassifier.NamedVariant
+com.google.android.textclassifier.RemoteActionTemplate
com.sun.security.cert.internal.x509.X509V1CertImpl
dalvik.annotation.optimization.CriticalNative
dalvik.annotation.optimization.FastNative
@@ -5609,6 +8211,7 @@ dalvik.system.VMRuntime$HiddenApiUsageLogger
dalvik.system.VMRuntime
dalvik.system.VMStack
dalvik.system.ZygoteHooks
+java.io.-$$Lambda$ObjectStreamClass$GVMp_c-BEBrBo_ZKh_HiLSO-fGo
java.io.Bits
java.io.BufferedInputStream
java.io.BufferedOutputStream
@@ -5616,6 +8219,7 @@ java.io.BufferedReader
java.io.BufferedWriter
java.io.ByteArrayInputStream
java.io.ByteArrayOutputStream
+java.io.CharArrayReader
java.io.CharArrayWriter
java.io.Closeable
java.io.Console
@@ -5673,6 +8277,7 @@ java.io.ObjectStreamClass$4
java.io.ObjectStreamClass$5
java.io.ObjectStreamClass$Caches
java.io.ObjectStreamClass$ClassDataSlot
+java.io.ObjectStreamClass$DefaultSUIDCompatibilityListener
java.io.ObjectStreamClass$EntryFuture
java.io.ObjectStreamClass$ExceptionInfo
java.io.ObjectStreamClass$FieldReflector
@@ -6003,6 +8608,7 @@ java.net.InterfaceAddress
java.net.JarURLConnection
java.net.MalformedURLException
java.net.MulticastSocket
+java.net.NetPermission
java.net.NetworkInterface$1checkedAddresses
java.net.NetworkInterface
java.net.NoRouteToHostException
@@ -6024,9 +8630,11 @@ java.net.Socket
java.net.SocketAddress
java.net.SocketException
java.net.SocketImpl
+java.net.SocketImplFactory
java.net.SocketInputStream
java.net.SocketOptions
java.net.SocketOutputStream
+java.net.SocketPermission
java.net.SocketTimeoutException
java.net.SocksConsts
java.net.SocksSocketImpl
@@ -6106,10 +8714,8 @@ java.nio.channels.spi.SelectorProvider
java.nio.charset.CharacterCodingException
java.nio.charset.Charset
java.nio.charset.CharsetDecoder
-java.nio.charset.CharsetDecoderICU
java.nio.charset.CharsetEncoder
-java.nio.charset.CharsetEncoderICU
-java.nio.charset.CharsetICU
+java.nio.charset.CoderMalfunctionError
java.nio.charset.CoderResult$1
java.nio.charset.CoderResult$2
java.nio.charset.CoderResult$Cache
@@ -6120,12 +8726,15 @@ java.nio.charset.StandardCharsets
java.nio.charset.UnsupportedCharsetException
java.nio.file.AccessMode
java.nio.file.CopyOption
+java.nio.file.DirectoryStream$Filter
+java.nio.file.DirectoryStream
java.nio.file.FileAlreadyExistsException
java.nio.file.FileSystem
java.nio.file.FileSystemException
java.nio.file.FileSystems$DefaultFileSystemHolder$1
java.nio.file.FileSystems$DefaultFileSystemHolder
java.nio.file.FileSystems
+java.nio.file.Files$AcceptAllFilter
java.nio.file.Files
java.nio.file.LinkOption
java.nio.file.NoSuchFileException
@@ -6148,6 +8757,7 @@ java.security.AccessController
java.security.AlgorithmConstraints
java.security.AlgorithmParameters
java.security.AlgorithmParametersSpi
+java.security.AllPermission
java.security.BasicPermission
java.security.CodeSigner
java.security.CryptoPrimitive
@@ -6199,6 +8809,7 @@ java.security.PublicKey
java.security.SecureRandom
java.security.SecureRandomSpi
java.security.Security
+java.security.SecurityPermission
java.security.Signature$Delegate
java.security.Signature
java.security.SignatureException
@@ -6256,6 +8867,7 @@ java.security.interfaces.RSAPrivateKey
java.security.interfaces.RSAPublicKey
java.security.spec.AlgorithmParameterSpec
java.security.spec.DSAParameterSpec
+java.security.spec.DSAPublicKeySpec
java.security.spec.ECField
java.security.spec.ECFieldFp
java.security.spec.ECParameterSpec
@@ -6269,6 +8881,7 @@ java.security.spec.InvalidParameterSpecException
java.security.spec.KeySpec
java.security.spec.MGF1ParameterSpec
java.security.spec.PKCS8EncodedKeySpec
+java.security.spec.PSSParameterSpec
java.security.spec.RSAPrivateCrtKeySpec
java.security.spec.RSAPrivateKeySpec
java.security.spec.RSAPublicKeySpec
@@ -6307,6 +8920,7 @@ java.text.RuleBasedCollator
java.text.SimpleDateFormat
java.text.StringCharacterIterator
java.time.-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A
+java.time.-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA
java.time.Clock$SystemClock
java.time.Clock
java.time.DateTimeException
@@ -6385,6 +8999,7 @@ java.time.temporal.TemporalAdjuster
java.time.temporal.TemporalAdjusters
java.time.temporal.TemporalAmount
java.time.temporal.TemporalField
+java.time.temporal.TemporalQueries
java.time.temporal.TemporalQuery
java.time.temporal.TemporalUnit
java.time.temporal.UnsupportedTemporalTypeException
@@ -6615,6 +9230,7 @@ java.util.PriorityQueue$Itr
java.util.PriorityQueue
java.util.Properties$LineReader
java.util.Properties
+java.util.PropertyPermission
java.util.PropertyResourceBundle
java.util.Queue
java.util.Random
@@ -6686,6 +9302,7 @@ java.util.TreeMap
java.util.TreeSet
java.util.UUID$Holder
java.util.UUID
+java.util.UnknownFormatConversionException
java.util.Vector$1
java.util.Vector$Itr
java.util.Vector
@@ -6883,6 +9500,8 @@ java.util.function.-$$Lambda$BiFunction$q-2HhQ1fzCu6oYNirKhp1W_vpSM
java.util.function.-$$Lambda$Consumer$fZIgy_f2Fa5seBa8ztxXTExq2p4
java.util.function.-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA
java.util.function.-$$Lambda$DoubleUnaryOperator$i7wtM_8Ous-CB32HCfZ4usZ4zaQ
+java.util.function.-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY
+java.util.function.-$$Lambda$Predicate$17UUIF1CH_K9duk0ChtjSwOycuM
java.util.function.BiConsumer
java.util.function.BiFunction
java.util.function.BiPredicate
@@ -6895,6 +9514,7 @@ java.util.function.Function
java.util.function.IntBinaryOperator
java.util.function.IntConsumer
java.util.function.IntFunction
+java.util.function.IntPredicate
java.util.function.IntSupplier
java.util.function.IntToDoubleFunction
java.util.function.IntToLongFunction
@@ -6944,6 +9564,7 @@ java.util.logging.LogManager
java.util.logging.LogRecord
java.util.logging.Logger$1
java.util.logging.Logger$LoggerBundle
+java.util.logging.Logger$SystemLoggerHelper
java.util.logging.Logger
java.util.logging.LoggingPermission
java.util.logging.LoggingProxyImpl
@@ -6961,24 +9582,35 @@ java.util.regex.Pattern
java.util.regex.PatternSyntaxException
java.util.stream.-$$Lambda$Collectors$0y_EMl863H_U7B4kxyGscB4vAag
java.util.stream.-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho
+java.util.stream.-$$Lambda$Collectors$SMVdf7W0ks2OOmS3zJw7DHc-Nhc
java.util.stream.-$$Lambda$Collectors$TzSZZBK0laNSWMge_uuxANwkkMo
java.util.stream.-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw
java.util.stream.-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4
java.util.stream.-$$Lambda$Collectors$iab6bVO3ydceISRiUEq_MRHYzoU
+java.util.stream.-$$Lambda$Collectors$kXZFmh6iM6xf9lJWimhd2Ef6NEs
+java.util.stream.-$$Lambda$Collectors$nKlT6uFghrTzWO44dlFAJFeRr34
java.util.stream.-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60
java.util.stream.-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c
+java.util.stream.-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE
+java.util.stream.-$$Lambda$IntPipeline$ozedusDMANE_B8aDthWCd1L-na4
java.util.stream.-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA
+java.util.stream.-$$Lambda$MatchOps$emK14UX33I4-nqH2o5l7hLEVAy8
java.util.stream.-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw
java.util.stream.-$$Lambda$bjSXRjZ5UYwAzkW-XPKwqbJ9BRQ
java.util.stream.-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40
java.util.stream.-$$Lambda$i0Jl5dMkfWphZviqg6QdkkWPWRI
java.util.stream.-$$Lambda$ihOtgw0eLCrsEBOphyN7SwoAlDg
java.util.stream.-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A
+java.util.stream.-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag
java.util.stream.-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is
+java.util.stream.-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0
java.util.stream.-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ
java.util.stream.-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo
+java.util.stream.-$$Lambda$uJ6CkL42Bk73jN5EzP0Fx7o1eVA
+java.util.stream.-$$Lambda$wFoiz-RiPqYBPe0X4aSzbj2iL3g
java.util.stream.-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60
java.util.stream.AbstractPipeline
+java.util.stream.AbstractSpinedBuffer
java.util.stream.BaseStream
java.util.stream.Collector$Characteristics
java.util.stream.Collector
@@ -6986,6 +9618,7 @@ java.util.stream.Collectors$CollectorImpl
java.util.stream.Collectors
java.util.stream.DistinctOps$1$2
java.util.stream.DistinctOps$1
+java.util.stream.DistinctOps
java.util.stream.DoubleStream
java.util.stream.FindOps$FindOp
java.util.stream.FindOps$FindSink$OfRef
@@ -6996,6 +9629,7 @@ java.util.stream.ForEachOps$ForEachOp
java.util.stream.ForEachOps
java.util.stream.IntPipeline$4$1
java.util.stream.IntPipeline$4
+java.util.stream.IntPipeline$Head
java.util.stream.IntPipeline$StatelessOp
java.util.stream.IntPipeline
java.util.stream.IntStream
@@ -7007,23 +9641,31 @@ java.util.stream.MatchOps$BooleanTerminalSink
java.util.stream.MatchOps$MatchKind
java.util.stream.MatchOps$MatchOp
java.util.stream.MatchOps
+java.util.stream.Node$Builder$OfInt
java.util.stream.Node$Builder
java.util.stream.Node$OfDouble
java.util.stream.Node$OfInt
java.util.stream.Node$OfLong
java.util.stream.Node$OfPrimitive
java.util.stream.Node
+java.util.stream.Nodes$ArrayNode
java.util.stream.Nodes$EmptyNode$OfDouble
java.util.stream.Nodes$EmptyNode$OfInt
java.util.stream.Nodes$EmptyNode$OfLong
java.util.stream.Nodes$EmptyNode$OfRef
java.util.stream.Nodes$EmptyNode
+java.util.stream.Nodes$FixedNodeBuilder
+java.util.stream.Nodes$IntArrayNode
+java.util.stream.Nodes$IntFixedNodeBuilder
+java.util.stream.Nodes$IntSpinedNodeBuilder
java.util.stream.Nodes
java.util.stream.PipelineHelper
java.util.stream.ReduceOps$1
java.util.stream.ReduceOps$1ReducingSink
java.util.stream.ReduceOps$3
java.util.stream.ReduceOps$3ReducingSink
+java.util.stream.ReduceOps$5
+java.util.stream.ReduceOps$5ReducingSink
java.util.stream.ReduceOps$8
java.util.stream.ReduceOps$8ReducingSink
java.util.stream.ReduceOps$AccumulatingSink
@@ -7050,6 +9692,8 @@ java.util.stream.Sink
java.util.stream.SliceOps$1$1
java.util.stream.SliceOps$1
java.util.stream.SliceOps
+java.util.stream.SpinedBuffer$OfInt
+java.util.stream.SpinedBuffer$OfPrimitive
java.util.stream.Stream
java.util.stream.StreamOpFlag$MaskBuilder
java.util.stream.StreamOpFlag$Type
@@ -7058,6 +9702,10 @@ java.util.stream.StreamShape
java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef
java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator
java.util.stream.StreamSupport
+java.util.stream.Streams$2
+java.util.stream.Streams$ConcatSpliterator$OfRef
+java.util.stream.Streams$ConcatSpliterator
+java.util.stream.Streams
java.util.stream.TerminalOp
java.util.stream.TerminalSink
java.util.zip.Adler32
@@ -7180,12 +9828,15 @@ javax.xml.parsers.DocumentBuilderFactory
javax.xml.parsers.ParserConfigurationException
javax.xml.parsers.SAXParser
javax.xml.parsers.SAXParserFactory
+libcore.content.type.-$$Lambda$MimeMap$xJ95jeANwfbnj45hvSUmlPtZWWg
+libcore.content.type.MimeMap$MemoizingSupplier
+libcore.content.type.MimeMap
libcore.icu.DateIntervalFormat
libcore.icu.DateUtilsBridge
libcore.icu.ICU
libcore.icu.LocaleData
-libcore.icu.NativeConverter
libcore.icu.RelativeDateTimeFormatter$FormatterCache
+libcore.icu.RelativeDateTimeFormatter
libcore.icu.TimeZoneNames$1
libcore.icu.TimeZoneNames$ZoneStringsCache
libcore.icu.TimeZoneNames
@@ -7208,6 +9859,7 @@ libcore.io.Memory
libcore.io.MemoryMappedFile
libcore.io.NioBufferIterator
libcore.io.Os
+libcore.io.Streams
libcore.math.MathUtils
libcore.net.InetAddressUtils
libcore.net.NetworkSecurityPolicy$DefaultNetworkSecurityPolicy
@@ -7228,11 +9880,10 @@ libcore.reflect.ParameterizedTypeImpl
libcore.reflect.TypeVariableImpl
libcore.reflect.Types
libcore.reflect.WildcardTypeImpl
-libcore.timezone.-$$Lambda$TimeZoneFinder$ReaderSupplier$gDAfECMWS_ohJ_Rfk1HN7JyDSJA
+libcore.timezone.CountryTimeZones$OffsetResult
libcore.timezone.CountryTimeZones$TimeZoneMapping
libcore.timezone.CountryTimeZones
libcore.timezone.TimeZoneDataFiles
-libcore.timezone.TimeZoneFinder$ReaderSupplier
libcore.timezone.TimeZoneFinder$SelectiveCountryTimeZonesExtractor
libcore.timezone.TimeZoneFinder$TimeZonesProcessor
libcore.timezone.TimeZoneFinder
@@ -7244,6 +9895,8 @@ libcore.util.BasicLruCache
libcore.util.CharsetUtils
libcore.util.CollectionUtils
libcore.util.EmptyArray
+libcore.util.FP16
+libcore.util.HexEncoding
libcore.util.NativeAllocationRegistry$CleanerRunner
libcore.util.NativeAllocationRegistry$CleanerThunk
libcore.util.NativeAllocationRegistry
@@ -7538,6 +10191,7 @@ sun.security.util.MemoryCache$CacheEntry
sun.security.util.MemoryCache$SoftCacheEntry
sun.security.util.MemoryCache
sun.security.util.ObjectIdentifier
+sun.security.util.SecurityConstants
sun.security.util.SignatureFileVerifier
sun.security.x509.AVA
sun.security.x509.AVAKeyword
@@ -7614,6 +10268,8 @@ sun.util.locale.BaseLocale
sun.util.locale.InternalLocaleBuilder$CaseInsensitiveChar
sun.util.locale.InternalLocaleBuilder
sun.util.locale.LanguageTag
+sun.util.locale.LocaleExtensions
+sun.util.locale.LocaleMatcher
sun.util.locale.LocaleObjectCache$CacheEntry
sun.util.locale.LocaleObjectCache
sun.util.locale.LocaleSyntaxException
diff --git a/core/java/android/accessibilityservice/AccessibilityGestureEvent.java b/core/java/android/accessibilityservice/AccessibilityGestureEvent.java
index d82b151e9ce9..9cf1de93e344 100644
--- a/core/java/android/accessibilityservice/AccessibilityGestureEvent.java
+++ b/core/java/android/accessibilityservice/AccessibilityGestureEvent.java
@@ -17,6 +17,20 @@
package android.accessibilityservice;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_DOUBLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SINGLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_DOWN;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_LEFT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_RIGHT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_UP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_TRIPLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_DOUBLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SINGLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_DOWN;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_LEFT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_RIGHT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_UP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_TRIPLE_TAP;
import static android.accessibilityservice.AccessibilityService.GESTURE_DOUBLE_TAP;
import static android.accessibilityservice.AccessibilityService.GESTURE_DOUBLE_TAP_AND_HOLD;
import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_DOWN;
@@ -60,6 +74,12 @@ public final class AccessibilityGestureEvent implements Parcelable {
/** @hide */
@IntDef(prefix = { "GESTURE_" }, value = {
+ GESTURE_2_FINGER_SINGLE_TAP,
+ GESTURE_2_FINGER_DOUBLE_TAP,
+ GESTURE_2_FINGER_TRIPLE_TAP,
+ GESTURE_3_FINGER_SINGLE_TAP,
+ GESTURE_3_FINGER_DOUBLE_TAP,
+ GESTURE_3_FINGER_TRIPLE_TAP,
GESTURE_DOUBLE_TAP,
GESTURE_DOUBLE_TAP_AND_HOLD,
GESTURE_SWIPE_UP,
@@ -77,7 +97,15 @@ public final class AccessibilityGestureEvent implements Parcelable {
GESTURE_SWIPE_RIGHT,
GESTURE_SWIPE_RIGHT_AND_UP,
GESTURE_SWIPE_RIGHT_AND_LEFT,
- GESTURE_SWIPE_RIGHT_AND_DOWN
+ GESTURE_SWIPE_RIGHT_AND_DOWN,
+ GESTURE_2_FINGER_SWIPE_DOWN,
+ GESTURE_2_FINGER_SWIPE_LEFT,
+ GESTURE_2_FINGER_SWIPE_RIGHT,
+ GESTURE_2_FINGER_SWIPE_UP,
+ GESTURE_3_FINGER_SWIPE_DOWN,
+ GESTURE_3_FINGER_SWIPE_LEFT,
+ GESTURE_3_FINGER_SWIPE_RIGHT,
+ GESTURE_3_FINGER_SWIPE_UP
})
@Retention(RetentionPolicy.SOURCE)
public @interface GestureId {}
@@ -122,13 +150,51 @@ public final class AccessibilityGestureEvent implements Parcelable {
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder("AccessibilityGestureEvent[");
- stringBuilder.append("gestureId: ").append(mGestureId);
+ stringBuilder.append("gestureId: ").append(eventTypeToString(mGestureId));
stringBuilder.append(", ");
stringBuilder.append("displayId: ").append(mDisplayId);
stringBuilder.append(']');
return stringBuilder.toString();
}
+ private static String eventTypeToString(int eventType) {
+ switch (eventType) {
+ case GESTURE_2_FINGER_SINGLE_TAP: return "GESTURE_2_FINGER_SINGLE_TAP";
+ case GESTURE_2_FINGER_DOUBLE_TAP: return "GESTURE_2_FINGER_DOUBLE_TAP";
+ case GESTURE_2_FINGER_TRIPLE_TAP: return "GESTURE_2_FINGER_TRIPLE_TAP";
+ case GESTURE_3_FINGER_SINGLE_TAP: return "GESTURE_3_FINGER_SINGLE_TAP";
+ case GESTURE_3_FINGER_DOUBLE_TAP: return "GESTURE_3_FINGER_DOUBLE_TAP";
+ case GESTURE_3_FINGER_TRIPLE_TAP: return "GESTURE_3_FINGER_TRIPLE_TAP";
+ case GESTURE_DOUBLE_TAP: return "GESTURE_DOUBLE_TAP";
+ case GESTURE_DOUBLE_TAP_AND_HOLD: return "GESTURE_DOUBLE_TAP_AND_HOLD";
+ case GESTURE_SWIPE_DOWN: return "GESTURE_SWIPE_DOWN";
+ case GESTURE_SWIPE_DOWN_AND_LEFT: return "GESTURE_SWIPE_DOWN_AND_LEFT";
+ case GESTURE_SWIPE_DOWN_AND_UP: return "GESTURE_SWIPE_DOWN_AND_UP";
+ case GESTURE_SWIPE_DOWN_AND_RIGHT: return "GESTURE_SWIPE_DOWN_AND_RIGHT";
+ case GESTURE_SWIPE_LEFT: return "GESTURE_SWIPE_LEFT";
+ case GESTURE_SWIPE_LEFT_AND_UP: return "GESTURE_SWIPE_LEFT_AND_UP";
+ case GESTURE_SWIPE_LEFT_AND_RIGHT: return "GESTURE_SWIPE_LEFT_AND_RIGHT";
+ case GESTURE_SWIPE_LEFT_AND_DOWN: return "GESTURE_SWIPE_LEFT_AND_DOWN";
+ case GESTURE_SWIPE_RIGHT: return "GESTURE_SWIPE_RIGHT";
+ case GESTURE_SWIPE_RIGHT_AND_UP: return "GESTURE_SWIPE_RIGHT_AND_UP";
+ case GESTURE_SWIPE_RIGHT_AND_LEFT: return "GESTURE_SWIPE_RIGHT_AND_LEFT";
+ case GESTURE_SWIPE_RIGHT_AND_DOWN: return "GESTURE_SWIPE_RIGHT_AND_DOWN";
+ case GESTURE_SWIPE_UP: return "GESTURE_SWIPE_UP";
+ case GESTURE_SWIPE_UP_AND_LEFT: return "GESTURE_SWIPE_UP_AND_LEFT";
+ case GESTURE_SWIPE_UP_AND_DOWN: return "GESTURE_SWIPE_UP_AND_DOWN";
+ case GESTURE_SWIPE_UP_AND_RIGHT: return "GESTURE_SWIPE_UP_AND_RIGHT";
+ case GESTURE_2_FINGER_SWIPE_DOWN: return "GESTURE_2_FINGER_SWIPE_DOWN";
+ case GESTURE_2_FINGER_SWIPE_LEFT: return "GESTURE_2_FINGER_SWIPE_LEFT";
+ case GESTURE_2_FINGER_SWIPE_RIGHT: return "GESTURE_2_FINGER_SWIPE_RIGHT";
+ case GESTURE_2_FINGER_SWIPE_UP: return "GESTURE_2_FINGER_SWIPE_UP";
+ case GESTURE_3_FINGER_SWIPE_DOWN: return "GESTURE_3_FINGER_SWIPE_DOWN";
+ case GESTURE_3_FINGER_SWIPE_LEFT: return "GESTURE_3_FINGER_SWIPE_LEFT";
+ case GESTURE_3_FINGER_SWIPE_RIGHT: return "GESTURE_3_FINGER_SWIPE_RIGHT";
+ case GESTURE_3_FINGER_SWIPE_UP: return "GESTURE_3_FINGER_SWIPE_UP";
+ default: return Integer.toHexString(eventType);
+ }
+ }
+
/**
* {@inheritDoc}
*/
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index 7722dc318fd7..2165fb35a0e5 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -319,6 +319,76 @@ public abstract class AccessibilityService extends Service {
public static final int GESTURE_DOUBLE_TAP_AND_HOLD = 18;
/**
+ * The user has performed a two-finger single tap gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_SINGLE_TAP = 19;
+
+ /**
+ * The user has performed a two-finger double tap gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_DOUBLE_TAP = 20;
+
+ /**
+ * The user has performed a two-finger triple tap gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_TRIPLE_TAP = 21;
+
+ /**
+ * The user has performed a three-finger single tap gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_SINGLE_TAP = 22;
+
+ /**
+ * The user has performed a three-finger double tap gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_DOUBLE_TAP = 23;
+
+ /**
+ * The user has performed a three-finger triple tap gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_TRIPLE_TAP = 24;
+
+ /**
+ * The user has performed a two-finger swipe up gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_SWIPE_UP = 25;
+
+ /**
+ * The user has performed a two-finger swipe down gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_SWIPE_DOWN = 26;
+
+ /**
+ * The user has performed a two-finger swipe left gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_SWIPE_LEFT = 27;
+
+ /**
+ * The user has performed a two-finger swipe right gesture on the touch screen.
+ */
+ public static final int GESTURE_2_FINGER_SWIPE_RIGHT = 28;
+
+ /**
+ * The user has performed a three-finger swipe up gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_SWIPE_UP = 29;
+
+ /**
+ * The user has performed a three-finger swipe down gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_SWIPE_DOWN = 30;
+
+ /**
+ * The user has performed a three-finger swipe left gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_SWIPE_LEFT = 31;
+
+ /**
+ * The user has performed a three-finger swipe right gesture on the touch screen.
+ */
+ public static final int GESTURE_3_FINGER_SWIPE_RIGHT = 32;
+
+ /**
* The {@link Intent} that must be declared as handled by the service.
*/
public static final String SERVICE_INTERFACE =
diff --git a/core/java/android/annotation/UnsupportedAppUsage.java b/core/java/android/annotation/UnsupportedAppUsage.java
deleted file mode 100644
index 1af48cb63079..000000000000
--- a/core/java/android/annotation/UnsupportedAppUsage.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.annotation;
-
-import static java.lang.annotation.ElementType.CONSTRUCTOR;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.CLASS;
-
-import java.lang.annotation.Repeatable;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that this non-SDK interface is used by apps. A non-SDK interface is a
- * class member (field or method) that is not part of the public SDK. Since the
- * member is not part of the SDK, usage by apps is not supported.
- *
- * <h2>If you are an Android App developer</h2>
- *
- * This annotation indicates that you may be able to access the member, but that
- * this access is discouraged and not supported by Android. If there is a value
- * for {@link #maxTargetSdk()} on the annotation, access will be restricted based
- * on the {@code targetSdkVersion} value set in your manifest.
- *
- * <p>Fields and methods annotated with this are likely to be restricted, changed
- * or removed in future Android releases. If you rely on these members for
- * functionality that is not otherwise supported by Android, consider filing a
- * <a href="http://g.co/dev/appcompat">feature request</a>.
- *
- * <h2>If you are an Android OS developer</h2>
- *
- * This annotation acts as a heads up that changing a given method or field
- * may affect apps, potentially breaking them when the next Android version is
- * released. In some cases, for members that are heavily used, this annotation
- * may imply restrictions on changes to the member.
- *
- * <p>This annotation also results in access to the member being permitted by the
- * runtime, with a warning being generated in debug builds. Which apps can access
- * the member is determined by the value of {@link #maxTargetSdk()}.
- *
- * <p>For more details, see go/UnsupportedAppUsage.
- *
- * {@hide}
- */
-@Retention(CLASS)
-@Target({CONSTRUCTOR, METHOD, FIELD, TYPE})
-@Repeatable(UnsupportedAppUsage.Container.class)
-public @interface UnsupportedAppUsage {
-
- /**
- * Associates a bug tracking the work to add a public alternative to this API. Optional.
- *
- * @return ID of the associated tracking bug
- */
- long trackingBug() default 0;
-
- /**
- * Indicates that usage of this API is limited to apps based on their target SDK version.
- *
- * <p>Access to the API is allowed if the targetSdkVersion in the apps manifest is no greater
- * than this value. Access checks are performed at runtime.
- *
- * <p>This is used to give app developers a grace period to migrate off a non-SDK interface.
- * When making Android version N, existing APIs can have a maxTargetSdk of N-1 added to them.
- * Developers must then migrate off the API when their app is updated in future, but it will
- * continue working in the meantime.
- *
- * <p>Possible values are:
- * <ul>
- * <li>
- * An API level like {@link android.os.Build.VERSION_CODES#O} - in which case the API is
- * available up to and including the specified release. Or, in other words, the API is
- * blacklisted (unavailable) from the next API level from the one specified.
- * </li>
- * <li>
- * absent (default value) - All apps can access this API, but doing so may result in
- * warnings in the log, UI warnings (on developer builds) and/or strictmode violations.
- * The API is likely to be further restricted in future.
- * </li>
- *
- * </ul>
- *
- * @return The maximum value for an apps targetSdkVersion in order to access this API.
- */
- int maxTargetSdk() default Integer.MAX_VALUE;
-
- /**
- * For debug use only. The expected dex signature to be generated for this API, used to verify
- * parts of the build process.
- *
- * @return A dex API signature.
- */
- String expectedSignature() default "";
-
- /**
- * The signature of an implicit (not present in the source) member that forms part of the
- * hiddenapi.
- *
- * <p>Allows access to non-SDK API elements that are not represented in the input source to be
- * managed.
- *
- * <p>This must only be used when applying the annotation to a type, using it in any other
- * situation is an error.
- *
- * @return A dex API signature.
- */
- String implicitMember() default "";
-
- /**
- * Public API alternatives to this API.
- *
- * <p>If non-empty, the string must be a description of the public API alternative(s) to this
- * API. The explanation must contain at least one Javadoc link tag to public API methods or
- * fields. e.g.:
- * {@literal @UnsupportedAppUsage(publicAlternatives="Use {@link foo.bar.Baz#bat()} instead.")}
- *
- * <p>Any elements that can be deduced can be omitted, e.g.:
- * <ul>
- * <li>
- * the class, if it's the same as for the annotated element.
- * </li>
- * <li>
- * the package name, if it's the same as for the annotated element.
- * </li>
- * <li>
- * the method parameters, if there is only one method with that name in the given
- * package and class.
- * </li>
- * </ul>
- * @return A Javadoc-formatted string.
- */
- @SuppressWarnings("JavadocReference")
- String publicAlternatives() default "";
-
- /**
- * Override the default source position when generating an index of the annotations.
- *
- * <p>This is intended for use by tools that generate java source code, to point to the
- * original source position of the annotation, rather than the position within the generated
- * code. It should never be set manually.
- *
- * <p>The format of the value is "path/to/file:startline:startcol:endline:endcol" indicating
- * the position of the annotation itself.
- */
- String overrideSourcePosition() default "";
-
- /**
- * Container for {@link UnsupportedAppUsage} that allows it to be applied repeatedly to types.
- */
- @Retention(CLASS)
- @Target(TYPE)
- @interface Container {
- UnsupportedAppUsage[] value();
- }
-}
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index d8b5e7f3b5b0..f31c6148f89f 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -2873,7 +2873,13 @@ public class Activity extends ContextThemeWrapper
}
/**
- * Called by the system when picture in picture mode should be entered if supported.
+ * This method is called by the system in various cases where picture in picture mode should be
+ * entered if supported.
+ *
+ * <p>It is up to the app developer to choose whether to call
+ * {@link #enterPictureInPictureMode(PictureInPictureParams)} at this time. For example, the
+ * system will call this method when the activity is being put into the background, so the app
+ * developer might want to switch an activity into PIP mode instead.</p>
*/
public void onPictureInPictureRequested() {
// Previous recommendation was for apps to enter picture-in-picture in onUserLeaveHint()
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 4e47594b6196..c60f7bd29ce8 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -278,7 +278,7 @@ public abstract class ActivityManagerInternal {
String resolvedType, boolean fgRequired, String callingPackage, @UserIdInt int userId,
boolean allowBackgroundActivityStarts) throws TransactionTooLargeException;
- public abstract void disconnectActivityFromServices(Object connectionHolder, Object conns);
+ public abstract void disconnectActivityFromServices(Object connectionHolder);
public abstract void cleanUpServices(@UserIdInt int userId, ComponentName component,
Intent baseIntent);
public abstract ActivityInfo getActivityInfoForUser(ActivityInfo aInfo, @UserIdInt int userId);
diff --git a/core/java/android/app/ActivityTaskManager.java b/core/java/android/app/ActivityTaskManager.java
index dd9a2bcf9c2c..58bff7f4dc04 100644
--- a/core/java/android/app/ActivityTaskManager.java
+++ b/core/java/android/app/ActivityTaskManager.java
@@ -158,6 +158,24 @@ public class ActivityTaskManager {
}
};
+ /** @hide */
+ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS)
+ public static ITaskOrganizerController getTaskOrganizerController() {
+ return ITaskOrganizerControllerSingleton.get();
+ }
+
+ private static final Singleton<ITaskOrganizerController> ITaskOrganizerControllerSingleton =
+ new Singleton<ITaskOrganizerController>() {
+ @Override
+ protected ITaskOrganizerController create() {
+ try {
+ return getService().getTaskOrganizerController();
+ } catch (RemoteException e) {
+ return null;
+ }
+ }
+ };
+
/**
* Sets the windowing mode for a specific task. Only works on tasks of type
* {@link WindowConfiguration#ACTIVITY_TYPE_STANDARD}
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index d90e81f09800..c901d2a29821 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -2198,7 +2198,7 @@ public final class ActivityThread extends ClientTransactionHandler {
Resources getTopLevelResources(String resDir, String[] splitResDirs, String[] overlayDirs,
String[] libDirs, int displayId, LoadedApk pkgInfo) {
return mResourcesManager.getResources(null, resDir, splitResDirs, overlayDirs, libDirs,
- displayId, null, pkgInfo.getCompatibilityInfo(), pkgInfo.getClassLoader());
+ displayId, null, pkgInfo.getCompatibilityInfo(), pkgInfo.getClassLoader(), null);
}
@UnsupportedAppUsage
diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java
index c03413c80aa0..00627ef381ab 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -35,7 +35,7 @@ import android.util.ArrayMap;
import android.util.Log;
import android.util.proto.ProtoOutputStream;
-import libcore.timezone.ZoneInfoDB;
+import libcore.timezone.ZoneInfoDb;
import java.io.IOException;
import java.lang.annotation.Retention;
@@ -1000,7 +1000,7 @@ public class AlarmManager {
if (mTargetSdkVersion >= Build.VERSION_CODES.M) {
boolean hasTimeZone = false;
try {
- hasTimeZone = ZoneInfoDB.getInstance().hasTimeZone(timeZone);
+ hasTimeZone = ZoneInfoDb.getInstance().hasTimeZone(timeZone);
} catch (IOException ignored) {
}
diff --git a/core/java/android/app/AppCompatCallbacks.java b/core/java/android/app/AppCompatCallbacks.java
index 19d158dedd06..28a21f767283 100644
--- a/core/java/android/app/AppCompatCallbacks.java
+++ b/core/java/android/app/AppCompatCallbacks.java
@@ -18,7 +18,6 @@ package android.app;
import android.compat.Compatibility;
import android.os.Process;
-import android.util.StatsLog;
import com.android.internal.compat.ChangeReporter;
@@ -46,20 +45,20 @@ public final class AppCompatCallbacks extends Compatibility.Callbacks {
mDisabledChanges = Arrays.copyOf(disabledChanges, disabledChanges.length);
Arrays.sort(mDisabledChanges);
mChangeReporter = new ChangeReporter(
- StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__APP_PROCESS);
+ ChangeReporter.SOURCE_APP_PROCESS);
}
protected void reportChange(long changeId) {
- reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED);
+ reportChange(changeId, ChangeReporter.STATE_LOGGED);
}
protected boolean isChangeEnabled(long changeId) {
if (Arrays.binarySearch(mDisabledChanges, changeId) < 0) {
// Not present in the disabled array
- reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED);
+ reportChange(changeId, ChangeReporter.STATE_ENABLED);
return true;
}
- reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED);
+ reportChange(changeId, ChangeReporter.STATE_DISABLED);
return false;
}
diff --git a/core/java/android/app/AppOpsManagerInternal.java b/core/java/android/app/AppOpsManagerInternal.java
index 9958c6a31027..c13c5a5ab9c4 100644
--- a/core/java/android/app/AppOpsManagerInternal.java
+++ b/core/java/android/app/AppOpsManagerInternal.java
@@ -21,6 +21,7 @@ import android.annotation.Nullable;
import android.util.SparseArray;
import android.util.SparseIntArray;
+import com.android.internal.app.IAppOpsCallback;
import com.android.internal.util.function.HexFunction;
import com.android.internal.util.function.QuadFunction;
@@ -91,4 +92,16 @@ public abstract class AppOpsManagerInternal {
*/
public abstract void updateAppWidgetVisibility(SparseArray<String> uidPackageNames,
boolean visible);
+
+ /**
+ * Like {@link AppOpsManager#setUidMode}, but allows ignoring a certain callback.
+ */
+ public abstract void setUidModeIgnoringCallback(int code, int uid, int mode,
+ @Nullable IAppOpsCallback callbackToIgnore);
+
+ /**
+ * Like {@link AppOpsManager#setMode}, but allows ignoring a certain callback.
+ */
+ public abstract void setModeIgnoringCallback(int code, int uid, @NonNull String packageName,
+ int mode, @Nullable IAppOpsCallback callbackToIgnore);
}
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index c09aa1ff05a8..71cb4a403365 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -618,36 +618,22 @@ public class ApplicationPackageManager extends PackageManager {
return hasSystemFeature(name, 0);
}
- private boolean hasSystemFeatureUncached(String name, int version) {
- try {
- return mPM.hasSystemFeature(name, version);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
- // Make this cache relatively large. There are many system features and
- // none are ever invalidated. MPTS tests suggests that the cache should
- // hold at least 150 entries.
- private static final int SYS_FEATURE_CACHE_SIZE = 256;
- private static final String CACHE_KEY_SYS_FEATURE_PROPERTY = "cache_key.has_system_feature";
-
- private class SystemFeatureQuery {
+ private class HasSystemFeatureQuery {
public final String name;
public final int version;
- public SystemFeatureQuery(String n, int v) {
+ public HasSystemFeatureQuery(String n, int v) {
name = n;
version = v;
}
@Override
public String toString() {
- return String.format("SystemFeatureQuery(name=\"%s\", version=%d)",
+ return String.format("HasSystemFeatureQuery(name=\"%s\", version=%d)",
name, version);
}
@Override
public boolean equals(Object o) {
- if (o instanceof SystemFeatureQuery) {
- SystemFeatureQuery r = (SystemFeatureQuery) o;
+ if (o instanceof HasSystemFeatureQuery) {
+ HasSystemFeatureQuery r = (HasSystemFeatureQuery) o;
return Objects.equals(name, r.name) && version == r.version;
} else {
return false;
@@ -655,33 +641,41 @@ public class ApplicationPackageManager extends PackageManager {
}
@Override
public int hashCode() {
- return Objects.hashCode(name) + version;
+ return Objects.hashCode(name) * 13 + version;
}
}
- private final PropertyInvalidatedCache<SystemFeatureQuery, Boolean> mSysFeatureCache =
- new PropertyInvalidatedCache<SystemFeatureQuery, Boolean>(
- SYS_FEATURE_CACHE_SIZE,
- CACHE_KEY_SYS_FEATURE_PROPERTY) {
+ // Make this cache relatively large. There are many system features and
+ // none are ever invalidated. MPTS tests suggests that the cache should
+ // hold at least 150 entries.
+ private final static PropertyInvalidatedCache<HasSystemFeatureQuery, Boolean>
+ mHasSystemFeatureCache =
+ new PropertyInvalidatedCache<HasSystemFeatureQuery, Boolean>(
+ 256, "cache_key.has_system_feature") {
@Override
- protected Boolean recompute(SystemFeatureQuery query) {
- return hasSystemFeatureUncached(query.name, query.version);
+ protected Boolean recompute(HasSystemFeatureQuery query) {
+ try {
+ return ActivityThread.currentActivityThread().getPackageManager().
+ hasSystemFeature(query.name, query.version);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
};
@Override
public boolean hasSystemFeature(String name, int version) {
- return mSysFeatureCache.query(new SystemFeatureQuery(name, version)).booleanValue();
+ return mHasSystemFeatureCache.query(new HasSystemFeatureQuery(name, version));
}
/** @hide */
- public void disableSysFeatureCache() {
- mSysFeatureCache.disableLocal();
+ public void disableHasSystemFeatureCache() {
+ mHasSystemFeatureCache.disableLocal();
}
/** @hide */
- public static void invalidateSysFeatureCache() {
- PropertyInvalidatedCache.invalidateCache(CACHE_KEY_SYS_FEATURE_PROPERTY);
+ public static void invalidateHasSystemFeatureCache() {
+ mHasSystemFeatureCache.invalidateCache();
}
@Override
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index b7555ee1c04e..57cd8941a398 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -46,6 +46,7 @@ import android.content.res.CompatResources;
import android.content.res.CompatibilityInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.content.res.loader.ResourcesLoader;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
@@ -100,6 +101,7 @@ import java.lang.annotation.RetentionPolicy;
import java.nio.ByteOrder;
import java.nio.file.Path;
import java.util.ArrayList;
+import java.util.List;
import java.util.Objects;
import java.util.concurrent.Executor;
@@ -748,7 +750,7 @@ class ContextImpl extends Context {
if (type != null) {
dirs = Environment.buildPaths(dirs, type);
}
- return ensureExternalDirsExistOrFilter(dirs);
+ return ensureExternalDirsExistOrFilter(dirs, true /* tryCreateInProcess */);
}
}
@@ -763,7 +765,7 @@ class ContextImpl extends Context {
public File[] getObbDirs() {
synchronized (mSync) {
File[] dirs = Environment.buildExternalStorageAppObbDirs(getPackageName());
- return ensureExternalDirsExistOrFilter(dirs);
+ return ensureExternalDirsExistOrFilter(dirs, true /* tryCreateInProcess */);
}
}
@@ -807,7 +809,10 @@ class ContextImpl extends Context {
public File[] getExternalCacheDirs() {
synchronized (mSync) {
File[] dirs = Environment.buildExternalStorageAppCacheDirs(getPackageName());
- return ensureExternalDirsExistOrFilter(dirs);
+ // We don't try to create cache directories in-process, because they need special
+ // setup for accurate quota tracking. This ensures the cache dirs are always
+ // created through StorageManagerService.
+ return ensureExternalDirsExistOrFilter(dirs, false /* tryCreateInProcess */);
}
}
@@ -815,7 +820,7 @@ class ContextImpl extends Context {
public File[] getExternalMediaDirs() {
synchronized (mSync) {
File[] dirs = Environment.buildExternalStorageAppMediaDirs(getPackageName());
- return ensureExternalDirsExistOrFilter(dirs);
+ return ensureExternalDirsExistOrFilter(dirs, true /* tryCreateInProcess */);
}
}
@@ -2217,7 +2222,8 @@ class ContextImpl extends Context {
}
private static Resources createResources(IBinder activityToken, LoadedApk pi, String splitName,
- int displayId, Configuration overrideConfig, CompatibilityInfo compatInfo) {
+ int displayId, Configuration overrideConfig, CompatibilityInfo compatInfo,
+ List<ResourcesLoader> resourcesLoader) {
final String[] splitResDirs;
final ClassLoader classLoader;
try {
@@ -2234,7 +2240,8 @@ class ContextImpl extends Context {
displayId,
overrideConfig,
compatInfo,
- classLoader);
+ classLoader,
+ resourcesLoader);
}
@Override
@@ -2249,7 +2256,7 @@ class ContextImpl extends Context {
final int displayId = getDisplayId();
c.setResources(createResources(mToken, pi, null, displayId, null,
- getDisplayAdjustments(displayId).getCompatibilityInfo()));
+ getDisplayAdjustments(displayId).getCompatibilityInfo(), null));
if (c.mResources != null) {
return c;
}
@@ -2284,7 +2291,7 @@ class ContextImpl extends Context {
final int displayId = getDisplayId();
c.setResources(createResources(mToken, pi, null, displayId, null,
- getDisplayAdjustments(displayId).getCompatibilityInfo()));
+ getDisplayAdjustments(displayId).getCompatibilityInfo(), null));
if (c.mResources != null) {
return c;
}
@@ -2328,7 +2335,8 @@ class ContextImpl extends Context {
displayId,
null,
mPackageInfo.getCompatibilityInfo(),
- classLoader));
+ classLoader,
+ mResources.getLoaders()));
return context;
}
@@ -2342,8 +2350,10 @@ class ContextImpl extends Context {
mSplitName, mToken, mUser, mFlags, mClassLoader, null);
final int displayId = getDisplayId();
+
context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId,
- overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo()));
+ overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(),
+ mResources.getLoaders()));
return context;
}
@@ -2357,20 +2367,22 @@ class ContextImpl extends Context {
mSplitName, mToken, mUser, mFlags, mClassLoader, null);
final int displayId = display.getDisplayId();
+
context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId,
- null, getDisplayAdjustments(displayId).getCompatibilityInfo()));
+ null, getDisplayAdjustments(displayId).getCompatibilityInfo(),
+ mResources.getLoaders()));
context.mDisplay = display;
return context;
}
@Override
- public @NonNull WindowContext createWindowContext(int type) {
+ public @NonNull WindowContext createWindowContext(int type, Bundle options) {
if (getDisplay() == null) {
throw new UnsupportedOperationException("WindowContext can only be created from "
+ "other visual contexts, such as Activity or one created with "
+ "Context#createDisplayContext(Display)");
}
- return new WindowContext(this, null /* token */, type);
+ return new WindowContext(this, null /* token */, type, options);
}
ContextImpl createBaseWindowContext(IBinder token) {
@@ -2564,7 +2576,7 @@ class ContextImpl extends Context {
ContextImpl context = new ContextImpl(null, systemContext.mMainThread, packageInfo, null,
null, null, null, 0, null, null);
context.setResources(createResources(null, packageInfo, null, displayId, null,
- packageInfo.getCompatibilityInfo()));
+ packageInfo.getCompatibilityInfo(), null));
context.updateDisplay(displayId);
context.mIsSystemOrSystemUiContext = true;
return context;
@@ -2637,7 +2649,9 @@ class ContextImpl extends Context {
displayId,
overrideConfiguration,
compatInfo,
- classLoader));
+ classLoader,
+ packageInfo.getApplication() == null ? null
+ : packageInfo.getApplication().getResources().getLoaders()));
context.mDisplay = resourcesManager.getAdjustedDisplay(displayId,
context.getResources());
return context;
@@ -2793,24 +2807,24 @@ class ContextImpl extends Context {
* Ensure that given directories exist, trying to create them if missing. If
* unable to create, they are filtered by replacing with {@code null}.
*/
- private File[] ensureExternalDirsExistOrFilter(File[] dirs) {
+ private File[] ensureExternalDirsExistOrFilter(File[] dirs, boolean tryCreateInProcess) {
final StorageManager sm = getSystemService(StorageManager.class);
final File[] result = new File[dirs.length];
for (int i = 0; i < dirs.length; i++) {
File dir = dirs[i];
if (!dir.exists()) {
- if (!dir.mkdirs()) {
- // recheck existence in case of cross-process race
- if (!dir.exists()) {
- // Failing to mkdir() may be okay, since we might not have
- // enough permissions; ask vold to create on our behalf.
- try {
+ try {
+ if (!tryCreateInProcess || !dir.mkdirs()) {
+ // recheck existence in case of cross-process race
+ if (!dir.exists()) {
+ // Failing to mkdir() may be okay, since we might not have
+ // enough permissions; ask vold to create on our behalf.
sm.mkdirs(dir);
- } catch (Exception e) {
- Log.w(TAG, "Failed to ensure " + dir + ": " + e);
- dir = null;
}
}
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to ensure " + dir + ": " + e);
+ dir = null;
}
}
result[i] = dir;
diff --git a/core/java/android/app/IActivityManager.aidl b/core/java/android/app/IActivityManager.aidl
index 3ffd7c70b40d..cb6a476fb617 100644
--- a/core/java/android/app/IActivityManager.aidl
+++ b/core/java/android/app/IActivityManager.aidl
@@ -287,7 +287,7 @@ interface IActivityManager {
void killApplicationProcess(in String processName, int uid);
// Special low-level communication with activity manager.
boolean handleApplicationWtf(in IBinder app, in String tag, boolean system,
- in ApplicationErrorReport.ParcelableCrashInfo crashInfo);
+ in ApplicationErrorReport.ParcelableCrashInfo crashInfo, int immediateCallerPid);
@UnsupportedAppUsage
void killBackgroundProcesses(in String packageName, int userId);
boolean isUserAMonkey();
@@ -303,8 +303,13 @@ interface IActivityManager {
boolean isTopActivityImmersive();
void crashApplication(int uid, int initialPid, in String packageName, int userId,
in String message, boolean force);
- @UnsupportedAppUsage
+ /** @deprecated -- use getProviderMimeTypeAsync */
+ @UnsupportedAppUsage(maxTargetSdk = 29, publicAlternatives =
+ "Use {@link android.content.ContentResolver#getType} public API instead.")
String getProviderMimeType(in Uri uri, int userId);
+
+ oneway void getProviderMimeTypeAsync(in Uri uri, int userId, in RemoteCallback resultCallback);
+
// Cause the specified process to dump the specified heap.
boolean dumpHeap(in String process, int userId, boolean managed, boolean mallocInfo,
boolean runGc, in String path, in ParcelFileDescriptor fd,
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index 85fa7c1cdb54..503f5c56c617 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -29,6 +29,7 @@ import android.app.IProcessObserver;
import android.app.IRequestFinishCallback;
import android.app.IServiceConnection;
import android.app.IStopUserCallback;
+import android.app.ITaskOrganizerController;
import android.app.ITaskStackListener;
import android.app.IUiAutomationConnection;
import android.app.IUidObserver;
@@ -71,7 +72,6 @@ import android.view.IRecentsAnimationRunner;
import android.view.ITaskOrganizer;
import android.view.RemoteAnimationDefinition;
import android.view.RemoteAnimationAdapter;
-import android.view.WindowContainerTransaction;
import com.android.internal.app.IVoiceInteractor;
import com.android.internal.os.IResultReceiver;
import com.android.internal.policy.IKeyguardDismissCallback;
@@ -123,8 +123,6 @@ interface IActivityTaskManager {
int requestCode, int flags, in ProfilerInfo profilerInfo, in Bundle options,
IBinder permissionToken, boolean ignoreTargetSecurity, int userId);
- void registerTaskOrganizer(in ITaskOrganizer organizer, int windowingMode);
-
boolean isActivityStartAllowedOnDisplay(int displayId, in Intent intent, in String resolvedType,
int userId);
@@ -224,7 +222,6 @@ interface IActivityTaskManager {
void setTaskResizeable(int taskId, int resizeableMode);
void toggleFreeformWindowingMode(in IBinder token);
void resizeTask(int taskId, in Rect bounds, int resizeMode);
- void applyContainerTransaction(in WindowContainerTransaction t);
void moveStackToDisplay(int stackId, int displayId);
void removeStack(int stackId);
@@ -364,6 +361,11 @@ interface IActivityTaskManager {
in Rect tempOtherTaskBounds, in Rect tempOtherTaskInsetBounds);
/**
+ * Returns an interface enabling the management of task organizers.
+ */
+ ITaskOrganizerController getTaskOrganizerController();
+
+ /**
* Sets whether we are currently in an interactive split screen resize operation where we
* are changing the docked stack size.
*/
diff --git a/core/java/android/app/ITaskOrganizerController.aidl b/core/java/android/app/ITaskOrganizerController.aidl
new file mode 100644
index 000000000000..168f782d02a6
--- /dev/null
+++ b/core/java/android/app/ITaskOrganizerController.aidl
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2020, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app;
+
+import android.app.ActivityManager;
+import android.view.ITaskOrganizer;
+import android.view.IWindowContainer;
+import android.view.WindowContainerTransaction;
+
+/** @hide */
+interface ITaskOrganizerController {
+
+ /**
+ * Register a TaskOrganizer to manage tasks as they enter the given windowing mode.
+ * If there was already a TaskOrganizer for this windowing mode it will be evicted
+ * and receive taskVanished callbacks in the process.
+ */
+ void registerTaskOrganizer(ITaskOrganizer organizer, int windowingMode);
+
+ /** Apply multiple WindowContainer operations at once. */
+ void applyContainerTransaction(in WindowContainerTransaction t);
+
+ /** Creates a persistent root task in WM for a particular windowing-mode. */
+ ActivityManager.RunningTaskInfo createRootTask(int displayId, int windowingMode);
+
+ /** Deletes a persistent root task in WM */
+ boolean deleteRootTask(IWindowContainer task);
+
+ /** Get the root task which contains the current ime target */
+ IWindowContainer getImeTarget(int display);
+
+ /**
+ * Set's the root task to launch new tasks into on a display. {@code null} means no launch root
+ * and thus new tasks just end up directly on the display.
+ */
+ void setLaunchRoot(int displayId, in IWindowContainer root);
+}
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java
index f0d0e98b841f..44c248637f49 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -365,7 +365,8 @@ public final class LoadedApk {
mResources = ResourcesManager.getInstance().getResources(null, mResDir,
splitPaths, mOverlayDirs, mApplicationInfo.sharedLibraryFiles,
Display.DEFAULT_DISPLAY, null, getCompatibilityInfo(),
- getClassLoader());
+ getClassLoader(), mApplication == null ? null
+ : mApplication.getResources().getLoaders());
}
}
mAppComponentFactory = createAppFactory(aInfo, mDefaultClassLoader);
@@ -1158,7 +1159,7 @@ public final class LoadedApk {
mResources = ResourcesManager.getInstance().getResources(null, mResDir,
splitPaths, mOverlayDirs, mApplicationInfo.sharedLibraryFiles,
Display.DEFAULT_DISPLAY, null, getCompatibilityInfo(),
- getClassLoader());
+ getClassLoader(), null);
}
return mResources;
}
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index b346e8f20feb..576b56fa33f6 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -2487,6 +2487,20 @@ public class Notification implements Parcelable
if (extras.containsKey(EXTRA_BACKGROUND_IMAGE_URI)) {
visitor.accept(Uri.parse(extras.getString(EXTRA_BACKGROUND_IMAGE_URI)));
}
+
+ ArrayList<Person> people = extras.getParcelableArrayList(EXTRA_PEOPLE_LIST);
+ if (people != null && !people.isEmpty()) {
+ for (Person p : people) {
+ if (p.getIconUri() != null) {
+ visitor.accept(p.getIconUri());
+ }
+ }
+ }
+
+ final Person person = extras.getParcelable(EXTRA_MESSAGING_PERSON);
+ if (person != null && person.getIconUri() != null) {
+ visitor.accept(person.getIconUri());
+ }
}
if (MessagingStyle.class.equals(getNotificationStyle()) && extras != null) {
@@ -2495,6 +2509,11 @@ public class Notification implements Parcelable
for (MessagingStyle.Message message : MessagingStyle.Message
.getMessagesFromBundleArray(messages)) {
visitor.accept(message.getDataUri());
+
+ Person senderPerson = message.getSenderPerson();
+ if (senderPerson != null && senderPerson.getIconUri() != null) {
+ visitor.accept(senderPerson.getIconUri());
+ }
}
}
@@ -2503,6 +2522,11 @@ public class Notification implements Parcelable
for (MessagingStyle.Message message : MessagingStyle.Message
.getMessagesFromBundleArray(historic)) {
visitor.accept(message.getDataUri());
+
+ Person senderPerson = message.getSenderPerson();
+ if (senderPerson != null && senderPerson.getIconUri() != null) {
+ visitor.accept(senderPerson.getIconUri());
+ }
}
}
}
@@ -3569,8 +3593,16 @@ public class Notification implements Parcelable
* This field will be ignored by Launchers that don't support badging, don't show
* notification content, or don't show {@link android.content.pm.ShortcutManager shortcuts}.
*
+ * If this notification has {@link BubbleMetadata} attached that was created with
+ * {@link BubbleMetadata.Builder#createShortcutBubble(String)} a check will be performed
+ * to ensure the shortcutId supplied to bubble metadata matches the shortcutId set here,
+ * if one was set. If the shortcutId's were specified but do not match, an exception
+ * is thrown.
+ *
* @param shortcutId the {@link ShortcutInfo#getId() id} of the shortcut this notification
* supersedes
+ *
+ * @see BubbleMetadata.Builder#createShortcutBubble(String)
*/
@NonNull
public Builder setShortcutId(String shortcutId) {
@@ -5926,9 +5958,29 @@ public class Notification implements Parcelable
/**
* Combine all of the options that have been set and return a new {@link Notification}
* object.
+ *
+ * If this notification has {@link BubbleMetadata} attached that was created with
+ * {@link BubbleMetadata.Builder#createShortcutBubble(String)} a check will be performed
+ * to ensure the shortcutId supplied to bubble metadata matches the shortcutId set on the
+ * notification builder, if one was set. If the shortcutId's were specified but do not
+ * match, an exception is thrown here.
+ *
+ * @see BubbleMetadata.Builder#createShortcutBubble(String)
+ * @see #setShortcutId(String)
*/
@NonNull
public Notification build() {
+ // Check shortcut id matches
+ if (mN.mShortcutId != null
+ && mN.mBubbleMetadata != null
+ && mN.mBubbleMetadata.getShortcutId() != null
+ && !mN.mShortcutId.equals(mN.mBubbleMetadata.getShortcutId())) {
+ throw new IllegalArgumentException(
+ "Notification and BubbleMetadata shortcut id's don't match,"
+ + " notification: " + mN.mShortcutId
+ + " vs bubble: " + mN.mBubbleMetadata.getShortcutId());
+ }
+
// first, add any extras from the calling code
if (mUserExtras != null) {
mN.extras = getAllExtras();
@@ -8644,17 +8696,23 @@ public class Notification implements Parcelable
public static final int FLAG_AUTO_EXPAND_BUBBLE = 0x00000001;
/**
- * If set and the app posting the bubble is in the foreground, the bubble will
- * be posted <b>without</b> the associated notification in the notification shade.
+ * Indicates whether the notification associated with the bubble is being visually
+ * suppressed from the notification shade. When <code>true</code> the notification is
+ * hidden, when <code>false</code> the notification shows as normal.
*
- * <p>This flag has no effect if the app posting the bubble is not in the foreground.
- * The app is considered foreground if it is visible and on the screen, note that
- * a foreground service does not qualify.
- * </p>
+ * <p>Apps sending bubbles may set this flag so that the bubble is posted <b>without</b>
+ * the associated notification in the notification shade.</p>
*
- * <p>Generally this flag should only be set if the user has performed an action to request
- * or create a bubble, or if the user has seen the content in the notification and the
- * notification is no longer relevant.</p>
+ * <p>Apps sending bubbles can only apply this flag when the app is in the foreground,
+ * otherwise the flag is not respected. The app is considered foreground if it is visible
+ * and on the screen, note that a foreground service does not qualify.</p>
+ *
+ * <p>Generally this flag should only be set by the app if the user has performed an
+ * action to request or create a bubble, or if the user has seen the content in the
+ * notification and the notification is no longer relevant. </p>
+ *
+ * <p>The system will also update this flag with <code>true</code> to hide the notification
+ * from the user once the bubble has been expanded. </p>
*
* @hide
*/
@@ -8772,6 +8830,24 @@ public class Notification implements Parcelable
}
/**
+ * Indicates whether the notification associated with the bubble is being visually
+ * suppressed from the notification shade. When <code>true</code> the notification is
+ * hidden, when <code>false</code> the notification shows as normal.
+ *
+ * <p>Apps sending bubbles may set this flag so that the bubble is posted <b>without</b>
+ * the associated notification in the notification shade.</p>
+ *
+ * <p>Apps sending bubbles can only apply this flag when the app is in the foreground,
+ * otherwise the flag is not respected. The app is considered foreground if it is visible
+ * and on the screen, note that a foreground service does not qualify.</p>
+ *
+ * <p>Generally the app should only set this flag if the user has performed an
+ * action to request or create a bubble, or if the user has seen the content in the
+ * notification and the notification is no longer relevant. </p>
+ *
+ * <p>The system will update this flag with <code>true</code> to hide the notification
+ * from the user once the bubble has been expanded.</p>
+ *
* @return whether this bubble should suppress the notification when it is posted.
*
* @see BubbleMetadata.Builder#setSuppressNotification(boolean)
diff --git a/core/java/android/app/NotificationChannel.java b/core/java/android/app/NotificationChannel.java
index 5a4622e0b245..4b24e098b3c6 100644
--- a/core/java/android/app/NotificationChannel.java
+++ b/core/java/android/app/NotificationChannel.java
@@ -15,8 +15,6 @@
*/
package android.app;
-import static android.annotation.SystemApi.Client.MODULE_APPS;
-
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
@@ -362,7 +360,7 @@ public final class NotificationChannel implements Parcelable {
* @param blockableSystem if {@code true}, allows users to block notifications on this channel.
* @hide
*/
- @SystemApi(client = MODULE_APPS)
+ @SystemApi
@TestApi
public void setBlockableSystem(boolean blockableSystem) {
mBlockableSystem = blockableSystem;
diff --git a/core/java/android/app/Person.java b/core/java/android/app/Person.java
index 14a5589c04c2..63ef2484ca1d 100644
--- a/core/java/android/app/Person.java
+++ b/core/java/android/app/Person.java
@@ -19,6 +19,7 @@ package android.app;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.graphics.drawable.Icon;
+import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
@@ -122,6 +123,20 @@ public final class Person implements Parcelable {
return "";
}
+ /**
+ * @return the URI associated with the {@link #getIcon()} for this person, iff the icon exists
+ * and is URI based.
+ * @hide
+ */
+ @Nullable
+ public Uri getIconUri() {
+ if (mIcon != null && (mIcon.getType() == Icon.TYPE_URI
+ || mIcon.getType() == Icon.TYPE_URI_ADAPTIVE_BITMAP)) {
+ return mIcon.getUri();
+ }
+ return null;
+ }
+
@Override
public boolean equals(Object obj) {
if (obj instanceof Person) {
diff --git a/core/java/android/app/PropertyInvalidatedCache.java b/core/java/android/app/PropertyInvalidatedCache.java
index 736efb6a5e69..cbd2f1a52c0c 100644
--- a/core/java/android/app/PropertyInvalidatedCache.java
+++ b/core/java/android/app/PropertyInvalidatedCache.java
@@ -297,9 +297,10 @@ public abstract class PropertyInvalidatedCache<Query, Result> {
if (currentNonce == NONCE_DISABLED || currentNonce == NONCE_UNSET) {
if (DEBUG) {
Log.d(TAG,
- String.format("cache %s for %s",
+ String.format("cache %s %s for %s",
+ cacheName(),
currentNonce == NONCE_DISABLED ? "disabled" : "unset",
- query));
+ queryToString(query)));
}
return recompute(query);
}
@@ -310,7 +311,8 @@ public abstract class PropertyInvalidatedCache<Query, Result> {
} else {
if (DEBUG) {
Log.d(TAG,
- String.format("clearing cache because nonce changed [%s] -> [%s]",
+ String.format("clearing cache %s because nonce changed [%s] -> [%s]",
+ cacheName(),
mLastSeenNonce, currentNonce));
}
mCache.clear();
@@ -328,13 +330,15 @@ public abstract class PropertyInvalidatedCache<Query, Result> {
final Result refreshedResult = refresh(cachedResult, query);
if (refreshedResult != cachedResult) {
if (DEBUG) {
- Log.d(TAG, "cache refresh for " + query);
+ Log.d(TAG, "cache refresh for " + cacheName() + " " + queryToString(query));
}
final long afterRefreshNonce = getCurrentNonce();
if (currentNonce != afterRefreshNonce) {
currentNonce = afterRefreshNonce;
if (DEBUG) {
- Log.d(TAG, "restarting query because nonce changed in refresh");
+ Log.d(TAG, String.format("restarting %s %s because nonce changed in refresh",
+ cacheName(),
+ queryToString(query)));
}
continue;
}
@@ -352,13 +356,13 @@ public abstract class PropertyInvalidatedCache<Query, Result> {
return maybeCheckConsistency(query, refreshedResult);
}
if (DEBUG) {
- Log.d(TAG, "cache hit for " + query);
+ Log.d(TAG, "cache hit for " + cacheName() + " " + queryToString(query));
}
return maybeCheckConsistency(query, cachedResult);
}
// Cache miss: make the value from scratch.
if (DEBUG) {
- Log.d(TAG, "cache miss for " + query);
+ Log.d(TAG, "cache miss for " + cacheName() + " " + queryToString(query));
}
final Result result = recompute(query);
synchronized (mLock) {
@@ -451,4 +455,20 @@ public abstract class PropertyInvalidatedCache<Query, Result> {
}
return proposedResult;
}
+
+ /**
+ * Return the name of the cache, to be used in debug messages. The
+ * method is public so clients can use it.
+ */
+ public String cacheName() {
+ return mPropertyName;
+ }
+
+ /**
+ * Return the query as a string, to be used in debug messages. The
+ * method is public so clients can use it in external debug messages.
+ */
+ public String queryToString(Query query) {
+ return Objects.toString(query);
+ }
}
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java
index 7ab85a4a7468..d09f0bcf4275 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -32,7 +32,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.ResourcesImpl;
import android.content.res.ResourcesKey;
-import android.content.res.loader.ResourceLoader;
+import android.content.res.loader.ResourcesLoader;
import android.hardware.display.DisplayManagerGlobal;
import android.os.IBinder;
import android.os.Process;
@@ -46,7 +46,6 @@ import android.util.Slog;
import android.view.Display;
import android.view.DisplayAdjustments;
-import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.IndentingPrintWriter;
@@ -57,9 +56,7 @@ import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
import java.util.WeakHashMap;
import java.util.function.Predicate;
@@ -98,52 +95,6 @@ public class ResourcesManager {
new ArrayMap<>();
/**
- * A list of {@link Resources} that contain unique {@link ResourcesImpl}s.
- *
- * These are isolated so that {@link ResourceLoader}s can be added and removed without
- * affecting other instances.
- *
- * When a reference is added here, it is guaranteed that the {@link ResourcesImpl}
- * it contains is unique to itself and will never be set to a shared reference.
- */
- @GuardedBy("this")
- private List<ResourcesWithLoaders> mResourcesWithLoaders = Collections.emptyList();
-
- private static class ResourcesWithLoaders {
-
- private WeakReference<Resources> mResources;
- private ResourcesKey mResourcesKey;
-
- @Nullable
- private WeakReference<IBinder> mActivityToken;
-
- ResourcesWithLoaders(Resources resources, ResourcesKey resourcesKey,
- IBinder activityToken) {
- this.mResources = new WeakReference<>(resources);
- this.mResourcesKey = resourcesKey;
- this.mActivityToken = new WeakReference<>(activityToken);
- }
-
- @Nullable
- Resources resources() {
- return mResources.get();
- }
-
- @Nullable
- IBinder activityToken() {
- return mActivityToken == null ? null : mActivityToken.get();
- }
-
- ResourcesKey resourcesKey() {
- return mResourcesKey;
- }
-
- void updateKey(ResourcesKey newKey) {
- mResourcesKey = newKey;
- }
- }
-
- /**
* A list of Resource references that can be reused.
*/
@UnsupportedAppUsage
@@ -219,6 +170,11 @@ public class ResourcesManager {
private final ArrayMap<Pair<Integer, DisplayAdjustments>, WeakReference<Display>>
mAdjustedDisplays = new ArrayMap<>();
+ /**
+ * Callback implementation for handling updates to Resources objects.
+ */
+ private final UpdateHandler mUpdateCallbacks = new UpdateHandler();
+
@UnsupportedAppUsage
public ResourcesManager() {
}
@@ -253,24 +209,6 @@ public class ResourcesManager {
}
}
- for (int i = mResourcesWithLoaders.size() - 1; i >= 0; i--) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(i);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- continue;
- }
-
- final ResourcesKey key = resourcesWithLoaders.resourcesKey();
- if (key.isPathReferenced(path)) {
- mResourcesWithLoaders.remove(i);
- ResourcesImpl impl = resources.getImpl();
- if (impl != null) {
- impl.flushLayoutCache();
- }
- count++;
- }
- }
-
Log.i(TAG, "Invalidated " + count + " asset managers that referenced " + path);
for (int i = mCachedApkAssets.size() - 1; i >= 0; i--) {
@@ -513,6 +451,12 @@ public class ResourcesManager {
}
}
+ if (key.mLoaders != null) {
+ for (final ResourcesLoader loader : key.mLoaders) {
+ builder.addLoader(loader);
+ }
+ }
+
return builder.build();
}
@@ -570,16 +514,6 @@ public class ResourcesManager {
pw.print("resource impls: ");
pw.println(countLiveReferences(mResourceImpls.values()));
-
- int resourcesWithLoadersCount = 0;
- for (int index = 0; index < mResourcesWithLoaders.size(); index++) {
- if (mResourcesWithLoaders.get(index).resources() != null) {
- resourcesWithLoadersCount++;
- }
- }
-
- pw.print("resources with loaders: ");
- pw.println(resourcesWithLoadersCount);
}
}
@@ -660,19 +594,6 @@ public class ResourcesManager {
*/
private @Nullable ResourcesKey findKeyForResourceImplLocked(
@NonNull ResourcesImpl resourceImpl) {
- int size = mResourcesWithLoaders.size();
- for (int index = 0; index < size; index++) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- continue;
- }
-
- if (resourceImpl == resources.getImpl()) {
- return resourcesWithLoaders.resourcesKey();
- }
- }
-
int refCount = mResourceImpls.size();
for (int i = 0; i < refCount; i++) {
WeakReference<ResourcesImpl> weakImplRef = mResourceImpls.valueAt(i);
@@ -722,30 +643,10 @@ public class ResourcesManager {
@Nullable
private Resources findResourcesForActivityLocked(@NonNull IBinder targetActivityToken,
@NonNull ResourcesKey targetKey, @NonNull ClassLoader targetClassLoader) {
- int size = mResourcesWithLoaders.size();
- for (int index = 0; index < size; index++) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- continue;
- }
-
- IBinder activityToken = resourcesWithLoaders.activityToken();
- ResourcesKey key = resourcesWithLoaders.resourcesKey();
-
- ClassLoader classLoader = resources.getClassLoader();
-
- if (Objects.equals(activityToken, targetActivityToken)
- && Objects.equals(key, targetKey)
- && Objects.equals(classLoader, targetClassLoader)) {
- return resources;
- }
- }
-
ActivityResources activityResources = getOrCreateActivityResourcesStructLocked(
targetActivityToken);
- size = activityResources.activityResources.size();
+ final int size = activityResources.activityResources.size();
for (int index = 0; index < size; index++) {
WeakReference<Resources> ref = activityResources.activityResources.get(index);
Resources resources = ref.get();
@@ -771,6 +672,7 @@ public class ResourcesManager {
Resources resources = compatInfo.needsCompatResources() ? new CompatResources(classLoader)
: new Resources(classLoader);
resources.setImpl(impl);
+ resources.setCallbacks(mUpdateCallbacks);
activityResources.activityResources.add(new WeakReference<>(resources));
if (DEBUG) {
Slog.d(TAG, "- creating new ref=" + resources);
@@ -784,6 +686,7 @@ public class ResourcesManager {
Resources resources = compatInfo.needsCompatResources() ? new CompatResources(classLoader)
: new Resources(classLoader);
resources.setImpl(impl);
+ resources.setCallbacks(mUpdateCallbacks);
mResourceReferences.add(new WeakReference<>(resources));
if (DEBUG) {
Slog.d(TAG, "- creating new ref=" + resources);
@@ -795,7 +698,7 @@ public class ResourcesManager {
/**
* Creates base resources for an Activity. Calls to
* {@link #getResources(IBinder, String, String[], String[], String[], int, Configuration,
- * CompatibilityInfo, ClassLoader)} with the same activityToken will have their override
+ * CompatibilityInfo, ClassLoader, List)} with the same activityToken will have their override
* configurations merged with the one specified here.
*
* @param activityToken Represents an Activity.
@@ -820,7 +723,8 @@ public class ResourcesManager {
int displayId,
@Nullable Configuration overrideConfig,
@NonNull CompatibilityInfo compatInfo,
- @Nullable ClassLoader classLoader) {
+ @Nullable ClassLoader classLoader,
+ @Nullable List<ResourcesLoader> loaders) {
try {
Trace.traceBegin(Trace.TRACE_TAG_RESOURCES,
"ResourcesManager#createBaseActivityResources");
@@ -831,7 +735,8 @@ public class ResourcesManager {
libDirs,
displayId,
overrideConfig != null ? new Configuration(overrideConfig) : null, // Copy
- compatInfo);
+ compatInfo,
+ loaders == null ? null : loaders.toArray(new ResourcesLoader[0]));
classLoader = classLoader != null ? classLoader : ClassLoader.getSystemClassLoader();
if (DEBUG) {
@@ -902,14 +807,6 @@ public class ResourcesManager {
} else {
ArrayUtils.unstableRemoveIf(mResourceReferences, sEmptyReferencePredicate);
}
-
- for (int index = mResourcesWithLoaders.size() - 1; index >= 0; index--) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- mResourcesWithLoaders.remove(index);
- }
- }
}
}
@@ -983,7 +880,8 @@ public class ResourcesManager {
int displayId,
@Nullable Configuration overrideConfig,
@NonNull CompatibilityInfo compatInfo,
- @Nullable ClassLoader classLoader) {
+ @Nullable ClassLoader classLoader,
+ @Nullable List<ResourcesLoader> loaders) {
try {
Trace.traceBegin(Trace.TRACE_TAG_RESOURCES, "ResourcesManager#getResources");
final ResourcesKey key = new ResourcesKey(
@@ -993,7 +891,8 @@ public class ResourcesManager {
libDirs,
displayId,
overrideConfig != null ? new Configuration(overrideConfig) : null, // Copy
- compatInfo);
+ compatInfo,
+ loaders == null ? null : loaders.toArray(new ResourcesLoader[0]));
classLoader = classLoader != null ? classLoader : ClassLoader.getSystemClassLoader();
cleanupReferences(activityToken);
@@ -1010,10 +909,10 @@ public class ResourcesManager {
/**
* Updates an Activity's Resources object with overrideConfig. The Resources object
- * that was previously returned by
- * {@link #getResources(IBinder, String, String[], String[], String[], int, Configuration,
- * CompatibilityInfo, ClassLoader)} is
- * still valid and will have the updated configuration.
+ * that was previously returned by {@link #getResources(IBinder, String, String[], String[],
+ * String[], int, Configuration, CompatibilityInfo, ClassLoader, List)} is still valid and will
+ * have the updated configuration.
+ *
* @param activityToken The Activity token.
* @param overrideConfig The configuration override to update.
* @param displayId Id of the display where activity currently resides.
@@ -1074,25 +973,6 @@ public class ResourcesManager {
overrideConfig, displayId);
updateActivityResources(resources, newKey, false);
}
-
- // Also find loaders that are associated with an Activity
- final int loaderCount = mResourcesWithLoaders.size();
- for (int index = loaderCount - 1; index >= 0; index--) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(
- index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null
- || resourcesWithLoaders.activityToken() != activityToken) {
- continue;
- }
-
- ResourcesKey newKey = rebaseActivityOverrideConfig(resources, oldConfig,
- overrideConfig, displayId);
-
- updateActivityResources(resources, newKey, true);
-
- resourcesWithLoaders.updateKey(newKey);
- }
}
} finally {
Trace.traceEnd(Trace.TRACE_TAG_RESOURCES);
@@ -1133,9 +1013,8 @@ public class ResourcesManager {
// Create the new ResourcesKey with the rebased override config.
final ResourcesKey newKey = new ResourcesKey(oldKey.mResDir,
- oldKey.mSplitResDirs,
- oldKey.mOverlayDirs, oldKey.mLibDirs, displayId,
- rebasedOverrideConfig, oldKey.mCompatInfo);
+ oldKey.mSplitResDirs, oldKey.mOverlayDirs, oldKey.mLibDirs,
+ displayId, rebasedOverrideConfig, oldKey.mCompatInfo, oldKey.mLoaders);
if (DEBUG) {
Slog.d(TAG, "rebasing ref=" + resources + " from oldKey=" + oldKey
@@ -1214,18 +1093,6 @@ public class ResourcesManager {
}
}
- for (int index = mResourcesWithLoaders.size() - 1; index >= 0; index--) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- mResourcesWithLoaders.remove(index);
- continue;
- }
-
- applyConfigurationToResourcesLocked(config, compat, tmpConfig,
- resourcesWithLoaders.resourcesKey(), resources.getImpl());
- }
-
return changes != 0;
} finally {
Trace.traceEnd(Trace.TRACE_TAG_RESOURCES);
@@ -1306,37 +1173,8 @@ public class ResourcesManager {
newLibAssets,
key.mDisplayId,
key.mOverrideConfiguration,
- key.mCompatInfo));
- }
- }
- }
-
- final int count = mResourcesWithLoaders.size();
- for (int index = 0; index < count; index++) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- continue;
- }
-
- ResourcesKey key = resourcesWithLoaders.resourcesKey();
- if (Objects.equals(key.mResDir, assetPath)) {
- String[] newLibAssets = key.mLibDirs;
- for (String libAsset : libAssets) {
- newLibAssets =
- ArrayUtils.appendElement(String.class, newLibAssets, libAsset);
- }
-
- if (!Arrays.equals(newLibAssets, key.mLibDirs)) {
- updatedResourceKeys.put(resources.getImpl(),
- new ResourcesKey(
- key.mResDir,
- key.mSplitResDirs,
- key.mOverlayDirs,
- newLibAssets,
- key.mDisplayId,
- key.mOverrideConfiguration,
- key.mCompatInfo));
+ key.mCompatInfo,
+ key.mLoaders));
}
}
}
@@ -1345,72 +1183,6 @@ public class ResourcesManager {
}
}
- /**
- * Mark a {@link Resources} as containing a {@link ResourceLoader}.
- *
- * This removes its {@link ResourcesImpl} from the shared pool and creates it a new one. It is
- * then tracked separately, kept unique, and restored properly across {@link Activity}
- * recreations.
- */
- public void registerForLoaders(Resources resources) {
- synchronized (this) {
- boolean found = false;
- IBinder activityToken = null;
-
- // Remove the Resources from the reference list as it's now tracked separately
- int size = mResourceReferences.size();
- for (int index = 0; index < size; index++) {
- WeakReference<Resources> reference = mResourceReferences.get(index);
- if (reference.get() == resources) {
- mResourceReferences.remove(index);
- found = true;
- break;
- }
- }
-
- if (!found) {
- // Do the same removal for any Activity Resources
- for (Map.Entry<IBinder, ActivityResources> entry :
- mActivityResourceReferences.entrySet()) {
- ArrayList<WeakReference<Resources>> activityResourcesList =
- entry.getValue().activityResources;
- final int resCount = activityResourcesList.size();
- for (int index = 0; index < resCount; index++) {
- WeakReference<Resources> reference = activityResourcesList.get(index);
- if (reference.get() == resources) {
- activityToken = entry.getKey();
- activityResourcesList.remove(index);
- found = true;
- break;
- }
- }
-
- if (found) {
- break;
- }
- }
- }
-
- if (!found) {
- throw new IllegalArgumentException("Resources " + resources
- + " registered for loaders but was not previously tracked by"
- + " ResourcesManager");
- }
-
- ResourcesKey key = findKeyForResourceImplLocked(resources.getImpl());
- ResourcesImpl impl = createResourcesImpl(key);
-
- if (mResourcesWithLoaders == Collections.EMPTY_LIST) {
- mResourcesWithLoaders = Collections.synchronizedList(new ArrayList<>());
- }
-
- mResourcesWithLoaders.add(new ResourcesWithLoaders(resources, key, activityToken));
-
- // Set the new Impl, which is now guaranteed to be unique per Resources object
- resources.setImpl(impl);
- }
- }
-
// TODO(adamlesinski): Make this accept more than just overlay directories.
final void applyNewResourceDirsLocked(@NonNull final ApplicationInfo appInfo,
@Nullable final String[] oldPaths) {
@@ -1450,37 +1222,12 @@ public class ResourcesManager {
key.mLibDirs,
key.mDisplayId,
key.mOverrideConfiguration,
- key.mCompatInfo
+ key.mCompatInfo,
+ key.mLoaders
));
}
}
- final int count = mResourcesWithLoaders.size();
- for (int index = 0; index < count; index++) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- continue;
- }
-
- ResourcesKey key = resourcesWithLoaders.resourcesKey();
-
- if (key.mResDir == null
- || key.mResDir.equals(baseCodePath)
- || ArrayUtils.contains(oldPaths, key.mResDir)) {
- updatedResourceKeys.put(resources.getImpl(),
- new ResourcesKey(
- baseCodePath,
- copiedSplitDirs,
- copiedResourceDirs,
- key.mLibDirs,
- key.mDisplayId,
- key.mOverrideConfiguration,
- key.mCompatInfo
- ));
- }
- }
-
redirectResourcesToNewImplLocked(updatedResourceKeys);
} finally {
Trace.traceEnd(Trace.TRACE_TAG_RESOURCES);
@@ -1530,25 +1277,62 @@ public class ResourcesManager {
}
}
}
+ }
- // Update any references that need to be re-built with loaders. These are intentionally not
- // part of either of the above lists.
- final int loaderCount = mResourcesWithLoaders.size();
- for (int index = loaderCount - 1; index >= 0; index--) {
- ResourcesWithLoaders resourcesWithLoaders = mResourcesWithLoaders.get(index);
- Resources resources = resourcesWithLoaders.resources();
- if (resources == null) {
- continue;
- }
+ private class UpdateHandler implements Resources.UpdateCallbacks {
+
+ /**
+ * Updates the list of {@link ResourcesLoader ResourcesLoader(s)} that the {@code resources}
+ * instance uses.
+ */
+ @Override
+ public void onLoadersChanged(Resources resources, List<ResourcesLoader> newLoader) {
+ synchronized (ResourcesManager.this) {
+ final ResourcesKey oldKey = findKeyForResourceImplLocked(resources.getImpl());
+ if (oldKey == null) {
+ throw new IllegalArgumentException("Cannot modify resource loaders of"
+ + " ResourcesImpl not registered with ResourcesManager");
+ }
- ResourcesKey newKey = updatedResourceKeys.get(resources.getImpl());
- if (newKey == null) {
- continue;
+ final ResourcesKey newKey = new ResourcesKey(
+ oldKey.mResDir,
+ oldKey.mSplitResDirs,
+ oldKey.mOverlayDirs,
+ oldKey.mLibDirs,
+ oldKey.mDisplayId,
+ oldKey.mOverrideConfiguration,
+ oldKey.mCompatInfo,
+ newLoader.toArray(new ResourcesLoader[0]));
+
+ final ResourcesImpl impl = findOrCreateResourcesImplForKeyLocked(newKey);
+ resources.setImpl(impl);
}
+ }
+
+ /**
+ * Refreshes the {@link AssetManager} of all {@link ResourcesImpl} that contain the
+ * {@code loader} to apply any changes of the set of {@link ApkAssets}.
+ **/
+ @Override
+ public void onLoaderUpdated(ResourcesLoader loader) {
+ synchronized (ResourcesManager.this) {
+ final ArrayMap<ResourcesImpl, ResourcesKey> updatedResourceImplKeys =
+ new ArrayMap<>();
+
+ for (int i = mResourceImpls.size() - 1; i >= 0; i--) {
+ final ResourcesKey key = mResourceImpls.keyAt(i);
+ final WeakReference<ResourcesImpl> impl = mResourceImpls.valueAt(i);
+ if (impl == null || impl.get() == null
+ || !ArrayUtils.contains(key.mLoaders, loader)) {
+ continue;
+ }
+
+ mResourceImpls.remove(key);
+ updatedResourceImplKeys.put(impl.get(), key);
+ }
- resourcesWithLoaders.updateKey(newKey);
- resourcesWithLoaders.resources()
- .setImpl(createResourcesImpl(newKey));
+ redirectResourcesToNewImplLocked(updatedResourceImplKeys);
+ }
}
}
}
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index f170b5dfbc27..65a5f6b19cd2 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -33,8 +33,10 @@ import android.app.role.RoleControllerManager;
import android.app.role.RoleManager;
import android.app.slice.SliceManager;
import android.app.timedetector.TimeDetector;
+import android.app.timedetector.TimeDetectorImpl;
import android.app.timezone.RulesManager;
import android.app.timezonedetector.TimeZoneDetector;
+import android.app.timezonedetector.TimeZoneDetectorImpl;
import android.app.trust.TrustManager;
import android.app.usage.IStorageStatsManager;
import android.app.usage.IUsageStatsManager;
@@ -363,11 +365,9 @@ public final class SystemServiceRegistry {
registerService(Context.TETHERING_SERVICE, TetheringManager.class,
new CachedServiceFetcher<TetheringManager>() {
@Override
- public TetheringManager createService(ContextImpl ctx) throws ServiceNotFoundException {
- IBinder b = ServiceManager.getService(Context.TETHERING_SERVICE);
- if (b == null) return null;
-
- return new TetheringManager(ctx, b);
+ public TetheringManager createService(ContextImpl ctx) {
+ return new TetheringManager(
+ ctx, () -> ServiceManager.getService(Context.TETHERING_SERVICE));
}});
@@ -1196,7 +1196,7 @@ public final class SystemServiceRegistry {
@Override
public TimeDetector createService(ContextImpl ctx)
throws ServiceNotFoundException {
- return new TimeDetector();
+ return new TimeDetectorImpl();
}});
registerService(Context.TIME_ZONE_DETECTOR_SERVICE, TimeZoneDetector.class,
@@ -1204,7 +1204,7 @@ public final class SystemServiceRegistry {
@Override
public TimeZoneDetector createService(ContextImpl ctx)
throws ServiceNotFoundException {
- return new TimeZoneDetector();
+ return new TimeZoneDetectorImpl();
}});
registerService(Context.PERMISSION_SERVICE, PermissionManager.class,
diff --git a/core/java/android/app/TaskEmbedder.java b/core/java/android/app/TaskEmbedder.java
index 93b1ea84adf7..761b225a7cdc 100644
--- a/core/java/android/app/TaskEmbedder.java
+++ b/core/java/android/app/TaskEmbedder.java
@@ -48,7 +48,6 @@ import android.view.InputDevice;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.SurfaceControl;
-import android.view.WindowManager;
import android.view.WindowManagerGlobal;
import android.view.inputmethod.InputMethodManager;
@@ -131,6 +130,7 @@ public class TaskEmbedder {
private TaskStackListener mTaskStackListener;
private Listener mListener;
private boolean mOpened; // Protected by mGuard.
+ private DisplayMetrics mTmpDisplayMetrics;
private final CloseGuard mGuard = CloseGuard.get();
@@ -594,10 +594,11 @@ public class TaskEmbedder {
/** Get density of the hosting display. */
private int getBaseDisplayDensity() {
- final WindowManager wm = mContext.getSystemService(WindowManager.class);
- final DisplayMetrics metrics = new DisplayMetrics();
- wm.getDefaultDisplay().getMetrics(metrics);
- return metrics.densityDpi;
+ if (mTmpDisplayMetrics == null) {
+ mTmpDisplayMetrics = new DisplayMetrics();
+ }
+ mContext.getDisplay().getMetrics(mTmpDisplayMetrics);
+ return mTmpDisplayMetrics.densityDpi;
}
/**
diff --git a/core/java/android/app/TaskInfo.java b/core/java/android/app/TaskInfo.java
index fe9c64038909..662ca6eb2c19 100644
--- a/core/java/android/app/TaskInfo.java
+++ b/core/java/android/app/TaskInfo.java
@@ -16,6 +16,8 @@
package android.app;
+import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
@@ -25,6 +27,7 @@ import android.content.res.Configuration;
import android.os.Parcel;
import android.os.RemoteException;
import android.util.Log;
+import android.view.IWindowContainer;
/**
* Stores information about a particular Task.
@@ -138,6 +141,19 @@ public class TaskInfo {
@UnsupportedAppUsage
public final Configuration configuration = new Configuration();
+ /**
+ * Used as an opaque identifier for this task.
+ * @hide
+ */
+ @NonNull
+ public IWindowContainer token;
+
+ /**
+ * The activity type of the top activity in this task.
+ * @hide
+ */
+ public @WindowConfiguration.ActivityType int topActivityType;
+
TaskInfo() {
// Do nothing
}
@@ -160,6 +176,11 @@ public class TaskInfo {
}
}
+ /** @hide */
+ public boolean isResizable() {
+ return resizeMode != RESIZE_MODE_UNRESIZEABLE;
+ }
+
/**
* Reads the TaskInfo from a parcel.
*/
@@ -186,6 +207,8 @@ public class TaskInfo {
supportsSplitScreenMultiWindow = source.readBoolean();
resizeMode = source.readInt();
configuration.readFromParcel(source);
+ token = IWindowContainer.Stub.asInterface(source.readStrongBinder());
+ topActivityType = source.readInt();
}
/**
@@ -221,6 +244,8 @@ public class TaskInfo {
dest.writeBoolean(supportsSplitScreenMultiWindow);
dest.writeInt(resizeMode);
configuration.writeToParcel(dest, flags);
+ dest.writeStrongInterface(token);
+ dest.writeInt(topActivityType);
}
@Override
@@ -234,6 +259,8 @@ public class TaskInfo {
+ " numActivities=" + numActivities
+ " lastActiveTime=" + lastActiveTime
+ " supportsSplitScreenMultiWindow=" + supportsSplitScreenMultiWindow
- + " resizeMode=" + resizeMode;
+ + " resizeMode=" + resizeMode
+ + " token=" + token
+ + " topActivityType=" + topActivityType;
}
}
diff --git a/core/java/android/app/WindowContext.java b/core/java/android/app/WindowContext.java
index 22cc14bd5ed6..36ae450d342b 100644
--- a/core/java/android/app/WindowContext.java
+++ b/core/java/android/app/WindowContext.java
@@ -32,7 +32,7 @@ import android.view.WindowManagerImpl;
* windows. Its resources and configuration are adjusted to the area of the display that will be
* used when a new window is added via {@link android.view.WindowManager.addView}.
*
- * @see Context#createWindowContext(int)
+ * @see Context#createWindowContext(int, Bundle)
* @hide
*/
// TODO(b/128338354): Handle config/display changes from server side.
@@ -53,7 +53,7 @@ public class WindowContext extends ContextWrapper {
* @param type Window type to be used with this context.
* @hide
*/
- public WindowContext(Context base, IBinder token, int type) {
+ public WindowContext(Context base, IBinder token, int type, Bundle options) {
super(null /* base */);
mWms = WindowManagerGlobal.getWindowManagerService();
@@ -76,7 +76,7 @@ public class WindowContext extends ContextWrapper {
return;
}
try {
- mWms.addWindowContextToken(mToken, type, mDisplayId, getPackageName());
+ mWms.addWindowTokenWithOptions(mToken, type, mDisplayId, options, getPackageName());
// TODO(window-context): remove token with a DeathObserver
} catch (RemoteException e) {
mOwnsToken = false;
diff --git a/core/java/android/app/admin/DevicePolicyEventLogger.java b/core/java/android/app/admin/DevicePolicyEventLogger.java
index 4c0e176c519e..bbc0bdfa6d7d 100644
--- a/core/java/android/app/admin/DevicePolicyEventLogger.java
+++ b/core/java/android/app/admin/DevicePolicyEventLogger.java
@@ -19,10 +19,9 @@ package android.app.admin;
import android.annotation.Nullable;
import android.content.ComponentName;
import android.stats.devicepolicy.nano.StringList;
-import android.util.StatsLog;
import com.android.framework.protobuf.nano.MessageNano;
-import com.android.internal.util.Preconditions;
+import com.android.internal.util.FrameworkStatsLog;
import java.util.Arrays;
import java.util.Objects;
@@ -197,8 +196,8 @@ public class DevicePolicyEventLogger {
*/
public void write() {
byte[] bytes = stringArrayValueToBytes(mStringArrayValue);
- StatsLog.write(StatsLog.DEVICE_POLICY_EVENT, mEventId, mAdminPackageName, mIntValue,
- mBooleanValue, mTimePeriodMs, bytes);
+ FrameworkStatsLog.write(FrameworkStatsLog.DEVICE_POLICY_EVENT, mEventId, mAdminPackageName,
+ mIntValue, mBooleanValue, mTimePeriodMs, bytes);
}
/**
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index d1b5a83e7142..3676a9b2548f 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -328,7 +328,7 @@ public class DevicePolicyManager {
* modified by the user and the only way of resetting the device is via factory reset.
*
* <p>From version {@link android.os.Build.VERSION_CODES#Q}, the admin app can choose
- * whether to set up a fully managed device or a work profile. For the admin app to support
+ * whether to set up a fully managed device or a managed profile. For the admin app to support
* this, it must have an activity with intent filter {@link #ACTION_GET_PROVISIONING_MODE} and
* another one with intent filter {@link #ACTION_ADMIN_POLICY_COMPLIANCE}. For example:
* <pre>
@@ -1781,12 +1781,13 @@ public class DevicePolicyManager {
/**
* Grants access to selection of KeyChain certificates on behalf of requesting apps.
* Once granted the app will start receiving
- * DelegatedAdminReceiver.onChoosePrivateKeyAlias. The caller (PO/DO) will
+ * {@link DelegatedAdminReceiver#onChoosePrivateKeyAlias}. The caller (PO/DO) will
* no longer receive {@link DeviceAdminReceiver#onChoosePrivateKeyAlias}.
* There can be at most one app that has this delegation.
* If another app already had delegated certificate selection access,
* it will lose the delegation when a new app is delegated.
- *
+ * <p> The delegaetd app can also call {@link #grantKeyPairToApp} and
+ * {@link #revokeKeyPairFromApp} to directly grant KeyCain keys to other apps.
* <p> Can be granted by Device Owner or Profile Owner.
*/
public static final String DELEGATION_CERT_SELECTION = "delegation-cert-selection";
@@ -4313,7 +4314,7 @@ public class DevicePolicyManager {
* additionally call this method on the parent instance.
* Calling this method on the parent {@link DevicePolicyManager} instance would wipe the
* entire device, while calling it on the current profile instance would relinquish the device
- * for personal use, removing the work profile and all policies set by the profile owner.
+ * for personal use, removing the managed profile and all policies set by the profile owner.
*
* @param flags Bit mask of additional options: currently supported flags are
* {@link #WIPE_EXTERNAL_STORAGE}, {@link #WIPE_RESET_PROTECTION_DATA},
@@ -4339,7 +4340,7 @@ public class DevicePolicyManager {
* additionally call this method on the parent instance.
* Calling this method on the parent {@link DevicePolicyManager} instance would wipe the
* entire device, while calling it on the current profile instance would relinquish the device
- * for personal use, removing the work profile and all policies set by the profile owner.
+ * for personal use, removing the managed profile and all policies set by the profile owner.
*
* @param flags Bit mask of additional options: currently supported flags are
* {@link #WIPE_EXTERNAL_STORAGE}, {@link #WIPE_RESET_PROTECTION_DATA} and
@@ -7028,21 +7029,28 @@ public class DevicePolicyManager {
}
/**
- * Called by a device owner to set the default SMS application.
+ * Must be called by a device owner or a profile owner of an organization-owned managed profile
+ * to set the default SMS application.
* <p>
- * The calling device admin must be a device owner. If it is not, a security exception will be
- * thrown.
+ * This method can be called on the {@link DevicePolicyManager} instance, returned by
+ * {@link #getParentProfileInstance(ComponentName)}, where the caller must be the profile owner
+ * of an organization-owned managed profile and the package must be a pre-installed system
+ * package. If called on the parent instance, then the default SMS application is set on the
+ * personal profile.
*
- * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
+ * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
* @param packageName The name of the package to set as the default SMS application.
- * @throws SecurityException if {@code admin} is not a device owner.
+ * @throws SecurityException if {@code admin} is not a device or profile owner or if
+ * called on the parent profile and the {@code admin} is not a
+ * profile owner of an organization-owned managed profile.
+ * @throws IllegalArgumentException if called on the parent profile and the package
+ * provided is not a pre-installed system package.
*/
public void setDefaultSmsApplication(@NonNull ComponentName admin,
@NonNull String packageName) {
- throwIfParentInstance("setDefaultSmsApplication");
if (mService != null) {
try {
- mService.setDefaultSmsApplication(admin, packageName);
+ mService.setDefaultSmsApplication(admin, packageName, mParentInstance);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -11577,12 +11585,14 @@ public class DevicePolicyManager {
* #setCrossProfilePackages(ComponentName, Set)}.</li>
* <li>The default package names set by the OEM that are allowed to request user consent for
* cross-profile communication without being explicitly enabled by the admin, via
- * {@link com.android.internal.R.array#cross_profile_apps}</li>
+ * {@link com.android.internal.R.array#cross_profile_apps} and
+ * {@link com.android.internal.R.array#vendor_cross_profile_apps}.</li>
* </ul>
*
* @return the combined set of whitelisted package names set via
- * {@link #setCrossProfilePackages(ComponentName, Set)} and
- * {@link com.android.internal.R.array#cross_profile_apps}
+ * {@link #setCrossProfilePackages(ComponentName, Set)},
+ * {@link com.android.internal.R.array#cross_profile_apps},
+ * and {@link com.android.internal.R.array#vendor_cross_profile_apps}.
*
* @hide
*/
@@ -11592,7 +11602,7 @@ public class DevicePolicyManager {
permission.INTERACT_ACROSS_PROFILES
})
public @NonNull Set<String> getAllCrossProfilePackages() {
- throwIfParentInstance("getDefaultCrossProfilePackages");
+ throwIfParentInstance("getAllCrossProfilePackages");
if (mService != null) {
try {
return new ArraySet<>(mService.getAllCrossProfilePackages());
@@ -11604,6 +11614,26 @@ public class DevicePolicyManager {
}
/**
+ * Returns the default package names set by the OEM that are allowed to request user consent for
+ * cross-profile communication without being explicitly enabled by the admin, via
+ * {@link com.android.internal.R.array#cross_profile_apps} and
+ * {@link com.android.internal.R.array#vendor_cross_profile_apps}.
+ *
+ * @hide
+ */
+ public @NonNull Set<String> getDefaultCrossProfilePackages() {
+ throwIfParentInstance("getDefaultCrossProfilePackages");
+ if (mService != null) {
+ try {
+ return new ArraySet<>(mService.getDefaultCrossProfilePackages());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+ return Collections.emptySet();
+ }
+
+ /**
* Returns whether the device is being used as a managed kiosk. These requirements are as
* follows:
* <ul>
diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl
index e3dba310ab44..d2672eb3e2b2 100644
--- a/core/java/android/app/admin/IDevicePolicyManager.aidl
+++ b/core/java/android/app/admin/IDevicePolicyManager.aidl
@@ -202,7 +202,7 @@ interface IDevicePolicyManager {
void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity);
void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName);
- void setDefaultSmsApplication(in ComponentName admin, String packageName);
+ void setDefaultSmsApplication(in ComponentName admin, String packageName, boolean parent);
void setApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName, in Bundle settings);
Bundle getApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName);
@@ -457,6 +457,7 @@ interface IDevicePolicyManager {
List<String> getCrossProfilePackages(in ComponentName admin);
List<String> getAllCrossProfilePackages();
+ List<String> getDefaultCrossProfilePackages();
boolean isManagedKiosk();
boolean isUnattendedManagedKiosk();
diff --git a/core/java/android/app/prediction/AppPredictionContext.java b/core/java/android/app/prediction/AppPredictionContext.java
index d14238bb2672..8fc7e8d256b6 100644
--- a/core/java/android/app/prediction/AppPredictionContext.java
+++ b/core/java/android/app/prediction/AppPredictionContext.java
@@ -100,6 +100,16 @@ public final class AppPredictionContext implements Parcelable {
&& mPackageName.equals(other.mPackageName);
}
+ @NonNull
+ @Override
+ public String toString() {
+ return new StringBuilder(this.getClass().getSimpleName())
+ .append("[mUiSurface=").append(mUiSurface)
+ .append(",mPackageName=").append(mPackageName)
+ .append(",mPredictedTargetCount=").append(mPredictedTargetCount)
+ .append(",mExtras=").append(mExtras.toString()).append("]").toString();
+ }
+
@Override
public int describeContents() {
return 0;
diff --git a/core/java/android/app/timedetector/ManualTimeSuggestion.java b/core/java/android/app/timedetector/ManualTimeSuggestion.java
index 50de73855511..da51ce2a6aff 100644
--- a/core/java/android/app/timedetector/ManualTimeSuggestion.java
+++ b/core/java/android/app/timedetector/ManualTimeSuggestion.java
@@ -29,10 +29,18 @@ import java.util.List;
import java.util.Objects;
/**
- * A time signal from a manual (user provided) source. The value consists of the number of
- * milliseconds elapsed since 1/1/1970 00:00:00 UTC and the time according to the elapsed realtime
- * clock when that number was established. The elapsed realtime clock is considered accurate but
- * volatile, so time signals must not be persisted across device resets.
+ * A time signal from a manual (user provided) source.
+ *
+ * <p>{@code utcTime} is the suggested time. The {@code utcTime.value} is the number of milliseconds
+ * elapsed since 1/1/1970 00:00:00 UTC. The {@code utcTime.referenceTimeMillis} is the value of the
+ * elapsed realtime clock when the {@code utcTime.value} was established.
+ * Note that the elapsed realtime clock is considered accurate but it is volatile, so time
+ * suggestions cannot be persisted across device resets.
+ *
+ * <p>{@code debugInfo} contains debugging metadata associated with the suggestion. This is used to
+ * record why the suggestion exists and how it was entered. This information exists only to aid in
+ * debugging and therefore is used by {@link #toString()}, but it is not for use in detection
+ * logic and is not considered in {@link #hashCode()} or {@link #equals(Object)}.
*
* @hide
*/
@@ -49,10 +57,8 @@ public final class ManualTimeSuggestion implements Parcelable {
}
};
- @NonNull
- private final TimestampedValue<Long> mUtcTime;
- @Nullable
- private ArrayList<String> mDebugInfo;
+ @NonNull private final TimestampedValue<Long> mUtcTime;
+ @Nullable private ArrayList<String> mDebugInfo;
public ManualTimeSuggestion(@NonNull TimestampedValue<Long> utcTime) {
mUtcTime = Objects.requireNonNull(utcTime);
diff --git a/core/java/android/app/timedetector/NetworkTimeSuggestion.java b/core/java/android/app/timedetector/NetworkTimeSuggestion.java
index 17e9c5a79fa5..89fd6f31e042 100644
--- a/core/java/android/app/timedetector/NetworkTimeSuggestion.java
+++ b/core/java/android/app/timedetector/NetworkTimeSuggestion.java
@@ -29,10 +29,18 @@ import java.util.List;
import java.util.Objects;
/**
- * A time signal from a network time source like NTP. The value consists of the number of
- * milliseconds elapsed since 1/1/1970 00:00:00 UTC and the time according to the elapsed realtime
- * clock when that number was established. The elapsed realtime clock is considered accurate but
- * volatile, so time signals must not be persisted across device resets.
+ * A time signal from a network time source like NTP.
+ *
+ * <p>{@code utcTime} contains the suggested time. The {@code utcTime.value} is the number of
+ * milliseconds elapsed since 1/1/1970 00:00:00 UTC. The {@code utcTime.referenceTimeMillis} is the
+ * value of the elapsed realtime clock when the {@code utcTime.value} was established.
+ * Note that the elapsed realtime clock is considered accurate but it is volatile, so time
+ * suggestions cannot be persisted across device resets.
+ *
+ * <p>{@code debugInfo} contains debugging metadata associated with the suggestion. This is used to
+ * record why the suggestion exists and how it was determined. This information exists only to aid
+ * in debugging and therefore is used by {@link #toString()}, but it is not for use in detection
+ * logic and is not considered in {@link #hashCode()} or {@link #equals(Object)}.
*
* @hide
*/
@@ -49,10 +57,8 @@ public final class NetworkTimeSuggestion implements Parcelable {
}
};
- @NonNull
- private final TimestampedValue<Long> mUtcTime;
- @Nullable
- private ArrayList<String> mDebugInfo;
+ @NonNull private final TimestampedValue<Long> mUtcTime;
+ @Nullable private ArrayList<String> mDebugInfo;
public NetworkTimeSuggestion(@NonNull TimestampedValue<Long> utcTime) {
mUtcTime = Objects.requireNonNull(utcTime);
diff --git a/core/java/android/app/timedetector/PhoneTimeSuggestion.java b/core/java/android/app/timedetector/PhoneTimeSuggestion.java
index bd649f88f40a..16288e82d452 100644
--- a/core/java/android/app/timedetector/PhoneTimeSuggestion.java
+++ b/core/java/android/app/timedetector/PhoneTimeSuggestion.java
@@ -32,12 +32,22 @@ import java.util.Objects;
* A time suggestion from an identified telephony source. e.g. from NITZ information from a specific
* radio.
*
- * <p>The time value can be {@code null} to indicate that the telephony source has entered an
- * "un-opinionated" state and any previous suggestions from the source are being withdrawn. When not
- * {@code null}, the value consists of the number of milliseconds elapsed since 1/1/1970 00:00:00
- * UTC and the time according to the elapsed realtime clock when that number was established. The
- * elapsed realtime clock is considered accurate but volatile, so time suggestions must not be
- * persisted across device resets.
+ * <p>{@code slotIndex} identifies the suggestion source. This enables detection logic to identify
+ * suggestions from the same source when there are several in use.
+ *
+ * <p>{@code utcTime}. When not {@code null}, the {@code utcTime.value} is the number of
+ * milliseconds elapsed since 1/1/1970 00:00:00 UTC. The {@code utcTime.referenceTimeMillis} is the
+ * value of the elapsed realtime clock when the {@code utcTime.value} was established.
+ * Note that the elapsed realtime clock is considered accurate but it is volatile, so time
+ * suggestions cannot be persisted across device resets. {@code utcTime} can be {@code null} to
+ * indicate that the telephony source has entered an "un-opinionated" state and any previous
+ * suggestion from the source is being withdrawn.
+ *
+ * <p>{@code debugInfo} contains debugging metadata associated with the suggestion. This is used to
+ * record why the suggestion exists, e.g. what triggered it to be made and what heuristic was used
+ * to determine the time or its absence. This information exists only to aid in debugging and
+ * therefore is used by {@link #toString()}, but it is not for use in detection logic and is not
+ * considered in {@link #hashCode()} or {@link #equals(Object)}.
*
* @hide
*/
@@ -57,19 +67,19 @@ public final class PhoneTimeSuggestion implements Parcelable {
}
};
- private final int mPhoneId;
+ private final int mSlotIndex;
@Nullable private final TimestampedValue<Long> mUtcTime;
@Nullable private ArrayList<String> mDebugInfo;
private PhoneTimeSuggestion(Builder builder) {
- mPhoneId = builder.mPhoneId;
+ mSlotIndex = builder.mSlotIndex;
mUtcTime = builder.mUtcTime;
mDebugInfo = builder.mDebugInfo != null ? new ArrayList<>(builder.mDebugInfo) : null;
}
private static PhoneTimeSuggestion createFromParcel(Parcel in) {
- int phoneId = in.readInt();
- PhoneTimeSuggestion suggestion = new PhoneTimeSuggestion.Builder(phoneId)
+ int slotIndex = in.readInt();
+ PhoneTimeSuggestion suggestion = new PhoneTimeSuggestion.Builder(slotIndex)
.setUtcTime(in.readParcelable(null /* classLoader */))
.build();
@SuppressWarnings("unchecked")
@@ -87,22 +97,24 @@ public final class PhoneTimeSuggestion implements Parcelable {
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
- dest.writeInt(mPhoneId);
+ dest.writeInt(mSlotIndex);
dest.writeParcelable(mUtcTime, 0);
dest.writeList(mDebugInfo);
}
/**
- * Returns an identifier for the source of this suggestion. When a device has several "phones",
- * i.e. sim slots or equivalent, it is used to identify which one.
+ * Returns an identifier for the source of this suggestion.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code slotIndex}.
*/
- public int getPhoneId() {
- return mPhoneId;
+ public int getSlotIndex() {
+ return mSlotIndex;
}
/**
- * Returns the suggestion. {@code null} means that the caller is no longer sure what time it
- * is.
+ * Returns the suggested time or {@code null} if there isn't one.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code utcTime}.
*/
@Nullable
public TimestampedValue<Long> getUtcTime() {
@@ -110,8 +122,9 @@ public final class PhoneTimeSuggestion implements Parcelable {
}
/**
- * Returns debug metadata for the suggestion. The information is present in {@link #toString()}
- * but is not considered for {@link #equals(Object)} and {@link #hashCode()}.
+ * Returns debug metadata for the suggestion.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code debugInfo}.
*/
@NonNull
public List<String> getDebugInfo() {
@@ -120,9 +133,9 @@ public final class PhoneTimeSuggestion implements Parcelable {
}
/**
- * Associates information with the instance that can be useful for debugging / logging. The
- * information is present in {@link #toString()} but is not considered for
- * {@link #equals(Object)} and {@link #hashCode()}.
+ * Associates information with the instance that can be useful for debugging / logging.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code debugInfo}.
*/
public void addDebugInfo(@NonNull String debugInfo) {
if (mDebugInfo == null) {
@@ -132,9 +145,9 @@ public final class PhoneTimeSuggestion implements Parcelable {
}
/**
- * Associates information with the instance that can be useful for debugging / logging. The
- * information is present in {@link #toString()} but is not considered for
- * {@link #equals(Object)} and {@link #hashCode()}.
+ * Associates information with the instance that can be useful for debugging / logging.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code debugInfo}.
*/
public void addDebugInfo(@NonNull List<String> debugInfo) {
if (mDebugInfo == null) {
@@ -152,19 +165,19 @@ public final class PhoneTimeSuggestion implements Parcelable {
return false;
}
PhoneTimeSuggestion that = (PhoneTimeSuggestion) o;
- return mPhoneId == that.mPhoneId
+ return mSlotIndex == that.mSlotIndex
&& Objects.equals(mUtcTime, that.mUtcTime);
}
@Override
public int hashCode() {
- return Objects.hash(mPhoneId, mUtcTime);
+ return Objects.hash(mSlotIndex, mUtcTime);
}
@Override
public String toString() {
return "PhoneTimeSuggestion{"
- + "mPhoneId='" + mPhoneId + '\''
+ + "mSlotIndex='" + mSlotIndex + '\''
+ ", mUtcTime=" + mUtcTime
+ ", mDebugInfo=" + mDebugInfo
+ '}';
@@ -177,16 +190,24 @@ public final class PhoneTimeSuggestion implements Parcelable {
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public static final class Builder {
- private final int mPhoneId;
+ private final int mSlotIndex;
@Nullable private TimestampedValue<Long> mUtcTime;
@Nullable private List<String> mDebugInfo;
- /** Creates a builder with the specified {@code phoneId}. */
- public Builder(int phoneId) {
- mPhoneId = phoneId;
+ /**
+ * Creates a builder with the specified {@code slotIndex}.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code slotIndex}.
+ */
+ public Builder(int slotIndex) {
+ mSlotIndex = slotIndex;
}
- /** Returns the builder for call chaining. */
+ /**
+ * Returns the builder for call chaining.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code utcTime}.
+ */
@NonNull
public Builder setUtcTime(@Nullable TimestampedValue<Long> utcTime) {
if (utcTime != null) {
@@ -198,7 +219,11 @@ public final class PhoneTimeSuggestion implements Parcelable {
return this;
}
- /** Returns the builder for call chaining. */
+ /**
+ * Returns the builder for call chaining.
+ *
+ * <p>See {@link PhoneTimeSuggestion} for more information about {@code debugInfo}.
+ */
@NonNull
public Builder addDebugInfo(@NonNull String debugInfo) {
if (mDebugInfo == null) {
diff --git a/core/java/android/app/timedetector/TimeDetector.java b/core/java/android/app/timedetector/TimeDetector.java
index 7c29f017c02b..2412fb3994ed 100644
--- a/core/java/android/app/timedetector/TimeDetector.java
+++ b/core/java/android/app/timedetector/TimeDetector.java
@@ -21,31 +21,29 @@ import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.content.Context;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.ServiceManager.ServiceNotFoundException;
import android.os.SystemClock;
import android.os.TimestampedValue;
-import android.util.Log;
/**
* The interface through which system components can send signals to the TimeDetectorService.
*
- * <p>This class is marked non-final for mockito.
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@SystemService(Context.TIME_DETECTOR_SERVICE)
-public class TimeDetector {
- private static final String TAG = "timedetector.TimeDetector";
- private static final boolean DEBUG = false;
+public interface TimeDetector {
- private final ITimeDetectorService mITimeDetectorService;
-
- /** @hide */
- public TimeDetector() throws ServiceNotFoundException {
- mITimeDetectorService = ITimeDetectorService.Stub.asInterface(
- ServiceManager.getServiceOrThrow(Context.TIME_DETECTOR_SERVICE));
+ /**
+ * A shared utility method to create a {@link ManualTimeSuggestion}.
+ *
+ * @hide
+ */
+ static ManualTimeSuggestion createManualTimeSuggestion(long when, String why) {
+ TimestampedValue<Long> utcTime =
+ new TimestampedValue<>(SystemClock.elapsedRealtime(), when);
+ ManualTimeSuggestion manualTimeSuggestion = new ManualTimeSuggestion(utcTime);
+ manualTimeSuggestion.addDebugInfo(why);
+ return manualTimeSuggestion;
}
/**
@@ -54,16 +52,7 @@ public class TimeDetector {
* were determined more recently.
*/
@RequiresPermission(android.Manifest.permission.SUGGEST_PHONE_TIME_AND_ZONE)
- public void suggestPhoneTime(@NonNull PhoneTimeSuggestion timeSuggestion) {
- if (DEBUG) {
- Log.d(TAG, "suggestPhoneTime called: " + timeSuggestion);
- }
- try {
- mITimeDetectorService.suggestPhoneTime(timeSuggestion);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
+ void suggestPhoneTime(@NonNull PhoneTimeSuggestion timeSuggestion);
/**
* Suggests the user's manually entered current time to the detector.
@@ -71,29 +60,7 @@ public class TimeDetector {
* @hide
*/
@RequiresPermission(android.Manifest.permission.SUGGEST_MANUAL_TIME_AND_ZONE)
- public void suggestManualTime(@NonNull ManualTimeSuggestion timeSuggestion) {
- if (DEBUG) {
- Log.d(TAG, "suggestManualTime called: " + timeSuggestion);
- }
- try {
- mITimeDetectorService.suggestManualTime(timeSuggestion);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
- /**
- * A shared utility method to create a {@link ManualTimeSuggestion}.
- *
- * @hide
- */
- public static ManualTimeSuggestion createManualTimeSuggestion(long when, String why) {
- TimestampedValue<Long> utcTime =
- new TimestampedValue<>(SystemClock.elapsedRealtime(), when);
- ManualTimeSuggestion manualTimeSuggestion = new ManualTimeSuggestion(utcTime);
- manualTimeSuggestion.addDebugInfo(why);
- return manualTimeSuggestion;
- }
+ void suggestManualTime(@NonNull ManualTimeSuggestion timeSuggestion);
/**
* Suggests the time according to a network time source like NTP.
@@ -101,14 +68,5 @@ public class TimeDetector {
* @hide
*/
@RequiresPermission(android.Manifest.permission.SET_TIME)
- public void suggestNetworkTime(NetworkTimeSuggestion timeSuggestion) {
- if (DEBUG) {
- Log.d(TAG, "suggestNetworkTime called: " + timeSuggestion);
- }
- try {
- mITimeDetectorService.suggestNetworkTime(timeSuggestion);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
+ void suggestNetworkTime(NetworkTimeSuggestion timeSuggestion);
}
diff --git a/core/java/android/app/timedetector/TimeDetectorImpl.java b/core/java/android/app/timedetector/TimeDetectorImpl.java
new file mode 100644
index 000000000000..1683817740c3
--- /dev/null
+++ b/core/java/android/app/timedetector/TimeDetectorImpl.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app.timedetector;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.ServiceManager.ServiceNotFoundException;
+import android.util.Log;
+
+/**
+ * The real implementation of {@link TimeDetector}.
+ *
+ * @hide
+ */
+public final class TimeDetectorImpl implements TimeDetector {
+ private static final String TAG = "timedetector.TimeDetector";
+ private static final boolean DEBUG = false;
+
+ private final ITimeDetectorService mITimeDetectorService;
+
+ public TimeDetectorImpl() throws ServiceNotFoundException {
+ mITimeDetectorService = ITimeDetectorService.Stub.asInterface(
+ ServiceManager.getServiceOrThrow(Context.TIME_DETECTOR_SERVICE));
+ }
+
+ @Override
+ public void suggestPhoneTime(@NonNull PhoneTimeSuggestion timeSuggestion) {
+ if (DEBUG) {
+ Log.d(TAG, "suggestPhoneTime called: " + timeSuggestion);
+ }
+ try {
+ mITimeDetectorService.suggestPhoneTime(timeSuggestion);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ @Override
+ public void suggestManualTime(@NonNull ManualTimeSuggestion timeSuggestion) {
+ if (DEBUG) {
+ Log.d(TAG, "suggestManualTime called: " + timeSuggestion);
+ }
+ try {
+ mITimeDetectorService.suggestManualTime(timeSuggestion);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ @Override
+ public void suggestNetworkTime(NetworkTimeSuggestion timeSuggestion) {
+ if (DEBUG) {
+ Log.d(TAG, "suggestNetworkTime called: " + timeSuggestion);
+ }
+ try {
+ mITimeDetectorService.suggestNetworkTime(timeSuggestion);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+}
diff --git a/core/java/android/app/timezonedetector/ManualTimeZoneSuggestion.java b/core/java/android/app/timezonedetector/ManualTimeZoneSuggestion.java
index a6b953b42f8f..3a9adc72aab1 100644
--- a/core/java/android/app/timezonedetector/ManualTimeZoneSuggestion.java
+++ b/core/java/android/app/timezonedetector/ManualTimeZoneSuggestion.java
@@ -28,10 +28,14 @@ import java.util.List;
import java.util.Objects;
/**
- * A time signal from a manual (user provided) source. The value consists of the number of
- * milliseconds elapsed since 1/1/1970 00:00:00 UTC and the time according to the elapsed realtime
- * clock when that number was established. The elapsed realtime clock is considered accurate but
- * volatile, so time signals must not be persisted across device resets.
+ * A time signal from a manual (user provided) source.
+ *
+ * <p>{@code zoneId} contains the suggested time zone ID, e.g. "America/Los_Angeles".
+ *
+ * <p>{@code debugInfo} contains debugging metadata associated with the suggestion. This is used to
+ * record why the suggestion exists and how it was entered. This information exists only to aid in
+ * debugging and therefore is used by {@link #toString()}, but it is not for use in detection logic
+ * and is not considered in {@link #hashCode()} or {@link #equals(Object)}.
*
* @hide
*/
@@ -48,10 +52,8 @@ public final class ManualTimeZoneSuggestion implements Parcelable {
}
};
- @NonNull
- private final String mZoneId;
- @Nullable
- private ArrayList<String> mDebugInfo;
+ @NonNull private final String mZoneId;
+ @Nullable private ArrayList<String> mDebugInfo;
public ManualTimeZoneSuggestion(@NonNull String zoneId) {
mZoneId = Objects.requireNonNull(zoneId);
diff --git a/core/java/android/app/timezonedetector/PhoneTimeZoneSuggestion.java b/core/java/android/app/timezonedetector/PhoneTimeZoneSuggestion.java
index d71ffcb9f772..0544ccd3f4c5 100644
--- a/core/java/android/app/timezonedetector/PhoneTimeZoneSuggestion.java
+++ b/core/java/android/app/timezonedetector/PhoneTimeZoneSuggestion.java
@@ -34,10 +34,14 @@ import java.util.Objects;
* A time zone suggestion from an identified telephony source, e.g. from MCC and NITZ information
* associated with a specific radio.
*
- * <p>The time zone ID can be {@code null} to indicate that the telephony source has entered an
- * "un-opinionated" state and any previous suggestions from that source are being withdrawn.
- * When not {@code null}, the value consists of a suggested time zone ID and metadata that can be
- * used to judge quality / certainty of the suggestion.
+ * <p>{@code slotIndex} identifies the suggestion source. This enables detection logic to identify
+ * suggestions from the same source when there are several in use.
+ *
+ * <p>{@code zoneId}. When not {@code null}, {@code zoneId} contains the suggested time zone ID,
+ * e.g. "America/Los_Angeles". Suggestion metadata like {@code matchType} and {@code quality} can be
+ * used to judge quality / certainty of the suggestion. {@code zoneId} can be {@code null} to
+ * indicate that the telephony source has entered an "un-opinionated" state and any previous
+ * suggestion from the same source is being withdrawn.
*
* <p>{@code matchType} must be set to {@link #MATCH_TYPE_NA} when {@code zoneId} is {@code null},
* and one of the other {@code MATCH_TYPE_} values when it is not {@code null}.
@@ -45,6 +49,12 @@ import java.util.Objects;
* <p>{@code quality} must be set to {@link #QUALITY_NA} when {@code zoneId} is {@code null},
* and one of the other {@code QUALITY_} values when it is not {@code null}.
*
+ * <p>{@code debugInfo} contains debugging metadata associated with the suggestion. This is used to
+ * record why the suggestion exists, e.g. what triggered it to be made and what heuristic was used
+ * to determine the time zone or its absence. This information exists only to aid in debugging and
+ * therefore is used by {@link #toString()}, but it is not for use in detection logic and is not
+ * considered in {@link #hashCode()} or {@link #equals(Object)}.
+ *
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@@ -66,12 +76,12 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
/**
* Creates an empty time zone suggestion, i.e. one that will cancel previous suggestions with
- * the same {@code phoneId}.
+ * the same {@code slotIndex}.
*/
@NonNull
public static PhoneTimeZoneSuggestion createEmptySuggestion(
- int phoneId, @NonNull String debugInfo) {
- return new Builder(phoneId).addDebugInfo(debugInfo).build();
+ int slotIndex, @NonNull String debugInfo) {
+ return new Builder(slotIndex).addDebugInfo(debugInfo).build();
}
/** @hide */
@@ -131,41 +141,14 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
*/
public static final int QUALITY_MULTIPLE_ZONES_WITH_DIFFERENT_OFFSETS = 3;
- /**
- * The ID of the phone this suggestion is associated with. For multiple-sim devices this
- * helps to establish source so filtering / stickiness can be implemented.
- */
- private final int mPhoneId;
-
- /**
- * The suggestion. {@code null} means there is no current suggestion and any previous suggestion
- * should be forgotten.
- */
- @Nullable
- private final String mZoneId;
-
- /**
- * The type of "match" used to establish the time zone.
- */
- @MatchType
- private final int mMatchType;
-
- /**
- * A measure of the quality of the time zone suggestion, i.e. how confident one could be in
- * it.
- */
- @Quality
- private final int mQuality;
-
- /**
- * Free-form debug information about how the suggestion was derived. Used for debug only,
- * intentionally not used in equals(), etc.
- */
- @Nullable
- private List<String> mDebugInfo;
+ private final int mSlotIndex;
+ @Nullable private final String mZoneId;
+ @MatchType private final int mMatchType;
+ @Quality private final int mQuality;
+ @Nullable private List<String> mDebugInfo;
private PhoneTimeZoneSuggestion(Builder builder) {
- mPhoneId = builder.mPhoneId;
+ mSlotIndex = builder.mSlotIndex;
mZoneId = builder.mZoneId;
mMatchType = builder.mMatchType;
mQuality = builder.mQuality;
@@ -175,8 +158,8 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
@SuppressWarnings("unchecked")
private static PhoneTimeZoneSuggestion createFromParcel(Parcel in) {
// Use the Builder so we get validation during build().
- int phoneId = in.readInt();
- PhoneTimeZoneSuggestion suggestion = new Builder(phoneId)
+ int slotIndex = in.readInt();
+ PhoneTimeZoneSuggestion suggestion = new Builder(slotIndex)
.setZoneId(in.readString())
.setMatchType(in.readInt())
.setQuality(in.readInt())
@@ -190,7 +173,7 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
- dest.writeInt(mPhoneId);
+ dest.writeInt(mSlotIndex);
dest.writeString(mZoneId);
dest.writeInt(mMatchType);
dest.writeInt(mQuality);
@@ -203,17 +186,19 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
}
/**
- * Returns an identifier for the source of this suggestion. When a device has several "phones",
- * i.e. sim slots or equivalent, it is used to identify which one.
+ * Returns an identifier for the source of this suggestion.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code slotIndex}.
*/
- public int getPhoneId() {
- return mPhoneId;
+ public int getSlotIndex() {
+ return mSlotIndex;
}
/**
* Returns the suggested time zone Olson ID, e.g. "America/Los_Angeles". {@code null} means that
- * the caller is no longer sure what the current time zone is. See
- * {@link PhoneTimeZoneSuggestion} for the associated {@code matchType} / {@code quality} rules.
+ * the caller is no longer sure what the current time zone is.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code zoneId}.
*/
@Nullable
public String getZoneId() {
@@ -222,8 +207,9 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
/**
* Returns information about how the suggestion was determined which could be used to rank
- * suggestions when several are available from different sources. See
- * {@link PhoneTimeZoneSuggestion} for the associated rules.
+ * suggestions when several are available from different sources.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code matchType}.
*/
@MatchType
public int getMatchType() {
@@ -231,8 +217,9 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
}
/**
- * Returns information about the likelihood of the suggested zone being correct. See
- * {@link PhoneTimeZoneSuggestion} for the associated rules.
+ * Returns information about the likelihood of the suggested zone being correct.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code quality}.
*/
@Quality
public int getQuality() {
@@ -240,8 +227,9 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
}
/**
- * Returns debug metadata for the suggestion. The information is present in {@link #toString()}
- * but is not considered for {@link #equals(Object)} and {@link #hashCode()}.
+ * Returns debug metadata for the suggestion.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code debugInfo}.
*/
@NonNull
public List<String> getDebugInfo() {
@@ -250,9 +238,9 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
}
/**
- * Associates information with the instance that can be useful for debugging / logging. The
- * information is present in {@link #toString()} but is not considered for
- * {@link #equals(Object)} and {@link #hashCode()}.
+ * Associates information with the instance that can be useful for debugging / logging.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code debugInfo}.
*/
public void addDebugInfo(@NonNull String debugInfo) {
if (mDebugInfo == null) {
@@ -262,9 +250,9 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
}
/**
- * Associates information with the instance that can be useful for debugging / logging. The
- * information is present in {@link #toString()} but is not considered for
- * {@link #equals(Object)} and {@link #hashCode()}.
+ * Associates information with the instance that can be useful for debugging / logging.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code debugInfo}.
*/
public void addDebugInfo(@NonNull List<String> debugInfo) {
if (mDebugInfo == null) {
@@ -282,7 +270,7 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
return false;
}
PhoneTimeZoneSuggestion that = (PhoneTimeZoneSuggestion) o;
- return mPhoneId == that.mPhoneId
+ return mSlotIndex == that.mSlotIndex
&& mMatchType == that.mMatchType
&& mQuality == that.mQuality
&& Objects.equals(mZoneId, that.mZoneId);
@@ -290,13 +278,13 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
@Override
public int hashCode() {
- return Objects.hash(mPhoneId, mZoneId, mMatchType, mQuality);
+ return Objects.hash(mSlotIndex, mZoneId, mMatchType, mQuality);
}
@Override
public String toString() {
return "PhoneTimeZoneSuggestion{"
- + "mPhoneId=" + mPhoneId
+ + "mSlotIndex=" + mSlotIndex
+ ", mZoneId='" + mZoneId + '\''
+ ", mMatchType=" + mMatchType
+ ", mQuality=" + mQuality
@@ -311,18 +299,25 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public static final class Builder {
- private final int mPhoneId;
+ private final int mSlotIndex;
@Nullable private String mZoneId;
@MatchType private int mMatchType;
@Quality private int mQuality;
@Nullable private List<String> mDebugInfo;
- public Builder(int phoneId) {
- mPhoneId = phoneId;
+ /**
+ * Creates a builder with the specified {@code slotIndex}.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code slotIndex}.
+ */
+ public Builder(int slotIndex) {
+ mSlotIndex = slotIndex;
}
/**
* Returns the builder for call chaining.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code zoneId}.
*/
@NonNull
public Builder setZoneId(@Nullable String zoneId) {
@@ -330,21 +325,33 @@ public final class PhoneTimeZoneSuggestion implements Parcelable {
return this;
}
- /** Returns the builder for call chaining. */
+ /**
+ * Returns the builder for call chaining.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code matchType}.
+ */
@NonNull
public Builder setMatchType(@MatchType int matchType) {
mMatchType = matchType;
return this;
}
- /** Returns the builder for call chaining. */
+ /**
+ * Returns the builder for call chaining.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code quality}.
+ */
@NonNull
public Builder setQuality(@Quality int quality) {
mQuality = quality;
return this;
}
- /** Returns the builder for call chaining. */
+ /**
+ * Returns the builder for call chaining.
+ *
+ * <p>See {@link PhoneTimeZoneSuggestion} for more information about {@code debugInfo}.
+ */
@NonNull
public Builder addDebugInfo(@NonNull String debugInfo) {
if (mDebugInfo == null) {
diff --git a/core/java/android/app/timezonedetector/TimeZoneDetector.java b/core/java/android/app/timezonedetector/TimeZoneDetector.java
index 5b5f311264e3..b4f608787d4a 100644
--- a/core/java/android/app/timezonedetector/TimeZoneDetector.java
+++ b/core/java/android/app/timezonedetector/TimeZoneDetector.java
@@ -21,29 +21,25 @@ import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.content.Context;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.ServiceManager.ServiceNotFoundException;
-import android.util.Log;
/**
* The interface through which system components can send signals to the TimeZoneDetectorService.
*
- * <p>This class is non-final for mockito.
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@SystemService(Context.TIME_ZONE_DETECTOR_SERVICE)
-public class TimeZoneDetector {
- private static final String TAG = "timezonedetector.TimeZoneDetector";
- private static final boolean DEBUG = false;
+public interface TimeZoneDetector {
- private final ITimeZoneDetectorService mITimeZoneDetectorService;
-
- /** @hide */
- public TimeZoneDetector() throws ServiceNotFoundException {
- mITimeZoneDetectorService = ITimeZoneDetectorService.Stub.asInterface(
- ServiceManager.getServiceOrThrow(Context.TIME_ZONE_DETECTOR_SERVICE));
+ /**
+ * A shared utility method to create a {@link ManualTimeZoneSuggestion}.
+ *
+ * @hide
+ */
+ static ManualTimeZoneSuggestion createManualTimeZoneSuggestion(String tzId, String debugInfo) {
+ ManualTimeZoneSuggestion suggestion = new ManualTimeZoneSuggestion(tzId);
+ suggestion.addDebugInfo(debugInfo);
+ return suggestion;
}
/**
@@ -55,16 +51,7 @@ public class TimeZoneDetector {
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
@RequiresPermission(android.Manifest.permission.SUGGEST_PHONE_TIME_AND_ZONE)
- public void suggestPhoneTimeZone(@NonNull PhoneTimeZoneSuggestion timeZoneSuggestion) {
- if (DEBUG) {
- Log.d(TAG, "suggestPhoneTimeZone called: " + timeZoneSuggestion);
- }
- try {
- mITimeZoneDetectorService.suggestPhoneTimeZone(timeZoneSuggestion);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
+ void suggestPhoneTimeZone(@NonNull PhoneTimeZoneSuggestion timeZoneSuggestion);
/**
* Suggests the current time zone, determined for the user's manually information, to the
@@ -73,25 +60,5 @@ public class TimeZoneDetector {
* @hide
*/
@RequiresPermission(android.Manifest.permission.SUGGEST_MANUAL_TIME_AND_ZONE)
- public void suggestManualTimeZone(@NonNull ManualTimeZoneSuggestion timeZoneSuggestion) {
- if (DEBUG) {
- Log.d(TAG, "suggestManualTimeZone called: " + timeZoneSuggestion);
- }
- try {
- mITimeZoneDetectorService.suggestManualTimeZone(timeZoneSuggestion);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
- /**
- * A shared utility method to create a {@link ManualTimeZoneSuggestion}.
- *
- * @hide
- */
- public static ManualTimeZoneSuggestion createManualTimeZoneSuggestion(String tzId, String why) {
- ManualTimeZoneSuggestion suggestion = new ManualTimeZoneSuggestion(tzId);
- suggestion.addDebugInfo(why);
- return suggestion;
- }
+ void suggestManualTimeZone(@NonNull ManualTimeZoneSuggestion timeZoneSuggestion);
}
diff --git a/core/java/android/app/timezonedetector/TimeZoneDetectorImpl.java b/core/java/android/app/timezonedetector/TimeZoneDetectorImpl.java
new file mode 100644
index 000000000000..27b8374db172
--- /dev/null
+++ b/core/java/android/app/timezonedetector/TimeZoneDetectorImpl.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app.timezonedetector;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.ServiceManager.ServiceNotFoundException;
+import android.util.Log;
+
+/**
+ * The real implementation of {@link TimeZoneDetector}.
+ *
+ * @hide
+ */
+public final class TimeZoneDetectorImpl implements TimeZoneDetector {
+ private static final String TAG = "timezonedetector.TimeZoneDetector";
+ private static final boolean DEBUG = false;
+
+ private final ITimeZoneDetectorService mITimeZoneDetectorService;
+
+ public TimeZoneDetectorImpl() throws ServiceNotFoundException {
+ mITimeZoneDetectorService = ITimeZoneDetectorService.Stub.asInterface(
+ ServiceManager.getServiceOrThrow(Context.TIME_ZONE_DETECTOR_SERVICE));
+ }
+
+ @Override
+ public void suggestPhoneTimeZone(@NonNull PhoneTimeZoneSuggestion timeZoneSuggestion) {
+ if (DEBUG) {
+ Log.d(TAG, "suggestPhoneTimeZone called: " + timeZoneSuggestion);
+ }
+ try {
+ mITimeZoneDetectorService.suggestPhoneTimeZone(timeZoneSuggestion);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ @Override
+ public void suggestManualTimeZone(@NonNull ManualTimeZoneSuggestion timeZoneSuggestion) {
+ if (DEBUG) {
+ Log.d(TAG, "suggestManualTimeZone called: " + timeZoneSuggestion);
+ }
+ try {
+ mITimeZoneDetectorService.suggestManualTimeZone(timeZoneSuggestion);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+}
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index e24b0403cd6a..b73d311dd52e 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -1766,6 +1766,45 @@ public final class BluetoothAdapter {
}
/**
+ * Removes the active device for the grouping of @ActiveDeviceUse specified
+ *
+ * @param profiles represents the purpose for which we are setting this as the active device.
+ * Possible values are:
+ * {@link BluetoothAdapter#ACTIVE_DEVICE_AUDIO},
+ * {@link BluetoothAdapter#ACTIVE_DEVICE_PHONE_CALL},
+ * {@link BluetoothAdapter#ACTIVE_DEVICE_ALL}
+ * @return false on immediate error, true otherwise
+ * @throws IllegalArgumentException if device is null or profiles is not one of
+ * {@link ActiveDeviceUse}
+ * @hide
+ */
+ @SystemApi
+ @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
+ public boolean removeActiveDevice(@ActiveDeviceUse int profiles) {
+ if (profiles != ACTIVE_DEVICE_AUDIO && profiles != ACTIVE_DEVICE_PHONE_CALL
+ && profiles != ACTIVE_DEVICE_ALL) {
+ Log.e(TAG, "Invalid profiles param value in removeActiveDevice");
+ throw new IllegalArgumentException("Profiles must be one of "
+ + "BluetoothAdapter.ACTIVE_DEVICE_AUDIO, "
+ + "BluetoothAdapter.ACTIVE_DEVICE_PHONE_CALL, or "
+ + "BluetoothAdapter.ACTIVE_DEVICE_ALL");
+ }
+ try {
+ mServiceLock.readLock().lock();
+ if (mService != null) {
+ return mService.removeActiveDevice(profiles);
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "", e);
+ } finally {
+ mServiceLock.readLock().unlock();
+ }
+
+ return false;
+ }
+
+ /**
+ * Sets device as the active devices for the profiles passed into the function
*
* @param device is the remote bluetooth device
* @param profiles represents the purpose for which we are setting this as the active device.
@@ -1774,18 +1813,26 @@ public final class BluetoothAdapter {
* {@link BluetoothAdapter#ACTIVE_DEVICE_PHONE_CALL},
* {@link BluetoothAdapter#ACTIVE_DEVICE_ALL}
* @return false on immediate error, true otherwise
+ * @throws IllegalArgumentException if device is null or profiles is not one of
+ * {@link ActiveDeviceUse}
* @hide
*/
@SystemApi
- @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
- public boolean setActiveDevice(@Nullable BluetoothDevice device,
+ @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
+ public boolean setActiveDevice(@NonNull BluetoothDevice device,
@ActiveDeviceUse int profiles) {
+ if (device == null) {
+ Log.e(TAG, "setActiveDevice: Null device passed as parameter");
+ throw new IllegalArgumentException("device cannot be null");
+ }
if (profiles != ACTIVE_DEVICE_AUDIO && profiles != ACTIVE_DEVICE_PHONE_CALL
&& profiles != ACTIVE_DEVICE_ALL) {
Log.e(TAG, "Invalid profiles param value in setActiveDevice");
- return false;
+ throw new IllegalArgumentException("Profiles must be one of "
+ + "BluetoothAdapter.ACTIVE_DEVICE_AUDIO, "
+ + "BluetoothAdapter.ACTIVE_DEVICE_PHONE_CALL, or "
+ + "BluetoothAdapter.ACTIVE_DEVICE_ALL");
}
-
try {
mServiceLock.readLock().lock();
if (mService != null) {
@@ -2162,6 +2209,33 @@ public final class BluetoothAdapter {
}
/**
+ * Fetches a list of the most recently connected bluetooth devices ordered by how recently they
+ * were connected with most recently first and least recently last
+ *
+ * @return {@link List} of bonded {@link BluetoothDevice} ordered by how recently they were
+ * connected
+ *
+ * @hide
+ */
+ @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
+ public @NonNull List<BluetoothDevice> getMostRecentlyConnectedDevices() {
+ if (getState() != STATE_ON) {
+ return new ArrayList<>();
+ }
+ try {
+ mServiceLock.readLock().lock();
+ if (mService != null) {
+ return mService.getMostRecentlyConnectedDevices();
+ }
+ } catch (RemoteException e) {
+ Log.e(TAG, "", e);
+ } finally {
+ mServiceLock.readLock().unlock();
+ }
+ return new ArrayList<>();
+ }
+
+ /**
* Return the set of {@link BluetoothDevice} objects that are bonded
* (paired) to the local adapter.
* <p>If Bluetooth state is not {@link #STATE_ON}, this API
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index 12dc814c3416..5b60b85f4721 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -23,6 +23,7 @@ import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
+import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
@@ -179,9 +180,10 @@ public final class BluetoothDevice implements Parcelable {
* <p>Always contains the extra field {@link #EXTRA_DEVICE}.
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} to receive.
*/
+ @SuppressLint("ActionValue")
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
public static final String ACTION_ALIAS_CHANGED =
- "android.bluetooth.action.ALIAS_CHANGED";
+ "android.bluetooth.device.action.ALIAS_CHANGED";
/**
* Broadcast Action: Indicates a change in the bond state of a remote
@@ -1091,7 +1093,7 @@ public final class BluetoothDevice implements Parcelable {
* @hide
*/
@SystemApi
- @RequiresPermission(Manifest.permission.BLUETOOTH)
+ @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
public boolean setAlias(@NonNull String alias) {
final IBluetooth service = sService;
if (service == null) {
diff --git a/core/java/android/bluetooth/BluetoothHidDevice.java b/core/java/android/bluetooth/BluetoothHidDevice.java
index a923be62fbce..b5959c06cc1a 100644
--- a/core/java/android/bluetooth/BluetoothHidDevice.java
+++ b/core/java/android/bluetooth/BluetoothHidDevice.java
@@ -706,7 +706,7 @@ public final class BluetoothHidDevice implements BluetoothProfile {
* @hide
*/
@SystemApi
- @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
+ @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
public boolean setConnectionPolicy(@NonNull BluetoothDevice device,
@ConnectionPolicy int connectionPolicy) {
log("setConnectionPolicy(" + device + ", " + connectionPolicy + ")");
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index c271e3c66adc..e1942da8ac7f 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -49,6 +49,7 @@ import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ParcelFileDescriptor;
import android.os.Process;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import android.os.Trace;
import android.os.UserHandle;
@@ -300,6 +301,13 @@ public abstract class ContentProvider implements ContentInterface, ComponentCall
}
@Override
+ public void getTypeAsync(Uri uri, RemoteCallback callback) {
+ final Bundle result = new Bundle();
+ result.putString(ContentResolver.REMOTE_CALLBACK_RESULT, getType(uri));
+ callback.sendResult(result);
+ }
+
+ @Override
public Uri insert(String callingPkg, @Nullable String featureId, Uri uri,
ContentValues initialValues, Bundle extras) {
uri = validateIncomingUri(uri);
diff --git a/core/java/android/content/ContentProviderNative.java b/core/java/android/content/ContentProviderNative.java
index 45ace4010961..0f1442d864ba 100644
--- a/core/java/android/content/ContentProviderNative.java
+++ b/core/java/android/content/ContentProviderNative.java
@@ -33,6 +33,7 @@ import android.os.ICancellationSignal;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import java.io.FileNotFoundException;
@@ -146,6 +147,14 @@ abstract public class ContentProviderNative extends Binder implements IContentPr
return true;
}
+ case GET_TYPE_ASYNC_TRANSACTION: {
+ data.enforceInterface(IContentProvider.descriptor);
+ Uri url = Uri.CREATOR.createFromParcel(data);
+ RemoteCallback callback = RemoteCallback.CREATOR.createFromParcel(data);
+ getTypeAsync(url, callback);
+ return true;
+ }
+
case INSERT_TRANSACTION:
{
data.enforceInterface(IContentProvider.descriptor);
@@ -495,6 +504,22 @@ final class ContentProviderProxy implements IContentProvider
}
@Override
+ /* oneway */ public void getTypeAsync(Uri uri, RemoteCallback callback) throws RemoteException {
+ Parcel data = Parcel.obtain();
+ try {
+ data.writeInterfaceToken(IContentProvider.descriptor);
+
+ uri.writeToParcel(data, 0);
+ callback.writeToParcel(data, 0);
+
+ mRemote.transact(IContentProvider.GET_TYPE_ASYNC_TRANSACTION, data, null,
+ IBinder.FLAG_ONEWAY);
+ } finally {
+ data.recycle();
+ }
+ }
+
+ @Override
public Uri insert(String callingPkg, @Nullable String featureId, Uri url,
ContentValues values, Bundle extras) throws RemoteException
{
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index 6cd1cd3354c2..f32a4ab43357 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -55,6 +55,7 @@ import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.OperationCanceledException;
import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
@@ -67,6 +68,7 @@ import android.util.Log;
import android.util.Size;
import android.util.SparseArray;
+import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.MimeIconUtils;
import dalvik.system.CloseGuard;
@@ -695,6 +697,9 @@ public abstract class ContentResolver implements ContentInterface {
private static final int SLOW_THRESHOLD_MILLIS = 500;
private final Random mRandom = new Random(); // guarded by itself
+ /** @hide */
+ public static final String REMOTE_CALLBACK_RESULT = "result";
+
public ContentResolver(@Nullable Context context) {
this(context, null);
}
@@ -807,7 +812,10 @@ public abstract class ContentResolver implements ContentInterface {
IContentProvider provider = acquireExistingProvider(url);
if (provider != null) {
try {
- return provider.getType(url);
+ final GetTypeResultListener resultListener = new GetTypeResultListener();
+ provider.getTypeAsync(url, new RemoteCallback(resultListener));
+ resultListener.waitForResult();
+ return resultListener.type;
} catch (RemoteException e) {
// Arbitrary and not worth documenting, as Activity
// Manager will kill this process shortly anyway.
@@ -825,17 +833,53 @@ public abstract class ContentResolver implements ContentInterface {
}
try {
- String type = ActivityManager.getService().getProviderMimeType(
- ContentProvider.getUriWithoutUserId(url), resolveUserId(url));
- return type;
+ GetTypeResultListener resultListener = new GetTypeResultListener();
+ ActivityManager.getService().getProviderMimeTypeAsync(
+ ContentProvider.getUriWithoutUserId(url),
+ resolveUserId(url),
+ new RemoteCallback(resultListener));
+ resultListener.waitForResult();
+ return resultListener.type;
} catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
+ // We just failed to send a oneway request to the System Server. Nothing to do.
+ return null;
} catch (java.lang.Exception e) {
Log.w(TAG, "Failed to get type for: " + url + " (" + e.getMessage() + ")");
return null;
}
}
+ private static final int GET_TYPE_TIMEOUT_MILLIS = 3000;
+
+ private static class GetTypeResultListener implements RemoteCallback.OnResultListener {
+ @GuardedBy("this")
+ public boolean done;
+
+ @GuardedBy("this")
+ public String type;
+
+ @Override
+ public void onResult(Bundle result) {
+ synchronized (this) {
+ type = result.getString(REMOTE_CALLBACK_RESULT);
+ done = true;
+ notifyAll();
+ }
+ }
+
+ public void waitForResult() {
+ synchronized (this) {
+ if (!done) {
+ try {
+ wait(GET_TYPE_TIMEOUT_MILLIS);
+ } catch (InterruptedException e) {
+ // Ignore
+ }
+ }
+ }
+ }
+ }
+
/**
* Query for the possible MIME types for the representations the given
* content URL can be returned when opened as as stream with
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index a0d5c108869e..249e58244870 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -5064,11 +5064,7 @@ public abstract class Context {
*
* @see #getSystemService(String)
* @see android.app.blob.BlobStoreManager
- *
- * TODO: make this public once BlobStoreManager is ready.
- * @hide
*/
- @TestApi
public static final String BLOB_STORE_SERVICE = "blob_store";
/**
@@ -5103,6 +5099,7 @@ public abstract class Context {
* @hide
*/
@SystemApi
+ @TestApi
public static final String APP_INTEGRITY_SERVICE = "app_integrity";
/**
@@ -5732,14 +5729,13 @@ public abstract class Context {
* shared, however common state (ClassLoader, other Resources for the
* same configuration) may be so the Context itself can be fairly lightweight.
*
- * The returned display Context provides a {@link WindowManager}
- * (see {@link #getSystemService(String)}) that is configured to show windows
- * on the given display. The WindowManager's {@link WindowManager#getDefaultDisplay}
- * method can be used to retrieve the Display from the returned Context.
+ * To obtain an instance of a {@link WindowManager} (see {@link #getSystemService(String)}) that
+ * is configured to show windows on the given display call
+ * {@link #createWindowContext(int, Bundle)} on the returned display Context or use an
+ * {@link android.app.Activity}.
*
- * @param display A {@link Display} object specifying the display
- * for whose metrics the Context's resources should be tailored and upon which
- * new windows should be shown.
+ * @param display A {@link Display} object specifying the display for whose metrics the
+ * Context's resources should be tailored.
*
* @return A {@link Context} for the display.
*/
@@ -5767,7 +5763,7 @@ public abstract class Context {
* final DisplayManager dm = anyContext.getSystemService(DisplayManager.class);
* final Display primaryDisplay = dm.getDisplay(DEFAULT_DISPLAY);
* final Context windowContext = anyContext.createDisplayContext(primaryDisplay)
- * .createWindowContext(TYPE_APPLICATION_OVERLAY);
+ * .createWindowContext(TYPE_APPLICATION_OVERLAY, null);
* final View overlayView = Inflater.from(windowContext).inflate(someLayoutXml, null);
*
* // WindowManager.LayoutParams initialization
@@ -5787,6 +5783,7 @@ public abstract class Context {
* </p>
*
* @param type Window type in {@link WindowManager.LayoutParams}
+ * @param options Bundle used to pass window-related options.
* @return A {@link Context} that can be used to create windows.
* @throws UnsupportedOperationException if this is called on a non-UI context, such as
* {@link android.app.Application Application} or {@link android.app.Service Service}.
@@ -5798,7 +5795,7 @@ public abstract class Context {
* @see #WALLPAPER_SERVICE
* @throws IllegalArgumentException if token is invalid
*/
- public @NonNull Context createWindowContext(int type) {
+ public @NonNull Context createWindowContext(int type, @Nullable Bundle options) {
throw new RuntimeException("Not implemented. Must override in a subclass.");
}
diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java
index b2b7988de896..f6515e806caa 100644
--- a/core/java/android/content/ContextWrapper.java
+++ b/core/java/android/content/ContextWrapper.java
@@ -978,8 +978,8 @@ public class ContextWrapper extends Context {
@Override
@NonNull
- public Context createWindowContext(int type) {
- return mBase.createWindowContext(type);
+ public Context createWindowContext(int type, @Nullable Bundle options) {
+ return mBase.createWindowContext(type, options);
}
@Override
diff --git a/core/java/android/content/IContentProvider.java b/core/java/android/content/IContentProvider.java
index 6f477ff17c67..4658ba109d5f 100644
--- a/core/java/android/content/IContentProvider.java
+++ b/core/java/android/content/IContentProvider.java
@@ -27,6 +27,7 @@ import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.IInterface;
import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import java.io.FileNotFoundException;
@@ -42,6 +43,14 @@ public interface IContentProvider extends IInterface {
@Nullable Bundle queryArgs, @Nullable ICancellationSignal cancellationSignal)
throws RemoteException;
public String getType(Uri url) throws RemoteException;
+
+ /**
+ * An oneway version of getType. The functionality is exactly the same, except that the
+ * call returns immediately, and the resulting type is returned when available via
+ * a binder callback.
+ */
+ void getTypeAsync(Uri uri, RemoteCallback callback) throws RemoteException;
+
@Deprecated
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.Q, publicAlternatives = "Use {@link "
+ "ContentProviderClient#insert(android.net.Uri, android.content.ContentValues)} "
@@ -152,4 +161,5 @@ public interface IContentProvider extends IInterface {
static final int UNCANONICALIZE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 25;
static final int REFRESH_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 26;
static final int CHECK_URI_PERMISSION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 27;
+ int GET_TYPE_ASYNC_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 28;
}
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index acffec98b2fc..6f8a99fce897 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -4284,7 +4284,15 @@ public class Intent implements Parcelable, Cloneable {
public static final String ACTION_SERVICE_STATE = "android.intent.action.SERVICE_STATE";
/**
- * Used for looking up a Data Loader Service provider.
+ * Used by {@link services.core.java.com.android.server.pm.DataLoaderManagerService}
+ * for querying Data Loader Service providers. Data loader service providers register this
+ * intent filter in their manifests, so that they can be looked up and bound to by
+ * {@code DataLoaderManagerService}.
+ *
+ * Data loader service providers must be privileged apps.
+ * See {@link com.android.server.pm.PackageManagerShellCommandDataLoader} as an example of such
+ * data loader service provider.
+ *
* @hide
*/
@SystemApi
diff --git a/core/java/android/content/integrity/AppIntegrityManager.java b/core/java/android/content/integrity/AppIntegrityManager.java
index e53ef66020f1..9f95d4d75f6f 100644
--- a/core/java/android/content/integrity/AppIntegrityManager.java
+++ b/core/java/android/content/integrity/AppIntegrityManager.java
@@ -19,6 +19,7 @@ package android.content.integrity;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.annotation.SystemService;
+import android.annotation.TestApi;
import android.content.Context;
import android.content.IntentSender;
import android.content.pm.ParceledListSlice;
@@ -33,6 +34,7 @@ import android.os.RemoteException;
*
* @hide
*/
+@TestApi
@SystemApi
@SystemService(Context.APP_INTEGRITY_SERVICE)
public class AppIntegrityManager {
@@ -100,4 +102,23 @@ public class AppIntegrityManager {
throw e.rethrowAsRuntimeException();
}
}
+
+ /**
+ * Get current RuleSet on device.
+ *
+ * <p>Warning: this method is only used for tests.
+ *
+ * @hide
+ */
+ @TestApi
+ @NonNull
+ public RuleSet getCurrentRuleSet() {
+ try {
+ ParceledListSlice<Rule> rules = mManager.getCurrentRules();
+ String version = mManager.getCurrentRuleSetVersion();
+ return new RuleSet.Builder().setVersion(version).addRules(rules.getList()).build();
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
+ }
+ }
}
diff --git a/core/java/android/content/integrity/AtomicFormula.java b/core/java/android/content/integrity/AtomicFormula.java
index 4c10a8f7ad38..439d53661b8e 100644
--- a/core/java/android/content/integrity/AtomicFormula.java
+++ b/core/java/android/content/integrity/AtomicFormula.java
@@ -205,6 +205,16 @@ public abstract class AtomicFormula extends IntegrityFormula {
}
@Override
+ public boolean isAppCertificateFormula() {
+ return false;
+ }
+
+ @Override
+ public boolean isInstallerFormula() {
+ return false;
+ }
+
+ @Override
public String toString() {
if (mValue == null || mOperator == null) {
return String.format("(%s)", keyToString(getKey()));
@@ -375,6 +385,16 @@ public abstract class AtomicFormula extends IntegrityFormula {
}
@Override
+ public boolean isAppCertificateFormula() {
+ return getKey() == APP_CERTIFICATE;
+ }
+
+ @Override
+ public boolean isInstallerFormula() {
+ return getKey() == INSTALLER_NAME || getKey() == INSTALLER_CERTIFICATE;
+ }
+
+ @Override
public String toString() {
if (mValue == null || mIsHashedValue == null) {
return String.format("(%s)", keyToString(getKey()));
@@ -440,14 +460,14 @@ public abstract class AtomicFormula extends IntegrityFormula {
}
private static String hashValue(@Key int key, String value) {
- // Hash the string value unless it is a PACKAGE_NAME or INSTALLER_NAME and the value is
- // less than 33 characters.
- if (value.length() <= 32) {
+ // Hash the string value if it is a PACKAGE_NAME or INSTALLER_NAME and the value is
+ // greater than 32 characters.
+ if (value.length() > 32) {
if (key == PACKAGE_NAME || key == INSTALLER_NAME) {
- return value;
+ return hash(value);
}
}
- return hash(value);
+ return value;
}
private static String hash(String value) {
@@ -531,6 +551,16 @@ public abstract class AtomicFormula extends IntegrityFormula {
}
@Override
+ public boolean isAppCertificateFormula() {
+ return false;
+ }
+
+ @Override
+ public boolean isInstallerFormula() {
+ return false;
+ }
+
+ @Override
public String toString() {
if (mValue == null) {
return String.format("(%s)", keyToString(getKey()));
diff --git a/core/java/android/content/integrity/CompoundFormula.java b/core/java/android/content/integrity/CompoundFormula.java
index 56061df21388..14b1197d7f45 100644
--- a/core/java/android/content/integrity/CompoundFormula.java
+++ b/core/java/android/content/integrity/CompoundFormula.java
@@ -131,6 +131,16 @@ public final class CompoundFormula extends IntegrityFormula implements Parcelabl
}
@Override
+ public boolean isAppCertificateFormula() {
+ return getFormulas().stream().anyMatch(formula -> formula.isAppCertificateFormula());
+ }
+
+ @Override
+ public boolean isInstallerFormula() {
+ return getFormulas().stream().anyMatch(formula -> formula.isInstallerFormula());
+ }
+
+ @Override
public String toString() {
StringBuilder sb = new StringBuilder();
if (mFormulas.size() == 1) {
diff --git a/core/java/android/content/integrity/IAppIntegrityManager.aidl b/core/java/android/content/integrity/IAppIntegrityManager.aidl
index 6b73fd70bb99..4714ad7c7989 100644
--- a/core/java/android/content/integrity/IAppIntegrityManager.aidl
+++ b/core/java/android/content/integrity/IAppIntegrityManager.aidl
@@ -25,4 +25,5 @@ interface IAppIntegrityManager {
void updateRuleSet(String version, in ParceledListSlice<Rule> rules, in IntentSender statusReceiver);
String getCurrentRuleSetVersion();
String getCurrentRuleSetProvider();
+ ParceledListSlice<Rule> getCurrentRules();
}
diff --git a/core/java/android/content/integrity/IntegrityFormula.java b/core/java/android/content/integrity/IntegrityFormula.java
index 0660f93e9f01..a2d937e4df31 100644
--- a/core/java/android/content/integrity/IntegrityFormula.java
+++ b/core/java/android/content/integrity/IntegrityFormula.java
@@ -19,6 +19,7 @@ package android.content.integrity;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.content.integrity.AtomicFormula.BooleanAtomicFormula;
import android.content.integrity.AtomicFormula.LongAtomicFormula;
import android.content.integrity.AtomicFormula.StringAtomicFormula;
@@ -37,6 +38,7 @@ import java.util.Arrays;
* @hide
*/
@SystemApi
+@TestApi
@VisibleForTesting
public abstract class IntegrityFormula {
@@ -136,6 +138,21 @@ public abstract class IntegrityFormula {
public abstract @Tag boolean matches(AppInstallMetadata appInstallMetadata);
/**
+ * Returns true when the formula (or one of its atomic formulas) has app certificate as key.
+ *
+ * @hide
+ */
+ public abstract @Tag boolean isAppCertificateFormula();
+
+ /**
+ * Returns true when the formula (or one of its atomic formulas) has installer package name
+ * or installer certificate as key.
+ *
+ * @hide
+ */
+ public abstract @Tag boolean isInstallerFormula();
+
+ /**
* Write an {@link IntegrityFormula} to {@link android.os.Parcel}.
*
* <p>This helper method is needed because non-final class/interface are not allowed to be
diff --git a/core/java/android/content/integrity/Rule.java b/core/java/android/content/integrity/Rule.java
index c421c4076d16..d29e6df5ec39 100644
--- a/core/java/android/content/integrity/Rule.java
+++ b/core/java/android/content/integrity/Rule.java
@@ -21,6 +21,7 @@ import static com.android.internal.util.Preconditions.checkArgument;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.os.Parcel;
import android.os.Parcelable;
@@ -37,6 +38,7 @@ import java.util.Objects;
*
* @hide
*/
+@TestApi
@SystemApi
@VisibleForTesting
public final class Rule implements Parcelable {
diff --git a/core/java/android/content/integrity/RuleSet.java b/core/java/android/content/integrity/RuleSet.java
index b423b54a7d92..e121ff8bbcaa 100644
--- a/core/java/android/content/integrity/RuleSet.java
+++ b/core/java/android/content/integrity/RuleSet.java
@@ -18,6 +18,7 @@ package android.content.integrity;
import android.annotation.NonNull;
import android.annotation.SystemApi;
+import android.annotation.TestApi;
import java.util.ArrayList;
import java.util.Collections;
@@ -29,6 +30,7 @@ import java.util.Objects;
*
* @hide
*/
+@TestApi
@SystemApi
public class RuleSet {
private final String mVersion;
diff --git a/core/java/android/content/om/OverlayManager.java b/core/java/android/content/om/OverlayManager.java
index 33d17763fb24..dbe39547b0ca 100644
--- a/core/java/android/content/om/OverlayManager.java
+++ b/core/java/android/content/om/OverlayManager.java
@@ -44,6 +44,16 @@ public class OverlayManager {
private final IOverlayManager mService;
private final Context mContext;
+ /**
+ * Pre R a {@link java.lang.SecurityException} would only be thrown by setEnabled APIs (e
+ * .g. {@link #setEnabled(String, boolean, UserHandle)}) for a permission error.
+ * Since R this no longer holds true, and {@link java.lang.SecurityException} can be
+ * thrown for any number of reasons, none of which are exposed to the caller.
+ *
+ * <p>To maintain existing API behavior, if a legacy permission failure or actor enforcement
+ * failure occurs for an app not yet targeting R, coerce it into an {@link
+ * java.lang.IllegalStateException}, which existed in the source prior to R.
+ */
@ChangeId
@EnabledAfter(targetSdkVersion = Build.VERSION_CODES.Q)
private static final long THROW_SECURITY_EXCEPTIONS = 147340954;
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index 1aed9772700b..b998539dee9c 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -133,6 +133,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
public int fullBackupContent = 0;
/**
+ * <code>true</code> if the package is capable of presenting a unified interface representing
+ * multiple profiles.
+ * @hide
+ */
+ public boolean crossProfile;
+
+ /**
* The default extra UI options for activities in this application.
* Set from the {@link android.R.attr#uiOptions} attribute in the
* activity's manifest.
@@ -1382,6 +1389,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
pw.println(prefix + "fullBackupContent="
+ (fullBackupContent < 0 ? "false" : "true"));
}
+ pw.println("crossProfile=" + (crossProfile ? "true" : "false"));
if (networkSecurityConfigRes != 0) {
pw.println(prefix + "networkSecurityConfigRes=0x"
+ Integer.toHexString(networkSecurityConfigRes));
@@ -1586,6 +1594,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
uiOptions = orig.uiOptions;
backupAgentName = orig.backupAgentName;
fullBackupContent = orig.fullBackupContent;
+ crossProfile = orig.crossProfile;
networkSecurityConfigRes = orig.networkSecurityConfigRes;
category = orig.category;
targetSandboxVersion = orig.targetSandboxVersion;
@@ -1665,6 +1674,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
dest.writeInt(descriptionRes);
dest.writeInt(uiOptions);
dest.writeInt(fullBackupContent);
+ dest.writeBoolean(crossProfile);
dest.writeInt(networkSecurityConfigRes);
dest.writeInt(category);
dest.writeInt(targetSandboxVersion);
@@ -1741,6 +1751,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
descriptionRes = source.readInt();
uiOptions = source.readInt();
fullBackupContent = source.readInt();
+ crossProfile = source.readBoolean();
networkSecurityConfigRes = source.readInt();
category = source.readInt();
targetSandboxVersion = source.readInt();
diff --git a/core/java/android/content/pm/IShortcutService.aidl b/core/java/android/content/pm/IShortcutService.aidl
index 276853d3b860..747e929eda98 100644
--- a/core/java/android/content/pm/IShortcutService.aidl
+++ b/core/java/android/content/pm/IShortcutService.aidl
@@ -78,4 +78,8 @@ interface IShortcutService {
ParceledListSlice getShareTargets(String packageName, in IntentFilter filter, int userId);
boolean hasShareTargets(String packageName, String packageToCheck, int userId);
+
+ void removeLongLivedShortcuts(String packageName, in List shortcutIds, int userId);
+
+ ParceledListSlice getShortcuts(String packageName, int matchFlags, int userId);
} \ No newline at end of file
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index ed958b118650..cea0b6b5f3ad 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -324,6 +324,11 @@ public class LauncherApps {
*/
public static final int FLAG_MATCH_MANIFEST = 1 << 3;
+ /**
+ * Include cached shortcuts in the result.
+ */
+ public static final int FLAG_MATCH_CACHED = 1 << 4;
+
/** @hide kept for unit tests */
@Deprecated
public static final int FLAG_GET_MANIFEST = FLAG_MATCH_MANIFEST;
@@ -345,11 +350,11 @@ public class LauncherApps {
public static final int FLAG_MATCH_PINNED_BY_ANY_LAUNCHER = 1 << 10;
/**
- * FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED | FLAG_MATCH_MANIFEST
+ * FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED | FLAG_MATCH_MANIFEST | FLAG_MATCH_CACHED
* @hide
*/
public static final int FLAG_MATCH_ALL_KINDS =
- FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED | FLAG_MATCH_MANIFEST;
+ FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED | FLAG_MATCH_MANIFEST | FLAG_MATCH_CACHED;
/**
* FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED | FLAG_MATCH_MANIFEST | FLAG_MATCH_ALL_PINNED
@@ -386,8 +391,8 @@ public class LauncherApps {
FLAG_MATCH_DYNAMIC,
FLAG_MATCH_PINNED,
FLAG_MATCH_MANIFEST,
+ FLAG_MATCH_CACHED,
FLAG_GET_KEY_FIELDS_ONLY,
- FLAG_MATCH_MANIFEST,
})
@Retention(RetentionPolicy.SOURCE)
public @interface QueryFlags {}
@@ -454,6 +459,7 @@ public class LauncherApps {
* <li>{@link #FLAG_MATCH_DYNAMIC}
* <li>{@link #FLAG_MATCH_PINNED}
* <li>{@link #FLAG_MATCH_MANIFEST}
+ * <li>{@link #FLAG_MATCH_CACHED}
* <li>{@link #FLAG_GET_KEY_FIELDS_ONLY}
* </ul>
*/
diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java
index b1b9454aeddd..2acbb97cb20a 100644
--- a/core/java/android/content/pm/PackageInstaller.java
+++ b/core/java/android/content/pm/PackageInstaller.java
@@ -1467,6 +1467,8 @@ public class PackageInstaller {
public DataLoaderParams dataLoaderParams;
/** {@hide} */
public int rollbackDataPolicy = PackageManager.RollbackDataPolicy.RESTORE;
+ /** {@hide} */
+ public boolean forceQueryableOverride;
/**
* Construct parameters for a new package install session.
@@ -1499,6 +1501,7 @@ public class PackageInstaller {
installerPackageName = source.readString();
isMultiPackage = source.readBoolean();
isStaged = source.readBoolean();
+ forceQueryableOverride = source.readBoolean();
requiredInstalledVersionCode = source.readLong();
DataLoaderParamsParcel dataLoaderParamsParcel = source.readParcelable(
DataLoaderParamsParcel.class.getClassLoader());
@@ -1528,6 +1531,7 @@ public class PackageInstaller {
ret.installerPackageName = installerPackageName;
ret.isMultiPackage = isMultiPackage;
ret.isStaged = isStaged;
+ ret.forceQueryableOverride = forceQueryableOverride;
ret.requiredInstalledVersionCode = requiredInstalledVersionCode;
ret.dataLoaderParams = dataLoaderParams;
ret.rollbackDataPolicy = rollbackDataPolicy;
@@ -1904,6 +1908,14 @@ public class PackageInstaller {
this.dataLoaderParams = dataLoaderParams;
}
+ /**
+ *
+ * {@hide}
+ */
+ public void setForceQueryable() {
+ this.forceQueryableOverride = true;
+ }
+
/** {@hide} */
public void dump(IndentingPrintWriter pw) {
pw.printPair("mode", mode);
@@ -1923,6 +1935,7 @@ public class PackageInstaller {
pw.printPair("installerPackageName", installerPackageName);
pw.printPair("isMultiPackage", isMultiPackage);
pw.printPair("isStaged", isStaged);
+ pw.printPair("forceQueryable", forceQueryableOverride);
pw.printPair("requiredInstalledVersionCode", requiredInstalledVersionCode);
pw.printPair("dataLoaderParams", dataLoaderParams);
pw.printPair("rollbackDataPolicy", rollbackDataPolicy);
@@ -1954,6 +1967,7 @@ public class PackageInstaller {
dest.writeString(installerPackageName);
dest.writeBoolean(isMultiPackage);
dest.writeBoolean(isStaged);
+ dest.writeBoolean(forceQueryableOverride);
dest.writeLong(requiredInstalledVersionCode);
if (dataLoaderParams != null) {
dest.writeParcelable(dataLoaderParams.getData(), flags);
@@ -2078,6 +2092,8 @@ public class PackageInstaller {
/** {@hide} */
public boolean isStaged;
/** {@hide} */
+ public boolean forceQueryable;
+ /** {@hide} */
public int parentSessionId = INVALID_ID;
/** {@hide} */
public int[] childSessionIds = NO_SESSIONS;
@@ -2135,6 +2151,7 @@ public class PackageInstaller {
installFlags = source.readInt();
isMultiPackage = source.readBoolean();
isStaged = source.readBoolean();
+ forceQueryable = source.readBoolean();
parentSessionId = source.readInt();
childSessionIds = source.createIntArray();
if (childSessionIds == null) {
@@ -2476,6 +2493,14 @@ public class PackageInstaller {
}
/**
+ * Returns true if this session is marked as forceQueryable
+ * {@hide}
+ */
+ public boolean isForceQueryable() {
+ return forceQueryable;
+ }
+
+ /**
* Returns {@code true} if this session is an active staged session.
*
* We consider a session active if it has been committed and it is either pending
@@ -2636,6 +2661,7 @@ public class PackageInstaller {
dest.writeInt(installFlags);
dest.writeBoolean(isMultiPackage);
dest.writeBoolean(isStaged);
+ dest.writeBoolean(forceQueryable);
dest.writeInt(parentSessionId);
dest.writeIntArray(childSessionIds);
dest.writeBoolean(isStagedSessionApplied);
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index b64c001ea6e2..6d5e8fb0240e 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -1506,6 +1506,15 @@ public abstract class PackageManager {
*/
public static final int INSTALL_FAILED_WRONG_INSTALLED_VERSION = -121;
+ /**
+ * Installation return code: this is passed in the {@link PackageInstaller#EXTRA_LEGACY_STATUS}
+ * if the new package failed because it contains a request to use a process that was not
+ * explicitly defined as part of its &lt;processes&gt; tag.
+ *
+ * @hide
+ */
+ public static final int INSTALL_FAILED_PROCESS_NOT_DEFINED = -122;
+
/** @hide */
@IntDef(flag = true, prefix = { "DELETE_" }, value = {
DELETE_KEEP_DATA,
@@ -7237,6 +7246,7 @@ public abstract class PackageManager {
case INSTALL_FAILED_MISSING_SPLIT: return "INSTALL_FAILED_MISSING_SPLIT";
case INSTALL_FAILED_BAD_SIGNATURE: return "INSTALL_FAILED_BAD_SIGNATURE";
case INSTALL_FAILED_WRONG_INSTALLED_VERSION: return "INSTALL_FAILED_WRONG_INSTALLED_VERSION";
+ case INSTALL_FAILED_PROCESS_NOT_DEFINED: return "INSTALL_FAILED_PROCESS_NOT_DEFINED";
default: return Integer.toString(status);
}
}
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index dbfc65066c11..b6b27b6e514a 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -954,6 +954,10 @@ public class PackageParser {
throw new PackageParserException(INSTALL_PARSE_FAILED_NOT_APK,
"No packages found in split");
}
+ // Apk directory is directly nested under the current directory
+ if (files.length == 1 && files[0].isDirectory()) {
+ return parseClusterPackageLite(files[0], flags);
+ }
String packageName = null;
int versionCode = 0;
@@ -1327,12 +1331,9 @@ public class PackageParser {
}
}
- pkg.setCodePath(packageDir.getCanonicalPath());
+ pkg.setCodePath(lite.codePath);
pkg.setUse32bitAbi(lite.use32bitAbi);
return pkg;
- } catch (IOException e) {
- throw new PackageParserException(INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION,
- "Failed to get path: " + lite.baseCodePath, e);
} finally {
IoUtils.closeQuietly(assetLoader);
}
@@ -1584,7 +1585,8 @@ public class PackageParser {
throws PackageParserException {
final String apkPath = apkFile.getAbsolutePath();
- int minSignatureScheme = SigningDetails.SignatureSchemeVersion.JAR;
+ int minSignatureScheme = ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(
+ pkg.applicationInfo.targetSdkVersion);
if (pkg.applicationInfo.isStaticSharedLibrary()) {
// must use v2 signing scheme
minSignatureScheme = SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V2;
@@ -8521,7 +8523,8 @@ public class PackageParser {
Display.DEFAULT_DISPLAY,
null,
systemResources.getCompatibilityInfo(),
- systemResources.getClassLoader());
+ systemResources.getClassLoader(),
+ null);
sUseRoundIcon = overlayableRes.getBoolean(com.android.internal.R.bool.config_useRoundIcon);
}
diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java
index a0f089b2df41..3aa1a6d3f8ff 100644
--- a/core/java/android/content/pm/PermissionInfo.java
+++ b/core/java/android/content/pm/PermissionInfo.java
@@ -259,6 +259,17 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
@TestApi
public static final int PROTECTION_FLAG_COMPANION = 0x800000;
+ /**
+ * Additional flag for {@link #protectionLevel}, corresponding
+ * to the <code>retailDemo</code> value of
+ * {@link android.R.attr#protectionLevel}.
+ *
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ public static final int PROTECTION_FLAG_RETAIL_DEMO = 0x1000000;
+
/** @hide */
@IntDef(flag = true, prefix = { "PROTECTION_FLAG_" }, value = {
PROTECTION_FLAG_PRIVILEGED,
@@ -282,6 +293,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
PROTECTION_FLAG_APP_PREDICTOR,
PROTECTION_FLAG_TELEPHONY,
PROTECTION_FLAG_COMPANION,
+ PROTECTION_FLAG_RETAIL_DEMO,
})
@Retention(RetentionPolicy.SOURCE)
public @interface ProtectionFlags {}
@@ -528,6 +540,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable {
if ((level & PermissionInfo.PROTECTION_FLAG_TELEPHONY) != 0) {
protLevel += "|telephony";
}
+ if ((level & PermissionInfo.PROTECTION_FLAG_RETAIL_DEMO) != 0) {
+ protLevel += "|retailDemo";
+ }
return protLevel;
}
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index d5fb848c2692..bde4f614a39e 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -120,6 +120,9 @@ public final class ShortcutInfo implements Parcelable {
public static final int FLAG_LONG_LIVED = 1 << 13;
/** @hide */
+ public static final int FLAG_CACHED = 1 << 14;
+
+ /** @hide */
@IntDef(flag = true, prefix = { "FLAG_" }, value = {
FLAG_DYNAMIC,
FLAG_PINNED,
@@ -135,6 +138,7 @@ public final class ShortcutInfo implements Parcelable {
FLAG_ICON_FILE_PENDING_SAVE,
FLAG_SHADOW,
FLAG_LONG_LIVED,
+ FLAG_CACHED,
})
@Retention(RetentionPolicy.SOURCE)
public @interface ShortcutFlags {}
@@ -1681,6 +1685,16 @@ public final class ShortcutInfo implements Parcelable {
addFlags(FLAG_LONG_LIVED);
}
+ /** @hide */
+ public void setCached() {
+ addFlags(FLAG_CACHED);
+ }
+
+ /** Return whether a shortcut is cached. */
+ public boolean isCached() {
+ return hasFlags(FLAG_CACHED);
+ }
+
/** Return whether a shortcut is dynamic. */
public boolean isDynamic() {
return hasFlags(FLAG_DYNAMIC);
@@ -1765,7 +1779,8 @@ public final class ShortcutInfo implements Parcelable {
/** @hide */
public boolean isAlive() {
- return hasFlags(FLAG_PINNED) || hasFlags(FLAG_DYNAMIC) || hasFlags(FLAG_MANIFEST);
+ return hasFlags(FLAG_PINNED) || hasFlags(FLAG_DYNAMIC) || hasFlags(FLAG_MANIFEST)
+ || hasFlags(FLAG_CACHED);
}
/** @hide */
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index dde8865467a1..3eea3f62fd46 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -16,6 +16,7 @@
package android.content.pm;
import android.Manifest;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -40,6 +41,8 @@ import android.os.ServiceManager;
import com.android.internal.annotations.VisibleForTesting;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.List;
/**
@@ -62,6 +65,44 @@ import java.util.List;
public class ShortcutManager {
private static final String TAG = "ShortcutManager";
+ /**
+ * Include manifest shortcuts in the result.
+ *
+ * @see #getShortcuts(int)
+ */
+ public static final int FLAG_MATCH_MANIFEST = 1 << 0;
+
+ /**
+ * Include dynamic shortcuts in the result.
+ *
+ * @see #getShortcuts(int)
+ */
+ public static final int FLAG_MATCH_DYNAMIC = 1 << 1;
+
+ /**
+ * Include pinned shortcuts in the result.
+ *
+ * @see #getShortcuts(int)
+ */
+ public static final int FLAG_MATCH_PINNED = 1 << 2;
+
+ /**
+ * Include cached shortcuts in the result.
+ *
+ * @see #getShortcuts(int)
+ */
+ public static final int FLAG_MATCH_CACHED = 1 << 3;
+
+ /** @hide */
+ @IntDef(flag = true, prefix = { "FLAG_MATCH_" }, value = {
+ FLAG_MATCH_MANIFEST,
+ FLAG_MATCH_DYNAMIC,
+ FLAG_MATCH_PINNED,
+ FLAG_MATCH_CACHED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ShortcutMatchFlags {}
+
private final Context mContext;
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
private final IShortcutService mService;
@@ -118,8 +159,8 @@ public class ShortcutManager {
@NonNull
public List<ShortcutInfo> getDynamicShortcuts() {
try {
- return mService.getDynamicShortcuts(mContext.getPackageName(), injectMyUserId())
- .getList();
+ return mService.getShortcuts(mContext.getPackageName(), FLAG_MATCH_DYNAMIC,
+ injectMyUserId()).getList();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
@@ -137,7 +178,35 @@ public class ShortcutManager {
@NonNull
public List<ShortcutInfo> getManifestShortcuts() {
try {
- return mService.getManifestShortcuts(mContext.getPackageName(), injectMyUserId())
+ return mService.getShortcuts(mContext.getPackageName(), FLAG_MATCH_MANIFEST,
+ injectMyUserId()).getList();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
+ * Returns {@link ShortcutInfo}s that match {@code matchFlags}.
+ *
+ * @param matchFlags result includes shortcuts matching this flags. Any combination of:
+ * <ul>
+ * <li>{@link #FLAG_MATCH_MANIFEST}
+ * <li>{@link #FLAG_MATCH_DYNAMIC}
+ * <li>{@link #FLAG_MATCH_PINNED}
+ * <li>{@link #FLAG_MATCH_CACHED}
+ * </ul>
+
+ * @return list of {@link ShortcutInfo}s that match the flag.
+ *
+ * <p>At least one of the {@code MATCH} flags should be set. Otherwise no shortcuts will be
+ * returned.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ @NonNull
+ public List<ShortcutInfo> getShortcuts(@ShortcutMatchFlags int matchFlags) {
+ try {
+ return mService.getShortcuts(mContext.getPackageName(), matchFlags, injectMyUserId())
.getList();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
@@ -194,6 +263,20 @@ public class ShortcutManager {
}
/**
+ * Delete long lived shortcuts by ID.
+ *
+ * @throws IllegalStateException when the user is locked.
+ */
+ public void removeLongLivedShortcuts(@NonNull List<String> shortcutIds) {
+ try {
+ mService.removeLongLivedShortcuts(mContext.getPackageName(), shortcutIds,
+ injectMyUserId());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Return all pinned shortcuts from the caller app.
*
* <p>This API is intended to be used for examining what shortcuts are currently published.
@@ -205,8 +288,8 @@ public class ShortcutManager {
@NonNull
public List<ShortcutInfo> getPinnedShortcuts() {
try {
- return mService.getPinnedShortcuts(mContext.getPackageName(), injectMyUserId())
- .getList();
+ return mService.getShortcuts(mContext.getPackageName(), FLAG_MATCH_PINNED,
+ injectMyUserId()).getList();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
diff --git a/core/java/android/content/pm/parsing/ApkLiteParseUtils.java b/core/java/android/content/pm/parsing/ApkLiteParseUtils.java
index 6639b3d5c0b5..5be9c910744d 100644
--- a/core/java/android/content/pm/parsing/ApkLiteParseUtils.java
+++ b/core/java/android/content/pm/parsing/ApkLiteParseUtils.java
@@ -97,6 +97,10 @@ public class ApkLiteParseUtils {
throw new PackageParser.PackageParserException(
PackageManager.INSTALL_PARSE_FAILED_NOT_APK, "No packages found in split");
}
+ // Apk directory is directly nested under the current directory
+ if (files.length == 1 && files[0].isDirectory()) {
+ return parseClusterPackageLite(files[0], flags);
+ }
String packageName = null;
int versionCode = 0;
@@ -231,9 +235,9 @@ public class ApkLiteParseUtils {
final boolean skipVerify = (flags & PackageParser.PARSE_IS_SYSTEM_DIR) != 0;
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "collectCertificates");
try {
- signingDetails =
- ApkParseUtils.collectCertificates(apkFile.getAbsolutePath(), skipVerify,
- false, PackageParser.SigningDetails.UNKNOWN);
+ signingDetails = ApkParseUtils.collectCertificates(apkFile.getAbsolutePath(),
+ skipVerify, false, PackageParser.SigningDetails.UNKNOWN,
+ DEFAULT_TARGET_SDK_VERSION);
} finally {
Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
}
diff --git a/core/java/android/content/pm/parsing/ApkParseUtils.java b/core/java/android/content/pm/parsing/ApkParseUtils.java
index 3018230fac27..5c8c9a41a520 100644
--- a/core/java/android/content/pm/parsing/ApkParseUtils.java
+++ b/core/java/android/content/pm/parsing/ApkParseUtils.java
@@ -205,11 +205,8 @@ public class ApkParseUtils {
}
}
- return parsingPackage.setCodePath(packageDir.getCanonicalPath())
+ return parsingPackage.setCodePath(lite.codePath)
.setUse32BitAbi(lite.use32bitAbi);
- } catch (IOException e) {
- throw new PackageParserException(INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION,
- "Failed to get path: " + lite.baseCodePath, e);
} finally {
IoUtils.closeQuietly(assetLoader);
}
@@ -3176,7 +3173,8 @@ public class ApkParseUtils {
pkg.getBaseCodePath(),
skipVerify,
pkg.isStaticSharedLibrary(),
- pkg.getSigningDetails()
+ pkg.getSigningDetails(),
+ pkg.getTargetSdkVersion()
));
String[] splitCodePaths = pkg.getSplitCodePaths();
@@ -3186,7 +3184,8 @@ public class ApkParseUtils {
splitCodePaths[i],
skipVerify,
pkg.isStaticSharedLibrary(),
- pkg.getSigningDetails()
+ pkg.getSigningDetails(),
+ pkg.getTargetSdkVersion()
));
}
}
@@ -3199,9 +3198,11 @@ public class ApkParseUtils {
String baseCodePath,
boolean skipVerify,
boolean isStaticSharedLibrary,
- @NonNull SigningDetails existingSigningDetails
+ @NonNull SigningDetails existingSigningDetails,
+ int targetSdk
) throws PackageParserException {
- int minSignatureScheme = SigningDetails.SignatureSchemeVersion.JAR;
+ int minSignatureScheme = ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(
+ targetSdk);
if (isStaticSharedLibrary) {
// must use v2 signing scheme
minSignatureScheme = SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V2;
diff --git a/core/java/android/content/pm/parsing/ComponentParseUtils.java b/core/java/android/content/pm/parsing/ComponentParseUtils.java
index 9a0a6d54da50..a0f58120e8a1 100644
--- a/core/java/android/content/pm/parsing/ComponentParseUtils.java
+++ b/core/java/android/content/pm/parsing/ComponentParseUtils.java
@@ -3414,16 +3414,12 @@ public class ComponentParseUtils {
proc.name = sa.getNonConfigurationString(
R.styleable.AndroidManifestProcess_process,0);
proc.name = PackageParser.buildProcessName(parsingPackage.getPackageName(),
- null, proc.name, flags, separateProcesses, outError);
-
- if (proc.name == null || proc.name.length() <= 0) {
- outError[0] = "<process> does not specify android:process";
+ parsingPackage.getPackageName(), proc.name, flags, separateProcesses, outError);
+ if (outError[0] != null) {
return null;
}
- proc.name = PackageParser.buildProcessName(parsingPackage.getPackageName(),
- parsingPackage.getPackageName(), proc.name,
- flags, separateProcesses, outError);
- if (outError[0] != null) {
+ if (proc.name == null || proc.name.length() <= 0) {
+ outError[0] = "<process> does not specify android:process";
return null;
}
} finally {
diff --git a/core/java/android/content/pm/parsing/PackageImpl.java b/core/java/android/content/pm/parsing/PackageImpl.java
index 9baf3258a230..fe8307c7c8cd 100644
--- a/core/java/android/content/pm/parsing/PackageImpl.java
+++ b/core/java/android/content/pm/parsing/PackageImpl.java
@@ -2382,6 +2382,7 @@ public final class PackageImpl implements ParsingPackage, ParsedPackage, Android
appInfo.uiOptions = uiOptions;
appInfo.volumeUuid = volumeUuid;
appInfo.zygotePreloadName = zygotePreloadName;
+ appInfo.crossProfile = isCrossProfile();
appInfo.setBaseCodePath(baseCodePath);
appInfo.setBaseResourcePath(baseCodePath);
diff --git a/core/java/android/content/res/AssetManager.java b/core/java/android/content/res/AssetManager.java
index 96fbe9109c18..1b0175812949 100644
--- a/core/java/android/content/res/AssetManager.java
+++ b/core/java/android/content/res/AssetManager.java
@@ -27,13 +27,12 @@ import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration.NativeConfig;
-import android.content.res.loader.ResourceLoader;
-import android.content.res.loader.ResourceLoaderManager;
+import android.content.res.loader.AssetsProvider;
+import android.content.res.loader.ResourcesLoader;
import android.content.res.loader.ResourcesProvider;
import android.os.ParcelFileDescriptor;
import android.util.ArraySet;
import android.util.Log;
-import android.util.Pair;
import android.util.SparseArray;
import android.util.TypedValue;
@@ -47,6 +46,7 @@ import java.io.InputStream;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -113,12 +113,7 @@ public final class AssetManager implements AutoCloseable {
@GuardedBy("this") private int mNumRefs = 1;
@GuardedBy("this") private HashMap<Long, RuntimeException> mRefStacks;
- private ResourceLoaderManager mResourceLoaderManager;
-
- /** @hide */
- public void setResourceLoaderManager(ResourceLoaderManager resourceLoaderManager) {
- mResourceLoaderManager = resourceLoaderManager;
- }
+ private ResourcesLoader[] mLoaders;
/**
* A Builder class that helps create an AssetManager with only a single invocation of
@@ -130,32 +125,66 @@ public final class AssetManager implements AutoCloseable {
*/
public static class Builder {
private ArrayList<ApkAssets> mUserApkAssets = new ArrayList<>();
+ private ArrayList<ResourcesLoader> mLoaders = new ArrayList<>();
public Builder addApkAssets(ApkAssets apkAssets) {
mUserApkAssets.add(apkAssets);
return this;
}
+ public Builder addLoader(ResourcesLoader loader) {
+ mLoaders.add(loader);
+ return this;
+ }
+
public AssetManager build() {
// Retrieving the system ApkAssets forces their creation as well.
final ApkAssets[] systemApkAssets = getSystem().getApkAssets();
- final int totalApkAssetCount = systemApkAssets.length + mUserApkAssets.size();
+ // Filter ApkAssets so that assets provided by multiple loaders are only included once
+ // in the AssetManager assets. The last appearance of the ApkAssets dictates its load
+ // order.
+ final ArrayList<ApkAssets> loaderApkAssets = new ArrayList<>();
+ final ArraySet<ApkAssets> uniqueLoaderApkAssets = new ArraySet<>();
+ for (int i = mLoaders.size() - 1; i >= 0; i--) {
+ final List<ApkAssets> currentLoaderApkAssets = mLoaders.get(i).getApkAssets();
+ for (int j = currentLoaderApkAssets.size() - 1; j >= 0; j--) {
+ final ApkAssets apkAssets = currentLoaderApkAssets.get(j);
+ if (uniqueLoaderApkAssets.contains(apkAssets)) {
+ continue;
+ }
+
+ uniqueLoaderApkAssets.add(apkAssets);
+ loaderApkAssets.add(0, apkAssets);
+ }
+ }
+
+ final int totalApkAssetCount = systemApkAssets.length + mUserApkAssets.size()
+ + loaderApkAssets.size();
final ApkAssets[] apkAssets = new ApkAssets[totalApkAssetCount];
System.arraycopy(systemApkAssets, 0, apkAssets, 0, systemApkAssets.length);
- final int userApkAssetCount = mUserApkAssets.size();
- for (int i = 0; i < userApkAssetCount; i++) {
+ // Append user ApkAssets after system ApkAssets.
+ for (int i = 0, n = mUserApkAssets.size(); i < n; i++) {
apkAssets[i + systemApkAssets.length] = mUserApkAssets.get(i);
}
+ // Append ApkAssets provided by loaders to the end.
+ for (int i = 0, n = loaderApkAssets.size(); i < n; i++) {
+ apkAssets[i + systemApkAssets.length + mUserApkAssets.size()] =
+ loaderApkAssets.get(i);
+ }
+
// Calling this constructor prevents creation of system ApkAssets, which we took care
// of in this Builder.
final AssetManager assetManager = new AssetManager(false /*sentinel*/);
assetManager.mApkAssets = apkAssets;
AssetManager.nativeSetApkAssets(assetManager.mObject, apkAssets,
false /*invalidateCaches*/);
+ assetManager.mLoaders = mLoaders.isEmpty() ? null
+ : mLoaders.toArray(new ResourcesLoader[0]);
+
return assetManager;
}
}
@@ -432,6 +461,12 @@ public final class AssetManager implements AutoCloseable {
}
}
+ /** @hide */
+ @NonNull
+ public List<ResourcesLoader> getLoaders() {
+ return mLoaders == null ? Collections.emptyList() : Arrays.asList(mLoaders);
+ }
+
/**
* Ensures that the native implementation has not been destroyed.
* The AssetManager may have been closed, but references to it still exist
@@ -1056,38 +1091,70 @@ public final class AssetManager implements AutoCloseable {
}
}
+ private ResourcesProvider findResourcesProvider(int assetCookie) {
+ if (mLoaders == null) {
+ return null;
+ }
+
+ int apkAssetsIndex = assetCookie - 1;
+ if (apkAssetsIndex >= mApkAssets.length || apkAssetsIndex < 0) {
+ return null;
+ }
+
+ final ApkAssets apkAssets = mApkAssets[apkAssetsIndex];
+ if (!apkAssets.isForLoader()) {
+ return null;
+ }
+
+ for (int i = mLoaders.length - 1; i >= 0; i--) {
+ final ResourcesLoader loader = mLoaders[i];
+ for (int j = 0, n = loader.getProviders().size(); j < n; j++) {
+ final ResourcesProvider provider = loader.getProviders().get(j);
+ if (apkAssets == provider.getApkAssets()) {
+ return provider;
+ }
+ }
+ }
+
+ return null;
+ }
+
private InputStream searchLoaders(int cookie, @NonNull String fileName, int accessMode)
throws IOException {
- if (mResourceLoaderManager == null) {
+ if (mLoaders == null) {
return null;
}
- List<Pair<ResourceLoader, ResourcesProvider>> loaders =
- mResourceLoaderManager.getInternalList();
-
- // A cookie of 0 means no specific ApkAssets, so search everything
if (cookie == 0) {
- for (int index = loaders.size() - 1; index >= 0; index--) {
- Pair<ResourceLoader, ResourcesProvider> pair = loaders.get(index);
- try {
- InputStream inputStream = pair.first.loadAsset(fileName, accessMode);
- if (inputStream != null) {
- return inputStream;
+ // A cookie of 0 means no specific ApkAssets, so search everything
+ for (int i = mLoaders.length - 1; i >= 0; i--) {
+ final ResourcesLoader loader = mLoaders[i];
+ final List<ResourcesProvider> providers = loader.getProviders();
+ for (int j = providers.size() - 1; j >= 0; j--) {
+ final AssetsProvider assetsProvider = providers.get(j).getAssetsProvider();
+ if (assetsProvider == null) {
+ continue;
+ }
+
+ try {
+ final InputStream inputStream = assetsProvider.loadAsset(
+ fileName, accessMode);
+ if (inputStream != null) {
+ return inputStream;
+ }
+ } catch (IOException ignored) {
+ // When searching, ignore read failures
}
- } catch (IOException ignored) {
- // When searching, ignore read failures
}
}
return null;
}
- ApkAssets apkAssets = mApkAssets[cookie - 1];
- for (int index = loaders.size() - 1; index >= 0; index--) {
- Pair<ResourceLoader, ResourcesProvider> pair = loaders.get(index);
- if (pair.second.getApkAssets() == apkAssets) {
- return pair.first.loadAsset(fileName, accessMode);
- }
+ final ResourcesProvider provider = findResourcesProvider(cookie);
+ if (provider != null && provider.getAssetsProvider() != null) {
+ return provider.getAssetsProvider().loadAsset(
+ fileName, accessMode);
}
return null;
@@ -1095,43 +1162,48 @@ public final class AssetManager implements AutoCloseable {
private AssetFileDescriptor searchLoadersFd(int cookie, @NonNull String fileName)
throws IOException {
- if (mResourceLoaderManager == null) {
+ if (mLoaders == null) {
return null;
}
- List<Pair<ResourceLoader, ResourcesProvider>> loaders =
- mResourceLoaderManager.getInternalList();
-
- // A cookie of 0 means no specific ApkAssets, so search everything
if (cookie == 0) {
- for (int index = loaders.size() - 1; index >= 0; index--) {
- Pair<ResourceLoader, ResourcesProvider> pair = loaders.get(index);
- try {
- ParcelFileDescriptor fileDescriptor = pair.first.loadAssetFd(fileName);
- if (fileDescriptor != null) {
- return new AssetFileDescriptor(fileDescriptor, 0,
- AssetFileDescriptor.UNKNOWN_LENGTH);
+ // A cookie of 0 means no specific ApkAssets, so search everything
+ for (int i = mLoaders.length - 1; i >= 0; i--) {
+ final ResourcesLoader loader = mLoaders[i];
+ final List<ResourcesProvider> providers = loader.getProviders();
+ for (int j = providers.size() - 1; j >= 0; j--) {
+ final AssetsProvider assetsProvider = providers.get(j).getAssetsProvider();
+ if (assetsProvider == null) {
+ continue;
+ }
+
+ try {
+ final ParcelFileDescriptor fileDescriptor = assetsProvider
+ .loadAssetParcelFd(fileName);
+ if (fileDescriptor != null) {
+ return new AssetFileDescriptor(fileDescriptor, 0,
+ AssetFileDescriptor.UNKNOWN_LENGTH);
+ }
+ } catch (IOException ignored) {
+ // When searching, ignore read failures
}
- } catch (IOException ignored) {
- // When searching, ignore read failures
}
}
return null;
}
- ApkAssets apkAssets = mApkAssets[cookie - 1];
- for (int index = loaders.size() - 1; index >= 0; index--) {
- Pair<ResourceLoader, ResourcesProvider> pair = loaders.get(index);
- if (pair.second.getApkAssets() == apkAssets) {
- ParcelFileDescriptor fileDescriptor = pair.first.loadAssetFd(fileName);
- if (fileDescriptor != null) {
- return new AssetFileDescriptor(fileDescriptor, 0,
- AssetFileDescriptor.UNKNOWN_LENGTH);
- }
- return null;
+ final ResourcesProvider provider = findResourcesProvider(cookie);
+ if (provider != null && provider.getAssetsProvider() != null) {
+ final ParcelFileDescriptor fileDescriptor = provider.getAssetsProvider()
+ .loadAssetParcelFd(fileName);
+ if (fileDescriptor != null) {
+ return new AssetFileDescriptor(fileDescriptor, 0,
+ AssetFileDescriptor.UNKNOWN_LENGTH);
}
+ return null;
}
+
return null;
}
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 4725e0af4eec..471e83c4c3eb 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -30,7 +30,6 @@ import android.annotation.DimenRes;
import android.annotation.DrawableRes;
import android.annotation.FontRes;
import android.annotation.FractionRes;
-import android.annotation.IntRange;
import android.annotation.IntegerRes;
import android.annotation.LayoutRes;
import android.annotation.NonNull;
@@ -41,13 +40,10 @@ import android.annotation.StringRes;
import android.annotation.StyleRes;
import android.annotation.StyleableRes;
import android.annotation.XmlRes;
-import android.app.ResourcesManager;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.pm.ActivityInfo;
import android.content.pm.ActivityInfo.Config;
-import android.content.res.loader.ResourceLoader;
-import android.content.res.loader.ResourceLoaderManager;
-import android.content.res.loader.ResourcesProvider;
+import android.content.res.loader.ResourcesLoader;
import android.graphics.Movie;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
@@ -55,18 +51,17 @@ import android.graphics.drawable.Drawable.ConstantState;
import android.graphics.drawable.DrawableInflater;
import android.os.Build;
import android.os.Bundle;
+import android.util.ArraySet;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.LongSparseArray;
-import android.util.Pair;
import android.util.Pools.SynchronizedPool;
import android.util.TypedValue;
import android.view.DisplayAdjustments;
import android.view.ViewDebug;
import android.view.ViewHierarchyEncoder;
-import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;
@@ -117,6 +112,7 @@ public class Resources {
static final String TAG = "Resources";
private static final Object sSync = new Object();
+ private final Object mLock = new Object();
// Used by BridgeResources in layoutlib
@UnsupportedAppUsage
@@ -143,10 +139,7 @@ public class Resources {
@UnsupportedAppUsage
final ClassLoader mClassLoader;
- private final Object mResourceLoaderLock = new Object();
-
- @GuardedBy("mResourceLoaderLock")
- private ResourceLoaderManager mResourceLoaderManager;
+ private UpdateCallbacks mCallbacks = null;
/**
* WeakReferences to Themes that were constructed from this Resources object.
@@ -240,6 +233,18 @@ public class Resources {
}
}
+ /** @hide */
+ public interface UpdateCallbacks extends ResourcesLoader.UpdateCallbacks {
+ /**
+ * Invoked when a {@link Resources} instance has a {@link ResourcesLoader} added, removed,
+ * or reordered.
+ *
+ * @param resources the instance being updated
+ * @param newLoaders the new set of loaders for the instance
+ */
+ void onLoadersChanged(Resources resources, List<ResourcesLoader> newLoaders);
+ }
+
/**
* Create a new Resources object on top of an existing set of assets in an
* AssetManager.
@@ -303,12 +308,6 @@ public class Resources {
mBaseApkAssetsSize = ArrayUtils.size(impl.getAssets().getApkAssets());
mResourcesImpl = impl;
- synchronized (mResourceLoaderLock) {
- if (mResourceLoaderManager != null) {
- mResourceLoaderManager.onImplUpdate(mResourcesImpl);
- }
- }
-
// Create new ThemeImpls that are identical to the ones we have.
synchronized (mThemeRefs) {
final int count = mThemeRefs.size();
@@ -322,6 +321,15 @@ public class Resources {
}
}
+ /** @hide */
+ public void setCallbacks(UpdateCallbacks callbacks) {
+ if (mCallbacks != null) {
+ throw new IllegalStateException("callback already registered");
+ }
+
+ mCallbacks = callbacks;
+ }
+
/**
* @hide
*/
@@ -937,14 +945,6 @@ public class Resources {
@UnsupportedAppUsage
Drawable loadDrawable(@NonNull TypedValue value, int id, int density, @Nullable Theme theme)
throws NotFoundException {
- ResourceLoader loader = findLoader(value.assetCookie);
- if (loader != null) {
- Drawable drawable = loader.loadDrawable(value, id, density, theme);
- if (drawable != null) {
- return drawable;
- }
- }
-
return mResourcesImpl.loadDrawable(this, value, id, density, theme);
}
@@ -2337,14 +2337,6 @@ public class Resources {
@UnsupportedAppUsage
XmlResourceParser loadXmlResourceParser(String file, int id, int assetCookie,
String type) throws NotFoundException {
- ResourceLoader loader = findLoader(assetCookie);
- if (loader != null) {
- XmlResourceParser xml = loader.loadXmlResourceParser(file, id);
- if (xml != null) {
- return xml;
- }
- }
-
return mResourcesImpl.loadXmlResourceParser(file, id, assetCookie, type);
}
@@ -2371,136 +2363,106 @@ public class Resources {
return theme.obtainStyledAttributes(set, attrs, 0, 0);
}
- private ResourceLoader findLoader(int assetCookie) {
- ApkAssets[] apkAssetsArray = mResourcesImpl.getAssets().getApkAssets();
- int apkAssetsIndex = assetCookie - 1;
- if (apkAssetsIndex < apkAssetsArray.length && apkAssetsIndex >= 0) {
- ApkAssets apkAssets = apkAssetsArray[apkAssetsIndex];
- if (apkAssets.isForLoader()) {
- List<Pair<ResourceLoader, ResourcesProvider>> loaders;
- // Since we don't lock the entire resolution path anyways,
- // only lock here instead of entire method. The list is copied
- // and effectively a snapshot is used.
- synchronized (mResourceLoaderLock) {
- loaders = mResourceLoaderManager.getInternalList();
- }
-
- if (!ArrayUtils.isEmpty(loaders)) {
- int size = loaders.size();
- for (int index = 0; index < size; index++) {
- Pair<ResourceLoader, ResourcesProvider> pair = loaders.get(index);
- if (pair.second.getApkAssets() == apkAssets) {
- return pair.first;
- }
- }
- }
- }
+ private void checkCallbacksRegistered() {
+ if (mCallbacks == null) {
+ throw new IllegalArgumentException("Cannot modify resource loaders of Resources"
+ + " instances created outside of ResourcesManager");
}
-
- return null;
}
/**
- * @return copied list of loaders and providers previously added
+ * Retrieves the list of loaders.
+ *
+ * <p>Loaders are listed in increasing precedence order. A loader will override the resources
+ * and assets of loaders listed before itself.
*/
@NonNull
- public List<Pair<ResourceLoader, ResourcesProvider>> getLoaders() {
- synchronized (mResourceLoaderLock) {
- return mResourceLoaderManager == null
- ? Collections.emptyList()
- : mResourceLoaderManager.getLoaders();
- }
+ public List<ResourcesLoader> getLoaders() {
+ return mResourcesImpl.getAssets().getLoaders();
}
/**
- * Add a custom {@link ResourceLoader} which is added to the paths searched by
- * {@link AssetManager} when resolving a resource.
- *
- * Resources are resolved as if the loader was a resource overlay, meaning the latest
- * in the list, of equal or better config, is returned.
- *
- * {@link ResourcesProvider}s passed in here are not managed and a reference should be held
- * to remove, re-use, or close them when necessary.
+ * Appends a loader to the end of the loader list. If the loader is already present in the
+ * loader list, the list will not be modified.
*
- * @param resourceLoader an interface used to resolve file paths for drawables/XML files;
- * a reference should be kept to remove the loader if necessary
- * @param resourcesProvider an .apk or .arsc file representation
- * @param index where to add the loader in the list
- * @throws IllegalArgumentException if the resourceLoader is already added
- * @throws IndexOutOfBoundsException if the index is invalid
+ * @param loader the loader to add
*/
- public void addLoader(@NonNull ResourceLoader resourceLoader,
- @NonNull ResourcesProvider resourcesProvider, @IntRange(from = 0) int index) {
- synchronized (mResourceLoaderLock) {
- if (mResourceLoaderManager == null) {
- ResourcesManager.getInstance().registerForLoaders(this);
- mResourceLoaderManager = new ResourceLoaderManager(mResourcesImpl);
+ public void addLoader(@NonNull ResourcesLoader loader) {
+ synchronized (mLock) {
+ checkCallbacksRegistered();
+
+ final List<ResourcesLoader> loaders = new ArrayList<>(
+ mResourcesImpl.getAssets().getLoaders());
+ if (loaders.contains(loader)) {
+ return;
}
- mResourceLoaderManager.addLoader(resourceLoader, resourcesProvider, index);
+ loaders.add(loader);
+ mCallbacks.onLoadersChanged(this, loaders);
+ loader.registerOnProvidersChangedCallback(this, mCallbacks);
}
}
/**
- * @see #addLoader(ResourceLoader, ResourcesProvider, int).
- *
- * Adds to the end of the list.
+ * Removes a loader from the loaders. If the loader is not present in the loader list, the list
+ * will not be modified.
*
- * @return index the loader was added at
+ * @param loader the loader to remove
*/
- public int addLoader(@NonNull ResourceLoader resourceLoader,
- @NonNull ResourcesProvider resourcesProvider) {
- synchronized (mResourceLoaderLock) {
- int index = getLoaders().size();
- addLoader(resourceLoader, resourcesProvider, index);
- return index;
- }
- }
+ public void removeLoader(@NonNull ResourcesLoader loader) {
+ synchronized (mLock) {
+ checkCallbacksRegistered();
- /**
- * Remove a loader previously added by
- * {@link #addLoader(ResourceLoader, ResourcesProvider, int)}
- *
- * The caller maintains responsibility for holding a reference to the matching
- * {@link ResourcesProvider} and closing it after this method has been called.
- *
- * @param resourceLoader the same reference passed into [addLoader
- * @return the index the loader was at in the list, or -1 if the loader was not found
- */
- public int removeLoader(@NonNull ResourceLoader resourceLoader) {
- synchronized (mResourceLoaderLock) {
- if (mResourceLoaderManager == null) {
- return -1;
+ final List<ResourcesLoader> loaders = new ArrayList<>(
+ mResourcesImpl.getAssets().getLoaders());
+ if (!loaders.remove(loader)) {
+ return;
}
- return mResourceLoaderManager.removeLoader(resourceLoader);
+ mCallbacks.onLoadersChanged(this, loaders);
+ loader.unregisterOnProvidersChangedCallback(this);
}
}
/**
- * Swap the current set of loaders. Preferred to multiple remove/add calls as this doesn't
- * update the resource data structures after each modification.
- *
- * Set to null or an empty list to clear the set of loaders.
+ * Sets the list of loaders.
*
- * The caller maintains responsibility for holding references to the added
- * {@link ResourcesProvider}s and closing them after this method has been called.
- *
- * @param resourceLoadersAndProviders a list of pairs to add
+ * @param loaders the new loaders
*/
- public void setLoaders(
- @Nullable List<Pair<ResourceLoader, ResourcesProvider>> resourceLoadersAndProviders) {
- synchronized (mResourceLoaderLock) {
- if (mResourceLoaderManager == null) {
- if (ArrayUtils.isEmpty(resourceLoadersAndProviders)) {
- return;
+ public void setLoaders(@NonNull List<ResourcesLoader> loaders) {
+ synchronized (mLock) {
+ checkCallbacksRegistered();
+
+ final List<ResourcesLoader> oldLoaders = mResourcesImpl.getAssets().getLoaders();
+ int index = 0;
+ boolean modified = loaders.size() != oldLoaders.size();
+ final ArraySet<ResourcesLoader> seenLoaders = new ArraySet<>();
+ for (final ResourcesLoader loader : loaders) {
+ if (!seenLoaders.add(loader)) {
+ throw new IllegalArgumentException("Loader " + loader + " present twice");
+ }
+
+ if (!modified && oldLoaders.get(index++) != loader) {
+ modified = true;
}
+ }
- ResourcesManager.getInstance().registerForLoaders(this);
- mResourceLoaderManager = new ResourceLoaderManager(mResourcesImpl);
+ if (!modified) {
+ return;
}
- mResourceLoaderManager.setLoaders(resourceLoadersAndProviders);
+ mCallbacks.onLoadersChanged(this, loaders);
+ for (int i = 0, n = oldLoaders.size(); i < n; i++) {
+ oldLoaders.get(i).unregisterOnProvidersChangedCallback(this);
+ }
+ for (ResourcesLoader newLoader : loaders) {
+ newLoader.registerOnProvidersChangedCallback(this, mCallbacks);
+ }
}
}
+
+ /** Removes all {@link ResourcesLoader ResourcesLoader(s)}. */
+ public void clearLoaders() {
+ setLoaders(Collections.emptyList());
+ }
}
diff --git a/core/java/android/content/res/ResourcesKey.java b/core/java/android/content/res/ResourcesKey.java
index a29fea09c5ce..9e40f46c3c21 100644
--- a/core/java/android/content/res/ResourcesKey.java
+++ b/core/java/android/content/res/ResourcesKey.java
@@ -19,6 +19,7 @@ package android.content.res;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
+import android.content.res.loader.ResourcesLoader;
import android.text.TextUtils;
import java.util.Arrays;
@@ -48,6 +49,9 @@ public final class ResourcesKey {
@NonNull
public final CompatibilityInfo mCompatInfo;
+ @Nullable
+ public final ResourcesLoader[] mLoaders;
+
private final int mHash;
@UnsupportedAppUsage
@@ -57,11 +61,13 @@ public final class ResourcesKey {
@Nullable String[] libDirs,
int displayId,
@Nullable Configuration overrideConfig,
- @Nullable CompatibilityInfo compatInfo) {
+ @Nullable CompatibilityInfo compatInfo,
+ @Nullable ResourcesLoader[] loader) {
mResDir = resDir;
mSplitResDirs = splitResDirs;
mOverlayDirs = overlayDirs;
mLibDirs = libDirs;
+ mLoaders = (loader != null && loader.length == 0) ? null : loader;
mDisplayId = displayId;
mOverrideConfiguration = new Configuration(overrideConfig != null
? overrideConfig : Configuration.EMPTY);
@@ -75,6 +81,7 @@ public final class ResourcesKey {
hash = 31 * hash + mDisplayId;
hash = 31 * hash + Objects.hashCode(mOverrideConfiguration);
hash = 31 * hash + Objects.hashCode(mCompatInfo);
+ hash = 31 * hash + Arrays.hashCode(mLoaders);
mHash = hash;
}
@@ -140,6 +147,9 @@ public final class ResourcesKey {
if (!Objects.equals(mCompatInfo, peer.mCompatInfo)) {
return false;
}
+ if (!Arrays.equals(mLoaders, peer.mLoaders)) {
+ return false;
+ }
return true;
}
@@ -167,7 +177,11 @@ public final class ResourcesKey {
builder.append(" mOverrideConfig=").append(Configuration.resourceQualifierString(
mOverrideConfiguration));
builder.append(" mCompatInfo=").append(mCompatInfo);
- builder.append("}");
+ builder.append(" mLoaders=[");
+ if (mLoaders != null) {
+ builder.append(TextUtils.join(",", mLoaders));
+ }
+ builder.append("]}");
return builder.toString();
}
}
diff --git a/core/java/android/content/res/loader/AssetsProvider.java b/core/java/android/content/res/loader/AssetsProvider.java
new file mode 100644
index 000000000000..c315494cf728
--- /dev/null
+++ b/core/java/android/content/res/loader/AssetsProvider.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content.res.loader;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.res.AssetManager;
+import android.os.ParcelFileDescriptor;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Provides callbacks that allow for the value of a file-based resources or assets of a
+ * {@link ResourcesProvider} to be specified or overridden.
+ */
+public interface AssetsProvider {
+
+ /**
+ * Callback that allows the value of a file-based resources or asset to be specified or
+ * overridden.
+ *
+ * <p>There are two situations in which this method will be called:
+ * <ul>
+ * <li>AssetManager is queried for an InputStream of an asset using APIs like
+ * {@link AssetManager#open} and {@link AssetManager#openXmlResourceParser}.
+ * <li>AssetManager is resolving the value of a file-based resource provided by the
+ * {@link ResourcesProvider} this instance is associated with.
+ * </ul>
+ *
+ * <p>If the value retrieved from this callback is null, AssetManager will attempt to find the
+ * file-based resource or asset within the APK provided by the ResourcesProvider this instance
+ * is associated with.
+ *
+ * @param path the asset path being loaded
+ * @param accessMode the {@link AssetManager} access mode
+ *
+ * @see AssetManager#open
+ */
+ @Nullable
+ default InputStream loadAsset(@NonNull String path, int accessMode) throws IOException {
+ return null;
+ }
+
+ /**
+ * {@link ParcelFileDescriptor} variant of {@link #loadAsset(String, int)}.
+ *
+ * @param path the asset path being loaded
+ */
+ @Nullable
+ default ParcelFileDescriptor loadAssetParcelFd(@NonNull String path) throws IOException {
+ return null;
+ }
+}
diff --git a/core/java/android/content/res/loader/DirectoryResourceLoader.java b/core/java/android/content/res/loader/DirectoryAssetsProvider.java
index 7d90e72ab07e..81c2a4c1b4d6 100644
--- a/core/java/android/content/res/loader/DirectoryResourceLoader.java
+++ b/core/java/android/content/res/loader/DirectoryAssetsProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 The Android Open Source Project
+ * Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,23 +26,27 @@ import java.io.IOException;
import java.io.InputStream;
/**
- * A {@link ResourceLoader} that searches a directory for assets.
- *
- * Assumes that resource paths are resolvable child paths of the directory passed in.
+ * A {@link AssetsProvider} that searches a directory for assets.
+ * Assumes that resource paths are resolvable child paths of the root directory passed in.
*/
-public class DirectoryResourceLoader implements ResourceLoader {
+public class DirectoryAssetsProvider implements AssetsProvider {
@NonNull
private final File mDirectory;
- public DirectoryResourceLoader(@NonNull File directory) {
+ /**
+ * Creates a DirectoryAssetsProvider with given root directory.
+ *
+ * @param directory the root directory to resolve files from
+ */
+ public DirectoryAssetsProvider(@NonNull File directory) {
this.mDirectory = directory;
}
@Nullable
@Override
public InputStream loadAsset(@NonNull String path, int accessMode) throws IOException {
- File file = findFile(path);
+ final File file = findFile(path);
if (file == null || !file.exists()) {
return null;
}
@@ -51,8 +55,8 @@ public class DirectoryResourceLoader implements ResourceLoader {
@Nullable
@Override
- public ParcelFileDescriptor loadAssetFd(@NonNull String path) throws IOException {
- File file = findFile(path);
+ public ParcelFileDescriptor loadAssetParcelFd(@NonNull String path) throws IOException {
+ final File file = findFile(path);
if (file == null || !file.exists()) {
return null;
}
@@ -60,7 +64,9 @@ public class DirectoryResourceLoader implements ResourceLoader {
}
/**
- * Find the file for the given path encoded into the resource table.
+ * Finds the file relative to the root directory.
+ *
+ * @param path the relative path of the file
*/
@Nullable
public File findFile(@NonNull String path) {
diff --git a/core/java/android/content/res/loader/ResourceLoader.java b/core/java/android/content/res/loader/ResourceLoader.java
deleted file mode 100644
index af32aa2c6875..000000000000
--- a/core/java/android/content/res/loader/ResourceLoader.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.content.res.loader;
-
-import android.annotation.AnyRes;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.content.res.AssetManager;
-import android.content.res.Resources;
-import android.content.res.XmlResourceParser;
-import android.graphics.drawable.Drawable;
-import android.os.ParcelFileDescriptor;
-import android.util.TypedValue;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Exposes methods for overriding file-based resource loading from a {@link Resources}.
- *
- * To be used with {@link Resources#addLoader(ResourceLoader, ResourcesProvider, int)} and related
- * methods to override resource loading.
- *
- * Note that this class doesn't actually contain any resource data. Non-file-based resources are
- * loaded directly from the {@link ResourcesProvider}'s .arsc representation.
- *
- * An instance's methods will only be called if its corresponding {@link ResourcesProvider}'s
- * resources table contains an entry for the resource ID being resolved,
- * with the exception of the non-cookie variants of {@link AssetManager}'s openAsset and
- * openNonAsset.
- *
- * Those methods search backwards through all {@link ResourceLoader}s and then any paths provided
- * by the application or system.
- *
- * Otherwise, an ARSC that defines R.drawable.some_id must be provided if a {@link ResourceLoader}
- * wants to point R.drawable.some_id to a different file on disk.
- */
-public interface ResourceLoader {
-
- /**
- * Given the value resolved from the string pool of the {@link ResourcesProvider} passed to
- * {@link Resources#addLoader(ResourceLoader, ResourcesProvider, int)}, return a
- * {@link Drawable} which should be returned by the parent
- * {@link Resources#getDrawable(int, Resources.Theme)}.
- *
- * @param value the resolved {@link TypedValue} before it has been converted to a Drawable
- * object
- * @param id the R.drawable ID this resolution is for
- * @param density the requested density
- * @param theme the {@link Resources.Theme} resolved under
- * @return null if resolution should try to find an entry inside the {@link ResourcesProvider},
- * including calling through to {@link #loadAsset(String, int)} or {@link #loadAssetFd(String)}
- */
- @Nullable
- default Drawable loadDrawable(@NonNull TypedValue value, int id, int density,
- @Nullable Resources.Theme theme) {
- return null;
- }
-
- /**
- * Given the value resolved from the string pool of the {@link ResourcesProvider} passed to
- * {@link Resources#addLoader(ResourceLoader, ResourcesProvider, int)}, return an
- * {@link XmlResourceParser} which should be returned by the parent
- * {@link Resources#getDrawable(int, Resources.Theme)}.
- *
- * @param path the string that was found in the string pool
- * @param id the XML ID this resolution is for, can be R.anim, R.layout, or R.xml
- * @return null if resolution should try to find an entry inside the {@link ResourcesProvider},
- * including calling through to {@link #loadAssetFd(String)} (String, int)}
- */
- @Nullable
- default XmlResourceParser loadXmlResourceParser(@NonNull String path, @AnyRes int id) {
- return null;
- }
-
- /**
- * Given the value resolved from the string pool of the {@link ResourcesProvider} passed to
- * {@link Resources#addLoader(ResourceLoader, ResourcesProvider, int)}, return an
- * {@link InputStream} which should be returned when an asset is loaded by {@link AssetManager}.
- * Assets will be loaded from a provider's root, with anything in its assets subpath prefixed
- * with "assets/".
- *
- * @param path the asset path to load
- * @param accessMode {@link AssetManager} access mode; does not have to be respected
- * @return null if resolution should try to find an entry inside the {@link ResourcesProvider}
- */
- @Nullable
- default InputStream loadAsset(@NonNull String path, int accessMode) throws IOException {
- return null;
- }
-
- /**
- * {@link ParcelFileDescriptor} variant of {@link #loadAsset(String, int)}.
- *
- * @param path the asset path to load
- * @return null if resolution should try to find an entry inside the {@link ResourcesProvider}
- */
- @Nullable
- default ParcelFileDescriptor loadAssetFd(@NonNull String path) throws IOException {
- return null;
- }
-}
diff --git a/core/java/android/content/res/loader/ResourceLoaderManager.java b/core/java/android/content/res/loader/ResourceLoaderManager.java
deleted file mode 100644
index 592ec09aa730..000000000000
--- a/core/java/android/content/res/loader/ResourceLoaderManager.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.content.res.loader;
-
-import android.annotation.Nullable;
-import android.content.res.ApkAssets;
-import android.content.res.AssetManager;
-import android.content.res.Resources;
-import android.content.res.ResourcesImpl;
-import android.util.Pair;
-
-import com.android.internal.annotations.GuardedBy;
-import com.android.internal.util.ArrayUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-/**
- * @hide
- */
-public class ResourceLoaderManager {
-
- private final Object mLock = new Object();
-
- @GuardedBy("mLock")
- private final List<Pair<ResourceLoader, ResourcesProvider>> mResourceLoaders =
- new ArrayList<>();
-
- @GuardedBy("mLock")
- private ResourcesImpl mResourcesImpl;
-
- public ResourceLoaderManager(ResourcesImpl resourcesImpl) {
- this.mResourcesImpl = resourcesImpl;
- this.mResourcesImpl.getAssets().setResourceLoaderManager(this);
- }
-
- /**
- * Copies the list to ensure that ongoing mutations don't affect the list if it's being used
- * as a search set.
- *
- * @see Resources#getLoaders()
- */
- public List<Pair<ResourceLoader, ResourcesProvider>> getLoaders() {
- synchronized (mLock) {
- return new ArrayList<>(mResourceLoaders);
- }
- }
-
- /**
- * Returns a list for searching for a loader. Locks and copies the list to ensure that
- * ongoing mutations don't affect the search set.
- */
- public List<Pair<ResourceLoader, ResourcesProvider>> getInternalList() {
- synchronized (mLock) {
- return new ArrayList<>(mResourceLoaders);
- }
- }
-
- /**
- * TODO(b/136251855): Consider optional boolean ignoreConfigurations to allow ResourceLoader
- * to override every configuration in the target package
- *
- * @see Resources#addLoader(ResourceLoader, ResourcesProvider)
- */
- public void addLoader(ResourceLoader resourceLoader, ResourcesProvider resourcesProvider,
- int index) {
- synchronized (mLock) {
- for (int listIndex = 0; listIndex < mResourceLoaders.size(); listIndex++) {
- if (Objects.equals(mResourceLoaders.get(listIndex).first, resourceLoader)) {
- throw new IllegalArgumentException("Cannot add the same ResourceLoader twice");
- }
- }
-
- mResourceLoaders.add(index, Pair.create(resourceLoader, resourcesProvider));
- updateLoaders();
- }
- }
-
- /**
- * @see Resources#removeLoader(ResourceLoader)
- */
- public int removeLoader(ResourceLoader resourceLoader) {
- synchronized (mLock) {
- int indexOfLoader = -1;
-
- for (int index = 0; index < mResourceLoaders.size(); index++) {
- if (mResourceLoaders.get(index).first == resourceLoader) {
- indexOfLoader = index;
- break;
- }
- }
-
- if (indexOfLoader < 0) {
- return indexOfLoader;
- }
-
- mResourceLoaders.remove(indexOfLoader);
- updateLoaders();
- return indexOfLoader;
- }
- }
-
- /**
- * @see Resources#setLoaders(List)
- */
- public void setLoaders(
- @Nullable List<Pair<ResourceLoader, ResourcesProvider>> newLoadersAndProviders) {
- synchronized (mLock) {
- if (ArrayUtils.isEmpty(newLoadersAndProviders)) {
- mResourceLoaders.clear();
- updateLoaders();
- return;
- }
-
- int size = newLoadersAndProviders.size();
- for (int newIndex = 0; newIndex < size; newIndex++) {
- ResourceLoader resourceLoader = newLoadersAndProviders.get(newIndex).first;
- for (int oldIndex = 0; oldIndex < mResourceLoaders.size(); oldIndex++) {
- if (Objects.equals(mResourceLoaders.get(oldIndex).first, resourceLoader)) {
- throw new IllegalArgumentException(
- "Cannot add the same ResourceLoader twice");
- }
- }
- }
-
- mResourceLoaders.clear();
- mResourceLoaders.addAll(newLoadersAndProviders);
-
- updateLoaders();
- }
- }
-
- /**
- * Swap the tracked {@link ResourcesImpl} and reattach any loaders to it.
- */
- public void onImplUpdate(ResourcesImpl resourcesImpl) {
- synchronized (mLock) {
- this.mResourcesImpl = resourcesImpl;
- this.mResourcesImpl.getAssets().setResourceLoaderManager(this);
- updateLoaders();
- }
- }
-
- private void updateLoaders() {
- synchronized (mLock) {
- AssetManager assetManager = mResourcesImpl.getAssets();
- ApkAssets[] existingApkAssets = assetManager.getApkAssets();
- int baseApkAssetsSize = 0;
- for (int index = existingApkAssets.length - 1; index >= 0; index--) {
- // Loaders are always last, so the first non-loader is the end of the base assets
- if (!existingApkAssets[index].isForLoader()) {
- baseApkAssetsSize = index + 1;
- break;
- }
- }
-
- List<ApkAssets> newAssets = new ArrayList<>();
- for (int index = 0; index < baseApkAssetsSize; index++) {
- newAssets.add(existingApkAssets[index]);
- }
-
- int size = mResourceLoaders.size();
- for (int index = 0; index < size; index++) {
- ApkAssets apkAssets = mResourceLoaders.get(index).second.getApkAssets();
- newAssets.add(apkAssets);
- }
-
- assetManager.setApkAssets(newAssets.toArray(new ApkAssets[0]), true);
-
- // Short of resolving every resource, it's too difficult to determine what has changed
- // when a resource loader is changed, so just clear everything.
- mResourcesImpl.clearAllCaches();
- }
- }
-}
diff --git a/core/java/android/content/res/loader/ResourcesLoader.java b/core/java/android/content/res/loader/ResourcesLoader.java
new file mode 100644
index 000000000000..69daceeaffc2
--- /dev/null
+++ b/core/java/android/content/res/loader/ResourcesLoader.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content.res.loader;
+
+import android.annotation.NonNull;
+import android.content.res.ApkAssets;
+import android.content.res.Resources;
+import android.util.ArrayMap;
+import android.util.ArraySet;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.ArrayUtils;
+
+import java.lang.ref.WeakReference;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * A container for supplying {@link ResourcesProvider ResourcesProvider(s)} to {@link Resources}
+ * objects.
+ *
+ * <p>{@link ResourcesLoader ResourcesLoader(s)} are added to Resources objects to supply
+ * additional resources and assets or modify the values of existing resources and assets. Multiple
+ * Resources objects can share the same ResourcesLoaders and ResourcesProviders. Changes to the list
+ * of {@link ResourcesProvider ResourcesProvider(s)} a loader contains propagates to all Resources
+ * objects that use the loader.
+ *
+ * <p>Loaders retrieved with {@link Resources#getLoaders()} are listed in increasing precedence
+ * order. A loader will override the resources and assets of loaders listed before itself.
+ *
+ * <p>Providers retrieved with {@link #getProviders()} are listed in increasing precedence order. A
+ * provider will override the resources and assets of providers listed before itself.
+ */
+public class ResourcesLoader {
+ private final Object mLock = new Object();
+
+ @GuardedBy("mLock")
+ private ApkAssets[] mApkAssets;
+
+ @GuardedBy("mLock")
+ private ResourcesProvider[] mPreviousProviders;
+
+ @GuardedBy("mLock")
+ private ResourcesProvider[] mProviders;
+
+ @GuardedBy("mLock")
+ private ArrayMap<WeakReference<Object>, UpdateCallbacks> mChangeCallbacks = new ArrayMap<>();
+
+ /** @hide */
+ public interface UpdateCallbacks {
+
+ /**
+ * Invoked when a {@link ResourcesLoader} has a {@link ResourcesProvider} added, removed,
+ * or reordered.
+ *
+ * @param loader the loader that was updated
+ */
+ void onLoaderUpdated(@NonNull ResourcesLoader loader);
+ }
+
+ /**
+ * Retrieves the list of providers loaded into this instance. Providers are listed in increasing
+ * precedence order. A provider will override the values of providers listed before itself.
+ */
+ @NonNull
+ public List<ResourcesProvider> getProviders() {
+ synchronized (mLock) {
+ return mProviders == null ? Collections.emptyList() : Arrays.asList(mProviders);
+ }
+ }
+
+ /**
+ * Appends a provider to the end of the provider list. If the provider is already present in the
+ * loader list, the list will not be modified.
+ *
+ * @param resourcesProvider the provider to add
+ */
+ public void addProvider(@NonNull ResourcesProvider resourcesProvider) {
+ synchronized (mLock) {
+ mProviders = ArrayUtils.appendElement(ResourcesProvider.class, mProviders,
+ resourcesProvider);
+ notifyProvidersChangedLocked();
+ }
+ }
+
+ /**
+ * Removes a provider from the provider list. If the provider is not present in the provider
+ * list, the list will not be modified.
+ *
+ * @param resourcesProvider the provider to remove
+ */
+ public void removeProvider(@NonNull ResourcesProvider resourcesProvider) {
+ synchronized (mLock) {
+ mProviders = ArrayUtils.removeElement(ResourcesProvider.class, mProviders,
+ resourcesProvider);
+ notifyProvidersChangedLocked();
+ }
+ }
+
+ /**
+ * Sets the list of providers.
+ *
+ * @param resourcesProviders the new providers
+ */
+ public void setProviders(@NonNull List<ResourcesProvider> resourcesProviders) {
+ synchronized (mLock) {
+ mProviders = resourcesProviders.toArray(new ResourcesProvider[0]);
+ notifyProvidersChangedLocked();
+ }
+ }
+
+ /** Removes all {@link ResourcesProvider ResourcesProvider(s)}. */
+ public void clearProviders() {
+ synchronized (mLock) {
+ mProviders = null;
+ notifyProvidersChangedLocked();
+ }
+ }
+
+ /**
+ * Retrieves the list of {@link ApkAssets} used by the providers.
+ *
+ * @hide
+ */
+ @NonNull
+ public List<ApkAssets> getApkAssets() {
+ synchronized (mLock) {
+ if (mApkAssets == null) {
+ return Collections.emptyList();
+ }
+ return Arrays.asList(mApkAssets);
+ }
+ }
+
+ /**
+ * Registers a callback to be invoked when {@link ResourcesProvider ResourcesProvider(s)}
+ * change.
+ * @param instance the instance tied to the callback
+ * @param callbacks the callback to invoke
+ *
+ * @hide
+ */
+ public void registerOnProvidersChangedCallback(@NonNull Object instance,
+ @NonNull UpdateCallbacks callbacks) {
+ synchronized (mLock) {
+ mChangeCallbacks.put(new WeakReference<>(instance), callbacks);
+ }
+ }
+
+ /**
+ * Removes a previously registered callback.
+ * @param instance the instance tied to the callback
+ *
+ * @hide
+ */
+ public void unregisterOnProvidersChangedCallback(@NonNull Object instance) {
+ synchronized (mLock) {
+ for (int i = 0, n = mChangeCallbacks.size(); i < n; i++) {
+ final WeakReference<Object> key = mChangeCallbacks.keyAt(i);
+ if (instance == key.get()) {
+ mChangeCallbacks.removeAt(i);
+ return;
+ }
+ }
+ }
+ }
+
+ /** Returns whether the arrays contain the same provider instances in the same order. */
+ private static boolean arrayEquals(ResourcesProvider[] a1, ResourcesProvider[] a2) {
+ if (a1 == a2) {
+ return true;
+ }
+
+ if (a1 == null || a2 == null) {
+ return false;
+ }
+
+ if (a1.length != a2.length) {
+ return false;
+ }
+
+ // Check that the arrays contain the exact same instances in the same order. Providers do
+ // not have any form of equivalence checking of whether the contents of two providers have
+ // equivalent apk assets.
+ for (int i = 0, n = a1.length; i < n; i++) {
+ if (a1[i] != a2[i]) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+
+ /**
+ * Invokes registered callbacks when the list of {@link ResourcesProvider} instances this loader
+ * uses changes.
+ */
+ private void notifyProvidersChangedLocked() {
+ final ArraySet<UpdateCallbacks> uniqueCallbacks = new ArraySet<>();
+ if (arrayEquals(mPreviousProviders, mProviders)) {
+ return;
+ }
+
+ if (mProviders == null || mProviders.length == 0) {
+ mApkAssets = null;
+ } else {
+ mApkAssets = new ApkAssets[mProviders.length];
+ for (int i = 0, n = mProviders.length; i < n; i++) {
+ mProviders[i].incrementRefCount();
+ mApkAssets[i] = mProviders[i].getApkAssets();
+ }
+ }
+
+ // Decrement the ref count after incrementing the new provider ref count so providers
+ // present before and after this method do not drop to zero references.
+ if (mPreviousProviders != null) {
+ for (ResourcesProvider provider : mPreviousProviders) {
+ provider.decrementRefCount();
+ }
+ }
+
+ mPreviousProviders = mProviders;
+
+ for (int i = mChangeCallbacks.size() - 1; i >= 0; i--) {
+ final WeakReference<Object> key = mChangeCallbacks.keyAt(i);
+ if (key.get() == null) {
+ mChangeCallbacks.removeAt(i);
+ } else {
+ uniqueCallbacks.add(mChangeCallbacks.valueAt(i));
+ }
+ }
+
+ for (int i = 0, n = uniqueCallbacks.size(); i < n; i++) {
+ uniqueCallbacks.valueAt(i).onLoaderUpdated(this);
+ }
+ }
+}
diff --git a/core/java/android/content/res/loader/ResourcesProvider.java b/core/java/android/content/res/loader/ResourcesProvider.java
index 050aeb7c5fda..419ec7882f3d 100644
--- a/core/java/android/content/res/loader/ResourcesProvider.java
+++ b/core/java/android/content/res/loader/ResourcesProvider.java
@@ -17,84 +17,144 @@
package android.content.res.loader;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.res.ApkAssets;
-import android.content.res.Resources;
import android.os.ParcelFileDescriptor;
import android.os.SharedMemory;
+import android.util.Log;
+import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.ArrayUtils;
import java.io.Closeable;
import java.io.IOException;
/**
- * Provides methods to load resources from an .apk or .arsc file to pass to
- * {@link Resources#addLoader(ResourceLoader, ResourcesProvider, int)}.
- *
- * It is the responsibility of the app to close any instances.
+ * Provides methods to load resources data from APKs ({@code .apk}) and resources tables
+ * {@code .arsc} for use with {@link ResourcesLoader ResourcesLoader(s)}.
*/
-public final class ResourcesProvider implements AutoCloseable, Closeable {
+public class ResourcesProvider implements AutoCloseable, Closeable {
+ private static final String TAG = "ResourcesProvider";
+ private final Object mLock = new Object();
+
+ @GuardedBy("mLock")
+ private boolean mOpen = true;
+
+ @GuardedBy("mLock")
+ private int mOpenCount = 0;
+
+ @GuardedBy("mLock")
+ private final ApkAssets mApkAssets;
+
+ private final AssetsProvider mAssetsProvider;
/**
- * Contains no data, assuming that any resource loading behavior will be handled in the
- * corresponding {@link ResourceLoader}.
+ * Creates an empty ResourcesProvider with no resource data. This is useful for loading assets
+ * that are not associated with resource identifiers.
+ *
+ * @param assetsProvider the assets provider that overrides the loading of file-based resources
*/
@NonNull
- public static ResourcesProvider empty() {
- return new ResourcesProvider(ApkAssets.loadEmptyForLoader());
+ public static ResourcesProvider empty(@NonNull AssetsProvider assetsProvider) {
+ return new ResourcesProvider(ApkAssets.loadEmptyForLoader(), assetsProvider);
}
/**
- * Read from an .apk file descriptor.
+ * Creates a ResourcesProvider from an APK ({@code .apk}) file descriptor.
+ *
+ * The file descriptor is duplicated and the original may be closed by the application at any
+ * time without affecting the ResourcesProvider.
*
- * The file descriptor is duplicated and the one passed in may be closed by the application
- * at any time.
+ * @param fileDescriptor the file descriptor of the APK to load
*/
@NonNull
public static ResourcesProvider loadFromApk(@NonNull ParcelFileDescriptor fileDescriptor)
throws IOException {
+ return loadFromApk(fileDescriptor, null);
+ }
+
+ /**
+ * Creates a ResourcesProvider from an APK ({@code .apk}) file descriptor.
+ *
+ * The file descriptor is duplicated and the original may be closed by the application at any
+ * time without affecting the ResourcesProvider.
+ *
+ * @param fileDescriptor the file descriptor of the APK to load
+ * @param assetsProvider the assets provider that overrides the loading of file-based resources
+ */
+ @NonNull
+ public static ResourcesProvider loadFromApk(@NonNull ParcelFileDescriptor fileDescriptor,
+ @Nullable AssetsProvider assetsProvider)
+ throws IOException {
return new ResourcesProvider(
- ApkAssets.loadApkForLoader(fileDescriptor.getFileDescriptor()));
+ ApkAssets.loadApkForLoader(fileDescriptor.getFileDescriptor()), assetsProvider);
}
/**
- * Read from an .apk file representation in memory.
+ * Creates a ResourcesProvider from an {@code .apk} file representation in memory.
+ *
+ * @param sharedMemory the shared memory containing the data of the APK to load
*/
@NonNull
public static ResourcesProvider loadFromApk(@NonNull SharedMemory sharedMemory)
throws IOException {
+ return loadFromApk(sharedMemory, null);
+ }
+
+ /**
+ * Creates a ResourcesProvider from an {@code .apk} file representation in memory.
+ *
+ * @param sharedMemory the shared memory containing the data of the APK to load
+ * @param assetsProvider the assets provider that implements the loading of file-based resources
+ */
+ @NonNull
+ public static ResourcesProvider loadFromApk(@NonNull SharedMemory sharedMemory,
+ @Nullable AssetsProvider assetsProvider)
+ throws IOException {
return new ResourcesProvider(
- ApkAssets.loadApkForLoader(sharedMemory.getFileDescriptor()));
+ ApkAssets.loadApkForLoader(sharedMemory.getFileDescriptor()), assetsProvider);
}
/**
- * Read from an .arsc file descriptor.
+ * Creates a ResourcesProvider from a resources table ({@code .arsc}) file descriptor.
+ *
+ * The file descriptor is duplicated and the original may be closed by the application at any
+ * time without affecting the ResourcesProvider.
*
- * The file descriptor is duplicated and the one passed in may be closed by the application
- * at any time.
+ * @param fileDescriptor the file descriptor of the resources table to load
+ * @param assetsProvider the assets provider that implements the loading of file-based resources
*/
@NonNull
- public static ResourcesProvider loadFromArsc(@NonNull ParcelFileDescriptor fileDescriptor)
+ public static ResourcesProvider loadFromTable(@NonNull ParcelFileDescriptor fileDescriptor,
+ @Nullable AssetsProvider assetsProvider)
throws IOException {
return new ResourcesProvider(
- ApkAssets.loadArscForLoader(fileDescriptor.getFileDescriptor()));
+ ApkAssets.loadArscForLoader(fileDescriptor.getFileDescriptor()), assetsProvider);
}
/**
- * Read from an .arsc file representation in memory.
+ * Creates a ResourcesProvider from a resources table ({@code .arsc}) file representation in
+ * memory.
+ *
+ * @param sharedMemory the shared memory containing the data of the resources table to load
+ * @param assetsProvider the assets provider that overrides the loading of file-based resources
*/
@NonNull
- public static ResourcesProvider loadFromArsc(@NonNull SharedMemory sharedMemory)
+ public static ResourcesProvider loadFromTable(@NonNull SharedMemory sharedMemory,
+ @Nullable AssetsProvider assetsProvider)
throws IOException {
return new ResourcesProvider(
- ApkAssets.loadArscForLoader(sharedMemory.getFileDescriptor()));
+ ApkAssets.loadArscForLoader(sharedMemory.getFileDescriptor()), assetsProvider);
}
/**
* Read from a split installed alongside the application, which may not have been
* loaded initially because the application requested isolated split loading.
+ *
+ * @param context a context of the package that contains the split
+ * @param splitName the name of the split to load
*/
@NonNull
public static ResourcesProvider loadFromSplit(@NonNull Context context,
@@ -106,15 +166,18 @@ public final class ResourcesProvider implements AutoCloseable, Closeable {
}
String splitPath = appInfo.getSplitCodePaths()[splitIndex];
- return new ResourcesProvider(ApkAssets.loadApkForLoader(splitPath));
+ return new ResourcesProvider(ApkAssets.loadApkForLoader(splitPath), null);
}
-
- @NonNull
- private final ApkAssets mApkAssets;
-
- private ResourcesProvider(@NonNull ApkAssets apkAssets) {
+ private ResourcesProvider(@NonNull ApkAssets apkAssets,
+ @Nullable AssetsProvider assetsProvider) {
this.mApkAssets = apkAssets;
+ this.mAssetsProvider = assetsProvider;
+ }
+
+ @Nullable
+ public AssetsProvider getAssetsProvider() {
+ return mAssetsProvider;
}
/** @hide */
@@ -123,8 +186,41 @@ public final class ResourcesProvider implements AutoCloseable, Closeable {
return mApkAssets;
}
+ final void incrementRefCount() {
+ synchronized (mLock) {
+ if (!mOpen) {
+ throw new IllegalStateException("Operation failed: resources provider is closed");
+ }
+ mOpenCount++;
+ }
+ }
+
+ final void decrementRefCount() {
+ synchronized (mLock) {
+ mOpenCount--;
+ }
+ }
+
+ /**
+ * Frees internal data structures. Closed providers can no longer be added to
+ * {@link ResourcesLoader ResourcesLoader(s)}.
+ *
+ * @throws IllegalStateException if provider is currently used by a ResourcesLoader
+ */
@Override
public void close() {
+ synchronized (mLock) {
+ if (!mOpen) {
+ return;
+ }
+
+ if (mOpenCount != 0) {
+ throw new IllegalStateException("Failed to close provider used by " + mOpenCount
+ + " ResourcesLoader instances");
+ }
+ mOpen = false;
+ }
+
try {
mApkAssets.close();
} catch (Throwable ignored) {
@@ -133,7 +229,16 @@ public final class ResourcesProvider implements AutoCloseable, Closeable {
@Override
protected void finalize() throws Throwable {
- close();
- super.finalize();
+ synchronized (mLock) {
+ if (mOpenCount != 0) {
+ Log.w(TAG, "ResourcesProvider " + this + " finalized with non-zero refs: "
+ + mOpenCount);
+ }
+
+ if (mOpen) {
+ mOpen = false;
+ mApkAssets.close();
+ }
+ }
}
}
diff --git a/core/java/android/hardware/biometrics/BiometricManager.java b/core/java/android/hardware/biometrics/BiometricManager.java
index 4c114fdc5f10..125b676e14f7 100644
--- a/core/java/android/hardware/biometrics/BiometricManager.java
+++ b/core/java/android/hardware/biometrics/BiometricManager.java
@@ -18,6 +18,7 @@ package android.hardware.biometrics;
import static android.Manifest.permission.USE_BIOMETRIC;
import static android.Manifest.permission.USE_BIOMETRIC_INTERNAL;
+import static android.Manifest.permission.WRITE_DEVICE_CONFIG;
import android.annotation.IntDef;
import android.annotation.RequiresPermission;
@@ -87,9 +88,15 @@ public class BiometricManager {
/**
* Empty set with no authenticators specified.
+ *
+ * <p>This constant is intended for use by {@link android.provider.DeviceConfig} to adjust
+ * the reported strength of a biometric sensor. It is not a valid parameter for any of the
+ * public {@link android.hardware.biometrics} APIs.
+ *
* @hide
*/
@SystemApi
+ @RequiresPermission(WRITE_DEVICE_CONFIG)
int EMPTY_SET = 0x0000;
/**
@@ -115,12 +122,16 @@ public class BiometricManager {
/**
* Any biometric (e.g. fingerprint, iris, or face) on the device that meets or exceeds the
- * requirements for <strong>Convenience</strong>, as defined by the Android CDD. This
- * is not a valid parameter to any of the {@link android.hardware.biometrics} APIs, since
- * the CDD allows only {@link #BIOMETRIC_WEAK} and stronger authenticators to participate.
+ * requirements for <strong>Convenience</strong>, as defined by the Android CDD.
+ *
+ * <p>This constant is intended for use by {@link android.provider.DeviceConfig} to adjust
+ * the reported strength of a biometric sensor. It is not a valid parameter for any of the
+ * public {@link android.hardware.biometrics} APIs.
+ *
* @hide
*/
@SystemApi
+ @RequiresPermission(WRITE_DEVICE_CONFIG)
int BIOMETRIC_CONVENIENCE = 0x0FFF;
/**
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 9ee56a928d81..c5b9a43fb523 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -316,6 +316,7 @@ public final class CameraManager {
CameraManagerGlobal.get().unregisterTorchCallback(callback);
}
+ // TODO(b/147726300): Investigate how to support foldables/multi-display devices.
private Size getDisplaySize() {
Size ret = new Size(0, 0);
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
index a385771484fd..7615b87c7102 100644
--- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java
@@ -91,7 +91,7 @@ public class CameraDeviceImpl extends CameraDevice
private boolean mIdle = true;
/** map request IDs to callback/request data */
- private final SparseArray<CaptureCallbackHolder> mCaptureCallbackMap =
+ private SparseArray<CaptureCallbackHolder> mCaptureCallbackMap =
new SparseArray<CaptureCallbackHolder>();
private int mRepeatingRequestId = REQUEST_ID_NONE;
@@ -123,7 +123,7 @@ public class CameraDeviceImpl extends CameraDevice
* An object tracking received frame numbers.
* Updated when receiving callbacks from ICameraDeviceCallbacks.
*/
- private final FrameNumberTracker mFrameNumberTracker = new FrameNumberTracker();
+ private FrameNumberTracker mFrameNumberTracker = new FrameNumberTracker();
private CameraCaptureSessionCore mCurrentSession;
private int mNextSessionId = 0;
@@ -892,6 +892,7 @@ public class CameraDeviceImpl extends CameraDevice
HashSet<Integer> offlineStreamIds = new HashSet<Integer>();
SparseArray<OutputConfiguration> offlineConfiguredOutputs =
new SparseArray<OutputConfiguration>();
+ CameraOfflineSession ret;
synchronized(mInterfaceLock) {
if (mOfflineSessionImpl != null) {
@@ -919,15 +920,20 @@ public class CameraDeviceImpl extends CameraDevice
offlineStreamIds.add(streamId);
}
+ stopRepeating();
mOfflineSessionImpl = new CameraOfflineSessionImpl(mCameraId,
mCharacteristics, executor, listener, offlineConfiguredOutputs,
- mConfiguredInput, mFrameNumberTracker, mCaptureCallbackMap,
+ mConfiguredInput, mConfiguredOutputs, mFrameNumberTracker, mCaptureCallbackMap,
mRequestLastFrameNumbersList);
+ ret = mOfflineSessionImpl;
mOfflineSwitchService = Executors.newSingleThreadExecutor();
mConfiguredOutputs.clear();
mConfiguredInput = new SimpleEntry<Integer, InputConfiguration>(REQUEST_ID_NONE, null);
+ mIdle = true;
+ mCaptureCallbackMap = new SparseArray<CaptureCallbackHolder>();
+ mFrameNumberTracker = new FrameNumberTracker();
mCurrentSession.closeWithoutDraining();
mCurrentSession = null;
@@ -949,11 +955,13 @@ public class CameraDeviceImpl extends CameraDevice
mOfflineSessionImpl.setRemoteSession(remoteOfflineSession);
} catch (CameraAccessException e) {
mOfflineSessionImpl.notifyFailedSwitch();
+ } finally {
+ mOfflineSessionImpl = null;
}
}
});
- return mOfflineSessionImpl;
+ return ret;
}
public boolean supportsOfflineProcessing(Surface surface) {
diff --git a/core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java
index 1db377a61465..1d9d644c9306 100644
--- a/core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java
@@ -63,6 +63,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
private SimpleEntry<Integer, InputConfiguration> mOfflineInput =
new SimpleEntry<>(REQUEST_ID_NONE, null);
private SparseArray<OutputConfiguration> mOfflineOutputs = new SparseArray<>();
+ private SparseArray<OutputConfiguration> mConfiguredOutputs = new SparseArray<>();
final Object mInterfaceLock = new Object(); // access from this class and Session only!
@@ -96,6 +97,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
Executor offlineExecutor, CameraOfflineSessionCallback offlineCallback,
SparseArray<OutputConfiguration> offlineOutputs,
SimpleEntry<Integer, InputConfiguration> offlineInput,
+ SparseArray<OutputConfiguration> configuredOutputs,
FrameNumberTracker frameNumberTracker, SparseArray<CaptureCallbackHolder> callbackMap,
List<RequestLastFrameNumbersHolder> frameNumberList) {
if ((cameraId == null) || (characteristics == null)) {
@@ -117,6 +119,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
mOfflineRequestLastFrameNumbersList.addAll(frameNumberList);
mFrameNumberTracker = frameNumberTracker;
mCaptureCallbackMap = callbackMap;
+ mConfiguredOutputs = configuredOutputs;
mOfflineOutputs = offlineOutputs;
mOfflineInput = offlineInput;
mOfflineExecutor = checkNotNull(offlineExecutor, "offline executor must not be null");
@@ -137,9 +140,6 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
@Override
public void onDeviceError(final int errorCode, CaptureResultExtras resultExtras) {
synchronized(mInterfaceLock) {
- if (mRemoteSession == null) {
- return; // Camera already closed
- }
switch (errorCode) {
case CameraDeviceCallbacks.ERROR_CAMERA_REQUEST:
@@ -177,6 +177,11 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
@Override
public void onDeviceIdle() {
synchronized(mInterfaceLock) {
+ if (mRemoteSession == null) {
+ Log.v(TAG, "Ignoring idle state notifications during offline switches");
+ return;
+ }
+
Runnable idleDispatch = new Runnable() {
@Override
public void run() {
@@ -203,8 +208,6 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
final CaptureCallbackHolder holder;
synchronized(mInterfaceLock) {
- if (mRemoteSession == null) return; // Camera already closed
-
// Get the callback for this frame ID, if there is one
holder = CameraOfflineSessionImpl.this.mCaptureCallbackMap.get(requestId);
@@ -269,8 +272,6 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
long frameNumber = resultExtras.getFrameNumber();
synchronized(mInterfaceLock) {
- if (mRemoteSession == null) return; // Camera already closed
-
// TODO: Handle CameraCharacteristics access from CaptureResult correctly.
result.set(CameraCharacteristics.LENS_INFO_SHADING_MAP_SIZE,
mCharacteristics.get(CameraCharacteristics.LENS_INFO_SHADING_MAP_SIZE));
@@ -445,8 +446,12 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
if (errorCode == ERROR_CAMERA_BUFFER) {
// Because 1 stream id could map to multiple surfaces, we need to specify both
// streamId and surfaceId.
- OutputConfiguration config = mOfflineOutputs.get(
- resultExtras.getErrorStreamId());
+ OutputConfiguration config;
+ if ((mRemoteSession == null) && !isClosed()) {
+ config = mConfiguredOutputs.get(resultExtras.getErrorStreamId());
+ } else {
+ config = mOfflineOutputs.get(resultExtras.getErrorStreamId());
+ }
if (config == null) {
Log.v(TAG, String.format(
"Stream %d has been removed. Skipping buffer lost callback",
@@ -538,11 +543,6 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
final Executor executor;
final CameraCaptureSession.CaptureCallback callback;
synchronized(mInterfaceLock) {
- if (mRemoteSession == null) {
- Log.w(TAG, "Camera closed while checking sequences");
- return;
- }
-
int index = mCaptureCallbackMap.indexOfKey(requestId);
holder = (index >= 0) ?
mCaptureCallbackMap.valueAt(index) : null;
@@ -575,7 +575,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
}
// Call onCaptureSequenceCompleted
- if ((sequenceCompleted) && (callback != null) && (executor == null)) {
+ if ((sequenceCompleted) && (callback != null) && (executor != null)) {
Runnable resultDispatch = new Runnable() {
@Override
public void run() {
@@ -592,7 +592,12 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
} finally {
Binder.restoreCallingIdentity(ident);
}
+
+ if (mCaptureCallbackMap.size() == 0) {
+ getCallbacks().onDeviceIdle();
+ }
}
+
}
}
@@ -686,9 +691,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession
Runnable closeDispatch = new Runnable() {
@Override
public void run() {
- if (!isClosed()) {
- mOfflineCallback.onClosed(CameraOfflineSessionImpl.this);
- }
+ mOfflineCallback.onClosed(CameraOfflineSessionImpl.this);
}
};
diff --git a/core/java/android/hardware/display/AmbientDisplayConfiguration.java b/core/java/android/hardware/display/AmbientDisplayConfiguration.java
index 3e995b624112..ece5c28884fa 100644
--- a/core/java/android/hardware/display/AmbientDisplayConfiguration.java
+++ b/core/java/android/hardware/display/AmbientDisplayConfiguration.java
@@ -194,6 +194,11 @@ public class AmbientDisplayConfiguration {
return !TextUtils.isEmpty(ambientDisplayComponent());
}
+ /** {@hide} */
+ public boolean dozeSuppressed(int user) {
+ return boolSettingDefaultOff(Settings.Secure.SUPPRESS_DOZE, user);
+ }
+
private boolean alwaysOnDisplayAvailable() {
return mContext.getResources().getBoolean(R.bool.config_dozeAlwaysOnDisplayAvailable);
}
diff --git a/core/java/android/hardware/location/ContextHubManager.java b/core/java/android/hardware/location/ContextHubManager.java
index 1001f800df3c..db16d24e0af1 100644
--- a/core/java/android/hardware/location/ContextHubManager.java
+++ b/core/java/android/hardware/location/ContextHubManager.java
@@ -19,6 +19,7 @@ import android.annotation.CallbackExecutor;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
@@ -26,6 +27,7 @@ import android.annotation.SystemService;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.Looper;
@@ -52,6 +54,7 @@ import java.util.concurrent.Executor;
*/
@SystemApi
@SystemService(Context.CONTEXTHUB_SERVICE)
+@RequiresFeature(PackageManager.FEATURE_CONTEXTHUB)
public final class ContextHubManager {
private static final String TAG = "ContextHubManager";
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 92047dcad09e..49e1d5e4f213 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -16,7 +16,6 @@
package android.inputmethodservice;
-import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_NONE;
@@ -39,6 +38,7 @@ import android.app.Dialog;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
@@ -52,7 +52,6 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
-import android.os.Process;
import android.os.RemoteException;
import android.os.ResultReceiver;
import android.os.SystemClock;
@@ -64,6 +63,7 @@ import android.text.method.MovementMethod;
import android.util.Log;
import android.util.PrintWriterPrinter;
import android.util.Printer;
+import android.util.Size;
import android.view.Gravity;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
@@ -452,6 +452,9 @@ public class InputMethodService extends AbstractInputMethodService {
@Nullable
private InlineSuggestionsRequestInfo mInlineSuggestionsRequestInfo = null;
+ private boolean mAutomotiveHideNavBarForKeyboard;
+ private boolean mIsAutomotive;
+
/**
* An opaque {@link Binder} token of window requesting {@link InputMethodImpl#showSoftInput}
* The original app window token is passed from client app window.
@@ -560,12 +563,10 @@ public class InputMethodService extends AbstractInputMethodService {
@Override
public void updateInputMethodDisplay(int displayId) {
// Update display for adding IME window to the right display.
- if (displayId != DEFAULT_DISPLAY) {
- // TODO(b/111364446) Need to address context lifecycle issue if need to re-create
- // for update resources & configuration correctly when show soft input
- // in non-default display.
- updateDisplay(displayId);
- }
+ // TODO(b/111364446) Need to address context lifecycle issue if need to re-create
+ // for update resources & configuration correctly when show soft input
+ // in non-default display.
+ updateDisplay(displayId);
}
/**
@@ -1233,6 +1234,11 @@ public class InputMethodService extends AbstractInputMethodService {
super.onCreate();
mImm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
mSettingsObserver = SettingsObserver.createAndRegister(this);
+
+ mIsAutomotive = isAutomotive();
+ mAutomotiveHideNavBarForKeyboard = getApplicationContext().getResources().getBoolean(
+ com.android.internal.R.bool.config_automotiveHideNavBarForKeyboard);
+
// TODO(b/111364446) Need to address context lifecycle issue if need to re-create
// for update resources & configuration correctly when show soft input
// in non-default display.
@@ -1242,12 +1248,16 @@ public class InputMethodService extends AbstractInputMethodService {
WindowManager.LayoutParams.TYPE_INPUT_METHOD, Gravity.BOTTOM, false);
mWindow.getWindow().getAttributes().setFitInsetsTypes(WindowInsets.Type.statusBars());
- // IME layout should always be inset by navigation bar, no matter it's current visibility.
+ // IME layout should always be inset by navigation bar, no matter its current visibility,
+ // unless automotive requests it, since automotive may hide the navigation bar.
mWindow.getWindow().getDecorView().setOnApplyWindowInsetsListener(
(v, insets) -> v.onApplyWindowInsets(
new WindowInsets.Builder(insets).setInsets(
navigationBars(),
- insets.getInsetsIgnoringVisibility(navigationBars()))
+ mIsAutomotive && mAutomotiveHideNavBarForKeyboard
+ ? android.graphics.Insets.NONE
+ : insets.getInsetsIgnoringVisibility(navigationBars())
+ )
.build()));
// For ColorView in DecorView to work, FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS needs to be set
@@ -1466,8 +1476,9 @@ public class InputMethodService extends AbstractInputMethodService {
* screen orientation changes.
*/
public int getMaxWidth() {
- WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
- return wm.getDefaultDisplay().getWidth();
+ final WindowManager windowManager = getSystemService(WindowManager.class);
+ final Size windowSize = windowManager.getCurrentWindowMetrics().getSize();
+ return windowSize.getWidth();
}
/**
@@ -3286,6 +3297,11 @@ public class InputMethodService extends AbstractInputMethodService {
: IME_VISIBLE) : 0);
}
+ private boolean isAutomotive() {
+ return getApplicationContext().getPackageManager().hasSystemFeature(
+ PackageManager.FEATURE_AUTOMOTIVE);
+ }
+
/**
* Performs a dump of the InputMethodService's internal state. Override
* to add your own information to the dump.
diff --git a/core/java/android/inputmethodservice/SoftInputWindow.java b/core/java/android/inputmethodservice/SoftInputWindow.java
index 356b3448430a..0513feef801f 100644
--- a/core/java/android/inputmethodservice/SoftInputWindow.java
+++ b/core/java/android/inputmethodservice/SoftInputWindow.java
@@ -21,7 +21,6 @@ import static java.lang.annotation.RetentionPolicy.SOURCE;
import android.annotation.IntDef;
import android.app.Dialog;
import android.content.Context;
-import android.content.pm.PackageManager;
import android.graphics.Rect;
import android.os.Debug;
import android.os.IBinder;
@@ -51,7 +50,6 @@ public class SoftInputWindow extends Dialog {
final int mWindowType;
final int mGravity;
final boolean mTakesFocus;
- final boolean mAutomotiveHideNavBarForKeyboard;
private final Rect mBounds = new Rect();
@Retention(SOURCE)
@@ -136,8 +134,6 @@ public class SoftInputWindow extends Dialog {
mWindowType = windowType;
mGravity = gravity;
mTakesFocus = takesFocus;
- mAutomotiveHideNavBarForKeyboard = context.getResources().getBoolean(
- com.android.internal.R.bool.config_automotiveHideNavBarForKeyboard);
initDockWindow();
}
@@ -251,11 +247,6 @@ public class SoftInputWindow extends Dialog {
windowModFlags |= WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
}
- if (isAutomotive() && mAutomotiveHideNavBarForKeyboard) {
- windowSetFlags |= WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
- windowModFlags |= WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
- }
-
getWindow().setFlags(windowSetFlags, windowModFlags);
}
@@ -347,10 +338,6 @@ public class SoftInputWindow extends Dialog {
mWindowState = newState;
}
- private boolean isAutomotive() {
- return getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE);
- }
-
private static String stateToString(@SoftInputWindowState int state) {
switch (state) {
case SoftInputWindowState.TOKEN_PENDING:
diff --git a/core/java/android/net/ConnectivityDiagnosticsManager.java b/core/java/android/net/ConnectivityDiagnosticsManager.java
index b13e4b72aa22..140363c48227 100644
--- a/core/java/android/net/ConnectivityDiagnosticsManager.java
+++ b/core/java/android/net/ConnectivityDiagnosticsManager.java
@@ -25,13 +25,16 @@ import android.os.Binder;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
+import android.os.RemoteException;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.Preconditions;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
/**
@@ -57,6 +60,11 @@ import java.util.concurrent.Executor;
* </ul>
*/
public class ConnectivityDiagnosticsManager {
+ /** @hide */
+ @VisibleForTesting
+ public static final Map<ConnectivityDiagnosticsCallback, ConnectivityDiagnosticsBinder>
+ sCallbacks = new ConcurrentHashMap<>();
+
private final Context mContext;
private final IConnectivityManager mService;
@@ -631,8 +639,9 @@ public class ConnectivityDiagnosticsManager {
/**
* Registers a ConnectivityDiagnosticsCallback with the System.
*
- * <p>Only apps that offer network connectivity to the user are allowed to register callbacks.
- * This includes:
+ * <p>Only apps that offer network connectivity to the user should be registering callbacks.
+ * These are the only apps whose callbacks will be invoked by the system. Apps considered to
+ * meet these conditions include:
*
* <ul>
* <li>Carrier apps with active subscriptions
@@ -640,15 +649,14 @@ public class ConnectivityDiagnosticsManager {
* <li>WiFi Suggesters
* </ul>
*
- * <p>Callbacks will be limited to receiving notifications for networks over which apps provide
- * connectivity.
+ * <p>Callbacks registered by apps not meeting the above criteria will not be invoked.
*
* <p>If a registering app loses its relevant permissions, any callbacks it registered will
* silently stop receiving callbacks.
*
- * <p>Each register() call <b>MUST</b> use a unique ConnectivityDiagnosticsCallback instance. If
- * a single instance is registered with multiple NetworkRequests, an IllegalArgumentException
- * will be thrown.
+ * <p>Each register() call <b>MUST</b> use a ConnectivityDiagnosticsCallback instance that is
+ * not currently registered. If a ConnectivityDiagnosticsCallback instance is registered with
+ * multiple NetworkRequests, an IllegalArgumentException will be thrown.
*
* @param request The NetworkRequest that will be used to match with Networks for which
* callbacks will be fired
@@ -657,15 +665,21 @@ public class ConnectivityDiagnosticsManager {
* System
* @throws IllegalArgumentException if the same callback instance is registered with multiple
* NetworkRequests
- * @throws SecurityException if the caller does not have appropriate permissions to register a
- * callback
*/
public void registerConnectivityDiagnosticsCallback(
@NonNull NetworkRequest request,
@NonNull Executor e,
@NonNull ConnectivityDiagnosticsCallback callback) {
- // TODO(b/143187964): implement ConnectivityDiagnostics functionality
- throw new UnsupportedOperationException("registerCallback() not supported yet");
+ final ConnectivityDiagnosticsBinder binder = new ConnectivityDiagnosticsBinder(callback, e);
+ if (sCallbacks.putIfAbsent(callback, binder) != null) {
+ throw new IllegalArgumentException("Callback is currently registered");
+ }
+
+ try {
+ mService.registerConnectivityDiagnosticsCallback(binder, request);
+ } catch (RemoteException exception) {
+ exception.rethrowFromSystemServer();
+ }
}
/**
@@ -678,7 +692,15 @@ public class ConnectivityDiagnosticsManager {
*/
public void unregisterConnectivityDiagnosticsCallback(
@NonNull ConnectivityDiagnosticsCallback callback) {
- // TODO(b/143187964): implement ConnectivityDiagnostics functionality
- throw new UnsupportedOperationException("registerCallback() not supported yet");
+ // unconditionally removing from sCallbacks prevents race conditions here, since remove() is
+ // atomic.
+ final ConnectivityDiagnosticsBinder binder = sCallbacks.remove(callback);
+ if (binder == null) return;
+
+ try {
+ mService.unregisterConnectivityDiagnosticsCallback(binder);
+ } catch (RemoteException exception) {
+ exception.rethrowFromSystemServer();
+ }
}
}
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index ce9693d88a97..fa12c08f2277 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -3322,15 +3322,19 @@ public class ConnectivityManager {
// of dependent changes that would conflict throughout the automerger graph. Having this
// temporarily helps with the process of going through with all these dependent changes across
// the entire tree.
+ // STOPSHIP (b/148055573) : remove this before R is released.
/**
* @hide
* Register a NetworkAgent with ConnectivityService.
* @return Network corresponding to NetworkAgent.
+ * @deprecated use the version that takes a NetworkScore and a provider ID.
*/
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
+ @Deprecated
public Network registerNetworkAgent(Messenger messenger, NetworkInfo ni, LinkProperties lp,
NetworkCapabilities nc, int score, NetworkAgentConfig config) {
- return registerNetworkAgent(messenger, ni, lp, nc, score, config, NetworkProvider.ID_NONE);
+ final NetworkScore ns = new NetworkScore.Builder().setLegacyScore(score).build();
+ return registerNetworkAgent(messenger, ni, lp, nc, ns, config, NetworkProvider.ID_NONE);
}
/**
@@ -3340,7 +3344,7 @@ public class ConnectivityManager {
*/
@RequiresPermission(android.Manifest.permission.NETWORK_FACTORY)
public Network registerNetworkAgent(Messenger messenger, NetworkInfo ni, LinkProperties lp,
- NetworkCapabilities nc, int score, NetworkAgentConfig config, int providerId) {
+ NetworkCapabilities nc, NetworkScore score, NetworkAgentConfig config, int providerId) {
try {
return mService.registerNetworkAgent(messenger, ni, lp, nc, score, config, providerId);
} catch (RemoteException e) {
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index 3e9e7faccb02..6baa3832403f 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -26,6 +26,7 @@ import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.NetworkQuotaInfo;
import android.net.NetworkRequest;
+import android.net.NetworkScore;
import android.net.NetworkState;
import android.net.ISocketKeepaliveCallback;
import android.net.ProxyInfo;
@@ -120,6 +121,14 @@ interface IConnectivityManager
ParcelFileDescriptor establishVpn(in VpnConfig config);
+ boolean provisionVpnProfile(in VpnProfile profile, String packageName);
+
+ void deleteVpnProfile(String packageName);
+
+ void startVpnProfile(String packageName);
+
+ void stopVpnProfile(String packageName);
+
VpnConfig getVpnConfig(int userId);
@UnsupportedAppUsage
@@ -154,7 +163,7 @@ interface IConnectivityManager
void declareNetworkRequestUnfulfillable(in NetworkRequest request);
Network registerNetworkAgent(in Messenger messenger, in NetworkInfo ni, in LinkProperties lp,
- in NetworkCapabilities nc, int score, in NetworkAgentConfig config,
+ in NetworkCapabilities nc, in NetworkScore score, in NetworkAgentConfig config,
in int factorySerialNumber);
NetworkRequest requestNetwork(in NetworkCapabilities networkCapabilities,
diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java
index 7cc569a42b0b..ddf8dbbcb953 100644
--- a/core/java/android/net/NetworkAgent.java
+++ b/core/java/android/net/NetworkAgent.java
@@ -117,13 +117,6 @@ public abstract class NetworkAgent {
public static final int EVENT_NETWORK_PROPERTIES_CHANGED = BASE + 3;
/**
- * Centralize the place where base network score, and network score scaling, will be
- * stored, so as we can consistently compare apple and oranges, or wifi, ethernet and LTE
- * @hide
- */
- public static final int WIFI_BASE_SCORE = 60;
-
- /**
* Sent by the NetworkAgent to ConnectivityService to pass the current
* network score.
* obj = network score Integer
@@ -272,7 +265,13 @@ public abstract class NetworkAgent {
*/
public static final int CMD_REMOVE_KEEPALIVE_PACKET_FILTER = BASE + 17;
+ // STOPSHIP (b/148055573) : remove this before R is released.
+ private static NetworkScore makeNetworkScore(int score) {
+ return new NetworkScore.Builder().setLegacyScore(score).build();
+ }
+
/** @hide TODO: remove and replace usage with the public constructor. */
+ // STOPSHIP (b/148055573) : remove this before R is released.
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score) {
this(looper, context, logTag, ni, nc, lp, score, null, NetworkProvider.ID_NONE);
@@ -280,6 +279,7 @@ public abstract class NetworkAgent {
}
/** @hide TODO: remove and replace usage with the public constructor. */
+ // STOPSHIP (b/148055573) : remove this before R is released.
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config) {
this(looper, context, logTag, ni, nc, lp, score, config, NetworkProvider.ID_NONE);
@@ -287,6 +287,7 @@ public abstract class NetworkAgent {
}
/** @hide TODO: remove and replace usage with the public constructor. */
+ // STOPSHIP (b/148055573) : remove this before R is released.
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score, int providerId) {
this(looper, context, logTag, ni, nc, lp, score, null, providerId);
@@ -294,10 +295,12 @@ public abstract class NetworkAgent {
}
/** @hide TODO: remove and replace usage with the public constructor. */
+ // STOPSHIP (b/148055573) : remove this before R is released.
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config,
int providerId) {
- this(looper, context, logTag, nc, lp, score, config, providerId, ni, true /* legacy */);
+ this(looper, context, logTag, nc, lp, makeNetworkScore(score), config, providerId, ni,
+ true /* legacy */);
register();
}
@@ -323,8 +326,9 @@ public abstract class NetworkAgent {
* @param provider the {@link NetworkProvider} managing this agent.
*/
public NetworkAgent(@NonNull Context context, @NonNull Looper looper, @NonNull String logTag,
- @NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score,
- @NonNull NetworkAgentConfig config, @Nullable NetworkProvider provider) {
+ @NonNull NetworkCapabilities nc, @NonNull LinkProperties lp,
+ @NonNull NetworkScore score, @NonNull NetworkAgentConfig config,
+ @Nullable NetworkProvider provider) {
this(looper, context, logTag, nc, lp, score, config,
provider == null ? NetworkProvider.ID_NONE : provider.getProviderId(),
getLegacyNetworkInfo(config), false /* legacy */);
@@ -334,12 +338,12 @@ public abstract class NetworkAgent {
public final Context context;
public final NetworkCapabilities capabilities;
public final LinkProperties properties;
- public final int score;
+ public final NetworkScore score;
public final NetworkAgentConfig config;
public final NetworkInfo info;
InitialConfiguration(@NonNull Context context, @NonNull NetworkCapabilities capabilities,
- @NonNull LinkProperties properties, int score, @NonNull NetworkAgentConfig config,
- @NonNull NetworkInfo info) {
+ @NonNull LinkProperties properties, @NonNull NetworkScore score,
+ @NonNull NetworkAgentConfig config, @NonNull NetworkInfo info) {
this.context = context;
this.capabilities = capabilities;
this.properties = properties;
@@ -351,7 +355,7 @@ public abstract class NetworkAgent {
private volatile InitialConfiguration mInitialConfiguration;
private NetworkAgent(@NonNull Looper looper, @NonNull Context context, @NonNull String logTag,
- @NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score,
+ @NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, NetworkScore score,
@NonNull NetworkAgentConfig config, int providerId, @NonNull NetworkInfo ni,
boolean legacy) {
mHandler = new NetworkAgentHandler(looper);
@@ -646,22 +650,8 @@ public abstract class NetworkAgent {
* Must be called by the agent to update the score of this network.
* @param score the new score.
*/
- public void sendNetworkScore(int score) {
- if (score < 0) {
- throw new IllegalArgumentException("Score must be >= 0");
- }
- final NetworkScore ns = new NetworkScore();
- ns.putIntExtension(NetworkScore.LEGACY_SCORE, score);
- updateScore(ns);
- }
-
- /**
- * Must be called by the agent when it has a new {@link NetworkScore} for this network.
- * @param ns the new score.
- * @hide TODO: unhide the NetworkScore class, and rename to sendNetworkScore.
- */
- public void updateScore(@NonNull NetworkScore ns) {
- queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, new NetworkScore(ns));
+ public void sendNetworkScore(@NonNull final NetworkScore score) {
+ queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, score);
}
/**
diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java
index 01800c6751fb..14442a2088cd 100644
--- a/core/java/android/net/NetworkPolicyManager.java
+++ b/core/java/android/net/NetworkPolicyManager.java
@@ -539,13 +539,13 @@ public class NetworkPolicyManager {
/** @hide */
public static String resolveNetworkId(WifiConfiguration config) {
- return WifiInfo.removeDoubleQuotes(config.isPasspoint()
+ return WifiInfo.sanitizeSsid(config.isPasspoint()
? config.providerFriendlyName : config.SSID);
}
/** @hide */
public static String resolveNetworkId(String ssid) {
- return WifiInfo.removeDoubleQuotes(ssid);
+ return WifiInfo.sanitizeSsid(ssid);
}
/** @hide */
diff --git a/core/java/android/net/NetworkScore.aidl b/core/java/android/net/NetworkScore.aidl
new file mode 100644
index 000000000000..be9a98b24e74
--- /dev/null
+++ b/core/java/android/net/NetworkScore.aidl
@@ -0,0 +1,19 @@
+/**
+ * Copyright (c) 2020, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net;
+
+parcelable NetworkScore;
diff --git a/core/java/android/net/NetworkScore.java b/core/java/android/net/NetworkScore.java
index 13f2994110a1..ae17378cfc4c 100644
--- a/core/java/android/net/NetworkScore.java
+++ b/core/java/android/net/NetworkScore.java
@@ -15,12 +15,18 @@
*/
package android.net;
+import android.annotation.IntDef;
+import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.Objects;
/**
@@ -28,57 +34,392 @@ import java.util.Objects;
*
* A NetworkScore object represents the characteristics of a network that affects how good the
* network is considered for a particular use.
+ *
+ * This class is not thread-safe.
* @hide
*/
+@TestApi
+@SystemApi
public final class NetworkScore implements Parcelable {
+ /** An object containing scoring-relevant metrics for a network. */
+ public static class Metrics {
+ /** Value meaning the latency is unknown. */
+ public static final int LATENCY_UNKNOWN = -1;
+
+ /** Value meaning the bandwidth is unknown. */
+ public static final int BANDWIDTH_UNKNOWN = -1;
+
+ /**
+ * Round-trip delay in milliseconds to the relevant destination for this Metrics object.
+ *
+ * LATENCY_UNKNOWN if unknown.
+ */
+ @IntRange(from = LATENCY_UNKNOWN)
+ public final int latencyMs;
+
+ /**
+ * Downlink in kB/s with the relevant destination for this Metrics object.
+ *
+ * BANDWIDTH_UNKNOWN if unknown. If directional bandwidth is unknown, up and downlink
+ * bandwidth can have the same value.
+ */
+ @IntRange(from = BANDWIDTH_UNKNOWN)
+ public final int downlinkBandwidthKBps;
- // The key of bundle which is used to get the legacy network score of NetworkAgentInfo.
- // TODO: Remove this when the transition to NetworkScore is over.
- public static final String LEGACY_SCORE = "LEGACY_SCORE";
+ /**
+ * Uplink in kB/s with the relevant destination for this Metrics object.
+ *
+ * BANDWIDTH_UNKNOWN if unknown. If directional bandwidth is unknown, up and downlink
+ * bandwidth can have the same value.
+ */
+ @IntRange(from = BANDWIDTH_UNKNOWN)
+ public final int uplinkBandwidthKBps;
+
+ /** Constructor */
+ public Metrics(@IntRange(from = LATENCY_UNKNOWN) final int latency,
+ @IntRange(from = BANDWIDTH_UNKNOWN) final int downlinkBandwidth,
+ @IntRange(from = BANDWIDTH_UNKNOWN) final int uplinkBandwidth) {
+ latencyMs = latency;
+ downlinkBandwidthKBps = downlinkBandwidth;
+ uplinkBandwidthKBps = uplinkBandwidth;
+ }
+
+ /** toString */
+ public String toString() {
+ return "latency = " + latencyMs + " downlinkBandwidth = " + downlinkBandwidthKBps
+ + "uplinkBandwidth = " + uplinkBandwidthKBps;
+ }
+
+ @NonNull
+ public static final Metrics EMPTY =
+ new Metrics(LATENCY_UNKNOWN, BANDWIDTH_UNKNOWN, BANDWIDTH_UNKNOWN);
+ }
+
+ /** @hide */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(flag = true, prefix = "POLICY_", value = {
+ POLICY_LOCKDOWN_VPN,
+ POLICY_VPN,
+ POLICY_IGNORE_ON_WIFI,
+ POLICY_DEFAULT_SUBSCRIPTION
+ })
+ public @interface Policy {
+ }
+
+ /**
+ * This network is a VPN with lockdown enabled.
+ *
+ * If a network with this bit is present in the list of candidates and not connected,
+ * no network can satisfy the request.
+ */
+ public static final int POLICY_LOCKDOWN_VPN = 1 << 0;
+
+ /**
+ * This network is a VPN.
+ *
+ * If a network with this bit is present and the request UID is included in the UID ranges
+ * of this network, it outscores all other networks without this bit.
+ */
+ public static final int POLICY_VPN = 1 << 1;
+
+ /**
+ * This network should not be used if a previously validated WiFi network is available.
+ *
+ * If a network with this bit is present and a previously validated WiFi is present too, the
+ * network with this bit is outscored by it. This stays true if the WiFi network
+ * becomes unvalidated : this network will not be considered.
+ */
+ public static final int POLICY_IGNORE_ON_WIFI = 1 << 2;
+
+ /**
+ * This network is the default subscription for this transport.
+ *
+ * If a network with this bit is present, other networks of the same transport without this
+ * bit are outscored by it. A device with two active subscriptions and a setting
+ * to decide the default one would have this policy bit on the network for the default
+ * subscription so that when both are active at the same time, the device chooses the
+ * network associated with the default subscription rather than the one with the best link
+ * quality (which will happen if policy doesn't dictate otherwise).
+ */
+ public static final int POLICY_DEFAULT_SUBSCRIPTION = 1 << 3;
+
+ /**
+ * Policy bits for this network. Filled in by the NetworkAgent.
+ */
+ private final int mPolicy;
+
+ /**
+ * Predicted metrics to the gateway (it contains latency and bandwidth to the gateway).
+ * This is filled by the NetworkAgent with the theoretical values of the link if available,
+ * although they may fill it with predictions from historical data if available.
+ * Note that while this member cannot be null, any and all of its members can be unknown.
+ */
@NonNull
- private final Bundle mExtensions;
+ private final Metrics mLinkLayerMetrics;
+
+ /**
+ * Predicted metrics to representative servers.
+ * This is filled by connectivity with (if available) a best-effort estimate of the performance
+ * information to servers the user connects to in similar circumstances, and predicted from
+ * actual measurements if possible.
+ * Note that while this member cannot be null, any and all of its members can be unknown.
+ */
+ @NonNull
+ private final Metrics mEndToEndMetrics;
+
+ /** Value meaning the signal strength is unknown. */
+ public static final int UNKNOWN_SIGNAL_STRENGTH = -1;
+
+ /** The smallest meaningful signal strength. */
+ public static final int MIN_SIGNAL_STRENGTH = 0;
+
+ /** The largest meaningful signal strength. */
+ public static final int MAX_SIGNAL_STRENGTH = 1000;
+
+ /**
+ * User-visible measure of the strength of the signal normalized 1~1000.
+ * This represents a measure of the signal strength for this network.
+ * If unknown, this has value UNKNOWN_SIGNAL_STRENGTH.
+ */
+ // A good way to populate this value is to fill it with the number of bars displayed in
+ // the system UI, scaled 0 to 1000. This is what the user sees and it makes sense to them.
+ // Cellular for example could quantize the ASU value (see SignalStrength#getAsuValue) into
+ // this, while WiFi could scale the RSSI (see WifiManager#calculateSignalLevel).
+ @IntRange(from = UNKNOWN_SIGNAL_STRENGTH, to = MAX_SIGNAL_STRENGTH)
+ private final int mSignalStrength;
+
+ /** @hide */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(flag = true, prefix = "RANGE_", value = {
+ RANGE_UNKNOWN, RANGE_CLOSE, RANGE_SHORT, RANGE_MEDIUM, RANGE_LONG
+ })
+ public @interface Range {
+ }
+
+ /**
+ * The range of this network is not known.
+ * This can be used by VPN the range of which depends on the range of the underlying network.
+ */
+ public static final int RANGE_UNKNOWN = 0;
+
+ /**
+ * This network typically only operates at close range, like an NFC beacon.
+ */
+ public static final int RANGE_CLOSE = 1;
+
+ /**
+ * This network typically operates at a range of a few meters to a few dozen meters, like WiFi.
+ */
+ public static final int RANGE_SHORT = 2;
+
+ /**
+ * This network typically operates at a range of a few dozen to a few hundred meters, like CBRS.
+ */
+ public static final int RANGE_MEDIUM = 3;
+
+ /**
+ * This network typically offers continuous connectivity up to many kilometers away, like LTE.
+ */
+ public static final int RANGE_LONG = 4;
- public NetworkScore() {
- mExtensions = new Bundle();
+ /**
+ * The typical range of this networking technology.
+ *
+ * This is one of the RANGE_* constants and is filled by the NetworkAgent.
+ * This may be useful when evaluating how desirable a network is, because for two networks that
+ * have equivalent performance and cost, the one that won't lose IP continuity when the user
+ * moves is probably preferable.
+ * Agents should fill this with the largest typical range this technology provides. See the
+ * descriptions of the individual constants for guidance.
+ *
+ * If unknown, this is set to RANGE_UNKNOWN.
+ */
+ @Range private final int mRange;
+
+ /**
+ * A prediction of whether this network is likely to be unusable in a few seconds.
+ *
+ * NetworkAgents set this to true to mean they are aware that usability is limited due to
+ * low signal strength, congestion, or other reasons, and indicates that the system should
+ * only use this network as a last resort. An example would be a WiFi network when the device
+ * is about to move outside of range.
+ *
+ * This is filled by the NetworkAgent. Agents that don't know whether this network is likely
+ * to be unusable soon should set this to false.
+ */
+ private final boolean mExiting;
+
+ /**
+ * The legacy score, as a migration strategy from Q to R.
+ * STOPSHIP : remove this before R ships.
+ */
+ private final int mLegacyScore;
+
+ /**
+ * Create a new NetworkScore object.
+ */
+ private NetworkScore(@Policy final int policy, @Nullable final Metrics l2Perf,
+ @Nullable final Metrics e2ePerf,
+ @IntRange(from = UNKNOWN_SIGNAL_STRENGTH, to = MAX_SIGNAL_STRENGTH)
+ final int signalStrength,
+ @Range final int range, final boolean exiting, final int legacyScore) {
+ mPolicy = policy;
+ mLinkLayerMetrics = null != l2Perf ? l2Perf : Metrics.EMPTY;
+ mEndToEndMetrics = null != e2ePerf ? e2ePerf : Metrics.EMPTY;
+ mSignalStrength = signalStrength;
+ mRange = range;
+ mExiting = exiting;
+ mLegacyScore = legacyScore;
}
- public NetworkScore(@NonNull NetworkScore source) {
- mExtensions = new Bundle(source.mExtensions);
+ /**
+ * Utility function to return a copy of this with a different exiting value.
+ */
+ @NonNull public NetworkScore withExiting(final boolean exiting) {
+ return new NetworkScore(mPolicy, mLinkLayerMetrics, mEndToEndMetrics,
+ mSignalStrength, mRange, exiting, mLegacyScore);
}
/**
- * Put the value of parcelable inside the bundle by key.
+ * Utility function to return a copy of this with a different signal strength.
*/
- public void putExtension(@Nullable String key, @Nullable Parcelable value) {
- mExtensions.putParcelable(key, value);
+ @NonNull public NetworkScore withSignalStrength(
+ @IntRange(from = UNKNOWN_SIGNAL_STRENGTH) final int signalStrength) {
+ return new NetworkScore(mPolicy, mLinkLayerMetrics, mEndToEndMetrics,
+ signalStrength, mRange, mExiting, mLegacyScore);
}
/**
- * Put the value of int inside the bundle by key.
+ * Returns whether this network has a particular policy flag.
+ * @param policy the policy, as one of the POLICY_* constants.
*/
- public void putIntExtension(@Nullable String key, int value) {
- mExtensions.putInt(key, value);
+ public boolean hasPolicy(@Policy final int policy) {
+ return 0 != (mPolicy & policy);
}
/**
- * Get the value of non primitive type by key.
+ * Returns the Metrics representing the performance of the link layer.
+ *
+ * This contains the theoretical performance of the link, if available.
+ * Note that while this function cannot return null, any and/or all of the members of the
+ * returned object can be null if unknown.
*/
- public <T extends Parcelable> T getExtension(@Nullable String key) {
- return mExtensions.getParcelable(key);
+ @NonNull public Metrics getLinkLayerMetrics() {
+ return mLinkLayerMetrics;
}
/**
- * Get the value of int by key.
+ * Returns the Metrics representing the end-to-end performance of the network.
+ *
+ * This contains the end-to-end performance of the link, if available.
+ * Note that while this function cannot return null, any and/or all of the members of the
+ * returned object can be null if unknown.
*/
- public int getIntExtension(@Nullable String key) {
- return mExtensions.getInt(key);
+ @NonNull public Metrics getEndToEndMetrics() {
+ return mEndToEndMetrics;
}
/**
- * Remove the entry by given key.
+ * Returns the signal strength of this network normalized 0~1000, or UNKNOWN_SIGNAL_STRENGTH.
*/
- public void removeExtension(@Nullable String key) {
- mExtensions.remove(key);
+ @IntRange(from = UNKNOWN_SIGNAL_STRENGTH, to = MAX_SIGNAL_STRENGTH)
+ public int getSignalStrength() {
+ return mSignalStrength;
+ }
+
+ /**
+ * Returns the typical range of this network technology as one of the RANGE_* constants.
+ */
+ @Range public int getRange() {
+ return mRange;
+ }
+
+ /** Returns a prediction of whether this network is likely to be unusable in a few seconds. */
+ public boolean isExiting() {
+ return mExiting;
+ }
+
+ /**
+ * Get the legacy score.
+ * @hide
+ */
+ public int getLegacyScore() {
+ return mLegacyScore;
+ }
+
+ /** Builder for NetworkScore. */
+ public static class Builder {
+ private int mPolicy = 0;
+ @NonNull
+ private Metrics mLinkLayerMetrics = new Metrics(Metrics.LATENCY_UNKNOWN,
+ Metrics.BANDWIDTH_UNKNOWN, Metrics.BANDWIDTH_UNKNOWN);
+ @NonNull
+ private Metrics mEndToMetrics = new Metrics(Metrics.LATENCY_UNKNOWN,
+ Metrics.BANDWIDTH_UNKNOWN, Metrics.BANDWIDTH_UNKNOWN);
+ private int mSignalStrength = UNKNOWN_SIGNAL_STRENGTH;
+ private int mRange = RANGE_UNKNOWN;
+ private boolean mExiting = false;
+ private int mLegacyScore = 0;
+ @NonNull private Bundle mExtensions = new Bundle();
+
+ /** Create a new builder. */
+ public Builder() { }
+
+ /** Add a policy flag. */
+ @NonNull public Builder addPolicy(@Policy final int policy) {
+ mPolicy |= policy;
+ return this;
+ }
+
+ /** Clear a policy flag */
+ @NonNull public Builder clearPolicy(@Policy final int policy) {
+ mPolicy &= ~policy;
+ return this;
+ }
+
+ /** Set the link layer metrics. */
+ @NonNull public Builder setLinkLayerMetrics(@NonNull final Metrics linkLayerMetrics) {
+ mLinkLayerMetrics = linkLayerMetrics;
+ return this;
+ }
+
+ /** Set the end-to-end metrics. */
+ @NonNull public Builder setEndToEndMetrics(@NonNull final Metrics endToEndMetrics) {
+ mEndToMetrics = endToEndMetrics;
+ return this;
+ }
+
+ /** Set the signal strength. */
+ @NonNull public Builder setSignalStrength(
+ @IntRange(from = UNKNOWN_SIGNAL_STRENGTH, to = MAX_SIGNAL_STRENGTH)
+ final int signalStrength) {
+ mSignalStrength = signalStrength;
+ return this;
+ }
+
+ /** Set the range. */
+ @NonNull public Builder setRange(@Range final int range) {
+ mRange = range;
+ return this;
+ }
+
+ /** Set whether this network is exiting. */
+ @NonNull public Builder setExiting(final boolean exiting) {
+ mExiting = exiting;
+ return this;
+ }
+
+ /** Add a parcelable extension. */
+ @NonNull public Builder setLegacyScore(final int legacyScore) {
+ mLegacyScore = legacyScore;
+ return this;
+ }
+
+ /** Build the NetworkScore object represented by this builder. */
+ @NonNull public NetworkScore build() {
+ return new NetworkScore(mPolicy, mLinkLayerMetrics, mEndToMetrics,
+ mSignalStrength, mRange, mExiting, mLegacyScore);
+ }
}
@Override
@@ -88,9 +429,17 @@ public final class NetworkScore implements Parcelable {
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
- synchronized (this) {
- dest.writeBundle(mExtensions);
- }
+ dest.writeInt(mPolicy);
+ dest.writeInt(mLinkLayerMetrics.latencyMs);
+ dest.writeInt(mLinkLayerMetrics.downlinkBandwidthKBps);
+ dest.writeInt(mLinkLayerMetrics.uplinkBandwidthKBps);
+ dest.writeInt(mEndToEndMetrics.latencyMs);
+ dest.writeInt(mEndToEndMetrics.downlinkBandwidthKBps);
+ dest.writeInt(mEndToEndMetrics.uplinkBandwidthKBps);
+ dest.writeInt(mSignalStrength);
+ dest.writeInt(mRange);
+ dest.writeBoolean(mExiting);
+ dest.writeInt(mLegacyScore);
}
public static final @NonNull Creator<NetworkScore> CREATOR = new Creator<NetworkScore>() {
@@ -106,57 +455,52 @@ public final class NetworkScore implements Parcelable {
};
private NetworkScore(@NonNull Parcel in) {
- mExtensions = in.readBundle();
+ mPolicy = in.readInt();
+ mLinkLayerMetrics = new Metrics(in.readInt(), in.readInt(), in.readInt());
+ mEndToEndMetrics = new Metrics(in.readInt(), in.readInt(), in.readInt());
+ mSignalStrength = in.readInt();
+ mRange = in.readInt();
+ mExiting = in.readBoolean();
+ mLegacyScore = in.readInt();
}
- // TODO: Modify this method once new fields are added into this class.
@Override
public boolean equals(@Nullable Object obj) {
if (!(obj instanceof NetworkScore)) {
return false;
}
final NetworkScore other = (NetworkScore) obj;
- return bundlesEqual(mExtensions, other.mExtensions);
+ return mPolicy == other.mPolicy
+ && mLinkLayerMetrics.latencyMs == other.mLinkLayerMetrics.latencyMs
+ && mLinkLayerMetrics.uplinkBandwidthKBps
+ == other.mLinkLayerMetrics.uplinkBandwidthKBps
+ && mEndToEndMetrics.latencyMs == other.mEndToEndMetrics.latencyMs
+ && mEndToEndMetrics.uplinkBandwidthKBps
+ == other.mEndToEndMetrics.uplinkBandwidthKBps
+ && mSignalStrength == other.mSignalStrength
+ && mRange == other.mRange
+ && mExiting == other.mExiting
+ && mLegacyScore == other.mLegacyScore;
}
@Override
public int hashCode() {
- int result = 29;
- for (String key : mExtensions.keySet()) {
- final Object value = mExtensions.get(key);
- // The key may be null, so call Objects.hash() is safer.
- result += 31 * value.hashCode() + 37 * Objects.hash(key);
- }
- return result;
- }
-
- // mExtensions won't be null since the constructor will create it.
- private boolean bundlesEqual(@NonNull Bundle bundle1, @NonNull Bundle bundle2) {
- if (bundle1 == bundle2) {
- return true;
- }
-
- // This is unlikely but it's fine to add this clause here.
- if (null == bundle1 || null == bundle2) {
- return false;
- }
-
- if (bundle1.size() != bundle2.size()) {
- return false;
- }
-
- for (String key : bundle1.keySet()) {
- final Object value1 = bundle1.get(key);
- final Object value2 = bundle2.get(key);
- if (!Objects.equals(value1, value2)) {
- return false;
- }
- }
- return true;
+ return Objects.hash(mPolicy,
+ mLinkLayerMetrics.latencyMs, mLinkLayerMetrics.uplinkBandwidthKBps,
+ mEndToEndMetrics.latencyMs, mEndToEndMetrics.uplinkBandwidthKBps,
+ mSignalStrength, mRange, mExiting, mLegacyScore);
}
/** Convert to a string */
public String toString() {
- return "NetworkScore[" + mExtensions.toString() + "]";
+ return "NetworkScore ["
+ + "Policy = " + mPolicy
+ + " LinkLayerMetrics = " + mLinkLayerMetrics
+ + " EndToEndMetrics = " + mEndToEndMetrics
+ + " SignalStrength = " + mSignalStrength
+ + " Range = " + mRange
+ + " Exiting = " + mExiting
+ + " LegacyScore = " + mLegacyScore
+ + "]";
}
}
diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java
index 5e6c47a47a8e..5498f74ba2cc 100644
--- a/core/java/android/net/NetworkTemplate.java
+++ b/core/java/android/net/NetworkTemplate.java
@@ -32,7 +32,7 @@ import static android.net.NetworkStats.METERED_YES;
import static android.net.NetworkStats.ROAMING_ALL;
import static android.net.NetworkStats.ROAMING_NO;
import static android.net.NetworkStats.ROAMING_YES;
-import static android.net.wifi.WifiInfo.removeDoubleQuotes;
+import static android.net.wifi.WifiInfo.sanitizeSsid;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
@@ -401,7 +401,7 @@ public class NetworkTemplate implements Parcelable {
switch (ident.mType) {
case TYPE_WIFI:
return Objects.equals(
- removeDoubleQuotes(mNetworkId), removeDoubleQuotes(ident.mNetworkId));
+ sanitizeSsid(mNetworkId), sanitizeSsid(ident.mNetworkId));
default:
return false;
}
diff --git a/core/java/android/net/VpnManager.java b/core/java/android/net/VpnManager.java
index f95807a14f00..e60cc81bf9d2 100644
--- a/core/java/android/net/VpnManager.java
+++ b/core/java/android/net/VpnManager.java
@@ -20,8 +20,17 @@ import static com.android.internal.util.Preconditions.checkNotNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.app.Activity;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
+import android.os.RemoteException;
+
+import com.android.internal.net.VpnProfile;
+
+import java.io.IOException;
+import java.security.GeneralSecurityException;
/**
* This class provides an interface for apps to manage platform VPN profiles
@@ -41,6 +50,15 @@ public class VpnManager {
@NonNull private final Context mContext;
@NonNull private final IConnectivityManager mService;
+ private static Intent getIntentForConfirmation() {
+ final Intent intent = new Intent();
+ final ComponentName componentName = ComponentName.unflattenFromString(
+ Resources.getSystem().getString(
+ com.android.internal.R.string.config_customVpnConfirmDialogComponent));
+ intent.setComponent(componentName);
+ return intent;
+ }
+
/**
* Create an instance of the VpnManger with the given context.
*
@@ -57,18 +75,49 @@ public class VpnManager {
/**
* Install a VpnProfile configuration keyed on the calling app's package name.
*
- * @param profile the PlatformVpnProfile provided by this package. Will override any previous
- * PlatformVpnProfile stored for this package.
- * @return an intent to request user consent if needed (null otherwise).
+ * <p>This method returns {@code null} if user consent has already been granted, or an {@link
+ * Intent} to a system activity. If an intent is returned, the application should launch the
+ * activity using {@link Activity#startActivityForResult} to request user consent. The activity
+ * may pop up a dialog to require user action, and the result will come back via its {@link
+ * Activity#onActivityResult}. If the result is {@link Activity#RESULT_OK}, the user has
+ * consented, and the VPN profile can be started.
+ *
+ * @param profile the VpnProfile provided by this package. Will override any previous VpnProfile
+ * stored for this package.
+ * @return an Intent requesting user consent to start the VPN, or null if consent is not
+ * required based on privileges or previous user consent.
*/
@Nullable
public Intent provisionVpnProfile(@NonNull PlatformVpnProfile profile) {
- throw new UnsupportedOperationException("Not yet implemented");
+ final VpnProfile internalProfile;
+
+ try {
+ internalProfile = profile.toVpnProfile();
+ } catch (GeneralSecurityException | IOException e) {
+ // Conversion to VpnProfile failed; this is an invalid profile. Both of these exceptions
+ // indicate a failure to convert a PrivateKey or X509Certificate to a Base64 encoded
+ // string as required by the VpnProfile.
+ throw new IllegalArgumentException("Failed to serialize PlatformVpnProfile", e);
+ }
+
+ try {
+ // Profile can never be null; it either gets set, or an exception is thrown.
+ if (mService.provisionVpnProfile(internalProfile, mContext.getOpPackageName())) {
+ return null;
+ }
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ return getIntentForConfirmation();
}
/** Delete the VPN profile configuration that was provisioned by the calling app */
public void deleteProvisionedVpnProfile() {
- throw new UnsupportedOperationException("Not yet implemented");
+ try {
+ mService.deleteVpnProfile(mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
/**
@@ -78,11 +127,19 @@ public class VpnManager {
* setup, or if user consent has not been granted
*/
public void startProvisionedVpnProfile() {
- throw new UnsupportedOperationException("Not yet implemented");
+ try {
+ mService.startVpnProfile(mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
/** Tear down the VPN provided by the calling app (if any) */
public void stopProvisionedVpnProfile() {
- throw new UnsupportedOperationException("Not yet implemented");
+ try {
+ mService.stopVpnProfile(mContext.getOpPackageName());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
}
}
diff --git a/core/java/android/os/BatteryStatsManager.java b/core/java/android/os/BatteryStatsManager.java
index 152141edb52d..f2e16b46422f 100644
--- a/core/java/android/os/BatteryStatsManager.java
+++ b/core/java/android/os/BatteryStatsManager.java
@@ -42,7 +42,7 @@ import java.lang.annotation.RetentionPolicy;
*/
@SystemApi
@SystemService(Context.BATTERY_STATS_SERVICE)
-public class BatteryStatsManager {
+public final class BatteryStatsManager {
/**
* Wifi states.
*
diff --git a/core/java/android/os/IVibratorService.aidl b/core/java/android/os/IVibratorService.aidl
index 416d69229536..e201e43b5586 100644
--- a/core/java/android/os/IVibratorService.aidl
+++ b/core/java/android/os/IVibratorService.aidl
@@ -24,6 +24,8 @@ interface IVibratorService
{
boolean hasVibrator();
boolean hasAmplitudeControl();
+ boolean[] areEffectsSupported(in int[] effectIds);
+ boolean[] arePrimitivesSupported(in int[] primitiveIds);
boolean setAlwaysOnEffect(int uid, String opPkg, int alwaysOnId, in VibrationEffect effect,
in VibrationAttributes attributes);
void vibrate(int uid, String opPkg, in VibrationEffect effect,
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index cdcb3ff94264..be2245820bb6 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -41,7 +41,6 @@ import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.Log;
import android.view.Display;
-import android.view.WindowManager;
import libcore.io.Streams;
@@ -615,8 +614,7 @@ public class RecoverySystem {
// On TV, reboot quiescently if the screen is off
if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LEANBACK)) {
- WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
- if (wm.getDefaultDisplay().getState() != Display.STATE_ON) {
+ if (context.getDisplay().getState() != Display.STATE_ON) {
reason += ",quiescent";
}
}
diff --git a/core/java/android/os/SystemVibrator.java b/core/java/android/os/SystemVibrator.java
index 8050454a8ac3..faf4a36ff577 100644
--- a/core/java/android/os/SystemVibrator.java
+++ b/core/java/android/os/SystemVibrator.java
@@ -16,6 +16,7 @@
package android.os;
+import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.media.AudioAttributes;
@@ -104,6 +105,28 @@ public class SystemVibrator extends Vibrator {
}
@Override
+ public boolean[] areEffectsSupported(@VibrationEffect.EffectType int... effectIds) {
+ try {
+ return mService.areEffectsSupported(effectIds);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Failed to query effect support");
+ }
+ return new boolean[effectIds.length];
+ }
+
+ @Override
+ public boolean[] arePrimitivesSupported(
+ @NonNull @VibrationEffect.Composition.Primitive int... primitiveIds) {
+ try {
+ return mService.arePrimitivesSupported(primitiveIds);
+ } catch (RemoteException e) {
+ Log.w(TAG, "Failed to query effect support");
+ }
+ return new boolean[primitiveIds.length];
+ }
+
+
+ @Override
public void cancel() {
if (mService == null) {
return;
diff --git a/core/java/android/os/UpdateEngine.java b/core/java/android/os/UpdateEngine.java
index 73e1adf134f2..223f92054f79 100644
--- a/core/java/android/os/UpdateEngine.java
+++ b/core/java/android/os/UpdateEngine.java
@@ -19,6 +19,7 @@ package android.os;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.SystemApi;
+import android.annotation.WorkerThread;
import android.content.res.AssetFileDescriptor;
import android.os.IUpdateEngine;
import android.os.IUpdateEngineCallback;
@@ -478,7 +479,7 @@ public class UpdateEngine {
* </ul>
*/
@ErrorCode
- public int errorCode() {
+ public int getErrorCode() {
return mErrorCode;
}
@@ -492,14 +493,15 @@ public class UpdateEngine {
*
* @return The following values:
* <ul>
- * <li>zero if {@link #errorCode} returns {@link ErrorCodeConstants#SUCCESS}</li>
- * <li>non-zero if {@link #errorCode} returns {@link ErrorCodeConstants#NOT_ENOUGH_SPACE}.
+ * <li>zero if {@link #getErrorCode} returns {@link ErrorCodeConstants#SUCCESS}</li>
+ * <li>non-zero if {@link #getErrorCode} returns
+ * {@link ErrorCodeConstants#NOT_ENOUGH_SPACE}.
* Value is the estimated total space required on userdata partition.</li>
* </ul>
- * @throws IllegalStateException if {@link #errorCode} is not one of the above.
+ * @throws IllegalStateException if {@link #getErrorCode} is not one of the above.
*
*/
- public long freeSpaceRequired() {
+ public long getFreeSpaceRequired() {
if (mErrorCode == ErrorCodeConstants.SUCCESS) {
return 0;
}
@@ -507,7 +509,7 @@ public class UpdateEngine {
return mFreeSpaceRequired;
}
throw new IllegalStateException(String.format(
- "freeSpaceRequired() is not available when error code is %d", mErrorCode));
+ "getFreeSpaceRequired() is not available when error code is %d", mErrorCode));
}
}
@@ -531,8 +533,10 @@ public class UpdateEngine {
*
* @param payloadMetadataFilename See {@link #verifyPayloadMetadata}.
* @param headerKeyValuePairs See {@link #applyPayload}.
- * @return See {@link AllocateSpaceResult}.
+ * @return See {@link AllocateSpaceResult#getErrorCode} and
+ * {@link AllocateSpaceResult#getFreeSpaceRequired}.
*/
+ @WorkerThread
@NonNull
public AllocateSpaceResult allocateSpace(
@NonNull String payloadMetadataFilename,
@@ -583,6 +587,7 @@ public class UpdateEngine {
* @throws ServiceSpecificException if other transient errors has occurred.
* A reboot may or may not help resolving the issue.
*/
+ @WorkerThread
@ErrorCode
public int cleanupAppliedPayload() {
try {
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 08e4c3ae3683..6ed1d2c345f8 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -290,10 +290,12 @@ public class UserManager {
/**
* Specifies if airplane mode is disallowed on the device.
- *
- * <p> This restriction can only be set by the device owner and the profile owner on the
- * primary user and it applies globally - i.e. it disables airplane mode on the entire device.
- * <p>The default value is <code>false</code>.
+ * <p>
+ * This restriction can only be set by the device owner, the profile owner on the primary user
+ * or the profile owner of an organization-owned managed profile on the parent profile, and it
+ * applies globally - i.e. it disables airplane mode on the entire device.
+ * <p>
+ * The default value is <code>false</code>.
*
* <p>Key for user restrictions.
* <p>Type: Boolean
@@ -729,9 +731,12 @@ public class UserManager {
public static final String DISALLOW_APPS_CONTROL = "no_control_apps";
/**
- * Specifies if a user is disallowed from mounting
- * physical external media. This can only be set by device owners and profile owners on the
- * primary user. The default value is <code>false</code>.
+ * Specifies if a user is disallowed from mounting physical external media.
+ * <p>
+ * This restriction can only be set by the device owner, the profile owner on the primary user
+ * or the profile owner of an organization-owned managed profile on the parent profile.
+ * <p>
+ * The default value is <code>false</code>.
*
* <p>Key for user restrictions.
* <p>Type: Boolean
@@ -743,10 +748,15 @@ public class UserManager {
/**
* Specifies if a user is disallowed from adjusting microphone volume. If set, the microphone
- * will be muted. This can be set by device owners and profile owners. The default value is
- * <code>false</code>.
+ * will be muted.
+ * <p>
+ * The default value is <code>false</code>.
+ * <p>
+ * Device owner and profile owner can set this restriction, although the restriction has no
+ * effect in a managed profile. When it is set by the profile owner of an organization-owned
+ * managed profile on the parent profile, it will disallow the personal user from adjusting the
+ * microphone volume.
*
- * <p>This restriction has no effect on managed profiles.
* <p>Key for user restrictions.
* <p>Type: Boolean
* @see DevicePolicyManager#addUserRestriction(ComponentName, String)
@@ -773,10 +783,15 @@ public class UserManager {
public static final String DISALLOW_ADJUST_VOLUME = "no_adjust_volume";
/**
- * Specifies that the user is not allowed to make outgoing
- * phone calls. Emergency calls are still permitted.
+ * Specifies that the user is not allowed to make outgoing phone calls. Emergency calls are
+ * still permitted.
+ * <p>
* The default value is <code>false</code>.
- * <p>This restriction has no effect on managed profiles.
+ * <p>
+ * Device owner and profile owner can set this restriction, although the restriction has no
+ * effect in a managed profile. When it is set by the profile owner of an organization-owned
+ * managed profile on the parent profile, it will disallow the personal user from making
+ * outgoing phone calls.
*
* <p>Key for user restrictions.
* <p>Type: Boolean
@@ -1760,9 +1775,10 @@ public class UserManager {
}
/**
- * Returns whether the context user's user is of the given user type, such as
- * {@link UserManager#USER_TYPE_FULL_GUEST}.
+ * Returns whether the context user is of the given user type.
*
+ * @param userType the name of the user's user type, e.g.
+ * {@link UserManager#USER_TYPE_PROFILE_MANAGED}.
* @return true if the user is of the given user type.
* @hide
*/
@@ -1778,26 +1794,6 @@ public class UserManager {
}
/**
- * Returns whether the given user is of the given user type, such as
- * {@link UserManager#USER_TYPE_FULL_GUEST}.
- *
- * @param userHandle the user handle of the user whose type is being requested.
- * @param userType the name of the user's user type, e.g.
- * {@link UserManager#USER_TYPE_PROFILE_MANAGED}.
- * @return true if the userHandle user is of type userType
- * @hide
- */
- @SystemApi
- @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
- public boolean isUserOfType(@NonNull UserHandle userHandle, @NonNull String userType) {
- try {
- return mService.isUserOfType(userHandle.getIdentifier(), userType);
- } catch (RemoteException re) {
- throw re.rethrowFromSystemServer();
- }
- }
-
- /**
* Returns whether the user type is a
* {@link UserManager#USER_TYPE_PROFILE_MANAGED managed profile}.
* @hide
diff --git a/core/java/android/os/VibrationAttributes.java b/core/java/android/os/VibrationAttributes.java
index 3e16640895eb..27782fa74dab 100644
--- a/core/java/android/os/VibrationAttributes.java
+++ b/core/java/android/os/VibrationAttributes.java
@@ -391,11 +391,23 @@ public final class VibrationAttributes implements Parcelable {
* Replaces flags
* @param flags any combination of flags.
* @return the same Builder instance.
+ * @hide
*/
public @NonNull Builder replaceFlags(int flags) {
mFlags = flags;
return this;
}
+
+ /**
+ * Set flags
+ * @param flags combination of flags to be set.
+ * @param mask Bit range that should be changed.
+ * @return the same Builder instance.
+ */
+ public @NonNull Builder setFlags(int flags, int mask) {
+ mFlags = (mFlags & ~mask) | (flags & mask);
+ return this;
+ }
}
}
diff --git a/core/java/android/os/VibrationEffect.aidl b/core/java/android/os/VibrationEffect.aidl
index dcc79d798c3d..89478fac2f1a 100644
--- a/core/java/android/os/VibrationEffect.aidl
+++ b/core/java/android/os/VibrationEffect.aidl
@@ -17,6 +17,4 @@
package android.os;
parcelable VibrationEffect;
-parcelable VibrationEffect.OneShotVibration;
-parcelable VibrationEffect.WaveformVibration;
-parcelable VibrationEffect.EffectVibration;
+parcelable VibrationEffect.Composition.PrimitiveEffect; \ No newline at end of file
diff --git a/core/java/android/os/VibrationEffect.java b/core/java/android/os/VibrationEffect.java
index 75b4724c7d26..2d218f4f2541 100644
--- a/core/java/android/os/VibrationEffect.java
+++ b/core/java/android/os/VibrationEffect.java
@@ -16,7 +16,9 @@
package android.os;
+import android.annotation.FloatRange;
import android.annotation.IntDef;
+import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
@@ -28,9 +30,14 @@ import android.hardware.vibrator.V1_3.Effect;
import android.net.Uri;
import android.util.MathUtils;
+import com.android.internal.util.Preconditions;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
/**
* A VibrationEffect describes a haptic effect to be performed by a {@link Vibrator}.
@@ -41,6 +48,8 @@ public abstract class VibrationEffect implements Parcelable {
private static final int PARCEL_TOKEN_ONE_SHOT = 1;
private static final int PARCEL_TOKEN_WAVEFORM = 2;
private static final int PARCEL_TOKEN_EFFECT = 3;
+ private static final int PARCEL_TOKEN_COMPOSITION = 4;
+
/**
* The default vibration strength of the device.
@@ -359,6 +368,16 @@ public abstract class VibrationEffect implements Parcelable {
return null;
}
+ /**
+ * Start composing a haptic effect.
+ *
+ * @see VibrationEffect.Composition
+ */
+ @NonNull
+ public static VibrationEffect.Composition startComposition() {
+ return new VibrationEffect.Composition();
+ }
+
@Override
public int describeContents() {
return 0;
@@ -839,6 +858,331 @@ public abstract class VibrationEffect implements Parcelable {
};
}
+ /** @hide */
+ public static final class Composed extends VibrationEffect implements Parcelable {
+ private final ArrayList<Composition.PrimitiveEffect> mPrimitiveEffects;
+
+ /**
+ * @hide
+ */
+ @SuppressWarnings("unchecked")
+ public Composed(@NonNull Parcel in) {
+ this(in.readArrayList(Composed.class.getClassLoader()));
+ }
+
+ /**
+ * @hide
+ */
+ public Composed(List<Composition.PrimitiveEffect> effects) {
+ mPrimitiveEffects = new ArrayList<>(Objects.requireNonNull(effects));
+ }
+
+ /**
+ * @hide
+ */
+ @NonNull
+ public List<Composition.PrimitiveEffect> getPrimitiveEffects() {
+ return mPrimitiveEffects;
+ }
+
+ @Override
+ public long getDuration() {
+ return -1;
+ }
+
+
+ /**
+ * @hide
+ */
+ @Override
+ public void validate() {
+ for (Composition.PrimitiveEffect effect : mPrimitiveEffects) {
+ Composition.checkPrimitive(effect.id);
+ Preconditions.checkArgumentInRange(
+ effect.scale, 0.0f, 1.0f, "scale");
+ }
+ }
+
+ @Override
+ public void writeToParcel(@NonNull Parcel out, int flags) {
+ out.writeInt(PARCEL_TOKEN_COMPOSITION);
+ out.writeList(mPrimitiveEffects);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Composed composed = (Composed) o;
+ return mPrimitiveEffects.equals(composed.mPrimitiveEffects);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mPrimitiveEffects);
+ }
+
+ @Override
+ public String toString() {
+ return "Composed{mPrimitiveEffects=" + mPrimitiveEffects + '}';
+ }
+
+ public static final @NonNull Parcelable.Creator<Composed> CREATOR =
+ new Parcelable.Creator<Composed>() {
+ @Override
+ public Composed createFromParcel(@NonNull Parcel in) {
+ // Skip the type token
+ in.readInt();
+ return new Composed(in);
+ }
+
+ @Override
+ @NonNull
+ public Composed[] newArray(int size) {
+ return new Composed[size];
+ }
+ };
+ }
+
+ /**
+ * A composition of haptic primitives that, when combined, create a single haptic effect.
+ *
+ * @see VibrationEffect#startComposition()
+ */
+ public static class Composition {
+ /** @hide */
+ @IntDef(prefix = { "PRIMITIVE_" }, value = {
+ PRIMITIVE_CLICK,
+ PRIMITIVE_THUD,
+ PRIMITIVE_SPIN,
+ PRIMITIVE_QUICK_RISE,
+ PRIMITIVE_SLOW_RISE,
+ PRIMITIVE_QUICK_FALL,
+ PRIMITIVE_LIGHT_TICK,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface Primitive {}
+
+ /**
+ * No haptic effect. Used to generate extended delays between primitives.
+ * @hide
+ */
+ public static final int PRIMITIVE_NOOP = 0;
+ /**
+ * This effect should produce a sharp, crisp click sensation.
+ */
+ public static final int PRIMITIVE_CLICK = 1;
+ /**
+ * A haptic effect that simulates downwards movement with gravity. Often
+ * followed by extra energy of hitting and reverberation to augment
+ * physicality.
+ */
+ public static final int PRIMITIVE_THUD = 2;
+ /**
+ * A haptic effect that simulates spinning momentum.
+ */
+ public static final int PRIMITIVE_SPIN = 3;
+ /**
+ * A haptic effect that simulates quick upward movement against gravity.
+ */
+ public static final int PRIMITIVE_QUICK_RISE = 4;
+ /**
+ * A haptic effect that simulates slow upward movement against gravity.
+ */
+ public static final int PRIMITIVE_SLOW_RISE = 5;
+ /**
+ * A haptic effect that simulates quick downwards movement with gravity.
+ */
+ public static final int PRIMITIVE_QUICK_FALL = 6;
+ /**
+ * This very short effect should produce a light crisp sensation intended
+ * to be used repetitively for dynamic feedback.
+ */
+ public static final int PRIMITIVE_LIGHT_TICK = 7;
+
+
+ private ArrayList<PrimitiveEffect> mEffects = new ArrayList<>();
+
+ /**
+ * Add a haptic primitive to the end of the current composition.
+ *
+ * Similar to {@link #addPrimitive(int, float, int)}, but with no delay and a
+ * default scale applied.
+ *
+ * @param primitiveId The primitive to add
+ *
+ * @return The {@link Composition} object to enable adding multiple primitives in one chain.
+ */
+ @Nullable
+ public Composition addPrimitive(@Primitive int primitiveId) {
+ addPrimitive(primitiveId, /*scale*/ 1.0f, /*delay*/ 0);
+ return this;
+ }
+
+ /**
+ * Add a haptic primitive to the end of the current composition.
+ *
+ * Similar to {@link #addPrimitive(int, float, int)}, but with no delay.
+ *
+ * @param primitiveId The primitive to add
+ * @param scale The scale to apply to the intensity of the primitive.
+ *
+ * @return The {@link Composition} object to enable adding multiple primitives in one chain.
+ */
+ @Nullable
+ public Composition addPrimitive(@Primitive int primitiveId,
+ @FloatRange(from = 0f, to = 1f) float scale) {
+ addPrimitive(primitiveId, scale, /*delay*/ 0);
+ return this;
+ }
+
+ /**
+ * Add a haptic primitive to the end of the current composition.
+ *
+ * @param primitiveId The primitive to add
+ * @param scale The scale to apply to the intensity of the primitive.
+ * @param delay The amount of time, in milliseconds, to wait before playing the prior
+ * primitive and this one
+ * @return The {@link Composition} object to enable adding multiple primitives in one chain.
+ */
+ @Nullable
+ public Composition addPrimitive(@Primitive int primitiveId,
+ @FloatRange(from = 0f, to = 1f) float scale, @IntRange(from = 0) int delay) {
+ mEffects.add(new PrimitiveEffect(checkPrimitive(primitiveId), scale, delay));
+ return this;
+ }
+
+ /**
+ * Compose all of the added primitives together into a single {@link VibrationEffect}.
+ *
+ * The {@link Composition} object is still valid after this call, so you can continue adding
+ * more primitives to it and generating more {@link VibrationEffect}s by calling this method
+ * again.
+ *
+ * @return The {@link VibrationEffect} resulting from the composition of the primitives.
+ */
+ @NonNull
+ public VibrationEffect compose() {
+ if (mEffects.isEmpty()) {
+ throw new IllegalStateException(
+ "Composition must have at least one element to compose.");
+ }
+ return new VibrationEffect.Composed(mEffects);
+ }
+
+ /**
+ * @throws IllegalArgumentException throws if the primitive ID is not within the valid range
+ * @hide
+ *
+ */
+ static int checkPrimitive(int primitiveId) {
+ Preconditions.checkArgumentInRange(primitiveId, PRIMITIVE_NOOP, PRIMITIVE_LIGHT_TICK,
+ "primitiveId");
+ return primitiveId;
+ }
+
+ /**
+ * Convert the primitive ID to a human readable string for debugging
+ * @param id The ID to convert
+ * @return The ID in a human readable format.
+ * @hide
+ */
+ public static String primitiveToString(@Primitive int id) {
+ switch (id) {
+ case PRIMITIVE_NOOP:
+ return "PRIMITIVE_NOOP";
+ case PRIMITIVE_CLICK:
+ return "PRIMITIVE_CLICK";
+ case PRIMITIVE_THUD:
+ return "PRIMITIVE_THUD";
+ case PRIMITIVE_SPIN:
+ return "PRIMITIVE_SPIN";
+ case PRIMITIVE_QUICK_RISE:
+ return "PRIMITIVE_QUICK_RISE";
+ case PRIMITIVE_SLOW_RISE:
+ return "PRIMITIVE_SLOW_RISE";
+ case PRIMITIVE_QUICK_FALL:
+ return "PRIMITIVE_QUICK_FALL";
+ case PRIMITIVE_LIGHT_TICK:
+ return "PRIMITIVE_LIGHT_TICK";
+
+ default:
+ return Integer.toString(id);
+
+ }
+ }
+
+
+ /**
+ * @hide
+ */
+ public static class PrimitiveEffect implements Parcelable {
+ public int id;
+ public float scale;
+ public int delay;
+
+ PrimitiveEffect(int id, float scale, int delay) {
+ this.id = id;
+ this.scale = scale;
+ this.delay = delay;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(id);
+ dest.writeFloat(scale);
+ dest.writeInt(delay);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public String toString() {
+ return "PrimitiveEffect{"
+ + "id=" + primitiveToString(id)
+ + ", scale=" + scale
+ + ", delay=" + delay
+ + '}';
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ PrimitiveEffect that = (PrimitiveEffect) o;
+ return id == that.id
+ && Float.compare(that.scale, scale) == 0
+ && delay == that.delay;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, scale, delay);
+ }
+
+
+ public static final @NonNull Parcelable.Creator<PrimitiveEffect> CREATOR =
+ new Parcelable.Creator<PrimitiveEffect>() {
+ @Override
+ public PrimitiveEffect createFromParcel(Parcel in) {
+ return new PrimitiveEffect(in.readInt(), in.readFloat(), in.readInt());
+ }
+ @Override
+ public PrimitiveEffect[] newArray(int size) {
+ return new PrimitiveEffect[size];
+ }
+ };
+ }
+ }
+
public static final @NonNull Parcelable.Creator<VibrationEffect> CREATOR =
new Parcelable.Creator<VibrationEffect>() {
@Override
@@ -850,6 +1194,8 @@ public abstract class VibrationEffect implements Parcelable {
return new Waveform(in);
} else if (token == PARCEL_TOKEN_EFFECT) {
return new Prebaked(in);
+ } else if (token == PARCEL_TOKEN_COMPOSITION) {
+ return new Composed(in);
} else {
throw new IllegalStateException(
"Unexpected vibration event type token in parcel.");
diff --git a/core/java/android/os/Vibrator.java b/core/java/android/os/Vibrator.java
index ae75f3d0d7e6..f055c60e6a41 100644
--- a/core/java/android/os/Vibrator.java
+++ b/core/java/android/os/Vibrator.java
@@ -17,6 +17,7 @@
package android.os;
import android.annotation.IntDef;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemService;
@@ -41,37 +42,42 @@ public abstract class Vibrator {
/**
* Vibration intensity: no vibrations.
+ *
* @hide
*/
public static final int VIBRATION_INTENSITY_OFF = 0;
/**
* Vibration intensity: low.
+ *
* @hide
*/
public static final int VIBRATION_INTENSITY_LOW = 1;
/**
* Vibration intensity: medium.
+ *
* @hide
*/
public static final int VIBRATION_INTENSITY_MEDIUM = 2;
/**
* Vibration intensity: high.
+ *
* @hide
*/
public static final int VIBRATION_INTENSITY_HIGH = 3;
/** @hide */
@Retention(RetentionPolicy.SOURCE)
- @IntDef(prefix = { "VIBRATION_INTENSITY_" }, value = {
- VIBRATION_INTENSITY_OFF,
- VIBRATION_INTENSITY_LOW,
- VIBRATION_INTENSITY_MEDIUM,
- VIBRATION_INTENSITY_HIGH
+ @IntDef(prefix = {"VIBRATION_INTENSITY_"}, value = {
+ VIBRATION_INTENSITY_OFF,
+ VIBRATION_INTENSITY_LOW,
+ VIBRATION_INTENSITY_MEDIUM,
+ VIBRATION_INTENSITY_HIGH
})
- public @interface VibrationIntensity{}
+ public @interface VibrationIntensity {
+ }
private final String mPackageName;
// The default vibration intensity level for haptic feedback.
@@ -117,6 +123,7 @@ public abstract class Vibrator {
/**
* Get the default vibration intensity for haptic feedback.
+ *
* @hide
*/
public int getDefaultHapticFeedbackIntensity() {
@@ -125,13 +132,16 @@ public abstract class Vibrator {
/**
* Get the default vibration intensity for notifications.
+ *
* @hide
*/
public int getDefaultNotificationVibrationIntensity() {
return mDefaultNotificationVibrationIntensity;
}
- /** Get the default vibration intensity for ringtones.
+ /**
+ * Get the default vibration intensity for ringtones.
+ *
* @hide
*/
public int getDefaultRingVibrationIntensity() {
@@ -156,11 +166,12 @@ public abstract class Vibrator {
* Configure an always-on haptics effect.
*
* @param alwaysOnId The board-specific always-on ID to configure.
- * @param effect Vibration effect to assign to always-on id. Passing null will disable it.
+ * @param effect Vibration effect to assign to always-on id. Passing null will disable it.
* @param attributes {@link AudioAttributes} corresponding to the vibration. For example,
- * specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
- * {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
- * vibrations associated with incoming calls. May only be null when effect is null.
+ * specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
+ * {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
+ * vibrations associated with incoming calls. May only be null when effect is
+ * null.
* @hide
*/
@RequiresPermission(android.Manifest.permission.VIBRATE_ALWAYS_ON)
@@ -183,7 +194,6 @@ public abstract class Vibrator {
* Vibrate constantly for the specified period of time.
*
* @param milliseconds The number of milliseconds to vibrate.
- *
* @deprecated Use {@link #vibrate(VibrationEffect)} instead.
*/
@Deprecated
@@ -196,11 +206,10 @@ public abstract class Vibrator {
* Vibrate constantly for the specified period of time.
*
* @param milliseconds The number of milliseconds to vibrate.
- * @param attributes {@link AudioAttributes} corresponding to the vibration. For example,
- * specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
- * {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
- * vibrations associated with incoming calls.
- *
+ * @param attributes {@link AudioAttributes} corresponding to the vibration. For example,
+ * specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
+ * {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
+ * vibrations associated with incoming calls.
* @deprecated Use {@link #vibrate(VibrationEffect, AudioAttributes)} instead.
*/
@Deprecated
@@ -231,9 +240,8 @@ public abstract class Vibrator {
* </p>
*
* @param pattern an array of longs of times for which to turn the vibrator on or off.
- * @param repeat the index into pattern at which to repeat, or -1 if
- * you don't want to repeat.
- *
+ * @param repeat the index into pattern at which to repeat, or -1 if
+ * you don't want to repeat.
* @deprecated Use {@link #vibrate(VibrationEffect)} instead.
*/
@Deprecated
@@ -256,14 +264,13 @@ public abstract class Vibrator {
* to start the repeat, or -1 to disable repeating.
* </p>
*
- * @param pattern an array of longs of times for which to turn the vibrator on or off.
- * @param repeat the index into pattern at which to repeat, or -1 if
- * you don't want to repeat.
+ * @param pattern an array of longs of times for which to turn the vibrator on or off.
+ * @param repeat the index into pattern at which to repeat, or -1 if
+ * you don't want to repeat.
* @param attributes {@link AudioAttributes} corresponding to the vibration. For example,
- * specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
- * {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
- * vibrations associated with incoming calls.
- *
+ * specify {@link AudioAttributes#USAGE_ALARM} for alarm vibrations or
+ * {@link AudioAttributes#USAGE_NOTIFICATION_RINGTONE} for
+ * vibrations associated with incoming calls.
* @deprecated Use {@link #vibrate(VibrationEffect, AudioAttributes)} instead.
*/
@Deprecated
@@ -295,8 +302,9 @@ public abstract class Vibrator {
}
/**
- * Like {@link #vibrate(int, String, VibrationEffect, AudioAttributes)}, but allows the
+ * Like {@link #vibrate(VibrationEffect, AudioAttributes)}, but allows the
* caller to specify the vibration is owned by someone else and set reason for vibration.
+ *
* @hide
*/
@RequiresPermission(android.Manifest.permission.VIBRATE)
@@ -304,6 +312,85 @@ public abstract class Vibrator {
String reason, AudioAttributes attributes);
/**
+ * Query whether the vibrator supports the given effects.
+ *
+ * If the returned array is {@code null}, the hardware doesn't support querying its supported
+ * effects. It may support any or all effects, but there's no way to programmatically know
+ * whether a {@link #vibrate} call will be successful.
+ *
+ * If the returned array is non-null, then it will be the same length as the query array and
+ * the value at a given index will contain whether the effect at that same index in the
+ * querying array is supported or not.
+ *
+ * @param effectIds Which effects to query for.
+ * @return Whether the effects are supported. Null when the hardware doesn't tell us what it
+ * supports.
+ */
+ @Nullable
+ public boolean[] areEffectsSupported(
+ @NonNull @VibrationEffect.EffectType int... effectIds) {
+ return new boolean[effectIds.length];
+ }
+
+ /**
+ * Query whether the vibrator supports all of the given effects.
+ *
+ * If the result is {@code null}, the hardware doesn't support querying its supported
+ * effects. It may support any or all effects, but there's no way to programmatically know
+ * whether a {@link #vibrate} call will be successful.
+ *
+ * If the returned array is non-null, then it will return whether all of the effects are
+ * supported by the hardware.
+ *
+ * @param effectIds Which effects to query for.
+ * @return Whether the effects are supported. {@code null} when the hardware doesn't tell us
+ * what it supports.
+ */
+ @Nullable
+ public Boolean areAllEffectsSupported(
+ @NonNull @VibrationEffect.EffectType int... effectIds) {
+ for (boolean supported : areEffectsSupported(effectIds)) {
+ if (!supported) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+
+ /**
+ * Query whether the vibrator supports the given primitives.
+ *
+ * The returned array will be the same length as the query array and the value at a given index
+ * will contain whether the effect at that same index in the querying array is supported or
+ * not.
+ *
+ * @param primitiveIds Which primitives to query for.
+ * @return Whether the primitives are supported.
+ */
+ @NonNull
+ public boolean[] arePrimitivesSupported(
+ @NonNull @VibrationEffect.Composition.Primitive int... primitiveIds) {
+ return new boolean[primitiveIds.length];
+ }
+
+ /**
+ * Query whether the vibrator supports all of the given primitives.
+ *
+ * @param primitiveIds Which primitives to query for.
+ * @return Whether primitives effects are supported.
+ */
+ public boolean areAllPrimitivesSupported(
+ @NonNull @VibrationEffect.Composition.Primitive int... primitiveIds) {
+ for (boolean supported : arePrimitivesSupported(primitiveIds)) {
+ if (!supported) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
* Turn the vibrator off.
*/
@RequiresPermission(android.Manifest.permission.VIBRATE)
diff --git a/core/java/android/os/WorkSource.java b/core/java/android/os/WorkSource.java
index 7161b07cee3c..6adba63f42ce 100644
--- a/core/java/android/os/WorkSource.java
+++ b/core/java/android/os/WorkSource.java
@@ -149,7 +149,7 @@ public class WorkSource implements Parcelable {
}
/**
- * Returns the size of this work source.
+ * Returns the number of uids in this work source.
* @hide
*/
@TestApi
diff --git a/core/java/android/os/incremental/IIncrementalManager.aidl b/core/java/android/os/incremental/IIncrementalManager.aidl
index 17a310a5beb0..b415bc02fbcc 100644
--- a/core/java/android/os/incremental/IIncrementalManager.aidl
+++ b/core/java/android/os/incremental/IIncrementalManager.aidl
@@ -33,5 +33,7 @@ interface IIncrementalManager {
boolean startDataLoader(int mountId);
void showHealthBlockedUI(int mountId);
void destroyDataLoader(int mountId);
- void newFileForDataLoader(int mountId, long inode, in byte[] metadata);
+
+ // fileId is a 16 byte long identifier.
+ void newFileForDataLoader(int mountId, in byte[] fileId, in byte[] metadata);
}
diff --git a/core/java/android/os/incremental/IIncrementalManagerNative.aidl b/core/java/android/os/incremental/IIncrementalManagerNative.aidl
index 14215b1ea84d..2b6cd1478da8 100644
--- a/core/java/android/os/incremental/IIncrementalManagerNative.aidl
+++ b/core/java/android/os/incremental/IIncrementalManagerNative.aidl
@@ -17,6 +17,7 @@
package android.os.incremental;
import android.content.pm.DataLoaderParamsParcel;
+import android.os.incremental.IncrementalNewFileParams;
/** @hide */
interface IIncrementalManagerNative {
@@ -40,7 +41,7 @@ interface IIncrementalManagerNative {
*/
const int BIND_TEMPORARY = 0;
const int BIND_PERMANENT = 1;
- int makeBindMount(int storageId, in @utf8InCpp String pathUnderStorage, in @utf8InCpp String targetFullPath, int bindType);
+ int makeBindMount(int storageId, in @utf8InCpp String sourcePath, in @utf8InCpp String targetFullPath, int bindType);
/**
* Deletes an existing bind mount on a path under a storage. Returns 0 on success, and -errno on failure.
@@ -48,49 +49,50 @@ interface IIncrementalManagerNative {
int deleteBindMount(int storageId, in @utf8InCpp String targetFullPath);
/**
- * Creates a directory under a storage. The target directory is specified by its relative path under the storage.
+ * Creates a directory under a storage. The target directory is specified by its path.
*/
- int makeDirectory(int storageId, in @utf8InCpp String pathUnderStorage);
+ int makeDirectory(int storageId, in @utf8InCpp String path);
/**
- * Recursively creates a directory under a storage. The target directory is specified by its relative path under the storage.
+ * Recursively creates a directory under a storage. The target directory is specified by its path.
* All the parent directories of the target directory will be created if they do not exist already.
*/
- int makeDirectories(int storageId, in @utf8InCpp String pathUnderStorage);
+ int makeDirectories(int storageId, in @utf8InCpp String path);
/**
- * Creates a file under a storage, specifying its name, size and metadata.
+ * Creates a file under a storage.
*/
- int makeFile(int storageId, in @utf8InCpp String pathUnderStorage, long size, in byte[] metadata);
+ int makeFile(int storageId, in @utf8InCpp String path, in IncrementalNewFileParams params);
/**
* Creates a file under a storage. Content of the file is from a range inside another file.
- * Both files are specified by relative paths under storage.
+ * Both files are specified by their paths.
*/
- int makeFileFromRange(int storageId, in @utf8InCpp String targetPathUnderStorage, in @utf8InCpp String sourcePathUnderStorage, long start, long end);
+ int makeFileFromRange(int storageId, in @utf8InCpp String targetPath, in @utf8InCpp String sourcePath, long start, long end);
/**
* Creates a hard link between two files in two storage instances.
- * Source and dest specified by parent storage IDs and their relative paths under the storage.
+ * Source and dest specified by parent storage IDs and their paths.
* The source and dest storage instances should be in the same fs mount.
* Note: destStorageId can be the same as sourceStorageId.
*/
- int makeLink(int sourceStorageId, in @utf8InCpp String sourcePathUnderStorage, int destStorageId, in @utf8InCpp String destPathUnderStorage);
+ int makeLink(int sourceStorageId, in @utf8InCpp String sourcePath, int destStorageId, in @utf8InCpp String destPath);
/**
- * Deletes a hard link in a storage, specified by the relative path of the link target under storage.
+ * Deletes a hard link in a storage, specified by its path.
*/
- int unlink(int storageId, in @utf8InCpp String pathUnderStorage);
+ int unlink(int storageId, in @utf8InCpp String path);
/**
- * Checks if a file's certain range is loaded. File is specified by relative file path under storage.
+ * Checks if a file's certain range is loaded. File is specified by its path.
*/
- boolean isFileRangeLoaded(int storageId, in @utf8InCpp String pathUnderStorage, long start, long end);
+ boolean isFileRangeLoaded(int storageId, in @utf8InCpp String path, long start, long end);
/**
- * Reads the metadata of a file. File is specified by relative path under storage.
+ * Reads the metadata of a file. File is specified by either its path or 16 byte id.
*/
- byte[] getFileMetadata(int storageId, in @utf8InCpp String pathUnderStorage);
+ byte[] getMetadataByPath(int storageId, in @utf8InCpp String path);
+ byte[] getMetadataById(int storageId, in byte[] fileId);
/**
* Starts loading data for a storage.
diff --git a/core/java/android/os/incremental/IncrementalFileStorages.java b/core/java/android/os/incremental/IncrementalFileStorages.java
index 63335a08f003..987a53e337a0 100644
--- a/core/java/android/os/incremental/IncrementalFileStorages.java
+++ b/core/java/android/os/incremental/IncrementalFileStorages.java
@@ -17,31 +17,24 @@
package android.os.incremental;
/**
- * Set up files and directories used in an installation session.
- * Currently only used by Incremental Installation.
- * For Incremental installation, the expected outcome of this function is:
- * 0) All the files are in defaultStorage
- * 1) All APK files are in the same directory, bound to mApkStorage, and bound to the
- * InstallerSession's stage dir. The files are linked from mApkStorage to defaultStorage.
- * 2) All lib files are in the sub directories as their names suggest, and in the same parent
- * directory as the APK files. The files are linked from mApkStorage to defaultStorage.
- * 3) OBB files are in another directory that is different from APK files and lib files, bound
- * to mObbStorage. The files are linked from mObbStorage to defaultStorage.
+ * Set up files and directories used in an installation session. Currently only used by Incremental
+ * Installation. For Incremental installation, the expected outcome of this function is: 0) All the
+ * files are in defaultStorage 1) All APK files are in the same directory, bound to mApkStorage, and
+ * bound to the InstallerSession's stage dir. The files are linked from mApkStorage to
+ * defaultStorage. 2) All lib files are in the sub directories as their names suggest, and in the
+ * same parent directory as the APK files. The files are linked from mApkStorage to defaultStorage.
+ * 3) OBB files are in another directory that is different from APK files and lib files, bound to
+ * mObbStorage. The files are linked from mObbStorage to defaultStorage.
*
* @throws IllegalStateException the session is not an Incremental installation session.
*/
-import static dalvik.system.VMRuntime.getInstructionSet;
-
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.content.Context;
import android.content.pm.DataLoaderParams;
import android.content.pm.InstallationFile;
-import android.os.IVold;
-import android.os.Process;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.util.ArraySet;
+import android.text.TextUtils;
import android.util.Slog;
import java.io.File;
@@ -49,6 +42,8 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.List;
+import java.util.Objects;
import java.util.Random;
/**
@@ -57,183 +52,103 @@ import java.util.Random;
*/
public final class IncrementalFileStorages {
private static final String TAG = "IncrementalFileStorages";
+
+ private static final String TMP_DIR_ROOT = "/data/incremental/tmp";
+ private static final Random TMP_DIR_RANDOM = new Random();
+
private @Nullable IncrementalStorage mDefaultStorage;
- private @Nullable IncrementalStorage mApkStorage;
- private @Nullable IncrementalStorage mObbStorage;
private @Nullable String mDefaultDir;
- private @Nullable String mObbDir;
private @NonNull IncrementalManager mIncrementalManager;
- private @Nullable ArraySet<String> mLibDirs;
- private @NonNull String mPackageName;
private @NonNull File mStageDir;
/**
- * Set up files and directories used in an installation session.
- * Currently only used by Incremental Installation.
- * For Incremental installation, the expected outcome of this function is:
- * 0) All the files are in defaultStorage
- * 1) All APK files are in the same directory, bound to mApkStorage, and bound to the
- * InstallerSession's stage dir. The files are linked from mApkStorage to defaultStorage.
- * 2) All lib files are in the sub directories as their names suggest, and in the same parent
- * directory as the APK files. The files are linked from mApkStorage to defaultStorage.
- * 3) OBB files are in another directory that is different from APK files and lib files, bound
- * to mObbStorage. The files are linked from mObbStorage to defaultStorage.
+ * Set up files and directories used in an installation session. Only used by Incremental.
+ * All the files will be created in defaultStorage.
+ * TODO(b/133435829): code clean up
*
* @throws IllegalStateException the session is not an Incremental installation session.
+ * @throws IOException if fails to setup files or directories.
*/
- public IncrementalFileStorages(@NonNull String packageName,
+ public static IncrementalFileStorages initialize(Context context,
@NonNull File stageDir,
- @NonNull IncrementalManager incrementalManager,
- @NonNull DataLoaderParams dataLoaderParams) {
- mPackageName = packageName;
- mStageDir = stageDir;
- mIncrementalManager = incrementalManager;
- if (dataLoaderParams.getComponentName().getPackageName().equals("local")) {
- final String incrementalPath = dataLoaderParams.getArguments();
- mDefaultStorage = mIncrementalManager.openStorage(incrementalPath);
- mDefaultDir = incrementalPath;
- return;
+ @NonNull DataLoaderParams dataLoaderParams,
+ List<InstallationFile> addedFiles) throws IOException {
+ // TODO(b/136132412): sanity check if session should not be incremental
+ IncrementalManager incrementalManager = (IncrementalManager) context.getSystemService(
+ Context.INCREMENTAL_SERVICE);
+ if (incrementalManager == null) {
+ // TODO(b/146080380): add incremental-specific error code
+ throw new IOException("Failed to obtain incrementalManager.");
}
- mDefaultDir = getTempDir();
- if (mDefaultDir == null) {
- return;
- }
- mDefaultStorage = mIncrementalManager.createStorage(mDefaultDir,
- dataLoaderParams,
- IncrementalManager.CREATE_MODE_CREATE
- | IncrementalManager.CREATE_MODE_TEMPORARY_BIND, false);
- }
- /**
- * Adds a file into the installation session. Makes sure it will be placed inside
- * a proper storage instance, based on its file type.
- */
- public void addFile(@NonNull InstallationFile file) throws IOException {
- if (mDefaultStorage == null) {
- throw new IOException("Cannot add file because default storage does not exist");
- }
- if (file.getFileType() == InstallationFile.FILE_TYPE_APK) {
- addApkFile(file);
- } else if (file.getFileType() == InstallationFile.FILE_TYPE_OBB) {
- addObbFile(file);
- } else if (file.getFileType() == InstallationFile.FILE_TYPE_LIB) {
- addLibFile(file);
- } else {
- throw new IOException("Unknown file type: " + file.getFileType());
- }
- }
-
- private void addApkFile(@NonNull InstallationFile apk) throws IOException {
- // Create a storage for APK files and lib files
- final String stageDirPath = mStageDir.getAbsolutePath();
- if (mApkStorage == null) {
- mApkStorage = mIncrementalManager.createStorage(stageDirPath, mDefaultStorage,
- IncrementalManager.CREATE_MODE_CREATE
- | IncrementalManager.CREATE_MODE_TEMPORARY_BIND);
- mApkStorage.bind(stageDirPath);
- }
-
- if (!new File(mDefaultDir, apk.getName()).exists()) {
- mDefaultStorage.makeFile(apk.getName(), apk.getSize(),
- apk.getMetadata());
- }
- // Assuming APK files are already named properly, e.g., "base.apk"
- mDefaultStorage.makeLink(apk.getName(), mApkStorage, apk.getName());
- }
+ IncrementalFileStorages result = null;
+ try {
+ result = new IncrementalFileStorages(stageDir, incrementalManager, dataLoaderParams);
+ for (InstallationFile file : addedFiles) {
+ if (file.getFileType() == InstallationFile.FILE_TYPE_APK) {
+ try {
+ result.addApkFile(file);
+ } catch (IOException e) {
+ // TODO(b/146080380): add incremental-specific error code
+ throw new IOException(
+ "Failed to add and configure Incremental File: " + file.getName(),
+ e);
+ }
+ } else {
+ throw new IOException("Unknown file type: " + file.getFileType());
+ }
+ }
- private void addLibFile(@NonNull InstallationFile lib) throws IOException {
- // TODO(b/136132412): remove this after we have incfs support for lib file mapping
- if (mApkStorage == null) {
- throw new IOException("Cannot add lib file without adding an apk file first");
- }
- if (mLibDirs == null) {
- mLibDirs = new ArraySet<>();
- }
- String current = "";
- final Path libDirPath = Paths.get(lib.getName()).getParent();
- final int numDirComponents = libDirPath.getNameCount();
- for (int i = 0; i < numDirComponents; i++) {
- String dirName = libDirPath.getName(i).toString();
- try {
- dirName = getInstructionSet(dirName);
- } catch (IllegalArgumentException ignored) {
+ if (!result.mDefaultStorage.startLoading()) {
+ // TODO(b/146080380): add incremental-specific error code
+ throw new IOException("Failed to start loading data for Incremental installation.");
}
- current += dirName;
- if (!mLibDirs.contains(current)) {
- mDefaultStorage.makeDirectory(current);
- mApkStorage.makeDirectory(current);
- mLibDirs.add(current);
+
+ return result;
+ } catch (IOException e) {
+ if (result != null) {
+ result.cleanUp();
}
- current += '/';
+ throw e;
}
- String libFilePath = current + Paths.get(lib.getName()).getFileName();
- mDefaultStorage.makeFile(libFilePath, lib.getSize(), lib.getMetadata());
- mDefaultStorage.makeLink(libFilePath, mApkStorage, libFilePath);
}
- private void addObbFile(@NonNull InstallationFile obb) throws IOException {
- if (mObbStorage == null) {
- // Create a storage for OBB files
- mObbDir = getTempDir();
- if (mObbDir == null) {
- throw new IOException("Failed to create obb storage directory.");
+ private IncrementalFileStorages(@NonNull File stageDir,
+ @NonNull IncrementalManager incrementalManager,
+ @NonNull DataLoaderParams dataLoaderParams) throws IOException {
+ mStageDir = stageDir;
+ mIncrementalManager = incrementalManager;
+ if (dataLoaderParams.getComponentName().getPackageName().equals("local")) {
+ final String incrementalPath = dataLoaderParams.getArguments();
+ mDefaultDir = incrementalPath;
+ if (TextUtils.isEmpty(mDefaultDir)) {
+ throw new IOException("Failed to create storage: incrementalPath is empty");
}
- mObbStorage = mIncrementalManager.createStorage(
- mObbDir, mDefaultStorage,
+ mDefaultStorage = mIncrementalManager.openStorage(incrementalPath);
+ } else {
+ mDefaultDir = getTempDir();
+ if (mDefaultDir == null) {
+ throw new IOException("Failed to create storage: tempDir is empty");
+ }
+ mDefaultStorage = mIncrementalManager.createStorage(mDefaultDir,
+ dataLoaderParams,
IncrementalManager.CREATE_MODE_CREATE
- | IncrementalManager.CREATE_MODE_TEMPORARY_BIND);
+ | IncrementalManager.CREATE_MODE_TEMPORARY_BIND, false);
}
- mDefaultStorage.makeFile(obb.getName(), obb.getSize(), obb.getMetadata());
- mDefaultStorage.makeLink(obb.getName(), mObbStorage, obb.getName());
- }
- private boolean hasObb() {
- return (mObbStorage != null && mObbDir != null);
- }
-
- /**
- * Starts loading data for default storage.
- * TODO(b/136132412): update the implementation with latest API design.
- */
- public boolean startLoading() {
if (mDefaultStorage == null) {
- return false;
+ throw new IOException("Failed to create storage");
}
- return mDefaultStorage.startLoading();
}
- /**
- * Sets up obb storage directory and create bindings.
- */
- public void finishSetUp() {
- if (!hasObb()) {
- return;
- }
- final String obbDir = "/storage/emulated/0/Android/obb";
- final String packageObbDir = String.format("%s/%s", obbDir, mPackageName);
- final String packageObbDirRoot =
- String.format("/mnt/runtime/%s/emulated/0/Android/obb/", mPackageName);
- final String[] obbDirs = {
- packageObbDirRoot + "read",
- packageObbDirRoot + "write",
- packageObbDirRoot + "full",
- packageObbDirRoot + "default",
- String.format("/data/media/0/Android/obb/%s", mPackageName),
- packageObbDir,
- };
- try {
- Slog.i(TAG, "Creating obb directory '" + packageObbDir + "'");
- final IVold vold = IVold.Stub.asInterface(ServiceManager.getServiceOrThrow("vold"));
- vold.setupAppDir(packageObbDir, obbDir, Process.ROOT_UID);
- for (String d : obbDirs) {
- mObbStorage.bindPermanent(d);
- }
- } catch (ServiceManager.ServiceNotFoundException ex) {
- Slog.e(TAG, "vold service is not found.");
- cleanUp();
- } catch (IOException | RemoteException ex) {
- Slog.e(TAG, "Failed to create obb dir at: " + packageObbDir, ex);
- cleanUp();
+ private void addApkFile(@NonNull InstallationFile apk) throws IOException {
+ final String stageDirPath = mStageDir.getAbsolutePath();
+ mDefaultStorage.bind(stageDirPath);
+ String apkName = apk.getName();
+ File targetFile = Paths.get(stageDirPath, apkName).toFile();
+ if (!targetFile.exists()) {
+ mDefaultStorage.makeFile(apkName, apk.getSize(), null,
+ apk.getMetadata(), 0, null, null, null);
}
}
@@ -242,36 +157,21 @@ public final class IncrementalFileStorages {
* TODO(b/136132412): make sure unnecessary binds are removed but useful storages are kept
*/
public void cleanUp() {
- if (mDefaultStorage != null && mDefaultDir != null) {
- try {
- mDefaultStorage.unBind(mDefaultDir);
- } catch (IOException ignored) {
- }
- mDefaultDir = null;
- mDefaultStorage = null;
- }
- if (mApkStorage != null && mStageDir != null) {
- try {
- mApkStorage.unBind(mStageDir.getAbsolutePath());
- } catch (IOException ignored) {
- }
- mApkStorage = null;
- }
- if (mObbStorage != null && mObbDir != null) {
- try {
- mObbStorage.unBind(mObbDir);
- } catch (IOException ignored) {
- }
- mObbDir = null;
- mObbStorage = null;
+ Objects.requireNonNull(mDefaultStorage);
+
+ try {
+ mDefaultStorage.unBind(mDefaultDir);
+ mDefaultStorage.unBind(mStageDir.getAbsolutePath());
+ } catch (IOException ignored) {
}
+
+ mDefaultDir = null;
+ mDefaultStorage = null;
}
- private String getTempDir() {
- final String tmpDirRoot = "/data/incremental/tmp";
- final Random random = new Random();
- final Path tmpDir =
- Paths.get(tmpDirRoot, String.valueOf(random.nextInt(Integer.MAX_VALUE - 1)));
+ private static String getTempDir() {
+ final Path tmpDir = Paths.get(TMP_DIR_ROOT,
+ String.valueOf(TMP_DIR_RANDOM.nextInt(Integer.MAX_VALUE - 1)));
try {
Files.createDirectories(tmpDir);
} catch (Exception ex) {
diff --git a/core/java/android/os/incremental/IncrementalFileSystemControlParcel.aidl b/core/java/android/os/incremental/IncrementalFileSystemControlParcel.aidl
index 0ae353d2741f..6018ad1efc4a 100644
--- a/core/java/android/os/incremental/IncrementalFileSystemControlParcel.aidl
+++ b/core/java/android/os/incremental/IncrementalFileSystemControlParcel.aidl
@@ -17,11 +17,12 @@
package android.os.incremental;
/**
- * Wraps two file descriptors that Incremental Service uses to communicate
+ * Wraps the file descriptors Incremental Service uses to communicate
* with Incremental FileSystem.
* @hide
*/
parcelable IncrementalFileSystemControlParcel {
- @nullable ParcelFileDescriptor cmd;
- @nullable ParcelFileDescriptor log;
+ ParcelFileDescriptor cmd;
+ ParcelFileDescriptor pendingReads;
+ ParcelFileDescriptor log;
}
diff --git a/cmds/statsd/src/external/ResourceHealthManagerPuller.h b/core/java/android/os/incremental/IncrementalNewFileParams.aidl
index f650fccc447e..182732cebdf1 100644
--- a/cmds/statsd/src/external/ResourceHealthManagerPuller.h
+++ b/core/java/android/os/incremental/IncrementalNewFileParams.aidl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,26 +14,18 @@
* limitations under the License.
*/
-#pragma once
+package android.os.incremental;
-#include <utils/String16.h>
-#include "StatsPuller.h"
-
-namespace android {
-namespace os {
-namespace statsd {
+import android.os.incremental.IncrementalSignature;
/**
- * Reads Ihealth.hal
+ * All the parameters to create a new file on IncFS
+ * FileId is a 16 byte-long identifier.
+ * @hide
*/
-class ResourceHealthManagerPuller : public StatsPuller {
-public:
- explicit ResourceHealthManagerPuller(int tagId);
-
-private:
- bool PullInternal(vector<std::shared_ptr<LogEvent>>* data) override;
-};
-
-} // namespace statsd
-} // namespace os
-} // namespace android
+parcelable IncrementalNewFileParams {
+ long size;
+ byte[] fileId;
+ byte[] metadata;
+ @nullable IncrementalSignature signature;
+}
diff --git a/core/java/android/os/incremental/IncrementalSignature.aidl b/core/java/android/os/incremental/IncrementalSignature.aidl
new file mode 100644
index 000000000000..729e8e5556a8
--- /dev/null
+++ b/core/java/android/os/incremental/IncrementalSignature.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.os.incremental;
+
+/** {@hide} */
+parcelable IncrementalSignature {
+ /*
+ * Stable AIDL doesn't support constants, but here's the possible values
+ * const int HASH_ALGO_NONE = 0;
+ * const int HASH_ALGO_SHA256 = 1;
+ */
+
+ int hashAlgorithm = 0;
+ byte[] rootHash;
+ byte[] additionalData;
+ byte[] signature;
+}
diff --git a/core/java/android/os/incremental/IncrementalStorage.java b/core/java/android/os/incremental/IncrementalStorage.java
index 275086832c51..e5d1b43d5921 100644
--- a/core/java/android/os/incremental/IncrementalStorage.java
+++ b/core/java/android/os/incremental/IncrementalStorage.java
@@ -22,6 +22,8 @@ import android.os.RemoteException;
import java.io.File;
import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.UUID;
/**
* Provides operations on an Incremental File System directory, using IncrementalServiceNative.
@@ -64,14 +66,14 @@ public final class IncrementalStorage {
* Temporarily bind-mounts a subdir under the current storage directory to a target directory.
* The bind-mount will NOT be preserved between device reboots.
*
- * @param sourcePathUnderStorage Source path as a relative path under current storage
- * directory.
- * @param targetPath Absolute path to the target directory.
+ * @param sourcePath Source path as a relative path under current storage
+ * directory.
+ * @param targetPath Absolute path to the target directory.
*/
- public void bind(@NonNull String sourcePathUnderStorage, @NonNull String targetPath)
+ public void bind(@NonNull String sourcePath, @NonNull String targetPath)
throws IOException {
try {
- int res = mService.makeBindMount(mId, sourcePathUnderStorage, targetPath,
+ int res = mService.makeBindMount(mId, sourcePath, targetPath,
IIncrementalManagerNative.BIND_TEMPORARY);
if (res < 0) {
throw new IOException("bind() failed with errno " + -res);
@@ -96,13 +98,13 @@ public final class IncrementalStorage {
* Permanently bind-mounts a subdir under the current storage directory to a target directory.
* The bind-mount WILL be preserved between device reboots.
*
- * @param sourcePathUnderStorage Relative path under the current storage directory.
- * @param targetPath Absolute path to the target directory.
+ * @param sourcePath Relative path under the current storage directory.
+ * @param targetPath Absolute path to the target directory.
*/
- public void bindPermanent(@NonNull String sourcePathUnderStorage, @NonNull String targetPath)
+ public void bindPermanent(@NonNull String sourcePath, @NonNull String targetPath)
throws IOException {
try {
- int res = mService.makeBindMount(mId, sourcePathUnderStorage, targetPath,
+ int res = mService.makeBindMount(mId, sourcePath, targetPath,
IIncrementalManagerNative.BIND_PERMANENT);
if (res < 0) {
throw new IOException("bind() permanent failed with errno " + -res);
@@ -131,11 +133,11 @@ public final class IncrementalStorage {
/**
* Creates a sub-directory under the current storage directory.
*
- * @param pathUnderStorage Relative path of the sub-directory, e.g., "subdir"
+ * @param path Relative path of the sub-directory, e.g., "subdir"
*/
- public void makeDirectory(@NonNull String pathUnderStorage) throws IOException {
+ public void makeDirectory(@NonNull String path) throws IOException {
try {
- int res = mService.makeDirectory(mId, pathUnderStorage);
+ int res = mService.makeDirectory(mId, path);
if (res < 0) {
throw new IOException("makeDirectory() failed with errno " + -res);
}
@@ -148,11 +150,11 @@ public final class IncrementalStorage {
* Creates a sub-directory under the current storage directory. If its parent dirs do not exist,
* create the parent dirs as well.
*
- * @param pathUnderStorage Relative path of the sub-directory, e.g., "subdir/subsubdir"
+ * @param path Full path.
*/
- public void makeDirectories(@NonNull String pathUnderStorage) throws IOException {
+ public void makeDirectories(@NonNull String path) throws IOException {
try {
- int res = mService.makeDirectories(mId, pathUnderStorage);
+ int res = mService.makeDirectories(mId, path);
if (res < 0) {
throw new IOException("makeDirectory() failed with errno " + -res);
}
@@ -164,15 +166,30 @@ public final class IncrementalStorage {
/**
* Creates a file under the current storage directory.
*
- * @param pathUnderStorage Relative path of the new file.
+ * @param path Relative path of the new file.
* @param size Size of the new file in bytes.
* @param metadata Metadata bytes.
*/
- public void makeFile(@NonNull String pathUnderStorage, long size,
- @Nullable byte[] metadata) throws IOException {
+ public void makeFile(@NonNull String path, long size, @Nullable UUID id,
+ @Nullable byte[] metadata, int hashAlgorithm, @Nullable byte[] rootHash,
+ @Nullable byte[] additionalData, @Nullable byte[] signature) throws IOException {
try {
- int res = mService.makeFile(mId, pathUnderStorage, size, metadata);
- if (res < 0) {
+ if (id == null && metadata == null) {
+ throw new IOException("File ID and metadata cannot both be null");
+ }
+ final IncrementalNewFileParams params = new IncrementalNewFileParams();
+ params.size = size;
+ params.metadata = (metadata == null ? new byte[0] : metadata);
+ params.fileId = idToBytes(id);
+ if (hashAlgorithm != 0 || signature != null) {
+ params.signature = new IncrementalSignature();
+ params.signature.hashAlgorithm = hashAlgorithm;
+ params.signature.rootHash = rootHash;
+ params.signature.additionalData = additionalData;
+ params.signature.signature = signature;
+ }
+ int res = mService.makeFile(mId, path, params);
+ if (res != 0) {
throw new IOException("makeFile() failed with errno " + -res);
}
} catch (RemoteException e) {
@@ -184,15 +201,15 @@ public final class IncrementalStorage {
* Creates a file in Incremental storage. The content of the file is mapped from a range inside
* a source file in the same storage.
*
- * @param destRelativePath Target relative path under storage.
- * @param sourceRelativePath Source relative path under storage.
+ * @param destPath Target full path.
+ * @param sourcePath Source full path.
* @param rangeStart Starting offset (in bytes) in the source file.
* @param rangeEnd Ending offset (in bytes) in the source file.
*/
- public void makeFileFromRange(@NonNull String destRelativePath,
- @NonNull String sourceRelativePath, long rangeStart, long rangeEnd) throws IOException {
+ public void makeFileFromRange(@NonNull String destPath,
+ @NonNull String sourcePath, long rangeStart, long rangeEnd) throws IOException {
try {
- int res = mService.makeFileFromRange(mId, destRelativePath, sourceRelativePath,
+ int res = mService.makeFileFromRange(mId, destPath, sourcePath,
rangeStart, rangeEnd);
if (res < 0) {
throw new IOException("makeFileFromRange() failed, errno " + -res);
@@ -206,15 +223,15 @@ public final class IncrementalStorage {
* Creates a hard-link between two paths, which can be under different storages but in the same
* Incremental File System.
*
- * @param sourcePathUnderStorage The relative path of the source.
- * @param destStorage The target storage of the link target.
- * @param destPathUnderStorage The relative path of the target.
+ * @param sourcePath The absolute path of the source.
+ * @param destStorage The target storage of the link target.
+ * @param destPath The absolute path of the target.
*/
- public void makeLink(@NonNull String sourcePathUnderStorage, IncrementalStorage destStorage,
- @NonNull String destPathUnderStorage) throws IOException {
+ public void makeLink(@NonNull String sourcePath, IncrementalStorage destStorage,
+ @NonNull String destPath) throws IOException {
try {
- int res = mService.makeLink(mId, sourcePathUnderStorage, destStorage.getId(),
- destPathUnderStorage);
+ int res = mService.makeLink(mId, sourcePath, destStorage.getId(),
+ destPath);
if (res < 0) {
throw new IOException("makeLink() failed with errno " + -res);
}
@@ -226,11 +243,11 @@ public final class IncrementalStorage {
/**
* Deletes a hard-link under the current storage directory.
*
- * @param pathUnderStorage The relative path of the target.
+ * @param path The absolute path of the target.
*/
- public void unlink(@NonNull String pathUnderStorage) throws IOException {
+ public void unlink(@NonNull String path) throws IOException {
try {
- int res = mService.unlink(mId, pathUnderStorage);
+ int res = mService.unlink(mId, path);
if (res < 0) {
throw new IOException("unlink() failed with errno " + -res);
}
@@ -242,13 +259,14 @@ public final class IncrementalStorage {
/**
* Rename an old file name to a new file name under the current storage directory.
*
- * @param sourcePathUnderStorage Old file path as a relative path to the storage directory.
- * @param destPathUnderStorage New file path as a relative path to the storage directory.
+ * @param sourcepath Old file path as a full path to the storage directory.
+ * @param destpath New file path as a full path to the storage directory.
*/
- public void moveFile(@NonNull String sourcePathUnderStorage,
- @NonNull String destPathUnderStorage) throws IOException {
+ public void moveFile(@NonNull String sourcepath,
+ @NonNull String destpath) throws IOException {
+ //TODO(zyy): implement using rename(2) when confirmed that IncFS supports it.
try {
- int res = mService.makeLink(mId, sourcePathUnderStorage, mId, destPathUnderStorage);
+ int res = mService.makeLink(mId, sourcepath, mId, destpath);
if (res < 0) {
throw new IOException("moveFile() failed at makeLink(), errno " + -res);
}
@@ -256,7 +274,7 @@ public final class IncrementalStorage {
e.rethrowFromSystemServer();
}
try {
- mService.unlink(mId, sourcePathUnderStorage);
+ mService.unlink(mId, sourcepath);
} catch (RemoteException ignored) {
}
}
@@ -274,7 +292,7 @@ public final class IncrementalStorage {
throw new IOException("moveDir() requires that destination dir already exists.");
}
try {
- int res = mService.makeBindMount(mId, "", destPath,
+ int res = mService.makeBindMount(mId, sourcePath, destPath,
IIncrementalManagerNative.BIND_PERMANENT);
if (res < 0) {
throw new IOException("moveDir() failed at making bind mount, errno " + -res);
@@ -291,24 +309,24 @@ public final class IncrementalStorage {
/**
* Checks whether a file under the current storage directory is fully loaded.
*
- * @param pathUnderStorage The relative path of the file.
+ * @param path The relative path of the file.
* @return True if the file is fully loaded.
*/
- public boolean isFileFullyLoaded(@NonNull String pathUnderStorage) {
- return isFileRangeLoaded(pathUnderStorage, 0, -1);
+ public boolean isFileFullyLoaded(@NonNull String path) {
+ return isFileRangeLoaded(path, 0, -1);
}
/**
* Checks whether a range in a file if loaded.
*
- * @param pathUnderStorage The relative path of the file.
+ * @param path The relative path of the file.
* @param start The starting offset of the range.
* @param end The ending offset of the range.
* @return True if the file is fully loaded.
*/
- public boolean isFileRangeLoaded(@NonNull String pathUnderStorage, long start, long end) {
+ public boolean isFileRangeLoaded(@NonNull String path, long start, long end) {
try {
- return mService.isFileRangeLoaded(mId, pathUnderStorage, start, end);
+ return mService.isFileRangeLoaded(mId, path, start, end);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
return false;
@@ -318,13 +336,67 @@ public final class IncrementalStorage {
/**
* Returns the metadata object of an IncFs File.
*
- * @param pathUnderStorage The relative path of the file.
+ * @param path The relative path of the file.
+ * @return Byte array that contains metadata bytes.
+ */
+ @Nullable
+ public byte[] getFileMetadata(@NonNull String path) {
+ try {
+ return mService.getMetadataByPath(mId, path);
+ } catch (RemoteException e) {
+ e.rethrowFromSystemServer();
+ return null;
+ }
+ }
+
+ private static final int UUID_BYTE_SIZE = 16;
+
+ /**
+ * Converts UUID to a byte array usable for Incremental API calls
+ *
+ * @param id The id to convert
+ * @return Byte array that contains the same ID.
+ */
+ @NonNull
+ public static byte[] idToBytes(@Nullable UUID id) {
+ if (id == null) {
+ return new byte[0];
+ }
+ final ByteBuffer buf = ByteBuffer.wrap(new byte[UUID_BYTE_SIZE]);
+ buf.putLong(id.getMostSignificantBits());
+ buf.putLong(id.getLeastSignificantBits());
+ return buf.array();
+ }
+
+ /**
+ * Converts UUID from a byte array usable for Incremental API calls
+ *
+ * @param bytes The id in byte array format, 16 bytes long
+ * @return UUID constructed from the byte array.
+ */
+ @NonNull
+ public static UUID bytesToId(byte[] bytes) throws IllegalArgumentException {
+ if (bytes.length != UUID_BYTE_SIZE) {
+ throw new IllegalArgumentException("Expected array of size " + UUID_BYTE_SIZE
+ + ", got " + bytes.length);
+ }
+ final ByteBuffer buf = ByteBuffer.wrap(bytes);
+ long msb = buf.getLong();
+ long lsb = buf.getLong();
+ return new UUID(msb, lsb);
+ }
+
+ /**
+ * Returns the metadata object of an IncFs File.
+ *
+ * @param id The file id.
* @return Byte array that contains metadata bytes.
*/
@Nullable
- public byte[] getFileMetadata(@NonNull String pathUnderStorage) {
+ public byte[] getFileMetadata(@NonNull UUID id) {
try {
- return mService.getFileMetadata(mId, pathUnderStorage);
+ final byte[] rawId = idToBytes(id);
+ return mService.getMetadataById(mId, rawId);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
return null;
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index 3ea64f13fe6b..bb1dafc50484 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -2309,6 +2309,121 @@ public class StorageManager {
private static final String XATTR_CACHE_GROUP = "user.cache_group";
private static final String XATTR_CACHE_TOMBSTONE = "user.cache_tombstone";
+
+ // Matches AID_MEDIA_RW in android_filesystem_config.h
+ private static final int QUOTA_PROJECT_ID_MEDIA_NONE = 1023;
+
+ // Matches AID_MEDIA_IMAGE in android_filesystem_config.h
+ private static final int QUOTA_PROJECT_ID_MEDIA_IMAGE = 1057;
+
+ // Matches AID_MEDIA_AUDIO in android_filesystem_config.h
+ private static final int QUOTA_PROJECT_ID_MEDIA_AUDIO = 1055;
+
+ // Matches AID_MEDIA_VIDEO in android_filesystem_config.h
+ private static final int QUOTA_PROJECT_ID_MEDIA_VIDEO = 1056;
+
+ /**
+ * Constant for use with
+ * {@link #updateExternalStorageFileQuotaType(String, int)} (String, int)}, to indicate the file
+ * is not a media file.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final int QUOTA_TYPE_MEDIA_NONE = 0;
+
+ /**
+ * Constant for use with
+ * {@link #updateExternalStorageFileQuotaType(String, int)} (String, int)}, to indicate the file
+ * is an image file.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final int QUOTA_TYPE_MEDIA_IMAGE = 1;
+
+ /**
+ * Constant for use with
+ * {@link #updateExternalStorageFileQuotaType(String, int)} (String, int)}, to indicate the file
+ * is an audio file.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final int QUOTA_TYPE_MEDIA_AUDIO = 2;
+
+ /**
+ * Constant for use with
+ * {@link #updateExternalStorageFileQuotaType(String, int)} (String, int)}, to indicate the file
+ * is a video file.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final int QUOTA_TYPE_MEDIA_VIDEO = 3;
+
+ /** @hide */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = { "QUOTA_TYPE_" }, value = {
+ QUOTA_TYPE_MEDIA_NONE,
+ QUOTA_TYPE_MEDIA_AUDIO,
+ QUOTA_TYPE_MEDIA_VIDEO,
+ QUOTA_TYPE_MEDIA_IMAGE,
+ })
+ public @interface QuotaType {}
+
+ private static native boolean setQuotaProjectId(String path, long projectId);
+
+ /**
+ * Let StorageManager know that the quota type for a file on external storage should
+ * be updated. Android tracks quotas for various media types. Consequently, this should be
+ * called on first creation of a new file on external storage, and whenever the
+ * media type of the file is updated later.
+ *
+ * This API doesn't require any special permissions, though typical implementations
+ * will require being called from an SELinux domain that allows setting file attributes
+ * related to quota (eg the GID or project ID).
+ *
+ * The default platform user of this API is the MediaProvider process, which is
+ * responsible for managing all of external storage.
+ *
+ * @param path the path to the file for which we should update the quota type
+ * @param quotaType the quota type of the file; this is based on the
+ * {@code QuotaType} constants, eg
+ * {@code StorageManager.QUOTA_TYPE_MEDIA_AUDIO}
+ *
+ * @throws IllegalArgumentException if {@code quotaType} does not correspond to a valid
+ * quota type.
+ * @throws IOException if the quota type could not be updated.
+ *
+ * @hide
+ */
+ @SystemApi
+ public void updateExternalStorageFileQuotaType(@NonNull File path,
+ @QuotaType int quotaType) throws IOException {
+ long projectId;
+ final String filePath = path.getCanonicalPath();
+ switch (quotaType) {
+ case QUOTA_TYPE_MEDIA_NONE:
+ projectId = QUOTA_PROJECT_ID_MEDIA_NONE;
+ break;
+ case QUOTA_TYPE_MEDIA_AUDIO:
+ projectId = QUOTA_PROJECT_ID_MEDIA_AUDIO;
+ break;
+ case QUOTA_TYPE_MEDIA_VIDEO:
+ projectId = QUOTA_PROJECT_ID_MEDIA_VIDEO;
+ break;
+ case QUOTA_TYPE_MEDIA_IMAGE:
+ projectId = QUOTA_PROJECT_ID_MEDIA_IMAGE;
+ break;
+ default:
+ throw new IllegalArgumentException("Invalid quota type: " + quotaType);
+ }
+ if (!setQuotaProjectId(filePath, projectId)) {
+ throw new IOException("Failed to update quota type for " + filePath);
+ }
+ }
+
/** {@hide} */
private static void setCacheBehavior(File path, String name, boolean enabled)
throws IOException {
diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java
index 4812ea98b569..d945b65c8522 100644
--- a/core/java/android/permission/PermissionManager.java
+++ b/core/java/android/permission/PermissionManager.java
@@ -93,7 +93,10 @@ public final class PermissionManager {
*/
@TestApi
@SystemApi
- @RequiresPermission(Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY)
+ @RequiresPermission(anyOf = {
+ Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY,
+ Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS
+ })
public @IntRange(from = 0) int getRuntimePermissionsVersion() {
try {
return mPackageManager.getRuntimePermissionsVersion(mContext.getUserId());
@@ -111,7 +114,10 @@ public final class PermissionManager {
*/
@TestApi
@SystemApi
- @RequiresPermission(Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY)
+ @RequiresPermission(anyOf = {
+ Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY,
+ Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS
+ })
public void setRuntimePermissionsVersion(@IntRange(from = 0) int version) {
try {
mPackageManager.setRuntimePermissionsVersion(version, mContext.getUserId());
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index e383a371eb41..146387e761d4 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -2381,11 +2381,7 @@ public final class ContactsContract {
* This id is provided by its own data source, and can be used to backup metadata
* to the server.
* This should be unique within each set of account_name/account_type/data_set
- *
- * @deprecated This column is no longer supported as of Android version
- * {@link android.os.Build.VERSION_CODES#R}.
*/
- @Deprecated
public static final String BACKUP_ID = "backup_id";
/**
@@ -2450,8 +2446,8 @@ public final class ContactsContract {
* needs to be synchronized by the server.
* <P>Type: INTEGER (boolean)</P>
*
- * @deprecated This column is no longer supported as of Android version
- * {@link android.os.Build.VERSION_CODES#R}.
+ * @deprecated This column never actually worked since added. It will not supported as
+ * of Android version {@link android.os.Build.VERSION_CODES#R}.
*/
@Deprecated
public static final String METADATA_DIRTY = "metadata_dirty";
@@ -4196,8 +4192,8 @@ public final class ContactsContract {
* Hash id on the data fields, used for backup and restore.
*
* @hide
- * @deprecated This column is no longer supported as of Android version
- * {@link android.os.Build.VERSION_CODES#R}.
+ * @deprecated This column was never public since added. It will not be supported
+ * as of Android version {@link android.os.Build.VERSION_CODES#R}.
*/
@Deprecated
public static final String HASH_ID = "hash_id";
@@ -9506,8 +9502,8 @@ public final class ContactsContract {
/**
* @hide
- * @deprecated These columns are no longer supported as of Android version
- * {@link android.os.Build.VERSION_CODES#R}.
+ * @deprecated These columns were never public since added. They will not be supported
+ * as of Android version {@link android.os.Build.VERSION_CODES#R}.
*/
@Deprecated
@SystemApi
@@ -9616,8 +9612,8 @@ public final class ContactsContract {
* from server before it is merged into other CP2 tables.
*
* @hide
- * @deprecated These columns are no longer supported as of Android version
- * {@link android.os.Build.VERSION_CODES#R}.
+ * @deprecated These columns were never public since added. They will not be supported
+ * as of Android version {@link android.os.Build.VERSION_CODES#R}.
*/
@Deprecated
@SystemApi
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java
index 091d78e88c98..505d4ca4b399 100644
--- a/core/java/android/provider/DeviceConfig.java
+++ b/core/java/android/provider/DeviceConfig.java
@@ -383,6 +383,14 @@ public final class DeviceConfig {
*/
public static final String NAMESPACE_WIDGET = "widget";
+ /**
+ * Namespace for connectivity thermal power manager features.
+ *
+ * @hide
+ */
+ public static final String NAMESPACE_CONNECTIVITY_THERMAL_POWER_MANAGER =
+ "connectivity_thermal_power_manager";
+
private static final Object sLock = new Object();
@GuardedBy("sLock")
private static ArrayMap<OnPropertiesChangedListener, Pair<String, Executor>> sListeners =
diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java
index bb1c8ed165c9..47f24615d60a 100644
--- a/core/java/android/provider/DocumentsContract.java
+++ b/core/java/android/provider/DocumentsContract.java
@@ -16,8 +16,6 @@
package android.provider;
-import static android.annotation.SystemApi.Client.MODULE_APPS;
-
import static com.android.internal.util.Preconditions.checkCollectionElementsNotNull;
import static com.android.internal.util.Preconditions.checkCollectionNotEmpty;
@@ -955,7 +953,7 @@ public final class DocumentsContract {
*
* @hide
*/
- @SystemApi(client = MODULE_APPS)
+ @SystemApi
@NonNull
public static Uri buildDocumentUriAsUser(
@NonNull String authority, @NonNull String documentId, @NonNull UserHandle user) {
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 3e0b46b6d8e8..30e4eee08e8d 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -2417,6 +2417,10 @@ public final class Settings {
public static class NameValueTable implements BaseColumns {
public static final String NAME = "name";
public static final String VALUE = "value";
+ // A flag indicating whether the current value of a setting should be preserved during
+ // restore.
+ /** @hide */
+ public static final String IS_PRESERVED_IN_RESTORE = "is_preserved_in_restore";
protected static boolean putString(ContentResolver resolver, Uri uri,
String name, String value) {
@@ -5215,7 +5219,6 @@ public final class Settings {
MOVED_TO_GLOBAL.add(Settings.Global.WIFI_NUM_OPEN_NETWORKS_KEPT);
MOVED_TO_GLOBAL.add(Settings.Global.WIFI_ON);
MOVED_TO_GLOBAL.add(Settings.Global.WIFI_P2P_DEVICE_NAME);
- MOVED_TO_GLOBAL.add(Settings.Global.WIFI_SAVED_STATE);
MOVED_TO_GLOBAL.add(Settings.Global.WIFI_SUPPLICANT_SCAN_INTERVAL_MS);
MOVED_TO_GLOBAL.add(Settings.Global.WIFI_VERBOSE_LOGGING_ENABLED);
MOVED_TO_GLOBAL.add(Settings.Global.WIFI_ENHANCED_AUTO_JOIN);
@@ -8712,6 +8715,14 @@ public final class Settings {
"back_gesture_inset_scale_right";
/**
+ * Current provider of proximity-based sharing services.
+ * Default value in @string/config_defaultNearbySharingComponent.
+ * No VALIDATOR as this setting will not be backed up.
+ * @hide
+ */
+ public static final String NEARBY_SHARING_COMPONENT = "nearby_sharing_component";
+
+ /**
* Controls whether aware is enabled.
* @hide
*/
@@ -10323,16 +10334,6 @@ public final class Settings {
public static final String BLE_SCAN_BACKGROUND_MODE = "ble_scan_background_mode";
/**
- * Used to save the Wifi_ON state prior to tethering.
- * This state will be checked to restore Wifi after
- * the user turns off tethering.
- *
- * @hide
- */
- @UnsupportedAppUsage
- public static final String WIFI_SAVED_STATE = "wifi_saved_state";
-
- /**
* The interval in milliseconds to scan as used by the wifi supplicant
* @hide
*/
@@ -14054,7 +14055,7 @@ public final class Settings {
* means Common Criteria mode is enabled.
* @hide
*/
- @SystemApi(client = SystemApi.Client.MODULE_APPS)
+ @SystemApi
public static final String COMMON_CRITERIA_MODE = "common_criteria_mode";
}
diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java
index 4d75059d75e7..b6f5138a6582 100644
--- a/core/java/android/provider/Telephony.java
+++ b/core/java/android/provider/Telephony.java
@@ -1296,17 +1296,6 @@ public final class Telephony {
"android.provider.action.EXTERNAL_PROVIDER_CHANGE";
/**
- * Same as {@link #ACTION_DEFAULT_SMS_PACKAGE_CHANGED} but it's implicit (e.g. sent to
- * all apps) and requires
- * {@link android.Manifest.permission#MONITOR_DEFAULT_SMS_PACKAGE} to receive.
- *
- * @hide
- */
- @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
- public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL =
- "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL";
-
- /**
* Broadcast action: When SMS-MMS db is being created. If file-based encryption is
* supported, this broadcast indicates creation of the db in credential-encrypted
* storage. A boolean is specified in {@link #EXTRA_IS_INITIAL_CREATE} to indicate if
@@ -4288,6 +4277,15 @@ public final class Telephony {
public static final String LANGUAGE_CODE = "language";
/**
+ * Dats coding scheme of the message.
+ * <p>
+ * The data coding scheme (dcs) value defined in 3GPP TS 23.038 section 4
+ * </p>
+ * <P>Type: INTEGER</P>
+ */
+ public static final String DATA_CODING_SCHEME = "dcs";
+
+ /**
* Message body.
* <P>Type: TEXT</P>
*/
@@ -4375,18 +4373,32 @@ public final class Telephony {
public static final String DEFAULT_SORT_ORDER = DELIVERY_TIME + " DESC";
/**
- * The timestamp in millisecond of when the device received the message.
+ * The timestamp in millisecond, reported by {@link System#currentTimeMillis()}, when the
+ * device received the message.
* <P>Type: BIGINT</P>
*/
public static final String RECEIVED_TIME = "received_time";
/**
+ * The timestamp in millisecond, reported by {@link System#currentTimeMillis()}, when
+ * location was checked last time. Note this is only applicable to geo-targeting message.
+ * For non geo-targeting message. the field will be set to -1.
+ * <P>Type: BIGINT</P>
+ */
+ public static final String LOCATION_CHECK_TIME = "location_check_time";
+ /**
* Indicates that whether the message has been broadcasted to the application.
* <P>Type: BOOLEAN</P>
*/
public static final String MESSAGE_BROADCASTED = "message_broadcasted";
/**
+ * Indicates that whether the message has been displayed to the user.
+ * <P>Type: BOOLEAN</P>
+ */
+ public static final String MESSAGE_DISPLAYED = "message_displayed";
+
+ /**
* The Warning Area Coordinates Elements. This element is used for geo-fencing purpose.
*
* The geometry and its coordinates are separated vertical bar, the first item is the
diff --git a/core/java/android/security/net/config/WfaCertificateSource.java b/core/java/android/security/net/config/WfaCertificateSource.java
index f212ef8bf447..545e4b0926b1 100644
--- a/core/java/android/security/net/config/WfaCertificateSource.java
+++ b/core/java/android/security/net/config/WfaCertificateSource.java
@@ -23,12 +23,15 @@ import java.io.File;
* @hide
*/
public final class WfaCertificateSource extends DirectoryCertificateSource {
+ private static final String CACERTS_WFA_PATH =
+ "/apex/com.android.wifi/etc/security/cacerts_wfa";
+
private static class NoPreloadHolder {
private static final WfaCertificateSource INSTANCE = new WfaCertificateSource();
}
private WfaCertificateSource() {
- super(new File(System.getenv("ANDROID_ROOT") + "/etc/security/cacerts_wfa"));
+ super(new File(CACERTS_WFA_PATH));
}
public static WfaCertificateSource getInstance() {
diff --git a/core/java/android/service/autofill/Dataset.java b/core/java/android/service/autofill/Dataset.java
index 262d9896df87..886b433d4ade 100644
--- a/core/java/android/service/autofill/Dataset.java
+++ b/core/java/android/service/autofill/Dataset.java
@@ -322,6 +322,9 @@ public final class Dataset implements Parcelable {
* platform needs to fill in the authentication arguments.
*
* @param authentication Intent to an activity with your authentication flow.
+ *
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*
* @see android.app.PendingIntent
@@ -349,6 +352,8 @@ public final class Dataset implements Parcelable {
*
* @param id id for this dataset or {@code null} to unset.
*
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*/
public @NonNull Builder setId(@Nullable String id) {
@@ -378,6 +383,9 @@ public final class Dataset implements Parcelable {
* @param value value to be autofilled. Pass {@code null} if you do not have the value
* but the target view is a logical part of the dataset. For example, if
* the dataset needs authentication and you have no access to the value.
+ *
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*/
public @NonNull Builder setValue(@NonNull AutofillId id, @Nullable AutofillValue value) {
@@ -403,8 +411,10 @@ public final class Dataset implements Parcelable {
* but the target view is a logical part of the dataset. For example, if
* the dataset needs authentication and you have no access to the value.
* @param presentation the presentation used to visualize this field.
- * @return this builder.
*
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
+ * @return this builder.
*/
public @NonNull Builder setValue(@NonNull AutofillId id, @Nullable AutofillValue value,
@NonNull RemoteViews presentation) {
@@ -439,7 +449,7 @@ public final class Dataset implements Parcelable {
*
* @return this builder.
* @throws IllegalStateException if the builder was constructed without a
- * {@link RemoteViews presentation}.
+ * {@link RemoteViews presentation} or {@link #build()} was already called.
*/
public @NonNull Builder setValue(@NonNull AutofillId id, @Nullable AutofillValue value,
@Nullable Pattern filter) {
@@ -475,6 +485,8 @@ public final class Dataset implements Parcelable {
* such as passwords).
* @param presentation the presentation used to visualize this field.
*
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*/
public @NonNull Builder setValue(@NonNull AutofillId id, @Nullable AutofillValue value,
@@ -504,6 +516,8 @@ public final class Dataset implements Parcelable {
* as inline suggestions. If the dataset supports inline suggestions,
* this should not be null.
*
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*/
public @NonNull Builder setValue(@NonNull AutofillId id, @Nullable AutofillValue value,
@@ -544,6 +558,8 @@ public final class Dataset implements Parcelable {
* as inline suggestions. If the dataset supports inline suggestions, this
* should not be null.
*
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*/
public @NonNull Builder setValue(@NonNull AutofillId id, @Nullable AutofillValue value,
@@ -576,6 +592,8 @@ public final class Dataset implements Parcelable {
* as inline suggestions. If the dataset supports inline suggestions, this
* should not be null.
*
+ * @throws IllegalStateException if {@link #build()} was already called.
+ *
* @return this builder.
*
* @hide
@@ -628,7 +646,8 @@ public final class Dataset implements Parcelable {
* @throws IllegalStateException if no field was set (through
* {@link #setValue(AutofillId, AutofillValue)} or
* {@link #setValue(AutofillId, AutofillValue, RemoteViews)} or
- * {@link #setValue(AutofillId, AutofillValue, RemoteViews, InlinePresentation)}).
+ * {@link #setValue(AutofillId, AutofillValue, RemoteViews, InlinePresentation)}),
+ * or if {@link #build()} was already called.
*
* @return The built dataset.
*/
diff --git a/core/java/android/service/autofill/FillResponse.java b/core/java/android/service/autofill/FillResponse.java
index 9333dbd1e1d5..36f3a7899700 100644
--- a/core/java/android/service/autofill/FillResponse.java
+++ b/core/java/android/service/autofill/FillResponse.java
@@ -748,8 +748,8 @@ public final class FillResponse implements Parcelable {
parcel.writeParcelableArray(mFieldClassificationIds, flags);
parcel.writeInt(mFlags);
parcel.writeIntArray(mCancelIds);
- parcel.writeInt(mRequestId);
parcel.writeParcelable(mInlineActions, flags);
+ parcel.writeInt(mRequestId);
}
public static final @android.annotation.NonNull Parcelable.Creator<FillResponse> CREATOR =
diff --git a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
index 6334d9d765c8..368c94cdc790 100644
--- a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
+++ b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
@@ -31,6 +31,7 @@ import android.content.ComponentName;
import android.content.Intent;
import android.graphics.Rect;
import android.os.Build;
+import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.Handler;
import android.os.IBinder;
@@ -39,6 +40,7 @@ import android.os.Looper;
import android.os.RemoteException;
import android.os.SystemClock;
import android.service.autofill.Dataset;
+import android.service.autofill.FillEventHistory;
import android.service.autofill.augmented.PresentationParams.SystemPopupPresentationParams;
import android.util.Log;
import android.util.Pair;
@@ -319,6 +321,31 @@ public abstract class AugmentedAutofillService extends Service {
pw.print(getClass().getName()); pw.println(": nothing to dump");
}
+ /**
+ * Gets the inline augmented autofill events that happened after the last
+ * {@link #onFillRequest(FillRequest, CancellationSignal, FillController, FillCallback)} call.
+ *
+ * <p>The history is not persisted over reboots, and it's cleared every time the service
+ * replies to a
+ * {@link #onFillRequest(FillRequest, CancellationSignal, FillController, FillCallback)}
+ * by calling {@link FillCallback#onSuccess(FillResponse)}. Hence, the service should call
+ * {@link #getFillEventHistory() before finishing the {@link FillCallback}.
+ *
+ * <p>Also note that the events from the dropdown suggestion UI is not stored in the history
+ * since the service owns the UI.
+ *
+ * @return The history or {@code null} if there are no events.
+ */
+ @Nullable public final FillEventHistory getFillEventHistory() {
+ final AutofillManager afm = getSystemService(AutofillManager.class);
+
+ if (afm == null) {
+ return null;
+ } else {
+ return afm.getFillEventHistory();
+ }
+ }
+
/** @hide */
static final class AutofillProxy {
@@ -487,9 +514,10 @@ public abstract class AugmentedAutofillService extends Service {
}
}
- public void onInlineSuggestionsDataReady(@NonNull List<Dataset> inlineSuggestionsData) {
+ public void onInlineSuggestionsDataReady(@NonNull List<Dataset> inlineSuggestionsData,
+ @Nullable Bundle clientState) {
try {
- mCallback.onSuccess(inlineSuggestionsData.toArray(new Dataset[]{}));
+ mCallback.onSuccess(inlineSuggestionsData.toArray(new Dataset[]{}), clientState);
} catch (RemoteException e) {
Log.e(TAG, "Error calling back with the inline suggestions data: " + e);
}
@@ -511,7 +539,8 @@ public abstract class AugmentedAutofillService extends Service {
}
}
try {
- mCallback.onSuccess(/* mInlineSuggestionsData= */null);
+ mCallback.onSuccess(/* inlineSuggestionsData= */null, /* clientState=*/
+ null);
} catch (RemoteException e) {
Log.e(TAG, "Error reporting success: " + e);
}
diff --git a/core/java/android/service/autofill/augmented/FillCallback.java b/core/java/android/service/autofill/augmented/FillCallback.java
index b767799847d7..d0ffd7b4d8d4 100644
--- a/core/java/android/service/autofill/augmented/FillCallback.java
+++ b/core/java/android/service/autofill/augmented/FillCallback.java
@@ -60,7 +60,7 @@ public final class FillCallback {
List<Dataset> inlineSuggestions = response.getInlineSuggestions();
if (inlineSuggestions != null && !inlineSuggestions.isEmpty()) {
- mProxy.onInlineSuggestionsDataReady(inlineSuggestions);
+ mProxy.onInlineSuggestionsDataReady(inlineSuggestions, response.getClientState());
return;
}
diff --git a/core/java/android/service/autofill/augmented/FillResponse.java b/core/java/android/service/autofill/augmented/FillResponse.java
index e8e6ff05da03..68ba63ac35a8 100644
--- a/core/java/android/service/autofill/augmented/FillResponse.java
+++ b/core/java/android/service/autofill/augmented/FillResponse.java
@@ -19,6 +19,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
+import android.os.Bundle;
import android.service.autofill.Dataset;
import com.android.internal.util.DataClass;
@@ -50,6 +51,13 @@ public final class FillResponse {
@DataClass.PluralOf("inlineSuggestion")
private @Nullable List<Dataset> mInlineSuggestions;
+ /**
+ * The client state that {@link AugmentedAutofillService} implementation can put anything in to
+ * identify the request and the response when calling
+ * {@link AugmentedAutofillService#getFillEventHistory()}.
+ */
+ private @Nullable Bundle mClientState;
+
private static FillWindow defaultFillWindow() {
return null;
}
@@ -58,6 +66,10 @@ public final class FillResponse {
return null;
}
+ private static Bundle defaultClientState() {
+ return null;
+ }
+
/** @hide */
abstract static class BaseBuilder {
@@ -82,9 +94,11 @@ public final class FillResponse {
@DataClass.Generated.Member
/* package-private */ FillResponse(
@Nullable FillWindow fillWindow,
- @Nullable List<Dataset> inlineSuggestions) {
+ @Nullable List<Dataset> inlineSuggestions,
+ @Nullable Bundle clientState) {
this.mFillWindow = fillWindow;
this.mInlineSuggestions = inlineSuggestions;
+ this.mClientState = clientState;
// onConstructed(); // You can define this method to get a callback
}
@@ -111,6 +125,18 @@ public final class FillResponse {
}
/**
+ * The client state that {@link AugmentedAutofillService} implementation can put anything in to
+ * identify the request and the response when calling
+ * {@link AugmentedAutofillService#getFillEventHistory()}.
+ *
+ * @hide
+ */
+ @DataClass.Generated.Member
+ public @Nullable Bundle getClientState() {
+ return mClientState;
+ }
+
+ /**
* A builder for {@link FillResponse}
*/
@SuppressWarnings("WeakerAccess")
@@ -119,6 +145,7 @@ public final class FillResponse {
private @Nullable FillWindow mFillWindow;
private @Nullable List<Dataset> mInlineSuggestions;
+ private @Nullable Bundle mClientState;
private long mBuilderFieldsSet = 0L;
@@ -157,10 +184,23 @@ public final class FillResponse {
return this;
}
+ /**
+ * The client state that {@link AugmentedAutofillService} implementation can put anything in to
+ * identify the request and the response when calling
+ * {@link AugmentedAutofillService#getFillEventHistory()}.
+ */
+ @DataClass.Generated.Member
+ public @NonNull Builder setClientState(@Nullable Bundle value) {
+ checkNotUsed();
+ mBuilderFieldsSet |= 0x4;
+ mClientState = value;
+ return this;
+ }
+
/** Builds the instance. This builder should not be touched after calling this! */
public @NonNull FillResponse build() {
checkNotUsed();
- mBuilderFieldsSet |= 0x4; // Mark builder used
+ mBuilderFieldsSet |= 0x8; // Mark builder used
if ((mBuilderFieldsSet & 0x1) == 0) {
mFillWindow = defaultFillWindow();
@@ -168,14 +208,18 @@ public final class FillResponse {
if ((mBuilderFieldsSet & 0x2) == 0) {
mInlineSuggestions = defaultInlineSuggestions();
}
+ if ((mBuilderFieldsSet & 0x4) == 0) {
+ mClientState = defaultClientState();
+ }
FillResponse o = new FillResponse(
mFillWindow,
- mInlineSuggestions);
+ mInlineSuggestions,
+ mClientState);
return o;
}
private void checkNotUsed() {
- if ((mBuilderFieldsSet & 0x4) != 0) {
+ if ((mBuilderFieldsSet & 0x8) != 0) {
throw new IllegalStateException(
"This Builder should not be reused. Use a new Builder instance instead");
}
@@ -183,10 +227,10 @@ public final class FillResponse {
}
@DataClass.Generated(
- time = 1577476012370L,
+ time = 1580335256422L,
codegenVersion = "1.0.14",
sourceFile = "frameworks/base/core/java/android/service/autofill/augmented/FillResponse.java",
- inputSignatures = "private @android.annotation.Nullable android.service.autofill.augmented.FillWindow mFillWindow\nprivate @com.android.internal.util.DataClass.PluralOf(\"inlineSuggestion\") @android.annotation.Nullable java.util.List<android.service.autofill.Dataset> mInlineSuggestions\nprivate static android.service.autofill.augmented.FillWindow defaultFillWindow()\nprivate static java.util.List<android.service.autofill.Dataset> defaultInlineSuggestions()\nclass FillResponse extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genBuilder=true, genHiddenGetters=true)\nabstract android.service.autofill.augmented.FillResponse.Builder addInlineSuggestion(android.service.autofill.Dataset)\nclass BaseBuilder extends java.lang.Object implements []")
+ inputSignatures = "private @android.annotation.Nullable android.service.autofill.augmented.FillWindow mFillWindow\nprivate @com.android.internal.util.DataClass.PluralOf(\"inlineSuggestion\") @android.annotation.Nullable java.util.List<android.service.autofill.Dataset> mInlineSuggestions\nprivate @android.annotation.Nullable android.os.Bundle mClientState\nprivate static android.service.autofill.augmented.FillWindow defaultFillWindow()\nprivate static java.util.List<android.service.autofill.Dataset> defaultInlineSuggestions()\nprivate static android.os.Bundle defaultClientState()\nclass FillResponse extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genBuilder=true, genHiddenGetters=true)\nabstract android.service.autofill.augmented.FillResponse.Builder addInlineSuggestion(android.service.autofill.Dataset)\nclass BaseBuilder extends java.lang.Object implements []")
@Deprecated
private void __metadata() {}
diff --git a/core/java/android/service/autofill/augmented/IFillCallback.aidl b/core/java/android/service/autofill/augmented/IFillCallback.aidl
index 3ccb3114a10f..31e77f358782 100644
--- a/core/java/android/service/autofill/augmented/IFillCallback.aidl
+++ b/core/java/android/service/autofill/augmented/IFillCallback.aidl
@@ -16,6 +16,7 @@
package android.service.autofill.augmented;
+import android.os.Bundle;
import android.os.ICancellationSignal;
import android.service.autofill.Dataset;
@@ -27,7 +28,7 @@ import android.service.autofill.Dataset;
*/
interface IFillCallback {
void onCancellable(in ICancellationSignal cancellation);
- void onSuccess(in @nullable Dataset[] mInlineSuggestionsData);
+ void onSuccess(in @nullable Dataset[] inlineSuggestionsData, in @nullable Bundle clientState);
boolean isCompleted();
void cancel();
}
diff --git a/core/java/android/service/contentcapture/ContentCaptureService.java b/core/java/android/service/contentcapture/ContentCaptureService.java
index ac2532dcea7d..707426a22889 100644
--- a/core/java/android/service/contentcapture/ContentCaptureService.java
+++ b/core/java/android/service/contentcapture/ContentCaptureService.java
@@ -34,17 +34,14 @@ import android.content.Intent;
import android.content.pm.ParceledListSlice;
import android.os.Binder;
import android.os.Bundle;
-import android.os.CancellationSignal;
import android.os.Handler;
import android.os.IBinder;
-import android.os.ICancellationSignal;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.util.Log;
import android.util.Slog;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import android.view.contentcapture.ContentCaptureCondition;
import android.view.contentcapture.ContentCaptureContext;
import android.view.contentcapture.ContentCaptureEvent;
@@ -57,6 +54,7 @@ import android.view.contentcapture.IContentCaptureDirectManager;
import android.view.contentcapture.MainContentCaptureSession;
import com.android.internal.os.IResultReceiver;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.Preconditions;
import java.io.FileDescriptor;
@@ -544,14 +542,11 @@ public abstract class ContentCaptureService extends Service {
Preconditions.checkNotNull(adapter);
Preconditions.checkNotNull(executor);
- ICancellationSignal cancellationSignalTransport =
- CancellationSignal.createTransport();
-
- DataShareReadAdapterDelegate delegate = new DataShareReadAdapterDelegate(
- executor, cancellationSignalTransport, adapter);
+ DataShareReadAdapterDelegate delegate =
+ new DataShareReadAdapterDelegate(executor, adapter);
try {
- callback.accept(cancellationSignalTransport, delegate);
+ callback.accept(delegate);
} catch (RemoteException e) {
Slog.e(TAG, "Failed to accept data sharing", e);
}
@@ -599,7 +594,7 @@ public abstract class ContentCaptureService extends Service {
+ rightUid);
long now = System.currentTimeMillis();
if (now - mLastCallerMismatchLog > mCallerMismatchTimeout) {
- StatsLog.write(StatsLog.CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.CONTENT_CAPTURE_CALLER_MISMATCH_REPORTED,
getPackageManager().getNameForUid(rightUid),
getPackageManager().getNameForUid(uid));
mLastCallerMismatchLog = now;
@@ -658,38 +653,20 @@ public abstract class ContentCaptureService extends Service {
private final Object mLock = new Object();
private final WeakReference<DataShareReadAdapter> mAdapterReference;
private final WeakReference<Executor> mExecutorReference;
- private final WeakReference<ICancellationSignal> mCancellationSignalReference;
- DataShareReadAdapterDelegate(Executor executor,
- ICancellationSignal cancellationSignalTransport, DataShareReadAdapter adapter) {
+ DataShareReadAdapterDelegate(Executor executor, DataShareReadAdapter adapter) {
Preconditions.checkNotNull(executor);
- Preconditions.checkNotNull(cancellationSignalTransport);
Preconditions.checkNotNull(adapter);
mExecutorReference = new WeakReference<>(executor);
- mCancellationSignalReference = new WeakReference<>(cancellationSignalTransport);
mAdapterReference = new WeakReference<>(adapter);
}
@Override
- public void start(ParcelFileDescriptor fd, ICancellationSignal remoteCancellationSignal)
+ public void start(ParcelFileDescriptor fd)
throws RemoteException {
synchronized (mLock) {
- ICancellationSignal serverControlledCancellationSignal =
- mCancellationSignalReference.get();
-
- if (serverControlledCancellationSignal == null) {
- Slog.w(TAG, "Can't execute onStart(), reference to cancellation signal has "
- + "been GC'ed");
- return;
- }
-
- CancellationSignal cancellationSignal =
- CancellationSignal.fromTransport(serverControlledCancellationSignal);
- cancellationSignal.setRemote(remoteCancellationSignal);
-
- executeAdapterMethodLocked(
- adapter -> adapter.onStart(fd, cancellationSignal), "onStart");
+ executeAdapterMethodLocked(adapter -> adapter.onStart(fd), "onStart");
}
}
diff --git a/core/java/android/service/contentcapture/DataShareReadAdapter.java b/core/java/android/service/contentcapture/DataShareReadAdapter.java
index ca6820110ea9..b9fce6873c5f 100644
--- a/core/java/android/service/contentcapture/DataShareReadAdapter.java
+++ b/core/java/android/service/contentcapture/DataShareReadAdapter.java
@@ -18,7 +18,6 @@ package android.service.contentcapture;
import android.annotation.NonNull;
import android.annotation.SystemApi;
-import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
/**
@@ -34,13 +33,16 @@ public interface DataShareReadAdapter {
* Signals the start of the data sharing session.
*
* @param fd file descriptor to use for reading data, that's being shared
- * @param cancellationSignal cancellation signal to use if data is no longer needed and the
- * session needs to be terminated.
**/
- void onStart(@NonNull ParcelFileDescriptor fd, @NonNull CancellationSignal cancellationSignal);
+ void onStart(@NonNull ParcelFileDescriptor fd);
/**
* Signals that the session failed to start or terminated unsuccessfully.
+ *
+ * <p>Important: together with the error, file sharing stream might be closed, and therefore
+ * reading from {@code fd} from {@link #onStart} will result in the end of stream. The order of
+ * these 2 events is not defined, and it's important that the service treats end of stream
+ * correctly in this situation.
**/
void onError(int errorCode);
}
diff --git a/core/java/android/service/contentcapture/IDataShareCallback.aidl b/core/java/android/service/contentcapture/IDataShareCallback.aidl
index d972adadb53c..84d372580e7c 100644
--- a/core/java/android/service/contentcapture/IDataShareCallback.aidl
+++ b/core/java/android/service/contentcapture/IDataShareCallback.aidl
@@ -21,6 +21,6 @@ import android.service.contentcapture.IDataShareReadAdapter;
/** @hide */
oneway interface IDataShareCallback {
- void accept(in ICancellationSignal cancellationSignal, in IDataShareReadAdapter adapter);
+ void accept(in IDataShareReadAdapter adapter);
void reject();
}
diff --git a/core/java/android/service/contentcapture/IDataShareReadAdapter.aidl b/core/java/android/service/contentcapture/IDataShareReadAdapter.aidl
index 73da5d515edc..91c8ff1fc662 100644
--- a/core/java/android/service/contentcapture/IDataShareReadAdapter.aidl
+++ b/core/java/android/service/contentcapture/IDataShareReadAdapter.aidl
@@ -20,6 +20,6 @@ import android.os.ICancellationSignal;
/** @hide */
oneway interface IDataShareReadAdapter {
- void start(in ParcelFileDescriptor fd, in ICancellationSignal cancellationSignal);
+ void start(in ParcelFileDescriptor fd);
void error(int errorCode);
}
diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java
index c5d97b718ff0..74b913645ad4 100644
--- a/core/java/android/service/notification/StatusBarNotification.java
+++ b/core/java/android/service/notification/StatusBarNotification.java
@@ -35,6 +35,7 @@ import android.os.Parcelable;
import android.os.UserHandle;
import android.text.TextUtils;
+import com.android.internal.logging.InstanceId;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -68,6 +69,8 @@ public class StatusBarNotification implements Parcelable {
private final UserHandle user;
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
private final long postTime;
+ // A small per-notification ID, used for statsd logging.
+ private InstanceId mInstanceId; // Not final, see setInstanceId()
private Context mContext; // used for inflation & icon expansion
@@ -131,8 +134,9 @@ public class StatusBarNotification implements Parcelable {
this.postTime = in.readLong();
if (in.readInt() != 0) {
this.overrideGroupKey = in.readString();
- } else {
- this.overrideGroupKey = null;
+ }
+ if (in.readInt() != 0) {
+ this.mInstanceId = InstanceId.CREATOR.createFromParcel(in);
}
this.key = key();
this.groupKey = groupKey();
@@ -196,7 +200,6 @@ public class StatusBarNotification implements Parcelable {
out.writeInt(this.initialPid);
this.notification.writeToParcel(out, flags);
user.writeToParcel(out, flags);
-
out.writeLong(this.postTime);
if (this.overrideGroupKey != null) {
out.writeInt(1);
@@ -204,6 +207,12 @@ public class StatusBarNotification implements Parcelable {
} else {
out.writeInt(0);
}
+ if (this.mInstanceId != null) {
+ out.writeInt(1);
+ mInstanceId.writeToParcel(out, flags);
+ } else {
+ out.writeInt(0);
+ }
}
public int describeContents() {
@@ -390,6 +399,20 @@ public class StatusBarNotification implements Parcelable {
/**
* @hide
*/
+ public InstanceId getInstanceId() {
+ return mInstanceId;
+ }
+
+ /**
+ * @hide
+ */
+ public void setInstanceId(InstanceId instanceId) {
+ mInstanceId = instanceId;
+ }
+
+ /**
+ * @hide
+ */
@UnsupportedAppUsage
public Context getPackageContext(Context context) {
if (mContext == null) {
diff --git a/core/java/android/service/quickaccesswallet/TEST_MAPPING b/core/java/android/service/quickaccesswallet/TEST_MAPPING
new file mode 100644
index 000000000000..4d97ab6e612d
--- /dev/null
+++ b/core/java/android/service/quickaccesswallet/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+ "presubmit": [
+ {
+ "name": "CtsQuickAccessWalletTestCases"
+ }
+ ]
+}
diff --git a/core/java/android/service/quicksettings/Tile.java b/core/java/android/service/quicksettings/Tile.java
index 79c21521fe2d..40c0ac00a5a9 100644
--- a/core/java/android/service/quicksettings/Tile.java
+++ b/core/java/android/service/quicksettings/Tile.java
@@ -65,6 +65,7 @@ public final class Tile implements Parcelable {
private CharSequence mLabel;
private CharSequence mSubtitle;
private CharSequence mContentDescription;
+ private CharSequence mStateDescription;
// Default to inactive until clients of the new API can update.
private int mState = STATE_INACTIVE;
@@ -177,6 +178,14 @@ public final class Tile implements Parcelable {
}
/**
+ * Gets the current state description for the tile.
+ */
+ @Nullable
+ public CharSequence getStateDescription() {
+ return mStateDescription;
+ }
+
+ /**
* Sets the current content description for the tile.
*
* Does not take effect until {@link #updateTile()} is called.
@@ -187,6 +196,17 @@ public final class Tile implements Parcelable {
this.mContentDescription = contentDescription;
}
+ /**
+ * Sets the current state description for the tile.
+ *
+ * Does not take effect until {@link #updateTile()} is called.
+ *
+ * @param stateDescription New state description to use.
+ */
+ public void setStateDescription(@Nullable CharSequence stateDescription) {
+ this.mStateDescription = stateDescription;
+ }
+
@Override
public int describeContents() {
return 0;
@@ -215,6 +235,7 @@ public final class Tile implements Parcelable {
TextUtils.writeToParcel(mLabel, dest, flags);
TextUtils.writeToParcel(mSubtitle, dest, flags);
TextUtils.writeToParcel(mContentDescription, dest, flags);
+ TextUtils.writeToParcel(mStateDescription, dest, flags);
}
private void readFromParcel(Parcel source) {
@@ -227,6 +248,7 @@ public final class Tile implements Parcelable {
mLabel = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
mSubtitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
mContentDescription = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
+ mStateDescription = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
}
public static final @android.annotation.NonNull Creator<Tile> CREATOR = new Creator<Tile>() {
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
index dd78c78654c3..e9285cc7931d 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -223,6 +223,9 @@ public abstract class WallpaperService extends Service {
SurfaceControl mSurfaceControl = new SurfaceControl();
+ // Unused relayout out-param
+ SurfaceControl mTmpSurfaceControl = new SurfaceControl();
+
final BaseSurfaceHolder mSurfaceHolder = new BaseSurfaceHolder() {
{
mRequestedFormat = PixelFormat.RGBX_8888;
@@ -902,7 +905,7 @@ public abstract class WallpaperService extends Service {
View.VISIBLE, 0, -1, mWinFrame, mContentInsets,
mVisibleInsets, mStableInsets, mBackdropFrame,
mDisplayCutout, mMergedConfiguration, mSurfaceControl,
- mInsetsState, mSurfaceSize);
+ mInsetsState, mSurfaceSize, mTmpSurfaceControl);
if (mSurfaceControl.isValid()) {
mSurfaceHolder.mSurface.copyFrom(mSurfaceControl);
mSurfaceControl.release();
diff --git a/core/java/android/telephony/CellBroadcastIntents.java b/core/java/android/telephony/CellBroadcastIntents.java
index 2e0810835a52..921ad3c74681 100644
--- a/core/java/android/telephony/CellBroadcastIntents.java
+++ b/core/java/android/telephony/CellBroadcastIntents.java
@@ -19,6 +19,8 @@ package android.telephony;
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SdkConstant;
+import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.app.AppOpsManager;
import android.content.BroadcastReceiver;
@@ -43,6 +45,14 @@ public class CellBroadcastIntents {
private static final String EXTRA_MESSAGE = "message";
/**
+ * Broadcast intent action for notifying area information has been updated. The information
+ * can be retrieved by {@link CellBroadcastService#getCellBroadcastAreaInfo(int)}
+ */
+ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+ public static final String ACTION_AREA_INFO_UPDATED =
+ "android.telephony.action.AREA_INFO_UPDATED";
+
+ /**
* @hide
*/
private CellBroadcastIntents() {
@@ -71,7 +81,6 @@ public class CellBroadcastIntents {
int initialCode, int slotIndex) {
Intent backgroundIntent = new Intent(Telephony.Sms.Intents.SMS_CB_RECEIVED_ACTION);
backgroundIntent.putExtra(EXTRA_MESSAGE, smsCbMessage);
- backgroundIntent.setFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
putPhoneIdAndSubIdExtra(context, backgroundIntent, slotIndex);
String receiverPermission = Manifest.permission.RECEIVE_SMS;
diff --git a/core/java/android/telephony/PhoneStateListener.java b/core/java/android/telephony/PhoneStateListener.java
index 67cac0eb3b21..531ade04fe02 100644
--- a/core/java/android/telephony/PhoneStateListener.java
+++ b/core/java/android/telephony/PhoneStateListener.java
@@ -168,9 +168,11 @@ public class PhoneStateListener {
public static final int LISTEN_SIGNAL_STRENGTHS = 0x00000100;
/**
- * Listen for always reported changes of the network signal strengths (cellular),
+ * Listen for changes of the network signal strengths (cellular) always reported from modem,
* even in some situations such as the screen of the device is off.
*
+ * @see #onSignalStrengthsChanged
+ *
* @hide
*/
@RequiresPermission(android.Manifest.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH)
@@ -225,6 +227,9 @@ public class PhoneStateListener {
/**
* Listen for changes to the SRVCC state of the active call.
+ *
+ * <p>Requires permission {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE}
+ *
* @see #onServiceStateChanged(ServiceState)
* @hide
*/
@@ -253,6 +258,9 @@ public class PhoneStateListener {
/**
* Listen for changes to the sim voice activation state
+ *
+ * <p>Requires permission {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE}
+ *
* @see TelephonyManager#SIM_ACTIVATION_STATE_ACTIVATING
* @see TelephonyManager#SIM_ACTIVATION_STATE_ACTIVATED
* @see TelephonyManager#SIM_ACTIVATION_STATE_DEACTIVATED
@@ -266,6 +274,7 @@ public class PhoneStateListener {
* @hide
*/
@SystemApi
+ @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public static final int LISTEN_VOICE_ACTIVATION_STATE = 0x00020000;
/**
@@ -312,10 +321,13 @@ public class PhoneStateListener {
/**
* Listen for changes to the radio power state.
*
+ * <p>Requires permission {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE}
+ *
* @see #onRadioPowerStateChanged
* @hide
*/
@SystemApi
+ @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 0x00800000;
/**
@@ -904,7 +916,6 @@ public class PhoneStateListener {
* Callback invoked when phone capability changes.
* Note, this callback triggers regardless of registered subscription.
*
- * Requires the READ_PRIVILEGED_PHONE_STATE permission.
* @param capability the new phone capability
* @hide
*/
@@ -934,7 +945,7 @@ public class PhoneStateListener {
* subId. Otherwise, this callback applies to
* {@link SubscriptionManager#getDefaultSubscriptionId()}.
*
- * Requires the READ_PRIVILEGED_PHONE_STATE permission.
+ * Requires the READ_PRECISE_PHONE_STATE permission.
* @param callAttributes the call attributes
* @hide
*/
diff --git a/core/java/android/text/format/Time.java b/core/java/android/text/format/Time.java
index 3b6ec0b95802..49cebc141636 100644
--- a/core/java/android/text/format/Time.java
+++ b/core/java/android/text/format/Time.java
@@ -18,7 +18,7 @@ package android.text.format;
import android.util.TimeFormatException;
-import libcore.timezone.ZoneInfoDB;
+import libcore.timezone.ZoneInfoDb;
import libcore.util.ZoneInfo;
import java.io.IOException;
@@ -1118,9 +1118,9 @@ public class Time {
private static ZoneInfo lookupZoneInfo(String timezoneId) {
try {
- ZoneInfo zoneInfo = ZoneInfoDB.getInstance().makeTimeZone(timezoneId);
+ ZoneInfo zoneInfo = ZoneInfoDb.getInstance().makeTimeZone(timezoneId);
if (zoneInfo == null) {
- zoneInfo = ZoneInfoDB.getInstance().makeTimeZone("GMT");
+ zoneInfo = ZoneInfoDb.getInstance().makeTimeZone("GMT");
}
if (zoneInfo == null) {
throw new AssertionError("GMT not found: \"" + timezoneId + "\"");
diff --git a/core/java/android/timezone/CountryTimeZones.java b/core/java/android/timezone/CountryTimeZones.java
index e5bbdf4b6eea..970acd0a5b3f 100644
--- a/core/java/android/timezone/CountryTimeZones.java
+++ b/core/java/android/timezone/CountryTimeZones.java
@@ -51,19 +51,20 @@ public final class CountryTimeZones {
}
/**
- * Returns the ID for this mapping. See also {@link #getTimeZone()} which handles when the
- * ID is unrecognized.
+ * Returns the ID for this mapping. The ID is a tzdb time zone identifier like
+ * "America/Los_Angeles" that can be used with methods such as {@link
+ * TimeZone#getFrozenTimeZone(String)}. See {@link #getTimeZone()} which returns a frozen
+ * {@link TimeZone} object.
*/
@NonNull
public String getTimeZoneId() {
- return mDelegate.timeZoneId;
+ return mDelegate.getTimeZoneId();
}
/**
- * Returns a {@link TimeZone} object for this mapping, or {@code null} if the ID is
- * unrecognized.
+ * Returns a frozen {@link TimeZone} object for this mapping.
*/
- @Nullable
+ @NonNull
public TimeZone getTimeZone() {
return mDelegate.getTimeZone();
}
@@ -158,9 +159,10 @@ public final class CountryTimeZones {
}
/**
- * Returns true if the ISO code for the country is a match for the one specified.
+ * Returns true if the ISO code for the country is a case-insensitive match for the one
+ * supplied.
*/
- public boolean isForCountryCode(@NonNull String countryIso) {
+ public boolean matchesCountryCode(@NonNull String countryIso) {
return mDelegate.isForCountryCode(countryIso);
}
@@ -183,15 +185,25 @@ public final class CountryTimeZones {
}
/**
- * Qualifier for a country's default time zone. {@code true} indicates whether the default
- * would be a good choice <em>generally</em> when there's no other information available.
+ * Qualifier for a country's default time zone. {@code true} indicates that the country's
+ * default time zone would be a good choice <em>generally</em> when there's no UTC offset
+ * information available. This will only be {@code true} in countries with multiple zones where
+ * a large majority of the population is covered by only one of them.
*/
public boolean isDefaultTimeZoneBoosted() {
- return mDelegate.getDefaultTimeZoneBoost();
+ return mDelegate.isDefaultTimeZoneBoosted();
}
/**
- * Returns true if the country has at least one zone that is the same as UTC at the given time.
+ * Returns {@code true} if the country has at least one time zone that uses UTC at the given
+ * time. This is an efficient check when trying to validate received UTC offset information.
+ * For example, there are situations when a detected zero UTC offset cannot be distinguished
+ * from "no information available" or a corrupted signal. This method is useful because checking
+ * offset information for large countries is relatively expensive but it is generally only the
+ * countries close to the prime meridian that use UTC at <em>any</em> time of the year.
+ *
+ * @param whenMillis the time the offset information is for in milliseconds since the beginning
+ * of the Unix epoch
*/
public boolean hasUtcZone(long whenMillis) {
return mDelegate.hasUtcZone(whenMillis);
@@ -220,7 +232,8 @@ public final class CountryTimeZones {
mDelegate.lookupByOffsetWithBias(
totalOffsetMillis, isDst, dstOffsetMillis, whenMillis, bias);
return delegateOffsetResult == null ? null :
- new OffsetResult(delegateOffsetResult.mTimeZone, delegateOffsetResult.mOneMatch);
+ new OffsetResult(
+ delegateOffsetResult.getTimeZone(), delegateOffsetResult.isOnlyMatch());
}
/**
diff --git a/core/java/android/timezone/TelephonyLookup.java b/core/java/android/timezone/TelephonyLookup.java
index eebccf4aa577..8a5864e92db1 100644
--- a/core/java/android/timezone/TelephonyLookup.java
+++ b/core/java/android/timezone/TelephonyLookup.java
@@ -30,9 +30,9 @@ import java.util.Objects;
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
-public class TelephonyLookup {
+public final class TelephonyLookup {
- private static Object sLock = new Object();
+ private static final Object sLock = new Object();
@GuardedBy("sLock")
private static TelephonyLookup sInstance;
diff --git a/core/java/android/timezone/TelephonyNetwork.java b/core/java/android/timezone/TelephonyNetwork.java
index ae39fbddfa1c..487b3f2f143b 100644
--- a/core/java/android/timezone/TelephonyNetwork.java
+++ b/core/java/android/timezone/TelephonyNetwork.java
@@ -27,7 +27,7 @@ import java.util.Objects;
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
-public class TelephonyNetwork {
+public final class TelephonyNetwork {
@NonNull
private final libcore.timezone.TelephonyNetwork mDelegate;
diff --git a/core/java/android/timezone/TelephonyNetworkFinder.java b/core/java/android/timezone/TelephonyNetworkFinder.java
index 079d0882f191..2ddd3d998d8e 100644
--- a/core/java/android/timezone/TelephonyNetworkFinder.java
+++ b/core/java/android/timezone/TelephonyNetworkFinder.java
@@ -28,7 +28,7 @@ import java.util.Objects;
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
-public class TelephonyNetworkFinder {
+public final class TelephonyNetworkFinder {
@NonNull
private final libcore.timezone.TelephonyNetworkFinder mDelegate;
diff --git a/core/java/android/timezone/TimeZoneFinder.java b/core/java/android/timezone/TimeZoneFinder.java
index 9327b001a9c8..c76bb1d1fd28 100644
--- a/core/java/android/timezone/TimeZoneFinder.java
+++ b/core/java/android/timezone/TimeZoneFinder.java
@@ -32,7 +32,7 @@ import java.util.Objects;
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public final class TimeZoneFinder {
- private static Object sLock = new Object();
+ private static final Object sLock = new Object();
@GuardedBy("sLock")
private static TimeZoneFinder sInstance;
diff --git a/core/java/android/timezone/TzDataSetVersion.java b/core/java/android/timezone/TzDataSetVersion.java
index aba7c4c15903..efe50a07da98 100644
--- a/core/java/android/timezone/TzDataSetVersion.java
+++ b/core/java/android/timezone/TzDataSetVersion.java
@@ -89,7 +89,7 @@ public final class TzDataSetVersion {
* @hide
*/
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
- public static class TzDataSetException extends Exception {
+ public static final class TzDataSetException extends Exception {
/** Creates an instance with a message. */
public TzDataSetException(String message) {
@@ -111,23 +111,23 @@ public final class TzDataSetVersion {
/** Returns the major version number. See {@link TzDataSetVersion}. */
public int getFormatMajorVersion() {
- return mDelegate.formatMajorVersion;
+ return mDelegate.getFormatMajorVersion();
}
/** Returns the minor version number. See {@link TzDataSetVersion}. */
public int getFormatMinorVersion() {
- return mDelegate.formatMinorVersion;
+ return mDelegate.getFormatMinorVersion();
}
/** Returns the tzdb version string. See {@link TzDataSetVersion}. */
@NonNull
public String getRulesVersion() {
- return mDelegate.rulesVersion;
+ return mDelegate.getRulesVersion();
}
/** Returns the Android revision. See {@link TzDataSetVersion}. */
public int getRevision() {
- return mDelegate.revision;
+ return mDelegate.getRevision();
}
@Override
diff --git a/core/java/android/timezone/ZoneInfoDb.java b/core/java/android/timezone/ZoneInfoDb.java
index eb191e8e3272..4612a56df117 100644
--- a/core/java/android/timezone/ZoneInfoDb.java
+++ b/core/java/android/timezone/ZoneInfoDb.java
@@ -32,7 +32,7 @@ import java.util.Objects;
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public final class ZoneInfoDb {
- private static Object sLock = new Object();
+ private static final Object sLock = new Object();
@GuardedBy("sLock")
private static ZoneInfoDb sInstance;
@@ -43,16 +43,16 @@ public final class ZoneInfoDb {
public static ZoneInfoDb getInstance() {
synchronized (sLock) {
if (sInstance == null) {
- sInstance = new ZoneInfoDb(libcore.timezone.ZoneInfoDB.getInstance());
+ sInstance = new ZoneInfoDb(libcore.timezone.ZoneInfoDb.getInstance());
}
}
return sInstance;
}
@NonNull
- private final libcore.timezone.ZoneInfoDB mDelegate;
+ private final libcore.timezone.ZoneInfoDb mDelegate;
- private ZoneInfoDb(libcore.timezone.ZoneInfoDB delegate) {
+ private ZoneInfoDb(libcore.timezone.ZoneInfoDb delegate) {
mDelegate = Objects.requireNonNull(delegate);
}
diff --git a/core/java/android/util/CloseGuard.java b/core/java/android/util/CloseGuard.java
index 6ac769623bff..ba504a3b4167 100644
--- a/core/java/android/util/CloseGuard.java
+++ b/core/java/android/util/CloseGuard.java
@@ -26,7 +26,7 @@ import android.annotation.NonNull;
* A simple example: <pre> {@code
* class Foo {
*
- * private final CloseGuard guard = CloseGuard.get();
+ * private final CloseGuard guard = new CloseGuard();
*
* ...
*
@@ -64,7 +64,7 @@ import android.annotation.NonNull;
* be deferred. For example: <pre> {@code
* class Bar {
*
- * private final CloseGuard guard = CloseGuard.get();
+ * private final CloseGuard guard = new CloseGuard();
*
* ...
*
diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java
index 06fccaf8ea81..5fdac810af29 100644
--- a/core/java/android/util/FeatureFlagUtils.java
+++ b/core/java/android/util/FeatureFlagUtils.java
@@ -47,6 +47,9 @@ public class FeatureFlagUtils {
/** @hide */
public static final String BACKUP_NO_KV_DATA_CHANGE_CALLS =
"backup_enable_no_data_notification_calls";
+ /** @hide */
+ public static final String SETTINGS_DO_NOT_RESTORE_PRESERVED =
+ "settings_do_not_restore_preserved";
private static final Map<String, String> DEFAULT_FLAGS;
@@ -68,6 +71,11 @@ public class FeatureFlagUtils {
// Disabled until backup transports support it.
DEFAULT_FLAGS.put(BACKUP_NO_KV_DATA_CHANGE_CALLS, "false");
+ // Disabled by default until b/148278926 is resolved. This flags guards a feature
+ // introduced in R and will be removed in the next release (b/148367230).
+ DEFAULT_FLAGS.put(SETTINGS_DO_NOT_RESTORE_PRESERVED, "false");
+
+ DEFAULT_FLAGS.put("settings_tether_all_in_one", "false");
}
/**
diff --git a/core/java/android/util/RotationUtils.java b/core/java/android/util/RotationUtils.java
new file mode 100644
index 000000000000..a44ed59c14d4
--- /dev/null
+++ b/core/java/android/util/RotationUtils.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util;
+
+import static android.view.Surface.ROTATION_0;
+import static android.view.Surface.ROTATION_180;
+import static android.view.Surface.ROTATION_270;
+import static android.view.Surface.ROTATION_90;
+
+import android.graphics.Insets;
+import android.view.Surface.Rotation;
+
+/**
+ * A class containing utility methods related to rotation.
+ *
+ * @hide
+ */
+public class RotationUtils {
+
+ /**
+ * Rotates an Insets according to the given rotation.
+ */
+ public static Insets rotateInsets(Insets insets, @Rotation int rotation) {
+ if (insets == null || insets == Insets.NONE) {
+ return insets;
+ }
+ Insets rotated;
+ switch (rotation) {
+ case ROTATION_0:
+ rotated = insets;
+ break;
+ case ROTATION_90:
+ rotated = Insets.of(
+ insets.top,
+ insets.right,
+ insets.bottom,
+ insets.left);
+ break;
+ case ROTATION_180:
+ rotated = Insets.of(
+ insets.right,
+ insets.bottom,
+ insets.left,
+ insets.top);
+ break;
+ case ROTATION_270:
+ rotated = Insets.of(
+ insets.bottom,
+ insets.left,
+ insets.top,
+ insets.right);
+ break;
+ default:
+ throw new IllegalArgumentException("unknown rotation: " + rotation);
+ }
+ return rotated;
+ }
+}
diff --git a/core/java/android/util/StatsLog.java b/core/java/android/util/StatsLog.java
index 8635340397b4..cc922d398969 100644
--- a/core/java/android/util/StatsLog.java
+++ b/core/java/android/util/StatsLog.java
@@ -28,6 +28,8 @@ import android.os.IStatsd;
import android.os.RemoteException;
import android.os.ServiceManager;
+import com.android.internal.util.FrameworkStatsLog;
+
/**
* StatsLog provides an API for developers to send events to statsd. The events can be used to
* define custom metrics inside statsd.
@@ -60,7 +62,7 @@ public final class StatsLog extends StatsLogInternal {
return false;
}
service.sendAppBreadcrumbAtom(label,
- StatsLog.APP_BREADCRUMB_REPORTED__STATE__START);
+ FrameworkStatsLog.APP_BREADCRUMB_REPORTED__STATE__START);
return true;
} catch (RemoteException e) {
sService = null;
@@ -88,7 +90,8 @@ public final class StatsLog extends StatsLogInternal {
}
return false;
}
- service.sendAppBreadcrumbAtom(label, StatsLog.APP_BREADCRUMB_REPORTED__STATE__STOP);
+ service.sendAppBreadcrumbAtom(
+ label, FrameworkStatsLog.APP_BREADCRUMB_REPORTED__STATE__STOP);
return true;
} catch (RemoteException e) {
sService = null;
@@ -117,7 +120,7 @@ public final class StatsLog extends StatsLogInternal {
return false;
}
service.sendAppBreadcrumbAtom(
- label, StatsLog.APP_BREADCRUMB_REPORTED__STATE__UNSPECIFIED);
+ label, FrameworkStatsLog.APP_BREADCRUMB_REPORTED__STATE__UNSPECIFIED);
return true;
} catch (RemoteException e) {
sService = null;
diff --git a/core/java/android/util/TimeUtils.java b/core/java/android/util/TimeUtils.java
index 37dd781d4468..36f4e5361ea6 100644
--- a/core/java/android/util/TimeUtils.java
+++ b/core/java/android/util/TimeUtils.java
@@ -26,7 +26,7 @@ import android.os.SystemClock;
import libcore.timezone.CountryTimeZones;
import libcore.timezone.CountryTimeZones.TimeZoneMapping;
import libcore.timezone.TimeZoneFinder;
-import libcore.timezone.ZoneInfoDB;
+import libcore.timezone.ZoneInfoDb;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
@@ -81,7 +81,7 @@ public class TimeUtils {
}
CountryTimeZones.OffsetResult offsetResult = countryTimeZones.lookupByOffsetWithBias(
offsetMillis, isDst, null /* dstOffsetMillis */, whenMillis, bias);
- return offsetResult != null ? offsetResult.mTimeZone : null;
+ return offsetResult != null ? offsetResult.getTimeZone() : null;
}
/**
@@ -109,8 +109,8 @@ public class TimeUtils {
List<String> timeZoneIds = new ArrayList<>();
for (TimeZoneMapping timeZoneMapping : countryTimeZones.getTimeZoneMappings()) {
- if (timeZoneMapping.showInPicker) {
- timeZoneIds.add(timeZoneMapping.timeZoneId);
+ if (timeZoneMapping.isShownInPicker()) {
+ timeZoneIds.add(timeZoneMapping.getTimeZoneId());
}
}
return Collections.unmodifiableList(timeZoneIds);
@@ -134,7 +134,7 @@ public class TimeUtils {
* during the lifetime of an activity.
*/
public static String getTimeZoneDatabaseVersion() {
- return ZoneInfoDB.getInstance().getVersion();
+ return ZoneInfoDb.getInstance().getVersion();
}
/** @hide Field length that can hold 999 days of time */
diff --git a/core/java/android/util/apk/ApkSignatureVerifier.java b/core/java/android/util/apk/ApkSignatureVerifier.java
index 71c8e98a0faa..64635098f7f4 100644
--- a/core/java/android/util/apk/ApkSignatureVerifier.java
+++ b/core/java/android/util/apk/ApkSignatureVerifier.java
@@ -27,6 +27,7 @@ import android.content.pm.PackageParser;
import android.content.pm.PackageParser.PackageParserException;
import android.content.pm.PackageParser.SigningDetails.SignatureSchemeVersion;
import android.content.pm.Signature;
+import android.os.Build;
import android.os.Trace;
import android.util.jar.StrictJarFile;
@@ -447,6 +448,17 @@ public class ApkSignatureVerifier {
}
/**
+ * Returns the minimum signature scheme version required for an app targeting the specified
+ * {@code targetSdk}.
+ */
+ public static int getMinimumSignatureSchemeVersionForTargetSdk(int targetSdk) {
+ if (targetSdk >= Build.VERSION_CODES.R) {
+ return SignatureSchemeVersion.SIGNING_BLOCK_V2;
+ }
+ return SignatureSchemeVersion.JAR;
+ }
+
+ /**
* Result of a successful APK verification operation.
*/
public static class Result {
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 0304328f734a..d79fc9a48116 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -57,8 +57,8 @@ import java.util.List;
* <li>The application display area specifies the part of the display that may contain
* an application window, excluding the system decorations. The application display area may
* be smaller than the real display area because the system subtracts the space needed
- * for decor elements such as the status bar. Use the following methods to query the
- * application display area: {@link #getSize}, {@link #getRectSize} and {@link #getMetrics}.</li>
+ * for decor elements such as the status bar. Use {@link WindowMetrics#getSize()} to query the
+ * application window size.</li>
* <li>The real display area specifies the part of the display that contains content
* including the system decorations. Even so, the real display area may be smaller than the
* physical size of the display if the window manager is emulating a smaller display
@@ -97,7 +97,7 @@ public final class Display {
// We cache the app width and height properties briefly between calls
// to getHeight() and getWidth() to ensure that applications perceive
// consistent results when the size changes (most of the time).
- // Applications should now be using getSize() instead.
+ // Applications should now be using WindowMetrics instead.
private static final int CACHED_APP_SIZE_DURATION_MILLIS = 20;
private long mLastCachedAppSizeUpdate;
private int mCachedAppWidthCompat;
@@ -674,7 +674,10 @@ public final class Display {
* </p>
*
* @param outSize A {@link Point} object to receive the size information.
+ * @deprecated Use {@link WindowManager#getCurrentWindowMetrics()} to obtain an instance of
+ * {@link WindowMetrics} and use {@link WindowMetrics#getSize()} instead.
*/
+ @Deprecated
public void getSize(Point outSize) {
synchronized (this) {
updateDisplayInfoLocked();
@@ -688,8 +691,10 @@ public final class Display {
* Gets the size of the display as a rectangle, in pixels.
*
* @param outSize A {@link Rect} object to receive the size information.
- * @see #getSize(Point)
+ * @deprecated Use {@link WindowMetrics#getSize()} to get the dimensions of the application
+ * window area.
*/
+ @Deprecated
public void getRectSize(Rect outSize) {
synchronized (this) {
updateDisplayInfoLocked();
@@ -752,7 +757,7 @@ public final class Display {
}
/**
- * @deprecated Use {@link #getSize(Point)} instead.
+ * @deprecated Use {@link WindowMetrics#getSize()} instead.
*/
@Deprecated
public int getWidth() {
@@ -763,7 +768,7 @@ public final class Display {
}
/**
- * @deprecated Use {@link #getSize(Point)} instead.
+ * @deprecated Use {@link WindowMetrics#getSize()} instead.
*/
@Deprecated
public int getHeight() {
@@ -1102,7 +1107,10 @@ public final class Display {
* </p>
*
* @param outMetrics A {@link DisplayMetrics} object to receive the metrics.
+ * @deprecated Use {@link WindowMetrics#getSize()} to get the dimensions of the application
+ * window area, and {@link Configuration#densityDpi} to get the current density.
*/
+ @Deprecated
public void getMetrics(DisplayMetrics outMetrics) {
synchronized (this) {
updateDisplayInfoLocked();
diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java
index 4d71136d0af1..f6c72c4eefbc 100644
--- a/core/java/android/view/GestureDetector.java
+++ b/core/java/android/view/GestureDetector.java
@@ -16,12 +16,12 @@
package android.view;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DOUBLE_TAP;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SCROLL;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DOUBLE_TAP;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SCROLL;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
@@ -29,7 +29,8 @@ import android.os.Build;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
-import android.util.StatsLog;
+
+import com.android.internal.util.FrameworkStatsLog;
/**
* Detects various gestures and events using the supplied {@link MotionEvent}s.
@@ -231,6 +232,7 @@ public class GestureDetector {
private int mTouchSlopSquare;
private int mDoubleTapTouchSlopSquare;
private int mDoubleTapSlopSquare;
+ private float mAmbiguousGestureMultiplier;
@UnsupportedAppUsage
private int mMinimumFlingVelocity;
private int mMaximumFlingVelocity;
@@ -452,6 +454,7 @@ public class GestureDetector {
//noinspection deprecation
mMinimumFlingVelocity = ViewConfiguration.getMinimumFlingVelocity();
mMaximumFlingVelocity = ViewConfiguration.getMaximumFlingVelocity();
+ mAmbiguousGestureMultiplier = ViewConfiguration.getAmbiguousGestureMultiplier();
} else {
final ViewConfiguration configuration = ViewConfiguration.get(context);
touchSlop = configuration.getScaledTouchSlop();
@@ -459,6 +462,7 @@ public class GestureDetector {
doubleTapSlop = configuration.getScaledDoubleTapSlop();
mMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
mMaximumFlingVelocity = configuration.getScaledMaximumFlingVelocity();
+ mAmbiguousGestureMultiplier = configuration.getScaledAmbiguousGestureMultiplier();
}
mTouchSlopSquare = touchSlop * touchSlop;
mDoubleTapTouchSlopSquare = doubleTapTouchSlop * doubleTapTouchSlop;
@@ -661,7 +665,6 @@ public class GestureDetector {
hasPendingLongPress && ambiguousGesture;
if (shouldInhibitDefaultAction) {
// Inhibit default long press
- final float multiplier = ViewConfiguration.getAmbiguousGestureMultiplier();
if (distance > slopSquare) {
// The default action here is to remove long press. But if the touch
// slop below gets increased, and we never exceed the modified touch
@@ -675,13 +678,14 @@ public class GestureDetector {
LONG_PRESS,
TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS,
0 /* arg2 */),
- ev.getDownTime() + (long) (longPressTimeout * multiplier));
+ ev.getDownTime()
+ + (long) (longPressTimeout * mAmbiguousGestureMultiplier));
}
// Inhibit default scroll. If a gesture is ambiguous, we prevent scroll
// until the gesture is resolved.
// However, for safety, simply increase the touch slop in case the
// classification is erroneous. Since the value is squared, multiply twice.
- slopSquare *= multiplier * multiplier;
+ slopSquare *= mAmbiguousGestureMultiplier * mAmbiguousGestureMultiplier;
}
if (distance > slopSquare) {
@@ -884,8 +888,8 @@ public class GestureDetector {
mHasRecordedClassification = true;
return;
}
- StatsLog.write(
- StatsLog.TOUCH_GESTURE_CLASSIFIED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED,
getClass().getName(),
classification,
(int) (SystemClock.uptimeMillis() - mCurrentMotionEvent.getDownTime()),
diff --git a/core/java/android/view/ITaskOrganizer.aidl b/core/java/android/view/ITaskOrganizer.aidl
index e92aafed6f22..5ccdd30a9d97 100644
--- a/core/java/android/view/ITaskOrganizer.aidl
+++ b/core/java/android/view/ITaskOrganizer.aidl
@@ -26,8 +26,7 @@ import android.app.ActivityManager;
* {@hide}
*/
oneway interface ITaskOrganizer {
- void taskAppeared(in IWindowContainer container,
- in ActivityManager.RunningTaskInfo taskInfo);
+ void taskAppeared(in ActivityManager.RunningTaskInfo taskInfo);
void taskVanished(in IWindowContainer container);
/**
@@ -35,4 +34,19 @@ oneway interface ITaskOrganizer {
* ActivityTaskManagerService#applyTaskOrganizerTransaction
*/
void transactionReady(int id, in SurfaceControl.Transaction t);
+
+ /**
+ * Will fire when core attributes of a Task's info change. Relevant properties include the
+ * {@link WindowConfiguration.ActivityType} and whether it is resizable.
+ *
+ * This is used, for example, during split-screen. The flow for starting is: Something sends an
+ * Intent with windowingmode. Then WM finds a matching root task and launches the new task into
+ * it. This causes the root task's info to change because now it has a task when it didn't
+ * before. The default Divider implementation interprets this as a request to enter
+ * split-screen mode and will move all other Tasks into the secondary root task. When WM
+ * applies this change, it triggers an info change in the secondary root task because it now
+ * has children. The Divider impl looks at the info and can see that the secondary root task
+ * has adopted an ActivityType of HOME and proceeds to show the minimized dock UX.
+ */
+ void onTaskInfoChanged(in ActivityManager.RunningTaskInfo info);
} \ No newline at end of file
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index e1f1581c53bc..f9a023fafc3c 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -120,12 +120,14 @@ interface IWindowManager
*
* @param token Token to be registered.
* @param type Window type to be used with this token.
+ * @param options A bundle used to pass window-related options.
* @param displayId The ID of the display where this token should be added.
* @param packageName The name of package to request to add window token.
* @return {@link WindowManagerGlobal#ADD_OKAY} if the addition was successful, an error code
* otherwise.
*/
- int addWindowContextToken(IBinder token, int type, int displayId, String packageName);
+ int addWindowTokenWithOptions(IBinder token, int type, int displayId, in Bundle options,
+ String packageName);
void addWindowToken(IBinder token, int type, int displayId);
void removeWindowToken(IBinder token, int displayId);
void prepareAppTransition(int transit, boolean alwaysKeepCurrent);
diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl
index e3446e1f7b57..91000a93b17c 100644
--- a/core/java/android/view/IWindowSession.aidl
+++ b/core/java/android/view/IWindowSession.aidl
@@ -92,6 +92,9 @@ interface IWindowSession {
* @param outSurface Object in which is placed the new display surface.
* @param insetsState The current insets state in the system.
* @param outSurfaceSize The width and height of the surface control
+ * @param outBlastSurfaceControl A BLAST SurfaceControl allocated by the WindowManager
+ * the SurfaceControl willl be managed by the client side, but the WindowManager
+ * may use it as a deferTransaction barrier.
*
* @return int Result flags: {@link WindowManagerGlobal#RELAYOUT_SHOW_FOCUS},
* {@link WindowManagerGlobal#RELAYOUT_FIRST_TIME}.
@@ -103,7 +106,8 @@ interface IWindowSession {
out Rect outBackdropFrame,
out DisplayCutout.ParcelableWrapper displayCutout,
out MergedConfiguration outMergedConfiguration, out SurfaceControl outSurfaceControl,
- out InsetsState insetsState, out Point outSurfaceSize);
+ out InsetsState insetsState, out Point outSurfaceSize,
+ out SurfaceControl outBlastSurfaceControl);
/*
* Notify the window manager that an application is relaunching and
@@ -314,5 +318,11 @@ interface IWindowSession {
* an input channel where the client can receive input.
*/
void grantInputChannel(int displayId, in SurfaceControl surface, in IWindow window,
- in IBinder hostInputToken, out InputChannel outInputChannel);
+ in IBinder hostInputToken, int flags, out InputChannel outInputChannel);
+
+ /**
+ * Update the flags on an input channel associated with a particular surface.
+ */
+ void updateInputChannel(in IBinder channelToken, int displayId, in SurfaceControl surface,
+ int flags);
}
diff --git a/core/java/android/view/ImeFocusController.java b/core/java/android/view/ImeFocusController.java
index 8d58ee83cd67..67e88a5a1831 100644
--- a/core/java/android/view/ImeFocusController.java
+++ b/core/java/android/view/ImeFocusController.java
@@ -253,4 +253,12 @@ public final class ImeFocusController {
public void setNextServedView(View view) {
mNextServedView = view;
}
+
+ /**
+ * Indicates whether the view's window has IME focused.
+ */
+ @UiThread
+ boolean hasImeFocus() {
+ return mHasImeFocus;
+ }
}
diff --git a/core/java/android/view/ImeInsetsSourceConsumer.java b/core/java/android/view/ImeInsetsSourceConsumer.java
index d0694375df53..f2263693897b 100644
--- a/core/java/android/view/ImeInsetsSourceConsumer.java
+++ b/core/java/android/view/ImeInsetsSourceConsumer.java
@@ -17,7 +17,9 @@
package android.view;
import static android.view.InsetsState.ITYPE_IME;
+import static android.view.InsetsState.toPublicType;
+import android.annotation.Nullable;
import android.inputmethodservice.InputMethodService;
import android.os.Parcel;
import android.text.TextUtils;
@@ -43,6 +45,12 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer {
*/
private boolean mShowOnNextImeRender;
+ /**
+ * Tracks whether we have an outstanding request from the IME to show, but weren't able to
+ * execute it because we didn't have control yet.
+ */
+ private boolean mImeRequestedShow;
+
public ImeInsetsSourceConsumer(
InsetsState state, Supplier<Transaction> transactionSupplier,
InsetsController controller) {
@@ -80,6 +88,15 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer {
public void onWindowFocusLost() {
super.onWindowFocusLost();
getImm().unregisterImeConsumer(this);
+ mImeRequestedShow = false;
+ }
+
+ @Override
+ public void show(boolean fromIme) {
+ super.show(fromIme);
+ if (fromIme) {
+ mImeRequestedShow = true;
+ }
}
/**
@@ -87,15 +104,19 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer {
* @return @see {@link android.view.InsetsSourceConsumer.ShowResult}.
*/
@Override
- @ShowResult int requestShow(boolean fromIme) {
+ public @ShowResult int requestShow(boolean fromIme) {
// TODO: ResultReceiver for IME.
// TODO: Set mShowOnNextImeRender to automatically show IME and guard it with a flag.
- if (fromIme) {
+
+ // If we had a request before to show from IME (tracked with mImeRequestedShow), reaching
+ // this code here means that we now got control, so we can start the animation immediately.
+ if (fromIme || mImeRequestedShow) {
+ mImeRequestedShow = false;
return ShowResult.SHOW_IMMEDIATELY;
}
return getImm().requestImeShow(null /* resultReceiver */)
- ? ShowResult.SHOW_DELAYED : ShowResult.SHOW_FAILED;
+ ? ShowResult.IME_SHOW_DELAYED : ShowResult.IME_SHOW_FAILED;
}
/**
@@ -106,6 +127,15 @@ public final class ImeInsetsSourceConsumer extends InsetsSourceConsumer {
getImm().notifyImeHidden();
}
+ @Override
+ public void setControl(@Nullable InsetsSourceControl control, int[] showTypes,
+ int[] hideTypes) {
+ super.setControl(control, showTypes, hideTypes);
+ if (control == null) {
+ hide();
+ }
+ }
+
private boolean isDummyOrEmptyEditor(EditorInfo info) {
// TODO(b/123044812): Handle dummy input gracefully in IME Insets API
return info == null || (info.fieldId <= 0 && info.inputType <= 0);
diff --git a/core/java/android/view/InsetsAnimationControlCallbacks.java b/core/java/android/view/InsetsAnimationControlCallbacks.java
index 27edb0b69bdd..0645c98e994a 100644
--- a/core/java/android/view/InsetsAnimationControlCallbacks.java
+++ b/core/java/android/view/InsetsAnimationControlCallbacks.java
@@ -52,12 +52,6 @@ public interface InsetsAnimationControlCallbacks {
void notifyFinished(InsetsAnimationControlImpl controller, boolean shown);
/**
- * Get the description of the insets state.
- * @return {@link InsetsState} for adjusting corresponding {@link InsetsSource}.
- */
- InsetsState getState();
-
- /**
* Apply the new params to the surface.
* @param params The {@link android.view.SyncRtSurfaceTransactionApplier.SurfaceParams} to
* apply.
diff --git a/core/java/android/view/InsetsAnimationControlImpl.java b/core/java/android/view/InsetsAnimationControlImpl.java
index 405eccd56e3c..0653b06e4b9d 100644
--- a/core/java/android/view/InsetsAnimationControlImpl.java
+++ b/core/java/android/view/InsetsAnimationControlImpl.java
@@ -16,8 +16,6 @@
package android.view;
-import static android.view.InsetsController.LAYOUT_INSETS_DURING_ANIMATION_HIDDEN;
-import static android.view.InsetsController.LAYOUT_INSETS_DURING_ANIMATION_SHOWN;
import static android.view.InsetsState.ISIDE_BOTTOM;
import static android.view.InsetsState.ISIDE_FLOATING;
import static android.view.InsetsState.ISIDE_LEFT;
@@ -188,16 +186,10 @@ public class InsetsAnimationControlImpl implements WindowInsetsAnimationControll
@Override
public void finish(boolean shown) {
- if (mCancelled) {
+ if (mCancelled || mFinished) {
return;
}
- InsetsState state = new InsetsState(mController.getState());
- for (int i = mControls.size() - 1; i >= 0; i--) {
- InsetsSourceControl control = mControls.valueAt(i);
- state.getSource(control.getType()).setVisible(shown);
- }
- Insets insets = getInsetsFromState(state, mFrame, null /* typeSideMap */);
- setInsetsAndAlpha(insets, 1f /* alpha */, 1f /* fraction */);
+ setInsetsAndAlpha(shown ? mShownInsets : mHiddenInsets, 1f /* alpha */, 1f /* fraction */);
mFinished = true;
mShownOnFinish = shown;
}
@@ -216,6 +208,10 @@ public class InsetsAnimationControlImpl implements WindowInsetsAnimationControll
mListener.onCancelled();
}
+ public boolean isCancelled() {
+ return mCancelled;
+ }
+
InsetsAnimation getAnimation() {
return mAnimation;
}
@@ -278,8 +274,8 @@ public class InsetsAnimationControlImpl implements WindowInsetsAnimationControll
if (leash != null) {
// TODO: use a better interpolation for fade.
alpha = mFade ? ((float) maxInset / inset * 0.3f + 0.7f) : alpha;
- surfaceParams.add(new SurfaceParams(leash, alpha, mTmpMatrix,
- null /* windowCrop */, 0 /* layer */, 0f /* cornerRadius*/,
+ surfaceParams.add(new SurfaceParams(leash, side == ISIDE_FLOATING ? 1 : alpha,
+ mTmpMatrix, null /* windowCrop */, 0 /* layer */, 0f /* cornerRadius*/,
side == ISIDE_FLOATING ? state.getSource(source.getType()).isVisible()
: inset != 0 /* visible */));
}
diff --git a/core/java/android/view/InsetsController.java b/core/java/android/view/InsetsController.java
index c6e383539a82..22d6f37dbd95 100644
--- a/core/java/android/view/InsetsController.java
+++ b/core/java/android/view/InsetsController.java
@@ -19,6 +19,7 @@ package android.view;
import static android.view.InsetsState.ITYPE_IME;
import static android.view.InsetsState.toPublicType;
import static android.view.WindowInsets.Type.all;
+import static android.view.WindowInsets.Type.ime;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_APPEARANCE_CONTROLLED;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_BEHAVIOR_CONTROLLED;
@@ -31,12 +32,14 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.graphics.Insets;
import android.graphics.Rect;
+import android.os.Handler;
import android.os.RemoteException;
import android.util.ArraySet;
import android.util.Log;
import android.util.Pair;
import android.util.Property;
import android.util.SparseArray;
+import android.view.InputDevice.MotionRange;
import android.view.InsetsSourceConsumer.ShowResult;
import android.view.InsetsState.InternalInsetsType;
import android.view.SurfaceControl.Transaction;
@@ -55,6 +58,7 @@ import java.io.PrintWriter;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
+import java.util.function.BiFunction;
/**
* Implements {@link WindowInsetsController} on the client.
@@ -64,8 +68,9 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
private static final int ANIMATION_DURATION_SHOW_MS = 275;
private static final int ANIMATION_DURATION_HIDE_MS = 340;
+ private static final int PENDING_CONTROL_TIMEOUT_MS = 2000;
- static final Interpolator INTERPOLATOR = new PathInterpolator(0.4f, 0f, 0.2f, 1f);
+ public static final Interpolator INTERPOLATOR = new PathInterpolator(0.4f, 0f, 0.2f, 1f);
/**
* Layout mode during insets animation: The views should be laid out as if the changing inset
@@ -73,7 +78,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
* be called as if the changing insets types are shown, which will result in the views being
* laid out as if the insets are fully shown.
*/
- static final int LAYOUT_INSETS_DURING_ANIMATION_SHOWN = 0;
+ public static final int LAYOUT_INSETS_DURING_ANIMATION_SHOWN = 0;
/**
* Layout mode during insets animation: The views should be laid out as if the changing inset
@@ -81,7 +86,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
* be called as if the changing insets types are hidden, which will result in the views being
* laid out as if the insets are fully hidden.
*/
- static final int LAYOUT_INSETS_DURING_ANIMATION_HIDDEN = 1;
+ public static final int LAYOUT_INSETS_DURING_ANIMATION_HIDDEN = 1;
/**
* Determines the behavior of how the views should be laid out during an insets animation that
@@ -144,7 +149,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
@Override
public void set(WindowInsetsAnimationController controller, Insets value) {
controller.setInsetsAndAlpha(
- value, 1f /* alpha */, (((DefaultAnimationControlListener)
+ value, 1f /* alpha */, (((InternalAnimationControlListener)
((InsetsAnimationControlImpl) controller).getListener())
.getRawFraction()));
}
@@ -161,7 +166,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
private ObjectAnimator mAnimator;
protected boolean mShow;
- InternalAnimationControlListener(boolean show) {
+ public InternalAnimationControlListener(boolean show) {
mShow = show;
}
@@ -209,7 +214,10 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
return (float) mAnimator.getCurrentPlayTime() / mAnimator.getDuration();
}
- protected long getDurationMs() {
+ /**
+ * To get the animation duration in MS.
+ */
+ public long getDurationMs() {
if (mAnimator != null) {
return mAnimator.getDuration();
}
@@ -235,21 +243,47 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
DefaultAnimationControlListener(boolean show) {
super(show);
}
-
+
@Override
protected void setStartingAnimation(boolean startingAnimation) {
mStartingAnimation = startingAnimation;
}
}
+ /**
+ * Represents a control request that we had to defer because we are waiting for the IME to
+ * process our show request.
+ */
+ private static class PendingControlRequest {
+
+ PendingControlRequest(@InsetsType int types, WindowInsetsAnimationControlListener listener,
+ long durationMs, Interpolator interpolator, @AnimationType int animationType,
+ @LayoutInsetsDuringAnimation int layoutInsetsDuringAnimation) {
+ this.types = types;
+ this.listener = listener;
+ this.durationMs = durationMs;
+ this.interpolator = interpolator;
+ this.animationType = animationType;
+ this.layoutInsetsDuringAnimation = layoutInsetsDuringAnimation;
+ }
+
+ final @InsetsType int types;
+ final WindowInsetsAnimationControlListener listener;
+ final long durationMs;
+ final Interpolator interpolator;
+ final @AnimationType int animationType;
+ final @LayoutInsetsDuringAnimation int layoutInsetsDuringAnimation;
+ }
private final String TAG = "InsetsControllerImpl";
private final InsetsState mState = new InsetsState();
- private final InsetsState mTmpState = new InsetsState();
+ private final InsetsState mLastDispachedState = new InsetsState();
private final Rect mFrame = new Rect();
+ private final BiFunction<InsetsController, Integer, InsetsSourceConsumer> mConsumerCreator;
private final SparseArray<InsetsSourceConsumer> mSourceConsumers = new SparseArray<>();
private final ViewRootImpl mViewRoot;
+ private final Handler mHandler;
private final SparseArray<InsetsSourceControl> mTmpControlArray = new SparseArray<>();
private final ArrayList<RunningAnimation> mRunningAnimations = new ArrayList<>();
@@ -263,7 +297,8 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
private final Rect mLastLegacyContentInsets = new Rect();
private final Rect mLastLegacyStableInsets = new Rect();
- private int mPendingTypesToShow;
+ /** Pending control request that is waiting on IME to be ready to be shown */
+ private PendingControlRequest mPendingImeControlRequest;
private int mLastLegacySoftInputMode;
private int mLastLegacySystemUiFlags;
@@ -271,8 +306,26 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
private SyncRtSurfaceTransactionApplier mApplier;
+ private Runnable mPendingControlTimeout = this::abortPendingImeControlRequest;
+
public InsetsController(ViewRootImpl viewRoot) {
+ this(viewRoot, (controller, type) -> {
+ if (type == ITYPE_IME) {
+ return new ImeInsetsSourceConsumer(controller.mState, Transaction::new, controller);
+ } else {
+ return new InsetsSourceConsumer(type, controller.mState, Transaction::new,
+ controller);
+ }
+ }, viewRoot.mHandler);
+ }
+
+ @VisibleForTesting
+ public InsetsController(ViewRootImpl viewRoot,
+ BiFunction<InsetsController, Integer, InsetsSourceConsumer> consumerCreator,
+ Handler handler) {
mViewRoot = viewRoot;
+ mConsumerCreator = consumerCreator;
+ mHandler = handler;
mAnimCallback = () -> {
mAnimCallbackScheduled = false;
if (mRunningAnimations.isEmpty()) {
@@ -318,15 +371,20 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
return mState;
}
- boolean onStateChanged(InsetsState state) {
- if (mState.equals(state)) {
+ public InsetsState getLastDispatchedState() {
+ return mLastDispachedState;
+ }
+
+ @VisibleForTesting
+ public boolean onStateChanged(InsetsState state) {
+ if (mState.equals(state) && mLastDispachedState.equals(state)) {
return false;
}
mState.set(state);
- mTmpState.set(state, true /* copySources */);
+ mLastDispachedState.set(state, true /* copySources */);
applyLocalVisibilityOverride();
mViewRoot.notifyInsetsChanged();
- if (!mState.equals(mTmpState)) {
+ if (!mState.equals(mLastDispachedState)) {
sendStateToWindowManager();
}
return true;
@@ -370,6 +428,9 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
}
}
+ int[] showTypes = new int[1];
+ int[] hideTypes = new int[1];
+
// Ensure to update all existing source consumers
for (int i = mSourceConsumers.size() - 1; i >= 0; i--) {
final InsetsSourceConsumer consumer = mSourceConsumers.valueAt(i);
@@ -377,15 +438,23 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
// control may be null, but we still need to update the control to null if it got
// revoked.
- consumer.setControl(control);
+ consumer.setControl(control, showTypes, hideTypes);
}
// Ensure to create source consumers if not available yet.
for (int i = mTmpControlArray.size() - 1; i >= 0; i--) {
final InsetsSourceControl control = mTmpControlArray.valueAt(i);
- getSourceConsumer(control.getType()).setControl(control);
+ InsetsSourceConsumer consumer = getSourceConsumer(control.getType());
+ consumer.setControl(control, showTypes, hideTypes);
+
}
mTmpControlArray.clear();
+ if (showTypes[0] != 0) {
+ applyAnimation(showTypes[0], true /* show */, false /* fromIme */);
+ }
+ if (hideTypes[0] != 0) {
+ applyAnimation(hideTypes[0], false /* show */, false /* fromIme */);
+ }
}
@Override
@@ -393,7 +462,21 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
show(types, false /* fromIme */);
}
- void show(@InsetsType int types, boolean fromIme) {
+ @VisibleForTesting
+ public void show(@InsetsType int types, boolean fromIme) {
+
+ // Handle pending request ready in case there was one set.
+ if (fromIme && mPendingImeControlRequest != null) {
+ PendingControlRequest pendingRequest = mPendingImeControlRequest;
+ mPendingImeControlRequest = null;
+ mHandler.removeCallbacks(mPendingControlTimeout);
+ controlAnimationUnchecked(pendingRequest.types, pendingRequest.listener, mFrame,
+ true /* fromIme */, pendingRequest.durationMs, pendingRequest.interpolator,
+ false /* fade */, pendingRequest.animationType,
+ pendingRequest.layoutInsetsDuringAnimation);
+ return;
+ }
+
// TODO: Support a ResultReceiver for IME.
// TODO(b/123718661): Make show() work for multi-session IME.
int typesReady = 0;
@@ -402,7 +485,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
@InternalInsetsType int internalType = internalTypes.valueAt(i);
@AnimationType int animationType = getAnimationType(internalType);
InsetsSourceConsumer consumer = getSourceConsumer(internalType);
- if (mState.getSource(internalType).isVisible() && animationType == ANIMATION_TYPE_NONE
+ if (consumer.isRequestedVisible() && animationType == ANIMATION_TYPE_NONE
|| animationType == ANIMATION_TYPE_SHOW) {
// no-op: already shown or animating in (because window visibility is
// applied before starting animation).
@@ -425,7 +508,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
@InternalInsetsType int internalType = internalTypes.valueAt(i);
@AnimationType int animationType = getAnimationType(internalType);
InsetsSourceConsumer consumer = getSourceConsumer(internalType);
- if (!mState.getSource(internalType).isVisible() && animationType == ANIMATION_TYPE_NONE
+ if (!consumer.isRequestedVisible() && animationType == ANIMATION_TYPE_NONE
|| animationType == ANIMATION_TYPE_HIDE) {
// no-op: already hidden or animating out.
continue;
@@ -463,6 +546,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
@LayoutInsetsDuringAnimation int layoutInsetsDuringAnimation) {
if (types == 0) {
// nothing to animate.
+ listener.onCancelled();
return;
}
cancelExistingControllers(types);
@@ -471,19 +555,18 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
final SparseArray<InsetsSourceControl> controls = new SparseArray<>();
Pair<Integer, Boolean> typesReadyPair = collectSourceControls(
- fromIme, internalTypes, controls, listener);
+ fromIme, internalTypes, controls, animationType);
int typesReady = typesReadyPair.first;
- boolean isReady = typesReadyPair.second;
- if (!isReady) {
- // IME isn't ready, all requested types would be shown once IME is ready.
- mPendingTypesToShow = typesReady;
- // TODO: listener for pending types.
+ boolean imeReady = typesReadyPair.second;
+ if (!imeReady) {
+ // IME isn't ready, all requested types will be animated once IME is ready
+ abortPendingImeControlRequest();
+ mPendingImeControlRequest = new PendingControlRequest(types, listener, durationMs,
+ interpolator, animationType, layoutInsetsDuringAnimation);
+ mHandler.postDelayed(mPendingControlTimeout, PENDING_CONTROL_TIMEOUT_MS);
return;
}
- // pending types from previous request.
- typesReady = collectPendingTypes(typesReady);
-
if (typesReady == 0) {
listener.onCancelled();
return;
@@ -496,32 +579,30 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
}
/**
- * @return Pair of (types ready to animate, is ready to animate).
+ * @return Pair of (types ready to animate, IME ready to animate).
*/
private Pair<Integer, Boolean> collectSourceControls(boolean fromIme,
ArraySet<Integer> internalTypes, SparseArray<InsetsSourceControl> controls,
- WindowInsetsAnimationControlListener listener) {
+ @AnimationType int animationType) {
int typesReady = 0;
- boolean isReady = true;
+ boolean imeReady = true;
for (int i = internalTypes.size() - 1; i >= 0; i--) {
InsetsSourceConsumer consumer = getSourceConsumer(internalTypes.valueAt(i));
- boolean setVisible = !consumer.isRequestedVisible();
- if (setVisible) {
+ boolean show = animationType == ANIMATION_TYPE_SHOW
+ || animationType == ANIMATION_TYPE_USER;
+ boolean canRun = false;
+ if (show) {
// Show request
switch(consumer.requestShow(fromIme)) {
case ShowResult.SHOW_IMMEDIATELY:
- typesReady |= InsetsState.toPublicType(consumer.getType());
+ canRun = true;
break;
- case ShowResult.SHOW_DELAYED:
- isReady = false;
+ case ShowResult.IME_SHOW_DELAYED:
+ imeReady = false;
break;
- case ShowResult.SHOW_FAILED:
+ case ShowResult.IME_SHOW_FAILED:
// IME cannot be shown (since it didn't have focus), proceed
// with animation of other types.
- if (mPendingTypesToShow != 0) {
- // remove IME from pending because view no longer has focus.
- mPendingTypesToShow &= ~InsetsState.toPublicType(ITYPE_IME);
- }
break;
}
} else {
@@ -531,20 +612,25 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
if (!fromIme) {
consumer.notifyHidden();
}
- typesReady |= InsetsState.toPublicType(consumer.getType());
+ canRun = true;
+ }
+ if (!canRun) {
+ continue;
}
final InsetsSourceControl control = consumer.getControl();
if (control != null) {
controls.put(consumer.getType(), control);
+ typesReady |= toPublicType(consumer.getType());
+ } else if (animationType == ANIMATION_TYPE_SHOW) {
+
+ // We don't have a control at the moment. However, we still want to update requested
+ // visibility state such that in case we get control, we can apply show animation.
+ consumer.show(fromIme);
+ } else if (animationType == ANIMATION_TYPE_HIDE) {
+ consumer.hide();
}
}
- return new Pair<>(typesReady, isReady);
- }
-
- private int collectPendingTypes(@InsetsType int typesReady) {
- typesReady |= mPendingTypesToShow;
- mPendingTypesToShow = 0;
- return typesReady;
+ return new Pair<>(typesReady, imeReady);
}
private @LayoutInsetsDuringAnimation int getLayoutInsetsDuringAnimationMode(
@@ -577,6 +663,17 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
cancelAnimation(control, true /* invokeCallback */);
}
}
+ if ((types & ime()) != 0) {
+ abortPendingImeControlRequest();
+ }
+ }
+
+ private void abortPendingImeControlRequest() {
+ if (mPendingImeControlRequest != null) {
+ mPendingImeControlRequest.listener.onCancelled();
+ mPendingImeControlRequest = null;
+ mHandler.removeCallbacks(mPendingControlTimeout);
+ }
}
@VisibleForTesting
@@ -608,6 +705,9 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
cancelAnimation(control, true /* invokeCallback */);
}
}
+ if (consumer.getType() == ITYPE_IME) {
+ abortPendingImeControlRequest();
+ }
}
private void cancelAnimation(InsetsAnimationControlImpl control, boolean invokeCallback) {
@@ -635,7 +735,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
if (controller != null) {
return controller;
}
- controller = createConsumerOfType(type);
+ controller = mConsumerCreator.apply(this, type);
mSourceConsumers.put(type, controller);
return controller;
}
@@ -696,14 +796,6 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
return ANIMATION_TYPE_NONE;
}
- private InsetsSourceConsumer createConsumerOfType(int type) {
- if (type == ITYPE_IME) {
- return new ImeInsetsSourceConsumer(mState, Transaction::new, this);
- } else {
- return new InsetsSourceConsumer(type, mState, Transaction::new, this);
- }
- }
-
/**
* Sends the local visibility state back to window manager.
*/
@@ -750,7 +842,7 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
private void showDirectly(@InsetsType int types) {
final ArraySet<Integer> internalTypes = InsetsState.toInternalType(types);
for (int i = internalTypes.size() - 1; i >= 0; i--) {
- getSourceConsumer(internalTypes.valueAt(i)).show();
+ getSourceConsumer(internalTypes.valueAt(i)).show(false /* fromIme */);
}
}
@@ -782,6 +874,9 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
@Override
public boolean onPreDraw() {
mViewRoot.mView.getViewTreeObserver().removeOnPreDrawListener(this);
+ if (controller.isCancelled()) {
+ return true;
+ }
mViewRoot.mView.dispatchWindowInsetsAnimationStart(animation, bounds);
listener.onReady(controller, types);
return true;
diff --git a/core/java/android/view/InsetsSource.java b/core/java/android/view/InsetsSource.java
index 67ccfd6707f4..d4961eab7473 100644
--- a/core/java/android/view/InsetsSource.java
+++ b/core/java/android/view/InsetsSource.java
@@ -16,6 +16,8 @@
package android.view;
+import static android.view.InsetsState.ITYPE_IME;
+
import android.annotation.Nullable;
import android.graphics.Insets;
import android.graphics.Rect;
@@ -51,6 +53,9 @@ public class InsetsSource implements Parcelable {
mType = other.mType;
mFrame = new Rect(other.mFrame);
mVisible = other.mVisible;
+ mVisibleFrame = other.mVisibleFrame != null
+ ? new Rect(other.mVisibleFrame)
+ : null;
}
public void setFrame(Rect frame) {
@@ -109,6 +114,12 @@ public class InsetsSource implements Parcelable {
return Insets.NONE;
}
+ // TODO: Currently, non-floating IME always intersects at bottom due to issues with cutout.
+ // However, we should let the policy decide from the server.
+ if (getType() == ITYPE_IME) {
+ return Insets.of(0, 0, 0, mTmpFrame.height());
+ }
+
// Intersecting at top/bottom
if (mTmpFrame.width() == relativeFrame.width()) {
if (mTmpFrame.top == relativeFrame.top) {
@@ -157,6 +168,7 @@ public class InsetsSource implements Parcelable {
public int hashCode() {
int result = mType;
result = 31 * result + mFrame.hashCode();
+ result = 31 * result + (mVisibleFrame != null ? mVisibleFrame.hashCode() : 0);
result = 31 * result + (mVisible ? 1 : 0);
return result;
}
@@ -181,6 +193,15 @@ public class InsetsSource implements Parcelable {
dest.writeBoolean(mVisible);
}
+ @Override
+ public String toString() {
+ return "InsetsSource: {"
+ + "mType=" + InsetsState.typeToString(mType)
+ + ", mFrame=" + mFrame.toShortString()
+ + ", mVisible" + mVisible
+ + "}";
+ }
+
public static final @android.annotation.NonNull Creator<InsetsSource> CREATOR = new Creator<InsetsSource>() {
public InsetsSource createFromParcel(Parcel in) {
diff --git a/core/java/android/view/InsetsSourceConsumer.java b/core/java/android/view/InsetsSourceConsumer.java
index 35a82b8bfd54..e6497c00c8dd 100644
--- a/core/java/android/view/InsetsSourceConsumer.java
+++ b/core/java/android/view/InsetsSourceConsumer.java
@@ -17,11 +17,14 @@
package android.view;
import static android.view.InsetsController.ANIMATION_TYPE_NONE;
+import static android.view.InsetsState.toPublicType;
import android.annotation.IntDef;
import android.annotation.Nullable;
+import android.util.MutableShort;
import android.view.InsetsState.InternalInsetsType;
import android.view.SurfaceControl.Transaction;
+import android.view.WindowInsets.Type.InsetsType;
import com.android.internal.annotations.VisibleForTesting;
@@ -36,7 +39,7 @@ import java.util.function.Supplier;
public class InsetsSourceConsumer {
@Retention(RetentionPolicy.SOURCE)
- @IntDef(value = {ShowResult.SHOW_IMMEDIATELY, ShowResult.SHOW_DELAYED, ShowResult.SHOW_FAILED})
+ @IntDef(value = {ShowResult.SHOW_IMMEDIATELY, ShowResult.IME_SHOW_DELAYED, ShowResult.IME_SHOW_FAILED})
@interface ShowResult {
/**
* Window type is ready to be shown, will be shown immidiately.
@@ -46,12 +49,12 @@ public class InsetsSourceConsumer {
* Result will be delayed. Window needs to be prepared or request is not from controller.
* Request will be delegated to controller and may or may not be shown.
*/
- int SHOW_DELAYED = 1;
+ int IME_SHOW_DELAYED = 1;
/**
* Window will not be shown because one of the conditions couldn't be met.
* (e.g. in IME's case, when no editor is focused.)
*/
- int SHOW_FAILED = 2;
+ int IME_SHOW_FAILED = 2;
}
protected final InsetsController mController;
@@ -71,18 +74,48 @@ public class InsetsSourceConsumer {
mRequestedVisible = InsetsState.getDefaultVisibility(type);
}
- public void setControl(@Nullable InsetsSourceControl control) {
+ /**
+ * Updates the control delivered from the server.
+
+ * @param showTypes An integer array with a single entry that determines which types a show
+ * animation should be run after setting the control.
+ * @param hideTypes An integer array with a single entry that determines which types a hide
+ * animation should be run after setting the control.
+ */
+ public void setControl(@Nullable InsetsSourceControl control,
+ @InsetsType int[] showTypes, @InsetsType int[] hideTypes) {
if (mSourceControl == control) {
return;
}
mSourceControl = control;
- applyHiddenToControl();
- if (applyLocalVisibilityOverride()) {
- mController.notifyVisibilityChanged();
- }
+
+ // We are loosing control
if (mSourceControl == null) {
mController.notifyControlRevoked(this);
+
+ // Restore server visibility.
+ mState.getSource(getType()).setVisible(
+ mController.getLastDispatchedState().getSource(getType()).isVisible());
+ applyLocalVisibilityOverride();
+ return;
+ }
+
+ // We are gaining control, and need to run an animation since previous state didn't match
+ if (mRequestedVisible != mState.getSource(mType).isVisible()) {
+ if (mRequestedVisible) {
+ showTypes[0] |= toPublicType(getType());
+ } else {
+ hideTypes[0] |= toPublicType(getType());
+ }
+ return;
+ }
+
+ // We are gaining control, but don't need to run an animation. However make sure that the
+ // leash visibility is still up to date.
+ if (applyLocalVisibilityOverride()) {
+ mController.notifyVisibilityChanged();
}
+ applyHiddenToControl();
}
@VisibleForTesting
@@ -95,7 +128,7 @@ public class InsetsSourceConsumer {
}
@VisibleForTesting
- public void show() {
+ public void show(boolean fromIme) {
setRequestedVisible(true);
}
@@ -155,7 +188,8 @@ public class InsetsSourceConsumer {
* {@link android.inputmethodservice.InputMethodService}).
* @return @see {@link ShowResult}.
*/
- @ShowResult int requestShow(boolean fromController) {
+ @VisibleForTesting
+ public @ShowResult int requestShow(boolean fromController) {
return ShowResult.SHOW_IMMEDIATELY;
}
@@ -171,17 +205,14 @@ public class InsetsSourceConsumer {
* the moment.
*/
private void setRequestedVisible(boolean requestedVisible) {
- if (mRequestedVisible == requestedVisible) {
- return;
- }
mRequestedVisible = requestedVisible;
- applyLocalVisibilityOverride();
- mController.notifyVisibilityChanged();
+ if (applyLocalVisibilityOverride()) {
+ mController.notifyVisibilityChanged();
+ }
}
private void applyHiddenToControl() {
- if (mSourceControl == null || mSourceControl.getLeash() == null
- || mController.getAnimationType(mType) != ANIMATION_TYPE_NONE) {
+ if (mSourceControl == null || mSourceControl.getLeash() == null) {
return;
}
diff --git a/core/java/android/view/InsetsState.java b/core/java/android/view/InsetsState.java
index bd19799bb664..8648682aaa2e 100644
--- a/core/java/android/view/InsetsState.java
+++ b/core/java/android/view/InsetsState.java
@@ -21,7 +21,6 @@ import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_IME;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_NONE;
import static android.view.ViewRootImpl.sNewInsetsMode;
-import static android.view.WindowInsets.Type.IME;
import static android.view.WindowInsets.Type.MANDATORY_SYSTEM_GESTURES;
import static android.view.WindowInsets.Type.SIZE;
import static android.view.WindowInsets.Type.SYSTEM_GESTURES;
@@ -43,7 +42,6 @@ import android.util.ArraySet;
import android.util.SparseIntArray;
import android.view.WindowInsets.Type;
import android.view.WindowInsets.Type.InsetsType;
-import android.view.WindowManager.LayoutParams;
import android.view.WindowManager.LayoutParams.SoftInputModeFlags;
import java.io.PrintWriter;
@@ -366,7 +364,12 @@ public class InsetsState implements Parcelable {
return result;
}
- static @Type.InsetsType int toPublicType(@InternalInsetsType int type) {
+ /**
+ * Converting a internal type to the public type.
+ * @param type internal insets type, {@code InternalInsetsType}.
+ * @return public insets type, {@code Type.InsetsType}.
+ */
+ public static @Type.InsetsType int toPublicType(@InternalInsetsType int type) {
switch (type) {
case ITYPE_STATUS_BAR:
return Type.STATUS_BARS;
@@ -510,5 +513,13 @@ public class InsetsState implements Parcelable {
mSources.put(source.getType(), source);
}
}
+
+ @Override
+ public String toString() {
+ return "InsetsState: {"
+ + "mDisplayFrame=" + mDisplayFrame
+ + ", mSources=" + mSources
+ + "}";
+ }
}
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index bee05a9a57d0..fe9e36e53cd8 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -152,7 +152,8 @@ public final class SurfaceControl implements Parcelable {
int L, int T, int R, int B);
private static native void nativeSetDisplaySize(long transactionObj, IBinder displayToken,
int width, int height);
- private static native SurfaceControl.PhysicalDisplayInfo[] nativeGetDisplayConfigs(
+ private static native SurfaceControl.DisplayInfo nativeGetDisplayInfo(IBinder displayToken);
+ private static native SurfaceControl.DisplayConfig[] nativeGetDisplayConfigs(
IBinder displayToken);
private static native DisplayedContentSamplingAttributes
nativeGetDisplayedContentSamplingAttributes(IBinder displayToken);
@@ -1278,140 +1279,45 @@ public final class SurfaceControl implements Parcelable {
Integer.toHexString(System.identityHashCode(this));
}
- /*
- * set display parameters.
- * needs to be inside open/closeTransaction block
+ /**
+ * Immutable information about physical display.
+ *
+ * @hide
*/
+ public static final class DisplayInfo {
+ public float density;
+ public boolean secure;
+
+ @Override
+ public String toString() {
+ return "DisplayInfo{density=" + density + ", secure=" + secure + "}";
+ }
+ }
/**
- * Describes the properties of a physical display known to surface flinger.
+ * Configuration supported by physical display.
+ *
* @hide
*/
- public static final class PhysicalDisplayInfo {
- /**
- * @hide
- */
- @UnsupportedAppUsage
+ public static final class DisplayConfig {
public int width;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
public int height;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
- public float refreshRate;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
- public float density;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
public float xDpi;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
public float yDpi;
- /**
- * @hide
- */
- @UnsupportedAppUsage
- public boolean secure;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
+ public float refreshRate;
public long appVsyncOffsetNanos;
-
- /**
- * @hide
- */
- @UnsupportedAppUsage
public long presentationDeadlineNanos;
- /**
- * @hide
- */
- @UnsupportedAppUsage
- public PhysicalDisplayInfo() {
- }
-
- /**
- * @hide
- */
- public PhysicalDisplayInfo(PhysicalDisplayInfo other) {
- copyFrom(other);
- }
-
- /**
- * @hide
- */
- @Override
- public boolean equals(Object o) {
- return o instanceof PhysicalDisplayInfo && equals((PhysicalDisplayInfo)o);
- }
-
- /**
- * @hide
- */
- public boolean equals(PhysicalDisplayInfo other) {
- return other != null
- && width == other.width
- && height == other.height
- && refreshRate == other.refreshRate
- && density == other.density
- && xDpi == other.xDpi
- && yDpi == other.yDpi
- && secure == other.secure
- && appVsyncOffsetNanos == other.appVsyncOffsetNanos
- && presentationDeadlineNanos == other.presentationDeadlineNanos;
- }
-
- /**
- * @hide
- */
- @Override
- public int hashCode() {
- return 0; // don't care
- }
-
- /**
- * @hide
- */
- public void copyFrom(PhysicalDisplayInfo other) {
- width = other.width;
- height = other.height;
- refreshRate = other.refreshRate;
- density = other.density;
- xDpi = other.xDpi;
- yDpi = other.yDpi;
- secure = other.secure;
- appVsyncOffsetNanos = other.appVsyncOffsetNanos;
- presentationDeadlineNanos = other.presentationDeadlineNanos;
- }
-
- /**
- * @hide
- */
@Override
public String toString() {
- return "PhysicalDisplayInfo{" + width + " x " + height + ", " + refreshRate + " fps, "
- + "density " + density + ", " + xDpi + " x " + yDpi + " dpi, secure " + secure
- + ", appVsyncOffset " + appVsyncOffsetNanos
- + ", bufferDeadline " + presentationDeadlineNanos + "}";
+ return "DisplayConfig{width=" + width
+ + ", height=" + height
+ + ", xDpi=" + xDpi
+ + ", yDpi=" + yDpi
+ + ", refreshRate=" + refreshRate
+ + ", appVsyncOffsetNanos=" + appVsyncOffsetNanos
+ + ", presentationDeadlineNanos=" + presentationDeadlineNanos + "}";
}
}
@@ -1428,8 +1334,17 @@ public final class SurfaceControl implements Parcelable {
/**
* @hide
*/
- @UnsupportedAppUsage
- public static SurfaceControl.PhysicalDisplayInfo[] getDisplayConfigs(IBinder displayToken) {
+ public static SurfaceControl.DisplayInfo getDisplayInfo(IBinder displayToken) {
+ if (displayToken == null) {
+ throw new IllegalArgumentException("displayToken must not be null");
+ }
+ return nativeGetDisplayInfo(displayToken);
+ }
+
+ /**
+ * @hide
+ */
+ public static SurfaceControl.DisplayConfig[] getDisplayConfigs(IBinder displayToken) {
if (displayToken == null) {
throw new IllegalArgumentException("displayToken must not be null");
}
@@ -1825,7 +1740,7 @@ public final class SurfaceControl implements Parcelable {
}
/**
- * TODO(116025192): Remove this stopgap once framework is display-agnostic.
+ * TODO(b/116025192): Remove this stopgap once framework is display-agnostic.
*
* @hide
*/
diff --git a/core/java/android/view/SurfaceControlViewHost.java b/core/java/android/view/SurfaceControlViewHost.java
index 71cf051a4e08..bf848196454d 100644
--- a/core/java/android/view/SurfaceControlViewHost.java
+++ b/core/java/android/view/SurfaceControlViewHost.java
@@ -138,6 +138,7 @@ public class SurfaceControlViewHost {
/**
* @hide
*/
+ @TestApi
public void addView(@NonNull View view, WindowManager.LayoutParams attrs) {
mViewRoot.setView(view, attrs, null);
}
@@ -161,6 +162,7 @@ public class SurfaceControlViewHost {
/**
* @hide
*/
+ @TestApi
public void relayout(WindowManager.LayoutParams attrs) {
mViewRoot.setLayoutParams(attrs, false);
mViewRoot.setReportNextDraw();
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index c5f4faf2f462..a407bd8f001e 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -17,17 +17,14 @@
package android.view;
import static android.content.res.Resources.ID_NULL;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP;
-import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
-import static android.view.WindowInsets.Type.ime;
-import static android.view.WindowInsets.Type.systemBars;
-import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
-import static android.view.WindowManager.LayoutParams.SOFT_INPUT_MASK_ADJUST;
import static android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP;
+import static com.android.internal.util.FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION;
+
import static java.lang.Math.max;
import android.animation.AnimatorInflater;
@@ -106,7 +103,6 @@ import android.util.Property;
import android.util.SparseArray;
import android.util.SparseIntArray;
import android.util.StateSet;
-import android.util.StatsLog;
import android.util.SuperNotCalledException;
import android.util.TypedValue;
import android.view.AccessibilityIterators.CharacterTextSegmentIterator;
@@ -146,7 +142,7 @@ import android.widget.FrameLayout;
import android.widget.ScrollBarDrawable;
import com.android.internal.R;
-import com.android.internal.policy.DecorView;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.view.TooltipPopup;
import com.android.internal.view.menu.MenuBuilder;
import com.android.internal.widget.ScrollBarUtils;
@@ -3659,8 +3655,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*
* @deprecated For floating windows, use {@link LayoutParams#setFitInsetsTypes(int)} with
* {@link Type#navigationBars()}. For non-floating windows that fill the screen, call
- * {@link Window#setOnContentApplyWindowInsetsListener} with {@code null} or a listener that
- * doesn't fit the navigation bar on the window content level.
+ * {@link Window#setDecorFitsSystemWindows(boolean)} with {@code false}.
*/
public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 0x00000200;
@@ -3688,8 +3683,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
*
* @deprecated For floating windows, use {@link LayoutParams#setFitInsetsTypes(int)} with
* {@link Type#statusBars()} ()}. For non-floating windows that fill the screen, call
- * {@link Window#setOnContentApplyWindowInsetsListener} with {@code null} or a listener that
- * doesn't fit the status bar on the window content level.
+ * {@link Window#setDecorFitsSystemWindows(boolean)} with {@code false}.
*/
@Deprecated
public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 0x00000400;
@@ -4678,7 +4672,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
private ArrayList<OnUnhandledKeyEventListener> mUnhandledKeyListeners;
- private WindowInsetsAnimationCallback mWindowInsetsAnimationCallback;
+ WindowInsetsAnimationCallback mWindowInsetsAnimationCallback;
/**
* This lives here since it's only valid for interactive views.
@@ -4911,6 +4905,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
private int mTouchSlop;
/**
+ * Cache the ambiguous gesture multiplier from the context that created the view.
+ */
+ private float mAmbiguousGestureMultiplier;
+
+ /**
* Object that handles automatic animation of view properties.
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
@@ -5224,7 +5223,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
(TEXT_ALIGNMENT_DEFAULT << PFLAG2_TEXT_ALIGNMENT_MASK_SHIFT) |
(PFLAG2_TEXT_ALIGNMENT_RESOLVED_DEFAULT) |
(IMPORTANT_FOR_ACCESSIBILITY_DEFAULT << PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_SHIFT);
- mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
+
+ final ViewConfiguration configuration = ViewConfiguration.get(context);
+ mTouchSlop = configuration.getScaledTouchSlop();
+ mAmbiguousGestureMultiplier = configuration.getScaledAmbiguousGestureMultiplier();
+
setOverScrollMode(OVER_SCROLL_IF_CONTENT_SCROLLS);
mUserPaddingStart = UNDEFINED_PADDING;
mUserPaddingEnd = UNDEFINED_PADDING;
@@ -11533,7 +11536,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
- * @see #PFLAG4_OPTIONAL_FITS_SYSTEM_WINDOWS
+ * @see #PFLAG4_FRAMEWORK_OPTIONAL_FITS_SYSTEM_WINDOWS
* @hide
*/
public void makeFrameworkOptionalFitsSystemWindows() {
@@ -11541,6 +11544,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
+ * @hide
+ */
+ public boolean isFrameworkOptionalFitsSystemWindows() {
+ return (mPrivateFlags4 & PFLAG4_FRAMEWORK_OPTIONAL_FITS_SYSTEM_WINDOWS) != 0;
+ }
+
+ /**
* Returns the visibility status for this view.
*
* @return One of {@link #VISIBLE}, {@link #INVISIBLE}, or {@link #GONE}.
@@ -14460,7 +14470,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* @hide
*/
public boolean hasImeFocus() {
- return mAttachInfo != null && mAttachInfo.mHasImeFocus;
+ return getViewRootImpl() != null && getViewRootImpl().getImeFocusController().hasImeFocus();
}
/**
@@ -15642,15 +15652,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
motionClassification == MotionEvent.CLASSIFICATION_AMBIGUOUS_GESTURE;
int touchSlop = mTouchSlop;
if (ambiguousGesture && hasPendingLongPressCallback()) {
- final float ambiguousMultiplier =
- ViewConfiguration.getAmbiguousGestureMultiplier();
if (!pointInView(x, y, touchSlop)) {
// The default action here is to cancel long press. But instead, we
// just extend the timeout here, in case the classification
// stays ambiguous.
removeLongPressCallback();
long delay = (long) (ViewConfiguration.getLongPressTimeout()
- * ambiguousMultiplier);
+ * mAmbiguousGestureMultiplier);
// Subtract the time already spent
delay -= event.getEventTime() - event.getDownTime();
checkForLongClick(
@@ -15659,7 +15667,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
y,
TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS);
}
- touchSlop *= ambiguousMultiplier;
+ touchSlop *= mAmbiguousGestureMultiplier;
}
// Be lenient about moving outside of buttons
@@ -21856,7 +21864,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
if (!concatMatrix &&
(parentFlags & (ViewGroup.FLAG_SUPPORT_STATIC_TRANSFORMATIONS |
ViewGroup.FLAG_CLIP_CHILDREN)) == ViewGroup.FLAG_CLIP_CHILDREN &&
- canvas.quickReject(mLeft, mTop, mRight, mBottom, Canvas.EdgeType.BW) &&
+ canvas.quickReject(mLeft, mTop, mRight, mBottom) &&
(mPrivateFlags & PFLAG_DRAW_ANIMATION) == 0) {
mPrivateFlags2 |= PFLAG2_VIEW_QUICK_REJECTED;
return more;
@@ -22140,6 +22148,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* 4. Draw children
* 5. If necessary, draw the fading edges and restore layers
* 6. Draw decorations (scrollbars for instance)
+ * 7. If necessary, draw the default focus highlight
*/
// Step 1, draw the background, if needed
@@ -22346,6 +22355,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
// Step 6, draw decorations (foreground, scrollbars)
onDrawForeground(canvas);
+ // Step 7, draw the default focus highlight
+ drawDefaultFocusHighlight(canvas);
+
if (isShowingLayoutBounds()) {
debugDrawFocus(canvas);
}
@@ -23241,11 +23253,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
/**
- * Draw the default focus highlight onto the canvas.
+ * Draw the default focus highlight onto the canvas if there is one and this view is focused.
* @param canvas the canvas where we're drawing the highlight.
*/
private void drawDefaultFocusHighlight(Canvas canvas) {
- if (mDefaultFocusHighlight != null) {
+ if (mDefaultFocusHighlight != null && isFocused()) {
if (mDefaultFocusHighlightSizeChanged) {
mDefaultFocusHighlightSizeChanged = false;
final int l = mScrollX;
@@ -28048,7 +28060,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
private boolean mOriginalPressedState;
/**
* The classification of the long click being checked: one of the
- * StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__* constants.
+ * FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__* constants.
*/
private int mClassification;
@@ -28114,7 +28126,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
}
// To avoid negatively impacting View performance, the latency and displacement metrics
// are omitted.
- StatsLog.write(StatsLog.TOUCH_GESTURE_CLASSIFIED, getClass().getName(), classification);
+ FrameworkStatsLog.write(FrameworkStatsLog.TOUCH_GESTURE_CLASSIFIED, getClass().getName(),
+ classification);
}
/**
@@ -28712,11 +28725,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
boolean mHasWindowFocus;
/**
- * Indicates whether the view's window has IME focused.
- */
- boolean mHasImeFocus;
-
- /**
* The current visibility of the window.
*/
int mWindowVisibility;
diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java
index 774a2dea6311..47a79bd5484a 100644
--- a/core/java/android/view/ViewConfiguration.java
+++ b/core/java/android/view/ViewConfiguration.java
@@ -28,7 +28,9 @@ import android.os.Build;
import android.os.RemoteException;
import android.provider.Settings;
import android.util.DisplayMetrics;
+import android.util.Size;
import android.util.SparseArray;
+import android.util.TypedValue;
/**
* Contains methods to standard constants used in the UI for timeouts, sizes, and distances.
@@ -313,6 +315,7 @@ public class ViewConfiguration {
private final int mPagingTouchSlop;
private final int mDoubleTapSlop;
private final int mWindowTouchSlop;
+ private final float mAmbiguousGestureMultiplier;
private final int mMaximumDrawingCacheSize;
private final int mOverscrollDistance;
private final int mOverflingDistance;
@@ -351,6 +354,7 @@ public class ViewConfiguration {
mPagingTouchSlop = PAGING_TOUCH_SLOP;
mDoubleTapSlop = DOUBLE_TAP_SLOP;
mWindowTouchSlop = WINDOW_TOUCH_SLOP;
+ mAmbiguousGestureMultiplier = AMBIGUOUS_GESTURE_MULTIPLIER;
//noinspection deprecation
mMaximumDrawingCacheSize = MAXIMUM_DRAWING_CACHE_SIZE;
mOverscrollDistance = OVERSCROLL_DISTANCE;
@@ -397,12 +401,17 @@ public class ViewConfiguration {
mDoubleTapSlop = (int) (sizeAndDensity * DOUBLE_TAP_SLOP + 0.5f);
mWindowTouchSlop = (int) (sizeAndDensity * WINDOW_TOUCH_SLOP + 0.5f);
+ final TypedValue multiplierValue = new TypedValue();
+ res.getValue(
+ com.android.internal.R.dimen.config_ambiguousGestureMultiplier,
+ multiplierValue,
+ true /*resolveRefs*/);
+ mAmbiguousGestureMultiplier = multiplierValue.getFloat();
+
// Size of the screen in bytes, in ARGB_8888 format
- final WindowManager win = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
- final Display display = win.getDefaultDisplay();
- final Point size = new Point();
- display.getRealSize(size);
- mMaximumDrawingCacheSize = 4 * size.x * size.y;
+ final WindowManager windowManager = context.getSystemService(WindowManager.class);
+ final Size maxWindowSize = windowManager.getMaximumWindowMetrics().getSize();
+ mMaximumDrawingCacheSize = 4 * maxWindowSize.getWidth() * maxWindowSize.getHeight();
mOverscrollDistance = (int) (sizeAndDensity * OVERSCROLL_DISTANCE + 0.5f);
mOverflingDistance = (int) (sizeAndDensity * OVERFLING_DISTANCE + 0.5f);
@@ -951,22 +960,35 @@ public class ViewConfiguration {
}
/**
+ * The multiplication factor for inhibiting default gestures.
+ *
* If a MotionEvent has {@link android.view.MotionEvent#CLASSIFICATION_AMBIGUOUS_GESTURE} set,
- * then certain actions, such as scrolling, will be inhibited.
- * However, to account for the possibility of incorrect classification,
- * the default scrolling will only be inhibited if the pointer travels less than
- * (getScaledTouchSlop() * this factor).
- * Likewise, the default long press timeout will be increased by this factor for some situations
- * where the default behaviour is to cancel it.
+ * then certain actions, such as scrolling, will be inhibited. However, to account for the
+ * possibility of an incorrect classification, existing gesture thresholds (e.g. scrolling
+ * touch slop and the long-press timeout) should be scaled by this factor and remain in effect.
*
- * @return The multiplication factor for inhibiting default gestures.
+ * @deprecated Use {@link #getScaledAmbiguousGestureMultiplier()}.
*/
+ @Deprecated
@FloatRange(from = 1.0)
public static float getAmbiguousGestureMultiplier() {
return AMBIGUOUS_GESTURE_MULTIPLIER;
}
/**
+ * The multiplication factor for inhibiting default gestures.
+ *
+ * If a MotionEvent has {@link android.view.MotionEvent#CLASSIFICATION_AMBIGUOUS_GESTURE} set,
+ * then certain actions, such as scrolling, will be inhibited. However, to account for the
+ * possibility of an incorrect classification, existing gesture thresholds (e.g. scrolling
+ * touch slop and the long-press timeout) should be scaled by this factor and remain in effect.
+ */
+ @FloatRange(from = 1.0)
+ public float getScaledAmbiguousGestureMultiplier() {
+ return mAmbiguousGestureMultiplier;
+ }
+
+ /**
* Report if the device has a permanent menu key available to the user.
*
* <p>As of Android 3.0, devices may not have a permanent menu key available.
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 4f03ca152850..d416d420feda 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -7239,6 +7239,18 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
public void dispatchWindowInsetsAnimationPrepare(
@NonNull InsetsAnimation animation) {
super.dispatchWindowInsetsAnimationPrepare(animation);
+
+ // If we are root-level content view that fits insets, set dispatch mode to stop to imitate
+ // consume behavior.
+ boolean isOptionalFitSystemWindows = (mViewFlags & OPTIONAL_FITS_SYSTEM_WINDOWS) != 0
+ || isFrameworkOptionalFitsSystemWindows();
+ if (isOptionalFitSystemWindows && mAttachInfo != null
+ && getListenerInfo().mWindowInsetsAnimationCallback == null
+ && mAttachInfo.mContentOnApplyWindowInsetsListener != null) {
+ mInsetsAnimationDispatchMode = DISPATCH_MODE_STOP;
+ return;
+ }
+
if (mInsetsAnimationDispatchMode == DISPATCH_MODE_STOP) {
return;
}
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 7a93dcc9e4ec..4e3050c6b022 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -216,7 +216,7 @@ public final class ViewRootImpl implements ViewParent,
* If set to 1, this will switch to a mode where we only use the new approach for IME, but not
* for the status/navigation bar.
*/
- private static final String USE_NEW_INSETS_PROPERTY = "persist.wm.new_insets";
+ private static final String USE_NEW_INSETS_PROPERTY = "persist.debug.new_insets";
/**
* @see #USE_NEW_INSETS_PROPERTY
@@ -507,7 +507,7 @@ public final class ViewRootImpl implements ViewParent,
@UnsupportedAppUsage
public final Surface mSurface = new Surface();
private final SurfaceControl mSurfaceControl = new SurfaceControl();
- private SurfaceControl mBlastSurfaceControl;
+ private SurfaceControl mBlastSurfaceControl = new SurfaceControl();
private BLASTBufferQueue mBlastBufferQueue;
@@ -636,6 +636,7 @@ public final class ViewRootImpl implements ViewParent,
InputEventConsistencyVerifier.isInstrumentationEnabled() ?
new InputEventConsistencyVerifier(this, 0) : null;
+ private final InsetsController mInsetsController;
private final ImeFocusController mImeFocusController;
/**
@@ -646,7 +647,6 @@ public final class ViewRootImpl implements ViewParent,
return mImeFocusController;
}
- private final InsetsController mInsetsController = new InsetsController(this);
private final GestureExclusionTracker mGestureExclusionTracker = new GestureExclusionTracker();
@@ -705,6 +705,7 @@ public final class ViewRootImpl implements ViewParent,
mFallbackEventHandler = new PhoneFallbackEventHandler(context);
mChoreographer = Choreographer.getInstance();
mDisplayManager = (DisplayManager)context.getSystemService(Context.DISPLAY_SERVICE);
+ mInsetsController = new InsetsController(this);
String processorOverrideName = context.getResources().getString(
R.string.config_inputEventCompatProcessorOverrideClassName);
@@ -1691,22 +1692,18 @@ public final class ViewRootImpl implements ViewParent,
setBoundsLayerCrop();
mTransaction.show(mBoundsLayer).apply();
}
- return mBoundsLayer;
+ return mBoundsLayer;
}
Surface getOrCreateBLASTSurface(int width, int height) {
if (mSurfaceControl == null || !mSurfaceControl.isValid()) {
return null;
}
- if (mBlastSurfaceControl == null) {
- mBlastSurfaceControl = new SurfaceControl.Builder(mSurfaceSession)
- .setParent(mSurfaceControl)
- .setName("BLAST")
- .setBLASTLayer()
- .build();
+ if ((mBlastSurfaceControl != null)
+ && (mBlastBufferQueue == null)
+ && mBlastSurfaceControl.isValid()) {
mBlastBufferQueue = new BLASTBufferQueue(
mBlastSurfaceControl, width, height);
-
}
mBlastBufferQueue.update(mBlastSurfaceControl, width, height);
@@ -3148,8 +3145,7 @@ public final class ViewRootImpl implements ViewParent,
}
mAttachInfo.mHasWindowFocus = hasWindowFocus;
- mAttachInfo.mHasImeFocus = mImeFocusController.updateImeFocusable(
- mWindowAttributes, true /* force */);
+ mImeFocusController.updateImeFocusable(mWindowAttributes, true /* force */);
mImeFocusController.onPreWindowFocus(hasWindowFocus, mWindowAttributes);
if (mView != null) {
@@ -3353,7 +3349,6 @@ public final class ViewRootImpl implements ViewParent,
private void performLayout(WindowManager.LayoutParams lp, int desiredWindowWidth,
int desiredWindowHeight) {
- mLayoutRequested = false;
mScrollMayChange = true;
mInLayout = true;
@@ -3683,32 +3678,29 @@ public final class ViewRootImpl implements ViewParent,
Trace.traceBegin(Trace.TRACE_TAG_VIEW, "draw");
boolean usingAsyncReport = false;
+ boolean reportNextDraw = mReportNextDraw; // Capture the original value
if (mAttachInfo.mThreadedRenderer != null && mAttachInfo.mThreadedRenderer.isEnabled()) {
ArrayList<Runnable> commitCallbacks = mAttachInfo.mTreeObserver
.captureFrameCommitCallbacks();
- if (mReportNextDraw) {
- usingAsyncReport = true;
+ final boolean needFrameCompleteCallback = mNextDrawUseBLASTSyncTransaction ||
+ (commitCallbacks != null && commitCallbacks.size() > 0) ||
+ mReportNextDraw;
+ usingAsyncReport = mReportNextDraw;
+ if (needFrameCompleteCallback) {
final Handler handler = mAttachInfo.mHandler;
mAttachInfo.mThreadedRenderer.setFrameCompleteCallback((long frameNr) ->
handler.postAtFrontOfQueue(() -> {
finishBLASTSync();
- // TODO: Use the frame number
- pendingDrawFinished();
+ if (reportNextDraw) {
+ // TODO: Use the frame number
+ pendingDrawFinished();
+ }
if (commitCallbacks != null) {
for (int i = 0; i < commitCallbacks.size(); i++) {
commitCallbacks.get(i).run();
}
}
}));
- } else if (commitCallbacks != null && commitCallbacks.size() > 0) {
- final Handler handler = mAttachInfo.mHandler;
- mAttachInfo.mThreadedRenderer.setFrameCompleteCallback((long frameNr) ->
- handler.postAtFrontOfQueue(() -> {
- finishBLASTSync();
- for (int i = 0; i < commitCallbacks.size(); i++) {
- commitCallbacks.get(i).run();
- }
- }));
}
}
@@ -4895,8 +4887,14 @@ public final class ViewRootImpl implements ViewParent,
break;
case MSG_INSETS_CONTROL_CHANGED: {
SomeArgs args = (SomeArgs) msg.obj;
- mInsetsController.onControlsChanged((InsetsSourceControl[]) args.arg2);
+
+ // Deliver state change before control change, such that:
+ // a) When gaining control, controller can compare with server state to evaluate
+ // whether it needs to run animation.
+ // b) When loosing control, controller can restore server state by taking last
+ // dispatched state as truth.
mInsetsController.onStateChanged((InsetsState) args.arg1);
+ mInsetsController.onControlsChanged((InsetsSourceControl[]) args.arg2);
break;
}
case MSG_SHOW_INSETS: {
@@ -7344,7 +7342,8 @@ public final class ViewRootImpl implements ViewParent,
insetsPending ? WindowManagerGlobal.RELAYOUT_INSETS_PENDING : 0, frameNumber,
mTmpFrame, mPendingContentInsets, mPendingVisibleInsets,
mPendingStableInsets, mPendingBackDropFrame, mPendingDisplayCutout,
- mPendingMergedConfiguration, mSurfaceControl, mTempInsets, mSurfaceSize);
+ mPendingMergedConfiguration, mSurfaceControl, mTempInsets, mSurfaceSize,
+ mBlastSurfaceControl);
if (mSurfaceControl.isValid()) {
if (!WindowManagerGlobal.USE_BLAST_ADAPTER) {
mSurface.copyFrom(mSurfaceControl);
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 0ef4e338f81c..4b284dbf9ed4 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -697,12 +697,10 @@ public abstract class Window {
}
/**
- * Listener for applying window insets on the content of a window in a custom way.
+ * Listener for applying window insets on the content of a window. Used only by the framework to
+ * fit content according to legacy SystemUI flags.
*
- * <p>Apps may choose to implement this interface if they want to apply custom policy
- * to the way that window insets are treated for fitting root-level content views.
- *
- * @see Window#setOnContentApplyWindowInsetsListener(OnContentApplyWindowInsetsListener)
+ * @hide
*/
public interface OnContentApplyWindowInsetsListener {
@@ -716,13 +714,15 @@ public abstract class Window {
*
* @param insets The root level insets that are about to be dispatched
* @return A pair, with the first element containing the insets to apply as margin to the
- * root-level content views, and the second element determining what should be
- * dispatched to the content view.
+ * root-level content views, and the second element determining what should be
+ * dispatched to the content view.
*/
- @NonNull Pair<Insets, WindowInsets> onContentApplyWindowInsets(
+ @NonNull
+ Pair<Insets, WindowInsets> onContentApplyWindowInsets(
@NonNull WindowInsets insets);
}
+
public Window(Context context) {
mContext = context;
mFeatures = mLocalFeatures = getDefaultFeatures(context);
@@ -1311,33 +1311,21 @@ public abstract class Window {
}
/**
- * Sets the listener to be invoked when fitting root-level content views.
+ * Sets whether the decor view should fit root-level content views for {@link WindowInsets}.
* <p>
- * By default, a listener that inspects the now deprecated {@link View#SYSTEM_UI_LAYOUT_FLAGS}
- * as well the {@link WindowManager.LayoutParams#SOFT_INPUT_ADJUST_RESIZE} flag is installed and
- * fits content according to these flags.
+ * If set to {@code true}, the framework will inspect the now deprecated
+ * {@link View#SYSTEM_UI_LAYOUT_FLAGS} as well the
+ * {@link WindowManager.LayoutParams#SOFT_INPUT_ADJUST_RESIZE} flag and fits content according
+ * to these flags.
* </p>
- * @param contentOnApplyWindowInsetsListener The listener to use for fitting root-level content
- * views, or {@code null} to disable any kind of
- * content fitting on the window level and letting the
- * {@link WindowInsets} pass through to the content
- * view.
- * @see OnContentApplyWindowInsetsListener
- */
- public void setOnContentApplyWindowInsetsListener(
- @Nullable OnContentApplyWindowInsetsListener contentOnApplyWindowInsetsListener) {
- }
-
- /**
- * Resets the listener set via {@link #setOnContentApplyWindowInsetsListener} to the default
- * state.
* <p>
- * By default, a listener that inspects the now deprecated {@link View#SYSTEM_UI_LAYOUT_FLAGS}
- * as well the {@link WindowManager.LayoutParams#SOFT_INPUT_ADJUST_RESIZE} flag is installed and
- * fits content according to these flags.
+ * If set to {@code false}, the framework will not fit the content view to the insets and will
+ * just pass through the {@link WindowInsets} to the content view.
* </p>
+ * @param decorFitsSystemWindows Whether the decor view should fit root-level content views for
+ * insets.
*/
- public void resetOnContentApplyWindowInsetsListener() {
+ public void setDecorFitsSystemWindows(boolean decorFitsSystemWindows) {
}
/**
diff --git a/core/java/android/view/WindowContainerTransaction.java b/core/java/android/view/WindowContainerTransaction.java
index c55caa3213d8..33f21f211a1a 100644
--- a/core/java/android/view/WindowContainerTransaction.java
+++ b/core/java/android/view/WindowContainerTransaction.java
@@ -86,6 +86,17 @@ public class WindowContainerTransaction implements Parcelable {
return this;
}
+ /**
+ * Set the smallestScreenWidth of a container.
+ */
+ public WindowContainerTransaction setSmallestScreenWidthDp(IWindowContainer container,
+ int widthDp) {
+ Change cfg = getOrCreateChange(container.asBinder());
+ cfg.mConfiguration.smallestScreenWidthDp = widthDp;
+ cfg.mConfigSetMask |= ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
+ return this;
+ }
+
public Map<IBinder, Change> getChanges() {
return mChanges;
}
diff --git a/core/java/android/view/WindowInsetsAnimationCallback.java b/core/java/android/view/WindowInsetsAnimationCallback.java
index 1e04d02fcb80..4c8463b37df4 100644
--- a/core/java/android/view/WindowInsetsAnimationCallback.java
+++ b/core/java/android/view/WindowInsetsAnimationCallback.java
@@ -86,9 +86,9 @@ public interface WindowInsetsAnimationCallback {
* following:
* <p>
* <ul>
- * <li>Application calls {@link WindowInsetsController#hideInputMethod()},
- * {@link WindowInsetsController#showInputMethod()},
- * {@link WindowInsetsController#controlInputMethodAnimation}</li>
+ * <li>Application calls {@link WindowInsetsController#hide(int)},
+ * {@link WindowInsetsController#show(int)},
+ * {@link WindowInsetsController#controlWindowInsetsAnimation}</li>
* <li>onPrepare is called on the view hierarchy listeners</li>
* <li>{@link View#onApplyWindowInsets} will be called with the end state of the
* animation</li>
@@ -106,12 +106,12 @@ public interface WindowInsetsAnimationCallback {
* related methods.
* <p>
* Note: If the animation is application controlled by using
- * {@link WindowInsetsController#controlInputMethodAnimation}, the end state of the animation
+ * {@link WindowInsetsController#controlWindowInsetsAnimation}, the end state of the animation
* is undefined as the application may decide on the end state only by passing in the
* {@code shown} parameter when calling {@link WindowInsetsAnimationController#finish}. In this
* situation, the system will dispatch the insets in the opposite visibility state before the
* animation starts. Example: When controlling the input method with
- * {@link WindowInsetsController#controlInputMethodAnimation} and the input method is currently
+ * {@link WindowInsetsController#controlWindowInsetsAnimation} and the input method is currently
* showing, {@link View#onApplyWindowInsets} will receive a {@link WindowInsets} instance for
* which {@link WindowInsets#isVisible} will return {@code false} for {@link Type#ime}.
*
@@ -246,7 +246,7 @@ public interface WindowInsetsAnimationCallback {
* be the same as the application passed into
* {@link WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float)},
* interpolated with the interpolator passed into
- * {@link WindowInsetsController#controlInputMethodAnimation}.
+ * {@link WindowInsetsController#controlWindowInsetsAnimation}.
* </p>
* <p>
* Note: For system-initiated animations, this will always return a valid value between 0
diff --git a/core/java/android/view/WindowInsetsAnimationControlListener.java b/core/java/android/view/WindowInsetsAnimationControlListener.java
index f91254de33ff..701bd3158b1e 100644
--- a/core/java/android/view/WindowInsetsAnimationControlListener.java
+++ b/core/java/android/view/WindowInsetsAnimationControlListener.java
@@ -39,7 +39,7 @@ public interface WindowInsetsAnimationControlListener {
* @param controller The controller to control the inset animation.
* @param types The {@link InsetsType}s it was able to gain control over. Note that this may be
* different than the types passed into
- * {@link WindowInsetsController#controlInputMethodAnimation} in case the window
+ * {@link WindowInsetsController#controlWindowInsetsAnimation} in case the window
* wasn't able to gain the controls because it wasn't the IME target or not
* currently the window that's controlling the system bars.
*/
diff --git a/core/java/android/view/WindowInsetsAnimationController.java b/core/java/android/view/WindowInsetsAnimationController.java
index 2bf0d277268d..4a864be64f64 100644
--- a/core/java/android/view/WindowInsetsAnimationController.java
+++ b/core/java/android/view/WindowInsetsAnimationController.java
@@ -23,6 +23,7 @@ import android.annotation.SuppressLint;
import android.graphics.Insets;
import android.view.WindowInsets.Type.InsetsType;
import android.view.WindowInsetsAnimationCallback.AnimationBounds;
+import android.view.animation.Interpolator;
/**
* Controller for app-driven animation of system windows.
@@ -32,7 +33,7 @@ import android.view.WindowInsetsAnimationCallback.AnimationBounds;
* synchronized, such that changes the system windows and the app's current frame
* are rendered at the same time.
* <p>
- * Control is obtained through {@link WindowInsetsController#controlInputMethodAnimation}.
+ * Control is obtained through {@link WindowInsetsController#controlWindowInsetsAnimation}.
*/
@SuppressLint("NotClosable")
public interface WindowInsetsAnimationController {
diff --git a/core/java/android/view/WindowInsetsController.java b/core/java/android/view/WindowInsetsController.java
index 02323cfb4f00..f501de91b3b7 100644
--- a/core/java/android/view/WindowInsetsController.java
+++ b/core/java/android/view/WindowInsetsController.java
@@ -167,62 +167,6 @@ public interface WindowInsetsController {
@NonNull WindowInsetsAnimationControlListener listener);
/**
- * Lets the application control the animation for showing the IME in a frame-by-frame manner by
- * modifying the position of the IME when it's causing insets.
- *
- * @param durationMillis Duration of the animation in
- * {@link java.util.concurrent.TimeUnit#MILLISECONDS}, or -1 if the
- * animation doesn't have a predetermined duration. This value will be
- * passed to {@link InsetsAnimation#getDurationMillis()}
- * @param interpolator The interpolator used for this animation, or {@code null} if this
- * animation doesn't follow an interpolation curve. This value will be
- * passed to {@link InsetsAnimation#getInterpolator()} and used to calculate
- * {@link InsetsAnimation#getInterpolatedFraction()}.
- * @param listener The {@link WindowInsetsAnimationControlListener} that gets called when the
- * IME are ready to be controlled, among other callbacks.
- *
- * @see InsetsAnimation#getFraction()
- * @see InsetsAnimation#getInterpolatedFraction()
- * @see InsetsAnimation#getInterpolator()
- * @see InsetsAnimation#getDurationMillis()
- */
- default void controlInputMethodAnimation(long durationMillis,
- @Nullable Interpolator interpolator,
- @NonNull WindowInsetsAnimationControlListener listener) {
- controlWindowInsetsAnimation(ime(), durationMillis, interpolator, listener);
- }
-
- /**
- * Makes the IME appear on screen.
- * <p>
- * Note that if the window currently doesn't have control over the IME, because it doesn't have
- * focus, it will apply the change as soon as the window gains control. The app can listen to
- * the event by observing {@link View#onApplyWindowInsets} and checking visibility with
- * {@link WindowInsets#isVisible}.
- *
- * @see #controlInputMethodAnimation
- * @see #hideInputMethod()
- */
- default void showInputMethod() {
- show(ime());
- }
-
- /**
- * Makes the IME disappear on screen.
- * <p>
- * Note that if the window currently doesn't have control over IME, because it doesn't have
- * focus, it will apply the change as soon as the window gains control. The app can listen to
- * the event by observing {@link View#onApplyWindowInsets} and checking visibility with
- * {@link WindowInsets#isVisible}.
- *
- * @see #controlInputMethodAnimation
- * @see #showInputMethod()
- */
- default void hideInputMethod() {
- hide(ime());
- }
-
- /**
* Controls the appearance of system bars.
* <p>
* For example, the following statement adds {@link #APPEARANCE_LIGHT_STATUS_BARS}:
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index a6450a10561b..dad767142ba1 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -80,6 +80,7 @@ import android.os.Parcelable;
import android.text.TextUtils;
import android.util.Log;
import android.util.proto.ProtoOutputStream;
+import android.view.View.OnApplyWindowInsetsListener;
import android.view.WindowInsets.Side;
import android.view.WindowInsets.Side.InsetsSide;
import android.view.WindowInsets.Type;
@@ -2193,8 +2194,9 @@ public interface WindowManager extends ViewManager {
* value for {@link #softInputMode} will be ignored; the window will
* not resize, but will stay fullscreen.
*
- * @deprecated Use {@link Window#setOnContentApplyWindowInsetsListener} instead with a
- * listener that fits {@link Type#ime()} instead.
+ * @deprecated Call {@link Window#setDecorFitsSystemWindows(boolean)} with {@code false} and
+ * install an {@link OnApplyWindowInsetsListener} on your root content view that fits insets
+ * of type {@link Type#ime()}.
*/
@Deprecated
public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;
diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java
index 9f2784889cab..62f3fa4f6ed4 100644
--- a/core/java/android/view/WindowlessWindowManager.java
+++ b/core/java/android/view/WindowlessWindowManager.java
@@ -41,9 +41,14 @@ public class WindowlessWindowManager implements IWindowSession {
private class State {
SurfaceControl mSurfaceControl;
WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
- State(SurfaceControl sc, WindowManager.LayoutParams p) {
+ int mDisplayId;
+ IBinder mInputChannelToken;
+ State(SurfaceControl sc, WindowManager.LayoutParams p, int displayId,
+ IBinder inputChannelToken) {
mSurfaceControl = sc;
mParams.copyFrom(p);
+ mDisplayId = displayId;
+ mInputChannelToken = inputChannelToken;
}
};
@@ -105,19 +110,23 @@ public class WindowlessWindowManager implements IWindowSession {
.setFormat(attrs.format)
.setName(attrs.getTitle().toString());
final SurfaceControl sc = b.build();
- synchronized (this) {
- mStateForWindow.put(window.asBinder(), new State(sc, attrs));
- }
if (((attrs.inputFeatures &
WindowManager.LayoutParams.INPUT_FEATURE_NO_INPUT_CHANNEL) == 0)) {
try {
- mRealWm.grantInputChannel(displayId, sc, window, mHostInputToken, outInputChannel);
+ mRealWm.grantInputChannel(displayId, sc, window, mHostInputToken, attrs.flags,
+ outInputChannel);
} catch (RemoteException e) {
- Log.e(TAG, "Failed to bless surface: " + e);
+ Log.e(TAG, "Failed to grant input to surface: ", e);
}
}
+ final State state = new State(sc, attrs, displayId,
+ outInputChannel != null ? outInputChannel.getToken() : null);
+ synchronized (this) {
+ mStateForWindow.put(window.asBinder(), state);
+ }
+
return WindowManagerGlobal.ADD_OKAY | WindowManagerGlobal.ADD_FLAG_APP_VISIBLE;
}
@@ -161,8 +170,8 @@ public class WindowlessWindowManager implements IWindowSession {
Rect outStableInsets, Rect outBackdropFrame,
DisplayCutout.ParcelableWrapper cutout, MergedConfiguration mergedConfiguration,
SurfaceControl outSurfaceControl, InsetsState outInsetsState,
- Point outSurfaceSize) {
- State state = null;
+ Point outSurfaceSize, SurfaceControl outBLASTSurfaceControl) {
+ final State state;
synchronized (this) {
state = mStateForWindow.get(window.asBinder());
}
@@ -173,8 +182,9 @@ public class WindowlessWindowManager implements IWindowSession {
SurfaceControl sc = state.mSurfaceControl;
SurfaceControl.Transaction t = new SurfaceControl.Transaction();
+ int attrChanges = 0;
if (inAttrs != null) {
- state.mParams.copyFrom(inAttrs);
+ attrChanges = state.mParams.copyFrom(inAttrs);
}
WindowManager.LayoutParams attrs = state.mParams;
@@ -197,6 +207,16 @@ public class WindowlessWindowManager implements IWindowSession {
mergedConfiguration.setConfiguration(mConfiguration, mConfiguration);
+ if ((attrChanges & WindowManager.LayoutParams.FLAGS_CHANGED) != 0
+ && state.mInputChannelToken != null) {
+ try {
+ mRealWm.updateInputChannel(state.mInputChannelToken, state.mDisplayId, sc,
+ attrs.flags);
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to update surface input channel: ", e);
+ }
+ }
+
return 0;
}
@@ -353,7 +373,12 @@ public class WindowlessWindowManager implements IWindowSession {
@Override
public void grantInputChannel(int displayId, SurfaceControl surface, IWindow window,
- IBinder hostInputToken, InputChannel outInputChannel) {
+ IBinder hostInputToken, int flags, InputChannel outInputChannel) {
+ }
+
+ @Override
+ public void updateInputChannel(IBinder channelToken, int displayId, SurfaceControl surface,
+ int flags) {
}
@Override
diff --git a/core/java/android/view/autofill/AutofillPopupWindow.java b/core/java/android/view/autofill/AutofillPopupWindow.java
index 826620710b18..8d3dc83bca0c 100644
--- a/core/java/android/view/autofill/AutofillPopupWindow.java
+++ b/core/java/android/view/autofill/AutofillPopupWindow.java
@@ -19,13 +19,13 @@ package android.view.autofill;
import static android.view.autofill.Helper.sVerbose;
import android.annotation.NonNull;
-import android.graphics.Point;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.IBinder;
import android.os.RemoteException;
import android.transition.Transition;
import android.util.Log;
+import android.util.Size;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewTreeObserver;
@@ -127,11 +127,12 @@ public class AutofillPopupWindow extends PopupWindow {
// If it is not fullscreen height, put window at bottom. Computes absolute position.
// Note that we cannot easily change default gravity from Gravity.TOP to
// Gravity.BOTTOM because PopupWindow base class does not expose computeGravity().
- final Point outPoint = new Point();
- anchor.getContext().getDisplay().getSize(outPoint);
- width = outPoint.x;
+ final WindowManager windowManager = anchor.getContext()
+ .getSystemService(WindowManager.class);
+ final Size windowSize = windowManager.getCurrentWindowMetrics().getSize();
+ width = windowSize.getWidth();
if (height != LayoutParams.MATCH_PARENT) {
- offsetY = outPoint.y - height;
+ offsetY = windowSize.getHeight() - height;
}
actualAnchor = anchor;
} else if (virtualBounds != null) {
diff --git a/core/java/android/view/contentcapture/ContentCaptureManager.java b/core/java/android/view/contentcapture/ContentCaptureManager.java
index cede3b5cf9fe..b7b54c8c74b9 100644
--- a/core/java/android/view/contentcapture/ContentCaptureManager.java
+++ b/core/java/android/view/contentcapture/ContentCaptureManager.java
@@ -32,10 +32,8 @@ import android.content.ContentCaptureOptions;
import android.content.Context;
import android.graphics.Canvas;
import android.os.Binder;
-import android.os.CancellationSignal;
import android.os.Handler;
import android.os.IBinder;
-import android.os.ICancellationSignal;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
@@ -209,6 +207,15 @@ public final class ContentCaptureManager {
private static final String TAG = ContentCaptureManager.class.getSimpleName();
+ /** Error happened during the data sharing session. */
+ public static final int DATA_SHARE_ERROR_UNKNOWN = 1;
+
+ /** Request has been rejected, because a concurrent data share sessions is in progress. */
+ public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2;
+
+ /** Request has been interrupted because of data share session timeout. */
+ public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3;
+
/** @hide */
public static final int RESULT_CODE_OK = 0;
/** @hide */
@@ -656,12 +663,9 @@ public final class ContentCaptureManager {
Preconditions.checkNotNull(dataShareWriteAdapter);
Preconditions.checkNotNull(executor);
- ICancellationSignal cancellationSignalTransport = CancellationSignal.createTransport();
-
try {
- mService.shareData(request, cancellationSignalTransport,
- new DataShareAdapterDelegate(executor,
- cancellationSignalTransport, dataShareWriteAdapter));
+ mService.shareData(request,
+ new DataShareAdapterDelegate(executor, dataShareWriteAdapter));
} catch (RemoteException e) {
e.rethrowFromSystemServer();
}
@@ -719,32 +723,19 @@ public final class ContentCaptureManager {
private final WeakReference<DataShareWriteAdapter> mAdapterReference;
private final WeakReference<Executor> mExecutorReference;
- private final WeakReference<ICancellationSignal> mCancellationSignal;
- private DataShareAdapterDelegate(Executor executor,
- ICancellationSignal cancellationSignalTransport, DataShareWriteAdapter adapter) {
+ private DataShareAdapterDelegate(Executor executor, DataShareWriteAdapter adapter) {
Preconditions.checkNotNull(executor);
- Preconditions.checkNotNull(cancellationSignalTransport);
Preconditions.checkNotNull(adapter);
mExecutorReference = new WeakReference<>(executor);
mAdapterReference = new WeakReference<>(adapter);
- mCancellationSignal = new WeakReference<>(cancellationSignalTransport);
}
@Override
public void write(ParcelFileDescriptor destination)
throws RemoteException {
- ICancellationSignal cancellationSignalTransport = mCancellationSignal.get();
- if (cancellationSignalTransport == null) {
- Slog.w(TAG, "Can't execute write(), reference to cancellation signal has been "
- + "GC'ed");
- }
- CancellationSignal cancellationSignal =
- CancellationSignal.fromTransport(cancellationSignalTransport);
-
- executeAdapterMethodLocked(adapter -> adapter.onWrite(destination, cancellationSignal),
- "onWrite");
+ executeAdapterMethodLocked(adapter -> adapter.onWrite(destination), "onWrite");
}
@Override
diff --git a/core/java/android/view/contentcapture/DataShareWriteAdapter.java b/core/java/android/view/contentcapture/DataShareWriteAdapter.java
index f791fea7ee8d..2beaededf8b1 100644
--- a/core/java/android/view/contentcapture/DataShareWriteAdapter.java
+++ b/core/java/android/view/contentcapture/DataShareWriteAdapter.java
@@ -17,18 +17,11 @@
package android.view.contentcapture;
import android.annotation.NonNull;
-import android.os.CancellationSignal;
import android.os.ParcelFileDescriptor;
/** Adapter class used by apps to share data with the Content Capture service. */
public interface DataShareWriteAdapter {
- /** Request has been rejected, because a concurrent data share sessions is in progress. */
- int ERROR_CONCURRENT_REQUEST = 1;
-
- /** Data share session timed out. */
- int ERROR_UNKNOWN = 2;
-
/**
* Method invoked when the data share session has been started and the app needs to start
* writing into the file used for sharing.
@@ -36,12 +29,9 @@ public interface DataShareWriteAdapter {
* <p>App needs to handle explicitly cases when the file descriptor is closed and handle
* gracefully if IOExceptions happen.
*
- * @param destination file descriptor used to write data into
- * @param cancellationSignal cancellation signal that the app can use to subscribe to cancel
- * operations.
+ * @param destination file descriptor used to write data into.
*/
- void onWrite(@NonNull ParcelFileDescriptor destination,
- @NonNull CancellationSignal cancellationSignal);
+ void onWrite(@NonNull ParcelFileDescriptor destination);
/** Data share sessions has been rejected by the Content Capture service. */
void onRejected();
diff --git a/core/java/android/view/contentcapture/IContentCaptureManager.aidl b/core/java/android/view/contentcapture/IContentCaptureManager.aidl
index 5217e68eac50..01ead4601e59 100644
--- a/core/java/android/view/contentcapture/IContentCaptureManager.aidl
+++ b/core/java/android/view/contentcapture/IContentCaptureManager.aidl
@@ -69,8 +69,7 @@ oneway interface IContentCaptureManager {
/**
* Requests sharing of a binary data with the content capture service.
*/
- void shareData(in DataShareRequest request, in ICancellationSignal cancellationSignal,
- in IDataShareWriteAdapter adapter);
+ void shareData(in DataShareRequest request, in IDataShareWriteAdapter adapter);
/**
* Returns whether the content capture feature is enabled for the calling user.
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 307abd2f5f65..f0c16aadf12f 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -671,6 +671,11 @@ public final class InputMethodManager {
mWindowFocusGainFuture = null;
}
synchronized (mH) {
+ if (mCurRootView != null) {
+ // Reset the last served view and restart window focus state of the root view.
+ mCurRootView.getImeFocusController().setServedView(null);
+ mRestartOnNextWindowFocus = true;
+ }
mCurRootView = rootView;
}
}
diff --git a/core/java/android/widget/Magnifier.java b/core/java/android/widget/Magnifier.java
index 57b63a7a9f0d..50da6ce19f44 100644
--- a/core/java/android/widget/Magnifier.java
+++ b/core/java/android/widget/Magnifier.java
@@ -854,6 +854,8 @@ public final class Magnifier {
// The z of the magnifier surface, defining its z order in the list of
// siblings having the same parent surface (usually the main app surface).
private static final int SURFACE_Z = 5;
+ // The width of the ramp region in pixels on the left & right sides of the fish-eye effect.
+ private static final int FISHEYE_RAMP_WIDTH = 30;
// Display associated to the view the magnifier is attached to.
private final Display mDisplay;
@@ -906,7 +908,8 @@ public final class Magnifier {
// Whether is in the new magnifier style.
private boolean mIsFishEyeStyle;
// The mesh matrix for the fish-eye effect.
- private float[] mMesh;
+ private float[] mMeshLeft;
+ private float[] mMeshRight;
private int mMeshWidth;
private int mMeshHeight;
@@ -986,29 +989,29 @@ public final class Magnifier {
}
private void createMeshMatrixForFishEyeEffect() {
- mMeshWidth = mZoom < 1.5f ? 5 : 4;
+ mMeshWidth = 1;
mMeshHeight = 6;
final float w = mContentWidth;
final float h = mContentHeight;
- final float dx = (w - mZoom * w * (mMeshWidth - 2) / mMeshWidth) / 2;
- mMesh = new float[2 * (mMeshWidth + 1) * (mMeshHeight + 1)];
+ final float h0 = h / mZoom;
+ final float dh = h - h0;
+ final float ramp = FISHEYE_RAMP_WIDTH;
+ mMeshLeft = new float[2 * (mMeshWidth + 1) * (mMeshHeight + 1)];
+ mMeshRight = new float[2 * (mMeshWidth + 1) * (mMeshHeight + 1)];
for (int i = 0; i < 2 * (mMeshWidth + 1) * (mMeshHeight + 1); i += 2) {
// Calculates X value.
final int colIndex = i % (2 * (mMeshWidth + 1)) / 2;
- if (colIndex == 0) {
- mMesh[i] = 0;
- } else if (colIndex == mMeshWidth) {
- mMesh[i] = w;
- } else {
- mMesh[i] = (colIndex - 1) * (w - 2 * dx) / (mMeshWidth - 2) + dx;
- }
+ mMeshLeft[i] = (float) colIndex * ramp / mMeshWidth;
+ mMeshRight[i] = w - ramp + colIndex * ramp / mMeshWidth;
+
// Calculates Y value.
final int rowIndex = i / 2 / (mMeshWidth + 1);
- final float y0 = colIndex == 0 || colIndex == mMeshWidth
- ? (h - h / mZoom) / 2 : 0;
- final float dy = colIndex == 0 || colIndex == mMeshWidth
- ? h / mZoom / mMeshHeight : h / mMeshHeight;
- mMesh[i + 1] = y0 + rowIndex * dy;
+ final float hl = h0 + dh * colIndex / mMeshWidth;
+ final float yl = (h - hl) / 2;
+ mMeshLeft[i + 1] = yl + hl * rowIndex / mMeshHeight;
+ final float hr = h - dh * colIndex / mMeshWidth;
+ final float yr = (h - hr) / 2;
+ mMeshRight[i + 1] = yr + hr * rowIndex / mMeshHeight;
}
}
@@ -1166,14 +1169,31 @@ public final class Magnifier {
final RecordingCanvas canvas =
mBitmapRenderNode.beginRecording(mContentWidth, mContentHeight);
try {
+ final int w = mBitmap.getWidth();
+ final int h = mBitmap.getHeight();
+ final Paint paint = new Paint();
+ paint.setFilterBitmap(true);
if (mIsFishEyeStyle) {
+ final int ramp = FISHEYE_RAMP_WIDTH;
+ final int margin =
+ (int)((mContentWidth - (mContentWidth - 2 * ramp) / mZoom) / 2);
+
+ // Draws the middle part.
+ final Rect srcRect = new Rect(margin, 0, w - margin, h);
+ final Rect dstRect = new Rect(
+ ramp, 0, mContentWidth - ramp, mContentHeight);
+ canvas.drawBitmap(mBitmap, srcRect, dstRect, paint);
+
+ // Draws the left/right parts with mesh matrixes.
+ canvas.drawBitmapMesh(
+ Bitmap.createBitmap(mBitmap, 0, 0, margin, h),
+ mMeshWidth, mMeshHeight, mMeshLeft, 0, null, 0, paint);
canvas.drawBitmapMesh(
- mBitmap, mMeshWidth, mMeshHeight, mMesh, 0, null, 0, null);
+ Bitmap.createBitmap(mBitmap, w - margin, 0, margin, h),
+ mMeshWidth, mMeshHeight, mMeshRight, 0, null, 0, paint);
} else {
- final Rect srcRect = new Rect(0, 0, mBitmap.getWidth(), mBitmap.getHeight());
+ final Rect srcRect = new Rect(0, 0, w, h);
final Rect dstRect = new Rect(0, 0, mContentWidth, mContentHeight);
- final Paint paint = new Paint();
- paint.setFilterBitmap(true);
canvas.drawBitmap(mBitmap, srcRect, dstRect, paint);
}
} finally {
diff --git a/core/java/android/widget/ScrollBarDrawable.java b/core/java/android/widget/ScrollBarDrawable.java
index 80e17b5e8217..c2d4596e17dc 100644
--- a/core/java/android/widget/ScrollBarDrawable.java
+++ b/core/java/android/widget/ScrollBarDrawable.java
@@ -138,7 +138,7 @@ public class ScrollBarDrawable extends Drawable implements Drawable.Callback {
}
final Rect r = getBounds();
- if (canvas.quickReject(r.left, r.top, r.right, r.bottom, Canvas.EdgeType.AA)) {
+ if (canvas.quickReject(r.left, r.top, r.right, r.bottom)) {
return;
}
diff --git a/core/java/android/widget/Toast.java b/core/java/android/widget/Toast.java
index c8a7c079994c..78d4e61ea953 100644
--- a/core/java/android/widget/Toast.java
+++ b/core/java/android/widget/Toast.java
@@ -28,6 +28,7 @@ import android.app.ITransientNotification;
import android.app.ITransientNotificationCallback;
import android.compat.Compatibility;
import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledAfter;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.res.Configuration;
@@ -112,11 +113,9 @@ public class Toast {
/**
* Text toasts will be rendered by SystemUI instead of in-app, so apps can't circumvent
* background custom toast restrictions.
- *
- * TODO(b/144152069): Add @EnabledAfter(Q) to target R+ after assessing impact on dogfood
*/
@ChangeId
- // @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.Q)
+ @EnabledAfter(targetSdkVersion = Build.VERSION_CODES.Q)
private static final long CHANGE_TEXT_TOASTS_IN_THE_SYSTEM = 147798919L;
diff --git a/core/java/com/android/ims/internal/uce/common/CapInfo.java b/core/java/com/android/ims/internal/uce/common/CapInfo.java
index 2bb3f1fed927..a7a90f6912c2 100644
--- a/core/java/com/android/ims/internal/uce/common/CapInfo.java
+++ b/core/java/com/android/ims/internal/uce/common/CapInfo.java
@@ -78,6 +78,10 @@ public class CapInfo implements Parcelable {
private boolean mChatbotSupported = false;
/** Chatbot role support. */
private boolean mChatbotRoleSupported = false;
+ /** Standalone Chatbot communication support. */
+ private boolean mSmChatbotSupported = false;
+ /** MMtel based call composer support. */
+ private boolean mMmtelCallComposerSupported = false;
/** List of supported extensions. */
private String[] mExts = new String[10];
/** Time used to compute when to query again. */
@@ -498,6 +502,34 @@ public class CapInfo implements Parcelable {
this.mChatbotRoleSupported = chatbotRoleSupported;
}
+ /**
+ * Checks whether standalone chatbot communication is supported.
+ */
+ public boolean isSmChatbotSupported() {
+ return mSmChatbotSupported;
+ }
+
+ /**
+ * Sets standalone chatbot communication as supported or not supported.
+ */
+ public void setSmChatbotSupported(boolean smChatbotSupported) {
+ this.mSmChatbotSupported = smChatbotSupported;
+ }
+
+ /**
+ * Checks whether Mmtel based call composer is supported.
+ */
+ public boolean isMmtelCallComposerSupported() {
+ return mMmtelCallComposerSupported;
+ }
+
+ /**
+ * Sets Mmtel based call composer as supported or not supported.
+ */
+ public void setMmtelCallComposerSupported(boolean mmtelCallComposerSupported) {
+ this.mMmtelCallComposerSupported = mmtelCallComposerSupported;
+ }
+
/** Gets the list of supported extensions. */
public String[] getExts() {
return mExts;
@@ -553,6 +585,8 @@ public class CapInfo implements Parcelable {
dest.writeInt(mSharedSketchSupported ? 1 : 0);
dest.writeInt(mChatbotSupported ? 1 : 0);
dest.writeInt(mChatbotRoleSupported ? 1 : 0);
+ dest.writeInt(mSmChatbotSupported ? 1 : 0);
+ dest.writeInt(mMmtelCallComposerSupported ? 1 : 0);
dest.writeInt(mRcsIpVoiceCallSupported ? 1 : 0);
dest.writeInt(mRcsIpVideoCallSupported ? 1 : 0);
@@ -602,6 +636,8 @@ public class CapInfo implements Parcelable {
mSharedSketchSupported = (source.readInt() == 0) ? false : true;
mChatbotSupported = (source.readInt() == 0) ? false : true;
mChatbotRoleSupported = (source.readInt() == 0) ? false : true;
+ mSmChatbotSupported = (source.readInt() == 0) ? false : true;
+ mMmtelCallComposerSupported = (source.readInt() == 0) ? false : true;
mRcsIpVoiceCallSupported = (source.readInt() == 0) ? false : true;
mRcsIpVideoCallSupported = (source.readInt() == 0) ? false : true;
diff --git a/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java b/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java
index 77d8e0290f20..ab8c19ea8861 100644
--- a/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java
+++ b/core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java
@@ -18,7 +18,9 @@ package com.android.internal.app;
import android.annotation.IntDef;
import android.annotation.Nullable;
import android.content.Context;
+import android.content.pm.ResolveInfo;
import android.os.UserHandle;
+import android.os.UserManager;
import android.view.View;
import android.view.ViewGroup;
@@ -27,6 +29,7 @@ import com.android.internal.widget.PagerAdapter;
import com.android.internal.widget.ViewPager;
import java.util.HashSet;
+import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -46,11 +49,17 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
private int mCurrentPage;
private OnProfileSelectedListener mOnProfileSelectedListener;
private Set<Integer> mLoadedPages;
+ private final UserHandle mPersonalProfileUserHandle;
+ private final UserHandle mWorkProfileUserHandle;
- AbstractMultiProfilePagerAdapter(Context context, int currentPage) {
+ AbstractMultiProfilePagerAdapter(Context context, int currentPage,
+ UserHandle personalProfileUserHandle,
+ UserHandle workProfileUserHandle) {
mContext = Objects.requireNonNull(context);
mCurrentPage = currentPage;
mLoadedPages = new HashSet<>();
+ mPersonalProfileUserHandle = personalProfileUserHandle;
+ mWorkProfileUserHandle = workProfileUserHandle;
}
void setOnProfileSelectedListener(OnProfileSelectedListener listener) {
@@ -72,7 +81,7 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
public void onPageSelected(int position) {
mCurrentPage = position;
if (!mLoadedPages.contains(position)) {
- getActiveListAdapter().rebuildList();
+ rebuildActiveTab(true);
mLoadedPages.add(position);
}
if (mOnProfileSelectedListener != null) {
@@ -85,6 +94,13 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
mLoadedPages.add(mCurrentPage);
}
+ void clearInactiveProfileCache() {
+ if (mLoadedPages.size() == 1) {
+ return;
+ }
+ mLoadedPages.remove(1 - mCurrentPage);
+ }
+
@Override
public ViewGroup instantiateItem(ViewGroup container, int position) {
final ProfileDescriptor profileDescriptor = getItem(position);
@@ -187,12 +203,53 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
@VisibleForTesting
public abstract @Nullable ResolverListAdapter getInactiveListAdapter();
+ public abstract ResolverListAdapter getPersonalListAdapter();
+
+ public abstract @Nullable ResolverListAdapter getWorkListAdapter();
+
abstract Object getCurrentRootAdapter();
abstract ViewGroup getActiveAdapterView();
abstract @Nullable ViewGroup getInactiveAdapterView();
+ boolean rebuildActiveTab(boolean post) {
+ return rebuildTab(getActiveListAdapter(), post);
+ }
+
+ boolean rebuildInactiveTab(boolean post) {
+ if (getItemCount() == 1) {
+ return false;
+ }
+ return rebuildTab(getInactiveListAdapter(), post);
+ }
+
+ private boolean rebuildTab(ResolverListAdapter activeListAdapter, boolean doPostProcessing) {
+ UserHandle listUserHandle = activeListAdapter.getUserHandle();
+ if (UserHandle.myUserId() != listUserHandle.getIdentifier() &&
+ !hasAppsInOtherProfile(activeListAdapter)) {
+ // TODO(arangelov): Show empty state UX here
+ return false;
+ } else {
+ return activeListAdapter.rebuildList(doPostProcessing);
+ }
+ }
+
+ private boolean hasAppsInOtherProfile(ResolverListAdapter adapter) {
+ if (mWorkProfileUserHandle == null) {
+ return false;
+ }
+ List<ResolverActivity.ResolvedComponentInfo> resolversForIntent =
+ adapter.getResolversForUser(UserHandle.of(UserHandle.myUserId()));
+ for (ResolverActivity.ResolvedComponentInfo info : resolversForIntent) {
+ ResolveInfo resolveInfo = info.getResolveInfoAt(0);
+ if (resolveInfo.targetUserId != UserHandle.USER_CURRENT) {
+ return true;
+ }
+ }
+ return false;
+ }
+
protected class ProfileDescriptor {
final ViewGroup rootView;
ProfileDescriptor(ViewGroup rootView) {
diff --git a/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java b/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java
index 384275f64e3d..6a6a60d6617c 100644
--- a/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java
+++ b/core/java/com/android/internal/app/AccessibilityButtonChooserActivity.java
@@ -39,6 +39,8 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.TypedArray;
+import android.graphics.ColorMatrix;
+import android.graphics.ColorMatrixColorFilter;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
@@ -74,6 +76,8 @@ import java.util.StringJoiner;
*/
public class AccessibilityButtonChooserActivity extends Activity {
private static final char SERVICES_SEPARATOR = ':';
+ private static final float DISABLED_ALPHA = 0.5f;
+ private static final float ENABLED_ALPHA = 1.0f;
private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
new TextUtils.SimpleStringSplitter(SERVICES_SEPARATOR);
@ShortcutType
@@ -452,9 +456,16 @@ public class AccessibilityButtonChooserActivity extends Activity {
final boolean isLaunchMenuMode = (mShortcutMenuMode == ShortcutMenuMode.LAUNCH);
final boolean isHardwareButtonTriggered =
(mShortcutButtonType == ACCESSIBILITY_SHORTCUT_KEY);
-
- holder.mLabelView.setEnabled(isLaunchMenuMode || isHardwareButtonTriggered);
- holder.mViewItem.setEnabled(isLaunchMenuMode || isHardwareButtonTriggered);
+ final boolean enabledState = (isLaunchMenuMode || isHardwareButtonTriggered);
+ final ColorMatrix grayScaleMatrix = new ColorMatrix();
+ grayScaleMatrix.setSaturation(/* grayScale */0);
+
+ holder.mIconView.setColorFilter(enabledState
+ ? null : new ColorMatrixColorFilter(grayScaleMatrix));
+ holder.mIconView.setAlpha(enabledState
+ ? ENABLED_ALPHA : DISABLED_ALPHA);
+ holder.mLabelView.setEnabled(enabledState);
+ holder.mViewItem.setEnabled(enabledState);
holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
holder.mViewItem.setVisibility(View.VISIBLE);
holder.mSwitchItem.setVisibility(View.GONE);
@@ -463,12 +474,15 @@ public class AccessibilityButtonChooserActivity extends Activity {
private void updateInvisibleActionItemVisibility(@NonNull Context context,
@NonNull ViewHolder holder) {
- final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
-
+ holder.mIconView.setColorFilter(null);
+ holder.mIconView.setAlpha(ENABLED_ALPHA);
+ holder.mLabelView.setEnabled(true);
+ holder.mViewItem.setEnabled(true);
holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
holder.mViewItem.setVisibility(View.VISIBLE);
holder.mSwitchItem.setVisibility(View.GONE);
- holder.mItemContainer.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
+ holder.mItemContainer.setVisibility((mShortcutMenuMode == ShortcutMenuMode.EDIT)
+ ? View.VISIBLE : View.GONE);
}
private void updateIntuitiveActionItemVisibility(@NonNull Context context,
@@ -478,6 +492,10 @@ public class AccessibilityButtonChooserActivity extends Activity {
? isWhiteListingServiceEnabled(context, target)
: isAccessibilityServiceEnabled(context, target);
+ holder.mIconView.setColorFilter(null);
+ holder.mIconView.setAlpha(ENABLED_ALPHA);
+ holder.mLabelView.setEnabled(true);
+ holder.mViewItem.setEnabled(true);
holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
holder.mViewItem.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
holder.mSwitchItem.setVisibility(isEditMenuMode ? View.GONE : View.VISIBLE);
@@ -487,12 +505,13 @@ public class AccessibilityButtonChooserActivity extends Activity {
private void updateBounceActionItemVisibility(@NonNull Context context,
@NonNull ViewHolder holder) {
- final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);
-
- holder.mViewItem.setImageDrawable(
- isEditMenuMode ? context.getDrawable(R.drawable.ic_delete_item)
- : context.getDrawable(R.drawable.ic_open_in_new));
- holder.mViewItem.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
+ holder.mIconView.setColorFilter(null);
+ holder.mIconView.setAlpha(ENABLED_ALPHA);
+ holder.mLabelView.setEnabled(true);
+ holder.mViewItem.setEnabled(true);
+ holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
+ holder.mViewItem.setVisibility((mShortcutMenuMode == ShortcutMenuMode.EDIT)
+ ? View.VISIBLE : View.GONE);
holder.mSwitchItem.setVisibility(View.GONE);
holder.mItemContainer.setVisibility(View.VISIBLE);
}
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 65128e4a2eda..a43e4fe118a9 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -53,6 +53,7 @@ import android.content.pm.ResolveInfo;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.database.Cursor;
import android.database.DataSetObserver;
import android.graphics.Bitmap;
@@ -81,6 +82,7 @@ import android.provider.DeviceConfig;
import android.provider.DocumentsContract;
import android.provider.Downloads;
import android.provider.OpenableColumns;
+import android.provider.Settings;
import android.service.chooser.ChooserTarget;
import android.service.chooser.ChooserTargetService;
import android.service.chooser.IChooserTargetResult;
@@ -101,6 +103,7 @@ import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
+import android.widget.Button;
import android.widget.ImageView;
import android.widget.Space;
import android.widget.TextView;
@@ -131,6 +134,7 @@ import java.io.File;
import java.io.IOException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import java.net.URISyntaxException;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
@@ -166,6 +170,9 @@ public class ChooserActivity extends ResolverActivity implements
private static final String PREF_NUM_SHEET_EXPANSIONS = "pref_num_sheet_expansions";
+ private static final String CHIP_LABEL_METADATA_KEY = "android.service.chooser.chip_label";
+ private static final String CHIP_ICON_METADATA_KEY = "android.service.chooser.chip_icon";
+
private static final boolean DEBUG = true;
private static final boolean USE_PREDICTION_MANAGER_FOR_SHARE_ACTIVITIES = true;
@@ -527,6 +534,15 @@ public class ChooserActivity extends ResolverActivity implements
mIsSuccessfullySelected = false;
Intent intent = getIntent();
Parcelable targetParcelable = intent.getParcelableExtra(Intent.EXTRA_INTENT);
+ if (targetParcelable instanceof Uri) {
+ try {
+ targetParcelable = Intent.parseUri(targetParcelable.toString(),
+ Intent.URI_INTENT_SCHEME);
+ } catch (URISyntaxException ex) {
+ // doesn't parse as an intent; let the next test fail and error out
+ }
+ }
+
if (!(targetParcelable instanceof Intent)) {
Log.w("ChooserActivity", "Target is not an intent: " + targetParcelable);
finish();
@@ -777,7 +793,9 @@ public class ChooserActivity extends ResolverActivity implements
/* userHandle */ UserHandle.of(UserHandle.myUserId()));
return new ChooserMultiProfilePagerAdapter(
/* context */ this,
- adapter);
+ adapter,
+ getPersonalProfileUserHandle(),
+ /* workProfileUserHandle= */ null);
}
private ChooserMultiProfilePagerAdapter createChooserMultiProfilePagerAdapterForTwoProfiles(
@@ -804,7 +822,9 @@ public class ChooserActivity extends ResolverActivity implements
/* context */ this,
personalAdapter,
workAdapter,
- /* defaultProfile */ getCurrentProfile());
+ /* defaultProfile */ getCurrentProfile(),
+ getPersonalProfileUserHandle(),
+ getWorkProfileUserHandle());
}
@Override
@@ -856,11 +876,11 @@ public class ChooserActivity extends ResolverActivity implements
}
@Override
- protected PackageMonitor createPackageMonitor() {
+ protected PackageMonitor createPackageMonitor(ResolverListAdapter listAdapter) {
return new PackageMonitor() {
@Override
public void onSomePackagesChanged() {
- handlePackagesChanged();
+ handlePackagesChanged(listAdapter);
}
};
}
@@ -869,9 +889,19 @@ public class ChooserActivity extends ResolverActivity implements
* Update UI to reflect changes in data.
*/
public void handlePackagesChanged() {
- // TODO(arangelov): Dispatch this to all adapters when we have the helper methods
- // in a follow-up CL
- mChooserMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
+ handlePackagesChanged(/* listAdapter */ null);
+ }
+
+ /**
+ * Update UI to reflect changes in data.
+ * <p>If {@code listAdapter} is {@code null}, both profile list adapters are updated.
+ */
+ private void handlePackagesChanged(@Nullable ResolverListAdapter listAdapter) {
+ if (listAdapter == null) {
+ mChooserMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
+ } else {
+ listAdapter.handlePackagesChanged();
+ }
updateProfileViewButton();
}
@@ -965,6 +995,108 @@ public class ChooserActivity extends ResolverActivity implements
return displayContentPreview(previewType, targetIntent, getLayoutInflater(), parent);
}
+ private ComponentName getNearbySharingComponent() {
+ String nearbyComponent = Settings.Secure.getString(
+ getContentResolver(),
+ Settings.Secure.NEARBY_SHARING_COMPONENT);
+ if (TextUtils.isEmpty(nearbyComponent)) {
+ nearbyComponent = getString(R.string.config_defaultNearbySharingComponent);
+ }
+ if (TextUtils.isEmpty(nearbyComponent)) {
+ return null;
+ }
+ return ComponentName.unflattenFromString(nearbyComponent);
+ }
+
+ private TargetInfo getNearbySharingTarget(Intent originalIntent) {
+ final ComponentName cn = getNearbySharingComponent();
+ if (cn == null) return null;
+
+ final Intent resolveIntent = new Intent();
+ resolveIntent.setComponent(cn);
+ final ResolveInfo ri = getPackageManager().resolveActivity(
+ resolveIntent, PackageManager.GET_META_DATA);
+ if (ri == null || ri.activityInfo == null) {
+ Log.e(TAG, "Device-specified nearby sharing component (" + cn
+ + ") not available");
+ return null;
+ }
+
+ // Allow the nearby sharing component to provide a more appropriate icon and label
+ // for the chip.
+ CharSequence name = null;
+ Drawable icon = null;
+ final Bundle metaData = ri.activityInfo.metaData;
+ if (metaData != null) {
+ try {
+ final Resources pkgRes = getPackageManager().getResourcesForActivity(cn);
+ final int nameResId = metaData.getInt(CHIP_LABEL_METADATA_KEY);
+ name = pkgRes.getString(nameResId);
+ final int resId = metaData.getInt(CHIP_ICON_METADATA_KEY);
+ icon = pkgRes.getDrawable(resId);
+ } catch (Resources.NotFoundException ex) {
+ } catch (NameNotFoundException ex) {
+ }
+ }
+ if (TextUtils.isEmpty(name)) {
+ name = ri.loadLabel(getPackageManager());
+ }
+ if (icon == null) {
+ icon = ri.loadIcon(getPackageManager());
+ }
+
+ final DisplayResolveInfo dri = new DisplayResolveInfo(
+ originalIntent, ri, name, "", resolveIntent, null);
+ dri.setDisplayIcon(icon);
+ return dri;
+ }
+
+ private Button createActionButton(Drawable icon, CharSequence title, View.OnClickListener r) {
+ Button b = (Button) LayoutInflater.from(this).inflate(R.layout.chooser_action_button, null);
+ if (icon != null) {
+ final int size = getResources()
+ .getDimensionPixelSize(R.dimen.chooser_action_button_icon_size);
+ icon.setBounds(0, 0, size, size);
+ b.setCompoundDrawablesRelative(icon, null, null, null);
+ }
+ b.setText(title);
+ b.setOnClickListener(r);
+ return b;
+ }
+
+ private Button createCopyButton() {
+ final Button b = createActionButton(
+ getDrawable(R.drawable.ic_menu_copy_material),
+ getString(R.string.copy), this::onCopyButtonClicked);
+ b.setId(R.id.chooser_copy_button);
+ return b;
+ }
+
+ private @Nullable Button createNearbyButton(Intent originalIntent) {
+ final TargetInfo ti = getNearbySharingTarget(originalIntent);
+ if (ti == null) return null;
+
+ return createActionButton(
+ ti.getDisplayIcon(this),
+ ti.getDisplayLabel(),
+ (View unused) -> {
+ safelyStartActivity(ti);
+ finish();
+ }
+ );
+ }
+
+ private void addActionButton(ViewGroup parent, Button b) {
+ if (b == null) return;
+ final ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(
+ LayoutParams.WRAP_CONTENT,
+ LayoutParams.WRAP_CONTENT
+ );
+ final int gap = getResources().getDimensionPixelSize(R.dimen.resolver_icon_margin) / 2;
+ lp.setMarginsRelative(gap, 0, gap, 0);
+ parent.addView(b, lp);
+ }
+
private ViewGroup displayContentPreview(@ContentPreviewType int previewType,
Intent targetIntent, LayoutInflater layoutInflater, ViewGroup parent) {
ViewGroup layout = null;
@@ -995,8 +1127,10 @@ public class ChooserActivity extends ResolverActivity implements
ViewGroup contentPreviewLayout = (ViewGroup) layoutInflater.inflate(
R.layout.chooser_grid_preview_text, parent, false);
- contentPreviewLayout.findViewById(R.id.copy_button).setOnClickListener(
- this::onCopyButtonClicked);
+ final ViewGroup actionRow =
+ (ViewGroup) contentPreviewLayout.findViewById(R.id.chooser_action_row);
+ addActionButton(actionRow, createCopyButton());
+ addActionButton(actionRow, createNearbyButton(targetIntent));
CharSequence sharingText = targetIntent.getCharSequenceExtra(Intent.EXTRA_TEXT);
if (sharingText == null) {
@@ -1154,7 +1288,8 @@ public class ChooserActivity extends ResolverActivity implements
// TODO(b/120417119): Disable file copy until after moving to sysui,
// due to permissions issues
- contentPreviewLayout.findViewById(R.id.file_copy_button).setVisibility(View.GONE);
+ //((ViewGroup) contentPreviewLayout.findViewById(R.id.chooser_action_row))
+ // .addView(createCopyButton());
String action = targetIntent.getAction();
if (Intent.ACTION_SEND.equals(action)) {
@@ -1680,7 +1815,7 @@ public class ChooserActivity extends ResolverActivity implements
}
return intentFilter;
} catch (Exception e) {
- Log.e(TAG, "failed to get target intent filter " + e);
+ Log.e(TAG, "failed to get target intent filter", e);
return null;
}
}
@@ -2337,10 +2472,10 @@ public class ChooserActivity extends ResolverActivity implements
}
@Override // ResolverListCommunicator
- public void onHandlePackagesChanged() {
+ public void onHandlePackagesChanged(ResolverListAdapter listAdapter) {
mServicesRequested.clear();
mChooserMultiProfilePagerAdapter.getActiveListAdapter().notifyDataSetChanged();
- super.onHandlePackagesChanged();
+ super.onHandlePackagesChanged(listAdapter);
}
@Override // SelectableTargetInfoCommunicator
diff --git a/core/java/com/android/internal/app/ChooserListAdapter.java b/core/java/com/android/internal/app/ChooserListAdapter.java
index ca3b7e7a7837..74ae29117b59 100644
--- a/core/java/com/android/internal/app/ChooserListAdapter.java
+++ b/core/java/com/android/internal/app/ChooserListAdapter.java
@@ -19,7 +19,6 @@ package com.android.internal.app;
import static com.android.internal.app.ChooserActivity.TARGET_TYPE_SHORTCUTS_FROM_PREDICTION_SERVICE;
import static com.android.internal.app.ChooserActivity.TARGET_TYPE_SHORTCUTS_FROM_SHORTCUT_MANAGER;
-import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.prediction.AppPredictor;
import android.content.ComponentName;
@@ -176,7 +175,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
Log.d(TAG, "clearing queryTargets on package change");
}
createPlaceHolders();
- mChooserListCommunicator.onHandlePackagesChanged();
+ mChooserListCommunicator.onHandlePackagesChanged(this);
}
@@ -541,7 +540,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
@Override
AsyncTask<List<ResolvedComponentInfo>,
Void,
- List<ResolvedComponentInfo>> createSortingTask() {
+ List<ResolvedComponentInfo>> createSortingTask(boolean doPostProcessing) {
return new AsyncTask<List<ResolvedComponentInfo>,
Void,
List<ResolvedComponentInfo>>() {
@@ -554,9 +553,11 @@ public class ChooserListAdapter extends ResolverListAdapter {
}
@Override
protected void onPostExecute(List<ResolvedComponentInfo> sortedComponents) {
- processSortedList(sortedComponents);
- mChooserListCommunicator.updateProfileViewButton();
- notifyDataSetChanged();
+ processSortedList(sortedComponents, doPostProcessing);
+ if (doPostProcessing) {
+ mChooserListCommunicator.updateProfileViewButton();
+ notifyDataSetChanged();
+ }
}
};
}
diff --git a/core/java/com/android/internal/app/ChooserMultiProfilePagerAdapter.java b/core/java/com/android/internal/app/ChooserMultiProfilePagerAdapter.java
index 663e0255feb9..e3501422f915 100644
--- a/core/java/com/android/internal/app/ChooserMultiProfilePagerAdapter.java
+++ b/core/java/com/android/internal/app/ChooserMultiProfilePagerAdapter.java
@@ -38,8 +38,10 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
private final ChooserProfileDescriptor[] mItems;
ChooserMultiProfilePagerAdapter(Context context,
- ChooserActivity.ChooserGridAdapter adapter) {
- super(context, /* currentPage */ 0);
+ ChooserActivity.ChooserGridAdapter adapter,
+ UserHandle personalProfileUserHandle,
+ UserHandle workProfileUserHandle) {
+ super(context, /* currentPage */ 0, personalProfileUserHandle, workProfileUserHandle);
mItems = new ChooserProfileDescriptor[] {
createProfileDescriptor(adapter)
};
@@ -48,8 +50,11 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
ChooserMultiProfilePagerAdapter(Context context,
ChooserActivity.ChooserGridAdapter personalAdapter,
ChooserActivity.ChooserGridAdapter workAdapter,
- @Profile int defaultProfile) {
- super(context, /* currentPage */ defaultProfile);
+ @Profile int defaultProfile,
+ UserHandle personalProfileUserHandle,
+ UserHandle workProfileUserHandle) {
+ super(context, /* currentPage */ defaultProfile, personalProfileUserHandle,
+ workProfileUserHandle);
mItems = new ChooserProfileDescriptor[] {
createProfileDescriptor(personalAdapter),
createProfileDescriptor(workAdapter)
@@ -131,6 +136,17 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
}
@Override
+ public ResolverListAdapter getPersonalListAdapter() {
+ return getAdapterForIndex(PROFILE_PERSONAL).getListAdapter();
+ }
+
+ @Override
+ @Nullable
+ public ResolverListAdapter getWorkListAdapter() {
+ return getAdapterForIndex(PROFILE_WORK).getListAdapter();
+ }
+
+ @Override
ChooserActivity.ChooserGridAdapter getCurrentRootAdapter() {
return getAdapterForIndex(getCurrentPage());
}
diff --git a/core/java/com/android/internal/app/NetInitiatedActivity.java b/core/java/com/android/internal/app/NetInitiatedActivity.java
index 89aa770d7f1c..92e9fe492442 100644
--- a/core/java/com/android/internal/app/NetInitiatedActivity.java
+++ b/core/java/com/android/internal/app/NetInitiatedActivity.java
@@ -23,7 +23,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
-import android.location.LocationManager;
+import android.location.LocationManagerInternal;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -32,6 +32,7 @@ import android.widget.Toast;
import com.android.internal.R;
import com.android.internal.location.GpsNetInitiatedHandler;
+import com.android.server.LocalServices;
/**
* This activity is shown to the user for him/her to accept or deny network-initiated
@@ -68,14 +69,14 @@ public class NetInitiatedActivity extends AlertActivity implements DialogInterfa
private final Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
- case GPS_NO_RESPONSE_TIME_OUT: {
- if (notificationId != -1) {
- sendUserResponse(default_response);
+ case GPS_NO_RESPONSE_TIME_OUT: {
+ if (notificationId != -1) {
+ sendUserResponse(default_response);
+ }
+ finish();
}
- finish();
- }
- break;
- default:
+ break;
+ default:
}
}
};
@@ -137,9 +138,8 @@ public class NetInitiatedActivity extends AlertActivity implements DialogInterfa
// Respond to NI Handler under GnssLocationProvider, 1 = accept, 2 = deny
private void sendUserResponse(int response) {
if (DEBUG) Log.d(TAG, "sendUserResponse, response: " + response);
- LocationManager locationManager = (LocationManager)
- this.getSystemService(Context.LOCATION_SERVICE);
- locationManager.sendNiResponse(notificationId, response);
+ LocationManagerInternal lm = LocalServices.getService(LocationManagerInternal.class);
+ lm.sendNiResponse(notificationId, response);
}
@UnsupportedAppUsage
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 30a41d338806..bbb751359bab 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -16,7 +16,9 @@
package com.android.internal.app;
+import static android.Manifest.permission.INTERACT_ACROSS_PROFILES;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
+import static android.content.PermissionChecker.PID_UNKNOWN;
import static com.android.internal.app.AbstractMultiProfilePagerAdapter.PROFILE_PERSONAL;
import static com.android.internal.app.AbstractMultiProfilePagerAdapter.PROFILE_WORK;
@@ -36,6 +38,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.PermissionChecker;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -157,7 +160,8 @@ public class ResolverActivity extends Activity implements
private static final String TAB_TAG_PERSONAL = "personal";
private static final String TAB_TAG_WORK = "work";
- private final PackageMonitor mPackageMonitor = createPackageMonitor();
+ private PackageMonitor mPersonalPackageMonitor;
+ private PackageMonitor mWorkPackageMonitor;
@VisibleForTesting
protected AbstractMultiProfilePagerAdapter mMultiProfilePagerAdapter;
@@ -243,11 +247,11 @@ public class ResolverActivity extends Activity implements
}
}
- protected PackageMonitor createPackageMonitor() {
+ protected PackageMonitor createPackageMonitor(ResolverListAdapter listAdapter) {
return new PackageMonitor() {
@Override
public void onSomePackagesChanged() {
- mMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
+ listAdapter.handlePackagesChanged();
updateProfileViewButton();
}
@@ -327,8 +331,6 @@ public class ResolverActivity extends Activity implements
mPm = getPackageManager();
- mPackageMonitor.register(this, getMainLooper(), false);
- mRegistered = true;
mReferrerPackage = getReferrerPackageName();
// Add our initial intent as the first item, regardless of what else has already been added.
@@ -353,6 +355,18 @@ public class ResolverActivity extends Activity implements
return;
}
+ mPersonalPackageMonitor = createPackageMonitor(
+ mMultiProfilePagerAdapter.getPersonalListAdapter());
+ mPersonalPackageMonitor.register(
+ this, getMainLooper(), getPersonalProfileUserHandle(), false);
+ if (hasWorkProfile() && ENABLE_TABBED_VIEW) {
+ mWorkPackageMonitor = createPackageMonitor(
+ mMultiProfilePagerAdapter.getWorkListAdapter());
+ mWorkPackageMonitor.register(this, getMainLooper(), getWorkProfileUserHandle(), false);
+ }
+
+ mRegistered = true;
+
final ResolverDrawerLayout rdl = findViewById(R.id.contentPanel);
if (rdl != null) {
rdl.setOnDismissedListener(new ResolverDrawerLayout.OnDismissedListener() {
@@ -419,7 +433,9 @@ public class ResolverActivity extends Activity implements
/* userHandle */ UserHandle.of(UserHandle.myUserId()));
return new ResolverMultiProfilePagerAdapter(
/* context */ this,
- adapter);
+ adapter,
+ getPersonalProfileUserHandle(),
+ /* workProfileUserHandle= */ null);
}
private ResolverMultiProfilePagerAdapter createResolverMultiProfilePagerAdapterForTwoProfiles(
@@ -438,20 +454,23 @@ public class ResolverActivity extends Activity implements
== getPersonalProfileUserHandle().getIdentifier()),
mUseLayoutForBrowsables,
/* userHandle */ getPersonalProfileUserHandle());
+ UserHandle workProfileUserHandle = getWorkProfileUserHandle();
ResolverListAdapter workAdapter = createResolverListAdapter(
/* context */ this,
/* payloadIntents */ mIntents,
initialIntents,
rList,
(filterLastUsed && UserHandle.myUserId()
- == getWorkProfileUserHandle().getIdentifier()),
+ == workProfileUserHandle.getIdentifier()),
mUseLayoutForBrowsables,
- /* userHandle */ getWorkProfileUserHandle());
+ /* userHandle */ workProfileUserHandle);
return new ResolverMultiProfilePagerAdapter(
/* context */ this,
personalAdapter,
workAdapter,
- /* defaultProfile */ getCurrentProfile());
+ /* defaultProfile */ getCurrentProfile(),
+ getPersonalProfileUserHandle(),
+ getWorkProfileUserHandle());
}
protected @Profile int getCurrentProfile() {
@@ -543,9 +562,6 @@ public class ResolverActivity extends Activity implements
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
- if (mMultiProfilePagerAdapter.getInactiveListAdapter() != null) {
- mMultiProfilePagerAdapter.getInactiveListAdapter().handlePackagesChanged();
- }
if (mSystemWindowInsets != null) {
mResolverDrawerLayout.setPadding(mSystemWindowInsets.left, mSystemWindowInsets.top,
@@ -707,7 +723,16 @@ public class ResolverActivity extends Activity implements
protected void onRestart() {
super.onRestart();
if (!mRegistered) {
- mPackageMonitor.register(this, getMainLooper(), false);
+ mPersonalPackageMonitor.register(this, getMainLooper(),
+ getPersonalProfileUserHandle(), false);
+ if (hasWorkProfile() && ENABLE_TABBED_VIEW) {
+ if (mWorkPackageMonitor == null) {
+ mWorkPackageMonitor = createPackageMonitor(
+ mMultiProfilePagerAdapter.getWorkListAdapter());
+ }
+ mWorkPackageMonitor.register(this, getMainLooper(),
+ getWorkProfileUserHandle(), false);
+ }
mRegistered = true;
}
mMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
@@ -718,7 +743,10 @@ public class ResolverActivity extends Activity implements
protected void onStop() {
super.onStop();
if (mRegistered) {
- mPackageMonitor.unregister();
+ mPersonalPackageMonitor.unregister();
+ if (mWorkPackageMonitor != null) {
+ mWorkPackageMonitor.unregister();
+ }
mRegistered = false;
}
final Intent intent = getIntent();
@@ -913,26 +941,21 @@ public class ResolverActivity extends Activity implements
}
@Override // ResolverListCommunicator
- public void onPostListReady(ResolverListAdapter listAdapter) {
- if (mMultiProfilePagerAdapter.getCurrentUserHandle().getIdentifier()
- == UserHandle.myUserId()) {
- setHeader();
+ public void onPostListReady(ResolverListAdapter listAdapter, boolean doPostProcessing) {
+ if (isAutolaunching() || maybeAutolaunchActivity()) {
+ return;
}
- resetButtonBar();
- onListRebuilt(listAdapter);
- }
-
- protected void onListRebuilt(ResolverListAdapter listAdapter) {
- int count = listAdapter.getUnfilteredCount();
- if (count == 1 && listAdapter.getOtherProfile() == null) {
- // Only one target, so we're a candidate to auto-launch!
- final TargetInfo target = listAdapter.targetInfoForPosition(0, false);
- if (shouldAutoLaunchSingleChoice(target)) {
- safelyStartActivity(target);
- finish();
+ if (doPostProcessing) {
+ if (mMultiProfilePagerAdapter.getCurrentUserHandle().getIdentifier()
+ == UserHandle.myUserId()) {
+ setHeader();
}
+ resetButtonBar();
+ onListRebuilt(listAdapter);
}
+ }
+ protected void onListRebuilt(ResolverListAdapter listAdapter) {
final ItemClickListener listener = new ItemClickListener();
setupAdapterListView((ListView) mMultiProfilePagerAdapter.getActiveAdapterView(), listener);
}
@@ -1132,6 +1155,13 @@ public class ResolverActivity extends Activity implements
}
private void safelyStartActivityInternal(TargetInfo cti) {
+ if (mPersonalPackageMonitor != null) {
+ mPersonalPackageMonitor.unregister();
+ }
+ if (mWorkPackageMonitor != null) {
+ mWorkPackageMonitor.unregister();
+ }
+ mRegistered = false;
// If needed, show that intent is forwarded
// from managed profile to owner or other way around.
if (mProfileSwitchMessageId != -1) {
@@ -1247,7 +1277,11 @@ public class ResolverActivity extends Activity implements
throw new IllegalStateException("mMultiProfilePagerAdapter.getCurrentListAdapter() "
+ "cannot be null.");
}
- boolean rebuildCompleted = mMultiProfilePagerAdapter.getActiveListAdapter().rebuildList();
+ boolean rebuildCompleted = mMultiProfilePagerAdapter.rebuildActiveTab(true);
+
+ // We partially rebuild the inactive adapter to determine if we should auto launch
+ mMultiProfilePagerAdapter.rebuildInactiveTab(false);
+
if (useLayoutWithDefault()) {
mLayoutId = R.layout.resolver_list_with_default;
} else {
@@ -1274,25 +1308,12 @@ public class ResolverActivity extends Activity implements
* @return <code>true</code> if the activity is finishing and creation should halt.
*/
final boolean postRebuildListInternal(boolean rebuildCompleted) {
-
int count = mMultiProfilePagerAdapter.getActiveListAdapter().getUnfilteredCount();
// We only rebuild asynchronously when we have multiple elements to sort. In the case where
// we're already done, we can check if we should auto-launch immediately.
- if (rebuildCompleted) {
- if (count == 1
- && mMultiProfilePagerAdapter.getActiveListAdapter().getOtherProfile() == null) {
- // Only one target, so we're a candidate to auto-launch!
- final TargetInfo target = mMultiProfilePagerAdapter.getActiveListAdapter()
- .targetInfoForPosition(0, false);
- if (shouldAutoLaunchSingleChoice(target)) {
- safelyStartActivity(target);
- mPackageMonitor.unregister();
- mRegistered = false;
- finish();
- return true;
- }
- }
+ if (rebuildCompleted && maybeAutolaunchActivity()) {
+ return true;
}
setupViewVisibilities();
@@ -1304,6 +1325,129 @@ public class ResolverActivity extends Activity implements
return false;
}
+ private int isPermissionGranted(String permission, int uid) {
+ return ActivityManager.checkComponentPermission(permission, uid,
+ /* owningUid= */-1, /* exported= */ true);
+ }
+
+ /**
+ * @return {@code true} if a resolved target is autolaunched, otherwise {@code false}
+ */
+ private boolean maybeAutolaunchActivity() {
+ int numberOfProfiles = mMultiProfilePagerAdapter.getItemCount();
+ if (numberOfProfiles == 1 && maybeAutolaunchIfSingleTarget()) {
+ return true;
+ } else if (numberOfProfiles == 2 && maybeAutolaunchIfCrossProfileSupported()) {
+ // note that autolaunching when we have 2 profiles, 1 resolved target on the active
+ // tab and 0 resolved targets on the inactive tab, is already handled before launching
+ // ResolverActivity
+ return true;
+ }
+ return false;
+ }
+
+ private boolean maybeAutolaunchIfSingleTarget() {
+ int count = mMultiProfilePagerAdapter.getActiveListAdapter().getUnfilteredCount();
+ if (count != 1) {
+ return false;
+ }
+
+ // Only one target, so we're a candidate to auto-launch!
+ final TargetInfo target = mMultiProfilePagerAdapter.getActiveListAdapter()
+ .targetInfoForPosition(0, false);
+ if (shouldAutoLaunchSingleChoice(target)) {
+ safelyStartActivity(target);
+ finish();
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * When we have a personal and a work profile, we auto launch in the following scenario:
+ * - There is 1 resolved target on each profile
+ * - That target is the same app on both profiles
+ * - The target app has permission to communicate cross profiles
+ * - The target app has declared it supports cross-profile communication via manifest metadata
+ */
+ private boolean maybeAutolaunchIfCrossProfileSupported() {
+ int count = mMultiProfilePagerAdapter.getActiveListAdapter().getUnfilteredCount();
+ if (count != 1) {
+ return false;
+ }
+ ResolverListAdapter inactiveListAdapter =
+ mMultiProfilePagerAdapter.getInactiveListAdapter();
+ if (inactiveListAdapter.getUnfilteredCount() != 1) {
+ return false;
+ }
+ TargetInfo activeProfileTarget = mMultiProfilePagerAdapter.getActiveListAdapter()
+ .targetInfoForPosition(0, false);
+ TargetInfo inactiveProfileTarget = inactiveListAdapter.targetInfoForPosition(0, false);
+ if (!Objects.equals(activeProfileTarget.getResolvedComponentName(),
+ inactiveProfileTarget.getResolvedComponentName())) {
+ return false;
+ }
+ if (!shouldAutoLaunchSingleChoice(activeProfileTarget)) {
+ return false;
+ }
+ String packageName = activeProfileTarget.getResolvedComponentName().getPackageName();
+ if (!canAppInteractCrossProfiles(packageName)) {
+ return false;
+ }
+
+ safelyStartActivity(activeProfileTarget);
+ finish();
+ return true;
+ }
+
+ /**
+ * Returns whether the package has the necessary permissions to interact across profiles on
+ * behalf of a given user.
+ *
+ * <p>This means meeting the following condition:
+ * <ul>
+ * <li>The app's {@link ApplicationInfo#crossProfile} flag must be true, and at least
+ * one of the following conditions must be fulfilled</li>
+ * <li>{@code Manifest.permission.INTERACT_ACROSS_USERS_FULL} granted.</li>
+ * <li>{@code Manifest.permission.INTERACT_ACROSS_USERS} granted.</li>
+ * <li>{@code Manifest.permission.INTERACT_ACROSS_PROFILES} granted, or the corresponding
+ * AppOps {@code android:interact_across_profiles} is set to "allow".</li>
+ * </ul>
+ *
+ */
+ private boolean canAppInteractCrossProfiles(String packageName) {
+ ApplicationInfo applicationInfo;
+ try {
+ applicationInfo = getPackageManager().getApplicationInfo(packageName, 0);
+ } catch (NameNotFoundException e) {
+ Log.e(TAG, "Package " + packageName + " does not exist on current user.");
+ return false;
+ }
+ if (!applicationInfo.crossProfile) {
+ return false;
+ }
+
+ int packageUid = applicationInfo.uid;
+
+ if (isPermissionGranted(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL,
+ packageUid) == PackageManager.PERMISSION_GRANTED) {
+ return true;
+ }
+ if (isPermissionGranted(android.Manifest.permission.INTERACT_ACROSS_USERS, packageUid)
+ == PackageManager.PERMISSION_GRANTED) {
+ return true;
+ }
+ if (PermissionChecker.checkPermissionForPreflight(this, INTERACT_ACROSS_PROFILES,
+ PID_UNKNOWN, packageUid, packageName) == PackageManager.PERMISSION_GRANTED) {
+ return true;
+ }
+ return false;
+ }
+
+ private boolean isAutolaunching() {
+ return !mRegistered && isFinishing();
+ }
+
private void setupProfileTabs() {
TabHost tabHost = findViewById(R.id.profile_tabhost);
tabHost.setup();
@@ -1499,12 +1643,20 @@ public class ResolverActivity extends Activity implements
}
@Override // ResolverListCommunicator
- public void onHandlePackagesChanged() {
- ResolverListAdapter activeListAdapter = mMultiProfilePagerAdapter.getActiveListAdapter();
- activeListAdapter.rebuildList();
- if (activeListAdapter.getCount() == 0) {
- // We no longer have any items... just finish the activity.
- finish();
+ public void onHandlePackagesChanged(ResolverListAdapter listAdapter) {
+ if (listAdapter == mMultiProfilePagerAdapter.getActiveListAdapter()) {
+ boolean listRebuilt = mMultiProfilePagerAdapter.rebuildActiveTab(true);
+ if (listRebuilt) {
+ ResolverListAdapter activeListAdapter =
+ mMultiProfilePagerAdapter.getActiveListAdapter();
+ activeListAdapter.notifyDataSetChanged();
+ if (activeListAdapter.getCount() == 0) {
+ // We no longer have any items... just finish the activity.
+ finish();
+ }
+ }
+ } else {
+ mMultiProfilePagerAdapter.clearInactiveProfileCache();
}
}
diff --git a/core/java/com/android/internal/app/ResolverListAdapter.java b/core/java/com/android/internal/app/ResolverListAdapter.java
index 405112d99fe7..2321da14cebe 100644
--- a/core/java/com/android/internal/app/ResolverListAdapter.java
+++ b/core/java/com/android/internal/app/ResolverListAdapter.java
@@ -113,7 +113,7 @@ public class ResolverListAdapter extends BaseAdapter {
}
public void handlePackagesChanged() {
- mResolverListCommunicator.onHandlePackagesChanged();
+ mResolverListCommunicator.onHandlePackagesChanged(this);
}
public void setPlaceholderCount(int count) {
@@ -176,9 +176,14 @@ public class ResolverListAdapter extends BaseAdapter {
* Rebuild the list of resolvers. In some cases some parts will need some asynchronous work
* to complete.
*
+ * The {@code doPostProcessing } parameter is used to specify whether to update the UI and
+ * load additional targets (e.g. direct share) after the list has been rebuilt. This is used
+ * in the case where we want to load the inactive profile's resolved apps to know the
+ * number of targets.
+ *
* @return Whether or not the list building is completed.
*/
- protected boolean rebuildList() {
+ protected boolean rebuildList(boolean doPostProcessing) {
List<ResolvedComponentInfo> currentResolveList = null;
// Clear the value of mOtherProfile from previous call.
mOtherProfile = null;
@@ -186,6 +191,7 @@ public class ResolverListAdapter extends BaseAdapter {
mLastChosenPosition = -1;
mAllTargetsAreBrowsers = false;
mDisplayList.clear();
+
if (mBaseResolveList != null) {
currentResolveList = mUnfilteredResolveList = new ArrayList<>();
mResolverListController.addResolveListDedupe(currentResolveList,
@@ -198,7 +204,7 @@ public class ResolverListAdapter extends BaseAdapter {
mResolverListCommunicator.shouldGetActivityMetadata(),
mIntents);
if (currentResolveList == null) {
- processSortedList(currentResolveList);
+ processSortedList(currentResolveList, doPostProcessing);
return true;
}
List<ResolvedComponentInfo> originalList =
@@ -256,22 +262,22 @@ public class ResolverListAdapter extends BaseAdapter {
--placeholderCount;
}
setPlaceholderCount(placeholderCount);
- createSortingTask().execute(currentResolveList);
- postListReadyRunnable();
+ createSortingTask(doPostProcessing).execute(currentResolveList);
+ postListReadyRunnable(doPostProcessing);
return false;
} else {
- processSortedList(currentResolveList);
+ processSortedList(currentResolveList, doPostProcessing);
return true;
}
} else {
- processSortedList(currentResolveList);
+ processSortedList(currentResolveList, doPostProcessing);
return true;
}
}
AsyncTask<List<ResolvedComponentInfo>,
Void,
- List<ResolvedComponentInfo>> createSortingTask() {
+ List<ResolvedComponentInfo>> createSortingTask(boolean doPostProcessing) {
return new AsyncTask<List<ResolvedComponentInfo>,
Void,
List<ResolvedComponentInfo>>() {
@@ -283,15 +289,17 @@ public class ResolverListAdapter extends BaseAdapter {
}
@Override
protected void onPostExecute(List<ResolvedComponentInfo> sortedComponents) {
- processSortedList(sortedComponents);
- mResolverListCommunicator.updateProfileViewButton();
+ processSortedList(sortedComponents, doPostProcessing);
notifyDataSetChanged();
+ if (doPostProcessing) {
+ mResolverListCommunicator.updateProfileViewButton();
+ }
}
};
}
-
- protected void processSortedList(List<ResolvedComponentInfo> sortedComponents) {
+ protected void processSortedList(List<ResolvedComponentInfo> sortedComponents,
+ boolean doPostProcessing) {
int n;
if (sortedComponents != null && (n = sortedComponents.size()) != 0) {
mAllTargetsAreBrowsers = mUseLayoutForBrowsables;
@@ -343,20 +351,23 @@ public class ResolverListAdapter extends BaseAdapter {
}
mResolverListCommunicator.sendVoiceChoicesIfNeeded();
- postListReadyRunnable();
+ postListReadyRunnable(doPostProcessing);
}
/**
* Some necessary methods for creating the list are initiated in onCreate and will also
* determine the layout known. We therefore can't update the UI inline and post to the
* handler thread to update after the current task is finished.
+ * @param doPostProcessing Whether to update the UI and load additional direct share targets
+ * after the list has been rebuilt
*/
- void postListReadyRunnable() {
+ void postListReadyRunnable(boolean doPostProcessing) {
if (mPostListReadyRunnable == null) {
mPostListReadyRunnable = new Runnable() {
@Override
public void run() {
- mResolverListCommunicator.onPostListReady(ResolverListAdapter.this);
+ mResolverListCommunicator.onPostListReady(ResolverListAdapter.this,
+ doPostProcessing);
mPostListReadyRunnable = null;
}
};
@@ -590,6 +601,12 @@ public class ResolverListAdapter extends BaseAdapter {
return mResolverListController.getUserHandle();
}
+ protected List<ResolvedComponentInfo> getResolversForUser(UserHandle userHandle) {
+ return mResolverListController.getResolversForIntentAsUser(true,
+ mResolverListCommunicator.shouldGetActivityMetadata(),
+ mIntents, userHandle);
+ }
+
/**
* Necessary methods to communicate between {@link ResolverListAdapter}
* and {@link ResolverActivity}.
@@ -600,7 +617,7 @@ public class ResolverListAdapter extends BaseAdapter {
Intent getReplacementIntent(ActivityInfo activityInfo, Intent defIntent);
- void onPostListReady(ResolverListAdapter listAdapter);
+ void onPostListReady(ResolverListAdapter listAdapter, boolean updateUi);
void sendVoiceChoicesIfNeeded();
@@ -612,7 +629,7 @@ public class ResolverListAdapter extends BaseAdapter {
Intent getTargetIntent();
- void onHandlePackagesChanged();
+ void onHandlePackagesChanged(ResolverListAdapter listAdapter);
}
static class ViewHolder {
diff --git a/core/java/com/android/internal/app/ResolverListController.java b/core/java/com/android/internal/app/ResolverListController.java
index 0bfe9eb04d28..022aded188fa 100644
--- a/core/java/com/android/internal/app/ResolverListController.java
+++ b/core/java/com/android/internal/app/ResolverListController.java
@@ -111,6 +111,15 @@ public class ResolverListController {
boolean shouldGetResolvedFilter,
boolean shouldGetActivityMetadata,
List<Intent> intents) {
+ return getResolversForIntentAsUser(shouldGetResolvedFilter, shouldGetActivityMetadata,
+ intents, mUserHandle);
+ }
+
+ public List<ResolverActivity.ResolvedComponentInfo> getResolversForIntentAsUser(
+ boolean shouldGetResolvedFilter,
+ boolean shouldGetActivityMetadata,
+ List<Intent> intents,
+ UserHandle userHandle) {
List<ResolverActivity.ResolvedComponentInfo> resolvedComponents = null;
for (int i = 0, N = intents.size(); i < N; i++) {
final Intent intent = intents.get(i);
@@ -122,7 +131,7 @@ public class ResolverListController {
flags |= PackageManager.MATCH_INSTANT;
}
final List<ResolveInfo> infos = mpm.queryIntentActivitiesAsUser(intent, flags,
- mUserHandle);
+ userHandle);
if (infos != null) {
if (resolvedComponents == null) {
resolvedComponents = new ArrayList<>();
diff --git a/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java b/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java
index 9d3c6c9ad8b1..96dc83a3f683 100644
--- a/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java
+++ b/core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java
@@ -36,8 +36,10 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
private final ResolverProfileDescriptor[] mItems;
ResolverMultiProfilePagerAdapter(Context context,
- ResolverListAdapter adapter) {
- super(context, /* currentPage */ 0);
+ ResolverListAdapter adapter,
+ UserHandle personalProfileUserHandle,
+ UserHandle workProfileUserHandle) {
+ super(context, /* currentPage */ 0, personalProfileUserHandle, workProfileUserHandle);
mItems = new ResolverProfileDescriptor[] {
createProfileDescriptor(adapter)
};
@@ -46,8 +48,11 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
ResolverMultiProfilePagerAdapter(Context context,
ResolverListAdapter personalAdapter,
ResolverListAdapter workAdapter,
- @Profile int defaultProfile) {
- super(context, /* currentPage */ defaultProfile);
+ @Profile int defaultProfile,
+ UserHandle personalProfileUserHandle,
+ UserHandle workProfileUserHandle) {
+ super(context, /* currentPage */ defaultProfile, personalProfileUserHandle,
+ workProfileUserHandle);
mItems = new ResolverProfileDescriptor[] {
createProfileDescriptor(personalAdapter),
createProfileDescriptor(workAdapter)
@@ -116,6 +121,17 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
}
@Override
+ public ResolverListAdapter getPersonalListAdapter() {
+ return getAdapterForIndex(PROFILE_PERSONAL);
+ }
+
+ @Override
+ @Nullable
+ public ResolverListAdapter getWorkListAdapter() {
+ return getAdapterForIndex(PROFILE_WORK);
+ }
+
+ @Override
ResolverListAdapter getCurrentRootAdapter() {
return getActiveListAdapter();
}
diff --git a/core/java/com/android/internal/compat/ChangeReporter.java b/core/java/com/android/internal/compat/ChangeReporter.java
index e0eb9af8b228..5e886a611913 100644
--- a/core/java/com/android/internal/compat/ChangeReporter.java
+++ b/core/java/com/android/internal/compat/ChangeReporter.java
@@ -16,13 +16,16 @@
package com.android.internal.compat;
+import android.annotation.IntDef;
import android.util.Log;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -42,7 +45,7 @@ public final class ChangeReporter {
long mChangeId;
int mState;
- ChangeReport(long changeId, int state) {
+ ChangeReport(long changeId, @State int state) {
mChangeId = changeId;
mState = state;
}
@@ -69,7 +72,7 @@ public final class ChangeReporter {
// When true will of every time to debug (logcat).
private boolean mDebugLogAll;
- public ChangeReporter(int source) {
+ public ChangeReporter(@Source int source) {
mSource = source;
mReportedChanges = new HashMap<>();
mDebugLogAll = false;
@@ -85,8 +88,8 @@ public final class ChangeReporter {
*/
public void reportChange(int uid, long changeId, int state) {
if (shouldWriteToStatsLog(uid, changeId, state)) {
- StatsLog.write(StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED, uid, changeId,
- state, mSource);
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED, uid,
+ changeId, state, mSource);
}
if (shouldWriteToDebug(uid, changeId, state)) {
debugLog(uid, changeId, state);
@@ -110,7 +113,7 @@ public final class ChangeReporter {
/**
- * Returns whether the next report should be logged to statsLog.
+ * Returns whether the next report should be logged to FrameworkStatsLog.
*
* @param uid affected by the change
* @param changeId the reported change id
@@ -174,7 +177,7 @@ public final class ChangeReporter {
private void debugLog(int uid, long changeId, int state) {
String message = String.format("Compat change id reported: %d; UID %d; state: %s", changeId,
uid, stateToString(state));
- if (mSource == StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__SYSTEM_SERVER) {
+ if (mSource == SOURCE_SYSTEM_SERVER) {
Slog.d(TAG, message);
} else {
Log.d(TAG, message);
@@ -183,21 +186,56 @@ public final class ChangeReporter {
}
/**
- * Transforms StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE enum to a string.
+ * Transforms {@link #ChangeReporter.State} enum to a string.
*
* @param state to transform
* @return a string representing the state
*/
- private static String stateToString(int state) {
+ private static String stateToString(@State int state) {
switch (state) {
- case StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED:
+ case STATE_LOGGED:
return "LOGGED";
- case StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED:
+ case STATE_ENABLED:
return "ENABLED";
- case StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED:
+ case STATE_DISABLED:
return "DISABLED";
default:
return "UNKNOWN";
}
}
+
+ /** These values should be kept in sync with those in atoms.proto */
+ public static final int STATE_UNKNOWN_STATE =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__UNKNOWN_STATE;
+ public static final int STATE_ENABLED =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED;
+ public static final int STATE_DISABLED =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED;
+ public static final int STATE_LOGGED =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED;
+ public static final int SOURCE_UNKNOWN_SOURCE =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__UNKNOWN_SOURCE;
+ public static final int SOURCE_APP_PROCESS =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__APP_PROCESS;
+ public static final int SOURCE_SYSTEM_SERVER =
+ FrameworkStatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__SYSTEM_SERVER;
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(flag = true, prefix = { "STATE_" }, value = {
+ STATE_UNKNOWN_STATE,
+ STATE_ENABLED,
+ STATE_DISABLED,
+ STATE_LOGGED
+ })
+ public @interface State {
+ }
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(flag = true, prefix = { "SOURCE_" }, value = {
+ SOURCE_UNKNOWN_SOURCE,
+ SOURCE_APP_PROCESS,
+ SOURCE_SYSTEM_SERVER
+ })
+ public @interface Source {
+ }
}
diff --git a/core/java/com/android/internal/logging/InstanceId.java b/core/java/com/android/internal/logging/InstanceId.java
index 85dbac3f59bb..85643fcffa2f 100644
--- a/core/java/com/android/internal/logging/InstanceId.java
+++ b/core/java/com/android/internal/logging/InstanceId.java
@@ -16,20 +16,33 @@
package com.android.internal.logging;
+import static java.lang.Math.max;
+import static java.lang.Math.min;
+
import android.annotation.Nullable;
+import android.os.Parcel;
+import android.os.Parcelable;
import com.android.internal.annotations.VisibleForTesting;
/**
* An opaque identifier used to disambiguate which logs refer to a particular instance of some
* UI element. Useful when there might be multiple instances simultaneously active.
- * Obtain from InstanceIdSequence.
+ * Obtain from InstanceIdSequence. Clipped to range [0, INSTANCE_ID_MAX].
*/
-public class InstanceId {
- private int mId;
- protected InstanceId(int id) {
- mId = id;
+public final class InstanceId implements Parcelable {
+ // At most 20 bits: ~1m possibilities, ~0.5% probability of collision in 100 values
+ static final int INSTANCE_ID_MAX = 1 << 20;
+
+ private final int mId;
+ InstanceId(int id) {
+ mId = min(max(0, id), INSTANCE_ID_MAX);
+ }
+
+ private InstanceId(Parcel in) {
+ this(in.readInt());
}
+
@VisibleForTesting
public int getId() {
return mId;
@@ -47,4 +60,28 @@ public class InstanceId {
}
return mId == ((InstanceId) obj).mId;
}
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeInt(mId);
+ }
+
+ public static final Parcelable.Creator<InstanceId> CREATOR =
+ new Parcelable.Creator<InstanceId>() {
+ @Override
+ public InstanceId createFromParcel(Parcel in) {
+ return new InstanceId(in);
+ }
+
+ @Override
+ public InstanceId[] newArray(int size) {
+ return new InstanceId[size];
+ }
+ };
+
}
diff --git a/core/java/com/android/internal/logging/InstanceIdSequence.java b/core/java/com/android/internal/logging/InstanceIdSequence.java
index 2e78ed8c5185..aa507e538944 100644
--- a/core/java/com/android/internal/logging/InstanceIdSequence.java
+++ b/core/java/com/android/internal/logging/InstanceIdSequence.java
@@ -19,6 +19,8 @@ package com.android.internal.logging;
import static java.lang.Math.max;
import static java.lang.Math.min;
+import com.android.internal.annotations.VisibleForTesting;
+
import java.security.SecureRandom;
import java.util.Random;
@@ -28,8 +30,6 @@ import java.util.Random;
* first use; try to give it a long lifetime. Safe for concurrent use.
*/
public class InstanceIdSequence {
- // At most 20 bits: ~1m possibilities, ~0.5% probability of collision in 100 values
- private static final int INSTANCE_ID_MAX = 1 << 20;
protected final int mInstanceIdMax;
private final Random mRandom = new SecureRandom();
@@ -39,7 +39,7 @@ public class InstanceIdSequence {
* an all-zero sequence.
*/
public InstanceIdSequence(int instanceIdMax) {
- mInstanceIdMax = min(max(0, instanceIdMax), INSTANCE_ID_MAX);
+ mInstanceIdMax = min(max(0, instanceIdMax), InstanceId.INSTANCE_ID_MAX);
}
/**
@@ -47,6 +47,16 @@ public class InstanceIdSequence {
* @return new InstanceId
*/
public InstanceId newInstanceId() {
- return new InstanceId(mRandom.nextInt(mInstanceIdMax));
+ return newInstanceIdInternal(mRandom.nextInt(mInstanceIdMax));
+ }
+
+ /**
+ * Factory function for instance IDs, used for testing.
+ * @param id
+ * @return new InstanceId(id)
+ */
+ @VisibleForTesting
+ protected InstanceId newInstanceIdInternal(int id) {
+ return new InstanceId(id);
}
}
diff --git a/core/java/com/android/internal/logging/MetricsLogger.java b/core/java/com/android/internal/logging/MetricsLogger.java
index ed04fd83a515..140c410e8de6 100644
--- a/core/java/com/android/internal/logging/MetricsLogger.java
+++ b/core/java/com/android/internal/logging/MetricsLogger.java
@@ -19,10 +19,10 @@ import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.metrics.LogMaker;
import android.os.Build;
-import android.util.StatsLog;
import android.view.View;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.FrameworkStatsLog;
/**
* Writes sysui_multi_event records to the system event log.
@@ -55,8 +55,8 @@ public class MetricsLogger {
protected void saveLog(LogMaker log) {
// TODO(b/116684537): Flag guard logging to event log and statsd socket.
EventLogTags.writeSysuiMultiAction(log.serialize());
- StatsLog.write(StatsLog.KEY_VALUE_PAIRS_ATOM, /* UID is retrieved from statsd side */ 0,
- log.getEntries());
+ FrameworkStatsLog.write(FrameworkStatsLog.KEY_VALUE_PAIRS_ATOM,
+ /* UID is retrieved from statsd side */ 0, log.getEntries());
}
public static final int VIEW_UNKNOWN = MetricsEvent.VIEW_UNKNOWN;
diff --git a/core/java/com/android/internal/logging/UiEventLoggerImpl.java b/core/java/com/android/internal/logging/UiEventLoggerImpl.java
index fe758a8e6cb7..785b2edf2e1b 100644
--- a/core/java/com/android/internal/logging/UiEventLoggerImpl.java
+++ b/core/java/com/android/internal/logging/UiEventLoggerImpl.java
@@ -16,10 +16,10 @@
package com.android.internal.logging;
-import android.util.StatsLog;
+import com.android.internal.util.FrameworkStatsLog;
/**
- * Standard implementation of UiEventLogger, writing to StatsLog.
+ * Standard implementation of UiEventLogger, writing to FrameworkStatsLog.
*
* See UiEventReported atom in atoms.proto for more context.
*/
@@ -33,7 +33,7 @@ public class UiEventLoggerImpl implements UiEventLogger {
public void log(UiEventEnum event, int uid, String packageName) {
final int eventID = event.getId();
if (eventID > 0) {
- StatsLog.write(StatsLog.UI_EVENT_REPORTED, eventID, uid, packageName);
+ FrameworkStatsLog.write(FrameworkStatsLog.UI_EVENT_REPORTED, eventID, uid, packageName);
}
}
@@ -42,7 +42,7 @@ public class UiEventLoggerImpl implements UiEventLogger {
InstanceId instance) {
final int eventID = event.getId();
if (eventID > 0) {
- StatsLog.write(StatsLog.UI_EVENT_REPORTED, eventID, uid, packageName,
+ FrameworkStatsLog.write(FrameworkStatsLog.UI_EVENT_REPORTED, eventID, uid, packageName,
instance.getId());
}
}
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 580c1f00d788..18066dce287e 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -85,7 +85,6 @@ import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
import android.util.SparseLongArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.Xml;
import android.view.Display;
@@ -100,6 +99,7 @@ import com.android.internal.os.KernelCpuUidTimeReader.KernelCpuUidUserSysTimeRea
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.XmlUtils;
import libcore.util.EmptyArray;
@@ -4263,13 +4263,13 @@ public class BatteryStatsImpl extends BatteryStats {
getUidStatsLocked(uid).noteStartWakeLocked(pid, name, type, elapsedRealtime);
if (wc != null) {
- StatsLog.write(StatsLog.WAKELOCK_STATE_CHANGED, wc.getUids(), wc.getTags(),
- getPowerManagerWakeLockLevel(type), name,
- StatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE);
+ FrameworkStatsLog.write(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, wc.getUids(),
+ wc.getTags(), getPowerManagerWakeLockLevel(type), name,
+ FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE);
} else {
- StatsLog.write_non_chained(StatsLog.WAKELOCK_STATE_CHANGED, uid, null,
- getPowerManagerWakeLockLevel(type), name,
- StatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, uid,
+ null, getPowerManagerWakeLockLevel(type), name,
+ FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__ACQUIRE);
}
}
}
@@ -4308,13 +4308,13 @@ public class BatteryStatsImpl extends BatteryStats {
getUidStatsLocked(uid).noteStopWakeLocked(pid, name, type, elapsedRealtime);
if (wc != null) {
- StatsLog.write(StatsLog.WAKELOCK_STATE_CHANGED, wc.getUids(), wc.getTags(),
- getPowerManagerWakeLockLevel(type), name,
- StatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE);
+ FrameworkStatsLog.write(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, wc.getUids(),
+ wc.getTags(), getPowerManagerWakeLockLevel(type), name,
+ FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE);
} else {
- StatsLog.write_non_chained(StatsLog.WAKELOCK_STATE_CHANGED, uid, null,
- getPowerManagerWakeLockLevel(type), name,
- StatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.WAKELOCK_STATE_CHANGED, uid,
+ null, getPowerManagerWakeLockLevel(type), name,
+ FrameworkStatsLog.WAKELOCK_STATE_CHANGED__STATE__RELEASE);
}
}
}
@@ -4323,7 +4323,8 @@ public class BatteryStatsImpl extends BatteryStats {
* Converts BatteryStats wakelock types back into PowerManager wakelock levels.
* This is the inverse map of Notifier.getBatteryStatsWakeLockMonitorType().
* These are estimations, since batterystats loses some of the original data.
- * TODO: Delete this. Instead, StatsLog.write should be called from PowerManager's Notifier.
+ * TODO: Delete this. Instead, FrameworkStatsLog.write should be called from
+ * PowerManager's Notifier.
*/
private int getPowerManagerWakeLockLevel(int battertStatsWakelockType) {
switch (battertStatsWakelockType) {
@@ -4516,7 +4517,7 @@ public class BatteryStatsImpl extends BatteryStats {
long deltaUptime = uptimeMs - mLastWakeupUptimeMs;
SamplingTimer timer = getWakeupReasonTimerLocked(mLastWakeupReason);
timer.add(deltaUptime * 1000, 1); // time in in microseconds
- StatsLog.write(StatsLog.KERNEL_WAKEUP_REPORTED, mLastWakeupReason,
+ FrameworkStatsLog.write(FrameworkStatsLog.KERNEL_WAKEUP_REPORTED, mLastWakeupReason,
/* duration_usec */ deltaUptime * 1000);
mLastWakeupReason = null;
}
@@ -4658,12 +4659,12 @@ public class BatteryStatsImpl extends BatteryStats {
mGpsNesting++;
if (workChain == null) {
- StatsLog.write_non_chained(StatsLog.GPS_SCAN_STATE_CHANGED, uid, null,
- StatsLog.GPS_SCAN_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.GPS_SCAN_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.GPS_SCAN_STATE_CHANGED__STATE__ON);
} else {
- StatsLog.write(StatsLog.GPS_SCAN_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.GPS_SCAN_STATE_CHANGED,
workChain.getUids(), workChain.getTags(),
- StatsLog.GPS_SCAN_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.GPS_SCAN_STATE_CHANGED__STATE__ON);
}
getUidStatsLocked(uid).noteStartGps(elapsedRealtime);
@@ -4684,11 +4685,11 @@ public class BatteryStatsImpl extends BatteryStats {
}
if (workChain == null) {
- StatsLog.write_non_chained(StatsLog.GPS_SCAN_STATE_CHANGED, uid, null,
- StatsLog.GPS_SCAN_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.GPS_SCAN_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.GPS_SCAN_STATE_CHANGED__STATE__OFF);
} else {
- StatsLog.write(StatsLog.GPS_SCAN_STATE_CHANGED, workChain.getUids(),
- workChain.getTags(), StatsLog.GPS_SCAN_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.GPS_SCAN_STATE_CHANGED, workChain.getUids(),
+ workChain.getTags(), FrameworkStatsLog.GPS_SCAN_STATE_CHANGED__STATE__OFF);
}
getUidStatsLocked(uid).noteStopGps(elapsedRealtime);
@@ -4947,9 +4948,10 @@ public class BatteryStatsImpl extends BatteryStats {
mPowerSaveModeEnabledTimer.stopRunningLocked(elapsedRealtime);
}
addHistoryRecordLocked(elapsedRealtime, uptime);
- StatsLog.write(StatsLog.BATTERY_SAVER_MODE_STATE_CHANGED, enabled ?
- StatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__ON :
- StatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED,
+ enabled
+ ? FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__ON
+ : FrameworkStatsLog.BATTERY_SAVER_MODE_STATE_CHANGED__STATE__OFF);
}
}
@@ -4977,7 +4979,7 @@ public class BatteryStatsImpl extends BatteryStats {
if (nowIdling) statsmode = DEVICE_IDLE_MODE_DEEP;
else if (nowLightIdling) statsmode = DEVICE_IDLE_MODE_LIGHT;
else statsmode = DEVICE_IDLE_MODE_OFF;
- StatsLog.write(StatsLog.DEVICE_IDLING_MODE_STATE_CHANGED, statsmode);
+ FrameworkStatsLog.write(FrameworkStatsLog.DEVICE_IDLING_MODE_STATE_CHANGED, statsmode);
}
if (mDeviceIdling != nowIdling) {
mDeviceIdling = nowIdling;
@@ -5023,7 +5025,7 @@ public class BatteryStatsImpl extends BatteryStats {
mDeviceIdleModeFullTimer.startRunningLocked(elapsedRealtime);
}
mDeviceIdleMode = mode;
- StatsLog.write(StatsLog.DEVICE_IDLE_MODE_STATE_CHANGED, mode);
+ FrameworkStatsLog.write(FrameworkStatsLog.DEVICE_IDLE_MODE_STATE_CHANGED, mode);
}
}
@@ -5197,7 +5199,8 @@ public class BatteryStatsImpl extends BatteryStats {
if (DEBUG_HISTORY) Slog.v(TAG, "Phone started scanning to: "
+ Integer.toHexString(mHistoryCur.states));
mPhoneSignalScanningTimer.startRunningLocked(elapsedRealtime);
- StatsLog.write(StatsLog.PHONE_SERVICE_STATE_CHANGED, state, simState, strengthBin);
+ FrameworkStatsLog.write(FrameworkStatsLog.PHONE_SERVICE_STATE_CHANGED, state,
+ simState, strengthBin);
}
}
@@ -5209,7 +5212,8 @@ public class BatteryStatsImpl extends BatteryStats {
+ Integer.toHexString(mHistoryCur.states));
newHistory = true;
mPhoneSignalScanningTimer.stopRunningLocked(elapsedRealtime);
- StatsLog.write(StatsLog.PHONE_SERVICE_STATE_CHANGED, state, simState, strengthBin);
+ FrameworkStatsLog.write(FrameworkStatsLog.PHONE_SERVICE_STATE_CHANGED, state,
+ simState, strengthBin);
}
}
@@ -5236,7 +5240,8 @@ public class BatteryStatsImpl extends BatteryStats {
if (DEBUG_HISTORY) Slog.v(TAG, "Signal strength " + strengthBin + " to: "
+ Integer.toHexString(mHistoryCur.states));
newHistory = true;
- StatsLog.write(StatsLog.PHONE_SIGNAL_STRENGTH_CHANGED, strengthBin);
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.PHONE_SIGNAL_STRENGTH_CHANGED, strengthBin);
} else {
stopAllPhoneSignalStrengthTimersLocked(-1);
}
@@ -12436,13 +12441,13 @@ public class BatteryStatsImpl extends BatteryStats {
final int status, final int plugType, final int level) {
if (recentPast == null || recentPast.batteryStatus != status) {
- StatsLog.write(StatsLog.CHARGING_STATE_CHANGED, status);
+ FrameworkStatsLog.write(FrameworkStatsLog.CHARGING_STATE_CHANGED, status);
}
if (recentPast == null || recentPast.batteryPlugType != plugType) {
- StatsLog.write(StatsLog.PLUGGED_STATE_CHANGED, plugType);
+ FrameworkStatsLog.write(FrameworkStatsLog.PLUGGED_STATE_CHANGED, plugType);
}
if (recentPast == null || recentPast.batteryLevel != level) {
- StatsLog.write(StatsLog.BATTERY_LEVEL_CHANGED, level);
+ FrameworkStatsLog.write(FrameworkStatsLog.BATTERY_LEVEL_CHANGED, level);
}
}
diff --git a/core/java/com/android/internal/os/RuntimeInit.java b/core/java/com/android/internal/os/RuntimeInit.java
index 7adb27cd9e36..c6ed624d73ac 100644
--- a/core/java/com/android/internal/os/RuntimeInit.java
+++ b/core/java/com/android/internal/os/RuntimeInit.java
@@ -67,9 +67,10 @@ public class RuntimeInit {
private static volatile boolean mCrashing = false;
- /*
+ /**
* Native heap allocations will now have a non-zero tag in the most significant byte.
- * See {@linktourl https://source.android.com/devices/tech/debug/tagged-pointers}.
+ * See
+ * <a href="https://source.android.com/devices/tech/debug/tagged-pointers">https://source.android.com/devices/tech/debug/tagged-pointers</a>.
*/
@ChangeId
@EnabledAfter(targetSdkVersion = VersionCodes.Q)
@@ -468,7 +469,8 @@ public class RuntimeInit {
try {
if (ActivityManager.getService().handleApplicationWtf(
mApplicationObject, tag, system,
- new ApplicationErrorReport.ParcelableCrashInfo(t))) {
+ new ApplicationErrorReport.ParcelableCrashInfo(t),
+ Process.myPid())) {
// The Activity Manager has already written us off -- now exit.
Process.killProcess(Process.myPid());
System.exit(10);
diff --git a/core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java b/core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java
index c169b2239554..89773b3feac7 100644
--- a/core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java
+++ b/core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java
@@ -18,10 +18,10 @@ package com.android.internal.os;
import android.metrics.LogMaker;
import android.os.Process;
-import android.util.StatsLog;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.FrameworkStatsLog;
import dalvik.system.VMRuntime.HiddenApiUsageLogger;
@@ -84,23 +84,24 @@ class StatsdHiddenApiUsageLogger implements HiddenApiUsageLogger {
}
private void newLogUsage(String signature, int accessMethod, boolean accessDenied) {
- int accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__NONE;
+ int accessMethodProto = FrameworkStatsLog.HIDDEN_API_USED__ACCESS_METHOD__NONE;
switch(accessMethod) {
case HiddenApiUsageLogger.ACCESS_METHOD_NONE:
- accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__NONE;
+ accessMethodProto = FrameworkStatsLog.HIDDEN_API_USED__ACCESS_METHOD__NONE;
break;
case HiddenApiUsageLogger.ACCESS_METHOD_REFLECTION:
- accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__REFLECTION;
+ accessMethodProto = FrameworkStatsLog.HIDDEN_API_USED__ACCESS_METHOD__REFLECTION;
break;
case HiddenApiUsageLogger.ACCESS_METHOD_JNI:
- accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__JNI;
+ accessMethodProto = FrameworkStatsLog.HIDDEN_API_USED__ACCESS_METHOD__JNI;
break;
case HiddenApiUsageLogger.ACCESS_METHOD_LINKING:
- accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__LINKING;
+ accessMethodProto = FrameworkStatsLog.HIDDEN_API_USED__ACCESS_METHOD__LINKING;
break;
}
int uid = Process.myUid();
- StatsLog.write(StatsLog.HIDDEN_API_USED, uid, signature, accessMethodProto, accessDenied);
+ FrameworkStatsLog.write(FrameworkStatsLog.HIDDEN_API_USED, uid, signature,
+ accessMethodProto, accessDenied);
}
}
diff --git a/core/java/com/android/internal/os/logging/MetricsLoggerWrapper.java b/core/java/com/android/internal/os/logging/MetricsLoggerWrapper.java
index 8bb1e48201bb..ba60fa590792 100644
--- a/core/java/com/android/internal/os/logging/MetricsLoggerWrapper.java
+++ b/core/java/com/android/internal/os/logging/MetricsLoggerWrapper.java
@@ -20,11 +20,11 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager.NameNotFoundException;
import android.util.Pair;
-import android.util.StatsLog;
import android.view.WindowManager.LayoutParams;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.FrameworkStatsLog;
/**
* Used to wrap different logging calls in one, so that client side code base is clean and more
@@ -39,10 +39,10 @@ public class MetricsLoggerWrapper {
Pair<ComponentName, Integer> topActivityInfo) {
MetricsLogger.action(context, MetricsEvent.ACTION_PICTURE_IN_PICTURE_DISMISSED,
METRIC_VALUE_DISMISSED_BY_TAP);
- StatsLog.write(StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
getUid(context, topActivityInfo.first, topActivityInfo.second),
topActivityInfo.first.flattenToString(),
- StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__DISMISSED);
+ FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__DISMISSED);
}
public static void logPictureInPictureDismissByDrag(Context context,
@@ -50,20 +50,20 @@ public class MetricsLoggerWrapper {
MetricsLogger.action(context,
MetricsEvent.ACTION_PICTURE_IN_PICTURE_DISMISSED,
METRIC_VALUE_DISMISSED_BY_DRAG);
- StatsLog.write(StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
getUid(context, topActivityInfo.first, topActivityInfo.second),
topActivityInfo.first.flattenToString(),
- StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__DISMISSED);
+ FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__DISMISSED);
}
public static void logPictureInPictureMinimize(Context context, boolean isMinimized,
Pair<ComponentName, Integer> topActivityInfo) {
MetricsLogger.action(context, MetricsEvent.ACTION_PICTURE_IN_PICTURE_MINIMIZED,
isMinimized);
- StatsLog.write(StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
getUid(context, topActivityInfo.first, topActivityInfo.second),
topActivityInfo.first.flattenToString(),
- StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__MINIMIZED);
+ FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__MINIMIZED);
}
/**
@@ -92,29 +92,29 @@ public class MetricsLoggerWrapper {
int uid, String shortComponentName, boolean supportsEnterPipOnTaskSwitch) {
MetricsLogger.action(context, MetricsEvent.ACTION_PICTURE_IN_PICTURE_ENTERED,
supportsEnterPipOnTaskSwitch);
- StatsLog.write(StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED, uid,
+ FrameworkStatsLog.write(FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED, uid,
shortComponentName,
- StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__ENTERED);
+ FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__ENTERED);
}
public static void logPictureInPictureFullScreen(Context context, int uid,
String shortComponentName) {
MetricsLogger.action(context,
MetricsEvent.ACTION_PICTURE_IN_PICTURE_EXPANDED_TO_FULLSCREEN);
- StatsLog.write(StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED,
uid,
shortComponentName,
- StatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__EXPANDED_TO_FULL_SCREEN);
+ FrameworkStatsLog.PICTURE_IN_PICTURE_STATE_CHANGED__STATE__EXPANDED_TO_FULL_SCREEN);
}
public static void logAppOverlayEnter(int uid, String packageName, boolean changed, int type, boolean usingAlertWindow) {
if (changed) {
if (type != LayoutParams.TYPE_APPLICATION_OVERLAY) {
- StatsLog.write(StatsLog.OVERLAY_STATE_CHANGED, uid, packageName, true,
- StatsLog.OVERLAY_STATE_CHANGED__STATE__ENTERED);
+ FrameworkStatsLog.write(FrameworkStatsLog.OVERLAY_STATE_CHANGED, uid, packageName,
+ true, FrameworkStatsLog.OVERLAY_STATE_CHANGED__STATE__ENTERED);
} else if (!usingAlertWindow){
- StatsLog.write(StatsLog.OVERLAY_STATE_CHANGED, uid, packageName, false,
- StatsLog.OVERLAY_STATE_CHANGED__STATE__ENTERED);
+ FrameworkStatsLog.write(FrameworkStatsLog.OVERLAY_STATE_CHANGED, uid, packageName,
+ false, FrameworkStatsLog.OVERLAY_STATE_CHANGED__STATE__ENTERED);
}
}
}
@@ -122,11 +122,11 @@ public class MetricsLoggerWrapper {
public static void logAppOverlayExit(int uid, String packageName, boolean changed, int type, boolean usingAlertWindow) {
if (changed) {
if (type != LayoutParams.TYPE_APPLICATION_OVERLAY) {
- StatsLog.write(StatsLog.OVERLAY_STATE_CHANGED, uid, packageName, true,
- StatsLog.OVERLAY_STATE_CHANGED__STATE__EXITED);
+ FrameworkStatsLog.write(FrameworkStatsLog.OVERLAY_STATE_CHANGED, uid, packageName,
+ true, FrameworkStatsLog.OVERLAY_STATE_CHANGED__STATE__EXITED);
} else if (!usingAlertWindow){
- StatsLog.write(StatsLog.OVERLAY_STATE_CHANGED, uid, packageName, false,
- StatsLog.OVERLAY_STATE_CHANGED__STATE__EXITED);
+ FrameworkStatsLog.write(FrameworkStatsLog.OVERLAY_STATE_CHANGED, uid, packageName,
+ false, FrameworkStatsLog.OVERLAY_STATE_CHANGED__STATE__EXITED);
}
}
}
diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java
index f13a638f7844..46d7f4ec4c85 100644
--- a/core/java/com/android/internal/policy/PhoneWindow.java
+++ b/core/java/com/android/internal/policy/PhoneWindow.java
@@ -320,7 +320,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
/** @see ViewRootImpl#mActivityConfigCallback */
private ActivityConfigCallback mActivityConfigCallback;
- private OnContentApplyWindowInsetsListener mPendingOnContentApplyWindowInsetsListener;
+ private OnContentApplyWindowInsetsListener mPendingOnContentApplyWindowInsetsListener
+ = createDefaultContentWindowInsetsListener();
static class WindowManagerHolder {
static final IWindowManager sWindowManager = IWindowManager.Stub.asInterface(
@@ -2109,14 +2110,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
/** Notify when decor view is attached to window and {@link ViewRootImpl} is available. */
void onViewRootImplSet(ViewRootImpl viewRoot) {
viewRoot.setActivityConfigCallback(mActivityConfigCallback);
- if (mPendingOnContentApplyWindowInsetsListener != null) {
- viewRoot.setOnContentApplyWindowInsetsListener(
- mPendingOnContentApplyWindowInsetsListener);
- mPendingOnContentApplyWindowInsetsListener = null;
- } else {
- viewRoot.setOnContentApplyWindowInsetsListener(
- createDefaultContentWindowInsetsListener());
- }
+ viewRoot.setOnContentApplyWindowInsetsListener(
+ mPendingOnContentApplyWindowInsetsListener);
+ mPendingOnContentApplyWindowInsetsListener = null;
}
private OnContentApplyWindowInsetsListener createDefaultContentWindowInsetsListener() {
@@ -2125,8 +2121,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
return new Pair<>(Insets.NONE, insets);
}
- boolean includeIme = (getAttributes().softInputMode & SOFT_INPUT_MASK_ADJUST)
- == SOFT_INPUT_ADJUST_RESIZE;
+ boolean includeIme =
+ (getViewRootImpl().mWindowAttributes.softInputMode & SOFT_INPUT_MASK_ADJUST)
+ == SOFT_INPUT_ADJUST_RESIZE;
Insets insetsToApply;
if (ViewRootImpl.sNewInsetsMode == 0) {
insetsToApply = insets.getSystemWindowInsets();
@@ -3902,17 +3899,15 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
}
@Override
- public void setOnContentApplyWindowInsetsListener(OnContentApplyWindowInsetsListener listener) {
+ public void setDecorFitsSystemWindows(boolean decorFitsSystemWindows) {
ViewRootImpl impl = getViewRootImpl();
+ OnContentApplyWindowInsetsListener listener = decorFitsSystemWindows
+ ? createDefaultContentWindowInsetsListener()
+ : null;
if (impl != null) {
impl.setOnContentApplyWindowInsetsListener(listener);
} else {
mPendingOnContentApplyWindowInsetsListener = listener;
}
}
-
- @Override
- public void resetOnContentApplyWindowInsetsListener() {
- setOnContentApplyWindowInsetsListener(createDefaultContentWindowInsetsListener());
- }
}
diff --git a/core/java/com/android/internal/statusbar/IStatusBar.aidl b/core/java/com/android/internal/statusbar/IStatusBar.aidl
index a2736333383e..21067127a8e7 100644
--- a/core/java/com/android/internal/statusbar/IStatusBar.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBar.aidl
@@ -210,4 +210,14 @@ oneway interface IStatusBar
* Cancels toast with token {@code token} in {@code packageName}.
*/
void hideToast(String packageName, IBinder token);
+
+ /**
+ * Notifies SystemUI to start tracing.
+ */
+ void startTracing();
+
+ /**
+ * Notifies SystemUI to stop tracing.
+ */
+ void stopTracing();
}
diff --git a/core/java/com/android/internal/statusbar/IStatusBarService.aidl b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
index a9f7b8455807..5ce83c2db44d 100644
--- a/core/java/com/android/internal/statusbar/IStatusBarService.aidl
+++ b/core/java/com/android/internal/statusbar/IStatusBarService.aidl
@@ -78,6 +78,7 @@ interface IStatusBarService
in int notificationLocation, boolean modifiedBeforeSending);
void onNotificationSettingsViewed(String key);
void onNotificationBubbleChanged(String key, boolean isBubble);
+ void onBubbleNotificationSuppressionChanged(String key, boolean isSuppressed);
void grantInlineReplyUriPermission(String key, in Uri uri, in UserHandle user, String packageName);
void clearInlineReplyUriPermissions(String key);
@@ -123,4 +124,19 @@ interface IStatusBarService
* Dismiss the warning that the device is about to go to sleep due to user inactivity.
*/
void dismissInattentiveSleepWarning(boolean animated);
+
+ /**
+ * Notifies SystemUI to start tracing.
+ */
+ void startTracing();
+
+ /**
+ * Notifies SystemUI to stop tracing.
+ */
+ void stopTracing();
+
+ /**
+ * Returns whether SystemUI tracing is enabled.
+ */
+ boolean isTracing();
}
diff --git a/core/java/com/android/internal/util/LocationPermissionChecker.java b/core/java/com/android/internal/util/LocationPermissionChecker.java
index 2db0e9979d94..cd8fc350362d 100644
--- a/core/java/com/android/internal/util/LocationPermissionChecker.java
+++ b/core/java/com/android/internal/util/LocationPermissionChecker.java
@@ -17,6 +17,7 @@
package com.android.internal.util;
import android.Manifest;
+import android.annotation.IntDef;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AppOpsManager;
@@ -26,11 +27,13 @@ import android.location.LocationManager;
import android.os.Binder;
import android.os.Build;
import android.os.UserHandle;
-import android.os.UserManager;
import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
* The methods used for location permission and location mode checking.
@@ -41,17 +44,27 @@ public class LocationPermissionChecker {
private static final String TAG = "LocationPermissionChecker";
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = {"LOCATION_PERMISSION_CHECK_STATUS_"}, value = {
+ SUCCEEDED,
+ ERROR_LOCATION_MODE_OFF,
+ ERROR_LOCATION_PERMISSION_MISSING,
+ })
+ public @interface LocationPermissionCheckStatus{}
+
+ // The location permission check succeeded.
+ public static final int SUCCEEDED = 0;
+ // The location mode turns off for the caller.
+ public static final int ERROR_LOCATION_MODE_OFF = 1;
+ // The location permission isn't granted for the caller.
+ public static final int ERROR_LOCATION_PERMISSION_MISSING = 2;
+
private final Context mContext;
private final AppOpsManager mAppOpsManager;
- private final UserManager mUserManager;
- private final LocationManager mLocationManager;
public LocationPermissionChecker(Context context) {
mContext = context;
mAppOpsManager = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE);
- mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
- mLocationManager =
- (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
}
/**
@@ -71,12 +84,38 @@ public class LocationPermissionChecker {
*/
public boolean checkLocationPermission(String pkgName, @Nullable String featureId,
int uid, @Nullable String message) {
- try {
- enforceLocationPermission(pkgName, featureId, uid, message);
- return true;
- } catch (SecurityException e) {
- return false;
+ return checkLocationPermissionInternal(pkgName, featureId, uid, message) == SUCCEEDED;
+ }
+
+ /**
+ * Check location permission granted by the caller.
+ *
+ * This API check if the location mode enabled for the caller and the caller has
+ * ACCESS_COARSE_LOCATION permission is targetSDK<29, otherwise, has ACCESS_FINE_LOCATION.
+ * Compared with {@link #checkLocationPermission(String, String, int, String)}, this API returns
+ * the detail information about the checking result, including the reason why it's failed and
+ * logs the error for the caller.
+ *
+ * @param pkgName package name of the application requesting access
+ * @param featureId The feature in the package
+ * @param uid The uid of the package
+ * @param message A message describing why the permission was checked. Only needed if this is
+ * not inside of a two-way binder call from the data receiver
+ *
+ * @return {@link LocationPermissionCheckStatus} the result of the location permission check.
+ */
+ public @LocationPermissionCheckStatus int checkLocationPermissionWithDetailInfo(
+ String pkgName, @Nullable String featureId, int uid, @Nullable String message) {
+ final int result = checkLocationPermissionInternal(pkgName, featureId, uid, message);
+ switch (result) {
+ case ERROR_LOCATION_MODE_OFF:
+ Log.e(TAG, "Location mode is disabled for the device");
+ break;
+ case ERROR_LOCATION_PERMISSION_MISSING:
+ Log.e(TAG, "UID " + uid + " has no location permission");
+ break;
}
+ return result;
}
/**
@@ -94,20 +133,32 @@ public class LocationPermissionChecker {
*/
public void enforceLocationPermission(String pkgName, @Nullable String featureId, int uid,
@Nullable String message) throws SecurityException {
+ final int result = checkLocationPermissionInternal(pkgName, featureId, uid, message);
+
+ switch (result) {
+ case ERROR_LOCATION_MODE_OFF:
+ throw new SecurityException("Location mode is disabled for the device");
+ case ERROR_LOCATION_PERMISSION_MISSING:
+ throw new SecurityException("UID " + uid + " has no location permission");
+ }
+ }
+ private int checkLocationPermissionInternal(String pkgName, @Nullable String featureId,
+ int uid, @Nullable String message) {
checkPackage(uid, pkgName);
// Location mode must be enabled
if (!isLocationModeEnabled()) {
- throw new SecurityException("Location mode is disabled for the device");
+ return ERROR_LOCATION_MODE_OFF;
}
// LocationAccess by App: caller must have Coarse/Fine Location permission to have access to
// location information.
- if (!checkCallersLocationPermission(pkgName, featureId,
- uid, /* coarseForTargetSdkLessThanQ */ true, message)) {
- throw new SecurityException("UID " + uid + " has no location permission");
+ if (!checkCallersLocationPermission(pkgName, featureId, uid,
+ true /* coarseForTargetSdkLessThanQ */, message)) {
+ return ERROR_LOCATION_PERMISSION_MISSING;
}
+ return SUCCEEDED;
}
/**
@@ -155,8 +206,10 @@ public class LocationPermissionChecker {
* Retrieves a handle to LocationManager (if not already done) and check if location is enabled.
*/
public boolean isLocationModeEnabled() {
+ final LocationManager LocationManager =
+ (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
try {
- return mLocationManager.isLocationEnabledForUser(UserHandle.of(
+ return LocationManager.isLocationEnabledForUser(UserHandle.of(
getCurrentUser()));
} catch (Exception e) {
Log.e(TAG, "Failure to get location mode via API, falling back to settings", e);
diff --git a/core/java/com/android/internal/util/ObjectUtils.java b/core/java/com/android/internal/util/ObjectUtils.java
index 5568d91011dc..0e7b93d406f5 100644
--- a/core/java/com/android/internal/util/ObjectUtils.java
+++ b/core/java/com/android/internal/util/ObjectUtils.java
@@ -46,4 +46,12 @@ public class ObjectUtils {
return (b != null) ? -1 : 0;
}
}
+
+ /**
+ * Returns its first argument if non-null, and the second otherwise.
+ */
+ @Nullable
+ public static <T> T getOrElse(@Nullable final T object, @Nullable final T otherwise) {
+ return null != object ? object : otherwise;
+ }
}
diff --git a/core/java/com/android/internal/util/Preconditions.java b/core/java/com/android/internal/util/Preconditions.java
index 408a7a8e139a..a87e080fa522 100644
--- a/core/java/com/android/internal/util/Preconditions.java
+++ b/core/java/com/android/internal/util/Preconditions.java
@@ -21,7 +21,9 @@ import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.text.TextUtils;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.Objects;
/**
* Simple static methods to be called at the start of your own methods to verify
@@ -497,6 +499,64 @@ public class Preconditions {
}
/**
+ * Ensures that the given byte array is not {@code null}, and contains at least one element.
+ *
+ * @param value an array of elements.
+ * @param valueName the name of the argument to use if the check fails.
+
+ * @return the validated array
+ *
+ * @throws NullPointerException if the {@code value} was {@code null}
+ * @throws IllegalArgumentException if the {@code value} was empty
+ */
+ @NonNull
+ public static byte[] checkByteArrayNotEmpty(final byte[] value, final String valueName) {
+ if (value == null) {
+ throw new NullPointerException(valueName + " must not be null");
+ }
+ if (value.length == 0) {
+ throw new IllegalArgumentException(valueName + " is empty");
+ }
+ return value;
+ }
+
+ /**
+ * Ensures that argument {@code value} is one of {@code supportedValues}.
+ *
+ * @param supportedValues an array of string values
+ * @param value a string value
+ *
+ * @return the validated value
+ *
+ * @throws NullPointerException if either {@code value} or {@code supportedValues} is null
+ * @throws IllegalArgumentException if the {@code value} is not in {@code supportedValues}
+ */
+ @NonNull
+ public static String checkArgumentIsSupported(final String[] supportedValues,
+ final String value) {
+ checkNotNull(value);
+ checkNotNull(supportedValues);
+
+ if (!contains(supportedValues, value)) {
+ throw new IllegalArgumentException(value + "is not supported "
+ + Arrays.toString(supportedValues));
+ }
+ return value;
+ }
+
+ private static boolean contains(String[] values, String value) {
+ if (values == null) {
+ return false;
+ }
+ for (int i = 0; i < values.length; ++i) {
+ if (Objects.equals(value, values[i])) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* Ensures that all elements in the argument floating point array are within the inclusive range
*
* <p>While this can be used to range check against +/- infinity, note that all NaN numbers
diff --git a/services/core/java/com/android/server/utils/TraceBuffer.java b/core/java/com/android/internal/util/TraceBuffer.java
index 0567960e05e4..fe8a59e160bd 100644
--- a/services/core/java/com/android/server/utils/TraceBuffer.java
+++ b/core/java/com/android/internal/util/TraceBuffer.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.server.utils;
+package com.android.internal.util;
import android.util.proto.ProtoOutputStream;
@@ -27,19 +27,87 @@ import java.io.OutputStream;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Queue;
+import java.util.function.Consumer;
/**
* Buffer used for tracing and logging.
+ *
+ * @param <P> The class type of the proto provider
+ * @param <S> The proto class type of the encapsulating proto
+ * @param <T> The proto class type of the individual entry protos in the buffer
+ *
+ * {@hide}
*/
-public class TraceBuffer {
+public class TraceBuffer<P, S extends P, T extends P> {
private final Object mBufferLock = new Object();
- private final Queue<ProtoOutputStream> mBuffer = new ArrayDeque<>();
+ private final ProtoProvider<P, S, T> mProtoProvider;
+ private final Queue<T> mBuffer = new ArrayDeque<>();
+ private final Consumer mProtoDequeuedCallback;
private int mBufferUsedSize;
private int mBufferCapacity;
+ /**
+ * An interface to get protos from different sources (ie. fw-proto/proto-lite/nano-proto) for
+ * the trace buffer.
+ *
+ * @param <P> The class type of the proto provider
+ * @param <S> The proto class type of the encapsulating proto
+ * @param <T> The proto class type of the individual protos in the buffer
+ */
+ public interface ProtoProvider<P, S extends P, T extends P> {
+ /**
+ * @return The size of the given proto.
+ */
+ int getItemSize(P proto);
+
+ /**
+ * @return The bytes of the given proto.
+ */
+ byte[] getBytes(P proto);
+
+ /**
+ * Writes the given encapsulating proto and buffer of protos to the given output
+ * stream.
+ */
+ void write(S encapsulatingProto, Queue<T> buffer, OutputStream os) throws IOException;
+ }
+
+ /**
+ * An implementation of the ProtoProvider that uses only the framework ProtoOutputStream.
+ */
+ private static class ProtoOutputStreamProvider implements
+ ProtoProvider<ProtoOutputStream, ProtoOutputStream, ProtoOutputStream> {
+ @Override
+ public int getItemSize(ProtoOutputStream proto) {
+ return proto.getRawSize();
+ }
+
+ @Override
+ public byte[] getBytes(ProtoOutputStream proto) {
+ return proto.getBytes();
+ }
+
+ @Override
+ public void write(ProtoOutputStream encapsulatingProto, Queue<ProtoOutputStream> buffer,
+ OutputStream os) throws IOException {
+ os.write(encapsulatingProto.getBytes());
+ for (ProtoOutputStream protoOutputStream : buffer) {
+ byte[] protoBytes = protoOutputStream.getBytes();
+ os.write(protoBytes);
+ }
+ }
+ }
+
public TraceBuffer(int bufferCapacity) {
+ this(bufferCapacity, new ProtoOutputStreamProvider(), null);
+ }
+
+ public TraceBuffer(int bufferCapacity, ProtoProvider protoProvider,
+ Consumer<T> protoDequeuedCallback) {
mBufferCapacity = bufferCapacity;
+ mProtoProvider = protoProvider;
+ mProtoDequeuedCallback = protoDequeuedCallback;
resetBuffer();
}
@@ -65,8 +133,8 @@ public class TraceBuffer {
* @throws IllegalStateException if the element cannot be added because it is larger
* than the buffer size.
*/
- public void add(ProtoOutputStream proto) {
- int protoLength = proto.getRawSize();
+ public void add(T proto) {
+ int protoLength = mProtoProvider.getItemSize(proto);
if (protoLength > mBufferCapacity) {
throw new IllegalStateException("Trace object too large for the buffer. Buffer size:"
+ mBufferCapacity + " Object size: " + protoLength);
@@ -79,26 +147,22 @@ public class TraceBuffer {
}
}
- boolean contains(byte[] other) {
+ @VisibleForTesting
+ public boolean contains(byte[] other) {
return mBuffer.stream()
- .anyMatch(p -> Arrays.equals(p.getBytes(), other));
+ .anyMatch(p -> Arrays.equals(mProtoProvider.getBytes(p), other));
}
/**
- * Writes the trace buffer to disk inside the encapsulatingProto..
+ * Writes the trace buffer to disk inside the encapsulatingProto.
*/
- public void writeTraceToFile(File traceFile, ProtoOutputStream encapsulatingProto)
+ public void writeTraceToFile(File traceFile, S encapsulatingProto)
throws IOException {
synchronized (mBufferLock) {
traceFile.delete();
try (OutputStream os = new FileOutputStream(traceFile)) {
traceFile.setReadable(true /* readable */, false /* ownerOnly */);
- os.write(encapsulatingProto.getBytes());
- for (ProtoOutputStream protoOutputStream : mBuffer) {
- encapsulatingProto = protoOutputStream;
- byte[] protoBytes = encapsulatingProto.getBytes();
- os.write(protoBytes);
- }
+ mProtoProvider.write(encapsulatingProto, mBuffer, os);
os.flush();
}
}
@@ -115,12 +179,16 @@ public class TraceBuffer {
while (availableSpace < protoLength) {
- ProtoOutputStream item = mBuffer.poll();
+ P item = mBuffer.poll();
if (item == null) {
throw new IllegalStateException("No element to discard from buffer");
}
- mBufferUsedSize -= item.getRawSize();
+ mBufferUsedSize -= mProtoProvider.getItemSize(item);
availableSpace = getAvailableSpace();
+
+ if (mProtoDequeuedCallback != null) {
+ mProtoDequeuedCallback.accept(item);
+ }
}
}
@@ -129,13 +197,18 @@ public class TraceBuffer {
*/
public void resetBuffer() {
synchronized (mBufferLock) {
+ if (mProtoDequeuedCallback != null) {
+ for (T item : mBuffer) {
+ mProtoDequeuedCallback.accept(item);
+ }
+ }
mBuffer.clear();
mBufferUsedSize = 0;
}
}
@VisibleForTesting
- int getBufferSize() {
+ public int getBufferSize() {
return mBufferUsedSize;
}
@@ -144,16 +217,9 @@ public class TraceBuffer {
*/
public String getStatus() {
synchronized (mBufferLock) {
- return "Buffer size: "
- + mBufferCapacity
- + " bytes"
- + "\n"
- + "Buffer usage: "
- + mBufferUsedSize
- + " bytes"
- + "\n"
- + "Elements in the buffer: "
- + mBuffer.size();
+ return "Buffer size: " + mBufferCapacity + " bytes" + "\n"
+ + "Buffer usage: " + mBufferUsedSize + " bytes" + "\n"
+ + "Elements in the buffer: " + mBuffer.size();
}
}
}
diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java
index f9e98e7eb473..69b1609377b7 100644
--- a/core/java/com/android/internal/view/FloatingActionMode.java
+++ b/core/java/com/android/internal/view/FloatingActionMode.java
@@ -29,7 +29,6 @@ import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.ViewParent;
-import android.view.WindowManager;
import android.widget.PopupWindow;
import com.android.internal.R;
@@ -211,8 +210,7 @@ public final class FloatingActionMode extends ActionMode {
}
private boolean isContentRectWithinBounds() {
- mContext.getSystemService(WindowManager.class)
- .getDefaultDisplay().getRealSize(mDisplaySize);
+ mContext.getDisplay().getRealSize(mDisplaySize);
mScreenRect.set(0, 0, mDisplaySize.x, mDisplaySize.y);
return intersectsClosed(mContentRectOnScreen, mScreenRect)
diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
index bac602509148..0aeaa47ba3d8 100644
--- a/core/java/com/android/internal/view/menu/MenuPopupHelper.java
+++ b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
@@ -24,10 +24,12 @@ import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.graphics.Point;
import android.graphics.Rect;
+import android.util.Size;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
+import android.view.WindowMetrics;
import android.widget.PopupWindow.OnDismissListener;
import com.android.internal.view.menu.MenuPresenter.Callback;
@@ -224,13 +226,10 @@ public class MenuPopupHelper implements MenuHelper {
*/
@NonNull
private MenuPopup createPopup() {
- final WindowManager windowManager = (WindowManager) mContext.getSystemService(
- Context.WINDOW_SERVICE);
- final Display display = windowManager.getDefaultDisplay();
- final Point displaySize = new Point();
- display.getRealSize(displaySize);
+ final WindowManager windowManager = mContext.getSystemService(WindowManager.class);
+ final Size maxWindowSize = windowManager.getMaximumWindowMetrics().getSize();
- final int smallestWidth = Math.min(displaySize.x, displaySize.y);
+ final int smallestWidth = Math.min(maxWindowSize.getWidth(), maxWindowSize.getHeight());
final int minSmallestWidthCascading = mContext.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.cascading_menus_min_smallest_width);
final boolean enableCascadingSubmenus = smallestWidth >= minSmallestWidthCascading;
diff --git a/core/java/com/android/internal/widget/ILockSettings.aidl b/core/java/com/android/internal/widget/ILockSettings.aidl
index de02eb090391..e24e982bc9a8 100644
--- a/core/java/com/android/internal/widget/ILockSettings.aidl
+++ b/core/java/com/android/internal/widget/ILockSettings.aidl
@@ -89,4 +89,6 @@ interface ILockSettings {
in List<WrappedApplicationKey> applicationKeys);
void closeSession(in String sessionId);
boolean hasSecureLockScreen();
+ boolean tryUnlockWithCachedUnifiedChallenge(int userId);
+ void removeCachedUnifiedChallenge(int userId);
}
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index f37a46811b81..864429c98989 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -55,10 +55,10 @@ import android.util.SparseLongArray;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.LocalServices;
-import libcore.util.HexEncoding;
-
import com.google.android.collect.Lists;
+import libcore.util.HexEncoding;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.security.MessageDigest;
@@ -1755,4 +1755,33 @@ public class LockPatternUtils {
return FRP_CREDENTIAL_ENABLED && context.getResources().getBoolean(
com.android.internal.R.bool.config_enableCredentialFactoryResetProtection);
}
+
+ /**
+ * Attempt to rederive the unified work challenge for the specified profile user and unlock the
+ * user. If successful, this would allow the user to leave quiet mode automatically without
+ * additional user authentication.
+ *
+ * This is made possible by the framework storing an encrypted copy of the unified challenge
+ * auth-bound to the primary user's lockscreen. As long as the primery user has unlocked
+ * recently (7 days), the framework will be able to decrypt it and plug the secret into the
+ * unlock flow.
+ *
+ * @return {@code true} if automatic unlocking is successful, {@code false} otherwise.
+ */
+ public boolean tryUnlockWithCachedUnifiedChallenge(int userId) {
+ try {
+ return getLockSettings().tryUnlockWithCachedUnifiedChallenge(userId);
+ } catch (RemoteException re) {
+ return false;
+ }
+ }
+
+ /** Remove cached unified profile challenge, for testing and CTS usage. */
+ public void removeCachedUnifiedChallenge(int userId) {
+ try {
+ getLockSettings().removeCachedUnifiedChallenge(userId);
+ } catch (RemoteException re) {
+ re.rethrowFromSystemServer();
+ }
+ }
}
diff --git a/core/java/com/android/server/BootReceiver.java b/core/java/com/android/server/BootReceiver.java
index 31b5e491d0e5..ac2361dff560 100644
--- a/core/java/com/android/server/BootReceiver.java
+++ b/core/java/com/android/server/BootReceiver.java
@@ -35,14 +35,13 @@ import android.text.TextUtils;
import android.util.AtomicFile;
import android.util.EventLog;
import android.util.Slog;
-import android.util.StatsLog;
import android.util.Xml;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.XmlUtils;
-import com.android.server.DropboxLogTags;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -330,7 +329,7 @@ public class BootReceiver extends BroadcastReceiver {
addTextToDropBox(db, "system_server_native_crash", text, filename, maxSize);
}
if (tag.equals(TAG_TOMBSTONE)) {
- StatsLog.write(StatsLog.TOMB_STONE_OCCURRED);
+ FrameworkStatsLog.write(FrameworkStatsLog.TOMB_STONE_OCCURRED);
}
addTextToDropBox(db, tag, text, filename, maxSize);
}
@@ -427,20 +426,25 @@ public class BootReceiver extends BroadcastReceiver {
int eventType;
switch (propPostfix) {
case "early":
- eventType = StatsLog.BOOT_TIME_EVENT_DURATION__EVENT__MOUNT_EARLY_DURATION;
+ eventType =
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_DURATION__EVENT__MOUNT_EARLY_DURATION;
break;
case "default":
eventType =
- StatsLog.BOOT_TIME_EVENT_DURATION__EVENT__MOUNT_DEFAULT_DURATION;
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_DURATION__EVENT__MOUNT_DEFAULT_DURATION;
break;
case "late":
- eventType = StatsLog.BOOT_TIME_EVENT_DURATION__EVENT__MOUNT_LATE_DURATION;
+ eventType =
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_DURATION__EVENT__MOUNT_LATE_DURATION;
break;
default:
continue;
}
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_DURATION_REPORTED, eventType,
- duration);
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_DURATION_REPORTED,
+ eventType, duration);
}
}
}
@@ -544,7 +548,8 @@ public class BootReceiver extends BroadcastReceiver {
Slog.e(TAG, "No value received for shutdown duration");
}
- StatsLog.write(StatsLog.SHUTDOWN_SEQUENCE_REPORTED, reboot, reason, start, duration);
+ FrameworkStatsLog.write(FrameworkStatsLog.SHUTDOWN_SEQUENCE_REPORTED, reboot, reason, start,
+ duration);
}
private static void logFsShutdownTime() {
@@ -571,19 +576,19 @@ public class BootReceiver extends BroadcastReceiver {
Pattern pattern = Pattern.compile(LAST_SHUTDOWN_TIME_PATTERN, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(lines);
if (matcher.find()) {
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_DURATION_REPORTED,
- StatsLog.BOOT_TIME_EVENT_DURATION__EVENT__SHUTDOWN_DURATION,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_DURATION_REPORTED,
+ FrameworkStatsLog.BOOT_TIME_EVENT_DURATION__EVENT__SHUTDOWN_DURATION,
Integer.parseInt(matcher.group(1)));
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ERROR_CODE_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ERROR_CODE__EVENT__SHUTDOWN_UMOUNT_STAT,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ERROR_CODE_REPORTED,
+ FrameworkStatsLog.BOOT_TIME_EVENT_ERROR_CODE__EVENT__SHUTDOWN_UMOUNT_STAT,
Integer.parseInt(matcher.group(2)));
Slog.i(TAG, "boot_fs_shutdown," + matcher.group(1) + "," + matcher.group(2));
} else { // not found
// This can happen when a device has too much kernel log after file system unmount
// ,exceeding maxReadSize. And having that much kernel logging can affect overall
// performance as well. So it is better to fix the kernel to reduce the amount of log.
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ERROR_CODE_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ERROR_CODE__EVENT__SHUTDOWN_UMOUNT_STAT,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ERROR_CODE_REPORTED,
+ FrameworkStatsLog.BOOT_TIME_EVENT_ERROR_CODE__EVENT__SHUTDOWN_UMOUNT_STAT,
UMOUNT_STATUS_NOT_AVAILABLE);
Slog.w(TAG, "boot_fs_shutdown, string not found");
}
@@ -694,8 +699,9 @@ public class BootReceiver extends BroadcastReceiver {
}
stat = fixFsckFsStat(partition, stat, lines, startLineNumber, endLineNumber);
if ("userdata".equals(partition) || "data".equals(partition)) {
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ERROR_CODE_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ERROR_CODE__EVENT__FS_MGR_FS_STAT_DATA_PARTITION,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ERROR_CODE_REPORTED,
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_ERROR_CODE__EVENT__FS_MGR_FS_STAT_DATA_PARTITION,
stat);
}
Slog.i(TAG, "fs_stat, partition:" + partition + " stat:0x" + Integer.toHexString(stat));
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index a2f514a85ff8..cec68df3c949 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -137,6 +137,7 @@ cc_library_shared {
"android_os_Parcel.cpp",
"android_os_SELinux.cpp",
"android_os_SharedMemory.cpp",
+ "android_os_storage_StorageManager.cpp",
"android_os_Trace.cpp",
"android_os_UEventObserver.cpp",
"android_os_VintfObject.cpp",
@@ -147,7 +148,6 @@ cc_library_shared {
"android_service_DataLoaderService.cpp",
"android_util_AssetManager.cpp",
"android_util_Binder.cpp",
- "android_util_StatsLog.cpp",
"android_util_MemoryIntArray.cpp",
"android_util_Process.cpp",
"android_util_StringBlock.cpp",
@@ -269,6 +269,7 @@ cc_library_shared {
"libnativewindow",
"libdl",
"libdl_android",
+ "libstats_jni",
"libstatslog",
"server_configurable_flags",
],
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 9783b655e057..481be241cc99 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -144,6 +144,7 @@ extern int register_android_os_Parcel(JNIEnv* env);
extern int register_android_os_SELinux(JNIEnv* env);
extern int register_android_os_VintfObject(JNIEnv *env);
extern int register_android_os_VintfRuntimeInfo(JNIEnv *env);
+extern int register_android_os_storage_StorageManager(JNIEnv* env);
extern int register_android_os_SystemProperties(JNIEnv *env);
extern int register_android_os_SystemClock(JNIEnv* env);
extern int register_android_os_Trace(JNIEnv* env);
@@ -622,6 +623,8 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
char jitprithreadweightOptBuf[sizeof("-Xjitprithreadweight:")-1 + PROPERTY_VALUE_MAX];
char jittransitionweightOptBuf[sizeof("-Xjittransitionweight:")-1 + PROPERTY_VALUE_MAX];
char hotstartupsamplesOptsBuf[sizeof("-Xps-hot-startup-method-samples:")-1 + PROPERTY_VALUE_MAX];
+ char saveResolvedClassesDelayMsOptsBuf[
+ sizeof("-Xps-save-resolved-classes-delay-ms:")-1 + PROPERTY_VALUE_MAX];
char madviseRandomOptsBuf[sizeof("-XX:MadviseRandomAccess:")-1 + PROPERTY_VALUE_MAX];
char gctypeOptsBuf[sizeof("-Xgc:")-1 + PROPERTY_VALUE_MAX];
char backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1 + PROPERTY_VALUE_MAX];
@@ -817,6 +820,9 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
parseRuntimeOption("dalvik.vm.hot-startup-method-samples", hotstartupsamplesOptsBuf,
"-Xps-hot-startup-method-samples:");
+ parseRuntimeOption("dalvik.vm.ps-resolved-classes-delay-ms", saveResolvedClassesDelayMsOptsBuf,
+ "-Xps-save-resolved-classes-delay-ms:");
+
property_get("ro.config.low_ram", propBuf, "");
if (strcmp(propBuf, "true") == 0) {
addOption("-XX:LowMemoryMode");
@@ -1463,6 +1469,7 @@ static const RegJNIRec gRegJNI[] = {
REG_JNI(register_android_os_HwParcel),
REG_JNI(register_android_os_HwRemoteBinder),
REG_JNI(register_android_os_NativeHandle),
+ REG_JNI(register_android_os_storage_StorageManager),
REG_JNI(register_android_os_VintfObject),
REG_JNI(register_android_os_VintfRuntimeInfo),
REG_JNI(register_android_service_DataLoaderService),
diff --git a/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp b/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp
index 4de6c863638f..39483b55992b 100644
--- a/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp
+++ b/core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp
@@ -277,13 +277,6 @@ private:
SkWStream* CreateJavaOutputStreamAdaptor(JNIEnv* env, jobject stream,
jbyteArray storage) {
- static bool gInited;
-
- if (!gInited) {
-
- gInited = true;
- }
-
return new SkJavaOutputStream(env, stream, storage);
}
diff --git a/core/jni/android_content_res_ApkAssets.cpp b/core/jni/android_content_res_ApkAssets.cpp
index 5d13cf82141b..b55dc68af558 100644
--- a/core/jni/android_content_res_ApkAssets.cpp
+++ b/core/jni/android_content_res_ApkAssets.cpp
@@ -221,7 +221,7 @@ static jobject NativeGetOverlayableInfo(JNIEnv* env, jclass /*clazz*/, jlong ptr
return nullptr;
}
- jstring actor_string = env->NewStringUTF(actor->first.c_str());
+ jstring actor_string = env->NewStringUTF(actor->second.c_str());
if (env->ExceptionCheck() || actor_string == nullptr) {
jniThrowException(env, "java/io/IOException", "Error reading overlayable from APK");
return 0;
diff --git a/core/jni/android_os_storage_StorageManager.cpp b/core/jni/android_os_storage_StorageManager.cpp
new file mode 100644
index 000000000000..aee6733ecf53
--- /dev/null
+++ b/core/jni/android_os_storage_StorageManager.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "StorageManager"
+#include <android-base/logging.h>
+#include <android-base/unique_fd.h>
+#include <fcntl.h>
+#include <linux/fs.h>
+
+#include <nativehelper/JNIHelp.h>
+#include "core_jni_helpers.h"
+
+namespace android {
+
+jboolean android_os_storage_StorageManager_setQuotaProjectId(JNIEnv* env, jobject self,
+ jstring path, jlong projectId) {
+ struct fsxattr fsx;
+ ScopedUtfChars utf_chars_path(env, path);
+
+ if (projectId > UINT32_MAX) {
+ LOG(ERROR) << "Invalid project id: " << projectId;
+ return JNI_FALSE;
+ }
+
+ android::base::unique_fd fd(
+ TEMP_FAILURE_RETRY(open(utf_chars_path.c_str(), O_RDONLY | O_CLOEXEC)));
+ if (fd == -1) {
+ PLOG(ERROR) << "Failed to open " << utf_chars_path.c_str() << " to set project id.";
+ return JNI_FALSE;
+ }
+
+ int ret = ioctl(fd, FS_IOC_FSGETXATTR, &fsx);
+ if (ret == -1) {
+ PLOG(ERROR) << "Failed to get extended attributes for " << utf_chars_path.c_str()
+ << " to get project id.";
+ return JNI_FALSE;
+ }
+
+ fsx.fsx_projid = projectId;
+ ret = ioctl(fd, FS_IOC_FSSETXATTR, &fsx);
+ if (ret == -1) {
+ PLOG(ERROR) << "Failed to set extended attributes for " << utf_chars_path.c_str()
+ << " to set project id.";
+ return JNI_FALSE;
+ }
+
+ return JNI_TRUE;
+}
+
+// ----------------------------------------------------------------------------
+
+static const JNINativeMethod gStorageManagerMethods[] = {
+ {"setQuotaProjectId", "(Ljava/lang/String;J)Z",
+ (void*)android_os_storage_StorageManager_setQuotaProjectId},
+};
+
+const char* const kStorageManagerPathName = "android/os/storage/StorageManager";
+
+int register_android_os_storage_StorageManager(JNIEnv* env) {
+ return RegisterMethodsOrDie(env, kStorageManagerPathName, gStorageManagerMethods,
+ NELEM(gStorageManagerMethods));
+}
+
+}; // namespace android
diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp
index fb8e633fec12..e77c25efb1d4 100644
--- a/core/jni/android_util_Binder.cpp
+++ b/core/jni/android_util_Binder.cpp
@@ -537,9 +537,10 @@ public:
LOGDEATH("Receiving binderDied() on JavaDeathRecipient %p\n", this);
if (mObject != NULL) {
JNIEnv* env = javavm_to_jnienv(mVM);
- jobject jBinderProxy = javaObjectForIBinder(env, who.promote());
+ ScopedLocalRef<jobject> jBinderProxy(env, javaObjectForIBinder(env, who.promote()));
env->CallStaticVoidMethod(gBinderProxyOffsets.mClass,
- gBinderProxyOffsets.mSendDeathNotice, mObject, jBinderProxy);
+ gBinderProxyOffsets.mSendDeathNotice, mObject,
+ jBinderProxy.get());
if (env->ExceptionCheck()) {
jthrowable excep = env->ExceptionOccurred();
report_exception(env, excep,
diff --git a/core/jni/android_view_RenderNode.cpp b/core/jni/android_view_RenderNode.cpp
index 538861e21d96..a8246c7d84b7 100644
--- a/core/jni/android_view_RenderNode.cpp
+++ b/core/jni/android_view_RenderNode.cpp
@@ -151,11 +151,11 @@ static jboolean android_view_RenderNode_setOutlineRoundRect(CRITICAL_JNI_PARAMS_
return true;
}
-static jboolean android_view_RenderNode_setOutlineConvexPath(CRITICAL_JNI_PARAMS_COMMA jlong renderNodePtr,
+static jboolean android_view_RenderNode_setOutlinePath(CRITICAL_JNI_PARAMS_COMMA jlong renderNodePtr,
jlong outlinePathPtr, jfloat alpha) {
RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
SkPath* outlinePath = reinterpret_cast<SkPath*>(outlinePathPtr);
- renderNode->mutateStagingProperties().mutableOutline().setConvexPath(outlinePath, alpha);
+ renderNode->mutateStagingProperties().mutableOutline().setPath(outlinePath, alpha);
renderNode->setPropertyFieldsDirty(RenderNode::GENERIC);
return true;
}
@@ -684,7 +684,7 @@ static const JNINativeMethod gMethods[] = {
{ "nSetProjectionReceiver","(JZ)Z", (void*) android_view_RenderNode_setProjectionReceiver },
{ "nSetOutlineRoundRect", "(JIIIIFF)Z", (void*) android_view_RenderNode_setOutlineRoundRect },
- { "nSetOutlineConvexPath", "(JJF)Z", (void*) android_view_RenderNode_setOutlineConvexPath },
+ { "nSetOutlinePath", "(JJF)Z", (void*) android_view_RenderNode_setOutlinePath },
{ "nSetOutlineEmpty", "(J)Z", (void*) android_view_RenderNode_setOutlineEmpty },
{ "nSetOutlineNone", "(J)Z", (void*) android_view_RenderNode_setOutlineNone },
{ "nHasShadow", "(J)Z", (void*) android_view_RenderNode_hasShadow },
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index 2b9d45431582..f564d7558832 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -22,20 +22,22 @@
#include "android_hardware_input_InputWindowHandle.h"
#include "core_jni_helpers.h"
+#include <memory>
+
+#include <android-base/chrono_utils.h>
#include <android/graphics/region.h>
#include <android_runtime/AndroidRuntime.h>
-#include <android-base/chrono_utils.h>
-#include <nativehelper/JNIHelp.h>
-#include <nativehelper/ScopedUtfChars.h>
#include <android_runtime/android_view_Surface.h>
#include <android_runtime/android_view_SurfaceSession.h>
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
#include <jni.h>
-#include <memory>
+#include <nativehelper/JNIHelp.h>
+#include <nativehelper/ScopedUtfChars.h>
#include <stdio.h>
#include <system/graphics.h>
#include <ui/ConfigStoreTypes.h>
+#include <ui/DisplayConfig.h>
#include <ui/DisplayInfo.h>
#include <ui/DisplayedFrameStats.h>
#include <ui/FrameStats.h>
@@ -63,16 +65,21 @@ static const char* const OutOfResourcesException =
static struct {
jclass clazz;
jmethodID ctor;
+ jfieldID density;
+ jfieldID secure;
+} gDisplayInfoClassInfo;
+
+static struct {
+ jclass clazz;
+ jmethodID ctor;
jfieldID width;
jfieldID height;
- jfieldID refreshRate;
- jfieldID density;
jfieldID xDpi;
jfieldID yDpi;
- jfieldID secure;
+ jfieldID refreshRate;
jfieldID appVsyncOffsetNanos;
jfieldID presentationDeadlineNanos;
-} gPhysicalDisplayInfoClassInfo;
+} gDisplayConfigClassInfo;
static struct {
jfieldID bottom;
@@ -766,37 +773,46 @@ static void nativeSetDisplaySize(JNIEnv* env, jclass clazz,
}
}
-static jobjectArray nativeGetDisplayConfigs(JNIEnv* env, jclass clazz,
- jobject tokenObj) {
- sp<IBinder> token(ibinderForJavaObject(env, tokenObj));
- if (token == NULL) return NULL;
+static jobject nativeGetDisplayInfo(JNIEnv* env, jclass clazz, jobject tokenObj) {
+ DisplayInfo info;
+ if (const auto token = ibinderForJavaObject(env, tokenObj);
+ !token || SurfaceComposerClient::getDisplayInfo(token, &info) != NO_ERROR) {
+ return nullptr;
+ }
- Vector<DisplayInfo> configs;
- if (SurfaceComposerClient::getDisplayConfigs(token, &configs) != NO_ERROR ||
- configs.size() == 0) {
- return NULL;
+ jobject object = env->NewObject(gDisplayInfoClassInfo.clazz, gDisplayInfoClassInfo.ctor);
+ env->SetFloatField(object, gDisplayInfoClassInfo.density, info.density);
+ env->SetBooleanField(object, gDisplayInfoClassInfo.secure, info.secure);
+ return object;
+}
+
+static jobjectArray nativeGetDisplayConfigs(JNIEnv* env, jclass clazz, jobject tokenObj) {
+ Vector<DisplayConfig> configs;
+ if (const auto token = ibinderForJavaObject(env, tokenObj); !token ||
+ SurfaceComposerClient::getDisplayConfigs(token, &configs) != NO_ERROR ||
+ configs.isEmpty()) {
+ return nullptr;
}
- jobjectArray configArray = env->NewObjectArray(configs.size(),
- gPhysicalDisplayInfoClassInfo.clazz, NULL);
+ jobjectArray configArray =
+ env->NewObjectArray(configs.size(), gDisplayConfigClassInfo.clazz, nullptr);
for (size_t c = 0; c < configs.size(); ++c) {
- const DisplayInfo& info = configs[c];
- jobject infoObj = env->NewObject(gPhysicalDisplayInfoClassInfo.clazz,
- gPhysicalDisplayInfoClassInfo.ctor);
- env->SetIntField(infoObj, gPhysicalDisplayInfoClassInfo.width, info.w);
- env->SetIntField(infoObj, gPhysicalDisplayInfoClassInfo.height, info.h);
- env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.refreshRate, info.fps);
- env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.density, info.density);
- env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.xDpi, info.xdpi);
- env->SetFloatField(infoObj, gPhysicalDisplayInfoClassInfo.yDpi, info.ydpi);
- env->SetBooleanField(infoObj, gPhysicalDisplayInfoClassInfo.secure, info.secure);
- env->SetLongField(infoObj, gPhysicalDisplayInfoClassInfo.appVsyncOffsetNanos,
- info.appVsyncOffset);
- env->SetLongField(infoObj, gPhysicalDisplayInfoClassInfo.presentationDeadlineNanos,
- info.presentationDeadline);
- env->SetObjectArrayElement(configArray, static_cast<jsize>(c), infoObj);
- env->DeleteLocalRef(infoObj);
+ const DisplayConfig& config = configs[c];
+ jobject object =
+ env->NewObject(gDisplayConfigClassInfo.clazz, gDisplayConfigClassInfo.ctor);
+ env->SetIntField(object, gDisplayConfigClassInfo.width, config.resolution.getWidth());
+ env->SetIntField(object, gDisplayConfigClassInfo.height, config.resolution.getHeight());
+ env->SetFloatField(object, gDisplayConfigClassInfo.xDpi, config.xDpi);
+ env->SetFloatField(object, gDisplayConfigClassInfo.yDpi, config.yDpi);
+
+ env->SetFloatField(object, gDisplayConfigClassInfo.refreshRate, config.refreshRate);
+ env->SetLongField(object, gDisplayConfigClassInfo.appVsyncOffsetNanos,
+ config.appVsyncOffset);
+ env->SetLongField(object, gDisplayConfigClassInfo.presentationDeadlineNanos,
+ config.presentationDeadline);
+ env->SetObjectArrayElement(configArray, static_cast<jsize>(c), object);
+ env->DeleteLocalRef(object);
}
return configArray;
@@ -1409,7 +1425,9 @@ static const JNINativeMethod sSurfaceControlMethods[] = {
(void*)nativeSetDisplayProjection },
{"nativeSetDisplaySize", "(JLandroid/os/IBinder;II)V",
(void*)nativeSetDisplaySize },
- {"nativeGetDisplayConfigs", "(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo;",
+ {"nativeGetDisplayInfo", "(Landroid/os/IBinder;)Landroid/view/SurfaceControl$DisplayInfo;",
+ (void*)nativeGetDisplayInfo },
+ {"nativeGetDisplayConfigs", "(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$DisplayConfig;",
(void*)nativeGetDisplayConfigs },
{"nativeGetActiveConfig", "(Landroid/os/IBinder;)I",
(void*)nativeGetActiveConfig },
@@ -1507,21 +1525,24 @@ int register_android_view_SurfaceControl(JNIEnv* env)
int err = RegisterMethodsOrDie(env, "android/view/SurfaceControl",
sSurfaceControlMethods, NELEM(sSurfaceControlMethods));
- jclass clazz = FindClassOrDie(env, "android/view/SurfaceControl$PhysicalDisplayInfo");
- gPhysicalDisplayInfoClassInfo.clazz = MakeGlobalRefOrDie(env, clazz);
- gPhysicalDisplayInfoClassInfo.ctor = GetMethodIDOrDie(env,
- gPhysicalDisplayInfoClassInfo.clazz, "<init>", "()V");
- gPhysicalDisplayInfoClassInfo.width = GetFieldIDOrDie(env, clazz, "width", "I");
- gPhysicalDisplayInfoClassInfo.height = GetFieldIDOrDie(env, clazz, "height", "I");
- gPhysicalDisplayInfoClassInfo.refreshRate = GetFieldIDOrDie(env, clazz, "refreshRate", "F");
- gPhysicalDisplayInfoClassInfo.density = GetFieldIDOrDie(env, clazz, "density", "F");
- gPhysicalDisplayInfoClassInfo.xDpi = GetFieldIDOrDie(env, clazz, "xDpi", "F");
- gPhysicalDisplayInfoClassInfo.yDpi = GetFieldIDOrDie(env, clazz, "yDpi", "F");
- gPhysicalDisplayInfoClassInfo.secure = GetFieldIDOrDie(env, clazz, "secure", "Z");
- gPhysicalDisplayInfoClassInfo.appVsyncOffsetNanos = GetFieldIDOrDie(env,
- clazz, "appVsyncOffsetNanos", "J");
- gPhysicalDisplayInfoClassInfo.presentationDeadlineNanos = GetFieldIDOrDie(env,
- clazz, "presentationDeadlineNanos", "J");
+ jclass infoClazz = FindClassOrDie(env, "android/view/SurfaceControl$DisplayInfo");
+ gDisplayInfoClassInfo.clazz = MakeGlobalRefOrDie(env, infoClazz);
+ gDisplayInfoClassInfo.ctor = GetMethodIDOrDie(env, infoClazz, "<init>", "()V");
+ gDisplayInfoClassInfo.density = GetFieldIDOrDie(env, infoClazz, "density", "F");
+ gDisplayInfoClassInfo.secure = GetFieldIDOrDie(env, infoClazz, "secure", "Z");
+
+ jclass configClazz = FindClassOrDie(env, "android/view/SurfaceControl$DisplayConfig");
+ gDisplayConfigClassInfo.clazz = MakeGlobalRefOrDie(env, configClazz);
+ gDisplayConfigClassInfo.ctor = GetMethodIDOrDie(env, configClazz, "<init>", "()V");
+ gDisplayConfigClassInfo.width = GetFieldIDOrDie(env, configClazz, "width", "I");
+ gDisplayConfigClassInfo.height = GetFieldIDOrDie(env, configClazz, "height", "I");
+ gDisplayConfigClassInfo.xDpi = GetFieldIDOrDie(env, configClazz, "xDpi", "F");
+ gDisplayConfigClassInfo.yDpi = GetFieldIDOrDie(env, configClazz, "yDpi", "F");
+ gDisplayConfigClassInfo.refreshRate = GetFieldIDOrDie(env, configClazz, "refreshRate", "F");
+ gDisplayConfigClassInfo.appVsyncOffsetNanos =
+ GetFieldIDOrDie(env, configClazz, "appVsyncOffsetNanos", "J");
+ gDisplayConfigClassInfo.presentationDeadlineNanos =
+ GetFieldIDOrDie(env, configClazz, "presentationDeadlineNanos", "J");
jclass rectClazz = FindClassOrDie(env, "android/graphics/Rect");
gRectClassInfo.bottom = GetFieldIDOrDie(env, rectClazz, "bottom", "I");
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 4b969ece2e15..92941b8cb22b 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -820,6 +820,7 @@ static void MountEmulatedStorage(uid_t uid, jint mount_mode,
if (isFuse) {
if (mount_mode == MOUNT_EXTERNAL_PASS_THROUGH) {
const std::string pass_through_source = StringPrintf("/mnt/pass_through/%d", user_id);
+ PrepareDir(pass_through_source, 0710, AID_ROOT, AID_MEDIA_RW, fail_fn);
BindMount(pass_through_source, "/storage", fail_fn);
} else if (mount_mode == MOUNT_EXTERNAL_INSTALLER) {
const std::string installer_source = StringPrintf("/mnt/installer/%d", user_id);
@@ -1084,6 +1085,13 @@ static pid_t ForkCommon(JNIEnv* env, bool is_system_server,
android_fdsan_error_level fdsan_error_level = android_fdsan_get_error_level();
+ // Purge unused native memory in an attempt to reduce the amount of false
+ // sharing with the child process. By reducing the size of the libc_malloc
+ // region shared with the child process we reduce the number of pages that
+ // transition to the private-dirty state when malloc adjusts the meta-data
+ // on each of the pages it is managing after the fork.
+ mallopt(M_PURGE, 0);
+
pid_t pid = fork();
if (pid == 0) {
diff --git a/core/jni/fd_utils.cpp b/core/jni/fd_utils.cpp
index 1fcc8acb5879..cfd3c0915002 100644
--- a/core/jni/fd_utils.cpp
+++ b/core/jni/fd_utils.cpp
@@ -51,6 +51,7 @@ static const char* kPathWhitelist[] = {
"/dev/socket/webview_zygote",
"/dev/socket/heapprofd",
"/sys/kernel/debug/tracing/trace_marker",
+ "/sys/kernel/tracing/trace_marker",
"/system/framework/framework-res.apk",
"/dev/urandom",
"/dev/ion",
diff --git a/core/proto/android/server/activitymanagerservice.proto b/core/proto/android/server/activitymanagerservice.proto
index 60f2fc8e081f..0a2fd7093a49 100644
--- a/core/proto/android/server/activitymanagerservice.proto
+++ b/core/proto/android/server/activitymanagerservice.proto
@@ -55,102 +55,8 @@ message ActivityManagerServiceProto {
message ActivityManagerServiceDumpActivitiesProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- optional ActivityStackSupervisorProto activity_stack_supervisor = 1;
-}
-
-message ActivityStackSupervisorProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1 [deprecated=true];
- repeated ActivityDisplayProto displays = 2;
- optional KeyguardControllerProto keyguard_controller = 3;
- // TODO(b/111541062): Focused stack and resumed activity are now per-display. Topmost instances
- // can be obtained from top display and these fields can be removed.
- optional int32 focused_stack_id = 4;
- optional .com.android.server.wm.IdentifierProto resumed_activity = 5;
- // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
- // know what activity types to check for when invoking splitscreen multi-window.
- optional bool is_home_recents_component = 6;
- repeated .com.android.server.wm.IdentifierProto pending_activities = 7;
- optional .com.android.server.wm.RootWindowContainerProto root_window_container = 8;
-}
-
-/* represents ActivityStackSupervisor.ActivityDisplay */
-message ActivityDisplayProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // To be removed soon.
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1 [deprecated=true];
- optional int32 id = 2;
- repeated ActivityStackProto stacks = 3;
- optional int32 focused_stack_id = 4;
- optional .com.android.server.wm.IdentifierProto resumed_activity = 5;
- optional bool single_task_instance = 6;
- optional .com.android.server.wm.DisplayContentProto display = 7;
-}
-
-message ActivityStackProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // To be removed soon.
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1 [deprecated=true];
- optional int32 id = 2;
- repeated TaskRecordProto tasks = 3;
- optional .com.android.server.wm.IdentifierProto resumed_activity = 4;
- optional int32 display_id = 5;
- optional bool fullscreen = 6;
- optional .android.graphics.RectProto bounds = 7;
- optional .com.android.server.wm.StackProto stack = 8;
-}
-
-message TaskRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // To be removed soon.
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1 [deprecated=true];
- optional int32 id = 2;
- repeated ActivityRecordProto activities = 3;
- optional int32 stack_id = 4;
- optional .android.graphics.RectProto last_non_fullscreen_bounds = 5;
- optional string real_activity = 6;
- optional string orig_activity = 7;
- optional int32 activity_type = 8;
- optional int32 resize_mode = 9;
- optional bool fullscreen = 10;
- optional .android.graphics.RectProto bounds = 11;
- optional int32 min_width = 12;
- optional int32 min_height = 13;
- optional .com.android.server.wm.TaskProto task = 14;
-}
-
-message ActivityRecordProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- // To be removed soon.
- optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1 [deprecated=true];
- optional .com.android.server.wm.IdentifierProto identifier = 2;
- optional string state = 3;
- optional bool visible_requested = 4;
- optional bool front_of_task = 5;
- optional int32 proc_id = 6;
- optional bool translucent = 7;
- optional .com.android.server.wm.AppWindowTokenProto app_window_token = 8;
- optional bool visible = 9;
-}
-
-message KeyguardControllerProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional bool keyguard_showing = 1;
- repeated KeyguardOccludedProto keyguard_occluded_states= 2;
- optional bool aod_showing = 3;
-}
-
-message KeyguardOccludedProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional int32 display_id = 1;
- optional bool keyguard_occluded = 2;
+ reserved 1; // activity_stack_supervisor
+ optional .com.android.server.wm.RootWindowContainerProto root_window_container = 2;
}
// "dumpsys activity --proto broadcasts"
@@ -684,8 +590,6 @@ message ActivityManagerServiceDumpProcessesProto {
optional int64 previous_proc_visible_time_ms = 17;
optional ProcessRecordProto heavy_weight_proc = 18;
optional .android.content.ConfigurationProto global_configuration = 19;
- // ActivityStackSupervisorProto dumps these values as well, still here?
- // repeated ActivityDisplayProto displays = 20;
optional bool config_will_change = 21;
diff --git a/core/proto/android/server/connectivity/data_stall_event.proto b/core/proto/android/server/connectivity/data_stall_event.proto
index a82326f67d74..23fcf6ebc2cc 100644
--- a/core/proto/android/server/connectivity/data_stall_event.proto
+++ b/core/proto/android/server/connectivity/data_stall_event.proto
@@ -34,7 +34,7 @@ enum ApBand {
AP_BAND_5GHZ = 2;
}
-// Refer to definition in ServiceState.java.
+// Refer to definition in TelephonyManager.java.
enum RadioTech {
RADIO_TECHNOLOGY_UNKNOWN = 0;
RADIO_TECHNOLOGY_GPRS = 1;
@@ -49,8 +49,8 @@ enum RadioTech {
RADIO_TECHNOLOGY_HSUPA = 10;
RADIO_TECHNOLOGY_HSPA = 11;
RADIO_TECHNOLOGY_EVDO_B = 12;
- RADIO_TECHNOLOGY_EHRPD = 13;
- RADIO_TECHNOLOGY_LTE = 14;
+ RADIO_TECHNOLOGY_LTE = 13;
+ RADIO_TECHNOLOGY_EHRPD = 14;
RADIO_TECHNOLOGY_HSPAP = 15;
RADIO_TECHNOLOGY_GSM = 16;
RADIO_TECHNOLOGY_TD_SCDMA = 17;
diff --git a/core/proto/android/server/vibratorservice.proto b/core/proto/android/server/vibratorservice.proto
new file mode 100644
index 000000000000..281a25e55dc2
--- /dev/null
+++ b/core/proto/android/server/vibratorservice.proto
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto2";
+package com.android.server;
+
+option java_multiple_files = true;
+
+import "frameworks/base/core/proto/android/privacy.proto";
+
+message WaveformProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ repeated int32 timings = 1;
+ repeated int32 amplitudes = 2;
+ required bool repeat = 3;
+}
+
+message PrebakedProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional int32 effect_id = 1;
+ optional int32 effect_strength = 2;
+ optional int32 fallback = 3;
+}
+
+// A com.android.os.VibrationEffect object.
+message VibrationEffectProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional WaveformProto waveform = 1;
+ optional PrebakedProto prebaked = 2;
+}
+
+message VibrationProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional int64 start_time = 1;
+ optional VibrationEffectProto effect = 2;
+ optional VibrationEffectProto origin_effect = 3;
+}
+
+message VibratorServiceDumpProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+ optional VibrationProto current_vibration = 1;
+ optional bool is_vibrating = 2;
+ optional VibrationProto current_external_vibration = 3;
+ optional bool vibrator_under_external_control = 4;
+ optional bool low_power_mode = 5;
+ optional int32 haptic_feedback_intensity = 6;
+ optional int32 notification_intensity = 7;
+ optional int32 ring_intensity = 8;
+ repeated VibrationProto previous_ring_vibrations = 9;
+ repeated VibrationProto previous_notification_vibrations = 10;
+ repeated VibrationProto previous_alarm_vibrations = 11;
+ repeated VibrationProto previous_vibrations = 12;
+} \ No newline at end of file
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index 927be503c23b..b0b9ce6f9968 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -54,8 +54,14 @@ message RootWindowContainerProto {
optional WindowContainerProto window_container = 1;
repeated DisplayContentProto displays = 2;
+ reserved 3; // IdentifierProto windows
/* window references in top down z order */
- repeated IdentifierProto windows = 3;
+ repeated WindowStateProto windows = 4;
+ optional KeyguardControllerProto keyguard_controller = 5;
+ // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
+ // know what activity types to check for when invoking splitscreen multi-window.
+ optional bool is_home_recents_component = 6;
+ repeated IdentifierProto pending_activities = 7;
}
message BarControllerProto {
@@ -94,6 +100,21 @@ message KeyguardServiceDelegateProto {
optional InteractiveState interactive_state = 5;
}
+message KeyguardControllerProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional bool keyguard_showing = 1;
+ repeated KeyguardOccludedProto keyguard_occluded_states = 2;
+ optional bool aod_showing = 3;
+}
+
+message KeyguardOccludedProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 display_id = 1;
+ optional bool keyguard_occluded = 2;
+}
+
/* represents PhoneWindowManager */
message WindowManagerPolicyProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
@@ -145,14 +166,14 @@ message DisplayContentProto {
optional WindowContainerProto window_container = 1;
optional int32 id = 2;
- repeated StackProto stacks = 3;
+ reserved 3; // stacks
optional DockedStackDividerControllerProto docked_stack_divider_controller = 4;
// Will be removed soon.
optional PinnedStackControllerProto pinned_stack_controller = 5 [deprecated=true];
/* non app windows */
- repeated WindowTokenProto above_app_windows = 6;
- repeated WindowTokenProto below_app_windows = 7;
- repeated WindowTokenProto ime_windows = 8;
+ repeated WindowTokenProto above_app_windows = 6 [deprecated=true];
+ repeated WindowTokenProto below_app_windows = 7 [deprecated=true];
+ repeated WindowTokenProto ime_windows = 8 [deprecated=true];
optional int32 dpi = 9;
optional .android.view.DisplayInfoProto display_info = 10;
optional int32 rotation = 11;
@@ -165,6 +186,36 @@ message DisplayContentProto {
repeated IdentifierProto closing_apps = 18;
repeated IdentifierProto changing_apps = 19;
repeated WindowTokenProto overlay_windows = 20;
+ optional DisplayAreaProto root_display_area = 21;
+
+
+ optional bool single_task_instance = 22;
+ optional int32 focused_root_task_id = 23;
+ optional .com.android.server.wm.IdentifierProto resumed_activity = 24;
+ repeated TaskProto tasks = 25;
+}
+
+/* represents DisplayArea object */
+message DisplayAreaProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional WindowContainerProto window_container = 1;
+ optional string name = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
+ repeated DisplayAreaChildProto children = 3;
+}
+
+/* represents a generic child of a DisplayArea */
+message DisplayAreaChildProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ /* At most one of the following should be present: */
+
+ /* represents a DisplayArea child */
+ optional DisplayAreaProto display_area = 1;
+ /* represents a WindowToken child */
+ optional WindowTokenProto window = 2;
+ /* represents an unknown child - the class name is recorded */
+ repeated string unknown = 3;
}
/* represents DisplayFrames */
@@ -189,47 +240,49 @@ message PinnedStackControllerProto {
optional .android.graphics.RectProto movement_bounds = 2 [deprecated=true];
}
-/* represents TaskStack */
-message StackProto {
- option (.android.msg_privacy).dest = DEST_AUTOMATIC;
-
- optional WindowContainerProto window_container = 1;
- optional int32 id = 2;
- repeated TaskProto tasks = 3;
- optional bool fills_parent = 4;
- optional .android.graphics.RectProto bounds = 5;
- optional bool animation_background_surface_is_dimming = 6 [deprecated=true];
- optional bool defer_removal = 7;
- optional float minimize_amount = 8;
- optional bool adjusted_for_ime = 9;
- optional float adjust_ime_amount = 10;
- optional float adjust_divider_amount = 11;
- optional .android.graphics.RectProto adjusted_bounds = 12;
- optional bool animating_bounds = 13;
-}
-
/* represents Task */
message TaskProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional WindowContainerProto window_container = 1;
optional int32 id = 2;
- repeated AppWindowTokenProto app_window_tokens = 3;
+ reserved 3; // activity
optional bool fills_parent = 4;
optional .android.graphics.RectProto bounds = 5;
optional .android.graphics.RectProto displayed_bounds = 6;
- // Will be removed soon.
- optional bool defer_removal = 7 [deprecated=true];
+ optional bool defer_removal = 7;
optional int32 surface_width = 8;
optional int32 surface_height = 9;
+
+ repeated TaskProto tasks = 10;
+ repeated ActivityRecordProto activities = 11;
+
+ optional .com.android.server.wm.IdentifierProto resumed_activity = 12;
+ optional string real_activity = 13;
+ optional string orig_activity = 14;
+
+ optional int32 display_id = 15;
+ optional int32 root_task_id = 16;
+ optional int32 activity_type = 17;
+ optional int32 resize_mode = 18;
+ optional int32 min_width = 19;
+ optional int32 min_height = 20;
+
+ optional .android.graphics.RectProto adjusted_bounds = 21;
+ optional .android.graphics.RectProto last_non_fullscreen_bounds = 22;
+ optional bool adjusted_for_ime = 23;
+ optional float adjust_ime_amount = 24;
+ optional float adjust_divider_amount = 25;
+ optional bool animating_bounds = 26;
+ optional float minimize_amount = 27;
}
-/* represents AppWindowToken */
-message AppWindowTokenProto {
+/* represents ActivityRecordProto */
+message ActivityRecordProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
- /* obtained from ActivityRecord */
optional string name = 1 [ (.android.privacy).dest = DEST_EXPLICIT ];
+
optional WindowTokenProto window_token = 2;
optional bool last_surface_showing = 3;
optional bool is_waiting_for_transition_start = 4;
@@ -246,14 +299,19 @@ message AppWindowTokenProto {
optional int32 num_drawn_windows = 15;
optional bool all_drawn = 16;
optional bool last_all_drawn = 17;
- // Will be removed soon
- optional bool removed = 18 [deprecated=true];
+ reserved 18; // removed
optional IdentifierProto starting_window = 19;
optional bool starting_displayed = 20;
- optional bool starting_moved = 21;
+ optional bool starting_moved = 201;
optional bool visible_set_from_transferred_starting_window = 22;
repeated .android.graphics.RectProto frozen_bounds = 23;
optional bool visible = 24;
+ reserved 25; // configuration_container
+ optional IdentifierProto identifier = 26;
+ optional string state = 27;
+ optional bool front_of_task = 28;
+ optional int32 proc_id = 29;
+ optional bool translucent = 30;
}
/* represents WindowToken */
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index e9d5b2b918f7..0e7214a4f3d3 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -350,6 +350,8 @@
<protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_APP" />
<protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_APP" />
<protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISMISSED" />
+ <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_ALLOWED_CARRIER" />
+ <protected-broadcast android:name="com.android.server.wifi.action.NetworkSuggestion.USER_DISALLOWED_CARRIER" />
<protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.USER_DISMISSED_NOTIFICATION" />
<protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.CONNECT_TO_NETWORK" />
<protected-broadcast android:name="com.android.server.wifi.ConnectToNetworkNotification.PICK_WIFI_NETWORK" />
@@ -3670,6 +3672,10 @@
<permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"
android:protectionLevel="signature|installer" />
+ <!-- @hide Allows an application to upgrade runtime permissions. -->
+ <permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS"
+ android:protectionLevel="signature" />
+
<!-- @SystemApi Allows an application to whitelist restricted permissions
on any of the whitelists.
@hide -->
@@ -4012,9 +4018,9 @@
statistics
<p>Declaring the permission implies intention to use the API and the user of the
device can grant permission through the Settings application.
- <p>Protection level: signature|privileged|development|appop -->
+ <p>Protection level: signature|privileged|development|appop|retailDemo -->
<permission android:name="android.permission.PACKAGE_USAGE_STATS"
- android:protectionLevel="signature|privileged|development|appop" />
+ android:protectionLevel="signature|privileged|development|appop|retailDemo" />
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
<!-- @hide @SystemApi Allows an application to observe usage time of apps. The app can register
@@ -4232,7 +4238,7 @@
<!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
<permission android:name="android.permission.MANAGE_ROLLBACKS"
- android:protectionLevel="signature|verifier" />
+ android:protectionLevel="signature|privileged" />
<!-- @TestApi @hide Allows testing apk level rollbacks. -->
<permission android:name="android.permission.TEST_MANAGE_ROLLBACKS"
diff --git a/core/res/res/drawable-hdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/drawable-hdpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index d915d416ff30..000000000000
--- a/core/res/res/drawable-hdpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-ldpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/drawable-ldpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index d88250ae2325..000000000000
--- a/core/res/res/drawable-ldpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/drawable-mdpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index 47306683f374..000000000000
--- a/core/res/res/drawable-mdpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index e4e6a5a70df2..000000000000
--- a/core/res/res/drawable-xhdpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable/chooser_action_button_bg.xml b/core/res/res/drawable/chooser_action_button_bg.xml
new file mode 100644
index 000000000000..a434c0b9b6a9
--- /dev/null
+++ b/core/res/res/drawable/chooser_action_button_bg.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2019 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/lighter_gray">
+ <item>
+ <inset
+ android:insetLeft="0dp"
+ android:insetTop="8dp"
+ android:insetRight="0dp"
+ android:insetBottom="8dp">
+ <shape android:shape="rectangle">
+ <corners android:radius="16dp"></corners>
+ <stroke android:width="1dp"
+ android:color="?attr/textColorSecondary" />
+ <solid android:color="?attr/colorBackground" />
+ </shape>
+ </inset>
+ </item>
+</ripple>
diff --git a/core/res/res/drawable/ic_content_copy_gm2.xml b/core/res/res/drawable/ic_content_copy_gm2.xml
deleted file mode 100644
index ee58738b75d0..000000000000
--- a/core/res/res/drawable/ic_content_copy_gm2.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
- <path
- android:fillColor="?android:attr/textColorSecondary"
- android:pathData="M18,21L4,21L4,7L2,7v14c0,1.1 0.9,2 2,2h14v-2zM21,17L21,3c0,-1.1 -0.9,-2 -2,-2L8,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2zM19,17L8,17L8,3h11v14z"/>
-</vector>
diff --git a/core/res/res/drawable/ic_menu_copy_material.xml b/core/res/res/drawable/ic_menu_copy_material.xml
index c03723b1fb33..8c9f1c514b97 100644
--- a/core/res/res/drawable/ic_menu_copy_material.xml
+++ b/core/res/res/drawable/ic_menu_copy_material.xml
@@ -1,26 +1,27 @@
-<!--
-Copyright (C) 2014 The Android Open Source Project
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2019 The Android Open Source Project
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-->
+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24.0"
- android:viewportHeight="24.0"
- android:autoMirrored="true"
- android:tint="?attr/colorControlNormal">
- <path
- android:pathData="M16,1L4,1C2.9,1 2,1.9 2,3l0,14l2,0L4,3l12,0L16,1zM19,5L8,5C6.9,5 6,5.9 6,7l0,14c0,1.1 0.9,2 2,2l11,0c1.1,0 2,-0.9 2,-2L21,7C21,5.9 20.1,5 19,5zM19,21L8,21L8,7l11,0L19,21z"
- android:fillColor="@color/white"/>
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:autoMirrored="true"
+ android:tint="?attr/colorControlNormal">
+ <path
+ android:fillColor="@color/white"
+ android:pathData="M18,21L4,21L4,7L2,7v14c0,1.1 0.9,2 2,2h14v-2zM21,17L21,3c0,-1.1 -0.9,-2 -2,-2L8,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2zM19,17L8,17L8,3h11v14z"/>
</vector>
diff --git a/core/res/res/drawable/ic_open_in_new.xml b/core/res/res/drawable/ic_open_in_new.xml
deleted file mode 100644
index 67378c8d4b8a..000000000000
--- a/core/res/res/drawable/ic_open_in_new.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
- Copyright (C) 2020 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24"
- android:tint="?attr/colorControlNormal">
- <path
- android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z"
- android:fillColor="#FFFFFF"/>
-</vector>
diff --git a/core/res/res/drawable/media_seamless_background.xml b/core/res/res/drawable/media_seamless_background.xml
index aec89e0e8980..9b470cbe096f 100644
--- a/core/res/res/drawable/media_seamless_background.xml
+++ b/core/res/res/drawable/media_seamless_background.xml
@@ -20,7 +20,7 @@
<item android:id="@android:id/background">
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#1f000000"/>
- <corners android:radius="20dp"/>
+ <corners android:radius="24dp"/>
</shape>
</item>
</ripple>
diff --git a/core/res/res/drawable/sym_app_on_sd_unavailable_icon.xml b/core/res/res/drawable/sym_app_on_sd_unavailable_icon.xml
new file mode 100644
index 000000000000..50f15cab1814
--- /dev/null
+++ b/core/res/res/drawable/sym_app_on_sd_unavailable_icon.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+ <background android:drawable="@drawable/sym_def_app_icon_background" />
+ <foreground >
+ <vector
+ android:height="108dp"
+ android:width="108dp"
+ android:viewportHeight="108.0"
+ android:viewportWidth="108.0">
+ <path android:fillColor="#202124" android:pathData="
+M68,54h-7.25L54,60.75V76c0,2.2,1.8,4,4,4h10c2.2,0,4-1.8,4-4V58C72,55.8,70.2,54,68,54z"/>
+
+ <path android:fillColor="#FFFFFF" android:pathData="
+M64.59,34.48l3.9-3.9c0.6-0.6,0.6-1.53,0-2.13c-0.6-0.6-1.53-0.6-2.13,0l-4.44,4.44
+C59.55,31.69,56.85,31,54,31c-2.88,0-5.58,0.69-7.98,1.89l-4.47-4.44c-0.6-0.6-1.53-0.6-2.13,0c-0.6,0.6-0.6,1.53,0,2.13l3.93,3.93
+C38.91,37.78,36,43.03,36,49h36C72,43.03,69.09,37.75,64.59,34.48z M48,43h-3v-3h3V43z M63,43h-3v-3h3V43z
+
+M52,76.01C52,76,52,76,52,76.01l0-15.26v-0.83l0,0v-0.01h0.01l0.58-0.58l6.75-6.75L59.92,52v0H40
+c-2.21,0-4,1.79-4,4v20c0,2.21,1.79,4,4,4h12V76.01z
+
+M66.84,68.75h-2.81v6.75h2.81c0.93,0,1.69-0.75,1.69-1.69v-3.38C68.52,69.5,67.77,68.75,66.84,68.75z
+M66.84,73.81h-1.12v-3.38h1.12V73.81z
+
+M63.02,70.16h-3.09v1.27h1.97c0.62,0,1.12,0.64,1.12,1.26v1.69c0,0.62-0.51,1.12-1.12,1.12h-3.38v-1.41
+h3.09v-1.27h-1.96c-0.62,0-1.12-0.64-1.12-1.26v-1.69c0-0.62,0.51-1.12,1.12-1.12h3.36V70.16z"/>
+
+ <path android:fillColor="#FFE082" android:pathData="
+M 59 58.5 h 2.5 v 4.5 h -2.5z
+M 62.5 58.5 h 2.5 v 4.5 h -2.5z
+M 66 58.5 h 2.5 v 4.5 h -2.5z"/>
+ </vector>
+ </foreground>
+</adaptive-icon>
diff --git a/core/res/res/layout/chooser_action_button.xml b/core/res/res/layout/chooser_action_button.xml
new file mode 100644
index 000000000000..119b2e90292d
--- /dev/null
+++ b/core/res/res/layout/chooser_action_button.xml
@@ -0,0 +1,30 @@
+<!--
+ ~ Copyright (C) 2019 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<Button xmlns:android="http://schemas.android.com/apk/res/android"
+ android:gravity="center_vertical|start"
+ android:paddingStart="12dp"
+ android:paddingEnd="12dp"
+ android:drawablePadding="8dp"
+ android:textColor="?android:textColorSecondary"
+ android:textSize="12sp"
+ android:maxWidth="192dp"
+ android:singleLine="true"
+ android:clickable="true"
+ android:background="@drawable/chooser_action_button_bg"
+ android:drawableTint="?android:attr/colorControlNormal"
+ android:drawableTintMode="src_in"
+ />
diff --git a/core/res/res/layout/chooser_action_row.xml b/core/res/res/layout/chooser_action_row.xml
new file mode 100644
index 000000000000..ea7561124181
--- /dev/null
+++ b/core/res/res/layout/chooser_action_row.xml
@@ -0,0 +1,26 @@
+<!--
+ ~ Copyright (C) 2019 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="@dimen/chooser_edge_margin_normal"
+ android:paddingRight="@dimen/chooser_edge_margin_normal"
+ android:gravity="center"
+ >
+
+</LinearLayout>
diff --git a/core/res/res/layout/chooser_grid_preview_file.xml b/core/res/res/layout/chooser_grid_preview_file.xml
index f7d60c91052d..2a39215a4bd8 100644
--- a/core/res/res/layout/chooser_grid_preview_file.xml
+++ b/core/res/res/layout/chooser_grid_preview_file.xml
@@ -65,13 +65,15 @@
android:gravity="start|top"
android:paddingRight="24dp"
android:singleLine="true"/>
- <Button
- android:id="@+id/file_copy_button"
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:gravity="center"
- android:layout_gravity="center_vertical"
- android:background="@drawable/ic_content_copy_gm2"/>
</LinearLayout>
+
+ <include
+ android:id="@+id/chooser_action_row"
+ layout="@layout/chooser_action_row"
+ android:layout_width="@dimen/chooser_preview_width"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/chooser_view_spacing"
+ android:layout_gravity="center"
+ />
</LinearLayout>
diff --git a/core/res/res/layout/chooser_grid_preview_image.xml b/core/res/res/layout/chooser_grid_preview_image.xml
index 79a0de4b271f..62df1650612a 100644
--- a/core/res/res/layout/chooser_grid_preview_image.xml
+++ b/core/res/res/layout/chooser_grid_preview_image.xml
@@ -78,5 +78,15 @@
android:scaleType="centerCrop"/>
</RelativeLayout>
+
+ <include
+ android:id="@+id/chooser_action_row"
+ layout="@layout/chooser_action_row"
+ android:layout_width="@dimen/chooser_preview_width"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/chooser_view_spacing"
+ android:layout_gravity="center"
+ />
+
</LinearLayout>
diff --git a/core/res/res/layout/chooser_grid_preview_text.xml b/core/res/res/layout/chooser_grid_preview_text.xml
index 4d7846dfb9cc..002917463ab3 100644
--- a/core/res/res/layout/chooser_grid_preview_text.xml
+++ b/core/res/res/layout/chooser_grid_preview_text.xml
@@ -37,10 +37,9 @@
<TextView
android:id="@+id/content_preview_text"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
- android:layout_toStartOf="@id/copy_button"
android:layout_centerVertical="true"
android:ellipsize="end"
android:fontFamily="@android:string/config_headlineFontFamily"
@@ -48,40 +47,17 @@
android:maxLines="2"
android:focusable="true"/>
- <LinearLayout
- android:id="@+id/copy_button"
- android:orientation="vertical"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerVertical="true"
- android:layout_alignParentEnd="true"
- android:layout_marginStart="@dimen/chooser_view_spacing"
- android:gravity="center"
- android:minWidth="48dp"
- android:minHeight="48dp"
- android:clickable="true"
- style="?attr/borderlessButtonStyle">
-
- <ImageView
- android:layout_width="24dp"
- android:layout_height="24dp"
- android:gravity="top|center_horizontal"
- android:src="@drawable/ic_content_copy_gm2" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:gravity="center_horizontal"
- android:text="@string/copy"
- android:textColor="?android:textColorSecondary"
- android:textSize="12sp"
- android:maxWidth="72dp"
- android:maxLines="2"
- android:ellipsize="end" />
- </LinearLayout>
</RelativeLayout>
+ <include
+ android:id="@+id/chooser_action_row"
+ layout="@layout/chooser_action_row"
+ android:layout_width="@dimen/chooser_preview_width"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/chooser_view_spacing"
+ android:layout_gravity="center"
+ />
+
<!-- Required sub-layout so we can get the nice rounded corners-->
<!-- around this section -->
<LinearLayout
diff --git a/core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index d915d416ff30..000000000000
--- a/core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index d88250ae2325..000000000000
--- a/core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.png
deleted file mode 100644
index 47306683f374..000000000000
--- a/core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index c34a485bc7a9..d6c5a1379a58 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Jou toestel sal uitgevee word"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Die administrasieprogram kan nie gebruik word nie. Jou toestel sal nou uitgevee word.\n\nKontak jou organisasie se administrateur as jy vrae het."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Druk is gedeaktiveer deur <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Persoonlike programme is deur \'n administrateur opgeskort"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tik hier om voldoening aan beleid te kontroleer."</string>
<string name="me" msgid="6207584824693813140">"Ek"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet-opsies"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV-opsies"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Jy het jou ontsluitpatroon <xliff:g id="NUMBER_0">%1$d</xliff:g> keer verkeerdelik geteken. Na nog <xliff:g id="NUMBER_1">%2$d</xliff:g> onsuksesvolle pogings, sal jy gevra word om jou foon te ontsluit deur middel van \'n e-posrekening.\n\n Probeer weer oor <xliff:g id="NUMBER_2">%3$d</xliff:g> sekondes."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Verwyder"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Die voorgronddiens wat in die agtergrond begin het vanaf <xliff:g id="PACKAGENAME">%1$s</xliff:g> sal nie ingebruik-toestemming hê in toekomstige R-bouweergawes nie. Raadpleeg asseblief go/r-bg-fgs-restriction en dien \'n foutverslag in."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Verhoog volume bo aanbevole vlak?\n\nOm lang tydperke teen hoë volume te luister, kan jou gehoor beskadig."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Gebruik toeganklikheidkortpad?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Wanneer die kortpad aan is, sal \'n toeganklikheidkenmerk begin word as albei volumeknoppies 3 sekondes lank gedruk word.\n\n Bestaande toeganklikheidkenmerk:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Jy kan die kenmerk in Instellings &gt; Toeganklikheid verander."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Program is nie beskikbaar nie"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> is nie nou onmiddellik beskikbaar nie. Dit word bestuur deur <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Kom meer te wete"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Hervat program"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Skakel werkprofiel aan?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Jou werkprogramme, kennisgewings, data en ander werkprofielkenmerke sal aangeskakel word"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Skakel aan"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Wissel verdeelde skerm"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Sluitskerm"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Skermkiekie"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Toeganklikheid-kieslys"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> se onderskrifbalk."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> is in die BEPERK-groep geplaas"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Persoonlik"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Werk"</string>
</resources>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 23e6ccdbd87f..e9409fbf92ed 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"የእርስዎ መሣሪያ ይደመሰሳል"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"የአስተዳዳሪ መተግበሪያ ስራ ላይ ሊውል አይችልም። የእርስዎን መሣሪያ አሁን ይደመሰሳል።\n\nጥያቄዎች ካለዎት የድርጅትዎን አስተዳዳሪ ያነጋግሩ።"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"ማተም በ<xliff:g id="OWNER_APP">%s</xliff:g> ተሰናክሏል።"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"የግል መተግበሪያዎች በአስተዳዳሪ ታግዷል"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"የመመሪያ ተገዥነትን ለመፈተሽ እዚህ ላይ መለያ ያድርጉ።"</string>
<string name="me" msgid="6207584824693813140">"እኔ"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"የጡባዊ አማራጮች"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV አማራጮች"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"የመክፈቻ ስርዓተ ጥለቱን <xliff:g id="NUMBER_0">%1$d</xliff:g> ጊዜ በትክክል አልሳሉትም። ከ<xliff:g id="NUMBER_1">%2$d</xliff:g> ተጨማሪ ያልተሳኩ ሙከራዎች በኋላ የኢሜይል መለያ ተጠቅመው ስልክዎን እንዲከፍቱ ይጠየቃሉ።\n\nእባክዎ ከ<xliff:g id="NUMBER_2">%3$d</xliff:g> ሰከንዶች በኋላ እንደገና ይሞክሩ።"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"አስወግድ"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"ዳራው ከ<xliff:g id="PACKAGENAME">%1$s</xliff:g> የጀመረው የፊት አገልግሎት ወደፊት በሚኖሩት R ግንቦች ላይ ጥቅም ላይ እየዋለ ፈቃድ አይኖረውም። እባክዎ go/r-bg-fgs-restriction እና ፋይል ሳንካ ሪፖርትን ይመልከቱ።"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"ድምጹ ከሚመከረው መጠን በላይ ከፍ ይበል?\n\nበከፍተኛ ድምጽ ለረጅም ጊዜ ማዳመጥ ጆሮዎን ሊጎዳው ይችላል።"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"የተደራሽነት አቋራጭ ጥቅም ላይ ይዋል?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"አቋራጩ ሲበራ ሁለቱንም የድምፅ አዝራሮች ለ3 ሰከንዶች ተጭኖ መቆየት የተደራሽነት ባህሪን ያስጀምረዋል።\n\n አሁን ያለ የተደራሽነት ባህሪ፦\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ባህሪውን በቅንብሮች &gt; ተደራሽነት ውስጥ ሊለውጡት ይችላሉ።"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"መተግበሪያ አይገኝም"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> አሁን ላይ አይገኝም። በ<xliff:g id="APP_NAME_1">%2$s</xliff:g> የሚተዳደር ነው።"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"የበለጠ ለመረዳት"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"መተግበሪያን ላፍታ እንዳይቆም አድርግ"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"የስራ መገለጫ ይብራ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"የእርስዎ የስራ መተግበሪያዎች፣ ማሳወቂያዎች፣ ውሂብ እና ሌሎች የስራ መገለጫ ባህሪያት ይበራሉ"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"አብራ"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"የተከፈለ ማያን ቀያይር"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"የማያ ገጽ ቁልፍ"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ቅጽበታዊ ገጽ እይታ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"የተደራሽነት ምናሌ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"የ<xliff:g id="APP_NAME">%1$s</xliff:g> የሥዕል ገላጭ ጽሑፍ አሞሌ።"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ወደ የRESTRICTED ባልዲ ተከትቷል"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"የግል"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ሥራ"</string>
</resources>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 80c04ebee695..23ffd7b6594a 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -202,10 +202,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"سيتم محو بيانات جهازك."</string>
<string name="factory_reset_message" msgid="2657049595153992213">"تعذّر استخدام تطبيق المشرف. سيتم محو بيانات جهازك الآن.\n\nإذا كانت لديك أسئلة، اتصل بمشرف مؤسستك."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"تم إيقاف الطباعة بواسطة <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"علّق المشرف عمل التطبيقات الشخصية"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"انقر هنا للتحقّق من الالتزام بالسياسات."</string>
<string name="me" msgid="6207584824693813140">"أنا"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"خيارات الجهاز اللوحي"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"‏خيارات Android TV"</string>
@@ -1701,8 +1699,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"لقد رسمت نقش فتح القفل بشكل غير صحيح <xliff:g id="NUMBER_0">%1$d</xliff:g> مرة. بعد إجراء <xliff:g id="NUMBER_1">%2$d</xliff:g> من المحاولات غير الناجحة الأخرى، ستُطالب بإلغاء تأمين الهاتف باستخدام حساب بريد إلكتروني لإلغاء تأمين الهاتف.\n\n أعد المحاولة خلال <xliff:g id="NUMBER_2">%3$d</xliff:g> ثانية."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"إزالة"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"‏لن يتم منح إذن الوصول إلى الموقع الجغرافي أثناء الاستخدام للخدمات التي تعمل في المقدّمة من <xliff:g id="PACKAGENAME">%1$s</xliff:g> والتي تبدأ من الخلفية في إصدارات R القادمة. يُرجى مراجعة go/r-bg-fgs-restriction وتقديم تقرير خطأ."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"هل تريد رفع مستوى الصوت فوق المستوى الموصى به؟\n\nقد يضر سماع صوت عالٍ لفترات طويلة بسمعك."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"هل تريد استخدام اختصار \"سهولة الاستخدام\"؟"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"عند تشغيل الاختصار، يؤدي الضغط على زرّي مستوى الصوت لمدة 3 ثوانٍ إلى تفعيل ميزة \"سهولة الاستخدام\".\n\n ميزة \"سهولة الاستخدام\" الحالية:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n يمكنك تغيير الميزة من \"الإعدادات\" &gt; \"سهولة الاستخدام\"."</string>
@@ -1980,8 +1977,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"التطبيق غير متاح"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"التطبيق <xliff:g id="APP_NAME_0">%1$s</xliff:g> غير متاح الآن، وهو مُدار بواسطة <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"مزيد من المعلومات"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"استئناف تشغيل التطبيق"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"تفعيل الملف الشخصي للعمل؟"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"سيتم تفعيل تطبيقات العمل التي تستخدمها والإشعارات والبيانات وغيرها من ميزات الملف الشخصي للعمل"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"تشغيل"</string>
@@ -2121,7 +2117,7 @@
<string name="mime_type_spreadsheet_ext" msgid="8720173181137254414">"جدول بيانات: <xliff:g id="EXTENSION">%1$s</xliff:g>"</string>
<string name="mime_type_presentation" msgid="1145384236788242075">"عرض تقديمي"</string>
<string name="mime_type_presentation_ext" msgid="8761049335564371468">"عرض تقديمي: <xliff:g id="EXTENSION">%1$s</xliff:g>"</string>
- <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"سيظل البلوتوث مفعَّلاً أثناء تفعيل \"وضع الطائرة\"."</string>
+ <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"سيظل البلوتوث مفعَّلاً أثناء استخدام \"وضع الطائرة\"."</string>
<string name="car_loading_profile" msgid="8219978381196748070">"جارٍ التحميل"</string>
<plurals name="file_count" formatted="false" msgid="7063513834724389247">
<item quantity="zero"><xliff:g id="FILE_NAME_2">%s</xliff:g> و<xliff:g id="COUNT_3">%d</xliff:g> ملف</item>
@@ -2143,12 +2139,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"تبديل \"تقسيم الشاشة\""</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"شاشة القفل"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"لقطة شاشة"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"قائمة \"سهولة الاستخدام\""</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"شريط الشرح لتطبيق <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"تم وضع <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> في الحزمة \"محظورة\"."</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"شخصي"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"عمل"</string>
</resources>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 73e32b85c224..a09c377d45b9 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"আপোনাৰ ডিভাইচৰ ডেটা মচা হ\'ব"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"এই প্ৰশাসক এপটো ব্যৱহাৰ কৰিব নোৱাৰি। এতিয়া আপোনাৰ ডিভাইচটোৰ ডেটা মচা হ\'ব।\n\nআপোনাৰ কিবা প্ৰশ্ন থাকিলে আপোনাৰ প্ৰতিষ্ঠানৰ প্ৰশাসকৰ সৈতে যোগাযোগ কৰক।"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"প্ৰিণ্ট কৰা কাৰ্য <xliff:g id="OWNER_APP">%s</xliff:g>এ অক্ষম কৰি ৰাখিছে।"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ব্যক্তিগত এপ্‌সমূহ এগৰাকী প্ৰশাসকে নিলম্বিত কৰিছে"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"নীতি মানি চলেনে নাই পৰীক্ষা কৰিবলৈ ইয়াত টিপক।"</string>
<string name="me" msgid="6207584824693813140">"মই"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"টে\'বলেটৰ বিকল্পসমূহ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TVৰ বিকল্পসমূহ"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"আপুনি আপোনাৰ ল\'ক খোলাৰ আৰ্হিটো <xliff:g id="NUMBER_0">%1$d</xliff:g>বাৰ ভুলকৈ আঁকিছে। <xliff:g id="NUMBER_1">%2$d</xliff:g>তকৈ বেছি বাৰ ভুল আৰ্হি আঁকিলে আপোনাৰ ফ\'নটো কোনো একাউণ্টৰ জৰিয়তে আনলক কৰিবলৈ কোৱা হ\'ব।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ছেকেণ্ডৰ পিছত আকৌ চেষ্টা কৰক।"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"আঁতৰাওক"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"নেপথ্যই <xliff:g id="PACKAGENAME">%1$s</xliff:g>ৰ পৰা আৰম্ভ কৰা অগ্ৰভূমিৰ সেৱাটোৰ ভৱিষ্যতৰ R বিল্ডসমূহত ব্যৱহাৰ হৈ থকা সম্পৰ্কীয় অনুমতি নাথাকিব। অনুগ্ৰহ কৰি go/r-bg-fgs-restriction চাওক আৰু এটা বাগৰিপ\'ৰ্ট ফাইল কৰক।"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"অনুমোদিত স্তৰতকৈ ওপৰলৈ ভলিউম বঢ়াব নেকি?\n\nদীৰ্ঘ সময়ৰ বাবে উচ্চ ভলিউমত শুনাৰ ফলত শ্ৰৱণ ক্ষমতাৰ ক্ষতি হ\'ব পাৰে।"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"দিব্যাংগসকলৰ সুবিধাৰ শ্বৰ্টকাট ব্যৱহাৰ কৰেনে?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"শ্বৰ্টকাট অন হৈ থকাৰ সময়ত দুয়োটা ভলিউম বুটামত ৩ ছেকেণ্ডৰ বাবে ছাপ দি থাকিলে দিব্যাংগসকলৰ বাবে থকা সুবিধা এটা আৰম্ভ হ\'ব। \n\n চলিত দিব্যাংগসকলৰ সুবিধা:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n আপুনি এই সুবিধাটো ছেটিংসমূহ &gt; দিব্যাংগসকলৰ বাবে সুবিধা-লৈ গৈ সলনি কৰিব পাৰে।"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"এপটো নাই"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"এই মুহূৰ্তত <xliff:g id="APP_NAME_0">%1$s</xliff:g> উপলব্ধ নহয়। ইয়াক <xliff:g id="APP_NAME_1">%2$s</xliff:g>এ পৰিচালনা কৰে।"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"অধিক জানক"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"এপ্‌ আনপজ কৰক"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"কৰ্মস্থানৰ প্ৰ\'ফাইল অন কৰিবনে?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"আপোনাৰ কৰ্মস্থানৰ এপসমূহ, জাননীসমূহ, ডেটা আৰু কৰ্মস্থানৰ প্ৰ\'ফাইলৰ অইন সুবিধাসমূহ অন কৰা হ\'ব"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"অন কৰক"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"বিভাজিত স্ক্ৰীন ট’গল কৰক"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"লক স্ক্ৰীন"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"স্ক্ৰীণশ্বট"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"সাধ্য সুবিধাৰ মেনু"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>ৰ কেপশ্বন বাৰ।"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>ক সীমাবদ্ধ বাকেটটোত ৰখা হৈছে"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ব্যক্তিগত"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"কৰ্মস্থান"</string>
</resources>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index c894c29956dc..b1209b100633 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Cihazınız təmizlənəcəkdir"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Admin tətbiqini istifadə etmək mümkün deyil. Cihaz indi təmizlənəcək.\n\nSualınız varsa, təşkilatın admini ilə əlaqə saxlayın."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Çap <xliff:g id="OWNER_APP">%s</xliff:g> tərəfindən deaktiv edildi."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Şəxsi tətbiqlər admin tərəfindən dayandırılıb"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Siyasətə uyğunluğu yoxlamaq üçün bura toxunun."</string>
<string name="me" msgid="6207584824693813140">"Mən"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Planşet seçimləri"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV seçimləri"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Siz artıq modeli <xliff:g id="NUMBER_0">%1$d</xliff:g> dəfə yanlış daxil etmisiniz.<xliff:g id="NUMBER_1">%2$d</xliff:g> dəfə də yanlış daxil etsəniz, telefonun kilidinin açılması üçün elektron poçt ünvanınız tələb olunacaq.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> saniyə ərzində yenidən cəhd edin."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" - "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Yığışdır"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Arxa fonda başladılan <xliff:g id="PACKAGENAME">%1$s</xliff:g> üzrə ön plan xidmətinin gələcək R versiyalarında \"istifadə zamanı\" icazəsi olmayacaq. go/r-bg-fgs-restriction bölməsinə keçin və baq hesabatı göndərin."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Səsin həcmi tövsiyə olunan səviyyədən artıq olsun?\n\nYüksək səsi uzun zaman dinləmək eşitmə qabiliyyətinizə zərər vura bilər."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Əlçatımlılıq Qısayolu istifadə edilsin?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Qısayol aktiv olduqda hər iki səs düyməsinə 3 saniyə basıb saxlamaqla əlçatımlılıq funksiyası işə başlayacaq.\n\n Cari əlçatımlılıq funksiyası:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Funksiyanı Ayarlar və Əçatımlılıq bölməsində dəyişə bilərsiniz."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Tətbiq əlçatmazdır"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> hazırda əlçatan deyil. Bunu <xliff:g id="APP_NAME_1">%2$s</xliff:g> idarə edir."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Ətraflı məlumat"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Tətbiqi davam etdirin"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"İş profili aktiv edilsin?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"İş tətbiqləri, bildirişləri, data və digər iş profili funksiyaları aktiv ediləcək"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aktivləşdirin"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Bölünmüş Ekrana keçid"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Kilid Ekranı"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Ekran şəkli"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Əlçatımlılıq Menyusu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> başlıq paneli."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> MƏHDUDLAŞDIRILMIŞ səbətinə yerləşdirilib"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Şəxsi"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"İş"</string>
</resources>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 909c31558e18..5600882ca16f 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -196,10 +196,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Uređaj će biti obrisan"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Ne možete da koristite ovu aplikaciju za administratore. Uređaj će sada biti obrisan.\n\nAko imate pitanja, kontaktirajte administratora organizacije."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Štampanje je onemogućila aplikacija <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Administrator je suspendovao lične aplikacije"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Dodirnite ovde da biste proverili usklađenost sa smernicama."</string>
<string name="me" msgid="6207584824693813140">"Ja"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opcije za tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opcije Android TV-a"</string>
@@ -1635,8 +1633,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Nacrtali ste šablon za otključavanje netačno <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. Posle još <xliff:g id="NUMBER_1">%2$d</xliff:g> neuspešna(ih) pokušaja, od vas će biti zatraženo da otključate telefon pomoću naloga e-pošte.\n\nProbajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunde/i."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Ukloni"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Usluga u prvom planu sa <xliff:g id="PACKAGENAME">%1$s</xliff:g> koja je pokrenuta u pozadini neće imati dozvolu tokom korišćenja u budućim R verzijama. Posetite go/r-bg-fgs-restriction i pošaljite izveštaj o grešci."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Želite da pojačate zvuk iznad preporučenog nivoa?\n\nSlušanje glasne muzike duže vreme može da vam ošteti sluh."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Želite li da koristite prečicu za pristupačnost?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kada je prečica uključena, pritisnite oba dugmeta za jačinu zvuka da biste pokrenuli funkciju pristupačnosti.\n\n Aktuelna funkcija pristupačnosti:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Možete da promenite funkciju u odeljku Podešavanja &gt; Pristupačnost."</string>
@@ -1884,8 +1881,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikacija nije dostupna"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> trenutno nije dostupna. <xliff:g id="APP_NAME_1">%2$s</xliff:g> upravlja dostupnošću."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Saznajte više"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Opozovi pauziranje aplikacije"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Da uključimo profil za Work?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Uključiće se poslovne aplikacije, obaveštenja, podaci i druge funkcije profila za Work"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Uključi"</string>
@@ -2041,12 +2037,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Uključite/isključite podeljeni ekran"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Zaključani ekran"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Snimak ekrana"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Meni Pristupačnost"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Traka sa naslovima aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Paket <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> je dodat u segment OGRANIČENO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Lični"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Poslovni"</string>
</resources>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 19dcf927b74d..fb80e4b043b9 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Даныя вашай прылады будуць сцерты"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Немагчыма выкарыстоўваць праграму адміністравання. Звесткі на вашай прыладзе будуць выдалены.\n\nКалі ў вас ёсць пытанні, звярніцеся да адміністратара арганізацыі."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Друк адключаны ўладальнікам праграмы <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Асабістыя праграмы заблакіраваны адміністратарам"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Націсніце тут, каб упэўніцца ў адпаведнасці правілам."</string>
<string name="me" msgid="6207584824693813140">"Я"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Параметры планшэта"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Параметры Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Вы няправільна ўвялі графічны ключ разблакiроўкi пэўную колькасць разоў: <xliff:g id="NUMBER_0">%1$d</xliff:g>. Пасля яшчэ некалькiх няўдалых спроб (<xliff:g id="NUMBER_1">%2$d</xliff:g>) вам будзе прапанавана разблакiраваць тэлефон, увайшоўшы ў Google.\n\n Паўтарыце спробу праз <xliff:g id="NUMBER_2">%3$d</xliff:g> с."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Выдалiць"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Запушчаны ў фонавым рэжыме асноўны сэрвіс з пакета \"<xliff:g id="PACKAGENAME">%1$s</xliff:g>\" не будзе мець дазволу while-in-use у будучых зборках на мове R. Наведайце сайт go/r-bg-fgs-restriction і адпраўце справаздачу пра памылку."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Павялiчыць гук вышэй рэкамендаванага ўзроўню?\n\nДоўгае праслухоўванне музыкi на вялiкай гучнасцi можа пашкодзiць ваш слых."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Выкарыстоўваць камбінацыю хуткага доступу для спецыяльных магчымасцей?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Калі камбінацыя хуткага доступу ўключана, вы можаце націснуць абедзве кнопкі гучнасці і ўтрымліваць іх 3 секунды, каб уключыць функцыю спецыяльных магчымасцей.\n\n Бягучая функцыя спецыяльных магчымасцей:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Вы можаце змяніць гэту функцыю ў меню \"Налады &gt; Спецыяльныя магчымасці\"."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Праграма недаступная"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Праграма \"<xliff:g id="APP_NAME_0">%1$s</xliff:g>\" цяпер недаступная. Яна кіруецца праграмай \"<xliff:g id="APP_NAME_1">%2$s</xliff:g>\"."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Даведацца больш"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Скасаваць прыпыненне для праграмы"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Уключыць працоўны профіль?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Будуць уключаны вашы рабочыя праграмы, апавяшчэнні, даныя і іншыя функцыі працоўнага профілю"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Уключыць"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Пераключальнік падзеленага экрана"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Экран блакіроўкі"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Здымак экрана"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Меню спецыяльных магчымасцей"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Панэль субцітраў праграмы \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Пакет \"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>\" дададзены ў АБМЕЖАВАНУЮ групу"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Асабістыя"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Працоўныя"</string>
</resources>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 8a687666ac9b..2892853f0923 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Данните на устройството ви ще бъдат изтрити"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Приложението за администриране не може да се използва. Сега данните на устройството ви ще бъдат изтрити.\n\nАко имате въпроси, свържете се с администратора на организацията си."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Отпечатването е деактивиранo от <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Личните приложения може да са спрени от администратора"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Докоснете тук, за да проверите дали правилата ст спазват."</string>
<string name="me" msgid="6207584824693813140">"Аз"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Опции за таблета"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Опции за Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Начертахте неправилно фигурата си за отключване <xliff:g id="NUMBER_0">%1$d</xliff:g> пъти. След още <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни опита ще бъдете помолени да отключите телефона посредством имейл адрес.\n\n Опитайте отново след <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Премахване"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Задният план, който е стартирал услуга на преден план от <xliff:g id="PACKAGENAME">%1$s</xliff:g>, няма да има разрешение при използване в бъдещите компилации R. Моля, вижте go/r-bg-fgs-restriction и подайте сигнал за програмна грешка."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Да се увеличи ли силата на звука над препоръчителното ниво?\n\nПродължителното слушане при висока сила на звука може да увреди слуха ви."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Искате ли да използвате пряк път към функцията за достъпност?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Когато прекият път е включен, можете да стартирате дадена функция за достъпност, като натиснете двата бутона за промяна на силата на звука и ги задържите 3 секунди.\n\n Текущата функция за достъпност е:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Можете да промените функцията от „Настройки“ &gt; „Достъпност“."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Няма достъп до приложението"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"В момента няма достъп до <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Това се управлява от <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Научете повече"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Отмяна на паузата за приложението"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Вкл. на служ. потр. профил?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Служебните ви приложения, известия и данни, както и другите функции на служебния потребителски профил ще бъдат включени"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Включване"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Превключване на разделения екран"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Заключен екран"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Екранна снимка"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Меню за достъпност"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Лента за надписи на <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Пакетът <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> е поставен в ОГРАНИЧЕНИЯ контейнер"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Лични"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Служебни"</string>
</resources>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index 9ca383d30b04..4c95081cc15d 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"আপনার ডিভাইসটি মুছে ফেলা হবে"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"অ্যাডমিন অ্যাপটি ব্যবহার করা যাবে না। আপনার ডিভাইসে থাকা সবকিছু এখন মুছে ফেলা হবে।\n\nকোনও প্রশ্ন থাকলে আপনার প্রতিষ্ঠানের অ্যাডমিনের সাথে যোগাযোগ করুন।"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> প্রিন্টিং বন্ধ রেখেছে।"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"অ্যাডমিন ব্যক্তিগত অ্যাপ সাসপেন্ড করেছেন"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"নীতি মেনে চলা হচ্ছে কিনা তা যাচাই করতে এখানে ট্যাপ করুন।"</string>
<string name="me" msgid="6207584824693813140">"আমাকে"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ট্যাবলেট বিকল্পগুলি"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV-র বিকল্প"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"আপনি আপনার আনলকের প্যাটার্ন আঁকার ক্ষেত্রে <xliff:g id="NUMBER_0">%1$d</xliff:g> বার ভুল করেছেন৷ আর <xliff:g id="NUMBER_1">%2$d</xliff:g> বার অসফল প্রচেষ্টা করা হলে আপনাকে একটি ইমেল অ্যাকাউন্ট মারফত আপনার ফোন আনলক করতে বলা হবে৷\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> সেকেন্ডের মধ্যে আবার চেষ্টা করুন৷"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"সরান"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> থেকে শুরু হওয়া ফোরগ্রাউন্ড পরিষেবাটির ভবিষ্যতে আর বিল্ডগুলিতে ব্যবহারের অনুমতি নেই। go/r-bg-fgs-restriction দেখুন এবং বাগরিপোর্ট জমা দিন।"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"প্রস্তাবিত স্তরের চেয়ে বেশি উঁচুতে ভলিউম বাড়াবেন?\n\nউঁচু ভলিউমে বেশি সময় ধরে কিছু শুনলে আপনার শ্রবনশক্তির ক্ষতি হতে পারে।"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"অ্যাক্সেসযোগ্যতা শর্টকাট ব্যবহার করবেন?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"শর্টকাটটি চালু থাকলে দুটি ভলিউম বোতাম একসাথে ৩ সেকেন্ড টিপে ধরে রাখলে একটি অ্যাকসেসিবিলিটি বৈশিষ্ট্য চালু হবে।\n\n বর্তমান অ্যাকসেসিবিলিটি বৈশিষ্ট্য:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n আপনি এই বৈশিষ্ট্যটি সেটিংস &gt; অ্যাকসেসিবিলিটিতে গিয়ে পরিবর্তন করতে পারবেন।"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"অ্যাপটি উপলভ্য নয়"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> এখন উপলভ্য নয়। এই অ্যাপটিকে <xliff:g id="APP_NAME_1">%2$s</xliff:g> অ্যাপ ম্যানেজ করে।"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"আরও জানুন"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"অ্যাপ আবার চালু করুন"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"কাজের প্রোফাইল চালু করবেন?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"আপনার কাজের অ্যাপ, বিজ্ঞপ্তি, ডেটা এবং কাজের প্রোফাইলের অন্যান্য বৈশিষ্ট্য চালু করা হবে"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"চালু করুন"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"স্প্লিট স্ক্রিন টগল করুন"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"লক স্ক্রিন"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"স্ক্রিনশট"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"অ্যাক্সেসিবিলিটি মেনু"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>-এর ক্যাপশন বার।"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> সীমাবদ্ধ গ্রুপে অন্তর্ভুক্ত করা হয়েছে"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ব্যক্তিগত"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"অফিস"</string>
</resources>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index 5f83aa427eef..eaa212dccf2f 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -196,10 +196,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Uređaj će biti izbrisan"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Nije moguće koristiti aplikaciju administratora. Potpuno će se izbrisati podaci na vašem uređaju.\n\nAko imate pitanja, obratite se administratoru svoje organizacije."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Štampanje je onemogućila aplikacija <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Lične aplikacije je obustavio administrator"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Dodirnite ovdje da provjerite usklađenost s pravilima."</string>
<string name="me" msgid="6207584824693813140">"Ja"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opcije tableta"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opcije Android TV uređaja"</string>
@@ -1637,8 +1635,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Pogrešno ste nacrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. Ako napravite još <xliff:g id="NUMBER_1">%2$d</xliff:g> pokušaja bez uspjeha, od vas će se tražiti da otključate telefon pomoću e-pošte. \n\n Pokušajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Ukloni"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Usluge iz prvog plana započete u pozadini s web lokacije <xliff:g id="PACKAGENAME">%1$s</xliff:g> neće imati odobrenje za funkciju \"za vrijeme korištenja\" u budućim R verzijama. Pogledajte go/r-bg-fgs-restriction i podnesite izvještaj o greškama."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Želite li pojačati zvuk iznad preporučenog nivoa?\n\nDužim slušanjem glasnog zvuka možete oštetiti sluh."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Želite li koristiti Prečicu za pristupačnost?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kada je prečica uključena, pritiskom na oba dugmeta za podešavanje jačine zvuka u trajanju od 3 sekunde pokrenut će se funkcija za pristupačnost.\n\n Trenutna funkcija za pristupačnost je:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Funkciju možete promijeniti ako odete u Postavke &gt; Pristupačnost."</string>
@@ -1886,8 +1883,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikacija nije dostupna"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> trenutno nije dostupna. Ovim upravlja aplikacija <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Saznajte više"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Ponovo aktiviraj aplikaciju"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Uključiti radni profil?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Uključit će se poslovne aplikacije, obavještenja, podaci i druge funkcije radnog profila"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Uključi"</string>
@@ -2024,7 +2020,7 @@
<string name="mime_type_spreadsheet_ext" msgid="8720173181137254414">"<xliff:g id="EXTENSION">%1$s</xliff:g> tabela"</string>
<string name="mime_type_presentation" msgid="1145384236788242075">"Prezentacija"</string>
<string name="mime_type_presentation_ext" msgid="8761049335564371468">"<xliff:g id="EXTENSION">%1$s</xliff:g> prezentacija"</string>
- <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"Bluetooth će ostati uključen i u načinu rada u avionu"</string>
+ <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"Bluetooth će ostati uključen tokom načina rada u avionu"</string>
<string name="car_loading_profile" msgid="8219978381196748070">"Učitavanje"</string>
<plurals name="file_count" formatted="false" msgid="7063513834724389247">
<item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fajl</item>
@@ -2043,12 +2039,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Uključi/isključi podijeljeni ekran"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Zaključavanje ekrana"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Snimak ekrana"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Meni za pristupačnost"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Traka za natpis aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Paket <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> je stavljen u odjeljak OGRANIČENO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Lično"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Posao"</string>
</resources>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 930065b02883..0b58caea91b8 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"El contingut del dispositiu s\'esborrarà"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"No es pot utilitzar l\'aplicació d\'administració. S\'esborraran les dades del dispositiu.\n\nSi tens cap dubte, contacta amb l\'administrador de la teva organització."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ha desactivat la impressió."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Un administrador ha suspès les aplicacions personals"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Toca per comprovar si es compleix la política."</string>
<string name="me" msgid="6207584824693813140">"Mi"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opcions de la tauleta"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opcions d\'Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Has dibuixat el patró de desbloqueig <xliff:g id="NUMBER_0">%1$d</xliff:g> vegades de manera incorrecta. Si falles <xliff:g id="NUMBER_1">%2$d</xliff:g> vegades més, se\'t demanarà que desbloquegis el telèfon amb un compte de correu electrònic.\n\n Torna-ho a provar d\'aquí a <xliff:g id="NUMBER_2">%3$d</xliff:g> segons."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Elimina"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"El servei en primer pla (<xliff:g id="PACKAGENAME">%1$s</xliff:g>) iniciat en segon pla no tindrà permís durant l\'ús en compilacions R posteriors. Consulta la pàgina go/r-bg-fgs-restriction i presenta un informe d\'errors."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Vols apujar el volum per sobre del nivell recomanat?\n\nSi escoltes música a un volum alt durant períodes llargs, pots danyar-te l\'oïda."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Vols fer servir la drecera d\'accessibilitat?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Si la drecera està activada, prem els dos botons de volum durant 3 segons, per iniciar una funció d\'accessibilitat.\n\n Funció d\'accessibilitat actual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Pots canviar la funció a Configuració &gt; Accessibilitat."</string>
@@ -1852,10 +1849,9 @@
<string name="app_suspended_title" msgid="888873445010322650">"L\'aplicació no està disponible"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> no està disponible en aquests moments. Aquesta opció es gestiona a <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Més informació"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Reactiva l\'aplicació"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Activar el perfil professional?"</string>
- <string name="work_mode_off_message" msgid="8417484421098563803">"S\'activaran les teves aplicacions per a la feina, les notificacions, les dades i altres funcions del perfil professional"</string>
+ <string name="work_mode_off_message" msgid="8417484421098563803">"S\'activaran les teves aplicacions de treball, les notificacions, les dades i altres funcions del perfil professional"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activa"</string>
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Aquesta aplicació es va crear per a una versió antiga d\'Android i pot ser que no funcioni correctament. Prova de cercar actualitzacions o contacta amb el desenvolupador."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Cerca actualitzacions"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Commuta Pantalla dividida"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Pantalla de bloqueig"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Captura de pantalla"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menú d\'accessibilitat"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de títol de l\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> s\'ha transferit al segment RESTRINGIT"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Feina"</string>
</resources>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 2c017dd52ee1..5874c2493041 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Zařízení bude vymazáno"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Aplikaci pro správu nelze použít. Zařízení teď bude vymazáno.\n\nV případě dotazů vám pomůže administrátor organizace."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Aplikace <xliff:g id="OWNER_APP">%s</xliff:g> tisk zakazuje."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Osobní aplikace byly pozastaveny administrátorem"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Klepnutím sem zkontrolujete soulad se zásadami."</string>
<string name="me" msgid="6207584824693813140">"Já"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Možnosti tabletu"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Možnosti zařízení Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Již <xliff:g id="NUMBER_0">%1$d</xliff:g>krát jste nesprávně nakreslili své heslo odemknutí. Po <xliff:g id="NUMBER_1">%2$d</xliff:g> dalších neúspěšných pokusech budete požádáni o odemčení telefonu pomocí e-mailového účtu.\n\n Zkuste to znovu za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Odebrat"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Služba v popředí z balíčku <xliff:g id="PACKAGENAME">%1$s</xliff:g>, která byla spuštěna na pozadí, v budoucích sestavenách typu R nebude mít oprávnění ke spuštění při používání. Přejděte na adresu go/r-bg-fgs-restriction a vyplňte zprávu o chybě."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Zvýšit hlasitost nad doporučenou úroveň?\n\nDlouhodobý poslech hlasitého zvuku může poškodit sluch."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Použít zkratku přístupnosti?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Když je tato zkratka zapnutá, můžete funkci přístupnosti spustit tím, že na tři sekundy podržíte obě tlačítka hlasitosti.\n\n Aktuální funkce přístupnosti:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Funkci můžete změnit v Nastavení &gt; Přístupnost."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikace není k dispozici"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikace <xliff:g id="APP_NAME_0">%1$s</xliff:g> momentálně není dostupná. Tato předvolba se spravuje v aplikaci <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Další informace"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Zrušit pozastavení aplikace"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Zapnout pracovní profil?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Vaše pracovní aplikace, oznámení, data a ostatní funkce pracovního účtu budou zapnuty"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Zapnout"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Přepnout rozdělenou obrazovku"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Obrazovka uzamčení"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Snímek obrazovky"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Nabídka usnadnění přístupu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Popisek aplikace <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Balíček <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> byl vložen do sekce OMEZENO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Osobní"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Pracovní"</string>
</resources>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 4ebea8947666..eb7ad1b9e48f 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Enheden slettes"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administrationsappen kan ikke bruges. Enheden vil nu blive ryddet. \n\nKontakt din organisations administrator, hvis du har spørgsmål."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Udskrivning er deaktiveret af <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"En administrator har suspenderet personlige apps."</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tryk her for at tjekke overholdelsen af politikker."</string>
<string name="me" msgid="6207584824693813140">"Mig"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Valgmuligheder for tabletcomputeren"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Valgmuligheder for Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Du har tegnet dit oplåsningsmønster forkert <xliff:g id="NUMBER_0">%1$d</xliff:g> gange. Efter <xliff:g id="NUMBER_1">%2$d</xliff:g> yderligere mislykkede forsøg til vil du blive bedt om at låse din telefon op ved hjælp af en mailkonto.\n\n Prøv igen om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Fjern"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Tjenesten i forgrunden fra <xliff:g id="PACKAGENAME">%1$s</xliff:g>, der starter i baggrunden, vil i fremtidige R-builds ikke have tilladelse, mens den er i brug. Se go/r-bg-fgs-restriction, og indsend en fejlrapport."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Vil du skrue højere op end det anbefalede lydstyrkeniveau?\n\nDu kan skade hørelsen ved at lytte til meget høj musik over længere tid."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Vil du bruge genvejen til Hjælpefunktioner?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Når genvejen er slået til, kan du starte en hjælpefunktion ved at trykke på begge lydstyrkeknapper i tre sekunder.\n\n Nuværende hjælpefunktion:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Du kan skifte funktion i Indstillinger &gt; Hjælpefunktioner."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Appen er ikke tilgængelig"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> er ikke tilgængelig lige nu. Dette administreres af <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Få flere oplysninger"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Afslut pause for app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Skal arbejdsprofilen slås til?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Dine arbejdsapps, notifikationer, data og andre funktioner til din arbejdsprofil deaktiveres"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Slå til"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Slå Opdelt skærm til eller fra"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Låseskærm"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menuen Hjælpefunktioner"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Titellinje for <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> er blevet placeret i samlingen BEGRÆNSET"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personlig"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Arbejde"</string>
</resources>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 6fa0ac1791fa..6b01af1f3b08 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Die Daten auf deinem Gerät werden gelöscht."</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Die Admin-App kann nicht verwendet werden. Die Daten auf deinem Gerät werden nun gelöscht.\n\nBitte wende dich bei Fragen an den Administrator deiner Organisation."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Drucken wurde von <xliff:g id="OWNER_APP">%s</xliff:g> deaktiviert."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Private Apps wurden von einem Administrator gesperrt"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tippe hier, um die Einhaltung der Richtlinie zu prüfen."</string>
<string name="me" msgid="6207584824693813140">"Eigene"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet-Optionen"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV-Optionen"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Du hast dein Entsperrungsmuster <xliff:g id="NUMBER_0">%1$d</xliff:g>-mal falsch gezeichnet. Nach <xliff:g id="NUMBER_1">%2$d</xliff:g> weiteren erfolglosen Versuchen wirst du aufgefordert, dein Telefon mithilfe eines E-Mail-Kontos zu entsperren.\n\n Versuche es in <xliff:g id="NUMBER_2">%3$d</xliff:g> Sekunden erneut."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Entfernen"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Der Dienst im Vordergrund von <xliff:g id="PACKAGENAME">%1$s</xliff:g>, der im Hintergrund gestartet wurde, hat in zukünftigen R-Builds keine Zugriffsberechtigung mehr während der Nutzung. Siehe dazu go/r-bg-fgs-restriction und reiche einen Fehlerbericht ein."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Lautstärke über den Schwellenwert anheben?\n\nWenn du über einen längeren Zeitraum Musik in hoher Lautstärke hörst, kann dies dein Gehör schädigen."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Verknüpfung für Bedienungshilfen verwenden?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Wenn die Verknüpfung aktiviert ist, kannst du die beiden Lautstärketasten drei Sekunden lang gedrückt halten, um eine Bedienungshilfe zu starten.\n\n Aktuelle Bedienungshilfe:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Du kannst die Bedienungshilfe unter \"Einstellungen\" &gt; \"Bedienungshilfen\" ändern."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App nicht verfügbar"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ist momentan nicht verfügbar. Dies wird über die App \"<xliff:g id="APP_NAME_1">%2$s</xliff:g>\" verwaltet."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Weitere Informationen"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"App-Pausierung aufheben"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Arbeitsprofil aktivieren?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Deine geschäftlichen Apps, Benachrichtigungen, Daten und andere Funktionen des Arbeitsprofils werden aktiviert"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aktivieren"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"\"Bildschirm teilen\" ein-/ausschalten"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Sperrbildschirm"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menü \"Bedienungshilfen\""</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Untertitelleiste von <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> wurde in den BESCHRÄNKT-Bucket gelegt"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Privat"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Geschäftlich"</string>
</resources>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 81a16f28651c..61ca692aae16 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Η συσκευή σας θα διαγραφεί"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Δεν είναι δυνατή η χρήση της εφαρμογής διαχειριστή. Η συσκευή σας θα διαγραφεί.\n\nΕάν έχετε ερωτήσεις, επικοινωνήστε με τον διαχειριστή του οργανισμού σας."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Η εκτύπωση απενεργοποιήθηκε από τον χρήστη <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Οι προσωπικές εφαρμογές έχουν τεθεί σε αναστολή από έναν διαχειριστή"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Πατήστε εδώ για να ελέγξετε τη συμμόρφωση πολιτικής."</string>
<string name="me" msgid="6207584824693813140">"Για εμένα"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Επιλογές tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Επιλογές Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Σχεδιάσατε το μοτίβο ξεκλειδώματος εσφαλμένα <xliff:g id="NUMBER_0">%1$d</xliff:g> φορές. Μετά από <xliff:g id="NUMBER_1">%2$d</xliff:g> ανεπιτυχείς προσπάθειες ακόμη, θα σας ζητηθεί να ξεκλειδώσετε το τηλέφωνό σας με τη χρήση ενός λογαριασμού ηλεκτρονικού ταχυδρομείου.\n\n Δοκιμάστε ξανά σε <xliff:g id="NUMBER_2">%3$d</xliff:g> δευτερόλεπτα."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Κατάργηση"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Η υπηρεσία στο προσκήνιο που ξεκίνησε από το παρασκήνιο από το πακέτο <xliff:g id="PACKAGENAME">%1$s</xliff:g> δεν θα έχει άδεια πρόσβασης μόνο κατά τη χρήση σε μελλοντικές εκδόσεις R. Ανατρέξτε στο go/r-bg-fgs-restriction και υποβάλετε αναφορά σφάλματος."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Αυξάνετε την ένταση ήχου πάνω από το επίπεδο ασφαλείας;\n\nΑν ακούτε μουσική σε υψηλή ένταση για μεγάλο χρονικό διάστημα ενδέχεται να προκληθεί βλάβη στην ακοή σας."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Να χρησιμοποιείται η συντόμευση προσβασιμότητας;"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Όταν η συντόμευση είναι ενεργοποιημένη, το πάτημα και των δύο κουμπιών έντασης ήχου για 3 δευτερόλεπτα θα ξεκινήσει μια λειτουργία προσβασιμότητας.\n\n Τρέχουσα λειτουργία προσβασιμότητας:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Μπορείτε να αλλάξετε τη λειτουργία από τις Ρυθμίσεις &gt; Προσβασιμότητα."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Η εφαρμογή δεν είναι διαθέσιμη"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Η εφαρμογή <xliff:g id="APP_NAME_0">%1$s</xliff:g> δεν είναι διαθέσιμη αυτήν τη στιγμή. Η διαχείριση πραγματοποιείται από την εφαρμογή <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Μάθετε περισσότερα"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Κατάργηση παύσης εφαρμογής"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ενεργοποίηση προφίλ εργασίας;"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Οι εφαρμογές, οι ειδοποιήσεις και τα δεδομένα εργασίας σας, καθώς και άλλες λειτουργίες του προφίλ εργασίας, θα ενεργοποιηθούν"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Ενεργοποίηση"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Εναλλαγή διαχωρισμού οθόνης"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Οθόνη κλειδώματος"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Στιγμιότυπο οθόνης"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Μενού προσβασιμότητας"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Γραμμή υποτίτλων για την εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Το πακέτο <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> τοποθετήθηκε στον κάδο ΠΕΡΙΟΡΙΣΜΕΝΗΣ ΠΡΟΣΒΑΣΗΣ."</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Προσωπικό"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Εργασία"</string>
</resources>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 87e0c902df8c..15a059f449f1 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Your device will be erased"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"The admin app can\'t be used. Your device will now be erased.\n\nIf you have questions, contact your organisation\'s admin."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Printing disabled by <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Personal apps have been suspended by an admin"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tap here to check policy compliance."</string>
<string name="me" msgid="6207584824693813140">"Me"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet options"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV options"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remove"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"The background started foreground service from <xliff:g id="PACKAGENAME">%1$s</xliff:g> will not have while-in-use permission in future R builds. Please see go/r-bg-fgs-restriction and file a bug report."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Raise volume above recommended level?\n\nListening at high volume for long periods may damage your hearing."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Use Accessibility Shortcut?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"When the shortcut is on, pressing both volume buttons for 3 seconds will start an accessibility feature.\n\n Current accessibility feature:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n You can change the feature in Settings &gt; Accessibility."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App isn’t available"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> isn’t available at the moment. This is managed by <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Learn more"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Unpause app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Turn on work profile?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Your work apps, notifications, data and other work profile features will be turned on"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Turn on"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Toggle Split Screen"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lock Screen"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Accessibility menu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Caption bar of <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> has been put into the RESTRICTED bucket"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Work"</string>
</resources>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index 008ad8aec7fc..f3ab25afdf1e 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Your device will be erased"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"The admin app can\'t be used. Your device will now be erased.\n\nIf you have questions, contact your organisation\'s admin."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Printing disabled by <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Personal apps have been suspended by an admin"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tap here to check policy compliance."</string>
<string name="me" msgid="6207584824693813140">"Me"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet options"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV options"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remove"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"The background started foreground service from <xliff:g id="PACKAGENAME">%1$s</xliff:g> will not have while-in-use permission in future R builds. Please see go/r-bg-fgs-restriction and file a bug report."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Raise volume above recommended level?\n\nListening at high volume for long periods may damage your hearing."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Use Accessibility Shortcut?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"When the shortcut is on, pressing both volume buttons for 3 seconds will start an accessibility feature.\n\n Current accessibility feature:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n You can change the feature in Settings &gt; Accessibility."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App isn’t available"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> isn’t available at the moment. This is managed by <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Learn more"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Unpause app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Turn on work profile?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Your work apps, notifications, data and other work profile features will be turned on"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Turn on"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Toggle Split Screen"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lock Screen"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Accessibility menu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Caption bar of <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> has been put into the RESTRICTED bucket"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Work"</string>
</resources>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 87e0c902df8c..15a059f449f1 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Your device will be erased"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"The admin app can\'t be used. Your device will now be erased.\n\nIf you have questions, contact your organisation\'s admin."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Printing disabled by <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Personal apps have been suspended by an admin"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tap here to check policy compliance."</string>
<string name="me" msgid="6207584824693813140">"Me"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet options"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV options"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remove"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"The background started foreground service from <xliff:g id="PACKAGENAME">%1$s</xliff:g> will not have while-in-use permission in future R builds. Please see go/r-bg-fgs-restriction and file a bug report."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Raise volume above recommended level?\n\nListening at high volume for long periods may damage your hearing."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Use Accessibility Shortcut?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"When the shortcut is on, pressing both volume buttons for 3 seconds will start an accessibility feature.\n\n Current accessibility feature:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n You can change the feature in Settings &gt; Accessibility."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App isn’t available"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> isn’t available at the moment. This is managed by <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Learn more"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Unpause app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Turn on work profile?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Your work apps, notifications, data and other work profile features will be turned on"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Turn on"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Toggle Split Screen"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lock Screen"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Accessibility menu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Caption bar of <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> has been put into the RESTRICTED bucket"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Work"</string>
</resources>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 87e0c902df8c..15a059f449f1 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Your device will be erased"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"The admin app can\'t be used. Your device will now be erased.\n\nIf you have questions, contact your organisation\'s admin."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Printing disabled by <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Personal apps have been suspended by an admin"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tap here to check policy compliance."</string>
<string name="me" msgid="6207584824693813140">"Me"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet options"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV options"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remove"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"The background started foreground service from <xliff:g id="PACKAGENAME">%1$s</xliff:g> will not have while-in-use permission in future R builds. Please see go/r-bg-fgs-restriction and file a bug report."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Raise volume above recommended level?\n\nListening at high volume for long periods may damage your hearing."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Use Accessibility Shortcut?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"When the shortcut is on, pressing both volume buttons for 3 seconds will start an accessibility feature.\n\n Current accessibility feature:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n You can change the feature in Settings &gt; Accessibility."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App isn’t available"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> isn’t available at the moment. This is managed by <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Learn more"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Unpause app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Turn on work profile?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Your work apps, notifications, data and other work profile features will be turned on"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Turn on"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Toggle Split Screen"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lock Screen"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Accessibility menu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Caption bar of <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> has been put into the RESTRICTED bucket"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Work"</string>
</resources>
diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml
index 777107a60820..871e528c8e94 100644
--- a/core/res/res/values-en-rXC/strings.xml
+++ b/core/res/res/values-en-rXC/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎Your device will be erased‎‏‎‎‏‎"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎The admin app can\'t be used. Your device will now be erased.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎If you have questions, contact your organization\'s admin.‎‏‎‎‏‎"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎Printing disabled by ‎‏‎‎‏‏‎<xliff:g id="OWNER_APP">%s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎Personal apps have been suspended by an admin‎‏‎‎‏‎"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎Tap here to check policy compliance.‎‏‎‎‏‎"</string>
<string name="me" msgid="6207584824693813140">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎Me‎‏‎‎‏‎"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎Tablet options‎‏‎‎‏‎"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎Android TV options‎‏‎‎‏‎"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎You have incorrectly drawn your unlock pattern ‎‏‎‎‏‏‎<xliff:g id="NUMBER_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ times. After ‎‏‎‎‏‏‎<xliff:g id="NUMBER_1">%2$d</xliff:g>‎‏‎‎‏‏‏‎ more unsuccessful attempts, you will be asked to unlock your phone using an email account.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ Try again in ‎‏‎‎‏‏‎<xliff:g id="NUMBER_2">%3$d</xliff:g>‎‏‎‎‏‏‏‎ seconds.‎‏‎‎‏‎"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" ‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‎ — ‎‏‎‎‏‎ "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎Remove‎‏‎‎‏‎"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎The background started foreground service from ‎‏‎‎‏‏‎<xliff:g id="PACKAGENAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ will not have while-in-use permission in future R builds. Please see go/r-bg-fgs-restriction and file a bugreport.‎‏‎‎‏‎"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎Raise volume above recommended level?‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Listening at high volume for long periods may damage your hearing.‎‏‎‎‏‎"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎Use Accessibility Shortcut?‎‏‎‎‏‎"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎When the shortcut is on, pressing both volume buttons for 3 seconds will start an accessibility feature.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ Current accessibility feature:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎<xliff:g id="SERVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ You can change the feature in Settings &gt; Accessibility.‎‏‎‎‏‎"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‎‎App isn’t available‎‏‎‎‏‎"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="APP_NAME_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ isn’t available right now. This is managed by ‎‏‎‎‏‏‎<xliff:g id="APP_NAME_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‎Learn more‎‏‎‎‏‎"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎Unpause app‎‏‎‎‏‎"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎Turn on work profile?‎‏‎‎‏‎"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎Your work apps, notifications, data, and other work profile features will be turned on‎‏‎‎‏‎"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‎Turn on‎‏‎‎‏‎"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎Toggle Split Screen‎‏‎‎‏‎"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎Lock Screen‎‏‎‎‏‎"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎Screenshot‎‏‎‎‏‎"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎Accessibility Menu‎‏‎‎‏‎"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‎‎Caption bar of ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ has been put into the RESTRICTED bucket‎‏‎‎‏‎"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎Personal‎‏‎‎‏‎"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎Work‎‏‎‎‏‎"</string>
</resources>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 4335c2bf9f27..1cb9fde2956a 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Se borrarán los datos del dispositivo"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"No se puede usar la app de administrador. Ahora se borrará tu dispositivo.\n\nSi tienes preguntas, comunícate con el administrador de tu organización."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> inhabilitó la impresión."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Un administrador suspendió las apps personales"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Presiona aquí para consultar el cumplimiento de políticas."</string>
<string name="me" msgid="6207584824693813140">"Yo"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opciones de tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opciones de Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Dibujaste incorrectamente tu patrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Luego de <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos más, se te solicitará que desbloquees tu dispositivo mediante el uso de una cuenta de correo.\n\n Vuelve a intentarlo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Eliminar"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"El servicio que pasó del segundo al primer plano de <xliff:g id="PACKAGENAME">%1$s</xliff:g> no tendrá permiso durante el uso en las próximas compilaciones de R. Ve a go/r-bg-fgs-restriction y envía un informe de errores."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"¿Quieres subir el volumen por encima del nivel recomendado?\n\nEscuchar a un alto volumen durante largos períodos puede dañar tu audición."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"¿Usar acceso directo de accesibilidad?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Cuando el acceso directo está activado, puedes presionar los botones de volumen durante 3 segundos para iniciar una función de accesibilidad.\n\n Función de accesibilidad actual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Puedes cambiar la función en Configuración &gt; Accesibilidad."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"La app no está disponible"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> no está disponible en este momento. Esta opción se administra en <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Más información"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Reanudar app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"¿Activar el perfil de trabajo?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Se activaran las apps de trabajo, los datos, las notificaciones y otras funciones del perfil de trabajo"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activar"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Activar o desactivar pantalla dividida"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Bloquear pantalla"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Captura de pantalla"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menú de accesibilidad"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de subtítulos de <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Se colocó <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> en el depósito RESTRICTED"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Trabajo"</string>
</resources>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 8d750caa6dba..d8509a331453 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Tu dispositivo se borrará"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"No se puede utilizar la aplicación de administración. Se borrarán todos los datos del dispositivo.\n\nSi tienes alguna pregunta, ponte en contacto con el administrador de tu organización."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ha inhabilitado la impresión."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Un administrador ha suspendido las aplicaciones personales"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Toca aquí para comprobar el cumplimiento de las políticas."</string>
<string name="me" msgid="6207584824693813140">"Yo"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opciones del tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opciones de Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Has fallado <xliff:g id="NUMBER_0">%1$d</xliff:g> veces al dibujar el patrón de desbloqueo. Si fallas otras <xliff:g id="NUMBER_1">%2$d</xliff:g> veces, deberás usar una cuenta de correo electrónico para desbloquear el teléfono.\n\n Inténtalo de nuevo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Quitar"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"El servicio en primer plano que se inició en segundo plano en <xliff:g id="PACKAGENAME">%1$s</xliff:g> no tendrá permisos en compilaciones R futuras mientras se estén usando. Ve a go/r-bg-fgs-restriction y envía un informe de errores."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"¿Quieres subir el volumen por encima del nivel recomendado?\n\nEscuchar sonidos fuertes durante mucho tiempo puede dañar los oídos."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"¿Utilizar acceso directo de accesibilidad?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Si el acceso directo está activado, pulsa los dos botones de volumen durante tres segundos para iniciar una función de accesibilidad.\n\n Función de accesibilidad actual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Puedes cambiar la función en Ajustes &gt; Accesibilidad."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"La aplicación no está disponible"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> no está disponible en este momento. Esta opción se administra en <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Más información"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Anular pausa de aplicación"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"¿Activar el perfil de trabajo?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Tus aplicaciones, notificaciones, datos y otras funciones del perfil de trabajo se activarán"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activar"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Activar o desactivar la pantalla dividida"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Pantalla de bloqueo"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Captura de pantalla"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menú de accesibilidad"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de subtítulos de <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> se ha incluido en el grupo de restringidos"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Trabajo"</string>
</resources>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index 7f423e935b47..2148c09f08ad 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Seade kustutatakse"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administraatori rakendust ei saa kasutada. Teie seade tühjendatakse nüüd.\n\nKui teil on küsimusi, võtke ühendust organisatsiooni administraatoriga."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Rakendus <xliff:g id="OWNER_APP">%s</xliff:g> on printimise keelanud."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Administraator on isiklikud rakendused peatanud"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Eeskirjade järgimise kontrollimiseks puudutage siin."</string>
<string name="me" msgid="6207584824693813140">"Mina"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tahvelarvuti valikud"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV valikud"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Joonistasite oma avamismustri <xliff:g id="NUMBER_0">%1$d</xliff:g> korda valesti. Pärast veel <xliff:g id="NUMBER_1">%2$d</xliff:g> ebaõnnestunud katset palutakse teil telefon avada meilikontoga.\n\n Proovige uuesti <xliff:g id="NUMBER_2">%3$d</xliff:g> sekundi pärast."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Eemalda"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Taustal käitatud esiplaanil oleval teenusel paketist <xliff:g id="PACKAGENAME">%1$s</xliff:g> ei ole tulevastes R-järkudes luba „kui kasutuses”. Vaadake saiti go/r-bg-fgs-restriction ja esitage veaaruanne."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Kas suurendada helitugevuse taset üle soovitatud taseme?\n\nPikaajaline valju helitugevusega kuulamine võib kuulmist kahjustada."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Kas kasutada juurdepääsetavuse otseteed?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kui otsetee on sisse lülitatud, käivitab mõlema helitugevuse nupu kolm sekundit all hoidmine juurdepääsetavuse funktsiooni.\n\n Praegune juurdepääsetavuse funktsioon:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Saate seda funktsiooni muuta valikutega Seaded &gt; Juurdepääsetavus."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Rakendus pole saadaval"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> pole praegu saadaval. Seda haldab rakendus <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Lisateave"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Jätka rakendust"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Kas lülitada tööprofiil sisse?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Teie töörakendused, märguanded, andmed ja muud tööprofiili funktsioonid lülitatakse sisse"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Lülita sisse"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Vaheta jagatud ekraanikuva"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lukustuskuva"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Ekraanipilt"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Juurdepääsetavuse menüü"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Rakenduse <xliff:g id="APP_NAME">%1$s</xliff:g> pealkirjariba."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> on lisatud salve PIIRANGUTEGA"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Isiklik"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Töö"</string>
</resources>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index 9d014a3b875a..07bde5ee0648 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Gailuko datuak ezabatu egingo dira"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Ezin da erabili administratzeko aplikazioa. Ezabatu egingo da gailuko eduki guztia.\n\nZalantzarik baduzu, jarri erakundeko administratzailearekin harremanetan."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> aplikazioak desgaitu egin du inprimatzeko aukera."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Aplikazio pertsonalak desgaitu egin ditu administratzaile batek"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Sakatu hau gidalerroa gordetzen den egiaztatzeko."</string>
<string name="me" msgid="6207584824693813140">"Ni"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tabletaren aukerak"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV gailuaren aukerak"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Desblokeatzeko eredua oker marraztu duzu <xliff:g id="NUMBER_0">%1$d</xliff:g> aldiz. Beste <xliff:g id="NUMBER_1">%2$d</xliff:g> aldiz oker marrazten baduzu, telefonoa posta-kontu baten bidez desblokeatzeko eskatuko dizugu.\n\n Saiatu berriro <xliff:g id="NUMBER_2">%3$d</xliff:g> segundo barru."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Kendu"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> webgunearen atzeko planoak hasitako aurreko planoko zerbitzuak ez du izango erabili bitarteko baimenik etorkizuneko R konpilazioetan. Joan go/r-bg-fgs-restriction atalera eta egin akatsaren txostena."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Bolumena gomendatutako mailatik gora igo nahi duzu?\n\nMusika bolumen handian eta denbora luzez entzuteak entzumena kalte diezazuke."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Erabilerraztasun-lasterbidea erabili nahi duzu?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Lasterbidea aktibatuta dagoenean, bi bolumen-botoiak hiru segundoz sakatuta abiaraziko da erabilerraztasun-eginbidea.\n\n Uneko erabilerraztasun-eginbidea:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Eginbidea aldatzeko, joan Ezarpenak &gt; Erabilerraztasuna atalera."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikazioa ez dago erabilgarri"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ez dago erabilgarri une honetan. Haren erabilgarritasuna <xliff:g id="APP_NAME_1">%2$s</xliff:g> aplikazioak kudeatzen du."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Lortu informazio gehiago"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Kendu pausaldia"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Laneko profila aktibatu?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Laneko aplikazioak, jakinarazpenak, datuak eta laneko profileko bestelako eginbideak aktibatuko dira"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aktibatu"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Aktibatu/Desaktibatu pantaila zatitua"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Pantaila blokeatua"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Pantaila-argazkia"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Erabilerraztasun-menua"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioko azpitituluen barra."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Murriztuen edukiontzian ezarri da <xliff:g id="PACKAGE_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Pertsonala"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Lanekoa"</string>
</resources>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 58ce7a7e547c..d65357b73ba0 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"دستگاهتان پاک خواهد شد"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"برنامه سرپرست سیستم را نمی‌توان استفاده کرد. دستگاه شما در این لحظه پاک می‌شود.\n\nاگر سؤالی دارید، با سرپرست سیستم سازمانتان تماس بگیرید."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> چاپ کردن را غیرفعال کرده است."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"سرپرستْ برنامه‌های شخصی را به حالت تعلیق درآورد"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"برای بررسی مطابقت با خط‌مشی، اینجا ضربه بزنید."</string>
<string name="me" msgid="6207584824693813140">"من"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"گزینه‌های رایانهٔ لوحی"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"‏گزینه‌های Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"‏شما الگوی بازگشایی قفل خود را <xliff:g id="NUMBER_0">%1$d</xliff:g> بار اشتباه کشیده‌اید. پس از <xliff:g id="NUMBER_1">%2$d</xliff:g> تلاش ناموفق، از شما خواسته می‎شود که با استفاده از یک حساب ایمیل قفل تلفن خود را باز کنید.\n\n لطفاً پس از <xliff:g id="NUMBER_2">%3$d</xliff:g> ثانیه دوباره امتحان کنید."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"حذف"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"‏سرویس پیش‌نمای <xliff:g id="PACKAGENAME">%1$s</xliff:g>، که در پس‌زمینه شروع شده، در ساخت‌های آتی R اجازهٔ حین استفاده نخواهد داشت. لطفاً به go/r-bg-fgs-restriction بروید و گزارش اشکال ارسال کنید."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"میزان صدا را به بالاتر از حد توصیه شده افزایش می‌دهید؟\n\nگوش دادن به صداهای بلند برای مدت طولانی می‌تواند به شنوایی‌تان آسیب وارد کند."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"از میان‌بر دسترس‌پذیری استفاده شود؟"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"وقتی میان‌بر روشن است،‌ اگر هر دو دکمه صدا را ۳ ثانیه فشار دهید یکی از قابلیت‌های دسترس‌پذیری شروع می‌شود.\n\n قابلیت دسترس‌پذیری کنونی:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n می‌توانید در «تنظیمات &gt; دسترس‌پذیری»، قابلیت را تغییر دهید."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"برنامه در دسترس نیست"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> درحال‌حاضر در دسترس نیست. <xliff:g id="APP_NAME_1">%2$s</xliff:g> آن را مدیریت می‌کند."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"بیشتر بدانید"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"لغو توقف موقت برنامه"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"نمایه کاری روشن شود؟"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"برنامه‌ها، اعلان‌ها، داده‌ها و سایر قابلیت‌های نمایه کاری شما روشن خواهد شد"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"روشن کردن"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"تغییر وضعیت صفحهٔ دونیمه"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"صفحه قفل"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"عکس صفحه‌نمایش"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"منوی دسترس‌پذیری"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"نوار شرح <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> در سطل «محدودشده» قرار گرفت"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"شخصی"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"کاری"</string>
</resources>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index e0f4ed49b6a3..17b3d33b4cf8 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Laitteen tiedot poistetaan"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Hallintasovellusta ei voi käyttää. Laitteen tiedot pyyhitään.\n\nPyydä ohjeita järjestelmänvalvojaltasi."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> on poistanut tulostuksen käytöstä."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Järjestelmänvalvoja on estänyt henkilökohtaisten sovellusten käytön"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Katso käytäntöjen noudattaminen napauttamalla tätä."</string>
<string name="me" msgid="6207584824693813140">"Minä"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet-laitteen asetukset"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV ‑vaihtoehdot"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Piirsit lukituksenpoistokuvion väärin <xliff:g id="NUMBER_0">%1$d</xliff:g> kertaa. Jos piirrät kuvion väärin vielä <xliff:g id="NUMBER_1">%2$d</xliff:g> kertaa, sinua pyydetään poistamaan puhelimesi lukitus sähköpostitilin avulla.\n\n Yritä uudelleen <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunnin kuluttua."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Poista"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Taustalla aloitettu etualan palvelu (<xliff:g id="PACKAGENAME">%1$s</xliff:g>) ei ole käytön aikana sallittu R:n tulevissa versioissa. Lue go/r-bg-fgs-restriction ja lähetä virheraportti."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Nostetaanko äänenvoimakkuus suositellun tason yläpuolelle?\n\nPitkäkestoinen kova äänenvoimakkuus saattaa heikentää kuuloa."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Käytetäänkö esteettömyyden pikanäppäintä?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kun pikanäppäin on käytössä, voit käynnistää esteettömyystoiminnon pitämällä molempia äänenvoimakkuuspainikkeita painettuna kolmen sekunnin ajan.\n\n Tällä hetkellä valittu esteettömyystoiminto:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Voit vaihtaa toimintoa valitsemalla Asetukset &gt; Esteettömyys."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Sovellus ei käytettävissä"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ei ole juuri nyt saatavilla. Tästä vastaa <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Lue lisää"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Peru keskeytys"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Otetaanko työprofiili käyttöön?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Työsovellukset, ‑ilmoitukset, ‑tiedot ja muut työprofiiliominaisuudet otetaan käyttöön"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Ota käyttöön"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Jaettu näyttö päälle/pois"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lukitusnäyttö"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Kuvakaappaus"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Esteettömyysvalikko"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Tekstityspalkki: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> on nyt rajoitettujen ryhmässä"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Henkilökohtainen"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Työ"</string>
</resources>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 5d99db170087..45b8613a1e6f 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Le contenu de votre appareil sera effacé"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Impossible d\'utiliser l\'application d\'administration. Les données de votre appareil vont maintenant être effacées.\n\nSi vous avez des questions, communiquez avec l\'administrateur de votre organisation."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Impression désactivée par <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Les applications personnelles ont été suspendues par un administrateur"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Touchez ici pour vérifier la conformité aux politiques."</string>
<string name="me" msgid="6207584824693813140">"Moi"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Options de la tablette"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Options d\'Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Vous avez dessiné un schéma de déverrouillage incorrect à <xliff:g id="NUMBER_0">%1$d</xliff:g> reprises. Si vous échouez encore <xliff:g id="NUMBER_1">%2$d</xliff:g> fois, vous devrez déverrouiller votre téléphone à l\'aide d\'un compte de messagerie électronique.\n\n Veuillez réessayer dans <xliff:g id="NUMBER_2">%3$d</xliff:g> secondes."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Supprimer"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Le service de premier plan qui a démarré en arrière-plan provenant de <xliff:g id="PACKAGENAME">%1$s</xliff:g> ne disposera pas de l\'autorisation pendant l\'utilisation dans les futures versions R. Veuillez accéder à go/r-bg-fgs-restriction et envoyer un rapport de bogue."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Augmenter le volume au-dessus du niveau recommandé?\n\nL\'écoute prolongée à un volume élevé peut endommager vos facultés auditives."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Utiliser le raccourci d\'accessibilité?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Quand le raccourci est activé, appuyez sur les deux boutons de volume pendant trois secondes pour lancer une fonctionnalité d\'accessibilité.\n\n Fonctionnalité d\'accessibilité utilisée actuellement :\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Vous pouvez changer de fonctionnalité sous Paramètres &gt; Accessibilité."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"L\'application n\'est pas accessible"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"L\'application <xliff:g id="APP_NAME_0">%1$s</xliff:g> n\'est pas accessible pour le moment. Ceci est géré par <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"En savoir plus"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Réactiver l\'application"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Activer le profil professionnel?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Vos applications professionnelles, vos notifications, vos données et les autres fonctionnalités de profil professionnel seront activées"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activer"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Basculer l\'écran partagé"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Écran de verrouillage"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Capture d\'écran"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu d\'accessibilité"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barre de légende de l\'application <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> a été placé dans le compartiment RESTREINT"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personnel"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Bureau"</string>
</resources>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 3f4f3e6549e4..c646aeb8d82d 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Les données de votre appareil vont être effacées"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Impossible d\'utiliser l\'application d\'administration. Les données de votre appareil vont maintenant être effacées.\n\nSi vous avez des questions, contactez l\'administrateur de votre organisation."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Impression désactivée par <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Les applications personnelles ont été suspendues par un administrateur"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Appuyez ici pour vérifier que les règles sont respectées."</string>
<string name="me" msgid="6207584824693813140">"Moi"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Options de la tablette"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Options Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Vous avez dessiné un schéma de déverrouillage incorrect à <xliff:g id="NUMBER_0">%1$d</xliff:g> reprises. Si vous échouez encore <xliff:g id="NUMBER_1">%2$d</xliff:g> fois, vous devrez déverrouiller votre téléphone à l\'aide d\'un compte de messagerie électronique.\n\n Veuillez réessayer dans <xliff:g id="NUMBER_2">%3$d</xliff:g> secondes."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Supprimer"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Le service de premier plan qui a démarré en arrière-plan et provenant de <xliff:g id="PACKAGENAME">%1$s</xliff:g> ne disposera pas de l\'autorisation \"pendant l\'utilisation\" dans les futurs builds R. Veuillez accéder à go/r-bg-fgs-restriction et envoyer un rapport de bug."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Augmenter le volume au dessus du niveau recommandé ?\n\nL\'écoute prolongée à un volume élevé peut endommager vos facultés auditives."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Utiliser le raccourci d\'accessibilité ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Quand le raccourci est activé, appuyez sur les deux boutons de volume pendant trois secondes pour lancer une fonctionnalité d\'accessibilité.\n\n Fonctionnalité d\'accessibilité utilisée actuellement :\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Vous pouvez changer de fonctionnalité dans Paramètres &gt; Accessibilité."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Application indisponible"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"L\'application <xliff:g id="APP_NAME_0">%1$s</xliff:g> n\'est pas disponible pour le moment. Cette suspension est gérée par l\'application <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"En savoir plus"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Débloquer l\'application"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Activer profil professionnel ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Vos applications professionnelles, notifications, données et d\'autres fonctionnalités de votre profil professionnel seront activées"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activer"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Activer/Désactiver l\'écran partagé"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Verrouiller l\'écran"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Capture d\'écran"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu d\'accessibilité"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barre de légende de l\'application <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> a été placé dans le bucket RESTRICTED"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personnel"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Professionnel"</string>
</resources>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index 2e5052c134b1..2a2d7c4712b9 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Borrarase o teu dispositivo"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Non se pode utilizar a aplicación de administración. Borrarase o teu dispositivo.\n\nSe tes preguntas, contacta co administrador da organización."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> desactivou a impresión."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Un administrador suspendeu as aplicacións persoais"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Toca aquí para comprobar o cumprimento da política."</string>
<string name="me" msgid="6207584824693813140">"Eu"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opcións da tableta"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opcións de Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Debuxaches o padrón de desbloqueo incorrectamente <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o teléfono a través dunha conta de correo electrónico.\n\n Téntao de novo dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Eliminar"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Nas futuras compilacións R, o servizo en primeiro plano iniciado en segundo plano desde <xliff:g id="PACKAGENAME">%1$s</xliff:g> non terá permiso mentres estea en uso. Consulta go/r-bg-fgs-restriction e presenta un informe de erros."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Queres subir o volume máis do nivel recomendado?\n\nA reprodución de son a un volume elevado durante moito tempo pode provocar danos nos oídos."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Queres utilizar o atallo de accesibilidade?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Cando o atallo está activado, podes premer os dous botóns de volume durante 3 segundos para iniciar unha función de accesibilidade.\n\n Función de accesibilidade actual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Podes cambiar a función en Configuración &gt; Accesibilidade."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"A aplicación non está dispoñible"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"A aplicación <xliff:g id="APP_NAME_0">%1$s</xliff:g> non está dispoñible neste momento. A dispoñibilidade está xestionada por <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Máis información"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Volver activar aplicación"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Activar o perfil de traballo?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Activaranse as túas aplicacións de traballo, as notificacións, os datos e outras funcións do perfil de traballo"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activar"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Activar/desactivar pantalla dividida"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Pantalla de bloqueo"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Captura de pantalla"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menú de accesibilidade"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de subtítulos de <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> incluíuse no grupo RESTRINXIDO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Persoal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Traballo"</string>
</resources>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index 8081ef2709ba..aab09f751076 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"તમારું ઉપકરણ કાઢી નાખવામાં આવશે"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"વ્યવસ્થાપક ઍપનો ઉપયોગ કરી શકાશે નહીં. તમારું ઉપકરણ હવે કાઢી નાખવામાં આવશે.\n\nજો તમને પ્રશ્નો હોય, તો તમારી સંસ્થાના વ્યવસ્થાપકનો સંપર્ક કરો."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> દ્વારા પ્રિન્ટ કરવાનું બંધ કરાયું છે."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"વ્યવસ્થાપક દ્વારા વ્યક્તિગત ઍપ સ્થગિત કરવામાં આવી છે"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"નીતિનું પાલન થાય છે કે કેમ તે તપાસવા માટે અહીં ટૅપ કરો."</string>
<string name="me" msgid="6207584824693813140">"હું"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ટેબ્લેટ વિકલ્પો"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TVના વિકલ્પો"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"તમે તમારી અનલૉક પૅટર્ન <xliff:g id="NUMBER_0">%1$d</xliff:g> વખત ખોટી રીતે દોરી. હજી <xliff:g id="NUMBER_1">%2$d</xliff:g> અસફળ પ્રયાસ પછી, તમને ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને ફોનને અનલૉક કરવાનું કહેવામાં આવશે.\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> સેકન્ડમાં ફરીથી પ્રયાસ કરો."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"દૂર કરો"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"બૅકગ્રાઉન્ડમાં શરૂ થયેલી <xliff:g id="PACKAGENAME">%1$s</xliff:g>ની ફોરગ્રાઉન્ડ સેવા પાસે ભવિષ્યની R બિલ્ડમાં ઉપયોગમાં હોય તે સમયની પરવાનગી હશે નહીં. કૃપા કરીને go/r-bg-fgs-restriction જુઓ અને ભૂલનો અહેવાલ દાખલ કરો."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"ભલામણ કરેલ સ્તરની ઉપર વૉલ્યૂમ વધાર્યો?\n\nલાંબા સમય સુધી ઊંચા અવાજે સાંભળવું તમારી શ્રવણક્ષમતાને નુકસાન પહોંચાડી શકે છે."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ઍક્સેસિબિલિટી શૉર્ટકટનો ઉપયોગ કરીએ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"જ્યારે શૉર્ટકટ ચાલુ હોય, ત્યારે બન્ને વૉલ્યૂમ બટનને 3 સેકન્ડ સુધી દબાવી રાખવાથી ઍક્સેસિબિલિટી સુવિધા શરૂ થઈ જશે.\n\n વર્તમાન ઍક્સેસિબિલિટી સુવિધા:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n તમે સેટિંગ્સ &gt; ઍક્સેસિબિલિટીમાં જઈને આ સુવિધા બદલી શકો છો."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ઍપ ઉપલબ્ધ નથી"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> હમણાં ઉપલબ્ધ નથી. આને <xliff:g id="APP_NAME_1">%2$s</xliff:g> દ્વારા મેનેજ કરવામાં આવે છે."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"વધુ જાણો"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ઍપ ફરી શરૂ કરો"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"કાર્યાલયની પ્રોફાઇલ ચાલુ કરીએ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"તમારી કાર્યાલયની ઍપ, નોટિફિકેશન, ડેટા અને અન્ય કાર્યાલયની પ્રોફાઇલ સુવિધાઓ ચાલુ કરવામાં આવશે"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ચાલુ કરો"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"સ્ક્રીનને વિભાજિત કરવાની ક્રિયા ટૉગલ કરો"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"લૉક સ્ક્રીન"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"સ્ક્રીનશૉટ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ઍક્સેસિબિલિટી મેનૂ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>નું કૅપ્શન બાર."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>ને પ્રતિબંધિત સમૂહમાં મૂકવામાં આવ્યું છે"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"વ્યક્તિગત"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"કાર્યાલય"</string>
</resources>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 05efcd8942cb..e1bb060fbc76 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"आपके डिवाइस को मिटा दिया जाएगा"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"एडमिन ऐप्लिकेशन का इस्तेमाल नहीं किया जा सकता. आपके डिवाइस पर मौजूद डेटा अब मिटा दिया जाएगा.\n\nअगर आप कुछ पूछना चाहते हैं तो, अपने संगठन के एडमिन से संपर्क करें."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ने प्रिंटिंग सुविधा बंद कर दी है."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"किसी एडमिन ने निजी ऐप्लिकेशन निलंबित कर दिए हैं"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"नीति का पालन किया जा रहा है या नहीं, इसकी जांच करने के लिए यहां टैप करें."</string>
<string name="me" msgid="6207584824693813140">"मैं"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"टैबलेट विकल्‍प"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV डिवाइस में फ़ोन से जुड़े विकल्प"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"आपने अपने अनलॉक आकार को <xliff:g id="NUMBER_0">%1$d</xliff:g> बार गलत तरीके से आरेखित किया है. <xliff:g id="NUMBER_1">%2$d</xliff:g> और असफल प्रयासों के बाद, आपसे अपने फ़ोन को किसी ईमेल खाते का उपयोग करके अनलॉक करने के लिए कहा जाएगा.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंड में फिर से प्रयास करें."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"निकालें"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g>से बैकग्राउंड में शुरू की गई फ़ॉरग्राउंड सेवा के लिए, भविष्य के R बिल्ड में \'इस्तेमाल के समय अनुमति दें\' की सुविधा नहीं होगी. कृपया go/r-bg-fgs-restriction देखें और गड़बड़ी की शिकायत करें."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"वॉल्यूम को सुझाए गए स्तर से ऊपर बढ़ाएं?\n\nअत्यधिक वॉल्यूम पर ज़्यादा समय तक सुनने से आपकी सुनने की क्षमता को नुकसान हो सकता है."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"सुलभता शॉर्टकट का इस्तेमाल करना चाहते हैं?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"इस शॉर्टकट के चालू होने पर, दोनों वॉल्यूम बटनों को 3 सेकंड तक दबाने से सुलभता सुविधा शुरू हो जाएगी.\n\n मौजूदा सुलभता सुविधा:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n आप इस सुविधा को सेटिंग &gt; सुलभता पर जाकर बदल सकते हैं."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"यह ऐप्लिकेशन उपलब्ध नहीं है"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"फ़िलहाल <xliff:g id="APP_NAME_0">%1$s</xliff:g> उपलब्ध नहीं है. इसे <xliff:g id="APP_NAME_1">%2$s</xliff:g> के ज़रिए प्रबंधित किया जाता है."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ज़्यादा जानें"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ऐप्लिकेशन पर लगी रोक हटाएं"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"वर्क प्रोफ़ाइल चालू करें?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"आपके काम से जुड़े ऐप्लिकेशन, सूचनाएं, डेटा और वर्क प्रोफ़ाइल से जुड़ी दूसरी सुविधाएं चालू हो जाएंगी"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"चालू करें"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"स्प्लिट स्क्रीन पर टॉगल करें"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"स्क्रीन लॉक करें"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"स्क्रीनशॉट लें"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"सुलभता मेन्यू"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> का कैप्शन बार."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> को प्रतिबंधित बकेट में रखा गया है"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"निजी प्रोफ़ाइल"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"वर्क प्रोफ़ाइल"</string>
</resources>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index e4cefe8149d7..383943429400 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -196,10 +196,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Uređaj će se izbrisati"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administratorska aplikacija ne može se upotrebljavati. Uređaj će se izbrisati.\n\nAko imate pitanja, obratite se administratoru organizacije."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Ispis je onemogućila aplikacija <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Administrator je obustavio osobne aplikacije"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Dodirnite ovdje da biste provjerili usklađenost s pravilima."</string>
<string name="me" msgid="6207584824693813140">"Ja"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opcije tabletnog uređaja"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opcije Android TV-a"</string>
@@ -1635,8 +1633,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Netočno ste iscrtali obrazac za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. Nakon još ovoliko neuspješnih pokušaja: <xliff:g id="NUMBER_1">%2$d</xliff:g> morat ćete otključati telefon pomoću računa e-pošte.\n\n Pokušajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Ukloni"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Usluga u prednjem planu s <xliff:g id="PACKAGENAME">%1$s</xliff:g> pokrenuta u pozadini neće imati dopuštenje tijekom upotrebe u budućim R kompilacijama. Pogledajte go/r-bg-fgs-restriction i pošaljite izvješće o programskoj pogrešci."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Želite li pojačati zvuk iznad preporučene razine?\n\nDugotrajno slušanje glasne glazbe može vam oštetiti sluh."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Želite li upotrebljavati prečac za pristupačnost?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kada je taj prečac uključen, pritiskom na obje tipke za glasnoću na 3 sekunde pokrenut će se značajka pristupačnosti.\n\n Trenutačna značajka pristupačnosti:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Značajku možete promijeniti u Postavkama &gt; Pristupačnost."</string>
@@ -1884,8 +1881,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikacija nije dostupna"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> trenutačno nije dostupna. Ovime upravlja aplikacija <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Saznajte više"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Prekini pauzu aplikacije"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Želite uključiti radni profil?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Uključit će se vaše radne aplikacije, obavijesti, podaci i druge značajke radnog profila"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Uključi"</string>
@@ -2041,12 +2037,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Uključite ili isključite podijeljeni zaslon"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Zaključajte zaslon"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Snimka zaslona"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Izbornik pristupačnosti"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Traka naslova aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Paket <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> premješten je u spremnik OGRANIČENO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Osobno"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Posao"</string>
</resources>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 08cb1c774b33..fcea1ec4975a 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"A rendszer törölni fogja eszközét"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"A rendszergazdai alkalmazás nem használható. A rendszer most törli az eszközt.\n\nKérdéseivel forduljon szervezete rendszergazdájához."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"A(z) <xliff:g id="OWNER_APP">%s</xliff:g> letiltotta a nyomtatást."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"A személyes alkalmazások adminisztrátori felfüggesztés alá kerültek"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Koppintson ide az irányelvek betartásának ellenőrzéséhez."</string>
<string name="me" msgid="6207584824693813140">"Saját"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Táblagép beállításai"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV beállításai"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"<xliff:g id="NUMBER_0">%1$d</xliff:g> alkalommal helytelenül rajzolta le a feloldási mintát. További <xliff:g id="NUMBER_1">%2$d</xliff:g> sikertelen kísérlet után egy e-mail fiók használatával kell feloldania a telefonját.\n\n Kérjük, próbálja újra <xliff:g id="NUMBER_2">%3$d</xliff:g> másodperc múlva."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Eltávolítás"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"A háttér által indított előtérben futó szolgáltatás (innen: <xliff:g id="PACKAGENAME">%1$s</xliff:g>) nem tartalmaz majd használat közbeni engedélyt a jövőbeli R buildekben. Kérjük, keresse fel a go/r-bg-fgs-restriction webhelyet, és jelentse a hibát."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Az ajánlott szint fölé szeretné emelni a hangerőt?\n\nHa hosszú időn át teszi ki magát nagy hangerőnek, azzal károsíthatja a hallását."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Szeretné használni a Kisegítő lehetőségek billentyűparancsot?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Ha be van kapcsolva a billentyűparancs, a két hangerőgomb 3 másodpercig tartó lenyomásával elindíthatja a kisegítő lehetőségek egyik funkcióját.\n\n A kisegítő lehetőségek jelenleg beállított funkciója:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n A funkciót a Beállítások &gt; Kisegítő lehetőségek menüpontban módosíthatja."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Az alkalmazás nem áll rendelkezésre"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"A(z) <xliff:g id="APP_NAME_0">%1$s</xliff:g> alkalmazás jelenleg nem áll rendelkezésre. Ezt a(z) <xliff:g id="APP_NAME_1">%2$s</xliff:g> kezeli."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"További információ"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Alkalmazás szüneteltetésének feloldása"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Bekapcsolja a munkaprofilt?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"A munkahelyi alkalmazások, értesítések, adatok és a munkaprofilhoz tartozó egyéb funkciók be lesznek kapcsolva"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Bekapcsolás"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Osztott képernyő be- vagy kikapcsolása"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lezárási képernyő"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Képernyőkép"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Kisegítő lehetőségek menü"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> alkalmazás címsora."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"A következő csomag a KORLÁTOZOTT csoportba került: <xliff:g id="PACKAGE_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Személyes"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Munka"</string>
</resources>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 9d33f6b8e4fd..cbd754f15e29 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Ձեր սարքը ջնջվելու է"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Հնարավոր չէ օգտագործել ադմինիստրատորի հավելվածը։ Ձեր սարքից բոլոր տվյալները կջնջվեն։\n\nՀարցեր ունենալու դեպքում դիմեք ձեր կազմակերպության ադմինիստրատորին։"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Տպումն անջատված է <xliff:g id="OWNER_APP">%s</xliff:g> հավելվածի կողմից։"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Անձնական հավելվածները կասեցվել են ադմինիստրատորի կողմից"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Հպեք այստեղ, որպեսզի ստուգեք՝ արդյոք որևէ կանոն չի խախտվել։"</string>
<string name="me" msgid="6207584824693813140">"Իմ"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Պլանշետի ընտրանքները"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV-ի կարգավորումներ"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման նմուշը: <xliff:g id="NUMBER_1">%2$d</xliff:g> անգամից ավել անհաջող փորձերից հետո ձեզ կառաջարկվի ապակողպել ձեր հեռախոսը` օգտագործելով էլփոստի հաշիվ:\n\n Փորձեք կրկին <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Հեռացնել"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Ֆոնային ռեժիմում <xliff:g id="PACKAGENAME">%1$s</xliff:g>-ից գործարկված առաջին պլանի ծառայությունը հետագա R կառուցումներում թույլտվություն չի ունենա օգտագործման ընթացքում։ Անցեք go/r-bg-fgs-restriction էջ և հաղորդեք վրիպակի մասին։"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Ձայնը բարձրացնե՞լ խորհուրդ տրվող մակարդակից ավել:\n\nԵրկարատև բարձրաձայն լսելը կարող է վնասել ձեր լսողությունը:"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Օգտագործե՞լ Մատչելիության դյուրանցումը։"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Հատուկ գործառույթն օգտագործելու համար սեղմեք և 3 վայրկյան սեղմած պահեք ձայնի ուժգնության երկու կոճակները, երբ գործառույթը միացված է։\n\n Մատչելիության ակտիվ գործառույթը՝\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Գործառույթը կարող եք փոփոխել՝ անցնելով Կարգավորումներ &gt; Հատուկ գործառույթներ։"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Հավելվածը հասանելի չէ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> հավելվածը հասանելի չէ։ Դրա աշխատանքը սահմանափակում է <xliff:g id="APP_NAME_1">%2$s</xliff:g> հավելվածը։"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Մանրամասն"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Չեղարկել դադարեցումը"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Միացնե՞լ աշխատանքային պրոֆիլը"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Ձեր աշխատանքային հավելվածները, ծանուցումները, տվյալները և աշխատանքային պրոֆիլի մյուս գործառույթները կմիանան"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Միացնել"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Միացնել/անջատել էկրանի տրոհումը"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Կողպէկրան"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Սքրինշոթ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Հատուկ գործառույթների ընտրացանկ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի ենթագրերի գոտին։"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> փաթեթը գցվեց ՍԱՀՄԱՆԱՓԱԿՎԱԾ զամբյուղի մեջ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Անձնական"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Աշխատանքային"</string>
</resources>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 48136108d7c1..f1a94ff0149e 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Perangkat akan dihapus"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Aplikasi admin tidak dapat digunakan. Perangkat Anda kini akan dihapus.\n\nJika ada pertanyaan, hubungi admin organisasi."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Fitur pencetakan dinonaktifkan oleh <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Aplikasi pribadi telah ditangguhkan oleh admin"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Ketuk di sini untuk memeriksa kepatuhan kebijakan."</string>
<string name="me" msgid="6207584824693813140">"Saya"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opsi tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opsi Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Anda telah <xliff:g id="NUMBER_0">%1$d</xliff:g> kali salah menggambar pola pembuka kunci. Setelah <xliff:g id="NUMBER_1">%2$d</xliff:g> lagi upaya gagal, Anda akan diminta membuka kunci ponsel menggunakan akun email.\n\nCoba lagi dalam <xliff:g id="NUMBER_2">%3$d</xliff:g> detik."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Hapus"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Layanan latar depan yang dimulai oleh latar belakang dari <xliff:g id="PACKAGENAME">%1$s</xliff:g> tidak akan memiliki izin saat-sedang-digunakan pada build R masa mendatang Lihat go/r-bg-fgs-restriction dan kirim laporan bug."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Mengeraskan volume di atas tingkat yang disarankan?\n\nMendengarkan dengan volume keras dalam waktu yang lama dapat merusak pendengaran Anda."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Gunakan Pintasan Aksesibilitas?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Saat pintasan aktif, menekan kedua tombol volume selama 3 detik akan memulai fitur aksesibilitas.\n\n Fitur aksesibilitas saat ini:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Anda dapat mengubah fitur di Setelan &gt; Aksesibilitas."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikasi tidak tersedia"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> saat ini tidak tersedia. Aplikasi ini dikelola oleh <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Pelajari lebih lanjut"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Batalkan jeda aplikasi"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Aktifkan profil kerja?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Aplikasi kerja, notifikasi, data, dan fitur profil kerja lainnya akan diaktifkan"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aktifkan"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Aktifkan/Nonaktifkan Layar Terpisah"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Layar Kunci"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu Aksesibilitas"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Kolom teks <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> telah dimasukkan ke dalam bucket DIBATASI"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Pribadi"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Kerja"</string>
</resources>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index bf3fe87f7931..b4cb76d367b5 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Tækið verður hreinsað"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Ekki er hægt að nota stjórnunarforritið. Tækinu verður eytt.\n\nEf spurningar vakna skaltu hafa samband við kerfisstjóra fyrirtækisins."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> lokaði á prentun."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Stjórnandi hefur lokað á persónuleg forrit"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Ýttu hér til að sjá reglufylgni."</string>
<string name="me" msgid="6207584824693813140">"Ég"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Valkostir spjaldtölvu"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Valkostir Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Þú hefur teiknað rangt opnunarmynstur <xliff:g id="NUMBER_0">%1$d</xliff:g> sinnum. Eftir <xliff:g id="NUMBER_1">%2$d</xliff:g> árangurslausar tilraunir í viðbót verður þú beðin(n) um að opna símann með tölvupóstreikningi.\n\n Reyndu aftur eftir <xliff:g id="NUMBER_2">%3$d</xliff:g> sekúndur."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Fjarlægja"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Forgrunnsþjónusta frá <xliff:g id="PACKAGENAME">%1$s</xliff:g> sem er ræst úr bakgrunni mun ekki hafa heimild við notkun í framtíðarútgáfum R. Farðu á go/r-bg-fgs-restriction og gefðu villuskýrslu."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Hækka hljóðstyrk umfram ráðlagðan styrk?\n\nEf hlustað er á háum hljóðstyrk í langan tíma kann það að skaða heyrnina."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Viltu nota aðgengisflýtileið?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Þegar flýtileiðin er virk er kveikt á aðgengiseiginleikanum með því að halda báðum hljóðstyrkshnöppunum inni í þrjár sekúndur.\n\n Virkur aðgengiseiginleiki:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Hægt er að skipta um eiginleika í Stillingar &gt; Aðgengi."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Forritið er ekki í boði"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> er ekki í boði eins og er. Þessu er stjórnað með <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Nánari upplýsingar"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Halda áfram að nota"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Kveikja á vinnusniði?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Kveikt verður á vinnuforritum, tilkynningum, gögnum og öðrum eiginleikum vinnusniðsins"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Kveikja"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Breyta skjáskiptingu"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lásskjár"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Skjámynd"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Aðgengisvalmynd"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Skjátextastika <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> var sett í flokkinn TAKMARKAÐ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Persónulegt"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Vinna"</string>
</resources>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 72ca138f9ed3..23a62a8a48f8 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Il dispositivo verrà resettato"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Impossibile usare l\'app di amministrazione. Il dispositivo verrà resettato.\n\nPer eventuali domande, contatta l\'amministratore della tua organizzazione."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Stampa disattivata da <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Le app personali sono state sospese da un amministratore"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tocca qui per controllare il rispetto delle norme."</string>
<string name="me" msgid="6207584824693813140">"Io"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opzioni tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opzioni Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"<xliff:g id="NUMBER_0">%1$d</xliff:g> tentativi errati di inserimento della sequenza di sblocco. Dopo altri <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativi falliti, ti verrà chiesto di sbloccare il telefono con un account email.\n\n Riprova tra <xliff:g id="NUMBER_2">%3$d</xliff:g> secondi."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Rimuovi"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Il servizio in primo piano avviato in background da <xliff:g id="PACKAGENAME">%1$s</xliff:g> non avrà l\'autorizzazione \"durante l\'uso\" nelle future build R. Visita la pagina go/r-bg-fgs-restriction e invia una segnalazione di bug."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Vuoi aumentare il volume oltre il livello consigliato?\n\nL\'ascolto ad alto volume per lunghi periodi di tempo potrebbe danneggiare l\'udito."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Usare la scorciatoia Accessibilità?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Quando la scorciatoia è attiva, puoi premere entrambi i pulsanti del volume per tre secondi per avviare una funzione di accessibilità.\n\n Funzione di accessibilità corrente:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Puoi cambiare la funzione in Impostazioni &gt; Accessibilità."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App non disponibile"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> non è al momento disponibile. Viene gestita tramite <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Ulteriori informazioni"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Riattiva app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Attivare il profilo di lavoro?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Le tue app di lavoro, le notifiche, i dati e altri elementi del profilo di lavoro saranno attivati."</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Attiva"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Attiva/disattiva schermo diviso"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Schermata di blocco"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu Accessibilità"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra del titolo di <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> è stato inserito nel bucket RESTRICTED"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personale"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Lavoro"</string>
</resources>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 9c8d0a3a64ec..4319aa8644f0 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"תתבצע מחיקה של המכשיר"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"לא ניתן להשתמש באפליקציה של מנהל המערכת.\n\nאם יש לך שאלות, יש ליצור קשר עם מנהל המערכת של הארגון."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"ההדפסה הושבתה על ידי <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"אפליקציות אישיות הושעו על ידי מנהל מערכת"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"יש להקיש כאן כדי לבדוק תאימות למדיניות."</string>
<string name="me" msgid="6207584824693813140">"אני"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"אפשרויות טאבלט"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"‏אפשרויות Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"שרטטת את קו ביטול הנעילה באופן שגוי <xliff:g id="NUMBER_0">%1$d</xliff:g> פעמים. לאחר <xliff:g id="NUMBER_1">%2$d</xliff:g> ניסיונות כושלים נוספים, תתבקש לבטל את נעילת הטלפון באמצעות חשבון אימייל‏.\n\nנסה שוב בעוד <xliff:g id="NUMBER_2">%3$d</xliff:g> שניות."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"הסר"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"‏לשירות שפועל בחזית מ-<xliff:g id="PACKAGENAME">%1$s</xliff:g> שהחל ברקע לא תהיה הרשאת while-in-use בגרסאות R build בעתיד. יש לעיין בכתובת go/r-bg-fgs-restriction ולהגיש דוח על באג."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"האם להעלות את עוצמת הקול מעל לרמה המומלצת?\n\nהאזנה בעוצמת קול גבוהה למשכי זמן ממושכים עלולה לפגוע בשמיעה."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"להשתמש בקיצור הדרך לתכונת הנגישות?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"כשקיצור הדרך מופעל, לחיצה על שני לחצני עוצמת השמע למשך שלוש שניות מפעילה את תכונת הנגישות.\n\n תכונת הנגישות המוגדרת כרגע:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n אפשר לשנות את התכונה בקטע \'הגדרות ונגישות\'."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"האפליקציה אינה זמינה"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"האפליקציה <xliff:g id="APP_NAME_0">%1$s</xliff:g> לא זמינה כרגע. את הזמינות שלה אפשר לנהל באפליקציה <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"מידע נוסף"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ביטול ההשהיה של האפליקציה"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"להפעיל את פרופיל העבודה?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"אפליקציות העבודה, התראות, נתונים ותכונות נוספות של פרופיל העבודה יופעלו"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"הפעל"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"החלפת מצב של מסך מפוצל"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"מסך הנעילה"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"צילום מסך"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"תפריט נגישות"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"סרגל כיתוב של <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> התווספה לקטגוריה \'מוגבל\'"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"אישי"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"עבודה"</string>
</resources>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 529d0119f0be..481af76de9a7 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"デバイスのデータが消去されます"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"管理アプリを使用できません。デバイスのデータはこれから消去されます。\n\nご不明な点がある場合は、組織の管理者にお問い合わせください。"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"「<xliff:g id="OWNER_APP">%s</xliff:g>」により印刷は無効にされています。"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"個人用アプリは管理者によって停止されています"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ポリシー コンプライアンスを確認するにはここをタップしてください。"</string>
<string name="me" msgid="6207584824693813140">"自分"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"タブレットオプション"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV のオプション"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"ロック解除パターンの入力を<xliff:g id="NUMBER_0">%1$d</xliff:g>回間違えました。あと<xliff:g id="NUMBER_1">%2$d</xliff:g>回間違えると、モバイルデバイスのロック解除にメールアカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>秒後にもう一度お試しください。"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" - "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"削除"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"今後の R ビルドでは、<xliff:g id="PACKAGENAME">%1$s</xliff:g> からバックグラウンドで開始されるフォアグラウンド サービスに「使用中のみ許可」の権限がありません。go/r-bg-fgs-restriction を確認し、バグレポートを提出してください。"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"推奨レベルを超えるまで音量を上げますか?\n\n大音量で長時間聞き続けると、聴力を損なう恐れがあります。"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ユーザー補助機能のショートカットの使用"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ショートカットが ON の場合、両方の音量ボタンを 3 秒間押し続けるとユーザー補助機能が起動します。\n\n現在のユーザー補助機能:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\nユーザー補助機能は [設定] &gt; [ユーザー補助] で変更できます。"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"このアプリは使用できません"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"現在、<xliff:g id="APP_NAME_0">%1$s</xliff:g> は使用できません。このアプリの使用は [<xliff:g id="APP_NAME_1">%2$s</xliff:g>] で管理されています。"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"詳細"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"アプリの一時停止を解除"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"仕事用プロファイルの有効化"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"仕事用のアプリ、通知、データなど、仕事用プロファイルの機能が ON になります"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ON にする"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"分割画面の切り替え"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ロック画面"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"スクリーンショット"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ユーザー補助機能メニュー"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> のキャプション バーです。"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> は RESTRICTED バケットに移動しました。"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"個人用"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"仕事用"</string>
</resources>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index 3f97338ade76..c2c28e515593 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"თქვენი მოწყობილობა წაიშლება"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"ადმინისტრატორის აპის გამოყენება ვერ მოხერხდება. თქვენი მოწყობილობა ახლა ამოიშლება.\n\nთუ შეკითხვები გაქვთ, დაუკავშირდით თქვენი ორგანიზაციის ადმინისტრატორს."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"ბეჭდვა გათიშულია <xliff:g id="OWNER_APP">%s</xliff:g>-ის მიერ."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"პირადი აპები შეჩერებულია ადმინისტრატორის მიერ"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"შეეხეთ აქ წესებთან შესაბამისობის შესამოწმებლად."</string>
<string name="me" msgid="6207584824693813140">"მე"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ტაბლეტის პარამეტრები"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV ვარიანტები"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"თქვენ არასწორად დახატეთ თქვენი განბლოკვის ნიმუში <xliff:g id="NUMBER_0">%1$d</xliff:g>-ჯერ. კიდევ <xliff:g id="NUMBER_1">%2$d</xliff:g> წარუმატებელი ცდის შემდეგ, დაგჭირდებათ თქვენი ტელეფონის განბლოკვა ელფოსტის ანგარიშის გამოყენებით.\n\n ხელახლა სცადეთ <xliff:g id="NUMBER_2">%3$d</xliff:g> წამში."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ამოშლა"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g>-ის ფონურად დაწყებულ წინა პლანის სერვისს მომავალ R build-ებში გამოყენების პროცესში წვდომის ნებართვა არ ექნება. გთხოვთ, იხილოთ go/r-bg-fgs-restriction და გამოგზავნოთ ხარვეზის ანგარიში."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"გსურთ ხმის რეკომენდებულ დონეზე მაღლა აწევა?\n\nხანგრძლივად ხმამაღლა მოსმენით შესაძლოა სმენადობა დაიზიანოთ."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"გსურთ მარტივი წვდომის მალსახმობის გამოყენება?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"მალსახმობის ჩართვის შემთხვევაში, ხმის ორივე ღილაკზე 3 წამის განმავლობაში დაჭერით მარტივი წვდომის ფუნქცია ჩაირთვება.\n\n მარტივი წვდომის ამჟამინდელი ფუნქციაა:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ამ ფუნქციის შეცვლა შეგიძლიათ აქ: პარამეტრები &gt; მარტივი წვდომა."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"აპი მიუწვდომელია"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ამჟამად მიუწვდომელია. ის იმართება <xliff:g id="APP_NAME_1">%2$s</xliff:g>-ის მიერ."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"შეიტყვეთ მეტი"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"აპის დაპაუზების გაუქმება"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"ჩაირთოს სამსახურის პროფილი?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"თქვენი სამსახურის აპები, შეტყობინებები, მონაცემები და სამსახურის პროფილის ყველა სხვა ფუნქცია ჩაირთვება"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ჩართვა"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"გაყოფილი ეკრანის გადართვა"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ჩაკეტილი ეკრანი"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ეკრანის ანაბეჭდი"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"მარტივი წვდომის მენიუ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ის სუბტიტრების ზოლი."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> მოთავსდა კალათაში „შეზღუდული“"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"პირადი"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"სამსახური"</string>
</resources>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index bccd3f4b6a77..7cb05129495d 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Құрылғыңыздағы деректер өшіріледі"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Әкімші қолданбасын пайдалану мүмкін емес. Қазір құрылғыдағы деректер өшіріледі\n\nСұрақтарыңыз болса, ұйым әкімшісіне хабарласыңыз."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Басып шығаруды <xliff:g id="OWNER_APP">%s</xliff:g> өшірді."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Әкімші жеке қолданбаларды уақытша тоқтатты"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Саясат талаптарының сай келуін тексеру үшін осы жерді түртіңіз."</string>
<string name="me" msgid="6207584824693813140">"Мен"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Планшет опциялары"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV опциялары"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Бекітпені ашу кескінін <xliff:g id="NUMBER_0">%1$d</xliff:g> рет қате сыздыңыз. <xliff:g id="NUMBER_1">%2$d</xliff:g> сәтсіз әрекеттен кейін телефоныңызды есептік жазба арқылы ашу өтінішін аласыз. \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундтан кейін қайта әрекеттеніңіз."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Алып тастау"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Фондық режимде іске қосылған <xliff:g id="PACKAGENAME">%1$s</xliff:g> белсенді пакетінің алдағы R құрамаларында \"Пайдаланғанда ғана рұқсат ету\" рұқсаты болмайды. go/r-bg-fgs-restriction бетіне өтіп, қате туралы есеп жіберіңіз."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Дыбыс деңгейін ұсынылған деңгейден көтеру керек пе?\n\nЖоғары дыбыс деңгейінде ұзақ кезеңдер бойы тыңдау есту қабілетіңізге зиян тигізуі мүмкін."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Арнайы мүмкіндік төте жолын пайдалану керек пе?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Бұл төте жол қосулы кезде дыбыс деңгейі түймелерінің екеуін де 3 секунд бойы басқанда арнайы мүмкіндік іске қосылады.\n\n Ағымдағы арнайы мүмкіндік:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Бұл мүмкіндікті \"Параметрлер\" &gt; \"Арнайы мүмкіндіктер\" тармағында өзгертуге болады."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Қолданба қолжетімді емес"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> дәл қазір қолжетімді емес. Ол <xliff:g id="APP_NAME_1">%2$s</xliff:g> арқылы басқарылады."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Толығырақ"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Қолданбаны қайта қосу"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Жұмыс профилі қосылсын ба?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Жұмыс қолданбалары, хабарландырулар, деректер және басқа да жұмыс профильдерінің мүмкіндіктері қосылады"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Қосу"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Экранды бөлу мүмкіндігін қосу/өшіру"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Құлып экраны"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Скриншот"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Арнайы мүмкіндіктер мәзірі"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасының жазу жолағы."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ШЕКТЕЛГЕН себетке салынды."</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Жеке"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Жұмыс"</string>
</resources>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index ee451e936020..e0267d363721 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ឧបករណ៍របស់អ្នកនឹងត្រូវបានលុប"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"មិនអាច​ប្រើ​កម្មវិធី​អ្នកគ្រប់គ្រង​បានទេ។ ឧបករណ៍​របស់អ្នក​នឹងលុប​ឥឡូវនេះ។\n\nប្រសិនបើ​អ្នកមាន​សំណួរផ្សេងៗ​ សូមទាក់ទង​ទៅអ្នក​គ្រប់គ្រង​ស្ថាប័ន​របស់​អ្នក។"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"ការបោះពុម្ព​ត្រូវបាន​បិទ​ដោយ <xliff:g id="OWNER_APP">%s</xliff:g> ។"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"អ្នកគ្រប់គ្រង​បានផ្អាក​កម្មវិធី​ផ្ទាល់ខ្លួន"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ចុច​ត្រង់នេះ ដើម្បី​ពិនិត្យមើល​ការអនុលោម​តាម​គោលការណ៍​។"</string>
<string name="me" msgid="6207584824693813140">"ខ្ញុំ"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ជម្រើស​កុំព្យូទ័រ​បន្ទះ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"ជម្រើស Android TV"</string>
@@ -1615,8 +1613,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"អ្នក​បាន​គូរ​លំនាំ​ដោះ​​សោ​របស់​អ្នក​មិន​ត្រឹមត្រូវ​ចំនួន <xliff:g id="NUMBER_0">%1$d</xliff:g> ដង។ បន្ទាប់​ពី​ការ​ព្យាយាម​មិន​ជោគជ័យ​​ច្រើនជាង <xliff:g id="NUMBER_1">%2$d</xliff:g> ដង អ្នក​នឹង​ត្រូវ​បាន​​ស្នើ​ឲ្យ​ដោះ​សោ​ទូរស័ព្ទ​របស់​អ្នក​ដោយ​ប្រើ​គណនី​អ៊ីមែល។\n\n ព្យាយាម​ម្ដង​ទៀត​ក្នុង​រយៈ​ពេល <xliff:g id="NUMBER_2">%3$d</xliff:g> វិនាទី។"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"លុប​ចេញ"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"សេវាកម្ម​ផ្ទៃខាងមុខ​ដែលចាប់ផ្ដើមដោយ​ផ្ទៃខាងក្រោយ​ពី <xliff:g id="PACKAGENAME">%1$s</xliff:g> នឹង​មិនមាន​ការអនុញ្ញាត​ខណៈពេល​កំពុង​ប្រើប្រាស់​ទេ នៅក្នុង​កំណែបង្កើត R នៅពេល​អនាគត​។ សូម​មើល go/r-bg-fgs-restriction និង​ផ្ញើ​របាយការណ៍​អំពី​បញ្ហា​។"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"បង្កើន​កម្រិត​សំឡេង​លើស​ពី​កម្រិត​បាន​ផ្ដល់​យោបល់?\n\nការ​ស្ដាប់​នៅ​កម្រិត​សំឡេង​ខ្លាំង​យូរ​អាច​ធ្វើឲ្យ​ខូច​ត្រចៀក។"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ប្រើប្រាស់​ផ្លូវកាត់​ភាព​ងាយស្រួល?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"នៅពេល​ផ្លូវកាត់​នេះបើក ការ​ចុច​ប៊ូតុង​កម្រិត​សំឡេង​ទាំង​ពីរ​ឲ្យ​ជាប់​រយៈពេល​ 3 វិនាទីនឹង​ចាប់ផ្តើម​មុខងារ​ភាពងាយស្រួល។\n\n មុខងារ​ភាពងាយស្រួល​បច្ចុប្បន្ន៖\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n អ្នក​អាច​ផ្លាស់​ប្តូរ​មុខងារ​នេះ​បាន​នៅក្នុង​ការ កំណត់ &gt; ភាព​ងាយស្រួល។"</string>
@@ -1854,8 +1851,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"​កម្មវិធី​មិន​អាច​ប្រើ​បានទេ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> មិន​អាច​ប្រើ​បាន​ទេនៅពេលនេះ។ វា​ស្ថិត​ក្រោម​ការគ្រប់គ្រងរបស់ <xliff:g id="APP_NAME_1">%2$s</xliff:g> ។"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ស្វែងយល់បន្ថែម"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ឈប់ផ្អាក​កម្មវិធី"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"បើក​កម្រង​ព័ត៌មាន​ការ​ងារ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"កម្មវិធី​ការងារ ការ​ជូនដំណឹង ទិន្នន័យ និង​មុខងារ​កម្រង​ព័ត៌មាន​ការងារ​ផ្សេង​ទៀត​របស់អ្នក​នឹង​ត្រូវ​បាន​បើក"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"បើក"</string>
@@ -2009,12 +2005,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"បិទ/បើក​មុខងារ​បំបែកអេក្រង់"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"អេក្រង់ចាក់សោ"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"រូបថតអេក្រង់"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ម៉ឺនុយ​ភាពងាយស្រួល"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"របារពណ៌នា​អំពី <xliff:g id="APP_NAME">%1$s</xliff:g>។"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ត្រូវបានដាក់​ទៅក្នុងធុង​ដែលបានដាក់កំហិត"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ផ្ទាល់ខ្លួន"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ការងារ"</string>
</resources>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index 75282842175c..4a2bc72d27d8 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ಸಾಧನವನ್ನು ಇದೀಗ ಅಳಿಸಲಾಗುತ್ತದೆ.\n\nನಿಮ್ಮಲ್ಲಿ ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ, ನಿಮ್ಮ ಸಂಸ್ಥೆಯ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ಮೂಲಕ ಪ್ರಿಂಟಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ವೈಯಕ್ತಿಕ ಆ್ಯಪ್‌ಗಳನ್ನು ನಿರ್ವಾಹಕರು ಅಮಾನತುಗೊಳಿಸಿದ್ದಾರೆ"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ಕಾರ್ಯನೀತಿ ಅನುಸರಣೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಇಲ್ಲಿ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
<string name="me" msgid="6207584824693813140">"ನಾನು"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ಟ್ಯಾಬ್ಲೆಟ್ ಆಯ್ಕೆಗಳು"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV ಆಯ್ಕೆಗಳು"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"ನಿಮ್ಮ ಅನ್‍‍ಲಾಕ್ ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ನೀವು <xliff:g id="NUMBER_0">%1$d</xliff:g> ಬಾರಿ ತಪ್ಪಾಗಿ ಡ್ರಾ ಮಾಡಿರುವಿರಿ. <xliff:g id="NUMBER_1">%2$d</xliff:g> ಹೆಚ್ಚಿನ ವಿಫಲ ಪ್ರಯತ್ನಗಳ ಬಳಿಕ, ನಿಮ್ಮ ಇಮೇಲ್ ಖಾತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಫೋನ್ ಅನ್‌ಲಾಕ್ ಮಾಡುವಂತೆ ನಿಮ್ಮಲ್ಲಿ ಕೇಳಿಕೊಳ್ಳಲಾಗುತ್ತದೆ.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ತೆಗೆದುಹಾಕು"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> ನಿಂದ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲಾದ ಮುನ್ನೆಲೆ ಸೇವೆ ಭವಿಷ್ಯದ R ಬಿಲ್ಡ್‌ಗಳಿಂದ ಬಳಕೆಯಲ್ಲಿರುವಾಗ ಅನುಮತಿಯನ್ನು ಪಡೆಯುವುದಿಲ್ಲ. go/r-bg-fgs-restriction ಅನ್ನು ನೋಡಿ ಮತ್ತು ದೋಷವರದಿಯನ್ನು ಫೈಲ್‌ ಮಾಡಿ."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"ವಾಲ್ಯೂಮ್‌ ಅನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾದ ಮಟ್ಟಕ್ಕಿಂತಲೂ ಹೆಚ್ಚು ಮಾಡುವುದೇ?\n\nದೀರ್ಘ ಅವಧಿಯವರೆಗೆ ಹೆಚ್ಚಿನ ವಾಲ್ಯೂಮ್‌ನಲ್ಲಿ ಆಲಿಸುವುದರಿಂದ ನಿಮ್ಮ ಆಲಿಸುವಿಕೆ ಸಾಮರ್ಥ್ಯಕ್ಕೆ ಹಾನಿಯುಂಟು ಮಾಡಬಹುದು."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ಪ್ರವೇಶಿಸುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸುವುದೇ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ಶಾರ್ಟ್‌ಕಟ್ ಆನ್ ಆಗಿರುವಾಗ ಪ್ರವೇಶಿಸುವಿಕೆ ವೈಶಿಷ್ಟ್ಯ ಆನ್ ಮಾಡಲು, ಎರಡೂ ವಾಲ್ಯೂಮ್ ಬಟನ್‌ಗಳನ್ನು ನೀವು 3 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಒತ್ತಬೇಕು.\n\nಪ್ರಸ್ತುತ ಪ್ರವೇಶಿಸುವಿಕೆ ವೈಶಿಷ್ಟ್ಯ: \n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಪ್ರವೇಶಿಸುವಿಕೆಯಲ್ಲಿ ನೀವು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬದಲಾಯಿಸಬಹುದು."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ಅಪ್ಲಿಕೇಶನ್ ಲಭ್ಯವಿಲ್ಲ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ ಸದ್ಯಕ್ಕೆ ಲಭ್ಯವಿಲ್ಲ. ಇದನ್ನು <xliff:g id="APP_NAME_1">%2$s</xliff:g> ನಲ್ಲಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತಿದೆ."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ಆ್ಯಪ್ ವಿರಾಮ ನಿಲ್ಲಿಸಿ"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಆನ್ ಮಾಡುವುದೇ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"ನಿಮ್ಮ ಕೆಲಸದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅಧಿಸೂಚನೆಗಳು, ಡೇಟಾ ಮತ್ತು ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ನ ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಆನ್ ಮಾಡಲಾಗುತ್ತದೆ"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ಆನ್‌ ಮಾಡಿ"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"ಸ್ಪ್ಲಿಟ್-ಸ್ಕ್ರೀನ್ ಟಾಗಲ್ ಮಾಡಿ"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ಲಾಕ್ ಸ್ಕ್ರೀನ್"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ಪ್ರವೇಶಿಸುವಿಕೆ ಮೆನು"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಆ್ಯಪ್‌ನ ಶೀರ್ಷಿಕೆಯ ಪಟ್ಟಿ."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ಅನ್ನು ನಿರ್ಬಂಧಿತ ಬಕೆಟ್‌ಗೆ ಹಾಕಲಾಗಿದೆ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ವೈಯಕ್ತಿಕ"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ಕೆಲಸ"</string>
</resources>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index d5b450757bf9..0ac7a1447f7c 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"기기가 삭제됩니다."</string>
<string name="factory_reset_message" msgid="2657049595153992213">"관리자 앱을 사용할 수 없습니다. 곧 기기가 삭제됩니다.\n\n궁금한 점이 있으면 조직의 관리자에게 문의하세요."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g>에 의해 사용 중지되었습니다."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"관리자가 개인 앱을 정지함"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"정책 준수를 확인하려면 여기를 탭하세요."</string>
<string name="me" msgid="6207584824693813140">"나"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"태블릿 옵션"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV 옵션"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"잠금해제 패턴을 <xliff:g id="NUMBER_0">%1$d</xliff:g>회 잘못 그렸습니다. <xliff:g id="NUMBER_1">%2$d</xliff:g>회 더 실패하면 이메일 계정을 사용하여 휴대전화를 잠금해제해야 합니다.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g>초 후에 다시 시도해 주세요."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"삭제"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"향후 R 빌드에서는 백그라운드에서 시작된 <xliff:g id="PACKAGENAME">%1$s</xliff:g>의 포그라운드 서비스에 더 이상 사용 중인 상태에서 필요한 권한이 부여되지 않습니다. go/r-bg-fgs-restriction 페이지에서 버그 신고를 제출하세요."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"권장 수준 이상으로 볼륨을 높이시겠습니까?\n\n높은 볼륨으로 장시간 청취하면 청력에 손상이 올 수 있습니다."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"접근성 단축키를 사용하시겠습니까?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"단축키가 사용 설정된 경우 두 개의 볼륨 버튼을 3초간 누르면 접근성 기능이 시작됩니다.\n\n 현재 접근성 기능:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n \'설정 &gt; 접근성\'에서 기능을 변경할 수 있습니다."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"앱을 사용할 수 없음"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>은(는) 현재 사용할 수 없습니다. <xliff:g id="APP_NAME_1">%2$s</xliff:g>에서 관리하는 앱입니다."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"자세히 알아보기"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"앱 일시중지 해제"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"직장 프로필을 사용 설정하시겠어요?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"업무용 앱, 알림, 데이터 및 기타 직장 프로필 기능이 사용 설정됩니다."</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"사용 설정"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"화면 분할 모드 전환"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"잠금 화면"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"스크린샷"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"접근성 메뉴"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>의 자막 표시줄입니다."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> 항목이 RESTRICTED 버킷으로 이동함"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"개인"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"직장"</string>
</resources>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 533e0b816142..88e36ff0b533 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Түзмөгүңүз тазаланат"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Түзмөктү башкаруучу колдонмо жараксыз. Түзмөгүңүз азыр тазаланат.\n\nСуроолоруңуз болсо, ишканаңыздын администраторуна кайрылыңыз."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Басып чыгаруу <xliff:g id="OWNER_APP">%s</xliff:g> тарабынан өчүрүлдү."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Жеке колдонмолорду администратор убактылуу токтотту"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Саясатка ылайыктуулугун текшерүү үчүн бул жерди таптап коюңуз"</string>
<string name="me" msgid="6207584824693813140">"Мен"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Планшет мүмкүнчүлүктөрү"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV параметрлери"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Графикалык ачкычты <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес көрсөттүңүз. <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу туура эмес көрсөтүлгөндөн кийин, телефондун кулпусун ачуу үчүн Google аккаунтуңузга кирүүгө туура келет.\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> секундадан кийин кайталап көрсөңүз болот."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Алып салуу"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Фондогу <xliff:g id="PACKAGENAME">%1$s</xliff:g> кызматы активдүү режимде иштеп баштап, кийинки R курамаларында колдонуу учурунда уруксаты болбойт. Төмөнкү бөлүмгө өтүп, мүчүлүштүк тууралуу кабарды тапшырыңыз: go/r-bg-fgs-restriction."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Сунушталган деңгээлден да катуулатып уккуңуз келеби?\n\nМузыканы узакка чейин катуу уксаңыз, угууңуз начарлап кетиши мүмкүн."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Ыкчам иштетесизби?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Атайын мүмкүнчүлүктөр функциясын пайдалануу үчүн, ал күйгүзүлгөндө, үндү катуулатып/акырындаткан эки баскычты тең үч секунддай кое бербей басып туруңуз.\n\n Учурдагы атайын мүмкүнчүлүктөрдүн жөндөөлөрү:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\nЖөндөөлөр &gt; Атайын мүмкүнчүлүктөр бөлүмүнөн өзгөртө аласыз."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Колдонмо жеткиликсиз"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> колдонмосу учурда жеткиликсиз. Анын жеткиликтүүлүгү <xliff:g id="APP_NAME_1">%2$s</xliff:g> тарабынан башкарылат."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Кеңири маалымат"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Колдонмону иштетүү"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Жумуш профили күйгүзүлсүнбү?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Жумуш колдонмолоруңуз, эскертмелериңиз, дайын-даректериңиз жана жумуш профилинин башка функциялары күйгүзүлөт."</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Күйгүзүү"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Экранды бөлүүнү күйгүзүү же өчүрүү"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Кулпуланган экран"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Скриншот"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Атайын мүмкүнчүлүктөр менюсу"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосунун маалымат тилкеси."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ЧЕКТЕЛГЕН чакага коюлган"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Жеке"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Жумуш"</string>
</resources>
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index 7a3e85e7f5b2..63b87ac54e3e 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ຈະ​ຖືກ​ລຶບ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"ບໍ່ສາມາດໃຊ້ແອັບຜູ້ເບິ່ງແຍງລະບົບໄດ້. ອຸປະກອນຂອງທ່ານຈະຖືກລຶບຂໍ້ມູນໃນຕອນນີ້.\n\nຫາກທ່ານມີຄຳຖາມ, ໃຫ້ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບອົງກອນຂອງທ່ານ."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"ການພິມຖືກປິດໄວ້ໂດຍ <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ແອັບສ່ວນຕົວຖືກລະງັບໄວ້ໂດຍຜູ້ເບິ່ງແຍງ"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ແຕະບ່ອນນີ້ເພື່ອກວດສອບການປະຕິບັດຕາມນະໂຍບາຍ."</string>
<string name="me" msgid="6207584824693813140">"ຂ້າພະເຈົ້າ"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ໂຕເລືອກແທັບເລັດ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"ຕົວເລືອກ Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"ທ່ານແຕ້ມຮູບແບບປົດລັອກຂອງທ່ານຜິດ <xliff:g id="NUMBER_0">%1$d</xliff:g> ເທື່ອແລ້ວ. ຫຼັງຈາກຄວາມພະຍາຍາມອີກ <xliff:g id="NUMBER_1">%2$d</xliff:g> ເທື່ອ ທ່ານຈະຖືກຖາມໃຫ້ປົດລັອກໂທລະສັບຂອງທ່ານດ້ວຍບັນຊີອີເມວ.\n\n ລອງໃໝ່ອີກຄັ້ງໃນ <xliff:g id="NUMBER_2">%3$d</xliff:g> ວິນາທີ."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ລຶບອອກ"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"ບໍລິການພື້ນໜ້າທີ່ເລີ່ມຕົ້ນຈາກພື້ນຫຼັງຈາກ <xliff:g id="PACKAGENAME">%1$s</xliff:g> ຈະບໍ່ມີສິດອະນຸຍາດໃນຂະນະທີ່ໃຊ້ໃນ R builds ໃນອະນາຄົດ. ກະລຸນາອ່ານ go/r-bg-fgs-restriction ແລະ ລາຍງານຂໍ້ຜິດພາດ."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"ເພີ່ມ​ລະ​ດັບ​ສຽງ​ໃຫ້​ເກີນກວ່າ​ລະ​ດັບ​ທີ່​ແນະ​ນຳ​ບໍ?\n\n​ການ​ຮັບ​ຟັງ​ສຽງ​ໃນ​ລະ​ດັບ​ທີ່​ສູງ​ເປັນ​ໄລ​ຍະ​ເວ​ລາ​ດົນ​​ອາດ​ເຮັດ​ໃຫ້​ການ​ຟັງ​ຂອງ​ທ່ານ​ມີ​ບັນ​ຫາ​ໄດ້."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ໃຊ້ປຸ່ມລັດການຊ່ວຍເຂົ້າເຖິງບໍ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ເມື່ອເປີດໃຊ້ປຸ່ມລັດແລ້ວ, ໃຫ້ກົດປຸ່ມສຽງທັງສອງຄ້າງໄວ້ 3 ວິນາທີເພື່ອເລີ່ມຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງ.\n\n ຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງປັດຈຸບັນ:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ທ່ານສາມາດປ່ຽນຄຸນສົມບັດໄດ້ໃນການຕັ້ງຄ່າ &gt; ການຊ່ວຍເຂົ້າເຖິງ."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ບໍ່ສາມາດໃຊ້ແອັບໄດ້"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ບໍ່ສາມາດໃຊ້ໄດ້ໃນຕອນນີ້. ມັນຖືກຈັດການໂດຍ <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ສຶກສາເພີ່ມເຕີມ"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ຍົກເລີກການຢຸດແອັບຊົ່ວຄາວ"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"ເປີດໃຊ້ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກບໍ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"ແອັບວຽກຂອງທ່ານ, ການແຈ້ງເຕືອນ, ຂໍ້ມູນ ແລະ ຄຸນສົມບັດໂປຣໄຟລ໌ວຽກຈະຖືກເປີດໃຊ້"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ເປີດ​"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"ເປີດ/ປິດການແບ່ງໜ້າຈໍ"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ໜ້າຈໍລັອກ"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ຮູບໜ້າຈໍ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"​ເມ​ນູ​ການ​ຊ່ວຍ​ເຂົ້າ​ເຖິງ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"ແຖບຄຳບັນຍາຍຂອງ <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ຖືກວາງໄວ້ໃນກະຕ່າ \"ຈຳກັດ\" ແລ້ວ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ສ່ວນຕົວ"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ວຽກ"</string>
</resources>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 265c97e4b228..b8d848e91929 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Įrenginys bus ištrintas"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administratoriaus programos negalima naudoti. Dabar įrenginio duomenys bus ištrinti.\n\nJei turite klausimų, susisiekite su organizacijos administratoriumi."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Neleidžiama spausdinti (<xliff:g id="OWNER_APP">%s</xliff:g>)."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Administratorius laikinai sustabdė asmenines programas"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Palieskite čia, kad patikrintumėte, ar laikomasi politikos."</string>
<string name="me" msgid="6207584824693813140">"Aš"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Planšetinio kompiuterio parinktys"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"„Android TV“ parinktys"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Netinkamai nupiešėte atrakinimo piešinį <xliff:g id="NUMBER_0">%1$d</xliff:g> k. Po dar <xliff:g id="NUMBER_1">%2$d</xliff:g> nesėkm. band. būsite paprašyti atrakinti telefoną naudodami „Google“ prisijungimo duomenis.\n\n Bandykite dar kartą po <xliff:g id="NUMBER_2">%3$d</xliff:g> sek."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Pašalinti"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Fone pradėtai priekinio plano paslaugai iš „<xliff:g id="PACKAGENAME">%1$s</xliff:g>“ nebus suteiktas leidimas naudojimo metu būsimose R versijose. Apsilankykite go/r-bg-fgs-restriction ir pateikite pranešimą apie riktą."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Padidinti garsą daugiau nei rekomenduojamas lygis?\n\nIlgai klausydami dideliu garsu galite pažeisti klausą."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Naudoti spartųjį pritaikymo neįgaliesiems klavišą?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kai spartusis klavišas įjungtas, spaudžiant abu garsumo mygtukus 3 sekundes bus paleista pritaikymo neįgaliesiems funkcija.\n\n Dabartinė pritaikymo neįgaliesiems funkcija:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>„\n“\n Funkciją galite pakeisti skiltyje „Nustatymai“ &gt; „Pritaikymas neįgaliesiems“."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Programa nepasiekiama"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Programa „<xliff:g id="APP_NAME_0">%1$s</xliff:g>“ šiuo metu nepasiekiama. Tai tvarkoma naudojant programą „<xliff:g id="APP_NAME_1">%2$s</xliff:g>“."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Sužinoti daugiau"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Atšaukti programos pristabdymą"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Įjungti darbo profilį?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Darbo programos, pranešimai, duomenys ir kitos darbo profilio funkcijos bus išjungtos"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Įjungti"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Perjungti išskaidyto ekrano režimą"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Užrakinimo ekranas"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Ekrano kopija"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Pritaikomumo meniu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Programos „<xliff:g id="APP_NAME">%1$s</xliff:g>“ antraštės juosta."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"„<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>“ įkeltas į grupę APRIBOTA"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Asmeninė"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Darbo"</string>
</resources>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index a535f6dd9feb..f168bb4121c8 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -196,10 +196,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Jūsu ierīces dati tiks dzēsti"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administratora lietotni nevar izmantot. Ierīcē saglabātie dati tiks dzēsti.\n\nJa jums ir kādi jautājumi, sazinieties ar savas organizācijas administratoru."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Drukāšanu atspējoja <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Administrators apturēja privāto lietotņu darbību"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Pieskarieties šeit, lai noskaidrotu atbilstību politikai."</string>
<string name="me" msgid="6207584824693813140">"Man"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Planšetdatora opcijas"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV opcijas"</string>
@@ -1635,8 +1633,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Jūs nepareizi norādījāt atbloķēšanas kombināciju <xliff:g id="NUMBER_0">%1$d</xliff:g> reizes. Pēc vēl <xliff:g id="NUMBER_1">%2$d</xliff:g> neveiksmīgiem mēģinājumiem tālrunis būs jāatbloķē, izmantojot e-pasta kontu.\n\nMēģiniet vēlreiz pēc <xliff:g id="NUMBER_2">%3$d</xliff:g> sekundēm."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">"  — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Noņemt"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Fonā sāktam priekšplāna pakalpojumam no pakotnes <xliff:g id="PACKAGENAME">%1$s</xliff:g> nebūs atļaujas “while-in-use” turpmākajās R versijās. Lūdzu, skatiet vietni go/r-bg-fgs-restriction un iesniedziet kļūdas pārskatu."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Vai palielināt skaļumu virs ieteicamā līmeņa?\n\nIlgstoši klausoties skaņu lielā skaļumā, var tikt bojāta dzirde."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Vai izmantot pieejamības saīsni?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Ja saīsne ir iespējota, vienlaikus nospiežot abas skaļuma regulēšanas pogas un trīs sekundes turot tās, tiks palaista pieejamības funkcija.\n\n Pašreiz iestatītā pieejamības funkcija:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Šo funkciju var mainīt sadaļā Iestatījumi &gt; Pieejamība."</string>
@@ -1884,8 +1881,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Lietotne nav pieejama"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> pašlaik nav pieejama. Šo darbību pārvalda <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Uzzināt vairāk"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Atsākt lietotnes darbību"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Vai ieslēgt darba profilu?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Tiks ieslēgtas jūsu darba lietotnes, paziņojumi, dati un citas darba profila funkcijas."</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Ieslēgt"</string>
@@ -2041,12 +2037,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Pārslēgt ekrāna sadalīšanu"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Bloķēt ekrānu"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Ekrānuzņēmums"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Pieejamības izvēlne"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Lietotnes <xliff:g id="APP_NAME">%1$s</xliff:g> subtitru josla."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Pakotne “<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>” ir ievietota ierobežotā kopā."</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Privātais profils"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Darba profils"</string>
</resources>
diff --git a/core/res/res/values-mcc334/config.xml b/core/res/res/values-mcc334/config.xml
new file mode 100644
index 000000000000..e99c9a028178
--- /dev/null
+++ b/core/res/res/values-mcc334/config.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2020, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Show area update info settings in CellBroadcastReceiver and information in SIM status in Settings app -->
+ <bool name="config_showAreaUpdateInfoSettings">true</bool>
+</resources>
diff --git a/core/res/res/values-mcc732/config.xml b/core/res/res/values-mcc732/config.xml
new file mode 100644
index 000000000000..e99c9a028178
--- /dev/null
+++ b/core/res/res/values-mcc732/config.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2020, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Show area update info settings in CellBroadcastReceiver and information in SIM status in Settings app -->
+ <bool name="config_showAreaUpdateInfoSettings">true</bool>
+</resources>
diff --git a/core/res/res/values-mcc740/config.xml b/core/res/res/values-mcc740/config.xml
new file mode 100644
index 000000000000..e99c9a028178
--- /dev/null
+++ b/core/res/res/values-mcc740/config.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2020, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Show area update info settings in CellBroadcastReceiver and information in SIM status in Settings app -->
+ <bool name="config_showAreaUpdateInfoSettings">true</bool>
+</resources>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index 2f75269cf421..f94d191fba28 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Уредот ќе се избрише"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Апликацијата на администраторот не може да се користи. Уредот ќе се избрише сега.\n\nАко имате прашања, контактирајте со администраторот на организацијата."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Печатењето е оневозможено од <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Администраторот ги суспендирал личните апликации"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Допрете тука за да ја проверите усогласеноста со правилата."</string>
<string name="me" msgid="6207584824693813140">"Јас"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Опции на таблет"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Опции на Android TV"</string>
@@ -1615,8 +1613,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Погрешно сте ја употребиле вашата шема на отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараат од вас да го отклучите телефонот со користење сметка на е-пошта.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Отстрани"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Услугата од преден план започната во заднина од <xliff:g id="PACKAGENAME">%1$s</xliff:g> нема да има дозола за „додека се користи“ во идните R-верзии. Погледнете на go/r-bg-fgs-restriction и испратете извештај за грешка."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Да го зголемиме звукот над препорачаното ниво?\n\nСлушањето звуци со голема јачина подолги периоди може да ви го оштети сетилото за слух."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Да се користи кратенка за „Пристапност“?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Кога е вклучена кратенката, ако ги притиснете двете копчиња за јачина на звук во времетраење од 3 секунди, ќе се стартува функција на пристапност.\n\n Тековна функција на пристапност:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Функцијата може да ја промените во „Поставки“ &gt; „Пристапност“."</string>
@@ -1854,8 +1851,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Апликацијата не е достапна"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Апликацијата <xliff:g id="APP_NAME_0">%1$s</xliff:g> не е достапна во моментов. Со ова управува <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Дознај повеќе"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Прекини ја паузата"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Да се вклучи работниот профил?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Вашите работни апликации, известувања, податоци и други функции на работниот профил ќе бидат вклучени"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Вклучи"</string>
@@ -2009,12 +2005,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Вклучи/исклучи поделен екран"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Заклучен екран"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Слика од екранот"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Мени за пристапност"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Насловна лента на <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> е ставен во корпата ОГРАНИЧЕНИ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Лични"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Службени"</string>
</resources>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index 25d72126418f..1efd21132ebc 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"നിങ്ങളുടെ ഉപകരണം മായ്‌ക്കും"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"അഡ്‌മിൻ ആപ്പ് ഉപയോഗിക്കാനാകില്ല. നിങ്ങളുടെ ഉപകരണം ഇപ്പോൾ മായ്ക്കപ്പെടും.\n\nനിങ്ങൾക്ക് ചോദ്യങ്ങൾ ഉണ്ടെങ്കിൽ, നിങ്ങളുടെ സ്ഥാപനത്തിന്റെ അഡ്‌മിനെ ബന്ധപ്പെടുക."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> പ്രിന്റിംഗ് പ്രവർത്തനരഹിതമാക്കി."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"വ്യക്തഗത ആപ്പുകൾ ഒരു അഡ്‌മിൻ താൽക്കാലികമായി റദ്ദാക്കിയിരിക്കുന്നു"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"നയത്തിന് അനുസൃതമാണോ എന്ന് പരിശോധിക്കാൻ ഇവിടെ ടാപ്പ് ചെയ്യുക."</string>
<string name="me" msgid="6207584824693813140">"ഞാന്‍"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ടാബ്‌ലെറ്റ് ഓപ്‌ഷനുകൾ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android ടിവി ഓപ്‌ഷനുകൾ"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"നിങ്ങളുടെ അൺലോക്ക് പാറ്റേൺ <xliff:g id="NUMBER_0">%1$d</xliff:g> തവണ തെറ്റായി വരച്ചു. <xliff:g id="NUMBER_1">%2$d</xliff:g> ശ്രമങ്ങൾ കൂടി വിജയിച്ചില്ലെങ്കിൽ, ഒരു ഇമെയിൽ അക്കൗണ്ട് ഉപയോഗിച്ച് ഫോൺ അൺലോക്ക് ചെയ്യാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> സെക്കൻഡിനുള്ള വീണ്ടും ശ്രമിക്കുക."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"നീക്കംചെയ്യുക"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> എന്നതിൽ നിന്നുള്ള പശ്ചാത്തലത്തിൽ ആരംഭിച്ച് ഫോർഗ്രൗണ്ടിൽ വരുന്ന സേവനത്തിന് ഭാവി R ബിൽഡുകളിൽ, \'ഉപയോഗിക്കുമ്പോൾ മാത്രമുള്ള അനുമതി\' ഉണ്ടായിരിക്കില്ല. go/r-bg-fgs-restriction കണ്ട് ബഗ് റിപ്പോർട്ട് ഫയൽ ചെയ്യുക."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"മുകളിൽക്കൊടുത്തിരിക്കുന്ന ശുപാർശചെയ്‌ത ലെവലിലേക്ക് വോളിയം വർദ്ധിപ്പിക്കണോ?\n\nഉയർന്ന വോളിയത്തിൽ ദീർഘനേരം കേൾക്കുന്നത് നിങ്ങളുടെ ശ്രവണ ശേഷിയെ ദോഷകരമായി ബാധിക്കാം."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ഉപയോഗസഹായി കുറുക്കുവഴി ഉപയോഗിക്കണോ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"കുറുക്കുവഴി ഓണാണെങ്കിൽ, രണ്ട് വോളിയം ബട്ടണുകളും 3 സെക്കൻഡ് നേരത്തേക്ക് അമർത്തുന്നത് ഉപയോഗസഹായി ഫീച്ചർ ആരംഭിക്കും.\n\n നിലവിലെ ഉപയോഗസഹായി ഫീച്ചർ:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ക്രമീകരണം &gt; ഉപയോഗസഹായി എന്നതിൽ ഏത് സമയത്തും നിങ്ങൾക്ക് ഫീച്ചർ മാറ്റാവുന്നതാണ്."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ആപ്പ് ലഭ്യമല്ല"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ഇപ്പോൾ ലഭ്യമല്ല. <xliff:g id="APP_NAME_1">%2$s</xliff:g> ആണ് ഇത് മാനേജ് ചെയ്യുന്നത്."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"കൂടുതലറിയുക"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ആപ്പ് പുനഃരാംഭിക്കുക"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"ഔദ്യോഗിക പ്രൊഫൈൽ ഓണാക്കണോ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾ, അറിയിപ്പുകൾ, ഡാറ്റ, മറ്റ് ഔദ്യോഗിക പ്രൊഫൈൽ ഫീച്ചറുകൾ എന്നിവ ഓണാക്കും"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ഓണാക്കുക"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"സ്‌ക്രീൻ വിഭജന മോഡ് മാറ്റുക"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ലോക്ക് സ്‌ക്രീൻ"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"സ്ക്രീൻഷോട്ട്"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ഉപയോഗസഹായി മെനു"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> എന്നതിന്റെ അടിക്കുറിപ്പ് ബാർ."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> നിയന്ത്രിത ബക്കറ്റിലേക്ക് നീക്കി"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"വ്യക്തിപരമായത്"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ജോലിസ്ഥലം"</string>
</resources>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index 3acdb7245b7c..cc031754b2b7 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Таны төхөөрөмж устах болно."</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Админ аппыг ашиглах боломжгүй. Таны төхөөрөмжийг одоо устгана.\n\nХэрэв танд асуулт байгаа бол байгууллагынхаа админтай холбогдоно уу."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> хэвлэх үйлдлийг идэвхгүй болгосон."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Хувийн аппуудыг админ түр хаасан байна"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Удирдамжийн нийцлийг шалгахын тулд энд товшино уу."</string>
<string name="me" msgid="6207584824693813140">"Би"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Таблетын сонголтууд"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android ТВ-н сонголт"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Та тайлах хээг <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурлаа. <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа дахин буруу оруулбал, та утсаа тайлахын тулд имэйл бүртгэлээ ашиглах шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундын дараа дахин оролдоно уу."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Устгах"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g>-н дэлгэц дээрх үйлчилгээг эхлүүлдэг дэвсгэр нь цаашид R хийцийн ашиглах үеийн зөвшөөрөлгүй болно. go/r-bg-fgs-restriction-г үзэж, алдааны мэдээ илгээнэ үү."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Дууг санал болгосноос чанга болгож өсгөх үү?\n\nУрт хугацаанд чанга хөгжим сонсох нь таны сонсголыг муутгаж болно."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Хүртээмжийн товчлолыг ашиглах уу?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Товчлолыг асаасан үед дуун товчлуурыг 3 секунд дарснаар хүртээмжийн онцлогийг эхлүүлнэ.\n\n Одоогийн хүртээмжийн онцлог:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Онцлогийг Тохиргоо &gt; Хүртээмж хэсэгт өөрчлөх боломжтой."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Апп боломжгүй байна"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> одоогоор боломжгүй байна. Үүнийг <xliff:g id="APP_NAME_1">%2$s</xliff:g>-р удирддаг."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Дэлгэрэнгүй үзэх"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Аппыг түр зогсоохоо болих"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ажлын профайлыг асаах уу?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Таны ажлын апп, мэдэгдэл, өгөгдөл болон бусад ажлын профайлын онцлогийг асаана"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Асаах"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Дэлгэц хуваахыг унтраах/асаах"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Дэлгэцийг түгжих"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Дэлгэцийн зураг дарах"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Хандалтын цэс"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>-н гарчгийн талбар."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>-г ХЯЗГААРЛАСАН сагс руу орууллаа"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Хувийн"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Ажил"</string>
</resources>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index ff9f3e741c85..cd9b6fc5ee5a 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"तुमचे डिव्हाइस मिटविले जाईल"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"प्रशासक अ‍ॅप वापरता येणार नाही. तुमचे डिव्हाइस आता साफ केले जाईल.\n\nतुम्हाला कुठलेही प्रश्न असल्यास, तुमच्या संस्थेच्या प्रशासकाशी संपर्क साधा."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> नी प्रिंट करणे बंद केले आहे."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ॲडमिनद्वारे वैयक्तिक ॲप निलंबित केले गेले आहेत"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"धोरणाचे पालन तपासण्यासाठी येथे टॅप करा."</string>
<string name="me" msgid="6207584824693813140">"मी"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"टॅबलेट पर्याय"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV पर्याय"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"तुम्ही तुमचा अनलॉक पॅटर्न <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा अयोग्यपणे काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, तुम्हाला ईमेल खाते वापरून तुमचा फोन अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"काढा"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> कडून बॅकग्राउंडने फोरग्राउंडमध्ये सुरू केलेल्या सेवेला भविष्यातील आर बिल्डमध्ये वापर करते वेळची परवानगी नसेल. कृपया go/r-bg-fgs-restriction पहा आणि बगची तक्रार नोंदवा."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"शिफारस केलेल्‍या पातळीच्या वर आवाज वाढवायचा?\n\nउच्च आवाजात दीर्घ काळ ऐकण्‍याने आपल्‍या श्रवणशक्तीची हानी होऊ शकते."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"प्रवेशयोग्यता शॉर्टकट वापरायचा?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"शॉर्टकट चालू असताना, दोन्ही आवाज बटणे 3 सेकंद दाबल्याने प्रवेशयोग्यता वैशिष्ट्य सुरू होईल.\n\n वर्तमान प्रवेशयोग्यता वैशिष्ट्य:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n तुम्ही सेटिंग्ज &gt; प्रवेशयोग्यता मध्ये वैशिष्ट्य बदलू शकता."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"अ‍ॅप उपलब्ध नाही"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> आत्ता उपलब्ध नाही. हे <xliff:g id="APP_NAME_1">%2$s</xliff:g> कडून व्यवस्थापित केले जाते."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"अधिक जाणून घ्या"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"अ‍ॅप उघडा"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"कार्य प्रोफाइल चालू ठेवायची?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"तुमची कार्य अ‍ॅप्स, सूचना, डेटा आणि अन्य कार्य प्रोफाइल वैशिष्ट्ये चालू केली जातील"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"चालू करा"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"विभाजित स्क्रीन टॉगल करा"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"स्‍क्रीन लॉक करा"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"स्क्रीनशॉट"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"अ‍ॅक्सेसिबिलिटी मेनू"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> चा शीर्षक बार."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> हे प्रतिबंधित बादलीमध्ये ठेवण्यात आले आहे"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"वैयक्तिक"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ऑफिस"</string>
</resources>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index e4364083751d..0a4073519b59 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Peranti anda akan dipadam"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Apl pentadbir tidak dapat digunakan. Peranti anda akan dipadamkan sekarang.\n\nJika anda ingin mengemukakan soalan, hubungi pentadbir organisasi anda."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Pencetakan dilumpuhkan oleh <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Apl peribadi telah digantung oleh pentadbir"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Ketik di sini untuk menyemak pematuhan dasar."</string>
<string name="me" msgid="6207584824693813140">"Saya"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Pilihan tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Pilihan Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Anda telah tersilap lukis corak buka kunci sebanyak <xliff:g id="NUMBER_0">%1$d</xliff:g> kali. Selepas <xliff:g id="NUMBER_1">%2$d</xliff:g> lagi percubaan yang tidak berjaya, anda akan diminta membuka kunci telefon anda menggunakan log masuk Google anda.\n\n Cuba lagi dalam <xliff:g id="NUMBER_2">%3$d</xliff:g> saat."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Alih keluar"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Perkhidmatan latar depan dimulakan latar belakang daripada <xliff:g id="PACKAGENAME">%1$s</xliff:g> tidak akan mempunyai kebenaran semasa-dalam-penggunaan dalam binaan R akan datang. Sila lihat go/r-bg-fgs-restriction dan failkan laporan pepijat."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Naikkan kelantangan melebihi paras yang disyokorkan?\n\nMendengar pada kelantangan yang tinggi untuk tempoh yang lama boleh merosakkan pendengaran anda."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Gunakan Pintasan Kebolehaksesan?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Apabila pintasan dihidupkan, tindakan menekan kedua-dua butang kelantangan selama 3 saat akan memulakan ciri kebolehaksesan.\n\n Ciri kebolehaksesan semasa:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Anda boleh menukar ciri itu dalam Tetapan &gt; Kebolehaksesan."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Apl tidak tersedia"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> tidak tersedia sekarang. Ini diurus oleh <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Ketahui lebih lanjut"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Nyahjeda apl"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Hidupkan profil kerja?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Apl kerja, pemberitahuan, data dan ciri profil kerja anda yang lain akan dihidupkan"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Hidupkan"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Togol Skrin Pisah"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Skrin Kunci"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Tangkapan skrin"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu Kebolehaksesan"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Bar kapsyen <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> telah diletakkan dalam baldi TERHAD"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Peribadi"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Kerja"</string>
</resources>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index 56f49c28b26d..9e048411b5c7 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"သင့်ကိရိယာအား ပယ်ဖျက်လိမ့်မည်"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"စီမံခန့်ခွဲမှု အက်ပ်ကို သုံး၍မရပါ။ သင်၏ စက်ပစ္စည်းအတွင်းရှိ အရာများကို ဖျက်လိုက်ပါမည်\n\nမေးစရာများရှိပါက သင့်အဖွဲ့အစည်း၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> က ပုံနှိပ်ထုတ်ယူခြင်းကို ပိတ်ထားသည်။"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ကိုယ်ပိုင်အက်ပ်များကို စီမံခန့်ခွဲသူက ဆိုင်းငံ့ထားသည်"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"မူဝါဒလိုက်နာမှုကို စစ်ဆေးရန် ဤနေရာကို တို့ပါ။"</string>
<string name="me" msgid="6207584824693813140">"ကျွန်ုပ်"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tabletဆိုင်ရာရွေးချယ်မှုများ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV ရွေးချယ်စရာများ"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"သင် ပုံဖော်၍သော့ဖွင့်ခြင်းကို <xliff:g id="NUMBER_0">%1$d</xliff:g> အကြိမ် မှန်ကန်စွာ မပြုလုပ်နိုင်ပါ။ နောက်ထပ် <xliff:g id="NUMBER_1">%2$d</xliff:g> အကြိမ် မမှန်ကန်ပါက သင့်ဖုန်းအား အီးမေးလ်အသုံးပြု၍ သော့ဖွင့်ရန် တောင်းဆိုပါလိမ့်မည်။ \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> စက္ကန့်အကြာတွင် ပြန်လည် ကြိုးစားပါ"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ဖယ်ရှားရန်"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> တွင် မှ စတင်သည့် foreground ဝန်ဆောင်မှုသည် နောက်ထွက်ရှိမည့် R စုပေါင်းစပ်ပေါင်း ပရိုဂရမ်များတွင် အသုံးပြုစဉ်အတွင်း ခွင့်ပြုချက် ရရှိမည်မဟုတ်ပါ။ go/r-bg-fgs-ကန့်သတ်ချက်များကို ကြည့်ပြီး အမှားသတင်းပို့ချက်တစ်ခု တင်သွင်းပါ။"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"အသံကို အကြံပြုထားသည့် ပမာဏထက် မြှင့်ပေးရမလား?\n\nအသံကို မြင့်သည့် အဆင့်မှာ ကြာရှည်စွာ နားထောင်ခြင်းက သင်၏ နားကို ထိခိုက်စေနိုင်သည်။"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"အများသုံးစွဲနိုင်မှု ဖြတ်လမ်းလင့်ခ်ကို အသုံးပြုလိုပါသလား။"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ဖြတ်လမ်းလင့်ခ်ကို ဖွင့်ထားစဉ် အသံအတိုးအလျှော့ခလုတ် နှစ်ခုစလုံးကို ၃ စက္ကန့်ခန့် ဖိထားခြင်းဖြင့် အများသုံးစွဲနိုင်မှုဆိုင်ရာ ဝန်ဆောင်မှုကို ဖွင့်နိုင်သည်။\n\n လက်ရှိ အများသုံးစွဲနိုင်မှုဆိုင်ရာ ဝန်ဆောင်မှု−\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ဝန်ဆောင်မှုကို ဆက်တင်များ &gt; အများသုံးစွဲနိုင်မှုတွင် ပြောင်းလဲနိုင်ပါသည်။"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"အက်ပ်ကို မရရှိနိုင်ပါ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ကို လောလောဆယ် မရနိုင်ပါ။ ၎င်းကို <xliff:g id="APP_NAME_1">%2$s</xliff:g> က စီမံထားပါသည်။"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ပိုမိုလေ့လာရန်"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"အက်ပ်ကို ခဏမရပ်တော့ရန်"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"အလုပ်ပရိုဖိုင် ဖွင့်လိုသလား။"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"သင်၏ အလုပ်အက်ပ်၊ အကြောင်းကြားချက်၊ ဒေတာနှင့် အခြားအလုပ်ပရိုဖိုင် ဝန်ဆောင်မှုများကို ဖွင့်လိုက်ပါမည်"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ဖွင့်ပါ"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"မျက်နှာပြင် ခွဲ၍ပြသခြင်းကို နှိပ်ပါ"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"လော့ခ်မျက်နှာပြင်"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ဖန်သားပြင်ဓာတ်ပုံ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"အများသုံးစွဲနိုင်မှု မီနူး"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>၏ ခေါင်းစီး ဘား။"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ကို တားမြစ်ထားသော သိမ်းဆည်းမှုအတွင်းသို့ ထည့်ပြီးပါပြီ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ကိုယ်ပိုင်"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"အလုပ်"</string>
</resources>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index bb3d52f7b854..45ab3e552c17 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Enheten blir slettet"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administratorappen kan ikke brukes. Enheten din blir nå tømt.\n\nTa kontakt med administratoren for organisasjonen din hvis du har spørsmål."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> har slått av utskrift."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Personlige apper er sperret midlertidig av en administrator"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Trykk her for å sjekke overholdelse av retningslinjer."</string>
<string name="me" msgid="6207584824693813140">"Meg"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Innstillinger for nettbrettet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV-alternativer"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Du har tegnet opplåsningsmønsteret feil <xliff:g id="NUMBER_0">%1$d</xliff:g> ganger. Etter ytterligere <xliff:g id="NUMBER_1">%2$d</xliff:g> gale forsøk, blir du bedt om å låse opp telefonen via en e-postkonto.\n\n Prøv på nytt om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Fjern"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Forgrunnstjenesten fra <xliff:g id="PACKAGENAME">%1$s</xliff:g>, som ble startet i bakgrunnen, kommer ikke til å ha tillatelser mens den er i bruk i fremtidige R-delversjoner. Les go/r-bg-fgs-restriction og send inn en feilrapport."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Vil du øke volumet til over anbefalt nivå?\n\nHvis du hører på et høyt volum over lengre perioder, kan det skade hørselen din."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Vil du bruke tilgjengelighetssnarveien?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Når snarveien er på, starter en tilgjengelighetsfunksjon når du trykker inn begge volumknappene i tre sekunder.\n\n Nåværende tilgjengelighetsfunksjon:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Du kan endre funksjonen i Innstillinger &gt; Tilgjengelighet."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Appen er ikke tilgjengelig"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> er ikke tilgjengelig akkurat nå. Dette administreres av <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Finn ut mer"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Opphev pause for appen"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Vil du slå på jobbprofilen?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Jobbappene dine samt varsler, data og andre funksjoner i jobbprofilen din blir slått på"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Slå på"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Slå delt skjerm av/på"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Låseskjerm"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Skjermdump"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Tilgjengelighet-meny"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Tekstingsfelt i <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> er blitt plassert i TILGANGSBEGRENSET-toppmappen"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personlig"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Jobb"</string>
</resources>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index b3d6cdecf8ed..11033a740aa1 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"तपाईंको यन्त्र मेटिनेछ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"प्रशासकको अनुप्रयोग प्रयोग गर्न मिल्दैन। तपाईंको यन्त्रको डेटा अब मेटाइने छ।\n\nतपाईंसँग प्रश्नहरू भएका खण्डमा आफ्नो संगठनका प्रशासकसँग सम्पर्क गर्नुहोस्।"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ले छाप्ने कार्यलाई असक्षम पार्यो।"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"व्यक्तिगत एपहरू एकजना प्रशासकले निलम्बन गरिरहनुभएको छ"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"नीति पालनाबारे जाँच गर्न यहाँ ट्याप गर्नुहोस्।"</string>
<string name="me" msgid="6207584824693813140">"मलाई"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ट्याब्लेट विकल्पहरू"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV सम्बन्धी विकल्पहरू"</string>
@@ -1619,8 +1617,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"तपाईँले आफ्नो अनलक ढाँचा गलत रूपमा <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक तान्नु भएको छ। <xliff:g id="NUMBER_1">%2$d</xliff:g> धेरै असफल प्रयासहरूपछि, तपाईँलाई एउटा इमेल खाताको प्रयोग गरेर तपाईँको फोन अनलक गर्न सोधिने छ।\n\n फेरि <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डमा प्रयास गर्नुहोस्।"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"हटाउनुहोस्"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> को पृष्ठभूमिबाट सुरु गरिने अग्रभूमि सेवाका भविष्यमा आउने R बिल्डहरूमा चलाउँदै गर्दा प्रयोग गर्ने अनुमतिको दिइने छैन। कृपया go/r-bg-fgs-restriction हेर्नुहोस् र कुनै बगसम्बन्धी रिपोर्ट फाइल गर्नुहोस्।"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"सिफारिस तहभन्दा आवाज ठुलो गर्नुहुन्छ?\n\nलामो समय सम्म उच्च आवाजमा सुन्दा तपाईँको सुन्ने शक्तिलाई हानी गर्न सक्छ।"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"पहुँच सम्बन्धी सर्टकट प्रयोग गर्ने हो?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"सर्टकट सक्रिय हुँदा, भोल्युमका दुवै बटनहरूलाई ३ सेकेन्डसम्म थिची राख्नाले पहुँच सम्बन्धी कुनै सुविधा सुरु हुनेछ।\n\n हाल व्यवहारमा रहेको पहुँच सम्बन्धी सुविधा:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n तपाईं सेटिङहरू अन्तर्गतको पहुँच सम्बन्धी विकल्पमा गई उक्त सुविधालाई बदल्न सक्नुहुन्छ।"</string>
@@ -1858,8 +1855,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"अनुप्रयोग उपलब्ध छैन"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> अहिले उपलब्ध छैन। यो <xliff:g id="APP_NAME_1">%2$s</xliff:g> द्वारा व्यवस्थित छ।"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"थप जान्नुहोस्"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"एपको पज हटाउनुहोस्"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"कार्य प्रोफाइल सक्रिय गर्ने?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"तपाईंका कार्यसम्बन्धी अनुप्रयोग, सूचना, डेटा र कार्य प्रोफाइलका अन्य सुविधाहरू सक्रिय गरिने छन्‌"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"सक्रिय गर्नुहोस्"</string>
@@ -2013,12 +2009,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"विभाजित स्क्रिन टगल गर्नुहोस्"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"लक स्क्रिन"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"स्क्रिनसट"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"पहुँचसम्बन्धी मेनु"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> को क्याप्सन बार।"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> लाई प्रतिबन्धित बाल्टीमा राखियो"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"व्यक्तिगत"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"काम"</string>
</resources>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 47de950c5c7d..13f6725c82b7 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Je apparaat wordt gewist"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"De beheer-app kan niet worden gebruikt. Je apparaat wordt nu gewist.\n\nNeem contact op met de beheerder van je organisatie als je vragen hebt."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Afdrukken uitgeschakeld door <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Persoonlijke apps zijn opgeschort door een beheerder"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tik hier om beleidsnaleving te controleren."</string>
<string name="me" msgid="6207584824693813140">"Ik"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tabletopties"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opties voor Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Je hebt je ontgrendelingspatroon <xliff:g id="NUMBER_0">%1$d</xliff:g> keer onjuist getekend. Na nog eens <xliff:g id="NUMBER_1">%2$d</xliff:g> mislukte pogingen wordt u gevraagd je telefoon te ontgrendelen via een e-mailaccount.\n\n Probeer het over <xliff:g id="NUMBER_2">%3$d</xliff:g> seconden opnieuw."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Verwijderen"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"De op de achtergrond gestarte voorgrondservice van <xliff:g id="PACKAGENAME">%1$s</xliff:g> heeft geen rechten tijdens gebruik in toekomstige R-builds. Ga naar go/r-bg-fgs-restriction en dien een bugrapport in."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Volume verhogen tot boven het aanbevolen niveau?\n\nAls je langere tijd op hoog volume naar muziek luistert, raakt je gehoor mogelijk beschadigd."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Snelkoppeling toegankelijkheid gebruiken?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Wanneer de snelkoppeling is ingeschakeld, kun je drie seconden op beide volumeknoppen drukken om een toegankelijkheidsfunctie te starten.\n\n Huidige toegankelijkheidsfunctie:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Je kunt de functie wijzigen in Instellingen &gt; Toegankelijkheid."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"App is niet beschikbaar"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> is nu niet beschikbaar. Dit wordt beheerd door <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Meer info"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"App niet meer onderbreken"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Werkprofiel inschakelen?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Je werk-apps, meldingen, gegevens en andere functies van je werkprofiel worden uitgeschakeld"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Inschakelen"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Gesplitst scherm schakelen"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Scherm vergrendelen"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Toegankelijkheidsmenu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Ondertitelingsbalk van <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> is in de bucket RESTRICTED geplaatst"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Persoonlijk"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Werk"</string>
</resources>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index 1242188f791a..4424af7dcab0 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ଆପଣଙ୍କ ଡିଭାଇସ୍‍ ବର୍ତ୍ତମାନ ଲିଭାଯିବ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"ଆଡମିନ୍‍ ଆପ୍‍‍ ବ୍ୟବହାର କରାଯାଇପାରିବ ନାହିଁ। ଆପଣଙ୍କ ଡିଭାଇସ୍‍‌ର ସମସ୍ତ ଡାଟାକୁ ବର୍ତ୍ତମାନ ଲିଭାଇଦିଆଯିବ। \n\nଯଦି ଆପଣଙ୍କର କୌଣସି ପ୍ରଶ୍ନ ରହିଥାଏ, ଆପଣଙ୍କ ସଂସ୍ଥାର ଆଡମିନ୍‌ଙ୍କ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ଦ୍ଵାରା ପ୍ରିଣ୍ଟିଙ୍ଗ ଅକ୍ଷମ କରାଯାଇଛି"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ବ୍ୟକ୍ତିଗତ ଆପଗୁଡ଼ିକୁ ଆଡମିନଙ୍କ ଦ୍ୱାରା ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ନୀତି ଅନୁପାଳନର ଯାଞ୍ଚ କରିବା ପାଇଁ ଏଠାରେ ଟାପ୍ କରନ୍ତୁ।"</string>
<string name="me" msgid="6207584824693813140">"ମୁଁ"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ଟାବଲେଟ୍‌ର ବିକଳ୍ପ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android ଟିଭିର ବିକଳ୍ପଗୁଡ଼ିକ"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"ଆପଣଙ୍କ ଅନଲକ୍‍ ପାଟର୍ନକୁ ଆପଣ <xliff:g id="NUMBER_0">%1$d</xliff:g> ଥର ଭୁଲ ଭାବେ ଅଙ୍କନ କରିଛନ୍ତି। ଆଉ <xliff:g id="NUMBER_1">%2$d</xliff:g>ଟି ଭୁଲ ପ୍ରୟାସ ପରେ ଏକ ଇମେଲ୍‍ ଆକାଉଣ୍ଟ ବ୍ୟବହାର କରି ନିଜ ଫୋନ୍‌କୁ ଅନଲକ୍‌ କରିବା ପାଇଁ କୁହାଯିବ।\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> ସେକେଣ୍ଡ ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ବାହାର କରନ୍ତୁ"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"ପୃଷ୍ଠଭୂମିରେ <xliff:g id="PACKAGENAME">%1$s</xliff:g>ରୁ ଆରମ୍ଭ ହୋଇଥିବା ସମ୍ମୁଖଭାଗ ସେବା ପାଇଁ ଭବିଷ୍ୟତର R ବିଲ୍ଡଗୁଡ଼ିକରେ ବ୍ୟବହାର କରାଯିବା ସମୟରେ ଅନୁମତି ସୁବିଧା ରହିବ ନାହିଁ। ଦୟାକରି go/r-bg-fgs-restriction ଦେଖନ୍ତୁ ଏବଂ ଏକ ବଗରିପୋର୍ଟ ଫାଇଲ୍ କରନ୍ତୁ।"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"ମାତ୍ରା ବଢ଼ାଇ ସୁପାରିଶ ସ୍ତର ବଢ଼ାଉଛନ୍ତି? \n\n ଲମ୍ବା ସମୟ ପର୍ଯ୍ୟନ୍ତ ଉଚ୍ଚ ଶବ୍ଦରେ ଶୁଣିଲେ ଆପଣଙ୍କ ଶ୍ରବଣ ଶକ୍ତି ଖରାପ ହୋଇପାରେ।"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ଆକ୍ସେସବିଲିଟି ଶର୍ଟକଟ୍‍ ବ୍ୟବହାର କରିବେ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ସର୍ଟକଟ୍‌ ଅନ୍‌ ଥିବା ବେଳେ, ଉଭୟ ଭଲ୍ୟୁମ୍‍ ବଟନ୍‍ 3 ସେକେଣ୍ଡ ପାଇଁ ଦବାଇବା ଦ୍ୱାରା ଆକ୍ସେସବିଲିଟି ବୈଶିଷ୍ଟ ଆରମ୍ଭ ହେବ।\n\n ସମ୍ପ୍ରତି ଆକ୍ସେସବିଲିଟି ବୈଶିଷ୍ଟ୍ୟ:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ସେଟିଙ୍ଗ ଓ ଆକ୍ସେସବିଲିଟିରେ ଆପଣ ବୈଶିଷ୍ଟ୍ୟ ବଦଳାଇ ପାରିବେ।"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ଆପ୍‌ ଉପଲବ୍ଧ ନାହିଁ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"ବର୍ତ୍ତମାନ <xliff:g id="APP_NAME_0">%1$s</xliff:g> ଉପଲବ୍ଧ ନାହିଁ। ଏହା <xliff:g id="APP_NAME_1">%2$s</xliff:g> ଦ୍ଵାରା ପରିଚାଳିତ ହେଉଛି।"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ଅଧିକ ଜାଣନ୍ତୁ"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ଆପ୍ ଅନପଜ୍ କରନ୍ତୁ"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"ୱର୍କ ପ୍ରୋଫାଇଲ୍‌କୁ ଚାଲୁ କରିବେ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"ଆପଣଙ୍କର କାର୍ଯ୍ୟକାରୀ ଆପ୍‌, ବିଜ୍ଞପ୍ତି, ଡାଟା ଓ ଅନ୍ୟ ୱର୍କ ପ୍ରୋଫାଇଲ୍‌ଗୁଡ଼ିକ ଚାଲୁ ହୋଇଯିବ"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ଅନ୍ କରନ୍ତୁ"</string>
@@ -1989,8 +1985,7 @@
<string name="mime_type_spreadsheet_ext" msgid="8720173181137254414">"<xliff:g id="EXTENSION">%1$s</xliff:g> ସ୍ପ୍ରେଡ୍‌ସିଟ୍"</string>
<string name="mime_type_presentation" msgid="1145384236788242075">"ଉପସ୍ଥାପନା"</string>
<string name="mime_type_presentation_ext" msgid="8761049335564371468">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଉପସ୍ଥାପନା"</string>
- <!-- no translation found for bluetooth_airplane_mode_toast (2066399056595768554) -->
- <skip />
+ <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"ଏୟାରପ୍ଲେନ୍ ମୋଡରେ ବ୍ଲୁଟୁଥ୍ ଚାଲୁ ରହିବ"</string>
<string name="car_loading_profile" msgid="8219978381196748070">"ଲୋଡ୍ ହେଉଛି"</string>
<plurals name="file_count" formatted="false" msgid="7063513834724389247">
<item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g>ଟି ଫାଇଲ୍</item>
@@ -2008,13 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"ଦୁଇଟି ସ୍କ୍ରିନ୍ ମଧ୍ୟରେ ଟୋଗଲ୍ କରନ୍ତୁ"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ସ୍କ୍ରିନ୍ ଲକ୍ କରନ୍ତୁ"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ସ୍କ୍ରି‍ନ୍‍ସଟ୍ ନିଅନ୍ତୁ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ଆକ୍ସେସିବିଲିଟୀ ମେନୁ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>ର କ୍ୟାପ୍ସନ୍ ବାର୍।"</string>
- <!-- no translation found for as_app_forced_to_restricted_bucket (8233871289353898964) -->
- <skip />
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>କୁ ପ୍ରତିବନ୍ଧିତ ବକେଟରେ ରଖାଯାଇଛି"</string>
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ବ୍ୟକ୍ତିଗତ"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"କାର୍ଯ୍ୟ"</string>
</resources>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index b6513c399559..8c87581f9a61 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਮਿਟਾਇਆ ਜਾਏਗਾ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"ਪ੍ਰਸ਼ਾਸਕ ਐਪ ਵਰਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ। ਹੁਣ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਡਾਟਾ ਮਿਟਾਇਆ ਜਾਵੇਗਾ।\n\nਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਸਵਾਲ ਹਨ, ਤਾਂ ਆਪਣੀ ਸੰਸਥਾ ਦੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ਵੱਲੋਂ ਪ੍ਰਿੰਟ ਕਰਨਾ ਬੰਦ ਕੀਤਾ ਗਿਆ।"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਮੁਅੱਤਲ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ਨੀਤੀ ਦੀ ਪਾਲਣਾ ਨੂੰ ਦੇਖਣ ਲਈ ਇੱਥੇ ਟੈਪ ਕਰੋ।"</string>
<string name="me" msgid="6207584824693813140">"ਮੈਂ"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ਟੈਬਲੈੱਟ ਵਿਕਲਪ"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV ਦੇ ਵਿਕਲਪ"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਣਲਾਕ ਪੈਟਰਨ ਗਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫ਼ੋਨ ਅਣਲਾਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ਹਟਾਓ"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> ਤੋਂ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਸ਼ੁਰੂ ਕੀਤੀ ਗਈ ਫੋਰਗ੍ਰਾਊਂਡ ਸੇਵਾ ਲਈ ਭਵਿੱਖੀ R ਬਿਲਡ ਵਿੱਚ \'ਵਰਤੋਂ ਵਿੱਚ ਹੋਣ \'ਤੇ ਇਜਾਜ਼ਤ\' ਵਿਸ਼ੇਸ਼ਤਾ ਨਹੀਂ ਹੋਵੇਗੀ। ਕਿਰਪਾ ਕਰਕੇ go/r-bg-fgs-restriction ਦੇਖੋ ਅਤੇ ਬੱਗ ਰਿਪੋਰਟ ਫ਼ਾਈਲ ਕਰੋ।"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"ਕੀ ਵੌਲਿਊਮ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੇ ਪੱਧਰ ਤੋਂ ਵਧਾਉਣੀ ਹੈ?\n\nਲੰਮੇ ਸਮੇਂ ਤੱਕ ਉੱਚ ਵੌਲਿਊਮ ਤੇ ਸੁਣਨ ਨਾਲ ਤੁਹਾਡੀ ਸੁਣਨ ਸ਼ਕਤੀ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚ ਸਕਦਾ ਹੈ।"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ਕੀ ਪਹੁੰਚਯੋਗਤਾ ਸ਼ਾਰਟਕੱਟ ਵਰਤਣਾ ਹੈ?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ਸ਼ਾਰਟਕੱਟ ਚਾਲੂ ਹੋਣ \'ਤੇ, ਕਿਸੇ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਅਵਾਜ਼ ਬਟਨਾਂ ਨੂੰ 3 ਸਕਿੰਟ ਲਈ ਦਬਾ ਕੇ ਰੱਖੋ।\n\n ਵਰਤਮਾਨ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n ਤੁਸੀਂ ਸੈਟਿੰਗਾਂ &gt; ਪਹੁੰਚਯੋਗਤਾ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ਐਪ ਫਿਲਹਾਲ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਇਸਦਾ ਪ੍ਰਬੰਧਨ <xliff:g id="APP_NAME_1">%2$s</xliff:g> ਵੱਲੋਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ਹੋਰ ਜਾਣੋ"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ਐਪ ਤੋਂ ਰੋਕ ਹਟਾਓ"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"ਕੀ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਚਾਲੂ ਕਰਨੀ ਹੈ?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"ਤੁਹਾਡੀਆਂ ਕਾਰਜ-ਸਥਾਨ ਐਪਾਂ, ਸੂਚਨਾਵਾਂ, ਡਾਟਾ ਅਤੇ ਹੋਰ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਚਾਲੂ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ਚਾਲੂ ਕਰੋ"</string>
@@ -1989,8 +1985,7 @@
<string name="mime_type_spreadsheet_ext" msgid="8720173181137254414">"<xliff:g id="EXTENSION">%1$s</xliff:g> ਸਪਰੈੱਡਸ਼ੀਟ"</string>
<string name="mime_type_presentation" msgid="1145384236788242075">"ਪੇਸ਼ਕਾਰੀ"</string>
<string name="mime_type_presentation_ext" msgid="8761049335564371468">"<xliff:g id="EXTENSION">%1$s</xliff:g> ਪੇਸ਼ਕਾਰੀ"</string>
- <!-- no translation found for bluetooth_airplane_mode_toast (2066399056595768554) -->
- <skip />
+ <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"ਹਵਾਈ-ਜਹਾਜ਼ ਮੋਡ ਵੇਲੇ ਬਲੂਟੁੱਥ ਹਾਲੇ ਵੀ ਚਾਲੂ ਹੋ ਜਾਵੇਗਾ"</string>
<string name="car_loading_profile" msgid="8219978381196748070">"ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<plurals name="file_count" formatted="false" msgid="7063513834724389247">
<item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ਫ਼ਾਈਲ</item>
@@ -2008,13 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਨੂੰ ਟੌਗਲ ਕਰੋ"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"ਲਾਕ ਸਕ੍ਰੀਨ"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ਸਕ੍ਰੀਨਸ਼ਾਟ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ਪਹੁੰਚਯੋਗਤਾ ਮੀਨੂ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਦੀ ਸੁਰਖੀ ਪੱਟੀ।"</string>
- <!-- no translation found for as_app_forced_to_restricted_bucket (8233871289353898964) -->
- <skip />
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ਨੂੰ ਪ੍ਰਤਿਬੰਧਿਤ ਖਾਨੇ ਵਿੱਚ ਪਾਇਆ ਗਿਆ ਹੈ"</string>
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ਨਿੱਜੀ"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"ਕੰਮ"</string>
</resources>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 964c973e491f..5efbfbe36830 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -95,7 +95,7 @@
<string name="notification_channel_mobile_data_status" msgid="1941911162076442474">"Stan mobilnej transmisji danych"</string>
<string name="notification_channel_sms" msgid="1243384981025535724">"SMS-y"</string>
<string name="notification_channel_voice_mail" msgid="8457433203106654172">"Wiadomości poczty głosowej"</string>
- <string name="notification_channel_wfc" msgid="9048240466765169038">"Połączenia przez Wi-Fi"</string>
+ <string name="notification_channel_wfc" msgid="9048240466765169038">"Połączenie przez Wi-Fi"</string>
<string name="notification_channel_sim" msgid="5098802350325677490">"Stan karty SIM"</string>
<string name="notification_channel_sim_high_prio" msgid="642361929452850928">"Stan karty SIM – wysoki priorytet"</string>
<string name="peerTtyModeFull" msgid="337553730440832160">"Drugie urządzenie zażądało trybu „TTY pełny”"</string>
@@ -133,14 +133,14 @@
</string-array>
<!-- no translation found for wfcSpnFormat_spn (2982505428519096311) -->
<skip />
- <string name="wfcSpnFormat_spn_wifi_calling" msgid="3165949348000906194">"<xliff:g id="SPN">%s</xliff:g>, połączenia przez Wi-Fi"</string>
+ <string name="wfcSpnFormat_spn_wifi_calling" msgid="3165949348000906194">"<xliff:g id="SPN">%s</xliff:g>, połączenie przez Wi-Fi"</string>
<string name="wfcSpnFormat_spn_wifi_calling_vo_hyphen" msgid="3836827895369365298">"<xliff:g id="SPN">%s</xliff:g>, połączenia przez Wi-Fi"</string>
<string name="wfcSpnFormat_wlan_call" msgid="4895315549916165700">"Połączenie przez WLAN"</string>
<string name="wfcSpnFormat_spn_wlan_call" msgid="255919245825481510">"<xliff:g id="SPN">%s</xliff:g>, połączenie przez WLAN"</string>
<string name="wfcSpnFormat_spn_wifi" msgid="7232899594327126970">"<xliff:g id="SPN">%s</xliff:g>, Wi-Fi"</string>
<string name="wfcSpnFormat_wifi_calling_bar_spn" msgid="8383917598312067365">"Połączenia przez Wi-Fi | <xliff:g id="SPN">%s</xliff:g>"</string>
<string name="wfcSpnFormat_spn_vowifi" msgid="6865214948822061486">"<xliff:g id="SPN">%s</xliff:g>, VoWifi"</string>
- <string name="wfcSpnFormat_wifi_calling" msgid="6178935388378661755">"Połączenia przez Wi-Fi"</string>
+ <string name="wfcSpnFormat_wifi_calling" msgid="6178935388378661755">"Połączenie przez Wi-Fi"</string>
<string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string>
<string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Połączenia przez Wi-Fi"</string>
<string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string>
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Twoje urządzenie zostanie wyczyszczone"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Nie można użyć aplikacji administratora. Dane z urządzenia zostaną wykasowane.\n\nJeśli masz pytania, skontaktuj się z administratorem organizacji."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Drukowanie wyłączone przez: <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Aplikacje osobiste zostały zawieszone przez administratora"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Kliknij tutaj, by sprawdzić zgodność z zasadami."</string>
<string name="me" msgid="6207584824693813140">"Ja"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opcje tabletu"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opcje Androida TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Po raz <xliff:g id="NUMBER_0">%1$d</xliff:g> nieprawidłowo narysowałeś wzór odblokowania. Po kolejnych <xliff:g id="NUMBER_1">%2$d</xliff:g> nieudanych próbach konieczne będzie odblokowanie telefonu przy użyciu danych logowania na konto Google.\n\n Spróbuj ponownie za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Usuń"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Uruchomiona w tle usługa działająca w pierwszym planie z pakietu <xliff:g id="PACKAGENAME">%1$s</xliff:g> nie będzie miała uprawnień obowiązujących podczas używania w przyszłych kompilacjach R. Zapoznaj się z ograniczeniem go/r-bg-fgs-restriction i zgłoś błąd."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Zwiększyć głośność ponad zalecany poziom?\n\nSłuchanie głośno przez długi czas może uszkodzić Twój słuch."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Użyć skrótu do ułatwień dostępu?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Gdy skrót jest włączony, jednoczesne naciśnięcie przez trzy sekundy obu klawiszy sterowania głośnością uruchomi funkcję ułatwień dostępu.\n\nBieżąca funkcja ułatwień dostępu:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\nFunkcję możesz zmienić, wybierając Ustawienia &gt; Ułatwienia dostępu."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikacja niedostępna"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikacja <xliff:g id="APP_NAME_0">%1$s</xliff:g> nie jest teraz dostępna. Zarządza tym aplikacja <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Więcej informacji"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Wznów działanie aplikacji"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Włączyć profil służbowy?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Aplikacje do pracy, powiadomienia, dane i inne funkcje profilu do pracy zostaną włączone"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Włącz"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Przełącz podzielony ekran"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Ekran blokady"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Zrzut ekranu"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu ułatwień dostępu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Pasek napisów w aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Umieszczono pakiet <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> w zasobniku danych RESTRICTED"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Osobiste"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Do pracy"</string>
</resources>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index a6fd0fe230ec..db4844163ba9 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Seu dispositivo será limpo"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Não é possível usar o aplicativo para administrador. Seu dispositivo passará por uma limpeza agora.\n\nEm caso de dúvidas, entre em contato com o administrador da sua organização."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Impressão desativada por <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Os apps pessoais foram suspensos por um administrador"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Toque aqui para ver a conformidade com a política."</string>
<string name="me" msgid="6207584824693813140">"Eu"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opções do tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opções do Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Você desenhou sua sequência de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas incorretas, será solicitado que você use o login do Google para desbloquear.\n\n Tente novamente em <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remover"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"O serviço em primeiro plano iniciado em segundo plano por <xliff:g id="PACKAGENAME">%1$s</xliff:g> não receberá uma permissão durante o uso em futuras versões R. Consulte go/r-bg-fgs-restriction e crie um relatório de bug."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Aumentar o volume acima do nível recomendado?\n\nOuvir em volume alto por longos períodos pode danificar sua audição."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Usar atalho de Acessibilidade?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Quando o atalho está ativado, pressione os dois botões de volume por três segundos para iniciar um recurso de acessibilidade.\n\n Recurso de acessibilidade atual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n É possível alterar o recurso em Configurações &gt; Acessibilidade."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"O app não está disponível"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"O app <xliff:g id="APP_NAME_0">%1$s</xliff:g> não está disponível no momento. Isso é gerenciado pelo app <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Saiba mais"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Retomar app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ativar o perfil de trabalho?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Seus apps, notificações, dados e outros recursos do perfil de trabalho serão ativados"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Ativar"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Ativar tela dividida"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Bloquear tela"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Capturar tela"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu de acessibilidade"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de legendas do app <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> foi colocado no intervalo RESTRITO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> foi colocado no intervalo \"RESTRITO\""</string>
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Pessoal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Trabalho"</string>
</resources>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 81f5ced0a044..04296fe10378 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"O seu dispositivo será apagado"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Não é possível utilizar a aplicação de administrador. O seu dispositivo será agora apagado.\n\nSe tiver questões, contacte o administrador da entidade."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Impressão desativada por <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"As apps pessoais foram suspensas por um administrador"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Toque aqui para verificar a conformidade da política."</string>
<string name="me" msgid="6207584824693813140">"Eu"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opções do tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opções do Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Desenhou o padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Depois de mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas sem sucesso, ser-lhe-á pedido para desbloquear o telemóvel através de uma conta de email.\n\n Tente novamente dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" - "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remover"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"O serviço em primeiro plano iniciado em segundo plano de <xliff:g id="PACKAGENAME">%1$s</xliff:g> não terá a autorização durante a utilização em compilações R futuras. Aceda a go/r-bg-fgs-restriction e envie um relatório de erros."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Aumentar o volume acima do nível recomendado?\n\nOuvir com um volume elevado durante longos períodos poderá ser prejudicial para a sua audição."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Pretende utilizar o atalho de acessibilidade?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Quando o atalho está ativado, premir ambos os botões de volume durante 3 segundos inicia uma funcionalidade de acessibilidade.\n\n Funcionalidade de acessibilidade atual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Pode alterar a funcionalidade em Definições &gt; Acessibilidade."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"A aplicação não está disponível"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"A aplicação <xliff:g id="APP_NAME_0">%1$s</xliff:g> não está disponível neste momento. A aplicação <xliff:g id="APP_NAME_1">%2$s</xliff:g> gere esta definição."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Saiba mais"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Retomar app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ativar o perfil de trabalho?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"As aplicações de trabalho, as notificações, os dados e outras funcionalidades do perfil de trabalho serão desativados"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Ativar"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Ativar/desativar o ecrã dividido"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Ecrã de bloqueio"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Captura de ecrã"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu Acessibilidade"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de legendas da aplicação <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> foi colocado no contentor RESTRITO."</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Pessoal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Trabalho"</string>
</resources>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index a6fd0fe230ec..db4844163ba9 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Seu dispositivo será limpo"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Não é possível usar o aplicativo para administrador. Seu dispositivo passará por uma limpeza agora.\n\nEm caso de dúvidas, entre em contato com o administrador da sua organização."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Impressão desativada por <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Os apps pessoais foram suspensos por um administrador"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Toque aqui para ver a conformidade com a política."</string>
<string name="me" msgid="6207584824693813140">"Eu"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opções do tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opções do Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Você desenhou sua sequência de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas incorretas, será solicitado que você use o login do Google para desbloquear.\n\n Tente novamente em <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Remover"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"O serviço em primeiro plano iniciado em segundo plano por <xliff:g id="PACKAGENAME">%1$s</xliff:g> não receberá uma permissão durante o uso em futuras versões R. Consulte go/r-bg-fgs-restriction e crie um relatório de bug."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Aumentar o volume acima do nível recomendado?\n\nOuvir em volume alto por longos períodos pode danificar sua audição."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Usar atalho de Acessibilidade?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Quando o atalho está ativado, pressione os dois botões de volume por três segundos para iniciar um recurso de acessibilidade.\n\n Recurso de acessibilidade atual:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n É possível alterar o recurso em Configurações &gt; Acessibilidade."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"O app não está disponível"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"O app <xliff:g id="APP_NAME_0">%1$s</xliff:g> não está disponível no momento. Isso é gerenciado pelo app <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Saiba mais"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Retomar app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ativar o perfil de trabalho?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Seus apps, notificações, dados e outros recursos do perfil de trabalho serão ativados"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Ativar"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Ativar tela dividida"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Bloquear tela"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Capturar tela"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu de acessibilidade"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Barra de legendas do app <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> foi colocado no intervalo RESTRITO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> foi colocado no intervalo \"RESTRITO\""</string>
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Pessoal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Trabalho"</string>
</resources>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index cb8d3fee32ca..030e76a2f6cf 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -196,10 +196,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Datele de pe dispozitiv vor fi șterse"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Aplicația de administrare nu poate fi utilizată. Dispozitivul va fi șters.\n\nDacă aveți întrebări, contactați administratorul organizației dvs."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Printare dezactivată de <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Aplicațiile personale au fost suspendate de un administrator"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Atingeți aici ca să verificați conformitatea cu politicile."</string>
<string name="me" msgid="6207584824693813140">"Eu"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opțiuni tablet PC"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opțiuni pentru Android TV"</string>
@@ -1635,8 +1633,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Ați desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, vi se va solicita să deblocați telefonul cu ajutorul unui cont de e-mail.\n\n Încercați din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> secunde."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Eliminați"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Serviciul în prim-plan inițializat în fundal din <xliff:g id="PACKAGENAME">%1$s</xliff:g> nu va avea permisiunea în timpul utilizării în versiunile R viitoare. Consultați go/r-bg-fgs-restriction și trimiteți un raport de eroare."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Ridicați volumul mai sus de nivelul recomandat?\n\nAscultarea la volum ridicat pe perioade lungi de timp vă poate afecta auzul."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Utilizați comanda rapidă pentru accesibilitate?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Când comanda rapidă este activată, dacă apăsați ambele butoane de volum timp de 3 secunde, veți lansa o funcție de accesibilitate.\n\n Funcția actuală de accesibilitate:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Puteți schimba funcția în Setări &gt; Accesibilitate."</string>
@@ -1884,8 +1881,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplicația nu este disponibilă"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Momentan, aplicația <xliff:g id="APP_NAME_0">%1$s</xliff:g> nu este disponibilă. Aceasta este gestionată de <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Aflați mai multe"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Anulați întreruperea aplicației"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Activați profilul de serviciu?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Se vor activa aplicațiile dvs. de serviciu, notificările, datele și alte funcții ale profilului de serviciu"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Activați"</string>
@@ -2041,12 +2037,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Activați ecranul împărțit"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Ecran de blocare"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Captură de ecran"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Meniul Accesibilitate"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Bară cu legenda pentru <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> a fost adăugat la grupul RESTRICȚIONATE"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Serviciu"</string>
</resources>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 4821c7f9d175..94029f51c0c0 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Все данные с устройства будут удалены"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Невозможно использовать приложение для администрирования. С устройства будут удалены все данные.\n\nЕсли у вас возникли вопросы, обратитесь к администратору."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Функция печати отключена приложением \"<xliff:g id="OWNER_APP">%s</xliff:g>\""</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Личные приложения временно заблокированы администратором"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Нажмите здесь, чтобы проверить их на соответствие правилам."</string>
<string name="me" msgid="6207584824693813140">"Я"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Настройки планшетного ПК"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Настройки Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Вы <xliff:g id="NUMBER_0">%1$d</xliff:g> раз неверно указали графический ключ. После <xliff:g id="NUMBER_1">%2$d</xliff:g> неверных попыток для разблокировки телефона потребуется войти в аккаунт Google.\n\nПовтор через <xliff:g id="NUMBER_2">%3$d</xliff:g> сек."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Удалить"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Службы из пакета <xliff:g id="PACKAGENAME">%1$s</xliff:g>, переведенные из фонового режима в активный, не будут получать разрешение while-in-use в будущих сборках на языке R. Перейдите на страницу go/r-bg-fgs-restriction и отправьте отчет об ошибке."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Установить громкость выше рекомендуемого уровня?\n\nВоздействие громкого звука в течение долгого времени может привести к повреждению слуха."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Использовать быстрое включение?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Чтобы использовать функцию специальных возможностей, когда она включена, нажмите и удерживайте три секунды обе кнопки регулировки громкости.\n\nТекущая функция специальных возможностей:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\nВы можете изменить ее в разделе \"Настройки &gt; Специальные возможности\"."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Приложение недоступно"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Приложение \"<xliff:g id="APP_NAME_0">%1$s</xliff:g>\" недоступно. Его работу ограничивает приложение \"<xliff:g id="APP_NAME_1">%2$s</xliff:g>\"."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Подробнее"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Возобновить работу приложения"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Включить рабочий профиль?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Будут включены корпоративные приложения, уведомления, данные и другие функции рабочего профиля."</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Включить"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Включить или выключить разделение экрана"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Заблокированный экран"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Скриншот"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Меню специальных возможностей"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Строка субтитров в приложении \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Приложение \"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>\" помещено в категорию с ограниченным доступом."</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Личный"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Рабочий"</string>
</resources>
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index df14036c1a07..73cf01890108 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ඔබගේ උපාංගය මකා දැමෙනු ඇත"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"පරිපාලක යෙදුම භාවිතා කළ නොහැකිය. ඔබේ උපාංගය දැන් මකා දමනු ඇත.\n\nඔබට ප්‍රශ්න තිබේ නම්, ඔබේ සංවිධානයේ පරිපාලකට අමතන්න."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> විසින් මුද්‍රණය කිරීම අබල කර ඇත."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"පුද්ගලික යෙදුම් පරිපාලකයෙකු විසින් අත්හිටුවා ඇත"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"ප්‍රතිපත්ති අනුකූලතාව පරීක්ෂා කිරීමට මෙහි තට්ටු කරන්න."</string>
<string name="me" msgid="6207584824693813140">"මම"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ටැබ්ලට විකල්ප"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV විකල්ප"</string>
@@ -1615,8 +1613,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"ඔබ වැරදියට <xliff:g id="NUMBER_0">%1$d</xliff:g> වතාවක් ඔබගේ අගුළු හැරීමේ රටාව ඇඳ ඇත. අසාර්ථක උත්සහ කිරීම් <xliff:g id="NUMBER_1">%2$d</xliff:g> න් පසුව, ඔබගේ ඊ-තැපැල් ලිපිනය භාවිතයෙන් ඔබගේ දුරකථනය අගුළු හැරීමට ඔබගෙන් අසයි.\n\n තත්පර <xliff:g id="NUMBER_2">%3$d</xliff:g> න් පසුව නැවත උත්සහ කරන්න."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ඉවත් කරන්න"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> වෙතින් පසුබිම ආරම්භ කරන ලද පෙරබිම් සේවාව අනාගත R තැනුම්වලදී භාවිතයේ අවසරය නැත. කරුණාකර go/r-bg-fgs-අවහිරතාව බලා දෝෂ වාර්තාවක් ගොනු කරන්න."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"නිර්දේශිතයි මට්ටමට වඩා ශබ්දය වැඩිද?\n\nදිගු කාලයක් සඳහා ඉහළ ශබ්දයක් ඇසීමෙන් ඇතැම් විට ඔබගේ ඇසීමට හානි විය හැක."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ප්‍රවේශ්‍යතා කෙටිමඟ භාවිතා කරන්නද?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"කෙටිමඟ සක්‍රිය විට, හඬ බොත්තම් දෙකම තත්පර 3ක් අල්ලාගෙන සිටීමෙන් ප්‍රවේශ්‍යත අංගයක් ඇරඹේ.\n\n වත්මන් ප්‍රවේශ්‍යතා අංගය:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n සැකසීම් &gt; ප්‍රවේශ්‍යතාව තුළ ඔබට අංගය වෙනස් කළ හැක."</string>
@@ -1854,8 +1851,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"යෙදුම නොතිබේ"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> මේ අවස්ථාවේදී ලබා ගත නොහැකිය. මෙය <xliff:g id="APP_NAME_1">%2$s</xliff:g> මගින් කළමනාකරණය කෙරේ."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"තව දැන ගන්න"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"යෙදුම විරාම කිරීම ඉවත් කරන්න"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"කාර්යාල පැතිකඩ ක්‍රියාත්මක කරන්නද?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"ඔබගේ වැඩ යෙදුම්, දැනුම්දීම්, දත්ත සහ වෙනත් කාර්යාල පැතිකඩ විශේෂාංග ක්‍රියාත්මක කරනු ඇත"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ක්‍රියාත්මක කරන්න"</string>
@@ -2009,12 +2005,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"බෙදුම් තිරය ටොගල කරන්න"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"අගුලු තිරය"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"තිර රුව"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ප්‍රවේශ්‍යතා මෙනුව"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> හි සිරස්තල තීරුව."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> අවහිර කළ බාල්දියට දමා ඇත"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"පුද්ගලික"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"කාර්යාල"</string>
</resources>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index b0dc5f3cd342..b86fc4696a01 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Vaše zariadenie bude vymazané"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Daná aplikácia na správu sa nedá použiť. Vaše zariadenie bude vymazané.\n\nV prípade otázok kontaktujte správcu organizácie."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Tlač zakázala aplikácia <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Osobné aplikácie boli pozastavené správcom"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Klepnutím tu skontrolujte súlad s pravidlami."</string>
<string name="me" msgid="6207584824693813140">"Ja"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Možnosti tabletu"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Možnosti zariadenia Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"<xliff:g id="NUMBER_0">%1$d</xliff:g>-krát ste nesprávne nakreslili svoj bezpečnostný vzor. Po <xliff:g id="NUMBER_1">%2$d</xliff:g> ďalších neúspešných pokusoch sa zobrazí výzva na odomknutie telefónu pomocou e-mailového účtu.\n\n Skúste to znova o <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Odstrániť"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Služba na popredí spustená na pozadí z balíka <xliff:g id="PACKAGENAME">%1$s</xliff:g> nebude mať v budúcich zostavách R povolenie Počas používania. Prejdite na go/r-bg-fgs-restriction a odošlite hlásenie chyby."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Zvýšiť hlasitosť nad odporúčanú úroveň?\n\nDlhodobé počúvanie pri vysokej hlasitosti môže poškodiť váš sluch."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Použiť skratku dostupnosti?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Keď je skratka zapnutá, stlačením obidvoch tlačidiel hlasitosti na tri sekundy spustíte funkciu dostupnosti.\n\n Aktuálna funkcia dostupnosti:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Funkciu môžete zmeniť v časti Nastavenia &gt; Dostupnosť."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikácia nie je k dispozícii"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikácia <xliff:g id="APP_NAME_0">%1$s</xliff:g> nie je momentálne k dispozícii. Spravuje to aplikácia <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Ďalšie informácie"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Znova spustiť aplikáciu"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Zapnúť pracovný profil?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Pracovné aplikácie, upozornenia, dáta a ďalšie funkcie pracovného profilu sa zapnú"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Zapnúť"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Prepnúť rozdelenú obrazovku"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Uzamknúť obrazovku"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Snímka obrazovky"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Ponuka Dostupnosť"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Popis aplikácie <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Balík <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> bol vložený do kontajnera OBMEDZENÉ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Osobné"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Práca"</string>
</resources>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index bdd5925d8a3e..bc2bc3acb7db 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Podatki v napravi bodo izbrisani"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Skrbniške aplikacije ni mogoče uporabljati. Podatki v napravi bodo izbrisani.\n\nČe imate vprašanja, se obrnite na skrbnika organizacije."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Tiskanje je onemogočil pravilnik <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Osebne aplikacije je onemogočil skrbnik"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Dotaknite se tukaj, da preverite skladnost s pravilniki."</string>
<string name="me" msgid="6207584824693813140">"Jaz"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Možnosti tabličnega računalnika"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Možnosti naprave Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Vzorec za odklepanje ste <xliff:g id="NUMBER_0">%1$d</xliff:g>-krat napačno vnesli. Po nadaljnjih <xliff:g id="NUMBER_1">%2$d</xliff:g> neuspešnih poskusih boste pozvani, da odklenete telefon z Googlovimi podatki za prijavo.\n\nPoskusite znova čez <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Odstrani"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"V prihodnjih različicah R storitev v ospredju z zagonom iz ozadja iz paketa <xliff:g id="PACKAGENAME">%1$s</xliff:g> ne bo imela dovoljenja med uporabo aplikacije. Oglejte si go/r-bg-fgs-restriction in pošljite poročilo o napakah."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Ali želite povečati glasnost nad priporočeno raven?\n\nDolgotrajno poslušanje pri veliki glasnosti lahko poškoduje sluh."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Želite uporabljati bližnjico funkcij za ljudi s posebnimi potrebami?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Ko je bližnjica vklopljena, pritisnite gumba za glasnost in ju pridržite tri sekunde, če želite zagnati funkcijo za ljudi s posebnimi potrebami.\n\n Trenutna funkcija za ljudi s posebnimi potrebami:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Funkcijo lahko spremenite v »Nastavitve &gt; Funkcije za ljudi s posebnimi potrebami«."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikacija ni na voljo"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Aplikacija <xliff:g id="APP_NAME_0">%1$s</xliff:g> trenutno ni na voljo. To upravlja aplikacija <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Več o tem"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Prekliči začasno zaustavitev aplikacije"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Želite vklopiti delovni profil?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Vklopili boste svoje delovne aplikacije, obvestila, podatke in druge funkcije delovnega profila"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Vklop"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Preklop razdeljenega zaslona"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Zaklenjen zaslon"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Posnetek zaslona"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Meni s funkcijami za ljudi s posebnimi potrebami"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Vrstica s podnapisi aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Paket <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> je bil dodan v segment OMEJENO"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Osebno"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Služba"</string>
</resources>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index fd8dda060448..a35328879f29 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Pajisja do të spastrohet"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Aplikacioni i administratorit nuk mund të përdoret. Pajisja jote tani do të fshihet.\n\nNëse ke pyetje, kontakto me administratorin e organizatës."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Printimi është çaktivizuar nga <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Aplikacionet personale janë pezulluar nga një administrator"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Trokit këtu për të kontrolluar përputhshmërinë me politikën."</string>
<string name="me" msgid="6207584824693813140">"Unë"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Opsionet e tabletit"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Opsionet e Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Ke vizatuar <xliff:g id="NUMBER_0">%1$d</xliff:g> herë pa sukses motivin tënd. Pas <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativave të tjera të pasuksesshme, do të të duhet ta shkyçësh telefonin duke përdorur një llogari mail-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%3$d</xliff:g> sekonda."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" - "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Hiq"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Shërbimi në plan të parë i nisur në sfond nga <xliff:g id="PACKAGENAME">%1$s</xliff:g> nuk do të ketë lejen e nevojshme gjatë përdorimit në ndërtimet e ardhshme R. Shiko go/r-bg-fgs-restriction dhe dërgo një raport të defekteve në kod."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Të ngrihet volumi mbi nivelin e rekomanduar?\n\nDëgjimi me volum të lartë për periudha të gjata mund të dëmtojë dëgjimin."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Të përdoret shkurtorja e qasshmërisë?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kur shkurtorja është e aktivizuar, shtypja e të dy butonave për 3 sekonda do të nisë një funksion qasshmërie.\n\n Funksioni aktual i qasshmërisë:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Mund ta ndryshosh funksionin te Cilësimet &gt; Qasshmëria."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Aplikacioni nuk ofrohet"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> nuk ofrohet në këtë moment. Kjo menaxhohet nga <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Mëso më shumë"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Anulo pauzën për aplikacionin"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Të aktivizohet profili i punës?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Aplikacionet e punës, njoftimet, të dhënat e tua dhe funksionet e tjera të profilit të punës do të aktivizohen"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aktivizo"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Kalo tek ekrani i ndarë"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Ekrani i kyçjes"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Pamja e ekranit"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menyja e qasshmërisë"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Shiriti i nëntitullit të <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> është vendosur në grupin E KUFIZUAR"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Puna"</string>
</resources>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index d82faa66ed12..8ee644ad2e4f 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -196,10 +196,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Уређај ће бити обрисан"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Не можете да користите ову апликацију за администраторе. Уређај ће сада бити обрисан.\n\nАко имате питања, контактирајте администратора организације."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Штампање је онемогућила апликација <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Администратор је суспендовао личне апликације"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Додирните овде да бисте проверили усклађеност са смерницама."</string>
<string name="me" msgid="6207584824693813140">"Ја"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Опције за таблет"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Опције Android TV-а"</string>
@@ -1635,8 +1633,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Нацртали сте шаблон за откључавање нетачно <xliff:g id="NUMBER_0">%1$d</xliff:g> пута. После још <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешна(их) покушаја, од вас ће бити затражено да откључате телефон помоћу налога е-поште.\n\nПробајте поново за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунде/и."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Уклони"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Услуга у првом плану са <xliff:g id="PACKAGENAME">%1$s</xliff:g> која је покренута у позадини неће имати дозволу током коришћења у будућим R верзијама. Посетите go/r-bg-fgs-restriction и пошаљите извештај о грешци."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Желите да појачате звук изнад препорученог нивоа?\n\nСлушање гласне музике дуже време може да вам оштети слух."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Желите ли да користите пречицу за приступачност?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Када је пречица укључена, притисните оба дугмета за јачину звука да бисте покренули функцију приступачности.\n\n Актуелна функција приступачности:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Можете да промените функцију у одељку Подешавања &gt; Приступачност."</string>
@@ -1884,8 +1881,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Апликација није доступна"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Апликација <xliff:g id="APP_NAME_0">%1$s</xliff:g> тренутно није доступна. <xliff:g id="APP_NAME_1">%2$s</xliff:g> управља доступношћу."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Сазнајте више"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Опозови паузирање апликације"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Да укључимо профил за Work?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Укључиће се пословне апликације, обавештења, подаци и друге функције профила за Work"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Укључи"</string>
@@ -2041,12 +2037,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Укључите/искључите подељени екран"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Закључани екран"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Снимак екрана"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Мени Приступачност"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Трака са насловима апликације <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Пакет <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> је додат у сегмент ОГРАНИЧЕНО"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Лични"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Пословни"</string>
</resources>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 9c7e1e5ecc4b..577933e6a296 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Enheten kommer att rensas"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Det går inte att använda administratörsappen. Enheten rensas.\n\nKontakta organisationens administratör om du har några frågor."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Utskrift har inaktiverats av <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Administratören har stängt av privata appar"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Tryck här för att kontrollera att policyn följs."</string>
<string name="me" msgid="6207584824693813140">"Jag"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Alternativ för surfplattan"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Alternativ för Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Du har ritat ditt grafiska lösenord fel <xliff:g id="NUMBER_0">%1$d</xliff:g> gånger. Efter ytterligare <xliff:g id="NUMBER_1">%2$d</xliff:g> försök ombeds du låsa upp mobilen med hjälp av ett e-postkonto.\n\n Försök igen om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Ta bort"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Förgrundstjänsten från <xliff:g id="PACKAGENAME">%1$s</xliff:g> som startades i bakgrunden får inte behörighet som gäller vid användning i framtida R-versioner. Besök go/r-bg-fgs-restriction och skicka en felrapport."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Vill du höja volymen över den rekommenderade nivån?\n\nAtt lyssna med stark volym långa stunder åt gången kan skada hörseln."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Vill du använda Aktivera tillgänglighet snabbt?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"När kortkommandot har aktiverats startar du en tillgänglighetsfunktion genom att trycka ned båda volymknapparna i tre sekunder.\n\n Aktuell tillgänglighetsfunktion:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Du kan ändra funktionen i Inställningar &gt; Tillgänglighet."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Appen är inte tillgänglig"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> är inte tillgänglig just nu. Detta hanteras av <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Läs mer"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Återuppta app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Vill du aktivera jobbprofilen?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Jobbappar, aviseringar, data och andra funktioner i jobbprofilen aktiveras"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aktivera"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Aktivera och inaktivera delad skärm"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Låsskärm"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Skärmdump"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Tillgänglighetsmenyn"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Textningsfält för <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> har placerats i hinken RESTRICTED"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Privat"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Jobb"</string>
</resources>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index f53efe068aec..a6ee3667b3c1 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Data iliyomo kwenye kifaa chako itafutwa"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Huwezi kutumia programu ya msimamizi. Sasa data iliyo kwenye kifaa chako itafutwa.\n\nIkiwa una maswali yoyote, wasiliana na msimamizi wa shirika lako."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Kipengele cha kuchapisha kimezimwa na <xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Programu za binafsi zimesimamishwa na msimamizi"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Gusa hapa ili uangalie utii wa sera."</string>
<string name="me" msgid="6207584824693813140">"Mimi"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Chaguo za kompyuta ndogo"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Chaguo za Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Umekosea kuchora mchoro wako wa kufungua mara <xliff:g id="NUMBER_0">%1$d</xliff:g>. Baada ya majaribio <xliff:g id="NUMBER_1">%2$d</xliff:g> yasiyofaulu, utaombwa kufungua simu yako kwa kutumia akaunti ya barua pepe.\n\n Jaribu tena baada ya sekunde <xliff:g id="NUMBER_2">%3$d</xliff:g>."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Ondoa"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Huduma ya programu inayotumika iliyoanzishwa chinichini kwenye <xliff:g id="PACKAGENAME">%1$s</xliff:g> haitakuwa na ruhusa inapotumika katika miundo ijayo ya R. Tafadhali angalia go/r-bg-fgs-restriction na uwasilishe ripoti ya hitilafu."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Ungependa kupandisha sauti zaidi ya kiwango kinachopendekezwa?\n\nKusikiliza kwa sauti ya juu kwa muda mrefu kunaweza kuharibu uwezo wako wa kusikia."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Ungependa kutumia njia ya mkato ya ufikivu?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Unapowasha kipengele cha njia ya mkato, hatua ya kubonyeza vitufe vyote viwili vya sauti kwa dakika 3 itafungua kipengele cha ufikivu.\n\n Kipengele cha ufikivu kilichopo kwa sasa:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Unaweza kubadilisha kipengele hiki katika Mipangilio &gt; Zana za ufikivu."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Programu haipatikani"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> haipatikani kwa sasa. Inasimamiwa na <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Pata maelezo zaidi"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Acha kusimamisha programu"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ungependa kuwasha wasifu wa kazini?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Hatua hii itawasha data, arifa, programu za kazini, arifa na vipengele vingine vya wasifu wa kazini"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Washa"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Geuza Skrini Iliyogawanywa"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Skrini Iliyofungwa"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Picha ya skrini"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menyu ya Ufikivu"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Upau wa manukuu wa <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> kimewekwa katika kikundi KILICHODHIBITIWA"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Binafsi"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Kazini"</string>
</resources>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index c7c4ea3c6a5b..a56465fcd8ac 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"சாதனத் தரவு அழிக்கப்படும்"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"நிர்வாகி ஆப்ஸை உபயோகிக்க முடியாது. இப்போது, உங்கள் சாதனம் ஆரம்ப நிலைக்கு மீட்டமைக்கப்படும்.\n\nஏதேனும் கேள்விகள் இருப்பின், உங்கள் நிறுவனத்தின் நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"பிரிண்ட் செய்வதை <xliff:g id="OWNER_APP">%s</xliff:g> தடுத்துள்ளது."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"தனிப்பட்ட ஆப்ஸை நிர்வாகி ஒருவர் இடைநிறுத்தியுள்ளார்"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"கொள்கை இணக்கத்தைச் சரிபார்ப்பதற்கு இங்கே தட்டவும்."</string>
<string name="me" msgid="6207584824693813140">"நான்"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"டேப்லெட் விருப்பங்கள்"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV விருப்பத்தேர்வுகள்"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"திறப்பதற்கான வடிவத்தை <xliff:g id="NUMBER_0">%1$d</xliff:g> முறை தவறாக வரைந்துள்ளீர்கள். மேலும் <xliff:g id="NUMBER_1">%2$d</xliff:g> தோல்வி முயற்சிகளுக்குப் பிறகு, மின்னஞ்சல் கணக்கைப் பயன்படுத்தி உங்கள் மொபைலைத் திறக்கக் கேட்கப்படுவீர்கள்.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> வினாடிகள் கழித்து முயற்சிக்கவும்."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"அகற்று"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> இல் இருந்து பின்னணியில் தொடங்கப்பட்ட முன்புலச் சேவைக்கு, வரவுள்ள R பதிப்புகளில் உபயோகத்தின்போது மட்டுமான அனுமதி இருக்காது. go/r-bg-fgs-restriction என்பதைப் பார்த்து பிழை அறிக்கை ஒன்றைச் சமர்ப்பிக்கவும்."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"பரிந்துரைத்த அளவை விட ஒலியை அதிகரிக்கவா?\n\nநீண்ட நேரத்திற்கு அதிகளவில் ஒலி கேட்பது கேட்கும் திறனைப் பாதிக்கலாம்."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"அணுகல்தன்மை ஷார்ட்கட்டைப் பயன்படுத்தவா?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"ஷார்ட்கட் இயக்கத்தில் இருந்தால், இரண்டு ஒலியளவு பொத்தான்களையும் 3 வினாடிகள் அழுத்தி, அணுகல்தன்மை அம்சத்தை இயக்கலாம்.\n\n தற்போதைய அணுகல்தன்மை அம்சம்:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n அமைப்புகள் &gt; அணுகல்தன்மை என்பதற்குச் சென்று, அம்சத்தை மாற்றலாம்."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ஆப்ஸை உபயோகிக்க இயலாது"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"இப்போது <xliff:g id="APP_NAME_0">%1$s</xliff:g> ஆப்ஸை உபயோகிக்க இயலாது. இதை <xliff:g id="APP_NAME_1">%2$s</xliff:g> நிர்வகிக்கிறது."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"மேலும் அறிக"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ஆப்ஸ் இயக்கு"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"பணிச் சுயவிவரத்தை ஆன் செய்யவா?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"பணி ஆப்ஸ், அறிவிப்புகள், தரவு மற்றும் பிற பணிச் சுயவிவர அம்சங்கள் ஆன் செய்யப்படும்"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"இயக்கு"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"திரைப் பிரிப்பை நிலைமாற்று"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"பூட்டுத் திரை"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ஸ்கிரீன்ஷாட்"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"அணுகல்தன்மை மெனு"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸின் தலைப்புப் பட்டி."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> என்பதை வரம்பிடப்பட்ட பக்கெட்திற்குள் சேர்க்கப்பட்டது"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"தனிப்பட்ட சுயவிவரம்"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"பணிச் சுயவிவரம்"</string>
</resources>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index 9c77ccd01b92..7a0aece84500 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"మీ పరికరంలోని డేటా తొలగించబడుతుంది"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"నిర్వాహక యాప్‌ ఉపయోగించడం సాధ్యపడదు. మీ పరికరంలోని డేటా ఇప్పుడు తొలగించబడుతుంది.\n\nమీకు ప్రశ్నలు ఉంటే, మీ సంస్థ యొక్క నిర్వాహకులను సంప్రదించండి."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"ముద్రణ <xliff:g id="OWNER_APP">%s</xliff:g> ద్వారా నిలిపివేయబడింది."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"అడ్మిన్ ద్వారా వ్యక్తిగత యాప్‌లు సస్పెండ్ చేయబడ్డాయి"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"పాలసీ పాటించబడుతోందో లేదో తనిఖీ చేయడానికి ఇక్కడ ట్యాప్ చేయండి."</string>
<string name="me" msgid="6207584824693813140">"నేను"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"టాబ్లెట్ ఎంపికలు"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV ఎంపికలు"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"మీరు మీ అన్‌లాక్ నమూనాను <xliff:g id="NUMBER_0">%1$d</xliff:g> సార్లు తప్పుగా గీసారు. మరో <xliff:g id="NUMBER_1">%2$d</xliff:g> విఫల ప్రయత్నాల తర్వాత, ఇమెయిల్ ఖాతాను ఉపయోగించి మీ ఫోన్‌ను అన్‌లాక్ చేయాల్సిందిగా మిమ్మల్ని అడుగుతారు.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> సెకన్లలో మళ్లీ ప్రయత్నించండి."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"తీసివేయి"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> నుండి, బ్యాక్‌గ్రౌండ్‌లో ప్రారంభమైన ఫోర్ గ్రౌండ్ సేవకు భవిష్యత్తు R బిల్డ్స్‌లో \'ఉపయోగంలో వున్నప్పుడు\' అనుమతి ఉండదు. దయచేసి go/r-bg-fgs-restrictionను చూసి బగ్ నివేదికను ఫైల్ చేయండి."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"వాల్యూమ్‌ను సిఫార్సు చేయబడిన స్థాయి కంటే ఎక్కువగా పెంచాలా?\n\nసుదీర్ఘ వ్యవధుల పాటు అధిక వాల్యూమ్‌లో వినడం వలన మీ వినికిడి శక్తి దెబ్బ తినవచ్చు."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"యాక్సెస్ సామర్థ్యం షార్ట్‌కట్‌ను ఉపయోగించాలా?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"షార్ట్‌కట్ ఆన్‌లో ఉన్నప్పుడు, రెండు వాల్యూమ్ బటన్‌లను 3 సెకన్ల పాటు నొక్కితే యాక్సెస్ సామర్థ్య ఫీచర్ ప్రారంభం అవుతుంది.\n\n ప్రస్తుత యాక్సెస్ సామర్థ్య ఫీచర్:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n సెట్టింగ్‌లు &gt; యాక్సెస్ సామర్థ్యంలో మీరు ఫీచర్‌ను మార్చవచ్చు."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"యాప్ అందుబాటులో లేదు"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ప్రస్తుతం అందుబాటులో లేదు. ఇది <xliff:g id="APP_NAME_1">%2$s</xliff:g> ద్వారా నిర్వహించబడుతుంది."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"మరింత తెలుసుకోండి"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"యాప్‌పై వున్న పాజ్‌ను తొలగించండి"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"కార్యాలయ ప్రొఫైల్‌ని ఆన్ చేయాలా?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"మీ కార్యాలయ యాప్‌లు, నోటిఫికేషన్‌లు, డేటా మరియు ఇతర కార్యాలయ ప్రొఫైల్ ఫీచర్‌లు ఆన్ చేయబడతాయి"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"ఆన్ చేయి"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"స్క్రీన్ విభజనను టోగుల్ చేయి"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"స్క్రీన్‌ను లాక్ చేయి"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"స్క్రీన్‌షాట్"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"యాక్సెసిబిలిటీ మెను"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> క్యాప్షన్ బార్."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> పరిమితం చేయబడిన బకెట్‌లో ఉంచబడింది"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"వ్యక్తిగతం"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"కార్యాలయం"</string>
</resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index efff25bf74c8..98f2d8880b8a 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"ระบบจะลบข้อมูลในอุปกรณ์ของคุณ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"ใช้แอปผู้ดูแลระบบนี้ไม่ได้ ขณะนี้ระบบจะลบข้อมูลในอุปกรณ์ของคุณ\n\nโปรดติดต่อผู้ดูแลระบบขององค์กรหากมีคำถาม"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ปิดใช้การพิมพ์แล้ว"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ผู้ดูแลระบบได้ระงับแอปส่วนตัวไว้"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"แตะที่นี่เพื่อตรวจสอบการปฏิบัติตามข้อกำหนดของนโยบาย"</string>
<string name="me" msgid="6207584824693813140">"ฉัน"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ตัวเลือกของแท็บเล็ต"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"ตัวเลือกของ Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"คุณวาดรูปแบบการปลดล็อกไม่ถูกต้อง <xliff:g id="NUMBER_0">%1$d</xliff:g> ครั้งแล้ว หากทำไม่สำเร็จอีก <xliff:g id="NUMBER_1">%2$d</xliff:g> ครั้ง ระบบจะขอให้คุณปลดล็อกโทรศัพท์โดยใช้ับัญชีอีเมล\n\n โปรดลองอีกครั้งในอีก <xliff:g id="NUMBER_2">%3$d</xliff:g> วินาที"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ลบ"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"บริการที่ทำงานอยู่เบื้องหน้าซึ่งเริ่มขึ้นในเบื้องหลังจาก <xliff:g id="PACKAGENAME">%1$s</xliff:g> จะไม่มีสิทธิ์ขณะใช้งานใน R บิลด์ต่อๆ ไป โปรดดู go/r-bg-fgs-restriction และส่งรายงานข้อบกพร่อง"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"นี่เป็นการเพิ่มระดับเสียงเกินระดับที่แนะนำ\n\nการฟังเสียงดังเป็นเวลานานอาจทำให้การได้ยินของคุณบกพร่องได้"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ใช้ทางลัดการช่วยเหลือพิเศษไหม"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"เมื่อทางลัดเปิดอยู่ การกดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มเป็นเวลา 3 วินาทีจะเริ่มฟีเจอร์การช่วยเหลือพิเศษ\n\n ฟีเจอร์การช่วยเหลือพิเศษปัจจุบัน:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n คุณสามารถเปลี่ยนฟีเจอร์ในการตั้งค่า &gt; การช่วยเหลือพิเศษ"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"แอปไม่พร้อมใช้งาน"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"เปิด <xliff:g id="APP_NAME_0">%1$s</xliff:g> ไม่ได้ในขณะนี้ แอปนี้จัดการโดย <xliff:g id="APP_NAME_1">%2$s</xliff:g>"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"ดูข้อมูลเพิ่มเติม"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ยกเลิกการหยุดแอปชั่วคราว"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"เปิดโปรไฟล์งานไหม"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"ระบบจะเปิดแอปงาน การแจ้งเตือน ข้อมูล และฟีเจอร์อื่นๆ ในโปรไฟล์งาน"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"เปิด"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"เปิด/ปิดการแบ่งหน้าจอ"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"หน้าจอล็อก"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"ภาพหน้าจอ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"เมนูการช่วยเหลือพิเศษ"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"แถบคำบรรยาย <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"ใส่ <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ในที่เก็บข้อมูลที่ถูกจำกัดแล้ว"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ส่วนตัว"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"งาน"</string>
</resources>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 7cfa7b02ebaa..c38a6d54cdbd 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Buburahin ang iyong device"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Hindi magamit ang admin app. Mabubura na ang iyong device.\n\nKung mayroon kang mga tanong, makipag-ugnayan sa admin ng iyong organisasyon."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Na-disable ng <xliff:g id="OWNER_APP">%s</xliff:g> ang pag-print."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Sinuspinde ng isang admin ang mga personal na app"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Mag-tap dito para matingnan ang pagsunod sa patakaran."</string>
<string name="me" msgid="6207584824693813140">"Ako"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Mga pagpipilian sa tablet"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Mga opsyon sa Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Naguhit mo nang hindi tama ang iyong pattern sa pag-unlock nang <xliff:g id="NUMBER_0">%1$d</xliff:g> (na) beses. Pagkatapos ng <xliff:g id="NUMBER_1">%2$d</xliff:g> pang hindi matagumpay na pagtatangka, hihilingin sa iyong i-unlock ang telepono mo gamit ang isang email account.\n\n Subukang muli sa loob ng <xliff:g id="NUMBER_2">%3$d</xliff:g> (na) segundo."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Alisin"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Ang sinimulan sa background na serbisyo sa foreground mula sa <xliff:g id="PACKAGENAME">%1$s</xliff:g> ay hindi magkakaroon ng pahintulot habang ginagamit sa mga R build sa hinaharap. Pakipuntahan ang go/r-bg-fgs-restriction at maghain ng bugreport."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Lakasan ang volume nang lagpas sa inirerekomendang antas?\n\nMaaaring mapinsala ng pakikinig sa malakas na volume sa loob ng mahahabang panahon ang iyong pandinig."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Gagamitin ang Shortcut sa Pagiging Accessible?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kapag naka-on ang shortcut, magsisimula ang isang feature ng pagiging naa-access kapag pinindot ang parehong button ng volume sa loob ng 3 segundo.\n\n Kasalukuyang feature ng pagiging naa-access:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Maaari mong baguhin ang feature sa Mga Setting &gt; Pagiging Accessible."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Hindi available ang app"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Hindi available ang <xliff:g id="APP_NAME_0">%1$s</xliff:g> sa ngayon. Pinamamahalaan ito ng <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Matuto pa"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"I-unpause ang app"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"I-on ang profile sa trabaho?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Mao-on ang iyong mga app sa trabaho, notification, data, at iba pang feature sa profile sa trabaho"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"I-on"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"I-toggle ang Split Screen"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Lock Screen"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Screenshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Menu ng Accessibility"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Caption bar ng <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Inilagay ang <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> sa PINAGHIHIGPITANG bucket"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Personal"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Trabaho"</string>
</resources>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index b47eb4bb025c..5e0930947afb 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Cihazınız silinecek"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Yönetim uygulaması kullanılamıyor. Cihazınız şimdi silinecek.\n\nSorularınız varsa kuruluşunuzun yöneticisine başvurun."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Yazdırma işlemi <xliff:g id="OWNER_APP">%s</xliff:g> tarafından devre dışı bırakıldı."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Kişisel uygulamalar bir yönetici tarafından askıya alındı"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Politika uyumluluğunu kontrol etmek için buraya dokunun."</string>
<string name="me" msgid="6207584824693813140">"Ben"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tablet seçenekleri"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV seçenekleri"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Kilit açma deseninizi <xliff:g id="NUMBER_0">%1$d</xliff:g> kez yanlış çizdiniz. <xliff:g id="NUMBER_1">%2$d</xliff:g> başarısız denemeden sonra telefonunuzu bir e-posta hesabı kullanarak açmanız istenir.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> saniye içinde tekrar deneyin."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Kaldır"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> paketinden ön plan hizmetini başlatan arka plan, sonraki R derlemelerinde kullanım sırasında iznine sahip olmayacak. Lütfen go/r-bg-fgs-restriction sayfasına bakıp hata raporu girin."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Ses seviyesi önerilen düzeyin üzerine yükseltilsin mi?\n\nUzun süre yüksek ses seviyesinde dinlemek işitme duyunuza zarar verebilir."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Erişilebilirlik Kısayolu Kullanılsın mı?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Kısayol açık olduğunda, ses düğmelerinin ikisini birden 3 saniyeliğine basılı tutmanız bir erişilebilirlik özelliğini başlatır.\n\n Geçerli erişilebilirlik özelliği:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Özelliği, Ayarlar &gt; Erişilebilirlik seçeneğinden değiştirebilirsiniz."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Uygulama kullanılamıyor"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> uygulaması şu anda kullanılamıyor. Uygulamanın kullanım durumu <xliff:g id="APP_NAME_1">%2$s</xliff:g> tarafından yönetiliyor."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Daha fazla bilgi"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Uygulamanın duraklatmasını kaldır"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"İş profili açılsın mı?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"İş uygulamalarınız, bildirimleriniz, verileriniz ve diğer iş profili özellikleriniz açılacak"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Aç"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Bölünmüş Ekranı aç/kapat"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Kilit Ekranı"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Ekran görüntüsü"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Erişilebilirlik Menüsü"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının başlık çubuğu."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> KISITLANMIŞ gruba yerleştirildi"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Kişisel"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"İş"</string>
</resources>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 22aa199d9964..1096f97e3c98 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -198,10 +198,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"З вашого пристрою буде стерто всі дані"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Не можна запускати додаток для адміністраторів. Буде відновлено заводські налаштування пристрою.\n\nЯкщо у вас є запитання, зв’яжіться з адміністратором своєї організації."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Додаток <xliff:g id="OWNER_APP">%s</xliff:g> вимкнув друк."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Особисті додатки заблоковано адміністратором"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Натисніть тут, щоб перевірити відповідність правилам."</string>
<string name="me" msgid="6207584824693813140">"Я"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Парам. пристрою"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Опції Android TV"</string>
@@ -1657,8 +1655,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Ключ розблокування неправильно намальовано стільки разів: <xliff:g id="NUMBER_0">%1$d</xliff:g>. У вас є ще стільки спроб: <xliff:g id="NUMBER_1">%2$d</xliff:g>. У разі невдачі з’явиться запит розблокувати телефон за допомогою облікового запису електронної пошти.\n\n Повторіть спробу через <xliff:g id="NUMBER_2">%3$d</xliff:g> сек."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" – "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Вилучити"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Активний сервіс пакета <xliff:g id="PACKAGENAME">%1$s</xliff:g>, запущений у фоновому режимі, не матиме дозволу \"Коли додаток використовується\" в майбутніх складаннях R. Перегляньте go/r-bg-fgs-restriction і надішліть звіт про помилки."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Збільшити гучність понад рекомендований рівень?\n\nЯкщо слухати надто гучну музику тривалий час, можна пошкодити слух."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Використовувати швидке ввімкнення?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Коли ярлик увімкнено, після натискання обох клавіш гучності й утримування їх протягом 3 секунд увімкнеться функція спеціальних можливостей.\n\n Поточна функція спеціальних можливостей:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Цю функцію можна змінити в меню \"Налаштування\" &gt; \"Спеціальні можливості\"."</string>
@@ -1916,8 +1913,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Додаток недоступний"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"Додаток <xliff:g id="APP_NAME_0">%1$s</xliff:g> зараз недоступний. Керує додаток <xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Докладніше"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Відновити доступ до додатка"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Увімкнути робочий профіль?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Додатки, сповіщення, дані й інші функції робочого профілю буде ввімкнено"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Увімкнути"</string>
@@ -2075,12 +2071,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Розділити екран"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Заблокувати екран"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Знімок екрана"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Меню спеціальних можливостей"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Смуга із субтитрами для додатка <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Пакет \"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>\" додано в сегмент з обмеженнями"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Особисте"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Робоче"</string>
</resources>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index a88d6c504964..4c331916bb57 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"آپ کا آلہ صاف کر دیا جائے گا"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"منتظم کی ایپ استعمال نہیں کی جا سکتی۔ آپ کا آلہ اب مٹا دیا جائے گا۔\n\nاگر آپ کے سوالات ہیں تو اپنی تنظیم کے منتظم سے رابطہ کریں۔"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> نے پرنٹنگ کو غیر فعال کر دیا ہے۔"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"ایک منتظم کے ذریعہ ذاتی ایپس معطل کر دی گئی ہیں"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"پالیسی کی تعمیل کو چیک کرنے کے ليے یہاں تھپتھپائیں۔"</string>
<string name="me" msgid="6207584824693813140">"میں"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ٹیبلیٹ کے اختیارات"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"‏Android TV اختیارات"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"آپ نے اپنا غیر مقفل کرنے کا پیٹرن <xliff:g id="NUMBER_0">%1$d</xliff:g> بار غلط طریقے سے ڈرا کیا ہے۔ <xliff:g id="NUMBER_1">%2$d</xliff:g> مزید ناکام کوششوں کے بعد، آپ سے ایک ای میل اکاؤنٹ استعمال کرکے اپنا فون غیر مقفل کرنے کو کہا جائے گا۔\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> سیکنڈ میں دوبارہ کوشش کریں۔"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"ہٹائیں"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"‏پس منظر <xliff:g id="PACKAGENAME">%1$s</xliff:g> سے شروع کی گئی پیش منظر کی سروس کو مستقبل کے R بلڈز میں استعمال کے دوران اجازت نہیں ہوگی۔ براہ کرم go/r-bg-fgs-restriction دیکھیں اور بگ رپورٹ دائر کریں۔"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"والیوم کو تجویز کردہ سطح سے زیادہ کریں؟\n\nزیادہ وقت تک اونچی آواز میں سننے سے آپ کی سماعت کو نقصان پہنچ سکتا ہے۔"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"ایکسیسبیلٹی شارٹ کٹ استعمال کریں؟"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"شارٹ کٹ آن ہونے پر، 3 سیکنڈ تک دونوں والیوم بٹنز کو دبانے سے ایک ایکسیسبیلٹی خصوصیت شروع ہو جائے گی۔\n\n موجودہ ایکسیسبیلٹی خصوصیت:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n آپ خصوصیت کو ترتیبات &gt; ایکسیسبیلٹی میں جا کر تبدیل کر سکتے ہیں۔"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"ایپ دستیاب نہیں ہے"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ابھی دستیاب نہیں ہے۔ یہ <xliff:g id="APP_NAME_1">%2$s</xliff:g> کے زیر انتظام ہے۔"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"مزید جانیں"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"ایپ کو غیر موقوف کریں"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"دفتری پروفائل آن کریں؟"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"آپ کی دفتری ایپس، اطلاعات، ڈیٹا اور دفتری پروفائل کی دیگر خصوصیات آن کر دی جائیں گی"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"آن کریں"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"اسپلٹ اسکرین ٹوگل کریں"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"مقفل اسکرین"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"اسکرین شاٹ"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"ایکسیسبیلٹی مینو"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> کی کیپشن بار۔"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> کو پابند کردہ بکٹ میں رکھ دیا گیا ہے"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"ذاتی"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"دفتر"</string>
</resources>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index a08b1788c5d6..23873b5f2b4f 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Qurilmangizdagi ma’lumotlar o‘chirib tashlanadi"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Administrator ilovasini ishlatib bo‘lmaydi. Qurilmada barcha ma’lumotlar o‘chirib tashlanadi.\n\nSavollaringiz bo‘lsa, administrator bilan bog‘laning."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Chop etish funksiyasi <xliff:g id="OWNER_APP">%s</xliff:g> tomonidan faolsizlantirilgan."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Shaxsiy ilovalar administrator tomonidan faolsizlantirildi"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Siyosatga muvofiqligini tekshirish uchun shu yerga bosing."</string>
<string name="me" msgid="6207584824693813140">"Men"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Planshet sozlamalari"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV parametrlari"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Siz grafik kalitni <xliff:g id="NUMBER_0">%1$d</xliff:g> marta noto‘g‘ri chizdingiz. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan so‘ng, sizdan e-pochtangizdan foydalanib, telefon qulfini ochishingiz so‘raladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan so‘ng yana urinib ko‘ring."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Olib tashlash"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Fonda faol <xliff:g id="PACKAGENAME">%1$s</xliff:g> xizmatini ishga tushirish uchun kelgusi R nashrlarida ishlatilayotganda ruxsat berish imkoniyati boʻlmaydi. go/r-bg-fgs-restriction sahifasiga kiring va xatolik hisobotini yuboring."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Tovush balandligi tavsiya etilgan darajadan ham yuqori qilinsinmi?\n\nUzoq vaqt davomida baland ovozda tinglash eshitish qobiliyatingizga salbiy ta’sir ko‘rsatishi mumkin."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Tezkor ishga tushirishdan foydalanilsinmi?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Maxsus imkoniyatlar funksiyasidan foydalanish uchun u yoniqligida ikkala ovoz balandligini boshqarish tugmasini 3 soniya bosib turing.\n\n Joriy maxsus imkoniyatlar funksiyasi:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Bu funksiyani Sozlamalar &gt; Maxsus imkoniyatlar orqali o‘zgartirish mumkin."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Ilova ishlamayapti"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ishlamayapti. Uning ishlashini <xliff:g id="APP_NAME_1">%2$s</xliff:g> cheklamoqda."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Batafsil"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Ilovani ishga tushirish"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Ishchi profil yoqilsinmi?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Ishchi ilovalar, bildirishnomalar, ma’lumotlar va boshqa ishchi profil imkoniyatlari yoqiladi"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Yoqish"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Ekranni ikkiga ajratish tugmasi"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Ekran qulfi"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Skrinshot"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Maxsus imkoniyatlar menyusi"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g> taglavhalar paneli."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> cheklangan turkumga joylandi"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Shaxsiy"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Ish"</string>
</resources>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index db55613dce7e..1ed30d7db57e 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Thiết bị của bạn sẽ bị xóa"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Không thể sử dụng ứng dụng quản trị. Thiết bị của bạn sẽ bị xóa ngay bây giờ.\n\nHãy liên hệ với quản trị viên của tổ chức nếu bạn có thắc mắc."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> đã tắt tính năng in."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Các ứng dụng cá nhân đã bị một quản trị viên tạm ngưng"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Nhấn vào đây để kiểm tra tính tuân thủ đối với chính sách."</string>
<string name="me" msgid="6207584824693813140">"Tôi"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Tùy chọn máy tính bảng"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Tùy chọn dành cho Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Bạn đã <xliff:g id="NUMBER_0">%1$d</xliff:g> lần vẽ không chính xác hình mở khóa của mình. Sau <xliff:g id="NUMBER_1">%2$d</xliff:g> lần thử không thành công nữa, bạn sẽ được yêu cầu mở khóa điện thoại bằng tài khoản email.\n\n Vui lòng thử lại sau <xliff:g id="NUMBER_2">%3$d</xliff:g> giây."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Xóa"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Dịch vụ trên nền trước đã bắt đầu ở nền từ <xliff:g id="PACKAGENAME">%1$s</xliff:g> sẽ không có quyền khi đang sử dụng trong các bản dựng R trong tương lai. Vui lòng xem go/r-bg-fgs-restriction và gửi báo cáo lỗi."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Bạn tăng âm lượng lên quá mức khuyên dùng?\n\nViệc nghe ở mức âm lượng cao trong thời gian dài có thể gây tổn thương thính giác của bạn."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Sử dụng phím tắt Hỗ trợ tiếp cận?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Khi phím tắt được bật, nhấn cả hai nút âm lượng trong 3 giây sẽ bắt đầu một tính năng trợ năng.\n\n Tính năng trợ năng hiện tại:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Bạn có thể thay đổi tính năng trong Cài đặt &gt; Trợ năng."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Ứng dụng không sử dụng được"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> hiện không sử dụng được. Chính sách này do <xliff:g id="APP_NAME_1">%2$s</xliff:g> quản lý."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Tìm hiểu thêm"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Mở lại ứng dụng"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Bạn muốn bật hồ sơ công việc?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Ứng dụng công việc, thông báo, dữ liệu và các tính năng khác của hồ sơ công việc sẽ được bật"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Bật"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Bật/tắt chế độ chia đôi màn hình"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Khóa màn hình"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Chụp ảnh màn hình"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Trình đơn Hỗ trợ tiếp cận"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Thanh phụ đề của <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"Đã đưa <xliff:g id="PACKAGE_NAME">%1$s</xliff:g> vào bộ chứa BỊ HẠN CHẾ"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Cá nhân"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Cơ quan"</string>
</resources>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 08d232683c57..7671063821d0 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"系统将清空您的设备"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"无法使用管理应用,系统现在将清空您的设备。\n\n如有疑问,请与您所在单位的管理员联系。"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"“<xliff:g id="OWNER_APP">%s</xliff:g>”已停用打印功能。"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"管理员已暂停个人应用"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"点按此处即可检查政策合规性。"</string>
<string name="me" msgid="6207584824693813140">"我"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"平板电脑选项"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV 选项"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"您已连续 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次画错解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次后仍不成功,系统就会要求您使用自己的电子邮件帐号解锁手机。\n\n请在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒后重试。"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"删除"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"在未来的 R 版本中,在后台启动的 <xliff:g id="PACKAGENAME">%1$s</xliff:g> 中的前台服务将不具有仅在使用时授予的权限。请访问 go/r-bg-fgs-restriction 并提交错误报告。"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"要将音量调高到建议的音量以上吗?\n\n长时间保持高音量可能会损伤听力。"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"要使用无障碍快捷方式吗?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"开启快捷方式后,同时按下两个音量按钮 3 秒钟即可启动所设定的无障碍功能。\n\n当前设定的无障碍功能:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n如需更改设定的功能,请依次转到“设置”&gt;“无障碍”。"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"应用无法使用"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>目前无法使用。该应用是由<xliff:g id="APP_NAME_1">%2$s</xliff:g>所管理。"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"了解详情"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"取消暂停应用"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"要开启工作资料吗?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"您的工作应用、通知、数据及其他工作资料功能将会开启"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"开启"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"开启/关闭分屏"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"锁定屏幕"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"屏幕截图"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"无障碍功能菜单"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"<xliff:g id="APP_NAME">%1$s</xliff:g>的标题栏。"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> 已被放入受限存储分区"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"个人"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"工作"</string>
</resources>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index ea106c6c2a78..89bea07ae1a7 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"您的裝置將被清除"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"無法使用管理員應用程式。系統會現在清除您的裝置。\n\n如有任何疑問,請聯絡您的機構管理員。"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"「<xliff:g id="OWNER_APP">%s</xliff:g>」暫停了列印。"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"管理員已停用個人應用程式"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"輕按這裡查看應用程式是否符合政策要求。"</string>
<string name="me" msgid="6207584824693813140">"我本人"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"平板電腦選項"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV 選項"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"您已畫錯解鎖圖案 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次,如果再嘗試 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次仍未成功,系統會要求您透過電郵帳戶解開上鎖的手機。\n\n請在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後再試一次。"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"移除"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"從「<xliff:g id="PACKAGENAME">%1$s</xliff:g>」啟動前景服務的背景將不會在未來的 R 版本中提供「僅在使用此應用程式時允許」權限。請參閱 go/r-bg-fgs-restriction,提交錯誤報告。"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"要調高音量 (比建議的音量更大聲) 嗎?\n\n長時間聆聽高分貝音量可能會導致您的聽力受損。"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"要使用無障礙功能快速鍵嗎?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"快速鍵開啟後,同時按住音量按鈕 3 秒,無障礙功能便會啟用。\n\n目前的無障礙功能:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n如要變更功能,請前往「設定」&gt;「無障礙功能」。"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"目前無法使用此應用程式"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"目前無法使用 <xliff:g id="APP_NAME_0">%1$s</xliff:g>。此應用程式是由「<xliff:g id="APP_NAME_1">%2$s</xliff:g>」管理。"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"瞭解詳情"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"取消暫停應用程式"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"要開啟工作設定檔嗎?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"系統將開啟您的工作應用程式、通知、資料和其他工作設定檔功能"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"開啟"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"切換分割螢幕"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"將畫面上鎖"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"螢幕截圖"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"無障礙功能選單"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」的說明列。"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> 已納入受限制的儲存區"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"個人"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"公司"</string>
</resources>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 70651816bfbd..c95ae37602a0 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"你的裝置資料將遭到清除"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"無法使用管理應用程式,系統現在將清除你裝置中的資料。\n\n如有任何問題,請與貴機構的管理員聯絡。"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"「<xliff:g id="OWNER_APP">%s</xliff:g>」已停用列印功能。"</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"管理員已將個人應用程式設為暫停使用"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"輕觸這裡即可查看政策違規問題。"</string>
<string name="me" msgid="6207584824693813140">"我"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"平板電腦選項"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android TV 選項"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"你的解鎖圖案已畫錯 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次,如果再嘗試 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次仍未成功,系統就會要求你透過電子郵件帳戶解除手機的鎖定狀態。\n\n請在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後再試一次。"</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"移除"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"來自「<xliff:g id="PACKAGENAME">%1$s</xliff:g>」的背景啟動前景服務不會具備未來 R 版本的使用狀態權限。請前往 go/r-bg-fgs-restriction 並提交錯誤報告。"</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"要調高音量,比建議的音量更大聲嗎?\n\n長時間聆聽高分貝音量可能會使你的聽力受損。"</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"要使用無障礙捷徑嗎?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"啟用捷徑功能後,只要同時按下兩個音量鍵 3 秒,就能啟動無障礙功能。\n\n 目前設定的無障礙功能為:\n<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n 如要變更設定的功能,請依序輕觸 [設定] &gt; [無障礙設定]。"</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"應用程式目前無法使用"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"目前無法使用「<xliff:g id="APP_NAME_0">%1$s</xliff:g>」。這項設定是由「<xliff:g id="APP_NAME_1">%2$s</xliff:g>」管理。"</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"瞭解詳情"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"取消暫停應用程式"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"要開啟工作資料夾嗎?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"系統將開啟你的辦公應用程式、通知、資料和其他工作資料夾功能"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"開啟"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"切換分割畫面模式"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"螢幕鎖定"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"擷取螢幕畫面"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"無障礙選單"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」的說明文字列。"</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"已將「<xliff:g id="PACKAGE_NAME">%1$s</xliff:g>」移入受限制的值區"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"個人"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"工作"</string>
</resources>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 1cb67e162da7..0cd669bb07a7 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -194,10 +194,8 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"Idivayisi yakho izosulwa"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"Uhlelo lokusebenza lomlawuli alikwazi ukusetshenziswa. Idivayisi yakho manje izosuswa.\n\nUma unemibuzo, xhumana nomlawuli wezinhlangano zakho."</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"Ukuphrinta kukhutshazwe nge-<xliff:g id="OWNER_APP">%s</xliff:g>."</string>
- <!-- no translation found for personal_apps_suspended_notification_title (6551578720258229430) -->
- <skip />
- <!-- no translation found for personal_apps_suspended_notification_text (8321053338614244297) -->
- <skip />
+ <string name="personal_apps_suspended_notification_title" msgid="6551578720258229430">"Izinhlelo zokusebenza zimiswe okwesikhashana ngumlawuli"</string>
+ <string name="personal_apps_suspended_notification_text" msgid="8321053338614244297">"Thepha lapha ukuze uhlole ukuthobelana kwenqubomgomo."</string>
<string name="me" msgid="6207584824693813140">"Mina"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"Okukhethwa kukho kwethebhulethi"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Izinketho ze-Android TV"</string>
@@ -1613,8 +1611,7 @@
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="5270861875006378092">"Ukulayisha ungenisa iphathini yakho yokuvula ngendlela engalungile izikhathi ezi-<xliff:g id="NUMBER_0">%1$d</xliff:g> Emva kweminye imizamo engu-<xliff:g id="NUMBER_1">%2$d</xliff:g>, uzocelwa ukuvula ifoni yakho usebenzisa ukungena ngemvume ku-Google\n\n Zame futhi emumva kwengu- <xliff:g id="NUMBER_2">%3$d</xliff:g> amasekhondi."</string>
<string name="kg_text_message_separator" product="default" msgid="4503708889934976866">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="2034358143731750914">"Susa"</string>
- <!-- no translation found for allow_while_in_use_permission_in_fgs (4101339676785053656) -->
- <skip />
+ <string name="allow_while_in_use_permission_in_fgs" msgid="4101339676785053656">"Ingemuva eqalise isevisi yasemuva kusuka ku-<xliff:g id="PACKAGENAME">%1$s</xliff:g> ngeke ithole imvume yokusebenzisa yesikhathi ekwakheni kwe-R ezayo. Sicela ubone i-go/r-bg-fgs-restriction bese ufayele umbiko wesiphazamiso."</string>
<string name="safe_media_volume_warning" product="default" msgid="3751676824423049994">"Khuphukisa ivolumu ngaphezu kweleveli enconyiwe?\n\nUkulalela ngevolumu ephezulu izikhathi ezide kungahle kulimaze ukuzwa kwakho."</string>
<string name="accessibility_shortcut_warning_dialog_title" msgid="4017995837692622933">"Sebenzisa isinqamuleli sokufinyelela?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="8306239551412868396">"Uma kuvulwe isinqamuleli, ukucindezela zombili izinkinobho zevolumu amasekhondi angu-3 kuzoqala isici sokufinyelela.\n\n Isici samanje sokufinyelela:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Ungashintsha isici kuzilungiselelo &gt; Ukufinyelela."</string>
@@ -1852,8 +1849,7 @@
<string name="app_suspended_title" msgid="888873445010322650">"Uhlelo lokusebenza alutholakali"</string>
<string name="app_suspended_default_message" msgid="6451215678552004172">"I-<xliff:g id="APP_NAME_0">%1$s</xliff:g> ayitholakali okwamanje. Lokhu kuphethwe i-<xliff:g id="APP_NAME_1">%2$s</xliff:g>."</string>
<string name="app_suspended_more_details" msgid="211260942831587014">"Funda kabanzi"</string>
- <!-- no translation found for app_suspended_unsuspend_message (1665438589450555459) -->
- <skip />
+ <string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"Susa ukuphumuza uhlelo lokusebenza"</string>
<string name="work_mode_off_title" msgid="5503291976647976560">"Vula iphrofayela yomsebenzi?"</string>
<string name="work_mode_off_message" msgid="8417484421098563803">"Izinhlelo zakho zokusebenza zomsebenzi, izaziso, idatha, nezinye izici zephrofayela yomsebenzi kuzovulwa"</string>
<string name="work_mode_turn_on" msgid="3662561662475962285">"Vula"</string>
@@ -2007,12 +2003,9 @@
<string name="accessibility_system_action_toggle_split_screen_label" msgid="6626177163849387748">"Guqula ukuhlukanisa isikrini"</string>
<string name="accessibility_system_action_lock_screen_label" msgid="5484190691945563838">"Khiya isikrini"</string>
<string name="accessibility_system_action_screenshot_label" msgid="3581566515062741676">"Isithombe-skrini"</string>
- <!-- no translation found for accessibility_system_action_accessibility_menu_label (8436484650391125184) -->
- <skip />
+ <string name="accessibility_system_action_accessibility_menu_label" msgid="8436484650391125184">"Imenyu yokufinyeleleka"</string>
<string name="accessibility_freeform_caption" msgid="8377519323496290122">"Ibha yamazwibela we-<xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="as_app_forced_to_restricted_bucket" msgid="8233871289353898964">"I-<xliff:g id="PACKAGE_NAME">%1$s</xliff:g> ifakwe kubhakede LOKUKHAWULELWE"</string>
- <!-- no translation found for resolver_personal_tab (2051260504014442073) -->
- <skip />
- <!-- no translation found for resolver_work_tab (2690019516263167035) -->
- <skip />
+ <string name="resolver_personal_tab" msgid="2051260504014442073">"Okomuntu siqu"</string>
+ <string name="resolver_work_tab" msgid="2690019516263167035">"Umsebenzi"</string>
</resources>
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index cfed805d5d88..b22e1867f257 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -301,6 +301,9 @@
<!-- Additional flag from base permission type: this permission can be automatically
granted to the system companion device manager service -->
<flag name="companion" value="0x800000" />
+ <!-- Additional flag from base permission type: this permission will be granted to the
+ retail demo app, as defined by the OEM. -->
+ <flag name="retailDemo" value="0x1000000" />
</attr>
<!-- Flags indicating more context for a permission group. -->
@@ -1781,8 +1784,11 @@
<attr name="crossProfile" format="boolean" />
</declare-styleable>
- <!-- The <code>feature</code> tag declares a feature. A feature is a part of an app. E.g.
- photo sharing app might include a direct messaging component.
+ <!-- The <code>feature</code> tag declares a feature. A feature is a logical part of an app.
+ E.g. photo sharing app might include a direct messaging component. To tag certain code as
+ belonging to a feature, use a context created via
+ {@link android.content.Context#createFeatureContext(String)} for any interaction with the
+ system.
<p>This appears as a child tag of the root {@link #AndroidManifest manifest} tag.
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index dadb92415839..d240c9c18702 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2281,6 +2281,9 @@
movement threshold under which hover is considered "stationary". -->
<dimen name="config_viewConfigurationHoverSlop">4dp</dimen>
+ <!-- Multiplier for gesture thresholds when a MotionEvent classification is ambiguous. -->
+ <item name="config_ambiguousGestureMultiplier" format="float" type="dimen">2.0</item>
+
<!-- Minimum velocity to initiate a fling, as measured in dips per second. -->
<dimen name="config_viewMinFlingVelocity">50dp</dimen>
@@ -3587,7 +3590,6 @@
-->
<string name="config_defaultWellbeingPackage" translatable="false"></string>
-
<!-- The package name for the system telephony apps.
This package must be trusted, as it will be granted with permissions with special telephony
protection level. Note, framework by default support multiple telephony apps, each package
@@ -3655,6 +3657,19 @@
-->
<string name="config_defaultContentSuggestionsService" translatable="false"></string>
+ <!-- The package name for the default retail demo app.
+ This package must be trusted, as it has the permissions to query the usage stats on the
+ device.
+ Example: "com.google.android.retaildemo"
+ -->
+ <string name="config_retailDemoPackage" translatable="false"></string>
+
+ <!-- The package signature hash for the default retail demo app.
+ This package must be trusted, as it has the permissions to query the usage stats on the
+ device.
+ -->
+ <string name="config_retailDemoPackageSignature" translatable="false"></string>
+
<!-- Whether the device uses the default focus highlight when focus state isn't specified. -->
<bool name="config_useDefaultFocusHighlight">true</bool>
@@ -4320,4 +4335,17 @@
<item>4</item> <!-- PROCESS_STATE_FOREGROUND_SERVICE -->
<item>12</item> <!-- PROCESS_STATE_TOP_SLEEPING -->
</integer-array>
+
+ <!-- Component name that accepts ACTION_SEND intents for nearby (proximity-based) sharing.
+ Used by ChooserActivity. -->
+ <string translatable="false" name="config_defaultNearbySharingComponent"></string>
+
+ <!-- Boolean indicating whether frameworks needs to reset cell broadcast geo-fencing
+ check after reboot or airplane mode toggling -->
+ <bool translatable="false" name="reset_geo_fencing_check_after_boot_or_apm">false</bool>
+
+ <!-- Screen Wake Keys
+ Determines whether the specified key groups can be used to wake up the device. -->
+ <bool name="config_wakeOnDpadKeyPress">true</bool>
+ <bool name="config_wakeOnAssistKeyPress">true</bool>
</resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index d437aa1c340c..22abedcac2a7 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -33,9 +33,11 @@
<dimen name="toast_y_offset">24dp</dimen>
<!-- Height of the status bar -->
<dimen name="status_bar_height">@dimen/status_bar_height_portrait</dimen>
- <!-- Height of the status bar in portrait -->
+ <!-- Height of the status bar in portrait. The height should be
+ Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height_portrait">24dp</dimen>
- <!-- Height of the status bar in landscape -->
+ <!-- Height of the status bar in landscape. The height should be
+ Max((status bar content height + waterfall top size), top cutout size) -->
<dimen name="status_bar_height_landscape">@dimen/status_bar_height_portrait</dimen>
<!-- Height of area above QQS where battery/time go -->
<dimen name="quick_qs_offset_height">48dp</dimen>
@@ -774,6 +776,8 @@
<dimen name="resolver_edge_margin">24dp</dimen>
<dimen name="resolver_elevation">1dp</dimen>
+ <dimen name="chooser_action_button_icon_size">18dp</dimen>
+
<!-- Assistant handles -->
<dimen name="assist_handle_shadow_radius">2dp</dimen>
diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml
index ddd9ba43fe09..51ed08b88111 100644
--- a/core/res/res/values/ids.xml
+++ b/core/res/res/values/ids.xml
@@ -194,6 +194,9 @@
<!-- A tag used to save the index where the custom view is stored -->
<item type="id" name="notification_custom_view_index_tag" />
+ <!-- Marks the "copy to clipboard" button in the ChooserActivity -->
+ <item type="id" name="chooser_copy_button" />
+
<!-- Accessibility action identifier for {@link android.accessibilityservice.AccessibilityService#GLOBAL_ACTION_BACK}. -->
<item type="id" name="accessibilitySystemActionBack" />
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index d2384859531c..f47da62654e2 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -66,8 +66,7 @@
<java-symbol type="id" name="content_preview_text_layout" />
<java-symbol type="id" name="content_preview_title" />
<java-symbol type="id" name="content_preview_title_layout" />
- <java-symbol type="id" name="copy_button" />
- <java-symbol type="id" name="file_copy_button" />
+ <java-symbol type="id" name="chooser_action_row" />
<java-symbol type="id" name="current_scene" />
<java-symbol type="id" name="scene_layoutid_cache" />
<java-symbol type="id" name="customPanel" />
@@ -482,6 +481,7 @@
<java-symbol type="dimen" name="config_prefDialogWidth" />
<java-symbol type="dimen" name="config_viewConfigurationTouchSlop" />
<java-symbol type="dimen" name="config_viewConfigurationHoverSlop" />
+ <java-symbol type="dimen" name="config_ambiguousGestureMultiplier" />
<java-symbol type="dimen" name="config_viewMinFlingVelocity" />
<java-symbol type="dimen" name="config_viewMaxFlingVelocity" />
<java-symbol type="dimen" name="config_scrollbarSize" />
@@ -1266,6 +1266,7 @@
<java-symbol type="array" name="vendor_disallowed_apps_managed_profile" />
<java-symbol type="array" name="vendor_disallowed_apps_managed_device" />
<java-symbol type="array" name="cross_profile_apps" />
+ <java-symbol type="array" name="vendor_cross_profile_apps" />
<java-symbol type="drawable" name="default_wallpaper" />
<java-symbol type="drawable" name="default_lock_wallpaper" />
@@ -3026,6 +3027,10 @@
<java-symbol type="id" name="notification_action_list_margin_target" />
<java-symbol type="dimen" name="notification_action_disabled_alpha" />
+ <!-- Override Wake Key Behavior When Screen is Off -->
+ <java-symbol type="bool" name="config_wakeOnDpadKeyPress" />
+ <java-symbol type="bool" name="config_wakeOnAssistKeyPress" />
+
<!-- Pinner Service -->
<java-symbol type="array" name="config_defaultPinnerServiceFiles" />
<java-symbol type="bool" name="config_pinnerCameraApp" />
@@ -3225,7 +3230,6 @@
<java-symbol type="drawable" name="ic_accessibility_magnification" />
<java-symbol type="drawable" name="ic_delete_item" />
- <java-symbol type="drawable" name="ic_open_in_new" />
<!-- com.android.internal.widget.RecyclerView -->
<java-symbol type="id" name="item_touch_helper_previous_elevation"/>
@@ -3395,6 +3399,8 @@
<java-symbol type="string" name="config_defaultAttentionService" />
<java-symbol type="string" name="config_defaultSystemCaptionsService" />
<java-symbol type="string" name="config_defaultSystemCaptionsManagerService" />
+ <java-symbol type="string" name="config_retailDemoPackage" />
+ <java-symbol type="string" name="config_retailDemoPackageSignature" />
<java-symbol type="string" name="notification_channel_foreground_service" />
<java-symbol type="string" name="foreground_service_app_in_background" />
@@ -3782,6 +3788,11 @@
<java-symbol type="string" name="config_factoryResetPackage" />
<java-symbol type="array" name="config_highRefreshRateBlacklist" />
+ <java-symbol type="id" name="chooser_copy_button" />
+ <java-symbol type="layout" name="chooser_action_button" />
+ <java-symbol type="dimen" name="chooser_action_button_icon_size" />
+ <java-symbol type="string" name="config_defaultNearbySharingComponent" />
+
<java-symbol type="bool" name="config_automotiveHideNavBarForKeyboard" />
<java-symbol type="bool" name="config_showBuiltinWirelessChargingAnim" />
diff --git a/core/res/res/values/vendor_cross_profile_apps.xml b/core/res/res/values/vendor_cross_profile_apps.xml
new file mode 100644
index 000000000000..32839cd17e1d
--- /dev/null
+++ b/core/res/res/values/vendor_cross_profile_apps.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<resources>
+ <!--
+ A collection of apps that have been pre-approved for cross-profile communication.
+ These will not require admin consent, but will still require user consent during provisioning.
+ -->
+ <string-array translatable="false" name="vendor_cross_profile_apps">
+ </string-array>
+</resources>
diff --git a/core/tests/PlatformCompatFramework/src/com/android/internal/compat/ChangeReporterTest.java b/core/tests/PlatformCompatFramework/src/com/android/internal/compat/ChangeReporterTest.java
index 09bbe37bf292..a052543c6446 100644
--- a/core/tests/PlatformCompatFramework/src/com/android/internal/compat/ChangeReporterTest.java
+++ b/core/tests/PlatformCompatFramework/src/com/android/internal/compat/ChangeReporterTest.java
@@ -24,10 +24,10 @@ import org.junit.Test;
public class ChangeReporterTest {
@Test
public void testStatsLogOnce() {
- ChangeReporter reporter = new ChangeReporter(0);
+ ChangeReporter reporter = new ChangeReporter(ChangeReporter.SOURCE_UNKNOWN_SOURCE);
int myUid = 1022, otherUid = 1023;
long myChangeId = 500L, otherChangeId = 600L;
- int myState = 1, otherState = 2;
+ int myState = ChangeReporter.STATE_ENABLED, otherState = ChangeReporter.STATE_DISABLED;
assertTrue(reporter.shouldWriteToStatsLog(myUid, myChangeId, myState));
reporter.reportChange(myUid, myChangeId, myState);
@@ -42,10 +42,10 @@ public class ChangeReporterTest {
@Test
public void testStatsLogAfterReset() {
- ChangeReporter reporter = new ChangeReporter(0);
+ ChangeReporter reporter = new ChangeReporter(ChangeReporter.SOURCE_UNKNOWN_SOURCE);
int myUid = 1022;
long myChangeId = 500L;
- int myState = 1;
+ int myState = ChangeReporter.STATE_ENABLED;
assertTrue(reporter.shouldWriteToStatsLog(myUid, myChangeId, myState));
reporter.reportChange(myUid, myChangeId, myState);
@@ -60,10 +60,10 @@ public class ChangeReporterTest {
@Test
public void testDebugLogOnce() {
- ChangeReporter reporter = new ChangeReporter(0);
+ ChangeReporter reporter = new ChangeReporter(ChangeReporter.SOURCE_UNKNOWN_SOURCE);
int myUid = 1022, otherUid = 1023;
long myChangeId = 500L, otherChangeId = 600L;
- int myState = 1, otherState = 2;
+ int myState = ChangeReporter.STATE_ENABLED, otherState = ChangeReporter.STATE_DISABLED;
assertTrue(reporter.shouldWriteToDebug(myUid, myChangeId, myState));
reporter.reportChange(myUid, myChangeId, myState);
@@ -78,10 +78,10 @@ public class ChangeReporterTest {
@Test
public void testDebugLogAfterReset() {
- ChangeReporter reporter = new ChangeReporter(0);
+ ChangeReporter reporter = new ChangeReporter(ChangeReporter.SOURCE_UNKNOWN_SOURCE);
int myUid = 1022;
long myChangeId = 500L;
- int myState = 1;
+ int myState = ChangeReporter.STATE_ENABLED;
assertTrue(reporter.shouldWriteToDebug(myUid, myChangeId, myState));
reporter.reportChange(myUid, myChangeId, myState);
@@ -96,10 +96,10 @@ public class ChangeReporterTest {
@Test
public void testDebugLogWithLogAll() {
- ChangeReporter reporter = new ChangeReporter(0);
+ ChangeReporter reporter = new ChangeReporter(ChangeReporter.SOURCE_UNKNOWN_SOURCE);
int myUid = 1022;
long myChangeId = 500L;
- int myState = 1;
+ int myState = ChangeReporter.STATE_ENABLED;
assertTrue(reporter.shouldWriteToDebug(myUid, myChangeId, myState));
reporter.reportChange(myUid, myChangeId, myState);
diff --git a/core/tests/ResourceLoaderTests/Android.bp b/core/tests/ResourceLoaderTests/Android.bp
index 53db8322f7b8..fec4628106a5 100644
--- a/core/tests/ResourceLoaderTests/Android.bp
+++ b/core/tests/ResourceLoaderTests/Android.bp
@@ -32,15 +32,16 @@ android_test {
"truth-prebuilt",
],
resource_zips: [ ":FrameworksResourceLoaderTestsAssets" ],
+ platform_apis: true,
test_suites: ["device-tests"],
- sdk_version: "test_current",
aaptflags: [
"--no-compress",
],
data: [
- ":FrameworksResourceLoaderTestsOverlay",
":FrameworksResourceLoaderTestsSplitOne",
":FrameworksResourceLoaderTestsSplitTwo",
+ ":FrameworksResourceLoaderTestsSplitThree",
+ ":FrameworksResourceLoaderTestsSplitFour",
],
java_resources: [ "NonAsset.txt" ]
}
diff --git a/core/tests/ResourceLoaderTests/AndroidTest.xml b/core/tests/ResourceLoaderTests/AndroidTest.xml
index 702151d01110..d732132bef02 100644
--- a/core/tests/ResourceLoaderTests/AndroidTest.xml
+++ b/core/tests/ResourceLoaderTests/AndroidTest.xml
@@ -22,13 +22,7 @@
<option name="cleanup-apks" value="true" />
<!-- The following value cannot be multi-line as whitespace is parsed by the installer -->
<option name="split-apk-file-names"
- value="FrameworksResourceLoaderTests.apk,FrameworksResourceLoaderTestsSplitOne.apk,FrameworksResourceLoaderTestsSplitTwo.apk" />
- <option name="test-file-name" value="FrameworksResourceLoaderTestsOverlay.apk" />
- </target_preparer>
-
- <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
- <option name="run-command"
- value="cmd overlay disable android.content.res.loader.test.overlay" />
+ value="FrameworksResourceLoaderTests.apk,FrameworksResourceLoaderTestsSplitOne.apk,FrameworksResourceLoaderTestsSplitTwo.apk,FrameworksResourceLoaderTestsSplitThree.apk,FrameworksResourceLoaderTestsSplitFour.apk" />
</target_preparer>
<test class="com.android.tradefed.testtype.AndroidJUnitTest">
diff --git a/core/tests/ResourceLoaderTests/res/drawable-nodpi/non_asset_bitmap.png b/core/tests/ResourceLoaderTests/res/drawable-nodpi/non_asset_bitmap.png
index efd71ee039e2..8102d1539d53 100644
--- a/core/tests/ResourceLoaderTests/res/drawable-nodpi/non_asset_bitmap.png
+++ b/core/tests/ResourceLoaderTests/res/drawable-nodpi/non_asset_bitmap.png
Binary files differ
diff --git a/core/tests/ResourceLoaderTests/res/layout/layout.xml b/core/tests/ResourceLoaderTests/res/layout/layout.xml
index d59059b453d6..05499ed35e50 100644
--- a/core/tests/ResourceLoaderTests/res/layout/layout.xml
+++ b/core/tests/ResourceLoaderTests/res/layout/layout.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-<FrameLayout
+<MysteryLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
diff --git a/core/tests/ResourceLoaderTests/resources/compileAndLink.sh b/core/tests/ResourceLoaderTests/resources/compileAndLink.sh
index 885f681f4261..8e05aefccd39 100755
--- a/core/tests/ResourceLoaderTests/resources/compileAndLink.sh
+++ b/core/tests/ResourceLoaderTests/resources/compileAndLink.sh
@@ -68,9 +68,13 @@ mkdir -p "$genDir"/temp/res/layout
compileAndLink stringOne BOTH AndroidManifestFramework.xml res/values/string_one.xml
compileAndLink stringTwo BOTH AndroidManifestFramework.xml res/values/string_two.xml
+compileAndLink stringThree BOTH AndroidManifestFramework.xml res/values/string_three.xml
+compileAndLink stringFour BOTH AndroidManifestFramework.xml res/values/string_four.xml
compileAndLink dimenOne BOTH AndroidManifestFramework.xml res/values/dimen_one.xml
compileAndLink dimenTwo BOTH AndroidManifestFramework.xml res/values/dimen_two.xml
+compileAndLink dimenThree BOTH AndroidManifestFramework.xml res/values/dimen_three.xml
+compileAndLink dimenFour BOTH AndroidManifestFramework.xml res/values/dimen_four.xml
compileAndLink drawableMdpiWithoutFile BOTH_WITHOUT_FILE AndroidManifestFramework.xml res/values/drawable_one.xml res/drawable-mdpi/ic_delete.png
compileAndLink drawableMdpiWithFile APK AndroidManifestFramework.xml res/values/drawable_one.xml res/drawable-mdpi/ic_delete.png
@@ -86,6 +90,14 @@ cp -f "$inDir"/res/layout/layout_two.xml "$genDir"/temp/res/layout/layout.xml
compileAndLink layoutTwo ARSC AndroidManifestApp.xml "$genDir"/temp/res/layout/layout.xml res/values/layout_id.xml
cp -f "$genDir"/out/layoutTwo/unzip/res/layout/layout.xml "$genDir"/output/raw/layoutTwo.xml
+cp -f "$inDir"/res/layout/layout_three.xml "$genDir"/temp/res/layout/layout.xml
+compileAndLink layoutThree ARSC AndroidManifestApp.xml "$genDir"/temp/res/layout/layout.xml res/values/layout_id.xml
+cp -f "$genDir"/out/layoutThree/unzip/res/layout/layout.xml "$genDir"/output/raw/layoutThree.xml
+
+cp -f "$inDir"/res/layout/layout_four.xml "$genDir"/temp/res/layout/layout.xml
+compileAndLink layoutFour ARSC AndroidManifestApp.xml "$genDir"/temp/res/layout/layout.xml res/values/layout_id.xml
+cp -f "$genDir"/out/layoutFour/unzip/res/layout/layout.xml "$genDir"/output/raw/layoutFour.xml
+
drawableNoDpi="/res/drawable-nodpi"
inDirDrawableNoDpi="$inDir$drawableNoDpi"
@@ -97,6 +109,18 @@ cp -f "$inDirDrawableNoDpi"/nonAssetDrawableTwo.xml "$genDir"/temp/res/drawable-
compileAndLink nonAssetDrawableTwo ARSC AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_drawable.xml res/values/non_asset_drawable_id.xml
cp -f "$genDir"/out/nonAssetDrawableTwo/unzip/res/drawable-nodpi-v4/non_asset_drawable.xml "$genDir"/output/raw/nonAssetDrawableTwo.xml
+cp -f "$inDirDrawableNoDpi"/nonAssetDrawableThree.xml "$genDir"/temp/res/drawable-nodpi/non_asset_drawable.xml
+compileAndLink nonAssetDrawableThree ARSC AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_drawable.xml res/values/non_asset_drawable_id.xml
+cp -f "$genDir"/out/nonAssetDrawableThree/unzip/res/drawable-nodpi-v4/non_asset_drawable.xml "$genDir"/output/raw/nonAssetDrawableThree.xml
+
+cp -f "$inDirDrawableNoDpi"/nonAssetDrawableFour.xml "$genDir"/temp/res/drawable-nodpi/non_asset_drawable.xml
+compileAndLink nonAssetDrawableFour ARSC AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_drawable.xml res/values/non_asset_drawable_id.xml
+cp -f "$genDir"/out/nonAssetDrawableFour/unzip/res/drawable-nodpi-v4/non_asset_drawable.xml "$genDir"/output/raw/nonAssetDrawableFour.xml
+
+cp -f "$inDirDrawableNoDpi"/nonAssetBitmapRed.png "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png
+compileAndLink nonAssetBitmapRed BOTH AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png res/values/non_asset_bitmap_id.xml
+cp -f "$genDir"/out/nonAssetBitmapRed/unzip/res/drawable-nodpi-v4/non_asset_bitmap.png "$genDir"/output/raw/nonAssetBitmapRed.png
+
cp -f "$inDirDrawableNoDpi"/nonAssetBitmapGreen.png "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png
compileAndLink nonAssetBitmapGreen BOTH AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png res/values/non_asset_bitmap_id.xml
cp -f "$genDir"/out/nonAssetBitmapGreen/unzip/res/drawable-nodpi-v4/non_asset_bitmap.png "$genDir"/output/raw/nonAssetBitmapGreen.png
@@ -105,4 +129,8 @@ cp -f "$inDirDrawableNoDpi"/nonAssetBitmapBlue.png "$genDir"/temp/res/drawable-n
compileAndLink nonAssetBitmapBlue ARSC AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png res/values/non_asset_bitmap_id.xml
cp -f "$genDir"/out/nonAssetBitmapBlue/unzip/res/drawable-nodpi-v4/non_asset_bitmap.png "$genDir"/output/raw/nonAssetBitmapBlue.png
+cp -f "$inDirDrawableNoDpi"/nonAssetBitmapWhite.png "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png
+compileAndLink nonAssetBitmapWhite ARSC AndroidManifestApp.xml "$genDir"/temp/res/drawable-nodpi/non_asset_bitmap.png res/values/non_asset_bitmap_id.xml
+cp -f "$genDir"/out/nonAssetBitmapWhite/unzip/res/drawable-nodpi-v4/non_asset_bitmap.png "$genDir"/output/raw/nonAssetBitmapWhite.png
+
$soong_zip -o "$genDir"/out.zip -C "$genDir"/output/ -D "$genDir"/output/
diff --git a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapRed.png b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapRed.png
new file mode 100644
index 000000000000..4eb8ca3537ea
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapRed.png
Binary files differ
diff --git a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapWhite.png b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapWhite.png
new file mode 100644
index 000000000000..e9a4cfcef316
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetBitmapWhite.png
Binary files differ
diff --git a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableFour.xml b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableFour.xml
new file mode 100644
index 000000000000..0623245c6152
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableFour.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<color
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="#000004"
+ />
diff --git a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableOne.xml b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableOne.xml
index f1a93d2d2f21..57a8cf1b86de 100644
--- a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableOne.xml
+++ b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableOne.xml
@@ -17,5 +17,5 @@
<color
xmlns:android="http://schemas.android.com/apk/res/android"
- android:color="#A3C3E3"
+ android:color="#000001"
/>
diff --git a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableThree.xml b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableThree.xml
new file mode 100644
index 000000000000..41095d4a158b
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableThree.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<color
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="#000003"
+ />
diff --git a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableTwo.xml b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableTwo.xml
index 7c455a57fb0b..333fe346998c 100644
--- a/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableTwo.xml
+++ b/core/tests/ResourceLoaderTests/resources/res/drawable-nodpi/nonAssetDrawableTwo.xml
@@ -17,5 +17,5 @@
<color
xmlns:android="http://schemas.android.com/apk/res/android"
- android:color="#3A3C3E"
+ android:color="#000002"
/>
diff --git a/core/tests/ResourceLoaderTests/resources/res/layout/layout_four.xml b/core/tests/ResourceLoaderTests/resources/res/layout/layout_four.xml
new file mode 100644
index 000000000000..ab9e26529fe7
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/layout/layout_four.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<TableLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ />
+
diff --git a/core/tests/ResourceLoaderTests/resources/res/layout/layout_three.xml b/core/tests/ResourceLoaderTests/resources/res/layout/layout_three.xml
new file mode 100644
index 000000000000..d58d3db12ad4
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/layout/layout_three.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ />
+
diff --git a/core/tests/ResourceLoaderTests/overlay/res/values/strings.xml b/core/tests/ResourceLoaderTests/resources/res/values/dimen_four.xml
index 348bb353611a..5b30eba5953b 100644
--- a/core/tests/ResourceLoaderTests/overlay/res/values/strings.xml
+++ b/core/tests/ResourceLoaderTests/resources/res/values/dimen_four.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2019 The Android Open Source Project
+ ~ Copyright (C) 2020 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
-->
<resources>
-
- <string name="loader_path_change_test">Overlaid</string>
-
+ <public type="dimen" name="app_icon_size" id="0x01050000" />
+ <dimen name="app_icon_size">400dp</dimen>
</resources>
diff --git a/core/tests/ResourceLoaderTests/resources/res/values/dimen_one.xml b/core/tests/ResourceLoaderTests/resources/res/values/dimen_one.xml
index 69ecf2316284..b17ec1c66717 100644
--- a/core/tests/ResourceLoaderTests/resources/res/values/dimen_one.xml
+++ b/core/tests/ResourceLoaderTests/resources/res/values/dimen_one.xml
@@ -17,5 +17,5 @@
<resources>
<public type="dimen" name="app_icon_size" id="0x01050000" />
- <dimen name="app_icon_size">564716dp</dimen>
+ <dimen name="app_icon_size">100dp</dimen>
</resources>
diff --git a/core/tests/ResourceLoaderTests/resources/res/values/dimen_three.xml b/core/tests/ResourceLoaderTests/resources/res/values/dimen_three.xml
new file mode 100644
index 000000000000..07a35cedd886
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/values/dimen_three.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources>
+ <public type="dimen" name="app_icon_size" id="0x01050000" />
+ <dimen name="app_icon_size">300dp</dimen>
+</resources>
diff --git a/core/tests/ResourceLoaderTests/resources/res/values/dimen_two.xml b/core/tests/ResourceLoaderTests/resources/res/values/dimen_two.xml
index 4d55deffbd2a..570b40aa7a7a 100644
--- a/core/tests/ResourceLoaderTests/resources/res/values/dimen_two.xml
+++ b/core/tests/ResourceLoaderTests/resources/res/values/dimen_two.xml
@@ -17,5 +17,5 @@
<resources>
<public type="dimen" name="app_icon_size" id="0x01050000" />
- <dimen name="app_icon_size">565717dp</dimen>
+ <dimen name="app_icon_size">200dp</dimen>
</resources>
diff --git a/core/tests/ResourceLoaderTests/resources/res/values/string_four.xml b/core/tests/ResourceLoaderTests/resources/res/values/string_four.xml
new file mode 100644
index 000000000000..8789bcdb066c
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/values/string_four.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources>
+ <public type="string" name="cancel" id="0x01040000" />
+ <string name="cancel">SomeRidiculouslyUnlikelyStringFour</string>
+</resources>
diff --git a/core/tests/ResourceLoaderTests/resources/res/values/string_three.xml b/core/tests/ResourceLoaderTests/resources/res/values/string_three.xml
new file mode 100644
index 000000000000..82cd6ec7270f
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/resources/res/values/string_three.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources>
+ <public type="string" name="cancel" id="0x01040000" />
+ <string name="cancel">SomeRidiculouslyUnlikelyStringThree</string>
+</resources>
diff --git a/core/tests/ResourceLoaderTests/overlay/Android.bp b/core/tests/ResourceLoaderTests/splits/SplitFour/Android.bp
index 63e7e61d797a..eb4d8e1ac7f2 100644
--- a/core/tests/ResourceLoaderTests/overlay/Android.bp
+++ b/core/tests/ResourceLoaderTests/splits/SplitFour/Android.bp
@@ -1,4 +1,5 @@
-// Copyright (C) 2018 The Android Open Source Project
+//
+// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,10 +12,8 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
+//
-android_test {
- name: "FrameworksResourceLoaderTestsOverlay",
- sdk_version: "current",
-
- aaptflags: ["--no-resource-removal"],
+android_test_helper_app {
+ name: "FrameworksResourceLoaderTestsSplitFour"
}
diff --git a/core/tests/ResourceLoaderTests/overlay/AndroidManifest.xml b/core/tests/ResourceLoaderTests/splits/SplitFour/AndroidManifest.xml
index 942f7da9aa27..24a0a2a64afb 100644
--- a/core/tests/ResourceLoaderTests/overlay/AndroidManifest.xml
+++ b/core/tests/ResourceLoaderTests/splits/SplitFour/AndroidManifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- ~ Copyright (C) 2019 The Android Open Source Project
+ ~ Copyright (C) 2020 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
@@ -17,11 +17,11 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
- package="android.content.res.loader.test.overlay"
+ package="android.content.res.loader.test"
+ split="split_four"
>
+ <uses-sdk android:minSdkVersion="1" android:targetSdkVersion="1" />
<application android:hasCode="false" />
- <overlay android:targetPackage="android.content.res.loader.test" />
-
</manifest>
diff --git a/core/tests/ResourceLoaderTests/splits/SplitFour/res/values/string_split.xml b/core/tests/ResourceLoaderTests/splits/SplitFour/res/values/string_split.xml
new file mode 100644
index 000000000000..4759db978dcb
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/splits/SplitFour/res/values/string_split.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources>
+ <public type="string" name="split_overlaid" id="0x7f040001" />
+ <string name="split_overlaid">Split FOUR Overlaid</string>
+</resources>
diff --git a/core/tests/ResourceLoaderTests/SplitOne/Android.bp b/core/tests/ResourceLoaderTests/splits/SplitOne/Android.bp
index 897897fbf254..897897fbf254 100644
--- a/core/tests/ResourceLoaderTests/SplitOne/Android.bp
+++ b/core/tests/ResourceLoaderTests/splits/SplitOne/Android.bp
diff --git a/core/tests/ResourceLoaderTests/SplitOne/AndroidManifest.xml b/core/tests/ResourceLoaderTests/splits/SplitOne/AndroidManifest.xml
index b14bd8600f31..b14bd8600f31 100644
--- a/core/tests/ResourceLoaderTests/SplitOne/AndroidManifest.xml
+++ b/core/tests/ResourceLoaderTests/splits/SplitOne/AndroidManifest.xml
diff --git a/core/tests/ResourceLoaderTests/SplitOne/res/values/string_split_one.xml b/core/tests/ResourceLoaderTests/splits/SplitOne/res/values/string_split.xml
index 3c215ebc287c..3c215ebc287c 100644
--- a/core/tests/ResourceLoaderTests/SplitOne/res/values/string_split_one.xml
+++ b/core/tests/ResourceLoaderTests/splits/SplitOne/res/values/string_split.xml
diff --git a/core/tests/ResourceLoaderTests/splits/SplitThree/Android.bp b/core/tests/ResourceLoaderTests/splits/SplitThree/Android.bp
new file mode 100644
index 000000000000..bf98a740cd88
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/splits/SplitThree/Android.bp
@@ -0,0 +1,19 @@
+//
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test_helper_app {
+ name: "FrameworksResourceLoaderTestsSplitThree"
+}
diff --git a/core/tests/ResourceLoaderTests/splits/SplitThree/AndroidManifest.xml b/core/tests/ResourceLoaderTests/splits/SplitThree/AndroidManifest.xml
new file mode 100644
index 000000000000..ae1579b178f3
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/splits/SplitThree/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ package="android.content.res.loader.test"
+ split="split_three"
+ >
+
+ <uses-sdk android:minSdkVersion="1" android:targetSdkVersion="1" />
+ <application android:hasCode="false" />
+
+</manifest>
diff --git a/core/tests/ResourceLoaderTests/splits/SplitThree/res/values/string_spli.xml b/core/tests/ResourceLoaderTests/splits/SplitThree/res/values/string_spli.xml
new file mode 100644
index 000000000000..97682aa1b5cf
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/splits/SplitThree/res/values/string_spli.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources>
+ <public type="string" name="split_overlaid" id="0x7f040001" />
+ <string name="split_overlaid">Split THREE Overlaid</string>
+</resources>
diff --git a/core/tests/ResourceLoaderTests/splits/Android.bp b/core/tests/ResourceLoaderTests/splits/SplitTwo/Android.bp
index 4582808934df..4582808934df 100644
--- a/core/tests/ResourceLoaderTests/splits/Android.bp
+++ b/core/tests/ResourceLoaderTests/splits/SplitTwo/Android.bp
diff --git a/core/tests/ResourceLoaderTests/splits/AndroidManifest.xml b/core/tests/ResourceLoaderTests/splits/SplitTwo/AndroidManifest.xml
index aad8c27a1a3b..aad8c27a1a3b 100644
--- a/core/tests/ResourceLoaderTests/splits/AndroidManifest.xml
+++ b/core/tests/ResourceLoaderTests/splits/SplitTwo/AndroidManifest.xml
diff --git a/core/tests/ResourceLoaderTests/splits/res/values/string_split_two.xml b/core/tests/ResourceLoaderTests/splits/SplitTwo/res/values/string_split.xml
index a367063dd43e..a367063dd43e 100644
--- a/core/tests/ResourceLoaderTests/splits/res/values/string_split_two.xml
+++ b/core/tests/ResourceLoaderTests/splits/SplitTwo/res/values/string_split.xml
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/DirectoryResourceLoaderTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/DirectoryAssetsProviderTest.kt
index b1bdc967e68f..9e94bdc8a081 100644
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/DirectoryResourceLoaderTest.kt
+++ b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/DirectoryAssetsProviderTest.kt
@@ -16,8 +16,9 @@
package android.content.res.loader.test
-import android.content.res.loader.DirectoryResourceLoader
-import android.content.res.loader.ResourceLoader
+import android.content.res.loader.AssetsProvider
+import android.content.res.loader.DirectoryAssetsProvider
+import android.content.res.loader.ResourcesLoader
import android.graphics.Color
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.ColorDrawable
@@ -29,18 +30,21 @@ import org.junit.Test
import org.junit.rules.TestName
import java.io.File
-class DirectoryResourceLoaderTest : ResourceLoaderTestBase() {
+class DirectoryAssetsProviderTest : ResourceLoaderTestBase() {
@get:Rule
val testName = TestName()
private lateinit var testDir: File
- private lateinit var loader: ResourceLoader
+ private lateinit var assetsProvider: AssetsProvider
+ private lateinit var loader: ResourcesLoader
@Before
fun setUpTestDir() {
- testDir = context.filesDir.resolve("DirectoryResourceLoaderTest_${testName.methodName}")
- loader = DirectoryResourceLoader(testDir)
+ testDir = context.filesDir.resolve("DirectoryAssetsProvider_${testName.methodName}")
+ assetsProvider = DirectoryAssetsProvider(testDir)
+ loader = ResourcesLoader()
+ resources.addLoader(loader)
}
@After
@@ -51,29 +55,29 @@ class DirectoryResourceLoaderTest : ResourceLoaderTestBase() {
@Test
fun loadDrawableXml() {
"nonAssetDrawableOne" writeTo "res/drawable-nodpi-v4/non_asset_drawable.xml"
- val provider = openArsc("nonAssetDrawableOne")
+ val provider = openArsc("nonAssetDrawableOne", assetsProvider)
fun getValue() = (resources.getDrawable(R.drawable.non_asset_drawable) as ColorDrawable)
.color
assertThat(getValue()).isEqualTo(Color.parseColor("#B2D2F2"))
- addLoader(loader to provider)
+ loader.addProvider(provider)
- assertThat(getValue()).isEqualTo(Color.parseColor("#A3C3E3"))
+ assertThat(getValue()).isEqualTo(Color.parseColor("#000001"))
}
@Test
fun loadDrawableBitmap() {
"nonAssetBitmapGreen" writeTo "res/drawable-nodpi-v4/non_asset_bitmap.png"
- val provider = openArsc("nonAssetBitmapGreen")
+ val provider = openArsc("nonAssetBitmapGreen", assetsProvider)
fun getValue() = (resources.getDrawable(R.drawable.non_asset_bitmap) as BitmapDrawable)
.bitmap.getColor(0, 0).toArgb()
- assertThat(getValue()).isEqualTo(Color.RED)
+ assertThat(getValue()).isEqualTo(Color.MAGENTA)
- addLoader(loader to provider)
+ loader.addProvider(provider)
assertThat(getValue()).isEqualTo(Color.GREEN)
}
@@ -81,13 +85,13 @@ class DirectoryResourceLoaderTest : ResourceLoaderTestBase() {
@Test
fun loadXml() {
"layoutOne" writeTo "res/layout/layout.xml"
- val provider = openArsc("layoutOne")
+ val provider = openArsc("layoutOne", assetsProvider)
fun getValue() = resources.getLayout(R.layout.layout).advanceToRoot().name
- assertThat(getValue()).isEqualTo("FrameLayout")
+ assertThat(getValue()).isEqualTo("MysteryLayout")
- addLoader(loader to provider)
+ loader.addProvider(provider)
assertThat(getValue()).isEqualTo("RelativeLayout")
}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetTest.kt
deleted file mode 100644
index a6a83789c082..000000000000
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetTest.kt
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.content.res.loader.test
-
-import android.content.res.AssetManager
-import android.content.res.loader.DirectoryResourceLoader
-import android.content.res.loader.ResourceLoader
-import android.content.res.loader.ResourcesProvider
-import com.google.common.truth.Truth.assertThat
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TestName
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
-import org.mockito.Mockito.anyInt
-import org.mockito.Mockito.anyString
-import org.mockito.Mockito.doAnswer
-import org.mockito.Mockito.doReturn
-import org.mockito.Mockito.eq
-import org.mockito.Mockito.inOrder
-import org.mockito.Mockito.mock
-import java.io.File
-import java.io.FileNotFoundException
-import java.io.IOException
-import java.nio.file.Paths
-
-@RunWith(Parameterized::class)
-class ResourceLoaderAssetTest : ResourceLoaderTestBase() {
-
- companion object {
- private const val BASE_TEST_PATH = "android/content/res/loader/test/file.txt"
- private const val TEST_TEXT = "some text"
-
- @JvmStatic
- @Parameterized.Parameters(name = "{0}")
- fun parameters(): Array<Array<out Any?>> {
- val fromInputStream: ResourceLoader.(String) -> Any? = {
- loadAsset(eq(it), anyInt())
- }
-
- val fromFileDescriptor: ResourceLoader.(String) -> Any? = {
- loadAssetFd(eq(it))
- }
-
- val openAsset: AssetManager.() -> String? = {
- open(BASE_TEST_PATH).reader().readText()
- }
-
- val openNonAsset: AssetManager.() -> String? = {
- openNonAssetFd(BASE_TEST_PATH).readText()
- }
-
- return arrayOf(
- arrayOf("assets", fromInputStream, openAsset),
- arrayOf("", fromFileDescriptor, openNonAsset)
- )
- }
- }
-
- @get:Rule
- val testName = TestName()
-
- @JvmField
- @field:Parameterized.Parameter(0)
- var prefix: String? = null
-
- @field:Parameterized.Parameter(1)
- lateinit var loadAssetFunction: ResourceLoader.(String) -> Any?
-
- @field:Parameterized.Parameter(2)
- lateinit var openAssetFunction: AssetManager.() -> String?
-
- private val testPath: String
- get() = Paths.get(prefix.orEmpty(), BASE_TEST_PATH).toString()
-
- private fun ResourceLoader.loadAsset() = loadAssetFunction(testPath)
-
- private fun AssetManager.openAsset() = openAssetFunction()
-
- private lateinit var testDir: File
-
- @Before
- fun setUpTestDir() {
- testDir = context.filesDir.resolve("DirectoryResourceLoaderTest_${testName.methodName}")
- testDir.resolve(testPath).apply { parentFile!!.mkdirs() }.writeText(TEST_TEXT)
- }
-
- @Test
- fun multipleLoadersSearchesBackwards() {
- // DirectoryResourceLoader relies on a private field and can't be spied directly, so wrap it
- val loader = DirectoryResourceLoader(testDir)
- val loaderWrapper = mock(ResourceLoader::class.java).apply {
- doAnswer { loader.loadAsset(it.arguments[0] as String, it.arguments[1] as Int) }
- .`when`(this).loadAsset(anyString(), anyInt())
- doAnswer { loader.loadAssetFd(it.arguments[0] as String) }
- .`when`(this).loadAssetFd(anyString())
- }
-
- val one = loaderWrapper to ResourcesProvider.empty()
- val two = mockLoader {
- doReturn(null).`when`(it).loadAsset()
- }
-
- addLoader(one, two)
-
- assertOpenedAsset()
- inOrder(two.first, one.first).apply {
- verify(two.first).loadAsset()
- verify(one.first).loadAsset()
- }
- }
-
- @Test(expected = FileNotFoundException::class)
- fun failToFindThrowsFileNotFound() {
- val one = mockLoader {
- doReturn(null).`when`(it).loadAsset()
- }
- val two = mockLoader {
- doReturn(null).`when`(it).loadAsset()
- }
-
- addLoader(one, two)
-
- assertOpenedAsset()
- }
-
- @Test
- fun throwingIOExceptionIsSkipped() {
- val one = DirectoryResourceLoader(testDir) to ResourcesProvider.empty()
- val two = mockLoader {
- doAnswer { throw IOException() }.`when`(it).loadAsset()
- }
-
- addLoader(one, two)
-
- assertOpenedAsset()
- }
-
- @Test(expected = IllegalStateException::class)
- fun throwingNonIOExceptionCausesFailure() {
- val one = DirectoryResourceLoader(testDir) to ResourcesProvider.empty()
- val two = mockLoader {
- doAnswer { throw IllegalStateException() }.`when`(it).loadAsset()
- }
-
- addLoader(one, two)
-
- assertOpenedAsset()
- }
-
- private fun assertOpenedAsset() {
- assertThat(resources.assets.openAsset()).isEqualTo(TEST_TEXT)
- }
-}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetsTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetsTest.kt
new file mode 100644
index 000000000000..e3ba93d64b0f
--- /dev/null
+++ b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderAssetsTest.kt
@@ -0,0 +1,220 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content.res.loader.test
+
+import android.content.res.AssetManager
+import android.content.res.loader.AssetsProvider
+import android.content.res.loader.DirectoryAssetsProvider
+import android.content.res.loader.ResourcesLoader
+import android.content.res.loader.ResourcesProvider
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.rules.TestName
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+import org.mockito.Mockito.anyInt
+import org.mockito.Mockito.anyString
+import org.mockito.Mockito.doAnswer
+import org.mockito.Mockito.doReturn
+import org.mockito.Mockito.eq
+import org.mockito.Mockito.inOrder
+import org.mockito.Mockito.mock
+import java.io.File
+import java.io.FileNotFoundException
+import java.io.IOException
+import java.nio.file.Paths
+
+@RunWith(Parameterized::class)
+class ResourceLoaderAssetsTest : ResourceLoaderTestBase() {
+
+ companion object {
+ private const val BASE_TEST_PATH = "android/content/res/loader/test/file.txt"
+ private const val TEST_TEXT = "some text"
+
+ @JvmStatic
+ @Parameterized.Parameters(name = "{0}")
+ fun parameters(): Array<Array<out Any?>> {
+ val fromInputStream: AssetsProvider.(String) -> Any? = {
+ loadAsset(eq(it), anyInt())
+ }
+
+ val fromFileDescriptor: AssetsProvider.(String) -> Any? = {
+ loadAssetParcelFd(eq(it))
+ }
+
+ val openAsset: AssetManager.() -> String? = {
+ open(BASE_TEST_PATH).reader().readText()
+ }
+
+ val openNonAsset: AssetManager.() -> String? = {
+ openNonAssetFd(BASE_TEST_PATH).readText()
+ }
+
+ return arrayOf(
+ arrayOf("assets", fromInputStream, openAsset),
+ arrayOf("", fromFileDescriptor, openNonAsset)
+ )
+ }
+ }
+
+ @get:Rule
+ val testName = TestName()
+
+ @JvmField
+ @field:Parameterized.Parameter(0)
+ var prefix: String? = null
+
+ @field:Parameterized.Parameter(1)
+ lateinit var loadAssetFunction: AssetsProvider.(String) -> Any?
+
+ @field:Parameterized.Parameter(2)
+ lateinit var openAssetFunction: AssetManager.() -> String?
+
+ private val testPath: String
+ get() = Paths.get(prefix.orEmpty(), BASE_TEST_PATH).toString()
+
+ private fun AssetsProvider.loadAsset() = loadAssetFunction(testPath)
+
+ private fun AssetManager.openAsset() = openAssetFunction()
+
+ private lateinit var testDir: File
+
+ @Before
+ fun setUpTestDir() {
+ testDir = context.filesDir.resolve("DirectoryAssetsProvider_${testName.methodName}")
+ testDir.resolve(testPath).apply { parentFile!!.mkdirs() }.writeText(TEST_TEXT)
+ }
+
+ @Test
+ fun multipleProvidersSearchesBackwards() {
+ // DirectoryResourceLoader relies on a private field and can't be spied directly, so wrap it
+ val assetsProvider = DirectoryAssetsProvider(testDir)
+ val assetProviderWrapper = mock(AssetsProvider::class.java).apply {
+ doAnswer { assetsProvider.loadAsset(it.arguments[0] as String, it.arguments[1] as Int) }
+ .`when`(this).loadAsset(anyString(), anyInt())
+ doAnswer { assetsProvider.loadAssetParcelFd(it.arguments[0] as String) }
+ .`when`(this).loadAssetParcelFd(anyString())
+ }
+
+ val one = ResourcesProvider.empty(assetProviderWrapper)
+ val two = mockProvider {
+ doReturn(null).`when`(it).loadAsset()
+ }
+
+ val loader = ResourcesLoader()
+ loader.providers = listOf(one, two)
+ resources.addLoader(loader)
+
+ assertOpenedAsset()
+ inOrder(two.assetsProvider, one.assetsProvider).apply {
+ verify(two.assetsProvider)?.loadAsset()
+ verify(one.assetsProvider)?.loadAsset()
+ }
+ }
+
+ @Test
+ fun multipleLoadersSearchesBackwards() {
+ // DirectoryResourceLoader relies on a private field and can't be spied directly, so wrap it
+ val assetsProvider = DirectoryAssetsProvider(testDir)
+ val assetProviderWrapper = mock(AssetsProvider::class.java).apply {
+ doAnswer { assetsProvider.loadAsset(it.arguments[0] as String, it.arguments[1] as Int) }
+ .`when`(this).loadAsset(anyString(), anyInt())
+ doAnswer { assetsProvider.loadAssetParcelFd(it.arguments[0] as String) }
+ .`when`(this).loadAssetParcelFd(anyString())
+ }
+
+ val one = ResourcesProvider.empty(assetProviderWrapper)
+ val two = mockProvider {
+ doReturn(null).`when`(it).loadAsset()
+ }
+
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(one)
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(two)
+
+ resources.loaders = listOf(loader1, loader2)
+
+ assertOpenedAsset()
+ inOrder(two.assetsProvider, one.assetsProvider).apply {
+ verify(two.assetsProvider)?.loadAsset()
+ verify(one.assetsProvider)?.loadAsset()
+ }
+ }
+
+ @Test(expected = FileNotFoundException::class)
+ fun failToFindThrowsFileNotFound() {
+ val assetsProvider1 = mock(AssetsProvider::class.java).apply {
+ doReturn(null).`when`(this).loadAsset()
+ }
+ val assetsProvider2 = mock(AssetsProvider::class.java).apply {
+ doReturn(null).`when`(this).loadAsset()
+ }
+
+ val loader = ResourcesLoader()
+ val one = ResourcesProvider.empty(assetsProvider1)
+ val two = ResourcesProvider.empty(assetsProvider2)
+ resources.addLoader(loader)
+ loader.providers = listOf(one, two)
+
+ assertOpenedAsset()
+ }
+
+ @Test
+ fun throwingIOExceptionIsSkipped() {
+ val assetsProvider1 = DirectoryAssetsProvider(testDir)
+ val assetsProvider2 = mock(AssetsProvider::class.java).apply {
+ doAnswer { throw IOException() }.`when`(this).loadAsset()
+ }
+
+ val loader = ResourcesLoader()
+ val one = ResourcesProvider.empty(assetsProvider1)
+ val two = ResourcesProvider.empty(assetsProvider2)
+ resources.addLoader(loader)
+ loader.providers = listOf(one, two)
+
+ assertOpenedAsset()
+ }
+
+ @Test(expected = IllegalStateException::class)
+ fun throwingNonIOExceptionCausesFailure() {
+ val assetsProvider1 = DirectoryAssetsProvider(testDir)
+ val assetsProvider2 = mock(AssetsProvider::class.java).apply {
+ doAnswer { throw IllegalStateException() }.`when`(this).loadAsset()
+ }
+
+ val loader = ResourcesLoader()
+ val one = ResourcesProvider.empty(assetsProvider1)
+ val two = ResourcesProvider.empty(assetsProvider2)
+ resources.addLoader(loader)
+ loader.providers = listOf(one, two)
+
+ assertOpenedAsset()
+ }
+
+ private fun mockProvider(block: (AssetsProvider) -> Unit = {}): ResourcesProvider {
+ return ResourcesProvider.empty(mock(AssetsProvider::class.java).apply {
+ block.invoke(this)
+ })
+ }
+
+ private fun assertOpenedAsset() {
+ assertThat(resources.assets.openAsset()).isEqualTo(TEST_TEXT)
+ }
+}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt
deleted file mode 100644
index 0c3d34e686dd..000000000000
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.content.res.loader.test
-
-import android.app.Activity
-import android.app.Instrumentation
-import android.app.UiAutomation
-import android.content.res.Configuration
-import android.content.res.Resources
-import android.graphics.Color
-import android.os.Bundle
-import android.os.ParcelFileDescriptor
-import android.widget.FrameLayout
-import androidx.test.InstrumentationRegistry
-import androidx.test.rule.ActivityTestRule
-import androidx.test.runner.lifecycle.ActivityLifecycleMonitorRegistry
-import androidx.test.runner.lifecycle.Stage
-import com.google.common.truth.Truth.assertThat
-import org.junit.After
-import org.junit.Before
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
-import java.util.Arrays
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.Executor
-import java.util.concurrent.FutureTask
-import java.util.concurrent.TimeUnit
-
-@RunWith(Parameterized::class)
-class ResourceLoaderChangesTest : ResourceLoaderTestBase() {
-
- companion object {
- private const val TIMEOUT = 30L
- private const val OVERLAY_PACKAGE = "android.content.res.loader.test.overlay"
-
- @JvmStatic
- @Parameterized.Parameters(name = "{0}")
- fun data() = arrayOf(DataType.APK, DataType.ARSC)
- }
-
- @field:Parameterized.Parameter(0)
- override lateinit var dataType: DataType
-
- @get:Rule
- val activityRule: ActivityTestRule<TestActivity> =
- ActivityTestRule<TestActivity>(TestActivity::class.java, false, true)
-
- // Redirect to the Activity's resources
- override val resources: Resources
- get() = activityRule.getActivity().resources
-
- private val activity: TestActivity
- get() = activityRule.getActivity()
-
- private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
-
- @Before
- @After
- fun disableOverlay() {
- enableOverlay(OVERLAY_PACKAGE, false)
- }
-
- @Test
- fun activityRecreate() = verifySameBeforeAndAfter {
- val oldActivity = activity
- var newActivity: Activity? = null
- instrumentation.runOnMainSync { oldActivity.recreate() }
- instrumentation.waitForIdleSync()
- instrumentation.runOnMainSync {
- newActivity = ActivityLifecycleMonitorRegistry.getInstance()
- .getActivitiesInStage(Stage.RESUMED)
- .single()
- }
-
- assertThat(newActivity).isNotNull()
- assertThat(newActivity).isNotSameAs(oldActivity)
-
- // Return the new resources to assert on
- return@verifySameBeforeAndAfter newActivity!!.resources
- }
-
- @Test
- fun activityHandledOrientationChange() = verifySameBeforeAndAfter {
- val latch = CountDownLatch(1)
- val oldConfig = Configuration().apply { setTo(resources.configuration) }
- var changedConfig: Configuration? = null
-
- activity.callback = object : TestActivity.Callback {
- override fun onConfigurationChanged(newConfig: Configuration) {
- changedConfig = newConfig
- latch.countDown()
- }
- }
-
- val isPortrait = resources.displayMetrics.run { widthPixels < heightPixels }
- val newRotation = if (isPortrait) {
- UiAutomation.ROTATION_FREEZE_90
- } else {
- UiAutomation.ROTATION_FREEZE_0
- }
-
- instrumentation.uiAutomation.setRotation(newRotation)
-
- assertThat(latch.await(TIMEOUT, TimeUnit.SECONDS)).isTrue()
- assertThat(changedConfig).isNotEqualTo(oldConfig)
- return@verifySameBeforeAndAfter activity.resources
- }
-
- @Test
- fun enableOverlayCausingPathChange() = verifySameBeforeAndAfter {
- assertThat(getString(R.string.loader_path_change_test)).isEqualTo("Not overlaid")
-
- enableOverlay(OVERLAY_PACKAGE, true)
-
- assertThat(getString(R.string.loader_path_change_test)).isEqualTo("Overlaid")
-
- return@verifySameBeforeAndAfter activity.resources
- }
-
- @Test
- fun enableOverlayChildContextUnaffected() {
- val childContext = activity.createConfigurationContext(Configuration())
- val childResources = childContext.resources
- val originalValue = childResources.getString(android.R.string.cancel)
- assertThat(childResources.getString(R.string.loader_path_change_test))
- .isEqualTo("Not overlaid")
-
- verifySameBeforeAndAfter {
- enableOverlay(OVERLAY_PACKAGE, true)
- return@verifySameBeforeAndAfter activity.resources
- }
-
- // Loader not applied, but overlay change propagated
- assertThat(childResources.getString(android.R.string.cancel)).isEqualTo(originalValue)
- assertThat(childResources.getString(R.string.loader_path_change_test))
- .isEqualTo("Overlaid")
- }
-
- // All these tests assert for the exact same loaders/values, so extract that logic out
- private fun verifySameBeforeAndAfter(block: () -> Resources) {
- fun Resources.resource() = this.getString(android.R.string.cancel)
- fun Resources.asset() = this.assets.open("Asset.txt").reader().readText()
-
- val originalResource = resources.resource()
- val originalAsset = resources.asset()
-
- val loaderResource = "stringOne".openLoader()
- val loaderAsset = "assetOne".openLoader(dataType = DataType.ASSET)
- addLoader(loaderResource)
- addLoader(loaderAsset)
-
- val oldLoaders = resources.loaders
- val oldResource = resources.resource()
- val oldAsset = resources.asset()
-
- assertThat(oldResource).isNotEqualTo(originalResource)
- assertThat(oldAsset).isNotEqualTo(originalAsset)
-
- val newResources = block()
-
- val newLoaders = newResources.loaders
- val newResource = newResources.resource()
- val newAsset = newResources.asset()
-
- assertThat(newResource).isEqualTo(oldResource)
- assertThat(newAsset).isEqualTo(oldAsset)
- assertThat(newLoaders).isEqualTo(oldLoaders)
- }
-
- // Copied from overlaytests LocalOverlayManager
- private fun enableOverlay(packageName: String, enable: Boolean) {
- val executor = Executor { Thread(it).start() }
- val pattern = (if (enable) "[x]" else "[ ]") + " " + packageName
- if (executeShellCommand("cmd overlay list").contains(pattern)) {
- // nothing to do, overlay already in the requested state
- return
- }
-
- val oldApkPaths = resources.assets.apkPaths
- val task = FutureTask {
- while (true) {
- if (!Arrays.equals(oldApkPaths, resources.assets.apkPaths)) {
- return@FutureTask true
- }
- Thread.sleep(10)
- }
-
- @Suppress("UNREACHABLE_CODE")
- return@FutureTask false
- }
-
- val command = if (enable) "enable" else "disable"
- executeShellCommand("cmd overlay $command $packageName")
- executor.execute(task)
- assertThat(task.get(TIMEOUT, TimeUnit.SECONDS)).isTrue()
- }
-
- private fun executeShellCommand(command: String): String {
- val uiAutomation = instrumentation.uiAutomation
- val pfd = uiAutomation.executeShellCommand(command)
- return ParcelFileDescriptor.AutoCloseInputStream(pfd).use { it.reader().readText() }
- }
-}
-
-class TestActivity : Activity() {
-
- var callback: Callback? = null
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- setContentView(FrameLayout(this).apply {
- setBackgroundColor(Color.BLUE)
- })
- }
-
- override fun onConfigurationChanged(newConfig: Configuration) {
- super.onConfigurationChanged(newConfig)
- callback?.onConfigurationChanged(newConfig)
- }
-
- interface Callback {
- fun onConfigurationChanged(newConfig: Configuration)
- }
-}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderDrawableTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderDrawableTest.kt
deleted file mode 100644
index 09fd27e02b59..000000000000
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderDrawableTest.kt
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package android.content.res.loader.test
-
-import android.content.res.Resources
-import android.content.res.loader.ResourceLoader
-import android.content.res.loader.ResourcesProvider
-import android.graphics.Color
-import android.graphics.drawable.ColorDrawable
-import com.google.common.truth.Truth.assertThat
-import org.hamcrest.CoreMatchers.not
-import org.junit.Assume.assumeThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
-import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.Mockito.`when`
-import org.mockito.Mockito.any
-import org.mockito.Mockito.argThat
-import org.mockito.Mockito.eq
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
-
-@RunWith(Parameterized::class)
-class ResourceLoaderDrawableTest : ResourceLoaderTestBase() {
-
- companion object {
-
- @JvmStatic
- @Parameterized.Parameters(name = "{0}")
- fun data() = arrayOf(DataType.APK, DataType.ARSC)
- }
-
- @field:Parameterized.Parameter(0)
- override lateinit var dataType: DataType
-
- @Test
- fun matchingConfig() {
- val original = getDrawable(android.R.drawable.ic_delete)
- val loader = "drawableMdpiWithoutFile".openLoader()
- `when`(loader.first.loadDrawable(any(), anyInt(), anyInt(), any()))
- .thenReturn(ColorDrawable(Color.BLUE))
-
- addLoader(loader)
-
- updateConfiguration { densityDpi = 160 /* mdpi */ }
-
- val drawable = getDrawable(android.R.drawable.ic_delete)
-
- loader.verifyLoadDrawableCalled()
-
- assertThat(drawable).isNotEqualTo(original)
- assertThat(drawable).isInstanceOf(ColorDrawable::class.java)
- assertThat((drawable as ColorDrawable).color).isEqualTo(Color.BLUE)
- }
-
- @Test
- fun worseConfig() {
- val loader = "drawableMdpiWithoutFile".openLoader()
- addLoader(loader)
-
- updateConfiguration { densityDpi = 480 /* xhdpi */ }
-
- getDrawable(android.R.drawable.ic_delete)
-
- verify(loader.first, never()).loadDrawable(any(), anyInt(), anyInt(), any())
- }
-
- @Test
- fun multipleLoaders() {
- val original = getDrawable(android.R.drawable.ic_delete)
- val loaderOne = "drawableMdpiWithoutFile".openLoader()
- val loaderTwo = "drawableMdpiWithoutFile".openLoader()
-
- `when`(loaderTwo.first.loadDrawable(any(), anyInt(), anyInt(), any()))
- .thenReturn(ColorDrawable(Color.BLUE))
-
- addLoader(loaderOne, loaderTwo)
-
- updateConfiguration { densityDpi = 160 /* mdpi */ }
-
- val drawable = getDrawable(android.R.drawable.ic_delete)
- loaderOne.verifyLoadDrawableNotCalled()
- loaderTwo.verifyLoadDrawableCalled()
-
- assertThat(drawable).isNotEqualTo(original)
- assertThat(drawable).isInstanceOf(ColorDrawable::class.java)
- assertThat((drawable as ColorDrawable).color).isEqualTo(Color.BLUE)
- }
-
- @Test(expected = Resources.NotFoundException::class)
- fun multipleLoadersNoReturnWithoutFile() {
- val loaderOne = "drawableMdpiWithoutFile".openLoader()
- val loaderTwo = "drawableMdpiWithoutFile".openLoader()
-
- addLoader(loaderOne, loaderTwo)
-
- updateConfiguration { densityDpi = 160 /* mdpi */ }
-
- try {
- getDrawable(android.R.drawable.ic_delete)
- } finally {
- // We expect the call to fail because at least the loader won't resolve the overridden
- // drawable, but we should still verify that both loaders were called before allowing
- // the exception to propagate.
- loaderOne.verifyLoadDrawableNotCalled()
- loaderTwo.verifyLoadDrawableCalled()
- }
- }
-
- @Test
- fun multipleLoadersReturnWithFile() {
- // Can't return a file if an ARSC
- assumeThat(dataType, not(DataType.ARSC))
-
- val original = getDrawable(android.R.drawable.ic_delete)
- val loaderOne = "drawableMdpiWithFile".openLoader()
- val loaderTwo = "drawableMdpiWithFile".openLoader()
-
- addLoader(loaderOne, loaderTwo)
-
- updateConfiguration { densityDpi = 160 /* mdpi */ }
-
- val drawable = getDrawable(android.R.drawable.ic_delete)
- loaderOne.verifyLoadDrawableNotCalled()
- loaderTwo.verifyLoadDrawableCalled()
-
- assertThat(drawable).isNotNull()
- assertThat(drawable).isInstanceOf(original.javaClass)
- }
-
- @Test
- fun unhandledResourceIgnoresLoaders() {
- val loader = "drawableMdpiWithoutFile".openLoader()
- `when`(loader.first.loadDrawable(any(), anyInt(), anyInt(), any()))
- .thenReturn(ColorDrawable(Color.BLUE))
- addLoader(loader)
-
- getDrawable(android.R.drawable.ic_menu_add)
-
- loader.verifyLoadDrawableNotCalled()
-
- getDrawable(android.R.drawable.ic_delete)
-
- loader.verifyLoadDrawableCalled()
- }
-
- private fun Pair<ResourceLoader, ResourcesProvider>.verifyLoadDrawableCalled() {
- verify(first).loadDrawable(
- argThat {
- it.density == 160 &&
- it.resourceId == android.R.drawable.ic_delete &&
- it.string == "res/drawable-mdpi-v4/ic_delete.png"
- },
- eq(android.R.drawable.ic_delete),
- eq(0),
- any()
- )
- }
-
- private fun Pair<ResourceLoader, ResourcesProvider>.verifyLoadDrawableNotCalled() {
- verify(first, never()).loadDrawable(
- any(),
- anyInt(),
- anyInt(),
- any()
- )
- }
-}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderLayoutTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderLayoutTest.kt
deleted file mode 100644
index 1ec209486c18..000000000000
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderLayoutTest.kt
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package android.content.res.loader.test
-
-import android.content.res.Resources
-import android.content.res.XmlResourceParser
-import android.content.res.loader.ResourceLoader
-import android.content.res.loader.ResourcesProvider
-import com.google.common.truth.Truth.assertThat
-import org.hamcrest.CoreMatchers.not
-import org.junit.Assume.assumeThat
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
-import org.mockito.ArgumentMatchers.anyString
-import org.mockito.Mockito.`when`
-import org.mockito.Mockito.any
-import org.mockito.Mockito.anyInt
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
-
-@RunWith(Parameterized::class)
-class ResourceLoaderLayoutTest : ResourceLoaderTestBase() {
-
- companion object {
-
- @JvmStatic
- @Parameterized.Parameters(name = "{0}")
- fun data() = arrayOf(DataType.APK, DataType.ARSC)
- }
-
- @field:Parameterized.Parameter(0)
- override lateinit var dataType: DataType
-
- @Test
- fun singleLoader() {
- val original = getLayout(android.R.layout.activity_list_item)
- val mockXml = mock(XmlResourceParser::class.java)
- val loader = "layoutWithoutFile".openLoader()
- `when`(loader.first.loadXmlResourceParser(any(), anyInt()))
- .thenReturn(mockXml)
-
- addLoader(loader)
-
- val layout = getLayout(android.R.layout.activity_list_item)
- loader.verifyLoadLayoutCalled()
-
- assertThat(layout).isNotEqualTo(original)
- assertThat(layout).isSameAs(mockXml)
- }
-
- @Test
- fun multipleLoaders() {
- val original = getLayout(android.R.layout.activity_list_item)
- val loaderOne = "layoutWithoutFile".openLoader()
- val loaderTwo = "layoutWithoutFile".openLoader()
-
- val mockXml = mock(XmlResourceParser::class.java)
- `when`(loaderTwo.first.loadXmlResourceParser(any(), anyInt()))
- .thenReturn(mockXml)
-
- addLoader(loaderOne, loaderTwo)
-
- val layout = getLayout(android.R.layout.activity_list_item)
- loaderOne.verifyLoadLayoutNotCalled()
- loaderTwo.verifyLoadLayoutCalled()
-
- assertThat(layout).isNotEqualTo(original)
- assertThat(layout).isSameAs(mockXml)
- }
-
- @Test(expected = Resources.NotFoundException::class)
- fun multipleLoadersNoReturnWithoutFile() {
- val loaderOne = "layoutWithoutFile".openLoader()
- val loaderTwo = "layoutWithoutFile".openLoader()
-
- addLoader(loaderOne, loaderTwo)
-
- try {
- getLayout(android.R.layout.activity_list_item)
- } finally {
- // We expect the call to fail because at least one loader must resolve the overridden
- // layout, but we should still verify that both loaders were called before allowing
- // the exception to propagate.
- loaderOne.verifyLoadLayoutNotCalled()
- loaderTwo.verifyLoadLayoutCalled()
- }
- }
-
- @Test
- fun multipleLoadersReturnWithFile() {
- // Can't return a file if an ARSC
- assumeThat(dataType, not(DataType.ARSC))
-
- val loaderOne = "layoutWithFile".openLoader()
- val loaderTwo = "layoutWithFile".openLoader()
-
- addLoader(loaderOne, loaderTwo)
-
- val xml = getLayout(android.R.layout.activity_list_item)
- loaderOne.verifyLoadLayoutNotCalled()
- loaderTwo.verifyLoadLayoutCalled()
-
- assertThat(xml).isNotNull()
- }
-
- @Test
- fun unhandledResourceIgnoresLoaders() {
- val loader = "layoutWithoutFile".openLoader()
- val mockXml = mock(XmlResourceParser::class.java)
- `when`(loader.first.loadXmlResourceParser(any(), anyInt()))
- .thenReturn(mockXml)
- addLoader(loader)
-
- getLayout(android.R.layout.preference_category)
-
- verify(loader.first, never())
- .loadXmlResourceParser(anyString(), anyInt())
-
- getLayout(android.R.layout.activity_list_item)
-
- loader.verifyLoadLayoutCalled()
- }
-
- private fun Pair<ResourceLoader, ResourcesProvider>.verifyLoadLayoutCalled() {
- verify(first).loadXmlResourceParser(
- "res/layout/activity_list_item.xml",
- android.R.layout.activity_list_item
- )
- }
-
- private fun Pair<ResourceLoader, ResourcesProvider>.verifyLoadLayoutNotCalled() {
- verify(first, never()).loadXmlResourceParser(
- anyString(),
- anyInt()
- )
- }
-}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderTestBase.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderTestBase.kt
index 5af453d526e4..4c62955e41a5 100644
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderTestBase.kt
+++ b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderTestBase.kt
@@ -18,25 +18,16 @@ package android.content.res.loader.test
import android.content.Context
import android.content.res.AssetManager
-import android.content.res.Configuration
import android.content.res.Resources
-import android.content.res.loader.ResourceLoader
+import android.content.res.loader.AssetsProvider
import android.content.res.loader.ResourcesProvider
import android.os.ParcelFileDescriptor
-import android.util.TypedValue
-import androidx.annotation.DimenRes
-import androidx.annotation.DrawableRes
-import androidx.annotation.LayoutRes
-import androidx.annotation.StringRes
import androidx.test.InstrumentationRegistry
import org.junit.After
import org.junit.Before
-import org.mockito.ArgumentMatchers
import org.mockito.ArgumentMatchers.anyInt
-import org.mockito.ArgumentMatchers.argThat
import org.mockito.ArgumentMatchers.eq
import org.mockito.Mockito.doAnswer
-import org.mockito.Mockito.doReturn
import org.mockito.Mockito.mock
import java.io.Closeable
@@ -60,7 +51,8 @@ abstract class ResourceLoaderTestBase {
@After
fun removeAllLoaders() {
- resources.setLoaders(null)
+ resources.clearLoaders()
+ context.applicationContext.resources.clearLoaders()
openedObjects.forEach {
try {
it.close()
@@ -69,149 +61,73 @@ abstract class ResourceLoaderTestBase {
}
}
- protected fun getString(@StringRes stringRes: Int, debugLog: Boolean = false) =
- logResolution(debugLog) { getString(stringRes) }
-
- protected fun getDrawable(@DrawableRes drawableRes: Int, debugLog: Boolean = false) =
- logResolution(debugLog) { getDrawable(drawableRes) }
-
- protected fun getLayout(@LayoutRes layoutRes: Int, debugLog: Boolean = false) =
- logResolution(debugLog) { getLayout(layoutRes) }
-
- protected fun getDimensionPixelSize(@DimenRes dimenRes: Int, debugLog: Boolean = false) =
- logResolution(debugLog) { getDimensionPixelSize(dimenRes) }
-
- private fun <T> logResolution(debugLog: Boolean = false, block: Resources.() -> T): T {
- if (debugLog) {
- resources.assets.setResourceResolutionLoggingEnabled(true)
- }
-
- var thrown = false
-
- try {
- return resources.block()
- } catch (t: Throwable) {
- // No good way to log to test output other than throwing an exception
- if (debugLog) {
- thrown = true
- throw IllegalStateException(resources.assets.lastResourceResolution, t)
- } else {
- throw t
- }
- } finally {
- if (!thrown && debugLog) {
- throw IllegalStateException(resources.assets.lastResourceResolution)
- }
- }
- }
-
- protected fun updateConfiguration(block: Configuration.() -> Unit) {
- val configuration = Configuration().apply {
- setTo(resources.configuration)
- block()
- }
-
- resources.updateConfiguration(configuration, resources.displayMetrics)
- }
-
- protected fun String.openLoader(
+ protected fun String.openProvider(
dataType: DataType = this@ResourceLoaderTestBase.dataType
- ): Pair<ResourceLoader, ResourcesProvider> = when (dataType) {
+ ): ResourcesProvider = when (dataType) {
DataType.APK -> {
- mock(ResourceLoader::class.java) to context.copiedRawFile("${this}Apk").use {
- ResourcesProvider.loadFromApk(it)
+ context.copiedRawFile("${this}Apk").use {
+ ResourcesProvider.loadFromApk(it, mock(AssetsProvider::class.java))
}.also { openedObjects += it }
}
DataType.ARSC -> {
- mock(ResourceLoader::class.java) to openArsc(this)
+ openArsc(this, mock(AssetsProvider::class.java))
}
DataType.SPLIT -> {
- mock(ResourceLoader::class.java) to ResourcesProvider.loadFromSplit(context, this)
+ ResourcesProvider.loadFromSplit(context, this)
}
- DataType.ASSET -> mockLoader {
- doAnswer { byteInputStream() }.`when`(it)
+ DataType.ASSET -> {
+ val assetsProvider = mock(AssetsProvider::class.java)
+ doAnswer { byteInputStream() }.`when`(assetsProvider)
.loadAsset(eq("assets/Asset.txt"), anyInt())
+ ResourcesProvider.empty(assetsProvider)
}
- DataType.ASSET_FD -> mockLoader {
+ DataType.ASSET_FD -> {
+ val assetsProvider = mock(AssetsProvider::class.java)
doAnswer {
val file = context.filesDir.resolve("Asset.txt")
file.writeText(this)
ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY)
- }.`when`(it).loadAssetFd("assets/Asset.txt")
+ }.`when`(assetsProvider).loadAssetParcelFd("assets/Asset.txt")
+ ResourcesProvider.empty(assetsProvider)
}
- DataType.NON_ASSET -> mockLoader {
+ DataType.NON_ASSET -> {
+ val assetsProvider = mock(AssetsProvider::class.java)
doAnswer {
val file = context.filesDir.resolve("NonAsset.txt")
file.writeText(this)
ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY)
- }.`when`(it).loadAssetFd("NonAsset.txt")
+ }.`when`(assetsProvider).loadAssetParcelFd("NonAsset.txt")
+ ResourcesProvider.empty(assetsProvider)
}
- DataType.NON_ASSET_DRAWABLE -> mockLoader(openArsc(this)) {
- doReturn(null).`when`(it).loadDrawable(argThat { value ->
- value.type == TypedValue.TYPE_STRING &&
- value.resourceId == 0x7f010001 &&
- value.string == "res/drawable-nodpi-v4/non_asset_drawable.xml"
- }, eq(0x7f010001), anyInt(), ArgumentMatchers.any())
-
- doAnswer { context.copiedRawFile(this) }.`when`(it)
- .loadAssetFd("res/drawable-nodpi-v4/non_asset_drawable.xml")
+ DataType.NON_ASSET_DRAWABLE -> {
+ val assetsProvider = mock(AssetsProvider::class.java)
+ doAnswer { context.copiedRawFile(this) }.`when`(assetsProvider)
+ .loadAssetParcelFd("res/drawable-nodpi-v4/non_asset_drawable.xml")
+ openArsc(this, assetsProvider)
}
- DataType.NON_ASSET_BITMAP -> mockLoader(openArsc(this)) {
- doReturn(null).`when`(it).loadDrawable(argThat { value ->
- value.type == TypedValue.TYPE_STRING &&
- value.resourceId == 0x7f010000 &&
- value.string == "res/drawable-nodpi-v4/non_asset_bitmap.png"
- }, eq(0x7f010000), anyInt(), ArgumentMatchers.any())
-
- doAnswer { resources.openRawResourceFd(rawFile(this)).createInputStream() }
- .`when`(it)
+ DataType.NON_ASSET_BITMAP -> {
+ val assetsProvider = mock(AssetsProvider::class.java)
+ doAnswer { resources.openRawResource(rawFile(this)) }
+ .`when`(assetsProvider)
.loadAsset(eq("res/drawable-nodpi-v4/non_asset_bitmap.png"), anyInt())
+ openArsc(this, assetsProvider)
}
- DataType.NON_ASSET_LAYOUT -> mockLoader(openArsc(this)) {
- doReturn(null).`when`(it)
- .loadXmlResourceParser("res/layout/layout.xml", 0x7f020000)
-
- doAnswer { context.copiedRawFile(this) }.`when`(it)
- .loadAssetFd("res/layout/layout.xml")
+ DataType.NON_ASSET_LAYOUT -> {
+ val assetsProvider = mock(AssetsProvider::class.java)
+ doAnswer { resources.openRawResource(rawFile(this)) }.`when`(assetsProvider)
+ .loadAsset(eq("res/layout/layout.xml"), anyInt())
+ doAnswer { context.copiedRawFile(this) }.`when`(assetsProvider)
+ .loadAssetParcelFd("res/layout/layout.xml")
+ openArsc(this, assetsProvider)
}
}
- protected fun mockLoader(
- provider: ResourcesProvider = ResourcesProvider.empty(),
- block: (ResourceLoader) -> Unit = {}
- ): Pair<ResourceLoader, ResourcesProvider> {
- return mock(ResourceLoader::class.java, Utils.ANSWER_THROWS)
- .apply(block) to provider
- }
-
- protected fun openArsc(rawName: String): ResourcesProvider {
+ protected fun openArsc(rawName: String, assetsProvider: AssetsProvider): ResourcesProvider {
return context.copiedRawFile("${rawName}Arsc")
- .use { ResourcesProvider.loadFromArsc(it) }
+ .use { ResourcesProvider.loadFromTable(it, assetsProvider) }
.also { openedObjects += it }
}
- // This specifically uses addLoader so both behaviors are tested
- protected fun addLoader(vararg pairs: Pair<out ResourceLoader, ResourcesProvider>) {
- pairs.forEach { resources.addLoader(it.first, it.second) }
- }
-
- protected fun setLoaders(vararg pairs: Pair<out ResourceLoader, ResourcesProvider>) {
- resources.setLoaders(pairs.map { android.util.Pair(it.first, it.second) })
- }
-
- protected fun addLoader(pair: Pair<out ResourceLoader, ResourcesProvider>, index: Int) {
- resources.addLoader(pair.first, pair.second, index)
- }
-
- protected fun removeLoader(vararg pairs: Pair<out ResourceLoader, ResourcesProvider>) {
- pairs.forEach { resources.removeLoader(it.first) }
- }
-
- protected fun getLoaders(): MutableList<Pair<ResourceLoader, ResourcesProvider>> {
- // Cast instead of toMutableList to maintain the same object
- return resources.getLoaders() as MutableList<Pair<ResourceLoader, ResourcesProvider>>
- }
-
enum class DataType {
APK,
ARSC,
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderValuesTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderValuesTest.kt
index 017552a02152..0cc56d721651 100644
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderValuesTest.kt
+++ b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderValuesTest.kt
@@ -16,15 +16,24 @@
package android.content.res.loader.test
+import android.app.Activity
+import android.content.Context
+import android.content.Intent
+import android.content.res.Configuration
+import android.content.res.Resources
+import android.content.res.loader.ResourcesLoader
import android.graphics.Color
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.ColorDrawable
-import com.google.common.truth.Truth.assertThat
+import android.os.IBinder
+import androidx.test.rule.ActivityTestRule
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotEquals
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
+import java.util.Collections
/**
* Tests generic ResourceLoader behavior. Intentionally abstract in its test methodology because
@@ -36,6 +45,9 @@ import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
+ @get:Rule
+ private val mTestActivityRule = ActivityTestRule<TestActivity>(TestActivity::class.java)
+
companion object {
@Parameterized.Parameters(name = "{1} {0}")
@JvmStatic
@@ -47,14 +59,18 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
{ getString(android.R.string.cancel) },
"stringOne", { "SomeRidiculouslyUnlikelyStringOne" },
"stringTwo", { "SomeRidiculouslyUnlikelyStringTwo" },
+ "stringThree", { "SomeRidiculouslyUnlikelyStringThree" },
+ "stringFour", { "SomeRidiculouslyUnlikelyStringFour" },
listOf(DataType.APK, DataType.ARSC)
)
// R.dimen
parameters += Parameter(
- { resources.getDimensionPixelSize(android.R.dimen.app_icon_size) },
- "dimenOne", { 564716.dpToPx(resources) },
- "dimenTwo", { 565717.dpToPx(resources) },
+ { getDimensionPixelSize(android.R.dimen.app_icon_size) },
+ "dimenOne", { 100.dpToPx(resources) },
+ "dimenTwo", { 200.dpToPx(resources) },
+ "dimenThree", { 300.dpToPx(resources) },
+ "dimenFour", { 400.dpToPx(resources) },
listOf(DataType.APK, DataType.ARSC)
)
@@ -63,6 +79,8 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
{ assets.open("Asset.txt").reader().readText() },
"assetOne", { "assetOne" },
"assetTwo", { "assetTwo" },
+ "assetFour", { "assetFour" },
+ "assetThree", { "assetThree" },
listOf(DataType.ASSET)
)
@@ -71,6 +89,8 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
{ assets.openFd("Asset.txt").readText() },
"assetOne", { "assetOne" },
"assetTwo", { "assetTwo" },
+ "assetFour", { "assetFour" },
+ "assetThree", { "assetThree" },
listOf(DataType.ASSET_FD)
)
@@ -79,14 +99,18 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
{ assets.openNonAssetFd("NonAsset.txt").readText() },
"NonAssetOne", { "NonAssetOne" },
"NonAssetTwo", { "NonAssetTwo" },
+ "NonAssetThree", { "NonAssetThree" },
+ "NonAssetFour", { "NonAssetFour" },
listOf(DataType.NON_ASSET)
)
// Asset as compiled XML drawable
parameters += Parameter(
{ (getDrawable(R.drawable.non_asset_drawable) as ColorDrawable).color },
- "nonAssetDrawableOne", { Color.parseColor("#A3C3E3") },
- "nonAssetDrawableTwo", { Color.parseColor("#3A3C3E") },
+ "nonAssetDrawableOne", { Color.parseColor("#000001") },
+ "nonAssetDrawableTwo", { Color.parseColor("#000002") },
+ "nonAssetDrawableThree", { Color.parseColor("#000003") },
+ "nonAssetDrawableFour", { Color.parseColor("#000004") },
listOf(DataType.NON_ASSET_DRAWABLE)
)
@@ -96,8 +120,10 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
(getDrawable(R.drawable.non_asset_bitmap) as BitmapDrawable)
.bitmap.getColor(0, 0).toArgb()
},
+ "nonAssetBitmapRed", { Color.RED },
"nonAssetBitmapGreen", { Color.GREEN },
"nonAssetBitmapBlue", { Color.BLUE },
+ "nonAssetBitmapWhite", { Color.WHITE },
listOf(DataType.NON_ASSET_BITMAP)
)
@@ -106,6 +132,8 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
{ getLayout(R.layout.layout).advanceToRoot().name },
"layoutOne", { "RelativeLayout" },
"layoutTwo", { "LinearLayout" },
+ "layoutThree", { "FrameLayout" },
+ "layoutFour", { "TableLayout" },
listOf(DataType.NON_ASSET_LAYOUT)
)
@@ -114,6 +142,8 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
{ getString(R.string.split_overlaid) },
"split_one", { "Split ONE Overlaid" },
"split_two", { "Split TWO Overlaid" },
+ "split_three", { "Split THREE Overlaid" },
+ "split_four", { "Split FOUR Overlaid" },
listOf(DataType.SPLIT)
)
@@ -134,221 +164,482 @@ class ResourceLoaderValuesTest : ResourceLoaderTestBase() {
private val valueOne by lazy { parameter.valueOne(this) }
private val valueTwo by lazy { parameter.valueTwo(this) }
+ private val valueThree by lazy { parameter.valueThree(this) }
+ private val valueFour by lazy { parameter.valueFour(this) }
- private fun openOne() = parameter.loaderOne.openLoader()
- private fun openTwo() = parameter.loaderTwo.openLoader()
+ private fun openOne() = parameter.providerOne.openProvider()
+ private fun openTwo() = parameter.providerTwo.openProvider()
+ private fun openThree() = parameter.providerThree.openProvider()
+ private fun openFour() = parameter.providerFour.openProvider()
// Class method for syntax highlighting purposes
- private fun getValue() = parameter.getValue(this)
+ private fun getValue(c: Context = context) = parameter.getValue(c.resources)
@Test
- fun verifyValueUniqueness() {
+ fun assertValueUniqueness() {
// Ensure the parameters are valid in case of coding errors
- assertNotEquals(valueOne, getValue())
- assertNotEquals(valueTwo, getValue())
- assertNotEquals(valueOne, valueTwo)
+ val original = getValue()
+ assertNotEquals(valueOne, original)
+ assertNotEquals(valueTwo, original)
+ assertNotEquals(valueThree, original)
+ assertNotEquals(valueFour, original)
+ assertNotEquals(valueTwo, valueOne)
+ assertNotEquals(valueThree, valueOne)
+ assertNotEquals(valueFour, valueOne)
+ assertNotEquals(valueThree, valueTwo)
+ assertNotEquals(valueFour, valueTwo)
+ assertNotEquals(valueFour, valueThree)
}
@Test
- fun addMultipleLoaders() {
+ fun addMultipleProviders() {
val originalValue = getValue()
val testOne = openOne()
val testTwo = openTwo()
+ val loader = ResourcesLoader()
- addLoader(testOne, testTwo)
+ resources.addLoader(loader)
+ loader.addProvider(testOne)
+ assertEquals(valueOne, getValue())
+ loader.addProvider(testTwo)
assertEquals(valueTwo, getValue())
- removeLoader(testTwo)
-
- assertEquals(valueOne, getValue())
-
- removeLoader(testOne)
+ loader.removeProvider(testOne)
+ assertEquals(valueTwo, getValue())
+ loader.removeProvider(testTwo)
assertEquals(originalValue, getValue())
}
@Test
- fun setMultipleLoaders() {
+ fun addMultipleLoaders() {
val originalValue = getValue()
val testOne = openOne()
val testTwo = openTwo()
+ val loader1 = ResourcesLoader()
+ val loader2 = ResourcesLoader()
- setLoaders(testOne, testTwo)
+ resources.addLoader(loader1)
+ loader1.addProvider(testOne)
+ assertEquals(valueOne, getValue())
+ resources.addLoader(loader2)
+ loader2.addProvider(testTwo)
assertEquals(valueTwo, getValue())
- removeLoader(testTwo)
-
- assertEquals(valueOne, getValue())
-
- setLoaders()
+ resources.removeLoader(loader1)
+ assertEquals(valueTwo, getValue())
+ resources.removeLoader(loader2)
assertEquals(originalValue, getValue())
}
@Test
- fun getLoadersContainsAll() {
+ fun setMultipleProviders() {
+ val originalValue = getValue()
val testOne = openOne()
val testTwo = openTwo()
+ val loader = ResourcesLoader()
- addLoader(testOne, testTwo)
+ resources.addLoader(loader)
+ loader.providers = listOf(testOne, testTwo)
+ assertEquals(valueTwo, getValue())
- assertThat(getLoaders()).containsAllOf(testOne, testTwo)
+ loader.removeProvider(testTwo)
+ assertEquals(valueOne, getValue())
+
+ loader.providers = Collections.emptyList()
+ assertEquals(originalValue, getValue())
}
@Test
- fun getLoadersDoesNotLeakMutability() {
+ fun setMultipleLoaders() {
val originalValue = getValue()
- val testOne = openOne()
- val testTwo = openTwo()
-
- addLoader(testOne)
-
- assertEquals(valueOne, getValue())
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(openOne())
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(openTwo())
- val loaders = getLoaders()
- loaders += testTwo
+ resources.loaders = listOf(loader1, loader2)
+ assertEquals(valueTwo, getValue())
+ resources.removeLoader(loader2)
assertEquals(valueOne, getValue())
- removeLoader(testOne)
-
+ resources.loaders = Collections.emptyList()
assertEquals(originalValue, getValue())
}
- @Test(expected = IllegalArgumentException::class)
- fun alreadyAddedThrows() {
+ @Test(expected = UnsupportedOperationException::class)
+ fun getProvidersDoesNotLeakMutability() {
val testOne = openOne()
- val testTwo = openTwo()
+ val loader = ResourcesLoader()
+ val providers = loader.providers
+ providers += testOne
+ }
- addLoader(testOne)
- addLoader(testTwo)
- addLoader(testOne)
+ @Test(expected = UnsupportedOperationException::class)
+ fun getLoadersDoesNotLeakMutability() {
+ val loaders = resources.loaders
+ loaders += ResourcesLoader()
}
- @Test(expected = IllegalArgumentException::class)
- fun alreadyAddedAndSetThrows() {
+ @Test
+ fun alreadyAddedProviderNoOps() {
val testOne = openOne()
val testTwo = openTwo()
+ val loader = ResourcesLoader()
+
+ resources.addLoader(loader)
+ loader.addProvider(testOne)
+ loader.addProvider(testTwo)
+ loader.addProvider(testOne)
- addLoader(testOne)
- addLoader(testTwo)
- setLoaders(testTwo)
+ assertEquals(2, loader.providers.size)
+ assertEquals(loader.providers[0], testOne)
+ assertEquals(loader.providers[1], testTwo)
}
@Test
- fun repeatedRemoveSucceeds() {
- val originalValue = getValue()
+ fun alreadyAddedLoaderNoOps() {
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(openOne())
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(openTwo())
+
+ resources.addLoader(loader1)
+ resources.addLoader(loader2)
+ resources.addLoader(loader1)
+
+ assertEquals(2, resources.loaders.size)
+ assertEquals(resources.loaders[0], loader1)
+ assertEquals(resources.loaders[1], loader2)
+ }
+
+ @Test
+ fun repeatedRemoveProviderNoOps() {
val testOne = openOne()
+ val testTwo = openTwo()
+ val loader = ResourcesLoader()
+
+ resources.addLoader(loader)
+ loader.addProvider(testOne)
+ loader.addProvider(testTwo)
- addLoader(testOne)
+ loader.removeProvider(testOne)
+ loader.removeProvider(testOne)
- assertNotEquals(originalValue, getValue())
+ assertEquals(1, loader.providers.size)
+ assertEquals(loader.providers[0], testTwo)
+ }
- removeLoader(testOne)
+ @Test
+ fun repeatedRemoveLoaderNoOps() {
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(openOne())
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(openTwo())
+
+ resources.loaders = listOf(loader1, loader2)
+ resources.removeLoader(loader1)
+ resources.removeLoader(loader1)
+
+ assertEquals(1, resources.loaders.size)
+ assertEquals(resources.loaders[0], loader2)
+ }
- assertEquals(originalValue, getValue())
+ @Test
+ fun repeatedSetProvider() {
+ val testOne = openOne()
+ val testTwo = openTwo()
+ val loader = ResourcesLoader()
- removeLoader(testOne)
+ resources.addLoader(loader)
+ loader.providers = listOf(testOne, testTwo)
+ loader.providers = listOf(testOne, testTwo)
- assertEquals(originalValue, getValue())
+ assertEquals(2, loader.providers.size)
+ assertEquals(loader.providers[0], testOne)
+ assertEquals(loader.providers[1], testTwo)
+ }
+
+ @Test
+ fun repeatedSetLoaders() {
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(openOne())
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(openTwo())
+
+ resources.loaders = listOf(loader1, loader2)
+ resources.loaders = listOf(loader1, loader2)
+
+ assertEquals(2, resources.loaders.size)
+ assertEquals(resources.loaders[0], loader1)
+ assertEquals(resources.loaders[1], loader2)
}
@Test
- fun addToFront() {
+ fun reorderProviders() {
+ val originalValue = getValue()
val testOne = openOne()
val testTwo = openTwo()
+ val loader = ResourcesLoader()
- addLoader(testOne)
+ resources.addLoader(loader)
+ loader.addProvider(testOne)
+ loader.addProvider(testTwo)
+ assertEquals(valueTwo, getValue())
- assertEquals(valueOne, getValue())
+ loader.removeProvider(testOne)
+ assertEquals(valueTwo, getValue())
- addLoader(testTwo, 0)
+ loader.addProvider(testOne)
+ assertEquals(valueOne, getValue())
+ loader.removeProvider(testTwo)
assertEquals(valueOne, getValue())
- // Remove top loader, so previously added to front should now resolve
- removeLoader(testOne)
- assertEquals(valueTwo, getValue())
+ loader.removeProvider(testOne)
+ assertEquals(originalValue, getValue())
}
@Test
- fun addToEnd() {
+ fun reorderLoaders() {
+ val originalValue = getValue()
val testOne = openOne()
val testTwo = openTwo()
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(testOne)
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(testTwo)
- addLoader(testOne)
+ resources.addLoader(loader1)
+ resources.addLoader(loader2)
+ assertEquals(valueTwo, getValue())
+ resources.removeLoader(loader1)
+ assertEquals(valueTwo, getValue())
+
+ resources.addLoader(loader1)
assertEquals(valueOne, getValue())
- addLoader(testTwo, 1)
+ resources.removeLoader(loader2)
+ assertEquals(valueOne, getValue())
- assertEquals(valueTwo, getValue())
+ resources.removeLoader(loader1)
+ assertEquals(originalValue, getValue())
}
- @Test(expected = IndexOutOfBoundsException::class)
- fun addPastEnd() {
+ @Test
+ fun reorderMultipleLoadersAndProviders() {
val testOne = openOne()
val testTwo = openTwo()
+ val testThree = openThree()
+ val testFour = openFour()
- addLoader(testOne)
+ val loader1 = ResourcesLoader()
+ loader1.providers = listOf(testOne, testTwo)
+ val loader2 = ResourcesLoader()
+ loader2.providers = listOf(testThree, testFour)
+
+ resources.loaders = listOf(loader1, loader2)
+ assertEquals(valueFour, getValue())
+
+ resources.loaders = listOf(loader2, loader1)
+ assertEquals(valueTwo, getValue())
+
+ loader1.removeProvider(testTwo)
assertEquals(valueOne, getValue())
- addLoader(testTwo, 2)
+ loader1.removeProvider(testOne)
+ assertEquals(valueFour, getValue())
}
- @Test(expected = IndexOutOfBoundsException::class)
- fun addBeforeFront() {
- val testOne = openOne()
- val testTwo = openTwo()
+ private fun createContext(context: Context, id: Int): Context {
+ val overrideConfig = Configuration()
+ overrideConfig.orientation = Int.MAX_VALUE - id
+ return context.createConfigurationContext(overrideConfig)
+ }
- addLoader(testOne)
+ @Test
+ fun copyContextLoaders() {
+ val originalValue = getValue()
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(openOne())
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(openTwo())
+
+ resources.loaders = listOf(loader1)
+ assertEquals(valueOne, getValue())
+
+ // The child context should include the loaders of the original context.
+ val childContext = createContext(context, 0)
+ assertEquals(valueOne, getValue(childContext))
+ // Changing the loaders of the child context should not affect the original context.
+ childContext.resources.loaders = listOf(loader1, loader2)
assertEquals(valueOne, getValue())
+ assertEquals(valueTwo, getValue(childContext))
- addLoader(testTwo, -1)
+ // Changing the loaders of the original context should not affect the child context.
+ resources.removeLoader(loader1)
+ assertEquals(originalValue, getValue())
+ assertEquals(valueTwo, getValue(childContext))
+
+ // A new context created from the original after an update to the original's loaders should
+ // have the updated loaders.
+ val originalPrime = createContext(context, 2)
+ assertEquals(originalValue, getValue(originalPrime))
+
+ // A new context created from the child context after an update to the child's loaders
+ // should have the updated loaders.
+ val childPrime = createContext(childContext, 1)
+ assertEquals(valueTwo, getValue(childPrime))
}
@Test
- fun reorder() {
+ fun loaderUpdatesAffectContexts() {
val originalValue = getValue()
val testOne = openOne()
val testTwo = openTwo()
+ val loader = ResourcesLoader()
+
+ resources.addLoader(loader)
+ loader.addProvider(testOne)
+ assertEquals(valueOne, getValue())
- addLoader(testOne, testTwo)
+ val childContext = createContext(context, 0)
+ assertEquals(valueOne, getValue(childContext))
+ // Adding a provider to a loader affects all contexts that use the loader.
+ loader.addProvider(testTwo)
assertEquals(valueTwo, getValue())
+ assertEquals(valueTwo, getValue(childContext))
- removeLoader(testOne)
+ // Changes to the loaders for a context do not affect providers.
+ resources.clearLoaders()
+ assertEquals(originalValue, getValue())
+ assertEquals(valueTwo, getValue(childContext))
- assertEquals(valueTwo, getValue())
+ val childContext2 = createContext(context, 1)
+ assertEquals(originalValue, getValue())
+ assertEquals(originalValue, getValue(childContext2))
- addLoader(testOne)
+ childContext2.resources.addLoader(loader)
+ assertEquals(originalValue, getValue())
+ assertEquals(valueTwo, getValue(childContext))
+ assertEquals(valueTwo, getValue(childContext2))
+ }
- assertEquals(valueOne, getValue())
+ @Test
+ fun appLoadersIncludedInActivityContexts() {
+ val loader = ResourcesLoader()
+ loader.addProvider(openOne())
+
+ val applicationContext = context.applicationContext
+ applicationContext.resources.addLoader(loader)
+ assertEquals(valueOne, getValue(applicationContext))
- removeLoader(testTwo)
+ val activity = mTestActivityRule.launchActivity(Intent())
+ assertEquals(valueOne, getValue(activity))
+ applicationContext.resources.clearLoaders()
+ }
+
+ @Test
+ fun loadersApplicationInfoChanged() {
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(openOne())
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(openTwo())
+
+ val applicationContext = context.applicationContext
+ applicationContext.resources.addLoader(loader1)
+ assertEquals(valueOne, getValue(applicationContext))
+
+ var token: IBinder? = null
+ val activity = mTestActivityRule.launchActivity(Intent())
+ mTestActivityRule.runOnUiThread(Runnable {
+ token = activity.activityToken
+ val at = activity.activityThread
+
+ // The activity should have the loaders from the application.
+ assertEquals(valueOne, getValue(applicationContext))
+ assertEquals(valueOne, getValue(activity))
+
+ activity.resources.addLoader(loader2)
+ assertEquals(valueOne, getValue(applicationContext))
+ assertEquals(valueTwo, getValue(activity))
+
+ // Relaunches the activity.
+ at.handleApplicationInfoChanged(activity.applicationInfo)
+ })
+
+ mTestActivityRule.runOnUiThread(Runnable {
+ val activityThread = activity.activityThread
+ val newActivity = activityThread.getActivity(token)
+
+ // The loader added to the activity loaders should not be persisted.
+ assertEquals(valueOne, getValue(applicationContext))
+ assertEquals(valueOne, getValue(newActivity))
+ })
+
+ applicationContext.resources.clearLoaders()
+ }
+
+ @Test
+ fun multipleLoadersHaveSameProviders() {
+ val provider1 = openOne()
+ val loader1 = ResourcesLoader()
+ loader1.addProvider(provider1)
+ val loader2 = ResourcesLoader()
+ loader2.addProvider(provider1)
+ loader2.addProvider(openTwo())
+
+ resources.loaders = listOf(loader1, loader2)
+ assertEquals(valueTwo, getValue())
+
+ resources.loaders = listOf(loader2, loader1)
assertEquals(valueOne, getValue())
- removeLoader(testOne)
+ assertEquals(2, resources.assets.apkAssets.count { apkAssets -> apkAssets.isForLoader })
+ }
- assertEquals(originalValue, getValue())
+ @Test(expected = IllegalStateException::class)
+ fun cannotUseClosedProvider() {
+ val provider = openOne()
+ provider.close()
+ val loader = ResourcesLoader()
+ loader.addProvider(provider)
+ }
+
+ @Test(expected = IllegalStateException::class)
+ fun cannotCloseUsedProvider() {
+ val provider = openOne()
+ val loader = ResourcesLoader()
+ loader.addProvider(provider)
+ provider.close()
}
data class Parameter(
- val getValue: ResourceLoaderValuesTest.() -> Any,
- val loaderOne: String,
+ val getValue: Resources.() -> Any,
+ val providerOne: String,
val valueOne: ResourceLoaderValuesTest.() -> Any,
- val loaderTwo: String,
+ val providerTwo: String,
val valueTwo: ResourceLoaderValuesTest.() -> Any,
+ val providerThree: String,
+ val valueThree: ResourceLoaderValuesTest.() -> Any,
+ val providerFour: String,
+ val valueFour: ResourceLoaderValuesTest.() -> Any,
val dataTypes: List<DataType>
) {
override fun toString(): String {
- val prefix = loaderOne.commonPrefixWith(loaderTwo)
- return "$prefix${loaderOne.removePrefix(prefix)}|${loaderTwo.removePrefix(prefix)}"
+ val prefix = providerOne.commonPrefixWith(providerTwo)
+ return "$prefix${providerOne.removePrefix(prefix)}|${providerTwo.removePrefix(prefix)}"
}
}
}
+
+class TestActivity : Activity() \ No newline at end of file
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/Utils.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/Utils.kt
index df2d09adf503..4e8ee5cf3c3b 100644
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/Utils.kt
+++ b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/Utils.kt
@@ -26,10 +26,6 @@ import org.mockito.stubbing.Answer
import org.xmlpull.v1.XmlPullParser
import java.io.File
-// Enforce use of [android.util.Pair] instead of Kotlin's so it matches the ResourceLoader APIs
-typealias Pair<F, S> = android.util.Pair<F, S>
-infix fun <A, B> A.to(that: B): Pair<A, B> = Pair.create(this, that)!!
-
object Utils {
val ANSWER_THROWS = Answer<Any> {
when (val name = it.method.name) {
diff --git a/core/tests/coretests/Android.bp b/core/tests/coretests/Android.bp
index 3836d6f4115d..38454ecb6111 100644
--- a/core/tests/coretests/Android.bp
+++ b/core/tests/coretests/Android.bp
@@ -41,6 +41,7 @@ android_test {
"truth-prebuilt",
"print-test-util-lib",
"testng",
+ "servicestests-utils"
],
libs: [
diff --git a/core/tests/coretests/AndroidManifest.xml b/core/tests/coretests/AndroidManifest.xml
index b85a332e9000..23f9f90248df 100644
--- a/core/tests/coretests/AndroidManifest.xml
+++ b/core/tests/coretests/AndroidManifest.xml
@@ -1315,6 +1315,17 @@
android:process=":RedactingProvider">
</provider>
+ <provider
+ android:name="android.content.FakeProviderLocal"
+ android:authorities="android.content.FakeProviderLocal">
+ </provider>
+
+ <provider
+ android:name="android.content.FakeProviderRemote"
+ android:authorities="android.content.FakeProviderRemote"
+ android:process=":FakeProvider">
+ </provider>
+
<!-- Application components used for os tests -->
<service android:name="android.os.MessengerService"
diff --git a/core/tests/coretests/BstatsTestApp/src/com/android/coretests/apps/bstatstestapp/TestService.java b/core/tests/coretests/BstatsTestApp/src/com/android/coretests/apps/bstatstestapp/TestService.java
index 8a22aca6464d..a027f9eb3a4e 100644
--- a/core/tests/coretests/BstatsTestApp/src/com/android/coretests/apps/bstatstestapp/TestService.java
+++ b/core/tests/coretests/BstatsTestApp/src/com/android/coretests/apps/bstatstestapp/TestService.java
@@ -22,12 +22,12 @@ import android.app.NotificationManager;
import android.app.Service;
import android.content.Intent;
import android.graphics.Color;
-import android.graphics.Point;
import android.os.Handler;
import android.os.IBinder;
import android.os.Process;
import android.os.RemoteException;
import android.util.Log;
+import android.util.Size;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
@@ -108,16 +108,15 @@ public class TestService extends Service {
@Override
public void showApplicationOverlay() throws RemoteException {
final WindowManager wm = TestService.this.getSystemService(WindowManager.class);
- final Point size = new Point();
- wm.getDefaultDisplay().getSize(size);
+ final Size size = wm.getCurrentWindowMetrics().getSize();
final WindowManager.LayoutParams wmlp = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
- wmlp.width = size.x / 2;
- wmlp.height = size.y / 2;
+ wmlp.width = size.getWidth() / 2;
+ wmlp.height = size.getHeight() / 2;
wmlp.gravity = Gravity.CENTER | Gravity.LEFT;
wmlp.setTitle(TAG);
diff --git a/core/tests/coretests/src/android/app/timedetector/PhoneTimeSuggestionTest.java b/core/tests/coretests/src/android/app/timedetector/PhoneTimeSuggestionTest.java
index ba29a97b55ab..d17b63597a21 100644
--- a/core/tests/coretests/src/android/app/timedetector/PhoneTimeSuggestionTest.java
+++ b/core/tests/coretests/src/android/app/timedetector/PhoneTimeSuggestionTest.java
@@ -27,17 +27,17 @@ import android.os.TimestampedValue;
import org.junit.Test;
public class PhoneTimeSuggestionTest {
- private static final int PHONE_ID = 99999;
+ private static final int SLOT_INDEX = 99999;
@Test
public void testEquals() {
- PhoneTimeSuggestion.Builder builder1 = new PhoneTimeSuggestion.Builder(PHONE_ID);
+ PhoneTimeSuggestion.Builder builder1 = new PhoneTimeSuggestion.Builder(SLOT_INDEX);
{
PhoneTimeSuggestion one = builder1.build();
assertEquals(one, one);
}
- PhoneTimeSuggestion.Builder builder2 = new PhoneTimeSuggestion.Builder(PHONE_ID);
+ PhoneTimeSuggestion.Builder builder2 = new PhoneTimeSuggestion.Builder(SLOT_INDEX);
{
PhoneTimeSuggestion one = builder1.build();
PhoneTimeSuggestion two = builder2.build();
@@ -59,7 +59,7 @@ public class PhoneTimeSuggestionTest {
assertEquals(two, one);
}
- PhoneTimeSuggestion.Builder builder3 = new PhoneTimeSuggestion.Builder(PHONE_ID + 1);
+ PhoneTimeSuggestion.Builder builder3 = new PhoneTimeSuggestion.Builder(SLOT_INDEX + 1);
builder3.setUtcTime(new TimestampedValue<>(1111L, 2222L));
{
PhoneTimeSuggestion one = builder1.build();
@@ -80,7 +80,7 @@ public class PhoneTimeSuggestionTest {
@Test
public void testParcelable() {
- PhoneTimeSuggestion.Builder builder = new PhoneTimeSuggestion.Builder(PHONE_ID);
+ PhoneTimeSuggestion.Builder builder = new PhoneTimeSuggestion.Builder(SLOT_INDEX);
assertRoundTripParcelable(builder.build());
builder.setUtcTime(new TimestampedValue<>(1111L, 2222L));
diff --git a/core/tests/coretests/src/android/app/timezonedetector/PhoneTimeZoneSuggestionTest.java b/core/tests/coretests/src/android/app/timezonedetector/PhoneTimeZoneSuggestionTest.java
index 0108a0bbab47..384dbf9fab07 100644
--- a/core/tests/coretests/src/android/app/timezonedetector/PhoneTimeZoneSuggestionTest.java
+++ b/core/tests/coretests/src/android/app/timezonedetector/PhoneTimeZoneSuggestionTest.java
@@ -26,17 +26,17 @@ import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class PhoneTimeZoneSuggestionTest {
- private static final int PHONE_ID = 99999;
+ private static final int SLOT_INDEX = 99999;
@Test
public void testEquals() {
- PhoneTimeZoneSuggestion.Builder builder1 = new PhoneTimeZoneSuggestion.Builder(PHONE_ID);
+ PhoneTimeZoneSuggestion.Builder builder1 = new PhoneTimeZoneSuggestion.Builder(SLOT_INDEX);
{
PhoneTimeZoneSuggestion one = builder1.build();
assertEquals(one, one);
}
- PhoneTimeZoneSuggestion.Builder builder2 = new PhoneTimeZoneSuggestion.Builder(PHONE_ID);
+ PhoneTimeZoneSuggestion.Builder builder2 = new PhoneTimeZoneSuggestion.Builder(SLOT_INDEX);
{
PhoneTimeZoneSuggestion one = builder1.build();
PhoneTimeZoneSuggestion two = builder2.build();
@@ -45,7 +45,7 @@ public class PhoneTimeZoneSuggestionTest {
}
PhoneTimeZoneSuggestion.Builder builder3 =
- new PhoneTimeZoneSuggestion.Builder(PHONE_ID + 1);
+ new PhoneTimeZoneSuggestion.Builder(SLOT_INDEX + 1);
{
PhoneTimeZoneSuggestion one = builder1.build();
PhoneTimeZoneSuggestion three = builder3.build();
@@ -120,7 +120,7 @@ public class PhoneTimeZoneSuggestionTest {
@Test(expected = RuntimeException.class)
public void testBuilderValidates_emptyZone_badMatchType() {
- PhoneTimeZoneSuggestion.Builder builder = new PhoneTimeZoneSuggestion.Builder(PHONE_ID);
+ PhoneTimeZoneSuggestion.Builder builder = new PhoneTimeZoneSuggestion.Builder(SLOT_INDEX);
// No zone ID, so match type should be left unset.
builder.setMatchType(PhoneTimeZoneSuggestion.MATCH_TYPE_NETWORK_COUNTRY_AND_OFFSET);
builder.build();
@@ -128,7 +128,7 @@ public class PhoneTimeZoneSuggestionTest {
@Test(expected = RuntimeException.class)
public void testBuilderValidates_zoneSet_badMatchType() {
- PhoneTimeZoneSuggestion.Builder builder = new PhoneTimeZoneSuggestion.Builder(PHONE_ID);
+ PhoneTimeZoneSuggestion.Builder builder = new PhoneTimeZoneSuggestion.Builder(SLOT_INDEX);
builder.setZoneId("Europe/London");
builder.setQuality(PhoneTimeZoneSuggestion.QUALITY_SINGLE_ZONE);
builder.build();
@@ -136,7 +136,7 @@ public class PhoneTimeZoneSuggestionTest {
@Test
public void testParcelable() {
- PhoneTimeZoneSuggestion.Builder builder = new PhoneTimeZoneSuggestion.Builder(PHONE_ID);
+ PhoneTimeZoneSuggestion.Builder builder = new PhoneTimeZoneSuggestion.Builder(SLOT_INDEX);
assertRoundTripParcelable(builder.build());
builder.setZoneId("Europe/London");
diff --git a/core/tests/coretests/src/android/content/ContentResolverTest.java b/core/tests/coretests/src/android/content/ContentResolverTest.java
index e140ad2a9a8f..9dcce1e51e0b 100644
--- a/core/tests/coretests/src/android/content/ContentResolverTest.java
+++ b/core/tests/coretests/src/android/content/ContentResolverTest.java
@@ -191,4 +191,22 @@ public class ContentResolverTest {
assertEquals(uri, ContentResolver
.translateDeprecatedDataPath(ContentResolver.translateDeprecatedDataPath(uri)));
}
+
+ @Test
+ public void testGetType_localProvider() {
+ // This provider is running in the same process as the test and is already registered with
+ // the ContentResolver when the application starts, see
+ // ActivityThread#installContentProviders. This allows ContentResolver to follow a
+ // streamlined code path.
+ String type = mResolver.getType(Uri.parse("content://android.content.FakeProviderLocal"));
+ assertEquals("fake/local", type);
+ }
+
+ @Test
+ public void testGetType_remoteProvider() {
+ // This provider is running in a different process, which will need to be started
+ // in order to acquire the provider
+ String type = mResolver.getType(Uri.parse("content://android.content.FakeProviderRemote"));
+ assertEquals("fake/remote", type);
+ }
}
diff --git a/core/tests/coretests/src/android/content/ContextTest.java b/core/tests/coretests/src/android/content/ContextTest.java
index b1a54dcced46..f074233070d1 100644
--- a/core/tests/coretests/src/android/content/ContextTest.java
+++ b/core/tests/coretests/src/android/content/ContextTest.java
@@ -48,6 +48,7 @@ public class ContextTest {
assertEquals(testContext.getDisplay().getDisplayId(), testContext.getDisplayId());
}
+ // TODO(b/128338354): Re-visit this test after introducing WindowContext
@Test
public void testDisplayIdForDefaultDisplayContext() {
final Context testContext =
diff --git a/core/tests/coretests/src/android/content/FakeProviderLocal.java b/core/tests/coretests/src/android/content/FakeProviderLocal.java
new file mode 100644
index 000000000000..a8c2f4059d50
--- /dev/null
+++ b/core/tests/coretests/src/android/content/FakeProviderLocal.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content;
+
+import android.database.Cursor;
+import android.net.Uri;
+
+/**
+ * A dummy content provider for tests. This provider runs in the same process as the test.
+ */
+public class FakeProviderLocal extends ContentProvider {
+
+ @Override
+ public boolean onCreate() {
+ return true;
+ }
+
+ @Override
+ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+ String sortOrder) {
+ return null;
+ }
+
+ @Override
+ public String getType(Uri uri) {
+ return "fake/local";
+ }
+
+ @Override
+ public Uri insert(Uri uri, ContentValues values) {
+ return null;
+ }
+
+ @Override
+ public int delete(Uri uri, String selection, String[] selectionArgs) {
+ return 0;
+ }
+
+ @Override
+ public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+ return 0;
+ }
+}
diff --git a/core/tests/coretests/src/android/content/FakeProviderRemote.java b/core/tests/coretests/src/android/content/FakeProviderRemote.java
new file mode 100644
index 000000000000..7b9bdbcd7a17
--- /dev/null
+++ b/core/tests/coretests/src/android/content/FakeProviderRemote.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content;
+
+import android.database.Cursor;
+import android.net.Uri;
+
+/**
+ * A dummy content provider for tests. This provider runs in a different process from the test.
+ */
+public class FakeProviderRemote extends ContentProvider {
+
+ @Override
+ public boolean onCreate() {
+ return true;
+ }
+
+ @Override
+ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+ String sortOrder) {
+ return null;
+ }
+
+ @Override
+ public String getType(Uri uri) {
+ return "fake/remote";
+ }
+
+ @Override
+ public Uri insert(Uri uri, ContentValues values) {
+ return null;
+ }
+
+ @Override
+ public int delete(Uri uri, String selection, String[] selectionArgs) {
+ return 0;
+ }
+
+ @Override
+ public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+ return 0;
+ }
+}
diff --git a/core/tests/coretests/src/android/content/integrity/AtomicFormulaTest.java b/core/tests/coretests/src/android/content/integrity/AtomicFormulaTest.java
index c0d9be5dde59..bf782034c8f1 100644
--- a/core/tests/coretests/src/android/content/integrity/AtomicFormulaTest.java
+++ b/core/tests/coretests/src/android/content/integrity/AtomicFormulaTest.java
@@ -16,11 +16,12 @@
package android.content.integrity;
-import static android.content.integrity.TestUtils.assertExpectException;
-
import static com.google.common.truth.Truth.assertThat;
+import static org.testng.Assert.expectThrows;
+
import android.content.integrity.AtomicFormula.BooleanAtomicFormula;
+import android.content.integrity.AtomicFormula.LongAtomicFormula;
import android.content.integrity.AtomicFormula.StringAtomicFormula;
import android.os.Parcel;
@@ -114,8 +115,8 @@ public class AtomicFormulaTest {
@Test
public void testValidAtomicFormula_longValue() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(
AtomicFormula.VERSION_CODE, AtomicFormula.GTE, 1);
assertThat(longAtomicFormula.getKey()).isEqualTo(AtomicFormula.VERSION_CODE);
@@ -133,35 +134,38 @@ public class AtomicFormulaTest {
@Test
public void testInvalidAtomicFormula_stringValue() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */
- String.format("Key VERSION_CODE cannot be used with StringAtomicFormula"),
- () ->
- new StringAtomicFormula(
- AtomicFormula.VERSION_CODE,
- "test-value",
- /* isHashedValue= */ false));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () ->
+ new StringAtomicFormula(
+ AtomicFormula.VERSION_CODE,
+ "test-value",
+ /* isHashedValue= */ false));
+ assertThat(e.getMessage()).matches(
+ "Key VERSION_CODE cannot be used with StringAtomicFormula");
}
@Test
public void testInvalidAtomicFormula_longValue() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */
- String.format("Key PACKAGE_NAME cannot be used with LongAtomicFormula"),
- () ->
- new AtomicFormula.LongAtomicFormula(
- AtomicFormula.PACKAGE_NAME, AtomicFormula.EQ, 1));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () ->
+ new LongAtomicFormula(
+ AtomicFormula.PACKAGE_NAME, AtomicFormula.EQ, 1));
+ assertThat(e.getMessage()).matches(
+ "Key PACKAGE_NAME cannot be used with LongAtomicFormula");
}
@Test
public void testInvalidAtomicFormula_boolValue() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */
- String.format("Key PACKAGE_NAME cannot be used with BooleanAtomicFormula"),
- () -> new BooleanAtomicFormula(AtomicFormula.PACKAGE_NAME, true));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () -> new BooleanAtomicFormula(AtomicFormula.PACKAGE_NAME, true));
+ assertThat(e.getMessage()).matches(
+ "Key PACKAGE_NAME cannot be used with BooleanAtomicFormula");
}
@Test
@@ -179,14 +183,14 @@ public class AtomicFormulaTest {
@Test
public void testParcelUnparcel_int() {
- AtomicFormula.LongAtomicFormula formula =
- new AtomicFormula.LongAtomicFormula(
+ LongAtomicFormula formula =
+ new LongAtomicFormula(
AtomicFormula.VERSION_CODE, AtomicFormula.GT, 1);
Parcel p = Parcel.obtain();
formula.writeToParcel(p, 0);
p.setDataPosition(0);
- AtomicFormula.LongAtomicFormula newFormula =
- AtomicFormula.LongAtomicFormula.CREATOR.createFromParcel(p);
+ LongAtomicFormula newFormula =
+ LongAtomicFormula.CREATOR.createFromParcel(p);
assertThat(newFormula).isEqualTo(formula);
}
@@ -205,20 +209,24 @@ public class AtomicFormulaTest {
@Test
public void testInvalidAtomicFormula_invalidKey() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */ "Unknown key: -1",
- () -> new AtomicFormula.LongAtomicFormula(/* key= */ -1, AtomicFormula.EQ, 0));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () -> new LongAtomicFormula(/* key= */ -1,
+ AtomicFormula.EQ, /* value= */0));
+ assertThat(e.getMessage()).matches("Unknown key: -1");
}
@Test
public void testInvalidAtomicFormula_invalidOperator() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */ "Unknown operator: -1",
- () ->
- new AtomicFormula.LongAtomicFormula(
- AtomicFormula.VERSION_CODE, /* operator= */ -1, 0));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () ->
+ new LongAtomicFormula(
+ AtomicFormula.VERSION_CODE, /* operator= */ -1, /* value= */
+ 0));
+ assertThat(e.getMessage()).matches("Unknown operator: -1");
}
@Test
@@ -245,10 +253,59 @@ public class AtomicFormulaTest {
assertThat(stringAtomicFormula.matches(appInstallMetadata)).isFalse();
}
+
+ @Test
+ public void testIsAppCertificateFormula_string_true() {
+ StringAtomicFormula stringAtomicFormula =
+ new StringAtomicFormula(
+ AtomicFormula.APP_CERTIFICATE, "cert", /* isHashedValue= */false);
+
+ assertThat(stringAtomicFormula.isAppCertificateFormula()).isTrue();
+ }
+
+ @Test
+ public void testIsAppCertificateFormula_string_false() {
+ StringAtomicFormula stringAtomicFormula =
+ new StringAtomicFormula(
+ AtomicFormula.PACKAGE_NAME, "com.test.app", /* isHashedValue= */
+ false);
+
+ assertThat(stringAtomicFormula.isAppCertificateFormula()).isFalse();
+ }
+
+ @Test
+ public void testIsInstallerFormula_string_false() {
+ StringAtomicFormula stringAtomicFormula =
+ new StringAtomicFormula(
+ AtomicFormula.APP_CERTIFICATE, "cert", /* isHashedValue= */false);
+
+ assertThat(stringAtomicFormula.isInstallerFormula()).isFalse();
+ }
+
+ @Test
+ public void testIsInstallerFormula_string_installerName_true() {
+ StringAtomicFormula stringAtomicFormula =
+ new StringAtomicFormula(
+ AtomicFormula.INSTALLER_NAME,
+ "com.test.installer",
+ /* isHashedValue= */false);
+
+ assertThat(stringAtomicFormula.isInstallerFormula()).isTrue();
+ }
+
+ @Test
+ public void testIsInstallerFormula_string_installerCertificate_true() {
+ StringAtomicFormula stringAtomicFormula =
+ new StringAtomicFormula(
+ AtomicFormula.INSTALLER_CERTIFICATE, "cert", /* isHashedValue= */false);
+
+ assertThat(stringAtomicFormula.isInstallerFormula()).isTrue();
+ }
+
@Test
public void testFormulaMatches_long_eq_true() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(
AtomicFormula.VERSION_CODE, AtomicFormula.EQ, 0);
AppInstallMetadata appInstallMetadata =
getAppInstallMetadataBuilder().setVersionCode(0).build();
@@ -258,8 +315,8 @@ public class AtomicFormulaTest {
@Test
public void testFormulaMatches_long_eq_false() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(
AtomicFormula.VERSION_CODE, AtomicFormula.EQ, 0);
AppInstallMetadata appInstallMetadata =
getAppInstallMetadataBuilder().setVersionCode(1).build();
@@ -269,8 +326,8 @@ public class AtomicFormulaTest {
@Test
public void testFormulaMatches_long_gt_true() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(AtomicFormula.VERSION_CODE, AtomicFormula.GT,
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(AtomicFormula.VERSION_CODE, AtomicFormula.GT,
0);
AppInstallMetadata appInstallMetadata =
getAppInstallMetadataBuilder().setVersionCode(1).build();
@@ -280,8 +337,8 @@ public class AtomicFormulaTest {
@Test
public void testFormulaMatches_long_gt_false() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(AtomicFormula.VERSION_CODE, AtomicFormula.GT,
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(AtomicFormula.VERSION_CODE, AtomicFormula.GT,
1);
AppInstallMetadata appInstallMetadata =
getAppInstallMetadataBuilder().setVersionCode(0).build();
@@ -291,8 +348,8 @@ public class AtomicFormulaTest {
@Test
public void testFormulaMatches_long_gte_true() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(
AtomicFormula.VERSION_CODE, AtomicFormula.GTE, 1);
AppInstallMetadata appInstallMetadata1 =
@@ -306,8 +363,8 @@ public class AtomicFormulaTest {
@Test
public void testFormulaMatches_long_gte_false() {
- AtomicFormula.LongAtomicFormula longAtomicFormula =
- new AtomicFormula.LongAtomicFormula(
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(
AtomicFormula.VERSION_CODE, AtomicFormula.GTE, 1);
AppInstallMetadata appInstallMetadata =
getAppInstallMetadataBuilder().setVersionCode(0).build();
@@ -316,6 +373,24 @@ public class AtomicFormulaTest {
}
@Test
+ public void testIsAppCertificateFormula_long_false() {
+ LongAtomicFormula longAtomicFormula =
+ new AtomicFormula.LongAtomicFormula(
+ AtomicFormula.VERSION_CODE, AtomicFormula.GTE, 1);
+
+ assertThat(longAtomicFormula.isAppCertificateFormula()).isFalse();
+ }
+
+ @Test
+ public void testIsInstallerFormula_long_false() {
+ LongAtomicFormula longAtomicFormula =
+ new LongAtomicFormula(
+ AtomicFormula.VERSION_CODE, AtomicFormula.GTE, 1);
+
+ assertThat(longAtomicFormula.isInstallerFormula()).isFalse();
+ }
+
+ @Test
public void testFormulaMatches_bool_true() {
BooleanAtomicFormula boolFormula =
new BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true);
@@ -335,6 +410,22 @@ public class AtomicFormulaTest {
assertThat(boolFormula.matches(appInstallMetadata)).isFalse();
}
+ @Test
+ public void testIsAppCertificateFormula_bool_false() {
+ BooleanAtomicFormula boolFormula =
+ new BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true);
+
+ assertThat(boolFormula.isAppCertificateFormula()).isFalse();
+ }
+
+ @Test
+ public void testIsInstallerFormula_bool_false() {
+ BooleanAtomicFormula boolFormula =
+ new BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true);
+
+ assertThat(boolFormula.isInstallerFormula()).isFalse();
+ }
+
/** Returns a builder with all fields filled with some dummy data. */
private AppInstallMetadata.Builder getAppInstallMetadataBuilder() {
return new AppInstallMetadata.Builder()
diff --git a/core/tests/coretests/src/android/content/integrity/CompoundFormulaTest.java b/core/tests/coretests/src/android/content/integrity/CompoundFormulaTest.java
index fa3d671c09e5..f47dfdd191fb 100644
--- a/core/tests/coretests/src/android/content/integrity/CompoundFormulaTest.java
+++ b/core/tests/coretests/src/android/content/integrity/CompoundFormulaTest.java
@@ -16,11 +16,9 @@
package android.content.integrity;
-import static android.content.integrity.TestUtils.assertExpectException;
-
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertEquals;
+import static org.testng.Assert.expectThrows;
import android.os.Parcel;
@@ -46,32 +44,32 @@ public class CompoundFormulaTest {
new CompoundFormula(
CompoundFormula.AND, Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2));
- assertEquals(CompoundFormula.AND, compoundFormula.getConnector());
- assertEquals(
- Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2), compoundFormula.getFormulas());
+ assertThat(compoundFormula.getConnector()).isEqualTo(CompoundFormula.AND);
+ assertThat(compoundFormula.getFormulas()).containsAllOf(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2);
}
@Test
public void testValidateAuxiliaryFormula_binaryConnectors() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */
- "Connector AND must have at least 2 formulas",
- () ->
- new CompoundFormula(
- CompoundFormula.AND, Collections.singletonList(ATOMIC_FORMULA_1)));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () ->
+ new CompoundFormula(
+ CompoundFormula.AND,
+ Collections.singletonList(ATOMIC_FORMULA_1)));
+ assertThat(e.getMessage()).matches("Connector AND must have at least 2 formulas");
}
@Test
public void testValidateAuxiliaryFormula_unaryConnectors() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */
- "Connector NOT must have 1 formula only",
- () ->
- new CompoundFormula(
- CompoundFormula.NOT,
- Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2)));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () ->
+ new CompoundFormula(
+ CompoundFormula.NOT,
+ Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2)));
+ assertThat(e.getMessage()).matches("Connector NOT must have 1 formula only");
}
@Test
@@ -82,20 +80,20 @@ public class CompoundFormulaTest {
Parcel p = Parcel.obtain();
formula.writeToParcel(p, 0);
p.setDataPosition(0);
- CompoundFormula newFormula = CompoundFormula.CREATOR.createFromParcel(p);
- assertEquals(formula, newFormula);
+ assertThat(CompoundFormula.CREATOR.createFromParcel(p)).isEqualTo(formula);
}
@Test
public void testInvalidCompoundFormula_invalidConnector() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */ "Unknown connector: -1",
- () ->
- new CompoundFormula(
- /* connector= */ -1,
- Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2)));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () ->
+ new CompoundFormula(
+ /* connector= */ -1,
+ Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2)));
+ assertThat(e.getMessage()).matches("Unknown connector: -1");
}
@Test
@@ -227,6 +225,63 @@ public class CompoundFormulaTest {
assertThat(compoundFormula.matches(appInstallMetadata)).isFalse();
}
+ @Test
+ public void testIsAppCertificateFormula_false() {
+ CompoundFormula compoundFormula =
+ new CompoundFormula(
+ CompoundFormula.AND, Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2));
+
+ assertThat(compoundFormula.isAppCertificateFormula()).isFalse();
+ }
+
+ @Test
+ public void testIsAppCertificateFormula_true() {
+ AtomicFormula appCertFormula =
+ new AtomicFormula.StringAtomicFormula(AtomicFormula.APP_CERTIFICATE,
+ "app.cert", /* isHashed= */false);
+ CompoundFormula compoundFormula =
+ new CompoundFormula(
+ CompoundFormula.AND,
+ Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2, appCertFormula));
+
+ assertThat(compoundFormula.isAppCertificateFormula()).isTrue();
+ }
+
+ @Test
+ public void testIsInstallerFormula_false() {
+ CompoundFormula compoundFormula =
+ new CompoundFormula(
+ CompoundFormula.AND, Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2));
+
+ assertThat(compoundFormula.isInstallerFormula()).isFalse();
+ }
+
+ @Test
+ public void testIsInstallerFormula_installerName_true() {
+ AtomicFormula installerNameFormula =
+ new AtomicFormula.StringAtomicFormula(AtomicFormula.INSTALLER_NAME,
+ "com.test.installer", /* isHashed= */false);
+ CompoundFormula compoundFormula =
+ new CompoundFormula(
+ CompoundFormula.AND,
+ Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2, installerNameFormula));
+
+ assertThat(compoundFormula.isInstallerFormula()).isTrue();
+ }
+
+ @Test
+ public void testIsInstallerFormula_installerCertificate_true() {
+ AtomicFormula installerCertificateFormula =
+ new AtomicFormula.StringAtomicFormula(AtomicFormula.INSTALLER_CERTIFICATE,
+ "cert", /* isHashed= */false);
+ CompoundFormula compoundFormula =
+ new CompoundFormula(
+ CompoundFormula.AND, Arrays.asList(ATOMIC_FORMULA_1, ATOMIC_FORMULA_2,
+ installerCertificateFormula));
+
+ assertThat(compoundFormula.isInstallerFormula()).isTrue();
+ }
+
/** Returns a builder with all fields filled with some dummy data. */
private AppInstallMetadata.Builder getAppInstallMetadataBuilder() {
return new AppInstallMetadata.Builder()
diff --git a/core/tests/coretests/src/android/content/integrity/IntegrityUtilsTest.java b/core/tests/coretests/src/android/content/integrity/IntegrityUtilsTest.java
index 639adf6a05d7..e6f6686dcb6f 100644
--- a/core/tests/coretests/src/android/content/integrity/IntegrityUtilsTest.java
+++ b/core/tests/coretests/src/android/content/integrity/IntegrityUtilsTest.java
@@ -18,6 +18,7 @@ package android.content.integrity;
import static com.google.common.truth.Truth.assertThat;
+import static org.testng.Assert.expectThrows;
import static org.testng.internal.junit.ArrayAsserts.assertArrayEquals;
import org.junit.Test;
@@ -43,15 +44,20 @@ public class IntegrityUtilsTest {
}
@Test
- public void testInvalidHexDigest() {
- TestUtils.assertExpectException(
- IllegalArgumentException.class,
- "must have even length",
- () -> IntegrityUtils.getBytesFromHexDigest("ABC"));
-
- TestUtils.assertExpectException(
- IllegalArgumentException.class,
- "Invalid hex char",
- () -> IntegrityUtils.getBytesFromHexDigest("GH"));
+ public void testInvalidHexDigest_mustHaveEvenLength() {
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () -> IntegrityUtils.getBytesFromHexDigest("ABC"));
+ assertThat(e.getMessage()).containsMatch("must have even length");
+ }
+
+ @Test
+ public void testInvalidHexDigest_invalidHexChar() {
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () -> IntegrityUtils.getBytesFromHexDigest("GH"));
+ assertThat(e.getMessage()).containsMatch("Invalid hex char");
}
}
diff --git a/core/tests/coretests/src/android/content/integrity/RuleTest.java b/core/tests/coretests/src/android/content/integrity/RuleTest.java
index 8c4cfca39e90..8faf8ba2f52a 100644
--- a/core/tests/coretests/src/android/content/integrity/RuleTest.java
+++ b/core/tests/coretests/src/android/content/integrity/RuleTest.java
@@ -16,10 +16,9 @@
package android.content.integrity;
-import static android.content.integrity.TestUtils.assertExpectException;
+import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.testng.Assert.expectThrows;
import android.os.Parcel;
@@ -50,16 +49,16 @@ public class RuleTest {
public void testValidRule() {
Rule validRule = new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT);
- assertEquals(PACKAGE_NAME_ATOMIC_FORMULA, validRule.getFormula());
- assertEquals(DENY_EFFECT, validRule.getEffect());
+ assertThat(validRule.getFormula()).isEqualTo(PACKAGE_NAME_ATOMIC_FORMULA);
+ assertThat(validRule.getEffect()).isEqualTo(DENY_EFFECT);
}
@Test
public void testInvalidRule_invalidFormula() {
- assertExpectException(
- NullPointerException.class,
- /* expectedExceptionMessageRegex */ null,
- () -> new Rule(null, DENY_EFFECT));
+ Exception e =
+ expectThrows(
+ NullPointerException.class,
+ () -> new Rule(null, DENY_EFFECT));
}
@Test
@@ -70,27 +69,23 @@ public class RuleTest {
Arrays.asList(PACKAGE_NAME_ATOMIC_FORMULA, APP_CERTIFICATE_ATOMIC_FORMULA));
Rule rule = new Rule(compoundFormula, Rule.DENY);
- assertEquals(
- String.format(
- "Rule: (PACKAGE_NAME EQ %s) AND (APP_CERTIFICATE EQ %s), DENY",
- PACKAGE_NAME, APP_CERTIFICATE),
- rule.toString());
+ assertThat(rule.toString())
+ .isEqualTo(
+ String.format(
+ "Rule: (PACKAGE_NAME EQ %s) AND (APP_CERTIFICATE EQ %s), DENY",
+ PACKAGE_NAME, APP_CERTIFICATE));
}
@Test
public void testEquals_trueCase() {
- Rule rule1 = new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT);
- Rule rule2 = new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT);
-
- assertEquals(rule1, rule2);
+ assertThat(new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT))
+ .isEqualTo(new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT));
}
@Test
public void testEquals_falseCase() {
- Rule rule1 = new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT);
- Rule rule2 = new Rule(APP_CERTIFICATE_ATOMIC_FORMULA, DENY_EFFECT);
-
- assertNotEquals(rule1, rule2);
+ assertThat(new Rule(PACKAGE_NAME_ATOMIC_FORMULA, DENY_EFFECT))
+ .isNotEqualTo(new Rule(APP_CERTIFICATE_ATOMIC_FORMULA, DENY_EFFECT));
}
@Test
@@ -108,16 +103,16 @@ public class RuleTest {
Parcel p = Parcel.obtain();
rule.writeToParcel(p, 0);
p.setDataPosition(0);
- Rule newRule = Rule.CREATOR.createFromParcel(p);
- assertEquals(newRule, rule);
+ assertThat(Rule.CREATOR.createFromParcel(p)).isEqualTo(rule);
}
@Test
public void testInvalidRule_invalidEffect() {
- assertExpectException(
- IllegalArgumentException.class,
- /* expectedExceptionMessageRegex */ "Unknown effect: -1",
- () -> new Rule(PACKAGE_NAME_ATOMIC_FORMULA, /* effect= */ -1));
+ Exception e =
+ expectThrows(
+ IllegalArgumentException.class,
+ () -> new Rule(PACKAGE_NAME_ATOMIC_FORMULA, /* effect= */ -1));
+ assertThat(e.getMessage()).isEqualTo("Unknown effect: -1");
}
}
diff --git a/core/tests/coretests/src/android/content/integrity/TestUtils.java b/core/tests/coretests/src/android/content/integrity/TestUtils.java
deleted file mode 100644
index af984cf318f5..000000000000
--- a/core/tests/coretests/src/android/content/integrity/TestUtils.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.content.integrity;
-
-import android.test.MoreAsserts;
-
-import junit.framework.Assert;
-
-/** Helper methods used in tests. */
-class TestUtils {
- private TestUtils() {}
-
- public interface ExceptionRunnable {
- void run() throws Exception;
- }
-
- public static void assertExpectException(
- Class<? extends Throwable> expectedExceptionType,
- String expectedExceptionMessageRegex,
- ExceptionRunnable r) {
- try {
- r.run();
- } catch (Throwable e) {
- Assert.assertTrue(
- "Expected exception type was "
- + expectedExceptionType.getName()
- + " but caught "
- + e.getClass().getName(),
- expectedExceptionType.isAssignableFrom(e.getClass()));
- if (expectedExceptionMessageRegex != null) {
- MoreAsserts.assertContainsRegex(expectedExceptionMessageRegex, e.getMessage());
- }
- return; // Pass.
- }
- Assert.fail(
- "Expected exception type " + expectedExceptionType.getName() + " was not thrown");
- }
-}
diff --git a/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java b/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java
index a2dab996a8d7..df5c9d2df90b 100644
--- a/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java
+++ b/core/tests/coretests/src/android/content/res/ResourcesManagerTest.java
@@ -72,12 +72,12 @@ public class ResourcesManagerTest extends TestCase {
public void testMultipleCallsWithIdenticalParametersCacheReference() {
Resources resources = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources);
Resources newResources = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(newResources);
assertSame(resources, newResources);
}
@@ -86,14 +86,14 @@ public class ResourcesManagerTest extends TestCase {
public void testMultipleCallsWithDifferentParametersReturnDifferentReferences() {
Resources resources = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources);
Configuration overrideConfig = new Configuration();
overrideConfig.smallestScreenWidthDp = 200;
Resources newResources = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, overrideConfig,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(newResources);
assertNotSame(resources, newResources);
}
@@ -102,12 +102,13 @@ public class ResourcesManagerTest extends TestCase {
public void testAddingASplitCreatesANewImpl() {
Resources resources1 = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources1);
Resources resources2 = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, new String[] { APP_ONE_RES_SPLIT_DIR }, null, null,
- Display.DEFAULT_DISPLAY, null, CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ Display.DEFAULT_DISPLAY, null, CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO,null,
+ null);
assertNotNull(resources2);
assertNotSame(resources1, resources2);
@@ -118,12 +119,12 @@ public class ResourcesManagerTest extends TestCase {
public void testUpdateConfigurationUpdatesAllAssetManagers() {
Resources resources1 = mResourcesManager.getResources(
null, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources1);
Resources resources2 = mResourcesManager.getResources(
null, APP_TWO_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources2);
Binder activity = new Binder();
@@ -131,7 +132,7 @@ public class ResourcesManagerTest extends TestCase {
overrideConfig.orientation = Configuration.ORIENTATION_LANDSCAPE;
Resources resources3 = mResourcesManager.getResources(
activity, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY,
- overrideConfig, CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ overrideConfig, CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources3);
// No Resources object should be the same.
@@ -164,13 +165,13 @@ public class ResourcesManagerTest extends TestCase {
Binder activity1 = new Binder();
Resources resources1 = mResourcesManager.getResources(
activity1, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources1);
Binder activity2 = new Binder();
Resources resources2 = mResourcesManager.getResources(
activity2, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources1);
// The references themselves should be unique.
@@ -185,7 +186,7 @@ public class ResourcesManagerTest extends TestCase {
Binder activity1 = new Binder();
Resources resources1 = mResourcesManager.createBaseActivityResources(
activity1, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, null,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources1);
Resources.Theme theme = resources1.newTheme();
@@ -218,7 +219,7 @@ public class ResourcesManagerTest extends TestCase {
config1.densityDpi = 280;
Resources resources1 = mResourcesManager.createBaseActivityResources(
activity1, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, config1,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources1);
// Create a Resources based on the Activity.
@@ -226,7 +227,7 @@ public class ResourcesManagerTest extends TestCase {
config2.screenLayout |= Configuration.SCREENLAYOUT_ROUND_YES;
Resources resources2 = mResourcesManager.getResources(
activity1, APP_ONE_RES_DIR, null, null, null, Display.DEFAULT_DISPLAY, config2,
- CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null);
+ CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, null, null);
assertNotNull(resources2);
assertNotSame(resources1, resources2);
diff --git a/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java b/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java
index 3dc998709b8f..7338c3a3ea8a 100644
--- a/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java
+++ b/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java
@@ -145,9 +145,6 @@ public class AdaptiveIconDrawableTest extends AndroidTestCase {
assertEquals("top", boundFromDrawable.top, boundFromDeviceConfig.top, delta);
assertEquals("right", boundFromDrawable.right, boundFromDeviceConfig.right, delta);
assertEquals("bottom", boundFromDrawable.bottom, boundFromDeviceConfig.bottom, delta);
-
- assertTrue("path from device config is convex.", pathFromDeviceConfig.isConvex());
- assertTrue("path from drawable is convex.", pathFromDrawable.isConvex());
}
@Test
@@ -169,8 +166,6 @@ public class AdaptiveIconDrawableTest extends AndroidTestCase {
assertEquals("top", top, maskBounds.top, delta);
assertEquals("right", right, maskBounds.right, delta);
assertEquals("bottom", bottom, maskBounds.bottom, delta);
-
- assertTrue(mIconDrawable.getIconMask().isConvex());
}
@Test
@@ -185,7 +180,6 @@ public class AdaptiveIconDrawableTest extends AndroidTestCase {
mIconDrawable.setBounds(left, top, right, bottom);
Outline outline = new Outline();
mIconDrawable.getOutline(outline);
- assertTrue("outline path should be convex", outline.mPath.isConvex());
}
@Test
diff --git a/core/tests/coretests/src/android/os/PowerManagerTest.java b/core/tests/coretests/src/android/os/PowerManagerTest.java
index 5cb7852f7acc..ea0a0fd49f9f 100644
--- a/core/tests/coretests/src/android/os/PowerManagerTest.java
+++ b/core/tests/coretests/src/android/os/PowerManagerTest.java
@@ -214,6 +214,9 @@ public class PowerManagerTest extends AndroidTestCase {
}
// Add listener2 on main thread.
mPm.addThermalStatusListener(mListener2);
+ verify(mListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+ .times(1)).onThermalStatusChanged(status);
+ reset(mListener2);
status = PowerManager.THERMAL_STATUS_MODERATE;
mUiDevice.executeShellCommand("cmd thermalservice override-status "
+ Integer.toString(status));
diff --git a/core/tests/coretests/src/android/util/GridScenario.java b/core/tests/coretests/src/android/util/GridScenario.java
index 0f1730e207d5..4809a213ab48 100644
--- a/core/tests/coretests/src/android/util/GridScenario.java
+++ b/core/tests/coretests/src/android/util/GridScenario.java
@@ -233,7 +233,7 @@ public abstract class GridScenario extends Activity {
// turn off title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
- mScreenHeight = getWindowManager().getDefaultDisplay().getHeight();
+ mScreenHeight = getWindowManager().getCurrentWindowMetrics().getSize().getHeight();
final Params params = new Params();
init(params);
diff --git a/core/tests/coretests/src/android/util/ListScenario.java b/core/tests/coretests/src/android/util/ListScenario.java
index 129484af75de..d4e5a438d855 100644
--- a/core/tests/coretests/src/android/util/ListScenario.java
+++ b/core/tests/coretests/src/android/util/ListScenario.java
@@ -306,7 +306,7 @@ public abstract class ListScenario extends Activity {
requestWindowFeature(Window.FEATURE_NO_TITLE);
- mScreenHeight = getWindowManager().getDefaultDisplay().getHeight();
+ mScreenHeight = getWindowManager().getCurrentWindowMetrics().getSize().getHeight();
final Params params = createParams();
init(params);
diff --git a/core/tests/coretests/src/android/util/ScrollViewScenario.java b/core/tests/coretests/src/android/util/ScrollViewScenario.java
index e9eb978805bf..2c0aa7362dfa 100644
--- a/core/tests/coretests/src/android/util/ScrollViewScenario.java
+++ b/core/tests/coretests/src/android/util/ScrollViewScenario.java
@@ -239,7 +239,7 @@ public abstract class ScrollViewScenario extends Activity {
// for test stability, turn off title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
- int screenHeight = getWindowManager().getDefaultDisplay().getHeight()
+ int screenHeight = getWindowManager().getCurrentWindowMetrics().getSize().getHeight()
- 25;
mLinearLayout = new LinearLayout(this);
mLinearLayout.setOrientation(LinearLayout.VERTICAL);
diff --git a/core/tests/coretests/src/android/view/BigCache.java b/core/tests/coretests/src/android/view/BigCache.java
index 6a1bcaaf2d00..e465a859218a 100644
--- a/core/tests/coretests/src/android/view/BigCache.java
+++ b/core/tests/coretests/src/android/view/BigCache.java
@@ -18,6 +18,7 @@ package android.view;
import android.app.Activity;
import android.os.Bundle;
+import android.util.Size;
import android.widget.LinearLayout;
import android.widget.ScrollView;
@@ -38,9 +39,9 @@ public class BigCache extends Activity {
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
final int cacheSize = ViewConfiguration.getMaximumDrawingCacheSize();
- final Display display = getWindowManager().getDefaultDisplay();
- final int screenWidth = display.getWidth();
- final int screenHeight = display.getHeight();
+ final Size windowSize = getWindowManager().getCurrentWindowMetrics().getSize();
+ final int screenWidth = windowSize.getWidth();
+ final int screenHeight = windowSize.getHeight();
final View tiny = new View(this);
tiny.setId(R.id.a);
diff --git a/core/tests/coretests/src/android/view/InsetsAnimationControlImplTest.java b/core/tests/coretests/src/android/view/InsetsAnimationControlImplTest.java
index bcf0b8ce4439..bdb802195d8b 100644
--- a/core/tests/coretests/src/android/view/InsetsAnimationControlImplTest.java
+++ b/core/tests/coretests/src/android/view/InsetsAnimationControlImplTest.java
@@ -109,13 +109,14 @@ public class InsetsAnimationControlImplTest {
InsetsSourceConsumer topConsumer = new InsetsSourceConsumer(ITYPE_STATUS_BAR, mInsetsState,
() -> mMockTransaction, mMockController);
topConsumer.setControl(
- new InsetsSourceControl(ITYPE_STATUS_BAR, mTopLeash, new Point(0, 0)));
+ new InsetsSourceControl(ITYPE_STATUS_BAR, mTopLeash, new Point(0, 0)),
+ new int[1], new int[1]);
InsetsSourceConsumer navConsumer = new InsetsSourceConsumer(ITYPE_NAVIGATION_BAR,
mInsetsState, () -> mMockTransaction, mMockController);
- navConsumer.hide();
navConsumer.setControl(new InsetsSourceControl(ITYPE_NAVIGATION_BAR, mNavLeash,
- new Point(400, 0)));
+ new Point(400, 0)), new int[1], new int[1]);
+ navConsumer.hide();
SparseArray<InsetsSourceControl> controls = new SparseArray<>();
controls.put(ITYPE_STATUS_BAR, topConsumer.getControl());
@@ -176,8 +177,6 @@ public class InsetsAnimationControlImplTest {
when(mMockController.getState()).thenReturn(mInsetsState);
mController.finish(true /* shown */);
mController.applyChangeInsets(mInsetsState);
- assertTrue(mInsetsState.getSource(ITYPE_STATUS_BAR).isVisible());
- assertTrue(mInsetsState.getSource(ITYPE_NAVIGATION_BAR).isVisible());
assertEquals(Insets.of(0, 100, 100, 0), mController.getCurrentInsets());
verify(mMockController).notifyFinished(eq(mController), eq(true /* shown */));
}
diff --git a/core/tests/coretests/src/android/view/InsetsControllerTest.java b/core/tests/coretests/src/android/view/InsetsControllerTest.java
index f720c987a525..2c9dba1d59fd 100644
--- a/core/tests/coretests/src/android/view/InsetsControllerTest.java
+++ b/core/tests/coretests/src/android/view/InsetsControllerTest.java
@@ -19,10 +19,13 @@ package android.view;
import static android.view.InsetsController.ANIMATION_TYPE_HIDE;
import static android.view.InsetsController.ANIMATION_TYPE_NONE;
import static android.view.InsetsController.ANIMATION_TYPE_SHOW;
+import static android.view.InsetsSourceConsumer.ShowResult.IME_SHOW_DELAYED;
+import static android.view.InsetsSourceConsumer.ShowResult.SHOW_IMMEDIATELY;
import static android.view.InsetsState.ITYPE_IME;
import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
import static android.view.InsetsState.ITYPE_STATUS_BAR;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
+import static android.view.WindowInsets.Type.ime;
import static android.view.WindowInsets.Type.statusBars;
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
@@ -32,6 +35,8 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.notNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -41,6 +46,7 @@ import android.graphics.Insets;
import android.graphics.Point;
import android.graphics.Rect;
import android.platform.test.annotations.Presubmit;
+import android.view.SurfaceControl.Transaction;
import android.view.WindowInsets.Type;
import android.view.WindowManager.BadTokenException;
import android.view.WindowManager.LayoutParams;
@@ -48,6 +54,9 @@ import android.view.animation.LinearInterpolator;
import android.view.test.InsetsModeSession;
import android.widget.TextView;
+import com.android.server.testutils.OffsettableClock;
+import com.android.server.testutils.TestHandler;
+
import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
@@ -59,6 +68,7 @@ import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import java.util.concurrent.CountDownLatch;
+import java.util.function.Supplier;
/**
* Tests for {@link InsetsController}.
@@ -77,6 +87,8 @@ public class InsetsControllerTest {
private SurfaceSession mSession = new SurfaceSession();
private SurfaceControl mLeash;
private ViewRootImpl mViewRoot;
+ private TestHandler mTestHandler;
+ private OffsettableClock mTestClock;
private static InsetsModeSession sInsetsModeSession;
@BeforeClass
@@ -103,7 +115,37 @@ public class InsetsControllerTest {
} catch (BadTokenException e) {
// activity isn't running, we will ignore BadTokenException.
}
- mController = new InsetsController(mViewRoot);
+ mTestClock = new OffsettableClock();
+ mTestHandler = new TestHandler(null, mTestClock);
+ mController = new InsetsController(mViewRoot, (controller, type) -> {
+ if (type == ITYPE_IME) {
+ return new InsetsSourceConsumer(type, controller.getState(),
+ Transaction::new, controller) {
+
+ private boolean mImeRequestedShow;
+
+ @Override
+ public void show(boolean fromIme) {
+ super.show(fromIme);
+ if (fromIme) {
+ mImeRequestedShow = true;
+ }
+ }
+
+ @Override
+ public int requestShow(boolean fromController) {
+ if (fromController || mImeRequestedShow) {
+ return SHOW_IMMEDIATELY;
+ } else {
+ return IME_SHOW_DELAYED;
+ }
+ }
+ };
+ } else {
+ return new InsetsSourceConsumer(type, controller.getState(), Transaction::new,
+ controller);
+ }
+ }, mTestHandler);
final Rect rect = new Rect(5, 5, 5, 5);
mController.getState().getSource(ITYPE_STATUS_BAR).setFrame(new Rect(0, 0, 100, 10));
mController.getState().getSource(ITYPE_NAVIGATION_BAR).setFrame(
@@ -368,6 +410,84 @@ public class InsetsControllerTest {
}
@Test
+ public void testRestoreStartsAnimation() {
+ InsetsSourceControl control =
+ new InsetsSourceControl(ITYPE_STATUS_BAR, mLeash, new Point());
+ mController.onControlsChanged(new InsetsSourceControl[]{control});
+
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ mController.hide(Type.statusBars());
+ mController.cancelExistingAnimation();
+ assertFalse(mController.getSourceConsumer(ITYPE_STATUS_BAR).isRequestedVisible());
+ assertFalse(mController.getState().getSource(ITYPE_STATUS_BAR).isVisible());
+
+ // Loosing control
+ InsetsState state = new InsetsState(mController.getState());
+ state.setSourceVisible(ITYPE_STATUS_BAR, true);
+ mController.onStateChanged(state);
+ mController.onControlsChanged(new InsetsSourceControl[0]);
+ assertFalse(mController.getSourceConsumer(ITYPE_STATUS_BAR).isRequestedVisible());
+ assertTrue(mController.getState().getSource(ITYPE_STATUS_BAR).isVisible());
+
+ // Gaining control
+ mController.onControlsChanged(new InsetsSourceControl[]{control});
+ assertEquals(ANIMATION_TYPE_HIDE, mController.getAnimationType(ITYPE_STATUS_BAR));
+ mController.cancelExistingAnimation();
+ assertFalse(mController.getSourceConsumer(ITYPE_STATUS_BAR).isRequestedVisible());
+ assertFalse(mController.getState().getSource(ITYPE_STATUS_BAR).isVisible());
+ });
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+ }
+
+ @Test
+ public void testStartImeAnimationAfterGettingControl() {
+ InsetsSourceControl control =
+ new InsetsSourceControl(ITYPE_IME, mLeash, new Point());
+
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+
+ mController.show(ime());
+ assertFalse(mController.getState().getSource(ITYPE_IME).isVisible());
+
+ // Pretend IME is calling
+ mController.show(ime(), true /* fromIme */);
+
+ // Gaining control shortly after
+ mController.onControlsChanged(new InsetsSourceControl[]{control});
+
+ assertEquals(ANIMATION_TYPE_SHOW, mController.getAnimationType(ITYPE_IME));
+ mController.cancelExistingAnimation();
+ assertTrue(mController.getSourceConsumer(ITYPE_IME).isRequestedVisible());
+ assertTrue(mController.getState().getSource(ITYPE_IME).isVisible());
+ });
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+ }
+
+ @Test
+ public void testStartImeAnimationAfterGettingControl_imeLater() {
+ InsetsSourceControl control =
+ new InsetsSourceControl(ITYPE_IME, mLeash, new Point());
+
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+
+ mController.show(ime());
+ assertFalse(mController.getState().getSource(ITYPE_IME).isVisible());
+
+ // Gaining control shortly after
+ mController.onControlsChanged(new InsetsSourceControl[]{control});
+
+ // Pretend IME is calling
+ mController.show(ime(), true /* fromIme */);
+
+ assertEquals(ANIMATION_TYPE_SHOW, mController.getAnimationType(ITYPE_IME));
+ mController.cancelExistingAnimation();
+ assertTrue(mController.getSourceConsumer(ITYPE_IME).isRequestedVisible());
+ assertTrue(mController.getState().getSource(ITYPE_IME).isVisible());
+ });
+ InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+ }
+
+ @Test
public void testAnimationEndState_controller() throws Exception {
InsetsSourceControl control =
new InsetsSourceControl(ITYPE_STATUS_BAR, mLeash, new Point());
@@ -395,6 +515,71 @@ public class InsetsControllerTest {
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
}
+ @Test
+ public void testControlImeNotReady() {
+ prepareControls();
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ WindowInsetsAnimationControlListener listener =
+ mock(WindowInsetsAnimationControlListener.class);
+ mController.controlWindowInsetsAnimation(ime(), 0, new LinearInterpolator(), listener);
+
+ // Ready gets deferred until next predraw
+ mViewRoot.getView().getViewTreeObserver().dispatchOnPreDraw();
+
+ verify(listener, never()).onReady(any(), anyInt());
+
+ // Pretend that IME is calling.
+ mController.show(ime(), true);
+
+ // Ready gets deferred until next predraw
+ mViewRoot.getView().getViewTreeObserver().dispatchOnPreDraw();
+
+ verify(listener).onReady(notNull(), eq(ime()));
+
+ });
+ }
+
+ @Test
+ public void testControlImeNotReady_controlRevoked() {
+ prepareControls();
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ WindowInsetsAnimationControlListener listener =
+ mock(WindowInsetsAnimationControlListener.class);
+ mController.controlWindowInsetsAnimation(ime(), 0, new LinearInterpolator(), listener);
+
+ // Ready gets deferred until next predraw
+ mViewRoot.getView().getViewTreeObserver().dispatchOnPreDraw();
+
+ verify(listener, never()).onReady(any(), anyInt());
+
+ // Pretend that we are losing control
+ mController.onControlsChanged(new InsetsSourceControl[0]);
+
+ verify(listener).onCancelled();
+ });
+ }
+
+ @Test
+ public void testControlImeNotReady_timeout() {
+ prepareControls();
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ WindowInsetsAnimationControlListener listener =
+ mock(WindowInsetsAnimationControlListener.class);
+ mController.controlWindowInsetsAnimation(ime(), 0, new LinearInterpolator(), listener);
+
+ // Ready gets deferred until next predraw
+ mViewRoot.getView().getViewTreeObserver().dispatchOnPreDraw();
+
+ verify(listener, never()).onReady(any(), anyInt());
+
+ // Pretend that timeout is happening
+ mTestClock.fastForward(2500);
+ mTestHandler.timeAdvance();
+
+ verify(listener).onCancelled();
+ });
+ }
+
private void waitUntilNextFrame() throws Exception {
final CountDownLatch latch = new CountDownLatch(1);
Choreographer.getMainThreadInstance().postCallback(Choreographer.CALLBACK_COMMIT,
diff --git a/core/tests/coretests/src/android/view/InsetsSourceConsumerTest.java b/core/tests/coretests/src/android/view/InsetsSourceConsumerTest.java
index 492c03653990..5e9e2f0065ed 100644
--- a/core/tests/coretests/src/android/view/InsetsSourceConsumerTest.java
+++ b/core/tests/coretests/src/android/view/InsetsSourceConsumerTest.java
@@ -18,6 +18,8 @@ package android.view;
import static android.view.InsetsState.ITYPE_STATUS_BAR;
+import static android.view.WindowInsets.Type.statusBars;
+import static junit.framework.Assert.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertTrue;
@@ -90,34 +92,44 @@ public class InsetsSourceConsumerTest {
});
instrumentation.waitForIdleSync();
- mConsumer.setControl(new InsetsSourceControl(ITYPE_STATUS_BAR, mLeash, new Point()));
+ mConsumer.setControl(new InsetsSourceControl(ITYPE_STATUS_BAR, mLeash, new Point()),
+ new int[1], new int[1]);
}
@Test
public void testHide() {
- mConsumer.hide();
- assertFalse("Consumer should not be visible", mConsumer.isRequestedVisible());
- verify(mSpyInsetsSource).setVisible(eq(false));
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ mConsumer.hide();
+ assertFalse("Consumer should not be visible", mConsumer.isRequestedVisible());
+ verify(mSpyInsetsSource).setVisible(eq(false));
+ });
+
}
@Test
public void testShow() {
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ // Insets source starts out visible
+ mConsumer.hide();
+ mConsumer.show(false /* fromIme */);
+ assertTrue("Consumer should be visible", mConsumer.isRequestedVisible());
+ verify(mSpyInsetsSource).setVisible(eq(false));
+ verify(mSpyInsetsSource).setVisible(eq(true));
+ });
- // Insets source starts out visible
- mConsumer.hide();
- mConsumer.show();
- assertTrue("Consumer should be visible", mConsumer.isRequestedVisible());
- verify(mSpyInsetsSource).setVisible(eq(false));
- verify(mSpyInsetsSource).setVisible(eq(true));
}
@Test
public void testRestore() {
- mConsumer.setControl(null);
- reset(mMockTransaction);
- mConsumer.hide();
- verifyZeroInteractions(mMockTransaction);
- mConsumer.setControl(new InsetsSourceControl(ITYPE_STATUS_BAR, mLeash, new Point()));
- verify(mMockTransaction).hide(eq(mLeash));
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+ mConsumer.setControl(null, new int[1], new int[1]);
+ reset(mMockTransaction);
+ mConsumer.hide();
+ verifyZeroInteractions(mMockTransaction);
+ int[] hideTypes = new int[1];
+ mConsumer.setControl(new InsetsSourceControl(ITYPE_STATUS_BAR, mLeash, new Point()),
+ new int[1], hideTypes);
+ assertEquals(statusBars(), hideTypes[0]);
+ });
}
}
diff --git a/core/tests/coretests/src/android/view/InsetsSourceTest.java b/core/tests/coretests/src/android/view/InsetsSourceTest.java
index e3b08bb14e46..756d63d2857d 100644
--- a/core/tests/coretests/src/android/view/InsetsSourceTest.java
+++ b/core/tests/coretests/src/android/view/InsetsSourceTest.java
@@ -16,6 +16,7 @@
package android.view;
+import static android.view.InsetsState.ITYPE_IME;
import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
import static org.junit.Assert.assertEquals;
@@ -44,10 +45,12 @@ import org.junit.runner.RunWith;
public class InsetsSourceTest {
private InsetsSource mSource = new InsetsSource(ITYPE_NAVIGATION_BAR);
+ private InsetsSource mImeSource = new InsetsSource(ITYPE_IME);
@Before
public void setUp() {
mSource.setVisible(true);
+ mImeSource.setVisible(true);
}
@Test
@@ -91,6 +94,14 @@ public class InsetsSourceTest {
}
@Test
+ public void testCalculateInsets_ime_leftCutout() {
+ mImeSource.setFrame(new Rect(100, 400, 500, 500));
+ Insets insets = mImeSource.calculateInsets(new Rect(0, 0, 500, 500),
+ false /* ignoreVisibility */);
+ assertEquals(Insets.of(0, 0, 0, 100), insets);
+ }
+
+ @Test
public void testCalculateInsets_invisible() {
mSource.setFrame(new Rect(0, 0, 500, 100));
mSource.setVisible(false);
diff --git a/core/tests/coretests/src/android/view/InsetsStateTest.java b/core/tests/coretests/src/android/view/InsetsStateTest.java
index 20be8c22ccfc..79ac2b77dda5 100644
--- a/core/tests/coretests/src/android/view/InsetsStateTest.java
+++ b/core/tests/coretests/src/android/view/InsetsStateTest.java
@@ -213,6 +213,7 @@ public class InsetsStateTest {
@Test
public void testParcelUnparcel() {
mState.getSource(ITYPE_IME).setFrame(new Rect(0, 0, 100, 100));
+ mState.getSource(ITYPE_IME).setVisibleFrame(new Rect(0, 0, 50, 10));
mState.getSource(ITYPE_IME).setVisible(true);
mState.getSource(ITYPE_STATUS_BAR).setFrame(new Rect(0, 0, 100, 100));
Parcel p = Parcel.obtain();
@@ -224,6 +225,16 @@ public class InsetsStateTest {
}
@Test
+ public void testCopy() {
+ mState.getSource(ITYPE_IME).setFrame(new Rect(0, 0, 100, 100));
+ mState.getSource(ITYPE_IME).setVisibleFrame(new Rect(0, 0, 50, 10));
+ mState.getSource(ITYPE_IME).setVisible(true);
+ mState.getSource(ITYPE_STATUS_BAR).setFrame(new Rect(0, 0, 100, 100));
+ mState2.set(mState, true);
+ assertEquals(mState, mState2);
+ }
+
+ @Test
public void testGetDefaultVisibility() {
assertTrue(InsetsState.getDefaultVisibility(ITYPE_STATUS_BAR));
assertTrue(InsetsState.getDefaultVisibility(ITYPE_NAVIGATION_BAR));
diff --git a/core/tests/coretests/src/android/view/ScaleGestureDetectorTest.java b/core/tests/coretests/src/android/view/ScaleGestureDetectorTest.java
index f63a4548b478..039387c85b11 100644
--- a/core/tests/coretests/src/android/view/ScaleGestureDetectorTest.java
+++ b/core/tests/coretests/src/android/view/ScaleGestureDetectorTest.java
@@ -22,8 +22,7 @@ import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import android.content.Context;
-import android.util.DisplayMetrics;
+import android.util.Size;
import android.widget.TextView;
import androidx.test.filters.LargeTest;
@@ -54,25 +53,23 @@ public class ScaleGestureDetectorTest {
final float initialScaleFactor = 1.0f;
assertEquals(initialScaleFactor, mScaleGestureActivity.getScaleFactor(), 0f);
- // Specify start and end coordinates, irrespective of device display size.
- final DisplayMetrics dm = new DisplayMetrics();
- final WindowManager wm = (WindowManager) (mScaleGestureActivity.getApplicationContext())
- .getSystemService(Context.WINDOW_SERVICE);
- wm.getDefaultDisplay().getMetrics(dm);
- final int displayWidth = dm.widthPixels;
- final int displayHeight = dm.heightPixels;
+ // Specify start and end coordinates with respect to the window size.
+ final WindowManager wm = mScaleGestureActivity.getSystemService(WindowManager.class);
+ final Size windowSize = wm.getCurrentWindowMetrics().getSize();
+ final int windowWidth = windowSize.getWidth();
+ final int windowHeight = windowSize.getHeight();
// Obtain coordinates to perform pinch and zoom from the center, to 75% of the display.
- final int centerX = displayWidth / 2;
- final int centerY = displayHeight / 2;
+ final int centerX = windowWidth / 2;
+ final int centerY = windowHeight / 2;
// Offset center coordinates by one, so that the two starting points are different.
final float[] firstFingerStartCoords = new float[] {centerX + 1.0f, centerY - 1.0f};
final float[] firstFingerEndCoords =
- new float[] {0.75f * displayWidth, 0.25f * displayHeight};
+ new float[] {0.75f * windowWidth, 0.25f * windowHeight};
final float[] secondFingerStartCoords = new float[] {centerX - 1.0f, centerY + 1.0f};
final float[] secondFingerEndCoords =
- new float[] {0.25f * displayWidth, 0.75f * displayHeight};
+ new float[] {0.25f * windowWidth, 0.75f * windowHeight};
onView(withId(R.id.article)).perform(new PinchZoomAction(firstFingerStartCoords,
firstFingerEndCoords, secondFingerStartCoords, secondFingerEndCoords,
diff --git a/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java b/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java
index 9f259a841319..d70572444128 100644
--- a/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java
+++ b/core/tests/coretests/src/android/view/inputmethod/InputMethodManagerTest.java
@@ -16,11 +16,13 @@
package android.view.inputmethod;
+import static android.view.Display.DEFAULT_DISPLAY;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import android.content.Context;
-import android.view.WindowManager;
+import android.hardware.display.DisplayManager;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.SmallTest;
@@ -43,9 +45,9 @@ public class InputMethodManagerTest {
final Context testContext = InstrumentationRegistry.getInstrumentation()
.getTargetContext();
- final WindowManager wm = testContext.getSystemService(WindowManager.class);
+ final DisplayManager dm = testContext.getSystemService(DisplayManager.class);
final Context defaultDisplayContext =
- testContext.createDisplayContext(wm.getDefaultDisplay());
+ testContext.createDisplayContext(dm.getDisplay(DEFAULT_DISPLAY));
final InputMethodManager imm =
defaultDisplayContext.getSystemService(InputMethodManager.class);
assertEquals("InputMethodManager.getInstance() always returns the instance for the default"
diff --git a/core/tests/coretests/src/android/view/menu/ContextMenuTest.java b/core/tests/coretests/src/android/view/menu/ContextMenuTest.java
index ba85d765ceda..d5825e20163c 100644
--- a/core/tests/coretests/src/android/view/menu/ContextMenuTest.java
+++ b/core/tests/coretests/src/android/view/menu/ContextMenuTest.java
@@ -16,11 +16,9 @@
package android.view.menu;
-import android.content.Context;
-import android.graphics.Point;
import android.test.ActivityInstrumentationTestCase;
import android.util.PollingCheck;
-import android.view.Display;
+import android.util.Size;
import android.view.View;
import android.view.WindowManager;
import android.widget.espresso.ContextMenuUtils;
@@ -82,12 +80,9 @@ public class ContextMenuTest extends ActivityInstrumentationTestCase<ContextMenu
* Returns the minimum of the default display's width and height.
*/
private int getMinScreenDimension() {
- final WindowManager windowManager = (WindowManager) getActivity().getSystemService(
- Context.WINDOW_SERVICE);
- final Display display = windowManager.getDefaultDisplay();
- final Point displaySize = new Point();
- display.getRealSize(displaySize);
- return Math.min(displaySize.x, displaySize.y);
+ final WindowManager windowManager = getActivity().getSystemService(WindowManager.class);
+ final Size maxWindowSize = windowManager.getMaximumWindowMetrics().getSize();
+ return Math.min(maxWindowSize.getWidth(), maxWindowSize.getHeight());
}
/**
diff --git a/core/tests/coretests/src/android/widget/focus/ListOfInternalSelectionViews.java b/core/tests/coretests/src/android/widget/focus/ListOfInternalSelectionViews.java
index 73e4ea8f718d..8e90a824c873 100644
--- a/core/tests/coretests/src/android/widget/focus/ListOfInternalSelectionViews.java
+++ b/core/tests/coretests/src/android/widget/focus/ListOfInternalSelectionViews.java
@@ -17,7 +17,6 @@
package android.widget.focus;
import android.app.Activity;
-import android.graphics.Point;
import android.os.Bundle;
import android.util.InternalSelectionView;
import android.view.View;
@@ -112,9 +111,7 @@ public class ListOfInternalSelectionViews extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
- Point size = new Point();
- getWindowManager().getDefaultDisplay().getSize(size);
- mScreenHeight = size.y;
+ mScreenHeight = getWindowManager().getCurrentWindowMetrics().getSize().getHeight();
Bundle extras = getIntent().getExtras();
if (extras != null) {
diff --git a/core/tests/coretests/src/android/widget/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java b/core/tests/coretests/src/android/widget/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java
index 0d3092cbc2f3..fd1dbfc63708 100644
--- a/core/tests/coretests/src/android/widget/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java
+++ b/core/tests/coretests/src/android/widget/gridview/touch/GridTouchVerticalSpacingStackFromBottomTest.java
@@ -106,9 +106,10 @@ public class GridTouchVerticalSpacingStackFromBottomTest extends ActivityInstrum
int firstTop = firstChild.getTop();
+ int windowHeight = mActivity.getWindowManager().getCurrentWindowMetrics().getSize()
+ .getHeight();
int distance = TouchUtils.dragViewBy(this, firstChild,
- Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0,
- (int) (mActivity.getWindowManager().getDefaultDisplay().getHeight() * 0.75f));
+ Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, (int) (windowHeight * 0.75f));
assertEquals("View scrolled to wrong position", firstTop
+ (distance - mViewConfig.getScaledTouchSlop() - 1), firstChild.getTop());
diff --git a/core/tests/coretests/src/android/widget/listview/AdjacentListsWithAdjacentISVsInside.java b/core/tests/coretests/src/android/widget/listview/AdjacentListsWithAdjacentISVsInside.java
index 9e49719c6527..e6195b147045 100644
--- a/core/tests/coretests/src/android/widget/listview/AdjacentListsWithAdjacentISVsInside.java
+++ b/core/tests/coretests/src/android/widget/listview/AdjacentListsWithAdjacentISVsInside.java
@@ -65,7 +65,8 @@ public class AdjacentListsWithAdjacentISVsInside extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- final int desiredHeight = (int) (0.8 * getWindowManager().getDefaultDisplay().getHeight());
+ final int desiredHeight =
+ (int) (0.8 * getWindowManager().getCurrentWindowMetrics().getSize().getHeight());
mLeftListView = new ListView(this);
mLeftListView.setAdapter(new AdjacentISVAdapter(desiredHeight));
diff --git a/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java b/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
index d4c362143bf0..df6b9066ea5c 100644
--- a/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
+++ b/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
@@ -64,7 +64,6 @@ import android.graphics.Paint;
import android.graphics.drawable.Icon;
import android.metrics.LogMaker;
import android.net.Uri;
-import android.os.Bundle;
import android.os.UserHandle;
import android.service.chooser.ChooserTarget;
@@ -77,9 +76,6 @@ import com.android.internal.app.chooser.DisplayResolveInfo;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import org.hamcrest.BaseMatcher;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
@@ -482,8 +478,8 @@ public class ChooserActivityTest {
.launchActivity(Intent.createChooser(sendIntent, null));
waitForIdle();
- onView(withId(R.id.copy_button)).check(matches(isDisplayed()));
- onView(withId(R.id.copy_button)).perform(click());
+ onView(withId(R.id.chooser_copy_button)).check(matches(isDisplayed()));
+ onView(withId(R.id.chooser_copy_button)).perform(click());
ClipboardManager clipboard = (ClipboardManager) activity.getSystemService(
Context.CLIPBOARD_SERVICE);
ClipData clipData = clipboard.getPrimaryClip();
@@ -510,8 +506,8 @@ public class ChooserActivityTest {
.launchActivity(Intent.createChooser(sendIntent, null));
waitForIdle();
- onView(withId(R.id.copy_button)).check(matches(isDisplayed()));
- onView(withId(R.id.copy_button)).perform(click());
+ onView(withId(R.id.chooser_copy_button)).check(matches(isDisplayed()));
+ onView(withId(R.id.chooser_copy_button)).perform(click());
verify(mockLogger, atLeastOnce()).write(logMakerCaptor.capture());
// First is Activity shown, Second is "with preview"
diff --git a/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java b/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java
index 42f7736d37b0..911490f30799 100644
--- a/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java
+++ b/core/tests/coretests/src/com/android/internal/app/ResolverActivityTest.java
@@ -27,12 +27,14 @@ import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static com.android.internal.app.MatcherUtils.first;
import static com.android.internal.app.ResolverDataProvider.createPackageManagerMockedInfo;
+import static com.android.internal.app.ResolverDataProvider.createResolvedComponentInfoWithOtherId;
import static com.android.internal.app.ResolverWrapperActivity.sOverrides;
import static org.hamcrest.CoreMatchers.allOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when;
import android.content.Intent;
@@ -465,14 +467,33 @@ public class ResolverActivityTest {
// enable the work tab feature flag
ResolverActivity.ENABLE_TABBED_VIEW = true;
List<ResolvedComponentInfo> personalResolvedComponentInfos =
- createResolvedComponentsForTest(3);
+ createResolvedComponentsForTestWithOtherProfile(3);
List<ResolvedComponentInfo> workResolvedComponentInfos = createResolvedComponentsForTest(4);
- when(sOverrides.resolverListController.getResolversForIntent(Mockito.anyBoolean(),
+ when(sOverrides.resolverListController.getResolversForIntentAsUser(
Mockito.anyBoolean(),
- Mockito.isA(List.class))).thenReturn(personalResolvedComponentInfos);
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(UserHandle.SYSTEM))).thenReturn(new ArrayList<>(personalResolvedComponentInfos));
+ when(sOverrides.resolverListController.getResolversForIntentAsUser(
+ Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(sOverrides.workProfileUserHandle))).thenReturn(new ArrayList<>(workResolvedComponentInfos));
+ when(sOverrides.workResolverListController.getResolversForIntentAsUser(Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(sOverrides.workProfileUserHandle))).thenReturn(new ArrayList<>(workResolvedComponentInfos));
when(sOverrides.workResolverListController.getResolversForIntent(Mockito.anyBoolean(),
Mockito.anyBoolean(),
- Mockito.isA(List.class))).thenReturn(workResolvedComponentInfos);
+ Mockito.isA(List.class))).thenReturn(new ArrayList<>(workResolvedComponentInfos));
+ when(sOverrides.resolverListController.getResolversForIntent(Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class))).thenReturn(new ArrayList<>(personalResolvedComponentInfos));
+ when(sOverrides.workResolverListController.getResolversForIntentAsUser(Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(UserHandle.SYSTEM))).thenReturn(new ArrayList<>(personalResolvedComponentInfos));
+
Intent sendIntent = createSendImageIntent();
markWorkProfileUserAvailable();
@@ -502,9 +523,9 @@ public class ResolverActivityTest {
final ResolverWrapperActivity activity = mActivityRule.launchActivity(sendIntent);
waitForIdle();
+
onView(withText(R.string.resolver_work_tab))
.perform(click());
-
waitForIdle();
assertThat(activity.getWorkListAdapter().getCount(), is(4));
}
@@ -553,10 +574,35 @@ public class ResolverActivityTest {
// enable the work tab feature flag
ResolverActivity.ENABLE_TABBED_VIEW = true;
markWorkProfileUserAvailable();
+ List<ResolvedComponentInfo> personalResolvedComponentInfos =
+ createResolvedComponentsForTestWithOtherProfile(1);
List<ResolvedComponentInfo> workResolvedComponentInfos = createResolvedComponentsForTest(4);
+
+ when(sOverrides.resolverListController.getResolversForIntentAsUser(
+ Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(UserHandle.SYSTEM))).thenReturn(new ArrayList<>(personalResolvedComponentInfos));
+ when(sOverrides.resolverListController.getResolversForIntentAsUser(
+ Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(sOverrides.workProfileUserHandle))).thenReturn(new ArrayList<>(workResolvedComponentInfos));
+ when(sOverrides.workResolverListController.getResolversForIntentAsUser(Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(sOverrides.workProfileUserHandle))).thenReturn(new ArrayList<>(workResolvedComponentInfos));
when(sOverrides.workResolverListController.getResolversForIntent(Mockito.anyBoolean(),
Mockito.anyBoolean(),
- Mockito.isA(List.class))).thenReturn(workResolvedComponentInfos);
+ Mockito.isA(List.class))).thenReturn(new ArrayList<>(workResolvedComponentInfos));
+ when(sOverrides.resolverListController.getResolversForIntent(Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class))).thenReturn(new ArrayList<>(personalResolvedComponentInfos));
+ when(sOverrides.workResolverListController.getResolversForIntentAsUser(Mockito.anyBoolean(),
+ Mockito.anyBoolean(),
+ Mockito.isA(List.class),
+ eq(UserHandle.SYSTEM))).thenReturn(new ArrayList<>(personalResolvedComponentInfos));
+
Intent sendIntent = createSendImageIntent();
final ResolverWrapperActivity activity = mActivityRule.launchActivity(sendIntent);
diff --git a/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java b/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java
index 355601ca05ed..fbe16f2c39d1 100644
--- a/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/BatteryStatsHelperTest.java
@@ -37,12 +37,13 @@ import android.content.pm.PackageManager;
import android.os.BatteryStats;
import android.os.Process;
import android.text.format.DateUtils;
-import android.util.StatsLog;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
+import com.android.internal.util.FrameworkStatsLog;
+
import junit.framework.TestCase;
import org.junit.Before;
@@ -262,31 +263,31 @@ public class BatteryStatsHelperTest extends TestCase {
@Test
public void testDrainTypesSyncedWithProto() {
assertEquals(BatterySipper.DrainType.AMBIENT_DISPLAY.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__AMBIENT_DISPLAY);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__AMBIENT_DISPLAY);
// AtomsProto has no "APP"
assertEquals(BatterySipper.DrainType.BLUETOOTH.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__BLUETOOTH);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__BLUETOOTH);
assertEquals(BatterySipper.DrainType.CAMERA.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__CAMERA);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__CAMERA);
assertEquals(BatterySipper.DrainType.CELL.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__CELL);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__CELL);
assertEquals(BatterySipper.DrainType.FLASHLIGHT.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__FLASHLIGHT);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__FLASHLIGHT);
assertEquals(BatterySipper.DrainType.IDLE.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__IDLE);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__IDLE);
assertEquals(BatterySipper.DrainType.MEMORY.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__MEMORY);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__MEMORY);
assertEquals(BatterySipper.DrainType.OVERCOUNTED.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__OVERCOUNTED);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__OVERCOUNTED);
assertEquals(BatterySipper.DrainType.PHONE.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__PHONE);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__PHONE);
assertEquals(BatterySipper.DrainType.SCREEN.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__SCREEN);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__SCREEN);
assertEquals(BatterySipper.DrainType.UNACCOUNTED.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__UNACCOUNTED);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__UNACCOUNTED);
// AtomsProto has no "USER"
assertEquals(BatterySipper.DrainType.WIFI.ordinal(),
- StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__WIFI);
+ FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER__DRAIN_TYPE__WIFI);
}
private BatterySipper createTestSmearBatterySipper(long activityTime, double totalPowerMah,
diff --git a/core/tests/coretests/src/com/android/internal/policy/DecorContextTest.java b/core/tests/coretests/src/com/android/internal/policy/DecorContextTest.java
index cd706089929e..cdcf23fc10bb 100644
--- a/core/tests/coretests/src/com/android/internal/policy/DecorContextTest.java
+++ b/core/tests/coretests/src/com/android/internal/policy/DecorContextTest.java
@@ -26,7 +26,6 @@ import android.platform.test.annotations.Presubmit;
import android.view.Display;
import android.view.DisplayAdjustments;
import android.view.DisplayInfo;
-import android.view.WindowManager;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.SmallTest;
@@ -71,8 +70,7 @@ public final class DecorContextTest {
private static void assertDecorContextDisplay(int expectedDisplayId,
DecorContext decorContext) {
- WindowManager wm = (WindowManager) decorContext.getSystemService(Context.WINDOW_SERVICE);
- Display associatedDisplay = wm.getDefaultDisplay();
+ Display associatedDisplay = decorContext.getDisplay();
assertEquals(expectedDisplayId, associatedDisplay.getDisplayId());
}
}
diff --git a/core/tests/utiltests/src/com/android/internal/util/LocationPermissionCheckerTest.java b/core/tests/utiltests/src/com/android/internal/util/LocationPermissionCheckerTest.java
index 6010f3962d68..4c3eaeb1730b 100644
--- a/core/tests/utiltests/src/com/android/internal/util/LocationPermissionCheckerTest.java
+++ b/core/tests/utiltests/src/com/android/internal/util/LocationPermissionCheckerTest.java
@@ -15,6 +15,7 @@
*/
package com.android.internal.util;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -121,6 +122,7 @@ public class LocationPermissionCheckerTest {
private void setupTestCase() throws Exception {
setupMocks();
setupMockInterface();
+ mChecker = new LocationPermissionChecker(mMockContext);
}
private void initTestVars() {
@@ -136,7 +138,6 @@ public class LocationPermissionCheckerTest {
mFineLocationPermission = PackageManager.PERMISSION_DENIED;
mAllowCoarseLocationApps = AppOpsManager.MODE_ERRORED;
mAllowFineLocationApps = AppOpsManager.MODE_ERRORED;
- mChecker = new LocationPermissionChecker(mMockContext);
}
private void setupMockInterface() {
@@ -180,7 +181,11 @@ public class LocationPermissionCheckerTest {
mWifiScanAllowApps = AppOpsManager.MODE_ALLOWED;
mUid = mCurrentUser;
setupTestCase();
- mChecker.enforceLocationPermission(TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+
+ final int result =
+ mChecker.checkLocationPermissionWithDetailInfo(
+ TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+ assertEquals(LocationPermissionChecker.SUCCEEDED, result);
}
@Test
@@ -193,7 +198,11 @@ public class LocationPermissionCheckerTest {
mAllowFineLocationApps = AppOpsManager.MODE_ALLOWED;
mWifiScanAllowApps = AppOpsManager.MODE_ALLOWED;
setupTestCase();
- mChecker.enforceLocationPermission(TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+
+ final int result =
+ mChecker.checkLocationPermissionWithDetailInfo(
+ TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+ assertEquals(LocationPermissionChecker.SUCCEEDED, result);
}
@Test
@@ -206,7 +215,7 @@ public class LocationPermissionCheckerTest {
setupTestCase();
assertThrows(SecurityException.class,
- () -> mChecker.enforceLocationPermission(
+ () -> mChecker.checkLocationPermissionWithDetailInfo(
TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null));
}
@@ -215,9 +224,11 @@ public class LocationPermissionCheckerTest {
mThrowSecurityException = false;
mIsLocationEnabled = true;
setupTestCase();
- assertThrows(SecurityException.class,
- () -> mChecker.enforceLocationPermission(
- TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null));
+
+ final int result =
+ mChecker.checkLocationPermissionWithDetailInfo(
+ TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+ assertEquals(LocationPermissionChecker.ERROR_LOCATION_PERMISSION_MISSING, result);
}
@Test
@@ -230,9 +241,10 @@ public class LocationPermissionCheckerTest {
mUid = MANAGED_PROFILE_UID;
setupTestCase();
- assertThrows(SecurityException.class,
- () -> mChecker.enforceLocationPermission(
- TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null));
+ final int result =
+ mChecker.checkLocationPermissionWithDetailInfo(
+ TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+ assertEquals(LocationPermissionChecker.ERROR_LOCATION_PERMISSION_MISSING, result);
verify(mMockAppOps, never()).noteOp(anyInt(), anyInt(), anyString());
}
@@ -246,9 +258,10 @@ public class LocationPermissionCheckerTest {
setupTestCase();
- assertThrows(SecurityException.class,
- () -> mChecker.enforceLocationPermission(
- TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null));
+ final int result =
+ mChecker.checkLocationPermissionWithDetailInfo(
+ TEST_PKG_NAME, TEST_FEATURE_ID, mUid, null);
+ assertEquals(LocationPermissionChecker.ERROR_LOCATION_MODE_OFF, result);
}
private static void assertThrows(Class<? extends Exception> exceptionClass, Runnable r) {
diff --git a/data/etc/car/com.android.car.developeroptions.xml b/data/etc/car/com.android.car.developeroptions.xml
index 720489834494..cf0199bd1b85 100644
--- a/data/etc/car/com.android.car.developeroptions.xml
+++ b/data/etc/car/com.android.car.developeroptions.xml
@@ -51,6 +51,7 @@
<permission name="android.permission.USER_ACTIVITY"/>
<permission name="android.permission.WRITE_APN_SETTINGS"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
</privapp-permissions>
</permissions>
diff --git a/data/etc/car/com.android.car.secondaryhome.xml b/data/etc/car/com.android.car.secondaryhome.xml
new file mode 100644
index 000000000000..c74b86ed8ae1
--- /dev/null
+++ b/data/etc/car/com.android.car.secondaryhome.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<permissions>
+ <privapp-permissions package="com.android.car.secondaryhome">
+ <!-- Required to launch app in ActivityView -->
+ <permission name="android.permission.ACTIVITY_EMBEDDING"/>
+ <!-- Required to send notification to current user-->
+ <permission name="android.permission.MANAGE_USERS"/>
+ </privapp-permissions>
+</permissions>
diff --git a/data/etc/com.android.settings.xml b/data/etc/com.android.settings.xml
index 70b61e0e2552..a200a510cf12 100644
--- a/data/etc/com.android.settings.xml
+++ b/data/etc/com.android.settings.xml
@@ -49,6 +49,7 @@
<permission name="android.permission.USER_ACTIVITY"/>
<permission name="android.permission.WRITE_APN_SETTINGS"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
<permission name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" />
<permission name="android.permission.INSTALL_DYNAMIC_SYSTEM"/>
diff --git a/data/etc/com.android.systemui.xml b/data/etc/com.android.systemui.xml
index 40de83aefb18..5d2e303b921e 100644
--- a/data/etc/com.android.systemui.xml
+++ b/data/etc/com.android.systemui.xml
@@ -58,6 +58,7 @@
<permission name="android.permission.WATCH_APPOPS"/>
<permission name="android.permission.WRITE_DREAM_STATE"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
<permission name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"/>
<permission name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" />
diff --git a/data/etc/framework-sysconfig.xml b/data/etc/framework-sysconfig.xml
index 7296cfdfbec7..3d78eb9c59b7 100644
--- a/data/etc/framework-sysconfig.xml
+++ b/data/etc/framework-sysconfig.xml
@@ -19,11 +19,29 @@
<!-- Broadcast actions that are currently exempted from O+ background
delivery restrictions. -->
- <allow-implicit-broadcast action="android.intent.action.SIM_STATE_CHANGED" />
- <allow-implicit-broadcast action="android.intent.action.PACKAGE_CHANGED" />
+ <allow-implicit-broadcast action="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
+ <allow-implicit-broadcast action="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
+ <allow-implicit-broadcast action="android.intent.action.DATA_SMS_RECEIVED" />
<allow-implicit-broadcast action="android.intent.action.MEDIA_SCANNER_SCAN_FILE" />
- <allow-implicit-broadcast action="android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION" />
+ <allow-implicit-broadcast action="android.intent.action.PACKAGE_CHANGED" />
+ <allow-implicit-broadcast action="android.intent.action.SIM_STATE_CHANGED" />
<allow-implicit-broadcast action="android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION" />
+ <allow-implicit-broadcast action="android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION" />
+ <allow-implicit-broadcast action="android.provider.Telephony.SECRET_CODE" />
+ <allow-implicit-broadcast action="android.provider.Telephony.SMS_CB_RECEIVED" />
+ <allow-implicit-broadcast action="android.provider.Telephony.SMS_DELIVER" />
+ <allow-implicit-broadcast action="android.provider.Telephony.SMS_RECEIVED" />
+ <allow-implicit-broadcast action="android.provider.Telephony.SMS_REJECTED" />
+ <allow-implicit-broadcast action="android.provider.Telephony.WAP_PUSH_DELIVER" />
+ <allow-implicit-broadcast action="android.provider.Telephony.WAP_PUSH_RECEIVED" />
+ <allow-implicit-broadcast action="android.telephony.action.CARRIER_CONFIG_CHANGED" />
+ <allow-implicit-broadcast action="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
+ <allow-implicit-broadcast action="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
+ <allow-implicit-broadcast action="android.telephony.action.SECRET_CODE" />
+ <allow-implicit-broadcast action="android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
+ <allow-implicit-broadcast action="android.telephony.action.SIM_CARD_STATE_CHANGED" />
+ <allow-implicit-broadcast action="android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
+
<!-- Whitelist of what components are permitted as backup data transports. The
'service' attribute here is a flattened ComponentName string. -->
diff --git a/data/etc/hiddenapi-package-whitelist.xml b/data/etc/hiddenapi-package-whitelist.xml
index 39973715a47d..5c89da05a68c 100644
--- a/data/etc/hiddenapi-package-whitelist.xml
+++ b/data/etc/hiddenapi-package-whitelist.xml
@@ -53,10 +53,6 @@ Do NOT include any apps that are updatable via Play Store!
<hidden-api-whitelisted-app package="com.android.providers.media" />
<hidden-api-whitelisted-app package="com.android.providers.tv" />
<hidden-api-whitelisted-app package="com.android.providers.userdictionary" />
- <!-- TODO (b/141954427): Remove networkstack -->
- <hidden-api-whitelisted-app package="com.android.networkstack" />
- <!-- TODO (b/141954427): Remove wifistack -->
- <hidden-api-whitelisted-app package="com.android.wifi" />
<hidden-api-whitelisted-app package="com.android.smspush" />
<hidden-api-whitelisted-app package="com.android.spare_parts" />
<hidden-api-whitelisted-app package="com.android.statementservice" />
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index 133b1aed68f1..b5eba090691f 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -59,6 +59,7 @@ applications that come with the platform
<privapp-permissions package="com.android.externalstorage">
<permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
</privapp-permissions>
<privapp-permissions package="com.android.location.fused">
@@ -98,6 +99,7 @@ applications that come with the platform
<permission name="android.permission.MANAGE_USERS"/>
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
</privapp-permissions>
<privapp-permissions package="com.android.musicfx">
@@ -130,6 +132,7 @@ applications that come with the platform
<permission name="android.permission.APPROVE_INCIDENT_REPORTS"/>
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
+ <permission name="android.permission.PACKAGE_USAGE_STATS" />
</privapp-permissions>
<privapp-permissions package="com.android.phone">
@@ -201,6 +204,7 @@ applications that come with the platform
<permission name="android.permission.CONNECTIVITY_INTERNAL"/>
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
</privapp-permissions>
@@ -210,6 +214,7 @@ applications that come with the platform
<permission name="android.permission.MANAGE_USERS"/>
<permission name="android.permission.USE_RESERVED_DISK"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission name="android.permission.WATCH_APPOPS"/>
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
@@ -266,6 +271,7 @@ applications that come with the platform
<privapp-permissions package="com.android.sharedstoragebackup">
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
</privapp-permissions>
<privapp-permissions package="com.android.shell">
@@ -301,6 +307,7 @@ applications that come with the platform
<permission name="android.permission.LOCAL_MAC_ADDRESS"/>
<permission name="android.permission.MANAGE_ACCESSIBILITY"/>
<permission name="android.permission.MANAGE_DEVICE_ADMINS"/>
+ <permission name="android.permission.MANAGE_ROLLBACKS"/>
<permission name="android.permission.MANAGE_USB"/>
<permission name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"/>
<permission name="android.permission.MODIFY_PHONE_STATE"/>
@@ -341,6 +348,7 @@ applications that come with the platform
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
<permission name="android.permission.USE_RESERVED_DISK"/>
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
<permission name="android.permission.STATUS_BAR_SERVICE"/>
<permission name="android.permission.REQUEST_INCIDENT_REPORT_APPROVAL"/>
@@ -363,6 +371,9 @@ applications that come with the platform
<permission name="android.permission.WRITE_DREAM_STATE" />
<!-- Permission required to test lights control APIs. -->
<permission name="android.permission.CONTROL_DEVICE_LIGHTS" />
+ <!-- Permission required for ShortcutManagerUsageTest CTS test. -->
+ <permission name="android.permission.ACCESS_SHORTCUTS"/>
+ <permission name="android.permission.REBOOT"/>
</privapp-permissions>
<privapp-permissions package="com.android.statementservice">
@@ -390,5 +401,6 @@ applications that come with the platform
</privapp-permissions>
<privapp-permissions package="com.android.settings">
<permission name="android.permission.INSTALL_DYNAMIC_SYSTEM"/>
+ <permission name="android.permission.BIND_CELL_BROADCAST_SERVICE"/>
</privapp-permissions>
</permissions>
diff --git a/data/etc/services.core.protolog.json b/data/etc/services.core.protolog.json
index 79589bf13853..9da185b95279 100644
--- a/data/etc/services.core.protolog.json
+++ b/data/etc/services.core.protolog.json
@@ -331,6 +331,12 @@
"group": "WM_DEBUG_RECENTS_ANIMATIONS",
"at": "com\/android\/server\/wm\/RecentsAnimation.java"
},
+ "-1410260105": {
+ "message": "Schedule IME show for %s",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_IME",
+ "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java"
+ },
"-1391944764": {
"message": "SURFACE DESTROY: %s. %s",
"level": "INFO",
@@ -733,12 +739,6 @@
"group": "WM_DEBUG_ORIENTATION",
"at": "com\/android\/server\/wm\/DisplayRotation.java"
},
- "-554834595": {
- "message": "Display id=%d is frozen, return %d",
- "level": "VERBOSE",
- "group": "WM_DEBUG_ORIENTATION",
- "at": "com\/android\/server\/wm\/DisplayContent.java"
- },
"-549028919": {
"message": "enableScreenIfNeededLocked: mDisplayEnabled=%b mForceDisplayEnabled=%b mShowingBootMessages=%b mSystemBooted=%b. %s",
"level": "INFO",
@@ -1063,6 +1063,12 @@
"group": "WM_SHOW_TRANSACTIONS",
"at": "com\/android\/server\/wm\/WindowSurfaceController.java"
},
+ "140319294": {
+ "message": "IME target changed within ActivityRecord",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_IME",
+ "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java"
+ },
"146871307": {
"message": "Tried to remove starting window but startingWindow was null: %s",
"level": "VERBOSE",
@@ -1177,12 +1183,6 @@
"group": "WM_DEBUG_APP_TRANSITIONS",
"at": "com\/android\/server\/wm\/AppTransitionController.java"
},
- "292555239": {
- "message": "ScreenRotation sill animating: mDisplayAnimator: %s\nmEnterBlackFrameAnimator: %s\nmRotateScreenAnimator: %s\nmScreenshotRotationAnimator: %s",
- "level": "VERBOSE",
- "group": "WM_DEBUG_ORIENTATION",
- "at": "com\/android\/server\/wm\/ScreenRotationAnimation.java"
- },
"292904800": {
"message": "Deferring rotation, animation in progress.",
"level": "VERBOSE",
@@ -1267,6 +1267,12 @@
"group": "WM_ERROR",
"at": "com\/android\/server\/wm\/WindowManagerService.java"
},
+ "438102669": {
+ "message": "call showInsets(ime) on %s",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_IME",
+ "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java"
+ },
"457951957": {
"message": "\tNot visible=%s",
"level": "DEBUG",
@@ -1387,6 +1393,12 @@
"group": "WM_ERROR",
"at": "com\/android\/server\/wm\/WindowManagerService.java"
},
+ "632168013": {
+ "message": "dcTarget: %s mImeTargetFromIme: %s",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_IME",
+ "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java"
+ },
"633654009": {
"message": "SURFACE POS (setPositionInTransaction) @ (%f,%f): %s",
"level": "INFO",
@@ -1555,12 +1567,6 @@
"group": "WM_ERROR",
"at": "com\/android\/server\/wm\/WindowManagerService.java"
},
- "1004585481": {
- "message": "%s forcing orientation to %d for display id=%d",
- "level": "VERBOSE",
- "group": "WM_DEBUG_ORIENTATION",
- "at": "com\/android\/server\/wm\/DisplayContent.java"
- },
"1051545910": {
"message": "Exit animation finished in %s: remove=%b",
"level": "VERBOSE",
@@ -1681,6 +1687,12 @@
"group": "WM_ERROR",
"at": "com\/android\/server\/wm\/WindowManagerService.java"
},
+ "1346895820": {
+ "message": "ScreenRotation still animating: type: %d\nmDisplayAnimator: %s\nmEnterBlackFrameAnimator: %s\nmRotateScreenAnimator: %s\nmScreenshotRotationAnimator: %s",
+ "level": "VERBOSE",
+ "group": "WM_DEBUG_ORIENTATION",
+ "at": "com\/android\/server\/wm\/ScreenRotationAnimation.java"
+ },
"1358462645": {
"message": "Looking for focus: %s, flags=%d, canReceive=%b",
"level": "VERBOSE",
@@ -1693,6 +1705,18 @@
"group": "WM_DEBUG_ADD_REMOVE",
"at": "com\/android\/server\/wm\/ActivityRecord.java"
},
+ "1373000889": {
+ "message": "abortShowImePostLayout",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_IME",
+ "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java"
+ },
+ "1389009035": {
+ "message": "NonAppWindowContainer cannot set orientation: %s",
+ "level": "WARN",
+ "group": "WM_DEBUG_ORIENTATION",
+ "at": "com\/android\/server\/wm\/DisplayContent.java"
+ },
"1401700824": {
"message": "Window drawn win=%s",
"level": "DEBUG",
@@ -1867,6 +1891,12 @@
"group": "WM_DEBUG_STARTING_WINDOW",
"at": "com\/android\/server\/wm\/ActivityRecord.java"
},
+ "1674747211": {
+ "message": "%s forcing orientation to %d for display id=%d",
+ "level": "VERBOSE",
+ "group": "WM_DEBUG_ORIENTATION",
+ "at": "com\/android\/server\/wm\/DisplayArea.java"
+ },
"1677260366": {
"message": "Finish starting %s: first real window is shown, no animation",
"level": "VERBOSE",
@@ -1987,6 +2017,12 @@
"group": "WM_DEBUG_ADD_REMOVE",
"at": "com\/android\/server\/wm\/WindowState.java"
},
+ "1928325128": {
+ "message": "Run showImeRunner",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_IME",
+ "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java"
+ },
"1947239194": {
"message": "Deferring rotation, still finishing previous rotation",
"level": "VERBOSE",
@@ -2139,6 +2175,9 @@
"WM_DEBUG_FOCUS_LIGHT": {
"tag": "WindowManager"
},
+ "WM_DEBUG_IME": {
+ "tag": "WindowManager"
+ },
"WM_DEBUG_KEEP_SCREEN_ON": {
"tag": "WindowManager"
},
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 9a0ca3e4ad9b..d949444d44d6 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -1162,6 +1162,7 @@ public class Canvas extends BaseCanvas {
* @see #quickReject(float, float, float, float, EdgeType)
* @see #quickReject(Path, EdgeType)
* @see #quickReject(RectF, EdgeType)
+ * @deprecated quickReject no longer uses this.
*/
public enum EdgeType {
@@ -1197,13 +1198,30 @@ public class Canvas extends BaseCanvas {
* non-antialiased ({@link Canvas.EdgeType#BW}).
* @return true if the rect (transformed by the canvas' matrix)
* does not intersect with the canvas' clip
+ * @deprecated The EdgeType is ignored. Use {@link #quickReject(RectF)} instead.
*/
+ @Deprecated
public boolean quickReject(@NonNull RectF rect, @NonNull EdgeType type) {
return nQuickReject(mNativeCanvasWrapper,
rect.left, rect.top, rect.right, rect.bottom);
}
/**
+ * Return true if the specified rectangle, after being transformed by the
+ * current matrix, would lie completely outside of the current clip. Call
+ * this to check if an area you intend to draw into is clipped out (and
+ * therefore you can skip making the draw calls).
+ *
+ * @param rect the rect to compare with the current clip
+ * @return true if the rect (transformed by the canvas' matrix)
+ * does not intersect with the canvas' clip
+ */
+ public boolean quickReject(@NonNull RectF rect) {
+ return nQuickReject(mNativeCanvasWrapper,
+ rect.left, rect.top, rect.right, rect.bottom);
+ }
+
+ /**
* Return true if the specified path, after being transformed by the
* current matrix, would lie completely outside of the current clip. Call
* this to check if an area you intend to draw into is clipped out (and
@@ -1217,12 +1235,30 @@ public class Canvas extends BaseCanvas {
* non-antialiased ({@link Canvas.EdgeType#BW}).
* @return true if the path (transformed by the canvas' matrix)
* does not intersect with the canvas' clip
+ * @deprecated The EdgeType is ignored. Use {@link #quickReject(Path)} instead.
*/
+ @Deprecated
public boolean quickReject(@NonNull Path path, @NonNull EdgeType type) {
return nQuickReject(mNativeCanvasWrapper, path.readOnlyNI());
}
/**
+ * Return true if the specified path, after being transformed by the
+ * current matrix, would lie completely outside of the current clip. Call
+ * this to check if an area you intend to draw into is clipped out (and
+ * therefore you can skip making the draw calls). Note: for speed it may
+ * return false even if the path itself might not intersect the clip
+ * (i.e. the bounds of the path intersects, but the path does not).
+ *
+ * @param path The path to compare with the current clip
+ * @return true if the path (transformed by the canvas' matrix)
+ * does not intersect with the canvas' clip
+ */
+ public boolean quickReject(@NonNull Path path) {
+ return nQuickReject(mNativeCanvasWrapper, path.readOnlyNI());
+ }
+
+ /**
* Return true if the specified rectangle, after being transformed by the
* current matrix, would lie completely outside of the current clip. Call
* this to check if an area you intend to draw into is clipped out (and
@@ -1241,13 +1277,37 @@ public class Canvas extends BaseCanvas {
* non-antialiased ({@link Canvas.EdgeType#BW}).
* @return true if the rect (transformed by the canvas' matrix)
* does not intersect with the canvas' clip
+ * @deprecated The EdgeType is ignored. Use {@link #quickReject(float, float, float, float)}
+ * instead.
*/
+ @Deprecated
public boolean quickReject(float left, float top, float right, float bottom,
@NonNull EdgeType type) {
return nQuickReject(mNativeCanvasWrapper, left, top, right, bottom);
}
/**
+ * Return true if the specified rectangle, after being transformed by the
+ * current matrix, would lie completely outside of the current clip. Call
+ * this to check if an area you intend to draw into is clipped out (and
+ * therefore you can skip making the draw calls).
+ *
+ * @param left The left side of the rectangle to compare with the
+ * current clip
+ * @param top The top of the rectangle to compare with the current
+ * clip
+ * @param right The right side of the rectangle to compare with the
+ * current clip
+ * @param bottom The bottom of the rectangle to compare with the
+ * current clip
+ * @return true if the rect (transformed by the canvas' matrix)
+ * does not intersect with the canvas' clip
+ */
+ public boolean quickReject(float left, float top, float right, float bottom) {
+ return nQuickReject(mNativeCanvasWrapper, left, top, right, bottom);
+ }
+
+ /**
* Return the bounds of the current clip (in local coordinates) in the
* bounds parameter, and return true if it is non-empty. This can be useful
* in a way similar to quickReject, in that it tells you that drawing
diff --git a/graphics/java/android/graphics/Outline.java b/graphics/java/android/graphics/Outline.java
index 91a60c327bf0..c12159cfd7a4 100644
--- a/graphics/java/android/graphics/Outline.java
+++ b/graphics/java/android/graphics/Outline.java
@@ -43,7 +43,7 @@ public final class Outline {
/** @hide */
public static final int MODE_ROUND_RECT = 1;
/** @hide */
- public static final int MODE_CONVEX_PATH = 2;
+ public static final int MODE_PATH = 2;
/** @hide */
@Retention(RetentionPolicy.SOURCE)
@@ -51,7 +51,7 @@ public final class Outline {
value = {
MODE_EMPTY,
MODE_ROUND_RECT,
- MODE_CONVEX_PATH,
+ MODE_PATH,
})
public @interface Mode {}
@@ -60,7 +60,7 @@ public final class Outline {
public int mMode = MODE_EMPTY;
/**
- * Only guaranteed to be non-null when mode == MODE_CONVEX_PATH
+ * Only guaranteed to be non-null when mode == MODE_PATH
*
* @hide
*/
@@ -124,7 +124,7 @@ public final class Outline {
* @see android.view.View#setClipToOutline(boolean)
*/
public boolean canClip() {
- return mMode != MODE_CONVEX_PATH;
+ return mMode != MODE_PATH;
}
/**
@@ -157,7 +157,7 @@ public final class Outline {
*/
public void set(@NonNull Outline src) {
mMode = src.mMode;
- if (src.mMode == MODE_CONVEX_PATH) {
+ if (src.mMode == MODE_PATH) {
if (mPath == null) {
mPath = new Path();
}
@@ -194,7 +194,7 @@ public final class Outline {
return;
}
- if (mMode == MODE_CONVEX_PATH) {
+ if (mMode == MODE_PATH) {
// rewind here to avoid thrashing the allocations, but could alternately clear ref
mPath.rewind();
}
@@ -213,7 +213,7 @@ public final class Outline {
/**
* Populates {@code outBounds} with the outline bounds, if set, and returns
* {@code true}. If no outline bounds are set, or if a path has been set
- * via {@link #setConvexPath(Path)}, returns {@code false}.
+ * via {@link #setPath(Path)}, returns {@code false}.
*
* @param outRect the rect to populate with the outline bounds, if set
* @return {@code true} if {@code outBounds} was populated with outline
@@ -229,7 +229,7 @@ public final class Outline {
/**
* Returns the rounded rect radius, if set, or a value less than 0 if a path has
- * been set via {@link #setConvexPath(Path)}. A return value of {@code 0}
+ * been set via {@link #setPath(Path)}. A return value of {@code 0}
* indicates a non-rounded rect.
*
* @return the rounded rect radius, or value < 0
@@ -259,7 +259,7 @@ public final class Outline {
mPath.rewind();
}
- mMode = MODE_CONVEX_PATH;
+ mMode = MODE_PATH;
mPath.addOval(left, top, right, bottom, Path.Direction.CW);
mRect.setEmpty();
mRadius = RADIUS_UNDEFINED;
@@ -279,9 +279,21 @@ public final class Outline {
* @param convexPath used to construct the Outline. As of
* {@link android.os.Build.VERSION_CODES#Q}, it is no longer required to be
* convex.
+ *
+ * @deprecated The path is no longer required to be convex. Use {@link #setPath} instead.
*/
+ @Deprecated
public void setConvexPath(@NonNull Path convexPath) {
- if (convexPath.isEmpty()) {
+ setPath(convexPath);
+ }
+
+ /**
+ * Sets the Outline to a {@link android.graphics.Path path}.
+ *
+ * @param path used to construct the Outline.
+ */
+ public void setPath(@NonNull Path path) {
+ if (path.isEmpty()) {
setEmpty();
return;
}
@@ -290,8 +302,8 @@ public final class Outline {
mPath = new Path();
}
- mMode = MODE_CONVEX_PATH;
- mPath.set(convexPath);
+ mMode = MODE_PATH;
+ mPath.set(path);
mRect.setEmpty();
mRadius = RADIUS_UNDEFINED;
}
@@ -302,7 +314,7 @@ public final class Outline {
public void offset(int dx, int dy) {
if (mMode == MODE_ROUND_RECT) {
mRect.offset(dx, dy);
- } else if (mMode == MODE_CONVEX_PATH) {
+ } else if (mMode == MODE_PATH) {
mPath.offset(dx, dy);
}
}
diff --git a/graphics/java/android/graphics/Path.java b/graphics/java/android/graphics/Path.java
index 1362fd864d29..84fe39290681 100644
--- a/graphics/java/android/graphics/Path.java
+++ b/graphics/java/android/graphics/Path.java
@@ -209,7 +209,13 @@ public class Path {
* points, and cache the result.
*
* @return True if the path is convex.
+ *
+ * @deprecated This method is not reliable. The way convexity is computed may change from
+ * release to release, and convexity could change based on a matrix as well. This method was
+ * useful when non-convex Paths were unable to be used in certain contexts, but that is no
+ * longer the case.
*/
+ @Deprecated
public boolean isConvex() {
return nIsConvex(mNativePath);
}
diff --git a/graphics/java/android/graphics/RenderNode.java b/graphics/java/android/graphics/RenderNode.java
index 17e3b4465130..3835b2d493c5 100644
--- a/graphics/java/android/graphics/RenderNode.java
+++ b/graphics/java/android/graphics/RenderNode.java
@@ -687,8 +687,8 @@ public final class RenderNode {
outline.mRect.left, outline.mRect.top,
outline.mRect.right, outline.mRect.bottom,
outline.mRadius, outline.mAlpha);
- case Outline.MODE_CONVEX_PATH:
- return nSetOutlineConvexPath(mNativeRenderNode, outline.mPath.mNativePath,
+ case Outline.MODE_PATH:
+ return nSetOutlinePath(mNativeRenderNode, outline.mPath.mNativePath,
outline.mAlpha);
}
@@ -1620,7 +1620,7 @@ public final class RenderNode {
int right, int bottom, float radius, float alpha);
@CriticalNative
- private static native boolean nSetOutlineConvexPath(long renderNode, long nativePath,
+ private static native boolean nSetOutlinePath(long renderNode, long nativePath,
float alpha);
@CriticalNative
diff --git a/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java b/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java
index 928e607abbbe..746378e10bc7 100644
--- a/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java
+++ b/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java
@@ -387,7 +387,7 @@ public class AdaptiveIconDrawable extends Drawable implements Drawable.Callback
@Override
public void getOutline(@NonNull Outline outline) {
- outline.setConvexPath(mMask);
+ outline.setPath(mMask);
}
/** @hide */
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index 3881955d2632..f053f392b97e 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -1915,7 +1915,7 @@ public class GradientDrawable extends Drawable {
case RECTANGLE:
if (st.mRadiusArray != null) {
buildPathIfDirty();
- outline.setConvexPath(mPath);
+ outline.setPath(mPath);
return;
}
diff --git a/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java b/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java
index 475e0bb70f2b..28ba60577fb1 100644
--- a/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java
+++ b/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java
@@ -94,7 +94,7 @@ public class RoundRectShape extends RectShape {
for (int i = 1; i < 8; i++) {
if (mOuterRadii[i] != radius) {
// can't call simple constructors, use path
- outline.setConvexPath(mPath);
+ outline.setPath(mPath);
return;
}
}
diff --git a/libs/hwui/Outline.h b/libs/hwui/Outline.h
index f1c38031980e..2eb2c7c7e299 100644
--- a/libs/hwui/Outline.h
+++ b/libs/hwui/Outline.h
@@ -26,7 +26,7 @@ namespace uirenderer {
class Outline {
public:
- enum class Type { None = 0, Empty = 1, ConvexPath = 2, RoundRect = 3 };
+ enum class Type { None = 0, Empty = 1, Path = 2, RoundRect = 3 };
Outline() : mShouldClip(false), mType(Type::None), mRadius(0), mAlpha(0.0f) {}
@@ -57,12 +57,12 @@ public:
}
}
- void setConvexPath(const SkPath* outline, float alpha) {
+ void setPath(const SkPath* outline, float alpha) {
if (!outline) {
setEmpty();
return;
}
- mType = Type::ConvexPath;
+ mType = Type::Path;
mPath = *outline;
mBounds.set(outline->getBounds());
mAlpha = alpha;
diff --git a/libs/hwui/hwui/Bitmap.cpp b/libs/hwui/hwui/Bitmap.cpp
index 7c0efe16838e..58cc08bc2d73 100644
--- a/libs/hwui/hwui/Bitmap.cpp
+++ b/libs/hwui/hwui/Bitmap.cpp
@@ -479,6 +479,14 @@ bool Bitmap::compress(JavaCompressFormat format, int32_t quality, SkWStream* str
bool Bitmap::compress(const SkBitmap& bitmap, JavaCompressFormat format,
int32_t quality, SkWStream* stream) {
+ if (bitmap.colorType() == kAlpha_8_SkColorType) {
+ // None of the JavaCompressFormats have a sensible way to compress an
+ // ALPHA_8 Bitmap. SkPngEncoder will compress one, but it uses a non-
+ // standard format that most decoders do not understand, so this is
+ // likely not useful.
+ return false;
+ }
+
SkEncodedImageFormat fm;
switch (format) {
case JavaCompressFormat::Jpeg:
diff --git a/libs/hwui/pipeline/skia/ATraceMemoryDump.cpp b/libs/hwui/pipeline/skia/ATraceMemoryDump.cpp
index 551bdc63121d..234f42d79cb7 100644
--- a/libs/hwui/pipeline/skia/ATraceMemoryDump.cpp
+++ b/libs/hwui/pipeline/skia/ATraceMemoryDump.cpp
@@ -39,14 +39,13 @@ namespace skiapipeline {
* ATraceMemoryDump calculates memory category first by looking at the "type" string passed to
* dumpStringValue and then by looking at "backingType" passed to setMemoryBacking.
* Only GPU Texture memory is tracked separately and everything else is grouped as one
- * "GPU Memory" category.
+ * "Misc Memory" category.
*/
static std::unordered_map<const char*, const char*> sResourceMap = {
{"malloc", "HWUI CPU Memory"}, // taken from setMemoryBacking(backingType)
{"gl_texture", "HWUI Texture Memory"}, // taken from setMemoryBacking(backingType)
- {"Texture",
- "HWUI Texture Memory"}, // taken from dumpStringValue(value, valueName="type")
- // Uncomment categories below to split "GPU Memory" into more brackets for debugging.
+ {"Texture", "HWUI Texture Memory"}, // taken from dumpStringValue(value, valueName="type")
+ // Uncomment categories below to split "Misc Memory" into more brackets for debugging.
/*{"vk_buffer", "vk_buffer"},
{"gl_renderbuffer", "gl_renderbuffer"},
{"gl_buffer", "gl_buffer"},
@@ -169,8 +168,8 @@ void ATraceMemoryDump::resetCurrentCounter(const char* dumpName) {
mLastDumpValue = 0;
mLastPurgeableDumpValue = INVALID_MEMORY_SIZE;
mLastDumpName = dumpName;
- // Categories not listed in sResourceMap are reported as "GPU memory"
- mCategory = "HWUI GPU Memory";
+ // Categories not listed in sResourceMap are reported as "Misc Memory"
+ mCategory = "HWUI Misc Memory";
}
} /* namespace skiapipeline */
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
index b940cff04713..6f4af3d26b3a 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
@@ -24,6 +24,7 @@
#include <SkOverdrawColorFilter.h>
#include <SkPicture.h>
#include <SkPictureRecorder.h>
+#include <SkTypeface.h>
#include <SkSerialProcs.h>
#include "LightingInfo.h"
#include "VectorDrawable.h"
@@ -264,6 +265,9 @@ bool SkiaPipeline::setupMultiFrameCapture() {
SkSerialProcs procs;
procs.fImageProc = SkSharingSerialContext::serializeImage;
procs.fImageCtx = mSerialContext.get();
+ procs.fTypefaceProc = [](SkTypeface* tf, void* ctx){
+ return tf->serialize(SkTypeface::SerializeBehavior::kDoIncludeData);
+ };
// SkDocuments don't take owership of the streams they write.
// we need to keep it until after mMultiPic.close()
// procs is passed as a pointer, but just as a method of having an optional default.
@@ -405,6 +409,10 @@ void SkiaPipeline::endCapture(SkSurface* surface) {
std::invoke(mPictureCapturedCallback, std::move(picture));
} else {
// single frame skp to file
+ SkSerialProcs procs;
+ procs.fTypefaceProc = [](SkTypeface* tf, void* ctx){
+ return tf->serialize(SkTypeface::SerializeBehavior::kDoIncludeData);
+ };
auto data = picture->serialize();
savePictureAsync(data, mCapturedFile);
mCaptureSequence = 0;
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 5993e176f0b8..c1435d1ea2d5 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -143,10 +143,11 @@ void CanvasContext::setSurface(sp<Surface>&& surface, bool enableTimeout) {
ATRACE_CALL();
if (surface) {
- mNativeSurface = new ReliableSurface{std::move(surface)};
+ mNativeSurface = std::make_unique<ReliableSurface>(std::move(surface));
+ mNativeSurface->init();
if (enableTimeout) {
// TODO: Fix error handling & re-shorten timeout
- ANativeWindow_setDequeueTimeout(mNativeSurface.get(), 4000_ms);
+ ANativeWindow_setDequeueTimeout(mNativeSurface->getNativeWindow(), 4000_ms);
}
} else {
mNativeSurface = nullptr;
@@ -161,8 +162,9 @@ void CanvasContext::setSurface(sp<Surface>&& surface, bool enableTimeout) {
}
ColorMode colorMode = mWideColorGamut ? ColorMode::WideColorGamut : ColorMode::SRGB;
- bool hasSurface = mRenderPipeline->setSurface(mNativeSurface.get(), mSwapBehavior, colorMode,
- mRenderAheadCapacity);
+ bool hasSurface = mRenderPipeline->setSurface(
+ mNativeSurface ? mNativeSurface->getNativeWindow() : nullptr, mSwapBehavior, colorMode,
+ mRenderAheadCapacity);
mFrameNumber = -1;
@@ -203,7 +205,8 @@ void CanvasContext::setStopped(bool stopped) {
void CanvasContext::allocateBuffers() {
if (mNativeSurface) {
- mNativeSurface->allocateBuffers();
+ ANativeWindow* anw = mNativeSurface->getNativeWindow();
+ ANativeWindow_allocateBuffers(anw);
}
}
@@ -428,7 +431,7 @@ void CanvasContext::setPresentTime() {
presentTime = mCurrentFrameInfo->get(FrameInfoIndex::Vsync) +
(frameIntervalNanos * (renderAhead + 1));
}
- native_window_set_buffers_timestamp(mNativeSurface.get(), presentTime);
+ native_window_set_buffers_timestamp(mNativeSurface->getNativeWindow(), presentTime);
}
void CanvasContext::draw() {
@@ -489,16 +492,18 @@ void CanvasContext::draw() {
swap.swapCompletedTime = systemTime(SYSTEM_TIME_MONOTONIC);
swap.vsyncTime = mRenderThread.timeLord().latestVsync();
if (didDraw) {
- nsecs_t dequeueStart = ANativeWindow_getLastDequeueStartTime(mNativeSurface.get());
+ nsecs_t dequeueStart =
+ ANativeWindow_getLastDequeueStartTime(mNativeSurface->getNativeWindow());
if (dequeueStart < mCurrentFrameInfo->get(FrameInfoIndex::SyncStart)) {
// Ignoring dequeue duration as it happened prior to frame render start
// and thus is not part of the frame.
swap.dequeueDuration = 0;
} else {
swap.dequeueDuration =
- ANativeWindow_getLastDequeueDuration(mNativeSurface.get());
+ ANativeWindow_getLastDequeueDuration(mNativeSurface->getNativeWindow());
}
- swap.queueDuration = ANativeWindow_getLastQueueDuration(mNativeSurface.get());
+ swap.queueDuration =
+ ANativeWindow_getLastQueueDuration(mNativeSurface->getNativeWindow());
} else {
swap.dequeueDuration = 0;
swap.queueDuration = 0;
@@ -567,14 +572,16 @@ void CanvasContext::doFrame() {
}
SkISize CanvasContext::getNextFrameSize() const {
- ReliableSurface* surface = mNativeSurface.get();
- if (surface) {
- SkISize size;
- size.fWidth = ANativeWindow_getWidth(surface);
- size.fHeight = ANativeWindow_getHeight(surface);
- return size;
+ static constexpr SkISize defaultFrameSize = {INT32_MAX, INT32_MAX};
+ if (mNativeSurface == nullptr) {
+ return defaultFrameSize;
}
- return {INT32_MAX, INT32_MAX};
+ ANativeWindow* anw = mNativeSurface->getNativeWindow();
+
+ SkISize size;
+ size.fWidth = ANativeWindow_getWidth(anw);
+ size.fHeight = ANativeWindow_getHeight(anw);
+ return size;
}
void CanvasContext::prepareAndDraw(RenderNode* node) {
@@ -693,7 +700,7 @@ void CanvasContext::enqueueFrameWork(std::function<void()>&& func) {
int64_t CanvasContext::getFrameNumber() {
// mFrameNumber is reset to -1 when the surface changes or we swap buffers
if (mFrameNumber == -1 && mNativeSurface.get()) {
- mFrameNumber = static_cast<int64_t>(mNativeSurface->getNextFrameNumber());
+ mFrameNumber = ANativeWindow_getNextFrameId(mNativeSurface->getNativeWindow());
}
return mFrameNumber;
}
@@ -702,11 +709,9 @@ bool CanvasContext::surfaceRequiresRedraw() {
if (!mNativeSurface) return false;
if (mHaveNewSurface) return true;
- int width = -1;
- int height = -1;
- ReliableSurface* surface = mNativeSurface.get();
- surface->query(NATIVE_WINDOW_WIDTH, &width);
- surface->query(NATIVE_WINDOW_HEIGHT, &height);
+ ANativeWindow* anw = mNativeSurface->getNativeWindow();
+ const int width = ANativeWindow_getWidth(anw);
+ const int height = ANativeWindow_getHeight(anw);
return width != mLastFrameWidth || height != mLastFrameHeight;
}
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index 4490f80eb8af..0967b20e44ee 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -220,7 +220,7 @@ private:
int32_t mLastFrameHeight = 0;
RenderThread& mRenderThread;
- sp<ReliableSurface> mNativeSurface;
+ std::unique_ptr<ReliableSurface> mNativeSurface;
// stopped indicates the CanvasContext will reject actual redraw operations,
// and defer repaint until it is un-stopped
bool mStopped = false;
diff --git a/libs/hwui/renderthread/ReliableSurface.cpp b/libs/hwui/renderthread/ReliableSurface.cpp
index 864780fb6ae8..e92500f5be51 100644
--- a/libs/hwui/renderthread/ReliableSurface.cpp
+++ b/libs/hwui/renderthread/ReliableSurface.cpp
@@ -26,64 +26,38 @@ namespace android::uirenderer::renderthread {
// to propagate this error back to the caller
constexpr bool DISABLE_BUFFER_PREFETCH = true;
-// TODO: Make surface less protected
-// This exists because perform is a varargs, and ANativeWindow has no va_list perform.
-// So wrapping/chaining that is hard. Telling the compiler to ignore protected is easy, so we do
-// that instead
-struct SurfaceExposer : Surface {
- // Make warnings happy
- SurfaceExposer() = delete;
-
- using Surface::cancelBuffer;
- using Surface::dequeueBuffer;
- using Surface::lockBuffer_DEPRECATED;
- using Surface::perform;
- using Surface::queueBuffer;
- using Surface::setBufferCount;
- using Surface::setSwapInterval;
-};
-
-#define callProtected(surface, func, ...) ((*surface).*&SurfaceExposer::func)(__VA_ARGS__)
-
ReliableSurface::ReliableSurface(sp<Surface>&& surface) : mSurface(std::move(surface)) {
LOG_ALWAYS_FATAL_IF(!mSurface, "Error, unable to wrap a nullptr");
-
- ANativeWindow::setSwapInterval = hook_setSwapInterval;
- ANativeWindow::dequeueBuffer = hook_dequeueBuffer;
- ANativeWindow::cancelBuffer = hook_cancelBuffer;
- ANativeWindow::queueBuffer = hook_queueBuffer;
- ANativeWindow::query = hook_query;
- ANativeWindow::perform = hook_perform;
-
- ANativeWindow::dequeueBuffer_DEPRECATED = hook_dequeueBuffer_DEPRECATED;
- ANativeWindow::cancelBuffer_DEPRECATED = hook_cancelBuffer_DEPRECATED;
- ANativeWindow::lockBuffer_DEPRECATED = hook_lockBuffer_DEPRECATED;
- ANativeWindow::queueBuffer_DEPRECATED = hook_queueBuffer_DEPRECATED;
}
ReliableSurface::~ReliableSurface() {
clearReservedBuffer();
+ // Clear out the interceptors for proper hygiene.
+ // As a concrete example, if the underlying ANativeWindow is associated with
+ // an EGLSurface that is still in use, then if we don't clear out the
+ // interceptors then we walk into undefined behavior.
+ ANativeWindow_setCancelBufferInterceptor(mSurface.get(), nullptr, nullptr);
+ ANativeWindow_setDequeueBufferInterceptor(mSurface.get(), nullptr, nullptr);
+ ANativeWindow_setQueueBufferInterceptor(mSurface.get(), nullptr, nullptr);
+ ANativeWindow_setPerformInterceptor(mSurface.get(), nullptr, nullptr);
}
-void ReliableSurface::perform(int operation, va_list args) {
- std::lock_guard _lock{mMutex};
+void ReliableSurface::init() {
+ int result = ANativeWindow_setCancelBufferInterceptor(mSurface.get(), hook_cancelBuffer, this);
+ LOG_ALWAYS_FATAL_IF(result != NO_ERROR, "Failed to set cancelBuffer interceptor: error = %d",
+ result);
- switch (operation) {
- case NATIVE_WINDOW_SET_USAGE:
- mUsage = va_arg(args, uint32_t);
- break;
- case NATIVE_WINDOW_SET_USAGE64:
- mUsage = va_arg(args, uint64_t);
- break;
- case NATIVE_WINDOW_SET_BUFFERS_GEOMETRY:
- /* width */ va_arg(args, uint32_t);
- /* height */ va_arg(args, uint32_t);
- mFormat = va_arg(args, PixelFormat);
- break;
- case NATIVE_WINDOW_SET_BUFFERS_FORMAT:
- mFormat = va_arg(args, PixelFormat);
- break;
- }
+ result = ANativeWindow_setDequeueBufferInterceptor(mSurface.get(), hook_dequeueBuffer, this);
+ LOG_ALWAYS_FATAL_IF(result != NO_ERROR, "Failed to set dequeueBuffer interceptor: error = %d",
+ result);
+
+ result = ANativeWindow_setQueueBufferInterceptor(mSurface.get(), hook_queueBuffer, this);
+ LOG_ALWAYS_FATAL_IF(result != NO_ERROR, "Failed to set queueBuffer interceptor: error = %d",
+ result);
+
+ result = ANativeWindow_setPerformInterceptor(mSurface.get(), hook_perform, this);
+ LOG_ALWAYS_FATAL_IF(result != NO_ERROR, "Failed to set perform interceptor: error = %d",
+ result);
}
int ReliableSurface::reserveNext() {
@@ -111,7 +85,9 @@ int ReliableSurface::reserveNext() {
int fenceFd = -1;
ANativeWindowBuffer* buffer = nullptr;
- int result = callProtected(mSurface, dequeueBuffer, &buffer, &fenceFd);
+
+ // Note that this calls back into our own hooked method.
+ int result = ANativeWindow_dequeueBuffer(mSurface.get(), &buffer, &fenceFd);
{
std::lock_guard _lock{mMutex};
@@ -138,59 +114,11 @@ void ReliableSurface::clearReservedBuffer() {
mHasDequeuedBuffer = false;
}
if (buffer) {
- callProtected(mSurface, cancelBuffer, buffer, releaseFd);
- }
-}
-
-int ReliableSurface::cancelBuffer(ANativeWindowBuffer* buffer, int fenceFd) {
- clearReservedBuffer();
- if (isFallbackBuffer(buffer)) {
- if (fenceFd > 0) {
- close(fenceFd);
- }
- return OK;
- }
- int result = callProtected(mSurface, cancelBuffer, buffer, fenceFd);
- return result;
-}
-
-int ReliableSurface::dequeueBuffer(ANativeWindowBuffer** buffer, int* fenceFd) {
- {
- std::lock_guard _lock{mMutex};
- if (mReservedBuffer) {
- *buffer = mReservedBuffer;
- *fenceFd = mReservedFenceFd.release();
- mReservedBuffer = nullptr;
- return OK;
- }
- }
-
-
- int result = callProtected(mSurface, dequeueBuffer, buffer, fenceFd);
- if (result != OK) {
- ALOGW("dequeueBuffer failed, error = %d; switching to fallback", result);
- *buffer = acquireFallbackBuffer(result);
- *fenceFd = -1;
- return *buffer ? OK : INVALID_OPERATION;
- } else {
- std::lock_guard _lock{mMutex};
- mHasDequeuedBuffer = true;
- }
- return OK;
-}
-
-int ReliableSurface::queueBuffer(ANativeWindowBuffer* buffer, int fenceFd) {
- clearReservedBuffer();
-
- if (isFallbackBuffer(buffer)) {
- if (fenceFd > 0) {
- close(fenceFd);
- }
- return OK;
+ // Note that clearReservedBuffer may be reentrant here, so
+ // mReservedBuffer must be cleared once we reach here to avoid recursing
+ // forever.
+ ANativeWindow_cancelBuffer(mSurface.get(), buffer, releaseFd);
}
-
- int result = callProtected(mSurface, queueBuffer, buffer, fenceFd);
- return result;
}
bool ReliableSurface::isFallbackBuffer(const ANativeWindowBuffer* windowBuffer) const {
@@ -229,82 +157,95 @@ ANativeWindowBuffer* ReliableSurface::acquireFallbackBuffer(int error) {
return AHardwareBuffer_to_ANativeWindowBuffer(newBuffer);
}
-Surface* ReliableSurface::getWrapped(const ANativeWindow* window) {
- return getSelf(window)->mSurface.get();
-}
-
-int ReliableSurface::hook_setSwapInterval(ANativeWindow* window, int interval) {
- return callProtected(getWrapped(window), setSwapInterval, interval);
-}
-
-int ReliableSurface::hook_dequeueBuffer(ANativeWindow* window, ANativeWindowBuffer** buffer,
- int* fenceFd) {
- return getSelf(window)->dequeueBuffer(buffer, fenceFd);
-}
-
-int ReliableSurface::hook_cancelBuffer(ANativeWindow* window, ANativeWindowBuffer* buffer,
- int fenceFd) {
- return getSelf(window)->cancelBuffer(buffer, fenceFd);
-}
-
-int ReliableSurface::hook_queueBuffer(ANativeWindow* window, ANativeWindowBuffer* buffer,
- int fenceFd) {
- return getSelf(window)->queueBuffer(buffer, fenceFd);
-}
+int ReliableSurface::hook_dequeueBuffer(ANativeWindow* window,
+ ANativeWindow_dequeueBufferFn dequeueBuffer, void* data,
+ ANativeWindowBuffer** buffer, int* fenceFd) {
+ ReliableSurface* rs = reinterpret_cast<ReliableSurface*>(data);
+ {
+ std::lock_guard _lock{rs->mMutex};
+ if (rs->mReservedBuffer) {
+ *buffer = rs->mReservedBuffer;
+ *fenceFd = rs->mReservedFenceFd.release();
+ rs->mReservedBuffer = nullptr;
+ return OK;
+ }
+ }
-int ReliableSurface::hook_dequeueBuffer_DEPRECATED(ANativeWindow* window,
- ANativeWindowBuffer** buffer) {
- ANativeWindowBuffer* buf;
- int fenceFd = -1;
- int result = window->dequeueBuffer(window, &buf, &fenceFd);
+ int result = dequeueBuffer(window, buffer, fenceFd);
if (result != OK) {
- return result;
- }
- sp<Fence> fence(new Fence(fenceFd));
- int waitResult = fence->waitForever("dequeueBuffer_DEPRECATED");
- if (waitResult != OK) {
- ALOGE("dequeueBuffer_DEPRECATED: Fence::wait returned an error: %d", waitResult);
- window->cancelBuffer(window, buf, -1);
- return waitResult;
+ ALOGW("dequeueBuffer failed, error = %d; switching to fallback", result);
+ *buffer = rs->acquireFallbackBuffer(result);
+ *fenceFd = -1;
+ return *buffer ? OK : INVALID_OPERATION;
+ } else {
+ std::lock_guard _lock{rs->mMutex};
+ rs->mHasDequeuedBuffer = true;
}
- *buffer = buf;
- return result;
+ return OK;
}
-int ReliableSurface::hook_cancelBuffer_DEPRECATED(ANativeWindow* window,
- ANativeWindowBuffer* buffer) {
- return window->cancelBuffer(window, buffer, -1);
+int ReliableSurface::hook_cancelBuffer(ANativeWindow* window,
+ ANativeWindow_cancelBufferFn cancelBuffer, void* data,
+ ANativeWindowBuffer* buffer, int fenceFd) {
+ ReliableSurface* rs = reinterpret_cast<ReliableSurface*>(data);
+ rs->clearReservedBuffer();
+ if (rs->isFallbackBuffer(buffer)) {
+ if (fenceFd > 0) {
+ close(fenceFd);
+ }
+ return OK;
+ }
+ return cancelBuffer(window, buffer, fenceFd);
}
-int ReliableSurface::hook_lockBuffer_DEPRECATED(ANativeWindow* window,
- ANativeWindowBuffer* buffer) {
- // This method is a no-op in Surface as well
- return OK;
-}
+int ReliableSurface::hook_queueBuffer(ANativeWindow* window,
+ ANativeWindow_queueBufferFn queueBuffer, void* data,
+ ANativeWindowBuffer* buffer, int fenceFd) {
+ ReliableSurface* rs = reinterpret_cast<ReliableSurface*>(data);
+ rs->clearReservedBuffer();
-int ReliableSurface::hook_queueBuffer_DEPRECATED(ANativeWindow* window,
- ANativeWindowBuffer* buffer) {
- return window->queueBuffer(window, buffer, -1);
-}
+ if (rs->isFallbackBuffer(buffer)) {
+ if (fenceFd > 0) {
+ close(fenceFd);
+ }
+ return OK;
+ }
-int ReliableSurface::hook_query(const ANativeWindow* window, int what, int* value) {
- return getWrapped(window)->query(what, value);
+ return queueBuffer(window, buffer, fenceFd);
}
-int ReliableSurface::hook_perform(ANativeWindow* window, int operation, ...) {
+int ReliableSurface::hook_perform(ANativeWindow* window, ANativeWindow_performFn perform,
+ void* data, int operation, va_list args) {
// Drop the reserved buffer if there is one since this (probably) mutated buffer dimensions
// TODO: Filter to things that only affect the reserved buffer
// TODO: Can we mutate the reserved buffer in some cases?
- getSelf(window)->clearReservedBuffer();
- va_list args;
- va_start(args, operation);
- int result = callProtected(getWrapped(window), perform, operation, args);
- va_end(args);
+ ReliableSurface* rs = reinterpret_cast<ReliableSurface*>(data);
+ rs->clearReservedBuffer();
- va_start(args, operation);
- getSelf(window)->perform(operation, args);
- va_end(args);
+ va_list argsCopy;
+ va_copy(argsCopy, args);
+ int result = perform(window, operation, argsCopy);
+ {
+ std::lock_guard _lock{rs->mMutex};
+
+ switch (operation) {
+ case ANATIVEWINDOW_PERFORM_SET_USAGE:
+ rs->mUsage = va_arg(args, uint32_t);
+ break;
+ case ANATIVEWINDOW_PERFORM_SET_USAGE64:
+ rs->mUsage = va_arg(args, uint64_t);
+ break;
+ case ANATIVEWINDOW_PERFORM_SET_BUFFERS_GEOMETRY:
+ /* width */ va_arg(args, uint32_t);
+ /* height */ va_arg(args, uint32_t);
+ rs->mFormat = va_arg(args, PixelFormat);
+ break;
+ case ANATIVEWINDOW_PERFORM_SET_BUFFERS_FORMAT:
+ rs->mFormat = va_arg(args, PixelFormat);
+ break;
+ }
+ }
return result;
}
diff --git a/libs/hwui/renderthread/ReliableSurface.h b/libs/hwui/renderthread/ReliableSurface.h
index f768df37ba7d..da5097ce33f0 100644
--- a/libs/hwui/renderthread/ReliableSurface.h
+++ b/libs/hwui/renderthread/ReliableSurface.h
@@ -16,6 +16,7 @@
#pragma once
+#include <apex/window.h>
#include <gui/Surface.h>
#include <utils/Macros.h>
#include <utils/StrongPointer.h>
@@ -24,20 +25,23 @@
namespace android::uirenderer::renderthread {
-class ReliableSurface : public ANativeObjectBase<ANativeWindow, ReliableSurface, RefBase> {
+class ReliableSurface {
PREVENT_COPY_AND_ASSIGN(ReliableSurface);
public:
ReliableSurface(sp<Surface>&& surface);
~ReliableSurface();
- int reserveNext();
+ // Performs initialization that is not safe to do in the constructor.
+ // For instance, registering ANativeWindow interceptors with ReliableSurface
+ // passed as the data pointer is not safe.
+ void init();
- void allocateBuffers() { mSurface->allocateBuffers(); }
+ ANativeWindow* getNativeWindow() { return mSurface.get(); }
- int query(int what, int* value) const { return mSurface->query(what, value); }
+ int reserveNext();
- uint64_t getNextFrameNumber() const { return mSurface->getNextFrameNumber(); }
+ int query(int what, int* value) const { return mSurface->query(what, value); }
int getAndClearError() {
int ret = mBufferQueueState;
@@ -61,7 +65,7 @@ public:
}
private:
- const sp<Surface> mSurface;
+ sp<Surface> mSurface;
mutable std::mutex mMutex;
@@ -78,27 +82,20 @@ private:
ANativeWindowBuffer* acquireFallbackBuffer(int error);
void clearReservedBuffer();
- void perform(int operation, va_list args);
- int cancelBuffer(ANativeWindowBuffer* buffer, int fenceFd);
- int dequeueBuffer(ANativeWindowBuffer** buffer, int* fenceFd);
- int queueBuffer(ANativeWindowBuffer* buffer, int fenceFd);
-
- static Surface* getWrapped(const ANativeWindow*);
-
- // ANativeWindow hooks
- static int hook_cancelBuffer(ANativeWindow* window, ANativeWindowBuffer* buffer, int fenceFd);
- static int hook_dequeueBuffer(ANativeWindow* window, ANativeWindowBuffer** buffer,
- int* fenceFd);
- static int hook_queueBuffer(ANativeWindow* window, ANativeWindowBuffer* buffer, int fenceFd);
-
- static int hook_perform(ANativeWindow* window, int operation, ...);
- static int hook_query(const ANativeWindow* window, int what, int* value);
- static int hook_setSwapInterval(ANativeWindow* window, int interval);
-
- static int hook_cancelBuffer_DEPRECATED(ANativeWindow* window, ANativeWindowBuffer* buffer);
- static int hook_dequeueBuffer_DEPRECATED(ANativeWindow* window, ANativeWindowBuffer** buffer);
- static int hook_lockBuffer_DEPRECATED(ANativeWindow* window, ANativeWindowBuffer* buffer);
- static int hook_queueBuffer_DEPRECATED(ANativeWindow* window, ANativeWindowBuffer* buffer);
+ // ANativeWindow hooks. When an ANativeWindow_* method is called on the
+ // underlying ANativeWindow, these methods will intercept the original call.
+ // For example, an EGL driver would call into these hooks instead of the
+ // original methods.
+ static int hook_cancelBuffer(ANativeWindow* window, ANativeWindow_cancelBufferFn cancelBuffer,
+ void* data, ANativeWindowBuffer* buffer, int fenceFd);
+ static int hook_dequeueBuffer(ANativeWindow* window,
+ ANativeWindow_dequeueBufferFn dequeueBuffer, void* data,
+ ANativeWindowBuffer** buffer, int* fenceFd);
+ static int hook_queueBuffer(ANativeWindow* window, ANativeWindow_queueBufferFn queueBuffer,
+ void* data, ANativeWindowBuffer* buffer, int fenceFd);
+
+ static int hook_perform(ANativeWindow* window, ANativeWindow_performFn perform, void* data,
+ int operation, va_list args);
};
}; // namespace android::uirenderer::renderthread
diff --git a/libs/hwui/tests/common/TestContext.cpp b/libs/hwui/tests/common/TestContext.cpp
index e075d806126b..06f158f25fc5 100644
--- a/libs/hwui/tests/common/TestContext.cpp
+++ b/libs/hwui/tests/common/TestContext.cpp
@@ -22,43 +22,50 @@ namespace android {
namespace uirenderer {
namespace test {
-static const int IDENT_DISPLAYEVENT = 1;
-
-static android::DisplayInfo DUMMY_DISPLAY{
- 1080, // w
- 1920, // h
- 320.0, // xdpi
- 320.0, // ydpi
- 60.0, // fps
- 2.0, // density
- ui::ROTATION_0, // orientation
- false, // secure?
- 0, // appVsyncOffset
- 0, // presentationDeadline
-};
-
-DisplayInfo getInternalDisplay() {
-#if !HWUI_NULL_GPU
- DisplayInfo display;
- const sp<IBinder> token = SurfaceComposerClient::getInternalDisplayToken();
- LOG_ALWAYS_FATAL_IF(token == nullptr,
- "Failed to get display info because internal display is disconnected\n");
- status_t status = SurfaceComposerClient::getDisplayInfo(token, &display);
- LOG_ALWAYS_FATAL_IF(status, "Failed to get display info\n");
- return display;
+const DisplayInfo& getDisplayInfo() {
+ static DisplayInfo info = [] {
+ DisplayInfo info;
+#if HWUI_NULL_GPU
+ info.density = 2.f;
#else
- return DUMMY_DISPLAY;
+ const sp<IBinder> token = SurfaceComposerClient::getInternalDisplayToken();
+ LOG_ALWAYS_FATAL_IF(!token, "%s: No internal display", __FUNCTION__);
+
+ const status_t status = SurfaceComposerClient::getDisplayInfo(token, &info);
+ LOG_ALWAYS_FATAL_IF(status, "%s: Failed to get display info", __FUNCTION__);
#endif
+ return info;
+ }();
+
+ return info;
}
-// Initialize to a dummy default
-android::DisplayInfo gDisplay = DUMMY_DISPLAY;
+const DisplayConfig& getActiveDisplayConfig() {
+ static DisplayConfig config = [] {
+ DisplayConfig config;
+#if HWUI_NULL_GPU
+ config.resolution = ui::Size(1080, 1920);
+ config.xDpi = config.yDpi = 320.f;
+ config.refreshRate = 60.f;
+#else
+ const sp<IBinder> token = SurfaceComposerClient::getInternalDisplayToken();
+ LOG_ALWAYS_FATAL_IF(!token, "%s: No internal display", __FUNCTION__);
+
+ const status_t status = SurfaceComposerClient::getActiveDisplayConfig(token, &config);
+ LOG_ALWAYS_FATAL_IF(status, "%s: Failed to get active display config", __FUNCTION__);
+#endif
+ return config;
+ }();
+
+ return config;
+}
TestContext::TestContext() {
mLooper = new Looper(true);
mSurfaceComposerClient = new SurfaceComposerClient();
- mLooper->addFd(mDisplayEventReceiver.getFd(), IDENT_DISPLAYEVENT, Looper::EVENT_INPUT, nullptr,
- nullptr);
+
+ constexpr int EVENT_ID = 1;
+ mLooper->addFd(mDisplayEventReceiver.getFd(), EVENT_ID, Looper::EVENT_INPUT, nullptr, nullptr);
}
TestContext::~TestContext() {}
@@ -79,8 +86,10 @@ void TestContext::createSurface() {
}
void TestContext::createWindowSurface() {
- mSurfaceControl = mSurfaceComposerClient->createSurface(String8("HwuiTest"), gDisplay.w,
- gDisplay.h, PIXEL_FORMAT_RGBX_8888);
+ const ui::Size& resolution = getActiveDisplayResolution();
+ mSurfaceControl =
+ mSurfaceComposerClient->createSurface(String8("HwuiTest"), resolution.getWidth(),
+ resolution.getHeight(), PIXEL_FORMAT_RGBX_8888);
SurfaceComposerClient::Transaction t;
t.setLayer(mSurfaceControl, 0x7FFFFFF).show(mSurfaceControl).apply();
@@ -94,7 +103,8 @@ void TestContext::createOffscreenSurface() {
producer->setMaxDequeuedBufferCount(3);
producer->setAsyncMode(true);
mConsumer = new BufferItemConsumer(consumer, GRALLOC_USAGE_HW_COMPOSER, 4);
- mConsumer->setDefaultBufferSize(gDisplay.w, gDisplay.h);
+ const ui::Size& resolution = getActiveDisplayResolution();
+ mConsumer->setDefaultBufferSize(resolution.getWidth(), resolution.getHeight());
mSurface = new Surface(producer);
}
diff --git a/libs/hwui/tests/common/TestContext.h b/libs/hwui/tests/common/TestContext.h
index 116d4de8090a..a012ecb1a1d3 100644
--- a/libs/hwui/tests/common/TestContext.h
+++ b/libs/hwui/tests/common/TestContext.h
@@ -23,20 +23,25 @@
#include <gui/Surface.h>
#include <gui/SurfaceComposerClient.h>
#include <gui/SurfaceControl.h>
+#include <ui/DisplayConfig.h>
#include <ui/DisplayInfo.h>
#include <utils/Looper.h>
#include <atomic>
#include <thread>
+#define dp(x) ((x) * android::uirenderer::test::getDisplayInfo().density)
+
namespace android {
namespace uirenderer {
namespace test {
-extern DisplayInfo gDisplay;
-#define dp(x) ((x)*android::uirenderer::test::gDisplay.density)
+const DisplayInfo& getDisplayInfo();
+const DisplayConfig& getActiveDisplayConfig();
-DisplayInfo getInternalDisplay();
+inline const ui::Size& getActiveDisplayResolution() {
+ return getActiveDisplayConfig().resolution;
+}
class TestContext {
public:
diff --git a/libs/hwui/tests/macrobench/TestSceneRunner.cpp b/libs/hwui/tests/macrobench/TestSceneRunner.cpp
index 22d5abbd3dbc..3b6baa70db9a 100644
--- a/libs/hwui/tests/macrobench/TestSceneRunner.cpp
+++ b/libs/hwui/tests/macrobench/TestSceneRunner.cpp
@@ -109,16 +109,14 @@ void outputBenchmarkReport(const TestScene::Info& info, const TestScene::Options
void run(const TestScene::Info& info, const TestScene::Options& opts,
benchmark::BenchmarkReporter* reporter) {
- // Switch to the real display
- gDisplay = getInternalDisplay();
-
Properties::forceDrawFrame = true;
TestContext testContext;
testContext.setRenderOffscreen(opts.renderOffscreen);
// create the native surface
- const int width = gDisplay.w;
- const int height = gDisplay.h;
+ const ui::Size& resolution = getActiveDisplayResolution();
+ const int width = resolution.getWidth();
+ const int height = resolution.getHeight();
sp<Surface> surface = testContext.surface();
std::unique_ptr<TestScene> scene(info.createScene(opts));
diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl
index 79bec920c10e..6a5c0ec9457a 100644
--- a/location/java/android/location/ILocationManager.aidl
+++ b/location/java/android/location/ILocationManager.aidl
@@ -69,8 +69,6 @@ interface ILocationManager
double upperRightLatitude, double upperRightLongitude, int maxResults,
in GeocoderParams params, out List<Address> addrs);
- boolean sendNiResponse(int notifId, int userResponse);
-
boolean addGnssMeasurementsListener(in IGnssMeasurementsListener listener,
String packageName, String featureId, String listenerIdentifier);
void injectGnssMeasurementCorrections(in GnssMeasurementCorrections corrections,
diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java
index 7a12cee899d8..eb76c29301c6 100644
--- a/location/java/android/location/Location.java
+++ b/location/java/android/location/Location.java
@@ -16,7 +16,6 @@
package android.location;
-import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
@@ -1214,23 +1213,6 @@ public class Location implements Parcelable {
}
/**
- * Attaches an extra {@link Location} to this Location. This is useful for location providers
- * to set the {@link #EXTRA_NO_GPS_LOCATION} extra to provide coarse locations for clients.
- *
- * @param key the key associated with the Location extra
- * @param value the Location to attach
- * @hide
- */
- @TestApi
- @SystemApi
- public void setExtraLocation(@Nullable String key, @Nullable Location value) {
- if (mExtras == null) {
- mExtras = new Bundle();
- }
- mExtras.putParcelable(key, value);
- }
-
- /**
* Returns true if the Location came from a mock provider.
*
* @return true if this Location came from a mock provider, false otherwise
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 0c5fe787bbbc..197787e5b6e6 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -2397,21 +2397,6 @@ public class LocationManager {
}
}
- /**
- * Used by NetInitiatedActivity to report user response
- * for network initiated GPS fix requests.
- *
- * @hide
- */
- @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
- public boolean sendNiResponse(int notifId, int userResponse) {
- try {
- return mService.sendNiResponse(notifId, userResponse);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
private void checkPendingIntent(PendingIntent pendingIntent) {
Preconditions.checkArgument(pendingIntent != null, "invalid null pending intent");
if (!pendingIntent.isTargetedToPackage()) {
diff --git a/location/java/android/location/LocationManagerInternal.java b/location/java/android/location/LocationManagerInternal.java
index 44d9d2372665..69162bab3167 100644
--- a/location/java/android/location/LocationManagerInternal.java
+++ b/location/java/android/location/LocationManagerInternal.java
@@ -41,4 +41,19 @@ public abstract class LocationManagerInternal {
* @throws IllegalArgumentException if provider is null
*/
public abstract void requestSetProviderAllowed(@NonNull String provider, boolean allowed);
+
+ /**
+ * Returns true if the given package belongs to a location provider, and so should be afforded
+ * some special privileges.
+ *
+ * @param packageName The package name to check
+ * @return True is the given package belongs to a location provider, false otherwise
+ */
+ public abstract boolean isProviderPackage(@NonNull String packageName);
+
+ /**
+ * Should only be used by GNSS code.
+ */
+ // TODO: there is no reason for this to exist as part of any API. move all the logic into gnss
+ public abstract void sendNiResponse(int notifId, int userResponse);
}
diff --git a/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java b/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java
index 127d00c0afe2..d57148092754 100644
--- a/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java
+++ b/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java
@@ -24,12 +24,12 @@ import android.server.location.ServerLocationProtoEnums;
import android.text.format.DateUtils;
import android.util.Base64;
import android.util.Log;
-import android.util.StatsLog;
import android.util.TimeUtils;
import com.android.internal.app.IBatteryStats;
import com.android.internal.location.nano.GnssLogsProto.GnssLog;
import com.android.internal.location.nano.GnssLogsProto.PowerMetrics;
+import com.android.internal.util.FrameworkStatsLog;
import java.util.ArrayList;
import java.util.Arrays;
@@ -540,7 +540,7 @@ public class GnssMetrics {
}
int signalLevel = getSignalLevel(avgCn0);
if (signalLevel != mLastSignalLevel) {
- StatsLog.write(StatsLog.GPS_SIGNAL_QUALITY_CHANGED, signalLevel);
+ FrameworkStatsLog.write(FrameworkStatsLog.GPS_SIGNAL_QUALITY_CHANGED, signalLevel);
mLastSignalLevel = signalLevel;
}
try {
diff --git a/media/TEST_MAPPING b/media/TEST_MAPPING
new file mode 100644
index 000000000000..6dc0c6f5b676
--- /dev/null
+++ b/media/TEST_MAPPING
@@ -0,0 +1,32 @@
+{
+ "presubmit": [
+ {
+ "name": "GtsMediaTestCases",
+ "options" : [
+ {
+ "include-annotation": "android.platform.test.annotations.Presubmit"
+ },
+ {
+ "include-filter": "com.google.android.media.gts.WidevineGenericOpsTests"
+ }
+ ]
+ },
+ {
+ "name": "GtsExoPlayerTestCases",
+ "options" : [
+ {
+ "include-annotation": "android.platform.test.annotations.SocPresubmit"
+ },
+ {
+ "include-filter": "com.google.android.exoplayer.gts.DashTest#testWidevine23FpsH264Fixed"
+ }
+ ]
+ }
+ ],
+ "imports": [
+ {
+ "path": "frameworks/av/drm/mediadrm/plugins"
+ }
+ ]
+}
+
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 114c0f1f6bf3..fe0c2d21d442 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -1427,7 +1427,10 @@ public final class AudioAttributes implements Parcelable {
}
}
- static int capturePolicyToFlags(@CapturePolicy int capturePolicy, int flags) {
+ /**
+ * @hide
+ */
+ public static int capturePolicyToFlags(@CapturePolicy int capturePolicy, int flags) {
switch (capturePolicy) {
case ALLOW_CAPTURE_BY_NONE:
flags |= FLAG_NO_MEDIA_PROJECTION | FLAG_NO_SYSTEM_CAPTURE;
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 861b76d2b153..7b17f9f764fb 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -1547,23 +1547,22 @@ public class AudioManager {
* {@link AudioAttributes#ALLOW_CAPTURE_BY_ALL},
* {@link AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM},
* {@link AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
- * @throws IllegalArgumentException if the argument is not a valid value.
+ * @throws RuntimeException if the argument is not a valid value.
*/
public void setAllowedCapturePolicy(@AudioAttributes.CapturePolicy int capturePolicy) {
- int flags = AudioAttributes.capturePolicyToFlags(capturePolicy, 0x0);
- // TODO: got trough AudioService and save a cache to restore in case of AP crash
// TODO: also pass the package in case multiple packages have the same UID
- int result = AudioSystem.setAllowedCapturePolicy(Process.myUid(), flags);
- if (result != AudioSystem.AUDIO_STATUS_OK) {
- Log.e(TAG, "Could not setAllowedCapturePolicy: " + result);
- return;
+ final IAudioService service = getService();
+ try {
+ int result = service.setAllowedCapturePolicy(capturePolicy);
+ if (result != AudioSystem.AUDIO_STATUS_OK) {
+ Log.e(TAG, "Could not setAllowedCapturePolicy: " + result);
+ return;
+ }
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
}
- mCapturePolicy = capturePolicy;
}
- @AudioAttributes.CapturePolicy
- private int mCapturePolicy = AudioAttributes.ALLOW_CAPTURE_BY_ALL;
-
/**
* Return the capture policy.
* @return the capture policy set by {@link #setAllowedCapturePolicy(int)} or
@@ -1571,7 +1570,13 @@ public class AudioManager {
*/
@AudioAttributes.CapturePolicy
public int getAllowedCapturePolicy() {
- return mCapturePolicy;
+ int result = AudioAttributes.ALLOW_CAPTURE_BY_ALL;
+ try {
+ result = getService().getAllowedCapturePolicy();
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to query allowed capture policy: " + e);
+ }
+ return result;
}
//====================================================================
diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl
index 1f97be5c3f4d..64c5c05b5621 100644
--- a/media/java/android/media/IAudioService.aidl
+++ b/media/java/android/media/IAudioService.aidl
@@ -282,6 +282,10 @@ interface IAudioService {
List<AudioDeviceAddress> getDevicesForAttributes(in AudioAttributes attributes);
+ int setAllowedCapturePolicy(in int capturePolicy);
+
+ int getAllowedCapturePolicy();
+
// WARNING: read warning at top of file, new methods that need to be used by native
// code via IAudioManager.h need to be added to the top section.
}
diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java
index eae13d0062e8..0e88c75e6d25 100644
--- a/media/java/android/media/MediaRoute2Info.java
+++ b/media/java/android/media/MediaRoute2Info.java
@@ -21,6 +21,7 @@ import static android.media.MediaRouter2Utils.toUniqueId;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.TestApi;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcel;
@@ -79,6 +80,11 @@ public final class MediaRoute2Info implements Parcelable {
*/
public static final int CONNECTION_STATE_CONNECTED = 2;
+ /** @hide */
+ @IntDef({PLAYBACK_VOLUME_FIXED, PLAYBACK_VOLUME_VARIABLE})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface PlaybackVolume {}
+
/**
* Playback information indicating the playback volume is fixed, i&#46;e&#46; it cannot be
* controlled from this object. An example of fixed playback volume is a remote player,
@@ -192,6 +198,7 @@ public final class MediaRoute2Info implements Parcelable {
final List<String> mFeatures;
@DeviceType
final int mDeviceType;
+ final boolean mIsSystem;
final Uri mIconUri;
final CharSequence mDescription;
@ConnectionState
@@ -208,6 +215,7 @@ public final class MediaRoute2Info implements Parcelable {
mName = builder.mName;
mFeatures = builder.mFeatures;
mDeviceType = builder.mDeviceType;
+ mIsSystem = builder.mIsSystem;
mIconUri = builder.mIconUri;
mDescription = builder.mDescription;
mConnectionState = builder.mConnectionState;
@@ -224,6 +232,7 @@ public final class MediaRoute2Info implements Parcelable {
mName = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
mFeatures = in.createStringArrayList();
mDeviceType = in.readInt();
+ mIsSystem = in.readBoolean();
mIconUri = in.readParcelable(null);
mDescription = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
mConnectionState = in.readInt();
@@ -282,6 +291,17 @@ public final class MediaRoute2Info implements Parcelable {
}
/**
+ * Returns whether the route is a system route or not.
+ * <p>
+ * System routes are media routes directly controlled by the system
+ * such as phone speaker, wired headset, and Bluetooth devices.
+ * </p>
+ */
+ public boolean isSystemRoute() {
+ return mIsSystem;
+ }
+
+ /**
* Gets the URI of the icon representing this route.
* <p>
* This icon will be used in picker UIs if available.
@@ -326,6 +346,7 @@ public final class MediaRoute2Info implements Parcelable {
*
* @return {@link #PLAYBACK_VOLUME_FIXED} or {@link #PLAYBACK_VOLUME_VARIABLE}
*/
+ @PlaybackVolume
public int getVolumeHandling() {
return mVolumeHandling;
}
@@ -354,6 +375,7 @@ public final class MediaRoute2Info implements Parcelable {
* @hide
*/
@NonNull
+ @TestApi
public String getOriginalId() {
return mId;
}
@@ -375,6 +397,7 @@ public final class MediaRoute2Info implements Parcelable {
*
* @param features the list of route features to consider
* @return true if the route has at least one feature in the list
+ * @hide
*/
public boolean hasAnyFeatures(@NonNull Collection<String> features) {
Objects.requireNonNull(features, "features must not be null");
@@ -416,6 +439,7 @@ public final class MediaRoute2Info implements Parcelable {
&& Objects.equals(mName, other.mName)
&& Objects.equals(mFeatures, other.mFeatures)
&& (mDeviceType == other.mDeviceType)
+ && (mIsSystem == other.mIsSystem)
&& Objects.equals(mIconUri, other.mIconUri)
&& Objects.equals(mDescription, other.mDescription)
&& (mConnectionState == other.mConnectionState)
@@ -429,7 +453,7 @@ public final class MediaRoute2Info implements Parcelable {
@Override
public int hashCode() {
// Note: mExtras is not included.
- return Objects.hash(mId, mName, mFeatures, mDeviceType, mIconUri, mDescription,
+ return Objects.hash(mId, mName, mFeatures, mDeviceType, mIsSystem, mIconUri, mDescription,
mConnectionState, mClientPackageName, mVolumeHandling, mVolumeMax, mVolume,
mProviderId);
}
@@ -466,6 +490,7 @@ public final class MediaRoute2Info implements Parcelable {
TextUtils.writeToParcel(mName, dest, flags);
dest.writeStringList(mFeatures);
dest.writeInt(mDeviceType);
+ dest.writeBoolean(mIsSystem);
dest.writeParcelable(mIconUri, flags);
TextUtils.writeToParcel(mDescription, dest, flags);
dest.writeInt(mConnectionState);
@@ -487,6 +512,7 @@ public final class MediaRoute2Info implements Parcelable {
@DeviceType
int mDeviceType = DEVICE_TYPE_UNKNOWN;
+ boolean mIsSystem;
Uri mIconUri;
CharSequence mDescription;
@ConnectionState
@@ -533,6 +559,7 @@ public final class MediaRoute2Info implements Parcelable {
mName = routeInfo.mName;
mFeatures = new ArrayList<>(routeInfo.mFeatures);
mDeviceType = routeInfo.mDeviceType;
+ mIsSystem = routeInfo.mIsSystem;
mIconUri = routeInfo.mIconUri;
mDescription = routeInfo.mDescription;
mConnectionState = routeInfo.mConnectionState;
@@ -548,6 +575,12 @@ public final class MediaRoute2Info implements Parcelable {
/**
* Adds a feature for the route.
+ * @param feature a feature that the route has. May be one of predefined features
+ * such as {@link #FEATURE_LIVE_AUDIO}, {@link #FEATURE_LIVE_VIDEO} or
+ * {@link #FEATURE_REMOTE_PLAYBACK} or a custom feature defined by
+ * a provider.
+ *
+ * @see #addFeatures(Collection)
*/
@NonNull
public Builder addFeature(@NonNull String feature) {
@@ -560,6 +593,12 @@ public final class MediaRoute2Info implements Parcelable {
/**
* Adds features for the route. A route must support at least one route type.
+ * @param features features that the route has. May include predefined features
+ * such as {@link #FEATURE_LIVE_AUDIO}, {@link #FEATURE_LIVE_VIDEO} or
+ * {@link #FEATURE_REMOTE_PLAYBACK} or custom features defined by
+ * a provider.
+ *
+ * @see #addFeature(String)
*/
@NonNull
public Builder addFeatures(@NonNull Collection<String> features) {
@@ -589,6 +628,16 @@ public final class MediaRoute2Info implements Parcelable {
}
/**
+ * Sets whether the route is a system route or not.
+ * @hide
+ */
+ @NonNull
+ public Builder setSystemRoute(boolean isSystem) {
+ mIsSystem = isSystem;
+ return this;
+ }
+
+ /**
* Sets the URI of the icon representing this route.
* <p>
* This icon will be used in picker UIs if available.
@@ -643,7 +692,7 @@ public final class MediaRoute2Info implements Parcelable {
* Sets the route's volume handling.
*/
@NonNull
- public Builder setVolumeHandling(int volumeHandling) {
+ public Builder setVolumeHandling(@PlaybackVolume int volumeHandling) {
mVolumeHandling = volumeHandling;
return this;
}
diff --git a/media/java/android/media/MediaRoute2ProviderInfo.java b/media/java/android/media/MediaRoute2ProviderInfo.java
index c9a2ec7ed095..afe002edfbcd 100644
--- a/media/java/android/media/MediaRoute2ProviderInfo.java
+++ b/media/java/android/media/MediaRoute2ProviderInfo.java
@@ -180,6 +180,23 @@ public final class MediaRoute2ProviderInfo implements Parcelable {
}
/**
+ * Sets whether the provider provides system routes or not
+ */
+ @NonNull
+ public Builder setSystemRouteProvider(boolean isSystem) {
+ int count = mRoutes.size();
+ for (int i = 0; i < count; i++) {
+ MediaRoute2Info route = mRoutes.valueAt(i);
+ if (route.isSystemRoute() != isSystem) {
+ mRoutes.setValueAt(i, new MediaRoute2Info.Builder(route)
+ .setSystemRoute(isSystem)
+ .build());
+ }
+ }
+ return this;
+ }
+
+ /**
* Adds a route to the provider
*/
@NonNull
diff --git a/media/java/android/media/MediaRoute2ProviderService.java b/media/java/android/media/MediaRoute2ProviderService.java
index 1e8b18808891..e39b7bc59148 100644
--- a/media/java/android/media/MediaRoute2ProviderService.java
+++ b/media/java/android/media/MediaRoute2ProviderService.java
@@ -21,6 +21,7 @@ import static com.android.internal.util.function.pooled.PooledLambda.obtainMessa
import android.annotation.CallSuper;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SdkConstant;
import android.app.Service;
import android.content.Intent;
import android.os.Binder;
@@ -57,6 +58,11 @@ import java.util.concurrent.atomic.AtomicBoolean;
public abstract class MediaRoute2ProviderService extends Service {
private static final String TAG = "MR2ProviderService";
+ /**
+ * The {@link Intent} action that must be declared as handled by the service.
+ * Put this in your manifest to provide media routes.
+ */
+ @SdkConstant(SdkConstant.SdkConstantType.SERVICE_ACTION)
public static final String SERVICE_INTERFACE = "android.media.MediaRoute2ProviderService";
/**
diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java
index 18670e9a6fe2..f751a22c4900 100644
--- a/media/java/android/media/MediaRouter2.java
+++ b/media/java/android/media/MediaRouter2.java
@@ -49,10 +49,10 @@ import java.util.stream.Collectors;
/**
* Media Router 2 allows applications to control the routing of media channels
* and streams from the current device to remote speakers and devices.
- *
*/
// TODO: Add method names at the beginning of log messages. (e.g. updateControllerOnHandler)
// Not only MediaRouter2, but also to service / manager / provider.
+// TODO: ensure thread-safe and document it
public class MediaRouter2 {
private static final String TAG = "MR2";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
@@ -159,7 +159,8 @@ public class MediaRouter2 {
/**
* Registers a callback to discover routes and to receive events when they change.
* <p>
- * If you register the same callback twice or more, it will be ignored.
+ * If the specified callback is already registered, its registration will be updated for the
+ * given {@link Executor executor} and {@link RouteDiscoveryPreference discovery preference}.
* </p>
*/
public void registerRouteCallback(@NonNull @CallbackExecutor Executor executor,
@@ -170,10 +171,11 @@ public class MediaRouter2 {
Objects.requireNonNull(preference, "preference must not be null");
RouteCallbackRecord record = new RouteCallbackRecord(executor, routeCallback, preference);
- if (!mRouteCallbackRecords.addIfAbsent(record)) {
- Log.w(TAG, "Ignoring the same callback");
- return;
- }
+
+ mRouteCallbackRecords.remove(record);
+ // It can fail to add the callback record if another registration with the same callback
+ // is happening but it's okay because either this or the other registration should be done.
+ mRouteCallbackRecords.addIfAbsent(record);
synchronized (sRouterLock) {
if (mClient == null) {
@@ -228,7 +230,11 @@ public class MediaRouter2 {
/**
* Gets the unmodifiable list of {@link MediaRoute2Info routes} currently
* known to the media router.
+ * <p>
+ * {@link MediaRoute2Info#isSystemRoute() System routes} such as phone speaker,
+ * Bluetooth devices are always included in the list.
* Please note that the list can be changed before callbacks are invoked.
+ * </p>
*
* @return the list of routes that contains at least one of the route features in discovery
* preferences registered by the application
@@ -241,7 +247,8 @@ public class MediaRouter2 {
List<MediaRoute2Info> filteredRoutes = new ArrayList<>();
for (MediaRoute2Info route : mRoutes.values()) {
- if (route.hasAnyFeatures(mDiscoveryPreference.getPreferredFeatures())) {
+ if (route.isSystemRoute()
+ || route.hasAnyFeatures(mDiscoveryPreference.getPreferredFeatures())) {
filteredRoutes.add(route);
}
}
@@ -305,12 +312,18 @@ public class MediaRouter2 {
* with the given route.
*
* @param route the route you want to create a controller with.
+ * @throws IllegalArgumentException if the given route is
+ * {@link MediaRoute2Info#isSystemRoute() system route}
*
* @see RoutingControllerCallback#onControllerCreated
* @see RoutingControllerCallback#onControllerCreationFailed
*/
public void requestCreateController(@NonNull MediaRoute2Info route) {
Objects.requireNonNull(route, "route must not be null");
+ if (route.isSystemRoute()) {
+ throw new IllegalArgumentException("Can't create a route controller with "
+ + "a system route. Use getSystemController().");
+ }
// TODO: Check the given route exists
final int requestId;
diff --git a/media/java/android/media/MediaRouter2Manager.java b/media/java/android/media/MediaRouter2Manager.java
index 61e2f77b7d2e..662eeb1418f1 100644
--- a/media/java/android/media/MediaRouter2Manager.java
+++ b/media/java/android/media/MediaRouter2Manager.java
@@ -161,14 +161,15 @@ public class MediaRouter2Manager {
public List<MediaRoute2Info> getAvailableRoutes(@NonNull String packageName) {
Objects.requireNonNull(packageName, "packageName must not be null");
+ List<MediaRoute2Info> routes = new ArrayList<>();
+
List<String> preferredFeatures = mPreferredFeaturesMap.get(packageName);
if (preferredFeatures == null) {
- return Collections.emptyList();
+ preferredFeatures = Collections.emptyList();
}
- List<MediaRoute2Info> routes = new ArrayList<>();
synchronized (mRoutesLock) {
for (MediaRoute2Info route : mRoutes.values()) {
- if (route.hasAnyFeatures(preferredFeatures)) {
+ if (route.isSystemRoute() || route.hasAnyFeatures(preferredFeatures)) {
routes.add(route);
}
}
diff --git a/media/java/android/media/audiopolicy/AudioProductStrategy.java b/media/java/android/media/audiopolicy/AudioProductStrategy.java
index 612f83a14e12..60b3fc642ee4 100644
--- a/media/java/android/media/audiopolicy/AudioProductStrategy.java
+++ b/media/java/android/media/audiopolicy/AudioProductStrategy.java
@@ -134,7 +134,9 @@ public final class AudioProductStrategy implements Parcelable {
+ "DO NOT USE STREAM TO CONTROL THE VOLUME");
return AudioSystem.STREAM_MUSIC;
}
- return streamType;
+ if (streamType < AudioSystem.getNumStreamTypes()) {
+ return streamType;
+ }
}
}
return AudioSystem.STREAM_MUSIC;
diff --git a/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java b/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java
index 074188e01000..adf4d3dcfa09 100644
--- a/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java
+++ b/media/java/android/media/audiopolicy/AudioVolumeGroupChangeHandler.java
@@ -157,9 +157,7 @@ public class AudioVolumeGroupChangeHandler {
Handler handler = eventHandler.handler();
if (handler != null) {
Message m = handler.obtainMessage(what, arg1, arg2, obj);
- if (what != AUDIOVOLUMEGROUP_EVENT_NEW_LISTENER) {
- handler.removeMessages(what);
- }
+ // Do not remove previous messages, as we would lose notification of group changes
handler.sendMessage(m);
}
}
diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java
index aece39d78694..69be8b307950 100644
--- a/media/java/android/media/session/MediaSessionManager.java
+++ b/media/java/android/media/session/MediaSessionManager.java
@@ -61,6 +61,7 @@ import java.util.concurrent.Executor;
* @see MediaSession
* @see MediaController
*/
+// TODO: (jinpark) Add API for getting and setting session policies from MediaSessionService.
@SystemService(Context.MEDIA_SESSION_SERVICE)
public final class MediaSessionManager {
private static final String TAG = "SessionManager";
@@ -932,7 +933,7 @@ public final class MediaSessionManager {
}
/**
- * Listener to receive when the media session service
+ * Listener to be called when the media session service dispatches a media key event.
* @hide
*/
@SystemApi
@@ -944,15 +945,15 @@ public final class MediaSessionManager {
* is released.
*
* @param event Dispatched media key event.
- * @param packageName Package
+ * @param packageName The package name
* @param sessionToken The media session's token. Can be {@code null}.
*/
- default void onMediaKeyEventDispatched(@NonNull KeyEvent event, @NonNull String packageName,
- @Nullable MediaSession.Token sessionToken) { }
+ void onMediaKeyEventDispatched(@NonNull KeyEvent event, @NonNull String packageName,
+ @Nullable MediaSession.Token sessionToken);
}
/**
- * Listener to receive changes in the media key event session, which would receive the media key
+ * Listener to receive changes in the media key event session, which would receive a media key
* event unless specified.
* @hide
*/
@@ -964,13 +965,14 @@ public final class MediaSessionManager {
* has specified the target.
* <p>
* The session token can be {@link null} if the media button session is unset. In that case,
- * framework would dispatch to the last sessions's media button receiver.
+ * framework would dispatch to the last sessions's media button receiver. If the media
+ * button receive isn't set as well, then it
*
* @param packageName The package name who would receive the media key event. Can be empty.
- * @param sessionToken The media session's token. Can be {@code null.}
+ * @param sessionToken The media session's token. Can be {@code null}.
*/
- default void onMediaKeyEventSessionChanged(@NonNull String packageName,
- @Nullable MediaSession.Token sessionToken) { }
+ void onMediaKeyEventSessionChanged(@NonNull String packageName,
+ @Nullable MediaSession.Token sessionToken);
}
/**
diff --git a/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java b/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java
index 85f3f72020d0..b40ab00afb30 100644
--- a/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java
+++ b/media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java
@@ -327,7 +327,7 @@ public class Atsc3FrontendSettings extends FrontendSettings {
*/
public static class Builder extends FrontendSettings.Builder<Builder> {
private int mBandwidth;
- private byte mDemodOutputFormat;
+ private int mDemodOutputFormat;
private Atsc3PlpSettings[] mPlpSettings;
private Builder() {
@@ -345,7 +345,7 @@ public class Atsc3FrontendSettings extends FrontendSettings {
* Sets Demod Output Format.
*/
@NonNull
- public Builder setDemodOutputFormat(byte demodOutputFormat) {
+ public Builder setDemodOutputFormat(@DemodOutputFormat int demodOutputFormat) {
mDemodOutputFormat = demodOutputFormat;
return this;
}
diff --git a/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java b/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java
index bfa4f3f027a4..705d5207cc5f 100644
--- a/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java
+++ b/media/java/android/media/tv/tuner/frontend/DvbcFrontendSettings.java
@@ -147,11 +147,11 @@ public class DvbcFrontendSettings extends FrontendSettings {
private final long mFec;
private final int mSymbolRate;
private final int mOuterFec;
- private final byte mAnnex;
+ private final int mAnnex;
private final int mSpectralInversion;
private DvbcFrontendSettings(int frequency, int modulation, long fec, int symbolRate,
- int outerFec, byte annex, int spectralInversion) {
+ int outerFec, int annex, int spectralInversion) {
super(frequency);
mModulation = modulation;
mFec = fec;
@@ -192,7 +192,7 @@ public class DvbcFrontendSettings extends FrontendSettings {
* Gets Annex.
*/
@Annex
- public byte getAnnex() {
+ public int getAnnex() {
return mAnnex;
}
/**
@@ -223,7 +223,7 @@ public class DvbcFrontendSettings extends FrontendSettings {
private long mFec;
private int mSymbolRate;
private int mOuterFec;
- private byte mAnnex;
+ private int mAnnex;
private int mSpectralInversion;
private Builder() {
@@ -265,7 +265,7 @@ public class DvbcFrontendSettings extends FrontendSettings {
* Sets Annex.
*/
@NonNull
- public Builder setAnnex(@Annex byte annex) {
+ public Builder setAnnex(@Annex int annex) {
mAnnex = annex;
return this;
}
diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java
index f3c071a06eba..a828e2d04347 100755
--- a/media/java/android/mtp/MtpDatabase.java
+++ b/media/java/android/mtp/MtpDatabase.java
@@ -722,6 +722,7 @@ public class MtpDatabase implements AutoCloseable {
return MtpConstants.RESPONSE_OK;
case MtpConstants.DEVICE_PROPERTY_IMAGE_SIZE:
// use screen size as max image size
+ // TODO(b/147721765): Add support for foldables/multi-display devices.
Display display = ((WindowManager) mContext.getSystemService(
Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getMaximumSizeDimension();
diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp
index 4f1125f5e482..1fbe7f42fff3 100644
--- a/media/jni/android_media_tv_Tuner.cpp
+++ b/media/jni/android_media_tv_Tuner.cpp
@@ -41,6 +41,54 @@ using ::android::hardware::tv::tuner::V1_0::DvrSettings;
using ::android::hardware::tv::tuner::V1_0::FrontendAnalogSettings;
using ::android::hardware::tv::tuner::V1_0::FrontendAnalogSifStandard;
using ::android::hardware::tv::tuner::V1_0::FrontendAnalogType;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3Bandwidth;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3CodeRate;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3DemodOutputFormat;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3Fec;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3Modulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3PlpSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3Settings;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtsc3TimeInterleaveMode;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtscSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendAtscModulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbcAnnex;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbcModulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbcOuterFec;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbcSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbcSpectralInversion;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsCodeRate;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsModulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsPilot;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsRolloff;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsStandard;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbsVcmMode;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtBandwidth;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtCoderate;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtConstellation;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtGuardInterval;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtHierarchy;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtPlpMode;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtStandard;
+using ::android::hardware::tv::tuner::V1_0::FrontendDvbtTransmissionMode;
+using ::android::hardware::tv::tuner::V1_0::FrontendInnerFec;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbs3Coderate;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbs3Modulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbs3Rolloff;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbs3Settings;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbsCoderate;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbsModulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbsRolloff;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbsSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbsStreamIdType;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbtBandwidth;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbtCoderate;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbtGuardInterval;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbtMode;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbtModulation;
+using ::android::hardware::tv::tuner::V1_0::FrontendIsdbtSettings;
+using ::android::hardware::tv::tuner::V1_0::FrontendType;
using ::android::hardware::tv::tuner::V1_0::ITuner;
using ::android::hardware::tv::tuner::V1_0::PlaybackSettings;
using ::android::hardware::tv::tuner::V1_0::RecordSettings;
@@ -314,7 +362,7 @@ jobject JTuner::openLnbById(int id) {
JNIEnv *env = AndroidRuntime::getJNIEnv();
return env->NewObject(
- env->FindClass("android/media/tv/tuner/Tuner$Lnb"),
+ env->FindClass("android/media/tv/tuner/Lnb"),
gFields.lnbInitID,
mObject,
id);
@@ -373,7 +421,7 @@ jobject JTuner::openDescrambler() {
JNIEnv *env = AndroidRuntime::getJNIEnv();
jobject descramblerObj =
env->NewObject(
- env->FindClass("android/media/tv/tuner/Tuner$Descrambler"),
+ env->FindClass("android/media/tv/tuner/Descrambler"),
gFields.descramblerInitID,
mObject);
@@ -408,7 +456,7 @@ jobject JTuner::openFilter(DemuxFilterType type, int bufferSize) {
JNIEnv *env = AndroidRuntime::getJNIEnv();
jobject filterObj =
env->NewObject(
- env->FindClass("android/media/tv/tuner/Tuner$Filter"),
+ env->FindClass("android/media/tv/tuner/filter/Filter"),
gFields.filterInitID,
mObject,
(jint) fId);
@@ -443,7 +491,7 @@ jobject JTuner::openDvr(DvrType type, int bufferSize) {
JNIEnv *env = AndroidRuntime::getJNIEnv();
jobject dvrObj =
env->NewObject(
- env->FindClass("android/media/tv/tuner/Tuner$Dvr"),
+ env->FindClass("android/media/tv/tuner/dvr/Dvr"),
gFields.dvrInitID,
mObject);
sp<Dvr> dvrSp = new Dvr(iDvrSp, dvrObj);
@@ -493,39 +541,444 @@ static DemuxPid getDemuxPid(int pidType, int pid) {
return demuxPid;
}
-static FrontendSettings getFrontendSettings(JNIEnv *env, int type, jobject settings) {
- FrontendSettings frontendSettings;
- jclass clazz = env->FindClass("android/media/tv/tuner/FrontendSettings");
+static uint32_t getFrontendSettingsFreq(JNIEnv *env, const jobject& settings) {
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/FrontendSettings");
jfieldID freqField = env->GetFieldID(clazz, "mFrequency", "I");
- uint32_t freq = static_cast<uint32_t>(env->GetIntField(clazz, freqField));
-
- // TODO: handle the other 8 types of settings
- if (type == 1) {
- // analog
- clazz = env->FindClass("android/media/tv/tuner/FrontendSettings$FrontendAnalogSettings");
- FrontendAnalogType analogType =
- static_cast<FrontendAnalogType>(
- env->GetIntField(settings, env->GetFieldID(clazz, "mAnalogType", "I")));
- FrontendAnalogSifStandard sifStandard =
- static_cast<FrontendAnalogSifStandard>(
- env->GetIntField(settings, env->GetFieldID(clazz, "mSifStandard", "I")));
- FrontendAnalogSettings frontendAnalogSettings {
- .frequency = freq,
- .type = analogType,
- .sifStandard = sifStandard,
+ uint32_t freq = static_cast<uint32_t>(env->GetIntField(settings, freqField));
+ return freq;
+}
+
+static FrontendSettings getAnalogFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AnalogFrontendSettings");
+ FrontendAnalogType analogType =
+ static_cast<FrontendAnalogType>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mSignalType", "I")));
+ FrontendAnalogSifStandard sifStandard =
+ static_cast<FrontendAnalogSifStandard>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mSifStandard", "I")));
+ FrontendAnalogSettings frontendAnalogSettings {
+ .frequency = freq,
+ .type = analogType,
+ .sifStandard = sifStandard,
+ };
+ frontendSettings.analog(frontendAnalogSettings);
+ return frontendSettings;
+}
+
+static hidl_vec<FrontendAtsc3PlpSettings> getAtsc3PlpSettings(
+ JNIEnv *env, const jobject& settings) {
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Atsc3FrontendSettings");
+ jobjectArray plpSettings =
+ reinterpret_cast<jobjectArray>(
+ env->GetObjectField(settings,
+ env->GetFieldID(
+ clazz,
+ "mPlpSettings",
+ "[Landroid/media/tv/tuner/frontend/Atsc3PlpSettings;")));
+ int len = env->GetArrayLength(plpSettings);
+
+ jclass plpClazz = env->FindClass("android/media/tv/tuner/frontend/Atsc3PlpSettings");
+ hidl_vec<FrontendAtsc3PlpSettings> plps = hidl_vec<FrontendAtsc3PlpSettings>(len);
+ // parse PLP settings
+ for (int i = 0; i < len; i++) {
+ jobject plp = env->GetObjectArrayElement(plpSettings, i);
+ uint8_t plpId =
+ static_cast<uint8_t>(
+ env->GetIntField(plp, env->GetFieldID(plpClazz, "mPlpId", "I")));
+ FrontendAtsc3Modulation modulation =
+ static_cast<FrontendAtsc3Modulation>(
+ env->GetIntField(plp, env->GetFieldID(plpClazz, "mModulation", "I")));
+ FrontendAtsc3TimeInterleaveMode interleaveMode =
+ static_cast<FrontendAtsc3TimeInterleaveMode>(
+ env->GetIntField(
+ plp, env->GetFieldID(plpClazz, "mInterleaveMode", "I")));
+ FrontendAtsc3CodeRate codeRate =
+ static_cast<FrontendAtsc3CodeRate>(
+ env->GetIntField(plp, env->GetFieldID(plpClazz, "mCodeRate", "I")));
+ FrontendAtsc3Fec fec =
+ static_cast<FrontendAtsc3Fec>(
+ env->GetIntField(plp, env->GetFieldID(plpClazz, "mFec", "I")));
+ FrontendAtsc3PlpSettings frontendAtsc3PlpSettings {
+ .plpId = plpId,
+ .modulation = modulation,
+ .interleaveMode = interleaveMode,
+ .codeRate = codeRate,
+ .fec = fec,
};
- frontendSettings.analog(frontendAnalogSettings);
+ plps[i] = frontendAtsc3PlpSettings;
}
+ return plps;
+}
+
+static FrontendSettings getAtsc3FrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Atsc3FrontendSettings");
+
+ FrontendAtsc3Bandwidth bandwidth =
+ static_cast<FrontendAtsc3Bandwidth>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mBandwidth", "I")));
+ FrontendAtsc3DemodOutputFormat demod =
+ static_cast<FrontendAtsc3DemodOutputFormat>(
+ env->GetIntField(
+ settings, env->GetFieldID(clazz, "mDemodOutputFormat", "I")));
+ hidl_vec<FrontendAtsc3PlpSettings> plps = getAtsc3PlpSettings(env, settings);
+ FrontendAtsc3Settings frontendAtsc3Settings {
+ .frequency = freq,
+ .bandwidth = bandwidth,
+ .demodOutputFormat = demod,
+ .plpSettings = plps,
+ };
+ frontendSettings.atsc3(frontendAtsc3Settings);
+ return frontendSettings;
+}
+
+static FrontendSettings getAtscFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AtscFrontendSettings");
+ FrontendAtscModulation modulation =
+ static_cast<FrontendAtscModulation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mModulation", "I")));
+ FrontendAtscSettings frontendAtscSettings {
+ .frequency = freq,
+ .modulation = modulation,
+ };
+ frontendSettings.atsc(frontendAtscSettings);
return frontendSettings;
}
+static FrontendSettings getDvbcFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbcFrontendSettings");
+ FrontendDvbcModulation modulation =
+ static_cast<FrontendDvbcModulation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mModulation", "I")));
+ FrontendInnerFec innerFec =
+ static_cast<FrontendInnerFec>(
+ env->GetLongField(settings, env->GetFieldID(clazz, "mFec", "J")));
+ uint32_t symbolRate =
+ static_cast<uint32_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mSymbolRate", "I")));
+ FrontendDvbcOuterFec outerFec =
+ static_cast<FrontendDvbcOuterFec>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mOuterFec", "I")));
+ FrontendDvbcAnnex annex =
+ static_cast<FrontendDvbcAnnex>(
+ env->GetByteField(settings, env->GetFieldID(clazz, "mAnnex", "B")));
+ FrontendDvbcSpectralInversion spectralInversion =
+ static_cast<FrontendDvbcSpectralInversion>(
+ env->GetIntField(
+ settings, env->GetFieldID(clazz, "mSpectralInversion", "I")));
+ FrontendDvbcSettings frontendDvbcSettings {
+ .frequency = freq,
+ .modulation = modulation,
+ .fec = innerFec,
+ .symbolRate = symbolRate,
+ .outerFec = outerFec,
+ .annex = annex,
+ .spectralInversion = spectralInversion,
+ };
+ frontendSettings.dvbc(frontendDvbcSettings);
+ return frontendSettings;
+}
+
+static FrontendDvbsCodeRate getDvbsCodeRate(JNIEnv *env, const jobject& settings) {
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbsFrontendSettings");
+ jobject jcodeRate =
+ env->GetObjectField(settings,
+ env->GetFieldID(
+ clazz,
+ "mCodeRate",
+ "Landroid/media/tv/tuner/frontend/DvbsCodeRate;"));
+
+ jclass codeRateClazz = env->FindClass("android/media/tv/tuner/frontend/DvbsCodeRate");
+ FrontendInnerFec innerFec =
+ static_cast<FrontendInnerFec>(
+ env->GetLongField(
+ jcodeRate, env->GetFieldID(codeRateClazz, "mInnerFec", "J")));
+ bool isLinear =
+ static_cast<bool>(
+ env->GetBooleanField(
+ jcodeRate, env->GetFieldID(codeRateClazz, "mIsLinear", "Z")));
+ bool isShortFrames =
+ static_cast<bool>(
+ env->GetBooleanField(
+ jcodeRate, env->GetFieldID(codeRateClazz, "mIsShortFrames", "Z")));
+ uint32_t bitsPer1000Symbol =
+ static_cast<uint32_t>(
+ env->GetIntField(
+ jcodeRate, env->GetFieldID(
+ codeRateClazz, "mBitsPer1000Symbol", "I")));
+ FrontendDvbsCodeRate coderate {
+ .fec = innerFec,
+ .isLinear = isLinear,
+ .isShortFrames = isShortFrames,
+ .bitsPer1000Symbol = bitsPer1000Symbol,
+ };
+ return coderate;
+}
+
+static FrontendSettings getDvbsFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbsFrontendSettings");
+
+
+ FrontendDvbsModulation modulation =
+ static_cast<FrontendDvbsModulation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mModulation", "I")));
+ uint32_t symbolRate =
+ static_cast<uint32_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mSymbolRate", "I")));
+ FrontendDvbsRolloff rolloff =
+ static_cast<FrontendDvbsRolloff>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mRolloff", "I")));
+ FrontendDvbsPilot pilot =
+ static_cast<FrontendDvbsPilot>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mPilot", "I")));
+ uint32_t inputStreamId =
+ static_cast<uint32_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mInputStreamId", "I")));
+ FrontendDvbsStandard standard =
+ static_cast<FrontendDvbsStandard>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mStandard", "I")));
+ FrontendDvbsVcmMode vcmMode =
+ static_cast<FrontendDvbsVcmMode>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mVcmMode", "I")));
+ FrontendDvbsCodeRate coderate = getDvbsCodeRate(env, settings);
+
+ FrontendDvbsSettings frontendDvbsSettings {
+ .frequency = freq,
+ .modulation = modulation,
+ .coderate = coderate,
+ .symbolRate = symbolRate,
+ .rolloff = rolloff,
+ .pilot = pilot,
+ .inputStreamId = inputStreamId,
+ .standard = standard,
+ .vcmMode = vcmMode,
+ };
+ frontendSettings.dvbs(frontendDvbsSettings);
+ return frontendSettings;
+}
+
+static FrontendSettings getDvbtFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbtFrontendSettings");
+ FrontendDvbtTransmissionMode transmissionMode =
+ static_cast<FrontendDvbtTransmissionMode>(
+ env->GetIntField(
+ settings, env->GetFieldID(clazz, "mTransmissionMode", "I")));
+ FrontendDvbtBandwidth bandwidth =
+ static_cast<FrontendDvbtBandwidth>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mBandwidth", "I")));
+ FrontendDvbtConstellation constellation =
+ static_cast<FrontendDvbtConstellation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mConstellation", "I")));
+ FrontendDvbtHierarchy hierarchy =
+ static_cast<FrontendDvbtHierarchy>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mHierarchy", "I")));
+ FrontendDvbtCoderate hpCoderate =
+ static_cast<FrontendDvbtCoderate>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mHpCodeRate", "I")));
+ FrontendDvbtCoderate lpCoderate =
+ static_cast<FrontendDvbtCoderate>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mLpCodeRate", "I")));
+ FrontendDvbtGuardInterval guardInterval =
+ static_cast<FrontendDvbtGuardInterval>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mGuardInterval", "I")));
+ bool isHighPriority =
+ static_cast<bool>(
+ env->GetBooleanField(
+ settings, env->GetFieldID(clazz, "mIsHighPriority", "Z")));
+ FrontendDvbtStandard standard =
+ static_cast<FrontendDvbtStandard>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mStandard", "I")));
+ bool isMiso =
+ static_cast<bool>(
+ env->GetBooleanField(settings, env->GetFieldID(clazz, "mIsMiso", "Z")));
+ FrontendDvbtPlpMode plpMode =
+ static_cast<FrontendDvbtPlpMode>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mPlpMode", "I")));
+ uint8_t plpId =
+ static_cast<uint8_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mPlpId", "I")));
+ uint8_t plpGroupId =
+ static_cast<uint8_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mPlpGroupId", "I")));
+
+ FrontendDvbtSettings frontendDvbtSettings {
+ .frequency = freq,
+ .transmissionMode = transmissionMode,
+ .bandwidth = bandwidth,
+ .constellation = constellation,
+ .hierarchy = hierarchy,
+ .hpCoderate = hpCoderate,
+ .lpCoderate = lpCoderate,
+ .guardInterval = guardInterval,
+ .isHighPriority = isHighPriority,
+ .standard = standard,
+ .isMiso = isMiso,
+ .plpMode = plpMode,
+ .plpId = plpId,
+ .plpGroupId = plpGroupId,
+ };
+ frontendSettings.dvbt(frontendDvbtSettings);
+ return frontendSettings;
+}
+
+static FrontendSettings getIsdbsFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/IsdbsFrontendSettings");
+ uint16_t streamId =
+ static_cast<uint16_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mStreamId", "I")));
+ FrontendIsdbsStreamIdType streamIdType =
+ static_cast<FrontendIsdbsStreamIdType>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mStreamIdType", "I")));
+ FrontendIsdbsModulation modulation =
+ static_cast<FrontendIsdbsModulation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mModulation", "I")));
+ FrontendIsdbsCoderate coderate =
+ static_cast<FrontendIsdbsCoderate>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mCodeRate", "I")));
+ uint32_t symbolRate =
+ static_cast<uint32_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mSymbolRate", "I")));
+ FrontendIsdbsRolloff rolloff =
+ static_cast<FrontendIsdbsRolloff>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mRolloff", "I")));
+
+ FrontendIsdbsSettings frontendIsdbsSettings {
+ .frequency = freq,
+ .streamId = streamId,
+ .streamIdType = streamIdType,
+ .modulation = modulation,
+ .coderate = coderate,
+ .symbolRate = symbolRate,
+ .rolloff = rolloff,
+ };
+ frontendSettings.isdbs(frontendIsdbsSettings);
+ return frontendSettings;
+}
+
+static FrontendSettings getIsdbs3FrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Isdbs3FrontendSettings");
+ uint16_t streamId =
+ static_cast<uint16_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mStreamId", "I")));
+ FrontendIsdbsStreamIdType streamIdType =
+ static_cast<FrontendIsdbsStreamIdType>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mStreamIdType", "I")));
+ FrontendIsdbs3Modulation modulation =
+ static_cast<FrontendIsdbs3Modulation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mModulation", "I")));
+ FrontendIsdbs3Coderate coderate =
+ static_cast<FrontendIsdbs3Coderate>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mCodeRate", "I")));
+ uint32_t symbolRate =
+ static_cast<uint32_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mSymbolRate", "I")));
+ FrontendIsdbs3Rolloff rolloff =
+ static_cast<FrontendIsdbs3Rolloff>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mRolloff", "I")));
+
+ FrontendIsdbs3Settings frontendIsdbs3Settings {
+ .frequency = freq,
+ .streamId = streamId,
+ .streamIdType = streamIdType,
+ .modulation = modulation,
+ .coderate = coderate,
+ .symbolRate = symbolRate,
+ .rolloff = rolloff,
+ };
+ frontendSettings.isdbs3(frontendIsdbs3Settings);
+ return frontendSettings;
+}
+
+static FrontendSettings getIsdbtFrontendSettings(JNIEnv *env, const jobject& settings) {
+ FrontendSettings frontendSettings;
+ uint32_t freq = getFrontendSettingsFreq(env, settings);
+ jclass clazz = env->FindClass("android/media/tv/tuner/frontend/IsdbtFrontendSettings");
+ FrontendIsdbtModulation modulation =
+ static_cast<FrontendIsdbtModulation>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mModulation", "I")));
+ FrontendIsdbtBandwidth bandwidth =
+ static_cast<FrontendIsdbtBandwidth>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mBandwidth", "I")));
+ FrontendIsdbtMode mode =
+ static_cast<FrontendIsdbtMode>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mMode", "I")));
+ FrontendIsdbtCoderate coderate =
+ static_cast<FrontendIsdbtCoderate>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mCodeRate", "I")));
+ FrontendIsdbtGuardInterval guardInterval =
+ static_cast<FrontendIsdbtGuardInterval>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mGuardInterval", "I")));
+ uint32_t serviceAreaId =
+ static_cast<uint32_t>(
+ env->GetIntField(settings, env->GetFieldID(clazz, "mServiceAreaId", "I")));
+
+ FrontendIsdbtSettings frontendIsdbtSettings {
+ .frequency = freq,
+ .modulation = modulation,
+ .bandwidth = bandwidth,
+ .mode = mode,
+ .coderate = coderate,
+ .guardInterval = guardInterval,
+ .serviceAreaId = serviceAreaId,
+ };
+ frontendSettings.isdbt(frontendIsdbtSettings);
+ return frontendSettings;
+}
+
+static FrontendSettings getFrontendSettings(JNIEnv *env, int type, jobject settings) {
+ ALOGD("getFrontendSettings %d", type);
+
+ FrontendType feType = static_cast<FrontendType>(type);
+ switch(feType) {
+ case FrontendType::ANALOG:
+ return getAnalogFrontendSettings(env, settings);
+ case FrontendType::ATSC3:
+ return getAtsc3FrontendSettings(env, settings);
+ case FrontendType::ATSC:
+ return getAtscFrontendSettings(env, settings);
+ case FrontendType::DVBC:
+ return getDvbcFrontendSettings(env, settings);
+ case FrontendType::DVBS:
+ return getDvbsFrontendSettings(env, settings);
+ case FrontendType::DVBT:
+ return getDvbtFrontendSettings(env, settings);
+ case FrontendType::ISDBS:
+ return getIsdbsFrontendSettings(env, settings);
+ case FrontendType::ISDBS3:
+ return getIsdbs3FrontendSettings(env, settings);
+ case FrontendType::ISDBT:
+ return getIsdbtFrontendSettings(env, settings);
+ default:
+ // should never happen because a type is associated with a subclass of
+ // FrontendSettings and not set by users
+ jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
+ "Unsupported frontend type %d", type);
+ return FrontendSettings();
+ }
+}
+
static sp<Filter> getFilter(JNIEnv *env, jobject filter) {
return (Filter *)env->GetLongField(filter, gFields.filterContext);
}
static DvrSettings getDvrSettings(JNIEnv *env, jobject settings) {
DvrSettings dvrSettings;
- jclass clazz = env->FindClass("android/media/tv/tuner/DvrSettings");
+ jclass clazz = env->FindClass("android/media/tv/tuner/dvr/DvrSettings");
uint32_t statusMask =
static_cast<uint32_t>(env->GetIntField(
settings, env->GetFieldID(clazz, "mStatusMask", "I")));
@@ -585,25 +1038,25 @@ static void android_media_tv_Tuner_native_init(JNIEnv *env) {
gFields.frontendInitID =
env->GetMethodID(frontendClazz, "<init>", "(Landroid/media/tv/tuner/Tuner;I)V");
- jclass lnbClazz = env->FindClass("android/media/tv/tuner/Tuner$Lnb");
+ jclass lnbClazz = env->FindClass("android/media/tv/tuner/Lnb");
gFields.lnbInitID =
- env->GetMethodID(lnbClazz, "<init>", "(Landroid/media/tv/tuner/Tuner;I)V");
+ env->GetMethodID(lnbClazz, "<init>", "(I)V");
- jclass filterClazz = env->FindClass("android/media/tv/tuner/Tuner$Filter");
+ jclass filterClazz = env->FindClass("android/media/tv/tuner/filter/Filter");
gFields.filterContext = env->GetFieldID(filterClazz, "mNativeContext", "J");
gFields.filterInitID =
- env->GetMethodID(filterClazz, "<init>", "(Landroid/media/tv/tuner/Tuner;I)V");
+ env->GetMethodID(filterClazz, "<init>", "(I)V");
gFields.onFilterStatusID =
env->GetMethodID(filterClazz, "onFilterStatus", "(I)V");
- jclass descramblerClazz = env->FindClass("android/media/tv/tuner/Tuner$Descrambler");
+ jclass descramblerClazz = env->FindClass("android/media/tv/tuner/Descrambler");
gFields.descramblerContext = env->GetFieldID(descramblerClazz, "mNativeContext", "J");
gFields.descramblerInitID =
- env->GetMethodID(descramblerClazz, "<init>", "(Landroid/media/tv/tuner/Tuner;)V");
+ env->GetMethodID(descramblerClazz, "<init>", "()V");
- jclass dvrClazz = env->FindClass("android/media/tv/tuner/Tuner$Dvr");
+ jclass dvrClazz = env->FindClass("android/media/tv/tuner/dvr/Dvr");
gFields.dvrContext = env->GetFieldID(dvrClazz, "mNativeContext", "J");
- gFields.dvrInitID = env->GetMethodID(dvrClazz, "<init>", "(Landroid/media/tv/tuner/Tuner;)V");
+ gFields.dvrInitID = env->GetMethodID(dvrClazz, "<init>", "()V");
}
static void android_media_tv_Tuner_native_setup(JNIEnv *env, jobject thiz) {
@@ -649,7 +1102,7 @@ static int android_media_tv_Tuner_set_lna(JNIEnv*, jobject, jint, jboolean) {
return 0;
}
-static jobjectArray android_media_tv_Tuner_get_frontend_status(JNIEnv, jobject, jintArray) {
+static jobject android_media_tv_Tuner_get_frontend_status(JNIEnv, jobject, jintArray) {
return NULL;
}
@@ -684,7 +1137,7 @@ static jobject android_media_tv_Tuner_open_lnb_by_id(JNIEnv *env, jobject thiz,
}
static jobject android_media_tv_Tuner_open_filter(
- JNIEnv *env, jobject thiz, jint type, jint subType, jint bufferSize) {
+ JNIEnv *env, jobject thiz, jint type, jint subType, jlong bufferSize) {
sp<JTuner> tuner = getTuner(env, thiz);
DemuxFilterType filterType {
.mainType = static_cast<DemuxFilterMainType>(type),
@@ -708,17 +1161,17 @@ static DemuxFilterSettings getFilterSettings(
env->GetObjectField(
filterSettingsObj,
env->GetFieldID(
- env->FindClass("android/media/tv/tuner/FilterSettings"),
+ env->FindClass("android/media/tv/tuner/filter/FilterConfiguration"),
"mSettings",
- "Landroid/media/tv/tuner/FilterSettings$Settings;"));
+ "Landroid/media/tv/tuner/filter/Settings;"));
if (type == (int)DemuxFilterMainType::TS) {
// DemuxTsFilterSettings
- jclass clazz = env->FindClass("android/media/tv/tuner/FilterSettings$TsFilterSettings");
+ jclass clazz = env->FindClass("android/media/tv/tuner/filter/TsFilterConfiguration");
int tpid = env->GetIntField(filterSettingsObj, env->GetFieldID(clazz, "mTpid", "I"));
if (subtype == (int)DemuxTsFilterType::PES) {
// DemuxFilterPesDataSettings
jclass settingClazz =
- env->FindClass("android/media/tv/tuner/FilterSettings$PesSettings");
+ env->FindClass("android/media/tv/tuner/filter/PesSettings");
int streamId = env->GetIntField(
settingsObj, env->GetFieldID(settingClazz, "mStreamId", "I"));
bool isRaw = (bool)env->GetBooleanField(
@@ -831,7 +1284,7 @@ static int android_media_tv_Tuner_flush_filter(JNIEnv *env, jobject filter) {
}
static int android_media_tv_Tuner_read_filter_fmq(
- JNIEnv *env, jobject filter, jbyteArray buffer, jint offset, jint size) {
+ JNIEnv *env, jobject filter, jbyteArray buffer, jlong offset, jlong size) {
sp<Filter> filterSp = getFilter(env, filter);
if (filterSp == NULL) {
ALOGD("Failed to read filter FMQ: filter not found");
@@ -901,9 +1354,14 @@ static int android_media_tv_Tuner_close_descrambler(JNIEnv, jobject) {
return 0;
}
-static jobject android_media_tv_Tuner_open_dvr(JNIEnv *env, jobject thiz, jint type, jint bufferSize) {
- sp<JTuner> tuner = getTuner(env, thiz);
- return tuner->openDvr(static_cast<DvrType>(type), bufferSize);
+static jobject android_media_tv_Tuner_open_dvr_recorder(
+ JNIEnv* /* env */, jobject /* thiz */, jlong /* bufferSize */) {
+ return NULL;
+}
+
+static jobject android_media_tv_Tuner_open_dvr_playback(
+ JNIEnv* /* env */, jobject /* thiz */, jlong /* bufferSize */) {
+ return NULL;
}
static jobject android_media_tv_Tuner_get_demux_caps(JNIEnv*, jobject) {
@@ -1019,35 +1477,35 @@ static void android_media_tv_Tuner_dvr_set_fd(JNIEnv *env, jobject dvr, jobject
ALOGD("set fd = %d", dvrSp->mFd);
}
-static int android_media_tv_Tuner_read_dvr(JNIEnv *env, jobject dvr, jint size) {
+static jlong android_media_tv_Tuner_read_dvr(JNIEnv *env, jobject dvr, jlong size) {
sp<Dvr> dvrSp = getDvr(env, dvr);
if (dvrSp == NULL) {
ALOGD("Failed to read dvr: dvr not found");
}
- int available = dvrSp->mDvrMQ->availableToWrite();
- int write = std::min(size, available);
+ long available = dvrSp->mDvrMQ->availableToWrite();
+ long write = std::min((long) size, available);
DvrMQ::MemTransaction tx;
- int ret = 0;
+ long ret = 0;
if (dvrSp->mDvrMQ->beginWrite(write, &tx)) {
auto first = tx.getFirstRegion();
auto data = first.getAddress();
- int length = first.getLength();
- int firstToWrite = std::min(length, write);
+ long length = first.getLength();
+ long firstToWrite = std::min(length, write);
ret = read(dvrSp->mFd, data, firstToWrite);
if (ret < firstToWrite) {
- ALOGW("[DVR] file to MQ, first region: %d bytes to write, but %d bytes written",
+ ALOGW("[DVR] file to MQ, first region: %ld bytes to write, but %ld bytes written",
firstToWrite, ret);
} else if (firstToWrite < write) {
- ALOGD("[DVR] write second region: %d bytes written, %d bytes in total", ret, write);
+ ALOGD("[DVR] write second region: %ld bytes written, %ld bytes in total", ret, write);
auto second = tx.getSecondRegion();
data = second.getAddress();
length = second.getLength();
int secondToWrite = std::min(length, write - firstToWrite);
ret += read(dvrSp->mFd, data, secondToWrite);
}
- ALOGD("[DVR] file to MQ: %d bytes need to be written, %d bytes written", write, ret);
+ ALOGD("[DVR] file to MQ: %ld bytes need to be written, %ld bytes written", write, ret);
if (!dvrSp->mDvrMQ->commitWrite(ret)) {
ALOGE("[DVR] Error: failed to commit write!");
}
@@ -1055,17 +1513,17 @@ static int android_media_tv_Tuner_read_dvr(JNIEnv *env, jobject dvr, jint size)
} else {
ALOGE("dvrMq.beginWrite failed");
}
- return ret;
+ return (jlong) ret;
}
-static int android_media_tv_Tuner_read_dvr_from_array(
- JNIEnv /* *env */, jobject /* dvr */, jbyteArray /* bytes */, jint /* offset */,
- jint /* size */) {
+static jlong android_media_tv_Tuner_read_dvr_from_array(
+ JNIEnv /* *env */, jobject /* dvr */, jbyteArray /* bytes */, jlong /* offset */,
+ jlong /* size */) {
//TODO: impl
return 0;
}
-static int android_media_tv_Tuner_write_dvr(JNIEnv *env, jobject dvr, jint size) {
+static jlong android_media_tv_Tuner_write_dvr(JNIEnv *env, jobject dvr, jlong size) {
sp<Dvr> dvrSp = getDvr(env, dvr);
if (dvrSp == NULL) {
ALOGW("Failed to write dvr: dvr not found");
@@ -1079,28 +1537,28 @@ static int android_media_tv_Tuner_write_dvr(JNIEnv *env, jobject dvr, jint size)
DvrMQ& dvrMq = dvrSp->getDvrMQ();
- int available = dvrMq.availableToRead();
- int toRead = std::min(size, available);
+ long available = dvrMq.availableToRead();
+ long toRead = std::min((long) size, available);
- int ret = 0;
+ long ret = 0;
DvrMQ::MemTransaction tx;
if (dvrMq.beginRead(toRead, &tx)) {
auto first = tx.getFirstRegion();
auto data = first.getAddress();
- int length = first.getLength();
- int firstToRead = std::min(length, toRead);
+ long length = first.getLength();
+ long firstToRead = std::min(length, toRead);
ret = write(dvrSp->mFd, data, firstToRead);
if (ret < firstToRead) {
- ALOGW("[DVR] MQ to file: %d bytes read, but %d bytes written", firstToRead, ret);
+ ALOGW("[DVR] MQ to file: %ld bytes read, but %ld bytes written", firstToRead, ret);
} else if (firstToRead < toRead) {
- ALOGD("[DVR] read second region: %d bytes read, %d bytes in total", ret, toRead);
+ ALOGD("[DVR] read second region: %ld bytes read, %ld bytes in total", ret, toRead);
auto second = tx.getSecondRegion();
data = second.getAddress();
length = second.getLength();
int secondToRead = toRead - firstToRead;
ret += write(dvrSp->mFd, data, secondToRead);
}
- ALOGD("[DVR] MQ to file: %d bytes to be read, %d bytes written", toRead, ret);
+ ALOGD("[DVR] MQ to file: %ld bytes to be read, %ld bytes written", toRead, ret);
if (!dvrMq.commitRead(ret)) {
ALOGE("[DVR] Error: failed to commit read!");
}
@@ -1109,12 +1567,12 @@ static int android_media_tv_Tuner_write_dvr(JNIEnv *env, jobject dvr, jint size)
ALOGE("dvrMq.beginRead failed");
}
- return ret;
+ return (jlong) ret;
}
-static int android_media_tv_Tuner_write_dvr_to_array(
- JNIEnv /* *env */, jobject /* dvr */, jbyteArray /* bytes */, jint /* offset */,
- jint /* size */) {
+static jlong android_media_tv_Tuner_write_dvr_to_array(
+ JNIEnv /* *env */, jobject /* dvr */, jbyteArray /* bytes */, jlong /* offset */,
+ jlong /* size */) {
//TODO: impl
return 0;
}
@@ -1126,56 +1584,58 @@ static const JNINativeMethod gTunerMethods[] = {
(void *)android_media_tv_Tuner_get_frontend_ids },
{ "nativeOpenFrontendById", "(I)Landroid/media/tv/tuner/Tuner$Frontend;",
(void *)android_media_tv_Tuner_open_frontend_by_id },
- { "nativeTune", "(ILandroid/media/tv/tuner/FrontendSettings;)I",
+ { "nativeTune", "(ILandroid/media/tv/tuner/frontend/FrontendSettings;)I",
(void *)android_media_tv_Tuner_tune },
{ "nativeStopTune", "()I", (void *)android_media_tv_Tuner_stop_tune },
- { "nativeScan", "(ILandroid/media/tv/tuner/FrontendSettings;I)I",
+ { "nativeScan", "(ILandroid/media/tv/tuner/frontend/FrontendSettings;I)I",
(void *)android_media_tv_Tuner_scan },
{ "nativeStopScan", "()I", (void *)android_media_tv_Tuner_stop_scan },
{ "nativeSetLnb", "(I)I", (void *)android_media_tv_Tuner_set_lnb },
{ "nativeSetLna", "(Z)I", (void *)android_media_tv_Tuner_set_lna },
- { "nativeGetFrontendStatus", "([I)[Landroid/media/tv/tuner/FrontendStatus;",
+ { "nativeGetFrontendStatus", "([I)Landroid/media/tv/tuner/frontend/FrontendStatus;",
(void *)android_media_tv_Tuner_get_frontend_status },
- { "nativeGetAvSyncHwId", "(Landroid/media/tv/tuner/Tuner$Filter;)I",
+ { "nativeGetAvSyncHwId", "(Landroid/media/tv/tuner/filter/Filter;)I",
(void *)android_media_tv_Tuner_gat_av_sync_hw_id },
{ "nativeGetAvSyncTime", "(I)J", (void *)android_media_tv_Tuner_gat_av_sync_time },
{ "nativeConnectCiCam", "(I)I", (void *)android_media_tv_Tuner_connect_cicam },
{ "nativeDisconnectCiCam", "()I", (void *)android_media_tv_Tuner_disconnect_cicam },
- { "nativeGetFrontendInfo", "(I)[Landroid/media/tv/tuner/FrontendInfo;",
+ { "nativeGetFrontendInfo", "(I)Landroid/media/tv/tuner/frontend/FrontendInfo;",
(void *)android_media_tv_Tuner_get_frontend_info },
- { "nativeOpenFilter", "(III)Landroid/media/tv/tuner/Tuner$Filter;",
+ { "nativeOpenFilter", "(IIJ)Landroid/media/tv/tuner/filter/Filter;",
(void *)android_media_tv_Tuner_open_filter },
- { "nativeOpenTimeFilter", "()Landroid/media/tv/tuner/Tuner$TimeFilter;",
+ { "nativeOpenTimeFilter", "()Landroid/media/tv/tuner/filter/TimeFilter;",
(void *)android_media_tv_Tuner_open_time_filter },
{ "nativeGetLnbIds", "()Ljava/util/List;",
(void *)android_media_tv_Tuner_get_lnb_ids },
- { "nativeOpenLnbById", "(I)Landroid/media/tv/tuner/Tuner$Lnb;",
+ { "nativeOpenLnbById", "(I)Landroid/media/tv/tuner/Lnb;",
(void *)android_media_tv_Tuner_open_lnb_by_id },
- { "nativeOpenDescrambler", "()Landroid/media/tv/tuner/Tuner$Descrambler;",
+ { "nativeOpenDescrambler", "()Landroid/media/tv/tuner/Descrambler;",
(void *)android_media_tv_Tuner_open_descrambler },
- { "nativeOpenDvr", "(II)Landroid/media/tv/tuner/Tuner$Dvr;",
- (void *)android_media_tv_Tuner_open_dvr },
+ { "nativeOpenDvrRecorder", "(J)Landroid/media/tv/tuner/dvr/DvrRecorder;",
+ (void *)android_media_tv_Tuner_open_dvr_recorder },
+ { "nativeOpenDvrPlayback", "(J)Landroid/media/tv/tuner/dvr/DvrPlayback;",
+ (void *)android_media_tv_Tuner_open_dvr_playback },
{ "nativeGetDemuxCapabilities", "()Landroid/media/tv/tuner/DemuxCapabilities;",
(void *)android_media_tv_Tuner_get_demux_caps },
};
static const JNINativeMethod gFilterMethods[] = {
- { "nativeConfigureFilter", "(IILandroid/media/tv/tuner/FilterSettings;)I",
+ { "nativeConfigureFilter", "(IILandroid/media/tv/tuner/filter/FilterConfiguration;)I",
(void *)android_media_tv_Tuner_configure_filter },
{ "nativeGetId", "()I", (void *)android_media_tv_Tuner_get_filter_id },
- { "nativeSetDataSource", "(Landroid/media/tv/tuner/Tuner$Filter;)I",
+ { "nativeSetDataSource", "(Landroid/media/tv/tuner/filter/Filter;)I",
(void *)android_media_tv_Tuner_set_filter_data_source },
{ "nativeStartFilter", "()I", (void *)android_media_tv_Tuner_start_filter },
{ "nativeStopFilter", "()I", (void *)android_media_tv_Tuner_stop_filter },
{ "nativeFlushFilter", "()I", (void *)android_media_tv_Tuner_flush_filter },
- { "nativeRead", "([BII)I", (void *)android_media_tv_Tuner_read_filter_fmq },
+ { "nativeRead", "([BJJ)I", (void *)android_media_tv_Tuner_read_filter_fmq },
{ "nativeClose", "()I", (void *)android_media_tv_Tuner_close_filter },
};
static const JNINativeMethod gTimeFilterMethods[] = {
- { "nativeSetTimeStamp", "(J)I", (void *)android_media_tv_Tuner_time_filter_set_timestamp },
- { "nativeClearTimeStamp", "()I", (void *)android_media_tv_Tuner_time_filter_clear_timestamp },
- { "nativeGetTimeStamp", "()Ljava/lang/Long;",
+ { "nativeSetTimestamp", "(J)I", (void *)android_media_tv_Tuner_time_filter_set_timestamp },
+ { "nativeClearTimestamp", "()I", (void *)android_media_tv_Tuner_time_filter_clear_timestamp },
+ { "nativeGetTimestamp", "()Ljava/lang/Long;",
(void *)android_media_tv_Tuner_time_filter_get_timestamp },
{ "nativeGetSourceTime", "()Ljava/lang/Long;",
(void *)android_media_tv_Tuner_time_filter_get_source_time },
@@ -1183,31 +1643,36 @@ static const JNINativeMethod gTimeFilterMethods[] = {
};
static const JNINativeMethod gDescramblerMethods[] = {
- { "nativeAddPid", "(IILandroid/media/tv/tuner/Tuner$Filter;)I",
+ { "nativeAddPid", "(IILandroid/media/tv/tuner/filter/Filter;)I",
(void *)android_media_tv_Tuner_add_pid },
- { "nativeRemovePid", "(IILandroid/media/tv/tuner/Tuner$Filter;)I",
+ { "nativeRemovePid", "(IILandroid/media/tv/tuner/filter/Filter;)I",
(void *)android_media_tv_Tuner_remove_pid },
{ "nativeSetKeyToken", "([B)I", (void *)android_media_tv_Tuner_set_key_token },
{ "nativeClose", "()I", (void *)android_media_tv_Tuner_close_descrambler },
};
static const JNINativeMethod gDvrMethods[] = {
- { "nativeAttachFilter", "(Landroid/media/tv/tuner/Tuner$Filter;)I",
+ { "nativeAttachFilter", "(Landroid/media/tv/tuner/filter/Filter;)I",
(void *)android_media_tv_Tuner_attach_filter },
- { "nativeDetachFilter", "(Landroid/media/tv/tuner/Tuner$Filter;)I",
+ { "nativeDetachFilter", "(Landroid/media/tv/tuner/filter/Filter;)I",
(void *)android_media_tv_Tuner_detach_filter },
- { "nativeConfigureDvr", "(Landroid/media/tv/tuner/DvrSettings;)I",
+ { "nativeConfigureDvr", "(Landroid/media/tv/tuner/dvr/DvrSettings;)I",
(void *)android_media_tv_Tuner_configure_dvr },
{ "nativeStartDvr", "()I", (void *)android_media_tv_Tuner_start_dvr },
{ "nativeStopDvr", "()I", (void *)android_media_tv_Tuner_stop_dvr },
{ "nativeFlushDvr", "()I", (void *)android_media_tv_Tuner_flush_dvr },
{ "nativeClose", "()I", (void *)android_media_tv_Tuner_close_dvr },
- { "nativeSetFileDescriptor", "(Ljava/io/FileDescriptor;)V",
- (void *)android_media_tv_Tuner_dvr_set_fd },
- { "nativeRead", "(I)I", (void *)android_media_tv_Tuner_read_dvr },
- { "nativeRead", "([BII)I", (void *)android_media_tv_Tuner_read_dvr_from_array },
- { "nativeWrite", "(I)I", (void *)android_media_tv_Tuner_write_dvr },
- { "nativeWrite", "([BII)I", (void *)android_media_tv_Tuner_write_dvr_to_array },
+ { "nativeSetFileDescriptor", "(I)V", (void *)android_media_tv_Tuner_dvr_set_fd },
+};
+
+static const JNINativeMethod gDvrRecorderMethods[] = {
+ { "nativeWrite", "(J)J", (void *)android_media_tv_Tuner_write_dvr },
+ { "nativeWrite", "([BJJ)J", (void *)android_media_tv_Tuner_write_dvr_to_array },
+};
+
+static const JNINativeMethod gDvrPlaybackMethods[] = {
+ { "nativeRead", "(J)J", (void *)android_media_tv_Tuner_read_dvr },
+ { "nativeRead", "([BJJ)J", (void *)android_media_tv_Tuner_read_dvr_from_array },
};
static const JNINativeMethod gLnbMethods[] = {
@@ -1225,35 +1690,49 @@ static bool register_android_media_tv_Tuner(JNIEnv *env) {
return false;
}
if (AndroidRuntime::registerNativeMethods(
- env, "android/media/tv/tuner/Tuner$Filter",
+ env, "android/media/tv/tuner/filter/Filter",
gFilterMethods,
NELEM(gFilterMethods)) != JNI_OK) {
ALOGE("Failed to register filter native methods");
return false;
}
if (AndroidRuntime::registerNativeMethods(
- env, "android/media/tv/tuner/Tuner$TimeFilter",
+ env, "android/media/tv/tuner/filter/TimeFilter",
gTimeFilterMethods,
NELEM(gTimeFilterMethods)) != JNI_OK) {
ALOGE("Failed to register time filter native methods");
return false;
}
if (AndroidRuntime::registerNativeMethods(
- env, "android/media/tv/tuner/Tuner$Descrambler",
+ env, "android/media/tv/tuner/Descrambler",
gDescramblerMethods,
NELEM(gDescramblerMethods)) != JNI_OK) {
ALOGE("Failed to register descrambler native methods");
return false;
}
if (AndroidRuntime::registerNativeMethods(
- env, "android/media/tv/tuner/Tuner$Dvr",
+ env, "android/media/tv/tuner/dvr/Dvr",
gDvrMethods,
NELEM(gDvrMethods)) != JNI_OK) {
ALOGE("Failed to register dvr native methods");
return false;
}
if (AndroidRuntime::registerNativeMethods(
- env, "android/media/tv/tuner/Tuner$Lnb",
+ env, "android/media/tv/tuner/dvr/DvrRecorder",
+ gDvrRecorderMethods,
+ NELEM(gDvrRecorderMethods)) != JNI_OK) {
+ ALOGE("Failed to register dvr recorder native methods");
+ return false;
+ }
+ if (AndroidRuntime::registerNativeMethods(
+ env, "android/media/tv/tuner/dvr/DvrPlayback",
+ gDvrPlaybackMethods,
+ NELEM(gDvrPlaybackMethods)) != JNI_OK) {
+ ALOGE("Failed to register dvr playback native methods");
+ return false;
+ }
+ if (AndroidRuntime::registerNativeMethods(
+ env, "android/media/tv/tuner/Lnb",
gLnbMethods,
NELEM(gLnbMethods)) != JNI_OK) {
ALOGE("Failed to register lnb native methods");
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestUtils.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestUtils.java
index 0ae640dd7910..25220951dd7b 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestUtils.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/helpers/CameraTestUtils.java
@@ -58,7 +58,6 @@ import android.os.Handler;
import android.util.Log;
import android.util.Pair;
import android.util.Size;
-import android.view.Display;
import android.view.Surface;
import android.view.WindowManager;
@@ -2211,14 +2210,14 @@ public class CameraTestUtils extends Assert {
}
public static Size getPreviewSizeBound(WindowManager windowManager, Size bound) {
- Display display = windowManager.getDefaultDisplay();
+ Size windowSize = windowManager.getCurrentWindowMetrics().getSize();
- int width = display.getWidth();
- int height = display.getHeight();
+ int width = windowSize.getWidth();
+ int height = windowSize.getHeight();
if (height > width) {
height = width;
- width = display.getHeight();
+ width = windowSize.getHeight();
}
if (bound.getWidth() <= width &&
diff --git a/media/tests/MediaRouteProvider/Android.bp b/media/tests/MediaRouteProvider/Android.bp
deleted file mode 100644
index da4282495ac2..000000000000
--- a/media/tests/MediaRouteProvider/Android.bp
+++ /dev/null
@@ -1,18 +0,0 @@
-android_test {
- name: "mediarouteprovider",
-
- srcs: ["**/*.java"],
-
- libs: [
- "android.test.runner",
- "android.test.base",
- ],
-
- static_libs: [
- "android-support-test",
- "mockito-target-minus-junit4",
- ],
-
- platform_apis: true,
- certificate: "platform",
-} \ No newline at end of file
diff --git a/media/tests/MediaRouteProvider/AndroidManifest.xml b/media/tests/MediaRouteProvider/AndroidManifest.xml
deleted file mode 100644
index 489a6214ecbd..000000000000
--- a/media/tests/MediaRouteProvider/AndroidManifest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2019 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.mediarouteprovider.example">
-
- <application android:label="@string/app_name">
- <uses-library android:name="android.test.runner" />
- <service android:name=".SampleMediaRoute2ProviderService"
- android:label="@string/app_name"
- android:exported="true">
- <intent-filter>
- <action android:name="android.media.MediaRoute2ProviderService" />
- </intent-filter>
- </service>
- </application>
-</manifest>
diff --git a/media/tests/MediaRouteProvider/res/values/strings.xml b/media/tests/MediaRouteProvider/res/values/strings.xml
deleted file mode 100644
index bb970641ffda..000000000000
--- a/media/tests/MediaRouteProvider/res/values/strings.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <!-- name of the app [CHAR LIMIT=25]-->
- <string name="app_name">SampleMediaRouteProvider</string>
-</resources> \ No newline at end of file
diff --git a/media/tests/MediaRouter/AndroidManifest.xml b/media/tests/MediaRouter/AndroidManifest.xml
index a34a264e1247..95465007d5ea 100644
--- a/media/tests/MediaRouter/AndroidManifest.xml
+++ b/media/tests/MediaRouter/AndroidManifest.xml
@@ -17,10 +17,14 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.mediaroutertest">
- <uses-permission android:name="android.permission.CONTROL_MEDIA_ROUTE" />
-
<application android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
+ <service android:name=".SampleMediaRoute2ProviderService"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.media.MediaRoute2ProviderService" />
+ </intent-filter>
+ </service>
</application>
<instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRoute2InfoTest.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRoute2InfoTest.java
deleted file mode 100644
index c46966fdc6d8..000000000000
--- a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRoute2InfoTest.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.mediaroutertest;
-
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.testng.Assert.assertThrows;
-
-import android.media.MediaRoute2Info;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Tests {@link MediaRoute2Info} and its {@link MediaRoute2Info.Builder builder}.
- */
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class MediaRoute2InfoTest {
-
- public static final String TEST_ID = "test_id";
- public static final String TEST_NAME = "test_name";
- public static final String TEST_ROUTE_TYPE_0 = "test_route_type_0";
- public static final String TEST_ROUTE_TYPE_1 = "test_route_type_1";
- public static final int TEST_DEVICE_TYPE = MediaRoute2Info.DEVICE_TYPE_REMOTE_SPEAKER;
- public static final Uri TEST_ICON_URI = Uri.parse("https://developer.android.com");
- public static final String TEST_DESCRIPTION = "test_description";
- public static final int TEST_CONNECTION_STATE = MediaRoute2Info.CONNECTION_STATE_CONNECTING;
- public static final String TEST_CLIENT_PACKAGE_NAME = "com.test.client.package.name";
- public static final int TEST_VOLUME_HANDLING = MediaRoute2Info.PLAYBACK_VOLUME_VARIABLE;
- public static final int TEST_VOLUME_MAX = 100;
- public static final int TEST_VOLUME = 65;
-
- public static final String TEST_KEY = "test_key";
- public static final String TEST_VALUE = "test_value";
-
- @Test
- public void testBuilderConstructorWithInvalidValues() {
- final String nullId = null;
- final String nullName = null;
- final String emptyId = "";
- final String emptyName = "";
- final String validId = "valid_id";
- final String validName = "valid_name";
-
- // ID is invalid
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(nullId, validName));
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(emptyId, validName));
-
- // name is invalid
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(validId, nullName));
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(validId, emptyName));
-
- // Both are invalid
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(nullId, nullName));
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(nullId, emptyName));
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(emptyId, nullName));
- assertThrows(IllegalArgumentException.class,
- () -> new MediaRoute2Info.Builder(emptyId, emptyName));
-
-
- // Null RouteInfo (1-argument constructor)
- final MediaRoute2Info nullRouteInfo = null;
- assertThrows(NullPointerException.class,
- () -> new MediaRoute2Info.Builder(nullRouteInfo));
- }
-
- @Test
- public void testBuilderBuildWithEmptyRouteTypesShouldThrowIAE() {
- MediaRoute2Info.Builder builder = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME);
- assertThrows(IllegalArgumentException.class, () -> builder.build());
- }
-
- @Test
- public void testBuilderAndGettersOfMediaRoute2Info() {
- Bundle extras = new Bundle();
- extras.putString(TEST_KEY, TEST_VALUE);
-
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .setDeviceType(TEST_DEVICE_TYPE)
- .setIconUri(TEST_ICON_URI)
- .setDescription(TEST_DESCRIPTION)
- .setConnectionState(TEST_CONNECTION_STATE)
- .setClientPackageName(TEST_CLIENT_PACKAGE_NAME)
- .setVolumeHandling(TEST_VOLUME_HANDLING)
- .setVolumeMax(TEST_VOLUME_MAX)
- .setVolume(TEST_VOLUME)
- .setExtras(extras)
- .build();
-
- assertEquals(TEST_ID, routeInfo.getId());
- assertEquals(TEST_NAME, routeInfo.getName());
-
- assertEquals(2, routeInfo.getFeatures().size());
- assertEquals(TEST_ROUTE_TYPE_0, routeInfo.getFeatures().get(0));
- assertEquals(TEST_ROUTE_TYPE_1, routeInfo.getFeatures().get(1));
-
- assertEquals(TEST_DEVICE_TYPE, routeInfo.getDeviceType());
- assertEquals(TEST_ICON_URI, routeInfo.getIconUri());
- assertEquals(TEST_DESCRIPTION, routeInfo.getDescription());
- assertEquals(TEST_CONNECTION_STATE, routeInfo.getConnectionState());
- assertEquals(TEST_CLIENT_PACKAGE_NAME, routeInfo.getClientPackageName());
- assertEquals(TEST_VOLUME_HANDLING, routeInfo.getVolumeHandling());
- assertEquals(TEST_VOLUME_MAX, routeInfo.getVolumeMax());
- assertEquals(TEST_VOLUME, routeInfo.getVolume());
-
- Bundle extrasOut = routeInfo.getExtras();
- assertNotNull(extrasOut);
- assertTrue(extrasOut.containsKey(TEST_KEY));
- assertEquals(TEST_VALUE, extrasOut.getString(TEST_KEY));
- }
-
- @Test
- public void testBuilderSetExtrasWithNull() {
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .setExtras(null)
- .build();
-
- assertNull(routeInfo.getExtras());
- }
-
- @Test
- public void testBuilderaddFeatures() {
- List<String> routeTypes = new ArrayList<>();
- routeTypes.add(TEST_ROUTE_TYPE_0);
- routeTypes.add(TEST_ROUTE_TYPE_1);
-
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeatures(routeTypes)
- .build();
-
- assertEquals(routeTypes, routeInfo.getFeatures());
- }
-
- @Test
- public void testBuilderclearFeatures() {
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- // clearFeatures should clear the route types.
- .clearFeatures()
- .addFeature(TEST_ROUTE_TYPE_1)
- .build();
-
- assertEquals(1, routeInfo.getFeatures().size());
- assertEquals(TEST_ROUTE_TYPE_1, routeInfo.getFeatures().get(0));
- }
-
- @Test
- public void testhasAnyFeaturesReturnsFalse() {
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .build();
-
- List<String> testRouteTypes = new ArrayList<>();
- testRouteTypes.add("non_matching_route_type_1");
- testRouteTypes.add("non_matching_route_type_2");
- testRouteTypes.add("non_matching_route_type_3");
- testRouteTypes.add("non_matching_route_type_4");
-
- assertFalse(routeInfo.hasAnyFeatures(testRouteTypes));
- }
-
- @Test
- public void testhasAnyFeaturesReturnsTrue() {
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .build();
-
- List<String> testRouteTypes = new ArrayList<>();
- testRouteTypes.add("non_matching_route_type_1");
- testRouteTypes.add("non_matching_route_type_2");
- testRouteTypes.add("non_matching_route_type_3");
- testRouteTypes.add(TEST_ROUTE_TYPE_1);
-
- assertTrue(routeInfo.hasAnyFeatures(testRouteTypes));
- }
-
- @Test
- public void testEqualsCreatedWithSameArguments() {
- Bundle extras = new Bundle();
- extras.putString(TEST_KEY, TEST_VALUE);
-
- MediaRoute2Info routeInfo1 = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .setDeviceType(TEST_DEVICE_TYPE)
- .setIconUri(TEST_ICON_URI)
- .setDescription(TEST_DESCRIPTION)
- .setConnectionState(TEST_CONNECTION_STATE)
- .setClientPackageName(TEST_CLIENT_PACKAGE_NAME)
- .setVolumeHandling(TEST_VOLUME_HANDLING)
- .setVolumeMax(TEST_VOLUME_MAX)
- .setVolume(TEST_VOLUME)
- .setExtras(extras)
- .build();
-
- MediaRoute2Info routeInfo2 = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .setDeviceType(TEST_DEVICE_TYPE)
- .setIconUri(TEST_ICON_URI)
- .setDescription(TEST_DESCRIPTION)
- .setConnectionState(TEST_CONNECTION_STATE)
- .setClientPackageName(TEST_CLIENT_PACKAGE_NAME)
- .setVolumeHandling(TEST_VOLUME_HANDLING)
- .setVolumeMax(TEST_VOLUME_MAX)
- .setVolume(TEST_VOLUME)
- .setExtras(extras)
- .build();
-
- assertEquals(routeInfo1, routeInfo2);
- assertEquals(routeInfo1.hashCode(), routeInfo2.hashCode());
- }
-
- @Test
- public void testEqualsCreatedWithBuilderCopyConstructor() {
- Bundle extras = new Bundle();
- extras.putString(TEST_KEY, TEST_VALUE);
-
- MediaRoute2Info routeInfo1 = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .setDeviceType(TEST_DEVICE_TYPE)
- .setIconUri(TEST_ICON_URI)
- .setDescription(TEST_DESCRIPTION)
- .setConnectionState(TEST_CONNECTION_STATE)
- .setClientPackageName(TEST_CLIENT_PACKAGE_NAME)
- .setVolumeHandling(TEST_VOLUME_HANDLING)
- .setVolumeMax(TEST_VOLUME_MAX)
- .setVolume(TEST_VOLUME)
- .setExtras(extras)
- .build();
-
- MediaRoute2Info routeInfo2 = new MediaRoute2Info.Builder(routeInfo1).build();
-
- assertEquals(routeInfo1, routeInfo2);
- assertEquals(routeInfo1.hashCode(), routeInfo2.hashCode());
- }
-
- @Test
- public void testEqualsReturnFalse() {
- Bundle extras = new Bundle();
- extras.putString(TEST_KEY, TEST_VALUE);
-
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .setDeviceType(TEST_DEVICE_TYPE)
- .setIconUri(TEST_ICON_URI)
- .setDescription(TEST_DESCRIPTION)
- .setConnectionState(TEST_CONNECTION_STATE)
- .setClientPackageName(TEST_CLIENT_PACKAGE_NAME)
- .setVolumeHandling(TEST_VOLUME_HANDLING)
- .setVolumeMax(TEST_VOLUME_MAX)
- .setVolume(TEST_VOLUME)
- .setExtras(extras)
- .build();
-
- // Now, we will use copy constructor
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .addFeature("randomRouteType")
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setDeviceType(TEST_DEVICE_TYPE + 1)
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setIconUri(Uri.parse("randomUri"))
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setDescription("randomDescription")
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setConnectionState(TEST_CONNECTION_STATE + 1)
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setClientPackageName("randomPackageName")
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setVolumeHandling(TEST_VOLUME_HANDLING + 1)
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setVolumeMax(TEST_VOLUME_MAX + 100)
- .build());
- assertNotEquals(routeInfo, new MediaRoute2Info.Builder(routeInfo)
- .setVolume(TEST_VOLUME + 10)
- .build());
- // Note: Extras will not affect the equals.
- }
-
- @Test
- public void testParcelingAndUnParceling() {
- Bundle extras = new Bundle();
- extras.putString(TEST_KEY, TEST_VALUE);
-
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder(TEST_ID, TEST_NAME)
- .addFeature(TEST_ROUTE_TYPE_0)
- .addFeature(TEST_ROUTE_TYPE_1)
- .setDeviceType(TEST_DEVICE_TYPE)
- .setIconUri(TEST_ICON_URI)
- .setDescription(TEST_DESCRIPTION)
- .setConnectionState(TEST_CONNECTION_STATE)
- .setClientPackageName(TEST_CLIENT_PACKAGE_NAME)
- .setVolumeHandling(TEST_VOLUME_HANDLING)
- .setVolumeMax(TEST_VOLUME_MAX)
- .setVolume(TEST_VOLUME)
- .setExtras(extras)
- .build();
-
- Parcel parcel = Parcel.obtain();
- routeInfo.writeToParcel(parcel, 0);
- parcel.setDataPosition(0);
-
- MediaRoute2Info routeInfoFromParcel = MediaRoute2Info.CREATOR.createFromParcel(parcel);
- assertEquals(routeInfo, routeInfoFromParcel);
- assertEquals(routeInfo.hashCode(), routeInfoFromParcel.hashCode());
-
- // Check extras
- Bundle extrasOut = routeInfoFromParcel.getExtras();
- assertNotNull(extrasOut);
- assertTrue(extrasOut.containsKey(TEST_KEY));
- assertEquals(TEST_VALUE, extrasOut.getString(TEST_KEY));
- }
-}
diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2Test.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2Test.java
deleted file mode 100644
index e0b454559456..000000000000
--- a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouter2Test.java
+++ /dev/null
@@ -1,780 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.mediaroutertest;
-
-import static android.media.MediaRoute2Info.CONNECTION_STATE_CONNECTING;
-import static android.media.MediaRoute2Info.DEVICE_TYPE_REMOTE_SPEAKER;
-import static android.media.MediaRoute2Info.PLAYBACK_VOLUME_VARIABLE;
-
-import static com.android.mediaroutertest.MediaRouterManagerTest.FEATURES_ALL;
-import static com.android.mediaroutertest.MediaRouterManagerTest.FEATURES_SPECIAL;
-import static com.android.mediaroutertest.MediaRouterManagerTest.FEATURE_SAMPLE;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID1;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID2;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID3_SESSION_CREATION_FAILED;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID4_TO_SELECT_AND_DESELECT;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID5_TO_TRANSFER_TO;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID_SPECIAL_FEATURE;
-import static com.android.mediaroutertest.MediaRouterManagerTest.ROUTE_ID_VARIABLE_VOLUME;
-import static com.android.mediaroutertest.MediaRouterManagerTest.SYSTEM_PROVIDER_ID;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.testng.Assert.assertThrows;
-
-import android.annotation.NonNull;
-import android.content.Context;
-import android.media.MediaRoute2Info;
-import android.media.MediaRouter2;
-import android.media.MediaRouter2.OnGetControllerHintsListener;
-import android.media.MediaRouter2.RouteCallback;
-import android.media.MediaRouter2.RoutingController;
-import android.media.MediaRouter2.RoutingControllerCallback;
-import android.media.RouteDiscoveryPreference;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.text.TextUtils;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Predicate;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class MediaRouter2Test {
- private static final String TAG = "MediaRouter2Test";
- Context mContext;
- private MediaRouter2 mRouter2;
- private Executor mExecutor;
-
- private static final int TIMEOUT_MS = 5000;
-
- private static final String TEST_KEY = "test_key";
- private static final String TEST_VALUE = "test_value";
-
- @Before
- public void setUp() throws Exception {
- mContext = InstrumentationRegistry.getTargetContext();
- mRouter2 = MediaRouter2.getInstance(mContext);
- mExecutor = Executors.newSingleThreadExecutor();
- }
-
- @After
- public void tearDown() throws Exception {
- }
-
- /**
- * Tests if we get proper routes for application that has special route type.
- */
- @Test
- public void testGetRoutes() throws Exception {
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(FEATURES_SPECIAL);
-
- assertEquals(1, routes.size());
- assertNotNull(routes.get(ROUTE_ID_SPECIAL_FEATURE));
- }
-
- @Test
- public void testRouteInfoEquality() {
- MediaRoute2Info routeInfo = new MediaRoute2Info.Builder("id", "name")
- .setDescription("description")
- .setClientPackageName("com.android.mediaroutertest")
- .setConnectionState(CONNECTION_STATE_CONNECTING)
- .setIconUri(new Uri.Builder().path("icon").build())
- .setVolume(5)
- .setVolumeMax(20)
- .addFeature(FEATURE_SAMPLE)
- .setVolumeHandling(PLAYBACK_VOLUME_VARIABLE)
- .setDeviceType(DEVICE_TYPE_REMOTE_SPEAKER)
- .build();
-
- MediaRoute2Info routeInfoRebuilt = new MediaRoute2Info.Builder(routeInfo).build();
- assertEquals(routeInfo, routeInfoRebuilt);
-
- Parcel parcel = Parcel.obtain();
- parcel.writeParcelable(routeInfo, 0);
- parcel.setDataPosition(0);
- MediaRoute2Info routeInfoFromParcel = parcel.readParcelable(null);
-
- assertEquals(routeInfo, routeInfoFromParcel);
- }
-
- @Test
- public void testControlVolumeWithRouter() throws Exception {
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(FEATURES_ALL);
-
- MediaRoute2Info volRoute = routes.get(ROUTE_ID_VARIABLE_VOLUME);
- assertNotNull(volRoute);
-
- int originalVolume = volRoute.getVolume();
- int deltaVolume = (originalVolume == volRoute.getVolumeMax() ? -1 : 1);
-
- awaitOnRouteChanged(
- () -> mRouter2.requestUpdateVolume(volRoute, deltaVolume),
- ROUTE_ID_VARIABLE_VOLUME,
- (route -> route.getVolume() == originalVolume + deltaVolume),
- FEATURES_ALL);
-
- awaitOnRouteChanged(
- () -> mRouter2.requestSetVolume(volRoute, originalVolume),
- ROUTE_ID_VARIABLE_VOLUME,
- (route -> route.getVolume() == originalVolume),
- FEATURES_ALL);
- }
-
- @Test
- public void testRegisterControllerCallbackWithInvalidArguments() {
- Executor executor = mExecutor;
- RoutingControllerCallback callback = new RoutingControllerCallback();
-
- // Tests null executor
- assertThrows(NullPointerException.class,
- () -> mRouter2.registerControllerCallback(null, callback));
-
- // Tests null callback
- assertThrows(NullPointerException.class,
- () -> mRouter2.registerControllerCallback(executor, null));
- }
-
- @Test
- public void testUnregisterControllerCallbackWithNullCallback() {
- // Tests null callback
- assertThrows(NullPointerException.class,
- () -> mRouter2.unregisterControllerCallback(null));
- }
-
- @Test
- public void testRequestCreateControllerWithNullRoute() {
- assertThrows(NullPointerException.class,
- () -> mRouter2.requestCreateController(null));
- }
-
- @Test
- public void testRequestCreateControllerSuccess() throws Exception {
- final List<String> sampleRouteFeature = new ArrayList<>();
- sampleRouteFeature.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteFeature);
- MediaRoute2Info route = routes.get(ROUTE_ID1);
- assertNotNull(route);
-
- final CountDownLatch successLatch = new CountDownLatch(1);
- final CountDownLatch failureLatch = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with this route
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- assertNotNull(controller);
- assertTrue(createRouteMap(controller.getSelectedRoutes()).containsKey(ROUTE_ID1));
- controllers.add(controller);
- successLatch.countDown();
- }
-
- @Override
- public void onControllerCreationFailed(MediaRoute2Info requestedRoute) {
- failureLatch.countDown();
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(route);
- assertTrue(successLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // onSessionCreationFailed should not be called.
- assertFalse(failureLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- @Test
- public void testRequestCreateControllerFailure() throws Exception {
- final List<String> sampleRouteType = new ArrayList<>();
- sampleRouteType.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteType);
- MediaRoute2Info route = routes.get(ROUTE_ID3_SESSION_CREATION_FAILED);
- assertNotNull(route);
-
- final CountDownLatch successLatch = new CountDownLatch(1);
- final CountDownLatch failureLatch = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with this route
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- controllers.add(controller);
- successLatch.countDown();
- }
-
- @Override
- public void onControllerCreationFailed(MediaRoute2Info requestedRoute) {
- assertEquals(route, requestedRoute);
- failureLatch.countDown();
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(route);
- assertTrue(failureLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // onSessionCreated should not be called.
- assertFalse(successLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- @Test
- public void testRequestCreateControllerMultipleSessions() throws Exception {
- final List<String> sampleRouteType = new ArrayList<>();
- sampleRouteType.add(FEATURE_SAMPLE);
-
- final CountDownLatch successLatch = new CountDownLatch(2);
- final CountDownLatch failureLatch = new CountDownLatch(1);
- final List<RoutingController> createdControllers = new ArrayList<>();
-
- // Create session with this route
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- createdControllers.add(controller);
- successLatch.countDown();
- }
-
- @Override
- public void onControllerCreationFailed(MediaRoute2Info requestedRoute) {
- failureLatch.countDown();
- }
- };
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteType);
- MediaRoute2Info route1 = routes.get(ROUTE_ID1);
- MediaRoute2Info route2 = routes.get(ROUTE_ID2);
- assertNotNull(route1);
- assertNotNull(route2);
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(route1);
- mRouter2.requestCreateController(route2);
- assertTrue(successLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // onSessionCreationFailed should not be called.
- assertFalse(failureLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // Created controllers should have proper info
- assertEquals(2, createdControllers.size());
- RoutingController controller1 = createdControllers.get(0);
- RoutingController controller2 = createdControllers.get(1);
-
- assertNotEquals(controller1.getId(), controller2.getId());
- assertTrue(createRouteMap(controller1.getSelectedRoutes()).containsKey(ROUTE_ID1));
- assertTrue(createRouteMap(controller2.getSelectedRoutes()).containsKey(ROUTE_ID2));
-
- } finally {
- releaseControllers(createdControllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- @Test
- public void testSetOnGetControllerHintsListener() throws Exception {
- final List<String> sampleRouteFeature = new ArrayList<>();
- sampleRouteFeature.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteFeature);
- MediaRoute2Info route = routes.get(ROUTE_ID1);
- assertNotNull(route);
-
- final Bundle createSessionHints = new Bundle();
- createSessionHints.putString(TEST_KEY, TEST_VALUE);
- final OnGetControllerHintsListener listener = new OnGetControllerHintsListener() {
- @Override
- public Bundle onGetControllerHints(MediaRoute2Info route) {
- return createSessionHints;
- }
- };
-
- final CountDownLatch successLatch = new CountDownLatch(1);
- final CountDownLatch failureLatch = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with this route
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- assertNotNull(controller);
- assertTrue(createRouteMap(controller.getSelectedRoutes()).containsKey(ROUTE_ID1));
-
- // The SampleMediaRoute2ProviderService supposed to set control hints
- // with the given creationSessionHints.
- Bundle controlHints = controller.getControlHints();
- assertNotNull(controlHints);
- assertTrue(controlHints.containsKey(TEST_KEY));
- assertEquals(TEST_VALUE, controlHints.getString(TEST_KEY));
-
- controllers.add(controller);
- successLatch.countDown();
- }
-
- @Override
- public void onControllerCreationFailed(MediaRoute2Info requestedRoute) {
- failureLatch.countDown();
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
-
- // The SampleMediaRoute2ProviderService supposed to set control hints
- // with the given creationSessionHints.
- mRouter2.setOnGetControllerHintsListener(listener);
- mRouter2.requestCreateController(route);
- assertTrue(successLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // onSessionCreationFailed should not be called.
- assertFalse(failureLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- @Test
- public void testRoutingControllerCallbackIsNotCalledAfterUnregistered() throws Exception {
- final List<String> sampleRouteType = new ArrayList<>();
- sampleRouteType.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteType);
- MediaRoute2Info route = routes.get(ROUTE_ID1);
- assertNotNull(route);
-
- final CountDownLatch successLatch = new CountDownLatch(1);
- final CountDownLatch failureLatch = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with this route
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- controllers.add(controller);
- successLatch.countDown();
- }
-
- @Override
- public void onControllerCreationFailed(MediaRoute2Info requestedRoute) {
- failureLatch.countDown();
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(route);
-
- // Unregisters session callback
- mRouter2.unregisterControllerCallback(controllerCallback);
-
- // No session callback methods should be called.
- assertFalse(successLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- assertFalse(failureLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- // TODO: Add tests for illegal inputs if needed (e.g. selecting already selected route)
- @Test
- public void testRoutingControllerSelectAndDeselectRoute() throws Exception {
- final List<String> sampleRouteType = new ArrayList<>();
- sampleRouteType.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteType);
- MediaRoute2Info routeToCreateSessionWith = routes.get(ROUTE_ID1);
- assertNotNull(routeToCreateSessionWith);
-
- final CountDownLatch onControllerCreatedLatch = new CountDownLatch(1);
- final CountDownLatch onControllerUpdatedLatchForSelect = new CountDownLatch(1);
- final CountDownLatch onControllerUpdatedLatchForDeselect = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with ROUTE_ID1
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- assertNotNull(controller);
- assertTrue(getRouteIds(controller.getSelectedRoutes()).contains(ROUTE_ID1));
- controllers.add(controller);
- onControllerCreatedLatch.countDown();
- }
-
- @Override
- public void onControllerUpdated(RoutingController controller) {
- if (onControllerCreatedLatch.getCount() != 0
- || !TextUtils.equals(
- controllers.get(0).getId(), controller.getId())) {
- return;
- }
-
- if (onControllerUpdatedLatchForSelect.getCount() != 0) {
- assertEquals(2, controller.getSelectedRoutes().size());
- assertTrue(getRouteIds(controller.getSelectedRoutes())
- .contains(ROUTE_ID1));
- assertTrue(getRouteIds(controller.getSelectedRoutes())
- .contains(ROUTE_ID4_TO_SELECT_AND_DESELECT));
- assertFalse(getRouteIds(controller.getSelectableRoutes())
- .contains(ROUTE_ID4_TO_SELECT_AND_DESELECT));
-
- onControllerUpdatedLatchForSelect.countDown();
- } else {
- assertEquals(1, controller.getSelectedRoutes().size());
- assertTrue(getRouteIds(controller.getSelectedRoutes())
- .contains(ROUTE_ID1));
- assertFalse(getRouteIds(controller.getSelectedRoutes())
- .contains(ROUTE_ID4_TO_SELECT_AND_DESELECT));
- assertTrue(getRouteIds(controller.getSelectableRoutes())
- .contains(ROUTE_ID4_TO_SELECT_AND_DESELECT));
-
- onControllerUpdatedLatchForDeselect.countDown();
- }
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(routeToCreateSessionWith);
- assertTrue(onControllerCreatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- assertEquals(1, controllers.size());
- RoutingController controller = controllers.get(0);
- assertTrue(getRouteIds(controller.getSelectableRoutes())
- .contains(ROUTE_ID4_TO_SELECT_AND_DESELECT));
-
- // Select ROUTE_ID4_TO_SELECT_AND_DESELECT
- MediaRoute2Info routeToSelectAndDeselect = routes.get(
- ROUTE_ID4_TO_SELECT_AND_DESELECT);
- assertNotNull(routeToSelectAndDeselect);
-
- controller.selectRoute(routeToSelectAndDeselect);
- assertTrue(onControllerUpdatedLatchForSelect.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- controller.deselectRoute(routeToSelectAndDeselect);
- assertTrue(onControllerUpdatedLatchForDeselect.await(
- TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- @Test
- public void testRoutingControllerTransferToRoute() throws Exception {
- final List<String> sampleRouteType = new ArrayList<>();
- sampleRouteType.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteType);
- MediaRoute2Info routeToCreateSessionWith = routes.get(ROUTE_ID1);
- assertNotNull(routeToCreateSessionWith);
-
- final CountDownLatch onControllerCreatedLatch = new CountDownLatch(1);
- final CountDownLatch onControllerUpdatedLatch = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with ROUTE_ID1
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- assertNotNull(controller);
- assertTrue(getRouteIds(controller.getSelectedRoutes()).contains(ROUTE_ID1));
- controllers.add(controller);
- onControllerCreatedLatch.countDown();
- }
-
- @Override
- public void onControllerUpdated(RoutingController controller) {
- if (onControllerCreatedLatch.getCount() != 0
- || !TextUtils.equals(
- controllers.get(0).getId(), controller.getId())) {
- return;
- }
- assertEquals(1, controller.getSelectedRoutes().size());
- assertFalse(getRouteIds(controller.getSelectedRoutes()).contains(ROUTE_ID1));
- assertTrue(getRouteIds(controller.getSelectedRoutes())
- .contains(ROUTE_ID5_TO_TRANSFER_TO));
- assertFalse(getRouteIds(controller.getTransferrableRoutes())
- .contains(ROUTE_ID5_TO_TRANSFER_TO));
-
- onControllerUpdatedLatch.countDown();
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(routeToCreateSessionWith);
- assertTrue(onControllerCreatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- assertEquals(1, controllers.size());
- RoutingController controller = controllers.get(0);
- assertTrue(getRouteIds(controller.getTransferrableRoutes())
- .contains(ROUTE_ID5_TO_TRANSFER_TO));
-
- // Transfer to ROUTE_ID5_TO_TRANSFER_TO
- MediaRoute2Info routeToTransferTo = routes.get(ROUTE_ID5_TO_TRANSFER_TO);
- assertNotNull(routeToTransferTo);
-
- controller.transferToRoute(routeToTransferTo);
- assertTrue(onControllerUpdatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- // TODO: Add tests for onSessionReleased() when provider releases the session.
-
- @Test
- public void testRoutingControllerRelease() throws Exception {
- final List<String> sampleRouteType = new ArrayList<>();
- sampleRouteType.add(FEATURE_SAMPLE);
-
- Map<String, MediaRoute2Info> routes = waitAndGetRoutes(sampleRouteType);
- MediaRoute2Info routeToCreateSessionWith = routes.get(ROUTE_ID1);
- assertNotNull(routeToCreateSessionWith);
-
- final CountDownLatch onControllerCreatedLatch = new CountDownLatch(1);
- final CountDownLatch onControllerUpdatedLatch = new CountDownLatch(1);
- final CountDownLatch onControllerReleasedLatch = new CountDownLatch(1);
- final List<RoutingController> controllers = new ArrayList<>();
-
- // Create session with ROUTE_ID1
- RoutingControllerCallback controllerCallback = new RoutingControllerCallback() {
- @Override
- public void onControllerCreated(RoutingController controller) {
- assertNotNull(controller);
- assertTrue(getRouteIds(controller.getSelectedRoutes()).contains(ROUTE_ID1));
- controllers.add(controller);
- onControllerCreatedLatch.countDown();
- }
-
- @Override
- public void onControllerUpdated(RoutingController controller) {
- if (onControllerCreatedLatch.getCount() != 0
- || !TextUtils.equals(controllers.get(0).getId(), controller.getId())) {
- return;
- }
- onControllerUpdatedLatch.countDown();
- }
-
- @Override
- public void onControllerReleased(RoutingController controller) {
- if (onControllerCreatedLatch.getCount() != 0
- || !TextUtils.equals(controllers.get(0).getId(), controller.getId())) {
- return;
- }
- onControllerReleasedLatch.countDown();
- }
- };
-
- // TODO: Remove this once the MediaRouter2 becomes always connected to the service.
- RouteCallback routeCallback = new RouteCallback();
- mRouter2.registerRouteCallback(mExecutor, routeCallback, RouteDiscoveryPreference.EMPTY);
-
- try {
- mRouter2.registerControllerCallback(mExecutor, controllerCallback);
- mRouter2.requestCreateController(routeToCreateSessionWith);
- assertTrue(onControllerCreatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- assertEquals(1, controllers.size());
- RoutingController controller = controllers.get(0);
- assertTrue(getRouteIds(controller.getTransferrableRoutes())
- .contains(ROUTE_ID5_TO_TRANSFER_TO));
-
- // Release controller. Future calls should be ignored.
- controller.release();
-
- // Transfer to ROUTE_ID5_TO_TRANSFER_TO
- MediaRoute2Info routeToTransferTo = routes.get(ROUTE_ID5_TO_TRANSFER_TO);
- assertNotNull(routeToTransferTo);
-
- // This call should be ignored.
- // The onSessionInfoChanged() shouldn't be called.
- controller.transferToRoute(routeToTransferTo);
- assertFalse(onControllerUpdatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
-
- // onControllerReleased should be called.
- assertTrue(onControllerReleasedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- releaseControllers(controllers);
- mRouter2.unregisterRouteCallback(routeCallback);
- mRouter2.unregisterControllerCallback(controllerCallback);
- }
- }
-
- // TODO: Consider adding tests with bluetooth connection/disconnection.
- @Test
- public void testGetSystemController() {
- final RoutingController systemController = mRouter2.getSystemController();
- assertNotNull(systemController);
- assertFalse(systemController.isReleased());
- }
-
- @Test
- public void testControllers() {
- List<RoutingController> controllers = mRouter2.getControllers();
- assertNotNull(controllers);
- assertFalse(controllers.isEmpty());
- assertSame(mRouter2.getSystemController(), controllers.get(0));
- }
-
- // Helper for getting routes easily
- static Map<String, MediaRoute2Info> createRouteMap(List<MediaRoute2Info> routes) {
- Map<String, MediaRoute2Info> routeMap = new HashMap<>();
- for (MediaRoute2Info route : routes) {
- routeMap.put(route.getId(), route);
- }
- return routeMap;
- }
-
- Map<String, MediaRoute2Info> waitAndGetRoutes(List<String> routeTypes)
- throws Exception {
- CountDownLatch latch = new CountDownLatch(1);
-
- // A dummy callback is required to send route type info.
- RouteCallback routeCallback = new RouteCallback() {
- @Override
- public void onRoutesAdded(List<MediaRoute2Info> routes) {
- for (int i = 0; i < routes.size(); i++) {
- //TODO: use isSystem() or similar method when it's ready
- if (!TextUtils.equals(routes.get(i).getProviderId(), SYSTEM_PROVIDER_ID)) {
- latch.countDown();
- }
- }
- }
- };
-
- mRouter2.registerRouteCallback(mExecutor, routeCallback,
- new RouteDiscoveryPreference.Builder(routeTypes, true).build());
- try {
- latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS);
- return createRouteMap(mRouter2.getRoutes());
- } finally {
- mRouter2.unregisterRouteCallback(routeCallback);
- }
- }
-
- static void releaseControllers(@NonNull List<RoutingController> controllers) {
- for (RoutingController controller : controllers) {
- controller.release();
- }
- }
-
- /**
- * Returns a list of IDs of the given route list.
- */
- List<String> getRouteIds(@NonNull List<MediaRoute2Info> routes) {
- List<String> result = new ArrayList<>();
- for (MediaRoute2Info route : routes) {
- result.add(route.getId());
- }
- return result;
- }
-
- void awaitOnRouteChanged(Runnable task, String routeId,
- Predicate<MediaRoute2Info> predicate,
- List<String> routeTypes) throws Exception {
- CountDownLatch latch = new CountDownLatch(1);
- RouteCallback routeCallback = new RouteCallback() {
- @Override
- public void onRoutesChanged(List<MediaRoute2Info> changed) {
- MediaRoute2Info route = createRouteMap(changed).get(routeId);
- if (route != null && predicate.test(route)) {
- latch.countDown();
- }
- }
- };
- mRouter2.registerRouteCallback(mExecutor, routeCallback,
- new RouteDiscoveryPreference.Builder(routeTypes, true).build());
- try {
- task.run();
- assertTrue(latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS));
- } finally {
- mRouter2.unregisterRouteCallback(routeCallback);
- }
- }
-}
diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouterManagerTest.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouterManagerTest.java
index 4a2044af0431..4316e42bb0e1 100644
--- a/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouterManagerTest.java
+++ b/media/tests/MediaRouter/src/com/android/mediaroutertest/MediaRouterManagerTest.java
@@ -16,9 +16,23 @@
package com.android.mediaroutertest;
+import static android.media.MediaRoute2Info.FEATURE_LIVE_AUDIO;
import static android.media.MediaRoute2Info.PLAYBACK_VOLUME_FIXED;
import static android.media.MediaRoute2Info.PLAYBACK_VOLUME_VARIABLE;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ACTION_REMOVE_ROUTE;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.FEATURE_SAMPLE;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.FEATURE_SPECIAL;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_ID1;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_ID2;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_ID5_TO_TRANSFER_TO;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_ID_FIXED_VOLUME;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_ID_SPECIAL_FEATURE;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_ID_VARIABLE_VOLUME;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_NAME1;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.ROUTE_NAME2;
+import static com.android.mediaroutertest.SampleMediaRoute2ProviderService.VOLUME_MAX;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -56,50 +70,6 @@ import java.util.function.Predicate;
@SmallTest
public class MediaRouterManagerTest {
private static final String TAG = "MediaRouterManagerTest";
-
- public static final String SAMPLE_PROVIDER_ROUTES_ID_PREFIX =
- "com.android.mediarouteprovider.example/.SampleMediaRoute2ProviderService:";
-
- // Must be the same as SampleMediaRoute2ProviderService except the prefix of IDs.
- public static final String ROUTE_ID1 = SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id1";
- public static final String ROUTE_NAME1 = "Sample Route 1";
- public static final String ROUTE_ID2 = SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id2";
- public static final String ROUTE_NAME2 = "Sample Route 2";
- public static final String ROUTE_ID3_SESSION_CREATION_FAILED =
- SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id3_session_creation_failed";
- public static final String ROUTE_NAME3 = "Sample Route 3 - Session creation failed";
- public static final String ROUTE_ID4_TO_SELECT_AND_DESELECT =
- SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id4_to_select_and_deselect";
- public static final String ROUTE_NAME4 = "Sample Route 4 - Route to select and deselect";
- public static final String ROUTE_ID5_TO_TRANSFER_TO =
- SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id5_to_transfer_to";
- public static final String ROUTE_NAME5 = "Sample Route 5 - Route to transfer to";
-
- public static final String ROUTE_ID_SPECIAL_FEATURE =
- SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_special_feature";
- public static final String ROUTE_NAME_SPECIAL_FEATURE = "Special Feature Route";
-
- public static final String SYSTEM_PROVIDER_ID =
- "com.android.server.media/.SystemMediaRoute2Provider";
-
- public static final int VOLUME_MAX = 100;
- public static final String ROUTE_ID_FIXED_VOLUME =
- SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_fixed_volume";
- public static final String ROUTE_NAME_FIXED_VOLUME = "Fixed Volume Route";
- public static final String ROUTE_ID_VARIABLE_VOLUME =
- SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_variable_volume";
- public static final String ROUTE_NAME_VARIABLE_VOLUME = "Variable Volume Route";
-
- public static final String ACTION_REMOVE_ROUTE =
- "com.android.mediarouteprovider.action_remove_route";
-
- public static final String FEATURE_SAMPLE =
- "com.android.mediarouteprovider.FEATURE_SAMPLE";
- public static final String FEATURE_SPECIAL =
- "com.android.mediarouteprovider.FEATURE_SPECIAL";
-
- private static final String FEATURE_LIVE_AUDIO = "android.media.intent.route.LIVE_AUDIO";
-
private static final int TIMEOUT_MS = 5000;
private Context mContext;
@@ -155,7 +125,8 @@ public class MediaRouterManagerTest {
public void onRoutesAdded(List<MediaRoute2Info> routes) {
assertTrue(routes.size() > 0);
for (MediaRoute2Info route : routes) {
- if (route.getId().equals(ROUTE_ID1) && route.getName().equals(ROUTE_NAME1)) {
+ if (route.getOriginalId().equals(ROUTE_ID1)
+ && route.getName().equals(ROUTE_NAME1)) {
latch.countDown();
}
}
@@ -176,7 +147,8 @@ public class MediaRouterManagerTest {
public void onRoutesRemoved(List<MediaRoute2Info> routes) {
assertTrue(routes.size() > 0);
for (MediaRoute2Info route : routes) {
- if (route.getId().equals(ROUTE_ID2) && route.getName().equals(ROUTE_NAME2)) {
+ if (route.getOriginalId().equals(ROUTE_ID2)
+ && route.getName().equals(ROUTE_NAME2)) {
latch.countDown();
}
}
@@ -196,7 +168,14 @@ public class MediaRouterManagerTest {
public void testRouteFeatures() throws Exception {
Map<String, MediaRoute2Info> routes = waitAndGetRoutesWithManager(FEATURES_SPECIAL);
- assertEquals(1, routes.size());
+ int routeCount = 0;
+ for (MediaRoute2Info route : routes.values()) {
+ if (!route.isSystemRoute()) {
+ routeCount++;
+ }
+ }
+
+ assertEquals(1, routeCount);
assertNotNull(routes.get(ROUTE_ID_SPECIAL_FEATURE));
}
@@ -345,8 +324,7 @@ public class MediaRouterManagerTest {
@Override
public void onRoutesAdded(List<MediaRoute2Info> routes) {
for (int i = 0; i < routes.size(); i++) {
- //TODO: use isSystem() or similar method when it's ready
- if (!TextUtils.equals(routes.get(i).getProviderId(), SYSTEM_PROVIDER_ID)) {
+ if (!routes.get(i).isSystemRoute()) {
latch.countDown();
break;
}
@@ -399,7 +377,7 @@ public class MediaRouterManagerTest {
static Map<String, MediaRoute2Info> createRouteMap(List<MediaRoute2Info> routes) {
Map<String, MediaRoute2Info> routeMap = new HashMap<>();
for (MediaRoute2Info route : routes) {
- routeMap.put(route.getId(), route);
+ routeMap.put(route.getOriginalId(), route);
}
return routeMap;
}
diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/RouteDiscoveryPreferenceTest.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/RouteDiscoveryPreferenceTest.java
deleted file mode 100644
index fa129350ed8b..000000000000
--- a/media/tests/MediaRouter/src/com/android/mediaroutertest/RouteDiscoveryPreferenceTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.mediaroutertest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-
-import android.media.RouteDiscoveryPreference;
-import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class RouteDiscoveryPreferenceTest {
- @Before
- public void setUp() throws Exception { }
-
- @After
- public void tearDown() throws Exception { }
-
- @Test
- public void testEquality() {
- List<String> testTypes = new ArrayList<>();
- testTypes.add("TEST_TYPE_1");
- testTypes.add("TEST_TYPE_2");
- RouteDiscoveryPreference request = new RouteDiscoveryPreference.Builder(testTypes, true)
- .build();
-
- RouteDiscoveryPreference requestRebuilt = new RouteDiscoveryPreference.Builder(request)
- .build();
-
- assertEquals(request, requestRebuilt);
-
- Parcel parcel = Parcel.obtain();
- parcel.writeParcelable(request, 0);
- parcel.setDataPosition(0);
- RouteDiscoveryPreference requestFromParcel = parcel.readParcelable(null);
-
- assertEquals(request, requestFromParcel);
- }
-
- @Test
- public void testInequality() {
- List<String> testTypes = new ArrayList<>();
- testTypes.add("TEST_TYPE_1");
- testTypes.add("TEST_TYPE_2");
-
- List<String> testTypes2 = new ArrayList<>();
- testTypes.add("TEST_TYPE_3");
-
- RouteDiscoveryPreference request = new RouteDiscoveryPreference.Builder(testTypes, true)
- .build();
-
- RouteDiscoveryPreference requestTypes = new RouteDiscoveryPreference.Builder(request)
- .setPreferredFeatures(testTypes2)
- .build();
- assertNotEquals(request, requestTypes);
-
- RouteDiscoveryPreference requestActiveScan = new RouteDiscoveryPreference.Builder(request)
- .setActiveScan(false)
- .build();
- assertNotEquals(request, requestActiveScan);
- }
-}
diff --git a/media/tests/MediaRouter/src/com/android/mediaroutertest/RoutingSessionInfoTest.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/RoutingSessionInfoTest.java
deleted file mode 100644
index 704dca0427ed..000000000000
--- a/media/tests/MediaRouter/src/com/android/mediaroutertest/RoutingSessionInfoTest.java
+++ /dev/null
@@ -1,526 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.mediaroutertest;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.testng.Assert.assertThrows;
-
-import android.media.RoutingSessionInfo;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Tests {@link RoutingSessionInfo} and its {@link RoutingSessionInfo.Builder builder}.
- */
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class RoutingSessionInfoTest {
- public static final String TEST_ID = "test_id";
- public static final String TEST_CLIENT_PACKAGE_NAME = "com.test.client.package.name";
- public static final String TEST_ROUTE_FEATURE = "test_route_feature";
-
- public static final String TEST_ROUTE_ID_0 = "test_route_type_0";
- public static final String TEST_ROUTE_ID_1 = "test_route_type_1";
- public static final String TEST_ROUTE_ID_2 = "test_route_type_2";
- public static final String TEST_ROUTE_ID_3 = "test_route_type_3";
- public static final String TEST_ROUTE_ID_4 = "test_route_type_4";
- public static final String TEST_ROUTE_ID_5 = "test_route_type_5";
- public static final String TEST_ROUTE_ID_6 = "test_route_type_6";
- public static final String TEST_ROUTE_ID_7 = "test_route_type_7";
-
- public static final String TEST_KEY = "test_key";
- public static final String TEST_VALUE = "test_value";
-
- @Test
- public void testBuilderConstructorWithInvalidValues() {
- final String nullId = null;
- final String nullClientPackageName = null;
-
- final String emptyId = "";
- // Note: An empty string as client package name is valid.
-
- final String validId = TEST_ID;
- final String validClientPackageName = TEST_CLIENT_PACKAGE_NAME;
-
- // ID is invalid
- assertThrows(IllegalArgumentException.class, () -> new RoutingSessionInfo.Builder(
- nullId, validClientPackageName));
- assertThrows(IllegalArgumentException.class, () -> new RoutingSessionInfo.Builder(
- emptyId, validClientPackageName));
-
- // client package name is invalid (null)
- assertThrows(NullPointerException.class, () -> new RoutingSessionInfo.Builder(
- validId, nullClientPackageName));
-
- // Both are invalid
- assertThrows(IllegalArgumentException.class, () -> new RoutingSessionInfo.Builder(
- nullId, nullClientPackageName));
- assertThrows(IllegalArgumentException.class, () -> new RoutingSessionInfo.Builder(
- emptyId, nullClientPackageName));
- }
-
- @Test
- public void testBuilderCopyConstructorWithNull() {
- // Null RouteInfo (1-argument constructor)
- final RoutingSessionInfo nullRoutingSessionInfo = null;
- assertThrows(NullPointerException.class,
- () -> new RoutingSessionInfo.Builder(nullRoutingSessionInfo));
- }
-
- @Test
- public void testBuilderConstructorWithEmptyClientPackageName() {
- // An empty string for client package name is valid. (for unknown cases)
- // Creating builder with it should not throw any exception.
- RoutingSessionInfo.Builder builder = new RoutingSessionInfo.Builder(
- TEST_ID, "" /* clientPackageName*/);
- }
-
- @Test
- public void testBuilderBuildWithEmptySelectedRoutesThrowsIAE() {
- RoutingSessionInfo.Builder builder = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME);
- // Note: Calling build() without adding any selected routes.
- assertThrows(IllegalArgumentException.class, () -> builder.build());
- }
-
- @Test
- public void testBuilderAddRouteMethodsWithIllegalArgumentsThrowsIAE() {
- RoutingSessionInfo.Builder builder = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME);
-
- final String nullRouteId = null;
- final String emptyRouteId = "";
-
- assertThrows(IllegalArgumentException.class,
- () -> builder.addSelectedRoute(nullRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.addSelectableRoute(nullRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.addDeselectableRoute(nullRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.addTransferrableRoute(nullRouteId));
-
- assertThrows(IllegalArgumentException.class,
- () -> builder.addSelectedRoute(emptyRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.addSelectableRoute(emptyRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.addDeselectableRoute(emptyRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.addTransferrableRoute(emptyRouteId));
- }
-
- @Test
- public void testBuilderRemoveRouteMethodsWithIllegalArgumentsThrowsIAE() {
- RoutingSessionInfo.Builder builder = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME);
-
- final String nullRouteId = null;
- final String emptyRouteId = "";
-
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeSelectedRoute(nullRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeSelectableRoute(nullRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeDeselectableRoute(nullRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeTransferrableRoute(nullRouteId));
-
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeSelectedRoute(emptyRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeSelectableRoute(emptyRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeDeselectableRoute(emptyRouteId));
- assertThrows(IllegalArgumentException.class,
- () -> builder.removeTransferrableRoute(emptyRouteId));
- }
-
- @Test
- public void testBuilderAndGettersOfRoutingSessionInfo() {
- Bundle controlHints = new Bundle();
- controlHints.putString(TEST_KEY, TEST_VALUE);
-
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .setControlHints(controlHints)
- .build();
-
- assertEquals(TEST_ID, sessionInfo.getId());
- assertEquals(TEST_CLIENT_PACKAGE_NAME, sessionInfo.getClientPackageName());
-
- assertEquals(2, sessionInfo.getSelectedRoutes().size());
- assertEquals(TEST_ROUTE_ID_0, sessionInfo.getSelectedRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_1, sessionInfo.getSelectedRoutes().get(1));
-
- assertEquals(2, sessionInfo.getSelectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_2, sessionInfo.getSelectableRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_3, sessionInfo.getSelectableRoutes().get(1));
-
- assertEquals(2, sessionInfo.getDeselectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_4, sessionInfo.getDeselectableRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_5, sessionInfo.getDeselectableRoutes().get(1));
-
- assertEquals(2, sessionInfo.getTransferrableRoutes().size());
- assertEquals(TEST_ROUTE_ID_6, sessionInfo.getTransferrableRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_7, sessionInfo.getTransferrableRoutes().get(1));
-
- Bundle controlHintsOut = sessionInfo.getControlHints();
- assertNotNull(controlHintsOut);
- assertTrue(controlHintsOut.containsKey(TEST_KEY));
- assertEquals(TEST_VALUE, controlHintsOut.getString(TEST_KEY));
- }
-
- @Test
- public void testBuilderAddRouteMethodsWithBuilderCopyConstructor() {
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .build();
-
- RoutingSessionInfo newSessionInfo = new RoutingSessionInfo.Builder(sessionInfo)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .build();
-
- assertEquals(2, newSessionInfo.getSelectedRoutes().size());
- assertEquals(TEST_ROUTE_ID_0, newSessionInfo.getSelectedRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_1, newSessionInfo.getSelectedRoutes().get(1));
-
- assertEquals(2, newSessionInfo.getSelectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_2, newSessionInfo.getSelectableRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_3, newSessionInfo.getSelectableRoutes().get(1));
-
- assertEquals(2, newSessionInfo.getDeselectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_4, newSessionInfo.getDeselectableRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_5, newSessionInfo.getDeselectableRoutes().get(1));
-
- assertEquals(2, newSessionInfo.getTransferrableRoutes().size());
- assertEquals(TEST_ROUTE_ID_6, newSessionInfo.getTransferrableRoutes().get(0));
- assertEquals(TEST_ROUTE_ID_7, newSessionInfo.getTransferrableRoutes().get(1));
- }
-
- @Test
- public void testBuilderRemoveRouteMethods() {
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .removeSelectedRoute(TEST_ROUTE_ID_1)
-
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .removeSelectableRoute(TEST_ROUTE_ID_3)
-
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .removeDeselectableRoute(TEST_ROUTE_ID_5)
-
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .removeTransferrableRoute(TEST_ROUTE_ID_7)
-
- .build();
-
- assertEquals(1, sessionInfo.getSelectedRoutes().size());
- assertEquals(TEST_ROUTE_ID_0, sessionInfo.getSelectedRoutes().get(0));
-
- assertEquals(1, sessionInfo.getSelectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_2, sessionInfo.getSelectableRoutes().get(0));
-
- assertEquals(1, sessionInfo.getDeselectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_4, sessionInfo.getDeselectableRoutes().get(0));
-
- assertEquals(1, sessionInfo.getTransferrableRoutes().size());
- assertEquals(TEST_ROUTE_ID_6, sessionInfo.getTransferrableRoutes().get(0));
- }
-
- @Test
- public void testBuilderRemoveRouteMethodsWithBuilderCopyConstructor() {
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .build();
-
- RoutingSessionInfo newSessionInfo = new RoutingSessionInfo.Builder(sessionInfo)
- .removeSelectedRoute(TEST_ROUTE_ID_1)
- .removeSelectableRoute(TEST_ROUTE_ID_3)
- .removeDeselectableRoute(TEST_ROUTE_ID_5)
- .removeTransferrableRoute(TEST_ROUTE_ID_7)
- .build();
-
- assertEquals(1, newSessionInfo.getSelectedRoutes().size());
- assertEquals(TEST_ROUTE_ID_0, newSessionInfo.getSelectedRoutes().get(0));
-
- assertEquals(1, newSessionInfo.getSelectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_2, newSessionInfo.getSelectableRoutes().get(0));
-
- assertEquals(1, newSessionInfo.getDeselectableRoutes().size());
- assertEquals(TEST_ROUTE_ID_4, newSessionInfo.getDeselectableRoutes().get(0));
-
- assertEquals(1, newSessionInfo.getTransferrableRoutes().size());
- assertEquals(TEST_ROUTE_ID_6, newSessionInfo.getTransferrableRoutes().get(0));
- }
-
- @Test
- public void testBuilderClearRouteMethods() {
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .clearSelectedRoutes()
-
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .clearSelectableRoutes()
-
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .clearDeselectableRoutes()
-
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .clearTransferrableRoutes()
-
- // SelectedRoutes must not be empty
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .build();
-
- assertEquals(1, sessionInfo.getSelectedRoutes().size());
- assertEquals(TEST_ROUTE_ID_0, sessionInfo.getSelectedRoutes().get(0));
-
- assertTrue(sessionInfo.getSelectableRoutes().isEmpty());
- assertTrue(sessionInfo.getDeselectableRoutes().isEmpty());
- assertTrue(sessionInfo.getTransferrableRoutes().isEmpty());
- }
-
- @Test
- public void testBuilderClearRouteMethodsWithBuilderCopyConstructor() {
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .build();
-
- RoutingSessionInfo newSessionInfo = new RoutingSessionInfo.Builder(sessionInfo)
- .clearSelectedRoutes()
- .clearSelectableRoutes()
- .clearDeselectableRoutes()
- .clearTransferrableRoutes()
- // SelectedRoutes must not be empty
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .build();
-
- assertEquals(1, newSessionInfo.getSelectedRoutes().size());
- assertEquals(TEST_ROUTE_ID_0, newSessionInfo.getSelectedRoutes().get(0));
-
- assertTrue(newSessionInfo.getSelectableRoutes().isEmpty());
- assertTrue(newSessionInfo.getDeselectableRoutes().isEmpty());
- assertTrue(newSessionInfo.getTransferrableRoutes().isEmpty());
- }
-
- @Test
- public void testEqualsCreatedWithSameArguments() {
- Bundle controlHints = new Bundle();
- controlHints.putString(TEST_KEY, TEST_VALUE);
-
- RoutingSessionInfo sessionInfo1 = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .setControlHints(controlHints)
- .build();
-
- RoutingSessionInfo sessionInfo2 = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .setControlHints(controlHints)
- .build();
-
- assertEquals(sessionInfo1, sessionInfo2);
- assertEquals(sessionInfo1.hashCode(), sessionInfo2.hashCode());
- }
-
- @Test
- public void testEqualsCreatedWithBuilderCopyConstructor() {
- Bundle controlHints = new Bundle();
- controlHints.putString(TEST_KEY, TEST_VALUE);
-
- RoutingSessionInfo sessionInfo1 = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .setControlHints(controlHints)
- .build();
-
- RoutingSessionInfo sessionInfo2 = new RoutingSessionInfo.Builder(sessionInfo1).build();
-
- assertEquals(sessionInfo1, sessionInfo2);
- assertEquals(sessionInfo1.hashCode(), sessionInfo2.hashCode());
- }
-
- @Test
- public void testEqualsReturnFalse() {
- Bundle controlHints = new Bundle();
- controlHints.putString(TEST_KEY, TEST_VALUE);
-
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .setControlHints(controlHints)
- .build();
-
- // Now, we will use copy constructor
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .addSelectedRoute("randomRoute")
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .addSelectableRoute("randomRoute")
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .addDeselectableRoute("randomRoute")
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .addTransferrableRoute("randomRoute")
- .build());
-
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .removeSelectedRoute(TEST_ROUTE_ID_1)
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .removeSelectableRoute(TEST_ROUTE_ID_3)
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .removeDeselectableRoute(TEST_ROUTE_ID_5)
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .removeTransferrableRoute(TEST_ROUTE_ID_7)
- .build());
-
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .clearSelectedRoutes()
- // Note: Calling build() with empty selected routes will throw IAE.
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .clearSelectableRoutes()
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .clearDeselectableRoutes()
- .build());
- assertNotEquals(sessionInfo, new RoutingSessionInfo.Builder(sessionInfo)
- .clearTransferrableRoutes()
- .build());
-
- // Note: ControlHints will not affect the equals.
- }
-
- @Test
- public void testParcelingAndUnParceling() {
- Bundle controlHints = new Bundle();
- controlHints.putString(TEST_KEY, TEST_VALUE);
-
- RoutingSessionInfo sessionInfo = new RoutingSessionInfo.Builder(
- TEST_ID, TEST_CLIENT_PACKAGE_NAME)
- .addSelectedRoute(TEST_ROUTE_ID_0)
- .addSelectedRoute(TEST_ROUTE_ID_1)
- .addSelectableRoute(TEST_ROUTE_ID_2)
- .addSelectableRoute(TEST_ROUTE_ID_3)
- .addDeselectableRoute(TEST_ROUTE_ID_4)
- .addDeselectableRoute(TEST_ROUTE_ID_5)
- .addTransferrableRoute(TEST_ROUTE_ID_6)
- .addTransferrableRoute(TEST_ROUTE_ID_7)
- .setControlHints(controlHints)
- .build();
-
- Parcel parcel = Parcel.obtain();
- sessionInfo.writeToParcel(parcel, 0);
- parcel.setDataPosition(0);
-
- RoutingSessionInfo sessionInfoFromParcel =
- RoutingSessionInfo.CREATOR.createFromParcel(parcel);
- assertEquals(sessionInfo, sessionInfoFromParcel);
- assertEquals(sessionInfo.hashCode(), sessionInfoFromParcel.hashCode());
-
- // Check controlHints
- Bundle controlHintsOut = sessionInfoFromParcel.getControlHints();
- assertNotNull(controlHintsOut);
- assertTrue(controlHintsOut.containsKey(TEST_KEY));
- assertEquals(TEST_VALUE, controlHintsOut.getString(TEST_KEY));
- }
-}
diff --git a/media/tests/MediaRouteProvider/src/com/android/mediarouteprovider/example/SampleMediaRoute2ProviderService.java b/media/tests/MediaRouter/src/com/android/mediaroutertest/SampleMediaRoute2ProviderService.java
index 6595cae3c028..e29b3239fcaa 100644
--- a/media/tests/MediaRouteProvider/src/com/android/mediarouteprovider/example/SampleMediaRoute2ProviderService.java
+++ b/media/tests/MediaRouter/src/com/android/mediaroutertest/SampleMediaRoute2ProviderService.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.mediarouteprovider.example;
+package com.android.mediaroutertest;
import static android.media.MediaRoute2Info.DEVICE_TYPE_REMOTE_SPEAKER;
import static android.media.MediaRoute2Info.DEVICE_TYPE_REMOTE_TV;
diff --git a/mms/java/android/telephony/MmsManager.java b/mms/java/android/telephony/MmsManager.java
index cf55eba6e5ba..f07cd5e34062 100644
--- a/mms/java/android/telephony/MmsManager.java
+++ b/mms/java/android/telephony/MmsManager.java
@@ -55,10 +55,12 @@ public class MmsManager {
* sending the message.
* @param sentIntent if not NULL this <code>PendingIntent</code> is broadcast when the message
* is successfully sent, or failed
+ * @param messageId an id that uniquely identifies the message requested to be sent.
+ * Used for logging and diagnostics purposes. The id may be 0.
*/
public void sendMultimediaMessage(int subId, @NonNull Uri contentUri,
@Nullable String locationUrl, @Nullable Bundle configOverrides,
- @Nullable PendingIntent sentIntent) {
+ @Nullable PendingIntent sentIntent, long messageId) {
try {
final IMms iMms = IMms.Stub.asInterface(ServiceManager.getService("imms"));
if (iMms == null) {
@@ -66,7 +68,7 @@ public class MmsManager {
}
iMms.sendMessage(subId, ActivityThread.currentPackageName(), contentUri,
- locationUrl, configOverrides, sentIntent);
+ locationUrl, configOverrides, sentIntent, messageId);
} catch (RemoteException e) {
// Ignore it
}
@@ -83,18 +85,22 @@ public class MmsManager {
* downloading the message.
* @param downloadedIntent if not NULL this <code>PendingIntent</code> is
* broadcast when the message is downloaded, or the download is failed
+ * @param messageId an id that uniquely identifies the message requested to be downloaded.
+ * Used for logging and diagnostics purposes. The id may be 0.
+ * downloaded.
* @throws IllegalArgumentException if locationUrl or contentUri is empty
*/
public void downloadMultimediaMessage(int subId, @NonNull String locationUrl,
@NonNull Uri contentUri, @Nullable Bundle configOverrides,
- @Nullable PendingIntent downloadedIntent) {
+ @Nullable PendingIntent downloadedIntent, long messageId) {
try {
final IMms iMms = IMms.Stub.asInterface(ServiceManager.getService("imms"));
if (iMms == null) {
return;
}
iMms.downloadMessage(subId, ActivityThread.currentPackageName(),
- locationUrl, contentUri, configOverrides, downloadedIntent);
+ locationUrl, contentUri, configOverrides, downloadedIntent,
+ messageId);
} catch (RemoteException e) {
// Ignore it
}
diff --git a/mms/java/com/android/internal/telephony/IMms.aidl b/mms/java/com/android/internal/telephony/IMms.aidl
index 8be511186800..e0e0a4a812e4 100644
--- a/mms/java/com/android/internal/telephony/IMms.aidl
+++ b/mms/java/com/android/internal/telephony/IMms.aidl
@@ -37,9 +37,11 @@ interface IMms {
* sending the message. See {@link android.telephony.SmsManager} for the value names and types.
* @param sentIntent if not NULL this <code>PendingIntent</code> is
* broadcast when the message is successfully sent, or failed
+ * @param messageId An id that uniquely identifies the message requested to be sent.
*/
void sendMessage(int subId, String callingPkg, in Uri contentUri,
- String locationUrl, in Bundle configOverrides, in PendingIntent sentIntent);
+ String locationUrl, in Bundle configOverrides, in PendingIntent sentIntent,
+ in long messageId);
/**
* Download an MMS message using known location and transaction id
@@ -54,10 +56,11 @@ interface IMms {
* types.
* @param downloadedIntent if not NULL this <code>PendingIntent</code> is
* broadcast when the message is downloaded, or the download is failed
- */
+ * @param messageId An id that uniquely identifies the message requested to be downloaded.
+ */
void downloadMessage(int subId, String callingPkg, String locationUrl,
in Uri contentUri, in Bundle configOverrides,
- in PendingIntent downloadedIntent);
+ in PendingIntent downloadedIntent, in long messageId);
/**
* Import a text message into system's SMS store
diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt
index 97b861b390ad..a8f1d2c7bbba 100644
--- a/native/android/libandroid.map.txt
+++ b/native/android/libandroid.map.txt
@@ -23,6 +23,8 @@ LIBANDROID {
AChoreographer_postFrameCallbackDelayed; # introduced=24
AChoreographer_postFrameCallback64; # introduced=29
AChoreographer_postFrameCallbackDelayed64; # introduced=29
+ AChoreographer_registerRefreshRateCallback; # introduced=30
+ AChoreographer_unregisterRefreshRateCallback; # introduced=30
AConfiguration_copy;
AConfiguration_delete;
AConfiguration_diff;
diff --git a/packages/CarSystemUI/res/values/config.xml b/packages/CarSystemUI/res/values/config.xml
index e2297e44fdfe..d2f514c6c0ca 100644
--- a/packages/CarSystemUI/res/values/config.xml
+++ b/packages/CarSystemUI/res/values/config.xml
@@ -29,6 +29,9 @@
<bool name="config_enableRightNavigationBar">false</bool>
<bool name="config_enableBottomNavigationBar">true</bool>
+ <!-- Disable normal notification rendering; we handle that ourselves -->
+ <bool name="config_renderNotifications">false</bool>
+
<!-- Whether heads-up notifications should be shown when shade is open. -->
<bool name="config_enableHeadsUpNotificationWhenNotificationShadeOpen">true</bool>
diff --git a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java
index cf4ee7d97409..585acfec410a 100644
--- a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java
+++ b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java
@@ -22,7 +22,6 @@ import static com.android.systemui.Dependency.LEAK_REPORT_EMAIL_NAME;
import android.content.Context;
import com.android.systemui.car.CarDeviceProvisionedControllerImpl;
-import com.android.systemui.car.CarNotificationEntryManager;
import com.android.systemui.car.CarNotificationInterruptionStateProvider;
import com.android.systemui.dagger.SystemUIRootComponent;
import com.android.systemui.dock.DockManager;
@@ -73,13 +72,6 @@ abstract class CarSystemUIModule {
return false;
}
- /**
- * Use {@link CarNotificationEntryManager}, which does nothing when adding a notification.
- */
- @Binds
- abstract NotificationEntryManager bindNotificationEntryManager(
- CarNotificationEntryManager notificationEntryManager);
-
@Singleton
@Provides
static HeadsUpManagerPhone provideHeadsUpManagerPhone(Context context,
diff --git a/packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java b/packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
deleted file mode 100644
index cfe1c702663e..000000000000
--- a/packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.car;
-
-import android.service.notification.NotificationListenerService;
-import android.service.notification.StatusBarNotification;
-
-import com.android.systemui.statusbar.FeatureFlags;
-import com.android.systemui.statusbar.NotificationRemoteInputManager;
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
-import com.android.systemui.statusbar.notification.collection.NotificationRankingManager;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinder;
-import com.android.systemui.statusbar.notification.logging.NotifLog;
-import com.android.systemui.statusbar.phone.NotificationGroupManager;
-import com.android.systemui.util.leak.LeakDetector;
-
-import javax.inject.Inject;
-import javax.inject.Singleton;
-
-import dagger.Lazy;
-
-/**
- * Car specific notification entry manager that does nothing when adding a notification.
- *
- * <p> This is because system UI notifications are disabled and we have a different implementation.
- * Please see {@link com.android.car.notification}.
- */
-@Singleton
-public class CarNotificationEntryManager extends NotificationEntryManager {
-
- @Inject
- public CarNotificationEntryManager(
- NotifLog notifLog,
- NotificationGroupManager groupManager,
- NotificationRankingManager rankingManager,
- KeyguardEnvironment keyguardEnvironment,
- FeatureFlags featureFlags,
- Lazy<NotificationRowBinder> notificationRowBinderLazy,
- Lazy<NotificationRemoteInputManager> notificationRemoteInputManagerLazy,
- LeakDetector leakDetector) {
- super(notifLog, groupManager, rankingManager, keyguardEnvironment, featureFlags,
- notificationRowBinderLazy, notificationRemoteInputManagerLazy, leakDetector);
- }
-
- @Override
- public void addNotification(
- StatusBarNotification notification, NotificationListenerService.RankingMap ranking) {
- }
-}
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
index 76e9ec64e2f2..210dd321933a 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
@@ -87,10 +87,8 @@ import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.statusbar.CommandQueue;
-import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.NavigationBarController;
-import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -103,12 +101,10 @@ import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
-import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer;
+import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.phone.AutoHideController;
@@ -124,7 +120,6 @@ import com.android.systemui.statusbar.phone.LightBarController;
import com.android.systemui.statusbar.phone.LightsOutNotifController;
import com.android.systemui.statusbar.phone.LockscreenLockIconController;
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
-import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.ScrimController;
@@ -141,7 +136,6 @@ import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
-import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.volume.VolumeComponent;
@@ -257,7 +251,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
public CarStatusBar(
Context context,
- FeatureFlags featureFlags,
+ NotificationsController notificationsController,
LightBarController lightBarController,
AutoHideController autoHideController,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -269,13 +263,11 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
HeadsUpManagerPhone headsUpManagerPhone,
DynamicPrivacyController dynamicPrivacyController,
BypassHeadsUpNotifier bypassHeadsUpNotifier,
- Lazy<NotifPipelineInitializer> notifPipelineInitializer,
FalsingManager falsingManager,
BroadcastDispatcher broadcastDispatcher,
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
NotificationGutsManager notificationGutsManager,
NotificationLogger notificationLogger,
- NotificationEntryManager notificationEntryManager,
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
NotificationViewHierarchyManager notificationViewHierarchyManager,
KeyguardViewMediator keyguardViewMediator,
@@ -296,12 +288,10 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
VibratorHelper vibratorHelper,
BubbleController bubbleController,
NotificationGroupManager groupManager,
- NotificationGroupAlertTransferHelper groupAlertTransferHelper,
VisualStabilityManager visualStabilityManager,
DeviceProvisionedController deviceProvisionedController,
NavigationBarController navigationBarController,
Lazy<AssistManager> assistManagerLazy,
- NotificationListener notificationListener,
ConfigurationController configurationController,
NotificationShadeWindowController notificationShadeWindowController,
LockscreenLockIconController lockscreenLockIconController,
@@ -318,7 +308,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
Optional<Recents> recents,
Provider<StatusBarComponent.Builder> statusBarComponentBuilder,
PluginManager pluginManager,
- RemoteInputUriController remoteInputUriController,
Optional<Divider> dividerOptional,
SuperStatusBarViewFactory superStatusBarViewFactory,
LightsOutNotifController lightsOutNotifController,
@@ -334,7 +323,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
KeyguardDismissUtil keyguardDismissUtil,
ExtensionController extensionController,
UserInfoControllerImpl userInfoControllerImpl,
- NotificationRowBinderImpl notificationRowBinder,
DismissCallbackRegistry dismissCallbackRegistry,
/* Car Settings injected components. */
CarServiceProvider carServiceProvider,
@@ -345,7 +333,7 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
FlingAnimationUtils.Builder flingAnimationUtilsBuilder) {
super(
context,
- featureFlags,
+ notificationsController,
lightBarController,
autoHideController,
keyguardUpdateMonitor,
@@ -357,13 +345,11 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
headsUpManagerPhone,
dynamicPrivacyController,
bypassHeadsUpNotifier,
- notifPipelineInitializer,
falsingManager,
broadcastDispatcher,
remoteInputQuickSettingsDisabler,
notificationGutsManager,
notificationLogger,
- notificationEntryManager,
notificationInterruptionStateProvider,
notificationViewHierarchyManager,
keyguardViewMediator,
@@ -384,12 +370,10 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
vibratorHelper,
bubbleController,
groupManager,
- groupAlertTransferHelper,
visualStabilityManager,
deviceProvisionedController,
navigationBarController,
assistManagerLazy,
- notificationListener,
configurationController,
notificationShadeWindowController,
lockscreenLockIconController,
@@ -407,7 +391,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
recents,
statusBarComponentBuilder,
pluginManager,
- remoteInputUriController,
dividerOptional,
lightsOutNotifController,
statusBarNotificationActivityStarterBuilder,
@@ -422,7 +405,6 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt
keyguardDismissUtil,
extensionController,
userInfoControllerImpl,
- notificationRowBinder,
dismissCallbackRegistry);
mUserSwitcherController = userSwitcherController;
mScrimController = scrimController;
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java
index 45da8223943b..498bd8780f29 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarModule.java
@@ -47,10 +47,8 @@ import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.statusbar.CommandQueue;
-import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.NavigationBarController;
-import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -63,12 +61,10 @@ import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
-import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer;
+import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.phone.AutoHideController;
@@ -83,7 +79,6 @@ import com.android.systemui.statusbar.phone.LightBarController;
import com.android.systemui.statusbar.phone.LightsOutNotifController;
import com.android.systemui.statusbar.phone.LockscreenLockIconController;
import com.android.systemui.statusbar.phone.LockscreenWallpaper;
-import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.ScrimController;
@@ -99,7 +94,6 @@ import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
-import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.volume.VolumeComponent;
@@ -127,7 +121,7 @@ public class CarStatusBarModule {
@Singleton
static CarStatusBar provideStatusBar(
Context context,
- FeatureFlags featureFlags,
+ NotificationsController notificationsController,
LightBarController lightBarController,
AutoHideController autoHideController,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -139,13 +133,11 @@ public class CarStatusBarModule {
HeadsUpManagerPhone headsUpManagerPhone,
DynamicPrivacyController dynamicPrivacyController,
BypassHeadsUpNotifier bypassHeadsUpNotifier,
- Lazy<NotifPipelineInitializer> notifPipelineInitializer,
FalsingManager falsingManager,
BroadcastDispatcher broadcastDispatcher,
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
NotificationGutsManager notificationGutsManager,
NotificationLogger notificationLogger,
- NotificationEntryManager notificationEntryManager,
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
NotificationViewHierarchyManager notificationViewHierarchyManager,
KeyguardViewMediator keyguardViewMediator,
@@ -166,12 +158,10 @@ public class CarStatusBarModule {
VibratorHelper vibratorHelper,
BubbleController bubbleController,
NotificationGroupManager groupManager,
- NotificationGroupAlertTransferHelper groupAlertTransferHelper,
VisualStabilityManager visualStabilityManager,
DeviceProvisionedController deviceProvisionedController,
NavigationBarController navigationBarController,
Lazy<AssistManager> assistManagerLazy,
- NotificationListener notificationListener,
ConfigurationController configurationController,
NotificationShadeWindowController notificationShadeWindowController,
LockscreenLockIconController lockscreenLockIconController,
@@ -188,7 +178,6 @@ public class CarStatusBarModule {
Optional<Recents> recentsOptional,
Provider<StatusBarComponent.Builder> statusBarComponentBuilder,
PluginManager pluginManager,
- RemoteInputUriController remoteInputUriController,
Optional<Divider> dividerOptional,
SuperStatusBarViewFactory superStatusBarViewFactory,
LightsOutNotifController lightsOutNotifController,
@@ -204,7 +193,6 @@ public class CarStatusBarModule {
KeyguardDismissUtil keyguardDismissUtil,
ExtensionController extensionController,
UserInfoControllerImpl userInfoControllerImpl,
- NotificationRowBinderImpl notificationRowBinder,
DismissCallbackRegistry dismissCallbackRegistry,
CarServiceProvider carServiceProvider,
Lazy<PowerManagerHelper> powerManagerHelperLazy,
@@ -214,7 +202,7 @@ public class CarStatusBarModule {
FlingAnimationUtils.Builder flingAnimationUtilsBuilder) {
return new CarStatusBar(
context,
- featureFlags,
+ notificationsController,
lightBarController,
autoHideController,
keyguardUpdateMonitor,
@@ -226,13 +214,11 @@ public class CarStatusBarModule {
headsUpManagerPhone,
dynamicPrivacyController,
bypassHeadsUpNotifier,
- notifPipelineInitializer,
falsingManager,
broadcastDispatcher,
remoteInputQuickSettingsDisabler,
notificationGutsManager,
notificationLogger,
- notificationEntryManager,
notificationInterruptionStateProvider,
notificationViewHierarchyManager,
keyguardViewMediator,
@@ -253,12 +239,10 @@ public class CarStatusBarModule {
vibratorHelper,
bubbleController,
groupManager,
- groupAlertTransferHelper,
visualStabilityManager,
deviceProvisionedController,
navigationBarController,
assistManagerLazy,
- notificationListener,
configurationController,
notificationShadeWindowController,
lockscreenLockIconController,
@@ -275,7 +259,6 @@ public class CarStatusBarModule {
recentsOptional,
statusBarComponentBuilder,
pluginManager,
- remoteInputUriController,
dividerOptional,
superStatusBarViewFactory,
lightsOutNotifController,
@@ -290,7 +273,6 @@ public class CarStatusBarModule {
keyguardDismissUtil,
extensionController,
userInfoControllerImpl,
- notificationRowBinder,
dismissCallbackRegistry,
carServiceProvider,
powerManagerHelperLazy,
diff --git a/packages/CarrierDefaultApp/res/values-ky/strings.xml b/packages/CarrierDefaultApp/res/values-ky/strings.xml
index 066e8f6bcbaf..199476f47be0 100644
--- a/packages/CarrierDefaultApp/res/values-ky/strings.xml
+++ b/packages/CarrierDefaultApp/res/values-ky/strings.xml
@@ -12,6 +12,6 @@
<string name="mobile_data_status_notification_channel_name" msgid="833999690121305708">"Мобилдик Интернеттин абалы"</string>
<string name="action_bar_label" msgid="4290345990334377177">"Мобилдик тармакка кирүү"</string>
<string name="ssl_error_warning" msgid="3127935140338254180">"Кошулайын деген тармагыңызда коопсуздук көйгөйлөрү бар."</string>
- <string name="ssl_error_example" msgid="6188711843183058764">"Мисалы, каттоо эсебине кирүү баракчасы көрсөтүлгөн уюмга таандык эмес болушу мүмкүн."</string>
+ <string name="ssl_error_example" msgid="6188711843183058764">"Мисалы, аккаунтка кирүү баракчасы көрсөтүлгөн уюмга таандык эмес болушу мүмкүн."</string>
<string name="ssl_error_continue" msgid="1138548463994095584">"Баары бир серепчи аркылуу улантуу"</string>
</resources>
diff --git a/packages/ExternalStorageProvider/AndroidManifest.xml b/packages/ExternalStorageProvider/AndroidManifest.xml
index 484dbccca9a8..dfe879ffe9f3 100644
--- a/packages/ExternalStorageProvider/AndroidManifest.xml
+++ b/packages/ExternalStorageProvider/AndroidManifest.xml
@@ -4,6 +4,7 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
+ <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<application android:label="@string/app_label">
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index ec445d4dcbee..38cf5ab9afe6 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -318,6 +318,16 @@ public class ExternalStorageProvider extends FileSystemProvider {
return false;
}
+ // Allow all directories on USB, including the root.
+ try {
+ RootInfo rootInfo = getRootFromDocId(docId);
+ if ((rootInfo.flags & Root.FLAG_REMOVABLE_USB) == Root.FLAG_REMOVABLE_USB) {
+ return false;
+ }
+ } catch (FileNotFoundException e) {
+ Log.e(TAG, "Failed to determine rootInfo for docId");
+ }
+
final String path = getPathFromDocId(docId);
// Block the root of the storage
diff --git a/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeApp.java b/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeApp.java
index c9e0d0ab351d..d4eb2a9c75d0 100644
--- a/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeApp.java
+++ b/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeApp.java
@@ -16,6 +16,9 @@
package com.android.fakeoemfeatures;
+import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
+
import android.app.ActivityManager;
import android.app.ActivityThread;
import android.app.AlertDialog;
@@ -25,9 +28,11 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.hardware.display.DisplayManager;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
+import android.util.Size;
import android.util.Slog;
import android.view.Display;
import android.view.ViewGroup;
@@ -94,8 +99,13 @@ public class FakeApp extends Application {
return;
}
- final WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
- final Display display = wm.getDefaultDisplay();
+ // Construct an instance of WindowManager to add the window of TYPE_APPLICATION_OVERLAY to
+ // the default display.
+ final DisplayManager dm = getSystemService(DisplayManager.class);
+ final Display defaultDisplay = dm.getDisplay(DEFAULT_DISPLAY);
+ final Context windowContext = createDisplayContext(defaultDisplay)
+ .createWindowContext(TYPE_APPLICATION_OVERLAY, null /* options */);
+ final WindowManager wm = windowContext.getSystemService(WindowManager.class);
// Check to make sure we are not running on a user build. If this
// is a user build, WARN! Do not want!
@@ -108,14 +118,14 @@ public class FakeApp extends Application {
builder.setCancelable(false);
builder.setPositiveButton("I understand", null);
Dialog dialog = builder.create();
- dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
+ dialog.getWindow().setType(TYPE_APPLICATION_OVERLAY);
dialog.show();
}
// Make a fake window that is always around eating graphics resources.
FakeView view = new FakeView(this);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
- WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
+ TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
@@ -124,7 +134,8 @@ public class FakeApp extends Application {
}
lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
lp.height = ViewGroup.LayoutParams.MATCH_PARENT;
- int maxSize = display.getMaximumSizeDimension();
+ Size maxWindowSize = wm.getMaximumWindowMetrics().getSize();
+ int maxSize = Math.max(maxWindowSize.getWidth(), maxWindowSize.getHeight());
maxSize *= 2;
lp.x = maxSize;
lp.y = maxSize;
diff --git a/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeBackgroundService.java b/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeBackgroundService.java
index ff09000b7bbd..df00eee63b50 100644
--- a/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeBackgroundService.java
+++ b/packages/FakeOemFeatures/src/com/android/fakeoemfeatures/FakeBackgroundService.java
@@ -16,6 +16,9 @@
package com.android.fakeoemfeatures;
+import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
+
import java.util.ArrayList;
import java.util.Random;
@@ -23,9 +26,11 @@ import android.app.Dialog;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
+import android.hardware.display.DisplayManager;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
+import android.util.Size;
import android.view.Display;
import android.view.ViewGroup;
import android.view.WindowManager;
@@ -68,13 +73,15 @@ public class FakeBackgroundService extends Service {
super.onCreate();
mHandler.sendEmptyMessageDelayed(MSG_TICK, TICK_DELAY);
- final WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
- final Display display = wm.getDefaultDisplay();
+ final DisplayManager dm = getSystemService(DisplayManager.class);
+ final Display display = dm.getDisplay(DEFAULT_DISPLAY);
+ final Context windowContext = createDisplayContext(display)
+ .createWindowContext(TYPE_APPLICATION_OVERLAY, null /* options */);
// Make a fake window that is always around eating graphics resources.
- FakeView view = new FakeView(this);
- Dialog dialog = new Dialog(this, android.R.style.Theme_Holo_Dialog);
- dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
+ FakeView view = new FakeView(windowContext);
+ Dialog dialog = new Dialog(windowContext, android.R.style.Theme_Holo_Dialog);
+ dialog.getWindow().setType(TYPE_APPLICATION_OVERLAY);
dialog.getWindow().setFlags(
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
@@ -89,7 +96,11 @@ public class FakeBackgroundService extends Service {
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
- int maxSize = display.getMaximumSizeDimension();
+ // Create an instance of WindowManager that is adjusted to the area of the display dedicated
+ // for windows with type TYPE_APPLICATION_OVERLAY.
+ final WindowManager wm = windowContext.getSystemService(WindowManager.class);
+ Size maxWindowSize = wm.getMaximumWindowMetrics().getSize();
+ int maxSize = Math.max(maxWindowSize.getWidth(), maxWindowSize.getHeight());
maxSize *= 2;
lp.x = maxSize;
lp.y = maxSize;
diff --git a/packages/Incremental/NativeAdbDataLoader/jni/com_android_incremental_nativeadb_DataLoaderService.cpp b/packages/Incremental/NativeAdbDataLoader/jni/com_android_incremental_nativeadb_DataLoaderService.cpp
index 4e49302debcd..01150b773557 100644
--- a/packages/Incremental/NativeAdbDataLoader/jni/com_android_incremental_nativeadb_DataLoaderService.cpp
+++ b/packages/Incremental/NativeAdbDataLoader/jni/com_android_incremental_nativeadb_DataLoaderService.cpp
@@ -32,6 +32,7 @@
#include <utils/Log.h>
#include <charconv>
+#include <span>
#include <string>
#include <thread>
#include <type_traits>
@@ -92,9 +93,7 @@ struct RequestCommand {
static_assert(COMMAND_SIZE == sizeof(RequestCommand));
-static bool sendRequest(int fd,
- RequestType requestType,
- FileId fileId = -1,
+static bool sendRequest(int fd, RequestType requestType, FileId fileId = -1,
BlockIdx blockIdx = -1) {
const RequestCommand command{
.requestType = static_cast<int16_t>(be16toh(requestType)),
@@ -267,25 +266,24 @@ private:
std::lock_guard lock{mMapsMutex};
CHECK(mIfs);
for (auto&& pendingRead : pendingReads) {
- const android::dataloader::Inode ino = pendingRead.file_ino;
- const auto blockIdx =
- static_cast<BlockIdx>(pendingRead.block_index);
+ const android::dataloader::FileId id = pendingRead.id;
+ const auto blockIdx = static_cast<BlockIdx>(pendingRead.block);
/*
ALOGI("[AdbDataLoader] Missing: %d", (int) blockIdx);
*/
- auto fileIdOr = getFileId(ino);
+ auto fileIdOr = getFileId(id);
if (!fileIdOr) {
- ALOGE("[AdbDataLoader] Failed to handle event for inode=%d. "
+ ALOGE("[AdbDataLoader] Failed to handle event for fileid=%s. "
"Ignore.",
- static_cast<int>(ino));
+ android::incfs::toString(id).c_str());
continue;
}
const FileId fileId = *fileIdOr;
if (mRequestedFiles.insert(fileId).second) {
if (!sendRequest(mOutFd, PREFETCH, fileId, blockIdx)) {
ALOGE("[AdbDataLoader] Failed to request prefetch for "
- "inode=%d. Ignore.",
- static_cast<int>(ino));
+ "fileid=%s. Ignore.",
+ android::incfs::toString(id).c_str());
mRequestedFiles.erase(fileId);
mStatusListener->reportStatus(DATA_LOADER_NO_CONNECTION);
}
@@ -296,7 +294,7 @@ private:
struct TracedRead {
uint64_t timestampUs;
- uint64_t fileIno;
+ android::dataloader::FileId fileId;
uint32_t firstBlockIdx;
uint32_t count;
};
@@ -307,26 +305,26 @@ private:
return;
}
- TracedRead last = {0, 0, 0, 0};
+ TracedRead last = {};
std::lock_guard lock{mMapsMutex};
for (auto&& read : pageReads) {
- if (read.file_ino != last.fileIno ||
- read.block_index != last.firstBlockIdx + last.count) {
+ if (read.id != last.fileId || read.block != last.firstBlockIdx + last.count) {
traceOrLogRead(last, trace, log);
- last = {read.timestamp_us, read.file_ino, read.block_index, 1};
+ last = {read.bootClockTsUs, read.id, (uint32_t)read.block, 1};
} else {
++last.count;
}
}
traceOrLogRead(last, trace, log);
}
- void onFileCreated(android::dataloader::Inode inode, const android::dataloader::RawMetadata& metadata) {
- }
+ void onFileCreated(android::dataloader::FileId fileid,
+ const android::dataloader::RawMetadata& metadata) {}
private:
void receiver() {
std::vector<uint8_t> data;
- std::vector<incfs_new_data_block> instructions;
+ std::vector<IncFsDataBlock> instructions;
+ std::unordered_map<android::dataloader::FileId, unique_fd> writeFds;
while (!mStopReceiving) {
const int res = waitForDataOrSignal(mInFd, mEventFd);
if (res == 0) {
@@ -366,21 +364,32 @@ private:
mStopReceiving = true;
break;
}
- const android::dataloader::Inode ino = mIdToNodeMap[header.fileId];
- if (!ino) {
+ const android::dataloader::FileId id = mIdToNodeMap[header.fileId];
+ if (!android::incfs::isValidFileId(id)) {
ALOGE("Unknown data destination for file ID %d. "
"Ignore.",
header.fileId);
continue;
}
- auto inst = incfs_new_data_block{
- .file_ino = static_cast<__aligned_u64>(ino),
- .block_index = static_cast<uint32_t>(header.blockIdx),
- .data_len = static_cast<uint16_t>(header.blockSize),
- .data = reinterpret_cast<uint64_t>(
- remainingData.data()),
- .compression =
- static_cast<uint8_t>(header.compressionType)};
+
+ auto& writeFd = writeFds[id];
+ if (writeFd < 0) {
+ writeFd.reset(this->mIfs->openWrite(id));
+ if (writeFd < 0) {
+ ALOGE("Failed to open file %d for writing (%d). Aboring.", header.fileId,
+ -writeFd);
+ break;
+ }
+ }
+
+ const auto inst = IncFsDataBlock{
+ .fileFd = writeFd,
+ .pageIndex = static_cast<IncFsBlockIndex>(header.blockIdx),
+ .compression = static_cast<IncFsCompressionKind>(header.compressionType),
+ .kind = INCFS_BLOCK_KIND_DATA,
+ .dataSize = static_cast<uint16_t>(header.blockSize),
+ .data = (const char*)remainingData.data(),
+ };
instructions.push_back(inst);
remainingData = remainingData.subspan(header.blockSize);
}
@@ -390,9 +399,8 @@ private:
flushReadLog();
}
- void writeInstructions(std::vector<incfs_new_data_block>& instructions) {
- auto res = this->mIfs->writeBlocks(instructions.data(),
- instructions.size());
+ void writeInstructions(std::vector<IncFsDataBlock>& instructions) {
+ auto res = this->mIfs->writeBlocks(instructions);
if (res != instructions.size()) {
ALOGE("[AdbDataLoader] failed to write data to Incfs (res=%d when "
"expecting %d)",
@@ -406,30 +414,30 @@ private:
FileId fileId;
};
- MetaPair* updateMapsForFile(android::dataloader::Inode ino) {
- android::dataloader::RawMetadata meta = mIfs->getRawMetadata(ino);
+ MetaPair* updateMapsForFile(android::dataloader::FileId id) {
+ android::dataloader::RawMetadata meta = mIfs->getRawMetadata(id);
FileId fileId;
auto res =
std::from_chars(meta.data(), meta.data() + meta.size(), fileId);
if (res.ec != std::errc{} || fileId < 0) {
- ALOGE("[AdbDataLoader] Invalid metadata for inode=%d (%s)",
- static_cast<int>(ino), meta.data());
+ ALOGE("[AdbDataLoader] Invalid metadata for fileid=%s (%s)",
+ android::incfs::toString(id).c_str(), meta.data());
return nullptr;
}
- mIdToNodeMap[fileId] = ino;
- auto& metaPair = mNodeToMetaMap[ino];
+ mIdToNodeMap[fileId] = id;
+ auto& metaPair = mNodeToMetaMap[id];
metaPair.meta = std::move(meta);
metaPair.fileId = fileId;
return &metaPair;
}
- android::dataloader::RawMetadata* getMeta(android::dataloader::Inode ino) {
- auto it = mNodeToMetaMap.find(ino);
+ android::dataloader::RawMetadata* getMeta(android::dataloader::FileId id) {
+ auto it = mNodeToMetaMap.find(id);
if (it != mNodeToMetaMap.end()) {
return &it->second.meta;
}
- auto metaPair = updateMapsForFile(ino);
+ auto metaPair = updateMapsForFile(id);
if (!metaPair) {
return nullptr;
}
@@ -437,13 +445,13 @@ private:
return &metaPair->meta;
}
- FileId* getFileId(android::dataloader::Inode ino) {
- auto it = mNodeToMetaMap.find(ino);
+ FileId* getFileId(android::dataloader::FileId id) {
+ auto it = mNodeToMetaMap.find(id);
if (it != mNodeToMetaMap.end()) {
return &it->second.fileId;
}
- auto* metaPair = updateMapsForFile(ino);
+ auto* metaPair = updateMapsForFile(id);
if (!metaPair) {
return nullptr;
}
@@ -456,7 +464,7 @@ private:
return;
}
if (trace) {
- auto* meta = getMeta(read.fileIno);
+ auto* meta = getMeta(read.fileId);
auto str = android::base::StringPrintf(
"page_read: index=%lld count=%lld meta=%.*s",
static_cast<long long>(read.firstBlockIdx),
@@ -468,7 +476,7 @@ private:
if (log) {
mReadLog.reserve(ReadLogBufferSize);
- auto fileId = getFileId(read.fileIno);
+ auto fileId = getFileId(read.fileId);
android::base::StringAppendF(
&mReadLog, "%lld:%lld:%lld:%lld\n",
static_cast<long long>(read.timestampUs),
@@ -501,8 +509,8 @@ private:
std::string mReadLog;
std::thread mReceiverThread;
std::mutex mMapsMutex;
- std::unordered_map<android::dataloader::Inode, MetaPair> mNodeToMetaMap GUARDED_BY(mMapsMutex);
- std::unordered_map<FileId, android::dataloader::Inode> mIdToNodeMap GUARDED_BY(mMapsMutex);
+ std::unordered_map<android::dataloader::FileId, MetaPair> mNodeToMetaMap GUARDED_BY(mMapsMutex);
+ std::unordered_map<FileId, android::dataloader::FileId> mIdToNodeMap GUARDED_BY(mMapsMutex);
/** Tracks which files have been requested */
std::unordered_set<FileId> mRequestedFiles;
std::atomic<bool> mStopReceiving = false;
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index 2b143e425589..b31841d82d0e 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Gekoppel via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Beskikbaar via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tik om aan te meld"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Gekoppel, geen internet nie"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Daar kan nie by private DNS-bediener ingegaan word nie"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Beperkte verbinding"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Geen internet nie"</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index 2a93e01765bb..4955ad8fda29 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"በ <xliff:g id="NAME">%1$s</xliff:g> በኩል ተገናኝተዋል"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"በ%1$s በኩል የሚገኝ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ለመመዝገብ መታ ያድርጉ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"ተገናኝቷል፣ ምንም በይነመረብ የለም"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"የግል ዲኤንኤስ አገልጋይ ሊደረስበት አይችልም"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"የተገደበ ግንኙነት"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ምንም በይነመረብ የለም"</string>
diff --git a/packages/SettingsLib/res/values-ar/arrays.xml b/packages/SettingsLib/res/values-ar/arrays.xml
index 851a3d8f136a..d65d821e71ab 100644
--- a/packages/SettingsLib/res/values-ar/arrays.xml
+++ b/packages/SettingsLib/res/values-ar/arrays.xml
@@ -252,7 +252,7 @@
<item msgid="3474333938380896988">"عرض مناطق العجز في رؤية اللونين الأخضر والأحمر"</item>
</string-array>
<string-array name="app_process_limit_entries">
- <item msgid="794656271086646068">"الحد القياسي"</item>
+ <item msgid="794656271086646068">"الحدّ العادي"</item>
<item msgid="8628438298170567201">"ليست هناك عمليات بالخلفية"</item>
<item msgid="915752993383950932">"عملية واحدة بحد أقصى"</item>
<item msgid="8554877790859095133">"عمليتان بحد أقصى"</item>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index 54856566e021..7b26be4f4c14 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"تم الاتصال عبر <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"‏متوفرة عبر %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"انقر للاشتراك."</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"متصلة ولكن بلا إنترنت"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"لا يمكن الوصول إلى خادم أسماء نظام نطاقات خاص"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"اتصال محدود"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"لا يتوفر اتصال إنترنت."</string>
@@ -124,7 +125,7 @@
<string name="bluetooth_talkback_headset" msgid="3406852564400882682">"سماعة رأس"</string>
<string name="bluetooth_talkback_phone" msgid="868393783858123880">"هاتف"</string>
<string name="bluetooth_talkback_imaging" msgid="8781682986822514331">"تصوير"</string>
- <string name="bluetooth_talkback_headphone" msgid="8613073829180337091">"سماعة أذن"</string>
+ <string name="bluetooth_talkback_headphone" msgid="8613073829180337091">"السمّاعة"</string>
<string name="bluetooth_talkback_input_peripheral" msgid="5133944817800149942">"جهاز إدخال طرفي"</string>
<string name="bluetooth_talkback_bluetooth" msgid="1143241359781999989">"بلوتوث"</string>
<string name="bluetooth_hearingaid_left_pairing_message" msgid="8561855779703533591">"جارٍ إقران سماعة الأذن الطبية اليسرى…"</string>
@@ -157,7 +158,7 @@
<string name="tts_settings" msgid="8130616705989351312">"إعدادات تحويل النص إلى كلام"</string>
<string name="tts_settings_title" msgid="7602210956640483039">"تحويل النص إلى كلام"</string>
<string name="tts_default_rate_title" msgid="3964187817364304022">"معدل سرعة الكلام"</string>
- <string name="tts_default_rate_summary" msgid="3781937042151716987">"سرعة نطق الكلام"</string>
+ <string name="tts_default_rate_summary" msgid="3781937042151716987">"سرعة قول الكلام"</string>
<string name="tts_default_pitch_title" msgid="6988592215554485479">"درجة الصوت"</string>
<string name="tts_default_pitch_summary" msgid="9132719475281551884">"للتأثير في نبرة الكلام المُرَكَّب"</string>
<string name="tts_default_lang_title" msgid="4698933575028098940">"اللغة"</string>
@@ -181,7 +182,7 @@
<string name="tts_engine_preference_section_title" msgid="3861562305498624904">"المحرّك المفضّل"</string>
<string name="tts_general_section_title" msgid="8919671529502364567">"عامة"</string>
<string name="tts_reset_speech_pitch_title" msgid="7149398585468413246">"إعادة ضبط طبقة صوت الكلام"</string>
- <string name="tts_reset_speech_pitch_summary" msgid="6822904157021406449">"إعادة ضبط طبقة الصوت التي يتم نطق النص بها على الإعداد التلقائي."</string>
+ <string name="tts_reset_speech_pitch_summary" msgid="6822904157021406449">"إعادة ضبط طبقة الصوت التي يتم قول النص بها على الإعداد التلقائي."</string>
<string-array name="tts_rate_entries">
<item msgid="9004239613505400644">"بطيء جدًا"</item>
<item msgid="1815382991399815061">"بطيء"</item>
@@ -353,7 +354,7 @@
<string-array name="color_mode_names">
<item msgid="3836559907767149216">"نابض بالحياة (تلقائي)"</item>
<item msgid="9112200311983078311">"طبيعي"</item>
- <item msgid="6564241960833766170">"قياسي"</item>
+ <item msgid="6564241960833766170">"عادي"</item>
</string-array>
<string-array name="color_mode_descriptions">
<item msgid="6828141153199944847">"ألوان محسَّنة"</item>
diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml
index fa26b9b93ef6..dcebe5bd9b6c 100644
--- a/packages/SettingsLib/res/values-as/strings.xml
+++ b/packages/SettingsLib/res/values-as/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে সংযুক্ত"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$sৰ মাধ্যমেৰে উপলব্ধ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ছাইন আপ কৰিবলৈ টিপক"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"সংযোজিত, ইণ্টাৰনেট নাই"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ব্যক্তিগত DNS ছাৰ্ভাৰ এক্সেছ কৰিব নোৱাৰি"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ইণ্টাৰনেট সংযোগ সীমিত"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ইণ্টাৰনেট সংযোগ নাই"</string>
diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml
index 2e80fdcb8972..7f3db37f2a25 100644
--- a/packages/SettingsLib/res/values-az/strings.xml
+++ b/packages/SettingsLib/res/values-az/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> ilə qoşulub"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s vasitəsilə əlçatandır"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Qeydiyyatdan keçmək üçün klikləyin"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Qoşuludur, internet yoxdur"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Özəl DNS serverinə giriş mümkün deyil"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Məhdud bağlantı"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"İnternet yoxdur"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index ae5c93670644..b789cb0dbe5a 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Povezano preko: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Dostupna je preko pristupne tačke %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Dodirnite da biste se registrovali"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Veza je uspostavljena, nema interneta"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Pristup privatnom DNS serveru nije uspeo"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ograničena veza"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nema interneta"</string>
diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml
index ad201d081fce..ce191eb59676 100644
--- a/packages/SettingsLib/res/values-be/strings.xml
+++ b/packages/SettingsLib/res/values-be/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Падключана праз праграму \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Даступна праз %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Націсніце, каб зарэгістравацца"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Падключана, без доступу да інтэрнэту"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Не ўдалося атрымаць доступ да прыватнага DNS-сервера"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Абмежаваныя магчымасці падключэння"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Не падключана да інтэрнэту"</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index 94f78ad30a67..3e6f77db29c1 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Установена е връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Мрежата е достъпна през „%1$s“"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Докоснете, за да се регистрирате"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Установена е връзка – няма достъп до интернет"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Не може да се осъществи достъп до частния DNS сървър"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ограничена връзка"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Няма връзка с интернет"</string>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index 517191601d2f..7f6938ac8de2 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে কানেক্ট করা আছে"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s এর মাধ্যমে উপলব্ধ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"সাইন-আপ করতে ট্যাপ করুন"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"কানেক্ট, ইন্টারনেট নেই"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ব্যক্তিগত ডিএনএস সার্ভার অ্যাক্সেস করা যাবে না"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"সীমিত কানেকশন"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ইন্টারনেট কানেকশন নেই"</string>
diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml
index f74bcee6fd08..0563abd66311 100644
--- a/packages/SettingsLib/res/values-bs/strings.xml
+++ b/packages/SettingsLib/res/values-bs/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Povezano preko <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Dostupan preko %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Dodirnite za prijavu"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Povezano, nema interneta"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Nije moguće pristupiti privatnom DNS serveru"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ograničena veza"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nema internetske veze"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index 1b23ecfd904b..71b2c5d85f84 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connectat mitjançant <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponible mitjançant %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toca per registrar-te"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connectada, sense Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"No es pot accedir al servidor DNS privat"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Connexió limitada"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Sense connexió a Internet"</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index 22603ccdd804..a381772970aa 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Připojeno přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Dostupné prostřednictvím %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Klepnutím se zaregistrujete"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Připojeno, není k dispozici internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Nelze získat přístup k soukromému serveru DNS"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Omezené připojení"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nejste připojeni k internetu"</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index bef1855570a1..f6e8576117d9 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Forbundet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Tilgængelig via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tryk for at registrere dig"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Tilsluttet – intet internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Der er ikke adgang til den private DNS-server"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Begrænset forbindelse"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Intet internet"</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index c8c97bdf3d42..99a091093463 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Verbunden über <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Verfügbar über %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Zum Anmelden tippen"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Verbunden, kein Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Auf den privaten DNS-Server kann nicht zugegriffen werden"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Eingeschränkte Verbindung"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Kein Internet"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index 371075c7acc0..d37ea4409124 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Συνδέθηκε μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Διαθέσιμο μέσω %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Πατήστε για εγγραφή"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Συνδέθηκε, χωρίς σύνδεση στο διαδίκτυο"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Δεν είναι δυνατή η πρόσβαση στον ιδιωτικό διακομιστή DNS."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Περιορισμένη σύνδεση"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Δεν υπάρχει σύνδεση στο διαδίκτυο"</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index b314d1782585..429cd3edd60b 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Available via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tap to sign up"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connected, no Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Private DNS server cannot be accessed"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Limited connection"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"No Internet"</string>
diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml
index b314d1782585..429cd3edd60b 100644
--- a/packages/SettingsLib/res/values-en-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-en-rCA/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Available via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tap to sign up"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connected, no Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Private DNS server cannot be accessed"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Limited connection"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"No Internet"</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index b314d1782585..429cd3edd60b 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Available via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tap to sign up"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connected, no Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Private DNS server cannot be accessed"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Limited connection"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"No Internet"</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index b314d1782585..429cd3edd60b 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Available via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tap to sign up"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connected, no Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Private DNS server cannot be accessed"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Limited connection"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"No Internet"</string>
diff --git a/packages/SettingsLib/res/values-en-rXC/strings.xml b/packages/SettingsLib/res/values-en-rXC/strings.xml
index 95944dc9eae1..1aa6cdba32fb 100644
--- a/packages/SettingsLib/res/values-en-rXC/strings.xml
+++ b/packages/SettingsLib/res/values-en-rXC/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎Connected via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎Available via %1$s‎‏‎‎‏‎"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎Tap to sign up‎‏‎‎‏‎"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎Connected, no internet‎‏‎‎‏‎"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎Private DNS server cannot be accessed‎‏‎‎‏‎"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎Limited connection‎‏‎‎‏‎"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎No internet‎‏‎‎‏‎"</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index c6dfdd3e3ac2..7d28a3255a7b 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Conexión a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponible a través de %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Presiona para registrarte"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Conectado pero sin conexión a Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"No se puede acceder al servidor DNS privado"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Conexión limitada"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Sin Internet"</string>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index ba4a9ff9b245..b35696f54cdc 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Conectado a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponible a través de %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toca para registrarte"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Conexión sin Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"No se ha podido acceder al servidor DNS privado"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Conexión limitada"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Sin Internet"</string>
diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml
index df3b792b0e05..b6c112b94da7 100644
--- a/packages/SettingsLib/res/values-et/strings.xml
+++ b/packages/SettingsLib/res/values-et/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Ühendatud võrgu <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Saadaval üksuse %1$s kaudu"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Puudutage registreerumiseks"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Ühendatud, Interneti-ühendus puudub"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Privaatsele DNS-serverile ei pääse juurde"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Piiratud ühendus"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Interneti-ühendus puudub"</string>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index fcb320ffe61f..4fd9add70470 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> bidez konektatuta"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s bidez erabilgarri"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Sakatu erregistratzeko"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Konektatuta; ezin da atzitu Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Ezin da atzitu DNS zerbitzari pribatua"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Konexio mugatua"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Ez dago Interneteko konexiorik"</string>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index 261a438a4774..32a98be394cb 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"متصل شده ازطریق <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"‏در دسترس از طریق %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"برای ثبت‌نام ضربه بزنید"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"متصل، بدون اینترنت"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"‏سرور DNS خصوصی قابل دسترسی نیست"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"اتصال محدود"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"عدم دسترسی به اینترنت"</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 4ccf430131af..84c53723d6c6 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Yhdistetty (<xliff:g id="NAME">%1$s</xliff:g>)"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Käytettävissä seuraavan kautta: %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Rekisteröidy napauttamalla"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Yhdistetty, ei internetyhteyttä"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Ei pääsyä yksityiselle DNS-palvelimelle"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Rajallinen yhteys"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Ei internetyhteyttä"</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index 84a97973d7c4..995eab641719 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connecté sur le réseau <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Accessible par %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toucher pour vous connecter"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connecté, aucun accès à Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Impossible d\'accéder au serveur DNS privé"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Connexion limitée"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Aucune connexion Internet"</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index 030a7f9b3b48..2afacab43f8d 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connecté via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponible via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Appuyez ici pour vous connecter"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connecté, aucun accès à Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Impossible d\'accéder au serveur DNS privé"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Connexion limitée"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Aucun accès à Internet"</string>
@@ -57,7 +58,7 @@
<string name="osu_sign_up_complete" msgid="7640183358878916847">"Inscription terminée. Connexion…"</string>
<string name="speed_label_very_slow" msgid="8526005255731597666">"Très lente"</string>
<string name="speed_label_slow" msgid="6069917670665664161">"Lente"</string>
- <string name="speed_label_okay" msgid="1253594383880810424">"Correct"</string>
+ <string name="speed_label_okay" msgid="1253594383880810424">"Correcte"</string>
<string name="speed_label_medium" msgid="9078405312828606976">"Moyenne"</string>
<string name="speed_label_fast" msgid="2677719134596044051">"Élevée"</string>
<string name="speed_label_very_fast" msgid="8215718029533182439">"Très rapide"</string>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index af033cf43328..a106e60203e3 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Wifi conectada a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Dispoñible a través de %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toca para rexistrarte"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Conexión sen Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Non se puido acceder ao servidor DNS privado"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Pouca conexión"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Non hai conexión a Internet"</string>
@@ -316,7 +317,7 @@
<string name="usb_audio_disable_routing" msgid="3367656923544254975">"Desactivar encamiñamento audio USB"</string>
<string name="usb_audio_disable_routing_summary" msgid="8768242894849534699">"Desactiva o encamiñamento automático a periféricos de audio USB"</string>
<string name="debug_layout" msgid="1659216803043339741">"Mostrar límites de deseño"</string>
- <string name="debug_layout_summary" msgid="8825829038287321978">"Mostra os límites dos clips, as marxes, etc."</string>
+ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostra os límites dos clips, as marxes etc."</string>
<string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forzar dirección do deseño RTL"</string>
<string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forza a dirección de pantalla a RTL (dereita a esquerda) para todas as configuración rexionais"</string>
<string name="force_msaa" msgid="4081288296137775550">"Forzar MSAA 4x"</string>
diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml
index 87fd8767b326..5f2d5cde3198 100644
--- a/packages/SettingsLib/res/values-gu/strings.xml
+++ b/packages/SettingsLib/res/values-gu/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> દ્વારા કનેક્ટ થયેલ"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s દ્વારા ઉપલબ્ધ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"સાઇન અપ કરવા માટે ટૅપ કરો"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"કનેક્ટ કર્યું, કોઈ ઇન્ટરનેટ નથી"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ખાનગી DNS સર્વર ઍક્સેસ કરી શકાતા નથી"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"મર્યાદિત કનેક્શન"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ઇન્ટરનેટ ઍક્સેસ નથી"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 02b5c9601ab4..d60eeadac7a6 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> के ज़रिए कनेक्ट किया गया"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s के द्वारा उपलब्ध"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"साइन अप करने के लिए टैप करें"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"कनेक्ट हो गया है, लेकिन इंटरनेट नहीं है"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"निजी डीएनएस सर्वर को ऐक्सेस नहीं किया जा सकता"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"सीमित कनेक्शन"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"इंटरनेट कनेक्शन नहीं है"</string>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index 598cfe2aadb2..28e34601444c 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Povezan putem mreže <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Dostupno putem %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Dodirnite da biste se registrirali"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Povezano, bez interneta"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Nije moguće pristupiti privatnom DNS poslužitelju"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ograničena veza"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nema interneta"</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index d970c737c3d6..22e03a779545 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Kapcsolódva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Elérhető a következőn keresztül: %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Koppintson a regisztrációhoz"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Csatlakozva, nincs internet-hozzáférés"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"A privát DNS-kiszolgálóhoz nem lehet hozzáférni"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Korlátozott kapcsolat"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nincs internetkapcsolat"</string>
diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml
index 908693439de0..ecb615a40cc2 100644
--- a/packages/SettingsLib/res/values-hy/strings.xml
+++ b/packages/SettingsLib/res/values-hy/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Միացված է <xliff:g id="NAME">%1$s</xliff:g>-ի միջոցով"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Հասանելի է %1$s-ի միջոցով"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Հպեք՝ գրանցվելու համար"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Միացված է, սակայն ինտերնետ կապ չկա"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Մասնավոր DNS սերվերն անհասանելի է"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Սահմանափակ կապ"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Ինտերնետ կապ չկա"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index 3c1504c7f14a..cfbda04f176d 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Tersambung melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Tersedia melalui %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Ketuk untuk mendaftar"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Tersambung, tidak ada internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Server DNS pribadi tidak dapat diakses"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Koneksi terbatas"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Tidak ada internet"</string>
diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml
index 438e900be4ba..ba4c00976ccb 100644
--- a/packages/SettingsLib/res/values-is/strings.xml
+++ b/packages/SettingsLib/res/values-is/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Tenging í gegnum <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Í boði í gegnum %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Ýttu til að skrá þig"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Tengt, enginn netaðgangur"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Ekki næst í DNS-einkaþjón"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Takmörkuð tenging"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Engin nettenging"</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 114b33b49206..50e5777ed9d9 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Connesso tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponibile tramite %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tocca per registrarti"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Connesso, senza Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Non è possibile accedere al server DNS privato"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Connessione limitata"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nessuna connessione a Internet"</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index 62085a85e243..9f1e457383e1 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"מחוברת באמצעות <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"‏זמינה דרך %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"יש להקיש כדי להירשם"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"מחובר. אין אינטרנט"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"‏לא ניתן לגשת לשרת DNS הפרטי"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"חיבור מוגבל"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"אין אינטרנט"</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 28b98ee7c387..47020ed45794 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> で接続しました"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s経由で使用可能"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"タップして登録してください"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"接続済み、インターネット接続なし"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"プライベート DNS サーバーにアクセスできません"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"接続が制限されています"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"インターネット未接続"</string>
diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml
index 6f5d0b39fc1f..116488d1c151 100644
--- a/packages/SettingsLib/res/values-ka/strings.xml
+++ b/packages/SettingsLib/res/values-ka/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"დაკავშირებულია <xliff:g id="NAME">%1$s</xliff:g>-ით"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"ხელმისაწვდომია %1$s-ით"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"შეეხეთ რეგისტრაციისთვის"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"დაკავშირებულია, ინტერნეტის გარეშე"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"პირად DNS სერვერზე წვდომა შეუძლებელია"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"შეზღუდული კავშირი"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ინტერნეტ-კავშირი არ არის"</string>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index 3fe426e6d027..3c4fdb739ef5 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> арқылы жалғанған"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s арқылы қолжетімді"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Тіркелу үшін түртіңіз."</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Қосылған, интернет жоқ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Жеке DNS серверіне кіру мүмкін емес."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Шектеулі байланыс"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Интернетпен байланыс жоқ"</string>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index 24bfa35d2368..87a4f19f3d67 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"ភ្ជាប់​តាម <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"មានតាមរយៈ %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ចុច​ដើម្បី​ចុះឈ្មោះ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"បាន​ភ្ជាប់ ប៉ុន្តែ​គ្មាន​អ៊ីនធឺណិត​ទេ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"មិនអាច​ចូលប្រើ​ម៉ាស៊ីនមេ DNS ឯកជន​បានទេ"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ការតភ្ជាប់មានកម្រិត"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"គ្មាន​អ៊ីនធឺណិតទេ"</string>
diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml
index 0699bbcd007a..144dddb1f7ff 100644
--- a/packages/SettingsLib/res/values-kn/strings.xml
+++ b/packages/SettingsLib/res/values-kn/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> ಆ್ಯಪ್ ಮೂಲಕ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s ಮೂಲಕ ಲಭ್ಯವಿದೆ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ಸೈನ್ ಅಪ್ ಮಾಡಲು ಟ್ಯಾಪ್‌ ಮಾಡಿ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"ಸಂಪರ್ಕಪಡಿಸಲಾಗಿದೆ, ಇಂಟರ್ನೆಟ್ ಇಲ್ಲ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ಖಾಸಗಿ DNS ಸರ್ವರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ಸೀಮಿತ ಸಂಪರ್ಕ"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ಇಂಟರ್ನೆಟ್ ಇಲ್ಲ"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index 25e9cfe8fa1a..df9f21d800ef 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g>을(를) 통해 연결됨"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s을(를) 통해 사용 가능"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"탭하여 가입"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"연결됨, 인터넷 사용 불가"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"비공개 DNS 서버에 액세스할 수 없습니다."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"제한된 연결"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"인터넷 연결 없음"</string>
diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml
index 3dfce1eb2a8a..13c414404da2 100644
--- a/packages/SettingsLib/res/values-ky/strings.xml
+++ b/packages/SettingsLib/res/values-ky/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу туташты"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s аркылуу жеткиликтүү"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Катталуу үчүн таптап коюңуз"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Туташып турат, Интернет жок"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Жеке DNS сервери жеткиликсиз"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Байланыш чектелген"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Интернет жок"</string>
diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml
index 48e50933c0ce..48224f4c2f81 100644
--- a/packages/SettingsLib/res/values-lo/strings.xml
+++ b/packages/SettingsLib/res/values-lo/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"ເຊື່ອມ​ຕໍ່​ຜ່ານ <xliff:g id="NAME">%1$s</xliff:g> ແລ້ວ"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"ມີ​ໃຫ້​ຜ່ານ %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ແຕະເພື່ອສະໝັກ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"ເຊື່ອມຕໍ່ແລ້ວ, ບໍ່ມີອິນເຕີເນັດ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ບໍ່ສາມາດເຂົ້າເຖິງເຊີບເວີ DNS ສ່ວນຕົວໄດ້"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ການເຊື່ອມຕໍ່ຈຳກັດ"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ບໍ່ມີອິນເຕີເນັດ"</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index 8b3fbadbfb39..d080334062ad 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Prisijungta naudojant programą „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Pasiekiama naudojant „%1$s“"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Palieskite, kad prisiregistruotumėte"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Prisijungta, nėra interneto"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Privataus DNS serverio negalima pasiekti"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ribotas ryšys"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nėra interneto ryšio"</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index 4fc5b223c384..e13a50d990a7 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Savienojums ar <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Pieejams, izmantojot %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Pieskarieties, lai reģistrētos"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Savienojums izveidots, nav piekļuves internetam"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Nevar piekļūt privātam DNS serverim."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ierobežots savienojums"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nav piekļuves internetam"</string>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index 288e526be4c9..d027ffe4f44f 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Поврзано преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Достапно преку %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Допрете за да се регистрирате"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Поврзана, нема интернет"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Не може да се пристапи до приватниот DNS-сервер"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ограничена врска"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Нема интернет"</string>
diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml
index e775297982fd..e2a3d9fbd4ba 100644
--- a/packages/SettingsLib/res/values-ml/strings.xml
+++ b/packages/SettingsLib/res/values-ml/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> മുഖേന കണക്‌റ്റ് ചെയ്‌തു"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s വഴി ലഭ്യം"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"സൈൻ അപ്പ് ചെയ്യാൻ ടാപ്പ് ചെയ്യുക"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"കണക്റ്റ് ചെയ്‌തു, ഇന്റർനെറ്റ് ഇല്ല"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"സ്വകാര്യ DNS സെർവർ ആക്‌സസ് ചെയ്യാനാവില്ല"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"പരിമിത കണക്‌ഷൻ"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ഇന്റർനെറ്റ് ഇല്ല"</string>
diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml
index ba69f9b654ab..dd08c9e9fdfc 100644
--- a/packages/SettingsLib/res/values-mn/strings.xml
+++ b/packages/SettingsLib/res/values-mn/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g>-р холбогдсон"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s-р боломжтой"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Бүртгүүлэхийн тулд товшино уу"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Холбогдсон хэдий ч интернет алга"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Хувийн DNS серверт хандах боломжгүй байна"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Хязгаарлагдмал холболт"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Интернэт алга"</string>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index 1930cdf75e38..fb7cd1f3cf31 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे कनेक्ट केले"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s द्वारे उपलब्‍ध"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"साइन अप करण्यासाठी टॅप करा"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"कनेक्‍ट केले, इंटरनेट नाही"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"खाजगी DNS सर्व्हर ॲक्सेस करू शकत नाही"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"मर्यादित कनेक्शन"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"इंटरनेट नाही"</string>
diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml
index e4931883bacd..72b15ff2a172 100644
--- a/packages/SettingsLib/res/values-ms/strings.xml
+++ b/packages/SettingsLib/res/values-ms/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Disambungkan melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Tersedia melalui %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Ketik untuk daftar"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Disambungkan, tiada Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Pelayan DNS peribadi tidak boleh diakses"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Sambungan terhad"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Tiada Internet"</string>
diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml
index 2c4b32c04107..24017ecd8196 100644
--- a/packages/SettingsLib/res/values-my/strings.xml
+++ b/packages/SettingsLib/res/values-my/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> မှတစ်ဆင့် ချိတ်ဆက်ထားသည်"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s မှတစ်ဆင့်ရနိုင်သည်"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"အကောင့်ဖွင့်ရန် တို့ပါ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"ချိတ်ဆက်ထားသည်၊ အင်တာနက်မရှိ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"သီးသန့် ဒီအန်အက်စ် (DNS) ဆာဗာကို သုံး၍မရပါ။"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ချိတ်ဆက်မှု ကန့်သတ်ထားသည်"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"အင်တာနက် မရှိပါ"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index 093c06f20132..aca13a78c453 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Tilkoblet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Tilgjengelig via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Trykk for å registrere deg"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Tilkoblet – ingen Internett-tilgang"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Den private DNS-tjeneren kan ikke nås"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Begrenset tilkobling"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Ingen internettilkobling"</string>
diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml
index fb8b7377e35d..b2c7518eb8d6 100644
--- a/packages/SettingsLib/res/values-ne/strings.xml
+++ b/packages/SettingsLib/res/values-ne/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत जडान गरिएको"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s मार्फत उपलब्ध"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"साइन अप गर्न ट्याप गर्नुहोस्"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"जडान गरियो तर इन्टरनेट छैन"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"निजी DNS सर्भरमाथि पहुँच प्राप्त गर्न सकिँदैन"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"सीमित जडान"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"इन्टरनेटमाथिको पहुँच छैन"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index 267dab4cdee8..c74683bdf238 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Verbonden via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Beschikbaar via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tik om aan te melden"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Verbonden, geen internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Geen toegang tot privé-DNS-server"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Beperkte verbinding"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Geen internet"</string>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index d8ae3bfb9a72..704fc42e7ddf 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> ଦ୍ବାରା ସଂଯୋଗ କରାଯାଇଛି"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s ମାଧ୍ୟମରେ ଉପଲବ୍ଧ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ସାଇନ୍ ଅପ୍ ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"ସଂଯୁକ୍ତ, ଇଣ୍ଟର୍‌ନେଟ୍‌ ନାହିଁ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ବ୍ୟକ୍ତିଗତ DNS ସର୍ଭର୍ ଆକ୍ସେସ୍ କରିହେବ ନାହିଁ"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ସୀମିତ ସଂଯୋଗ"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"କୌଣସି ଇଣ୍ଟରନେଟ୍‌ ନାହିଁ"</string>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index 6a784865b12c..bf5a32cd33b5 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s ਰਾਹੀਂ ਉਪਲਬਧ"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ਸਾਈਨ-ਅੱਪ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"ਕਨੈਕਟ ਕੀਤਾ, ਕੋਈ ਇੰਟਰਨੈੱਟ ਨਹੀਂ"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ਨਿੱਜੀ ਡੋਮੇਨ ਨਾਮ ਪ੍ਰਣਾਲੀ (DNS) ਸਰਵਰ \'ਤੇ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"ਸੀਮਤ ਕਨੈਕਸ਼ਨ"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ਇੰਟਰਨੈੱਟ ਨਹੀਂ"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index 8c5547c2791d..d907760c5567 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Połączenie przez: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Dostępne przez %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Kliknij, by się zarejestrować"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Połączono, brak internetu"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Brak dostępu do prywatnego serwera DNS"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ograniczone połączenie"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Brak internetu"</string>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index 8c036164e140..e61c84e01179 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Conectado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponível via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toque para se inscrever"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Conectada, sem Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Não é possível acessar o servidor DNS privado"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Conexão limitada"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Sem Internet"</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index 6aeff1cb271c..8ceeb6333210 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Ligado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponível através de %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toque para se inscrever"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Ligado, sem Internet."</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Não é possível aceder ao servidor DNS."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ligação limitada"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Sem Internet"</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index 8c036164e140..e61c84e01179 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Conectado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponível via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Toque para se inscrever"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Conectada, sem Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Não é possível acessar o servidor DNS privado"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Conexão limitada"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Sem Internet"</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 387441f32b56..5ad8dfd136de 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Conectat prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Disponibilă prin %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Atingeți pentru a vă înscrie"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Conectată, fără internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Serverul DNS privat nu poate fi accesat"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Conexiune limitată"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Fără conexiune la internet"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 361e29ff452e..104efdc57b45 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Подключено через приложение \"<xliff:g id="NAME">%1$s</xliff:g>\"."</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Доступно через %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Нажмите, чтобы зарегистрироваться"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Подключено, без доступа к Интернету"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Доступа к частному DNS-серверу нет."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Подключение к сети ограничено."</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Нет подключения к Интернету"</string>
diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml
index faa848fec830..f5dad8748b24 100644
--- a/packages/SettingsLib/res/values-si/strings.xml
+++ b/packages/SettingsLib/res/values-si/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> හරහා සම්බන්ධයි"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s හරහා ලබා ගැනීමට හැකිය"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"ලියාපදිංචි වීමට තට්ටු කරන්න"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"සම්බන්ධයි, අන්තර්ජාලය නැත"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"පුද්ගලික DNS සේවාදායකයට ප්‍රවේශ වීමට නොහැකිය"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"සීමිත සම්බන්ධතාව"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"අන්තර්ජාලය නැත"</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index 2035d88c75f0..527dafb95a2e 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Pripojené prostredníctvom siete <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"K dispozícii prostredníctvom %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Prihláste sa klepnutím"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Pripojené, žiadny internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"K súkromnému serveru DNS sa nepodarilo získať prístup"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Obmedzené pripojenie"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Žiadny internet"</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 288961947269..481695046625 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Povezava vzpostavljena prek omrežja <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Na voljo prek: %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Dotaknite se, če se želite registrirati"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Vzpostavljena povezava, brez interneta"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Do zasebnega strežnika DNS ni mogoče dostopati"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Omejena povezava"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Brez internetne povezave"</string>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index ccd4e3066d9f..12511dd3582c 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Lidhur përmes <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"E mundshme përmes %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Trokit për t\'u regjistruar"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"U lidh, por nuk ka internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Serveri privat DNS nuk mund të qaset"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Lidhje e kufizuar"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Nuk ka internet"</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 08e2bc85db4e..4724be52f87c 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Повезано преко: <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Доступна је преко приступне тачке %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Додирните да бисте се регистровали"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Веза је успостављена, нема интернета"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Приступ приватном DNS серверу није успео"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Ограничена веза"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Нема интернета"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index c0cdbc913aea..9d1bc42b613a 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Anslutet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Tillgängligt via %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Tryck för att logga in"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Ansluten, inget internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Det går inte att komma åt den privata DNS-servern."</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Begränsad anslutning"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Inget internet"</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index f00dea3822cf..1e2489f89ff6 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Imeunganishwa kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Inapatikana kupitia %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Gusa ili ujisajili"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Imeunganishwa, hakuna intaneti"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Seva ya faragha ya DNS haiwezi kufikiwa"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Muunganisho hafifu"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Hakuna intaneti"</string>
diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml
index 52e0363147da..fcb801b112a0 100644
--- a/packages/SettingsLib/res/values-ta/strings.xml
+++ b/packages/SettingsLib/res/values-ta/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் இணைக்கப்பட்டது"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s வழியாகக் கிடைக்கிறது"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"பதிவு செய்யத் தட்டவும்"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"இணைக்கப்பட்டுள்ளது, ஆனால் இண்டர்நெட் இல்லை"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"தனிப்பட்ட DNS சேவையகத்தை அணுக இயலாது"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"வரம்பிற்கு உட்பட்ட இணைப்பு"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"இணைய இணைப்பு இல்லை"</string>
diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml
index a39c4e14cddd..7a8045111baa 100644
--- a/packages/SettingsLib/res/values-te/strings.xml
+++ b/packages/SettingsLib/res/values-te/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా కనెక్ట్ చేయబడింది"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s ద్వారా అందుబాటులో ఉంది"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"సైన్ అప్ చేయడానికి నొక్కండి"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"కనెక్ట్ చేయబడింది, ఇంటర్నెట్ లేదు"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"ప్రైవేట్ DNS సర్వర్‌ను యాక్సెస్ చేయడం సాధ్యపడదు"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"పరిమిత కనెక్షన్"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ఇంటర్నెట్ లేదు"</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index 635d77a77a35..130e1c4318a1 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"เชื่อมต่อแล้วผ่าน <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"พร้อมใช้งานผ่านทาง %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"แตะเพื่อลงชื่อสมัครใช้"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"เชื่อมต่อแล้ว ไม่พบอินเทอร์เน็ต"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"เข้าถึงเซิร์ฟเวอร์ DNS ไม่ได้"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"การเชื่อมต่อที่จำกัด"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"ไม่มีอินเทอร์เน็ต"</string>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index 3f7f0ff56f8a..bc1a40560df0 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Nakakonekta sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Available sa pamamagitan ng %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"I-tap para mag-sign up"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Nakakonekta, walang internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Hindi ma-access ang pribadong DNS server"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Limitadong koneksyon"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Walang internet"</string>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index 7ad6fcd24ea1..4e263ef86cd5 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> ile bağlandı"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s üzerinden kullanılabilir"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Kaydolmak için dokunun"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Bağlı, internet yok"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Gizli DNS sunucusuna erişilemiyor"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Sınırlı bağlantı"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"İnternet yok"</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index b5dd61898470..ad9f600ae74d 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Підключено через додаток <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Доступ через %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Торкніться, щоб увійти"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Під’єднано, але немає доступу до Інтернету"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Немає доступу до приватного DNS-сервера"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Обмежене з’єднання"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Немає Інтернету"</string>
diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml
index ef9b2a1b294e..b995da1ad37b 100644
--- a/packages/SettingsLib/res/values-ur/strings.xml
+++ b/packages/SettingsLib/res/values-ur/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> کے ذریعے منسلک"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"‏دستیاب بذریعہ ‎%1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"سائن اپ کے لیے تھپتھپائیں"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"منسلک، انٹرنیٹ نہیں ہے"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"‏نجی DNS سرور تک رسائی حاصل نہیں کی جا سکی"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"محدود کنکشن"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"انٹرنیٹ نہیں ہے"</string>
diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml
index b202d6444965..f02b63940115 100644
--- a/packages/SettingsLib/res/values-uz/strings.xml
+++ b/packages/SettingsLib/res/values-uz/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"<xliff:g id="NAME">%1$s</xliff:g> orqali ulandi"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"%1$s orqali ishlaydi"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Yozilish uchun bosing"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Ulangan, lekin internet aloqasi yo‘q"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Xususiy DNS server ishlamayapti"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Cheklangan aloqa"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Internet yo‘q"</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index cda42d348c45..8fcf1f2ef21c 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Đã kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Có sẵn qua %1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Nhấn để đăng ký"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Đã kết nối, không có Internet"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Không thể truy cập máy chủ DNS riêng tư"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Kết nối giới hạn"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Không có Internet"</string>
@@ -201,7 +202,7 @@
<string name="development_settings_summary" msgid="8718917813868735095">"Đặt tùy chọn cho phát triển ứng dụng"</string>
<string name="development_settings_not_available" msgid="355070198089140951">"Tùy chọn dành cho nhà phát triển không khả dụng cho người dùng này"</string>
<string name="vpn_settings_not_available" msgid="2894137119965668920">"Cài đặt VPN không khả dụng cho người dùng này"</string>
- <string name="tethering_settings_not_available" msgid="266821736434699780">"Cài đặt chia sẻ kết nối không khả dụng cho người dùng này"</string>
+ <string name="tethering_settings_not_available" msgid="266821736434699780">"Cài đặt cách chia sẻ kết nối không khả dụng cho người dùng này"</string>
<string name="apn_settings_not_available" msgid="1147111671403342300">"Cài đặt tên điểm truy cập không khả dụng cho người dùng này"</string>
<string name="enable_adb" msgid="8072776357237289039">"Gỡ lỗi qua USB"</string>
<string name="enable_adb_summary" msgid="3711526030096574316">"Bật chế độ gỡ lỗi khi kết nối USB"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index 418370b916e6..755cbeee3499 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"已通过<xliff:g id="NAME">%1$s</xliff:g>连接到网络"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"可通过%1$s连接"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"点按即可注册"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"已连接,但无法访问互联网"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"无法访问私人 DNS 服务器"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"网络连接受限"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"无法访问互联网"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index 79b55796bda2..e50acf5004fa 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"可透過 %1$s 連線"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"輕按即可登入"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"已連線,但沒有互聯網"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"無法存取私人 DNS 伺服器"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"連線受限"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"沒有互聯網連線"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index 47ab7641b7ad..7df6fed4d8fd 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"可透過 %1$s 使用"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"輕觸即可註冊"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"已連線,沒有網際網路"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"無法存取私人 DNS 伺服器"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"連線能力受限"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"沒有網際網路連線"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 87f45de36c58..46dffbe3aa33 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -42,7 +42,8 @@
<string name="connected_via_app" msgid="3532267661404276584">"Ixhumeke nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="available_via_passpoint" msgid="1716000261192603682">"Iyatholakala nge-%1$s"</string>
<string name="tap_to_sign_up" msgid="5356397741063740395">"Thepha ukuze ubhalisele"</string>
- <string name="wifi_connected_no_internet" msgid="2381729074310543563">"Kuxhunyiwe, ayikho i-inthanethi"</string>
+ <!-- no translation found for wifi_connected_no_internet (5087420713443350646) -->
+ <skip />
<string name="private_dns_broken" msgid="1984159464346556931">"Iseva eyimfihlo ye-DNS ayikwazi ukufinyelelwa"</string>
<string name="wifi_limited_connection" msgid="1184778285475204682">"Iqoqo elikhawulelwe"</string>
<string name="wifi_status_no_internet" msgid="3799933875988829048">"Ayikho i-inthanethi"</string>
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index a7df6db3d31f..dd21e5c07b13 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -129,7 +129,7 @@
<string name="certinstaller_package" translatable="false">com.android.certinstaller</string>
<!-- Summary for Connected wifi network without internet -->
- <string name="wifi_connected_no_internet">Connected, no internet</string>
+ <string name="wifi_connected_no_internet">No internet</string>
<!-- Summary for connected network without internet due to private dns validation failed [CHAR LIMIT=NONE] -->
<string name="private_dns_broken">Private DNS server cannot be accessed</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/NetworkPolicyEditor.java b/packages/SettingsLib/src/com/android/settingslib/NetworkPolicyEditor.java
index b01fc8541957..f5aa652f3194 100644
--- a/packages/SettingsLib/src/com/android/settingslib/NetworkPolicyEditor.java
+++ b/packages/SettingsLib/src/com/android/settingslib/NetworkPolicyEditor.java
@@ -216,7 +216,7 @@ public class NetworkPolicyEditor {
private static NetworkTemplate buildUnquotedNetworkTemplate(NetworkTemplate template) {
if (template == null) return null;
final String networkId = template.getNetworkId();
- final String strippedNetworkId = WifiInfo.removeDoubleQuotes(networkId);
+ final String strippedNetworkId = WifiInfo.sanitizeSsid(networkId);
if (!TextUtils.equals(strippedNetworkId, networkId)) {
return new NetworkTemplate(
template.getMatchRule(), template.getSubscriberId(), strippedNetworkId);
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
index a784e04ee6a0..ddb7341b7366 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
@@ -16,6 +16,7 @@
package com.android.settingslib.bluetooth;
+import static android.bluetooth.BluetoothAdapter.ACTIVE_DEVICE_AUDIO;
import static android.bluetooth.BluetoothProfile.CONNECTION_POLICY_ALLOWED;
import static android.bluetooth.BluetoothProfile.CONNECTION_POLICY_FORBIDDEN;
@@ -45,6 +46,7 @@ public class A2dpProfile implements LocalBluetoothProfile {
private boolean mIsProfileReady;
private final CachedBluetoothDeviceManager mDeviceManager;
+ private final BluetoothAdapter mBluetoothAdapter;
static final ParcelUuid[] SINK_UUIDS = {
BluetoothUuid.A2DP_SINK,
@@ -99,7 +101,8 @@ public class A2dpProfile implements LocalBluetoothProfile {
mContext = context;
mDeviceManager = deviceManager;
mProfileManager = profileManager;
- BluetoothAdapter.getDefaultAdapter().getProfileProxy(context, new A2dpServiceListener(),
+ mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+ mBluetoothAdapter.getProfileProxy(context, new A2dpServiceListener(),
BluetoothProfile.A2DP);
}
@@ -173,8 +176,10 @@ public class A2dpProfile implements LocalBluetoothProfile {
}
public boolean setActiveDevice(BluetoothDevice device) {
- if (mService == null) return false;
- return mService.setActiveDevice(device);
+ if (mBluetoothAdapter == null) {
+ return false;
+ }
+ return mBluetoothAdapter.setActiveDevice(device, ACTIVE_DEVICE_AUDIO);
}
public BluetoothDevice getActiveDevice() {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java
index d65b5da22056..218d0b2dc2c0 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java
@@ -16,6 +16,7 @@
package com.android.settingslib.bluetooth;
+import static android.bluetooth.BluetoothAdapter.ACTIVE_DEVICE_PHONE_CALL;
import static android.bluetooth.BluetoothProfile.CONNECTION_POLICY_ALLOWED;
import static android.bluetooth.BluetoothProfile.CONNECTION_POLICY_FORBIDDEN;
@@ -45,6 +46,7 @@ public class HeadsetProfile implements LocalBluetoothProfile {
private final CachedBluetoothDeviceManager mDeviceManager;
private final LocalBluetoothProfileManager mProfileManager;
+ private final BluetoothAdapter mBluetoothAdapter;
static final ParcelUuid[] UUIDS = {
BluetoothUuid.HSP,
@@ -99,7 +101,8 @@ public class HeadsetProfile implements LocalBluetoothProfile {
LocalBluetoothProfileManager profileManager) {
mDeviceManager = deviceManager;
mProfileManager = profileManager;
- BluetoothAdapter.getDefaultAdapter().getProfileProxy(context, new HeadsetServiceListener(),
+ mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+ mBluetoothAdapter.getProfileProxy(context, new HeadsetServiceListener(),
BluetoothProfile.HEADSET);
}
@@ -134,10 +137,10 @@ public class HeadsetProfile implements LocalBluetoothProfile {
}
public boolean setActiveDevice(BluetoothDevice device) {
- if (mService == null) {
+ if (mBluetoothAdapter == null) {
return false;
}
- return mService.setActiveDevice(device);
+ return mBluetoothAdapter.setActiveDevice(device, ACTIVE_DEVICE_PHONE_CALL);
}
public BluetoothDevice getActiveDevice() {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
index 9f1af669c708..b82fb37a770f 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
@@ -16,6 +16,7 @@
package com.android.settingslib.bluetooth;
+import static android.bluetooth.BluetoothAdapter.ACTIVE_DEVICE_ALL;
import static android.bluetooth.BluetoothProfile.CONNECTION_POLICY_ALLOWED;
import static android.bluetooth.BluetoothProfile.CONNECTION_POLICY_FORBIDDEN;
@@ -45,6 +46,7 @@ public class HearingAidProfile implements LocalBluetoothProfile {
static final String NAME = "HearingAid";
private final LocalBluetoothProfileManager mProfileManager;
+ private final BluetoothAdapter mBluetoothAdapter;
// Order of this profile in device profiles list
private static final int ORDINAL = 1;
@@ -97,7 +99,8 @@ public class HearingAidProfile implements LocalBluetoothProfile {
mContext = context;
mDeviceManager = deviceManager;
mProfileManager = profileManager;
- BluetoothAdapter.getDefaultAdapter().getProfileProxy(context,
+ mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+ mBluetoothAdapter.getProfileProxy(context,
new HearingAidServiceListener(), BluetoothProfile.HEARING_AID);
}
@@ -171,8 +174,10 @@ public class HearingAidProfile implements LocalBluetoothProfile {
}
public boolean setActiveDevice(BluetoothDevice device) {
- if (mService == null) return false;
- return mService.setActiveDevice(device);
+ if (mBluetoothAdapter == null) {
+ return false;
+ }
+ return mBluetoothAdapter.setActiveDevice(device, ACTIVE_DEVICE_ALL);
}
public List<BluetoothDevice> getActiveDevices() {
diff --git a/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java b/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java
index aac7fc3c927a..d48aa246ecba 100644
--- a/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java
+++ b/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java
@@ -402,7 +402,7 @@ public class ZoneGetter {
private static List<String> extractTimeZoneIds(List<TimeZoneMapping> timeZoneMappings) {
final List<String> zoneIds = new ArrayList<>(timeZoneMappings.size());
for (TimeZoneMapping timeZoneMapping : timeZoneMappings) {
- zoneIds.add(timeZoneMapping.timeZoneId);
+ zoneIds.add(timeZoneMapping.getTimeZoneId());
}
return Collections.unmodifiableList(zoneIds);
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java
index 9db4a35c1d78..b4c95e6ee2df 100644
--- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java
+++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java
@@ -35,8 +35,10 @@ import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.zip.GZIPInputStream;
/**
@@ -84,7 +86,7 @@ class LicenseHtmlGeneratorFromXml {
* "9645f39e9db895a4aa6e02cb57294595". Here "9645f39e9db895a4aa6e02cb57294595" is a MD5 sum
* of the content of packages/services/Telephony/MODULE_LICENSE_APACHE2.
*/
- private final Map<String, String> mFileNameToContentIdMap = new HashMap();
+ private final Map<String, Set<String>> mFileNameToContentIdMap = new HashMap();
/*
* A map from a content id (MD5 sum of file content) to a license file content.
@@ -186,10 +188,10 @@ class LicenseHtmlGeneratorFromXml {
* </licenses>
*/
@VisibleForTesting
- static void parse(InputStreamReader in, Map<String, String> outFileNameToContentIdMap,
+ static void parse(InputStreamReader in, Map<String, Set<String>> outFileNameToContentIdMap,
Map<String, String> outContentIdToFileContentMap)
throws XmlPullParserException, IOException {
- Map<String, String> fileNameToContentIdMap = new HashMap<String, String>();
+ Map<String, Set<String>> fileNameToContentIdMap = new HashMap<String, Set<String>>();
Map<String, String> contentIdToFileContentMap = new HashMap<String, String>();
XmlPullParser parser = Xml.newPullParser();
@@ -206,7 +208,10 @@ class LicenseHtmlGeneratorFromXml {
if (!TextUtils.isEmpty(contentId)) {
String fileName = readText(parser).trim();
if (!TextUtils.isEmpty(fileName)) {
- fileNameToContentIdMap.put(fileName, contentId);
+ Set<String> contentIds =
+ fileNameToContentIdMap.computeIfAbsent(
+ fileName, k -> new HashSet<>());
+ contentIds.add(contentId);
}
}
} else if (TAG_FILE_CONTENT.equals(parser.getName())) {
@@ -224,7 +229,13 @@ class LicenseHtmlGeneratorFromXml {
state = parser.next();
}
- outFileNameToContentIdMap.putAll(fileNameToContentIdMap);
+ for (Map.Entry<String, Set<String>> entry : fileNameToContentIdMap.entrySet()) {
+ outFileNameToContentIdMap.merge(
+ entry.getKey(), entry.getValue(), (s1, s2) -> {
+ s1.addAll(s2);
+ return s1;
+ });
+ }
outContentIdToFileContentMap.putAll(contentIdToFileContentMap);
}
@@ -240,7 +251,7 @@ class LicenseHtmlGeneratorFromXml {
}
@VisibleForTesting
- static void generateHtml(Map<String, String> fileNameToContentIdMap,
+ static void generateHtml(Map<String, Set<String>> fileNameToContentIdMap,
Map<String, String> contentIdToFileContentMap, PrintWriter writer,
String noticeHeader) {
List<String> fileNameList = new ArrayList();
@@ -259,19 +270,20 @@ class LicenseHtmlGeneratorFromXml {
// Prints all the file list with a link to its license file content.
for (String fileName : fileNameList) {
- String contentId = fileNameToContentIdMap.get(fileName);
- // Assigns an id to a newly referred license file content.
- if (!contentIdToOrderMap.containsKey(contentId)) {
- contentIdToOrderMap.put(contentId, count);
-
- // An index in contentIdAndFileNamesList is the order of each element.
- contentIdAndFileNamesList.add(new ContentIdAndFileNames(contentId));
- count++;
- }
+ for (String contentId : fileNameToContentIdMap.get(fileName)) {
+ // Assigns an id to a newly referred license file content.
+ if (!contentIdToOrderMap.containsKey(contentId)) {
+ contentIdToOrderMap.put(contentId, count);
+
+ // An index in contentIdAndFileNamesList is the order of each element.
+ contentIdAndFileNamesList.add(new ContentIdAndFileNames(contentId));
+ count++;
+ }
- int id = contentIdToOrderMap.get(contentId);
- contentIdAndFileNamesList.get(id).mFileNameList.add(fileName);
- writer.format("<li><a href=\"#id%d\">%s</a></li>\n", id, fileName);
+ int id = contentIdToOrderMap.get(contentId);
+ contentIdAndFileNamesList.get(id).mFileNameList.add(fileName);
+ writer.format("<li><a href=\"#id%d\">%s</a></li>\n", id, fileName);
+ }
}
writer.println(HTML_MIDDLE_STRING);
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java
index 99c7dcf52818..d287f95e504a 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java
@@ -74,6 +74,21 @@ public class InfoMediaDevice extends MediaDevice {
}
@Override
+ public void requestSetVolume(int volume) {
+ mRouterManager.requestSetVolume(mRouteInfo, volume);
+ }
+
+ @Override
+ public int getMaxVolume() {
+ return mRouteInfo.getVolumeMax();
+ }
+
+ @Override
+ public int getCurrentVolume() {
+ return mRouteInfo.getVolume();
+ }
+
+ @Override
public void disconnect() {
//TODO(b/144535188): disconnected last select device
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java
index e008cd038317..a4be46cf1f63 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java
@@ -40,15 +40,16 @@ public class InfoMediaManager extends MediaManager {
final Executor mExecutor = Executors.newSingleThreadExecutor();
@VisibleForTesting
MediaRouter2Manager mRouterManager;
+ @VisibleForTesting
+ String mPackageName;
- private String mPackageName;
private MediaDevice mCurrentConnectedDevice;
public InfoMediaManager(Context context, String packageName, Notification notification) {
super(context, notification);
mRouterManager = MediaRouter2Manager.getInstance(context);
- if (packageName != null) {
+ if (!TextUtils.isEmpty(packageName)) {
mPackageName = packageName;
}
}
@@ -57,6 +58,7 @@ public class InfoMediaManager extends MediaManager {
public void startScan() {
mMediaDevices.clear();
mRouterManager.registerCallback(mExecutor, mMediaRouterCallback);
+ refreshDevices();
}
@VisibleForTesting
@@ -79,21 +81,37 @@ public class InfoMediaManager extends MediaManager {
return mCurrentConnectedDevice;
}
- class RouterManagerCallback extends MediaRouter2Manager.Callback {
+ private void refreshDevices() {
+ mMediaDevices.clear();
+ mCurrentConnectedDevice = null;
+ if (TextUtils.isEmpty(mPackageName)) {
+ buildAllRoutes();
+ } else {
+ buildAvailableRoutes();
+ }
+ dispatchDeviceListAdded();
+ }
- private void refreshDevices() {
- mMediaDevices.clear();
- mCurrentConnectedDevice = null;
- for (MediaRoute2Info route : mRouterManager.getAvailableRoutes(mPackageName)) {
- final MediaDevice device = new InfoMediaDevice(mContext, mRouterManager, route,
- mPackageName);
- if (TextUtils.equals(route.getClientPackageName(), mPackageName)) {
- mCurrentConnectedDevice = device;
- }
- mMediaDevices.add(device);
+ private void buildAllRoutes() {
+ for (MediaRoute2Info route : mRouterManager.getAllRoutes()) {
+ final MediaDevice device = new InfoMediaDevice(mContext, mRouterManager, route,
+ mPackageName);
+ mMediaDevices.add(device);
+ }
+ }
+
+ private void buildAvailableRoutes() {
+ for (MediaRoute2Info route : mRouterManager.getAvailableRoutes(mPackageName)) {
+ final MediaDevice device = new InfoMediaDevice(mContext, mRouterManager, route,
+ mPackageName);
+ if (TextUtils.equals(route.getClientPackageName(), mPackageName)) {
+ mCurrentConnectedDevice = device;
}
- dispatchDeviceListAdded();
+ mMediaDevices.add(device);
}
+ }
+
+ class RouterManagerCallback extends MediaRouter2Manager.Callback {
@Override
public void onRoutesAdded(List<MediaRoute2Info> routes) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
index e85a102294d8..50196d2b2994 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
@@ -18,7 +18,6 @@ package com.android.settingslib.media;
import android.app.Notification;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
-import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.IntDef;
@@ -162,10 +161,8 @@ public class LocalMediaManager implements BluetoothCallback {
mMediaDevices.clear();
mBluetoothMediaManager.registerCallback(mMediaDeviceCallback);
mBluetoothMediaManager.startScan();
- if (!TextUtils.isEmpty(mPackageName)) {
- mInfoMediaManager.registerCallback(mMediaDeviceCallback);
- mInfoMediaManager.startScan();
- }
+ mInfoMediaManager.registerCallback(mMediaDeviceCallback);
+ mInfoMediaManager.startScan();
}
private void addPhoneDeviceIfNecessary() {
@@ -208,10 +205,8 @@ public class LocalMediaManager implements BluetoothCallback {
public void stopScan() {
mBluetoothMediaManager.unregisterCallback(mMediaDeviceCallback);
mBluetoothMediaManager.stopScan();
- if (!TextUtils.isEmpty(mPackageName)) {
- mInfoMediaManager.unregisterCallback(mMediaDeviceCallback);
- mInfoMediaManager.stopScan();
- }
+ mInfoMediaManager.unregisterCallback(mMediaDeviceCallback);
+ mInfoMediaManager.stopScan();
}
/**
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
index 53a852069478..839d528406cd 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
@@ -109,6 +109,59 @@ public abstract class MediaDevice implements Comparable<MediaDevice> {
public abstract boolean isConnected();
/**
+ * Request to set volume.
+ *
+ * @param volume is the new value.
+ */
+ public void requestSetVolume(int volume) {
+ }
+
+ /**
+ * Get max volume from MediaDevice.
+ *
+ * @return max volume.
+ */
+ public int getMaxVolume() {
+ return 100;
+ }
+
+ /**
+ * Get current volume from MediaDevice.
+ *
+ * @return current volume.
+ */
+ public int getCurrentVolume() {
+ return 0;
+ }
+
+ /**
+ * Get application package name.
+ *
+ * @return package name.
+ */
+ public String getClientPackageName() {
+ return null;
+ }
+
+ /**
+ * Get application label from MediaDevice.
+ *
+ * @return application label.
+ */
+ public String getClientAppLabel() {
+ return null;
+ }
+
+ /**
+ * Get application label from MediaDevice.
+ *
+ * @return application label.
+ */
+ public int getDeviceType() {
+ return mType;
+ }
+
+ /**
* Rules:
* 1. If there is one of the connected devices identified as a carkit, this carkit will
* be always on the top of the device list. Rule 2 and Rule 3 can’t overrule this rule.
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index 84dde05afb2e..44e70f436963 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -654,7 +654,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
}
}
}
- return oldMetering == mIsScoredNetworkMetered;
+ return oldMetering != mIsScoredNetworkMetered;
}
/**
@@ -1170,8 +1170,8 @@ public class AccessPoint implements Comparable<AccessPoint> {
} else { // In range, not disabled.
if (mConfig != null) { // Is saved network
// Last attempt to connect to this failed. Show reason why
- switch (mConfig.recentFailure.getAssociationStatus()) {
- case WifiConfiguration.RecentFailure.STATUS_AP_UNABLE_TO_HANDLE_NEW_STA:
+ switch (mConfig.getRecentFailureReason()) {
+ case WifiConfiguration.RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA:
summary.append(mContext.getString(
R.string.wifi_ap_unable_to_handle_new_sta));
break;
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java
index 78ccba02fb04..d4e0510e15a7 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java
@@ -60,7 +60,7 @@ public class WifiUtils {
if (config != null) {
WifiConfiguration.NetworkSelectionStatus networkStatus =
config.getNetworkSelectionStatus();
- for (int index = WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLE;
+ for (int index = WifiConfiguration.NetworkSelectionStatus.DISABLED_NONE;
index < WifiConfiguration.NetworkSelectionStatus
.NETWORK_SELECTION_DISABLED_MAX; index++) {
if (networkStatus.getDisableReasonCounter(index) != 0) {
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java
index 4b5e9097b3fe..e87461f85762 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java
@@ -28,8 +28,11 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
@RunWith(RobolectricTestRunner.class)
public class LicenseHtmlGeneratorFromXmlTest {
@@ -68,6 +71,7 @@ public class LicenseHtmlGeneratorFromXmlTest {
private static final String HTML_BODY_STRING =
"<li><a href=\"#id0\">/file0</a></li>\n"
+ + "<li><a href=\"#id1\">/file0</a></li>\n"
+ "<li><a href=\"#id0\">/file1</a></li>\n"
+ "</ul>\n"
+ "</div><!-- table of contents -->\n"
@@ -82,6 +86,15 @@ public class LicenseHtmlGeneratorFromXmlTest {
+ "license content #0\n"
+ "</pre><!-- license-text -->\n"
+ "</td></tr><!-- same-license -->\n"
+ + "<tr id=\"id1\"><td class=\"same-license\">\n"
+ + "<div class=\"label\">Notices for file(s):</div>\n"
+ + "<div class=\"file-list\">\n"
+ + "/file0 <br/>\n"
+ + "</div><!-- file-list -->\n"
+ + "<pre class=\"license-text\">\n"
+ + "license content #1\n"
+ + "</pre><!-- license-text -->\n"
+ + "</td></tr><!-- same-license -->\n"
+ "</table></body></html>\n";
private static final String EXPECTED_HTML_STRING = HTML_HEAD_STRING + HTML_BODY_STRING;
@@ -91,22 +104,22 @@ public class LicenseHtmlGeneratorFromXmlTest {
@Test
public void testParseValidXmlStream() throws XmlPullParserException, IOException {
- Map<String, String> fileNameToContentIdMap = new HashMap<>();
+ Map<String, Set<String>> fileNameToContentIdMap = new HashMap<>();
Map<String, String> contentIdToFileContentMap = new HashMap<>();
LicenseHtmlGeneratorFromXml.parse(
new InputStreamReader(new ByteArrayInputStream(VALILD_XML_STRING.getBytes())),
fileNameToContentIdMap, contentIdToFileContentMap);
assertThat(fileNameToContentIdMap.size()).isEqualTo(2);
- assertThat(fileNameToContentIdMap.get("/file0")).isEqualTo("0");
- assertThat(fileNameToContentIdMap.get("/file1")).isEqualTo("0");
+ assertThat(fileNameToContentIdMap.get("/file0")).containsExactly("0");
+ assertThat(fileNameToContentIdMap.get("/file1")).containsExactly("0");
assertThat(contentIdToFileContentMap.size()).isEqualTo(1);
assertThat(contentIdToFileContentMap.get("0")).isEqualTo("license content #0");
}
@Test(expected = XmlPullParserException.class)
public void testParseInvalidXmlStream() throws XmlPullParserException, IOException {
- Map<String, String> fileNameToContentIdMap = new HashMap<>();
+ Map<String, Set<String>> fileNameToContentIdMap = new HashMap<>();
Map<String, String> contentIdToFileContentMap = new HashMap<>();
LicenseHtmlGeneratorFromXml.parse(
@@ -116,12 +129,13 @@ public class LicenseHtmlGeneratorFromXmlTest {
@Test
public void testGenerateHtml() {
- Map<String, String> fileNameToContentIdMap = new HashMap<>();
+ Map<String, Set<String>> fileNameToContentIdMap = new HashMap<>();
Map<String, String> contentIdToFileContentMap = new HashMap<>();
- fileNameToContentIdMap.put("/file0", "0");
- fileNameToContentIdMap.put("/file1", "0");
+ fileNameToContentIdMap.put("/file0", new HashSet<String>(Arrays.asList("0", "1")));
+ fileNameToContentIdMap.put("/file1", new HashSet<String>(Arrays.asList("0")));
contentIdToFileContentMap.put("0", "license content #0");
+ contentIdToFileContentMap.put("1", "license content #1");
StringWriter output = new StringWriter();
LicenseHtmlGeneratorFromXml.generateHtml(
@@ -131,12 +145,13 @@ public class LicenseHtmlGeneratorFromXmlTest {
@Test
public void testGenerateHtmlWithCustomHeading() {
- Map<String, String> fileNameToContentIdMap = new HashMap<>();
+ Map<String, Set<String>> fileNameToContentIdMap = new HashMap<>();
Map<String, String> contentIdToFileContentMap = new HashMap<>();
- fileNameToContentIdMap.put("/file0", "0");
- fileNameToContentIdMap.put("/file1", "0");
+ fileNameToContentIdMap.put("/file0", new HashSet<String>(Arrays.asList("0", "1")));
+ fileNameToContentIdMap.put("/file1", new HashSet<String>(Arrays.asList("0")));
contentIdToFileContentMap.put("0", "license content #0");
+ contentIdToFileContentMap.put("1", "license content #1");
StringWriter output = new StringWriter();
LicenseHtmlGeneratorFromXml.generateHtml(
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java
index 67f6dd903841..3726fb24479a 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java
@@ -74,7 +74,7 @@ public class InfoMediaManagerTest {
}
@Test
- public void onRouteAdded_shouldAddMediaDevice() {
+ public void onRouteAdded_getAvailableRoutes_shouldAddMediaDevice() {
final MediaRoute2Info info = mock(MediaRoute2Info.class);
when(info.getId()).thenReturn(TEST_ID);
when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
@@ -95,6 +95,27 @@ public class InfoMediaManagerTest {
}
@Test
+ public void onRouteAdded_buildAllRoutes_shouldAddMediaDevice() {
+ final MediaRoute2Info info = mock(MediaRoute2Info.class);
+ when(info.getId()).thenReturn(TEST_ID);
+ when(info.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
+
+ final List<MediaRoute2Info> routes = new ArrayList<>();
+ routes.add(info);
+ when(mRouterManager.getAllRoutes()).thenReturn(routes);
+
+ final MediaDevice mediaDevice = mInfoMediaManager.findMediaDevice(TEST_ID);
+ assertThat(mediaDevice).isNull();
+
+ mInfoMediaManager.mPackageName = "";
+ mInfoMediaManager.mMediaRouterCallback.onRoutesAdded(routes);
+
+ final MediaDevice infoDevice = mInfoMediaManager.mMediaDevices.get(0);
+ assertThat(infoDevice.getId()).isEqualTo(TEST_ID);
+ assertThat(mInfoMediaManager.mMediaDevices).hasSize(routes.size());
+ }
+
+ @Test
public void onControlCategoriesChanged_samePackageName_shouldAddMediaDevice() {
final MediaRoute2Info info = mock(MediaRoute2Info.class);
when(info.getId()).thenReturn(TEST_ID);
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java
index cdf97285a16f..44864a61ade6 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java
@@ -45,6 +45,7 @@ import android.provider.settings.validators.Validator;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.BackupUtils;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.util.Slog;
import android.view.Display;
@@ -280,6 +281,16 @@ public class SettingsBackupAgent extends BackupAgentHelper {
Settings.Secure.getMovedToGlobalSettings(movedToGlobal);
Set<String> movedToSecure = getMovedToSecureSettings();
+ Set<String> preservedGlobalSettings = getSettingsToPreserveInRestore(
+ Settings.Global.CONTENT_URI);
+ Set<String> preservedSecureSettings = getSettingsToPreserveInRestore(
+ Settings.Secure.CONTENT_URI);
+ Set<String> preservedSystemSettings = getSettingsToPreserveInRestore(
+ Settings.System.CONTENT_URI);
+ Set<String> preservedSettings = new HashSet<>(preservedGlobalSettings);
+ preservedSettings.addAll(preservedSecureSettings);
+ preservedSettings.addAll(preservedSystemSettings);
+
byte[] restoredWifiSupplicantData = null;
byte[] restoredWifiIpConfigData = null;
@@ -300,7 +311,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
case KEY_SYSTEM :
restoreSettings(data, Settings.System.CONTENT_URI, movedToGlobal,
movedToSecure, R.array.restore_blocked_system_settings,
- dynamicBlockList);
+ dynamicBlockList,
+ preservedSystemSettings);
mSettingsHelper.applyAudioSettings();
break;
@@ -311,7 +323,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
movedToGlobal,
null,
R.array.restore_blocked_secure_settings,
- dynamicBlockList);
+ dynamicBlockList,
+ preservedSecureSettings);
break;
case KEY_GLOBAL :
@@ -321,7 +334,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
null,
movedToSecure,
R.array.restore_blocked_global_settings,
- dynamicBlockList);
+ dynamicBlockList,
+ preservedGlobalSettings);
break;
case KEY_WIFI_SUPPLICANT :
@@ -368,7 +382,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
restoreDeviceSpecificConfig(
restoredDeviceSpecificConfig,
R.array.restore_blocked_device_specific_settings,
- dynamicBlockList);
+ dynamicBlockList,
+ preservedSettings);
break;
default :
@@ -418,7 +433,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
in.readFully(buffer, 0, nBytes);
restoreSettings(buffer, nBytes, Settings.System.CONTENT_URI, movedToGlobal,
movedToSecure, R.array.restore_blocked_system_settings,
- Collections.emptySet());
+ Collections.emptySet(), Collections.emptySet());
// secure settings
nBytes = in.readInt();
@@ -432,7 +447,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
movedToGlobal,
null,
R.array.restore_blocked_secure_settings,
- Collections.emptySet());
+ Collections.emptySet(), Collections.emptySet());
// Global only if sufficiently new
if (version >= FULL_BACKUP_ADDED_GLOBAL) {
@@ -443,7 +458,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
movedToGlobal.clear(); // no redirection; this *is* the global namespace
restoreSettings(buffer, nBytes, Settings.Global.CONTENT_URI, movedToGlobal,
movedToSecure, R.array.restore_blocked_global_settings,
- Collections.emptySet());
+ Collections.emptySet(), Collections.emptySet());
}
// locale
@@ -608,6 +623,40 @@ public class SettingsBackupAgent extends BackupAgentHelper {
}
/**
+ * Get names of the settings for which the current value should be preserved during restore.
+ */
+ private Set<String> getSettingsToPreserveInRestore(Uri settingsUri) {
+ if (!FeatureFlagUtils.isEnabled(getBaseContext(),
+ FeatureFlagUtils.SETTINGS_DO_NOT_RESTORE_PRESERVED)) {
+ return Collections.emptySet();
+ }
+
+ Cursor cursor = getContentResolver().query(settingsUri, new String[] {
+ Settings.NameValueTable.NAME, Settings.NameValueTable.IS_PRESERVED_IN_RESTORE },
+ /* selection */ null, /* selectionArgs */ null, /* sortOrder */ null);
+
+ if (!cursor.moveToFirst()) {
+ Slog.i(TAG, "No settings to be preserved in restore");
+ return Collections.emptySet();
+ }
+
+ int nameIndex = cursor.getColumnIndex(Settings.NameValueTable.NAME);
+ int isPreservedIndex = cursor.getColumnIndex(
+ Settings.NameValueTable.IS_PRESERVED_IN_RESTORE);
+
+ Set<String> preservedSettings = new HashSet<>();
+ while (!cursor.isAfterLast()) {
+ if (Boolean.parseBoolean(cursor.getString(isPreservedIndex))) {
+ preservedSettings.add(getQualifiedKeyForSetting(cursor.getString(nameIndex),
+ settingsUri));
+ }
+ cursor.moveToNext();
+ }
+
+ return preservedSettings;
+ }
+
+ /**
* Serialize the owner info and other lock settings
*/
private byte[] getLockSettings(@UserIdInt int userId) {
@@ -650,7 +699,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
HashSet<String> movedToGlobal,
Set<String> movedToSecure,
int blockedSettingsArrayId,
- Set<String> dynamicBlockList) {
+ Set<String> dynamicBlockList,
+ Set<String> settingsToPreserve) {
byte[] settings = new byte[data.getDataSize()];
try {
data.readEntityData(settings, 0, settings.length);
@@ -665,7 +715,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
movedToGlobal,
movedToSecure,
blockedSettingsArrayId,
- dynamicBlockList);
+ dynamicBlockList,
+ settingsToPreserve);
}
private void restoreSettings(
@@ -675,7 +726,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
HashSet<String> movedToGlobal,
Set<String> movedToSecure,
int blockedSettingsArrayId,
- Set<String> dynamicBlockList) {
+ Set<String> dynamicBlockList,
+ Set<String> settingsToPreserve) {
restoreSettings(
settings,
0,
@@ -684,10 +736,12 @@ public class SettingsBackupAgent extends BackupAgentHelper {
movedToGlobal,
movedToSecure,
blockedSettingsArrayId,
- dynamicBlockList);
+ dynamicBlockList,
+ settingsToPreserve);
}
- private void restoreSettings(
+ @VisibleForTesting
+ void restoreSettings(
byte[] settings,
int pos,
int bytes,
@@ -695,31 +749,13 @@ public class SettingsBackupAgent extends BackupAgentHelper {
HashSet<String> movedToGlobal,
Set<String> movedToSecure,
int blockedSettingsArrayId,
- Set<String> dynamicBlockList) {
+ Set<String> dynamicBlockList,
+ Set<String> settingsToPreserve) {
if (DEBUG) {
Log.i(TAG, "restoreSettings: " + contentUri);
}
- // Figure out the white list and redirects to the global table. We restore anything
- // in either the backup whitelist or the legacy-restore whitelist for this table.
- final String[] whitelist;
- Map<String, Validator> validators = null;
- if (contentUri.equals(Settings.Secure.CONTENT_URI)) {
- whitelist = ArrayUtils.concatElements(String.class, SecureSettings.SETTINGS_TO_BACKUP,
- Settings.Secure.LEGACY_RESTORE_SETTINGS,
- DeviceSpecificSettings.DEVICE_SPECIFIC_SETTINGS_TO_BACKUP);
- validators = SecureSettingsValidators.VALIDATORS;
- } else if (contentUri.equals(Settings.System.CONTENT_URI)) {
- whitelist = ArrayUtils.concatElements(String.class, SystemSettings.SETTINGS_TO_BACKUP,
- Settings.System.LEGACY_RESTORE_SETTINGS);
- validators = SystemSettingsValidators.VALIDATORS;
- } else if (contentUri.equals(Settings.Global.CONTENT_URI)) {
- whitelist = ArrayUtils.concatElements(String.class, GlobalSettings.SETTINGS_TO_BACKUP,
- Settings.Global.LEGACY_RESTORE_SETTINGS);
- validators = GlobalSettingsValidators.VALIDATORS;
- } else {
- throw new IllegalArgumentException("Unknown URI: " + contentUri);
- }
+ SettingsBackupWhitelist whitelist = getBackupWhitelist(contentUri);
// Restore only the white list data.
final ArrayMap<String, String> cachedEntries = new ArrayMap<>();
@@ -729,7 +765,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
Set<String> blockedSettings = getBlockedSettings(blockedSettingsArrayId);
- for (String key : whitelist) {
+ for (String key : whitelist.mSettingsWhitelist) {
boolean isBlockedBySystem = blockedSettings != null && blockedSettings.contains(key);
if (isBlockedBySystem || isBlockedByDynamicList(dynamicBlockList, contentUri, key)) {
Log.i(
@@ -742,6 +778,12 @@ public class SettingsBackupAgent extends BackupAgentHelper {
continue;
}
+ if (settingsToPreserve.contains(getQualifiedKeyForSetting(key, contentUri))) {
+ Log.i(TAG, "Skipping restore for setting " + key + " as it is marked as "
+ + "preserved");
+ continue;
+ }
+
String value = null;
boolean hasValueToRestore = false;
if (cachedEntries.indexOfKey(key) >= 0) {
@@ -775,7 +817,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
}
// only restore the settings that have valid values
- if (!isValidSettingValue(key, value, validators)) {
+ if (!isValidSettingValue(key, value, whitelist.mSettingsValidators)) {
Log.w(TAG, "Attempted restore of " + key + " setting, but its value didn't pass"
+ " validation, value: " + value);
continue;
@@ -798,11 +840,42 @@ public class SettingsBackupAgent extends BackupAgentHelper {
}
}
+ @VisibleForTesting
+ SettingsBackupWhitelist getBackupWhitelist(Uri contentUri) {
+ // Figure out the white list and redirects to the global table. We restore anything
+ // in either the backup whitelist or the legacy-restore whitelist for this table.
+ String[] whitelist;
+ Map<String, Validator> validators = null;
+ if (contentUri.equals(Settings.Secure.CONTENT_URI)) {
+ whitelist = ArrayUtils.concatElements(String.class, SecureSettings.SETTINGS_TO_BACKUP,
+ Settings.Secure.LEGACY_RESTORE_SETTINGS,
+ DeviceSpecificSettings.DEVICE_SPECIFIC_SETTINGS_TO_BACKUP);
+ validators = SecureSettingsValidators.VALIDATORS;
+ } else if (contentUri.equals(Settings.System.CONTENT_URI)) {
+ whitelist = ArrayUtils.concatElements(String.class, SystemSettings.SETTINGS_TO_BACKUP,
+ Settings.System.LEGACY_RESTORE_SETTINGS);
+ validators = SystemSettingsValidators.VALIDATORS;
+ } else if (contentUri.equals(Settings.Global.CONTENT_URI)) {
+ whitelist = ArrayUtils.concatElements(String.class, GlobalSettings.SETTINGS_TO_BACKUP,
+ Settings.Global.LEGACY_RESTORE_SETTINGS);
+ validators = GlobalSettingsValidators.VALIDATORS;
+ } else {
+ throw new IllegalArgumentException("Unknown URI: " + contentUri);
+ }
+
+ return new SettingsBackupWhitelist(whitelist, validators);
+ }
+
private boolean isBlockedByDynamicList(Set<String> dynamicBlockList, Uri areaUri, String key) {
String contentKey = Uri.withAppendedPath(areaUri, key).toString();
return dynamicBlockList.contains(contentKey);
}
+ @VisibleForTesting
+ static String getQualifiedKeyForSetting(String settingName, Uri settingUri) {
+ return Uri.withAppendedPath(settingUri, settingName).toString();
+ }
+
// There may be other sources of blocked settings, so I'm separating out this
// code to make it easy to modify in the future.
@VisibleForTesting
@@ -1089,7 +1162,7 @@ public class SettingsBackupAgent extends BackupAgentHelper {
*/
@VisibleForTesting
boolean restoreDeviceSpecificConfig(byte[] data, int blockedSettingsArrayId,
- Set<String> dynamicBlocklist) {
+ Set<String> dynamicBlocklist, Set<String> preservedSettings) {
// We're using an AtomicInteger to wrap the position int and allow called methods to
// modify it.
AtomicInteger pos = new AtomicInteger(0);
@@ -1108,7 +1181,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
null,
null,
blockedSettingsArrayId,
- dynamicBlocklist);
+ dynamicBlocklist,
+ preservedSettings);
updateWindowManagerIfNeeded(originalDensity);
@@ -1240,4 +1314,20 @@ public class SettingsBackupAgent extends BackupAgentHelper {
| ((in[pos + 3] & 0xFF) << 0);
return result;
}
+
+ /**
+ * Store the whitelist of settings to be backed up and validators for them.
+ */
+ @VisibleForTesting
+ static class SettingsBackupWhitelist {
+ final String[] mSettingsWhitelist;
+ final Map<String, Validator> mSettingsValidators;
+
+
+ SettingsBackupWhitelist(String[] settingsWhitelist,
+ Map<String, Validator> settingsValidators) {
+ mSettingsWhitelist = settingsWhitelist;
+ mSettingsValidators = settingsValidators;
+ }
+ }
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index f6e5062039d2..1bec826897c0 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1563,9 +1563,6 @@ class SettingsProtoDumpUtil {
Settings.Global.WIFI_WAKEUP_ENABLED,
GlobalSettingsProto.Wifi.WAKEUP_ENABLED);
dumpSetting(s, p,
- Settings.Global.WIFI_SAVED_STATE,
- GlobalSettingsProto.Wifi.SAVED_STATE);
- dumpSetting(s, p,
Settings.Global.WIFI_SUPPLICANT_SCAN_INTERVAL_MS,
GlobalSettingsProto.Wifi.SUPPLICANT_SCAN_INTERVAL_MS);
dumpSetting(s, p,
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 107207638205..c969bfd193b5 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -180,10 +180,17 @@ public class SettingsProvider extends ContentProvider {
private static final int MUTATION_OPERATION_UPDATE = 3;
private static final int MUTATION_OPERATION_RESET = 4;
+ private static final String[] LEGACY_SQL_COLUMNS = new String[] {
+ Settings.NameValueTable._ID,
+ Settings.NameValueTable.NAME,
+ Settings.NameValueTable.VALUE,
+ };
+
private static final String[] ALL_COLUMNS = new String[] {
Settings.NameValueTable._ID,
Settings.NameValueTable.NAME,
- Settings.NameValueTable.VALUE
+ Settings.NameValueTable.VALUE,
+ Settings.NameValueTable.IS_PRESERVED_IN_RESTORE,
};
public static final int SETTINGS_TYPE_GLOBAL = SettingsState.SETTINGS_TYPE_GLOBAL;
@@ -2353,6 +2360,10 @@ public class SettingsProvider extends ContentProvider {
case Settings.NameValueTable.VALUE: {
values[i] = setting.getValue();
} break;
+
+ case Settings.NameValueTable.IS_PRESERVED_IN_RESTORE: {
+ values[i] = String.valueOf(setting.isValuePreservedInRestore());
+ } break;
}
}
@@ -3097,7 +3108,7 @@ public class SettingsProvider extends ContentProvider {
SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
queryBuilder.setTables(table);
- Cursor cursor = queryBuilder.query(database, ALL_COLUMNS,
+ Cursor cursor = queryBuilder.query(database, LEGACY_SQL_COLUMNS,
null, null, null, null, null);
if (cursor == null) {
@@ -3415,7 +3426,7 @@ public class SettingsProvider extends ContentProvider {
}
private final class UpgradeController {
- private static final int SETTINGS_VERSION = 186;
+ private static final int SETTINGS_VERSION = 187;
private final int mUserId;
@@ -4694,6 +4705,33 @@ public class SettingsProvider extends ContentProvider {
currentVersion = 186;
}
+ if (currentVersion == 186) {
+ // Remove unused wifi settings
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_rtt_background_exec_gap_ms");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "network_recommendation_request_timeout_ms");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_suspend_optimizations_enabled");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_is_unusable_event_metrics_enabled");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_data_stall_min_tx_bad");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_data_stall_min_tx_success_without_rx");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_link_speed_metrics_enabled");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_pno_frequency_culling_enabled");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_pno_recency_sorting_enabled");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_link_probing_enabled");
+ getGlobalSettingsLocked().deleteSettingLocked(
+ "wifi_saved_state");
+ currentVersion = 187;
+ }
+
// vXXX: Add new settings above this point.
if (currentVersion != newVersion) {
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
index db18213a3599..9934e59d8d56 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java
@@ -41,13 +41,13 @@ import android.util.AtomicFile;
import android.util.Base64;
import android.util.Slog;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.Xml;
import android.util.proto.ProtoOutputStream;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.FrameworkStatsLog;
import libcore.io.IoUtils;
@@ -429,8 +429,9 @@ final class SettingsState {
mSettings.put(name, newState);
}
- StatsLog.write(StatsLog.SETTING_CHANGED, name, value, newState.value, oldValue, tag,
- makeDefault, getUserIdFromKey(mKey), StatsLog.SETTING_CHANGED__REASON__UPDATED);
+ FrameworkStatsLog.write(FrameworkStatsLog.SETTING_CHANGED, name, value, newState.value,
+ oldValue, tag, makeDefault, getUserIdFromKey(mKey),
+ FrameworkStatsLog.SETTING_CHANGED__REASON__UPDATED);
addHistoricalOperationLocked(HISTORICAL_OPERATION_UPDATE, newState);
@@ -489,9 +490,9 @@ final class SettingsState {
if (key.startsWith(prefix) && !keyValues.containsKey(key)) {
Setting oldState = mSettings.remove(key);
- StatsLog.write(StatsLog.SETTING_CHANGED, key, /* value= */ "", /* newValue= */ "",
- oldState.value, /* tag */ "", false, getUserIdFromKey(mKey),
- StatsLog.SETTING_CHANGED__REASON__DELETED);
+ FrameworkStatsLog.write(FrameworkStatsLog.SETTING_CHANGED, key,
+ /* value= */ "", /* newValue= */ "", oldState.value, /* tag */ "", false,
+ getUserIdFromKey(mKey), FrameworkStatsLog.SETTING_CHANGED__REASON__DELETED);
addHistoricalOperationLocked(HISTORICAL_OPERATION_DELETE, oldState);
changedKeys.add(key); // key was removed
}
@@ -516,9 +517,9 @@ final class SettingsState {
continue;
}
- StatsLog.write(StatsLog.SETTING_CHANGED, key, value, state.value, oldValue,
- /* tag */ null, /* make default */ false,
- getUserIdFromKey(mKey), StatsLog.SETTING_CHANGED__REASON__UPDATED);
+ FrameworkStatsLog.write(FrameworkStatsLog.SETTING_CHANGED, key, value, state.value,
+ oldValue, /* tag */ null, /* make default */ false,
+ getUserIdFromKey(mKey), FrameworkStatsLog.SETTING_CHANGED__REASON__UPDATED);
addHistoricalOperationLocked(HISTORICAL_OPERATION_UPDATE, state);
}
@@ -544,9 +545,9 @@ final class SettingsState {
Setting oldState = mSettings.remove(name);
- StatsLog.write(StatsLog.SETTING_CHANGED, name, /* value= */ "", /* newValue= */ "",
- oldState.value, /* tag */ "", false, getUserIdFromKey(mKey),
- StatsLog.SETTING_CHANGED__REASON__DELETED);
+ FrameworkStatsLog.write(FrameworkStatsLog.SETTING_CHANGED, name, /* value= */ "",
+ /* newValue= */ "", oldState.value, /* tag */ "", false, getUserIdFromKey(mKey),
+ FrameworkStatsLog.SETTING_CHANGED__REASON__DELETED);
updateMemoryUsagePerPackageLocked(oldState.packageName, oldState.value,
null, oldState.defaultValue, null);
diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
index 6d94a90d2c32..dee1d7eced66 100644
--- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
+++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
@@ -543,7 +543,6 @@ public class SettingsBackupTest {
Settings.Global.WIFI_ON,
Settings.Global.WIFI_P2P_DEVICE_NAME,
Settings.Global.WIFI_P2P_PENDING_FACTORY_RESET,
- Settings.Global.WIFI_SAVED_STATE,
Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE,
Settings.Global.WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS,
Settings.Global.WIFI_SCAN_THROTTLE_ENABLED,
@@ -729,6 +728,7 @@ public class SettingsBackupTest {
Settings.Secure.DOZE_WAKE_DISPLAY_GESTURE,
Settings.Secure.FACE_UNLOCK_RE_ENROLL,
Settings.Secure.TAP_GESTURE,
+ Settings.Secure.NEARBY_SHARING_COMPONENT, // not user configurable
Settings.Secure.WINDOW_MAGNIFICATION,
Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_MAGNIFICATION_CONTROLLER,
Settings.Secure.SUPPRESS_DOZE);
diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java
index e6508823c7e3..f5334fb7e6ea 100644
--- a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java
+++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java
@@ -32,6 +32,8 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
+import android.provider.settings.validators.SettingsValidators;
+import android.provider.settings.validators.Validator;
import android.test.mock.MockContentProvider;
import android.test.mock.MockContentResolver;
@@ -43,6 +45,7 @@ import org.junit.runner.RunWith;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -55,12 +58,24 @@ import java.util.concurrent.atomic.AtomicInteger;
/** Tests for the SettingsHelperTest */
@RunWith(AndroidJUnit4.class)
public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
-
+ private static final Uri TEST_URI = Uri.EMPTY;
private static final String TEST_DISPLAY_DENSITY_FORCED = "123";
+ private static final String OVERRIDDEN_TEST_SETTING = "overridden_setting";
+ private static final String PRESERVED_TEST_SETTING = "preserved_setting";
+ private static final Map<String, String> DEVICE_SPECIFIC_TEST_VALUES = new HashMap<>();
private static final Map<String, String> TEST_VALUES = new HashMap<>();
+ private static final Map<String, Validator> TEST_VALUES_VALIDATORS = new HashMap<>();
static {
- TEST_VALUES.put(Settings.Secure.DISPLAY_DENSITY_FORCED, TEST_DISPLAY_DENSITY_FORCED);
+ DEVICE_SPECIFIC_TEST_VALUES.put(Settings.Secure.DISPLAY_DENSITY_FORCED,
+ TEST_DISPLAY_DENSITY_FORCED);
+
+ TEST_VALUES.put(OVERRIDDEN_TEST_SETTING, "123");
+ TEST_VALUES.put(PRESERVED_TEST_SETTING, "124");
+
+ TEST_VALUES_VALIDATORS.put(OVERRIDDEN_TEST_SETTING,
+ SettingsValidators.ANY_STRING_VALIDATOR);
+ TEST_VALUES_VALIDATORS.put(PRESERVED_TEST_SETTING, SettingsValidators.ANY_STRING_VALIDATOR);
}
private TestFriendlySettingsBackupAgent mAgentUnderTest;
@@ -83,14 +98,15 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
byte[] settingsBackup = mAgentUnderTest.getDeviceSpecificConfiguration();
- assertEquals("Not all values backed up.", TEST_VALUES.keySet(), helper.mReadEntries);
+ assertEquals("Not all values backed up.", DEVICE_SPECIFIC_TEST_VALUES.keySet(), helper.mReadEntries);
mAgentUnderTest.restoreDeviceSpecificConfig(
settingsBackup,
R.array.restore_blocked_device_specific_settings,
+ Collections.emptySet(),
Collections.emptySet());
- assertEquals("Not all values were restored.", TEST_VALUES, helper.mWrittenValues);
+ assertEquals("Not all values were restored.", DEVICE_SPECIFIC_TEST_VALUES, helper.mWrittenValues);
}
@Test
@@ -100,12 +116,13 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
byte[] settingsBackup = mAgentUnderTest.getDeviceSpecificConfiguration();
- assertEquals("Not all values backed up.", TEST_VALUES.keySet(), helper.mReadEntries);
- mAgentUnderTest.setBlockedSettings(TEST_VALUES.keySet().toArray(new String[0]));
+ assertEquals("Not all values backed up.", DEVICE_SPECIFIC_TEST_VALUES.keySet(), helper.mReadEntries);
+ mAgentUnderTest.setBlockedSettings(DEVICE_SPECIFIC_TEST_VALUES.keySet().toArray(new String[0]));
mAgentUnderTest.restoreDeviceSpecificConfig(
settingsBackup,
R.array.restore_blocked_device_specific_settings,
+ Collections.emptySet(),
Collections.emptySet());
assertTrue("Not all values were blocked.", helper.mWrittenValues.isEmpty());
@@ -172,9 +189,50 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
mAgentUnderTest.restoreDeviceSpecificConfig(
data,
R.array.restore_blocked_device_specific_settings,
+ Collections.emptySet(),
Collections.emptySet()));
}
+ @Test
+ public void testOnRestore_preservedSettingsAreNotRestored() {
+ SettingsBackupAgent.SettingsBackupWhitelist whitelist =
+ new SettingsBackupAgent.SettingsBackupWhitelist(
+ new String[] { OVERRIDDEN_TEST_SETTING, PRESERVED_TEST_SETTING },
+ TEST_VALUES_VALIDATORS);
+ mAgentUnderTest.setSettingsWhitelist(whitelist);
+ mAgentUnderTest.setBlockedSettings();
+ TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext);
+ mAgentUnderTest.mSettingsHelper = settingsHelper;
+
+ byte[] backupData = generateBackupData(TEST_VALUES);
+ mAgentUnderTest.restoreSettings(backupData, /* pos */ 0, backupData.length, TEST_URI, new HashSet<>(),
+ Collections.emptySet(), /* blockedSettingsArrayId */ 0, Collections.emptySet(),
+ new HashSet<>(Collections.singletonList(SettingsBackupAgent.getQualifiedKeyForSetting(PRESERVED_TEST_SETTING, TEST_URI))));
+
+ assertTrue(settingsHelper.mWrittenValues.containsKey(OVERRIDDEN_TEST_SETTING));
+ assertFalse(settingsHelper.mWrittenValues.containsKey(PRESERVED_TEST_SETTING));
+ }
+
+ private byte[] generateBackupData(Map<String, String> keyValueData) {
+ int totalBytes = 0;
+ for (String key : keyValueData.keySet()) {
+ totalBytes += 2 * Integer.BYTES + key.getBytes().length
+ + keyValueData.get(key).getBytes().length;
+ }
+
+ ByteBuffer buffer = ByteBuffer.allocate(totalBytes);
+ for (String key : keyValueData.keySet()) {
+ byte[] keyBytes = key.getBytes();
+ byte[] valueBytes = keyValueData.get(key).getBytes();
+ buffer.putInt(keyBytes.length);
+ buffer.put(keyBytes);
+ buffer.putInt(valueBytes.length);
+ buffer.put(valueBytes);
+ }
+
+ return buffer.array();
+ }
+
private byte[] generateUncorruptedHeader() throws IOException {
try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
mAgentUnderTest.writeHeader(os);
@@ -219,6 +277,7 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
private static class TestFriendlySettingsBackupAgent extends SettingsBackupAgent {
private Boolean mForcedDeviceInfoRestoreAcceptability = null;
private String[] mBlockedSettings = null;
+ private SettingsBackupWhitelist mSettingsWhitelist = null;
void setForcedDeviceInfoRestoreAcceptability(boolean value) {
mForcedDeviceInfoRestoreAcceptability = value;
@@ -228,6 +287,10 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
mBlockedSettings = blockedSettings;
}
+ void setSettingsWhitelist(SettingsBackupWhitelist settingsWhitelist) {
+ mSettingsWhitelist = settingsWhitelist;
+ }
+
@Override
protected Set<String> getBlockedSettings(int blockedSettingsArrayId) {
return mBlockedSettings == null
@@ -241,6 +304,15 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
? super.isSourceAcceptable(data, pos)
: mForcedDeviceInfoRestoreAcceptability;
}
+
+ @Override
+ SettingsBackupWhitelist getBackupWhitelist(Uri contentUri) {
+ if (mSettingsWhitelist == null) {
+ return super.getBackupWhitelist(contentUri);
+ }
+
+ return mSettingsWhitelist;
+ }
}
/** The TestSettingsHelper tracks which values have been backed up and/or restored. */
@@ -257,7 +329,7 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest {
@Override
public String onBackupValue(String key, String value) {
mReadEntries.add(key);
- String readValue = TEST_VALUES.get(key);
+ String readValue = DEVICE_SPECIFIC_TEST_VALUES.get(key);
assert readValue != null;
return readValue;
}
diff --git a/packages/SharedStorageBackup/AndroidManifest.xml b/packages/SharedStorageBackup/AndroidManifest.xml
index b8df88eb6133..c821766961f0 100644
--- a/packages/SharedStorageBackup/AndroidManifest.xml
+++ b/packages/SharedStorageBackup/AndroidManifest.xml
@@ -20,6 +20,7 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
+ <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<application android:allowClearUserData="false"
android:permission="android.permission.CONFIRM_FULL_BACKUP"
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index d40e7d4addab..6a89b71be897 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -91,6 +91,7 @@
<uses-permission android:name="android.permission.TEST_MANAGE_ROLLBACKS" />
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
+ <uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.POWER_SAVER" />
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER" />
@@ -110,6 +111,7 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
+ <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="android.permission.CREATE_USERS" />
@@ -218,6 +220,9 @@
<!-- Permission required for CTS test - CrossProfileAppsHostSideTest -->
<uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES"/>
+ <!-- permissions required for CTS test - PhoneStateListenerTest -->
+ <uses-permission android:name="android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH" />
+
<!-- Permission required for CTS test - UiModeManagerTest -->
<uses-permission android:name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/>
@@ -239,6 +244,9 @@
<!-- Allows setting brightness from the shell -->
<uses-permission android:name="android.permission.CONTROL_DISPLAY_BRIGHTNESS"/>
+ <!-- Permission required for CTS test - ShortcutManagerUsageTest -->
+ <uses-permission android:name="android.permission.ACCESS_SHORTCUTS"/>
+
<!-- Permissions required to test ambient display. -->
<uses-permission android:name="android.permission.READ_DREAM_STATE"/>
<uses-permission android:name="android.permission.WRITE_DREAM_STATE"/>
@@ -246,6 +254,9 @@
<!-- Permission required for CTS test - CtsLightsManagerTest -->
<uses-permission android:name="android.permission.CONTROL_DEVICE_LIGHTS" />
+ <!-- Permission needed to test mainline permission module rollback -->
+ <uses-permission android:name="android.permission.UPGRADE_RUNTIME_PERMISSIONS" />
+
<application android:label="@string/app_label"
android:theme="@android:style/Theme.DeviceDefault.DayNight"
android:defaultToDeviceProtectedStorage="true"
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index c238d7d49f9b..de174b13a459 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -69,10 +69,6 @@ android_library {
],
manifest: "AndroidManifest.xml",
- libs: [
- "telephony-common",
- ],
-
kotlincflags: ["-Xjvm-default=enable"],
plugins: ["dagger2-compiler-2.19"],
@@ -136,7 +132,6 @@ android_library {
],
libs: [
"android.test.runner",
- "telephony-common",
"android.test.base",
],
kotlincflags: ["-Xjvm-default=enable"],
@@ -163,10 +158,6 @@ android_app {
proguard_flags_files: ["proguard.flags"],
},
- libs: [
- "telephony-common",
- ],
-
kotlincflags: ["-Xjvm-default=enable"],
dxflags: ["--multi-dex"],
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 6aeb0a159bea..149eaf47b97d 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -35,6 +35,7 @@
<!-- Used to read storage for all users -->
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
+ <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INJECT_EVENTS" />
@@ -645,6 +646,7 @@
android:label="Controls Providers"
android:theme="@style/Theme.SystemUI"
android:exported="true"
+ android:showForAllUsers="true"
android:excludeFromRecents="true"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
android:visibleToInstantApps="true">
@@ -654,6 +656,7 @@
android:parentActivityName=".controls.management.ControlsProviderSelectorActivity"
android:theme="@style/Theme.SystemUI"
android:excludeFromRecents="true"
+ android:showForAllUsers="true"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
android:visibleToInstantApps="true">
</activity>
diff --git a/packages/SystemUI/TEST_MAPPING b/packages/SystemUI/TEST_MAPPING
index 9f13a7b861a0..cff958faa7e1 100644
--- a/packages/SystemUI/TEST_MAPPING
+++ b/packages/SystemUI/TEST_MAPPING
@@ -16,5 +16,24 @@
}
]
}
+ ],
+ "platinum-postsubmit": [
+ {
+ "name": "PlatformScenarioTests",
+ "options": [
+ {
+ "include-filter": "android.platform.test.scenario.sysui"
+ },
+ {
+ "include-annotation": "android.platform.test.scenario.annotation.Scenario"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ },
+ {
+ "exclude-annotation": "android.platform.helpers.Staging"
+ }
+ ]
+ }
]
}
diff --git a/packages/SystemUI/docs/plugin_hooks.md b/packages/SystemUI/docs/plugin_hooks.md
index 2fb0c996111a..9fe2e181971a 100644
--- a/packages/SystemUI/docs/plugin_hooks.md
+++ b/packages/SystemUI/docs/plugin_hooks.md
@@ -56,11 +56,6 @@ Expected interface: [ClockPlugin](/packages/SystemUI/plugin/src/com/android/syst
Use: Allows replacement of the keyguard main clock.
-### Action: com.android.systemui.action.PLUGIN_NPV
-Expected interface: [NPVPlugin](/packages/SystemUI/plugin/src/com/android/systemui/plugins/NPVPlugin.java)
-
-Use: Attach a view under QQS for prototyping.
-
# Global plugin dependencies
These classes can be accessed by any plugin using PluginDependency as long as they @Requires them.
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/HomeControlsPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/HomeControlsPlugin.java
deleted file mode 100644
index c1d4b03b6620..000000000000
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/HomeControlsPlugin.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.plugins;
-
-import android.view.ViewGroup;
-
-import com.android.systemui.plugins.annotations.ProvidesInterface;
-
-/**
- * Test plugin for home controls
- */
-@ProvidesInterface(action = HomeControlsPlugin.ACTION, version = HomeControlsPlugin.VERSION)
-public interface HomeControlsPlugin extends Plugin {
-
- String ACTION = "com.android.systemui.action.PLUGIN_HOME_CONTROLS";
- int VERSION = 1;
-
- /**
- * Pass the container for the plugin to use however it wants. Ideally the plugin impl
- * will add home controls to this space.
- */
- void sendParentGroup(ViewGroup group);
-
- /**
- * When visible, will poll for updates.
- */
- void setVisible(boolean visible);
-}
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/NPVPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/NPVPlugin.java
deleted file mode 100644
index 1426266a7048..000000000000
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/NPVPlugin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.plugins;
-
-import android.view.View;
-import android.widget.FrameLayout;
-
-import com.android.systemui.plugins.annotations.ProvidesInterface;
-
-/**
- * Plugin to attach custom views under QQS.
- *
- * A parent view is provided to the plugin to which they can add Views.
- * <br>
- * The parent is a {@link FrameLayout} with same background as QS and 96dp height.
- *
- * {@see NPVPluginManager}
- * {@see status_bar_expanded_plugin_frame}
- */
-@ProvidesInterface(action = NPVPlugin.ACTION, version = NPVPlugin.VERSION)
-public interface NPVPlugin extends Plugin {
- String ACTION = "com.android.systemui.action.PLUGIN_NPV";
- int VERSION = 1;
-
- /**
- * Attach views to the parent.
- *
- * @param parent a {@link FrameLayout} to which to attach views. Preferably a root view.
- * @return a view attached to parent.
- */
- View attachToRoot(FrameLayout parent);
-
- /**
- * Indicate to the plugin when it is listening (QS expanded)
- * @param listening
- */
- default void setListening(boolean listening) {};
-}
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
index 6518924ca0c2..01811e9cdced 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
@@ -14,9 +14,6 @@
package com.android.systemui.plugins.qs;
-import static java.lang.annotation.RetentionPolicy.SOURCE;
-
-import android.annotation.IntDef;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.metrics.LogMaker;
@@ -28,7 +25,6 @@ import com.android.systemui.plugins.qs.QSTile.Callback;
import com.android.systemui.plugins.qs.QSTile.Icon;
import com.android.systemui.plugins.qs.QSTile.State;
-import java.lang.annotation.Retention;
import java.util.Objects;
import java.util.function.Supplier;
@@ -84,17 +80,6 @@ public interface QSTile {
return logMaker;
}
- @Retention(SOURCE)
- @IntDef({COLOR_TILE_ACCENT, COLOR_TILE_RED, COLOR_TILE_BLUE, COLOR_TILE_YELLOW,
- COLOR_TILE_GREEN})
- @interface ColorTile {}
- int COLOR_TILE_ACCENT = 0;
- int COLOR_TILE_RED = 1;
- int COLOR_TILE_BLUE = 2;
- int COLOR_TILE_YELLOW = 3;
- int COLOR_TILE_GREEN = 4;
- default void setColor(@ColorTile int color) {}
-
@ProvidesInterface(version = Callback.VERSION)
public interface Callback {
public static final int VERSION = 1;
@@ -141,7 +126,6 @@ public interface QSTile {
public SlashState slash;
public boolean handlesLongClick = true;
public boolean showRippleEffect = true;
- public int colorActive = -1;
public boolean copyTo(State other) {
if (other == null) throw new IllegalArgumentException();
@@ -161,8 +145,7 @@ public interface QSTile {
|| !Objects.equals(other.dualTarget, dualTarget)
|| !Objects.equals(other.slash, slash)
|| !Objects.equals(other.handlesLongClick, handlesLongClick)
- || !Objects.equals(other.showRippleEffect, showRippleEffect)
- || !Objects.equals(other.colorActive, colorActive);
+ || !Objects.equals(other.showRippleEffect, showRippleEffect);
other.icon = icon;
other.iconSupplier = iconSupplier;
other.label = label;
@@ -177,7 +160,6 @@ public interface QSTile {
other.slash = slash != null ? slash.copy() : null;
other.handlesLongClick = handlesLongClick;
other.showRippleEffect = showRippleEffect;
- other.colorActive = colorActive;
return changed;
}
diff --git a/packages/SystemUI/proguard.flags b/packages/SystemUI/proguard.flags
index 3e74970ee725..2a2ba1b0ccaa 100644
--- a/packages/SystemUI/proguard.flags
+++ b/packages/SystemUI/proguard.flags
@@ -16,6 +16,7 @@
-keep class com.android.systemui.statusbar.tv.TvStatusBar
-keep class com.android.systemui.car.CarSystemUIFactory
-keep class com.android.systemui.SystemUIFactory
+-keep class com.android.systemui.tv.TvSystemUIFactory
-keep class * extends com.android.systemui.SystemUI
-keep class * implements com.android.systemui.SystemUI$Injector
diff --git a/packages/SystemUI/res-product/values-ky/strings.xml b/packages/SystemUI/res-product/values-ky/strings.xml
index 8d96cb26bf30..043faeeaf89a 100644
--- a/packages/SystemUI/res-product/values-ky/strings.xml
+++ b/packages/SystemUI/res-product/values-ky/strings.xml
@@ -26,18 +26,18 @@
<string name="keyguard_missing_sim_message" product="tablet" msgid="5018086454277963787">"Планшетте SIM-карта жок."</string>
<string name="keyguard_missing_sim_message" product="default" msgid="7053347843877341391">"Телефондо SIM-карта жок."</string>
<string name="kg_invalid_confirm_pin_hint" product="default" msgid="6278551068943958651">"PIN-коддор дал келген жок"</string>
- <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="302165994845009232">"Планшеттин кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул планшет баштапкы абалга келтирилип, андагы бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="2594813176164266847">"Телефондун кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул телефон баштапкы абалга келтирилип, андагы бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="8710104080409538587">"Планшеттин кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Бул планшет баштапкы абалга келтирилип, андагы бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_now_wiping" product="default" msgid="6381835450014881813">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес аракет жасадыңыз. Бул телефон баштапкы абалга келтирилип, андагы бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="7325071812832605911">"Планшеттин кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы жок кылынат."</string>
- <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="8110939900089863103">"Телефондун кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы жок кылынат."</string>
- <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="8509811676952707883">"Планшеттин кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы жок кылынат."</string>
- <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="3051962486994265014">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы жок кылынат."</string>
- <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="1049523640263353830">"Планшетиңиздин кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, жумуш профилиңиз өчүрүлүп, профилдеги бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="3280816298678433681">"Телефондун кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, жумуш профилиңиз өчүрүлүп, профилдеги бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4417100487251371559">"Планшеттин кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Жумуш профили өчүрүлүп, андагы бардык маалымат жок кылынат."</string>
- <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Жумуш профили өчүрүлүп, андагы бардык маалымат жок кылынат."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="302165994845009232">"Планшеттин кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул планшет баштапкы абалга келтирилип, андагы бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="2594813176164266847">"Телефондун кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул телефон баштапкы абалга келтирилип, андагы бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="8710104080409538587">"Планшеттин кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Бул планшет баштапкы абалга келтирилип, андагы бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_now_wiping" product="default" msgid="6381835450014881813">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес аракет жасадыңыз. Бул телефон баштапкы абалга келтирилип, андагы бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="7325071812832605911">"Планшеттин кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы өчүрүлөт."</string>
+ <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="8110939900089863103">"Телефондун кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы өчүрүлөт."</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="8509811676952707883">"Планшеттин кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы өчүрүлөт."</string>
+ <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="3051962486994265014">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Бул колдонуучу өчүрүлүп, колдонуучунун бардык маалыматы өчүрүлөт."</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="1049523640263353830">"Планшетиңиздин кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, жумуш профилиңиз өчүрүлүп, профилдеги бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="3280816298678433681">"Телефондун кулпусун <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> жолу ийгиликсиз аракет кылсаңыз, жумуш профилиңиз өчүрүлүп, профилдеги бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4417100487251371559">"Планшеттин кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Жумуш профили өчүрүлүп, андагы бардык маалымат өчүрүлөт."</string>
+ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Жумуш профили өчүрүлүп, андагы бардык маалымат өчүрүлөт."</string>
<string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Графикалык ачкычты <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес тарттыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> ийгиликсиз аракеттен кийин планшетиңизди бөгөттөн электрондук почтаңыз аркылуу чыгаруу талап кылынат.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секунддан кийин кайра аракеттениңиз."</string>
<string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Графикалык ачкычты <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес тарттыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> ийгиликсиз аракеттен кийин телефонуңузду бөгөттөн электрондук почтаңыз аркылуу чыгаруу талап кылынат.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секунддан кийин кайра аракеттениңиз."</string>
</resources>
diff --git a/packages/SystemUI/res/color/lock_background.xml b/packages/SystemUI/res/color/control_background.xml
index 646fe5dfe712..646fe5dfe712 100644
--- a/packages/SystemUI/res/color/lock_background.xml
+++ b/packages/SystemUI/res/color/control_background.xml
diff --git a/packages/SystemUI/res/color/unknown_foreground.xml b/packages/SystemUI/res/color/control_foreground.xml
index bf028f18a7de..bf028f18a7de 100644
--- a/packages/SystemUI/res/color/unknown_foreground.xml
+++ b/packages/SystemUI/res/color/control_foreground.xml
diff --git a/packages/SystemUI/res/color/thermo_cool_background.xml b/packages/SystemUI/res/color/thermo_cool_background.xml
new file mode 100644
index 000000000000..646fe5dfe712
--- /dev/null
+++ b/packages/SystemUI/res/color/thermo_cool_background.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false"
+ android:color="@color/control_default_background" />
+ <item android:color="@color/GM2_blue_50" />
+</selector>
diff --git a/packages/SystemUI/res/color/thermo_cool_foreground.xml b/packages/SystemUI/res/color/thermo_cool_foreground.xml
new file mode 100644
index 000000000000..bf028f18a7de
--- /dev/null
+++ b/packages/SystemUI/res/color/thermo_cool_foreground.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false"
+ android:color="@color/control_default_foreground" />
+ <item android:color="@color/GM2_blue_700" />
+ </selector>
diff --git a/packages/SystemUI/res/color/thermo_heat_background.xml b/packages/SystemUI/res/color/thermo_heat_background.xml
new file mode 100644
index 000000000000..6f29ed5f60ac
--- /dev/null
+++ b/packages/SystemUI/res/color/thermo_heat_background.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_enabled="false"
+ android:color="@color/control_default_background" />
+ <item android:color="@color/GM2_red_50" />
+</selector>
diff --git a/packages/SystemUI/res/color/lock_foreground.xml b/packages/SystemUI/res/color/thermo_heat_foreground.xml
index 3e05653bce92..72f4b8d13458 100644
--- a/packages/SystemUI/res/color/lock_foreground.xml
+++ b/packages/SystemUI/res/color/thermo_heat_foreground.xml
@@ -2,5 +2,5 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:color="@color/control_default_foreground" />
- <item android:color="@color/GM2_blue_700" />
+ <item android:color="@color/GM2_red_700" />
</selector>
diff --git a/packages/SystemUI/res/drawable/auth_dialog_enterprise.xml b/packages/SystemUI/res/drawable/auth_dialog_enterprise.xml
new file mode 100644
index 000000000000..c547c52a4077
--- /dev/null
+++ b/packages/SystemUI/res/drawable/auth_dialog_enterprise.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24.0"
+ android:viewportHeight="24.0">
+ <path
+ android:pathData="M20,6h-4L16,4c0,-1.11 -0.89,-2 -2,-2h-4c-1.11,0 -2,0.89 -2,2v2L4,6c-1.11,0 -1.99,0.89 -1.99,2L2,19c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM12,15c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM14,6h-4L10,4h4v2z"
+ android:fillColor="?android:attr/colorAccent"/>
+</vector> \ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/control_no_favorites_background.xml b/packages/SystemUI/res/drawable/control_no_favorites_background.xml
index 1e282ad0eec7..947c77b4e39e 100644
--- a/packages/SystemUI/res/drawable/control_no_favorites_background.xml
+++ b/packages/SystemUI/res/drawable/control_no_favorites_background.xml
@@ -17,6 +17,6 @@
*/
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
- <stroke android:width="1dp" android:color="?android:attr/colorBackgroundFloating"/>
+ <stroke android:width="1dp" android:color="@*android:color/foreground_material_dark"/>
<corners android:radius="@dimen/control_corner_radius" />
</shape>
diff --git a/packages/SystemUI/res/drawable/qs_media_background.xml b/packages/SystemUI/res/drawable/qs_media_background.xml
new file mode 100644
index 000000000000..2821e4c28bab
--- /dev/null
+++ b/packages/SystemUI/res/drawable/qs_media_background.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <solid android:color="?android:attr/colorBackgroundFloating" />
+ <corners
+ android:bottomLeftRadius="@dimen/qs_media_corner_radius"
+ android:topLeftRadius="@dimen/qs_media_corner_radius"
+ android:bottomRightRadius="@dimen/qs_media_corner_radius"
+ android:topRightRadius="@dimen/qs_media_corner_radius"
+ />
+</shape> \ No newline at end of file
diff --git a/packages/SystemUI/res/layout-land/auth_credential_pattern_view.xml b/packages/SystemUI/res/layout-land/auth_credential_pattern_view.xml
index c3fa39e5a87f..c40e47df9a55 100644
--- a/packages/SystemUI/res/layout-land/auth_credential_pattern_view.xml
+++ b/packages/SystemUI/res/layout-land/auth_credential_pattern_view.xml
@@ -34,20 +34,15 @@
android:layout_weight="1"/>
<ImageView
- android:layout_width="32dp"
- android:layout_height="32dp"
- android:background="@drawable/auth_dialog_lock"/>
+ android:id="@+id/icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
<TextView
android:id="@+id/title"
- android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginTop="12dp"
- android:textSize="20sp"
- android:gravity="center"
- android:textColor="?android:attr/textColorPrimary"/>
+ style="@style/TextAppearance.AuthCredential.Title"/>
<TextView
android:id="@+id/subtitle"
@@ -63,17 +58,41 @@
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginTop="8dp"
- android:gravity="center"
- android:textSize="16sp"
- android:textColor="?android:attr/textColorPrimary"/>
+ style="@style/TextAppearance.AuthCredential.Description"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:gravity="center"
+ android:paddingLeft="0dp"
+ android:paddingRight="0dp"
+ android:paddingTop="0dp"
+ android:paddingBottom="16dp"
+ android:clipToPadding="false">
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ style="@style/LockPatternContainerStyle">
+
+ <com.android.internal.widget.LockPatternView
+ android:id="@+id/lockPattern"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ style="@style/LockPatternStyleBiometricPrompt"/>
+
+ </FrameLayout>
+
<TextView
android:id="@+id/error"
android:layout_width="match_parent"
@@ -90,24 +109,4 @@
</LinearLayout>
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_weight="1"
- android:orientation="vertical"
- android:gravity="center">
-
- <com.android.internal.widget.LockPatternView
- android:id="@+id/lockPattern"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="40dp"
- android:layout_marginRight="40dp"
- android:layout_gravity="center"
- android:clipChildren="false"
- android:clipToPadding="false"
- style="@style/LockPatternStyleBiometricPrompt"/>
-
- </LinearLayout>
-
</com.android.systemui.biometrics.AuthCredentialPatternView> \ No newline at end of file
diff --git a/packages/SystemUI/res/layout/auth_credential_password_view.xml b/packages/SystemUI/res/layout/auth_credential_password_view.xml
index 4aed0333e9ca..a1c593fa455c 100644
--- a/packages/SystemUI/res/layout/auth_credential_password_view.xml
+++ b/packages/SystemUI/res/layout/auth_credential_password_view.xml
@@ -28,20 +28,15 @@
android:layout_weight="1"/>
<ImageView
- android:layout_width="32dp"
- android:layout_height="32dp"
- android:background="@drawable/auth_dialog_lock"/>
+ android:id="@+id/icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
<TextView
android:id="@+id/title"
- android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginTop="12dp"
- android:textSize="20sp"
- android:gravity="center"
- android:textColor="?android:attr/textColorPrimary"/>
+ style="@style/TextAppearance.AuthCredential.Title"/>
<TextView
android:id="@+id/subtitle"
@@ -57,11 +52,7 @@
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginTop="8dp"
- android:gravity="center"
- android:textSize="16sp"
- android:textColor="?android:attr/textColorPrimary"/>
+ style="@style/TextAppearance.AuthCredential.Description"/>
<Space
android:layout_width="0dp"
@@ -79,19 +70,14 @@
<EditText
android:id="@+id/lockPassword"
- android:layout_marginBottom="20dp"
- android:layout_marginLeft="100dp"
- android:layout_marginRight="100dp"
android:layout_width="208dp"
android:layout_height="wrap_content"
- android:layout_gravity="center"
+ android:layout_gravity="center_horizontal"
android:gravity="center"
android:inputType="textPassword"
android:maxLength="500"
- android:textSize="16sp"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:imeOptions="flagForceAscii"
- style="@style/LockPatternStyleBiometricPrompt"/>
+ android:imeOptions="actionNext|flagNoFullscreen|flagForceAscii"
+ style="@style/TextAppearance.AuthCredential.PasswordEntry"/>
<Space
android:layout_width="0dp"
diff --git a/packages/SystemUI/res/layout/auth_credential_pattern_view.xml b/packages/SystemUI/res/layout/auth_credential_pattern_view.xml
index c9edcd606277..eda5ecbf7f8c 100644
--- a/packages/SystemUI/res/layout/auth_credential_pattern_view.xml
+++ b/packages/SystemUI/res/layout/auth_credential_pattern_view.xml
@@ -28,20 +28,15 @@
android:layout_weight="1"/>
<ImageView
- android:layout_width="32dp"
- android:layout_height="32dp"
- android:background="@drawable/auth_dialog_lock"/>
+ android:id="@+id/icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
<TextView
android:id="@+id/title"
- android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginTop="12dp"
- android:textSize="20sp"
- android:gravity="center"
- android:textColor="?android:attr/textColorPrimary"/>
+ style="@style/TextAppearance.AuthCredential.Title"/>
<TextView
android:id="@+id/subtitle"
@@ -57,37 +52,49 @@
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:layout_marginTop="8dp"
- android:gravity="center"
- android:textSize="16sp"
- android:textColor="?android:attr/textColorPrimary"/>
+ style="@style/TextAppearance.AuthCredential.Description"/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
- android:layout_weight="3"/>
+ android:layout_weight="1"/>
- <TextView
- android:id="@+id/error"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="24dp"
- android:textSize="16sp"
+ android:orientation="vertical"
android:gravity="center"
- android:textColor="?android:attr/colorError"/>
+ android:paddingLeft="0dp"
+ android:paddingRight="0dp"
+ android:paddingTop="0dp"
+ android:paddingBottom="16dp"
+ android:clipToPadding="false">
- <com.android.internal.widget.LockPatternView
- android:id="@+id/lockPattern"
- android:layout_marginBottom="20dp"
- android:layout_marginLeft="40dp"
- android:layout_marginRight="40dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:clipChildren="false"
- android:clipToPadding="false"
- style="@style/LockPatternStyleBiometricPrompt"/>
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ style="@style/LockPatternContainerStyle">
+
+ <com.android.internal.widget.LockPatternView
+ android:id="@+id/lockPattern"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ style="@style/LockPatternStyleBiometricPrompt"/>
+
+ </FrameLayout>
+
+ <TextView
+ android:id="@+id/error"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="24dp"
+ android:textSize="16sp"
+ android:gravity="center"
+ android:textColor="?android:attr/colorError"/>
+
+ </LinearLayout>
<Space
android:layout_width="0dp"
diff --git a/packages/SystemUI/res/layout/controls_base_item.xml b/packages/SystemUI/res/layout/controls_base_item.xml
index 3c4c61e30bc1..cd7ec5eb5c81 100644
--- a/packages/SystemUI/res/layout/controls_base_item.xml
+++ b/packages/SystemUI/res/layout/controls_base_item.xml
@@ -23,8 +23,8 @@
android:padding="@dimen/control_padding"
android:clickable="true"
android:focusable="true"
- android:layout_marginLeft="3dp"
- android:layout_marginRight="3dp"
+ android:layout_marginLeft="2dp"
+ android:layout_marginRight="2dp"
android:background="@drawable/control_background">
<ImageView
@@ -60,9 +60,9 @@
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textSize="18sp"
+ android:textSize="14sp"
android:textColor="?android:attr/textColorPrimary"
- android:fontFamily="@*android:string/config_headlineFontFamily"
+ android:textAppearance="?android:attr/textAppearanceSmall"
app:layout_constraintBottom_toTopOf="@+id/subtitle"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/icon" />
@@ -71,9 +71,9 @@
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textSize="16sp"
+ android:textSize="12sp"
android:textColor="?android:attr/textColorSecondary"
- android:fontFamily="@*android:string/config_headlineFontFamily"
+ android:textAppearance="?android:attr/textAppearanceSmall"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/packages/SystemUI/res/layout/controls_no_favorites.xml b/packages/SystemUI/res/layout/controls_no_favorites.xml
index 79672caed61b..096f1f49aaba 100644
--- a/packages/SystemUI/res/layout/controls_no_favorites.xml
+++ b/packages/SystemUI/res/layout/controls_no_favorites.xml
@@ -12,7 +12,7 @@
android:paddingBottom="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
- android:textColor="?android:attr/textColorPrimary"
+ android:textColor="@*android:color/foreground_material_dark"
android:fontFamily="@*android:string/config_headlineFontFamily"
android:background="@drawable/control_no_favorites_background"/>
</merge>
diff --git a/packages/SystemUI/res/layout/controls_with_favorites.xml b/packages/SystemUI/res/layout/controls_with_favorites.xml
index 7804fe6b6272..6a3e95d34358 100644
--- a/packages/SystemUI/res/layout/controls_with_favorites.xml
+++ b/packages/SystemUI/res/layout/controls_with_favorites.xml
@@ -4,7 +4,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="wrap_content"
+ android:paddingBottom="20dp">
<TextView
android:text="@string/quick_controls_title"
@@ -13,17 +14,23 @@
android:singleLine="true"
android:gravity="center"
android:textSize="25dp"
- android:textColor="?android:attr/textColorPrimary"
+ android:textColor="@*android:color/foreground_material_dark"
android:fontFamily="@*android:string/config_headlineFontFamily"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"/>
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
<ImageView
android:id="@+id/controls_more"
android:src="@drawable/ic_more_vert"
android:layout_width="34dp"
android:layout_height="24dp"
android:layout_marginEnd="10dp"
- app:layout_constraintEnd_toEndOf="parent"/>
+ android:tint="@*android:color/foreground_material_dark"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/packages/SystemUI/res/layout/global_actions_grid_v2.xml b/packages/SystemUI/res/layout/global_actions_grid_v2.xml
index 674148495478..f90012d790e0 100644
--- a/packages/SystemUI/res/layout/global_actions_grid_v2.xml
+++ b/packages/SystemUI/res/layout/global_actions_grid_v2.xml
@@ -96,18 +96,18 @@
app:layout_constraintTop_toBottomOf="@id/global_actions_view">
<FrameLayout
- android:translationY="@dimen/global_actions_plugin_offset"
android:id="@+id/global_actions_panel_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
- android:translationY="@dimen/global_actions_plugin_offset"
android:id="@+id/global_actions_controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
+ android:layout_marginRight="@dimen/global_actions_grid_horizontal_padding"
+ android:layout_marginLeft="@dimen/global_actions_grid_horizontal_padding"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/global_actions_panel">
diff --git a/packages/SystemUI/res/layout/home_controls.xml b/packages/SystemUI/res/layout/home_controls.xml
deleted file mode 100644
index 69a0e872dc8c..000000000000
--- a/packages/SystemUI/res/layout/home_controls.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/home_controls_layout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="@integer/notification_panel_layout_gravity"
- android:visibility="gone"
- android:padding="8dp"
- android:layout_margin="5dp"
- android:background="?android:attr/colorBackgroundFloating">
-</FrameLayout>
diff --git a/packages/SystemUI/res/layout/media_carousel.xml b/packages/SystemUI/res/layout/media_carousel.xml
index e91f840fe238..149446c55fc5 100644
--- a/packages/SystemUI/res/layout/media_carousel.xml
+++ b/packages/SystemUI/res/layout/media_carousel.xml
@@ -19,7 +19,7 @@
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="@dimen/qs_media_height"
+ android:layout_height="wrap_content"
android:padding="@dimen/qs_media_padding"
android:scrollbars="none"
android:visibility="gone"
diff --git a/packages/SystemUI/res/layout/qqs_media_panel.xml b/packages/SystemUI/res/layout/qqs_media_panel.xml
index 1189371fc7f1..403b5dc3a427 100644
--- a/packages/SystemUI/res/layout/qqs_media_panel.xml
+++ b/packages/SystemUI/res/layout/qqs_media_panel.xml
@@ -23,20 +23,25 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
- android:padding="10dp"
+ android:paddingTop="16dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:paddingBottom="12dp"
+ android:background="@drawable/qs_media_background"
>
- <!-- Top line: icon + artist name -->
+ <!-- Top line: icon + song name -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clipChildren="false"
android:gravity="center"
+ android:layout_marginBottom="12dp"
>
<com.android.internal.widget.CachingIconView
android:id="@+id/icon"
- android:layout_width="15dp"
- android:layout_height="15dp"
+ android:layout_width="14dp"
+ android:layout_height="14dp"
android:layout_marginEnd="5dp"
/>
<TextView
@@ -48,15 +53,6 @@
/>
</LinearLayout>
- <!-- Second line: song name -->
- <TextView
- android:id="@+id/header_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:fontFamily="@*android:string/config_bodyFontFamily"
- android:gravity="center"/>
-
<!-- Bottom section: controls -->
<LinearLayout
android:id="@+id/media_actions"
@@ -70,8 +66,6 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action0"
@@ -80,8 +74,6 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action1"
@@ -90,8 +82,6 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action2"
diff --git a/packages/SystemUI/res/layout/qs_footer_impl.xml b/packages/SystemUI/res/layout/qs_footer_impl.xml
index a02962e5e1e6..0c9ce3938420 100644
--- a/packages/SystemUI/res/layout/qs_footer_impl.xml
+++ b/packages/SystemUI/res/layout/qs_footer_impl.xml
@@ -130,9 +130,10 @@
</LinearLayout>
<View
android:id="@+id/qs_drag_handle_view"
- android:layout_width="24dp"
+ android:layout_width="48dp"
android:layout_height="4dp"
- android:layout_marginBottom="16dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
android:layout_gravity="center_horizontal|bottom"
android:background="@drawable/qs_footer_drag_handle" />
diff --git a/packages/SystemUI/res/layout/qs_media_panel.xml b/packages/SystemUI/res/layout/qs_media_panel.xml
index dd422766c153..22303dc1d8d2 100644
--- a/packages/SystemUI/res/layout/qs_media_panel.xml
+++ b/packages/SystemUI/res/layout/qs_media_panel.xml
@@ -23,50 +23,116 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal|fill_vertical"
- android:padding="10dp"
+ android:padding="16dp"
+ android:background="@drawable/qs_media_background"
>
- <!-- placeholder for notification header -->
+ <!-- Header section -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/header"
- android:padding="3dp"
- android:layout_marginEnd="-12dp"
+ android:layout_marginBottom="16dp"
+ >
+
+ <ImageView
+ android:id="@+id/album_art"
+ android:layout_width="@dimen/qs_media_album_size"
+ android:layout_height="@dimen/qs_media_album_size"
+ android:layout_marginRight="16dp"
+ android:layout_weight="0"
/>
- <!-- Top line: artist name -->
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="0dp"
+ android:layout_height="@dimen/qs_media_album_size"
+ android:layout_weight="1"
>
- <TextView
- android:id="@+id/header_title"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ >
+ <com.android.internal.widget.CachingIconView
+ android:id="@+id/icon"
+ android:layout_width="16dp"
+ android:layout_height="16dp"
+ android:layout_marginEnd="5dp"
+ />
+ <TextView
+ android:id="@+id/app_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:singleLine="true"
+ />
+ </LinearLayout>
+
+ <!-- Song name -->
+ <TextView
+ android:id="@+id/header_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
+ android:textSize="18sp"
+ android:paddingBottom="6dp"
+ android:gravity="center"/>
+
+ <!-- Artist name -->
+ <TextView
+ android:id="@+id/header_artist"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="@*android:string/config_bodyFontFamily"
+ android:textSize="14sp"
+ android:singleLine="true"
+ />
+ </LinearLayout>
+
+ <!-- Output chip -->
+ <LinearLayout
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
- android:singleLine="true"
- />
+ android:orientation="horizontal"
+ android:visibility="gone"
+ android:paddingTop="6dp"
+ android:paddingBottom="6dp"
+ android:paddingLeft="12dp"
+ android:paddingRight="12dp"
+ android:gravity="center"
+ android:id="@+id/media_seamless"
+ android:background="@*android:drawable/media_seamless_background"
+ android:layout_weight="1"
+ >
+ <ImageView
+ android:layout_width="@dimen/qs_seamless_icon_size"
+ android:layout_height="@dimen/qs_seamless_icon_size"
+ android:src="@*android:drawable/ic_media_seamless"
+ android:layout_marginRight="8dp"
+ android:id="@+id/media_seamless_image"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="@*android:string/config_bodyFontFamily"
+ android:text="@*android:string/ext_media_seamless_action"
+ android:textSize="14sp"
+ android:id="@+id/media_seamless_text"
+ android:singleLine="true"
+ />
+ </LinearLayout>
</LinearLayout>
- <!-- Second line: song name -->
- <TextView
- android:id="@+id/header_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:fontFamily="@*android:string/config_bodyFontFamily"
- android:gravity="center"/>
-
- <!-- Bottom section: controls -->
+ <!-- Controls -->
<LinearLayout
android:id="@+id/media_actions"
android:orientation="horizontal"
android:layoutDirection="ltr"
- android:layout_width="wrap_content"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
@@ -74,8 +140,8 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action0"
@@ -84,18 +150,18 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action1"
/>
<ImageButton
style="@android:style/Widget.Material.Button.Borderless.Small"
- android:layout_width="48dp"
- android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
+ android:layout_width="52dp"
+ android:layout_height="52dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action2"
@@ -104,8 +170,8 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action3"
@@ -114,8 +180,8 @@
style="@android:style/Widget.Material.Button.Borderless.Small"
android:layout_width="48dp"
android:layout_height="48dp"
- android:padding="8dp"
- android:layout_marginEnd="2dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginEnd="8dp"
android:gravity="center"
android:visibility="gone"
android:id="@+id/action4"
diff --git a/packages/SystemUI/res/layout/status_bar.xml b/packages/SystemUI/res/layout/status_bar.xml
index 76c1045ef1dd..4fae3c500a45 100644
--- a/packages/SystemUI/res/layout/status_bar.xml
+++ b/packages/SystemUI/res/layout/status_bar.xml
@@ -42,32 +42,6 @@
android:visibility="gone"
/>
- <LinearLayout
- android:id="@+id/divider_container"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="horizontal"
- android:background="@color/transparent" >
-
- <android.widget.Space
- android:layout_height="match_parent"
- android:layout_width="0dp"
- android:layout_weight="@integer/qqs_split_fraction" />
-
- <com.android.systemui.DarkReceiverImpl
- android:id="@+id/divider"
- android:layout_height="match_parent"
- android:layout_width="1dp"
- android:layout_marginTop="4dp"
- android:layout_marginBottom="4dp" />
-
- <android.widget.Space
- android:layout_height="match_parent"
- android:layout_width="0dp"
- android:layout_weight="@integer/qs_split_fraction" />
-
- </LinearLayout>
-
<LinearLayout android:id="@+id/status_bar_contents"
android:layout_width="match_parent"
android:layout_height="match_parent"
diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index 479f255b7e44..115b4a86b86d 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -55,9 +55,6 @@
android:clipChildren="false"
systemui:viewType="com.android.systemui.plugins.qs.QS" />
- <!-- Temporary area to test out home controls -->
- <include layout="@layout/home_controls" />
-
<com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout
android:id="@+id/notification_stack_scroller"
android:layout_marginTop="@dimen/notification_panel_margin_top"
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 4de854314b1a..823685e15807 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoem om skerm te vul"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Strek om skerm te vul"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Skermkiekie"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Prent is ingevoeg"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Stoor tans skermkiekie..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Stoor tans skermkiekie..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Skermkiekie is gestoor"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Begin opname"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Neem stemopname op"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Wys tikke"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tik om te stop"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Laat wag"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Hervat"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Batterybespaarder"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Aan met sonsondergang"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Tot sonsopkoms"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Aan om <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Tot <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is gedeaktiveer"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is geaktiveer"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Skermopname"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Begin"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Stop"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Swiep op om programme te wissel"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Sleep regs om programme vinnig te wissel"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Wissel oorsig"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Pasmaak"</string>
<string name="notification_done" msgid="6215117625922713976">"Klaar"</string>
<string name="inline_undo" msgid="9026953267645116526">"Ontdoen"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Merk hierdie kennisgewing as \"nie \'n gesprek nie\""</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Gunsteling"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Ontmerk as gunsteling"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Demp"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Ontdemp"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Wys as borrel"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Skakel borrels af"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Voeg by tuisskerm"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"kennisgewingkontroles"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"kennisgewing-sluimeropsies"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 87603ac2051a..c3248249ebb6 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ማያ እንዲሞላ አጉላ"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ማያ ለመሙለት ሳብ"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ቅጽበታዊ ገጽ እይታ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ምስል ገብቷል"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ቅጽበታዊ ገጽ እይታ በማስቀመጥ ላይ..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ቅጽበታዊ ገጽ እይታ በማስቀመጥ ላይ..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ቅጽበታዊ ገጽ እይታ ተቀምጧል"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"መቅረጽ ጀምር"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ድምጽን ቅረጽ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"መታ ማድረጎችን አሳይ"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ለማቆም መታ ያድርጉ"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"አቁም"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ባለበት አቁም"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ከቆመበት ቀጥል"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ባትሪ ቆጣቢ"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"ጸሐይ ስትጠልቅ ይበራል"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"ጸሐይ እስክትወጣ ድረስ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> ላይ ይበራል"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"እስከ <xliff:g id="TIME">%s</xliff:g> ድረስ"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"ኤንኤፍሲ"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"ኤንኤፍሲ ተሰናክሏል"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"ኤንኤፍሲ ነቅቷል"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index c764004fddfe..113d705d7f31 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"تكبير/تصغير لملء الشاشة"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"توسيع بملء الشاشة"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"لقطة شاشة"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"تم إدراج الصورة"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"جارٍ حفظ لقطة الشاشة..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"جارٍ حفظ لقطة الشاشة..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"تم حفظ لقطة الشاشة."</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"بدء التسجيل"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"تسجيل التعليق الصوتي"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"عرض النقرات"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"انقر لإيقاف التسجيل"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"إيقاف"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"إيقاف مؤقت"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"استئناف"</string>
@@ -396,15 +398,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"توفير شحن البطارية"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"تفعيل عند غروب الشمس"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"حتى شروق الشمس"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"تفعيل الوضع في <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"حتى <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"‏الاتصالات قصيرة المدى (NFC)"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"تم إيقاف الاتصال القريب المدى"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"تم تفعيل الاتصال القريب المدى"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"تسجيل الشاشة"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"بدء"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"إيقاف"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"مرّر سريعًا لأعلى لتبديل التطبيقات"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"اسحب لليسار للتبديل السريع بين التطبيقات"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"تبديل \"النظرة العامة\""</string>
@@ -708,22 +709,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"تخصيص"</string>
<string name="notification_done" msgid="6215117625922713976">"تم"</string>
<string name="inline_undo" msgid="9026953267645116526">"تراجع"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"تحويل الإشعار من محادثة إلى إشعار عادي"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"المفضّلة"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"إزالة المحادثة من المفضّلة"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"كتم الصوت"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"إعادة الصوت"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"إظهار الإشعار كفقاعة تفسيرية"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"إيقاف الفقاعات التفسيرية"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"إضافة إلى الشاشة الرئيسية"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"عناصر التحكم في الإشعارات"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"خيارات تأجيل الإشعارات"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index 2fc393c6ec68..975d639c2ea4 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"স্ক্ৰীণ পূর্ণ কৰিবলৈ জুম কৰক"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"স্ক্ৰীণ পূর্ণ কৰিবলৈ প্ৰসাৰিত কৰক"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"স্ক্ৰীনশ্বট"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"প্ৰতিচ্ছবি ভৰোৱা হ’ল"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"স্ক্ৰীণশ্বট ছেভ কৰি থকা হৈছে…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"স্ক্ৰীণশ্বট ছেভ কৰি থকা হৈছে…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"স্ক্ৰীণশ্বট ছেভ কৰা হ’ল"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ৰেকৰ্ডিং কৰা আৰম্ভ কৰক"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"পাৰ্শ্ব-ধ্বনি ৰেকৰ্ড কৰক"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"টিপা ঠাইসমূহ দেখুৱাওক"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"বন্ধ কৰিবলৈ টিপক"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"বন্ধ কৰক"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"প\'জ কৰক"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ৰখোৱাৰ পৰা পুনৰ আৰম্ভ কৰক"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"বেটাৰী সঞ্চয়কাৰী"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"সূৰ্যাস্তত অন হয়"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"সূৰ্যোদয়লৈকে"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>ত অন কৰক"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> পৰ্যন্ত"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC নিষ্ক্ৰিয় হৈ আছে"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC সক্ষম হৈ আছে"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"স্ক্ৰীন ৰেকর্ড"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"আৰম্ভ কৰক"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"বন্ধ কৰক"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"আনটো এপ্ ব্য়ৱহাৰ কৰিবলৈ ওপৰলৈ ছোৱাইপ কৰক"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"খৰতকীয়াকৈ আনটো এপ্ ব্য়ৱহাৰ কৰিবলৈ সোঁফালে টানক"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"অৱলোকন ট’গল কৰক"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"নিজৰ উপযোগিতা অনুসৰি"</string>
<string name="notification_done" msgid="6215117625922713976">"সম্পন্ন হ’ল"</string>
<string name="inline_undo" msgid="9026953267645116526">"আনডু কৰক"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"এই জাননীখন এটা বার্তালাপ নহয় বুলি চিহ্নিত কৰক"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"অপ্ৰিয় হিচাপে চিহ্নিত কৰক"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"অপ্ৰিয় হিচাপে চিহ্নিত কৰক"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"মিউট কৰক"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"আনমিউট কৰক"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"বাবল হিচাপে দেখুৱাওক"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"বাবলসমূহ অফ কৰক"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"গৃহ স্ক্ৰীনত যোগ কৰক"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"জাননীৰ নিয়ন্ত্ৰণসমূহ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"জাননীক স্নুজ কৰাৰ বিকল্পসমূহ"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index de9c60520d84..d98d939da47a 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Ekranı doldurmaq üçün yaxınlaşdır"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Ekranı doldurmaq üçün uzat"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Ekran şəkli"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Şəkil daxil edildi"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Skrinşot yadda saxlanılır..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Skrinşot yadda saxlanır..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Skrinşot yadda saxlandı"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Ekranın Video Çəkimini Başladın"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Ekranın səsli video çəkimi"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Klikləmələri göstərin"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Dayandırmaq üçün toxunun"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Dayandırın"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Dayandırın"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Davam edin"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Enerjiyə qənaət"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Qürubda aktiv olacaq"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Şəfəq vaxtına qədər"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Bu vaxt aktiv olur: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Bu vaxtadək: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC deaktiv edilib"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC aktiv edilib"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ekran yazması"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Başlayın"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Dayandırın"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Tətbiqi dəyişmək üçün yuxarı sürüşdürün"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Tətbiqləri cəld dəyişmək üçün sağa çəkin"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"İcmala Keçin"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Fərdiləşdirin"</string>
<string name="notification_done" msgid="6215117625922713976">"Hazırdır"</string>
<string name="inline_undo" msgid="9026953267645116526">"Ləğv edin"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Bu bildirişi \"söhbət deyil\" kimi qeyd edin."</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Sevimli"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Sevimlilərdən silin"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Səssiz"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Susdurmayın"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Qabarcıq kimi göstərin"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Qabarcıqları deaktiv edin"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Əsas ekrana əlavə edin"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"bildiriş nəzarəti"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"bildiriş təxirə salma seçimləri"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index a895f35cca72..ff03bb9726ae 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zumiraj na celom ekranu"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Razvuci na ceo ekran"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Snimak ekrana"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Slika je umetnuta"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Čuvanje snimka ekrana..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Čuvanje snimka ekrana..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Snimak ekrana je sačuvan"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Započni snimanje"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Snimi prenos glasa"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Prikazuj dodire"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Dodirnite da biste zaustavili"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Zaustavi"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pauziraj"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Nastavi"</string>
@@ -390,6 +392,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Ušteda baterije"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Uključuje se po zalasku sunca"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do izlaska sunca"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Uključuje se u <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC je onemogućen"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC je omogućen"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index 67aa8996c4ff..1ebbb5ea100c 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Павял. на ўвесь экран"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Расцягн. на ўвесь экран"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Здымак экрана"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Відарыс устаўлены"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Захаванне скрыншота..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Захаванне скрыншота..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Здымак экрана захаваны"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Пачаць запіс"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Закадравае агучванне запісу"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Паказваць дотыкі"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Націсніце, каб спыніць"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Спыніць"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Прыпыніць"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Узнавіць"</string>
@@ -394,15 +396,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Эканомія зараду"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Уключана ўвечары"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Да ўсходу сонца"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Уключана ў <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Да <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC адключаны"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC уключаны"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Запіс экрана"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Пачаць"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Спыніць"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Правядзіце ўверх, каб пераключыць праграмы"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Каб хутка пераключыцца паміж праграмамі, перацягніце ўправа"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Уключыць/выключыць агляд"</string>
@@ -704,22 +705,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Наладзіць"</string>
<string name="notification_done" msgid="6215117625922713976">"Гатова"</string>
<string name="inline_undo" msgid="9026953267645116526">"Адрабіць"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Не пазначаць гэта апавяшчэнне як размову"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"У абранае"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Выдаліць з абранага"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ігнараваць"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Уключыць паказ"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Паказваць як усплывальнае апавяшчэнне"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Выключыць усплывальныя апавяшчэнні"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Дадаць на галоўны экран"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"кіраванне апавяшчэннямі"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"параметры адкладвання апавяшчэнняў"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index f83bf96e2b0d..5cfea60f901f 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Мащаб – запълва екрана"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Разпъване – запълва екрана"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Екранна снимка"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Изображението бе вмъкнато"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Екранната снимка се запазва..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Екранната снимка се запазва..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Екранната снимка е запазена"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Стартиране на записа"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Записване на озвучаване"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Показване на докосванията"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Докоснете за спиране"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Спиране"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Поставяне на пауза"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Възобновяване"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Запазв. на батерията"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Ще се вкл. по залез"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"До изгрев"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ще се включи в <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"До <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"КБП"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"КБП е деактивирана"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"КБП е активирана"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 10479b134c89..f1e49ce57ce8 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"স্ক্রীণ পূরণ করতে জুম করুন"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ফুল স্ক্রিন করুন"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"স্ক্রিনশট"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ছবি যোগ করা হয়েছে"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"স্ক্রিনশট সেভ করা হচ্ছে..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"স্ক্রিনশট সেভ করা হচ্ছে..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"স্ক্রিনশট সেভ করা হয়েছে"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"রেকর্ডিং শুরু করুন"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ভয়েসওভার রেকর্ড করুন"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ট্যাপগুলি দেখুন"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"বন্ধ করতে ট্যাপ করুন"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"বন্ধ করুন"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"পজ করুন"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"আবার চালু করুন"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ব্যাটারি সেভার"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"সূর্যাস্তে চালু হবে"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"সূর্যোদয় পর্যন্ত"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>-এ চালু হবে"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> পর্যন্ত"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC অক্ষম করা আছে"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC সক্ষম করা আছে"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"স্ক্রিন রেকর্ড"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"শুরু করুন"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"বন্ধ করুন"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"অন্য অ্যাপে যেতে উপরের দিকে সোয়াইপ করুন"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"একটি অ্যাপ ছেড়ে দ্রুত অন্য অ্যাপে যেতে ডান দিকে টেনে আনুন"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"\'এক নজরে\' বৈশিষ্ট্যটি চালু বা বন্ধ করুন"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"কাস্টমাইজ করুন"</string>
<string name="notification_done" msgid="6215117625922713976">"সম্পন্ন"</string>
<string name="inline_undo" msgid="9026953267645116526">"আগের অবস্থায় ফিরে যান"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"কথোপকথন হিসেবে এই বিজ্ঞপ্তি চিহ্নিত করবেন না"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"পছন্দসই"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"পছন্দসই থেকে সরান"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"মিউট করুন"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"আনমিউট করুন"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"পপ-আপ হিসেবে দেখুন"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"পপ-আপ বন্ধ করুন"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"হোম স্ক্রিনে যোগ করুন"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"বিজ্ঞপ্তির নিয়ন্ত্রণগুলি"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"বিজ্ঞপ্তি মনে করিয়ে দেওয়ার বিকল্পগুলি"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index 6c89d976731a..cabe87f4a0b0 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Uvećaj prikaz na ekran"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Razvuci prikaz na ekran"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Snimak ekrana"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Slika je umetnuta"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Spašavanje snimka ekrana..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Spašavanje snimka ekrana..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Snimak ekrana je sačuvan"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Započni snimanje"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Govor snimka"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Prikaži dodire"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Dodirnite za zaustavljanje"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Zaustavi"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pauza"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Nastavi"</string>
@@ -390,6 +392,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Ušteda baterije"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Uključuje se u sumrak"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do svitanja"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Uključuje se u <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC je onemogućen"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC je omogućen"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index f675e20e7dfd..3e257952050a 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom per omplir pantalla"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Estira per omplir pant."</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Captura de pantalla"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Imatge inserida"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"S\'està desant captura de pantalla..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"S\'està desant la captura de pantalla..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"S\'ha desat la captura de pantalla"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Inicia la gravació"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Grava la veu en off"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostra els tocs"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toca per aturar"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Atura"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Posa en pausa"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Reprèn"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Estalvi de bateria"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Al vespre"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Fins a l\'alba"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"S\'activarà a les <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Fins a les <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"L\'NFC està desactivada"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"L\'NFC està activada"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 354ccf44af39..3c85880eaaf8 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Přiblížit na celou obrazovku"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Na celou obrazovku"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Snímek obrazovky"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Vložen obrázek"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Ukládání snímku obrazovky..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Ukládání snímku obrazovky..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Snímek obrazovky byl uložen"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Spustit nahrávání"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Nahrávat komentář"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Zobrazovat klepnutí"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Klepnutím zastavíte"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Zastavit"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pozastavit"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Obnovit"</string>
@@ -392,6 +394,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Spořič baterie"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Při soumraku"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do svítání"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Zapnout v <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC je vypnuto"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC je zapnuto"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 04e83d4b62ea..f2ffdaac0e37 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom til fuld skærm"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Stræk til fuld skærm"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Billedet blev indsat"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Gemmer screenshot..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Gemmer screenshot..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshottet blev gemt"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Start optagelse"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Optag voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Vis tryk"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tryk for at stoppe"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Sæt på pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Genoptag"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Batterisparefunktion"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Til ved solnedgang"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Indtil solopgang"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Tænd kl. <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Indtil kl. <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC er deaktiveret"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC er aktiveret"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index baf3e7c0006e..58caef2b46bb 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom auf Bildschirmgröße"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Auf Bildschirmgröße anpassen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Bild eingefügt"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Screenshot wird gespeichert..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Screenshot wird gespeichert..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot gespeichert"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Aufzeichnung starten"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Voice-over aufnehmen"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Fingertipps anzeigen"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Zum Stoppen tippen"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Anhalten"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausieren"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Fortsetzen"</string>
@@ -392,15 +394,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Energiesparmodus"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"An bei Sonnenuntergang"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Bis Sonnenaufgang"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"An um <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Bis <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ist deaktiviert"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ist aktiviert"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Bildschirmaufnahme"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Starten"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Beenden"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Nach oben wischen, um Apps zu wechseln"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Zum schnellen Wechseln der Apps nach rechts ziehen"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Übersicht ein-/ausblenden"</string>
@@ -700,22 +701,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Anpassen"</string>
<string name="notification_done" msgid="6215117625922713976">"Fertig"</string>
<string name="inline_undo" msgid="9026953267645116526">"Rückgängig machen"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Diese Benachrichtigung als keine Unterhaltung markieren"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Favorit"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Aus Favoriten entfernen"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Stummschalten"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Stummschaltung aufheben"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Als Infofeld anzeigen"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Infofelder deaktivieren"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Zum Startbildschirm hinzufügen"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g> – <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"Benachrichtigungseinstellungen"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"Optionen für spätere Erinnerung bei Benachrichtigungen"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 45ad30244812..d3686c834882 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Ζουμ σε πλήρη οθόνη"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Προβoλή σε πλήρη οθ."</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Στιγμιότυπο οθόνης"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Έγινε εισαγωγή εικόνας"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Αποθήκ. στιγμιότυπου οθόνης..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Αποθήκευση στιγμιότυπου οθόνης..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Το στιγμιότυπο οθόνης αποθηκεύτηκε"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Έναρξη εγγραφής"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Εγγραφή σπικάζ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Εμφάνιση πατημάτων"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Πατήστε για διακοπή"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Διακοπή"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Παύση"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Συνέχιση"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Εξοικονόμ. μπαταρίας"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Κατά τη δύση"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Μέχρι την ανατολή"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ενεργοποίηση στις <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Έως <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Το NFC είναι απενεργοποιημένο"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Το NFC είναι ενεργοποιημένο"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index b6a5d1573acc..4f61daa2bf18 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom to fill screen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Stretch to fill screen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Image inserted"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Saving screenshot…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot saved"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Start Recording"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Record voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Show taps"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tap to stop"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Resume"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Battery Saver"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"On at sunset"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Until sunrise"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"On at <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Until <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is disabled"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is enabled"</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index e194e69c9299..34a2f1975d75 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom to fill screen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Stretch to fill screen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Image inserted"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Saving screenshot…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot saved"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Start Recording"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Record voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Show taps"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tap to stop"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Resume"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Battery Saver"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"On at sunset"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Until sunrise"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"On at <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Until <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is disabled"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is enabled"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index b6a5d1573acc..4f61daa2bf18 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom to fill screen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Stretch to fill screen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Image inserted"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Saving screenshot…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot saved"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Start Recording"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Record voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Show taps"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tap to stop"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Resume"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Battery Saver"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"On at sunset"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Until sunrise"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"On at <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Until <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is disabled"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is enabled"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index b6a5d1573acc..4f61daa2bf18 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom to fill screen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Stretch to fill screen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Image inserted"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Saving screenshot…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot saved"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Start Recording"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Record voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Show taps"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tap to stop"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Resume"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Battery Saver"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"On at sunset"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Until sunrise"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"On at <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Until <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is disabled"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is enabled"</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index e3a569a29cae..2bb51311aa0a 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‎Zoom to fill screen‎‏‎‎‏‎"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎Stretch to fill screen‎‏‎‎‏‎"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎Screenshot‎‏‎‎‏‎"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎Image inserted‎‏‎‎‏‎"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎Saving screenshot…‎‏‎‎‏‎"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎Saving screenshot…‎‏‎‎‏‎"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎Screenshot saved‎‏‎‎‏‎"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‎‎Start Recording‎‏‎‎‏‎"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎Record voiceover‎‏‎‎‏‎"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎Show taps‎‏‎‎‏‎"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎Tap to stop‎‏‎‎‏‎"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎Stop‎‏‎‎‏‎"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎Pause‎‏‎‎‏‎"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎Resume‎‏‎‎‏‎"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎Battery Saver‎‏‎‎‏‎"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‏‏‏‎‎On at sunset‎‏‎‎‏‎"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎Until sunrise‎‏‎‎‏‎"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎On at ‎‏‎‎‏‏‎<xliff:g id="TIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎Until ‎‏‎‎‏‏‎<xliff:g id="TIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‎NFC‎‏‎‎‏‎"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‎NFC is disabled‎‏‎‎‏‎"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎NFC is enabled‎‏‎‎‏‎"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 255db9229657..e2bf6efa538e 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom para ocupar la pantalla"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Estirar p/ ocupar la pantalla"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Captura de pantalla"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Se insertó la imagen"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Guardando captura de pantalla"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Guardando la captura de pantalla..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Se guardó la captura de pantalla"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Iniciar grabación"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Grabar voz superpuesta"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostrar toques"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Presiona para detener"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Detener"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausar"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Reanudar"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Ahorro de batería"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Al atardecer"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Hasta el amanecer"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"A la(s) <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Hasta la(s) <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"La tecnología NFC está inhabilitada"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"La tecnología NFC está habilitada"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index d1d959c84099..40d7fe3bdf25 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom para ajustar"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Expandir para ajustar"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Captura de pantalla"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Se ha insertado la imagen"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Guardando captura..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Guardando captura..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Se ha guardado la captura de pantalla"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Iniciar grabación"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Grabar voz en off"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostrar toques"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toca para detener"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Detener"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausar"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Seguir"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Ahorro de batería"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Al anochecer"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Hasta el amanecer"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"A las <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Hasta las <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"El NFC está desactivado"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"El NFC está activado"</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index 6f69a17f35f0..d8f546ce48d4 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Suumi ekraani täitmiseks"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Venita ekraani täitmiseks"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Ekraanipilt"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Pilt on sisestatud"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Kuvatõmmise salvestamine ..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Kuvatõmmise salvestamine ..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Ekraanipilt salvestati"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Alusta salvestamist"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Salvesta hääl"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Kuva puudutused"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Puudutage peatamiseks"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Peata"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Peata"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Jätka"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Akusäästja"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Sisse päikeselooj."</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Kuni päikesetõusuni"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Sisse kell <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Kuni <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC on keelatud"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC on lubatud"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ekraanikirje"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Alustage"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Peatage"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Rakenduste vahetamiseks pühkige üles"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Lohistage paremale, et rakendusi kiiresti vahetada"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Lehe Ülevaade sisse- ja väljalülitamine"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Kohandamine"</string>
<string name="notification_done" msgid="6215117625922713976">"Valmis"</string>
<string name="inline_undo" msgid="9026953267645116526">"Võta tagasi"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Eemalda see meeldetuletus vestlustest"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Lisa lemmikutesse"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Tühista lemmikutesse lisamine"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Vaigista"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Tühista vaigistus"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Kuva mullina"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Lülita mullid välja"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Lisa avakuvale"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g>, <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"märguannete juhtnupud"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"märguannete edasilükkamise valikud"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 1b89c5aa92d2..9dceb5fe3f05 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Handiagotu pantaila betetzeko"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Luzatu pantaila betetzeko"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Pantaila-argazkia"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Irudi bat txertatu da"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Pantaila-argazkia gordetzen…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Pantaila-argazkia gordetzen…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Gorde da pantaila-argazkia"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Hasi grabatzen"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Grabatu off ahotsa"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Erakutsi sakatzeak"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Sakatu gelditzeko"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Gelditu"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausatu"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Berrekin"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Bateria-aurrezlea"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Ilunabarrean aktibatuko da"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Egunsentira arte"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Aktibatze-ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Desaktibatze-ordua: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Desgaituta dago NFC"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Gaituta dago NFC"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Pantaila-grabaketa"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Hasi"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Gelditu"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Egin gora aplikazioa aldatzeko"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Arrastatu eskuinera aplikazioa azkar aldatzeko"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Aldatu ikuspegi orokorra"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Pertsonalizatu"</string>
<string name="notification_done" msgid="6215117625922713976">"Eginda"</string>
<string name="inline_undo" msgid="9026953267645116526">"Desegin"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Markatu jakinarazpen hau ez dela elkarrizketa bat"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Markatu gogoko gisa"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Kendu gogokoetatik"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ezkutatu"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Erakutsi"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Markatu burbuila gisa"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Desaktibatu burbuilak"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Gehitu hasierako pantailan"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"jakinarazpena kontrolatzeko aukerak"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"jakinarazpena atzeratzeko aukerak"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 2b765573ac06..d27b420c0e9c 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"بزرگ‌نمایی برای پر کردن صفحه"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"گسترده کردن برای پر کردن صفحه"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"عکس صفحه‌نمایش"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"تصویر درج شد"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"در حال ذخیره عکس صفحه‌نمایش..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"درحال ذخیره عکس صفحه‌نمایش…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"عکس صفحه‌نمایش ذخیره شد"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"شروع ضبط"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ضبط صدا روی تصویر"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"نمایش ضربه‌ها"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ضربه برای توقف"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"توقف"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"مکث"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ازسرگیری"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"بهینه‌سازی باتری"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"غروب روشن می‌شود"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"تا طلوع آفتاب"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"ساعت <xliff:g id="TIME">%s</xliff:g> روشن می‌شود"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"تا<xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"‏NFC غیرفعال است"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"‏NFC فعال است"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ضبط کردن صفحه‌نمایش"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"شروع"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"توقف"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"برای تغییر برنامه‌ها،‌ تند به بالا بکشید"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"برای جابه‌جایی سریع میان برنامه‌ها، به چپ بکشید"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"تغییر وضعیت نمای کلی"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"سفارشی کردن"</string>
<string name="notification_done" msgid="6215117625922713976">"تمام"</string>
<string name="inline_undo" msgid="9026953267645116526">"واگرد"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"علامت‌گذاری این اعلان به‌عنوان غیرمکالمه"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"مورد دلخواه"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"حذف از موارد دلخواه"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"صامت کردن"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"باصدا کردن"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"نمایش به‌شکل ابزارک اعلان"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"خاموش کردن ابزارک‌های اعلان"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"افزودن به صفحه اصلی"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"کنترل‌های اعلان"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"گزینه‌های تعویق اعلان"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 9b76f39175ab..cf01efd933d0 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoomaa koko näyttöön"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Venytä koko näyttöön"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Kuvakaappaus"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Kuva lisätty"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Tallennetaan kuvakaappausta..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Tallennetaan kuvakaappausta..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Kuvakaappaus tallennettu"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Aloita tallennus"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Äänitä taustaselostus"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Näytä napautukset"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Lopeta napauttamalla"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Lopeta"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Keskeytä"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Jatka"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Virransäästö"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Auringon laskiessa"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Auringonnousuun"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Päälle klo <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> asti"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC on poistettu käytöstä"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC on käytössä"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Näytön tallentaminen"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Aloita"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Lopeta"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Vaihda sovellusta pyyhkäisemällä ylös"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Vaihda sovellusta nopeasti vetämällä oikealle"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Näytä/piilota viimeisimmät"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Muokkaa"</string>
<string name="notification_done" msgid="6215117625922713976">"Valmis"</string>
<string name="inline_undo" msgid="9026953267645116526">"Kumoa"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Merkitse, että tämä ilmoitus ei ole keskustelu"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Suosikki"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Poista suosikeista"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ohita"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Poista ohitus"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Näytä ohjekuplana"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Laita ohjekuplat pois päältä"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Lisää aloitusnäytölle"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"Ilmoitusten hallinta"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"Ilmoitusten torkkuasetukset"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 55eb39ee69f2..5f7a358239c7 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoomer pour remplir l\'écran"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Étirer pour remplir l\'écran"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Capture d\'écran"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Image insérée"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Enregistrement capture écran…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Enregistrement capture écran…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Capture d\'écran enregistrée"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Commencer l\'enregistrement"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Enregistrer la voix hors champ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Afficher les éléments sélectionnés"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toucher pour arrêter"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Arrêter"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Reprendre"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Économiseur de pile"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Activé la nuit"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Jusqu\'à l\'aube"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Actif à <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Jusqu\'à <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC désactivée"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC activée"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 5b126129311e..3c12f668d2b9 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoomer pour remplir l\'écran"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Étirer pour remplir l\'écran"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Capture d\'écran"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Image insérée"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Enregistrement capture écran…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Enregistrement de la capture d\'écran…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Capture d\'écran enregistrée"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Démarrer l\'enregistrement"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Enregistrer une voix off"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Afficher les éléments sélectionnés"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Appuyez ici pour arrêter"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Arrêter"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Reprendre"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Économiseur batterie"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Activé la nuit"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Jusqu\'à l\'aube"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"À partir de <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Jusqu\'à <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC désactivée"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"La technologie NFC est activée"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 74ee202f9926..0c444e48aee3 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Ampliar ata ocupar todo"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Estirar ata ocupar todo"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Crear captura"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Engadiuse a imaxe"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Gardando captura de pantalla…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Gardando captura de pantalla…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Gardouse a captura de pantalla"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Iniciar gravación"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Gravar voz en off"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostrar toques"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toca para deter a gravación"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Deter"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pór en pausa"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Retomar"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Aforro de batería"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Activación ao solpor"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Ata o amencer"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Activarase ás: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Utilizarase ata as: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"A opción NFC está desactivada"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"A opción NFC está activada"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index 4b5dd2519055..9dde523d9a89 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"સ્ક્રીન ભરવા માટે ઝૂમ કરો"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"સ્ક્રીન ભરવા માટે ખેંચો"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"સ્ક્રીનશૉટ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"છબી શામેલ કરી"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"સ્ક્રીનશોટ સાચવી રહ્યું છે…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"સ્ક્રીનશોટ સાચવી રહ્યું છે…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"સ્ક્રીનશૉટ સાચવ્યો"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"રેકોર્ડિંગ શરૂ કરો"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"વૉઇસઓવર રેકોર્ડ કરો"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ટૅપ કર્યાની સંખ્યા બતાવો"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"રોકવા માટે ટૅપ કરો"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"રોકો"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"થોભાવો"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ફરી શરૂ કરો"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"બૅટરી સેવર"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"સૂર્યાસ્ત વખતે"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"સૂર્યોદય સુધી"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> વાગ્યે ચાલુ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> વાગ્યા સુધી"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC અક્ષમ કરેલ છે"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC સક્ષમ કરેલ છે"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"સ્ક્રીન રેકૉર્ડ કરો"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"શરૂ કરો"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"રોકો"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ઍપ સ્વિચ કરવા માટે ઉપરની તરફ સ્વાઇપ કરો"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ઍપને ઝડપથી સ્વિચ કરવા માટે જમણે ખેંચો"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"ઝલકને ટૉગલ કરો"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"કસ્ટમાઇઝ કરો"</string>
<string name="notification_done" msgid="6215117625922713976">"થઈ ગયું"</string>
<string name="inline_undo" msgid="9026953267645116526">"રદ કરો"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"આ નોટિફિકેશન વાતચીત ન હોવા તરીકે માર્ક કરો"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"મનપસંદ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"મનપસંદમાંથી કાઢી નાખો"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"મ્યૂટ કરો"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"અનમ્યૂટ કરો"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"બબલ તરીકે બતાવો"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"બબલ બંધ કરો"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"હોમ સ્ક્રીન પર ઉમેરો"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"સૂચના નિયંત્રણો"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"સૂચના સ્નૂઝ કરવાના વિકલ્પો"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index c22d234bedd9..5522605cd0f4 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"स्‍क्रीन भरने के लिए ज़ूम करें"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"स्‍क्रीन भरने के लिए खींचें"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"स्क्रीनशॉट"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"इमेज डाली गई"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"स्क्रीनशॉट सहेजा जा रहा है..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"स्क्रीनशॉट सहेजा जा रहा है..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"स्क्रीनशॉट सेव किया गया"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"रिकॉर्डिंग शुरू करें"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"वॉइसओवर रिकॉर्ड करें"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"टैप दिखाएं"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"रोकने के लिए टैप करें"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"रोकें"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"रोकें"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"फिर से शुरू करें"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"बैटरी सेवर"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"शाम को चालू होगा"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"सुबह तक चालू रहेगी"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> बजे चालू हाेगी"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> बजे तक चालू रहेगी"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"एनएफ़सी"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC बंद है"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC चालू है"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"स्क्रीन रिकॉर्ड"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"शुरू करें"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"रोकें"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ऐप्लिकेशन बदलने के लिए ऊपर स्वाइप करें"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ऐप्लिकेशन को झटपट स्विच करने के लिए उसे दाईं ओर खींचें और छोड़ें"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"खास जानकारी टॉगल करें"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"पसंद के मुताबिक बनाएं"</string>
<string name="notification_done" msgid="6215117625922713976">"हो गया"</string>
<string name="inline_undo" msgid="9026953267645116526">"पहले जैसा करें"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"इस सूचना को \'बातचीत नहीं\' के रूप में मार्क करें"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"पसंदीदा के रूप में मार्क करें"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"पसंदीदा से हटाएं"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"म्यूट करें"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"अनम्यूट करें"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"बबल के रूप में दिखाएं"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"बबल्स को बंद करें"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"होम स्क्रीन पर जोड़ें"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"सूचना नियंत्रण"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"सूचना को स्नूज़ (थोड़ी देर के लिए चुप करना) करने के विकल्प"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 128670923f1c..55a0e788581a 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zumiraj i ispuni zaslon"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Rastegni i ispuni zaslon"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Snimka zaslona"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Umetnuta je slika"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Spremanje snimke zaslona..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Spremanje snimke zaslona..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Snimka zaslona spremljena"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Započni snimanje"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Snimi glasovni zapis"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Prikaži dodire"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Dodirnite da biste zaustavili"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Zaustavi"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pauza"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Nastavi"</string>
@@ -390,6 +392,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Štednja baterije"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Uključuje se u suton"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do izlaska sunca"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Uključuje se u <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC je onemogućen"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC je omogućen"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index a3b6d3fe1480..a9b2d036ebcc 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Nagyítás a kitöltéshez"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Nyújtás kitöltéshez"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Képernyőkép"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Kép beszúrva"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Képernyőkép mentése..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Képernyőkép mentése..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"A képernyőkép mentése sikerült"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Rögzítés indítása"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Hang rögzítése"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Koppintások megjelenítése"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Koppintson a leállításhoz"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Leállítás"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Szünet"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Folytatás"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Akkumulátorkímélő"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Be: napnyugta"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Napfelkeltéig"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Be: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Eddig: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Az NFC ki van kapcsolva"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Az NFC be van kapcsolva"</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index 5c73ed18d73f..78acb2ed164e 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Խոշորացնել` էկրանը լցնելու համար"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Ձգել` էկրանը լցնելու համար"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Սքրինշոթ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Պատկերը զետեղվեց"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Սքրինշոթը պահվում է…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Սքրինշոթը պահվում է..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Սքրինշոթը պահվեց"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Սկսել տեսագրումը"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Ձայնագրել ուղեկցող ձայները"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Ցույց տալ հպումները"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Հպեք՝ դադարեցնելու համար"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Կանգնեցնել"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Դադարեցնել"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Վերսկսել"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Մարտկոցի տնտեսում"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Կմիացվի մայրամուտին"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Մինչև լուսաբաց"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Կմիանա՝ <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Մինչև <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC-ն անջատված է"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC-ն միացված է"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Էկրանի ձայնագրում"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Սկսել"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Կանգնեցնել"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Սահեցրեք վերև՝ մյուս հավելվածին անցնելու համար"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Քաշեք աջ՝ հավելվածների միջև անցնելու համար"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Միացնել/անջատել համատեսքը"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Կարգավորել"</string>
<string name="notification_done" msgid="6215117625922713976">"Պատրաստ է"</string>
<string name="inline_undo" msgid="9026953267645116526">"Հետարկել"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Նշել այս ծանուցումը որպես ոչ խոսակցություն"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Ավելացնել ընտրանիում"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Հեռացնել ընտրանուց"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Անջատել ծանուցումները"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Միացնել ծանուցումները"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Ցուցադրել որպես ամպիկ"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Անջատել ամպիկները"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Ավելացնել հիմնական էկրանին"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ծանուցման կառավարներ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ծանուցման հետաձգման ընտրանքներ"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index bad3e677af0d..95c16c87dc1a 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Perbesar utk mengisi layar"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Rentangkn utk mngisi layar"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Gambar disisipkan"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Menyimpan screenshot..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Menyimpan screenshot..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot disimpan"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Mulai Merekam"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Rekam voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Tampilkan sentuhan"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Ketuk untuk menghentikan"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stop"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Jeda"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Lanjutkan"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Penghemat Baterai"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Aktif saat malam"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Sampai pagi"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Aktif pada <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Sampai <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC dinonaktifkan"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC diaktifkan"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 68f04fb506fc..985f62d3e936 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Fylla skjá með aðdrætti"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Teygja yfir allan skjáinn"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Skjámynd"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Mynd sett inn"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Vistar skjámynd…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Vistar skjámynd…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Skjámynd vistuð"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Hefja upptöku"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Taka upp talsetningu"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Sýna snertingar"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Ýttu til að stöðva"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stöðva"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Hlé"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Halda áfram"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Rafhlöðusparnaður"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Kveikt við sólsetur"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Til sólarupprásar"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Virkt kl. <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Til <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Slökkt á NFC"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Kveikt á NFC"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index bdf93fa93e15..870e6b7a75e7 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom per riempire schermo"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Estendi per riemp. schermo"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Immagine inserita"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Salvataggio screenshot..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Salvataggio screenshot..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot salvato"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Avvia registrazione"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Registra voce fuori campo"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostra tocchi"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tocca per interrompere"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Interrompi"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausa"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Riprendi"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Risparmio energetico"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Attivato al tramonto"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Fino all\'alba"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Attivazione alle <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Fino alle <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC non attiva"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC attiva"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 9cfd0b3a22f6..775be02e20e9 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"הגדל תצוגה כדי למלא את המסך"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"מתח כדי למלא את המסך"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"צילום מסך"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"התמונה התווספה"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"שומר צילום מסך..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"שומר צילום מסך..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"צילום המסך נשמר"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"הפעלת ההקלטה"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"‏הקלטת voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"הצגת הקשות"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"אפשר להקיש כדי להפסיק"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"עצירה"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"השהיה"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"המשך"</string>
@@ -392,15 +394,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"חיסכון בסוללה"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"מופעל בשקיעה"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"עד הזריחה"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"יתחיל בשעה <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"עד <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"‏NFC מושבת"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"‏NFC מופעל"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"הקלטת המסך"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"התחלה"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"עצירה"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"יש להחליק מעלה כדי להחליף אפליקציות"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"יש לגרור ימינה כדי לעבור במהירות בין אפליקציות"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"החלפת מצב של מסכים אחרונים"</string>
@@ -702,22 +703,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"התאמה אישית"</string>
<string name="notification_done" msgid="6215117625922713976">"סיום"</string>
<string name="inline_undo" msgid="9026953267645116526">"ביטול"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"סימון ההתראה הזו כהתראה שאינה משיחה"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"סימון כמועדפת"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"הסרה מהמועדפים"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"השתקה"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"ביטול ההשתקה"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"הצגה בתור בועה"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"כיבוי הבועות"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"הוספה למסך הבית"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"בקרת התראות"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"אפשרויות של דחיית התראות לטיפול בהמשך"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 0c57372f3ba9..7af3f8631f03 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"画面サイズに合わせて拡大"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"画面サイズに合わせて拡大"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"スクリーンショット"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"画像を挿入しました"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"スクリーンショットを保存中..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"スクリーンショットを保存しています..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"スクリーンショットを保存しました"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"録画を開始"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ナレーションの録音"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"タップの表示"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"タップして停止"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"停止"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"一時停止"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"再開"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"バッテリー セーバー"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"日の入りに ON"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"日の出まで"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>にオン"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g>まで"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC は無効です"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC は有効です"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"スクリーン レコード"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"開始"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"停止"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"アプリを切り替えるには上にスワイプ"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"右にドラッグするとアプリを素早く切り替えることができます"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"概要を切り替え"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"カスタマイズ"</string>
<string name="notification_done" msgid="6215117625922713976">"完了"</string>
<string name="inline_undo" msgid="9026953267645116526">"元に戻す"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"この通知を会話ではないとマーク"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"お気に入り"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"お気に入りから削除"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"ミュート"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"ミュートを解除"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ふきだしとして表示"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ふきだしを OFF にする"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ホーム画面に追加"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"通知管理"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"通知スヌーズ設定"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index a3827d2a183b..2433f9e32e8f 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"მასშტაბი შეცვალეთ ეკრანის შესავსებად."</string>
<string name="compat_mode_off" msgid="7682459748279487945">"გაწიეთ ეკრანის შესავსებად."</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ეკრანის ანაბეჭდი"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"სურათი ჩასმულია"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"სკრინშოტის შენახვა…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ეკრანის სურათის შენახვა…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ეკრანის ანაბეჭდი შენახულია"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ჩაწერის დაწყება"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ხმის ჩაწერა"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"შეხებების ჩვენება"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"შეეხეთ შესაწყვეტად"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"შეწყვეტა"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"პაუზა"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"გაგრძელება"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ბატარეის დამზოგი"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"ჩაირთოს მზის ჩასვლისას"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"მზის ამოსვლამდე"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"ჩაირთოს <xliff:g id="TIME">%s</xliff:g>-ზე"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g>-მდე"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC გათიშულია"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ჩართულია"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ეკრანის ჩანაწერი"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"დაწყება"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"შეწყვეტა"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"გადაფურცლეთ ზემოთ აპების გადასართავად"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"აპების სწრაფად გადასართავად ჩავლებით გადაიტანეთ მარჯვნივ"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"მიმოხილვის გადართვა"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"მორგება"</string>
<string name="notification_done" msgid="6215117625922713976">"მზადაა"</string>
<string name="inline_undo" msgid="9026953267645116526">"მოქმედების გაუქმება"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ამ შეტყობინების მონიშვნა, როგორც არა მიმოწერის"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"რჩეული"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"რჩეულებიდან ამოღება"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"დადუმება"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"დადუმების მოხსნა"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ბუშტის სახით ჩვენება"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ბუშტების გამორთვა"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"მთავარ ეკრანზე დამატება"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"შეტყობინებების მართვის საშუალებები"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"შეტყობინებების ჩაჩუმების ვარიანტები"</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index 19ae4e2a02d7..be93c18006b9 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Экранды толтыру үшін ұлғайту"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Экранды толтыру үшін созу"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Скриншот"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Сурет енгізілді"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Скриншотты сақтауда…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Скриншотты сақтауда…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Скриншот сақталды"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Жазуды бастау"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Кадр сыртындағы дыбысты жазу"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Түрту әрекеттерін көрсету"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Тоқтату үшін түртіңіз"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Тоқтату"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Тоқтата тұру"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Жалғастыру"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Battery Saver"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Күн батқанда қосу"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Күн шыққанға дейін"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Қосылу уақыты: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> дейін"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC өшірулі"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC қосулы"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Экранды жазу"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Бастау"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Тоқтату"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Қолданбалар арасында ауысу үшін жоғары сырғытыңыз"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Қолданбаларды жылдам ауыстырып қосу үшін оңға қарай сүйреңіз"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Шолуды қосу/өшіру"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Реттеу"</string>
<string name="notification_done" msgid="6215117625922713976">"Дайын"</string>
<string name="inline_undo" msgid="9026953267645116526">"Қайтару"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Хабарландыруды сөйлесу емес деп белгілеу"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Таңдаулы"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Таңдаулылар тізімінен шығару"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Дыбысын өшіру"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Дыбысын қосу"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Қалқымалы анықтама ретінде көрсету"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Қалқымалы анықтамаларды өшіру"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Негізгі экранға қосу"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"хабарландыруларды басқару элементтері"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"хабарландыруды кідірту опциялары"</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index d6ec177d3909..413125cefb92 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ពង្រីក​​ដើម្បី​ឲ្យ​ពេញ​អេក្រង់"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ទាញ​ដើម្បី​ឲ្យ​ពេញ​អេក្រង់"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"រូបថតអេក្រង់"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"បាន​បញ្ចូល​រូបភាព"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"កំពុង​រក្សាទុក​រូបថត​អេក្រង់…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"កំពុង​រក្សាទុក​រូបថត​អេក្រង់..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"បានរក្សាទុក​រូបថតអេក្រង់"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ចាប់​ផ្តើមថត"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ថត​ការបញ្ចូល​សំឡេង"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"បង្ហាញការចុច"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ចុច ដើម្បីបញ្ឈប់"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ឈប់"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ផ្អាក"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"បន្ត"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"កម្មវិធីសន្សំថ្ម"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"បើក​នៅពេល​ថ្ងៃលិច"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"រហូត​ដល់​ពេល​ថ្ងៃរះ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"បើកនៅម៉ោង <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"រហូតដល់ម៉ោង <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"បាន​បិទ NFC"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"បាន​បើក NFC"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ការថត​អេក្រង់"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ចាប់ផ្ដើម"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ឈប់"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"អូស​ឡើង​លើ​ដើម្បី​ប្តូរ​កម្មវិធី"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"អូសទៅស្ដាំដើម្បីប្ដូរកម្មវិធីបានរហ័ស"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"បិទ/បើក​ទិដ្ឋភាពរួម"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"ប្ដូរតាមបំណង"</string>
<string name="notification_done" msgid="6215117625922713976">"រួចរាល់"</string>
<string name="inline_undo" msgid="9026953267645116526">"ត្រឡប់វិញ"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"សម្គាល់​ការជូន​ដំណឹង​នេះ​ថា​មិនមែនជា​ការសន្ទនា"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"សំណព្វ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ដក​ចេញ​ពី​សំណព្វ"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"បិទ​សំឡេង"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"បើក​សំឡេង"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"បង្ហាញ​ជា​សារ​លេចឡើង"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"បិទ​សារ​លេចឡើង"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"បញ្ចូល​ទៅក្នុង​អេក្រង់​ដើម"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ការគ្រប់គ្រង​ការជូន​ដំណឹង"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ជម្រើស​ផ្អាកការ​ជូនដំណឹង"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index fc0f8e6c8093..0b98e0655a7e 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ಪರದೆ ತುಂಬಿಸಲು ಝೂಮ್ ಮಾಡು"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ಪರದೆ ತುಂಬಿಸಲು ವಿಸ್ತಾರಗೊಳಿಸು"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ಚಿತ್ರವನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ ಅನ್ನು ಉಳಿಸಲಾಗಿದೆ"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ರೆಕಾರ್ಡಿಂಗ್ ಆರಂಭಿಸಿ"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"voiceover ಅನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಿ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ಟ್ಯಾಪ್‌ಗಳನ್ನು ತೋರಿಸಿ"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ನಿಲ್ಲಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ನಿಲ್ಲಿಸಿ"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ವಿರಾಮಗೊಳಿಸಿ"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ಮುಂದುವರಿಸಿ"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ಬ್ಯಾಟರಿ ಸೇವರ್"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"ಸೂರ್ಯಾಸ್ತ ಸಮಯದಲ್ಲಿ"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"ಸೂರ್ಯೋದಯದವರೆಗೆ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> ಸಮಯದಲ್ಲಿ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> ವರೆಗೂ"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ಸಕ್ರಿಯಗೊಂಡಿದೆ"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ಸ್ಕ್ರೀನ್ ರೆಕಾರ್ಡ್"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ಪ್ರಾರಂಭಿಸಿ"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ನಿಲ್ಲಿಸಿ"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬದಲಿಸಲು ತ್ವರಿತವಾಗಿ ಬಲಕ್ಕೆ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"ಟಾಗಲ್ ನ ಅವಲೋಕನ"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"ಕಸ್ಟಮೈಜ್‌ ಮಾಡಿ"</string>
<string name="notification_done" msgid="6215117625922713976">"ಮುಗಿದಿದೆ"</string>
<string name="inline_undo" msgid="9026953267645116526">"ರದ್ದುಮಾಡಿ"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ಈ ಅಧಿಸೂಚನೆಯನ್ನು ಸಂಭಾಷಣೆಯಲ್ಲ ಎಂಬುದಾಗಿ ಗುರುತಿಸಿ"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"ಮೆಚ್ಚಿನದು"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ಮೆಚ್ಚಿನದಲ್ಲದ್ದು"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"ಅನ್‌ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ಗುಳ್ಳೆಯಾಗಿ ತೋರಿಸಿ"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ಗುಳ್ಳೆಗಳನ್ನು ಆಫ್ ಮಾಡಿ"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ಮುಖಪುಟದ ಪರದೆಗೆ ಸೇರಿಸಿ"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ಅಧಿಸೂಚನೆ ನಿಯಂತ್ರಣಗಳು"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ಅಧಿಸೂಚನೆ ಸ್ನೂಜ್ ಆಯ್ಕೆಗಳು"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index eb3ebc918edb..54b055dd674b 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"전체화면 모드로 확대"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"전체화면 모드로 확대"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"스크린샷"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"이미지 삽입됨"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"캡쳐화면 저장 중..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"캡쳐화면 저장 중..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"스크린샷 저장됨"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"녹화 시작"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"음성 해설 녹음"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"탭한 항목 표시"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"탭하여 중지하기"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"중지"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"일시중지"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"재개"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"절전 모드"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"일몰에"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"일출까지"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>에"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g>까지"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC 사용 중지됨"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC 사용 설정됨"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"화면 녹화"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"시작"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"중지"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"위로 스와이프하여 앱 전환"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"앱을 빠르게 전환하려면 오른쪽으로 드래그"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"최근 사용 버튼 전환"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"맞춤설정"</string>
<string name="notification_done" msgid="6215117625922713976">"완료"</string>
<string name="inline_undo" msgid="9026953267645116526">"실행취소"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"이 알림을 대화가 아닌 일반 알림으로 표시"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"즐겨찾기"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"즐겨찾기 해제"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"숨기기"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"숨기기 취소"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"버블로 표시"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"버블 사용 중지"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"홈 화면에 추가"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"알림 관리"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"알림 일시 중지 옵션"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index 06f81614d1e2..ed6b9186cdba 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Экрнд тлтр ү. чен өлч өзг"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Экранды толтуруу ү-н чоюу"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Скриншот"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Сүрөт киргизилди"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Скриншот сакталууда…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Скриншот сакталууда..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Скриншот сакталды"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Жаздырып баштоо"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Үн коштоону жаздыруу"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Басылган жерди көрсөтүү"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Токтотуш үчүн басыңыз"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Токтотуу"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Тындыруу"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Улантуу"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Батареяны үнөмдөгүч"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Күн батканда күйөт"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Күн чыкканга чейин"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Саат <xliff:g id="TIME">%s</xliff:g> күйөт"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> чейин"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC өчүрүлгөн"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC иштетилген"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Экранды жаздыруу"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Старт"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Токтотуу"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Колдонмолорду которуштуруу үчүн өйдө сүрүңүз"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Колдонмолорду тез которуштуруу үчүн оңго сүйрөңүз"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Сереп салууну өчүрүү/күйгүзүү"</string>
@@ -444,7 +445,7 @@
<string name="guest_new_guest" msgid="962155336259570156">"Конок кошуу"</string>
<string name="guest_exit_guest" msgid="4030840507598850886">"Конокту алып салуу"</string>
<string name="guest_exit_guest_dialog_title" msgid="5015697561580641422">"Конокту алып саласызбы?"</string>
- <string name="guest_exit_guest_dialog_message" msgid="8183450985628495709">"Бул сеанстагы бардык колдонмолор жана дайындар жок кылынат."</string>
+ <string name="guest_exit_guest_dialog_message" msgid="8183450985628495709">"Бул сеанстагы бардык колдонмолор жана дайындар өчүрүлөт."</string>
<string name="guest_exit_guest_dialog_remove" msgid="7505817591242703757">"Алып салуу"</string>
<string name="guest_wipe_session_title" msgid="7147965814683990944">"Кайтып келишиңиз менен, конок!"</string>
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Сеансыңызды улантасызбы?"</string>
@@ -464,7 +465,7 @@
<item quantity="one">Бир колдонуучуну гана кошууга болот.</item>
</plurals>
<string name="user_remove_user_title" msgid="9124124694835811874">"Колдонуучу алынып салынсынбы?"</string>
- <string name="user_remove_user_message" msgid="6702834122128031833">"Бул колдонуучунун бардык колдонмолору жана дайындары жок кылынат."</string>
+ <string name="user_remove_user_message" msgid="6702834122128031833">"Бул колдонуучунун бардык колдонмолору жана дайындары өчүрүлөт."</string>
<string name="user_remove_user_remove" msgid="8387386066949061256">"Алып салуу"</string>
<string name="battery_saver_notification_title" msgid="8419266546034372562">"Батареяны үнөмдөгүч режими күйүк"</string>
<string name="battery_saver_notification_text" msgid="2617841636449016951">"Иштин майнаптуулугун начарлатып, фондук дайындарды чектейт"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Ыңгайлаштыруу"</string>
<string name="notification_done" msgid="6215117625922713976">"Бүттү"</string>
<string name="inline_undo" msgid="9026953267645116526">"Кайтаруу"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Бул билдирме \"жазышуу эмес\" катары белгиленсин"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Сүйүктүүлөргө кошуу"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Сүйүктүүлөрдөн чыгаруу"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Үнүн басуу"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Үнүн чыгаруу"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Көбүк катары көрсөтүү"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Көбүктөрдү өчүрүү"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Башкы экранга кошуу"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"эскертмелерди башкаруу каражаттары"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"эскертмени тындыруу опциялары"</string>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 3013e1e94c34..11c4f7c45433 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ຊູມໃຫ້ເຕັມໜ້າຈໍ"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ປັບໃຫ້ເຕັມໜ້າຈໍ"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ພາບໜ້າຈໍ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ແຊກຮູບແລ້ວ"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ກຳລັງບັນທຶກຮູບໜ້າຈໍ"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ກຳລັງບັນທຶກພາບໜ້າຈໍ..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ບັນທຶກຮູບໜ້າຈໍໄວ້ແລ້ວ"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ເລີ່ມການບັນທຶກ"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ບັນທຶກສຽງພາກ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ສະແດງການແຕະ"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ແຕະ​ເພື່ອ​ຢຸດ"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ຢຸດ"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ຢຸດຊົ່ວຄາວ"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ສືບຕໍ່"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ຕົວປະຢັດແບັດເຕີຣີ"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"ເປີດຕອນຕາເວັນຕົກ"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"ຈົນກວ່າຕາເວັນຂຶ້ນ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"ເປີດເວລາ <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"ຈົນຮອດ <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is disabled"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is enabled"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ການບັນທຶກໜ້າຈໍ"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ເລີ່ມ"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ຢຸດ"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ປັດຂື້ນເພື່ອສະຫຼັບແອັບ"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ລາກໄປຂວາເພື່ອສະຫຼັບແອັບດ່ວນ"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"ສະຫຼັບພາບຮວມ"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"ປັບແຕ່ງ"</string>
<string name="notification_done" msgid="6215117625922713976">"ສຳເລັດແລ້ວ"</string>
<string name="inline_undo" msgid="9026953267645116526">"ຍົກເລີກ"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ໝາຍການແຈ້ງເຕືອນນີ້ວ່າບໍ່ແມ່ນການສົນທະນາ"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"ລາຍ​ການ​ທີ່​ມັກ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ຍົກເລີກລາຍການທີ່ມັກ"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"ປິດສຽງ"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"ເຊົາປິດສຽງ"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ສະແດງເປັນ bubble"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ປິດການໃຊ້ bubble"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ເພີ່ມໃສ່ໜ້າຈໍຫຼັກ"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ການຄວບຄຸມການແຈ້ງເຕືອນ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ຕົວເລືອກການເລື່ອນການແຈ້ງເຕືອນ"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index c6b50d92e3ed..7da1174c0878 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Keisti mast., kad atit. ekr."</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Ištempti, kad atit. ekr."</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Ekrano kopija"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Vaizdas įterptas"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Išsaugoma ekrano kopija..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Išsaugoma ekrano kopija..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Ekrano kopija išsaugota"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Pradėti įrašymą"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Įrašyti balsą už kadro"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Rodyti palietimus"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Sustabdykite palietę"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Sustabdyti"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pristabdyti"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Tęsti"</string>
@@ -392,6 +394,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Akum. taus. priemonė"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Per saulėlydį"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Iki saulėtekio"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Iki <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"ALR"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"ALR išjungtas"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"ALR įjungtas"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index b519f053b1ce..fed86b324c78 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Tālumm., lai aizp. ekr."</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Stiepiet, lai aizp. ekr."</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Ekrānuzņēmums"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Attēls ir ievietots"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Saglabā ekrānuzņēmumu…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Notiek ekrānuzņēmuma saglabāšana..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Ekrānuzņēmums saglabāts"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Sākt ierakstīšanu"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Ierakstīt balsi"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Rādīt pieskārienus"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Pieskarieties, lai apturētu"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Pārtraukt"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Apturēt"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Atsākt"</string>
@@ -390,15 +392,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Jaudas taupīšana"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Saulrietā"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Līdz saullēktam"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Plkst. <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Līdz plkst. <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ir atspējoti"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ir iespējoti"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ekrāna ierakstīšana"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Sākt"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Apturēt"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Velciet augšup, lai pārslēgtu lietotnes"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Lai ātri pārslēgtu lietotnes, velciet pa labi"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Pārskata pārslēgšana"</string>
@@ -699,22 +700,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Pielāgot"</string>
<string name="notification_done" msgid="6215117625922713976">"Gatavs"</string>
<string name="inline_undo" msgid="9026953267645116526">"Atsaukt"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Atzīmēt, ka šis paziņojums nav saruna"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Pievienot izlasei"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Noņemt no izlases"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Izslēgt skaņu"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Ieslēgt skaņu"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Rādīt kā burbuli"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Izslēgt burbuļus"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Pievienot sākuma ekrānam"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"paziņojumu vadīklas"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"paziņojumu atlikšanas opcijas"</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index 9080b576d4a9..a02f38ed267b 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Зумирај да се исполни екранот"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Растегни да се исполни екранот"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Слика од екранот"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Вметната е слика"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Сликата на екранот се зачувува..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Сликата на екранот се зачувува..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Сликата од екранот е зачувана"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Започни со снимање"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Снимај коментар"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Прикажувај допири"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Допрете за запирање"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Сопри"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Паузирај"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Продолжи"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Штедач на батерија"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Вклуч. на зајдисонце"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"До изгрејсонце"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Се вклучува во <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"До <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC е оневозможено"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC е овозможено"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index b761c445297f..2d3f73fc5978 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"സ്‌ക്രീനിൽ ഉൾക്കൊള്ളിക്കാൻ സൂം ചെയ്യുക"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"സ്‌ക്രീനിൽ ഉൾക്കൊള്ളിക്കാൻ വലിച്ചുനീട്ടുക"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"സ്ക്രീൻഷോട്ട്"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ചിത്രം ചേർത്തു"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"സ്‌ക്രീൻഷോട്ട് സംരക്ഷിക്കുന്നു..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"സ്‌ക്രീൻഷോട്ട് സംരക്ഷിക്കുന്നു..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"സ്‌ക്രീൻഷോട്ട് സംരക്ഷിച്ചു"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"റെക്കോര്‍ഡിംഗ് ആരംഭിക്കുക"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"വോയ്‌സ് ഓവർ റെക്കോർഡ് ചെയ്യുക"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ടാപ്പുകൾ കാണിക്കുക"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"നിർത്താൻ ടാപ്പ് ചെയ്യുക"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"നിർത്തുക"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"താൽക്കാലികമായി നിർത്തുക"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"പുനരാരംഭിക്കുക"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ബാറ്ററി ലാഭിക്കൽ"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"സൂര്യാസ്‌തമയത്തിന്"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"സൂര്യോദയം വരെ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>-ന്"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> വരെ"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC പ്രവർത്തനരഹിതമാക്കി"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC പ്രവർത്തനക്ഷമമാക്കി"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"സ്‌ക്രീൻ റെക്കോർഡ്"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ആരംഭിക്കുക"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"നിര്‍ത്തുക"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ആപ്പുകൾ മാറാൻ മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ആപ്പുകൾ പെട്ടെന്ന് മാറാൻ വലത്തോട്ട് വലിച്ചിടുക"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"അവലോകനം മാറ്റുക"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"ഇഷ്‌ടാനുസൃതമാക്കുക"</string>
<string name="notification_done" msgid="6215117625922713976">"പൂർത്തിയായി"</string>
<string name="inline_undo" msgid="9026953267645116526">"പഴയപടിയാക്കുക"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ഈ അറിയിപ്പ് സംഭാഷണമല്ലെന്ന് അടയാളപ്പെടുത്തുക"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"പ്രിയപ്പെട്ടവ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"പ്രിയപ്പെട്ടതല്ലാതാക്കുക"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"മ്യൂട്ട് ചെയ്യുക"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"അൺമ്യൂട്ട് ചെയ്യുക"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ബബ്‌ൾ ആയി കാണിക്കുക"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ബബിളുകൾ ഓഫാക്കുക"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ഹോം സ്‌ക്രീനിലേക്ക് ചേർക്കുക"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"അറിയിപ്പ് നിയന്ത്രണങ്ങൾ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"അറിയിപ്പ് സ്‌നൂസ് ഓപ്ഷനുകൾ"</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index 4f9b447bcd69..85d7eadce349 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Дэлгэц дүүргэх бол өсгөнө үү"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Дэлгэц дүүргэх бол татна уу"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Дэлгэцийн зураг дарах"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Зургийг орууллаа"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Дэлгэцийн агшинг хадгалж байна…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Дэлгэцийн агшинг хадгалж байна…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Дэлгэцээс дарсан зургийг хадгалсан"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Бичлэгийг эхлүүлэх"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Дуу оруулалтыг бичих"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Товшилтыг харуулах"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Зогсоохын тулд товшино уу"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Зогсоох"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Түр зогсоох"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Үргэлжлүүлэх"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Батарей хэмнэгч"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Нар жаргах үед"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Нар мандах хүртэл"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>-д"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> хүртэл"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC-г цуцалсан"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC-г идэвхжүүлсэн"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Дэлгэцийн бичлэг хийх"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Эхлүүлэх"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Зогсоох"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Апп сэлгэхийн тулд дээш шударна уу"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Аппуудыг хурдан сэлгэхийн тулд баруун тийш чирнэ үү"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Тоймыг унтраах/асаах"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Тохируулах"</string>
<string name="notification_done" msgid="6215117625922713976">"Дууссан"</string>
<string name="inline_undo" msgid="9026953267645116526">"Болих"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Энэ мэдэгдлийг харилцаа биш гэж тэмдэглэх"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Дуртай"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Дургүй"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Дууг хаах"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Дууг нээх"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Хөөс маягаар харуулах"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Хөөсийг унтраах"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Үндсэн нүүрэнд нэмэх"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"мэдэгдлийн удирдлага"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"мэдэгдэл түр хойшлуулагчийн сонголт"</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index 99f48e6b4cb9..3406edf3f1bd 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"स्क्रीन भरण्यासाठी झूम करा"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"स्क्रीन भरण्यासाठी ताणा"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"स्क्रीनशॉट"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"इमेज घातली गेली"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"स्क्रीनशॉट सेव्ह करत आहे…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"स्क्रीनशॉट सेव्ह करत आहे…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"स्क्रीनशॉट सेव्ह केला"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"रेकॉर्डिंग सुरू करा"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"व्हॉइसओव्हर रेकॉर्ड करा"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"टॅप दाखवा"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"थांबवण्यासाठी टॅप करा"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"थांबवा"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"थांबवा"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"पुन्हा सुरू करा"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"बॅटरी सेव्‍हर"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"संध्याकाळी सुरू होते"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"सूर्योदयापर्यंत"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> वाजता सुरू होते"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> पर्यंत"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC अक्षम केले आहे"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC सक्षम केले आहे"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"स्क्रीन रेकॉर्ड"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"सुरू"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"थांबा"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"अ‍ॅप्स स्विच करण्यासाठी वर स्वाइप करा"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"अ‍ॅप्स वर झटपट स्विच करण्यासाठी उजवीकडे ड्रॅग करा"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"अवलोकन टॉगल करा."</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"कस्टमाइझ करा"</string>
<string name="notification_done" msgid="6215117625922713976">"पूर्ण झाले"</string>
<string name="inline_undo" msgid="9026953267645116526">"पहिल्यासारखे करा"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ही सूचना संभाषण नाही म्हणून खूण करा"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"आवडते"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"नावडते"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"म्यूट करा"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"अनम्यूट करा"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"बबल असे दाखवा"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"बुडबुडे बंद करा"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"होम स्क्रीनवर जोडा"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"सूचना नियंत्रणे"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"सूचना स्नूझ पर्याय"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 42c51b7844a6..eeaaceae0669 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zum untuk memenuhi skrin"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Regang utk memenuhi skrin"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Tangkapan skrin"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Imej disisipkan"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Menyimpan tangkapan skrin..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Menyimpan tangkapan skrin..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Tangkapan skrin disimpan"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Mula Merakam"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Rakam suara latar"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Tunjukkan ketikan"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Ketik untuk berhenti"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Berhenti"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Jeda"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Sambung semula"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Penjimat Bateri"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Dihidupkan pd senja"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Hingga matahari trbt"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Dihidupkan pada <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Hingga <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC dilumpuhkan"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC didayakan"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Saring Rekod"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Mula"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Berhenti"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Leret ke atas untuk menukar apl"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Seret ke kanan untuk beralih apl dengan pantas"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Togol Ikhtisar"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Sesuaikan"</string>
<string name="notification_done" msgid="6215117625922713976">"Selesai"</string>
<string name="inline_undo" msgid="9026953267645116526">"Buat asal"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Tandai pemberitahuan ini sebagai bukan perbualan"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Kegemaran"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Nyahgemari"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Redam"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Nyahredam"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Tunjukkan sebagai gelembung"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Matikan gelembung"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Tambahkan pada skrin utama"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"kawalan pemberitahuan"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"pilihan tunda pemberitahuan"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index dd5acfab0c21..5ae82eafbcf9 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ဇူးမ်အပြည့်ဆွဲခြင်း"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ဖန်သားပြင်အပြည့်ဆန့်ခြင်း"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ဖန်သားပြင်ဓာတ်ပုံ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ပုံ ထည့်ထားသည်"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ဖန်သားပြင်ဓါတ်ပုံသိမ်းစဉ်.."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ဖန်သားပြင်ဓါတ်ပုံရိုက်ခြင်းအား သိမ်းဆည်းပါမည်"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ဖန်သားပြင်ဓာတ်ပုံကို သိမ်းပြီးပါပြီ"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"စတင် ရိုက်ကူးရန်"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"နောက်ခံစကားပြော ကူးယူရန်"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"တို့ခြင်းများကို ပြရန်"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ရပ်ရန် တို့ပါ"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ရပ်ရန်"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ခဏရပ်ရန်"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ဆက်လုပ်ရန်"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ဘက်ထရီ အားထိန်း"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"နေဝင်ချိန်၌ ဖွင့်ရန်"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"နေထွက်ချိန် အထိ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> တွင် ဖွင့်မည်"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> အထိ"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ကို ပိတ်ထားသည်"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ကို ဖွင့်ထားသည်"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ဖန်သားပြင် မှတ်တမ်းတင်ရန်"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"စတင်ရန်"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ရပ်ရန်"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"အက်ပ်များကို ဖွင့်ရန် အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"အက်ပ်များကို ပြောင်းရန် ညာဘက်သို့ ဖိဆွဲပါ"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"ဖွင့်၊ ပိတ် အနှစ်ချုပ်"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"စိတ်ကြိုက်ပြုလုပ်ရန်"</string>
<string name="notification_done" msgid="6215117625922713976">"ပြီးပါပြီ"</string>
<string name="inline_undo" msgid="9026953267645116526">"တစ်ဆင့်နောက်ပြန်ရန်"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ဤအကြောင်းကြားချက်ကို စကားဝိုင်းမဟုတ်ဟု မှတ်ထားရန်"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"အကြိုက်ဆုံး"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"အကြိုက်ဆုံးမှ ဖယ်ရှားရန်"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"အသံတိတ်ရန်"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"အသံဖွင့်ရန်"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ပူဖောင်းကွက်အဖြစ် ပြရန်"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ပူဖောင်းကွက်များကို ပိတ်ရန်"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ပင်မစာမျက်နှာတွင် ထည့်ရန်"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"အကြောင်းကြားချက် ထိန်းချုပ်မှုများ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"အကြောင်းကြားချက်များကို ဆိုင်းငံ့ရန် ရွေးချယ်စရာများ"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 97d6792ee6bb..463b95c0107e 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom for å fylle skjermen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Strekk for å fylle skjerm"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Skjermdump"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Bildet er satt inn"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Lagrer skjermdumpen …"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Lagrer skjermdumpen …"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Skjermdumpen er lagret"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Start opptak"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Ta opp et kommentarspor"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Vis trykk"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Trykk for å stoppe"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stopp"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Sett på pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Gjenoppta"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Batterisparing"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"På ved solnedgang"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Til soloppgang"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Slås på klokken <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Til <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC er slått av"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC er slått på"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Skjermopptak"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Start"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Stopp"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Sveip opp for å bytte apper"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Dra til høyre for å bytte apper raskt"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Slå oversikten av eller på"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Tilpass"</string>
<string name="notification_done" msgid="6215117625922713976">"Ferdig"</string>
<string name="inline_undo" msgid="9026953267645116526">"Angre"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Marker dette varselet som ikke en samtale"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Favoritt"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Fjern som favoritt"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ignorer"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Slutt å ignorere"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Vis som boble"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Slå av bobler"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Legg til på startskjermen"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"varselinnstillinger"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"slumrealternativer for varsler"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 1345b098f06e..21a76a3a86d0 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"स्क्रिन भर्न जुम गर्नुहोस्"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"स्क्रिन भर्न तन्काउनुहोस्"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"स्क्रिनसट"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"छवि सम्मिलित गरियो"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"स्क्रिनसट बचत गर्दै…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"स्क्रिनसट बचत गर्दै…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"स्क्रिनसट सुरक्षित गरियो"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"रेकर्डिङ सुरु गर्नुहोस्"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"भ्वाइसओवर रेकर्ड गर्नुहोस्"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ट्यापहरू देखाउनुहोस्"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"रोक्न ट्याप गर्नुहोस्"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"रोक्नुहोस्"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"पज गर्नुहोस्"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"जारी राख्नुहोस्"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ब्याट्री सेभर"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"सूर्यास्तमा सक्रिय"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"सूर्योदयसम्म"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> मा सक्रिय"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> सम्म"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC लाई असक्षम पारिएको छ"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC लाई सक्षम पारिएको छ"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"स्रिनको रेकर्ड"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"सुरु गर्नुहोस्"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"रोक्नुहोस्"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"अनुप्रयोगहरू बदल्न माथितिर स्वाइप गर्नुहोस्"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"अनुप्रयोगहरू बदल्न द्रुत गतिमा दायाँतिर ड्र्याग गर्नुहोस्"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"परिदृश्य टगल गर्नुहोस्"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"आफू अनुकूल पार्नुहोस्"</string>
<string name="notification_done" msgid="6215117625922713976">"सम्पन्‍न भयो"</string>
<string name="inline_undo" msgid="9026953267645116526">"अन्डू गर्नुहोस्"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"यो सूचनालाई वार्तालाप होइन भनी चिन्ह लगाउनुहोस्"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"मन पर्ने"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"मन पर्ने कुराहरूबाट हटाउनुहोस्"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"म्युट गर्नुहोस्"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"अनम्युट गर्नुहोस्"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"बबलको रूपमा देखाउनुहोस्"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"बबलहरूलाई निष्क्रिय पार्नुहोस्"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"गृह स्क्रिनमा थप्नुहोस्"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"सूचना सम्बन्धी नियन्त्रणहरू"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"सूचना स्नुज गर्ने विकल्पहरू"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index 71d2388264fb..3c040154437c 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom om scherm te vullen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Rek uit v. schermvulling"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Afbeelding ingevoegd"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Screenshot opslaan..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Screenshot opslaan..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Screenshot opgeslagen"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Opname starten"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Voice-over opnemen"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Tikken weergeven"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tik om te stoppen"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stoppen"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pauzeren"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Hervatten"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Batterijbesparing"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Aan bij zonsondergang"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Tot zonsopgang"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Aan om <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Tot <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC is uitgeschakeld"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC is ingeschakeld"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 85841feeff14..42302756debd 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ସ୍କ୍ରୀନ ଭରିବା ପାଇଁ ଜୁମ୍ କରନ୍ତୁ"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ସ୍କ୍ରୀନ୍‌କୁ ଭରିବା ପାଇଁ ଟାଣନ୍ତୁ"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ସ୍କ୍ରିନ୍‌ସଟ୍ ନିଅନ୍ତୁ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ଛବି ଭର୍ତ୍ତି କରାଯାଇଛି"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ସ୍କ୍ରୀନଶଟ୍‍ ସେଭ୍‍ କରାଯାଉଛି…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ସ୍କ୍ରୀନଶଟ୍‍ ସେଭ୍‍ କରାଯାଉଛି…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ସ୍କ୍ରୀନଶଟ୍ ସେଭ୍ ହୋଇଛି"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ରେକର୍ଡିଂ ଆରମ୍ଭ କରନ୍ତୁ"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ଭଏସ୍‍‍‍‍‍‍‍‍‍ଓଭର୍‍ ରେକର୍ଡ କରନ୍ତୁ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ଟାପ୍‌ ଦେଖାନ୍ତୁ"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ବନ୍ଦ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ବିରତି କରନ୍ତୁ"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ପୁଣି ଚାଲୁ କରନ୍ତୁ"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ବ୍ୟାଟେରୀ ସେଭର୍"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"ସନ୍ଧ୍ୟାରେ ଚାଲୁ ହେବ"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"ସକାଳ ପର୍ଯ୍ୟନ୍ତ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>ରେ ଚାଲୁ ହେବ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> ପର୍ଯ୍ୟନ୍ତ"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ଅକ୍ଷମ କରାଯାଇଛି"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ସକ୍ଷମ କରାଯାଇଛି"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ସ୍କ୍ରିନ୍ ରେକର୍ଡ"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ଆରମ୍ଭ କରନ୍ତୁ"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ଆପ୍‌କୁ ବଦଳ କରିବା ପାଇଁ ସ୍ଵାଇପ୍ କରନ୍ତୁ"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ଆପ୍‌ଗୁଡ଼ିକ ମଧ୍ୟରେ ଶୀଘ୍ର ବଦଳ କରିବା ପାଇଁ ଡାହାଣକୁ ଡ୍ରାଗ୍ କରନ୍ତୁ"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"ସଂକ୍ଷିପ୍ତ ବିବରଣୀକୁ ଟୋଗଲ୍ କରନ୍ତୁ"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"କଷ୍ଟମାଇଜ୍‌ କରନ୍ତୁ"</string>
<string name="notification_done" msgid="6215117625922713976">"ହୋଇଗଲା"</string>
<string name="inline_undo" msgid="9026953267645116526">"ପୂର୍ବସ୍ଥାନକୁ ଫେରାଇଆଣନ୍ତୁ"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ଏହି ବିଜ୍ଞପ୍ତି କୌଣସି ବାର୍ତ୍ତାଳାପ ନୁହେଁ ବୋଲି ଚିହ୍ନଟ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"ପସନ୍ଦ ଭାବରେ ଚିହ୍ନଟ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ନାପସନ୍ଦ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"ମ୍ୟୁଟ୍ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"ଅନମ୍ୟୁଟ୍ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ବୁଦବୁଦ୍ ଭାବରେ ଦେଖାନ୍ତୁ"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ବୁଦବୁଦଗୁଡ଼ିକ ବନ୍ଦ କରନ୍ତୁ"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ମୂଳ ସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ବିଜ୍ଞପ୍ତି ନିୟନ୍ତ୍ରଣ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ବିଜ୍ଞପ୍ତି ସ୍ନୁଜ୍‍ ବିକଳ୍ପ"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 4ea51ddbde9e..f345d6a8f7aa 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ਸਕ੍ਰੀਨ ਭਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ਸਕ੍ਰੀਨ ਭਰਨ ਲਈ ਸਟ੍ਰੈਚ ਕਰੋ"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ਸਕ੍ਰੀਨਸ਼ਾਟ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"ਚਿੱਤਰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ਸਕ੍ਰੀਨਸ਼ਾਟ ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ਰਿਕਾਰਡਿੰਗ ਸ਼ੁਰੂ ਕਰੋ"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"ਅਵਾਜ਼ ਰਿਕਾਰਡ ਕਰੋ"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"ਟੈਪਾਂ ਦਿਖਾਓ"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ਰੋਕਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ਬੰਦ ਕਰੋ"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"ਰੋਕੋ"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ਮੁੜ-ਚਾਲੂ ਕਰੋ"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"ਬੈਟਰੀ ਸੇਵਰ"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"ਸੂਰਜ ਛਿਪਣ \'ਤੇ ਚਾਲੂ"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"ਸੂਰਜ ਚੜ੍ਹਨ ਤੱਕ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> ਵਜੇ ਚਾਲੂ"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> ਵਜੇ ਤੱਕ"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ਨੂੰ ਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ਸਕ੍ਰੀਨ ਰਿਕਾਰਡਰ"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ਸ਼ੁਰੂ ਕਰੋ"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ਰੋਕੋ"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ਐਪਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ਐਪਾਂ ਵਿਚਾਲੇ ਤੇਜ਼ੀ ਨਾਲ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਘਸੀਟੋ"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"ਰੂਪ-ਰੇਖਾ ਨੂੰ ਟੌਗਲ ਕਰੋ"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
<string name="notification_done" msgid="6215117625922713976">"ਹੋ ਗਿਆ"</string>
<string name="inline_undo" msgid="9026953267645116526">"ਅਣਕੀਤਾ ਕਰੋ"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ਇਸ ਸੂਚਨਾ ਦੀ ਗੱਲ-ਬਾਤ ਨਹੀਂ ਵਜੋਂ ਨਿਸ਼ਾਨਦੇਹੀ ਕਰੋ"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"ਮਨਪਸੰਦ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ਨਾਪਸੰਦ"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"ਮਿਊਟ ਕਰੋ"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"ਅਣਮਿਊਟ ਕਰੋ"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"ਬੁਲਬੁਲੇ ਵਜੋਂ ਦਿਖਾਓ"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ਬੁਲਬੁਲੇ ਬੰਦ ਕਰੋ"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ਸੂਚਨਾ ਕੰਟਰੋਲ"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ਸੂਚਨਾ ਸਨੂਜ਼ ਵਿਕਲਪ"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 515d659d2c5b..68cb14eb32b3 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Powiększ, aby wypełnić ekran"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Rozciągnij, aby wypełnić ekran"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Zrzut ekranu"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Wstawiono obraz"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Zapisywanie zrzutu ekranu..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Zapisywanie zrzutu ekranu..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Zrzut ekranu został zapisany"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Rozpocznij rejestrowanie"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Nagraj tekst lektora"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Pokaż dotknięcia"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Kliknij, by zatrzymać"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Zatrzymaj"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Wstrzymaj"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Wznów"</string>
@@ -392,15 +394,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Oszczędzanie baterii"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Włącz o zachodzie"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do wschodu słońca"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Włącz o <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"Komunikacja NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Komunikacja NFC jest wyłączona"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Komunikacja NFC jest włączona"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Zapis ekranu"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Rozpocznij"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Zatrzymaj"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Przesuń w górę, by przełączyć aplikacje"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Szybko przeciągnij w prawo, by przełączyć aplikacje"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Przełącz Przegląd"</string>
@@ -702,22 +703,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Dostosuj"</string>
<string name="notification_done" msgid="6215117625922713976">"Gotowe"</string>
<string name="inline_undo" msgid="9026953267645116526">"Cofnij"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Nie oznaczaj tego powiadomienia jako wątku"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Dodaj do ulubionych"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Usuń z ulubionych"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Wycisz"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Wyłącz wyciszenie"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Pokaż jako dymek"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Wyłącz dymki"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Dodaj do ekranu głównego"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"sterowanie powiadomieniami"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"opcje odkładania powiadomień"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index d486b9b2a7ed..a9101d74706f 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom p/ preencher a tela"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Ampliar p/ preencher tela"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Capturar tela"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Imagem inserida"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Salvando captura de tela..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Salvando captura de tela..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Captura de tela salva"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Iniciar gravação"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Gravar narração"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostrar toques"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toque para parar"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Parar"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausar"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Retomar"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Economia de bateria"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Ativ. ao pôr do sol"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Até o nascer do sol"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ativar: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Até: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"A NFC está desativada"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"A NFC está ativada"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index d17b0026802f..1a6e6739e7ff 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom para preencher o ecrã"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Esticar p. caber em ec. int."</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Captura de ecrã"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Imagem inserida"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"A guardar captura de ecrã..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"A guardar captura de ecrã..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Captura de ecrã guardada"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Iniciar gravação"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Gravar voz-off"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostrar toques"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tocar para parar"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Parar"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Colocar em pausa"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Retomar"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Poupança de bateria"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Ativ. ao pôr do sol"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Até ao amanhecer"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ativado à(s) <xliff:g id="TIME">%s</xliff:g>."</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Até à(s) <xliff:g id="TIME">%s</xliff:g>."</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"O NFC está desativado"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"O NFC está ativado"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index d486b9b2a7ed..a9101d74706f 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom p/ preencher a tela"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Ampliar p/ preencher tela"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Capturar tela"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Imagem inserida"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Salvando captura de tela..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Salvando captura de tela..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Captura de tela salva"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Iniciar gravação"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Gravar narração"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Mostrar toques"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toque para parar"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Parar"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausar"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Retomar"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Economia de bateria"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Ativ. ao pôr do sol"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Até o nascer do sol"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ativar: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Até: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"A NFC está desativada"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"A NFC está ativada"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 2674504db62e..e34fa2de54d2 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zoom pt. a umple ecranul"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Înt. pt. a umple ecranul"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Captură de ecran"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"S-a inserat imaginea"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Se salv. captura de ecran..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Se salvează captura de ecran..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Captură de ecran salvată"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Începeți înregistrarea"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Înregistrați vocal"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Afișați atingerile"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Atingeți pentru a opri"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Opriți"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Întrerupeți"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Reluați"</string>
@@ -390,15 +392,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Economisire baterie"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Activată la apus"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Până la răsărit"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Activată la <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Până la <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Serviciul NFC este dezactivat"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Serviciul NFC este activat"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Înregistrarea ecranului"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Începeți"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Opriți"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Glisați în sus pentru a comuta între aplicații"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Glisați la dreapta pentru a comuta rapid între aplicații"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Comutați secțiunea Recente"</string>
@@ -699,22 +700,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Personalizați"</string>
<string name="notification_done" msgid="6215117625922713976">"Terminat"</string>
<string name="inline_undo" msgid="9026953267645116526">"Anulați"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Marcați această notificare ca nefiind o conversație"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Preferată"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Anulați marcarea ca preferată"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ignorați"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Afișați"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Afișează sub formă de balon"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Dezactivați baloanele"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Adăugați pe ecranul de pornire"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"comenzile notificării"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"opțiuni de amânare a notificării"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 915698972541..0ee159d0c648 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Подогнать по размерам экрана"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Растянуть на весь экран"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Скриншот"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Изображение вставлено"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Сохранение..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Сохранение..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Скриншот сохранен"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Начать запись"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Записать закадровую речь"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Показывать нажатия"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Нажмите, чтобы остановить"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Остановить"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Приостановить"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Возобновить"</string>
@@ -392,15 +394,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Режим энергосбер."</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Вкл. на закате"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"До рассвета"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Включить в <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"До <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"Модуль NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Модуль NFC отключен"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Модуль NFC включен"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Запись экрана"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Начать"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Остановить"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Чтобы переключиться между приложениями, проведите по экрану вверх."</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Перетащите вправо, чтобы быстро переключиться между приложениями"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Переключить режим обзора"</string>
@@ -702,22 +703,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Настроить"</string>
<string name="notification_done" msgid="6215117625922713976">"Готово"</string>
<string name="inline_undo" msgid="9026953267645116526">"Отменить"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Понизить приоритет уведомления (не считать чатом)"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Добавить в избранное"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Удалить из избранного"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Отключить звук"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Включить звук"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Показывать как всплывающее уведомление"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Отключить показ всплывающих уведомлений"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Добавить на главный экран"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g>: <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"настройки уведомлений"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"параметры отсрочки уведомлений"</string>
diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index 84e01d093f3d..2c5e1d8ba117 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"තිරය පිරවීමට විශාලනය කරන්න"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"තිරය පිරවීමට අදින්න"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"තිර රුව"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"රූපය ඇතුල් කරන ලදී"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"තිර රුව සුරකිමින්…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"තිර රුව සුරැකෙමින් පවතී…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"තිර රුව සුරකින ලදී"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"පටිගත කිරීම ආරම්භ කරන්න"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"පසුබිම් කථනය පටිගත කරන්න"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"තට්ටු කිරීම් පෙන්වන්න"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"නතර කිරීමට තට්ටු කරන්න"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"නතර කරන්න"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"විරාම කරන්න"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"නැවත අරඹන්න"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"බැටරි සුරැකුම"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"හිරු බැසීමේදී ඔන්ය"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"හිරු නගින තෙක්"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>ට ක්‍රියාත්මකයි"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> තෙක්"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC අබලයි"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC සබලයි"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"තිර පටිගත කිරීම"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ආරම්භ කරන්න"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"නතර කරන්න"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"යෙදුම් මාරු කිරීමට ස්වයිප් කරන්න"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ඉක්මනින් යෙදුම් මාරු කිරීමට දකුණට අදින්න"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"දළ විශ්ලේෂණය ටොගල කරන්න"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"අභිරුචිකරණය"</string>
<string name="notification_done" msgid="6215117625922713976">"නිමයි"</string>
<string name="inline_undo" msgid="9026953267645116526">"පසුගමනය කරන්න"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"මෙම දැනුම් දීම සංවාදයක් නොවේ ලෙස ලකුණු කරන්න"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"ප්‍රියතම"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ප්‍රියතම වෙතින් ඉවත් කරන්න"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"නිහඬ කරන්න"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"නිහඬ වෙතින් ඉවත් කරන්න"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"බුබුලක් ලෙස පෙන්වන්න"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"බුබුලු ක්‍රියාවිරහිත කරන්න"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"මුල් තිරය වෙත එක් කරන්න"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"දැනුම්දීම් පාලන"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"දැනුම්දීම් මදක් නතර කිරීමේ විකල්ප"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index fced8a42acf4..93f93a2860a9 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Priblížiť na celú obrazovku"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Na celú obrazovku"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Snímka obrazovky"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Bol vložený obrázok"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Prebieha ukladanie snímky obrazovky..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Prebieha ukladanie snímky obrazovky..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Snímka obrazovky bola uložená"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Spustiť zaznamenávanie"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Hlasový vstup počas záznamu"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Zobrazovať klepnutia"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Zastavte klepnutím"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Ukončiť"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pozastaviť"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Obnoviť"</string>
@@ -392,6 +394,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Šetrič batérie"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Zap. pri záp. slnka"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do východu slnka"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Zapne sa o <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC je deaktivované"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC je aktivované"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 4816a6634dd7..452827fa362f 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Povečava čez cel zaslon"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Raztegnitev čez zaslon"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Posnetek zaslona"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Slika je vstavljena"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Shranjev. posnetka zaslona ..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Shranjevanje posnetka zaslona ..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Posnetek zaslona je shranjen"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Začni snemanje"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Snemanje spremnega govora"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Prikaz dotikov"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Dotaknite se, da ustavite"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Ustavi"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Začasno ustavi"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Nadaljuj"</string>
@@ -392,15 +394,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Varč. z ener. bater."</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Ob sončnem zahodu"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Do sončnega vzhoda"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Vklop ob <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Do <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Tehnologija NFC je onemogočena"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Tehnologija NFC je omogočena"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Snemanje zaslona"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Začni"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Ustavi"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Za preklop aplikacij povlecite navzgor"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Povlecite v desno za hiter preklop med aplikacijami"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Vklop/izklop pregleda"</string>
@@ -702,22 +703,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Prilagodi"</string>
<string name="notification_done" msgid="6215117625922713976">"Dokončano"</string>
<string name="inline_undo" msgid="9026953267645116526">"Razveljavi"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Označi, da to obvestilo ni pogovor"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Priljubljeno"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Odstrani iz priljubljenih"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Prezri"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Znova prikaži"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Pokaži kot oblaček"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Izklopi oblačke"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Dodaj na začetni zaslon"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"kontrolniki obvestil"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"možnosti preložitve obvestil"</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index 14d72b4e1675..2dc3cc8b1cd2 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zmadho për të mbushur ekranin"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Shtrije për të mbushur ekranin"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Pamja e ekranit"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Imazhi është futur"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Po ruan pamjen e ekranit..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Po ruan pamjen e ekranit…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Pamja e ekranit u ruajt"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Nis regjistrimin"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Regjistro zërin e mikrofonit"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Shfaq trokitjet"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Trokit për të ndaluar"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Ndalo"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Ndërprit"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Vazhdo"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Kursyesi i baterisë"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Aktiv në perëndim"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Deri në lindje të diellit"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Aktiv në <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Deri në <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC është çaktivizuar"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC është aktivizuar"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Regjistrimi i ekranit"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Nis"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Ndalo"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Rrëshqit shpejt lart për të ndërruar aplikacionet"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Zvarrit djathtas për të ndërruar aplikacionet me shpejtësi"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Kalo te përmbledhja"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Personalizo"</string>
<string name="notification_done" msgid="6215117625922713976">"U krye"</string>
<string name="inline_undo" msgid="9026953267645116526">"Zhbëj"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Shëno se ky njoftim nuk është një bisedë"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Shëno si të preferuar"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Hiq nga të preferuarat"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Kalo në heshtje"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Aktivizo"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Shfaqe si flluskë"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Çaktivizo flluskat"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Shto në ekranin bazë"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"kontrollet e njoftimit"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"opsionet e shtyrjes së njoftimit"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 29e7e1044d61..4127806f9cd3 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Зумирај на целом екрану"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Развуци на цео екран"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Снимак екрана"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Слика је уметнута"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Чување снимка екрана..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Чување снимка екрана..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Снимак екрана је сачуван"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Започни снимање"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Сними пренос гласа"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Приказуј додире"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Додирните да бисте зауставили"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Заустави"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Паузирај"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Настави"</string>
@@ -390,6 +392,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Уштеда батерије"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Укључује се по заласку сунца"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"До изласка сунца"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Укључује се у <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"До <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC је онемогућен"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC је омогућен"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index b0d78779daad..3e29fa6e6749 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Zooma för att fylla skärm"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Dra för att fylla skärmen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Skärmdump"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Bilden har infogats"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Skärmdumpen sparas ..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Skärmdumpen sparas ..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Skärmdumpen har sparats"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Börja spela in"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Spela in med mikrofondubbning"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Visa tryck"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Tryck för att stoppa"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Stoppa"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pausa"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Återuppta"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Batterisparläge"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"På från solnedgången"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Till soluppgången"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Aktivera kl. <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Till <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC är inaktiverat"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC är aktiverat"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index ecaefb0c0e4e..9fd4284710d1 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Kuza ili kujaza skrini"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Tanua ili kujaza skrini"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Picha ya skrini"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Picha imewekwa"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Inahifadhi picha ya skrini..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Inahifadhi picha ya skrini..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Imehifadhi picha ya skrini"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Anza Kurekodi"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Rekodi sauti"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Onyesha unapogusa"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Gusa ili ukomeshe"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Acha"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Sitisha"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Endelea"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Kiokoa betri"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Itawashwa machweo"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Hadi macheo"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Itawashwa saa <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Hadi saa <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC imezimwa"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC imewashwa"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Rekodi ya Skrini"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Anza kurekodi"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Acha kurekodi"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Telezesha kidole juu ili ubadilishe programu"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Buruta kulia ili ubadilishe programu haraka"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Washa Muhtasari"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Weka mapendeleo"</string>
<string name="notification_done" msgid="6215117625922713976">"Nimemaliza"</string>
<string name="inline_undo" msgid="9026953267645116526">"Tendua"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Tia alama arifa hii kuwa si mazungumzo"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Tia alama ya kipendwa kwenye mazungumzo haya"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Ondoa alama ya kipendwa kwenye mazungumzo haya"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Komesha mazungumzo"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Ruhusu mazungumzo"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Onyesha kuwa kiputo"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Zima viputo"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Ongeza kwenye skrini ya kwanza"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"vidhibiti vya arifa"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"chaguo za kuahirisha arifa"</string>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index 0bea7d6305d6..55bd472a7889 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"திரையை நிரப்ப அளவை மாற்று"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"திரையை நிரப்ப இழு"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ஸ்கிரீன்ஷாட்"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"படம் செருகப்பட்டது"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"ஸ்க்ரீன் ஷாட்டைச் சேமிக்கிறது…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"ஸ்க்ரீன் ஷாட்டைச் சேமிக்கிறது…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"ஸ்கிரீன்ஷாட் சேமிக்கப்பட்டது"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ரெக்கார்டிங்கைத் தொடங்கு"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"வாய்ஸ் ஓவரை ரெக்கார்டு செய்"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"தட்டல்களைக் காட்டு"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"நிறுத்த, தட்டவும்"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"நிறுத்து"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"இடைநிறுத்து"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"மீண்டும் தொடங்கு"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"பேட்டரி சேமிப்பான்"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"மாலையில் ஆன் செய்"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"காலை வரை"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g>க்கு ஆன் செய்"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> வரை"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC முடக்கப்பட்டது"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC இயக்கப்பட்டது"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"ஸ்கிரீன் ரெக்கார்டு"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"தொடங்கு"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"நிறுத்து"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ஆப்ஸிற்கு இடையே மாற்றுவதற்கு, மேல்நோக்கி ஸ்வைப் செய்க"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ஆப்ஸை வேகமாக மாற்ற, வலப்புறம் இழுக்கவும்"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"மேலோட்டப் பார்வையை நிலைமாற்று"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"தனிப்பயனாக்கு"</string>
<string name="notification_done" msgid="6215117625922713976">"முடிந்தது"</string>
<string name="inline_undo" msgid="9026953267645116526">"செயல்தவிர்"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"இந்த அறிவிப்பை உரையாடல் அல்லாததாகக் குறிக்கவும்"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"பிடித்தது"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"பிடித்ததிலிருந்து அகற்று"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"அறிவிப்பைக் காட்டாதே"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"அறிவிப்பைக் காட்டு"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"குமிழாகக் காட்டு"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"குமிழ்களை ஆஃப் செய்"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"முகப்புத் திரையில் சேர்"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"அறிவிப்புக் கட்டுப்பாடுகள்"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"அறிவிப்பை உறக்கநிலையாக்கும் விருப்பங்கள்"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index bb624902beb0..8b9c07ce0264 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"స్క్రీన్‌కు నింపేలా జూమ్ చేయండి"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"స్క్రీన్‌కు నింపేలా విస్తరించండి"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"స్క్రీన్‌షాట్"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"చిత్రం చొప్పించబడింది"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"స్క్రీన్‌షాట్‌ను సేవ్ చేస్తోంది…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"స్క్రీన్‌షాట్‌ను సేవ్ చేస్తోంది…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"స్క్రీన్‌షాట్ సేవ్ చేయబడింది"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"రికార్డింగ్‌ను ప్రారంభించు"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"వాయిస్ఓవర్‌ని రికార్డ్ చేయి"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"నొక్కినవి చూపు"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"ఆపడానికి నొక్కండి"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"ఆపివేయి"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"పాజ్ చేయి"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"కొనసాగించు"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"బ్యాటరీ సేవర్"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"సూర్యాస్తమయానికి"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"సూర్యోదయం వరకు"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> వద్ద"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> వరకు"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC నిలిపివేయబడింది"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ప్రారంభించబడింది"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"స్క్రీన్ రికార్డ్"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"ప్రారంభించు"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"ఆపు"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"యాప్‌లను మార్చడం కోసం ఎగువకు స్వైప్ చేయండి"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"యాప్‌లను శీఘ్రంగా స్విచ్ చేయడానికి కుడి వైపుకు లాగండి"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"స్థూలదృష్టిని టోగుల్ చేయి"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"అనుకూలపరచండి"</string>
<string name="notification_done" msgid="6215117625922713976">"పూర్తయింది"</string>
<string name="inline_undo" msgid="9026953267645116526">"చర్యరద్దు చేయి"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ఈ నోటిఫికేషన్‌ను సంభాషణ కానిది అని గుర్తు పెట్టండి"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"ఇష్టమైనది"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"ఇష్టమైనదిగా పెట్టిన గుర్తును తీసివేయి"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"మ్యూట్ చేయి"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"అన్‌మ్యూట్ చేయి"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"బబుల్‌లా చూపించు"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"బబుల్‌లను ఆఫ్ చేయి"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"హోమ్ స్క్రీన్‌కు జోడించు"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"నోటిఫికేషన్ నియంత్రణలు"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"నోటిఫికేషన్ తాత్కాలిక ఆపివేత ఎంపికలు"</string>
diff --git a/packages/SystemUI/res/values-television/config.xml b/packages/SystemUI/res/values-television/config.xml
index dd4c3210922a..bb4999453d4f 100644
--- a/packages/SystemUI/res/values-television/config.xml
+++ b/packages/SystemUI/res/values-television/config.xml
@@ -20,6 +20,9 @@
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources>
+ <!-- SystemUIFactory component -->
+ <string name="config_systemUIFactoryComponent" translatable="false">com.android.systemui.tv.TvSystemUIFactory</string>
+
<!-- SystemUI Services: The classes of the stuff to start. -->
<string-array name="config_systemUIServiceComponents" translatable="false">
<item>com.android.systemui.util.NotificationChannels</item>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 54c3d7335728..c5e01236912d 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"ขยายจนเต็มหน้าจอ"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"ยืดจนเต็มหน้าจอ"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"ภาพหน้าจอ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"รูปภาพที่แทรก"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"กำลังบันทึกภาพหน้าจอ..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"กำลังบันทึกภาพหน้าจอ..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"บันทึกภาพหน้าจอแล้ว"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"เริ่มต้นการบันทึก"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"บันทึกเสียงบรรยาย"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"แสดงการแตะ"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"แตะเพื่อหยุด"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"หยุด"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"หยุด"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"ทำต่อ"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"โหมดประหยัดแบตเตอรี่"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"เปิดตอนพระอาทิตย์ตก"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"จนพระอาทิตย์ขึ้น"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"เปิดเวลา <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"จนถึง <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC ถูกปิดใช้งาน"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"เปิดใช้งาน NFC แล้ว"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"บันทึกหน้าจอ"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"เริ่ม"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"หยุด"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"เลื่อนขึ้นเพื่อสลับแอป"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"ลากไปทางขวาเพื่อสลับแอปอย่างรวดเร็ว"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"สลับภาพรวม"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"ปรับแต่ง"</string>
<string name="notification_done" msgid="6215117625922713976">"เสร็จสิ้น"</string>
<string name="inline_undo" msgid="9026953267645116526">"เลิกทำ"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"ทำเครื่องหมายการแจ้งเตือนนี้ว่าไม่ใช่บทสนทนา"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"รายการโปรด"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"นำออกจากรายการโปรด"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"ปิดเสียง"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"เปิดเสียง"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"แสดงเป็นบับเบิล"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"ปิดบับเบิล"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"เพิ่มลงในหน้าจอหลัก"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"ส่วนควบคุมการแจ้งเตือน"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"ตัวเลือกการปิดเสียงแจ้งเตือนชั่วคราว"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index ef812fff45cd..3d343c5b4c0b 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"I-zoom upang punan screen"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"I-stretch upang mapuno screen"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Inilagay ang larawan"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Sine-save ang screenshot…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Sine-save ang screenshot…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Na-save ang screenshot"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Simulan ang Pag-record"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"I-record ang voiceover"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Ipakita ang mga pag-tap"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"I-tap para ihinto"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Ihinto"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"I-pause"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Ituloy"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Pangtipid sa Baterya"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Mao-on sa sunset"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Hanggang sunrise"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Ma-o-on nang <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Hanggang <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"Naka-disable ang NFC"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"Naka-enable ang NFC"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Pag-record ng Screen"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Magsimula"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Ihinto"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Mag-swipe pataas upang lumipat ng app"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"I-drag pakanan para mabilisang magpalipat-lipat ng app"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"I-toggle ang Overview"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"I-customize"</string>
<string name="notification_done" msgid="6215117625922713976">"Tapos Na"</string>
<string name="inline_undo" msgid="9026953267645116526">"I-undo"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Markahan ang notification na ito bilang hindi pag-uusap"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Gawing Paborito"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"I-unfavorite"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"I-mute"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"I-unmute"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Ipakita bilang bubble"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"I-off ang mga bubble"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Idagdag sa home screen"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"mga kontrol ng notification"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"mga opsyon sa pag-snooze ng notification"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 470606f48981..46e583fb5124 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Yakınlaştır (ekranı kaplasın)"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Genişlet (ekran kapansın)"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Ekran görüntüsü"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Resim eklendi"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Ekran görüntüsü kaydediliyor..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Ekran görüntüsü kaydediliyor..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Ekran görüntüsü kaydedildi"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Kaydı Başlat"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Seslendirme kaydet"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Dokunmaları göster"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Durdurmak için dokunun"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Durdur"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Duraklat"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Devam ettir"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Pil Tasarrufu"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Gün batımı açılacak"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Sabaha kadar"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Açılacağı saat: <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Şu saate kadar: <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC devre dışı"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC etkin"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ekran Kaydı"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Başlat"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Durdur"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Uygulamalar arasında geçiş yapmak için yukarı kaydırın"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Uygulamaları hızlıca değiştirmek için sağa kaydırın"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Genel bakışı aç/kapat"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Özelleştir"</string>
<string name="notification_done" msgid="6215117625922713976">"Bitti"</string>
<string name="inline_undo" msgid="9026953267645116526">"Geri al"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Bu bildirimi ileti dizisi değil olarak işaretle"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Favori"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Favorilerden kaldır"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Kapat"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Aç"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Balon olarak göster"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Balonları kapat"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Ana ekrana ekle"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"Bildirim kontrolleri"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"bildirim erteleme seçenekleri"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 496206a18668..7baad0df2e55 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Масштабув. на весь екран"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Розтягнути на весь екран"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Знімок екрана"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Вставлене зображення"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Збереження знімка екрана..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Збереження знімка екрана..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Знімок екрана збережено"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Почати запис"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Записувати голосовий супровід"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Показувати дотики"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Натисніть, щоб зупинити"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Зупинити"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Призупинити"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Відновити"</string>
@@ -392,15 +394,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Режим енергозбереження"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Увімкнеться ввечері"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"До сходу сонця"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Вмикається о <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"До <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC вимкнено"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC ввімкнено"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Запис екрана"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Почати"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Зупинити"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Проводьте пальцем угору, щоб переходити між додатками"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Перетягуйте праворуч, щоб швидко переходити між додатками"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Увімкнути або вимкнути огляд"</string>
@@ -702,22 +703,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Налаштувати"</string>
<string name="notification_done" msgid="6215117625922713976">"Готово"</string>
<string name="inline_undo" msgid="9026953267645116526">"Відмінити"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Перетворити з ланцюжка повідомлень на сповіщення"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Вибране"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Видалити з вибраного"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ігнорувати"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Не ігнорувати"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Показувати як спливаюче сповіщення"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Вимкнути спливаючі сповіщення"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Додати на головний екран"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"елементи керування сповіщеннями"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"параметри відкладення сповіщень"</string>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index a6de5095e7e2..97d0a5d1d2a3 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"پوری سکرین پر زوم کریں"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"پوری سکرین پر پھیلائیں"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"اسکرین شاٹ"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"تصویر داخل کر دی گئی"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"اسکرین شاٹ محفوظ ہو رہا ہے…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"اسکرین شاٹ محفوظ ہو رہا ہے…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"اسکرین شاٹ محفوظ ہو گیا"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"ریکارڈنگ شروع کریں"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"وائس اوور ریکارڈ کریں"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"تھپتھپاہٹیں دکھائیں"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"روکنے کے لیے تھپتھپائیں"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"روکیں"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"موقوف کریں"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"دوبارہ شروع کریں"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"بیٹری سیور"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"شام کے وقت آن ہوگی"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"طلوع آفتاب تک"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"آن ہوگی بوقت <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> تک"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"‏NFC غیر فعال ہے"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"‏NFC فعال ہے"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"اسکرین ریکارڈر کریں"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"آغاز"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"روکیں"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"ایپس سوئچ کرنے کیلئے اوپر سوائپ کریں"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"تیزی سے ایپس کو سوئچ کرنے کے لیے دائیں طرف گھسیٹیں"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"مجموعی جائزہ ٹوگل کریں"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"حسب ضرورت بنائیں"</string>
<string name="notification_done" msgid="6215117625922713976">"ہوگیا"</string>
<string name="inline_undo" msgid="9026953267645116526">"کالعدم کریں"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"اس اطلاع کو بطور گفتگو نشان زد نہ کریں"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"پسندیدہ"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"پسندیدگی ختم کریں"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"خاموش کریں"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"آواز چلائیں"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"بلبلہ کے بطور دکھائیں"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"بلبلے آف کریں"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"ہوم اسکرین میں شامل کریں"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"اطلاع کے کنٹرولز"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"اطلاع اسنوز کرنے کے اختیارات"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 1eb02f3eafa7..b514f1e9754c 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Ekranga moslashtirish"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Ekran hajmida cho‘zish"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Skrinshot"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Rasm joylandi"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Skrinshot saqlanmoqda…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Skrinshot saqlanmoqda…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Skrinshot saqlandi"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Yozuvni boshlash"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Kadrorti nutqini yozib olish"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Bosishlarni ko‘rsatish"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Toʻxtatish uchun bosing"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"To‘xtatish"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Pauza"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Davom etish"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Quvvat tejash"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Kunbotarda yoqish"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Quyosh chiqqunicha"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"<xliff:g id="TIME">%s</xliff:g> da yoqish"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"<xliff:g id="TIME">%s</xliff:g> gacha"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC o‘chiq"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC yoniq"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index dc3882e53c3d..c4d76187c817 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"T.phóng để lấp đầy m.hình"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Giãn ra để lấp đầy m.hình"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Chụp ảnh màn hình"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Đã chèn hình ảnh"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Đang lưu ảnh chụp màn hình..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Đang lưu ảnh chụp màn hình..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Đã lưu ảnh chụp màn hình"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Bắt đầu ghi"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Ghi phần thuyết minh"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Hiển thị số lần nhấn"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Nhấn để dừng"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Dừng"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Tạm dừng"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Tiếp tục"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Trình tiết kiệm pin"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Bật khi trời tối"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Cho đến khi trời sáng"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Bật vào lúc <xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Cho đến <xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC đã được tắt"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC đã được bật"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"Ghi lại nội dung trên màn hình"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Bắt đầu"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Dừng"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"Vuốt lên để chuyển đổi ứng dụng"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"Kéo sang phải để chuyển đổi nhanh giữa các ứng dụng"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"Bật/tắt chế độ xem Tổng quan"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"Tùy chỉnh"</string>
<string name="notification_done" msgid="6215117625922713976">"Xong"</string>
<string name="inline_undo" msgid="9026953267645116526">"Hoàn tác"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"Đánh dấu thông báo này không phải là cuộc trò chuyện"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"Đánh dấu là yêu thích"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"Bỏ thích"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"Ẩn"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"Hiển thị"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"Hiển thị dưới dạng bong bóng"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"Tắt bong bóng"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"Thêm vào màn hình chính"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"điều khiển thông báo"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"Tùy chọn báo lại thông báo"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index baacdae2da54..56edb64fd798 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"缩放以填满屏幕"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"拉伸以填满屏幕"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"屏幕截图"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"已插入图片"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"正在保存屏幕截图..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"正在保存屏幕截图..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"已保存屏幕截图"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"开始录制"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"录制旁白"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"显示点按操作反馈"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"点按即可停止"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"停止"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"暂停"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"继续"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"省电模式"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"在日落时开启"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"在日出时关闭"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"在<xliff:g id="TIME">%s</xliff:g> 开启"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"直到<xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC 已停用"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC 已启用"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"屏幕录制"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"开始"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"停止"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"向上滑动可切换应用"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"向右拖动可快速切换应用"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"切换概览"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"自定义"</string>
<string name="notification_done" msgid="6215117625922713976">"完成"</string>
<string name="inline_undo" msgid="9026953267645116526">"撤消"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"将此通知标记为非对话"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"收藏"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"取消收藏"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"静音"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"取消静音"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"显示为气泡"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"关闭气泡"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"添加到主屏幕"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g><xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"通知设置"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"通知延后选项"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 0f1696e7b34e..251e23d1526b 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"放大為全螢幕"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"放大為全螢幕"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"螢幕截圖"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"已插入圖片"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"正在儲存螢幕擷取畫面..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"正在儲存螢幕擷取畫面..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"螢幕擷取畫面已儲存"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"開始錄影"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"錄製畫面外的音效"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"顯示輕按選項"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"輕按即可停止"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"停止"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"暫停"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"繼續"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"省電模式"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"在日落時開啟"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"在日出時關閉"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"於<xliff:g id="TIME">%s</xliff:g>開啟"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"直至<xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC 已停用"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC 已啟用"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"畫面錄影"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"開始"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"停"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"向上滑動即可切換應用程式"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"向右拖曳即可快速切換應用程式"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"切換概覽"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"自訂"</string>
<string name="notification_done" msgid="6215117625922713976">"完成"</string>
<string name="inline_undo" msgid="9026953267645116526">"復原"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"將此通知標示為非對話"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"我的最愛"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"取消收藏"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"靜音"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"取消靜音"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"以小視窗顯示"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"關閉小視窗"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"加入主畫面"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"通知控制項"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"通知延後選項"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index e8e76ecb6094..a7ec5985a745 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"放大為全螢幕"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"放大為全螢幕"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"擷取螢幕畫面"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"已插入圖片"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"正在儲存螢幕截圖…"</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"正在儲存螢幕截圖…"</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"螢幕截圖已儲存"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"開始錄製"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"錄製畫面外的音效"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"顯示觸控回應"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"輕觸即可停止"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"停止"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"暫停"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"繼續"</string>
@@ -388,15 +390,14 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"節約耗電量"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"於日落時開啟"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"於日出時關閉"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"開啟時間:<xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"關閉時間:<xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"NFC 已停用"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"NFC 已啟用"</string>
- <!-- no translation found for quick_settings_screen_record_label (1594046461509776676) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_start (1574725369331638985) -->
- <skip />
- <!-- no translation found for quick_settings_screen_record_stop (8087348522976412119) -->
- <skip />
+ <string name="quick_settings_screen_record_label" msgid="1594046461509776676">"螢幕畫面錄製"</string>
+ <string name="quick_settings_screen_record_start" msgid="1574725369331638985">"開始"</string>
+ <string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"停止"</string>
<string name="recents_swipe_up_onboarding" msgid="2820265886420993995">"向上滑動即可切換應用程式"</string>
<string name="recents_quick_scrub_onboarding" msgid="765934300283514912">"向右拖曳即可快速切換應用程式"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7908949976727578403">"切換總覽"</string>
@@ -696,22 +697,14 @@
<string name="notification_app_settings" msgid="8963648463858039377">"自訂"</string>
<string name="notification_done" msgid="6215117625922713976">"完成"</string>
<string name="inline_undo" msgid="9026953267645116526">"復原"</string>
- <!-- no translation found for demote (6225813324237153980) -->
- <skip />
- <!-- no translation found for notification_conversation_favorite (8252976467488182853) -->
- <skip />
- <!-- no translation found for notification_conversation_unfavorite (633301300443356176) -->
- <skip />
- <!-- no translation found for notification_conversation_mute (477431709687199671) -->
- <skip />
- <!-- no translation found for notification_conversation_unmute (410885000669775294) -->
- <skip />
- <!-- no translation found for notification_conversation_bubble (4598142032706190028) -->
- <skip />
- <!-- no translation found for notification_conversation_unbubble (2303087159802926401) -->
- <skip />
- <!-- no translation found for notification_conversation_home_screen (8347136037958438935) -->
- <skip />
+ <string name="demote" msgid="6225813324237153980">"將這則通知標示為非對話"</string>
+ <string name="notification_conversation_favorite" msgid="8252976467488182853">"加入收藏"</string>
+ <string name="notification_conversation_unfavorite" msgid="633301300443356176">"從收藏中移除"</string>
+ <string name="notification_conversation_mute" msgid="477431709687199671">"忽略"</string>
+ <string name="notification_conversation_unmute" msgid="410885000669775294">"取消忽略"</string>
+ <string name="notification_conversation_bubble" msgid="4598142032706190028">"以泡泡形式顯示"</string>
+ <string name="notification_conversation_unbubble" msgid="2303087159802926401">"關閉泡泡"</string>
+ <string name="notification_conversation_home_screen" msgid="8347136037958438935">"新增至主螢幕"</string>
<string name="notification_menu_accessibility" msgid="8984166825879886773">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="MENU_DESCRIPTION">%2$s</xliff:g>"</string>
<string name="notification_menu_gear_description" msgid="6429668976593634862">"通知控制項"</string>
<string name="notification_menu_snooze_description" msgid="4740133348901973244">"通知延後選項"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index fa764b575df0..1203b579c52f 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -71,6 +71,7 @@
<string name="compat_mode_on" msgid="4963711187149440884">"Sondeza ukugcwalisa isikrini"</string>
<string name="compat_mode_off" msgid="7682459748279487945">"Nweba ukugcwalisa isikrini"</string>
<string name="global_action_screenshot" msgid="2760267567509131654">"Isithombe-skrini"</string>
+ <string name="remote_input_image_insertion_text" msgid="4613177882724332877">"Isithombe sifakiwe"</string>
<string name="screenshot_saving_ticker" msgid="6519186952674544916">"Ilondoloz umfanekiso weskrini..."</string>
<string name="screenshot_saving_title" msgid="2298349784913287333">"Ilondoloz umfanekiso weskrini..."</string>
<string name="screenshot_saved_title" msgid="8893267638659083153">"Isithombe-skrini silondoloziwe"</string>
@@ -84,6 +85,7 @@
<string name="screenrecord_start_label" msgid="1539048263178882562">"Qala ukurekhoda"</string>
<string name="screenrecord_mic_label" msgid="6134198080740031632">"Rekhoda izwi elingaphezulu"</string>
<string name="screenrecord_taps_label" msgid="2518244240225925076">"Bonisa amathebhu"</string>
+ <string name="screenrecord_stop_text" msgid="6549288689506057686">"Thepha ukuze umise"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Misa"</string>
<string name="screenrecord_pause_label" msgid="6004054907104549857">"Phumula"</string>
<string name="screenrecord_resume_label" msgid="4972223043729555575">"Qalisa kabusha"</string>
@@ -388,6 +390,8 @@
<string name="quick_settings_dark_mode_secondary_label_battery_saver" msgid="4990712734503013251">"Isilondolozi sebhethri"</string>
<string name="quick_settings_dark_mode_secondary_label_on_at_sunset" msgid="6017379738102015710">"Kuvulwe ekushoneni kwelanga"</string>
<string name="quick_settings_dark_mode_secondary_label_until_sunrise" msgid="4404885070316716472">"Kuze kube sekuphumeni kwelanga"</string>
+ <string name="quick_settings_dark_mode_secondary_label_on_at" msgid="5128758823486361279">"Kuvulwe ngo-<xliff:g id="TIME">%s</xliff:g>"</string>
+ <string name="quick_settings_dark_mode_secondary_label_until" msgid="2289774641256492437">"Kuze kube ngu-<xliff:g id="TIME">%s</xliff:g>"</string>
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"I-NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"I-NFC ikhutshaziwe"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"I-NFC inikwe amandla"</string>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index 2aa6d9512898..d72ce5eea78d 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -328,6 +328,10 @@
<item type="id" name="action_toggle_overview"/>
+ <!-- Whether or not to show notifications to the user. If disabled, SystemUI will still be
+ registered as a notification listener, but will ignore all notification events. -->
+ <bool name="config_renderNotifications">true</bool>
+
<!-- Whether or not the gear icon on notifications should be shown. The gear is shown when the
the notification is not swiped enough to dismiss it. -->
<bool name="config_showNotificationGear">true</bool>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index cc58b2014496..33cabc1fea52 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -972,7 +972,6 @@
<!-- Global actions power menu -->
<dimen name="global_actions_top_margin">12dp</dimen>
- <dimen name="global_actions_plugin_offset">-145dp</dimen>
<dimen name="global_actions_panel_width">120dp</dimen>
<dimen name="global_actions_padding">12dp</dimen>
@@ -1165,10 +1164,12 @@
<dimen name="new_qs_vertical_margin">8dp</dimen>
<!-- Size of media cards in the QSPanel carousel -->
- <dimen name="qs_media_height">150dp</dimen>
<dimen name="qs_media_width">350dp</dimen>
<dimen name="qs_media_padding">8dp</dimen>
<dimen name="qs_media_corner_radius">10dp</dimen>
+ <dimen name="qs_media_album_size">72dp</dimen>
+ <dimen name="qs_seamless_icon_size">20dp</dimen>
+ <dimen name="qqs_media_spacing">8dp</dimen>
<dimen name="magnification_border_size">5dp</dimen>
<dimen name="magnification_frame_move_short">5dp</dimen>
@@ -1182,7 +1183,7 @@
<dimen name="magnifier_up_down_controls_height">40dp</dimen>
<!-- Home Controls -->
- <dimen name="control_spacing">5dp</dimen>
+ <dimen name="control_spacing">4dp</dimen>
<dimen name="control_corner_radius">15dp</dimen>
<dimen name="control_height">100dp</dimen>
<dimen name="control_padding">15dp</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 1f13f8dc02fe..fb8df5bfc7ce 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -196,7 +196,7 @@
<!-- text to show in place of RemoteInput images when they cannot be shown.
[CHAR LIMIT=50] -->
- <string name="remote_input_image_insertion_text">Image inserted</string>
+ <string name="remote_input_image_insertion_text">sent an image</string>
<!-- Notification ticker displayed when a screenshot is being saved to the Gallery. [CHAR LIMIT=30] -->
<string name="screenshot_saving_ticker">Saving screenshot\u2026</string>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 10f59a423805..6cde90c6c996 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -234,6 +234,37 @@
<style name="TextAppearance.DeviceManagementDialog.Title" parent="@android:style/TextAppearance.DeviceDefault.DialogWindowTitle"/>
+ <style name="TextAppearance.AuthCredential">
+ <item name="android:gravity">center_horizontal</item>
+ <item name="android:fontFamily">google-sans</item>
+ <item name="android:textAlignment">gravity</item>
+ <item name="android:layout_gravity">top</item>
+ <item name="android:textColor">?android:attr/textColorPrimary</item>
+ </style>
+
+ <style name="TextAppearance.AuthCredential.Title">
+ <item name="android:layout_marginBottom">2dp</item>
+ <item name="android:layout_marginLeft">24dp</item>
+ <item name="android:layout_marginRight">24dp</item>
+ <item name="android:layout_marginTop">16dp</item>
+ <item name="android:textSize">24sp</item>
+ </style>
+
+ <style name="TextAppearance.AuthCredential.Description">
+ <item name="android:layout_marginBottom">12dp</item>
+ <item name="android:layout_marginStart">40dp</item>
+ <item name="android:layout_marginEnd">40dp</item>
+ <item name="android:layout_marginTop">3dp</item>
+ <item name="android:textSize">16sp</item>
+ </style>
+
+ <style name="TextAppearance.AuthCredential.PasswordEntry" parent="@android:style/TextAppearance.DeviceDefault">
+ <item name="android:gravity">center</item>
+ <item name="android:singleLine">true</item>
+ <item name="android:textColor">?android:attr/colorForeground</item>
+ <item name="android:textSize">24sp</item>
+ </style>
+
<style name="DeviceManagementDialogTitle">
<item name="android:gravity">center</item>
<item name="android:textAppearance">@style/TextAppearance.DeviceManagementDialog.Title</item>
@@ -297,6 +328,16 @@
<item name="android:textColor">?attr/wallpaperTextColor</item>
</style>
+ <style name="LockPatternContainerStyle">
+ <item name="android:maxHeight">400dp</item>
+ <item name="android:maxWidth">420dp</item>
+ <item name="android:minHeight">0dp</item>
+ <item name="android:minWidth">0dp</item>
+ <item name="android:paddingBottom">0dp</item>
+ <item name="android:paddingHorizontal">44dp</item>
+ <item name="android:paddingTop">0dp</item>
+ </style>
+
<style name="LockPatternStyle">
<item name="*android:regularColor">?attr/wallpaperTextColor</item>
<item name="*android:successColor">?attr/wallpaperTextColor</item>
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
index 577e3bbefdad..26ef1d68858e 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
@@ -27,7 +27,6 @@ oneway interface IOverviewProxy {
void onInitialize(in Bundle params) = 12;
-
/**
* @deprecated
*/
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java
deleted file mode 100644
index 78b1b26140d5..000000000000
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/IconLoader.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.systemui.shared.recents.model;
-
-import static android.content.pm.PackageManager.MATCH_ANY_USER;
-
-import android.app.ActivityManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.UserHandle;
-import android.util.IconDrawableFactory;
-import android.util.Log;
-import android.util.LruCache;
-
-import com.android.systemui.shared.system.PackageManagerWrapper;
-
-public abstract class IconLoader {
-
- private static final String TAG = "IconLoader";
-
- protected final Context mContext;
- protected final TaskKeyLruCache<Drawable> mIconCache;
- protected final LruCache<ComponentName, ActivityInfo> mActivityInfoCache;
-
- public IconLoader(Context context, TaskKeyLruCache<Drawable> iconCache, LruCache<ComponentName,
- ActivityInfo> activityInfoCache) {
- mContext = context;
- mIconCache = iconCache;
- mActivityInfoCache = activityInfoCache;
- }
-
- /**
- * Returns the activity info for the given task key, retrieving one from the system if the
- * task key is expired.
- *
- * TODO: Move this to an ActivityInfoCache class
- */
- public ActivityInfo getAndUpdateActivityInfo(Task.TaskKey taskKey) {
- ComponentName cn = taskKey.getComponent();
- ActivityInfo activityInfo = mActivityInfoCache.get(cn);
- if (activityInfo == null) {
- activityInfo = PackageManagerWrapper.getInstance().getActivityInfo(cn, taskKey.userId);
- if (cn == null || activityInfo == null) {
- Log.e(TAG, "Unexpected null component name or activity info: " + cn + ", " +
- activityInfo);
- return null;
- }
- mActivityInfoCache.put(cn, activityInfo);
- }
- return activityInfo;
- }
-
- public Drawable getIcon(Task t) {
- Drawable cachedIcon = mIconCache.get(t.key);
- if (cachedIcon == null) {
- cachedIcon = createNewIconForTask(t.key, t.taskDescription, true /* returnDefault */);
- mIconCache.put(t.key, cachedIcon);
- }
- return cachedIcon;
- }
-
- /**
- * Returns the cached task icon if the task key is not expired, updating the cache if it is.
- */
- public Drawable getAndInvalidateIfModified(Task.TaskKey taskKey,
- ActivityManager.TaskDescription td, boolean loadIfNotCached) {
- // Return the cached activity icon if it exists
- Drawable icon = mIconCache.getAndInvalidateIfModified(taskKey);
- if (icon != null) {
- return icon;
- }
-
- if (loadIfNotCached) {
- icon = createNewIconForTask(taskKey, td, false /* returnDefault */);
- if (icon != null) {
- mIconCache.put(taskKey, icon);
- return icon;
- }
- }
-
- // We couldn't load any icon
- return null;
- }
-
- private Drawable createNewIconForTask(Task.TaskKey taskKey,
- ActivityManager.TaskDescription desc, boolean returnDefault) {
- int userId = taskKey.userId;
- Bitmap tdIcon = desc.getInMemoryIcon();
- if (tdIcon != null) {
- return createDrawableFromBitmap(tdIcon, userId, desc);
- }
- if (desc.getIconResource() != 0) {
- try {
- PackageManager pm = mContext.getPackageManager();
- ApplicationInfo appInfo = pm.getApplicationInfo(taskKey.getPackageName(),
- MATCH_ANY_USER);
- Resources res = pm.getResourcesForApplication(appInfo);
- return createBadgedDrawable(res.getDrawable(desc.getIconResource(), null), userId,
- desc);
- } catch (Resources.NotFoundException|PackageManager.NameNotFoundException e) {
- Log.e(TAG, "Could not find icon drawable from resource", e);
- }
- }
-
- tdIcon = ActivityManager.TaskDescription.loadTaskDescriptionIcon(
- desc.getIconFilename(), userId);
- if (tdIcon != null) {
- return createDrawableFromBitmap(tdIcon, userId, desc);
- }
-
- // Load the icon from the activity info and cache it
- ActivityInfo activityInfo = getAndUpdateActivityInfo(taskKey);
- if (activityInfo != null) {
- Drawable icon = getBadgedActivityIcon(activityInfo, userId, desc);
- if (icon != null) {
- return icon;
- }
- }
-
- // At this point, even if we can't load the icon, we will set the default icon.
- return returnDefault ? getDefaultIcon(userId) : null;
- }
-
- public abstract Drawable getDefaultIcon(int userId);
-
- protected Drawable createDrawableFromBitmap(Bitmap icon, int userId,
- ActivityManager.TaskDescription desc) {
- return createBadgedDrawable(
- new BitmapDrawable(mContext.getResources(), icon), userId, desc);
- }
-
- protected abstract Drawable createBadgedDrawable(Drawable icon, int userId,
- ActivityManager.TaskDescription desc);
-
- /**
- * @return the activity icon for the ActivityInfo for a user, badging if necessary.
- */
- protected abstract Drawable getBadgedActivityIcon(ActivityInfo info, int userId,
- ActivityManager.TaskDescription desc);
-
- public static class DefaultIconLoader extends IconLoader {
-
- private final BitmapDrawable mDefaultIcon;
- private final IconDrawableFactory mDrawableFactory;
-
- public DefaultIconLoader(Context context, TaskKeyLruCache<Drawable> iconCache,
- LruCache<ComponentName, ActivityInfo> activityInfoCache) {
- super(context, iconCache, activityInfoCache);
-
- // Create the default assets
- Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ALPHA_8);
- icon.eraseColor(0);
- mDefaultIcon = new BitmapDrawable(context.getResources(), icon);
- mDrawableFactory = IconDrawableFactory.newInstance(context);
- }
-
- @Override
- public Drawable getDefaultIcon(int userId) {
- return mDefaultIcon;
- }
-
- @Override
- protected Drawable createBadgedDrawable(Drawable icon, int userId,
- ActivityManager.TaskDescription desc) {
- if (userId != UserHandle.myUserId()) {
- icon = mContext.getPackageManager().getUserBadgedIcon(icon, new UserHandle(userId));
- }
- return icon;
- }
-
- @Override
- protected Drawable getBadgedActivityIcon(ActivityInfo info, int userId,
- ActivityManager.TaskDescription desc) {
- return mDrawableFactory.getBadgedIcon(info, info.applicationInfo, userId);
- }
- }
-}
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyCache.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyCache.java
deleted file mode 100644
index 8a244bf81c7c..000000000000
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyCache.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.systemui.shared.recents.model;
-
-import android.util.Log;
-import android.util.SparseArray;
-
-import com.android.systemui.shared.recents.model.Task.TaskKey;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Base class for both strong and LRU task key cache.
- */
-public abstract class TaskKeyCache<V> {
-
- protected static final String TAG = "TaskKeyCache";
-
- protected final SparseArray<TaskKey> mKeys = new SparseArray<>();
-
- /**
- * Gets a specific entry in the cache with the specified key, regardless of whether the cached
- * value is valid or not.
- */
- public final synchronized V get(TaskKey key) {
- return getCacheEntry(key.id);
- }
-
- /**
- * Returns the value only if the key is valid (has not been updated since the last time it was
- * in the cache)
- */
- public final synchronized V getAndInvalidateIfModified(TaskKey key) {
- TaskKey lastKey = mKeys.get(key.id);
- if (lastKey != null) {
- if ((lastKey.windowingMode != key.windowingMode) ||
- (lastKey.lastActiveTime != key.lastActiveTime)) {
- // The task has updated (been made active since the last time it was put into the
- // LRU cache) or the stack id for the task has changed, invalidate that cache item
- remove(key);
- return null;
- }
- }
- // Either the task does not exist in the cache, or the last active time is the same as
- // the key specified, so return what is in the cache
- return getCacheEntry(key.id);
- }
-
- /** Puts an entry in the cache for a specific key. */
- public final synchronized void put(TaskKey key, V value) {
- if (key == null || value == null) {
- Log.e(TAG, "Unexpected null key or value: " + key + ", " + value);
- return;
- }
- mKeys.put(key.id, key);
- putCacheEntry(key.id, value);
- }
-
-
- /** Removes a cache entry for a specific key. */
- public final synchronized void remove(TaskKey key) {
- // Remove the key after the cache value because we need it to make the callback
- removeCacheEntry(key.id);
- mKeys.remove(key.id);
- }
-
- /** @return {@link Collection} of {@link TaskKey} */
- public Collection<TaskKey> getValues() {
- Collection<TaskKey> result = new ArrayList<>(mKeys.size());
- for (int i = 0; i < mKeys.size(); i++) {
- result.add(mKeys.valueAt(i));
- }
- return result;
- }
-
- /** Removes all the entries in the cache. */
- public final synchronized void evictAll() {
- evictAllCache();
- mKeys.clear();
- }
-
- protected abstract V getCacheEntry(int id);
- protected abstract void putCacheEntry(int id, V value);
- protected abstract void removeCacheEntry(int id);
- protected abstract void evictAllCache();
-}
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyLruCache.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyLruCache.java
deleted file mode 100644
index bc57b08236cf..000000000000
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/TaskKeyLruCache.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.shared.recents.model;
-
-import android.util.LruCache;
-
-import com.android.systemui.shared.recents.model.Task.TaskKey;
-
-import java.io.PrintWriter;
-
-/**
- * A mapping of {@link TaskKey} to value, with additional LRU functionality where the least
- * recently referenced key/values will be evicted as more values than the given cache size are
- * inserted.
- *
- * In addition, this also allows the caller to invalidate cached values for keys that have since
- * changed.
- */
-public class TaskKeyLruCache<V> extends TaskKeyCache<V> {
-
- public interface EvictionCallback {
- void onEntryEvicted(TaskKey key);
- }
-
- private final LruCache<Integer, V> mCache;
- private final EvictionCallback mEvictionCallback;
-
- public TaskKeyLruCache(int cacheSize) {
- this(cacheSize, null);
- }
-
- public TaskKeyLruCache(int cacheSize, EvictionCallback evictionCallback) {
- mEvictionCallback = evictionCallback;
- mCache = new LruCache<Integer, V>(cacheSize) {
-
- @Override
- protected void entryRemoved(boolean evicted, Integer taskId, V oldV, V newV) {
- if (mEvictionCallback != null && evicted) {
- mEvictionCallback.onEntryEvicted(mKeys.get(taskId));
- }
-
- // Only remove from mKeys on cache remove, not a cache update.
- if (newV == null) {
- mKeys.remove(taskId);
- }
- }
- };
- }
-
- /** Trims the cache to a specific size */
- public final void trimToSize(int cacheSize) {
- mCache.trimToSize(cacheSize);
- }
-
- public void dump(String prefix, PrintWriter writer) {
- String innerPrefix = prefix + " ";
-
- writer.print(prefix); writer.print(TAG);
- writer.print(" numEntries="); writer.print(mKeys.size());
- writer.println();
- int keyCount = mKeys.size();
- for (int i = 0; i < keyCount; i++) {
- writer.print(innerPrefix); writer.println(mKeys.get(mKeys.keyAt(i)));
- }
- }
-
- @Override
- protected V getCacheEntry(int id) {
- return mCache.get(id);
- }
-
- @Override
- protected void putCacheEntry(int id, V value) {
- mCache.put(id, value);
- }
-
- @Override
- protected void removeCacheEntry(int id) {
- mCache.remove(id);
- }
-
- @Override
- protected void evictAllCache() {
- mCache.evictAll();
- }
-}
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java
index 08996c38baf6..386fe531c93d 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java
@@ -85,6 +85,8 @@ public class QuickStepContract {
// The notification panel is expanded and interactive (either locked or unlocked), and the
// quick settings is not expanded
public static final int SYSUI_STATE_QUICK_SETTINGS_EXPANDED = 1 << 11;
+ // Winscope tracing is enabled
+ public static final int SYSUI_STATE_TRACING_ENABLED = 1 << 12;
@Retention(RetentionPolicy.SOURCE)
@IntDef({SYSUI_STATE_SCREEN_PINNING,
@@ -98,7 +100,8 @@ public class QuickStepContract {
SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
SYSUI_STATE_OVERVIEW_DISABLED,
SYSUI_STATE_HOME_DISABLED,
- SYSUI_STATE_SEARCH_DISABLED
+ SYSUI_STATE_SEARCH_DISABLED,
+ SYSUI_STATE_TRACING_ENABLED
})
public @interface SystemUiStateFlags {}
@@ -117,6 +120,7 @@ public class QuickStepContract {
str.add((flags & SYSUI_STATE_BOUNCER_SHOWING) != 0 ? "bouncer_visible" : "");
str.add((flags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0 ? "a11y_click" : "");
str.add((flags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0 ? "a11y_long_click" : "");
+ str.add((flags & SYSUI_STATE_TRACING_ENABLED) != 0 ? "tracing" : "");
return str.toString();
}
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java
new file mode 100644
index 000000000000..356e0ca7193c
--- /dev/null
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/FrameProtoTracer.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.shared.tracing;
+
+import android.os.Trace;
+import android.util.Log;
+import android.view.Choreographer;
+
+import com.android.internal.util.TraceBuffer;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.Queue;
+import java.util.function.Consumer;
+
+/**
+ * A proto tracer implementation that can be updated directly (upon state change), or on the next
+ * scheduled frame.
+ *
+ * @param <P> The class type of the proto provider
+ * @param <S> The proto class type of the encapsulating proto
+ * @param <T> The proto class type of the individual proto entries in the buffer
+ * @param <R> The proto class type of the entry root proto in the buffer
+ */
+public class FrameProtoTracer<P, S extends P, T extends P, R>
+ implements Choreographer.FrameCallback {
+
+ private static final String TAG = "FrameProtoTracer";
+ private static final int BUFFER_CAPACITY = 1024 * 1024;
+
+ private final Object mLock = new Object();
+ private final TraceBuffer<P, S, T> mBuffer;
+ private final File mTraceFile;
+ private final ProtoTraceParams<P, S, T, R> mParams;
+ private final Choreographer mChoreographer;
+ private final Queue<T> mPool = new LinkedList<>();
+ private final ArrayList<ProtoTraceable<R>> mTraceables = new ArrayList<>();
+ private final ArrayList<ProtoTraceable<R>> mTmpTraceables = new ArrayList<>();
+
+ private volatile boolean mEnabled;
+ private boolean mFrameScheduled;
+
+ private final TraceBuffer.ProtoProvider<P, S, T> mProvider =
+ new TraceBuffer.ProtoProvider<P, S, T>() {
+ @Override
+ public int getItemSize(P proto) {
+ return mParams.getProtoSize(proto);
+ }
+
+ @Override
+ public byte[] getBytes(P proto) {
+ return mParams.getProtoBytes(proto);
+ }
+
+ @Override
+ public void write(S encapsulatingProto, Queue<T> buffer, OutputStream os)
+ throws IOException {
+ os.write(mParams.serializeEncapsulatingProto(encapsulatingProto, buffer));
+ }
+ };
+
+ public interface ProtoTraceParams<P, S, T, R> {
+ File getTraceFile();
+ S getEncapsulatingTraceProto();
+ T updateBufferProto(T reuseObj, ArrayList<ProtoTraceable<R>> traceables);
+ byte[] serializeEncapsulatingProto(S encapsulatingProto, Queue<T> buffer);
+ byte[] getProtoBytes(P proto);
+ int getProtoSize(P proto);
+ }
+
+ public FrameProtoTracer(ProtoTraceParams<P, S, T, R> params) {
+ mParams = params;
+ mBuffer = new TraceBuffer<>(BUFFER_CAPACITY, mProvider, new Consumer<T>() {
+ @Override
+ public void accept(T t) {
+ onProtoDequeued(t);
+ }
+ });
+ mTraceFile = params.getTraceFile();
+ mChoreographer = Choreographer.getMainThreadInstance();
+ }
+
+ public void start() {
+ synchronized (mLock) {
+ if (mEnabled) {
+ return;
+ }
+ mBuffer.resetBuffer();
+ mEnabled = true;
+ }
+ logState();
+ }
+
+ public void stop() {
+ synchronized (mLock) {
+ if (!mEnabled) {
+ return;
+ }
+ mEnabled = false;
+ }
+ writeToFile();
+ }
+
+ public boolean isEnabled() {
+ return mEnabled;
+ }
+
+ public void add(ProtoTraceable<R> traceable) {
+ synchronized (mLock) {
+ mTraceables.add(traceable);
+ }
+ }
+
+ public void remove(ProtoTraceable<R> traceable) {
+ synchronized (mLock) {
+ mTraceables.remove(traceable);
+ }
+ }
+
+ public void scheduleFrameUpdate() {
+ if (!mEnabled || mFrameScheduled) {
+ return;
+ }
+
+ // Schedule an update on the next frame
+ mChoreographer.postFrameCallback(this);
+ mFrameScheduled = true;
+ }
+
+ public void update() {
+ if (!mEnabled) {
+ return;
+ }
+
+ logState();
+ }
+
+ public float getBufferUsagePct() {
+ return (float) mBuffer.getBufferSize() / BUFFER_CAPACITY;
+ }
+
+ @Override
+ public void doFrame(long frameTimeNanos) {
+ logState();
+ }
+
+ private void onProtoDequeued(T proto) {
+ mPool.add(proto);
+ }
+
+ private void logState() {
+ synchronized (mLock) {
+ mTmpTraceables.addAll(mTraceables);
+ }
+
+ mBuffer.add(mParams.updateBufferProto(mPool.poll(), mTmpTraceables));
+ mTmpTraceables.clear();
+ mFrameScheduled = false;
+ }
+
+ private void writeToFile() {
+ try {
+ Trace.beginSection("ProtoTracer.writeToFile");
+ mBuffer.writeTraceToFile(mTraceFile, mParams.getEncapsulatingTraceProto());
+ } catch (IOException e) {
+ Log.e(TAG, "Unable to write buffer to file", e);
+ } finally {
+ Trace.endSection();
+ }
+ }
+}
+
+
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/ProtoTraceable.java b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/ProtoTraceable.java
new file mode 100644
index 000000000000..e05b0b074449
--- /dev/null
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/tracing/ProtoTraceable.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package com.android.systemui.shared.tracing;
+
+/**
+ * @see FrameProtoTracer
+ */
+public interface ProtoTraceable<T> {
+
+ /**
+ * NOTE: Implementations should update all fields in this proto.
+ */
+ void writeToProto(T proto);
+}
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java
index ed1cd8191092..d5a08dda9853 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardHostView.java
@@ -409,15 +409,6 @@ public class KeyguardHostView extends FrameLayout implements SecurityCallback {
mAudioManager.dispatchMediaKeyEvent(keyEvent);
}
- @Override
- public void dispatchSystemUiVisibilityChanged(int visibility) {
- super.dispatchSystemUiVisibilityChanged(visibility);
-
- if (!(mContext instanceof Activity)) {
- setSystemUiVisibility(STATUS_BAR_DISABLE_BACK);
- }
- }
-
/**
* In general, we enable unlocking the insecure keyguard with the menu key. However, there are
* some cases where we wish to disable it, notably when the menu button placement or technology
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
index ae787260adca..29c67ae1b4a6 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
@@ -15,7 +15,12 @@
*/
package com.android.keyguard;
+import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
+import static android.view.ViewRootImpl.sNewInsetsMode;
+import static android.view.WindowInsets.Type.ime;
+import static android.view.WindowInsets.Type.systemBars;
import static com.android.systemui.DejankUtils.whitelistIpcs;
+import static java.lang.Integer.max;
import android.app.Activity;
import android.app.AlertDialog;
@@ -38,6 +43,7 @@ import android.view.SurfaceControl;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewConfiguration;
+import android.view.WindowInsets;
import android.view.WindowManager;
import android.widget.FrameLayout;
@@ -339,13 +345,22 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe
}
@Override
- protected boolean fitSystemWindows(Rect insets) {
+ public WindowInsets onApplyWindowInsets(WindowInsets insets) {
+
// Consume bottom insets because we're setting the padding locally (for IME and navbar.)
- setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), insets.bottom);
- insets.bottom = 0;
- return false;
+ int inset;
+ if (sNewInsetsMode == NEW_INSETS_MODE_FULL) {
+ int bottomInset = insets.getInsetsIgnoringVisibility(systemBars()).bottom;
+ int imeInset = insets.getInsets(ime()).bottom;
+ inset = max(bottomInset, imeInset);
+ } else {
+ inset = insets.getSystemWindowInsetBottom();
+ }
+ setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), inset);
+ return insets.inset(0, 0, 0, inset);
}
+
private void showDialog(String title, String message) {
if (mAlertDialog != null) {
mAlertDialog.dismiss();
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 58a6c17e8239..6a04583b70ba 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -371,7 +371,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
checkIsHandlerThread();
if (DEBUG_SIM_STATES) {
Log.v(TAG, "onSubscriptionInfoChanged()");
- List<SubscriptionInfo> sil = mSubscriptionManager.getActiveSubscriptionInfoList(false);
+ List<SubscriptionInfo> sil = mSubscriptionManager
+ .getActiveAndHiddenSubscriptionInfoList();
if (sil != null) {
for (SubscriptionInfo subInfo : sil) {
Log.v(TAG, "SubInfo:" + subInfo);
@@ -425,10 +426,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
public List<SubscriptionInfo> getSubscriptionInfo(boolean forceReload) {
List<SubscriptionInfo> sil = mSubscriptionInfo;
if (sil == null || forceReload) {
- sil = mSubscriptionManager.getActiveSubscriptionInfoList(false);
+ sil = mSubscriptionManager.getActiveAndHiddenSubscriptionInfoList();
}
if (sil == null) {
- // getActiveSubscriptionInfoList was null callers expect an empty list.
+ // getActiveAndHiddenSubscriptionInfoList was null callers expect an empty list.
mSubscriptionInfo = new ArrayList<SubscriptionInfo>();
} else {
mSubscriptionInfo = sil;
@@ -1882,9 +1883,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
final boolean awakeKeyguard = mKeyguardIsVisible && mDeviceInteractive && !mGoingToSleep;
final int user = getCurrentUser();
final int strongAuth = mStrongAuthTracker.getStrongAuthForUser(user);
- final boolean isLockOutOrLockDown =
- containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_LOCKOUT)
- || containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_DPM_LOCK_NOW)
+ final boolean isLockDown =
+ containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_DPM_LOCK_NOW)
|| containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_USER_LOCKDOWN);
final boolean isEncryptedOrTimedOut =
containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_BOOT)
@@ -1898,9 +1898,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
boolean becauseCannotSkipBouncer = !getUserCanSkipBouncer(user) || canBypass;
// Scan even when encrypted or timeout to show a preemptive bouncer when bypassing.
- // Lockout/lockdown modes shouldn't scan, since they are more explicit.
+ // Lock-down mode shouldn't scan, since it is more explicit.
boolean strongAuthAllowsScanning = (!isEncryptedOrTimedOut || canBypass && !mBouncer)
- && !isLockOutOrLockDown;
+ && !isLockDown;
// Only listen if this KeyguardUpdateMonitor belongs to the primary user. There is an
// instance of KeyguardUpdateMonitor for each user but KeyguardUpdateMonitor is user-aware.
diff --git a/packages/SystemUI/src/com/android/systemui/DejankUtils.java b/packages/SystemUI/src/com/android/systemui/DejankUtils.java
index 97578e19ccd1..3fce55f6e515 100644
--- a/packages/SystemUI/src/com/android/systemui/DejankUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/DejankUtils.java
@@ -61,19 +61,21 @@ public class DejankUtils {
|| !isMainThread() || sTemporarilyIgnoreStrictMode) {
return null;
}
+ }
- try {
- String description = binder.getInterfaceDescriptor();
+ try {
+ String description = binder.getInterfaceDescriptor();
+ synchronized (sLock) {
if (sWhitelistedFrameworkClasses.contains(description)) {
return null;
}
- } catch (RemoteException e) {
- e.printStackTrace();
}
-
- StrictMode.noteSlowCall("IPC detected on critical path: " + sBlockingIpcs.peek());
- return null;
+ } catch (RemoteException e) {
+ e.printStackTrace();
}
+
+ StrictMode.noteSlowCall("IPC detected on critical path: " + sBlockingIpcs.peek());
+ return null;
}
@Override
@@ -126,9 +128,11 @@ public class DejankUtils {
if (STRICT_MODE_ENABLED && sBlockingIpcs.empty()) {
synchronized (sLock) {
sBlockingIpcs.push("detectBlockingIpcs");
- try {
- runnable.run();
- } finally {
+ }
+ try {
+ runnable.run();
+ } finally {
+ synchronized (sLock) {
sBlockingIpcs.pop();
}
}
@@ -177,9 +181,11 @@ public class DejankUtils {
if (STRICT_MODE_ENABLED && !sTemporarilyIgnoreStrictMode) {
synchronized (sLock) {
sTemporarilyIgnoreStrictMode = true;
- try {
- runnable.run();
- } finally {
+ }
+ try {
+ runnable.run();
+ } finally {
+ synchronized (sLock) {
sTemporarilyIgnoreStrictMode = false;
}
}
@@ -196,14 +202,16 @@ public class DejankUtils {
if (STRICT_MODE_ENABLED && !sTemporarilyIgnoreStrictMode) {
synchronized (sLock) {
sTemporarilyIgnoreStrictMode = true;
- final T val;
- try {
- val = supplier.get();
- } finally {
+ }
+ final T val;
+ try {
+ val = supplier.get();
+ } finally {
+ synchronized (sLock) {
sTemporarilyIgnoreStrictMode = false;
}
- return val;
}
+ return val;
} else {
return supplier.get();
}
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java
index aacc2c4f614b..27fe37ef4e69 100644
--- a/packages/SystemUI/src/com/android/systemui/Dependency.java
+++ b/packages/SystemUI/src/com/android/systemui/Dependency.java
@@ -117,14 +117,15 @@ import com.android.systemui.statusbar.policy.SmartReplyConstants;
import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.statusbar.policy.ZenModeController;
+import com.android.systemui.tracing.ProtoTracer;
import com.android.systemui.tuner.TunablePadding.TunablePaddingService;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.leak.GarbageMonitor;
import com.android.systemui.util.leak.LeakDetector;
import com.android.systemui.util.leak.LeakReporter;
import com.android.systemui.util.sensors.AsyncSensorManager;
+import com.android.systemui.wm.DisplayController;
import com.android.systemui.wm.DisplayImeController;
-import com.android.systemui.wm.DisplayWindowController;
import com.android.systemui.wm.SystemWindows;
import java.io.FileDescriptor;
@@ -323,10 +324,11 @@ public class Dependency {
@Inject Lazy<CommandQueue> mCommandQueue;
@Inject Lazy<Recents> mRecents;
@Inject Lazy<StatusBar> mStatusBar;
- @Inject Lazy<DisplayWindowController> mDisplayWindowController;
+ @Inject Lazy<DisplayController> mDisplayController;
@Inject Lazy<SystemWindows> mSystemWindows;
@Inject Lazy<DisplayImeController> mDisplayImeController;
@Inject Lazy<RecordingController> mRecordingController;
+ @Inject Lazy<ProtoTracer> mProtoTracer;
@Inject
public Dependency() {
@@ -516,9 +518,10 @@ public class Dependency {
mProviders.put(CommandQueue.class, mCommandQueue::get);
mProviders.put(Recents.class, mRecents::get);
mProviders.put(StatusBar.class, mStatusBar::get);
- mProviders.put(DisplayWindowController.class, mDisplayWindowController::get);
+ mProviders.put(DisplayController.class, mDisplayController::get);
mProviders.put(SystemWindows.class, mSystemWindows::get);
mProviders.put(DisplayImeController.class, mDisplayImeController::get);
+ mProviders.put(ProtoTracer.class, mProtoTracer::get);
// TODO(b/118592525): to support multi-display , we start to add something which is
// per-display, while others may be global. I think it's time to add
diff --git a/packages/SystemUI/src/com/android/systemui/ForegroundServiceNotificationListener.java b/packages/SystemUI/src/com/android/systemui/ForegroundServiceNotificationListener.java
index eab970626bf1..924d16dd27d7 100644
--- a/packages/SystemUI/src/com/android/systemui/ForegroundServiceNotificationListener.java
+++ b/packages/SystemUI/src/com/android/systemui/ForegroundServiceNotificationListener.java
@@ -89,7 +89,7 @@ public class ForegroundServiceNotificationListener {
}
@Override
- public void onEntryRemoved(NotificationEntry entry, int reason, boolean removedByUser) {
+ public void onEntryRemoved(NotificationEntry entry, int reason) {
removeNotification(entry.getSbn());
}
});
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
index 75063e482f08..7b0bd9cadb9b 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
@@ -35,6 +35,7 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider;
import com.android.systemui.statusbar.KeyguardIndicationController;
+import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.phone.DozeParameters;
@@ -153,6 +154,7 @@ public class SystemUIFactory {
return new NotificationIconAreaController(context, statusBar, statusBarStateController,
wakeUpCoordinator, keyguardBypassController,
Dependency.get(NotificationMediaManager.class),
+ Dependency.get(NotificationListener.class),
Dependency.get(DozeParameters.class));
}
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
index c243309d960a..581cf7a2fbef 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
@@ -86,6 +86,8 @@ public class WindowMagnificationController implements View.OnClickListener,
private SurfaceView mMirrorSurfaceView;
private View mControlsView;
private View mOverlayView;
+ // The boundary of magnification frame.
+ private final Rect mMagnificationFrameBoundary = new Rect();
private MoveMirrorRunnable mMoveMirrorRunnable = new MoveMirrorRunnable();
@@ -93,7 +95,7 @@ public class WindowMagnificationController implements View.OnClickListener,
mContext = context;
mHandler = handler;
Display display = mContext.getDisplay();
- display.getSize(mDisplaySize);
+ display.getRealSize(mDisplaySize);
mDisplayId = mContext.getDisplayId();
mWm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
@@ -114,6 +116,7 @@ public class WindowMagnificationController implements View.OnClickListener,
return;
}
setInitialStartBounds();
+ setMagnificationFrameBoundary();
createOverlayWindow();
}
@@ -330,7 +333,7 @@ public class WindowMagnificationController implements View.OnClickListener,
@Override
public void onClick(View v) {
setMoveOffset(v, mMoveFrameAmountShort);
- moveMirrorFromControls();
+ moveMirrorWindow(mMoveWindowOffset.x, mMoveWindowOffset.y);
}
@Override
@@ -370,10 +373,8 @@ public class WindowMagnificationController implements View.OnClickListener,
case MotionEvent.ACTION_MOVE:
int xDiff = (int) (event.getRawX() - mLastDrag.x);
int yDiff = (int) (event.getRawY() - mLastDrag.y);
- mMagnificationFrame.offset(xDiff, yDiff);
+ moveMirrorWindow(xDiff, yDiff);
mLastDrag.set(event.getRawX(), event.getRawY());
- modifyWindowMagnification(mTransaction);
- mTransaction.apply();
return true;
}
return false;
@@ -393,11 +394,11 @@ public class WindowMagnificationController implements View.OnClickListener,
}
}
- private void moveMirrorFromControls() {
- mMagnificationFrame.offset(mMoveWindowOffset.x, mMoveWindowOffset.y);
-
- modifyWindowMagnification(mTransaction);
- mTransaction.apply();
+ private void moveMirrorWindow(int xOffset, int yOffset) {
+ if (updateMagnificationFramePosition(xOffset, yOffset)) {
+ modifyWindowMagnification(mTransaction);
+ mTransaction.apply();
+ }
}
/**
@@ -414,6 +415,52 @@ public class WindowMagnificationController implements View.OnClickListener,
return new Rect(left, top, right, bottom);
}
+ private void setMagnificationFrameBoundary() {
+ // Calculates width and height for magnification frame could exceed out the screen.
+ // TODO : re-calculating again when scale is changed.
+ // The half width of magnification frame.
+ final int halfWidth = mMagnificationFrame.width() / 2;
+ // The half height of magnification frame.
+ final int halfHeight = mMagnificationFrame.height() / 2;
+ // The scaled half width of magnified region.
+ final int scaledWidth = (int) (halfWidth / mScale);
+ // The scaled half height of magnified region.
+ final int scaledHeight = (int) (halfHeight / mScale);
+ final int exceededWidth = halfWidth - scaledWidth;
+ final int exceededHeight = halfHeight - scaledHeight;
+
+ mMagnificationFrameBoundary.set(-exceededWidth, -exceededHeight,
+ mDisplaySize.x + exceededWidth, mDisplaySize.y + exceededHeight);
+ }
+
+ /**
+ * Calculates and sets the real position of magnification frame based on the magnified region
+ * should be limited by the region of the display.
+ */
+ private boolean updateMagnificationFramePosition(int xOffset, int yOffset) {
+ mTmpRect.set(mMagnificationFrame);
+ mTmpRect.offset(xOffset, yOffset);
+
+ if (mTmpRect.left < mMagnificationFrameBoundary.left) {
+ mTmpRect.offsetTo(mMagnificationFrameBoundary.left, mTmpRect.top);
+ } else if (mTmpRect.right > mMagnificationFrameBoundary.right) {
+ final int leftOffset = mMagnificationFrameBoundary.right - mMagnificationFrame.width();
+ mTmpRect.offsetTo(leftOffset, mTmpRect.top);
+ }
+
+ if (mTmpRect.top < mMagnificationFrameBoundary.top) {
+ mTmpRect.offsetTo(mTmpRect.left, mMagnificationFrameBoundary.top);
+ } else if (mTmpRect.bottom > mMagnificationFrameBoundary.bottom) {
+ final int topOffset = mMagnificationFrameBoundary.bottom - mMagnificationFrame.height();
+ mTmpRect.offsetTo(mTmpRect.left, topOffset);
+ }
+
+ if (!mTmpRect.equals(mMagnificationFrame)) {
+ mMagnificationFrame.set(mTmpRect);
+ return true;
+ }
+ return false;
+ }
@Override
public void surfaceCreated(SurfaceHolder holder) {
createMirror();
@@ -431,7 +478,7 @@ public class WindowMagnificationController implements View.OnClickListener,
@Override
public void run() {
if (mIsPressedDown) {
- moveMirrorFromControls();
+ moveMirrorWindow(mMoveWindowOffset.x, mMoveWindowOffset.y);
mHandler.postDelayed(mMoveMirrorRunnable, 100);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java
index 044c5a027dac..7dea7f83f0c6 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java
@@ -664,6 +664,7 @@ public abstract class AuthBiometricView extends LinearLayout {
setTextOrHide(mSubtitleView,
mBiometricPromptBundle.getString(BiometricPrompt.KEY_SUBTITLE));
+
setTextOrHide(mDescriptionView,
mBiometricPromptBundle.getString(BiometricPrompt.KEY_DESCRIPTION));
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
index 8f2cf70a8184..68b05e358786 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
@@ -17,6 +17,7 @@
package com.android.systemui.biometrics;
import android.content.Context;
+import android.graphics.drawable.Drawable;
import android.hardware.biometrics.BiometricPrompt;
import android.os.AsyncTask;
import android.os.Bundle;
@@ -28,6 +29,7 @@ import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -56,6 +58,7 @@ public abstract class AuthCredentialView extends LinearLayout {
private TextView mTitleView;
private TextView mSubtitleView;
private TextView mDescriptionView;
+ private ImageView mIconView;
protected TextView mErrorView;
protected @Utils.CredentialType int mCredentialType;
@@ -176,6 +179,16 @@ public abstract class AuthCredentialView extends LinearLayout {
setTextOrHide(mDescriptionView,
mBiometricPromptBundle.getString(BiometricPrompt.KEY_DESCRIPTION));
+ final boolean isManagedProfile = Utils.isManagedProfile(mContext, mEffectiveUserId);
+ final Drawable image;
+ if (isManagedProfile) {
+ image = getResources().getDrawable(R.drawable.auth_dialog_enterprise,
+ mContext.getTheme());
+ } else {
+ image = getResources().getDrawable(R.drawable.auth_dialog_lock, mContext.getTheme());
+ }
+ mIconView.setImageDrawable(image);
+
// Only animate this if we're transitioning from a biometric view.
if (mShouldAnimateContents) {
setTranslationY(getResources()
@@ -207,6 +220,7 @@ public abstract class AuthCredentialView extends LinearLayout {
mTitleView = findViewById(R.id.title);
mSubtitleView = findViewById(R.id.subtitle);
mDescriptionView = findViewById(R.id.description);
+ mIconView = findViewById(R.id.icon);
mErrorView = findViewById(R.id.error);
}
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java b/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java
index ccce85ca74fb..45705b76f09c 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/Bubble.java
@@ -60,6 +60,14 @@ class Bubble {
private long mLastUpdated;
private long mLastAccessed;
+ private BubbleController.NotificationSuppressionChangedListener mSuppressionListener;
+
+ /** Whether the bubble should show a dot for the notification indicating updated content. */
+ private boolean mShowBubbleUpdateDot = true;
+
+ /** Whether flyout text should be suppressed, regardless of any other flags or state. */
+ private boolean mSuppressFlyout;
+
// Items that are typically loaded later
private String mAppName;
private ShortcutInfo mShortcutInfo;
@@ -71,20 +79,6 @@ class Bubble {
private boolean mInflateSynchronously;
/**
- * Whether this notification should be shown in the shade when it is also displayed as a bubble.
- *
- * <p>When a notification is a bubble we don't show it in the shade once the bubble has been
- * expanded</p>
- */
- private boolean mShowInShadeWhenBubble = true;
-
- /** Whether the bubble should show a dot for the notification indicating updated content. */
- private boolean mShowBubbleUpdateDot = true;
-
- /** Whether flyout text should be suppressed, regardless of any other flags or state. */
- private boolean mSuppressFlyout;
-
- /**
* Presentational info about the flyout.
*/
public static class FlyoutMessage {
@@ -106,11 +100,13 @@ class Bubble {
/** Used in tests when no UI is required. */
@VisibleForTesting(visibility = PRIVATE)
- Bubble(NotificationEntry e) {
+ Bubble(NotificationEntry e,
+ BubbleController.NotificationSuppressionChangedListener listener) {
mEntry = e;
mKey = e.getKey();
mLastUpdated = e.getSbn().getPostTime();
mGroupId = groupId(e);
+ mSuppressionListener = listener;
}
public String getKey() {
@@ -278,7 +274,7 @@ class Bubble {
*/
void markAsAccessedAt(long lastAccessedMillis) {
mLastAccessed = lastAccessedMillis;
- setShowInShade(false);
+ setSuppressNotification(true);
setShowDot(false /* show */, true /* animate */);
}
@@ -290,20 +286,30 @@ class Bubble {
}
/**
- * Whether this notification should be shown in the shade when it is also displayed as a
- * bubble.
+ * Whether this notification should be shown in the shade.
*/
boolean showInShade() {
- return !mEntry.isRowDismissed() && !shouldSuppressNotification()
- && (!mEntry.isClearable() || mShowInShadeWhenBubble);
+ return !shouldSuppressNotification() || !mEntry.isClearable();
}
/**
- * Sets whether this notification should be shown in the shade when it is also displayed as a
- * bubble.
+ * Sets whether this notification should be suppressed in the shade.
*/
- void setShowInShade(boolean showInShade) {
- mShowInShadeWhenBubble = showInShade;
+ void setSuppressNotification(boolean suppressNotification) {
+ boolean prevShowInShade = showInShade();
+
+ Notification.BubbleMetadata data = mEntry.getBubbleMetadata();
+ int flags = data.getFlags();
+ if (suppressNotification) {
+ flags |= Notification.BubbleMetadata.FLAG_SUPPRESS_NOTIFICATION;
+ } else {
+ flags &= ~Notification.BubbleMetadata.FLAG_SUPPRESS_NOTIFICATION;
+ }
+ data.setFlags(flags);
+
+ if (showInShade() != prevShowInShade && mSuppressionListener != null) {
+ mSuppressionListener.onBubbleNotificationSuppressionChange(this);
+ }
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
index 8c9946fcfc7b..a26cce0bfc0c 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
@@ -190,6 +190,9 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
private boolean mInflateSynchronously;
+ // TODO (b/145659174): allow for multiple callbacks to support the "shadow" new notif pipeline
+ private final List<NotifCallback> mCallbacks = new ArrayList<>();
+
/**
* Listener to be notified when some states of the bubbles change.
*/
@@ -224,6 +227,45 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
}
/**
+ * Listener to be notified when a bubbles' notification suppression state changes.
+ */
+ public interface NotificationSuppressionChangedListener {
+ /**
+ * Called when the notification suppression state of a bubble changes.
+ */
+ void onBubbleNotificationSuppressionChange(Bubble bubble);
+ }
+
+ /**
+ * Callback for when the BubbleController wants to interact with the notification pipeline to:
+ * - Remove a previously bubbled notification
+ * - Update the notification shade since bubbled notification should/shouldn't be showing
+ */
+ public interface NotifCallback {
+ /**
+ * Called when the BubbleController wants to remove an entry that it was previously hiding
+ * from the shade. See {@link BubbleController#isBubbleNotificationSuppressedFromShade}.
+ */
+ void removeNotification(NotificationEntry entry);
+
+ /**
+ * Called when a bubbled notification has changed whether it should be
+ * filtered from the shade.
+ */
+ void invalidateNotificationFilter(String reason);
+
+ /**
+ * Called on a bubbled entry that has been removed when there are no longer
+ * bubbled entries in its group.
+ *
+ * Checks whether its group has any other (non-bubbled) children. If it doesn't,
+ * removes all remnants of the group's summary from the notification pipeline.
+ * TODO: (b/145659174) Only old pipeline needs this - delete post-migration.
+ */
+ void maybeCancelSummary(NotificationEntry entry);
+ }
+
+ /**
* Listens for the current state of the status bar and updates the visibility state
* of bubbles as needed.
*/
@@ -303,31 +345,26 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
configurationController.addCallback(this /* configurationListener */);
+ mMaxBubbles = mContext.getResources().getInteger(R.integer.bubbles_max_rendered);
mBubbleData = data;
mBubbleData.setListener(mBubbleDataListener);
- mMaxBubbles = mContext.getResources().getInteger(R.integer.bubbles_max_rendered);
+ mBubbleData.setSuppressionChangedListener(new NotificationSuppressionChangedListener() {
+ @Override
+ public void onBubbleNotificationSuppressionChange(Bubble bubble) {
+ // Make sure NoMan knows it's not showing in the shade anymore so anyone querying it
+ // can tell.
+ try {
+ mBarService.onBubbleNotificationSuppressionChanged(bubble.getKey(),
+ !bubble.showInShade());
+ } catch (RemoteException e) {
+ // Bad things have happened
+ }
+ }
+ });
mNotificationEntryManager = entryManager;
- mNotificationEntryManager.addNotificationEntryListener(mEntryListener);
- mNotificationEntryManager.setNotificationRemoveInterceptor(mRemoveInterceptor);
mNotificationGroupManager = groupManager;
- mNotificationGroupManager.addOnGroupChangeListener(
- new NotificationGroupManager.OnGroupChangeListener() {
- @Override
- public void onGroupSuppressionChanged(
- NotificationGroupManager.NotificationGroup group,
- boolean suppressed) {
- // More notifications could be added causing summary to no longer
- // be suppressed -- in this case need to remove the key.
- final String groupKey = group.summary != null
- ? group.summary.getSbn().getGroupKey()
- : null;
- if (!suppressed && groupKey != null
- && mBubbleData.isSummarySuppressed(groupKey)) {
- mBubbleData.removeSuppressedSummary(groupKey);
- }
- }
- });
+ setupNEM();
mNotificationShadeWindowController = notificationShadeWindowController;
mStatusBarStateListener = new StatusBarStateListener();
@@ -367,6 +404,104 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
}
/**
+ * See {@link NotifCallback}.
+ */
+ public void addNotifCallback(NotifCallback callback) {
+ mCallbacks.add(callback);
+ }
+
+ private void setupNEM() {
+ mNotificationEntryManager.addNotificationEntryListener(
+ new NotificationEntryListener() {
+ @Override
+ public void onPendingEntryAdded(NotificationEntry entry) {
+ onEntryAdded(entry);
+ }
+
+ @Override
+ public void onPreEntryUpdated(NotificationEntry entry) {
+ onEntryUpdated(entry);
+ }
+
+ @Override
+ public void onNotificationRankingUpdated(RankingMap rankingMap) {
+ onRankingUpdated(rankingMap);
+ }
+ });
+
+ mNotificationEntryManager.setNotificationRemoveInterceptor(
+ new NotificationRemoveInterceptor() {
+ @Override
+ public boolean onNotificationRemoveRequested(String key, int reason) {
+ NotificationEntry entry =
+ mNotificationEntryManager.getActiveNotificationUnfiltered(key);
+ return shouldInterceptDismissal(entry, reason);
+ }
+ });
+
+ mNotificationGroupManager.addOnGroupChangeListener(
+ new NotificationGroupManager.OnGroupChangeListener() {
+ @Override
+ public void onGroupSuppressionChanged(
+ NotificationGroupManager.NotificationGroup group,
+ boolean suppressed) {
+ // More notifications could be added causing summary to no longer
+ // be suppressed -- in this case need to remove the key.
+ final String groupKey = group.summary != null
+ ? group.summary.getSbn().getGroupKey()
+ : null;
+ if (!suppressed && groupKey != null
+ && mBubbleData.isSummarySuppressed(groupKey)) {
+ mBubbleData.removeSuppressedSummary(groupKey);
+ }
+ }
+ });
+
+ addNotifCallback(new NotifCallback() {
+ @Override
+ public void removeNotification(NotificationEntry entry) {
+ mNotificationEntryManager.performRemoveNotification(entry.getSbn(),
+ UNDEFINED_DISMISS_REASON);
+ }
+
+ @Override
+ public void invalidateNotificationFilter(String reason) {
+ mNotificationEntryManager.updateNotifications(reason);
+ }
+
+ @Override
+ public void maybeCancelSummary(NotificationEntry entry) {
+ // Check if removed bubble has an associated suppressed group summary that needs
+ // to be removed now.
+ final String groupKey = entry.getSbn().getGroup();
+ if (mBubbleData.isSummarySuppressed(groupKey)) {
+ mBubbleData.removeSuppressedSummary(entry.getSbn().getGroupKey());
+
+ final NotificationEntry summary =
+ mNotificationEntryManager.getActiveNotificationUnfiltered(
+ mBubbleData.getSummaryKey(groupKey));
+ mNotificationEntryManager.performRemoveNotification(summary.getSbn(),
+ UNDEFINED_DISMISS_REASON);
+ }
+
+ // Check if summary should be removed from NoManGroup
+ NotificationEntry summary =
+ mNotificationGroupManager.getLogicalGroupSummary(entry.getSbn());
+ if (summary != null) {
+ ArrayList<NotificationEntry> summaryChildren =
+ mNotificationGroupManager.getLogicalChildren(summary.getSbn());
+ boolean isSummaryThisNotif = summary.getKey().equals(entry.getKey());
+ if (!isSummaryThisNotif && (summaryChildren == null
+ || summaryChildren.isEmpty())) {
+ mNotificationEntryManager.performRemoveNotification(summary.getSbn(),
+ UNDEFINED_DISMISS_REASON);
+ }
+ }
+ }
+ });
+ }
+
+ /**
* Sets whether to perform inflation on the same thread as the caller. This method should only
* be used in tests, not in production.
*/
@@ -538,13 +673,15 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
*
* False otherwise.
*/
- public boolean isBubbleNotificationSuppressedFromShade(String key) {
+ public boolean isBubbleNotificationSuppressedFromShade(NotificationEntry entry) {
+ String key = entry.getKey();
boolean isBubbleAndSuppressed = mBubbleData.hasBubbleWithKey(key)
&& !mBubbleData.getBubbleWithKey(key).showInShade();
- NotificationEntry entry = mNotificationEntryManager.getActiveNotificationUnfiltered(key);
- String groupKey = entry != null ? entry.getSbn().getGroupKey() : null;
+
+ String groupKey = entry.getSbn().getGroupKey();
boolean isSuppressedSummary = mBubbleData.isSummarySuppressed(groupKey);
boolean isSummary = key.equals(mBubbleData.getSummaryKey(groupKey));
+
return (isSummary && isSuppressedSummary) || isBubbleAndSuppressed;
}
@@ -678,160 +815,46 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
}
}
- @SuppressWarnings("FieldCanBeLocal")
- private final NotificationRemoveInterceptor mRemoveInterceptor =
- new NotificationRemoveInterceptor() {
- @Override
- public boolean onNotificationRemoveRequested(String key, int reason) {
- NotificationEntry entry =
- mNotificationEntryManager.getActiveNotificationUnfiltered(key);
- String groupKey = entry != null ? entry.getSbn().getGroupKey() : null;
- ArrayList<Bubble> bubbleChildren = mBubbleData.getBubblesInGroup(groupKey);
-
- boolean inBubbleData = mBubbleData.hasBubbleWithKey(key);
- boolean isSuppressedSummary = (mBubbleData.isSummarySuppressed(groupKey)
- && mBubbleData.getSummaryKey(groupKey).equals(key));
- boolean isSummary = entry != null
- && entry.getSbn().getNotification().isGroupSummary();
- boolean isSummaryOfBubbles = (isSuppressedSummary || isSummary)
- && bubbleChildren != null && !bubbleChildren.isEmpty();
-
- if (!inBubbleData && !isSummaryOfBubbles) {
- return false;
- }
-
- final boolean isClearAll = reason == REASON_CANCEL_ALL;
- final boolean isUserDimiss = reason == REASON_CANCEL || reason == REASON_CLICK;
- final boolean isAppCancel = reason == REASON_APP_CANCEL
- || reason == REASON_APP_CANCEL_ALL;
- final boolean isSummaryCancel = reason == REASON_GROUP_SUMMARY_CANCELED;
-
- // Need to check for !appCancel here because the notification may have
- // previously been dismissed & entry.isRowDismissed would still be true
- boolean userRemovedNotif = (entry != null && entry.isRowDismissed() && !isAppCancel)
- || isClearAll || isUserDimiss || isSummaryCancel;
-
- if (isSummaryOfBubbles) {
- return handleSummaryRemovalInterception(entry, userRemovedNotif);
- }
-
- // The bubble notification sticks around in the data as long as the bubble is
- // not dismissed and the app hasn't cancelled the notification.
- Bubble bubble = mBubbleData.getBubbleWithKey(key);
- boolean bubbleExtended = entry != null && entry.isBubble() && userRemovedNotif;
- if (bubbleExtended) {
- bubble.setShowInShade(false);
- bubble.setShowDot(false /* show */, true /* animate */);
- mNotificationEntryManager.updateNotifications(
- "BubbleController.onNotificationRemoveRequested");
- return true;
- } else if (!userRemovedNotif && entry != null
- && !isUserCreatedBubble(bubble.getKey())) {
- // This wasn't a user removal so we should remove the bubble as well
- mBubbleData.notificationEntryRemoved(entry, DISMISS_NOTIF_CANCEL);
- return false;
- }
- return false;
- }
- };
-
- private boolean handleSummaryRemovalInterception(NotificationEntry summary,
- boolean userRemovedNotif) {
- String groupKey = summary.getSbn().getGroupKey();
- ArrayList<Bubble> bubbleChildren = mBubbleData.getBubblesInGroup(groupKey);
-
- if (userRemovedNotif) {
- // If it's a user dismiss we mark the children to be hidden from the shade.
- for (int i = 0; i < bubbleChildren.size(); i++) {
- Bubble bubbleChild = bubbleChildren.get(i);
- // As far as group manager is concerned, once a child is no longer shown
- // in the shade, it is essentially removed.
- mNotificationGroupManager.onEntryRemoved(bubbleChild.getEntry());
- bubbleChild.setShowInShade(false);
- bubbleChild.setShowDot(false /* show */, true /* animate */);
- }
- // And since all children are removed, remove the summary.
- mNotificationGroupManager.onEntryRemoved(summary);
-
- // If the summary was auto-generated we don't need to keep that notification around
- // because apps can't cancel it; so we only intercept & suppress real summaries.
- boolean isAutogroupSummary = (summary.getSbn().getNotification().flags
- & FLAG_AUTOGROUP_SUMMARY) != 0;
- if (!isAutogroupSummary) {
- mBubbleData.addSummaryToSuppress(summary.getSbn().getGroupKey(),
- summary.getKey());
- // Tell shade to update for the suppression
- mNotificationEntryManager.updateNotifications(
- "BubbleController.handleSummaryRemovalInterception");
- }
- return !isAutogroupSummary;
- } else {
- // If it's not a user dismiss it's a cancel.
- for (int i = 0; i < bubbleChildren.size(); i++) {
- // First check if any of these are user-created (i.e. experimental bubbles)
- if (mUserCreatedBubbles.contains(bubbleChildren.get(i).getKey())) {
- // Experimental bubble! Intercept the removal.
- return true;
- }
- }
- // Not an experimental bubble, safe to remove.
- mBubbleData.removeSuppressedSummary(groupKey);
- // Remove any associated bubble children with the summary.
- for (int i = 0; i < bubbleChildren.size(); i++) {
- Bubble bubbleChild = bubbleChildren.get(i);
- mBubbleData.notificationEntryRemoved(bubbleChild.getEntry(),
- DISMISS_GROUP_CANCELLED);
+ private void onEntryAdded(NotificationEntry entry) {
+ boolean previouslyUserCreated = mUserCreatedBubbles.contains(entry.getKey());
+ boolean userBlocked = mUserBlockedBubbles.contains(entry.getKey());
+ boolean wasAdjusted = BubbleExperimentConfig.adjustForExperiments(
+ mContext, entry, previouslyUserCreated, userBlocked);
+
+ if (mNotificationInterruptionStateProvider.shouldBubbleUp(entry)
+ && (canLaunchInActivityView(mContext, entry) || wasAdjusted)) {
+ if (wasAdjusted && !previouslyUserCreated) {
+ // Gotta treat the auto-bubbled / whitelisted packaged bubbles as usercreated
+ mUserCreatedBubbles.add(entry.getKey());
}
- return false;
+ updateBubble(entry);
}
}
- @SuppressWarnings("FieldCanBeLocal")
- private final NotificationEntryListener mEntryListener = new NotificationEntryListener() {
- @Override
- public void onNotificationAdded(NotificationEntry entry) {
- boolean previouslyUserCreated = mUserCreatedBubbles.contains(entry.getKey());
- boolean userBlocked = mUserBlockedBubbles.contains(entry.getKey());
- boolean wasAdjusted = BubbleExperimentConfig.adjustForExperiments(
- mContext, entry, previouslyUserCreated, userBlocked);
-
- if (mNotificationInterruptionStateProvider.shouldBubbleUp(entry)
- && (canLaunchInActivityView(mContext, entry) || wasAdjusted)) {
- if (wasAdjusted && !previouslyUserCreated) {
- // Gotta treat the auto-bubbled / whitelisted packaged bubbles as usercreated
- mUserCreatedBubbles.add(entry.getKey());
- }
- updateBubble(entry);
- }
- }
-
- @Override
- public void onPreEntryUpdated(NotificationEntry entry) {
- boolean previouslyUserCreated = mUserCreatedBubbles.contains(entry.getKey());
- boolean userBlocked = mUserBlockedBubbles.contains(entry.getKey());
- boolean wasAdjusted = BubbleExperimentConfig.adjustForExperiments(
- mContext, entry, previouslyUserCreated, userBlocked);
-
- boolean shouldBubble = mNotificationInterruptionStateProvider.shouldBubbleUp(entry)
- && (canLaunchInActivityView(mContext, entry) || wasAdjusted);
- if (!shouldBubble && mBubbleData.hasBubbleWithKey(entry.getKey())) {
- // It was previously a bubble but no longer a bubble -- lets remove it
- removeBubble(entry.getKey(), DISMISS_NO_LONGER_BUBBLE);
- } else if (shouldBubble) {
- if (wasAdjusted && !previouslyUserCreated) {
- // Gotta treat the auto-bubbled / whitelisted packaged bubbles as usercreated
- mUserCreatedBubbles.add(entry.getKey());
- }
- updateBubble(entry);
+ private void onEntryUpdated(NotificationEntry entry) {
+ boolean previouslyUserCreated = mUserCreatedBubbles.contains(entry.getKey());
+ boolean userBlocked = mUserBlockedBubbles.contains(entry.getKey());
+ boolean wasAdjusted = BubbleExperimentConfig.adjustForExperiments(
+ mContext, entry, previouslyUserCreated, userBlocked);
+
+ boolean shouldBubble = mNotificationInterruptionStateProvider.shouldBubbleUp(entry)
+ && (canLaunchInActivityView(mContext, entry) || wasAdjusted);
+ if (!shouldBubble && mBubbleData.hasBubbleWithKey(entry.getKey())) {
+ // It was previously a bubble but no longer a bubble -- lets remove it
+ removeBubble(entry.getKey(), DISMISS_NO_LONGER_BUBBLE);
+ } else if (shouldBubble) {
+ if (wasAdjusted && !previouslyUserCreated) {
+ // Gotta treat the auto-bubbled / whitelisted packaged bubbles as usercreated
+ mUserCreatedBubbles.add(entry.getKey());
}
+ updateBubble(entry);
}
+ }
- @Override
- public void onNotificationRankingUpdated(RankingMap rankingMap) {
- // Forward to BubbleData to block any bubbles which should no longer be shown
- mBubbleData.notificationRankingUpdated(rankingMap);
- }
- };
+ private void onRankingUpdated(RankingMap rankingMap) {
+ // Forward to BubbleData to block any bubbles which should no longer be shown
+ mBubbleData.notificationRankingUpdated(rankingMap);
+ }
@SuppressWarnings("FieldCanBeLocal")
private final BubbleData.Listener mBubbleDataListener = new BubbleData.Listener() {
@@ -843,10 +866,6 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
mOverflowCallback.run();
}
- if (update.addedBubble != null) {
- mStackView.addBubble(update.addedBubble);
- }
-
// Collapsing? Do this first before remaining steps.
if (update.expandedChanged && !update.expanded) {
mStackView.setExpanded(false);
@@ -864,9 +883,11 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
if (reason != DISMISS_USER_CHANGED) {
if (!mBubbleData.hasBubbleWithKey(bubble.getKey())
&& !bubble.showInShade()) {
- // The bubble is gone & the notification is gone, time to actually remove it
- mNotificationEntryManager.performRemoveNotification(
- bubble.getEntry().getSbn(), UNDEFINED_DISMISS_REASON);
+ // The bubble is now gone & the notification is hidden from the shade, so
+ // time to actually remove it
+ for (NotifCallback cb : mCallbacks) {
+ cb.removeNotification(bubble.getEntry());
+ }
} else {
// Update the flag for SysUI
bubble.getEntry().getSbn().getNotification().flags &= ~FLAG_BUBBLE;
@@ -881,37 +902,20 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
}
}
- // Check if removed bubble has an associated suppressed group summary that needs
- // to be removed now.
final String groupKey = bubble.getEntry().getSbn().getGroupKey();
- if (mBubbleData.isSummarySuppressed(groupKey)
- && mBubbleData.getBubblesInGroup(groupKey).isEmpty()) {
- // Time to actually remove the summary.
- String notifKey = mBubbleData.getSummaryKey(groupKey);
- mBubbleData.removeSuppressedSummary(groupKey);
- NotificationEntry entry =
- mNotificationEntryManager.getActiveNotificationUnfiltered(notifKey);
- mNotificationEntryManager.performRemoveNotification(
- entry.getSbn(), UNDEFINED_DISMISS_REASON);
- }
-
- // Check if summary should be removed from NoManGroup
- NotificationEntry summary = mNotificationGroupManager.getLogicalGroupSummary(
- bubble.getEntry().getSbn());
- if (summary != null) {
- ArrayList<NotificationEntry> summaryChildren =
- mNotificationGroupManager.getLogicalChildren(summary.getSbn());
- boolean isSummaryThisNotif = summary.getKey().equals(
- bubble.getEntry().getKey());
- if (!isSummaryThisNotif
- && (summaryChildren == null || summaryChildren.isEmpty())) {
- mNotificationEntryManager.performRemoveNotification(
- summary.getSbn(), UNDEFINED_DISMISS_REASON);
+ if (mBubbleData.getBubblesInGroup(groupKey).isEmpty()) {
+ // Time to potentially remove the summary
+ for (NotifCallback cb : mCallbacks) {
+ cb.maybeCancelSummary(bubble.getEntry());
}
}
}
}
+ if (update.addedBubble != null) {
+ mStackView.addBubble(update.addedBubble);
+ }
+
if (update.updatedBubble != null) {
mStackView.updateBubble(update.updatedBubble);
}
@@ -935,8 +939,9 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
mStackView.setExpanded(true);
}
- mNotificationEntryManager.updateNotifications(
- "BubbleData.Listener.applyUpdate");
+ for (NotifCallback cb : mCallbacks) {
+ cb.invalidateNotificationFilter("BubbleData.Listener.applyUpdate");
+ }
updateStack();
if (DEBUG_BUBBLE_CONTROLLER) {
@@ -957,6 +962,127 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
};
/**
+ * We intercept notification entries cancelled by the user (i.e. dismissed) when there is an
+ * active bubble associated with it. We do this so that developers can still cancel it
+ * (and hence the bubbles associated with it). However, these intercepted notifications
+ * should then be hidden from the shade since the user has cancelled them, so we update
+ * {@link Bubble#showInShade}.
+ *
+ * The cancellation of summaries with children associated with bubbles are also handled in this
+ * method. User-cancelled summaries are tracked by {@link BubbleData#addSummaryToSuppress}.
+ *
+ * @return true if we want to intercept the dismissal of the entry, else false
+ */
+ public boolean shouldInterceptDismissal(NotificationEntry entry, int dismissReason) {
+ if (entry == null) {
+ return false;
+ }
+ String key = entry.getKey();
+ String groupKey = entry != null ? entry.getSbn().getGroupKey() : null;
+ ArrayList<Bubble> bubbleChildren = mBubbleData.getBubblesInGroup(groupKey);
+
+ boolean inBubbleData = mBubbleData.hasBubbleWithKey(key);
+ boolean isSuppressedSummary = (mBubbleData.isSummarySuppressed(groupKey)
+ && mBubbleData.getSummaryKey(groupKey).equals(key));
+ boolean isSummary = entry != null
+ && entry.getSbn().getNotification().isGroupSummary();
+ boolean isSummaryOfBubbles = (isSuppressedSummary || isSummary)
+ && bubbleChildren != null && !bubbleChildren.isEmpty();
+
+ if (!inBubbleData && !isSummaryOfBubbles) {
+ return false;
+ }
+
+ final boolean isClearAll = dismissReason == REASON_CANCEL_ALL;
+ final boolean isUserDimiss = dismissReason == REASON_CANCEL
+ || dismissReason == REASON_CLICK;
+ final boolean isAppCancel = dismissReason == REASON_APP_CANCEL
+ || dismissReason == REASON_APP_CANCEL_ALL;
+ final boolean isSummaryCancel = dismissReason == REASON_GROUP_SUMMARY_CANCELED;
+
+ // Need to check for !appCancel here because the notification may have
+ // previously been dismissed & entry.isRowDismissed would still be true
+ boolean userRemovedNotif = (entry != null && entry.isRowDismissed() && !isAppCancel)
+ || isClearAll || isUserDimiss || isSummaryCancel;
+ if (isSummaryOfBubbles) {
+ return handleSummaryRemovalInterception(entry, userRemovedNotif);
+ }
+
+ // The bubble notification sticks around in the data as long as the bubble is
+ // not dismissed and the app hasn't cancelled the notification.
+ Bubble bubble = mBubbleData.getBubbleWithKey(key);
+ boolean bubbleExtended = entry != null && entry.isBubble() && userRemovedNotif;
+ if (bubbleExtended) {
+ bubble.setSuppressNotification(true);
+ bubble.setShowDot(false /* show */, true /* animate */);
+ for (NotifCallback cb : mCallbacks) {
+ cb.invalidateNotificationFilter("BubbleController"
+ + ".shouldInterceptDismissal");
+ }
+ return true;
+ } else if (!userRemovedNotif && entry != null
+ && !isUserCreatedBubble(bubble.getKey())) {
+ // This wasn't a user removal so we should remove the bubble as well
+ mBubbleData.notificationEntryRemoved(entry, DISMISS_NOTIF_CANCEL);
+ return false;
+ }
+ return false;
+ }
+
+ private boolean handleSummaryRemovalInterception(NotificationEntry summary,
+ boolean userRemovedNotif) {
+ String groupKey = summary.getSbn().getGroupKey();
+ ArrayList<Bubble> bubbleChildren = mBubbleData.getBubblesInGroup(groupKey);
+
+ if (userRemovedNotif) {
+ // If it's a user dismiss we mark the children to be hidden from the shade.
+ for (int i = 0; i < bubbleChildren.size(); i++) {
+ Bubble bubbleChild = bubbleChildren.get(i);
+ // As far as group manager is concerned, once a child is no longer shown
+ // in the shade, it is essentially removed.
+ mNotificationGroupManager.onEntryRemoved(bubbleChild.getEntry());
+ bubbleChild.setSuppressNotification(true);
+ bubbleChild.setShowDot(false /* show */, true /* animate */);
+ }
+ // And since all children are removed, remove the summary.
+ mNotificationGroupManager.onEntryRemoved(summary);
+
+ // If the summary was auto-generated we don't need to keep that notification around
+ // because apps can't cancel it; so we only intercept & suppress real summaries.
+ boolean isAutogroupSummary = (summary.getSbn().getNotification().flags
+ & FLAG_AUTOGROUP_SUMMARY) != 0;
+ if (!isAutogroupSummary) {
+ // TODO: (b/145659174) remove references to mSuppressedGroupKeys once fully migrated
+ mBubbleData.addSummaryToSuppress(summary.getSbn().getGroupKey(),
+ summary.getKey());
+ // Tell shade to update for the suppression
+ mNotificationEntryManager.updateNotifications("BubbleController"
+ + ".handleSummaryRemovalInterception");
+ }
+ return !isAutogroupSummary;
+ } else {
+ // If it's not a user dismiss it's a cancel.
+ for (int i = 0; i < bubbleChildren.size(); i++) {
+ // First check if any of these are user-created (i.e. experimental bubbles)
+ if (mUserCreatedBubbles.contains(bubbleChildren.get(i).getKey())) {
+ // Experimental bubble! Intercept the removal.
+ return true;
+ }
+ }
+
+ // Not an experimental bubble, safe to remove.
+ mBubbleData.removeSuppressedSummary(groupKey);
+ // Remove any associated bubble children with the summary.
+ for (int i = 0; i < bubbleChildren.size(); i++) {
+ Bubble bubbleChild = bubbleChildren.get(i);
+ mBubbleData.notificationEntryRemoved(bubbleChild.getEntry(),
+ DISMISS_GROUP_CANCELLED);
+ }
+ return false;
+ }
+ }
+
+ /**
* Lets any listeners know if bubble state has changed.
* Updates the visibility of the bubbles based on current state.
* Does not un-bubble, just hides or un-hides. Notifies any
@@ -1074,12 +1200,10 @@ public class BubbleController implements ConfigurationController.ConfigurationLi
@Override
public void onSingleTaskDisplayDrawn(int displayId) {
- final Bubble expandedBubble = mStackView != null
- ? mStackView.getExpandedBubble()
- : null;
- if (expandedBubble != null && expandedBubble.getDisplayId() == displayId) {
- expandedBubble.setContentVisibility(true);
+ if (mStackView == null) {
+ return;
}
+ mStackView.showExpandedViewContents(displayId);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java
index 8b687e7114db..673121f92716 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java
@@ -134,6 +134,9 @@ public class BubbleData {
@Nullable
private Listener mListener;
+ @Nullable
+ private BubbleController.NotificationSuppressionChangedListener mSuppressionListener;
+
/**
* We track groups with summaries that aren't visibly displayed but still kept around because
* the bubble(s) associated with the summary still exist.
@@ -158,6 +161,11 @@ public class BubbleData {
mMaxOverflowBubbles = mContext.getResources().getInteger(R.integer.bubbles_max_overflow);
}
+ public void setSuppressionChangedListener(
+ BubbleController.NotificationSuppressionChangedListener listener) {
+ mSuppressionListener = listener;
+ }
+
public boolean hasBubbles() {
return !mBubbles.isEmpty();
}
@@ -219,7 +227,7 @@ public class BubbleData {
return b;
}
}
- bubble = new Bubble(entry);
+ bubble = new Bubble(entry, mSuppressionListener);
mPendingBubbles.add(bubble);
} else {
bubble.setEntry(entry);
@@ -258,11 +266,13 @@ public class BubbleData {
} else if (mSelectedBubble == null) {
setSelectedBubbleInternal(bubble);
}
+
boolean isBubbleExpandedAndSelected = mExpanded && mSelectedBubble == bubble;
- bubble.setShowInShade(!isBubbleExpandedAndSelected && showInShade);
+ boolean suppress = isBubbleExpandedAndSelected || !showInShade || !bubble.showInShade();
+ bubble.setSuppressNotification(suppress);
bubble.setShowDot(!isBubbleExpandedAndSelected /* show */, true /* animate */);
- dispatchPendingChanges();
+ dispatchPendingChanges();
}
public void notificationEntryRemoved(NotificationEntry entry, @DismissReason int reason) {
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
index cf8b2be1becb..50a50633f43c 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
@@ -20,6 +20,8 @@ import static android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK;
import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
import static android.view.Display.INVALID_DISPLAY;
+import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
+import static android.view.ViewRootImpl.sNewInsetsMode;
import static com.android.systemui.bubbles.BubbleDebugConfig.DEBUG_BUBBLE_EXPANDED_VIEW;
import static com.android.systemui.bubbles.BubbleDebugConfig.TAG_BUBBLES;
import static com.android.systemui.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
@@ -338,7 +340,13 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
? insets.getDisplayCutout().getSafeInsetBottom()
: 0);
final int insetsBottom = Math.max(activityViewBottom - keyboardTop, 0);
- mActivityView.setForwardedInsets(Insets.of(0, 0, 0, insetsBottom));
+
+ // TODO: Temporary hack to offset the view until we can properly inset Bubbles again.
+ if (sNewInsetsMode == NEW_INSETS_MODE_FULL) {
+ mStackView.animate().translationY(-insetsBottom);
+ } else {
+ mActivityView.setForwardedInsets(Insets.of(0, 0, 0, insetsBottom));
+ }
}
}
@@ -440,12 +448,8 @@ public class BubbleExpandedView extends LinearLayout implements View.OnClickList
int bottomInset = getRootWindowInsets() != null
? getRootWindowInsets().getStableInsetBottom()
: 0;
- int mh = mDisplaySize.y - windowLocation[1] - mSettingsIconHeight - mPointerHeight
+ return mDisplaySize.y - windowLocation[1] - mSettingsIconHeight - mPointerHeight
- mPointerMargin - bottomInset;
- Log.i(TAG, "max exp height: " + mh);
-// return mDisplaySize.y - windowLocation[1] - mSettingsIconHeight - mPointerHeight
-// - mPointerMargin - bottomInset;
- return mh;
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java
index 4194352f93bd..5b9ea7dd5e3a 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleFlyoutView.java
@@ -431,7 +431,7 @@ public class BubbleFlyoutView extends FrameLayout {
final float interpolatedRadius = getInterpolatedRadius();
rectPath.addRoundRect(mBgRect, interpolatedRadius,
interpolatedRadius, Path.Direction.CW);
- outline.setConvexPath(rectPath);
+ outline.setPath(rectPath);
// Get rid of the triangle path once it has disappeared behind the flyout.
if (mPercentStillFlyout > 0.5f) {
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
index fe4c91509057..6062a3d45be0 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
@@ -409,8 +409,12 @@ public class BubbleStackView extends FrameLayout {
.setStiffness(SpringForce.STIFFNESS_LOW)
.setDampingRatio(SpringForce.DAMPING_RATIO_LOW_BOUNCY));
mExpandedViewYAnim.addEndListener((anim, cancelled, value, velocity) -> {
- if (mIsExpanded && mExpandedBubble != null) {
- mExpandedBubble.getExpandedView().updateView();
+ if (mIsExpanded) {
+ if (mExpandedBubble == null) {
+ mOverflowExpandedView.updateView();
+ } else {
+ mExpandedBubble.getExpandedView().updateView();
+ }
}
});
@@ -522,10 +526,15 @@ public class BubbleStackView extends FrameLayout {
R.layout.bubble_expanded_view, this /* root */, false /* attachToRoot */);
mOverflowExpandedView.setOverflow(true);
- mInflater.inflate(R.layout.bubble_overflow_button, this);
- mOverflowBtn = findViewById(R.id.bubble_overflow_button);
+ mOverflowBtn = (ImageView) mInflater.inflate(R.layout.bubble_overflow_button,
+ this /* root */,
+ false /* attachToRoot */);
+
+ mBubbleContainer.addView(mOverflowBtn, 0,
+ new FrameLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
+
mOverflowBtn.setOnClickListener(v -> {
- showOverflow();
+ setSelectedBubble(null);
});
TypedArray ta = mContext.obtainStyledAttributes(
@@ -537,29 +546,18 @@ public class BubbleStackView extends FrameLayout {
ColorDrawable bg = new ColorDrawable(bgColor);
AdaptiveIconDrawable adaptiveIcon = new AdaptiveIconDrawable(bg, fg);
mOverflowBtn.setImageDrawable(adaptiveIcon);
+
mOverflowBtn.setVisibility(GONE);
}
- void showOverflow() {
- if (DEBUG_BUBBLE_STACK_VIEW) {
- Log.d(TAG, "Show overflow.");
+ void showExpandedViewContents(int displayId) {
+ if (mOverflowExpandedView != null
+ && mOverflowExpandedView.getVirtualDisplayId() == displayId) {
+ mOverflowExpandedView.setContentVisibility(true);
+ } else if (mExpandedBubble != null
+ && mExpandedBubble.getExpandedView().getVirtualDisplayId() == displayId) {
+ mExpandedBubble.setContentVisibility(true);
}
- mExpandedViewContainer.setAlpha(0.0f);
- mSurfaceSynchronizer.syncSurfaceAndRun(() -> {
- if (mExpandedBubble != null) {
- mExpandedBubble.setContentVisibility(false);
- mExpandedBubble = null;
- }
- mExpandedViewContainer.removeAllViews();
- if (mIsExpanded) {
- mExpandedViewContainer.addView(mOverflowExpandedView);
- mOverflowExpandedView.populateExpandedView();
- mExpandedViewContainer.setVisibility(VISIBLE);
- mExpandedViewContainer.setAlpha(1.0f);
- mOverflowExpandedView.setContentVisibility(true);
- }
- requestUpdate();
- });
}
private void setUpFlyout() {
@@ -723,7 +721,7 @@ public class BubbleStackView extends FrameLayout {
private void updateSystemGestureExcludeRects() {
// Exclude the region occupied by the first BubbleView in the stack
Rect excludeZone = mSystemGestureExclusionRects.get(0);
- if (mBubbleContainer.getChildCount() > 0) {
+ if (getBubbleCount() > 0) {
View firstBubble = mBubbleContainer.getChildAt(0);
excludeZone.set(firstBubble.getLeft(), firstBubble.getTop(), firstBubble.getRight(),
firstBubble.getBottom());
@@ -784,7 +782,7 @@ public class BubbleStackView extends FrameLayout {
Log.d(TAG, "addBubble: " + bubble);
}
- if (mBubbleContainer.getChildCount() == 0) {
+ if (getBubbleCount() == 0) {
mStackOnLeftOrWillBe = mStackAnimationController.isStackOnLeftSide();
}
@@ -826,16 +824,13 @@ public class BubbleStackView extends FrameLayout {
}
if (mIsExpanded) {
if (DEBUG_BUBBLE_STACK_VIEW) {
- Log.d(TAG, "Expanded && overflow > 0. Show overflow button at");
- Log.d(TAG, "x: " + mExpandedAnimationController.getOverflowBtnLeft());
- Log.d(TAG, "y: " + mExpandedAnimationController.getExpandedY());
+ Log.d(TAG, "Show overflow button.");
}
- mOverflowBtn.setX(mExpandedAnimationController.getOverflowBtnLeft());
- mOverflowBtn.setY(mExpandedAnimationController.getExpandedY());
mOverflowBtn.setVisibility(VISIBLE);
- mExpandedAnimationController.setShowOverflowBtn(true);
if (apply) {
- mExpandedAnimationController.expandFromStack(null /* after */);
+ mExpandedAnimationController.expandFromStack(() -> {
+ updatePointerPosition();
+ } /* after */);
}
} else {
if (DEBUG_BUBBLE_STACK_VIEW) {
@@ -883,7 +878,9 @@ public class BubbleStackView extends FrameLayout {
// expanded view becomes visible on the screen. See b/126856255
mExpandedViewContainer.setAlpha(0.0f);
mSurfaceSynchronizer.syncSurfaceAndRun(() -> {
- if (previouslySelected != null) {
+ if (previouslySelected == null) {
+ mOverflowExpandedView.setContentVisibility(false);
+ } else {
previouslySelected.setContentVisibility(false);
}
updateExpandedBubble();
@@ -954,7 +951,7 @@ public class BubbleStackView extends FrameLayout {
if (mIsExpanded) {
if (isIntersecting(mBubbleContainer, x, y)) {
// Could be tapping or dragging a bubble while expanded
- for (int i = 0; i < mBubbleContainer.getChildCount(); i++) {
+ for (int i = 0; i < getBubbleCount(); i++) {
BadgedImageView view = (BadgedImageView) mBubbleContainer.getChildAt(i);
if (isIntersecting(view, x, y)) {
return view;
@@ -1055,7 +1052,9 @@ public class BubbleStackView extends FrameLayout {
() -> {
mBubbleContainer.setActiveController(mStackAnimationController);
afterExpandedViewAnimation();
- if (previouslySelected != null) {
+ if (previouslySelected == null) {
+ mOverflowExpandedView.setContentVisibility(false);
+ } else {
previouslySelected.setContentVisibility(false);
}
});
@@ -1108,7 +1107,7 @@ public class BubbleStackView extends FrameLayout {
/** Return the BubbleView at the given index from the bubble container. */
public BadgedImageView getBubbleAt(int i) {
- return mBubbleContainer.getChildCount() > i
+ return getBubbleCount() > i
? (BadgedImageView) mBubbleContainer.getChildAt(i)
: null;
}
@@ -1572,7 +1571,7 @@ public class BubbleStackView extends FrameLayout {
return;
}
if (!mIsExpanded) {
- if (mBubbleContainer.getChildCount() > 0) {
+ if (getBubbleCount() > 0) {
mBubbleContainer.getChildAt(0).getBoundsOnScreen(outRect);
}
// Increase the touch target size of the bubble
@@ -1625,10 +1624,14 @@ public class BubbleStackView extends FrameLayout {
Log.d(TAG, "updateExpandedBubble()");
}
mExpandedViewContainer.removeAllViews();
- if (mExpandedBubble != null && mIsExpanded) {
- mExpandedViewContainer.addView(mExpandedBubble.getExpandedView());
- mExpandedBubble.getExpandedView().populateExpandedView();
- mExpandedViewContainer.setVisibility(mIsExpanded ? VISIBLE : GONE);
+ if (mIsExpanded) {
+ BubbleExpandedView bev = mOverflowExpandedView;
+ if (mExpandedBubble != null) {
+ bev = mExpandedBubble.getExpandedView();
+ }
+ mExpandedViewContainer.addView(bev);
+ bev.populateExpandedView();
+ mExpandedViewContainer.setVisibility(VISIBLE);
mExpandedViewContainer.setAlpha(1.0f);
}
}
@@ -1662,7 +1665,7 @@ public class BubbleStackView extends FrameLayout {
/** Sets the appropriate Z-order and dot position for each bubble in the stack. */
private void updateBubbleZOrdersAndDotPosition(boolean animate) {
- int bubbleCount = mBubbleContainer.getChildCount();
+ int bubbleCount = getBubbleCount();
for (int i = 0; i < bubbleCount; i++) {
BadgedImageView bv = (BadgedImageView) mBubbleContainer.getChildAt(i);
bv.setZ((mMaxBubbles * mBubbleElevation) - i);
@@ -1678,30 +1681,23 @@ public class BubbleStackView extends FrameLayout {
if (expandedBubble == null) {
return;
}
-
int index = getBubbleIndex(expandedBubble);
- if (index >= mMaxBubbles) {
- // In between state, where extra bubble will be overflowed, and new bubble added
- index = 0;
- }
float bubbleLeftFromScreenLeft = mExpandedAnimationController.getBubbleLeft(index);
float halfBubble = mBubbleSize / 2f;
float bubbleCenter = bubbleLeftFromScreenLeft + halfBubble;
// Padding might be adjusted for insets, so get it directly from the view
bubbleCenter -= mExpandedViewContainer.getPaddingLeft();
-
- if (index >= mMaxBubbles) {
- Bubble first = mBubbleData.getBubbles().get(0);
- first.getExpandedView().setPointerPosition(bubbleCenter);
- } else {
- expandedBubble.getExpandedView().setPointerPosition(bubbleCenter);
- }
+ expandedBubble.getExpandedView().setPointerPosition(bubbleCenter);
}
/**
* @return the number of bubbles in the stack view.
*/
public int getBubbleCount() {
+ if (BubbleExperimentConfig.allowBubbleOverflow(mContext)) {
+ // Subtract 1 for the overflow button which is always in the bubble container.
+ return mBubbleContainer.getChildCount() - 1;
+ }
return mBubbleContainer.getChildCount();
}
@@ -1798,7 +1794,7 @@ public class BubbleStackView extends FrameLayout {
/** For debugging only */
List<Bubble> getBubblesOnScreen() {
List<Bubble> bubbles = new ArrayList<>();
- for (int i = 0; i < mBubbleContainer.getChildCount(); i++) {
+ for (int i = 0; i < getBubbleCount(); i++) {
View child = mBubbleContainer.getChildAt(i);
if (child instanceof BadgedImageView) {
String key = ((BadgedImageView) child).getKey();
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
index 6d6969da8c8a..aa549dc23f9b 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
@@ -31,6 +31,7 @@ import androidx.dynamicanimation.animation.SpringForce;
import com.android.systemui.Interpolators;
import com.android.systemui.R;
+import com.android.systemui.bubbles.BubbleExperimentConfig;
import com.google.android.collect.Sets;
@@ -67,13 +68,13 @@ public class ExpandedAnimationController
private float mBubblePaddingTop;
/** Size of each bubble. */
private float mBubbleSizePx;
- /** Width of the overflow button. */
- private float mOverflowBtnWidth;
+ /** Space between bubbles in row above expanded view. */
+ private float mSpaceBetweenBubbles;
/** Height of the status bar. */
private float mStatusBarHeight;
/** Size of display. */
private Point mDisplaySize;
- /** Max number of bubbles shown in row above expanded view.*/
+ /** Max number of bubbles shown in row above expanded view. */
private int mBubblesMaxRendered;
/** What the current screen orientation is. */
private int mScreenOrientation;
@@ -99,7 +100,6 @@ public class ExpandedAnimationController
private boolean mSpringingBubbleToTouch = false;
private int mExpandedViewPadding;
- private boolean mShowOverflowBtn;
public ExpandedAnimationController(Point displaySize, int expandedViewPadding,
int orientation) {
@@ -153,14 +153,6 @@ public class ExpandedAnimationController
}
}
- public void setShowOverflowBtn(boolean showBtn) {
- mShowOverflowBtn = showBtn;
- }
-
- public boolean getShowOverflowBtn() {
- return mShowOverflowBtn;
- }
-
/**
* Animates the bubbles along a curved path, either to expand them along the top or collapse
* them back into a stack.
@@ -369,10 +361,10 @@ public class ExpandedAnimationController
}
final WindowInsets insets = mLayout.getRootWindowInsets();
return mBubblePaddingTop + Math.max(
- mStatusBarHeight,
- insets.getDisplayCutout() != null
- ? insets.getDisplayCutout().getSafeInsetTop()
- : 0);
+ mStatusBarHeight,
+ insets.getDisplayCutout() != null
+ ? insets.getDisplayCutout().getSafeInsetTop()
+ : 0);
}
/** Description of current animation controller state. */
@@ -391,11 +383,15 @@ public class ExpandedAnimationController
mStackOffsetPx = res.getDimensionPixelSize(R.dimen.bubble_stack_offset);
mBubblePaddingTop = res.getDimensionPixelSize(R.dimen.bubble_padding_top);
mBubbleSizePx = res.getDimensionPixelSize(R.dimen.individual_bubble_size);
- mOverflowBtnWidth = mBubbleSizePx;
mStatusBarHeight =
res.getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height);
mBubblesMaxRendered = res.getInteger(R.integer.bubbles_max_rendered);
+ // Includes overflow button.
+ float totalGapWidth = getWidthForDisplayingBubbles() - (mExpandedViewPadding * 2)
+ - (mBubblesMaxRendered + 1) * mBubbleSizePx;
+ mSpaceBetweenBubbles = totalGapWidth / mBubblesMaxRendered;
+
// Ensure that all child views are at 1x scale, and visible, in case they were animating
// in.
mLayout.setVisibility(View.VISIBLE);
@@ -506,18 +502,10 @@ public class ExpandedAnimationController
* @return Bubble left x from left edge of screen.
*/
public float getBubbleLeft(int index) {
- final float bubbleFromRowLeft = index * (mBubbleSizePx + getSpaceBetweenBubbles());
+ final float bubbleFromRowLeft = index * (mBubbleSizePx + mSpaceBetweenBubbles);
return getRowLeft() + bubbleFromRowLeft;
}
- public float getOverflowBtnLeft() {
- if (mLayout == null || mLayout.getChildCount() == 0) {
- return 0;
- }
- return getBubbleLeft(mLayout.getChildCount() - 1) + mBubbleSizePx
- + getSpaceBetweenBubbles();
- }
-
/**
* When expanded, the bubbles are centered in the screen. In portrait, all available space is
* used. In landscape we have too much space so the value is restricted. This method accounts
@@ -539,7 +527,7 @@ public class ExpandedAnimationController
* Determines the available screen width without the cutout.
*
* @param subtractStableInsets Whether or not stable insets should also be removed from the
- * returned width.
+ * returned width.
* @return the total screen width available accounting for cutouts and insets,
* iff {@param includeStableInsets} is true.
*/
@@ -566,38 +554,13 @@ public class ExpandedAnimationController
if (mLayout == null) {
return 0;
}
-
- int bubbleCount = mLayout.getChildCount();
-
- final float totalBubbleWidth = bubbleCount * mBubbleSizePx;
- final float totalGapWidth = (bubbleCount - 1) * getSpaceBetweenBubbles();
- float rowWidth = totalGapWidth + totalBubbleWidth;
- if (mShowOverflowBtn) {
- rowWidth += getSpaceBetweenBubbles();
- rowWidth += mOverflowBtnWidth;
- }
+ float rowWidth = (mLayout.getChildCount() * mBubbleSizePx)
+ + ((mLayout.getChildCount() - 1) * mSpaceBetweenBubbles);
// This display size we're using includes the size of the insets, we want the true
// center of the display minus the notch here, which means we should include the
// stable insets (e.g. status bar, nav bar) in this calculation.
final float trueCenter = getAvailableScreenWidth(false /* subtractStableInsets */) / 2f;
- final float halfRow = rowWidth / 2f;
- final float rowLeft = trueCenter - halfRow;
- return rowLeft;
- }
-
- /**
- * @return Space between bubbles in row above expanded view.
- */
- private float getSpaceBetweenBubbles() {
- final float totalBubbleWidth = mBubblesMaxRendered * mBubbleSizePx;
- final float rowMargins = mExpandedViewPadding * 2;
- float totalGapWidth = getWidthForDisplayingBubbles() - rowMargins - totalBubbleWidth;
- if (mShowOverflowBtn) {
- totalGapWidth -= mBubbleSizePx;
- }
- final int gapCount = mBubblesMaxRendered - 1;
- final float gapWidth = totalGapWidth / gapCount;
- return gapWidth;
+ return trueCenter - (rowWidth / 2f);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ControlStatus.kt b/packages/SystemUI/src/com/android/systemui/controls/ControlStatus.kt
index e6cdf50580d8..53841e2f144b 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ControlStatus.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ControlStatus.kt
@@ -18,4 +18,8 @@ package com.android.systemui.controls
import android.service.controls.Control
-data class ControlStatus(val control: Control, val favorite: Boolean, val removed: Boolean = false) \ No newline at end of file
+data class ControlStatus(
+ val control: Control,
+ val favorite: Boolean,
+ val removed: Boolean = false
+) \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ControlsServiceInfo.kt b/packages/SystemUI/src/com/android/systemui/controls/ControlsServiceInfo.kt
index 265ddd8043b6..588ef5c4e68f 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ControlsServiceInfo.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ControlsServiceInfo.kt
@@ -22,7 +22,7 @@ import com.android.settingslib.applications.DefaultAppInfo
class ControlsServiceInfo(
context: Context,
- serviceInfo: ServiceInfo
+ val serviceInfo: ServiceInfo
) : DefaultAppInfo(
context,
context.packageManager,
diff --git a/packages/SystemUI/src/com/android/systemui/controls/UserAwareController.kt b/packages/SystemUI/src/com/android/systemui/controls/UserAwareController.kt
new file mode 100644
index 000000000000..4f39f2255a75
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/UserAwareController.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls
+
+import android.os.UserHandle
+
+interface UserAwareController {
+
+ fun changeUser(newUser: UserHandle) {}
+ val currentUserId: Int
+} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingController.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingController.kt
index 6b7fc4b7e827..12c3ce9c69ee 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingController.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingController.kt
@@ -19,8 +19,9 @@ package com.android.systemui.controls.controller
import android.content.ComponentName
import android.service.controls.Control
import android.service.controls.actions.ControlAction
+import com.android.systemui.controls.UserAwareController
-interface ControlsBindingController {
+interface ControlsBindingController : UserAwareController {
fun bindAndLoad(component: ComponentName, callback: (List<Control>) -> Unit)
fun bindServices(components: List<ComponentName>)
fun subscribe(controls: List<ControlInfo>)
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingControllerImpl.kt
index 2db2cf1af191..0a2a9255c3ea 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsBindingControllerImpl.kt
@@ -19,6 +19,7 @@ package com.android.systemui.controls.controller
import android.content.ComponentName
import android.content.Context
import android.os.IBinder
+import android.os.UserHandle
import android.service.controls.Control
import android.service.controls.IControlsActionCallback
import android.service.controls.IControlsLoadCallback
@@ -50,12 +51,17 @@ open class ControlsBindingControllerImpl @Inject constructor(
private val refreshing = AtomicBoolean(false)
+ private var currentUser = context.user
+
+ override val currentUserId: Int
+ get() = currentUser.identifier
+
@GuardedBy("componentMap")
private val tokenMap: MutableMap<IBinder, ControlsProviderLifecycleManager> =
ArrayMap<IBinder, ControlsProviderLifecycleManager>()
@GuardedBy("componentMap")
- private val componentMap: MutableMap<ComponentName, ControlsProviderLifecycleManager> =
- ArrayMap<ComponentName, ControlsProviderLifecycleManager>()
+ private val componentMap: MutableMap<Key, ControlsProviderLifecycleManager> =
+ ArrayMap<Key, ControlsProviderLifecycleManager>()
private val loadCallbackService = object : IControlsLoadCallback.Stub() {
override fun accept(token: IBinder, controls: MutableList<Control>) {
@@ -103,6 +109,7 @@ open class ControlsBindingControllerImpl @Inject constructor(
loadCallbackService,
actionCallbackService,
subscriberService,
+ currentUser,
component
)
}
@@ -110,7 +117,7 @@ open class ControlsBindingControllerImpl @Inject constructor(
private fun retrieveLifecycleManager(component: ComponentName):
ControlsProviderLifecycleManager {
synchronized(componentMap) {
- val provider = componentMap.getOrPut(component) {
+ val provider = componentMap.getOrPut(Key(component, currentUser)) {
createProviderManager(component)
}
tokenMap.putIfAbsent(provider.token, provider)
@@ -137,7 +144,7 @@ open class ControlsBindingControllerImpl @Inject constructor(
val providersWithFavorites = controlsByComponentName.keys
synchronized(componentMap) {
componentMap.forEach {
- if (it.key !in providersWithFavorites) {
+ if (it.key.component !in providersWithFavorites) {
backgroundExecutor.execute { it.value.unbindService() }
}
}
@@ -163,8 +170,38 @@ open class ControlsBindingControllerImpl @Inject constructor(
override fun bindServices(components: List<ComponentName>) {
components.forEach {
val provider = retrieveLifecycleManager(it)
- backgroundExecutor.execute { provider.bindPermanently() }
+ backgroundExecutor.execute { provider.bindService() }
+ }
+ }
+
+ override fun changeUser(newUser: UserHandle) {
+ if (newUser == currentUser) return
+ synchronized(componentMap) {
+ unbindAllProvidersLocked() // unbind all providers from the old user
}
+ refreshing.set(false)
+ currentUser = newUser
+ }
+
+ private fun unbindAllProvidersLocked() {
+ componentMap.values.forEach {
+ if (it.user == currentUser) {
+ it.unbindService()
+ }
+ }
+ }
+
+ override fun toString(): String {
+ return StringBuilder(" ControlsBindingController:\n").apply {
+ append(" refreshing=${refreshing.get()}\n")
+ append(" currentUser=$currentUser\n")
+ append(" Providers:\n")
+ synchronized(componentMap) {
+ componentMap.values.forEach {
+ append(" $it\n")
+ }
+ }
+ }.toString()
}
private abstract inner class CallbackRunnable(val token: IBinder) : Runnable {
@@ -183,6 +220,10 @@ open class ControlsBindingControllerImpl @Inject constructor(
Log.e(TAG, "No provider found for token:$token")
return
}
+ if (provider.user != currentUser) {
+ Log.e(TAG, "User ${provider.user} is not current user")
+ return
+ }
synchronized(componentMap) {
if (token !in tokenMap.keys) {
Log.e(TAG, "Provider for token:$token does not exist anymore")
@@ -192,7 +233,7 @@ open class ControlsBindingControllerImpl @Inject constructor(
provider.lastLoadCallback?.invoke(list) ?: run {
Log.w(TAG, "Null callback")
}
- provider.maybeUnbindAndRemoveCallback()
+ provider.unbindService()
}
}
@@ -204,6 +245,10 @@ open class ControlsBindingControllerImpl @Inject constructor(
if (!refreshing.get()) {
Log.d(TAG, "onRefresh outside of window from:${provider?.componentName}")
}
+ if (provider?.user != currentUser) {
+ Log.e(TAG, "User ${provider?.user} is not current user")
+ return
+ }
provider?.let {
lazyController.get().refreshStatus(it.componentName, control)
}
@@ -229,7 +274,7 @@ open class ControlsBindingControllerImpl @Inject constructor(
) : CallbackRunnable(token) {
override fun run() {
provider?.let {
- Log.i(TAG, "onComplete receive from '${provider?.componentName}'")
+ Log.i(TAG, "onComplete receive from '${provider.componentName}'")
}
}
}
@@ -240,7 +285,7 @@ open class ControlsBindingControllerImpl @Inject constructor(
) : CallbackRunnable(token) {
override fun run() {
provider?.let {
- Log.e(TAG, "onError receive from '${provider?.componentName}': $error")
+ Log.e(TAG, "onError receive from '${provider.componentName}': $error")
}
}
}
@@ -251,9 +296,15 @@ open class ControlsBindingControllerImpl @Inject constructor(
@ControlAction.ResponseResult val response: Int
) : CallbackRunnable(token) {
override fun run() {
+ if (provider?.user != currentUser) {
+ Log.e(TAG, "User ${provider?.user} is not current user")
+ return
+ }
provider?.let {
lazyController.get().onActionResponse(it.componentName, controlId, response)
}
}
}
}
+
+private data class Key(val component: ComponentName, val user: UserHandle) \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt
index e098faa00d03..b02de4500043 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsController.kt
@@ -20,8 +20,9 @@ import android.content.ComponentName
import android.service.controls.Control
import android.service.controls.actions.ControlAction
import com.android.systemui.controls.ControlStatus
+import com.android.systemui.controls.UserAwareController
-interface ControlsController {
+interface ControlsController : UserAwareController {
val available: Boolean
fun getFavoriteControls(): List<ControlInfo>
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt
index d5b5b5f0442e..6ff1cf8474d3 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt
@@ -17,10 +17,13 @@
package com.android.systemui.controls.controller
import android.app.PendingIntent
+import android.content.BroadcastReceiver
import android.content.ComponentName
import android.content.Context
import android.content.Intent
+import android.content.IntentFilter
import android.os.Environment
+import android.os.UserHandle
import android.provider.Settings
import android.service.controls.Control
import android.service.controls.actions.ControlAction
@@ -29,14 +32,17 @@ import android.util.Log
import com.android.internal.annotations.GuardedBy
import com.android.systemui.DumpController
import com.android.systemui.Dumpable
+import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.controls.ControlStatus
import com.android.systemui.controls.management.ControlsFavoritingActivity
+import com.android.systemui.controls.management.ControlsListingController
import com.android.systemui.controls.ui.ControlsUiController
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.util.concurrency.DelayableExecutor
import java.io.FileDescriptor
import java.io.PrintWriter
import java.util.Optional
+import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Singleton
@@ -46,35 +52,101 @@ class ControlsControllerImpl @Inject constructor (
@Background private val executor: DelayableExecutor,
private val uiController: ControlsUiController,
private val bindingController: ControlsBindingController,
- private val optionalWrapper: Optional<ControlsFavoritePersistenceWrapper>,
+ private val listingController: ControlsListingController,
+ broadcastDispatcher: BroadcastDispatcher,
+ optionalWrapper: Optional<ControlsFavoritePersistenceWrapper>,
dumpController: DumpController
) : Dumpable, ControlsController {
companion object {
private const val TAG = "ControlsControllerImpl"
const val CONTROLS_AVAILABLE = "systemui.controls_available"
+ const val USER_CHANGE_RETRY_DELAY = 500L // ms
}
- override val available = Settings.Secure.getInt(
+ // Map of map: ComponentName -> (String -> ControlInfo).
+ // Only for current user
+ @GuardedBy("currentFavorites")
+ private val currentFavorites = ArrayMap<ComponentName, MutableMap<String, ControlInfo>>()
+
+ private var userChanging = true
+ override var available = Settings.Secure.getInt(
context.contentResolver, CONTROLS_AVAILABLE, 0) != 0
- val persistenceWrapper = optionalWrapper.orElseGet {
+ private set
+
+ private var currentUser = context.user
+ override val currentUserId
+ get() = currentUser.identifier
+
+ private val persistenceWrapper = optionalWrapper.orElseGet {
ControlsFavoritePersistenceWrapper(
Environment.buildPath(
- context.filesDir,
- ControlsFavoritePersistenceWrapper.FILE_NAME),
+ context.filesDir,
+ ControlsFavoritePersistenceWrapper.FILE_NAME
+ ),
executor
)
}
- // Map of map: ComponentName -> (String -> ControlInfo)
- @GuardedBy("currentFavorites")
- private val currentFavorites = ArrayMap<ComponentName, MutableMap<String, ControlInfo>>()
+ private fun setValuesForUser(newUser: UserHandle) {
+ Log.d(TAG, "Changing to user: $newUser")
+ currentUser = newUser
+ val userContext = context.createContextAsUser(currentUser, 0)
+ val fileName = Environment.buildPath(
+ userContext.filesDir, ControlsFavoritePersistenceWrapper.FILE_NAME)
+ persistenceWrapper.changeFile(fileName)
+ available = Settings.Secure.getIntForUser(
+ context.contentResolver, CONTROLS_AVAILABLE, 0) != 0
+ synchronized(currentFavorites) {
+ currentFavorites.clear()
+ }
+ if (available) {
+ loadFavorites()
+ }
+ bindingController.changeUser(newUser)
+ listingController.changeUser(newUser)
+ userChanging = false
+ }
+
+ private val userSwitchReceiver = object : BroadcastReceiver() {
+ override fun onReceive(context: Context, intent: Intent) {
+ if (intent.action == Intent.ACTION_USER_SWITCHED) {
+ userChanging = true
+ val newUser =
+ UserHandle.of(intent.getIntExtra(Intent.EXTRA_USER_HANDLE, sendingUserId))
+ if (currentUser == newUser) {
+ userChanging = false
+ return
+ }
+ setValuesForUser(newUser)
+ }
+ }
+ }
init {
+ dumpController.registerDumpable(this)
if (available) {
- dumpController.registerDumpable(this)
loadFavorites()
}
+ userChanging = false
+ broadcastDispatcher.registerReceiver(
+ userSwitchReceiver,
+ IntentFilter(Intent.ACTION_USER_SWITCHED),
+ executor,
+ UserHandle.ALL
+ )
+ }
+
+ private fun confirmAvailability(): Boolean {
+ if (userChanging) {
+ Log.w(TAG, "Controls not available while user is changing")
+ return false
+ }
+ if (!available) {
+ Log.d(TAG, "Controls not available")
+ return false
+ }
+ return true
}
private fun loadFavorites() {
@@ -91,8 +163,18 @@ class ControlsControllerImpl @Inject constructor (
componentName: ComponentName,
callback: (List<ControlStatus>) -> Unit
) {
- if (!available) {
- Log.d(TAG, "Controls not available")
+ if (!confirmAvailability()) {
+ if (userChanging) {
+ // Try again later, userChanging should not last forever. If so, we have bigger
+ // problems
+ executor.executeDelayed(
+ { loadForComponent(componentName, callback) },
+ USER_CHANGE_RETRY_DELAY,
+ TimeUnit.MILLISECONDS
+ )
+ } else {
+ callback(emptyList())
+ }
return
}
bindingController.bindAndLoad(componentName) {
@@ -158,10 +240,7 @@ class ControlsControllerImpl @Inject constructor (
}
override fun subscribeToFavorites() {
- if (!available) {
- Log.d(TAG, "Controls not available")
- return
- }
+ if (!confirmAvailability()) return
// Make a copy of the favorites list
val favorites = synchronized(currentFavorites) {
currentFavorites.flatMap { it.value.values.toList() }
@@ -170,18 +249,12 @@ class ControlsControllerImpl @Inject constructor (
}
override fun unsubscribe() {
- if (!available) {
- Log.d(TAG, "Controls not available")
- return
- }
+ if (!confirmAvailability()) return
bindingController.unsubscribe()
}
override fun changeFavoriteStatus(controlInfo: ControlInfo, state: Boolean) {
- if (!available) {
- Log.d(TAG, "Controls not available")
- return
- }
+ if (!confirmAvailability()) return
var changed = false
val listOfControls = synchronized(currentFavorites) {
if (state) {
@@ -211,7 +284,7 @@ class ControlsControllerImpl @Inject constructor (
}
override fun refreshStatus(componentName: ComponentName, control: Control) {
- if (!available) {
+ if (!confirmAvailability()) {
Log.d(TAG, "Controls not available")
return
}
@@ -227,28 +300,24 @@ class ControlsControllerImpl @Inject constructor (
}
override fun onActionResponse(componentName: ComponentName, controlId: String, response: Int) {
- if (!available) {
- Log.d(TAG, "Controls not available")
- return
- }
+ if (!confirmAvailability()) return
uiController.onActionResponse(componentName, controlId, response)
}
override fun getFavoriteControls(): List<ControlInfo> {
- if (!available) {
- Log.d(TAG, "Controls not available")
- return emptyList()
- }
+ if (!confirmAvailability()) return emptyList()
synchronized(currentFavorites) {
return favoritesAsListLocked()
}
}
override fun action(controlInfo: ControlInfo, action: ControlAction) {
+ if (!confirmAvailability()) return
bindingController.action(controlInfo, action)
}
override fun clearFavorites() {
+ if (!confirmAvailability()) return
val changed = synchronized(currentFavorites) {
currentFavorites.isNotEmpty().also {
currentFavorites.clear()
@@ -261,6 +330,9 @@ class ControlsControllerImpl @Inject constructor (
override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<out String>) {
pw.println("ControlsController state:")
+ pw.println(" Available: $available")
+ pw.println(" Changing users: $userChanging")
+ pw.println(" Current user: ${currentUser.identifier}")
pw.println(" Favorites:")
synchronized(currentFavorites) {
currentFavorites.forEach {
@@ -269,5 +341,6 @@ class ControlsControllerImpl @Inject constructor (
}
}
}
+ pw.println(bindingController.toString())
}
-}
+} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt
index 6f2d71fd0f59..7d1df14bbf1b 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsFavoritePersistenceWrapper.kt
@@ -16,7 +16,6 @@
package com.android.systemui.controls.controller
-import android.app.ActivityManager
import android.content.ComponentName
import android.util.AtomicFile
import android.util.Log
@@ -32,8 +31,8 @@ import java.io.FileNotFoundException
import java.io.IOException
class ControlsFavoritePersistenceWrapper(
- val file: File,
- val executor: DelayableExecutor
+ private var file: File,
+ private var executor: DelayableExecutor
) {
companion object {
@@ -47,11 +46,13 @@ class ControlsFavoritePersistenceWrapper(
private const val TAG_TYPE = "type"
}
- val currentUser: Int
- get() = ActivityManager.getCurrentUser()
+ fun changeFile(fileName: File) {
+ file = fileName
+ }
fun storeFavorites(list: List<ControlInfo>) {
executor.execute {
+ Log.d(TAG, "Saving data to file: $file")
val atomicFile = AtomicFile(file)
val writer = try {
atomicFile.startWrite()
@@ -98,6 +99,7 @@ class ControlsFavoritePersistenceWrapper(
return emptyList()
}
try {
+ Log.d(TAG, "Reading data from file: $file")
val parser = Xml.newPullParser()
parser.setInput(reader, null)
return parseXml(parser)
@@ -111,7 +113,7 @@ class ControlsFavoritePersistenceWrapper(
}
private fun parseXml(parser: XmlPullParser): List<ControlInfo> {
- var type: Int = 0
+ var type = 0
val infos = mutableListOf<ControlInfo>()
while (parser.next().also { type = it } != XmlPullParser.END_DOCUMENT) {
if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
@@ -123,9 +125,9 @@ class ControlsFavoritePersistenceWrapper(
parser.getAttributeValue(null, TAG_COMPONENT))
val id = parser.getAttributeValue(null, TAG_ID)
val title = parser.getAttributeValue(null, TAG_TITLE)
- val type = parser.getAttributeValue(null, TAG_TYPE)?.toInt()
- if (component != null && id != null && title != null && type != null) {
- infos.add(ControlInfo(component, id, title, type))
+ val deviceType = parser.getAttributeValue(null, TAG_TYPE)?.toInt()
+ if (component != null && id != null && title != null && deviceType != null) {
+ infos.add(ControlInfo(component, id, title, deviceType))
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManager.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManager.kt
index 99aa3601ba30..b4bd82c84e1a 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManager.kt
@@ -24,6 +24,7 @@ import android.os.Binder
import android.os.Bundle
import android.os.IBinder
import android.os.RemoteException
+import android.os.UserHandle
import android.service.controls.Control
import android.service.controls.ControlsProviderService.CALLBACK_BUNDLE
import android.service.controls.ControlsProviderService.CALLBACK_TOKEN
@@ -46,6 +47,7 @@ class ControlsProviderLifecycleManager(
private val loadCallbackService: IControlsLoadCallback.Stub,
private val actionCallbackService: IControlsActionCallback.Stub,
private val subscriberService: IControlsSubscriber.Stub,
+ val user: UserHandle,
val componentName: ComponentName
) : IBinder.DeathRecipient {
@@ -54,9 +56,7 @@ class ControlsProviderLifecycleManager(
val token: IBinder = Binder()
@GuardedBy("subscriptions")
private val subscriptions = mutableListOf<IControlsSubscription>()
- private var unbindImmediate = false
private var requiresBound = false
- private var isBound = false
@GuardedBy("queuedMessages")
private val queuedMessages: MutableSet<Message> = ArraySet()
private var wrapper: ServiceWrapper? = null
@@ -96,30 +96,22 @@ class ControlsProviderLifecycleManager(
}
bindTryCount++
try {
- isBound = context.bindService(intent, serviceConnection, BIND_FLAGS)
+ context.bindServiceAsUser(intent, serviceConnection, BIND_FLAGS, user)
} catch (e: SecurityException) {
Log.e(TAG, "Failed to bind to service", e)
- isBound = false
}
} else {
if (DEBUG) {
Log.d(TAG, "Unbinding service $intent")
}
bindTryCount = 0
- wrapper = null
- if (isBound) {
+ wrapper?.run {
context.unbindService(serviceConnection)
- isBound = false
}
+ wrapper = null
}
}
- fun bindPermanently() {
- unbindImmediate = false
- unqueueMessage(Message.Unbind)
- bindService(true)
- }
-
private val serviceConnection = object : ServiceConnection {
override fun onServiceConnected(name: ComponentName, service: IBinder) {
if (DEBUG) Log.d(TAG, "onServiceConnected $name")
@@ -133,7 +125,7 @@ class ControlsProviderLifecycleManager(
override fun onServiceDisconnected(name: ComponentName?) {
if (DEBUG) Log.d(TAG, "onServiceDisconnected $name")
- isBound = false
+ wrapper = null
bindService(false)
}
}
@@ -152,7 +144,9 @@ class ControlsProviderLifecycleManager(
load()
}
queue.filter { it is Message.Subscribe }.flatMap { (it as Message.Subscribe).list }.run {
- subscribe(this)
+ if (this.isNotEmpty()) {
+ subscribe(this)
+ }
}
queue.filter { it is Message.Action }.forEach {
val msg = it as Message.Action
@@ -193,6 +187,15 @@ class ControlsProviderLifecycleManager(
}
}
+ private fun invokeOrQueue(f: () -> Unit, msg: Message) {
+ wrapper?.run {
+ f()
+ } ?: run {
+ queueMessage(msg)
+ bindService(true)
+ }
+ }
+
fun maybeBindAndLoad(callback: LoadCallback) {
unqueueMessage(Message.Unbind)
lastLoadCallback = callback
@@ -201,22 +204,12 @@ class ControlsProviderLifecycleManager(
Log.d(TAG, "Timeout waiting onLoad for $componentName")
loadCallbackService.accept(token, emptyList())
}, LOAD_TIMEOUT, TimeUnit.MILLISECONDS)
- if (isBound) {
- load()
- } else {
- queueMessage(Message.Load)
- unbindImmediate = true
- bindService(true)
- }
+
+ invokeOrQueue(::load, Message.Load)
}
fun maybeBindAndSubscribe(controlIds: List<String>) {
- if (isBound) {
- subscribe(controlIds)
- } else {
- queueMessage(Message.Subscribe(controlIds))
- bindService(true)
- }
+ invokeOrQueue({ subscribe(controlIds) }, Message.Subscribe(controlIds))
}
private fun subscribe(controlIds: List<String>) {
@@ -230,12 +223,7 @@ class ControlsProviderLifecycleManager(
}
fun maybeBindAndSendAction(controlId: String, action: ControlAction) {
- if (isBound) {
- action(controlId, action)
- } else {
- queueMessage(Message.Action(controlId, action))
- bindService(true)
- }
+ invokeOrQueue({ action(controlId, action) }, Message.Action(controlId, action))
}
private fun action(controlId: String, action: ControlAction) {
@@ -272,18 +260,25 @@ class ControlsProviderLifecycleManager(
}
}
- fun maybeUnbindAndRemoveCallback() {
+ fun bindService() {
+ unqueueMessage(Message.Unbind)
+ bindService(true)
+ }
+
+ fun unbindService() {
lastLoadCallback = null
onLoadCanceller?.run()
onLoadCanceller = null
- if (unbindImmediate) {
- bindService(false)
- }
+
+ bindService(false)
}
- fun unbindService() {
- unbindImmediate = true
- maybeUnbindAndRemoveCallback()
+ override fun toString(): String {
+ return StringBuilder("ControlsProviderLifecycleManager(").apply {
+ append("component=$componentName")
+ append(", user=$user")
+ append(")")
+ }.toString()
}
sealed class Message {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/AppAdapter.kt b/packages/SystemUI/src/com/android/systemui/controls/management/AppAdapter.kt
index d62bb4def3aa..22c69086cf8c 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/AppAdapter.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/AppAdapter.kt
@@ -23,6 +23,7 @@ import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
import androidx.recyclerview.widget.RecyclerView
import com.android.settingslib.widget.CandidateInfo
import com.android.systemui.R
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt
index 01c4fef67fd4..7ee4fd5b059e 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsFavoritingActivity.kt
@@ -22,15 +22,18 @@ import android.os.Bundle
import android.view.LayoutInflater
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
+import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.controls.controller.ControlInfo
import com.android.systemui.controls.controller.ControlsControllerImpl
import com.android.systemui.dagger.qualifiers.Main
+import com.android.systemui.settings.CurrentUserTracker
import java.util.concurrent.Executor
import javax.inject.Inject
class ControlsFavoritingActivity @Inject constructor(
@Main private val executor: Executor,
- private val controller: ControlsControllerImpl
+ private val controller: ControlsControllerImpl,
+ broadcastDispatcher: BroadcastDispatcher
) : Activity() {
companion object {
@@ -42,11 +45,24 @@ class ControlsFavoritingActivity @Inject constructor(
private lateinit var recyclerView: RecyclerView
private lateinit var adapter: ControlAdapter
+ private val currentUserTracker = object : CurrentUserTracker(broadcastDispatcher) {
+ private val startingUser = controller.currentUserId
+
+ override fun onUserSwitched(newUserId: Int) {
+ if (newUserId != startingUser) {
+ stopTracking()
+ finish()
+ }
+ }
+ }
+
+ private var component: ComponentName? = null
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val app = intent.getCharSequenceExtra(EXTRA_APP)
- val component = intent.getParcelableExtra<ComponentName>(EXTRA_COMPONENT)
+ component = intent.getParcelableExtra<ComponentName>(EXTRA_COMPONENT)
// If we have no component name, there's not much we can do.
val callback = component?.let {
@@ -68,6 +84,11 @@ class ControlsFavoritingActivity @Inject constructor(
}
setContentView(recyclerView)
+ currentUserTracker.startTracking()
+ }
+
+ override fun onResume() {
+ super.onResume()
component?.let {
controller.loadForComponent(it) {
executor.execute {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingController.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingController.kt
index 09e0ce9fea8d..34db684022fb 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingController.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingController.kt
@@ -18,14 +18,17 @@ package com.android.systemui.controls.management
import android.content.ComponentName
import com.android.settingslib.widget.CandidateInfo
+import com.android.systemui.controls.UserAwareController
import com.android.systemui.statusbar.policy.CallbackController
interface ControlsListingController :
- CallbackController<ControlsListingController.ControlsListingCallback> {
+ CallbackController<ControlsListingController.ControlsListingCallback>,
+ UserAwareController {
fun getCurrentServices(): List<CandidateInfo>
fun getAppLabel(name: ComponentName): CharSequence? = ""
+ @FunctionalInterface
interface ControlsListingCallback {
fun onServicesUpdated(list: List<CandidateInfo>)
}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt
index 3949c5929a85..882382cc4ade 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsListingControllerImpl.kt
@@ -19,6 +19,7 @@ package com.android.systemui.controls.management
import android.content.ComponentName
import android.content.Context
import android.content.pm.ServiceInfo
+import android.os.UserHandle
import android.service.controls.ControlsProviderService
import android.util.Log
import com.android.internal.annotations.VisibleForTesting
@@ -31,6 +32,16 @@ import java.util.concurrent.Executor
import javax.inject.Inject
import javax.inject.Singleton
+private fun createServiceListing(context: Context): ServiceListing {
+ return ServiceListing.Builder(context).apply {
+ setIntentAction(ControlsProviderService.SERVICE_CONTROLS)
+ setPermission("android.permission.BIND_CONTROLS")
+ setNoun("Controls Provider")
+ setSetting("controls_providers")
+ setTag("controls_providers")
+ }.build()
+}
+
/**
* Provides a listing of components to be used as ControlsServiceProvider.
*
@@ -43,41 +54,55 @@ import javax.inject.Singleton
class ControlsListingControllerImpl @VisibleForTesting constructor(
private val context: Context,
@Background private val backgroundExecutor: Executor,
- private val serviceListing: ServiceListing
+ private val serviceListingBuilder: (Context) -> ServiceListing
) : ControlsListingController {
@Inject
constructor(context: Context, executor: Executor): this(
context,
executor,
- ServiceListing.Builder(context)
- .setIntentAction(ControlsProviderService.SERVICE_CONTROLS)
- .setPermission("android.permission.BIND_CONTROLS")
- .setNoun("Controls Provider")
- .setSetting("controls_providers")
- .setTag("controls_providers")
- .build()
+ ::createServiceListing
)
+ private var serviceListing = serviceListingBuilder(context)
+
companion object {
private const val TAG = "ControlsListingControllerImpl"
}
private var availableServices = emptyList<ServiceInfo>()
- init {
- serviceListing.addCallback {
- Log.d(TAG, "ServiceConfig reloaded")
- availableServices = it.toList()
-
- backgroundExecutor.execute {
- callbacks.forEach {
- it.onServicesUpdated(getCurrentServices())
- }
+ override var currentUserId = context.userId
+ private set
+
+ private val serviceListingCallback = ServiceListing.Callback {
+ Log.d(TAG, "ServiceConfig reloaded")
+ availableServices = it.toList()
+
+ backgroundExecutor.execute {
+ callbacks.forEach {
+ it.onServicesUpdated(getCurrentServices())
}
}
}
+ init {
+ serviceListing.addCallback(serviceListingCallback)
+ }
+
+ override fun changeUser(newUser: UserHandle) {
+ backgroundExecutor.execute {
+ callbacks.clear()
+ availableServices = emptyList()
+ serviceListing.setListening(false)
+ serviceListing.removeCallback(serviceListingCallback)
+ currentUserId = newUser.identifier
+ val contextForUser = context.createContextAsUser(newUser, 0)
+ serviceListing = serviceListingBuilder(contextForUser)
+ serviceListing.addCallback(serviceListingCallback)
+ }
+ }
+
// All operations in background thread
private val callbacks = mutableSetOf<ControlsListingController.ControlsListingCallback>()
@@ -91,6 +116,7 @@ class ControlsListingControllerImpl @VisibleForTesting constructor(
*/
override fun addCallback(listener: ControlsListingController.ControlsListingCallback) {
backgroundExecutor.execute {
+ Log.d(TAG, "Subscribing callback")
callbacks.add(listener)
if (callbacks.size == 1) {
serviceListing.setListening(true)
@@ -108,6 +134,7 @@ class ControlsListingControllerImpl @VisibleForTesting constructor(
*/
override fun removeCallback(listener: ControlsListingController.ControlsListingCallback) {
backgroundExecutor.execute {
+ Log.d(TAG, "Unsubscribing callback")
callbacks.remove(listener)
if (callbacks.size == 0) {
serviceListing.setListening(false)
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt
index 69af516b4ac9..5ff949c98806 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsProviderSelectorActivity.kt
@@ -22,7 +22,10 @@ import android.os.Bundle
import android.view.LayoutInflater
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
+import com.android.systemui.broadcast.BroadcastDispatcher
+import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
+import com.android.systemui.settings.CurrentUserTracker
import com.android.systemui.util.LifecycleActivity
import java.util.concurrent.Executor
import javax.inject.Inject
@@ -32,7 +35,9 @@ import javax.inject.Inject
*/
class ControlsProviderSelectorActivity @Inject constructor(
@Main private val executor: Executor,
- private val listingController: ControlsListingController
+ @Background private val backExecutor: Executor,
+ private val listingController: ControlsListingController,
+ broadcastDispatcher: BroadcastDispatcher
) : LifecycleActivity() {
companion object {
@@ -40,6 +45,16 @@ class ControlsProviderSelectorActivity @Inject constructor(
}
private lateinit var recyclerView: RecyclerView
+ private val currentUserTracker = object : CurrentUserTracker(broadcastDispatcher) {
+ private val startingUser = listingController.currentUserId
+
+ override fun onUserSwitched(newUserId: Int) {
+ if (newUserId != startingUser) {
+ stopTracking()
+ finish()
+ }
+ }
+ }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -50,6 +65,7 @@ class ControlsProviderSelectorActivity @Inject constructor(
recyclerView.layoutManager = LinearLayoutManager(applicationContext)
setContentView(recyclerView)
+ currentUserTracker.startTracking()
}
/**
@@ -57,13 +73,17 @@ class ControlsProviderSelectorActivity @Inject constructor(
* @param component a component name for a [ControlsProviderService]
*/
fun launchFavoritingActivity(component: ComponentName?) {
- component?.let {
- val intent = Intent(applicationContext, ControlsFavoritingActivity::class.java).apply {
- putExtra(ControlsFavoritingActivity.EXTRA_APP, listingController.getAppLabel(it))
- putExtra(ControlsFavoritingActivity.EXTRA_COMPONENT, it)
- flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP
+ backExecutor.execute {
+ component?.let {
+ val intent = Intent(applicationContext, ControlsFavoritingActivity::class.java)
+ .apply {
+ putExtra(ControlsFavoritingActivity.EXTRA_APP,
+ listingController.getAppLabel(it))
+ putExtra(ControlsFavoritingActivity.EXTRA_COMPONENT, it)
+ flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP
+ }
+ startActivity(intent)
}
- startActivity(intent)
}
}
} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/Behavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/Behavior.kt
new file mode 100644
index 000000000000..44f3fbc58eaf
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/Behavior.kt
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls.ui
+
+interface Behavior {
+ fun apply(cvh: ControlViewHolder, cws: ControlWithState)
+}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
index 81b5f3698567..5519e32d6c10 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
@@ -17,22 +17,17 @@
package com.android.systemui.controls.ui
import android.content.Context
+import android.content.Intent
import android.graphics.drawable.ClipDrawable
-import android.graphics.drawable.Drawable
import android.graphics.drawable.GradientDrawable
import android.graphics.drawable.Icon
import android.graphics.drawable.LayerDrawable
import android.service.controls.Control
-import android.service.controls.DeviceTypes
-import android.service.controls.actions.BooleanAction
import android.service.controls.actions.ControlAction
-import android.service.controls.actions.FloatAction
import android.service.controls.templates.ControlTemplate
-import android.service.controls.templates.RangeTemplate
+import android.service.controls.templates.TemperatureControlTemplate
import android.service.controls.templates.ToggleRangeTemplate
import android.service.controls.templates.ToggleTemplate
-import android.util.TypedValue
-import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
@@ -41,8 +36,8 @@ import android.widget.TextView
import com.android.systemui.controls.controller.ControlsController
import com.android.systemui.R
-private const val MIN_LEVEL = 0
-private const val MAX_LEVEL = 10000
+public const val MIN_LEVEL = 0
+public const val MAX_LEVEL = 10000
class ControlViewHolder(
val layout: ViewGroup,
@@ -78,6 +73,16 @@ class ControlViewHolder(
Pair(Control.STATUS_UNKNOWN, ControlTemplate.NO_TEMPLATE)
}
+ cws.control?.let { c ->
+ layout.setOnLongClickListener(View.OnLongClickListener() {
+ val closeDialog = Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)
+ context.sendBroadcast(closeDialog)
+
+ c.getAppIntent().send()
+ true
+ })
+ }
+
findBehavior(status, template).apply(this, cws)
}
@@ -88,13 +93,14 @@ class ControlViewHolder(
private fun findBehavior(status: Int, template: ControlTemplate): Behavior {
return when {
status == Control.STATUS_UNKNOWN -> UnknownBehavior()
- template is ToggleTemplate -> ToggleTemplateBehavior()
- template is ToggleRangeTemplate -> ToggleRangeTemplateBehavior()
+ template is ToggleTemplate -> ToggleBehavior()
+ template is ToggleRangeTemplate -> ToggleRangeBehavior()
+ template is TemperatureControlTemplate -> TemperatureControlBehavior()
else -> {
object : Behavior {
override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
cvh.status.setText(cws.control?.getStatusText())
- cvh.applyRenderInfo(findRenderInfo(cws.ci.deviceType, false))
+ cvh.applyRenderInfo(RenderInfo.lookup(cws.ci.deviceType, false))
}
}
}
@@ -118,283 +124,3 @@ class ControlViewHolder(
icon.setEnabled(enabled)
}
}
-
-private interface Behavior {
- fun apply(cvh: ControlViewHolder, cws: ControlWithState)
-
- fun findRenderInfo(deviceType: Int, isActive: Boolean): RenderInfo =
- deviceRenderMap.getOrDefault(deviceType, unknownDeviceMap).getValue(isActive)
-}
-
-private class UnknownBehavior : Behavior {
- override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
- cvh.status.setText("Loading...")
- cvh.applyRenderInfo(findRenderInfo(cws.ci.deviceType, false))
- }
-}
-
-private class ToggleRangeTemplateBehavior : Behavior {
- lateinit var clipLayer: Drawable
- lateinit var template: ToggleRangeTemplate
- lateinit var control: Control
- lateinit var cvh: ControlViewHolder
- lateinit var rangeTemplate: RangeTemplate
- lateinit var statusExtra: TextView
- lateinit var status: TextView
- lateinit var context: Context
-
- override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
- this.control = cws.control!!
- this.cvh = cvh
-
- statusExtra = cvh.statusExtra
- status = cvh.status
-
- status.setText(control.getStatusText())
-
- context = status.getContext()
-
- cvh.layout.setOnTouchListener(ToggleRangeTouchListener())
-
- val ld = cvh.layout.getBackground() as LayerDrawable
- clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
-
- template = control.getControlTemplate() as ToggleRangeTemplate
- rangeTemplate = template.getRange()
-
- val checked = template.isChecked()
- val deviceType = control.getDeviceType()
-
- updateRange((rangeTemplate.getCurrentValue() / 100.0f), checked)
-
- cvh.setEnabled(checked)
- cvh.applyRenderInfo(findRenderInfo(deviceType, checked))
- }
-
- fun toggle() {
- cvh.action(BooleanAction(template.getTemplateId(), !template.isChecked()))
-
- val nextLevel = if (template.isChecked()) MIN_LEVEL else MAX_LEVEL
- clipLayer.setLevel(nextLevel)
- }
-
- fun beginUpdateRange() {
- status.setVisibility(View.GONE)
- statusExtra.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getResources()
- .getDimensionPixelSize(R.dimen.control_status_expanded).toFloat())
- }
-
- fun updateRange(f: Float, checked: Boolean) {
- clipLayer.setLevel(if (checked) (MAX_LEVEL * f).toInt() else MIN_LEVEL)
-
- if (checked && f < 100.0f && f > 0.0f) {
- statusExtra.setText("" + (f * 100.0).toInt() + "%")
- statusExtra.setVisibility(View.VISIBLE)
- } else {
- statusExtra.setText("")
- statusExtra.setVisibility(View.GONE)
- }
- }
-
- fun endUpdateRange(f: Float) {
- statusExtra.setText(" - " + (f * 100.0).toInt() + "%")
-
- val newValue = rangeTemplate.getMinValue() +
- (f * (rangeTemplate.getMaxValue() - rangeTemplate.getMinValue()))
-
- statusExtra.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getResources()
- .getDimensionPixelSize(R.dimen.control_status_normal).toFloat())
- status.setVisibility(View.VISIBLE)
-
- cvh.action(FloatAction(rangeTemplate.getTemplateId(), findNearestStep(newValue)))
- }
-
- fun findNearestStep(value: Float): Float {
- var minDiff = 1000f
-
- var f = rangeTemplate.getMinValue()
- while (f <= rangeTemplate.getMaxValue()) {
- val currentDiff = Math.abs(value - f)
- if (currentDiff < minDiff) {
- minDiff = currentDiff
- } else {
- return f - rangeTemplate.getStepValue()
- }
-
- f += rangeTemplate.getStepValue()
- }
-
- return rangeTemplate.getMaxValue()
- }
-
- inner class ToggleRangeTouchListener() : View.OnTouchListener {
- private var initialTouchX: Float = 0.0f
- private var initialTouchY: Float = 0.0f
- private var isDragging: Boolean = false
- private val minDragDiff = 20
-
- override fun onTouch(v: View, e: MotionEvent): Boolean {
- when (e.getActionMasked()) {
- MotionEvent.ACTION_DOWN -> setupTouch(e)
- MotionEvent.ACTION_MOVE -> detectDrag(v, e)
- MotionEvent.ACTION_UP -> endTouch(v, e)
- }
-
- return true
- }
-
- private fun setupTouch(e: MotionEvent) {
- initialTouchX = e.getX()
- initialTouchY = e.getY()
- }
-
- private fun detectDrag(v: View, e: MotionEvent) {
- val xDiff = Math.abs(e.getX() - initialTouchX)
- val yDiff = Math.abs(e.getY() - initialTouchY)
-
- if (xDiff < minDragDiff) {
- isDragging = false
- } else {
- if (!isDragging) {
- this@ToggleRangeTemplateBehavior.beginUpdateRange()
- }
- v.getParent().requestDisallowInterceptTouchEvent(true)
- isDragging = true
- if (yDiff > xDiff) {
- endTouch(v, e)
- } else {
- val percent = Math.max(0.0f, Math.min(1.0f, e.getX() / v.getWidth()))
- this@ToggleRangeTemplateBehavior.updateRange(percent, true)
- }
- }
- }
-
- private fun endTouch(v: View, e: MotionEvent) {
- if (!isDragging) {
- this@ToggleRangeTemplateBehavior.toggle()
- } else {
- val percent = Math.max(0.0f, Math.min(1.0f, e.getX() / v.getWidth()))
- this@ToggleRangeTemplateBehavior.endUpdateRange(percent)
- }
-
- initialTouchX = 0.0f
- initialTouchY = 0.0f
- isDragging = false
- }
- }
-}
-
-private class ToggleTemplateBehavior : Behavior {
- lateinit var clipLayer: Drawable
- lateinit var template: ToggleTemplate
- lateinit var control: Control
- lateinit var cvh: ControlViewHolder
- lateinit var context: Context
- lateinit var status: TextView
-
- override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
- this.control = cws.control!!
- this.cvh = cvh
- status = cvh.status
-
- status.setText(control.getStatusText())
-
- cvh.layout.setOnClickListener(View.OnClickListener() { toggle() })
-
- val ld = cvh.layout.getBackground() as LayerDrawable
- clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
-
- template = control.getControlTemplate() as ToggleTemplate
-
- val checked = template.isChecked()
- val deviceType = control.getDeviceType()
-
- clipLayer.setLevel(if (checked) MAX_LEVEL else MIN_LEVEL)
- cvh.setEnabled(checked)
- cvh.applyRenderInfo(findRenderInfo(deviceType, checked))
- }
-
- fun toggle() {
- cvh.action(BooleanAction(template.getTemplateId(), !template.isChecked()))
-
- val nextLevel = if (template.isChecked()) MIN_LEVEL else MAX_LEVEL
- clipLayer.setLevel(nextLevel)
- }
-}
-
-internal data class RenderInfo(val iconResourceId: Int, val foreground: Int, val background: Int)
-
-private val unknownDeviceMap = mapOf(
- false to RenderInfo(
- R.drawable.ic_light_off_gm2_24px,
- R.color.unknown_foreground,
- R.color.unknown_foreground),
- true to RenderInfo(
- R.drawable.ic_lightbulb_outline_gm2_24px,
- R.color.unknown_foreground,
- R.color.unknown_foreground)
-)
-
-private val deviceRenderMap = mapOf<Int, Map<Boolean, RenderInfo>>(
- DeviceTypes.TYPE_UNKNOWN to unknownDeviceMap,
- DeviceTypes.TYPE_LIGHT to mapOf(
- false to RenderInfo(
- R.drawable.ic_light_off_gm2_24px,
- R.color.light_foreground,
- R.color.light_background),
- true to RenderInfo(
- R.drawable.ic_lightbulb_outline_gm2_24px,
- R.color.light_foreground,
- R.color.light_background)
- ),
- DeviceTypes.TYPE_THERMOSTAT to mapOf(
- false to RenderInfo(
- R.drawable.ic_device_thermostat_gm2_24px,
- R.color.light_foreground,
- R.color.light_background),
- true to RenderInfo(
- R.drawable.ic_device_thermostat_gm2_24px,
- R.color.light_foreground,
- R.color.light_background)
- ),
- DeviceTypes.TYPE_CAMERA to mapOf(
- false to RenderInfo(
- R.drawable.ic_videocam_gm2_24px,
- R.color.light_foreground,
- R.color.light_background),
- true to RenderInfo(
- R.drawable.ic_videocam_gm2_24px,
- R.color.light_foreground,
- R.color.light_background)
- ),
- DeviceTypes.TYPE_LOCK to mapOf(
- false to RenderInfo(
- R.drawable.ic_lock_open_gm2_24px,
- R.color.lock_foreground,
- R.color.lock_background),
- true to RenderInfo(
- R.drawable.ic_lock_gm2_24px,
- R.color.lock_foreground,
- R.color.lock_background)
- ),
- DeviceTypes.TYPE_SWITCH to mapOf(
- false to RenderInfo(
- R.drawable.ic_switches_gm2_24px,
- R.color.lock_foreground,
- R.color.lock_background),
- true to RenderInfo(
- R.drawable.ic_switches_gm2_24px,
- R.color.lock_foreground,
- R.color.lock_background)
- ),
- DeviceTypes.TYPE_OUTLET to mapOf(
- false to RenderInfo(
- R.drawable.ic_power_off_gm2_24px,
- R.color.lock_foreground,
- R.color.lock_background),
- true to RenderInfo(
- R.drawable.ic_power_gm2_24px,
- R.color.lock_foreground,
- R.color.lock_background)
- )
-)
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt
index 926fb6e75594..a777faf57fce 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt
@@ -29,6 +29,8 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.LinearLayout
+import android.widget.Space
import android.widget.TextView
import com.android.systemui.controls.controller.ControlsController
@@ -136,7 +138,10 @@ class ControlsUiControllerImpl @Inject constructor (
val serviceIntent = Intent()
serviceIntent.setComponent(ComponentName("com.android.systemui.home.mock",
"com.android.systemui.home.mock.AuthService"))
- context.bindService(serviceIntent, tokenProviderConnection!!, Context.BIND_AUTO_CREATE)
+ if (!context.bindService(serviceIntent, tokenProviderConnection!!,
+ Context.BIND_AUTO_CREATE)) {
+ controlsController.get().subscribeToFavorites()
+ }
}
private fun showInitialSetupView() {
@@ -144,10 +149,17 @@ class ControlsUiControllerImpl @Inject constructor (
inflater.inflate(R.layout.controls_no_favorites, parent, true)
val textView = parent.requireViewById(R.id.controls_title) as TextView
- textView.setOnClickListener {
+ textView.setOnClickListener(launchSelectorActivityListener(context))
+ }
+
+ private fun launchSelectorActivityListener(context: Context): (View) -> Unit {
+ return { _ ->
+ val closeDialog = Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)
+ context.sendBroadcast(closeDialog)
+
val i = Intent()
i.setComponent(ComponentName(context, ControlsProviderSelectorActivity::class.java))
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+ i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(i)
}
}
@@ -171,13 +183,12 @@ class ControlsUiControllerImpl @Inject constructor (
controlViewsById.put(it.controlId, cvh)
}
- val moreImageView = parent.requireViewById(R.id.controls_more) as View
- moreImageView.setOnClickListener {
- val i = Intent()
- i.setComponent(ComponentName(context, ControlsProviderSelectorActivity::class.java))
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
- context.startActivity(i)
+ if ((controlInfos.size % 2) == 1) {
+ lastRow.addView(Space(context), LinearLayout.LayoutParams(0, 0, 1f))
}
+
+ val moreImageView = parent.requireViewById(R.id.controls_more) as View
+ moreImageView.setOnClickListener(launchSelectorActivityListener(context))
}
override fun hide() {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt
new file mode 100644
index 000000000000..24c8020529ff
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls.ui
+
+import android.service.controls.DeviceTypes
+import android.service.controls.templates.TemperatureControlTemplate
+
+import com.android.systemui.R
+
+data class IconState(val disabledResourceId: Int, val enabledResourceId: Int) {
+ operator fun get(state: Boolean): Int {
+ return if (state) {
+ enabledResourceId
+ } else {
+ disabledResourceId
+ }
+ }
+}
+
+data class RenderInfo(val iconResourceId: Int, val foreground: Int, val background: Int) {
+
+ companion object {
+ fun lookup(deviceType: Int, enabled: Boolean): RenderInfo {
+ val iconState = deviceIconMap.getValue(deviceType)
+ val (fg, bg) = deviceColorMap.getValue(deviceType)
+ return RenderInfo(iconState[enabled], fg, bg)
+ }
+
+ fun lookup(deviceType: Int, offset: Int, enabled: Boolean): RenderInfo {
+ val key = deviceType * BUCKET_SIZE + offset
+ return lookup(key, enabled)
+ }
+ }
+}
+
+private const val BUCKET_SIZE = 1000
+private const val THERMOSTAT_RANGE = DeviceTypes.TYPE_THERMOSTAT * BUCKET_SIZE
+
+public val deviceColorMap = mapOf<Int, Pair<Int, Int>>(
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT) to
+ Pair(R.color.thermo_heat_foreground, R.color.thermo_heat_background),
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_COOL) to
+ Pair(R.color.thermo_cool_foreground, R.color.thermo_cool_background),
+ DeviceTypes.TYPE_LIGHT to Pair(R.color.light_foreground, R.color.light_background)
+).withDefault {
+ Pair(R.color.control_foreground, R.color.control_background)
+}
+
+public val deviceIconMap = mapOf<Int, IconState>(
+ THERMOSTAT_RANGE to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_OFF) to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT) to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_COOL) to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT_COOL) to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_ECO) to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ DeviceTypes.TYPE_THERMOSTAT to IconState(
+ R.drawable.ic_device_thermostat_gm2_24px,
+ R.drawable.ic_device_thermostat_gm2_24px
+ ),
+ DeviceTypes.TYPE_LIGHT to IconState(
+ R.drawable.ic_light_off_gm2_24px,
+ R.drawable.ic_lightbulb_outline_gm2_24px
+ ),
+ DeviceTypes.TYPE_CAMERA to IconState(
+ R.drawable.ic_videocam_gm2_24px,
+ R.drawable.ic_videocam_gm2_24px
+ ),
+ DeviceTypes.TYPE_LOCK to IconState(
+ R.drawable.ic_lock_open_gm2_24px,
+ R.drawable.ic_lock_gm2_24px
+ ),
+ DeviceTypes.TYPE_SWITCH to IconState(
+ R.drawable.ic_switches_gm2_24px,
+ R.drawable.ic_switches_gm2_24px
+ ),
+ DeviceTypes.TYPE_OUTLET to IconState(
+ R.drawable.ic_power_off_gm2_24px,
+ R.drawable.ic_power_gm2_24px
+ )
+).withDefault {
+ IconState(
+ R.drawable.ic_light_off_gm2_24px,
+ R.drawable.ic_lightbulb_outline_gm2_24px
+ )
+}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/TemperatureControlBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/TemperatureControlBehavior.kt
new file mode 100644
index 000000000000..ae0ebbb9e1bb
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/TemperatureControlBehavior.kt
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls.ui
+
+import android.content.Context
+import android.graphics.drawable.Drawable
+import android.graphics.drawable.LayerDrawable
+import android.service.controls.Control
+import android.service.controls.templates.TemperatureControlTemplate
+import android.widget.TextView
+
+import com.android.systemui.R
+
+class TemperatureControlBehavior : Behavior {
+ lateinit var clipLayer: Drawable
+ lateinit var control: Control
+ lateinit var cvh: ControlViewHolder
+ lateinit var template: TemperatureControlTemplate
+ lateinit var status: TextView
+ lateinit var context: Context
+
+ override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
+ this.control = cws.control!!
+ this.cvh = cvh
+ status = cvh.status
+
+ status.setText(control.getStatusText())
+
+ val ld = cvh.layout.getBackground() as LayerDrawable
+ clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
+
+ template = control.getControlTemplate() as TemperatureControlTemplate
+
+ val activeMode = template.getCurrentActiveMode()
+ val enabled = activeMode != 0 && activeMode != TemperatureControlTemplate.MODE_OFF
+ val deviceType = control.getDeviceType()
+
+ clipLayer.setLevel(if (enabled) MAX_LEVEL else MIN_LEVEL)
+ cvh.setEnabled(enabled)
+ cvh.applyRenderInfo(RenderInfo.lookup(deviceType, activeMode, enabled))
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt
new file mode 100644
index 000000000000..7cd3ab795678
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleBehavior.kt
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls.ui
+
+import android.content.Context
+import android.graphics.drawable.Drawable
+import android.graphics.drawable.LayerDrawable
+import android.view.View
+import android.widget.TextView
+import android.service.controls.Control
+import android.service.controls.actions.BooleanAction
+import android.service.controls.templates.ToggleTemplate
+
+import com.android.systemui.R
+
+class ToggleBehavior : Behavior {
+ lateinit var clipLayer: Drawable
+ lateinit var template: ToggleTemplate
+ lateinit var control: Control
+ lateinit var cvh: ControlViewHolder
+ lateinit var context: Context
+ lateinit var status: TextView
+
+ override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
+ this.control = cws.control!!
+ this.cvh = cvh
+ status = cvh.status
+
+ status.setText(control.getStatusText())
+
+ cvh.layout.setOnClickListener(View.OnClickListener() { toggle() })
+
+ val ld = cvh.layout.getBackground() as LayerDrawable
+ clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
+
+ template = control.getControlTemplate() as ToggleTemplate
+
+ val checked = template.isChecked()
+ val deviceType = control.getDeviceType()
+
+ clipLayer.setLevel(if (checked) MAX_LEVEL else MIN_LEVEL)
+ cvh.setEnabled(checked)
+ cvh.applyRenderInfo(RenderInfo.lookup(deviceType, checked))
+ }
+
+ fun toggle() {
+ cvh.action(BooleanAction(template.getTemplateId(), !template.isChecked()))
+
+ val nextLevel = if (template.isChecked()) MIN_LEVEL else MAX_LEVEL
+ clipLayer.setLevel(nextLevel)
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
new file mode 100644
index 000000000000..a6918f50a977
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ToggleRangeBehavior.kt
@@ -0,0 +1,183 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls.ui
+
+import android.content.Context
+import android.graphics.drawable.Drawable
+import android.graphics.drawable.LayerDrawable
+import android.view.MotionEvent
+import android.view.View
+import android.widget.TextView
+import android.service.controls.Control
+import android.service.controls.actions.BooleanAction
+import android.service.controls.actions.FloatAction
+import android.service.controls.templates.RangeTemplate
+import android.service.controls.templates.ToggleRangeTemplate
+import android.util.TypedValue
+
+import com.android.systemui.R
+
+class ToggleRangeBehavior : Behavior {
+ lateinit var clipLayer: Drawable
+ lateinit var template: ToggleRangeTemplate
+ lateinit var control: Control
+ lateinit var cvh: ControlViewHolder
+ lateinit var rangeTemplate: RangeTemplate
+ lateinit var statusExtra: TextView
+ lateinit var status: TextView
+ lateinit var context: Context
+
+ override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
+ this.control = cws.control!!
+ this.cvh = cvh
+
+ statusExtra = cvh.statusExtra
+ status = cvh.status
+
+ status.setText(control.getStatusText())
+
+ context = status.getContext()
+
+ cvh.layout.setOnTouchListener(ToggleRangeTouchListener())
+
+ val ld = cvh.layout.getBackground() as LayerDrawable
+ clipLayer = ld.findDrawableByLayerId(R.id.clip_layer)
+
+ template = control.getControlTemplate() as ToggleRangeTemplate
+ rangeTemplate = template.getRange()
+
+ val checked = template.isChecked()
+ val deviceType = control.getDeviceType()
+
+ updateRange((rangeTemplate.getCurrentValue() / 100.0f), checked)
+
+ cvh.setEnabled(checked)
+ cvh.applyRenderInfo(RenderInfo.lookup(deviceType, checked))
+ }
+
+ fun toggle() {
+ cvh.action(BooleanAction(template.getTemplateId(), !template.isChecked()))
+
+ val nextLevel = if (template.isChecked()) MIN_LEVEL else MAX_LEVEL
+ clipLayer.setLevel(nextLevel)
+ }
+
+ fun beginUpdateRange() {
+ status.setVisibility(View.GONE)
+ statusExtra.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getResources()
+ .getDimensionPixelSize(R.dimen.control_status_expanded).toFloat())
+ }
+
+ fun updateRange(f: Float, checked: Boolean) {
+ clipLayer.setLevel(if (checked) (MAX_LEVEL * f).toInt() else MIN_LEVEL)
+
+ if (checked && f < 100.0f && f > 0.0f) {
+ statusExtra.setText("" + (f * 100.0).toInt() + "%")
+ statusExtra.setVisibility(View.VISIBLE)
+ } else {
+ statusExtra.setText("")
+ statusExtra.setVisibility(View.GONE)
+ }
+ }
+
+ fun endUpdateRange(f: Float) {
+ statusExtra.setText(" - " + (f * 100.0).toInt() + "%")
+
+ val newValue = rangeTemplate.getMinValue() +
+ (f * (rangeTemplate.getMaxValue() - rangeTemplate.getMinValue()))
+
+ statusExtra.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getResources()
+ .getDimensionPixelSize(R.dimen.control_status_normal).toFloat())
+ status.setVisibility(View.VISIBLE)
+
+ cvh.action(FloatAction(rangeTemplate.getTemplateId(), findNearestStep(newValue)))
+ }
+
+ fun findNearestStep(value: Float): Float {
+ var minDiff = 1000f
+
+ var f = rangeTemplate.getMinValue()
+ while (f <= rangeTemplate.getMaxValue()) {
+ val currentDiff = Math.abs(value - f)
+ if (currentDiff < minDiff) {
+ minDiff = currentDiff
+ } else {
+ return f - rangeTemplate.getStepValue()
+ }
+
+ f += rangeTemplate.getStepValue()
+ }
+
+ return rangeTemplate.getMaxValue()
+ }
+
+ inner class ToggleRangeTouchListener() : View.OnTouchListener {
+ private var initialTouchX: Float = 0.0f
+ private var initialTouchY: Float = 0.0f
+ private var isDragging: Boolean = false
+ private val minDragDiff = 20
+
+ override fun onTouch(v: View, e: MotionEvent): Boolean {
+ when (e.getActionMasked()) {
+ MotionEvent.ACTION_DOWN -> setupTouch(e)
+ MotionEvent.ACTION_MOVE -> detectDrag(v, e)
+ MotionEvent.ACTION_UP -> endTouch(v, e)
+ }
+
+ return true
+ }
+
+ private fun setupTouch(e: MotionEvent) {
+ initialTouchX = e.getX()
+ initialTouchY = e.getY()
+ }
+
+ private fun detectDrag(v: View, e: MotionEvent) {
+ val xDiff = Math.abs(e.getX() - initialTouchX)
+ val yDiff = Math.abs(e.getY() - initialTouchY)
+
+ if (xDiff < minDragDiff) {
+ isDragging = false
+ } else {
+ if (!isDragging) {
+ this@ToggleRangeBehavior.beginUpdateRange()
+ }
+ v.getParent().requestDisallowInterceptTouchEvent(true)
+ isDragging = true
+ if (yDiff > xDiff) {
+ endTouch(v, e)
+ } else {
+ val percent = Math.max(0.0f, Math.min(1.0f, e.getX() / v.getWidth()))
+ this@ToggleRangeBehavior.updateRange(percent, true)
+ }
+ }
+ }
+
+ private fun endTouch(v: View, e: MotionEvent) {
+ if (!isDragging) {
+ this@ToggleRangeBehavior.toggle()
+ } else {
+ val percent = Math.max(0.0f, Math.min(1.0f, e.getX() / v.getWidth()))
+ this@ToggleRangeBehavior.endUpdateRange(percent)
+ }
+
+ initialTouchX = 0.0f
+ initialTouchY = 0.0f
+ isDragging = false
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/UnknownBehavior.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/UnknownBehavior.kt
new file mode 100644
index 000000000000..5a6e5b481544
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/UnknownBehavior.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.controls.ui
+
+class UnknownBehavior : Behavior {
+ override fun apply(cvh: ControlViewHolder, cws: ControlWithState) {
+ cvh.status.setText("Loading...")
+ cvh.setEnabled(false)
+ cvh.applyRenderInfo(RenderInfo.lookup(cws.ci.deviceType, false))
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/DefaultComponentBinder.java b/packages/SystemUI/src/com/android/systemui/dagger/DefaultComponentBinder.java
index 18fe3ec92827..50252460d5c1 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/DefaultComponentBinder.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/DefaultComponentBinder.java
@@ -25,7 +25,6 @@ import dagger.Module;
*/
@Module(includes = {DefaultActivityBinder.class,
DefaultBroadcastReceiverBinder.class,
- DefaultServiceBinder.class,
- SystemUIBinder.class})
+ DefaultServiceBinder.class})
public abstract class DefaultComponentBinder {
}
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
index 5c171e41db41..a57ec5b483dd 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java
@@ -56,7 +56,7 @@ import dagger.Provides;
* overridden by the System UI implementation.
*/
@Module(includes = {DividerModule.class})
-abstract class SystemUIDefaultModule {
+public abstract class SystemUIDefaultModule {
@Singleton
@Provides
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
index 36a845002deb..7b541991088c 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
@@ -27,6 +27,7 @@ import com.android.systemui.BootCompleteCacheImpl;
import com.android.systemui.DumpController;
import com.android.systemui.assist.AssistModule;
import com.android.systemui.dagger.qualifiers.Main;
+import com.android.systemui.log.dagger.LogModule;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.recents.Recents;
@@ -37,6 +38,7 @@ import com.android.systemui.statusbar.StatusBarWindowBlurController;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinder;
import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
+import com.android.systemui.statusbar.notification.dagger.NotificationsModule;
import com.android.systemui.statusbar.notification.people.PeopleHubModule;
import com.android.systemui.statusbar.notification.row.dagger.NotificationRowComponent;
import com.android.systemui.statusbar.phone.KeyguardLiftController;
@@ -59,9 +61,13 @@ import dagger.Provides;
* A dagger module for injecting components of System UI that are not overridden by the System UI
* implementation.
*/
-@Module(includes = {AssistModule.class,
- ConcurrencyModule.class,
- PeopleHubModule.class},
+@Module(includes = {
+ AssistModule.class,
+ ConcurrencyModule.class,
+ LogModule.class,
+ NotificationsModule.class,
+ PeopleHubModule.class,
+ },
subcomponents = {StatusBarComponent.class, NotificationRowComponent.class})
public abstract class SystemUIModule {
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIRootComponent.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIRootComponent.java
index e14581ffcde8..3bf5ad759267 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIRootComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIRootComponent.java
@@ -26,6 +26,7 @@ import com.android.systemui.InitController;
import com.android.systemui.SystemUIAppComponentFactory;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.fragments.FragmentService;
+import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.util.InjectionInflationController;
@@ -44,6 +45,7 @@ import dagger.Component;
DependencyBinder.class,
SystemServicesModule.class,
SystemUIFactory.ContextHolder.class,
+ SystemUIBinder.class,
SystemUIModule.class,
SystemUIDefaultModule.class})
public interface SystemUIRootComponent {
@@ -105,4 +107,9 @@ public interface SystemUIRootComponent {
* Member injection into the supplied argument.
*/
void inject(ContentProvider contentProvider);
+
+ /**
+ * Member injection into the supplied argument.
+ */
+ void inject(KeyguardSliceProvider keyguardSliceProvider);
}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeEvent.java b/packages/SystemUI/src/com/android/systemui/doze/DozeEvent.java
deleted file mode 100644
index d2fe39424875..000000000000
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeEvent.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.doze;
-
-import android.annotation.IntDef;
-
-import com.android.systemui.log.RichEvent;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * An event related to dozing. {@link DozeLog} stores and prints these events for debugging
- * and triaging purposes.
- */
-public class DozeEvent extends RichEvent {
- /**
- * Initializes a doze event
- */
- public DozeEvent init(@EventType int type, String reason) {
- super.init(DEBUG, type, reason);
- return this;
- }
-
- /**
- * Event labels for each doze event
- * Index corresponds to the integer associated with each {@link EventType}
- */
- @Override
- public String[] getEventLabels() {
- final String[] events = new String[]{
- "PickupWakeup",
- "PulseStart",
- "PulseFinish",
- "NotificationPulse",
- "Dozing",
- "Fling",
- "EmergencyCall",
- "KeyguardBouncerChanged",
- "ScreenOn",
- "ScreenOff",
- "MissedTick",
- "TimeTickScheduled",
- "KeyguardVisibilityChanged",
- "DozeStateChanged",
- "WakeDisplay",
- "ProximityResult",
- "PulseDropped",
- "PulseDisabledByProx",
- "SensorTriggered"
- };
-
- if (events.length != TOTAL_EVENT_TYPES) {
- throw new IllegalStateException("DozeEvent events.length should match TOTAL_EVENT_TYPES"
- + " events.length=" + events.length
- + " TOTAL_EVENT_LENGTH=" + TOTAL_EVENT_TYPES);
- }
- return events;
- }
-
- /**
- * Converts the reason (integer) to a user-readable string
- */
- public static String reasonToString(@Reason int pulseReason) {
- switch (pulseReason) {
- case PULSE_REASON_INTENT: return "intent";
- case PULSE_REASON_NOTIFICATION: return "notification";
- case PULSE_REASON_SENSOR_SIGMOTION: return "sigmotion";
- case REASON_SENSOR_PICKUP: return "pickup";
- case REASON_SENSOR_DOUBLE_TAP: return "doubletap";
- case PULSE_REASON_SENSOR_LONG_PRESS: return "longpress";
- case PULSE_REASON_DOCKING: return "docking";
- case PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN: return "wakelockscreen";
- case REASON_SENSOR_WAKE_UP: return "wakeup";
- case REASON_SENSOR_TAP: return "tap";
- default: throw new IllegalArgumentException("invalid reason: " + pulseReason);
- }
- }
-
- @IntDef({PICKUP_WAKEUP, PULSE_START, PULSE_FINISH, NOTIFICATION_PULSE, DOZING, FLING,
- EMERGENCY_CALL, KEYGUARD_BOUNCER_CHANGED, SCREEN_ON, SCREEN_OFF, MISSED_TICK,
- TIME_TICK_SCHEDULED, KEYGUARD_VISIBILITY_CHANGE, DOZE_STATE_CHANGED, WAKE_DISPLAY,
- PROXIMITY_RESULT, PULSE_DROPPED, PULSE_DISABLED_BY_PROX, SENSOR_TRIGGERED})
- /**
- * Types of DozeEvents
- */
- @Retention(RetentionPolicy.SOURCE)
- public @interface EventType {}
- public static final int PICKUP_WAKEUP = 0;
- public static final int PULSE_START = 1;
- public static final int PULSE_FINISH = 2;
- public static final int NOTIFICATION_PULSE = 3;
- public static final int DOZING = 4;
- public static final int FLING = 5;
- public static final int EMERGENCY_CALL = 6;
- public static final int KEYGUARD_BOUNCER_CHANGED = 7;
- public static final int SCREEN_ON = 8;
- public static final int SCREEN_OFF = 9;
- public static final int MISSED_TICK = 10;
- public static final int TIME_TICK_SCHEDULED = 11;
- public static final int KEYGUARD_VISIBILITY_CHANGE = 12;
- public static final int DOZE_STATE_CHANGED = 13;
- public static final int WAKE_DISPLAY = 14;
- public static final int PROXIMITY_RESULT = 15;
- public static final int PULSE_DROPPED = 16;
- public static final int PULSE_DISABLED_BY_PROX = 17;
- public static final int SENSOR_TRIGGERED = 18;
- public static final int TOTAL_EVENT_TYPES = 19;
-
- public static final int TOTAL_REASONS = 10;
- @IntDef({PULSE_REASON_NONE, PULSE_REASON_INTENT, PULSE_REASON_NOTIFICATION,
- PULSE_REASON_SENSOR_SIGMOTION, REASON_SENSOR_PICKUP, REASON_SENSOR_DOUBLE_TAP,
- PULSE_REASON_SENSOR_LONG_PRESS, PULSE_REASON_DOCKING, REASON_SENSOR_WAKE_UP,
- PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN, REASON_SENSOR_TAP})
- @Retention(RetentionPolicy.SOURCE)
- public @interface Reason {}
- public static final int PULSE_REASON_NONE = -1;
- public static final int PULSE_REASON_INTENT = 0;
- public static final int PULSE_REASON_NOTIFICATION = 1;
- public static final int PULSE_REASON_SENSOR_SIGMOTION = 2;
- public static final int REASON_SENSOR_PICKUP = 3;
- public static final int REASON_SENSOR_DOUBLE_TAP = 4;
- public static final int PULSE_REASON_SENSOR_LONG_PRESS = 5;
- public static final int PULSE_REASON_DOCKING = 6;
- public static final int REASON_SENSOR_WAKE_UP = 7;
- public static final int PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN = 8;
- public static final int REASON_SENSOR_TAP = 9;
-}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
index 43db85bd91ec..6f655bb0b209 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
@@ -118,6 +118,7 @@ public class DozeFactory {
new DozeWallpaperState(mWallpaperManager, mBiometricUnlockController,
mDozeParameters),
new DozeDockHandler(config, machine, mDockManager),
+ new DozeSuppressedHandler(dozeService, config, machine),
new DozeAuthRemover(dozeService)
});
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
index fe504216b166..96ae6c9ec4a2 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
@@ -16,15 +16,20 @@
package com.android.systemui.doze;
+import android.annotation.IntDef;
import android.util.TimeUtils;
+import androidx.annotation.NonNull;
+
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.DumpController;
-import com.android.systemui.log.SysuiLog;
+import com.android.systemui.Dumpable;
+import java.io.FileDescriptor;
import java.io.PrintWriter;
-import java.util.Date;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -32,13 +37,11 @@ import javax.inject.Singleton;
/**
* Logs doze events for debugging and triaging purposes. Logs are dumped in bugreports or on demand:
* adb shell dumpsys activity service com.android.systemui/.SystemUIService \
- * dependency DumpController DozeLog
+ * dependency DumpController DozeLog,DozeStats
*/
@Singleton
-public class DozeLog extends SysuiLog<DozeEvent> {
- private static final String TAG = "DozeLog";
-
- private DozeEvent mRecycledEvent;
+public class DozeLog implements Dumpable {
+ private final DozeLogger mLogger;
private boolean mPulsing;
private long mSince;
@@ -51,8 +54,11 @@ public class DozeLog extends SysuiLog<DozeEvent> {
private SummaryStats[][] mProxStats; // [reason][near/far]
@Inject
- public DozeLog(KeyguardUpdateMonitor keyguardUpdateMonitor, DumpController dumpController) {
- super(dumpController, TAG, MAX_DOZE_DEBUG_LOGS, MAX_DOZE_LOGS);
+ public DozeLog(
+ KeyguardUpdateMonitor keyguardUpdateMonitor,
+ DumpController dumpController,
+ DozeLogger logger) {
+ mLogger = logger;
mSince = System.currentTimeMillis();
mPickupPulseNearVibrationStats = new SummaryStats();
mPickupPulseNotNearVibrationStats = new SummaryStats();
@@ -60,8 +66,8 @@ public class DozeLog extends SysuiLog<DozeEvent> {
mScreenOnPulsingStats = new SummaryStats();
mScreenOnNotPulsingStats = new SummaryStats();
mEmergencyCallStats = new SummaryStats();
- mProxStats = new SummaryStats[DozeEvent.TOTAL_REASONS][2];
- for (int i = 0; i < DozeEvent.TOTAL_REASONS; i++) {
+ mProxStats = new SummaryStats[TOTAL_REASONS][2];
+ for (int i = 0; i < TOTAL_REASONS; i++) {
mProxStats[i][0] = new SummaryStats();
mProxStats[i][1] = new SummaryStats();
}
@@ -69,42 +75,42 @@ public class DozeLog extends SysuiLog<DozeEvent> {
if (keyguardUpdateMonitor != null) {
keyguardUpdateMonitor.registerCallback(mKeyguardCallback);
}
+
+ dumpController.registerDumpable("DumpStats", this);
}
/**
* Appends pickup wakeup event to the logs
*/
public void tracePickupWakeUp(boolean withinVibrationThreshold) {
- log(DozeEvent.PICKUP_WAKEUP, "withinVibrationThreshold=" + withinVibrationThreshold);
- if (mEnabled) {
- (withinVibrationThreshold ? mPickupPulseNearVibrationStats
- : mPickupPulseNotNearVibrationStats).append();
- }
+ mLogger.logPickupWakeup(withinVibrationThreshold);
+ (withinVibrationThreshold ? mPickupPulseNearVibrationStats
+ : mPickupPulseNotNearVibrationStats).append();
}
/**
* Appends pulse started event to the logs.
* @param reason why the pulse started
*/
- public void tracePulseStart(@DozeEvent.Reason int reason) {
- log(DozeEvent.PULSE_START, DozeEvent.reasonToString(reason));
- if (mEnabled) mPulsing = true;
+ public void tracePulseStart(@Reason int reason) {
+ mLogger.logPulseStart(reason);
+ mPulsing = true;
}
/**
* Appends pulse finished event to the logs
*/
public void tracePulseFinish() {
- log(DozeEvent.PULSE_FINISH);
- if (mEnabled) mPulsing = false;
+ mLogger.logPulseFinish();
+ mPulsing = false;
}
/**
* Appends pulse event to the logs
*/
public void traceNotificationPulse() {
- log(DozeEvent.NOTIFICATION_PULSE);
- if (mEnabled) mNotificationPulseStats.append();
+ mLogger.logNotificationPulse();
+ mNotificationPulseStats.append();
}
/**
@@ -112,8 +118,8 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param dozing true if dozing, else false
*/
public void traceDozing(boolean dozing) {
- log(DozeEvent.DOZING, "dozing=" + dozing);
- if (mEnabled) mPulsing = false;
+ mLogger.logDozing(dozing);
+ mPulsing = false;
}
/**
@@ -121,18 +127,15 @@ public class DozeLog extends SysuiLog<DozeEvent> {
*/
public void traceFling(boolean expand, boolean aboveThreshold, boolean thresholdNeeded,
boolean screenOnFromTouch) {
- log(DozeEvent.FLING, "expand=" + expand
- + " aboveThreshold=" + aboveThreshold
- + " thresholdNeeded=" + thresholdNeeded
- + " screenOnFromTouch=" + screenOnFromTouch);
+ mLogger.logFling(expand, aboveThreshold, thresholdNeeded, screenOnFromTouch);
}
/**
* Appends emergency call event to the logs
*/
public void traceEmergencyCall() {
- log(DozeEvent.EMERGENCY_CALL);
- if (mEnabled) mEmergencyCallStats.append();
+ mLogger.logEmergencyCall();
+ mEmergencyCallStats.append();
}
/**
@@ -140,18 +143,16 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param showing true if the keyguard bouncer is showing, else false
*/
public void traceKeyguardBouncerChanged(boolean showing) {
- log(DozeEvent.KEYGUARD_BOUNCER_CHANGED, "showing=" + showing);
+ mLogger.logKeyguardBouncerChanged(showing);
}
/**
* Appends screen-on event to the logs
*/
public void traceScreenOn() {
- log(DozeEvent.SCREEN_ON, "pulsing=" + mPulsing);
- if (mEnabled) {
- (mPulsing ? mScreenOnPulsingStats : mScreenOnNotPulsingStats).append();
- mPulsing = false;
- }
+ mLogger.logScreenOn(mPulsing);
+ (mPulsing ? mScreenOnPulsingStats : mScreenOnNotPulsingStats).append();
+ mPulsing = false;
}
/**
@@ -159,7 +160,7 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param why reason the screen is off
*/
public void traceScreenOff(int why) {
- log(DozeEvent.SCREEN_OFF, "why=" + why);
+ mLogger.logScreenOff(why);
}
/**
@@ -167,7 +168,7 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param delay of the missed tick
*/
public void traceMissedTick(String delay) {
- log(DozeEvent.MISSED_TICK, "delay=" + delay);
+ mLogger.logMissedTick(delay);
}
/**
@@ -176,9 +177,7 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param triggerAt time tick trigger at
*/
public void traceTimeTickScheduled(long when, long triggerAt) {
- log(DozeEvent.TIME_TICK_SCHEDULED,
- "scheduledAt=" + DATE_FORMAT.format(new Date(when))
- + " triggerAt=" + DATE_FORMAT.format(new Date(triggerAt)));
+ mLogger.logTimeTickScheduled(when, triggerAt);
}
/**
@@ -186,8 +185,8 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param showing whether the keyguard is now showing
*/
public void traceKeyguard(boolean showing) {
- log(DozeEvent.KEYGUARD_VISIBILITY_CHANGE, "showing=" + showing);
- if (mEnabled && !showing) mPulsing = false;
+ mLogger.logKeyguardVisibilityChange(showing);
+ if (!showing) mPulsing = false;
}
/**
@@ -195,7 +194,7 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param state new DozeMachine state
*/
public void traceState(DozeMachine.State state) {
- log(DozeEvent.DOZE_STATE_CHANGED, state.name());
+ mLogger.logDozeStateChanged(state);
}
/**
@@ -203,31 +202,22 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param wake if we're waking up or sleeping.
*/
public void traceWakeDisplay(boolean wake) {
- log(DozeEvent.WAKE_DISPLAY, "wake=" + wake);
+ mLogger.logWakeDisplay(wake);
}
/**
* Appends proximity result event to the logs
* @param near true if near, else false
- * @param millis
* @param reason why proximity result was triggered
*/
- public void traceProximityResult(boolean near, long millis, @DozeEvent.Reason int reason) {
- log(DozeEvent.PROXIMITY_RESULT,
- " reason=" + DozeEvent.reasonToString(reason)
- + " near=" + near
- + " millis=" + millis);
- if (mEnabled) mProxStats[reason][near ? 0 : 1].append();
+ public void traceProximityResult(boolean near, long millis, @Reason int reason) {
+ mLogger.logProximityResult(near, millis, reason);
+ mProxStats[reason][near ? 0 : 1].append();
}
- /**
- * Prints doze log timeline and consolidated stats
- * @param pw
- */
- public void dump(PrintWriter pw) {
+ @Override
+ public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) {
synchronized (DozeLog.class) {
- super.dump(null, pw, null); // prints timeline
-
pw.print(" Doze summary stats (for ");
TimeUtils.formatDuration(System.currentTimeMillis() - mSince, pw);
pw.println("):");
@@ -237,32 +227,19 @@ public class DozeLog extends SysuiLog<DozeEvent> {
mScreenOnPulsingStats.dump(pw, "Screen on (pulsing)");
mScreenOnNotPulsingStats.dump(pw, "Screen on (not pulsing)");
mEmergencyCallStats.dump(pw, "Emergency call");
- for (int i = 0; i < DozeEvent.TOTAL_REASONS; i++) {
- final String reason = DozeEvent.reasonToString(i);
+ for (int i = 0; i < TOTAL_REASONS; i++) {
+ final String reason = reasonToString(i);
mProxStats[i][0].dump(pw, "Proximity near (" + reason + ")");
mProxStats[i][1].dump(pw, "Proximity far (" + reason + ")");
}
}
}
- private void log(@DozeEvent.EventType int eventType) {
- log(eventType, "");
- }
-
- private void log(@DozeEvent.EventType int eventType, String msg) {
- if (mRecycledEvent != null) {
- mRecycledEvent = log(mRecycledEvent.init(eventType, msg));
- } else {
- mRecycledEvent = log(new DozeEvent().init(eventType, msg));
- }
- }
-
/**
* Appends pulse dropped event to logs
*/
public void tracePulseDropped(boolean pulsePending, DozeMachine.State state, boolean blocked) {
- log(DozeEvent.PULSE_DROPPED, "pulsePending=" + pulsePending + " state="
- + state.name() + " blocked=" + blocked);
+ mLogger.logPulseDropped(pulsePending, state, blocked);
}
/**
@@ -270,7 +247,7 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param reason why the pulse was dropped
*/
public void tracePulseDropped(String reason) {
- log(DozeEvent.PULSE_DROPPED, "why=" + reason);
+ mLogger.logPulseDropped(reason);
}
/**
@@ -278,15 +255,23 @@ public class DozeLog extends SysuiLog<DozeEvent> {
* @param disabled
*/
public void tracePulseTouchDisabledByProx(boolean disabled) {
- log(DozeEvent.PULSE_DISABLED_BY_PROX, "disabled=" + disabled);
+ mLogger.logPulseTouchDisabledByProx(disabled);
}
/**
* Appends sensor triggered event to logs
* @param reason why the sensor was triggered
*/
- public void traceSensor(@DozeEvent.Reason int reason) {
- log(DozeEvent.SENSOR_TRIGGERED, "type=" + DozeEvent.reasonToString(reason));
+ public void traceSensor(@Reason int reason) {
+ mLogger.logSensorTriggered(reason);
+ }
+
+ /**
+ * Appends doze suppressed event to the logs
+ * @param suppressedState The {@link DozeMachine.State} that was suppressed
+ */
+ public void traceDozeSuppressed(DozeMachine.State suppressedState) {
+ mLogger.logDozeSuppressed(suppressedState);
}
private class SummaryStats {
@@ -339,6 +324,42 @@ public class DozeLog extends SysuiLog<DozeEvent> {
}
};
- private static final int MAX_DOZE_DEBUG_LOGS = 400;
- private static final int MAX_DOZE_LOGS = 50;
+ /**
+ * Converts the reason (integer) to a user-readable string
+ */
+ public static String reasonToString(@Reason int pulseReason) {
+ switch (pulseReason) {
+ case PULSE_REASON_INTENT: return "intent";
+ case PULSE_REASON_NOTIFICATION: return "notification";
+ case PULSE_REASON_SENSOR_SIGMOTION: return "sigmotion";
+ case REASON_SENSOR_PICKUP: return "pickup";
+ case REASON_SENSOR_DOUBLE_TAP: return "doubletap";
+ case PULSE_REASON_SENSOR_LONG_PRESS: return "longpress";
+ case PULSE_REASON_DOCKING: return "docking";
+ case PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN: return "wakelockscreen";
+ case REASON_SENSOR_WAKE_UP: return "wakeup";
+ case REASON_SENSOR_TAP: return "tap";
+ default: throw new IllegalArgumentException("invalid reason: " + pulseReason);
+ }
+ }
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef({PULSE_REASON_NONE, PULSE_REASON_INTENT, PULSE_REASON_NOTIFICATION,
+ PULSE_REASON_SENSOR_SIGMOTION, REASON_SENSOR_PICKUP, REASON_SENSOR_DOUBLE_TAP,
+ PULSE_REASON_SENSOR_LONG_PRESS, PULSE_REASON_DOCKING, REASON_SENSOR_WAKE_UP,
+ PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN, REASON_SENSOR_TAP})
+ public @interface Reason {}
+ public static final int PULSE_REASON_NONE = -1;
+ public static final int PULSE_REASON_INTENT = 0;
+ public static final int PULSE_REASON_NOTIFICATION = 1;
+ public static final int PULSE_REASON_SENSOR_SIGMOTION = 2;
+ public static final int REASON_SENSOR_PICKUP = 3;
+ public static final int REASON_SENSOR_DOUBLE_TAP = 4;
+ public static final int PULSE_REASON_SENSOR_LONG_PRESS = 5;
+ public static final int PULSE_REASON_DOCKING = 6;
+ public static final int REASON_SENSOR_WAKE_UP = 7;
+ public static final int PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN = 8;
+ public static final int REASON_SENSOR_TAP = 9;
+
+ public static final int TOTAL_REASONS = 10;
}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt b/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt
new file mode 100644
index 000000000000..732745a1158b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt
@@ -0,0 +1,209 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.doze
+
+import com.android.systemui.doze.DozeLog.Reason
+import com.android.systemui.doze.DozeLog.reasonToString
+import com.android.systemui.log.LogBuffer
+import com.android.systemui.log.LogLevel.DEBUG
+import com.android.systemui.log.LogLevel.ERROR
+import com.android.systemui.log.LogLevel.INFO
+import com.android.systemui.log.dagger.DozeLog
+import java.text.SimpleDateFormat
+import java.util.Date
+import java.util.Locale
+import javax.inject.Inject
+
+/** Interface for logging messages to the [DozeLog]. */
+class DozeLogger @Inject constructor(
+ @DozeLog private val buffer: LogBuffer
+) {
+ fun logPickupWakeup(isWithinVibrationThreshold: Boolean) {
+ buffer.log(TAG, DEBUG, {
+ bool1 = isWithinVibrationThreshold
+ }, {
+ "PickupWakeup withinVibrationThreshold=$bool1"
+ })
+ }
+
+ fun logPulseStart(@Reason reason: Int) {
+ buffer.log(TAG, INFO, {
+ int1 = reason
+ }, {
+ "Pulse start, reason=${reasonToString(int1)}"
+ })
+ }
+
+ fun logPulseFinish() {
+ buffer.log(TAG, INFO, {}, { "Pulse finish" })
+ }
+
+ fun logNotificationPulse() {
+ buffer.log(TAG, INFO, {}, { "Notification pulse" })
+ }
+
+ fun logDozing(isDozing: Boolean) {
+ buffer.log(TAG, INFO, {
+ bool1 = isDozing
+ }, {
+ "Dozing=$bool1"
+ })
+ }
+
+ fun logFling(
+ expand: Boolean,
+ aboveThreshold: Boolean,
+ thresholdNeeded: Boolean,
+ screenOnFromTouch: Boolean
+ ) {
+ buffer.log(TAG, DEBUG, {
+ bool1 = expand
+ bool2 = aboveThreshold
+ bool3 = thresholdNeeded
+ bool4 = screenOnFromTouch
+ }, {
+ "Fling expand=$bool1 aboveThreshold=$bool2 thresholdNeeded=$bool3 " +
+ "screenOnFromTouch=$bool4"
+ })
+ }
+
+ fun logEmergencyCall() {
+ buffer.log(TAG, INFO, {}, { "Emergency call" })
+ }
+
+ fun logKeyguardBouncerChanged(isShowing: Boolean) {
+ buffer.log(TAG, INFO, {
+ bool1 = isShowing
+ }, {
+ "Keyguard bouncer changed, showing=$bool1"
+ })
+ }
+
+ fun logScreenOn(isPulsing: Boolean) {
+ buffer.log(TAG, INFO, {
+ bool1 = isPulsing
+ }, {
+ "Screen on, pulsing=$bool1"
+ })
+ }
+
+ fun logScreenOff(why: Int) {
+ buffer.log(TAG, INFO, {
+ int1 = why
+ }, {
+ "Screen off, why=$int1"
+ })
+ }
+
+ fun logMissedTick(delay: String) {
+ buffer.log(TAG, ERROR, {
+ str1 = delay
+ }, {
+ "Missed AOD time tick by $str1"
+ })
+ }
+
+ fun logTimeTickScheduled(whenAt: Long, triggerAt: Long) {
+ buffer.log(TAG, DEBUG, {
+ long1 = whenAt
+ long2 = triggerAt
+ }, {
+ "Time tick scheduledAt=${DATE_FORMAT.format(Date(long1))} " +
+ "triggerAt=${DATE_FORMAT.format(Date(long2))}"
+ })
+ }
+
+ fun logKeyguardVisibilityChange(isShowing: Boolean) {
+ buffer.log(TAG, INFO, {
+ bool1 = isShowing
+ }, {
+ "Keyguard visibility change, isShowing=$bool1"
+ })
+ }
+
+ fun logDozeStateChanged(state: DozeMachine.State) {
+ buffer.log(TAG, INFO, {
+ str1 = state.name
+ }, {
+ "Doze state changed to $str1"
+ })
+ }
+
+ fun logWakeDisplay(isAwake: Boolean) {
+ buffer.log(TAG, DEBUG, {
+ bool1 = isAwake
+ }, {
+ "Display wakefulness changed, isAwake=$bool1"
+ })
+ }
+
+ fun logProximityResult(isNear: Boolean, millis: Long, @Reason reason: Int) {
+ buffer.log(TAG, DEBUG, {
+ bool1 = isNear
+ long1 = millis
+ int1 = reason
+ }, {
+ "Proximity result reason=${reasonToString(int1)} near=$bool1 millis=$long1"
+ })
+ }
+
+ fun logPulseDropped(pulsePending: Boolean, state: DozeMachine.State, blocked: Boolean) {
+ buffer.log(TAG, INFO, {
+ bool1 = pulsePending
+ str1 = state.name
+ bool2 = blocked
+ }, {
+ "Pulse dropped, pulsePending=$bool1 state=$str1 blocked=$bool2"
+ })
+ }
+
+ fun logPulseDropped(reason: String) {
+ buffer.log(TAG, INFO, {
+ str1 = reason
+ }, {
+ "Pulse dropped, why=$str1"
+ })
+ }
+
+ fun logPulseTouchDisabledByProx(disabled: Boolean) {
+ buffer.log(TAG, DEBUG, {
+ bool1 = disabled
+ }, {
+ "Pulse touch modified by prox, disabled=$bool1"
+ })
+ }
+
+ fun logSensorTriggered(@Reason reason: Int) {
+ buffer.log(TAG, DEBUG, {
+ int1 = reason
+ }, {
+ "Sensor triggered, type=${reasonToString(int1)}"
+ })
+ }
+
+ fun logDozeSuppressed(state: DozeMachine.State) {
+ buffer.log(TAG, INFO, {
+ str1 = state.name
+ }, {
+ "Doze state suppressed, state=$str1"
+ })
+ }
+}
+
+private const val TAG = "DozeLog"
+
+val DATE_FORMAT = SimpleDateFormat("MM-dd HH:mm:ss.S", Locale.US)
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
index 40603ab24c1e..6e81d3a11098 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
@@ -102,6 +102,10 @@ public class DozeMachine {
}
}
+ boolean isAlwaysOn() {
+ return this == DOZE_AOD || this == DOZE_AOD_DOCKED;
+ }
+
int screenState(DozeParameters parameters) {
switch (this) {
case UNINITIALIZED:
@@ -169,7 +173,7 @@ public class DozeMachine {
@MainThread
public void requestState(State requestedState) {
Preconditions.checkArgument(requestedState != State.DOZE_REQUEST_PULSE);
- requestState(requestedState, DozeEvent.PULSE_REASON_NONE);
+ requestState(requestedState, DozeLog.PULSE_REASON_NONE);
}
@MainThread
@@ -271,7 +275,7 @@ public class DozeMachine {
if (newState == State.DOZE_REQUEST_PULSE) {
mPulseReason = pulseReason;
} else if (oldState == State.DOZE_PULSE_DONE) {
- mPulseReason = DozeEvent.PULSE_REASON_NONE;
+ mPulseReason = DozeLog.PULSE_REASON_NONE;
}
}
@@ -324,6 +328,11 @@ public class DozeMachine {
if (mState == State.FINISH) {
return State.FINISH;
}
+ if (mConfig.dozeSuppressed(UserHandle.USER_CURRENT) && requestedState.isAlwaysOn()) {
+ Log.i(TAG, "Doze is suppressed. Suppressing state: " + requestedState);
+ mDozeLog.traceDozeSuppressed(requestedState);
+ return State.DOZE;
+ }
if ((mState == State.DOZE_AOD_PAUSED || mState == State.DOZE_AOD_PAUSING
|| mState == State.DOZE_AOD || mState == State.DOZE)
&& requestedState == State.DOZE_PULSE_DONE) {
@@ -368,7 +377,7 @@ public class DozeMachine {
nextState = State.DOZE;
}
- transitionTo(nextState, DozeEvent.PULSE_REASON_NONE);
+ transitionTo(nextState, DozeLog.PULSE_REASON_NONE);
break;
default:
break;
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenState.java b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenState.java
index 3abeea91cdee..e50f1fb2a3ee 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenState.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenState.java
@@ -18,7 +18,6 @@ package com.android.systemui.doze;
import static com.android.systemui.doze.DozeMachine.State.DOZE;
import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD;
-import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD_DOCKED;
import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD_PAUSED;
import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD_PAUSING;
import static com.android.systemui.doze.DozeMachine.State.DOZE_PULSE_DONE;
@@ -90,10 +89,10 @@ public class DozeScreenState implements DozeMachine.Part {
}
final boolean messagePending = mHandler.hasCallbacks(mApplyPendingScreenState);
- final boolean pulseEnding = oldState == DOZE_PULSE_DONE && isAlwaysOnState(newState);
+ final boolean pulseEnding = oldState == DOZE_PULSE_DONE && newState.isAlwaysOn();
final boolean turningOn = (oldState == DOZE_AOD_PAUSED || oldState == DOZE)
- && isAlwaysOnState(newState);
- final boolean turningOff = (isAlwaysOnState(oldState) && newState == DOZE)
+ && newState.isAlwaysOn();
+ final boolean turningOff = (newState.isAlwaysOn() && newState == DOZE)
|| (oldState == DOZE_AOD_PAUSING && newState == DOZE_AOD_PAUSED);
final boolean justInitialized = oldState == DozeMachine.State.INITIALIZED;
if (messagePending || justInitialized || pulseEnding || turningOn) {
@@ -132,10 +131,6 @@ public class DozeScreenState implements DozeMachine.Part {
}
}
- private boolean isAlwaysOnState(DozeMachine.State state) {
- return state == DOZE_AOD || state == DOZE_AOD_DOCKED;
- }
-
private void applyPendingScreenState() {
applyScreenState(mPendingScreenState);
mPendingScreenState = Display.STATE_UNKNOWN;
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
index d008e665d171..44e5d3de5ca7 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java
@@ -97,14 +97,14 @@ public class DozeSensors {
mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION),
null /* setting */,
dozeParameters.getPulseOnSigMotion(),
- DozeEvent.PULSE_REASON_SENSOR_SIGMOTION, false /* touchCoords */,
+ DozeLog.PULSE_REASON_SENSOR_SIGMOTION, false /* touchCoords */,
false /* touchscreen */, dozeLog),
mPickupSensor = new TriggerSensor(
mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE),
Settings.Secure.DOZE_PICK_UP_GESTURE,
true /* settingDef */,
config.dozePickupSensorAvailable(),
- DozeEvent.REASON_SENSOR_PICKUP, false /* touchCoords */,
+ DozeLog.REASON_SENSOR_PICKUP, false /* touchCoords */,
false /* touchscreen */,
false /* ignoresSetting */,
dozeLog),
@@ -112,7 +112,7 @@ public class DozeSensors {
findSensorWithType(config.doubleTapSensorType()),
Settings.Secure.DOZE_DOUBLE_TAP_GESTURE,
true /* configured */,
- DozeEvent.REASON_SENSOR_DOUBLE_TAP,
+ DozeLog.REASON_SENSOR_DOUBLE_TAP,
dozeParameters.doubleTapReportsTouchCoordinates(),
true /* touchscreen */,
dozeLog),
@@ -120,7 +120,7 @@ public class DozeSensors {
findSensorWithType(config.tapSensorType()),
Settings.Secure.DOZE_TAP_SCREEN_GESTURE,
true /* configured */,
- DozeEvent.REASON_SENSOR_TAP,
+ DozeLog.REASON_SENSOR_TAP,
false /* reports touch coordinates */,
true /* touchscreen */,
dozeLog),
@@ -129,7 +129,7 @@ public class DozeSensors {
Settings.Secure.DOZE_PULSE_ON_LONG_PRESS,
false /* settingDef */,
true /* configured */,
- DozeEvent.PULSE_REASON_SENSOR_LONG_PRESS,
+ DozeLog.PULSE_REASON_SENSOR_LONG_PRESS,
true /* reports touch coordinates */,
true /* touchscreen */,
dozeLog),
@@ -137,7 +137,7 @@ public class DozeSensors {
new SensorManagerPlugin.Sensor(TYPE_WAKE_DISPLAY),
Settings.Secure.DOZE_WAKE_DISPLAY_GESTURE,
mConfig.wakeScreenGestureAvailable() && alwaysOn,
- DozeEvent.REASON_SENSOR_WAKE_UP,
+ DozeLog.REASON_SENSOR_WAKE_UP,
false /* reports touch coordinates */,
false /* touchscreen */,
dozeLog),
@@ -145,7 +145,7 @@ public class DozeSensors {
new SensorManagerPlugin.Sensor(TYPE_WAKE_LOCK_SCREEN),
Settings.Secure.DOZE_WAKE_LOCK_SCREEN_GESTURE,
mConfig.wakeScreenGestureAvailable(),
- DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN,
+ DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN,
false /* reports touch coordinates */,
false /* touchscreen */,
mConfig.getWakeLockScreenDebounce(),
@@ -525,7 +525,7 @@ public class DozeSensors {
/**
* Called when a sensor requests a pulse
- * @param pulseReason Requesting sensor, e.g. {@link DozeEvent#REASON_SENSOR_PICKUP}
+ * @param pulseReason Requesting sensor, e.g. {@link DozeLog#REASON_SENSOR_PICKUP}
* @param screenX the location on the screen where the sensor fired or -1
* if the sensor doesn't support reporting screen locations.
* @param screenY the location on the screen where the sensor fired or -1
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressedHandler.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressedHandler.java
new file mode 100644
index 000000000000..3a5c1a0890f9
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressedHandler.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.doze;
+
+import static java.util.Objects.requireNonNull;
+
+import android.app.ActivityManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.hardware.display.AmbientDisplayConfiguration;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/** Handles updating the doze state when doze is suppressed. */
+public final class DozeSuppressedHandler implements DozeMachine.Part {
+
+ private static final String TAG = DozeSuppressedHandler.class.getSimpleName();
+ private static final boolean DEBUG = DozeService.DEBUG;
+
+ private final ContentResolver mResolver;
+ private final AmbientDisplayConfiguration mConfig;
+ private final DozeMachine mMachine;
+ private final DozeSuppressedSettingObserver mSettingObserver;
+ private final Handler mHandler = new Handler();
+
+ public DozeSuppressedHandler(Context context, AmbientDisplayConfiguration config,
+ DozeMachine machine) {
+ this(context, config, machine, null);
+ }
+
+ @VisibleForTesting
+ DozeSuppressedHandler(Context context, AmbientDisplayConfiguration config, DozeMachine machine,
+ DozeSuppressedSettingObserver observer) {
+ mResolver = context.getContentResolver();
+ mConfig = requireNonNull(config);
+ mMachine = requireNonNull(machine);
+ if (observer == null) {
+ mSettingObserver = new DozeSuppressedSettingObserver(mHandler);
+ } else {
+ mSettingObserver = observer;
+ }
+ }
+
+ @Override
+ public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
+ switch (newState) {
+ case INITIALIZED:
+ mSettingObserver.register();
+ break;
+ case FINISH:
+ mSettingObserver.unregister();
+ break;
+ default:
+ // no-op
+ }
+ }
+
+ /**
+ * Listens to changes to the DOZE_SUPPRESSED secure setting and updates the doze state
+ * accordingly.
+ */
+ final class DozeSuppressedSettingObserver extends ContentObserver {
+ private boolean mRegistered;
+
+ private DozeSuppressedSettingObserver(Handler handler) {
+ super(handler);
+ }
+
+ @Override
+ public void onChange(boolean selfChange, Uri uri, int userId) {
+ if (userId != ActivityManager.getCurrentUser()) {
+ return;
+ }
+ final DozeMachine.State nextState;
+ if (mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT)
+ && !mConfig.dozeSuppressed(UserHandle.USER_CURRENT)) {
+ nextState = DozeMachine.State.DOZE_AOD;
+ } else {
+ nextState = DozeMachine.State.DOZE;
+ }
+ mMachine.requestState(nextState);
+ }
+
+ void register() {
+ if (mRegistered) {
+ return;
+ }
+ mResolver.registerContentObserver(
+ Settings.Secure.getUriFor(Settings.Secure.SUPPRESS_DOZE),
+ false, this, UserHandle.USER_CURRENT);
+ Log.d(TAG, "Register");
+ mRegistered = true;
+ }
+
+ void unregister() {
+ if (!mRegistered) {
+ return;
+ }
+ mResolver.unregisterContentObserver(this);
+ Log.d(TAG, "Unregister");
+ mRegistered = false;
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
index 722dc038f853..305a4c870d91 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
@@ -127,7 +127,12 @@ public class DozeTriggers implements DozeMachine.Part {
mDozeLog.tracePulseDropped("pulseOnNotificationsDisabled");
return;
}
- requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION, false /* performedProxCheck */,
+ if (mConfig.dozeSuppressed(UserHandle.USER_CURRENT)) {
+ runIfNotNull(onPulseSuppressedListener);
+ mDozeLog.tracePulseDropped("dozeSuppressed");
+ return;
+ }
+ requestPulse(DozeLog.PULSE_REASON_NOTIFICATION, false /* performedProxCheck */,
onPulseSuppressedListener);
mDozeLog.traceNotificationPulse();
}
@@ -163,12 +168,12 @@ public class DozeTriggers implements DozeMachine.Part {
@VisibleForTesting
void onSensor(int pulseReason, float screenX, float screenY, float[] rawValues) {
- boolean isDoubleTap = pulseReason == DozeEvent.REASON_SENSOR_DOUBLE_TAP;
- boolean isTap = pulseReason == DozeEvent.REASON_SENSOR_TAP;
- boolean isPickup = pulseReason == DozeEvent.REASON_SENSOR_PICKUP;
- boolean isLongPress = pulseReason == DozeEvent.PULSE_REASON_SENSOR_LONG_PRESS;
- boolean isWakeDisplay = pulseReason == DozeEvent.REASON_SENSOR_WAKE_UP;
- boolean isWakeLockScreen = pulseReason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN;
+ boolean isDoubleTap = pulseReason == DozeLog.REASON_SENSOR_DOUBLE_TAP;
+ boolean isTap = pulseReason == DozeLog.REASON_SENSOR_TAP;
+ boolean isPickup = pulseReason == DozeLog.REASON_SENSOR_PICKUP;
+ boolean isLongPress = pulseReason == DozeLog.PULSE_REASON_SENSOR_LONG_PRESS;
+ boolean isWakeDisplay = pulseReason == DozeLog.REASON_SENSOR_WAKE_UP;
+ boolean isWakeLockScreen = pulseReason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN;
boolean wakeEvent = rawValues != null && rawValues.length > 0 && rawValues[0] != 0;
if (isWakeDisplay) {
@@ -281,9 +286,9 @@ public class DozeTriggers implements DozeMachine.Part {
// Logs AOD open due to sensor wake up.
mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
.setType(MetricsEvent.TYPE_OPEN)
- .setSubtype(DozeEvent.REASON_SENSOR_WAKE_UP));
+ .setSubtype(DozeLog.REASON_SENSOR_WAKE_UP));
}
- }, true /* alreadyPerformedProxCheck */, DozeEvent.REASON_SENSOR_WAKE_UP);
+ }, true /* alreadyPerformedProxCheck */, DozeLog.REASON_SENSOR_WAKE_UP);
} else {
boolean paused = (state == DozeMachine.State.DOZE_AOD_PAUSED);
boolean pausing = (state == DozeMachine.State.DOZE_AOD_PAUSING);
@@ -292,7 +297,7 @@ public class DozeTriggers implements DozeMachine.Part {
// Logs AOD close due to sensor wake up.
mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
.setType(MetricsEvent.TYPE_CLOSE)
- .setSubtype(DozeEvent.REASON_SENSOR_WAKE_UP));
+ .setSubtype(DozeLog.REASON_SENSOR_WAKE_UP));
}
}
}
@@ -361,7 +366,7 @@ public class DozeTriggers implements DozeMachine.Part {
// When already pulsing we're allowed to show the wallpaper directly without
// requesting a new pulse.
if (mMachine.getState() == DozeMachine.State.DOZE_PULSING
- && reason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN) {
+ && reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN) {
mMachine.requestState(DozeMachine.State.DOZE_PULSING_BRIGHT);
return;
}
@@ -426,7 +431,7 @@ public class DozeTriggers implements DozeMachine.Part {
public void onReceive(Context context, Intent intent) {
if (PULSE_ACTION.equals(intent.getAction())) {
if (DozeMachine.DEBUG) Log.d(TAG, "Received pulse intent");
- requestPulse(DozeEvent.PULSE_REASON_INTENT, false, /* performedProxCheck */
+ requestPulse(DozeLog.PULSE_REASON_INTENT, false, /* performedProxCheck */
null /* onPulseSupressedListener */);
}
if (UiModeManager.ACTION_ENTER_CAR_MODE.equals(intent.getAction())) {
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
index a6aa90916c25..1c056215f1cb 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
@@ -100,7 +100,7 @@ public class DozeUi implements DozeMachine.Part {
public void onPulseStarted() {
try {
mMachine.requestState(
- reason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN
+ reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN
? DozeMachine.State.DOZE_PULSING_BRIGHT
: DozeMachine.State.DOZE_PULSING);
} catch (IllegalStateException e) {
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index 80d776a59235..45c07a3e4693 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -40,6 +40,7 @@ import android.content.IntentFilter;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.database.ContentObserver;
+import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.net.ConnectivityManager;
@@ -100,7 +101,6 @@ import com.android.systemui.plugins.GlobalActions.GlobalActionsManager;
import com.android.systemui.plugins.GlobalActionsPanelPlugin;
import com.android.systemui.statusbar.BlurUtils;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
-import com.android.systemui.statusbar.phone.ScrimController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.EmergencyDialerConstants;
@@ -459,12 +459,10 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
mKeyguardManager.isDeviceLocked())
: null;
- boolean showControls = !mKeyguardManager.isDeviceLocked() && isControlsEnabled(mContext);
-
ActionsDialog dialog = new ActionsDialog(mContext, mAdapter, panelViewController,
mBlurUtils, mSysuiColorExtractor, mStatusBarService,
mNotificationShadeWindowController,
- showControls ? mControlsUiController : null);
+ shouldShowControls() ? mControlsUiController : null);
dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
dialog.setKeyguardShowing(mKeyguardShowing);
@@ -538,7 +536,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
@Override
public boolean shouldBeSeparated() {
- return !isControlsEnabled(mContext);
+ return !shouldShowControls();
}
@Override
@@ -1135,7 +1133,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
* A single press action maintains no state, just responds to a press
* and takes an action.
*/
- private static abstract class SinglePressAction implements Action {
+
+ private abstract class SinglePressAction implements Action {
private final int mIconResId;
private final Drawable mIcon;
private final int mMessageResId;
@@ -1174,7 +1173,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
}
protected int getActionLayoutId(Context context) {
- if (isControlsEnabled(context)) {
+ if (shouldShowControls()) {
return com.android.systemui.R.layout.global_actions_grid_item_v2;
}
return com.android.systemui.R.layout.global_actions_grid_item;
@@ -1640,8 +1639,6 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT);
panelContainer.addView(mPanelController.getPanelContent(), panelParams);
- mBackgroundDrawable = mPanelController.getBackgroundDrawable();
- mScrimAlpha = 1f;
}
}
@@ -1669,7 +1666,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
}
if (mBackgroundDrawable == null) {
mBackgroundDrawable = new ScrimDrawable();
- mScrimAlpha = ScrimController.GRADIENT_SCRIM_ALPHA;
+ mScrimAlpha = 0.8f;
}
getWindow().setBackgroundDrawable(mBackgroundDrawable);
}
@@ -1728,7 +1725,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
if (!(mBackgroundDrawable instanceof ScrimDrawable)) {
return;
}
- ((ScrimDrawable) mBackgroundDrawable).setColor(colors.getMainColor(), animate);
+ ((ScrimDrawable) mBackgroundDrawable).setColor(Color.BLACK, animate);
View decorView = getWindow().getDecorView();
if (colors.supportsDarkText()) {
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR |
@@ -1804,6 +1801,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
void dismissImmediately() {
mShowing = false;
+ if (mControlsUiController != null) mControlsUiController.hide();
dismissPanel();
resetOrientation();
completeDismiss();
@@ -1900,8 +1898,10 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
return true;
}
- private static boolean isControlsEnabled(Context context) {
- return Settings.Secure.getInt(
- context.getContentResolver(), "systemui.controls_available", 0) == 1;
+ private boolean shouldShowControls() {
+ return isCurrentUserOwner()
+ && !mKeyguardManager.isDeviceLocked()
+ && Settings.Secure.getInt(mContext.getContentResolver(),
+ "systemui.controls_available", 0) == 1;
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java
index dd1856a93d2e..c9c38d31e865 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java
@@ -30,17 +30,17 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import com.android.internal.R;
-import com.android.internal.colorextraction.ColorExtractor.GradientColors;
import com.android.internal.colorextraction.drawable.ScrimDrawable;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.settingslib.Utils;
import com.android.systemui.Dependency;
-import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.plugins.GlobalActions;
import com.android.systemui.plugins.GlobalActionsPanelPlugin;
import com.android.systemui.plugins.PluginListener;
import com.android.systemui.shared.plugins.PluginManager;
+import com.android.systemui.statusbar.BlurUtils;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.phone.ScrimController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -59,6 +59,7 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks,
private final KeyguardStateController mKeyguardStateController;
private final DeviceProvisionedController mDeviceProvisionedController;
private final ExtensionController.Extension<GlobalActionsPanelPlugin> mPanelExtension;
+ private final BlurUtils mBlurUtils;
private GlobalActionsPanelPlugin mPlugin;
private final CommandQueue mCommandQueue;
private GlobalActionsDialog mGlobalActionsDialog;
@@ -68,13 +69,14 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks,
@Inject
public GlobalActionsImpl(Context context, CommandQueue commandQueue,
- Lazy<GlobalActionsDialog> globalActionsDialogLazy) {
+ Lazy<GlobalActionsDialog> globalActionsDialogLazy, BlurUtils blurUtils) {
mContext = context;
mGlobalActionsDialogLazy = globalActionsDialogLazy;
mKeyguardStateController = Dependency.get(KeyguardStateController.class);
mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
mPluginManager = Dependency.get(PluginManager.class);
mCommandQueue = commandQueue;
+ mBlurUtils = blurUtils;
mCommandQueue.addCallback(this);
mPanelExtension = Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
@@ -110,7 +112,6 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks,
@Override
public void showShutdownUi(boolean isReboot, String reason) {
ScrimDrawable background = new ScrimDrawable();
- background.setAlpha((int) (SHUTDOWN_SCRIM_ALPHA * 255));
Dialog d = new Dialog(mContext,
com.android.systemui.R.style.Theme_SystemUI_Dialog_GlobalActions);
@@ -160,8 +161,13 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks,
reasonView.setText(rebootReasonMessage);
}
- GradientColors colors = Dependency.get(SysuiColorExtractor.class).getNeutralColors();
- background.setColor(colors.getMainColor(), false);
+ if (mBlurUtils.supportsBlursOnWindows()) {
+ background.setAlpha((int) (ScrimController.GRADIENT_SCRIM_ALPHA_BUSY * 255));
+ mBlurUtils.applyBlur(d.getWindow().getDecorView().getViewRootImpl(),
+ mBlurUtils.radiusForRatio(1));
+ } else {
+ background.setAlpha((int) (SHUTDOWN_SCRIM_ALPHA * 255));
+ }
d.show();
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
index e66a9fadb937..2cc3d9e22a7d 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
@@ -52,13 +52,13 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.SystemUIAppComponentFactory;
+import com.android.systemui.SystemUIFactory;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.NextAlarmController;
-import com.android.systemui.statusbar.policy.NextAlarmControllerImpl;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.util.wakelock.SettableWakeLock;
import com.android.systemui.util.wakelock.WakeLock;
@@ -68,6 +68,8 @@ import java.util.Locale;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
+import javax.inject.Inject;
+
/**
* Simple Slice provider that shows the current date.
*/
@@ -108,26 +110,31 @@ public class KeyguardSliceProvider extends SliceProvider implements
private final Handler mHandler;
private final Handler mMediaHandler;
private final AlarmManager.OnAlarmListener mUpdateNextAlarm = this::updateNextAlarm;
- private DozeParameters mDozeParameters;
+ @Inject
+ public DozeParameters mDozeParameters;
@VisibleForTesting
protected SettableWakeLock mMediaWakeLock;
- @VisibleForTesting
- protected ZenModeController mZenModeController;
+ @Inject
+ public ZenModeController mZenModeController;
private String mDatePattern;
private DateFormat mDateFormat;
private String mLastText;
private boolean mRegistered;
private String mNextAlarm;
- private NextAlarmController mNextAlarmController;
- @VisibleForTesting
- protected AlarmManager mAlarmManager;
- @VisibleForTesting
- protected ContentResolver mContentResolver;
+ @Inject
+ public NextAlarmController mNextAlarmController;
+ @Inject
+ public AlarmManager mAlarmManager;
+ @Inject
+ public ContentResolver mContentResolver;
private AlarmManager.AlarmClockInfo mNextAlarmInfo;
private PendingIntent mPendingIntent;
- protected NotificationMediaManager mMediaManager;
- private StatusBarStateController mStatusBarStateController;
- private KeyguardBypassController mKeyguardBypassController;
+ @Inject
+ public NotificationMediaManager mMediaManager;
+ @Inject
+ public StatusBarStateController mStatusBarStateController;
+ @Inject
+ public KeyguardBypassController mKeyguardBypassController;
private CharSequence mMediaTitle;
private CharSequence mMediaArtist;
protected boolean mDozing;
@@ -188,26 +195,6 @@ public class KeyguardSliceProvider extends SliceProvider implements
mMediaUri = Uri.parse(KEYGUARD_MEDIA_URI);
}
- /**
- * Initialize dependencies that don't exist during {@link android.content.ContentProvider}
- * instantiation.
- *
- * @param mediaManager {@link NotificationMediaManager} singleton.
- * @param statusBarStateController {@link StatusBarStateController} singleton.
- */
- public void initDependencies(
- NotificationMediaManager mediaManager,
- StatusBarStateController statusBarStateController,
- KeyguardBypassController keyguardBypassController,
- DozeParameters dozeParameters) {
- mMediaManager = mediaManager;
- mMediaManager.addCallback(this);
- mStatusBarStateController = statusBarStateController;
- mStatusBarStateController.addCallback(this);
- mKeyguardBypassController = keyguardBypassController;
- mDozeParameters = dozeParameters;
- }
-
@AnyThread
@Override
public Slice onBindSlice(Uri sliceUri) {
@@ -310,25 +297,19 @@ public class KeyguardSliceProvider extends SliceProvider implements
@Override
public boolean onCreateSliceProvider() {
- if (mContextAvailableCallback != null) {
- mContextAvailableCallback.onContextAvailable(getContext());
- }
+ mContextAvailableCallback.onContextAvailable(getContext());
+ inject();
synchronized (KeyguardSliceProvider.sInstanceLock) {
KeyguardSliceProvider oldInstance = KeyguardSliceProvider.sInstance;
if (oldInstance != null) {
oldInstance.onDestroy();
}
-
- mAlarmManager = getContext().getSystemService(AlarmManager.class);
- mContentResolver = getContext().getContentResolver();
- mNextAlarmController = new NextAlarmControllerImpl(getContext());
- mNextAlarmController.addCallback(this);
- mZenModeController = Dependency.get(ZenModeController.class);
- mZenModeController.addCallback(this);
mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern);
mPendingIntent = PendingIntent.getActivity(getContext(), 0, new Intent(), 0);
- mMediaWakeLock = new SettableWakeLock(WakeLock.createPartial(getContext(), "media"),
- "media");
+ mMediaManager.addCallback(this);
+ mStatusBarStateController.addCallback(this);
+ mNextAlarmController.addCallback(this);
+ mZenModeController.addCallback(this);
KeyguardSliceProvider.sInstance = this;
registerClockUpdate();
updateClockLocked();
@@ -337,6 +318,13 @@ public class KeyguardSliceProvider extends SliceProvider implements
}
@VisibleForTesting
+ protected void inject() {
+ SystemUIFactory.getInstance().getRootComponent().inject(this);
+ mMediaWakeLock = new SettableWakeLock(WakeLock.createPartial(getContext(), "media"),
+ "media");
+ }
+
+ @VisibleForTesting
protected void onDestroy() {
synchronized (KeyguardSliceProvider.sInstanceLock) {
mNextAlarmController.removeCallback(this);
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogBuffer.kt b/packages/SystemUI/src/com/android/systemui/log/LogBuffer.kt
new file mode 100644
index 000000000000..18c7baec1f74
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogBuffer.kt
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+import android.util.Log
+import com.android.systemui.DumpController
+import com.android.systemui.Dumpable
+import com.android.systemui.log.dagger.LogModule
+import java.text.SimpleDateFormat
+import java.util.ArrayDeque
+import java.util.Locale
+
+/**
+ * A simple ring buffer of recyclable log messages
+ *
+ * The goal of this class is to enable logging that is both extremely chatty and extremely
+ * lightweight. If done properly, logging a message will not result in any heap allocations or
+ * string generation. Messages are only converted to strings if the log is actually dumped (usually
+ * as the result of taking a bug report).
+ *
+ * You can dump the entire buffer at any time by running:
+ *
+ * ```
+ * $ adb shell dumpsys activity service com.android.systemui/.SystemUIService \
+ * dependency DumpController <bufferName>
+ * ```
+ *
+ * where `bufferName` is the (case-sensitive) [name] passed to the constructor.
+ *
+ * By default, only messages of WARN level or higher are echoed to logcat, but this can be adjusted
+ * locally (usually for debugging purposes).
+ *
+ * To enable logcat echoing for an entire buffer:
+ *
+ * ```
+ * $ adb shell settings put global systemui/buffer/<bufferName> <level>
+ * ```
+ *
+ * To enable logcat echoing for a specific tag:
+ *
+ * ```
+ * $ adb shell settings put global systemui/tag/<tag> <level>
+ * ```
+ *
+ * In either case, `level` can be any of `verbose`, `debug`, `info`, `warn`, `error`, `assert`, or
+ * the first letter of any of the previous.
+ *
+ * Buffers are provided by [LogModule].
+ *
+ * @param name The name of this buffer
+ * @param maxLogs The maximum number of messages to keep in memory at any one time, including the
+ * unused pool.
+ * @param poolSize The maximum amount that the size of the buffer is allowed to flex in response to
+ * sequential calls to [document] that aren't immediately followed by a matching call to [push].
+ */
+class LogBuffer(
+ private val name: String,
+ private val maxLogs: Int,
+ private val poolSize: Int,
+ private val logcatEchoTracker: LogcatEchoTracker
+) {
+ private val buffer: ArrayDeque<LogMessageImpl> = ArrayDeque()
+
+ fun attach(dumpController: DumpController) {
+ dumpController.registerDumpable(name, onDump)
+ }
+
+ /**
+ * Logs a message to the log buffer
+ *
+ * May also log the message to logcat if echoing is enabled for this buffer or tag.
+ *
+ * The actual string of the log message is not constructed until it is needed. To accomplish
+ * this, logging a message is a two-step process. First, a fresh instance of [LogMessage] is
+ * obtained and is passed to the [initializer]. The initializer stores any relevant data on the
+ * message's fields. The message is then inserted into the buffer where it waits until it is
+ * either pushed out by newer messages or it needs to printed. If and when this latter moment
+ * occurs, the [printer] function is called on the message. It reads whatever data the
+ * initializer stored and converts it to a human-readable log message.
+ *
+ * @param tag A string of at most 23 characters, used for grouping logs into categories or
+ * subjects. If this message is echoed to logcat, this will be the tag that is used.
+ * @param level Which level to log the message at, both to the buffer and to logcat if it's
+ * echoed. In general, a module should split most of its logs into either INFO or DEBUG level.
+ * INFO level should be reserved for information that other parts of the system might care
+ * about, leaving the specifics of code's day-to-day operations to DEBUG.
+ * @param initializer A function that will be called immediately to store relevant data on the
+ * log message. The value of `this` will be the LogMessage to be initialized.
+ * @param printer A function that will be called if and when the message needs to be dumped to
+ * logcat or a bug report. It should read the data stored by the initializer and convert it to
+ * a human-readable string. The value of `this` will be the LogMessage to be printed.
+ * **IMPORTANT:** The printer should ONLY ever reference fields on the LogMessage and NEVER any
+ * variables in its enclosing scope. Otherwise, the runtime will need to allocate a new instance
+ * of the printer for each call, thwarting our attempts at avoiding any sort of allocation.
+ */
+ inline fun log(
+ tag: String,
+ level: LogLevel,
+ initializer: LogMessage.() -> Unit,
+ noinline printer: LogMessage.() -> String
+ ) {
+ val message = obtain(tag, level, printer)
+ initializer(message)
+ push(message)
+ }
+
+ /**
+ * Same as [log], but doesn't push the message to the buffer. Useful if you need to supply a
+ * "reason" for doing something (the thing you supply the reason to will presumably call [push]
+ * on that message at some point).
+ */
+ inline fun document(
+ tag: String,
+ level: LogLevel,
+ initializer: LogMessage.() -> Unit,
+ noinline printer: LogMessage.() -> String
+ ): LogMessage {
+ val message = obtain(tag, level, printer)
+ initializer(message)
+ return message
+ }
+
+ /**
+ * Obtains an instance of [LogMessageImpl], usually from the object pool. If the pool has been
+ * exhausted, creates a new instance.
+ *
+ * In general, you should call [log] or [document] instead of this method.
+ */
+ fun obtain(
+ tag: String,
+ level: LogLevel,
+ printer: (LogMessage) -> String
+ ): LogMessageImpl {
+ val message = synchronized(buffer) {
+ if (buffer.size > maxLogs - poolSize) {
+ buffer.removeFirst()
+ } else {
+ LogMessageImpl.create()
+ }
+ }
+ message.reset(tag, level, System.currentTimeMillis(), printer)
+ return message
+ }
+
+ /**
+ * Pushes a message into buffer, possibly evicting an older message if the buffer is full.
+ */
+ fun push(message: LogMessage) {
+ synchronized(buffer) {
+ if (buffer.size == maxLogs) {
+ Log.e(TAG, "LogBuffer $name has exceeded its pool size")
+ buffer.removeFirst()
+ }
+ buffer.add(message as LogMessageImpl)
+ if (logcatEchoTracker.isBufferLoggable(name, message.level) ||
+ logcatEchoTracker.isTagLoggable(message.tag, message.level)) {
+ echoToLogcat(message)
+ }
+ }
+ }
+
+ /** Converts the entire buffer to a newline-delimited string */
+ fun dump(): String {
+ synchronized(buffer) {
+ val sb = StringBuilder()
+ for (message in buffer) {
+ dumpMessage(message, sb)
+ }
+ return sb.toString()
+ }
+ }
+
+ private fun dumpMessage(message: LogMessage, sb: StringBuilder) {
+ sb.append(DATE_FORMAT.format(message.timestamp))
+ .append(" ").append(message.level)
+ .append(" ").append(message.tag)
+ .append(" ").append(message.printer(message))
+ .append("\n")
+ }
+
+ private fun echoToLogcat(message: LogMessage) {
+ val strMessage = message.printer(message)
+ when (message.level) {
+ LogLevel.VERBOSE -> Log.v(message.tag, strMessage)
+ LogLevel.DEBUG -> Log.d(message.tag, strMessage)
+ LogLevel.INFO -> Log.i(message.tag, strMessage)
+ LogLevel.WARNING -> Log.w(message.tag, strMessage)
+ LogLevel.ERROR -> Log.e(message.tag, strMessage)
+ LogLevel.WTF -> Log.wtf(message.tag, strMessage)
+ }
+ }
+
+ private val onDump = Dumpable { _, pw, _ ->
+ pw.println(dump())
+ }
+}
+
+private const val TAG = "LogBuffer"
+private val DATE_FORMAT = SimpleDateFormat("MM-dd HH:mm:ss.S", Locale.US)
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogLevel.kt b/packages/SystemUI/src/com/android/systemui/log/LogLevel.kt
new file mode 100644
index 000000000000..7b9af0f91200
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogLevel.kt
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+import android.util.Log
+
+/**
+ * Enum version of @Log.Level
+ */
+enum class LogLevel(@Log.Level val nativeLevel: Int) {
+ VERBOSE(Log.VERBOSE),
+ DEBUG(Log.DEBUG),
+ INFO(Log.INFO),
+ WARNING(Log.WARN),
+ ERROR(Log.ERROR),
+ WTF(Log.ASSERT)
+}
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogMessage.kt b/packages/SystemUI/src/com/android/systemui/log/LogMessage.kt
new file mode 100644
index 000000000000..2a0a2aa6fb38
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogMessage.kt
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+/**
+ * Generic data class for storing messages logged to a [LogBuffer]
+ *
+ * Each LogMessage has a few standard fields ([level], [tag], and [timestamp]). The rest are generic
+ * data slots that may or may not be used, depending on the nature of the specific message being
+ * logged.
+ *
+ * When a message is logged, the code doing the logging stores data in one or more of the generic
+ * fields ([str1], [int1], etc). When it comes time to dump the message to logcat/bugreport/etc, the
+ * [printer] function reads the data stored in the generic fields and converts that to a human-
+ * readable string. Thus, for every log type there must be a specialized initializer function that
+ * stores data specific to that log type and a specialized printer function that prints that data.
+ *
+ * See [LogBuffer.log] for more information.
+ */
+interface LogMessage {
+ val level: LogLevel
+ val tag: String
+ val timestamp: Long
+ val printer: LogMessage.() -> String
+
+ var str1: String?
+ var str2: String?
+ var str3: String?
+ var int1: Int
+ var int2: Int
+ var long1: Long
+ var long2: Long
+ var double1: Double
+ var bool1: Boolean
+ var bool2: Boolean
+ var bool3: Boolean
+ var bool4: Boolean
+}
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogMessageImpl.kt b/packages/SystemUI/src/com/android/systemui/log/LogMessageImpl.kt
new file mode 100644
index 000000000000..d33ac4b4a80b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogMessageImpl.kt
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+/**
+ * Recyclable implementation of [LogMessage].
+ */
+data class LogMessageImpl(
+ override var level: LogLevel,
+ override var tag: String,
+ override var timestamp: Long,
+ override var printer: LogMessage.() -> String,
+ override var str1: String?,
+ override var str2: String?,
+ override var str3: String?,
+ override var int1: Int,
+ override var int2: Int,
+ override var long1: Long,
+ override var long2: Long,
+ override var double1: Double,
+ override var bool1: Boolean,
+ override var bool2: Boolean,
+ override var bool3: Boolean,
+ override var bool4: Boolean
+) : LogMessage {
+
+ fun reset(
+ tag: String,
+ level: LogLevel,
+ timestamp: Long,
+ renderer: LogMessage.() -> String
+ ) {
+ this.level = level
+ this.tag = tag
+ this.timestamp = timestamp
+ this.printer = renderer
+ str1 = null
+ str2 = null
+ str3 = null
+ int1 = 0
+ int2 = 0
+ long1 = 0
+ long2 = 0
+ double1 = 0.0
+ bool1 = false
+ bool2 = false
+ bool3 = false
+ bool4 = false
+ }
+
+ companion object Factory {
+ fun create(): LogMessageImpl {
+ return LogMessageImpl(
+ LogLevel.DEBUG,
+ DEFAULT_TAG,
+ 0,
+ DEFAULT_RENDERER,
+ null,
+ null,
+ null,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0.0,
+ false,
+ false,
+ false,
+ false)
+ }
+ }
+}
+
+private const val DEFAULT_TAG = "UnknownTag"
+private val DEFAULT_RENDERER: LogMessage.() -> String = { "Unknown message: $this" }
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTracker.kt b/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTracker.kt
new file mode 100644
index 000000000000..3022f4b42a42
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTracker.kt
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+/**
+ * Keeps track of which [LogBuffer] messages should also appear in logcat.
+ */
+interface LogcatEchoTracker {
+ /**
+ * Whether [bufferName] should echo messages of [level] or higher to logcat.
+ */
+ fun isBufferLoggable(bufferName: String, level: LogLevel): Boolean
+
+ /**
+ * Whether [tagName] should echo messages of [level] or higher to logcat.
+ */
+ fun isTagLoggable(tagName: String, level: LogLevel): Boolean
+}
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerDebug.kt b/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerDebug.kt
new file mode 100644
index 000000000000..23942e1d6e3c
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerDebug.kt
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+import android.content.ContentResolver
+import android.database.ContentObserver
+import android.net.Uri
+import android.os.Handler
+import android.os.Looper
+import android.provider.Settings
+
+/**
+ * Version of [LogcatEchoTracker] for debuggable builds
+ *
+ * The log level of individual buffers or tags can be controlled via global settings:
+ *
+ * ```
+ * # Echo any message to <bufferName> of <level> or higher
+ * $ adb shell settings put global systemui/buffer/<bufferName> <level>
+ *
+ * # Echo any message of <tag> and of <level> or higher
+ * $ adb shell settings put global systemui/tag/<tag> <level>
+ * ```
+ */
+class LogcatEchoTrackerDebug private constructor(
+ private val contentResolver: ContentResolver
+) : LogcatEchoTracker {
+ private val cachedBufferLevels: MutableMap<String, LogLevel> = mutableMapOf()
+ private val cachedTagLevels: MutableMap<String, LogLevel> = mutableMapOf()
+
+ companion object Factory {
+ @JvmStatic
+ fun create(
+ contentResolver: ContentResolver,
+ mainLooper: Looper
+ ): LogcatEchoTrackerDebug {
+ val tracker = LogcatEchoTrackerDebug(contentResolver)
+ tracker.attach(mainLooper)
+ return tracker
+ }
+ }
+
+ private fun attach(mainLooper: Looper) {
+ contentResolver.registerContentObserver(
+ Settings.Global.getUriFor(BUFFER_PATH),
+ true,
+ object : ContentObserver(Handler(mainLooper)) {
+ override fun onChange(selfChange: Boolean, uri: Uri) {
+ super.onChange(selfChange, uri)
+ cachedBufferLevels.clear()
+ }
+ })
+
+ contentResolver.registerContentObserver(
+ Settings.Global.getUriFor(TAG_PATH),
+ true,
+ object : ContentObserver(Handler(mainLooper)) {
+ override fun onChange(selfChange: Boolean, uri: Uri) {
+ super.onChange(selfChange, uri)
+ cachedTagLevels.clear()
+ }
+ })
+ }
+
+ /**
+ * Whether [bufferName] should echo messages of [level] or higher to logcat.
+ */
+ @Synchronized
+ override fun isBufferLoggable(bufferName: String, level: LogLevel): Boolean {
+ return level.ordinal >= getLogLevel(bufferName, BUFFER_PATH, cachedBufferLevels).ordinal
+ }
+
+ /**
+ * Whether [tagName] should echo messages of [level] or higher to logcat.
+ */
+ @Synchronized
+ override fun isTagLoggable(tagName: String, level: LogLevel): Boolean {
+ return level >= getLogLevel(tagName, TAG_PATH, cachedTagLevels)
+ }
+
+ private fun getLogLevel(
+ name: String,
+ path: String,
+ cache: MutableMap<String, LogLevel>
+ ): LogLevel {
+ return cache[name] ?: readSetting("$path/$name").also { cache[name] = it }
+ }
+
+ private fun readSetting(path: String): LogLevel {
+ return try {
+ parseProp(Settings.Global.getString(contentResolver, path))
+ } catch (_: Settings.SettingNotFoundException) {
+ DEFAULT_LEVEL
+ }
+ }
+
+ private fun parseProp(propValue: String?): LogLevel {
+ return when (propValue?.toLowerCase()) {
+ "verbose" -> LogLevel.VERBOSE
+ "v" -> LogLevel.VERBOSE
+ "debug" -> LogLevel.DEBUG
+ "d" -> LogLevel.DEBUG
+ "info" -> LogLevel.INFO
+ "i" -> LogLevel.INFO
+ "warning" -> LogLevel.WARNING
+ "warn" -> LogLevel.WARNING
+ "w" -> LogLevel.WARNING
+ "error" -> LogLevel.ERROR
+ "e" -> LogLevel.ERROR
+ "assert" -> LogLevel.WTF
+ "wtf" -> LogLevel.WTF
+ else -> DEFAULT_LEVEL
+ }
+ }
+}
+
+private val DEFAULT_LEVEL = LogLevel.WARNING
+private const val BUFFER_PATH = "systemui/buffer"
+private const val TAG_PATH = "systemui/tag"
diff --git a/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerProd.kt b/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerProd.kt
new file mode 100644
index 000000000000..394f624a3e58
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/LogcatEchoTrackerProd.kt
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log
+
+/**
+ * Production version of [LogcatEchoTracker] that isn't configurable.
+ */
+class LogcatEchoTrackerProd : LogcatEchoTracker {
+ override fun isBufferLoggable(bufferName: String, level: LogLevel): Boolean {
+ return level >= LogLevel.WARNING
+ }
+
+ override fun isTagLoggable(tagName: String, level: LogLevel): Boolean {
+ return level >= LogLevel.WARNING
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/log/SysuiLog.java b/packages/SystemUI/src/com/android/systemui/log/SysuiLog.java
index 4e15668f6a34..9ee3e6765e4a 100644
--- a/packages/SystemUI/src/com/android/systemui/log/SysuiLog.java
+++ b/packages/SystemUI/src/com/android/systemui/log/SysuiLog.java
@@ -48,7 +48,7 @@ import java.util.Locale;
*/
public class SysuiLog<E extends Event> implements Dumpable {
public static final SimpleDateFormat DATE_FORMAT =
- new SimpleDateFormat("MM-dd HH:mm:ss", Locale.US);
+ new SimpleDateFormat("MM-dd HH:mm:ss.S", Locale.US);
protected final Object mDataLock = new Object();
private final String mId;
diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/DozeLog.java b/packages/SystemUI/src/com/android/systemui/log/dagger/DozeLog.java
new file mode 100644
index 000000000000..7c5f4025117f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/dagger/DozeLog.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log.dagger;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import com.android.systemui.log.LogBuffer;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+
+import javax.inject.Qualifier;
+
+/** A {@link LogBuffer} for dozing-related messages. */
+@Qualifier
+@Documented
+@Retention(RUNTIME)
+public @interface DozeLog {
+}
diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java
new file mode 100644
index 000000000000..e119beff3c6f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log.dagger;
+
+import android.content.ContentResolver;
+import android.os.Build;
+import android.os.Looper;
+
+import com.android.systemui.DumpController;
+import com.android.systemui.dagger.qualifiers.Main;
+import com.android.systemui.log.LogBuffer;
+import com.android.systemui.log.LogcatEchoTracker;
+import com.android.systemui.log.LogcatEchoTrackerDebug;
+import com.android.systemui.log.LogcatEchoTrackerProd;
+
+import javax.inject.Singleton;
+
+import dagger.Module;
+import dagger.Provides;
+
+/**
+ * Dagger module for providing instances of {@link LogBuffer}.
+ */
+@Module
+public class LogModule {
+ /** Provides a logging buffer for doze-related logs. */
+ @Provides
+ @Singleton
+ @DozeLog
+ public static LogBuffer provideDozeLogBuffer(
+ LogcatEchoTracker bufferFilter,
+ DumpController dumpController) {
+ LogBuffer buffer = new LogBuffer("DozeLog", 100, 10, bufferFilter);
+ buffer.attach(dumpController);
+ return buffer;
+ }
+
+ /** Provides a logging buffer for all logs related to the data layer of notifications. */
+ @Provides
+ @Singleton
+ @NotificationLog
+ public static LogBuffer provideNotificationsLogBuffer(
+ LogcatEchoTracker bufferFilter,
+ DumpController dumpController) {
+ LogBuffer buffer = new LogBuffer("NotifLog2", 1000, 10, bufferFilter);
+ buffer.attach(dumpController);
+ return buffer;
+ }
+
+ /** Allows logging buffers to be tweaked via adb on debug builds but not on prod builds. */
+ @Provides
+ @Singleton
+ public static LogcatEchoTracker provideLogcatEchoTracker(
+ ContentResolver contentResolver,
+ @Main Looper looper) {
+ if (Build.IS_DEBUGGABLE) {
+ return LogcatEchoTrackerDebug.create(contentResolver, looper);
+ } else {
+ return new LogcatEchoTrackerProd();
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/NotificationLog.java b/packages/SystemUI/src/com/android/systemui/log/dagger/NotificationLog.java
new file mode 100644
index 000000000000..a0b686487bec
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/log/dagger/NotificationLog.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.log.dagger;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import com.android.systemui.log.LogBuffer;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+
+import javax.inject.Qualifier;
+
+/** A {@link LogBuffer} for notification-related messages. */
+@Qualifier
+@Documented
+@Retention(RUNTIME)
+public @interface NotificationLog {
+}
diff --git a/packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java b/packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java
index d1d9b3de7e69..92aa02050d28 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/BasePipManager.java
@@ -20,13 +20,13 @@ import android.content.Context;
import android.content.res.Configuration;
import com.android.systemui.broadcast.BroadcastDispatcher;
-import com.android.systemui.wm.DisplayWindowController;
+import com.android.systemui.wm.DisplayController;
import java.io.PrintWriter;
public interface BasePipManager {
void initialize(Context context, BroadcastDispatcher broadcastDispatcher,
- DisplayWindowController displayWindowController);
+ DisplayController displayController);
void showPictureInPictureMenu();
default void expandPip() {}
default void hidePipMenu(Runnable onStartCallback, Runnable onEndCallback) {}
diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipUI.java b/packages/SystemUI/src/com/android/systemui/pip/PipUI.java
index 29de90bb2824..cecdc9cbb4f3 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/PipUI.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/PipUI.java
@@ -28,7 +28,7 @@ import android.os.UserManager;
import com.android.systemui.SystemUI;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.statusbar.CommandQueue;
-import com.android.systemui.wm.DisplayWindowController;
+import com.android.systemui.wm.DisplayController;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -45,17 +45,17 @@ public class PipUI extends SystemUI implements CommandQueue.Callbacks {
private final CommandQueue mCommandQueue;
private BasePipManager mPipManager;
private final BroadcastDispatcher mBroadcastDispatcher;
- private final DisplayWindowController mDisplayWindowController;
+ private final DisplayController mDisplayController;
private boolean mSupportsPip;
@Inject
public PipUI(Context context, CommandQueue commandQueue,
BroadcastDispatcher broadcastDispatcher,
- DisplayWindowController displayWindowController) {
+ DisplayController displayController) {
super(context);
mBroadcastDispatcher = broadcastDispatcher;
mCommandQueue = commandQueue;
- mDisplayWindowController = displayWindowController;
+ mDisplayController = displayController;
}
@Override
@@ -75,7 +75,7 @@ public class PipUI extends SystemUI implements CommandQueue.Callbacks {
mPipManager = pm.hasSystemFeature(FEATURE_LEANBACK_ONLY)
? com.android.systemui.pip.tv.PipManager.getInstance()
: com.android.systemui.pip.phone.PipManager.getInstance();
- mPipManager.initialize(mContext, mBroadcastDispatcher, mDisplayWindowController);
+ mPipManager.initialize(mContext, mBroadcastDispatcher, mDisplayController);
mCommandQueue.addCallback(this);
}
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
index e48a23f4cd2c..239ef3638ff6 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java
@@ -46,7 +46,8 @@ import com.android.systemui.shared.system.InputConsumerController;
import com.android.systemui.shared.system.PinnedStackListenerForwarder.PinnedStackListener;
import com.android.systemui.shared.system.TaskStackChangeListener;
import com.android.systemui.shared.system.WindowManagerWrapper;
-import com.android.systemui.wm.DisplayWindowController;
+import com.android.systemui.wm.DisplayChangeController;
+import com.android.systemui.wm.DisplayController;
import java.io.PrintWriter;
@@ -79,7 +80,7 @@ public class PipManager implements BasePipManager {
/**
* Handler for display rotation changes.
*/
- private final DisplayWindowController.OnDisplayWindowRotationController mRotationController = (
+ private final DisplayChangeController.OnDisplayChangingListener mRotationController = (
int displayId, int fromRotation, int toRotation, WindowContainerTransaction t) -> {
final boolean changed = mPipBoundsHandler.onDisplayRotationChanged(mTmpNormalBounds,
displayId, fromRotation, toRotation, t);
@@ -230,7 +231,7 @@ public class PipManager implements BasePipManager {
* Initializes {@link PipManager}.
*/
public void initialize(Context context, BroadcastDispatcher broadcastDispatcher,
- DisplayWindowController displayWindowController) {
+ DisplayController displayController) {
mContext = context;
mActivityManager = ActivityManager.getService();
mActivityTaskManager = ActivityTaskManager.getService();
@@ -251,7 +252,7 @@ public class PipManager implements BasePipManager {
mMenuController, mInputConsumerController, mPipBoundsHandler);
mAppOpsListener = new PipAppOpsListener(context, mActivityManager,
mTouchHandler.getMotionHelper());
- displayWindowController.addRotationController(mRotationController);
+ displayController.addDisplayChangingController(mRotationController);
// If SystemUI restart, and it already existed a pinned stack,
// register the pip input consumer to ensure touch can send to it.
diff --git a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java
index 1d92375a7541..7532f9f11296 100644
--- a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java
@@ -55,7 +55,7 @@ import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.PinnedStackListenerForwarder.PinnedStackListener;
import com.android.systemui.shared.system.TaskStackChangeListener;
import com.android.systemui.shared.system.WindowManagerWrapper;
-import com.android.systemui.wm.DisplayWindowController;
+import com.android.systemui.wm.DisplayController;
import java.util.ArrayList;
import java.util.List;
@@ -230,7 +230,7 @@ public class PipManager implements BasePipManager {
* Initializes {@link PipManager}.
*/
public void initialize(Context context, BroadcastDispatcher broadcastDispatcher,
- DisplayWindowController displayWindowController) {
+ DisplayController displayController) {
if (mInitialized) {
return;
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/DoubleLineTileLayout.kt b/packages/SystemUI/src/com/android/systemui/qs/DoubleLineTileLayout.kt
index f66a1ece1868..f710f7fc47e2 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/DoubleLineTileLayout.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/DoubleLineTileLayout.kt
@@ -68,7 +68,7 @@ class DoubleLineTileLayout(context: Context) : ViewGroup(context), QSPanel.QSTil
override fun updateResources(): Boolean {
with(mContext.resources) {
smallTileSize = getDimensionPixelSize(R.dimen.qs_quick_tile_size)
- cellMarginHorizontal = getDimensionPixelSize(R.dimen.qs_tile_margin_horizontal) / 2
+ cellMarginHorizontal = getDimensionPixelSize(R.dimen.qs_tile_margin_horizontal)
cellMarginVertical = getDimensionPixelSize(R.dimen.new_qs_vertical_margin)
}
requestLayout()
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSColorController.kt b/packages/SystemUI/src/com/android/systemui/qs/QSColorController.kt
deleted file mode 100644
index 3f0c5bb7f620..000000000000
--- a/packages/SystemUI/src/com/android/systemui/qs/QSColorController.kt
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.qs
-
-import android.content.ContentResolver
-import android.database.ContentObserver
-import android.net.Uri
-import android.os.Handler
-import android.os.Looper
-import android.provider.Settings
-import android.util.Log
-import com.android.systemui.plugins.qs.QSTile
-
-private const val TAG = "QSColorController"
-private const val QS_COLOR_ICON = "qs_color_icon"
-private const val QS_COLOR_ENABLED = "qs_color_enabled"
-private const val QS_COLOR_OVERRIDDEN_TILES = "qs_color_overridden_tiles"
-private val qsColorIconUri = Settings.System.getUriFor(QS_COLOR_ICON)
-private val qsColorEnabledUri = Settings.System.getUriFor(QS_COLOR_ENABLED)
-class QSColorController private constructor() {
-
- private var overrideColor = false
- private var colorIcon = false
- private lateinit var colorCache: SettingBackedMap
-
- companion object {
- val instance = QSColorController()
- internal fun overrideColor() = instance.overrideColor
- internal fun colorIcon() = instance.colorIcon
-
- @QSTile.ColorTile
- private fun getColorFromSetting(setting: String): Int {
- return when (setting.toLowerCase()) {
- "red" -> QSTile.COLOR_TILE_RED
- "blue" -> QSTile.COLOR_TILE_BLUE
- "green" -> QSTile.COLOR_TILE_GREEN
- "yellow" -> QSTile.COLOR_TILE_YELLOW
- else -> QSTile.COLOR_TILE_ACCENT
- }
- }
- }
-
- private fun getBooleanSetting(key: String, default: Boolean = false): Boolean =
- try {
- Settings.System.getInt(contentResolver, key) != 0
- } catch (_: Settings.SettingNotFoundException) {
- default
- }
-
- private lateinit var tileHost: QSHost
- private lateinit var contentResolver: ContentResolver
-
- fun initQSTileHost(host: QSHost) {
- tileHost = host
- contentResolver = tileHost.context.contentResolver
- colorCache = SettingBackedMap(contentResolver, mutableMapOf())
- colorIcon = getBooleanSetting(QS_COLOR_ICON)
- overrideColor = getBooleanSetting(QS_COLOR_ENABLED)
- readExistingSettings()
- contentResolver.registerContentObserver(qsColorEnabledUri, true, settingsListener)
- contentResolver.registerContentObserver(qsColorIconUri, false, settingsListener)
- }
-
- private fun readExistingSettings() {
- Settings.System.getString(contentResolver, QS_COLOR_OVERRIDDEN_TILES)?.split(",")
- ?.mapNotNull { spec ->
- Settings.System.getString(contentResolver, "$QS_COLOR_ENABLED/$spec")?.let {
- spec to it
- }
- }?.forEach {
- modifyTileColor(it.first, getColorFromSetting(it.second))
- }
- }
-
- private val settingsListener = object : ContentObserver(Handler(Looper.getMainLooper())) {
- override fun onChange(selfChange: Boolean, uri: Uri) {
- super.onChange(selfChange, uri)
- when (uri) {
- qsColorIconUri -> colorIcon = getBooleanSetting(QS_COLOR_ICON)
- qsColorEnabledUri -> overrideColor = getBooleanSetting(QS_COLOR_ENABLED)
- else -> {
- uri.path?.drop("/system/".length)?.let {
- val color = getColorFromSetting(
- Settings.System.getString(contentResolver, it) ?: "accent")
- val tileSpec = uri.lastPathSegment ?: ""
- modifyTileColor(tileSpec, color)
- }
- }
- }
- }
- }
-
- private fun modifyTileColor(spec: String, @QSTile.ColorTile color: Int) {
- Log.w(TAG, "Setting color of tile $spec to $color")
- colorCache.put(spec, color)
- tileHost.tiles.firstOrNull { it.tileSpec == spec }?.setColor(color)
- }
-
- fun applyColorToTile(tile: QSTile) {
- colorCache.get(tile.tileSpec)?.let {
- modifyTileColor(tile.tileSpec, it)
- }
- }
-
- fun applyColorToAllTiles() = tileHost.tiles.forEach(::applyColorToTile)
-
- fun destroy() {
- contentResolver.unregisterContentObserver(settingsListener)
- }
-
- class SettingBackedMap(
- private val contentResolver: ContentResolver,
- private val map: MutableMap<String, Int>
- ) : MutableMap<String, @QSTile.ColorTile Int> by map {
- override fun put(key: String, @QSTile.ColorTile value: Int): Int? {
- return map.put(key, value).also {
- Settings.System.putString(contentResolver, QS_COLOR_OVERRIDDEN_TILES,
- map.filterValues { it != QSTile.COLOR_TILE_ACCENT }
- .keys
- .joinToString(","))
- }
- }
- }
-}
-fun overrideColor() = QSColorController.overrideColor()
-fun colorIcon() = QSColorController.colorIcon() \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java b/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java
index 1077834e7146..9e3e94ce4186 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java
@@ -36,7 +36,6 @@ import android.media.MediaMetadata;
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.media.session.PlaybackState;
-import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -45,7 +44,6 @@ import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
-import android.widget.RemoteViews;
import android.widget.TextView;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
@@ -72,8 +70,6 @@ public class QSMediaPlayer {
private View mSeamless;
private MediaSession.Token mToken;
private MediaController mController;
- private int mWidth;
- private int mHeight;
private int mForegroundColor;
private int mBackgroundColor;
private ComponentName mRecvComponent;
@@ -158,16 +154,11 @@ public class QSMediaPlayer {
*
* @param context
* @param parent
- * @param width
- * @param height
*/
- public QSMediaPlayer(Context context, ViewGroup parent, int width, int height) {
+ public QSMediaPlayer(Context context, ViewGroup parent) {
mContext = context;
LayoutInflater inflater = LayoutInflater.from(mContext);
mMediaNotifView = (LinearLayout) inflater.inflate(R.layout.qs_media_panel, parent, false);
-
- mWidth = width;
- mHeight = height;
}
public View getView() {
@@ -217,27 +208,18 @@ public class QSMediaPlayer {
Notification.Builder builder = Notification.Builder.recoverBuilder(mContext, notif);
// Album art
- addAlbumArtBackground(mMediaMetadata, bgColor, mWidth, mHeight);
+ addAlbumArt(mMediaMetadata, bgColor);
- // Reuse notification header instead of reimplementing everything
- RemoteViews headerRemoteView = builder.makeNotificationHeader();
LinearLayout headerView = mMediaNotifView.findViewById(R.id.header);
- View result = headerRemoteView.apply(mContext, headerView);
- result.setPadding(0, 0, 0, 0);
- LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
- ViewGroup.LayoutParams.WRAP_CONTENT, 75);
- result.setLayoutParams(lp);
- headerView.removeAllViews();
- headerView.addView(result);
// App icon
- ImageView appIcon = headerView.findViewById(com.android.internal.R.id.icon);
+ ImageView appIcon = headerView.findViewById(R.id.icon);
Drawable iconDrawable = icon.loadDrawable(mContext);
iconDrawable.setTint(iconColor);
appIcon.setImageDrawable(iconDrawable);
// App title
- TextView appName = headerView.findViewById(com.android.internal.R.id.app_name_text);
+ TextView appName = headerView.findViewById(R.id.app_name);
String appNameString = builder.loadHeaderAppName();
appName.setText(appNameString);
appName.setTextColor(iconColor);
@@ -254,25 +236,8 @@ public class QSMediaPlayer {
}
});
- // Separator
- TextView separator = headerView.findViewById(com.android.internal.R.id.header_text_divider);
- separator.setTextColor(iconColor);
-
- // Album name
- TextView albumName = headerView.findViewById(com.android.internal.R.id.header_text);
- String albumString = mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ALBUM);
- if (TextUtils.isEmpty(albumString)) {
- albumName.setVisibility(View.GONE);
- separator.setVisibility(View.GONE);
- } else {
- albumName.setText(albumString);
- albumName.setTextColor(iconColor);
- albumName.setVisibility(View.VISIBLE);
- separator.setVisibility(View.VISIBLE);
- }
-
// Transfer chip
- mSeamless = headerView.findViewById(com.android.internal.R.id.media_seamless);
+ mSeamless = headerView.findViewById(R.id.media_seamless);
mSeamless.setVisibility(View.VISIBLE);
updateChip(device);
ActivityStarter mActivityStarter = Dependency.get(ActivityStarter.class);
@@ -284,13 +249,13 @@ public class QSMediaPlayer {
});
// Artist name
- TextView artistText = mMediaNotifView.findViewById(R.id.header_title);
+ TextView artistText = headerView.findViewById(R.id.header_artist);
String artistName = mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ARTIST);
artistText.setText(artistName);
artistText.setTextColor(iconColor);
// Song name
- TextView titleText = mMediaNotifView.findViewById(R.id.header_text);
+ TextView titleText = headerView.findViewById(R.id.header_text);
String songName = mMediaMetadata.getString(MediaMetadata.METADATA_KEY_TITLE);
titleText.setText(songName);
titleText.setTextColor(iconColor);
@@ -363,34 +328,25 @@ public class QSMediaPlayer {
return (state.getState() == PlaybackState.STATE_PLAYING);
}
- private void addAlbumArtBackground(MediaMetadata metadata, int bgColor, int width, int height) {
+ private void addAlbumArt(MediaMetadata metadata, int bgColor) {
Bitmap albumArt = metadata.getBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART);
float radius = mContext.getResources().getDimension(R.dimen.qs_media_corner_radius);
+ ImageView albumView = mMediaNotifView.findViewById(R.id.album_art);
if (albumArt != null) {
Log.d(TAG, "updating album art");
Bitmap original = albumArt.copy(Bitmap.Config.ARGB_8888, true);
- Bitmap scaled = scaleBitmap(original, width, height);
- Canvas canvas = new Canvas(scaled);
-
- // Add translucent layer over album art to improve contrast
- Paint p = new Paint();
- p.setStyle(Paint.Style.FILL);
- p.setColor(bgColor);
- p.setAlpha(200);
- canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), p);
-
+ int albumSize = (int) mContext.getResources().getDimension(R.dimen.qs_media_album_size);
+ Bitmap scaled = scaleBitmap(original, albumSize, albumSize);
RoundedBitmapDrawable roundedDrawable = RoundedBitmapDrawableFactory.create(
mContext.getResources(), scaled);
roundedDrawable.setCornerRadius(radius);
-
- mMediaNotifView.setBackground(roundedDrawable);
+ albumView.setImageDrawable(roundedDrawable);
} else {
Log.e(TAG, "No album art available");
- GradientDrawable rect = new GradientDrawable();
- rect.setCornerRadius(radius);
- rect.setColor(bgColor);
- mMediaNotifView.setBackground(rect);
+ albumView.setImageDrawable(null);
}
+
+ mMediaNotifView.setBackgroundTintList(ColorStateList.valueOf(bgColor));
}
private Bitmap scaleBitmap(Bitmap original, int width, int height) {
@@ -423,8 +379,8 @@ public class QSMediaPlayer {
rect.setStroke(2, mForegroundColor);
rect.setColor(mBackgroundColor);
- ImageView iconView = mSeamless.findViewById(com.android.internal.R.id.media_seamless_image);
- TextView deviceName = mSeamless.findViewById(com.android.internal.R.id.media_seamless_text);
+ ImageView iconView = mSeamless.findViewById(R.id.media_seamless_image);
+ TextView deviceName = mSeamless.findViewById(R.id.media_seamless_text);
deviceName.setTextColor(fgTintList);
if (device != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 35b8312ba25c..14a117ca40a1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -31,7 +31,6 @@ import android.metrics.LogMaker;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.provider.Settings;
import android.service.notification.StatusBarNotification;
import android.service.quicksettings.Tile;
import android.util.AttributeSet;
@@ -62,7 +61,6 @@ import com.android.systemui.qs.external.CustomTile;
import com.android.systemui.settings.BrightnessController;
import com.android.systemui.settings.ToggleSliderView;
import com.android.systemui.shared.plugins.PluginManager;
-import com.android.systemui.statusbar.phone.NPVPluginManager;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener;
import com.android.systemui.tuner.TunerService;
@@ -97,6 +95,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>();
private LocalMediaManager mLocalMediaManager;
private MediaDevice mDevice;
+ private boolean mUpdateCarousel = false;
protected boolean mExpanded;
protected boolean mListening;
@@ -120,7 +119,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
private FrameLayout mPluginFrame;
private final PluginManager mPluginManager;
- private NPVPluginManager mNPVPluginManager;
private final LocalMediaManager.DeviceCallback mDeviceCallback =
new LocalMediaManager.DeviceCallback() {
@@ -187,7 +185,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
HorizontalScrollView mediaScrollView = (HorizontalScrollView) LayoutInflater.from(
mContext).inflate(R.layout.media_carousel, this, false);
mMediaCarousel = mediaScrollView.findViewById(R.id.media_carousel);
- addView(mediaScrollView);
+ addView(mediaScrollView, 0);
} else {
mMediaCarousel = null;
}
@@ -201,14 +199,23 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
findViewById(R.id.brightness_slider), broadcastDispatcher);
mDumpController = dumpController;
mPluginManager = pluginManager;
- if (mPluginManager != null && Settings.System.getInt(
- mContext.getContentResolver(), "npv_plugin_flag", 0) == 2) {
- mPluginFrame = (FrameLayout) LayoutInflater.from(mContext).inflate(
- R.layout.status_bar_expanded_plugin_frame, this, false);
- addView(mPluginFrame);
- mNPVPluginManager = new NPVPluginManager(mPluginFrame, mPluginManager);
- }
+ }
+ @Override
+ public void onVisibilityAggregated(boolean isVisible) {
+ super.onVisibilityAggregated(isVisible);
+ if (!isVisible && mUpdateCarousel) {
+ for (QSMediaPlayer player : mMediaPlayers) {
+ if (player.isPlaying()) {
+ LayoutParams lp = (LayoutParams) player.getView().getLayoutParams();
+ mMediaCarousel.removeView(player.getView());
+ mMediaCarousel.addView(player.getView(), 0, lp);
+ ((HorizontalScrollView) mMediaCarousel.getParent()).fullScroll(View.FOCUS_LEFT);
+ mUpdateCarousel = false;
+ break;
+ }
+ }
+ }
}
/**
@@ -248,7 +255,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
}
}
- int playerHeight = (int) getResources().getDimension(R.dimen.qs_media_height);
int playerWidth = (int) getResources().getDimension(R.dimen.qs_media_width);
int padding = (int) getResources().getDimension(R.dimen.qs_media_padding);
LayoutParams lp = new LayoutParams(playerWidth, ViewGroup.LayoutParams.MATCH_PARENT);
@@ -257,8 +263,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
if (player == null) {
Log.d(TAG, "creating new player");
-
- player = new QSMediaPlayer(mContext, this, playerWidth, playerHeight);
+ player = new QSMediaPlayer(mContext, this);
if (player.isPlaying()) {
mMediaCarousel.addView(player.getView(), 0, lp); // add in front
@@ -267,9 +272,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
}
mMediaPlayers.add(player);
} else if (player.isPlaying()) {
- // move it to the front
- mMediaCarousel.removeView(player.getView());
- mMediaCarousel.addView(player.getView(), 0, lp);
+ mUpdateCarousel = true;
}
Log.d(TAG, "setting player session");
@@ -556,7 +559,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
if (mListening) {
refreshAllTiles();
}
- if (mNPVPluginManager != null) mNPVPluginManager.setListening(listening);
}
public void setListening(boolean listening, boolean expanded) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java
index b682cb09b598..476af20b78f4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java
@@ -31,7 +31,6 @@ import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.util.Log;
-import android.util.StatsLog;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.View;
@@ -41,6 +40,7 @@ import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.systemui.Dependency;
import com.android.systemui.FontSizeUtils;
import com.android.systemui.R;
@@ -116,13 +116,14 @@ public class QSSecurityFooter implements OnClickListener, DialogInterface.OnClic
@Override
public void onClick(View v) {
+ if (!hasFooter()) return;
mHandler.sendEmptyMessage(H.CLICK);
}
private void handleClick() {
showDeviceMonitoringDialog();
DevicePolicyEventLogger
- .createEvent(StatsLog.DEVICE_POLICY_EVENT__EVENT_ID__DO_USER_INFO_CLICKED)
+ .createEvent(FrameworkStatsLog.DEVICE_POLICY_EVENT__EVENT_ID__DO_USER_INFO_CLICKED)
.write();
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
index f71150fc348c..00e09f8d4725 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
@@ -90,8 +90,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
private int mCurrentUser;
private final Optional<StatusBar> mStatusBarOptional;
- private QSColorController mQSColorController = QSColorController.Companion.getInstance();
-
@Inject
public QSTileHost(Context context,
StatusBarIconController iconController,
@@ -127,8 +125,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
// AutoTileManager can modify mTiles so make sure mTiles has already been initialized.
mAutoTiles = autoTiles.get();
});
-
- mQSColorController.initQSTileHost(this);
}
public StatusBarIconController getIconController() {
@@ -142,8 +138,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
mServices.destroy();
mPluginManager.removePluginListener(this);
mDumpController.unregisterDumpable(this);
-
- mQSColorController.destroy();
}
@Override
@@ -280,8 +274,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
mCallbacks.get(i).onTilesChanged();
}
}
-
- mQSColorController.applyColorToAllTiles();
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java
index cec1cb2fb53b..9018a375c365 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java
@@ -23,13 +23,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.ColorStateList;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.Rect;
import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.Icon;
import android.media.MediaMetadata;
import android.media.session.MediaController;
@@ -45,9 +39,6 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
-import androidx.core.graphics.drawable.RoundedBitmapDrawable;
-import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
-
import com.android.systemui.R;
import java.util.List;
@@ -63,7 +54,6 @@ public class QuickQSMediaPlayer {
private LinearLayout mMediaNotifView;
private MediaSession.Token mToken;
private MediaController mController;
- private int mBackgroundColor;
private int mForegroundColor;
private ComponentName mRecvComponent;
@@ -142,7 +132,6 @@ public class QuickQSMediaPlayer {
View actionsContainer, int[] actionsToShow, PendingIntent contentIntent) {
mToken = token;
mForegroundColor = iconColor;
- mBackgroundColor = bgColor;
String oldPackage = "";
if (mController != null) {
@@ -185,8 +174,7 @@ public class QuickQSMediaPlayer {
}
});
- // Album art
- addAlbumArtBackground(mMediaMetadata, mBackgroundColor);
+ mMediaNotifView.setBackgroundTintList(ColorStateList.valueOf(bgColor));
// App icon
ImageView appIcon = mMediaNotifView.findViewById(R.id.icon);
@@ -194,14 +182,8 @@ public class QuickQSMediaPlayer {
iconDrawable.setTint(mForegroundColor);
appIcon.setImageDrawable(iconDrawable);
- // Artist name
- TextView appText = mMediaNotifView.findViewById(R.id.header_title);
- String artistName = mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ARTIST);
- appText.setText(artistName);
- appText.setTextColor(mForegroundColor);
-
// Song name
- TextView titleText = mMediaNotifView.findViewById(R.id.header_text);
+ TextView titleText = mMediaNotifView.findViewById(R.id.header_title);
String songName = mMediaMetadata.getString(MediaMetadata.METADATA_KEY_TITLE);
titleText.setText(songName);
titleText.setTextColor(mForegroundColor);
@@ -277,54 +259,4 @@ public class QuickQSMediaPlayer {
public boolean hasMediaSession() {
return mController != null && mController.getPlaybackState() != null;
}
-
- private void addAlbumArtBackground(MediaMetadata metadata, int bgColor) {
- Bitmap albumArt = metadata.getBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART);
- float radius = mContext.getResources().getDimension(R.dimen.qs_media_corner_radius);
- Rect bounds = new Rect();
- mMediaNotifView.getBoundsOnScreen(bounds);
- int width = bounds.width();
- int height = bounds.height();
- if (albumArt != null && width > 0 && height > 0) {
- Bitmap original = albumArt.copy(Bitmap.Config.ARGB_8888, true);
- Bitmap scaled = scaleBitmap(original, width, height);
- Canvas canvas = new Canvas(scaled);
-
- // Add translucent layer over album art to improve contrast
- Paint p = new Paint();
- p.setStyle(Paint.Style.FILL);
- p.setColor(bgColor);
- p.setAlpha(200);
- canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), p);
-
- RoundedBitmapDrawable roundedDrawable = RoundedBitmapDrawableFactory.create(
- mContext.getResources(), scaled);
- roundedDrawable.setCornerRadius(radius);
-
- mMediaNotifView.setBackground(roundedDrawable);
- } else {
- Log.e(TAG, "No album art available");
- GradientDrawable rect = new GradientDrawable();
- rect.setCornerRadius(radius);
- rect.setColor(bgColor);
- mMediaNotifView.setBackground(rect);
- }
- }
-
- private Bitmap scaleBitmap(Bitmap original, int width, int height) {
- Bitmap cropped = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(cropped);
-
- float scale = (float) cropped.getWidth() / (float) original.getWidth();
- float dy = (cropped.getHeight() - original.getHeight() * scale) / 2.0f;
- Matrix transformation = new Matrix();
- transformation.postTranslate(0, dy);
- transformation.preScale(scale, scale);
-
- Paint paint = new Paint();
- paint.setFilterBitmap(true);
- canvas.drawBitmap(original, transformation, paint);
-
- return cropped;
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
index b05d4fdf7db7..e9207016eb68 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
@@ -85,20 +85,21 @@ public class QuickQSPanel extends QSPanel {
mHorizontalLinearLayout.setClipChildren(false);
mHorizontalLinearLayout.setClipToPadding(false);
+ int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing);
+ mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout);
+ LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1);
+ lp2.setMarginEnd(marginSize);
+ lp2.setMarginStart(0);
+ mHorizontalLinearLayout.addView(mMediaPlayer.getView(), lp2);
+
mTileLayout = new DoubleLineTileLayout(context);
mMediaTileLayout = mTileLayout;
mRegularTileLayout = new HeaderTileLayout(context);
LayoutParams lp = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1);
- lp.setMarginEnd(10);
- lp.setMarginStart(0);
+ lp.setMarginEnd(0);
+ lp.setMarginStart(marginSize);
mHorizontalLinearLayout.addView((View) mTileLayout, lp);
- mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout);
- LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1);
- lp2.setMarginEnd(0);
- lp2.setMarginStart(25);
- mHorizontalLinearLayout.addView(mMediaPlayer.getView(), lp2);
-
sDefaultMaxTiles = getResources().getInteger(R.integer.quick_qs_panel_max_columns);
mTileLayout.setListening(mListening);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
index 37743ec55517..9f59277c918a 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/TileLayout.java
@@ -1,5 +1,7 @@
package com.android.systemui.qs;
+import static com.android.systemui.util.Utils.useQsMediaPlayer;
+
import android.content.Context;
import android.content.res.Resources;
import android.provider.Settings;
@@ -42,7 +44,8 @@ public class TileLayout extends ViewGroup implements QSTileLayout {
public TileLayout(Context context, AttributeSet attrs) {
super(context, attrs);
setFocusableInTouchMode(true);
- mLessRows = Settings.System.getInt(context.getContentResolver(), "qs_less_rows", 0) != 0;
+ mLessRows = (Settings.System.getInt(context.getContentResolver(), "qs_less_rows", 0) != 0)
+ || useQsMediaPlayer(context);
updateResources();
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java
index 2b53727f237e..554672d88052 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java
@@ -16,7 +16,6 @@ package com.android.systemui.qs.tileimpl;
import android.content.Context;
import android.os.Build;
-import android.provider.Settings;
import android.util.Log;
import android.view.ContextThemeWrapper;
@@ -33,7 +32,6 @@ import com.android.systemui.qs.tiles.BluetoothTile;
import com.android.systemui.qs.tiles.CastTile;
import com.android.systemui.qs.tiles.CellularTile;
import com.android.systemui.qs.tiles.ColorInversionTile;
-import com.android.systemui.qs.tiles.ControlsTile;
import com.android.systemui.qs.tiles.DataSaverTile;
import com.android.systemui.qs.tiles.DndTile;
import com.android.systemui.qs.tiles.FlashlightTile;
@@ -60,7 +58,6 @@ public class QSFactoryImpl implements QSFactory {
private final Provider<WifiTile> mWifiTileProvider;
private final Provider<BluetoothTile> mBluetoothTileProvider;
- private final Provider<ControlsTile> mControlsTileProvider;
private final Provider<CellularTile> mCellularTileProvider;
private final Provider<DndTile> mDndTileProvider;
private final Provider<ColorInversionTile> mColorInversionTileProvider;
@@ -85,7 +82,6 @@ public class QSFactoryImpl implements QSFactory {
@Inject
public QSFactoryImpl(Provider<WifiTile> wifiTileProvider,
Provider<BluetoothTile> bluetoothTileProvider,
- Provider<ControlsTile> controlsTileProvider,
Provider<CellularTile> cellularTileProvider,
Provider<DndTile> dndTileProvider,
Provider<ColorInversionTile> colorInversionTileProvider,
@@ -106,7 +102,6 @@ public class QSFactoryImpl implements QSFactory {
Provider<ScreenRecordTile> screenRecordTileProvider) {
mWifiTileProvider = wifiTileProvider;
mBluetoothTileProvider = bluetoothTileProvider;
- mControlsTileProvider = controlsTileProvider;
mCellularTileProvider = cellularTileProvider;
mDndTileProvider = dndTileProvider;
mColorInversionTileProvider = colorInversionTileProvider;
@@ -146,11 +141,6 @@ public class QSFactoryImpl implements QSFactory {
return mWifiTileProvider.get();
case "bt":
return mBluetoothTileProvider.get();
- case "controls":
- if (Settings.System.getInt(mHost.getContext().getContentResolver(),
- "npv_plugin_flag", 0) == 3) {
- return mControlsTileProvider.get();
- } else return null;
case "cell":
return mCellularTileProvider.get();
case "dnd":
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java
index 88c7964144c1..31526bf8f5e1 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java
@@ -14,12 +14,10 @@
package com.android.systemui.qs.tileimpl;
-import static com.android.systemui.qs.QSColorControllerKt.colorIcon;
import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
-import android.animation.ArgbEvaluator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.ColorStateList;
@@ -150,15 +148,10 @@ public class QSIconViewImpl extends QSIconView {
iv.clearColorFilter();
}
if (state.state != mState) {
- int color = getColor(state.state, state.colorActive);
+ int color = getColor(state.state);
mState = state.state;
if (mTint != 0 && allowAnimations && shouldAnimate(iv)) {
- if (colorIcon()) {
- animateColor(mTint, color, iv, () -> updateIcon(iv, state, allowAnimations));
- } else {
- animateGrayScale(mTint, color, iv,
- () -> updateIcon(iv, state, allowAnimations));
- }
+ animateGrayScale(mTint, color, iv, () -> updateIcon(iv, state, allowAnimations));
mTint = color;
} else {
if (iv instanceof AlphaControlledSlashImageView) {
@@ -175,12 +168,8 @@ public class QSIconViewImpl extends QSIconView {
}
}
- protected int getColor(int state, int colorActive) {
- return getColorForState(getContext(), state, colorActive);
- }
-
protected int getColor(int state) {
- return getColor(state, -1);
+ return getColorForState(getContext(), state);
}
private void animateGrayScale(int fromColor, int toColor, ImageView iv,
@@ -217,37 +206,6 @@ public class QSIconViewImpl extends QSIconView {
}
}
- private void animateColor(int fromColor, int toColor, ImageView iv,
- final Runnable endRunnable) {
- if (iv instanceof AlphaControlledSlashImageView) {
- ((AlphaControlledSlashImageView) iv)
- .setFinalImageTintList(ColorStateList.valueOf(toColor));
- }
- if (mAnimationEnabled && ValueAnimator.areAnimatorsEnabled()) {
-
-
- ValueAnimator anim = ValueAnimator.ofFloat(0, 1);
- anim.setDuration(QS_ANIM_LENGTH);
- anim.addUpdateListener(animation -> {
- float fraction = animation.getAnimatedFraction();
- int color = (int) ArgbEvaluator.getInstance().evaluate(fraction, fromColor,
- toColor);
-
- setTint(iv, color);
- });
- anim.addListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- endRunnable.run();
- }
- });
- anim.start();
- } else {
- setTint(iv, toColor);
- endRunnable.run();
- }
- }
-
public static void setTint(ImageView iv, int color) {
iv.setImageTintList(ColorStateList.valueOf(color));
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java
index 8b7f280608a5..2fe64d26f3ac 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java
@@ -13,8 +13,6 @@
*/
package com.android.systemui.qs.tileimpl;
-import static com.android.systemui.qs.QSColorControllerKt.colorIcon;
-import static com.android.systemui.qs.QSColorControllerKt.overrideColor;
import static com.android.systemui.qs.tileimpl.QSIconViewImpl.QS_ANIM_LENGTH;
import android.animation.ValueAnimator;
@@ -76,8 +74,6 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
private int mCircleColor;
private int mBgSize;
- private final boolean mQsColors = overrideColor();
- private final boolean mQSIcons = colorIcon();
public QSTileBaseView(Context context, QSIconView icon) {
this(context, icon, false);
@@ -212,7 +208,7 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
}
protected void handleStateChanged(QSTile.State state) {
- int circleColor = getCircleColor(state.state, mQsColors ? state.colorActive : -1);
+ int circleColor = getCircleColor(state.state);
boolean allowAnimations = animationsEnabled();
if (circleColor != mCircleColor) {
if (allowAnimations) {
@@ -259,11 +255,10 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
return mLocInScreen[1] >= -getHeight();
}
- private int getCircleColor(int state, int colorActive) {
+ private int getCircleColor(int state) {
switch (state) {
case Tile.STATE_ACTIVE:
- int color = (colorActive == -1) ? mColorActive : colorActive;
- return mQsColors && mQSIcons ? Utils.applyAlpha(0.5f, color) : color;
+ return mColorActive;
case Tile.STATE_INACTIVE:
case Tile.STATE_UNAVAILABLE:
return mColorDisabled;
@@ -273,10 +268,6 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView {
}
}
- private int getCircleColor(int state) {
- return getCircleColor(state, -1);
- }
-
@Override
public void setClickable(boolean clickable) {
super.setClickable(clickable);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
index 1d379110325a..e1b61c670a12 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileImpl.java
@@ -26,7 +26,6 @@ import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.FIELD_STATUS_BAR_STATE;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.TYPE_ACTION;
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-import static com.android.systemui.qs.QSColorControllerKt.colorIcon;
import android.app.ActivityManager;
import android.content.Context;
@@ -55,7 +54,6 @@ import com.android.settingslib.Utils;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
import com.android.systemui.Prefs;
-import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSIconView;
@@ -432,10 +430,6 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
public abstract CharSequence getTileLabel();
public static int getColorForState(Context context, int state) {
- return getColorForState(context, state, -1);
- }
-
- public static int getColorForState(Context context, int state, int colorActive) {
switch (state) {
case Tile.STATE_UNAVAILABLE:
return Utils.getDisabled(context,
@@ -443,25 +437,13 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
case Tile.STATE_INACTIVE:
return Utils.getColorAttrDefaultColor(context, android.R.attr.textColorSecondary);
case Tile.STATE_ACTIVE:
- return getActiveColor(context, colorActive);
+ return Utils.getColorAttrDefaultColor(context, android.R.attr.colorPrimary);
default:
Log.e("QSTile", "Invalid state " + state);
return 0;
}
}
- private static int getActiveColor(Context context, int colorActive) {
- if (colorIcon()) {
- if (colorActive == -1) {
- return Utils.getColorAccentDefaultColor(context);
- } else {
- return colorActive;
- }
- } else {
- return Utils.getColorAttrDefaultColor(context, android.R.attr.colorPrimary);
- }
- }
-
protected final class H extends Handler {
private static final int ADD_CALLBACK = 1;
private static final int CLICK = 2;
@@ -645,27 +627,4 @@ public abstract class QSTileImpl<TState extends State> implements QSTile, Lifecy
pw.println(this.getClass().getSimpleName() + ":");
pw.print(" "); pw.println(getState().toString());
}
-
- @Override
- public void setColor(@ColorTile int color) {
- int resId;
- switch(color) {
- case COLOR_TILE_RED:
- resId = R.color.GM2_red_500;
- break;
- case COLOR_TILE_BLUE:
- resId = R.color.GM2_blue_500;
- break;
- case COLOR_TILE_GREEN:
- resId = R.color.GM2_green_500;
- break;
- case COLOR_TILE_YELLOW:
- resId = R.color.GM2_yellow_500;
- break;
- default:
- resId = -1;
- }
- mTmpState.colorActive = resId == -1 ? -1 : mContext.getColor(resId);
- refreshState();
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index 0e813d1ab4e4..32b051e35604 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -192,8 +192,8 @@ public class CastTile extends QSTileImpl<BooleanState> {
if (device.state == CastDevice.STATE_CONNECTED) {
state.value = true;
state.secondaryLabel = getDeviceName(device);
- state.contentDescription = state.contentDescription + "," +
- mContext.getString(R.string.accessibility_cast_name, state.label);
+ state.contentDescription = state.contentDescription + ","
+ + mContext.getString(R.string.accessibility_cast_name, state.label);
connecting = false;
break;
} else if (device.state == CastDevice.STATE_CONNECTING) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ControlsTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ControlsTile.java
deleted file mode 100644
index 39ae66e7607a..000000000000
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ControlsTile.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.qs.tiles;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.FrameLayout;
-
-import com.android.systemui.R;
-import com.android.systemui.plugins.ActivityStarter;
-import com.android.systemui.plugins.NPVPlugin;
-import com.android.systemui.plugins.PluginListener;
-import com.android.systemui.plugins.qs.DetailAdapter;
-import com.android.systemui.plugins.qs.QSTile.BooleanState;
-import com.android.systemui.qs.QSHost;
-import com.android.systemui.qs.tileimpl.QSTileImpl;
-import com.android.systemui.shared.plugins.PluginManager;
-
-import javax.inject.Inject;
-
-
-/**
- * Temporary control test for prototyping
- */
-public class ControlsTile extends QSTileImpl<BooleanState> {
- private ControlsDetailAdapter mDetailAdapter;
- private final ActivityStarter mActivityStarter;
- private PluginManager mPluginManager;
- private NPVPlugin mPlugin;
- private Intent mHomeAppIntent;
-
- @Inject
- public ControlsTile(QSHost host,
- ActivityStarter activityStarter,
- PluginManager pluginManager) {
- super(host);
- mActivityStarter = activityStarter;
- mPluginManager = pluginManager;
- mDetailAdapter = (ControlsDetailAdapter) createDetailAdapter();
-
- mHomeAppIntent = new Intent(Intent.ACTION_VIEW);
- mHomeAppIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- mHomeAppIntent.setComponent(new ComponentName("com.google.android.apps.chromecast.app",
- "com.google.android.apps.chromecast.app.DiscoveryActivity"));
- }
-
- @Override
- public DetailAdapter getDetailAdapter() {
- return mDetailAdapter;
- }
-
- @Override
- public BooleanState newTileState() {
- return new BooleanState();
- }
-
- @Override
- public void handleSetListening(boolean listening) {
-
- }
-
- @Override
- public void setDetailListening(boolean listening) {
- if (mPlugin == null) return;
-
- mPlugin.setListening(listening);
- }
-
- @Override
- protected void handleClick() {
- showDetail(true);
- }
-
- @Override
- public Intent getLongClickIntent() {
- return mHomeAppIntent;
- }
-
- @Override
- protected void handleSecondaryClick() {
- showDetail(true);
- }
-
- @Override
- public CharSequence getTileLabel() {
- return "Controls";
- }
-
- @Override
- protected void handleUpdateState(BooleanState state, Object arg) {
- state.icon = ResourceIcon.get(R.drawable.ic_lightbulb_outline_gm2_24px);
- state.label = "Controls";
- }
-
- @Override
- public boolean supportsDetailView() {
- return getDetailAdapter() != null && mQSSettingsPanelOption == QSSettingsPanel.OPEN_CLICK;
- }
-
- @Override
- public int getMetricsCategory() {
- return -1;
- }
-
- @Override
- protected String composeChangeAnnouncement() {
- if (mState.value) {
- return "On";
- } else {
- return "Off";
- }
- }
-
- @Override
- public boolean isAvailable() {
- return true;
- }
-
- @Override
- protected DetailAdapter createDetailAdapter() {
- mDetailAdapter = new ControlsDetailAdapter();
- return mDetailAdapter;
- }
-
- private class ControlsDetailAdapter implements DetailAdapter {
- private View mDetailView;
- protected FrameLayout mHomeControlsLayout;
-
- public CharSequence getTitle() {
- return "Controls";
- }
-
- public Boolean getToggleState() {
- return null;
- }
-
- public boolean getToggleEnabled() {
- return false;
- }
-
- public View createDetailView(Context context, View convertView, final ViewGroup parent) {
- if (convertView != null) return convertView;
-
- mHomeControlsLayout = (FrameLayout) LayoutInflater.from(context).inflate(
- R.layout.home_controls, parent, false);
- mHomeControlsLayout.setVisibility(View.VISIBLE);
- parent.addView(mHomeControlsLayout);
-
- mPluginManager.addPluginListener(
- new PluginListener<NPVPlugin>() {
- @Override
- public void onPluginConnected(NPVPlugin plugin,
- Context pluginContext) {
- mPlugin = plugin;
- mPlugin.attachToRoot(mHomeControlsLayout);
- mPlugin.setListening(true);
- }
-
- @Override
- public void onPluginDisconnected(NPVPlugin plugin) {
- mPlugin.setListening(false);
- mHomeControlsLayout.removeAllViews();
-
- }
- }, NPVPlugin.class, false);
- return mHomeControlsLayout;
- }
-
- public Intent getSettingsIntent() {
- return mHomeAppIntent;
- }
-
- public void setToggleState(boolean state) {
-
- }
-
- public int getMetricsCategory() {
- return -1;
- }
-
- public boolean hasHeader() {
- return false;
- }
- }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
index 79a33c926993..573ea4dd85de 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
@@ -29,6 +29,7 @@ import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_WIN
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED;
+import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_TRACING_ENABLED;
import android.annotation.FloatRange;
import android.app.ActivityTaskManager;
@@ -67,6 +68,7 @@ import com.android.systemui.shared.recents.ISystemUiProxy;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.stackdivider.Divider;
+import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NavigationBarController;
import com.android.systemui.statusbar.phone.NavigationBarFragment;
import com.android.systemui.statusbar.phone.NavigationBarView;
@@ -485,7 +487,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
@Inject
- public OverviewProxyService(Context context, DeviceProvisionedController provisionController,
+ public OverviewProxyService(Context context, CommandQueue commandQueue,
+ DeviceProvisionedController provisionController,
NavigationBarController navBarController, NavigationModeController navModeController,
NotificationShadeWindowController statusBarWinController, SysUiState sysUiState,
PipUI pipUI, Optional<Divider> dividerOptional,
@@ -530,6 +533,15 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
// Listen for status bar state changes
statusBarWinController.registerCallback(mStatusBarWindowCallback);
mScreenshotHelper = new ScreenshotHelper(context);
+
+ // Listen for tracing state changes
+ commandQueue.addCallback(new CommandQueue.Callbacks() {
+ @Override
+ public void onTracingStateChanged(boolean enabled) {
+ mSysUiState.setFlag(SYSUI_STATE_TRACING_ENABLED, enabled)
+ .commitUpdate(mContext.getDisplayId());
+ }
+ });
}
public void notifyBackAction(boolean completed, int downX, int downY, boolean isButton,
@@ -573,14 +585,12 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
private void onStatusBarStateChanged(boolean keyguardShowing, boolean keyguardOccluded,
boolean bouncerShowing) {
- int displayId = mContext.getDisplayId();
-
mSysUiState.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
keyguardShowing && !keyguardOccluded)
.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
keyguardShowing && keyguardOccluded)
.setFlag(SYSUI_STATE_BOUNCER_SHOWING, bouncerShowing)
- .commitUpdate(displayId);
+ .commitUpdate(mContext.getDisplayId());
}
/**
@@ -601,10 +611,6 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
}
}
- public float getBackButtonAlpha() {
- return mNavBarButtonAlpha;
- }
-
public void cleanupAfterDeath() {
if (mInputFocusTransferStarted) {
mHandler.post(()-> {
diff --git a/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java b/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java
index de8e6ea4a0cb..7ebebaaef122 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java
@@ -70,6 +70,6 @@ public class TriangleShape extends PathShape {
@Override
public void getOutline(@NonNull Outline outline) {
- outline.setConvexPath(mTriangularPath);
+ outline.setPath(mTriangularPath);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java b/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
index e6082dddd6c7..e7e1ba8c28b4 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/SaveImageInBackgroundTask.java
@@ -106,7 +106,7 @@ class SaveImageInBackgroundTask extends AsyncTask<Void, Void, Void> {
// Initialize screenshot notification smart actions provider.
mSmartActionsEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
- SystemUiDeviceConfigFlags.ENABLE_SCREENSHOT_NOTIFICATION_SMART_ACTIONS, false);
+ SystemUiDeviceConfigFlags.ENABLE_SCREENSHOT_NOTIFICATION_SMART_ACTIONS, true);
if (mSmartActionsEnabled) {
mSmartActionsProvider =
SystemUIFactory.getInstance()
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 3af3701dff97..64f083024ce1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -53,6 +53,7 @@ import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.view.AppearanceRegion;
import com.android.systemui.statusbar.CommandQueue.Callbacks;
import com.android.systemui.statusbar.policy.CallbackController;
+import com.android.systemui.tracing.ProtoTracer;
import java.util.ArrayList;
@@ -123,6 +124,7 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
private static final int MSG_DISMISS_INATTENTIVE_SLEEP_WARNING = 52 << MSG_SHIFT;
private static final int MSG_SHOW_TOAST = 53 << MSG_SHIFT;
private static final int MSG_HIDE_TOAST = 54 << MSG_SHIFT;
+ private static final int MSG_TRACING_STATE_CHANGED = 55 << MSG_SHIFT;
public static final int FLAG_EXCLUDE_NONE = 0;
public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0;
@@ -143,6 +145,7 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
* event.
*/
private int mLastUpdatedImeDisplayId = INVALID_DISPLAY;
+ private ProtoTracer mProtoTracer;
/**
* These methods are called back on the main thread.
@@ -325,9 +328,19 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
* @see IStatusBar#hideToast(String, IBinder) (String, IBinder)
*/
default void hideToast(String packageName, IBinder token) { }
+
+ /**
+ * @param enabled
+ */
+ default void onTracingStateChanged(boolean enabled) { }
}
public CommandQueue(Context context) {
+ this(context, null);
+ }
+
+ public CommandQueue(Context context, ProtoTracer protoTracer) {
+ mProtoTracer = protoTracer;
context.getSystemService(DisplayManager.class).registerDisplayListener(this, mHandler);
// We always have default display.
setDisabled(DEFAULT_DISPLAY, DISABLE_NONE, DISABLE2_NONE);
@@ -917,6 +930,26 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
}
}
+ @Override
+ public void startTracing() {
+ synchronized (mLock) {
+ if (mProtoTracer != null) {
+ mProtoTracer.start();
+ }
+ mHandler.obtainMessage(MSG_TRACING_STATE_CHANGED, true).sendToTarget();
+ }
+ }
+
+ @Override
+ public void stopTracing() {
+ synchronized (mLock) {
+ if (mProtoTracer != null) {
+ mProtoTracer.stop();
+ }
+ mHandler.obtainMessage(MSG_TRACING_STATE_CHANGED, false).sendToTarget();
+ }
+ }
+
private final class H extends Handler {
private H(Looper l) {
super(l);
@@ -1244,6 +1277,11 @@ public class CommandQueue extends IStatusBar.Stub implements CallbackController<
}
break;
}
+ case MSG_TRACING_STATE_CHANGED:
+ for (int i = 0; i < mCallbacks.size(); i++) {
+ mCallbacks.get(i).onTracingStateChanged((Boolean) msg.obj);
+ }
+ break;
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
index 976531d8b49d..12298817d5a6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
@@ -79,6 +79,7 @@ public class NotificationLockscreenUserManagerImpl implements
private final DeviceProvisionedController mDeviceProvisionedController;
private final KeyguardStateController mKeyguardStateController;
+ private final Object mLock = new Object();
// Lazy
private NotificationEntryManager mEntryManager;
@@ -181,6 +182,7 @@ public class NotificationLockscreenUserManagerImpl implements
protected final Context mContext;
private final Handler mMainHandler;
protected final SparseArray<UserInfo> mCurrentProfiles = new SparseArray<>();
+ protected final ArrayList<UserInfo> mCurrentManagedProfiles = new ArrayList<>();
protected int mCurrentUserId = 0;
protected NotificationPresenter mPresenter;
@@ -280,7 +282,8 @@ public class NotificationLockscreenUserManagerImpl implements
filter.addAction(Intent.ACTION_USER_UNLOCKED);
filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
- mBroadcastDispatcher.registerReceiver(mBaseBroadcastReceiver, filter);
+ mBroadcastDispatcher.registerReceiver(mBaseBroadcastReceiver, filter,
+ null /* executor */, UserHandle.ALL);
IntentFilter internalFilter = new IntentFilter();
internalFilter.addAction(NOTIFICATION_UNLOCKED_BY_WORK_CHALLENGE_ACTION);
@@ -300,7 +303,7 @@ public class NotificationLockscreenUserManagerImpl implements
}
public boolean isCurrentProfile(int userId) {
- synchronized (mCurrentProfiles) {
+ synchronized (mLock) {
return userId == UserHandle.USER_ALL || mCurrentProfiles.get(userId) != null;
}
}
@@ -417,6 +420,20 @@ public class NotificationLockscreenUserManagerImpl implements
return mUsersAllowingPrivateNotifications.get(userHandle);
}
+ /**
+ * If all managed profiles (work profiles) can show private data in public (secure & locked.)
+ */
+ public boolean allowsManagedPrivateNotificationsInPublic() {
+ synchronized (mLock) {
+ for (UserInfo profile : mCurrentManagedProfiles) {
+ if (!userAllowsPrivateNotificationsInPublic(profile.id)) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
private boolean adminAllowsKeyguardFeature(int userHandle, int feature) {
if (userHandle == UserHandle.USER_ALL) {
return true;
@@ -495,11 +512,15 @@ public class NotificationLockscreenUserManagerImpl implements
}
private void updateCurrentProfilesCache() {
- synchronized (mCurrentProfiles) {
+ synchronized (mLock) {
mCurrentProfiles.clear();
+ mCurrentManagedProfiles.clear();
if (mUserManager != null) {
for (UserInfo user : mUserManager.getProfiles(mCurrentUserId)) {
mCurrentProfiles.put(user.id, user);
+ if (UserManager.USER_TYPE_PROFILE_MANAGED.equals(user.userType)) {
+ mCurrentManagedProfiles.add(user);
+ }
}
}
}
@@ -510,10 +531,29 @@ public class NotificationLockscreenUserManagerImpl implements
});
}
+ /**
+ * If any of the profiles are in public mode.
+ */
public boolean isAnyProfilePublicMode() {
- for (int i = mCurrentProfiles.size() - 1; i >= 0; i--) {
- if (isLockscreenPublicMode(mCurrentProfiles.valueAt(i).id)) {
- return true;
+ synchronized (mLock) {
+ for (int i = mCurrentProfiles.size() - 1; i >= 0; i--) {
+ if (isLockscreenPublicMode(mCurrentProfiles.valueAt(i).id)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * If any managed/work profiles are in public mode.
+ */
+ public boolean isAnyManagedProfilePublicMode() {
+ synchronized (mLock) {
+ for (int i = mCurrentManagedProfiles.size() - 1; i >= 0; i--) {
+ if (isLockscreenPublicMode(mCurrentManagedProfiles.get(i).id)) {
+ return true;
+ }
}
}
return false;
@@ -620,9 +660,17 @@ public class NotificationLockscreenUserManagerImpl implements
pw.print(" mAllowLockscreenRemoteInput=");
pw.println(mAllowLockscreenRemoteInput);
pw.print(" mCurrentProfiles=");
- for (int i = mCurrentProfiles.size() - 1; i >= 0; i--) {
- final int userId = mCurrentProfiles.valueAt(i).id;
- pw.print("" + userId + " ");
+ synchronized (mLock) {
+ for (int i = mCurrentProfiles.size() - 1; i >= 0; i--) {
+ final int userId = mCurrentProfiles.valueAt(i).id;
+ pw.print("" + userId + " ");
+ }
+ }
+ pw.print(" mCurrentManagedProfiles=");
+ synchronized (mLock) {
+ for (UserInfo userInfo : mCurrentManagedProfiles) {
+ pw.print("" + userInfo.id + " ");
+ }
}
pw.println();
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index 6b0b5dfeaf40..8d4a9efbcd7a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -140,7 +140,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
boolean hideMedia = Utils.useQsMediaPlayer(mContext);
if (ent.isRowDismissed() || ent.isRowRemoved()
|| (ent.isMediaNotification() && hideMedia)
- || mBubbleController.isBubbleNotificationSuppressedFromShade(ent.getKey())) {
+ || mBubbleController.isBubbleNotificationSuppressedFromShade(ent)) {
// we don't want to update removed notifications because they could
// temporarily become children if they were isolated before.
continue;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarDependenciesModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarDependenciesModule.java
index ec8dbead7de2..493482aacce5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarDependenciesModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarDependenciesModule.java
@@ -19,6 +19,8 @@ package com.android.systemui.statusbar;
import android.content.Context;
import com.android.systemui.statusbar.notification.row.NotificationRowModule;
+import com.android.systemui.recents.OverviewProxyService;
+import com.android.systemui.tracing.ProtoTracer;
import javax.inject.Singleton;
@@ -35,8 +37,8 @@ public class StatusBarDependenciesModule {
*/
@Provides
@Singleton
- public CommandQueue provideCommandQueue(Context context) {
- return new CommandQueue(context);
+ public CommandQueue provideCommandQueue(Context context, ProtoTracer protoTracer) {
+ return new CommandQueue(context, protoTracer);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/BypassHeadsUpNotifier.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/BypassHeadsUpNotifier.kt
index 015c32348bb0..269a7a59f1b7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/BypassHeadsUpNotifier.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/BypassHeadsUpNotifier.kt
@@ -43,10 +43,10 @@ class BypassHeadsUpNotifier @Inject constructor(
private val headsUpManager: HeadsUpManagerPhone,
private val notificationLockscreenUserManager: NotificationLockscreenUserManager,
private val mediaManager: NotificationMediaManager,
+ private val entryManager: NotificationEntryManager,
tunerService: TunerService
) : StatusBarStateController.StateListener, NotificationMediaManager.MediaListener {
- private lateinit var entryManager: NotificationEntryManager
private var currentMediaEntry: NotificationEntry? = null
private var enabled = true
@@ -70,8 +70,7 @@ class BypassHeadsUpNotifier @Inject constructor(
}, Settings.Secure.SHOW_MEDIA_WHEN_BYPASSING)
}
- fun setUp(entryManager: NotificationEntryManager) {
- this.entryManager = entryManager
+ fun setUp() {
mediaManager.addCallback(this)
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
index eaa9d78c08f4..7fe229c26f3a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
@@ -16,6 +16,9 @@
package com.android.systemui.statusbar.notification.collection;
+import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_NOT_CANCELED;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.NOT_DISMISSED;
+
import java.util.Arrays;
import java.util.List;
@@ -132,8 +135,20 @@ public class ListDumper {
.append(" ");
}
+ if (notifEntry.mCancellationReason != REASON_NOT_CANCELED) {
+ rksb.append("cancellationReason=")
+ .append(notifEntry.mCancellationReason)
+ .append(" ");
+ }
+
if (notifEntry.hasInflationError()) {
- rksb.append("hasInflationError ");
+ rksb.append("(!)hasInflationError ");
+ }
+
+ if (notifEntry.getDismissState() != NOT_DISMISSED) {
+ rksb.append("dismissState=")
+ .append(notifEntry.getDismissState())
+ .append(" ");
}
String rkString = rksb.toString();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java
index 56ad0e1df36f..b048d032feaf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java
@@ -44,10 +44,11 @@ public abstract class ListEntry {
/**
* Should return the "representative entry" for this ListEntry. For NotificationEntries, its
- * the entry itself. For groups, it should be the summary. This method exists to interface with
+ * the entry itself. For groups, it should be the summary (but if a summary doesn't exist,
+ * this can return null). This method exists to interface with
* legacy code that expects groups to also be NotificationEntries.
*/
- public abstract NotificationEntry getRepresentativeEntry();
+ public abstract @Nullable NotificationEntry getRepresentativeEntry();
@Nullable public GroupEntry getParent() {
return mParent;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
index 86c0d85829b5..3b2fe9441c32 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
@@ -35,16 +35,22 @@ import static android.service.notification.NotificationListenerService.REASON_TI
import static android.service.notification.NotificationListenerService.REASON_UNAUTOBUNDLED;
import static android.service.notification.NotificationListenerService.REASON_USER_STOPPED;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.DISMISSED;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.NOT_DISMISSED;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.PARENT_DISMISSED;
+
+import static java.util.Objects.requireNonNull;
+
import android.annotation.IntDef;
import android.annotation.MainThread;
-import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.RemoteException;
import android.service.notification.NotificationListenerService.Ranking;
import android.service.notification.NotificationListenerService.RankingMap;
import android.service.notification.StatusBarNotification;
import android.util.ArrayMap;
-import android.util.Log;
+
+import androidx.annotation.NonNull;
import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.DumpController;
@@ -56,6 +62,7 @@ import com.android.systemui.statusbar.notification.collection.coalescer.GroupCoa
import com.android.systemui.statusbar.notification.collection.notifcollection.CollectionReadyForBuildListener;
import com.android.systemui.statusbar.notification.collection.notifcollection.DismissedByUserStats;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
+import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionLogger;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
import com.android.systemui.util.Assert;
@@ -92,14 +99,15 @@ import javax.inject.Singleton;
* {@link #addNotificationLifetimeExtender(NotifLifetimeExtender)}).
*
* Interested parties can register listeners
- * ({@link #addCollectionListener(NotifCollectionListener)}) to be informed when notifications are
- * added, updated, or removed.
+ * ({@link #addCollectionListener(NotifCollectionListener)}) to be informed when notifications
+ * events occur.
*/
@MainThread
@Singleton
public class NotifCollection implements Dumpable {
private final IStatusBarService mStatusBarService;
private final FeatureFlags mFeatureFlags;
+ private final NotifCollectionLogger mLogger;
private final Map<String, NotificationEntry> mNotificationSet = new ArrayMap<>();
private final Collection<NotificationEntry> mReadOnlyNotificationSet =
@@ -116,9 +124,11 @@ public class NotifCollection implements Dumpable {
public NotifCollection(
IStatusBarService statusBarService,
DumpController dumpController,
- FeatureFlags featureFlags) {
+ FeatureFlags featureFlags,
+ NotifCollectionLogger logger) {
Assert.isMainThread();
mStatusBarService = statusBarService;
+ mLogger = logger;
dumpController.registerDumpable(TAG, this);
mFeatureFlags = featureFlags;
}
@@ -169,15 +179,65 @@ public class NotifCollection implements Dumpable {
/**
* Dismiss a notification on behalf of the user.
*/
- void dismissNotification(
- NotificationEntry entry,
- @CancellationReason int reason,
- @NonNull DismissedByUserStats stats) {
+ void dismissNotification(NotificationEntry entry, @NonNull DismissedByUserStats stats) {
Assert.isMainThread();
- Objects.requireNonNull(stats);
+ requireNonNull(stats);
checkForReentrantCall();
- removeNotification(entry.getKey(), null, reason, stats);
+ if (entry != mNotificationSet.get(entry.getKey())) {
+ throw new IllegalStateException("Invalid entry: " + entry.getKey());
+ }
+
+ if (entry.getDismissState() == DISMISSED) {
+ return;
+ }
+
+ // Optimistically mark the notification as dismissed -- we'll wait for the signal from
+ // system server before removing it from our notification set.
+ entry.setDismissState(DISMISSED);
+ mLogger.logNotifDismissed(entry.getKey());
+
+ List<NotificationEntry> canceledEntries = new ArrayList<>();
+
+ if (isCanceled(entry)) {
+ canceledEntries.add(entry);
+ } else {
+ // Ask system server to remove it for us
+ try {
+ mStatusBarService.onNotificationClear(
+ entry.getSbn().getPackageName(),
+ entry.getSbn().getTag(),
+ entry.getSbn().getId(),
+ entry.getSbn().getUser().getIdentifier(),
+ entry.getSbn().getKey(),
+ stats.dismissalSurface,
+ stats.dismissalSentiment,
+ stats.notificationVisibility);
+ } catch (RemoteException e) {
+ // system process is dead if we're here.
+ }
+
+ // Also mark any children as dismissed as system server will auto-dismiss them as well
+ if (entry.getSbn().getNotification().isGroupSummary()) {
+ for (NotificationEntry otherEntry : mNotificationSet.values()) {
+ if (otherEntry.getSbn().getGroupKey().equals(entry.getSbn().getGroupKey())
+ && otherEntry.getDismissState() != DISMISSED) {
+ otherEntry.setDismissState(PARENT_DISMISSED);
+ if (isCanceled(otherEntry)) {
+ canceledEntries.add(otherEntry);
+ }
+ }
+ }
+ }
+ }
+
+ // Immediately remove any dismissed notifs that have already been canceled by system server
+ // (probably due to being lifetime-extended up until this point).
+ for (NotificationEntry canceledEntry : canceledEntries) {
+ tryRemoveNotification(canceledEntry);
+ }
+
+ rebuildList();
}
private void onNotificationPosted(StatusBarNotification sbn, RankingMap rankingMap) {
@@ -190,8 +250,8 @@ public class NotifCollection implements Dumpable {
private void onNotificationGroupPosted(List<CoalescedEvent> batch) {
Assert.isMainThread();
- Log.d(TAG, "POSTED GROUP " + batch.get(0).getSbn().getGroupKey()
- + " (" + batch.size() + " events)");
+ mLogger.logNotifGroupPosted(batch.get(0).getSbn().getGroupKey(), batch.size());
+
for (CoalescedEvent event : batch) {
postNotification(event.getSbn(), event.getRanking(), null);
}
@@ -204,13 +264,22 @@ public class NotifCollection implements Dumpable {
int reason) {
Assert.isMainThread();
- Log.d(TAG, "REMOVED " + sbn.getKey() + " reason=" + reason);
- removeNotification(sbn.getKey(), rankingMap, reason, null);
+ mLogger.logNotifRemoved(sbn.getKey(), reason);
+
+ final NotificationEntry entry = mNotificationSet.get(sbn.getKey());
+ if (entry == null) {
+ throw new IllegalStateException("No notification to remove with key " + sbn.getKey());
+ }
+ entry.mCancellationReason = reason;
+ applyRanking(rankingMap);
+ tryRemoveNotification(entry);
+ rebuildList();
}
private void onNotificationRankingUpdate(RankingMap rankingMap) {
Assert.isMainThread();
applyRanking(rankingMap);
+ dispatchNotificationRankingUpdate(rankingMap);
rebuildList();
}
@@ -222,10 +291,12 @@ public class NotifCollection implements Dumpable {
if (entry == null) {
// A new notification!
- Log.d(TAG, "POSTED " + sbn.getKey());
+ mLogger.logNotifPosted(sbn.getKey());
entry = new NotificationEntry(sbn, ranking);
mNotificationSet.put(sbn.getKey(), entry);
+ dispatchOnEntryInit(entry);
+
if (rankingMap != null) {
applyRanking(rankingMap);
}
@@ -234,11 +305,14 @@ public class NotifCollection implements Dumpable {
} else {
// Update to an existing entry
- Log.d(TAG, "UPDATED " + sbn.getKey());
+ mLogger.logNotifUpdated(sbn.getKey());
+
+ cancelLocalDismissal(entry);
- // Notification is updated so it is essentially re-added and thus alive again. Don't
+ // Notification is updated so it is essentially re-added and thus alive again. Don't
// need to keep its lifetime extended.
cancelLifetimeExtension(entry);
+ entry.mCancellationReason = REASON_NOT_CANCELED;
entry.setSbn(sbn);
if (rankingMap != null) {
@@ -249,70 +323,62 @@ public class NotifCollection implements Dumpable {
}
}
- private void removeNotification(
- String key,
- @Nullable RankingMap rankingMap,
- @CancellationReason int reason,
- @Nullable DismissedByUserStats dismissedByUserStats) {
+ /**
+ * Tries to remove a notification from the notification set. This removal may be blocked by
+ * lifetime extenders. Does not trigger a rebuild of the list; caller must do that manually.
+ *
+ * @return True if the notification was removed, false otherwise.
+ */
+ private boolean tryRemoveNotification(NotificationEntry entry) {
+ if (mNotificationSet.get(entry.getKey()) != entry) {
+ throw new IllegalStateException("No notification to remove with key " + entry.getKey());
+ }
- NotificationEntry entry = mNotificationSet.get(key);
- if (entry == null) {
- throw new IllegalStateException("No notification to remove with key " + key);
+ if (!isCanceled(entry)) {
+ throw new IllegalStateException("Cannot remove notification " + entry.getKey()
+ + ": has not been marked for removal");
}
- entry.mLifetimeExtenders.clear();
- mAmDispatchingToOtherCode = true;
- for (NotifLifetimeExtender extender : mLifetimeExtenders) {
- if (extender.shouldExtendLifetime(entry, reason)) {
- entry.mLifetimeExtenders.add(extender);
- }
+ if (isDismissedByUser(entry)) {
+ // User-dismissed notifications cannot be lifetime-extended
+ cancelLifetimeExtension(entry);
+ } else {
+ updateLifetimeExtension(entry);
}
- mAmDispatchingToOtherCode = false;
if (!isLifetimeExtended(entry)) {
mNotificationSet.remove(entry.getKey());
-
- if (dismissedByUserStats != null) {
- try {
- mStatusBarService.onNotificationClear(
- entry.getSbn().getPackageName(),
- entry.getSbn().getTag(),
- entry.getSbn().getId(),
- entry.getSbn().getUser().getIdentifier(),
- entry.getSbn().getKey(),
- dismissedByUserStats.dismissalSurface,
- dismissedByUserStats.dismissalSentiment,
- dismissedByUserStats.notificationVisibility);
- } catch (RemoteException e) {
- // system process is dead if we're here.
- }
- }
-
- if (rankingMap != null) {
- applyRanking(rankingMap);
- }
-
- dispatchOnEntryRemoved(entry, reason, dismissedByUserStats != null /* removedByUser */);
+ dispatchOnEntryRemoved(entry, entry.mCancellationReason);
+ dispatchOnEntryCleanUp(entry);
+ return true;
+ } else {
+ return false;
}
-
- rebuildList();
}
private void applyRanking(@NonNull RankingMap rankingMap) {
for (NotificationEntry entry : mNotificationSet.values()) {
- if (!isLifetimeExtended(entry)) {
- Ranking ranking = requireRanking(rankingMap, entry.getKey());
- entry.setRanking(ranking);
-
- // TODO: (b/145659174) update the sbn's overrideGroupKey in
- // NotificationEntry.setRanking instead of here once we fully migrate to the
- // NewNotifPipeline
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
- final String newOverrideGroupKey = ranking.getOverrideGroupKey();
- if (!Objects.equals(entry.getSbn().getOverrideGroupKey(),
- newOverrideGroupKey)) {
- entry.getSbn().setOverrideGroupKey(newOverrideGroupKey);
+ if (!isCanceled(entry)) {
+
+ // TODO: (b/148791039) We should crash if we are ever handed a ranking with
+ // incomplete entries. Right now, there's a race condition in NotificationListener
+ // that means this might occur when SystemUI is starting up.
+ Ranking ranking = new Ranking();
+ if (rankingMap.getRanking(entry.getKey(), ranking)) {
+ entry.setRanking(ranking);
+
+ // TODO: (b/145659174) update the sbn's overrideGroupKey in
+ // NotificationEntry.setRanking instead of here once we fully migrate to the
+ // NewNotifPipeline
+ if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ final String newOverrideGroupKey = ranking.getOverrideGroupKey();
+ if (!Objects.equals(entry.getSbn().getOverrideGroupKey(),
+ newOverrideGroupKey)) {
+ entry.getSbn().setOverrideGroupKey(newOverrideGroupKey);
+ }
}
+ } else {
+ mLogger.logRankingMissing(entry.getKey(), rankingMap);
}
}
}
@@ -340,9 +406,9 @@ public class NotifCollection implements Dumpable {
}
if (!isLifetimeExtended(entry)) {
- // TODO: This doesn't need to be undefined -- we can set either EXTENDER_EXPIRED or
- // save the original reason
- removeNotification(entry.getKey(), null, REASON_UNKNOWN, null);
+ if (tryRemoveNotification(entry)) {
+ rebuildList();
+ }
}
}
@@ -359,6 +425,31 @@ public class NotifCollection implements Dumpable {
return entry.mLifetimeExtenders.size() > 0;
}
+ private void updateLifetimeExtension(NotificationEntry entry) {
+ entry.mLifetimeExtenders.clear();
+ mAmDispatchingToOtherCode = true;
+ for (NotifLifetimeExtender extender : mLifetimeExtenders) {
+ if (extender.shouldExtendLifetime(entry, entry.mCancellationReason)) {
+ entry.mLifetimeExtenders.add(extender);
+ }
+ }
+ mAmDispatchingToOtherCode = false;
+ }
+
+ private void cancelLocalDismissal(NotificationEntry entry) {
+ if (isDismissedByUser(entry)) {
+ entry.setDismissState(NOT_DISMISSED);
+ if (entry.getSbn().getNotification().isGroupSummary()) {
+ for (NotificationEntry otherEntry : mNotificationSet.values()) {
+ if (otherEntry.getSbn().getGroupKey().equals(entry.getSbn().getGroupKey())
+ && otherEntry.getDismissState() == PARENT_DISMISSED) {
+ otherEntry.setDismissState(NOT_DISMISSED);
+ }
+ }
+ }
+ }
+ }
+
private void checkForReentrantCall() {
if (mAmDispatchingToOtherCode) {
throw new IllegalStateException("Reentrant call detected");
@@ -374,6 +465,27 @@ public class NotifCollection implements Dumpable {
return ranking;
}
+ /**
+ * True if the notification has been canceled by system server. Usually, such notifications are
+ * immediately removed from the collection, but can sometimes stick around due to lifetime
+ * extenders.
+ */
+ private static boolean isCanceled(NotificationEntry entry) {
+ return entry.mCancellationReason != REASON_NOT_CANCELED;
+ }
+
+ private static boolean isDismissedByUser(NotificationEntry entry) {
+ return entry.getDismissState() != NOT_DISMISSED;
+ }
+
+ private void dispatchOnEntryInit(NotificationEntry entry) {
+ mAmDispatchingToOtherCode = true;
+ for (NotifCollectionListener listener : mNotifCollectionListeners) {
+ listener.onEntryInit(entry);
+ }
+ mAmDispatchingToOtherCode = false;
+ }
+
private void dispatchOnEntryAdded(NotificationEntry entry) {
mAmDispatchingToOtherCode = true;
for (NotifCollectionListener listener : mNotifCollectionListeners) {
@@ -390,17 +502,44 @@ public class NotifCollection implements Dumpable {
mAmDispatchingToOtherCode = false;
}
- private void dispatchOnEntryRemoved(
- NotificationEntry entry,
- @CancellationReason int reason,
- boolean removedByUser) {
+ private void dispatchNotificationRankingUpdate(RankingMap map) {
mAmDispatchingToOtherCode = true;
for (NotifCollectionListener listener : mNotifCollectionListeners) {
- listener.onEntryRemoved(entry, reason, removedByUser);
+ listener.onRankingUpdate(map);
}
mAmDispatchingToOtherCode = false;
}
+ private void dispatchOnEntryRemoved(NotificationEntry entry, @CancellationReason int reason) {
+ mAmDispatchingToOtherCode = true;
+ for (NotifCollectionListener listener : mNotifCollectionListeners) {
+ listener.onEntryRemoved(entry, reason);
+ }
+ mAmDispatchingToOtherCode = false;
+ }
+
+ private void dispatchOnEntryCleanUp(NotificationEntry entry) {
+ mAmDispatchingToOtherCode = true;
+ for (NotifCollectionListener listener : mNotifCollectionListeners) {
+ listener.onEntryCleanUp(entry);
+ }
+ mAmDispatchingToOtherCode = false;
+ }
+ @Override
+ public void dump(@NonNull FileDescriptor fd, PrintWriter pw, @NonNull String[] args) {
+ final List<NotificationEntry> entries = new ArrayList<>(getActiveNotifs());
+
+ pw.println("\t" + TAG + " unsorted/unfiltered notifications:");
+ if (entries.size() == 0) {
+ pw.println("\t\t None");
+ }
+ pw.println(
+ ListDumper.dumpList(
+ entries,
+ true,
+ "\t\t"));
+ }
+
private final BatchableNotificationHandler mNotifHandler = new BatchableNotificationHandler() {
@Override
public void onNotificationPosted(StatusBarNotification sbn, RankingMap rankingMap) {
@@ -455,20 +594,6 @@ public class NotifCollection implements Dumpable {
@Retention(RetentionPolicy.SOURCE)
public @interface CancellationReason {}
+ public static final int REASON_NOT_CANCELED = -1;
public static final int REASON_UNKNOWN = 0;
-
- @Override
- public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- final List<NotificationEntry> entries = new ArrayList<>(getActiveNotifs());
-
- pw.println("\t" + TAG + " unsorted/unfiltered notifications:");
- if (entries.size() == 0) {
- pw.println("\t\t None");
- }
- pw.println(
- ListDumper.dumpList(
- entries,
- true,
- "\t\t"));
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifInflaterImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifInflaterImpl.java
index e7b772f1c7b2..7a6d4f1c7d7b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifInflaterImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifInflaterImpl.java
@@ -98,13 +98,12 @@ public class NotifInflaterImpl implements NotifInflater {
@Override
public void run() {
int dismissalSurface = NotificationStats.DISMISSAL_SHADE;
- /**
+ /*
* TODO: determine dismissal surface (ie: shade / headsup / aod)
* see {@link NotificationLogger#logNotificationClear}
*/
mNotifCollection.dismissNotification(
entry,
- 0,
new DismissedByUserStats(
dismissalSurface,
DISMISS_SENTIMENT_NEUTRAL,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifPipeline.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifPipeline.java
index 0377f57a7a9c..9142388374e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifPipeline.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifPipeline.java
@@ -90,7 +90,8 @@ public class NotifPipeline {
}
/**
- * Registers a listener to be informed when notifications are added, removed or updated.
+ * Registers a listener to be informed when there is a notification entry event such as an add,
+ * update, or remove.
*/
public void addCollectionListener(NotifCollectionListener listener) {
mNotifCollection.addCollectionListener(listener);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
index 1f77ec229041..a95668b5e48d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
@@ -29,9 +29,11 @@ import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICAT
import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_NOT_CANCELED;
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManager.BUCKET_ALERTING;
-import android.annotation.NonNull;
+import static java.util.Objects.requireNonNull;
+
import android.app.Notification;
import android.app.Notification.MessagingStyle.Message;
import android.app.NotificationChannel;
@@ -50,6 +52,7 @@ import android.util.ArraySet;
import android.view.View;
import android.widget.ImageView;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting;
@@ -59,6 +62,7 @@ import com.android.internal.util.ContrastColorUtil;
import com.android.systemui.statusbar.InflationTask;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.notification.InflationException;
+import com.android.systemui.statusbar.notification.collection.NotifCollection.CancellationReason;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifPromoter;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
@@ -105,9 +109,18 @@ public final class NotificationEntry extends ListEntry {
/** If this was a group child that was promoted to the top level, then who did the promoting. */
@Nullable NotifPromoter mNotifPromoter;
- /** If this notification had an issue with inflating. Only used with the NewNotifPipeline **/
+ /**
+ * If this notification was cancelled by system server, then the reason that was supplied.
+ * Uncancelled notifications always have REASON_NOT_CANCELED. Note that lifetime-extended
+ * notifications will have this set even though they are still in the active notification set.
+ */
+ @CancellationReason int mCancellationReason = REASON_NOT_CANCELED;
+
+ /** @see #hasInflationError() */
private boolean mHasInflationError;
+ /** @see #getDismissState() */
+ @NonNull private DismissState mDismissState = DismissState.NOT_DISMISSED;
/*
* Old members
@@ -169,9 +182,9 @@ public final class NotificationEntry extends ListEntry {
public NotificationEntry(
@NonNull StatusBarNotification sbn,
@NonNull Ranking ranking) {
- super(Objects.requireNonNull(Objects.requireNonNull(sbn).getKey()));
+ super(requireNonNull(requireNonNull(sbn).getKey()));
- Objects.requireNonNull(ranking);
+ requireNonNull(ranking);
mKey = sbn.getKey();
setSbn(sbn);
@@ -201,8 +214,8 @@ public final class NotificationEntry extends ListEntry {
* TODO: Make this package-private
*/
public void setSbn(@NonNull StatusBarNotification sbn) {
- Objects.requireNonNull(sbn);
- Objects.requireNonNull(sbn.getKey());
+ requireNonNull(sbn);
+ requireNonNull(sbn.getKey());
if (!sbn.getKey().equals(mKey)) {
throw new IllegalArgumentException("New key " + sbn.getKey()
@@ -227,8 +240,8 @@ public final class NotificationEntry extends ListEntry {
* TODO: Make this package-private
*/
public void setRanking(@NonNull Ranking ranking) {
- Objects.requireNonNull(ranking);
- Objects.requireNonNull(ranking.getKey());
+ requireNonNull(ranking);
+ requireNonNull(ranking.getKey());
if (!ranking.getKey().equals(mKey)) {
throw new IllegalArgumentException("New key " + ranking.getKey()
@@ -239,6 +252,34 @@ public final class NotificationEntry extends ListEntry {
}
/*
+ * Bookkeeping getters and setters
+ */
+
+ /**
+ * Whether this notification had an error when attempting to inflate. This is only used in
+ * the NewNotifPipeline
+ */
+ public boolean hasInflationError() {
+ return mHasInflationError;
+ }
+
+ void setHasInflationError(boolean hasError) {
+ mHasInflationError = hasError;
+ }
+
+ /**
+ * Set if the user has dismissed this notif but we haven't yet heard back from system server to
+ * confirm the dismissal.
+ */
+ @NonNull public DismissState getDismissState() {
+ return mDismissState;
+ }
+
+ void setDismissState(@NonNull DismissState dismissState) {
+ mDismissState = requireNonNull(dismissState);
+ }
+
+ /*
* Convenience getters for SBN and Ranking members
*/
@@ -275,7 +316,6 @@ public final class NotificationEntry extends ListEntry {
return mRanking.canBubble();
}
-
public @NonNull List<Notification.Action> getSmartActions() {
return mRanking.getSmartActions();
}
@@ -578,18 +618,6 @@ public final class NotificationEntry extends ListEntry {
remoteInputTextWhenReset = null;
}
- void setHasInflationError(boolean hasError) {
- mHasInflationError = hasError;
- }
-
- /**
- * Whether this notification had an error when attempting to inflate. This is only used in
- * the NewNotifPipeline
- */
- public boolean hasInflationError() {
- return mHasInflationError;
- }
-
public void setHasSentReply() {
hasSentReply = true;
}
@@ -974,6 +1002,16 @@ public final class NotificationEntry extends ListEntry {
}
}
+ /** @see #getDismissState() */
+ public enum DismissState {
+ /** User has not dismissed this notif or its parent */
+ NOT_DISMISSED,
+ /** User has dismissed this notif specifically */
+ DISMISSED,
+ /** User has dismissed this notif's parent (which implicitly dismisses this one as well) */
+ PARENT_DISMISSED,
+ }
+
private static final long LAUNCH_COOLDOWN = 2000;
private static final long REMOTE_INPUT_COOLDOWN = 500;
private static final long INITIALIZATION_DELAY = 400;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java
index 97f8ec5f5bb7..be5c535b7f47 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java
@@ -32,19 +32,20 @@ import android.annotation.Nullable;
import android.util.ArrayMap;
import android.util.Pair;
+import androidx.annotation.NonNull;
+
import com.android.systemui.DumpController;
import com.android.systemui.Dumpable;
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener;
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeSortListener;
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeTransformGroupsListener;
import com.android.systemui.statusbar.notification.collection.listbuilder.PipelineState;
+import com.android.systemui.statusbar.notification.collection.listbuilder.ShadeListBuilderLogger;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifComparator;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifPromoter;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSection;
import com.android.systemui.statusbar.notification.collection.notifcollection.CollectionReadyForBuildListener;
-import com.android.systemui.statusbar.notification.logging.NotifEvent;
-import com.android.systemui.statusbar.notification.logging.NotifLog;
import com.android.systemui.util.Assert;
import com.android.systemui.util.time.SystemClock;
@@ -69,7 +70,7 @@ import javax.inject.Singleton;
@Singleton
public class ShadeListBuilder implements Dumpable {
private final SystemClock mSystemClock;
- private final NotifLog mNotifLog;
+ private final ShadeListBuilderLogger mLogger;
private List<ListEntry> mNotifList = new ArrayList<>();
private List<ListEntry> mNewNotifList = new ArrayList<>();
@@ -93,16 +94,17 @@ public class ShadeListBuilder implements Dumpable {
new ArrayList<>();
@Nullable private OnRenderListListener mOnRenderListListener;
- private final List<ListEntry> mReadOnlyNotifList = Collections.unmodifiableList(mNotifList);
+ private List<ListEntry> mReadOnlyNotifList = Collections.unmodifiableList(mNotifList);
+ private List<ListEntry> mReadOnlyNewNotifList = Collections.unmodifiableList(mNewNotifList);
@Inject
public ShadeListBuilder(
SystemClock systemClock,
- NotifLog notifLog,
+ ShadeListBuilderLogger logger,
DumpController dumpController) {
Assert.isMainThread();
mSystemClock = systemClock;
- mNotifLog = notifLog;
+ mLogger = logger;
dumpController.registerDumpable(TAG, this);
}
@@ -205,8 +207,7 @@ public class ShadeListBuilder implements Dumpable {
Assert.isMainThread();
mPipelineState.requireIsBefore(STATE_BUILD_STARTED);
- mNotifLog.log(NotifEvent.ON_BUILD_LIST, "Request received from "
- + "NotifCollection");
+ mLogger.logOnBuildList();
mAllEntries = entries;
buildList();
}
@@ -215,21 +216,15 @@ public class ShadeListBuilder implements Dumpable {
private void onPreGroupFilterInvalidated(NotifFilter filter) {
Assert.isMainThread();
- mNotifLog.log(NotifEvent.PRE_GROUP_FILTER_INVALIDATED, String.format(
- "Filter \"%s\" invalidated; pipeline state is %d",
- filter.getName(),
- mPipelineState.getState()));
+ mLogger.logPreGroupFilterInvalidated(filter.getName(), mPipelineState.getState());
rebuildListIfBefore(STATE_PRE_GROUP_FILTERING);
}
- private void onPromoterInvalidated(NotifPromoter filter) {
+ private void onPromoterInvalidated(NotifPromoter promoter) {
Assert.isMainThread();
- mNotifLog.log(NotifEvent.PROMOTER_INVALIDATED, String.format(
- "NotifPromoter \"%s\" invalidated; pipeline state is %d",
- filter.getName(),
- mPipelineState.getState()));
+ mLogger.logPromoterInvalidated(promoter.getName(), mPipelineState.getState());
rebuildListIfBefore(STATE_TRANSFORMING);
}
@@ -237,10 +232,7 @@ public class ShadeListBuilder implements Dumpable {
private void onNotifSectionInvalidated(NotifSection section) {
Assert.isMainThread();
- mNotifLog.log(NotifEvent.SECTION_INVALIDATED, String.format(
- "Section \"%s\" invalidated; pipeline state is %d",
- section.getName(),
- mPipelineState.getState()));
+ mLogger.logNotifSectionInvalidated(section.getName(), mPipelineState.getState());
rebuildListIfBefore(STATE_SORTING);
}
@@ -248,10 +240,7 @@ public class ShadeListBuilder implements Dumpable {
private void onPreRenderFilterInvalidated(NotifFilter filter) {
Assert.isMainThread();
- mNotifLog.log(NotifEvent.PRE_RENDER_FILTER_INVALIDATED, String.format(
- "Filter \"%s\" invalidated; pipeline state is %d",
- filter.getName(),
- mPipelineState.getState()));
+ mLogger.logPreRenderFilterInvalidated(filter.getName(), mPipelineState.getState());
rebuildListIfBefore(STATE_PRE_RENDER_FILTERING);
}
@@ -259,26 +248,12 @@ public class ShadeListBuilder implements Dumpable {
private void onNotifComparatorInvalidated(NotifComparator comparator) {
Assert.isMainThread();
- mNotifLog.log(NotifEvent.COMPARATOR_INVALIDATED, String.format(
- "Comparator \"%s\" invalidated; pipeline state is %d",
- comparator.getName(),
- mPipelineState.getState()));
+ mLogger.logNotifComparatorInvalidated(comparator.getName(), mPipelineState.getState());
rebuildListIfBefore(STATE_SORTING);
}
/**
- * Points mNotifList to the list stored in mNewNotifList.
- * Reuses the (emptied) mNotifList as mNewNotifList.
- */
- private void applyNewNotifList() {
- mNotifList.clear();
- List<ListEntry> emptyList = mNotifList;
- mNotifList = mNewNotifList;
- mNewNotifList = emptyList;
- }
-
- /**
* The core algorithm of the pipeline. See the top comment in {@link NotifPipeline} for
* details on our contracts with other code.
*
@@ -288,7 +263,7 @@ public class ShadeListBuilder implements Dumpable {
* if we detect that behavior, we should crash instantly.
*/
private void buildList() {
- mNotifLog.log(NotifEvent.START_BUILD_LIST, "Run #" + mIterationCount + "...");
+ mLogger.logStartBuildList(mIterationCount);
mPipelineState.requireIsBefore(STATE_BUILD_STARTED);
mPipelineState.setState(STATE_BUILD_STARTED);
@@ -334,20 +309,37 @@ public class ShadeListBuilder implements Dumpable {
freeEmptyGroups();
// Step 6: Dispatch the new list, first to any listeners and then to the view layer
- mNotifLog.log(NotifEvent.DISPATCH_FINAL_LIST, "List finalized, is:\n"
- + ListDumper.dumpTree(mNotifList, false, "\t\t"));
+ if (mIterationCount % 10 == 0) {
+ mLogger.logFinalList(mNotifList);
+ }
dispatchOnBeforeRenderList(mReadOnlyNotifList);
if (mOnRenderListListener != null) {
mOnRenderListListener.onRenderList(mReadOnlyNotifList);
}
// Step 7: We're done!
- mNotifLog.log(NotifEvent.LIST_BUILD_COMPLETE,
- "Notif list build #" + mIterationCount + " completed");
+ mLogger.logEndBuildList(mIterationCount);
mPipelineState.setState(STATE_IDLE);
mIterationCount++;
}
+ /**
+ * Points mNotifList to the list stored in mNewNotifList.
+ * Reuses the (emptied) mNotifList as mNewNotifList.
+ *
+ * Accordingly, updates the ReadOnlyNotifList pointers.
+ */
+ private void applyNewNotifList() {
+ mNotifList.clear();
+ List<ListEntry> emptyList = mNotifList;
+ mNotifList = mNewNotifList;
+ mNewNotifList = emptyList;
+
+ List<ListEntry> readOnlyNotifList = mReadOnlyNotifList;
+ mReadOnlyNotifList = mReadOnlyNewNotifList;
+ mReadOnlyNewNotifList = readOnlyNotifList;
+ }
+
private void resetNotifs() {
for (GroupEntry group : mGroups.values()) {
group.setPreviousParent(group.getParent());
@@ -429,11 +421,10 @@ public class ShadeListBuilder implements Dumpable {
if (existingSummary == null) {
group.setSummary(entry);
} else {
- mNotifLog.log(NotifEvent.WARN, String.format(
- "Duplicate summary for group '%s': '%s' vs. '%s'",
+ mLogger.logDuplicateSummary(
group.getKey(),
existingSummary.getKey(),
- entry.getKey()));
+ entry.getKey());
// Use whichever one was posted most recently
if (entry.getSbn().getPostTime()
@@ -452,8 +443,7 @@ public class ShadeListBuilder implements Dumpable {
final String topLevelKey = entry.getKey();
if (mGroups.containsKey(topLevelKey)) {
- mNotifLog.log(NotifEvent.WARN,
- "Duplicate non-group top-level key: " + topLevelKey);
+ mLogger.logDuplicateTopLevelKey(topLevelKey);
} else {
entry.setParent(ROOT_ENTRY);
out.add(entry);
@@ -617,24 +607,22 @@ public class ShadeListBuilder implements Dumpable {
private void logParentingChanges() {
for (NotificationEntry entry : mAllEntries) {
if (entry.getParent() != entry.getPreviousParent()) {
- mNotifLog.log(NotifEvent.PARENT_CHANGED, String.format(
- "%s: parent changed from %s to %s",
+ mLogger.logParentChanged(
entry.getKey(),
entry.getPreviousParent() == null
- ? "null" : entry.getPreviousParent().getKey(),
+ ? null : entry.getPreviousParent().getKey(),
entry.getParent() == null
- ? "null" : entry.getParent().getKey()));
+ ? null : entry.getParent().getKey());
}
}
for (GroupEntry group : mGroups.values()) {
if (group.getParent() != group.getPreviousParent()) {
- mNotifLog.log(NotifEvent.PARENT_CHANGED, String.format(
- "%s: parent changed from %s to %s",
+ mLogger.logParentChanged(
group.getKey(),
group.getPreviousParent() == null
- ? "null" : group.getPreviousParent().getKey(),
+ ? null : group.getPreviousParent().getKey(),
group.getParent() == null
- ? "null" : group.getParent().getKey()));
+ ? null : group.getParent().getKey());
}
}
}
@@ -684,23 +672,10 @@ public class ShadeListBuilder implements Dumpable {
NotifFilter filter = findRejectingFilter(entry, now, filters);
if (filter != entry.mExcludingFilter) {
- if (entry.mExcludingFilter == null) {
- mNotifLog.log(NotifEvent.FILTER_CHANGED, String.format(
- "%s: filtered out by '%s'",
- entry.getKey(),
- filter.getName()));
- } else if (filter == null) {
- mNotifLog.log(NotifEvent.FILTER_CHANGED, String.format(
- "%s: no longer filtered out (previous filter was '%s')",
- entry.getKey(),
- entry.mExcludingFilter.getName()));
- } else {
- mNotifLog.log(NotifEvent.FILTER_CHANGED, String.format(
- "%s: filter changed: '%s' -> '%s'",
- entry.getKey(),
- entry.mExcludingFilter,
- filter));
- }
+ mLogger.logFilterChanged(
+ entry.getKey(),
+ entry.mExcludingFilter != null ? entry.mExcludingFilter.getName() : null,
+ filter != null ? filter.getName() : null);
// Note that groups and summaries can also be filtered out later if they're part of a
// malformed group. We currently don't have a great way to track that beyond parenting
@@ -728,23 +703,10 @@ public class ShadeListBuilder implements Dumpable {
NotifPromoter promoter = findPromoter(entry);
if (promoter != entry.mNotifPromoter) {
- if (entry.mNotifPromoter == null) {
- mNotifLog.log(NotifEvent.PROMOTER_CHANGED, String.format(
- "%s: Entry promoted to top level by '%s'",
- entry.getKey(),
- promoter.getName()));
- } else if (promoter == null) {
- mNotifLog.log(NotifEvent.PROMOTER_CHANGED, String.format(
- "%s: Entry is no longer promoted to top level (previous promoter was '%s')",
- entry.getKey(),
- entry.mNotifPromoter.getName()));
- } else {
- mNotifLog.log(NotifEvent.PROMOTER_CHANGED, String.format(
- "%s: Top-level promoter changed: '%s' -> '%s'",
- entry.getKey(),
- entry.mNotifPromoter,
- promoter));
- }
+ mLogger.logPromoterChanged(
+ entry.getKey(),
+ entry.mNotifPromoter != null ? entry.mNotifPromoter.getName() : null,
+ promoter != null ? promoter.getName() : null);
entry.mNotifPromoter = promoter;
}
@@ -767,21 +729,12 @@ public class ShadeListBuilder implements Dumpable {
final Integer sectionIndex = sectionWithIndex.second;
if (section != entry.mNotifSection) {
- if (entry.mNotifSection == null) {
- mNotifLog.log(NotifEvent.SECTION_CHANGED, String.format(
- "%s: sectioned by '%s' [index=%d].",
- entry.getKey(),
- section.getName(),
- sectionIndex));
- } else {
- mNotifLog.log(NotifEvent.SECTION_CHANGED, String.format(
- "%s: section changed: '%s' [index=%d] -> '%s [index=%d]'.",
- entry.getKey(),
- entry.mNotifSection,
- entry.getSection(),
- section,
- sectionIndex));
- }
+ mLogger.logSectionChanged(
+ entry.getKey(),
+ entry.mNotifSection != null ? entry.mNotifSection.getName() : null,
+ entry.getSection(),
+ section.getName(),
+ sectionIndex);
entry.mNotifSection = section;
entry.setSection(sectionIndex);
@@ -826,7 +779,7 @@ public class ShadeListBuilder implements Dumpable {
}
@Override
- public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ public void dump(@NonNull FileDescriptor fd, PrintWriter pw, @NonNull String[] args) {
pw.println("\t" + TAG + " shade notifications:");
if (getShadeList().size() == 0) {
pw.println("\t\t None");
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescer.java
index f5890386a14f..98c45ffd6afb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescer.java
@@ -16,11 +16,6 @@
package com.android.systemui.statusbar.notification.collection.coalescer;
-import static com.android.systemui.statusbar.notification.logging.NotifEvent.BATCH_MAX_TIMEOUT;
-import static com.android.systemui.statusbar.notification.logging.NotifEvent.COALESCED_EVENT;
-import static com.android.systemui.statusbar.notification.logging.NotifEvent.EARLY_BATCH_EMIT;
-import static com.android.systemui.statusbar.notification.logging.NotifEvent.EMIT_EVENT_BATCH;
-
import static java.util.Objects.requireNonNull;
import android.annotation.MainThread;
@@ -35,7 +30,6 @@ import com.android.systemui.Dumpable;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationListener.NotificationHandler;
-import com.android.systemui.statusbar.notification.logging.NotifLog;
import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.time.SystemClock;
@@ -71,7 +65,7 @@ import javax.inject.Inject;
public class GroupCoalescer implements Dumpable {
private final DelayableExecutor mMainExecutor;
private final SystemClock mClock;
- private final NotifLog mLog;
+ private final GroupCoalescerLogger mLogger;
private final long mMinGroupLingerDuration;
private final long mMaxGroupLingerDuration;
@@ -83,8 +77,9 @@ public class GroupCoalescer implements Dumpable {
@Inject
public GroupCoalescer(
@Main DelayableExecutor mainExecutor,
- SystemClock clock, NotifLog log) {
- this(mainExecutor, clock, log, MIN_GROUP_LINGER_DURATION, MAX_GROUP_LINGER_DURATION);
+ SystemClock clock,
+ GroupCoalescerLogger logger) {
+ this(mainExecutor, clock, logger, MIN_GROUP_LINGER_DURATION, MAX_GROUP_LINGER_DURATION);
}
/**
@@ -98,12 +93,12 @@ public class GroupCoalescer implements Dumpable {
GroupCoalescer(
@Main DelayableExecutor mainExecutor,
SystemClock clock,
- NotifLog log,
+ GroupCoalescerLogger logger,
long minGroupLingerDuration,
long maxGroupLingerDuration) {
mMainExecutor = mainExecutor;
mClock = clock;
- mLog = log;
+ mLogger = logger;
mMinGroupLingerDuration = minGroupLingerDuration;
mMaxGroupLingerDuration = maxGroupLingerDuration;
}
@@ -129,7 +124,7 @@ public class GroupCoalescer implements Dumpable {
final boolean shouldCoalesce = handleNotificationPosted(sbn, rankingMap);
if (shouldCoalesce) {
- mLog.log(COALESCED_EVENT, String.format("Coalesced notification %s", sbn.getKey()));
+ mLogger.logEventCoalesced(sbn.getKey());
mHandler.onNotificationRankingUpdate(rankingMap);
} else {
mHandler.onNotificationPosted(sbn, rankingMap);
@@ -164,15 +159,11 @@ public class GroupCoalescer implements Dumpable {
final CoalescedEvent event = mCoalescedEvents.get(sbn.getKey());
final EventBatch batch = mBatches.get(sbn.getGroupKey());
if (event != null) {
- mLog.log(EARLY_BATCH_EMIT,
- String.format("Modification of %s triggered early emit of batched group %s",
- sbn.getKey(), requireNonNull(event.getBatch()).mGroupKey));
+ mLogger.logEarlyEmit(sbn.getKey(), requireNonNull(event.getBatch()).mGroupKey);
emitBatch(requireNonNull(event.getBatch()));
} else if (batch != null
&& mClock.uptimeMillis() - batch.mCreatedTimestamp >= mMaxGroupLingerDuration) {
- mLog.log(BATCH_MAX_TIMEOUT,
- String.format("Modification of %s triggered timeout emit of batched group %s",
- sbn.getKey(), batch.mGroupKey));
+ mLogger.logMaxBatchTimeout(sbn.getKey(), batch.mGroupKey);
emitBatch(batch);
}
}
@@ -253,7 +244,7 @@ public class GroupCoalescer implements Dumpable {
}
events.sort(mEventComparator);
- mLog.log(EMIT_EVENT_BATCH, "Emitting event batch for group " + batch.mGroupKey);
+ mLogger.logEmitBatch(batch.mGroupKey);
mHandler.onNotificationBatchPosted(events);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerLogger.kt
new file mode 100644
index 000000000000..6e8788db59d7
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerLogger.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.collection.coalescer
+
+import com.android.systemui.log.LogBuffer
+import com.android.systemui.log.LogLevel
+import com.android.systemui.log.dagger.NotificationLog
+import javax.inject.Inject
+
+class GroupCoalescerLogger @Inject constructor(
+ @NotificationLog private val buffer: LogBuffer
+) {
+ fun logEventCoalesced(key: String) {
+ buffer.log(TAG, LogLevel.INFO, {
+ str1 = key
+ }, {
+ "COALESCED: $str1"
+ })
+ }
+
+ fun logEmitBatch(groupKey: String) {
+ buffer.log(TAG, LogLevel.DEBUG, {
+ str1 = groupKey
+ }, {
+ "Emitting event batch for group $str1"
+ })
+ }
+
+ fun logEarlyEmit(modifiedKey: String, groupKey: String) {
+ buffer.log(TAG, LogLevel.DEBUG, {
+ str1 = modifiedKey
+ str2 = groupKey
+ }, {
+ "Modification of notif $str1 triggered early emit of batched group $str2"
+ })
+ }
+
+ fun logMaxBatchTimeout(modifiedKey: String, groupKey: String) {
+ buffer.log(TAG, LogLevel.INFO, {
+ str1 = modifiedKey
+ str2 = groupKey
+ }, {
+ "Modification of notif $str1 triggered TIMEOUT emit of batched group $str2"
+ })
+ }
+}
+
+private const val TAG = "GroupCoalescer" \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HideLocallyDismissedNotifsCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HideLocallyDismissedNotifsCoordinator.java
new file mode 100644
index 000000000000..0059e7baa3c2
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HideLocallyDismissedNotifsCoordinator.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.collection.coordinator;
+
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.NOT_DISMISSED;
+
+import com.android.systemui.statusbar.notification.collection.NotifPipeline;
+import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
+
+/**
+ * Filters out notifications that have been dismissed locally (by the user) but that system server
+ * hasn't yet confirmed the removal of.
+ */
+public class HideLocallyDismissedNotifsCoordinator implements Coordinator {
+ @Override
+ public void attach(NotifPipeline pipeline) {
+ pipeline.addPreGroupFilter(mFilter);
+ }
+
+ private final NotifFilter mFilter = new NotifFilter("HideLocallyDismissedNotifsFilter") {
+ @Override
+ public boolean shouldFilterOut(NotificationEntry entry, long now) {
+ return entry.getDismissState() != NOT_DISMISSED;
+ }
+ };
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.java
index 8d0dd5b111ba..0a1e09f4c99d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.java
@@ -56,6 +56,7 @@ public class NotifCoordinators implements Dumpable {
PreparationCoordinator preparationCoordinator) {
dumpController.registerDumpable(TAG, this);
+ mCoordinators.add(new HideLocallyDismissedNotifsCoordinator());
mCoordinators.add(keyguardCoordinator);
mCoordinators.add(rankingCoordinator);
mCoordinators.add(foregroundCoordinator);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
index 20c9cbc8790d..41314b86695a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
@@ -72,7 +72,7 @@ public class PreparationCoordinator implements Coordinator {
}
@Override
- public void onEntryRemoved(NotificationEntry entry, int reason, boolean removedByUser) {
+ public void onEntryRemoved(NotificationEntry entry, int reason) {
abortInflation(entry, "entryRemoved reason=" + reason);
}
};
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt
new file mode 100644
index 000000000000..6e15043973f7
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt
@@ -0,0 +1,217 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.collection.listbuilder
+
+import com.android.systemui.log.LogBuffer
+import com.android.systemui.log.LogLevel.DEBUG
+import com.android.systemui.log.LogLevel.INFO
+import com.android.systemui.log.LogLevel.WARNING
+import com.android.systemui.log.dagger.NotificationLog
+import com.android.systemui.statusbar.notification.collection.GroupEntry
+import com.android.systemui.statusbar.notification.collection.ListEntry
+import javax.inject.Inject
+
+class ShadeListBuilderLogger @Inject constructor(
+ @NotificationLog private val buffer: LogBuffer
+) {
+ fun logOnBuildList() {
+ buffer.log(TAG, INFO, {
+ }, {
+ "Request received from NotifCollection"
+ })
+ }
+
+ fun logStartBuildList(iterationCount: Int) {
+ buffer.log(TAG, INFO, {
+ int1 = iterationCount
+ }, {
+ "Starting to build shade list (run #$int1)"
+ })
+ }
+
+ fun logEndBuildList(iterationCount: Int) {
+ buffer.log(TAG, INFO, {
+ int1 = iterationCount
+ }, {
+ "Finished building shade list (run #$int1)"
+ })
+ }
+
+ fun logPreGroupFilterInvalidated(filterName: String, pipelineState: Int) {
+ buffer.log(TAG, DEBUG, {
+ str1 = filterName
+ int1 = pipelineState
+ }, {
+ """Pre-group NotifFilter "$str1" invalidated; pipeline state is $int1"""
+ })
+ }
+
+ fun logPromoterInvalidated(name: String, pipelineState: Int) {
+ buffer.log(TAG, DEBUG, {
+ str1 = name
+ int1 = pipelineState
+ }, {
+ """NotifPromoter "$str1" invalidated; pipeline state is $int1"""
+ })
+ }
+
+ fun logNotifSectionInvalidated(name: String, pipelineState: Int) {
+ buffer.log(TAG, DEBUG, {
+ str1 = name
+ int1 = pipelineState
+ }, {
+ """NotifSection "$str1" invalidated; pipeline state is $int1"""
+ })
+ }
+
+ fun logNotifComparatorInvalidated(name: String, pipelineState: Int) {
+ buffer.log(TAG, DEBUG, {
+ str1 = name
+ int1 = pipelineState
+ }, {
+ """NotifComparator "$str1" invalidated; pipeline state is $int1"""
+ })
+ }
+
+ fun logPreRenderFilterInvalidated(name: String, pipelineState: Int) {
+ buffer.log(TAG, DEBUG, {
+ str1 = name
+ int1 = pipelineState
+ }, {
+ """Pre-render NotifFilter "$str1" invalidated; pipeline state is $int1"""
+ })
+ }
+
+ fun logDuplicateSummary(groupKey: String, existingKey: String, newKey: String) {
+ buffer.log(TAG, WARNING, {
+ str1 = groupKey
+ str2 = existingKey
+ str3 = newKey
+ }, {
+ """Duplicate summary for group "$str1": "$str2" vs. "$str3""""
+ })
+ }
+
+ fun logDuplicateTopLevelKey(topLevelKey: String) {
+ buffer.log(TAG, WARNING, {
+ str1 = topLevelKey
+ }, {
+ "Duplicate top-level key: $str1"
+ })
+ }
+
+ fun logParentChanged(key: String, prevParent: String?, newParent: String?) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ str2 = prevParent
+ str3 = newParent
+ }, {
+ "Parent change for $str1: $str2 -> $str3"
+ })
+ }
+
+ fun logFilterChanged(
+ key: String,
+ prevFilter: String?,
+ newFilter: String?
+ ) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ str2 = prevFilter
+ str3 = newFilter
+ }, {
+ "Filter changed for $str1: $str2 -> $str3"
+ })
+ }
+
+ fun logPromoterChanged(
+ key: String,
+ prevPromoter: String?,
+ newPromoter: String?
+ ) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ str2 = prevPromoter
+ str3 = newPromoter
+ }, {
+ "Promoter changed for $str1: $str2 -> $str3"
+ })
+ }
+
+ fun logSectionChanged(
+ key: String,
+ prevSection: String?,
+ prevIndex: Int,
+ section: String,
+ index: Int
+ ) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ str2 = section
+ int1 = index
+ str3 = prevSection
+ int2 = prevIndex
+ }, {
+ if (str3 == null) {
+ "Section assigned for $str1: '$str2' (#$int1)"
+ } else {
+ "Section changed for $str1: '$str3' (#$int2) -> '$str2' (#$int1)"
+ }
+ })
+ }
+
+ fun logFinalList(entries: List<ListEntry>) {
+ buffer.log(TAG, DEBUG, {
+ int1 = entries.size
+ }, {
+ "List is finalized ($int1 top-level entries):"
+ })
+ if (entries.isEmpty()) {
+ buffer.log(TAG, DEBUG, {}, { "(empty list)" })
+ }
+ for (i in entries.indices) {
+ val entry = entries[i]
+ buffer.log(TAG, DEBUG, {
+ int1 = i
+ str1 = entry.key
+ }, {
+ "[$int1] $str1"
+ })
+
+ if (entry is GroupEntry) {
+ entry.summary?.let {
+ buffer.log(TAG, DEBUG, {
+ str1 = it.key
+ }, {
+ " [*] $str1 (summary)"
+ })
+ }
+ for (j in entry.children.indices) {
+ val child = entry.children[j]
+ buffer.log(TAG, DEBUG, {
+ int1 = j
+ str1 = child.key
+ }, {
+ " [$int1] $str1"
+ })
+ }
+ }
+ }
+ }
+}
+
+private const val TAG = "ShadeListBuilder" \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java
index 9cbc7d7efa66..b2c53dae16cd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionListener.java
@@ -16,15 +16,27 @@
package com.android.systemui.statusbar.notification.collection.notifcollection;
-import com.android.systemui.statusbar.notification.collection.NotifCollection;
+import android.service.notification.NotificationListenerService;
+
import com.android.systemui.statusbar.notification.collection.NotifCollection.CancellationReason;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
/**
- * Listener interface for {@link NotifCollection}.
+ * Listener interface for {@link NotificationEntry} events.
*/
public interface NotifCollectionListener {
/**
+ * Called whenever a new {@link NotificationEntry} is initialized. This should be used for
+ * initializing any decorated state tied to the notification.
+ *
+ * Do not reference other registered {@link NotifCollectionListener} implementations here as
+ * there is no guarantee of order and they may not have had a chance to initialize yet. Instead,
+ * use {@link #onEntryAdded} which is called after all initialization.
+ */
+ default void onEntryInit(NotificationEntry entry) {
+ }
+
+ /**
* Called whenever a notification with a new key is posted.
*/
default void onEntryAdded(NotificationEntry entry) {
@@ -42,9 +54,25 @@ public interface NotifCollectionListener {
* immediately after a user dismisses a notification: we wait until we receive confirmation from
* system server before considering the notification removed.
*/
- default void onEntryRemoved(
- NotificationEntry entry,
- @CancellationReason int reason,
- boolean removedByUser) {
+ default void onEntryRemoved(NotificationEntry entry, @CancellationReason int reason) {
+ }
+
+ /**
+ * Called whenever a {@link NotificationEntry} is considered deleted. This should be used for
+ * cleaning up any state tied to the notification.
+ *
+ * This is the deletion parallel of {@link #onEntryInit} and similarly means that you cannot
+ * expect other {@link NotifCollectionListener} implementations to still have valid state for
+ * the entry during this call. Instead, use {@link #onEntryRemoved} which will be called before
+ * deletion.
+ */
+ default void onEntryCleanUp(NotificationEntry entry) {
+ }
+
+ /**
+ * Called whenever the RankingMap is updated by system server. By the time this listener is
+ * called, the Rankings of all entries will have been updated.
+ */
+ default void onRankingUpdate(NotificationListenerService.RankingMap rankingMap) {
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt
new file mode 100644
index 000000000000..14e15031056f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.collection.notifcollection
+
+import android.service.notification.NotificationListenerService.RankingMap
+import com.android.systemui.log.LogBuffer
+import com.android.systemui.log.LogLevel.DEBUG
+import com.android.systemui.log.LogLevel.INFO
+import com.android.systemui.log.LogLevel.WARNING
+import com.android.systemui.log.dagger.NotificationLog
+import javax.inject.Inject
+
+class NotifCollectionLogger @Inject constructor(
+ @NotificationLog private val buffer: LogBuffer
+) {
+ fun logNotifPosted(key: String) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ }, {
+ "POSTED $str1"
+ })
+ }
+
+ fun logNotifGroupPosted(groupKey: String, batchSize: Int) {
+ buffer.log(TAG, INFO, {
+ str1 = groupKey
+ int1 = batchSize
+ }, {
+ "POSTED GROUP $str1 ($int1 events)"
+ })
+ }
+
+ fun logNotifUpdated(key: String) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ }, {
+ "UPDATED $str1"
+ })
+ }
+
+ fun logNotifRemoved(key: String, reason: Int) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ int1 = reason
+ }, {
+ "REMOVED $str1 reason=$int1"
+ })
+ }
+
+ fun logNotifDismissed(key: String) {
+ buffer.log(TAG, INFO, {
+ str1 = key
+ }, {
+ "DISMISSED $str1"
+ })
+ }
+
+ fun logRankingMissing(key: String, rankingMap: RankingMap) {
+ buffer.log(TAG, WARNING, { str1 = key }, { "Ranking update is missing ranking for $str1" })
+ buffer.log(TAG, DEBUG, {}, { "Ranking map contents:" })
+ for (entry in rankingMap.orderedKeys) {
+ buffer.log(TAG, DEBUG, { str1 = entry }, { " $str1" })
+ }
+ }
+}
+
+private const val TAG = "NotifCollection" \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java
index b49611688bc7..0d9beaefbf8d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java
@@ -63,6 +63,10 @@ public class HighPriorityProvider {
}
final NotificationEntry notifEntry = entry.getRepresentativeEntry();
+ if (notifEntry == null) {
+ return false;
+ }
+
return notifEntry.getRanking().getImportance() >= NotificationManager.IMPORTANCE_DEFAULT
|| hasHighPriorityCharacteristics(notifEntry)
|| hasHighPriorityChild(entry);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
new file mode 100644
index 000000000000..c7666e47d4b4
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.dagger;
+
+import android.content.Context;
+
+import com.android.systemui.R;
+import com.android.systemui.statusbar.notification.init.NotificationsController;
+import com.android.systemui.statusbar.notification.init.NotificationsControllerImpl;
+import com.android.systemui.statusbar.notification.init.NotificationsControllerStub;
+
+import javax.inject.Singleton;
+
+import dagger.Lazy;
+import dagger.Module;
+import dagger.Provides;
+
+/** Module for classes related to the notifications data pipeline */
+@Module
+public class NotificationsModule {
+ /** Initializes the notification data pipeline (can be disabled via config). */
+ @Singleton
+ @Provides
+ static NotificationsController provideNotificationsController(
+ Context context,
+ Lazy<NotificationsControllerImpl> realController,
+ Lazy<NotificationsControllerStub> stubController) {
+ if (context.getResources().getBoolean(R.bool.config_renderNotifications)) {
+ return realController.get();
+ } else {
+ return stubController.get();
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsController.kt
new file mode 100644
index 000000000000..9da8b8a3fd92
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsController.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.init
+
+import android.service.notification.StatusBarNotification
+import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption
+import com.android.systemui.statusbar.NotificationPresenter
+import com.android.systemui.statusbar.notification.NotificationActivityStarter
+import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl
+import com.android.systemui.statusbar.notification.stack.NotificationListContainer
+import com.android.systemui.statusbar.phone.StatusBar
+import java.io.FileDescriptor
+import java.io.PrintWriter
+
+/**
+ * The master controller for all notifications-related work
+ *
+ * Split into two implementations: [NotificationsControllerImpl] (most cases) and
+ * [NotificationsControllerStub] (for builds that disable notification rendering).
+ */
+interface NotificationsController {
+ fun initialize(
+ statusBar: StatusBar,
+ presenter: NotificationPresenter,
+ listContainer: NotificationListContainer,
+ notificationActivityStarter: NotificationActivityStarter,
+ bindRowCallback: NotificationRowBinderImpl.BindRowCallback
+ )
+
+ fun requestNotificationUpdate(reason: String)
+ fun resetUserExpandedStates()
+ fun setNotificationSnoozed(sbn: StatusBarNotification, snoozeOption: SnoozeOption)
+ fun getActiveNotificationsCount(): Int
+ fun setNotificationSnoozed(sbn: StatusBarNotification, hoursToSnooze: Int)
+ fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<String>, dumpTruck: Boolean)
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt
new file mode 100644
index 000000000000..61e3192eba3c
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.init
+
+import android.service.notification.StatusBarNotification
+import com.android.systemui.bubbles.BubbleController
+import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption
+import com.android.systemui.statusbar.FeatureFlags
+import com.android.systemui.statusbar.NotificationListener
+import com.android.systemui.statusbar.NotificationPresenter
+import com.android.systemui.statusbar.notification.NotificationActivityStarter
+import com.android.systemui.statusbar.notification.NotificationClicker
+import com.android.systemui.statusbar.notification.NotificationEntryManager
+import com.android.systemui.statusbar.notification.NotificationListController
+import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl
+import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer
+import com.android.systemui.statusbar.notification.stack.NotificationListContainer
+import com.android.systemui.statusbar.phone.NotificationGroupAlertTransferHelper
+import com.android.systemui.statusbar.phone.NotificationGroupManager
+import com.android.systemui.statusbar.phone.StatusBar
+import com.android.systemui.statusbar.policy.DeviceProvisionedController
+import com.android.systemui.statusbar.policy.HeadsUpManager
+import com.android.systemui.statusbar.policy.RemoteInputUriController
+import dagger.Lazy
+import java.io.FileDescriptor
+import java.io.PrintWriter
+import java.util.Optional
+import javax.inject.Inject
+import javax.inject.Singleton
+
+/**
+ * Master controller for all notifications-related work
+ *
+ * At the moment exposes a number of event-handler-esque methods; these are for historical reasons.
+ * Once we migrate away from the need for such things, this class becomes primarily a place to do
+ * any initialization work that notifications require.
+ */
+@Singleton
+class NotificationsControllerImpl @Inject constructor(
+ private val featureFlags: FeatureFlags,
+ private val notificationListener: NotificationListener,
+ private val entryManager: NotificationEntryManager,
+ private val newNotifPipeline: Lazy<NotifPipelineInitializer>,
+ private val deviceProvisionedController: DeviceProvisionedController,
+ private val notificationRowBinder: NotificationRowBinderImpl,
+ private val remoteInputUriController: RemoteInputUriController,
+ private val bubbleController: BubbleController,
+ private val groupManager: NotificationGroupManager,
+ private val groupAlertTransferHelper: NotificationGroupAlertTransferHelper,
+ private val headsUpManager: HeadsUpManager
+) : NotificationsController {
+
+ override fun initialize(
+ statusBar: StatusBar,
+ presenter: NotificationPresenter,
+ listContainer: NotificationListContainer,
+ notificationActivityStarter: NotificationActivityStarter,
+ bindRowCallback: NotificationRowBinderImpl.BindRowCallback
+ ) {
+ notificationListener.registerAsSystemService()
+
+ val listController =
+ NotificationListController(
+ entryManager,
+ listContainer,
+ deviceProvisionedController)
+ listController.bind()
+
+ notificationRowBinder.setNotificationClicker(
+ NotificationClicker(
+ Optional.of(statusBar),
+ bubbleController,
+ notificationActivityStarter))
+ notificationRowBinder.setUpWithPresenter(
+ presenter,
+ listContainer,
+ headsUpManager,
+ bindRowCallback)
+
+ if (featureFlags.isNewNotifPipelineEnabled) {
+ newNotifPipeline.get().initialize(notificationListener, notificationRowBinder)
+ }
+
+ if (featureFlags.isNewNotifPipelineRenderingEnabled) {
+ // TODO
+ } else {
+ notificationRowBinder.setInflationCallback(entryManager)
+
+ remoteInputUriController.attach(entryManager)
+ groupAlertTransferHelper.bind(entryManager, groupManager)
+ headsUpManager.addListener(groupManager)
+ headsUpManager.addListener(groupAlertTransferHelper)
+ groupManager.setHeadsUpManager(headsUpManager)
+ groupAlertTransferHelper.setHeadsUpManager(headsUpManager)
+
+ entryManager.attach(notificationListener)
+ }
+ }
+
+ override fun dump(
+ fd: FileDescriptor,
+ pw: PrintWriter,
+ args: Array<String>,
+ dumpTruck: Boolean
+ ) {
+ if (dumpTruck) {
+ entryManager.dump(pw, " ")
+ }
+ groupManager.dump(fd, pw, args)
+ }
+
+ // TODO: Convert all functions below this line into listeners instead of public methods
+
+ override fun requestNotificationUpdate(reason: String) {
+ entryManager.updateNotifications(reason)
+ }
+
+ override fun resetUserExpandedStates() {
+ for (entry in entryManager.visibleNotifications) {
+ entry.resetUserExpansion()
+ }
+ }
+
+ override fun setNotificationSnoozed(sbn: StatusBarNotification, snoozeOption: SnoozeOption) {
+ if (snoozeOption.snoozeCriterion != null) {
+ notificationListener.snoozeNotification(sbn.key, snoozeOption.snoozeCriterion.id)
+ } else {
+ notificationListener.snoozeNotification(
+ sbn.key,
+ snoozeOption.minutesToSnoozeFor * 60 * 1000.toLong())
+ }
+ }
+
+ override fun getActiveNotificationsCount(): Int {
+ return entryManager.activeNotificationsCount
+ }
+
+ override fun setNotificationSnoozed(sbn: StatusBarNotification, hoursToSnooze: Int) {
+ notificationListener.snoozeNotification(
+ sbn.key,
+ hoursToSnooze * 60 * 60 * 1000.toLong())
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerStub.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerStub.kt
new file mode 100644
index 000000000000..ded855dd84f9
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerStub.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification.init
+
+import android.service.notification.StatusBarNotification
+import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption
+import com.android.systemui.statusbar.NotificationListener
+import com.android.systemui.statusbar.NotificationPresenter
+import com.android.systemui.statusbar.notification.NotificationActivityStarter
+import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl
+import com.android.systemui.statusbar.notification.stack.NotificationListContainer
+import com.android.systemui.statusbar.phone.StatusBar
+import java.io.FileDescriptor
+import java.io.PrintWriter
+import javax.inject.Inject
+
+/**
+ * Implementation of [NotificationsController] that's used when notifications rendering is disabled.
+ */
+class NotificationsControllerStub @Inject constructor(
+ private val notificationListener: NotificationListener
+) : NotificationsController {
+
+ override fun initialize(
+ statusBar: StatusBar,
+ presenter: NotificationPresenter,
+ listContainer: NotificationListContainer,
+ notificationActivityStarter: NotificationActivityStarter,
+ bindRowCallback: NotificationRowBinderImpl.BindRowCallback
+ ) {
+ // Always connect the listener even if notification-handling is disabled. Being a listener
+ // grants special permissions and it's not clear if other things will break if we lose those
+ notificationListener.registerAsSystemService()
+ }
+
+ override fun requestNotificationUpdate(reason: String) {
+ }
+
+ override fun resetUserExpandedStates() {
+ }
+
+ override fun setNotificationSnoozed(sbn: StatusBarNotification, snoozeOption: SnoozeOption) {
+ }
+
+ override fun setNotificationSnoozed(sbn: StatusBarNotification, hoursToSnooze: Int) {
+ }
+
+ override fun getActiveNotificationsCount(): Int {
+ return 0
+ }
+
+ override fun dump(
+ fd: FileDescriptor,
+ pw: PrintWriter,
+ args: Array<String>,
+ dumpTruck: Boolean
+ ) {
+ pw.println()
+ pw.println("Notification handling disabled")
+ pw.println()
+ }
+} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableOutlineView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableOutlineView.java
index 6aadcb7b30e1..049cafa4ccde 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableOutlineView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableOutlineView.java
@@ -92,10 +92,8 @@ public abstract class ExpandableOutlineView extends ExpandableView {
outline.setRect(left, top, right, bottom);
} else {
Path clipPath = getClipPath(false /* ignoreTranslation */);
- if (clipPath != null && clipPath.isConvex()) {
- // The path might not be convex in border cases where the view is small and
- // clipped
- outline.setConvexPath(clipPath);
+ if (clipPath != null) {
+ outline.setPath(clipPath);
}
}
outline.setAlpha(mOutlineAlpha);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
index 18c755da53ff..6045524f30b6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java
@@ -29,6 +29,7 @@ import static com.android.systemui.statusbar.notification.row.NotificationConver
import static com.android.systemui.statusbar.notification.row.NotificationConversationInfo.UpdateChannelRunnable.ACTION_HOME;
import static com.android.systemui.statusbar.notification.row.NotificationConversationInfo.UpdateChannelRunnable.ACTION_MUTE;
import static com.android.systemui.statusbar.notification.row.NotificationConversationInfo.UpdateChannelRunnable.ACTION_SNOOZE;
+import static com.android.systemui.statusbar.notification.row.NotificationConversationInfo.UpdateChannelRunnable.ACTION_UNBUBBLE;
import static java.lang.annotation.RetentionPolicy.SOURCE;
@@ -121,7 +122,7 @@ public class NotificationConversationInfo extends LinearLayout implements
boolean mSkipPost = false;
private OnClickListener mOnBubbleClick = v -> {
- mSelectedAction = ACTION_BUBBLE;
+ mSelectedAction = mStartedAsBubble ? ACTION_UNBUBBLE : ACTION_BUBBLE;
if (mStartedAsBubble) {
mBubbleController.onUserDemotedBubbleFromNotification(mEntry);
} else {
@@ -586,6 +587,7 @@ public class NotificationConversationInfo extends LinearLayout implements
static final int ACTION_SNOOZE = 3;
static final int ACTION_MUTE = 4;
static final int ACTION_DEMOTE = 5;
+ static final int ACTION_UNBUBBLE = 6;
private final INotificationManager mINotificationManager;
private final String mAppPkg;
@@ -606,9 +608,17 @@ public class NotificationConversationInfo extends LinearLayout implements
@Override
public void run() {
try {
+ boolean channelSettingChanged = mAction != ACTION_HOME && mAction != ACTION_SNOOZE;
switch (mAction) {
case ACTION_BUBBLE:
- mChannelToUpdate.setAllowBubbles(!mChannelToUpdate.canBubble());
+ case ACTION_UNBUBBLE:
+ boolean canBubble = mAction == ACTION_BUBBLE;
+ if (mChannelToUpdate.canBubble() != canBubble) {
+ channelSettingChanged = true;
+ mChannelToUpdate.setAllowBubbles(canBubble);
+ } else {
+ channelSettingChanged = false;
+ }
break;
case ACTION_FAVORITE:
// TODO: extend beyond DND
@@ -629,7 +639,7 @@ public class NotificationConversationInfo extends LinearLayout implements
}
- if (mAction != ACTION_HOME && mAction != ACTION_SNOOZE) {
+ if (channelSettingChanged) {
mINotificationManager.updateNotificationChannelForPackage(
mAppPkg, mAppUid, mChannelToUpdate);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 11ead8bd2576..84a293eebc95 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -35,6 +35,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.UserInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Canvas;
@@ -56,6 +57,7 @@ import android.util.DisplayMetrics;
import android.util.Log;
import android.util.MathUtils;
import android.util.Pair;
+import android.util.SparseArray;
import android.view.ContextThemeWrapper;
import android.view.InputDevice;
import android.view.LayoutInflater;
@@ -99,6 +101,7 @@ import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.DragDownHelper.DragDownCallback;
import com.android.systemui.statusbar.EmptyShadeView;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
+import com.android.systemui.statusbar.NotificationLockscreenUserManager.UserChangedListener;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.RemoteInputController;
@@ -328,6 +331,12 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
return true;
}
};
+ private final UserChangedListener mLockscreenUserChangeListener = new UserChangedListener() {
+ @Override
+ public void onUserChanged(int userId) {
+ updateSensitiveness(false /* animated */);
+ }
+ };
private StatusBar mStatusBar;
private int[] mTempInt2 = new int[2];
private boolean mGenerateChildOrderChangedEvent;
@@ -561,6 +570,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
mRoundnessManager.setAnimatedChildren(mChildrenToAddAnimated);
mRoundnessManager.setOnRoundingChangedCallback(this::invalidate);
addOnExpandedHeightChangedListener(mRoundnessManager::setExpanded);
+ mLockscreenUserManager.addUserChangedListener(mLockscreenUserChangeListener);
setOutlineProvider(mOutlineProvider);
// Blocking helper manager wants to know the expanded state, update as well.
@@ -4611,7 +4621,8 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
}
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
- private void setHideSensitive(boolean hideSensitive, boolean animate) {
+ private void updateSensitiveness(boolean animate) {
+ boolean hideSensitive = mLockscreenUserManager.isAnyProfilePublicMode();
if (hideSensitive != mAmbientState.isHideSensitive()) {
int childCount = getChildCount();
for (int i = 0; i < childCount; i++) {
@@ -5306,7 +5317,6 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
private void onStatePostChange() {
boolean onKeyguard = onKeyguard();
- boolean publicMode = mLockscreenUserManager.isAnyProfilePublicMode();
if (mHeadsUpAppearanceController != null) {
mHeadsUpAppearanceController.onStateChanged();
@@ -5314,7 +5324,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
SysuiStatusBarStateController state = (SysuiStatusBarStateController)
Dependency.get(StatusBarStateController.class);
- setHideSensitive(publicMode, state.goingToFullShade() /* animate */);
+ updateSensitiveness(state.goingToFullShade() /* animate */);
setDimmed(onKeyguard, state.fromShadeLocked() /* animate */);
setExpandingEnabled(!onKeyguard);
ActivatableNotificationView activatedChild = getActivatedChild();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
index afaa593b3bb9..e7d6eba1dcb3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
@@ -22,7 +22,6 @@ import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.Dependency;
-import com.android.systemui.doze.DozeEvent;
import com.android.systemui.doze.DozeHost;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -53,7 +52,7 @@ public class DozeScrimController implements StateListener {
public void onDisplayBlanked() {
if (DEBUG) {
Log.d(TAG, "Pulse in, mDozing=" + mDozing + " mPulseReason="
- + DozeEvent.reasonToString(mPulseReason));
+ + DozeLog.reasonToString(mPulseReason));
}
if (!mDozing) {
return;
@@ -74,8 +73,8 @@ public class DozeScrimController implements StateListener {
// Notifications should time out on their own. Pulses due to notifications should
// instead be managed externally based off the notification's lifetime.
// Dock also controls the time out by self.
- if (mPulseReason != DozeEvent.PULSE_REASON_NOTIFICATION
- && mPulseReason != DozeEvent.PULSE_REASON_DOCKING) {
+ if (mPulseReason != DozeLog.PULSE_REASON_NOTIFICATION
+ && mPulseReason != DozeLog.PULSE_REASON_DOCKING) {
mHandler.postDelayed(mPulseOut, mDozeParameters.getPulseVisibleDuration());
mHandler.postDelayed(mPulseOutExtended,
mDozeParameters.getPulseVisibleDurationExtended());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java
index 04efc2d7558d..56e5cb08f6d1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeServiceHost.java
@@ -31,7 +31,6 @@ import android.view.View;
import com.android.internal.annotations.VisibleForTesting;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.assist.AssistManager;
-import com.android.systemui.doze.DozeEvent;
import com.android.systemui.doze.DozeHost;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.doze.DozeReceiver;
@@ -221,18 +220,18 @@ public final class DozeServiceHost implements DozeHost {
@Override
public void pulseWhileDozing(@NonNull PulseCallback callback, int reason) {
- if (reason == DozeEvent.PULSE_REASON_SENSOR_LONG_PRESS) {
+ if (reason == DozeLog.PULSE_REASON_SENSOR_LONG_PRESS) {
mPowerManager.wakeUp(SystemClock.uptimeMillis(), PowerManager.WAKE_REASON_GESTURE,
"com.android.systemui:LONG_PRESS");
mAssistManagerLazy.get().startAssist(new Bundle());
return;
}
- if (reason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN) {
+ if (reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN) {
mScrimController.setWakeLockScreenSensorActive(true);
}
- boolean passiveAuthInterrupt = reason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN
+ boolean passiveAuthInterrupt = reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN
&& mWakeLockScreenPerformsAuth;
// Set the state to pulsing, so ScrimController will know what to do once we ask it to
// execute the transition. The pulse callback will then be invoked when the scrims
@@ -332,7 +331,7 @@ public final class DozeServiceHost implements DozeHost {
@Override
public void extendPulse(int reason) {
- if (reason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN) {
+ if (reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN) {
mScrimController.setWakeLockScreenSensorActive(true);
}
if (mDozeScrimController.isPulsing() && mHeadsUpManagerPhone.hasNotifications()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
index 6bd122d97dea..db692c8a8c89 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
@@ -54,6 +54,10 @@ import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.shared.system.SysUiStatsLog;
+import com.android.systemui.shared.tracing.ProtoTraceable;
+import com.android.systemui.tracing.ProtoTracer;
+import com.android.systemui.tracing.nano.EdgeBackGestureHandlerProto;
+import com.android.systemui.tracing.nano.SystemUiTraceProto;
import java.io.PrintWriter;
import java.util.concurrent.Executor;
@@ -62,7 +66,7 @@ import java.util.concurrent.Executor;
* Utility class to handle edge swipes for back gesture
*/
public class EdgeBackGestureHandler implements DisplayListener,
- PluginListener<NavigationEdgeBackPlugin> {
+ PluginListener<NavigationEdgeBackPlugin>, ProtoTraceable<SystemUiTraceProto> {
private static final String TAG = "EdgeBackGestureHandler";
private static final int MAX_LONG_PRESS_TIMEOUT = SystemProperties.getInt(
@@ -161,6 +165,7 @@ public class EdgeBackGestureHandler implements DisplayListener,
mMainExecutor = context.getMainExecutor();
mOverviewProxyService = overviewProxyService;
mPluginManager = pluginManager;
+ Dependency.get(ProtoTracer.class).add(this);
// Reduce the default touch slop to ensure that we can intercept the gesture
// before the app starts to react to it.
@@ -399,6 +404,8 @@ public class EdgeBackGestureHandler implements DisplayListener,
// forward touch
mEdgeBackPlugin.onMotionEvent(ev);
}
+
+ Dependency.get(ProtoTracer.class).update();
}
@Override
@@ -458,6 +465,14 @@ public class EdgeBackGestureHandler implements DisplayListener,
pw.println(" mEdgeWidth=" + mEdgeWidth);
}
+ @Override
+ public void writeToProto(SystemUiTraceProto proto) {
+ if (proto.edgeBackGestureHandler == null) {
+ proto.edgeBackGestureHandler = new EdgeBackGestureHandlerProto();
+ }
+ proto.edgeBackGestureHandler.allowGesture = mAllowGesture;
+ }
+
class SysUiInputEventReceiver extends InputEventReceiver {
SysUiInputEventReceiver(InputChannel channel, Looper looper) {
super(channel, looper);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
index ad1aa8370495..b4d0d479ff39 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
@@ -33,7 +33,7 @@ import javax.inject.Inject
import javax.inject.Singleton
@Singleton
-class KeyguardBypassController : Dumpable {
+open class KeyguardBypassController : Dumpable {
private val mKeyguardStateController: KeyguardStateController
private val statusBarStateController: StatusBarStateController
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NPVPluginManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NPVPluginManager.kt
deleted file mode 100644
index 53601babfd56..000000000000
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NPVPluginManager.kt
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.statusbar.phone
-
-import android.content.Context
-import android.view.View
-import android.view.ViewGroup.MarginLayoutParams
-import android.widget.FrameLayout
-import com.android.systemui.plugins.NPVPlugin
-import com.android.systemui.plugins.PluginListener
-import com.android.systemui.qs.TouchAnimator
-import com.android.systemui.shared.plugins.PluginManager
-
-/**
- * Manages the NPVPlugin view and state
- *
- * Abstracts NPVPlugin from NPV and helps animate on expansion and respond to changes in Config.
- */
-class NPVPluginManager(
- var parent: FrameLayout,
- val pluginManager: PluginManager
-) : PluginListener<NPVPlugin> {
-
- private var plugin: NPVPlugin? = null
- private var animator = createAnimator()
- private var yOffset = 0f
-
- private fun createAnimator() = TouchAnimator.Builder()
- .addFloat(parent, "alpha", 1f, 0f)
- .addFloat(parent, "scaleY", 1f, 0f)
- .build()
-
- init {
- pluginManager.addPluginListener(NPVPlugin.ACTION, this, NPVPlugin::class.java, false)
- parent.pivotY = 0f
- }
-
- override fun onPluginConnected(plugin: NPVPlugin, pluginContext: Context) {
- parent.removeAllViews()
- plugin.attachToRoot(parent)
- this.plugin = plugin
- parent.visibility = View.VISIBLE
- }
-
- fun changeVisibility(visibility: Int) {
- parent.visibility = if (plugin != null) visibility else View.GONE
- }
-
- fun destroy() {
- plugin?.onDestroy()
- pluginManager.removePluginListener(this)
- }
-
- override fun onPluginDisconnected(plugin: NPVPlugin) {
- if (this.plugin == plugin) {
- this.plugin = null
- parent.removeAllViews()
- parent.visibility = View.GONE
- }
- }
-
- fun setListening(listening: Boolean) {
- plugin?.setListening(listening)
- }
-
- fun setExpansion(expansion: Float, headerTranslation: Float, heightDiff: Float) {
- parent.setTranslationY(expansion * heightDiff + headerTranslation + yOffset)
- if (!expansion.isNaN()) animator.setPosition(expansion)
- }
-
- fun replaceFrameLayout(newParent: FrameLayout) {
- newParent.visibility = parent.visibility
- parent.removeAllViews()
- plugin?.attachToRoot(newParent)
- parent = newParent
- animator = createAnimator()
- }
-
- fun getHeight() =
- if (plugin != null) {
- parent.height + (parent.getLayoutParams() as MarginLayoutParams).topMargin
- } else 0
-
- fun setYOffset(y: Float) {
- yOffset = y
- parent.setTranslationY(yOffset)
- }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
index 8c947edd9a83..77337e95bb95 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -204,8 +204,8 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State
}
int childCount = 0;
boolean hasBubbles = false;
- for (String key : group.children.keySet()) {
- if (!getBubbleController().isBubbleNotificationSuppressedFromShade(key)) {
+ for (NotificationEntry entry : group.children.values()) {
+ if (!getBubbleController().isBubbleNotificationSuppressedFromShade(entry)) {
childCount++;
} else {
hasBubbles = true;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
index 707138ee8dc0..b09ccffdc4de 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
@@ -1,5 +1,6 @@
package com.android.systemui.statusbar.phone;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
@@ -10,6 +11,7 @@ import android.view.ViewGroup;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
import androidx.collection.ArrayMap;
import com.android.internal.statusbar.StatusBarIcon;
@@ -21,6 +23,7 @@ import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CrossFadeHelper;
+import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarIconView;
@@ -76,6 +79,19 @@ public class NotificationIconAreaController implements DarkReceiver,
private boolean mFullyHidden;
private boolean mAodIconsVisible;
private boolean mIsPulsing;
+ private boolean mShowLowPriority = true;
+
+ @VisibleForTesting
+ final NotificationListener.NotificationSettingsListener mSettingsListener =
+ new NotificationListener.NotificationSettingsListener() {
+ @Override
+ public void onStatusBarIconsBehaviorChanged(boolean hideSilentStatusIcons) {
+ mShowLowPriority = !hideSilentStatusIcons;
+ if (mNotificationScrollLayout != null) {
+ updateStatusBarIcons();
+ }
+ }
+ };
public NotificationIconAreaController(
Context context,
@@ -84,6 +100,7 @@ public class NotificationIconAreaController implements DarkReceiver,
NotificationWakeUpCoordinator wakeUpCoordinator,
KeyguardBypassController keyguardBypassController,
NotificationMediaManager notificationMediaManager,
+ NotificationListener notificationListener,
DozeParameters dozeParameters) {
mStatusBar = statusBar;
mContrastColorUtil = ContrastColorUtil.getInstance(context);
@@ -95,6 +112,7 @@ public class NotificationIconAreaController implements DarkReceiver,
mWakeUpCoordinator = wakeUpCoordinator;
wakeUpCoordinator.addListener(this);
mBypassController = keyguardBypassController;
+ notificationListener.addNotificationSettingsListener(mSettingsListener);
initializeNotificationAreaViews(context);
reloadAodColor();
@@ -230,7 +248,7 @@ public class NotificationIconAreaController implements DarkReceiver,
}
protected boolean shouldShowNotificationIcon(NotificationEntry entry,
- boolean showAmbient, boolean hideDismissed,
+ boolean showAmbient, boolean showLowPriority, boolean hideDismissed,
boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon,
boolean hidePulsing, boolean onlyShowCenteredIcon) {
@@ -249,6 +267,9 @@ public class NotificationIconAreaController implements DarkReceiver,
if (hideCurrentMedia && entry.getKey().equals(mMediaManager.getMediaNotificationKey())) {
return false;
}
+ if (!showLowPriority && entry.getImportance() < NotificationManager.IMPORTANCE_DEFAULT) {
+ return false;
+ }
if (!entry.isTopLevelChild()) {
return false;
}
@@ -288,6 +309,7 @@ public class NotificationIconAreaController implements DarkReceiver,
private void updateShelfIcons() {
updateIconsForLayout(entry -> entry.expandedIcon, mShelfIcons,
true /* showAmbient */,
+ true /* showLowPriority */,
false /* hideDismissed */,
false /* hideRepliedMessages */,
false /* hideCurrentMedia */,
@@ -299,6 +321,7 @@ public class NotificationIconAreaController implements DarkReceiver,
public void updateStatusBarIcons() {
updateIconsForLayout(entry -> entry.icon, mNotificationIcons,
false /* showAmbient */,
+ mShowLowPriority,
true /* hideDismissed */,
true /* hideRepliedMessages */,
false /* hideCurrentMedia */,
@@ -310,6 +333,7 @@ public class NotificationIconAreaController implements DarkReceiver,
private void updateCenterIcon() {
updateIconsForLayout(entry -> entry.centeredIcon, mCenteredIcon,
false /* showAmbient */,
+ true /* showLowPriority */,
false /* hideDismissed */,
false /* hideRepliedMessages */,
false /* hideCurrentMedia */,
@@ -321,6 +345,7 @@ public class NotificationIconAreaController implements DarkReceiver,
public void updateAodNotificationIcons() {
updateIconsForLayout(entry -> entry.aodIcon, mAodIcons,
false /* showAmbient */,
+ true /* showLowPriority */,
true /* hideDismissed */,
true /* hideRepliedMessages */,
true /* hideCurrentMedia */,
@@ -329,18 +354,24 @@ public class NotificationIconAreaController implements DarkReceiver,
false /* onlyShowCenteredIcon */);
}
+ @VisibleForTesting
+ boolean shouldShouldLowPriorityIcons() {
+ return mShowLowPriority;
+ }
+
/**
* Updates the notification icons for a host layout. This will ensure that the notification
* host layout will have the same icons like the ones in here.
* @param function A function to look up an icon view based on an entry
* @param hostLayout which layout should be updated
* @param showAmbient should ambient notification icons be shown
+ * @param showLowPriority should icons from silent notifications be shown
* @param hideDismissed should dismissed icons be hidden
* @param hideRepliedMessages should messages that have been replied to be hidden
* @param hidePulsing should pulsing notifications be hidden
*/
private void updateIconsForLayout(Function<NotificationEntry, StatusBarIconView> function,
- NotificationIconContainer hostLayout, boolean showAmbient,
+ NotificationIconContainer hostLayout, boolean showAmbient, boolean showLowPriority,
boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia,
boolean hideCenteredIcon, boolean hidePulsing, boolean onlyShowCenteredIcon) {
ArrayList<StatusBarIconView> toShow = new ArrayList<>(
@@ -351,7 +382,7 @@ public class NotificationIconAreaController implements DarkReceiver,
View view = mNotificationScrollLayout.getChildAt(i);
if (view instanceof ExpandableNotificationRow) {
NotificationEntry ent = ((ExpandableNotificationRow) view).getEntry();
- if (shouldShowNotificationIcon(ent, showAmbient, hideDismissed,
+ if (shouldShowNotificationIcon(ent, showAmbient, showLowPriority, hideDismissed,
hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing,
onlyShowCenteredIcon)) {
StatusBarIconView iconView = function.apply(ent);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index 6112ae88f634..d2186f959aba 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -25,10 +25,8 @@ import android.animation.ValueAnimator;
import android.app.ActivityManager;
import android.app.Fragment;
import android.app.StatusBarManager;
-import android.content.Context;
import android.content.pm.ResolveInfo;
import android.content.res.Configuration;
-import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
@@ -40,8 +38,6 @@ import android.graphics.drawable.Drawable;
import android.hardware.biometrics.BiometricSourceType;
import android.os.PowerManager;
import android.os.SystemClock;
-import android.provider.DeviceConfig;
-import android.provider.Settings;
import android.util.Log;
import android.util.MathUtils;
import android.view.LayoutInflater;
@@ -57,7 +53,6 @@ import android.widget.FrameLayout;
import android.widget.TextView;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.LatencyTracker;
@@ -73,13 +68,10 @@ import com.android.systemui.doze.DozeLog;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
import com.android.systemui.plugins.FalsingManager;
-import com.android.systemui.plugins.HomeControlsPlugin;
-import com.android.systemui.plugins.PluginListener;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.qs.QSFragment;
-import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.GestureRecorder;
@@ -113,7 +105,6 @@ import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.util.InjectionInflationController;
-import com.android.systemui.util.Utils;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -173,8 +164,6 @@ public class NotificationPanelViewController extends PanelViewController {
private final ConfigurationController mConfigurationController;
private final FlingAnimationUtils.Builder mFlingAnimationUtilsBuilder;
- private double mQqsSplitFraction;
-
// Cap and total height of Roboto font. Needs to be adjusted when font for the big clock is
// changed.
private static final int CAP_HEIGHT = 1456;
@@ -258,7 +247,6 @@ public class NotificationPanelViewController extends PanelViewController {
private View mQsNavbarScrim;
private NotificationsQuickSettingsContainer mNotificationContainerParent;
private NotificationStackScrollLayout mNotificationStackScroller;
- private FrameLayout mHomeControlsLayout;
private boolean mAnimateNextPositionUpdate;
private int mTrackingPointer;
@@ -446,9 +434,6 @@ public class NotificationPanelViewController extends PanelViewController {
*/
private boolean mDelayShowingKeyguardStatusBar;
- private PluginManager mPluginManager;
- private FrameLayout mPluginFrame;
- private NPVPluginManager mNPVPluginManager;
private int mOldLayoutDirection;
@Inject
@@ -457,7 +442,7 @@ public class NotificationPanelViewController extends PanelViewController {
NotificationWakeUpCoordinator coordinator, PulseExpansionHandler pulseExpansionHandler,
DynamicPrivacyController dynamicPrivacyController,
KeyguardBypassController bypassController, FalsingManager falsingManager,
- PluginManager pluginManager, ShadeController shadeController,
+ ShadeController shadeController,
NotificationLockscreenUserManager notificationLockscreenUserManager,
NotificationEntryManager notificationEntryManager,
KeyguardStateController keyguardStateController,
@@ -523,7 +508,6 @@ public class NotificationPanelViewController extends PanelViewController {
});
mBottomAreaShadeAlphaAnimator.setDuration(160);
mBottomAreaShadeAlphaAnimator.setInterpolator(Interpolators.ALPHA_OUT);
- mPluginManager = pluginManager;
mShadeController = shadeController;
mLockscreenUserManager = notificationLockscreenUserManager;
mEntryManager = notificationEntryManager;
@@ -553,7 +537,6 @@ public class NotificationPanelViewController extends PanelViewController {
mBigClockContainer = mView.findViewById(R.id.big_clock_container);
keyguardClockSwitch.setBigClockContainer(mBigClockContainer);
- mHomeControlsLayout = mView.findViewById(R.id.home_controls_layout);
mNotificationContainerParent = mView.findViewById(R.id.notification_container_parent);
mNotificationStackScroller = mView.findViewById(R.id.notification_stack_scroller);
mNotificationStackScroller.setOnHeightChangedListener(mOnHeightChangedListener);
@@ -563,12 +546,6 @@ public class NotificationPanelViewController extends PanelViewController {
mKeyguardBottomArea = mView.findViewById(R.id.keyguard_bottom_area);
mQsNavbarScrim = mView.findViewById(R.id.qs_navbar_scrim);
mLastOrientation = mResources.getConfiguration().orientation;
- mPluginFrame = mView.findViewById(R.id.plugin_frame);
- if (Settings.System.getInt(mView.getContext().getContentResolver(), "npv_plugin_flag", 0)
- == 1) {
- mNPVPluginManager = new NPVPluginManager(mPluginFrame, mPluginManager);
- }
-
initBottomArea();
@@ -592,19 +569,6 @@ public class NotificationPanelViewController extends PanelViewController {
}
});
- mPluginManager.addPluginListener(new PluginListener<HomeControlsPlugin>() {
-
- @Override
- public void onPluginConnected(HomeControlsPlugin plugin, Context pluginContext) {
- plugin.sendParentGroup(mHomeControlsLayout);
- }
-
- @Override
- public void onPluginDisconnected(HomeControlsPlugin plugin) {
-
- }
- }, HomeControlsPlugin.class, false);
-
mView.setRtlChangeListener(layoutDirection -> {
if (layoutDirection != mOldLayoutDirection) {
mAffordanceHelper.onRtlPropertiesChanged();
@@ -637,9 +601,6 @@ public class NotificationPanelViewController extends PanelViewController {
com.android.internal.R.dimen.status_bar_height);
mHeadsUpInset = statusbarHeight + mResources.getDimensionPixelSize(
R.dimen.heads_up_status_bar_padding);
- mQqsSplitFraction = ((float) mResources.getInteger(R.integer.qqs_split_fraction)) / (
- mResources.getInteger(R.integer.qqs_split_fraction) + mResources.getInteger(
- R.integer.qs_split_fraction));
}
/**
@@ -679,18 +640,6 @@ public class NotificationPanelViewController extends PanelViewController {
lp.gravity = panelGravity;
mNotificationStackScroller.setLayoutParams(lp);
}
- int sideMargin = mResources.getDimensionPixelOffset(R.dimen.notification_side_paddings);
- int topMargin = sideMargin;
- lp = (FrameLayout.LayoutParams) mPluginFrame.getLayoutParams();
- if (lp.width != qsWidth || lp.gravity != panelGravity || lp.leftMargin != sideMargin
- || lp.rightMargin != sideMargin || lp.topMargin != topMargin) {
- lp.width = qsWidth;
- lp.gravity = panelGravity;
- lp.leftMargin = sideMargin;
- lp.rightMargin = sideMargin;
- lp.topMargin = topMargin;
- mPluginFrame.setLayoutParams(lp);
- }
}
private void reInflateViews() {
@@ -732,41 +681,6 @@ public class NotificationPanelViewController extends PanelViewController {
if (mOnReinflationListener != null) {
mOnReinflationListener.run();
}
- reinflatePluginContainer();
- }
-
- private void reinflatePluginContainer() {
- int index = mView.indexOfChild(mPluginFrame);
- mView.removeView(mPluginFrame);
- mPluginFrame = (FrameLayout) mInjectionInflationController.injectable(
- LayoutInflater.from(mView.getContext())).inflate(
- R.layout.status_bar_expanded_plugin_frame, mView, false);
- mView.addView(mPluginFrame, index);
-
- Resources res = mView.getResources();
- int qsWidth = res.getDimensionPixelSize(R.dimen.qs_panel_width);
- int panelGravity = mView.getResources().getInteger(
- R.integer.notification_panel_layout_gravity);
- FrameLayout.LayoutParams lp;
- int sideMargin = res.getDimensionPixelOffset(R.dimen.notification_side_paddings);
- int topMargin = res.getDimensionPixelOffset(
- com.android.internal.R.dimen.quick_qs_total_height);
- if (Utils.useQsMediaPlayer(mView.getContext())) {
- topMargin = res.getDimensionPixelOffset(
- com.android.internal.R.dimen.quick_qs_total_height_with_media);
- }
- lp = (FrameLayout.LayoutParams) mPluginFrame.getLayoutParams();
- if (lp.width != qsWidth || lp.gravity != panelGravity || lp.leftMargin != sideMargin
- || lp.rightMargin != sideMargin || lp.topMargin != topMargin) {
- lp.width = qsWidth;
- lp.gravity = panelGravity;
- lp.leftMargin = sideMargin;
- lp.rightMargin = sideMargin;
- lp.topMargin = topMargin;
- mPluginFrame.setLayoutParams(lp);
- }
-
- if (mNPVPluginManager != null) mNPVPluginManager.replaceFrameLayout(mPluginFrame);
}
private void initBottomArea() {
@@ -1266,17 +1180,6 @@ public class NotificationPanelViewController extends PanelViewController {
// earlier so the state is already up to date when dragging down.
setListening(true);
}
- if (isQsSplitEnabled() && !mKeyguardShowing) {
- if (mQsExpandImmediate) {
- mNotificationStackScroller.setVisibility(View.GONE);
- mQsFrame.setVisibility(View.VISIBLE);
- mHomeControlsLayout.setVisibility(View.VISIBLE);
- } else {
- mNotificationStackScroller.setVisibility(View.VISIBLE);
- mQsFrame.setVisibility(View.GONE);
- mHomeControlsLayout.setVisibility(View.GONE);
- }
- }
return false;
}
@@ -1286,17 +1189,6 @@ public class NotificationPanelViewController extends PanelViewController {
|| y <= mQs.getView().getY() + mQs.getView().getHeight());
}
- private boolean isOnQsEndArea(float x) {
- if (!isQsSplitEnabled()) return false;
- if (mView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR) {
- return x >= mQsFrame.getX() + mQqsSplitFraction * mQsFrame.getWidth()
- && x <= mQsFrame.getX() + mQsFrame.getWidth();
- } else {
- return x >= mQsFrame.getX()
- && x <= mQsFrame.getX() + (1 - mQqsSplitFraction) * mQsFrame.getWidth();
- }
- }
-
private boolean isOpenQsEvent(MotionEvent event) {
final int pointerCount = event.getPointerCount();
final int action = event.getActionMasked();
@@ -1317,9 +1209,7 @@ public class NotificationPanelViewController extends PanelViewController {
MotionEvent.BUTTON_SECONDARY) || event.isButtonPressed(
MotionEvent.BUTTON_TERTIARY));
- final boolean onHeaderRight = isOnQsEndArea(event.getX());
-
- return twoFingerDrag || stylusButtonClickDrag || mouseButtonClickDrag || onHeaderRight;
+ return twoFingerDrag || stylusButtonClickDrag || mouseButtonClickDrag;
}
private void handleQsDown(MotionEvent event) {
@@ -1659,10 +1549,7 @@ public class NotificationPanelViewController extends PanelViewController {
mBarState != StatusBarState.KEYGUARD && (!mQsExpanded
|| mQsExpansionFromOverscroll));
updateEmptyShadeView();
- if (mNPVPluginManager != null) {
- mNPVPluginManager.changeVisibility(
- (mBarState != StatusBarState.KEYGUARD) ? View.VISIBLE : View.INVISIBLE);
- }
+
mQsNavbarScrim.setVisibility(
mBarState == StatusBarState.SHADE && mQsExpanded && !mStackScrollerOverscrolling
&& mQsScrimEnabled ? View.VISIBLE : View.INVISIBLE);
@@ -1718,9 +1605,6 @@ public class NotificationPanelViewController extends PanelViewController {
float qsExpansionFraction = getQsExpansionFraction();
mQs.setQsExpansion(qsExpansionFraction, getHeaderTranslation());
int heightDiff = mQs.getDesiredHeight() - mQs.getQsMinExpansionHeight();
- if (mNPVPluginManager != null) {
- mNPVPluginManager.setExpansion(qsExpansionFraction, getHeaderTranslation(), heightDiff);
- }
mNotificationStackScroller.setQsExpansionFraction(qsExpansionFraction);
}
@@ -2015,7 +1899,6 @@ public class NotificationPanelViewController extends PanelViewController {
targetHeight =
mQsMinExpansionHeight + t * (mQsMaxExpansionHeight - mQsMinExpansionHeight);
setQsExpansion(targetHeight);
- mHomeControlsLayout.setTranslationY(targetHeight);
}
updateExpandedHeight(expandedHeight);
updateHeader();
@@ -2150,7 +2033,6 @@ public class NotificationPanelViewController extends PanelViewController {
appearAmount = mNotificationStackScroller.calculateAppearFractionBypass();
}
startHeight = -mQs.getQsMinExpansionHeight();
- if (mNPVPluginManager != null) startHeight -= mNPVPluginManager.getHeight();
}
float translation = MathUtils.lerp(startHeight, 0, Math.min(1.0f, appearAmount))
+ mExpandOffset;
@@ -2294,7 +2176,6 @@ public class NotificationPanelViewController extends PanelViewController {
mKeyguardStatusBar.setListening(listening);
if (mQs == null) return;
mQs.setListening(listening);
- if (mNPVPluginManager != null) mNPVPluginManager.setListening(listening);
}
@Override
@@ -3029,11 +2910,6 @@ public class NotificationPanelViewController extends PanelViewController {
mOnReinflationListener = onReinflationListener;
}
- public static boolean isQsSplitEnabled() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
- SystemUiDeviceConfigFlags.QS_SPLIT_ENABLED, false);
- }
-
public void setAlpha(float alpha) {
mView.setAlpha(alpha);
}
@@ -3500,9 +3376,7 @@ public class NotificationPanelViewController extends PanelViewController {
}
@Override
- public void onUiModeChanged() {
- reinflatePluginContainer();
- }
+ public void onUiModeChanged() {}
}
private class StatusBarStateListener implements StateListener {
@@ -3517,11 +3391,6 @@ public class NotificationPanelViewController extends PanelViewController {
mBarState = statusBarState;
mKeyguardShowing = keyguardShowing;
- if (mKeyguardShowing && isQsSplitEnabled()) {
- mNotificationStackScroller.setVisibility(View.VISIBLE);
- mQsFrame.setVisibility(View.VISIBLE);
- mHomeControlsLayout.setVisibility(View.GONE);
- }
if (oldState == StatusBarState.KEYGUARD && (goingToFullShade
|| statusBarState == StatusBarState.SHADE_LOCKED)) {
@@ -3544,7 +3413,6 @@ public class NotificationPanelViewController extends PanelViewController {
} else {
mKeyguardStatusBar.setAlpha(1f);
mKeyguardStatusBar.setVisibility(keyguardShowing ? View.VISIBLE : View.INVISIBLE);
- ((PhoneStatusBarView) mBar).maybeShowDivider(keyguardShowing);
if (keyguardShowing && oldState != mBarState) {
if (mQs != null) {
mQs.hideImmediately();
@@ -3622,10 +3490,6 @@ public class NotificationPanelViewController extends PanelViewController {
int oldMaxHeight = mQsMaxExpansionHeight;
if (mQs != null) {
mQsMinExpansionHeight = mKeyguardShowing ? 0 : mQs.getQsMinExpansionHeight();
- if (mNPVPluginManager != null) {
- mNPVPluginManager.setYOffset(mQsMinExpansionHeight);
- mQsMinExpansionHeight += mNPVPluginManager.getHeight();
- }
mQsMaxExpansionHeight = mQs.getDesiredHeight();
mNotificationStackScroller.setMaxTopPadding(
mQsMaxExpansionHeight + mQsNotificationTopPadding);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowController.java
index 3af80387778b..10b68b9a518d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowController.java
@@ -16,8 +16,10 @@
package com.android.systemui.statusbar.phone;
+import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_BEHAVIOR_CONTROLLED;
import static com.android.systemui.DejankUtils.whitelistIpcs;
import static com.android.systemui.statusbar.NotificationRemoteInputManager.ENABLE_REMOTE_INPUT;
@@ -180,6 +182,13 @@ public class NotificationShadeWindowController implements Callback, Dumpable,
mLp.setTitle("NotificationShade");
mLp.packageName = mContext.getPackageName();
mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+
+ // We use BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE here, however, there is special logic in
+ // window manager which disables the transient show behavior.
+ // TODO: Clean this up once that behavior moves into the Shell.
+ mLp.privateFlags |= PRIVATE_FLAG_BEHAVIOR_CONTROLLED;
+ mLp.insetsFlags.behavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
+
mWindowManager.addView(mNotificationShadeView, mLp);
mLpChanged.copyFrom(mLp);
onThemeChanged();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java
index 96b4b22d0580..e8bc2f58adb4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java
@@ -32,7 +32,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
private final PhoneStatusBarView mView;
private final float mIconAlphaWhenOpaque;
- private View mLeftSide, mStatusIcons, mBattery, mClock, mDivider;
+ private View mLeftSide, mStatusIcons, mBattery, mClock;
private Animator mCurrentAnimation;
public PhoneStatusBarTransitions(PhoneStatusBarView view) {
@@ -46,7 +46,6 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
mLeftSide = mView.findViewById(R.id.status_bar_left_side);
mStatusIcons = mView.findViewById(R.id.statusIcons);
mBattery = mView.findViewById(R.id.battery);
- mDivider = mView.findViewById(R.id.divider);
applyModeBackground(-1, getMode(), false /*animate*/);
applyMode(getMode(), false /*animate*/);
}
@@ -89,7 +88,6 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
anims.playTogether(
animateTransitionTo(mLeftSide, newAlpha),
animateTransitionTo(mStatusIcons, newAlpha),
- animateTransitionTo(mDivider, newAlpha),
animateTransitionTo(mBattery, newAlphaBC)
);
if (isLightsOut(mode)) {
@@ -100,8 +98,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
} else {
mLeftSide.setAlpha(newAlpha);
mStatusIcons.setAlpha(newAlpha);
- mDivider.setAlpha(newAlpha);
mBattery.setAlpha(newAlphaBC);
}
}
-} \ No newline at end of file
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index ffbbffc0d8d9..f3b0a79f9518 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -25,7 +25,6 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Point;
import android.graphics.Rect;
-import android.provider.DeviceConfig;
import android.util.AttributeSet;
import android.util.EventLog;
import android.util.Pair;
@@ -40,8 +39,6 @@ import android.view.accessibility.AccessibilityEvent;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
-import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
-import com.android.systemui.DarkReceiverImpl;
import com.android.systemui.Dependency;
import com.android.systemui.EventLogTags;
import com.android.systemui.R;
@@ -81,9 +78,6 @@ public class PhoneStatusBarView extends PanelBar {
@Nullable
private DisplayCutout mDisplayCutout;
- private DarkReceiverImpl mSplitDivider;
- private View mDividerContainer;
- private QsSplitPropertyListener mPropertyListener;
/**
* Draw this many pixels into the left/right side of the cutout to optimally use the space
*/
@@ -115,10 +109,6 @@ public class PhoneStatusBarView extends PanelBar {
mBattery = findViewById(R.id.battery);
mCutoutSpace = findViewById(R.id.cutout_space_view);
mCenterIconSpace = findViewById(R.id.centered_icon_area);
- mSplitDivider = findViewById(R.id.divider);
- mDividerContainer = findViewById(R.id.divider_container);
- maybeShowDivider(true);
- mPropertyListener = new QsSplitPropertyListener(mDividerContainer);
updateResources();
}
@@ -128,26 +118,16 @@ public class PhoneStatusBarView extends PanelBar {
super.onAttachedToWindow();
// Always have Battery meters in the status bar observe the dark/light modes.
Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mBattery);
- Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mSplitDivider);
- maybeShowDivider(true);
if (updateOrientationAndCutout(getResources().getConfiguration().orientation)) {
updateLayoutForCutout();
}
- if (mPropertyListener != null) {
- DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
- mContext.getMainExecutor(), mPropertyListener);
- }
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
Dependency.get(DarkIconDispatcher.class).removeDarkReceiver(mBattery);
- Dependency.get(DarkIconDispatcher.class).removeDarkReceiver(mSplitDivider);
mDisplayCutout = null;
- if (mPropertyListener != null) {
- DeviceConfig.removeOnPropertiesChangedListener(mPropertyListener);
- }
}
@Override
@@ -216,7 +196,6 @@ public class PhoneStatusBarView extends PanelBar {
public void onPanelPeeked() {
super.onPanelPeeked();
mBar.makeExpandedVisible(false);
- maybeShowDivider(!mBar.mPanelExpanded);
}
@Override
@@ -225,7 +204,6 @@ public class PhoneStatusBarView extends PanelBar {
// Close the status bar in the next frame so we can show the end of the animation.
post(mHideExpandedRunnable);
mIsFullyOpenedPanel = false;
- maybeShowDivider(!mBar.mPanelExpanded);
}
public void removePendingHideExpandedRunnables() {
@@ -239,7 +217,6 @@ public class PhoneStatusBarView extends PanelBar {
mPanel.getView().sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
}
mIsFullyOpenedPanel = true;
- maybeShowDivider(!mBar.mPanelExpanded);
}
@Override
@@ -263,28 +240,24 @@ public class PhoneStatusBarView extends PanelBar {
mBar.onTrackingStarted();
mScrimController.onTrackingStarted();
removePendingHideExpandedRunnables();
- maybeShowDivider(!mBar.mPanelExpanded);
}
@Override
public void onClosingFinished() {
super.onClosingFinished();
mBar.onClosingFinished();
- maybeShowDivider(!mBar.mPanelExpanded);
}
@Override
public void onTrackingStopped(boolean expand) {
super.onTrackingStopped(expand);
mBar.onTrackingStopped(expand);
- maybeShowDivider(!mBar.mPanelExpanded);
}
@Override
public void onExpandingFinished() {
super.onExpandingFinished();
mScrimController.onExpandingFinished();
- maybeShowDivider(!mBar.mPanelExpanded);
}
@Override
@@ -416,31 +389,4 @@ public class PhoneStatusBarView extends PanelBar {
protected boolean shouldPanelBeVisible() {
return mHeadsUpVisible || super.shouldPanelBeVisible();
}
-
- void maybeShowDivider(boolean showDivider) {
- int state =
- showDivider && NotificationPanelViewController.isQsSplitEnabled()
- ? View.VISIBLE : View.GONE;
- mDividerContainer.setVisibility(state);
- }
-
- private static class QsSplitPropertyListener implements
- DeviceConfig.OnPropertiesChangedListener {
- private final View mDivider;
-
- QsSplitPropertyListener(View divider) {
- mDivider = divider;
- }
-
- @Override
- public void onPropertiesChanged(DeviceConfig.Properties properties) {
- if (properties.getNamespace().equals(DeviceConfig.NAMESPACE_SYSTEMUI)
- && properties.getKeyset().contains(
- SystemUiDeviceConfigFlags.QS_SPLIT_ENABLED)) {
- boolean splitEnabled = properties.getBoolean(
- SystemUiDeviceConfigFlags.QS_SPLIT_ENABLED, false);
- mDivider.setVisibility(splitEnabled ? VISIBLE : GONE);
- }
- }
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 4e8442f14dba..11f70796748c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -144,7 +144,6 @@ import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.fragments.ExtensionFragmentListener;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.keyguard.DismissCallbackRegistry;
-import com.android.systemui.keyguard.KeyguardSliceProvider;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.keyguard.WakefulnessLifecycle;
@@ -169,12 +168,10 @@ import com.android.systemui.statusbar.BackDropView;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CrossFadeHelper;
import com.android.systemui.statusbar.EmptyShadeView;
-import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.GestureRecorder;
import com.android.systemui.statusbar.KeyboardShortcuts;
import com.android.systemui.statusbar.KeyguardIndicationController;
import com.android.systemui.statusbar.NavigationBarController;
-import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationPresenter;
@@ -192,15 +189,11 @@ import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
-import com.android.systemui.statusbar.notification.NotificationClicker;
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
-import com.android.systemui.statusbar.notification.NotificationListController;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
-import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer;
+import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
@@ -219,7 +212,6 @@ import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
-import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.volume.VolumeComponent;
@@ -357,7 +349,6 @@ public class StatusBar extends SystemUI implements DemoMode,
private final Object mQueueLock = new Object();
- private final FeatureFlags mFeatureFlags;
private final StatusBarIconController mIconController;
private final PulseExpansionHandler mPulseExpansionHandler;
private final NotificationWakeUpCoordinator mWakeUpCoordinator;
@@ -366,7 +357,6 @@ public class StatusBar extends SystemUI implements DemoMode,
private final HeadsUpManagerPhone mHeadsUpManager;
private final DynamicPrivacyController mDynamicPrivacyController;
private final BypassHeadsUpNotifier mBypassHeadsUpNotifier;
- private final Lazy<NotifPipelineInitializer> mNewNotifPipeline;
private final FalsingManager mFalsingManager;
private final BroadcastDispatcher mBroadcastDispatcher;
private final ConfigurationController mConfigurationController;
@@ -375,7 +365,6 @@ public class StatusBar extends SystemUI implements DemoMode,
private final Lazy<BiometricUnlockController> mBiometricUnlockControllerLazy;
private final Provider<StatusBarComponent.Builder> mStatusBarComponentBuilder;
private final PluginManager mPluginManager;
- private final RemoteInputUriController mRemoteInputUriController;
private final Optional<Divider> mDividerOptional;
private final StatusBarNotificationActivityStarter.Builder
mStatusBarNotificationActivityStarterBuilder;
@@ -388,8 +377,8 @@ public class StatusBar extends SystemUI implements DemoMode,
private final KeyguardDismissUtil mKeyguardDismissUtil;
private final ExtensionController mExtensionController;
private final UserInfoControllerImpl mUserInfoControllerImpl;
- private final NotificationRowBinderImpl mNotificationRowBinder;
private final DismissCallbackRegistry mDismissCallbackRegistry;
+ private NotificationsController mNotificationsController;
// expanded notifications
// the sliding/resizing panel within the notification window
@@ -413,8 +402,6 @@ public class StatusBar extends SystemUI implements DemoMode,
private final NotificationGutsManager mGutsManager;
private final NotificationLogger mNotificationLogger;
- private final NotificationEntryManager mEntryManager;
- private NotificationListController mNotificationListController;
private final NotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
private final NotificationViewHierarchyManager mViewHierarchyManager;
private final KeyguardViewMediator mKeyguardViewMediator;
@@ -590,7 +577,7 @@ public class StatusBar extends SystemUI implements DemoMode,
@Override
public void onStrongAuthStateChanged(int userId) {
super.onStrongAuthStateChanged(userId);
- mEntryManager.updateNotifications("onStrongAuthStateChanged");
+ mNotificationsController.requestNotificationUpdate("onStrongAuthStateChanged");
}
};
private final Handler mMainThreadHandler = new Handler(Looper.getMainLooper());
@@ -615,7 +602,7 @@ public class StatusBar extends SystemUI implements DemoMode,
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
public StatusBar(
Context context,
- FeatureFlags featureFlags,
+ NotificationsController notificationsController,
LightBarController lightBarController,
AutoHideController autoHideController,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -627,13 +614,11 @@ public class StatusBar extends SystemUI implements DemoMode,
HeadsUpManagerPhone headsUpManagerPhone,
DynamicPrivacyController dynamicPrivacyController,
BypassHeadsUpNotifier bypassHeadsUpNotifier,
- Lazy<NotifPipelineInitializer> newNotifPipeline,
FalsingManager falsingManager,
BroadcastDispatcher broadcastDispatcher,
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
NotificationGutsManager notificationGutsManager,
NotificationLogger notificationLogger,
- NotificationEntryManager notificationEntryManager,
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
NotificationViewHierarchyManager notificationViewHierarchyManager,
KeyguardViewMediator keyguardViewMediator,
@@ -654,12 +639,10 @@ public class StatusBar extends SystemUI implements DemoMode,
VibratorHelper vibratorHelper,
BubbleController bubbleController,
NotificationGroupManager groupManager,
- NotificationGroupAlertTransferHelper groupAlertTransferHelper,
VisualStabilityManager visualStabilityManager,
DeviceProvisionedController deviceProvisionedController,
NavigationBarController navigationBarController,
Lazy<AssistManager> assistManagerLazy,
- NotificationListener notificationListener,
ConfigurationController configurationController,
NotificationShadeWindowController notificationShadeWindowController,
LockscreenLockIconController lockscreenLockIconController,
@@ -677,7 +660,6 @@ public class StatusBar extends SystemUI implements DemoMode,
Optional<Recents> recentsOptional,
Provider<StatusBarComponent.Builder> statusBarComponentBuilder,
PluginManager pluginManager,
- RemoteInputUriController remoteInputUriController,
Optional<Divider> dividerOptional,
LightsOutNotifController lightsOutNotifController,
StatusBarNotificationActivityStarter.Builder
@@ -693,10 +675,9 @@ public class StatusBar extends SystemUI implements DemoMode,
KeyguardDismissUtil keyguardDismissUtil,
ExtensionController extensionController,
UserInfoControllerImpl userInfoControllerImpl,
- NotificationRowBinderImpl notificationRowBinder,
DismissCallbackRegistry dismissCallbackRegistry) {
super(context);
- mFeatureFlags = featureFlags;
+ mNotificationsController = notificationsController;
mLightBarController = lightBarController;
mAutoHideController = autoHideController;
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
@@ -708,13 +689,11 @@ public class StatusBar extends SystemUI implements DemoMode,
mHeadsUpManager = headsUpManagerPhone;
mDynamicPrivacyController = dynamicPrivacyController;
mBypassHeadsUpNotifier = bypassHeadsUpNotifier;
- mNewNotifPipeline = newNotifPipeline;
mFalsingManager = falsingManager;
mBroadcastDispatcher = broadcastDispatcher;
mRemoteInputQuickSettingsDisabler = remoteInputQuickSettingsDisabler;
mGutsManager = notificationGutsManager;
mNotificationLogger = notificationLogger;
- mEntryManager = notificationEntryManager;
mNotificationInterruptionStateProvider = notificationInterruptionStateProvider;
mViewHierarchyManager = notificationViewHierarchyManager;
mKeyguardViewMediator = keyguardViewMediator;
@@ -735,12 +714,10 @@ public class StatusBar extends SystemUI implements DemoMode,
mVibratorHelper = vibratorHelper;
mBubbleController = bubbleController;
mGroupManager = groupManager;
- mGroupAlertTransferHelper = groupAlertTransferHelper;
mVisualStabilityManager = visualStabilityManager;
mDeviceProvisionedController = deviceProvisionedController;
mNavigationBarController = navigationBarController;
mAssistManagerLazy = assistManagerLazy;
- mNotificationListener = notificationListener;
mConfigurationController = configurationController;
mNotificationShadeWindowController = notificationShadeWindowController;
mLockscreenLockIconController = lockscreenLockIconController;
@@ -758,7 +735,6 @@ public class StatusBar extends SystemUI implements DemoMode,
mRecentsOptional = recentsOptional;
mStatusBarComponentBuilder = statusBarComponentBuilder;
mPluginManager = pluginManager;
- mRemoteInputUriController = remoteInputUriController;
mDividerOptional = dividerOptional;
mStatusBarNotificationActivityStarterBuilder = statusBarNotificationActivityStarterBuilder;
mShadeController = shadeController;
@@ -772,12 +748,11 @@ public class StatusBar extends SystemUI implements DemoMode,
mKeyguardDismissUtil = keyguardDismissUtil;
mExtensionController = extensionController;
mUserInfoControllerImpl = userInfoControllerImpl;
- mNotificationRowBinder = notificationRowBinder;
mDismissCallbackRegistry = dismissCallbackRegistry;
mBubbleExpandListener =
(isExpanding, key) -> {
- mEntryManager.updateNotifications("onBubbleExpandChanged");
+ mNotificationsController.requestNotificationUpdate("onBubbleExpandChanged");
updateScrimController();
};
@@ -787,20 +762,12 @@ public class StatusBar extends SystemUI implements DemoMode,
@Override
public void start() {
- mNotificationListener.registerAsSystemService();
mScreenLifecycle.addObserver(mScreenObserver);
mWakefulnessLifecycle.addObserver(mWakefulnessObserver);
mUiModeManager = mContext.getSystemService(UiModeManager.class);
- mBypassHeadsUpNotifier.setUp(mEntryManager);
+ mBypassHeadsUpNotifier.setUp();
mBubbleController.setExpandListener(mBubbleExpandListener);
mActivityIntentHelper = new ActivityIntentHelper(mContext);
- KeyguardSliceProvider sliceProvider = KeyguardSliceProvider.getAttachedInstance();
- if (sliceProvider != null) {
- sliceProvider.initDependencies(mMediaManager, mStatusBarStateController,
- mKeyguardBypassController, mDozeParameters);
- } else {
- Log.w(TAG, "Cannot init KeyguardSliceProvider dependencies");
- }
mColorExtractor.addOnColorsChangedListener(this);
mStatusBarStateController.addCallback(this,
@@ -1068,12 +1035,8 @@ public class StatusBar extends SystemUI implements DemoMode,
mConfigurationController.addCallback(mHeadsUpManager);
mHeadsUpManager.addListener(this);
mHeadsUpManager.addListener(mNotificationPanelViewController.getOnHeadsUpChangedListener());
- mHeadsUpManager.addListener(mGroupManager);
- mHeadsUpManager.addListener(mGroupAlertTransferHelper);
mHeadsUpManager.addListener(mVisualStabilityManager);
mNotificationPanelViewController.setHeadsUpManager(mHeadsUpManager);
- mGroupManager.setHeadsUpManager(mHeadsUpManager);
- mGroupAlertTransferHelper.setHeadsUpManager(mHeadsUpManager);
mNotificationLogger.setHeadsUpManager(mHeadsUpManager);
createNavigationBar(result);
@@ -1251,16 +1214,10 @@ public class StatusBar extends SystemUI implements DemoMode,
mPresenter = new StatusBarNotificationPresenter(mContext, mNotificationPanelViewController,
mHeadsUpManager, mNotificationShadeWindowView, mStackScroller, mDozeScrimController,
mScrimController, mActivityLaunchAnimator, mDynamicPrivacyController,
- mNotificationAlertingManager, mNotificationRowBinder, mKeyguardStateController,
+ mNotificationAlertingManager, mKeyguardStateController,
mKeyguardIndicationController,
this /* statusBar */, mShadeController, mCommandQueue, mInitController);
- mNotificationListController =
- new NotificationListController(
- mEntryManager,
- (NotificationListContainer) mStackScroller,
- mDeviceProvisionedController);
-
mNotificationShelf.setOnActivatedListener(mPresenter);
mRemoteInputManager.getController().addCallback(mNotificationShadeWindowController);
@@ -1274,22 +1231,12 @@ public class StatusBar extends SystemUI implements DemoMode,
mGutsManager.setNotificationActivityStarter(mNotificationActivityStarter);
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
- mNotificationRowBinder.setInflationCallback(mEntryManager);
- }
-
- mRemoteInputUriController.attach(mEntryManager);
-
- mNotificationRowBinder.setNotificationClicker(new NotificationClicker(
- Optional.of(this), mBubbleController, mNotificationActivityStarter));
-
- mGroupAlertTransferHelper.bind(mEntryManager, mGroupManager);
- mNotificationListController.bind();
-
- if (mFeatureFlags.isNewNotifPipelineEnabled()) {
- mNewNotifPipeline.get().initialize(mNotificationListener, mNotificationRowBinder);
- }
- mEntryManager.attach(mNotificationListener);
+ mNotificationsController.initialize(
+ this,
+ mPresenter,
+ (NotificationListContainer) mStackScroller,
+ mNotificationActivityStarter,
+ mPresenter);
}
/**
@@ -1526,7 +1473,7 @@ public class StatusBar extends SystemUI implements DemoMode,
* @param reason why we're requesting a notification update
*/
public void requestNotificationUpdate(String reason) {
- mEntryManager.updateNotifications(reason);
+ mNotificationsController.requestNotificationUpdate(reason);
}
/**
@@ -1734,7 +1681,7 @@ public class StatusBar extends SystemUI implements DemoMode,
@Override
public void onHeadsUpStateChanged(NotificationEntry entry, boolean isHeadsUp) {
- mEntryManager.updateNotifications("onHeadsUpStateChanged");
+ mNotificationsController.requestNotificationUpdate("onHeadsUpStateChanged");
if (mStatusBarStateController.isDozing() && isHeadsUp) {
entry.setPulseSuppressed(false);
mDozeServiceHost.fireNotificationPulse(entry);
@@ -2493,11 +2440,9 @@ public class StatusBar extends SystemUI implements DemoMode,
mStatusBarKeyguardViewManager.dump(pw);
}
- if (DUMPTRUCK) {
- synchronized (mEntryManager) {
- mEntryManager.dump(pw, " ");
- }
+ mNotificationsController.dump(fd, pw, args, DUMPTRUCK);
+ if (DUMPTRUCK) {
if (false) {
pw.println("see the logcat for a dump of the views we have created.");
// must happen on ui thread
@@ -2520,11 +2465,6 @@ public class StatusBar extends SystemUI implements DemoMode,
} else {
pw.println(" mHeadsUpManager: null");
}
- if (mGroupManager != null) {
- mGroupManager.dump(fd, pw, args);
- } else {
- pw.println(" mGroupManager: null");
- }
if (mBubbleController != null) {
mBubbleController.dump(fd, pw, args);
@@ -2755,9 +2695,7 @@ public class StatusBar extends SystemUI implements DemoMode,
};
public void resetUserExpandedStates() {
- for (NotificationEntry entry : mEntryManager.getVisibleNotifications()) {
- entry.resetUserExpansion();
- }
+ mNotificationsController.resetUserExpandedStates();
}
private void executeWhenUnlocked(OnDismissAction action, boolean requiresShadeOpen) {
@@ -2863,7 +2801,7 @@ public class StatusBar extends SystemUI implements DemoMode,
try {
// consider the transition from peek to expanded to be a panel open,
// but not one that clears notification effects.
- int notificationLoad = mEntryManager.getActiveNotificationsCount();
+ int notificationLoad = mNotificationsController.getActiveNotificationsCount();
mBarService.onPanelRevealed(false, notificationLoad);
} catch (RemoteException ex) {
// Won't fail unless the world has ended.
@@ -2881,7 +2819,7 @@ public class StatusBar extends SystemUI implements DemoMode,
!mPresenter.isPresenterFullyCollapsed() &&
(mState == StatusBarState.SHADE
|| mState == StatusBarState.SHADE_LOCKED);
- int notificationLoad = mEntryManager.getActiveNotificationsCount();
+ int notificationLoad = mNotificationsController.getActiveNotificationsCount();
if (pinnedHeadsUp && mPresenter.isPresenterFullyCollapsed()) {
notificationLoad = 1;
}
@@ -3522,7 +3460,7 @@ public class StatusBar extends SystemUI implements DemoMode,
updateQsExpansionEnabled();
mKeyguardViewMediator.setDozing(mDozing);
- mEntryManager.updateNotifications("onDozingChanged");
+ mNotificationsController.requestNotificationUpdate("onDozingChanged");
updateDozingState();
mDozeServiceHost.updateDozing();
updateScrimController();
@@ -3973,7 +3911,6 @@ public class StatusBar extends SystemUI implements DemoMode,
protected ViewGroup mStackScroller;
private final NotificationGroupManager mGroupManager;
- private final NotificationGroupAlertTransferHelper mGroupAlertTransferHelper;
// handling reordering
private final VisualStabilityManager mVisualStabilityManager;
@@ -4040,21 +3977,12 @@ public class StatusBar extends SystemUI implements DemoMode,
}
};
- private final NotificationListener mNotificationListener;
-
public void setNotificationSnoozed(StatusBarNotification sbn, SnoozeOption snoozeOption) {
- if (snoozeOption.getSnoozeCriterion() != null) {
- mNotificationListener.snoozeNotification(sbn.getKey(),
- snoozeOption.getSnoozeCriterion().getId());
- } else {
- mNotificationListener.snoozeNotification(sbn.getKey(),
- snoozeOption.getMinutesToSnoozeFor() * 60 * 1000);
- }
+ mNotificationsController.setNotificationSnoozed(sbn, snoozeOption);
}
public void setNotificationSnoozed(StatusBarNotification sbn, int hoursToSnooze) {
- mNotificationListener.snoozeNotification(sbn.getKey(),
- hoursToSnooze * 60 * 60 * 1000);
+ mNotificationsController.setNotificationSnoozed(sbn, hoursToSnooze);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index 86a81ce3d1f1..6a046884e835 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -16,6 +16,9 @@
package com.android.systemui.statusbar.phone;
+import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
+import static android.view.ViewRootImpl.sNewInsetsMode;
+import static android.view.WindowInsets.Type.navigationBars;
import static com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import static com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_UNLOCK_FADING;
import static com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_WAKE_AND_UNLOCK;
@@ -789,7 +792,12 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
private Runnable mMakeNavigationBarVisibleRunnable = new Runnable() {
@Override
public void run() {
- mStatusBar.getNavigationBarView().getRootView().setVisibility(View.VISIBLE);
+ if (ViewRootImpl.sNewInsetsMode == NEW_INSETS_MODE_FULL) {
+ mStatusBar.getNotificationShadeWindowView().getWindowInsetsController()
+ .show(navigationBars());
+ } else {
+ mStatusBar.getNavigationBarView().getRootView().setVisibility(View.VISIBLE);
+ }
}
};
@@ -856,7 +864,12 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
}
} else {
mContainer.removeCallbacks(mMakeNavigationBarVisibleRunnable);
- mStatusBar.getNavigationBarView().getRootView().setVisibility(View.GONE);
+ if (sNewInsetsMode == NEW_INSETS_MODE_FULL) {
+ mStatusBar.getNotificationShadeWindowView().getWindowInsetsController()
+ .hide(navigationBars());
+ } else {
+ mStatusBar.getNavigationBarView().getRootView().setVisibility(View.GONE);
+ }
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java
index 7615bf826287..15a0e08e285f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarModule.java
@@ -46,9 +46,7 @@ import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.statusbar.CommandQueue;
-import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.NavigationBarController;
-import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -61,12 +59,10 @@ import com.android.systemui.statusbar.VibratorHelper;
import com.android.systemui.statusbar.notification.BypassHeadsUpNotifier;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationAlertingManager;
-import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
-import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer;
+import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
@@ -77,7 +73,6 @@ import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
-import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.volume.VolumeComponent;
@@ -105,7 +100,7 @@ public class StatusBarModule {
@Singleton
static StatusBar provideStatusBar(
Context context,
- FeatureFlags featureFlags,
+ NotificationsController notificationsController,
LightBarController lightBarController,
AutoHideController autoHideController,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -117,13 +112,11 @@ public class StatusBarModule {
HeadsUpManagerPhone headsUpManagerPhone,
DynamicPrivacyController dynamicPrivacyController,
BypassHeadsUpNotifier bypassHeadsUpNotifier,
- Lazy<NotifPipelineInitializer> newNotifPipeline,
FalsingManager falsingManager,
BroadcastDispatcher broadcastDispatcher,
RemoteInputQuickSettingsDisabler remoteInputQuickSettingsDisabler,
NotificationGutsManager notificationGutsManager,
NotificationLogger notificationLogger,
- NotificationEntryManager notificationEntryManager,
NotificationInterruptionStateProvider notificationInterruptionStateProvider,
NotificationViewHierarchyManager notificationViewHierarchyManager,
KeyguardViewMediator keyguardViewMediator,
@@ -144,12 +137,10 @@ public class StatusBarModule {
VibratorHelper vibratorHelper,
BubbleController bubbleController,
NotificationGroupManager groupManager,
- NotificationGroupAlertTransferHelper groupAlertTransferHelper,
VisualStabilityManager visualStabilityManager,
DeviceProvisionedController deviceProvisionedController,
NavigationBarController navigationBarController,
Lazy<AssistManager> assistManagerLazy,
- NotificationListener notificationListener,
ConfigurationController configurationController,
NotificationShadeWindowController notificationShadeWindowController,
LockscreenLockIconController lockscreenLockIconController,
@@ -167,7 +158,6 @@ public class StatusBarModule {
Optional<Recents> recentsOptional,
Provider<StatusBarComponent.Builder> statusBarComponentBuilder,
PluginManager pluginManager,
- RemoteInputUriController remoteInputUriController,
Optional<Divider> dividerOptional,
LightsOutNotifController lightsOutNotifController,
StatusBarNotificationActivityStarter.Builder
@@ -183,11 +173,10 @@ public class StatusBarModule {
KeyguardDismissUtil keyguardDismissUtil,
ExtensionController extensionController,
UserInfoControllerImpl userInfoControllerImpl,
- NotificationRowBinderImpl notificationRowBinder,
DismissCallbackRegistry dismissCallbackRegistry) {
return new StatusBar(
context,
- featureFlags,
+ notificationsController,
lightBarController,
autoHideController,
keyguardUpdateMonitor,
@@ -199,13 +188,11 @@ public class StatusBarModule {
headsUpManagerPhone,
dynamicPrivacyController,
bypassHeadsUpNotifier,
- newNotifPipeline,
falsingManager,
broadcastDispatcher,
remoteInputQuickSettingsDisabler,
notificationGutsManager,
notificationLogger,
- notificationEntryManager,
notificationInterruptionStateProvider,
notificationViewHierarchyManager,
keyguardViewMediator,
@@ -226,12 +213,10 @@ public class StatusBarModule {
vibratorHelper,
bubbleController,
groupManager,
- groupAlertTransferHelper,
visualStabilityManager,
deviceProvisionedController,
navigationBarController,
assistManagerLazy,
- notificationListener,
configurationController,
notificationShadeWindowController,
lockscreenLockIconController,
@@ -249,7 +234,6 @@ public class StatusBarModule {
recentsOptional,
statusBarComponentBuilder,
pluginManager,
- remoteInputUriController,
dividerOptional,
lightsOutNotifController,
statusBarNotificationActivityStarterBuilder,
@@ -264,7 +248,6 @@ public class StatusBarModule {
keyguardDismissUtil,
extensionController,
userInfoControllerImpl,
- notificationRowBinder,
dismissCallbackRegistry);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
index 1336b2de82d3..2485513abba5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
@@ -141,7 +141,6 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
ActivityLaunchAnimator activityLaunchAnimator,
DynamicPrivacyController dynamicPrivacyController,
NotificationAlertingManager notificationAlertingManager,
- NotificationRowBinderImpl notificationRowBinder,
KeyguardStateController keyguardStateController,
KeyguardIndicationController keyguardIndicationController,
StatusBar statusBar,
@@ -216,8 +215,6 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
mEntryManager.addNotificationLifetimeExtender(mGutsManager);
mEntryManager.addNotificationLifetimeExtenders(
remoteInputManager.getLifetimeExtenders());
- notificationRowBinder.setUpWithPresenter(this, notifListContainer, mHeadsUpManager,
- this);
mNotificationInterruptionStateProvider.setUpWithPresenter(
this, mHeadsUpManager, this::canHeadsUp);
mLockscreenUserManager.setUpWithPresenter(this);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 3a1feaa2de14..28ba1257524d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -26,10 +26,12 @@ import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.provider.Settings.Global;
+import android.telephony.AccessNetworkConstants;
import android.telephony.Annotation;
import android.telephony.CdmaEriInformation;
import android.telephony.CellSignalStrength;
import android.telephony.CellSignalStrengthCdma;
+import android.telephony.DataSpecificRegistrationInfo;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -321,9 +323,9 @@ public class MobileSignalController extends SignalController<
private int getNumLevels() {
if (mInflateSignalStrengths) {
- return SignalStrength.NUM_SIGNAL_STRENGTH_BINS + 1;
+ return CellSignalStrength.getNumSignalStrengthLevels() + 1;
}
- return SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
+ return CellSignalStrength.getNumSignalStrengthLevels();
}
@Override
@@ -616,10 +618,19 @@ public class MobileSignalController extends SignalController<
notifyListenersIfNecessary();
}
+ private int getNrState(ServiceState serviceState) {
+ NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
+ NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+ if (nri != null) {
+ return nri.getNrState();
+ }
+ return NetworkRegistrationInfo.NR_STATE_NONE;
+ }
+
private MobileIconGroup getNr5GIconGroup() {
if (mServiceState == null) return null;
- int nrState = mServiceState.getNrState();
+ int nrState = getNrState(mServiceState);
if (nrState == NetworkRegistrationInfo.NR_STATE_CONNECTED) {
// Check if the NR 5G is using millimeter wave and the icon is config.
if (mServiceState.getNrFrequencyRange() == ServiceState.FREQUENCY_RANGE_MMWAVE) {
@@ -772,12 +783,24 @@ public class MobileSignalController extends SignalController<
if (mDataNetType == TelephonyManager.NETWORK_TYPE_LTE) {
if (isCarrierSpecificDataIcon()) {
mCAPlus = true;
- } else if (mServiceState != null && mServiceState.isUsingCarrierAggregation()) {
+ } else if (mServiceState != null && isUsingCarrierAggregation(mServiceState)) {
mCA = true;
}
}
}
+ private boolean isUsingCarrierAggregation(ServiceState serviceState) {
+ NetworkRegistrationInfo nri = serviceState.getNetworkRegistrationInfo(
+ NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+ if (nri != null) {
+ DataSpecificRegistrationInfo dsri = nri.getDataSpecificInfo();
+ if (dsri != null) {
+ return dsri.isUsingCarrierAggregation();
+ }
+ }
+ return false;
+ }
+
@Override
public void onDataActivity(int direction) {
if (DEBUG) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index 6dd113377ce7..46143ca0dd24 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -41,9 +41,9 @@ import android.os.Looper;
import android.os.PersistableBundle;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
+import android.telephony.CellSignalStrength;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
-import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
@@ -56,7 +56,6 @@ import android.util.SparseArray;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.telephony.TelephonyIntents;
import com.android.settingslib.net.DataUsageController;
import com.android.systemui.DemoMode;
import com.android.systemui.Dumpable;
@@ -605,7 +604,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
@VisibleForTesting
void doUpdateMobileControllers() {
List<SubscriptionInfo> subscriptions = mSubscriptionManager
- .getActiveSubscriptionInfoList(false);
+ .getActiveAndHiddenSubscriptionInfoList();
if (subscriptions == null) {
subscriptions = Collections.emptyList();
}
@@ -1035,7 +1034,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
if (level != null) {
controller.getState().level = level.equals("null") ? -1
: Math.min(Integer.parseInt(level),
- SignalStrength.NUM_SIGNAL_STRENGTH_BINS);
+ CellSignalStrength.getNumSignalStrengthLevels());
controller.getState().connected = controller.getState().level >= 0;
}
if (args.containsKey("inflate")) {
diff --git a/packages/SystemUI/src/com/android/systemui/tracing/ProtoTracer.java b/packages/SystemUI/src/com/android/systemui/tracing/ProtoTracer.java
new file mode 100644
index 000000000000..3bef044a2526
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tracing/ProtoTracer.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.tracing;
+
+import static com.android.systemui.tracing.nano.SystemUiTraceFileProto.MAGIC_NUMBER_H;
+import static com.android.systemui.tracing.nano.SystemUiTraceFileProto.MAGIC_NUMBER_L;
+
+import android.content.Context;
+import android.os.SystemClock;
+
+import androidx.annotation.NonNull;
+
+import com.android.systemui.DumpController;
+import com.android.systemui.Dumpable;
+import com.android.systemui.shared.tracing.FrameProtoTracer;
+import com.android.systemui.shared.tracing.FrameProtoTracer.ProtoTraceParams;
+import com.android.systemui.shared.tracing.ProtoTraceable;
+import com.android.systemui.tracing.nano.SystemUiTraceProto;
+import com.android.systemui.tracing.nano.SystemUiTraceEntryProto;
+import com.android.systemui.tracing.nano.SystemUiTraceFileProto;
+
+import com.google.protobuf.nano.MessageNano;
+
+import java.io.File;
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Queue;
+
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+/**
+ * Controller for coordinating winscope proto tracing.
+ */
+@Singleton
+public class ProtoTracer implements Dumpable, ProtoTraceParams<MessageNano, SystemUiTraceFileProto,
+ SystemUiTraceEntryProto, SystemUiTraceProto> {
+
+ private static final String TAG = "ProtoTracer";
+ private static final long MAGIC_NUMBER_VALUE = ((long) MAGIC_NUMBER_H << 32) | MAGIC_NUMBER_L;
+
+ private final Context mContext;
+ private final FrameProtoTracer<MessageNano, SystemUiTraceFileProto, SystemUiTraceEntryProto,
+ SystemUiTraceProto> mProtoTracer;
+
+ @Inject
+ public ProtoTracer(Context context, DumpController dumpController) {
+ mContext = context;
+ mProtoTracer = new FrameProtoTracer<>(this);
+ dumpController.registerDumpable(this);
+ }
+
+ @Override
+ public File getTraceFile() {
+ return new File(mContext.getFilesDir(), "sysui_trace.pb");
+ }
+
+ @Override
+ public SystemUiTraceFileProto getEncapsulatingTraceProto() {
+ return new SystemUiTraceFileProto();
+ }
+
+ @Override
+ public SystemUiTraceEntryProto updateBufferProto(SystemUiTraceEntryProto reuseObj,
+ ArrayList<ProtoTraceable<SystemUiTraceProto>> traceables) {
+ SystemUiTraceEntryProto proto = reuseObj != null
+ ? reuseObj
+ : new SystemUiTraceEntryProto();
+ proto.elapsedRealtimeNanos = SystemClock.elapsedRealtimeNanos();
+ proto.systemUi = proto.systemUi != null ? proto.systemUi : new SystemUiTraceProto();
+ for (ProtoTraceable t : traceables) {
+ t.writeToProto(proto.systemUi);
+ }
+ return proto;
+ }
+
+ @Override
+ public byte[] serializeEncapsulatingProto(SystemUiTraceFileProto encapsulatingProto,
+ Queue<SystemUiTraceEntryProto> buffer) {
+ encapsulatingProto.magicNumber = MAGIC_NUMBER_VALUE;
+ encapsulatingProto.entry = buffer.toArray(new SystemUiTraceEntryProto[0]);
+ return MessageNano.toByteArray(encapsulatingProto);
+ }
+
+ @Override
+ public byte[] getProtoBytes(MessageNano proto) {
+ return MessageNano.toByteArray(proto);
+ }
+
+ @Override
+ public int getProtoSize(MessageNano proto) {
+ return proto.getCachedSize();
+ }
+
+ public void start() {
+ mProtoTracer.start();
+ }
+
+ public void stop() {
+ mProtoTracer.stop();
+ }
+
+ public boolean isEnabled() {
+ return mProtoTracer.isEnabled();
+ }
+
+ public void add(ProtoTraceable<SystemUiTraceProto> traceable) {
+ mProtoTracer.add(traceable);
+ }
+
+ public void remove(ProtoTraceable<SystemUiTraceProto> traceable) {
+ mProtoTracer.remove(traceable);
+ }
+
+ public void scheduleFrameUpdate() {
+ mProtoTracer.scheduleFrameUpdate();
+ }
+
+ public void update() {
+ mProtoTracer.update();
+ }
+
+ @Override
+ public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) {
+ pw.println("ProtoTracer:");
+ pw.print(" "); pw.println("enabled: " + mProtoTracer.isEnabled());
+ pw.print(" "); pw.println("usagePct: " + mProtoTracer.getBufferUsagePct());
+ pw.print(" "); pw.println("file: " + getTraceFile());
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tracing/sysui_trace.proto b/packages/SystemUI/src/com/android/systemui/tracing/sysui_trace.proto
new file mode 100644
index 000000000000..d940a6b5c460
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tracing/sysui_trace.proto
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto2";
+
+package com.android.systemui.tracing;
+
+option java_multiple_files = true;
+
+message SystemUiTraceProto {
+
+ optional EdgeBackGestureHandlerProto edge_back_gesture_handler = 1;
+}
+
+message EdgeBackGestureHandlerProto {
+
+ optional bool allow_gesture = 1;
+}
+
+/* represents a file full of system ui trace entries.
+ Encoded, it should start with 0x9 0x53 0x59 0x53 0x55 0x49 0x54 0x52 0x43 (.SYSUITRC), such
+ that they can be easily identified. */
+message SystemUiTraceFileProto {
+
+ /* constant; MAGIC_NUMBER = (long) MAGIC_NUMBER_H << 32 | MagicNumber.MAGIC_NUMBER_L
+ (this is needed because enums have to be 32 bits and there's no nice way to put 64bit
+ constants into .proto files. */
+ enum MagicNumber {
+ INVALID = 0;
+ MAGIC_NUMBER_L = 0x55535953; /* SYSU (little-endian ASCII) */
+ MAGIC_NUMBER_H = 0x43525449; /* ITRC (little-endian ASCII) */
+ }
+
+ optional fixed64 magic_number = 1; /* Must be the first field, set to value in MagicNumber */
+ repeated SystemUiTraceEntryProto entry = 2;
+}
+
+/* one system ui trace entry. */
+message SystemUiTraceEntryProto {
+ /* required: elapsed realtime in nanos since boot of when this entry was logged */
+ optional fixed64 elapsed_realtime_nanos = 1;
+
+ optional SystemUiTraceProto system_ui = 3;
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIBinder.java b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIBinder.java
new file mode 100644
index 000000000000..264ddc026781
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIBinder.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.tv;
+
+import com.android.systemui.dagger.SystemUIRootComponent;
+
+import dagger.Binds;
+import dagger.Module;
+
+@Module
+interface TvSystemUIBinder {
+ @Binds
+ SystemUIRootComponent bindSystemUIRootComponent(TvSystemUIRootComponent systemUIRootComponent);
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIFactory.java
new file mode 100644
index 000000000000..7d3ec678fd5f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIFactory.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.tv;
+
+import android.content.Context;
+
+import com.android.systemui.SystemUIFactory;
+import com.android.systemui.dagger.SystemUIRootComponent;
+
+/**
+ * TV variant {@link SystemUIFactory}, that substitutes default {@link SystemUIRootComponent} for
+ * {@link TvSystemUIRootComponent}
+ */
+public class TvSystemUIFactory extends SystemUIFactory {
+ @Override
+ protected SystemUIRootComponent buildSystemUIRootComponent(Context context) {
+ return DaggerTvSystemUIRootComponent.builder()
+ .context(context)
+ .build();
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIRootComponent.java b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIRootComponent.java
new file mode 100644
index 000000000000..fcf27009883a
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/tv/TvSystemUIRootComponent.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.tv;
+
+import android.content.Context;
+
+import com.android.systemui.dagger.DefaultComponentBinder;
+import com.android.systemui.dagger.DependencyBinder;
+import com.android.systemui.dagger.DependencyProvider;
+import com.android.systemui.dagger.SystemServicesModule;
+import com.android.systemui.dagger.SystemUIBinder;
+import com.android.systemui.dagger.SystemUIDefaultModule;
+import com.android.systemui.dagger.SystemUIModule;
+import com.android.systemui.dagger.SystemUIRootComponent;
+
+import javax.inject.Singleton;
+
+import dagger.BindsInstance;
+import dagger.Component;
+
+/**
+ * Root component for Dagger injection.
+ */
+@Singleton
+@Component(modules = {
+ DefaultComponentBinder.class,
+ DependencyProvider.class,
+ DependencyBinder.class,
+ SystemServicesModule.class,
+ SystemUIBinder.class,
+ SystemUIModule.class,
+ SystemUIDefaultModule.class,
+ TvSystemUIBinder.class})
+public interface TvSystemUIRootComponent extends SystemUIRootComponent {
+ /**
+ * Component Builder interface. This allows to bind Context instance in the component
+ */
+ @Component.Builder
+ interface Builder {
+ @BindsInstance Builder context(Context context);
+
+ TvSystemUIRootComponent build();
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/util/Utils.java b/packages/SystemUI/src/com/android/systemui/util/Utils.java
index 47454cb5aca1..cfa2947eb862 100644
--- a/packages/SystemUI/src/com/android/systemui/util/Utils.java
+++ b/packages/SystemUI/src/com/android/systemui/util/Utils.java
@@ -129,8 +129,6 @@ public class Utils {
*/
public static boolean useQsMediaPlayer(Context context) {
int flag = Settings.System.getInt(context.getContentResolver(), "qs_media_player", 0);
- flag |= Settings.System.getInt(context.getContentResolver(), "npv_plugin_flag", 0);
-
return flag > 0;
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/wm/DisplayChangeController.java b/packages/SystemUI/src/com/android/systemui/wm/DisplayChangeController.java
new file mode 100644
index 000000000000..66bc306d4a59
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/wm/DisplayChangeController.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.wm;
+
+import android.os.Handler;
+import android.os.RemoteException;
+import android.view.IDisplayWindowRotationCallback;
+import android.view.IDisplayWindowRotationController;
+import android.view.IWindowManager;
+import android.view.WindowContainerTransaction;
+
+import java.util.ArrayList;
+
+/**
+ * This module deals with display rotations coming from WM. When WM starts a rotation: after it has
+ * frozen the screen, it will call into this class. This will then call all registered local
+ * controllers and give them a chance to queue up task changes to be applied synchronously with that
+ * rotation.
+ */
+public class DisplayChangeController {
+
+ private final Handler mHandler;
+ private final IWindowManager mWmService;
+
+ private final ArrayList<OnDisplayChangingListener> mRotationListener =
+ new ArrayList<>();
+ private final ArrayList<OnDisplayChangingListener> mTmpListeners = new ArrayList<>();
+
+ private final IDisplayWindowRotationController mDisplayRotationController =
+ new IDisplayWindowRotationController.Stub() {
+ @Override
+ public void onRotateDisplay(int displayId, final int fromRotation,
+ final int toRotation, IDisplayWindowRotationCallback callback) {
+ mHandler.post(() -> {
+ WindowContainerTransaction t = new WindowContainerTransaction();
+ synchronized (mRotationListener) {
+ mTmpListeners.clear();
+ // Make a local copy in case the handlers add/remove themselves.
+ mTmpListeners.addAll(mRotationListener);
+ }
+ for (OnDisplayChangingListener c : mTmpListeners) {
+ c.onRotateDisplay(displayId, fromRotation, toRotation, t);
+ }
+ try {
+ callback.continueRotateDisplay(toRotation, t);
+ } catch (RemoteException e) {
+ }
+ });
+ }
+ };
+
+ public DisplayChangeController(Handler mainHandler, IWindowManager wmService) {
+ mHandler = mainHandler;
+ mWmService = wmService;
+ try {
+ mWmService.setDisplayWindowRotationController(mDisplayRotationController);
+ } catch (RemoteException e) {
+ throw new RuntimeException("Unable to register rotation controller");
+ }
+ }
+
+ /**
+ * Adds a display rotation controller.
+ */
+ public void addRotationListener(OnDisplayChangingListener listener) {
+ synchronized (mRotationListener) {
+ mRotationListener.add(listener);
+ }
+ }
+
+ /**
+ * Removes a display rotation controller.
+ */
+ public void removeRotationListener(OnDisplayChangingListener listener) {
+ synchronized (mRotationListener) {
+ mRotationListener.remove(listener);
+ }
+ }
+
+ /**
+ * Give a listener a chance to queue up configuration changes to execute as part of a
+ * display rotation. The contents of {@link #onRotateDisplay} must run synchronously.
+ */
+ public interface OnDisplayChangingListener {
+ /**
+ * Called before the display is rotated. Contents of this method must run synchronously.
+ * @param displayId Id of display that is rotating.
+ * @param fromRotation starting rotation of the display.
+ * @param toRotation target rotation of the display (after rotating).
+ * @param t A task transaction to populate.
+ */
+ void onRotateDisplay(int displayId, int fromRotation, int toRotation,
+ WindowContainerTransaction t);
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/wm/DisplayWindowController.java b/packages/SystemUI/src/com/android/systemui/wm/DisplayController.java
index 951d6dd4c3a3..bc24ad0118e7 100644
--- a/packages/SystemUI/src/com/android/systemui/wm/DisplayWindowController.java
+++ b/packages/SystemUI/src/com/android/systemui/wm/DisplayController.java
@@ -26,12 +26,10 @@ import android.util.Slog;
import android.util.SparseArray;
import android.view.Display;
import android.view.IDisplayWindowListener;
-import android.view.IDisplayWindowRotationCallback;
-import android.view.IDisplayWindowRotationController;
import android.view.IWindowManager;
-import android.view.WindowContainerTransaction;
import com.android.systemui.dagger.qualifiers.Main;
+import com.android.systemui.wm.DisplayChangeController.OnDisplayChangingListener;
import java.util.ArrayList;
@@ -45,42 +43,16 @@ import javax.inject.Singleton;
* rotation.
*/
@Singleton
-public class DisplayWindowController {
- private static final String TAG = "DisplayWindowController";
+public class DisplayController {
+ private static final String TAG = "DisplayController";
private final Handler mHandler;
private final Context mContext;
private final IWindowManager mWmService;
-
- private final ArrayList<OnDisplayWindowRotationController> mRotationControllers =
- new ArrayList<>();
- private final ArrayList<OnDisplayWindowRotationController> mTmpControllers = new ArrayList<>();
+ private final DisplayChangeController mChangeController;
private final SparseArray<DisplayRecord> mDisplays = new SparseArray<>();
- private final ArrayList<DisplayWindowListener> mDisplayChangedListeners = new ArrayList<>();
-
- private final IDisplayWindowRotationController mDisplayRotationController =
- new IDisplayWindowRotationController.Stub() {
- @Override
- public void onRotateDisplay(int displayId, final int fromRotation,
- final int toRotation, IDisplayWindowRotationCallback callback) {
- mHandler.post(() -> {
- WindowContainerTransaction t = new WindowContainerTransaction();
- synchronized (mRotationControllers) {
- mTmpControllers.clear();
- // Make a local copy in case the handlers add/remove themselves.
- mTmpControllers.addAll(mRotationControllers);
- }
- for (OnDisplayWindowRotationController c : mTmpControllers) {
- c.onRotateDisplay(displayId, fromRotation, toRotation, t);
- }
- try {
- callback.continueRotateDisplay(toRotation, t);
- } catch (RemoteException e) {
- }
- });
- }
- };
+ private final ArrayList<OnDisplaysChangedListener> mDisplayChangedListeners = new ArrayList<>();
/**
* Get's a display by id from DisplayManager.
@@ -160,14 +132,14 @@ public class DisplayWindowController {
};
@Inject
- public DisplayWindowController(Context context, @Main Handler mainHandler,
+ public DisplayController(Context context, @Main Handler mainHandler,
IWindowManager wmService) {
mHandler = mainHandler;
mContext = context;
mWmService = wmService;
+ mChangeController = new DisplayChangeController(mHandler, mWmService);
try {
mWmService.registerDisplayWindowListener(mDisplayContainerListener);
- mWmService.setDisplayWindowRotationController(mDisplayRotationController);
} catch (RemoteException e) {
throw new RuntimeException("Unable to register hierarchy listener");
}
@@ -193,7 +165,7 @@ public class DisplayWindowController {
* Add a display window-container listener. It will get notified whenever a display's
* configuration changes or when displays are added/removed from the WM hierarchy.
*/
- public void addDisplayWindowListener(DisplayWindowListener listener) {
+ public void addDisplayWindowListener(OnDisplaysChangedListener listener) {
synchronized (mDisplays) {
if (mDisplayChangedListeners.contains(listener)) {
return;
@@ -208,7 +180,7 @@ public class DisplayWindowController {
/**
* Remove a display window-container listener.
*/
- public void removeDisplayWindowListener(DisplayWindowListener listener) {
+ public void removeDisplayWindowListener(OnDisplaysChangedListener listener) {
synchronized (mDisplays) {
mDisplayChangedListeners.remove(listener);
}
@@ -217,19 +189,15 @@ public class DisplayWindowController {
/**
* Adds a display rotation controller.
*/
- public void addRotationController(OnDisplayWindowRotationController controller) {
- synchronized (mRotationControllers) {
- mRotationControllers.add(controller);
- }
+ public void addDisplayChangingController(OnDisplayChangingListener controller) {
+ mChangeController.addRotationListener(controller);
}
/**
* Removes a display rotation controller.
*/
- public void removeRotationController(OnDisplayWindowRotationController controller) {
- synchronized (mRotationControllers) {
- mRotationControllers.remove(controller);
- }
+ public void removeDisplayChangingController(OnDisplayChangingListener controller) {
+ mChangeController.removeRotationListener(controller);
}
private static class DisplayRecord {
@@ -244,36 +212,20 @@ public class DisplayWindowController {
*
* @see IDisplayWindowListener
*/
- public interface DisplayWindowListener {
+ public interface OnDisplaysChangedListener {
/**
* Called when a display has been added to the WM hierarchy.
*/
- void onDisplayAdded(int displayId);
+ default void onDisplayAdded(int displayId) {}
/**
* Called when a display's window-container configuration changes.
*/
- void onDisplayConfigurationChanged(int displayId, Configuration newConfig);
+ default void onDisplayConfigurationChanged(int displayId, Configuration newConfig) {}
/**
* Called when a display is removed.
*/
- void onDisplayRemoved(int displayId);
- }
-
- /**
- * Give a controller a chance to queue up configuration changes to execute as part of a
- * display rotation. The contents of {@link #onRotateDisplay} must run synchronously.
- */
- public interface OnDisplayWindowRotationController {
- /**
- * Called before the display is rotated. Contents of this method must run synchronously.
- * @param displayId Id of display that is rotating.
- * @param fromRotation starting rotation of the display.
- * @param toRotation target rotation of the display (after rotating).
- * @param t A task transaction to populate.
- */
- void onRotateDisplay(int displayId, int fromRotation, int toRotation,
- WindowContainerTransaction t);
+ default void onDisplayRemoved(int displayId) {}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/wm/DisplayImeController.java b/packages/SystemUI/src/com/android/systemui/wm/DisplayImeController.java
index d413308d4573..7dad05df8f2c 100644
--- a/packages/SystemUI/src/com/android/systemui/wm/DisplayImeController.java
+++ b/packages/SystemUI/src/com/android/systemui/wm/DisplayImeController.java
@@ -45,7 +45,7 @@ import javax.inject.Singleton;
* Manages IME control at the display-level. This occurs when IME comes up in multi-window mode.
*/
@Singleton
-public class DisplayImeController implements DisplayWindowController.DisplayWindowListener {
+public class DisplayImeController implements DisplayController.OnDisplaysChangedListener {
private static final String TAG = "DisplayImeController";
static final int ANIMATION_DURATION_SHOW_MS = 275;
@@ -63,7 +63,7 @@ public class DisplayImeController implements DisplayWindowController.DisplayWind
final ArrayList<ImePositionProcessor> mPositionProcessors = new ArrayList<>();
@Inject
- DisplayImeController(SystemWindows syswin, DisplayWindowController displayController,
+ public DisplayImeController(SystemWindows syswin, DisplayController displayController,
@Main Handler mainHandler) {
mHandler = mainHandler;
mSystemWindows = syswin;
@@ -315,19 +315,20 @@ public class DisplayImeController implements DisplayWindowController.DisplayWind
/**
* Called when the IME position is starting to animate.
*/
- void onImeStartPositioning(int displayId, int imeTop, int finalImeTop, boolean showing,
- SurfaceControl.Transaction t);
+ default void onImeStartPositioning(int displayId, int imeTop, int finalImeTop,
+ boolean showing, SurfaceControl.Transaction t) {}
/**
* Called when the ime position changed. This is expected to be a synchronous call on the
* animation thread. Operations can be added to the transaction to be applied in sync.
*/
- void onImePositionChanged(int displayId, int imeTop, SurfaceControl.Transaction t);
+ default void onImePositionChanged(int displayId, int imeTop,
+ SurfaceControl.Transaction t) {}
/**
* Called when the IME position is done animating.
*/
- void onImeEndPositioning(int displayId, int imeTop, boolean showing,
- SurfaceControl.Transaction t);
+ default void onImeEndPositioning(int displayId, int imeTop, boolean showing,
+ SurfaceControl.Transaction t) {}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/wm/DisplayLayout.java b/packages/SystemUI/src/com/android/systemui/wm/DisplayLayout.java
index 264a683f6a3d..64b0b66a47a9 100644
--- a/packages/SystemUI/src/com/android/systemui/wm/DisplayLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/wm/DisplayLayout.java
@@ -31,9 +31,11 @@ import android.annotation.NonNull;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
+import android.graphics.Insets;
import android.graphics.Rect;
import android.os.SystemProperties;
import android.provider.Settings;
+import android.util.RotationUtils;
import android.util.Size;
import android.view.Display;
import android.view.DisplayCutout;
@@ -43,8 +45,6 @@ import android.view.Surface;
import com.android.internal.R;
-import java.util.List;
-
/**
* Contains information about the layout-properties of a display. This refers to internal layout
* like insets/cutout/rotation. In general, this can be thought of as the System-UI analog to
@@ -323,28 +323,38 @@ public class DisplayLayout {
if (cutout == null || cutout == DisplayCutout.NO_CUTOUT) {
return null;
}
+ final Insets waterfallInsets =
+ RotationUtils.rotateInsets(cutout.getWaterfallInsets(), rotation);
if (rotation == ROTATION_0) {
- return computeSafeInsets(
- cutout, displayWidth, displayHeight);
+ return computeSafeInsets(cutout, displayWidth, displayHeight);
}
final boolean rotated = (rotation == ROTATION_90 || rotation == ROTATION_270);
- Rect[] cutoutRects = computeSafeInsets(cutout, displayWidth, displayHeight)
- .getBoundingRectsAll();
+ Rect[] cutoutRects = cutout.getBoundingRectsAll();
final Rect[] newBounds = new Rect[cutoutRects.length];
final Rect displayBounds = new Rect(0, 0, displayWidth, displayHeight);
for (int i = 0; i < cutoutRects.length; ++i) {
- newBounds[i] = new Rect(cutoutRects[i]);
- rotateBounds(newBounds[i], displayBounds, rotation);
+ final Rect rect = new Rect(cutoutRects[i]);
+ if (!rect.isEmpty()) {
+ rotateBounds(rect, displayBounds, rotation);
+ }
+ newBounds[getBoundIndexFromRotation(i, rotation)] = rect;
}
- return computeSafeInsets(DisplayCutout.fromBounds(newBounds),
+ return computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(newBounds, waterfallInsets),
rotated ? displayHeight : displayWidth,
rotated ? displayWidth : displayHeight);
}
+ private static int getBoundIndexFromRotation(int index, int rotation) {
+ return (index - rotation) < 0
+ ? index - rotation + DisplayCutout.BOUNDS_POSITION_LENGTH
+ : index - rotation;
+ }
+
/** Calculate safe insets. */
public static DisplayCutout computeSafeInsets(DisplayCutout inner,
int displayWidth, int displayHeight) {
- if (inner == DisplayCutout.NO_CUTOUT || inner.isBoundsEmpty()) {
+ if (inner == DisplayCutout.NO_CUTOUT) {
return null;
}
@@ -353,58 +363,44 @@ public class DisplayLayout {
return inner.replaceSafeInsets(safeInsets);
}
- private static Rect computeSafeInsets(Size displaySize, DisplayCutout cutout) {
- if (displaySize.getWidth() < displaySize.getHeight()) {
- final List<Rect> boundingRects = cutout.replaceSafeInsets(
- new Rect(0, displaySize.getHeight() / 2, 0, displaySize.getHeight() / 2))
- .getBoundingRects();
- int topInset = findInsetForSide(displaySize, boundingRects, Gravity.TOP);
- int bottomInset = findInsetForSide(displaySize, boundingRects, Gravity.BOTTOM);
- return new Rect(0, topInset, 0, bottomInset);
- } else if (displaySize.getWidth() > displaySize.getHeight()) {
- final List<Rect> boundingRects = cutout.replaceSafeInsets(
- new Rect(displaySize.getWidth() / 2, 0, displaySize.getWidth() / 2, 0))
- .getBoundingRects();
- int leftInset = findInsetForSide(displaySize, boundingRects, Gravity.LEFT);
- int right = findInsetForSide(displaySize, boundingRects, Gravity.RIGHT);
- return new Rect(leftInset, 0, right, 0);
- } else {
+ private static Rect computeSafeInsets(
+ Size displaySize, DisplayCutout cutout) {
+ if (displaySize.getWidth() == displaySize.getHeight()) {
throw new UnsupportedOperationException("not implemented: display=" + displaySize
+ " cutout=" + cutout);
}
+
+ int leftInset = Math.max(cutout.getWaterfallInsets().left,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectLeft(), Gravity.LEFT));
+ int topInset = Math.max(cutout.getWaterfallInsets().top,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectTop(), Gravity.TOP));
+ int rightInset = Math.max(cutout.getWaterfallInsets().right,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectRight(), Gravity.RIGHT));
+ int bottomInset = Math.max(cutout.getWaterfallInsets().bottom,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectBottom(),
+ Gravity.BOTTOM));
+
+ return new Rect(leftInset, topInset, rightInset, bottomInset);
}
- private static int findInsetForSide(Size display, List<Rect> boundingRects, int gravity) {
+ private static int findCutoutInsetForSide(Size display, Rect boundingRect, int gravity) {
+ if (boundingRect.isEmpty()) {
+ return 0;
+ }
+
int inset = 0;
- final int size = boundingRects.size();
- for (int i = 0; i < size; i++) {
- Rect boundingRect = boundingRects.get(i);
- switch (gravity) {
- case Gravity.TOP:
- if (boundingRect.top == 0) {
- inset = Math.max(inset, boundingRect.bottom);
- }
- break;
- case Gravity.BOTTOM:
- if (boundingRect.bottom == display.getHeight()) {
- inset = Math.max(inset, display.getHeight() - boundingRect.top);
- }
- break;
- case Gravity.LEFT:
- if (boundingRect.left == 0) {
- inset = Math.max(inset, boundingRect.right);
- }
- break;
- case Gravity.RIGHT:
- if (boundingRect.right == display.getWidth()) {
- inset = Math.max(inset, display.getWidth() - boundingRect.left);
- }
- break;
- default:
- throw new IllegalArgumentException("unknown gravity: " + gravity);
- }
+ switch (gravity) {
+ case Gravity.TOP:
+ return Math.max(inset, boundingRect.bottom);
+ case Gravity.BOTTOM:
+ return Math.max(inset, display.getHeight() - boundingRect.top);
+ case Gravity.LEFT:
+ return Math.max(inset, boundingRect.right);
+ case Gravity.RIGHT:
+ return Math.max(inset, display.getWidth() - boundingRect.left);
+ default:
+ throw new IllegalArgumentException("unknown gravity: " + gravity);
}
- return inset;
}
static boolean hasNavigationBar(DisplayInfo info, Context context, int displayId) {
diff --git a/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java b/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java
index 5aba013a7fb8..044a2a6cc4b6 100644
--- a/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java
+++ b/packages/SystemUI/src/com/android/systemui/wm/SystemWindows.java
@@ -64,11 +64,11 @@ public class SystemWindows {
final HashMap<View, SurfaceControlViewHost> mViewRoots = new HashMap<>();
Context mContext;
IWindowSession mSession;
- DisplayWindowController mDisplayController;
+ DisplayController mDisplayController;
IWindowManager mWmService;
- private final DisplayWindowController.DisplayWindowListener mDisplayListener =
- new DisplayWindowController.DisplayWindowListener() {
+ private final DisplayController.OnDisplaysChangedListener mDisplayListener =
+ new DisplayController.OnDisplaysChangedListener() {
@Override
public void onDisplayAdded(int displayId) { }
@@ -86,7 +86,7 @@ public class SystemWindows {
};
@Inject
- public SystemWindows(Context context, DisplayWindowController displayController,
+ public SystemWindows(Context context, DisplayController displayController,
IWindowManager wmService) {
mContext = context;
mWmService = wmService;
@@ -239,12 +239,12 @@ public class SystemWindows {
Rect outVisibleInsets, Rect outStableInsets,
DisplayCutout.ParcelableWrapper cutout, MergedConfiguration mergedConfiguration,
SurfaceControl outSurfaceControl, InsetsState outInsetsState,
- Point outSurfaceSize) {
+ Point outSurfaceSize, SurfaceControl outBLASTSurfaceControl) {
int res = super.relayout(window, seq, attrs, requestedWidth, requestedHeight,
viewVisibility, flags, frameNumber, outFrame, outOverscanInsets,
outContentInsets, outVisibleInsets, outStableInsets,
cutout, mergedConfiguration, outSurfaceControl, outInsetsState,
- outSurfaceSize);
+ outSurfaceSize, outBLASTSurfaceControl);
if (res != 0) {
return res;
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java
index eccf09633f16..ea6cf3329772 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java
@@ -249,7 +249,7 @@ public class CarrierTextControllerTest extends SysuiTestCase {
// STOPSHIP(b/130246708) This line makes sure that SubscriptionManager provides the
// same answer as KeyguardUpdateMonitor. Remove when this is addressed
- when(mSubscriptionManager.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(
+ when(mSubscriptionManager.getActiveAndHiddenSubscriptionInfoList()).thenReturn(
new ArrayList<>());
when(mKeyguardUpdateMonitor.getSimState(anyInt())).thenReturn(
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
index 59eb6c59a2cd..7e4ba92301aa 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
@@ -22,7 +22,6 @@ import static android.telephony.SubscriptionManager.NAME_SOURCE_DEFAULT;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
@@ -438,14 +437,14 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
}
@Test
- public void testIgnoresAuth_whenLockout() {
+ public void testTriesToAuthenticate_whenLockout() {
mKeyguardUpdateMonitor.dispatchStartedWakingUp();
mTestableLooper.processAllMessages();
when(mStrongAuthTracker.getStrongAuthForUser(anyInt())).thenReturn(
KeyguardUpdateMonitor.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT);
mKeyguardUpdateMonitor.onKeyguardVisibilityChanged(true);
- verify(mFaceManager, never()).authenticate(any(), any(), anyInt(), any(), any(), anyInt());
+ verify(mFaceManager).authenticate(any(), any(), anyInt(), any(), any(), anyInt());
}
@Test
@@ -483,7 +482,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
List<SubscriptionInfo> list = new ArrayList<>();
list.add(TEST_SUBSCRIPTION);
list.add(TEST_SUBSCRIPTION_2);
- when(mSubscriptionManager.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(list);
+ when(mSubscriptionManager.getActiveAndHiddenSubscriptionInfoList()).thenReturn(list);
mKeyguardUpdateMonitor.mPhoneStateListener.onActiveDataSubscriptionIdChanged(
TEST_SUBSCRIPTION_2.getSubscriptionId());
mTestableLooper.processAllMessages();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
index 2c9058afd7ab..333b4a778621 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
@@ -274,15 +274,15 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testRemoveBubble_withDismissedNotif() {
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Make it look like dismissed notif
- mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).setShowInShade(false);
+ mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).setSuppressNotification(true);
// Now remove the bubble
mBubbleController.removeBubble(
@@ -317,13 +317,13 @@ public class BubbleControllerTest extends SysuiTestCase {
assertFalse(mBubbleController.isStackExpanded());
// Mark it as a bubble and add it explicitly
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// We should have bubbles & their notifs should not be suppressed
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
assertFalse(mNotificationShadeWindowController.getBubbleExpanded());
// Expand the stack
@@ -335,7 +335,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Make sure the notif is suppressed
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Collapse
mBubbleController.collapseStack();
@@ -347,17 +347,17 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testCollapseAfterChangingExpandedBubble() {
// Mark it as a bubble and add it explicitly
- mEntryListener.onNotificationAdded(mRow.getEntry());
- mEntryListener.onNotificationAdded(mRow2.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow2.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
mBubbleController.updateBubble(mRow2.getEntry());
// We should have bubbles & their notifs should not be suppressed
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow2.getEntry().getKey()));
+ mRow2.getEntry()));
// Expand
BubbleStackView stackView = mBubbleController.getStackView();
@@ -368,13 +368,14 @@ public class BubbleControllerTest extends SysuiTestCase {
// Last added is the one that is expanded
assertEquals(mRow2.getEntry(), mBubbleData.getSelectedBubble().getEntry());
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow2.getEntry().getKey()));
+ mRow2.getEntry()));
// Switch which bubble is expanded
mBubbleController.selectBubble(mRow.getEntry().getKey());
- mBubbleController.expandStack();
+ mBubbleData.setExpanded(true);
+ assertEquals(mRow.getEntry(), stackView.getExpandedBubble().getEntry());
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// collapse for previous bubble
verify(mBubbleExpandListener).onBubbleExpandChanged(false, mRow2.getEntry().getKey());
@@ -389,13 +390,13 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testExpansionRemovesShowInShadeAndDot() {
// Mark it as a bubble and add it explicitly
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// We should have bubbles & their notifs should not be suppressed
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
mTestableLooper.processAllMessages();
assertTrue(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
@@ -407,7 +408,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Notif is suppressed after expansion
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Notif shouldn't show dot after expansion
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
}
@@ -415,13 +416,13 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testUpdateWhileExpanded_DoesntChangeShowInShadeAndDot() {
// Mark it as a bubble and add it explicitly
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// We should have bubbles & their notifs should not be suppressed
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
mTestableLooper.processAllMessages();
assertTrue(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
@@ -433,7 +434,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Notif is suppressed after expansion
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Notif shouldn't show dot after expansion
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
@@ -443,7 +444,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Nothing should have changed
// Notif is suppressed after expansion
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Notif shouldn't show dot after expansion
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
}
@@ -451,8 +452,8 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testRemoveLastExpandedCollapses() {
// Mark it as a bubble and add it explicitly
- mEntryListener.onNotificationAdded(mRow.getEntry());
- mEntryListener.onNotificationAdded(mRow2.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow2.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
mBubbleController.updateBubble(mRow2.getEntry());
verify(mBubbleStateChangeListener).onHasBubblesChanged(true);
@@ -467,7 +468,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Last added is the one that is expanded
assertEquals(mRow2.getEntry(), stackView.getExpandedBubble().getEntry());
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow2.getEntry().getKey()));
+ mRow2.getEntry()));
// Dismiss currently expanded
mBubbleController.removeBubble(stackView.getExpandedBubbleView().getKey(),
@@ -495,7 +496,7 @@ public class BubbleControllerTest extends SysuiTestCase {
Notification.BubbleMetadata.FLAG_AUTO_EXPAND_BUBBLE, false /* enableFlag */);
// Add the auto expand bubble
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// Expansion shouldn't change
@@ -513,7 +514,7 @@ public class BubbleControllerTest extends SysuiTestCase {
Notification.BubbleMetadata.FLAG_AUTO_EXPAND_BUBBLE, true /* enableFlag */);
// Add the auto expand bubble
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// Expansion should change
@@ -531,12 +532,12 @@ public class BubbleControllerTest extends SysuiTestCase {
Notification.BubbleMetadata.FLAG_SUPPRESS_NOTIFICATION, true /* enableFlag */);
// Add the suppress notif bubble
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// Notif should be suppressed because we were foreground
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Dot + flyout is hidden because notif is suppressed
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showFlyout());
@@ -551,7 +552,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Should not be suppressed
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Should show dot
assertTrue(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
@@ -562,7 +563,7 @@ public class BubbleControllerTest extends SysuiTestCase {
// Notif should be suppressed
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Dot + flyout is hidden because notif is suppressed
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
assertFalse(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showFlyout());
@@ -571,12 +572,11 @@ public class BubbleControllerTest extends SysuiTestCase {
verify(mBubbleStateChangeListener).onHasBubblesChanged(true /* hasBubbles */);
}
-
@Test
public void testExpandStackAndSelectBubble_removedFirst() {
final String key = mRow.getEntry().getKey();
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
// Simulate notification cancellation.
@@ -588,9 +588,9 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testMarkNewNotificationAsShowInShade() {
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
mTestableLooper.processAllMessages();
assertTrue(mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()).showDot());
@@ -598,7 +598,7 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testAddNotif_notBubble() {
- mEntryListener.onNotificationAdded(mNonBubbleNotifRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mNonBubbleNotifRow.getEntry());
mEntryListener.onPreEntryUpdated(mNonBubbleNotifRow.getEntry());
verify(mBubbleStateChangeListener, never()).onHasBubblesChanged(anyBoolean());
@@ -643,7 +643,7 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void testRemoveBubble_succeeds_appCancel() {
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
assertTrue(mBubbleController.hasBubbles());
@@ -658,12 +658,12 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void removeBubble_fails_clearAll() {
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
boolean intercepted = mRemoveInterceptor.onNotificationRemoveRequested(
mRow.getEntry().getKey(), REASON_CANCEL_ALL);
@@ -672,7 +672,7 @@ public class BubbleControllerTest extends SysuiTestCase {
assertTrue(intercepted);
// Should update show in shade state
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
verify(mNotificationEntryManager, never()).performRemoveNotification(
any(), anyInt());
@@ -681,12 +681,12 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void removeBubble_fails_userDismissNotif() {
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
boolean intercepted = mRemoveInterceptor.onNotificationRemoveRequested(
mRow.getEntry().getKey(), REASON_CANCEL);
@@ -695,7 +695,7 @@ public class BubbleControllerTest extends SysuiTestCase {
assertTrue(intercepted);
// Should update show in shade state
assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
verify(mNotificationEntryManager, never()).performRemoveNotification(
any(), anyInt());
@@ -704,12 +704,12 @@ public class BubbleControllerTest extends SysuiTestCase {
@Test
public void removeBubble_succeeds_userDismissBubble_userDimissNotif() {
- mEntryListener.onNotificationAdded(mRow.getEntry());
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
mBubbleController.updateBubble(mRow.getEntry());
assertTrue(mBubbleController.hasBubbles());
assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
- mRow.getEntry().getKey()));
+ mRow.getEntry()));
// Dismiss the bubble
mBubbleController.removeBubble(
@@ -724,6 +724,52 @@ public class BubbleControllerTest extends SysuiTestCase {
assertFalse(intercepted);
}
+ @Test
+ public void testNotifyShadeSuppressionChange_notificationDismiss() {
+ BubbleController.NotificationSuppressionChangedListener listener =
+ mock(BubbleController.NotificationSuppressionChangedListener.class);
+ mBubbleData.setSuppressionChangedListener(listener);
+
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
+
+ assertTrue(mBubbleController.hasBubbles());
+ assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
+ mRow.getEntry()));
+
+ mRemoveInterceptor.onNotificationRemoveRequested(mRow.getEntry().getKey(), REASON_CANCEL);
+
+ // Should update show in shade state
+ assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
+ mRow.getEntry()));
+
+ // Should notify delegate that shade state changed
+ verify(listener).onBubbleNotificationSuppressionChange(
+ mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()));
+ }
+
+ @Test
+ public void testNotifyShadeSuppressionChange_bubbleExpanded() {
+ BubbleController.NotificationSuppressionChangedListener listener =
+ mock(BubbleController.NotificationSuppressionChangedListener.class);
+ mBubbleData.setSuppressionChangedListener(listener);
+
+ mEntryListener.onPendingEntryAdded(mRow.getEntry());
+
+ assertTrue(mBubbleController.hasBubbles());
+ assertFalse(mBubbleController.isBubbleNotificationSuppressedFromShade(
+ mRow.getEntry()));
+
+ mBubbleData.setExpanded(true);
+
+ // Once a bubble is expanded the notif is suppressed
+ assertTrue(mBubbleController.isBubbleNotificationSuppressedFromShade(
+ mRow.getEntry()));
+
+ // Should notify delegate that shade state changed
+ verify(listener).onBubbleNotificationSuppressionChange(
+ mBubbleData.getBubbleWithKey(mRow.getEntry().getKey()));
+ }
+
static class TestableBubbleController extends BubbleController {
// Let's assume surfaces can be synchronized immediately.
TestableBubbleController(Context context,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleDataTest.java
index 1a2e23796c78..c9f5b40e8f9f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleDataTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleDataTest.java
@@ -104,6 +104,9 @@ public class BubbleDataTest extends SysuiTestCase {
@Captor
private ArgumentCaptor<BubbleData.Update> mUpdateCaptor;
+ @Mock
+ private BubbleController.NotificationSuppressionChangedListener mSuppressionListener;
+
@Before
public void setUp() throws Exception {
mNotificationTestHelper = new NotificationTestHelper(mContext, mDependency);
@@ -121,20 +124,20 @@ public class BubbleDataTest extends SysuiTestCase {
modifyRanking(mEntryInterruptive)
.setVisuallyInterruptive(true)
.build();
- mBubbleInterruptive = new Bubble(mEntryInterruptive);
+ mBubbleInterruptive = new Bubble(mEntryInterruptive, mSuppressionListener);
ExpandableNotificationRow row = mNotificationTestHelper.createBubble();
mEntryDismissed = createBubbleEntry(1, "dismissed", "package.d");
mEntryDismissed.setRow(row);
- mBubbleDismissed = new Bubble(mEntryDismissed);
+ mBubbleDismissed = new Bubble(mEntryDismissed, mSuppressionListener);
- mBubbleA1 = new Bubble(mEntryA1);
- mBubbleA2 = new Bubble(mEntryA2);
- mBubbleA3 = new Bubble(mEntryA3);
- mBubbleB1 = new Bubble(mEntryB1);
- mBubbleB2 = new Bubble(mEntryB2);
- mBubbleB3 = new Bubble(mEntryB3);
- mBubbleC1 = new Bubble(mEntryC1);
+ mBubbleA1 = new Bubble(mEntryA1, mSuppressionListener);
+ mBubbleA2 = new Bubble(mEntryA2, mSuppressionListener);
+ mBubbleA3 = new Bubble(mEntryA3, mSuppressionListener);
+ mBubbleB1 = new Bubble(mEntryB1, mSuppressionListener);
+ mBubbleB2 = new Bubble(mEntryB2, mSuppressionListener);
+ mBubbleB3 = new Bubble(mEntryB3, mSuppressionListener);
+ mBubbleC1 = new Bubble(mEntryC1, mSuppressionListener);
mBubbleData = new BubbleData(getContext());
@@ -237,9 +240,8 @@ public class BubbleDataTest extends SysuiTestCase {
true /* showInShade */);
verifyUpdateReceived();
- // Make it look like user swiped away row
- mEntryDismissed.getRow().dismiss(false /* refocusOnDismiss */);
- assertThat(mBubbleData.getBubbleWithKey(mBubbleDismissed.getKey()).showInShade()).isFalse();
+ // Suppress the notif / make it look dismissed
+ mBubbleDismissed.setSuppressNotification(true);
mBubbleData.notificationEntryUpdated(mBubbleDismissed, false /* suppressFlyout */,
true /* showInShade */);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleTest.java
index 02f721ce58a7..7f67657e1109 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleTest.java
@@ -16,11 +16,19 @@
package com.android.systemui.bubbles;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
import android.app.Notification;
+import android.app.PendingIntent;
+import android.content.Intent;
+import android.graphics.drawable.Icon;
import android.os.Bundle;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
@@ -30,6 +38,7 @@ import androidx.test.filters.SmallTest;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
+import com.android.systemui.tests.R;
import org.junit.Before;
import org.junit.Test;
@@ -46,6 +55,10 @@ public class BubbleTest extends SysuiTestCase {
private NotificationEntry mEntry;
private Bundle mExtras;
+ private Bubble mBubble;
+
+ @Mock
+ private BubbleController.NotificationSuppressionChangedListener mSuppressionListener;
@Before
public void setUp() {
@@ -57,6 +70,15 @@ public class BubbleTest extends SysuiTestCase {
mEntry = new NotificationEntryBuilder()
.setNotification(mNotif)
.build();
+
+ mBubble = new Bubble(mEntry, mSuppressionListener);
+
+ Intent target = new Intent(mContext, BubblesTestActivity.class);
+ Notification.BubbleMetadata metadata = new Notification.BubbleMetadata.Builder()
+ .createIntentBubble(PendingIntent.getActivity(mContext, 0, target, 0),
+ Icon.createWithResource(mContext, R.drawable.android))
+ .build();
+ mEntry.setBubbleMetadata(metadata);
}
@Test
@@ -123,4 +145,24 @@ public class BubbleTest extends SysuiTestCase {
BubbleViewInfoTask.extractFlyoutMessage(mContext,
mEntry).senderName);
}
+
+ @Test
+ public void testSuppressionListener_change_notified() {
+ assertThat(mBubble.showInShade()).isTrue();
+
+ mBubble.setSuppressNotification(true);
+
+ assertThat(mBubble.showInShade()).isFalse();
+
+ verify(mSuppressionListener).onBubbleNotificationSuppressionChange(mBubble);
+ }
+
+ @Test
+ public void testSuppressionListener_noChange_doesntNotify() {
+ assertThat(mBubble.showInShade()).isTrue();
+
+ mBubble.setSuppressNotification(false);
+
+ verify(mSuppressionListener, never()).onBubbleNotificationSuppressionChange(any());
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsBindingControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsBindingControllerImplTest.kt
index 7c8c7c8f7be6..89c1636e953f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsBindingControllerImplTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsBindingControllerImplTest.kt
@@ -19,6 +19,7 @@ package com.android.systemui.controls.controller
import android.content.ComponentName
import android.content.Context
import android.os.Binder
+import android.os.UserHandle
import android.service.controls.Control
import android.service.controls.DeviceTypes
import android.testing.AndroidTestingRunner
@@ -38,6 +39,7 @@ import org.mockito.Mockito
import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
+import org.mockito.Mockito.reset
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
@@ -55,6 +57,9 @@ class ControlsBindingControllerTest : SysuiTestCase() {
@Mock
private lateinit var mockControlsController: ControlsController
+ private val user = UserHandle.of(mContext.userId)
+ private val otherUser = UserHandle.of(user.identifier + 1)
+
private val executor = FakeExecutor(FakeSystemClock())
private lateinit var controller: ControlsBindingController
private val providers = TestableControlsBindingControllerImpl.providers
@@ -75,6 +80,11 @@ class ControlsBindingControllerTest : SysuiTestCase() {
}
@Test
+ fun testStartOnUser() {
+ assertEquals(user.identifier, controller.currentUserId)
+ }
+
+ @Test
fun testBindAndLoad() {
val callback: (List<Control>) -> Unit = {}
controller.bindAndLoad(TEST_COMPONENT_NAME_1, callback)
@@ -93,7 +103,7 @@ class ControlsBindingControllerTest : SysuiTestCase() {
assertEquals(setOf(TEST_COMPONENT_NAME_1, TEST_COMPONENT_NAME_2),
providers.map { it.componentName }.toSet())
providers.forEach {
- verify(it).bindPermanently()
+ verify(it).bindService()
}
}
@@ -145,6 +155,41 @@ class ControlsBindingControllerTest : SysuiTestCase() {
verify(it).unsubscribe()
}
}
+
+ @Test
+ fun testCurrentUserId() {
+ controller.changeUser(otherUser)
+ assertEquals(otherUser.identifier, controller.currentUserId)
+ }
+
+ @Test
+ fun testChangeUsers_providersHaveCorrectUser() {
+ controller.bindServices(listOf(TEST_COMPONENT_NAME_1))
+ controller.changeUser(otherUser)
+ controller.bindServices(listOf(TEST_COMPONENT_NAME_2))
+
+ val provider1 = providers.first { it.componentName == TEST_COMPONENT_NAME_1 }
+ assertEquals(user, provider1.user)
+ val provider2 = providers.first { it.componentName == TEST_COMPONENT_NAME_2 }
+ assertEquals(otherUser, provider2.user)
+ }
+
+ @Test
+ fun testChangeUsers_providersUnbound() {
+ controller.bindServices(listOf(TEST_COMPONENT_NAME_1))
+ controller.changeUser(otherUser)
+
+ val provider1 = providers.first { it.componentName == TEST_COMPONENT_NAME_1 }
+ verify(provider1).unbindService()
+
+ controller.bindServices(listOf(TEST_COMPONENT_NAME_2))
+ controller.changeUser(user)
+
+ reset(provider1)
+ val provider2 = providers.first { it.componentName == TEST_COMPONENT_NAME_2 }
+ verify(provider2).unbindService()
+ verify(provider1, never()).unbindService()
+ }
}
class TestableControlsBindingControllerImpl(
@@ -157,13 +202,17 @@ class TestableControlsBindingControllerImpl(
val providers = mutableSetOf<ControlsProviderLifecycleManager>()
}
+ // Replaces the real provider with a mock and puts the mock in a visible set.
+ // The mock has the same componentName and user as the real one would have
override fun createProviderManager(component: ComponentName):
ControlsProviderLifecycleManager {
+ val realProvider = super.createProviderManager(component)
val provider = mock(ControlsProviderLifecycleManager::class.java)
val token = Binder()
- `when`(provider.componentName).thenReturn(component)
+ `when`(provider.componentName).thenReturn(realProvider.componentName)
`when`(provider.token).thenReturn(token)
+ `when`(provider.user).thenReturn(realProvider.user)
providers.add(provider)
return provider
}
-} \ No newline at end of file
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt
index be86a9c15e5f..897091f69f36 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt
@@ -17,7 +17,12 @@
package com.android.systemui.controls.controller
import android.app.PendingIntent
+import android.content.BroadcastReceiver
import android.content.ComponentName
+import android.content.Context
+import android.content.ContextWrapper
+import android.content.Intent
+import android.os.UserHandle
import android.provider.Settings
import android.service.controls.Control
import android.service.controls.DeviceTypes
@@ -26,6 +31,8 @@ import android.testing.AndroidTestingRunner
import androidx.test.filters.SmallTest
import com.android.systemui.DumpController
import com.android.systemui.SysuiTestCase
+import com.android.systemui.broadcast.BroadcastDispatcher
+import com.android.systemui.controls.management.ControlsListingController
import com.android.systemui.controls.ControlStatus
import com.android.systemui.controls.ui.ControlsUiController
import com.android.systemui.util.concurrency.FakeExecutor
@@ -37,10 +44,11 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers
-import org.mockito.ArgumentMatchers.eq
import org.mockito.Captor
import org.mockito.Mock
+import org.mockito.Mockito
import org.mockito.Mockito.`when`
+import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.reset
import org.mockito.Mockito.verify
@@ -61,18 +69,25 @@ class ControlsControllerImplTest : SysuiTestCase() {
private lateinit var pendingIntent: PendingIntent
@Mock
private lateinit var persistenceWrapper: ControlsFavoritePersistenceWrapper
+ @Mock
+ private lateinit var broadcastDispatcher: BroadcastDispatcher
+ @Mock
+ private lateinit var listingController: ControlsListingController
@Captor
private lateinit var controlInfoListCaptor: ArgumentCaptor<List<ControlInfo>>
@Captor
private lateinit var controlLoadCallbackCaptor: ArgumentCaptor<(List<Control>) -> Unit>
+ @Captor
+ private lateinit var broadcastReceiverCaptor: ArgumentCaptor<BroadcastReceiver>
private lateinit var delayableExecutor: FakeExecutor
private lateinit var controller: ControlsController
companion object {
fun <T> capture(argumentCaptor: ArgumentCaptor<T>): T = argumentCaptor.capture()
- fun <T : Any> safeEq(value: T): T = eq(value) ?: value
+ fun <T> eq(value: T): T = Mockito.eq(value) ?: value
+ fun <T> any(): T = Mockito.any<T>()
private val TEST_COMPONENT = ComponentName("test.pkg", "test.class")
private const val TEST_CONTROL_ID = "control1"
@@ -89,24 +104,39 @@ class ControlsControllerImplTest : SysuiTestCase() {
TEST_COMPONENT_2, TEST_CONTROL_ID_2, TEST_CONTROL_TITLE_2, TEST_DEVICE_TYPE_2)
}
+ private val user = mContext.userId
+ private val otherUser = user + 1
+
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
Settings.Secure.putInt(mContext.contentResolver,
ControlsControllerImpl.CONTROLS_AVAILABLE, 1)
+ Settings.Secure.putIntForUser(mContext.contentResolver,
+ ControlsControllerImpl.CONTROLS_AVAILABLE, 1, otherUser)
delayableExecutor = FakeExecutor(FakeSystemClock())
+ val wrapper = object : ContextWrapper(mContext) {
+ override fun createContextAsUser(user: UserHandle, flags: Int): Context {
+ return baseContext
+ }
+ }
+
controller = ControlsControllerImpl(
- mContext,
+ wrapper,
delayableExecutor,
uiController,
bindingController,
+ listingController,
+ broadcastDispatcher,
Optional.of(persistenceWrapper),
dumpController
)
assertTrue(controller.available)
+ verify(broadcastDispatcher).registerReceiver(
+ capture(broadcastReceiverCaptor), any(), any(), eq(UserHandle.ALL))
}
private fun builderFromInfo(controlInfo: ControlInfo): Control.StatelessBuilder {
@@ -115,6 +145,11 @@ class ControlsControllerImplTest : SysuiTestCase() {
}
@Test
+ fun testStartOnUser() {
+ assertEquals(user, controller.currentUserId)
+ }
+
+ @Test
fun testStartWithoutFavorites() {
assertTrue(controller.getFavoriteControls().isEmpty())
}
@@ -127,6 +162,8 @@ class ControlsControllerImplTest : SysuiTestCase() {
delayableExecutor,
uiController,
bindingController,
+ listingController,
+ broadcastDispatcher,
Optional.of(persistenceWrapper),
dumpController
)
@@ -190,7 +227,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
controller.loadForComponent(TEST_COMPONENT) {}
reset(persistenceWrapper)
- verify(bindingController).bindAndLoad(safeEq(TEST_COMPONENT),
+ verify(bindingController).bindAndLoad(eq(TEST_COMPONENT),
capture(controlLoadCallbackCaptor))
controlLoadCallbackCaptor.value.invoke(listOf(control))
@@ -262,7 +299,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
assertEquals(ControlStatus(control, false), controlStatus)
}
- verify(bindingController).bindAndLoad(safeEq(TEST_COMPONENT),
+ verify(bindingController).bindAndLoad(eq(TEST_COMPONENT),
capture(controlLoadCallbackCaptor))
controlLoadCallbackCaptor.value.invoke(listOf(control))
@@ -287,7 +324,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
assertEquals(ControlStatus(control2, false), controlStatus2)
}
- verify(bindingController).bindAndLoad(safeEq(TEST_COMPONENT),
+ verify(bindingController).bindAndLoad(eq(TEST_COMPONENT),
capture(controlLoadCallbackCaptor))
controlLoadCallbackCaptor.value.invoke(listOf(control, control2))
@@ -309,7 +346,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
assertTrue(controlStatus.removed)
}
- verify(bindingController).bindAndLoad(safeEq(TEST_COMPONENT),
+ verify(bindingController).bindAndLoad(eq(TEST_COMPONENT),
capture(controlLoadCallbackCaptor))
controlLoadCallbackCaptor.value.invoke(emptyList())
@@ -325,7 +362,7 @@ class ControlsControllerImplTest : SysuiTestCase() {
controller.loadForComponent(TEST_COMPONENT) {}
- verify(bindingController).bindAndLoad(safeEq(TEST_COMPONENT),
+ verify(bindingController).bindAndLoad(eq(TEST_COMPONENT),
capture(controlLoadCallbackCaptor))
controlLoadCallbackCaptor.value.invoke(listOf(control))
@@ -358,4 +395,26 @@ class ControlsControllerImplTest : SysuiTestCase() {
controller.clearFavorites()
assertTrue(controller.getFavoriteControls().isEmpty())
}
-}
+
+ @Test
+ fun testSwitchUsers() {
+ controller.changeFavoriteStatus(TEST_CONTROL_INFO, true)
+
+ reset(persistenceWrapper)
+ val intent = Intent(Intent.ACTION_USER_SWITCHED).apply {
+ putExtra(Intent.EXTRA_USER_HANDLE, otherUser)
+ }
+ val pendingResult = mock(BroadcastReceiver.PendingResult::class.java)
+ `when`(pendingResult.sendingUserId).thenReturn(otherUser)
+ broadcastReceiverCaptor.value.pendingResult = pendingResult
+
+ broadcastReceiverCaptor.value.onReceive(mContext, intent)
+
+ verify(persistenceWrapper).changeFile(any())
+ verify(persistenceWrapper).readFavorites()
+ verify(bindingController).changeUser(UserHandle.of(otherUser))
+ verify(listingController).changeUser(UserHandle.of(otherUser))
+ assertTrue(controller.getFavoriteControls().isEmpty())
+ assertEquals(otherUser, controller.currentUserId)
+ }
+} \ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManagerTest.kt
index 4fc1cca76be6..40566dc39c9e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManagerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsProviderLifecycleManagerTest.kt
@@ -17,6 +17,7 @@
package com.android.systemui.controls.controller
import android.content.ComponentName
+import android.os.UserHandle
import android.service.controls.Control
import android.service.controls.IControlsActionCallback
import android.service.controls.IControlsLoadCallback
@@ -86,6 +87,7 @@ class ControlsProviderLifecycleManagerTest : SysuiTestCase() {
loadCallback,
actionCallback,
subscriber,
+ UserHandle.of(0),
componentName
)
}
@@ -97,13 +99,13 @@ class ControlsProviderLifecycleManagerTest : SysuiTestCase() {
@Test
fun testBindService() {
- manager.bindPermanently()
+ manager.bindService()
assertTrue(mContext.isBound(componentName))
}
@Test
fun testUnbindService() {
- manager.bindPermanently()
+ manager.bindService()
manager.unbindService()
assertFalse(mContext.isBound(componentName))
}
@@ -123,7 +125,7 @@ class ControlsProviderLifecycleManagerTest : SysuiTestCase() {
fun testMaybeUnbind_bindingAndCallback() {
manager.maybeBindAndLoad {}
- manager.maybeUnbindAndRemoveCallback()
+ manager.unbindService()
assertFalse(mContext.isBound(componentName))
assertNull(manager.lastLoadCallback)
}
@@ -148,4 +150,4 @@ class ControlsProviderLifecycleManagerTest : SysuiTestCase() {
eq(actionCallback))
assertEquals(action, wrapperCaptor.getValue().getWrappedAction())
}
-}
+} \ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt
index f09aab97a219..85e937e40acd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/controls/management/ControlsListingControllerImplTest.kt
@@ -17,12 +17,15 @@
package com.android.systemui.controls.management
import android.content.ComponentName
+import android.content.Context
+import android.content.ContextWrapper
import android.content.pm.ServiceInfo
+import android.os.UserHandle
import android.testing.AndroidTestingRunner
import androidx.test.filters.SmallTest
import com.android.settingslib.applications.ServiceListing
-import com.android.settingslib.widget.CandidateInfo
import com.android.systemui.SysuiTestCase
+import com.android.systemui.controls.ControlsServiceInfo
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.time.FakeSystemClock
import org.junit.After
@@ -69,13 +72,22 @@ class ControlsListingControllerImplTest : SysuiTestCase() {
private var serviceListingCallbackCaptor =
ArgumentCaptor.forClass(ServiceListing.Callback::class.java)
+ private val user = mContext.userId
+ private val otherUser = user + 1
+
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
`when`(serviceInfo.componentName).thenReturn(componentName)
- controller = ControlsListingControllerImpl(mContext, executor, mockSL)
+ val wrapper = object : ContextWrapper(mContext) {
+ override fun createContextAsUser(user: UserHandle, flags: Int): Context {
+ return baseContext
+ }
+ }
+
+ controller = ControlsListingControllerImpl(wrapper, executor, { mockSL })
verify(mockSL).addCallback(capture(serviceListingCallbackCaptor))
}
@@ -86,6 +98,11 @@ class ControlsListingControllerImplTest : SysuiTestCase() {
}
@Test
+ fun testStartsOnUser() {
+ assertEquals(user, controller.currentUserId)
+ }
+
+ @Test
fun testNoServices_notListening() {
assertTrue(controller.getCurrentServices().isEmpty())
}
@@ -167,8 +184,9 @@ class ControlsListingControllerImplTest : SysuiTestCase() {
controller.addCallback(mockCallbackOther)
@Suppress("unchecked_cast")
- val captor: ArgumentCaptor<List<CandidateInfo>> =
- ArgumentCaptor.forClass(List::class.java) as ArgumentCaptor<List<CandidateInfo>>
+ val captor: ArgumentCaptor<List<ControlsServiceInfo>> =
+ ArgumentCaptor.forClass(List::class.java)
+ as ArgumentCaptor<List<ControlsServiceInfo>>
executor.runAllReady()
reset(mockCallback)
@@ -185,4 +203,11 @@ class ControlsListingControllerImplTest : SysuiTestCase() {
assertEquals(1, captor.value.size)
assertEquals(componentName.flattenToString(), captor.value[0].key)
}
+
+ @Test
+ fun testChangeUser() {
+ controller.changeUser(UserHandle.of(otherUser))
+ executor.runAllReady()
+ assertEquals(otherUser, controller.currentUserId)
+ }
} \ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationUtil.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationUtil.java
index 752e145d79bd..00d333fb593b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationUtil.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationUtil.java
@@ -53,6 +53,7 @@ public class DozeConfigurationUtil {
when(config.pickupGestureEnabled(anyInt())).thenReturn(false);
when(config.pulseOnNotificationEnabled(anyInt())).thenReturn(true);
when(config.alwaysOnEnabled(anyInt())).thenReturn(false);
+ when(config.dozeSuppressed(anyInt())).thenReturn(false);
when(config.enabled(anyInt())).thenReturn(true);
when(config.getWakeLockScreenDebounce()).thenReturn(0L);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
index 0723a4ce74a4..63cbca9255a6 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
@@ -139,10 +139,69 @@ public class DozeMachineTest extends SysuiTestCase {
}
@Test
+ public void testInitialize_dozeSuppressed_alwaysOnDisabled_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(false);
+
+ mMachine.requestState(INITIALIZED);
+
+ verify(mPartMock).transitionTo(INITIALIZED, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
+ public void testInitialize_dozeSuppressed_alwaysOnEnabled_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
+
+ mMachine.requestState(INITIALIZED);
+
+ verify(mPartMock).transitionTo(INITIALIZED, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
+ public void testInitialize_dozeSuppressed_afterDocked_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mDockManager.isDocked()).thenReturn(true);
+
+ mMachine.requestState(INITIALIZED);
+
+ verify(mPartMock).transitionTo(INITIALIZED, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
+ public void testInitialize_dozeSuppressed_alwaysOnDisabled_afterDockPaused_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(false);
+ when(mDockManager.isDocked()).thenReturn(true);
+ when(mDockManager.isHidden()).thenReturn(true);
+
+ mMachine.requestState(INITIALIZED);
+
+ verify(mPartMock).transitionTo(INITIALIZED, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
+ public void testInitialize_dozeSuppressed_alwaysOnEnabled_afterDockPaused_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
+ when(mDockManager.isDocked()).thenReturn(true);
+ when(mDockManager.isHidden()).thenReturn(true);
+
+ mMachine.requestState(INITIALIZED);
+
+ verify(mPartMock).transitionTo(INITIALIZED, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
public void testPulseDone_goesToDoze() {
when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(false);
mMachine.requestState(INITIALIZED);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_PULSE_DONE);
@@ -155,7 +214,7 @@ public class DozeMachineTest extends SysuiTestCase {
public void testPulseDone_goesToAoD() {
when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
mMachine.requestState(INITIALIZED);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_PULSE_DONE);
@@ -165,10 +224,24 @@ public class DozeMachineTest extends SysuiTestCase {
}
@Test
+ public void testPulseDone_dozeSuppressed_goesToSuppressed() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
+ mMachine.requestState(INITIALIZED);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
+ mMachine.requestState(DOZE_PULSING);
+
+ mMachine.requestState(DOZE_PULSE_DONE);
+
+ verify(mPartMock).transitionTo(DOZE_PULSE_DONE, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
public void testPulseDone_afterDocked_goesToDockedAoD() {
when(mDockManager.isDocked()).thenReturn(true);
mMachine.requestState(INITIALIZED);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_PULSE_DONE);
@@ -178,12 +251,42 @@ public class DozeMachineTest extends SysuiTestCase {
}
@Test
+ public void testPulseDone_dozeSuppressed_afterDocked_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mDockManager.isDocked()).thenReturn(true);
+ mMachine.requestState(INITIALIZED);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
+ mMachine.requestState(DOZE_PULSING);
+
+ mMachine.requestState(DOZE_PULSE_DONE);
+
+ verify(mPartMock).transitionTo(DOZE_PULSE_DONE, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
public void testPulseDone_afterDockPaused_goesToDoze() {
when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
when(mDockManager.isDocked()).thenReturn(true);
when(mDockManager.isHidden()).thenReturn(true);
mMachine.requestState(INITIALIZED);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
+ mMachine.requestState(DOZE_PULSING);
+
+ mMachine.requestState(DOZE_PULSE_DONE);
+
+ verify(mPartMock).transitionTo(DOZE_PULSE_DONE, DOZE);
+ assertEquals(DOZE, mMachine.getState());
+ }
+
+ @Test
+ public void testPulseDone_dozeSuppressed_afterDockPaused_goesToDoze() {
+ when(mConfigMock.dozeSuppressed(anyInt())).thenReturn(true);
+ when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
+ when(mDockManager.isDocked()).thenReturn(true);
+ when(mDockManager.isHidden()).thenReturn(true);
+ mMachine.requestState(INITIALIZED);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_PULSE_DONE);
@@ -227,7 +330,7 @@ public class DozeMachineTest extends SysuiTestCase {
public void testWakeLock_heldInPulseStates() {
mMachine.requestState(INITIALIZED);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
assertTrue(mWakeLockFake.isHeld());
mMachine.requestState(DOZE_PULSING);
@@ -250,7 +353,7 @@ public class DozeMachineTest extends SysuiTestCase {
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_PULSE_DONE);
@@ -262,9 +365,9 @@ public class DozeMachineTest extends SysuiTestCase {
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSE_DONE);
}
@@ -273,7 +376,7 @@ public class DozeMachineTest extends SysuiTestCase {
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE);
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSE_DONE);
}
@@ -286,7 +389,7 @@ public class DozeMachineTest extends SysuiTestCase {
return null;
}).when(mPartMock).transitionTo(any(), eq(DOZE_REQUEST_PULSE));
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
assertEquals(DOZE_PULSING, mMachine.getState());
}
@@ -295,9 +398,9 @@ public class DozeMachineTest extends SysuiTestCase {
public void testPulseReason_getMatchesRequest() {
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE);
- mMachine.requestPulse(DozeEvent.REASON_SENSOR_DOUBLE_TAP);
+ mMachine.requestPulse(DozeLog.REASON_SENSOR_DOUBLE_TAP);
- assertEquals(DozeEvent.REASON_SENSOR_DOUBLE_TAP, mMachine.getPulseReason());
+ assertEquals(DozeLog.REASON_SENSOR_DOUBLE_TAP, mMachine.getPulseReason());
}
@Test
@@ -309,7 +412,7 @@ public class DozeMachineTest extends SysuiTestCase {
if (newState == DOZE_REQUEST_PULSE
|| newState == DOZE_PULSING
|| newState == DOZE_PULSE_DONE) {
- assertEquals(DozeEvent.PULSE_REASON_NOTIFICATION, mMachine.getPulseReason());
+ assertEquals(DozeLog.PULSE_REASON_NOTIFICATION, mMachine.getPulseReason());
} else {
assertTrue("unexpected state " + newState,
newState == DOZE || newState == DOZE_AOD);
@@ -317,7 +420,7 @@ public class DozeMachineTest extends SysuiTestCase {
return null;
}).when(mPartMock).transitionTo(any(), any());
- mMachine.requestPulse(DozeEvent.PULSE_REASON_NOTIFICATION);
+ mMachine.requestPulse(DozeLog.PULSE_REASON_NOTIFICATION);
mMachine.requestState(DOZE_PULSING);
mMachine.requestState(DOZE_PULSE_DONE);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java
index 775acdf58c64..ff03fbae3f3a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSensorsTest.java
@@ -115,14 +115,14 @@ public class DozeSensorsTest extends SysuiTestCase {
mWakeLockScreenListener.onSensorChanged(mock(SensorManagerPlugin.SensorEvent.class));
mTestableLooper.processAllMessages();
- verify(mCallback).onSensorPulse(eq(DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN),
+ verify(mCallback).onSensorPulse(eq(DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN),
anyFloat(), anyFloat(), eq(null));
mDozeSensors.requestTemporaryDisable();
reset(mCallback);
mWakeLockScreenListener.onSensorChanged(mock(SensorManagerPlugin.SensorEvent.class));
mTestableLooper.processAllMessages();
- verify(mCallback, never()).onSensorPulse(eq(DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN),
+ verify(mCallback, never()).onSensorPulse(eq(DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN),
anyFloat(), anyFloat(), eq(null));
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSuppressedHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSuppressedHandlerTest.java
new file mode 100644
index 000000000000..5bdca76d449c
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeSuppressedHandlerTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.doze;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import android.hardware.display.AmbientDisplayConfiguration;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper.RunWithLooper;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.doze.DozeSuppressedHandler.DozeSuppressedSettingObserver;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@RunWithLooper
+public class DozeSuppressedHandlerTest extends SysuiTestCase {
+ @Mock private DozeMachine mMachine;
+ @Mock private DozeSuppressedSettingObserver mObserver;
+ private AmbientDisplayConfiguration mConfig;
+ private DozeSuppressedHandler mSuppressedHandler;
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ mConfig = DozeConfigurationUtil.createMockConfig();
+ mSuppressedHandler = new DozeSuppressedHandler(mContext, mConfig, mMachine, mObserver);
+ }
+
+ @Test
+ public void transitionTo_initialized_registersObserver() throws Exception {
+ mSuppressedHandler.transitionTo(DozeMachine.State.UNINITIALIZED,
+ DozeMachine.State.INITIALIZED);
+
+ verify(mObserver).register();
+ }
+
+ @Test
+ public void transitionTo_finish_unregistersObserver() throws Exception {
+ mSuppressedHandler.transitionTo(DozeMachine.State.INITIALIZED,
+ DozeMachine.State.FINISH);
+
+ verify(mObserver).unregister();
+ }
+
+ @Test
+ public void transitionTo_doze_doesNothing() throws Exception {
+ mSuppressedHandler.transitionTo(DozeMachine.State.INITIALIZED,
+ DozeMachine.State.DOZE);
+
+ verify(mObserver, never()).register();
+ verify(mObserver, never()).unregister();
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
index bf1060905f10..debc9d6430e0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeTriggersTest.java
@@ -165,10 +165,10 @@ public class DozeTriggersTest extends SysuiTestCase {
@Test
public void testProximitySensorNotAvailablel() {
mProximitySensor.setSensorAvailable(false);
- mTriggers.onSensor(DozeEvent.PULSE_REASON_SENSOR_LONG_PRESS, 100, 100, null);
- mTriggers.onSensor(DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN, 100, 100,
+ mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_LONG_PRESS, 100, 100, null);
+ mTriggers.onSensor(DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN, 100, 100,
new float[]{1});
- mTriggers.onSensor(DozeEvent.REASON_SENSOR_TAP, 100, 100, null);
+ mTriggers.onSensor(DozeLog.REASON_SENSOR_TAP, 100, 100, null);
}
private void waitForSensorManager() {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
index c9b6790166e3..92c1d7601106 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
@@ -51,6 +51,7 @@ import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
+import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.util.wakelock.SettableWakeLock;
@@ -87,6 +88,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase {
private SettableWakeLock mMediaWakeLock;
@Mock
private DozeParameters mDozeParameters;
+ @Mock
+ private NextAlarmController mNextAlarmController;
private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
private TestableKeyguardSliceProvider mProvider;
private boolean mIsZenMode;
@@ -97,9 +100,9 @@ public class KeyguardSliceProviderTest extends SysuiTestCase {
mKeyguardUpdateMonitor = mDependency.injectMockDependency(KeyguardUpdateMonitor.class);
mIsZenMode = false;
mProvider = new TestableKeyguardSliceProvider();
+ mProvider.setContextAvailableCallback(context -> { });
mProvider.attachInfo(getContext(), null);
- mProvider.initDependencies(mNotificationMediaManager, mStatusBarStateController,
- mKeyguardBypassController, mDozeParameters);
+ reset(mContentResolver);
SliceProvider.setSpecs(new HashSet<>(Arrays.asList(SliceSpecs.LIST)));
}
@@ -254,13 +257,16 @@ public class KeyguardSliceProviderTest extends SysuiTestCase {
}
@Override
- public boolean onCreateSliceProvider() {
- super.onCreateSliceProvider();
+ protected void inject() {
mAlarmManager = KeyguardSliceProviderTest.this.mAlarmManager;
mContentResolver = KeyguardSliceProviderTest.this.mContentResolver;
mZenModeController = KeyguardSliceProviderTest.this.mZenModeController;
mMediaWakeLock = KeyguardSliceProviderTest.this.mMediaWakeLock;
- return true;
+ mDozeParameters = KeyguardSliceProviderTest.this.mDozeParameters;
+ mNextAlarmController = KeyguardSliceProviderTest.this.mNextAlarmController;
+ mStatusBarStateController = KeyguardSliceProviderTest.this.mStatusBarStateController;
+ mKeyguardBypassController = KeyguardSliceProviderTest.this.mKeyguardBypassController;
+ mMediaManager = KeyguardSliceProviderTest.this.mNotificationMediaManager;
}
@Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java
index 47933ba9fdaa..e58a3a6bf5d7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSSecurityFooterTest.java
@@ -16,8 +16,11 @@ package com.android.systemui.qs;
import static junit.framework.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -447,6 +450,21 @@ public class QSSecurityFooterTest extends SysuiTestCase {
view.findViewById(R.id.vpn_subtitle).getVisibility());
}
+ @Test
+ public void testNoClickWhenGone() {
+ QSTileHost mockHost = mock(QSTileHost.class);
+ mFooter.setHostEnvironment(mockHost);
+ mFooter.refreshState();
+
+ TestableLooper.get(this).processAllMessages();
+
+ assertFalse(mFooter.hasFooter());
+ mFooter.onClick(mFooter.getView());
+
+ // Proxy for dialog being created
+ verify(mockHost, never()).collapsePanels();
+ }
+
private CharSequence addLink(CharSequence description) {
final SpannableStringBuilder message = new SpannableStringBuilder();
message.append(description);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shared/recents/model/TaskKeyLruCacheTest.java b/packages/SystemUI/tests/src/com/android/systemui/shared/recents/model/TaskKeyLruCacheTest.java
deleted file mode 100644
index de6c87c7ff01..000000000000
--- a/packages/SystemUI/tests/src/com/android/systemui/shared/recents/model/TaskKeyLruCacheTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.systemui.shared.recents.model;
-
-
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertNull;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.systemui.SysuiTestCase;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnitRunner;
-
-@SmallTest
-@RunWith(MockitoJUnitRunner.class)
-public class TaskKeyLruCacheTest extends SysuiTestCase {
- private static int sCacheSize = 3;
- private static int sIdTask1 = 1;
- private static int sIdTask2 = 2;
- private static int sIdTask3 = 3;
- private static int sIdUser1 = 1;
-
- TaskKeyLruCache.EvictionCallback mEvictionCallback;
-
- TaskKeyLruCache<Integer> mCache;
- private Task.TaskKey mKey1;
- private Task.TaskKey mKey2;
- private Task.TaskKey mKey3;
-
- @Before
- public void setup() {
- mEvictionCallback = mock(TaskKeyLruCache.EvictionCallback.class);
- mCache = new TaskKeyLruCache<>(sCacheSize, mEvictionCallback);
-
- mKey1 = new Task.TaskKey(sIdTask1, 0, null, null, sIdUser1, System.currentTimeMillis());
- mKey2 = new Task.TaskKey(sIdTask2, 0, null, null, sIdUser1, System.currentTimeMillis());
- mKey3 = new Task.TaskKey(sIdTask3, 0, null, null, sIdUser1, System.currentTimeMillis());
- }
-
- @Test
- public void addSingleItem_get_success() {
- mCache.put(mKey1, 1);
-
- assertEquals(1, (int) mCache.get(mKey1));
- }
-
- @Test
- public void addSingleItem_getUninsertedItem_returnsNull() {
- mCache.put(mKey1, 1);
-
- assertNull(mCache.get(mKey2));
- }
-
- @Test
- public void emptyCache_get_returnsNull() {
- assertNull(mCache.get(mKey1));
- }
-
- @Test
- public void updateItem_get_returnsSecond() {
- mCache.put(mKey1, 1);
- mCache.put(mKey1, 2);
-
- assertEquals(2, (int) mCache.get(mKey1));
- assertEquals(1, mCache.mKeys.size());
- }
-
- @Test
- public void fillCache_put_evictsOldest() {
- mCache.put(mKey1, 1);
- mCache.put(mKey2, 2);
- mCache.put(mKey3, 3);
- Task.TaskKey key4 = new Task.TaskKey(sIdTask3 + 1, 0,
- null, null, sIdUser1, System.currentTimeMillis());
- mCache.put(key4, 4);
-
- assertNull(mCache.get(mKey1));
- assertEquals(3, mCache.mKeys.size());
- assertEquals(mKey2, mCache.mKeys.valueAt(0));
- verify(mEvictionCallback, times(1)).onEntryEvicted(mKey1);
- }
-
- @Test
- public void fillCache_remove_success() {
- mCache.put(mKey1, 1);
- mCache.put(mKey2, 2);
- mCache.put(mKey3, 3);
-
- mCache.remove(mKey2);
-
- assertNull(mCache.get(mKey2));
- assertEquals(2, mCache.mKeys.size());
- verify(mEvictionCallback, times(0)).onEntryEvicted(mKey2);
- }
-
- @Test
- public void put_evictionCallback_notCalled() {
- mCache.put(mKey1, 1);
- verify(mEvictionCallback, times(0)).onEntryEvicted(mKey1);
- }
-
- @Test
- public void evictAll_evictionCallback_called() {
- mCache.put(mKey1, 1);
- mCache.evictAllCache();
- verify(mEvictionCallback, times(1)).onEntryEvicted(mKey1);
- }
-
- @Test
- public void trimAll_evictionCallback_called() {
- mCache.put(mKey1, 1);
- mCache.put(mKey2, 2);
- mCache.trimToSize(-1);
- verify(mEvictionCallback, times(1)).onEntryEvicted(mKey1);
- verify(mEvictionCallback, times(1)).onEntryEvicted(mKey2);
-
- }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
index 3a6accea2b54..c6d57e6df028 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
@@ -95,7 +95,9 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
@Mock
private KeyguardStateController mKeyguardStateController;
- private int mCurrentUserId;
+ private UserInfo mCurrentUser;
+ private UserInfo mSecondaryUser;
+ private UserInfo mWorkUser;
private TestNotificationLockscreenUserManager mLockscreenUserManager;
@Before
@@ -103,10 +105,14 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
MockitoAnnotations.initMocks(this);
mDependency.injectTestDependency(NotificationEntryManager.class, mEntryManager);
- mCurrentUserId = ActivityManager.getCurrentUser();
+ int currentUserId = ActivityManager.getCurrentUser();
+ mCurrentUser = new UserInfo(currentUserId, "", 0);
+ mSecondaryUser = new UserInfo(currentUserId + 1, "", 0);
+ mWorkUser = new UserInfo(currentUserId + 2, "" /* name */, null /* iconPath */, 0,
+ UserManager.USER_TYPE_PROFILE_MANAGED);
- when(mUserManager.getProfiles(mCurrentUserId)).thenReturn(Lists.newArrayList(
- new UserInfo(mCurrentUserId, "", 0), new UserInfo(mCurrentUserId + 1, "", 0)));
+ when(mUserManager.getProfiles(currentUserId)).thenReturn(Lists.newArrayList(
+ mCurrentUser, mSecondaryUser, mWorkUser));
mDependency.injectTestDependency(Dependency.MAIN_HANDLER,
Handler.createAsync(Looper.myLooper()));
@@ -141,15 +147,31 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1);
mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
- assertTrue(mLockscreenUserManager.userAllowsPrivateNotificationsInPublic(mCurrentUserId));
+ assertTrue(mLockscreenUserManager.userAllowsPrivateNotificationsInPublic(mCurrentUser.id));
}
@Test
public void testLockScreenAllowPrivateNotificationsFalse() {
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+ Settings.Secure.putIntForUser(mContext.getContentResolver(),
+ Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0, mCurrentUser.id);
+ mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
+ assertFalse(mLockscreenUserManager.userAllowsNotificationsInPublic(mCurrentUser.id));
+ }
+
+ @Test
+ public void testLockScreenAllowsWorkPrivateNotificationsFalse() {
+ Settings.Secure.putIntForUser(mContext.getContentResolver(),
+ Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0, mWorkUser.id);
+ mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
+ assertFalse(mLockscreenUserManager.allowsManagedPrivateNotificationsInPublic());
+ }
+
+ @Test
+ public void testLockScreenAllowsWorkPrivateNotificationsTrue() {
+ Settings.Secure.putIntForUser(mContext.getContentResolver(),
+ Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1, mWorkUser.id);
mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
- assertFalse(mLockscreenUserManager.userAllowsPrivateNotificationsInPublic(mCurrentUserId));
+ assertTrue(mLockscreenUserManager.allowsManagedPrivateNotificationsInPublic());
}
@Test
@@ -163,16 +185,16 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
public void testActionUserSwitchedCallsOnUserSwitched() {
Intent intent = new Intent()
.setAction(ACTION_USER_SWITCHED)
- .putExtra(Intent.EXTRA_USER_HANDLE, mCurrentUserId + 1);
+ .putExtra(Intent.EXTRA_USER_HANDLE, mSecondaryUser.id);
mLockscreenUserManager.getBaseBroadcastReceiverForTest().onReceive(mContext, intent);
- verify(mPresenter, times(1)).onUserSwitched(mCurrentUserId + 1);
+ verify(mPresenter, times(1)).onUserSwitched(mSecondaryUser.id);
}
@Test
public void testIsLockscreenPublicMode() {
- assertFalse(mLockscreenUserManager.isLockscreenPublicMode(mCurrentUserId));
- mLockscreenUserManager.setLockscreenPublicMode(true, mCurrentUserId);
- assertTrue(mLockscreenUserManager.isLockscreenPublicMode(mCurrentUserId));
+ assertFalse(mLockscreenUserManager.isLockscreenPublicMode(mCurrentUser.id));
+ mLockscreenUserManager.setLockscreenPublicMode(true, mCurrentUser.id);
+ assertTrue(mLockscreenUserManager.isLockscreenPublicMode(mCurrentUser.id));
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
index 0251f2d0f542..7c94ed20e95a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
@@ -17,9 +17,16 @@
package com.android.systemui.statusbar.notification.collection;
import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL;
+import static android.service.notification.NotificationListenerService.REASON_CANCEL;
import static android.service.notification.NotificationListenerService.REASON_CLICK;
+import static android.service.notification.NotificationStats.DISMISSAL_SHADE;
+import static android.service.notification.NotificationStats.DISMISS_SENTIMENT_NEUTRAL;
+import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_NOT_CANCELED;
import static com.android.systemui.statusbar.notification.collection.NotifCollection.REASON_UNKNOWN;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.DISMISSED;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.NOT_DISMISSED;
+import static com.android.systemui.statusbar.notification.collection.NotificationEntry.DismissState.PARENT_DISMISSED;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -40,7 +47,6 @@ import static java.util.Objects.requireNonNull;
import android.annotation.Nullable;
import android.os.RemoteException;
import android.service.notification.NotificationListenerService.Ranking;
-import android.service.notification.NotificationStats;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.util.ArrayMap;
@@ -62,6 +68,7 @@ import com.android.systemui.statusbar.notification.collection.coalescer.GroupCoa
import com.android.systemui.statusbar.notification.collection.notifcollection.CollectionReadyForBuildListener;
import com.android.systemui.statusbar.notification.collection.notifcollection.DismissedByUserStats;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
+import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionLogger;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifLifetimeExtender;
import com.android.systemui.util.Assert;
@@ -76,6 +83,7 @@ import org.mockito.Spy;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -85,6 +93,7 @@ import java.util.Map;
public class NotifCollectionTest extends SysuiTestCase {
@Mock private IStatusBarService mStatusBarService;
+ @Mock private NotifCollectionLogger mLogger;
@Mock private GroupCoalescer mGroupCoalescer;
@Spy private RecordingCollectionListener mCollectionListener;
@Mock private CollectionReadyForBuildListener mBuildListener;
@@ -111,9 +120,11 @@ public class NotifCollectionTest extends SysuiTestCase {
when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(true);
when(mFeatureFlags.isNewNotifPipelineEnabled()).thenReturn(true);
- mCollection = new NotifCollection(mStatusBarService,
+ mCollection = new NotifCollection(
+ mStatusBarService,
mock(DumpController.class),
- mFeatureFlags);
+ mFeatureFlags,
+ mLogger);
mCollection.attach(mGroupCoalescer);
mCollection.addCollectionListener(mCollectionListener);
mCollection.setBuildListener(mBuildListener);
@@ -135,9 +146,10 @@ public class NotifCollectionTest extends SysuiTestCase {
.setRank(4747));
// THEN the listener is notified
- verify(mCollectionListener).onEntryAdded(mEntryCaptor.capture());
-
+ verify(mCollectionListener).onEntryInit(mEntryCaptor.capture());
NotificationEntry entry = mEntryCaptor.getValue();
+
+ verify(mCollectionListener).onEntryAdded(entry);
assertEquals(notif1.key, entry.getKey());
assertEquals(notif1.sbn, entry.getSbn());
assertEquals(notif1.ranking, entry.getRanking());
@@ -231,7 +243,8 @@ public class NotifCollectionTest extends SysuiTestCase {
mNoMan.retractNotif(notif.sbn, REASON_APP_CANCEL);
// THEN the listener is notified
- verify(mCollectionListener).onEntryRemoved(entry, REASON_APP_CANCEL, false);
+ verify(mCollectionListener).onEntryRemoved(entry, REASON_APP_CANCEL);
+ verify(mCollectionListener).onEntryCleanUp(entry);
assertEquals(notif.sbn, entry.getSbn());
assertEquals(notif.ranking, entry.getRanking());
}
@@ -316,24 +329,15 @@ public class NotifCollectionTest extends SysuiTestCase {
}
@Test
- public void testDismissNotification() throws RemoteException {
- // GIVEN a collection with a couple notifications and a lifetime extender
- mCollection.addNotificationLifetimeExtender(mExtender1);
-
+ public void testDismissNotificationSentToSystemServer() throws RemoteException {
+ // GIVEN a collection with a couple notifications
NotifEvent notif1 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 47, "myTag"));
NotifEvent notif2 = mNoMan.postNotif(buildNotif(TEST_PACKAGE2, 88, "barTag"));
NotificationEntry entry2 = mCollectionListener.getEntry(notif2.key);
// WHEN a notification is manually dismissed
- DismissedByUserStats stats = new DismissedByUserStats(
- NotificationStats.DISMISSAL_SHADE,
- NotificationStats.DISMISS_SENTIMENT_NEUTRAL,
- NotificationVisibility.obtain(entry2.getKey(), 7, 2, true));
-
- mCollection.dismissNotification(entry2, REASON_CLICK, stats);
-
- // THEN we check for lifetime extension
- verify(mExtender1).shouldExtendLifetime(entry2, REASON_CLICK);
+ DismissedByUserStats stats = defaultStats(entry2);
+ mCollection.dismissNotification(entry2, defaultStats(entry2));
// THEN we send the dismissal to system server
verify(mStatusBarService).onNotificationClear(
@@ -345,9 +349,96 @@ public class NotifCollectionTest extends SysuiTestCase {
stats.dismissalSurface,
stats.dismissalSentiment,
stats.notificationVisibility);
+ }
+
+ @Test
+ public void testDismissedNotificationsAreMarkedAsDismissedLocally() {
+ // GIVEN a collection with a notification
+ NotifEvent notif1 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 47, "myTag"));
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN a notification is manually dismissed
+ mCollection.dismissNotification(entry1, defaultStats(entry1));
- // THEN we fire a remove event
- verify(mCollectionListener).onEntryRemoved(entry2, REASON_CLICK, true);
+ // THEN the entry is marked as dismissed locally
+ assertEquals(DISMISSED, entry1.getDismissState());
+ }
+
+ @Test
+ public void testDismissedNotificationsCannotBeLifetimeExtended() {
+ // GIVEN a collection with a notification and a lifetime extender
+ mCollection.addNotificationLifetimeExtender(mExtender1);
+ NotifEvent notif1 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 47, "myTag"));
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN a notification is manually dismissed
+ mCollection.dismissNotification(entry1, defaultStats(entry1));
+
+ // THEN lifetime extenders are never queried
+ verify(mExtender1, never()).shouldExtendLifetime(eq(entry1), anyInt());
+ }
+
+ @Test
+ public void testDismissedNotificationsDoNotTriggerRemovalEvents() {
+ // GIVEN a collection with a notification
+ NotifEvent notif1 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 47, "myTag"));
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN a notification is manually dismissed
+ mCollection.dismissNotification(entry1, defaultStats(entry1));
+
+ // THEN onEntryRemoved is not called
+ verify(mCollectionListener, never()).onEntryRemoved(eq(entry1), anyInt());
+ }
+
+ @Test
+ public void testDismissedNotificationsStillAppearInNotificationSet() {
+ // GIVEN a collection with a notification
+ NotifEvent notif1 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 47, "myTag"));
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN a notification is manually dismissed
+ mCollection.dismissNotification(entry1, defaultStats(entry1));
+
+ // THEN the dismissed entry still appears in the notification set
+ assertEquals(
+ new ArraySet<>(Collections.singletonList(entry1)),
+ new ArraySet<>(mCollection.getActiveNotifs()));
+ }
+
+ @Test
+ public void testDismissingLifetimeExtendedSummaryDoesNotDismissChildren() {
+ // GIVEN A notif group with one summary and two children
+ mCollection.addNotificationLifetimeExtender(mExtender1);
+ NotifEvent notif1 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 1, "myTag")
+ .setGroup(mContext, GROUP_1)
+ .setGroupSummary(mContext, true));
+ NotifEvent notif2 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 2, "myTag")
+ .setGroup(mContext, GROUP_1));
+ NotifEvent notif3 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 3, "myTag")
+ .setGroup(mContext, GROUP_1));
+
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+ NotificationEntry entry2 = mCollectionListener.getEntry(notif2.key);
+ NotificationEntry entry3 = mCollectionListener.getEntry(notif3.key);
+
+ // GIVEN that the summary and one child are retracted, but both are lifetime-extended
+ mExtender1.shouldExtendLifetime = true;
+ mNoMan.retractNotif(notif1.sbn, REASON_CANCEL);
+ mNoMan.retractNotif(notif2.sbn, REASON_CANCEL);
+ assertEquals(
+ new ArraySet<>(List.of(entry1, entry2, entry3)),
+ new ArraySet<>(mCollection.getActiveNotifs()));
+
+ // WHEN the summary is dismissed by the user
+ mCollection.dismissNotification(entry1, defaultStats(entry1));
+
+ // THEN the summary is removed, but both children stick around
+ assertEquals(
+ new ArraySet<>(List.of(entry2, entry3)),
+ new ArraySet<>(mCollection.getActiveNotifs()));
+ assertEquals(NOT_DISMISSED, entry2.getDismissState());
+ assertEquals(NOT_DISMISSED, entry3.getDismissState());
}
@Test(expected = IllegalStateException.class)
@@ -360,15 +451,115 @@ public class NotifCollectionTest extends SysuiTestCase {
mNoMan.retractNotif(notif2.sbn, REASON_UNKNOWN);
// WHEN we try to dismiss a notification that isn't present
- mCollection.dismissNotification(
- entry2,
- REASON_CLICK,
- new DismissedByUserStats(0, 0, NotificationVisibility.obtain("foo", 47, 3, true)));
+ mCollection.dismissNotification(entry2, defaultStats(entry2));
// THEN an exception is thrown
}
@Test
+ public void testGroupChildrenAreDismissedLocallyWhenSummaryIsDismissed() {
+ // GIVEN a collection with two grouped notifs in it
+ NotifEvent notif0 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0)
+ .setGroup(mContext, GROUP_1)
+ .setGroupSummary(mContext, true));
+ NotifEvent notif1 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 1)
+ .setGroup(mContext, GROUP_1));
+ NotificationEntry entry0 = mCollectionListener.getEntry(notif0.key);
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN the summary is dismissed
+ mCollection.dismissNotification(entry0, defaultStats(entry0));
+
+ // THEN all members of the group are marked as dismissed locally
+ assertEquals(DISMISSED, entry0.getDismissState());
+ assertEquals(PARENT_DISMISSED, entry1.getDismissState());
+ }
+
+ @Test
+ public void testUpdatingDismissedSummaryBringsChildrenBack() {
+ // GIVEN a collection with two grouped notifs in it
+ NotifEvent notif0 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0)
+ .setGroup(mContext, GROUP_1)
+ .setGroupSummary(mContext, true));
+ NotifEvent notif1 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 1)
+ .setGroup(mContext, GROUP_1));
+ NotificationEntry entry0 = mCollectionListener.getEntry(notif0.key);
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN the summary is dismissed but then reposted without a group
+ mCollection.dismissNotification(entry0, defaultStats(entry0));
+ NotifEvent notif0a = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0));
+
+ // THEN it and all of its previous children are no longer dismissed locally
+ assertEquals(NOT_DISMISSED, entry0.getDismissState());
+ assertEquals(NOT_DISMISSED, entry1.getDismissState());
+ }
+
+ @Test
+ public void testDismissedChildrenAreNotResetByParentUpdate() {
+ // GIVEN a collection with three grouped notifs in it
+ NotifEvent notif0 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0)
+ .setGroup(mContext, GROUP_1)
+ .setGroupSummary(mContext, true));
+ NotifEvent notif1 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 1)
+ .setGroup(mContext, GROUP_1));
+ NotifEvent notif2 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 2)
+ .setGroup(mContext, GROUP_1));
+ NotificationEntry entry0 = mCollectionListener.getEntry(notif0.key);
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+ NotificationEntry entry2 = mCollectionListener.getEntry(notif2.key);
+
+ // WHEN a child is dismissed, then the parent is dismissed, then the parent is updated
+ mCollection.dismissNotification(entry1, defaultStats(entry1));
+ mCollection.dismissNotification(entry0, defaultStats(entry0));
+ NotifEvent notif0a = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0));
+
+ // THEN the manually-dismissed child is still marked as dismissed
+ assertEquals(NOT_DISMISSED, entry0.getDismissState());
+ assertEquals(DISMISSED, entry1.getDismissState());
+ assertEquals(NOT_DISMISSED, entry2.getDismissState());
+ }
+
+ @Test
+ public void testUpdatingGroupKeyOfDismissedSummaryBringsChildrenBack() {
+ // GIVEN a collection with two grouped notifs in it
+ NotifEvent notif0 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0)
+ .setOverrideGroupKey(GROUP_1)
+ .setGroupSummary(mContext, true));
+ NotifEvent notif1 = mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 1)
+ .setOverrideGroupKey(GROUP_1));
+ NotificationEntry entry0 = mCollectionListener.getEntry(notif0.key);
+ NotificationEntry entry1 = mCollectionListener.getEntry(notif1.key);
+
+ // WHEN the summary is dismissed but then reposted AND in the same update one of the
+ // children's ranking loses its override group
+ mCollection.dismissNotification(entry0, defaultStats(entry0));
+ mNoMan.setRanking(entry1.getKey(), new RankingBuilder()
+ .setKey(entry1.getKey())
+ .build());
+ mNoMan.postNotif(
+ buildNotif(TEST_PACKAGE, 0)
+ .setOverrideGroupKey(GROUP_1)
+ .setGroupSummary(mContext, true));
+
+ // THEN it and all of its previous children are no longer dismissed locally, including the
+ // child that is no longer part of the group
+ assertEquals(NOT_DISMISSED, entry0.getDismissState());
+ assertEquals(NOT_DISMISSED, entry1.getDismissState());
+ }
+
+ @Test
public void testLifetimeExtendersAreQueriedWhenNotifRemoved() {
// GIVEN a couple notifications and a few lifetime extenders
mExtender1.shouldExtendLifetime = true;
@@ -383,12 +574,12 @@ public class NotifCollectionTest extends SysuiTestCase {
NotificationEntry entry2 = mCollectionListener.getEntry(notif2.key);
// WHEN a notification is removed
- mNoMan.retractNotif(notif2.sbn, REASON_UNKNOWN);
+ mNoMan.retractNotif(notif2.sbn, REASON_CLICK);
// THEN each extender is asked whether to extend, even if earlier ones return true
- verify(mExtender1).shouldExtendLifetime(entry2, REASON_UNKNOWN);
- verify(mExtender2).shouldExtendLifetime(entry2, REASON_UNKNOWN);
- verify(mExtender3).shouldExtendLifetime(entry2, REASON_UNKNOWN);
+ verify(mExtender1).shouldExtendLifetime(entry2, REASON_CLICK);
+ verify(mExtender2).shouldExtendLifetime(entry2, REASON_CLICK);
+ verify(mExtender3).shouldExtendLifetime(entry2, REASON_CLICK);
// THEN the entry is not removed
assertTrue(mCollection.getActiveNotifs().contains(entry2));
@@ -422,9 +613,9 @@ public class NotifCollectionTest extends SysuiTestCase {
mExtender2.callback.onEndLifetimeExtension(mExtender2, entry2);
// THEN each extender is re-queried
- verify(mExtender1).shouldExtendLifetime(entry2, REASON_UNKNOWN);
- verify(mExtender2).shouldExtendLifetime(entry2, REASON_UNKNOWN);
- verify(mExtender3).shouldExtendLifetime(entry2, REASON_UNKNOWN);
+ verify(mExtender1).shouldExtendLifetime(entry2, REASON_APP_CANCEL);
+ verify(mExtender2).shouldExtendLifetime(entry2, REASON_APP_CANCEL);
+ verify(mExtender3).shouldExtendLifetime(entry2, REASON_APP_CANCEL);
// THEN the entry is not removed
assertTrue(mCollection.getActiveNotifs().contains(entry2));
@@ -460,9 +651,9 @@ public class NotifCollectionTest extends SysuiTestCase {
assertTrue(mCollection.getActiveNotifs().contains(entry2));
// THEN we don't re-query the extenders
- verify(mExtender1, never()).shouldExtendLifetime(eq(entry2), anyInt());
- verify(mExtender2, never()).shouldExtendLifetime(eq(entry2), anyInt());
- verify(mExtender3, never()).shouldExtendLifetime(eq(entry2), anyInt());
+ verify(mExtender1, never()).shouldExtendLifetime(entry2, REASON_APP_CANCEL);
+ verify(mExtender2, never()).shouldExtendLifetime(entry2, REASON_APP_CANCEL);
+ verify(mExtender3, never()).shouldExtendLifetime(entry2, REASON_APP_CANCEL);
// THEN the entry properly records all extenders that returned true
assertEquals(Arrays.asList(mExtender1), entry2.mLifetimeExtenders);
@@ -495,7 +686,7 @@ public class NotifCollectionTest extends SysuiTestCase {
// THEN the entry removed
assertFalse(mCollection.getActiveNotifs().contains(entry2));
- verify(mCollectionListener).onEntryRemoved(entry2, REASON_UNKNOWN, false);
+ verify(mCollectionListener).onEntryRemoved(entry2, REASON_UNKNOWN);
}
@Test
@@ -585,6 +776,36 @@ public class NotifCollectionTest extends SysuiTestCase {
assertEquals(notif2a.ranking, entry2.getRanking());
}
+ @Test
+ public void testCancellationReasonIsSetWhenNotifIsCancelled() {
+ // GIVEN a notification
+ NotifEvent notif0 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 3));
+ NotificationEntry entry0 = mCollectionListener.getEntry(notif0.key);
+
+ // WHEN the notification is retracted
+ mNoMan.retractNotif(notif0.sbn, REASON_APP_CANCEL);
+
+ // THEN the retraction reason is stored on the notif
+ assertEquals(REASON_APP_CANCEL, entry0.mCancellationReason);
+ }
+
+ @Test
+ public void testCancellationReasonIsClearedWhenNotifIsUpdated() {
+ // GIVEN a notification and a lifetime extender that will preserve it
+ NotifEvent notif0 = mNoMan.postNotif(buildNotif(TEST_PACKAGE, 3));
+ NotificationEntry entry0 = mCollectionListener.getEntry(notif0.key);
+ mCollection.addNotificationLifetimeExtender(mExtender1);
+ mExtender1.shouldExtendLifetime = true;
+
+ // WHEN the notification is retracted and subsequently reposted
+ mNoMan.retractNotif(notif0.sbn, REASON_APP_CANCEL);
+ assertEquals(REASON_APP_CANCEL, entry0.mCancellationReason);
+ mNoMan.postNotif(buildNotif(TEST_PACKAGE, 3));
+
+ // THEN the notification has its cancellation reason cleared
+ assertEquals(REASON_NOT_CANCELED, entry0.mCancellationReason);
+ }
+
private static NotificationEntryBuilder buildNotif(String pkg, int id, String tag) {
return new NotificationEntryBuilder()
.setPkg(pkg)
@@ -598,10 +819,21 @@ public class NotifCollectionTest extends SysuiTestCase {
.setId(id);
}
+ private static DismissedByUserStats defaultStats(NotificationEntry entry) {
+ return new DismissedByUserStats(
+ DISMISSAL_SHADE,
+ DISMISS_SENTIMENT_NEUTRAL,
+ NotificationVisibility.obtain(entry.getKey(), 7, 2, true));
+ }
+
private static class RecordingCollectionListener implements NotifCollectionListener {
private final Map<String, NotificationEntry> mLastSeenEntries = new ArrayMap<>();
@Override
+ public void onEntryInit(NotificationEntry entry) {
+ }
+
+ @Override
public void onEntryAdded(NotificationEntry entry) {
mLastSeenEntries.put(entry.getKey(), entry);
}
@@ -611,7 +843,11 @@ public class NotifCollectionTest extends SysuiTestCase {
}
@Override
- public void onEntryRemoved(NotificationEntry entry, int reason, boolean removedByUser) {
+ public void onEntryRemoved(NotificationEntry entry, int reason) {
+ }
+
+ @Override
+ public void onEntryCleanUp(NotificationEntry entry) {
}
public NotificationEntry getEntry(String key) {
@@ -660,4 +896,6 @@ public class NotifCollectionTest extends SysuiTestCase {
private static final String TEST_PACKAGE = "com.android.test.collection";
private static final String TEST_PACKAGE2 = "com.android.test.collection2";
+
+ private static final String GROUP_1 = "group_1";
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java
index e915be37705b..27ca18cd8033 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java
@@ -45,12 +45,12 @@ import com.android.systemui.statusbar.notification.collection.ShadeListBuilder.O
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener;
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeSortListener;
import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeTransformGroupsListener;
+import com.android.systemui.statusbar.notification.collection.listbuilder.ShadeListBuilderLogger;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifComparator;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifFilter;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifPromoter;
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSection;
import com.android.systemui.statusbar.notification.collection.notifcollection.CollectionReadyForBuildListener;
-import com.android.systemui.statusbar.notification.logging.NotifLog;
import com.android.systemui.util.Assert;
import com.android.systemui.util.time.FakeSystemClock;
@@ -81,7 +81,7 @@ public class ShadeListBuilderTest extends SysuiTestCase {
private ShadeListBuilder mListBuilder;
private FakeSystemClock mSystemClock = new FakeSystemClock();
- @Mock private NotifLog mNotifLog;
+ @Mock private ShadeListBuilderLogger mLogger;
@Mock private NotifCollection mNotifCollection;
@Spy private OnBeforeTransformGroupsListener mOnBeforeTransformGroupsListener;
@Spy private OnBeforeSortListener mOnBeforeSortListener;
@@ -103,7 +103,7 @@ public class ShadeListBuilderTest extends SysuiTestCase {
MockitoAnnotations.initMocks(this);
Assert.sMainLooper = TestableLooper.get(this).getLooper();
- mListBuilder = new ShadeListBuilder(mSystemClock, mNotifLog, mock(DumpController.class));
+ mListBuilder = new ShadeListBuilder(mSystemClock, mLogger, mock(DumpController.class));
mListBuilder.setOnRenderListListener(mOnRenderListListener);
mListBuilder.attach(mNotifCollection);
@@ -853,7 +853,7 @@ public class ShadeListBuilderTest extends SysuiTestCase {
public void testGroupTransformEntries() {
// GIVEN a registered OnBeforeTransformGroupsListener
RecordingOnBeforeTransformGroupsListener listener =
- spy(new RecordingOnBeforeTransformGroupsListener());
+ new RecordingOnBeforeTransformGroupsListener();
mListBuilder.addOnBeforeTransformGroupsListener(listener);
// GIVEN some new notifs
@@ -879,12 +879,12 @@ public class ShadeListBuilderTest extends SysuiTestCase {
);
// THEN all the new notifs, including the new GroupEntry, are passed to the listener
- verify(listener).onBeforeTransformGroups(
+ assertEquals(
Arrays.asList(
mEntrySet.get(0),
mBuiltList.get(1),
- mEntrySet.get(4)
- )
+ mEntrySet.get(4)),
+ listener.mEntriesReceived
);
}
@@ -925,13 +925,71 @@ public class ShadeListBuilderTest extends SysuiTestCase {
);
// THEN all the new notifs, including the new GroupEntry, are passed to the listener
- verify(listener).onBeforeTransformGroups(
+ assertEquals(
Arrays.asList(
mEntrySet.get(0),
- mEntrySet.get(1),
mBuiltList.get(2),
- mEntrySet.get(7)
- )
+ mEntrySet.get(7),
+ mEntrySet.get(1)),
+ listener.mEntriesReceived
+ );
+ }
+
+ @Test
+ public void testDispatchListOnBeforeSort() {
+ // GIVEN a registered OnBeforeSortListener
+ RecordingOnBeforeSortListener listener =
+ new RecordingOnBeforeSortListener();
+ mListBuilder.addOnBeforeSortListener(listener);
+ mListBuilder.setComparators(Arrays.asList(new HypeComparator(PACKAGE_3)));
+
+ // GIVEN some new notifs out of order
+ addNotif(0, PACKAGE_1);
+ addNotif(1, PACKAGE_2);
+ addNotif(2, PACKAGE_3);
+
+ // WHEN we run the pipeline
+ dispatchBuild();
+
+ // THEN all the new notifs are passed to the listener out of order
+ assertEquals(
+ Arrays.asList(
+ mEntrySet.get(0),
+ mEntrySet.get(1),
+ mEntrySet.get(2)),
+ listener.mEntriesReceived
+ );
+
+ // THEN the final list is in order
+ verifyBuiltList(
+ notif(2),
+ notif(0),
+ notif(1)
+ );
+ }
+
+ @Test
+ public void testDispatchListOnBeforeRender() {
+ // GIVEN a registered OnBeforeRenderList
+ RecordingOnBeforeRenderistener listener =
+ new RecordingOnBeforeRenderistener();
+ mListBuilder.addOnBeforeRenderListListener(listener);
+
+ // GIVEN some new notifs out of order
+ addNotif(0, PACKAGE_1);
+ addNotif(1, PACKAGE_2);
+ addNotif(2, PACKAGE_3);
+
+ // WHEN we run the pipeline
+ dispatchBuild();
+
+ // THEN all the new notifs are passed to the listener
+ assertEquals(
+ Arrays.asList(
+ mEntrySet.get(0),
+ mEntrySet.get(1),
+ mEntrySet.get(2)),
+ listener.mEntriesReceived
);
}
@@ -1346,9 +1404,32 @@ public class ShadeListBuilderTest extends SysuiTestCase {
private static class RecordingOnBeforeTransformGroupsListener
implements OnBeforeTransformGroupsListener {
+ List<ListEntry> mEntriesReceived;
+
+ @Override
+ public void onBeforeTransformGroups(List<ListEntry> list) {
+ mEntriesReceived = new ArrayList<>(list);
+ }
+ }
+
+ private static class RecordingOnBeforeSortListener
+ implements OnBeforeSortListener {
+ List<ListEntry> mEntriesReceived;
@Override
- public void onBeforeTransformGroups(List<ListEntry> list) { }
+ public void onBeforeSort(List<ListEntry> list) {
+ mEntriesReceived = new ArrayList<>(list);
+ }
+ }
+
+ private static class RecordingOnBeforeRenderistener
+ implements OnBeforeRenderListListener {
+ List<ListEntry> mEntriesReceived;
+
+ @Override
+ public void onBeforeRenderList(List<ListEntry> list) {
+ mEntriesReceived = new ArrayList<>(list);
+ }
}
private static final String PACKAGE_1 = "com.test1";
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java
index 86c1eb97d186..ac9a57022f53 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/coalescer/GroupCoalescerTest.java
@@ -16,8 +16,6 @@
package com.android.systemui.statusbar.notification.collection.coalescer;
-import static com.android.internal.util.Preconditions.checkNotNull;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.Mockito.clearInvocations;
@@ -25,6 +23,8 @@ import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
+import static java.util.Objects.requireNonNull;
+
import android.service.notification.NotificationListenerService.Ranking;
import android.service.notification.NotificationListenerService.RankingMap;
import android.service.notification.StatusBarNotification;
@@ -39,7 +39,6 @@ import com.android.systemui.statusbar.RankingBuilder;
import com.android.systemui.statusbar.notification.collection.NoManSimulator;
import com.android.systemui.statusbar.notification.collection.NoManSimulator.NotifEvent;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
-import com.android.systemui.statusbar.notification.logging.NotifLog;
import com.android.systemui.util.concurrency.FakeExecutor;
import com.android.systemui.util.time.FakeSystemClock;
@@ -63,7 +62,7 @@ public class GroupCoalescerTest extends SysuiTestCase {
@Mock private NotificationListener mListenerService;
@Mock private GroupCoalescer.BatchableNotificationHandler mListener;
- @Mock private NotifLog mLog;
+ @Mock private GroupCoalescerLogger mLogger;
@Captor private ArgumentCaptor<NotificationHandler> mListenerCaptor;
@@ -79,14 +78,14 @@ public class GroupCoalescerTest extends SysuiTestCase {
new GroupCoalescer(
mExecutor,
mClock,
- mLog,
+ mLogger,
MIN_LINGER_DURATION,
MAX_LINGER_DURATION);
mCoalescer.setNotificationHandler(mListener);
mCoalescer.attach(mListenerService);
verify(mListenerService).addNotificationHandler(mListenerCaptor.capture());
- NotificationHandler serviceListener = checkNotNull(mListenerCaptor.getValue());
+ NotificationHandler serviceListener = requireNonNull(mListenerCaptor.getValue());
mNoMan.addListener(serviceListener);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
index 5fc40ccb6c8a..20a089f97f51 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java
@@ -58,7 +58,6 @@ import android.service.notification.StatusBarNotification;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
-import android.util.Slog;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
@@ -601,6 +600,34 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
}
@Test
+ public void testBubble_noChannelChange() throws Exception {
+ mNotificationInfo.bindNotification(
+ mShortcutManager,
+ mLauncherApps,
+ mMockPackageManager,
+ mMockINotificationManager,
+ mVisualStabilityManager,
+ TEST_PACKAGE_NAME,
+ mNotificationChannel,
+ mBubbleEntry,
+ null,
+ null,
+ null,
+ true);
+
+ assertFalse(mBubbleEntry.isBubble());
+ assertTrue(mNotificationChannel.canBubble());
+
+ // Promote it
+ mNotificationInfo.findViewById(R.id.bubble).performClick();
+ mTestableLooper.processAllMessages();
+
+ verify(mBubbleController, times(1)).onUserCreatedBubbleFromNotification(mBubbleEntry);
+ verify(mMockINotificationManager, never()).updateNotificationChannelForPackage(
+ anyString(), anyInt(), any());
+ }
+
+ @Test
public void testFavorite_favorite() throws Exception {
mNotificationInfo.bindNotification(
mShortcutManager,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
index 7602e45c1672..5bd5638b3d5a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
@@ -54,6 +54,7 @@ import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.statusbar.EmptyShadeView;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
+import com.android.systemui.statusbar.NotificationLockscreenUserManager.UserChangedListener;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
@@ -130,6 +131,8 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
@Mock private ZenModeController mZenModeController;
@Mock private NotificationSectionsManager mNotificationSectionsManager;
@Mock private NotificationSection mNotificationSection;
+ @Mock private NotificationLockscreenUserManager mLockscreenUserManager;
+ private UserChangedListener mUserChangedListener;
private TestableNotificationEntryManager mEntryManager;
private int mOriginalInterruptionModelSetting;
@@ -156,6 +159,8 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
mDependency.injectMockDependency(ShadeController.class);
when(mRemoteInputManager.getController()).thenReturn(mRemoteInputController);
+ ArgumentCaptor<UserChangedListener> userChangedCaptor = ArgumentCaptor
+ .forClass(UserChangedListener.class);
mEntryManager = new TestableNotificationEntryManager(
mock(NotifLog.class),
mock(NotificationGroupManager.class),
@@ -195,10 +200,12 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
mHeadsUpManager,
mKeyguardBypassController,
new FalsingManagerFake(),
- mock(NotificationLockscreenUserManager.class),
+ mLockscreenUserManager,
mock(NotificationGutsManager.class),
mZenModeController,
mNotificationSectionsManager);
+ verify(mLockscreenUserManager).addUserChangedListener(userChangedCaptor.capture());
+ mUserChangedListener = userChangedCaptor.getValue();
mStackScroller = spy(mStackScrollerInternal);
mStackScroller.setShelf(notificationShelf);
mStackScroller.setStatusBar(mBar);
@@ -279,6 +286,12 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
}
@Test
+ public void testOnStatePostChange_verifyIfProfileIsPublic() {
+ mUserChangedListener.onUserChanged(0);
+ verify(mLockscreenUserManager).isAnyProfilePublicMode();
+ }
+
+ @Test
public void manageNotifications_visible() {
FooterView view = mock(FooterView.class);
mStackScroller.setFooterView(view);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java
index 3c6a69882d44..a6e29181e435 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeServiceHostTest.java
@@ -36,7 +36,6 @@ import androidx.test.filters.SmallTest;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.assist.AssistManager;
-import com.android.systemui.doze.DozeEvent;
import com.android.systemui.doze.DozeHost;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.keyguard.KeyguardViewMediator;
@@ -144,13 +143,13 @@ public class DozeServiceHostTest extends SysuiTestCase {
@Override
public void onPulseFinished() {
}
- }, DozeEvent.PULSE_REASON_NOTIFICATION);
+ }, DozeLog.PULSE_REASON_NOTIFICATION);
ArgumentCaptor<DozeHost.PulseCallback> pulseCallbackArgumentCaptor =
ArgumentCaptor.forClass(DozeHost.PulseCallback.class);
verify(mDozeScrimController).pulse(
- pulseCallbackArgumentCaptor.capture(), eq(DozeEvent.PULSE_REASON_NOTIFICATION));
+ pulseCallbackArgumentCaptor.capture(), eq(DozeLog.PULSE_REASON_NOTIFICATION));
verify(mStatusBar).updateScrimController();
reset(mStatusBar);
@@ -162,21 +161,21 @@ public class DozeServiceHostTest extends SysuiTestCase {
@Test
public void testPulseWhileDozing_notifyAuthInterrupt() {
HashSet<Integer> reasonsWantingAuth = new HashSet<>(
- Collections.singletonList(DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN));
+ Collections.singletonList(DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN));
HashSet<Integer> reasonsSkippingAuth = new HashSet<>(
- Arrays.asList(DozeEvent.PULSE_REASON_INTENT,
- DozeEvent.PULSE_REASON_NOTIFICATION,
- DozeEvent.PULSE_REASON_SENSOR_SIGMOTION,
- DozeEvent.REASON_SENSOR_PICKUP,
- DozeEvent.REASON_SENSOR_DOUBLE_TAP,
- DozeEvent.PULSE_REASON_SENSOR_LONG_PRESS,
- DozeEvent.PULSE_REASON_DOCKING,
- DozeEvent.REASON_SENSOR_WAKE_UP,
- DozeEvent.REASON_SENSOR_TAP));
+ Arrays.asList(DozeLog.PULSE_REASON_INTENT,
+ DozeLog.PULSE_REASON_NOTIFICATION,
+ DozeLog.PULSE_REASON_SENSOR_SIGMOTION,
+ DozeLog.REASON_SENSOR_PICKUP,
+ DozeLog.REASON_SENSOR_DOUBLE_TAP,
+ DozeLog.PULSE_REASON_SENSOR_LONG_PRESS,
+ DozeLog.PULSE_REASON_DOCKING,
+ DozeLog.REASON_SENSOR_WAKE_UP,
+ DozeLog.REASON_SENSOR_TAP));
HashSet<Integer> reasonsThatDontPulse = new HashSet<>(
- Arrays.asList(DozeEvent.REASON_SENSOR_PICKUP,
- DozeEvent.REASON_SENSOR_DOUBLE_TAP,
- DozeEvent.REASON_SENSOR_TAP));
+ Arrays.asList(DozeLog.REASON_SENSOR_PICKUP,
+ DozeLog.REASON_SENSOR_DOUBLE_TAP,
+ DozeLog.REASON_SENSOR_TAP));
doAnswer(invocation -> {
DozeHost.PulseCallback callback = invocation.getArgument(0);
@@ -185,7 +184,7 @@ public class DozeServiceHostTest extends SysuiTestCase {
}).when(mDozeScrimController).pulse(any(), anyInt());
mDozeServiceHost.mWakeLockScreenPerformsAuth = true;
- for (int i = 0; i < DozeEvent.TOTAL_REASONS; i++) {
+ for (int i = 0; i < DozeLog.TOTAL_REASONS; i++) {
reset(mKeyguardUpdateMonitor);
mDozeServiceHost.pulseWhileDozing(mock(DozeHost.PulseCallback.class), i);
if (reasonsWantingAuth.contains(i)) {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java
new file mode 100644
index 000000000000..be43e19cfc70
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.systemui.statusbar.phone;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.plugins.statusbar.StatusBarStateController;
+import com.android.systemui.statusbar.NotificationListener;
+import com.android.systemui.statusbar.NotificationMediaManager;
+import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class NotificationIconAreaControllerTest extends SysuiTestCase {
+
+ @Mock
+ private NotificationListener mListener;
+ @Mock
+ StatusBar mStatusBar;
+ @Mock
+ StatusBarStateController mStatusBarStateController;
+ @Mock
+ NotificationWakeUpCoordinator mWakeUpCoordinator;
+ @Mock
+ KeyguardBypassController mKeyguardBypassController;
+ @Mock
+ NotificationMediaManager mNotificationMediaManager;
+ @Mock
+ DozeParameters mDozeParameters;
+ @Mock
+ NotificationShadeWindowView mNotificationShadeWindowView;
+ private NotificationIconAreaController mController;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ when(mStatusBar.getNotificationShadeWindowView()).thenReturn(mNotificationShadeWindowView);
+ when(mNotificationShadeWindowView.findViewById(anyInt())).thenReturn(
+ mock(NotificationIconContainer.class));
+
+ mController = new NotificationIconAreaController(mContext, mStatusBar,
+ mStatusBarStateController, mWakeUpCoordinator, mKeyguardBypassController,
+ mNotificationMediaManager, mListener, mDozeParameters);
+ }
+
+ @Test
+ public void testNotificationIcons_settingHideIcons() {
+ mController.mSettingsListener.onStatusBarIconsBehaviorChanged(true);
+
+ assertFalse(mController.shouldShouldLowPriorityIcons());
+ }
+
+ @Test
+ public void testNotificationIcons_settingShowIcons() {
+ mController.mSettingsListener.onStatusBarIconsBehaviorChanged(false);
+
+ assertTrue(mController.shouldShouldLowPriorityIcons());
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
index 1f37ad8b2b1c..5fb71599e2a0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
@@ -55,7 +55,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.classifier.FalsingManagerFake;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.plugins.FalsingManager;
-import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.KeyguardAffordanceView;
@@ -133,8 +132,6 @@ public class NotificationPanelViewTest extends SysuiTestCase {
@Mock
private DynamicPrivacyController mDynamicPrivacyController;
@Mock
- private PluginManager mPluginManager;
- @Mock
private ShadeController mShadeController;
@Mock
private NotificationLockscreenUserManager mNotificationLockscreenUserManager;
@@ -218,7 +215,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
mNotificationPanelViewController = new NotificationPanelViewController(mView,
mInjectionInflationController,
coordinator, expansionHandler, mDynamicPrivacyController, mKeyguardBypassController,
- mFalsingManager, mPluginManager, mShadeController,
+ mFalsingManager, mShadeController,
mNotificationLockscreenUserManager, mNotificationEntryManager,
mKeyguardStateController, mStatusBarStateController, mDozeLog,
mDozeParameters, mCommandQueue, mVibratorHelper,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java
index dd896be0e120..b9d2d229cd69 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java
@@ -54,7 +54,6 @@ import com.android.systemui.statusbar.notification.NotificationInterruptionState
import com.android.systemui.statusbar.notification.VisualStabilityManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.stack.NotificationListContainer;
@@ -113,10 +112,9 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
notificationShadeWindowView, mock(NotificationListContainerViewGroup.class),
mock(DozeScrimController.class), mock(ScrimController.class),
mock(ActivityLaunchAnimator.class), mock(DynamicPrivacyController.class),
- mock(NotificationAlertingManager.class),
- mock(NotificationRowBinderImpl.class), mock(KeyguardStateController.class),
- mock(KeyguardIndicationController.class),
- mStatusBar, mock(ShadeControllerImpl.class), mCommandQueue, mInitController);
+ mock(NotificationAlertingManager.class), mock(KeyguardStateController.class),
+ mock(KeyguardIndicationController.class), mStatusBar,
+ mock(ShadeControllerImpl.class), mCommandQueue, mInitController);
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
index e90e398ba061..db17a6e106b4 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
@@ -95,7 +95,6 @@ import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.statusbar.CommandQueue;
-import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.KeyguardIndicationController;
import com.android.systemui.statusbar.NavigationBarController;
import com.android.systemui.statusbar.NotificationListener;
@@ -120,8 +119,7 @@ import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator
import com.android.systemui.statusbar.notification.VisualStabilityManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
-import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
-import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer;
+import com.android.systemui.statusbar.notification.init.NotificationsController;
import com.android.systemui.statusbar.notification.logging.NotificationLogger;
import com.android.systemui.statusbar.notification.row.NotificationGutsManager;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
@@ -133,10 +131,8 @@ import com.android.systemui.statusbar.policy.ExtensionController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.RemoteInputQuickSettingsDisabler;
-import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
import com.android.systemui.statusbar.policy.UserSwitcherController;
-import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.util.concurrency.FakeExecutor;
import com.android.systemui.util.time.FakeSystemClock;
import com.android.systemui.volume.VolumeComponent;
@@ -149,7 +145,6 @@ import org.mockito.MockitoAnnotations;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
-import java.util.ArrayList;
import java.util.Optional;
import javax.inject.Provider;
@@ -166,7 +161,7 @@ public class StatusBarTest extends SysuiTestCase {
private PowerManager mPowerManager;
private TestableNotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
- @Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotificationsController mNotificationsController;
@Mock private LightBarController mLightBarController;
@Mock private StatusBarIconController mStatusBarIconController;
@Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
@@ -180,7 +175,6 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private IDreamManager mDreamManager;
@Mock private ScrimController mScrimController;
@Mock private DozeScrimController mDozeScrimController;
- @Mock private ArrayList<NotificationEntry> mNotificationList;
@Mock private Lazy<BiometricUnlockController> mBiometricUnlockControllerLazy;
@Mock private BiometricUnlockController mBiometricUnlockController;
@Mock private NotificationInterruptionStateProvider.HeadsUpSuppressor mHeadsUpSuppressor;
@@ -190,7 +184,6 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private NotificationLockscreenUserManager mLockscreenUserManager;
@Mock private NotificationRemoteInputManager mRemoteInputManager;
@Mock private RemoteInputController mRemoteInputController;
- @Mock private RemoteInputUriController mRemoteInputUriController;
@Mock private StatusBarStateControllerImpl mStatusBarStateController;
@Mock private BatteryController mBatteryController;
@Mock private DeviceProvisionedController mDeviceProvisionedController;
@@ -214,8 +207,6 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
@Mock private KeyguardBypassController mKeyguardBypassController;
@Mock private DynamicPrivacyController mDynamicPrivacyController;
- @Mock private NotifPipelineInitializer mNewNotifPipeline;
- @Mock private ZenModeController mZenModeController;
@Mock private AutoHideController mAutoHideController;
@Mock private NotificationViewHierarchyManager mNotificationViewHierarchyManager;
@Mock private UserSwitcherController mUserSwitcherController;
@@ -223,7 +214,6 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private VibratorHelper mVibratorHelper;
@Mock private BubbleController mBubbleController;
@Mock private NotificationGroupManager mGroupManager;
- @Mock private NotificationGroupAlertTransferHelper mGroupAlertTransferHelper;
@Mock private NotificationShadeWindowController mNotificationShadeWindowController;
@Mock private NotificationIconAreaController mNotificationIconAreaController;
@Mock private NotificationShadeWindowViewController mNotificationShadeWindowViewController;
@@ -247,7 +237,6 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private ViewMediatorCallback mViewMediatorCallback;
@Mock private DismissCallbackRegistry mDismissCallbackRegistry;
@Mock private ScreenPinningRequest mScreenPinningRequest;
- @Mock private NotificationEntryManager mEntryManager;
@Mock private LockscreenLockIconController mLockscreenLockIconController;
@Mock private StatusBarNotificationActivityStarter.Builder
mStatusBarNotificationActivityStarterBuilder;
@@ -256,7 +245,6 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private KeyguardDismissUtil mKeyguardDismissUtil;
@Mock private ExtensionController mExtensionController;
@Mock private UserInfoControllerImpl mUserInfoControllerImpl;
- @Mock private NotificationRowBinderImpl mNotificationRowBinder;
private ShadeController mShadeController;
private FakeExecutor mUiBgExecutor = new FakeExecutor(new FakeSystemClock());
private InitController mInitController = new InitController();
@@ -280,7 +268,7 @@ public class StatusBarTest extends SysuiTestCase {
mMetricsLogger = new FakeMetricsLogger();
NotificationLogger notificationLogger = new NotificationLogger(mNotificationListener,
- mUiBgExecutor, mEntryManager, mStatusBarStateController,
+ mUiBgExecutor, mock(NotificationEntryManager.class), mStatusBarStateController,
mExpansionStateLogger);
notificationLogger.setVisibilityReporter(mock(Runnable.class));
@@ -334,7 +322,7 @@ public class StatusBarTest extends SysuiTestCase {
mStatusBar = new StatusBar(
mContext,
- mFeatureFlags,
+ mNotificationsController,
mLightBarController,
mAutoHideController,
mKeyguardUpdateMonitor,
@@ -346,7 +334,6 @@ public class StatusBarTest extends SysuiTestCase {
mHeadsUpManager,
mDynamicPrivacyController,
mBypassHeadsUpNotifier,
- () -> mNewNotifPipeline,
new FalsingManagerFake(),
mBroadcastDispatcher,
new RemoteInputQuickSettingsDisabler(
@@ -356,7 +343,6 @@ public class StatusBarTest extends SysuiTestCase {
),
mNotificationGutsManager,
notificationLogger,
- mEntryManager,
mNotificationInterruptionStateProvider,
mNotificationViewHierarchyManager,
mKeyguardViewMediator,
@@ -377,12 +363,10 @@ public class StatusBarTest extends SysuiTestCase {
mVibratorHelper,
mBubbleController,
mGroupManager,
- mGroupAlertTransferHelper,
mVisualStabilityManager,
mDeviceProvisionedController,
mNavigationBarController,
() -> mAssistManager,
- mNotificationListener,
configurationController,
mNotificationShadeWindowController,
mLockscreenLockIconController,
@@ -399,7 +383,6 @@ public class StatusBarTest extends SysuiTestCase {
Optional.of(mRecents),
mStatusBarComponentBuilderProvider,
mPluginManager,
- mRemoteInputUriController,
Optional.of(mDivider),
mLightsOutNotifController,
mStatusBarNotificationActivityStarterBuilder,
@@ -414,7 +397,6 @@ public class StatusBarTest extends SysuiTestCase {
mKeyguardDismissUtil,
mExtensionController,
mUserInfoControllerImpl,
- mNotificationRowBinder,
mDismissCallbackRegistry);
when(mNotificationShadeWindowView.findViewById(R.id.lock_icon_container)).thenReturn(
@@ -675,7 +657,7 @@ public class StatusBarTest extends SysuiTestCase {
public void testPanelOpenForHeadsUp() {
when(mDeviceProvisionedController.isDeviceProvisioned()).thenReturn(true);
when(mHeadsUpManager.hasPinnedHeadsUp()).thenReturn(true);
- when(mEntryManager.getActiveNotificationsCount()).thenReturn(5);
+ when(mNotificationsController.getActiveNotificationsCount()).thenReturn(5);
when(mNotificationPresenter.isPresenterFullyCollapsed()).thenReturn(true);
mStatusBar.setBarStateForTest(StatusBarState.SHADE);
@@ -693,7 +675,7 @@ public class StatusBarTest extends SysuiTestCase {
@Test
public void testPanelOpenAndClear() {
when(mHeadsUpManager.hasPinnedHeadsUp()).thenReturn(false);
- when(mEntryManager.getActiveNotificationsCount()).thenReturn(5);
+ when(mNotificationsController.getActiveNotificationsCount()).thenReturn(5);
when(mNotificationPresenter.isPresenterFullyCollapsed()).thenReturn(false);
mStatusBar.setBarStateForTest(StatusBarState.SHADE);
@@ -712,7 +694,7 @@ public class StatusBarTest extends SysuiTestCase {
@Test
public void testPanelOpenAndNoClear() {
when(mHeadsUpManager.hasPinnedHeadsUp()).thenReturn(false);
- when(mEntryManager.getActiveNotificationsCount()).thenReturn(5);
+ when(mNotificationsController.getActiveNotificationsCount()).thenReturn(5);
when(mNotificationPresenter.isPresenterFullyCollapsed()).thenReturn(false);
mStatusBar.setBarStateForTest(StatusBarState.KEYGUARD);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
index cc3c3ccdc316..294d546e087b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java
@@ -30,6 +30,7 @@ import static org.mockito.Matchers.eq;
import static org.mockito.Matchers.isA;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -43,6 +44,7 @@ import android.os.Handler;
import android.provider.Settings;
import android.provider.Settings.Global;
import android.telephony.CdmaEriInformation;
+import android.telephony.CellSignalStrength;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -56,7 +58,6 @@ import android.util.Log;
import androidx.test.InstrumentationRegistry;
-import com.android.internal.telephony.cdma.EriInfo;
import com.android.settingslib.graph.SignalDrawable;
import com.android.settingslib.net.DataUsageController;
import com.android.systemui.R;
@@ -95,6 +96,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
protected PhoneStateListener mPhoneStateListener;
protected SignalStrength mSignalStrength;
protected ServiceState mServiceState;
+ protected NetworkRegistrationInfo mFakeRegInfo;
protected ConnectivityManager mMockCm;
protected WifiManager mMockWm;
protected SubscriptionManager mMockSm;
@@ -158,6 +160,14 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
mSignalStrength = mock(SignalStrength.class);
mServiceState = mock(ServiceState.class);
+ mFakeRegInfo = new NetworkRegistrationInfo.Builder()
+ .setTransportType(TRANSPORT_TYPE_WWAN)
+ .setDomain(DOMAIN_PS)
+ .setAccessNetworkTechnology(TelephonyManager.NETWORK_TYPE_LTE)
+ .build();
+ doReturn(mFakeRegInfo).when(mServiceState)
+ .getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN);
+
mEriInformation = new CdmaEriInformation(CdmaEriInformation.ERI_OFF,
CdmaEriInformation.ERI_ICON_MODE_NORMAL);
when(mMockTm.getCdmaEriInformation()).thenReturn(mEriInformation);
@@ -219,7 +229,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
subs.add(subscription);
}
when(mMockSm.getActiveSubscriptionInfoList()).thenReturn(subs);
- when(mMockSm.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(subs);
+ when(mMockSm.getActiveAndHiddenSubscriptionInfoList()).thenReturn(subs);
mNetworkController.doUpdateMobileControllers();
}
@@ -405,7 +415,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
typeIconArg.capture(), dataInArg.capture(), dataOutArg.capture(),
anyString(), anyString(), anyBoolean(), anyInt(), anyBoolean());
IconState iconState = iconArg.getValue();
- int state = SignalDrawable.getState(icon, SignalStrength.NUM_SIGNAL_STRENGTH_BINS,
+ int state = SignalDrawable.getState(icon, CellSignalStrength.getNumSignalStrengthLevels(),
false);
assertEquals("Visibility in, quick settings", visible, iconState.visible);
assertEquals("Signal icon in, quick settings", state, iconState.icon);
@@ -440,7 +450,8 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
IconState iconState = iconArg.getValue();
int state = icon == -1 ? 0
- : SignalDrawable.getState(icon, SignalStrength.NUM_SIGNAL_STRENGTH_BINS, !inet);
+ : SignalDrawable.getState(icon, CellSignalStrength.getNumSignalStrengthLevels(),
+ !inet);
assertEquals("Signal icon in status bar", state, iconState.icon);
assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue());
assertEquals("Visibility in status bar", visible, iconState.visible);
@@ -483,7 +494,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
IconState iconState = iconArg.getValue();
- int numSignalStrengthBins = SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
+ int numSignalStrengthBins = CellSignalStrength.getNumSignalStrengthLevels();
if (mMobileSignalController.mInflateSignalStrengths) {
numSignalStrengthBins++;
icon++;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
index f6c750db56b7..1eb59396e525 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
@@ -187,7 +187,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
TelephonyManager.NETWORK_TYPE_LTE);
updateDataActivity(TelephonyManager.DATA_ACTIVITY_INOUT);
ServiceState ss = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED);
mPhoneStateListener.onServiceStateChanged(ss);
verifyLastMobileDataIndicators(true, DEFAULT_SIGNAL_STRENGTH, TelephonyIcons.ICON_5G,
@@ -202,7 +202,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
TelephonyManager.NETWORK_TYPE_LTE);
updateDataActivity(TelephonyManager.DATA_ACTIVITY_DORMANT);
ServiceState ss = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED);
mPhoneStateListener.onServiceStateChanged(ss);
verifyDataIndicators(TelephonyIcons.ICON_5G);
@@ -215,7 +215,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
ServiceState ss = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
mPhoneStateListener.onServiceStateChanged(ss);
@@ -229,7 +229,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
ServiceState ss = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(ss).getNrFrequencyRange();
mPhoneStateListener.onServiceStateChanged(ss);
@@ -243,7 +243,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
ServiceState ss = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_RESTRICTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_RESTRICTED);
mPhoneStateListener.onServiceStateChanged(mServiceState);
verifyDataIndicators(TelephonyIcons.ICON_LTE);
@@ -259,7 +259,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
ServiceState ss = Mockito.mock(ServiceState.class);
// While nrIconDisplayGracePeriodMs > 0 & is Nr5G, mIsShowingIconGracefully should be true
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -278,7 +278,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
assertTrue(mConfig.nrIconDisplayGracePeriodMs == 0);
// While nrIconDisplayGracePeriodMs <= 0, mIsShowingIconGracefully should be false
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
+ setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -295,7 +295,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
mPhoneStateListener.onServiceStateChanged(mServiceState);
ServiceState ss = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss).getNrState();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -305,7 +305,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
// Enabled timer Nr5G switch to None Nr5G, showing 5G icon gracefully
ServiceState ssLte = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(ssLte).getNrState();
+ setNrState(ssLte, NetworkRegistrationInfo.NR_STATE_NONE);
doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(ssLte).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -321,14 +321,14 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
setupDefaultSignal();
mNetworkController.handleConfigurationChanged();
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
+ setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
verifyDataIndicators(TelephonyIcons.ICON_5G);
- doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(mServiceState).getNrState();
+ setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_NONE);
doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(mServiceState).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -342,7 +342,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
setupDefaultNr5GIconDisplayGracePeriodTime_enableThirtySeconds();
setupDefaultSignal();
mNetworkController.handleConfigurationChanged();
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(mServiceState).getNrState();
+ setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(mServiceState).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -352,7 +352,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
// Disabled timer, when out of service, reset timer to display latest state
updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
- doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(mServiceState).getNrState();
+ setNrState(mServiceState, NetworkRegistrationInfo.NR_STATE_NONE);
doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(mServiceState).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_DISCONNECTED,
TelephonyManager.NETWORK_TYPE_UMTS);
@@ -369,7 +369,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
mPhoneStateListener.onServiceStateChanged(mServiceState);
ServiceState ss5G = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss5G).getNrState();
+ setNrState(ss5G, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss5G).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -379,7 +379,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
// When timeout enabled, 5G/5G+ switching should be updated immediately
ServiceState ss5GPlus = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss5GPlus).getNrState();
+ setNrState(ss5GPlus, NetworkRegistrationInfo.NR_STATE_CONNECTED);
doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(ss5GPlus).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -396,22 +396,21 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
mNetworkController.handleConfigurationChanged();
mPhoneStateListener.onServiceStateChanged(mServiceState);
- ServiceState ss5G = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss5G).getNrState();
- doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss5G).getNrFrequencyRange();
+ ServiceState ss = Mockito.mock(ServiceState.class);
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_CONNECTED);
+ doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ss5G);
+ mPhoneStateListener.onServiceStateChanged(ss);
verifyDataIndicators(TelephonyIcons.ICON_5G);
// State from NR_5G to NONE NR_5G with timeout, should show previous 5G icon
- ServiceState ssLte = Mockito.mock(ServiceState.class);
- doReturn(NetworkRegistrationInfo.NR_STATE_NONE).when(ssLte).getNrState();
- doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(ssLte).getNrFrequencyRange();
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_NONE);
+ doReturn(ServiceState.FREQUENCY_RANGE_UNKNOWN).when(ss).getNrFrequencyRange();
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
- mPhoneStateListener.onServiceStateChanged(ssLte);
+ mPhoneStateListener.onServiceStateChanged(ss);
verifyDataIndicators(TelephonyIcons.ICON_5G);
@@ -420,14 +419,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
mNetworkController.handleConfigurationChanged();
// State from NR_5G to NONE NR_STATE_RESTRICTED, showing corresponding icon
- doReturn(NetworkRegistrationInfo.NR_STATE_RESTRICTED).when(mServiceState).getNrState();
- NetworkRegistrationInfo fakeRegInfo = new NetworkRegistrationInfo.Builder()
- .setTransportType(TRANSPORT_TYPE_WWAN)
- .setDomain(DOMAIN_PS)
- .setAccessNetworkTechnology(TelephonyManager.NETWORK_TYPE_LTE)
- .build();
- doReturn(fakeRegInfo).when(mServiceState)
- .getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN);
+ setNrState(ss, NetworkRegistrationInfo.NR_STATE_RESTRICTED);
mPhoneStateListener.onDataConnectionStateChanged(TelephonyManager.DATA_CONNECTED,
TelephonyManager.NETWORK_TYPE_LTE);
@@ -531,4 +523,10 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
true, DEFAULT_QS_SIGNAL_STRENGTH, dataIcon, false,
false);
}
+
+ private void setNrState(ServiceState ss, int nrState) {
+ mFakeRegInfo.setNrState(nrState);
+ doReturn(mFakeRegInfo).when(ss)
+ .getNetworkRegistrationInfo(DOMAIN_PS, TRANSPORT_TYPE_WWAN);
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
index 4406248ec9ea..f52c8c17bfa5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java
@@ -136,7 +136,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testSignalStrength() {
for (int testStrength = 0;
- testStrength < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; testStrength++) {
+ testStrength < CellSignalStrength.getNumSignalStrengthLevels(); testStrength++) {
setupDefaultSignal();
setLevel(testStrength);
@@ -153,7 +153,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testCdmaSignalStrength() {
for (int testStrength = 0;
- testStrength < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; testStrength++) {
+ testStrength < CellSignalStrength.getNumSignalStrengthLevels(); testStrength++) {
setupDefaultSignal();
setCdma();
setLevel(testStrength);
@@ -167,7 +167,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
@Test
public void testSignalRoaming() {
for (int testStrength = 0;
- testStrength < SignalStrength.NUM_SIGNAL_STRENGTH_BINS; testStrength++) {
+ testStrength < CellSignalStrength.getNumSignalStrengthLevels(); testStrength++) {
setupDefaultSignal();
setGsmRoaming(true);
setLevel(testStrength);
@@ -494,7 +494,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// Carrier network change is true, show special indicator
verifyLastMobileDataIndicators(true /* visible */,
- SignalDrawable.getCarrierChangeState(SignalStrength.NUM_SIGNAL_STRENGTH_BINS),
+ SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */);
// Revert back
@@ -525,7 +525,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */,
- SignalDrawable.getCarrierChangeState(SignalStrength.NUM_SIGNAL_STRENGTH_BINS),
+ SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
@@ -557,7 +557,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// Carrier network change is true, show special indicator, no roaming.
verifyLastMobileDataIndicators(true /* visible */,
- SignalDrawable.getCarrierChangeState(SignalStrength.NUM_SIGNAL_STRENGTH_BINS),
+ SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
@@ -565,7 +565,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
// Roaming should not show.
verifyLastMobileDataIndicators(true /* visible */,
- SignalDrawable.getCarrierChangeState(SignalStrength.NUM_SIGNAL_STRENGTH_BINS),
+ SignalDrawable.getCarrierChangeState(CellSignalStrength.getNumSignalStrengthLevels()),
0 /* typeIcon */,
false /* roaming */);
diff --git a/packages/Tethering/common/TetheringLib/jarjar-rules.txt b/packages/Tethering/common/TetheringLib/jarjar-rules.txt
index 35e0f88e70fa..1403bba3445a 100644
--- a/packages/Tethering/common/TetheringLib/jarjar-rules.txt
+++ b/packages/Tethering/common/TetheringLib/jarjar-rules.txt
@@ -1 +1,2 @@
rule android.annotation.** com.android.networkstack.tethering.annotation.@1
+rule com.android.internal.annotations.** com.android.networkstack.tethering.annotation.@1 \ No newline at end of file
diff --git a/packages/Tethering/common/TetheringLib/src/android/net/TetheringManager.java b/packages/Tethering/common/TetheringLib/src/android/net/TetheringManager.java
index 37ce1d57da36..53a358f29a97 100644
--- a/packages/Tethering/common/TetheringLib/src/android/net/TetheringManager.java
+++ b/packages/Tethering/common/TetheringLib/src/android/net/TetheringManager.java
@@ -30,6 +30,9 @@ import android.os.ResultReceiver;
import android.util.ArrayMap;
import android.util.Log;
+import com.android.internal.annotations.GuardedBy;
+
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -37,6 +40,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.Executor;
+import java.util.function.Supplier;
/**
* This class provides the APIs to control the tethering service.
@@ -50,17 +54,23 @@ import java.util.concurrent.Executor;
public class TetheringManager {
private static final String TAG = TetheringManager.class.getSimpleName();
private static final int DEFAULT_TIMEOUT_MS = 60_000;
+ private static final long CONNECTOR_POLL_INTERVAL_MILLIS = 200L;
- private static TetheringManager sInstance;
+ @GuardedBy("mConnectorWaitQueue")
+ @Nullable
+ private ITetheringConnector mConnector;
+ @GuardedBy("mConnectorWaitQueue")
+ @NonNull
+ private final List<ConnectorConsumer> mConnectorWaitQueue = new ArrayList<>();
+ private final Supplier<IBinder> mConnectorSupplier;
- private final ITetheringConnector mConnector;
private final TetheringCallbackInternal mCallback;
private final Context mContext;
private final ArrayMap<TetheringEventCallback, ITetheringEventCallback>
mTetheringEventCallbacks = new ArrayMap<>();
- private TetheringConfigurationParcel mTetheringConfiguration;
- private TetherStatesParcel mTetherStatesParcel;
+ private volatile TetheringConfigurationParcel mTetheringConfiguration;
+ private volatile TetherStatesParcel mTetherStatesParcel;
/**
* Broadcast Action: A tetherable connection has come or gone.
@@ -162,29 +172,139 @@ public class TetheringManager {
/**
* Create a TetheringManager object for interacting with the tethering service.
*
+ * @param context Context for the manager.
+ * @param connectorSupplier Supplier for the manager connector; may return null while the
+ * service is not connected.
* {@hide}
*/
- public TetheringManager(@NonNull final Context context, @NonNull final IBinder service) {
+ public TetheringManager(@NonNull final Context context,
+ @NonNull Supplier<IBinder> connectorSupplier) {
mContext = context;
- mConnector = ITetheringConnector.Stub.asInterface(service);
mCallback = new TetheringCallbackInternal();
+ mConnectorSupplier = connectorSupplier;
final String pkgName = mContext.getOpPackageName();
+
+ final IBinder connector = mConnectorSupplier.get();
+ // If the connector is available on start, do not start a polling thread. This introduces
+ // differences in the thread that sends the oneway binder calls to the service between the
+ // first few seconds after boot and later, but it avoids always having differences between
+ // the first usage of TetheringManager from a process and subsequent usages (so the
+ // difference is only on boot). On boot binder calls may be queued until the service comes
+ // up and be sent from a worker thread; later, they are always sent from the caller thread.
+ // Considering that it's just oneway binder calls, and ordering is preserved, this seems
+ // better than inconsistent behavior persisting after boot.
+ if (connector != null) {
+ mConnector = ITetheringConnector.Stub.asInterface(connector);
+ } else {
+ startPollingForConnector();
+ }
+
Log.i(TAG, "registerTetheringEventCallback:" + pkgName);
+ getConnector(c -> c.registerTetheringEventCallback(mCallback, pkgName));
+ }
+
+ private void startPollingForConnector() {
+ new Thread(() -> {
+ while (true) {
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ // Not much to do here, the system needs to wait for the connector
+ }
+
+ final IBinder connector = mConnectorSupplier.get();
+ if (connector != null) {
+ onTetheringConnected(ITetheringConnector.Stub.asInterface(connector));
+ return;
+ }
+ }
+ }).start();
+ }
+
+ private interface ConnectorConsumer {
+ void onConnectorAvailable(ITetheringConnector connector) throws RemoteException;
+ }
+
+ private void onTetheringConnected(ITetheringConnector connector) {
+ // Process the connector wait queue in order, including any items that are added
+ // while processing.
+ //
+ // 1. Copy the queue to a local variable under lock.
+ // 2. Drain the local queue with the lock released (otherwise, enqueuing future commands
+ // would block on the lock).
+ // 3. Acquire the lock again. If any new tasks were queued during step 2, goto 1.
+ // If not, set mConnector to non-null so future tasks are run immediately, not queued.
+ //
+ // For this to work, all calls to the tethering service must use getConnector(), which
+ // ensures that tasks are added to the queue with the lock held.
+ //
+ // Once mConnector is set to non-null, it will never be null again. If the network stack
+ // process crashes, no recovery is possible.
+ // TODO: evaluate whether it is possible to recover from network stack process crashes
+ // (though in most cases the system will have crashed when the network stack process
+ // crashes).
+ do {
+ final List<ConnectorConsumer> localWaitQueue;
+ synchronized (mConnectorWaitQueue) {
+ localWaitQueue = new ArrayList<>(mConnectorWaitQueue);
+ mConnectorWaitQueue.clear();
+ }
+
+ // Allow more tasks to be added at the end without blocking while draining the queue.
+ for (ConnectorConsumer task : localWaitQueue) {
+ try {
+ task.onConnectorAvailable(connector);
+ } catch (RemoteException e) {
+ // Most likely the network stack process crashed, which is likely to crash the
+ // system. Keep processing other requests but report the error loudly.
+ Log.wtf(TAG, "Error processing request for the tethering connector", e);
+ }
+ }
+
+ synchronized (mConnectorWaitQueue) {
+ if (mConnectorWaitQueue.size() == 0) {
+ mConnector = connector;
+ return;
+ }
+ }
+ } while (true);
+ }
+
+ /**
+ * Asynchronously get the ITetheringConnector to execute some operation.
+ *
+ * <p>If the connector is already available, the operation will be executed on the caller's
+ * thread. Otherwise it will be queued and executed on a worker thread. The operation should be
+ * limited to performing oneway binder calls to minimize differences due to threading.
+ */
+ private void getConnector(ConnectorConsumer consumer) {
+ final ITetheringConnector connector;
+ synchronized (mConnectorWaitQueue) {
+ connector = mConnector;
+ if (connector == null) {
+ mConnectorWaitQueue.add(consumer);
+ return;
+ }
+ }
+
try {
- mConnector.registerTetheringEventCallback(mCallback, pkgName);
+ consumer.onConnectorAvailable(connector);
} catch (RemoteException e) {
throw new IllegalStateException(e);
}
}
private interface RequestHelper {
- void runRequest(IIntResultListener listener);
+ void runRequest(ITetheringConnector connector, IIntResultListener listener);
}
+ // Used to dispatch legacy ConnectivityManager methods that expect tethering to be able to
+ // return results and perform operations synchronously.
+ // TODO: remove once there are no callers of these legacy methods.
private class RequestDispatcher {
private final ConditionVariable mWaiting;
- public int mRemoteResult;
+ public volatile int mRemoteResult;
private final IIntResultListener mListener = new IIntResultListener.Stub() {
@Override
@@ -199,7 +319,7 @@ public class TetheringManager {
}
int waitForResult(final RequestHelper request) {
- request.runRequest(mListener);
+ getConnector(c -> request.runRequest(c, mListener));
if (!mWaiting.block(DEFAULT_TIMEOUT_MS)) {
throw new IllegalStateException("Callback timeout");
}
@@ -222,7 +342,7 @@ public class TetheringManager {
}
private class TetheringCallbackInternal extends ITetheringEventCallback.Stub {
- private int mError = TETHER_ERROR_NO_ERROR;
+ private volatile int mError = TETHER_ERROR_NO_ERROR;
private final ConditionVariable mWaitForCallback = new ConditionVariable();
@Override
@@ -280,9 +400,9 @@ public class TetheringManager {
Log.i(TAG, "tether caller:" + callerPkg);
final RequestDispatcher dispatcher = new RequestDispatcher();
- return dispatcher.waitForResult(listener -> {
+ return dispatcher.waitForResult((connector, listener) -> {
try {
- mConnector.tether(iface, callerPkg, listener);
+ connector.tether(iface, callerPkg, listener);
} catch (RemoteException e) {
throw new IllegalStateException(e);
}
@@ -304,9 +424,9 @@ public class TetheringManager {
final RequestDispatcher dispatcher = new RequestDispatcher();
- return dispatcher.waitForResult(listener -> {
+ return dispatcher.waitForResult((connector, listener) -> {
try {
- mConnector.untether(iface, callerPkg, listener);
+ connector.untether(iface, callerPkg, listener);
} catch (RemoteException e) {
throw new IllegalStateException(e);
}
@@ -330,9 +450,9 @@ public class TetheringManager {
final RequestDispatcher dispatcher = new RequestDispatcher();
- return dispatcher.waitForResult(listener -> {
+ return dispatcher.waitForResult((connector, listener) -> {
try {
- mConnector.setUsbTethering(enable, callerPkg, listener);
+ connector.setUsbTethering(enable, callerPkg, listener);
} catch (RemoteException e) {
throw new IllegalStateException(e);
}
@@ -467,11 +587,7 @@ public class TetheringManager {
});
}
};
- try {
- mConnector.startTethering(request.getParcel(), callerPkg, listener);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
- }
+ getConnector(c -> c.startTethering(request.getParcel(), callerPkg, listener));
}
/**
@@ -509,15 +625,15 @@ public class TetheringManager {
final String callerPkg = mContext.getOpPackageName();
Log.i(TAG, "stopTethering caller:" + callerPkg);
- final RequestDispatcher dispatcher = new RequestDispatcher();
-
- dispatcher.waitForResult(listener -> {
- try {
- mConnector.stopTethering(type, callerPkg, listener);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
+ getConnector(c -> c.stopTethering(type, callerPkg, new IIntResultListener.Stub() {
+ @Override
+ public void onResult(int resultCode) {
+ // TODO: provide an API to obtain result
+ // This has never been possible as stopTethering has always been void and never
+ // taken a callback object. The only indication that callers have is if the call
+ // results in a TETHER_STATE_CHANGE broadcast.
}
- });
+ }));
}
/**
@@ -591,12 +707,8 @@ public class TetheringManager {
final String callerPkg = mContext.getOpPackageName();
Log.i(TAG, "getLatestTetheringEntitlementResult caller:" + callerPkg);
- try {
- mConnector.requestLatestTetheringEntitlementResult(type, receiver, showEntitlementUi,
- callerPkg);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
- }
+ getConnector(c -> c.requestLatestTetheringEntitlementResult(
+ type, receiver, showEntitlementUi, callerPkg));
}
/**
@@ -832,11 +944,7 @@ public class TetheringManager {
});
}
};
- try {
- mConnector.registerTetheringEventCallback(remoteCallback, callerPkg);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
- }
+ getConnector(c -> c.registerTetheringEventCallback(remoteCallback, callerPkg));
mTetheringEventCallbacks.put(callback, remoteCallback);
}
}
@@ -860,11 +968,8 @@ public class TetheringManager {
if (remoteCallback == null) {
throw new IllegalArgumentException("callback was not registered.");
}
- try {
- mConnector.unregisterTetheringEventCallback(remoteCallback, callerPkg);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
- }
+
+ getConnector(c -> c.unregisterTetheringEventCallback(remoteCallback, callerPkg));
}
}
@@ -1002,9 +1107,9 @@ public class TetheringManager {
final String callerPkg = mContext.getOpPackageName();
final RequestDispatcher dispatcher = new RequestDispatcher();
- final int ret = dispatcher.waitForResult(listener -> {
+ final int ret = dispatcher.waitForResult((connector, listener) -> {
try {
- mConnector.isTetheringSupported(callerPkg, listener);
+ connector.isTetheringSupported(callerPkg, listener);
} catch (RemoteException e) {
throw new IllegalStateException(e);
}
@@ -1027,13 +1132,14 @@ public class TetheringManager {
final String callerPkg = mContext.getOpPackageName();
Log.i(TAG, "stopAllTethering caller:" + callerPkg);
- final RequestDispatcher dispatcher = new RequestDispatcher();
- dispatcher.waitForResult(listener -> {
- try {
- mConnector.stopAllTethering(callerPkg, listener);
- } catch (RemoteException e) {
- throw new IllegalStateException(e);
+ getConnector(c -> c.stopAllTethering(callerPkg, new IIntResultListener.Stub() {
+ @Override
+ public void onResult(int resultCode) {
+ // TODO: add an API parameter to send result to caller.
+ // This has never been possible as stopAllTethering has always been void and never
+ // taken a callback object. The only indication that callers have is if the call
+ // results in a TETHER_STATE_CHANGE broadcast.
}
- });
+ }));
}
}
diff --git a/packages/Tethering/res/values/config.xml b/packages/Tethering/res/values/config.xml
index c489cbcd5a1c..4af5c5371952 100644
--- a/packages/Tethering/res/values/config.xml
+++ b/packages/Tethering/res/values/config.xml
@@ -47,6 +47,7 @@
should be empty. An example would be "p2p-p2p\\d-.*" -->
<string-array translatable="false" name="config_tether_wifi_p2p_regexs">
<item>"p2p-p2p\\d-.*"</item>
+ <item>"p2p\\d"</item>
</string-array>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
diff --git a/packages/Tethering/src/android/net/dhcp/DhcpServerCallbacks.java b/packages/Tethering/src/android/net/dhcp/DhcpServerCallbacks.java
index 7c41377985d3..9fda1257b4c9 100644
--- a/packages/Tethering/src/android/net/dhcp/DhcpServerCallbacks.java
+++ b/packages/Tethering/src/android/net/dhcp/DhcpServerCallbacks.java
@@ -28,4 +28,9 @@ public abstract class DhcpServerCallbacks extends IDhcpServerCallbacks.Stub {
public int getInterfaceVersion() {
return IDhcpServerCallbacks.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return IDhcpServerCallbacks.HASH;
+ }
}
diff --git a/packages/Tethering/src/android/net/ip/IpServer.java b/packages/Tethering/src/android/net/ip/IpServer.java
index 190d25098644..f39e7af43ee6 100644
--- a/packages/Tethering/src/android/net/ip/IpServer.java
+++ b/packages/Tethering/src/android/net/ip/IpServer.java
@@ -301,6 +301,11 @@ public class IpServer extends StateMachine {
public int getInterfaceVersion() {
return this.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return this.HASH;
+ }
}
private class DhcpServerCallbacksImpl extends DhcpServerCallbacks {
diff --git a/packages/Tethering/src/android/net/util/BaseNetdUnsolicitedEventListener.java b/packages/Tethering/src/android/net/util/BaseNetdUnsolicitedEventListener.java
index 3218c0b387bb..b1ffdb01f5f3 100644
--- a/packages/Tethering/src/android/net/util/BaseNetdUnsolicitedEventListener.java
+++ b/packages/Tethering/src/android/net/util/BaseNetdUnsolicitedEventListener.java
@@ -67,4 +67,9 @@ public class BaseNetdUnsolicitedEventListener extends INetdUnsolicitedEventListe
public int getInterfaceVersion() {
return INetdUnsolicitedEventListener.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return INetdUnsolicitedEventListener.HASH;
+ }
}
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java b/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
index 7dc5c5f2db8a..020b32adcfd7 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
+++ b/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
@@ -77,8 +77,8 @@ public class TetheringService extends Service {
mLog.mark("onCreate");
mDeps = getTetheringDependencies();
mContext = mDeps.getContext();
- mTethering = makeTethering(mDeps);
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ mTethering = makeTethering(mDeps);
}
/**
diff --git a/packages/WAPPushManager/Android.bp b/packages/WAPPushManager/Android.bp
index 083dac944936..cd804b2c8514 100644
--- a/packages/WAPPushManager/Android.bp
+++ b/packages/WAPPushManager/Android.bp
@@ -4,7 +4,6 @@ android_app {
name: "WAPPushManager",
srcs: ["src/**/*.java"],
platform_apis: true,
- libs: ["telephony-common"],
static_libs: ["android-common"],
optimize: {
proguard_flags_files: ["proguard.flags"],
diff --git a/packages/WallpaperCropper/src/com/android/photos/views/TiledImageRenderer.java b/packages/WallpaperCropper/src/com/android/photos/views/TiledImageRenderer.java
index 950107301af3..fcb113e90720 100644
--- a/packages/WallpaperCropper/src/com/android/photos/views/TiledImageRenderer.java
+++ b/packages/WallpaperCropper/src/com/android/photos/views/TiledImageRenderer.java
@@ -26,7 +26,6 @@ import android.util.Log;
import android.util.Pools.Pool;
import android.util.Pools.SynchronizedPool;
import android.view.View;
-import android.view.WindowManager;
import com.android.gallery3d.common.Utils;
import com.android.gallery3d.glrenderer.BasicTexture;
@@ -164,9 +163,7 @@ public class TiledImageRenderer {
private static boolean isHighResolution(Context context) {
DisplayMetrics metrics = new DisplayMetrics();
- WindowManager wm = (WindowManager)
- context.getSystemService(Context.WINDOW_SERVICE);
- wm.getDefaultDisplay().getMetrics(metrics);
+ context.getDisplay().getMetrics(metrics);
return metrics.heightPixels > 2048 || metrics.widthPixels > 2048;
}
diff --git a/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java b/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
index f878b4d11f72..6112da5cd13b 100644
--- a/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
+++ b/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
@@ -37,9 +37,9 @@ import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
+import android.util.Size;
import android.view.Display;
import android.view.View;
-import android.view.WindowManager;
import android.widget.Toast;
import com.android.gallery3d.common.Utils;
@@ -231,18 +231,18 @@ public class WallpaperCropActivity extends Activity {
return x * aspectRatio + y;
}
- static protected Point getDefaultWallpaperSize(Resources res, WindowManager windowManager) {
+ static protected Point getDefaultWallpaperSize(Resources res, Display display) {
if (sDefaultWallpaperSize == null) {
Point minDims = new Point();
Point maxDims = new Point();
- windowManager.getDefaultDisplay().getCurrentSizeRange(minDims, maxDims);
+ display.getCurrentSizeRange(minDims, maxDims);
int maxDim = Math.max(maxDims.x, maxDims.y);
int minDim = Math.max(minDims.x, minDims.y);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
Point realSize = new Point();
- windowManager.getDefaultDisplay().getRealSize(realSize);
+ display.getRealSize(realSize);
maxDim = Math.max(realSize.x, realSize.y);
minDim = Math.min(realSize.x, realSize.y);
}
@@ -331,8 +331,7 @@ public class WallpaperCropActivity extends Activity {
// this device
int rotation = getRotationFromExif(res, resId);
Point inSize = mCropView.getSourceDimensions();
- Point outSize = getDefaultWallpaperSize(getResources(),
- getWindowManager());
+ Point outSize = getDefaultWallpaperSize(getResources(), getDisplay());
RectF crop = getMaxCropRect(
inSize.x, inSize.y, outSize.x, outSize.y, false);
Runnable onEndCrop = new Runnable() {
@@ -359,14 +358,11 @@ public class WallpaperCropActivity extends Activity {
// Get the crop
boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;
- Display d = getWindowManager().getDefaultDisplay();
-
- Point displaySize = new Point();
- d.getSize(displaySize);
- boolean isPortrait = displaySize.x < displaySize.y;
+ Size windowSize = getWindowManager().getCurrentWindowMetrics().getSize();
+ boolean isPortrait = windowSize.getWidth() < windowSize.getHeight();
Point defaultWallpaperSize = getDefaultWallpaperSize(getResources(),
- getWindowManager());
+ getDisplay());
// Get the crop
RectF cropRect = mCropView.getCrop();
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index 8a3ac9404408..2bb673eba758 100644
--- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk
@@ -26,6 +26,7 @@ LOCAL_REQUIRED_MODULES := \
AccentColorPurpleOverlay \
DisplayCutoutEmulationCornerOverlay \
DisplayCutoutEmulationDoubleOverlay \
+ DisplayCutoutEmulationHoleOverlay \
DisplayCutoutEmulationTallOverlay \
FontNotoSerifSourceOverlay \
IconPackCircularAndroidOverlay \
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk b/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk
new file mode 100644
index 000000000000..6d8fc2493506
--- /dev/null
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_RRO_THEME := DisplayCutoutEmulationHole
+
+
+LOCAL_PRODUCT_MODULE := true
+
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
+LOCAL_PACKAGE_NAME := DisplayCutoutEmulationHoleOverlay
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/AndroidManifest.xml b/packages/overlays/DisplayCutoutEmulationHoleOverlay/AndroidManifest.xml
new file mode 100644
index 000000000000..9fd82abd6c8c
--- /dev/null
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/AndroidManifest.xml
@@ -0,0 +1,26 @@
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.internal.display.cutout.emulation.hole"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <overlay android:targetPackage="android"
+ android:category="com.android.internal.display_cutout_emulation"
+ android:priority="1"/>
+
+ <application android:label="@string/display_cutout_emulation_overlay" android:hasCode="false"/>
+</manifest>
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values-land/config.xml b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values-land/config.xml
new file mode 100644
index 000000000000..2e971ded2256
--- /dev/null
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values-land/config.xml
@@ -0,0 +1,22 @@
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+
+<resources>
+ <!-- Can't link to other dimensions here, but this should be status_bar_height_landscape -->
+ <dimen name="quick_qs_offset_height">28dp</dimen>
+ <!-- Total height of QQS in landscape; quick_qs_offset_height + 128 -->
+ <dimen name="quick_qs_total_height">156dp</dimen>
+</resources>
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml
new file mode 100644
index 000000000000..9f558d0e2bd5
--- /dev/null
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml
@@ -0,0 +1,61 @@
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <!-- The bounding path of the cutout region of the main built-in display.
+ Must either be empty if there is no cutout region, or a string that is parsable by
+ {@link android.util.PathParser}.
+
+ The path is assumed to be specified in display coordinates with pixel units and in
+ the display's native orientation, with the origin of the coordinate system at the
+ center top of the display.
+
+ To facilitate writing device-independent emulation overlays, the marker `@dp` can be
+ appended after the path string to interpret coordinates in dp instead of px units.
+ Note that a physical cutout should be configured in pixels for the best results.
+ -->
+ <!-- Display cutout configuration -->
+ <string translatable="false" name="config_mainBuiltInDisplayCutout">
+ M 128,83 A 44,44 0 0 1 84,127 44,44 0 0 1 40,83 44,44 0 0 1 84,39 44,44 0 0 1 128,83 Z
+ @left
+ </string>
+
+ <string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation">
+ M 0.0,0.0
+ h 136
+ v 136
+ h -136
+ Z
+ @left
+ </string>
+
+ <!-- Whether the display cutout region of the main built-in display should be forced to
+ black in software (to avoid aliasing or emulate a cutout that is not physically existent).
+ -->
+ <bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">136px</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
+ <!-- Height of area above QQS where battery/time go (equal to status bar) -->
+ <dimen name="quick_qs_offset_height">136px</dimen>
+ <!-- Total height of QQS (quick_qs_offset_height + 128) -->
+ <dimen name="quick_qs_total_height">488px</dimen>
+
+</resources>
+
+
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/strings.xml b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/strings.xml
new file mode 100644
index 000000000000..ab25695e7289
--- /dev/null
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string name="display_cutout_emulation_overlay">Punch Hole cutout</string>
+
+</resources>
+
diff --git a/services/Android.bp b/services/Android.bp
index a58245361939..28c8aeea4e53 100644
--- a/services/Android.bp
+++ b/services/Android.bp
@@ -114,7 +114,7 @@ droidstubs {
srcs: [":services-all-sources"],
installable: false,
// TODO: remove the --hide options below
- args: " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES,process=android.annotation.SystemApi.Process.SYSTEM_SERVER\\)" +
+ args: " --show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\)" +
" --hide-annotation android.annotation.Hide" +
" --hide-package com.google.android.startop.iorap" +
" --hide ReferencesHidden" +
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 61e1adf2301c..7b495ce19015 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -664,7 +664,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
*/
@Override
public void registerSystemAction(RemoteAction action, int actionId) {
- mSecurityPolicy.enforceCallingPermission(Manifest.permission.MANAGE_ACCESSIBILITY,
+ mSecurityPolicy.enforceCallerIsRecentsOrHasPermission(
+ Manifest.permission.MANAGE_ACCESSIBILITY,
FUNCTION_REGISTER_SYSTEM_ACTION);
mSystemActionPerformer.registerSystemAction(actionId, action);
}
@@ -676,7 +677,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
*/
@Override
public void unregisterSystemAction(int actionId) {
- mSecurityPolicy.enforceCallingPermission(Manifest.permission.MANAGE_ACCESSIBILITY,
+ mSecurityPolicy.enforceCallerIsRecentsOrHasPermission(
+ Manifest.permission.MANAGE_ACCESSIBILITY,
FUNCTION_UNREGISTER_SYSTEM_ACTION);
mSystemActionPerformer.unregisterSystemAction(actionId);
}
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java b/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java
index 7a42cd1b3cbb..96e345ea9b89 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java
@@ -38,6 +38,8 @@ import android.util.Slog;
import android.view.accessibility.AccessibilityEvent;
import com.android.internal.util.ArrayUtils;
+import com.android.server.LocalServices;
+import com.android.server.wm.ActivityTaskManagerInternal;
import libcore.util.EmptyArray;
@@ -86,6 +88,7 @@ public class AccessibilitySecurityPolicy {
private final AccessibilityUserManager mAccessibilityUserManager;
private AccessibilityWindowManager mAccessibilityWindowManager;
+ private final ActivityTaskManagerInternal mAtmInternal;
/**
* Constructor for AccessibilityManagerService.
@@ -97,6 +100,7 @@ public class AccessibilitySecurityPolicy {
mPackageManager = mContext.getPackageManager();
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
+ mAtmInternal = LocalServices.getService(ActivityTaskManagerInternal.class);
}
/**
@@ -563,4 +567,13 @@ public class AccessibilitySecurityPolicy {
+ permission);
}
}
+
+ /**
+ * Enforcing permission check to IPC caller or grant it if it's recents.
+ *
+ * @param permission The permission to check
+ */
+ public void enforceCallerIsRecentsOrHasPermission(@NonNull String permission, String func) {
+ mAtmInternal.enforceCallerIsRecentsOrHasPermission(permission, func);
+ }
}
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/EventDispatcher.java b/services/accessibility/java/com/android/server/accessibility/gestures/EventDispatcher.java
index 5ac3b69549c1..667364c9c901 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/EventDispatcher.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/EventDispatcher.java
@@ -301,7 +301,7 @@ class EventDispatcher {
* @param policyFlags The policy flags associated with the event.
*/
void sendUpForInjectedDownPointers(MotionEvent prototype, int policyFlags) {
- int pointerIdBits = 0;
+ int pointerIdBits = prototype.getPointerIdBits();
final int pointerCount = prototype.getPointerCount();
for (int i = 0; i < pointerCount; i++) {
final int pointerId = prototype.getPointerId(i);
@@ -309,10 +309,10 @@ class EventDispatcher {
if (!isInjectedPointerDown(pointerId)) {
continue;
}
- pointerIdBits |= (1 << pointerId);
- final int action = computeInjectionAction(MotionEvent.ACTION_UP, i);
+ final int action = computeInjectionAction(MotionEvent.ACTION_POINTER_UP, i);
sendMotionEvent(
prototype, action, mState.getLastReceivedEvent(), pointerIdBits, policyFlags);
+ pointerIdBits &= ~(1 << pointerId);
}
}
}
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/GestureManifold.java b/services/accessibility/java/com/android/server/accessibility/gestures/GestureManifold.java
index b5660ae5d41a..5d170d34d77d 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/GestureManifold.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/GestureManifold.java
@@ -16,6 +16,20 @@
package com.android.server.accessibility.gestures;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_DOUBLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SINGLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_DOWN;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_LEFT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_RIGHT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_UP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_TRIPLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_DOUBLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SINGLE_TAP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_DOWN;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_LEFT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_RIGHT;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_UP;
+import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_TRIPLE_TAP;
import static android.accessibilityservice.AccessibilityService.GESTURE_DOUBLE_TAP;
import static android.accessibilityservice.AccessibilityService.GESTURE_DOUBLE_TAP_AND_HOLD;
import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_DOWN;
@@ -104,6 +118,39 @@ class GestureManifold implements GestureMatcher.StateChangeListener {
mGestures.add(new Swipe(context, UP, DOWN, GESTURE_SWIPE_UP_AND_DOWN, this));
mGestures.add(new Swipe(context, UP, LEFT, GESTURE_SWIPE_UP_AND_LEFT, this));
mGestures.add(new Swipe(context, UP, RIGHT, GESTURE_SWIPE_UP_AND_RIGHT, this));
+ // Set up multi-finger gestures to be enabled later.
+ // Two-finger taps.
+ mMultiFingerGestures.add(
+ new MultiFingerMultiTap(mContext, 2, 1, GESTURE_2_FINGER_SINGLE_TAP, this));
+ mMultiFingerGestures.add(
+ new MultiFingerMultiTap(mContext, 2, 2, GESTURE_2_FINGER_DOUBLE_TAP, this));
+ mMultiFingerGestures.add(
+ new MultiFingerMultiTap(mContext, 2, 3, GESTURE_2_FINGER_TRIPLE_TAP, this));
+ // Three-finger taps.
+ mMultiFingerGestures.add(
+ new MultiFingerMultiTap(mContext, 3, 1, GESTURE_3_FINGER_SINGLE_TAP, this));
+ mMultiFingerGestures.add(
+ new MultiFingerMultiTap(mContext, 3, 2, GESTURE_3_FINGER_DOUBLE_TAP, this));
+ mMultiFingerGestures.add(
+ new MultiFingerMultiTap(mContext, 3, 3, GESTURE_3_FINGER_TRIPLE_TAP, this));
+ // Two-finger swipes.
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 2, DOWN, GESTURE_2_FINGER_SWIPE_DOWN, this));
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 2, LEFT, GESTURE_2_FINGER_SWIPE_LEFT, this));
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 2, RIGHT, GESTURE_2_FINGER_SWIPE_RIGHT, this));
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 2, UP, GESTURE_2_FINGER_SWIPE_UP, this));
+ // Three-finger swipes.
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 3, DOWN, GESTURE_3_FINGER_SWIPE_DOWN, this));
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 3, LEFT, GESTURE_3_FINGER_SWIPE_LEFT, this));
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 3, RIGHT, GESTURE_3_FINGER_SWIPE_RIGHT, this));
+ mMultiFingerGestures.add(
+ new MultiFingerSwipe(context, 3, UP, GESTURE_3_FINGER_SWIPE_UP, this));
}
/**
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/GestureUtils.java b/services/accessibility/java/com/android/server/accessibility/gestures/GestureUtils.java
index 0f5dd08e02b4..ac6748089314 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/GestureUtils.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/GestureUtils.java
@@ -8,6 +8,9 @@ import android.view.MotionEvent;
*/
public final class GestureUtils {
+ public static int MM_PER_CM = 10;
+ public static float CM_PER_INCH = 2.54f;
+
private GestureUtils() {
/* cannot be instantiated */
}
@@ -85,4 +88,12 @@ public final class GestureUtils {
return true;
}
+
+ /**
+ * Gets the index of the pointer that went up or down from a motion event.
+ */
+ public static int getActionIndex(MotionEvent event) {
+ return (event.getAction()
+ & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
+ }
}
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java b/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java
new file mode 100644
index 000000000000..20def6154977
--- /dev/null
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerMultiTap.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.accessibility.gestures;
+
+import android.content.Context;
+import android.graphics.PointF;
+import android.os.Handler;
+import android.view.MotionEvent;
+import android.view.ViewConfiguration;
+
+import com.android.internal.util.Preconditions;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+/**
+ * This class matches multi-finger multi-tap gestures. The number of fingers and the number of taps
+ * for each instance is specified in the constructor.
+ */
+class MultiFingerMultiTap extends GestureMatcher {
+
+ // The target number of taps.
+ final int mTargetTapCount;
+ // The target number of fingers.
+ final int mTargetFingerCount;
+ // The acceptable distance between two taps of a finger.
+ private int mDoubleTapSlop;
+ // The acceptable distance the pointer can move and still count as a tap.
+ private int mTouchSlop;
+ // A tap counts when target number of fingers are down and up once.
+ private int mCompletedTapCount;
+ // A flag set to true when target number of fingers have touched down at once before.
+ // Used to indicate what next finger action should be. Down when false and lift when true.
+ private boolean mIsTargetFingerCountReached = false;
+ // Store initial down points for slop checking and update when next down if is inside slop.
+ private PointF[] mBases;
+ // The points in bases that already have slop checked when onDown or onPointerDown.
+ // It prevents excluded points matched multiple times by other pointers from next check.
+ private ArrayList<PointF> mExcludedPointsForDownSlopChecked;
+
+ /**
+ * @throws IllegalArgumentException if <code>fingers<code/> is less than 2
+ * or <code>taps<code/> is not positive.
+ */
+ MultiFingerMultiTap(Context context, int fingers, int taps, int gestureId,
+ GestureMatcher.StateChangeListener listener) {
+ super(gestureId, new Handler(context.getMainLooper()), listener);
+ Preconditions.checkArgument(fingers >= 2);
+ Preconditions.checkArgumentPositive(taps, "Tap count must greater than 0.");
+ mTargetTapCount = taps;
+ mTargetFingerCount = fingers;
+ mDoubleTapSlop = ViewConfiguration.get(context).getScaledDoubleTapSlop();
+ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
+
+ mBases = new PointF[mTargetFingerCount];
+ for (int i = 0; i < mBases.length; i++) {
+ mBases[i] = new PointF();
+ }
+ mExcludedPointsForDownSlopChecked = new ArrayList<>(mTargetFingerCount);
+ clear();
+ }
+
+ @Override
+ protected void clear() {
+ mCompletedTapCount = 0;
+ mIsTargetFingerCountReached = false;
+ for (int i = 0; i < mBases.length; i++) {
+ mBases[i].set(Float.NaN, Float.NaN);
+ }
+ mExcludedPointsForDownSlopChecked.clear();
+ super.clear();
+ }
+
+ @Override
+ protected void onDown(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ // Before the matcher state transit to completed,
+ // Cancel when an additional down arrived after reaching the target number of taps.
+ if (mCompletedTapCount == mTargetTapCount) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ cancelAfterTapTimeout(event, rawEvent, policyFlags);
+
+ if (mCompletedTapCount == 0) {
+ initBaseLocation(rawEvent);
+ return;
+ }
+ // As fingers go up and down, their pointer ids will not be the same.
+ // Therefore we require that a given finger be in slop range of any one
+ // of the fingers from the previous tap.
+ final PointF nearest = findNearestPoint(rawEvent, mDoubleTapSlop, true);
+ if (nearest != null) {
+ // Update pointer location to nearest one as a new base for next slop check.
+ final int index = event.getActionIndex();
+ nearest.set(event.getX(index), event.getY(index));
+ } else {
+ cancelGesture(event, rawEvent, policyFlags);
+ }
+ }
+
+ @Override
+ protected void onUp(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ cancelAfterDoubleTapTimeout(event, rawEvent, policyFlags);
+
+ final PointF nearest = findNearestPoint(rawEvent, mTouchSlop, false);
+ if ((getState() == STATE_GESTURE_STARTED || getState() == STATE_CLEAR)
+ && null != nearest) {
+ // Increase current tap count when the user have all fingers lifted
+ // within the tap timeout since the target number of fingers are down.
+ if (mIsTargetFingerCountReached) {
+ mCompletedTapCount++;
+ mIsTargetFingerCountReached = false;
+ mExcludedPointsForDownSlopChecked.clear();
+ }
+
+ // Start gesture detection here to avoid the conflict to 2nd finger double tap
+ // that never actually started gesture detection.
+ if (mCompletedTapCount == 1) {
+ startGesture(event, rawEvent, policyFlags);
+ }
+ if (mCompletedTapCount == mTargetTapCount) {
+ // Done.
+ completeAfterDoubleTapTimeout(event, rawEvent, policyFlags);
+ }
+ } else {
+ // Either too many taps or nonsensical event stream.
+ cancelGesture(event, rawEvent, policyFlags);
+ }
+ }
+
+ @Override
+ protected void onMove(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ // Outside the touch slop
+ if (null == findNearestPoint(rawEvent, mTouchSlop, false)) {
+ cancelGesture(event, rawEvent, policyFlags);
+ }
+ }
+
+ @Override
+ protected void onPointerDown(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ // Reset timeout to ease the use for some people
+ // with certain impairments to get all their fingers down.
+ cancelAfterTapTimeout(event, rawEvent, policyFlags);
+ final int currentFingerCount = event.getPointerCount();
+ // Accept down only before target number of fingers are down
+ // or the finger count is not more than target.
+ if ((currentFingerCount > mTargetFingerCount) || mIsTargetFingerCountReached) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+
+ final PointF nearest;
+ if (mCompletedTapCount == 0) {
+ nearest = initBaseLocation(rawEvent);
+ } else {
+ nearest = findNearestPoint(rawEvent, mDoubleTapSlop, true);
+ }
+ if ((getState() == STATE_GESTURE_STARTED || getState() == STATE_CLEAR)
+ && nearest != null) {
+ // The user have all fingers down within the tap timeout since first finger down,
+ // setting the timeout for fingers to be lifted.
+ if (currentFingerCount == mTargetFingerCount) {
+ mIsTargetFingerCountReached = true;
+ }
+ // Update pointer location to nearest one as a new base for next slop check.
+ final int index = event.getActionIndex();
+ nearest.set(event.getX(index), event.getY(index));
+ } else {
+ cancelGesture(event, rawEvent, policyFlags);
+ }
+ }
+
+ @Override
+ protected void onPointerUp(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ // Accept up only after target number of fingers are down.
+ if (!mIsTargetFingerCountReached) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+
+ if (getState() == STATE_GESTURE_STARTED || getState() == STATE_CLEAR) {
+ // Needs more fingers lifted within the tap timeout
+ // after reaching the target number of fingers are down.
+ } else {
+ cancelGesture(event, rawEvent, policyFlags);
+ }
+ }
+
+ @Override
+ public String getGestureName() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append(mTargetFingerCount).append("-Finger ");
+ if (mTargetTapCount == 1) {
+ builder.append("Single");
+ } else if (mTargetTapCount == 2) {
+ builder.append("Double");
+ } else if (mTargetTapCount == 3) {
+ builder.append("Triple");
+ } else if (mTargetTapCount > 3) {
+ builder.append(mTargetTapCount);
+ }
+ return builder.append(" Tap").toString();
+ }
+
+ private PointF initBaseLocation(MotionEvent event) {
+ final int index = event.getActionIndex();
+ final int baseIndex = event.getPointerCount() - 1;
+ final PointF p = mBases[baseIndex];
+ if (Float.isNaN(p.x) && Float.isNaN(p.y)) {
+ p.set(event.getX(index), event.getY(index));
+ }
+ return p;
+ }
+
+ /**
+ * Find the nearest location to the given event in the bases.
+ * If no one found, it could be not inside {@code slop}, filtered or empty bases.
+ * When {@code filterMatched} is true, if the location of given event matches one of the points
+ * in {@link #mExcludedPointsForDownSlopChecked} it would be ignored. Otherwise, the location
+ * will be added to {@link #mExcludedPointsForDownSlopChecked}.
+ *
+ * @param event to find nearest point in bases.
+ * @param slop to check to the given location of the event.
+ * @param filterMatched true to exclude points already matched other pointers.
+ * @return the point in bases closed to the location of the given event.
+ */
+ private PointF findNearestPoint(MotionEvent event, float slop, boolean filterMatched) {
+ float moveDelta = Float.MAX_VALUE;
+ PointF nearest = null;
+ for (int i = 0; i < mBases.length; i++) {
+ final PointF p = mBases[i];
+ if (Float.isNaN(p.x) && Float.isNaN(p.y)) {
+ continue;
+ }
+ if (filterMatched && mExcludedPointsForDownSlopChecked.contains(p)) {
+ continue;
+ }
+ final int index = event.getActionIndex();
+ final float dX = p.x - event.getX(index);
+ final float dY = p.y - event.getY(index);
+ if (dX == 0 && dY == 0) {
+ if (filterMatched) {
+ mExcludedPointsForDownSlopChecked.add(p);
+ }
+ return p;
+ }
+ final float delta = (float) Math.hypot(dX, dY);
+ if (moveDelta > delta) {
+ moveDelta = delta;
+ nearest = p;
+ }
+ }
+ if (moveDelta < slop) {
+ if (filterMatched) {
+ mExcludedPointsForDownSlopChecked.add(nearest);
+ }
+ return nearest;
+ }
+ return null;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder(super.toString());
+ if (getState() != STATE_GESTURE_CANCELED) {
+ builder.append(", CompletedTapCount: ");
+ builder.append(mCompletedTapCount);
+ builder.append(", IsTargetFingerCountReached: ");
+ builder.append(mIsTargetFingerCountReached);
+ builder.append(", Bases: ");
+ builder.append(Arrays.toString(mBases));
+ builder.append(", ExcludedPointsForDownSlopChecked: ");
+ builder.append(mExcludedPointsForDownSlopChecked.toString());
+ }
+ return builder.toString();
+ }
+}
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerSwipe.java b/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerSwipe.java
new file mode 100644
index 000000000000..8249239e3602
--- /dev/null
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/MultiFingerSwipe.java
@@ -0,0 +1,496 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.accessibility.gestures;
+
+import static android.view.MotionEvent.INVALID_POINTER_ID;
+
+import static com.android.server.accessibility.gestures.GestureUtils.MM_PER_CM;
+import static com.android.server.accessibility.gestures.GestureUtils.getActionIndex;
+import static com.android.server.accessibility.gestures.Swipe.CANCEL_ON_PAUSE_THRESHOLD_NOT_STARTED_MS;
+import static com.android.server.accessibility.gestures.Swipe.CANCEL_ON_PAUSE_THRESHOLD_STARTED_MS;
+import static com.android.server.accessibility.gestures.Swipe.GESTURE_CONFIRM_CM;
+import static com.android.server.accessibility.gestures.TouchExplorer.DEBUG;
+
+import android.content.Context;
+import android.graphics.PointF;
+import android.os.Handler;
+import android.util.DisplayMetrics;
+import android.util.Slog;
+import android.util.TypedValue;
+import android.view.MotionEvent;
+import android.view.ViewConfiguration;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+/**
+ * This class is responsible for matching one-finger swipe gestures. Each instance matches one swipe
+ * gesture. A swipe is specified as a series of one or more directions e.g. left, left and up, etc.
+ * At this time swipes with more than two directions are not supported.
+ */
+class MultiFingerSwipe extends GestureMatcher {
+
+ // Direction constants.
+ public static final int LEFT = 0;
+ public static final int RIGHT = 1;
+ public static final int UP = 2;
+ public static final int DOWN = 3;
+ // This is the calculated movement threshold used track if the user is still
+ // moving their finger.
+ private final float mGestureDetectionThresholdPixels;
+
+ // Buffer for storing points for gesture detection.
+ private final ArrayList<PointF>[] mStrokeBuffers;
+
+ // The swipe direction for this matcher.
+ private int mDirection;
+ private int[] mPointerIds;
+ // The starting point of each finger's path in the gesture.
+ private PointF[] mBase;
+ // The most recent entry in each finger's gesture path.
+ private PointF[] mPreviousGesturePoint;
+ private int mTargetFingerCount;
+ private int mCurrentFingerCount;
+ // Whether the appropriate number of fingers have gone down at some point. This is reset only on
+ // clear.
+ private boolean mTargetFingerCountReached = false;
+ // Constants for sampling motion event points.
+ // We sample based on a minimum distance between points, primarily to improve accuracy by
+ // reducing noisy minor changes in direction.
+ private static final float MIN_CM_BETWEEN_SAMPLES = 0.25f;
+ private final float mMinPixelsBetweenSamplesX;
+ private final float mMinPixelsBetweenSamplesY;
+ // The minmimum distance the finger must travel before we evaluate the initial direction of the
+ // swipe.
+ // Anything less is still considered a touch.
+ private int mTouchSlop;
+
+ MultiFingerSwipe(
+ Context context,
+ int fingerCount,
+ int direction,
+ int gesture,
+ GestureMatcher.StateChangeListener listener) {
+ super(gesture, new Handler(context.getMainLooper()), listener);
+ mTargetFingerCount = fingerCount;
+ mPointerIds = new int[mTargetFingerCount];
+ mBase = new PointF[mTargetFingerCount];
+ mPreviousGesturePoint = new PointF[mTargetFingerCount];
+ mStrokeBuffers = new ArrayList[mTargetFingerCount];
+ mDirection = direction;
+ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
+ mGestureDetectionThresholdPixels =
+ TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, MM_PER_CM, displayMetrics)
+ * GESTURE_CONFIRM_CM;
+ // Calculate minimum gesture velocity
+ final float pixelsPerCmX = displayMetrics.xdpi / GestureUtils.CM_PER_INCH;
+ final float pixelsPerCmY = displayMetrics.ydpi / GestureUtils.CM_PER_INCH;
+ mMinPixelsBetweenSamplesX = MIN_CM_BETWEEN_SAMPLES * pixelsPerCmX;
+ mMinPixelsBetweenSamplesY = MIN_CM_BETWEEN_SAMPLES * pixelsPerCmY;
+ mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
+ clear();
+ }
+
+ @Override
+ protected void clear() {
+ mTargetFingerCountReached = false;
+ mCurrentFingerCount = 0;
+ for (int i = 0; i < mTargetFingerCount; ++i) {
+ mPointerIds[i] = INVALID_POINTER_ID;
+ if (mBase[i] == null) {
+ mBase[i] = new PointF();
+ }
+ mBase[i].x = Float.NaN;
+ mBase[i].y = Float.NaN;
+ if (mPreviousGesturePoint[i] == null) {
+ mPreviousGesturePoint[i] = new PointF();
+ }
+ mPreviousGesturePoint[i].x = Float.NaN;
+ mPreviousGesturePoint[i].y = Float.NaN;
+ if (mStrokeBuffers[i] == null) {
+ mStrokeBuffers[i] = new ArrayList<>(100);
+ }
+ mStrokeBuffers[i].clear();
+ }
+ super.clear();
+ }
+
+ @Override
+ protected void onDown(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ if (mCurrentFingerCount > 0) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mCurrentFingerCount = 1;
+ final int actionIndex = getActionIndex(rawEvent);
+ final int pointerId = rawEvent.getPointerId(actionIndex);
+ int pointerIndex = rawEvent.getPointerCount() - 1;
+ if (pointerId < 0 || pointerId > rawEvent.getPointerCount() - 1) {
+ // Nonsensical pointer id.
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ if (mPointerIds[pointerIndex] != INVALID_POINTER_ID) {
+ // Inconsistent event stream.
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mPointerIds[pointerIndex] = pointerId;
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
+ if (Float.isNaN(mBase[pointerIndex].x) && Float.isNaN(mBase[pointerIndex].y)) {
+ final float x = rawEvent.getX(actionIndex);
+ final float y = rawEvent.getY(actionIndex);
+ if (x < 0f || y < 0f) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mBase[pointerIndex].x = x;
+ mBase[pointerIndex].y = y;
+ mPreviousGesturePoint[pointerIndex].x = x;
+ mPreviousGesturePoint[pointerIndex].y = y;
+ } else {
+ // This event doesn't make sense in the middle of a gesture.
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ }
+
+ @Override
+ protected void onPointerDown(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ if (event.getPointerCount() > mTargetFingerCount) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mCurrentFingerCount += 1;
+ if (mCurrentFingerCount != rawEvent.getPointerCount()) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ if (mCurrentFingerCount == mTargetFingerCount) {
+ mTargetFingerCountReached = true;
+ }
+ final int actionIndex = getActionIndex(rawEvent);
+ final int pointerId = rawEvent.getPointerId(actionIndex);
+ if (pointerId < 0 || pointerId > rawEvent.getPointerCount() - 1) {
+ // Nonsensical pointer id.
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ int pointerIndex = mCurrentFingerCount - 1;
+ if (mPointerIds[pointerIndex] != INVALID_POINTER_ID) {
+ // Inconsistent event stream.
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mPointerIds[pointerIndex] = pointerId;
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
+ if (Float.isNaN(mBase[pointerIndex].x) && Float.isNaN(mBase[pointerIndex].y)) {
+ final float x = rawEvent.getX(actionIndex);
+ final float y = rawEvent.getY(actionIndex);
+ if (x < 0f || y < 0f) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mBase[pointerIndex].x = x;
+ mBase[pointerIndex].y = y;
+ mPreviousGesturePoint[pointerIndex].x = x;
+ mPreviousGesturePoint[pointerIndex].y = y;
+ } else {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ }
+
+ @Override
+ protected void onPointerUp(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ if (!mTargetFingerCountReached) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mCurrentFingerCount -= 1;
+ final int actionIndex = getActionIndex(event);
+ final int pointerId = event.getPointerId(actionIndex);
+ if (pointerId < 0 || pointerId > rawEvent.getPointerCount() - 1) {
+ // Nonsensical pointer id.
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ final int pointerIndex = Arrays.binarySearch(mPointerIds, pointerId);
+ if (pointerIndex < 0) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ final float x = rawEvent.getX(actionIndex);
+ final float y = rawEvent.getY(actionIndex);
+ if (x < 0f || y < 0f) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ final float dX = Math.abs(x - mPreviousGesturePoint[pointerIndex].x);
+ final float dY = Math.abs(y - mPreviousGesturePoint[pointerIndex].y);
+ if (dX >= mMinPixelsBetweenSamplesX || dY >= mMinPixelsBetweenSamplesY) {
+ mStrokeBuffers[pointerIndex].add(new PointF(x, y));
+ }
+ // We will evaluate all the paths on ACTION_UP.
+ }
+
+ @Override
+ protected void onMove(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ for (int pointerIndex = 0; pointerIndex < rawEvent.getPointerCount(); ++pointerIndex) {
+ if (DEBUG) {
+ Slog.d(getGestureName(), "Processing move on finger " + pointerIndex);
+ }
+ int index = rawEvent.findPointerIndex(mPointerIds[pointerIndex]);
+ final float x = rawEvent.getX(index);
+ final float y = rawEvent.getY(index);
+ if (x < 0f || y < 0f) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ final float dX = Math.abs(x - mPreviousGesturePoint[pointerIndex].x);
+ final float dY = Math.abs(y - mPreviousGesturePoint[pointerIndex].y);
+ final double moveDelta =
+ Math.hypot(
+ Math.abs(x - mBase[pointerIndex].x),
+ Math.abs(y - mBase[pointerIndex].y));
+ if (DEBUG) {
+ Slog.d(
+ getGestureName(),
+ "moveDelta:"
+ + Double.toString(moveDelta)
+ + " mGestureDetectionThreshold: "
+ + Float.toString(mGestureDetectionThresholdPixels));
+ }
+ if (getState() == STATE_CLEAR) {
+ if (moveDelta < mTouchSlop) {
+ // This still counts as a touch not a swipe.
+ continue;
+ } else if (mStrokeBuffers[pointerIndex].size() == 0) {
+ // First, make sure we have the right number of fingers down.
+ if (mCurrentFingerCount != mTargetFingerCount) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ // Then, make sure the pointer is going in the right direction.
+ int direction =
+ toDirection(x - mBase[pointerIndex].x, y - mBase[pointerIndex].y);
+ if (direction != mDirection) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ } else {
+ // This is confirmed to be some kind of swipe so start tracking points.
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
+ for (int i = 0; i < mTargetFingerCount; ++i) {
+ mStrokeBuffers[i].add(new PointF(mBase[i]));
+ }
+ }
+ }
+ if (moveDelta > mGestureDetectionThresholdPixels) {
+ // Try to cancel if the finger starts to go the wrong way.
+ // Note that this only works because this matcher assumes one direction.
+ int direction =
+ toDirection(x - mBase[pointerIndex].x, y - mBase[pointerIndex].y);
+ if (direction != mDirection) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ // If the pointer has moved more than the threshold,
+ // update the stored values.
+ mBase[pointerIndex].x = x;
+ mBase[pointerIndex].y = y;
+ mPreviousGesturePoint[pointerIndex].x = x;
+ mPreviousGesturePoint[pointerIndex].y = y;
+ if (getState() == STATE_CLEAR) {
+ startGesture(event, rawEvent, policyFlags);
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
+ }
+ }
+ }
+ if (getState() == STATE_GESTURE_STARTED) {
+ if (dX >= mMinPixelsBetweenSamplesX || dY >= mMinPixelsBetweenSamplesY) {
+ // Sample every 2.5 MM in order to guard against minor variations in path.
+ mPreviousGesturePoint[pointerIndex].x = x;
+ mPreviousGesturePoint[pointerIndex].y = y;
+ mStrokeBuffers[pointerIndex].add(new PointF(x, y));
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void onUp(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ if (getState() != STATE_GESTURE_STARTED) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ mCurrentFingerCount = 0;
+ final int actionIndex = getActionIndex(event);
+ final int pointerId = event.getPointerId(actionIndex);
+ final int pointerIndex = Arrays.binarySearch(mPointerIds, pointerId);
+ if (pointerIndex < 0) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ final float x = rawEvent.getX(actionIndex);
+ final float y = rawEvent.getY(actionIndex);
+ if (x < 0f || y < 0f) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ final float dX = Math.abs(x - mPreviousGesturePoint[pointerIndex].x);
+ final float dY = Math.abs(y - mPreviousGesturePoint[pointerIndex].y);
+ if (dX >= mMinPixelsBetweenSamplesX || dY >= mMinPixelsBetweenSamplesY) {
+ mStrokeBuffers[pointerIndex].add(new PointF(x, y));
+ }
+ recognizeGesture(event, rawEvent, policyFlags);
+ }
+
+ /**
+ * queues a transition to STATE_GESTURE_CANCEL based on the current state. If we have
+ * transitioned to STATE_GESTURE_STARTED the delay is longer.
+ */
+ private void cancelAfterPauseThreshold(
+ MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ cancelPendingTransitions();
+ switch (getState()) {
+ case STATE_CLEAR:
+ cancelAfter(CANCEL_ON_PAUSE_THRESHOLD_NOT_STARTED_MS, event, rawEvent, policyFlags);
+ break;
+ case STATE_GESTURE_STARTED:
+ cancelAfter(CANCEL_ON_PAUSE_THRESHOLD_STARTED_MS, event, rawEvent, policyFlags);
+ break;
+ default:
+ break;
+ }
+ }
+ /**
+ * Looks at the sequence of motions in mStrokeBuffer, classifies the gesture, then transitions
+ * to the complete or cancel state depending on the result.
+ */
+ private void recognizeGesture(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ // Check the path of each finger against the specified direction.
+ // Note that we sample every 2.5 MMm, and the direction matching is extremely tolerant (each
+ // direction has a 90-degree arch of tolerance) meaning that minor perpendicular movements
+ // should not create false negatives.
+ for (int i = 0; i < mTargetFingerCount; ++i) {
+ if (DEBUG) {
+ Slog.d(getGestureName(), "Recognizing finger: " + i);
+ }
+ if (mStrokeBuffers[i].size() < 2) {
+ Slog.d(getGestureName(), "Too few points.");
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ ArrayList<PointF> path = mStrokeBuffers[i];
+
+ if (DEBUG) {
+ Slog.d(getGestureName(), "path=" + path.toString());
+ }
+ // Classify line segments, and call Listener callbacks.
+ if (!recognizeGesturePath(event, rawEvent, policyFlags, path)) {
+ cancelGesture(event, rawEvent, policyFlags);
+ return;
+ }
+ }
+ // If we reach this point then all paths match.
+ completeGesture(event, rawEvent, policyFlags);
+ }
+
+ /**
+ * Tests the path of a given finger against the direction specified in this matcher.
+ *
+ * @return True if the path matches the specified direction for this matcher, otherwise false.
+ */
+ private boolean recognizeGesturePath(
+ MotionEvent event, MotionEvent rawEvent, int policyFlags, ArrayList<PointF> path) {
+
+ final int displayId = event.getDisplayId();
+ for (int i = 0; i < path.size() - 1; ++i) {
+ PointF start = path.get(i);
+ PointF end = path.get(i + 1);
+
+ float dX = end.x - start.x;
+ float dY = end.y - start.y;
+ int direction = toDirection(dX, dY);
+ if (direction != mDirection) {
+ if (DEBUG) {
+ Slog.d(
+ getGestureName(),
+ "Found direction "
+ + directionToString(direction)
+ + " when expecting "
+ + directionToString(mDirection));
+ }
+ return false;
+ }
+ }
+ if (DEBUG) {
+ Slog.d(getGestureName(), "Completed.");
+ }
+ return true;
+ }
+
+ private static int toDirection(float dX, float dY) {
+ if (Math.abs(dX) > Math.abs(dY)) {
+ // Horizontal
+ return (dX < 0) ? LEFT : RIGHT;
+ } else {
+ // Vertical
+ return (dY < 0) ? UP : DOWN;
+ }
+ }
+
+ public static String directionToString(int direction) {
+ switch (direction) {
+ case LEFT:
+ return "left";
+ case RIGHT:
+ return "right";
+ case UP:
+ return "up";
+ case DOWN:
+ return "down";
+ default:
+ return "Unknown Direction";
+ }
+ }
+
+ @Override
+ String getGestureName() {
+ StringBuilder builder = new StringBuilder();
+ builder.append(mTargetFingerCount).append("-finger ");
+ builder.append("Swipe ").append(directionToString(mDirection));
+ return builder.toString();
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder(super.toString());
+ if (getState() != STATE_GESTURE_CANCELED) {
+ builder.append(", mBase: ")
+ .append(mBase.toString())
+ .append(", mGestureDetectionThreshold:")
+ .append(mGestureDetectionThresholdPixels)
+ .append(", mMinPixelsBetweenSamplesX:")
+ .append(mMinPixelsBetweenSamplesX)
+ .append(", mMinPixelsBetweenSamplesY:")
+ .append(mMinPixelsBetweenSamplesY);
+ }
+ return builder.toString();
+ }
+}
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/SecondFingerMultiTap.java b/services/accessibility/java/com/android/server/accessibility/gestures/SecondFingerMultiTap.java
index eb38b53dc52a..ada251f2363c 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/SecondFingerMultiTap.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/SecondFingerMultiTap.java
@@ -18,6 +18,8 @@ package com.android.server.accessibility.gestures;
import static android.view.MotionEvent.INVALID_POINTER_ID;
+import static com.android.server.accessibility.gestures.GestureUtils.getActionIndex;
+
import android.content.Context;
import android.os.Handler;
import android.view.MotionEvent;
@@ -124,6 +126,12 @@ class SecondFingerMultiTap extends GestureMatcher {
}
@Override
+ protected void onUp(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ // Cancel early when possible, or it will take precedence over two-finger double tap.
+ cancelGesture(event, rawEvent, policyFlags);
+ }
+
+ @Override
public String getGestureName() {
switch (mTargetTaps) {
case 2:
@@ -149,11 +157,6 @@ class SecondFingerMultiTap extends GestureMatcher {
return moveDelta <= slop;
}
- private int getActionIndex(MotionEvent event) {
- return event.getAction()
- & MotionEvent.ACTION_POINTER_INDEX_MASK << MotionEvent.ACTION_POINTER_INDEX_SHIFT;
- }
-
@Override
public String toString() {
return super.toString()
diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/Swipe.java b/services/accessibility/java/com/android/server/accessibility/gestures/Swipe.java
index a285c10cc6ff..9108c69ce1f6 100644
--- a/services/accessibility/java/com/android/server/accessibility/gestures/Swipe.java
+++ b/services/accessibility/java/com/android/server/accessibility/gestures/Swipe.java
@@ -16,10 +16,10 @@
package com.android.server.accessibility.gestures;
+import static com.android.server.accessibility.gestures.GestureUtils.MM_PER_CM;
import static com.android.server.accessibility.gestures.TouchExplorer.DEBUG;
import android.content.Context;
-import android.gesture.GesturePoint;
import android.graphics.PointF;
import android.os.Handler;
import android.util.DisplayMetrics;
@@ -44,10 +44,10 @@ class Swipe extends GestureMatcher {
public static final int DOWN = 3;
// This is the calculated movement threshold used track if the user is still
// moving their finger.
- private final float mGestureDetectionThreshold;
+ private final float mGestureDetectionThresholdPixels;
// Buffer for storing points for gesture detection.
- private final ArrayList<GesturePoint> mStrokeBuffer = new ArrayList<GesturePoint>(100);
+ private final ArrayList<PointF> mStrokeBuffer = new ArrayList<>(100);
// The minimal delta between moves to add a gesture point.
private static final int TOUCH_TOLERANCE_PIX = 3;
@@ -56,7 +56,7 @@ class Swipe extends GestureMatcher {
private static final float MIN_PREDICTION_SCORE = 2.0f;
// Distance a finger must travel before we decide if it is a gesture or not.
- private static final int GESTURE_CONFIRM_CM = 1;
+ public static final int GESTURE_CONFIRM_CM = 1;
// Time threshold used to determine if an interaction is a gesture or not.
// If the first movement of 1cm takes longer than this value, we assume it's
@@ -67,17 +67,16 @@ class Swipe extends GestureMatcher {
// all gestures started with the initial movement taking less than 100ms.
// When touch exploring, the first movement almost always takes longer than
// 200ms.
- private static final long CANCEL_ON_PAUSE_THRESHOLD_NOT_STARTED_MS = 150;
+ public static final long CANCEL_ON_PAUSE_THRESHOLD_NOT_STARTED_MS = 150;
// Time threshold used to determine if a gesture should be cancelled. If
// the finger takes more than this time to move 1cm, the ongoing gesture is
// cancelled.
- private static final long CANCEL_ON_PAUSE_THRESHOLD_STARTED_MS = 300;
+ public static final long CANCEL_ON_PAUSE_THRESHOLD_STARTED_MS = 300;
private int[] mDirections;
private float mBaseX;
private float mBaseY;
- private long mBaseTime;
private float mPreviousGestureX;
private float mPreviousGestureY;
// Constants for sampling motion event points.
@@ -119,8 +118,8 @@ class Swipe extends GestureMatcher {
super(gesture, new Handler(context.getMainLooper()), listener);
mDirections = directions;
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
- mGestureDetectionThreshold =
- TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 10, displayMetrics)
+ mGestureDetectionThresholdPixels =
+ TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, MM_PER_CM, displayMetrics)
* GESTURE_CONFIRM_CM;
// Calculate minimum gesture velocity
final float pixelsPerCmX = displayMetrics.xdpi / 2.54f;
@@ -135,18 +134,16 @@ class Swipe extends GestureMatcher {
protected void clear() {
mBaseX = Float.NaN;
mBaseY = Float.NaN;
- mBaseTime = 0;
mStrokeBuffer.clear();
super.clear();
}
@Override
protected void onDown(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
- cancelAfterDelay(event, rawEvent, policyFlags);
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
if (Float.isNaN(mBaseX) && Float.isNaN(mBaseY)) {
mBaseX = rawEvent.getX();
mBaseY = rawEvent.getY();
- mBaseTime = event.getEventTime();
mPreviousGestureX = mBaseX;
mPreviousGestureY = mBaseY;
}
@@ -157,10 +154,8 @@ class Swipe extends GestureMatcher {
protected void onMove(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
final float x = rawEvent.getX();
final float y = rawEvent.getY();
- final long time = event.getEventTime();
final float dX = Math.abs(x - mPreviousGestureX);
final float dY = Math.abs(y - mPreviousGestureY);
- final long timeDelta = time - mBaseTime;
final double moveDelta = Math.hypot(Math.abs(x - mBaseX), Math.abs(y - mBaseY));
if (DEBUG) {
Slog.d(
@@ -168,7 +163,7 @@ class Swipe extends GestureMatcher {
"moveDelta:"
+ Double.toString(moveDelta)
+ " mGestureDetectionThreshold: "
- + Float.toString(mGestureDetectionThreshold));
+ + Float.toString(mGestureDetectionThresholdPixels));
}
if (getState() == STATE_CLEAR) {
if (moveDelta < mTouchSlop) {
@@ -176,25 +171,24 @@ class Swipe extends GestureMatcher {
return;
} else if (mStrokeBuffer.size() == 0) {
// First, make sure the pointer is going in the right direction.
- cancelAfterDelay(event, rawEvent, policyFlags);
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
int direction = toDirection(x - mBaseX, y - mBaseY);
if (direction != mDirections[0]) {
cancelGesture(event, rawEvent, policyFlags);
return;
} else {
// This is confirmed to be some kind of swipe so start tracking points.
- mStrokeBuffer.add(new GesturePoint(mBaseX, mBaseY, mBaseTime));
+ mStrokeBuffer.add(new PointF(mBaseX, mBaseY));
}
}
- if (moveDelta > mGestureDetectionThreshold) {
+ if (moveDelta > mGestureDetectionThresholdPixels) {
// If the pointer has moved more than the threshold,
// update the stored values.
mBaseX = x;
mBaseY = y;
- mBaseTime = time;
if (getState() == STATE_CLEAR) {
startGesture(event, rawEvent, policyFlags);
- cancelAfterDelay(event, rawEvent, policyFlags);
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
}
}
}
@@ -202,8 +196,8 @@ class Swipe extends GestureMatcher {
if (dX >= mMinPixelsBetweenSamplesX || dY >= mMinPixelsBetweenSamplesY) {
mPreviousGestureX = x;
mPreviousGestureY = y;
- mStrokeBuffer.add(new GesturePoint(x, y, time));
- cancelAfterDelay(event, rawEvent, policyFlags);
+ mStrokeBuffer.add(new PointF(x, y));
+ cancelAfterPauseThreshold(event, rawEvent, policyFlags);
}
}
}
@@ -217,11 +211,10 @@ class Swipe extends GestureMatcher {
final float x = rawEvent.getX();
final float y = rawEvent.getY();
- final long time = event.getEventTime();
final float dX = Math.abs(x - mPreviousGestureX);
final float dY = Math.abs(y - mPreviousGestureY);
if (dX >= mMinPixelsBetweenSamplesX || dY >= mMinPixelsBetweenSamplesY) {
- mStrokeBuffer.add(new GesturePoint(x, y, time));
+ mStrokeBuffer.add(new PointF(x, y));
}
recognizeGesture(event, rawEvent, policyFlags);
}
@@ -240,7 +233,8 @@ class Swipe extends GestureMatcher {
* queues a transition to STATE_GESTURE_CANCEL based on the current state. If we have
* transitioned to STATE_GESTURE_STARTED the delay is longer.
*/
- private void cancelAfterDelay(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
+ private void cancelAfterPauseThreshold(
+ MotionEvent event, MotionEvent rawEvent, int policyFlags) {
cancelPendingTransitions();
switch (getState()) {
case STATE_CLEAR:
@@ -275,7 +269,7 @@ class Swipe extends GestureMatcher {
// 90 degrees.
ArrayList<PointF> path = new ArrayList<>();
- PointF lastDelimiter = new PointF(mStrokeBuffer.get(0).x, mStrokeBuffer.get(0).y);
+ PointF lastDelimiter = mStrokeBuffer.get(0);
path.add(lastDelimiter);
float dX = 0; // Sum of unit vectors from last delimiter to each following point
@@ -283,9 +277,9 @@ class Swipe extends GestureMatcher {
int count = 0; // Number of points since last delimiter
float length = 0; // Vector length from delimiter to most recent point
- PointF next = new PointF();
+ PointF next = null;
for (int i = 1; i < mStrokeBuffer.size(); ++i) {
- next = new PointF(mStrokeBuffer.get(i).x, mStrokeBuffer.get(i).y);
+ next = mStrokeBuffer.get(i);
if (count > 0) {
// Average of unit vectors from delimiter to following points
float currentDX = dX / count;
@@ -428,7 +422,7 @@ class Swipe extends GestureMatcher {
.append(", mBaseY: ")
.append(mBaseY)
.append(", mGestureDetectionThreshold:")
- .append(mGestureDetectionThreshold)
+ .append(mGestureDetectionThresholdPixels)
.append(", mMinPixelsBetweenSamplesX:")
.append(mMinPixelsBetweenSamplesX)
.append(", mMinPixelsBetweenSamplesY:")
diff --git a/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java b/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java
index 4f49fb7578a1..48d976b1504d 100644
--- a/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java
+++ b/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java
@@ -32,11 +32,14 @@ import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.service.appprediction.AppPredictionService;
import android.util.ArrayMap;
+import android.util.ArraySet;
import android.util.Slog;
import com.android.internal.annotations.GuardedBy;
import com.android.server.infra.AbstractPerUserSystemService;
+import java.util.Map;
+import java.util.Set;
import java.util.function.Consumer;
/**
@@ -48,9 +51,13 @@ public class AppPredictionPerUserService extends
private static final String TAG = AppPredictionPerUserService.class.getSimpleName();
- @Nullable
+ /**
+ * A lookup of remote services in respect to their {@link ComponentName}.
+ */
+ @NonNull
@GuardedBy("mLock")
- private RemoteAppPredictionService mRemoteService;
+ private final ArrayMap<ComponentName, RemoteAppPredictionService> mRemoteServices =
+ new ArrayMap<>();
/**
* When {@code true}, remote service died but service state is kept so it's restored after
@@ -92,7 +99,7 @@ public class AppPredictionPerUserService extends
if (enabledChanged) {
if (!isEnabledLocked()) {
// Clear the remote service for the next call
- mRemoteService = null;
+ mRemoteServices.clear();
}
}
return enabledChanged;
@@ -104,14 +111,14 @@ public class AppPredictionPerUserService extends
@GuardedBy("mLock")
public void onCreatePredictionSessionLocked(@NonNull AppPredictionContext context,
@NonNull AppPredictionSessionId sessionId) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ if (!mSessionInfos.containsKey(sessionId)) {
+ mSessionInfos.put(sessionId, new AppPredictionSessionInfo(sessionId, context,
+ resolveComponentName(context), this::removeAppPredictionSessionInfo));
+ }
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.onCreatePredictionSession(context, sessionId);
-
- if (!mSessionInfos.containsKey(sessionId)) {
- mSessionInfos.put(sessionId, new AppPredictionSessionInfo(sessionId, context,
- this::removeAppPredictionSessionInfo));
- }
}
}
@@ -121,7 +128,8 @@ public class AppPredictionPerUserService extends
@GuardedBy("mLock")
public void notifyAppTargetEventLocked(@NonNull AppPredictionSessionId sessionId,
@NonNull AppTargetEvent event) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.notifyAppTargetEvent(sessionId, event);
}
@@ -133,7 +141,8 @@ public class AppPredictionPerUserService extends
@GuardedBy("mLock")
public void notifyLaunchLocationShownLocked(@NonNull AppPredictionSessionId sessionId,
@NonNull String launchLocation, @NonNull ParceledListSlice targetIds) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.notifyLaunchLocationShown(sessionId, launchLocation, targetIds);
}
@@ -145,7 +154,8 @@ public class AppPredictionPerUserService extends
@GuardedBy("mLock")
public void sortAppTargetsLocked(@NonNull AppPredictionSessionId sessionId,
@NonNull ParceledListSlice targets, @NonNull IPredictionCallback callback) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.sortAppTargets(sessionId, targets, callback);
}
@@ -157,7 +167,8 @@ public class AppPredictionPerUserService extends
@GuardedBy("mLock")
public void registerPredictionUpdatesLocked(@NonNull AppPredictionSessionId sessionId,
@NonNull IPredictionCallback callback) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.registerPredictionUpdates(sessionId, callback);
@@ -174,7 +185,8 @@ public class AppPredictionPerUserService extends
@GuardedBy("mLock")
public void unregisterPredictionUpdatesLocked(@NonNull AppPredictionSessionId sessionId,
@NonNull IPredictionCallback callback) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.unregisterPredictionUpdates(sessionId, callback);
@@ -190,7 +202,8 @@ public class AppPredictionPerUserService extends
*/
@GuardedBy("mLock")
public void requestPredictionUpdateLocked(@NonNull AppPredictionSessionId sessionId) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.requestPredictionUpdate(sessionId);
}
@@ -201,7 +214,8 @@ public class AppPredictionPerUserService extends
*/
@GuardedBy("mLock")
public void onDestroyPredictionSessionLocked(@NonNull AppPredictionSessionId sessionId) {
- final RemoteAppPredictionService service = getRemoteServiceLocked();
+ final RemoteAppPredictionService service = getRemoteServiceLocked(
+ getComponentName(sessionId));
if (service != null) {
service.onDestroyPredictionSession(sessionId);
@@ -229,7 +243,7 @@ public class AppPredictionPerUserService extends
synchronized (mLock) {
if (mZombie) {
// Sanity check - shouldn't happen
- if (mRemoteService == null) {
+ if (mRemoteServices.isEmpty()) {
Slog.w(TAG, "Cannot resurrect sessions because remote service is null");
return;
}
@@ -266,22 +280,30 @@ public class AppPredictionPerUserService extends
}
private void destroyAndRebindRemoteService() {
- if (mRemoteService == null) {
+ if (mRemoteServices.isEmpty()) {
return;
}
if (isDebug()) {
Slog.d(TAG, "Destroying the old remote service.");
}
- mRemoteService.destroy();
- mRemoteService = null;
+ final Set<Map.Entry<ComponentName, RemoteAppPredictionService>> services =
+ new ArraySet<>(mRemoteServices.entrySet());
+ mRemoteServices.clear();
+ services.stream().forEach(entry -> destroyAndRebindRemoteService(
+ entry.getKey(), entry.getValue()));
+ }
- mRemoteService = getRemoteServiceLocked();
- if (mRemoteService != null) {
+ private void destroyAndRebindRemoteService(
+ @NonNull final ComponentName component,
+ @NonNull final RemoteAppPredictionService service) {
+ service.destroy();
+ final RemoteAppPredictionService newService = getRemoteServiceLocked(component);
+ if (newService != null) {
if (isDebug()) {
Slog.d(TAG, "Rebinding to the new remote service.");
}
- mRemoteService.reconnect();
+ newService.reconnect();
}
}
@@ -292,7 +314,7 @@ public class AppPredictionPerUserService extends
private void resurrectSessionsLocked() {
final int numSessions = mSessionInfos.size();
if (isDebug()) {
- Slog.d(TAG, "Resurrecting remote service (" + mRemoteService + ") on "
+ Slog.d(TAG, "Resurrecting remote service (" + mRemoteServices + ") on "
+ numSessions + " sessions.");
}
@@ -310,32 +332,49 @@ public class AppPredictionPerUserService extends
}
}
- @GuardedBy("mLock")
@Nullable
- private RemoteAppPredictionService getRemoteServiceLocked() {
- if (mRemoteService == null) {
- final String serviceName = getComponentNameLocked();
- if (serviceName == null) {
- if (mMaster.verbose) {
- Slog.v(TAG, "getRemoteServiceLocked(): not set");
- }
- return null;
+ private ComponentName resolveComponentName(@NonNull final AppPredictionContext context) {
+ // TODO: add logic to determine serviceName based on context
+ final String serviceName = getComponentNameLocked();
+ if (serviceName == null) {
+ if (mMaster.verbose) {
+ Slog.v(TAG, "getRemoteServiceLocked(): not set, context = " + context);
}
- ComponentName serviceComponent = ComponentName.unflattenFromString(serviceName);
+ return null;
+ }
+ return ComponentName.unflattenFromString(serviceName);
+ }
+
+ @Nullable
+ private ComponentName getComponentName(@NonNull final AppPredictionSessionId sessionId) {
+ AppPredictionSessionInfo sessionInfo = mSessionInfos.get(sessionId);
+ return sessionInfo == null ? null : sessionInfo.mComponentName;
+ }
- mRemoteService = new RemoteAppPredictionService(getContext(),
+ @GuardedBy("mLock")
+ @Nullable
+ private RemoteAppPredictionService getRemoteServiceLocked(
+ @Nullable final ComponentName serviceComponent) {
+ if (serviceComponent == null) return null;
+ if (!mRemoteServices.containsKey(serviceComponent)) {
+ mRemoteServices.put(serviceComponent, new RemoteAppPredictionService(getContext(),
AppPredictionService.SERVICE_INTERFACE, serviceComponent, mUserId, this,
- mMaster.isBindInstantServiceAllowed(), mMaster.verbose);
+ mMaster.isBindInstantServiceAllowed(), mMaster.verbose));
}
- return mRemoteService;
+ return mRemoteServices.get(serviceComponent);
}
private static final class AppPredictionSessionInfo {
private static final boolean DEBUG = false; // Do not submit with true
+ @NonNull
private final AppPredictionSessionId mSessionId;
+ @NonNull
private final AppPredictionContext mPredictionContext;
+ @Nullable
+ private final ComponentName mComponentName;
+ @NonNull
private final Consumer<AppPredictionSessionId> mRemoveSessionInfoAction;
private final RemoteCallbackList<IPredictionCallback> mCallbacks =
@@ -352,13 +391,17 @@ public class AppPredictionPerUserService extends
}
};
- AppPredictionSessionInfo(AppPredictionSessionId id, AppPredictionContext predictionContext,
- Consumer<AppPredictionSessionId> removeSessionInfoAction) {
+ AppPredictionSessionInfo(
+ @NonNull final AppPredictionSessionId id,
+ @NonNull final AppPredictionContext predictionContext,
+ @Nullable final ComponentName componentName,
+ @NonNull final Consumer<AppPredictionSessionId> removeSessionInfoAction) {
if (DEBUG) {
Slog.d(TAG, "Creating AppPredictionSessionInfo for session Id=" + id);
}
mSessionId = id;
mPredictionContext = predictionContext;
+ mComponentName = componentName;
mRemoveSessionInfoAction = removeSessionInfoAction;
}
@@ -390,8 +433,8 @@ public class AppPredictionPerUserService extends
void resurrectSessionLocked(AppPredictionPerUserService service) {
int callbackCount = mCallbacks.getRegisteredCallbackCount();
if (DEBUG) {
- Slog.d(TAG, "Resurrecting remote service (" + service.getRemoteServiceLocked()
- + ") for session Id=" + mSessionId + " and "
+ Slog.d(TAG, "Resurrecting remote service (" + service.getRemoteServiceLocked(
+ mComponentName) + ") for session Id=" + mSessionId + " and "
+ callbackCount + " callbacks.");
}
service.onCreatePredictionSessionLocked(mPredictionContext, mSessionId);
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 97f27caaad48..7151d2b86e83 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -98,7 +98,6 @@ import android.util.Xml;
import android.util.proto.ProtoOutputStream;
import android.view.Display;
import android.view.View;
-import android.view.WindowManager;
import android.widget.RemoteViews;
import com.android.internal.R;
@@ -282,8 +281,7 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
}
private void computeMaximumWidgetBitmapMemory() {
- WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
- Display display = wm.getDefaultDisplay();
+ Display display = mContext.getDisplay();
Point size = new Point();
display.getRealSize(size);
// Cap memory usage at 1.5 times the size of the display
diff --git a/services/art-profile b/services/art-profile
index 4e113c818c6c..a712d2b5e414 100644
--- a/services/art-profile
+++ b/services/art-profile
@@ -1,2037 +1,2610 @@
-HSPLandroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/app/usage/UsageStatsManagerInternal;-><init>()V
+PLandroid/content/pm/PackageManagerInternal$PackageListObserver;->onPackageChanged(Ljava/lang/String;I)V
+HSPLandroid/content/pm/PackageManagerInternal;-><init>()V
+PLandroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;->interfaceChain()Ljava/util/ArrayList;
PLandroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;->primaryUserCredential(Ljava/util/ArrayList;)V
-HSPLandroid/hardware/authsecret/V1_0/IAuthSecret;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->authenticate(JI)I
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->cancel()I
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->enumerate()I
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->getAuthenticatorId()J
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setActiveGroup(ILjava/lang/String;)I
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setNotify(Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;)J
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasHDRDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
-HSPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasWideColorDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
-HSPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
-HSPLandroid/hardware/health/V1_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/health/V2_0/DiskStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/health/V2_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/health/V2_0/IHealth$Proxy;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/health/V2_0/IHealth$Proxy;->equals(Ljava/lang/Object;)Z
+PLandroid/hardware/authsecret/V1_0/IAuthSecret;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
+PLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService()Landroid/hardware/authsecret/V1_0/IAuthSecret;
+PLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService(Ljava/lang/String;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->authenticate(JI)I
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->cancel()I
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->enumerate()I
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->getAuthenticatorId()J
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setActiveGroup(ILjava/lang/String;)I
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setNotify(Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;)J
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getService()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getService(Ljava/lang/String;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;-><init>()V
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasHDRDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasWideColorDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->getService()Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
+PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->getService(Ljava/lang/String;)Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
+PLandroid/hardware/configstore/V1_0/OptionalBool;-><init>()V
+PLandroid/hardware/configstore/V1_0/OptionalBool;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/configstore/V1_0/OptionalBool;->readFromParcel(Landroid/os/HwParcel;)V
+PLandroid/hardware/health/V1_0/HealthInfo;-><init>()V
+PLandroid/hardware/health/V1_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/health/V2_0/DiskStats;-><init>()V
+PLandroid/hardware/health/V2_0/DiskStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/health/V2_0/HealthInfo;-><init>()V
+PLandroid/hardware/health/V2_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/health/V2_0/HealthInfo;->readFromParcel(Landroid/os/HwParcel;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->equals(Ljava/lang/Object;)Z
PLandroid/hardware/health/V2_0/IHealth$Proxy;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V
PLandroid/hardware/health/V2_0/IHealth$Proxy;->getChargeCounter(Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;)V
PLandroid/hardware/health/V2_0/IHealth$Proxy;->getCurrentAverage(Landroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;)V
PLandroid/hardware/health/V2_0/IHealth$Proxy;->getEnergyCounter(Landroid/hardware/health/V2_0/IHealth$getEnergyCounterCallback;)V
-HSPLandroid/hardware/health/V2_0/IHealth$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/health/V2_0/IHealth$Proxy;->registerCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
-HSPLandroid/hardware/health/V2_0/IHealth$Proxy;->update()I
-HSPLandroid/hardware/health/V2_0/IHealth;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/health/V2_0/IHealth;
-HSPLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/health/V2_0/StorageAttribute;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/health/V2_0/StorageInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->isOemUnlockAllowedByCarrier(Landroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByCarrierCallback;)V
-PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->setOemUnlockAllowedByCarrier(ZLjava/util/ArrayList;)I
-HSPLandroid/hardware/oemlock/V1_0/IOemLock;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/oemlock/V1_0/IOemLock;
-HSPLandroid/hardware/usb/V1_0/IUsb$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/V1_0/IUsb$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/usb/V1_0/IUsb$Proxy;->queryPortStatus()V
-HSPLandroid/hardware/usb/V1_0/IUsb$Proxy;->setCallback(Landroid/hardware/usb/V1_0/IUsbCallback;)V
-HSPLandroid/hardware/usb/V1_0/IUsb;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/usb/V1_0/IUsb;
-HSPLandroid/hardware/usb/V1_0/PortStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/usb/V1_1/PortStatus_1_1;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->getConfig(Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;)V
-HSPLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->registerCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->update()I
+PLandroid/hardware/health/V2_0/IHealth;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/health/V2_0/IHealth;
+PLandroid/hardware/health/V2_0/IHealth;->getService(Ljava/lang/String;Z)Landroid/hardware/health/V2_0/IHealth;
+PLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;-><init>()V
+PLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+PLandroid/hardware/health/V2_0/StorageAttribute;-><init>()V
+PLandroid/hardware/health/V2_0/StorageAttribute;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/health/V2_0/StorageInfo;-><init>()V
+PLandroid/hardware/health/V2_0/StorageInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/oemlock/V1_0/IOemLock;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/oemlock/V1_0/IOemLock;
+PLandroid/hardware/oemlock/V1_0/IOemLock;->getService()Landroid/hardware/oemlock/V1_0/IOemLock;
+PLandroid/hardware/oemlock/V1_0/IOemLock;->getService(Ljava/lang/String;)Landroid/hardware/oemlock/V1_0/IOemLock;
+PLandroid/hardware/usb/V1_0/IUsb$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/usb/V1_0/IUsb$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/usb/V1_0/IUsb$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+PLandroid/hardware/usb/V1_0/IUsb$Proxy;->queryPortStatus()V
+PLandroid/hardware/usb/V1_0/IUsb$Proxy;->setCallback(Landroid/hardware/usb/V1_0/IUsbCallback;)V
+PLandroid/hardware/usb/V1_0/IUsb;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/usb/V1_0/IUsb;
+PLandroid/hardware/usb/V1_0/IUsb;->getService()Landroid/hardware/usb/V1_0/IUsb;
+PLandroid/hardware/usb/V1_0/IUsb;->getService(Ljava/lang/String;)Landroid/hardware/usb/V1_0/IUsb;
+PLandroid/hardware/usb/V1_0/PortStatus;-><init>()V
+PLandroid/hardware/usb/V1_0/PortStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/usb/V1_1/PortStatus_1_1;-><init>()V
+PLandroid/hardware/usb/V1_1/PortStatus_1_1;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/usb/V1_1/PortStatus_1_1;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hardware/usb/V1_2/IUsbCallback$Stub;-><init>()V
+PLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->getConfig(Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;)V
+PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->interfaceChain()Ljava/util/ArrayList;
PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->read(ILjava/util/ArrayList;Landroid/hardware/weaver/V1_0/IWeaver$readCallback;)V
-HSPLandroid/hardware/weaver/V1_0/IWeaver;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/weaver/V1_0/IWeaver;
+PLandroid/hardware/weaver/V1_0/IWeaver;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/weaver/V1_0/IWeaver;
+PLandroid/hardware/weaver/V1_0/IWeaver;->getService()Landroid/hardware/weaver/V1_0/IWeaver;
+PLandroid/hardware/weaver/V1_0/IWeaver;->getService(Ljava/lang/String;)Landroid/hardware/weaver/V1_0/IWeaver;
+PLandroid/hardware/weaver/V1_0/WeaverConfig;-><init>()V
+PLandroid/hardware/weaver/V1_0/WeaverConfig;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/weaver/V1_0/WeaverConfig;->readFromParcel(Landroid/os/HwParcel;)V
+PLandroid/hardware/weaver/V1_0/WeaverReadResponse;-><init>()V
PLandroid/hardware/weaver/V1_0/WeaverReadResponse;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->getTransport(Ljava/lang/String;Ljava/lang/String;)B
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_0/IServiceManager;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->getService()Landroid/hidl/manager/V1_0/IServiceManager;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;-><init>()V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->listManifestByInterface(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
-PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->toString()Ljava/lang/String;
-HSPLandroid/hidl/manager/V1_2/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_2/IServiceManager;
-HSPLandroid/hidl/manager/V1_2/IServiceManager;->getService()Landroid/hidl/manager/V1_2/IServiceManager;
-HSPLandroid/net/-$$Lambda$NetworkStackClient$8Y7GJyozK7_xixdmgfHS4QSif-A;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
-HSPLandroid/net/-$$Lambda$NetworkStackClient$EsrnifYD8E-HxTwVQsf45HJKvtM;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
-HSPLandroid/net/-$$Lambda$NetworkStackClient$qInwLPrclXOFvKSYRjcCaCSeEhw;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
-PLandroid/net/ApfCapabilitiesParcelable$1;-><init>()V
-PLandroid/net/ApfCapabilitiesParcelable;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/hardware/weaver/V1_0/WeaverReadResponse;->readFromParcel(Landroid/os/HwParcel;)V
+PLandroid/hidl/manager/V1_0/IServiceManager$InstanceDebugInfo;-><init>()V
+HPLandroid/hidl/manager/V1_0/IServiceManager$InstanceDebugInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hidl/manager/V1_0/IServiceManager$InstanceDebugInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->debugDump()Ljava/util/ArrayList;
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->getTransport(Ljava/lang/String;Ljava/lang/String;)B
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+PLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
+PLandroid/hidl/manager/V1_0/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_0/IServiceManager;
+PLandroid/hidl/manager/V1_0/IServiceManager;->getService()Landroid/hidl/manager/V1_0/IServiceManager;
+PLandroid/hidl/manager/V1_0/IServiceManager;->getService(Ljava/lang/String;)Landroid/hidl/manager/V1_0/IServiceManager;
+PLandroid/hidl/manager/V1_0/IServiceNotification$Stub;-><init>()V
+PLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;-><init>(Landroid/os/IHwBinder;)V
+PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->listManifestByInterface(Ljava/lang/String;)Ljava/util/ArrayList;
+PLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
+PLandroid/hidl/manager/V1_2/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_2/IServiceManager;
+PLandroid/hidl/manager/V1_2/IServiceManager;->getService()Landroid/hidl/manager/V1_2/IServiceManager;
+PLandroid/hidl/manager/V1_2/IServiceManager;->getService(Ljava/lang/String;)Landroid/hidl/manager/V1_2/IServiceManager;
+PLandroid/net/-$$Lambda$IpMemoryStore$LPW97BoNSL4rh_RVPiAHfCbmGHU;-><init>(Ljava/util/function/Consumer;)V
+PLandroid/net/-$$Lambda$IpMemoryStore$LPW97BoNSL4rh_RVPiAHfCbmGHU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLandroid/net/-$$Lambda$IpMemoryStore$pFctTFAvh_Nxb_aTb0gjNsixGeM;-><init>(Ljava/util/function/Consumer;)V
+PLandroid/net/-$$Lambda$IpMemoryStore$pFctTFAvh_Nxb_aTb0gjNsixGeM;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$284VFgqq7BBkkwVNFLIrF3c59Es;-><init>(Landroid/net/IIpMemoryStore;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/OnBlobRetrievedListener;)V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$284VFgqq7BBkkwVNFLIrF3c59Es;->run()V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$3VeddAdCuqfXquVC2DlGvI3eVPM;-><init>(Landroid/net/IpMemoryStoreClient;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/OnBlobRetrievedListener;)V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$3VeddAdCuqfXquVC2DlGvI3eVPM;->accept(Ljava/lang/Object;)V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$4eqT-tDGA25PNMyU_1yqQCF2gOo;-><init>(Landroid/net/IIpMemoryStore;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;)V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$4eqT-tDGA25PNMyU_1yqQCF2gOo;->run()V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$OI4Zw2djhZoG0D4IE2ujC0Iv6G4;-><init>(Landroid/net/IpMemoryStoreClient;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;)V
+PLandroid/net/-$$Lambda$IpMemoryStoreClient$OI4Zw2djhZoG0D4IE2ujC0Iv6G4;->accept(Ljava/lang/Object;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$8Y7GJyozK7_xixdmgfHS4QSif-A;-><init>(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$8Y7GJyozK7_xixdmgfHS4QSif-A;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$EsrnifYD8E-HxTwVQsf45HJKvtM;-><init>(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$EsrnifYD8E-HxTwVQsf45HJKvtM;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$qInwLPrclXOFvKSYRjcCaCSeEhw;-><init>(Landroid/net/IIpMemoryStoreCallbacks;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$qInwLPrclXOFvKSYRjcCaCSeEhw;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+HSPLandroid/net/ConnectivityModuleConnector$DependenciesImpl;-><init>()V
+HSPLandroid/net/ConnectivityModuleConnector$DependenciesImpl;-><init>(Landroid/net/ConnectivityModuleConnector$1;)V
+PLandroid/net/ConnectivityModuleConnector$DependenciesImpl;->getModuleServiceIntent(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;Z)Landroid/content/Intent;
+PLandroid/net/ConnectivityModuleConnector$ModuleServiceConnection;-><init>(Landroid/net/ConnectivityModuleConnector;Ljava/lang/String;Landroid/net/ConnectivityModuleConnector$ModuleServiceCallback;)V
+PLandroid/net/ConnectivityModuleConnector$ModuleServiceConnection;-><init>(Landroid/net/ConnectivityModuleConnector;Ljava/lang/String;Landroid/net/ConnectivityModuleConnector$ModuleServiceCallback;Landroid/net/ConnectivityModuleConnector$1;)V
+PLandroid/net/ConnectivityModuleConnector$ModuleServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/net/ConnectivityModuleConnector;-><clinit>()V
+HSPLandroid/net/ConnectivityModuleConnector;-><init>()V
+HSPLandroid/net/ConnectivityModuleConnector;-><init>(Landroid/net/ConnectivityModuleConnector$Dependencies;)V
+PLandroid/net/ConnectivityModuleConnector;->access$100(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->access$300(Landroid/net/ConnectivityModuleConnector;Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->checkModuleServicePermission(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;Ljava/lang/String;)V
+HSPLandroid/net/ConnectivityModuleConnector;->getInstance()Landroid/net/ConnectivityModuleConnector;
+PLandroid/net/ConnectivityModuleConnector;->init(Landroid/content/Context;)V
+PLandroid/net/ConnectivityModuleConnector;->log(Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->logi(Ljava/lang/String;)V
+PLandroid/net/ConnectivityModuleConnector;->registerHealthListener(Landroid/net/ConnectivityModuleConnector$ConnectivityModuleHealthListener;)V
+PLandroid/net/ConnectivityModuleConnector;->startModuleService(Ljava/lang/String;Ljava/lang/String;Landroid/net/ConnectivityModuleConnector$ModuleServiceCallback;)V
PLandroid/net/DhcpResultsParcelable$1;-><init>()V
PLandroid/net/DhcpResultsParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/DhcpResultsParcelable;
PLandroid/net/DhcpResultsParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/DhcpResultsParcelable;-><clinit>()V
+PLandroid/net/DhcpResultsParcelable;-><init>()V
PLandroid/net/DhcpResultsParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/IDnsResolver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/net/IDnsResolver$Stub$Proxy;->createNetworkCache(I)V
+PLandroid/net/IDnsResolver$Stub$Proxy;->destroyNetworkCache(I)V
+PLandroid/net/IDnsResolver$Stub$Proxy;->setResolverConfiguration(Landroid/net/ResolverParamsParcel;)V
+PLandroid/net/IDnsResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IDnsResolver;
+PLandroid/net/IIpMemoryStore$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
PLandroid/net/IIpMemoryStore$Stub$Proxy;->retrieveBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/IOnBlobRetrievedListener;)V
PLandroid/net/IIpMemoryStore$Stub$Proxy;->storeBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/IOnStatusListener;)V
-HSPLandroid/net/IIpMemoryStoreCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/IIpMemoryStoreCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetd$Stub$Proxy;->bandwidthAddNiceApp(I)V
-HSPLandroid/net/INetd$Stub$Proxy;->bandwidthRemoveInterfaceQuota(Ljava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->bandwidthSetGlobalAlert(J)V
-HSPLandroid/net/INetd$Stub$Proxy;->bandwidthSetInterfaceQuota(Ljava/lang/String;J)V
-PLandroid/net/INetd$Stub$Proxy;->clatdStart(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLandroid/net/INetd$Stub$Proxy;->clatdStop(Ljava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->firewallEnableChildChain(IZ)V
-HSPLandroid/net/INetd$Stub$Proxy;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
-HSPLandroid/net/INetd$Stub$Proxy;->firewallSetFirewallType(I)V
-HSPLandroid/net/INetd$Stub$Proxy;->firewallSetUidRule(III)V
-HSPLandroid/net/INetd$Stub$Proxy;->idletimerAddInterface(Ljava/lang/String;ILjava/lang/String;)V
+PLandroid/net/IIpMemoryStore$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IIpMemoryStore;
+PLandroid/net/IIpMemoryStoreCallbacks$Stub;-><init>()V
+PLandroid/net/IIpMemoryStoreCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/IIpMemoryStoreCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/INetd$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/net/INetd$Stub$Proxy;->bandwidthAddNiceApp(I)V
+PLandroid/net/INetd$Stub$Proxy;->bandwidthSetGlobalAlert(J)V
+PLandroid/net/INetd$Stub$Proxy;->firewallEnableChildChain(IZ)V
+PLandroid/net/INetd$Stub$Proxy;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
+PLandroid/net/INetd$Stub$Proxy;->firewallSetFirewallType(I)V
+PLandroid/net/INetd$Stub$Proxy;->firewallSetUidRule(III)V
+PLandroid/net/INetd$Stub$Proxy;->idletimerAddInterface(Ljava/lang/String;ILjava/lang/String;)V
PLandroid/net/INetd$Stub$Proxy;->idletimerRemoveInterface(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->interfaceClearAddrs(Ljava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->interfaceGetCfg(Ljava/lang/String;)Landroid/net/InterfaceConfigurationParcel;
-HSPLandroid/net/INetd$Stub$Proxy;->interfaceGetList()[Ljava/lang/String;
-PLandroid/net/INetd$Stub$Proxy;->interfaceSetCfg(Landroid/net/InterfaceConfigurationParcel;)V
-HSPLandroid/net/INetd$Stub$Proxy;->interfaceSetEnableIPv6(Ljava/lang/String;Z)V
-HSPLandroid/net/INetd$Stub$Proxy;->interfaceSetIPv6PrivacyExtensions(Ljava/lang/String;Z)V
-HSPLandroid/net/INetd$Stub$Proxy;->interfaceSetMtu(Ljava/lang/String;I)V
-HSPLandroid/net/INetd$Stub$Proxy;->isAlive()Z
-HSPLandroid/net/INetd$Stub$Proxy;->networkAddInterface(ILjava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->networkAddRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/net/INetd$Stub$Proxy;->networkAddUidRanges(I[Landroid/net/UidRangeParcel;)V
-HSPLandroid/net/INetd$Stub$Proxy;->networkClearPermissionForUser([I)V
-HSPLandroid/net/INetd$Stub$Proxy;->networkCreatePhysical(II)V
-PLandroid/net/INetd$Stub$Proxy;->networkCreateVpn(IZ)V
+PLandroid/net/INetd$Stub$Proxy;->interfaceGetCfg(Ljava/lang/String;)Landroid/net/InterfaceConfigurationParcel;
+PLandroid/net/INetd$Stub$Proxy;->interfaceGetList()[Ljava/lang/String;
+PLandroid/net/INetd$Stub$Proxy;->isAlive()Z
+PLandroid/net/INetd$Stub$Proxy;->networkAddInterface(ILjava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->networkAddRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->networkClearPermissionForUser([I)V
+PLandroid/net/INetd$Stub$Proxy;->networkCreatePhysical(II)V
PLandroid/net/INetd$Stub$Proxy;->networkDestroy(I)V
-PLandroid/net/INetd$Stub$Proxy;->networkRemoveInterface(ILjava/lang/String;)V
-PLandroid/net/INetd$Stub$Proxy;->networkRemoveRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->networkSetDefault(I)V
-PLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForNetwork(II)V
-HSPLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForUser(I[I)V
-PLandroid/net/INetd$Stub$Proxy;->networkSetProtectAllow(I)V
-PLandroid/net/INetd$Stub$Proxy;->networkSetProtectDeny(I)V
-HSPLandroid/net/INetd$Stub$Proxy;->registerUnsolicitedEventListener(Landroid/net/INetdUnsolicitedEventListener;)V
-HSPLandroid/net/INetd$Stub$Proxy;->resolverStartPrefix64Discovery(I)V
-HSPLandroid/net/INetd$Stub$Proxy;->resolverStopPrefix64Discovery(I)V
-HSPLandroid/net/INetd$Stub$Proxy;->setResolverConfiguration(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->setTcpRWmemorySize(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRangeParcel;[I)V
-HSPLandroid/net/INetd$Stub$Proxy;->tetherGetStats()[Landroid/net/TetherStatsParcel;
-HSPLandroid/net/INetd$Stub$Proxy;->trafficSetNetPermForUids(I[I)V
-PLandroid/net/INetd$Stub$Proxy;->wakeupAddInterface(Ljava/lang/String;Ljava/lang/String;II)V
-PLandroid/net/INetd$Stub$Proxy;->wakeupDelInterface(Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd;
-HSPLandroid/net/INetdUnsolicitedEventListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/INetd$Stub$Proxy;->networkSetDefault(I)V
+PLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForUser(I[I)V
+PLandroid/net/INetd$Stub$Proxy;->registerUnsolicitedEventListener(Landroid/net/INetdUnsolicitedEventListener;)V
+PLandroid/net/INetd$Stub$Proxy;->setTcpRWmemorySize(Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRangeParcel;[I)V
+PLandroid/net/INetd$Stub$Proxy;->tetherGetStats()[Landroid/net/TetherStatsParcel;
+PLandroid/net/INetd$Stub$Proxy;->trafficSetNetPermForUids(I[I)V
+HPLandroid/net/INetd$Stub$Proxy;->trafficSwapActiveStatsMap()V
+PLandroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd;
+PLandroid/net/INetdUnsolicitedEventListener$Stub;-><init>()V
+PLandroid/net/INetdUnsolicitedEventListener$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/INetworkMonitor$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
PLandroid/net/INetworkMonitor$Stub$Proxy;->forceReevaluation(I)V
-PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyCaptivePortalAppFinished(I)V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyDnsResponse(I)V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyLinkPropertiesChanged()V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkCapabilitiesChanged()V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkConnected()V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyDnsResponse(I)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyLinkPropertiesChanged(Landroid/net/LinkProperties;)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkCapabilitiesChanged(Landroid/net/NetworkCapabilities;)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkConnected(Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;)V
PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkDisconnected()V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyPrivateDnsChanged(Landroid/net/PrivateDnsConfigParcel;)V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->notifySystemReady()V
-HSPLandroid/net/INetworkMonitor$Stub$Proxy;->start()V
-HSPLandroid/net/INetworkMonitorCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkMonitorCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkStackConnector$Stub$Proxy;->fetchIpMemoryStore(Landroid/net/IIpMemoryStoreCallbacks;)V
-HSPLandroid/net/INetworkStackConnector$Stub$Proxy;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
-HSPLandroid/net/INetworkStackConnector$Stub$Proxy;->makeNetworkMonitor(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
-HSPLandroid/net/IpMemoryStore$1;->onIpMemoryStoreFetched(Landroid/net/IIpMemoryStore;)V
-PLandroid/net/IpMemoryStore;->getService()Landroid/net/IIpMemoryStore;
-PLandroid/net/IpMemoryStoreClient;->retrieveBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/IOnBlobRetrievedListener;)V
-PLandroid/net/IpMemoryStoreClient;->storeBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/IOnStatusListener;)V
-HSPLandroid/net/NetworkStackClient$NetworkStackConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLandroid/net/NetworkStackClient;->dump(Ljava/io/PrintWriter;)V
-HSPLandroid/net/NetworkStackClient;->fetchIpMemoryStore(Landroid/net/IIpMemoryStoreCallbacks;)V
-HSPLandroid/net/NetworkStackClient;->getInstance()Landroid/net/NetworkStackClient;
-HSPLandroid/net/NetworkStackClient;->getNetworkStackIntent(Landroid/content/pm/PackageManager;Z)Landroid/content/Intent;
-HSPLandroid/net/NetworkStackClient;->init()V
-HSPLandroid/net/NetworkStackClient;->lambda$fetchIpMemoryStore$3(Landroid/net/IIpMemoryStoreCallbacks;Landroid/net/INetworkStackConnector;)V
-HSPLandroid/net/NetworkStackClient;->lambda$makeIpClient$1(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;Landroid/net/INetworkStackConnector;)V
-HSPLandroid/net/NetworkStackClient;->lambda$makeNetworkMonitor$2(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;Landroid/net/INetworkStackConnector;)V
-HSPLandroid/net/NetworkStackClient;->log(Ljava/lang/String;)V
-HSPLandroid/net/NetworkStackClient;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
-HSPLandroid/net/NetworkStackClient;->makeNetworkMonitor(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
-HSPLandroid/net/NetworkStackClient;->registerNetworkStackService(Landroid/os/IBinder;)V
-HSPLandroid/net/NetworkStackClient;->requestConnector(Landroid/net/NetworkStackClient$NetworkStackCallback;)V
-HSPLandroid/net/NetworkStackClient;->start(Landroid/content/Context;)V
-HSPLandroid/net/PrivateDnsConfigParcel$1;-><init>()V
-HSPLandroid/net/PrivateDnsConfigParcel;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyPrivateDnsChanged(Landroid/net/PrivateDnsConfigParcel;)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->start()V
+PLandroid/net/INetworkMonitor$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkMonitor;
+PLandroid/net/INetworkMonitorCallbacks$Stub;-><init>()V
+PLandroid/net/INetworkMonitorCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/INetworkMonitorCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/INetworkStackConnector$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/net/INetworkStackConnector$Stub$Proxy;->fetchIpMemoryStore(Landroid/net/IIpMemoryStoreCallbacks;)V
+PLandroid/net/INetworkStackConnector$Stub$Proxy;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+PLandroid/net/INetworkStackConnector$Stub$Proxy;->makeNetworkMonitor(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+PLandroid/net/INetworkStackConnector$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStackConnector;
+PLandroid/net/ITetherInternalCallback$Stub;-><init>()V
+PLandroid/net/ITetherInternalCallback$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/ITetherInternalCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/ITetheringConnector$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/net/ITetheringConnector$Stub$Proxy;->registerTetherInternalCallback(Landroid/net/ITetherInternalCallback;)V
+PLandroid/net/ITetheringConnector$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/ITetheringConnector;
+PLandroid/net/InterfaceConfigurationParcel$1;-><init>()V
+PLandroid/net/InterfaceConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/InterfaceConfigurationParcel;
+PLandroid/net/InterfaceConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/InterfaceConfigurationParcel;-><clinit>()V
+PLandroid/net/InterfaceConfigurationParcel;-><init>()V
+PLandroid/net/InterfaceConfigurationParcel;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/IpMemoryStore$1;-><init>(Landroid/net/IpMemoryStore;)V
+PLandroid/net/IpMemoryStore$1;->getInterfaceVersion()I
+PLandroid/net/IpMemoryStore$1;->onIpMemoryStoreFetched(Landroid/net/IIpMemoryStore;)V
+PLandroid/net/IpMemoryStore;-><clinit>()V
+PLandroid/net/IpMemoryStore;-><init>(Landroid/content/Context;)V
+PLandroid/net/IpMemoryStore;->access$000(Landroid/net/IpMemoryStore;)Ljava/util/concurrent/CompletableFuture;
+PLandroid/net/IpMemoryStore;->getMemoryStore(Landroid/content/Context;)Landroid/net/IpMemoryStore;
+PLandroid/net/IpMemoryStore;->getNetworkStackClient()Landroid/net/NetworkStackClient;
+PLandroid/net/IpMemoryStore;->lambda$runWhenServiceReady$0(Ljava/util/function/Consumer;Landroid/net/IIpMemoryStore;Ljava/lang/Throwable;)Landroid/net/IIpMemoryStore;
+PLandroid/net/IpMemoryStore;->lambda$runWhenServiceReady$1(Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
+PLandroid/net/IpMemoryStore;->runWhenServiceReady(Ljava/util/function/Consumer;)V
+PLandroid/net/IpMemoryStoreClient;-><clinit>()V
+PLandroid/net/IpMemoryStoreClient;-><init>(Landroid/content/Context;)V
+PLandroid/net/IpMemoryStoreClient;->ignoringRemoteException(Landroid/net/IpMemoryStoreClient$ThrowingRunnable;)V
+PLandroid/net/IpMemoryStoreClient;->ignoringRemoteException(Ljava/lang/String;Landroid/net/IpMemoryStoreClient$ThrowingRunnable;)V
+PLandroid/net/IpMemoryStoreClient;->lambda$retrieveBlob$15(Landroid/net/IIpMemoryStore;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/OnBlobRetrievedListener;)V
+PLandroid/net/IpMemoryStoreClient;->lambda$retrieveBlob$16$IpMemoryStoreClient(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/OnBlobRetrievedListener;Landroid/net/IIpMemoryStore;)V
+PLandroid/net/IpMemoryStoreClient;->lambda$storeBlob$3(Landroid/net/IIpMemoryStore;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;)V
+PLandroid/net/IpMemoryStoreClient;->lambda$storeBlob$4$IpMemoryStoreClient(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;Landroid/net/IIpMemoryStore;)V
+PLandroid/net/IpMemoryStoreClient;->retrieveBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/OnBlobRetrievedListener;)V
+PLandroid/net/IpMemoryStoreClient;->storeBlob(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;Landroid/net/ipmemorystore/OnStatusListener;)V
+PLandroid/net/NetworkMonitorManager;-><init>(Landroid/net/INetworkMonitor;)V
+PLandroid/net/NetworkMonitorManager;-><init>(Landroid/net/INetworkMonitor;Ljava/lang/String;)V
+PLandroid/net/NetworkMonitorManager;->forceReevaluation(I)Z
+HPLandroid/net/NetworkMonitorManager;->notifyDnsResponse(I)Z
+PLandroid/net/NetworkMonitorManager;->notifyLinkPropertiesChanged(Landroid/net/LinkProperties;)Z
+PLandroid/net/NetworkMonitorManager;->notifyNetworkCapabilitiesChanged(Landroid/net/NetworkCapabilities;)Z
+PLandroid/net/NetworkMonitorManager;->notifyNetworkConnected(Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;)Z
+PLandroid/net/NetworkMonitorManager;->notifyNetworkDisconnected()Z
+PLandroid/net/NetworkMonitorManager;->notifyPrivateDnsChanged(Landroid/net/PrivateDnsConfigParcel;)Z
+PLandroid/net/NetworkStackClient$DependenciesImpl;-><init>()V
+PLandroid/net/NetworkStackClient$DependenciesImpl;-><init>(Landroid/net/NetworkStackClient$1;)V
+PLandroid/net/NetworkStackClient$DependenciesImpl;->addToServiceManager(Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient$DependenciesImpl;->checkCallerUid()V
+PLandroid/net/NetworkStackClient$DependenciesImpl;->getConnectivityModuleConnector()Landroid/net/ConnectivityModuleConnector;
+PLandroid/net/NetworkStackClient$NetworkStackConnection;-><init>(Landroid/net/NetworkStackClient;)V
+PLandroid/net/NetworkStackClient$NetworkStackConnection;-><init>(Landroid/net/NetworkStackClient;Landroid/net/NetworkStackClient$1;)V
+PLandroid/net/NetworkStackClient$NetworkStackConnection;->onModuleServiceConnected(Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;-><clinit>()V
+PLandroid/net/NetworkStackClient;-><init>()V
+PLandroid/net/NetworkStackClient;-><init>(Landroid/net/NetworkStackClient$Dependencies;)V
+PLandroid/net/NetworkStackClient;->access$100(Landroid/net/NetworkStackClient;Ljava/lang/String;)V
+PLandroid/net/NetworkStackClient;->access$200(Landroid/net/NetworkStackClient;Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;->fetchIpMemoryStore(Landroid/net/IIpMemoryStoreCallbacks;)V
+PLandroid/net/NetworkStackClient;->getInstance()Landroid/net/NetworkStackClient;
+PLandroid/net/NetworkStackClient;->init()V
+PLandroid/net/NetworkStackClient;->lambda$fetchIpMemoryStore$3(Landroid/net/IIpMemoryStoreCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/NetworkStackClient;->lambda$makeIpClient$1(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/NetworkStackClient;->lambda$makeNetworkMonitor$2(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/NetworkStackClient;->log(Ljava/lang/String;)V
+PLandroid/net/NetworkStackClient;->logi(Ljava/lang/String;)V
+PLandroid/net/NetworkStackClient;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+PLandroid/net/NetworkStackClient;->makeNetworkMonitor(Landroid/net/Network;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+PLandroid/net/NetworkStackClient;->registerNetworkStackService(Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;->requestConnector(Landroid/net/NetworkStackClient$NetworkStackCallback;)V
+PLandroid/net/NetworkStackClient;->start()V
+PLandroid/net/PrivateDnsConfigParcel$1;-><init>()V
+PLandroid/net/PrivateDnsConfigParcel;-><clinit>()V
+PLandroid/net/PrivateDnsConfigParcel;-><init>()V
+PLandroid/net/PrivateDnsConfigParcel;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/net/ProvisioningConfigurationParcelable$1;-><init>()V
+PLandroid/net/ProvisioningConfigurationParcelable;-><clinit>()V
+PLandroid/net/ProvisioningConfigurationParcelable;-><init>()V
PLandroid/net/ProvisioningConfigurationParcelable;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/net/StaticIpConfigurationParcelable$1;-><init>()V
-PLandroid/net/StaticIpConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfigurationParcelable;
-PLandroid/net/StaticIpConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/net/StaticIpConfigurationParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/ResolverParamsParcel$1;-><init>()V
+PLandroid/net/ResolverParamsParcel;-><clinit>()V
+PLandroid/net/ResolverParamsParcel;-><init>()V
+PLandroid/net/ResolverParamsParcel;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/TetherStatesParcel$1;-><init>()V
+PLandroid/net/TetherStatesParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/TetherStatesParcel;
+PLandroid/net/TetherStatesParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/TetherStatesParcel;-><clinit>()V
+PLandroid/net/TetherStatesParcel;-><init>()V
+PLandroid/net/TetherStatesParcel;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/TetherStatsParcel$1;-><init>()V
+PLandroid/net/TetherStatsParcel$1;->newArray(I)[Landroid/net/TetherStatsParcel;
+HPLandroid/net/TetherStatsParcel$1;->newArray(I)[Ljava/lang/Object;
+PLandroid/net/TetherStatsParcel;-><clinit>()V
+PLandroid/net/TetheringConfigurationParcel$1;-><init>()V
+PLandroid/net/TetheringConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/TetheringConfigurationParcel;
+PLandroid/net/TetheringConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/TetheringConfigurationParcel;-><clinit>()V
+PLandroid/net/TetheringConfigurationParcel;-><init>()V
+PLandroid/net/TetheringConfigurationParcel;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/TetheringManager$TetherInternalCallback;-><init>(Landroid/net/TetheringManager;)V
+PLandroid/net/TetheringManager$TetherInternalCallback;-><init>(Landroid/net/TetheringManager;Landroid/net/TetheringManager$1;)V
+PLandroid/net/TetheringManager$TetherInternalCallback;->awaitCallbackCreation()Z
+PLandroid/net/TetheringManager$TetherInternalCallback;->onCallbackCreated(Landroid/net/Network;Landroid/net/TetheringConfigurationParcel;Landroid/net/TetherStatesParcel;)V
+PLandroid/net/TetheringManager$TetherInternalCallback;->onConfigurationChanged(Landroid/net/TetheringConfigurationParcel;)V
+PLandroid/net/TetheringManager$TetherInternalCallback;->onTetherStatesChanged(Landroid/net/TetherStatesParcel;)V
+PLandroid/net/TetheringManager$TetheringConnection;-><init>(Landroid/net/TetheringManager;)V
+PLandroid/net/TetheringManager$TetheringConnection;-><init>(Landroid/net/TetheringManager;Landroid/net/TetheringManager$1;)V
+PLandroid/net/TetheringManager$TetheringConnection;->onModuleServiceConnected(Landroid/os/IBinder;)V
+PLandroid/net/TetheringManager;-><clinit>()V
+PLandroid/net/TetheringManager;-><init>()V
+PLandroid/net/TetheringManager;->access$000(Landroid/net/TetheringManager;Ljava/lang/String;)V
+PLandroid/net/TetheringManager;->access$100(Landroid/net/TetheringManager;Landroid/os/IBinder;)V
+PLandroid/net/TetheringManager;->access$302(Landroid/net/TetheringManager;Landroid/net/Network;)Landroid/net/Network;
+PLandroid/net/TetheringManager;->access$502(Landroid/net/TetheringManager;Landroid/net/TetheringConfigurationParcel;)Landroid/net/TetheringConfigurationParcel;
+PLandroid/net/TetheringManager;->access$602(Landroid/net/TetheringManager;Landroid/net/TetherStatesParcel;)Landroid/net/TetherStatesParcel;
+PLandroid/net/TetheringManager;->getInstance()Landroid/net/TetheringManager;
+PLandroid/net/TetheringManager;->getTetherableWifiRegexs()[Ljava/lang/String;
+PLandroid/net/TetheringManager;->hasTetherableConfiguration()Z
+PLandroid/net/TetheringManager;->log(Ljava/lang/String;)V
+PLandroid/net/TetheringManager;->logi(Ljava/lang/String;)V
+PLandroid/net/TetheringManager;->registerTetheringService(Landroid/os/IBinder;)V
+PLandroid/net/TetheringManager;->start()V
+PLandroid/net/UidRangeParcel$1;-><init>()V
+PLandroid/net/UidRangeParcel;-><clinit>()V
+PLandroid/net/UidRangeParcel;-><init>()V
+PLandroid/net/UidRangeParcel;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
PLandroid/net/ip/IIpClient$Stub$Proxy;->completedPreDhcpAction()V
-HSPLandroid/net/ip/IIpClient$Stub$Proxy;->confirmConfiguration()V
-PLandroid/net/ip/IIpClient$Stub$Proxy;->readPacketFilterComplete([B)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->confirmConfiguration()V
PLandroid/net/ip/IIpClient$Stub$Proxy;->setHttpProxy(Landroid/net/ProxyInfo;)V
-HSPLandroid/net/ip/IIpClient$Stub$Proxy;->setMulticastFilter(Z)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->setL2KeyAndGroupHint(Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->setMulticastFilter(Z)V
PLandroid/net/ip/IIpClient$Stub$Proxy;->setTcpBufferSizes(Ljava/lang/String;)V
-PLandroid/net/ip/IIpClient$Stub$Proxy;->shutdown()V
PLandroid/net/ip/IIpClient$Stub$Proxy;->startProvisioning(Landroid/net/ProvisioningConfigurationParcelable;)V
PLandroid/net/ip/IIpClient$Stub$Proxy;->stop()V
-HSPLandroid/net/ip/IIpClientCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/ip/IIpClientCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/ip/IpClientCallbacks;-><init>()V
+PLandroid/net/ip/IIpClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/ip/IIpClient;
+PLandroid/net/ip/IIpClientCallbacks$Stub;-><init>()V
+PLandroid/net/ip/IIpClientCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/ip/IIpClientCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/ip/IpClientCallbacks;-><init>()V
+PLandroid/net/ip/IpClientManager;-><init>(Landroid/net/ip/IIpClient;Ljava/lang/String;)V
+PLandroid/net/ip/IpClientManager;->completedPreDhcpAction()Z
+PLandroid/net/ip/IpClientManager;->confirmConfiguration()Z
+PLandroid/net/ip/IpClientManager;->setHttpProxy(Landroid/net/ProxyInfo;)Z
+PLandroid/net/ip/IpClientManager;->setL2KeyAndGroupHint(Ljava/lang/String;Ljava/lang/String;)Z
+PLandroid/net/ip/IpClientManager;->setMulticastFilter(Z)Z
+PLandroid/net/ip/IpClientManager;->setTcpBufferSizes(Ljava/lang/String;)Z
+PLandroid/net/ip/IpClientManager;->startProvisioning(Landroid/net/shared/ProvisioningConfiguration;)Z
+PLandroid/net/ip/IpClientManager;->stop()Z
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;-><init>(Landroid/net/ip/IpClientCallbacks;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->getInterfaceVersion()I
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->installPacketFilter([B)V
-HSPLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onIpClientCreated(Landroid/net/ip/IIpClient;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onIpClientCreated(Landroid/net/ip/IIpClient;)V
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onLinkPropertiesChange(Landroid/net/LinkProperties;)V
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onNewDhcpResults(Landroid/net/DhcpResultsParcelable;)V
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onPostDhcpAction()V
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onPreDhcpAction()V
-PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onProvisioningFailure(Landroid/net/LinkProperties;)V
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onProvisioningSuccess(Landroid/net/LinkProperties;)V
-PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onQuit()V
-PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onReachabilityLost(Ljava/lang/String;)V
PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->setNeighborDiscoveryOffload(Z)V
-PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->startReadPacketFilter()V
-PLandroid/net/ip/IpClientUtil;->dumpIpClient(Landroid/net/ip/IIpClient;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLandroid/net/ip/IpClientUtil;->makeIpClient(Landroid/content/Context;Ljava/lang/String;Landroid/net/ip/IpClientCallbacks;)V
-HSPLandroid/net/ip/IpServer$Dependencies;->getNetdService()Landroid/net/INetd;
-HSPLandroid/net/ip/IpServer$InitialState;->enter()V
-HSPLandroid/net/ip/IpServer$InitialState;->processMessage(Landroid/os/Message;)Z
-HSPLandroid/net/ip/IpServer;-><init>(Ljava/lang/String;Landroid/os/Looper;ILandroid/net/util/SharedLog;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/ip/IpServer$Callback;ZLandroid/net/ip/IpServer$Dependencies;)V
-HSPLandroid/net/ip/IpServer;->getStateString(I)Ljava/lang/String;
-HSPLandroid/net/ip/IpServer;->interfaceName()Ljava/lang/String;
-HSPLandroid/net/ip/IpServer;->interfaceType()I
-HSPLandroid/net/ip/IpServer;->lastError()I
-HSPLandroid/net/ip/IpServer;->logMessage(Lcom/android/internal/util/State;I)V
-HSPLandroid/net/ip/IpServer;->updateUpstreamIPv6LinkProperties(Landroid/net/LinkProperties;)V
+PLandroid/net/ip/IpClientUtil;->makeIpClient(Landroid/content/Context;Ljava/lang/String;Landroid/net/ip/IpClientCallbacks;)V
+PLandroid/net/ipmemorystore/Blob$1;-><init>()V
+PLandroid/net/ipmemorystore/Blob$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ipmemorystore/Blob;
+PLandroid/net/ipmemorystore/Blob$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/ipmemorystore/Blob;-><clinit>()V
PLandroid/net/ipmemorystore/Blob;-><init>()V
-PLandroid/net/ipmemorystore/IOnBlobRetrievedListener$Default;-><init>()V
-PLandroid/net/ipmemorystore/IOnBlobRetrievedListener$Default;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;-><init>()V
-PLandroid/net/shared/-$$Lambda$SYWvjOUPlAZ_O2Z6yfFU9np1858;-><init>()V
+PLandroid/net/ipmemorystore/Blob;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/ipmemorystore/Blob;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/ipmemorystore/IOnBlobRetrievedListener$Stub;-><init>()V
+PLandroid/net/ipmemorystore/IOnBlobRetrievedListener$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/ipmemorystore/IOnBlobRetrievedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/ipmemorystore/IOnStatusListener$Stub;-><init>()V
+PLandroid/net/ipmemorystore/IOnStatusListener$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/ipmemorystore/IOnStatusListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/ipmemorystore/OnBlobRetrievedListener$1;-><init>(Landroid/net/ipmemorystore/OnBlobRetrievedListener;)V
+PLandroid/net/ipmemorystore/OnBlobRetrievedListener$1;->onBlobRetrieved(Landroid/net/ipmemorystore/StatusParcelable;Ljava/lang/String;Ljava/lang/String;Landroid/net/ipmemorystore/Blob;)V
+PLandroid/net/ipmemorystore/OnBlobRetrievedListener;->toAIDL(Landroid/net/ipmemorystore/OnBlobRetrievedListener;)Landroid/net/ipmemorystore/IOnBlobRetrievedListener;
+PLandroid/net/ipmemorystore/OnStatusListener$1;-><init>(Landroid/net/ipmemorystore/OnStatusListener;)V
+PLandroid/net/ipmemorystore/OnStatusListener$1;->onComplete(Landroid/net/ipmemorystore/StatusParcelable;)V
+PLandroid/net/ipmemorystore/OnStatusListener;->toAIDL(Landroid/net/ipmemorystore/OnStatusListener;)Landroid/net/ipmemorystore/IOnStatusListener;
+PLandroid/net/ipmemorystore/Status;-><init>(I)V
+PLandroid/net/ipmemorystore/Status;-><init>(Landroid/net/ipmemorystore/StatusParcelable;)V
+PLandroid/net/ipmemorystore/Status;->isSuccess()Z
+PLandroid/net/ipmemorystore/StatusParcelable$1;-><init>()V
+PLandroid/net/ipmemorystore/StatusParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ipmemorystore/StatusParcelable;
+PLandroid/net/ipmemorystore/StatusParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/ipmemorystore/StatusParcelable;-><clinit>()V
+PLandroid/net/ipmemorystore/StatusParcelable;-><init>()V
+PLandroid/net/ipmemorystore/StatusParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/metrics/INetdEventListener$Stub;-><init>()V
+PLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;-><clinit>()V
+PLandroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;-><init>()V
+PLandroid/net/shared/InitialConfiguration;-><clinit>()V
+PLandroid/net/shared/InitialConfiguration;->copy(Landroid/net/shared/InitialConfiguration;)Landroid/net/shared/InitialConfiguration;
PLandroid/net/shared/IpConfigurationParcelableUtil;->fromStableParcelable(Landroid/net/DhcpResultsParcelable;)Landroid/net/DhcpResults;
-PLandroid/net/shared/IpConfigurationParcelableUtil;->fromStableParcelable(Landroid/net/StaticIpConfigurationParcelable;)Landroid/net/StaticIpConfiguration;
-PLandroid/net/shared/IpConfigurationParcelableUtil;->toStableParcelable(Landroid/net/StaticIpConfiguration;)Landroid/net/StaticIpConfigurationParcelable;
-PLandroid/net/shared/LinkPropertiesParcelableUtil;->toStableParcelable(Landroid/net/ProxyInfo;)Landroid/net/ProxyInfo;
-HSPLandroid/net/shared/NetworkMonitorUtils;->isValidationRequired(Landroid/net/NetworkCapabilities;)Z
-HSPLandroid/net/shared/ParcelableUtil;->toParcelableArray(Ljava/util/Collection;Ljava/util/function/Function;Ljava/lang/Class;)[Ljava/lang/Object;
-HSPLandroid/net/shared/PrivateDnsConfig;-><init>()V
-HSPLandroid/net/shared/PrivateDnsConfig;->inStrictMode()Z
-HSPLandroid/net/shared/PrivateDnsConfig;->toParcel()Landroid/net/PrivateDnsConfigParcel;
-HSPLandroid/net/shared/PrivateDnsConfig;->toString()Ljava/lang/String;
+PLandroid/net/shared/IpConfigurationParcelableUtil;->unparcelAddress(Ljava/lang/String;)Ljava/net/InetAddress;
+PLandroid/net/shared/NetworkMonitorUtils;->isPrivateDnsValidationRequired(Landroid/net/NetworkCapabilities;)Z
+PLandroid/net/shared/ParcelableUtil;->toParcelableArray(Ljava/util/Collection;Ljava/util/function/Function;Ljava/lang/Class;)[Ljava/lang/Object;
+PLandroid/net/shared/PrivateDnsConfig;-><init>()V
+PLandroid/net/shared/PrivateDnsConfig;-><init>(Z)V
+PLandroid/net/shared/PrivateDnsConfig;->inStrictMode()Z
+PLandroid/net/shared/PrivateDnsConfig;->toParcel()Landroid/net/PrivateDnsConfigParcel;
+PLandroid/net/shared/PrivateDnsConfig;->toString()Ljava/lang/String;
PLandroid/net/shared/ProvisioningConfiguration$Builder;-><init>()V
PLandroid/net/shared/ProvisioningConfiguration$Builder;->build()Landroid/net/shared/ProvisioningConfiguration;
PLandroid/net/shared/ProvisioningConfiguration$Builder;->withApfCapabilities(Landroid/net/apf/ApfCapabilities;)Landroid/net/shared/ProvisioningConfiguration$Builder;
PLandroid/net/shared/ProvisioningConfiguration$Builder;->withDisplayName(Ljava/lang/String;)Landroid/net/shared/ProvisioningConfiguration$Builder;
PLandroid/net/shared/ProvisioningConfiguration$Builder;->withNetwork(Landroid/net/Network;)Landroid/net/shared/ProvisioningConfiguration$Builder;
PLandroid/net/shared/ProvisioningConfiguration$Builder;->withPreDhcpAction()Landroid/net/shared/ProvisioningConfiguration$Builder;
-PLandroid/net/shared/ProvisioningConfiguration$Builder;->withRandomMacAddress()Landroid/net/shared/ProvisioningConfiguration$Builder;
+PLandroid/net/shared/ProvisioningConfiguration;-><init>()V
PLandroid/net/shared/ProvisioningConfiguration;-><init>(Landroid/net/shared/ProvisioningConfiguration;)V
PLandroid/net/shared/ProvisioningConfiguration;->toStableParcelable()Landroid/net/ProvisioningConfigurationParcelable;
-HSPLandroid/net/util/NetdService;->get(J)Landroid/net/INetd;
-HSPLandroid/net/util/PrefixUtils;->pfx(Ljava/lang/String;)Landroid/net/IpPrefix;
-HSPLandroid/net/util/SharedLog$Category;-><init>(Ljava/lang/String;I)V
-PLandroid/net/util/SharedLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLandroid/net/util/SharedLog;->forSubComponent(Ljava/lang/String;)Landroid/net/util/SharedLog;
-HSPLandroid/net/util/SharedLog;->log(Ljava/lang/String;)V
-HSPLandroid/net/util/SharedLog;->logLine(Landroid/net/util/SharedLog$Category;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/util/SharedLog;->mark(Ljava/lang/String;)V
-HSPLandroid/net/util/VersionedBroadcastListener$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLandroid/net/util/VersionedBroadcastListener;->startListening()V
-HSPLandroid/os/IIdmap2$Stub$Proxy;->createIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String;
-HSPLandroid/os/IIdmap2$Stub$Proxy;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
-PLandroid/os/IIdmap2$Stub$Proxy;->removeIdmap(Ljava/lang/String;I)Z
-HSPLandroid/os/IIdmap2$Stub$Proxy;->verifyIdmap(Ljava/lang/String;IZI)Z
-PLcom/android/server/-$$Lambda$1kw1pGRY14l4iRI8vioJeswbbZ0;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;-><init>()V
-HSPLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;->get(Lcom/android/server/NsdService$NativeCallbackReceiver;)Lcom/android/server/NsdService$DaemonConnection;
-HSPLcom/android/server/-$$Lambda$AlarmManagerService$2$Eo-D98J-N9R2METkD-12gPs320c;->run()V
+PLandroid/net/util/NetdService;-><clinit>()V
+PLandroid/net/util/NetdService;->get()Landroid/net/INetd;
+PLandroid/net/util/NetdService;->get(J)Landroid/net/INetd;
+PLandroid/net/util/NetdService;->getInstance()Landroid/net/INetd;
+PLandroid/net/util/SharedLog$Category;-><clinit>()V
+PLandroid/net/util/SharedLog$Category;-><init>(Ljava/lang/String;I)V
+HSPLandroid/net/util/SharedLog;-><init>(ILjava/lang/String;)V
+HSPLandroid/net/util/SharedLog;-><init>(Landroid/util/LocalLog;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/net/util/SharedLog;-><init>(Ljava/lang/String;)V
+PLandroid/net/util/SharedLog;->i(Ljava/lang/String;)V
+PLandroid/net/util/SharedLog;->isRootLogInstance()Z
+PLandroid/net/util/SharedLog;->log(Ljava/lang/String;)V
+PLandroid/net/util/SharedLog;->logLine(Landroid/net/util/SharedLog$Category;Ljava/lang/String;)Ljava/lang/String;
+PLandroid/net/util/SharedLog;->record(Landroid/net/util/SharedLog$Category;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/os/BatteryStatsInternal;-><init>()V
+PLandroid/os/IIdmap2$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLandroid/os/IIdmap2$Stub$Proxy;->createIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String;
+PLandroid/os/IIdmap2$Stub$Proxy;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
+PLandroid/os/IIdmap2$Stub$Proxy;->verifyIdmap(Ljava/lang/String;IZI)Z
+PLandroid/os/IIdmap2$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIdmap2;
+HSPLandroid/os/UserManagerInternal;-><init>()V
+PLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;-><clinit>()V
+PLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;-><init>()V
+PLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;->get(Lcom/android/server/NsdService$NativeCallbackReceiver;)Lcom/android/server/NsdService$DaemonConnection;
+PLcom/android/server/-$$Lambda$AlarmManagerService$2$Eo-D98J-N9R2METkD-12gPs320c;-><init>(Lcom/android/server/AlarmManagerService$2;Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/-$$Lambda$AlarmManagerService$2$Eo-D98J-N9R2METkD-12gPs320c;->run()V
+PLcom/android/server/-$$Lambda$AlarmManagerService$Batch$Xltkj5RTKUMuFVeuavpuY7-Ogzc;-><init>(Lcom/android/server/AlarmManagerService$Alarm;)V
PLcom/android/server/-$$Lambda$AlarmManagerService$Batch$Xltkj5RTKUMuFVeuavpuY7-Ogzc;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;->test(Ljava/lang/Object;)Z
+PLcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;-><init>(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+HPLcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;->test(Ljava/lang/Object;)Z
+PLcom/android/server/-$$Lambda$AlarmManagerService$gKXZ864LsHRTGbnNeLAgHKL2YPk;-><init>(Lcom/android/server/AlarmManagerService;)V
PLcom/android/server/-$$Lambda$AlarmManagerService$gKXZ864LsHRTGbnNeLAgHKL2YPk;->run()V
-PLcom/android/server/-$$Lambda$AlarmManagerService$nSJw2tKfoL3YIrKDtszoL44jcSM;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/-$$Lambda$AlarmManagerService$qehVSjTLWvtJYPGgKh2mkJ6ePnk;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/-$$Lambda$AppStateTracker$zzioY8jvEm-1GnJ13CUiQGauPEE;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;->run()V
+PLcom/android/server/-$$Lambda$AlarmManagerService$qehVSjTLWvtJYPGgKh2mkJ6ePnk;-><init>(I)V
+PLcom/android/server/-$$Lambda$AlarmManagerService$qehVSjTLWvtJYPGgKh2mkJ6ePnk;->test(Ljava/lang/Object;)Z
+PLcom/android/server/-$$Lambda$AppStateTracker$zzioY8jvEm-1GnJ13CUiQGauPEE;-><init>(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;-><init>(Landroid/content/Intent;)V
+PLcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;->run()V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$7Y-B9O7NDYgUY9hQvFzC2FQ2V5w;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$7Y-B9O7NDYgUY9hQvFzC2FQ2V5w;->onValues(II)V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$9z3zqgxtPzBN8Qoni5nHVb0m8EY;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$9z3zqgxtPzBN8Qoni5nHVb0m8EY;->onValues(IJ)V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$DM4ow6LC--JYWBfhHp2f1JW8nww;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$DM4ow6LC--JYWBfhHp2f1JW8nww;->onValues(II)V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;->onValues(II)V
-HSPLcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;->run()V
-PLcom/android/server/-$$Lambda$ConnectivityService$4$kjr9gauOtOpxwsI0DG7Gt6Wd1hI;->run()V
-HSPLcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;->run()V
-PLcom/android/server/-$$Lambda$ConnectivityService$_NU7EIcPVS-uF_gWH_NWN_gBL4w;-><init>()V
-PLcom/android/server/-$$Lambda$ConnectivityService$_NU7EIcPVS-uF_gWH_NWN_gBL4w;->applyAsInt(Ljava/lang/Object;)I
-PLcom/android/server/-$$Lambda$ConnectivityService$iOdlQdHoQM14teTS-EPRH-RRL3k;-><init>()V
-PLcom/android/server/-$$Lambda$ConnectivityService$iOdlQdHoQM14teTS-EPRH-RRL3k;->applyAsInt(Ljava/lang/Object;)I
-PLcom/android/server/-$$Lambda$ConnectivityService$vGRhfNpFTw0hellWUlmBolfzRy8;->runOrThrow()V
-HSPLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;->run()V
-HSPLcom/android/server/-$$Lambda$DeviceIdleController$Lhneg3gOUCFQWz6Y-5S75AWemY8;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;->onAlarm()V
-HSPLcom/android/server/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;-><init>()V
-HSPLcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;-><init>()V
-HSPLcom/android/server/-$$Lambda$LocationManagerService$1$HAAnoF9DI9FvCHK_geH89--2z2I;->run()V
-HSPLcom/android/server/-$$Lambda$LocationManagerService$5dIxyLSEBQpWtBou-Lju9O-NJOM;->accept(Ljava/lang/Object;)V
-PLcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$R123rmQLJrCf8yBSKrQD6XPhpZs;->run()V
-HSPLcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$nsL4uwojBLPzs1TzMfpQIBSm7p0;->run()V
-PLcom/android/server/-$$Lambda$LocationManagerService$bojY6dMaI07zh6_sF7ERxgmk6U0;->getPackages(I)[Ljava/lang/String;
-HSPLcom/android/server/-$$Lambda$LocationManagerService$c--nwJDEsjSPyI_6OK8sVC5iClY;->onUidImportance(II)V
-PLcom/android/server/-$$Lambda$LocationManagerService$pUnNobtfzLC9eAlVqCMKySwbo3U;->getPackages(I)[Ljava/lang/String;
-HSPLcom/android/server/-$$Lambda$LocationManagerService$ta09t47XwQMZdhPftO1K9zdy5Mk;->onPermissionsChanged(I)V
-PLcom/android/server/-$$Lambda$LooperStatsService$Byo6QAxZpVXDCMtjrcYJc6YLAks;-><init>()V
-PLcom/android/server/-$$Lambda$LooperStatsService$Byo6QAxZpVXDCMtjrcYJc6YLAks;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/-$$Lambda$LooperStatsService$Vzysuo2tO86qjfcWeh1Rdb47NQQ;-><init>()V
-PLcom/android/server/-$$Lambda$LooperStatsService$Vzysuo2tO86qjfcWeh1Rdb47NQQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/-$$Lambda$LooperStatsService$XjYmSR91xdWG1Xgt-Gj9GBZZbjk;-><init>()V
-PLcom/android/server/-$$Lambda$LooperStatsService$XjYmSR91xdWG1Xgt-Gj9GBZZbjk;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/-$$Lambda$LooperStatsService$XtFJEDeyYRT79ZkVP96XkHribxg;-><init>()V
-PLcom/android/server/-$$Lambda$LooperStatsService$XtFJEDeyYRT79ZkVP96XkHribxg;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$muNPoFqxU6pF6un7sF70iW4-Fus;-><init>(Lcom/android/server/BatteryService$BatteryPropertiesRegistrar;)V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$muNPoFqxU6pF6un7sF70iW4-Fus;->run()V
+PLcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;->run()V
+PLcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;-><init>(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;-><init>(Lcom/android/server/ContextHubSystemService;Landroid/content/Context;)V
+PLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;->run()V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$6YGiVtgCnlJ0hMIeX5TzlFUaNrY;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$MJhpX-SveTcXQEYQTQa3k6RpjzU;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$MJhpX-SveTcXQEYQTQa3k6RpjzU;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$NCzfilqDrFIbp6BuyCJrDsdAk5I;-><init>(Lcom/android/server/ExplicitHealthCheckController;Ljava/util/List;Ljava/util/Set;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$NCzfilqDrFIbp6BuyCJrDsdAk5I;->accept(Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$_PgTaUvckhKQczm_86P6Mowec48;-><init>(Ljava/util/function/Consumer;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$_PgTaUvckhKQczm_86P6Mowec48;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$fE2pZ6ZhwFEJPuOl0ochqPnSmyI;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$ucIBQc_IW2iYt6j4dngAncLT6nQ;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$x4g41SYVR_nHQxV-RQY6VIfh1zs;-><init>(Lcom/android/server/ExplicitHealthCheckController;Ljava/util/Set;)V
+PLcom/android/server/-$$Lambda$ExplicitHealthCheckController$x4g41SYVR_nHQxV-RQY6VIfh1zs;->accept(Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$GnssManagerService$a17GVVAgEci0VYD4EMvKwuPLhdQ;-><init>(Lcom/android/server/GnssManagerService;)V
+PLcom/android/server/-$$Lambda$GnssManagerService$a17GVVAgEci0VYD4EMvKwuPLhdQ;->onUidImportance(II)V
+PLcom/android/server/-$$Lambda$GnssManagerService$mZAgy7PA5q3tB1aq7tHsX4xM14E;-><init>(Lcom/android/server/GnssManagerService;II)V
+PLcom/android/server/-$$Lambda$GnssManagerService$mZAgy7PA5q3tB1aq7tHsX4xM14E;->run()V
+PLcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;-><init>(Lcom/android/server/GraphicsStatsService;)V
+PLcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;->onAlarm()V
+PLcom/android/server/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;-><clinit>()V
+PLcom/android/server/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;-><init>()V
+PLcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;-><clinit>()V
+PLcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;-><init>()V
+PLcom/android/server/-$$Lambda$LocationManagerService$1$HAAnoF9DI9FvCHK_geH89--2z2I;-><init>(Lcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$1$HAAnoF9DI9FvCHK_geH89--2z2I;->run()V
+PLcom/android/server/-$$Lambda$LocationManagerService$56u_uxjuANYKBEJg0XAb0TfpovM;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$BQNQ1vKVv2dgsjR1d4p8xU8o1us;-><init>(Lcom/android/server/LocationManagerService;)V
+HPLcom/android/server/-$$Lambda$LocationManagerService$BQNQ1vKVv2dgsjR1d4p8xU8o1us;->onUidImportance(II)V
+PLcom/android/server/-$$Lambda$LocationManagerService$C9tKV14EC-5lshjotTKSFyTMBDc;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$DJ4kMod0tVB-vqSawrWCXTCoPAM;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$GnHas6J3gXGjXx6KfNuV_GzNl9w;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$HFEIyPdjr9Q7EqNSfKbvCg7C3nU;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$HFEIyPdjr9Q7EqNSfKbvCg7C3nU;->onSettingChanged(I)V
+PLcom/android/server/-$$Lambda$LocationManagerService$HZIPtgYCt4b4zdEJtC8qjcHStVE;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$2z6Xnvlf9BP5BZjVuP0wuKI1OtQ;-><init>(Lcom/android/server/LocationManagerService$LocationProvider;Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$2z6Xnvlf9BP5BZjVuP0wuKI1OtQ;->run()V
+PLcom/android/server/-$$Lambda$LocationManagerService$Nht7c6P7I1-MJqXp4qiS_HUIjzY;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$QVf9Y4g7BmVBQBlkUO5oHLmMW2o;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$QVf9Y4g7BmVBQBlkUO5oHLmMW2o;->run()V
+HPLcom/android/server/-$$Lambda$LocationManagerService$V3FRncuMEn-4R6Dd2zsTs4m0dWM;-><init>(Lcom/android/server/LocationManagerService;II)V
+HPLcom/android/server/-$$Lambda$LocationManagerService$V3FRncuMEn-4R6Dd2zsTs4m0dWM;->run()V
+PLcom/android/server/-$$Lambda$LocationManagerService$es-cu7rp_R0xbJzDRj4qpZNL7vc;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$es-cu7rp_R0xbJzDRj4qpZNL7vc;->onPermissionsChanged(I)V
+PLcom/android/server/-$$Lambda$LocationManagerService$qbZh8GXCTpZ1wNP3qw1VXZxlKQg;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$qbZh8GXCTpZ1wNP3qw1VXZxlKQg;->onSettingChanged(I)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$15DusjG2gzn5UASV-lMS3BUUn9c;-><init>(Lcom/android/server/NetworkManagementService;Lcom/android/server/NetworkManagementService$IdleTimerParams;)V
PLcom/android/server/-$$Lambda$NetworkManagementService$15DusjG2gzn5UASV-lMS3BUUn9c;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$FsR_UD5xfj4hgrwGdX74wq881Bk;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$JKmkb4AIm_PPzQp1XOHOgPPRswo;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;-><init>(IZJ)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$JKmkb4AIm_PPzQp1XOHOgPPRswo;-><init>(Landroid/net/RouteInfo;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$JKmkb4AIm_PPzQp1XOHOgPPRswo;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+HPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$0xWa9DGxTnoGVHppsM-nng2PygE;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;IZJI)V
PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$0xWa9DGxTnoGVHppsM-nng2PygE;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$KpFpi2qBs2OPscTclZ3JRRr-G-g;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$KpFpi2qBs2OPscTclZ3JRRr-G-g;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$KpFpi2qBs2OPscTclZ3JRRr-G-g;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$L7i_Z-ii6zMptHCt2_Igy3iBvKk;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$L7i_Z-ii6zMptHCt2_Igy3iBvKk;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$QjjL0oku3yfQh6xuCG2xu7lWiSM;->run()V
-PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$h2iz-IbnHpQ97mlJ7G62W2mmanw;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$hh3pIkVnnzeRGeDRAOOmVvc6VxE;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$ne4qDQiQuX7-WNuF8Q_c7HnWnG0;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$pOV71EYm5PphEVG1PGQnV_c6XiA;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$praKgcnQG9FTHNMGfCVPTVY8mK8;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$RVCc8O9RWjyrynN9cyM7inAv-fk;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$YKgmK-4MuJjN-VLuMBhmJy1eWj4;->run()V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$Yw12yNgo43yul34SibAKDtttAK8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$hs6djmKbGd8sG4u1TMglrogNP_s;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/-$$Lambda$NetworkManagementService$vX8dVVYxxv3YT9jQuN34bgGgRa8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$QjjL0oku3yfQh6xuCG2xu7lWiSM;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;ZLandroid/net/RouteInfo;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$QjjL0oku3yfQh6xuCG2xu7lWiSM;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$hh3pIkVnnzeRGeDRAOOmVvc6VxE;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$hh3pIkVnnzeRGeDRAOOmVvc6VxE;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$pOV71EYm5PphEVG1PGQnV_c6XiA;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Z)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$pOV71EYm5PphEVG1PGQnV_c6XiA;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$praKgcnQG9FTHNMGfCVPTVY8mK8;-><init>(Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$praKgcnQG9FTHNMGfCVPTVY8mK8;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$RVCc8O9RWjyrynN9cyM7inAv-fk;-><init>(Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$RVCc8O9RWjyrynN9cyM7inAv-fk;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;-><init>(Landroid/net/RouteInfo;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$YKgmK-4MuJjN-VLuMBhmJy1eWj4;-><init>(Lcom/android/server/NetworkManagementService;I)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$YKgmK-4MuJjN-VLuMBhmJy1eWj4;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$Yw12yNgo43yul34SibAKDtttAK8;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$Yw12yNgo43yul34SibAKDtttAK8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;-><init>(Ljava/lang/String;Z)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$hs6djmKbGd8sG4u1TMglrogNP_s;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$hs6djmKbGd8sG4u1TMglrogNP_s;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$xer7k2RLU4mODjrkZqaX89S9gD8;-><init>(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/-$$Lambda$NetworkManagementService$xer7k2RLU4mODjrkZqaX89S9gD8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkScoreService$vwytA23Qz3U83FJaKiA52aJ1mts;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$07YAng9lcuyRJuBYy9Jk3p2pWVY;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$07YAng9lcuyRJuBYy9Jk3p2pWVY;->run()V
+HSPLcom/android/server/-$$Lambda$PackageWatchdog$CQuOnXthwwBaxcS5WoAlJJAz8Tk;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$CQuOnXthwwBaxcS5WoAlJJAz8Tk;->run()V
+PLcom/android/server/-$$Lambda$PackageWatchdog$Jw3j5MJV779MFM4_82knw6ZMoQk;-><init>(Lcom/android/server/PackageWatchdog;)V
+HSPLcom/android/server/-$$Lambda$PackageWatchdog$Q0WI2EJpRFO1jF_7_YDaj1eGHas;-><init>(Lcom/android/server/PackageWatchdog;)V
PLcom/android/server/-$$Lambda$PackageWatchdog$Q0WI2EJpRFO1jF_7_YDaj1eGHas;->run()V
-HSPLcom/android/server/-$$Lambda$PackageWatchdog$YWaPZrg-b7PWDORq6WFyD-xtIC8;->run()V
-PLcom/android/server/-$$Lambda$PackageWatchdog$_sPWk0sc-U-bejnv7LJfRG-zUwU;->run()V
-PLcom/android/server/-$$Lambda$PackageWatchdog$a9_AwAvl6vknTazIAvycouLJHwo;->run()V
-HSPLcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;->run()V
-HSPLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;-><init>()V
-HSPLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;-><init>()V
-HSPLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$dGAIdmdAmYvybYvlZcbaTbRfu2A;-><init>(Lcom/android/server/PackageWatchdog;Ljava/util/List;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$dGAIdmdAmYvybYvlZcbaTbRfu2A;->run()V
+PLcom/android/server/-$$Lambda$PackageWatchdog$f6jHIORczwNnfI1tpkrUzpu9mDk;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$nOS9OaZO4hPsSe0I8skPT1UgQoo;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$uFI2R7Ip9Bh1wQPJqJ5H5A0soVU;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$uFI2R7Ip9Bh1wQPJqJ5H5A0soVU;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/-$$Lambda$PackageWatchdog$vRKcIrucEj03dz6ypRVINZtns1s;-><init>(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;-><init>(Lcom/android/server/PersistentDataBlockService;)V
+PLcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;->run()V
+PLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;-><clinit>()V
+PLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;-><init>()V
+PLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;-><clinit>()V
+PLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;-><init>()V
+PLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$PinnerService$6bekYOn4YXi0x7vYNWO40QyA-s8;-><clinit>()V
PLcom/android/server/-$$Lambda$PinnerService$6bekYOn4YXi0x7vYNWO40QyA-s8;-><init>()V
PLcom/android/server/-$$Lambda$PinnerService$6bekYOn4YXi0x7vYNWO40QyA-s8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;-><init>()V
-HSPLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;-><clinit>()V
+PLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;-><init>()V
+PLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$PruneInstantAppsJobService$i4sLSJdxcTXdgPAQZFbP66ZRprE;-><init>(Lcom/android/server/PruneInstantAppsJobService;Landroid/app/job/JobParameters;)V
PLcom/android/server/-$$Lambda$PruneInstantAppsJobService$i4sLSJdxcTXdgPAQZFbP66ZRprE;->run()V
-HSPLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;-><init>()V
-HSPLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/-$$Lambda$ServiceWatcher$IP3HV4ye72eH3YxzGb9dMfcGWPE;->run()V
-PLcom/android/server/-$$Lambda$ServiceWatcher$b1z9OeL-1VpQ_8p47qz7nMNUpsE;->call()Ljava/lang/Object;
-HSPLcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;->run()V
-PLcom/android/server/-$$Lambda$ServiceWatcher$uCZpuTwrOz-CS9PQS2NY1ZXaU8U;->run()V
-HSPLcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;->run()V
-HSPLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;-><init>()V
-HSPLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;->run()V
-HSPLcom/android/server/-$$Lambda$SystemServer$RIWNR87PnJ4Y6VHItRXU0J6ocqQ;-><init>(Lcom/android/server/SystemServer;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
-HSPLcom/android/server/-$$Lambda$SystemServer$RIWNR87PnJ4Y6VHItRXU0J6ocqQ;->run()V
-HSPLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;-><init>()V
-HSPLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;->run()V
-HSPLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;-><init>()V
-HSPLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;->run()V
-HSPLcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;->run()V
-HSPLcom/android/server/-$$Lambda$SystemServerInitThreadPool$7wfLGkZF7FvYZv7xj3ghvuiJJGk;->run()V
-HSPLcom/android/server/-$$Lambda$TelephonyRegistry$ANYH01Imb6dMua6cgKvMEl4kD3I;->getOrThrow()Ljava/lang/Object;
-HSPLcom/android/server/-$$Lambda$TelephonyRegistry$KwKYEFoKdijV5jZbDqX1IUV4CzY;->getOrThrow()Ljava/lang/Object;
-HSPLcom/android/server/-$$Lambda$UiModeManagerService$vYS4_RzjAavNRF50rrGN0tXI5JM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/-$$Lambda$UiModeManagerService$vuGxqIEDBezs_Xyz-NAh0Bonp5g;->run()V
+PLcom/android/server/-$$Lambda$QDIfseHi3OqlANfwpoMGUUJDtAQ;-><init>(Lcom/android/server/GnssManagerService;)V
+PLcom/android/server/-$$Lambda$QDIfseHi3OqlANfwpoMGUUJDtAQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;-><clinit>()V
+PLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;-><init>()V
+PLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$ServiceWatcher$IP3HV4ye72eH3YxzGb9dMfcGWPE;-><init>(Lcom/android/server/ServiceWatcher;)V
+PLcom/android/server/-$$Lambda$ServiceWatcher$IP3HV4ye72eH3YxzGb9dMfcGWPE;->run()V
+PLcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;-><init>(Lcom/android/server/ServiceWatcher;Lcom/android/server/ServiceWatcher$BinderRunner;)V
+PLcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;->run()V
+PLcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;-><init>(Lcom/android/server/ServiceWatcher;Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;->run()V
+PLcom/android/server/-$$Lambda$StorageManagerService$js3bHvdd2Mf8gztNxvL27JoT034;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;-><clinit>()V
+PLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;-><init>()V
+PLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;->run()V
+PLcom/android/server/-$$Lambda$SystemServer$TEbRm_G0ejorrajBEvke8XmHuQU;-><init>(Lcom/android/server/SystemServer;Lcom/android/server/utils/TimingsTraceAndSlog;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/-$$Lambda$SystemServer$TEbRm_G0ejorrajBEvke8XmHuQU;->run()V
+PLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;-><clinit>()V
+PLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;-><init>()V
+PLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;->run()V
+PLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;-><clinit>()V
+PLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;-><init>()V
+PLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;->run()V
+PLcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;-><init>(Lcom/android/server/SystemServer;)V
+PLcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;->run()V
+HSPLcom/android/server/-$$Lambda$SystemServerInitThreadPool$o2_GLo0lnkotYmRdTfg66UETEwQ;-><init>(Lcom/android/server/SystemServerInitThreadPool;Ljava/lang/String;Ljava/lang/Runnable;)V
+HSPLcom/android/server/-$$Lambda$SystemServerInitThreadPool$o2_GLo0lnkotYmRdTfg66UETEwQ;->run()V
+PLcom/android/server/-$$Lambda$UiModeManagerService$vYS4_RzjAavNRF50rrGN0tXI5JM;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/-$$Lambda$UiModeManagerService$vuGxqIEDBezs_Xyz-NAh0Bonp5g;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/-$$Lambda$UiModeManagerService$vuGxqIEDBezs_Xyz-NAh0Bonp5g;->run()V
+HSPLcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;-><clinit>()V
HSPLcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;-><init>()V
HSPLcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;->run()V
-HSPLcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;-><init>()V
+PLcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;-><clinit>()V
+PLcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;-><init>()V
PLcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;-><init>()V
-PLcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/AlarmManagerService$1;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
-HSPLcom/android/server/AlarmManagerService$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/AlarmManagerService$2;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
-HSPLcom/android/server/AlarmManagerService$2;->lambda$doAlarm$0$AlarmManagerService$2(Landroid/app/IAlarmCompleteListener;)V
-HSPLcom/android/server/AlarmManagerService$3;->currentNetworkTimeMillis()J
-PLcom/android/server/AlarmManagerService$3;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/AlarmManagerService$3;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
+PLcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;-><clinit>()V
+PLcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;-><init>()V
+HSPLcom/android/server/-$$Lambda$u6uWKONNslLDvDcMfFfe2etQmKg;-><clinit>()V
+HSPLcom/android/server/-$$Lambda$u6uWKONNslLDvDcMfFfe2etQmKg;-><init>()V
+PLcom/android/server/AlarmManagerService$1;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$1;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
+PLcom/android/server/AlarmManagerService$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/AlarmManagerService$2;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$2;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/AlarmManagerService$2;->lambda$doAlarm$0$AlarmManagerService$2(Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/AlarmManagerService$3;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$3;->currentNetworkTimeMillis()J
+PLcom/android/server/AlarmManagerService$3;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
PLcom/android/server/AlarmManagerService$3;->getNextWakeFromIdleTime()J
-HSPLcom/android/server/AlarmManagerService$3;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-HSPLcom/android/server/AlarmManagerService$3;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-HSPLcom/android/server/AlarmManagerService$3;->setTime(J)Z
-HSPLcom/android/server/AlarmManagerService$3;->setTimeZone(Ljava/lang/String;)V
-PLcom/android/server/AlarmManagerService$4;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$4;->compare(Lcom/android/server/AlarmManagerService$FilterStats;Lcom/android/server/AlarmManagerService$FilterStats;)I
-PLcom/android/server/AlarmManagerService$4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/AlarmManagerService$5;->compare(Lcom/android/server/AlarmManagerService$FilterStats;Lcom/android/server/AlarmManagerService$FilterStats;)I
-PLcom/android/server/AlarmManagerService$5;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/AlarmManagerService$6;->onUidForeground(IZ)V
-HSPLcom/android/server/AlarmManagerService$6;->unblockAlarmsForUid(I)V
-HSPLcom/android/server/AlarmManagerService$6;->unblockAllUnrestrictedAlarms()V
-HSPLcom/android/server/AlarmManagerService$Alarm;-><init>(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;ILandroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
-PLcom/android/server/AlarmManagerService$Alarm;->dump(Ljava/io/PrintWriter;Ljava/lang/String;JJLjava/text/SimpleDateFormat;)V
-HSPLcom/android/server/AlarmManagerService$Alarm;->makeTag(Landroid/app/PendingIntent;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/AlarmManagerService$Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z
-PLcom/android/server/AlarmManagerService$Alarm;->toString()Ljava/lang/String;
-PLcom/android/server/AlarmManagerService$Alarm;->writeToProto(Landroid/util/proto/ProtoOutputStream;JJJ)V
-HSPLcom/android/server/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/AlarmManagerService$AlarmThread;->run()V
-HSPLcom/android/server/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSPLcom/android/server/AlarmManagerService$AppStandbyTracker;->onParoleStateChanged(Z)V
-PLcom/android/server/AlarmManagerService$AppWakeupHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;J)V
-PLcom/android/server/AlarmManagerService$AppWakeupHistory;->dump(Ljava/io/PrintWriter;Ljava/lang/String;J)V
-PLcom/android/server/AlarmManagerService$AppWakeupHistory;->getLastWakeupForPackage(Ljava/lang/String;II)J
-HSPLcom/android/server/AlarmManagerService$AppWakeupHistory;->getTotalWakeupsInWindow(Ljava/lang/String;I)I
+PLcom/android/server/AlarmManagerService$3;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+HPLcom/android/server/AlarmManagerService$3;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
+PLcom/android/server/AlarmManagerService$6;-><init>(Lcom/android/server/AlarmManagerService;)V
+HPLcom/android/server/AlarmManagerService$6;->onUidForeground(IZ)V
+PLcom/android/server/AlarmManagerService$6;->unblockAlarmsForUid(I)V
+HPLcom/android/server/AlarmManagerService$Alarm;-><init>(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;ILandroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
+HPLcom/android/server/AlarmManagerService$Alarm;->makeTag(Landroid/app/PendingIntent;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/AlarmManagerService$Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z
+PLcom/android/server/AlarmManagerService$AlarmHandler;-><init>(Lcom/android/server/AlarmManagerService;)V
+HPLcom/android/server/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/AlarmManagerService$AlarmThread;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$AlarmThread;->run()V
+PLcom/android/server/AlarmManagerService$AppStandbyTracker;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$AppStandbyTracker;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$1;)V
+PLcom/android/server/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;-><init>(J)V
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;->getTotalWakeupsInWindow(Ljava/lang/String;I)I
PLcom/android/server/AlarmManagerService$AppWakeupHistory;->recordAlarmForPackage(Ljava/lang/String;IJ)V
-HSPLcom/android/server/AlarmManagerService$AppWakeupHistory;->removeForPackage(Ljava/lang/String;I)V
-HSPLcom/android/server/AlarmManagerService$Batch;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)V
-HSPLcom/android/server/AlarmManagerService$Batch;->add(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HSPLcom/android/server/AlarmManagerService$Batch;->get(I)Lcom/android/server/AlarmManagerService$Alarm;
-HSPLcom/android/server/AlarmManagerService$Batch;->remove(Ljava/util/function/Predicate;Z)Z
-HSPLcom/android/server/AlarmManagerService$Batch;->size()I
-PLcom/android/server/AlarmManagerService$Batch;->toString()Ljava/lang/String;
-PLcom/android/server/AlarmManagerService$Batch;->writeToProto(Landroid/util/proto/ProtoOutputStream;JJJ)V
-HSPLcom/android/server/AlarmManagerService$BatchTimeOrder;-><init>()V
-HSPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Batch;Lcom/android/server/AlarmManagerService$Batch;)I
-HSPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/AlarmManagerService$BroadcastStats;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+HPLcom/android/server/AlarmManagerService$Batch;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)V
+HPLcom/android/server/AlarmManagerService$Batch;->add(Lcom/android/server/AlarmManagerService$Alarm;)Z
+PLcom/android/server/AlarmManagerService$Batch;->canHold(JJ)Z
+PLcom/android/server/AlarmManagerService$Batch;->get(I)Lcom/android/server/AlarmManagerService$Alarm;
+PLcom/android/server/AlarmManagerService$Batch;->hasWakeups()Z
+HPLcom/android/server/AlarmManagerService$Batch;->remove(Ljava/util/function/Predicate;Z)Z
+PLcom/android/server/AlarmManagerService$Batch;->size()I
+PLcom/android/server/AlarmManagerService$BatchTimeOrder;-><init>()V
+PLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Batch;Lcom/android/server/AlarmManagerService$Batch;)I
+HPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/AlarmManagerService$BroadcastStats;-><init>(ILjava/lang/String;)V
+PLcom/android/server/AlarmManagerService$ChargingReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$ChargingReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/AlarmManagerService$ClockReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
PLcom/android/server/AlarmManagerService$ClockReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleDateChangedEvent()V
-HSPLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V
-HSPLcom/android/server/AlarmManagerService$Constants;-><init>(Lcom/android/server/AlarmManagerService;Landroid/os/Handler;)V
-PLcom/android/server/AlarmManagerService$Constants;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/AlarmManagerService$Constants;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/AlarmManagerService$Constants;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/AlarmManagerService$Constants;->updateConstants()V
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->deliverLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/app/PendingIntent;Landroid/content/Intent;)Lcom/android/server/AlarmManagerService$InFlight;
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/os/IBinder;)Lcom/android/server/AlarmManagerService$InFlight;
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->updateStatsLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
-HSPLcom/android/server/AlarmManagerService$DeliveryTracker;->updateTrackingLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
-PLcom/android/server/AlarmManagerService$FilterStats;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/AlarmManagerService$InFlight;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;J)V
-HSPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;-><init>()V
-HSPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
-HSPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/AlarmManagerService$Injector;->getAlarmWakeLock()Landroid/os/PowerManager$WakeLock;
-HSPLcom/android/server/AlarmManagerService$Injector;->getClockReceiver(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AlarmManagerService$ClockReceiver;
-HSPLcom/android/server/AlarmManagerService$Injector;->getCurrentTimeMillis()J
-HSPLcom/android/server/AlarmManagerService$Injector;->getElapsedRealtime()J
-PLcom/android/server/AlarmManagerService$Injector;->getNextAlarm(I)J
-HSPLcom/android/server/AlarmManagerService$Injector;->getSystemUiUid()I
-HSPLcom/android/server/AlarmManagerService$Injector;->init()V
-HSPLcom/android/server/AlarmManagerService$Injector;->isAlarmDriverPresent()Z
-HSPLcom/android/server/AlarmManagerService$Injector;->setAlarm(IJ)V
-HSPLcom/android/server/AlarmManagerService$Injector;->setKernelTime(J)V
-HSPLcom/android/server/AlarmManagerService$Injector;->setKernelTimezone(I)V
-HSPLcom/android/server/AlarmManagerService$Injector;->waitForAlarm()I
-HSPLcom/android/server/AlarmManagerService$InteractiveStateReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleDateChangedEvent()V
+PLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V
+PLcom/android/server/AlarmManagerService$Constants;-><init>(Lcom/android/server/AlarmManagerService;Landroid/os/Handler;)V
+PLcom/android/server/AlarmManagerService$Constants;->start(Landroid/content/ContentResolver;)V
+PLcom/android/server/AlarmManagerService$Constants;->updateAllowWhileIdleWhitelistDurationLocked()V
+PLcom/android/server/AlarmManagerService$Constants;->updateConstants()V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->deliverLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/app/PendingIntent;Landroid/content/Intent;)Lcom/android/server/AlarmManagerService$InFlight;
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/os/IBinder;)Lcom/android/server/AlarmManagerService$InFlight;
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->updateStatsLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->updateTrackingLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
+PLcom/android/server/AlarmManagerService$FilterStats;-><init>(Lcom/android/server/AlarmManagerService$BroadcastStats;Ljava/lang/String;)V
+HPLcom/android/server/AlarmManagerService$InFlight;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;J)V
+PLcom/android/server/AlarmManagerService$InFlight;->isBroadcast()Z
+PLcom/android/server/AlarmManagerService$IncreasingTimeOrder;-><init>()V
+PLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
+HPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/AlarmManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/AlarmManagerService$Injector;->getAlarmWakeLock()Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/AlarmManagerService$Injector;->getClockReceiver(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AlarmManagerService$ClockReceiver;
+PLcom/android/server/AlarmManagerService$Injector;->getCurrentTimeMillis()J
+HPLcom/android/server/AlarmManagerService$Injector;->getElapsedRealtime()J
+PLcom/android/server/AlarmManagerService$Injector;->getSystemUiUid()I
+PLcom/android/server/AlarmManagerService$Injector;->init()V
+PLcom/android/server/AlarmManagerService$Injector;->isAlarmDriverPresent()Z
+HPLcom/android/server/AlarmManagerService$Injector;->setAlarm(IJ)V
+PLcom/android/server/AlarmManagerService$Injector;->setKernelTimezone(I)V
+PLcom/android/server/AlarmManagerService$Injector;->waitForAlarm()I
+PLcom/android/server/AlarmManagerService$InteractiveStateReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
PLcom/android/server/AlarmManagerService$InteractiveStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/AlarmManagerService$LocalService;->isIdling()Z
-HSPLcom/android/server/AlarmManagerService$LocalService;->registerInFlightListener(Lcom/android/server/AlarmManagerInternal$InFlightListener;)V
-HSPLcom/android/server/AlarmManagerService$UidObserver;->onUidActive(I)V
-HSPLcom/android/server/AlarmManagerService$UidObserver;->onUidGone(IZ)V
-HSPLcom/android/server/AlarmManagerService$UidObserver;->onUidIdle(IZ)V
-HSPLcom/android/server/AlarmManagerService$UninstallReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
-HSPLcom/android/server/AlarmManagerService$UninstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;Lcom/android/server/AlarmManagerService$Injector;)V
-HSPLcom/android/server/AlarmManagerService;->access$1200(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AppStateTracker;
-HSPLcom/android/server/AlarmManagerService;->adjustDeliveryTimeBasedOnBucketLocked(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HSPLcom/android/server/AlarmManagerService;->attemptCoalesceLocked(JJ)I
-HSPLcom/android/server/AlarmManagerService;->calculateDeliveryPriorities(Ljava/util/ArrayList;)V
-HSPLcom/android/server/AlarmManagerService;->checkAllowNonWakeupDelayLocked(J)Z
-HSPLcom/android/server/AlarmManagerService;->convertToElapsed(JI)J
+PLcom/android/server/AlarmManagerService$LocalService;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$LocalService;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$1;)V
+PLcom/android/server/AlarmManagerService$LocalService;->isIdling()Z
+PLcom/android/server/AlarmManagerService$LocalService;->registerInFlightListener(Lcom/android/server/AlarmManagerInternal$InFlightListener;)V
+PLcom/android/server/AlarmManagerService$LocalService;->removeAlarmsForUid(I)V
+PLcom/android/server/AlarmManagerService$PriorityClass;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$UidObserver;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$UidObserver;->onUidActive(I)V
+PLcom/android/server/AlarmManagerService$UidObserver;->onUidGone(IZ)V
+PLcom/android/server/AlarmManagerService$UidObserver;->onUidIdle(IZ)V
+PLcom/android/server/AlarmManagerService$UninstallReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService$UninstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/AlarmManagerService;-><clinit>()V
+PLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;Lcom/android/server/AlarmManagerService$Injector;)V
+PLcom/android/server/AlarmManagerService;->access$002(Lcom/android/server/AlarmManagerService;J)J
+HPLcom/android/server/AlarmManagerService;->access$100(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AlarmManagerService$Injector;
+PLcom/android/server/AlarmManagerService;->access$1000(Lcom/android/server/AlarmManagerService;)Z
+PLcom/android/server/AlarmManagerService;->access$1100(Lcom/android/server/AlarmManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/AlarmManagerService;->access$1200(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AppStateTracker;
+PLcom/android/server/AlarmManagerService;->access$1400()J
+PLcom/android/server/AlarmManagerService;->access$1500(J)I
+PLcom/android/server/AlarmManagerService;->access$1600(JIJJ)I
+PLcom/android/server/AlarmManagerService;->access$1800(JI)I
+PLcom/android/server/AlarmManagerService;->access$200(Lcom/android/server/AlarmManagerService;II)V
+PLcom/android/server/AlarmManagerService;->access$2102(Lcom/android/server/AlarmManagerService;J)J
+PLcom/android/server/AlarmManagerService;->access$2202(Lcom/android/server/AlarmManagerService;J)J
+PLcom/android/server/AlarmManagerService;->access$2300(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/AlarmManagerService;->access$2400(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)Z
+PLcom/android/server/AlarmManagerService;->access$2702(Lcom/android/server/AlarmManagerService;J)J
+PLcom/android/server/AlarmManagerService;->access$2908(Lcom/android/server/AlarmManagerService;)I
+PLcom/android/server/AlarmManagerService;->access$3100(Lcom/android/server/AlarmManagerService$Alarm;)I
+PLcom/android/server/AlarmManagerService;->access$3408(Lcom/android/server/AlarmManagerService;)I
+PLcom/android/server/AlarmManagerService;->access$3500(Lcom/android/server/AlarmManagerService;)[J
+PLcom/android/server/AlarmManagerService;->access$3600(Lcom/android/server/AlarmManagerService;)I
+PLcom/android/server/AlarmManagerService;->access$3608(Lcom/android/server/AlarmManagerService;)I
+PLcom/android/server/AlarmManagerService;->access$600(Lcom/android/server/AlarmManagerService;ILjava/lang/String;)Lcom/android/server/AlarmManagerService$BroadcastStats;
+PLcom/android/server/AlarmManagerService;->access$702(Lcom/android/server/AlarmManagerService;J)J
+PLcom/android/server/AlarmManagerService;->addBatchLocked(Ljava/util/ArrayList;Lcom/android/server/AlarmManagerService$Batch;)Z
+HPLcom/android/server/AlarmManagerService;->adjustDeliveryTimeBasedOnBucketLocked(Lcom/android/server/AlarmManagerService$Alarm;)Z
+HPLcom/android/server/AlarmManagerService;->attemptCoalesceLocked(JJ)I
+PLcom/android/server/AlarmManagerService;->calculateDeliveryPriorities(Ljava/util/ArrayList;)V
+PLcom/android/server/AlarmManagerService;->checkAllowNonWakeupDelayLocked(J)Z
+PLcom/android/server/AlarmManagerService;->clampPositive(J)J
+HPLcom/android/server/AlarmManagerService;->convertToElapsed(JI)J
PLcom/android/server/AlarmManagerService;->currentNonWakeupFuzzLocked(J)J
-HSPLcom/android/server/AlarmManagerService;->deliverAlarmsLocked(Ljava/util/ArrayList;J)V
-PLcom/android/server/AlarmManagerService;->deliverPendingBackgroundAlarmsLocked(Ljava/util/ArrayList;J)V
-PLcom/android/server/AlarmManagerService;->dumpAlarmList(Ljava/io/PrintWriter;Ljava/util/ArrayList;Ljava/lang/String;JJLjava/text/SimpleDateFormat;)V
-PLcom/android/server/AlarmManagerService;->dumpImpl(Ljava/io/PrintWriter;)V
-PLcom/android/server/AlarmManagerService;->dumpProto(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/AlarmManagerService;->findAllUnrestrictedPendingBackgroundAlarmsLockedInner(Landroid/util/SparseArray;Ljava/util/ArrayList;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/AlarmManagerService;->formatNextAlarm(Landroid/content/Context;Landroid/app/AlarmManager$AlarmClockInfo;I)Ljava/lang/String;
-HSPLcom/android/server/AlarmManagerService;->getNextAlarmClockImpl(I)Landroid/app/AlarmManager$AlarmClockInfo;
+HPLcom/android/server/AlarmManagerService;->decrementAlarmCount(II)V
+PLcom/android/server/AlarmManagerService;->deliverAlarmsLocked(Ljava/util/ArrayList;J)V
+PLcom/android/server/AlarmManagerService;->findFirstWakeupBatchLocked()Lcom/android/server/AlarmManagerService$Batch;
+PLcom/android/server/AlarmManagerService;->getAlarmAttributionUid(Lcom/android/server/AlarmManagerService$Alarm;)I
+PLcom/android/server/AlarmManagerService;->getAlarmCount(Ljava/util/ArrayList;)I
+PLcom/android/server/AlarmManagerService;->getNextAlarmClockImpl(I)Landroid/app/AlarmManager$AlarmClockInfo;
PLcom/android/server/AlarmManagerService;->getNextWakeFromIdleTimeImpl()J
-HSPLcom/android/server/AlarmManagerService;->getQuotaForBucketLocked(I)I
-HSPLcom/android/server/AlarmManagerService;->getStatsLocked(ILjava/lang/String;)Lcom/android/server/AlarmManagerService$BroadcastStats;
+PLcom/android/server/AlarmManagerService;->getQuotaForBucketLocked(I)I
+PLcom/android/server/AlarmManagerService;->getStatsLocked(ILjava/lang/String;)Lcom/android/server/AlarmManagerService$BroadcastStats;
PLcom/android/server/AlarmManagerService;->getWhileIdleMinIntervalLocked(I)J
-HSPLcom/android/server/AlarmManagerService;->haveAlarmsTimeTickAlarm(Ljava/util/ArrayList;)Z
-HSPLcom/android/server/AlarmManagerService;->haveBatchesTimeTickAlarm(Ljava/util/ArrayList;)Z
-HSPLcom/android/server/AlarmManagerService;->incrementAlarmCount(I)V
-HSPLcom/android/server/AlarmManagerService;->insertAndBatchAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;)V
+HPLcom/android/server/AlarmManagerService;->haveAlarmsTimeTickAlarm(Ljava/util/ArrayList;)Z
+PLcom/android/server/AlarmManagerService;->haveBatchesTimeTickAlarm(Ljava/util/ArrayList;)Z
+HPLcom/android/server/AlarmManagerService;->incrementAlarmCount(I)V
+HPLcom/android/server/AlarmManagerService;->insertAndBatchAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;)V
PLcom/android/server/AlarmManagerService;->interactiveStateChangedLocked(Z)V
-HSPLcom/android/server/AlarmManagerService;->isBackgroundRestricted(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HSPLcom/android/server/AlarmManagerService;->isIdlingImpl()Z
-PLcom/android/server/AlarmManagerService;->lambda$interactiveStateChangedLocked$5$AlarmManagerService()V
-HSPLcom/android/server/AlarmManagerService;->maxTriggerTime(JJJ)J
-HSPLcom/android/server/AlarmManagerService;->onBootPhase(I)V
-HSPLcom/android/server/AlarmManagerService;->onStart()V
-HSPLcom/android/server/AlarmManagerService;->reAddAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
-HSPLcom/android/server/AlarmManagerService;->rebatchAllAlarms()V
-HSPLcom/android/server/AlarmManagerService;->rebatchAllAlarmsLocked(Z)V
-HSPLcom/android/server/AlarmManagerService;->removeImpl(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-HSPLcom/android/server/AlarmManagerService;->removeLocked(I)V
-HSPLcom/android/server/AlarmManagerService;->removeLocked(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-HSPLcom/android/server/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z
-HSPLcom/android/server/AlarmManagerService;->rescheduleKernelAlarmsLocked()V
+PLcom/android/server/AlarmManagerService;->isBackgroundRestricted(Lcom/android/server/AlarmManagerService$Alarm;)Z
+PLcom/android/server/AlarmManagerService;->isExemptFromAppStandby(Lcom/android/server/AlarmManagerService$Alarm;)Z
+PLcom/android/server/AlarmManagerService;->isIdlingImpl()Z
+PLcom/android/server/AlarmManagerService;->lambda$removeLocked$0(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;Lcom/android/server/AlarmManagerService$Alarm;)Z
+HPLcom/android/server/AlarmManagerService;->maxTriggerTime(JJJ)J
+PLcom/android/server/AlarmManagerService;->onBootPhase(I)V
+PLcom/android/server/AlarmManagerService;->onStart()V
+HPLcom/android/server/AlarmManagerService;->reAddAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
+PLcom/android/server/AlarmManagerService;->rebatchAllAlarms()V
+HPLcom/android/server/AlarmManagerService;->rebatchAllAlarmsLocked(Z)V
+PLcom/android/server/AlarmManagerService;->removeImpl(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+PLcom/android/server/AlarmManagerService;->removeLocked(I)V
+HPLcom/android/server/AlarmManagerService;->removeLocked(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+HPLcom/android/server/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z
+HPLcom/android/server/AlarmManagerService;->rescheduleKernelAlarmsLocked()V
PLcom/android/server/AlarmManagerService;->restorePendingWhileIdleAlarmsLocked()V
-HSPLcom/android/server/AlarmManagerService;->sendAllUnrestrictedPendingBackgroundAlarmsLocked()V
-HSPLcom/android/server/AlarmManagerService;->sendNextAlarmClockChanged()V
-HSPLcom/android/server/AlarmManagerService;->sendPendingBackgroundAlarmsLocked(ILjava/lang/String;)V
-HSPLcom/android/server/AlarmManagerService;->setImpl(IJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;ILandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
-HSPLcom/android/server/AlarmManagerService;->setImplLocked(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;IZLandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
-HSPLcom/android/server/AlarmManagerService;->setImplLocked(Lcom/android/server/AlarmManagerService$Alarm;ZZ)V
-HSPLcom/android/server/AlarmManagerService;->setLocked(IJ)V
-HSPLcom/android/server/AlarmManagerService;->setTimeImpl(J)Z
-HSPLcom/android/server/AlarmManagerService;->setTimeZoneImpl(Ljava/lang/String;)V
-HSPLcom/android/server/AlarmManagerService;->setWakelockWorkSource(Landroid/os/WorkSource;ILjava/lang/String;Z)V
-HSPLcom/android/server/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;J)Z
-HSPLcom/android/server/AlarmManagerService;->updateNextAlarmClockLocked()V
-HSPLcom/android/server/AlarmManagerService;->validateLastAlarmExpiredLocked(J)V
+PLcom/android/server/AlarmManagerService;->sendPendingBackgroundAlarmsLocked(ILjava/lang/String;)V
+HPLcom/android/server/AlarmManagerService;->setImpl(IJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;ILandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
+HPLcom/android/server/AlarmManagerService;->setImplLocked(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;IZLandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
+HPLcom/android/server/AlarmManagerService;->setImplLocked(Lcom/android/server/AlarmManagerService$Alarm;ZZ)V
+HPLcom/android/server/AlarmManagerService;->setLocked(IJ)V
+PLcom/android/server/AlarmManagerService;->setTimeZoneImpl(Ljava/lang/String;)V
+PLcom/android/server/AlarmManagerService;->setWakelockWorkSource(Landroid/os/WorkSource;ILjava/lang/String;Z)V
+HPLcom/android/server/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;J)Z
+HPLcom/android/server/AlarmManagerService;->updateNextAlarmClockLocked()V
+HSPLcom/android/server/AnimationThread;-><init>()V
HSPLcom/android/server/AnimationThread;->ensureThreadLocked()V
HSPLcom/android/server/AnimationThread;->get()Lcom/android/server/AnimationThread;
HSPLcom/android/server/AnimationThread;->getHandler()Landroid/os/Handler;
-PLcom/android/server/AnyMotionDetector$1;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-PLcom/android/server/AnyMotionDetector$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-PLcom/android/server/AnyMotionDetector$2;->run()V
-PLcom/android/server/AnyMotionDetector$RunningSignalStats;->accumulate(Lcom/android/server/AnyMotionDetector$Vector3;)V
-PLcom/android/server/AnyMotionDetector$RunningSignalStats;->getEnergy()F
-PLcom/android/server/AnyMotionDetector$RunningSignalStats;->getRunningAverage()Lcom/android/server/AnyMotionDetector$Vector3;
-PLcom/android/server/AnyMotionDetector$RunningSignalStats;->getSampleCount()I
-PLcom/android/server/AnyMotionDetector$RunningSignalStats;->reset()V
-PLcom/android/server/AnyMotionDetector$Vector3;->angleBetween(Lcom/android/server/AnyMotionDetector$Vector3;)F
-PLcom/android/server/AnyMotionDetector$Vector3;->cross(Lcom/android/server/AnyMotionDetector$Vector3;)Lcom/android/server/AnyMotionDetector$Vector3;
-PLcom/android/server/AnyMotionDetector$Vector3;->toString()Ljava/lang/String;
-HSPLcom/android/server/AnyMotionDetector;-><init>(Landroid/os/PowerManager;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)V
-PLcom/android/server/AnyMotionDetector;->checkForAnyMotion()V
-PLcom/android/server/AnyMotionDetector;->getStationaryStatus()I
-PLcom/android/server/AnyMotionDetector;->hasSensor()Z
-PLcom/android/server/AnyMotionDetector;->startOrientationMeasurementLocked()V
-HSPLcom/android/server/AnyMotionDetector;->stop()V
-PLcom/android/server/AnyMotionDetector;->stopOrientationMeasurementLocked()I
-HSPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyEnabled()Z
-HSPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyForSmallBatteryEnabled()Z
-HSPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->register()V
-HSPLcom/android/server/AppStateTracker$Listener;->onUidForeground(IZ)V
-HSPLcom/android/server/AppStateTracker$Listener;->unblockAlarmsForUid(I)V
-HSPLcom/android/server/AppStateTracker$Listener;->unblockAllUnrestrictedAlarms()V
-HSPLcom/android/server/AppStateTracker$Listener;->updateAllJobs()V
-HSPLcom/android/server/AppStateTracker$Listener;->updateJobsForUid(IZ)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->handleUidActive(I)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->handleUidGone(IZ)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->handleUidIdle(IZ)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->handleUidStateChanged(II)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->notifyAllWhitelistChanged()V
-HSPLcom/android/server/AppStateTracker$MyHandler;->notifyForceAllAppsStandbyChanged()V
+PLcom/android/server/AppStateTracker$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
+PLcom/android/server/AppStateTracker$FeatureFlagsObserver;-><init>(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyEnabled()Z
+PLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyForSmallBatteryEnabled()Z
+PLcom/android/server/AppStateTracker$FeatureFlagsObserver;->register()V
+PLcom/android/server/AppStateTracker$Listener;-><init>()V
+PLcom/android/server/AppStateTracker$Listener;->access$1000(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;I)V
+PLcom/android/server/AppStateTracker$Listener;->access$1100(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;I)V
+PLcom/android/server/AppStateTracker$Listener;->access$1500(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$Listener;->onTempPowerSaveWhitelistChanged(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$Listener;->onUidActiveStateChanged(Lcom/android/server/AppStateTracker;I)V
+HPLcom/android/server/AppStateTracker$Listener;->onUidForeground(IZ)V
+PLcom/android/server/AppStateTracker$Listener;->onUidForegroundStateChanged(Lcom/android/server/AppStateTracker;I)V
+PLcom/android/server/AppStateTracker$Listener;->unblockAlarmsForUid(I)V
+PLcom/android/server/AppStateTracker$Listener;->updateAllJobs()V
+PLcom/android/server/AppStateTracker$Listener;->updateJobsForUid(IZ)V
+PLcom/android/server/AppStateTracker$MyHandler;-><init>(Lcom/android/server/AppStateTracker;Landroid/os/Looper;)V
+HPLcom/android/server/AppStateTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/AppStateTracker$MyHandler;->handleUidActive(I)V
+PLcom/android/server/AppStateTracker$MyHandler;->handleUidGone(IZ)V
+PLcom/android/server/AppStateTracker$MyHandler;->handleUidIdle(IZ)V
+HPLcom/android/server/AppStateTracker$MyHandler;->handleUidStateChanged(II)V
+PLcom/android/server/AppStateTracker$MyHandler;->notifyAllWhitelistChanged()V
PLcom/android/server/AppStateTracker$MyHandler;->notifyTempWhitelistChanged()V
-HSPLcom/android/server/AppStateTracker$MyHandler;->notifyUidActiveStateChanged(I)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->notifyUidForegroundStateChanged(I)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->onUidActive(I)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->onUidGone(IZ)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->onUidIdle(IZ)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->onUidStateChanged(II)V
-HSPLcom/android/server/AppStateTracker$MyHandler;->removeUid(IZ)V
-HSPLcom/android/server/AppStateTracker$MyReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/AppStateTracker$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSPLcom/android/server/AppStateTracker$StandbyTracker;->onParoleStateChanged(Z)V
-HSPLcom/android/server/AppStateTracker$UidObserver;->onUidActive(I)V
-HSPLcom/android/server/AppStateTracker$UidObserver;->onUidGone(IZ)V
-HSPLcom/android/server/AppStateTracker$UidObserver;->onUidIdle(IZ)V
-HSPLcom/android/server/AppStateTracker$UidObserver;->onUidStateChanged(IIJ)V
-HSPLcom/android/server/AppStateTracker;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLcom/android/server/AppStateTracker;->addListener(Lcom/android/server/AppStateTracker$Listener;)V
-HSPLcom/android/server/AppStateTracker;->areAlarmsRestricted(ILjava/lang/String;Z)Z
-HSPLcom/android/server/AppStateTracker;->areJobsRestricted(ILjava/lang/String;Z)Z
-HSPLcom/android/server/AppStateTracker;->cloneListeners()[Lcom/android/server/AppStateTracker$Listener;
-PLcom/android/server/AppStateTracker;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/AppStateTracker;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/AppStateTracker;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/AppStateTracker;->dumpUids(Ljava/io/PrintWriter;Landroid/util/SparseBooleanArray;)V
-HSPLcom/android/server/AppStateTracker;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I
-HSPLcom/android/server/AppStateTracker;->injectActivityManagerInternal()Landroid/app/ActivityManagerInternal;
-HSPLcom/android/server/AppStateTracker;->injectAppOpsManager()Landroid/app/AppOpsManager;
-HSPLcom/android/server/AppStateTracker;->injectGetGlobalSettingInt(Ljava/lang/String;I)I
-HSPLcom/android/server/AppStateTracker;->injectIActivityManager()Landroid/app/IActivityManager;
-HSPLcom/android/server/AppStateTracker;->injectIAppOpsService()Lcom/android/internal/app/IAppOpsService;
-HSPLcom/android/server/AppStateTracker;->injectPowerManagerInternal()Landroid/os/PowerManagerInternal;
-HSPLcom/android/server/AppStateTracker;->injectUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
-HSPLcom/android/server/AppStateTracker;->isAnyAppIdUnwhitelisted([I[I)Z
-HSPLcom/android/server/AppStateTracker;->isForceAllAppsStandbyEnabled()Z
-HSPLcom/android/server/AppStateTracker;->isRestricted(ILjava/lang/String;ZZ)Z
-PLcom/android/server/AppStateTracker;->isRunAnyInBackgroundAppOpsAllowed(ILjava/lang/String;)Z
-HSPLcom/android/server/AppStateTracker;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z
-PLcom/android/server/AppStateTracker;->isSmallBatteryDevice()Z
-HSPLcom/android/server/AppStateTracker;->isUidActive(I)Z
-HSPLcom/android/server/AppStateTracker;->isUidActiveSynced(I)Z
-HSPLcom/android/server/AppStateTracker;->isUidInForeground(I)Z
-HSPLcom/android/server/AppStateTracker;->isUidPowerSaveUserWhitelisted(I)Z
-PLcom/android/server/AppStateTracker;->isUidPowerSaveWhitelisted(I)Z
-PLcom/android/server/AppStateTracker;->isUidTempPowerSaveWhitelisted(I)Z
-HSPLcom/android/server/AppStateTracker;->lambda$onSystemServicesReady$0$AppStateTracker(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/AppStateTracker;->onSystemServicesReady()V
-HSPLcom/android/server/AppStateTracker;->refreshForcedAppStandbyUidPackagesLocked()V
-HSPLcom/android/server/AppStateTracker;->setPowerSaveWhitelistAppIds([I[I[I)V
-HSPLcom/android/server/AppStateTracker;->updateForceAllAppStandbyState()V
-HSPLcom/android/server/AttributeCache;->get(Ljava/lang/String;I[II)Lcom/android/server/AttributeCache$Entry;
-HSPLcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
-HSPLcom/android/server/AttributeCache;->removePackage(Ljava/lang/String;)V
-HSPLcom/android/server/AttributeCache;->updateConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/AppStateTracker$MyHandler;->notifyUidActiveStateChanged(I)V
+PLcom/android/server/AppStateTracker$MyHandler;->notifyUidForegroundStateChanged(I)V
+PLcom/android/server/AppStateTracker$MyHandler;->onUidActive(I)V
+PLcom/android/server/AppStateTracker$MyHandler;->onUidGone(IZ)V
+PLcom/android/server/AppStateTracker$MyHandler;->onUidIdle(IZ)V
+PLcom/android/server/AppStateTracker$MyHandler;->onUidStateChanged(II)V
+PLcom/android/server/AppStateTracker$MyHandler;->removeUid(IZ)V
+PLcom/android/server/AppStateTracker$MyReceiver;-><init>(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$MyReceiver;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
+PLcom/android/server/AppStateTracker$MyReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/AppStateTracker$StandbyTracker;-><init>(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/AppStateTracker$UidObserver;-><init>(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker$UidObserver;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
+PLcom/android/server/AppStateTracker$UidObserver;->onUidActive(I)V
+PLcom/android/server/AppStateTracker$UidObserver;->onUidGone(IZ)V
+PLcom/android/server/AppStateTracker$UidObserver;->onUidIdle(IZ)V
+HPLcom/android/server/AppStateTracker$UidObserver;->onUidStateChanged(IIJI)V
+PLcom/android/server/AppStateTracker;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/AppStateTracker;->access$000(Lcom/android/server/AppStateTracker;)Landroid/content/Context;
+PLcom/android/server/AppStateTracker;->access$100(Lcom/android/server/AppStateTracker;)Ljava/lang/Object;
+PLcom/android/server/AppStateTracker;->access$1800(Landroid/util/SparseBooleanArray;IZ)Z
+PLcom/android/server/AppStateTracker;->access$1900(Landroid/util/SparseBooleanArray;I)Z
+PLcom/android/server/AppStateTracker;->access$200(Lcom/android/server/AppStateTracker;)Lcom/android/server/AppStateTracker$MyHandler;
+PLcom/android/server/AppStateTracker;->access$300(Lcom/android/server/AppStateTracker;)V
+PLcom/android/server/AppStateTracker;->access$700(Lcom/android/server/AppStateTracker;)Landroid/util/SparseSetArray;
+PLcom/android/server/AppStateTracker;->access$800(Lcom/android/server/AppStateTracker;)Lcom/android/internal/util/StatLogger;
+PLcom/android/server/AppStateTracker;->access$900(Lcom/android/server/AppStateTracker;)[Lcom/android/server/AppStateTracker$Listener;
+PLcom/android/server/AppStateTracker;->addListener(Lcom/android/server/AppStateTracker$Listener;)V
+PLcom/android/server/AppStateTracker;->addUidToArray(Landroid/util/SparseBooleanArray;I)Z
+PLcom/android/server/AppStateTracker;->areAlarmsRestricted(ILjava/lang/String;Z)Z
+PLcom/android/server/AppStateTracker;->areJobsRestricted(ILjava/lang/String;Z)Z
+HPLcom/android/server/AppStateTracker;->cloneListeners()[Lcom/android/server/AppStateTracker$Listener;
+HPLcom/android/server/AppStateTracker;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I
+PLcom/android/server/AppStateTracker;->injectActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/AppStateTracker;->injectAppOpsManager()Landroid/app/AppOpsManager;
+PLcom/android/server/AppStateTracker;->injectAppStandbyInternal()Lcom/android/server/usage/AppStandbyInternal;
+PLcom/android/server/AppStateTracker;->injectGetGlobalSettingInt(Ljava/lang/String;I)I
+PLcom/android/server/AppStateTracker;->injectIActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/AppStateTracker;->injectIAppOpsService()Lcom/android/internal/app/IAppOpsService;
+PLcom/android/server/AppStateTracker;->injectPowerManagerInternal()Landroid/os/PowerManagerInternal;
+PLcom/android/server/AppStateTracker;->isAnyAppIdUnwhitelisted([I[I)Z
+PLcom/android/server/AppStateTracker;->isForceAllAppsStandbyEnabled()Z
+HPLcom/android/server/AppStateTracker;->isRestricted(ILjava/lang/String;ZZ)Z
+PLcom/android/server/AppStateTracker;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z
+HPLcom/android/server/AppStateTracker;->isUidActive(I)Z
+PLcom/android/server/AppStateTracker;->isUidActiveSynced(I)Z
+HPLcom/android/server/AppStateTracker;->isUidInForeground(I)Z
+PLcom/android/server/AppStateTracker;->isUidPowerSaveUserWhitelisted(I)Z
+PLcom/android/server/AppStateTracker;->onSystemServicesReady()V
+PLcom/android/server/AppStateTracker;->refreshForcedAppStandbyUidPackagesLocked()V
+PLcom/android/server/AppStateTracker;->removeUidFromArray(Landroid/util/SparseBooleanArray;IZ)Z
+PLcom/android/server/AppStateTracker;->setPowerSaveWhitelistAppIds([I[I[I)V
+PLcom/android/server/AppStateTracker;->toggleForceAllAppsStandbyLocked(Z)V
+PLcom/android/server/AppStateTracker;->updateForceAllAppStandbyState()V
+PLcom/android/server/AttributeCache$Entry;-><init>(Landroid/content/Context;Landroid/content/res/TypedArray;)V
+PLcom/android/server/AttributeCache$Package;-><init>(Landroid/content/Context;)V
+PLcom/android/server/AttributeCache$Package;->access$000(Lcom/android/server/AttributeCache$Package;)Landroid/util/SparseArray;
+PLcom/android/server/AttributeCache;-><clinit>()V
+PLcom/android/server/AttributeCache;-><init>(Landroid/content/Context;)V
+PLcom/android/server/AttributeCache;->get(Ljava/lang/String;I[II)Lcom/android/server/AttributeCache$Entry;
+PLcom/android/server/AttributeCache;->init(Landroid/content/Context;)V
+PLcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
+PLcom/android/server/AttributeCache;->removePackage(Ljava/lang/String;)V
+PLcom/android/server/AttributeCache;->updateConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/BatteryService$10;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
PLcom/android/server/BatteryService$10;->run()V
-HSPLcom/android/server/BatteryService$7;->run()V
-HSPLcom/android/server/BatteryService$8;->run()V
-HSPLcom/android/server/BatteryService$9;->run()V
+PLcom/android/server/BatteryService$2;-><init>(Lcom/android/server/BatteryService;Landroid/os/Handler;)V
+PLcom/android/server/BatteryService$3;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$4;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$7;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
+PLcom/android/server/BatteryService$7;->run()V
+PLcom/android/server/BatteryService$8;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
+PLcom/android/server/BatteryService$8;->run()V
+PLcom/android/server/BatteryService$9;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
+PLcom/android/server/BatteryService$9;->run()V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->getProperty(ILandroid/os/BatteryProperty;)I
-HSPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->scheduleUpdate()V
-PLcom/android/server/BatteryService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/BatteryService$HealthHalCallback;->healthInfoChanged(Landroid/hardware/health/V2_0/HealthInfo;)V
-HSPLcom/android/server/BatteryService$HealthHalCallback;->onRegistration(Landroid/hardware/health/V2_0/IHealth;Landroid/hardware/health/V2_0/IHealth;Ljava/lang/String;)V
-HSPLcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;->get(Ljava/lang/String;)Landroid/hardware/health/V2_0/IHealth;
-HSPLcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;->get()Landroid/hidl/manager/V1_0/IServiceManager;
-HSPLcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;->run()V
-HSPLcom/android/server/BatteryService$HealthServiceWrapper$Notification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/BatteryService$HealthServiceWrapper;->init(Lcom/android/server/BatteryService$HealthServiceWrapper$Callback;Lcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;)V
-HSPLcom/android/server/BatteryService$Led;-><init>(Lcom/android/server/BatteryService;Landroid/content/Context;Lcom/android/server/lights/LightsManager;)V
-HSPLcom/android/server/BatteryService$Led;->updateLightsLocked()V
-HSPLcom/android/server/BatteryService$LocalService;->getBatteryChargeCounter()I
-HSPLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I
-HSPLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z
-HSPLcom/android/server/BatteryService$LocalService;->getPlugType()I
-HSPLcom/android/server/BatteryService$LocalService;->isPowered(I)Z
-HSPLcom/android/server/BatteryService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/BatteryService;->dumpInternal(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/BatteryService;->dumpProto(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/BatteryService;->getIconLocked(I)I
-HSPLcom/android/server/BatteryService;->isPoweredLocked(I)Z
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$scheduleUpdate$6$BatteryService$BatteryPropertiesRegistrar()V
+PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->scheduleUpdate()V
+PLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
+PLcom/android/server/BatteryService$HealthHalCallback;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$HealthHalCallback;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
+PLcom/android/server/BatteryService$HealthHalCallback;->healthInfoChanged(Landroid/hardware/health/V2_0/HealthInfo;)V
+PLcom/android/server/BatteryService$HealthHalCallback;->onRegistration(Landroid/hardware/health/V2_0/IHealth;Landroid/hardware/health/V2_0/IHealth;Ljava/lang/String;)V
+PLcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;->get(Ljava/lang/String;)Landroid/hardware/health/V2_0/IHealth;
+PLcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;->get()Landroid/hidl/manager/V1_0/IServiceManager;
+PLcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;-><init>(Lcom/android/server/BatteryService$HealthServiceWrapper$Notification;)V
+PLcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;->run()V
+PLcom/android/server/BatteryService$HealthServiceWrapper$Notification;-><init>(Lcom/android/server/BatteryService$HealthServiceWrapper;)V
+PLcom/android/server/BatteryService$HealthServiceWrapper$Notification;-><init>(Lcom/android/server/BatteryService$HealthServiceWrapper;Lcom/android/server/BatteryService$1;)V
+PLcom/android/server/BatteryService$HealthServiceWrapper$Notification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/BatteryService$HealthServiceWrapper;-><clinit>()V
+PLcom/android/server/BatteryService$HealthServiceWrapper;-><init>()V
+PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2200(Lcom/android/server/BatteryService$HealthServiceWrapper;)Ljava/lang/String;
+PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2300(Lcom/android/server/BatteryService$HealthServiceWrapper;)Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;
+PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2400(Lcom/android/server/BatteryService$HealthServiceWrapper;)Ljava/util/concurrent/atomic/AtomicReference;
+PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2600(Lcom/android/server/BatteryService$HealthServiceWrapper;)Landroid/os/HandlerThread;
+PLcom/android/server/BatteryService$HealthServiceWrapper;->getLastService()Landroid/hardware/health/V2_0/IHealth;
+PLcom/android/server/BatteryService$HealthServiceWrapper;->init(Lcom/android/server/BatteryService$HealthServiceWrapper$Callback;Lcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;)V
+PLcom/android/server/BatteryService$Led;-><init>(Lcom/android/server/BatteryService;Landroid/content/Context;Lcom/android/server/lights/LightsManager;)V
+PLcom/android/server/BatteryService$Led;->updateLightsLocked()V
+PLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;)V
+PLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
+PLcom/android/server/BatteryService$LocalService;->getBatteryChargeCounter()I
+PLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I
+PLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z
+PLcom/android/server/BatteryService$LocalService;->getPlugType()I
+PLcom/android/server/BatteryService$LocalService;->isPowered(I)Z
+PLcom/android/server/BatteryService;-><clinit>()V
+PLcom/android/server/BatteryService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/BatteryService;->access$000(Lcom/android/server/BatteryService;)Ljava/lang/Object;
+PLcom/android/server/BatteryService;->access$1000(Lcom/android/server/BatteryService;)I
+PLcom/android/server/BatteryService;->access$1100(Lcom/android/server/BatteryService;Landroid/hardware/health/V2_0/HealthInfo;)V
+PLcom/android/server/BatteryService;->access$1200(Ljava/lang/String;)V
+PLcom/android/server/BatteryService;->access$1400()V
+PLcom/android/server/BatteryService;->access$1700(Lcom/android/server/BatteryService;)Lcom/android/server/BatteryService$HealthServiceWrapper;
+PLcom/android/server/BatteryService;->access$1800(Lcom/android/server/BatteryService;I)Z
+PLcom/android/server/BatteryService;->access$1900(Lcom/android/server/BatteryService;)I
+PLcom/android/server/BatteryService;->access$2000(Lcom/android/server/BatteryService;)Z
+PLcom/android/server/BatteryService;->access$900(Lcom/android/server/BatteryService;)Landroid/hardware/health/V1_0/HealthInfo;
+PLcom/android/server/BatteryService;->getIconLocked(I)I
+PLcom/android/server/BatteryService;->isPoweredLocked(I)Z
+PLcom/android/server/BatteryService;->lambda$sendBatteryChangedIntentLocked$0(Landroid/content/Intent;)V
PLcom/android/server/BatteryService;->logBatteryStatsLocked()V
-HSPLcom/android/server/BatteryService;->logOutlierLocked(J)V
-HSPLcom/android/server/BatteryService;->onBootPhase(I)V
-HSPLcom/android/server/BatteryService;->onStart()V
-HSPLcom/android/server/BatteryService;->processValuesLocked(Z)V
-HSPLcom/android/server/BatteryService;->registerHealthCallback()V
-HSPLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V
-HSPLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V
-HSPLcom/android/server/BatteryService;->sendEnqueuedBatteryLevelChangedEvents()V
-HSPLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z
-HSPLcom/android/server/BatteryService;->update(Landroid/hardware/health/V2_0/HealthInfo;)V
-HSPLcom/android/server/BatteryService;->updateBatteryWarningLevelLocked()V
-HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->createAppidWhitelist(Landroid/content/Context;)Landroid/util/ArraySet;
-HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->getCallingUid()I
-HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->resolveWorkSourceUid(I)I
-HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/BatteryService;->logOutlierLocked(J)V
+PLcom/android/server/BatteryService;->onBootPhase(I)V
+PLcom/android/server/BatteryService;->onStart()V
+PLcom/android/server/BatteryService;->processValuesLocked(Z)V
+PLcom/android/server/BatteryService;->registerHealthCallback()V
+PLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V
+PLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V
+PLcom/android/server/BatteryService;->sendEnqueuedBatteryLevelChangedEvents()V
+PLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z
+PLcom/android/server/BatteryService;->shouldShutdownLocked()Z
+PLcom/android/server/BatteryService;->shutdownIfNoPowerLocked()V
+PLcom/android/server/BatteryService;->shutdownIfOverTempLocked()V
+PLcom/android/server/BatteryService;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/BatteryService;->traceEnd()V
+PLcom/android/server/BatteryService;->update(Landroid/hardware/health/V2_0/HealthInfo;)V
+PLcom/android/server/BatteryService;->updateBatteryWarningLevelLocked()V
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;-><init>()V
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->createAppidWhitelist(Landroid/content/Context;)Landroid/util/ArraySet;
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->getCallingUid()I
+HPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->resolveWorkSourceUid(I)I
+PLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/BinderCallsStatsService$Internal;-><init>(Lcom/android/internal/os/BinderCallsStats;)V
PLcom/android/server/BinderCallsStatsService$Internal;->getExportedCallStats()Ljava/util/ArrayList;
PLcom/android/server/BinderCallsStatsService$Internal;->reset()V
-HSPLcom/android/server/BinderCallsStatsService$LifeCycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/BinderCallsStatsService$LifeCycle;->onBootPhase(I)V
-HSPLcom/android/server/BinderCallsStatsService$LifeCycle;->onStart()V
-HSPLcom/android/server/BinderCallsStatsService$SettingsObserver;-><init>(Landroid/content/Context;Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V
-HSPLcom/android/server/BinderCallsStatsService$SettingsObserver;->onChange()V
-PLcom/android/server/BinderCallsStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/BinderCallsStatsService;->systemReady(Landroid/content/Context;)V
-HSPLcom/android/server/BluetoothManagerService$1;->onBluetoothStateChange(II)V
-HSPLcom/android/server/BluetoothManagerService$2;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/BluetoothManagerService$3;->onChange(Z)V
-HSPLcom/android/server/BluetoothManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/BluetoothManagerService$ActiveLog;->toString()Ljava/lang/String;
-HSPLcom/android/server/BluetoothManagerService$BluetoothHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/BluetoothManagerService$ClientDeathRecipient;->binderDied()V
+PLcom/android/server/BinderCallsStatsService$LifeCycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/BinderCallsStatsService$LifeCycle;->onBootPhase(I)V
+PLcom/android/server/BinderCallsStatsService$LifeCycle;->onStart()V
+PLcom/android/server/BinderCallsStatsService$SettingsObserver;-><init>(Landroid/content/Context;Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V
+PLcom/android/server/BinderCallsStatsService$SettingsObserver;->onChange()V
+PLcom/android/server/BinderCallsStatsService;-><init>(Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V
+PLcom/android/server/BinderCallsStatsService;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/BluetoothManagerService$1;-><init>(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService$1;->onBluetoothStateChange(II)V
+PLcom/android/server/BluetoothManagerService$2;-><init>(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService$2;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/BluetoothManagerService$3;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/os/Handler;)V
+PLcom/android/server/BluetoothManagerService$4;-><init>(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/BluetoothManagerService$5;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/os/Handler;)V
+PLcom/android/server/BluetoothManagerService$ActiveLog;-><init>(Lcom/android/server/BluetoothManagerService;ILjava/lang/String;ZJ)V
+PLcom/android/server/BluetoothManagerService$BluetoothHandler;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/os/Looper;)V
+PLcom/android/server/BluetoothManagerService$BluetoothHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;-><init>(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;-><init>(Lcom/android/server/BluetoothManagerService;Lcom/android/server/BluetoothManagerService$1;)V
+PLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/BluetoothManagerService$ClientDeathRecipient;-><init>(Lcom/android/server/BluetoothManagerService;Ljava/lang/String;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/content/Intent;)V
PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$2000(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
-HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$3300(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
-HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->addProxy(Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
-HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->bindService()Z
-HSPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$3500(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->addProxy(Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->bindService()Z
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->removeProxy(Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
-HSPLcom/android/server/BluetoothManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/BluetoothManagerService;->access$1000(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetooth;
-HSPLcom/android/server/BluetoothManagerService;->access$1002(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
-HSPLcom/android/server/BluetoothManagerService;->access$1300(Lcom/android/server/BluetoothManagerService;)Z
-HSPLcom/android/server/BluetoothManagerService;->access$1302(Lcom/android/server/BluetoothManagerService;Z)Z
-HSPLcom/android/server/BluetoothManagerService;->access$1700(Lcom/android/server/BluetoothManagerService;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/BluetoothManagerService;->access$200(Lcom/android/server/BluetoothManagerService;)Lcom/android/server/BluetoothManagerService$BluetoothHandler;
-HSPLcom/android/server/BluetoothManagerService;->access$2400(Lcom/android/server/BluetoothManagerService;)Z
-HSPLcom/android/server/BluetoothManagerService;->access$2402(Lcom/android/server/BluetoothManagerService;Z)Z
-HSPLcom/android/server/BluetoothManagerService;->access$2600(Lcom/android/server/BluetoothManagerService;)Z
-HSPLcom/android/server/BluetoothManagerService;->access$2602(Lcom/android/server/BluetoothManagerService;Z)Z
-HSPLcom/android/server/BluetoothManagerService;->access$2700(Lcom/android/server/BluetoothManagerService;Z)V
-PLcom/android/server/BluetoothManagerService;->access$2800(Lcom/android/server/BluetoothManagerService;ZZ)Z
-PLcom/android/server/BluetoothManagerService;->access$2900(Lcom/android/server/BluetoothManagerService;)V
-HSPLcom/android/server/BluetoothManagerService;->access$3000(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
-HSPLcom/android/server/BluetoothManagerService;->access$3100(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
-HSPLcom/android/server/BluetoothManagerService;->access$3200(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
-HSPLcom/android/server/BluetoothManagerService;->access$3402(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetoothGatt;)Landroid/bluetooth/IBluetoothGatt;
-HSPLcom/android/server/BluetoothManagerService;->access$3500(Lcom/android/server/BluetoothManagerService;)V
-HSPLcom/android/server/BluetoothManagerService;->access$3602(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
-HSPLcom/android/server/BluetoothManagerService;->access$3700(Lcom/android/server/BluetoothManagerService;)Z
-HSPLcom/android/server/BluetoothManagerService;->access$3800(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
-HSPLcom/android/server/BluetoothManagerService;->access$3900(Lcom/android/server/BluetoothManagerService;)V
-HSPLcom/android/server/BluetoothManagerService;->access$4002(Lcom/android/server/BluetoothManagerService;I)I
-HSPLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;II)V
-HSPLcom/android/server/BluetoothManagerService;->access$4300(Lcom/android/server/BluetoothManagerService;)I
-HSPLcom/android/server/BluetoothManagerService;->access$900(Lcom/android/server/BluetoothManagerService;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;
-HSPLcom/android/server/BluetoothManagerService;->addActiveLog(ILjava/lang/String;Z)V
-HSPLcom/android/server/BluetoothManagerService;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-HSPLcom/android/server/BluetoothManagerService;->bluetoothStateChangeHandler(II)V
-HSPLcom/android/server/BluetoothManagerService;->checkIfCallerIsForegroundUser()Z
-HSPLcom/android/server/BluetoothManagerService;->continueFromBleOnState()V
-PLcom/android/server/BluetoothManagerService;->disable(Ljava/lang/String;Z)Z
-PLcom/android/server/BluetoothManagerService;->disableBleScanMode()V
-HSPLcom/android/server/BluetoothManagerService;->doBind(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
+PLcom/android/server/BluetoothManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/BluetoothManagerService;->access$1000(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetooth;
+PLcom/android/server/BluetoothManagerService;->access$1002(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
+PLcom/android/server/BluetoothManagerService;->access$1300(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$1302(Lcom/android/server/BluetoothManagerService;Z)Z
+PLcom/android/server/BluetoothManagerService;->access$1700(Lcom/android/server/BluetoothManagerService;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/BluetoothManagerService;->access$200(Lcom/android/server/BluetoothManagerService;)Lcom/android/server/BluetoothManagerService$BluetoothHandler;
+PLcom/android/server/BluetoothManagerService;->access$2500(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$2502(Lcom/android/server/BluetoothManagerService;Z)Z
+PLcom/android/server/BluetoothManagerService;->access$2700(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$2702(Lcom/android/server/BluetoothManagerService;Z)Z
+PLcom/android/server/BluetoothManagerService;->access$2800(Lcom/android/server/BluetoothManagerService;Z)V
+PLcom/android/server/BluetoothManagerService;->access$300(Lcom/android/server/BluetoothManagerService;IZ)V
+PLcom/android/server/BluetoothManagerService;->access$3200(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/BluetoothManagerService;->access$3300(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/BluetoothManagerService;->access$3400(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
+PLcom/android/server/BluetoothManagerService;->access$3602(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetoothGatt;)Landroid/bluetooth/IBluetoothGatt;
+PLcom/android/server/BluetoothManagerService;->access$3700(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService;->access$3802(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
+PLcom/android/server/BluetoothManagerService;->access$3900(Lcom/android/server/BluetoothManagerService;)Z
+PLcom/android/server/BluetoothManagerService;->access$4000(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
+PLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;)V
+PLcom/android/server/BluetoothManagerService;->access$4202(Lcom/android/server/BluetoothManagerService;I)I
+PLcom/android/server/BluetoothManagerService;->access$4300(Lcom/android/server/BluetoothManagerService;II)V
+PLcom/android/server/BluetoothManagerService;->access$4500(Lcom/android/server/BluetoothManagerService;)I
+PLcom/android/server/BluetoothManagerService;->access$900(Lcom/android/server/BluetoothManagerService;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;
+PLcom/android/server/BluetoothManagerService;->addActiveLog(ILjava/lang/String;Z)V
+PLcom/android/server/BluetoothManagerService;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
+PLcom/android/server/BluetoothManagerService;->bluetoothStateChangeHandler(II)V
+PLcom/android/server/BluetoothManagerService;->checkIfCallerIsForegroundUser()Z
+PLcom/android/server/BluetoothManagerService;->checkPackage(ILjava/lang/String;)V
+PLcom/android/server/BluetoothManagerService;->continueFromBleOnState()V
+PLcom/android/server/BluetoothManagerService;->doBind(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
PLcom/android/server/BluetoothManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/BluetoothManagerService;->enable(Ljava/lang/String;)Z
-HSPLcom/android/server/BluetoothManagerService;->getAddress()Ljava/lang/String;
+PLcom/android/server/BluetoothManagerService;->getAddress()Ljava/lang/String;
PLcom/android/server/BluetoothManagerService;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-PLcom/android/server/BluetoothManagerService;->getEnableDisableReasonString(I)Ljava/lang/String;
PLcom/android/server/BluetoothManagerService;->getName()Ljava/lang/String;
-PLcom/android/server/BluetoothManagerService;->handleDisable()V
-HSPLcom/android/server/BluetoothManagerService;->handleEnable(Z)V
-HSPLcom/android/server/BluetoothManagerService;->handleOnBootPhase()V
-HSPLcom/android/server/BluetoothManagerService;->handleOnUnlockUser(I)V
-PLcom/android/server/BluetoothManagerService;->isBleAppPresent()Z
+PLcom/android/server/BluetoothManagerService;->getSystemConfigEnabledProfilesForPackage(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/BluetoothManagerService;->handleEnable(Z)V
+PLcom/android/server/BluetoothManagerService;->handleOnBootPhase()V
+PLcom/android/server/BluetoothManagerService;->handleOnUnlockUser(I)V
PLcom/android/server/BluetoothManagerService;->isBleScanAlwaysAvailable()Z
-HSPLcom/android/server/BluetoothManagerService;->isBluetoothDisallowed()Z
-HSPLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOn()Z
-PLcom/android/server/BluetoothManagerService;->isEnabled()Z
-HSPLcom/android/server/BluetoothManagerService;->isHearingAidProfileSupported()Z
-HSPLcom/android/server/BluetoothManagerService;->loadStoredNameAndAddress()V
-HSPLcom/android/server/BluetoothManagerService;->persistBluetoothSetting(I)V
-HSPLcom/android/server/BluetoothManagerService;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
-HSPLcom/android/server/BluetoothManagerService;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-HSPLcom/android/server/BluetoothManagerService;->sendBleStateChanged(II)V
-PLcom/android/server/BluetoothManagerService;->sendBluetoothServiceDownCallback()V
-HSPLcom/android/server/BluetoothManagerService;->sendBluetoothServiceUpCallback()V
-HSPLcom/android/server/BluetoothManagerService;->sendBluetoothStateCallback(Z)V
-PLcom/android/server/BluetoothManagerService;->sendBrEdrDownCallback()V
-HSPLcom/android/server/BluetoothManagerService;->storeNameAndAddress(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/BluetoothManagerService;->unbindAndFinish()V
+PLcom/android/server/BluetoothManagerService;->isBluetoothDisallowed()Z
+PLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOn()Z
+PLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOnBluetooth()Z
+PLcom/android/server/BluetoothManagerService;->isHearingAidProfileSupported()Z
+PLcom/android/server/BluetoothManagerService;->isNameAndAddressSet()Z
+PLcom/android/server/BluetoothManagerService;->loadStoredNameAndAddress()V
+PLcom/android/server/BluetoothManagerService;->persistBluetoothSetting(I)V
+PLcom/android/server/BluetoothManagerService;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
+PLcom/android/server/BluetoothManagerService;->registerForBleScanModeChange()V
+PLcom/android/server/BluetoothManagerService;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
+PLcom/android/server/BluetoothManagerService;->sendBleStateChanged(II)V
+PLcom/android/server/BluetoothManagerService;->sendBluetoothServiceUpCallback()V
+PLcom/android/server/BluetoothManagerService;->sendBluetoothStateCallback(Z)V
+PLcom/android/server/BluetoothManagerService;->sendEnableMsg(ZILjava/lang/String;)V
+PLcom/android/server/BluetoothManagerService;->storeNameAndAddress(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/BluetoothManagerService;->supportBluetoothPersistedState()Z
PLcom/android/server/BluetoothManagerService;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
PLcom/android/server/BluetoothManagerService;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
PLcom/android/server/BluetoothManagerService;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
-HSPLcom/android/server/BluetoothManagerService;->updateOppLauncherComponentState(IZ)V
-PLcom/android/server/BluetoothManagerService;->waitForOnOff(ZZ)Z
-HSPLcom/android/server/BluetoothService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/BluetoothService;->onBootPhase(I)V
-HSPLcom/android/server/BluetoothService;->onStart()V
-HSPLcom/android/server/BluetoothService;->onUnlockUser(I)V
-HSPLcom/android/server/CachedDeviceStateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/CachedDeviceStateService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/CachedDeviceStateService;->onBootPhase(I)V
-HSPLcom/android/server/CachedDeviceStateService;->onStart()V
-HSPLcom/android/server/CertBlacklister;-><init>(Landroid/content/Context;)V
-PLcom/android/server/ConnectivityService$1;->dumpHigh(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/ConnectivityService$1;->dumpNormal(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-HSPLcom/android/server/ConnectivityService$2;->getDefaultNetworkRequest()Landroid/net/NetworkRequest;
-HSPLcom/android/server/ConnectivityService$2;->isTetheringSupported()Z
-HSPLcom/android/server/ConnectivityService$3;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
-PLcom/android/server/ConnectivityService$4;->lambda$onNat64PrefixEvent$0$ConnectivityService$4(IZLjava/lang/String;I)V
-HSPLcom/android/server/ConnectivityService$4;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
-PLcom/android/server/ConnectivityService$4;->onNat64PrefixEvent(IZLjava/lang/String;I)V
-HSPLcom/android/server/ConnectivityService$4;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/ConnectivityService$5;->onUidRulesChanged(II)V
-HSPLcom/android/server/ConnectivityService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/ConnectivityService$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/ConnectivityService$CaptivePortalImpl;->appResponse(I)V
-PLcom/android/server/ConnectivityService$CaptivePortalImpl;->logEvent(ILjava/lang/String;)V
-HSPLcom/android/server/ConnectivityService$InternalHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/ConnectivityService$LegacyTypeTracker;->add(ILcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService$LegacyTypeTracker;->addSupportedType(I)V
-PLcom/android/server/ConnectivityService$LegacyTypeTracker;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/BluetoothManagerService;->updateOppLauncherComponentState(IZ)V
+PLcom/android/server/BluetoothService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/BluetoothService;->initialize()V
+PLcom/android/server/BluetoothService;->onBootPhase(I)V
+PLcom/android/server/BluetoothService;->onStart()V
+PLcom/android/server/BluetoothService;->onUnlockUser(I)V
+PLcom/android/server/CachedDeviceStateService$1;-><init>(Lcom/android/server/CachedDeviceStateService;)V
+PLcom/android/server/CachedDeviceStateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/CachedDeviceStateService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CachedDeviceStateService;->access$000(Lcom/android/server/CachedDeviceStateService;)Lcom/android/internal/os/CachedDeviceState;
+PLcom/android/server/CachedDeviceStateService;->onBootPhase(I)V
+PLcom/android/server/CachedDeviceStateService;->onStart()V
+PLcom/android/server/CachedDeviceStateService;->queryIsCharging()Z
+PLcom/android/server/CachedDeviceStateService;->queryScreenInteractive(Landroid/content/Context;)Z
+PLcom/android/server/CertBlacklister$BlacklistObserver;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentResolver;)V
+PLcom/android/server/CertBlacklister;-><clinit>()V
+PLcom/android/server/CertBlacklister;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CertBlacklister;->buildPubkeyObserver(Landroid/content/ContentResolver;)Lcom/android/server/CertBlacklister$BlacklistObserver;
+PLcom/android/server/CertBlacklister;->buildSerialObserver(Landroid/content/ContentResolver;)Lcom/android/server/CertBlacklister$BlacklistObserver;
+PLcom/android/server/CertBlacklister;->registerObservers(Landroid/content/ContentResolver;)V
+PLcom/android/server/ConnectivityService$1;-><init>(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService$2;-><init>(Lcom/android/server/ConnectivityService;)V
+HPLcom/android/server/ConnectivityService$2;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
+PLcom/android/server/ConnectivityService$3;-><init>(Lcom/android/server/ConnectivityService;)V
+HPLcom/android/server/ConnectivityService$3;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
+PLcom/android/server/ConnectivityService$3;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/ConnectivityService$4;-><init>(Lcom/android/server/ConnectivityService;)V
+HPLcom/android/server/ConnectivityService$4;->onUidRulesChanged(II)V
+PLcom/android/server/ConnectivityService$5;-><init>(Lcom/android/server/ConnectivityService;)V
+HPLcom/android/server/ConnectivityService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/ConnectivityService$6;-><init>(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/ConnectivityService$7;-><clinit>()V
+PLcom/android/server/ConnectivityService$Dependencies;-><init>()V
+PLcom/android/server/ConnectivityService$Dependencies;->getBatteryStatsService()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/ConnectivityService$Dependencies;->getIpConnectivityMetrics()Landroid/net/IIpConnectivityMetrics;
+PLcom/android/server/ConnectivityService$Dependencies;->getMetricsLogger()Lcom/android/server/connectivity/IpConnectivityMetrics$Logger;
+PLcom/android/server/ConnectivityService$Dependencies;->getNetworkStack()Landroid/net/NetworkStackClient;
+PLcom/android/server/ConnectivityService$Dependencies;->getSystemProperties()Lcom/android/server/connectivity/MockableSystemProperties;
+PLcom/android/server/ConnectivityService$Dependencies;->getTetheringManager()Landroid/net/TetheringManager;
+PLcom/android/server/ConnectivityService$Dependencies;->makeHandlerThread()Landroid/os/HandlerThread;
+PLcom/android/server/ConnectivityService$Dependencies;->makeMultinetworkPolicyTracker(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/net/util/MultinetworkPolicyTracker;
+PLcom/android/server/ConnectivityService$Dependencies;->makeNetIdManager()Lcom/android/server/NetIdManager;
+PLcom/android/server/ConnectivityService$Dependencies;->makeProxyTracker(Landroid/content/Context;Landroid/os/Handler;)Lcom/android/server/connectivity/ProxyTracker;
+PLcom/android/server/ConnectivityService$Dependencies;->queryUserAccess(II)Z
+PLcom/android/server/ConnectivityService$InternalHandler;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Looper;)V
+HPLcom/android/server/ConnectivityService$InternalHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/ConnectivityService$LegacyTypeTracker;-><init>(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService$LegacyTypeTracker;->add(ILcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService$LegacyTypeTracker;->addSupportedType(I)V
PLcom/android/server/ConnectivityService$LegacyTypeTracker;->getNetworkForType(I)Lcom/android/server/connectivity/NetworkAgentInfo;
-HSPLcom/android/server/ConnectivityService$LegacyTypeTracker;->isTypeSupported(I)Z
-HSPLcom/android/server/ConnectivityService$LegacyTypeTracker;->maybeLogBroadcast(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;IZ)V
-PLcom/android/server/ConnectivityService$LegacyTypeTracker;->naiToString(Lcom/android/server/connectivity/NetworkAgentInfo;)Ljava/lang/String;
+PLcom/android/server/ConnectivityService$LegacyTypeTracker;->isTypeSupported(I)Z
+PLcom/android/server/ConnectivityService$LegacyTypeTracker;->maybeLogBroadcast(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;IZ)V
PLcom/android/server/ConnectivityService$LegacyTypeTracker;->remove(ILcom/android/server/connectivity/NetworkAgentInfo;Z)V
-PLcom/android/server/ConnectivityService$LegacyTypeTracker;->remove(Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
-HSPLcom/android/server/ConnectivityService$LegacyTypeTracker;->update(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;-><init>(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->hideProvisioningNotification()V
-HSPLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->notifyNetworkTested(ILjava/lang/String;)V
-HSPLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
-PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->showProvisioningNotification(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/ConnectivityService$NetworkRequestInfo;-><init>(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V
-HSPLcom/android/server/ConnectivityService$NetworkRequestInfo;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;Landroid/net/NetworkRequest;Landroid/os/IBinder;)V
-HSPLcom/android/server/ConnectivityService$NetworkRequestInfo;->binderDied()V
-HSPLcom/android/server/ConnectivityService$NetworkRequestInfo;->enforceRequestCountLimit()V
-HSPLcom/android/server/ConnectivityService$NetworkRequestInfo;->toString()Ljava/lang/String;
-HSPLcom/android/server/ConnectivityService$NetworkRequestInfo;->unlinkDeathRecipient()V
-HSPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleAsyncChannelMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkAgentMessage(Landroid/os/Message;)V
-HSPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkMonitorMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/ConnectivityService$ReapUnvalidatedNetworks;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/server/ConnectivityService$SettingsObserver;->observe(Landroid/net/Uri;I)V
-HSPLcom/android/server/ConnectivityService$UnneededFor;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/server/ConnectivityService$UnneededFor;->values()[Lcom/android/server/ConnectivityService$UnneededFor;
-HSPLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;)V
-HSPLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/net/metrics/IpConnectivityLog;)V
-HSPLcom/android/server/ConnectivityService;->avoidBadWifi()Z
-HSPLcom/android/server/ConnectivityService;->callCallbackForRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;Lcom/android/server/connectivity/NetworkAgentInfo;II)V
-HSPLcom/android/server/ConnectivityService;->clearNetworkForRequest(I)V
-HSPLcom/android/server/ConnectivityService;->createMultinetworkPolicyTracker(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/net/util/MultinetworkPolicyTracker;
-HSPLcom/android/server/ConnectivityService;->createVpnInfo(Lcom/android/server/connectivity/Vpn;)Lcom/android/internal/net/VpnInfo;
+PLcom/android/server/ConnectivityService$NetworkFactoryInfo;-><init>(Ljava/lang/String;Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;I)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;-><init>(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;-><init>(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$1;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->getInterfaceVersion()I
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->hideProvisioningNotification()V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->notifyNetworkTested(ILjava/lang/String;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->notifyProbeStatusChanged(II)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
+PLcom/android/server/ConnectivityService$NetworkRequestInfo;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;Landroid/net/NetworkRequest;Landroid/os/IBinder;)V
+PLcom/android/server/ConnectivityService$NetworkRequestInfo;->binderDied()V
+PLcom/android/server/ConnectivityService$NetworkRequestInfo;->enforceRequestCountLimit()V
+PLcom/android/server/ConnectivityService$NetworkRequestInfo;->toString()Ljava/lang/String;
+PLcom/android/server/ConnectivityService$NetworkRequestInfo;->unlinkDeathRecipient()V
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Looper;)V
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleAsyncChannelMessage(Landroid/os/Message;)Z
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkAgentInfoMessage(Landroid/os/Message;)Z
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkAgentMessage(Landroid/os/Message;)V
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkFactoryMessage(Landroid/os/Message;)Z
+PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkMonitorMessage(Landroid/os/Message;)Z
+PLcom/android/server/ConnectivityService$SettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/ConnectivityService$SettingsObserver;->observe(Landroid/net/Uri;I)V
+PLcom/android/server/ConnectivityService$UnneededFor;-><clinit>()V
+PLcom/android/server/ConnectivityService$UnneededFor;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/ConnectivityService$UnneededFor;->values()[Lcom/android/server/ConnectivityService$UnneededFor;
+PLcom/android/server/ConnectivityService;-><clinit>()V
+PLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;)V
+PLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/net/IDnsResolver;Landroid/net/metrics/IpConnectivityLog;Landroid/net/INetd;Lcom/android/server/ConnectivityService$Dependencies;)V
+PLcom/android/server/ConnectivityService;->access$000(Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService;->access$1000(Lcom/android/server/ConnectivityService;)Ljava/util/HashMap;
+PLcom/android/server/ConnectivityService;->access$1200()Z
+PLcom/android/server/ConnectivityService;->access$1500(Lcom/android/server/ConnectivityService;ILcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->access$1600(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
+PLcom/android/server/ConnectivityService;->access$1700(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkScore;)V
+PLcom/android/server/ConnectivityService;->access$1800(I)Z
+PLcom/android/server/ConnectivityService;->access$200(Lcom/android/server/ConnectivityService;IZJ)V
+PLcom/android/server/ConnectivityService;->access$2100(Lcom/android/server/ConnectivityService;)Lcom/android/server/ConnectivityService$Dependencies;
+PLcom/android/server/ConnectivityService;->access$2200(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->access$2300(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->access$2400(Lcom/android/server/ConnectivityService;)Lcom/android/server/connectivity/NetworkNotificationManager;
+PLcom/android/server/ConnectivityService;->access$2500(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->access$2600(Lcom/android/server/ConnectivityService;Landroid/net/Network;)V
+PLcom/android/server/ConnectivityService;->access$300(Lcom/android/server/ConnectivityService;)Lcom/android/server/ConnectivityService$InternalHandler;
+PLcom/android/server/ConnectivityService;->access$3300(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;IZ)V
+PLcom/android/server/ConnectivityService;->access$3400(Lcom/android/server/ConnectivityService;)Lcom/android/server/ConnectivityService$NetworkStateTrackerHandler;
+PLcom/android/server/ConnectivityService;->access$3900(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
+PLcom/android/server/ConnectivityService;->access$4100(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/INetworkMonitor;)V
+PLcom/android/server/ConnectivityService;->access$4200(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+PLcom/android/server/ConnectivityService;->access$4900(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService;->access$500(Lcom/android/server/ConnectivityService;I)Lcom/android/server/connectivity/NetworkAgentInfo;
+PLcom/android/server/ConnectivityService;->access$5200(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
+PLcom/android/server/ConnectivityService;->access$5300(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService;->access$5400(Lcom/android/server/ConnectivityService;I)V
+PLcom/android/server/ConnectivityService;->access$5800(Lcom/android/server/ConnectivityService;I)V
+PLcom/android/server/ConnectivityService;->access$5900(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
+PLcom/android/server/ConnectivityService;->access$600(Lcom/android/server/ConnectivityService;)Landroid/net/NetworkRequest;
+PLcom/android/server/ConnectivityService;->access$6000(Lcom/android/server/ConnectivityService;Ljava/lang/String;I)V
+PLcom/android/server/ConnectivityService;->access$6100(Lcom/android/server/ConnectivityService;Ljava/lang/String;IZ)V
+PLcom/android/server/ConnectivityService;->access$6200(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;)V
+PLcom/android/server/ConnectivityService;->access$6300(Lcom/android/server/ConnectivityService;)Landroid/util/SparseIntArray;
+PLcom/android/server/ConnectivityService;->access$900(Lcom/android/server/ConnectivityService;Landroid/os/Message;)V
+HPLcom/android/server/ConnectivityService;->addNetworkToLegacyTypeTracker(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->avoidBadWifi()Z
+PLcom/android/server/ConnectivityService;->callCallbackForRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;Lcom/android/server/connectivity/NetworkAgentInfo;II)V
+PLcom/android/server/ConnectivityService;->checkAnyPermissionOf([Ljava/lang/String;)Z
+PLcom/android/server/ConnectivityService;->checkNetworkStackPermission()Z
+PLcom/android/server/ConnectivityService;->checkSettingsPermission()Z
+HPLcom/android/server/ConnectivityService;->checkSettingsPermission(II)Z
+HPLcom/android/server/ConnectivityService;->computeRequestReassignmentForNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/util/ArrayMap;
+PLcom/android/server/ConnectivityService;->createDefaultInternetRequestForTransport(ILandroid/net/NetworkRequest$Type;)Landroid/net/NetworkRequest;
+PLcom/android/server/ConnectivityService;->createDefaultNetworkCapabilitiesForUid(I)Landroid/net/NetworkCapabilities;
+PLcom/android/server/ConnectivityService;->createNativeNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
+PLcom/android/server/ConnectivityService;->createVpnInfo(Lcom/android/server/connectivity/Vpn;)Lcom/android/internal/net/VpnInfo;
+PLcom/android/server/ConnectivityService;->destroyNativeNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)V
PLcom/android/server/ConnectivityService;->disconnectAndDestroyNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/ConnectivityService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/ConnectivityService;->dumpAvoidBadWifiSettings(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/ConnectivityService;->dumpNetworkDiagnostics(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/ConnectivityService;->dumpNetworks(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/ConnectivityService;->enforceAnyPermissionOf([Ljava/lang/String;)V
-HSPLcom/android/server/ConnectivityService;->enforceConnectivityRestrictedNetworksPermission()V
+PLcom/android/server/ConnectivityService;->encodeBool(Z)I
+HPLcom/android/server/ConnectivityService;->enforceAccessPermission()V
+PLcom/android/server/ConnectivityService;->enforceChangePermission()V
+PLcom/android/server/ConnectivityService;->enforceControlAlwaysOnVpnPermission()V
+PLcom/android/server/ConnectivityService;->enforceCrossUserPermission(I)V
+PLcom/android/server/ConnectivityService;->enforceMeteredApnPolicy(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->enforceNetworkFactoryPermission()V
+PLcom/android/server/ConnectivityService;->enforceNetworkRequestPermissions(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->enforceTetherAccessPermission()V
+PLcom/android/server/ConnectivityService;->ensureNetworkRequestHasType(Landroid/net/NetworkRequest;)V
PLcom/android/server/ConnectivityService;->ensureNetworkTransitionWakelock(Ljava/lang/String;)V
-HSPLcom/android/server/ConnectivityService;->ensureRunningOnConnectivityServiceThread()V
-PLcom/android/server/ConnectivityService;->establishVpn(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/ConnectivityService;->filterNetworkStateForUid(Landroid/net/NetworkState;IZ)V
-PLcom/android/server/ConnectivityService;->findExistingNetworkRequestInfo(Landroid/app/PendingIntent;)Lcom/android/server/ConnectivityService$NetworkRequestInfo;
-HSPLcom/android/server/ConnectivityService;->getActiveLinkProperties()Landroid/net/LinkProperties;
-HSPLcom/android/server/ConnectivityService;->getActiveNetwork()Landroid/net/Network;
-HSPLcom/android/server/ConnectivityService;->getActiveNetworkForUid(IZ)Landroid/net/Network;
-HSPLcom/android/server/ConnectivityService;->getActiveNetworkForUidInternal(IZ)Landroid/net/Network;
-HSPLcom/android/server/ConnectivityService;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
+PLcom/android/server/ConnectivityService;->ensureRequestableCapabilities(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->ensureRunningOnConnectivityServiceThread()V
+PLcom/android/server/ConnectivityService;->ensureSufficientPermissionsForRequest(Landroid/net/NetworkCapabilities;II)V
+PLcom/android/server/ConnectivityService;->ensureValid(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->ensureValidNetworkSpecifier(Landroid/net/NetworkCapabilities;)V
+HPLcom/android/server/ConnectivityService;->filterNetworkStateForUid(Landroid/net/NetworkState;IZ)V
+PLcom/android/server/ConnectivityService;->getActiveLinkProperties()Landroid/net/LinkProperties;
+PLcom/android/server/ConnectivityService;->getActiveNetwork()Landroid/net/Network;
+HPLcom/android/server/ConnectivityService;->getActiveNetworkForUid(IZ)Landroid/net/Network;
+HPLcom/android/server/ConnectivityService;->getActiveNetworkForUidInternal(IZ)Landroid/net/Network;
+HPLcom/android/server/ConnectivityService;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
PLcom/android/server/ConnectivityService;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
-HSPLcom/android/server/ConnectivityService;->getAllNetworkState()[Landroid/net/NetworkState;
-HSPLcom/android/server/ConnectivityService;->getAllNetworks()[Landroid/net/Network;
-HSPLcom/android/server/ConnectivityService;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
-HSPLcom/android/server/ConnectivityService;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
-HSPLcom/android/server/ConnectivityService;->getDefaultNetworks()[Landroid/net/Network;
+PLcom/android/server/ConnectivityService;->getAllNetworkState()[Landroid/net/NetworkState;
+PLcom/android/server/ConnectivityService;->getAllNetworks()[Landroid/net/Network;
+PLcom/android/server/ConnectivityService;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
+PLcom/android/server/ConnectivityService;->getAlwaysOnVpnPackage(I)Ljava/lang/String;
+PLcom/android/server/ConnectivityService;->getDefaultNetwork()Lcom/android/server/connectivity/NetworkAgentInfo;
+PLcom/android/server/ConnectivityService;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
+PLcom/android/server/ConnectivityService;->getDefaultNetworks()[Landroid/net/Network;
+PLcom/android/server/ConnectivityService;->getDefaultRequest()Landroid/net/NetworkRequest;
+PLcom/android/server/ConnectivityService;->getDnsResolver()Landroid/net/IDnsResolver;
PLcom/android/server/ConnectivityService;->getFilteredNetworkState(II)Landroid/net/NetworkState;
-HSPLcom/android/server/ConnectivityService;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
-HSPLcom/android/server/ConnectivityService;->getLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/LinkProperties;
-HSPLcom/android/server/ConnectivityService;->getLinkPropertiesProxyInfo(Landroid/net/Network;)Landroid/net/ProxyInfo;
-HSPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetId(I)Lcom/android/server/connectivity/NetworkAgentInfo;
-HSPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetwork(Landroid/net/Network;)Lcom/android/server/connectivity/NetworkAgentInfo;
-HSPLcom/android/server/ConnectivityService;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
-HSPLcom/android/server/ConnectivityService;->getNetworkCapabilitiesInternal(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/NetworkCapabilities;
-HSPLcom/android/server/ConnectivityService;->getNetworkForRequest(I)Lcom/android/server/connectivity/NetworkAgentInfo;
+PLcom/android/server/ConnectivityService;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
+PLcom/android/server/ConnectivityService;->getLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/LinkProperties;
+PLcom/android/server/ConnectivityService;->getLinkPropertiesProxyInfo(Landroid/net/Network;)Landroid/net/ProxyInfo;
+PLcom/android/server/ConnectivityService;->getNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/Network;
+HPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetId(I)Lcom/android/server/connectivity/NetworkAgentInfo;
+PLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetwork(Landroid/net/Network;)Lcom/android/server/connectivity/NetworkAgentInfo;
+HPLcom/android/server/ConnectivityService;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
+HPLcom/android/server/ConnectivityService;->getNetworkCapabilitiesInternal(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/NetworkCapabilities;
PLcom/android/server/ConnectivityService;->getNetworkInfo(I)Landroid/net/NetworkInfo;
-HSPLcom/android/server/ConnectivityService;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-HSPLcom/android/server/ConnectivityService;->getNetworkStack()Landroid/net/NetworkStackClient;
-HSPLcom/android/server/ConnectivityService;->getNriForAppRequest(Landroid/net/NetworkRequest;ILjava/lang/String;)Lcom/android/server/ConnectivityService$NetworkRequestInfo;
-HSPLcom/android/server/ConnectivityService;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
-HSPLcom/android/server/ConnectivityService;->getSignalStrengthThresholds(Lcom/android/server/connectivity/NetworkAgentInfo;)Ljava/util/ArrayList;
-HSPLcom/android/server/ConnectivityService;->getSystemProperties()Lcom/android/server/connectivity/MockableSystemProperties;
+HPLcom/android/server/ConnectivityService;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
+PLcom/android/server/ConnectivityService;->getNetworkPermission(Landroid/net/NetworkCapabilities;)I
+PLcom/android/server/ConnectivityService;->getNriForAppRequest(Landroid/net/NetworkRequest;ILjava/lang/String;)Lcom/android/server/ConnectivityService$NetworkRequestInfo;
+PLcom/android/server/ConnectivityService;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
+PLcom/android/server/ConnectivityService;->getSignalStrengthThresholds(Lcom/android/server/connectivity/NetworkAgentInfo;)Ljava/util/ArrayList;
PLcom/android/server/ConnectivityService;->getTetherableBluetoothRegexs()[Ljava/lang/String;
PLcom/android/server/ConnectivityService;->getTetherableUsbRegexs()[Ljava/lang/String;
-HSPLcom/android/server/ConnectivityService;->getTetherableWifiRegexs()[Ljava/lang/String;
-PLcom/android/server/ConnectivityService;->getTetheredIfaces()[Ljava/lang/String;
-HSPLcom/android/server/ConnectivityService;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
-HSPLcom/android/server/ConnectivityService;->getVpnUnderlyingNetworks(I)[Landroid/net/Network;
-HSPLcom/android/server/ConnectivityService;->handleAlwaysOnNetworkRequest(Landroid/net/NetworkRequest;Ljava/lang/String;Z)V
-HSPLcom/android/server/ConnectivityService;->handleAsyncChannelDisconnected(Landroid/os/Message;)V
-HSPLcom/android/server/ConnectivityService;->handleAsyncChannelHalfConnect(Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService;->handleLingerComplete(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->handleNat64PrefixEvent(IZLjava/lang/String;I)V
-PLcom/android/server/ConnectivityService;->handleNetworkUnvalidated(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService;->handlePerNetworkPrivateDnsConfig(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/shared/PrivateDnsConfig;)V
+PLcom/android/server/ConnectivityService;->getTetherableWifiRegexs()[Ljava/lang/String;
+PLcom/android/server/ConnectivityService;->getUnfilteredActiveNetworkState(I)Landroid/net/NetworkState;
+PLcom/android/server/ConnectivityService;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
+HPLcom/android/server/ConnectivityService;->getVpnUnderlyingNetworks(I)[Landroid/net/Network;
+PLcom/android/server/ConnectivityService;->handleAlwaysOnNetworkRequest(Landroid/net/NetworkRequest;Ljava/lang/String;Z)V
+PLcom/android/server/ConnectivityService;->handleApplyDefaultProxy(Landroid/net/ProxyInfo;)V
+PLcom/android/server/ConnectivityService;->handleAsyncChannelDisconnected(Landroid/os/Message;)V
+PLcom/android/server/ConnectivityService;->handleAsyncChannelHalfConnect(Landroid/os/Message;)V
+PLcom/android/server/ConnectivityService;->handleConfigureAlwaysOnNetworks()V
+PLcom/android/server/ConnectivityService;->handleFreshlyValidatedNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->handlePerNetworkPrivateDnsConfig(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/shared/PrivateDnsConfig;)V
+PLcom/android/server/ConnectivityService;->handlePrivateDnsValidationUpdate(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
PLcom/android/server/ConnectivityService;->handlePromptUnvalidated(Landroid/net/Network;)V
-HSPLcom/android/server/ConnectivityService;->handleRegisterNetworkAgent(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/INetworkMonitor;)V
-HSPLcom/android/server/ConnectivityService;->handleRegisterNetworkFactory(Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
-HSPLcom/android/server/ConnectivityService;->handleRegisterNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
-HSPLcom/android/server/ConnectivityService;->handleReleaseNetworkRequest(Landroid/net/NetworkRequest;IZ)V
+PLcom/android/server/ConnectivityService;->handleRegisterNetworkAgent(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/INetworkMonitor;)V
+PLcom/android/server/ConnectivityService;->handleRegisterNetworkFactory(Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
+PLcom/android/server/ConnectivityService;->handleRegisterNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+PLcom/android/server/ConnectivityService;->handleReleaseNetworkRequest(Landroid/net/NetworkRequest;IZ)V
PLcom/android/server/ConnectivityService;->handleReleaseNetworkTransitionWakelock(I)V
-HSPLcom/android/server/ConnectivityService;->handleRemoveNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+PLcom/android/server/ConnectivityService;->handleRemoveNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
PLcom/android/server/ConnectivityService;->handleReportNetworkConnectivity(Landroid/net/Network;IZ)V
-PLcom/android/server/ConnectivityService;->handleTimedOutNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
-HSPLcom/android/server/ConnectivityService;->handleUidRulesChanged(II)V
-HSPLcom/android/server/ConnectivityService;->handleUpdateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;)V
-HSPLcom/android/server/ConnectivityService;->hasWifiNetworkListenPermission(Landroid/net/NetworkCapabilities;)Z
-PLcom/android/server/ConnectivityService;->isActiveNetworkMetered()Z
-PLcom/android/server/ConnectivityService;->isLiveNetworkAgent(Lcom/android/server/connectivity/NetworkAgentInfo;I)Z
-HSPLcom/android/server/ConnectivityService;->isNetworkSupported(I)Z
-HSPLcom/android/server/ConnectivityService;->isNetworkWithLinkPropertiesBlocked(Landroid/net/LinkProperties;IZ)Z
-HSPLcom/android/server/ConnectivityService;->isTetheringSupported()Z
-HSPLcom/android/server/ConnectivityService;->isTetheringSupported(Ljava/lang/String;)Z
-HSPLcom/android/server/ConnectivityService;->isUidNetworkingWithVpnBlocked(IIZZ)Z
-HSPLcom/android/server/ConnectivityService;->lambda$new$0$ConnectivityService()V
-PLcom/android/server/ConnectivityService;->lambda$startCaptivePortalAppInternal$4$ConnectivityService(Landroid/content/Intent;)V
-HSPLcom/android/server/ConnectivityService;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-HSPLcom/android/server/ConnectivityService;->makeDefault(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService;->makeGeneralIntent(Landroid/net/NetworkInfo;Ljava/lang/String;)Landroid/content/Intent;
-HSPLcom/android/server/ConnectivityService;->makeProxyTracker()Lcom/android/server/connectivity/ProxyTracker;
-HSPLcom/android/server/ConnectivityService;->makeTethering()Lcom/android/server/connectivity/Tethering;
-PLcom/android/server/ConnectivityService;->makeWakeupMessage(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;ILjava/lang/Object;)Lcom/android/internal/util/WakeupMessage;
-HSPLcom/android/server/ConnectivityService;->maybeLogBlockedNetworkInfo(Landroid/net/NetworkInfo;I)V
+PLcom/android/server/ConnectivityService;->handleUidRulesChanged(II)V
+PLcom/android/server/ConnectivityService;->handleUpdateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;)V
+PLcom/android/server/ConnectivityService;->hasWifiNetworkListenPermission(Landroid/net/NetworkCapabilities;)Z
+HPLcom/android/server/ConnectivityService;->isActiveNetworkMetered()Z
+PLcom/android/server/ConnectivityService;->isDefaultNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
+PLcom/android/server/ConnectivityService;->isDefaultRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)Z
+PLcom/android/server/ConnectivityService;->isNetworkSupported(I)Z
+HPLcom/android/server/ConnectivityService;->isNetworkWithLinkPropertiesBlocked(Landroid/net/LinkProperties;IZ)Z
+PLcom/android/server/ConnectivityService;->isSystem(I)Z
+PLcom/android/server/ConnectivityService;->isTetheringSupported()Z
+PLcom/android/server/ConnectivityService;->isTetheringSupported(Ljava/lang/String;)Z
+HPLcom/android/server/ConnectivityService;->isUidNetworkingWithVpnBlocked(IIZZ)Z
+PLcom/android/server/ConnectivityService;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
+PLcom/android/server/ConnectivityService;->log(Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService;->loge(Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService;->makeDefault(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->makeGeneralIntent(Landroid/net/NetworkInfo;Ljava/lang/String;)Landroid/content/Intent;
+HPLcom/android/server/ConnectivityService;->maybeLogBlockedNetworkInfo(Landroid/net/NetworkInfo;I)V
PLcom/android/server/ConnectivityService;->maybeLogBlockedStatusChanged(Lcom/android/server/ConnectivityService$NetworkRequestInfo;Landroid/net/Network;Z)V
-PLcom/android/server/ConnectivityService;->maybeNotifyNetworkBlocked(Lcom/android/server/connectivity/NetworkAgentInfo;ZZZZ)V
-HSPLcom/android/server/ConnectivityService;->maybeNotifyNetworkBlockedForNewUidRules(II)V
-HSPLcom/android/server/ConnectivityService;->metricsLogger()Lcom/android/server/connectivity/IpConnectivityMetrics$Logger;
-HSPLcom/android/server/ConnectivityService;->mixInCapabilities(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
-HSPLcom/android/server/ConnectivityService;->networkCapabilitiesRestrictedForCallerPermissions(Landroid/net/NetworkCapabilities;II)Landroid/net/NetworkCapabilities;
-HSPLcom/android/server/ConnectivityService;->nextNetworkRequestId()I
-HSPLcom/android/server/ConnectivityService;->notifyIfacesChangedForNetworkStats()V
-HSPLcom/android/server/ConnectivityService;->notifyLockdownVpn(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService;->notifyNetworkAvailable(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
-HSPLcom/android/server/ConnectivityService;->notifyNetworkCallbacks(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-HSPLcom/android/server/ConnectivityService;->notifyNetworkCallbacks(Lcom/android/server/connectivity/NetworkAgentInfo;II)V
+HPLcom/android/server/ConnectivityService;->maybeNotifyNetworkBlockedForNewUidRules(II)V
+PLcom/android/server/ConnectivityService;->mixInCapabilities(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
+HPLcom/android/server/ConnectivityService;->networkCapabilitiesRestrictedForCallerPermissions(Landroid/net/NetworkCapabilities;II)Landroid/net/NetworkCapabilities;
+PLcom/android/server/ConnectivityService;->networkRequiresPrivateDnsValidation(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
+PLcom/android/server/ConnectivityService;->nextNetworkRequestId()I
+PLcom/android/server/ConnectivityService;->notifyIfacesChangedForNetworkStats()V
+PLcom/android/server/ConnectivityService;->notifyLockdownVpn(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->notifyNetworkAvailable(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+PLcom/android/server/ConnectivityService;->notifyNetworkCallbacks(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
+PLcom/android/server/ConnectivityService;->notifyNetworkCallbacks(Lcom/android/server/connectivity/NetworkAgentInfo;II)V
PLcom/android/server/ConnectivityService;->onPackageAdded(Ljava/lang/String;I)V
-HSPLcom/android/server/ConnectivityService;->onPackageRemoved(Ljava/lang/String;IZ)V
+PLcom/android/server/ConnectivityService;->onPackageRemoved(Ljava/lang/String;IZ)V
PLcom/android/server/ConnectivityService;->onPackageReplaced(Ljava/lang/String;I)V
-PLcom/android/server/ConnectivityService;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/ConnectivityService;->onUserStart(I)V
-HSPLcom/android/server/ConnectivityService;->onUserUnlocked(I)V
-PLcom/android/server/ConnectivityService;->prepareVpn(Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLcom/android/server/ConnectivityService;->processListenRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
-HSPLcom/android/server/ConnectivityService;->queryUserAccess(II)Z
-HSPLcom/android/server/ConnectivityService;->registerNetdEventCallback()V
-HSPLcom/android/server/ConnectivityService;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
-HSPLcom/android/server/ConnectivityService;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
-HSPLcom/android/server/ConnectivityService;->registerPrivateDnsSettingsCallbacks()V
-HSPLcom/android/server/ConnectivityService;->registerSettingsCallbacks()V
-HSPLcom/android/server/ConnectivityService;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-PLcom/android/server/ConnectivityService;->releasePendingNetworkRequest(Landroid/app/PendingIntent;)V
-HSPLcom/android/server/ConnectivityService;->rematchAllNetworksAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-HSPLcom/android/server/ConnectivityService;->rematchForAvoidBadWifiUpdate()V
-HSPLcom/android/server/ConnectivityService;->rematchNetworkAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$ReapUnvalidatedNetworks;J)V
+PLcom/android/server/ConnectivityService;->onUserStart(I)V
+PLcom/android/server/ConnectivityService;->onUserUnlocked(I)V
+HPLcom/android/server/ConnectivityService;->processListenRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
+PLcom/android/server/ConnectivityService;->putParcelable(Landroid/os/Bundle;Landroid/os/Parcelable;)V
+PLcom/android/server/ConnectivityService;->registerNetdEventCallback()V
+PLcom/android/server/ConnectivityService;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
+PLcom/android/server/ConnectivityService;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
+PLcom/android/server/ConnectivityService;->registerPrivateDnsSettingsCallbacks()V
+PLcom/android/server/ConnectivityService;->registerSettingsCallbacks()V
+PLcom/android/server/ConnectivityService;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
+HPLcom/android/server/ConnectivityService;->rematchAllNetworksAndRequests()V
+HPLcom/android/server/ConnectivityService;->rematchNetworkAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;J)V
PLcom/android/server/ConnectivityService;->removeDataActivityTracking(Lcom/android/server/connectivity/NetworkAgentInfo;)V
PLcom/android/server/ConnectivityService;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-HSPLcom/android/server/ConnectivityService;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
-PLcom/android/server/ConnectivityService;->requestRouteToHostAddress(I[B)Z
-HSPLcom/android/server/ConnectivityService;->reserveNetId()I
-HSPLcom/android/server/ConnectivityService;->scheduleReleaseNetworkTransitionWakelock()V
-HSPLcom/android/server/ConnectivityService;->scheduleUnvalidatedPrompt(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService;->sendConnectedBroadcast(Landroid/net/NetworkInfo;)V
-HSPLcom/android/server/ConnectivityService;->sendDataActivityBroadcast(IZJ)V
-PLcom/android/server/ConnectivityService;->sendIntent(Landroid/app/PendingIntent;Landroid/content/Intent;)V
-HSPLcom/android/server/ConnectivityService;->sendLegacyNetworkBroadcast(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;I)V
-PLcom/android/server/ConnectivityService;->sendPendingIntentForRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-HSPLcom/android/server/ConnectivityService;->sendStickyBroadcast(Landroid/content/Intent;)V
-HSPLcom/android/server/ConnectivityService;->sendUpdatedScoreToFactories(Landroid/net/NetworkRequest;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->setAirplaneMode(Z)V
-HSPLcom/android/server/ConnectivityService;->setNetworkForRequest(ILcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
-HSPLcom/android/server/ConnectivityService;->setupDataActivityTracking(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
+PLcom/android/server/ConnectivityService;->requiresVpnIsolation(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)Z
+PLcom/android/server/ConnectivityService;->restrictBackgroundRequestForCaller(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->restrictRequestUidsForCaller(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->scheduleReleaseNetworkTransitionWakelock()V
+PLcom/android/server/ConnectivityService;->scheduleUnvalidatedPrompt(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->sendConnectedBroadcast(Landroid/net/NetworkInfo;)V
+PLcom/android/server/ConnectivityService;->sendDataActivityBroadcast(IZJ)V
+PLcom/android/server/ConnectivityService;->sendGeneralBroadcast(Landroid/net/NetworkInfo;Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService;->sendInetConditionBroadcast(Landroid/net/NetworkInfo;)V
+PLcom/android/server/ConnectivityService;->sendLegacyNetworkBroadcast(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;I)V
+PLcom/android/server/ConnectivityService;->sendStickyBroadcast(Landroid/content/Intent;)V
+PLcom/android/server/ConnectivityService;->sendUpdatedScoreToFactories(Landroid/net/NetworkRequest;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->sendUpdatedScoreToFactories(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->setLockdownTracker(Lcom/android/server/net/LockdownVpnTracker;)V
+PLcom/android/server/ConnectivityService;->setupDataActivityTracking(Lcom/android/server/connectivity/NetworkAgentInfo;)V
PLcom/android/server/ConnectivityService;->shouldAvoidBadWifi()Z
-PLcom/android/server/ConnectivityService;->showNetworkNotification(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)V
-HSPLcom/android/server/ConnectivityService;->startAlwaysOnVpn(I)Z
-PLcom/android/server/ConnectivityService;->startCaptivePortalAppInternal(Landroid/net/Network;Landroid/os/Bundle;)V
-PLcom/android/server/ConnectivityService;->startNattKeepalive(Landroid/net/Network;ILandroid/net/ISocketKeepaliveCallback;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/ConnectivityService;->stopKeepalive(Landroid/net/Network;I)V
-HSPLcom/android/server/ConnectivityService;->systemReady()V
-PLcom/android/server/ConnectivityService;->teardownUnneededNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->throwIfLockdownEnabled()V
-HSPLcom/android/server/ConnectivityService;->unneeded(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$UnneededFor;)Z
-HSPLcom/android/server/ConnectivityService;->updateAllVpnsCapabilities()V
-HSPLcom/android/server/ConnectivityService;->updateCapabilities(ILcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)V
-HSPLcom/android/server/ConnectivityService;->updateDnses(Landroid/net/LinkProperties;Landroid/net/LinkProperties;I)V
-HSPLcom/android/server/ConnectivityService;->updateInetCondition(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/ConnectivityService;->updateInterfaces(Landroid/net/LinkProperties;Landroid/net/LinkProperties;ILandroid/net/NetworkCapabilities;)V
-HSPLcom/android/server/ConnectivityService;->updateLingerState(Lcom/android/server/connectivity/NetworkAgentInfo;J)V
-HSPLcom/android/server/ConnectivityService;->updateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
-HSPLcom/android/server/ConnectivityService;->updateLockdownVpn()Z
-HSPLcom/android/server/ConnectivityService;->updateMtu(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
-HSPLcom/android/server/ConnectivityService;->updateNetworkInfo(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
-PLcom/android/server/ConnectivityService;->updateNetworkScore(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-HSPLcom/android/server/ConnectivityService;->updateRoutes(Landroid/net/LinkProperties;Landroid/net/LinkProperties;I)Z
-HSPLcom/android/server/ConnectivityService;->updateSignalStrengthThresholds(Lcom/android/server/connectivity/NetworkAgentInfo;Ljava/lang/String;Landroid/net/NetworkRequest;)V
-HSPLcom/android/server/ConnectivityService;->updateTcpBufferSizes(Ljava/lang/String;)V
-HSPLcom/android/server/ConnectivityService;->updateUids(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)V
-HSPLcom/android/server/ConnectivityService;->wakeupModifyInterface(Ljava/lang/String;Landroid/net/NetworkCapabilities;Z)V
-HSPLcom/android/server/ConsumerIrService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/ContextHubSystemService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/ContextHubSystemService;->lambda$new$0$ContextHubSystemService(Landroid/content/Context;)V
-HSPLcom/android/server/ContextHubSystemService;->onBootPhase(I)V
-HSPLcom/android/server/ContextHubSystemService;->onStart()V
-PLcom/android/server/CountryDetectorService$1$1;->run()V
-PLcom/android/server/CountryDetectorService$1;->onCountryDetected(Landroid/location/Country;)V
-HSPLcom/android/server/CountryDetectorService$2;->run()V
+PLcom/android/server/ConnectivityService;->shouldPromptUnvalidated(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
+PLcom/android/server/ConnectivityService;->startAlwaysOnVpn(I)Z
+PLcom/android/server/ConnectivityService;->systemReady()V
+PLcom/android/server/ConnectivityService;->toBool(I)Z
+PLcom/android/server/ConnectivityService;->unneeded(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$UnneededFor;)Z
+PLcom/android/server/ConnectivityService;->updateAllVpnsCapabilities()V
+PLcom/android/server/ConnectivityService;->updateCapabilities(ILcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->updateDataActivityTracking(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->updateDnses(Landroid/net/LinkProperties;Landroid/net/LinkProperties;I)V
+PLcom/android/server/ConnectivityService;->updateInetCondition(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->updateInterfaces(Landroid/net/LinkProperties;Landroid/net/LinkProperties;ILandroid/net/NetworkCapabilities;I)V
+PLcom/android/server/ConnectivityService;->updateLegacyTypeTrackerAndVpnLockdownForRematch(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;[Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->updateLingerState(Lcom/android/server/connectivity/NetworkAgentInfo;J)V
+PLcom/android/server/ConnectivityService;->updateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
+PLcom/android/server/ConnectivityService;->updateLockdownVpn()Z
+PLcom/android/server/ConnectivityService;->updateMtu(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
+PLcom/android/server/ConnectivityService;->updateNetworkInfo(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
+PLcom/android/server/ConnectivityService;->updateNetworkScore(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkScore;)V
+PLcom/android/server/ConnectivityService;->updatePrivateDns(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/shared/PrivateDnsConfig;)V
+PLcom/android/server/ConnectivityService;->updateProxy(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
+PLcom/android/server/ConnectivityService;->updateRoutes(Landroid/net/LinkProperties;Landroid/net/LinkProperties;I)Z
+PLcom/android/server/ConnectivityService;->updateSignalStrengthThresholds(Lcom/android/server/connectivity/NetworkAgentInfo;Ljava/lang/String;Landroid/net/NetworkRequest;)V
+PLcom/android/server/ConnectivityService;->updateTcpBufferSizes(Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService;->updateUids(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->updateVpnCapabilities(Lcom/android/server/connectivity/Vpn;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/ConnectivityService;->updateVpnFiltering(Landroid/net/LinkProperties;Landroid/net/LinkProperties;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->updateWakeOnLan(Landroid/net/LinkProperties;)V
+PLcom/android/server/ConnectivityService;->wakeupModifyInterface(Ljava/lang/String;Landroid/net/NetworkCapabilities;Z)V
+PLcom/android/server/ConsumerIrService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService;->lambda$new$0$ContextHubSystemService(Landroid/content/Context;)V
+PLcom/android/server/ContextHubSystemService;->onBootPhase(I)V
+PLcom/android/server/ContextHubSystemService;->onStart()V
+PLcom/android/server/CountryDetectorService$1;-><init>(Lcom/android/server/CountryDetectorService;)V
+PLcom/android/server/CountryDetectorService$2;-><init>(Lcom/android/server/CountryDetectorService;Landroid/location/CountryListener;)V
+PLcom/android/server/CountryDetectorService$2;->run()V
+PLcom/android/server/CountryDetectorService$Receiver;-><init>(Lcom/android/server/CountryDetectorService;Landroid/location/ICountryListener;)V
PLcom/android/server/CountryDetectorService$Receiver;->binderDied()V
-HSPLcom/android/server/CountryDetectorService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/CountryDetectorService;->addCountryListener(Landroid/location/ICountryListener;)V
-HSPLcom/android/server/CountryDetectorService;->addListener(Landroid/location/ICountryListener;)V
-HSPLcom/android/server/CountryDetectorService;->detectCountry()Landroid/location/Country;
-PLcom/android/server/CountryDetectorService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/CountryDetectorService;->notifyReceivers(Landroid/location/Country;)V
+PLcom/android/server/CountryDetectorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CountryDetectorService;->addCountryListener(Landroid/location/ICountryListener;)V
+PLcom/android/server/CountryDetectorService;->addListener(Landroid/location/ICountryListener;)V
+PLcom/android/server/CountryDetectorService;->detectCountry()Landroid/location/Country;
+PLcom/android/server/CountryDetectorService;->initialize()V
PLcom/android/server/CountryDetectorService;->removeListener(Landroid/os/IBinder;)V
-HSPLcom/android/server/CountryDetectorService;->run()V
-HSPLcom/android/server/CountryDetectorService;->setCountryListener(Landroid/location/CountryListener;)V
-HSPLcom/android/server/CountryDetectorService;->systemRunning()V
-HSPLcom/android/server/DeviceIdleController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController$2;->onAlarm()V
-PLcom/android/server/DeviceIdleController$4;->onAlarm()V
-PLcom/android/server/DeviceIdleController$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController$7;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/DeviceIdleController$8;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/DeviceIdleController$9;->onAwakeStateChanged(Z)V
-HSPLcom/android/server/DeviceIdleController$9;->onKeyguardStateChanged(Z)V
-PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
-PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistAppForMms(Ljava/lang/String;ILjava/lang/String;)J
-PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistAppForSms(Ljava/lang/String;ILjava/lang/String;)J
-PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveWhitelistApp(Ljava/lang/String;)V
-PLcom/android/server/DeviceIdleController$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/DeviceIdleController$BinderService;->exitIdle(Ljava/lang/String;)V
-HSPLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelist()[I
-HSPLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelistExceptIdle()[I
-PLcom/android/server/DeviceIdleController$BinderService;->getFullPowerWhitelist()[Ljava/lang/String;
-PLcom/android/server/DeviceIdleController$BinderService;->getSystemPowerWhitelist()[Ljava/lang/String;
-PLcom/android/server/DeviceIdleController$BinderService;->getSystemPowerWhitelistExceptIdle()[Ljava/lang/String;
-PLcom/android/server/DeviceIdleController$BinderService;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
-HSPLcom/android/server/DeviceIdleController$BinderService;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-HSPLcom/android/server/DeviceIdleController$Constants;-><init>(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)V
-PLcom/android/server/DeviceIdleController$Constants;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/DeviceIdleController$Constants;->updateConstants()V
-HSPLcom/android/server/DeviceIdleController$Injector;->getAlarmManager()Landroid/app/AlarmManager;
-HSPLcom/android/server/DeviceIdleController$Injector;->getAnyMotionDetector(Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)Lcom/android/server/AnyMotionDetector;
-HSPLcom/android/server/DeviceIdleController$Injector;->getAppStateTracker(Landroid/content/Context;Landroid/os/Looper;)Lcom/android/server/AppStateTracker;
-HSPLcom/android/server/DeviceIdleController$Injector;->getConnectivityService()Lcom/android/server/ConnectivityService;
-HSPLcom/android/server/DeviceIdleController$Injector;->getConstants(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)Lcom/android/server/DeviceIdleController$Constants;
-HSPLcom/android/server/DeviceIdleController$Injector;->getConstraintController(Landroid/os/Handler;Lcom/android/server/DeviceIdleController$LocalService;)Lcom/android/server/deviceidle/ConstraintController;
-HSPLcom/android/server/DeviceIdleController$Injector;->getHandler(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$MyHandler;
-PLcom/android/server/DeviceIdleController$Injector;->getLocationManager()Landroid/location/LocationManager;
-HSPLcom/android/server/DeviceIdleController$Injector;->getPowerManager()Landroid/os/PowerManager;
-HSPLcom/android/server/DeviceIdleController$Injector;->getSensorManager()Landroid/hardware/SensorManager;
-HSPLcom/android/server/DeviceIdleController$Injector;->useMotionSensor()Z
-PLcom/android/server/DeviceIdleController$LocalService;->addPowerSaveTempWhitelistApp(ILjava/lang/String;JIZLjava/lang/String;)V
-PLcom/android/server/DeviceIdleController$LocalService;->addPowerSaveTempWhitelistAppDirect(IJZLjava/lang/String;)V
-HSPLcom/android/server/DeviceIdleController$LocalService;->getNotificationWhitelistDuration()J
-HSPLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveTempWhitelistAppIds()[I
-HSPLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveWhitelistUserAppIds()[I
-HSPLcom/android/server/DeviceIdleController$LocalService;->setAlarmsActive(Z)V
-HSPLcom/android/server/DeviceIdleController$LocalService;->setJobsActive(Z)V
-PLcom/android/server/DeviceIdleController$MotionListener;->onTrigger(Landroid/hardware/TriggerEvent;)V
-PLcom/android/server/DeviceIdleController$MotionListener;->registerLocked()Z
-PLcom/android/server/DeviceIdleController$MotionListener;->unregisterLocked()V
-HSPLcom/android/server/DeviceIdleController$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;Lcom/android/server/DeviceIdleController$Injector;)V
-HSPLcom/android/server/DeviceIdleController;->addEvent(ILjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppChecked(Ljava/lang/String;JILjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppDirectInternal(IIJZLjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppInternal(ILjava/lang/String;JIZLjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->addPowerSaveWhitelistAppInternal(Ljava/lang/String;)Z
-HSPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;IJZ)V
-HSPLcom/android/server/DeviceIdleController;->becomeInactiveIfAppropriateLocked()V
-HSPLcom/android/server/DeviceIdleController;->buildAppIdArray(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/SparseBooleanArray;)[I
-HSPLcom/android/server/DeviceIdleController;->cancelAlarmLocked()V
-HSPLcom/android/server/DeviceIdleController;->cancelLightAlarmLocked()V
-HSPLcom/android/server/DeviceIdleController;->cancelLocatingLocked()V
-HSPLcom/android/server/DeviceIdleController;->cancelSensingTimeoutAlarmLocked()V
-PLcom/android/server/DeviceIdleController;->checkTempAppWhitelistTimeout(I)V
-PLcom/android/server/DeviceIdleController;->decActiveIdleOps()V
-PLcom/android/server/DeviceIdleController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->dumpTempWhitelistSchedule(Ljava/io/PrintWriter;Z)V
-PLcom/android/server/DeviceIdleController;->exitIdleInternal(Ljava/lang/String;)V
-HSPLcom/android/server/DeviceIdleController;->exitMaintenanceEarlyIfNeededLocked()V
-HSPLcom/android/server/DeviceIdleController;->getAppIdTempWhitelistInternal()[I
-HSPLcom/android/server/DeviceIdleController;->getAppIdWhitelistExceptIdleInternal()[I
-HSPLcom/android/server/DeviceIdleController;->getAppIdWhitelistInternal()[I
-PLcom/android/server/DeviceIdleController;->getFullPowerWhitelistInternal()[Ljava/lang/String;
-HSPLcom/android/server/DeviceIdleController;->getPowerSaveWhitelistUserAppIds()[I
-PLcom/android/server/DeviceIdleController;->getSystemPowerWhitelistExceptIdleInternal()[Ljava/lang/String;
-PLcom/android/server/DeviceIdleController;->getSystemPowerWhitelistInternal()[Ljava/lang/String;
-PLcom/android/server/DeviceIdleController;->handleMotionDetectedLocked(JLjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->incActiveIdleOps()V
-PLcom/android/server/DeviceIdleController;->isOpsInactiveLocked()Z
-PLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistAppInternal(Ljava/lang/String;)Z
-HSPLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistExceptIdleAppInternal(Ljava/lang/String;)Z
-HSPLcom/android/server/DeviceIdleController;->keyguardShowingLocked(Z)V
-HSPLcom/android/server/DeviceIdleController;->lambda$onBootPhase$0$DeviceIdleController(Landroid/os/PowerSaveState;)V
-PLcom/android/server/DeviceIdleController;->lightStateToString(I)Ljava/lang/String;
-PLcom/android/server/DeviceIdleController;->motionLocked()V
-PLcom/android/server/DeviceIdleController;->onAnyMotionResult(I)V
-PLcom/android/server/DeviceIdleController;->onAppRemovedFromTempWhitelistLocked(ILjava/lang/String;)V
-HSPLcom/android/server/DeviceIdleController;->onBootPhase(I)V
-HSPLcom/android/server/DeviceIdleController;->onStart()V
-HSPLcom/android/server/DeviceIdleController;->readConfigFileLocked()V
-HSPLcom/android/server/DeviceIdleController;->readConfigFileLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/DeviceIdleController;->receivedGenericLocationLocked(Landroid/location/Location;)V
-PLcom/android/server/DeviceIdleController;->receivedGpsLocationLocked(Landroid/location/Location;)V
-HSPLcom/android/server/DeviceIdleController;->removePowerSaveWhitelistAppInternal(Ljava/lang/String;)Z
-HSPLcom/android/server/DeviceIdleController;->reportMaintenanceActivityIfNeededLocked()V
-HSPLcom/android/server/DeviceIdleController;->scheduleAlarmLocked(JZ)V
-HSPLcom/android/server/DeviceIdleController;->scheduleLightAlarmLocked(J)V
-HSPLcom/android/server/DeviceIdleController;->scheduleReportActiveLocked(Ljava/lang/String;I)V
-PLcom/android/server/DeviceIdleController;->scheduleSensingTimeoutAlarmLocked(J)V
-HSPLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V
-HSPLcom/android/server/DeviceIdleController;->setJobsActive(Z)V
-PLcom/android/server/DeviceIdleController;->startMonitoringMotionLocked()V
-PLcom/android/server/DeviceIdleController;->stateToString(I)Ljava/lang/String;
-PLcom/android/server/DeviceIdleController;->stepIdleStateLocked(Ljava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->stepLightIdleStateLocked(Ljava/lang/String;)V
-HSPLcom/android/server/DeviceIdleController;->stopMonitoringMotionLocked()V
-HSPLcom/android/server/DeviceIdleController;->updateActiveConstraintsLocked()V
-HSPLcom/android/server/DeviceIdleController;->updateChargingLocked(Z)V
-HSPLcom/android/server/DeviceIdleController;->updateConnectivityState(Landroid/content/Intent;)V
-HSPLcom/android/server/DeviceIdleController;->updateInteractivityLocked()V
-HSPLcom/android/server/DeviceIdleController;->updateQuickDozeFlagLocked(Z)V
-PLcom/android/server/DeviceIdleController;->updateTempWhitelistAppIdsLocked(IZ)V
-HSPLcom/android/server/DeviceIdleController;->updateWhitelistAppIdsLocked()V
-HSPLcom/android/server/DeviceIdleController;->verifyAlarmStateLocked()V
-HSPLcom/android/server/DiskStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/CountryDetectorService;->run()V
+PLcom/android/server/CountryDetectorService;->systemRunning()V
+PLcom/android/server/DiskStatsService;-><init>(Landroid/content/Context;)V
PLcom/android/server/DiskStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
PLcom/android/server/DiskStatsService;->getRecentPerf()I
PLcom/android/server/DiskStatsService;->reportCachedValues(Ljava/io/PrintWriter;)V
-PLcom/android/server/DiskStatsService;->reportCachedValuesProto(Landroid/util/proto/ProtoOutputStream;)V
PLcom/android/server/DiskStatsService;->reportDiskWriteSpeed(Ljava/io/PrintWriter;)V
-PLcom/android/server/DiskStatsService;->reportDiskWriteSpeedProto(Landroid/util/proto/ProtoOutputStream;)V
PLcom/android/server/DiskStatsService;->reportFreeSpace(Ljava/io/File;Ljava/lang/String;Ljava/io/PrintWriter;Landroid/util/proto/ProtoOutputStream;I)V
+HSPLcom/android/server/DisplayThread;-><init>()V
HSPLcom/android/server/DisplayThread;->ensureThreadLocked()V
HSPLcom/android/server/DisplayThread;->get()Lcom/android/server/DisplayThread;
HSPLcom/android/server/DisplayThread;->getHandler()Landroid/os/Handler;
-PLcom/android/server/DockObserver$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/DockObserver;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/DockObserver;->init()V
-HSPLcom/android/server/DockObserver;->onBootPhase(I)V
-HSPLcom/android/server/DockObserver;->onStart()V
-HSPLcom/android/server/DropBoxManagerService$1$1;->run()V
-HSPLcom/android/server/DropBoxManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/DropBoxManagerService$2;->add(Landroid/os/DropBoxManager$Entry;)V
-PLcom/android/server/DropBoxManagerService$2;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/DockObserver$1;-><init>(Lcom/android/server/DockObserver;Z)V
+PLcom/android/server/DockObserver$2;-><init>(Lcom/android/server/DockObserver;)V
+PLcom/android/server/DockObserver$BinderService;-><init>(Lcom/android/server/DockObserver;)V
+PLcom/android/server/DockObserver$BinderService;-><init>(Lcom/android/server/DockObserver;Lcom/android/server/DockObserver$1;)V
+PLcom/android/server/DockObserver;-><init>(Landroid/content/Context;)V
+PLcom/android/server/DockObserver;->init()V
+PLcom/android/server/DockObserver;->onBootPhase(I)V
+PLcom/android/server/DockObserver;->onStart()V
+PLcom/android/server/DropBoxManagerService$1$1;-><init>(Lcom/android/server/DropBoxManagerService$1;)V
+PLcom/android/server/DropBoxManagerService$1$1;->run()V
+PLcom/android/server/DropBoxManagerService$1;-><init>(Lcom/android/server/DropBoxManagerService;)V
+PLcom/android/server/DropBoxManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/DropBoxManagerService$2;-><init>(Lcom/android/server/DropBoxManagerService;)V
+PLcom/android/server/DropBoxManagerService$2;->add(Landroid/os/DropBoxManager$Entry;)V
PLcom/android/server/DropBoxManagerService$2;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
-HSPLcom/android/server/DropBoxManagerService$2;->isTagEnabled(Ljava/lang/String;)Z
-HSPLcom/android/server/DropBoxManagerService$3;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/DropBoxManagerService$4;->onChange(Z)V
-HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(J)V
-HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;I)V
-HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/lang/String;JII)V
-HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/lang/String;J)V
-HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I
-HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String;
-HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFile(Ljava/io/File;)Ljava/io/File;
-HSPLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String;
-HSPLcom/android/server/DropBoxManagerService$FileList;->compareTo(Lcom/android/server/DropBoxManagerService$FileList;)I
-HSPLcom/android/server/DropBoxManagerService$FileList;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
-HSPLcom/android/server/DropBoxManagerService;->add(Landroid/os/DropBoxManager$Entry;)V
+PLcom/android/server/DropBoxManagerService$2;->isTagEnabled(Ljava/lang/String;)Z
+PLcom/android/server/DropBoxManagerService$3;-><init>(Lcom/android/server/DropBoxManagerService;Landroid/os/Handler;)V
+PLcom/android/server/DropBoxManagerService$3;->onChange(Z)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;-><init>(Lcom/android/server/DropBoxManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->createIntent(Ljava/lang/String;J)Landroid/content/Intent;
+PLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->maybeDeferBroadcast(Ljava/lang/String;J)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->prepareAndSendBroadcast(Landroid/content/Intent;)V
+PLcom/android/server/DropBoxManagerService$DropBoxManagerBroadcastHandler;->sendBroadcast(Ljava/lang/String;J)V
+PLcom/android/server/DropBoxManagerService$EntryFile;-><init>(J)V
+PLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;I)V
+PLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/lang/String;JII)V
+HPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I
+HPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String;
+PLcom/android/server/DropBoxManagerService$EntryFile;->getFile(Ljava/io/File;)Ljava/io/File;
+PLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String;
+PLcom/android/server/DropBoxManagerService$EntryFile;->hasFile()Z
+PLcom/android/server/DropBoxManagerService$FileList;-><init>()V
+PLcom/android/server/DropBoxManagerService$FileList;-><init>(Lcom/android/server/DropBoxManagerService$1;)V
+PLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+PLcom/android/server/DropBoxManagerService;->access$002(Lcom/android/server/DropBoxManagerService;J)J
+PLcom/android/server/DropBoxManagerService;->access$100(Lcom/android/server/DropBoxManagerService;)V
+PLcom/android/server/DropBoxManagerService;->access$1000(Lcom/android/server/DropBoxManagerService;)Landroid/content/BroadcastReceiver;
+PLcom/android/server/DropBoxManagerService;->access$200(Lcom/android/server/DropBoxManagerService;)J
+PLcom/android/server/DropBoxManagerService;->access$800(Lcom/android/server/DropBoxManagerService;)Z
+PLcom/android/server/DropBoxManagerService;->access$900(Lcom/android/server/DropBoxManagerService;)J
+PLcom/android/server/DropBoxManagerService;->add(Landroid/os/DropBoxManager$Entry;)V
PLcom/android/server/DropBoxManagerService;->checkPermission(ILjava/lang/String;)Z
-HSPLcom/android/server/DropBoxManagerService;->createEntry(Ljava/io/File;Ljava/lang/String;I)J
-PLcom/android/server/DropBoxManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/DropBoxManagerService$EntryFile;)V
-PLcom/android/server/DropBoxManagerService;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
-HSPLcom/android/server/DropBoxManagerService;->init()V
-HSPLcom/android/server/DropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
-HSPLcom/android/server/DropBoxManagerService;->onBootPhase(I)V
-HSPLcom/android/server/DropBoxManagerService;->onStart()V
-HSPLcom/android/server/DropBoxManagerService;->trimToFit()J
-HSPLcom/android/server/DynamicSystemService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/DynamicSystemService;->connect(Landroid/os/IBinder$DeathRecipient;)Landroid/gsi/IGsiService;
+PLcom/android/server/DropBoxManagerService;->createEntry(Ljava/io/File;Ljava/lang/String;I)J
+PLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/DropBoxManagerService$EntryFile;)V
+PLcom/android/server/DropBoxManagerService;->getLowPriorityResourceConfigs()V
+HPLcom/android/server/DropBoxManagerService;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
+PLcom/android/server/DropBoxManagerService;->init()V
+PLcom/android/server/DropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
+PLcom/android/server/DropBoxManagerService;->onBootPhase(I)V
+PLcom/android/server/DropBoxManagerService;->onStart()V
+PLcom/android/server/DropBoxManagerService;->trimToFit()J
+PLcom/android/server/DynamicSystemService;-><init>(Landroid/content/Context;)V
PLcom/android/server/DynamicSystemService;->getGsiService()Landroid/gsi/IGsiService;
PLcom/android/server/DynamicSystemService;->isInUse()Z
-PLcom/android/server/DynamicSystemService;->isInstalled()Z
-PLcom/android/server/EntropyMixer$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/EntropyMixer$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/EntropyMixer;->addDeviceSpecificEntropy()V
-HSPLcom/android/server/EntropyMixer;->addHwRandomEntropy()V
-HSPLcom/android/server/EntropyMixer;->loadInitialEntropy()V
-HSPLcom/android/server/EntropyMixer;->writeEntropy()V
-HSPLcom/android/server/EventLogTags;->writeBatterySaverMode(IIIIILjava/lang/String;I)V
-HSPLcom/android/server/EventLogTags;->writeBatterySavingStats(IIIJIIJII)V
-PLcom/android/server/EventLogTags;->writeDeviceIdleWakeFromIdle(ILjava/lang/String;)V
-HSPLcom/android/server/EventLogTags;->writeNetstatsMobileSample(JJJJJJJJJJJJJ)V
-HSPLcom/android/server/EventLogTags;->writeNetstatsWifiSample(JJJJJJJJJJJJJ)V
-PLcom/android/server/EventLogTags;->writeNotificationActionClicked(Ljava/lang/String;IIIIII)V
-HSPLcom/android/server/EventLogTags;->writeNotificationAlert(Ljava/lang/String;III)V
-PLcom/android/server/EventLogTags;->writeNotificationCancel(IILjava/lang/String;ILjava/lang/String;IIIILjava/lang/String;)V
-HSPLcom/android/server/EventLogTags;->writeNotificationCancelAll(IILjava/lang/String;IIIILjava/lang/String;)V
-HSPLcom/android/server/EventLogTags;->writeNotificationCanceled(Ljava/lang/String;IIIIIILjava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeNotificationClicked(Ljava/lang/String;IIIII)V
-HSPLcom/android/server/EventLogTags;->writeNotificationEnqueue(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/EntropyMixer$1;-><init>(Lcom/android/server/EntropyMixer;Landroid/os/Looper;)V
+PLcom/android/server/EntropyMixer$2;-><init>(Lcom/android/server/EntropyMixer;)V
+PLcom/android/server/EntropyMixer$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/EntropyMixer;-><clinit>()V
+PLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;)V
+PLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/EntropyMixer;->addDeviceSpecificEntropy()V
+PLcom/android/server/EntropyMixer;->addHwRandomEntropy()V
+PLcom/android/server/EntropyMixer;->getSystemDir()Ljava/lang/String;
+PLcom/android/server/EntropyMixer;->loadInitialEntropy()V
+PLcom/android/server/EntropyMixer;->scheduleEntropyWriter()V
+PLcom/android/server/EntropyMixer;->writeEntropy()V
+PLcom/android/server/EventLogTags;->writeBatterySavingStats(IIIJIIJII)V
+PLcom/android/server/EventLogTags;->writeDeviceIdle(ILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeDeviceIdleLight(ILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeDeviceIdleLightStep()V
+PLcom/android/server/EventLogTags;->writeDeviceIdleOffComplete()V
+PLcom/android/server/EventLogTags;->writeDeviceIdleOffStart(Ljava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeDeviceIdleOnComplete()V
+PLcom/android/server/EventLogTags;->writeDeviceIdleOnStart()V
+PLcom/android/server/EventLogTags;->writeDeviceIdleStep()V
+PLcom/android/server/EventLogTags;->writeNetstatsMobileSample(JJJJJJJJJJJJJ)V
+PLcom/android/server/EventLogTags;->writeNetstatsWifiSample(JJJJJJJJJJJJJ)V
+PLcom/android/server/EventLogTags;->writeNotificationAlert(Ljava/lang/String;III)V
+PLcom/android/server/EventLogTags;->writeNotificationCancelAll(IILjava/lang/String;IIIILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeNotificationCanceled(Ljava/lang/String;IIIIIILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeNotificationEnqueue(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/EventLogTags;->writeNotificationPanelHidden()V
+PLcom/android/server/EventLogTags;->writeNotificationPanelRevealed(I)V
PLcom/android/server/EventLogTags;->writeNotificationVisibility(Ljava/lang/String;IIIII)V
+HSPLcom/android/server/EventLogTags;->writePmCriticalInfo(Ljava/lang/String;)V
PLcom/android/server/EventLogTags;->writePowerScreenState(IIJII)V
-HSPLcom/android/server/EventLogTags;->writeStorageState(Ljava/lang/String;IIJJ)V
-HSPLcom/android/server/EventLogTags;->writeVolumeChanged(IIIILjava/lang/String;)V
-HSPLcom/android/server/ExtconStateObserver;->parseStateFromFile(Lcom/android/server/ExtconUEventObserver$ExtconInfo;)Ljava/lang/Object;
-HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;->getDevicePath()Ljava/lang/String;
-HSPLcom/android/server/ExtconUEventObserver$ExtconInfo;->getExtconInfos(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/ExtconUEventObserver;->startObserving(Lcom/android/server/ExtconUEventObserver$ExtconInfo;)V
+PLcom/android/server/EventLogTags;->writePowerSleepRequested(I)V
+PLcom/android/server/EventLogTags;->writeStorageState(Ljava/lang/String;IIJJ)V
+PLcom/android/server/EventLogTags;->writeStreamDevicesChanged(III)V
+PLcom/android/server/EventLogTags;->writeUserActivityTimeoutOverride(J)V
+PLcom/android/server/EventLogTags;->writeVolumeChanged(IIIILjava/lang/String;)V
+PLcom/android/server/ExplicitHealthCheckController$1;-><init>(Lcom/android/server/ExplicitHealthCheckController;)V
+PLcom/android/server/ExplicitHealthCheckController$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLcom/android/server/ExplicitHealthCheckController;-><init>(Landroid/content/Context;)V
+PLcom/android/server/ExplicitHealthCheckController;->access$000(Lcom/android/server/ExplicitHealthCheckController;Landroid/os/IBinder;)V
+PLcom/android/server/ExplicitHealthCheckController;->actOnDifference(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController;->bindService()V
+PLcom/android/server/ExplicitHealthCheckController;->getRequestedPackages(Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController;->getServiceComponentNameLocked()Landroid/content/ComponentName;
+PLcom/android/server/ExplicitHealthCheckController;->getServiceInfoLocked()Landroid/content/pm/ServiceInfo;
+PLcom/android/server/ExplicitHealthCheckController;->getSupportedPackages(Ljava/util/function/Consumer;)V
+PLcom/android/server/ExplicitHealthCheckController;->initState(Landroid/os/IBinder;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$getRequestedPackages$5(Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$getSupportedPackages$4(Ljava/util/function/Consumer;Landroid/os/Bundle;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$syncRequests$2$ExplicitHealthCheckController(Ljava/util/List;Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/ExplicitHealthCheckController;->lambda$syncRequests$3$ExplicitHealthCheckController(Ljava/util/Set;Ljava/util/List;)V
+PLcom/android/server/ExplicitHealthCheckController;->prepareServiceLocked(Ljava/lang/String;)Z
+PLcom/android/server/ExplicitHealthCheckController;->setCallbacks(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/lang/Runnable;)V
+PLcom/android/server/ExplicitHealthCheckController;->setEnabled(Z)V
+PLcom/android/server/ExplicitHealthCheckController;->syncRequests(Ljava/util/Set;)V
+PLcom/android/server/ExplicitHealthCheckController;->unbindService()V
+PLcom/android/server/ExtconStateObserver;-><init>()V
+PLcom/android/server/ExtconUEventObserver$ExtconInfo;->getExtconInfos(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/ExtconUEventObserver;-><init>()V
+PLcom/android/server/ExtconUEventObserver;->extconExists()Z
+PLcom/android/server/ExtconUEventObserver;->namedExtconDirExists(Ljava/lang/String;)Z
+HSPLcom/android/server/FgThread;-><init>()V
HSPLcom/android/server/FgThread;->ensureThreadLocked()V
HSPLcom/android/server/FgThread;->get()Lcom/android/server/FgThread;
-HSPLcom/android/server/FgThread;->getExecutor()Ljava/util/concurrent/Executor;
+PLcom/android/server/FgThread;->getExecutor()Ljava/util/concurrent/Executor;
HSPLcom/android/server/FgThread;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/GestureLauncherService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;Lcom/android/internal/logging/MetricsLogger;)V
-PLcom/android/server/GestureLauncherService;->handleCameraGesture(ZI)Z
+PLcom/android/server/GestureLauncherService$1;-><init>(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/GestureLauncherService$2;-><init>(Lcom/android/server/GestureLauncherService;Landroid/os/Handler;)V
+PLcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;-><init>(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;-><init>(Lcom/android/server/GestureLauncherService;Lcom/android/server/GestureLauncherService$1;)V
+PLcom/android/server/GestureLauncherService$GestureEventListener;-><init>(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService$GestureEventListener;-><init>(Lcom/android/server/GestureLauncherService;Lcom/android/server/GestureLauncherService$1;)V
+PLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;Lcom/android/internal/logging/MetricsLogger;)V
+PLcom/android/server/GestureLauncherService;->access$202(Lcom/android/server/GestureLauncherService;I)I
+PLcom/android/server/GestureLauncherService;->access$300(Lcom/android/server/GestureLauncherService;)Landroid/database/ContentObserver;
+PLcom/android/server/GestureLauncherService;->access$400(Lcom/android/server/GestureLauncherService;)Landroid/content/Context;
+PLcom/android/server/GestureLauncherService;->access$500(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/GestureLauncherService;->access$600(Lcom/android/server/GestureLauncherService;)V
PLcom/android/server/GestureLauncherService;->interceptPowerKeyDown(Landroid/view/KeyEvent;ZLandroid/util/MutableBoolean;)Z
-HSPLcom/android/server/GestureLauncherService;->isGestureLauncherEnabled(Landroid/content/res/Resources;)Z
-HSPLcom/android/server/GestureLauncherService;->onBootPhase(I)V
-HSPLcom/android/server/GestureLauncherService;->onStart()V
-HSPLcom/android/server/GestureLauncherService;->registerContentObservers()V
-HSPLcom/android/server/GestureLauncherService;->unregisterCameraLaunchGesture()V
-HSPLcom/android/server/GestureLauncherService;->updateCameraDoubleTapPowerEnabled()V
-HSPLcom/android/server/GestureLauncherService;->updateCameraRegistered()V
-HSPLcom/android/server/GraphicsStatsService$1;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/GraphicsStatsService$ActiveBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)V
-HSPLcom/android/server/GraphicsStatsService$ActiveBuffer;->binderDied()V
-HSPLcom/android/server/GraphicsStatsService$HistoricalBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
-HSPLcom/android/server/GraphicsStatsService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/GraphicsStatsService;->addToSaveQueue(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
+PLcom/android/server/GestureLauncherService;->isCameraDoubleTapPowerEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isCameraDoubleTapPowerSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isCameraLaunchEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isCameraLaunchSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isCameraLiftTriggerEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->isCameraLiftTriggerSettingEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/GestureLauncherService;->isGestureLauncherEnabled(Landroid/content/res/Resources;)Z
+PLcom/android/server/GestureLauncherService;->onBootPhase(I)V
+PLcom/android/server/GestureLauncherService;->onStart()V
+PLcom/android/server/GestureLauncherService;->registerContentObservers()V
+PLcom/android/server/GestureLauncherService;->unregisterCameraLaunchGesture()V
+PLcom/android/server/GestureLauncherService;->unregisterCameraLiftTrigger()V
+PLcom/android/server/GestureLauncherService;->updateCameraDoubleTapPowerEnabled()V
+PLcom/android/server/GestureLauncherService;->updateCameraRegistered()V
+PLcom/android/server/GnssManagerService;-><clinit>()V
+PLcom/android/server/GnssManagerService;-><init>(Lcom/android/server/LocationManagerService;Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Lcom/android/server/LocationUsageLogger;)V
+PLcom/android/server/GnssManagerService;-><init>(Lcom/android/server/LocationManagerService;Landroid/content/Context;Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/LocationUsageLogger;)V
+PLcom/android/server/GnssManagerService;->addGnssDataListenerLocked(Landroid/os/IInterface;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;Ljava/util/function/Consumer;)Z
+PLcom/android/server/GnssManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/GnssManagerService;->getGnssLocationProvider()Lcom/android/server/location/GnssLocationProvider;
+PLcom/android/server/GnssManagerService;->getGpsGeofenceProxy()Landroid/location/IGpsGeofenceHardware;
+PLcom/android/server/GnssManagerService;->hasGnssPermissions(Ljava/lang/String;)Z
+PLcom/android/server/GnssManagerService;->isGnssSupported()Z
+PLcom/android/server/GnssManagerService;->lambda$registerUidListener$1$GnssManagerService(II)V
+PLcom/android/server/GnssManagerService;->lambda$registerUidListener$2$GnssManagerService(II)V
+PLcom/android/server/GnssManagerService;->onForegroundChanged(IZ)V
+PLcom/android/server/GnssManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/GnssManagerService;->registerUidListener()V
+PLcom/android/server/GnssManagerService;->removeGnssDataListener(Landroid/os/IInterface;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;)V
+PLcom/android/server/GnssManagerService;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
+HPLcom/android/server/GnssManagerService;->updateListenersOnForegroundChangedLocked(Landroid/util/ArrayMap;Lcom/android/server/location/RemoteListenerHelper;Ljava/util/function/Function;IZ)V
+PLcom/android/server/GraphicsStatsService$1;-><init>(Lcom/android/server/GraphicsStatsService;)V
+PLcom/android/server/GraphicsStatsService$1;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/GraphicsStatsService$ActiveBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)V
+PLcom/android/server/GraphicsStatsService$ActiveBuffer;->binderDied()V
+PLcom/android/server/GraphicsStatsService$BufferInfo;-><init>(Lcom/android/server/GraphicsStatsService;Ljava/lang/String;JJ)V
+PLcom/android/server/GraphicsStatsService$HistoricalBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
+PLcom/android/server/GraphicsStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/GraphicsStatsService;->access$200(Lcom/android/server/GraphicsStatsService;)I
+PLcom/android/server/GraphicsStatsService;->access$300(Lcom/android/server/GraphicsStatsService;)[B
+PLcom/android/server/GraphicsStatsService;->addToSaveQueue(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
PLcom/android/server/GraphicsStatsService;->deleteOldBuffers()V
-PLcom/android/server/GraphicsStatsService;->deleteRecursiveLocked(Ljava/io/File;)V
-PLcom/android/server/GraphicsStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/GraphicsStatsService;->dumpActiveLocked(JLjava/util/ArrayList;)Ljava/util/HashSet;
-PLcom/android/server/GraphicsStatsService;->dumpHistoricalLocked(JLjava/util/HashSet;)V
-HSPLcom/android/server/GraphicsStatsService;->fetchActiveBuffersLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Lcom/android/server/GraphicsStatsService$ActiveBuffer;
-HSPLcom/android/server/GraphicsStatsService;->getPfd(Landroid/os/MemoryFile;)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/GraphicsStatsService;->normalizeDate(J)Ljava/util/Calendar;
-HSPLcom/android/server/GraphicsStatsService;->onAlarm()V
-HSPLcom/android/server/GraphicsStatsService;->pathForApp(Lcom/android/server/GraphicsStatsService$BufferInfo;)Ljava/io/File;
-HSPLcom/android/server/GraphicsStatsService;->processDied(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
-HSPLcom/android/server/GraphicsStatsService;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/GraphicsStatsService;->saveBuffer(Lcom/android/server/GraphicsStatsService$HistoricalBuffer;)V
-HSPLcom/android/server/GraphicsStatsService;->scheduleRotateLocked()V
-HSPLcom/android/server/HardwarePropertiesManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/HardwarePropertiesManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/HardwarePropertiesManagerService;->dumpTempValues(Ljava/lang/String;Ljava/io/PrintWriter;ILjava/lang/String;)V
-HSPLcom/android/server/HardwarePropertiesManagerService;->enforceHardwarePropertiesRetrievalAllowed(Ljava/lang/String;)V
-PLcom/android/server/HardwarePropertiesManagerService;->getCpuUsages(Ljava/lang/String;)[Landroid/os/CpuUsageInfo;
-HSPLcom/android/server/HardwarePropertiesManagerService;->getDeviceTemperatures(Ljava/lang/String;II)[F
-PLcom/android/server/HardwarePropertiesManagerService;->getFanSpeeds(Ljava/lang/String;)[F
+PLcom/android/server/GraphicsStatsService;->fetchActiveBuffersLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Lcom/android/server/GraphicsStatsService$ActiveBuffer;
+PLcom/android/server/GraphicsStatsService;->getPfd(Landroid/os/MemoryFile;)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/GraphicsStatsService;->normalizeDate(J)Ljava/util/Calendar;
+PLcom/android/server/GraphicsStatsService;->onAlarm()V
+PLcom/android/server/GraphicsStatsService;->pathForApp(Lcom/android/server/GraphicsStatsService$BufferInfo;)Ljava/io/File;
+PLcom/android/server/GraphicsStatsService;->processDied(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
+PLcom/android/server/GraphicsStatsService;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/GraphicsStatsService;->requestBufferForProcessLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/GraphicsStatsService;->saveBuffer(Lcom/android/server/GraphicsStatsService$HistoricalBuffer;)V
+PLcom/android/server/GraphicsStatsService;->scheduleRotateLocked()V
+PLcom/android/server/HardwarePropertiesManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/HardwarePropertiesManagerService;->enforceHardwarePropertiesRetrievalAllowed(Ljava/lang/String;)V
+PLcom/android/server/HardwarePropertiesManagerService;->getDeviceTemperatures(Ljava/lang/String;II)[F
HSPLcom/android/server/IntentResolver$1;-><init>()V
-HSPLcom/android/server/IntentResolver$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/IntentResolver$IteratorWrapper;->hasNext()Z
-HSPLcom/android/server/IntentResolver$IteratorWrapper;->next()Landroid/content/IntentFilter;
-HSPLcom/android/server/IntentResolver$IteratorWrapper;->next()Ljava/lang/Object;
+HPLcom/android/server/IntentResolver$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/IntentResolver;-><clinit>()V
HSPLcom/android/server/IntentResolver;-><init>()V
HSPLcom/android/server/IntentResolver;->addFilter(Landroid/content/IntentFilter;)V
HSPLcom/android/server/IntentResolver;->addFilter(Landroid/util/ArrayMap;Ljava/lang/String;Landroid/content/IntentFilter;)V
-HSPLcom/android/server/IntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+PLcom/android/server/IntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
HSPLcom/android/server/IntentResolver;->buildResolveList(Landroid/content/Intent;Landroid/util/FastImmutableArraySet;ZZLjava/lang/String;Ljava/lang/String;[Landroid/content/IntentFilter;Ljava/util/List;I)V
HSPLcom/android/server/IntentResolver;->collectFilters([Landroid/content/IntentFilter;Landroid/content/IntentFilter;)Ljava/util/ArrayList;
-PLcom/android/server/IntentResolver;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Z
-PLcom/android/server/IntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/content/IntentFilter;)V
-PLcom/android/server/IntentResolver;->dumpMap(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArrayMap;Ljava/lang/String;ZZ)Z
HSPLcom/android/server/IntentResolver;->filterEquals(Landroid/content/IntentFilter;Landroid/content/IntentFilter;)Z
-HSPLcom/android/server/IntentResolver;->filterIterator()Ljava/util/Iterator;
HSPLcom/android/server/IntentResolver;->filterResults(Ljava/util/List;)V
HSPLcom/android/server/IntentResolver;->filterSet()Ljava/util/Set;
HSPLcom/android/server/IntentResolver;->findFilters(Landroid/content/IntentFilter;)Ljava/util/ArrayList;
-HSPLcom/android/server/IntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
-HSPLcom/android/server/IntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+HSPLcom/android/server/IntentResolver;->getFastIntentCategories(Landroid/content/Intent;)Landroid/util/FastImmutableArraySet;
+HPLcom/android/server/IntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
+PLcom/android/server/IntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
HSPLcom/android/server/IntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;
-HSPLcom/android/server/IntentResolver;->queryIntentFromList(Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;I)Ljava/util/List;
+HPLcom/android/server/IntentResolver;->queryIntentFromList(Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;I)Ljava/util/List;
+HSPLcom/android/server/IntentResolver;->register_intent_filter(Landroid/content/IntentFilter;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I
HSPLcom/android/server/IntentResolver;->register_mime_types(Landroid/content/IntentFilter;Ljava/lang/String;)I
-HSPLcom/android/server/IntentResolver;->removeFilter(Landroid/content/IntentFilter;)V
-HSPLcom/android/server/IntentResolver;->removeFilterInternal(Landroid/content/IntentFilter;)V
-HSPLcom/android/server/IntentResolver;->remove_all_objects(Landroid/util/ArrayMap;Ljava/lang/String;Ljava/lang/Object;)V
-HSPLcom/android/server/IntentResolver;->sortResults(Ljava/util/List;)V
-HSPLcom/android/server/IntentResolver;->unregister_mime_types(Landroid/content/IntentFilter;Ljava/lang/String;)I
-PLcom/android/server/IntentResolver;->writeProtoMap(Landroid/util/proto/ProtoOutputStream;JLandroid/util/ArrayMap;)V
-PLcom/android/server/IntentResolver;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/IntentResolver;->removeFilter(Landroid/content/IntentFilter;)V
+HPLcom/android/server/IntentResolver;->removeFilterInternal(Landroid/content/IntentFilter;)V
+HPLcom/android/server/IntentResolver;->remove_all_objects(Landroid/util/ArrayMap;Ljava/lang/String;Ljava/lang/Object;)V
+HPLcom/android/server/IntentResolver;->sortResults(Ljava/util/List;)V
+HPLcom/android/server/IntentResolver;->unregister_intent_filter(Landroid/content/IntentFilter;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I
+HPLcom/android/server/IntentResolver;->unregister_mime_types(Landroid/content/IntentFilter;Ljava/lang/String;)I
+HSPLcom/android/server/IoThread;-><init>()V
HSPLcom/android/server/IoThread;->ensureThreadLocked()V
HSPLcom/android/server/IoThread;->get()Lcom/android/server/IoThread;
HSPLcom/android/server/IoThread;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/IpSecService$1;->run()V
-HSPLcom/android/server/IpSecService$IpSecServiceConfiguration$1;-><init>()V
-HSPLcom/android/server/IpSecService$IpSecServiceConfiguration$1;->getNetdInstance()Landroid/net/INetd;
-PLcom/android/server/IpSecService$UserResourceTracker;->toString()Ljava/lang/String;
-HSPLcom/android/server/IpSecService;->create(Landroid/content/Context;)Lcom/android/server/IpSecService;
-PLcom/android/server/IpSecService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/IpSecService;->isNetdAlive()Z
-HSPLcom/android/server/IpSecService;->systemReady()V
-HSPLcom/android/server/LocationManagerService$1;->lambda$onOpChanged$0$LocationManagerService$1()V
-HSPLcom/android/server/LocationManagerService$1;->onOpChanged(ILjava/lang/String;)V
-HSPLcom/android/server/LocationManagerService$2;->onChange(Z)V
-HSPLcom/android/server/LocationManagerService$3;->onChange(Z)V
-HSPLcom/android/server/LocationManagerService$7;->onPackageDisappeared(Ljava/lang/String;I)V
-HSPLcom/android/server/LocationManagerService$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/LocationManagerService$LinkedListener;->binderDied()V
-PLcom/android/server/LocationManagerService$LinkedListenerBase;-><init>(Lcom/android/server/location/CallerIdentity;Ljava/lang/String;Lcom/android/server/LocationManagerService$1;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Lcom/android/server/LocationManagerService$1;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Z)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;ZLcom/android/server/LocationManagerService$1;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->attachLocked(Lcom/android/server/location/AbstractLocationProvider;)V
-PLcom/android/server/LocationManagerService$LocationProvider;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->getName()Ljava/lang/String;
-HSPLcom/android/server/LocationManagerService$LocationProvider;->getPackagesLocked()Ljava/util/List;
-HSPLcom/android/server/LocationManagerService$LocationProvider;->getPropertiesLocked()Lcom/android/internal/location/ProviderProperties;
-PLcom/android/server/LocationManagerService$LocationProvider;->isMock()Z
+PLcom/android/server/IpSecService$1;-><init>(Lcom/android/server/IpSecService;)V
+PLcom/android/server/IpSecService$1;->run()V
+PLcom/android/server/IpSecService$IpSecServiceConfiguration$1;-><init>()V
+PLcom/android/server/IpSecService$IpSecServiceConfiguration$1;->getNetdInstance()Landroid/net/INetd;
+PLcom/android/server/IpSecService$IpSecServiceConfiguration;-><clinit>()V
+PLcom/android/server/IpSecService$UserResourceTracker;-><init>()V
+PLcom/android/server/IpSecService;-><clinit>()V
+PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Lcom/android/server/IpSecService$IpSecServiceConfiguration;)V
+PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Lcom/android/server/IpSecService$IpSecServiceConfiguration;Lcom/android/server/IpSecService$UidFdTagger;)V
+PLcom/android/server/IpSecService;->connectNativeNetdService()V
+PLcom/android/server/IpSecService;->create(Landroid/content/Context;)Lcom/android/server/IpSecService;
+PLcom/android/server/IpSecService;->isNetdAlive()Z
+PLcom/android/server/IpSecService;->systemReady()V
+PLcom/android/server/LocationManagerService$1;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService$1;->lambda$onOpChanged$0$LocationManagerService$1()V
+PLcom/android/server/LocationManagerService$1;->onOpChanged(ILjava/lang/String;)V
+PLcom/android/server/LocationManagerService$2;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService$2;->onPackageDisappeared(Ljava/lang/String;I)V
+PLcom/android/server/LocationManagerService$3;-><init>(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/LocationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/LocationManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/LocationManagerService$Lifecycle;->onStart()V
+PLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Lcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Z)V
+PLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;ZLcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->attachLocked(Lcom/android/server/location/AbstractLocationProvider;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->getName()Ljava/lang/String;
+PLcom/android/server/LocationManagerService$LocationProvider;->getPropertiesLocked()Lcom/android/internal/location/ProviderProperties;
PLcom/android/server/LocationManagerService$LocationProvider;->isPassiveLocked()Z
-HSPLcom/android/server/LocationManagerService$LocationProvider;->isUseableForUserLocked(I)Z
-HSPLcom/android/server/LocationManagerService$LocationProvider;->isUseableLocked()Z
-PLcom/android/server/LocationManagerService$LocationProvider;->lambda$onReportLocation$0$LocationManagerService$LocationProvider(Landroid/location/Location;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->lambda$onSetEnabled$2$LocationManagerService$LocationProvider(Z)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->onAllowedChangedLocked()V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->onLocationModeChangedLocked()V
+PLcom/android/server/LocationManagerService$LocationProvider;->isUseableForUserLocked(I)Z
+PLcom/android/server/LocationManagerService$LocationProvider;->isUseableIgnoringAllowedLocked()Z
+PLcom/android/server/LocationManagerService$LocationProvider;->isUseableLocked()Z
+PLcom/android/server/LocationManagerService$LocationProvider;->lambda$setRequest$0$LocationManagerService$LocationProvider(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->onAllowedChangedLocked()V
+PLcom/android/server/LocationManagerService$LocationProvider;->onLocationModeChangedLocked()V
PLcom/android/server/LocationManagerService$LocationProvider;->onReportLocation(Landroid/location/Location;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->onSetEnabled(Z)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->onUseableChangedLocked(Z)V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->onUserChangingLocked()V
-HSPLcom/android/server/LocationManagerService$LocationProvider;->setRequestLocked(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-HSPLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Landroid/os/WorkSource;Z)V
-PLcom/android/server/LocationManagerService$Receiver;->access$3900(Lcom/android/server/LocationManagerService$Receiver;)I
+PLcom/android/server/LocationManagerService$LocationProvider;->onSetEnabled(Z)V
+PLcom/android/server/LocationManagerService$LocationProvider;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->onUseableChangedLocked(Z)V
+PLcom/android/server/LocationManagerService$LocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;)V
+PLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;Lcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService$Receiver;->access$3600(Lcom/android/server/LocationManagerService$Receiver;)I
PLcom/android/server/LocationManagerService$Receiver;->binderDied()V
PLcom/android/server/LocationManagerService$Receiver;->callLocationChangedLocked(Landroid/location/Location;)Z
-HSPLcom/android/server/LocationManagerService$Receiver;->callProviderEnabledLocked(Ljava/lang/String;Z)Z
+PLcom/android/server/LocationManagerService$Receiver;->callProviderEnabledLocked(Ljava/lang/String;Z)Z
+PLcom/android/server/LocationManagerService$Receiver;->callRemovedLocked()V
PLcom/android/server/LocationManagerService$Receiver;->clearPendingBroadcastsLocked()V
-HSPLcom/android/server/LocationManagerService$Receiver;->decrementPendingBroadcastsLocked()V
-HSPLcom/android/server/LocationManagerService$Receiver;->incrementPendingBroadcastsLocked()V
-PLcom/android/server/LocationManagerService$Receiver;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/LocationManagerService$Receiver;->decrementPendingBroadcastsLocked()V
+PLcom/android/server/LocationManagerService$Receiver;->getListener()Landroid/location/ILocationListener;
+PLcom/android/server/LocationManagerService$Receiver;->incrementPendingBroadcastsLocked()V
PLcom/android/server/LocationManagerService$Receiver;->toString()Ljava/lang/String;
-HSPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(Z)V
-HSPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(ZZI)Z
-HSPLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;)V
-PLcom/android/server/LocationManagerService$UpdateRecord;->access$1200(Lcom/android/server/LocationManagerService$UpdateRecord;)Lcom/android/server/LocationManagerService$Receiver;
-PLcom/android/server/LocationManagerService$UpdateRecord;->access$4000(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
-PLcom/android/server/LocationManagerService$UpdateRecord;->access$4700(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
-PLcom/android/server/LocationManagerService$UpdateRecord;->access$4900(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/Location;
-PLcom/android/server/LocationManagerService$UpdateRecord;->access$4902(Lcom/android/server/LocationManagerService$UpdateRecord;Landroid/location/Location;)Landroid/location/Location;
+PLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(Z)V
+PLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(ZZI)Z
+PLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;)V
+PLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;Lcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$1000(Lcom/android/server/LocationManagerService$UpdateRecord;)Lcom/android/server/LocationManagerService$Receiver;
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$1100(Lcom/android/server/LocationManagerService$UpdateRecord;)Z
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$3700(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/LocationRequest;
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$4400(Lcom/android/server/LocationManagerService$UpdateRecord;Z)V
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$4600(Lcom/android/server/LocationManagerService$UpdateRecord;)J
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$4700(Lcom/android/server/LocationManagerService$UpdateRecord;)Landroid/location/Location;
+PLcom/android/server/LocationManagerService$UpdateRecord;->access$4702(Lcom/android/server/LocationManagerService$UpdateRecord;Landroid/location/Location;)Landroid/location/Location;
PLcom/android/server/LocationManagerService$UpdateRecord;->disposeLocked(Z)V
PLcom/android/server/LocationManagerService$UpdateRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/LocationManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/LocationManagerService;->addGnssDataListener(Landroid/os/IInterface;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;Ljava/util/function/Consumer;)Z
-PLcom/android/server/LocationManagerService;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;)Z
-HSPLcom/android/server/LocationManagerService;->addProviderLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
-HSPLcom/android/server/LocationManagerService;->applyRequirementsLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
-HSPLcom/android/server/LocationManagerService;->checkPackageName(Ljava/lang/String;)V
-HSPLcom/android/server/LocationManagerService;->checkResolutionLevelIsSufficientForProviderUseLocked(ILjava/lang/String;)V
-HSPLcom/android/server/LocationManagerService;->createSanitizedRequest(Landroid/location/LocationRequest;IZ)Landroid/location/LocationRequest;
+PLcom/android/server/LocationManagerService;-><clinit>()V
+PLcom/android/server/LocationManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/LocationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService;->access$100(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
+PLcom/android/server/LocationManagerService;->access$1600(Lcom/android/server/LocationManagerService;)I
+PLcom/android/server/LocationManagerService;->access$200(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService;->access$2000(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProvider;
+PLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationSettingsStore;
+PLcom/android/server/LocationManagerService;->access$2200(Lcom/android/server/LocationManagerService;I)Z
+PLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/LocationManagerService;->access$2400(Lcom/android/server/LocationManagerService;)Z
+PLcom/android/server/LocationManagerService;->access$2700(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$LocationProvider;)V
+PLcom/android/server/LocationManagerService;->access$2800(Lcom/android/server/LocationManagerService;II)I
+PLcom/android/server/LocationManagerService;->access$2900(Lcom/android/server/LocationManagerService;)Landroid/os/PowerManager;
+PLcom/android/server/LocationManagerService;->access$300(Lcom/android/server/LocationManagerService;)Landroid/os/Handler;
+PLcom/android/server/LocationManagerService;->access$3100(Lcom/android/server/LocationManagerService;)Landroid/app/AppOpsManager;
+PLcom/android/server/LocationManagerService;->access$3800(Lcom/android/server/LocationManagerService;)Landroid/app/ActivityManager;
+PLcom/android/server/LocationManagerService;->access$3900(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
+PLcom/android/server/LocationManagerService;->access$400(Lcom/android/server/LocationManagerService;)Ljava/lang/Object;
+PLcom/android/server/LocationManagerService;->access$4000(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationRequestStatistics;
+PLcom/android/server/LocationManagerService;->access$500(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService;->access$600(Lcom/android/server/LocationManagerService;Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->access$700(Lcom/android/server/LocationManagerService;I)V
+PLcom/android/server/LocationManagerService;->access$900(Lcom/android/server/LocationManagerService;)V
+PLcom/android/server/LocationManagerService;->addProviderLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
+PLcom/android/server/LocationManagerService;->applyRequirementsLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
+PLcom/android/server/LocationManagerService;->applyRequirementsLocked(Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->checkLocationAccess(IILjava/lang/String;I)Z
+PLcom/android/server/LocationManagerService;->checkPackageName(Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->checkResolutionLevelIsSufficientForProviderUseLocked(ILjava/lang/String;)V
+PLcom/android/server/LocationManagerService;->createSanitizedRequest(Landroid/location/LocationRequest;IZ)Landroid/location/LocationRequest;
PLcom/android/server/LocationManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/LocationManagerService;->dumpGnssDataListenersLocked(Ljava/io/PrintWriter;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/LocationManagerService;->ensureFallbackFusedProviderPresentLocked([Ljava/lang/String;)V
-HSPLcom/android/server/LocationManagerService;->geocoderIsPresent()Z
+PLcom/android/server/LocationManagerService;->ensureFallbackFusedProviderPresentLocked([Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->geocoderIsPresent()Z
PLcom/android/server/LocationManagerService;->getAllProviders()Ljava/util/List;
-HSPLcom/android/server/LocationManagerService;->getAllowedResolutionLevel(II)I
-PLcom/android/server/LocationManagerService;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
-PLcom/android/server/LocationManagerService;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HSPLcom/android/server/LocationManagerService;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
-PLcom/android/server/LocationManagerService;->getLocationControllerExtraPackage()Ljava/lang/String;
-HSPLcom/android/server/LocationManagerService;->getMinimumResolutionLevelForProviderUseLocked(Ljava/lang/String;)I
+PLcom/android/server/LocationManagerService;->getAllowedResolutionLevel(II)I
+PLcom/android/server/LocationManagerService;->getCallerAllowedResolutionLevel()I
+PLcom/android/server/LocationManagerService;->getExtraLocationControllerPackage()Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;Ljava/lang/String;)Landroid/location/Location;
+PLcom/android/server/LocationManagerService;->getLocationProviderLocked(Ljava/lang/String;)Lcom/android/server/LocationManagerService$LocationProvider;
+PLcom/android/server/LocationManagerService;->getMinimumResolutionLevelForProviderUseLocked(Ljava/lang/String;)I
PLcom/android/server/LocationManagerService;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-HSPLcom/android/server/LocationManagerService;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
-HSPLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/app/PendingIntent;IILjava/lang/String;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
-HSPLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/location/ILocationListener;IILjava/lang/String;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
+PLcom/android/server/LocationManagerService;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
+PLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/location/ILocationListener;IILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;ZLjava/lang/String;)Lcom/android/server/LocationManagerService$Receiver;
PLcom/android/server/LocationManagerService;->handleLocationChangedLocked(Landroid/location/Location;Lcom/android/server/LocationManagerService$LocationProvider;)V
-PLcom/android/server/LocationManagerService;->hasGnssPermissions(Ljava/lang/String;)Z
-HSPLcom/android/server/LocationManagerService;->initializeLocked()V
-HSPLcom/android/server/LocationManagerService;->initializeProvidersLocked()V
+PLcom/android/server/LocationManagerService;->initializeProvidersLocked()V
PLcom/android/server/LocationManagerService;->isCurrentProfileLocked(I)Z
-PLcom/android/server/LocationManagerService;->isLocationControllerExtraPackageEnabled()Z
-HSPLcom/android/server/LocationManagerService;->isLocationEnabledForUser(I)Z
-HSPLcom/android/server/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z
-HSPLcom/android/server/LocationManagerService;->isProviderPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/LocationManagerService;->isSettingsExemptLocked(Lcom/android/server/LocationManagerService$UpdateRecord;)Z
+PLcom/android/server/LocationManagerService;->isLocationEnabled()Z
+HPLcom/android/server/LocationManagerService;->isLocationEnabledForUser(I)Z
+PLcom/android/server/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z
+PLcom/android/server/LocationManagerService;->isProviderPackage(Ljava/lang/String;)Z
+PLcom/android/server/LocationManagerService;->isSettingsExemptLocked(Lcom/android/server/LocationManagerService$UpdateRecord;)Z
+PLcom/android/server/LocationManagerService;->isThrottlingExemptLocked(Lcom/android/server/location/CallerIdentity;)Z
PLcom/android/server/LocationManagerService;->isValidWorkSource(Landroid/os/WorkSource;)Z
-HSPLcom/android/server/LocationManagerService;->lambda$initializeLocked$2$LocationManagerService(I)V
-HSPLcom/android/server/LocationManagerService;->lambda$initializeLocked$3$LocationManagerService(II)V
-HSPLcom/android/server/LocationManagerService;->lambda$initializeLocked$4$LocationManagerService(Landroid/os/PowerSaveState;)V
-PLcom/android/server/LocationManagerService;->lambda$new$0$LocationManagerService(I)[Ljava/lang/String;
-PLcom/android/server/LocationManagerService;->lambda$new$1$LocationManagerService(I)[Ljava/lang/String;
-HSPLcom/android/server/LocationManagerService;->linkToListenerDeathNotificationLocked(Landroid/os/IBinder;Lcom/android/server/LocationManagerService$LinkedListenerBase;)Z
-HSPLcom/android/server/LocationManagerService;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-HSPLcom/android/server/LocationManagerService;->onAppOpChangedLocked()V
-HSPLcom/android/server/LocationManagerService;->onBackgroundThrottleWhitelistChangedLocked()V
-HSPLcom/android/server/LocationManagerService;->onBatterySaverModeChangedLocked(I)V
-HSPLcom/android/server/LocationManagerService;->onIgnoreSettingsWhitelistChangedLocked()V
-HSPLcom/android/server/LocationManagerService;->onLocationModeChangedLocked(Z)V
-HSPLcom/android/server/LocationManagerService;->onPackageDisappearedLocked(Ljava/lang/String;)V
-HSPLcom/android/server/LocationManagerService;->onUidImportanceChangedLocked(II)V
-HSPLcom/android/server/LocationManagerService;->onUserChangedLocked(I)V
-PLcom/android/server/LocationManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
-PLcom/android/server/LocationManagerService;->removeGnssDataListener(Landroid/os/IInterface;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;)V
-PLcom/android/server/LocationManagerService;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
+PLcom/android/server/LocationManagerService;->lambda$onSystemReady$2$LocationManagerService()V
+PLcom/android/server/LocationManagerService;->lambda$onSystemReady$3$LocationManagerService(I)V
+HPLcom/android/server/LocationManagerService;->lambda$onSystemReady$4$LocationManagerService(II)V
+HPLcom/android/server/LocationManagerService;->lambda$onSystemReady$5$LocationManagerService(II)V
+PLcom/android/server/LocationManagerService;->lambda$onSystemReady$8$LocationManagerService(I)V
+PLcom/android/server/LocationManagerService;->lambda$onSystemReady$9$LocationManagerService(I)V
+PLcom/android/server/LocationManagerService;->locationCallbackFinished(Landroid/location/ILocationListener;)V
+PLcom/android/server/LocationManagerService;->onAppOpChangedLocked()V
+PLcom/android/server/LocationManagerService;->onLocationModeChangedLocked(IZ)V
+PLcom/android/server/LocationManagerService;->onPackageDisappearedLocked(Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->onPermissionsChangedLocked()V
+PLcom/android/server/LocationManagerService;->onProviderAllowedChangedLocked(I)V
+PLcom/android/server/LocationManagerService;->onScreenStateChangedLocked()V
+PLcom/android/server/LocationManagerService;->onSystemReady()V
+PLcom/android/server/LocationManagerService;->onSystemThirdPartyAppsCanStart()V
+HPLcom/android/server/LocationManagerService;->onUidImportanceChangedLocked(II)V
+PLcom/android/server/LocationManagerService;->onUserChangedLocked(I)V
+PLcom/android/server/LocationManagerService;->onUserProfilesChangedLocked()V
+PLcom/android/server/LocationManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;Ljava/lang/String;)Z
PLcom/android/server/LocationManagerService;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
PLcom/android/server/LocationManagerService;->removeUpdatesLocked(Lcom/android/server/LocationManagerService$Receiver;)V
-PLcom/android/server/LocationManagerService;->reportLocationAccessNoThrow(IILjava/lang/String;I)Z
-HSPLcom/android/server/LocationManagerService;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLcom/android/server/LocationManagerService;->requestLocationUpdatesLocked(Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;ILjava/lang/String;)V
-PLcom/android/server/LocationManagerService;->setLocationControllerExtraPackage(Ljava/lang/String;)V
-PLcom/android/server/LocationManagerService;->setLocationControllerExtraPackageEnabled(Z)V
+PLcom/android/server/LocationManagerService;->reportLocationAccessNoThrow(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/LocationManagerService;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->requestLocationUpdatesLocked(Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;ILjava/lang/String;)V
+PLcom/android/server/LocationManagerService;->resolutionLevelToOp(I)I
+PLcom/android/server/LocationManagerService;->resolutionLevelToOpStr(I)Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->setExtraLocationControllerPackage(Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->setExtraLocationControllerPackageEnabled(Z)V
PLcom/android/server/LocationManagerService;->shouldBroadcastSafeLocked(Landroid/location/Location;Landroid/location/Location;Lcom/android/server/LocationManagerService$UpdateRecord;J)Z
-HSPLcom/android/server/LocationManagerService;->systemRunning()V
-PLcom/android/server/LocationManagerService;->unlinkFromListenerDeathNotificationLocked(Landroid/os/IBinder;Lcom/android/server/LocationManagerService$LinkedListenerBase;)Z
PLcom/android/server/LocationManagerService;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-HSPLcom/android/server/LocationManagerService;->updateGnssDataProviderOnUidImportanceChangedLocked(Landroid/util/ArrayMap;Lcom/android/server/location/RemoteListenerHelper;Ljava/util/function/Function;IZ)V
PLcom/android/server/LocationManagerService;->updateLastLocationLocked(Landroid/location/Location;Ljava/lang/String;)V
-HSPLcom/android/server/LocationManagerService;->updateProviderUseableLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
+PLcom/android/server/LocationManagerService;->updateProviderUseableLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
+PLcom/android/server/LocationManagerServiceUtils$LinkedListener;-><init>(Ljava/lang/Object;Ljava/lang/String;Lcom/android/server/location/CallerIdentity;Ljava/util/function/Consumer;)V
+PLcom/android/server/LocationManagerServiceUtils$LinkedListener;->binderDied()V
+PLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;-><init>(Lcom/android/server/location/CallerIdentity;Ljava/lang/String;)V
+PLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;->getCallerIdentity()Lcom/android/server/location/CallerIdentity;
+PLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;->linkToListenerDeathNotificationLocked(Landroid/os/IBinder;)Z
+PLcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;->unlinkFromListenerDeathNotificationLocked(Landroid/os/IBinder;)Z
+PLcom/android/server/LocationManagerServiceUtils;-><clinit>()V
+PLcom/android/server/LocationManagerServiceUtils;->access$000()Z
+PLcom/android/server/LocationManagerServiceUtils;->getPackageImportance(Ljava/lang/String;Landroid/content/Context;)I
+PLcom/android/server/LocationManagerServiceUtils;->isImportanceForeground(I)Z
+PLcom/android/server/LocationUsageLogger;-><clinit>()V
+PLcom/android/server/LocationUsageLogger;-><init>()V
+PLcom/android/server/LocationUsageLogger;->bucketizeIntervalToStatsdEnum(J)I
+PLcom/android/server/LocationUsageLogger;->bucketizeSmallestDisplacementToStatsdEnum(F)I
+PLcom/android/server/LocationUsageLogger;->categorizeActivityImportance(I)I
+PLcom/android/server/LocationUsageLogger;->checkApiUsageLogCap()Z
+PLcom/android/server/LocationUsageLogger;->getBucketizedExpireIn(J)I
+PLcom/android/server/LocationUsageLogger;->getCallbackType(IZZ)I
+PLcom/android/server/LocationUsageLogger;->logLocationApiUsage(IILjava/lang/String;Landroid/location/LocationRequest;ZZLandroid/location/Geofence;I)V
+PLcom/android/server/LocationUsageLogger;->providerNameToStatsdEnum(Ljava/lang/String;)I
+HSPLcom/android/server/LockGuard$LockInfo;-><init>()V
+HSPLcom/android/server/LockGuard$LockInfo;-><init>(Lcom/android/server/LockGuard$1;)V
+HSPLcom/android/server/LockGuard;-><clinit>()V
HSPLcom/android/server/LockGuard;->findOrCreateLockInfo(Ljava/lang/Object;)Lcom/android/server/LockGuard$LockInfo;
-HSPLcom/android/server/LockGuard;->guard(I)V
+HPLcom/android/server/LockGuard;->guard(I)V
HSPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;I)Ljava/lang/Object;
HSPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;IZ)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard;->installNewLock(I)Ljava/lang/Object;
+HSPLcom/android/server/LockGuard;->installNewLock(IZ)Ljava/lang/Object;
HSPLcom/android/server/LockGuard;->lockToString(I)Ljava/lang/String;
-HSPLcom/android/server/LooperStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/LooperStatsService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/LooperStatsService$Lifecycle;->onStart()V
-PLcom/android/server/LooperStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/LooperStatsService;->initFromSettings()V
-PLcom/android/server/MmsServiceBroker$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/MmsServiceBroker$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/MmsServiceBroker$BinderService;->adjustUriForUserAndGrantPermission(Landroid/net/Uri;Ljava/lang/String;I)Landroid/net/Uri;
-PLcom/android/server/MmsServiceBroker$BinderService;->downloadMessage(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-PLcom/android/server/MmsServiceBroker$BinderService;->getAutoPersisting()Z
-PLcom/android/server/MmsServiceBroker$BinderService;->getCarrierConfigValues(I)Landroid/os/Bundle;
-PLcom/android/server/MmsServiceBroker$BinderService;->sendMessage(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-HSPLcom/android/server/MmsServiceBroker;-><init>(Landroid/content/Context;)V
-PLcom/android/server/MmsServiceBroker;->getOrConnectService()Lcom/android/internal/telephony/IMms;
-HSPLcom/android/server/MmsServiceBroker;->onStart()V
-HSPLcom/android/server/MmsServiceBroker;->systemRunning()V
-PLcom/android/server/MmsServiceBroker;->tryConnecting()V
-PLcom/android/server/MountServiceIdler$1;->run()V
-PLcom/android/server/MountServiceIdler;-><init>()V
-PLcom/android/server/MountServiceIdler;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/MountServiceIdler;->scheduleIdlePass(Landroid/content/Context;)V
-HSPLcom/android/server/MountServiceIdler;->tomorrowMidnight()Ljava/util/Calendar;
-PLcom/android/server/NativeDaemonConnector$ResponseQueue;->add(ILcom/android/server/NativeDaemonEvent;)V
-PLcom/android/server/NativeDaemonConnector$ResponseQueue;->remove(IJLjava/lang/String;)Lcom/android/server/NativeDaemonEvent;
-HSPLcom/android/server/NativeDaemonConnector;-><init>(Lcom/android/server/INativeDaemonConnectorCallbacks;Ljava/lang/String;ILjava/lang/String;ILandroid/os/PowerManager$WakeLock;Landroid/os/Looper;)V
-PLcom/android/server/NativeDaemonConnector;->appendEscaped(Ljava/lang/StringBuilder;Ljava/lang/String;)V
-PLcom/android/server/NativeDaemonConnector;->execute(JLjava/lang/String;[Ljava/lang/Object;)Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonConnector;->executeForList(JLjava/lang/String;[Ljava/lang/Object;)[Lcom/android/server/NativeDaemonEvent;
-HSPLcom/android/server/NativeDaemonConnector;->listenToSocket()V
-PLcom/android/server/NativeDaemonConnector;->makeCommand(Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;ILjava/lang/String;[Ljava/lang/Object;)V
-HSPLcom/android/server/NativeDaemonConnector;->run()V
-PLcom/android/server/NativeDaemonEvent;->getCmdNumber()I
-PLcom/android/server/NativeDaemonEvent;->isClassClientError()Z
-PLcom/android/server/NativeDaemonEvent;->isClassContinue()Z
-PLcom/android/server/NativeDaemonEvent;->isClassServerError()Z
-PLcom/android/server/NativeDaemonEvent;->isClassUnsolicited()Z
-PLcom/android/server/NativeDaemonEvent;->parseRawEvent(Ljava/lang/String;[Ljava/io/FileDescriptor;)Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonEvent;->toString()Ljava/lang/String;
-HSPLcom/android/server/NetworkManagementService$LocalService;->isNetworkRestrictedForUid(I)Z
-HSPLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
-HSPLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;->setInterfaceQuota(Ljava/lang/String;J)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAdded$5$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressRemoved$4$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Landroid/net/LinkAddress;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressUpdated$3$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceClassActivityChanged$0$NetworkManagementService$NetdUnsolicitedEventListener(IZJI)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceDnsServerInfo$2$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;J[Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceLinkStateChanged$8$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Z)V
-PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceRemoved$6$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onQuotaLimitReached$1$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onRouteChanged$9$NetworkManagementService$NetdUnsolicitedEventListener(ZLandroid/net/RouteInfo;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAdded(Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressRemoved(Ljava/lang/String;Ljava/lang/String;II)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressUpdated(Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/LooperStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/LooperStatsService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/LooperStatsService$Lifecycle;->onStart()V
+PLcom/android/server/LooperStatsService$SettingsObserver;-><init>(Lcom/android/server/LooperStatsService;)V
+PLcom/android/server/LooperStatsService;-><init>(Landroid/content/Context;Lcom/android/internal/os/LooperStats;)V
+PLcom/android/server/LooperStatsService;-><init>(Landroid/content/Context;Lcom/android/internal/os/LooperStats;Lcom/android/server/LooperStatsService$1;)V
+PLcom/android/server/LooperStatsService;->access$200(Lcom/android/server/LooperStatsService;)V
+PLcom/android/server/LooperStatsService;->initFromSettings()V
+PLcom/android/server/LooperStatsService;->setEnabled(Z)V
+PLcom/android/server/LooperStatsService;->setSamplingInterval(I)V
+PLcom/android/server/LooperStatsService;->setTrackScreenInteractive(Z)V
+PLcom/android/server/MmsServiceBroker$1;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$2;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$3;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$BinderService;-><init>(Lcom/android/server/MmsServiceBroker;)V
+PLcom/android/server/MmsServiceBroker$BinderService;-><init>(Lcom/android/server/MmsServiceBroker;Lcom/android/server/MmsServiceBroker$1;)V
+PLcom/android/server/MmsServiceBroker;-><clinit>()V
+PLcom/android/server/MmsServiceBroker;-><init>(Landroid/content/Context;)V
+PLcom/android/server/MmsServiceBroker;->onStart()V
+PLcom/android/server/MmsServiceBroker;->systemRunning()V
+PLcom/android/server/MountServiceIdler;-><clinit>()V
+PLcom/android/server/MountServiceIdler;->offsetFromTodayMidnight(II)Ljava/util/Calendar;
+PLcom/android/server/MountServiceIdler;->scheduleIdlePass(Landroid/content/Context;)V
+PLcom/android/server/NativeDaemonConnector$ResponseQueue;-><init>(I)V
+PLcom/android/server/NativeDaemonConnector;-><init>(Lcom/android/server/INativeDaemonConnectorCallbacks;Ljava/lang/String;ILjava/lang/String;ILandroid/os/PowerManager$WakeLock;)V
+PLcom/android/server/NativeDaemonConnector;-><init>(Lcom/android/server/INativeDaemonConnectorCallbacks;Ljava/lang/String;ILjava/lang/String;ILandroid/os/PowerManager$WakeLock;Landroid/os/Looper;)V
+PLcom/android/server/NativeDaemonConnector;->determineSocketAddress()Landroid/net/LocalSocketAddress;
+PLcom/android/server/NativeDaemonConnector;->isShuttingDown()Z
+PLcom/android/server/NativeDaemonConnector;->listenToSocket()V
+PLcom/android/server/NativeDaemonConnector;->run()V
+PLcom/android/server/NetIdManager;-><init>()V
+PLcom/android/server/NetIdManager;-><init>(I)V
+PLcom/android/server/NetIdManager;->getNextAvailableNetIdLocked(ILandroid/util/SparseBooleanArray;)I
+PLcom/android/server/NetIdManager;->releaseNetId(I)V
+PLcom/android/server/NetIdManager;->reserveNetId()I
+PLcom/android/server/NetworkManagementInternal;-><init>()V
+PLcom/android/server/NetworkManagementService$IdleTimerParams;-><init>(II)V
+PLcom/android/server/NetworkManagementService$LocalService;-><init>(Lcom/android/server/NetworkManagementService;)V
+PLcom/android/server/NetworkManagementService$LocalService;->isNetworkRestrictedForUid(I)Z
+PLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;-><init>(Lcom/android/server/NetworkManagementService;)V
+PLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;-><init>(Lcom/android/server/NetworkManagementService;Lcom/android/server/NetworkManagementService$1;)V
+PLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;-><init>(Lcom/android/server/NetworkManagementService;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;-><init>(Lcom/android/server/NetworkManagementService;Lcom/android/server/NetworkManagementService$1;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressUpdated$3$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceDnsServerInfo$2$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceLinkStateChanged$8$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Z)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onRouteChanged$9$NetworkManagementService$NetdUnsolicitedEventListener(ZLandroid/net/RouteInfo;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressUpdated(Ljava/lang/String;Ljava/lang/String;II)V
PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceClassActivityChanged(ZIJI)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceLinkStateChanged(Ljava/lang/String;Z)V
-PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceRemoved(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onQuotaLimitReached(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onRouteChanged(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService$SystemServices;->getNetd()Landroid/net/INetd;
-HSPLcom/android/server/NetworkManagementService$SystemServices;->getService(Ljava/lang/String;)Landroid/os/IBinder;
-HSPLcom/android/server/NetworkManagementService$SystemServices;->registerLocalService(Lcom/android/server/NetworkManagementInternal;)V
-HSPLcom/android/server/NetworkManagementService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkManagementService$SystemServices;)V
-HSPLcom/android/server/NetworkManagementService;->addIdleTimer(Ljava/lang/String;II)V
-HSPLcom/android/server/NetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
-HSPLcom/android/server/NetworkManagementService;->addRoute(ILandroid/net/RouteInfo;)V
-PLcom/android/server/NetworkManagementService;->addVpnUidRanges(I[Landroid/net/UidRange;)V
-PLcom/android/server/NetworkManagementService;->allowProtect(I)V
-HSPLcom/android/server/NetworkManagementService;->clearInterfaceAddresses(Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService;->clearPermission([I)V
-HSPLcom/android/server/NetworkManagementService;->closeSocketsForFirewallChainLocked(ILjava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService;->connectNativeNetdService()V
-HSPLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;)Lcom/android/server/NetworkManagementService;
-HSPLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;Lcom/android/server/NetworkManagementService$SystemServices;)Lcom/android/server/NetworkManagementService;
-HSPLcom/android/server/NetworkManagementService;->createPhysicalNetwork(II)V
-PLcom/android/server/NetworkManagementService;->createVirtualNetwork(IZ)V
-PLcom/android/server/NetworkManagementService;->denyProtect(I)V
-HSPLcom/android/server/NetworkManagementService;->disableIpv6(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->dumpUidFirewallRule(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/SparseIntArray;)V
-PLcom/android/server/NetworkManagementService;->dumpUidRuleOnQuotaLocked(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/SparseBooleanArray;)V
-HSPLcom/android/server/NetworkManagementService;->fromStableParcel(Landroid/net/InterfaceConfigurationParcel;)Landroid/net/InterfaceConfiguration;
-HSPLcom/android/server/NetworkManagementService;->getBatteryStats()Lcom/android/internal/app/IBatteryStats;
-HSPLcom/android/server/NetworkManagementService;->getFirewallChainName(I)Ljava/lang/String;
-HSPLcom/android/server/NetworkManagementService;->getFirewallChainState(I)Z
-HSPLcom/android/server/NetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
-HSPLcom/android/server/NetworkManagementService;->getNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-HSPLcom/android/server/NetworkManagementService;->getNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-HSPLcom/android/server/NetworkManagementService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-HSPLcom/android/server/NetworkManagementService;->getNetworkStatsUidDetail(I[Ljava/lang/String;)Landroid/net/NetworkStats;
-HSPLcom/android/server/NetworkManagementService;->getUidFirewallRulesLR(I)Landroid/util/SparseIntArray;
-HSPLcom/android/server/NetworkManagementService;->invokeForAllObservers(Lcom/android/server/NetworkManagementService$NetworkManagementEventCallback;)V
-HSPLcom/android/server/NetworkManagementService;->isBandwidthControlEnabled()Z
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceLinkStateChanged(Ljava/lang/String;Z)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onRouteChanged(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$SystemServices;-><init>()V
+PLcom/android/server/NetworkManagementService$SystemServices;->getNetd()Landroid/net/INetd;
+PLcom/android/server/NetworkManagementService$SystemServices;->getService(Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/NetworkManagementService$SystemServices;->registerLocalService(Lcom/android/server/NetworkManagementInternal;)V
+PLcom/android/server/NetworkManagementService;-><clinit>()V
+PLcom/android/server/NetworkManagementService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkManagementService$SystemServices;)V
+PLcom/android/server/NetworkManagementService;->access$1000(Lcom/android/server/NetworkManagementService;Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->access$1300(Lcom/android/server/NetworkManagementService;)Landroid/net/INetd;
+PLcom/android/server/NetworkManagementService;->access$1400(Lcom/android/server/NetworkManagementService;I)Z
+PLcom/android/server/NetworkManagementService;->access$200(Lcom/android/server/NetworkManagementService;)Landroid/os/Handler;
+PLcom/android/server/NetworkManagementService;->access$300(Lcom/android/server/NetworkManagementService;ZLandroid/net/RouteInfo;)V
+PLcom/android/server/NetworkManagementService;->access$400(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Z)V
+PLcom/android/server/NetworkManagementService;->access$900(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/NetworkManagementService;->addIdleTimer(Ljava/lang/String;II)V
+PLcom/android/server/NetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
+PLcom/android/server/NetworkManagementService;->addRoute(ILandroid/net/RouteInfo;)V
+PLcom/android/server/NetworkManagementService;->closeSocketsForFirewallChainLocked(ILjava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->connectNativeNetdService()V
+PLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;)Lcom/android/server/NetworkManagementService;
+PLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;Lcom/android/server/NetworkManagementService$SystemServices;)Lcom/android/server/NetworkManagementService;
+PLcom/android/server/NetworkManagementService;->enforceSystemUid()V
+PLcom/android/server/NetworkManagementService;->fromStableParcel(Landroid/net/InterfaceConfigurationParcel;)Landroid/net/InterfaceConfiguration;
+PLcom/android/server/NetworkManagementService;->getBatteryStats()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/NetworkManagementService;->getFirewallChainName(I)Ljava/lang/String;
+HPLcom/android/server/NetworkManagementService;->getFirewallChainState(I)Z
+HPLcom/android/server/NetworkManagementService;->getFirewallRuleName(II)Ljava/lang/String;
+PLcom/android/server/NetworkManagementService;->getFirewallType(I)I
+PLcom/android/server/NetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
+PLcom/android/server/NetworkManagementService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
+HPLcom/android/server/NetworkManagementService;->getUidFirewallRulesLR(I)Landroid/util/SparseIntArray;
+HPLcom/android/server/NetworkManagementService;->invokeForAllObservers(Lcom/android/server/NetworkManagementService$NetworkManagementEventCallback;)V
+PLcom/android/server/NetworkManagementService;->isBandwidthControlEnabled()Z
PLcom/android/server/NetworkManagementService;->isNetworkActive()Z
-HSPLcom/android/server/NetworkManagementService;->isNetworkRestrictedInternal(I)Z
-HSPLcom/android/server/NetworkManagementService;->lambda$addIdleTimer$12$NetworkManagementService(I)V
-PLcom/android/server/NetworkManagementService;->lambda$removeIdleTimer$13$NetworkManagementService(Lcom/android/server/NetworkManagementService$IdleTimerParams;)V
-HSPLcom/android/server/NetworkManagementService;->listInterfaces()[Ljava/lang/String;
-HSPLcom/android/server/NetworkManagementService;->modifyInterfaceInNetwork(ZILjava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService;->modifyRoute(ZILandroid/net/RouteInfo;)V
-HSPLcom/android/server/NetworkManagementService;->notifyInterfaceClassActivity(IZJIZ)V
-HSPLcom/android/server/NetworkManagementService;->prepareNativeDaemon()V
+HPLcom/android/server/NetworkManagementService;->isNetworkRestrictedInternal(I)Z
+PLcom/android/server/NetworkManagementService;->lambda$addIdleTimer$12$NetworkManagementService(I)V
+PLcom/android/server/NetworkManagementService;->lambda$notifyAddressUpdated$7(Ljava/lang/String;Landroid/net/LinkAddress;Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/NetworkManagementService;->lambda$notifyInterfaceClassActivity$5(IZJLandroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/NetworkManagementService;->lambda$notifyInterfaceDnsServerInfo$9(Ljava/lang/String;J[Ljava/lang/String;Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/NetworkManagementService;->lambda$notifyInterfaceLinkStateChanged$1(Ljava/lang/String;ZLandroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/NetworkManagementService;->lambda$notifyRouteChange$10(Landroid/net/RouteInfo;Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/NetworkManagementService;->listInterfaces()[Ljava/lang/String;
+PLcom/android/server/NetworkManagementService;->modifyInterfaceInNetwork(ZILjava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->modifyRoute(ZILandroid/net/RouteInfo;)V
+PLcom/android/server/NetworkManagementService;->notifyAddressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
+PLcom/android/server/NetworkManagementService;->notifyInterfaceClassActivity(IZJIZ)V
+PLcom/android/server/NetworkManagementService;->notifyInterfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->notifyInterfaceLinkStateChanged(Ljava/lang/String;Z)V
+PLcom/android/server/NetworkManagementService;->notifyRouteChange(ZLandroid/net/RouteInfo;)V
+PLcom/android/server/NetworkManagementService;->prepareNativeDaemon()V
PLcom/android/server/NetworkManagementService;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-HSPLcom/android/server/NetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/NetworkManagementService;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/NetworkManagementService;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
PLcom/android/server/NetworkManagementService;->removeIdleTimer(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->removeInterfaceFromNetwork(Ljava/lang/String;I)V
-HSPLcom/android/server/NetworkManagementService;->removeInterfaceQuota(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->removeNetwork(I)V
-PLcom/android/server/NetworkManagementService;->removeRoute(ILandroid/net/RouteInfo;)V
-HSPLcom/android/server/NetworkManagementService;->reportNetworkActive()V
-HSPLcom/android/server/NetworkManagementService;->setDataSaverModeEnabled(Z)Z
-HSPLcom/android/server/NetworkManagementService;->setDefaultNetId(I)V
-HSPLcom/android/server/NetworkManagementService;->setDnsConfigurationForNetwork(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService;->setFirewallChainEnabled(IZ)V
-HSPLcom/android/server/NetworkManagementService;->setFirewallChainState(IZ)V
-HSPLcom/android/server/NetworkManagementService;->setFirewallEnabled(Z)V
-HSPLcom/android/server/NetworkManagementService;->setFirewallUidRule(III)V
-HSPLcom/android/server/NetworkManagementService;->setFirewallUidRuleLocked(III)V
-HSPLcom/android/server/NetworkManagementService;->setFirewallUidRules(I[I[I)V
-HSPLcom/android/server/NetworkManagementService;->setGlobalAlert(J)V
-PLcom/android/server/NetworkManagementService;->setInterfaceConfig(Ljava/lang/String;Landroid/net/InterfaceConfiguration;)V
-HSPLcom/android/server/NetworkManagementService;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V
-HSPLcom/android/server/NetworkManagementService;->setInterfaceQuota(Ljava/lang/String;J)V
-HSPLcom/android/server/NetworkManagementService;->setMtu(Ljava/lang/String;I)V
-PLcom/android/server/NetworkManagementService;->setNetworkPermission(II)V
-HSPLcom/android/server/NetworkManagementService;->setPermission(Ljava/lang/String;[I)V
-HSPLcom/android/server/NetworkManagementService;->setUidCleartextNetworkPolicy(II)V
-HSPLcom/android/server/NetworkManagementService;->setUidMeteredNetworkBlacklist(IZ)V
-HSPLcom/android/server/NetworkManagementService;->setUidMeteredNetworkWhitelist(IZ)V
-HSPLcom/android/server/NetworkManagementService;->setUidOnMeteredNetworkList(IZZ)V
-HSPLcom/android/server/NetworkManagementService;->syncFirewallChainLocked(ILjava/lang/String;)V
-HSPLcom/android/server/NetworkManagementService;->systemReady()V
-PLcom/android/server/NetworkManagementService;->toStableParcel(Landroid/net/InterfaceConfiguration;Ljava/lang/String;)Landroid/net/InterfaceConfigurationParcel;
-HSPLcom/android/server/NetworkManagementService;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V
-HSPLcom/android/server/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z
-HSPLcom/android/server/NetworkScoreService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/NetworkScoreService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/NetworkScoreService$4;->getPackages(I)[Ljava/lang/String;
-HSPLcom/android/server/NetworkScoreService$5;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
-HSPLcom/android/server/NetworkScoreService$5;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/NetworkScoreService$6;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
-PLcom/android/server/NetworkScoreService$6;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/NetworkManagementService;->reportNetworkActive()V
+PLcom/android/server/NetworkManagementService;->setDataSaverModeEnabled(Z)Z
+PLcom/android/server/NetworkManagementService;->setDefaultNetId(I)V
+PLcom/android/server/NetworkManagementService;->setFirewallChainEnabled(IZ)V
+PLcom/android/server/NetworkManagementService;->setFirewallChainState(IZ)V
+PLcom/android/server/NetworkManagementService;->setFirewallEnabled(Z)V
+HPLcom/android/server/NetworkManagementService;->setFirewallUidRule(III)V
+HPLcom/android/server/NetworkManagementService;->setFirewallUidRuleLocked(III)V
+PLcom/android/server/NetworkManagementService;->setFirewallUidRules(I[I[I)V
+PLcom/android/server/NetworkManagementService;->setGlobalAlert(J)V
+PLcom/android/server/NetworkManagementService;->setUidCleartextNetworkPolicy(II)V
+HPLcom/android/server/NetworkManagementService;->setUidMeteredNetworkWhitelist(IZ)V
+HPLcom/android/server/NetworkManagementService;->setUidOnMeteredNetworkList(IZZ)V
+PLcom/android/server/NetworkManagementService;->syncFirewallChainLocked(ILjava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->systemReady()V
+HPLcom/android/server/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z
+PLcom/android/server/NetworkScoreService$1;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/NetworkScoreService$2;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/NetworkScoreService$3;-><init>(Lcom/android/server/NetworkScoreService;Landroid/os/Handler;)V
+PLcom/android/server/NetworkScoreService$4;-><init>(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService$4;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
+PLcom/android/server/NetworkScoreService$4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;-><init>(Ljava/util/function/Supplier;)V
PLcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;->apply(Ljava/lang/Object;)Ljava/lang/Object;
PLcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;->apply(Ljava/util/List;)Ljava/util/List;
-HSPLcom/android/server/NetworkScoreService$DispatchingContentObserver;->observe(Landroid/net/Uri;I)V
-HSPLcom/android/server/NetworkScoreService$DispatchingContentObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/NetworkScoreService$DispatchingContentObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/NetworkScoreService$DispatchingContentObserver;->observe(Landroid/net/Uri;I)V
+PLcom/android/server/NetworkScoreService$DispatchingContentObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;-><init>(Landroid/content/Context;Ljava/util/List;ILjava/util/function/UnaryOperator;Ljava/util/function/UnaryOperator;)V
PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->create(Landroid/content/Context;Ljava/util/List;I)Lcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;
PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->filterScores(Ljava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/NetworkScoreService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/NetworkScoreService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/NetworkScoreService$Lifecycle;->onStart()V
+PLcom/android/server/NetworkScoreService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/NetworkScoreService$Lifecycle;->onStart()V
+PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;-><init>(Lcom/android/server/NetworkScoreService;Ljava/lang/String;)V
+PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;-><init>(Lcom/android/server/NetworkScoreService;Ljava/lang/String;Lcom/android/server/NetworkScoreService$1;)V
PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->evaluateBinding(Ljava/lang/String;Z)V
PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
PLcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;-><init>(Ljava/util/function/Supplier;)V
PLcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;->apply(Ljava/lang/Object;)Ljava/lang/Object;
PLcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;->apply(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/NetworkScoreService$ScanResultsSupplier;-><init>(Landroid/content/Context;)V
PLcom/android/server/NetworkScoreService$ScanResultsSupplier;->get()Ljava/lang/Object;
PLcom/android/server/NetworkScoreService$ScanResultsSupplier;->get()Ljava/util/List;
-HSPLcom/android/server/NetworkScoreService$ScoringServiceConnection;->bind(Landroid/content/Context;)V
-PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getAppData()Landroid/net/NetworkScorerAppData;
-HSPLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getPackageName()Ljava/lang/String;
+PLcom/android/server/NetworkScoreService$ScoringServiceConnection;-><init>(Landroid/net/NetworkScorerAppData;)V
+PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->bind(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getAppData()Landroid/net/NetworkScorerAppData;
+HPLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getPackageName()Ljava/lang/String;
PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getRecommendationProvider()Landroid/net/INetworkRecommendationProvider;
PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->unbind(Landroid/content/Context;)V
-HSPLcom/android/server/NetworkScoreService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager;Ljava/util/function/Function;Landroid/os/Looper;)V
-HSPLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded(Landroid/net/NetworkScorerAppData;)V
-PLcom/android/server/NetworkScoreService;->clearScores()Z
-PLcom/android/server/NetworkScoreService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/NetworkScoreService$ServiceHandler;-><init>(Lcom/android/server/NetworkScoreService;Landroid/os/Looper;)V
+PLcom/android/server/NetworkScoreService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/NetworkScoreService$WifiInfoSupplier;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService$WifiInfoSupplier;->get()Landroid/net/wifi/WifiInfo;
+PLcom/android/server/NetworkScoreService$WifiInfoSupplier;->get()Ljava/lang/Object;
+PLcom/android/server/NetworkScoreService;-><clinit>()V
+PLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager;Ljava/util/function/Function;Landroid/os/Looper;)V
+PLcom/android/server/NetworkScoreService;->access$000()Z
+PLcom/android/server/NetworkScoreService;->access$100(Lcom/android/server/NetworkScoreService;)V
+PLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded()V
+PLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded(Landroid/net/NetworkScorerAppData;)V
+PLcom/android/server/NetworkScoreService;->clearInternal()V
+PLcom/android/server/NetworkScoreService;->enforceSystemOnly()V
+HPLcom/android/server/NetworkScoreService;->enforceSystemOrHasScoreNetworks()V
PLcom/android/server/NetworkScoreService;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-HSPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
+HPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
PLcom/android/server/NetworkScoreService;->getRecommendationProvider()Landroid/net/INetworkRecommendationProvider;
-HSPLcom/android/server/NetworkScoreService;->getScoreCacheLists()Ljava/util/Collection;
+PLcom/android/server/NetworkScoreService;->getScoreCacheLists()Ljava/util/Collection;
PLcom/android/server/NetworkScoreService;->isCallerActiveScorer(I)Z
-HSPLcom/android/server/NetworkScoreService;->onUserUnlocked(I)V
-HSPLcom/android/server/NetworkScoreService;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-HSPLcom/android/server/NetworkScoreService;->registerPackageMonitorIfNeeded()V
+PLcom/android/server/NetworkScoreService;->onUserUnlocked(I)V
+PLcom/android/server/NetworkScoreService;->refreshBinding()V
+PLcom/android/server/NetworkScoreService;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
+PLcom/android/server/NetworkScoreService;->registerPackageMonitorIfNeeded()V
+PLcom/android/server/NetworkScoreService;->registerRecommendationSettingsObserver()V
PLcom/android/server/NetworkScoreService;->requestScores([Landroid/net/NetworkKey;)Z
-HSPLcom/android/server/NetworkScoreService;->sendCacheUpdateCallback(Ljava/util/function/BiConsumer;Ljava/util/Collection;)V
-HSPLcom/android/server/NetworkScoreService;->systemReady()V
-HSPLcom/android/server/NetworkScoreService;->systemRunning()V
-HSPLcom/android/server/NetworkScoreService;->unbindFromScoringServiceIfNeeded()V
+PLcom/android/server/NetworkScoreService;->sendCacheUpdateCallback(Ljava/util/function/BiConsumer;Ljava/util/Collection;)V
+PLcom/android/server/NetworkScoreService;->systemReady()V
+PLcom/android/server/NetworkScoreService;->systemRunning()V
+PLcom/android/server/NetworkScoreService;->unbindFromScoringServiceIfNeeded()V
PLcom/android/server/NetworkScoreService;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
PLcom/android/server/NetworkScoreService;->updateScores([Landroid/net/ScoredNetwork;)Z
-HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getInt(Landroid/content/Context;Ljava/lang/String;I)I
-HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getSecureInt(Landroid/content/Context;Ljava/lang/String;I)I
-HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putInt(Landroid/content/Context;Ljava/lang/String;I)Z
-HSPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/NetworkScorerAppManager;->canAccessLocation(ILjava/lang/String;)Z
-HSPLcom/android/server/NetworkScorerAppManager;->findUseOpenWifiNetworksActivity(Landroid/content/pm/ServiceInfo;)Landroid/content/ComponentName;
-HSPLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-HSPLcom/android/server/NetworkScorerAppManager;->getAllValidScorers()Ljava/util/List;
-HSPLcom/android/server/NetworkScorerAppManager;->getNetworkAvailableNotificationChannelId(Landroid/content/pm/ServiceInfo;)Ljava/lang/String;
-HSPLcom/android/server/NetworkScorerAppManager;->getScorer(Ljava/lang/String;)Landroid/net/NetworkScorerAppData;
-HSPLcom/android/server/NetworkScorerAppManager;->migrateNetworkScorerAppSettingIfNeeded()V
-HSPLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsEnabledSetting(I)V
-HSPLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsPackage(Ljava/lang/String;)V
-HSPLcom/android/server/NetworkScorerAppManager;->updateState()V
-PLcom/android/server/NewNetworkTimeUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/NewNetworkTimeUpdateService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/NewNetworkTimeUpdateService$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/NewNetworkTimeUpdateService$NetworkTimeUpdateCallback;->onAvailable(Landroid/net/Network;)V
-PLcom/android/server/NewNetworkTimeUpdateService$NetworkTimeUpdateCallback;->onLost(Landroid/net/Network;)V
-HSPLcom/android/server/NewNetworkTimeUpdateService$SettingsObserver;->observe(Landroid/content/Context;)V
-HSPLcom/android/server/NewNetworkTimeUpdateService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/NewNetworkTimeUpdateService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/NewNetworkTimeUpdateService;->onPollNetworkTime(I)V
-HSPLcom/android/server/NewNetworkTimeUpdateService;->onPollNetworkTimeUnderWakeLock(I)V
-HSPLcom/android/server/NewNetworkTimeUpdateService;->systemRunning()V
-HSPLcom/android/server/NewNetworkTimeUpdateService;->updateSystemClock(I)V
-PLcom/android/server/NsdService$ClientInfo;-><init>(Lcom/android/server/NsdService;Lcom/android/internal/util/AsyncChannel;Landroid/os/Messenger;)V
-PLcom/android/server/NsdService$ClientInfo;->expungeAllRequests()V
-PLcom/android/server/NsdService$ClientInfo;->toString()Ljava/lang/String;
-HSPLcom/android/server/NsdService$DaemonConnection;-><init>(Lcom/android/server/NsdService$NativeCallbackReceiver;)V
-PLcom/android/server/NsdService$DaemonConnection;->execute([Ljava/lang/Object;)Z
-PLcom/android/server/NsdService$DaemonConnection;->start()V
-PLcom/android/server/NsdService$DaemonConnection;->stop()V
-HSPLcom/android/server/NsdService$NativeCallbackReceiver;->awaitConnection()V
-HSPLcom/android/server/NsdService$NativeCallbackReceiver;->onDaemonConnected()V
-HSPLcom/android/server/NsdService$NsdSettings$1;->isEnabled()Z
-HSPLcom/android/server/NsdService$NsdSettings$1;->registerContentObserver(Landroid/net/Uri;Landroid/database/ContentObserver;)V
-PLcom/android/server/NsdService$NsdStateMachine$DefaultState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/NsdService$NsdStateMachine$EnabledState;->enter()V
-PLcom/android/server/NsdService$NsdStateMachine$EnabledState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/NsdService$NsdStateMachine$EnabledState;->requestLimitReached(Lcom/android/server/NsdService$ClientInfo;)Z
-HSPLcom/android/server/NsdService$NsdStateMachine;-><init>(Lcom/android/server/NsdService;Ljava/lang/String;Landroid/os/Handler;)V
-PLcom/android/server/NsdService$NsdStateMachine;->getWhatToString(I)Ljava/lang/String;
-HSPLcom/android/server/NsdService;-><init>(Landroid/content/Context;Lcom/android/server/NsdService$NsdSettings;Landroid/os/Handler;Lcom/android/server/NsdService$DaemonConnectionSupplier;)V
-HSPLcom/android/server/NsdService;->create(Landroid/content/Context;)Lcom/android/server/NsdService;
-PLcom/android/server/NsdService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/NsdService;->getMessenger()Landroid/os/Messenger;
-HSPLcom/android/server/NsdService;->isNsdEnabled()Z
-PLcom/android/server/PackageWatchdog$ObserverInternal;->onPackageFailure(Ljava/lang/String;)Z
-HSPLcom/android/server/PackageWatchdog$ObserverInternal;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/PackageWatchdog$ObserverInternal;
-PLcom/android/server/PackageWatchdog$ObserverInternal;->updateMonitoringDurations(J)Ljava/util/List;
-HSPLcom/android/server/PackageWatchdog$ObserverInternal;->updatePackages(Ljava/util/List;)V
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;-><init>()V
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getInt(Landroid/content/Context;Ljava/lang/String;I)I
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getSecureInt(Landroid/content/Context;Ljava/lang/String;I)I
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putInt(Landroid/content/Context;Ljava/lang/String;I)Z
+PLcom/android/server/NetworkScorerAppManager;-><clinit>()V
+PLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager$SettingsFacade;)V
+PLcom/android/server/NetworkScorerAppManager;->findUseOpenWifiNetworksActivity(Landroid/content/pm/ServiceInfo;)Landroid/content/ComponentName;
+PLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
+PLcom/android/server/NetworkScorerAppManager;->getAllValidScorers()Ljava/util/List;
+PLcom/android/server/NetworkScorerAppManager;->getDefaultPackageSetting()Ljava/lang/String;
+PLcom/android/server/NetworkScorerAppManager;->getNetworkAvailableNotificationChannelId(Landroid/content/pm/ServiceInfo;)Ljava/lang/String;
+PLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsEnabledSetting()I
+PLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsPackage()Ljava/lang/String;
+PLcom/android/server/NetworkScorerAppManager;->getScorer(Ljava/lang/String;)Landroid/net/NetworkScorerAppData;
+PLcom/android/server/NetworkScorerAppManager;->migrateNetworkScorerAppSettingIfNeeded()V
+PLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsEnabledSetting(I)V
+PLcom/android/server/NetworkScorerAppManager;->updateState()V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$1;-><init>(Lcom/android/server/NetworkTimeUpdateServiceImpl;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$2;-><init>(Lcom/android/server/NetworkTimeUpdateServiceImpl;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$MyHandler;-><init>(Lcom/android/server/NetworkTimeUpdateServiceImpl;Landroid/os/Looper;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$NetworkTimeUpdateCallback;-><init>(Lcom/android/server/NetworkTimeUpdateServiceImpl;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$NetworkTimeUpdateCallback;-><init>(Lcom/android/server/NetworkTimeUpdateServiceImpl;Lcom/android/server/NetworkTimeUpdateServiceImpl$1;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$NetworkTimeUpdateCallback;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$NetworkTimeUpdateCallback;->onLost(Landroid/net/Network;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$SettingsObserver;-><init>(Landroid/os/Handler;I)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl$SettingsObserver;->observe(Landroid/content/Context;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->access$100(Lcom/android/server/NetworkTimeUpdateServiceImpl;)Landroid/os/Handler;
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->access$300(Lcom/android/server/NetworkTimeUpdateServiceImpl;I)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->access$400(Lcom/android/server/NetworkTimeUpdateServiceImpl;)Landroid/net/Network;
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->access$402(Lcom/android/server/NetworkTimeUpdateServiceImpl;Landroid/net/Network;)Landroid/net/Network;
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->getNitzAge()J
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->isAutomaticTimeRequested()Z
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->onPollNetworkTime(I)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->onPollNetworkTimeUnderWakeLock(I)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->registerForAlarms()V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->registerForTelephonyIntents()V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->resetAlarm(J)V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->systemRunning()V
+PLcom/android/server/NetworkTimeUpdateServiceImpl;->updateSystemClock(I)V
+PLcom/android/server/NsdService$DaemonConnection;-><init>(Lcom/android/server/NsdService$NativeCallbackReceiver;)V
+PLcom/android/server/NsdService$NativeCallbackReceiver;-><init>(Lcom/android/server/NsdService;)V
+PLcom/android/server/NsdService$NativeCallbackReceiver;->awaitConnection()V
+PLcom/android/server/NsdService$NativeCallbackReceiver;->onDaemonConnected()V
+PLcom/android/server/NsdService$NsdSettings$1;-><init>(Landroid/content/ContentResolver;)V
+PLcom/android/server/NsdService$NsdSettings$1;->isEnabled()Z
+PLcom/android/server/NsdService$NsdSettings$1;->registerContentObserver(Landroid/net/Uri;Landroid/database/ContentObserver;)V
+PLcom/android/server/NsdService$NsdSettings;->makeDefault(Landroid/content/Context;)Lcom/android/server/NsdService$NsdSettings;
+PLcom/android/server/NsdService$NsdStateMachine$1;-><init>(Lcom/android/server/NsdService$NsdStateMachine;Landroid/os/Handler;)V
+PLcom/android/server/NsdService$NsdStateMachine$DefaultState;-><init>(Lcom/android/server/NsdService$NsdStateMachine;)V
+PLcom/android/server/NsdService$NsdStateMachine$DisabledState;-><init>(Lcom/android/server/NsdService$NsdStateMachine;)V
+PLcom/android/server/NsdService$NsdStateMachine$EnabledState;-><init>(Lcom/android/server/NsdService$NsdStateMachine;)V
+PLcom/android/server/NsdService$NsdStateMachine$EnabledState;->enter()V
+PLcom/android/server/NsdService$NsdStateMachine;-><init>(Lcom/android/server/NsdService;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/NsdService$NsdStateMachine;->registerForNsdSetting()V
+PLcom/android/server/NsdService;-><init>(Landroid/content/Context;Lcom/android/server/NsdService$NsdSettings;Landroid/os/Handler;Lcom/android/server/NsdService$DaemonConnectionSupplier;)V
+PLcom/android/server/NsdService;->access$000(Lcom/android/server/NsdService;)Z
+PLcom/android/server/NsdService;->access$200(Lcom/android/server/NsdService;)Lcom/android/server/NsdService$NsdSettings;
+PLcom/android/server/NsdService;->access$400(Lcom/android/server/NsdService;)Ljava/util/HashMap;
+PLcom/android/server/NsdService;->access$900(Lcom/android/server/NsdService;Z)V
+PLcom/android/server/NsdService;->create(Landroid/content/Context;)Lcom/android/server/NsdService;
+PLcom/android/server/NsdService;->isNsdEnabled()Z
+PLcom/android/server/NsdService;->sendNsdStateChangeBroadcast(Z)V
+PLcom/android/server/PackageWatchdog$ObserverInternal;-><init>(Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog$ObserverInternal;->onPackageFailureLocked(Ljava/lang/String;)Z
+HSPLcom/android/server/PackageWatchdog$ObserverInternal;->read(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/PackageWatchdog;)Lcom/android/server/PackageWatchdog$ObserverInternal;
+PLcom/android/server/PackageWatchdog$ObserverInternal;->updatePackagesLocked(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog$ObserverInternal;->writeLocked(Lorg/xmlpull/v1/XmlSerializer;)Z
+HSPLcom/android/server/PackageWatchdog;-><clinit>()V
HSPLcom/android/server/PackageWatchdog;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/PackageWatchdog;->getEarliestPackageExpiryLocked()J
+HSPLcom/android/server/PackageWatchdog;-><init>(Landroid/content/Context;Landroid/util/AtomicFile;Landroid/os/Handler;Landroid/os/Handler;Lcom/android/server/ExplicitHealthCheckController;Landroid/net/ConnectivityModuleConnector;Lcom/android/server/PackageWatchdog$SystemClock;)V
HSPLcom/android/server/PackageWatchdog;->getInstance(Landroid/content/Context;)Lcom/android/server/PackageWatchdog;
-PLcom/android/server/PackageWatchdog;->lambda$onExplicitHealthCheckFailed$1$PackageWatchdog(Lcom/android/server/PackageWatchdog$ObserverInternal;Ljava/util/List;)V
-HSPLcom/android/server/PackageWatchdog;->lambda$onPackageFailure$0$PackageWatchdog(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->getNextStateSyncMillisLocked()J
+PLcom/android/server/PackageWatchdog;->getPackagesPendingHealthChecksLocked()Ljava/util/Set;
+PLcom/android/server/PackageWatchdog;->lambda$CQuOnXthwwBaxcS5WoAlJJAz8Tk(Lcom/android/server/PackageWatchdog;)V
+PLcom/android/server/PackageWatchdog;->lambda$Q0WI2EJpRFO1jF_7_YDaj1eGHas(Lcom/android/server/PackageWatchdog;)Z
+PLcom/android/server/PackageWatchdog;->lambda$onPackageFailure$3$PackageWatchdog(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->lambda$onPackagesReady$1$PackageWatchdog(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->lambda$onPackagesReady$2$PackageWatchdog()V
HSPLcom/android/server/PackageWatchdog;->loadFromFile()V
-HSPLcom/android/server/PackageWatchdog;->onPackageFailure(Ljava/util/List;)V
-HSPLcom/android/server/PackageWatchdog;->pruneObservers(J)V
-HSPLcom/android/server/PackageWatchdog;->registerHealthObserver(Lcom/android/server/PackageWatchdog$PackageHealthObserver;)V
-HSPLcom/android/server/PackageWatchdog;->rescheduleCleanup()V
+PLcom/android/server/PackageWatchdog;->onPackagesReady()V
+PLcom/android/server/PackageWatchdog;->onSupportedPackages(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->pruneObserversLocked()V
+PLcom/android/server/PackageWatchdog;->registerConnectivityModuleHealthListener()V
+PLcom/android/server/PackageWatchdog;->registerHealthObserver(Lcom/android/server/PackageWatchdog$PackageHealthObserver;)V
PLcom/android/server/PackageWatchdog;->saveToFile()Z
+PLcom/android/server/PackageWatchdog;->saveToFileAsync()V
+PLcom/android/server/PackageWatchdog;->scheduleNextSyncStateLocked()V
+PLcom/android/server/PackageWatchdog;->setExplicitHealthCheckEnabled(Z)V
+PLcom/android/server/PackageWatchdog;->setPropertyChangedListenerLocked()V
+PLcom/android/server/PackageWatchdog;->syncRequests()V
+PLcom/android/server/PackageWatchdog;->syncRequestsAsync()V
+PLcom/android/server/PackageWatchdog;->syncState(Ljava/lang/String;)V
+PLcom/android/server/PackageWatchdog;->updateConfigs()V
+PLcom/android/server/PersistentDataBlockService$1;-><init>(Lcom/android/server/PersistentDataBlockService;)V
PLcom/android/server/PersistentDataBlockService$1;->getFlashLockState()I
PLcom/android/server/PersistentDataBlockService$1;->getMaximumDataBlockSize()J
PLcom/android/server/PersistentDataBlockService$1;->read()[B
PLcom/android/server/PersistentDataBlockService$1;->write([B)I
-HSPLcom/android/server/PersistentDataBlockService$2;->getTestHarnessModeData()[B
-HSPLcom/android/server/PersistentDataBlockService$2;->readInternal(JI)[B
-HSPLcom/android/server/PersistentDataBlockService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/PersistentDataBlockService;->computeAndWriteDigestLocked()Z
-HSPLcom/android/server/PersistentDataBlockService;->computeDigestLocked([B)[B
-HSPLcom/android/server/PersistentDataBlockService;->doGetOemUnlockEnabled()Z
-HSPLcom/android/server/PersistentDataBlockService;->doSetOemUnlockEnabledLocked(Z)V
-HSPLcom/android/server/PersistentDataBlockService;->enforceChecksumValidity()Z
+PLcom/android/server/PersistentDataBlockService$2;-><init>(Lcom/android/server/PersistentDataBlockService;)V
+PLcom/android/server/PersistentDataBlockService$2;->getTestHarnessModeData()[B
+PLcom/android/server/PersistentDataBlockService$2;->readInternal(JI)[B
+PLcom/android/server/PersistentDataBlockService;-><clinit>()V
+PLcom/android/server/PersistentDataBlockService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/PersistentDataBlockService;->access$1900(Lcom/android/server/PersistentDataBlockService;)J
+PLcom/android/server/PersistentDataBlockService;->access$200(Lcom/android/server/PersistentDataBlockService;)Ljava/lang/String;
+PLcom/android/server/PersistentDataBlockService;->access$400(Lcom/android/server/PersistentDataBlockService;)Ljava/lang/Object;
+PLcom/android/server/PersistentDataBlockService;->access$700(Lcom/android/server/PersistentDataBlockService;)Z
+PLcom/android/server/PersistentDataBlockService;->access$800(Lcom/android/server/PersistentDataBlockService;Ljava/io/DataInputStream;)I
+PLcom/android/server/PersistentDataBlockService;->computeAndWriteDigestLocked()Z
+PLcom/android/server/PersistentDataBlockService;->computeDigestLocked([B)[B
+PLcom/android/server/PersistentDataBlockService;->doGetOemUnlockEnabled()Z
+PLcom/android/server/PersistentDataBlockService;->enforceChecksumValidity()Z
PLcom/android/server/PersistentDataBlockService;->enforceUid(I)V
-HSPLcom/android/server/PersistentDataBlockService;->formatIfOemUnlockEnabled()V
-HSPLcom/android/server/PersistentDataBlockService;->formatPartitionLocked(Z)V
-HSPLcom/android/server/PersistentDataBlockService;->getAllowedUid(I)I
-HSPLcom/android/server/PersistentDataBlockService;->getBlockDeviceSize()J
-HSPLcom/android/server/PersistentDataBlockService;->lambda$onStart$0$PersistentDataBlockService()V
-HSPLcom/android/server/PersistentDataBlockService;->onBootPhase(I)V
-HSPLcom/android/server/PersistentDataBlockService;->onStart()V
+PLcom/android/server/PersistentDataBlockService;->formatIfOemUnlockEnabled()V
+PLcom/android/server/PersistentDataBlockService;->getAllowedUid(I)I
+PLcom/android/server/PersistentDataBlockService;->getBlockDeviceSize()J
+PLcom/android/server/PersistentDataBlockService;->getFrpCredentialDataOffset()J
+PLcom/android/server/PersistentDataBlockService;->getTestHarnessModeDataOffset()J
+PLcom/android/server/PersistentDataBlockService;->getTotalDataSizeLocked(Ljava/io/DataInputStream;)I
+PLcom/android/server/PersistentDataBlockService;->lambda$onStart$0$PersistentDataBlockService()V
+PLcom/android/server/PersistentDataBlockService;->onBootPhase(I)V
+PLcom/android/server/PersistentDataBlockService;->onStart()V
+PLcom/android/server/PinnerService$1;-><init>(Lcom/android/server/PinnerService;)V
PLcom/android/server/PinnerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/PinnerService$3;->onUidActive(I)V
-HSPLcom/android/server/PinnerService$3;->onUidGone(IZ)V
-PLcom/android/server/PinnerService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/PinnerService$PinRangeSourceStatic;->read(Lcom/android/server/PinnerService$PinRange;)Z
-HSPLcom/android/server/PinnerService$PinRangeSourceStream;->read(Lcom/android/server/PinnerService$PinRange;)Z
-HSPLcom/android/server/PinnerService$PinnedFile;->finalize()V
-HSPLcom/android/server/PinnerService$PinnerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/PinnerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/PinnerService;->getApplicationInfoForIntent(Landroid/content/Intent;IZ)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/PinnerService;->getCameraInfo(I)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/PinnerService;->getUidForKey(I)I
-HSPLcom/android/server/PinnerService;->handlePinOnStart()V
-HSPLcom/android/server/PinnerService;->handleUidGone(I)V
-HSPLcom/android/server/PinnerService;->maybeOpenPinMetaInZip(Ljava/util/zip/ZipFile;Ljava/lang/String;)Ljava/io/InputStream;
-HSPLcom/android/server/PinnerService;->maybeOpenZip(Ljava/lang/String;)Ljava/util/zip/ZipFile;
-HSPLcom/android/server/PinnerService;->onStart()V
-HSPLcom/android/server/PinnerService;->onUnlockUser(I)V
-HSPLcom/android/server/PinnerService;->pinApp(IIZ)V
-HSPLcom/android/server/PinnerService;->pinApp(ILandroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/PinnerService;->pinFile(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
-HSPLcom/android/server/PinnerService;->pinFileRanges(Ljava/lang/String;ILcom/android/server/PinnerService$PinRangeSource;)Lcom/android/server/PinnerService$PinnedFile;
-HSPLcom/android/server/PinnerService;->registerUidListener()V
-HSPLcom/android/server/PinnerService;->safeClose(Ljava/io/Closeable;)V
-HSPLcom/android/server/PinnerService;->safeClose(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/PinnerService;->safeMunmap(JJ)V
-HSPLcom/android/server/PinnerService;->unpinApp(I)V
+PLcom/android/server/PinnerService$2;-><init>(Lcom/android/server/PinnerService;Landroid/os/Handler;Landroid/net/Uri;)V
+PLcom/android/server/PinnerService$3;-><init>(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService$3;->lambda$onUidActive$1(Ljava/lang/Object;I)V
+PLcom/android/server/PinnerService$3;->lambda$onUidGone$0(Ljava/lang/Object;I)V
+PLcom/android/server/PinnerService$3;->onUidActive(I)V
+PLcom/android/server/PinnerService$3;->onUidGone(IZ)V
+PLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;Lcom/android/server/PinnerService$1;)V
+PLcom/android/server/PinnerService$PinRange;-><init>()V
+PLcom/android/server/PinnerService$PinRangeSource;-><init>()V
+PLcom/android/server/PinnerService$PinRangeSource;-><init>(Lcom/android/server/PinnerService$1;)V
+PLcom/android/server/PinnerService$PinRangeSourceStatic;-><init>(II)V
+PLcom/android/server/PinnerService$PinRangeSourceStatic;->read(Lcom/android/server/PinnerService$PinRange;)Z
+PLcom/android/server/PinnerService$PinRangeSourceStream;-><init>(Ljava/io/InputStream;)V
+PLcom/android/server/PinnerService$PinRangeSourceStream;->read(Lcom/android/server/PinnerService$PinRange;)Z
+PLcom/android/server/PinnerService$PinnedApp;-><init>(Lcom/android/server/PinnerService;Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/PinnerService$PinnedApp;-><init>(Lcom/android/server/PinnerService;Landroid/content/pm/ApplicationInfo;Lcom/android/server/PinnerService$1;)V
+PLcom/android/server/PinnerService$PinnedFile;-><init>(JILjava/lang/String;I)V
+PLcom/android/server/PinnerService$PinnedFile;->close()V
+PLcom/android/server/PinnerService$PinnedFile;->finalize()V
+PLcom/android/server/PinnerService$PinnerHandler;-><init>(Lcom/android/server/PinnerService;Landroid/os/Looper;)V
+PLcom/android/server/PinnerService$PinnerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/PinnerService;-><clinit>()V
+PLcom/android/server/PinnerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/PinnerService;->access$1200(JJ)V
+PLcom/android/server/PinnerService;->access$1300(Lcom/android/server/PinnerService;)Landroid/app/ActivityManagerInternal;
+PLcom/android/server/PinnerService;->access$1400(Lcom/android/server/PinnerService;)V
+PLcom/android/server/PinnerService;->access$200(Lcom/android/server/PinnerService;)Lcom/android/server/PinnerService$PinnerHandler;
+PLcom/android/server/PinnerService;->access$300(Lcom/android/server/PinnerService;I)V
+PLcom/android/server/PinnerService;->access$400(Lcom/android/server/PinnerService;I)V
+HPLcom/android/server/PinnerService;->clamp(III)I
+PLcom/android/server/PinnerService;->getApplicationInfoForIntent(Landroid/content/Intent;IZ)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/PinnerService;->getCameraInfo(I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/PinnerService;->getHomeInfo(I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/PinnerService;->getInfoForKey(II)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/PinnerService;->getSizeLimitForKey(I)I
+PLcom/android/server/PinnerService;->getUidForKey(I)I
+PLcom/android/server/PinnerService;->handlePinOnStart()V
+PLcom/android/server/PinnerService;->handleUidActive(I)V
+PLcom/android/server/PinnerService;->handleUidGone(I)V
+PLcom/android/server/PinnerService;->isResolverActivity(Landroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/PinnerService;->lambda$GeEX-8XoHeV0LEszxat7jOSlrs4(Lcom/android/server/PinnerService;I)V
+PLcom/android/server/PinnerService;->maybeOpenPinMetaInZip(Ljava/util/zip/ZipFile;Ljava/lang/String;)Ljava/io/InputStream;
+PLcom/android/server/PinnerService;->maybeOpenZip(Ljava/lang/String;)Ljava/util/zip/ZipFile;
+PLcom/android/server/PinnerService;->onBootPhase(I)V
+PLcom/android/server/PinnerService;->onStart()V
+PLcom/android/server/PinnerService;->onUnlockUser(I)V
+PLcom/android/server/PinnerService;->pinApp(IIZ)V
+PLcom/android/server/PinnerService;->pinApp(ILandroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/PinnerService;->pinApps(I)V
+PLcom/android/server/PinnerService;->pinFile(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
+PLcom/android/server/PinnerService;->pinFileRanges(Ljava/lang/String;ILcom/android/server/PinnerService$PinRangeSource;)Lcom/android/server/PinnerService$PinnedFile;
+PLcom/android/server/PinnerService;->registerUidListener()V
+PLcom/android/server/PinnerService;->registerUserSetupCompleteListener()V
+PLcom/android/server/PinnerService;->safeClose(Ljava/io/Closeable;)V
+PLcom/android/server/PinnerService;->safeClose(Ljava/io/FileDescriptor;)V
+PLcom/android/server/PinnerService;->safeMunmap(JJ)V
+PLcom/android/server/PinnerService;->sendPinAppsMessage(I)V
+PLcom/android/server/PinnerService;->unpinApp(I)V
PLcom/android/server/PinnerService;->update(Landroid/util/ArraySet;Z)V
-HSPLcom/android/server/PinnerService;->updateActiveState(IZ)V
+PLcom/android/server/PinnerService;->updateActiveState(IZ)V
+PLcom/android/server/PruneInstantAppsJobService;-><clinit>()V
PLcom/android/server/PruneInstantAppsJobService;-><init>()V
-PLcom/android/server/PruneInstantAppsJobService;->lambda$onStartJob$0$PruneInstantAppsJobService(Landroid/app/job/JobParameters;)V
PLcom/android/server/PruneInstantAppsJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/PruneInstantAppsJobService;->schedule(Landroid/content/Context;)V
-HSPLcom/android/server/RandomBlock;->close(Ljava/io/Closeable;)V
-HSPLcom/android/server/RandomBlock;->fromFile(Ljava/lang/String;)Lcom/android/server/RandomBlock;
-HSPLcom/android/server/RandomBlock;->fromStream(Ljava/io/InputStream;)Lcom/android/server/RandomBlock;
-HSPLcom/android/server/RandomBlock;->toFile(Ljava/lang/String;Z)V
-HSPLcom/android/server/RandomBlock;->truncateIfPossible(Ljava/io/RandomAccessFile;)V
-HSPLcom/android/server/RecoverySystemService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/RecoverySystemService;->onStart()V
-HSPLcom/android/server/RescueParty$AppThreshold;->getStart()J
-HSPLcom/android/server/RescueParty$AppThreshold;->setCount(I)V
-PLcom/android/server/RescueParty$AppThreshold;->setStart(J)V
+PLcom/android/server/PruneInstantAppsJobService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/RandomBlock;-><init>()V
+PLcom/android/server/RandomBlock;->close(Ljava/io/Closeable;)V
+PLcom/android/server/RandomBlock;->fromFile(Ljava/lang/String;)Lcom/android/server/RandomBlock;
+PLcom/android/server/RandomBlock;->fromStream(Ljava/io/InputStream;)Lcom/android/server/RandomBlock;
+PLcom/android/server/RandomBlock;->toDataOut(Ljava/io/DataOutput;)V
+PLcom/android/server/RandomBlock;->toFile(Ljava/lang/String;Z)V
+PLcom/android/server/RandomBlock;->truncateIfPossible(Ljava/io/RandomAccessFile;)V
HSPLcom/android/server/RescueParty$BootThreshold;-><init>()V
-HSPLcom/android/server/RescueParty$BootThreshold;->getCount()I
-HSPLcom/android/server/RescueParty$BootThreshold;->getStart()J
-HSPLcom/android/server/RescueParty$BootThreshold;->setCount(I)V
-HSPLcom/android/server/RescueParty$BootThreshold;->setStart(J)V
-HSPLcom/android/server/RescueParty$Threshold;->incrementAndTest()Z
-HSPLcom/android/server/RescueParty;->executeRescueLevel(Landroid/content/Context;)V
+HSPLcom/android/server/RescueParty$Threshold;-><init>(IIJ)V
+HSPLcom/android/server/RescueParty;-><clinit>()V
+PLcom/android/server/RescueParty;->executeRescueLevel(Landroid/content/Context;)V
+PLcom/android/server/RescueParty;->handleNativeRescuePartyResets()V
HSPLcom/android/server/RescueParty;->isDisabled()Z
HSPLcom/android/server/RescueParty;->isUsbActive()Z
-HSPLcom/android/server/RescueParty;->noteAppCrash(Landroid/content/Context;I)V
HSPLcom/android/server/RescueParty;->noteBoot(Landroid/content/Context;)V
-HSPLcom/android/server/RuntimeService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/RuntimeService;->addDistroVersionDebugInfo(Ljava/lang/String;Ljava/lang/String;Llibcore/util/DebugInfo;)V
-PLcom/android/server/RuntimeService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/RuntimeService;->reportTimeZoneInfo(Llibcore/util/DebugInfo;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/SensorNotificationService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/SensorNotificationService;->onBootPhase(I)V
+PLcom/android/server/RescueParty;->onSettingsProviderPublished(Landroid/content/Context;)V
+PLcom/android/server/RuntimeService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SensorNotificationService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SensorNotificationService;->onBootPhase(I)V
PLcom/android/server/SensorNotificationService;->onLocationChanged(Landroid/location/Location;)V
-HSPLcom/android/server/SensorNotificationService;->onProviderDisabled(Ljava/lang/String;)V
-PLcom/android/server/SensorNotificationService;->onProviderEnabled(Ljava/lang/String;)V
-HSPLcom/android/server/SensorNotificationService;->onStart()V
-HSPLcom/android/server/SensorPrivacyService$DeathRecipient;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/hardware/ISensorPrivacyListener;)V
-HSPLcom/android/server/SensorPrivacyService$DeathRecipient;->binderDied()V
-HSPLcom/android/server/SensorPrivacyService$DeathRecipient;->destroy()V
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyHandler;->addListener(Landroid/hardware/ISensorPrivacyListener;)V
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyHandler;->removeListener(Landroid/hardware/ISensorPrivacyListener;)V
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/content/Context;)V
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->addSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->isSensorPrivacyEnabled()Z
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->readPersistedSensorPrivacyEnabledLocked()Z
-HSPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->removeSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
-HSPLcom/android/server/SensorPrivacyService;->onStart()V
-HSPLcom/android/server/SerialService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SensorNotificationService;->onStart()V
+PLcom/android/server/SensorPrivacyService$DeathRecipient;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/SensorPrivacyService$SensorPrivacyHandler;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/os/Looper;Landroid/content/Context;)V
+PLcom/android/server/SensorPrivacyService$SensorPrivacyHandler;->addListener(Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/content/Context;)V
+PLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->addSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
+PLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->isSensorPrivacyEnabled()Z
+PLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->readPersistedSensorPrivacyEnabledLocked()Z
+PLcom/android/server/SensorPrivacyService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SensorPrivacyService;->onStart()V
+PLcom/android/server/SerialService;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/ServiceThread;-><init>(Ljava/lang/String;IZ)V
HSPLcom/android/server/ServiceThread;->run()V
+PLcom/android/server/ServiceWatcher$1;-><init>(Lcom/android/server/ServiceWatcher;)V
PLcom/android/server/ServiceWatcher$1;->onPackageAdded(Ljava/lang/String;I)V
-HSPLcom/android/server/ServiceWatcher$1;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
-HSPLcom/android/server/ServiceWatcher$1;->onPackageRemoved(Ljava/lang/String;I)V
+PLcom/android/server/ServiceWatcher$1;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
PLcom/android/server/ServiceWatcher$1;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HSPLcom/android/server/ServiceWatcher$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/ServiceWatcher;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
-HSPLcom/android/server/ServiceWatcher;->bind(Landroid/content/ComponentName;II)V
-HSPLcom/android/server/ServiceWatcher;->bindBestPackage(Z)V
-HSPLcom/android/server/ServiceWatcher;->getCurrentPackageName()Ljava/lang/String;
-HSPLcom/android/server/ServiceWatcher;->getSignatureSets(Landroid/content/Context;[Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/server/ServiceWatcher;->isSignatureMatch([Landroid/content/pm/Signature;Ljava/util/List;)Z
-HSPLcom/android/server/ServiceWatcher;->lambda$onServiceConnected$3$ServiceWatcher(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/ServiceWatcher;->lambda$onServiceDisconnected$4$ServiceWatcher(Landroid/content/ComponentName;)V
-HSPLcom/android/server/ServiceWatcher;->lambda$runOnBinder$1$ServiceWatcher(Lcom/android/server/ServiceWatcher$BinderRunner;)V
-PLcom/android/server/ServiceWatcher;->lambda$runOnBinderBlocking$2$ServiceWatcher(Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)Ljava/lang/Object;
-HSPLcom/android/server/ServiceWatcher;->lambda$start$0$ServiceWatcher()V
+PLcom/android/server/ServiceWatcher$2;-><init>(Lcom/android/server/ServiceWatcher;)V
+PLcom/android/server/ServiceWatcher$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/ServiceWatcher;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
+PLcom/android/server/ServiceWatcher;->access$000(Lcom/android/server/ServiceWatcher;Z)V
+PLcom/android/server/ServiceWatcher;->access$102(Lcom/android/server/ServiceWatcher;I)I
+PLcom/android/server/ServiceWatcher;->bind(Landroid/content/ComponentName;II)V
+PLcom/android/server/ServiceWatcher;->bindBestPackage(Z)V
+PLcom/android/server/ServiceWatcher;->getCurrentPackageName()Ljava/lang/String;
+PLcom/android/server/ServiceWatcher;->getSignatureSets(Landroid/content/Context;[Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/ServiceWatcher;->isServiceMissing()Z
+PLcom/android/server/ServiceWatcher;->isSignatureMatch([Landroid/content/pm/Signature;Ljava/util/List;)Z
+PLcom/android/server/ServiceWatcher;->lambda$onServiceConnected$3$ServiceWatcher(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/ServiceWatcher;->lambda$runOnBinder$1$ServiceWatcher(Lcom/android/server/ServiceWatcher$BinderRunner;)V
+PLcom/android/server/ServiceWatcher;->lambda$start$0$ServiceWatcher()V
PLcom/android/server/ServiceWatcher;->onBind()V
-HSPLcom/android/server/ServiceWatcher;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/ServiceWatcher;->onServiceDisconnected(Landroid/content/ComponentName;)V
-PLcom/android/server/ServiceWatcher;->onUnbind()V
-PLcom/android/server/ServiceWatcher;->runOnBinderBlocking(Lcom/android/server/ServiceWatcher$BlockingBinderRunner;Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/ServiceWatcher;->runOnHandlerBlocking(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
-HSPLcom/android/server/ServiceWatcher;->start()Z
-HSPLcom/android/server/ServiceWatcher;->toString()Ljava/lang/String;
-HSPLcom/android/server/ServiceWatcher;->unbind()V
-HSPLcom/android/server/StorageManagerService$4;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/StorageManagerService$4;->onVolumeDestroyed(Ljava/lang/String;)V
-HSPLcom/android/server/StorageManagerService$4;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/StorageManagerService$4;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/StorageManagerService$4;->onVolumeStateChanged(Ljava/lang/String;I)V
-HSPLcom/android/server/StorageManagerService$8;->onFinished(ILandroid/os/PersistableBundle;)V
-HSPLcom/android/server/StorageManagerService$8;->onStatus(ILandroid/os/PersistableBundle;)V
-PLcom/android/server/StorageManagerService$9;->onFinished(ILandroid/os/PersistableBundle;)V
-PLcom/android/server/StorageManagerService$AppFuseMountScope;->close()V
-PLcom/android/server/StorageManagerService$AppFuseMountScope;->open()Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/StorageManagerService$AppFuseMountScope;->openFile(III)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/StorageManagerService$Callbacks;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/StorageManagerService$Callbacks;->invokeCallback(Landroid/os/storage/IStorageEventListener;ILcom/android/internal/os/SomeArgs;)V
-HSPLcom/android/server/StorageManagerService$Callbacks;->register(Landroid/os/storage/IStorageEventListener;)V
-HSPLcom/android/server/StorageManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/StorageManagerService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/StorageManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/StorageManagerService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->destroySandboxForApp(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getSandboxId(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z
-PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onExternalStoragePolicyChanged(ILjava/lang/String;)V
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onReset(Landroid/os/IVold;)V
-HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->prepareSandboxForApp(Ljava/lang/String;ILjava/lang/String;I)V
-HSPLcom/android/server/StorageManagerService$StorageManagerServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/StorageManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/ServiceWatcher;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/ServiceWatcher;->runOnBinder(Lcom/android/server/ServiceWatcher$BinderRunner;)V
+PLcom/android/server/ServiceWatcher;->runOnHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/ServiceWatcher;->start()Z
+PLcom/android/server/ServiceWatcher;->unbind()V
+PLcom/android/server/StorageManagerService$13;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$13;->opChanged(IILjava/lang/String;)V
+PLcom/android/server/StorageManagerService$1;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$2;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Handler;)V
+PLcom/android/server/StorageManagerService$3;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Handler;)V
+PLcom/android/server/StorageManagerService$4;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$4;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/StorageManagerService$4;->onVolumeDestroyed(Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$4;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$4;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService$4;->onVolumeStateChanged(Ljava/lang/String;I)V
+PLcom/android/server/StorageManagerService$5;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$6;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$7;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService$Callbacks;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/StorageManagerService$Callbacks;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/StorageManagerService$Callbacks;->invokeCallback(Landroid/os/storage/IStorageEventListener;ILcom/android/internal/os/SomeArgs;)V
+PLcom/android/server/StorageManagerService$Callbacks;->register(Landroid/os/storage/IStorageEventListener;)V
+PLcom/android/server/StorageManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/StorageManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/StorageManagerService$Lifecycle;->onStart()V
+PLcom/android/server/StorageManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/StorageManagerService$ObbActionHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService$1;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z
+HPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onAppOpsChanged(IILjava/lang/String;I)V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onReset(Landroid/os/IVold;)V
+PLcom/android/server/StorageManagerService$StorageManagerServiceHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V
+PLcom/android/server/StorageManagerService$StorageManagerServiceHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/StorageManagerService;-><clinit>()V
+PLcom/android/server/StorageManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/StorageManagerService;->access$000(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$100(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$1000(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$1100(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$200(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$2200(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/StorageManagerService;->access$2700(Lcom/android/server/StorageManagerService;)Ljava/lang/Object;
+PLcom/android/server/StorageManagerService;->access$2800(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
+PLcom/android/server/StorageManagerService;->access$300(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->access$3200(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->access$4800()Z
+PLcom/android/server/StorageManagerService;->access$4900(Lcom/android/server/StorageManagerService;ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService;->access$5000(Lcom/android/server/StorageManagerService;II)V
+PLcom/android/server/StorageManagerService;->access$900(Lcom/android/server/StorageManagerService;)V
+PLcom/android/server/StorageManagerService;->addInternalVolumeLocked()V
PLcom/android/server/StorageManagerService;->adjustAllocateFlags(IILjava/lang/String;)I
PLcom/android/server/StorageManagerService;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
-HSPLcom/android/server/StorageManagerService;->clearPassword()V
-HSPLcom/android/server/StorageManagerService;->commitChanges()V
-HSPLcom/android/server/StorageManagerService;->connect()V
-HSPLcom/android/server/StorageManagerService;->copyLocaleFromMountService()V
-HSPLcom/android/server/StorageManagerService;->dispatchOnFinished(Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
-HSPLcom/android/server/StorageManagerService;->dispatchOnStatus(Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
-PLcom/android/server/StorageManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/StorageManagerService;->findRecordForPath(Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
-HSPLcom/android/server/StorageManagerService;->fstrim(ILandroid/os/IVoldTaskListener;)V
+PLcom/android/server/StorageManagerService;->bootCompleted()V
+PLcom/android/server/StorageManagerService;->clearPassword()V
+PLcom/android/server/StorageManagerService;->commitChanges()V
+PLcom/android/server/StorageManagerService;->completeUnlockUser(I)V
+PLcom/android/server/StorageManagerService;->connectStoraged()V
+PLcom/android/server/StorageManagerService;->connectVold()V
+PLcom/android/server/StorageManagerService;->copyLocaleFromMountService()V
+PLcom/android/server/StorageManagerService;->encodeBytes([B)Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->enforcePermission(Ljava/lang/String;)V
PLcom/android/server/StorageManagerService;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
-PLcom/android/server/StorageManagerService;->getCacheQuotaBytes(Ljava/lang/String;I)J
-PLcom/android/server/StorageManagerService;->getCacheSizeBytes(Ljava/lang/String;I)J
-HSPLcom/android/server/StorageManagerService;->getDisks()[Landroid/os/storage/DiskInfo;
-HSPLcom/android/server/StorageManagerService;->getField(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/StorageManagerService;->getMountMode(ILjava/lang/String;)I
-HSPLcom/android/server/StorageManagerService;->getPassword()Ljava/lang/String;
-PLcom/android/server/StorageManagerService;->getPrimaryStorageUuid()Ljava/lang/String;
-HSPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
-HSPLcom/android/server/StorageManagerService;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
-HSPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
-HSPLcom/android/server/StorageManagerService;->handleSystemReady()V
-HSPLcom/android/server/StorageManagerService;->initIfBootedAndConnected()V
-HSPLcom/android/server/StorageManagerService;->isBroadcastWorthy(Landroid/os/storage/VolumeInfo;)Z
-PLcom/android/server/StorageManagerService;->isConvertibleToFBE()Z
-HSPLcom/android/server/StorageManagerService;->isMountDisallowed(Landroid/os/storage/VolumeInfo;)Z
-HSPLcom/android/server/StorageManagerService;->isUserKeyUnlocked(I)Z
-HSPLcom/android/server/StorageManagerService;->killMediaProvider(Ljava/util/List;)V
-HSPLcom/android/server/StorageManagerService;->lastMaintenance()J
-HSPLcom/android/server/StorageManagerService;->maybeLogMediaMount(Landroid/os/storage/VolumeInfo;I)V
-HSPLcom/android/server/StorageManagerService;->monitor()V
-HSPLcom/android/server/StorageManagerService;->mount(Landroid/os/storage/VolumeInfo;)V
-PLcom/android/server/StorageManagerService;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount;
+PLcom/android/server/StorageManagerService;->getDefaultPrimaryStorageUuid()Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->getDisks()[Landroid/os/storage/DiskInfo;
+PLcom/android/server/StorageManagerService;->getField(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->getMountMode(ILjava/lang/String;)I
+HPLcom/android/server/StorageManagerService;->getMountModeInternal(ILjava/lang/String;)I
+PLcom/android/server/StorageManagerService;->getPassword()Ljava/lang/String;
+HPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
+PLcom/android/server/StorageManagerService;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
+HPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
+PLcom/android/server/StorageManagerService;->handleBootCompleted()V
+PLcom/android/server/StorageManagerService;->handleDaemonConnected()V
+PLcom/android/server/StorageManagerService;->handleSystemReady()V
+PLcom/android/server/StorageManagerService;->initIfBootedAndConnected()V
+PLcom/android/server/StorageManagerService;->isBroadcastWorthy(Landroid/os/storage/VolumeInfo;)Z
+PLcom/android/server/StorageManagerService;->isMountDisallowed(Landroid/os/storage/VolumeInfo;)Z
+HPLcom/android/server/StorageManagerService;->isSystemUnlocked(I)Z
+HPLcom/android/server/StorageManagerService;->isUserKeyUnlocked(I)Z
+PLcom/android/server/StorageManagerService;->killMediaProvider(Ljava/util/List;)V
+PLcom/android/server/StorageManagerService;->lastMaintenance()J
+PLcom/android/server/StorageManagerService;->maybeLogMediaMount(Landroid/os/storage/VolumeInfo;I)V
+PLcom/android/server/StorageManagerService;->mkdirs(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService;->monitor()V
+PLcom/android/server/StorageManagerService;->mount(Landroid/os/storage/VolumeInfo;)V
PLcom/android/server/StorageManagerService;->onAwakeStateChanged(Z)V
-HSPLcom/android/server/StorageManagerService;->onDaemonConnected()V
-HSPLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V
-HSPLcom/android/server/StorageManagerService;->onUnlockUser(I)V
-HSPLcom/android/server/StorageManagerService;->onVolumeCreatedLocked(Landroid/os/storage/VolumeInfo;)V
-HSPLcom/android/server/StorageManagerService;->onVolumeStateChangedLocked(Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/StorageManagerService;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/StorageManagerService;->prepareUserStorage(Ljava/lang/String;III)V
-HSPLcom/android/server/StorageManagerService;->readSettingsLocked()V
-HSPLcom/android/server/StorageManagerService;->recoverFrom128872367()V
-HSPLcom/android/server/StorageManagerService;->refreshIsolatedStorageSettings()V
-HSPLcom/android/server/StorageManagerService;->refreshZramSettings()V
-HSPLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V
-HSPLcom/android/server/StorageManagerService;->resetIfBootedAndConnected()V
-PLcom/android/server/StorageManagerService;->runIdleMaint(Ljava/lang/Runnable;)V
-HSPLcom/android/server/StorageManagerService;->runIdleMaintenance(Ljava/lang/Runnable;)V
-HSPLcom/android/server/StorageManagerService;->runMaintenance()V
-HSPLcom/android/server/StorageManagerService;->scrubPath(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/StorageManagerService;->sendUserStartedCallback(I)V
-HSPLcom/android/server/StorageManagerService;->servicesReady()V
-HSPLcom/android/server/StorageManagerService;->setField(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/StorageManagerService;->translateAppToSystem(Ljava/lang/String;II)Ljava/lang/String;
-HSPLcom/android/server/StorageManagerService;->translateInternal(Ljava/lang/String;IIZ)Ljava/lang/String;
-PLcom/android/server/StorageManagerService;->translateSystemToApp(Ljava/lang/String;II)Ljava/lang/String;
-HSPLcom/android/server/StorageManagerService;->unlockUserKey(II[B[B)V
+PLcom/android/server/StorageManagerService;->onDaemonConnected()V
+PLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V
+PLcom/android/server/StorageManagerService;->onUnlockUser(I)V
+PLcom/android/server/StorageManagerService;->onVolumeCreatedLocked(Landroid/os/storage/VolumeInfo;)V
+PLcom/android/server/StorageManagerService;->onVolumeStateChangedLocked(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService;->prepareUserStorage(Ljava/lang/String;III)V
+PLcom/android/server/StorageManagerService;->readSettingsLocked()V
+PLcom/android/server/StorageManagerService;->refreshIsolatedStorageSettings()V
+PLcom/android/server/StorageManagerService;->refreshZramSettings()V
+PLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V
+PLcom/android/server/StorageManagerService;->remountUidExternalStorage(II)V
+PLcom/android/server/StorageManagerService;->resetIfBootedAndConnected()V
+PLcom/android/server/StorageManagerService;->servicesReady()V
+PLcom/android/server/StorageManagerService;->start()V
+PLcom/android/server/StorageManagerService;->systemReady()V
+PLcom/android/server/StorageManagerService;->unlockUserKey(II[B[B)V
+PLcom/android/server/StorageManagerService;->updateFusePropFromSettings()V
HSPLcom/android/server/SystemServer;-><init>()V
-HSPLcom/android/server/SystemServer;->lambda$startOtherServices$1()V
-HSPLcom/android/server/SystemServer;->lambda$startOtherServices$3$SystemServer()V
-HSPLcom/android/server/SystemServer;->lambda$startOtherServices$4$SystemServer(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+HSPLcom/android/server/SystemServer;->createSystemContext()V
+PLcom/android/server/SystemServer;->deviceHasConfigString(Landroid/content/Context;I)Z
+PLcom/android/server/SystemServer;->isFirstBootOrUpgrade()Z
+PLcom/android/server/SystemServer;->lambda$startBootstrapServices$0()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$1()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$2()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$3$SystemServer()V
+PLcom/android/server/SystemServer;->lambda$startOtherServices$4$SystemServer(Lcom/android/server/utils/TimingsTraceAndSlog;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
HSPLcom/android/server/SystemServer;->main([Ljava/lang/String;)V
HSPLcom/android/server/SystemServer;->performPendingShutdown()V
HSPLcom/android/server/SystemServer;->run()V
-HSPLcom/android/server/SystemServer;->startAttentionService(Landroid/content/Context;)V
-HSPLcom/android/server/SystemServer;->startBootstrapServices()V
-HSPLcom/android/server/SystemServer;->startContentCaptureService(Landroid/content/Context;)V
-HSPLcom/android/server/SystemServer;->startCoreServices()V
-HSPLcom/android/server/SystemServer;->startOtherServices()V
-HSPLcom/android/server/SystemServer;->traceBeginAndSlog(Ljava/lang/String;)V
-HSPLcom/android/server/SystemServer;->traceEnd()V
-HSPLcom/android/server/SystemServerInitThreadPool;->get()Lcom/android/server/SystemServerInitThreadPool;
-HSPLcom/android/server/SystemServerInitThreadPool;->lambda$submit$0(Ljava/lang/String;Ljava/lang/Runnable;)V
-HSPLcom/android/server/SystemServerInitThreadPool;->shutdown()V
+PLcom/android/server/SystemServer;->startAttentionService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+HSPLcom/android/server/SystemServer;->startBootstrapServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startContentCaptureService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startCoreServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startOtherServices(Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startSystemCaptionsManagerService(Landroid/content/Context;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/SystemServer;->startSystemUi(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
+HSPLcom/android/server/SystemServerInitThreadPool;-><clinit>()V
+HSPLcom/android/server/SystemServerInitThreadPool;-><init>()V
+HSPLcom/android/server/SystemServerInitThreadPool;->lambda$submitTask$0$SystemServerInitThreadPool(Ljava/lang/String;Ljava/lang/Runnable;)V
+PLcom/android/server/SystemServerInitThreadPool;->shutdown()V
+HSPLcom/android/server/SystemServerInitThreadPool;->start()V
HSPLcom/android/server/SystemServerInitThreadPool;->submit(Ljava/lang/Runnable;Ljava/lang/String;)Ljava/util/concurrent/Future;
+HSPLcom/android/server/SystemServerInitThreadPool;->submitTask(Ljava/lang/Runnable;Ljava/lang/String;)Ljava/util/concurrent/Future;
HSPLcom/android/server/SystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SystemService;->getBinderService(Ljava/lang/String;)Landroid/os/IBinder;
HSPLcom/android/server/SystemService;->getContext()Landroid/content/Context;
-HSPLcom/android/server/SystemService;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
+PLcom/android/server/SystemService;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
+PLcom/android/server/SystemService;->getManager()Lcom/android/server/SystemServiceManager;
+PLcom/android/server/SystemService;->isSafeMode()Z
+PLcom/android/server/SystemService;->isSupported(Landroid/content/pm/UserInfo;)Z
HSPLcom/android/server/SystemService;->onBootPhase(I)V
-HSPLcom/android/server/SystemService;->onStartUser(I)V
-HSPLcom/android/server/SystemService;->onUnlockUser(I)V
+PLcom/android/server/SystemService;->onStartUser(I)V
+PLcom/android/server/SystemService;->onStartUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/SystemService;->onUnlockUser(I)V
+PLcom/android/server/SystemService;->onUnlockUser(Landroid/content/pm/UserInfo;)V
HSPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;)V
-PLcom/android/server/SystemServiceManager;->getRuntimeStartElapsedTime()J
-PLcom/android/server/SystemServiceManager;->getRuntimeStartUptime()J
-HSPLcom/android/server/SystemServiceManager;->isBootCompleted()Z
-HSPLcom/android/server/SystemServiceManager;->isRuntimeRestarted()Z
-HSPLcom/android/server/SystemServiceManager;->isSafeMode()Z
-HSPLcom/android/server/SystemServiceManager;->setSafeMode(Z)V
+HSPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;Z)V
+HSPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
+HSPLcom/android/server/SystemService;->publishLocalService(Ljava/lang/Class;Ljava/lang/Object;)V
+HSPLcom/android/server/SystemServiceManager;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/SystemServiceManager;->ensureSystemDir()Ljava/io/File;
+PLcom/android/server/SystemServiceManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/SystemServiceManager;->isBootCompleted()Z
+PLcom/android/server/SystemServiceManager;->isRuntimeRestarted()Z
+PLcom/android/server/SystemServiceManager;->isSafeMode()Z
+PLcom/android/server/SystemServiceManager;->onUser(Lcom/android/server/utils/TimingsTraceAndSlog;Ljava/lang/String;I)V
+HPLcom/android/server/SystemServiceManager;->onUser(Lcom/android/server/utils/TimingsTraceAndSlog;Ljava/lang/String;II)V
+PLcom/android/server/SystemServiceManager;->preSystemReady()V
+PLcom/android/server/SystemServiceManager;->setSafeMode(Z)V
HSPLcom/android/server/SystemServiceManager;->setStartInfo(ZJJ)V
-HSPLcom/android/server/SystemServiceManager;->startBootPhase(I)V
+HSPLcom/android/server/SystemServiceManager;->startBootPhase(Lcom/android/server/utils/TimingsTraceAndSlog;I)V
HSPLcom/android/server/SystemServiceManager;->startService(Lcom/android/server/SystemService;)V
HSPLcom/android/server/SystemServiceManager;->startService(Ljava/lang/Class;)Lcom/android/server/SystemService;
-HSPLcom/android/server/SystemServiceManager;->startService(Ljava/lang/String;)Lcom/android/server/SystemService;
-HSPLcom/android/server/SystemServiceManager;->startUser(I)V
-HSPLcom/android/server/SystemServiceManager;->unlockUser(I)V
+PLcom/android/server/SystemServiceManager;->startService(Ljava/lang/String;)Lcom/android/server/SystemService;
+PLcom/android/server/SystemServiceManager;->startUser(Lcom/android/server/utils/TimingsTraceAndSlog;I)V
HSPLcom/android/server/SystemServiceManager;->warnIfTooLong(JLcom/android/server/SystemService;Ljava/lang/String;)V
-HSPLcom/android/server/SystemUpdateManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/SystemUpdateManagerService;->loadSystemUpdateInfoLocked()Landroid/os/Bundle;
-HSPLcom/android/server/SystemUpdateManagerService;->removeInfoFileAndGetDefaultInfoBundleLocked()Landroid/os/Bundle;
-PLcom/android/server/SystemUpdateManagerService;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
-PLcom/android/server/SystemUpdateManagerService;->saveSystemUpdateInfoLocked(Landroid/os/PersistableBundle;I)V
-PLcom/android/server/SystemUpdateManagerService;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
-PLcom/android/server/SystemUpdateManagerService;->writeInfoFileLocked(Landroid/os/PersistableBundle;)Z
-HSPLcom/android/server/TelephonyRegistry$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/TelephonyRegistry$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/TelephonyRegistry$Record;->canReadCallLog()Z
-HSPLcom/android/server/TelephonyRegistry$Record;->matchOnSubscriptionsChangedListener()Z
-HSPLcom/android/server/TelephonyRegistry$Record;->matchPhoneStateListenerEvent(I)Z
-PLcom/android/server/TelephonyRegistry$Record;->toString()Ljava/lang/String;
-HSPLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;->binderDied()V
-HSPLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;)Lcom/android/server/TelephonyRegistry$Record;
-PLcom/android/server/TelephonyRegistry;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/server/TelephonyRegistry;->broadcastCallStateChanged(ILjava/lang/String;II)V
-HSPLcom/android/server/TelephonyRegistry;->broadcastDataConnectionStateChanged(IZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ZI)V
-HSPLcom/android/server/TelephonyRegistry;->broadcastPreciseCallStateChanged(III)V
-HSPLcom/android/server/TelephonyRegistry;->broadcastPreciseDataConnectionStateChanged(IILjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;I)V
-HSPLcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;II)V
-HSPLcom/android/server/TelephonyRegistry;->broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;II)V
-HSPLcom/android/server/TelephonyRegistry;->checkCoarseLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z
-HSPLcom/android/server/TelephonyRegistry;->checkFineLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z
-HSPLcom/android/server/TelephonyRegistry;->checkListenerPermission(IILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z
-HSPLcom/android/server/TelephonyRegistry;->checkPossibleMissNotify(Lcom/android/server/TelephonyRegistry$Record;I)V
-PLcom/android/server/TelephonyRegistry;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V
-HSPLcom/android/server/TelephonyRegistry;->idMatch(III)Z
-HSPLcom/android/server/TelephonyRegistry;->lambda$checkCoarseLocationAccess$2$TelephonyRegistry(Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Ljava/lang/Boolean;
-HSPLcom/android/server/TelephonyRegistry;->lambda$checkFineLocationAccess$1$TelephonyRegistry(Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Ljava/lang/Boolean;
-HSPLcom/android/server/TelephonyRegistry;->listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZI)V
-HSPLcom/android/server/TelephonyRegistry;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-HSPLcom/android/server/TelephonyRegistry;->notifyActiveDataSubIdChanged(I)V
-HSPLcom/android/server/TelephonyRegistry;->notifyCallForwardingChangedForSubscriber(IZ)V
-PLcom/android/server/TelephonyRegistry;->notifyCallQualityChanged(Landroid/telephony/CallQuality;II)V
-PLcom/android/server/TelephonyRegistry;->notifyCallState(ILjava/lang/String;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyCellInfoForSubscriber(ILjava/util/List;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyDataActivityForSubscriber(II)V
-HSPLcom/android/server/TelephonyRegistry;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-PLcom/android/server/TelephonyRegistry;->notifyDisconnectCause(II)V
-HSPLcom/android/server/TelephonyRegistry;->notifyEmergencyNumberList()V
-PLcom/android/server/TelephonyRegistry;->notifyImsDisconnectCause(ILandroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-HSPLcom/android/server/TelephonyRegistry;->notifyOemHookRawEventForSubscriber(I[B)V
-HSPLcom/android/server/TelephonyRegistry;->notifyOtaspChanged(I)V
-HSPLcom/android/server/TelephonyRegistry;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
-HSPLcom/android/server/TelephonyRegistry;->notifyPreciseCallState(IIII)V
-HSPLcom/android/server/TelephonyRegistry;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/TelephonyRegistry;->notifyRadioPowerStateChanged(I)V
-HSPLcom/android/server/TelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
-HSPLcom/android/server/TelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
-HSPLcom/android/server/TelephonyRegistry;->notifySimActivationStateChangedForPhoneId(IIII)V
-HSPLcom/android/server/TelephonyRegistry;->notifySubscriptionInfoChanged()V
-HSPLcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V
-HSPLcom/android/server/TelephonyRegistry;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/server/TelephonyRegistry;->systemRunning()V
-HSPLcom/android/server/TelephonyRegistry;->validateEventsAndUserLocked(Lcom/android/server/TelephonyRegistry$Record;I)Z
+PLcom/android/server/SystemUpdateManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/SystemUpdateManagerService;->loadSystemUpdateInfoLocked()Landroid/os/Bundle;
+PLcom/android/server/SystemUpdateManagerService;->removeInfoFileAndGetDefaultInfoBundleLocked()Landroid/os/Bundle;
+PLcom/android/server/TelephonyRegistry$1;-><init>(Lcom/android/server/TelephonyRegistry;)V
+PLcom/android/server/TelephonyRegistry$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/TelephonyRegistry$2;-><init>(Lcom/android/server/TelephonyRegistry;)V
+PLcom/android/server/TelephonyRegistry$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/TelephonyRegistry$3;-><clinit>()V
+PLcom/android/server/TelephonyRegistry$Record;-><init>()V
+PLcom/android/server/TelephonyRegistry$Record;-><init>(Lcom/android/server/TelephonyRegistry$1;)V
+PLcom/android/server/TelephonyRegistry$Record;->matchOnSubscriptionsChangedListener()Z
+PLcom/android/server/TelephonyRegistry$Record;->matchPhoneStateListenerEvent(I)Z
+PLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;-><init>(Lcom/android/server/TelephonyRegistry;Landroid/os/IBinder;)V
+PLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;->binderDied()V
+PLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;)V
+PLcom/android/server/TelephonyRegistry;->access$000(Lcom/android/server/TelephonyRegistry;)Landroid/telephony/TelephonyManager;
+PLcom/android/server/TelephonyRegistry;->access$100(Lcom/android/server/TelephonyRegistry;)[Landroid/os/Bundle;
+PLcom/android/server/TelephonyRegistry;->access$1000(Lcom/android/server/TelephonyRegistry;I)Z
+PLcom/android/server/TelephonyRegistry;->access$900(Lcom/android/server/TelephonyRegistry;)Landroid/os/Handler;
+HPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;)Lcom/android/server/TelephonyRegistry$Record;
+PLcom/android/server/TelephonyRegistry;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+PLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+PLcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;II)V
+PLcom/android/server/TelephonyRegistry;->broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;II)V
+HPLcom/android/server/TelephonyRegistry;->checkListenerPermission(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/TelephonyRegistry;->checkNotifyPermission()Z
+PLcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z
+PLcom/android/server/TelephonyRegistry;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+PLcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V
+PLcom/android/server/TelephonyRegistry;->idMatch(III)Z
+HPLcom/android/server/TelephonyRegistry;->listen(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZI)V
+PLcom/android/server/TelephonyRegistry;->listenForSubscriber(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
+PLcom/android/server/TelephonyRegistry;->log(Ljava/lang/String;)V
+PLcom/android/server/TelephonyRegistry;->notifyActiveDataSubIdChanged(I)V
+PLcom/android/server/TelephonyRegistry;->notifyCellInfoForSubscriber(ILjava/util/List;)V
+PLcom/android/server/TelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
+PLcom/android/server/TelephonyRegistry;->notifyDataActivityForSubscriber(II)V
+PLcom/android/server/TelephonyRegistry;->notifyEmergencyNumberList(II)V
+PLcom/android/server/TelephonyRegistry;->notifyOtaspChanged(II)V
+PLcom/android/server/TelephonyRegistry;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
+PLcom/android/server/TelephonyRegistry;->notifyRadioPowerStateChanged(III)V
+PLcom/android/server/TelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
+PLcom/android/server/TelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
+PLcom/android/server/TelephonyRegistry;->notifySimActivationStateChangedForPhoneId(IIII)V
+PLcom/android/server/TelephonyRegistry;->notifySubscriptionInfoChanged()V
+PLcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V
+PLcom/android/server/TelephonyRegistry;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+PLcom/android/server/TelephonyRegistry;->systemRunning()V
+PLcom/android/server/TelephonyRegistry;->validatePhoneId(I)Z
+HSPLcom/android/server/ThreadPriorityBooster$1;-><init>(Lcom/android/server/ThreadPriorityBooster;)V
HSPLcom/android/server/ThreadPriorityBooster$1;->initialValue()Lcom/android/server/ThreadPriorityBooster$PriorityState;
HSPLcom/android/server/ThreadPriorityBooster$1;->initialValue()Ljava/lang/Object;
+HSPLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>()V
+HSPLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>(Lcom/android/server/ThreadPriorityBooster$1;)V
HSPLcom/android/server/ThreadPriorityBooster;-><init>(II)V
HSPLcom/android/server/ThreadPriorityBooster;->boost()V
HSPLcom/android/server/ThreadPriorityBooster;->reset()V
-HSPLcom/android/server/ThreadPriorityBooster;->setBoostToPriority(I)V
-PLcom/android/server/UiModeManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/UiModeManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/UiModeManagerService$6;->disableCarMode(I)V
-PLcom/android/server/UiModeManagerService$6;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/UiModeManagerService$6;->enableCarMode(I)V
-HSPLcom/android/server/UiModeManagerService$6;->getCurrentModeType()I
-HSPLcom/android/server/UiModeManagerService$6;->getNightMode()I
-PLcom/android/server/UiModeManagerService$6;->isNightModeLocked()Z
-PLcom/android/server/UiModeManagerService$6;->isUiModeLocked()Z
-PLcom/android/server/UiModeManagerService$6;->setNightMode(I)V
-PLcom/android/server/UiModeManagerService$LocalService;->isNightMode()Z
-HSPLcom/android/server/UiModeManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/UiModeManagerService;->adjustStatusBarCarModeLocked()V
-PLcom/android/server/UiModeManagerService;->dumpImpl(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/UiModeManagerService;->lambda$onStart$0$UiModeManagerService(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/UiModeManagerService;->lambda$onStart$1$UiModeManagerService()V
-HSPLcom/android/server/UiModeManagerService;->onBootPhase(I)V
-HSPLcom/android/server/UiModeManagerService;->onStart()V
-HSPLcom/android/server/UiModeManagerService;->registerVrStateListener()V
-HSPLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V
-HSPLcom/android/server/UiModeManagerService;->sendConfigurationLocked()V
-PLcom/android/server/UiModeManagerService;->updateAfterBroadcastLocked(Ljava/lang/String;II)V
-HSPLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V
-HSPLcom/android/server/UiModeManagerService;->updateLocked(II)V
+PLcom/android/server/ThreadPriorityBooster;->setBoostToPriority(I)V
+PLcom/android/server/UiModeManagerInternal;-><init>()V
+PLcom/android/server/UiModeManagerService$1;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$2;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$3;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/UiModeManagerService$4;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$5;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$6;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$7;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V
+PLcom/android/server/UiModeManagerService$8;-><init>(Lcom/android/server/UiModeManagerService;Landroid/os/Handler;)V
+PLcom/android/server/UiModeManagerService$9;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$9;->getCurrentModeType()I
+PLcom/android/server/UiModeManagerService$9;->getNightMode()I
+PLcom/android/server/UiModeManagerService$LocalService;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/UiModeManagerService;)V
+PLcom/android/server/UiModeManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/UiModeManagerService;Lcom/android/server/UiModeManagerService$1;)V
+PLcom/android/server/UiModeManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/UiModeManagerService;-><clinit>()V
+PLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/UiModeManagerService;->access$202(Lcom/android/server/UiModeManagerService;Z)Z
+PLcom/android/server/UiModeManagerService;->access$300(Lcom/android/server/UiModeManagerService;)I
+PLcom/android/server/UiModeManagerService;->access$900(Lcom/android/server/UiModeManagerService;Landroid/content/Context;Landroid/content/res/Resources;I)Z
+PLcom/android/server/UiModeManagerService;->isDeskDockState(I)Z
+PLcom/android/server/UiModeManagerService;->lambda$onStart$1$UiModeManagerService()V
+PLcom/android/server/UiModeManagerService;->onBootPhase(I)V
+PLcom/android/server/UiModeManagerService;->onStart()V
+PLcom/android/server/UiModeManagerService;->registerVrStateListener()V
+PLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V
+PLcom/android/server/UiModeManagerService;->sendConfigurationLocked()V
+PLcom/android/server/UiModeManagerService;->setupWizardCompleteForCurrentUser()Z
+PLcom/android/server/UiModeManagerService;->updateComputedNightModeLocked()V
+PLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V
+PLcom/android/server/UiModeManagerService;->updateLocked(II)V
+PLcom/android/server/UiModeManagerService;->updateNightModeFromSettings(Landroid/content/Context;Landroid/content/res/Resources;I)Z
+PLcom/android/server/UiModeManagerService;->verifySetupWizardCompleted()V
+HSPLcom/android/server/UiThread;-><init>()V
HSPLcom/android/server/UiThread;->ensureThreadLocked()V
HSPLcom/android/server/UiThread;->get()Lcom/android/server/UiThread;
HSPLcom/android/server/UiThread;->getHandler()Landroid/os/Handler;
HSPLcom/android/server/UiThread;->run()V
-HSPLcom/android/server/UpdateLockService$LockWatcher;->acquired()V
-HSPLcom/android/server/UpdateLockService$LockWatcher;->released()V
-HSPLcom/android/server/UpdateLockService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/UpdateLockService;->acquireUpdateLock(Landroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/UpdateLockService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/UpdateLockService;->makeTag(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/UpdateLockService;->releaseUpdateLock(Landroid/os/IBinder;)V
-HSPLcom/android/server/UpdateLockService;->sendLockChangedBroadcast(Z)V
-HSPLcom/android/server/VibratorService$1;->onUidGone(IZ)V
-HSPLcom/android/server/VibratorService$1;->onUidStateChanged(IIJ)V
-HSPLcom/android/server/VibratorService$2;->getServiceType()I
-HSPLcom/android/server/VibratorService$2;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/VibratorService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/UpdateLockService$LockWatcher;-><init>(Lcom/android/server/UpdateLockService;Landroid/os/Handler;Ljava/lang/String;)V
+PLcom/android/server/UpdateLockService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/UpdateLockService;->sendLockChangedBroadcast(Z)V
+PLcom/android/server/VibratorService$1;-><init>(Lcom/android/server/VibratorService;)V
+PLcom/android/server/VibratorService$1;->onUidGone(IZ)V
+HPLcom/android/server/VibratorService$1;->onUidStateChanged(IIJI)V
+PLcom/android/server/VibratorService$2;-><init>(Lcom/android/server/VibratorService;)V
+PLcom/android/server/VibratorService$3;-><init>(Lcom/android/server/VibratorService;)V
+PLcom/android/server/VibratorService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/VibratorService$4;-><init>(Lcom/android/server/VibratorService;)V
PLcom/android/server/VibratorService$4;->run()V
+PLcom/android/server/VibratorService$5;-><init>(Lcom/android/server/VibratorService;)V
PLcom/android/server/VibratorService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/VibratorService$ExternalVibratorService;-><init>(Lcom/android/server/VibratorService;)V
+PLcom/android/server/VibratorService$ScaleLevel;-><init>(F)V
+PLcom/android/server/VibratorService$ScaleLevel;-><init>(FI)V
+PLcom/android/server/VibratorService$SettingsObserver;-><init>(Lcom/android/server/VibratorService;Landroid/os/Handler;)V
+PLcom/android/server/VibratorService$VibrateThread;-><init>(Lcom/android/server/VibratorService;Landroid/os/VibrationEffect$Waveform;ILandroid/media/AudioAttributes;)V
PLcom/android/server/VibratorService$VibrateThread;->cancel()V
PLcom/android/server/VibratorService$VibrateThread;->delayLocked(J)J
+PLcom/android/server/VibratorService$VibrateThread;->getTotalOnDuration([J[III)J
PLcom/android/server/VibratorService$VibrateThread;->playWaveform()Z
PLcom/android/server/VibratorService$VibrateThread;->run()V
-PLcom/android/server/VibratorService$Vibration;-><init>(Lcom/android/server/VibratorService;Landroid/os/IBinder;Landroid/os/VibrationEffect;IILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/VibratorService$Vibration;->isFromSystem()Z
+PLcom/android/server/VibratorService$Vibration;-><init>(Lcom/android/server/VibratorService;Landroid/os/IBinder;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;)V
PLcom/android/server/VibratorService$Vibration;->isHapticFeedback()Z
-PLcom/android/server/VibratorService$Vibration;->isNotification()Z
-PLcom/android/server/VibratorService$Vibration;->isRingtone()Z
-PLcom/android/server/VibratorService$Vibration;->toInfo()Lcom/android/server/VibratorService$VibrationInfo;
-PLcom/android/server/VibratorService$VibrationInfo;->toString()Ljava/lang/String;
-PLcom/android/server/VibratorService$VibratorShellCommand;->checkDoNotDisturb(Lcom/android/server/VibratorService$VibratorShellCommand$CommonOptions;)Z
-PLcom/android/server/VibratorService$VibratorShellCommand;->onCommand(Ljava/lang/String;)I
-PLcom/android/server/VibratorService$VibratorShellCommand;->runVibrate()I
-HSPLcom/android/server/VibratorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/VibratorService$VibrationInfo;-><init>(JLandroid/os/VibrationEffect;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/VibratorService;-><clinit>()V
+PLcom/android/server/VibratorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/VibratorService;->access$000(Lcom/android/server/VibratorService;)Landroid/util/SparseArray;
+PLcom/android/server/VibratorService;->access$100(Lcom/android/server/VibratorService;)Ljava/lang/Object;
+PLcom/android/server/VibratorService;->access$1000(Lcom/android/server/VibratorService;)Landroid/os/WorkSource;
+PLcom/android/server/VibratorService;->access$1100(Lcom/android/server/VibratorService;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/VibratorService;->access$200(Lcom/android/server/VibratorService;)Lcom/android/server/VibratorService$Vibration;
+PLcom/android/server/VibratorService;->access$800(Lcom/android/server/VibratorService;)V
PLcom/android/server/VibratorService;->addToPreviousVibrationsLocked(Lcom/android/server/VibratorService$Vibration;)V
PLcom/android/server/VibratorService;->applyVibrationIntensityScalingLocked(Lcom/android/server/VibratorService$Vibration;I)V
-HSPLcom/android/server/VibratorService;->cancelVibrate(Landroid/os/IBinder;)V
-HSPLcom/android/server/VibratorService;->doCancelVibrateLocked()V
-HSPLcom/android/server/VibratorService;->doVibratorOff()V
-PLcom/android/server/VibratorService;->doVibratorOn(JIII)V
+PLcom/android/server/VibratorService;->cancelVibrate(Landroid/os/IBinder;)V
+PLcom/android/server/VibratorService;->createEffectFromResource(I)Landroid/os/VibrationEffect;
+PLcom/android/server/VibratorService;->createEffectFromTimings([J)Landroid/os/VibrationEffect;
+PLcom/android/server/VibratorService;->doCancelVibrateLocked()V
+PLcom/android/server/VibratorService;->doVibratorExists()Z
+PLcom/android/server/VibratorService;->doVibratorOff()V
+PLcom/android/server/VibratorService;->doVibratorOn(JIILandroid/media/AudioAttributes;)V
PLcom/android/server/VibratorService;->doVibratorPrebakedEffectLocked(Lcom/android/server/VibratorService$Vibration;)J
-PLcom/android/server/VibratorService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/VibratorService;->hasVibrator()Z
+PLcom/android/server/VibratorService;->doVibratorSetAmplitude(I)V
+PLcom/android/server/VibratorService;->getAppOpMode(Lcom/android/server/VibratorService$Vibration;)I
+PLcom/android/server/VibratorService;->getCurrentIntensityLocked(Lcom/android/server/VibratorService$Vibration;)I
+PLcom/android/server/VibratorService;->getLongIntArray(Landroid/content/res/Resources;I)[J
+PLcom/android/server/VibratorService;->hasVibrator()Z
PLcom/android/server/VibratorService;->intensityToEffectStrength(I)I
+PLcom/android/server/VibratorService;->isAllowedToVibrateLocked(Lcom/android/server/VibratorService$Vibration;)Z
PLcom/android/server/VibratorService;->linkVibration(Lcom/android/server/VibratorService$Vibration;)V
-HSPLcom/android/server/VibratorService;->noteVibratorOffLocked()V
+PLcom/android/server/VibratorService;->noteVibratorOffLocked()V
PLcom/android/server/VibratorService;->noteVibratorOnLocked(IJ)V
-PLcom/android/server/VibratorService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
PLcom/android/server/VibratorService;->onVibrationFinished()V
-HSPLcom/android/server/VibratorService;->reportFinishVibrationLocked()V
-PLcom/android/server/VibratorService;->shouldVibrateForRingtone()Z
+PLcom/android/server/VibratorService;->reportFinishVibrationLocked()V
PLcom/android/server/VibratorService;->startVibrationInnerLocked(Lcom/android/server/VibratorService$Vibration;)V
PLcom/android/server/VibratorService;->startVibrationLocked(Lcom/android/server/VibratorService$Vibration;)V
-HSPLcom/android/server/VibratorService;->systemReady()V
-HSPLcom/android/server/VibratorService;->updateInputDeviceVibratorsLocked()Z
-HSPLcom/android/server/VibratorService;->updateVibrationIntensityLocked()V
-HSPLcom/android/server/VibratorService;->updateVibrators()V
+PLcom/android/server/VibratorService;->systemReady()V
+PLcom/android/server/VibratorService;->updateInputDeviceVibratorsLocked()Z
+PLcom/android/server/VibratorService;->updateLowPowerModeLocked()Z
+PLcom/android/server/VibratorService;->updateVibrationIntensityLocked()V
+PLcom/android/server/VibratorService;->updateVibrators()V
PLcom/android/server/VibratorService;->verifyIncomingUid(I)V
PLcom/android/server/VibratorService;->verifyVibrationEffect(Landroid/os/VibrationEffect;)Z
-PLcom/android/server/VibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILjava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/VibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;Ljava/lang/String;Landroid/os/IBinder;)V
+HSPLcom/android/server/Watchdog$BinderThreadMonitor;-><init>()V
+HSPLcom/android/server/Watchdog$BinderThreadMonitor;-><init>(Lcom/android/server/Watchdog$1;)V
HSPLcom/android/server/Watchdog$BinderThreadMonitor;->monitor()V
+HSPLcom/android/server/Watchdog$HandlerChecker;-><init>(Lcom/android/server/Watchdog;Landroid/os/Handler;Ljava/lang/String;J)V
+HSPLcom/android/server/Watchdog$HandlerChecker;->addMonitorLocked(Lcom/android/server/Watchdog$Monitor;)V
PLcom/android/server/Watchdog$HandlerChecker;->getCompletionStateLocked()I
+HSPLcom/android/server/Watchdog$HandlerChecker;->getThread()Ljava/lang/Thread;
+HSPLcom/android/server/Watchdog$HandlerChecker;->pauseLocked(Ljava/lang/String;)V
+PLcom/android/server/Watchdog$HandlerChecker;->resumeLocked(Ljava/lang/String;)V
HSPLcom/android/server/Watchdog$HandlerChecker;->run()V
HSPLcom/android/server/Watchdog$HandlerChecker;->scheduleCheckLocked()V
+HSPLcom/android/server/Watchdog$OpenFdMonitor;-><init>(Ljava/io/File;Ljava/io/File;)V
HSPLcom/android/server/Watchdog$OpenFdMonitor;->create()Lcom/android/server/Watchdog$OpenFdMonitor;
+PLcom/android/server/Watchdog$OpenFdMonitor;->monitor()Z
+PLcom/android/server/Watchdog$RebootRequestReceiver;-><init>(Lcom/android/server/Watchdog;)V
+HSPLcom/android/server/Watchdog;-><clinit>()V
HSPLcom/android/server/Watchdog;-><init>()V
HSPLcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
HSPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;)V
HSPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;J)V
+HPLcom/android/server/Watchdog;->evaluateCheckerCompletionLocked()I
HSPLcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
-HSPLcom/android/server/Watchdog;->init(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
+PLcom/android/server/Watchdog;->init(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/Watchdog;->pauseWatchingCurrentThread(Ljava/lang/String;)V
+PLcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
+PLcom/android/server/Watchdog;->resumeWatchingCurrentThread(Ljava/lang/String;)V
HSPLcom/android/server/Watchdog;->run()V
-HSPLcom/android/server/WiredAccessoryManager$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;->init()V
-HSPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->makeObservedUEventList()Ljava/util/List;
-HSPLcom/android/server/WiredAccessoryManager;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;)V
-HSPLcom/android/server/WiredAccessoryManager;->notifyWiredAccessoryChanged(JII)V
-HSPLcom/android/server/WiredAccessoryManager;->onSystemReady()V
-HSPLcom/android/server/WiredAccessoryManager;->systemReady()V
-HSPLcom/android/server/WiredAccessoryManager;->updateLocked(Ljava/lang/String;I)V
+PLcom/android/server/WiredAccessoryManager$1;-><init>(Lcom/android/server/WiredAccessoryManager;Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
+PLcom/android/server/WiredAccessoryManager$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;-><init>(Lcom/android/server/WiredAccessoryManager;)V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;->access$000(Lcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;)V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;->init()V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;-><init>(Lcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;Ljava/lang/String;III)V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->checkSwitchExists()Z
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->getSwitchStatePath()Ljava/lang/String;
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;-><init>(Lcom/android/server/WiredAccessoryManager;)V
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->makeObservedUEventList()Ljava/util/List;
+PLcom/android/server/WiredAccessoryManager;-><clinit>()V
+PLcom/android/server/WiredAccessoryManager;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/WiredAccessoryManager;->access$200(Lcom/android/server/WiredAccessoryManager;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/WiredAccessoryManager;->access$300(Lcom/android/server/WiredAccessoryManager;)V
+PLcom/android/server/WiredAccessoryManager;->access$500()Ljava/lang/String;
+PLcom/android/server/WiredAccessoryManager;->access$600(Lcom/android/server/WiredAccessoryManager;)Z
+PLcom/android/server/WiredAccessoryManager;->notifyWiredAccessoryChanged(JII)V
+PLcom/android/server/WiredAccessoryManager;->onSystemReady()V
+PLcom/android/server/WiredAccessoryManager;->systemReady()V
+PLcom/android/server/WiredAccessoryManager;->updateLocked(Ljava/lang/String;I)V
+PLcom/android/server/ZramWriteback$1;-><init>(Lcom/android/server/ZramWriteback;Ljava/lang/String;Landroid/app/job/JobParameters;)V
PLcom/android/server/ZramWriteback$1;->run()V
+PLcom/android/server/ZramWriteback;-><clinit>()V
PLcom/android/server/ZramWriteback;-><init>()V
PLcom/android/server/ZramWriteback;->flushIdlePages()V
PLcom/android/server/ZramWriteback;->getWrittenPageCount()I
@@ -2041,201 +2614,215 @@ PLcom/android/server/ZramWriteback;->markPagesAsIdle()V
PLcom/android/server/ZramWriteback;->onStartJob(Landroid/app/job/JobParameters;)Z
PLcom/android/server/ZramWriteback;->onStopJob(Landroid/app/job/JobParameters;)Z
PLcom/android/server/ZramWriteback;->schedNextWriteback(Landroid/content/Context;)V
-HSPLcom/android/server/ZramWriteback;->scheduleZramWriteback(Landroid/content/Context;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;-><init>()V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$CNt8wbTQCYcsUnUkUCQHtKqr-tY;->acceptOrThrow(Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;-><init>()V
+PLcom/android/server/ZramWriteback;->scheduleZramWriteback(Landroid/content/Context;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$1$49HMbWlhAK8DBFFzhu5wH_-EQaM;-><init>(Ljava/lang/String;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$1$J4pGG-UiTxhxH1VLNWBa7KLTh48;-><init>(Ljava/lang/String;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;-><clinit>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;-><clinit>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;-><init>()V
PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;->acceptOrThrow(Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$RFkfb_W9wnTTs_gy8Dg3k2uQOYQ;->run()V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$_rvRsbhZRBJitXrpMqI0NptLUa8;->acceptOrThrow(Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;-><init>()V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;-><init>()V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;-><init>()V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityServiceConnection$ASP9bmSvpeD7ZE_uJ8sm-9hCwiU;-><init>()V
-HSPLcom/android/server/accessibility/-$$Lambda$AccessibilityServiceConnection$ASP9bmSvpeD7ZE_uJ8sm-9hCwiU;->accept(Ljava/lang/Object;)V
-PLcom/android/server/accessibility/-$$Lambda$X-d4PICw0vnPU2BuBjOCbMMfcgU;-><init>()V
-PLcom/android/server/accessibility/-$$Lambda$X-d4PICw0vnPU2BuBjOCbMMfcgU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/-$$Lambda$X8i00nfnUx_qUoIgZixkfu6ddSY;-><init>()V
-HSPLcom/android/server/accessibility/-$$Lambda$X8i00nfnUx_qUoIgZixkfu6ddSY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/GlobalActionPerformer;)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->canReceiveEventsLocked()Z
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->findAccessibilityNodeInfoByAccessibilityId(IJILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJLandroid/os/Bundle;)[Ljava/lang/String;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getCapabilities()I
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getComponentName()Landroid/content/ComponentName;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getRelevantEventTypes()I
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->notifyAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->notifyAccessibilityEventInternal(ILandroid/view/accessibility/AccessibilityEvent;Z)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->onAdded()V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->resolveAccessibilityWindowIdLocked(I)I
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setDynamicallyConfigurableProperties(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->supportsFlagForNotImportantViews(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->wantsEventLocked(Landroid/view/accessibility/AccessibilityEvent;)Z
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;-><init>(I)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$NCeV24lEcO5W6ZZr1GqGK-ylU9g;-><clinit>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$NCeV24lEcO5W6ZZr1GqGK-ylU9g;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$NCeV24lEcO5W6ZZr1GqGK-ylU9g;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$_rvRsbhZRBJitXrpMqI0NptLUa8;-><init>(J)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$_rvRsbhZRBJitXrpMqI0NptLUa8;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;-><clinit>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$ifdWn5KwwehtrFVplnBr1oDsgh8;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$ifdWn5KwwehtrFVplnBr1oDsgh8;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$luI_C3QiJWsM08i8m3lx484SyyY;-><clinit>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$luI_C3QiJWsM08i8m3lx484SyyY;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$luI_C3QiJWsM08i8m3lx484SyyY;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mu7O1RAujG8e8HXPylcZ6hd_kNU;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mu7O1RAujG8e8HXPylcZ6hd_kNU;->run()V
+PLcom/android/server/accessibility/AccessibilityManagerService$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
PLcom/android/server/accessibility/AccessibilityManagerService$1;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$1;->onPackageRemoved(Ljava/lang/String;I)V
PLcom/android/server/accessibility/AccessibilityManagerService$1;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$1;->onSomePackagesChanged()V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Handler;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;->register(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->getValidDisplayList()Ljava/util/ArrayList;
-HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->initializeDisplayList()V
-PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayAdded(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayChanged(I)V
-PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayRemoved(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/GlobalActionPerformer;Lcom/android/server/accessibility/AccessibilityManagerService;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge$1;->supportsFlagForNotImportantViews(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;->clearAccessibilityFocusNotLocked(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->binderDied()V
-PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->getPackageName()Ljava/lang/String;
-PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->getRemote()Landroid/view/accessibility/IAccessibilityInteractionConnection;
-PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->getUid()I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->unlinkToDeath()V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canCaptureFingerprintGestures(Lcom/android/server/accessibility/AccessibilityServiceConnection;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canControlMagnification(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canDispatchAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canGetAccessibilityNodeInfoLocked(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;I)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canRetrieveWindowContentLocked(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->checkAccessibilityAccess(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->computePartialInteractiveRegionForWindowLocked(ILandroid/graphics/Region;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->computeValidReportedPackages(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->findA11yWindowInfoById(I)Landroid/view/accessibility/AccessibilityWindowInfo;
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->getActiveWindowId()I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->getFocusedWindowId()I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isCallerInteractingAcrossUsers(I)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isRetrievalAllowingWindowLocked(I)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isValidPackageForUid(Ljava/lang/String;I)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->onAccessibilityClientRemovedLocked(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveProfileParentLocked(I)I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveValidReportedPackageLocked(Ljava/lang/CharSequence;II)Ljava/lang/String;
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->sendEventsForChangedWindowsLocked(Ljava/util/List;Landroid/util/SparseArray;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->setAccessibilityFocusedWindowLocked(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->updateActiveAndAccessibilityFocusedWindowLocked(IJII)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->updateEventSourceLocked(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->updateWindowsLocked(Ljava/util/List;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->addServiceLocked(Lcom/android/server/accessibility/AccessibilityServiceConnection;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getBindInstantServiceAllowed()Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getBindingServicesLocked()Ljava/util/Set;
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getClientState()I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->isHandlingAccessibilityEvents()Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->onSwitchToAnotherUserLocked()V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$WindowsForAccessibilityCallback;->getTypeForWindowManagerWindowType(I)I
-HSPLcom/android/server/accessibility/AccessibilityManagerService$WindowsForAccessibilityCallback;->onWindowsForAccessibilityChanged(Ljava/util/List;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService$WindowsForAccessibilityCallback;->populateReportedWindowLocked(Landroid/view/WindowInfo;)Landroid/view/accessibility/AccessibilityWindowInfo;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
+PLcom/android/server/accessibility/AccessibilityManagerService$1;->onSomePackagesChanged()V
+PLcom/android/server/accessibility/AccessibilityManagerService$2;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Handler;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;->register(Landroid/content/ContentResolver;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/content/Context;Lcom/android/server/accessibility/AccessibilityManagerService$MainHandler;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->getValidDisplayList()Ljava/util/ArrayList;
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->initializeDisplayList()V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->isValidDisplay(Landroid/view/Display;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayChanged(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$1;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onStart()V
+PLcom/android/server/accessibility/AccessibilityManagerService$MainHandler;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Looper;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;-><clinit>()V
+PLcom/android/server/accessibility/AccessibilityManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->access$000(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->access$100(Lcom/android/server/accessibility/AccessibilityManagerService;)Ljava/lang/Object;
+PLcom/android/server/accessibility/AccessibilityManagerService;->access$2400(Lcom/android/server/accessibility/AccessibilityManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/accessibility/AccessibilityManagerService;->access$2500(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->access$700(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
PLcom/android/server/accessibility/AccessibilityManagerService;->announceNewUserIfNeeded()V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->canRegisterService(Landroid/content/pm/ServiceInfo;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->canRequestAndRequestsTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityServiceConnection;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->clearAccessibilityFocus(I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->clearAccessibilityFocus(Ljava/util/function/IntSupplier;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
-PLcom/android/server/accessibility/AccessibilityManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->findWindowIdLocked(Landroid/os/IBinder;)I
-PLcom/android/server/accessibility/AccessibilityManagerService;->getCompatibleMagnificationSpecLocked(I)Landroid/view/MagnificationSpec;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getConnectionLocked(I)Lcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserIdLocked()I
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
+PLcom/android/server/accessibility/AccessibilityManagerService;->broadcastToClients(Lcom/android/server/accessibility/AccessibilityUserState;Ljava/util/function/Consumer;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->getClientStateLocked(Lcom/android/server/accessibility/AccessibilityUserState;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserIdLocked()I
+PLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserStateLocked()Lcom/android/server/accessibility/AccessibilityUserState;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
PLcom/android/server/accessibility/AccessibilityManagerService;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
-PLcom/android/server/accessibility/AccessibilityManagerService;->getInteractionBridge()Lcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getPendingIntentActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillis()J
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getUserState(I)Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->getValidDisplayList()Ljava/util/ArrayList;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->isClientInPackageWhitelist(Landroid/accessibilityservice/AccessibilityServiceInfo;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$0$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$1$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChanged(Z)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChangedLocked(Z)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityServicesDelayedLocked(Landroid/view/accessibility/AccessibilityEvent;Z)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->onClientChangeLocked(Z)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->onUserStateChangedLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityButtonSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityShortcutSettingLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromStringLocked(Ljava/lang/String;Ljava/util/Set;Z)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readConfigurationForUserStateLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readEnabledAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityServiceLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationEnabledSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationGrantedAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->readUserRecommendedUiTimeoutSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->registerBroadcastReceivers()V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->removeAccessibilityInteractionConnectionInternalLocked(Landroid/os/IBinder;Landroid/util/SparseArray;Landroid/util/SparseArray;)I
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->removeAccessibilityInteractionConnectionLocked(II)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->replaceCallbackIfNeeded(Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIIJ)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateClientsIfNeededLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->sendFingerprintGesture(I)Z
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->switchUser(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->unlockUser(I)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityEnabledSetting(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityShortcutLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateFilterKeyEventsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateInputFilter(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateLegacyCapabilitiesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updatePerformGesturesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateRecommendedUiTimeoutLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->updateWindowsForAccessibilityCallbackLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-HSPLcom/android/server/accessibility/AccessibilityManagerService;->userHasListeningMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;I)Z
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/GlobalActionPerformer;)V
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->bindLocked()V
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->canRetrieveInteractiveWindowsLocked()Z
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->initializeService()V
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->isCalledForCurrentUserLocked()Z
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->isCapturingFingerprintGestures()Z
-HSPLcom/android/server/accessibility/AccessibilityServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/accessibility/UiAutomationManager;->canRetrieveInteractiveWindowsLocked()Z
-HSPLcom/android/server/accessibility/UiAutomationManager;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-HSPLcom/android/server/accessibility/UiAutomationManager;->isTouchExplorationEnabledLocked()Z
-HSPLcom/android/server/accessibility/UiAutomationManager;->isUiAutomationRunningLocked()Z
-HSPLcom/android/server/accessibility/UiAutomationManager;->sendAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z
-HSPLcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;->onPermissionsChanged(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillis()J
+PLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillisLocked(Lcom/android/server/accessibility/AccessibilityUserState;)J
+PLcom/android/server/accessibility/AccessibilityManagerService;->getUserState(I)Lcom/android/server/accessibility/AccessibilityUserState;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getUserStateLocked(I)Lcom/android/server/accessibility/AccessibilityUserState;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getValidDisplayList()Ljava/util/ArrayList;
+PLcom/android/server/accessibility/AccessibilityManagerService;->isClientInPackageWhitelist(Landroid/accessibilityservice/AccessibilityServiceInfo;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$5vwr6qV-eqdCr73CeDmVnsJlZHM(Lcom/android/server/accessibility/AccessibilityManagerService;II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$Gu-W_dQ2mWyy8l4tm19TzFxGbeM(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$NCeV24lEcO5W6ZZr1GqGK-ylU9g(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$heq1MRdQjg8BGWFbpV3PEpnDVcg(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/RemoteCallbackList;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$luI_C3QiJWsM08i8m3lx484SyyY(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$notifyClientsOfServicesStateChange$3(JLandroid/view/accessibility/IAccessibilityManagerClient;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$sendStateToClients$2(ILandroid/view/accessibility/IAccessibilityManagerClient;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$0$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$1$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChanged(Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChangedLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyClientsOfServicesStateChange(Landroid/os/RemoteCallbackList;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onBootPhase(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onUserStateChangedLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityButtonSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityShortcutSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readAutoclickEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+HPLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromSettingLocked(Ljava/lang/String;ILjava/util/Set;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromStringLocked(Ljava/lang/String;Ljava/util/Set;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->readConfigurationForUserStateLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readEnabledAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readHighTextContrastEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+HPLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityServiceLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityShortcutLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationEnabledSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationGrantedAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->readUserRecommendedUiTimeoutSettingsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->registerBroadcastReceivers()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleNotifyClientsOfServicesStateChangeLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateClientsIfNeededLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateInputFilter(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendServicesStateChanged(Landroid/os/RemoteCallbackList;J)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToAllClients(II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToClients(II)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToClients(ILandroid/os/RemoteCallbackList;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->switchUser(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->unlockUser(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityShortcutLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateFilterKeyEventsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateInputFilter(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateLegacyCapabilitiesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updatePerformGesturesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateRecommendedUiTimeoutLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateRelevantEventsLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->updateTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+HPLcom/android/server/accessibility/AccessibilityManagerService;->updateWindowsForAccessibilityCallbackLocked(Lcom/android/server/accessibility/AccessibilityUserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->userHasListeningMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;I)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->userHasMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityUserState;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;-><clinit>()V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;-><init>(Landroid/content/Context;Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager;)V
+HPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->canRegisterService(Landroid/content/pm/ServiceInfo;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->isCallerInteractingAcrossUsers(I)Z
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveProfileParentLocked(I)I
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->setAccessibilityWindowManager(Lcom/android/server/accessibility/AccessibilityWindowManager;)V
+PLcom/android/server/accessibility/AccessibilitySecurityPolicy;->setAppWidgetManager(Landroid/appwidget/AppWidgetManagerInternal;)V
+PLcom/android/server/accessibility/AccessibilityUserState;-><clinit>()V
+PLcom/android/server/accessibility/AccessibilityUserState;-><init>(ILandroid/content/Context;Lcom/android/server/accessibility/AccessibilityUserState$ServiceInfoChangeListener;)V
+PLcom/android/server/accessibility/AccessibilityUserState;->getBindInstantServiceAllowedLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->getBindingServicesLocked()Ljava/util/Set;
+PLcom/android/server/accessibility/AccessibilityUserState;->getClientStateLocked(Z)I
+PLcom/android/server/accessibility/AccessibilityUserState;->getCrashedServicesLocked()Ljava/util/Set;
+PLcom/android/server/accessibility/AccessibilityUserState;->getInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getLastSentClientStateLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getNonInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getServiceAssignedToAccessibilityButtonLocked()Landroid/content/ComponentName;
+PLcom/android/server/accessibility/AccessibilityUserState;->getServiceToEnableWithShortcutLocked()Landroid/content/ComponentName;
+PLcom/android/server/accessibility/AccessibilityUserState;->getUserInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->getUserNonInteractiveUiTimeoutLocked()I
+PLcom/android/server/accessibility/AccessibilityUserState;->isAutoclickEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isDisplayMagnificationEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isFilterKeyEventsEnabledLocked()Z
+HPLcom/android/server/accessibility/AccessibilityUserState;->isHandlingAccessibilityEventsLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isNavBarMagnificationAssignedToAccessibilityButtonLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isNavBarMagnificationEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isPerformGesturesEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isTextHighContrastEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->isTouchExplorationEnabledLocked()Z
+PLcom/android/server/accessibility/AccessibilityUserState;->onSwitchToAnotherUserLocked()V
+PLcom/android/server/accessibility/AccessibilityUserState;->setFilterKeyEventsEnabledLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setInteractiveUiTimeoutLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setLastSentClientStateLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setNonInteractiveUiTimeoutLocked(I)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setPerformGesturesEnabledLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityUserState;->setServiceToEnableWithShortcutLocked(Landroid/content/ComponentName;)V
+PLcom/android/server/accessibility/AccessibilityUserState;->unbindAllServicesLocked()V
+PLcom/android/server/accessibility/AccessibilityWindowManager;-><init>(Ljava/lang/Object;Landroid/os/Handler;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/AccessibilityWindowManager$AccessibilityEventSender;Lcom/android/server/accessibility/AccessibilitySecurityPolicy;Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
+PLcom/android/server/accessibility/AccessibilityWindowManager;->stopTrackingWindows(I)V
+PLcom/android/server/accessibility/SystemActionPerformer;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;)V
+PLcom/android/server/accessibility/SystemActionPerformer;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;Ljava/util/function/Supplier;Lcom/android/server/accessibility/SystemActionPerformer$SystemActionsChangedListener;)V
+PLcom/android/server/accessibility/UiAutomationManager$1;-><init>(Lcom/android/server/accessibility/UiAutomationManager;)V
+PLcom/android/server/accessibility/UiAutomationManager;-><clinit>()V
+PLcom/android/server/accessibility/UiAutomationManager;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/UiAutomationManager;->canRetrieveInteractiveWindowsLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
+PLcom/android/server/accessibility/UiAutomationManager;->isTouchExplorationEnabledLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager;->isUiAutomationRunningLocked()Z
+PLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z
+PLcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;->onPermissionsChanged(I)V
+PLcom/android/server/accounts/-$$Lambda$AccountManagerService$nCdu9dc3c8qBwJIwS0ZQk2waXfY;-><init>(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;Landroid/accounts/Account;I)V
PLcom/android/server/accounts/-$$Lambda$AccountManagerService$nCdu9dc3c8qBwJIwS0ZQk2waXfY;->run()V
+PLcom/android/server/accounts/-$$Lambda$AccountManagerService$ncg6hlXg7I0Ee1EZqbXw8fQH9bY;-><init>(Lcom/android/server/accounts/AccountManagerService;I)V
PLcom/android/server/accounts/-$$Lambda$AccountManagerService$ncg6hlXg7I0Ee1EZqbXw8fQH9bY;->run()V
-HSPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>(Lcom/android/server/accounts/AccountAuthenticatorCache$1;)V
-HSPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/accounts/AuthenticatorDescription;
-HSPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
-PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->writeAsXml(Landroid/accounts/AuthenticatorDescription;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>()V
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>(Lcom/android/server/accounts/AccountAuthenticatorCache$1;)V
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/accounts/AuthenticatorDescription;
+PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->writeAsXml(Ljava/lang/Object;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/accounts/AccountAuthenticatorCache;-><clinit>()V
+PLcom/android/server/accounts/AccountAuthenticatorCache;-><init>(Landroid/content/Context;)V
PLcom/android/server/accounts/AccountAuthenticatorCache;->getServiceInfo(Landroid/accounts/AuthenticatorDescription;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-HSPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription;
-HSPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+PLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription;
+PLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+PLcom/android/server/accounts/AccountManagerBackupHelper;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/accounts/AccountManagerInternal;)V
PLcom/android/server/accounts/AccountManagerBackupHelper;->backupAccountAccessPermissions(I)[B
-HSPLcom/android/server/accounts/AccountManagerService$1$1;->run()V
PLcom/android/server/accounts/AccountManagerService$18;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/accounts/Account;ILjava/lang/String;Landroid/os/RemoteCallback;)V
-HSPLcom/android/server/accounts/AccountManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/accounts/AccountManagerService$1LogRecordTask;->run()V
+PLcom/android/server/accounts/AccountManagerService$1;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/accounts/AccountManagerService$2;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$3;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
PLcom/android/server/accounts/AccountManagerService$3;->onPackageAdded(Ljava/lang/String;I)V
PLcom/android/server/accounts/AccountManagerService$3;->onPackageUpdateFinished(Ljava/lang/String;I)V
+PLcom/android/server/accounts/AccountManagerService$4;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
PLcom/android/server/accounts/AccountManagerService$4;->onOpChanged(ILjava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService$8;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZLandroid/os/Bundle;Landroid/accounts/Account;Ljava/lang/String;ZZIZLjava/lang/String;[BLcom/android/server/accounts/AccountManagerService$UserAccounts;)V
PLcom/android/server/accounts/AccountManagerService$8;->onResult(Landroid/os/Bundle;)V
PLcom/android/server/accounts/AccountManagerService$8;->run()V
-HSPLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
+PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$1;)V
+PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->backupAccountAccessPermissions(I)[B
PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->hasAccountAccess(Landroid/accounts/Account;I)Z
PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->requestAccountAccess(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/RemoteCallback;)V
@@ -2244,116 +2831,114 @@ PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureS
PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->onResult(Landroid/os/Bundle;)V
PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->run()V
PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->sendResult()V
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->addLocalService(Landroid/accounts/AccountManagerInternal;)V
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getAccountAuthenticatorCache()Lcom/android/server/accounts/IAccountAuthenticatorCache;
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getCeDatabaseName(I)Ljava/lang/String;
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getContext()Landroid/content/Context;
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getDeDatabaseName(I)Ljava/lang/String;
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getMessageHandlerLooper()Landroid/os/Looper;
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getNotificationManager()Landroid/app/INotificationManager;
-HSPLcom/android/server/accounts/AccountManagerService$Injector;->getPreNDatabaseName(I)Ljava/lang/String;
-HSPLcom/android/server/accounts/AccountManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/accounts/AccountManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/accounts/AccountManagerService$RemoveAccountSession;->onResult(Landroid/os/Bundle;)V
-PLcom/android/server/accounts/AccountManagerService$RemoveAccountSession;->run()V
+PLcom/android/server/accounts/AccountManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accounts/AccountManagerService$Injector;->addLocalService(Landroid/accounts/AccountManagerInternal;)V
+PLcom/android/server/accounts/AccountManagerService$Injector;->getAccountAuthenticatorCache()Lcom/android/server/accounts/IAccountAuthenticatorCache;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getCeDatabaseName(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getDeDatabaseName(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getMessageHandlerLooper()Landroid/os/Looper;
+PLcom/android/server/accounts/AccountManagerService$Injector;->getPreNDatabaseName(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStart()V
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/accounts/AccountManagerService$MessageHandler;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/os/Looper;)V
+PLcom/android/server/accounts/AccountManagerService$NotificationId;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/accounts/AccountManagerService$NotificationId;->access$3600(Lcom/android/server/accounts/AccountManagerService$NotificationId;)I
PLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;Z)V
PLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZZ)V
PLcom/android/server/accounts/AccountManagerService$Session;->bind()V
PLcom/android/server/accounts/AccountManagerService$Session;->bindToAuthenticator(Ljava/lang/String;)Z
-PLcom/android/server/accounts/AccountManagerService$Session;->binderDied()V
PLcom/android/server/accounts/AccountManagerService$Session;->cancelTimeout()V
-PLcom/android/server/accounts/AccountManagerService$Session;->checkKeyIntent(ILandroid/content/Intent;)Z
PLcom/android/server/accounts/AccountManagerService$Session;->close()V
PLcom/android/server/accounts/AccountManagerService$Session;->getResponseAndClose()Landroid/accounts/IAccountManagerResponse;
-PLcom/android/server/accounts/AccountManagerService$Session;->isExportedSystemActivity(Landroid/content/pm/ActivityInfo;)Z
PLcom/android/server/accounts/AccountManagerService$Session;->onResult(Landroid/os/Bundle;)V
PLcom/android/server/accounts/AccountManagerService$Session;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HPLcom/android/server/accounts/AccountManagerService$Session;->unbind()V
+PLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;->onResult(Landroid/os/Bundle;)V
PLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;->run()V
-HSPLcom/android/server/accounts/AccountManagerService$UserAccounts;-><init>(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)V
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;-><init>(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)V
PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$800(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
-HSPLcom/android/server/accounts/AccountManagerService;-><init>(Lcom/android/server/accounts/AccountManagerService$Injector;)V
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$900(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountManagerService;-><clinit>()V
+PLcom/android/server/accounts/AccountManagerService;-><init>(Lcom/android/server/accounts/AccountManagerService$Injector;)V
+PLcom/android/server/accounts/AccountManagerService;->access$4000(Lcom/android/server/accounts/AccountManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
+PLcom/android/server/accounts/AccountManagerService;->access$500(Lcom/android/server/accounts/AccountManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/accounts/AccountManagerService;->access$600(Lcom/android/server/accounts/AccountManagerService;)Landroid/app/AppOpsManager;
+PLcom/android/server/accounts/AccountManagerService;->access$700(Lcom/android/server/accounts/AccountManagerService;Ljava/lang/String;IZ)V
PLcom/android/server/accounts/AccountManagerService;->accountExistsCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Z
-PLcom/android/server/accounts/AccountManagerService;->accountTypeManagesContacts(Ljava/lang/String;I)Z
-PLcom/android/server/accounts/AccountManagerService;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
-PLcom/android/server/accounts/AccountManagerService;->addAccountExplicitlyWithVisibility(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z
-PLcom/android/server/accounts/AccountManagerService;->addAccountInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ILjava/util/Map;)Z
-PLcom/android/server/accounts/AccountManagerService;->addAccountToLinkedRestrictedUsers(Landroid/accounts/Account;I)V
+HPLcom/android/server/accounts/AccountManagerService;->accountTypeManagesContacts(Ljava/lang/String;I)Z
PLcom/android/server/accounts/AccountManagerService;->calculatePackageSignatureDigest(Ljava/lang/String;)[B
-PLcom/android/server/accounts/AccountManagerService;->canUserModifyAccounts(II)Z
-PLcom/android/server/accounts/AccountManagerService;->canUserModifyAccountsForType(ILjava/lang/String;I)Z
-HSPLcom/android/server/accounts/AccountManagerService;->cancelNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Ljava/lang/String;Landroid/os/UserHandle;)V
-PLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I
+PLcom/android/server/accounts/AccountManagerService;->cancelAccountAccessRequestNotificationIfNeeded(Landroid/accounts/Account;ILjava/lang/String;Z)V
+PLcom/android/server/accounts/AccountManagerService;->cancelAccountAccessRequestNotificationIfNeeded(Ljava/lang/String;IZ)V
+PLcom/android/server/accounts/AccountManagerService;->cancelNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/accounts/AccountManagerService;->checkGetAccountsPermission(Ljava/lang/String;I)Z
+HPLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I
PLcom/android/server/accounts/AccountManagerService;->checkReadAccountsPermitted(ILjava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/accounts/AccountManagerService;->checkReadContactsPermission(Ljava/lang/String;I)Z
PLcom/android/server/accounts/AccountManagerService;->createNoCredentialsPermissionNotification(Landroid/accounts/Account;Landroid/content/Intent;Ljava/lang/String;I)V
PLcom/android/server/accounts/AccountManagerService;->doNotification(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/CharSequence;Landroid/content/Intent;Ljava/lang/String;I)V
PLcom/android/server/accounts/AccountManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->dumpUser(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-HSPLcom/android/server/accounts/AccountManagerService;->filterAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;[Landroid/accounts/Account;ILjava/lang/String;Z)[Landroid/accounts/Account;
-HSPLcom/android/server/accounts/AccountManagerService;->filterSharedAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/util/Map;ILjava/lang/String;)Ljava/util/Map;
-PLcom/android/server/accounts/AccountManagerService;->getAccountRemovedReceivers(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/List;
-PLcom/android/server/accounts/AccountManagerService;->getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I
-PLcom/android/server/accounts/AccountManagerService;->getAccountVisibilityFromCache(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
-HSPLcom/android/server/accounts/AccountManagerService;->getAccounts(ILjava/lang/String;)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->filterAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;[Landroid/accounts/Account;ILjava/lang/String;Z)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->filterSharedAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/util/Map;ILjava/lang/String;)Ljava/util/Map;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountVisibilityFromCache(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
+PLcom/android/server/accounts/AccountManagerService;->getAccounts(ILjava/lang/String;)[Landroid/accounts/Account;
PLcom/android/server/accounts/AccountManagerService;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLcom/android/server/accounts/AccountManagerService;->getAccounts([I)[Landroid/accounts/AccountAndUser;
-HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-HSPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
+PLcom/android/server/accounts/AccountManagerService;->getAccounts([I)[Landroid/accounts/AccountAndUser;
+PLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
PLcom/android/server/accounts/AccountManagerService;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
-HSPLcom/android/server/accounts/AccountManagerService;->getAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;ILjava/lang/String;Ljava/util/List;Z)[Landroid/accounts/Account;
-HSPLcom/android/server/accounts/AccountManagerService;->getAllAccounts()[Landroid/accounts/AccountAndUser;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
+HPLcom/android/server/accounts/AccountManagerService;->getAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;ILjava/lang/String;Ljava/util/List;Z)[Landroid/accounts/Account;
+PLcom/android/server/accounts/AccountManagerService;->getAllAccounts()[Landroid/accounts/AccountAndUser;
PLcom/android/server/accounts/AccountManagerService;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-HSPLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypeAndUIDForUser(Lcom/android/server/accounts/IAccountAuthenticatorCache;I)Ljava/util/HashMap;
+PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypeAndUIDForUser(Lcom/android/server/accounts/IAccountAuthenticatorCache;I)Ljava/util/HashMap;
PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypesInternal(I)[Landroid/accounts/AuthenticatorDescription;
+HPLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypesInternal(I)[Landroid/accounts/AuthenticatorDescription;
PLcom/android/server/accounts/AccountManagerService;->getContextForUser(Landroid/os/UserHandle;)Landroid/content/Context;
-HSPLcom/android/server/accounts/AccountManagerService;->getCredentialPermissionNotificationId(Landroid/accounts/Account;Ljava/lang/String;I)Lcom/android/server/accounts/AccountManagerService$NotificationId;
+PLcom/android/server/accounts/AccountManagerService;->getCredentialPermissionNotificationId(Landroid/accounts/Account;Ljava/lang/String;I)Lcom/android/server/accounts/AccountManagerService$NotificationId;
PLcom/android/server/accounts/AccountManagerService;->getPackageNameForUid(I)Ljava/lang/String;
-PLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccount(Landroid/accounts/Account;)Ljava/util/Map;
-PLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccountLocked(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
+HPLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccountLocked(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
PLcom/android/server/accounts/AccountManagerService;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
PLcom/android/server/accounts/AccountManagerService;->getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
-PLcom/android/server/accounts/AccountManagerService;->getRequestingPackages(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
-HSPLcom/android/server/accounts/AccountManagerService;->getRunningAccounts()[Landroid/accounts/AccountAndUser;
+PLcom/android/server/accounts/AccountManagerService;->getRunningAccounts()[Landroid/accounts/AccountAndUser;
PLcom/android/server/accounts/AccountManagerService;->getSharedAccountsAsUser(I)[Landroid/accounts/Account;
PLcom/android/server/accounts/AccountManagerService;->getSigninRequiredNotificationId(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Lcom/android/server/accounts/AccountManagerService$NotificationId;
-PLcom/android/server/accounts/AccountManagerService;->getSingleton()Lcom/android/server/accounts/AccountManagerService;
-HSPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Ljava/util/List;
-HSPLcom/android/server/accounts/AccountManagerService;->getUidsOfInstalledOrUpdatedPackagesAsUser(I)Landroid/util/SparseBooleanArray;
-HSPLcom/android/server/accounts/AccountManagerService;->getUserAccounts(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;
+HPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Ljava/util/List;
+PLcom/android/server/accounts/AccountManagerService;->getTypesManagedByCaller(II)Ljava/util/List;
+PLcom/android/server/accounts/AccountManagerService;->getTypesVisibleToCaller(IILjava/lang/String;)Ljava/util/List;
+HPLcom/android/server/accounts/AccountManagerService;->getUserAccounts(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;
PLcom/android/server/accounts/AccountManagerService;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService;->getUserManager()Landroid/os/UserManager;
PLcom/android/server/accounts/AccountManagerService;->grantAppPermission(Landroid/accounts/Account;Ljava/lang/String;I)V
PLcom/android/server/accounts/AccountManagerService;->handleIncomingUser(I)I
-HSPLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HSPLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
+PLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;I)Z
+PLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
PLcom/android/server/accounts/AccountManagerService;->hasExplicitlyGrantedPermission(Landroid/accounts/Account;Ljava/lang/String;I)Z
PLcom/android/server/accounts/AccountManagerService;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->insertAccountIntoCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Landroid/accounts/Account;
PLcom/android/server/accounts/AccountManagerService;->installNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Landroid/app/Notification;Ljava/lang/String;I)V
PLcom/android/server/accounts/AccountManagerService;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->invalidateAuthTokenLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/accounts/AccountManagerService;->isLocalUnlockedUser(I)Z
-PLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;II[Ljava/lang/String;)Z
+PLcom/android/server/accounts/AccountManagerService;->isAccountManagedByCaller(Ljava/lang/String;II)Z
+PLcom/android/server/accounts/AccountManagerService;->isLocalUnlockedUser(I)Z
+HPLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;I[Ljava/lang/String;)Z
PLcom/android/server/accounts/AccountManagerService;->isPreOApplication(Ljava/lang/String;)Z
-HSPLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z
-HSPLcom/android/server/accounts/AccountManagerService;->lambda$new$0$AccountManagerService(I)V
-PLcom/android/server/accounts/AccountManagerService;->lambda$onUnlockUser$1$AccountManagerService(I)V
-PLcom/android/server/accounts/AccountManagerService;->logRecord(Ljava/lang/String;Ljava/lang/String;JLcom/android/server/accounts/AccountManagerService$UserAccounts;I)V
+PLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z
+PLcom/android/server/accounts/AccountManagerService;->isProfileOwner(I)Z
+PLcom/android/server/accounts/AccountManagerService;->lambda$new$0$AccountManagerService(I)V
PLcom/android/server/accounts/AccountManagerService;->newGrantCredentialsPermissionIntent(Landroid/accounts/Account;Ljava/lang/String;ILandroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Z)Landroid/content/Intent;
PLcom/android/server/accounts/AccountManagerService;->onAccountAccessed(Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->onResult(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;)V
PLcom/android/server/accounts/AccountManagerService;->onServiceChanged(Landroid/accounts/AuthenticatorDescription;IZ)V
PLcom/android/server/accounts/AccountManagerService;->onServiceChanged(Ljava/lang/Object;IZ)V
-PLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/server/accounts/AccountManagerService;->onUnlockUser(I)V
-PLcom/android/server/accounts/AccountManagerService;->packageExistsForUser(Ljava/lang/String;I)Z
+HPLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/accounts/AccountManagerService;->onUnlockUser(I)V
PLcom/android/server/accounts/AccountManagerService;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z
-HSPLcom/android/server/accounts/AccountManagerService;->purgeOldGrants(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
-HSPLcom/android/server/accounts/AccountManagerService;->purgeOldGrantsAll()V
+PLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z
+PLcom/android/server/accounts/AccountManagerService;->purgeOldGrants(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
PLcom/android/server/accounts/AccountManagerService;->readAuthTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/accounts/AccountManagerService;->readCachedTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/String;
PLcom/android/server/accounts/AccountManagerService;->readPasswordInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Ljava/lang/String;
@@ -2361,1240 +2946,1327 @@ PLcom/android/server/accounts/AccountManagerService;->readPreviousNameInternal(L
PLcom/android/server/accounts/AccountManagerService;->readUserDataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/accounts/AccountManagerService;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
-PLcom/android/server/accounts/AccountManagerService;->removeAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
-PLcom/android/server/accounts/AccountManagerService;->removeAccountAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;ZI)V
-PLcom/android/server/accounts/AccountManagerService;->removeAccountInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;I)Z
-HSPLcom/android/server/accounts/AccountManagerService;->removeVisibilityValuesForPackage(Ljava/lang/String;)V
-HSPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;
+HPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;
PLcom/android/server/accounts/AccountManagerService;->saveAuthTokenToDatabase(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)Z
PLcom/android/server/accounts/AccountManagerService;->saveCachedToken(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;[BLjava/lang/String;Ljava/lang/String;J)V
-PLcom/android/server/accounts/AccountManagerService;->sendAccountRemovedBroadcast(Landroid/accounts/Account;Ljava/lang/String;I)V
-PLcom/android/server/accounts/AccountManagerService;->sendAccountsChangedBroadcast(I)V
-PLcom/android/server/accounts/AccountManagerService;->sendNotificationAccountUpdated(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
-PLcom/android/server/accounts/AccountManagerService;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z
-PLcom/android/server/accounts/AccountManagerService;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;IZLcom/android/server/accounts/AccountManagerService$UserAccounts;)Z
PLcom/android/server/accounts/AccountManagerService;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->setUserdataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->shouldNotifyPackageOnAccountRemoval(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Z
-HSPLcom/android/server/accounts/AccountManagerService;->syncDeCeAccountsLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->syncDeCeAccountsLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
PLcom/android/server/accounts/AccountManagerService;->syncSharedAccounts(I)V
-PLcom/android/server/accounts/AccountManagerService;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
-PLcom/android/server/accounts/AccountManagerService;->updateAccountVisibilityLocked(Landroid/accounts/Account;Ljava/lang/String;ILcom/android/server/accounts/AccountManagerService$UserAccounts;)Z
PLcom/android/server/accounts/AccountManagerService;->updateAppPermission(Landroid/accounts/Account;Ljava/lang/String;IZ)V
-HSPLcom/android/server/accounts/AccountManagerService;->validateAccounts(I)V
-HSPLcom/android/server/accounts/AccountManagerService;->validateAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Z)V
+PLcom/android/server/accounts/AccountManagerService;->validateAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Z)V
PLcom/android/server/accounts/AccountManagerService;->writeAuthTokenIntoCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/accounts/AccountManagerService;->writeUserDataIntoCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->create(Landroid/content/Context;Ljava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb$CeDatabaseHelper;
-HSPLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getReadableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
+PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->create(Landroid/content/Context;Ljava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb$CeDatabaseHelper;
+PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;-><init>(Landroid/content/Context;ILjava/lang/String;)V
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;-><init>(Landroid/content/Context;ILjava/lang/String;Lcom/android/server/accounts/AccountsDb$1;)V
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->access$700(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;)Z
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getReadableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getWritableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
-HSPLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLcom/android/server/accounts/AccountsDb;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/accounts/AccountsDb;->attachCeDatabase(Ljava/io/File;)V
-PLcom/android/server/accounts/AccountsDb;->beginTransaction()V
-PLcom/android/server/accounts/AccountsDb;->calculateDebugTableInsertionPoint()J
-PLcom/android/server/accounts/AccountsDb;->compileSqlStatementForLogging()Landroid/database/sqlite/SQLiteStatement;
-HSPLcom/android/server/accounts/AccountsDb;->create(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb;
-PLcom/android/server/accounts/AccountsDb;->deleteAccountVisibilityForPackage(Ljava/lang/String;)Z
-PLcom/android/server/accounts/AccountsDb;->deleteAuthToken(Ljava/lang/String;)Z
-PLcom/android/server/accounts/AccountsDb;->deleteAuthtokensByAccountIdAndType(JLjava/lang/String;)Z
+PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
+PLcom/android/server/accounts/AccountsDb;-><clinit>()V
+PLcom/android/server/accounts/AccountsDb;-><init>(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;Landroid/content/Context;Ljava/io/File;)V
+PLcom/android/server/accounts/AccountsDb;->attachCeDatabase(Ljava/io/File;)V
+PLcom/android/server/accounts/AccountsDb;->create(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb;
PLcom/android/server/accounts/AccountsDb;->dumpDeAccountsTable(Ljava/io/PrintWriter;)V
-PLcom/android/server/accounts/AccountsDb;->dumpDebugTable(Ljava/io/PrintWriter;)V
-PLcom/android/server/accounts/AccountsDb;->endTransaction()V
PLcom/android/server/accounts/AccountsDb;->findAccountPasswordByNameAndType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/accounts/AccountsDb;->findAllAccountGrants()Ljava/util/List;
-HSPLcom/android/server/accounts/AccountsDb;->findAllDeAccounts()Ljava/util/Map;
-HSPLcom/android/server/accounts/AccountsDb;->findAllUidGrants()Ljava/util/List;
-HSPLcom/android/server/accounts/AccountsDb;->findAllVisibilityValues()Ljava/util/Map;
-PLcom/android/server/accounts/AccountsDb;->findAuthTokensByAccount(Landroid/accounts/Account;)Ljava/util/Map;
-PLcom/android/server/accounts/AccountsDb;->findAuthtokenForAllAccounts(Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-PLcom/android/server/accounts/AccountsDb;->findCeAccountId(Landroid/accounts/Account;)J
-HSPLcom/android/server/accounts/AccountsDb;->findCeAccountsNotInDe()Ljava/util/List;
+PLcom/android/server/accounts/AccountsDb;->findAllDeAccounts()Ljava/util/Map;
+PLcom/android/server/accounts/AccountsDb;->findAllUidGrants()Ljava/util/List;
+PLcom/android/server/accounts/AccountsDb;->findAllVisibilityValues()Ljava/util/Map;
+HPLcom/android/server/accounts/AccountsDb;->findAuthTokensByAccount(Landroid/accounts/Account;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountsDb;->findCeAccountsNotInDe()Ljava/util/List;
PLcom/android/server/accounts/AccountsDb;->findDeAccountId(Landroid/accounts/Account;)J
PLcom/android/server/accounts/AccountsDb;->findDeAccountPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
PLcom/android/server/accounts/AccountsDb;->findExtrasIdByAccountId(JLjava/lang/String;)J
PLcom/android/server/accounts/AccountsDb;->findMatchingGrantsCountAnyToken(ILandroid/accounts/Account;)J
-HSPLcom/android/server/accounts/AccountsDb;->findMetaAuthUid()Ljava/util/Map;
-PLcom/android/server/accounts/AccountsDb;->findUserExtrasForAccount(Landroid/accounts/Account;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountsDb;->findMetaAuthUid()Ljava/util/Map;
+HPLcom/android/server/accounts/AccountsDb;->findUserExtrasForAccount(Landroid/accounts/Account;)Ljava/util/Map;
PLcom/android/server/accounts/AccountsDb;->getSharedAccounts()Ljava/util/List;
-PLcom/android/server/accounts/AccountsDb;->getStatementForLogging()Landroid/database/sqlite/SQLiteStatement;
PLcom/android/server/accounts/AccountsDb;->insertAuthToken(JLjava/lang/String;Ljava/lang/String;)J
-PLcom/android/server/accounts/AccountsDb;->insertCeAccount(Landroid/accounts/Account;Ljava/lang/String;)J
-PLcom/android/server/accounts/AccountsDb;->insertDeAccount(Landroid/accounts/Account;J)J
PLcom/android/server/accounts/AccountsDb;->insertExtra(JLjava/lang/String;Ljava/lang/String;)J
PLcom/android/server/accounts/AccountsDb;->insertGrant(JLjava/lang/String;I)J
PLcom/android/server/accounts/AccountsDb;->insertOrReplaceMetaAuthTypeAndUid(Ljava/lang/String;I)J
-HSPLcom/android/server/accounts/AccountsDb;->isCeDatabaseAttached()Z
-PLcom/android/server/accounts/AccountsDb;->reserveDebugDbInsertionPoint()J
-PLcom/android/server/accounts/AccountsDb;->setAccountVisibility(JLjava/lang/String;I)Z
-PLcom/android/server/accounts/AccountsDb;->setTransactionSuccessful()V
+PLcom/android/server/accounts/AccountsDb;->isCeDatabaseAttached()Z
PLcom/android/server/accounts/AccountsDb;->updateExtra(JLjava/lang/String;)Z
-PLcom/android/server/accounts/TokenCache$Key;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/accounts/TokenCache$Key;->hashCode()I
+HPLcom/android/server/accounts/TokenCache$Key;-><init>(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)V
+HPLcom/android/server/accounts/TokenCache$Key;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/accounts/TokenCache$Key;->hashCode()I
+PLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;-><init>(Lcom/android/server/accounts/TokenCache$TokenLruCache;)V
PLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;->add(Lcom/android/server/accounts/TokenCache$Key;)V
PLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;->evict()V
-PLcom/android/server/accounts/TokenCache$TokenLruCache;->entryRemoved(ZLcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;Lcom/android/server/accounts/TokenCache$Value;)V
+PLcom/android/server/accounts/TokenCache$TokenLruCache;-><init>()V
PLcom/android/server/accounts/TokenCache$TokenLruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/accounts/TokenCache$TokenLruCache;->evict(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/accounts/TokenCache$TokenLruCache;->putToken(Lcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;)V
-PLcom/android/server/accounts/TokenCache$TokenLruCache;->sizeOf(Lcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;)I
PLcom/android/server/accounts/TokenCache$TokenLruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/accounts/TokenCache$Value;-><init>(Ljava/lang/String;J)V
+PLcom/android/server/accounts/TokenCache;-><init>()V
PLcom/android/server/accounts/TokenCache;->get(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/String;
-PLcom/android/server/accounts/TokenCache;->put(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BJ)V
-PLcom/android/server/accounts/TokenCache;->remove(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->closeSocketLocked()V
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->listenToSocket()V
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->openSocketLocked()V
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->run()V
-PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->sendResponse(Ljava/lang/String;)V
-PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->filterOutOldKeys()V
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getAllowedConnectionTime()J
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getKeyMapFromFile()Ljava/util/Map;
-HSPLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getLastConnectionTime(Ljava/lang/String;)J
-PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->persistKeyStore()V
-PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->setLastConnectionTime(Ljava/lang/String;J)V
-PLcom/android/server/adb/AdbDebuggingManager;->allowDebugging(ZLjava/lang/String;)V
-PLcom/android/server/adb/AdbDebuggingManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/adb/AdbDebuggingManager;->getAdbFile(Ljava/lang/String;)Ljava/io/File;
-HSPLcom/android/server/adb/AdbDebuggingManager;->getAdbTempKeysFile()Ljava/io/File;
-HSPLcom/android/server/adb/AdbDebuggingManager;->getFingerprints(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler$1;-><init>(Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;Landroid/os/Handler;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;-><init>(Lcom/android/server/adb/AdbDebuggingManager;Landroid/os/Looper;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->cancelJobToUpdateAdbKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->logAdbConnectionChanged(Ljava/lang/String;IZ)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->registerForAuthTimeChanges()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->scheduleJobToUpdateAdbKeyStore()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;-><init>(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->closeSocketLocked()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->listenToSocket()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->openSocketLocked()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->run()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;-><init>(Lcom/android/server/adb/AdbDebuggingManager;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->addUserKeysToKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->filterOutOldKeys()Z
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getAllowedConnectionTime()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getKeyMap()Ljava/util/Map;
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getLastConnectionTime(Ljava/lang/String;)J
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getNextExpirationTime()J
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getSystemKeysFromFile(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->init()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->initKeyFile()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->updateKeyStore()V
+PLcom/android/server/adb/AdbDebuggingManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/adb/AdbDebuggingManager;->access$000(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/os/Handler;
+PLcom/android/server/adb/AdbDebuggingManager;->access$100(Lcom/android/server/adb/AdbDebuggingManager;)Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
+PLcom/android/server/adb/AdbDebuggingManager;->access$102(Lcom/android/server/adb/AdbDebuggingManager;Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;)Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;
+PLcom/android/server/adb/AdbDebuggingManager;->access$200(Lcom/android/server/adb/AdbDebuggingManager;)Z
+PLcom/android/server/adb/AdbDebuggingManager;->access$202(Lcom/android/server/adb/AdbDebuggingManager;Z)Z
+PLcom/android/server/adb/AdbDebuggingManager;->access$300(Lcom/android/server/adb/AdbDebuggingManager;)Ljava/util/List;
+PLcom/android/server/adb/AdbDebuggingManager;->access$800(Lcom/android/server/adb/AdbDebuggingManager;)Landroid/content/Context;
+PLcom/android/server/adb/AdbDebuggingManager;->getAdbFile(Ljava/lang/String;)Ljava/io/File;
+PLcom/android/server/adb/AdbDebuggingManager;->getAdbTempKeysFile()Ljava/io/File;
PLcom/android/server/adb/AdbDebuggingManager;->getUserKeyFile()Ljava/io/File;
-HSPLcom/android/server/adb/AdbDebuggingManager;->setAdbEnabled(Z)V
-HSPLcom/android/server/adb/AdbDebuggingManager;->startConfirmation(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/adb/AdbDebuggingManager;->startConfirmationActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/adb/AdbDebuggingManager;->writeKey(Ljava/lang/String;)V
-HSPLcom/android/server/adb/AdbService$AdbHandler;-><init>(Lcom/android/server/adb/AdbService;Landroid/os/Looper;)V
-HSPLcom/android/server/adb/AdbService$AdbHandler;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/adb/AdbService$AdbHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->isAdbEnabled()Z
-HSPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->registerTransport(Landroid/debug/IAdbTransport;)V
-HSPLcom/android/server/adb/AdbService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/adb/AdbService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/adb/AdbService$Lifecycle;->onStart()V
-HSPLcom/android/server/adb/AdbService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/adb/AdbService;->allowDebugging(ZLjava/lang/String;)V
-HSPLcom/android/server/adb/AdbService;->bootCompleted()V
-PLcom/android/server/adb/AdbService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/adb/AdbService;->systemReady()V
-PLcom/android/server/am/-$$Lambda$ActiveServices$PnHUeksEDLiNZciWKfZU2EcD8vU;->run()V
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$3$poTyYzHinA8s8lAJ-y6Bb3JsBNo;-><init>()V
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$3$poTyYzHinA8s8lAJ-y6Bb3JsBNo;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$30I5N5ZS7997YvRBJqVkTZMPd6M;->run()V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$LocalService$2LeEPdXnhP_I5Tz5a2OSkhUL0oc;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$XMDHDkKdzWb8nQlDZRKevGp6Oa8;-><init>()V
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$XMDHDkKdzWb8nQlDZRKevGp6Oa8;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/adb/AdbDebuggingManager;->setAdbEnabled(Z)V
+PLcom/android/server/adb/AdbService$AdbHandler;-><init>(Lcom/android/server/adb/AdbService;Landroid/os/Looper;)V
+PLcom/android/server/adb/AdbService$AdbHandler;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/adb/AdbService$AdbHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;-><init>(Lcom/android/server/adb/AdbService;)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;-><init>(Lcom/android/server/adb/AdbService;Lcom/android/server/adb/AdbService$1;)V
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->isAdbEnabled()Z
+PLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->registerTransport(Landroid/debug/IAdbTransport;)V
+PLcom/android/server/adb/AdbService$AdbSettingsObserver;-><init>(Lcom/android/server/adb/AdbService;)V
+PLcom/android/server/adb/AdbService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/adb/AdbService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/adb/AdbService$Lifecycle;->onStart()V
+PLcom/android/server/adb/AdbService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/adb/AdbService;-><init>(Landroid/content/Context;Lcom/android/server/adb/AdbService$1;)V
+PLcom/android/server/adb/AdbService;->access$100(Lcom/android/server/adb/AdbService;)Landroid/util/ArrayMap;
+PLcom/android/server/adb/AdbService;->access$200(Lcom/android/server/adb/AdbService;)Z
+PLcom/android/server/adb/AdbService;->access$202(Lcom/android/server/adb/AdbService;Z)Z
+PLcom/android/server/adb/AdbService;->access$300(Lcom/android/server/adb/AdbService;)Lcom/android/server/adb/AdbDebuggingManager;
+PLcom/android/server/adb/AdbService;->access$400(Lcom/android/server/adb/AdbService;)Landroid/content/ContentResolver;
+PLcom/android/server/adb/AdbService;->bootCompleted()V
+PLcom/android/server/adb/AdbService;->systemReady()V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$2afaFERxNQEnSdevJxY5plp1fS4;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$5$BegFiGFfKLYS7VRmiWluczgOC5k;-><clinit>()V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$5$BegFiGFfKLYS7VRmiWluczgOC5k;-><init>()V
+HPLcom/android/server/am/-$$Lambda$ActivityManagerService$5$BegFiGFfKLYS7VRmiWluczgOC5k;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$edxAPEC3muKzJql6X4RKsKcgmvo;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$w5jCshLsk1jfv4UDTmEfq_HU0OQ;-><init>(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$w5jCshLsk1jfv4UDTmEfq_HU0OQ;->run()V
+PLcom/android/server/am/-$$Lambda$AppErrors$Ziph9zXnTzhEV6frMYJe_IEvvfY;-><init>(Lcom/android/server/am/AppErrors;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/String;ILcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$MJXTdtPzBwRCdTjCDCE77VXPHBk;-><init>(Landroid/os/SynchronousResultReceiver;)V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$MJXTdtPzBwRCdTjCDCE77VXPHBk;->onWifiActivityEnergyInfo(Landroid/os/connectivity/WifiActivityEnergyInfo;)V
+HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;-><clinit>()V
HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;-><init>()V
HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;->run()V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;->run()V
+HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ddVY5lmqswnSjXppAxPTOHbuzzQ;-><init>(Ljava/lang/Runnable;)V
HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ddVY5lmqswnSjXppAxPTOHbuzzQ;->run()V
-HSPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$r3x3xYmhrLG8kgeNVPXl5EILHwU;->run()V
-HSPLcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;->run()V
-HSPLcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;->run()V
-PLcom/android/server/am/-$$Lambda$BroadcastQueue$UYhESkevIwvEc0Mcevy6z7vfzgY;->run()V
-PLcom/android/server/am/-$$Lambda$HKoBBTwYfMTyX1rzuzxIXu0s2cc;-><init>()V
-PLcom/android/server/am/-$$Lambda$HKoBBTwYfMTyX1rzuzxIXu0s2cc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/am/-$$Lambda$OomAdjProfiler$5x1ooCPxPmlzbXvtcEuYDu_6Uz4;-><init>()V
-HSPLcom/android/server/am/-$$Lambda$OomAdjProfiler$5x1ooCPxPmlzbXvtcEuYDu_6Uz4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/am/-$$Lambda$PendingIntentController$pDmmJDvS20vSAAXh9qdzbN0P8N0;-><init>()V
-PLcom/android/server/am/-$$Lambda$PendingIntentController$pDmmJDvS20vSAAXh9qdzbN0P8N0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;-><init>()V
-HSPLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$r3x3xYmhrLG8kgeNVPXl5EILHwU;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$r3x3xYmhrLG8kgeNVPXl5EILHwU;->run()V
+PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$xR3yCbbVfCo3oq_xPiH7j5l5uac;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
+PLcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
+PLcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;->run()V
+PLcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
+PLcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;->run()V
+PLcom/android/server/am/-$$Lambda$BroadcastQueue$-Rc4kAs41vmqWweLcJR0YLxZ0dM;-><init>(Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/-$$Lambda$BroadcastQueue$-Rc4kAs41vmqWweLcJR0YLxZ0dM;->run()V
+HSPLcom/android/server/am/-$$Lambda$OomAdjProfiler$oLbVP84ACmxo_1QlnwlSuhi91W4;-><clinit>()V
+HSPLcom/android/server/am/-$$Lambda$OomAdjProfiler$oLbVP84ACmxo_1QlnwlSuhi91W4;-><init>()V
+HSPLcom/android/server/am/-$$Lambda$OomAdjProfiler$oLbVP84ACmxo_1QlnwlSuhi91W4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/am/-$$Lambda$OomAdjuster$OVkqAAacT5-taN3pgDzyZj3Ymvk;-><clinit>()V
+HSPLcom/android/server/am/-$$Lambda$OomAdjuster$OVkqAAacT5-taN3pgDzyZj3Ymvk;-><init>()V
+HPLcom/android/server/am/-$$Lambda$OomAdjuster$OVkqAAacT5-taN3pgDzyZj3Ymvk;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;-><clinit>()V
+PLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;-><init>()V
+PLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$PersistentConnection$rkvbuN0FQdQUv1hqSwDvmwwh6Uk;-><init>(Lcom/android/server/am/PersistentConnection;)V
PLcom/android/server/am/-$$Lambda$PersistentConnection$rkvbuN0FQdQUv1hqSwDvmwwh6Uk;->run()V
-HSPLcom/android/server/am/-$$Lambda$ProcessList$Clv-1gpwGcZ-lQ1Ghdh2VzSdPZ4;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/-$$Lambda$ProcessList$Clv-1gpwGcZ-lQ1Ghdh2VzSdPZ4;->run()V
-PLcom/android/server/am/-$$Lambda$ProcessRecord$1qn6-pj5yWgiSnKANZpVz3gwd30;-><init>(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/-$$Lambda$ProcessRecord$2DImTokd0AWNTECl3WgBxJkOOqs;-><init>(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/-$$Lambda$ProcessRecord$Cb3MKja7_iTlaFQrvQTzPvLyoT8;-><init>(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/-$$Lambda$SettingsToPropertiesMapper$Rzo06OjarvWLxZlB1l32KTp3emA;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/-$$Lambda$UserController$Injector$MYTLl7MOQKjyMJknWdxPeBLoPCc;->run()V
-HSPLcom/android/server/am/-$$Lambda$UserController$K71HFCIuD0iCwrDTKYnIUDyAeWg;-><init>(Lcom/android/server/am/UserController;Lcom/android/server/am/UserState;)V
-PLcom/android/server/am/-$$Lambda$UserController$K71HFCIuD0iCwrDTKYnIUDyAeWg;->run()V
-HSPLcom/android/server/am/-$$Lambda$UserController$O8GIT-HtdCM0CCjYajdW2AFcrWQ;->run()V
-HSPLcom/android/server/am/-$$Lambda$UserController$qRaFvFpU0fG-BFv-EOAM55wngno;->run()V
-HSPLcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;->run()V
+PLcom/android/server/am/-$$Lambda$PersistentConnection$xTW-hnA2hSnEFuF87mUe85RYnfE;-><init>(Lcom/android/server/am/PersistentConnection;)V
+PLcom/android/server/am/-$$Lambda$PersistentConnection$xTW-hnA2hSnEFuF87mUe85RYnfE;->run()V
+PLcom/android/server/am/-$$Lambda$ProcessList$vtq7LF5jIHO4t5NE03c8g7BT7Jc;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+PLcom/android/server/am/-$$Lambda$ProcessList$vtq7LF5jIHO4t5NE03c8g7BT7Jc;->run()V
+PLcom/android/server/am/-$$Lambda$SettingsToPropertiesMapper$oP9A7vTPRZcZgLdy43KKEveF4zQ;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;)V
+PLcom/android/server/am/-$$Lambda$UserController$G0WJmqt4X_QG30fRlvXobn18mrE;-><init>(Lcom/android/server/am/UserController;)V
+PLcom/android/server/am/-$$Lambda$UserController$G0WJmqt4X_QG30fRlvXobn18mrE;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$I0p0bKjuvsSPLZB71mKQFfdUjZ4;-><init>(Lcom/android/server/am/UserController;Landroid/content/Intent;III)V
+PLcom/android/server/am/-$$Lambda$UserController$I0p0bKjuvsSPLZB71mKQFfdUjZ4;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$Injector$MYTLl7MOQKjyMJknWdxPeBLoPCc;-><init>(Landroid/appwidget/AppWidgetManagerInternal;I)V
+PLcom/android/server/am/-$$Lambda$UserController$Injector$MYTLl7MOQKjyMJknWdxPeBLoPCc;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$avTAix2Aub5zSKSBBofMYY2qXyk;-><init>(Lcom/android/server/am/UserController;I)V
+PLcom/android/server/am/-$$Lambda$UserController$avTAix2Aub5zSKSBBofMYY2qXyk;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;-><init>(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;->run()V
+PLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;-><clinit>()V
PLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;-><init>()V
-PLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/am/-$$Lambda$gATL8uvTPRd405IfefK1RL9bNqA;->run()V
-PLcom/android/server/am/-$$Lambda$yk1Ms9fVlF6PvprMwF2rru-dw4Q;-><init>()V
-PLcom/android/server/am/-$$Lambda$yk1Ms9fVlF6PvprMwF2rru-dw4Q;->applyAsLong(Ljava/lang/Object;)J
-PLcom/android/server/am/ActiveServices$1;->run()V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;-><init>(Lcom/android/server/am/ActiveServices;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpHeaderLocked()V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpLocked()V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpRemainsLocked()V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpServiceLocalLocked(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpUserHeaderLocked(I)V
-HSPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpUserRemainsLocked(I)V
-HSPLcom/android/server/am/ActiveServices$ServiceLookupResult;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActiveServices$ServiceMap;-><init>(Lcom/android/server/am/ActiveServices;Landroid/os/Looper;I)V
-HSPLcom/android/server/am/ActiveServices$ServiceMap;->ensureNotStartingBackgroundLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/-$$Lambda$gATL8uvTPRd405IfefK1RL9bNqA;-><init>(Landroid/hardware/display/DisplayManagerInternal;)V
+PLcom/android/server/am/-$$Lambda$gATL8uvTPRd405IfefK1RL9bNqA;->run()V
+HSPLcom/android/server/am/ActiveServices$1;-><init>(Lcom/android/server/am/ActiveServices;)V
+PLcom/android/server/am/ActiveServices$ActiveForegroundApp;-><init>()V
+PLcom/android/server/am/ActiveServices$ForcedStandbyListener;-><init>(Lcom/android/server/am/ActiveServices;)V
+HPLcom/android/server/am/ActiveServices$ServiceLookupResult;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
+PLcom/android/server/am/ActiveServices$ServiceMap;-><init>(Lcom/android/server/am/ActiveServices;Landroid/os/Looper;I)V
+HPLcom/android/server/am/ActiveServices$ServiceMap;->ensureNotStartingBackgroundLocked(Lcom/android/server/am/ServiceRecord;)V
PLcom/android/server/am/ActiveServices$ServiceMap;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/am/ActiveServices$ServiceMap;->rescheduleDelayedStartsLocked()V
-HSPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices$1;)V
-HSPLcom/android/server/am/ActiveServices$ServiceRestarter;->run()V
-HSPLcom/android/server/am/ActiveServices$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices$ServiceMap;->rescheduleDelayedStartsLocked()V
+PLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;)V
+HPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices$1;)V
+PLcom/android/server/am/ActiveServices$ServiceRestarter;->run()V
+PLcom/android/server/am/ActiveServices$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
HSPLcom/android/server/am/ActiveServices;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/ActiveServices;->appRestrictedAnyInBackground(ILjava/lang/String;)Z
-HSPLcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
-HSPLcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
-HSPLcom/android/server/am/ActiveServices;->bringDownDisabledPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;IZZ)Z
-HSPLcom/android/server/am/ActiveServices;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZZZ)Ljava/lang/String;
-HSPLcom/android/server/am/ActiveServices;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;ZLjava/lang/String;)V
-HSPLcom/android/server/am/ActiveServices;->cancelForegroundNotificationLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->appRestrictedAnyInBackground(ILjava/lang/String;)Z
+PLcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
+HPLcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/am/ActiveServices;->bringDownDisabledPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;IZZ)Z
+PLcom/android/server/am/ActiveServices;->bringDownServiceIfNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
+HPLcom/android/server/am/ActiveServices;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZZZ)Ljava/lang/String;
+HPLcom/android/server/am/ActiveServices;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;ZLjava/lang/String;)V
+HPLcom/android/server/am/ActiveServices;->cancelForegroundNotificationLocked(Lcom/android/server/am/ServiceRecord;)V
PLcom/android/server/am/ActiveServices;->cleanUpServices(ILandroid/content/ComponentName;Landroid/content/Intent;)V
-HSPLcom/android/server/am/ActiveServices;->clearRestartingIfNeededLocked(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZLandroid/util/ArrayMap;)Z
+PLcom/android/server/am/ActiveServices;->clearRestartingIfNeededLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZLandroid/util/ArrayMap;)Z
PLcom/android/server/am/ActiveServices;->decActiveForegroundAppLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ServiceRecord;)V
PLcom/android/server/am/ActiveServices;->dumpService(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
PLcom/android/server/am/ActiveServices;->dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ServiceRecord;[Ljava/lang/String;Z)V
-HSPLcom/android/server/am/ActiveServices;->forceStopPackageLocked(Ljava/lang/String;I)V
+PLcom/android/server/am/ActiveServices;->findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Lcom/android/server/am/ServiceRecord;
+PLcom/android/server/am/ActiveServices;->forceStopPackageLocked(Ljava/lang/String;I)V
PLcom/android/server/am/ActiveServices;->foregroundAppShownEnoughLocked(Lcom/android/server/am/ActiveServices$ActiveForegroundApp;J)Z
PLcom/android/server/am/ActiveServices;->foregroundServiceProcStateChangedLocked(Lcom/android/server/am/UidRecord;)V
-HSPLcom/android/server/am/ActiveServices;->getRunningServiceInfoLocked(IIIZZ)Ljava/util/List;
-HSPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;
-HSPLcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
-PLcom/android/server/am/ActiveServices;->lambda$scheduleCleanUpHasStartedWhitelistingBgActivityStartsLocked$0$ActiveServices(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
-HSPLcom/android/server/am/ActiveServices;->newServiceDumperLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Lcom/android/server/am/ActiveServices$ServiceDumper;
-HSPLcom/android/server/am/ActiveServices;->performServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V
-HSPLcom/android/server/am/ActiveServices;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;Z)V
-HSPLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;)V
-HSPLcom/android/server/am/ActiveServices;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;ZZ)Z
-HSPLcom/android/server/am/ActiveServices;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;ILandroid/content/Intent;ZI)Z
+HPLcom/android/server/am/ActiveServices;->getRunningServiceInfoLocked(IIIZZ)Ljava/util/List;
+PLcom/android/server/am/ActiveServices;->getServiceByNameLocked(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
+HPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;
+PLcom/android/server/am/ActiveServices;->getServicesLocked(I)Landroid/util/ArrayMap;
+PLcom/android/server/am/ActiveServices;->hasBackgroundServicesLocked(I)Z
+PLcom/android/server/am/ActiveServices;->isServiceNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)Z
+PLcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
+HPLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
+PLcom/android/server/am/ActiveServices;->performServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V
+HPLcom/android/server/am/ActiveServices;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;Z)V
+HPLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;)V
+HPLcom/android/server/am/ActiveServices;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;ZZ)Z
+PLcom/android/server/am/ActiveServices;->requestServiceBindingsLocked(Lcom/android/server/am/ServiceRecord;Z)V
+HPLcom/android/server/am/ActiveServices;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;ILandroid/content/Intent;ZI)Z
PLcom/android/server/am/ActiveServices;->requestUpdateActiveForegroundAppsLocked(Lcom/android/server/am/ActiveServices$ServiceMap;J)V
-HSPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZ)Lcom/android/server/am/ActiveServices$ServiceLookupResult;
-PLcom/android/server/am/ActiveServices;->scheduleCleanUpHasStartedWhitelistingBgActivityStartsLocked(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZ)Lcom/android/server/am/ActiveServices$ServiceLookupResult;
PLcom/android/server/am/ActiveServices;->scheduleServiceForegroundTransitionTimeoutLocked(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
-HSPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActiveServices;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
-HSPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;III)V
-HSPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
+PLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
+HPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActiveServices;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
+HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;III)V
+HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
PLcom/android/server/am/ActiveServices;->serviceProcessGoneLocked(Lcom/android/server/am/ServiceRecord;)V
PLcom/android/server/am/ActiveServices;->serviceTimeout(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActiveServices;->setServiceForegroundInnerLocked(Lcom/android/server/am/ServiceRecord;ILandroid/app/Notification;II)V
-HSPLcom/android/server/am/ActiveServices;->setServiceForegroundLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
-HSPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Landroid/content/Intent;Lcom/android/server/am/ServiceRecord;ZZ)Landroid/content/ComponentName;
-HSPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;IZ)Landroid/content/ComponentName;
-HSPLcom/android/server/am/ActiveServices;->stopInBackgroundLocked(I)V
+PLcom/android/server/am/ActiveServices;->setServiceForegroundInnerLocked(Lcom/android/server/am/ServiceRecord;ILandroid/app/Notification;II)V
+PLcom/android/server/am/ActiveServices;->setServiceForegroundLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
+HPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Landroid/content/Intent;Lcom/android/server/am/ServiceRecord;ZZ)Landroid/content/ComponentName;
+PLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;I)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;IZ)Landroid/content/ComponentName;
+HPLcom/android/server/am/ActiveServices;->stopInBackgroundLocked(I)V
PLcom/android/server/am/ActiveServices;->stopServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
PLcom/android/server/am/ActiveServices;->stopServiceLocked(Lcom/android/server/am/ServiceRecord;)V
-HSPLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+HPLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+PLcom/android/server/am/ActiveServices;->systemServicesReady()V
PLcom/android/server/am/ActiveServices;->unbindFinishedLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Z)V
-HSPLcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z
-HSPLcom/android/server/am/ActiveServices;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
+HPLcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z
+HPLcom/android/server/am/ActiveServices;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
PLcom/android/server/am/ActiveServices;->updateForegroundApps(Lcom/android/server/am/ActiveServices$ServiceMap;)V
PLcom/android/server/am/ActiveServices;->updateScreenStateLocked(Z)V
-PLcom/android/server/am/ActiveServices;->updateServiceApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/am/ActiveServices;->updateServiceClientActivitiesLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ConnectionRecord;Z)Z
-HSPLcom/android/server/am/ActiveServices;->updateServiceConnectionActivitiesLocked(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActiveServices;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
-PLcom/android/server/am/ActiveServices;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+HPLcom/android/server/am/ActiveServices;->updateServiceApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
+HPLcom/android/server/am/ActiveServices;->updateServiceClientActivitiesLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ConnectionRecord;Z)Z
+PLcom/android/server/am/ActiveServices;->updateServiceConnectionActivitiesLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActiveServices;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
+PLcom/android/server/am/ActiveServices;->updateWhitelistManagerLocked(Lcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/ActiveUids;-><init>(Lcom/android/server/am/ActivityManagerService;Z)V
+HSPLcom/android/server/am/ActiveUids;->clear()V
+HPLcom/android/server/am/ActiveUids;->get(I)Lcom/android/server/am/UidRecord;
+HPLcom/android/server/am/ActiveUids;->put(ILcom/android/server/am/UidRecord;)V
+PLcom/android/server/am/ActiveUids;->remove(I)V
HSPLcom/android/server/am/ActiveUids;->size()I
-HSPLcom/android/server/am/ActiveUids;->valueAt(I)Lcom/android/server/am/UidRecord;
-PLcom/android/server/am/ActivityManagerConstants$1;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerConstants;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;)V
-PLcom/android/server/am/ActivityManagerConstants;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/am/ActivityManagerConstants;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/am/ActivityManagerConstants;->start(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/am/ActivityManagerConstants;->updateBackgroundActivityStartsPackageNamesWhitelist()V
-HSPLcom/android/server/am/ActivityManagerConstants;->updateConstants()V
-HSPLcom/android/server/am/ActivityManagerConstants;->updateMaxCachedProcesses()V
-HSPLcom/android/server/am/ActivityManagerService$10;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HSPLcom/android/server/am/ActivityManagerService$15;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/ActivityManagerService$15;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HSPLcom/android/server/am/ActivityManagerService$16;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/ActivityManagerService$17;->run()V
-HSPLcom/android/server/am/ActivityManagerService$18;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
-HSPLcom/android/server/am/ActivityManagerService$18;->run()V
-HSPLcom/android/server/am/ActivityManagerService$19;->compare(Landroid/util/Pair;Landroid/util/Pair;)I
-HSPLcom/android/server/am/ActivityManagerService$19;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLcom/android/server/am/ActiveUids;->valueAt(I)Lcom/android/server/am/UidRecord;
+HSPLcom/android/server/am/ActivityManagerConstants$1;-><init>(Lcom/android/server/am/ActivityManagerConstants;)V
+HSPLcom/android/server/am/ActivityManagerConstants;-><clinit>()V
+HSPLcom/android/server/am/ActivityManagerConstants;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;)V
+PLcom/android/server/am/ActivityManagerConstants;->computeEmptyProcessLimit(I)I
+PLcom/android/server/am/ActivityManagerConstants;->start(Landroid/content/ContentResolver;)V
+PLcom/android/server/am/ActivityManagerConstants;->updateActivityStartsLoggingEnabled()V
+PLcom/android/server/am/ActivityManagerConstants;->updateBackgroundActivityStarts()V
+PLcom/android/server/am/ActivityManagerConstants;->updateConstants()V
+PLcom/android/server/am/ActivityManagerConstants;->updateMaxCachedProcesses()V
+PLcom/android/server/am/ActivityManagerConstants;->updateOomAdjUpdatePolicy()V
+PLcom/android/server/am/ActivityManagerService$10;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$11;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$11;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/ActivityManagerService$12;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$14;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/am/ActivityManagerService$17;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$17;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/ActivityManagerService$19;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
+PLcom/android/server/am/ActivityManagerService$19;->run()V
+HSPLcom/android/server/am/ActivityManagerService$1;-><init>(Lcom/android/server/am/ActivityManagerService;)V
PLcom/android/server/am/ActivityManagerService$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$1;->dumpCritical(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$1;->dumpNormal(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$20;->compare(Lcom/android/server/am/ActivityManagerService$MemItem;Lcom/android/server/am/ActivityManagerService$MemItem;)I
-PLcom/android/server/am/ActivityManagerService$20;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/am/ActivityManagerService$21;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/ActivityManagerService$21;->compare(Lcom/android/server/am/ProcessMemInfo;Lcom/android/server/am/ProcessMemInfo;)I
-HSPLcom/android/server/am/ActivityManagerService$21;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/am/ActivityManagerService$2;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-HSPLcom/android/server/am/ActivityManagerService$2;->allowFilterResult(Lcom/android/server/am/BroadcastFilter;Ljava/util/List;)Z
-HSPLcom/android/server/am/ActivityManagerService$2;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
-HSPLcom/android/server/am/ActivityManagerService$2;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/am/BroadcastFilter;)Z
-HSPLcom/android/server/am/ActivityManagerService$2;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/am/ActivityManagerService$2;->newArray(I)[Lcom/android/server/am/BroadcastFilter;
-HSPLcom/android/server/am/ActivityManagerService$2;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HSPLcom/android/server/am/ActivityManagerService$2;->newResult(Lcom/android/server/am/BroadcastFilter;II)Lcom/android/server/am/BroadcastFilter;
-HSPLcom/android/server/am/ActivityManagerService$3;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/am/ActivityManagerService$5;->run()V
-HSPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
-HSPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;->binderDied()V
-PLcom/android/server/am/ActivityManagerService$CpuBinder$1;->dumpCritical(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$CpuBinder;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService$DbBinder;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;->onChange()V
-PLcom/android/server/am/ActivityManagerService$GraphicsBinder;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getPolicy()I
-HSPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->isDisabled()Z
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->onChange(Z)V
-HSPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->registerObserver()V
-HSPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->update()V
+PLcom/android/server/am/ActivityManagerService$20;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
+HPLcom/android/server/am/ActivityManagerService$20;->run()V
+HSPLcom/android/server/am/ActivityManagerService$2;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$2;->onActivityLaunchCancelled([B)V
+PLcom/android/server/am/ActivityManagerService$2;->onActivityLaunchFinished([BJ)V
+PLcom/android/server/am/ActivityManagerService$2;->onActivityLaunched([BI)V
+PLcom/android/server/am/ActivityManagerService$2;->onIntentFailed()V
+PLcom/android/server/am/ActivityManagerService$2;->onIntentStarted(Landroid/content/Intent;J)V
+HSPLcom/android/server/am/ActivityManagerService$3;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$4;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$4;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+HPLcom/android/server/am/ActivityManagerService$4;->allowFilterResult(Lcom/android/server/am/BroadcastFilter;Ljava/util/List;)Z
+HPLcom/android/server/am/ActivityManagerService$4;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+PLcom/android/server/am/ActivityManagerService$4;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/am/BroadcastFilter;)Z
+PLcom/android/server/am/ActivityManagerService$4;->newArray(I)[Landroid/content/IntentFilter;
+PLcom/android/server/am/ActivityManagerService$4;->newArray(I)[Lcom/android/server/am/BroadcastFilter;
+HPLcom/android/server/am/ActivityManagerService$4;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+PLcom/android/server/am/ActivityManagerService$4;->newResult(Lcom/android/server/am/BroadcastFilter;II)Lcom/android/server/am/BroadcastFilter;
+HSPLcom/android/server/am/ActivityManagerService$5;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/am/ActivityManagerService$5;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/ActivityManagerService$5;->lambda$handleMessage$0(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
+PLcom/android/server/am/ActivityManagerService$6;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$7;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;)V
+HSPLcom/android/server/am/ActivityManagerService$7;->run()V
+PLcom/android/server/am/ActivityManagerService$8;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;IZIILandroid/content/pm/IPackageDataObserver;)V
+PLcom/android/server/am/ActivityManagerService$8;->onRemoveCompleted(Ljava/lang/String;Z)V
+PLcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
+PLcom/android/server/am/ActivityManagerService$AppDeathRecipient;->binderDied()V
+PLcom/android/server/am/ActivityManagerService$CpuBinder$1;-><init>(Lcom/android/server/am/ActivityManagerService$CpuBinder;)V
+PLcom/android/server/am/ActivityManagerService$CpuBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$DbBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;->onChange()V
+PLcom/android/server/am/ActivityManagerService$GraphicsBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;-><init>(Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getPolicy()I
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getValidEnforcementPolicy(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->isDisabled()Z
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->registerObserver()V
+PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->update()V
+PLcom/android/server/am/ActivityManagerService$ImportanceToken;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
+HSPLcom/android/server/am/ActivityManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/am/ActivityManagerService$Injector;->ensureHasNetworkManagementInternal()Z
HSPLcom/android/server/am/ActivityManagerService$Injector;->getAppOpsService(Ljava/io/File;Landroid/os/Handler;)Lcom/android/server/appop/AppOpsService;
HSPLcom/android/server/am/ActivityManagerService$Injector;->getUiHandler(Lcom/android/server/am/ActivityManagerService;)Landroid/os/Handler;
-HSPLcom/android/server/am/ActivityManagerService$Injector;->isNetworkRestrictedForUid(I)Z
+HPLcom/android/server/am/ActivityManagerService$Injector;->isNetworkRestrictedForUid(I)Z
+HSPLcom/android/server/am/ActivityManagerService$IntentFirewallInterface;-><init>(Lcom/android/server/am/ActivityManagerService;)V
HSPLcom/android/server/am/ActivityManagerService$IntentFirewallInterface;->getAMSLock()Ljava/lang/Object;
-HSPLcom/android/server/am/ActivityManagerService$ItemMatcher;->build([Ljava/lang/String;I)I
-HSPLcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
HSPLcom/android/server/am/ActivityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->getService()Lcom/android/server/am/ActivityManagerService;
HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->onBootPhase(I)V
HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->onStart()V
+HSPLcom/android/server/am/ActivityManagerService$Lifecycle;->startService(Lcom/android/server/SystemServiceManager;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/am/ActivityManagerService;
+HSPLcom/android/server/am/ActivityManagerService$LocalService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
PLcom/android/server/am/ActivityManagerService$LocalService;->broadcastCloseSystemDialogs(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastGlobalConfigurationChanged(IZ)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService$LocalService;->broadcastGlobalConfigurationChanged(IZ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
PLcom/android/server/am/ActivityManagerService$LocalService;->cleanUpServices(ILandroid/content/ComponentName;Landroid/content/Intent;)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->disconnectActivityFromServices(Ljava/lang/Object;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/am/ActivityManagerService$LocalService;->ensureNotSpecialUser(I)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->finishBooting()V
-PLcom/android/server/am/ActivityManagerService$LocalService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/am/ActivityManagerService$LocalService;->getActivityPresentationInfo(Landroid/os/IBinder;)Landroid/content/pm/ActivityPresentationInfo;
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentProfileIds()[I
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I
-PLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryHighWaterMarkForProcesses()Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryStateForProcesses()Ljava/util/List;
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->getStorageMountMode(II)I
-PLcom/android/server/am/ActivityManagerService$LocalService;->getTaskIdForActivity(Landroid/os/IBinder;Z)I
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->hasStartedUserState(I)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isActivityStartsLoggingEnabled()Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isAppBad(Landroid/content/pm/ApplicationInfo;)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isAppForeground(I)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isBackgroundActivityStartsEnabled()Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBooted()Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isBooting()Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isCurrentProfile(I)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isPackageNameWhitelistedForBgActivityStarts(Ljava/lang/String;)Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isRuntimeRestarted()Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isSystemReady()Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->isUserRunning(II)Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->killAllBackgroundProcessesExcept(II)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->killProcessesForRemovedTask(Ljava/util/ArrayList;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->finishBooting()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentProfileIds()[I
+PLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I
+HPLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryStateForProcesses()Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->hasStartedUserState(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isAppBad(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isBooted()Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isBooting()Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isCurrentProfile(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isRuntimeRestarted()Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isSplitConfigurationChange(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isSystemReady()Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z
+HPLcom/android/server/am/ActivityManagerService$LocalService;->isUserRunning(II)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->killAllBackgroundProcessesExcept(II)V
+HPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V
PLcom/android/server/am/ActivityManagerService$LocalService;->onWakefulnessChanged(I)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->reportCurKeyguardUsageEvent(Z)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->scheduleAppGcs()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->registerProcessObserver(Landroid/app/IProcessObserver;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->reportCurKeyguardUsageEvent(Z)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->scheduleAppGcs()V
PLcom/android/server/am/ActivityManagerService$LocalService;->sendForegroundProfileChanged(I)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setBooted(Z)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setBooting(Z)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceIdleWhitelist([I[I)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setHasOverlayUi(IZ)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->setRunningRemoteAnimation(IZ)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setSwitchingFromSystemUserMessage(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->setSwitchingToSystemUserMessage(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->shouldConfirmCredentials(I)Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->startProcess(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZLjava/lang/String;Landroid/content/ComponentName;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setBooted(Z)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setBooting(Z)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceIdleWhitelist([I[I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setHasOverlayUi(IZ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->shouldConfirmCredentials(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->startProcess(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZZLjava/lang/String;Landroid/content/ComponentName;)V
PLcom/android/server/am/ActivityManagerService$LocalService;->startServiceInPackage(ILandroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;IZ)Landroid/content/ComponentName;
-PLcom/android/server/am/ActivityManagerService$LocalService;->tempWhitelistForPendingIntent(IIIJLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->trimApplications()V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateCpuStats()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->trimApplications()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateCpuStats()V
PLcom/android/server/am/ActivityManagerService$LocalService;->updateDeviceIdleTempWhitelist([IIZ)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateForegroundTimeIfOnBattery(Ljava/lang/String;IJ)V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateOomAdj()V
-HSPLcom/android/server/am/ActivityManagerService$LocalService;->updateOomLevelsForDisplay(I)V
-HSPLcom/android/server/am/ActivityManagerService$MainHandler$1;->run()V
-HSPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/ActivityManagerService$MemBinder$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$MemBinder$1;->dumpHigh(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$MemBinder;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JJI)V
-PLcom/android/server/am/ActivityManagerService$MemItem;-><init>(Ljava/lang/String;Ljava/lang/String;JJIZ)V
-HSPLcom/android/server/am/ActivityManagerService$PermissionController;->checkPermission(Ljava/lang/String;II)Z
-HSPLcom/android/server/am/ActivityManagerService$PermissionController;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService$PermissionController;->isRuntimePermission(Ljava/lang/String;)Z
-HSPLcom/android/server/am/ActivityManagerService$PermissionController;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService$PidMap;->get(I)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService$PidMap;->indexOfKey(I)I
-PLcom/android/server/am/ActivityManagerService$PidMap;->keyAt(I)I
-HSPLcom/android/server/am/ActivityManagerService$PidMap;->put(ILcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActivityManagerService$PidMap;->remove(I)V
-HSPLcom/android/server/am/ActivityManagerService$PidMap;->size()I
-HSPLcom/android/server/am/ActivityManagerService$PidMap;->valueAt(I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateForegroundTimeIfOnBattery(Ljava/lang/String;IJ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateOomAdj()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->updateOomLevelsForDisplay(I)V
+HSPLcom/android/server/am/ActivityManagerService$MainHandler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
+PLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/ActivityManagerService$MemBinder$1;-><init>(Lcom/android/server/am/ActivityManagerService$MemBinder;)V
+PLcom/android/server/am/ActivityManagerService$MemBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$PackageAssociationInfo;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Landroid/util/ArraySet;Z)V
+PLcom/android/server/am/ActivityManagerService$PendingTempWhitelist;-><init>(IJLjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$PermissionController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$PermissionController;->checkPermission(Ljava/lang/String;II)Z
+PLcom/android/server/am/ActivityManagerService$PermissionController;->getPackagesForUid(I)[Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService$PermissionController;->isRuntimePermission(Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService$PermissionController;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
+HSPLcom/android/server/am/ActivityManagerService$PidMap;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$PidMap;->get(I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService$PidMap;->indexOfKey(I)I
+PLcom/android/server/am/ActivityManagerService$PidMap;->put(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService$PidMap;->remove(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService$PidMap;->size()I
+PLcom/android/server/am/ActivityManagerService$PidMap;->valueAt(I)Lcom/android/server/am/ProcessRecord;
PLcom/android/server/am/ActivityManagerService$ProcStatsRunnable;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessStatsService;)V
PLcom/android/server/am/ActivityManagerService$ProcStatsRunnable;->run()V
-PLcom/android/server/am/ActivityManagerService$ProcessInfoService;->getProcessStatesAndOomScoresFromPids([I[I[I)V
-HSPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfileApp()Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfileProc()Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfilerInfo()Landroid/app/ProfilerInfo;
-HSPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/ActivityManagerService$UidObserverRegistration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/am/ActivityManagerService$ProcessChangeItem;-><init>()V
+PLcom/android/server/am/ActivityManagerService$ProcessInfoService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/ActivityManagerService$ProfileData;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService$ProfileData;->getProfileApp()Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService$ProfileData;->getProfileProc()Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ActivityManagerService$UiHandler;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/ActivityManagerService$UidObserverRegistration;-><clinit>()V
+PLcom/android/server/am/ActivityManagerService$UidObserverRegistration;-><init>(ILjava/lang/String;II)V
+HSPLcom/android/server/am/ActivityManagerService;-><clinit>()V
HSPLcom/android/server/am/ActivityManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityTaskManagerService;)V
-PLcom/android/server/am/ActivityManagerService;->access$400(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService;->addBackgroundCheckViolationLocked(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->access$100(Lcom/android/server/am/ActivityManagerService;)J
+HSPLcom/android/server/am/ActivityManagerService;->access$1000(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->access$1100(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->access$1200(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService;->access$1700(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/am/ActivityManagerService;->access$200(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->access$300(Lcom/android/server/am/ActivityManagerService;II)V
+PLcom/android/server/am/ActivityManagerService;->access$500(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZZZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->addBackgroundCheckViolationLocked(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V
+PLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
+PLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->addServiceToMap(Landroid/util/ArrayMap;Ljava/lang/String;)V
PLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;Z)V
-HSPLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLocked(ILjava/lang/String;I)I
-HSPLcom/android/server/am/ActivityManagerService;->appServicesRestrictedInBackgroundLocked(ILjava/lang/String;I)I
-HSPLcom/android/server/am/ActivityManagerService;->appendBasicMemEntry(Ljava/lang/StringBuilder;IIJJLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
-HSPLcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
-HSPLcom/android/server/am/ActivityManagerService;->appendMemInfo(Ljava/lang/StringBuilder;Lcom/android/server/am/ProcessMemInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V
-HSPLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)Z
-HSPLcom/android/server/am/ActivityManagerService;->backgroundServicesFinishedLocked(I)V
+PLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;Z)V
+HPLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLocked(ILjava/lang/String;I)I
+PLcom/android/server/am/ActivityManagerService;->appServicesRestrictedInBackgroundLocked(ILjava/lang/String;I)I
+PLcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
+PLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V
+PLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)Z
+PLcom/android/server/am/ActivityManagerService;->backgroundServicesFinishedLocked(I)V
PLcom/android/server/am/ActivityManagerService;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;I)V
-HSPLcom/android/server/am/ActivityManagerService;->batteryNeedsCpuUpdate()V
-HSPLcom/android/server/am/ActivityManagerService;->batteryPowerChanged(Z)V
-HSPLcom/android/server/am/ActivityManagerService;->batterySendBroadcast(Landroid/content/Intent;)V
-HSPLcom/android/server/am/ActivityManagerService;->batteryStatsReset()V
+PLcom/android/server/am/ActivityManagerService;->batteryNeedsCpuUpdate()V
+PLcom/android/server/am/ActivityManagerService;->batteryPowerChanged(Z)V
+PLcom/android/server/am/ActivityManagerService;->batterySendBroadcast(Landroid/content/Intent;)V
PLcom/android/server/am/ActivityManagerService;->bindBackupAgent(Ljava/lang/String;II)Z
-HSPLcom/android/server/am/ActivityManagerService;->bindIsolatedService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
-PLcom/android/server/am/ActivityManagerService;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
-HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V
-HSPLcom/android/server/am/ActivityManagerService;->bootAnimationComplete()V
-HSPLcom/android/server/am/ActivityManagerService;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
-HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
-HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
-HSPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIIZ)I
-HSPLcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
-PLcom/android/server/am/ActivityManagerService;->canGcNowLocked()Z
+HPLcom/android/server/am/ActivityManagerService;->bindIsolatedService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V
+PLcom/android/server/am/ActivityManagerService;->bootAnimationComplete()V
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
+PLcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIIZ)I
+HPLcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
PLcom/android/server/am/ActivityManagerService;->cancelIntentSender(Landroid/content/IIntentSender;)V
-HSPLcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;)Z
-HSPLcom/android/server/am/ActivityManagerService;->checkBroadcastFromSystem(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IZLjava/util/List;)V
-HSPLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
-HSPLcom/android/server/am/ActivityManagerService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->checkContentProviderAssociation(Lcom/android/server/am/ProcessRecord;ILandroid/content/pm/ProviderInfo;)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;IZ)Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ActivityManagerService;->checkBroadcastFromSystem(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IZLjava/util/List;)V
+PLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
+HPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+HPLcom/android/server/am/ActivityManagerService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService;->checkContentProviderAssociation(Lcom/android/server/am/ProcessRecord;ILandroid/content/pm/ProviderInfo;)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;IZ)Ljava/lang/String;
PLcom/android/server/am/ActivityManagerService;->checkExcessivePowerUsageLocked()V
-HSPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
-HSPLcom/android/server/am/ActivityManagerService;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
-HSPLcom/android/server/am/ActivityManagerService;->checkTime(JLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-HSPLcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZIZ)Z
-HSPLcom/android/server/am/ActivityManagerService;->cleanupAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
-HSPLcom/android/server/am/ActivityManagerService;->cleanupDisabledPackageComponentsLocked(Ljava/lang/String;I[Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
+HPLcom/android/server/am/ActivityManagerService;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
+HPLcom/android/server/am/ActivityManagerService;->checkTime(JLjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
+HPLcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZIZ)Z
+PLcom/android/server/am/ActivityManagerService;->cleanupAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
+PLcom/android/server/am/ActivityManagerService;->cleanupDisabledPackageComponentsLocked(Ljava/lang/String;I[Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->clearApplicationUserData(Ljava/lang/String;ZLandroid/content/pm/IPackageDataObserver;I)Z
PLcom/android/server/am/ActivityManagerService;->closeSystemDialogs(Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->collectProcesses(Ljava/io/PrintWriter;IZ[Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I)Ljava/util/List;
-HSPLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
-PLcom/android/server/am/ActivityManagerService;->createAnrDumpFile(Ljava/io/File;)Ljava/io/File;
-HSPLcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
-HSPLcom/android/server/am/ActivityManagerService;->dispatchProcessDied(II)V
-HSPLcom/android/server/am/ActivityManagerService;->dispatchProcessesChanged()V
-HSPLcom/android/server/am/ActivityManagerService;->dispatchUidsChanged()V
-HSPLcom/android/server/am/ActivityManagerService;->dispatchUidsChangedForObserver(Landroid/app/IUidObserver;Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;I)V
+HPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I)Ljava/util/List;
+PLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+PLcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
+PLcom/android/server/am/ActivityManagerService;->dispatchProcessDied(II)V
+HPLcom/android/server/am/ActivityManagerService;->dispatchProcessesChanged()V
+HPLcom/android/server/am/ActivityManagerService;->dispatchUidsChanged()V
+HPLcom/android/server/am/ActivityManagerService;->dispatchUidsChangedForObserver(Landroid/app/IUidObserver;Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;I)V
PLcom/android/server/am/ActivityManagerService;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-HSPLcom/android/server/am/ActivityManagerService;->doLowMemReportIfNeededLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->doLowMemReportIfNeededLocked(Lcom/android/server/am/ProcessRecord;)V
PLcom/android/server/am/ActivityManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpAllowedAssociationsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpApplicationMemoryUsage(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/am/ActivityManagerService$MemoryUsageDumpOptions;[Ljava/lang/String;ZLjava/util/ArrayList;Ljava/io/PrintWriter;)V
-PLcom/android/server/am/ActivityManagerService;->dumpApplicationMemoryUsage(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;ZLjava/io/PrintWriter;Z)V
-PLcom/android/server/am/ActivityManagerService;->dumpApplicationMemoryUsageHeader(Ljava/io/PrintWriter;JJZZ)V
-PLcom/android/server/am/ActivityManagerService;->dumpBinderProxies(Ljava/io/PrintWriter;I)V
-PLcom/android/server/am/ActivityManagerService;->dumpBinderProxiesCounts(Ljava/io/PrintWriter;Ljava/lang/String;)Z
PLcom/android/server/am/ActivityManagerService;->dumpBroadcastStatsCheckinLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpBroadcastStatsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpBroadcastsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpDbInfo(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpEverything(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;ZZI)V
-PLcom/android/server/am/ActivityManagerService;->dumpGraphicsHardwareUsage(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpLmkLocked(Ljava/io/PrintWriter;)Z
-PLcom/android/server/am/ActivityManagerService;->dumpLruEntryLocked(Ljava/io/PrintWriter;ILcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityManagerService;->dumpLruLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpMemItems(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;ZZZ)V
-PLcom/android/server/am/ActivityManagerService;->dumpPermissionsLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->dumpProcessList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService;->dumpProcessOomList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
-HSPLcom/android/server/am/ActivityManagerService;->dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;I)V
-HSPLcom/android/server/am/ActivityManagerService;->dumpProcessesToGc(Ljava/io/PrintWriter;ZLjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
-PLcom/android/server/am/ActivityManagerService;->dumpProviderProto(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->dumpProvidersLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-PLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/util/ArrayList;Lcom/android/internal/os/ProcessCpuTracker;Landroid/util/SparseArray;Ljava/util/ArrayList;)Ljava/io/File;
-HSPLcom/android/server/am/ActivityManagerService;->dumpUids(Ljava/io/PrintWriter;Ljava/lang/String;ILcom/android/server/am/ActiveUids;Ljava/lang/String;Z)Z
-HSPLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
PLcom/android/server/am/ActivityManagerService;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->enforceWriteSettingsPermission(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->enqueueProcessChangeItemLocked(II)Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
-HSPLcom/android/server/am/ActivityManagerService;->enqueueUidChangeLocked(Lcom/android/server/am/UidRecord;II)V
-HSPLcom/android/server/am/ActivityManagerService;->ensureAllowedAssociations()V
-HSPLcom/android/server/am/ActivityManagerService;->ensureBootCompleted()V
-HSPLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService;->finishBooting()V
+HPLcom/android/server/am/ActivityManagerService;->enqueueProcessChangeItemLocked(II)Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
+HPLcom/android/server/am/ActivityManagerService;->enqueueUidChangeLocked(Lcom/android/server/am/UidRecord;II)V
+HPLcom/android/server/am/ActivityManagerService;->ensureAllowedAssociations()V
+PLcom/android/server/am/ActivityManagerService;->ensureBootCompleted()V
+PLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->finishBooting()V
PLcom/android/server/am/ActivityManagerService;->finishForceStopPackageLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
-HSPLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZILjava/lang/String;)Z
-HSPLcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
+PLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZILjava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
PLcom/android/server/am/ActivityManagerService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
PLcom/android/server/am/ActivityManagerService;->getAppId(Ljava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/am/ActivityManagerService;->getAppOpsService()Lcom/android/internal/app/IAppOpsService;
-HSPLcom/android/server/am/ActivityManagerService;->getAppStartModeLocked(ILjava/lang/String;IIZZZ)I
-HSPLcom/android/server/am/ActivityManagerService;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet;
-HSPLcom/android/server/am/ActivityManagerService;->getBlockStateForUid(Lcom/android/server/am/UidRecord;)I
-HSPLcom/android/server/am/ActivityManagerService;->getCommonServicesLocked(Z)Landroid/util/ArrayMap;
-HSPLcom/android/server/am/ActivityManagerService;->getConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/am/ActivityManagerService;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
-HSPLcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;ZI)Landroid/app/ContentProviderHolder;
-HSPLcom/android/server/am/ActivityManagerService;->getCurrentUser()Landroid/content/pm/UserInfo;
-PLcom/android/server/am/ActivityManagerService;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;
-HSPLcom/android/server/am/ActivityManagerService;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
-HSPLcom/android/server/am/ActivityManagerService;->getKsmInfo()[J
-PLcom/android/server/am/ActivityManagerService;->getLaunchedFromUid(Landroid/os/IBinder;)I
-PLcom/android/server/am/ActivityManagerService;->getLowRamTimeSinceIdle(J)J
-HSPLcom/android/server/am/ActivityManagerService;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->getMemoryTrimLevel()I
-HSPLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
-HSPLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-PLcom/android/server/am/ActivityManagerService;->getProcessLimit()I
-HSPLcom/android/server/am/ActivityManagerService;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-HSPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->getProcessStatesAndOomScoresForPIDs([I[I[I)V
-PLcom/android/server/am/ActivityManagerService;->getProcessesInErrorState()Ljava/util/List;
+PLcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/am/ActivityManagerService;->getAppOpsService()Lcom/android/internal/app/IAppOpsService;
+HPLcom/android/server/am/ActivityManagerService;->getAppStartModeLocked(ILjava/lang/String;IIZZZ)I
+HPLcom/android/server/am/ActivityManagerService;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet;
+PLcom/android/server/am/ActivityManagerService;->getCommonServicesLocked(Z)Landroid/util/ArrayMap;
+PLcom/android/server/am/ActivityManagerService;->getConfiguration()Landroid/content/res/Configuration;
+HPLcom/android/server/am/ActivityManagerService;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
+HPLcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;ZI)Landroid/app/ContentProviderHolder;
+HPLcom/android/server/am/ActivityManagerService;->getCurrentUser()Landroid/content/pm/UserInfo;
+HPLcom/android/server/am/ActivityManagerService;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
+PLcom/android/server/am/ActivityManagerService;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
+PLcom/android/server/am/ActivityManagerService;->getMemoryTrimLevel()I
+PLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
+HPLcom/android/server/am/ActivityManagerService;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
+HPLcom/android/server/am/ActivityManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
+HPLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
+HPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
PLcom/android/server/am/ActivityManagerService;->getProviderInfoLocked(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
PLcom/android/server/am/ActivityManagerService;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
-HSPLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I
-HSPLcom/android/server/am/ActivityManagerService;->getServices(II)Ljava/util/List;
-HSPLcom/android/server/am/ActivityManagerService;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->getTagForIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/am/ActivityManagerService;->getTaskForActivity(Landroid/os/IBinder;Z)I
-HSPLcom/android/server/am/ActivityManagerService;->getTasks(I)Ljava/util/List;
+HPLcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
+PLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I
+PLcom/android/server/am/ActivityManagerService;->getServices(II)Ljava/util/List;
+PLcom/android/server/am/ActivityManagerService;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService;->getTagForIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/server/am/ActivityManagerService;->getTopAppLocked()Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-HSPLcom/android/server/am/ActivityManagerService;->getUidFromIntent(Landroid/content/Intent;)I
+HPLcom/android/server/am/ActivityManagerService;->getUidForIntentSender(Landroid/content/IIntentSender;)I
+PLcom/android/server/am/ActivityManagerService;->getUidFromIntent(Landroid/content/Intent;)I
PLcom/android/server/am/ActivityManagerService;->getUidProcessState(ILjava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService;->getUidState(I)I
-HSPLcom/android/server/am/ActivityManagerService;->grantEphemeralAccessLocked(ILandroid/content/Intent;II)V
+HPLcom/android/server/am/ActivityManagerService;->getUidState(I)I
+HPLcom/android/server/am/ActivityManagerService;->grantImplicitAccess(ILandroid/content/Intent;II)V
PLcom/android/server/am/ActivityManagerService;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-HSPLcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
-HSPLcom/android/server/am/ActivityManagerService;->handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->handleApplicationCrashInner(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
-HSPLcom/android/server/am/ActivityManagerService;->handleApplicationWtfInner(IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
+PLcom/android/server/am/ActivityManagerService;->handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
+PLcom/android/server/am/ActivityManagerService;->handleApplicationCrashInner(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)V
+PLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
+PLcom/android/server/am/ActivityManagerService;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
+PLcom/android/server/am/ActivityManagerService;->handleApplicationWtfInner(IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z
PLcom/android/server/am/ActivityManagerService;->idleUids()V
-HSPLcom/android/server/am/ActivityManagerService;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Z)Lcom/android/server/am/ContentProviderConnection;
-HSPLcom/android/server/am/ActivityManagerService;->incrementProcStateSeqAndNotifyAppsLocked()V
+HPLcom/android/server/am/ActivityManagerService;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Z)Lcom/android/server/am/ContentProviderConnection;
HSPLcom/android/server/am/ActivityManagerService;->initPowerManagement()V
-HSPLcom/android/server/am/ActivityManagerService;->installEncryptionUnawareProviders(I)V
-HSPLcom/android/server/am/ActivityManagerService;->installSystemProviders()V
-HSPLcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isAppBad(Landroid/content/pm/ApplicationInfo;)Z
-PLcom/android/server/am/ActivityManagerService;->isAppForeground(I)Z
-HSPLcom/android/server/am/ActivityManagerService;->isAppStartModeDisabled(ILjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->isBackgroundRestricted(Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->isBackgroundRestrictedNoCheck(ILjava/lang/String;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isInstantApp(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)Z
-HSPLcom/android/server/am/ActivityManagerService;->isIntentSenderABroadcast(Landroid/content/IIntentSender;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isOnDeviceIdleWhitelistLocked(IZ)Z
-HSPLcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
-HSPLcom/android/server/am/ActivityManagerService;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isReceivingBroadcastLocked(Lcom/android/server/am/ProcessRecord;Landroid/util/ArraySet;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
-HSPLcom/android/server/am/ActivityManagerService;->isUidActive(ILjava/lang/String;)Z
-HSPLcom/android/server/am/ActivityManagerService;->isUidActiveLocked(I)Z
-HSPLcom/android/server/am/ActivityManagerService;->isUserAMonkey()Z
-HSPLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z
-HSPLcom/android/server/am/ActivityManagerService;->isValidSingletonCall(II)Z
-HSPLcom/android/server/am/ActivityManagerService;->killAllBackgroundProcessesExcept(II)V
-HSPLcom/android/server/am/ActivityManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->installEncryptionUnawareProviders(I)V
+PLcom/android/server/am/ActivityManagerService;->installSystemProviders()V
+PLcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/am/ActivityManagerService;->isAppBad(Landroid/content/pm/ApplicationInfo;)Z
+HPLcom/android/server/am/ActivityManagerService;->isAppStartModeDisabled(ILjava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->isDeviceProvisioned(Landroid/content/Context;)Z
+HPLcom/android/server/am/ActivityManagerService;->isInstantApp(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)Z
+PLcom/android/server/am/ActivityManagerService;->isIntentSenderABroadcast(Landroid/content/IIntentSender;)Z
+PLcom/android/server/am/ActivityManagerService;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
+PLcom/android/server/am/ActivityManagerService;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
+HPLcom/android/server/am/ActivityManagerService;->isOnDeviceIdleWhitelistLocked(IZ)Z
+PLcom/android/server/am/ActivityManagerService;->isOnOffloadQueue(I)Z
+PLcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
+PLcom/android/server/am/ActivityManagerService;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ActivityManagerService;->isReceivingBroadcastLocked(Lcom/android/server/am/ProcessRecord;Landroid/util/ArraySet;)Z
+HPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
+HPLcom/android/server/am/ActivityManagerService;->isUidActive(ILjava/lang/String;)Z
+HPLcom/android/server/am/ActivityManagerService;->isUidActiveLocked(I)Z
+PLcom/android/server/am/ActivityManagerService;->isUserAMonkey()Z
+PLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z
+PLcom/android/server/am/ActivityManagerService;->isValidSingletonCall(II)Z
+PLcom/android/server/am/ActivityManagerService;->killAllBackgroundProcessesExcept(II)V
+PLcom/android/server/am/ActivityManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
PLcom/android/server/am/ActivityManagerService;->killApplicationProcess(Ljava/lang/String;I)V
-HSPLcom/android/server/am/ActivityManagerService;->killUid(IILjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->lambda$systemReady$1$ActivityManagerService(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
-PLcom/android/server/am/ActivityManagerService;->maybePruneOldTraces(Ljava/io/File;)V
-HSPLcom/android/server/am/ActivityManagerService;->maybeUpdateProviderUsageStatsLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->monitor()V
-HSPLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(II)V
-HSPLcom/android/server/am/ActivityManagerService;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V
-HSPLcom/android/server/am/ActivityManagerService;->onCoreSettingsChange(Landroid/os/Bundle;)V
-HSPLcom/android/server/am/ActivityManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
-HSPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/am/ActivityManagerService;->killUid(IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->lambda$logStrictModeViolationToDropBox$3(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
+HPLcom/android/server/am/ActivityManagerService;->maybeUpdateProviderUsageStatsLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->monitor()V
+PLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(III)V
+PLcom/android/server/am/ActivityManagerService;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService;->onCoreSettingsChange(Landroid/os/Bundle;)V
+PLcom/android/server/am/ActivityManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
+HPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLcom/android/server/am/ActivityManagerService;->onWakefulnessChanged(I)V
-PLcom/android/server/am/ActivityManagerService;->openContentUri(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/am/ActivityManagerService;->performAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityManagerService;->performAppGcsLocked()V
-PLcom/android/server/am/ActivityManagerService;->performIdleMaintenance()V
-HSPLcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
-HSPLcom/android/server/am/ActivityManagerService;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
+PLcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService;->processContentProviderPublishTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
+HPLcom/android/server/am/ActivityManagerService;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
PLcom/android/server/am/ActivityManagerService;->pushTempWhitelist()V
-HSPLcom/android/server/am/ActivityManagerService;->recordPssSampleLocked(Lcom/android/server/am/ProcessRecord;IJJJJIJJ)V
-HSPLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z
-PLcom/android/server/am/ActivityManagerService;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HSPLcom/android/server/am/ActivityManagerService;->registerProcessObserver(Landroid/app/IProcessObserver;)V
-HSPLcom/android/server/am/ActivityManagerService;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-HSPLcom/android/server/am/ActivityManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLcom/android/server/am/ActivityManagerService;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->removeContentProvider(Landroid/os/IBinder;Z)V
+PLcom/android/server/am/ActivityManagerService;->recordPssSampleLocked(Lcom/android/server/am/ProcessRecord;IJJJJIJJ)V
+HPLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z
+HPLcom/android/server/am/ActivityManagerService;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/am/ActivityManagerService;->registerProcessObserver(Landroid/app/IProcessObserver;)V
+HPLcom/android/server/am/ActivityManagerService;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
+PLcom/android/server/am/ActivityManagerService;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->removeContentProvider(Landroid/os/IBinder;Z)V
PLcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
-HSPLcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
-HSPLcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
-HSPLcom/android/server/am/ActivityManagerService;->reportCurWakefulnessUsageEventLocked()V
-HSPLcom/android/server/am/ActivityManagerService;->reportGlobalUsageEventLocked(I)V
-PLcom/android/server/am/ActivityManagerService;->reportLmkKillAtOrBelow(Ljava/io/PrintWriter;I)Z
-HSPLcom/android/server/am/ActivityManagerService;->reportMemUsage(Ljava/util/ArrayList;)V
-HSPLcom/android/server/am/ActivityManagerService;->reportUidInfoMessageLocked(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityManagerService;->requestBugReport(I)V
+HPLcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
+PLcom/android/server/am/ActivityManagerService;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
+PLcom/android/server/am/ActivityManagerService;->reportCurWakefulnessUsageEventLocked()V
+PLcom/android/server/am/ActivityManagerService;->reportGlobalUsageEventLocked(I)V
+PLcom/android/server/am/ActivityManagerService;->reportUidInfoMessageLocked(Ljava/lang/String;Ljava/lang/String;I)V
HSPLcom/android/server/am/ActivityManagerService;->requestPssAllProcsLocked(JZZ)V
PLcom/android/server/am/ActivityManagerService;->requestPssLocked(Lcom/android/server/am/ProcessRecord;I)Z
-HSPLcom/android/server/am/ActivityManagerService;->requestTargetProviderPermissionsReviewIfNeededLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;I)Z
+PLcom/android/server/am/ActivityManagerService;->requestTargetProviderPermissionsReviewIfNeededLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;I)Z
PLcom/android/server/am/ActivityManagerService;->requireAllowedAssociationsLocked(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterLockedSection()V
-PLcom/android/server/am/ActivityManagerService;->resumeAppSwitches()V
-HSPLcom/android/server/am/ActivityManagerService;->retrieveSettings()V
+HPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterLockedSection()V
+PLcom/android/server/am/ActivityManagerService;->retrieveSettings()V
PLcom/android/server/am/ActivityManagerService;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-HSPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V
-HSPLcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
-HSPLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
-HSPLcom/android/server/am/ActivityManagerService;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
-HSPLcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
-HSPLcom/android/server/am/ActivityManagerService;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
-HSPLcom/android/server/am/ActivityManagerService;->serviceDoneExecuting(Landroid/os/IBinder;III)V
-HSPLcom/android/server/am/ActivityManagerService;->setContentCaptureManager(Lcom/android/server/contentcapture/ContentCaptureManagerInternal;)V
-HSPLcom/android/server/am/ActivityManagerService;->setDumpHeapDebugLimit(Ljava/lang/String;IJLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->setHasTopUi(Z)V
+HPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V
+PLcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
+PLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
+PLcom/android/server/am/ActivityManagerService;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
+PLcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ActivityManagerService;->serviceDoneExecuting(Landroid/os/IBinder;III)V
+PLcom/android/server/am/ActivityManagerService;->setAppIdTempWhitelistStateLocked(IZ)V
+PLcom/android/server/am/ActivityManagerService;->setContentCaptureManager(Lcom/android/server/contentcapture/ContentCaptureManagerInternal;)V
+PLcom/android/server/am/ActivityManagerService;->setHasTopUi(Z)V
HSPLcom/android/server/am/ActivityManagerService;->setInstaller(Lcom/android/server/pm/Installer;)V
PLcom/android/server/am/ActivityManagerService;->setProcessImportant(Landroid/os/IBinder;IZLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->setRenderThread(I)V
-PLcom/android/server/am/ActivityManagerService;->setRunningRemoteAnimation(IZ)V
-HSPLcom/android/server/am/ActivityManagerService;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
-HSPLcom/android/server/am/ActivityManagerService;->setSystemProcess()V
+HPLcom/android/server/am/ActivityManagerService;->setProcessTrackerStateLocked(Lcom/android/server/am/ProcessRecord;IJ)V
+PLcom/android/server/am/ActivityManagerService;->setRenderThread(I)V
+PLcom/android/server/am/ActivityManagerService;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
+PLcom/android/server/am/ActivityManagerService;->setSystemProcess()V
HSPLcom/android/server/am/ActivityManagerService;->setSystemServiceManager(Lcom/android/server/SystemServiceManager;)V
-HSPLcom/android/server/am/ActivityManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
-HSPLcom/android/server/am/ActivityManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActivityManagerService;->sortProcessOomList(Ljava/util/List;Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/am/ActivityManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
+PLcom/android/server/am/ActivityManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/am/ActivityManagerService;->showConsoleNotificationIfActive()V
+PLcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
HSPLcom/android/server/am/ActivityManagerService;->start()V
-HSPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IIJLandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association;
-HSPLcom/android/server/am/ActivityManagerService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
-HSPLcom/android/server/am/ActivityManagerService;->startObservingNativeCrashes()V
-HSPLcom/android/server/am/ActivityManagerService;->startPersistentApps(I)V
-HSPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZZ)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
-PLcom/android/server/am/ActivityManagerService;->startUserInBackgroundWithListener(ILandroid/os/IProgressListener;)Z
+HPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IIJLandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association;
+PLcom/android/server/am/ActivityManagerService;->startBroadcastObservers()V
+PLcom/android/server/am/ActivityManagerService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
+PLcom/android/server/am/ActivityManagerService;->startObservingNativeCrashes()V
+PLcom/android/server/am/ActivityManagerService;->startPersistentApps(I)V
+HPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILcom/android/server/am/HostingRecord;ZZZ)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
PLcom/android/server/am/ActivityManagerService;->stopAppSwitches()V
-HSPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;IJLandroid/content/ComponentName;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;IJLandroid/content/ComponentName;Ljava/lang/String;)V
PLcom/android/server/am/ActivityManagerService;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
-HSPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-HSPLcom/android/server/am/ActivityManagerService;->stringifyKBSize(J)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->stringifySize(JI)Ljava/lang/String;
-HSPLcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;Landroid/util/TimingsTraceLog;)V
-PLcom/android/server/am/ActivityManagerService;->tempWhitelistForPendingIntentLocked(IIIJLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->tempWhitelistUidLocked(IJLjava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->trimApplications()V
-HSPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked()V
+HPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+PLcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;Lcom/android/server/utils/TimingsTraceAndSlog;)V
+PLcom/android/server/am/ActivityManagerService;->trimApplications(Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked(Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->uidOnBackgroundWhitelist(I)Z
PLcom/android/server/am/ActivityManagerService;->unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
PLcom/android/server/am/ActivityManagerService;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
-HSPLcom/android/server/am/ActivityManagerService;->unbindService(Landroid/app/IServiceConnection;)Z
-PLcom/android/server/am/ActivityManagerService;->unbroadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;I)V
+HPLcom/android/server/am/ActivityManagerService;->unbindService(Landroid/app/IServiceConnection;)Z
PLcom/android/server/am/ActivityManagerService;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
-PLcom/android/server/am/ActivityManagerService;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HSPLcom/android/server/am/ActivityManagerService;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
-HSPLcom/android/server/am/ActivityManagerService;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
+HPLcom/android/server/am/ActivityManagerService;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/am/ActivityManagerService;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
PLcom/android/server/am/ActivityManagerService;->unregisterUidObserver(Landroid/app/IUidObserver;)V
-HSPLcom/android/server/am/ActivityManagerService;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
-HSPLcom/android/server/am/ActivityManagerService;->unstableProviderDied(Landroid/os/IBinder;)V
-HSPLcom/android/server/am/ActivityManagerService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;)V
-HSPLcom/android/server/am/ActivityManagerService;->updateApplicationInfoLocked(Ljava/util/List;I)V
+PLcom/android/server/am/ActivityManagerService;->unstableProviderDied(Landroid/os/IBinder;)V
+PLcom/android/server/am/ActivityManagerService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;)V
+PLcom/android/server/am/ActivityManagerService;->updateApplicationInfoLocked(Ljava/util/List;I)V
PLcom/android/server/am/ActivityManagerService;->updateAssociationForApp(Landroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/am/ActivityManagerService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
-HSPLcom/android/server/am/ActivityManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z
-HSPLcom/android/server/am/ActivityManagerService;->updateCpuStats()V
-HSPLcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
-HSPLcom/android/server/am/ActivityManagerService;->updateDeviceOwner(Ljava/lang/String;)V
-HSPLcom/android/server/am/ActivityManagerService;->updateForceBackgroundCheck(Z)V
+PLcom/android/server/am/ActivityManagerService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
+HPLcom/android/server/am/ActivityManagerService;->updateCpuStats()V
+HPLcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
+PLcom/android/server/am/ActivityManagerService;->updateForceBackgroundCheck(Z)V
PLcom/android/server/am/ActivityManagerService;->updateForegroundServiceUsageStats(Landroid/content/ComponentName;IZ)V
-HSPLcom/android/server/am/ActivityManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
HSPLcom/android/server/am/ActivityManagerService;->updateLowMemStateLocked(III)Z
-HSPLcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
-HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Z)Z
-HSPLcom/android/server/am/ActivityManagerService;->updatePersistentConfiguration(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/am/ActivityManagerService;->updateProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;ZIZ)V
-HSPLcom/android/server/am/ActivityManagerService;->validateAssociationAllowedLocked(Ljava/lang/String;ILjava/lang/String;I)Z
-HSPLcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
-PLcom/android/server/am/ActivityManagerService;->waitForNetworkStateUpdate(J)V
-PLcom/android/server/am/ActivityManagerService;->writeBroadcastsToProtoLocked(Landroid/util/proto/ProtoOutputStream;)V
-PLcom/android/server/am/ActivityManagerService;->writeProcessOomListToProto(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/am/ActivityManagerService;Ljava/util/List;ZLjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->writeProcessesToGcToProto(Landroid/util/proto/ProtoOutputStream;JLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->writeProcessesToProtoLocked(Landroid/util/proto/ProtoOutputStream;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZLjava/lang/String;)Z
+HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Ljava/lang/String;)V
+HPLcom/android/server/am/ActivityManagerService;->updateProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;ZIZ)V
+HPLcom/android/server/am/ActivityManagerService;->validateAssociationAllowedLocked(Ljava/lang/String;ILjava/lang/String;I)Z
+HPLcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
+PLcom/android/server/am/ActivityManagerService;->watchDeviceProvisioning(Landroid/content/Context;)V
+PLcom/android/server/am/ActivityManagerShellCommand$1;-><init>(Lcom/android/server/am/ActivityManagerShellCommand;)V
PLcom/android/server/am/ActivityManagerShellCommand$1;->handleOption(Ljava/lang/String;Landroid/os/ShellCommand;)Z
-HSPLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HSPLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;->waitForFinish()V
-HSPLcom/android/server/am/ActivityManagerShellCommand;->makeIntent(I)Landroid/content/Intent;
-HSPLcom/android/server/am/ActivityManagerShellCommand;->onCommand(Ljava/lang/String;)I
-HSPLcom/android/server/am/ActivityManagerShellCommand;->runSendBroadcast(Ljava/io/PrintWriter;)I
-HSPLcom/android/server/am/AppBindRecord;->dumpInIntentBind(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/am/AppBindRecord;->toString()Ljava/lang/String;
-PLcom/android/server/am/AppBindRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/am/CachedAppOptimizer$1;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/am/CachedAppOptimizer;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/CachedAppOptimizer;->access$1000(Lcom/android/server/am/CachedAppOptimizer;)V
-HSPLcom/android/server/am/CachedAppOptimizer;->access$700(Lcom/android/server/am/CachedAppOptimizer;)Lcom/android/server/am/ActivityManagerService;
-HSPLcom/android/server/am/CachedAppOptimizer;->access$800(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/ArrayList;
-HSPLcom/android/server/am/CachedAppOptimizer;->access$900(Lcom/android/server/am/CachedAppOptimizer;)Ljava/util/Random;
-PLcom/android/server/am/CachedAppOptimizer;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/am/CachedAppOptimizer;->init()V
-HSPLcom/android/server/am/CachedAppOptimizer;->updateCompactionThrottles()V
-HSPLcom/android/server/am/CachedAppOptimizer;->updateUseCompaction()V
-HSPLcom/android/server/am/CachedAppOptimizer;->useCompaction()Z
-PLcom/android/server/am/AppErrorDialog$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/AppErrorDialog;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/AppErrorDialog$Data;)V
-PLcom/android/server/am/AppErrorDialog;->onClick(Landroid/view/View;)V
-PLcom/android/server/am/AppErrorDialog;->onCreate(Landroid/os/Bundle;)V
-PLcom/android/server/am/AppErrorDialog;->onStart()V
-PLcom/android/server/am/AppErrorDialog;->onStop()V
-PLcom/android/server/am/AppErrorDialog;->setResult(I)V
-HSPLcom/android/server/am/AppErrorResult;->get()I
-HSPLcom/android/server/am/AppErrorResult;->set(I)V
+PLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;-><init>(Ljava/io/PrintWriter;)V
+PLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;->waitForFinish()V
+PLcom/android/server/am/ActivityManagerShellCommand;-><clinit>()V
+PLcom/android/server/am/ActivityManagerShellCommand;-><init>(Lcom/android/server/am/ActivityManagerService;Z)V
+PLcom/android/server/am/ActivityManagerShellCommand;->access$1002(Lcom/android/server/am/ActivityManagerShellCommand;I)I
+PLcom/android/server/am/ActivityManagerShellCommand;->makeIntent(I)Landroid/content/Intent;
+PLcom/android/server/am/ActivityManagerShellCommand;->onCommand(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerShellCommand;->runSendBroadcast(Ljava/io/PrintWriter;)I
+PLcom/android/server/am/AppBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Lcom/android/server/am/ProcessRecord;)V
+HSPLcom/android/server/am/AppCompactor$1;-><init>(Lcom/android/server/am/AppCompactor;)V
+HSPLcom/android/server/am/AppCompactor$2;-><init>(Lcom/android/server/am/AppCompactor;)V
+HPLcom/android/server/am/AppCompactor$2;->removeEldestEntry(Ljava/util/Map$Entry;)Z
+HPLcom/android/server/am/AppCompactor$LastCompactionStats;-><init>([J)V
+PLcom/android/server/am/AppCompactor$LastCompactionStats;->getRssAfterCompaction()[J
+PLcom/android/server/am/AppCompactor$MemCompactionHandler;-><init>(Lcom/android/server/am/AppCompactor;)V
+PLcom/android/server/am/AppCompactor$MemCompactionHandler;-><init>(Lcom/android/server/am/AppCompactor;Lcom/android/server/am/AppCompactor$1;)V
+HPLcom/android/server/am/AppCompactor$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/am/AppCompactor;-><clinit>()V
+HSPLcom/android/server/am/AppCompactor;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HPLcom/android/server/am/AppCompactor;->access$1000(Lcom/android/server/am/AppCompactor;)Lcom/android/server/am/ActivityManagerService;
+HPLcom/android/server/am/AppCompactor;->access$1100(Lcom/android/server/am/AppCompactor;)Ljava/util/ArrayList;
+HPLcom/android/server/am/AppCompactor;->access$1200(Lcom/android/server/am/AppCompactor;)Ljava/util/Map;
+HPLcom/android/server/am/AppCompactor;->access$1308(Lcom/android/server/am/AppCompactor;)I
+HPLcom/android/server/am/AppCompactor;->access$1408(Lcom/android/server/am/AppCompactor;)I
+PLcom/android/server/am/AppCompactor;->access$1508(Lcom/android/server/am/AppCompactor;)I
+PLcom/android/server/am/AppCompactor;->access$1608(Lcom/android/server/am/AppCompactor;)I
+HPLcom/android/server/am/AppCompactor;->access$1700(Lcom/android/server/am/AppCompactor;)Ljava/util/Random;
+PLcom/android/server/am/AppCompactor;->access$1800(Lcom/android/server/am/AppCompactor;)V
+HSPLcom/android/server/am/AppCompactor;->compactActionIntToString(I)Ljava/lang/String;
+PLcom/android/server/am/AppCompactor;->compactAllSystem()V
+PLcom/android/server/am/AppCompactor;->compactAppBfgs(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppCompactor;->compactAppFull(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppCompactor;->compactAppPersistent(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppCompactor;->compactAppSome(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/AppCompactor;->init()V
+PLcom/android/server/am/AppCompactor;->parseProcStateThrottle(Ljava/lang/String;)Z
+PLcom/android/server/am/AppCompactor;->shouldCompactBFGS(Lcom/android/server/am/ProcessRecord;J)Z
+PLcom/android/server/am/AppCompactor;->shouldCompactPersistent(Lcom/android/server/am/ProcessRecord;J)Z
+PLcom/android/server/am/AppCompactor;->updateCompactionActions()V
+PLcom/android/server/am/AppCompactor;->updateCompactionThrottles()V
+PLcom/android/server/am/AppCompactor;->updateFullDeltaRssThrottle()V
+PLcom/android/server/am/AppCompactor;->updateFullRssThrottle()V
+PLcom/android/server/am/AppCompactor;->updateProcStateThrottle()V
+PLcom/android/server/am/AppCompactor;->updateStatsdSampleRate()V
+PLcom/android/server/am/AppCompactor;->updateUseCompaction()V
+HPLcom/android/server/am/AppCompactor;->useCompaction()Z
+PLcom/android/server/am/AppErrorDialog$Data;-><init>()V
+PLcom/android/server/am/AppErrorDialog;-><clinit>()V
+PLcom/android/server/am/AppErrorResult;-><init>()V
+PLcom/android/server/am/AppErrorResult;->get()I
+PLcom/android/server/am/AppErrorResult;->set(I)V
HSPLcom/android/server/am/AppErrors;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/PackageWatchdog;)V
-HSPLcom/android/server/am/AppErrors;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
-HSPLcom/android/server/am/AppErrors;->crashApplicationInner(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;II)V
-HSPLcom/android/server/am/AppErrors;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZLjava/lang/String;)Z
-HSPLcom/android/server/am/AppErrors;->generateProcessError(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/ActivityManager$ProcessErrorStateInfo;
-HSPLcom/android/server/am/AppErrors;->handleAppCrashInActivityController(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JII)Z
-HSPLcom/android/server/am/AppErrors;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/AppErrorDialog$Data;)Z
-HSPLcom/android/server/am/AppErrors;->handleShowAppErrorUi(Landroid/os/Message;)V
-HSPLcom/android/server/am/AppErrors;->isBadProcessLocked(Landroid/content/pm/ApplicationInfo;)Z
-HSPLcom/android/server/am/AppErrors;->loadAppsNotReportingCrashesFromConfigLocked(Ljava/lang/String;)V
-HSPLcom/android/server/am/AppErrors;->makeAppCrashingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/AppErrorDialog$Data;)Z
-HSPLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(Landroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(ZII)V
-PLcom/android/server/am/AppErrors;->writeToProto(Landroid/util/proto/ProtoOutputStream;JLjava/lang/String;)V
-PLcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;->onAssistRequestCompleted()V
-PLcom/android/server/am/AssistDataRequester;-><init>(Landroid/content/Context;Landroid/view/IWindowManager;Landroid/app/AppOpsManager;Lcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;Ljava/lang/Object;II)V
-PLcom/android/server/am/AssistDataRequester;->cancel()V
-PLcom/android/server/am/AssistDataRequester;->dispatchAssistDataReceived(Landroid/os/Bundle;)V
-PLcom/android/server/am/AssistDataRequester;->flushPendingAssistData()V
-PLcom/android/server/am/AssistDataRequester;->getPendingDataCount()I
-PLcom/android/server/am/AssistDataRequester;->getPendingScreenshotCount()I
-PLcom/android/server/am/AssistDataRequester;->onHandleAssistData(Landroid/os/Bundle;)V
-PLcom/android/server/am/AssistDataRequester;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V
-PLcom/android/server/am/AssistDataRequester;->processPendingAssistData()V
-PLcom/android/server/am/AssistDataRequester;->requestAssistData(Ljava/util/List;ZZZZILjava/lang/String;)V
-PLcom/android/server/am/AssistDataRequester;->requestAutofillData(Ljava/util/List;ILjava/lang/String;)V
-PLcom/android/server/am/AssistDataRequester;->requestData(Ljava/util/List;ZZZZZILjava/lang/String;)V
-PLcom/android/server/am/BaseErrorDialog$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/BaseErrorDialog;-><init>(Landroid/content/Context;)V
-PLcom/android/server/am/BaseErrorDialog;->setEnabled(Z)V
+PLcom/android/server/am/AppErrors;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
+PLcom/android/server/am/AppErrors;->crashApplicationInner(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;II)V
+PLcom/android/server/am/AppErrors;->handleAppCrashInActivityController(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JII)Z
+PLcom/android/server/am/AppErrors;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/AppErrorDialog$Data;)Z
+PLcom/android/server/am/AppErrors;->handleShowAppErrorUi(Landroid/os/Message;)V
+PLcom/android/server/am/AppErrors;->isBadProcessLocked(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/am/AppErrors;->loadAppsNotReportingCrashesFromConfigLocked(Ljava/lang/String;)V
+PLcom/android/server/am/AppErrors;->makeAppCrashingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/AppErrorDialog$Data;)Z
+PLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(ZII)V
+PLcom/android/server/am/BackupRecord;-><init>(Landroid/content/pm/ApplicationInfo;II)V
+HSPLcom/android/server/am/BatteryExternalStatsWorker$1;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
HSPLcom/android/server/am/BatteryExternalStatsWorker$1;->run()V
+HSPLcom/android/server/am/BatteryExternalStatsWorker$2;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
HSPLcom/android/server/am/BatteryExternalStatsWorker$2;->run()V
+PLcom/android/server/am/BatteryExternalStatsWorker$3;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
+PLcom/android/server/am/BatteryExternalStatsWorker$3;->execute(Ljava/lang/Runnable;)V
HSPLcom/android/server/am/BatteryExternalStatsWorker;-><init>(Landroid/content/Context;Lcom/android/internal/os/BatteryStatsImpl;)V
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$000(Lcom/android/server/am/BatteryExternalStatsWorker;)I
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$002(Lcom/android/server/am/BatteryExternalStatsWorker;I)I
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$100(Lcom/android/server/am/BatteryExternalStatsWorker;)Ljava/lang/String;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$1000(Lcom/android/server/am/BatteryExternalStatsWorker;)Lcom/android/internal/os/BatteryStatsImpl;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$102(Lcom/android/server/am/BatteryExternalStatsWorker;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$1102(Lcom/android/server/am/BatteryExternalStatsWorker;J)J
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$200(Lcom/android/server/am/BatteryExternalStatsWorker;)Landroid/util/IntArray;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$300(Lcom/android/server/am/BatteryExternalStatsWorker;)Z
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$400(Lcom/android/server/am/BatteryExternalStatsWorker;)Z
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$500(Lcom/android/server/am/BatteryExternalStatsWorker;)Z
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$502(Lcom/android/server/am/BatteryExternalStatsWorker;Z)Z
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$602(Lcom/android/server/am/BatteryExternalStatsWorker;Ljava/util/concurrent/Future;)Ljava/util/concurrent/Future;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$700(Lcom/android/server/am/BatteryExternalStatsWorker;)V
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$800(Lcom/android/server/am/BatteryExternalStatsWorker;)Ljava/lang/Object;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->access$900(Lcom/android/server/am/BatteryExternalStatsWorker;Ljava/lang/String;IZZZ)V
HSPLcom/android/server/am/BatteryExternalStatsWorker;->awaitControllerInfo(Landroid/os/SynchronousResultReceiver;)Landroid/os/Parcelable;
HSPLcom/android/server/am/BatteryExternalStatsWorker;->cancelCpuSyncDueToWakelockChange()V
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->extractDeltaLocked(Landroid/net/wifi/WifiActivityEnergyInfo;)Landroid/net/wifi/WifiActivityEnergyInfo;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->cancelSyncDueToBatteryLevelChangeLocked()V
+HPLcom/android/server/am/BatteryExternalStatsWorker;->extractDeltaLocked(Landroid/os/connectivity/WifiActivityEnergyInfo;)Landroid/os/connectivity/WifiActivityEnergyInfo;
PLcom/android/server/am/BatteryExternalStatsWorker;->getLastCollectionTimeStamp()J
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$2$BatteryExternalStatsWorker()V
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$3$BatteryExternalStatsWorker()V
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToRemovedUid(I)Ljava/util/concurrent/Future;
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToScreenStateChange(ZZ)Ljava/util/concurrent/Future;
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleDelayedSyncLocked(Ljava/util/concurrent/Future;Ljava/lang/Runnable;J)Ljava/util/concurrent/Future;
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleRunnable(Ljava/lang/Runnable;)V
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSyncDueToBatteryLevelChange(J)Ljava/util/concurrent/Future;
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$new$0(Ljava/lang/Runnable;)V
+HSPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$new$1(Ljava/lang/Runnable;)Ljava/lang/Thread;
+PLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$2$BatteryExternalStatsWorker()V
+PLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$3$BatteryExternalStatsWorker()V
+HPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$updateExternalStatsLocked$5(Landroid/os/SynchronousResultReceiver;Landroid/os/connectivity/WifiActivityEnergyInfo;)V
+PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToRemovedUid(I)Ljava/util/concurrent/Future;
+PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToScreenStateChange(ZZ)Ljava/util/concurrent/Future;
+HPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
+HPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleDelayedSyncLocked(Ljava/util/concurrent/Future;Ljava/lang/Runnable;J)Ljava/util/concurrent/Future;
+PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleRunnable(Ljava/lang/Runnable;)V
+PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
+PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSyncDueToBatteryLevelChange(J)Ljava/util/concurrent/Future;
HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSyncLocked(Ljava/lang/String;I)Ljava/util/concurrent/Future;
HSPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleWrite()Ljava/util/concurrent/Future;
HSPLcom/android/server/am/BatteryExternalStatsWorker;->updateExternalStatsLocked(Ljava/lang/String;IZZZ)V
-HSPLcom/android/server/am/BatteryStatsService$1;->getUserIds()[I
-HSPLcom/android/server/am/BatteryStatsService$LocalService;->getMobileIfaces()[Ljava/lang/String;
-HSPLcom/android/server/am/BatteryStatsService$LocalService;->noteJobsDeferred(IIJ)V
+HSPLcom/android/server/am/BatteryStatsService$1;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+PLcom/android/server/am/BatteryStatsService$1;->getUserIds()[I
+HSPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+HSPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService$1;)V
+PLcom/android/server/am/BatteryStatsService$LocalService;->getMobileIfaces()[Ljava/lang/String;
+PLcom/android/server/am/BatteryStatsService$LocalService;->getWifiIfaces()[Ljava/lang/String;
+PLcom/android/server/am/BatteryStatsService$LocalService;->noteJobsDeferred(IIJ)V
+HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;-><init>(Lcom/android/server/am/BatteryStatsService;)V
HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->run()V
HSPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->waitWakeup()Ljava/lang/String;
HSPLcom/android/server/am/BatteryStatsService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Handler;)V
-HSPLcom/android/server/am/BatteryStatsService;->addIsolatedUid(II)V
+HSPLcom/android/server/am/BatteryStatsService;->access$100(Ljava/nio/ByteBuffer;)I
+PLcom/android/server/am/BatteryStatsService;->addIsolatedUid(II)V
PLcom/android/server/am/BatteryStatsService;->awaitUninterruptibly(Ljava/util/concurrent/Future;)V
PLcom/android/server/am/BatteryStatsService;->computeChargeTimeRemaining()J
PLcom/android/server/am/BatteryStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
PLcom/android/server/am/BatteryStatsService;->dumpHelp(Ljava/io/PrintWriter;)V
+HPLcom/android/server/am/BatteryStatsService;->enforceCallingPermission()V
HSPLcom/android/server/am/BatteryStatsService;->fillLowPowerStats(Lcom/android/internal/os/RpmStats;)V
HSPLcom/android/server/am/BatteryStatsService;->fillRailDataStats(Lcom/android/internal/os/RailStats;)V
HSPLcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
PLcom/android/server/am/BatteryStatsService;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
PLcom/android/server/am/BatteryStatsService;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
PLcom/android/server/am/BatteryStatsService;->getHealthStatsForUidLocked(I)Landroid/os/health/HealthStatsParceler;
-HSPLcom/android/server/am/BatteryStatsService;->getPlatformLowPowerStats()Ljava/lang/String;
-HSPLcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
-HSPLcom/android/server/am/BatteryStatsService;->getServiceType()I
-PLcom/android/server/am/BatteryStatsService;->getStatistics()[B
-PLcom/android/server/am/BatteryStatsService;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;
+PLcom/android/server/am/BatteryStatsService;->getPlatformLowPowerStats()Ljava/lang/String;
+PLcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;
PLcom/android/server/am/BatteryStatsService;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
HSPLcom/android/server/am/BatteryStatsService;->initPowerManagement()V
-HSPLcom/android/server/am/BatteryStatsService;->isCharging()Z
-HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$0$BatteryStatsService(IIIIIIII)V
-HSPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$1$BatteryStatsService(IIIIIIII)V
-HSPLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V
+PLcom/android/server/am/BatteryStatsService;->isCharging()Z
+PLcom/android/server/am/BatteryStatsService;->isOnBattery()Z
+PLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$0$BatteryStatsService(IIIIIIII)V
+PLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$1$BatteryStatsService(IIIIIIII)V
+PLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V
+PLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V
PLcom/android/server/am/BatteryStatsService;->noteBleScanResults(Landroid/os/WorkSource;I)V
PLcom/android/server/am/BatteryStatsService;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
PLcom/android/server/am/BatteryStatsService;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
-HSPLcom/android/server/am/BatteryStatsService;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/server/am/BatteryStatsService;->noteConnectivityChanged(ILjava/lang/String;)V
-HSPLcom/android/server/am/BatteryStatsService;->noteDeviceIdleMode(ILjava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V
-PLcom/android/server/am/BatteryStatsService;->noteFlashlightOff(I)V
-PLcom/android/server/am/BatteryStatsService;->noteFlashlightOn(I)V
+HPLcom/android/server/am/BatteryStatsService;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
+PLcom/android/server/am/BatteryStatsService;->noteConnectivityChanged(ILjava/lang/String;)V
+PLcom/android/server/am/BatteryStatsService;->noteDeviceIdleMode(ILjava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V
PLcom/android/server/am/BatteryStatsService;->noteFullWifiLockAcquiredFromSource(Landroid/os/WorkSource;)V
PLcom/android/server/am/BatteryStatsService;->noteFullWifiLockReleasedFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/server/am/BatteryStatsService;->noteGpsChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
+PLcom/android/server/am/BatteryStatsService;->noteGpsChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
PLcom/android/server/am/BatteryStatsService;->noteGpsSignalQuality(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteInteractive(Z)V
-HSPLcom/android/server/am/BatteryStatsService;->noteJobFinish(Ljava/lang/String;II)V
-HSPLcom/android/server/am/BatteryStatsService;->noteJobStart(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteJobsDeferred(IIJ)V
+PLcom/android/server/am/BatteryStatsService;->noteInteractive(Z)V
+HPLcom/android/server/am/BatteryStatsService;->noteJobFinish(Ljava/lang/String;IIII)V
+HPLcom/android/server/am/BatteryStatsService;->noteJobStart(Ljava/lang/String;III)V
+PLcom/android/server/am/BatteryStatsService;->noteJobsDeferred(IIJ)V
PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-HSPLcom/android/server/am/BatteryStatsService;->noteMobileRadioPowerState(IJI)V
-HSPLcom/android/server/am/BatteryStatsService;->noteNetworkInterfaceType(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteNetworkStatsEnabled()V
+PLcom/android/server/am/BatteryStatsService;->noteNetworkInterfaceType(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteNetworkStatsEnabled()V
PLcom/android/server/am/BatteryStatsService;->notePackageInstalled(Ljava/lang/String;J)V
-HSPLcom/android/server/am/BatteryStatsService;->notePackageUninstalled(Ljava/lang/String;)V
-HSPLcom/android/server/am/BatteryStatsService;->notePhoneDataConnectionState(IZ)V
-HSPLcom/android/server/am/BatteryStatsService;->notePhoneOff()V
-PLcom/android/server/am/BatteryStatsService;->notePhoneOn()V
-HSPLcom/android/server/am/BatteryStatsService;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
-HSPLcom/android/server/am/BatteryStatsService;->notePhoneState(I)V
-PLcom/android/server/am/BatteryStatsService;->noteProcessAnr(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteProcessCrash(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteProcessFinish(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteProcessStart(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteResetBleScan()V
-HSPLcom/android/server/am/BatteryStatsService;->noteScreenBrightness(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteScreenState(I)V
+PLcom/android/server/am/BatteryStatsService;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
+PLcom/android/server/am/BatteryStatsService;->notePhoneState(I)V
+PLcom/android/server/am/BatteryStatsService;->noteProcessCrash(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteProcessFinish(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteProcessStart(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteResetBleScan()V
+PLcom/android/server/am/BatteryStatsService;->noteScreenBrightness(I)V
+PLcom/android/server/am/BatteryStatsService;->noteScreenState(I)V
PLcom/android/server/am/BatteryStatsService;->noteStartAudio(I)V
-PLcom/android/server/am/BatteryStatsService;->noteStartCamera(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V
-PLcom/android/server/am/BatteryStatsService;->noteStartVideo(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
+PLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V
+HPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
+HPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
PLcom/android/server/am/BatteryStatsService;->noteStopAudio(I)V
-PLcom/android/server/am/BatteryStatsService;->noteStopCamera(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteStopSensor(II)V
-PLcom/android/server/am/BatteryStatsService;->noteStopVideo(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteStopSensor(II)V
+HPLcom/android/server/am/BatteryStatsService;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/am/BatteryStatsService;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/am/BatteryStatsService;->noteSyncFinish(Ljava/lang/String;I)V
PLcom/android/server/am/BatteryStatsService;->noteSyncStart(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteUidProcessState(II)V
-HSPLcom/android/server/am/BatteryStatsService;->noteUserActivity(II)V
+HPLcom/android/server/am/BatteryStatsService;->noteUidProcessState(II)V
+PLcom/android/server/am/BatteryStatsService;->noteUserActivity(II)V
PLcom/android/server/am/BatteryStatsService;->noteVibratorOff(I)V
PLcom/android/server/am/BatteryStatsService;->noteVibratorOn(IJ)V
PLcom/android/server/am/BatteryStatsService;->noteWakeUp(Ljava/lang/String;I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteWakupAlarm(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
-PLcom/android/server/am/BatteryStatsService;->noteWifiMulticastDisabled(I)V
-PLcom/android/server/am/BatteryStatsService;->noteWifiMulticastEnabled(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteWifiOff()V
-HSPLcom/android/server/am/BatteryStatsService;->noteWifiOn()V
+PLcom/android/server/am/BatteryStatsService;->noteWakupAlarm(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiOn()V
PLcom/android/server/am/BatteryStatsService;->noteWifiRadioPowerState(IJI)V
PLcom/android/server/am/BatteryStatsService;->noteWifiRssiChanged(I)V
-HSPLcom/android/server/am/BatteryStatsService;->noteWifiRunning(Landroid/os/WorkSource;)V
-HSPLcom/android/server/am/BatteryStatsService;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V
PLcom/android/server/am/BatteryStatsService;->noteWifiScanStoppedFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/server/am/BatteryStatsService;->noteWifiState(ILjava/lang/String;)V
-PLcom/android/server/am/BatteryStatsService;->noteWifiStopped(Landroid/os/WorkSource;)V
-HSPLcom/android/server/am/BatteryStatsService;->noteWifiSupplicantStateChanged(IZ)V
-HSPLcom/android/server/am/BatteryStatsService;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/am/BatteryStatsService;->removeIsolatedUid(II)V
-HSPLcom/android/server/am/BatteryStatsService;->removeUid(I)V
-HSPLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIII)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiState(ILjava/lang/String;)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiSupplicantStateChanged(IZ)V
+HSPLcom/android/server/am/BatteryStatsService;->publish()V
+PLcom/android/server/am/BatteryStatsService;->removeIsolatedUid(II)V
+HSPLcom/android/server/am/BatteryStatsService;->scheduleWriteToDisk()V
+PLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIII)V
PLcom/android/server/am/BatteryStatsService;->syncStats(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->systemServicesReady()V
PLcom/android/server/am/BatteryStatsService;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
+PLcom/android/server/am/BroadcastConstants$SettingsObserver;-><init>(Lcom/android/server/am/BroadcastConstants;Landroid/os/Handler;)V
HSPLcom/android/server/am/BroadcastConstants;-><init>(Ljava/lang/String;)V
-PLcom/android/server/am/BroadcastConstants;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/am/BroadcastConstants;->startObserving(Landroid/os/Handler;Landroid/content/ContentResolver;)V
-HSPLcom/android/server/am/BroadcastConstants;->updateConstants()V
-HSPLcom/android/server/am/BroadcastDispatcher$1;->broadcastAlarmComplete(I)V
-HSPLcom/android/server/am/BroadcastDispatcher$1;->broadcastAlarmPending(I)V
+PLcom/android/server/am/BroadcastConstants;->startObserving(Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/am/BroadcastConstants;->updateConstants()V
+HSPLcom/android/server/am/BroadcastDispatcher$1;-><init>(Lcom/android/server/am/BroadcastDispatcher;)V
+PLcom/android/server/am/BroadcastDispatcher$1;->broadcastAlarmComplete(I)V
+PLcom/android/server/am/BroadcastDispatcher$1;->broadcastAlarmPending(I)V
+HSPLcom/android/server/am/BroadcastDispatcher$2;-><init>(Lcom/android/server/am/BroadcastDispatcher;)V
PLcom/android/server/am/BroadcastDispatcher$2;->run()V
+PLcom/android/server/am/BroadcastDispatcher$Deferrals;-><init>(IJJI)V
PLcom/android/server/am/BroadcastDispatcher$Deferrals;->add(Lcom/android/server/am/BroadcastRecord;)V
-PLcom/android/server/am/BroadcastDispatcher$Deferrals;->size()I
-PLcom/android/server/am/BroadcastDispatcher$Deferrals;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
HSPLcom/android/server/am/BroadcastDispatcher;-><init>(Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastConstants;Landroid/os/Handler;Ljava/lang/Object;)V
PLcom/android/server/am/BroadcastDispatcher;->addDeferredBroadcast(ILcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastDispatcher;->cleanupDeferralsListDisabledReceiversLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/util/Set;IZ)Z
-HSPLcom/android/server/am/BroadcastDispatcher;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
-HSPLcom/android/server/am/BroadcastDispatcher;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastDispatcher;->getActiveBroadcastLocked()Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastDispatcher;->getNextBroadcastLocked(J)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastDispatcher;->isDeferringLocked(I)Z
+PLcom/android/server/am/BroadcastDispatcher;->calculateDeferral(J)J
+PLcom/android/server/am/BroadcastDispatcher;->cleanupBroadcastListDisabledReceiversLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/util/Set;IZ)Z
+PLcom/android/server/am/BroadcastDispatcher;->cleanupDeferralsListDisabledReceiversLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/util/Set;IZ)Z
+PLcom/android/server/am/BroadcastDispatcher;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
+PLcom/android/server/am/BroadcastDispatcher;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastDispatcher;->findUidLocked(I)Lcom/android/server/am/BroadcastDispatcher$Deferrals;
+PLcom/android/server/am/BroadcastDispatcher;->findUidLocked(ILjava/util/ArrayList;)Lcom/android/server/am/BroadcastDispatcher$Deferrals;
+PLcom/android/server/am/BroadcastDispatcher;->getActiveBroadcastLocked()Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastDispatcher;->getNextBroadcastLocked(J)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastDispatcher;->insertLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastDispatcher$Deferrals;)V
+HPLcom/android/server/am/BroadcastDispatcher;->isDeferringLocked(I)Z
PLcom/android/server/am/BroadcastDispatcher;->isEmpty()Z
-HSPLcom/android/server/am/BroadcastDispatcher;->replaceBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastDispatcher;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastDispatcher;->retireBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastDispatcher;->scheduleDeferralCheckLocked(Z)V
-HSPLcom/android/server/am/BroadcastDispatcher;->start()V
+PLcom/android/server/am/BroadcastDispatcher;->replaceBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastDispatcher;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastDispatcher;->replaceDeferredBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastDispatcher;->retireBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastDispatcher;->scheduleDeferralCheckLocked(Z)V
+PLcom/android/server/am/BroadcastDispatcher;->start()V
PLcom/android/server/am/BroadcastDispatcher;->startDeferring(I)V
-PLcom/android/server/am/BroadcastDispatcher;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;IIZZ)V
-PLcom/android/server/am/BroadcastFilter;->toString()Ljava/lang/String;
-PLcom/android/server/am/BroadcastFilter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/am/BroadcastQueue$AppNotResponding;->run()V
-HSPLcom/android/server/am/BroadcastQueue$BroadcastHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;IIZZ)V
+HSPLcom/android/server/am/BroadcastQueue$BroadcastHandler;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/os/Looper;)V
+HPLcom/android/server/am/BroadcastQueue$BroadcastHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/am/BroadcastQueue;-><clinit>()V
HSPLcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Ljava/lang/String;Lcom/android/server/am/BroadcastConstants;Z)V
-HSPLcom/android/server/am/BroadcastQueue;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastQueue;->backgroundServicesFinishedLocked(I)V
+HPLcom/android/server/am/BroadcastQueue;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueue;->backgroundServicesFinishedLocked(I)V
PLcom/android/server/am/BroadcastQueue;->broadcastTimeoutLocked(Z)V
-HSPLcom/android/server/am/BroadcastQueue;->cancelBroadcastTimeoutLocked()V
-HSPLcom/android/server/am/BroadcastQueue;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
-HSPLcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;ZI)V
-PLcom/android/server/am/BroadcastQueue;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;Z)Z
-HSPLcom/android/server/am/BroadcastQueue;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
-HSPLcom/android/server/am/BroadcastQueue;->isSignaturePerm([Ljava/lang/String;)Z
-HSPLcom/android/server/am/BroadcastQueue;->logBroadcastReceiverDiscardLocked(Lcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastQueue;->maybeAddAllowBackgroundActivityStartsToken(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueue;->cancelBroadcastTimeoutLocked()V
+PLcom/android/server/am/BroadcastQueue;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
+HPLcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;ZI)V
+HPLcom/android/server/am/BroadcastQueue;->enqueueBroadcastHelper(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueue;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
+PLcom/android/server/am/BroadcastQueue;->getMatchingOrderedReceiver(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastQueue;->isPendingBroadcastProcessLocked(I)Z
+PLcom/android/server/am/BroadcastQueue;->isSignaturePerm([Ljava/lang/String;)Z
+PLcom/android/server/am/BroadcastQueue;->lambda$postActivityStartTokenRemoval$0$BroadcastQueue(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastQueue;->logBroadcastReceiverDiscardLocked(Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueue;->maybeAddAllowBackgroundActivityStartsToken(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
PLcom/android/server/am/BroadcastQueue;->nextSplitTokenLocked()I
-HSPLcom/android/server/am/BroadcastQueue;->performReceiveLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HSPLcom/android/server/am/BroadcastQueue;->processCurBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/ProcessRecord;Z)V
-HSPLcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
-HSPLcom/android/server/am/BroadcastQueue;->processNextBroadcastLocked(ZZ)V
-HSPLcom/android/server/am/BroadcastQueue;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastQueue;->replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastQueue;->replaceParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastQueue;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;I)Z
-HSPLcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
+HPLcom/android/server/am/BroadcastQueue;->performReceiveLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/BroadcastQueue;->postActivityStartTokenRemoval(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
+HPLcom/android/server/am/BroadcastQueue;->processCurBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/ProcessRecord;Z)V
+HPLcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
+HPLcom/android/server/am/BroadcastQueue;->processNextBroadcastLocked(ZZ)V
+PLcom/android/server/am/BroadcastQueue;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastQueue;->replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastQueue;->replaceParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
+HPLcom/android/server/am/BroadcastQueue;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;I)Z
+PLcom/android/server/am/BroadcastQueue;->ringAdvance(III)I
+HPLcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
PLcom/android/server/am/BroadcastQueue;->scheduleTempWhitelistLocked(IJLcom/android/server/am/BroadcastRecord;)V
-HSPLcom/android/server/am/BroadcastQueue;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
-HSPLcom/android/server/am/BroadcastQueue;->setBroadcastTimeoutLocked(J)V
-PLcom/android/server/am/BroadcastQueue;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IIZLjava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZIZZ)V
-HSPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastRecord;Landroid/content/Intent;)V
-HSPLcom/android/server/am/BroadcastRecord;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
-PLcom/android/server/am/BroadcastRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/text/SimpleDateFormat;)V
-HSPLcom/android/server/am/BroadcastRecord;->getReceiverUid(Ljava/lang/Object;)I
+PLcom/android/server/am/BroadcastQueue;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/BroadcastQueue;->setBroadcastTimeoutLocked(J)V
+PLcom/android/server/am/BroadcastQueue;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/BroadcastQueue;->skipReceiverLocked(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastQueue;->start(Landroid/content/ContentResolver;)V
+PLcom/android/server/am/BroadcastRecord;-><clinit>()V
+HPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IIZLjava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZIZZ)V
+PLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastRecord;Landroid/content/Intent;)V
+PLcom/android/server/am/BroadcastRecord;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
+HPLcom/android/server/am/BroadcastRecord;->getReceiverUid(Ljava/lang/Object;)I
+PLcom/android/server/am/BroadcastRecord;->maybeStripForHistory()Lcom/android/server/am/BroadcastRecord;
PLcom/android/server/am/BroadcastRecord;->splitRecipientsLocked(II)Lcom/android/server/am/BroadcastRecord;
-HSPLcom/android/server/am/BroadcastRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/am/BroadcastStats$1;-><init>()V
-PLcom/android/server/am/BroadcastStats$1;->compare(Lcom/android/server/am/BroadcastStats$ActionEntry;Lcom/android/server/am/BroadcastStats$ActionEntry;)I
-PLcom/android/server/am/BroadcastStats$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/am/BroadcastStats;->addBackgroundCheckViolation(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V
-PLcom/android/server/am/BroadcastStats;->dumpCheckinStats(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/am/BroadcastStats;->dumpStats(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/am/ConnectionRecord;-><init>(Lcom/android/server/am/AppBindRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Landroid/app/IServiceConnection;IILandroid/app/PendingIntent;ILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ConnectionRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/am/ConnectionRecord;->startAssociationIfNeeded()V
-HSPLcom/android/server/am/ConnectionRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/am/ConnectionRecord;->trackProcState(IIJ)V
-PLcom/android/server/am/ConnectionRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V
-PLcom/android/server/am/ContentProviderConnection;->toClientString(Ljava/lang/StringBuilder;)V
-PLcom/android/server/am/ContentProviderConnection;->toShortString()Ljava/lang/String;
-HSPLcom/android/server/am/ContentProviderConnection;->trackProcState(IIJ)V
-HSPLcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
+PLcom/android/server/am/BroadcastRecord;->toString()Ljava/lang/String;
+PLcom/android/server/am/BroadcastStats$1;-><init>()V
+PLcom/android/server/am/BroadcastStats$ActionEntry;-><init>(Ljava/lang/String;)V
+PLcom/android/server/am/BroadcastStats$PackageEntry;-><init>()V
+PLcom/android/server/am/BroadcastStats$ViolationEntry;-><init>()V
+PLcom/android/server/am/BroadcastStats;-><clinit>()V
+PLcom/android/server/am/BroadcastStats;-><init>()V
+PLcom/android/server/am/BroadcastStats;->addBackgroundCheckViolation(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V
+HPLcom/android/server/am/BroadcastStats;->dumpCheckinStats(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/am/ConnectionRecord;-><clinit>()V
+HPLcom/android/server/am/ConnectionRecord;-><init>(Lcom/android/server/am/AppBindRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Landroid/app/IServiceConnection;IILandroid/app/PendingIntent;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/am/ConnectionRecord;->hasFlag(I)Z
+HPLcom/android/server/am/ConnectionRecord;->notHasFlag(I)Z
+HPLcom/android/server/am/ConnectionRecord;->startAssociationIfNeeded()V
+PLcom/android/server/am/ConnectionRecord;->stopAssociation()V
+HPLcom/android/server/am/ConnectionRecord;->trackProcState(IIJ)V
+PLcom/android/server/am/ContentProviderConnection;-><init>(Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
+HPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V
+PLcom/android/server/am/ContentProviderConnection;->stopAssociation()V
+HPLcom/android/server/am/ContentProviderConnection;->trackProcState(IIJ)V
+PLcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
PLcom/android/server/am/ContentProviderRecord;->addExternalProcessHandleLocked(Landroid/os/IBinder;ILjava/lang/String;)V
-HSPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/ContentProviderRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-PLcom/android/server/am/ContentProviderRecord;->getComponentName()Landroid/content/ComponentName;
-HSPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
-HSPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/ContentProviderHolder;
+HPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
+HPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
+HPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/ContentProviderHolder;
PLcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleLocked(Landroid/os/IBinder;)Z
-HSPLcom/android/server/am/ContentProviderRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ContentProviderRecord;->toShortString()Ljava/lang/String;
-PLcom/android/server/am/ContentProviderRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/am/CoreSettingsObserver;->beginObserveCoreSettings()V
-HSPLcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
-HSPLcom/android/server/am/CoreSettingsObserver;->onChange(Z)V
-HSPLcom/android/server/am/CoreSettingsObserver;->populateSettings(Landroid/os/Bundle;Ljava/util/Map;)V
-HSPLcom/android/server/am/DumpHeapProvider;-><init>()V
-HSPLcom/android/server/am/DumpHeapProvider;->onCreate()Z
-HSPLcom/android/server/am/EventLogTags;->writeAmFocusedStack(IIIILjava/lang/String;)V
-HSPLcom/android/server/am/EventLogTags;->writeAmMeminfo(JJJJJ)V
-HSPLcom/android/server/am/EventLogTags;->writeAmPss(IILjava/lang/String;JJJJIIJ)V
-HSPLcom/android/server/am/EventLogTags;->writeAmUidActive(I)V
+HPLcom/android/server/am/ContentProviderRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/CoreSettingsObserver;-><clinit>()V
+PLcom/android/server/am/CoreSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/CoreSettingsObserver;->beginObserveCoreSettings()V
+PLcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
+PLcom/android/server/am/CoreSettingsObserver;->populateSettings(Landroid/os/Bundle;Ljava/util/Map;)V
+PLcom/android/server/am/CoreSettingsObserver;->sendCoreSettings()V
+PLcom/android/server/am/EventLogTags;->writeAmCrash(IILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/am/EventLogTags;->writeAmLowMemory(I)V
+PLcom/android/server/am/EventLogTags;->writeAmMeminfo(JJJJJ)V
+HPLcom/android/server/am/EventLogTags;->writeAmProcBound(IILjava/lang/String;)V
+HPLcom/android/server/am/EventLogTags;->writeAmProcDied(IILjava/lang/String;II)V
+PLcom/android/server/am/EventLogTags;->writeAmPss(IILjava/lang/String;JJJJIIJ)V
+PLcom/android/server/am/EventLogTags;->writeAmUidActive(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUidRunning(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUidStopped(I)V
+PLcom/android/server/am/EventLogTags;->writeAmUserStateChanged(II)V
+PLcom/android/server/am/EventLogTags;->writeAmWtf(IILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/EventLogTags;->writeBootProgressAmsReady(J)V
+PLcom/android/server/am/EventLogTags;->writeBootProgressEnableScreen(J)V
+PLcom/android/server/am/EventLogTags;->writeConfigurationChanged(I)V
+PLcom/android/server/am/HealthStatsBatteryStatsWriter;-><init>()V
+PLcom/android/server/am/HealthStatsBatteryStatsWriter;->addTimer(Landroid/os/health/HealthStatsWriter;ILandroid/os/BatteryStats$Timer;)V
+HPLcom/android/server/am/HealthStatsBatteryStatsWriter;->addTimers(Landroid/os/health/HealthStatsWriter;ILjava/lang/String;Landroid/os/BatteryStats$Timer;)V
PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writePid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pid;)V
PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writePkg(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg;)V
PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeProc(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Proc;)V
PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeServ(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg$Serv;)V
PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeUid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats;Landroid/os/BatteryStats$Uid;)V
-HSPLcom/android/server/am/IntentBindRecord;->collectFlags()I
-HSPLcom/android/server/am/IntentBindRecord;->dumpInService(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/am/IntentBindRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/am/MemoryStatUtil;->parseMemoryStatFromProcfs(Ljava/lang/String;)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
-HSPLcom/android/server/am/MemoryStatUtil;->readFileContents(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;)V
+HPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;)V
+HPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;I)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IZ)V
+PLcom/android/server/am/HostingRecord;->getDefiningPackageName()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->getDefiningUid()I
+PLcom/android/server/am/HostingRecord;->getName()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->getType()Ljava/lang/String;
+PLcom/android/server/am/HostingRecord;->isTopApp()Z
+PLcom/android/server/am/HostingRecord;->usesAppZygote()Z
+PLcom/android/server/am/HostingRecord;->usesWebviewZygote()Z
+HSPLcom/android/server/am/InstrumentationReporter;-><init>()V
+PLcom/android/server/am/IntentBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent$FilterComparison;)V
+PLcom/android/server/am/LmkdConnection$1;-><init>(Lcom/android/server/am/LmkdConnection;)V
+HSPLcom/android/server/am/LmkdConnection;-><init>(Landroid/os/MessageQueue;Lcom/android/server/am/LmkdConnection$LmkdConnectionListener;)V
+PLcom/android/server/am/LmkdConnection;->connect()Z
+HPLcom/android/server/am/LmkdConnection;->exchange(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
+HPLcom/android/server/am/LmkdConnection;->isConnected()Z
+PLcom/android/server/am/LmkdConnection;->openSocket()Landroid/net/LocalSocket;
+PLcom/android/server/am/LmkdConnection;->waitForConnection(J)Z
+HPLcom/android/server/am/LmkdConnection;->write(Ljava/nio/ByteBuffer;)Z
+HSPLcom/android/server/am/LowMemDetector$LowMemThread;-><init>(Lcom/android/server/am/LowMemDetector;)V
+HSPLcom/android/server/am/LowMemDetector$LowMemThread;-><init>(Lcom/android/server/am/LowMemDetector;Lcom/android/server/am/LowMemDetector$1;)V
+HSPLcom/android/server/am/LowMemDetector$LowMemThread;->run()V
+HSPLcom/android/server/am/LowMemDetector;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+HSPLcom/android/server/am/LowMemDetector;->access$100(Lcom/android/server/am/LowMemDetector;)I
+PLcom/android/server/am/LowMemDetector;->access$300(Lcom/android/server/am/LowMemDetector;)Ljava/lang/Object;
+PLcom/android/server/am/LowMemDetector;->access$402(Lcom/android/server/am/LowMemDetector;I)I
+HSPLcom/android/server/am/LowMemDetector;->getMemFactor()I
+HSPLcom/android/server/am/LowMemDetector;->isAvailable()Z
+PLcom/android/server/am/MemoryStatUtil$MemoryStat;-><init>()V
+PLcom/android/server/am/MemoryStatUtil;-><clinit>()V
+PLcom/android/server/am/MemoryStatUtil;->hasMemcg()Z
+PLcom/android/server/am/MemoryStatUtil;->parseMemoryStatFromProcfs(Ljava/lang/String;)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
+PLcom/android/server/am/MemoryStatUtil;->readFileContents(Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/am/MemoryStatUtil;->readMemoryStatFromFilesystem(II)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
-PLcom/android/server/am/MemoryStatUtil;->tryParseLong(Ljava/util/regex/Pattern;Ljava/lang/String;)J
-PLcom/android/server/am/NativeCrashListener$NativeCrashReporter;->run()V
-HSPLcom/android/server/am/NativeCrashListener;->consumeNativeCrashData(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/am/NativeCrashListener;->run()V
-HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeMs(J)V
+PLcom/android/server/am/NativeCrashListener;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/NativeCrashListener;->consumeNativeCrashData(Ljava/io/FileDescriptor;)V
+PLcom/android/server/am/NativeCrashListener;->run()V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;-><init>(Lcom/android/server/am/OomAdjProfiler;)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;-><init>(Lcom/android/server/am/OomAdjProfiler;Lcom/android/server/am/OomAdjProfiler$1;)V
HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeMs(JZZ)V
-HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->isEmpty()Z
-PLcom/android/server/am/OomAdjProfiler$CpuTimes;->toString()Ljava/lang/String;
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeUs(J)V
+HSPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeUs(JZZ)V
HSPLcom/android/server/am/OomAdjProfiler;-><init>()V
+HSPLcom/android/server/am/OomAdjProfiler;->access$100(Lcom/android/server/am/OomAdjProfiler;)Z
+HSPLcom/android/server/am/OomAdjProfiler;->access$200(Lcom/android/server/am/OomAdjProfiler;)Z
HSPLcom/android/server/am/OomAdjProfiler;->batteryPowerChanged(Z)V
-PLcom/android/server/am/OomAdjProfiler;->dump(Ljava/io/PrintWriter;)V
+HSPLcom/android/server/am/OomAdjProfiler;->lambda$oLbVP84ACmxo_1QlnwlSuhi91W4(Lcom/android/server/am/OomAdjProfiler;ZZZ)V
PLcom/android/server/am/OomAdjProfiler;->onWakefulnessChanged(I)V
HSPLcom/android/server/am/OomAdjProfiler;->oomAdjEnded()V
HSPLcom/android/server/am/OomAdjProfiler;->oomAdjStarted()V
-HSPLcom/android/server/am/OomAdjProfiler;->reset()V
HSPLcom/android/server/am/OomAdjProfiler;->scheduleSystemServerCpuTimeUpdate()V
-HSPLcom/android/server/am/OomAdjProfiler;->updateSystemServerCpuTime(ZZ)V
-HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->initialize(Lcom/android/server/am/ProcessRecord;IZIIIII)V
-HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onOtherActivity()V
-HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onPausedActivity()V
-HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onStoppingActivity(Z)V
-HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onVisibleActivity()V
+HSPLcom/android/server/am/OomAdjProfiler;->updateSystemServerCpuTime(ZZZ)V
+HSPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;-><init>(Lcom/android/server/am/OomAdjuster;)V
+HPLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onOtherActivity()V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onPausedActivity()V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onStoppingActivity(Z)V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onVisibleActivity()V
HSPLcom/android/server/am/OomAdjuster;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessList;Lcom/android/server/am/ActiveUids;)V
-HSPLcom/android/server/am/OomAdjuster;->applyOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZJJ)Z
-HSPLcom/android/server/am/OomAdjuster;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJZ)Z
-PLcom/android/server/am/OomAdjuster;->dumpProcCountsLocked(Ljava/io/PrintWriter;)V
-PLcom/android/server/am/OomAdjuster;->dumpProcessListVariablesLocked(Landroid/util/proto/ProtoOutputStream;)V
-PLcom/android/server/am/OomAdjuster;->dumpSequenceNumbersLocked(Ljava/io/PrintWriter;)V
-PLcom/android/server/am/OomAdjuster;->idleUidsLocked()V
-HSPLcom/android/server/am/OomAdjuster;->maybeUpdateUsageStatsLocked(Lcom/android/server/am/ProcessRecord;J)V
-PLcom/android/server/am/OomAdjuster;->setAppIdTempWhitelistStateLocked(IZ)V
-HSPLcom/android/server/am/OomAdjuster;->shouldSkipDueToCycle(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;IIZ)Z
-HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked()V
-HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Z)Z
+HSPLcom/android/server/am/OomAdjuster;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessList;Lcom/android/server/am/ActiveUids;Lcom/android/server/ServiceThread;)V
+HPLcom/android/server/am/OomAdjuster;->applyOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZJJ)Z
+HSPLcom/android/server/am/OomAdjuster;->assignCachedAdjIfNecessary(Ljava/util/ArrayList;)V
+HPLcom/android/server/am/OomAdjuster;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJZZ)Z
+HSPLcom/android/server/am/OomAdjuster;->createAdjusterThread()Lcom/android/server/ServiceThread;
+HPLcom/android/server/am/OomAdjuster;->idleUidsLocked()V
+PLcom/android/server/am/OomAdjuster;->initSettings()V
+HPLcom/android/server/am/OomAdjuster;->lambda$new$0(Landroid/os/Message;)Z
+PLcom/android/server/am/OomAdjuster;->maybeUpdateLastTopTime(Lcom/android/server/am/ProcessRecord;J)V
+HPLcom/android/server/am/OomAdjuster;->maybeUpdateUsageStatsLocked(Lcom/android/server/am/ProcessRecord;J)V
+HPLcom/android/server/am/OomAdjuster;->setAppIdTempWhitelistStateLocked(IZ)V
+PLcom/android/server/am/OomAdjuster;->setAttachingSchedGroupLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/OomAdjuster;->shouldSkipDueToCycle(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;IIZ)Z
+HSPLcom/android/server/am/OomAdjuster;->updateAndTrimProcessLocked(JJJLcom/android/server/am/ActiveUids;)Z
+HPLcom/android/server/am/OomAdjuster;->updateAppUidRecLocked(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJ)Z
+HPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
+HPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZLjava/lang/String;)Z
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Ljava/lang/String;)V
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLockedInner(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/util/ArrayList;Lcom/android/server/am/ActiveUids;ZZ)V
+HSPLcom/android/server/am/OomAdjuster;->updateUidsLocked(Lcom/android/server/am/ActiveUids;J)V
HSPLcom/android/server/am/PendingIntentController;-><init>(Landroid/os/Looper;Lcom/android/server/am/UserController;)V
PLcom/android/server/am/PendingIntentController;->cancelIntentSender(Landroid/content/IIntentSender;)V
PLcom/android/server/am/PendingIntentController;->cancelIntentSender(Lcom/android/server/am/PendingIntentRecord;Z)V
-PLcom/android/server/am/PendingIntentController;->dumpPendingIntents(Ljava/io/PrintWriter;ZLjava/lang/String;)V
-HSPLcom/android/server/am/PendingIntentController;->getIntentSender(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/server/am/PendingIntentRecord;
-PLcom/android/server/am/PendingIntentController;->handlePendingIntentCancelled(Landroid/os/RemoteCallbackList;)V
+HPLcom/android/server/am/PendingIntentController;->getIntentSender(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/server/am/PendingIntentRecord;
PLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;)V
HSPLcom/android/server/am/PendingIntentController;->onActivityManagerInternalAdded()V
-HSPLcom/android/server/am/PendingIntentController;->removePendingIntentsForPackage(Ljava/lang/String;IIZ)Z
-HSPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/wm/SafeActivityOptions;I)V
-HSPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I
-PLcom/android/server/am/PendingIntentRecord$Key;->typeName()Ljava/lang/String;
-HSPLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentRecord$Key;I)V
-HSPLcom/android/server/am/PendingIntentRecord;->completeFinalize()V
-PLcom/android/server/am/PendingIntentRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/am/PendingIntentRecord;->finalize()V
-HSPLcom/android/server/am/PendingIntentRecord;->sendInner(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-HSPLcom/android/server/am/PendingIntentRecord;->setWhitelistDurationLocked(Landroid/os/IBinder;J)V
-PLcom/android/server/am/PendingIntentRecord;->toString()Ljava/lang/String;
-PLcom/android/server/am/PendingTempWhitelists;->size()I
+HPLcom/android/server/am/PendingIntentController;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+HPLcom/android/server/am/PendingIntentController;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
+HPLcom/android/server/am/PendingIntentController;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+HPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/wm/SafeActivityOptions;I)V
+HPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I
+HPLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentRecord$Key;I)V
+PLcom/android/server/am/PendingIntentRecord;->completeFinalize()V
+HPLcom/android/server/am/PendingIntentRecord;->finalize()V
+PLcom/android/server/am/PendingIntentRecord;->lambda$hlEHdgdG_SS5n3v7IRr7e6QZgLQ(Lcom/android/server/am/PendingIntentRecord;)V
+PLcom/android/server/am/PendingIntentRecord;->sendInner(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
+PLcom/android/server/am/PendingIntentRecord;->setWhitelistDurationLocked(Landroid/os/IBinder;J)V
+HPLcom/android/server/am/PendingIntentRecord;->unregisterCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V
+HSPLcom/android/server/am/PendingTempWhitelists;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+PLcom/android/server/am/PendingTempWhitelists;->indexOfKey(I)I
+PLcom/android/server/am/PersistentConnection$1;-><init>(Lcom/android/server/am/PersistentConnection;)V
+PLcom/android/server/am/PersistentConnection$1;->onBindingDied(Landroid/content/ComponentName;)V
PLcom/android/server/am/PersistentConnection$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/am/PersistentConnection$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
PLcom/android/server/am/PersistentConnection;-><init>(Ljava/lang/String;Landroid/content/Context;Landroid/os/Handler;ILandroid/content/ComponentName;JDJJ)V
+PLcom/android/server/am/PersistentConnection;->access$000(Lcom/android/server/am/PersistentConnection;)Ljava/lang/Object;
+PLcom/android/server/am/PersistentConnection;->access$100(Lcom/android/server/am/PersistentConnection;)Z
+PLcom/android/server/am/PersistentConnection;->access$1008(Lcom/android/server/am/PersistentConnection;)I
+PLcom/android/server/am/PersistentConnection;->access$1100(Lcom/android/server/am/PersistentConnection;)V
+PLcom/android/server/am/PersistentConnection;->access$1208(Lcom/android/server/am/PersistentConnection;)I
+PLcom/android/server/am/PersistentConnection;->access$200(Lcom/android/server/am/PersistentConnection;)Ljava/lang/String;
+PLcom/android/server/am/PersistentConnection;->access$300(Lcom/android/server/am/PersistentConnection;)Landroid/content/ComponentName;
+PLcom/android/server/am/PersistentConnection;->access$400(Lcom/android/server/am/PersistentConnection;)I
+PLcom/android/server/am/PersistentConnection;->access$508(Lcom/android/server/am/PersistentConnection;)I
+PLcom/android/server/am/PersistentConnection;->access$602(Lcom/android/server/am/PersistentConnection;Z)Z
+PLcom/android/server/am/PersistentConnection;->access$702(Lcom/android/server/am/PersistentConnection;J)J
+PLcom/android/server/am/PersistentConnection;->access$802(Lcom/android/server/am/PersistentConnection;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/am/PersistentConnection;->access$900(Lcom/android/server/am/PersistentConnection;)V
PLcom/android/server/am/PersistentConnection;->bind()V
+PLcom/android/server/am/PersistentConnection;->bindForBackoff()V
PLcom/android/server/am/PersistentConnection;->bindInnerLocked(Z)V
-PLcom/android/server/am/PersistentConnection;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
+PLcom/android/server/am/PersistentConnection;->cleanUpConnectionLocked()V
PLcom/android/server/am/PersistentConnection;->injectPostAtTime(Ljava/lang/Runnable;J)V
PLcom/android/server/am/PersistentConnection;->injectRemoveCallbacks(Ljava/lang/Runnable;)V
PLcom/android/server/am/PersistentConnection;->injectUptimeMillis()J
+PLcom/android/server/am/PersistentConnection;->lambda$new$0$PersistentConnection()V
+PLcom/android/server/am/PersistentConnection;->lambda$rkvbuN0FQdQUv1hqSwDvmwwh6Uk(Lcom/android/server/am/PersistentConnection;)V
PLcom/android/server/am/PersistentConnection;->resetBackoffLocked()V
+PLcom/android/server/am/PersistentConnection;->scheduleRebindLocked()V
+PLcom/android/server/am/PersistentConnection;->scheduleStableCheckLocked()V
PLcom/android/server/am/PersistentConnection;->stableConnectionCheck()V
-PLcom/android/server/am/PersistentConnection;->unbind()V
PLcom/android/server/am/PersistentConnection;->unbindLocked()V
PLcom/android/server/am/PersistentConnection;->unscheduleRebindLocked()V
-HSPLcom/android/server/am/PreBootBroadcaster$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/am/PreBootBroadcaster;-><init>(Lcom/android/server/am/ActivityManagerService;ILcom/android/internal/util/ProgressReporter;Z)V
-PLcom/android/server/am/PreBootBroadcaster;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HSPLcom/android/server/am/PreBootBroadcaster;->sendNext()V
+PLcom/android/server/am/PersistentConnection;->unscheduleStableCheckLocked()V
+HSPLcom/android/server/am/ProcessList$1;-><init>(Lcom/android/server/am/ProcessList;)V
+PLcom/android/server/am/ProcessList$1;->onConnect(Ljava/io/OutputStream;)Z
+HSPLcom/android/server/am/ProcessList$IsolatedUidRange;-><init>(Lcom/android/server/am/ProcessList;II)V
PLcom/android/server/am/ProcessList$IsolatedUidRange;->allocateIsolatedUidLocked(I)I
+PLcom/android/server/am/ProcessList$IsolatedUidRange;->freeIsolatedUidLocked(I)V
HSPLcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;-><init>(Lcom/android/server/am/ProcessList;III)V
-HSPLcom/android/server/am/ProcessList$KillHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/am/ProcessList$ProcStateMemTracker;-><init>()V
-PLcom/android/server/am/ProcessList$ProcStateMemTracker;->dumpLine(Ljava/io/PrintWriter;)V
+PLcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;->freeUidRangeLocked(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;->getIsolatedUidRangeLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessList$IsolatedUidRange;
+PLcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;->getOrCreateIsolatedUidRangeLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessList$IsolatedUidRange;
+HSPLcom/android/server/am/ProcessList$KillHandler;-><init>(Lcom/android/server/am/ProcessList;Landroid/os/Looper;)V
+PLcom/android/server/am/ProcessList$KillHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/am/ProcessList$MyProcessMap;-><init>(Lcom/android/server/am/ProcessList;)V
+PLcom/android/server/am/ProcessList$MyProcessMap;->put(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList$MyProcessMap;->remove(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList$ProcStateMemTracker;-><init>()V
+HSPLcom/android/server/am/ProcessList;-><clinit>()V
HSPLcom/android/server/am/ProcessList;-><init>()V
-HSPLcom/android/server/am/ProcessList;->abortNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
-HSPLcom/android/server/am/ProcessList;->addProcessNameLocked(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ProcessList;->appendRamKb(Ljava/lang/StringBuilder;J)V
-HSPLcom/android/server/am/ProcessList;->buildOomTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZ)Ljava/lang/String;
-HSPLcom/android/server/am/ProcessList;->checkSlow(JLjava/lang/String;)V
-HSPLcom/android/server/am/ProcessList;->clearAllDnsCacheLocked()V
-PLcom/android/server/am/ProcessList;->collectProcessesLocked(IZ[Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/server/am/ProcessList;->commitNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
-HSPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJ)J
-HSPLcom/android/server/am/ProcessList;->doStopUidForIdleUidsLocked()V
-HSPLcom/android/server/am/ProcessList;->dumpLruListHeaderLocked(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/am/ProcessList;->fillInProcMemInfoLocked(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V
-HSPLcom/android/server/am/ProcessList;->findAppProcessLocked(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ProcessList;->getCachedRestoreThresholdKb()J
-HSPLcom/android/server/am/ProcessList;->getLRURecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ProcessList;->getLmkdKillCount(II)Ljava/lang/Integer;
+PLcom/android/server/am/ProcessList;->abortNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
+PLcom/android/server/am/ProcessList;->access$000()Lcom/android/server/am/LmkdConnection;
+HPLcom/android/server/am/ProcessList;->addProcessNameLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->applyDisplaySize(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/am/ProcessList;->buildOomTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZ)Ljava/lang/String;
+HPLcom/android/server/am/ProcessList;->checkSlow(JLjava/lang/String;)V
+PLcom/android/server/am/ProcessList;->clearAllDnsCacheLocked()V
+PLcom/android/server/am/ProcessList;->commitNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
+HPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJ)J
+PLcom/android/server/am/ProcessList;->createAppZygoteForProcessIfNeeded(Lcom/android/server/am/ProcessRecord;)Landroid/os/AppZygote;
+HPLcom/android/server/am/ProcessList;->fillInProcMemInfoLocked(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V
+PLcom/android/server/am/ProcessList;->findAppProcessLocked(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList;->getBlockStateForUid(Lcom/android/server/am/UidRecord;)I
+PLcom/android/server/am/ProcessList;->getCachedRestoreThresholdKb()J
+HPLcom/android/server/am/ProcessList;->getLRURecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
HSPLcom/android/server/am/ProcessList;->getLruSizeLocked()I
HSPLcom/android/server/am/ProcessList;->getMemLevel(I)J
-HSPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
-HSPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ProcessList;->getRunningAppProcessesLocked(ZIZII)Ljava/util/List;
-HSPLcom/android/server/am/ProcessList;->getUidRecordLocked(I)Lcom/android/server/am/UidRecord;
-HSPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;IZJZ)Z
-HSPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;Landroid/os/Process$ProcessStartResult;J)Z
-HSPLcom/android/server/am/ProcessList;->haveBackgroundProcessLocked()Z
+HPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
+HPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList;->getRunningAppProcessesLocked(ZIZII)Ljava/util/List;
+PLcom/android/server/am/ProcessList;->getUidProcStateLocked(I)I
+HPLcom/android/server/am/ProcessList;->getUidRecordLocked(I)Lcom/android/server/am/UidRecord;
+PLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;IZJZ)Z
+PLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;Landroid/os/Process$ProcessStartResult;J)Z
+PLcom/android/server/am/ProcessList;->haveBackgroundProcessLocked()Z
+HSPLcom/android/server/am/ProcessList;->incrementProcStateSeqAndNotifyAppsLocked(Lcom/android/server/am/ActiveUids;)V
HSPLcom/android/server/am/ProcessList;->init(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActiveUids;)V
-HSPLcom/android/server/am/ProcessList;->isProcStartValidLocked(Lcom/android/server/am/ProcessRecord;J)Ljava/lang/String;
-HSPLcom/android/server/am/ProcessList;->killAllBackgroundProcessesExceptLocked(II)V
-HSPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIILjava/lang/String;)Z
-HSPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZZLjava/lang/String;)Z
+PLcom/android/server/am/ProcessList;->isProcStartValidLocked(Lcom/android/server/am/ProcessRecord;J)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->killAllBackgroundProcessesExceptLocked(II)V
+PLcom/android/server/am/ProcessList;->killAppZygoteIfNeededLocked(Landroid/os/AppZygote;)V
+PLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIILjava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZZLjava/lang/String;)Z
PLcom/android/server/am/ProcessList;->killProcessGroup(II)V
-HSPLcom/android/server/am/ProcessList;->lambda$startProcessLocked$0$ProcessList(Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ProcessList;->makeOomAdjString(IZ)Ljava/lang/String;
-PLcom/android/server/am/ProcessList;->makeProcStateProtoEnum(I)I
-HSPLcom/android/server/am/ProcessList;->makeProcStateString(I)Ljava/lang/String;
-HSPLcom/android/server/am/ProcessList;->newProcessRecordLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZIZ)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ProcessList;->openLmkdSocketLS()Z
-PLcom/android/server/am/ProcessList;->readLmkdReplyLS(Ljava/nio/ByteBuffer;)Z
-HSPLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
-HSPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ProcessList;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
-HSPLcom/android/server/am/ProcessList;->setOomAdj(III)V
-HSPLcom/android/server/am/ProcessList;->startProcess(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult;
-HSPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)Z
-HSPLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZIZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Lcom/android/server/am/ProcessRecord;
-HSPLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Z
-HSPLcom/android/server/am/ProcessList;->updateApplicationInfoLocked(Ljava/util/List;IZ)V
-HSPLcom/android/server/am/ProcessList;->updateClientActivitiesOrdering(Lcom/android/server/am/ProcessRecord;III)V
-HSPLcom/android/server/am/ProcessList;->updateCoreSettingsLocked(Landroid/os/Bundle;)V
-HSPLcom/android/server/am/ProcessList;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;JIILjava/lang/String;Ljava/lang/Object;Lcom/android/server/am/ProcessRecord;)I
-HSPLcom/android/server/am/ProcessList;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->lambda$startProcessLocked$0$ProcessList(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
+PLcom/android/server/am/ProcessList;->makeOomAdjString(IZ)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->makeProcStateString(I)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->newProcessRecordLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZILcom/android/server/am/HostingRecord;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList;->onLmkdConnect(Ljava/io/OutputStream;)Z
+PLcom/android/server/am/ProcessList;->procStateToImportance(IILandroid/app/ActivityManager$RunningAppProcessInfo;I)I
+PLcom/android/server/am/ProcessList;->procStatesDifferForMem(II)Z
+PLcom/android/server/am/ProcessList;->remove(I)V
+PLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->removeProcessFromAppZygoteLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
+PLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
+HPLcom/android/server/am/ProcessList;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
+HPLcom/android/server/am/ProcessList;->setOomAdj(III)V
+HPLcom/android/server/am/ProcessList;->startProcess(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult;
+PLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Z
+PLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;)V
+PLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;Ljava/lang/String;)Z
+HPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/HostingRecord;ZZZLjava/lang/String;)Z
+PLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILcom/android/server/am/HostingRecord;ZZIZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Lcom/android/server/am/ProcessRecord;
+PLcom/android/server/am/ProcessList;->updateApplicationInfoLocked(Ljava/util/List;IZ)V
+HPLcom/android/server/am/ProcessList;->updateClientActivitiesOrdering(Lcom/android/server/am/ProcessRecord;III)V
+PLcom/android/server/am/ProcessList;->updateCoreSettingsLocked(Landroid/os/Bundle;)V
+HPLcom/android/server/am/ProcessList;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;JIILjava/lang/String;Ljava/lang/Object;Lcom/android/server/am/ProcessRecord;)I
+HPLcom/android/server/am/ProcessList;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
HSPLcom/android/server/am/ProcessList;->updateOomLevels(IIZ)V
-HSPLcom/android/server/am/ProcessList;->writeLmkd(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
-HSPLcom/android/server/am/ProcessList;->writeLmkdCommandLS(Ljava/nio/ByteBuffer;)Z
-HSPLcom/android/server/am/ProcessMemInfo;-><init>(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/ProcessRecord$PackageList;->containsKey(Ljava/lang/Object;)Z
+HPLcom/android/server/am/ProcessList;->writeLmkd(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
+PLcom/android/server/am/ProcessRecord$PackageList;-><init>(Lcom/android/server/am/ProcessRecord;)V
+HPLcom/android/server/am/ProcessRecord$PackageList;->containsKey(Ljava/lang/Object;)Z
+PLcom/android/server/am/ProcessRecord$PackageList;->get(Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
PLcom/android/server/am/ProcessRecord$PackageList;->keyAt(I)Ljava/lang/String;
-HSPLcom/android/server/am/ProcessRecord$PackageList;->size()I
-HSPLcom/android/server/am/ProcessRecord$PackageList;->valueAt(I)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
-HSPLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)V
-HSPLcom/android/server/am/ProcessRecord;->addAllowBackgroundActivityStartsToken(Landroid/os/Binder;)V
-HSPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;J)V
-HSPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z
-PLcom/android/server/am/ProcessRecord;->appNotResponding(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLjava/lang/String;)V
-HSPLcom/android/server/am/ProcessRecord;->clearWaitingToKill()V
-PLcom/android/server/am/ProcessRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/am/ProcessRecord;->forceProcessStateUpTo(I)V
-HSPLcom/android/server/am/ProcessRecord;->getActiveInstrumentation()Lcom/android/server/am/ActiveInstrumentation;
-HSPLcom/android/server/am/ProcessRecord;->getCpuTime()J
-HSPLcom/android/server/am/ProcessRecord;->getCurProcState()I
-HSPLcom/android/server/am/ProcessRecord;->getCurRawAdj()I
-HSPLcom/android/server/am/ProcessRecord;->getCurRawProcState()I
-HSPLcom/android/server/am/ProcessRecord;->getCurrentSchedulingGroup()I
+PLcom/android/server/am/ProcessRecord$PackageList;->put(Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
+PLcom/android/server/am/ProcessRecord$PackageList;->size()I
+PLcom/android/server/am/ProcessRecord$PackageList;->valueAt(I)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
+PLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)V
+PLcom/android/server/am/ProcessRecord;->access$000(Lcom/android/server/am/ProcessRecord;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/am/ProcessRecord;->addAllowBackgroundActivityStartsToken(Landroid/os/Binder;)V
+PLcom/android/server/am/ProcessRecord;->addBoundClientUid(I)V
+HPLcom/android/server/am/ProcessRecord;->addBoundClientUidsOfNewService(Lcom/android/server/am/ServiceRecord;)V
+HPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z
+PLcom/android/server/am/ProcessRecord;->appDied()V
+PLcom/android/server/am/ProcessRecord;->clearBoundClientUids()V
+HPLcom/android/server/am/ProcessRecord;->computeOomAdjFromActivitiesIfNecessary(Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;IZIIIII)V
+HPLcom/android/server/am/ProcessRecord;->forceProcessStateUpTo(I)V
+HPLcom/android/server/am/ProcessRecord;->getActiveInstrumentation()Lcom/android/server/am/ActiveInstrumentation;
+HPLcom/android/server/am/ProcessRecord;->getCachedHasActivities()Z
+HPLcom/android/server/am/ProcessRecord;->getCachedHasRecentTasks()Z
+HPLcom/android/server/am/ProcessRecord;->getCachedHasVisibleActivities()Z
+HPLcom/android/server/am/ProcessRecord;->getCachedIsHeavyWeight()Z
+HPLcom/android/server/am/ProcessRecord;->getCachedIsHomeProcess()Z
+HPLcom/android/server/am/ProcessRecord;->getCachedIsPreviousProcess()Z
+HPLcom/android/server/am/ProcessRecord;->getCachedIsReceivingBroadcast(Landroid/util/ArraySet;)Z
+PLcom/android/server/am/ProcessRecord;->getCpuTime()J
+HPLcom/android/server/am/ProcessRecord;->getCurProcState()I
+HPLcom/android/server/am/ProcessRecord;->getCurRawAdj()I
+HPLcom/android/server/am/ProcessRecord;->getCurRawProcState()I
+HPLcom/android/server/am/ProcessRecord;->getCurrentSchedulingGroup()I
PLcom/android/server/am/ProcessRecord;->getFgInteractionTime()J
-HSPLcom/android/server/am/ProcessRecord;->getForegroundServiceTypes()I
-HSPLcom/android/server/am/ProcessRecord;->getInteractionEventTime()J
-HSPLcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
-HSPLcom/android/server/am/ProcessRecord;->getPackageListWithVersionCode()Ljava/util/List;
-HSPLcom/android/server/am/ProcessRecord;->getProcessClassEnum()I
-HSPLcom/android/server/am/ProcessRecord;->getReportedProcState()I
-PLcom/android/server/am/ProcessRecord;->getSetAdjWithServices()I
-PLcom/android/server/am/ProcessRecord;->getWhenUnimportant()J
-HSPLcom/android/server/am/ProcessRecord;->getWindowProcessController()Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/am/ProcessRecord;->hasActivities()Z
-HSPLcom/android/server/am/ProcessRecord;->hasActivitiesOrRecentTasks()Z
-HSPLcom/android/server/am/ProcessRecord;->hasClientActivities()Z
-HSPLcom/android/server/am/ProcessRecord;->hasForegroundActivities()Z
-HSPLcom/android/server/am/ProcessRecord;->hasForegroundServices()Z
-HSPLcom/android/server/am/ProcessRecord;->hasLocationForegroundServices()Z
-HSPLcom/android/server/am/ProcessRecord;->hasOverlayUi()Z
-HSPLcom/android/server/am/ProcessRecord;->hasPendingUiClean()Z
-HSPLcom/android/server/am/ProcessRecord;->hasRecentTasks()Z
-HSPLcom/android/server/am/ProcessRecord;->hasTopUi()Z
-HSPLcom/android/server/am/ProcessRecord;->isCrashing()Z
-PLcom/android/server/am/ProcessRecord;->isDebugging()Z
-PLcom/android/server/am/ProcessRecord;->isInterestingForBackgroundTraces()Z
-HSPLcom/android/server/am/ProcessRecord;->isInterestingToUserLocked()Z
-PLcom/android/server/am/ProcessRecord;->isMonitorCpuUsage()Z
-HSPLcom/android/server/am/ProcessRecord;->isNotResponding()Z
-HSPLcom/android/server/am/ProcessRecord;->isPersistent()Z
-HSPLcom/android/server/am/ProcessRecord;->isRemoved()Z
-PLcom/android/server/am/ProcessRecord;->isSilentAnr()Z
-HSPLcom/android/server/am/ProcessRecord;->isUsingWrapper()Z
-HSPLcom/android/server/am/ProcessRecord;->kill(Ljava/lang/String;Z)V
-HSPLcom/android/server/am/ProcessRecord;->makeActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V
-HSPLcom/android/server/am/ProcessRecord;->makeAdjReason()Ljava/lang/String;
-HSPLcom/android/server/am/ProcessRecord;->makeInactive(Lcom/android/server/am/ProcessStatsService;)V
-HSPLcom/android/server/am/ProcessRecord;->modifyRawOomAdj(I)I
-HSPLcom/android/server/am/ProcessRecord;->onStartActivity(IZ)V
-HSPLcom/android/server/am/ProcessRecord;->removeAllowBackgroundActivityStartsToken(Landroid/os/Binder;)V
-HSPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V
-PLcom/android/server/am/ProcessRecord;->scheduleCrash(Ljava/lang/String;)V
-HSPLcom/android/server/am/ProcessRecord;->setCrashing(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setCurProcState(I)V
-HSPLcom/android/server/am/ProcessRecord;->setCurRawAdj(I)V
-HSPLcom/android/server/am/ProcessRecord;->setCurRawProcState(I)V
-HSPLcom/android/server/am/ProcessRecord;->setCurrentSchedulingGroup(I)V
-HSPLcom/android/server/am/ProcessRecord;->setDebugging(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setFgInteractionTime(J)V
-HSPLcom/android/server/am/ProcessRecord;->setHasClientActivities(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setHasForegroundActivities(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setHasForegroundServices(ZI)V
-PLcom/android/server/am/ProcessRecord;->setHasOverlayUi(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setHasTopUi(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setInteractionEventTime(J)V
-HSPLcom/android/server/am/ProcessRecord;->setNotResponding(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setPendingUiClean(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setPendingUiCleanAndForceProcessStateUpTo(I)V
-HSPLcom/android/server/am/ProcessRecord;->setPersistent(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setPid(I)V
-PLcom/android/server/am/ProcessRecord;->setReportedForegroundServiceTypes(I)V
-HSPLcom/android/server/am/ProcessRecord;->setReportedProcState(I)V
-HSPLcom/android/server/am/ProcessRecord;->setRequiredAbi(Ljava/lang/String;)V
-HSPLcom/android/server/am/ProcessRecord;->setStartParams(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-HSPLcom/android/server/am/ProcessRecord;->setUsingWrapper(Z)V
-HSPLcom/android/server/am/ProcessRecord;->setWhenUnimportant(J)V
-HSPLcom/android/server/am/ProcessRecord;->startAppProblemLocked()V
-HSPLcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
-HSPLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
-HSPLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
-PLcom/android/server/am/ProcessRecord;->updateHasAboveClientLocked()V
-HSPLcom/android/server/am/ProcessRecord;->updateProcessInfo(ZZZZ)V
-HSPLcom/android/server/am/ProcessRecord;->updateServiceConnectionActivities()V
-PLcom/android/server/am/ProcessRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/am/ProcessRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
+PLcom/android/server/am/ProcessRecord;->getForegroundServiceTypes()I
+PLcom/android/server/am/ProcessRecord;->getInteractionEventTime()J
+HPLcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
+PLcom/android/server/am/ProcessRecord;->getPackageListWithVersionCode()Ljava/util/List;
+PLcom/android/server/am/ProcessRecord;->getProcessClassEnum()I
+PLcom/android/server/am/ProcessRecord;->getReportedProcState()I
+HPLcom/android/server/am/ProcessRecord;->getWindowProcessController()Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/am/ProcessRecord;->hasActivities()Z
+HPLcom/android/server/am/ProcessRecord;->hasActivitiesOrRecentTasks()Z
+HPLcom/android/server/am/ProcessRecord;->hasClientActivities()Z
+PLcom/android/server/am/ProcessRecord;->hasForegroundActivities()Z
+HPLcom/android/server/am/ProcessRecord;->hasForegroundServices()Z
+HPLcom/android/server/am/ProcessRecord;->hasLocationForegroundServices()Z
+HPLcom/android/server/am/ProcessRecord;->hasOverlayUi()Z
+PLcom/android/server/am/ProcessRecord;->hasPendingUiClean()Z
+HPLcom/android/server/am/ProcessRecord;->hasTopUi()Z
+HPLcom/android/server/am/ProcessRecord;->isCrashing()Z
+PLcom/android/server/am/ProcessRecord;->isInterestingToUserLocked()Z
+HPLcom/android/server/am/ProcessRecord;->isPersistent()Z
+PLcom/android/server/am/ProcessRecord;->isRemoved()Z
+PLcom/android/server/am/ProcessRecord;->isUsingWrapper()Z
+PLcom/android/server/am/ProcessRecord;->kill(Ljava/lang/String;Z)V
+PLcom/android/server/am/ProcessRecord;->makeActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V
+PLcom/android/server/am/ProcessRecord;->makeInactive(Lcom/android/server/am/ProcessStatsService;)V
+HPLcom/android/server/am/ProcessRecord;->modifyRawOomAdj(I)I
+PLcom/android/server/am/ProcessRecord;->onStartActivity(IZLjava/lang/String;J)V
+PLcom/android/server/am/ProcessRecord;->removeAllowBackgroundActivityStartsToken(Landroid/os/Binder;)V
+PLcom/android/server/am/ProcessRecord;->resetCachedInfo()V
+PLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V
+PLcom/android/server/am/ProcessRecord;->setCrashing(Z)V
+HPLcom/android/server/am/ProcessRecord;->setCurProcState(I)V
+HPLcom/android/server/am/ProcessRecord;->setCurRawAdj(I)V
+HPLcom/android/server/am/ProcessRecord;->setCurRawProcState(I)V
+HPLcom/android/server/am/ProcessRecord;->setCurrentSchedulingGroup(I)V
+PLcom/android/server/am/ProcessRecord;->setDebugging(Z)V
+PLcom/android/server/am/ProcessRecord;->setFgInteractionTime(J)V
+PLcom/android/server/am/ProcessRecord;->setHasClientActivities(Z)V
+HPLcom/android/server/am/ProcessRecord;->setHasForegroundActivities(Z)V
+PLcom/android/server/am/ProcessRecord;->setHasTopUi(Z)V
+PLcom/android/server/am/ProcessRecord;->setInteractionEventTime(J)V
+PLcom/android/server/am/ProcessRecord;->setNotResponding(Z)V
+PLcom/android/server/am/ProcessRecord;->setPendingUiClean(Z)V
+PLcom/android/server/am/ProcessRecord;->setPendingUiCleanAndForceProcessStateUpTo(I)V
+PLcom/android/server/am/ProcessRecord;->setPersistent(Z)V
+PLcom/android/server/am/ProcessRecord;->setPid(I)V
+HPLcom/android/server/am/ProcessRecord;->setReportedProcState(I)V
+PLcom/android/server/am/ProcessRecord;->setRequiredAbi(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->setRunningRemoteAnimation(Z)V
+PLcom/android/server/am/ProcessRecord;->setStartParams(ILcom/android/server/am/HostingRecord;Ljava/lang/String;J)V
+PLcom/android/server/am/ProcessRecord;->setUsingWrapper(Z)V
+PLcom/android/server/am/ProcessRecord;->setWhenUnimportant(J)V
+PLcom/android/server/am/ProcessRecord;->startAppProblemLocked()V
+PLcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
+PLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
+PLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
+PLcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
+HPLcom/android/server/am/ProcessRecord;->updateBoundClientUids()V
+PLcom/android/server/am/ProcessRecord;->updateProcessInfo(ZZZ)V
+PLcom/android/server/am/ProcessRecord;->updateServiceConnectionActivities()V
+HSPLcom/android/server/am/ProcessStatsService$1;-><init>(Lcom/android/server/am/ProcessStatsService;)V
+HPLcom/android/server/am/ProcessStatsService$1;->run()V
+PLcom/android/server/am/ProcessStatsService$2;-><init>(Lcom/android/server/am/ProcessStatsService;J)V
PLcom/android/server/am/ProcessStatsService$2;->run()V
-PLcom/android/server/am/ProcessStatsService$4;->run()V
+HSPLcom/android/server/am/ProcessStatsService;-><clinit>()V
HSPLcom/android/server/am/ProcessStatsService;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/io/File;)V
-HSPLcom/android/server/am/ProcessStatsService;->addSysMemUsageLocked(JJJJJ)V
+PLcom/android/server/am/ProcessStatsService;->addSysMemUsageLocked(JJJJJ)V
PLcom/android/server/am/ProcessStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ProcessStatsService;->dumpAggregatedStats(Landroid/util/proto/ProtoOutputStream;JIJ)V
-PLcom/android/server/am/ProcessStatsService;->dumpAggregatedStats(Ljava/io/PrintWriter;JJLjava/lang/String;ZZZZZI)V
PLcom/android/server/am/ProcessStatsService;->dumpInner(Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/am/ProcessStatsService;->dumpProto(Ljava/io/FileDescriptor;)V
PLcom/android/server/am/ProcessStatsService;->getCommittedFiles(IZZ)Ljava/util/ArrayList;
HSPLcom/android/server/am/ProcessStatsService;->getMemFactorLocked()I
-PLcom/android/server/am/ProcessStatsService;->getStatsOverTime(J)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/am/ProcessStatsService;->getProcessStateLocked(Ljava/lang/String;IJLjava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
+PLcom/android/server/am/ProcessStatsService;->getServiceStateLocked(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/ServiceState;
+HSPLcom/android/server/am/ProcessStatsService;->isMemFactorLowered()Z
PLcom/android/server/am/ProcessStatsService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLcom/android/server/am/ProcessStatsService;->performWriteState(J)V
PLcom/android/server/am/ProcessStatsService;->readLocked(Lcom/android/internal/app/procstats/ProcessStats;Landroid/util/AtomicFile;)Z
@@ -3602,1256 +4274,1231 @@ HSPLcom/android/server/am/ProcessStatsService;->setMemFactorLocked(IZJ)Z
HSPLcom/android/server/am/ProcessStatsService;->shouldWriteNowLocked(J)Z
PLcom/android/server/am/ProcessStatsService;->trimHistoricStatesWriteLocked()V
HSPLcom/android/server/am/ProcessStatsService;->updateFile()V
+PLcom/android/server/am/ProcessStatsService;->updateProcessStateHolderLocked(Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;Ljava/lang/String;IJLjava/lang/String;)V
HSPLcom/android/server/am/ProcessStatsService;->updateTrackingAssociationsLocked(IJ)V
PLcom/android/server/am/ProcessStatsService;->writeStateLocked(ZZ)V
HSPLcom/android/server/am/ProviderMap;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-HSPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZILjava/util/ArrayList;)Z
-HSPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z
-PLcom/android/server/am/ProviderMap;->dumpProvider(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
-PLcom/android/server/am/ProviderMap;->dumpProvider(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ContentProviderRecord;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ProviderMap;->dumpProviderProto(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;)Z
-PLcom/android/server/am/ProviderMap;->dumpProvidersByClassLocked(Ljava/io/PrintWriter;ZLjava/lang/String;Ljava/lang/String;ZLjava/util/HashMap;)Z
-PLcom/android/server/am/ProviderMap;->dumpProvidersByNameLocked(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ZLjava/util/HashMap;)Z
-PLcom/android/server/am/ProviderMap;->dumpProvidersLocked(Ljava/io/PrintWriter;ZLjava/lang/String;)Z
-PLcom/android/server/am/ProviderMap;->dumpToTransferPipe(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ContentProviderRecord;[Ljava/lang/String;)V
-HSPLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
-HSPLcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
-HSPLcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;
-HSPLcom/android/server/am/ProviderMap;->getProvidersByName(I)Ljava/util/HashMap;
-PLcom/android/server/am/ProviderMap;->getProvidersForName(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
-HSPLcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
-HSPLcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V
-HSPLcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V
-HSPLcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V
-HSPLcom/android/server/am/ReceiverList;->containsFilter(Landroid/content/IntentFilter;)Z
-PLcom/android/server/am/ReceiverList;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/am/ReceiverList;->dumpLocal(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/am/ReceiverList;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/am/ReceiverList;->hashCode()I
-HSPLcom/android/server/am/ReceiverList;->toString()Ljava/lang/String;
-PLcom/android/server/am/ReceiverList;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZILjava/util/ArrayList;)Z
+HPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z
+PLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
+HPLcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
+HPLcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;
+HPLcom/android/server/am/ProviderMap;->getProvidersByName(I)Ljava/util/HashMap;
+PLcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
+PLcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
+PLcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V
+PLcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V
+PLcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V
+PLcom/android/server/am/ReceiverList;->containsFilter(Landroid/content/IntentFilter;)Z
+PLcom/android/server/am/ReceiverList;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/am/ReceiverList;->hashCode()I
+PLcom/android/server/am/ServiceRecord$1;-><init>(Lcom/android/server/am/ServiceRecord;Landroid/app/Notification;Ljava/lang/String;IIILcom/android/server/am/ServiceRecord;)V
PLcom/android/server/am/ServiceRecord$1;->run()V
+PLcom/android/server/am/ServiceRecord$2;-><init>(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;III)V
PLcom/android/server/am/ServiceRecord$2;->run()V
-PLcom/android/server/am/ServiceRecord$3;-><init>(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;II)V
-PLcom/android/server/am/ServiceRecord$3;->run()V
-HSPLcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/uri/NeededUriGrants;I)V
-PLcom/android/server/am/ServiceRecord$StartItem;->getUriPermissionsLocked()Lcom/android/server/uri/UriPermissionOwner;
-HSPLcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
-HSPLcom/android/server/am/ServiceRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/content/Intent$FilterComparison;Landroid/content/pm/ServiceInfo;ZLjava/lang/Runnable;)V
-HSPLcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/am/ServiceRecord;->dumpStartList(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/List;J)V
-HSPLcom/android/server/am/ServiceRecord;->findDeliveredStart(IZZ)Lcom/android/server/am/ServiceRecord$StartItem;
+HPLcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/uri/NeededUriGrants;I)V
+PLcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
+HPLcom/android/server/am/ServiceRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/ComponentName;Landroid/content/ComponentName;Ljava/lang/String;ILandroid/content/Intent$FilterComparison;Landroid/content/pm/ServiceInfo;ZLjava/lang/Runnable;)V
+HPLcom/android/server/am/ServiceRecord;->addConnection(Landroid/os/IBinder;Lcom/android/server/am/ConnectionRecord;)V
+PLcom/android/server/am/ServiceRecord;->cancelNotification()V
+PLcom/android/server/am/ServiceRecord;->clearDeliveredStartsLocked()V
+HPLcom/android/server/am/ServiceRecord;->findDeliveredStart(IZZ)Lcom/android/server/am/ServiceRecord$StartItem;
PLcom/android/server/am/ServiceRecord;->getComponentName()Landroid/content/ComponentName;
-HSPLcom/android/server/am/ServiceRecord;->getTracker()Lcom/android/internal/app/procstats/ServiceState;
-HSPLcom/android/server/am/ServiceRecord;->hasAutoCreateConnections()Z
-HSPLcom/android/server/am/ServiceRecord;->makeRestarting(IJ)V
-HSPLcom/android/server/am/ServiceRecord;->postNotification()V
-HSPLcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;
-HSPLcom/android/server/am/ServiceRecord;->setHasBindingWhitelistingBgActivityStarts(Z)V
-HSPLcom/android/server/am/ServiceRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
-HSPLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String;
+HPLcom/android/server/am/ServiceRecord;->getConnections()Landroid/util/ArrayMap;
+PLcom/android/server/am/ServiceRecord;->getLastStartId()I
+HPLcom/android/server/am/ServiceRecord;->getTracker()Lcom/android/internal/app/procstats/ServiceState;
+HPLcom/android/server/am/ServiceRecord;->hasAutoCreateConnections()Z
+PLcom/android/server/am/ServiceRecord;->makeNextStartId()I
+PLcom/android/server/am/ServiceRecord;->makeRestarting(IJ)V
+HPLcom/android/server/am/ServiceRecord;->postNotification()V
+PLcom/android/server/am/ServiceRecord;->removeConnection(Landroid/os/IBinder;)V
+PLcom/android/server/am/ServiceRecord;->resetRestartCounter()V
+HPLcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;
+PLcom/android/server/am/ServiceRecord;->setHasBindingWhitelistingBgActivityStarts(Z)V
+HPLcom/android/server/am/ServiceRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String;
PLcom/android/server/am/ServiceRecord;->updateHasBindingWhitelistingBgActivityStarts()V
-HSPLcom/android/server/am/ServiceRecord;->updateWhitelistManager()V
-PLcom/android/server/am/ServiceRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/am/SettingsToPropertiesMapper;->lambda$updatePropertiesFromSettings$0$SettingsToPropertiesMapper(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/SettingsToPropertiesMapper;->makePropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/am/SettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertiesFromSettings()V
-HSPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertyFromSetting(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/am/UidRecord;->reset()V
-HSPLcom/android/server/am/UidRecord;->toString()Ljava/lang/String;
+PLcom/android/server/am/ServiceRecord;->updateWhitelistManager()V
+PLcom/android/server/am/SettingsToPropertiesMapper$1;-><init>(Lcom/android/server/am/SettingsToPropertiesMapper;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;-><clinit>()V
+PLcom/android/server/am/SettingsToPropertiesMapper;-><init>(Landroid/content/ContentResolver;[Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;->isNativeFlagsResetPerformed()Z
+PLcom/android/server/am/SettingsToPropertiesMapper;->makePropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/am/SettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;->start(Landroid/content/ContentResolver;)Lcom/android/server/am/SettingsToPropertiesMapper;
+PLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertiesFromSettings()V
+PLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertyFromSetting(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/UidRecord$ChangeItem;-><init>()V
+PLcom/android/server/am/UidRecord;-><clinit>()V
+PLcom/android/server/am/UidRecord;-><init>(I)V
+HPLcom/android/server/am/UidRecord;->getCurProcState()I
+HPLcom/android/server/am/UidRecord;->reset()V
+HPLcom/android/server/am/UidRecord;->setCurProcState(I)V
+HPLcom/android/server/am/UidRecord;->toString()Ljava/lang/String;
PLcom/android/server/am/UidRecord;->updateHasInternetPermission()V
-PLcom/android/server/am/UidRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/am/UidRecord;->updateLastDispatchedProcStateSeq(I)V
+PLcom/android/server/am/UserController$2;-><init>(Lcom/android/server/am/UserController;I)V
PLcom/android/server/am/UserController$2;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
PLcom/android/server/am/UserController$6;-><init>(Lcom/android/server/am/UserController;)V
PLcom/android/server/am/UserController$6;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-PLcom/android/server/am/UserController$Injector$1;->onFinished()V
+HSPLcom/android/server/am/UserController$Injector;-><init>(Lcom/android/server/am/ActivityManagerService;)V
PLcom/android/server/am/UserController$Injector;->batteryStatsServiceNoteEvent(ILjava/lang/String;I)V
-HSPLcom/android/server/am/UserController$Injector;->broadcastIntent(Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
-HSPLcom/android/server/am/UserController$Injector;->checkCallingPermission(Ljava/lang/String;)I
-HSPLcom/android/server/am/UserController$Injector;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+PLcom/android/server/am/UserController$Injector;->broadcastIntent(Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
+PLcom/android/server/am/UserController$Injector;->checkCallingPermission(Ljava/lang/String;)I
+PLcom/android/server/am/UserController$Injector;->checkComponentPermission(Ljava/lang/String;IIIZ)I
HSPLcom/android/server/am/UserController$Injector;->getContext()Landroid/content/Context;
HSPLcom/android/server/am/UserController$Injector;->getHandler(Landroid/os/Handler$Callback;)Landroid/os/Handler;
HSPLcom/android/server/am/UserController$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
-HSPLcom/android/server/am/UserController$Injector;->getSystemServiceManager()Lcom/android/server/SystemServiceManager;
+PLcom/android/server/am/UserController$Injector;->getStorageManager()Landroid/os/storage/IStorageManager;
+PLcom/android/server/am/UserController$Injector;->getSystemServiceManager()Lcom/android/server/SystemServiceManager;
HSPLcom/android/server/am/UserController$Injector;->getUiHandler(Landroid/os/Handler$Callback;)Landroid/os/Handler;
-HSPLcom/android/server/am/UserController$Injector;->getUserManager()Lcom/android/server/pm/UserManagerService;
-HSPLcom/android/server/am/UserController$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
-HSPLcom/android/server/am/UserController$Injector;->getWindowManager()Lcom/android/server/wm/WindowManagerService;
-HSPLcom/android/server/am/UserController$Injector;->installEncryptionUnawareProviders(I)V
-HSPLcom/android/server/am/UserController$Injector;->isCallerRecents(I)Z
-HSPLcom/android/server/am/UserController$Injector;->isFirstBootOrUpgrade()Z
-HSPLcom/android/server/am/UserController$Injector;->isRuntimeRestarted()Z
-HSPLcom/android/server/am/UserController$Injector;->loadUserRecents(I)V
-HSPLcom/android/server/am/UserController$Injector;->reportCurWakefulnessUsageEvent()V
-HSPLcom/android/server/am/UserController$Injector;->sendPreBootBroadcast(IZLjava/lang/Runnable;)V
-HSPLcom/android/server/am/UserController$Injector;->startPersistentApps(I)V
-HSPLcom/android/server/am/UserController$Injector;->startUserWidgets(I)V
+PLcom/android/server/am/UserController$Injector;->getUserManager()Lcom/android/server/pm/UserManagerService;
+PLcom/android/server/am/UserController$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
+PLcom/android/server/am/UserController$Injector;->getWindowManager()Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/am/UserController$Injector;->installEncryptionUnawareProviders(I)V
+PLcom/android/server/am/UserController$Injector;->isCallerRecents(I)Z
+PLcom/android/server/am/UserController$Injector;->isFirstBootOrUpgrade()Z
+PLcom/android/server/am/UserController$Injector;->isRuntimeRestarted()Z
+PLcom/android/server/am/UserController$Injector;->loadUserRecents(I)V
+PLcom/android/server/am/UserController$Injector;->reportCurWakefulnessUsageEvent()V
+PLcom/android/server/am/UserController$Injector;->startPersistentApps(I)V
+HSPLcom/android/server/am/UserController$UserProgressListener;-><init>()V
HSPLcom/android/server/am/UserController$UserProgressListener;-><init>(Lcom/android/server/am/UserController$1;)V
-HSPLcom/android/server/am/UserController$UserProgressListener;->onFinished(ILandroid/os/Bundle;)V
-HSPLcom/android/server/am/UserController$UserProgressListener;->onProgress(IILandroid/os/Bundle;)V
-HSPLcom/android/server/am/UserController$UserProgressListener;->onStarted(ILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController$UserProgressListener;->onFinished(ILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController$UserProgressListener;->onProgress(IILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController$UserProgressListener;->onStarted(ILandroid/os/Bundle;)V
+HSPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
HSPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/UserController$Injector;)V
+PLcom/android/server/am/UserController;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/am/UserController;->dispatchForegroundProfileChanged(I)V
-HSPLcom/android/server/am/UserController;->dispatchLockedBootComplete(I)V
-HSPLcom/android/server/am/UserController;->dump(Ljava/io/PrintWriter;Z)V
-HSPLcom/android/server/am/UserController;->ensureNotSpecialUser(I)V
-HSPLcom/android/server/am/UserController;->exists(I)Z
+PLcom/android/server/am/UserController;->dispatchLockedBootComplete(I)V
+PLcom/android/server/am/UserController;->ensureNotSpecialUser(I)V
+HPLcom/android/server/am/UserController;->exists(I)Z
PLcom/android/server/am/UserController;->finishUserBoot(Lcom/android/server/am/UserState;)V
-HSPLcom/android/server/am/UserController;->finishUserBoot(Lcom/android/server/am/UserState;Landroid/content/IIntentReceiver;)V
-HSPLcom/android/server/am/UserController;->finishUserUnlocked(Lcom/android/server/am/UserState;)V
-HSPLcom/android/server/am/UserController;->finishUserUnlockedCompleted(Lcom/android/server/am/UserState;)V
-HSPLcom/android/server/am/UserController;->finishUserUnlocking(Lcom/android/server/am/UserState;)Z
-PLcom/android/server/am/UserController;->getCurrentOrTargetUserId()I
-HSPLcom/android/server/am/UserController;->getCurrentProfileIds()[I
-HSPLcom/android/server/am/UserController;->getCurrentUser()Landroid/content/pm/UserInfo;
-HSPLcom/android/server/am/UserController;->getCurrentUserId()I
-HSPLcom/android/server/am/UserController;->getCurrentUserIdLU()I
-HSPLcom/android/server/am/UserController;->getStartedUserArray()[I
-HSPLcom/android/server/am/UserController;->getStartedUserState(I)Lcom/android/server/am/UserState;
-HSPLcom/android/server/am/UserController;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HSPLcom/android/server/am/UserController;->getUsers()[I
-HSPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/am/UserController;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/am/UserController;->hasStartedUserState(I)Z
-PLcom/android/server/am/UserController;->hasUserRestriction(Ljava/lang/String;I)Z
-PLcom/android/server/am/UserController;->isCurrentProfile(I)Z
-HSPLcom/android/server/am/UserController;->isSameProfileGroup(II)Z
-HSPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z
-HSPLcom/android/server/am/UserController;->isUserRunning(II)Z
-PLcom/android/server/am/UserController;->lambda$finishUserUnlocked$2$UserController(Lcom/android/server/am/UserState;)V
-HSPLcom/android/server/am/UserController;->lambda$finishUserUnlocking$1$UserController(ILcom/android/server/am/UserState;)V
-HSPLcom/android/server/am/UserController;->lambda$handleMessage$8$UserController(I)V
-HSPLcom/android/server/am/UserController;->lambda$scheduleStartProfiles$6$UserController()V
-HSPLcom/android/server/am/UserController;->notifyFinished(ILandroid/os/IProgressListener;)V
-HSPLcom/android/server/am/UserController;->onSystemReady()V
-HSPLcom/android/server/am/UserController;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
-HSPLcom/android/server/am/UserController;->scheduleStartProfiles()V
-HSPLcom/android/server/am/UserController;->sendBootCompleted(Landroid/content/IIntentReceiver;)V
-PLcom/android/server/am/UserController;->sendForegroundProfileChanged(I)V
-HSPLcom/android/server/am/UserController;->sendUserSwitchBroadcasts(II)V
-HSPLcom/android/server/am/UserController;->setSwitchingFromSystemUserMessage(Ljava/lang/String;)V
-HSPLcom/android/server/am/UserController;->setSwitchingToSystemUserMessage(Ljava/lang/String;)V
-HSPLcom/android/server/am/UserController;->shouldConfirmCredentials(I)Z
-HSPLcom/android/server/am/UserController;->startProfiles()V
-HSPLcom/android/server/am/UserController;->startUser(IZ)Z
-HSPLcom/android/server/am/UserController;->startUser(IZLandroid/os/IProgressListener;)Z
+PLcom/android/server/am/UserController;->finishUserBoot(Lcom/android/server/am/UserState;Landroid/content/IIntentReceiver;)V
+PLcom/android/server/am/UserController;->finishUserUnlocked(Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->finishUserUnlockedCompleted(Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->finishUserUnlocking(Lcom/android/server/am/UserState;)Z
+PLcom/android/server/am/UserController;->getCurrentProfileIds()[I
+HPLcom/android/server/am/UserController;->getCurrentUser()Landroid/content/pm/UserInfo;
+PLcom/android/server/am/UserController;->getCurrentUserId()I
+PLcom/android/server/am/UserController;->getStartedUserArray()[I
+HPLcom/android/server/am/UserController;->getStartedUserState(I)Lcom/android/server/am/UserState;
+PLcom/android/server/am/UserController;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/am/UserController;->getUsers()[I
+HPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/UserController;->handleMessage(Landroid/os/Message;)Z
+HPLcom/android/server/am/UserController;->hasStartedUserState(I)Z
+HPLcom/android/server/am/UserController;->isCurrentProfile(I)Z
+PLcom/android/server/am/UserController;->isSameProfileGroup(II)Z
+HPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z
+HPLcom/android/server/am/UserController;->isUserRunning(II)Z
+PLcom/android/server/am/UserController;->lambda$finishUserUnlockedCompleted$3$UserController(Landroid/content/Intent;III)V
+PLcom/android/server/am/UserController;->lambda$finishUserUnlocking$1$UserController(ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->lambda$handleMessage$9$UserController(I)V
+PLcom/android/server/am/UserController;->lambda$scheduleStartProfiles$7$UserController()V
+PLcom/android/server/am/UserController;->maybeUnlockUser(I)Z
+PLcom/android/server/am/UserController;->notifyFinished(ILandroid/os/IProgressListener;)V
+PLcom/android/server/am/UserController;->onSystemReady()V
+PLcom/android/server/am/UserController;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+PLcom/android/server/am/UserController;->scheduleStartProfiles()V
+PLcom/android/server/am/UserController;->sendBootCompleted(Landroid/content/IIntentReceiver;)V
+PLcom/android/server/am/UserController;->sendUserSwitchBroadcasts(II)V
+PLcom/android/server/am/UserController;->shouldConfirmCredentials(I)Z
+PLcom/android/server/am/UserController;->startProfiles()V
+PLcom/android/server/am/UserController;->startUser(IZ)Z
+PLcom/android/server/am/UserController;->startUser(IZLandroid/os/IProgressListener;)Z
+PLcom/android/server/am/UserController;->startUserInternal(IZLandroid/os/IProgressListener;Lcom/android/server/utils/TimingsTraceAndSlog;)Z
PLcom/android/server/am/UserController;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
-HSPLcom/android/server/am/UserController;->unlockUserCleared(I[B[BLandroid/os/IProgressListener;)Z
-HSPLcom/android/server/am/UserController;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
-HSPLcom/android/server/am/UserController;->unsafeConvertIncomingUser(I)I
-HSPLcom/android/server/am/UserController;->updateCurrentProfileIds()V
+PLcom/android/server/am/UserController;->unlockUserCleared(I[B[BLandroid/os/IProgressListener;)Z
+PLcom/android/server/am/UserController;->unsafeConvertIncomingUser(I)I
+PLcom/android/server/am/UserController;->updateCurrentProfileIds()V
HSPLcom/android/server/am/UserController;->updateStartedUserArrayLU()V
-PLcom/android/server/am/UserController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
HSPLcom/android/server/am/UserState;-><init>(Landroid/os/UserHandle;)V
-HSPLcom/android/server/am/UserState;->setState(I)V
-HSPLcom/android/server/am/UserState;->setState(II)Z
-HSPLcom/android/server/am/UserState;->stateToString(I)Ljava/lang/String;
-HSPLcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;-><init>()V
-HSPLcom/android/server/appbinding/AppBindingConstants;-><init>(Ljava/lang/String;)V
-PLcom/android/server/appbinding/AppBindingConstants;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
+PLcom/android/server/am/UserState;->setState(I)V
+PLcom/android/server/am/UserState;->setState(II)Z
+PLcom/android/server/am/UserState;->stateToString(I)Ljava/lang/String;
+PLcom/android/server/appbinding/-$$Lambda$AppBindingService$D_3boeCn8eAANOp2ZDk6OC2rNaI;-><init>(Lcom/android/server/appbinding/AppBindingService;)V
+PLcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;-><clinit>()V
+PLcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;-><init>()V
+PLcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appbinding/AppBindingConstants;-><init>(Ljava/lang/String;)V
+PLcom/android/server/appbinding/AppBindingConstants;->initializeFromString(Ljava/lang/String;)Lcom/android/server/appbinding/AppBindingConstants;
+PLcom/android/server/appbinding/AppBindingService$1;-><init>(Lcom/android/server/appbinding/AppBindingService;Landroid/os/Handler;)V
+PLcom/android/server/appbinding/AppBindingService$2;-><init>(Lcom/android/server/appbinding/AppBindingService;)V
PLcom/android/server/appbinding/AppBindingService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/appbinding/AppBindingService$Injector;->getGlobalSettingString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/appbinding/AppBindingService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
-HSPLcom/android/server/appbinding/AppBindingService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStart()V
-HSPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStartUser(I)V
-HSPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/appbinding/AppBindingService;-><init>(Lcom/android/server/appbinding/AppBindingService$Injector;Landroid/content/Context;)V
-HSPLcom/android/server/appbinding/AppBindingService;->bindServicesLocked(ILcom/android/server/appbinding/finders/AppServiceFinder;Ljava/lang/String;)V
-PLcom/android/server/appbinding/AppBindingService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/appbinding/AppBindingService;->findConnectionLock(ILcom/android/server/appbinding/finders/AppServiceFinder;)Lcom/android/server/appbinding/AppBindingService$AppServiceConnection;
+PLcom/android/server/appbinding/AppBindingService$AppServiceConnection;-><init>(Landroid/content/Context;ILcom/android/server/appbinding/AppBindingConstants;Landroid/os/Handler;Lcom/android/server/appbinding/finders/AppServiceFinder;Landroid/content/ComponentName;)V
+PLcom/android/server/appbinding/AppBindingService$AppServiceConnection;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/appbinding/AppBindingService$AppServiceConnection;->asInterface(Landroid/os/IBinder;)Ljava/lang/Object;
+PLcom/android/server/appbinding/AppBindingService$AppServiceConnection;->getBindFlags()I
+PLcom/android/server/appbinding/AppBindingService$Injector;-><init>()V
+PLcom/android/server/appbinding/AppBindingService$Injector;->getGlobalSettingString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/appbinding/AppBindingService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/appbinding/AppBindingService$Injector;)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStart()V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/appbinding/AppBindingService;-><init>(Lcom/android/server/appbinding/AppBindingService$Injector;Landroid/content/Context;)V
+PLcom/android/server/appbinding/AppBindingService;-><init>(Lcom/android/server/appbinding/AppBindingService$Injector;Landroid/content/Context;Lcom/android/server/appbinding/AppBindingService$1;)V
+PLcom/android/server/appbinding/AppBindingService;->access$100(Lcom/android/server/appbinding/AppBindingService;I)V
+PLcom/android/server/appbinding/AppBindingService;->access$200(Lcom/android/server/appbinding/AppBindingService;I)V
+PLcom/android/server/appbinding/AppBindingService;->bindServicesLocked(ILcom/android/server/appbinding/finders/AppServiceFinder;Ljava/lang/String;)V
+PLcom/android/server/appbinding/AppBindingService;->findConnectionLock(ILcom/android/server/appbinding/finders/AppServiceFinder;)Lcom/android/server/appbinding/AppBindingService$AppServiceConnection;
PLcom/android/server/appbinding/AppBindingService;->findFinderLocked(ILjava/lang/String;)Lcom/android/server/appbinding/finders/AppServiceFinder;
+PLcom/android/server/appbinding/AppBindingService;->forAllAppsLocked(Ljava/util/function/Consumer;)V
PLcom/android/server/appbinding/AppBindingService;->handlePackageAddedReplacing(Ljava/lang/String;I)V
-HSPLcom/android/server/appbinding/AppBindingService;->onPhaseActivityManagerReady()V
-HSPLcom/android/server/appbinding/AppBindingService;->onPhaseThirdPartyAppsCanStart()V
-HSPLcom/android/server/appbinding/AppBindingService;->onStartUser(I)V
-HSPLcom/android/server/appbinding/AppBindingService;->onUnlockUser(I)V
-HSPLcom/android/server/appbinding/AppBindingService;->rebindAllLocked(Ljava/lang/String;)V
-HSPLcom/android/server/appbinding/AppBindingService;->refreshConstants()V
+PLcom/android/server/appbinding/AppBindingService;->onBootPhase(I)V
+PLcom/android/server/appbinding/AppBindingService;->onPhaseActivityManagerReady()V
+PLcom/android/server/appbinding/AppBindingService;->onPhaseThirdPartyAppsCanStart()V
+PLcom/android/server/appbinding/AppBindingService;->onStartUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->onUnlockUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->rebindAllLocked(Ljava/lang/String;)V
+PLcom/android/server/appbinding/AppBindingService;->refreshConstants()V
PLcom/android/server/appbinding/AppBindingService;->unbindServicesLocked(ILcom/android/server/appbinding/finders/AppServiceFinder;Ljava/lang/String;)V
-HSPLcom/android/server/appbinding/AppBindingUtils;->findService(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroid/content/pm/IPackageManager;Ljava/lang/StringBuilder;)Landroid/content/pm/ServiceInfo;
-HSPLcom/android/server/appbinding/finders/-$$Lambda$CarrierMessagingClientServiceFinder$HEVyQ3IEZ8Eseze74Vyp3NHEREg;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLcom/android/server/appbinding/finders/AppServiceFinder;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;Landroid/os/Handler;)V
-PLcom/android/server/appbinding/finders/AppServiceFinder;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/appbinding/finders/AppServiceFinder;->findService(ILandroid/content/pm/IPackageManager;Lcom/android/server/appbinding/AppBindingConstants;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appbinding/AppBindingUtils;->findService(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroid/content/pm/IPackageManager;Ljava/lang/StringBuilder;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appbinding/finders/-$$Lambda$CarrierMessagingClientServiceFinder$HEVyQ3IEZ8Eseze74Vyp3NHEREg;-><init>(Lcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;)V
+PLcom/android/server/appbinding/finders/AppServiceFinder;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;Landroid/os/Handler;)V
+PLcom/android/server/appbinding/finders/AppServiceFinder;->findService(ILandroid/content/pm/IPackageManager;Lcom/android/server/appbinding/AppBindingConstants;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;Landroid/os/Handler;)V
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierMessagingClientService;
PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getAppDescription()Ljava/lang/String;
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceAction()Ljava/lang/String;
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceClass()Ljava/lang/Class;
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServicePermission()Ljava/lang/String;
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getTargetPackage(I)Ljava/lang/String;
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->isEnabled(Lcom/android/server/appbinding/AppBindingConstants;)Z
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->lambda$new$0$CarrierMessagingClientServiceFinder(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->startMonitoring()V
-HSPLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;-><init>()V
-HSPLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;-><init>()V
-HSPLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;-><init>()V
-HSPLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;-><init>()V
-PLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;-><init>()V
-HSPLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getBindFlags(Lcom/android/server/appbinding/AppBindingConstants;)I
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceAction()Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceClass()Ljava/lang/Class;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServicePermission()Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getTargetPackage(I)Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->isEnabled(Lcom/android/server/appbinding/AppBindingConstants;)Z
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->startMonitoring()V
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->validateService(Landroid/content/pm/ServiceInfo;)Ljava/lang/String;
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;-><clinit>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;-><init>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;-><clinit>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;-><init>()V
+HPLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;-><clinit>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;-><init>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;-><clinit>()V
+PLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;-><init>()V
+PLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$1$1;-><init>(Lcom/android/server/appop/AppOpsService$1;)V
PLcom/android/server/appop/AppOpsService$1$1;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
PLcom/android/server/appop/AppOpsService$1$1;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
+HSPLcom/android/server/appop/AppOpsService$1;-><init>(Lcom/android/server/appop/AppOpsService;)V
PLcom/android/server/appop/AppOpsService$1;->run()V
-HSPLcom/android/server/appop/AppOpsService$ActiveCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsActiveCallback;III)V
-HSPLcom/android/server/appop/AppOpsService$ActiveCallback;->binderDied()V
-PLcom/android/server/appop/AppOpsService$ActiveCallback;->toString()Ljava/lang/String;
-HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->checkOperationUnchecked(IILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
-HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setUidMode(III)V
-HSPLcom/android/server/appop/AppOpsService$ClientRestrictionState;->hasRestriction(ILjava/lang/String;I)Z
-HSPLcom/android/server/appop/AppOpsService$ClientRestrictionState;->setRestriction(IZ[Ljava/lang/String;I)Z
-HSPLcom/android/server/appop/AppOpsService$ClientState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
+PLcom/android/server/appop/AppOpsService$2;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$3;-><init>(Lcom/android/server/appop/AppOpsService;)V
+PLcom/android/server/appop/AppOpsService$ActiveCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsActiveCallback;III)V
+PLcom/android/server/appop/AppOpsService$ActiveCallback;->binderDied()V
+HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lcom/android/server/appop/AppOpsService;)V
+HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$1;)V
+PLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
+PLcom/android/server/appop/AppOpsService$ClientRestrictionState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
+PLcom/android/server/appop/AppOpsService$ClientRestrictionState;->destroy()V
+HPLcom/android/server/appop/AppOpsService$ClientRestrictionState;->hasRestriction(ILjava/lang/String;I)Z
+PLcom/android/server/appop/AppOpsService$ClientRestrictionState;->isDefault()Z
+PLcom/android/server/appop/AppOpsService$ClientRestrictionState;->setRestriction(IZ[Ljava/lang/String;I)Z
+PLcom/android/server/appop/AppOpsService$ClientState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
PLcom/android/server/appop/AppOpsService$ClientState;->binderDied()V
-PLcom/android/server/appop/AppOpsService$ClientState;->toString()Ljava/lang/String;
-PLcom/android/server/appop/AppOpsService$Constants;->dump(Ljava/io/PrintWriter;)V
+HSPLcom/android/server/appop/AppOpsService$Constants;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/Handler;)V
+PLcom/android/server/appop/AppOpsService$Constants;->startMonitoring(Landroid/content/ContentResolver;)V
HSPLcom/android/server/appop/AppOpsService$Constants;->updateConstants()V
-HSPLcom/android/server/appop/AppOpsService$ModeCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsCallback;IIII)V
-HSPLcom/android/server/appop/AppOpsService$ModeCallback;->binderDied()V
-PLcom/android/server/appop/AppOpsService$ModeCallback;->toString()Ljava/lang/String;
-HSPLcom/android/server/appop/AppOpsService$NotedCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsNotedCallback;III)V
-HSPLcom/android/server/appop/AppOpsService$NotedCallback;->binderDied()V
-PLcom/android/server/appop/AppOpsService$NotedCallback;->toString()Ljava/lang/String;
+HSPLcom/android/server/appop/AppOpsService$FeatureOp;-><init>(Lcom/android/server/appop/AppOpsService$Op;)V
+HSPLcom/android/server/appop/AppOpsService$FeatureOp;->accessed(JILjava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/appop/AppOpsService$FeatureOp;->continuing(JII)V
+PLcom/android/server/appop/AppOpsService$FeatureOp;->createFeatureEntryBuilderLocked()Landroid/app/AppOpsManager$OpFeatureEntry$Builder;
+HPLcom/android/server/appop/AppOpsService$FeatureOp;->finished(JJII)V
+HSPLcom/android/server/appop/AppOpsService$FeatureOp;->rejected(JILjava/lang/String;Ljava/lang/String;II)V
+HSPLcom/android/server/appop/AppOpsService$FeatureOp;->running(JJII)V
+HPLcom/android/server/appop/AppOpsService$FeatureOp;->started(JII)V
+HSPLcom/android/server/appop/AppOpsService$FeatureOp;->updateAccessTimeAndDuration(JJII)V
+HSPLcom/android/server/appop/AppOpsService$FeatureOp;->updateProxyState(JILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService$ModeCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsCallback;IIII)V
+PLcom/android/server/appop/AppOpsService$ModeCallback;->binderDied()V
+PLcom/android/server/appop/AppOpsService$ModeCallback;->isWatchingUid(I)Z
+PLcom/android/server/appop/AppOpsService$ModeCallback;->unlinkToDeath()V
+PLcom/android/server/appop/AppOpsService$NotedCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsNotedCallback;III)V
HSPLcom/android/server/appop/AppOpsService$Op;-><init>(Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;I)V
HSPLcom/android/server/appop/AppOpsService$Op;->access$100(Lcom/android/server/appop/AppOpsService$Op;)I
-PLcom/android/server/appop/AppOpsService$Op;->access$300(Lcom/android/server/appop/AppOpsService$Op;)Landroid/util/LongSparseLongArray;
-PLcom/android/server/appop/AppOpsService$Op;->access$400(Lcom/android/server/appop/AppOpsService$Op;)Landroid/util/LongSparseLongArray;
-PLcom/android/server/appop/AppOpsService$Op;->access$500(Lcom/android/server/appop/AppOpsService$Op;)Landroid/util/LongSparseLongArray;
-PLcom/android/server/appop/AppOpsService$Op;->access$600(Lcom/android/server/appop/AppOpsService$Op;)Landroid/util/LongSparseLongArray;
-PLcom/android/server/appop/AppOpsService$Op;->access$700(Lcom/android/server/appop/AppOpsService$Op;)Landroid/util/LongSparseArray;
-HSPLcom/android/server/appop/AppOpsService$Op;->accessed(JILjava/lang/String;II)V
-HSPLcom/android/server/appop/AppOpsService$Op;->rejected(JILjava/lang/String;II)V
-HSPLcom/android/server/appop/AppOpsService$Op;->running(JJII)V
-HSPLcom/android/server/appop/AppOpsService$Op;->updateAccessTimeAndDuration(JJII)V
-HSPLcom/android/server/appop/AppOpsService$Op;->updateProxyState(JILjava/lang/String;)V
+HSPLcom/android/server/appop/AppOpsService$Op;->access$102(Lcom/android/server/appop/AppOpsService$Op;I)I
+HSPLcom/android/server/appop/AppOpsService$Op;->access$500(Lcom/android/server/appop/AppOpsService$Op;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$FeatureOp;
+HPLcom/android/server/appop/AppOpsService$Op;->createEntryLocked()Landroid/app/AppOpsManager$OpEntry;
+HPLcom/android/server/appop/AppOpsService$Op;->createSingleFeatureEntryLocked(Ljava/lang/String;)Landroid/app/AppOpsManager$OpEntry;
+HPLcom/android/server/appop/AppOpsService$Op;->evalMode()I
+HSPLcom/android/server/appop/AppOpsService$Op;->getOrCreateFeature(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)Lcom/android/server/appop/AppOpsService$FeatureOp;
HSPLcom/android/server/appop/AppOpsService$Ops;-><init>(Ljava/lang/String;Lcom/android/server/appop/AppOpsService$UidState;Z)V
+HSPLcom/android/server/appop/AppOpsService$UidState;-><init>(I)V
+PLcom/android/server/appop/AppOpsService$UidState;->clear()V
HSPLcom/android/server/appop/AppOpsService$UidState;->evalForegroundOps(Landroid/util/SparseArray;)V
HSPLcom/android/server/appop/AppOpsService$UidState;->evalForegroundWatchers(ILandroid/util/SparseArray;Landroid/util/SparseBooleanArray;)V
-HSPLcom/android/server/appop/AppOpsService$UidState;->evalMode(II)I
-HSPLcom/android/server/appop/AppOpsService$UidState;->isDefault()Z
+HPLcom/android/server/appop/AppOpsService$UidState;->evalMode(II)I
+PLcom/android/server/appop/AppOpsService$UidState;->isDefault()Z
+HSPLcom/android/server/appop/AppOpsService;-><clinit>()V
HSPLcom/android/server/appop/AppOpsService;-><init>(Ljava/io/File;Landroid/os/Handler;)V
-HSPLcom/android/server/appop/AppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->checkAudioOperationImpl(IIILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->checkOperation(IILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->checkOperationInternal(IILjava/lang/String;Z)I
-HSPLcom/android/server/appop/AppOpsService;->checkOperationRaw(IILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->checkOperationUnchecked(IILjava/lang/String;ZZ)I
-HSPLcom/android/server/appop/AppOpsService;->checkPackage(ILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[I)Ljava/util/ArrayList;
-HSPLcom/android/server/appop/AppOpsService;->commitUidPendingStateLocked(Lcom/android/server/appop/AppOpsService$UidState;)V
-PLcom/android/server/appop/AppOpsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/appop/AppOpsService;->dumpStatesLocked(Ljava/io/PrintWriter;Lcom/android/server/appop/AppOpsService$Op;JLjava/text/SimpleDateFormat;Ljava/util/Date;Ljava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V
-HSPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->finishOperationLocked(Lcom/android/server/appop/AppOpsService$Op;Z)V
-PLcom/android/server/appop/AppOpsService;->getHistoricalOps(ILjava/lang/String;Ljava/util/List;JJILandroid/os/RemoteCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->getOpEntryForResult(Lcom/android/server/appop/AppOpsService$Op;J)Landroid/app/AppOpsManager$OpEntry;
+PLcom/android/server/appop/AppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->checkAudioOperationImpl(IIILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->checkOperation(IILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationImpl(IILjava/lang/String;Z)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationInternal(IILjava/lang/String;Z)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationRaw(IILjava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->checkOperationUnchecked(IILjava/lang/String;Z)I
+HPLcom/android/server/appop/AppOpsService;->checkPackage(ILjava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->checkSystemUid(Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[I)Ljava/util/ArrayList;
+HPLcom/android/server/appop/AppOpsService;->commitUidPendingStateLocked(Lcom/android/server/appop/AppOpsService$UidState;)V
+PLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V
+HPLcom/android/server/appop/AppOpsService;->evalAllForegroundOpsLocked()V
+HPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->finishOperationLocked(Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;Z)V
+PLcom/android/server/appop/AppOpsService;->getAsyncNotedOpsKey(Ljava/lang/String;I)Landroid/util/Pair;
+PLcom/android/server/appop/AppOpsService;->getOpEntryForResult(Lcom/android/server/appop/AppOpsService$Op;J)Landroid/app/AppOpsManager$OpEntry;
+PLcom/android/server/appop/AppOpsService;->getOpLocked(IILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Op;
+HPLcom/android/server/appop/AppOpsService;->getOpLocked(Lcom/android/server/appop/AppOpsService$Ops;IZ)Lcom/android/server/appop/AppOpsService$Op;
PLcom/android/server/appop/AppOpsService;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
-HSPLcom/android/server/appop/AppOpsService;->getOpsRawLocked(ILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
-HSPLcom/android/server/appop/AppOpsService;->getOpsRawNoVerifyLocked(ILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
-HSPLcom/android/server/appop/AppOpsService;->getPackagesForOps([I)Ljava/util/List;
-HSPLcom/android/server/appop/AppOpsService;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLcom/android/server/appop/AppOpsService;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
+HPLcom/android/server/appop/AppOpsService;->getOpsRawLocked(ILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
+HPLcom/android/server/appop/AppOpsService;->getOpsRawNoVerifyLocked(ILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
+HPLcom/android/server/appop/AppOpsService;->getPackagesForOps([I)Ljava/util/List;
+PLcom/android/server/appop/AppOpsService;->getPackagesForUid(I)[Ljava/lang/String;
+PLcom/android/server/appop/AppOpsService;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
HSPLcom/android/server/appop/AppOpsService;->getUidStateLocked(IZ)Lcom/android/server/appop/AppOpsService$UidState;
-HSPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;)Z
-PLcom/android/server/appop/AppOpsService;->isOperationActive(IILjava/lang/String;)Z
-HSPLcom/android/server/appop/AppOpsService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-HSPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;ILjava/lang/String;I)I
-HSPLcom/android/server/appop/AppOpsService;->noteProxyOperation(IILjava/lang/String;ILjava/lang/String;)I
-PLcom/android/server/appop/AppOpsService;->notifyOpActiveChanged(Landroid/util/ArraySet;IILjava/lang/String;Z)V
-HSPLcom/android/server/appop/AppOpsService;->notifyOpChanged(Lcom/android/server/appop/AppOpsService$ModeCallback;IILjava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->notifyOpChecked(Landroid/util/ArraySet;IILjava/lang/String;I)V
-HSPLcom/android/server/appop/AppOpsService;->notifyWatchersOfChange(II)V
-HSPLcom/android/server/appop/AppOpsService;->packageRemoved(ILjava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->isOpRestrictedDueToSuspend(ILjava/lang/String;I)Z
+HPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;Z)Z
+HPLcom/android/server/appop/AppOpsService;->isOperationActive(IILjava/lang/String;)Z
+PLcom/android/server/appop/AppOpsService;->lambda$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs(Lcom/android/server/appop/AppOpsService;Lcom/android/server/appop/AppOpsService$ModeCallback;IILjava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->lambda$GUeKjlbzT65s86vaxy5gvOajuhw(Lcom/android/server/appop/AppOpsService;II)V
+HPLcom/android/server/appop/AppOpsService;->noteAsyncOp(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->noteOperationImpl(IILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/appop/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/appop/AppOpsService;->noteProxyOperation(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->notifyOpChanged(Landroid/util/ArraySet;IILjava/lang/String;)V
+HPLcom/android/server/appop/AppOpsService;->notifyOpChanged(Lcom/android/server/appop/AppOpsService$ModeCallback;IILjava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->notifyOpChangedSync(IILjava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->notifyOpChecked(Landroid/util/ArraySet;IILjava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->notifyWatchersOfChange(II)V
+PLcom/android/server/appop/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I
HSPLcom/android/server/appop/AppOpsService;->publish(Landroid/content/Context;)V
+HSPLcom/android/server/appop/AppOpsService;->readFeatureOp(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/appop/AppOpsService$Op;Ljava/lang/String;)V
HSPLcom/android/server/appop/AppOpsService;->readOp(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;Z)V
HSPLcom/android/server/appop/AppOpsService;->readPackage(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/appop/AppOpsService;->readState()V
HSPLcom/android/server/appop/AppOpsService;->readUid(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
HSPLcom/android/server/appop/AppOpsService;->readUidOps(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/appop/AppOpsService;->resolvePackageName(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/appop/AppOpsService;->resolveUid(Ljava/lang/String;)I
-HSPLcom/android/server/appop/AppOpsService;->scheduleOpActiveChangedIfNeededLocked(IILjava/lang/String;Z)V
-HSPLcom/android/server/appop/AppOpsService;->scheduleOpNotedIfNeededLocked(IILjava/lang/String;I)V
-HSPLcom/android/server/appop/AppOpsService;->scheduleWriteLocked()V
-HSPLcom/android/server/appop/AppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;I)V
-HSPLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;IZZ)V
-HSPLcom/android/server/appop/AppOpsService;->setUidMode(III)V
-PLcom/android/server/appop/AppOpsService;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->setUserRestrictionNoCheck(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-HSPLcom/android/server/appop/AppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
-HSPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
-HSPLcom/android/server/appop/AppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->stopWatchingActive(Lcom/android/internal/app/IAppOpsActiveCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->stopWatchingNoted(Lcom/android/internal/app/IAppOpsNotedCallback;)V
-HSPLcom/android/server/appop/AppOpsService;->systemReady()V
-HSPLcom/android/server/appop/AppOpsService;->uidRemoved(I)V
-HSPLcom/android/server/appop/AppOpsService;->updateUidProcState(II)V
+HPLcom/android/server/appop/AppOpsService;->resolvePackageName(ILjava/lang/String;)Ljava/lang/String;
+PLcom/android/server/appop/AppOpsService;->resolveUid(Ljava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->scheduleFastWriteLocked()V
+HPLcom/android/server/appop/AppOpsService;->scheduleOpActiveChangedIfNeededLocked(IILjava/lang/String;Z)V
+HPLcom/android/server/appop/AppOpsService;->scheduleOpNotedIfNeededLocked(IILjava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->scheduleWriteLocked()V
+PLcom/android/server/appop/AppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->setCameraAudioRestriction(I)V
+PLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;I)V
+HPLcom/android/server/appop/AppOpsService;->setUidMode(III)V
+PLcom/android/server/appop/AppOpsService;->setUserRestrictionNoCheck(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
+HPLcom/android/server/appop/AppOpsService;->shouldCollectNotes(I)Z
+HPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Ljava/lang/String;Z)I
+PLcom/android/server/appop/AppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
+PLcom/android/server/appop/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
+PLcom/android/server/appop/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+PLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
+PLcom/android/server/appop/AppOpsService;->stopWatchingActive(Lcom/android/internal/app/IAppOpsActiveCallback;)V
+PLcom/android/server/appop/AppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
+PLcom/android/server/appop/AppOpsService;->systemReady()V
+HPLcom/android/server/appop/AppOpsService;->updatePermissionRevokedCompat(III)V
+HPLcom/android/server/appop/AppOpsService;->updateUidProcState(III)V
HSPLcom/android/server/appop/AppOpsService;->upgradeLocked(I)V
-HSPLcom/android/server/appop/AppOpsService;->verifyIncomingUid(I)V
-PLcom/android/server/appop/AppOpsService;->writeState()V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;-><init>(JJ)V
-PLcom/android/server/appop/HistoricalRegistry$Persistence;->access$100(Lcom/android/server/appop/HistoricalRegistry$Persistence;Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;[Ljava/lang/String;JJI)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsBaseDLocked(ILjava/lang/String;[Ljava/lang/String;JJI)Ljava/util/LinkedList;
-PLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;[Ljava/lang/String;JJI)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsRecursiveDLocked(Ljava/io/File;ILjava/lang/String;[Ljava/lang/String;JJI[JLjava/util/LinkedList;ILjava/util/Set;)Ljava/util/LinkedList;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->generateFile(Ljava/io/File;I)Ljava/io/File;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->getHistoricalFileNames(Ljava/io/File;)Ljava/util/Set;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->getLastPersistTimeMillisDLocked()J
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->handlePersistHistoricalOpsRecursiveDLocked(Ljava/io/File;Ljava/io/File;Ljava/util/List;Ljava/util/Set;I)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->normalizeSnapshotForSlotDuration(Ljava/util/List;J)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->persistHistoricalOpsDLocked(Ljava/util/List;)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;ILjava/lang/String;[Ljava/lang/String;JJI[J)Ljava/util/List;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;JJILjava/lang/String;[Ljava/lang/String;JJI[JILjava/util/Set;)Ljava/util/List;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readStateDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;ILorg/xmlpull/v1/XmlPullParser;ID)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->readeHistoricalOpsDLocked(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;JJI[J)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOp;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpsDLocked(Ljava/util/List;JLjava/io/File;)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalPackageOps;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalUidOps;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeStateOnLocked(Landroid/app/AppOpsManager$HistoricalOp;JLorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/appop/AppOpsService;->verifyAndGetIsPrivileged(ILjava/lang/String;)Z
+HPLcom/android/server/appop/AppOpsService;->verifyIncomingOp(I)V
+HPLcom/android/server/appop/AppOpsService;->verifyIncomingUid(I)V
+HPLcom/android/server/appop/AppOpsService;->writeState()V
+PLcom/android/server/appop/AudioRestrictionManager$Restriction;-><clinit>()V
+PLcom/android/server/appop/AudioRestrictionManager$Restriction;-><init>()V
+PLcom/android/server/appop/AudioRestrictionManager$Restriction;-><init>(Lcom/android/server/appop/AudioRestrictionManager$1;)V
+HSPLcom/android/server/appop/AudioRestrictionManager;-><clinit>()V
+HSPLcom/android/server/appop/AudioRestrictionManager;-><init>()V
+PLcom/android/server/appop/AudioRestrictionManager;->checkAudioOperation(IIILjava/lang/String;)I
+PLcom/android/server/appop/AudioRestrictionManager;->checkZenModeRestrictionLocked(IIILjava/lang/String;)I
+PLcom/android/server/appop/AudioRestrictionManager;->setCameraAudioRestriction(I)V
+HPLcom/android/server/appop/AudioRestrictionManager;->setZenModeAudioRestriction(IIII[Ljava/lang/String;)V
+PLcom/android/server/appop/HistoricalRegistry$1;-><init>(Lcom/android/server/appop/HistoricalRegistry;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;-><clinit>()V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;-><init>(JJ)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->clearHistoryDLocked()V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsBaseDLocked(ILjava/lang/String;[Ljava/lang/String;JJI)Ljava/util/LinkedList;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsRecursiveDLocked(Ljava/io/File;ILjava/lang/String;[Ljava/lang/String;JJI[JLjava/util/LinkedList;ILjava/util/Set;)Ljava/util/LinkedList;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->generateFile(Ljava/io/File;I)Ljava/io/File;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->getHistoricalFileNames(Ljava/io/File;)Ljava/util/Set;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->getLastPersistTimeMillisDLocked()J
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->handlePersistHistoricalOpsRecursiveDLocked(Ljava/io/File;Ljava/io/File;Ljava/util/List;Ljava/util/Set;I)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->normalizeSnapshotForSlotDuration(Ljava/util/List;J)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->persistHistoricalOpsDLocked(Ljava/util/List;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;ILjava/lang/String;[Ljava/lang/String;JJI[J)Ljava/util/List;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;JJILjava/lang/String;[Ljava/lang/String;JJI[JILjava/util/Set;)Ljava/util/List;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;ID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readStateDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;ILorg/xmlpull/v1/XmlPullParser;ID)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->readeHistoricalOpsDLocked(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;JJI[J)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOp;Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpsDLocked(Ljava/util/List;JLjava/io/File;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalPackageOps;Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalUidOps;Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/appop/HistoricalRegistry$Persistence;->writeStateOnLocked(Landroid/app/AppOpsManager$HistoricalOp;JLorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/appop/HistoricalRegistry;-><clinit>()V
HSPLcom/android/server/appop/HistoricalRegistry;-><init>(Ljava/lang/Object;)V
-HSPLcom/android/server/appop/HistoricalRegistry;->clearHistory()V
-HSPLcom/android/server/appop/HistoricalRegistry;->clearHistoryOnDiskLocked()V
-PLcom/android/server/appop/HistoricalRegistry;->getHistoricalOps(ILjava/lang/String;[Ljava/lang/String;JJILandroid/os/RemoteCallback;)V
-HSPLcom/android/server/appop/HistoricalRegistry;->getUpdatedPendingHistoricalOpsMLocked(J)Landroid/app/AppOpsManager$HistoricalOps;
-HSPLcom/android/server/appop/HistoricalRegistry;->increaseOpAccessDuration(IILjava/lang/String;IIJ)V
-HSPLcom/android/server/appop/HistoricalRegistry;->incrementOpAccessedCount(IILjava/lang/String;II)V
-HSPLcom/android/server/appop/HistoricalRegistry;->incrementOpRejected(IILjava/lang/String;II)V
-HSPLcom/android/server/appop/HistoricalRegistry;->offsetHistory(J)V
-HSPLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory()V
-HSPLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory(Ljava/util/List;)V
-HSPLcom/android/server/appop/HistoricalRegistry;->updateParametersFromSetting(Landroid/content/ContentResolver;)V
-PLcom/android/server/appop/HistoricalRegistry;->wtf(Ljava/lang/String;Ljava/lang/Throwable;Ljava/io/File;)V
+PLcom/android/server/appop/HistoricalRegistry;->clearHistory()V
+PLcom/android/server/appop/HistoricalRegistry;->clearHistoryOnDiskDLocked()V
+HPLcom/android/server/appop/HistoricalRegistry;->getUpdatedPendingHistoricalOpsMLocked(J)Landroid/app/AppOpsManager$HistoricalOps;
+HPLcom/android/server/appop/HistoricalRegistry;->increaseOpAccessDuration(IILjava/lang/String;IIJ)V
+HPLcom/android/server/appop/HistoricalRegistry;->incrementOpAccessedCount(IILjava/lang/String;II)V
+HPLcom/android/server/appop/HistoricalRegistry;->incrementOpRejected(IILjava/lang/String;II)V
+PLcom/android/server/appop/HistoricalRegistry;->isPersistenceInitializedMLocked()Z
+PLcom/android/server/appop/HistoricalRegistry;->offsetHistory(J)V
+PLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory()V
+PLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory(Ljava/util/List;)V
+PLcom/android/server/appop/HistoricalRegistry;->systemReady(Landroid/content/ContentResolver;)V
+PLcom/android/server/appop/HistoricalRegistry;->updateParametersFromSetting(Landroid/content/ContentResolver;)V
+PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$40EK4qcr-rG55ENTthOaXAXWDA4;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;)V
PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$40EK4qcr-rG55ENTthOaXAXWDA4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$4yDhFef-19aMlJ-Y7O6RdjSAvnk;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$4yDhFef-19aMlJ-Y7O6RdjSAvnk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$NmwmTMZXXS4S7viVNKzU2genXA8;-><init>(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$NmwmTMZXXS4S7viVNKzU2genXA8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$vSY20eQq5y5FXrxhhqOTcEmezTs;-><init>(Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$vSY20eQq5y5FXrxhhqOTcEmezTs;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$ot809pjFOVEJ6shAJalMZ9_QhCo;-><init>(Lcom/android/server/appprediction/AppPredictionPerUserService;)V
+PLcom/android/server/appprediction/-$$Lambda$AppPredictionPerUserService$ot809pjFOVEJ6shAJalMZ9_QhCo;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$9DCowUTEF8fYuBlWGxOmP5hTAWA;-><init>(Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$9DCowUTEF8fYuBlWGxOmP5hTAWA;->run(Landroid/os/IInterface;)V
+PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$Ikwq62LQ8mos7hCBmykUhqvUq2Y;-><init>(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$Ikwq62LQ8mos7hCBmykUhqvUq2Y;->run(Landroid/os/IInterface;)V
+PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$UaZoW5Y9AD8L3ktnyw-25jtnxhA;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;)V
PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$UaZoW5Y9AD8L3ktnyw-25jtnxhA;->run(Landroid/os/IInterface;)V
+PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$qroIh2ewx0BLP-J9XIAX2CaX8J4;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
PLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$qroIh2ewx0BLP-J9XIAX2CaX8J4;->run(Landroid/os/IInterface;)V
+PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;-><init>(Lcom/android/server/appprediction/AppPredictionManagerService;)V
+PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;-><init>(Lcom/android/server/appprediction/AppPredictionManagerService;Lcom/android/server/appprediction/AppPredictionManagerService$1;)V
PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->createPredictionSession(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->notifyAppTargetEvent(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->registerPredictionUpdates(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;)V
PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->requestPredictionUpdate(Landroid/app/prediction/AppPredictionSessionId;)V
-PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->runForUserLocked(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/appprediction/AppPredictionManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/appprediction/AppPredictionManagerService;->newServiceLocked(IZ)Lcom/android/server/appprediction/AppPredictionPerUserService;
-HSPLcom/android/server/appprediction/AppPredictionManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
-HSPLcom/android/server/appprediction/AppPredictionManagerService;->onStart()V
+PLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->runForUserLocked(Ljava/lang/String;Ljava/util/function/Consumer;)V
+PLcom/android/server/appprediction/AppPredictionManagerService;-><clinit>()V
+PLcom/android/server/appprediction/AppPredictionManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/appprediction/AppPredictionManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/appprediction/AppPredictionManagerService;->onStart()V
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo$1;-><init>(Lcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo$1;->onCallbackDied(Landroid/app/prediction/IPredictionCallback;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo$1;->onCallbackDied(Landroid/os/IInterface;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppPredictionContext;Ljava/util/function/Consumer;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo;->access$000(Lcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo;->addCallbackLocked(Landroid/app/prediction/IPredictionCallback;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService$AppPredictionSessionInfo;->destroy()V
+PLcom/android/server/appprediction/AppPredictionPerUserService;-><clinit>()V
+PLcom/android/server/appprediction/AppPredictionPerUserService;-><init>(Lcom/android/server/appprediction/AppPredictionManagerService;Ljava/lang/Object;I)V
PLcom/android/server/appprediction/AppPredictionPerUserService;->getRemoteServiceLocked()Lcom/android/server/appprediction/RemoteAppPredictionService;
-HSPLcom/android/server/appprediction/AppPredictionPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appprediction/AppPredictionPerUserService;->lambda$ot809pjFOVEJ6shAJalMZ9_QhCo(Lcom/android/server/appprediction/AppPredictionPerUserService;Landroid/app/prediction/AppPredictionSessionId;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
PLcom/android/server/appprediction/AppPredictionPerUserService;->notifyAppTargetEventLocked(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService;->onConnectedStateChanged(Z)V
PLcom/android/server/appprediction/AppPredictionPerUserService;->onCreatePredictionSessionLocked(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;)V
-PLcom/android/server/appprediction/AppPredictionPerUserService;->onServiceDied(Lcom/android/server/appprediction/RemoteAppPredictionService;)V
-PLcom/android/server/appprediction/AppPredictionPerUserService;->onServiceDied(Ljava/lang/Object;)V
PLcom/android/server/appprediction/AppPredictionPerUserService;->registerPredictionUpdatesLocked(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService;->removeAppPredictionSessionInfo(Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/AppPredictionPerUserService;->requestPredictionUpdateLocked(Landroid/app/prediction/AppPredictionSessionId;)V
-HSPLcom/android/server/appprediction/AppPredictionPerUserService;->updateLocked(Z)Z
+PLcom/android/server/appprediction/AppPredictionPerUserService;->updateLocked(Z)Z
+PLcom/android/server/appprediction/RemoteAppPredictionService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/server/appprediction/RemoteAppPredictionService$RemoteAppPredictionServiceCallbacks;ZZ)V
PLcom/android/server/appprediction/RemoteAppPredictionService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
PLcom/android/server/appprediction/RemoteAppPredictionService;->getServiceInterface(Landroid/os/IBinder;)Landroid/service/appprediction/IPredictionService;
PLcom/android/server/appprediction/RemoteAppPredictionService;->getTimeoutIdleBindMillis()J
+PLcom/android/server/appprediction/RemoteAppPredictionService;->handleOnConnectedStateChanged(Z)V
+PLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$notifyAppTargetEvent$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
+PLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$onCreatePredictionSession$0(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;Landroid/service/appprediction/IPredictionService;)V
+PLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$registerPredictionUpdates$4(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;Landroid/service/appprediction/IPredictionService;)V
+PLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$requestPredictionUpdate$6(Landroid/app/prediction/AppPredictionSessionId;Landroid/service/appprediction/IPredictionService;)V
PLcom/android/server/appprediction/RemoteAppPredictionService;->notifyAppTargetEvent(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
PLcom/android/server/appprediction/RemoteAppPredictionService;->onCreatePredictionSession(Landroid/app/prediction/AppPredictionContext;Landroid/app/prediction/AppPredictionSessionId;)V
PLcom/android/server/appprediction/RemoteAppPredictionService;->registerPredictionUpdates(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/IPredictionCallback;)V
PLcom/android/server/appprediction/RemoteAppPredictionService;->requestPredictionUpdate(Landroid/app/prediction/AppPredictionSessionId;)V
-PLcom/android/server/appwidget/-$$Lambda$AppWidgetServiceImpl$7z3EwuT55saMxTVomcNfb1VOVL0;->run()V
-PLcom/android/server/appwidget/-$$Lambda$AppWidgetServiceImpl$TEG8Dmf_tnBoLQ8rTg9_1sFaVu8;->run()V
-HSPLcom/android/server/appwidget/AppWidgetService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/appwidget/AppWidgetService;->onBootPhase(I)V
-HSPLcom/android/server/appwidget/AppWidgetService;->onStart()V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;->getHostedWidgetPackages(I)Landroid/util/ArraySet;
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;->unlockUser(I)V
+PLcom/android/server/appwidget/AppWidgetService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/appwidget/AppWidgetService;->onBootPhase(I)V
+PLcom/android/server/appwidget/AppWidgetService;->onStart()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$1;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;->unlockUser(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;->getWidgetState(Ljava/lang/String;I)[B
PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;->packageNeedsWidgetBackupLocked(Ljava/lang/String;I)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;->restoreFinished(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$CallbackHandler;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Landroid/os/Looper;)V
PLcom/android/server/appwidget/AppWidgetServiceImpl$CallbackHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;->getPendingUpdatesForId(ILandroid/util/LongSparseArray;)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;->hostsPackageForUser(Ljava/lang/String;I)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;-><init>()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;->getUserId()I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;-><init>(IILjava/lang/String;)V
PLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;->equals(Ljava/lang/Object;)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;->toString()Ljava/lang/String;
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->hostedByPackageForUser(Ljava/lang/String;I)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;-><init>()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+HPLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->getUserId()I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->isMaskedLocked()Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->setMaskedByLockedProfileLocked(Z)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->setMaskedByQuietProfileLocked(Z)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->setMaskedBySuspendedPackageLocked(Z)Z
+HPLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->shouldBePersisted()Z
PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;-><init>(ILandroid/content/ComponentName;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;-><init>(ILandroid/content/ComponentName;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+HPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->equals(Ljava/lang/Object;)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->hashCode()I
-PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->toString()Ljava/lang/String;
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SaveStateRunnable;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl$SaveStateRunnable;->run()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->canAccessAppWidget(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;ILjava/lang/String;)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->enforceServiceExistsAndRequiresBindRemoteViewsPermission(Landroid/content/ComponentName;I)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getEnabledGroupProfileIds(I)[I
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getProfileParent(I)I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getEnabledGroupProfileIds(I)[I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getProfileParent(I)I
PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isCallerInstantAppLocked()Z
PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isInstantAppLocked(Ljava/lang/String;I)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isProfileEnabled(I)Z
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->addProviderLocked(Landroid/content/pm/ResolveInfo;)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->addWidgetLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;-><clinit>()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$000()Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$100(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->addProviderLocked(Landroid/content/pm/ResolveInfo;)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl;->bindLoadedWidgetsLocked(Ljava/util/List;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->bindRemoteViewsService(Ljava/lang/String;ILandroid/content/Intent;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/IServiceConnection;I)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl;->cancelBroadcastsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->clearProvidersAndHostsTagsLocked()V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->computeMaximumWidgetBitmapMemory()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->createMaskedWidgetBitmap(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->createMaskedWidgetRemoteViews(Landroid/graphics/Bitmap;ZLandroid/app/PendingIntent;)Landroid/widget/RemoteViews;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->clearProvidersAndHostsTagsLocked()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->computeMaximumWidgetBitmapMemory()V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->deleteWidgetsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->dumpHost(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;ILjava/io/PrintWriter;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->dumpInternal(Ljava/io/PrintWriter;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->dumpProvider(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;ILjava/io/PrintWriter;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->ensureGroupStateLoadedLocked(IZ)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetIds(Landroid/content/ComponentName;)[I
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetInfo(Ljava/lang/String;I)Landroid/appwidget/AppWidgetProviderInfo;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetViews(Ljava/lang/String;I)Landroid/widget/RemoteViews;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getCanonicalPackageName(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->ensureGroupStateLoadedLocked(IZ)V
+HPLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetIds(Landroid/content/ComponentName;)[I
PLcom/android/server/appwidget/AppWidgetServiceImpl;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/appwidget/AppWidgetServiceImpl;->getSavedStateFile(I)Landroid/util/AtomicFile;
PLcom/android/server/appwidget/AppWidgetServiceImpl;->getUidForPackage(Ljava/lang/String;I)I
PLcom/android/server/appwidget/AppWidgetServiceImpl;->getWidgetState(Ljava/lang/String;I)[B
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleNotifyAppWidgetViewDataChanged(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/internal/appwidget/IAppWidgetHost;IIJ)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleNotifyProvidersChanged(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/internal/appwidget/IAppWidgetHost;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleNotifyUpdateAppWidget(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/internal/appwidget/IAppWidgetHost;ILandroid/widget/RemoteViews;J)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->handleUserUnlocked(I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->incrementAppWidgetServiceRefCount(ILandroid/util/Pair;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithUnlockedParent(I)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->lambda$cancelBroadcastsLocked$0$AppWidgetServiceImpl(Landroid/app/PendingIntent;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->lambda$registerForBroadcastsLocked$1$AppWidgetServiceImpl(JLandroid/app/PendingIntent;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleUserUnlocked(I)V
+HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isBoundWidgetPackage(Ljava/lang/String;I)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithUnlockedParent(I)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl;->loadGroupStateLocked([I)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->loadGroupWidgetProvidersLocked([I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupWidgetLocked(IILjava/lang/String;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->loadGroupWidgetProvidersLocked([I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->maskWidgetsViewsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->notifyAppWidgetViewDataChanged(Ljava/lang/String;[II)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->onConfigurationChanged()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->onCrossProfileWidgetProvidersChanged(ILjava/util/List;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->onPackageBroadcastReceived(Landroid/content/Intent;I)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->onStart()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->onWidgetProviderAddedOrChangedLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->parseAppWidgetProviderInfo(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/appwidget/AppWidgetProviderInfo;
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->parseProviderInfoXml(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ResolveInfo;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->peekNextAppWidgetIdLocked(I)I
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->onConfigurationChanged()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->onPackageBroadcastReceived(Landroid/content/Intent;I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->onStart()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->parseAppWidgetProviderInfo(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/appwidget/AppWidgetProviderInfo;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->parseProviderInfoXml(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ResolveInfo;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;
PLcom/android/server/appwidget/AppWidgetServiceImpl;->performUpgradeLocked(I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->pruneHostLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->queryIntentReceivers(Landroid/content/Intent;I)Ljava/util/List;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->queryIntentReceivers(Landroid/content/Intent;I)Ljava/util/List;
PLcom/android/server/appwidget/AppWidgetServiceImpl;->readProfileStateFromFileLocked(Ljava/io/FileInputStream;ILjava/util/List;)I
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->registerBroadcastReceiver()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->registerForBroadcastsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;[I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->registerBroadcastReceiver()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->registerOnCrossProfileProvidersChangedListener()V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->reloadWidgetsMaskedState(I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->reloadWidgetsMaskedStateForGroup(I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->removeHostsAndProvidersForPackageLocked(Ljava/lang/String;I)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->removeProvidersForPackageLocked(Ljava/lang/String;I)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl;->resolveHostUidLocked(Ljava/lang/String;I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->restoreFinished(I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->saveStateLocked(I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyAppWidgetViewDataChanged(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyGroupHostsForProvidersChangedLocked(I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyProviderChangedLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyUpdateAppWidgetLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;Landroid/widget/RemoteViews;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeAppWidget(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeHost(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeProvider(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)V
-HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->setSafeMode(Z)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->setSafeMode(Z)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/appwidget/AppWidgetServiceImpl;->stopListening(Ljava/lang/String;I)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->tagProvidersAndHosts()V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->unmaskWidgetsViewsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;Z)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetInstanceLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;Landroid/widget/RemoteViews;Z)V
PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateProvidersForPackageLocked(Ljava/lang/String;ILjava/util/Set;)Z
+HPLcom/android/server/appwidget/AppWidgetServiceImpl;->updateProvidersForPackageLocked(Ljava/lang/String;ILjava/util/Set;)Z
PLcom/android/server/appwidget/AppWidgetServiceImpl;->writeProfileStateToFileLocked(Ljava/io/FileOutputStream;I)Z
-PLcom/android/server/audio/-$$Lambda$AudioDeviceInventory$MfLl81BWvF9OIWh52LJfesOjVdw;->test(Ljava/lang/Object;)Z
-PLcom/android/server/audio/-$$Lambda$AudioService$YLQrBBB6SFLzNISvF6dG1Zz8wEY;-><init>()V
-PLcom/android/server/audio/-$$Lambda$AudioService$YLQrBBB6SFLzNISvF6dG1Zz8wEY;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/audio/AudioDeviceBroker$BrokerThread;->run()V
-HSPLcom/android/server/audio/AudioDeviceBroker;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioService;)V
-HSPLcom/android/server/audio/AudioDeviceBroker;->access$200(Lcom/android/server/audio/AudioDeviceBroker;)Ljava/lang/Object;
-PLcom/android/server/audio/AudioDeviceBroker;->access$300(Lcom/android/server/audio/AudioDeviceBroker;)Lcom/android/server/audio/AudioDeviceInventory;
-HSPLcom/android/server/audio/AudioDeviceBroker;->access$400(Lcom/android/server/audio/AudioDeviceBroker;)Lcom/android/server/audio/BtHelper;
-HSPLcom/android/server/audio/AudioDeviceBroker;->access$700(I)Z
-HSPLcom/android/server/audio/AudioDeviceBroker;->access$800(Lcom/android/server/audio/AudioDeviceBroker;)Landroid/os/PowerManager$WakeLock;
-PLcom/android/server/audio/AudioDeviceBroker;->disconnectAllBluetoothProfiles()V
-PLcom/android/server/audio/AudioDeviceBroker;->getA2dpCodec(Landroid/bluetooth/BluetoothDevice;)I
-PLcom/android/server/audio/AudioDeviceBroker;->getCurAudioRoutes()Landroid/media/AudioRoutesInfo;
-PLcom/android/server/audio/AudioDeviceBroker;->handleDeviceConnection(ZILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/audio/AudioDeviceBroker;->isAvrcpAbsoluteVolumeSupported()Z
-PLcom/android/server/audio/AudioDeviceBroker;->isBluetoothA2dpOn()Z
-HSPLcom/android/server/audio/AudioDeviceBroker;->isBluetoothScoOnForApp()Z
-HSPLcom/android/server/audio/AudioDeviceBroker;->isMessageHandledUnderWakelock(I)Z
-PLcom/android/server/audio/AudioDeviceBroker;->isSpeakerphoneOn()Z
-HSPLcom/android/server/audio/AudioDeviceBroker;->onSystemReady()V
-PLcom/android/server/audio/AudioDeviceBroker;->postSetAvrcpAbsoluteVolumeIndex(I)V
-PLcom/android/server/audio/AudioDeviceBroker;->receiveBtEvent(Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioDeviceBroker;->sendBroadcastToAll(Landroid/content/Intent;)V
-HSPLcom/android/server/audio/AudioDeviceBroker;->sendIILMsg(IIIILjava/lang/Object;I)V
-PLcom/android/server/audio/AudioDeviceBroker;->setAvrcpAbsoluteVolumeSupported(Z)V
-HSPLcom/android/server/audio/AudioDeviceBroker;->setBluetoothA2dpOnInt(ZLjava/lang/String;)V
-PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothA2dpOn_Async(ZLjava/lang/String;)V
-HSPLcom/android/server/audio/AudioDeviceBroker;->setBluetoothScoOn(ZLjava/lang/String;)V
-PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothScoOnByApp(Z)V
-PLcom/android/server/audio/AudioDeviceBroker;->setSpeakerphoneOn(ZLjava/lang/String;)Z
-HSPLcom/android/server/audio/AudioDeviceBroker;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/audio/AudioDeviceBroker;->setupMessaging(Landroid/content/Context;)V
-HSPLcom/android/server/audio/AudioDeviceBroker;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-HSPLcom/android/server/audio/AudioDeviceBroker;->waitForBrokerHandlerCreation()V
-HSPLcom/android/server/audio/AudioDeviceInventory;->checkSendBecomingNoisyIntentInt(III)I
-PLcom/android/server/audio/AudioDeviceInventory;->disconnectA2dp()V
-PLcom/android/server/audio/AudioDeviceInventory;->disconnectA2dpSink()V
-PLcom/android/server/audio/AudioDeviceInventory;->disconnectHearingAid()V
-HSPLcom/android/server/audio/AudioDeviceInventory;->handleDeviceConnection(ZILjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/audio/AudioDeviceInventory;->makeA2dpDeviceAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioDeviceInventory;->makeA2dpDeviceUnavailableNow(Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioDeviceInventory;->onBluetoothA2dpActiveDeviceChange(Lcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;I)V
-HSPLcom/android/server/audio/AudioDeviceInventory;->onReportNewRoutes()V
-PLcom/android/server/audio/AudioDeviceInventory;->onSetA2dpSinkConnectionState(Lcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;I)V
-HSPLcom/android/server/audio/AudioDeviceInventory;->onSetWiredDeviceConnectionState(Lcom/android/server/audio/AudioDeviceInventory$WiredDeviceConnectionState;)V
-HSPLcom/android/server/audio/AudioDeviceInventory;->sendDeviceConnectionIntent(IILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/audio/AudioDeviceInventory;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;IIZII)V
-PLcom/android/server/audio/AudioDeviceInventory;->setCurrentAudioRouteNameIfPossible(Ljava/lang/String;)V
-HSPLcom/android/server/audio/AudioDeviceInventory;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/audio/AudioDeviceInventory;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-HSPLcom/android/server/audio/AudioDeviceInventory;->updateAudioRoutes(II)V
-HSPLcom/android/server/audio/AudioEventLogger$Event;->printLog(Ljava/lang/String;)Lcom/android/server/audio/AudioEventLogger$Event;
-PLcom/android/server/audio/AudioEventLogger$Event;->toString()Ljava/lang/String;
-HSPLcom/android/server/audio/AudioEventLogger$StringEvent;-><init>(Ljava/lang/String;)V
-HSPLcom/android/server/audio/AudioEventLogger$StringEvent;->eventToString()Ljava/lang/String;
-HSPLcom/android/server/audio/AudioEventLogger;-><init>(ILjava/lang/String;)V
-PLcom/android/server/audio/AudioEventLogger;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/audio/AudioEventLogger;->log(Lcom/android/server/audio/AudioEventLogger$Event;)V
-HSPLcom/android/server/audio/AudioService$1;->onError(I)V
-HSPLcom/android/server/audio/AudioService$3;->binderDied()V
-HSPLcom/android/server/audio/AudioService$AudioHandler;->getSoundEffectFilePath(I)Ljava/lang/String;
-HSPLcom/android/server/audio/AudioService$AudioHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/audio/AudioService$AudioHandler;->onLoadSoundEffects()Z
-PLcom/android/server/audio/AudioService$AudioHandler;->onPlaySoundEffect(II)V
-HSPLcom/android/server/audio/AudioService$AudioHandler;->persistVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
-HSPLcom/android/server/audio/AudioService$AudioHandler;->setAllVolumes(Lcom/android/server/audio/AudioService$VolumeStreamState;)V
-PLcom/android/server/audio/AudioService$AudioPolicyProxy;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZZ)V
-PLcom/android/server/audio/AudioService$AudioPolicyProxy;->connectMixes()V
-PLcom/android/server/audio/AudioService$AudioPolicyProxy;->release()V
-HSPLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService$AudioServiceInternal;->adjustStreamVolumeForUid(IIILjava/lang/String;I)V
+PLcom/android/server/attention/AttentionManagerService;->getServiceConfigPackage(Landroid/content/Context;)Ljava/lang/String;
+PLcom/android/server/attention/AttentionManagerService;->isServiceConfigured(Landroid/content/Context;)Z
+PLcom/android/server/audio/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;-><clinit>()V
+PLcom/android/server/audio/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;-><init>()V
+PLcom/android/server/audio/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;-><init>(Lcom/android/server/audio/AudioDeviceBroker;Lcom/android/server/audio/AudioDeviceBroker$1;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerThread;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/AudioDeviceBroker$BrokerThread;->run()V
+PLcom/android/server/audio/AudioDeviceBroker;-><clinit>()V
+PLcom/android/server/audio/AudioDeviceBroker;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioDeviceBroker;->access$002(Lcom/android/server/audio/AudioDeviceBroker;Lcom/android/server/audio/AudioDeviceBroker$BrokerHandler;)Lcom/android/server/audio/AudioDeviceBroker$BrokerHandler;
+PLcom/android/server/audio/AudioDeviceBroker;->access$200(Lcom/android/server/audio/AudioDeviceBroker;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioDeviceBroker;->access$400(Lcom/android/server/audio/AudioDeviceBroker;)Lcom/android/server/audio/BtHelper;
+PLcom/android/server/audio/AudioDeviceBroker;->access$500(Lcom/android/server/audio/AudioDeviceBroker;IILjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->access$800(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;->getContext()Landroid/content/Context;
+PLcom/android/server/audio/AudioDeviceBroker;->handleCancelFailureToConnectToBtHeadsetService()V
+PLcom/android/server/audio/AudioDeviceBroker;->handleFailureToConnectToBtHeadsetService(I)V
+PLcom/android/server/audio/AudioDeviceBroker;->init()V
+PLcom/android/server/audio/AudioDeviceBroker;->isAvrcpAbsoluteVolumeSupported()Z
+PLcom/android/server/audio/AudioDeviceBroker;->isBluetoothScoOnForApp()Z
+PLcom/android/server/audio/AudioDeviceBroker;->isMessageHandledUnderWakelock(I)Z
+PLcom/android/server/audio/AudioDeviceBroker;->onSetForceUse(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->onSystemReady()V
+PLcom/android/server/audio/AudioDeviceBroker;->postBroadcastScoConnectionState(I)V
+PLcom/android/server/audio/AudioDeviceBroker;->postBtA2dpProfileConnected(Landroid/bluetooth/BluetoothA2dp;)V
+PLcom/android/server/audio/AudioDeviceBroker;->postBtHearingAidProfileConnected(Landroid/bluetooth/BluetoothHearingAid;)V
+PLcom/android/server/audio/AudioDeviceBroker;->postBtHeasetProfileConnected(Landroid/bluetooth/BluetoothHeadset;)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendIILMsg(IIIILjava/lang/Object;I)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendIILMsgNoDelay(IIIILjava/lang/Object;)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendIMsgNoDelay(III)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendLMsgNoDelay(IILjava/lang/Object;)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendMsg(III)V
+PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothScoOn(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setForceUse_Async(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setupMessaging(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioDeviceBroker;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+PLcom/android/server/audio/AudioDeviceBroker;->waitForBrokerHandlerCreation()V
+PLcom/android/server/audio/AudioDeviceInventory;-><clinit>()V
+PLcom/android/server/audio/AudioDeviceInventory;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/AudioDeviceInventory;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+PLcom/android/server/audio/AudioEventLogger$Event;-><clinit>()V
+PLcom/android/server/audio/AudioEventLogger$Event;-><init>()V
+PLcom/android/server/audio/AudioEventLogger$Event;->printLog(Ljava/lang/String;)Lcom/android/server/audio/AudioEventLogger$Event;
+PLcom/android/server/audio/AudioEventLogger$StringEvent;-><init>(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioEventLogger$StringEvent;->eventToString()Ljava/lang/String;
+PLcom/android/server/audio/AudioEventLogger;-><init>(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioEventLogger;->log(Lcom/android/server/audio/AudioEventLogger$Event;)V
+PLcom/android/server/audio/AudioService$1;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$1;->onError(I)V
+PLcom/android/server/audio/AudioService$2;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$3;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$4;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/IVolumeController;)V
+PLcom/android/server/audio/AudioService$5;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AsdProxy;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/IAudioServerStateDispatcher;)V
+PLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
+PLcom/android/server/audio/AudioService$AudioHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/AudioService$AudioHandler;->onPersistSafeVolumeState(I)V
+PLcom/android/server/audio/AudioService$AudioHandler;->persistVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+PLcom/android/server/audio/AudioService$AudioHandler;->setAllVolumes(Lcom/android/server/audio/AudioService$VolumeStreamState;)V
+PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
+PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;-><init>(Lcom/android/server/audio/AudioService;)V
PLcom/android/server/audio/AudioService$AudioServiceInternal;->adjustSuggestedStreamVolumeForUid(IIILjava/lang/String;I)V
-HSPLcom/android/server/audio/AudioService$AudioServiceInternal;->getRingerModeInternal()I
-HSPLcom/android/server/audio/AudioService$AudioServiceInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
-HSPLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
-HSPLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeInternal(ILjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService$AudioServiceInternal;->updateRingerModeAffectedStreamsInternal()V
-HSPLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/audio/AudioService$AudioSystemThread;->run()V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->getRingerModeInternal()I
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeInternal(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->updateRingerModeAffectedStreamsInternal()V
+PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
+PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/audio/AudioService$AudioSystemThread;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioSystemThread;->run()V
PLcom/android/server/audio/AudioService$ForceControlStreamClient;-><init>(Lcom/android/server/audio/AudioService;Landroid/os/IBinder;)V
PLcom/android/server/audio/AudioService$ForceControlStreamClient;->release()V
-HSPLcom/android/server/audio/AudioService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/audio/AudioService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/audio/AudioService$Lifecycle;->onStart()V
-PLcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;-><init>(Lcom/android/server/audio/AudioService;Landroid/os/IBinder;)V
-PLcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;->forget()V
-PLcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;->isHandlerFor(Landroid/os/IBinder;)Z
-PLcom/android/server/audio/AudioService$SetModeDeathHandler;->getBinder()Landroid/os/IBinder;
-PLcom/android/server/audio/AudioService$SetModeDeathHandler;->getMode()I
-PLcom/android/server/audio/AudioService$SetModeDeathHandler;->getPid()I
-PLcom/android/server/audio/AudioService$SetModeDeathHandler;->setMode(I)V
-HSPLcom/android/server/audio/AudioService$SettingsObserver;-><init>(Lcom/android/server/audio/AudioService;)V
-HSPLcom/android/server/audio/AudioService$SettingsObserver;->onChange(Z)V
-HSPLcom/android/server/audio/AudioService$SettingsObserver;->updateEncodedSurroundOutput()V
-HSPLcom/android/server/audio/AudioService$SoundPoolCallback;->onLoadComplete(Landroid/media/SoundPool;II)V
-HSPLcom/android/server/audio/AudioService$SoundPoolListenerThread;->run()V
-HSPLcom/android/server/audio/AudioService$VolumeController;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/server/audio/AudioService$VolumeController;->isSameBinder(Landroid/media/IVolumeController;)Z
-HSPLcom/android/server/audio/AudioService$VolumeController;->loadSettings(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/audio/AudioService$VolumeController;->postDismiss()V
-HSPLcom/android/server/audio/AudioService$VolumeController;->postVolumeChanged(II)V
-HSPLcom/android/server/audio/AudioService$VolumeController;->setController(Landroid/media/IVolumeController;)V
-HSPLcom/android/server/audio/AudioService$VolumeController;->setLayoutDirection(I)V
+PLcom/android/server/audio/AudioService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/audio/AudioService$Lifecycle;->onStart()V
+PLcom/android/server/audio/AudioService$MyHdmiControlStatusChangeListenerCallback;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$MyHdmiControlStatusChangeListenerCallback;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
+PLcom/android/server/audio/AudioService$RoleObserver;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$RoleObserver;->getAssistantRoleHolder()Ljava/lang/String;
+PLcom/android/server/audio/AudioService$RoleObserver;->register()V
+PLcom/android/server/audio/AudioService$SettingsObserver;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$SettingsObserver;->onChange(Z)V
+PLcom/android/server/audio/AudioService$SettingsObserver;->updateEncodedSurroundOutput()V
+PLcom/android/server/audio/AudioService$VolumeController;-><init>()V
+PLcom/android/server/audio/AudioService$VolumeController;->asBinder()Landroid/os/IBinder;
+PLcom/android/server/audio/AudioService$VolumeController;->binder(Landroid/media/IVolumeController;)Landroid/os/IBinder;
+PLcom/android/server/audio/AudioService$VolumeController;->isSameBinder(Landroid/media/IVolumeController;)Z
+PLcom/android/server/audio/AudioService$VolumeController;->loadSettings(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService$VolumeController;->postDismiss()V
+PLcom/android/server/audio/AudioService$VolumeController;->postVolumeChanged(II)V
+PLcom/android/server/audio/AudioService$VolumeController;->setController(Landroid/media/IVolumeController;)V
+PLcom/android/server/audio/AudioService$VolumeController;->setLayoutDirection(I)V
PLcom/android/server/audio/AudioService$VolumeController;->setVisible(Z)V
PLcom/android/server/audio/AudioService$VolumeController;->suppressAdjustment(IIZ)Z
-PLcom/android/server/audio/AudioService$VolumeController;->toString()Ljava/lang/String;
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->access$800(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
-PLcom/android/server/audio/AudioService$VolumeStreamState;->adjustIndex(IILjava/lang/String;)Z
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->applyAllVolumes()V
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->applyDeviceVolume_syncVSS(IZ)V
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->checkFixedVolumeDevices()V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getAbsoluteVolumeIndex(I)I
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getIndex(I)I
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getMaxIndex()I
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getMinIndex()I
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getSettingNameForDevice(I)Ljava/lang/String;
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getStreamType()I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->hasIndexForDevice(I)Z
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->mute(Z)V
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)I
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->readSettings()V
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->refreshRange(I)V
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->setAllIndexes(Lcom/android/server/audio/AudioService$VolumeStreamState;Ljava/lang/String;)V
-HSPLcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;)Z
-HSPLcom/android/server/audio/AudioService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;ILcom/android/server/audio/AudioService$1;)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->access$1000(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->access$1100(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->access$800(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->applyAllVolumes()V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->applyDeviceVolume_syncVSS(IZ)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->checkFixedVolumeDevices()V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getIndex(I)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getMaxIndex()I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getMinIndex()I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getSettingNameForDevice(I)Ljava/lang/String;
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getStreamType()I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getValidIndex(I)I
+HPLcom/android/server/audio/AudioService$VolumeStreamState;->hasValidSettingsName()Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->mute(Z)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->readSettings()V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->setAllIndexes(Lcom/android/server/audio/AudioService$VolumeStreamState;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->setStreamVolumeIndex(II)V
+PLcom/android/server/audio/AudioService;-><clinit>()V
+PLcom/android/server/audio/AudioService;-><init>(Landroid/content/Context;)V
PLcom/android/server/audio/AudioService;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-PLcom/android/server/audio/AudioService;->adjustStreamVolume(IIILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->access$100(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$AudioHandler;
+PLcom/android/server/audio/AudioService;->access$102(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$AudioHandler;)Lcom/android/server/audio/AudioService$AudioHandler;
+PLcom/android/server/audio/AudioService;->access$200(Landroid/os/Handler;IIIILjava/lang/Object;I)V
+PLcom/android/server/audio/AudioService;->access$2000(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioDeviceBroker;
+PLcom/android/server/audio/AudioService;->access$2300(Lcom/android/server/audio/AudioService;I)V
+PLcom/android/server/audio/AudioService;->access$2400(Lcom/android/server/audio/AudioService;Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService;->access$2500(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->access$2600(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$2700(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$2800(Lcom/android/server/audio/AudioService;)Landroid/content/ContentResolver;
+PLcom/android/server/audio/AudioService;->access$3000(Lcom/android/server/audio/AudioService;)[Lcom/android/server/audio/AudioService$VolumeStreamState;
+PLcom/android/server/audio/AudioService;->access$3100(Lcom/android/server/audio/AudioService;III)I
+PLcom/android/server/audio/AudioService;->access$3700(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/SoundEffectsHelper;
+PLcom/android/server/audio/AudioService;->access$3800(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$4200(Lcom/android/server/audio/AudioService;ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->access$4700(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService;->access$5200(Lcom/android/server/audio/AudioService;)I
+PLcom/android/server/audio/AudioService;->access$5202(Lcom/android/server/audio/AudioService;I)I
+PLcom/android/server/audio/AudioService;->access$5302(Lcom/android/server/audio/AudioService;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/audio/AudioService;->access$5400(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$5600(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$5700(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$5800(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$5900(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$5902(Lcom/android/server/audio/AudioService;Z)Z
+PLcom/android/server/audio/AudioService;->access$600(Lcom/android/server/audio/AudioService;)Landroid/content/Context;
+PLcom/android/server/audio/AudioService;->access$6000(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;Z)V
+PLcom/android/server/audio/AudioService;->access$6100(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->access$6400(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$6500(Lcom/android/server/audio/AudioService;Landroid/content/Context;)V
+PLcom/android/server/audio/AudioService;->access$6600(Lcom/android/server/audio/AudioService;)Z
+PLcom/android/server/audio/AudioService;->access$6602(Lcom/android/server/audio/AudioService;Z)Z
+PLcom/android/server/audio/AudioService;->access$6700(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
+PLcom/android/server/audio/AudioService;->access$6800(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->access$700(Lcom/android/server/audio/AudioService;Z)V
+PLcom/android/server/audio/AudioService;->access$7900(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
+PLcom/android/server/audio/AudioService;->access$7902(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
+PLcom/android/server/audio/AudioService;->access$8200(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
+PLcom/android/server/audio/AudioService;->access$8300(Lcom/android/server/audio/AudioService;)[I
+PLcom/android/server/audio/AudioService;->access$8302(Lcom/android/server/audio/AudioService;[I)[I
PLcom/android/server/audio/AudioService;->adjustStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/audio/AudioService;->adjustSuggestedStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioService;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-HSPLcom/android/server/audio/AudioService;->broadcastVibrateSetting(I)V
-HSPLcom/android/server/audio/AudioService;->checkAllAliasStreamVolumes()V
-PLcom/android/server/audio/AudioService;->checkAudioSettingsPermission(Ljava/lang/String;)Z
-HSPLcom/android/server/audio/AudioService;->checkMusicActive(ILjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->checkMuteAffectedStreams()V
+PLcom/android/server/audio/AudioService;->broadcastMasterMuteStatus(Z)V
+PLcom/android/server/audio/AudioService;->broadcastRingerMode(Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->broadcastVibrateSetting(I)V
+PLcom/android/server/audio/AudioService;->checkAllAliasStreamVolumes()V
+PLcom/android/server/audio/AudioService;->checkAllFixedVolumeDevices()V
+PLcom/android/server/audio/AudioService;->checkMonitorAudioServerStatePermission()V
+PLcom/android/server/audio/AudioService;->checkMuteAffectedStreams()V
PLcom/android/server/audio/AudioService;->checkSafeMediaVolume(III)Z
-HSPLcom/android/server/audio/AudioService;->checkVolumeCecOnHdmiConnection(ILjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->createStreamStates()V
-PLcom/android/server/audio/AudioService;->disableRingtoneSync(I)V
-PLcom/android/server/audio/AudioService;->discardRmtSbmxFullVolDeathHandlerFor(Landroid/os/IBinder;)Z
-PLcom/android/server/audio/AudioService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/audio/AudioService;->dumpAudioPolicies(Ljava/io/PrintWriter;)V
-PLcom/android/server/audio/AudioService;->dumpRingerMode(Ljava/io/PrintWriter;)V
-PLcom/android/server/audio/AudioService;->dumpRingerModeStreams(Ljava/io/PrintWriter;Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioService;->dumpStreamStates(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/audio/AudioService;->enforceSafeMediaVolume(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->createAudioSystemThread()V
+PLcom/android/server/audio/AudioService;->createStreamStates()V
+PLcom/android/server/audio/AudioService;->enforceSafeMediaVolume(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->enforceVolumeController(Ljava/lang/String;)V
PLcom/android/server/audio/AudioService;->ensureValidDirection(I)V
-HSPLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V
-HSPLcom/android/server/audio/AudioService;->forceFocusDuckingForAccessibility(Landroid/media/AudioAttributes;II)Z
-PLcom/android/server/audio/AudioService;->forceRemoteSubmixFullVolume(ZLandroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService;->ensureValidRingerMode(I)V
+PLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V
+PLcom/android/server/audio/AudioService;->forceFocusDuckingForAccessibility(Landroid/media/AudioAttributes;II)Z
PLcom/android/server/audio/AudioService;->forceVolumeControlStream(ILandroid/os/IBinder;)V
-HSPLcom/android/server/audio/AudioService;->getActivePlaybackConfigurations()Ljava/util/List;
PLcom/android/server/audio/AudioService;->getActiveStreamType(I)I
-HSPLcom/android/server/audio/AudioService;->getCurrentAudioFocus()I
-HSPLcom/android/server/audio/AudioService;->getCurrentUserId()I
-HSPLcom/android/server/audio/AudioService;->getDeviceForStream(I)I
-HSPLcom/android/server/audio/AudioService;->getDevicesForStream(IZ)I
-HSPLcom/android/server/audio/AudioService;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-HSPLcom/android/server/audio/AudioService;->getLastAudibleStreamVolume(I)I
-HSPLcom/android/server/audio/AudioService;->getMode()I
+PLcom/android/server/audio/AudioService;->getAudioHalPids()Ljava/util/Set;
+PLcom/android/server/audio/AudioService;->getCurrentAudioFocus()I
+PLcom/android/server/audio/AudioService;->getCurrentUserId()I
+PLcom/android/server/audio/AudioService;->getDeviceForStream(I)I
+PLcom/android/server/audio/AudioService;->getDevicesForStream(I)I
+PLcom/android/server/audio/AudioService;->getDevicesForStream(IZ)I
+PLcom/android/server/audio/AudioService;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
+PLcom/android/server/audio/AudioService;->getIndexRange(I)I
+PLcom/android/server/audio/AudioService;->getLastAudibleStreamVolume(I)I
+PLcom/android/server/audio/AudioService;->getMode()I
PLcom/android/server/audio/AudioService;->getNewRingerMode(III)I
-HSPLcom/android/server/audio/AudioService;->getRingerModeExternal()I
-HSPLcom/android/server/audio/AudioService;->getRingerModeInternal()I
-HSPLcom/android/server/audio/AudioService;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
-HSPLcom/android/server/audio/AudioService;->getSafeUsbMediaVolumeIndex()I
-HSPLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I
-HSPLcom/android/server/audio/AudioService;->getStreamMinVolume(I)I
-PLcom/android/server/audio/AudioService;->getStreamState(I)Lcom/android/server/audio/AudioService$VolumeStreamState;
-HSPLcom/android/server/audio/AudioService;->getStreamVolume(I)I
+PLcom/android/server/audio/AudioService;->getRingerModeExternal()I
+PLcom/android/server/audio/AudioService;->getRingerModeInternal()I
+PLcom/android/server/audio/AudioService;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
+PLcom/android/server/audio/AudioService;->getSafeUsbMediaVolumeIndex()I
+PLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I
+PLcom/android/server/audio/AudioService;->getStreamMinVolume(I)I
+PLcom/android/server/audio/AudioService;->getStreamVolume(I)I
PLcom/android/server/audio/AudioService;->getUiSoundsStreamType()I
-HSPLcom/android/server/audio/AudioService;->getVibrateSetting(I)I
-PLcom/android/server/audio/AudioService;->handleAudioEffectBroadcast(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
-HSPLcom/android/server/audio/AudioService;->handleConfigurationChanged(Landroid/content/Context;)V
-PLcom/android/server/audio/AudioService;->hasMediaDynamicPolicy()Z
+PLcom/android/server/audio/AudioService;->getVibrateSetting(I)I
+PLcom/android/server/audio/AudioService;->handleConfigurationChanged(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioService;->initA11yMonitoring()V
PLcom/android/server/audio/AudioService;->isAndroidNPlus(Ljava/lang/String;)Z
-PLcom/android/server/audio/AudioService;->isBluetoothA2dpOn()Z
-HSPLcom/android/server/audio/AudioService;->isBluetoothScoOn()Z
+PLcom/android/server/audio/AudioService;->isBluetoothScoOn()Z
PLcom/android/server/audio/AudioService;->isCameraSoundForced()Z
-HSPLcom/android/server/audio/AudioService;->isInCommunication()Z
-HSPLcom/android/server/audio/AudioService;->isPlatformTelevision()Z
-PLcom/android/server/audio/AudioService;->isPolicyRegisterAllowed(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/projection/IMediaProjection;)Z
-PLcom/android/server/audio/AudioService;->isSpeakerphoneOn()Z
-HSPLcom/android/server/audio/AudioService;->isStreamAffectedByMute(I)Z
-HSPLcom/android/server/audio/AudioService;->isStreamAffectedByRingerMode(I)Z
-HSPLcom/android/server/audio/AudioService;->isStreamMute(I)Z
-HSPLcom/android/server/audio/AudioService;->isValidRingerMode(I)Z
-HSPLcom/android/server/audio/AudioService;->loadTouchSoundAssets()V
-HSPLcom/android/server/audio/AudioService;->muteRingerModeStreams()V
+PLcom/android/server/audio/AudioService;->isInCommunication()Z
+PLcom/android/server/audio/AudioService;->isMicrophoneMuted()Z
+PLcom/android/server/audio/AudioService;->isPlatformTelevision()Z
+PLcom/android/server/audio/AudioService;->isStreamAffectedByMute(I)Z
+PLcom/android/server/audio/AudioService;->isStreamMute(I)Z
+PLcom/android/server/audio/AudioService;->isStreamMutedByRingerOrZenMode(I)Z
+PLcom/android/server/audio/AudioService;->isValidRingerMode(I)Z
+PLcom/android/server/audio/AudioService;->maybeSendSystemAudioStatusCommand(Z)V
+PLcom/android/server/audio/AudioService;->muteRingerModeStreams()V
PLcom/android/server/audio/AudioService;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
-HSPLcom/android/server/audio/AudioService;->observeDevicesForAllStreams()V
-HSPLcom/android/server/audio/AudioService;->observeDevicesForStreams(I)V
-HSPLcom/android/server/audio/AudioService;->onAccessibilityServicesStateChanged(Landroid/view/accessibility/AccessibilityManager;)V
-HSPLcom/android/server/audio/AudioService;->onAccessoryPlugMediaUnmute(I)V
-PLcom/android/server/audio/AudioService;->onCheckMusicActive(Ljava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->onConfigureSafeVolume(ZLjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->onIndicateSystemReady()V
+PLcom/android/server/audio/AudioService;->observeDevicesForStreams(I)V
+PLcom/android/server/audio/AudioService;->onAccessibilityServicesStateChanged(Landroid/view/accessibility/AccessibilityManager;)V
+PLcom/android/server/audio/AudioService;->onConfigureSafeVolume(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->onIndicateSystemReady()V
PLcom/android/server/audio/AudioService;->onSetStreamVolume(IIIILjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->onSystemReady()V
-PLcom/android/server/audio/AudioService;->playSoundEffect(I)V
-PLcom/android/server/audio/AudioService;->playSoundEffectVolume(IF)V
-HSPLcom/android/server/audio/AudioService;->playerAttributes(ILandroid/media/AudioAttributes;)V
+PLcom/android/server/audio/AudioService;->onSystemReady()V
+PLcom/android/server/audio/AudioService;->onUpdateRingerModeServiceInt()V
+PLcom/android/server/audio/AudioService;->playerAttributes(ILandroid/media/AudioAttributes;)V
PLcom/android/server/audio/AudioService;->playerEvent(II)V
-HSPLcom/android/server/audio/AudioService;->playerHasOpPlayAudio(IZ)V
-HSPLcom/android/server/audio/AudioService;->postAccessoryPlugMediaUnmute(I)V
-HSPLcom/android/server/audio/AudioService;->postUpdateRingerModeServiceInt()V
-HSPLcom/android/server/audio/AudioService;->readAndSetLowRamDevice()V
-HSPLcom/android/server/audio/AudioService;->readAudioSettings(Z)V
+PLcom/android/server/audio/AudioService;->postUpdateRingerModeServiceInt()V
+PLcom/android/server/audio/AudioService;->readAndSetLowRamDevice()V
+PLcom/android/server/audio/AudioService;->readAudioSettings(Z)V
PLcom/android/server/audio/AudioService;->readCameraSoundForced()Z
-HSPLcom/android/server/audio/AudioService;->readDockAudioSettings(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/audio/AudioService;->readPersistedSettings()V
-HSPLcom/android/server/audio/AudioService;->readUserRestrictions()V
-PLcom/android/server/audio/AudioService;->registerAudioPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZZLandroid/media/projection/IMediaProjection;)Ljava/lang/String;
+PLcom/android/server/audio/AudioService;->readDockAudioSettings(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->readPersistedSettings()V
+PLcom/android/server/audio/AudioService;->readUserRestrictions()V
PLcom/android/server/audio/AudioService;->registerAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-HSPLcom/android/server/audio/AudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-HSPLcom/android/server/audio/AudioService;->releasePlayer(I)V
-HSPLcom/android/server/audio/AudioService;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
-HSPLcom/android/server/audio/AudioService;->rescaleIndex(III)I
-HSPLcom/android/server/audio/AudioService;->sendBroadcastToAll(Landroid/content/Intent;)V
-HSPLcom/android/server/audio/AudioService;->sendEnabledSurroundFormats(Landroid/content/ContentResolver;Z)V
-HSPLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
+PLcom/android/server/audio/AudioService;->releasePlayer(I)V
+PLcom/android/server/audio/AudioService;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
+PLcom/android/server/audio/AudioService;->rescaleIndex(III)I
+PLcom/android/server/audio/AudioService;->rescaleStep(III)I
+PLcom/android/server/audio/AudioService;->safeMediaVolumeIndex(I)I
+PLcom/android/server/audio/AudioService;->scheduleLoadSoundEffects()V
+PLcom/android/server/audio/AudioService;->sendBroadcastToAll(Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService;->sendEnabledSurroundFormats(Landroid/content/ContentResolver;Z)V
+PLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(Landroid/content/ContentResolver;Ljava/lang/String;)V
PLcom/android/server/audio/AudioService;->sendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V
-HSPLcom/android/server/audio/AudioService;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService;->sendVolumeUpdate(IIII)V
-PLcom/android/server/audio/AudioService;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)V
-PLcom/android/server/audio/AudioService;->setBluetoothA2dpOn(Z)V
-PLcom/android/server/audio/AudioService;->setBluetoothScoOn(Z)V
-HSPLcom/android/server/audio/AudioService;->setDeviceVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
-PLcom/android/server/audio/AudioService;->setMicrophoneMute(ZLjava/lang/String;I)V
-PLcom/android/server/audio/AudioService;->setMicrophoneMuteNoCallerCheck(ZI)V
-PLcom/android/server/audio/AudioService;->setMode(ILandroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/audio/AudioService;->setModeInt(ILandroid/os/IBinder;ILjava/lang/String;)I
-HSPLcom/android/server/audio/AudioService;->setRingerMode(ILjava/lang/String;Z)V
-HSPLcom/android/server/audio/AudioService;->setRingerModeExt(I)V
-HSPLcom/android/server/audio/AudioService;->setRingerModeInt(IZ)V
-HSPLcom/android/server/audio/AudioService;->setRingerModeInternal(ILjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
-PLcom/android/server/audio/AudioService;->setSpeakerphoneOn(Z)V
+PLcom/android/server/audio/AudioService;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService;->sendVolumeUpdate(IIIII)V
+PLcom/android/server/audio/AudioService;->setDeviceVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+PLcom/android/server/audio/AudioService;->setMicMuteFromSwitchInput()V
+PLcom/android/server/audio/AudioService;->setMicrophoneMuteNoCallerCheck(I)V
+PLcom/android/server/audio/AudioService;->setRingerMode(ILjava/lang/String;Z)V
+PLcom/android/server/audio/AudioService;->setRingerModeExt(I)V
+PLcom/android/server/audio/AudioService;->setRingerModeInt(IZ)V
+PLcom/android/server/audio/AudioService;->setRingerModeInternal(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
PLcom/android/server/audio/AudioService;->setStreamVolume(IIILjava/lang/String;)V
PLcom/android/server/audio/AudioService;->setStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/audio/AudioService;->setSystemAudioMute(Z)V
+PLcom/android/server/audio/AudioService;->setStreamVolumeInt(IIIZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->setSystemAudioMute(Z)V
PLcom/android/server/audio/AudioService;->setSystemAudioVolume(IIII)V
-HSPLcom/android/server/audio/AudioService;->setVolumeController(Landroid/media/IVolumeController;)V
-HSPLcom/android/server/audio/AudioService;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-HSPLcom/android/server/audio/AudioService;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->shouldZenMuteStream(I)Z
-PLcom/android/server/audio/AudioService;->startBluetoothSco(Landroid/os/IBinder;I)V
-PLcom/android/server/audio/AudioService;->startBluetoothScoInt(Landroid/os/IBinder;ILjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-PLcom/android/server/audio/AudioService;->stopBluetoothSco(Landroid/os/IBinder;)V
-HSPLcom/android/server/audio/AudioService;->systemReady()V
-HSPLcom/android/server/audio/AudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-PLcom/android/server/audio/AudioService;->unregisterAudioPolicy(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
-PLcom/android/server/audio/AudioService;->unregisterAudioPolicyAsync(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
-PLcom/android/server/audio/AudioService;->unregisterAudioPolicyInt(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
-PLcom/android/server/audio/AudioService;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-HSPLcom/android/server/audio/AudioService;->updateAssistantUId(Z)V
-HSPLcom/android/server/audio/AudioService;->updateDefaultVolumes()V
-PLcom/android/server/audio/AudioService;->updateFlagsForSystemAudio(I)I
-HSPLcom/android/server/audio/AudioService;->updateMasterBalance(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/audio/AudioService;->updateRingerAndZenModeAffectedStreams()Z
-HSPLcom/android/server/audio/AudioService;->updateStreamVolumeAlias(ZLjava/lang/String;)V
-HSPLcom/android/server/audio/AudioService;->updateZenModeAffectedStreams()Z
+PLcom/android/server/audio/AudioService;->setVolumeController(Landroid/media/IVolumeController;)V
+PLcom/android/server/audio/AudioService;->setVolumePolicy(Landroid/media/VolumePolicy;)V
+PLcom/android/server/audio/AudioService;->shouldZenMuteStream(I)Z
+PLcom/android/server/audio/AudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+PLcom/android/server/audio/AudioService;->systemReady()V
+PLcom/android/server/audio/AudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
+PLcom/android/server/audio/AudioService;->updateA11yVolumeAlias(Z)V
+PLcom/android/server/audio/AudioService;->updateAssistantUId(Z)V
+PLcom/android/server/audio/AudioService;->updateAudioHalPids()V
+PLcom/android/server/audio/AudioService;->updateDefaultStreamOverrideDelay(Z)V
+PLcom/android/server/audio/AudioService;->updateDefaultVolumes()V
+PLcom/android/server/audio/AudioService;->updateFlagsForTvPlatform(I)I
+PLcom/android/server/audio/AudioService;->updateMasterBalance(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->updateMasterMono(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->updateRingerAndZenModeAffectedStreams()Z
+PLcom/android/server/audio/AudioService;->updateRttEanbled(Landroid/content/ContentResolver;)V
+PLcom/android/server/audio/AudioService;->updateStreamVolumeAlias(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->updateZenModeAffectedStreams()Z
PLcom/android/server/audio/AudioService;->volumeAdjustmentAllowedByDnd(II)Z
-HSPLcom/android/server/audio/AudioService;->waitForAudioHandlerCreation()V
-PLcom/android/server/audio/AudioServiceEvents$ForceUseEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/AudioServiceEvents$PhoneStateEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/AudioServiceEvents$VolumeEvent;->eventToString()Ljava/lang/String;
-HSPLcom/android/server/audio/BtHelper$1;->onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V
-PLcom/android/server/audio/BtHelper$1;->onServiceDisconnected(I)V
-PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getBtDevice()Landroid/bluetooth/BluetoothDevice;
-PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getCodec()I
-PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getVolume()I
-PLcom/android/server/audio/BtHelper$ScoClient;->clearCount(Z)V
-PLcom/android/server/audio/BtHelper$ScoClient;->getCount()I
-PLcom/android/server/audio/BtHelper$ScoClient;->incCount(I)V
-PLcom/android/server/audio/BtHelper$ScoClient;->requestScoState(II)V
-PLcom/android/server/audio/BtHelper;->a2dpDeviceEventToString(I)Ljava/lang/String;
-HSPLcom/android/server/audio/BtHelper;->clearAllScoClients(IZ)V
-PLcom/android/server/audio/BtHelper;->disconnectAllBluetoothProfiles()V
-PLcom/android/server/audio/BtHelper;->disconnectBluetoothSco(I)V
-PLcom/android/server/audio/BtHelper;->disconnectHeadset()V
-PLcom/android/server/audio/BtHelper;->getA2dpCodec(Landroid/bluetooth/BluetoothDevice;)I
-PLcom/android/server/audio/BtHelper;->getScoClient(Landroid/os/IBinder;Z)Lcom/android/server/audio/BtHelper$ScoClient;
-PLcom/android/server/audio/BtHelper;->handleBtScoActiveDeviceChange(Landroid/bluetooth/BluetoothDevice;Z)Z
-HSPLcom/android/server/audio/BtHelper;->isAvrcpAbsoluteVolumeSupported()Z
-PLcom/android/server/audio/BtHelper;->isBluetoothScoOn()Z
-HSPLcom/android/server/audio/BtHelper;->onA2dpProfileConnected(Landroid/bluetooth/BluetoothA2dp;)V
-HSPLcom/android/server/audio/BtHelper;->onBroadcastScoConnectionState(I)V
-HSPLcom/android/server/audio/BtHelper;->onHeadsetProfileConnected(Landroid/bluetooth/BluetoothHeadset;)V
-HSPLcom/android/server/audio/BtHelper;->onHearingAidProfileConnected(Landroid/bluetooth/BluetoothHearingAid;)V
-HSPLcom/android/server/audio/BtHelper;->onSystemReady()V
-PLcom/android/server/audio/BtHelper;->receiveBtEvent(Landroid/content/Intent;)V
-HSPLcom/android/server/audio/BtHelper;->resetBluetoothSco()V
-HSPLcom/android/server/audio/BtHelper;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
-PLcom/android/server/audio/BtHelper;->setAvrcpAbsoluteVolumeIndex(I)V
-PLcom/android/server/audio/BtHelper;->setAvrcpAbsoluteVolumeSupported(Z)V
-HSPLcom/android/server/audio/BtHelper;->setBtScoActiveDevice(Landroid/bluetooth/BluetoothDevice;)V
-PLcom/android/server/audio/BtHelper;->startBluetoothScoForClient(Landroid/os/IBinder;ILjava/lang/String;)V
-PLcom/android/server/audio/BtHelper;->stopBluetoothScoForClient(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLcom/android/server/audio/FocusRequester;-><init>(Landroid/media/AudioAttributes;IILandroid/media/IAudioFocusDispatcher;Landroid/os/IBinder;Ljava/lang/String;Lcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;Ljava/lang/String;ILcom/android/server/audio/MediaFocusControl;I)V
+PLcom/android/server/audio/AudioService;->waitForAudioHandlerCreation()V
+PLcom/android/server/audio/AudioServiceEvents$ForceUseEvent;-><init>(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioServiceEvents$VolumeEvent;-><init>(IIIILjava/lang/String;)V
+PLcom/android/server/audio/BtHelper$1;-><init>(Lcom/android/server/audio/BtHelper;)V
+PLcom/android/server/audio/BtHelper$1;->onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V
+PLcom/android/server/audio/BtHelper;-><init>(Lcom/android/server/audio/AudioDeviceBroker;)V
+PLcom/android/server/audio/BtHelper;->access$000(Lcom/android/server/audio/BtHelper;)Lcom/android/server/audio/AudioDeviceBroker;
+PLcom/android/server/audio/BtHelper;->broadcastScoConnectionState(I)V
+PLcom/android/server/audio/BtHelper;->checkScoAudioState()V
+PLcom/android/server/audio/BtHelper;->clearAllScoClients(IZ)V
+PLcom/android/server/audio/BtHelper;->getBluetoothHeadset()Z
+PLcom/android/server/audio/BtHelper;->isAvrcpAbsoluteVolumeSupported()Z
+PLcom/android/server/audio/BtHelper;->onA2dpProfileConnected(Landroid/bluetooth/BluetoothA2dp;)V
+PLcom/android/server/audio/BtHelper;->onBroadcastScoConnectionState(I)V
+PLcom/android/server/audio/BtHelper;->onHeadsetProfileConnected(Landroid/bluetooth/BluetoothHeadset;)V
+PLcom/android/server/audio/BtHelper;->onHearingAidProfileConnected(Landroid/bluetooth/BluetoothHearingAid;)V
+PLcom/android/server/audio/BtHelper;->onSystemReady()V
+PLcom/android/server/audio/BtHelper;->resetBluetoothSco()V
+PLcom/android/server/audio/BtHelper;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
+PLcom/android/server/audio/BtHelper;->setBtScoActiveDevice(Landroid/bluetooth/BluetoothDevice;)V
+PLcom/android/server/audio/FocusRequester;-><init>(Landroid/media/AudioAttributes;IILandroid/media/IAudioFocusDispatcher;Landroid/os/IBinder;Ljava/lang/String;Lcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;Ljava/lang/String;ILcom/android/server/audio/MediaFocusControl;I)V
PLcom/android/server/audio/FocusRequester;->finalize()V
-PLcom/android/server/audio/FocusRequester;->focusLossForGainRequest(I)I
-PLcom/android/server/audio/FocusRequester;->getClientId()Ljava/lang/String;
-HSPLcom/android/server/audio/FocusRequester;->getClientUid()I
-PLcom/android/server/audio/FocusRequester;->getGainRequest()I
-PLcom/android/server/audio/FocusRequester;->getGrantFlags()I
-PLcom/android/server/audio/FocusRequester;->getSdkTarget()I
-PLcom/android/server/audio/FocusRequester;->handleFocusGain(I)V
-HSPLcom/android/server/audio/FocusRequester;->handleFocusGainFromRequest(I)V
-PLcom/android/server/audio/FocusRequester;->handleFocusLoss(ILcom/android/server/audio/FocusRequester;Z)V
-PLcom/android/server/audio/FocusRequester;->handleFocusLossFromGain(ILcom/android/server/audio/FocusRequester;Z)Z
-PLcom/android/server/audio/FocusRequester;->hasSameBinder(Landroid/os/IBinder;)Z
+PLcom/android/server/audio/FocusRequester;->getClientUid()I
+PLcom/android/server/audio/FocusRequester;->handleFocusGainFromRequest(I)V
PLcom/android/server/audio/FocusRequester;->hasSameClient(Ljava/lang/String;)Z
-PLcom/android/server/audio/FocusRequester;->hasSameUid(I)Z
-PLcom/android/server/audio/FocusRequester;->isLockedFocusOwner()Z
PLcom/android/server/audio/FocusRequester;->release()V
-HSPLcom/android/server/audio/FocusRequester;->toAudioFocusInfo()Landroid/media/AudioFocusInfo;
-PLcom/android/server/audio/MediaFocusControl$2;->run()V
-HSPLcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;-><init>(Lcom/android/server/audio/MediaFocusControl;Landroid/os/IBinder;)V
-PLcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;->binderDied()V
-HSPLcom/android/server/audio/MediaFocusControl;-><init>(Landroid/content/Context;Lcom/android/server/audio/PlayerFocusEnforcer;)V
+PLcom/android/server/audio/FocusRequester;->toAudioFocusInfo()Landroid/media/AudioFocusInfo;
+PLcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;-><init>(Lcom/android/server/audio/MediaFocusControl;Landroid/os/IBinder;)V
+PLcom/android/server/audio/MediaFocusControl;-><clinit>()V
+PLcom/android/server/audio/MediaFocusControl;-><init>(Landroid/content/Context;Lcom/android/server/audio/PlayerFocusEnforcer;)V
PLcom/android/server/audio/MediaFocusControl;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-HSPLcom/android/server/audio/MediaFocusControl;->canReassignAudioFocus()Z
-HSPLcom/android/server/audio/MediaFocusControl;->discardAudioFocusOwner()V
-PLcom/android/server/audio/MediaFocusControl;->duckPlayers(Lcom/android/server/audio/FocusRequester;Lcom/android/server/audio/FocusRequester;Z)Z
-PLcom/android/server/audio/MediaFocusControl;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/audio/MediaFocusControl;->dumpFocusStack(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/audio/MediaFocusControl;->getCurrentAudioFocus()I
-HSPLcom/android/server/audio/MediaFocusControl;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-PLcom/android/server/audio/MediaFocusControl;->mustNotifyFocusOwnerOnDuck()Z
-HSPLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusGrant_syncAf(Landroid/media/AudioFocusInfo;I)V
+PLcom/android/server/audio/MediaFocusControl;->canReassignAudioFocus()Z
+PLcom/android/server/audio/MediaFocusControl;->discardAudioFocusOwner()V
+PLcom/android/server/audio/MediaFocusControl;->getCurrentAudioFocus()I
+PLcom/android/server/audio/MediaFocusControl;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
+PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusGrant_syncAf(Landroid/media/AudioFocusInfo;I)V
PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusLoss_syncAf(Landroid/media/AudioFocusInfo;Z)V
-PLcom/android/server/audio/MediaFocusControl;->propagateFocusLossFromGain_syncAf(ILcom/android/server/audio/FocusRequester;Z)V
-HSPLcom/android/server/audio/MediaFocusControl;->removeFocusStackEntry(Ljava/lang/String;ZZ)V
-PLcom/android/server/audio/MediaFocusControl;->removeFocusStackEntryOnDeath(Landroid/os/IBinder;)V
-HSPLcom/android/server/audio/MediaFocusControl;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;IIZ)I
-PLcom/android/server/audio/MediaFocusControl;->runAudioCheckerForRingOrCallAsync(Z)V
-HSPLcom/android/server/audio/MediaFocusControl;->unduckPlayers(Lcom/android/server/audio/FocusRequester;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$AudioAttrEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager$DuckedApp;->addDuck(Landroid/media/AudioPlaybackConfiguration;Z)V
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager$DuckedApp;->removeUnduckAll(Ljava/util/HashMap;)V
+PLcom/android/server/audio/MediaFocusControl;->notifyTopOfAudioFocusStack()V
+PLcom/android/server/audio/MediaFocusControl;->removeFocusStackEntry(Ljava/lang/String;ZZ)V
+PLcom/android/server/audio/MediaFocusControl;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;IIZ)I
+PLcom/android/server/audio/MediaFocusControl;->unduckPlayers(Lcom/android/server/audio/FocusRequester;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$AudioAttrEvent;-><init>(ILandroid/media/AudioAttributes;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;-><init>()V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;-><init>(Lcom/android/server/audio/PlaybackActivityMonitor$1;)V
PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->checkDuck(Landroid/media/AudioPlaybackConfiguration;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->duckUid(ILjava/util/ArrayList;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->removeReleased(Landroid/media/AudioPlaybackConfiguration;)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->unduckUid(ILjava/util/HashMap;)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;-><init>(Landroid/media/AudioPlaybackConfiguration;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->binderDied()V
-HSPLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->init()Z
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayerEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayerOpPlayAudioEvent;->eventToString()Ljava/lang/String;
-HSPLcom/android/server/audio/PlaybackActivityMonitor;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->anonymizeForPublicConsumption(Ljava/util/List;)Ljava/util/ArrayList;
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->checkConfigurationCaller(ILandroid/media/AudioPlaybackConfiguration;I)Z
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->checkVolumeForPrivilegedAlarm(Landroid/media/AudioPlaybackConfiguration;I)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->dispatchPlaybackChange(Z)V
-PLcom/android/server/audio/PlaybackActivityMonitor;->duckPlayers(Lcom/android/server/audio/FocusRequester;Lcom/android/server/audio/FocusRequester;Z)Z
-PLcom/android/server/audio/PlaybackActivityMonitor;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->getActivePlaybackConfigurations(Z)Ljava/util/List;
-PLcom/android/server/audio/PlaybackActivityMonitor;->mutePlayersForCall([I)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->playerAttributes(ILandroid/media/AudioAttributes;I)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->playerDeath(I)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->removeReleased(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->unduckUid(ILjava/util/HashMap;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;-><init>(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;-><init>(Landroid/media/IPlaybackConfigDispatcher;Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->init()Z
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayerEvent;-><init>(II)V
+PLcom/android/server/audio/PlaybackActivityMonitor;-><clinit>()V
+PLcom/android/server/audio/PlaybackActivityMonitor;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->anonymizeForPublicConsumption(Ljava/util/List;)Ljava/util/ArrayList;
+PLcom/android/server/audio/PlaybackActivityMonitor;->checkConfigurationCaller(ILandroid/media/AudioPlaybackConfiguration;I)Z
+PLcom/android/server/audio/PlaybackActivityMonitor;->checkVolumeForPrivilegedAlarm(Landroid/media/AudioPlaybackConfiguration;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->dispatchPlaybackChange(Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->playerAttributes(ILandroid/media/AudioAttributes;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->playerDeath(I)V
PLcom/android/server/audio/PlaybackActivityMonitor;->playerEvent(III)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;Z)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->releasePlayer(II)V
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-HSPLcom/android/server/audio/PlaybackActivityMonitor;->unduckPlayers(Lcom/android/server/audio/FocusRequester;)V
-PLcom/android/server/audio/PlaybackActivityMonitor;->unmutePlayersForCall()V
-PLcom/android/server/audio/PlaybackActivityMonitor;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-PLcom/android/server/audio/RecordingActivityMonitor$RecordingEvent;-><init>(IIIILjava/lang/String;)V
-PLcom/android/server/audio/RecordingActivityMonitor;->dispatchCallbacks(Ljava/util/List;)V
-PLcom/android/server/audio/RecordingActivityMonitor;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/audio/RecordingActivityMonitor;->onRecordingConfigurationChanged(IIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;ILjava/lang/String;)V
-PLcom/android/server/audio/RecordingActivityMonitor;->updateSnapshot(IIII[IIZI[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;)Ljava/util/List;
-HSPLcom/android/server/audio/RotationHelper$AudioDisplayListener;-><init>()V
-PLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayAdded(I)V
-HSPLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayChanged(I)V
-PLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayRemoved(I)V
-HSPLcom/android/server/audio/RotationHelper;->enable()V
-HSPLcom/android/server/audio/RotationHelper;->publishRotation(I)V
-HSPLcom/android/server/audio/RotationHelper;->updateOrientation()V
+PLcom/android/server/audio/PlaybackActivityMonitor;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->releasePlayer(II)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
+PLcom/android/server/audio/PlaybackActivityMonitor;->unduckPlayers(Lcom/android/server/audio/FocusRequester;)V
+PLcom/android/server/audio/RecordingActivityMonitor;-><clinit>()V
+PLcom/android/server/audio/RecordingActivityMonitor;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/RecordingActivityMonitor;->initMonitor()V
+PLcom/android/server/audio/RotationHelper$AudioDisplayListener;-><init>()V
+PLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayChanged(I)V
+PLcom/android/server/audio/RotationHelper;-><clinit>()V
+PLcom/android/server/audio/RotationHelper;->disable()V
+PLcom/android/server/audio/RotationHelper;->enable()V
+PLcom/android/server/audio/RotationHelper;->init(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/audio/RotationHelper;->updateOrientation()V
+PLcom/android/server/audio/SoundEffectsHelper$1;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$1;->run(Z)V
+PLcom/android/server/audio/SoundEffectsHelper$Resource;-><init>(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxHandler;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxHandler;-><init>(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$1;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxWorker;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$SfxWorker;->run()V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;-><init>(Lcom/android/server/audio/SoundEffectsHelper;)V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;->addHandler(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;->onComplete(Z)V
+PLcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;->onLoadComplete(Landroid/media/SoundPool;II)V
+PLcom/android/server/audio/SoundEffectsHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/SoundEffectsHelper;->access$000(Lcom/android/server/audio/SoundEffectsHelper;)Lcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;
+PLcom/android/server/audio/SoundEffectsHelper;->access$002(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;)Lcom/android/server/audio/SoundEffectsHelper$SoundPoolLoader;
+PLcom/android/server/audio/SoundEffectsHelper;->access$202(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$SfxHandler;)Lcom/android/server/audio/SoundEffectsHelper$SfxHandler;
+PLcom/android/server/audio/SoundEffectsHelper;->access$400(Lcom/android/server/audio/SoundEffectsHelper;Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;->access$500(Lcom/android/server/audio/SoundEffectsHelper;)Landroid/media/SoundPool;
+PLcom/android/server/audio/SoundEffectsHelper;->access$600(Lcom/android/server/audio/SoundEffectsHelper;)Ljava/util/List;
+PLcom/android/server/audio/SoundEffectsHelper;->access$700(Lcom/android/server/audio/SoundEffectsHelper;Ljava/lang/String;)V
+PLcom/android/server/audio/SoundEffectsHelper;->findOrAddResourceByFileName(Ljava/lang/String;)I
+PLcom/android/server/audio/SoundEffectsHelper;->getResourceFilePath(Lcom/android/server/audio/SoundEffectsHelper$Resource;)Ljava/lang/String;
+PLcom/android/server/audio/SoundEffectsHelper;->loadSoundEffects(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;->loadTouchSoundAssetDefaults()V
+PLcom/android/server/audio/SoundEffectsHelper;->loadTouchSoundAssets()V
+PLcom/android/server/audio/SoundEffectsHelper;->logEvent(Ljava/lang/String;)V
+PLcom/android/server/audio/SoundEffectsHelper;->onLoadSoundEffects(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
+PLcom/android/server/audio/SoundEffectsHelper;->sendMsg(IIILjava/lang/Object;I)V
+PLcom/android/server/audio/SoundEffectsHelper;->startWorker()V
+PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$1$1-WNu3tTkxodB_LsZ7dGIlvrPN0;-><clinit>()V
PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$1$1-WNu3tTkxodB_LsZ7dGIlvrPN0;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$FieldClassificationStrategy$NQQgQ63vxhPkiwOWrnwRyuYSHTM;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$FieldClassificationStrategy$NQQgQ63vxhPkiwOWrnwRyuYSHTM;->get(Landroid/content/res/Resources;I)Ljava/lang/Object;
-PLcom/android/server/autofill/-$$Lambda$FieldClassificationStrategy$vGIL1YGX_9ksoSV74T7gO4fkEBE;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$FieldClassificationStrategy$vGIL1YGX_9ksoSV74T7gO4fkEBE;->get(Landroid/content/res/Resources;I)Ljava/lang/Object;
-PLcom/android/server/autofill/-$$Lambda$Helper$nK3g_oXXf8NGajcUf0W5JsQzf3w;->matches(Landroid/app/assist/AssistStructure$ViewNode;)Z
-PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$e7zSmzv77rBdYV5oCl-Y8EJj9dY;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$e7zSmzv77rBdYV5oCl-Y8EJj9dY;->run(Landroid/os/IInterface;)V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$L02k2_83eS2UIlVtt4T_yplAQPQ;->run()V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$PKEfnjx72TG33VenAsL_32TGLPg;->run()V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$_5v43Gwb-Yar1uuVIqDgfleCP_4;->run()V
-PLcom/android/server/autofill/-$$Lambda$Session$0VAc60LP16186Azy3Ov7dL7BsAE;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$Session$0VAc60LP16186Azy3Ov7dL7BsAE;->accept(Ljava/lang/Object;)V
-PLcom/android/server/autofill/-$$Lambda$Session$eVloK5PeyeuPZn1G52SC-fXIsjk;->run()V
-PLcom/android/server/autofill/-$$Lambda$Session$xw4trZ-LA7gCvZvpKJ93vf377ak;->binderDied()V
-PLcom/android/server/autofill/-$$Lambda$knR7oLyPSG_CoFAxBA_nqSw3JBo;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$knR7oLyPSG_CoFAxBA_nqSw3JBo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$1$1-WNu3tTkxodB_LsZ7dGIlvrPN0;->visit(Ljava/lang/Object;)V
+PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$6afarI-dhLaYDLGebVyDMPu2nok;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
+PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$AjdnAnVaegTp2pojE30m5yjqZx8;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
+PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$qEoykSLvIU1PeokaPDuPOb0M5U0;-><clinit>()V
+PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$qEoykSLvIU1PeokaPDuPOb0M5U0;-><init>()V
+PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$qEoykSLvIU1PeokaPDuPOb0M5U0;->runNoResult(Ljava/lang/Object;)V
+PLcom/android/server/autofill/-$$Lambda$sdnPz1IsKKVKSEXwI7z4h2-SxiM;-><clinit>()V
+PLcom/android/server/autofill/-$$Lambda$sdnPz1IsKKVKSEXwI7z4h2-SxiM;-><init>()V
+PLcom/android/server/autofill/-$$Lambda$sdnPz1IsKKVKSEXwI7z4h2-SxiM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService$1;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
+PLcom/android/server/autofill/AutofillManagerService$1;->lambda$onReceive$0(Lcom/android/server/autofill/AutofillManagerServiceImpl;)V
PLcom/android/server/autofill/AutofillManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;-><init>()V
+PLcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;->access$400(Lcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;ILjava/lang/String;Z)V
+PLcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;->injectAugmentedAutofillInfo(Landroid/content/AutofillOptions;ILjava/lang/String;)V
+PLcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;->setServiceInfo(ILjava/lang/String;Z)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->addClient(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;ILcom/android/internal/os/IResultReceiver;)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->cancelSession(II)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->finishSession(II)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getFillEventHistory(Lcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getAutofillServiceComponentName(Lcom/android/internal/os/IResultReceiver;)V
PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->isServiceSupported(ILcom/android/internal/os/IResultReceiver;)V
PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;Lcom/android/internal/os/IResultReceiver;)V
PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->setAugmentedAutofillWhitelist(Ljava/util/List;Ljava/util/List;Lcom/android/internal/os/IResultReceiver;)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->setHasCallback(IIZ)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->setUserData(Landroid/service/autofill/UserData;)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;ZLcom/android/internal/os/IResultReceiver;)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
-PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->addCompatibilityModeRequest(Ljava/lang/String;J[Ljava/lang/String;I)V
-PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
-HSPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->removeCompatibilityModeRequests(I)V
-HSPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->reset(I)V
-HSPLcom/android/server/autofill/AutofillManagerService$LocalService;->getAutofillOptions(Ljava/lang/String;JI)Landroid/content/AutofillOptions;
+PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;-><init>()V
+PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
+PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->reset(I)V
+PLcom/android/server/autofill/AutofillManagerService$LocalService;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
+PLcom/android/server/autofill/AutofillManagerService$LocalService;-><init>(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/server/autofill/AutofillManagerService$1;)V
+PLcom/android/server/autofill/AutofillManagerService$LocalService;->getAutofillOptions(Ljava/lang/String;JI)Landroid/content/AutofillOptions;
+PLcom/android/server/autofill/AutofillManagerService$LocalService;->injectDisableAppInfo(Landroid/content/AutofillOptions;ILjava/lang/String;)V
PLcom/android/server/autofill/AutofillManagerService$LocalService;->onBackKeyPressed()V
-HSPLcom/android/server/autofill/AutofillManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/autofill/AutofillManagerService;->access$1300(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/internal/os/IResultReceiver;I)V
-PLcom/android/server/autofill/AutofillManagerService;->access$2000(Lcom/android/server/autofill/AutofillManagerService;)Landroid/app/ActivityManagerInternal;
-PLcom/android/server/autofill/AutofillManagerService;->access$2100(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
-PLcom/android/server/autofill/AutofillManagerService;->access$2200(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
-PLcom/android/server/autofill/AutofillManagerService;->access$2300(Lcom/android/server/autofill/AutofillManagerService;)Z
-PLcom/android/server/autofill/AutofillManagerService;->access$2400(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/internal/os/IResultReceiver;II)V
-HSPLcom/android/server/autofill/AutofillManagerService;->addCompatibilityModeRequestsLocked(Lcom/android/server/autofill/AutofillManagerServiceImpl;I)V
-PLcom/android/server/autofill/AutofillManagerService;->getPartitionMaxCount()I
-HSPLcom/android/server/autofill/AutofillManagerService;->getServiceSettingsProperty()Ljava/lang/String;
-PLcom/android/server/autofill/AutofillManagerService;->getVisibleDatasetsMaxCount()I
-PLcom/android/server/autofill/AutofillManagerService;->getWhitelistedCompatModePackages(Ljava/lang/String;)Ljava/util/Map;
-HSPLcom/android/server/autofill/AutofillManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
-HSPLcom/android/server/autofill/AutofillManagerService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
-HSPLcom/android/server/autofill/AutofillManagerService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
-HSPLcom/android/server/autofill/AutofillManagerService;->onStart()V
-HSPLcom/android/server/autofill/AutofillManagerService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/autofill/AutofillManagerService;-><clinit>()V
+PLcom/android/server/autofill/AutofillManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/autofill/AutofillManagerService;->access$100(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService;->access$1000(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService;->access$1100(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/autofill/AutofillManagerService;->access$200(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/server/infra/AbstractMasterSystemService$Visitor;)V
+PLcom/android/server/autofill/AutofillManagerService;->access$300(Lcom/android/server/autofill/AutofillManagerService;)Lcom/android/server/autofill/ui/AutoFillUI;
+PLcom/android/server/autofill/AutofillManagerService;->access$3000(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/internal/os/IResultReceiver;Landroid/os/Parcelable;)V
+PLcom/android/server/autofill/AutofillManagerService;->access$4800(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService;->access$4900(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/autofill/AutofillManagerService;->access$700(Lcom/android/server/autofill/AutofillManagerService;)Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;
+PLcom/android/server/autofill/AutofillManagerService;->addCompatibilityModeRequestsLocked(Lcom/android/server/autofill/AutofillManagerServiceImpl;I)V
+PLcom/android/server/autofill/AutofillManagerService;->getServiceSettingsProperty()Ljava/lang/String;
+PLcom/android/server/autofill/AutofillManagerService;->isSupported(Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/autofill/AutofillManagerService;->newServiceLocked(IZ)Lcom/android/server/autofill/AutofillManagerServiceImpl;
+PLcom/android/server/autofill/AutofillManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/autofill/AutofillManagerService;->onServiceEnabledLocked(Lcom/android/server/autofill/AutofillManagerServiceImpl;I)V
+PLcom/android/server/autofill/AutofillManagerService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+PLcom/android/server/autofill/AutofillManagerService;->onStart()V
+PLcom/android/server/autofill/AutofillManagerService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;I)V
-PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;II)V
PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;Landroid/os/Bundle;)V
-HSPLcom/android/server/autofill/AutofillManagerService;->setDeviceConfigProperties()V
-HSPLcom/android/server/autofill/AutofillManagerService;->setLogLevelFromSettings()V
-HSPLcom/android/server/autofill/AutofillManagerService;->setMaxPartitionsFromSettings()V
-HSPLcom/android/server/autofill/AutofillManagerService;->setMaxVisibleDatasetsFromSettings()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl$1;->onServiceDied(Lcom/android/server/autofill/RemoteAugmentedAutofillService;)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl$1;->onServiceDied(Ljava/lang/Object;)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl$PruneTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/autofill/AutofillManagerServiceImpl$PruneTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;-><init>(Lcom/android/server/autofill/AutofillManagerService;Ljava/lang/Object;Landroid/util/LocalLog;Landroid/util/LocalLog;ILcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;Z)V
+PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;Landroid/os/Parcelable;)V
+PLcom/android/server/autofill/AutofillManagerService;->setDeviceConfigProperties()V
+PLcom/android/server/autofill/AutofillManagerService;->setLogLevelFromSettings()V
+PLcom/android/server/autofill/AutofillManagerService;->setLoggingLevelsLocked(ZZ)V
+PLcom/android/server/autofill/AutofillManagerService;->setMaxPartitionsFromSettings()V
+PLcom/android/server/autofill/AutofillManagerService;->setMaxVisibleDatasetsFromSettings()V
+PLcom/android/server/autofill/AutofillManagerServiceImpl$1;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;-><clinit>()V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;-><init>(Lcom/android/server/autofill/AutofillManagerService;Ljava/lang/Object;Landroid/util/LocalLog;Landroid/util/LocalLog;ILcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;Z)V
PLcom/android/server/autofill/AutofillManagerServiceImpl;->addClientLocked(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;)I
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->assertCallerLocked(Landroid/content/ComponentName;Z)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->cancelSessionLocked(II)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->createSessionByTokenLocked(Landroid/os/IBinder;IILandroid/os/IBinder;ZLandroid/content/ComponentName;ZZZI)Lcom/android/server/autofill/Session;
PLcom/android/server/autofill/AutofillManagerServiceImpl;->destroyFinishedSessionsLocked()V
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->destroyLocked()V
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->destroySessionsLocked()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->dumpLocked(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->finishSessionLocked(II)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getFillEventHistory(I)Landroid/service/autofill/FillEventHistory;
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getPreviousSessionsLocked(Lcom/android/server/autofill/Session;)Ljava/util/ArrayList;
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->getRemoteAugmentedAutofillServiceLocked()Lcom/android/server/autofill/RemoteAugmentedAutofillService;
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getUserData()Landroid/service/autofill/UserData;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->destroySessionsLocked()V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->getAppDisabledActivitiesLocked(Ljava/lang/String;)Landroid/util/ArrayMap;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->getAppDisabledExpirationLocked(Ljava/lang/String;)J
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->getCompatibilityPackagesLocked()Landroid/util/ArrayMap;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->getRemoteAugmentedAutofillServiceLocked()Lcom/android/server/autofill/RemoteAugmentedAutofillService;
PLcom/android/server/autofill/AutofillManagerServiceImpl;->handlePackageUpdateLocked(Ljava/lang/String;)V
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->isAugmentedAutofillServiceAvailableLocked()Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->isAutofillDisabledLocked(Landroid/content/ComponentName;)Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->isAugmentedAutofillServiceAvailableLocked()Z
PLcom/android/server/autofill/AutofillManagerServiceImpl;->isCalledByAugmentedAutofillServiceLocked(Ljava/lang/String;I)Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->isCalledByServiceLocked(Ljava/lang/String;I)Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->isValidEventLocked(Ljava/lang/String;I)Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->isWhitelistedForAugmentedAutofillLocked(Landroid/content/ComponentName;)Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->logContextCommittedLocked(ILandroid/os/Bundle;Ljava/util/ArrayList;Landroid/util/ArraySet;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/content/ComponentName;Z)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->logDatasetSelected(Ljava/lang/String;ILandroid/os/Bundle;)V
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->pruneAbandonedSessionsLocked()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->resetLastResponse()V
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->sendStateToClients(Z)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->sendStateToClients(Z)V
PLcom/android/server/autofill/AutofillManagerServiceImpl;->setAugmentedAutofillWhitelistLocked(Ljava/util/List;Ljava/util/List;I)Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->setHasCallback(IIZ)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->setLastResponse(ILandroid/service/autofill/FillResponse;)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->setUserData(ILandroid/service/autofill/UserData;)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->startSessionLocked(Landroid/os/IBinder;IILandroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;ZLandroid/content/ComponentName;ZZI)J
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateLocked(Z)Z
-HSPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateRemoteAugmentedAutofillService()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->updateSessionLocked(IILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->updateLocked(Z)Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->updateRemoteAugmentedAutofillService()V
PLcom/android/server/autofill/AutofillManagerServiceImpl;->whitelistForAugmentedAutofillPackages(Ljava/util/List;Ljava/util/List;)V
-PLcom/android/server/autofill/FieldClassificationStrategy;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/autofill/FieldClassificationStrategy;->getMetadataValue(Ljava/lang/String;Lcom/android/server/autofill/FieldClassificationStrategy$MetadataParser;)Ljava/lang/Object;
-PLcom/android/server/autofill/FieldClassificationStrategy;->getServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/autofill/FieldClassificationStrategy;-><init>(Landroid/content/Context;I)V
PLcom/android/server/autofill/FieldClassificationStrategy;->getServiceInfo()Landroid/content/pm/ServiceInfo;
-HSPLcom/android/server/autofill/FieldClassificationStrategy;->reset()V
-PLcom/android/server/autofill/Helper;->addAutofillableIds(Landroid/app/assist/AssistStructure$ViewNode;Landroid/util/ArraySet;)V
-PLcom/android/server/autofill/Helper;->findViewNode(Landroid/app/assist/AssistStructure;Lcom/android/server/autofill/Helper$ViewNodeFilter;)Landroid/app/assist/AssistStructure$ViewNode;
-PLcom/android/server/autofill/Helper;->newLogMaker(ILjava/lang/String;IZ)Landroid/metrics/LogMaker;
-PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$1;->isCompleted()Z
-PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$1;->onCancellable(Landroid/os/ICancellationSignal;)V
-PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$1;->onSuccess()V
-PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$2;->send(ILandroid/os/Bundle;)V
-PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;ILandroid/view/autofill/IAutoFillManagerClient;ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)V
-PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest;->run()V
-HSPLcom/android/server/autofill/RemoteAugmentedAutofillService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/autofill/RemoteAugmentedAutofillService$RemoteAugmentedAutofillServiceCallbacks;ZZII)V
-HSPLcom/android/server/autofill/RemoteAugmentedAutofillService;->getComponentName(Ljava/lang/String;IZ)Landroid/util/Pair;
-PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getRemoteRequestMillis()J
-PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getTimeoutIdleBindMillis()J
-PLcom/android/server/autofill/RemoteAugmentedAutofillService;->handleOnConnectedStateChanged(Z)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest$1;->onCancellable(Landroid/os/ICancellationSignal;)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest$1;->onSuccess(Landroid/service/autofill/FillResponse;)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->cancel()Z
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->onTimeout(Lcom/android/internal/infra/AbstractRemoteService;)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->onTimeout(Lcom/android/server/autofill/RemoteFillService;)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->run()V
-PLcom/android/server/autofill/RemoteFillService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;Z)V
-PLcom/android/server/autofill/RemoteFillService;->cancelCurrentRequest()I
-PLcom/android/server/autofill/RemoteFillService;->getRemoteRequestMillis()J
-PLcom/android/server/autofill/RemoteFillService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-PLcom/android/server/autofill/RemoteFillService;->getTimeoutIdleBindMillis()J
-PLcom/android/server/autofill/RemoteFillService;->handleOnConnectedStateChanged(Z)V
-PLcom/android/server/autofill/RemoteFillService;->lambda$dispatchOnFillTimeout$3$RemoteFillService(Landroid/os/ICancellationSignal;)V
-PLcom/android/server/autofill/Session$1;-><init>(Lcom/android/server/autofill/Session;)V
-PLcom/android/server/autofill/Session$1;->onHandleAssistData(Landroid/os/Bundle;)V
-PLcom/android/server/autofill/Session;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/ui/AutoFillUI;Landroid/content/Context;Landroid/os/Handler;ILjava/lang/Object;IIILandroid/os/IBinder;Landroid/os/IBinder;ZLandroid/util/LocalLog;Landroid/util/LocalLog;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZI)V
-PLcom/android/server/autofill/Session;->addTaggedDataToRequestLogLocked(IILjava/lang/Object;)V
-PLcom/android/server/autofill/Session;->autoFill(IILandroid/service/autofill/Dataset;Z)V
-PLcom/android/server/autofill/Session;->autoFillApp(Landroid/service/autofill/Dataset;)V
-PLcom/android/server/autofill/Session;->cancelAugmentedAutofillLocked()V
-PLcom/android/server/autofill/Session;->cancelCurrentRequestLocked()V
-PLcom/android/server/autofill/Session;->createOrUpdateViewStateLocked(Landroid/view/autofill/AutofillId;ILandroid/view/autofill/AutofillValue;)Lcom/android/server/autofill/ViewState;
-PLcom/android/server/autofill/Session;->createSanitizers(Landroid/service/autofill/SaveInfo;)Landroid/util/ArrayMap;
-PLcom/android/server/autofill/Session;->destroyLocked()Lcom/android/server/autofill/RemoteFillService;
-PLcom/android/server/autofill/Session;->doLogContextCommitted()V
-PLcom/android/server/autofill/Session;->fill(IILandroid/service/autofill/Dataset;)V
-PLcom/android/server/autofill/Session;->fillContextWithAllowedValuesLocked(Landroid/service/autofill/FillContext;I)V
-PLcom/android/server/autofill/Session;->getLastResponseLocked(Ljava/lang/String;)Landroid/service/autofill/FillResponse;
-PLcom/android/server/autofill/Session;->getSanitizedValue(Landroid/util/ArrayMap;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)Landroid/view/autofill/AutofillValue;
-PLcom/android/server/autofill/Session;->getUiForShowing()Lcom/android/server/autofill/ui/AutoFillUI;
-PLcom/android/server/autofill/Session;->getValueFromContextsLocked(Landroid/view/autofill/AutofillId;)Landroid/view/autofill/AutofillValue;
-PLcom/android/server/autofill/Session;->lambda$setClientLocked$0$Session()V
-PLcom/android/server/autofill/Session;->logContextCommittedLocked()V
-PLcom/android/server/autofill/Session;->mergePreviousSessionLocked(Z)Ljava/util/ArrayList;
-PLcom/android/server/autofill/Session;->newLogMaker(I)Landroid/metrics/LogMaker;
-PLcom/android/server/autofill/Session;->notifyUnavailableToClient(ILandroid/util/ArraySet;)V
-PLcom/android/server/autofill/Session;->onFillReady(Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)V
-PLcom/android/server/autofill/Session;->onFillRequestFailureOrTimeout(IZLjava/lang/CharSequence;)V
-PLcom/android/server/autofill/Session;->onFillRequestSuccess(ILandroid/service/autofill/FillResponse;Ljava/lang/String;I)V
-PLcom/android/server/autofill/Session;->onFillRequestTimeout(I)V
-PLcom/android/server/autofill/Session;->processNullResponseLocked(II)V
-PLcom/android/server/autofill/Session;->processResponseLocked(Landroid/service/autofill/FillResponse;Landroid/os/Bundle;I)V
-PLcom/android/server/autofill/Session;->removeSelf()V
-PLcom/android/server/autofill/Session;->removeSelfLocked()V
-PLcom/android/server/autofill/Session;->requestHideFillUi(Landroid/view/autofill/AutofillId;)V
-PLcom/android/server/autofill/Session;->requestNewFillResponseLocked(I)V
-PLcom/android/server/autofill/Session;->requestNewFillResponseOnViewEnteredIfNecessaryLocked(Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ViewState;I)V
-PLcom/android/server/autofill/Session;->requestShowFillUi(Landroid/view/autofill/AutofillId;IILandroid/view/autofill/IAutofillWindowPresenter;)V
-PLcom/android/server/autofill/Session;->setClientLocked(Landroid/os/IBinder;)V
-PLcom/android/server/autofill/Session;->setHasCallbackLocked(Z)V
-PLcom/android/server/autofill/Session;->setViewStatesLocked(Landroid/service/autofill/FillResponse;IZ)V
-PLcom/android/server/autofill/Session;->setViewStatesLocked(Landroid/service/autofill/FillResponse;Landroid/service/autofill/Dataset;IZ)V
-PLcom/android/server/autofill/Session;->shouldStartNewPartitionLocked(Landroid/view/autofill/AutofillId;)Z
-PLcom/android/server/autofill/Session;->showSaveLocked()Z
-PLcom/android/server/autofill/Session;->switchActivity(Landroid/os/IBinder;Landroid/os/IBinder;)V
-PLcom/android/server/autofill/Session;->triggerAugmentedAutofillLocked()Ljava/lang/Runnable;
-PLcom/android/server/autofill/Session;->unlinkClientVultureLocked()V
-PLcom/android/server/autofill/Session;->updateLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)V
-PLcom/android/server/autofill/Session;->updateTrackedIdsLocked()V
-PLcom/android/server/autofill/ViewState;->maybeCallOnFillReady(I)V
+PLcom/android/server/autofill/Helper;-><clinit>()V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;-><clinit>()V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/autofill/RemoteAugmentedAutofillService$RemoteAugmentedAutofillServiceCallbacks;ZZII)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getAutoDisconnectTimeoutMs()J
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getComponentName(Ljava/lang/String;IZ)Landroid/util/Pair;
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->lambda$onDestroyAutofillWindowsRequest$3(Landroid/service/autofill/augmented/IAugmentedAutofillService;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->onServiceConnectionStatusChanged(Landroid/os/IInterface;Z)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->onServiceConnectionStatusChanged(Landroid/service/autofill/augmented/IAugmentedAutofillService;Z)V
+PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$56AC3ykfo4h_e2LSjdkJ3XQn370;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$56AC3ykfo4h_e2LSjdkJ3XQn370;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$H0BWucCEHDp2_3FUpZ9-CLDtxYQ;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$LjywPhTUqjU0ZUlG1crxBg8qhRA;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$VF2EbGE70QNyGDbklN9Uz5xHqyQ;->run()V
-HSPLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$Z-Di7CGd-L0nOI4i7_RO1FYbhgU;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$i7qTc5vqiej5Psbl-bIkD7js-Ao;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$E4J-3bUcyqJNd4ZlExSBhwy8Tx4;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$AutofillWindowPresenter$N4xQe2B0oe5MBiqZlsy3Lb7vZTg;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$FY016gv4LQ5AA6yOkKTH3EM5zaM;-><init>(Lcom/android/server/autofill/ui/FillUi;)V
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$FzsKmFVepz197dqO8-bth9Hmkl4;->onFilterComplete(I)V
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$ItemsAdapter$1$8s9zobTvKJVJjInaObtlx2flLMc;->test(Ljava/lang/Object;)Z
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$QXIyKJs3cMApGd5ifauQkxdpdqk;-><init>(Lcom/android/server/autofill/ui/FillUi;)V
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$TUHYXtyYjvn8kBKxh1vyXjC9x84;-><init>(Lcom/android/server/autofill/ui/FillUi;)V
-PLcom/android/server/autofill/ui/-$$Lambda$FillUi$TUHYXtyYjvn8kBKxh1vyXjC9x84;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-PLcom/android/server/autofill/ui/AutoFillUI$1;->onDatasetPicked(Landroid/service/autofill/Dataset;)V
-PLcom/android/server/autofill/ui/AutoFillUI$1;->onDestroy()V
-PLcom/android/server/autofill/ui/AutoFillUI$1;->requestHideFillUi()V
-PLcom/android/server/autofill/ui/AutoFillUI$1;->requestShowFillUi(IILandroid/view/autofill/IAutofillWindowPresenter;)V
-HSPLcom/android/server/autofill/ui/AutoFillUI;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/autofill/ui/AutoFillUI;->destroySaveUiUiThread(Lcom/android/server/autofill/ui/PendingUi;Z)V
-PLcom/android/server/autofill/ui/AutoFillUI;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
+PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;->run()V
+PLcom/android/server/autofill/ui/AutoFillUI;-><init>(Landroid/content/Context;)V
+PLcom/android/server/autofill/ui/AutoFillUI;->destroyAll(Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
+PLcom/android/server/autofill/ui/AutoFillUI;->destroyAllUiThread(Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
+PLcom/android/server/autofill/ui/AutoFillUI;->destroySaveUiUiThread(Lcom/android/server/autofill/ui/PendingUi;Z)V
+PLcom/android/server/autofill/ui/AutoFillUI;->hideAll(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
+PLcom/android/server/autofill/ui/AutoFillUI;->hideAllUiThread(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
PLcom/android/server/autofill/ui/AutoFillUI;->hideFillUiUiThread(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
PLcom/android/server/autofill/ui/AutoFillUI;->hideSaveUiUiThread(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)Lcom/android/server/autofill/ui/PendingUi;
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$showFillUi$5$AutoFillUI(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Ljava/lang/String;Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;Landroid/metrics/LogMaker;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->showFillUi(Landroid/view/autofill/AutofillId;Landroid/service/autofill/FillResponse;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;IZ)V
-PLcom/android/server/autofill/ui/FillUi$AnchoredWindow;-><init>(Lcom/android/server/autofill/ui/FillUi;Landroid/view/View;Lcom/android/server/autofill/ui/OverlayControl;)V
-PLcom/android/server/autofill/ui/FillUi$AnchoredWindow;->hide(Z)V
-PLcom/android/server/autofill/ui/FillUi$AnchoredWindow;->show(Landroid/view/WindowManager$LayoutParams;)V
-PLcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;-><init>(Lcom/android/server/autofill/ui/FillUi;Lcom/android/server/autofill/ui/FillUi$1;)V
-PLcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;->hide(Landroid/graphics/Rect;)V
-PLcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-PLcom/android/server/autofill/ui/FillUi$ItemsAdapter$1;->performFiltering(Ljava/lang/CharSequence;)Landroid/widget/Filter$FilterResults;
-PLcom/android/server/autofill/ui/FillUi$ItemsAdapter$1;->publishResults(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterResults;)V
-PLcom/android/server/autofill/ui/FillUi$ItemsAdapter;-><init>(Lcom/android/server/autofill/ui/FillUi;Ljava/util/List;)V
-PLcom/android/server/autofill/ui/FillUi$ItemsAdapter;->getCount()I
-PLcom/android/server/autofill/ui/FillUi$ItemsAdapter;->getItemId(I)J
-PLcom/android/server/autofill/ui/FillUi$ItemsAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-PLcom/android/server/autofill/ui/FillUi$ViewItem;-><init>(Landroid/service/autofill/Dataset;Ljava/util/regex/Pattern;ZLjava/lang/String;Landroid/view/View;)V
-PLcom/android/server/autofill/ui/FillUi$ViewItem;->matches(Ljava/lang/CharSequence;)Z
-PLcom/android/server/autofill/ui/FillUi;-><init>(Landroid/content/Context;Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Ljava/lang/String;Lcom/android/server/autofill/ui/OverlayControl;Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;ZLcom/android/server/autofill/ui/FillUi$Callback;)V
-PLcom/android/server/autofill/ui/FillUi;->applyNewFilterText()V
-PLcom/android/server/autofill/ui/FillUi;->isFullScreen(Landroid/content/Context;)Z
-PLcom/android/server/autofill/ui/FillUi;->lambda$applyNewFilterText$5$FillUi(II)V
-PLcom/android/server/autofill/ui/FillUi;->resolveMaxWindowSize(Landroid/content/Context;Landroid/graphics/Point;)V
-PLcom/android/server/autofill/ui/FillUi;->setFilterText(Ljava/lang/String;)V
-PLcom/android/server/autofill/ui/FillUi;->updateContentSize()Z
-PLcom/android/server/autofill/ui/OverlayControl;->hideOverlays()V
-PLcom/android/server/autofill/ui/OverlayControl;->showOverlays()V
+PLcom/android/server/autofill/ui/AutoFillUI;->lambda$destroyAll$9$AutoFillUI(Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
+PLcom/android/server/autofill/ui/AutoFillUI;->lambda$hideAll$8$AutoFillUI(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
+PLcom/android/server/autofill/ui/OverlayControl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/backup/-$$Lambda$-xfpm33S8Jqv3KpU_-llxhj8ZPI;-><init>(Ljava/util/Set;)V
PLcom/android/server/backup/-$$Lambda$-xfpm33S8Jqv3KpU_-llxhj8ZPI;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/backup/-$$Lambda$Trampoline$RB5ywBeynPqhAQ6VHW4qi9U4c84;->run()V
-HSPLcom/android/server/backup/-$$Lambda$Trampoline$_vkvTSe7bkLYa64kIjWjqjTHe7E;->run()V
-PLcom/android/server/backup/-$$Lambda$Trampoline$a6uexAeN8zHcMQQ9h_KZ71UQV_A;->run()V
+PLcom/android/server/backup/-$$Lambda$BackupManagerService$6P4GQiH-FZ5t_w1XVcGR55OdSL4;-><init>(Lcom/android/server/backup/BackupManagerService;I)V
+PLcom/android/server/backup/-$$Lambda$BackupManagerService$6P4GQiH-FZ5t_w1XVcGR55OdSL4;->run()V
+PLcom/android/server/backup/-$$Lambda$TransportManager$4ND1hZMerK5gHU67okq6DZjKDQw;-><clinit>()V
PLcom/android/server/backup/-$$Lambda$TransportManager$4ND1hZMerK5gHU67okq6DZjKDQw;-><init>()V
-PLcom/android/server/backup/-$$Lambda$TransportManager$4ND1hZMerK5gHU67okq6DZjKDQw;->test(Ljava/lang/Object;)Z
+PLcom/android/server/backup/-$$Lambda$TransportManager$Qbutmzd17ICwZdy0UzRrO-3_VK0;-><clinit>()V
PLcom/android/server/backup/-$$Lambda$TransportManager$Qbutmzd17ICwZdy0UzRrO-3_VK0;-><init>()V
PLcom/android/server/backup/-$$Lambda$TransportManager$Qbutmzd17ICwZdy0UzRrO-3_VK0;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/backup/-$$Lambda$TransportManager$Z9ckpFUW2V4jkdHnyXIEiLuAoBc;-><init>()V
+PLcom/android/server/backup/-$$Lambda$TransportManager$Z9ckpFUW2V4jkdHnyXIEiLuAoBc;-><clinit>()V
+PLcom/android/server/backup/-$$Lambda$TransportManager$Z9ckpFUW2V4jkdHnyXIEiLuAoBc;-><init>()V
+PLcom/android/server/backup/-$$Lambda$TransportManager$_dxJobf45tWiMkaNlKY-z26kB2Q;-><init>(Ljava/lang/String;)V
PLcom/android/server/backup/-$$Lambda$TransportManager$_dxJobf45tWiMkaNlKY-z26kB2Q;->test(Ljava/lang/Object;)Z
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$9w65wn45YYtTkXbyQZdj_7K5LSs;-><init>(Lcom/android/server/backup/UserBackupManagerService$2;Ljava/lang/String;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$9w65wn45YYtTkXbyQZdj_7K5LSs;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$ICUfBQAK1UQkmGSsPDmR00etFBk;-><init>(Lcom/android/server/backup/UserBackupManagerService$2;Ljava/lang/String;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$ICUfBQAK1UQkmGSsPDmR00etFBk;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$VpHOYQHCWBG618oharjEXEDr57U;-><init>(Lcom/android/server/backup/UserBackupManagerService$2;Ljava/lang/String;[Ljava/lang/String;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$VpHOYQHCWBG618oharjEXEDr57U;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$9cuIH_XloqtNByp_6hXeGaVars8;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$9cuIH_XloqtNByp_6hXeGaVars8;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$TB8LUl0TwUK9CmmdepXioEU4Qxg;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$TB8LUl0TwUK9CmmdepXioEU4Qxg;->onFinished(Ljava/lang/String;)V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$W51Aw9Pu9AOsFVYQgIZy31INmwI;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$W51Aw9Pu9AOsFVYQgIZy31INmwI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$_gNqJq9Ygtc0ZVwYhCSDKCUKrKY;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$_gNqJq9Ygtc0ZVwYhCSDKCUKrKY;->run()V
-PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$sAYsrY5C5zAl7EgKgwo188kx6JE;->onFinished(Ljava/lang/String;)V
+PLcom/android/server/backup/-$$Lambda$pM_c5tVAGDtxjxLF_ONtACWWq6Q;-><init>(Lcom/android/server/backup/TransportManager;)V
PLcom/android/server/backup/-$$Lambda$pM_c5tVAGDtxjxLF_ONtACWWq6Q;->run()V
-PLcom/android/server/backup/BackupAgentTimeoutParameters;->getFullBackupAgentTimeoutMillis()J
+PLcom/android/server/backup/BackupAgentTimeoutParameters;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;)V
PLcom/android/server/backup/BackupAgentTimeoutParameters;->getKvBackupAgentTimeoutMillis()J
-PLcom/android/server/backup/BackupAgentTimeoutParameters;->getQuotaExceededTimeoutMillis()J
-HSPLcom/android/server/backup/BackupAgentTimeoutParameters;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
-HSPLcom/android/server/backup/BackupAgentTimeoutParameters;->update(Landroid/util/KeyValueListParser;)V
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->getRestoreAgentFinishedTimeoutMillis()J
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->getRestoreAgentTimeoutMillis()J
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->update(Landroid/util/KeyValueListParser;)V
+PLcom/android/server/backup/BackupManagerConstants;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;)V
PLcom/android/server/backup/BackupManagerConstants;->getBackupFinishedNotificationReceivers()[Ljava/lang/String;
PLcom/android/server/backup/BackupManagerConstants;->getFullBackupIntervalMilliseconds()J
PLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequireCharging()Z
PLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequiredNetworkType()I
-HSPLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupFuzzMilliseconds()J
-HSPLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupIntervalMilliseconds()J
-HSPLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequireCharging()Z
-HSPLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequiredNetworkType()I
-HSPLcom/android/server/backup/BackupManagerConstants;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
-HSPLcom/android/server/backup/BackupManagerConstants;->update(Landroid/util/KeyValueListParser;)V
-HSPLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/backup/BackupManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/backup/BackupManagerService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/backup/BackupManagerService;-><init>(Landroid/content/Context;Lcom/android/server/backup/Trampoline;Landroid/os/HandlerThread;)V
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupFuzzMilliseconds()J
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupIntervalMilliseconds()J
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequireCharging()Z
+PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequiredNetworkType()I
+PLcom/android/server/backup/BackupManagerConstants;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerConstants;->update(Landroid/util/KeyValueListParser;)V
+PLcom/android/server/backup/BackupManagerService$1;-><init>(Lcom/android/server/backup/BackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;Lcom/android/server/backup/BackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->onStart()V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->publishService(Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/backup/BackupManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/backup/BackupManagerService;-><init>(Landroid/content/Context;Landroid/util/SparseArray;)V
+PLcom/android/server/backup/BackupManagerService;->activateBackupForUserLocked(I)V
PLcom/android/server/backup/BackupManagerService;->agentConnected(ILjava/lang/String;Landroid/os/IBinder;)V
-PLcom/android/server/backup/BackupManagerService;->backupNow(I)V
-PLcom/android/server/backup/BackupManagerService;->beginFullBackup(ILcom/android/server/backup/FullBackupJob;)Z
-HSPLcom/android/server/backup/BackupManagerService;->dataChanged(ILjava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->agentConnectedForUser(ILjava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/backup/BackupManagerService;->binderGetCallingUid()I
+HPLcom/android/server/backup/BackupManagerService;->binderGetCallingUserId()I
+PLcom/android/server/backup/BackupManagerService;->createFile(Ljava/io/File;)V
+PLcom/android/server/backup/BackupManagerService;->dataChanged(ILjava/lang/String;)V
+HPLcom/android/server/backup/BackupManagerService;->dataChanged(Ljava/lang/String;)V
+HPLcom/android/server/backup/BackupManagerService;->dataChangedForUser(ILjava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->enforcePermissionsOnUser(I)V
+PLcom/android/server/backup/BackupManagerService;->getActivatedFileForNonSystemUser(I)Ljava/io/File;
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransport()Ljava/lang/String;
PLcom/android/server/backup/BackupManagerService;->getCurrentTransport(I)Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransportForUser(I)Ljava/lang/String;
PLcom/android/server/backup/BackupManagerService;->getDataManagementIntent(ILjava/lang/String;)Landroid/content/Intent;
-HSPLcom/android/server/backup/BackupManagerService;->getServiceForUserIfCallerHasPermission(ILjava/lang/String;)Lcom/android/server/backup/UserBackupManagerService;
-HSPLcom/android/server/backup/BackupManagerService;->getServiceUsers()Landroid/util/SparseArray;
-PLcom/android/server/backup/BackupManagerService;->isAppEligibleForBackup(ILjava/lang/String;)Z
+PLcom/android/server/backup/BackupManagerService;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/BackupManagerService;->getDataManagementIntentForUser(ILjava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/BackupManagerService;->getRememberActivatedFileForNonSystemUser(I)Ljava/io/File;
+PLcom/android/server/backup/BackupManagerService;->getServiceForUserIfCallerHasPermission(ILjava/lang/String;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/BackupManagerService;->getSuppressFileForSystemUser()Ljava/io/File;
+PLcom/android/server/backup/BackupManagerService;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/backup/BackupManagerService;->isBackupActivatedForUser(I)Z
+PLcom/android/server/backup/BackupManagerService;->isBackupDisabled()Z
+PLcom/android/server/backup/BackupManagerService;->isBackupEnabled()Z
PLcom/android/server/backup/BackupManagerService;->isBackupEnabled(I)Z
-PLcom/android/server/backup/BackupManagerService;->listAllTransports(I)[Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerService;->isBackupEnabledForUser(I)Z
+PLcom/android/server/backup/BackupManagerService;->isBackupServiceActive(I)Z
+HPLcom/android/server/backup/BackupManagerService;->isUserReadyForBackup(I)Z
+PLcom/android/server/backup/BackupManagerService;->lambda$onUnlockUser$0$BackupManagerService(I)V
PLcom/android/server/backup/BackupManagerService;->opComplete(IIJ)V
-PLcom/android/server/backup/BackupManagerService;->requestBackup(I[Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
+HPLcom/android/server/backup/BackupManagerService;->opCompleteForUser(IIJ)V
PLcom/android/server/backup/BackupManagerService;->restoreAtInstall(ILjava/lang/String;I)V
-HSPLcom/android/server/backup/BackupManagerService;->startServiceForUser(I)V
-HSPLcom/android/server/backup/BackupManagerService;->startServiceForUser(ILcom/android/server/backup/UserBackupManagerService;)V
-PLcom/android/server/backup/BackupManagerService;->stopServiceForUser(I)V
+PLcom/android/server/backup/BackupManagerService;->restoreAtInstallForUser(ILjava/lang/String;I)V
+PLcom/android/server/backup/BackupManagerService;->setBackupServiceActive(IZ)V
+PLcom/android/server/backup/BackupManagerService;->startServiceForUser(I)V
PLcom/android/server/backup/BackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/backup/BackupPasswordManager;->loadStateFromFilesystem()V
+PLcom/android/server/backup/BackupManagerService;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec;-><init>()V
+PLcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec;-><init>(Lcom/android/server/backup/BackupPasswordManager$1;)V
+PLcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec;-><init>()V
+PLcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec;-><init>(Lcom/android/server/backup/BackupPasswordManager$1;)V
+PLcom/android/server/backup/BackupPasswordManager;-><init>(Landroid/content/Context;Ljava/io/File;Ljava/security/SecureRandom;)V
+PLcom/android/server/backup/BackupPasswordManager;->getPasswordHashFile()Ljava/io/File;
+PLcom/android/server/backup/BackupPasswordManager;->getPasswordHashFileCodec()Lcom/android/server/backup/utils/DataStreamFileCodec;
+PLcom/android/server/backup/BackupPasswordManager;->getPasswordVersionFileCodec()Lcom/android/server/backup/utils/DataStreamFileCodec;
+PLcom/android/server/backup/BackupPasswordManager;->loadStateFromFilesystem()V
PLcom/android/server/backup/BackupUtils;->hashSignature(Landroid/content/pm/Signature;)[B
PLcom/android/server/backup/BackupUtils;->hashSignature([B)[B
+HPLcom/android/server/backup/BackupUtils;->hashSignatureArray([Landroid/content/pm/Signature;)Ljava/util/ArrayList;
PLcom/android/server/backup/BackupUtils;->signaturesMatch(Ljava/util/ArrayList;Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageManagerInternal;)Z
-HSPLcom/android/server/backup/DataChangedJournal;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/backup/DataChangedJournal;->addPackage(Ljava/lang/String;)V
+PLcom/android/server/backup/DataChangedJournal;-><init>(Ljava/io/File;)V
+PLcom/android/server/backup/DataChangedJournal;->addPackage(Ljava/lang/String;)V
PLcom/android/server/backup/DataChangedJournal;->delete()Z
PLcom/android/server/backup/DataChangedJournal;->equals(Ljava/lang/Object;)Z
PLcom/android/server/backup/DataChangedJournal;->forEach(Ljava/util/function/Consumer;)V
-PLcom/android/server/backup/FullBackupJob;-><init>()V
-PLcom/android/server/backup/FullBackupJob;->finishBackupPass(I)V
-PLcom/android/server/backup/FullBackupJob;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/backup/FullBackupJob;->onStopJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/backup/DataChangedJournal;->listJournals(Ljava/io/File;)Ljava/util/ArrayList;
+PLcom/android/server/backup/DataChangedJournal;->newJournal(Ljava/io/File;)Lcom/android/server/backup/DataChangedJournal;
+PLcom/android/server/backup/FileMetadata;-><init>()V
+PLcom/android/server/backup/FullBackupJob;-><clinit>()V
+PLcom/android/server/backup/FullBackupJob;->getJobIdForUserId(I)I
PLcom/android/server/backup/FullBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
+PLcom/android/server/backup/JobIdManager;->getJobIdForUserId(III)I
+PLcom/android/server/backup/KeyValueBackupJob;-><clinit>()V
PLcom/android/server/backup/KeyValueBackupJob;-><init>()V
-HSPLcom/android/server/backup/KeyValueBackupJob;->cancel(ILandroid/content/Context;)V
-HSPLcom/android/server/backup/KeyValueBackupJob;->getJobIdForUserId(I)I
-PLcom/android/server/backup/KeyValueBackupJob;->nextScheduled(I)J
+PLcom/android/server/backup/KeyValueBackupJob;->cancel(ILandroid/content/Context;)V
+PLcom/android/server/backup/KeyValueBackupJob;->clearScheduledForUserId(I)V
+PLcom/android/server/backup/KeyValueBackupJob;->getJobIdForUserId(I)I
PLcom/android/server/backup/KeyValueBackupJob;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
-HSPLcom/android/server/backup/PackageManagerBackupAgent;->getStorableApplications(Landroid/content/pm/PackageManager;I)Ljava/util/List;
+PLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
+HPLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerConstants;)V
+PLcom/android/server/backup/PackageManagerBackupAgent$AncestralVersion1RestoreDataConsumer;-><init>(Lcom/android/server/backup/PackageManagerBackupAgent;)V
+PLcom/android/server/backup/PackageManagerBackupAgent$AncestralVersion1RestoreDataConsumer;-><init>(Lcom/android/server/backup/PackageManagerBackupAgent;Lcom/android/server/backup/PackageManagerBackupAgent$1;)V
+HPLcom/android/server/backup/PackageManagerBackupAgent$AncestralVersion1RestoreDataConsumer;->consumeRestoreData(Landroid/app/backup/BackupDataInput;)V
+PLcom/android/server/backup/PackageManagerBackupAgent$Metadata;-><init>(Lcom/android/server/backup/PackageManagerBackupAgent;JLjava/util/ArrayList;)V
+PLcom/android/server/backup/PackageManagerBackupAgent;-><init>(Landroid/content/pm/PackageManager;I)V
+PLcom/android/server/backup/PackageManagerBackupAgent;-><init>(Landroid/content/pm/PackageManager;Ljava/util/List;I)V
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$1002(Lcom/android/server/backup/PackageManagerBackupAgent;Ljava/util/HashMap;)Ljava/util/HashMap;
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$202(Lcom/android/server/backup/PackageManagerBackupAgent;I)I
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$302(Lcom/android/server/backup/PackageManagerBackupAgent;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$402(Lcom/android/server/backup/PackageManagerBackupAgent;Z)Z
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$502(Lcom/android/server/backup/PackageManagerBackupAgent;Landroid/content/ComponentName;)Landroid/content/ComponentName;
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$602(Lcom/android/server/backup/PackageManagerBackupAgent;J)J
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$702(Lcom/android/server/backup/PackageManagerBackupAgent;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$802(Lcom/android/server/backup/PackageManagerBackupAgent;Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/backup/PackageManagerBackupAgent;->access$900(Ljava/io/DataInputStream;)Ljava/util/ArrayList;
+PLcom/android/server/backup/PackageManagerBackupAgent;->evaluateStorablePackages()V
+PLcom/android/server/backup/PackageManagerBackupAgent;->getAncestralRecordVersionValue(Landroid/app/backup/BackupDataInput;)I
+PLcom/android/server/backup/PackageManagerBackupAgent;->getPreferredHomeComponent()Landroid/content/ComponentName;
+PLcom/android/server/backup/PackageManagerBackupAgent;->getRestoreDataConsumer(I)Lcom/android/server/backup/PackageManagerBackupAgent$RestoreDataConsumer;
+PLcom/android/server/backup/PackageManagerBackupAgent;->getRestoredMetadata(Ljava/lang/String;)Lcom/android/server/backup/PackageManagerBackupAgent$Metadata;
+PLcom/android/server/backup/PackageManagerBackupAgent;->getStorableApplications(Landroid/content/pm/PackageManager;I)Ljava/util/List;
+PLcom/android/server/backup/PackageManagerBackupAgent;->hasMetadata()Z
+PLcom/android/server/backup/PackageManagerBackupAgent;->init(Landroid/content/pm/PackageManager;Ljava/util/List;I)V
PLcom/android/server/backup/PackageManagerBackupAgent;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/backup/PackageManagerBackupAgent;->onRestore(Landroid/app/backup/BackupDataInput;ILandroid/os/ParcelFileDescriptor;)V
PLcom/android/server/backup/PackageManagerBackupAgent;->parseStateFile(Landroid/os/ParcelFileDescriptor;)V
PLcom/android/server/backup/PackageManagerBackupAgent;->readSignatureHashArray(Ljava/io/DataInputStream;)Ljava/util/ArrayList;
+HPLcom/android/server/backup/PackageManagerBackupAgent;->writeEntity(Landroid/app/backup/BackupDataOutput;Ljava/lang/String;[B)V
+HPLcom/android/server/backup/PackageManagerBackupAgent;->writeSignatureHashArray(Ljava/io/DataOutputStream;Ljava/util/ArrayList;)V
PLcom/android/server/backup/PackageManagerBackupAgent;->writeStateFile(Ljava/util/List;Landroid/content/ComponentName;JLjava/util/ArrayList;Landroid/os/ParcelFileDescriptor;)V
-PLcom/android/server/backup/ProcessedPackagesJournal;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/backup/ProcessedPackagesJournal;-><init>(Ljava/io/File;)V
PLcom/android/server/backup/ProcessedPackagesJournal;->addPackage(Ljava/lang/String;)V
-PLcom/android/server/backup/ProcessedPackagesJournal;->getPackagesCopy()Ljava/util/Set;
-PLcom/android/server/backup/ProcessedPackagesJournal;->hasBeenProcessed(Ljava/lang/String;)Z
-HSPLcom/android/server/backup/ProcessedPackagesJournal;->init()V
-HSPLcom/android/server/backup/ProcessedPackagesJournal;->loadFromDisk()V
+PLcom/android/server/backup/ProcessedPackagesJournal;->init()V
+PLcom/android/server/backup/ProcessedPackagesJournal;->loadFromDisk()V
PLcom/android/server/backup/ProcessedPackagesJournal;->reset()V
-HSPLcom/android/server/backup/Trampoline;-><init>(Landroid/content/Context;)V
-PLcom/android/server/backup/Trampoline;->agentConnectedForUser(ILjava/lang/String;Landroid/os/IBinder;)V
-PLcom/android/server/backup/Trampoline;->backupNowForUser(I)V
-PLcom/android/server/backup/Trampoline;->beginFullBackup(ILcom/android/server/backup/FullBackupJob;)Z
-PLcom/android/server/backup/Trampoline;->binderGetCallingUid()I
-HSPLcom/android/server/backup/Trampoline;->binderGetCallingUserId()I
-HSPLcom/android/server/backup/Trampoline;->createBackupManagerService()Lcom/android/server/backup/BackupManagerService;
-HSPLcom/android/server/backup/Trampoline;->dataChanged(Ljava/lang/String;)V
-HSPLcom/android/server/backup/Trampoline;->dataChangedForUser(ILjava/lang/String;)V
-PLcom/android/server/backup/Trampoline;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/backup/Trampoline;->enforcePermissionsOnUser(I)V
-PLcom/android/server/backup/Trampoline;->getActivatedFileForNonSystemUser(I)Ljava/io/File;
-PLcom/android/server/backup/Trampoline;->getCurrentTransport()Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->getCurrentTransportForUser(I)Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
-PLcom/android/server/backup/Trampoline;->getDataManagementIntentForUser(ILjava/lang/String;)Landroid/content/Intent;
-PLcom/android/server/backup/Trampoline;->getRememberActivatedFileForNonSystemUser(I)Ljava/io/File;
-HSPLcom/android/server/backup/Trampoline;->getSuppressFileForSystemUser()Ljava/io/File;
-PLcom/android/server/backup/Trampoline;->getUserManager()Landroid/os/UserManager;
-HSPLcom/android/server/backup/Trampoline;->initializeService()V
-PLcom/android/server/backup/Trampoline;->isAppEligibleForBackupForUser(ILjava/lang/String;)Z
-HSPLcom/android/server/backup/Trampoline;->isBackupDisabled()Z
-PLcom/android/server/backup/Trampoline;->isBackupEnabled()Z
-PLcom/android/server/backup/Trampoline;->isBackupEnabledForUser(I)Z
-PLcom/android/server/backup/Trampoline;->isBackupServiceActive(I)Z
-HSPLcom/android/server/backup/Trampoline;->lambda$initializeService$0$Trampoline()V
-PLcom/android/server/backup/Trampoline;->lambda$stopUser$2$Trampoline(I)V
-HSPLcom/android/server/backup/Trampoline;->lambda$unlockUser$1$Trampoline(I)V
-PLcom/android/server/backup/Trampoline;->listAllTransports()[Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->listAllTransportsForUser(I)[Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->opCompleteForUser(IIJ)V
-HSPLcom/android/server/backup/Trampoline;->postToHandler(Ljava/lang/Runnable;)V
-PLcom/android/server/backup/Trampoline;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
-PLcom/android/server/backup/Trampoline;->requestBackupForUser(I[Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
-PLcom/android/server/backup/Trampoline;->restoreAtInstallForUser(ILjava/lang/String;I)V
-PLcom/android/server/backup/Trampoline;->selectBackupTransport(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->selectBackupTransportForUser(ILjava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->setBackupServiceActive(IZ)V
-HSPLcom/android/server/backup/Trampoline;->startServiceForUser(I)V
-PLcom/android/server/backup/Trampoline;->stopUser(I)V
-HSPLcom/android/server/backup/Trampoline;->unlockUser(I)V
-PLcom/android/server/backup/Trampoline;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/backup/TransportManager;-><init>(ILandroid/content/Context;Ljava/util/Set;Ljava/lang/String;)V
+PLcom/android/server/backup/SystemBackupAgent;-><clinit>()V
+PLcom/android/server/backup/SystemBackupAgent;-><init>()V
+PLcom/android/server/backup/SystemBackupAgent;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
+PLcom/android/server/backup/SystemBackupAgent;->onCreate(Landroid/os/UserHandle;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;Lcom/android/server/backup/TransportManager$1;)V
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$000(Lcom/android/server/backup/TransportManager$TransportDescription;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$002(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$100(Lcom/android/server/backup/TransportManager$TransportDescription;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$202(Lcom/android/server/backup/TransportManager$TransportDescription;Landroid/content/Intent;)Landroid/content/Intent;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$302(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$400(Lcom/android/server/backup/TransportManager$TransportDescription;)Landroid/content/Intent;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$402(Lcom/android/server/backup/TransportManager$TransportDescription;Landroid/content/Intent;)Landroid/content/Intent;
+PLcom/android/server/backup/TransportManager$TransportDescription;->access$502(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+PLcom/android/server/backup/TransportManager;-><init>(ILandroid/content/Context;Ljava/util/Set;Ljava/lang/String;)V
+PLcom/android/server/backup/TransportManager;->checkCanUseTransport()V
PLcom/android/server/backup/TransportManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
-PLcom/android/server/backup/TransportManager;->dumpTransportClients(Ljava/io/PrintWriter;)V
+PLcom/android/server/backup/TransportManager;->fromPackageFilter(Ljava/lang/String;)Ljava/util/function/Predicate;
PLcom/android/server/backup/TransportManager;->getCurrentTransportClient(Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
-PLcom/android/server/backup/TransportManager;->getCurrentTransportClientOrThrow(Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
PLcom/android/server/backup/TransportManager;->getCurrentTransportName()Ljava/lang/String;
+PLcom/android/server/backup/TransportManager;->getRegisteredTransportComponentLocked(Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/backup/TransportManager;->getRegisteredTransportDescriptionLocked(Ljava/lang/String;)Lcom/android/server/backup/TransportManager$TransportDescription;
PLcom/android/server/backup/TransportManager;->getRegisteredTransportDescriptionOrThrowLocked(Landroid/content/ComponentName;)Lcom/android/server/backup/TransportManager$TransportDescription;
PLcom/android/server/backup/TransportManager;->getRegisteredTransportDescriptionOrThrowLocked(Ljava/lang/String;)Lcom/android/server/backup/TransportManager$TransportDescription;
PLcom/android/server/backup/TransportManager;->getRegisteredTransportEntryLocked(Ljava/lang/String;)Ljava/util/Map$Entry;
-PLcom/android/server/backup/TransportManager;->getRegisteredTransportNames()[Ljava/lang/String;
PLcom/android/server/backup/TransportManager;->getTransportClient(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
PLcom/android/server/backup/TransportManager;->getTransportClientOrThrow(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
-PLcom/android/server/backup/TransportManager;->getTransportConfigurationIntent(Ljava/lang/String;)Landroid/content/Intent;
-PLcom/android/server/backup/TransportManager;->getTransportCurrentDestinationString(Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/backup/TransportManager;->getTransportDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
PLcom/android/server/backup/TransportManager;->getTransportDirName(Landroid/content/ComponentName;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager;->getTransportDirName(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager;->getTransportWhitelist()Ljava/util/Set;
-PLcom/android/server/backup/TransportManager;->isTransportRegistered(Ljava/lang/String;)Z
PLcom/android/server/backup/TransportManager;->isTransportTrusted(Landroid/content/ComponentName;)Z
+PLcom/android/server/backup/TransportManager;->lambda$fromPackageFilter$3(Ljava/lang/String;Landroid/content/ComponentName;)Z
+PLcom/android/server/backup/TransportManager;->lambda$registerTransports$2(Landroid/content/ComponentName;)Z
PLcom/android/server/backup/TransportManager;->onPackageAdded(Ljava/lang/String;)V
PLcom/android/server/backup/TransportManager;->onPackageChanged(Ljava/lang/String;[Ljava/lang/String;)V
PLcom/android/server/backup/TransportManager;->onPackageRemoved(Ljava/lang/String;)V
@@ -4860,50 +5507,78 @@ PLcom/android/server/backup/TransportManager;->registerTransport(Landroid/conten
PLcom/android/server/backup/TransportManager;->registerTransports()V
PLcom/android/server/backup/TransportManager;->registerTransportsForIntent(Landroid/content/Intent;Ljava/util/function/Predicate;)V
PLcom/android/server/backup/TransportManager;->registerTransportsFromPackage(Ljava/lang/String;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/backup/TransportManager;->setOnTransportRegisteredListener(Lcom/android/server/backup/transport/OnTransportRegisteredListener;)V
+PLcom/android/server/backup/TransportManager;->setOnTransportRegisteredListener(Lcom/android/server/backup/transport/OnTransportRegisteredListener;)V
PLcom/android/server/backup/TransportManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->readBackupEnableState(Ljava/io/File;)Z
-HSPLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->writeBackupEnableState(Ljava/io/File;Z)V
-HSPLcom/android/server/backup/UserBackupManagerService$1;->run()V
+PLcom/android/server/backup/UsageStatsBackupHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/backup/UsageStatsBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->readBackupEnableState(I)Z
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->readBackupEnableState(Ljava/io/File;)Z
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->writeBackupEnableState(IZ)V
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->writeBackupEnableState(Ljava/io/File;Z)V
+PLcom/android/server/backup/UserBackupManagerFiles;->getBaseDir(I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerFiles;->getBaseStateDir(I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerFiles;->getDataDir(I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerFiles;->getStateDirInSystemDir(I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerFiles;->getStateFileInSystemDir(Ljava/lang/String;I)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerService$1;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+HPLcom/android/server/backup/UserBackupManagerService$1;->run()V
+PLcom/android/server/backup/UserBackupManagerService$2;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
PLcom/android/server/backup/UserBackupManagerService$2;->lambda$onReceive$0$UserBackupManagerService$2(Ljava/lang/String;[Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService$2;->lambda$onReceive$1$UserBackupManagerService$2(Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService$2;->lambda$onReceive$2$UserBackupManagerService$2(Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/backup/UserBackupManagerService$4;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
PLcom/android/server/backup/UserBackupManagerService$4;->run()V
-HSPLcom/android/server/backup/UserBackupManagerService;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/backup/UserBackupManagerService;-><init>(ILandroid/content/Context;Lcom/android/server/backup/Trampoline;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)V
-HSPLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLockedInner(Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;-><init>(Landroid/os/PowerManager$WakeLock;)V
+PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->access$000(Lcom/android/server/backup/UserBackupManagerService$BackupWakeLock;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->acquire()V
+PLcom/android/server/backup/UserBackupManagerService$BackupWakeLock;->release()V
+PLcom/android/server/backup/UserBackupManagerService;-><init>(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerService;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)V
+PLcom/android/server/backup/UserBackupManagerService;->access$100(Lcom/android/server/backup/UserBackupManagerService;)Ljava/lang/Object;
+PLcom/android/server/backup/UserBackupManagerService;->access$1000(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->access$1100(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/UserBackupManagerService;->access$1200(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/TransportManager;
+HPLcom/android/server/backup/UserBackupManagerService;->access$1400(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
+HPLcom/android/server/backup/UserBackupManagerService;->access$200(Lcom/android/server/backup/UserBackupManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/backup/UserBackupManagerService;->access$300(Lcom/android/server/backup/UserBackupManagerService;)Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerService;->access$400(Lcom/android/server/backup/UserBackupManagerService;)Lcom/android/server/backup/internal/BackupHandler;
+PLcom/android/server/backup/UserBackupManagerService;->access$500(Lcom/android/server/backup/UserBackupManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/backup/UserBackupManagerService;->access$600(Lcom/android/server/backup/UserBackupManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/backup/UserBackupManagerService;->access$700(Lcom/android/server/backup/UserBackupManagerService;[Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->access$800(Lcom/android/server/backup/UserBackupManagerService;)I
+PLcom/android/server/backup/UserBackupManagerService;->access$900(Lcom/android/server/backup/UserBackupManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLocked([Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLockedInner(Ljava/lang/String;Ljava/util/List;)V
PLcom/android/server/backup/UserBackupManagerService;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLcom/android/server/backup/UserBackupManagerService;->allAgentPackages()Ljava/util/List;
+HPLcom/android/server/backup/UserBackupManagerService;->allAgentPackages()Ljava/util/List;
PLcom/android/server/backup/UserBackupManagerService;->backupNow()V
-PLcom/android/server/backup/UserBackupManagerService;->beginFullBackup(Lcom/android/server/backup/FullBackupJob;)Z
PLcom/android/server/backup/UserBackupManagerService;->bindToAgentSynchronous(Landroid/content/pm/ApplicationInfo;I)Landroid/app/IBackupAgent;
-HSPLcom/android/server/backup/UserBackupManagerService;->createAndInitializeService(ILandroid/content/Context;Lcom/android/server/backup/Trampoline;Ljava/util/Set;)Lcom/android/server/backup/UserBackupManagerService;
-HSPLcom/android/server/backup/UserBackupManagerService;->dataChanged(Ljava/lang/String;)V
-HSPLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;)V
-HSPLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;Ljava/util/HashSet;)V
-HSPLcom/android/server/backup/UserBackupManagerService;->dataChangedTargets(Ljava/lang/String;)Ljava/util/HashSet;
-PLcom/android/server/backup/UserBackupManagerService;->dequeueFullBackupLocked(Ljava/lang/String;)V
-PLcom/android/server/backup/UserBackupManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/backup/UserBackupManagerService;->dumpInternal(Ljava/io/PrintWriter;)V
+PLcom/android/server/backup/UserBackupManagerService;->clearApplicationDataBeforeRestore(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->clearApplicationDataSynchronous(Ljava/lang/String;ZZ)V
+PLcom/android/server/backup/UserBackupManagerService;->createAndInitializeService(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerService;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/UserBackupManagerService;->createAndInitializeService(ILandroid/content/Context;Lcom/android/server/backup/BackupManagerService;Ljava/util/Set;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/UserBackupManagerService;->dataChanged(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;Ljava/util/HashSet;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedTargets(Ljava/lang/String;)Ljava/util/HashSet;
+HPLcom/android/server/backup/UserBackupManagerService;->dequeueFullBackupLocked(Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService;->enqueueFullBackup(Ljava/lang/String;J)V
-PLcom/android/server/backup/UserBackupManagerService;->fullBackupAllowable(Ljava/lang/String;)Z
PLcom/android/server/backup/UserBackupManagerService;->generateRandomIntegerToken()I
PLcom/android/server/backup/UserBackupManagerService;->getActivityManager()Landroid/app/IActivityManager;
-HSPLcom/android/server/backup/UserBackupManagerService;->getAgentTimeoutParameters()Lcom/android/server/backup/BackupAgentTimeoutParameters;
+PLcom/android/server/backup/UserBackupManagerService;->getAgentTimeoutParameters()Lcom/android/server/backup/BackupAgentTimeoutParameters;
PLcom/android/server/backup/UserBackupManagerService;->getAvailableRestoreToken(Ljava/lang/String;)J
PLcom/android/server/backup/UserBackupManagerService;->getBackupHandler()Landroid/os/Handler;
PLcom/android/server/backup/UserBackupManagerService;->getBackupManagerBinder()Landroid/app/backup/IBackupManager;
PLcom/android/server/backup/UserBackupManagerService;->getBaseStateDir()Ljava/io/File;
-PLcom/android/server/backup/UserBackupManagerService;->getConstants()Lcom/android/server/backup/BackupManagerConstants;
-HSPLcom/android/server/backup/UserBackupManagerService;->getContext()Landroid/content/Context;
+PLcom/android/server/backup/UserBackupManagerService;->getClearDataLock()Ljava/lang/Object;
+PLcom/android/server/backup/UserBackupManagerService;->getContext()Landroid/content/Context;
PLcom/android/server/backup/UserBackupManagerService;->getCurrentOpLock()Ljava/lang/Object;
PLcom/android/server/backup/UserBackupManagerService;->getCurrentOperations()Landroid/util/SparseArray;
PLcom/android/server/backup/UserBackupManagerService;->getCurrentToken()J
PLcom/android/server/backup/UserBackupManagerService;->getCurrentTransport()Ljava/lang/String;
PLcom/android/server/backup/UserBackupManagerService;->getDataDir()Ljava/io/File;
PLcom/android/server/backup/UserBackupManagerService;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/UserBackupManagerService;->getExcludedRestoreKeys([Ljava/lang/String;)Ljava/util/Map;
PLcom/android/server/backup/UserBackupManagerService;->getJournal()Lcom/android/server/backup/DataChangedJournal;
PLcom/android/server/backup/UserBackupManagerService;->getMessageIdForOperationType(I)I
PLcom/android/server/backup/UserBackupManagerService;->getPackageManager()Landroid/content/pm/PackageManager;
@@ -4912,111 +5587,104 @@ PLcom/android/server/backup/UserBackupManagerService;->getPendingBackups()Ljava/
PLcom/android/server/backup/UserBackupManagerService;->getPendingInits()Landroid/util/ArraySet;
PLcom/android/server/backup/UserBackupManagerService;->getPendingRestores()Ljava/util/Queue;
PLcom/android/server/backup/UserBackupManagerService;->getQueueLock()Ljava/lang/Object;
-HSPLcom/android/server/backup/UserBackupManagerService;->getTransportManager()Lcom/android/server/backup/TransportManager;
-HSPLcom/android/server/backup/UserBackupManagerService;->getUserId()I
-PLcom/android/server/backup/UserBackupManagerService;->getWakelock()Landroid/os/PowerManager$WakeLock;
-PLcom/android/server/backup/UserBackupManagerService;->handleCancel(IZ)V
-HSPLcom/android/server/backup/UserBackupManagerService;->initPackageTracking()V
-HSPLcom/android/server/backup/UserBackupManagerService;->initializeBackupEnableState()V
-PLcom/android/server/backup/UserBackupManagerService;->isAppEligibleForBackup(Ljava/lang/String;)Z
+PLcom/android/server/backup/UserBackupManagerService;->getSetupCompleteSettingForUser(Landroid/content/Context;I)Z
+PLcom/android/server/backup/UserBackupManagerService;->getTransportManager()Lcom/android/server/backup/TransportManager;
+PLcom/android/server/backup/UserBackupManagerService;->getUserId()I
+PLcom/android/server/backup/UserBackupManagerService;->getWakelock()Lcom/android/server/backup/UserBackupManagerService$BackupWakeLock;
+PLcom/android/server/backup/UserBackupManagerService;->initPackageTracking()V
+PLcom/android/server/backup/UserBackupManagerService;->initializeBackupEnableState()V
PLcom/android/server/backup/UserBackupManagerService;->isBackupEnabled()Z
PLcom/android/server/backup/UserBackupManagerService;->isBackupOperationInProgress()Z
PLcom/android/server/backup/UserBackupManagerService;->isBackupRunning()Z
PLcom/android/server/backup/UserBackupManagerService;->isEnabled()Z
PLcom/android/server/backup/UserBackupManagerService;->isRestoreInProgress()Z
PLcom/android/server/backup/UserBackupManagerService;->isSetupComplete()Z
+PLcom/android/server/backup/UserBackupManagerService;->lambda$9cuIH_XloqtNByp_6hXeGaVars8(Lcom/android/server/backup/UserBackupManagerService;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->lambda$_gNqJq9Ygtc0ZVwYhCSDKCUKrKY(Lcom/android/server/backup/UserBackupManagerService;)V
PLcom/android/server/backup/UserBackupManagerService;->lambda$parseLeftoverJournals$0$UserBackupManagerService(Ljava/lang/String;)V
-PLcom/android/server/backup/UserBackupManagerService;->lambda$requestBackup$1$UserBackupManagerService(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService;->lambda$restoreAtInstall$6$UserBackupManagerService(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
-PLcom/android/server/backup/UserBackupManagerService;->listAllTransports()[Ljava/lang/String;
PLcom/android/server/backup/UserBackupManagerService;->logBackupComplete(Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService;->makeMetadataAgent()Landroid/app/backup/BackupAgent;
+PLcom/android/server/backup/UserBackupManagerService;->makeMetadataAgent(Ljava/util/List;)Lcom/android/server/backup/PackageManagerBackupAgent;
PLcom/android/server/backup/UserBackupManagerService;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService;->opComplete(IJ)V
PLcom/android/server/backup/UserBackupManagerService;->parseLeftoverJournals()V
PLcom/android/server/backup/UserBackupManagerService;->prepareOperationTimeout(IJLcom/android/server/backup/BackupRestoreTask;I)V
PLcom/android/server/backup/UserBackupManagerService;->putOperation(ILcom/android/server/backup/internal/Operation;)V
-HSPLcom/android/server/backup/UserBackupManagerService;->readFullBackupSchedule()Ljava/util/ArrayList;
+PLcom/android/server/backup/UserBackupManagerService;->readFullBackupSchedule()Ljava/util/ArrayList;
PLcom/android/server/backup/UserBackupManagerService;->removeOperation(I)V
+PLcom/android/server/backup/UserBackupManagerService;->removePackageFromSetLocked(Ljava/util/HashSet;Ljava/lang/String;)V
PLcom/android/server/backup/UserBackupManagerService;->removePackageParticipantsLocked([Ljava/lang/String;I)V
-PLcom/android/server/backup/UserBackupManagerService;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
PLcom/android/server/backup/UserBackupManagerService;->resetBackupState(Ljava/io/File;)V
PLcom/android/server/backup/UserBackupManagerService;->restoreAtInstall(Ljava/lang/String;I)V
PLcom/android/server/backup/UserBackupManagerService;->scheduleNextFullBackupJob(J)V
-HSPLcom/android/server/backup/UserBackupManagerService;->setBackupEnabled(Z)V
+PLcom/android/server/backup/UserBackupManagerService;->setBackupEnabled(Z)V
PLcom/android/server/backup/UserBackupManagerService;->setBackupRunning(Z)V
+PLcom/android/server/backup/UserBackupManagerService;->setClearingData(Z)V
+PLcom/android/server/backup/UserBackupManagerService;->setCurrentToken(J)V
PLcom/android/server/backup/UserBackupManagerService;->setJournal(Lcom/android/server/backup/DataChangedJournal;)V
PLcom/android/server/backup/UserBackupManagerService;->setLastBackupPass(J)V
PLcom/android/server/backup/UserBackupManagerService;->setRestoreInProgress(Z)V
-PLcom/android/server/backup/UserBackupManagerService;->setRunningFullBackupTask(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;)V
PLcom/android/server/backup/UserBackupManagerService;->setWorkSource(Landroid/os/WorkSource;)V
-PLcom/android/server/backup/UserBackupManagerService;->tearDownAgentAndKill(Landroid/content/pm/ApplicationInfo;)V
PLcom/android/server/backup/UserBackupManagerService;->unbindAgent(Landroid/content/pm/ApplicationInfo;)V
PLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
PLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
PLcom/android/server/backup/UserBackupManagerService;->waitUntilOperationComplete(I)Z
+PLcom/android/server/backup/UserBackupManagerService;->writeFullBackupScheduleAsync()V
PLcom/android/server/backup/UserBackupManagerService;->writeRestoreTokens()V
-HSPLcom/android/server/backup/UserBackupManagerService;->writeToJournalLocked(Ljava/lang/String;)V
-PLcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$SinglePackageBackupPreflight$hWbC3_rWMPrteAdbbM5aSW2SKD0;->call(Ljava/lang/Object;)V
-PLcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$ymLoQLrsEpmGaMrcudrdAgsU1Zk;->onFinished(Ljava/lang/String;)V
-PLcom/android/server/backup/fullbackup/AppMetadataBackupWriter;->backupManifest(Landroid/content/pm/PackageInfo;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/backup/fullbackup/AppMetadataBackupWriter;->backupWidget(Landroid/content/pm/PackageInfo;Ljava/io/File;Ljava/io/File;[B)V
-PLcom/android/server/backup/fullbackup/AppMetadataBackupWriter;->getManifestBytes(Landroid/content/pm/PackageInfo;Z)[B
-PLcom/android/server/backup/fullbackup/FullBackupEngine$FullBackupRunner;-><init>(Lcom/android/server/backup/fullbackup/FullBackupEngine;Lcom/android/server/backup/UserBackupManagerService;Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;Landroid/os/ParcelFileDescriptor;IZ)V
-PLcom/android/server/backup/fullbackup/FullBackupEngine$FullBackupRunner;->run()V
-PLcom/android/server/backup/fullbackup/FullBackupEngine;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/io/OutputStream;Lcom/android/server/backup/fullbackup/FullBackupPreflight;Landroid/content/pm/PackageInfo;ZLcom/android/server/backup/BackupRestoreTask;JII)V
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->backupOnePackage()I
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->preflightCheck()I
-HSPLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Lcom/android/server/backup/fullbackup/FullBackupEntry;)I
-HSPLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Ljava/lang/Object;)I
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->getExpectedSizeOrErrorCode()J
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->lambda$preflightFullBackup$0$PerformFullTransportBackupTask$SinglePackageBackupPreflight(Landroid/app/IBackupAgent;JLandroid/app/backup/IBackupCallback;)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->operationComplete(J)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->preflightFullBackup(Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;)I
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;-><init>(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;Landroid/os/ParcelFileDescriptor;Landroid/content/pm/PackageInfo;Lcom/android/server/backup/transport/TransportClient;JII)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->getBackupResultBlocking()I
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->getPreflightResultBlocking()J
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->operationComplete(J)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->registerTask()V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->run()V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->unregisterTask()V
+PLcom/android/server/backup/UserBackupManagerService;->writeToJournalLocked(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupPreferences;-><init>(Landroid/content/Context;Ljava/io/File;)V
+PLcom/android/server/backup/UserBackupPreferences;->getExcludedRestoreKeysForPackages([Ljava/lang/String;)Ljava/util/Map;
+HPLcom/android/server/backup/fullbackup/FullBackupEntry;-><init>(Ljava/lang/String;J)V
+PLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Lcom/android/server/backup/fullbackup/FullBackupEntry;)I
+PLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/backup/fullbackup/FullBackupTask;-><init>(Landroid/app/backup/IFullBackupRestoreObserver;)V
PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;Lcom/android/server/backup/internal/OnTaskFinishedListener;Z)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->cleanUpPipes([Landroid/os/ParcelFileDescriptor;)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->newWithCurrentTransport(Lcom/android/server/backup/UserBackupManagerService;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;ZLjava/lang/String;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->registerTask()V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->run()V
PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->unregisterTask()V
+PLcom/android/server/backup/internal/-$$Lambda$BackupHandler$TJcRazGYTaUxjeiX6mPLlipfZUI;-><init>(Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/transport/TransportClient;)V
PLcom/android/server/backup/internal/-$$Lambda$BackupHandler$TJcRazGYTaUxjeiX6mPLlipfZUI;->onFinished(Ljava/lang/String;)V
-HSPLcom/android/server/backup/internal/BackupHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/backup/internal/BackupHandler;-><init>(Lcom/android/server/backup/UserBackupManagerService;Landroid/os/HandlerThread;)V
+PLcom/android/server/backup/internal/BackupHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/backup/internal/BackupHandler;->lambda$handleMessage$0(Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
+PLcom/android/server/backup/internal/ClearDataObserver;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/internal/ClearDataObserver;->onRemoveCompleted(Ljava/lang/String;Z)V
+HPLcom/android/server/backup/internal/Operation;-><init>(ILcom/android/server/backup/BackupRestoreTask;I)V
+PLcom/android/server/backup/internal/RunBackupReceiver;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
PLcom/android/server/backup/internal/RunBackupReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/backup/internal/RunInitializeReceiver;-><init>(Lcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/internal/SetupObserver;-><init>(Lcom/android/server/backup/UserBackupManagerService;Landroid/os/Handler;)V
+PLcom/android/server/backup/keyvalue/-$$Lambda$KeyValueBackupTask$NN2H32cNizGxrUxqHgqPqGldNsA;-><init>(Lcom/android/server/backup/keyvalue/KeyValueBackupTask;Landroid/app/IBackupAgent;JI)V
PLcom/android/server/backup/keyvalue/-$$Lambda$KeyValueBackupTask$NN2H32cNizGxrUxqHgqPqGldNsA;->call(Ljava/lang/Object;)V
+PLcom/android/server/backup/keyvalue/AgentException;-><init>(Z)V
PLcom/android/server/backup/keyvalue/AgentException;->isTransitory()Z
-PLcom/android/server/backup/keyvalue/BackupRequest;->toString()Ljava/lang/String;
+PLcom/android/server/backup/keyvalue/AgentException;->permanent()Lcom/android/server/backup/keyvalue/AgentException;
+PLcom/android/server/backup/keyvalue/AgentException;->transitory()Lcom/android/server/backup/keyvalue/AgentException;
+PLcom/android/server/backup/keyvalue/BackupException;-><init>()V
+HPLcom/android/server/backup/keyvalue/BackupRequest;-><init>(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;-><init>(Lcom/android/server/backup/UserBackupManagerService;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->getMonitor()Landroid/app/backup/IBackupManagerMonitor;
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->getObserver()Landroid/app/backup/IBackupObserver;
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->getPackageName(Landroid/content/pm/PackageInfo;)Ljava/lang/String;
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onAgentFilesReady(Ljava/io/File;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onAgentResultError(Landroid/content/pm/PackageInfo;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onBackupFinished(I)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onEmptyData(Landroid/content/pm/PackageInfo;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onExtractAgentData(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onInitializeTransport(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onNewThread(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageBackupComplete(Ljava/lang/String;J)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageBackupNonIncrementalRequired(Landroid/content/pm/PackageInfo;)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageBackupTransportFailure(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageNotEligibleForBackup(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageStopped(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onQueueReady(Ljava/util/List;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onRemoteCallReturned(Lcom/android/server/backup/remote/RemoteResult;Ljava/lang/String;)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onRevertTask()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onStartFullBackup(Ljava/util/List;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onStartPackageBackup(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTaskFinished()V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTransportInitialized(I)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTransportPerformBackup(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTransportReady(Ljava/lang/String;)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onWriteWidgetData(Z[B)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;-><clinit>()V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Ljava/util/List;Lcom/android/server/backup/DataChangedJournal;Lcom/android/server/backup/keyvalue/KeyValueBackupReporter;Lcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/List;ZZ)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->SHA1Checksum([B)Ljava/lang/String;
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->applyStateTransaction(I)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->backupPackage(Ljava/lang/String;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->backupPm()V
@@ -5024,16 +5692,20 @@ PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->bindAgent(Landroid/con
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->checkAgentResult(Landroid/content/pm/PackageInfo;Lcom/android/server/backup/remote/RemoteResult;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->checkBackupData(Landroid/content/pm/ApplicationInfo;Ljava/io/File;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->cleanUpAgent(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->cleanUpAgentForError(Lcom/android/server/backup/keyvalue/BackupException;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->cleanUpAgentForTransportStatus(I)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->createFullBackupTask(Ljava/util/List;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractAgentData(Landroid/content/pm/PackageInfo;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractAgentData(Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractPmAgentData(Landroid/content/pm/PackageInfo;)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->finishTask(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->getBackupFinishedStatus(ZI)I
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->getPackageForBackup(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->getPerformBackupFlags(ZZ)I
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->handleTransportStatus(ILjava/lang/String;J)V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->lambda$extractAgentData$0$KeyValueBackupTask(Landroid/app/IBackupAgent;JILandroid/app/backup/IBackupCallback;)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->revertTask()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->registerTask()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->remoteCall(Lcom/android/server/backup/remote/RemoteCallable;JLjava/lang/String;)Lcom/android/server/backup/remote/RemoteResult;
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->run()V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->sendDataToTransport()I
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->sendDataToTransport(Landroid/content/pm/PackageInfo;)I
@@ -5041,35 +5713,102 @@ PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->start(Lcom/android/ser
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->startTask()V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->transportPerformBackup(Landroid/content/pm/PackageInfo;Ljava/io/File;Z)I
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->tryCloseFileDescriptor(Ljava/io/Closeable;Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->unregisterTask()V
PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->writeWidgetPayloadIfAppropriate(Ljava/io/FileDescriptor;Ljava/lang/String;)V
-PLcom/android/server/backup/keyvalue/TaskException;->getStatus()I
-PLcom/android/server/backup/keyvalue/TaskException;->isStateCompromised()Z
-PLcom/android/server/backup/params/RestoreParams;-><init>(Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;JLandroid/content/pm/PackageInfo;IZ[Ljava/lang/String;Lcom/android/server/backup/internal/OnTaskFinishedListener;)V
+PLcom/android/server/backup/params/RestoreParams;-><init>(Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;JLandroid/content/pm/PackageInfo;IZ[Ljava/lang/String;Lcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/Map;)V
+PLcom/android/server/backup/params/RestoreParams;->createForRestoreAtInstall(Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;JLjava/lang/String;ILcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/Map;)Lcom/android/server/backup/params/RestoreParams;
+PLcom/android/server/backup/remote/-$$Lambda$RemoteCall$UZaEiTGjS9e2j04YYkGl3Y2ltU4;-><init>(Lcom/android/server/backup/remote/RemoteCall;)V
PLcom/android/server/backup/remote/-$$Lambda$RemoteCall$UZaEiTGjS9e2j04YYkGl3Y2ltU4;->run()V
+PLcom/android/server/backup/remote/FutureBackupCallback;-><init>(Ljava/util/concurrent/CompletableFuture;)V
PLcom/android/server/backup/remote/FutureBackupCallback;->operationComplete(J)V
+PLcom/android/server/backup/remote/RemoteCall;-><init>(ZLcom/android/server/backup/remote/RemoteCallable;J)V
PLcom/android/server/backup/remote/RemoteCall;->call()Lcom/android/server/backup/remote/RemoteResult;
+PLcom/android/server/backup/remote/RemoteCall;->lambda$UZaEiTGjS9e2j04YYkGl3Y2ltU4(Lcom/android/server/backup/remote/RemoteCall;)V
+PLcom/android/server/backup/remote/RemoteCall;->timeOut()V
+PLcom/android/server/backup/remote/RemoteResult;-><clinit>()V
PLcom/android/server/backup/remote/RemoteResult;-><init>(IJ)V
PLcom/android/server/backup/remote/RemoteResult;->get()J
PLcom/android/server/backup/remote/RemoteResult;->isPresent()Z
-PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;JLandroid/content/pm/PackageInfo;IZ[Ljava/lang/String;Lcom/android/server/backup/internal/OnTaskFinishedListener;)V
+PLcom/android/server/backup/remote/RemoteResult;->of(J)Lcom/android/server/backup/remote/RemoteResult;
+PLcom/android/server/backup/restore/-$$Lambda$FullRestoreEngine$4tWYktC0BIhLX9UJcbVLlqtWGqU;-><clinit>()V
+PLcom/android/server/backup/restore/-$$Lambda$FullRestoreEngine$4tWYktC0BIhLX9UJcbVLlqtWGqU;-><init>()V
+PLcom/android/server/backup/restore/-$$Lambda$FullRestoreEngine$4tWYktC0BIhLX9UJcbVLlqtWGqU;->onBytesRead(J)V
+PLcom/android/server/backup/restore/FullRestoreEngine$1;-><clinit>()V
+PLcom/android/server/backup/restore/FullRestoreEngine;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/BackupRestoreTask;Landroid/app/backup/IFullBackupRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;Landroid/content/pm/PackageInfo;ZIZ)V
+PLcom/android/server/backup/restore/FullRestoreEngine;->getAgent()Landroid/app/IBackupAgent;
+PLcom/android/server/backup/restore/FullRestoreEngine;->getWidgetData()[B
+HPLcom/android/server/backup/restore/FullRestoreEngine;->isCanonicalFilePath(Ljava/lang/String;)Z
+HPLcom/android/server/backup/restore/FullRestoreEngine;->isRestorableFile(Lcom/android/server/backup/FileMetadata;)Z
+PLcom/android/server/backup/restore/FullRestoreEngine;->lambda$restoreOneFile$0(J)V
+HPLcom/android/server/backup/restore/FullRestoreEngine;->restoreOneFile(Ljava/io/InputStream;Z[BLandroid/content/pm/PackageInfo;ZILandroid/app/backup/IBackupManagerMonitor;)Z
+PLcom/android/server/backup/restore/FullRestoreEngine;->setUpPipes()V
+PLcom/android/server/backup/restore/FullRestoreEngine;->shouldForceClearAppDataOnFullRestore(Ljava/lang/String;)Z
+PLcom/android/server/backup/restore/FullRestoreEngine;->tearDownPipes()V
+PLcom/android/server/backup/restore/FullRestoreEngineThread;-><init>(Lcom/android/server/backup/restore/FullRestoreEngine;Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/backup/restore/FullRestoreEngineThread;->run()V
+PLcom/android/server/backup/restore/FullRestoreEngineThread;->waitForResult()I
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask$1;-><clinit>()V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask$StreamFeederThread;-><init>(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;)V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask$StreamFeederThread;->operationComplete(J)V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask$StreamFeederThread;->run()V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IRestoreObserver;Landroid/app/backup/IBackupManagerMonitor;JLandroid/content/pm/PackageInfo;IZ[Ljava/lang/String;Lcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/Map;)V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$000(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$100(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$200(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;)Landroid/app/backup/IBackupManagerMonitor;
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$300(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;)Lcom/android/server/backup/transport/TransportClient;
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$402(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;Z)Z
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$502(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;Landroid/app/IBackupAgent;)Landroid/app/IBackupAgent;
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->access$602(Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;[B)[B
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->dispatchNextRestore()V
PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->execute()V
PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->executeNextState(Lcom/android/server/backup/restore/UnifiedRestoreState;)V
+HPLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->filterExcludedKeys(Ljava/lang/String;Landroid/app/backup/BackupDataInput;Landroid/app/backup/BackupDataOutput;)V
PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->finalizeRestore()V
+HPLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->initiateOneRestore(Landroid/content/pm/PackageInfo;J)V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->keyValueAgentCleanup()V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->operationComplete(J)V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->restoreFinished()V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->restoreFull()V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->restoreKeyValue()V
+PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->sendOnRestorePackage(Ljava/lang/String;)V
PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->sendStartRestore(I)V
PLcom/android/server/backup/restore/PerformUnifiedRestoreTask;->startRestore()V
+PLcom/android/server/backup/restore/RestoreDeleteObserver;-><init>()V
+PLcom/android/server/backup/restore/RestoreEngine;-><init>()V
+PLcom/android/server/backup/restore/RestoreEngine;->getResult()I
+PLcom/android/server/backup/restore/RestoreEngine;->isRunning()Z
+PLcom/android/server/backup/restore/RestoreEngine;->setRunning(Z)V
+PLcom/android/server/backup/restore/RestoreEngine;->waitForResult()I
+PLcom/android/server/backup/restore/RestorePolicy;-><clinit>()V
+PLcom/android/server/backup/restore/RestorePolicy;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/backup/restore/RestorePolicy;->values()[Lcom/android/server/backup/restore/RestorePolicy;
+PLcom/android/server/backup/restore/UnifiedRestoreState;-><clinit>()V
PLcom/android/server/backup/restore/UnifiedRestoreState;-><init>(Ljava/lang/String;I)V
PLcom/android/server/backup/restore/UnifiedRestoreState;->values()[Lcom/android/server/backup/restore/UnifiedRestoreState;
+PLcom/android/server/backup/transport/-$$Lambda$TransportClient$ciIUj0x0CRg93UETUpy2FB5aqCQ;-><init>(Lcom/android/server/backup/transport/TransportClient;Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;)V
PLcom/android/server/backup/transport/-$$Lambda$TransportClient$ciIUj0x0CRg93UETUpy2FB5aqCQ;->run()V
+PLcom/android/server/backup/transport/-$$Lambda$TransportClient$uc3fygwQjQIS_JT7mlt-yMBfJcE;-><init>(Ljava/util/concurrent/CompletableFuture;)V
PLcom/android/server/backup/transport/-$$Lambda$TransportClient$uc3fygwQjQIS_JT7mlt-yMBfJcE;->onTransportConnectionResult(Lcom/android/internal/backup/IBackupTransport;Lcom/android/server/backup/transport/TransportClient;)V
+PLcom/android/server/backup/transport/-$$Lambda$TransportClientManager$3-d3ib7qD5oE9G-iWpfeoufnGXc;-><clinit>()V
+PLcom/android/server/backup/transport/-$$Lambda$TransportClientManager$3-d3ib7qD5oE9G-iWpfeoufnGXc;-><init>()V
+PLcom/android/server/backup/transport/-$$Lambda$TransportClientManager$3-d3ib7qD5oE9G-iWpfeoufnGXc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/backup/transport/TransportClient$TransportConnection;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportClient;)V
+PLcom/android/server/backup/transport/TransportClient$TransportConnection;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportClient;Lcom/android/server/backup/transport/TransportClient$1;)V
PLcom/android/server/backup/transport/TransportClient$TransportConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/backup/transport/TransportClient;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/backup/transport/TransportClient;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/backup/transport/TransportClient;->access$100(Lcom/android/server/backup/transport/TransportClient;Landroid/os/IBinder;)V
+PLcom/android/server/backup/transport/TransportClient;->checkState(ZLjava/lang/String;)V
PLcom/android/server/backup/transport/TransportClient;->checkStateIntegrityLocked()V
PLcom/android/server/backup/transport/TransportClient;->connect(Ljava/lang/String;)Lcom/android/internal/backup/IBackupTransport;
PLcom/android/server/backup/transport/TransportClient;->connectAsync(Lcom/android/server/backup/transport/TransportConnectionListener;Ljava/lang/String;)V
PLcom/android/server/backup/transport/TransportClient;->connectOrThrow(Ljava/lang/String;)Lcom/android/internal/backup/IBackupTransport;
PLcom/android/server/backup/transport/TransportClient;->finalize()V
PLcom/android/server/backup/transport/TransportClient;->getTransportComponent()Landroid/content/ComponentName;
+PLcom/android/server/backup/transport/TransportClient;->lambda$connect$0(Ljava/util/concurrent/CompletableFuture;Lcom/android/internal/backup/IBackupTransport;Lcom/android/server/backup/transport/TransportClient;)V
PLcom/android/server/backup/transport/TransportClient;->lambda$notifyListener$1$TransportClient(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;)V
+PLcom/android/server/backup/transport/TransportClient;->log(ILjava/lang/String;)V
+HPLcom/android/server/backup/transport/TransportClient;->log(ILjava/lang/String;Ljava/lang/String;)V
PLcom/android/server/backup/transport/TransportClient;->markAsDisposed()V
PLcom/android/server/backup/transport/TransportClient;->notifyListener(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;Ljava/lang/String;)V
PLcom/android/server/backup/transport/TransportClient;->notifyListenersAndClearLocked(Lcom/android/internal/backup/IBackupTransport;)V
@@ -5079,683 +5818,710 @@ PLcom/android/server/backup/transport/TransportClient;->saveLogEntry(Ljava/lang/
PLcom/android/server/backup/transport/TransportClient;->setStateLocked(ILcom/android/internal/backup/IBackupTransport;)V
PLcom/android/server/backup/transport/TransportClient;->stateToString(I)Ljava/lang/String;
PLcom/android/server/backup/transport/TransportClient;->toString()Ljava/lang/String;
+PLcom/android/server/backup/transport/TransportClient;->transitionThroughState(III)I
PLcom/android/server/backup/transport/TransportClient;->unbind(Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportClientManager;-><clinit>()V
+PLcom/android/server/backup/transport/TransportClientManager;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;)V
+PLcom/android/server/backup/transport/TransportClientManager;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Ljava/util/function/Function;)V
PLcom/android/server/backup/transport/TransportClientManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
-PLcom/android/server/backup/transport/TransportClientManager;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/backup/transport/TransportClientManager;->getRealTransportIntent(Landroid/content/ComponentName;)Landroid/content/Intent;
PLcom/android/server/backup/transport/TransportClientManager;->getTransportClient(Landroid/content/ComponentName;Landroid/os/Bundle;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
PLcom/android/server/backup/transport/TransportClientManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
PLcom/android/server/backup/transport/TransportClientManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)Lcom/android/server/backup/transport/TransportClient;
+PLcom/android/server/backup/transport/TransportClientManager;->lambda$3-d3ib7qD5oE9G-iWpfeoufnGXc(Landroid/content/ComponentName;)Landroid/content/Intent;
+PLcom/android/server/backup/transport/TransportStats$Stats;-><init>()V
+PLcom/android/server/backup/transport/TransportStats$Stats;->access$000(Lcom/android/server/backup/transport/TransportStats$Stats;J)V
PLcom/android/server/backup/transport/TransportStats$Stats;->register(J)V
+PLcom/android/server/backup/transport/TransportStats;-><init>()V
PLcom/android/server/backup/transport/TransportStats;->registerConnectionTime(Landroid/content/ComponentName;J)V
PLcom/android/server/backup/transport/TransportUtils;->formatMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/backup/utils/AppBackupUtils;->appIsDisabled(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/IPackageManager;I)Z
-HSPLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/IPackageManager;I)Z
-PLcom/android/server/backup/utils/AppBackupUtils;->appIsRunningAndEligibleForBackupWithTransport(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Landroid/content/pm/PackageManager;I)Z
+PLcom/android/server/backup/transport/TransportUtils;->log(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/utils/AppBackupUtils;-><clinit>()V
+HPLcom/android/server/backup/utils/AppBackupUtils;->appGetsFullBackup(Landroid/content/pm/PackageInfo;)Z
+HPLcom/android/server/backup/utils/AppBackupUtils;->appIsDisabled(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManagerInternal;I)Z
+HPLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;I)Z
+HPLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManagerInternal;I)Z
+PLcom/android/server/backup/utils/AppBackupUtils;->appIsStopped(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/backup/utils/AppBackupUtils;->signaturesMatch([Landroid/content/pm/Signature;Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageManagerInternal;)Z
PLcom/android/server/backup/utils/BackupManagerMonitorUtils;->monitorEvent(Landroid/app/backup/IBackupManagerMonitor;ILandroid/content/pm/PackageInfo;ILandroid/os/Bundle;)Landroid/app/backup/IBackupManagerMonitor;
-PLcom/android/server/backup/utils/BackupManagerMonitorUtils;->putMonitoringExtra(Landroid/os/Bundle;Ljava/lang/String;J)Landroid/os/Bundle;
PLcom/android/server/backup/utils/BackupObserverUtils;->sendBackupFinished(Landroid/app/backup/IBackupObserver;I)V
PLcom/android/server/backup/utils/BackupObserverUtils;->sendBackupOnPackageResult(Landroid/app/backup/IBackupObserver;Ljava/lang/String;I)V
-HSPLcom/android/server/backup/utils/DataStreamFileCodec;->deserialize()Ljava/lang/Object;
-PLcom/android/server/backup/utils/FileUtils;->createNewFile(Ljava/io/File;)Ljava/io/File;
-PLcom/android/server/backup/utils/FullBackupUtils;->routeSocketDataToOutput(Landroid/os/ParcelFileDescriptor;Ljava/io/OutputStream;)V
-PLcom/android/server/backup/utils/RandomAccessFileUtils;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/backup/utils/DataStreamFileCodec;-><init>(Ljava/io/File;Lcom/android/server/backup/utils/DataStreamCodec;)V
+PLcom/android/server/backup/utils/DataStreamFileCodec;->deserialize()Ljava/lang/Object;
+PLcom/android/server/backup/utils/FullBackupRestoreObserverUtils;->sendOnRestorePackage(Landroid/app/backup/IFullBackupRestoreObserver;Ljava/lang/String;)Landroid/app/backup/IFullBackupRestoreObserver;
+PLcom/android/server/backup/utils/RandomAccessFileUtils;->getRandomAccessFile(Ljava/io/File;)Ljava/io/RandomAccessFile;
PLcom/android/server/backup/utils/RandomAccessFileUtils;->writeBoolean(Ljava/io/File;Z)V
-PLcom/android/server/biometrics/-$$Lambda$BiometricService$ni36Nnx3a7REfALY4evPZBLfRQA;-><init>(Lcom/android/server/biometrics/BiometricService;ILandroid/hardware/biometrics/IBiometricServiceReceiver;Landroid/os/IBinder;JLjava/lang/String;Landroid/os/Bundle;III)V
-PLcom/android/server/biometrics/-$$Lambda$BiometricService$ni36Nnx3a7REfALY4evPZBLfRQA;->run()V
-PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$3BDtQ31Of-KLPO7tQ7xlp7blHK4;->run()V
-HSPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$F4H2HbJPkB5kHnCG99RJzq63ETk;->run()V
-HSPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$HtA60PD2POS70xjo2Wkv9Ds3iIM;->run()V
-HSPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$aivpKkOumO0Y5eW-DasbcdjcN4o;->run()V
-HSPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$d8jmYuo4MyZZpxoeouUPEq4DMII;->run()V
-HSPLcom/android/server/biometrics/AuthenticationClient;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Metrics;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
-PLcom/android/server/biometrics/AuthenticationClient;->binderDied()V
-PLcom/android/server/biometrics/AuthenticationClient;->getRequireConfirmation()Z
-HSPLcom/android/server/biometrics/AuthenticationClient;->isBiometricPrompt()Z
-HSPLcom/android/server/biometrics/AuthenticationClient;->isCryptoOperation()Z
+HPLcom/android/server/backup/utils/SparseArrayUtils;->union(Landroid/util/SparseArray;)Ljava/util/HashSet;
+HPLcom/android/server/backup/utils/TarBackupReader;-><init>(Ljava/io/InputStream;Lcom/android/server/backup/utils/BytesReadListener;Landroid/app/backup/IBackupManagerMonitor;)V
+PLcom/android/server/backup/utils/TarBackupReader;->chooseRestorePolicy(Landroid/content/pm/PackageManager;ZLcom/android/server/backup/FileMetadata;[Landroid/content/pm/Signature;Landroid/content/pm/PackageManagerInternal;I)Lcom/android/server/backup/restore/RestorePolicy;
+HPLcom/android/server/backup/utils/TarBackupReader;->extractLine([BI[Ljava/lang/String;)I
+HPLcom/android/server/backup/utils/TarBackupReader;->extractRadix([BIII)J
+PLcom/android/server/backup/utils/TarBackupReader;->extractString([BII)Ljava/lang/String;
+PLcom/android/server/backup/utils/TarBackupReader;->readAppManifestAndReturnSignatures(Lcom/android/server/backup/FileMetadata;)[Landroid/content/pm/Signature;
+PLcom/android/server/backup/utils/TarBackupReader;->readExactly(Ljava/io/InputStream;[BII)I
+PLcom/android/server/backup/utils/TarBackupReader;->readPaxExtendedHeader(Lcom/android/server/backup/FileMetadata;)Z
+PLcom/android/server/backup/utils/TarBackupReader;->readTarHeader([B)Z
+HPLcom/android/server/backup/utils/TarBackupReader;->readTarHeaders()Lcom/android/server/backup/FileMetadata;
+PLcom/android/server/backup/utils/TarBackupReader;->skipTarPadding(J)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$5zE_f-JKSpUWsfwvdtw36YktZZ0;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$5zE_f-JKSpUWsfwvdtw36YktZZ0;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$B1PDNz5plOtQUbeZgXMkI_dh_yQ;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/os/IBinder;Z)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$B1PDNz5plOtQUbeZgXMkI_dh_yQ;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$VFT8WmkESkAnonaxJDq_GS_vB4E;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;JLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$VFT8WmkESkAnonaxJDq_GS_vB4E;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$lM-Gght_XjLuQG2iY0xHchO8Xgk;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/EnumerateClient;)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$lM-Gght_XjLuQG2iY0xHchO8Xgk;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$rf3hjPI_nf4EvVsQV7gFCF1-HpI;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;I)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$rf3hjPI_nf4EvVsQV7gFCF1-HpI;->run()V
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;-><init>(Lcom/android/server/biometrics/AuthService;)V
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;-><init>(Lcom/android/server/biometrics/AuthService;Lcom/android/server/biometrics/AuthService$1;)V
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;->canAuthenticate(Ljava/lang/String;I)I
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;->hasEnrolledBiometrics(ILjava/lang/String;)Z
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;->resetLockout([B)V
+PLcom/android/server/biometrics/AuthService$AuthServiceImpl;->setActiveUser(I)V
+PLcom/android/server/biometrics/AuthService$Injector;-><init>()V
+PLcom/android/server/biometrics/AuthService$Injector;->getBiometricService()Landroid/hardware/biometrics/IBiometricService;
+PLcom/android/server/biometrics/AuthService$Injector;->publishBinderService(Lcom/android/server/biometrics/AuthService;Landroid/hardware/biometrics/IAuthService$Stub;)V
+PLcom/android/server/biometrics/AuthService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/AuthService;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/AuthService$Injector;)V
+PLcom/android/server/biometrics/AuthService;->access$000(Lcom/android/server/biometrics/AuthService;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/biometrics/AuthService;->access$100(Lcom/android/server/biometrics/AuthService;)V
+PLcom/android/server/biometrics/AuthService;->access$200(Lcom/android/server/biometrics/AuthService;)V
+PLcom/android/server/biometrics/AuthService;->access$300(Lcom/android/server/biometrics/AuthService;)Landroid/hardware/biometrics/IBiometricService;
+PLcom/android/server/biometrics/AuthService;->checkInternalPermission()V
+PLcom/android/server/biometrics/AuthService;->checkPermission()V
+PLcom/android/server/biometrics/AuthService;->onStart()V
+PLcom/android/server/biometrics/AuthenticationClient;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Constants;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
+PLcom/android/server/biometrics/AuthenticationClient;->isBiometricPrompt()Z
+PLcom/android/server/biometrics/AuthenticationClient;->isCryptoOperation()Z
PLcom/android/server/biometrics/AuthenticationClient;->onAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;ZLjava/util/ArrayList;)Z
-HSPLcom/android/server/biometrics/AuthenticationClient;->onError(JII)Z
-HSPLcom/android/server/biometrics/AuthenticationClient;->start()I
-HSPLcom/android/server/biometrics/AuthenticationClient;->statsAction()I
-HSPLcom/android/server/biometrics/AuthenticationClient;->stop(Z)I
-PLcom/android/server/biometrics/BiometricService$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/biometrics/BiometricService$2;->onAcquired(ILjava/lang/String;)V
-PLcom/android/server/biometrics/BiometricService$2;->onAuthenticationSucceeded(Z[B)V
-PLcom/android/server/biometrics/BiometricService$AuthSession;-><init>(Lcom/android/server/biometrics/BiometricService;Ljava/util/HashMap;Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;IIIIZ)V
-PLcom/android/server/biometrics/BiometricService$AuthSession;->access$2202(Lcom/android/server/biometrics/BiometricService$AuthSession;I)I
-PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
-PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->onConfirmDeviceCredentialError(ILjava/lang/String;)V
-PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->onConfirmDeviceCredentialSuccess()V
-PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->onReadyForAuthentication(IZI)V
-HSPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
+PLcom/android/server/biometrics/AuthenticationClient;->onError(JII)Z
+PLcom/android/server/biometrics/AuthenticationClient;->start()I
+PLcom/android/server/biometrics/AuthenticationClient;->statsAction()I
+PLcom/android/server/biometrics/AuthenticationClient;->stop(Z)I
+PLcom/android/server/biometrics/BiometricService$1;-><init>(Lcom/android/server/biometrics/BiometricService;Landroid/os/Looper;)V
+PLcom/android/server/biometrics/BiometricService$2;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService$3;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService$AuthenticatorWrapper;-><init>(IIILandroid/hardware/biometrics/IBiometricAuthenticator;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;Lcom/android/server/biometrics/BiometricService$1;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->canAuthenticate(Ljava/lang/String;I)I
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->hasEnrolledBiometrics(ILjava/lang/String;)Z
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->registerAuthenticator(IIILandroid/hardware/biometrics/IBiometricAuthenticator;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->resetLockout([B)V
PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->setActiveUser(I)V
-HSPLcom/android/server/biometrics/BiometricService$EnabledOnKeyguardCallback;-><init>(Lcom/android/server/biometrics/BiometricService;Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
-HSPLcom/android/server/biometrics/BiometricService$EnabledOnKeyguardCallback;->binderDied()V
-HSPLcom/android/server/biometrics/BiometricService$SettingObserver;-><init>(Lcom/android/server/biometrics/BiometricService;Landroid/os/Handler;)V
-HSPLcom/android/server/biometrics/BiometricService$SettingObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/biometrics/BiometricService$SettingObserver;->updateContentObserver()V
-HSPLcom/android/server/biometrics/BiometricService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/biometrics/BiometricService;->authenticateInternal(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;IIII)V
-PLcom/android/server/biometrics/BiometricService;->checkAndGetBiometricModality(I)Landroid/util/Pair;
-HSPLcom/android/server/biometrics/BiometricService;->getAuthenticator(I)Landroid/hardware/biometrics/BiometricAuthenticator;
-PLcom/android/server/biometrics/BiometricService;->handleAuthenticationSucceeded(Z[B)V
-PLcom/android/server/biometrics/BiometricService;->handleOnAcquired(ILjava/lang/String;)V
-PLcom/android/server/biometrics/BiometricService;->handleOnReadyForAuthentication(IZI)V
-PLcom/android/server/biometrics/BiometricService;->isEnabledForApp(I)Z
-PLcom/android/server/biometrics/BiometricService;->lambda$handleAuthenticate$1$BiometricService(ILandroid/hardware/biometrics/IBiometricServiceReceiver;Landroid/os/IBinder;JLjava/lang/String;Landroid/os/Bundle;III)V
-HSPLcom/android/server/biometrics/BiometricService;->onStart()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
+PLcom/android/server/biometrics/BiometricService$EnabledOnKeyguardCallback;-><init>(Lcom/android/server/biometrics/BiometricService;Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
+PLcom/android/server/biometrics/BiometricService$Injector;-><init>()V
+PLcom/android/server/biometrics/BiometricService$Injector;->getActivityManagerService()Landroid/app/IActivityManager;
+PLcom/android/server/biometrics/BiometricService$Injector;->getKeyStore()Landroid/security/KeyStore;
+PLcom/android/server/biometrics/BiometricService$Injector;->getSettingObserver(Landroid/content/Context;Landroid/os/Handler;Ljava/util/List;)Lcom/android/server/biometrics/BiometricService$SettingObserver;
+PLcom/android/server/biometrics/BiometricService$Injector;->getStatusBarService()Lcom/android/internal/statusbar/IStatusBarService;
+PLcom/android/server/biometrics/BiometricService$Injector;->publishBinderService(Lcom/android/server/biometrics/BiometricService;Landroid/hardware/biometrics/IBiometricService$Stub;)V
+PLcom/android/server/biometrics/BiometricService$SettingObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/util/List;)V
+PLcom/android/server/biometrics/BiometricService$SettingObserver;->getFaceEnabledOnKeyguard()Z
+PLcom/android/server/biometrics/BiometricService$SettingObserver;->onChange(ZLandroid/net/Uri;I)V
+PLcom/android/server/biometrics/BiometricService$SettingObserver;->updateContentObserver()V
+PLcom/android/server/biometrics/BiometricService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/BiometricService;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/BiometricService$Injector;)V
+PLcom/android/server/biometrics/BiometricService;->access$1100(Lcom/android/server/biometrics/BiometricService;)Ljava/util/List;
+PLcom/android/server/biometrics/BiometricService;->access$1200(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService;->access$1300(Lcom/android/server/biometrics/BiometricService;)V
+PLcom/android/server/biometrics/BiometricService;->access$1400(Lcom/android/server/biometrics/BiometricService;ILjava/lang/String;)Landroid/util/Pair;
+PLcom/android/server/biometrics/BiometricService;->access$1500(Lcom/android/server/biometrics/BiometricService;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/biometrics/BiometricService;->checkAndGetBiometricModality(ILjava/lang/String;)Landroid/util/Pair;
+PLcom/android/server/biometrics/BiometricService;->checkInternalPermission()V
+PLcom/android/server/biometrics/BiometricService;->checkPermission()V
+PLcom/android/server/biometrics/BiometricService;->onStart()V
+PLcom/android/server/biometrics/BiometricServiceBase$1;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$1;->run()V
+PLcom/android/server/biometrics/BiometricServiceBase$2;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->handleFailedAttempt()I
PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->notifyUserActivity()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->onStart()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->onStop()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->statsClient()I
-PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;)V
-PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->getWrapperReceiver()Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;
-PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->onAuthenticationSucceededInternal(Z[B)V
-HSPLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;->onTaskStackChanged()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;Ljava/util/List;Lcom/android/server/biometrics/BiometricUtils;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->doTemplateCleanup()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->handleEnumeratedTemplate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->onEnumerationResult(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)Z
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->onStart()V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->onStop()V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->statsClient()I
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/BiometricServiceBase$1;)V
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;->onTaskStackChanged()V
+PLcom/android/server/biometrics/BiometricServiceBase$H;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;Ljava/util/List;Lcom/android/server/biometrics/BiometricUtils;)V
+PLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->doTemplateCleanup()V
+PLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->getUnknownHALTemplates()Ljava/util/List;
+PLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->handleEnumeratedTemplate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;)V
+PLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->onEnumerationResult(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)Z
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$1;-><init>(Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$1;->sendResult(Landroid/os/Bundle;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$2;->run()V
-HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->binderDied()V
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$2;-><init>(Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;)V
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->sendLockoutReset()V
-PLcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;->run()V
-HSPLcom/android/server/biometrics/BiometricServiceBase;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->authenticateInternal(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->authenticateInternal(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;III)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->canUseBiometric(Ljava/lang/String;ZIII)Z
-HSPLcom/android/server/biometrics/BiometricServiceBase;->cancelAuthenticationInternal(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->cancelAuthenticationInternal(Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->checkPermission(Ljava/lang/String;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->doTemplateCleanupForUser(I)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->enumerateInternal(Lcom/android/server/biometrics/EnumerateClient;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->enumerateUser(I)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->getCurrentClient()Lcom/android/server/biometrics/ClientMonitor;
-HSPLcom/android/server/biometrics/BiometricServiceBase;->getUserOrWorkProfileId(Ljava/lang/String;I)I
-HSPLcom/android/server/biometrics/BiometricServiceBase;->handleAcquired(JII)V
+PLcom/android/server/biometrics/BiometricServiceBase$PerformanceStats;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;)V
+PLcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Lcom/android/server/biometrics/BiometricServiceBase$1;)V
+PLcom/android/server/biometrics/BiometricServiceBase;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->access$1100(Lcom/android/server/biometrics/BiometricServiceBase;)Landroid/os/PowerManager;
+PLcom/android/server/biometrics/BiometricServiceBase;->access$200(Lcom/android/server/biometrics/BiometricServiceBase;Ljava/lang/String;)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->access$300(Lcom/android/server/biometrics/BiometricServiceBase;)Lcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;
+PLcom/android/server/biometrics/BiometricServiceBase;->access$400(Lcom/android/server/biometrics/BiometricServiceBase;)Landroid/app/IActivityTaskManager;
+PLcom/android/server/biometrics/BiometricServiceBase;->access$700(Lcom/android/server/biometrics/BiometricServiceBase;)Lcom/android/server/biometrics/ClientMonitor;
+PLcom/android/server/biometrics/BiometricServiceBase;->access$800(Lcom/android/server/biometrics/BiometricServiceBase;)Ljava/lang/Runnable;
+PLcom/android/server/biometrics/BiometricServiceBase;->addLockoutResetCallback(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->authenticateInternal(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->authenticateInternal(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;III)V
+PLcom/android/server/biometrics/BiometricServiceBase;->canUseBiometric(Ljava/lang/String;ZIII)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->cancelAuthenticationInternal(Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
+PLcom/android/server/biometrics/BiometricServiceBase;->checkPermission(Ljava/lang/String;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->clearEnumerateState()V
+PLcom/android/server/biometrics/BiometricServiceBase;->doTemplateCleanupForUser(I)V
+PLcom/android/server/biometrics/BiometricServiceBase;->enumerateInternal(Lcom/android/server/biometrics/EnumerateClient;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->enumerateUser(I)V
+PLcom/android/server/biometrics/BiometricServiceBase;->getCurrentClient()Lcom/android/server/biometrics/ClientMonitor;
+PLcom/android/server/biometrics/BiometricServiceBase;->getEffectiveUserId(I)I
+PLcom/android/server/biometrics/BiometricServiceBase;->getUserOrWorkProfileId(Ljava/lang/String;I)I
+PLcom/android/server/biometrics/BiometricServiceBase;->handleAcquired(JII)V
PLcom/android/server/biometrics/BiometricServiceBase;->handleAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->handleEnumerate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->handleError(JII)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->handleEnumerate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/BiometricServiceBase;->handleError(JII)V
+PLcom/android/server/biometrics/BiometricServiceBase;->hasPermission(Ljava/lang/String;)Z
PLcom/android/server/biometrics/BiometricServiceBase;->isCurrentUserOrProfile(I)Z
-PLcom/android/server/biometrics/BiometricServiceBase;->isForegroundActivity(II)Z
-HSPLcom/android/server/biometrics/BiometricServiceBase;->isRestricted()Z
-HSPLcom/android/server/biometrics/BiometricServiceBase;->isWorkProfile(I)Z
-HSPLcom/android/server/biometrics/BiometricServiceBase;->lambda$addLockoutResetCallback$7$BiometricServiceBase(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->lambda$authenticateInternal$2$BiometricServiceBase(JLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->lambda$cancelAuthenticationInternal$3$BiometricServiceBase(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->lambda$enumerateInternal$6$BiometricServiceBase(Lcom/android/server/biometrics/EnumerateClient;)V
-PLcom/android/server/biometrics/BiometricServiceBase;->lambda$setActiveUserInternal$4$BiometricServiceBase(I)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->listenForUserSwitches()V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->loadAuthenticatorIds()V
-PLcom/android/server/biometrics/BiometricServiceBase;->notifyLockoutResetMonitors()V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->removeClient(Lcom/android/server/biometrics/ClientMonitor;)V
-PLcom/android/server/biometrics/BiometricServiceBase;->setActiveUserInternal(I)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->startAuthentication(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->startCleanupUnknownHALTemplates()V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->startClient(Lcom/android/server/biometrics/ClientMonitor;Z)V
-HSPLcom/android/server/biometrics/BiometricServiceBase;->startCurrentClient(I)V
-HSPLcom/android/server/biometrics/BiometricUserState;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/server/biometrics/BiometricUserState;->getBiometrics()Ljava/util/List;
-HSPLcom/android/server/biometrics/BiometricUserState;->parseStateLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/biometrics/BiometricUserState;->readStateSyncLocked()V
-HSPLcom/android/server/biometrics/ClientMonitor;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Metrics;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;I)V
-HSPLcom/android/server/biometrics/ClientMonitor;->destroy()V
-HSPLcom/android/server/biometrics/ClientMonitor;->finalize()V
-HSPLcom/android/server/biometrics/ClientMonitor;->getCookie()I
-HSPLcom/android/server/biometrics/ClientMonitor;->getLogTag()Ljava/lang/String;
-HSPLcom/android/server/biometrics/ClientMonitor;->onAcquired(II)Z
-HSPLcom/android/server/biometrics/ClientMonitor;->onError(JII)Z
-HSPLcom/android/server/biometrics/EnumerateClient;->start()I
-HSPLcom/android/server/biometrics/LoggableMonitor;->logOnAcquired(III)V
-PLcom/android/server/biometrics/LoggableMonitor;->logOnAuthenticated(ZZIZ)V
-HSPLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$3I9ge5BoesXZUovbayCOCR754fc;->run()V
+PLcom/android/server/biometrics/BiometricServiceBase;->isKeyguard(Ljava/lang/String;)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->isRestricted()Z
+PLcom/android/server/biometrics/BiometricServiceBase;->isWorkProfile(I)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$addLockoutResetCallback$8$BiometricServiceBase(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$authenticateInternal$3$BiometricServiceBase(JLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$cancelAuthenticationInternal$4$BiometricServiceBase(Landroid/os/IBinder;Z)V
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$enumerateInternal$7$BiometricServiceBase(Lcom/android/server/biometrics/EnumerateClient;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$setActiveUserInternal$5$BiometricServiceBase(I)V
+PLcom/android/server/biometrics/BiometricServiceBase;->listenForUserSwitches()V
+PLcom/android/server/biometrics/BiometricServiceBase;->loadAuthenticatorIds()V
+PLcom/android/server/biometrics/BiometricServiceBase;->onStart()V
+PLcom/android/server/biometrics/BiometricServiceBase;->removeClient(Lcom/android/server/biometrics/ClientMonitor;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->startAuthentication(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->startCleanupUnknownHALTemplates()V
+PLcom/android/server/biometrics/BiometricServiceBase;->startClient(Lcom/android/server/biometrics/ClientMonitor;Z)V
+PLcom/android/server/biometrics/BiometricServiceBase;->startCurrentClient(I)V
+PLcom/android/server/biometrics/BiometricUserState$1;-><init>(Lcom/android/server/biometrics/BiometricUserState;)V
+PLcom/android/server/biometrics/BiometricUserState;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/biometrics/BiometricUserState;->getBiometrics()Ljava/util/List;
+PLcom/android/server/biometrics/BiometricUserState;->getFileForUser(I)Ljava/io/File;
+PLcom/android/server/biometrics/BiometricUserState;->parseStateLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/biometrics/BiometricUserState;->readStateSyncLocked()V
+PLcom/android/server/biometrics/ClientMonitor;-><clinit>()V
+PLcom/android/server/biometrics/ClientMonitor;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Constants;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;I)V
+PLcom/android/server/biometrics/ClientMonitor;->blacklistContains(II)Z
+PLcom/android/server/biometrics/ClientMonitor;->destroy()V
+PLcom/android/server/biometrics/ClientMonitor;->finalize()V
+PLcom/android/server/biometrics/ClientMonitor;->getAcquireIgnorelist()[I
+PLcom/android/server/biometrics/ClientMonitor;->getCookie()I
+PLcom/android/server/biometrics/ClientMonitor;->getDaemonWrapper()Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
+PLcom/android/server/biometrics/ClientMonitor;->getGroupId()I
+PLcom/android/server/biometrics/ClientMonitor;->getLogTag()Ljava/lang/String;
+PLcom/android/server/biometrics/ClientMonitor;->getOwnerString()Ljava/lang/String;
+PLcom/android/server/biometrics/ClientMonitor;->getTargetUserId()I
+PLcom/android/server/biometrics/ClientMonitor;->getToken()Landroid/os/IBinder;
+PLcom/android/server/biometrics/ClientMonitor;->onAcquired(II)Z
+PLcom/android/server/biometrics/ClientMonitor;->onError(JII)Z
+PLcom/android/server/biometrics/EnumerateClient;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Constants;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;)V
+PLcom/android/server/biometrics/EnumerateClient;->start()I
+PLcom/android/server/biometrics/LoggableMonitor;-><init>()V
+PLcom/android/server/biometrics/LoggableMonitor;->logOnAcquired(Landroid/content/Context;III)V
+PLcom/android/server/biometrics/LoggableMonitor;->logOnAuthenticated(Landroid/content/Context;ZZIZ)V
+PLcom/android/server/biometrics/LoggableMonitor;->logOnError(Landroid/content/Context;III)V
+PLcom/android/server/biometrics/Utils;->isDebugEnabled(Landroid/content/Context;I)Z
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$3I9ge5BoesXZUovbayCOCR754fc;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService$1;IIJI)V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$3I9ge5BoesXZUovbayCOCR754fc;->run()V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$7nMWCt41OE3k8ihjPNPqB0O8POU;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService$1;IIJLjava/util/ArrayList;)V
PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$7nMWCt41OE3k8ihjPNPqB0O8POU;->run()V
-HSPLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$N1Y2Zwqq-x5yDKQsDTj2KQ5q7g4;->run()V
-HSPLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$cO88ecWuvWIBecLAEccxr5yeJK4;->run()V
-HSPLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$YOMIOLvco2SvXVeJIulOSVKdX7A;->run()V
-PLcom/android/server/biometrics/fingerprint/FingerprintMetrics;->actionBiometricAuth()I
-HSPLcom/android/server/biometrics/fingerprint/FingerprintMetrics;->logTag()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintMetrics;->tagAuthToken()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onAcquired$1$FingerprintService$1(JII)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onAuthenticated$2$FingerprintService$1(IIJLjava/util/ArrayList;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onEnumerate$5$FingerprintService$1(IIJI)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onError$3$FingerprintService$1(JII)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onAcquired(JII)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onAuthenticated(JIILjava/util/ArrayList;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onEnumerate(JIII)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onError(JII)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$2;->authenticate(JI)I
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$2;->cancel()I
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$2;->enumerate()I
-PLcom/android/server/biometrics/fingerprint/FingerprintService$BiometricPromptServiceListenerImpl;->onAcquired(JII)V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$N1Y2Zwqq-x5yDKQsDTj2KQ5q7g4;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService$1;JII)V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$N1Y2Zwqq-x5yDKQsDTj2KQ5q7g4;->run()V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$cO88ecWuvWIBecLAEccxr5yeJK4;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService$1;JII)V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$cO88ecWuvWIBecLAEccxr5yeJK4;->run()V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$YOMIOLvco2SvXVeJIulOSVKdX7A;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$YOMIOLvco2SvXVeJIulOSVKdX7A;->run()V
+PLcom/android/server/biometrics/fingerprint/FingerprintAuthenticator;-><init>(Landroid/hardware/fingerprint/IFingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintAuthenticator;->hasEnrolledTemplates(ILjava/lang/String;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintAuthenticator;->isHardwareDetected(Ljava/lang/String;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintConstants;-><init>()V
+PLcom/android/server/biometrics/fingerprint/FingerprintConstants;->acquireVendorCode()I
+PLcom/android/server/biometrics/fingerprint/FingerprintConstants;->logTag()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintConstants;->tagAuthToken()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onEnumerate$5$FingerprintService$1(IIJI)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onError$3$FingerprintService$1(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onEnumerate(JIII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$2;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$2;->authenticate(JI)I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$2;->enumerate()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->handleFailedAttempt()I
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->isFingerprint()Z
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->resetFailedAttempts()V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->shouldFrameworkHandleLockout()Z
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->statsModality()I
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->addLockoutResetCallback(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->cancelAuthenticationFromService(Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->getAuthenticatorId(Ljava/lang/String;)J
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->statsModality()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/fingerprint/FingerprintService$1;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->addLockoutResetCallback(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->hasEnrolledFingerprints(ILjava/lang/String;)Z
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->isHardwareDetected(JLjava/lang/String;)Z
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->prepareForAuthentication(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiverInternal;Ljava/lang/String;IIII)V
+HPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->isHardwareDetected(Ljava/lang/String;)Z
PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->resetTimeout([B)V
PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->setActiveUser(I)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->startPreparedClient(I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$LockoutReceiver;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$LockoutReceiver;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/fingerprint/FingerprintService$1;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ResetFailedAttemptsForUserRunnable;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ResetFailedAttemptsForUserRunnable;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/fingerprint/FingerprintService$1;)V
PLcom/android/server/biometrics/fingerprint/FingerprintService$ResetFailedAttemptsForUserRunnable;->run()V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAcquired(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;-><init>(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAcquired(JII)V
PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAuthenticationFailed(J)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAuthenticationSucceeded(JLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onError(JIII)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService;->checkAppOps(ILjava/lang/String;)Z
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->checkUseBiometricPermission()V
-PLcom/android/server/biometrics/fingerprint/FingerprintService;->dumpInternal(Ljava/io/PrintWriter;)V
-PLcom/android/server/biometrics/fingerprint/FingerprintService;->dumpProto(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getBiometricUtils()Lcom/android/server/biometrics/BiometricUtils;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getDaemonWrapper()Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getEnrolledTemplates(I)Ljava/util/List;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getFingerprintDaemon()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLcom/android/server/biometrics/fingerprint/FingerprintService;->getHalDeviceId()J
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutBroadcastPermission()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutMode()I
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutResetIntent()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getManageBiometricPermission()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getMetrics()Lcom/android/server/biometrics/Metrics;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->getTag()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->hasEnrolledBiometrics(I)Z
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->notifyClientActiveCallbacks(Z)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->onStart()V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onError(JIII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1000(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1600(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1700(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1800(Lcom/android/server/biometrics/fingerprint/FingerprintService;)I
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$1900(Lcom/android/server/biometrics/fingerprint/FingerprintService;Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$3901(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4200(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4300(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4400(Lcom/android/server/biometrics/fingerprint/FingerprintService;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$4800(Lcom/android/server/biometrics/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6700(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Lcom/android/server/biometrics/BiometricServiceBase$H;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->access$6801(Lcom/android/server/biometrics/fingerprint/FingerprintService;Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->checkUseBiometricPermission()V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getBiometricUtils()Lcom/android/server/biometrics/BiometricUtils;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getConstants()Lcom/android/server/biometrics/Constants;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getDaemonWrapper()Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getEnrolledTemplates(I)Ljava/util/List;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getFingerprintDaemon()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutBroadcastPermission()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutMode()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutResetIntent()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getManageBiometricPermission()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getTag()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->hasEnrolledBiometrics(I)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->lambda$YOMIOLvco2SvXVeJIulOSVKdX7A(Lcom/android/server/biometrics/fingerprint/FingerprintService;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->notifyClientActiveCallbacks(Z)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->onStart()V
PLcom/android/server/biometrics/fingerprint/FingerprintService;->resetFailedAttemptsForUser(ZI)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->statsModality()I
-HSPLcom/android/server/biometrics/fingerprint/FingerprintService;->updateActiveGroup(ILjava/lang/String;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getBiometricFile()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getBiometricsTag()Ljava/lang/String;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getCopy(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->parseBiometricsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getBiometricsForUser(Landroid/content/Context;I)Ljava/util/List;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getInstance()Lcom/android/server/biometrics/fingerprint/FingerprintUtils;
-HSPLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getStateForUser(Landroid/content/Context;I)Lcom/android/server/biometrics/fingerprint/FingerprintUserState;
-PLcom/android/server/camera/CameraServiceProxy$2;->notifyCameraState(Ljava/lang/String;IILjava/lang/String;I)V
-PLcom/android/server/camera/CameraServiceProxy$CameraUsageEvent;->getDuration()J
-PLcom/android/server/camera/CameraServiceProxy$CameraUsageEvent;->markCompleted()V
-HSPLcom/android/server/camera/CameraServiceProxy;-><init>(Landroid/content/Context;)V
-PLcom/android/server/camera/CameraServiceProxy;->dumpUsageEvents()V
-HSPLcom/android/server/camera/CameraServiceProxy;->notifyMediaserverLocked(ILjava/util/Set;)Z
-HSPLcom/android/server/camera/CameraServiceProxy;->onStart()V
-HSPLcom/android/server/camera/CameraServiceProxy;->onStartUser(I)V
-HSPLcom/android/server/camera/CameraServiceProxy;->toArray(Ljava/util/Collection;)[I
-PLcom/android/server/camera/CameraServiceProxy;->updateActivityCount(Ljava/lang/String;IILjava/lang/String;I)V
-PLcom/android/server/camera/CameraStatsJobService;-><init>()V
-PLcom/android/server/camera/CameraStatsJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/camera/CameraStatsJobService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->getPrimaryClipDescription(Ljava/lang/String;)Landroid/content/ClipDescription;
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->hasPrimaryClip(Ljava/lang/String;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->updateActiveGroup(ILjava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintUserState;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getBiometricFile()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getBiometricsTag()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getCopy(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/biometrics/fingerprint/FingerprintUserState;->parseBiometricsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintUtils;-><clinit>()V
+PLcom/android/server/biometrics/fingerprint/FingerprintUtils;-><init>()V
+PLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getBiometricsForUser(Landroid/content/Context;I)Ljava/util/List;
+PLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getInstance()Lcom/android/server/biometrics/fingerprint/FingerprintUtils;
+PLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getStateForUser(Landroid/content/Context;I)Lcom/android/server/biometrics/fingerprint/FingerprintUserState;
+PLcom/android/server/camera/CameraServiceProxy$1;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V
+PLcom/android/server/camera/CameraServiceProxy$2;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V
+PLcom/android/server/camera/CameraServiceProxy;-><clinit>()V
+PLcom/android/server/camera/CameraServiceProxy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/camera/CameraServiceProxy;->getEnabledUserHandles(I)Ljava/util/Set;
+PLcom/android/server/camera/CameraServiceProxy;->notifyCameraserverLocked(ILjava/util/Set;)Z
+PLcom/android/server/camera/CameraServiceProxy;->notifySwitchWithRetriesLocked(I)V
+PLcom/android/server/camera/CameraServiceProxy;->onStart()V
+PLcom/android/server/camera/CameraServiceProxy;->onStartUser(I)V
+PLcom/android/server/camera/CameraServiceProxy;->switchUserLocked(I)V
+PLcom/android/server/camera/CameraServiceProxy;->toArray(Ljava/util/Collection;)[I
+PLcom/android/server/camera/CameraStatsJobService;-><clinit>()V
+PLcom/android/server/camera/CameraStatsJobService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;-><init>(Lcom/android/server/clipboard/ClipboardService;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;-><init>(Lcom/android/server/clipboard/ClipboardService;Lcom/android/server/clipboard/ClipboardService$1;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;I)V
PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;)V
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->setPrimaryClip(Landroid/content/ClipData;Ljava/lang/String;)V
-HSPLcom/android/server/clipboard/ClipboardService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/clipboard/ClipboardService;->addActiveOwnerLocked(ILjava/lang/String;)V
-PLcom/android/server/clipboard/ClipboardService;->checkItemOwnerLocked(Landroid/content/ClipData$Item;I)V
-PLcom/android/server/clipboard/ClipboardService;->clipboardAccessAllowed(ILjava/lang/String;I)Z
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;I)V
+PLcom/android/server/clipboard/ClipboardService$ListenerInfo;-><init>(Lcom/android/server/clipboard/ClipboardService;ILjava/lang/String;)V
+PLcom/android/server/clipboard/ClipboardService$PerUserClipboard;-><init>(Lcom/android/server/clipboard/ClipboardService;I)V
+PLcom/android/server/clipboard/ClipboardService;-><clinit>()V
+PLcom/android/server/clipboard/ClipboardService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/clipboard/ClipboardService;->access$100(Lcom/android/server/clipboard/ClipboardService;I)Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;
+PLcom/android/server/clipboard/ClipboardService;->access$300(Lcom/android/server/clipboard/ClipboardService;Ljava/lang/String;I)I
+PLcom/android/server/clipboard/ClipboardService;->access$800(Lcom/android/server/clipboard/ClipboardService;Ljava/lang/String;I)I
PLcom/android/server/clipboard/ClipboardService;->getClipboard(I)Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;
-PLcom/android/server/clipboard/ClipboardService;->getRelatedProfiles(I)Ljava/util/List;
-PLcom/android/server/clipboard/ClipboardService;->grantItemLocked(Landroid/content/ClipData$Item;ILjava/lang/String;I)V
-PLcom/android/server/clipboard/ClipboardService;->hasRestriction(Ljava/lang/String;I)Z
-PLcom/android/server/clipboard/ClipboardService;->isDeviceLocked()Z
-HSPLcom/android/server/clipboard/ClipboardService;->onStart()V
-PLcom/android/server/clipboard/ClipboardService;->revokeItemLocked(Landroid/content/ClipData$Item;I)V
-PLcom/android/server/clipboard/ClipboardService;->setPrimaryClipInternal(Landroid/content/ClipData;I)V
-PLcom/android/server/clipboard/ClipboardService;->setPrimaryClipInternal(Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;Landroid/content/ClipData;I)V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$0VKz9ecFqvfFXzRrfaz-Pf5wW2s;-><init>()V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$0VKz9ecFqvfFXzRrfaz-Pf5wW2s;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$EelUlD0Ldboon98oq6H5kDCPW9I;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$IwZz9SPheLuA45R-qkZX_v1sHV4;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;-><init>()V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;-><init>()V
-HSPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$wnUkAY8uXyjMGM59-bNpzLLMJ1I;-><init>()V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$wnUkAY8uXyjMGM59-bNpzLLMJ1I;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/companion/CompanionDeviceManagerService$1;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/server/companion/CompanionDeviceManagerService$1;->onPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/companion/CompanionDeviceManagerService$Association;->hashCode()I
-HSPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkCallerIsSystemOr(Ljava/lang/String;I)V
-HSPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkUsesFeature(Ljava/lang/String;I)V
-HSPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->hasNotificationAccess(Landroid/content/ComponentName;)Z
+PLcom/android/server/clipboard/ClipboardService;->getIntendingUid(Ljava/lang/String;I)I
+PLcom/android/server/clipboard/ClipboardService;->getIntendingUserId(Ljava/lang/String;I)I
+PLcom/android/server/clipboard/ClipboardService;->onStart()V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;-><clinit>()V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;-><init>()V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;-><clinit>()V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;-><init>()V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/companion/CompanionDeviceManagerService$1;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$1;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkCallerIsSystemOr(Ljava/lang/String;I)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkUsesFeature(Ljava/lang/String;I)V
+PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/server/companion/CompanionDeviceManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/companion/CompanionDeviceManagerService;->lambda$getPackageInfo$1(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Integer;)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/companion/CompanionDeviceManagerService;->onStart()V
-HSPLcom/android/server/companion/CompanionDeviceManagerService;->readAllAssociations(ILjava/lang/String;)Ljava/util/Set;
-HSPLcom/android/server/companion/CompanionDeviceManagerService;->updateAssociations(Ljava/util/function/Function;I)V
-PLcom/android/server/companion/CompanionDeviceManagerService;->updateSpecialAccessPermissionAsSystem(Landroid/content/pm/PackageInfo;)V
-HSPLcom/android/server/connectivity/-$$Lambda$DnsManager$PrivateDnsValidationStatuses$_X4_M08nKysv-L4hDpqAsa4SBxI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;-><init>()V
-HSPLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;->applyAsInt(Ljava/lang/Object;)I
-HSPLcom/android/server/connectivity/-$$Lambda$MultipathPolicyTracker$2$dvyDLfu9d6g2XoEdL3QMHx7ut6k;->run()V
-PLcom/android/server/connectivity/-$$Lambda$Nat464Xlat$40jKHQd7R0zgcegyEyc9zPHKXVA;->run()V
-PLcom/android/server/connectivity/-$$Lambda$Nat464Xlat$PACHOP9HoYvr_jzHtIwFDy31Ud4;->run()V
-HSPLcom/android/server/connectivity/-$$Lambda$Tethering$5JkghhOVq1MW7iK03DMZUSuLdFM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/connectivity/-$$Lambda$Tethering$CZZ1cyMeU7DUmSuQSKselF5XA5o;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/connectivity/DataConnectionStats$1;-><init>(Lcom/android/server/connectivity/DataConnectionStats;)V
-HSPLcom/android/server/connectivity/DataConnectionStats$1;->onDataActivity(I)V
-HSPLcom/android/server/connectivity/DataConnectionStats$1;->onDataConnectionStateChanged(II)V
-HSPLcom/android/server/connectivity/DataConnectionStats$1;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLcom/android/server/connectivity/DataConnectionStats$1;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
-HSPLcom/android/server/connectivity/DataConnectionStats;->notePhoneDataConnectionState()V
-HSPLcom/android/server/connectivity/DataConnectionStats;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/DataConnectionStats;->startMonitoring()V
-HSPLcom/android/server/connectivity/DataConnectionStats;->updateSimState(Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/DefaultNetworkMetrics;-><init>()V
-HSPLcom/android/server/connectivity/DefaultNetworkMetrics;->fillLinkInfo(Landroid/net/metrics/DefaultNetworkEvent;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;-><clinit>()V
+PLcom/android/server/companion/CompanionDeviceManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->access$100(Lcom/android/server/companion/CompanionDeviceManagerService;ILjava/lang/String;)Ljava/util/Set;
+PLcom/android/server/companion/CompanionDeviceManagerService;->access$1000()Z
+PLcom/android/server/companion/CompanionDeviceManagerService;->access$300()I
+PLcom/android/server/companion/CompanionDeviceManagerService;->getCallingUserId()I
+PLcom/android/server/companion/CompanionDeviceManagerService;->getStorageFileForUser(I)Landroid/util/AtomicFile;
+PLcom/android/server/companion/CompanionDeviceManagerService;->isCallerSystem()Z
+PLcom/android/server/companion/CompanionDeviceManagerService;->lambda$getStorageFileForUser$5(Ljava/lang/Integer;)Landroid/util/AtomicFile;
+PLcom/android/server/companion/CompanionDeviceManagerService;->onStart()V
+PLcom/android/server/companion/CompanionDeviceManagerService;->onUnlockUser(I)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->readAllAssociations(I)Ljava/util/Set;
+PLcom/android/server/companion/CompanionDeviceManagerService;->readAllAssociations(ILjava/lang/String;)Ljava/util/Set;
+PLcom/android/server/companion/CompanionDeviceManagerService;->registerPackageMonitor()V
+HSPLcom/android/server/compat/CompatChange;-><init>(Lcom/android/server/compat/config/Change;)V
+HSPLcom/android/server/compat/CompatChange;->isEnabled(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/compat/CompatChange;->registerListener(Lcom/android/server/compat/CompatChange$ChangeListener;)V
+HSPLcom/android/server/compat/CompatConfig;-><clinit>()V
+HSPLcom/android/server/compat/CompatConfig;-><init>()V
+HSPLcom/android/server/compat/CompatConfig;->addChange(Lcom/android/server/compat/CompatChange;)V
+HSPLcom/android/server/compat/CompatConfig;->get()Lcom/android/server/compat/CompatConfig;
+HPLcom/android/server/compat/CompatConfig;->getDisabledChanges(Landroid/content/pm/ApplicationInfo;)[J
+HSPLcom/android/server/compat/CompatConfig;->initConfigFromLib(Ljava/io/File;)Lcom/android/server/compat/CompatConfig;
+HSPLcom/android/server/compat/CompatConfig;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z
+HSPLcom/android/server/compat/CompatConfig;->readConfig(Ljava/io/File;)V
+PLcom/android/server/compat/CompatConfig;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z
+HSPLcom/android/server/compat/PlatformCompat;-><init>(Landroid/content/Context;)V
+PLcom/android/server/compat/PlatformCompat;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/compat/PlatformCompat;->getDisabledChanges(Landroid/content/pm/ApplicationInfo;)[J
+HSPLcom/android/server/compat/PlatformCompat;->isChangeEnabled(JLandroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/compat/PlatformCompat;->isChangeEnabledByPackageName(JLjava/lang/String;I)Z
+PLcom/android/server/compat/PlatformCompat;->registerListener(JLcom/android/server/compat/CompatChange$ChangeListener;)Z
+HSPLcom/android/server/compat/PlatformCompat;->reportChange(JII)V
+PLcom/android/server/compat/PlatformCompat;->resetReporting(Landroid/content/pm/ApplicationInfo;)V
+HSPLcom/android/server/compat/PlatformCompatNative;-><init>(Lcom/android/server/compat/PlatformCompat;)V
+HSPLcom/android/server/compat/config/Change;-><init>()V
+HSPLcom/android/server/compat/config/Change;->getDescription()Ljava/lang/String;
+HSPLcom/android/server/compat/config/Change;->getDisabled()Z
+HSPLcom/android/server/compat/config/Change;->getEnableAfterTargetSdk()I
+HSPLcom/android/server/compat/config/Change;->getId()J
+HSPLcom/android/server/compat/config/Change;->getName()Ljava/lang/String;
+HSPLcom/android/server/compat/config/Change;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/compat/config/Change;
+HSPLcom/android/server/compat/config/Change;->setDescription(Ljava/lang/String;)V
+HSPLcom/android/server/compat/config/Change;->setDisabled(Z)V
+HSPLcom/android/server/compat/config/Change;->setEnableAfterTargetSdk(I)V
+HSPLcom/android/server/compat/config/Change;->setId(J)V
+HSPLcom/android/server/compat/config/Change;->setName(Ljava/lang/String;)V
+HSPLcom/android/server/compat/config/Change;->setValue(Ljava/lang/String;)V
+HSPLcom/android/server/compat/config/Config;-><init>()V
+HSPLcom/android/server/compat/config/Config;->getCompatChange()Ljava/util/List;
+HSPLcom/android/server/compat/config/Config;->read(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/compat/config/Config;
+HSPLcom/android/server/compat/config/XmlParser;->read(Ljava/io/InputStream;)Lcom/android/server/compat/config/Config;
+HSPLcom/android/server/compat/config/XmlParser;->readText(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/String;
+PLcom/android/server/connectivity/-$$Lambda$DnsManager$PrivateDnsValidationStatuses$_X4_M08nKysv-L4hDpqAsa4SBxI;-><init>(Landroid/net/LinkProperties;)V
+PLcom/android/server/connectivity/-$$Lambda$DnsManager$PrivateDnsValidationStatuses$_X4_M08nKysv-L4hDpqAsa4SBxI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;-><clinit>()V
+PLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;-><init>()V
+PLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/connectivity/-$$Lambda$MultipathPolicyTracker$2$dvyDLfu9d6g2XoEdL3QMHx7ut6k;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker$2;)V
+PLcom/android/server/connectivity/-$$Lambda$MultipathPolicyTracker$2$dvyDLfu9d6g2XoEdL3QMHx7ut6k;->run()V
+PLcom/android/server/connectivity/AutodestructReference;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/connectivity/AutodestructReference;->getAndDestroy()Ljava/lang/Object;
+PLcom/android/server/connectivity/DataConnectionStats$PhoneStateListenerImpl;-><init>(Lcom/android/server/connectivity/DataConnectionStats;Landroid/os/Looper;)V
+PLcom/android/server/connectivity/DataConnectionStats;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/connectivity/DataConnectionStats;->notePhoneDataConnectionState()V
+PLcom/android/server/connectivity/DataConnectionStats;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/connectivity/DataConnectionStats;->startMonitoring()V
+PLcom/android/server/connectivity/DataConnectionStats;->updateSimState(Landroid/content/Intent;)V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;-><init>()V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;->fillLinkInfo(Landroid/net/metrics/DefaultNetworkEvent;Lcom/android/server/connectivity/NetworkAgentInfo;)V
PLcom/android/server/connectivity/DefaultNetworkMetrics;->flushEvents(Ljava/util/List;)V
-PLcom/android/server/connectivity/DefaultNetworkMetrics;->listEvents(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/connectivity/DefaultNetworkMetrics;->logCurrentDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/connectivity/DefaultNetworkMetrics;->logDefaultNetworkEvent(JLcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/connectivity/DefaultNetworkMetrics;->logDefaultNetworkValidity(JZ)V
-HSPLcom/android/server/connectivity/DefaultNetworkMetrics;->newDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/connectivity/DefaultNetworkMetrics;->printEvent(JLjava/io/PrintWriter;Landroid/net/metrics/DefaultNetworkEvent;)V
-HSPLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses$ValidationStatus;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->updateStatus(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
-HSPLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->updateTrackedDnses([Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/DnsManager;->flushVmDnsCache()V
-HSPLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig()Landroid/net/shared/PrivateDnsConfig;
-HSPLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig(Landroid/content/ContentResolver;)Landroid/net/shared/PrivateDnsConfig;
-HSPLcom/android/server/connectivity/DnsManager;->getPrivateDnsSettingsUris()[Landroid/net/Uri;
-PLcom/android/server/connectivity/DnsManager;->removeNetwork(Landroid/net/Network;)V
-HSPLcom/android/server/connectivity/DnsManager;->setDefaultDnsSystemProperties(Ljava/util/Collection;)V
-HSPLcom/android/server/connectivity/DnsManager;->setDnsConfigurationForNetwork(ILandroid/net/LinkProperties;Z)V
-HSPLcom/android/server/connectivity/DnsManager;->setNetDnsProperty(ILjava/lang/String;)V
-HSPLcom/android/server/connectivity/DnsManager;->updateParametersSettings()V
-HSPLcom/android/server/connectivity/DnsManager;->updatePrivateDns(Landroid/net/Network;Landroid/net/shared/PrivateDnsConfig;)Landroid/net/shared/PrivateDnsConfig;
-HSPLcom/android/server/connectivity/DnsManager;->updatePrivateDnsStatus(ILandroid/net/LinkProperties;)V
-HSPLcom/android/server/connectivity/DnsManager;->updatePrivateDnsValidation(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;->logCurrentDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;->logDefaultNetworkEvent(JLcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;->logDefaultNetworkValidity(JZ)V
+PLcom/android/server/connectivity/DefaultNetworkMetrics;->newDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses$ValidationStatus;-><clinit>()V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses$ValidationStatus;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;-><init>()V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;-><init>(Lcom/android/server/connectivity/DnsManager$1;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$000(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;)Z
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$100(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;Landroid/net/LinkProperties;)Landroid/net/LinkProperties;
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$200(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$400(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;[Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->fillInValidatedPrivateDns(Landroid/net/LinkProperties;)Landroid/net/LinkProperties;
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->hasValidatedServer()Z
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->lambda$fillInValidatedPrivateDns$0(Landroid/net/LinkProperties;Landroid/util/Pair;Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses$ValidationStatus;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->updateStatus(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->updateTrackedDnses([Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;-><init>(ILjava/net/InetAddress;Ljava/lang/String;Z)V
+PLcom/android/server/connectivity/DnsManager;-><clinit>()V
+PLcom/android/server/connectivity/DnsManager;-><init>(Landroid/content/Context;Landroid/net/IDnsResolver;Lcom/android/server/connectivity/MockableSystemProperties;)V
+PLcom/android/server/connectivity/DnsManager;->flushVmDnsCache()V
+PLcom/android/server/connectivity/DnsManager;->getDomainStrings(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/connectivity/DnsManager;->getIntSetting(Ljava/lang/String;I)I
+PLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig()Landroid/net/shared/PrivateDnsConfig;
+PLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig(Landroid/content/ContentResolver;)Landroid/net/shared/PrivateDnsConfig;
+PLcom/android/server/connectivity/DnsManager;->getPrivateDnsMode(Landroid/content/ContentResolver;)Ljava/lang/String;
+PLcom/android/server/connectivity/DnsManager;->getPrivateDnsSettingsUris()[Landroid/net/Uri;
+PLcom/android/server/connectivity/DnsManager;->getStringSetting(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/connectivity/DnsManager;->setDefaultDnsSystemProperties(Ljava/util/Collection;)V
+PLcom/android/server/connectivity/DnsManager;->setDnsConfigurationForNetwork(ILandroid/net/LinkProperties;Z)V
+PLcom/android/server/connectivity/DnsManager;->setNetDnsProperty(ILjava/lang/String;)V
+PLcom/android/server/connectivity/DnsManager;->updateParametersSettings()V
+PLcom/android/server/connectivity/DnsManager;->updatePrivateDns(Landroid/net/Network;Landroid/net/shared/PrivateDnsConfig;)Landroid/net/shared/PrivateDnsConfig;
+PLcom/android/server/connectivity/DnsManager;->updatePrivateDnsStatus(ILandroid/net/LinkProperties;)V
+PLcom/android/server/connectivity/DnsManager;->updatePrivateDnsValidation(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;-><clinit>()V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->buildEvent(IJLjava/lang/String;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->bytesToInts([B)[I
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->ifnameToLinkLayer(Ljava/lang/String;)I
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->inferLinkLayer(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->ipSupportOf(Landroid/net/metrics/DefaultNetworkEvent;)I
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->isBitSet(II)Z
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->serialize(ILjava/util/List;)[B
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setApfProgramEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/ApfProgramEvent;)V
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setApfStats(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/ApfStats;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setDhcpClientEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/DhcpClientEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setDhcpErrorEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/DhcpErrorEvent;)V
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/os/Parcelable;)Z
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setIpManagerEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/IpManagerEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setIpReachabilityEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/IpReachabilityEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setNetworkEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/NetworkEvent;)V
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setRaEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/RaEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setValidationProbeEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/ValidationProbeEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toPairArray(Landroid/util/SparseIntArray;)[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/ConnectivityMetricsEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/ConnectStats;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/DefaultNetworkEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/DnsEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/WakeupStats;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Ljava/util/List;)Ljava/util/List;
-HSPLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
+HPLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->transportToLinkLayer(I)I
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->transportsToLinkLayer(J)I
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
-HSPLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;->defaultNetworkMetrics()Lcom/android/server/connectivity/DefaultNetworkMetrics;
-HSPLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;Ljava/util/function/ToIntFunction;)V
-HSPLcom/android/server/connectivity/IpConnectivityMetrics;->append(Landroid/net/ConnectivityMetricsEvent;)I
-PLcom/android/server/connectivity/IpConnectivityMetrics;->cmdList(Ljava/io/PrintWriter;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->enforceNetdEventListeningPermission()V
+PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;Lcom/android/server/connectivity/IpConnectivityMetrics$1;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;->defaultNetworkMetrics()Lcom/android/server/connectivity/DefaultNetworkMetrics;
+PLcom/android/server/connectivity/IpConnectivityMetrics;-><clinit>()V
+PLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;Ljava/util/function/ToIntFunction;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->access$100(Lcom/android/server/connectivity/IpConnectivityMetrics;Landroid/net/ConnectivityMetricsEvent;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics;->append(Landroid/net/ConnectivityMetricsEvent;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics;->bufferCapacity()I
PLcom/android/server/connectivity/IpConnectivityMetrics;->flushEncodedOutput()Ljava/lang/String;
-PLcom/android/server/connectivity/IpConnectivityMetrics;->getEvents()Ljava/util/List;
-HSPLcom/android/server/connectivity/IpConnectivityMetrics;->initBuffer()V
-HSPLcom/android/server/connectivity/IpConnectivityMetrics;->onBootPhase(I)V
-HSPLcom/android/server/connectivity/IpConnectivityMetrics;->onStart()V
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;-><init>(Lcom/android/server/connectivity/KeepaliveTracker;Landroid/net/ISocketKeepaliveCallback;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/KeepalivePacketData;IILjava/io/FileDescriptor;)V
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->checkPermission()I
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->checkSourceAddress()I
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->getNai()Lcom/android/server/connectivity/NetworkAgentInfo;
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->isValid()I
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->start(I)V
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->stop(I)V
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->toString()Ljava/lang/String;
-PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->unlinkDeathRecipient()V
-PLcom/android/server/connectivity/KeepaliveTracker;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/connectivity/KeepaliveTracker;->findFirstFreeSlot(Lcom/android/server/connectivity/NetworkAgentInfo;)I
-HSPLcom/android/server/connectivity/KeepaliveTracker;->handleCheckKeepalivesStillValid(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/connectivity/KeepaliveTracker;->handleEventSocketKeepalive(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/os/Message;)V
-PLcom/android/server/connectivity/KeepaliveTracker;->handleStartKeepalive(Landroid/os/Message;)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->initBuffer()V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->isRateLimited(Landroid/net/ConnectivityMetricsEvent;)Z
+PLcom/android/server/connectivity/IpConnectivityMetrics;->lambda$static$0(Landroid/content/Context;)I
+PLcom/android/server/connectivity/IpConnectivityMetrics;->makeRateLimitingBuckets()Landroid/util/ArrayMap;
+PLcom/android/server/connectivity/IpConnectivityMetrics;->onBootPhase(I)V
+PLcom/android/server/connectivity/IpConnectivityMetrics;->onStart()V
+PLcom/android/server/connectivity/KeepaliveTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/connectivity/KeepaliveTracker;->handleCheckKeepalivesStillValid(Lcom/android/server/connectivity/NetworkAgentInfo;)V
PLcom/android/server/connectivity/KeepaliveTracker;->handleStopAllKeepalives(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-PLcom/android/server/connectivity/KeepaliveTracker;->handleStopKeepalive(Lcom/android/server/connectivity/NetworkAgentInfo;II)V
-PLcom/android/server/connectivity/KeepaliveTracker;->notifyErrorCallback(Landroid/net/ISocketKeepaliveCallback;I)V
-PLcom/android/server/connectivity/KeepaliveTracker;->startNattKeepalive(Lcom/android/server/connectivity/NetworkAgentInfo;Ljava/io/FileDescriptor;ILandroid/net/ISocketKeepaliveCallback;Ljava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/connectivity/LingerMonitor;-><clinit>()V
+PLcom/android/server/connectivity/LingerMonitor;-><init>(Landroid/content/Context;Lcom/android/server/connectivity/NetworkNotificationManager;IJ)V
PLcom/android/server/connectivity/LingerMonitor;->getNotificationSource(Lcom/android/server/connectivity/NetworkAgentInfo;)I
-PLcom/android/server/connectivity/LingerMonitor;->isNotificationEnabled(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)Z
-HSPLcom/android/server/connectivity/LingerMonitor;->makeTransportToNameMap()Ljava/util/HashMap;
-PLcom/android/server/connectivity/LingerMonitor;->noteDisconnect(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/connectivity/LingerMonitor;->noteLingerDefaultNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-HSPLcom/android/server/connectivity/MockableSystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/connectivity/MockableSystemProperties;->getBoolean(Ljava/lang/String;Z)Z
-HSPLcom/android/server/connectivity/MockableSystemProperties;->getInt(Ljava/lang/String;I)I
-HSPLcom/android/server/connectivity/MockableSystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$1;->onLost(Landroid/net/Network;)V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$2;->lambda$onMeteredIfacesChanged$0$MultipathPolicyTracker$2()V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$2;->onMeteredIfacesChanged([Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;-><init>()V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;->getClock()Ljava/time/Clock;
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getDailyNonDefaultDataUsage()J
-PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getMultipathBudget()J
-PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getMultipathPreference()I
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getNetworkTotalBytes(JJ)J
-PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getQuota()J
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getRemainingDailyBudget(JLandroid/util/Range;)J
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getUserPolicyOpportunisticQuotaBytes()J
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->setNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->shutdown()V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->updateMultipathBudget()V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker;->getDefaultDailyMultipathQuotaBytes()J
-HSPLcom/android/server/connectivity/MultipathPolicyTracker;->registerTrackMobileCallback()V
-HSPLcom/android/server/connectivity/MultipathPolicyTracker;->start()V
-HSPLcom/android/server/connectivity/Nat464Xlat$State;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/Nat464Xlat;->enterStartingState(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Nat464Xlat;->fixupLinkProperties(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/Nat464Xlat;->getLinkAddress(Ljava/lang/String;)Landroid/net/LinkAddress;
-HSPLcom/android/server/connectivity/Nat464Xlat;->getNetId()I
-PLcom/android/server/connectivity/Nat464Xlat;->handleInterfaceLinkStateChanged(Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/Nat464Xlat;->handleInterfaceRemoved(Ljava/lang/String;)V
-PLcom/android/server/connectivity/Nat464Xlat;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/Nat464Xlat;->interfaceRemoved(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Nat464Xlat;->isPrefixDiscoveryStarted()Z
-HSPLcom/android/server/connectivity/Nat464Xlat;->isRunning()Z
-HSPLcom/android/server/connectivity/Nat464Xlat;->isStarted()Z
-PLcom/android/server/connectivity/Nat464Xlat;->isStarting()Z
-PLcom/android/server/connectivity/Nat464Xlat;->lambda$interfaceLinkStateChanged$0$Nat464Xlat(Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/Nat464Xlat;->lambda$interfaceRemoved$1$Nat464Xlat(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Nat464Xlat;->leaveStartedState()V
-PLcom/android/server/connectivity/Nat464Xlat;->makeLinkProperties(Landroid/net/LinkAddress;)Landroid/net/LinkProperties;
-HSPLcom/android/server/connectivity/Nat464Xlat;->requiresClat(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
-PLcom/android/server/connectivity/Nat464Xlat;->setNat64Prefix(Landroid/net/IpPrefix;)V
-PLcom/android/server/connectivity/Nat464Xlat;->start()V
-HSPLcom/android/server/connectivity/Nat464Xlat;->startPrefixDiscovery()V
-PLcom/android/server/connectivity/Nat464Xlat;->stop()V
-HSPLcom/android/server/connectivity/Nat464Xlat;->stopPrefixDiscovery()V
-HSPLcom/android/server/connectivity/Nat464Xlat;->toString()Ljava/lang/String;
-HSPLcom/android/server/connectivity/Nat464Xlat;->update()V
-HSPLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->collect(JLandroid/util/SparseArray;)Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
-PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->toString()Ljava/lang/String;
-HSPLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/net/ConnectivityManager;)V
-HSPLcom/android/server/connectivity/NetdEventListenerService;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
-HSPLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(J)V
+PLcom/android/server/connectivity/LingerMonitor;->makeTransportToNameMap()Ljava/util/HashMap;
+PLcom/android/server/connectivity/MockableSystemProperties;-><init>()V
+PLcom/android/server/connectivity/MockableSystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/connectivity/MockableSystemProperties;->getBoolean(Ljava/lang/String;Z)Z
+PLcom/android/server/connectivity/MockableSystemProperties;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/connectivity/MockableSystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$1;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$2;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$2;->lambda$onMeteredIfacesChanged$0$MultipathPolicyTracker$2()V
+PLcom/android/server/connectivity/MultipathPolicyTracker$2;->onMeteredIfacesChanged([Ljava/lang/String;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Lcom/android/server/connectivity/MultipathPolicyTracker$1;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;-><init>()V
+PLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;->getClock()Ljava/time/Clock;
+PLcom/android/server/connectivity/MultipathPolicyTracker$SettingsObserver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Landroid/os/Handler;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;-><clinit>()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->access$1200(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->access$900(Lcom/android/server/connectivity/MultipathPolicyTracker;)Landroid/os/Handler;
+PLcom/android/server/connectivity/MultipathPolicyTracker;->registerNetworkPolicyListener()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->registerTrackMobileCallback()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->start()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->updateAllMultipathBudgets()V
+PLcom/android/server/connectivity/Nat464Xlat$State;-><clinit>()V
+PLcom/android/server/connectivity/Nat464Xlat$State;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/connectivity/Nat464Xlat;-><clinit>()V
+PLcom/android/server/connectivity/Nat464Xlat;-><init>(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;)V
+PLcom/android/server/connectivity/Nat464Xlat;->fixupLinkProperties(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
+PLcom/android/server/connectivity/Nat464Xlat;->isPrefixDiscoveryStarted()Z
+PLcom/android/server/connectivity/Nat464Xlat;->isRunning()Z
+PLcom/android/server/connectivity/Nat464Xlat;->isStarted()Z
+PLcom/android/server/connectivity/Nat464Xlat;->requiresClat(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
+PLcom/android/server/connectivity/Nat464Xlat;->toString()Ljava/lang/String;
+PLcom/android/server/connectivity/Nat464Xlat;->update()V
+PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;-><init>()V
+PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->collect(JLandroid/util/SparseArray;)Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
+PLcom/android/server/connectivity/NetdEventListenerService;-><clinit>()V
+PLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/net/ConnectivityManager;)V
+PLcom/android/server/connectivity/NetdEventListenerService;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
+PLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(J)V
PLcom/android/server/connectivity/NetdEventListenerService;->flushStatistics(Ljava/util/List;)V
-HSPLcom/android/server/connectivity/NetdEventListenerService;->getTransports(I)J
-PLcom/android/server/connectivity/NetdEventListenerService;->list(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V
-HSPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V
-PLcom/android/server/connectivity/NetdEventListenerService;->onNat64PrefixEvent(IZLjava/lang/String;I)V
-HSPLcom/android/server/connectivity/NetdEventListenerService;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/connectivity/NetdEventListenerService;->onTcpSocketStatsEvent([I[I[I[I[I)V
-PLcom/android/server/connectivity/NetdEventListenerService;->onWakeupEvent(Ljava/lang/String;III[BLjava/lang/String;Ljava/lang/String;IIJ)V
-PLcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;->compareTo(Lcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;)I
-PLcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkMisc;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/os/INetworkManagementService;I)V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->addRequest(Landroid/net/NetworkRequest;)Z
-PLcom/android/server/connectivity/NetworkAgentInfo;->clearLingerState()V
-PLcom/android/server/connectivity/NetworkAgentInfo;->compareTo(Lcom/android/server/connectivity/NetworkAgentInfo;)I
-PLcom/android/server/connectivity/NetworkAgentInfo;->compareTo(Ljava/lang/Object;)I
-PLcom/android/server/connectivity/NetworkAgentInfo;->connService()Lcom/android/server/ConnectivityService;
-PLcom/android/server/connectivity/NetworkAgentInfo;->dumpLingerTimers(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScore()I
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScore(Z)I
-PLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScoreAsValidated()I
-PLcom/android/server/connectivity/NetworkAgentInfo;->getLingerExpiry()J
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->getNetworkState()Landroid/net/NetworkState;
-PLcom/android/server/connectivity/NetworkAgentInfo;->handler()Landroid/os/Handler;
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->ignoreWifiUnvalidationPenalty()Z
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->isBackgroundNetwork()Z
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->isLingering()Z
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->isSatisfyingRequest(I)Z
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->isSuspended()Z
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->isVPN()Z
-PLcom/android/server/connectivity/NetworkAgentInfo;->linger()V
-PLcom/android/server/connectivity/NetworkAgentInfo;->lingerRequest(Landroid/net/NetworkRequest;JJ)V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->name()Ljava/lang/String;
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->netMisc()Landroid/net/NetworkMisc;
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->network()Landroid/net/Network;
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->networkMonitor()Landroid/net/INetworkMonitor;
-PLcom/android/server/connectivity/NetworkAgentInfo;->numBackgroundNetworkRequests()I
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->numForegroundNetworkRequests()I
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->numNetworkRequests()I
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->numRequestNetworkRequests()I
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->removeRequest(I)V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->requestAt(I)Landroid/net/NetworkRequest;
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->satisfies(Landroid/net/NetworkRequest;)Z
-PLcom/android/server/connectivity/NetworkAgentInfo;->setCurrentScore(I)V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->toString()Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkAgentInfo;->unlinger()V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->unlingerRequest(Landroid/net/NetworkRequest;)Z
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->updateLingerTimer()V
-HSPLcom/android/server/connectivity/NetworkAgentInfo;->updateRequestCounts(ZLandroid/net/NetworkRequest;)V
-PLcom/android/server/connectivity/NetworkDiagnostics$DnsResponseCode;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/NetworkDiagnostics$DnsUdpCheck;-><init>(Lcom/android/server/connectivity/NetworkDiagnostics;Ljava/net/InetAddress;Lcom/android/server/connectivity/NetworkDiagnostics$Measurement;)V
-PLcom/android/server/connectivity/NetworkDiagnostics$DnsUdpCheck;->getDnsQueryPacket(Ljava/lang/String;)[B
-PLcom/android/server/connectivity/NetworkDiagnostics$DnsUdpCheck;->responseCodeStr(I)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkDiagnostics$DnsUdpCheck;->run()V
-PLcom/android/server/connectivity/NetworkDiagnostics$IcmpCheck;-><init>(Lcom/android/server/connectivity/NetworkDiagnostics;Ljava/net/InetAddress;Ljava/net/InetAddress;Lcom/android/server/connectivity/NetworkDiagnostics$Measurement;)V
-PLcom/android/server/connectivity/NetworkDiagnostics$IcmpCheck;->run()V
-PLcom/android/server/connectivity/NetworkDiagnostics$Measurement;->checkSucceeded()Z
-PLcom/android/server/connectivity/NetworkDiagnostics$Measurement;->recordFailure(Ljava/lang/String;)V
-PLcom/android/server/connectivity/NetworkDiagnostics$Measurement;->recordSuccess(Ljava/lang/String;)V
-PLcom/android/server/connectivity/NetworkDiagnostics$Measurement;->toString()Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkDiagnostics$SimpleSocketCheck;-><init>(Lcom/android/server/connectivity/NetworkDiagnostics;Ljava/net/InetAddress;Ljava/net/InetAddress;Lcom/android/server/connectivity/NetworkDiagnostics$Measurement;)V
-PLcom/android/server/connectivity/NetworkDiagnostics$SimpleSocketCheck;->close()V
-PLcom/android/server/connectivity/NetworkDiagnostics$SimpleSocketCheck;->getSocketAddressString()Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkDiagnostics$SimpleSocketCheck;->setupSocket(IIJJI)V
-PLcom/android/server/connectivity/NetworkDiagnostics;-><init>(Landroid/net/Network;Landroid/net/LinkProperties;J)V
-PLcom/android/server/connectivity/NetworkDiagnostics;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/connectivity/NetworkDiagnostics;->getInterfaceIndex(Ljava/lang/String;)Ljava/lang/Integer;
-PLcom/android/server/connectivity/NetworkDiagnostics;->getMeasurements()Ljava/util/List;
-PLcom/android/server/connectivity/NetworkDiagnostics;->prepareExplicitSourceIcmpMeasurements(Ljava/net/InetAddress;)V
-PLcom/android/server/connectivity/NetworkDiagnostics;->startMeasurements()V
-PLcom/android/server/connectivity/NetworkDiagnostics;->waitForMeasurements()V
-HSPLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;-><init>(Ljava/lang/String;II)V
-HSPLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;->values()[Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;
-HSPLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(I)V
-HSPLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)V
-PLcom/android/server/connectivity/NetworkNotificationManager;->getTransportName(I)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkNotificationManager;->priority(Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)I
-HSPLcom/android/server/connectivity/NetworkNotificationManager;->setProvNotificationVisible(ZILjava/lang/String;)V
-PLcom/android/server/connectivity/NetworkNotificationManager;->showNotification(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/server/connectivity/PacManager;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+PLcom/android/server/connectivity/NetdEventListenerService;->getMetricsForNetwork(JI)Landroid/net/metrics/NetworkMetrics;
+PLcom/android/server/connectivity/NetdEventListenerService;->getTransports(I)J
+PLcom/android/server/connectivity/NetdEventListenerService;->isValidCallerType(I)Z
+HPLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V
+HPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V
+PLcom/android/server/connectivity/NetdEventListenerService;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/connectivity/NetdEventListenerService;->onTcpSocketStatsEvent([I[I[I[I[I)V
+PLcom/android/server/connectivity/NetdEventListenerService;->projectSnapshotTime(J)J
+PLcom/android/server/connectivity/NetworkAgentInfo$1;-><clinit>()V
+PLcom/android/server/connectivity/NetworkAgentInfo;-><clinit>()V
+PLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/NetworkScore;Landroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkMisc;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/net/IDnsResolver;Landroid/os/INetworkManagementService;I)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->addRequest(Landroid/net/NetworkRequest;)Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScore()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScore(Z)I
+HPLcom/android/server/connectivity/NetworkAgentInfo;->getNetworkState()Landroid/net/NetworkState;
+PLcom/android/server/connectivity/NetworkAgentInfo;->ignoreWifiUnvalidationPenalty()Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->isBackgroundNetwork()Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->isLingering()Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->isSatisfyingRequest(I)Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->isSuspended()Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->isVPN()Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->name()Ljava/lang/String;
+PLcom/android/server/connectivity/NetworkAgentInfo;->netMisc()Landroid/net/NetworkMisc;
+PLcom/android/server/connectivity/NetworkAgentInfo;->network()Landroid/net/Network;
+PLcom/android/server/connectivity/NetworkAgentInfo;->networkMonitor()Landroid/net/NetworkMonitorManager;
+PLcom/android/server/connectivity/NetworkAgentInfo;->numForegroundNetworkRequests()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->numNetworkRequests()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->numRequestNetworkRequests()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->requestAt(I)Landroid/net/NetworkRequest;
+PLcom/android/server/connectivity/NetworkAgentInfo;->satisfies(Landroid/net/NetworkRequest;)Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->setNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->setNetworkScore(Landroid/net/NetworkScore;)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->toString()Ljava/lang/String;
+PLcom/android/server/connectivity/NetworkAgentInfo;->unlingerRequest(Landroid/net/NetworkRequest;)Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->updateLingerTimer()V
+PLcom/android/server/connectivity/NetworkAgentInfo;->updateRequestCounts(ZLandroid/net/NetworkRequest;)V
+PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType$Holder;-><clinit>()V
+PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType$Holder;->access$000()Landroid/util/SparseArray;
+PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;-><clinit>()V
+PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;-><init>(Ljava/lang/String;II)V
+PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;->getFromId(I)Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;
+PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;->values()[Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;
+PLcom/android/server/connectivity/NetworkNotificationManager;-><clinit>()V
+PLcom/android/server/connectivity/NetworkNotificationManager;-><init>(Landroid/content/Context;Landroid/telephony/TelephonyManager;Landroid/app/NotificationManager;)V
+PLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(I)V
+PLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)V
+PLcom/android/server/connectivity/PacManager$1;-><init>(Lcom/android/server/connectivity/PacManager;)V
+PLcom/android/server/connectivity/PacManager$PacRefreshIntentReceiver;-><init>(Lcom/android/server/connectivity/PacManager;)V
+PLcom/android/server/connectivity/PacManager;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+PLcom/android/server/connectivity/PermissionMonitor$PackageListObserver;-><init>(Lcom/android/server/connectivity/PermissionMonitor;)V
+PLcom/android/server/connectivity/PermissionMonitor$PackageListObserver;-><init>(Lcom/android/server/connectivity/PermissionMonitor;Lcom/android/server/connectivity/PermissionMonitor$1;)V
+PLcom/android/server/connectivity/PermissionMonitor$PackageListObserver;->getPermissionForUid(I)I
PLcom/android/server/connectivity/PermissionMonitor$PackageListObserver;->onPackageAdded(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/PermissionMonitor$PackageListObserver;->onPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/connectivity/PermissionMonitor;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;)V
-HSPLcom/android/server/connectivity/PermissionMonitor;->getDeviceFirstSdkInt()I
+PLcom/android/server/connectivity/PermissionMonitor$PackageListObserver;->onPackageChanged(Ljava/lang/String;I)V
+PLcom/android/server/connectivity/PermissionMonitor;-><clinit>()V
+PLcom/android/server/connectivity/PermissionMonitor;-><init>(Landroid/content/Context;Landroid/net/INetd;)V
+PLcom/android/server/connectivity/PermissionMonitor;->access$000(Lcom/android/server/connectivity/PermissionMonitor;)Landroid/content/pm/PackageManager;
+PLcom/android/server/connectivity/PermissionMonitor;->access$100(Lcom/android/server/connectivity/PermissionMonitor;Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/connectivity/PermissionMonitor;->access$200([Ljava/lang/String;[I)I
+PLcom/android/server/connectivity/PermissionMonitor;->getDeviceFirstSdkInt()I
+HPLcom/android/server/connectivity/PermissionMonitor;->getNetdPermissionMask([Ljava/lang/String;[I)I
PLcom/android/server/connectivity/PermissionMonitor;->getPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/connectivity/PermissionMonitor;->hasPermission(Landroid/content/pm/PackageInfo;Ljava/lang/String;)Z
-HSPLcom/android/server/connectivity/PermissionMonitor;->hasRestrictedNetworkPermission(Landroid/content/pm/PackageInfo;)Z
-HSPLcom/android/server/connectivity/PermissionMonitor;->hasUseBackgroundNetworksPermission(I)Z
+PLcom/android/server/connectivity/PermissionMonitor;->hasNetworkPermission(Landroid/content/pm/PackageInfo;)Z
+HPLcom/android/server/connectivity/PermissionMonitor;->hasPermission(Landroid/content/pm/PackageInfo;Ljava/lang/String;)Z
+PLcom/android/server/connectivity/PermissionMonitor;->hasRestrictedNetworkPermission(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/connectivity/PermissionMonitor;->hasUseBackgroundNetworksPermission(I)Z
PLcom/android/server/connectivity/PermissionMonitor;->highestPermissionForUid(Ljava/lang/Boolean;Ljava/lang/String;)Ljava/lang/Boolean;
+PLcom/android/server/connectivity/PermissionMonitor;->isVendorApp(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/connectivity/PermissionMonitor;->log(Ljava/lang/String;)V
PLcom/android/server/connectivity/PermissionMonitor;->onPackageAdded(Ljava/lang/String;I)V
-HSPLcom/android/server/connectivity/PermissionMonitor;->onPackageRemoved(I)V
-HSPLcom/android/server/connectivity/PermissionMonitor;->sendPackagePermissionsToNetd(Landroid/util/SparseIntArray;)V
-HSPLcom/android/server/connectivity/PermissionMonitor;->startMonitoring()V
-HSPLcom/android/server/connectivity/PermissionMonitor;->update(Ljava/util/Set;Ljava/util/Map;Z)V
-HSPLcom/android/server/connectivity/ProxyTracker;->getGlobalProxy()Landroid/net/ProxyInfo;
-HSPLcom/android/server/connectivity/ProxyTracker;->loadDeprecatedGlobalHttpProxy()V
-HSPLcom/android/server/connectivity/ProxyTracker;->loadGlobalProxy()V
-HSPLcom/android/server/connectivity/ProxyTracker;->proxyInfoEqual(Landroid/net/ProxyInfo;Landroid/net/ProxyInfo;)Z
-HSPLcom/android/server/connectivity/ProxyTracker;->setDefaultProxy(Landroid/net/ProxyInfo;)V
-HSPLcom/android/server/connectivity/TcpKeepaliveController;-><init>(Landroid/os/Handler;)V
-HSPLcom/android/server/connectivity/Tethering$3;->updateInterfaceState(Landroid/net/ip/IpServer;II)V
-HSPLcom/android/server/connectivity/Tethering$3;->updateLinkProperties(Landroid/net/ip/IpServer;Landroid/net/LinkProperties;)V
-HSPLcom/android/server/connectivity/Tethering$StateReceiver;->handleConnectivityAction(Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/Tethering$StateReceiver;->handleUsbAction(Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/Tethering$StateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/Tethering$TetherMasterSM$InitialState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->excludeDownstreamInterface(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->sendOffloadExemptPrefixes()V
-HSPLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->sendOffloadExemptPrefixes(Ljava/util/Set;)V
-HSPLcom/android/server/connectivity/Tethering$TetherMasterSM;-><init>(Lcom/android/server/connectivity/Tethering;Ljava/lang/String;Landroid/os/Looper;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
-HSPLcom/android/server/connectivity/Tethering$TetherMasterSM;->handleInterfaceServingStateInactive(Landroid/net/ip/IpServer;)V
-HSPLcom/android/server/connectivity/Tethering$TetheringUserRestrictionListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/connectivity/Tethering;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/os/Looper;Lcom/android/server/connectivity/MockableSystemProperties;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
-HSPLcom/android/server/connectivity/Tethering;->clearTetheredNotification()V
-PLcom/android/server/connectivity/Tethering;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Tethering;->enableTetheringInternal(IZLandroid/os/ResultReceiver;)V
-PLcom/android/server/connectivity/Tethering;->getTetherableBluetoothRegexs()[Ljava/lang/String;
-PLcom/android/server/connectivity/Tethering;->getTetherableUsbRegexs()[Ljava/lang/String;
-HSPLcom/android/server/connectivity/Tethering;->getTetherableWifiRegexs()[Ljava/lang/String;
-PLcom/android/server/connectivity/Tethering;->getTetheredIfaces()[Ljava/lang/String;
-HSPLcom/android/server/connectivity/Tethering;->hasTetherableConfiguration()Z
-HSPLcom/android/server/connectivity/Tethering;->interfaceAdded(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Tethering;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/Tethering;->interfaceRemoved(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Tethering;->interfaceStatusChanged(Ljava/lang/String;Z)V
-HSPLcom/android/server/connectivity/Tethering;->lambda$new$0$Tethering(Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/Tethering;->lambda$new$1$Tethering(Landroid/content/Intent;)V
-HSPLcom/android/server/connectivity/Tethering;->logMessage(Lcom/android/internal/util/State;I)V
-HSPLcom/android/server/connectivity/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/connectivity/Tethering;->notifyInterfaceStateChange(Landroid/net/ip/IpServer;II)V
-HSPLcom/android/server/connectivity/Tethering;->notifyLinkPropertiesChanged(Landroid/net/ip/IpServer;Landroid/net/LinkProperties;)V
-HSPLcom/android/server/connectivity/Tethering;->sendTetherStateChangedBroadcast()V
-HSPLcom/android/server/connectivity/Tethering;->setWifiTethering(Z)I
-HSPLcom/android/server/connectivity/Tethering;->startStateMachineUpdaters(Landroid/os/Handler;)V
-PLcom/android/server/connectivity/Tethering;->stopTrackingInterfaceLocked(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/Tethering;->systemReady()V
-HSPLcom/android/server/connectivity/Tethering;->updateConfiguration()V
-PLcom/android/server/connectivity/Tethering;->upstreamWanted()Z
-PLcom/android/server/connectivity/Vpn$2;->interfaceRemoved(Ljava/lang/String;)V
-PLcom/android/server/connectivity/Vpn$Connection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
-HSPLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetStringForUser(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;ILcom/android/server/connectivity/Vpn$SystemServices;)V
-PLcom/android/server/connectivity/Vpn;->addUserToRanges(Ljava/util/Set;ILjava/util/List;Ljava/util/List;)V
-PLcom/android/server/connectivity/Vpn;->agentConnect()V
-HSPLcom/android/server/connectivity/Vpn;->appliesToUid(I)Z
-PLcom/android/server/connectivity/Vpn;->applyUnderlyingCapabilities(Landroid/net/ConnectivityManager;[Landroid/net/Network;Landroid/net/NetworkCapabilities;Z)V
-PLcom/android/server/connectivity/Vpn;->canHaveRestrictedProfile(I)Z
-PLcom/android/server/connectivity/Vpn;->createUserAndRestrictedProfilesRanges(ILjava/util/List;Ljava/util/List;)Ljava/util/Set;
-HSPLcom/android/server/connectivity/Vpn;->doesPackageTargetAtLeastQ(Ljava/lang/String;)Z
-PLcom/android/server/connectivity/Vpn;->establish(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/connectivity/Vpn;->getAlwaysOnPackage()Ljava/lang/String;
-HSPLcom/android/server/connectivity/Vpn;->getAppUid(Ljava/lang/String;I)I
-HSPLcom/android/server/connectivity/Vpn;->getLockdown()Z
-HSPLcom/android/server/connectivity/Vpn;->getNetId()I
-HSPLcom/android/server/connectivity/Vpn;->getUnderlyingNetworks()[Landroid/net/Network;
-HSPLcom/android/server/connectivity/Vpn;->getVpnConfig()Lcom/android/internal/net/VpnConfig;
-HSPLcom/android/server/connectivity/Vpn;->getVpnInfo()Lcom/android/internal/net/VpnInfo;
-HSPLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage()V
-PLcom/android/server/connectivity/Vpn;->makeLinkProperties()Landroid/net/LinkProperties;
-PLcom/android/server/connectivity/Vpn;->prepare(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/connectivity/Vpn;->prepareInternal(Ljava/lang/String;)V
-PLcom/android/server/connectivity/Vpn;->providesRoutesToMostDestinations(Landroid/net/LinkProperties;)Z
-HSPLcom/android/server/connectivity/Vpn;->setAllowOnlyVpnForUids(ZLjava/util/Collection;)Z
-HSPLcom/android/server/connectivity/Vpn;->setAlwaysOnPackageInternal(Ljava/lang/String;ZLjava/util/List;)Z
-HSPLcom/android/server/connectivity/Vpn;->setVpnForcedLocked(Z)V
-HSPLcom/android/server/connectivity/Vpn;->startAlwaysOnVpn()Z
-HSPLcom/android/server/connectivity/Vpn;->updateAlwaysOnNotification(Landroid/net/NetworkInfo$DetailedState;)V
-HSPLcom/android/server/connectivity/Vpn;->updateCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
-PLcom/android/server/connectivity/Vpn;->updateState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$3TF0NI3fE8A-xW0925oMv3YzAOk;->run()V
-HSPLcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$qF4r7cON-_Hdae6JwwsXWcAUxEQ;->run()V
-HSPLcom/android/server/connectivity/tethering/EntitlementManager;-><init>(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;Lcom/android/server/connectivity/MockableSystemProperties;)V
-HSPLcom/android/server/connectivity/tethering/EntitlementManager;->getCarrierConfig()Landroid/os/PersistableBundle;
-HSPLcom/android/server/connectivity/tethering/EntitlementManager;->isTetherProvisioningRequired()Z
-HSPLcom/android/server/connectivity/tethering/EntitlementManager;->reevaluateSimCardProvisioning()V
-HSPLcom/android/server/connectivity/tethering/EntitlementManager;->updateConfiguration(Lcom/android/server/connectivity/tethering/TetheringConfiguration;)V
-HSPLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->findDownstream(Landroid/net/ip/IpServer;)Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator$Downstream;
-HSPLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->removeActiveDownstream(Landroid/net/ip/IpServer;)V
-HSPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
-HSPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->lambda$getTetherStats$0$OffloadController$OffloadTetheringStatsProvider()V
-HSPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->lambda$setInterfaceQuota$1$OffloadController$OffloadTetheringStatsProvider(JLjava/lang/String;)V
-HSPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->setInterfaceQuota(Ljava/lang/String;J)V
-HSPLcom/android/server/connectivity/tethering/OffloadController;-><init>(Landroid/os/Handler;Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;Landroid/content/ContentResolver;Landroid/os/INetworkManagementService;Landroid/net/util/SharedLog;)V
-PLcom/android/server/connectivity/tethering/OffloadController;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/connectivity/tethering/OffloadController;->maybeUpdateDataLimit(Ljava/lang/String;)Z
-HSPLcom/android/server/connectivity/tethering/OffloadController;->removeDownstreamInterface(Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/tethering/OffloadController;->setLocalPrefixes(Ljava/util/Set;)V
-HSPLcom/android/server/connectivity/tethering/OffloadHardwareInterface$ForwardedStats;-><init>()V
-PLcom/android/server/connectivity/tethering/OffloadHardwareInterface;->getDefaultTetherOffloadDisabled()I
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;-><init>(Landroid/content/Context;Landroid/net/util/SharedLog;I)V
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->dumpStringArray(Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getProvisioningAppNoUi(Landroid/content/res/Resources;)Ljava/lang/String;
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceBoolean(Landroid/content/res/Resources;I)Z
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceStringArray(Landroid/content/res/Resources;I)[Ljava/lang/String;
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourcesForSubIdWrapper(Landroid/content/Context;I)Landroid/content/res/Resources;
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getUpstreamIfaceTypes(Landroid/content/res/Resources;Z)Ljava/util/Collection;
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->hasMobileHotspotProvisionApp()Z
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->isBluetooth(Ljava/lang/String;)Z
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->isUsb(Ljava/lang/String;)Z
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->isWifi(Ljava/lang/String;)Z
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->makeString([Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->preferredUpstreamNames(Ljava/util/Collection;)[Ljava/lang/String;
-HSPLcom/android/server/connectivity/tethering/TetheringConfiguration;->toString()Ljava/lang/String;
-HSPLcom/android/server/connectivity/tethering/TetheringDependencies;->getDefaultDataSubscriptionId()I
-HSPLcom/android/server/connectivity/tethering/TetheringDependencies;->getEntitlementManager(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;Lcom/android/server/connectivity/MockableSystemProperties;)Lcom/android/server/connectivity/tethering/EntitlementManager;
-HSPLcom/android/server/connectivity/tethering/TetheringDependencies;->getIPv6TetheringCoordinator(Ljava/util/ArrayList;Landroid/net/util/SharedLog;)Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;
-HSPLcom/android/server/connectivity/tethering/TetheringDependencies;->getIpServerDependencies()Landroid/net/ip/IpServer$Dependencies;
-HSPLcom/android/server/connectivity/tethering/TetheringDependencies;->getOffloadHardwareInterface(Landroid/os/Handler;Landroid/net/util/SharedLog;)Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;
-HSPLcom/android/server/connectivity/tethering/TetheringDependencies;->getUpstreamNetworkMonitor(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;I)Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onAvailable(Landroid/net/Network;)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onLinkPropertiesChanged(Landroid/net/Network;Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onLost(Landroid/net/Network;)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onNetworkResumed(Landroid/net/Network;)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onNetworkSuspended(Landroid/net/Network;)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;I)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->getLocalPrefixes()Ljava/util/Set;
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->mobileNetworkRequested()Z
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->startTrackDefaultNetwork(Landroid/net/NetworkRequest;)V
-HSPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->updateMobileRequiresDun(Z)V
-HSPLcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;-><init>()V
-PLcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;->run()V
-PLcom/android/server/content/-$$Lambda$SyncManager$9EoLpTk5JrHZn9R-uS0lqCVrpRw;-><init>(Ljava/lang/StringBuilder;Lcom/android/server/content/SyncManager$PrintTable;)V
-PLcom/android/server/content/-$$Lambda$SyncManager$9EoLpTk5JrHZn9R-uS0lqCVrpRw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;->run()V
-PLcom/android/server/content/-$$Lambda$SyncManager$EMXCZP9LDjgUTYbLsEoVu9Ccntw;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/-$$Lambda$SyncManager$EMXCZP9LDjgUTYbLsEoVu9Ccntw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/connectivity/PermissionMonitor;->onPackageRemoved(I)V
+PLcom/android/server/connectivity/PermissionMonitor;->sendPackagePermissionsForUid(II)V
+PLcom/android/server/connectivity/PermissionMonitor;->sendPackagePermissionsToNetd(Landroid/util/SparseIntArray;)V
+PLcom/android/server/connectivity/PermissionMonitor;->startMonitoring()V
+HPLcom/android/server/connectivity/PermissionMonitor;->toIntArray(Ljava/util/Collection;)[I
+PLcom/android/server/connectivity/PermissionMonitor;->update(Ljava/util/Set;Ljava/util/Map;Z)V
+PLcom/android/server/connectivity/ProxyTracker;-><clinit>()V
+PLcom/android/server/connectivity/ProxyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+PLcom/android/server/connectivity/ProxyTracker;->canonicalizeProxyInfo(Landroid/net/ProxyInfo;)Landroid/net/ProxyInfo;
+PLcom/android/server/connectivity/ProxyTracker;->getGlobalProxy()Landroid/net/ProxyInfo;
+PLcom/android/server/connectivity/ProxyTracker;->loadDeprecatedGlobalHttpProxy()V
+PLcom/android/server/connectivity/ProxyTracker;->loadGlobalProxy()V
+PLcom/android/server/connectivity/ProxyTracker;->proxyInfoEqual(Landroid/net/ProxyInfo;Landroid/net/ProxyInfo;)Z
+PLcom/android/server/connectivity/ProxyTracker;->setDefaultProxy(Landroid/net/ProxyInfo;)V
+PLcom/android/server/connectivity/TcpKeepaliveController;-><clinit>()V
+PLcom/android/server/connectivity/TcpKeepaliveController;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/connectivity/Vpn$2;-><init>(Lcom/android/server/connectivity/Vpn;)V
+PLcom/android/server/connectivity/Vpn$SystemServices;-><init>(Landroid/content/Context;)V
+PLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
+PLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetStringForUser(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/connectivity/Vpn;-><clinit>()V
+PLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;I)V
+PLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;ILcom/android/server/connectivity/Vpn$SystemServices;)V
+HPLcom/android/server/connectivity/Vpn;->appliesToUid(I)Z
+PLcom/android/server/connectivity/Vpn;->doesPackageTargetAtLeastQ(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/Vpn;->enforceControlPermission()V
+PLcom/android/server/connectivity/Vpn;->getAlwaysOnPackage()Ljava/lang/String;
+PLcom/android/server/connectivity/Vpn;->getAppUid(Ljava/lang/String;I)I
+HPLcom/android/server/connectivity/Vpn;->getLockdown()Z
+PLcom/android/server/connectivity/Vpn;->getNetId()I
+PLcom/android/server/connectivity/Vpn;->getUnderlyingNetworks()[Landroid/net/Network;
+PLcom/android/server/connectivity/Vpn;->getVpnConfig()Lcom/android/internal/net/VpnConfig;
+PLcom/android/server/connectivity/Vpn;->getVpnInfo()Lcom/android/internal/net/VpnInfo;
+PLcom/android/server/connectivity/Vpn;->isCurrentPreparedPackage(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/Vpn;->isNullOrLegacyVpn(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/Vpn;->isRunningLocked()Z
+PLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage()V
+PLcom/android/server/connectivity/Vpn;->setAllowOnlyVpnForUids(ZLjava/util/Collection;)Z
+PLcom/android/server/connectivity/Vpn;->setAlwaysOnPackageInternal(Ljava/lang/String;ZLjava/util/List;)Z
+PLcom/android/server/connectivity/Vpn;->setVpnForcedLocked(Z)V
+PLcom/android/server/connectivity/Vpn;->startAlwaysOnVpn()Z
+PLcom/android/server/connectivity/Vpn;->updateAlwaysOnNotification(Landroid/net/NetworkInfo$DetailedState;)V
+PLcom/android/server/connectivity/Vpn;->updateCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/content/-$$Lambda$ContentService$5-BNVxd6JTWU9ogp3u-0kfiqgbI;-><init>(Lcom/android/server/content/ContentService;)V
+PLcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;-><clinit>()V
+PLcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;-><init>()V
+PLcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;-><init>(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;->run()V
+PLcom/android/server/content/-$$Lambda$SyncManager$BRG-YMU-C9QC6JWVXAvsoEZC6Zc;-><init>(Lcom/android/server/content/SyncManager;Landroid/accounts/AccountAndUser;IILjava/lang/String;Landroid/os/Bundle;IJIIILjava/lang/String;)V
+PLcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;-><init>(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;->run()V
+PLcom/android/server/content/-$$Lambda$SyncManager$HhiSFjEoPA_Hnv3xYZGfwkalc68;-><init>(Lcom/android/server/content/SyncManager;)V
PLcom/android/server/content/-$$Lambda$SyncManager$HhiSFjEoPA_Hnv3xYZGfwkalc68;->onAppPermissionChanged(Landroid/accounts/Account;I)V
PLcom/android/server/content/-$$Lambda$SyncManager$XKEiBZ17uDgUCTwf_kh9_pH7usQ;-><init>(Lcom/android/server/content/SyncManager;Landroid/accounts/AccountAndUser;ILjava/lang/String;Landroid/os/Bundle;IJIIILjava/lang/String;)V
PLcom/android/server/content/-$$Lambda$SyncManager$XKEiBZ17uDgUCTwf_kh9_pH7usQ;->onReady()V
-PLcom/android/server/content/-$$Lambda$SyncManager$ag0YGuZ1oL06fytmNlyErbNyYcw;-><init>()V
-HSPLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;-><init>()V
-PLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;-><init>()V
-PLcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/content/-$$Lambda$SyncManager$rDUHWai3SU0BXk1TE0bLDap9gVc;-><init>()V
+PLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;-><clinit>()V
+PLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;-><init>()V
+PLcom/android/server/content/-$$Lambda$SyncManager$zZUXjd-GLFQgHtMQ3vq0EWHvir8;-><init>(Landroid/content/Context;Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
PLcom/android/server/content/-$$Lambda$SyncManager$zZUXjd-GLFQgHtMQ3vq0EWHvir8;->run()V
-HSPLcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;->run()V
-HSPLcom/android/server/content/ContentService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/ContentService$2;->compare(Ljava/lang/Integer;Ljava/lang/Integer;)I
-PLcom/android/server/content/ContentService$2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/content/ContentService$3;->getPackages(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLcom/android/server/content/ContentService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/content/ContentService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/content/ContentService$Lifecycle;->onStart()V
-HSPLcom/android/server/content/ContentService$Lifecycle;->onStartUser(I)V
-HSPLcom/android/server/content/ContentService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V
-HSPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->binderDied()V
-PLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/util/SparseIntArray;)V
-HSPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZLjava/lang/Object;III)V
-HSPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(ZLandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
-HSPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
-PLcom/android/server/content/ContentService$ObserverNode;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[ILandroid/util/SparseIntArray;)V
-HSPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z
-HSPLcom/android/server/content/ContentService;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;-><init>(Lcom/android/server/content/SyncManagerConstants;)V
+PLcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;->run()V
+PLcom/android/server/content/ContentService$1;-><init>(Lcom/android/server/content/ContentService;)V
+PLcom/android/server/content/ContentService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/ContentService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/content/ContentService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/content/ContentService$Lifecycle;->onStart()V
+PLcom/android/server/content/ContentService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/content/ContentService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/content/ContentService$ObserverCall;-><init>(Landroid/database/IContentObserver;ZLandroid/net/Uri;II)V
+HPLcom/android/server/content/ContentService$ObserverCall;->run()V
+HPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZLjava/lang/Object;IIILandroid/net/Uri;)V
+PLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->access$400(Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;)I
+PLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->binderDied()V
+HPLcom/android/server/content/ContentService$ObserverNode;-><init>(Ljava/lang/String;)V
+HPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZLjava/lang/Object;III)V
+PLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V
+HPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(Landroid/net/Uri;ZLandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
+HPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
+HPLcom/android/server/content/ContentService$ObserverNode;->countUriSegments(Landroid/net/Uri;)I
+HPLcom/android/server/content/ContentService$ObserverNode;->getUriSegment(Landroid/net/Uri;I)Ljava/lang/String;
+HPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z
+PLcom/android/server/content/ContentService;-><clinit>()V
+PLcom/android/server/content/ContentService;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/content/ContentService;->access$200()Lcom/android/internal/os/BinderDeathDispatcher;
PLcom/android/server/content/ContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
PLcom/android/server/content/ContentService;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
PLcom/android/server/content/ContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
PLcom/android/server/content/ContentService;->cancelSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)V
-HSPLcom/android/server/content/ContentService;->checkUriPermission(Landroid/net/Uri;IIII)I
+PLcom/android/server/content/ContentService;->checkUriPermission(Landroid/net/Uri;IIII)I
PLcom/android/server/content/ContentService;->clampPeriod(J)J
-PLcom/android/server/content/ContentService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/content/ContentService;->enforceCrossUserPermission(ILjava/lang/String;)V
PLcom/android/server/content/ContentService;->findOrCreateCacheLocked(ILjava/lang/String;)Landroid/util/ArrayMap;
PLcom/android/server/content/ContentService;->getCache(Ljava/lang/String;Landroid/net/Uri;I)Landroid/os/Bundle;
PLcom/android/server/content/ContentService;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
@@ -5763,870 +6529,903 @@ PLcom/android/server/content/ContentService;->getIsSyncableAsUser(Landroid/accou
PLcom/android/server/content/ContentService;->getMasterSyncAutomatically()Z
PLcom/android/server/content/ContentService;->getMasterSyncAutomaticallyAsUser(I)Z
PLcom/android/server/content/ContentService;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
-HSPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/content/ContentService;->getProviderPackageName(Landroid/net/Uri;I)Ljava/lang/String;
+PLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
PLcom/android/server/content/ContentService;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
PLcom/android/server/content/ContentService;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
PLcom/android/server/content/ContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
PLcom/android/server/content/ContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HSPLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I
-HSPLcom/android/server/content/ContentService;->getSyncManager()Lcom/android/server/content/SyncManager;
-HSPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/Uri;IIIZI)I
-HSPLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V
+HPLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I
+PLcom/android/server/content/ContentService;->getSyncExemptionForCaller(I)I
+HPLcom/android/server/content/ContentService;->getSyncManager()Lcom/android/server/content/SyncManager;
+HPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/Uri;IIIZI)I
+HPLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V
PLcom/android/server/content/ContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
PLcom/android/server/content/ContentService;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/content/ContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
+HPLcom/android/server/content/ContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
+HPLcom/android/server/content/ContentService;->notifyChange([Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
+PLcom/android/server/content/ContentService;->onBootPhase(I)V
+PLcom/android/server/content/ContentService;->onStartUser(I)V
PLcom/android/server/content/ContentService;->putCache(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;I)V
-HSPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
+HPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
PLcom/android/server/content/ContentService;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
PLcom/android/server/content/ContentService;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
PLcom/android/server/content/ContentService;->setIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;II)V
PLcom/android/server/content/ContentService;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
+PLcom/android/server/content/ContentService;->sync(Landroid/content/SyncRequest;Ljava/lang/String;)V
PLcom/android/server/content/ContentService;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
-HSPLcom/android/server/content/ContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
+HPLcom/android/server/content/ContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
PLcom/android/server/content/ContentService;->validateExtras(ILandroid/os/Bundle;)V
-PLcom/android/server/content/SyncAdapterStateFetcher;->getStandbyBucket(ILjava/lang/String;)I
-PLcom/android/server/content/SyncAdapterStateFetcher;->isAppActive(I)Z
-HSPLcom/android/server/content/SyncJobService;-><init>()V
+PLcom/android/server/content/SyncJobService;-><clinit>()V
+PLcom/android/server/content/SyncJobService;-><init>()V
PLcom/android/server/content/SyncJobService;->callJobFinishedInner(IZLjava/lang/String;)V
PLcom/android/server/content/SyncJobService;->getInstance()Lcom/android/server/content/SyncJobService;
-HSPLcom/android/server/content/SyncJobService;->isReady()Z
+PLcom/android/server/content/SyncJobService;->isReady()Z
PLcom/android/server/content/SyncJobService;->jobParametersToString(Landroid/app/job/JobParameters;)Ljava/lang/String;
PLcom/android/server/content/SyncJobService;->markSyncStarted(I)V
-HSPLcom/android/server/content/SyncJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/content/SyncJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
PLcom/android/server/content/SyncJobService;->onStopJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/content/SyncJobService;->updateInstance()V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->log(J[Ljava/lang/Object;)V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;-><init>()V
-PLcom/android/server/content/SyncLogger$RotatingFileLogger;->dumpAll(Ljava/io/PrintWriter;)V
-PLcom/android/server/content/SyncLogger$RotatingFileLogger;->dumpFile(Ljava/io/PrintWriter;Ljava/io/File;)V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->enabled()Z
+PLcom/android/server/content/SyncJobService;->updateInstance()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;-><init>(Lcom/android/server/content/SyncLogger$RotatingFileLogger;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->log(J[Ljava/lang/Object;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;-><clinit>()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;-><init>()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->closeCurrentLogLocked()V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->enabled()Z
PLcom/android/server/content/SyncLogger$RotatingFileLogger;->jobParametersToString(Landroid/app/job/JobParameters;)Ljava/lang/String;
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->log([Ljava/lang/Object;)V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->logInner(J[Ljava/lang/Object;)V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V
-HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->purgeOldLogs()V
-HSPLcom/android/server/content/SyncLogger;->getInstance()Lcom/android/server/content/SyncLogger;
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->log([Ljava/lang/Object;)V
+HPLcom/android/server/content/SyncLogger$RotatingFileLogger;->logInner(J[Ljava/lang/Object;)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V
+PLcom/android/server/content/SyncLogger$RotatingFileLogger;->purgeOldLogs()V
+PLcom/android/server/content/SyncLogger;-><init>()V
+PLcom/android/server/content/SyncLogger;->getInstance()Lcom/android/server/content/SyncLogger;
PLcom/android/server/content/SyncLogger;->logSafe(Lcom/android/server/content/SyncOperation;)Ljava/lang/String;
-PLcom/android/server/content/SyncManager$10;->onAuthorityRemoved(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-HSPLcom/android/server/content/SyncManager$11;->onServiceChanged(Landroid/content/SyncAdapterType;IZ)V
-HSPLcom/android/server/content/SyncManager$11;->onServiceChanged(Ljava/lang/Object;IZ)V
-PLcom/android/server/content/SyncManager$13;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$13;->compare(Landroid/content/pm/RegisteredServicesCache$ServiceInfo;Landroid/content/pm/RegisteredServicesCache$ServiceInfo;)I
-PLcom/android/server/content/SyncManager$13;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/content/SyncManager$14;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$14;->compare(Lcom/android/server/content/SyncManager$AuthoritySyncStats;Lcom/android/server/content/SyncManager$AuthoritySyncStats;)I
-PLcom/android/server/content/SyncManager$14;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/content/SyncManager$15;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$15;->compare(Lcom/android/server/content/SyncManager$AccountSyncStats;Lcom/android/server/content/SyncManager$AccountSyncStats;)I
-PLcom/android/server/content/SyncManager$15;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/content/SyncManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/content/SyncManager$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/content/SyncManager$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/content/SyncManager$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/content/SyncManager$7;->run()V
-PLcom/android/server/content/SyncManager$8;->onSyncRequest(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILandroid/os/Bundle;III)V
-PLcom/android/server/content/SyncManager$9;->onPeriodicSyncAdded(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;JJ)V
-PLcom/android/server/content/SyncManager$AccountSyncStats;-><init>(Ljava/lang/String;Lcom/android/server/content/SyncManager$1;)V
+PLcom/android/server/content/SyncManager$10;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$11;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$11;->onServiceChanged(Ljava/lang/Object;IZ)V
+PLcom/android/server/content/SyncManager$1;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$2;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$3;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/SyncManager$4;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$5;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/SyncManager$6;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/SyncManager$7;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$7;->run()V
+PLcom/android/server/content/SyncManager$8;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$9;-><init>(Lcom/android/server/content/SyncManager;)V
PLcom/android/server/content/SyncManager$ActiveSyncContext;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;JI)V
PLcom/android/server/content/SyncManager$ActiveSyncContext;->bindToSyncAdapter(Landroid/content/ComponentName;I)Z
-PLcom/android/server/content/SyncManager$ActiveSyncContext;->binderDied()V
PLcom/android/server/content/SyncManager$ActiveSyncContext;->close()V
PLcom/android/server/content/SyncManager$ActiveSyncContext;->onFinished(Landroid/content/SyncResult;)V
PLcom/android/server/content/SyncManager$ActiveSyncContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/content/SyncManager$ActiveSyncContext;->onServiceDisconnected(Landroid/content/ComponentName;)V
-PLcom/android/server/content/SyncManager$ActiveSyncContext;->toSafeString()Ljava/lang/String;
PLcom/android/server/content/SyncManager$ActiveSyncContext;->toString()Ljava/lang/String;
PLcom/android/server/content/SyncManager$ActiveSyncContext;->toString(Ljava/lang/StringBuilder;Z)V
-PLcom/android/server/content/SyncManager$AuthoritySyncStats;-><init>(Ljava/lang/String;Lcom/android/server/content/SyncManager$1;)V
+PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck$1;-><init>(Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck$1;->onUnsyncableAccountDone(Z)V
+PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;-><init>(Landroid/content/pm/RegisteredServicesCache$ServiceInfo;Lcom/android/server/content/SyncManager$OnReadyCallback;)V
+PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;->access$2400(Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;->onReady()V
PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/content/SyncManager$PrintTable;-><init>(I)V
-PLcom/android/server/content/SyncManager$PrintTable;->getNumRows()I
-PLcom/android/server/content/SyncManager$PrintTable;->printRow(Ljava/io/PrintWriter;[Ljava/lang/String;[Ljava/lang/Object;)V
-PLcom/android/server/content/SyncManager$PrintTable;->set(II[Ljava/lang/Object;)V
-PLcom/android/server/content/SyncManager$PrintTable;->writeTo(Ljava/io/PrintWriter;)V
+PLcom/android/server/content/SyncManager$ScheduleSyncMessagePayload;-><init>(Lcom/android/server/content/SyncOperation;J)V
+PLcom/android/server/content/SyncManager$ServiceConnectionData;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/os/IBinder;)V
+PLcom/android/server/content/SyncManager$SyncFinishedOrCancelledMessagePayload;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)V
+PLcom/android/server/content/SyncManager$SyncHandler;-><init>(Lcom/android/server/content/SyncManager;Landroid/os/Looper;)V
PLcom/android/server/content/SyncManager$SyncHandler;->cancelActiveSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
PLcom/android/server/content/SyncManager$SyncHandler;->closeActiveSyncContext(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
PLcom/android/server/content/SyncManager$SyncHandler;->computeSyncOpState(Lcom/android/server/content/SyncOperation;)I
PLcom/android/server/content/SyncManager$SyncHandler;->deferSyncH(Lcom/android/server/content/SyncOperation;JLjava/lang/String;)V
PLcom/android/server/content/SyncManager$SyncHandler;->dispatchSyncOperation(Lcom/android/server/content/SyncOperation;)Z
PLcom/android/server/content/SyncManager$SyncHandler;->getSyncWakeLock(Lcom/android/server/content/SyncOperation;)Landroid/os/PowerManager$WakeLock;
-HSPLcom/android/server/content/SyncManager$SyncHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V
-PLcom/android/server/content/SyncManager$SyncHandler;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;)J
+PLcom/android/server/content/SyncManager$SyncHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V
PLcom/android/server/content/SyncManager$SyncHandler;->isSyncNotUsingNetworkH(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Z
PLcom/android/server/content/SyncManager$SyncHandler;->maybeUpdateSyncPeriodH(Lcom/android/server/content/SyncOperation;JJ)V
PLcom/android/server/content/SyncManager$SyncHandler;->removePeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
PLcom/android/server/content/SyncManager$SyncHandler;->removePeriodicSyncInternalH(Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager$SyncHandler;->reschedulePeriodicSyncH(Lcom/android/server/content/SyncOperation;)V
PLcom/android/server/content/SyncManager$SyncHandler;->runBoundToAdapterH(Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/os/IBinder;)V
PLcom/android/server/content/SyncManager$SyncHandler;->runSyncFinishedOrCanceledH(Landroid/content/SyncResult;Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
PLcom/android/server/content/SyncManager$SyncHandler;->startSyncH(Lcom/android/server/content/SyncOperation;)V
PLcom/android/server/content/SyncManager$SyncHandler;->stopSyncEvent(JLcom/android/server/content/SyncOperation;Ljava/lang/String;IIJ)V
PLcom/android/server/content/SyncManager$SyncHandler;->syncResultToErrorNumber(Landroid/content/SyncResult;)I
PLcom/android/server/content/SyncManager$SyncHandler;->updateOrAddPeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
-HSPLcom/android/server/content/SyncManager$SyncHandler;->updateRunningAccountsH(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-PLcom/android/server/content/SyncManager$SyncTimeTracker;->timeSpentSyncing()J
-HSPLcom/android/server/content/SyncManager$SyncTimeTracker;->update()V
-HSPLcom/android/server/content/SyncManager;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/content/SyncManager$SyncHandler;->updateRunningAccountsH(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager$SyncTimeTracker;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager$SyncTimeTracker;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$1;)V
+PLcom/android/server/content/SyncManager$SyncTimeTracker;->update()V
+PLcom/android/server/content/SyncManager$UpdatePeriodicSyncMessagePayload;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
+PLcom/android/server/content/SyncManager;-><clinit>()V
+PLcom/android/server/content/SyncManager;-><init>(Landroid/content/Context;Z)V
PLcom/android/server/content/SyncManager;->access$1200(Lcom/android/server/content/SyncManager;)Ljava/util/List;
PLcom/android/server/content/SyncManager;->access$1300(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->access$2600(Lcom/android/server/content/SyncManager;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/content/SyncManager;->access$2700(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;J)V
PLcom/android/server/content/SyncManager;->access$2800(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager;->access$300(Lcom/android/server/content/SyncManager;)Z
+PLcom/android/server/content/SyncManager;->access$302(Lcom/android/server/content/SyncManager;Z)Z
PLcom/android/server/content/SyncManager;->access$3700(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;)V
PLcom/android/server/content/SyncManager;->access$3800(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager;->access$400(Lcom/android/server/content/SyncManager;)Z
PLcom/android/server/content/SyncManager;->access$4200(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
PLcom/android/server/content/SyncManager;->access$4300(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncManagerConstants;
PLcom/android/server/content/SyncManager;->access$4400(Lcom/android/server/content/SyncManager;Landroid/content/SyncResult;Lcom/android/server/content/SyncOperation;)V
-PLcom/android/server/content/SyncManager;->access$4500(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;J)V
PLcom/android/server/content/SyncManager;->access$4600(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
PLcom/android/server/content/SyncManager;->access$4700(Lcom/android/server/content/SyncManager;)Landroid/app/NotificationManager;
+PLcom/android/server/content/SyncManager;->access$500(Lcom/android/server/content/SyncManager;Ljava/lang/String;)V
PLcom/android/server/content/SyncManager;->access$700(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncLogger;
PLcom/android/server/content/SyncManager;->access$800(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncStorageEngine;
PLcom/android/server/content/SyncManager;->canAccessAccount(Landroid/accounts/Account;Ljava/lang/String;I)Z
-PLcom/android/server/content/SyncManager;->cancelActiveSync(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->cancelJob(Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->cancelJob(Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->cleanupJobs()V
+PLcom/android/server/content/SyncManager;->clearAllBackoffs(Ljava/lang/String;)V
PLcom/android/server/content/SyncManager;->clearBackoffSetting(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
PLcom/android/server/content/SyncManager;->clearScheduledSyncOperations(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
PLcom/android/server/content/SyncManager;->computeSyncable(Landroid/accounts/Account;ILjava/lang/String;Z)I
-PLcom/android/server/content/SyncManager;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Z)V
-PLcom/android/server/content/SyncManager;->dumpDayStatistic(Ljava/io/PrintWriter;Lcom/android/server/content/SyncStorageEngine$DayStats;)V
-PLcom/android/server/content/SyncManager;->dumpDayStatistics(Ljava/io/PrintWriter;)V
-PLcom/android/server/content/SyncManager;->dumpPendingSyncs(Ljava/io/PrintWriter;Lcom/android/server/content/SyncAdapterStateFetcher;)V
-PLcom/android/server/content/SyncManager;->dumpPeriodicSyncs(Ljava/io/PrintWriter;Lcom/android/server/content/SyncAdapterStateFetcher;)V
-PLcom/android/server/content/SyncManager;->dumpRecentHistory(Ljava/io/PrintWriter;)V
-PLcom/android/server/content/SyncManager;->dumpSyncAdapters(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/content/SyncManager;->dumpSyncHistory(Ljava/io/PrintWriter;)V
-PLcom/android/server/content/SyncManager;->dumpSyncState(Ljava/io/PrintWriter;Lcom/android/server/content/SyncAdapterStateFetcher;)V
-HSPLcom/android/server/content/SyncManager;->formatDurationHMS(Ljava/lang/StringBuilder;J)Ljava/lang/StringBuilder;
-PLcom/android/server/content/SyncManager;->formatTime(J)Ljava/lang/String;
+PLcom/android/server/content/SyncManager;->formatDurationHMS(Ljava/lang/StringBuilder;J)Ljava/lang/StringBuilder;
PLcom/android/server/content/SyncManager;->getAdapterBindIntent(Landroid/content/Context;Landroid/content/ComponentName;I)Landroid/content/Intent;
-HSPLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List;
-PLcom/android/server/content/SyncManager;->getAllUsers()Ljava/util/List;
-HSPLcom/android/server/content/SyncManager;->getConnectivityManager()Landroid/net/ConnectivityManager;
-HSPLcom/android/server/content/SyncManager;->getInstance()Lcom/android/server/content/SyncManager;
+HPLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List;
+PLcom/android/server/content/SyncManager;->getConnectivityManager()Landroid/net/ConnectivityManager;
+PLcom/android/server/content/SyncManager;->getInstance()Lcom/android/server/content/SyncManager;
PLcom/android/server/content/SyncManager;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I
-HSPLcom/android/server/content/SyncManager;->getJobStats()Ljava/lang/String;
+PLcom/android/server/content/SyncManager;->getJobScheduler()Landroid/app/job/JobScheduler;
+PLcom/android/server/content/SyncManager;->getJobStats()Ljava/lang/String;
PLcom/android/server/content/SyncManager;->getPeriodicSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Ljava/util/List;
-HSPLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-PLcom/android/server/content/SyncManager;->getSyncAdapterTypes(I)[Landroid/content/SyncAdapterType;
-HSPLcom/android/server/content/SyncManager;->getSyncStorageEngine()Lcom/android/server/content/SyncStorageEngine;
+PLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
+HPLcom/android/server/content/SyncManager;->getSyncAdapterTypes(I)[Landroid/content/SyncAdapterType;
+PLcom/android/server/content/SyncManager;->getSyncStorageEngine()Lcom/android/server/content/SyncStorageEngine;
PLcom/android/server/content/SyncManager;->increaseBackoffSetting(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
PLcom/android/server/content/SyncManager;->isAdapterDelayed(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
-PLcom/android/server/content/SyncManager;->isJobIdInUseLockedH(ILjava/util/List;)Z
-HSPLcom/android/server/content/SyncManager;->isUserUnlocked(I)Z
+PLcom/android/server/content/SyncManager;->isDeviceProvisioned()Z
+HPLcom/android/server/content/SyncManager;->isJobIdInUseLockedH(ILjava/util/List;)Z
+PLcom/android/server/content/SyncManager;->isUserUnlocked(I)Z
PLcom/android/server/content/SyncManager;->jitterize(JJ)J
-PLcom/android/server/content/SyncManager;->lambda$dumpSyncState$10(Ljava/lang/StringBuilder;Lcom/android/server/content/SyncManager$PrintTable;Ljava/lang/String;Landroid/content/SyncStatusInfo$Stats;Ljava/util/function/Function;Ljava/lang/Integer;)V
-PLcom/android/server/content/SyncManager;->lambda$new$0$SyncManager(Landroid/accounts/Account;I)V
-HSPLcom/android/server/content/SyncManager;->lambda$onStartUser$1$SyncManager(I)V
-HSPLcom/android/server/content/SyncManager;->lambda$onUnlockUser$2$SyncManager(I)V
-PLcom/android/server/content/SyncManager;->lambda$scheduleSync$5$SyncManager(Landroid/accounts/AccountAndUser;ILjava/lang/String;Landroid/os/Bundle;IJIIILjava/lang/String;)V
-PLcom/android/server/content/SyncManager;->lambda$static$6(Lcom/android/server/content/SyncOperation;Lcom/android/server/content/SyncOperation;)I
-HSPLcom/android/server/content/SyncManager;->likelyHasPeriodicSyncs()Z
+PLcom/android/server/content/SyncManager;->lambda$onStartUser$1$SyncManager(I)V
PLcom/android/server/content/SyncManager;->maybeRescheduleSync(Landroid/content/SyncResult;Lcom/android/server/content/SyncOperation;)V
-HSPLcom/android/server/content/SyncManager;->onBootPhase(I)V
-HSPLcom/android/server/content/SyncManager;->onStartUser(I)V
-HSPLcom/android/server/content/SyncManager;->onUnlockUser(I)V
-HSPLcom/android/server/content/SyncManager;->onUserUnlocked(I)V
+PLcom/android/server/content/SyncManager;->onBootPhase(I)V
+PLcom/android/server/content/SyncManager;->onStartUser(I)V
+PLcom/android/server/content/SyncManager;->onUnlockUser(I)V
+PLcom/android/server/content/SyncManager;->onUserUnlocked(I)V
PLcom/android/server/content/SyncManager;->postMonitorSyncProgressMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
PLcom/android/server/content/SyncManager;->postScheduleSyncMessage(Lcom/android/server/content/SyncOperation;J)V
-PLcom/android/server/content/SyncManager;->removePeriodicSync(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->removeStaleAccounts()V
-PLcom/android/server/content/SyncManager;->removeSyncsForAuthority(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->rescheduleSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;IIILjava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IIIILjava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZIIILjava/lang/String;)V
-HSPLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;J)V
+PLcom/android/server/content/SyncManager;->printTwoDigitNumber(Ljava/lang/StringBuilder;JCZ)Z
+PLcom/android/server/content/SyncManager;->readDataConnectionState()Z
+PLcom/android/server/content/SyncManager;->readyToSync(I)Z
+PLcom/android/server/content/SyncManager;->removeStaleAccounts()V
+HPLcom/android/server/content/SyncManager;->rescheduleSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
+HPLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;IIILjava/lang/String;)V
+PLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IIIILjava/lang/String;)V
+HPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZIIILjava/lang/String;)V
+HPLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;J)V
PLcom/android/server/content/SyncManager;->sendCancelSyncsMessage(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
PLcom/android/server/content/SyncManager;->sendOnUnsyncableAccount(Landroid/content/Context;Landroid/content/pm/RegisteredServicesCache$ServiceInfo;ILcom/android/server/content/SyncManager$OnReadyCallback;)V
PLcom/android/server/content/SyncManager;->sendSyncFinishedOrCanceledMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)V
-PLcom/android/server/content/SyncManager;->setAuthorityPendingState(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+HPLcom/android/server/content/SyncManager;->setAuthorityPendingState(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
PLcom/android/server/content/SyncManager;->setDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
PLcom/android/server/content/SyncManager;->syncExtrasEquals(Landroid/os/Bundle;Landroid/os/Bundle;Z)Z
-PLcom/android/server/content/SyncManager;->updateOrAddPeriodicSync(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
-HSPLcom/android/server/content/SyncManager;->verifyJobScheduler()V
+PLcom/android/server/content/SyncManager;->verifyJobScheduler()V
PLcom/android/server/content/SyncManager;->wasPackageEverLaunched(Ljava/lang/String;I)Z
-HSPLcom/android/server/content/SyncManager;->whiteListExistingSyncAdaptersIfNeeded()V
-HSPLcom/android/server/content/SyncManagerConstants;-><init>(Landroid/content/Context;)V
-PLcom/android/server/content/SyncManagerConstants;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->whiteListExistingSyncAdaptersIfNeeded()V
+PLcom/android/server/content/SyncManagerConstants;-><init>(Landroid/content/Context;)V
PLcom/android/server/content/SyncManagerConstants;->getInitialSyncRetryTimeInSeconds()I
PLcom/android/server/content/SyncManagerConstants;->getKeyExemptionTempWhitelistDurationInSeconds()I
PLcom/android/server/content/SyncManagerConstants;->getMaxRetriesWithAppStandbyExemption()I
PLcom/android/server/content/SyncManagerConstants;->getMaxSyncRetryTimeInSeconds()I
PLcom/android/server/content/SyncManagerConstants;->getRetryTimeIncreaseFactor()F
-HSPLcom/android/server/content/SyncManagerConstants;->lambda$start$0$SyncManagerConstants()V
-HSPLcom/android/server/content/SyncManagerConstants;->refresh()V
-HSPLcom/android/server/content/SyncManagerConstants;->start()V
+PLcom/android/server/content/SyncManagerConstants;->lambda$start$0$SyncManagerConstants()V
+PLcom/android/server/content/SyncManagerConstants;->refresh()V
+PLcom/android/server/content/SyncManagerConstants;->start()V
+PLcom/android/server/content/SyncOperation;-><clinit>()V
PLcom/android/server/content/SyncOperation;-><init>(Landroid/accounts/Account;IILjava/lang/String;IILjava/lang/String;Landroid/os/Bundle;ZI)V
PLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncOperation;JJ)V
-HSPLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILjava/lang/String;IILandroid/os/Bundle;ZZIJJI)V
-PLcom/android/server/content/SyncOperation;->createOneTimeSyncOperation()Lcom/android/server/content/SyncOperation;
-HSPLcom/android/server/content/SyncOperation;->dump(Landroid/content/pm/PackageManager;ZLcom/android/server/content/SyncAdapterStateFetcher;Z)Ljava/lang/String;
-HSPLcom/android/server/content/SyncOperation;->extrasToStringBuilder(Landroid/os/Bundle;Ljava/lang/StringBuilder;)V
-HSPLcom/android/server/content/SyncOperation;->findPriority()I
-HSPLcom/android/server/content/SyncOperation;->ignoreBackoff()Z
-HSPLcom/android/server/content/SyncOperation;->isAppStandbyExempted()Z
+HPLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILjava/lang/String;IILandroid/os/Bundle;ZZIJJI)V
+PLcom/android/server/content/SyncOperation;->dump(Landroid/content/pm/PackageManager;ZLcom/android/server/content/SyncAdapterStateFetcher;Z)Ljava/lang/String;
+HPLcom/android/server/content/SyncOperation;->extrasToStringBuilder(Landroid/os/Bundle;Ljava/lang/StringBuilder;)V
+PLcom/android/server/content/SyncOperation;->findPriority()I
+PLcom/android/server/content/SyncOperation;->ignoreBackoff()Z
+PLcom/android/server/content/SyncOperation;->isAppStandbyExempted()Z
PLcom/android/server/content/SyncOperation;->isConflict(Lcom/android/server/content/SyncOperation;)Z
-PLcom/android/server/content/SyncOperation;->isDerivedFromFailedPeriodicSync()Z
-HSPLcom/android/server/content/SyncOperation;->isExpedited()Z
-PLcom/android/server/content/SyncOperation;->isIgnoreSettings()Z
-HSPLcom/android/server/content/SyncOperation;->isInitialization()Z
-HSPLcom/android/server/content/SyncOperation;->isNotAllowedOnMetered()Z
-PLcom/android/server/content/SyncOperation;->matchesPeriodicOperation(Lcom/android/server/content/SyncOperation;)Z
-HSPLcom/android/server/content/SyncOperation;->maybeCreateFromJobExtras(Landroid/os/PersistableBundle;)Lcom/android/server/content/SyncOperation;
-HSPLcom/android/server/content/SyncOperation;->reasonToString(Landroid/content/pm/PackageManager;I)Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->isExpedited()Z
+PLcom/android/server/content/SyncOperation;->isInitialization()Z
+PLcom/android/server/content/SyncOperation;->isNotAllowedOnMetered()Z
+HPLcom/android/server/content/SyncOperation;->maybeCreateFromJobExtras(Landroid/os/PersistableBundle;)Lcom/android/server/content/SyncOperation;
+PLcom/android/server/content/SyncOperation;->reasonToString(Landroid/content/pm/PackageManager;I)Ljava/lang/String;
PLcom/android/server/content/SyncOperation;->toEventLog(I)[Ljava/lang/Object;
-HSPLcom/android/server/content/SyncOperation;->toJobInfoExtras()Landroid/os/PersistableBundle;
-HSPLcom/android/server/content/SyncOperation;->toKey()Ljava/lang/String;
-PLcom/android/server/content/SyncOperation;->toSafeString()Ljava/lang/String;
-HSPLcom/android/server/content/SyncOperation;->toString()Ljava/lang/String;
-HSPLcom/android/server/content/SyncOperation;->wakeLockName()Ljava/lang/String;
-HSPLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAccountValid(Landroid/accounts/Account;I)Z
-HSPLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAuthorityValid(Ljava/lang/String;I)Z
-PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;-><init>(Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;)V
-HSPLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->defaultInitialisation()V
-HSPLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->toString()Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->toJobInfoExtras()Landroid/os/PersistableBundle;
+HPLcom/android/server/content/SyncOperation;->toKey()Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->toString()Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->wakeLockName()Ljava/lang/String;
+PLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;-><init>(Landroid/content/Context;)V
+PLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAccountValid(Landroid/accounts/Account;I)Z
+PLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAuthorityValid(Ljava/lang/String;I)Z
+PLcom/android/server/content/SyncStorageEngine$AccountInfo;-><init>(Landroid/accounts/AccountAndUser;)V
+PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;I)V
+PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->defaultInitialisation()V
+PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->toString()Ljava/lang/String;
PLcom/android/server/content/SyncStorageEngine$DayStats;-><init>(I)V
-HSPLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V
-HSPLcom/android/server/content/SyncStorageEngine$EndPoint;->matchesSpec(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
+PLcom/android/server/content/SyncStorageEngine$EndPoint;-><clinit>()V
+HPLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V
+HPLcom/android/server/content/SyncStorageEngine$EndPoint;->matchesSpec(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
PLcom/android/server/content/SyncStorageEngine$EndPoint;->toSafeString()Ljava/lang/String;
-HSPLcom/android/server/content/SyncStorageEngine$EndPoint;->toString()Ljava/lang/String;
+PLcom/android/server/content/SyncStorageEngine$EndPoint;->toString()Ljava/lang/String;
+PLcom/android/server/content/SyncStorageEngine$MyHandler;-><init>(Lcom/android/server/content/SyncStorageEngine;Landroid/os/Looper;)V
PLcom/android/server/content/SyncStorageEngine$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/content/SyncStorageEngine;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+HPLcom/android/server/content/SyncStorageEngine$SyncHistoryItem;-><init>()V
+PLcom/android/server/content/SyncStorageEngine;-><clinit>()V
+PLcom/android/server/content/SyncStorageEngine;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncStorageEngine;->access$000()Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;
PLcom/android/server/content/SyncStorageEngine;->addActiveSync(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Landroid/content/SyncInfo;
-PLcom/android/server/content/SyncStorageEngine;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
-HSPLcom/android/server/content/SyncStorageEngine;->clearAllBackoffsLocked()V
-HSPLcom/android/server/content/SyncStorageEngine;->createAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-PLcom/android/server/content/SyncStorageEngine;->getAuthority(I)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-HSPLcom/android/server/content/SyncStorageEngine;->getAuthorityCount()I
-HSPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-HSPLcom/android/server/content/SyncStorageEngine;->getBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair;
-PLcom/android/server/content/SyncStorageEngine;->getCopyOfAuthorityWithSyncStatus(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair;
+PLcom/android/server/content/SyncStorageEngine;->addStatusChangeListener(IILandroid/content/ISyncStatusObserver;)V
+PLcom/android/server/content/SyncStorageEngine;->clearAllBackoffsLocked()V
+PLcom/android/server/content/SyncStorageEngine;->createAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+HPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+PLcom/android/server/content/SyncStorageEngine;->getBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair;
PLcom/android/server/content/SyncStorageEngine;->getCurrentDayLocked()I
PLcom/android/server/content/SyncStorageEngine;->getCurrentSyncs(I)Ljava/util/List;
-PLcom/android/server/content/SyncStorageEngine;->getDayStatistics()[Lcom/android/server/content/SyncStorageEngine$DayStats;
-HSPLcom/android/server/content/SyncStorageEngine;->getDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;)J
+PLcom/android/server/content/SyncStorageEngine;->getDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;)J
PLcom/android/server/content/SyncStorageEngine;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I
PLcom/android/server/content/SyncStorageEngine;->getMasterSyncAutomatically(I)Z
-HSPLcom/android/server/content/SyncStorageEngine;->getOrCreateAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+PLcom/android/server/content/SyncStorageEngine;->getOrCreateAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
PLcom/android/server/content/SyncStorageEngine;->getOrCreateSyncStatusLocked(I)Landroid/content/SyncStatusInfo;
+PLcom/android/server/content/SyncStorageEngine;->getSingleton()Lcom/android/server/content/SyncStorageEngine;
PLcom/android/server/content/SyncStorageEngine;->getSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;)Z
-PLcom/android/server/content/SyncStorageEngine;->getSyncHistory()Ljava/util/ArrayList;
+PLcom/android/server/content/SyncStorageEngine;->init(Landroid/content/Context;Landroid/os/Looper;)V
PLcom/android/server/content/SyncStorageEngine;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;J)J
PLcom/android/server/content/SyncStorageEngine;->isClockValid()Z
PLcom/android/server/content/SyncStorageEngine;->isSyncActive(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
PLcom/android/server/content/SyncStorageEngine;->isSyncPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
-HSPLcom/android/server/content/SyncStorageEngine;->markPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;Z)V
-HSPLcom/android/server/content/SyncStorageEngine;->maybeMigrateSettingsForRenamedAuthorities()Z
-HSPLcom/android/server/content/SyncStorageEngine;->parseAuthority(Lorg/xmlpull/v1/XmlPullParser;ILcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-HSPLcom/android/server/content/SyncStorageEngine;->parseListenForTickles(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/content/SyncStorageEngine;->queueBackup()V
-HSPLcom/android/server/content/SyncStorageEngine;->readAccountInfoLocked()V
-HSPLcom/android/server/content/SyncStorageEngine;->readStatisticsLocked()V
-HSPLcom/android/server/content/SyncStorageEngine;->readStatusLocked()V
+PLcom/android/server/content/SyncStorageEngine;->markPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;Z)V
+PLcom/android/server/content/SyncStorageEngine;->maybeDeleteLegacyPendingInfoLocked(Ljava/io/File;)V
+PLcom/android/server/content/SyncStorageEngine;->maybeMigrateSettingsForRenamedAuthorities()Z
+PLcom/android/server/content/SyncStorageEngine;->parseAuthority(Lorg/xmlpull/v1/XmlPullParser;ILcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+HPLcom/android/server/content/SyncStorageEngine;->parseLastEventInfoLocked(Landroid/util/proto/ProtoInputStream;)Landroid/util/Pair;
+PLcom/android/server/content/SyncStorageEngine;->parseListenForTickles(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/content/SyncStorageEngine;->readAccountInfoLocked()V
+PLcom/android/server/content/SyncStorageEngine;->readDayStatsLocked(Ljava/io/InputStream;)V
+PLcom/android/server/content/SyncStorageEngine;->readIndividualDayStatsLocked(Landroid/util/proto/ProtoInputStream;)Lcom/android/server/content/SyncStorageEngine$DayStats;
+PLcom/android/server/content/SyncStorageEngine;->readStatisticsLocked()V
+PLcom/android/server/content/SyncStorageEngine;->readStatusInfoLocked(Ljava/io/InputStream;)V
+PLcom/android/server/content/SyncStorageEngine;->readStatusLocked()V
+HPLcom/android/server/content/SyncStorageEngine;->readSyncStatusInfoLocked(Landroid/util/proto/ProtoInputStream;)Landroid/content/SyncStatusInfo;
+HPLcom/android/server/content/SyncStorageEngine;->readSyncStatusStatsLocked(Landroid/util/proto/ProtoInputStream;Landroid/content/SyncStatusInfo$Stats;)V
PLcom/android/server/content/SyncStorageEngine;->removeActiveSync(Landroid/content/SyncInfo;I)V
-HSPLcom/android/server/content/SyncStorageEngine;->removeStaleAccounts([Landroid/accounts/Account;I)V
-PLcom/android/server/content/SyncStorageEngine;->reportActiveChange()V
-HSPLcom/android/server/content/SyncStorageEngine;->reportChange(I)V
+PLcom/android/server/content/SyncStorageEngine;->removeStaleAccounts([Landroid/accounts/Account;I)V
+HPLcom/android/server/content/SyncStorageEngine;->reportChange(II)V
PLcom/android/server/content/SyncStorageEngine;->requestSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;III)V
PLcom/android/server/content/SyncStorageEngine;->requestSync(Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;ILandroid/os/Bundle;III)V
-PLcom/android/server/content/SyncStorageEngine;->resetTodayStats(Z)V
PLcom/android/server/content/SyncStorageEngine;->setBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJ)V
-HSPLcom/android/server/content/SyncStorageEngine;->setClockValid()V
PLcom/android/server/content/SyncStorageEngine;->setDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
PLcom/android/server/content/SyncStorageEngine;->setIsSyncable(Landroid/accounts/Account;ILjava/lang/String;III)V
-HSPLcom/android/server/content/SyncStorageEngine;->setOnAuthorityRemovedListener(Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;)V
-HSPLcom/android/server/content/SyncStorageEngine;->setOnSyncRequestListener(Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;)V
-HSPLcom/android/server/content/SyncStorageEngine;->setPeriodicSyncAddedListener(Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;)V
+PLcom/android/server/content/SyncStorageEngine;->setOnAuthorityRemovedListener(Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;)V
+PLcom/android/server/content/SyncStorageEngine;->setOnSyncRequestListener(Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;)V
+PLcom/android/server/content/SyncStorageEngine;->setPeriodicSyncAddedListener(Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;)V
PLcom/android/server/content/SyncStorageEngine;->setSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;ZIII)V
PLcom/android/server/content/SyncStorageEngine;->setSyncableStateForEndPoint(Lcom/android/server/content/SyncStorageEngine$EndPoint;III)V
-HSPLcom/android/server/content/SyncStorageEngine;->shouldGrantSyncAdaptersAccountAccess()Z
-PLcom/android/server/content/SyncStorageEngine;->stopSyncEvent(JJLjava/lang/String;JJ)V
+PLcom/android/server/content/SyncStorageEngine;->shouldGrantSyncAdaptersAccountAccess()Z
+HPLcom/android/server/content/SyncStorageEngine;->stopSyncEvent(JJLjava/lang/String;JJI)V
+PLcom/android/server/content/SyncStorageEngine;->upgradeStatisticsIfNeededLocked()V
+PLcom/android/server/content/SyncStorageEngine;->upgradeStatusIfNeededLocked()V
PLcom/android/server/content/SyncStorageEngine;->writeAccountInfoLocked()V
+PLcom/android/server/content/SyncStorageEngine;->writeDayStatsLocked(Ljava/io/OutputStream;)V
PLcom/android/server/content/SyncStorageEngine;->writeStatisticsLocked()V
+HPLcom/android/server/content/SyncStorageEngine;->writeStatusInfoLocked(Ljava/io/OutputStream;)V
PLcom/android/server/content/SyncStorageEngine;->writeStatusLocked()V
-PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$KVmM6r6Iw8boRKZ7kOfyPuZfUb0;->run(Landroid/os/IInterface;)V
-PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$O44WLb7J8oROD70V7UUgHX2c8Qw;->run(Landroid/os/IInterface;)V
-PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$WS8cZHZAAenCZPdik2kyBtGwtLg;->run(Landroid/os/IInterface;)V
+HPLcom/android/server/content/SyncStorageEngine;->writeStatusStatsLocked(Landroid/util/proto/ProtoOutputStream;Landroid/content/SyncStatusInfo$Stats;)V
+PLcom/android/server/contentcapture/-$$Lambda$ContentCaptureManagerService$4nadnpI0ImgQseJYN0WTE4IJ4s4;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService;)V
+PLcom/android/server/contentcapture/-$$Lambda$ContentCaptureManagerService$ContentCaptureManagerServiceStub$6vI15KqJwo_ruaAABrGMvkwVRt4;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;)V
+PLcom/android/server/contentcapture/-$$Lambda$ContentCaptureManagerService$ContentCaptureManagerServiceStub$6vI15KqJwo_ruaAABrGMvkwVRt4;->run()V
+PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$yRaGuMutdbjMq9h32e3TC2_1a_A;-><init>(Landroid/service/contentcapture/ActivityEvent;)V
PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$yRaGuMutdbjMq9h32e3TC2_1a_A;->run(Landroid/os/IInterface;)V
-PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->finishSession(Ljava/lang/String;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerInternal;-><init>()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService;)V
PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->getServiceSettingsActivity(Lcom/android/internal/os/IResultReceiver;)V
-PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->startSession(Landroid/os/IBinder;Landroid/content/ComponentName;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->getOptionsForPackage(ILjava/lang/String;)Landroid/content/ContentCaptureOptions;
-PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->isContentCaptureServiceForUser(II)Z
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->notifyActivityEvent(ILandroid/content/ComponentName;I)V
-PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->sendActivityAssistData(ILandroid/os/IBinder;Landroid/os/Bundle;)Z
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/contentcapture/ContentCaptureManagerService;->dumpLocked(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/contentcapture/ContentCaptureManagerService;->getAmInternal()Landroid/app/ActivityManagerInternal;
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->isDisabledLocked(I)Z
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->onStart()V
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->setDisabledByDeviceConfig(Ljava/lang/String;)V
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->setFineTuneParamsFromDeviceConfig()V
-HSPLcom/android/server/contentcapture/ContentCaptureManagerService;->setLoggingLevelFromDeviceConfig()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->lambda$getServiceSettingsActivity$1$ContentCaptureManagerService$ContentCaptureManagerServiceStub()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->access$100(Lcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;ILjava/lang/String;Z)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->getOptions(ILjava/lang/String;)Landroid/content/ContentCaptureOptions;
+PLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->setServiceInfo(ILjava/lang/String;Z)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService;Lcom/android/server/contentcapture/ContentCaptureManagerService$1;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->getOptionsForPackage(ILjava/lang/String;)Landroid/content/ContentCaptureOptions;
+PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->notifyActivityEvent(ILandroid/content/ComponentName;I)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->access$3500(Lcom/android/server/contentcapture/ContentCaptureManagerService;)Ljava/lang/Object;
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->access$3600(Lcom/android/server/contentcapture/ContentCaptureManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->enforceCallingPermissionForManagement()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->isDisabledLocked(I)Z
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->isEnabledBySettings(I)Z
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->isSupported(Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->onStart()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->setDeviceConfigProperties()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->setDisabledByDeviceConfig(Ljava/lang/String;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->setFineTuneParamsFromDeviceConfig()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->setLoggingLevelFromDeviceConfig()V
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->throwsSecurityException(Lcom/android/internal/os/IResultReceiver;Ljava/lang/Runnable;)Z
+PLcom/android/server/contentcapture/ContentCaptureMetricsLogger;->writeServiceEvent(ILandroid/content/ComponentName;)V
+PLcom/android/server/contentcapture/ContentCaptureMetricsLogger;->writeServiceEvent(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/contentcapture/ContentCaptureMetricsLogger;->writeSetWhitelistEvent(Landroid/content/ComponentName;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;-><init>(Lcom/android/server/contentcapture/ContentCapturePerUserService;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;-><init>(Lcom/android/server/contentcapture/ContentCapturePerUserService;Lcom/android/server/contentcapture/ContentCapturePerUserService$1;)V
PLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;->setContentCaptureWhitelist(Ljava/util/List;Ljava/util/List;)V
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->dumpLocked(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->finishSessionLocked(Ljava/lang/String;)V
-HSPLcom/android/server/contentcapture/ContentCapturePerUserService;->getOptionsForPackageLocked(Ljava/lang/String;)Landroid/content/ContentCaptureOptions;
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->getSessionId(Landroid/os/IBinder;)Ljava/lang/String;
-HSPLcom/android/server/contentcapture/ContentCapturePerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
-HSPLcom/android/server/contentcapture/ContentCapturePerUserService;->onActivityEventLocked(Landroid/content/ComponentName;I)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;-><clinit>()V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;-><init>(Lcom/android/server/contentcapture/ContentCaptureManagerService;Ljava/lang/Object;ZI)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->access$100(Lcom/android/server/contentcapture/ContentCapturePerUserService;)Lcom/android/server/infra/AbstractMasterSystemService;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->access$400(Lcom/android/server/contentcapture/ContentCapturePerUserService;)I
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->access$500(Lcom/android/server/contentcapture/ContentCapturePerUserService;)Lcom/android/server/infra/AbstractMasterSystemService;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->access$600(Lcom/android/server/contentcapture/ContentCapturePerUserService;)Landroid/util/SparseArray;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->destroyLocked()V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->destroySessionsLocked()V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->getServiceSettingsActivityLocked()Landroid/content/ComponentName;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->onActivityEventLocked(Landroid/content/ComponentName;I)V
PLcom/android/server/contentcapture/ContentCapturePerUserService;->onConnected()V
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->onServiceDied(Lcom/android/server/contentcapture/RemoteContentCaptureService;)V
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->onServiceDied(Ljava/lang/Object;)V
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->resurrectSessionsLocked()V
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->sendActivityAssistDataLocked(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-PLcom/android/server/contentcapture/ContentCapturePerUserService;->startSessionLocked(Landroid/os/IBinder;Landroid/content/pm/ActivityPresentationInfo;Ljava/lang/String;IILcom/android/internal/os/IResultReceiver;)V
-HSPLcom/android/server/contentcapture/ContentCapturePerUserService;->updateLocked(Z)Z
-HSPLcom/android/server/contentcapture/ContentCapturePerUserService;->updateRemoteServiceLocked(Z)V
-PLcom/android/server/contentcapture/ContentCaptureServerSession;-><init>(Landroid/os/IBinder;Lcom/android/server/contentcapture/ContentCapturePerUserService;Landroid/content/ComponentName;Lcom/android/internal/os/IResultReceiver;IILjava/lang/String;II)V
-PLcom/android/server/contentcapture/ContentCaptureServerSession;->destroyLocked(Z)V
-PLcom/android/server/contentcapture/ContentCaptureServerSession;->dumpLocked(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/contentcapture/ContentCaptureServerSession;->removeSelfLocked(Z)V
-PLcom/android/server/contentcapture/ContentCaptureServerSession;->resurrectLocked()V
-PLcom/android/server/contentcapture/ContentCaptureServerSession;->sendActivitySnapshotLocked(Landroid/service/contentcapture/SnapshotData;)V
-HSPLcom/android/server/contentcapture/RemoteContentCaptureService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;Landroid/service/contentcapture/IContentCaptureServiceCallback;ILcom/android/server/contentcapture/ContentCapturePerUserService;ZZI)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->resetContentCaptureWhitelistLocked()V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->updateLocked(Z)Z
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->updateRemoteServiceLocked(Z)V
+PLcom/android/server/contentcapture/RemoteContentCaptureService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;Landroid/service/contentcapture/IContentCaptureServiceCallback;ILcom/android/server/contentcapture/ContentCapturePerUserService;ZZI)V
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->ensureBoundLocked()V
PLcom/android/server/contentcapture/RemoteContentCaptureService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->getServiceInterface(Landroid/os/IBinder;)Landroid/service/contentcapture/IContentCaptureService;
PLcom/android/server/contentcapture/RemoteContentCaptureService;->getTimeoutIdleBindMillis()J
PLcom/android/server/contentcapture/RemoteContentCaptureService;->handleOnConnectedStateChanged(Z)V
-PLcom/android/server/contentcapture/RemoteContentCaptureService;->onSessionStarted(Landroid/view/contentcapture/ContentCaptureContext;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;I)V
-HSPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->newServiceLocked(IZ)Lcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;
-HSPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
-HSPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->onStart()V
-HSPLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
-HSPLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->updateLocked(Z)Z
-HSPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;->run()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$kFKlG-1V9Atta-0tqqg2BxiKi4I;->accept(Ljava/lang/Object;)V
-PLcom/android/server/devicepolicy/-$$Lambda$NetworkLoggingHandler$VKC_fB9Ws13yQKJ8zNkiF3Wp0Jk;->run()V
-HSPLcom/android/server/devicepolicy/CertificateMonitor$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/devicepolicy/CertificateMonitor;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/devicepolicy/CertificateMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Landroid/os/Handler;)V
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->lambda$onActivityLifecycleEvent$4(Landroid/service/contentcapture/ActivityEvent;Landroid/service/contentcapture/IContentCaptureService;)V
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->onActivityLifecycleEvent(Landroid/service/contentcapture/ActivityEvent;)V
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService$ContentSuggestionsManagerStub;-><init>(Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService;)V
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService$ContentSuggestionsManagerStub;-><init>(Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService;Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService$1;)V
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;-><clinit>()V
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->newServiceLocked(IZ)Lcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->onStart()V
+PLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;-><clinit>()V
+PLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;-><init>(Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService;Ljava/lang/Object;I)V
+PLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->updateLocked(Z)Z
+PLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->updateRemoteServiceLocked()V
+PLcom/android/server/coverage/CoverageService;-><clinit>()V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;->run()V
+PLcom/android/server/devicepolicy/BaseIDevicePolicyManager;-><init>()V
+PLcom/android/server/devicepolicy/CertificateMonitor$1;-><init>(Lcom/android/server/devicepolicy/CertificateMonitor;)V
+PLcom/android/server/devicepolicy/CertificateMonitor$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/devicepolicy/CertificateMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Landroid/os/Handler;)V
+PLcom/android/server/devicepolicy/CertificateMonitor;->access$000(Lcom/android/server/devicepolicy/CertificateMonitor;Landroid/os/UserHandle;)V
PLcom/android/server/devicepolicy/CertificateMonitor;->getInstalledCaCertificates(Landroid/os/UserHandle;)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/CertificateMonitor;->updateInstalledCertificates(Landroid/os/UserHandle;)V
+PLcom/android/server/devicepolicy/CertificateMonitor;->updateInstalledCertificates(Landroid/os/UserHandle;)V
PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;-><init>(Lcom/android/server/devicepolicy/DeviceAdminServiceController;ILandroid/content/ComponentName;)V
PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDeviceAdminService;
PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;->asInterface(Landroid/os/IBinder;)Ljava/lang/Object;
PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;->getBindFlags()I
-HSPLcom/android/server/devicepolicy/DeviceAdminServiceController;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyConstants;)V
-HSPLcom/android/server/devicepolicy/DeviceAdminServiceController;->disconnectServiceOnUserLocked(ILjava/lang/String;)V
-PLcom/android/server/devicepolicy/DeviceAdminServiceController;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/devicepolicy/DeviceAdminServiceController;->startServiceForOwner(Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->getScreenCaptureDisabled(I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setScreenCaptureDisabled(IZ)V
-HSPLcom/android/server/devicepolicy/DevicePolicyConstants;-><init>(Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyConstants;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyConstants;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->disconnectServiceOnUserLocked(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->findService(Ljava/lang/String;I)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->startServiceForOwner(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;-><init>()V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->getPasswordQuality(I)I
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->getScreenCaptureDisabled(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setPasswordQuality(II)V
+PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setScreenCaptureDisabled(IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyConstants;-><init>(Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyConstants;->loadFromString(Ljava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyConstants;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$1;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$2;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$3;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$4$1;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$4;I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService$4$1;->run()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->sendDeviceOwnerUserCommand(Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$8;->run()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><init>(Landroid/app/admin/DeviceAdminInfo;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->ensureUserRestrictions()Landroid/os/Bundle;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getParentActiveAdmin()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUid()I
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUserHandle()Landroid/os/UserHandle;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasParentActiveAdmin()Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasUserRestrictions()Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readAttributeValues(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/Collection;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readPackageList(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeAttributeValuesToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/Collection;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writePackageListToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/List;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;->register()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;-><init>(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->sendDeviceOwnerUserCommand(Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$8;->run()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><clinit>()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><init>(Landroid/app/admin/DeviceAdminInfo;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getParentActiveAdmin()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUserHandle()Landroid/os/UserHandle;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasParentActiveAdmin()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readAttributeValues(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/Collection;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readPackageList(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeAttributeValuesToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;->register()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;-><init>(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingPid()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I
PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUserHandle()Landroid/os/UserHandle;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderRestoreCallingIdentity(J)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getActivityTaskManagerInternal()Lcom/android/server/wm/ActivityTaskManagerInternal;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getAlarmManager()Landroid/app/AlarmManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getDevicePolicyFilePathForSystemUser()Ljava/lang/String;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityManager()Landroid/app/IActivityManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityTaskManager()Landroid/app/IActivityTaskManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIBackupManager()Landroid/app/backup/IBackupManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIIpConnectivityMetrics()Landroid/net/IIpConnectivityMetrics;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIWindowManager()Landroid/view/IWindowManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getMyLooper()Landroid/os/Looper;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNetworkPolicyManagerInternal()Lcom/android/server/net/NetworkPolicyManagerInternal;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPermissionControllerManager(Landroid/os/UserHandle;)Landroid/permission/PermissionControllerManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManager()Landroid/os/UserManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->hasFeature()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->isBuildDebuggable()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->keyChainBindAsUser(Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newOwners()Lcom/android/server/devicepolicy/Owners;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newTransferOwnershipMetadataManager()Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->postOnSystemServerInitThreadPool(Ljava/lang/Runnable;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->runCryptoSelfTest()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogGetLoggingEnabledProperty()Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogIsLoggingEnabled()Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetInt(Ljava/lang/String;I)I
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetString(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalPutInt(Ljava/lang/String;I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->storageManagerIsFileBasedEncryptionEnabled()Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGet(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGet(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGetLong(Ljava/lang/String;J)J
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->userManagerIsSplitSystemUser()Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStartUser(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderIsCallingUidMyUid()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderRestoreCallingIdentity(J)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getActivityTaskManagerInternal()Lcom/android/server/wm/ActivityTaskManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getConnectivityManager()Landroid/net/ConnectivityManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getDevicePolicyFilePathForSystemUser()Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityTaskManager()Landroid/app/IActivityTaskManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPermissionManager()Landroid/permission/IPermissionManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPlatformCompat()Lcom/android/internal/compat/IPlatformCompat;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIWindowManager()Landroid/view/IWindowManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getLockSettingsInternal()Lcom/android/internal/widget/LockSettingsInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getMyLooper()Landroid/os/Looper;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNetworkPolicyManagerInternal()Lcom/android/server/net/NetworkPolicyManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->hasFeature()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newOwners()Lcom/android/server/devicepolicy/Owners;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newTransferOwnershipMetadataManager()Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->postOnSystemServerInitThreadPool(Ljava/lang/Runnable;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogIsLoggingEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetInt(Ljava/lang/String;I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetString(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalPutInt(Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->storageManagerIsFileBasedEncryptionEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGet(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->userHandleGetCallingUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStart()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->canSilentlyInstallPackage(Ljava/lang/String;I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->canUserHaveUntrustedCredentialReset(I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getCrossProfileWidgetProviders(I)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveAdminWithPolicy(II)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->notifyCrossProfileProvidersChanged(ILjava/util/List;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;->onChange(ZLandroid/net/Uri;I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;->register()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDeviceStateCache()Landroid/app/admin/DeviceStateCache;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveAdminWithPolicy(II)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;->register()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;-><clinit>()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1400(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1500(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2800(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3400(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3500(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DeviceStateCacheImpl;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->addCrossProfileIntentFilter(Landroid/content/ComponentName;Landroid/content/IntentFilter;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->areAllUsersAffiliatedWithDeviceLocked()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->addOrRemoveDisableCameraRestriction(Landroid/os/Bundle;I)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->canProfileOwnerAccessDeviceIds(I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->canUserBindToDeviceOwnerLocked(I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->canUserHaveUntrustedCredentialReset(I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;III)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceOwnerProvisioningPreCondition(I)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceOwnerProvisioningPreConditionLocked(Landroid/content/ComponentName;IZZ)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkManagedProfileProvisioningPreCondition(Ljava/lang/String;I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;II)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkPackagesInPermittedListOrSystem(Ljava/util/List;Ljava/util/List;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkProvisioningPreConditionSkipPermission(Ljava/lang/String;Ljava/lang/String;)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->choosePrivateKeyAlias(ILandroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->cleanUpOldUsers()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enableSystemApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageScopeOrCheckPermission(Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceDeviceOwnerOrManageUsers()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceManagedProfile(ILjava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceNotManagedProfile(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->cleanUpOldUsers()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->doesPackageMatchUid(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageCaCerts(Landroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageScope(Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageScopeOrCheckPermission(Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCrossUsersPermission(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceDeviceOwnerOrManageUsers()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceFullCrossUsersPermission(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceManageUsers()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceManagedProfile(ILjava/lang/String;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceProfileOrDeviceOwner(Landroid/content/ComponentName;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermission(Ljava/lang/String;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermissionIfCrossUser(ILjava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureAllUsersAffiliated()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureCallerPackage(Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureDeviceOwnerAndAllUsersAffiliated(Landroid/content/ComponentName;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureDeviceOwnerUserStarted()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureUnknownSourcesRestrictionForProfileOwnerLocked(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Z)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->findAdmin(Landroid/content/ComponentName;IZ)Landroid/app/admin/DeviceAdminInfo;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->findOwnerComponentIfNecessaryLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermission(Ljava/lang/String;)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermissionIfCrossUser(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureCallerIdentityMatchesIfNotSystem(Ljava/lang/String;II)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureCallerPackage(Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureDeviceOwnerUserStarted()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureMinimumQuality(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureUnknownSourcesRestrictionForProfileOwnerLocked(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->findAdmin(Landroid/content/ComponentName;IZ)Landroid/app/admin/DeviceAdminInfo;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->findOwnerComponentIfNecessaryLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->generateKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;ILandroid/security/keymaster/KeymasterCertificateChain;)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAcceptedCaCertificates(Landroid/os/UserHandle;)Ljava/util/Set;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminForCallerLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminForCallerLocked(Landroid/content/ComponentName;IZ)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminForUidLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionForCallerLocked(Landroid/content/ComponentName;ILjava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionForCallerLocked(Landroid/content/ComponentName;IZLjava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminPackagesLocked(I)Ljava/util/Set;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionForCallerLocked(Landroid/content/ComponentName;ILjava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminPackagesLocked(I)Ljava/util/Set;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;IZ)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminWithPolicyForUidLocked(Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminWithPolicyForUidLocked(Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdmins(I)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(IZ)Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(IZ)Ljava/util/List;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAdminWithMinimumFailedPasswordsForWipeLocked(IZ)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAlwaysOnVpnPackage(Landroid/content/ComponentName;)Ljava/lang/String;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBluetoothContactSharingDisabledForUser(I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;IZ)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBluetoothContactSharingDisabledForUser(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;IZ)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCredentialOwner(IZ)I
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileCallerIdDisabledForUser(I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileContactsSearchDisabledForUser(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCurrentFailedPasswordAttempts(IZ)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDelegatePackagesInternalLocked(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerRemoteBugreportUri()Ljava/lang/String;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerUserId()I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDisallowedSystemApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getEncryptionStatus()I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getEncryptionStatusName(I)Ljava/lang/String;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getEncryptionStatus()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeepUninstalledPackagesLocked()Ljava/util/List;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getLockObject()Ljava/lang/Object;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLockPolicyFromAdmins(Ljava/util/List;)J
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLockPolicyFromAdmins(Ljava/util/List;)J
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMeteredDisabledPackagesLocked(I)Ljava/util/Set;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(I)Landroid/content/ComponentName;
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordExpirationLocked(Landroid/content/ComponentName;IZ)J
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordExpirationTimeout(Landroid/content/ComponentName;IZ)J
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionPolicy(Landroid/content/ComponentName;)I
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwner(I)Landroid/content/ComponentName;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentId(I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordMinimumMetrics(IZ)Landroid/app/admin/PasswordMetrics;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPolicyFileDirectory(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwner(I)Landroid/content/ComponentName;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentId(I)I
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;IZ)J
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getRestrictionsProvider(I)Landroid/content/ComponentName;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getStorageEncryptionStatus(Ljava/lang/String;I)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getStorageEncryptionStatus(Ljava/lang/String;I)I
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getTargetSdk(Ljava/lang/String;I)I
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserPasswordMetricsLocked(I)Landroid/app/admin/PasswordMetrics;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserProvisioningState()I
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getTargetSdk(Ljava/lang/String;I)I
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePasswordExpirationNotification(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStartUser(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleUnlockUser(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasDeviceOwner()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasFeatureManagedUsers()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStartUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasDeviceOwner()Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasGrantedPolicy(Landroid/content/ComponentName;II)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActiveAdminWithPolicyForUserLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;II)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActiveAdminWithPolicyForUserLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;II)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActivePasswordSufficient(IZ)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActivePasswordSufficientForUserLocked(ZLandroid/app/admin/PasswordMetrics;IZ)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAdminActive(Landroid/content/ComponentName;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAdminAffectedByRestriction(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerDelegate(Ljava/lang/String;ILjava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCurrentUserDemo()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwner(Landroid/content/ComponentName;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerPackage(Ljava/lang/String;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceProvisioned()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerDelegate(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerWithSystemUid()Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwner(Landroid/content/ComponentName;I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLockTaskPermitted(Ljava/lang/String;)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLogoutEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLogoutEnabled()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(Landroid/content/ComponentName;)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabledInternalLocked()Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPasswordSufficientForUserWithoutCheckpointLocked(Landroid/app/admin/PasswordMetrics;IZ)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Landroid/content/ComponentName;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerPackage(Ljava/lang/String;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProvisioningAllowed(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRemovedPackage(Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isResetPasswordTokenActive(Landroid/content/ComponentName;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRuntimePermission(Ljava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerOfOrganizationOwnedDevice(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerOfOrganizationOwnedDevice(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRemovedPackage(Ljava/lang/String;Ljava/lang/String;I)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeAllowed(I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSystemApp(Landroid/content/pm/IPackageManager;Ljava/lang/String;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallInQueue(Ljava/lang/String;)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUserAffiliatedWithDeviceLocked(I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$0$DevicePolicyManagerService()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$setPermissionGrantState$13(ZLandroid/os/RemoteCallback;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Boolean;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadOwners()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadSettingsLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogPasswordComplexitySet(Landroid/content/ComponentName;IZLandroid/app/admin/PasswordMetrics;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogStart()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSendAdminEnabledBroadcastLocked(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultProfileOwnerUserRestrictions()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultRestrictionsForAdminLocked(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/util/Set;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeStartSecurityLogMonitorOnActivityManagerReady()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateUserRestrictionsIfNecessaryLocked()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->notifyPendingSystemUpdate(Landroid/app/admin/SystemUpdateInfo;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
+HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUserAffiliatedWithDeviceLocked(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUsingUnifiedPassword(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$0$DevicePolicyManagerService()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadAdminDataAsync()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadConstants()Lcom/android/server/devicepolicy/DevicePolicyConstants;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadOwners()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadSettingsLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogPasswordComplexitySet(Landroid/content/ComponentName;IZLandroid/app/admin/PasswordPolicy;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogStart()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSendAdminEnabledBroadcastLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultDeviceOwnerUserRestrictionsLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultProfileOwnerUserRestrictions()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultRestrictionsForAdminLocked(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/util/Set;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeStartSecurityLogMonitorOnActivityManagerReady()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateUserRestrictionsIfNecessaryLocked()V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->onInstalledCertificatesChanged(Landroid/os/UserHandle;Ljava/util/Collection;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->onLockSettingsReady()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->packageHasActiveAdmins(Ljava/lang/String;I)Z
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushActiveAdminPackages()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushAllMeteredRestrictedPackages()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushUserRestrictions(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->recordSecurityLogRetrievalTime()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->onLockSettingsReady()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->packageHasActiveAdmins(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->passwordQualityInvocationOrderCheckEnabled(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushActiveAdminPackages()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushAllMeteredRestrictedPackages()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushUserRestrictions(I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportFailedBiometricAttempt(I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportFailedPasswordAttempt(I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportKeyguardDismissed(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportKeyguardSecured(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportSuccessfulBiometricAttempt(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportKeyguardSecured(I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportSuccessfulPasswordAttempt(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->resolveDelegateReceiver(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/ComponentName;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->retrieveNetworkLogs(Landroid/content/ComponentName;Ljava/lang/String;J)Ljava/util/List;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->retrieveSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->revertTransferOwnershipIfNecessaryLocked()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveSettingsLocked(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;Z)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->revertTransferOwnershipIfNecessaryLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveSettingsLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;Z)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Ljava/lang/String;IILandroid/os/Bundle;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendChangedNotification(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendDeviceOwnerCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendNetworkLoggingNotificationLocked()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendPrivateKeyAliasResponse(Ljava/lang/String;Landroid/os/IBinder;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setAccountManagementDisabled(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendChangedNotification(I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setAutoTimeRequired(Landroid/content/ComponentName;Z)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setBackupServiceEnabled(Landroid/content/ComponentName;Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setBluetoothContactSharingDisabled(Landroid/content/ComponentName;Z)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCameraDisabled(Landroid/content/ComponentName;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDelegatedScopePreO(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnerSystemPropertyLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnerSystemPropertyLocked()V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setExpirationAlarmCheckLocked(Landroid/content/Context;IZ)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setMasterVolumeMuted(Landroid/content/ComponentName;Z)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setMaximumTimeToLock(Landroid/content/ComponentName;JZ)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setNetworkLoggingActiveInternal(Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordExpirationTimeout(Landroid/content/ComponentName;JZ)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordHistoryLength(Landroid/content/ComponentName;IZ)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumLength(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumLetters(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordQuality(Landroid/content/ComponentName;IZ)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/os/RemoteCallback;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermissionPolicy(Landroid/content/ComponentName;Ljava/lang/String;I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setRequiredStrongAuthTimeout(Landroid/content/ComponentName;JZ)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setScreenCaptureDisabled(Landroid/content/ComponentName;Z)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setStorageEncryption(Landroid/content/ComponentName;Z)I
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->systemReady(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->shouldOverwritePoliciesFromXml(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->startOwnerService(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->systemReady(I)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->toggleBackupServiceActive(IZ)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateDeviceOwnerLocked()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskFeaturesLocked(II)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskPackagesLocked(Ljava/util/List;I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateMaximumTimeToLockLocked(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateProfileLockTimeoutLocked(I)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateSystemUpdateFreezePeriodsRecord(Z)V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserSetupCompleteAndPaired()V
-HSPLcom/android/server/devicepolicy/DevicePolicyManagerService;->validatePasswordOwnerLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->translateIdAttestationFlags(I)[I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateDeviceOwnerLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskFeaturesLocked(II)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskPackagesLocked(Ljava/util/List;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateMaximumTimeToLockLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updatePasswordQualityCacheForUserGroup(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updatePasswordValidityCheckpointLocked(IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateProfileLockTimeoutLocked(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateScreenCaptureDisabled(IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateSystemUpdateFreezePeriodsRecord(Z)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserSetupCompleteAndPaired()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->validatePasswordOwnerLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
PLcom/android/server/devicepolicy/DevicePolicyManagerService;->validateQualityConstant(I)V
-PLcom/android/server/devicepolicy/NetworkLogger$1;->onConnectEvent(Ljava/lang/String;IJI)V
-PLcom/android/server/devicepolicy/NetworkLogger$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
-PLcom/android/server/devicepolicy/NetworkLogger$1;->sendNetworkEvent(Landroid/app/admin/NetworkEvent;)V
-HSPLcom/android/server/devicepolicy/NetworkLogger;->startNetworkLogging()Z
-PLcom/android/server/devicepolicy/NetworkLoggingHandler$1;->onAlarm()V
-HSPLcom/android/server/devicepolicy/NetworkLoggingHandler;-><init>(Landroid/os/Looper;Lcom/android/server/devicepolicy/DevicePolicyManagerService;J)V
-PLcom/android/server/devicepolicy/NetworkLoggingHandler;->buildDeviceOwnerMessageLocked()Landroid/os/Bundle;
-PLcom/android/server/devicepolicy/NetworkLoggingHandler;->finalizeBatchAndBuildDeviceOwnerMessageLocked()Landroid/os/Bundle;
-PLcom/android/server/devicepolicy/NetworkLoggingHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/devicepolicy/NetworkLoggingHandler;->lambda$retrieveFullLogBatch$0$NetworkLoggingHandler(J)V
-PLcom/android/server/devicepolicy/NetworkLoggingHandler;->notifyDeviceOwner(Landroid/os/Bundle;)V
-PLcom/android/server/devicepolicy/NetworkLoggingHandler;->retrieveFullLogBatch(J)Ljava/util/List;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;->getInputMethodListAsUser(I)Ljava/util/List;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;->isPerProfileImeEnabled()Z
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getDisallowedAppsSet(Ljava/lang/String;)Ljava/util/Set;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getLaunchableApps(I)Ljava/util/Set;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getNonRequiredApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/Set;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getRequiredAppsSet(Ljava/lang/String;)Ljava/util/Set;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getSystemInputMethods(I)Ljava/util/Set;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getVendorDisallowedAppsSet(Ljava/lang/String;)Ljava/util/Set;
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getVendorRequiredAppsSet(Ljava/lang/String;)Ljava/util/Set;
-HSPLcom/android/server/devicepolicy/Owners$DeviceOwnerReadWriter;->readInner(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;)Z
-HSPLcom/android/server/devicepolicy/Owners$FileReadWriter;->readFromFileLocked()V
-HSPLcom/android/server/devicepolicy/Owners$Injector;->environmentGetDataSystemDirectory()Ljava/io/File;
-HSPLcom/android/server/devicepolicy/Owners$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners$OwnerInfo;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/devicepolicy/Owners$OwnerInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/devicepolicy/Owners$OwnerInfo;
-HSPLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;->readInner(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;)Z
-PLcom/android/server/devicepolicy/Owners;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerComponent()Landroid/content/ComponentName;
-HSPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerFile()Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerPackageName()Ljava/lang/String;
-PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerRemoteBugreportUri()Ljava/lang/String;
-HSPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserId()I
-HSPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserRestrictionsNeedsMigration()Z
-HSPLcom/android/server/devicepolicy/Owners;->getLegacyConfigFile()Ljava/io/File;
-HSPLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;
-HSPLcom/android/server/devicepolicy/Owners;->getProfileOwnerFile(I)Ljava/io/File;
-HSPLcom/android/server/devicepolicy/Owners;->getProfileOwnerKeys()Ljava/util/Set;
-HSPLcom/android/server/devicepolicy/Owners;->getProfileOwnerUserRestrictionsNeedsMigration(I)Z
-PLcom/android/server/devicepolicy/Owners;->getSystemUpdateInfo()Landroid/app/admin/SystemUpdateInfo;
-HSPLcom/android/server/devicepolicy/Owners;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-HSPLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z
-HSPLcom/android/server/devicepolicy/Owners;->hasProfileOwner(I)Z
-HSPLcom/android/server/devicepolicy/Owners;->isDeviceOwnerUserId(I)Z
-HSPLcom/android/server/devicepolicy/Owners;->load()V
-HSPLcom/android/server/devicepolicy/Owners;->pushToAppOpsLocked()V
-HSPLcom/android/server/devicepolicy/Owners;->pushToPackageManagerLocked()V
-HSPLcom/android/server/devicepolicy/Owners;->readLegacyOwnerFileLocked(Ljava/io/File;)Z
-PLcom/android/server/devicepolicy/Owners;->saveSystemUpdateInfo(Landroid/app/admin/SystemUpdateInfo;)Z
-HSPLcom/android/server/devicepolicy/Owners;->systemReady()V
-HSPLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;J)V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->assignLogId(Landroid/app/admin/SecurityLog$SecurityEvent;)V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->checkCriticalLevel()V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->getNextBatch(Ljava/util/ArrayList;)V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->mergeBatchLocked(Ljava/util/ArrayList;)V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->notifyDeviceOwnerIfNeeded(Z)V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->retrieveLogs()Ljava/util/List;
-HSPLcom/android/server/devicepolicy/SecurityLogMonitor;->run()V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;->saveLastEvents(Ljava/util/ArrayList;)V
-HSPLcom/android/server/devicepolicy/SecurityLogMonitor;->start()V
-HSPLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;->getOwnerTransferMetadataDir()Ljava/io/File;
-HSPLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;->metadataFileExists()Z
-HSPLcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;->elapsedTimeMillis()J
-PLcom/android/server/display/-$$Lambda$BrightnessTracker$_S_g5htVKYYPRPZzYSZzGdy7hM0;->run()V
-PLcom/android/server/display/-$$Lambda$BrightnessTracker$fmx2Mcw7OCEtRi9DwxxGQgA74fg;->run()V
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;-><init>()V
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;->isDeviceProvisioned()Z
+PLcom/android/server/devicepolicy/DeviceStateCacheImpl;->setDeviceProvisioned(Z)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;-><init>()V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;-><init>(Lcom/android/server/devicepolicy/OverlayPackagesProvider$1;)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><init>(Landroid/content/Context;)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><init>(Landroid/content/Context;Lcom/android/server/devicepolicy/OverlayPackagesProvider$Injector;)V
+PLcom/android/server/devicepolicy/Owners$DeviceOwnerReadWriter;-><init>(Lcom/android/server/devicepolicy/Owners;)V
+PLcom/android/server/devicepolicy/Owners$FileReadWriter;-><init>(Ljava/io/File;)V
+PLcom/android/server/devicepolicy/Owners$FileReadWriter;->readFromFileLocked()V
+PLcom/android/server/devicepolicy/Owners$Injector;-><init>()V
+PLcom/android/server/devicepolicy/Owners$Injector;->environmentGetDataSystemDirectory()Ljava/io/File;
+PLcom/android/server/devicepolicy/Owners$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/Owners$OwnerInfo;-><init>(Ljava/lang/String;Landroid/content/ComponentName;ZLjava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/devicepolicy/Owners$OwnerInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/devicepolicy/Owners$OwnerInfo;
+PLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;-><init>(Lcom/android/server/devicepolicy/Owners;I)V
+PLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;->readInner(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;)Z
+PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;)V
+PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/wm/ActivityTaskManagerInternal;Lcom/android/server/devicepolicy/Owners$Injector;)V
+PLcom/android/server/devicepolicy/Owners;->access$600(Lcom/android/server/devicepolicy/Owners;)Landroid/util/ArrayMap;
+PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerComponent()Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerFile()Ljava/io/File;
+PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserId()I
+PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserRestrictionsNeedsMigration()Z
+PLcom/android/server/devicepolicy/Owners;->getLegacyConfigFile()Ljava/io/File;
+HPLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/Owners;->getProfileOwnerFile(I)Ljava/io/File;
+PLcom/android/server/devicepolicy/Owners;->getProfileOwnerKeys()Ljava/util/Set;
+PLcom/android/server/devicepolicy/Owners;->getProfileOwnerUserRestrictionsNeedsMigration(I)Z
+PLcom/android/server/devicepolicy/Owners;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
+HPLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z
+PLcom/android/server/devicepolicy/Owners;->hasProfileOwner(I)Z
+PLcom/android/server/devicepolicy/Owners;->isDeviceOwnerUserId(I)Z
+HPLcom/android/server/devicepolicy/Owners;->isProfileOwnerOfOrganizationOwnedDevice(I)Z
+PLcom/android/server/devicepolicy/Owners;->load()V
+PLcom/android/server/devicepolicy/Owners;->pushToActivityTaskManagerLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushToAppOpsLocked()V
+PLcom/android/server/devicepolicy/Owners;->pushToPackageManagerLocked()V
+PLcom/android/server/devicepolicy/Owners;->readLegacyOwnerFileLocked(Ljava/io/File;)Z
+PLcom/android/server/devicepolicy/Owners;->systemReady()V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;-><clinit>()V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
+PLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;J)V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;-><init>()V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;->getOwnerTransferMetadataDir()Ljava/io/File;
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><clinit>()V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><init>()V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><init>(Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;)V
+PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;->metadataFileExists()Z
+PLcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;-><init>(Lcom/android/server/display/AmbientBrightnessStatsTracker;)V
+PLcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;->elapsedTimeMillis()J
+HSPLcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;-><clinit>()V
HSPLcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;-><init>()V
-PLcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateDayStats(Ljava/util/Deque;Ljava/time/LocalDate;)Landroid/hardware/display/AmbientBrightnessDayStats;
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateUserStats(Ljava/util/Map;I)Ljava/util/Deque;
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getUserStats(I)Ljava/util/ArrayList;
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->log(ILjava/time/LocalDate;FF)V
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->readFromXML(Ljava/io/InputStream;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->toString()Ljava/lang/String;
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->writeToXML(Ljava/io/OutputStream;)V
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->elapsedRealtimeMillis()J
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getLocalDate()Ljava/time/LocalDate;
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getUserId(Landroid/os/UserManager;I)I
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getUserSerialNumber(Landroid/os/UserManager;I)I
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->isRunning()Z
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->reset()V
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->start()V
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->totalDurationSec()F
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker;-><init>(Landroid/os/UserManager;Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;)V
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->add(IF)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->getUserStats(I)Ljava/util/ArrayList;
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->lambda$new$0$AmbientBrightnessStatsTracker()J
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->readStats(Ljava/io/InputStream;)V
-HSPLcom/android/server/display/AmbientBrightnessStatsTracker;->start()V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;-><init>(Lcom/android/server/display/AmbientBrightnessStatsTracker;)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateDayStats(Ljava/util/Deque;Ljava/time/LocalDate;)Landroid/hardware/display/AmbientBrightnessDayStats;
+PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateUserStats(Ljava/util/Map;I)Ljava/util/Deque;
+PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->log(ILjava/time/LocalDate;FF)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->readFromXML(Ljava/io/InputStream;)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;-><init>()V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->elapsedRealtimeMillis()J
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getLocalDate()Ljava/time/LocalDate;
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getUserId(Landroid/os/UserManager;I)I
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;-><init>(Lcom/android/server/display/AmbientBrightnessStatsTracker$Clock;)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->isRunning()Z
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->reset()V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->start()V
+PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->totalDurationSec()F
+PLcom/android/server/display/AmbientBrightnessStatsTracker;-><clinit>()V
+PLcom/android/server/display/AmbientBrightnessStatsTracker;-><init>(Landroid/os/UserManager;Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker;->access$000(Lcom/android/server/display/AmbientBrightnessStatsTracker;)Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;
+PLcom/android/server/display/AmbientBrightnessStatsTracker;->access$100(Lcom/android/server/display/AmbientBrightnessStatsTracker;)Landroid/os/UserManager;
+PLcom/android/server/display/AmbientBrightnessStatsTracker;->add(IF)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker;->lambda$new$0$AmbientBrightnessStatsTracker()J
+PLcom/android/server/display/AmbientBrightnessStatsTracker;->readStats(Ljava/io/InputStream;)V
+PLcom/android/server/display/AmbientBrightnessStatsTracker;->start()V
PLcom/android/server/display/AmbientBrightnessStatsTracker;->stop()V
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->writeStats(Ljava/io/OutputStream;)V
-HSPLcom/android/server/display/AutomaticBrightnessController$1;->run()V
-HSPLcom/android/server/display/AutomaticBrightnessController$2;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
-HSPLcom/android/server/display/AutomaticBrightnessController$2;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-HSPLcom/android/server/display/AutomaticBrightnessController$2;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-HSPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;-><init>(JI)V
-HSPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->prune(J)V
-HSPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->push(JF)V
-PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->toString()Ljava/lang/String;
-HSPLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;-><init>(Lcom/android/server/display/AutomaticBrightnessController;Landroid/os/Looper;)V
-HSPLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
-HSPLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;->onTaskStackChanged()V
-HSPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;JLandroid/content/pm/PackageManager;)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->adjustLightSensorRate(I)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->calculateAmbientLux(JJ)F
-PLcom/android/server/display/AutomaticBrightnessController;->collectBrightnessAdjustmentSample()V
-HSPLcom/android/server/display/AutomaticBrightnessController;->configure(ZLandroid/hardware/display/BrightnessConfiguration;FZFZI)V
-HPLcom/android/server/display/AutomaticBrightnessController;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightness()I
-HSPLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightnessAdjustment()F
-HSPLcom/android/server/display/AutomaticBrightnessController;->handleLightSensorEvent(JF)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->hasUserDataPoints()Z
-PLcom/android/server/display/AutomaticBrightnessController;->hasValidAmbientLux()Z
-HSPLcom/android/server/display/AutomaticBrightnessController;->isDefaultConfig()Z
-HSPLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightBrighteningTransition(J)J
-HSPLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightDarkeningTransition(J)J
-PLcom/android/server/display/AutomaticBrightnessController;->prepareBrightnessAdjustmentSample()V
-HSPLcom/android/server/display/AutomaticBrightnessController;->registerForegroundAppUpdater()V
-HSPLcom/android/server/display/AutomaticBrightnessController;->resetShortTermModel()V
-HSPLcom/android/server/display/AutomaticBrightnessController;->setAmbientLux(F)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
-HSPLcom/android/server/display/AutomaticBrightnessController;->setDisplayPolicy(I)Z
-HSPLcom/android/server/display/AutomaticBrightnessController;->setLightSensorEnabled(Z)Z
-PLcom/android/server/display/AutomaticBrightnessController;->setScreenBrightnessByUser(F)Z
+PLcom/android/server/display/AutomaticBrightnessController$1;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
+PLcom/android/server/display/AutomaticBrightnessController$1;->run()V
+PLcom/android/server/display/AutomaticBrightnessController$2;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
+PLcom/android/server/display/AutomaticBrightnessController$2;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
+PLcom/android/server/display/AutomaticBrightnessController$2;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;-><init>(JI)V
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->clear()V
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getLux(I)F
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getTime(I)J
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->offsetOf(I)I
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->prune(J)V
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->push(JF)V
+PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->size()I
+PLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;-><init>(Lcom/android/server/display/AutomaticBrightnessController;Landroid/os/Looper;)V
+PLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
+PLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;->onTaskStackChanged()V
+PLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Landroid/hardware/Sensor;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;JLandroid/content/pm/PackageManager;)V
+PLcom/android/server/display/AutomaticBrightnessController;->access$000(Lcom/android/server/display/AutomaticBrightnessController;)Landroid/app/IActivityTaskManager;
+PLcom/android/server/display/AutomaticBrightnessController;->access$100(Lcom/android/server/display/AutomaticBrightnessController;)Ljava/lang/String;
+PLcom/android/server/display/AutomaticBrightnessController;->access$1000(Lcom/android/server/display/AutomaticBrightnessController;)V
+PLcom/android/server/display/AutomaticBrightnessController;->access$1100(Lcom/android/server/display/AutomaticBrightnessController;)Z
+PLcom/android/server/display/AutomaticBrightnessController;->access$1200(Lcom/android/server/display/AutomaticBrightnessController;JF)V
+PLcom/android/server/display/AutomaticBrightnessController;->access$202(Lcom/android/server/display/AutomaticBrightnessController;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/display/AutomaticBrightnessController;->access$302(Lcom/android/server/display/AutomaticBrightnessController;I)I
+PLcom/android/server/display/AutomaticBrightnessController;->access$400(Lcom/android/server/display/AutomaticBrightnessController;)Landroid/content/pm/PackageManager;
+PLcom/android/server/display/AutomaticBrightnessController;->access$500(Lcom/android/server/display/AutomaticBrightnessController;)Lcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;
+PLcom/android/server/display/AutomaticBrightnessController;->access$600(Lcom/android/server/display/AutomaticBrightnessController;)V
+PLcom/android/server/display/AutomaticBrightnessController;->adjustLightSensorRate(I)V
+PLcom/android/server/display/AutomaticBrightnessController;->applyLightSensorMeasurement(JF)V
+HPLcom/android/server/display/AutomaticBrightnessController;->calculateAmbientLux(JJ)F
+PLcom/android/server/display/AutomaticBrightnessController;->calculateWeight(JJ)F
+PLcom/android/server/display/AutomaticBrightnessController;->clampScreenBrightness(I)I
+PLcom/android/server/display/AutomaticBrightnessController;->configure(ZLandroid/hardware/display/BrightnessConfiguration;FZFZI)V
+PLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightness()I
+PLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightnessAdjustment()F
+PLcom/android/server/display/AutomaticBrightnessController;->handleLightSensorEvent(JF)V
+PLcom/android/server/display/AutomaticBrightnessController;->hasUserDataPoints()Z
+PLcom/android/server/display/AutomaticBrightnessController;->isDefaultConfig()Z
+PLcom/android/server/display/AutomaticBrightnessController;->isInteractivePolicy(I)Z
+PLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightBrighteningTransition(J)J
+PLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightDarkeningTransition(J)J
+PLcom/android/server/display/AutomaticBrightnessController;->registerForegroundAppUpdater()V
+PLcom/android/server/display/AutomaticBrightnessController;->setAmbientLux(F)V
+PLcom/android/server/display/AutomaticBrightnessController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
+PLcom/android/server/display/AutomaticBrightnessController;->setDisplayPolicy(I)Z
+PLcom/android/server/display/AutomaticBrightnessController;->setLightSensorEnabled(Z)Z
PLcom/android/server/display/AutomaticBrightnessController;->unregisterForegroundAppUpdater()V
-HSPLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux(J)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->updateAutoBrightness(Z)V
-HSPLcom/android/server/display/AutomaticBrightnessController;->updateForegroundAppSync()V
-PLcom/android/server/display/BrightnessIdleJob;-><init>()V
-PLcom/android/server/display/BrightnessIdleJob;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/display/BrightnessIdleJob;->scheduleJob(Landroid/content/Context;)V
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;-><init>(Landroid/hardware/display/BrightnessConfiguration;[F[IF)V
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->addUserDataPoint(FF)V
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->clearUserDataPoints()V
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->computeSpline()V
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->convertToNits(I)F
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getAutoBrightnessAdjustment()F
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getBrightness(FLjava/lang/String;I)F
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->hasUserDataPoints()Z
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->isDefaultConfig()Z
-HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
-HSPLcom/android/server/display/BrightnessMappingStrategy;->create(Landroid/content/res/Resources;)Lcom/android/server/display/BrightnessMappingStrategy;
-HSPLcom/android/server/display/BrightnessMappingStrategy;->getAdjustedCurve([F[FFFFF)Landroid/util/Pair;
-PLcom/android/server/display/BrightnessMappingStrategy;->inferAutoBrightnessAdjustment(FFF)F
-PLcom/android/server/display/BrightnessMappingStrategy;->insertControlPoint([F[FFF)Landroid/util/Pair;
-HSPLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[F)Z
-HSPLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[I)Z
-HSPLcom/android/server/display/BrightnessMappingStrategy;->normalizeAbsoluteBrightness(I)F
-PLcom/android/server/display/BrightnessMappingStrategy;->smoothCurve([F[FI)V
-PLcom/android/server/display/BrightnessTracker$DisplayListener;->onDisplayAdded(I)V
-HSPLcom/android/server/display/BrightnessTracker$DisplayListener;->onDisplayChanged(I)V
-PLcom/android/server/display/BrightnessTracker$DisplayListener;->onDisplayRemoved(I)V
-HSPLcom/android/server/display/BrightnessTracker$Injector;->currentTimeMillis()J
-HSPLcom/android/server/display/BrightnessTracker$Injector;->elapsedRealtimeNanos()J
-HSPLcom/android/server/display/BrightnessTracker$Injector;->enableColorSampling(ZI)Z
-HSPLcom/android/server/display/BrightnessTracker$Injector;->getBackgroundHandler()Landroid/os/Handler;
-HSPLcom/android/server/display/BrightnessTracker$Injector;->getFile(Ljava/lang/String;)Landroid/util/AtomicFile;
-PLcom/android/server/display/BrightnessTracker$Injector;->getFocusedStack()Landroid/app/ActivityManager$StackInfo;
-HSPLcom/android/server/display/BrightnessTracker$Injector;->getFrameRate(Landroid/content/Context;)F
-PLcom/android/server/display/BrightnessTracker$Injector;->getNightDisplayColorTemperature(Landroid/content/Context;)I
-PLcom/android/server/display/BrightnessTracker$Injector;->getProfileIds(Landroid/os/UserManager;I)[I
-HSPLcom/android/server/display/BrightnessTracker$Injector;->getSamplingAttributes()Landroid/hardware/display/DisplayedContentSamplingAttributes;
-HSPLcom/android/server/display/BrightnessTracker$Injector;->getUserId(Landroid/os/UserManager;I)I
-PLcom/android/server/display/BrightnessTracker$Injector;->getUserSerialNumber(Landroid/os/UserManager;I)I
-HSPLcom/android/server/display/BrightnessTracker$Injector;->isBrightnessModeAutomatic(Landroid/content/ContentResolver;)Z
-HSPLcom/android/server/display/BrightnessTracker$Injector;->isInteractive(Landroid/content/Context;)Z
-PLcom/android/server/display/BrightnessTracker$Injector;->isNightDisplayActivated(Landroid/content/Context;)Z
-HSPLcom/android/server/display/BrightnessTracker$Injector;->registerBrightnessModeObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
-HSPLcom/android/server/display/BrightnessTracker$Injector;->registerDisplayListener(Landroid/content/Context;Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-HSPLcom/android/server/display/BrightnessTracker$Injector;->registerReceiver(Landroid/content/Context;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V
-HSPLcom/android/server/display/BrightnessTracker$Injector;->registerSensorListener(Landroid/content/Context;Landroid/hardware/SensorEventListener;Landroid/os/Handler;)V
-PLcom/android/server/display/BrightnessTracker$Injector;->sampleColor(I)Landroid/hardware/display/DisplayedContentSample;
-HSPLcom/android/server/display/BrightnessTracker$Injector;->scheduleIdleJob(Landroid/content/Context;)V
-PLcom/android/server/display/BrightnessTracker$Injector;->unRegisterDisplayListener(Landroid/content/Context;Landroid/hardware/display/DisplayManager$DisplayListener;)V
+PLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux()V
+PLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux(J)V
+PLcom/android/server/display/AutomaticBrightnessController;->updateAutoBrightness(ZZ)V
+PLcom/android/server/display/AutomaticBrightnessController;->updateForegroundApp()V
+PLcom/android/server/display/AutomaticBrightnessController;->updateForegroundAppSync()V
+PLcom/android/server/display/AutomaticBrightnessController;->weightIntegral(J)F
+PLcom/android/server/display/BrightnessIdleJob;->scheduleJob(Landroid/content/Context;)V
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;-><init>(Landroid/hardware/display/BrightnessConfiguration;[F[IF)V
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->computeSpline()V
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->convertToNits(I)F
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->correctBrightness(FLjava/lang/String;I)F
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getAutoBrightnessAdjustment()F
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getBrightness(FLjava/lang/String;I)F
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->hasUserDataPoints()Z
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->isDefaultConfig()Z
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
+PLcom/android/server/display/BrightnessMappingStrategy;-><clinit>()V
+PLcom/android/server/display/BrightnessMappingStrategy;-><init>()V
+PLcom/android/server/display/BrightnessMappingStrategy;->create(Landroid/content/res/Resources;)Lcom/android/server/display/BrightnessMappingStrategy;
+PLcom/android/server/display/BrightnessMappingStrategy;->getAdjustedCurve([F[FFFFF)Landroid/util/Pair;
+PLcom/android/server/display/BrightnessMappingStrategy;->getFloatArray(Landroid/content/res/TypedArray;)[F
+PLcom/android/server/display/BrightnessMappingStrategy;->getLuxLevels([I)[F
+PLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[F)Z
+PLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[I)Z
+PLcom/android/server/display/BrightnessMappingStrategy;->normalizeAbsoluteBrightness(I)F
+PLcom/android/server/display/BrightnessTracker$BrightnessChangeValues;-><init>(FFZZJ)V
+PLcom/android/server/display/BrightnessTracker$Injector;-><init>()V
+PLcom/android/server/display/BrightnessTracker$Injector;->currentTimeMillis()J
+PLcom/android/server/display/BrightnessTracker$Injector;->elapsedRealtimeNanos()J
+PLcom/android/server/display/BrightnessTracker$Injector;->getBackgroundHandler()Landroid/os/Handler;
+PLcom/android/server/display/BrightnessTracker$Injector;->getFile(Ljava/lang/String;)Landroid/util/AtomicFile;
+PLcom/android/server/display/BrightnessTracker$Injector;->isBrightnessModeAutomatic(Landroid/content/ContentResolver;)Z
+PLcom/android/server/display/BrightnessTracker$Injector;->isInteractive(Landroid/content/Context;)Z
+PLcom/android/server/display/BrightnessTracker$Injector;->registerBrightnessModeObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/display/BrightnessTracker$Injector;->registerReceiver(Landroid/content/Context;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V
+PLcom/android/server/display/BrightnessTracker$Injector;->registerSensorListener(Landroid/content/Context;Landroid/hardware/SensorEventListener;Landroid/os/Handler;)V
+PLcom/android/server/display/BrightnessTracker$Injector;->scheduleIdleJob(Landroid/content/Context;)V
PLcom/android/server/display/BrightnessTracker$Injector;->unregisterSensorListener(Landroid/content/Context;Landroid/hardware/SensorEventListener;)V
-HSPLcom/android/server/display/BrightnessTracker$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/display/BrightnessTracker$SensorListener;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-HSPLcom/android/server/display/BrightnessTracker$SensorListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-HSPLcom/android/server/display/BrightnessTracker$TrackerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/display/BrightnessTracker;-><init>(Landroid/content/Context;Lcom/android/server/display/BrightnessTracker$Injector;)V
-HSPLcom/android/server/display/BrightnessTracker;->backgroundStart(F)V
-HSPLcom/android/server/display/BrightnessTracker;->batteryLevelChanged(II)V
-PLcom/android/server/display/BrightnessTracker;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/BrightnessTracker;->dumpLocal(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/BrightnessTracker;->enableColorSampling()V
-PLcom/android/server/display/BrightnessTracker;->getAmbientBrightnessStats(I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/display/BrightnessTracker;->getEvents(IZ)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/display/BrightnessTracker;->handleBrightnessChanged(FZFZZJ)V
-PLcom/android/server/display/BrightnessTracker;->lambda$dump$1$BrightnessTracker(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/BrightnessTracker;->lambda$scheduleWriteBrightnessTrackerState$0$BrightnessTracker()V
-HSPLcom/android/server/display/BrightnessTracker;->notifyBrightnessChanged(FZFZZ)V
-PLcom/android/server/display/BrightnessTracker;->persistBrightnessTrackerState()V
-HSPLcom/android/server/display/BrightnessTracker;->readAmbientBrightnessStats()V
-HSPLcom/android/server/display/BrightnessTracker;->readEvents()V
-HSPLcom/android/server/display/BrightnessTracker;->readEventsLocked(Ljava/io/InputStream;)V
-HSPLcom/android/server/display/BrightnessTracker;->recordSensorEvent(Landroid/hardware/SensorEvent;)V
-HSPLcom/android/server/display/BrightnessTracker;->start(F)V
-HSPLcom/android/server/display/BrightnessTracker;->startSensorListener()V
-PLcom/android/server/display/BrightnessTracker;->writeAmbientBrightnessStats()V
-PLcom/android/server/display/BrightnessTracker;->writeEvents()V
-PLcom/android/server/display/BrightnessTracker;->writeEventsLocked(Ljava/io/OutputStream;)V
+PLcom/android/server/display/BrightnessTracker$LightData;-><init>()V
+PLcom/android/server/display/BrightnessTracker$LightData;-><init>(Lcom/android/server/display/BrightnessTracker$1;)V
+PLcom/android/server/display/BrightnessTracker$Receiver;-><init>(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker$Receiver;-><init>(Lcom/android/server/display/BrightnessTracker;Lcom/android/server/display/BrightnessTracker$1;)V
+PLcom/android/server/display/BrightnessTracker$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/display/BrightnessTracker$SensorListener;-><init>(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker$SensorListener;-><init>(Lcom/android/server/display/BrightnessTracker;Lcom/android/server/display/BrightnessTracker$1;)V
+PLcom/android/server/display/BrightnessTracker$SensorListener;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
+PLcom/android/server/display/BrightnessTracker$SensorListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/display/BrightnessTracker$SettingsObserver;-><init>(Lcom/android/server/display/BrightnessTracker;Landroid/os/Handler;)V
+PLcom/android/server/display/BrightnessTracker$TrackerHandler;-><init>(Lcom/android/server/display/BrightnessTracker;Landroid/os/Looper;)V
+PLcom/android/server/display/BrightnessTracker$TrackerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/BrightnessTracker;-><clinit>()V
+PLcom/android/server/display/BrightnessTracker;-><init>(Landroid/content/Context;Lcom/android/server/display/BrightnessTracker$Injector;)V
+PLcom/android/server/display/BrightnessTracker;->access$1100(Lcom/android/server/display/BrightnessTracker;II)V
+PLcom/android/server/display/BrightnessTracker;->access$1200(Lcom/android/server/display/BrightnessTracker;F)V
+PLcom/android/server/display/BrightnessTracker;->access$1300(Lcom/android/server/display/BrightnessTracker;FZFZZJ)V
+PLcom/android/server/display/BrightnessTracker;->access$1400(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker;->access$1500(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker;->access$1600(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker;->access$1700(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker;->access$1800(Lcom/android/server/display/BrightnessTracker;)Landroid/hardware/display/BrightnessConfiguration;
+PLcom/android/server/display/BrightnessTracker;->access$1802(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/display/BrightnessConfiguration;)Landroid/hardware/display/BrightnessConfiguration;
+PLcom/android/server/display/BrightnessTracker;->access$1900(Lcom/android/server/display/BrightnessTracker;)Z
+PLcom/android/server/display/BrightnessTracker;->access$400(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/SensorEvent;)V
+PLcom/android/server/display/BrightnessTracker;->access$500(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/SensorEvent;)V
+PLcom/android/server/display/BrightnessTracker;->access$900(Lcom/android/server/display/BrightnessTracker;)Landroid/os/Handler;
+PLcom/android/server/display/BrightnessTracker;->backgroundStart(F)V
+PLcom/android/server/display/BrightnessTracker;->batteryLevelChanged(II)V
+PLcom/android/server/display/BrightnessTracker;->disableColorSampling()V
+PLcom/android/server/display/BrightnessTracker;->enableColorSampling()V
+PLcom/android/server/display/BrightnessTracker;->handleBrightnessChanged(FZFZZJ)V
+PLcom/android/server/display/BrightnessTracker;->notifyBrightnessChanged(FZFZZ)V
+PLcom/android/server/display/BrightnessTracker;->readAmbientBrightnessStats()V
+PLcom/android/server/display/BrightnessTracker;->readEvents()V
+PLcom/android/server/display/BrightnessTracker;->recordAmbientBrightnessStats(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/display/BrightnessTracker;->recordSensorEvent(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/display/BrightnessTracker;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)V
+PLcom/android/server/display/BrightnessTracker;->start(F)V
+PLcom/android/server/display/BrightnessTracker;->startSensorListener()V
+PLcom/android/server/display/BrightnessTracker;->stopSensorListener()V
+PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;-><init>(Landroid/hardware/display/DisplayManagerInternal;ILandroid/view/SurfaceControl;)V
PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->dispose()V
PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->onDisplayTransaction(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/display/ColorFade;-><init>(I)V
+PLcom/android/server/display/ColorFade;-><init>(I)V
+PLcom/android/server/display/ColorFade;->attachEglContext()Z
PLcom/android/server/display/ColorFade;->captureScreenshotTextureAndSetViewport()Z
+PLcom/android/server/display/ColorFade;->checkGlErrors(Ljava/lang/String;)Z
PLcom/android/server/display/ColorFade;->checkGlErrors(Ljava/lang/String;Z)Z
PLcom/android/server/display/ColorFade;->createEglContext()Z
PLcom/android/server/display/ColorFade;->createEglSurface()Z
+PLcom/android/server/display/ColorFade;->createNativeFloatBuffer(I)Ljava/nio/FloatBuffer;
PLcom/android/server/display/ColorFade;->createSurface()Z
+PLcom/android/server/display/ColorFade;->destroyEglSurface()V
+PLcom/android/server/display/ColorFade;->destroyGLBuffers()V
+PLcom/android/server/display/ColorFade;->destroyGLShaders()V
+PLcom/android/server/display/ColorFade;->destroyScreenshotTexture()V
PLcom/android/server/display/ColorFade;->destroySurface()V
+PLcom/android/server/display/ColorFade;->detachEglContext()V
+PLcom/android/server/display/ColorFade;->dismiss()V
PLcom/android/server/display/ColorFade;->dismissResources()V
PLcom/android/server/display/ColorFade;->draw(F)Z
PLcom/android/server/display/ColorFade;->drawFaded(FF)V
-PLcom/android/server/display/ColorFade;->dump(Ljava/io/PrintWriter;)V
PLcom/android/server/display/ColorFade;->initGLBuffers()Z
PLcom/android/server/display/ColorFade;->initGLShaders(Landroid/content/Context;)Z
PLcom/android/server/display/ColorFade;->loadShader(Landroid/content/Context;II)I
@@ -6635,453 +7434,754 @@ PLcom/android/server/display/ColorFade;->prepare(Landroid/content/Context;I)Z
PLcom/android/server/display/ColorFade;->readFile(Landroid/content/Context;I)Ljava/lang/String;
PLcom/android/server/display/ColorFade;->setQuad(Ljava/nio/FloatBuffer;FFFF)V
PLcom/android/server/display/ColorFade;->showSurface(F)Z
+HSPLcom/android/server/display/DisplayAdapter$1;-><init>(Lcom/android/server/display/DisplayAdapter;Lcom/android/server/display/DisplayDevice;I)V
HSPLcom/android/server/display/DisplayAdapter$1;->run()V
+HSPLcom/android/server/display/DisplayAdapter$2;-><init>(Lcom/android/server/display/DisplayAdapter;)V
HSPLcom/android/server/display/DisplayAdapter$2;->run()V
-PLcom/android/server/display/DisplayAdapter;->dumpLocked(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/DisplayDevice;->applyPendingDisplayDeviceInfoChangesLocked()V
-PLcom/android/server/display/DisplayDevice;->dumpLocked(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V
-PLcom/android/server/display/DisplayDevice;->setAllowedDisplayModesLocked([I)V
-HSPLcom/android/server/display/DisplayDevice;->setProjectionLocked(Landroid/view/SurfaceControl$Transaction;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/display/DisplayDevice;->setRequestedColorModeLocked(I)V
+HSPLcom/android/server/display/DisplayAdapter;-><clinit>()V
+HSPLcom/android/server/display/DisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Ljava/lang/String;)V
+HSPLcom/android/server/display/DisplayAdapter;->access$000(Lcom/android/server/display/DisplayAdapter;)Lcom/android/server/display/DisplayAdapter$Listener;
+HSPLcom/android/server/display/DisplayAdapter;->createMode(IIF)Landroid/view/Display$Mode;
+PLcom/android/server/display/DisplayAdapter;->getContext()Landroid/content/Context;
+HSPLcom/android/server/display/DisplayAdapter;->getHandler()Landroid/os/Handler;
+PLcom/android/server/display/DisplayAdapter;->getSyncRoot()Lcom/android/server/display/DisplayManagerService$SyncRoot;
+HSPLcom/android/server/display/DisplayAdapter;->registerLocked()V
+HSPLcom/android/server/display/DisplayAdapter;->sendDisplayDeviceEventLocked(Lcom/android/server/display/DisplayDevice;I)V
+HSPLcom/android/server/display/DisplayAdapter;->sendTraversalRequestLocked()V
+HSPLcom/android/server/display/DisplayDevice;-><init>(Lcom/android/server/display/DisplayAdapter;Landroid/os/IBinder;Ljava/lang/String;)V
+HSPLcom/android/server/display/DisplayDevice;->getDisplayTokenLocked()Landroid/os/IBinder;
+HSPLcom/android/server/display/DisplayDevice;->getUniqueId()Ljava/lang/String;
+PLcom/android/server/display/DisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V
+PLcom/android/server/display/DisplayDevice;->setLayerStackLocked(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/display/DisplayDevice;->setProjectionLocked(Landroid/view/SurfaceControl$Transaction;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+HSPLcom/android/server/display/DisplayDeviceInfo;-><init>()V
HSPLcom/android/server/display/DisplayDeviceInfo;->diff(Lcom/android/server/display/DisplayDeviceInfo;)I
+HSPLcom/android/server/display/DisplayDeviceInfo;->equals(Lcom/android/server/display/DisplayDeviceInfo;)Z
HSPLcom/android/server/display/DisplayDeviceInfo;->equals(Ljava/lang/Object;)Z
HSPLcom/android/server/display/DisplayDeviceInfo;->flagsToString(I)Ljava/lang/String;
HSPLcom/android/server/display/DisplayDeviceInfo;->toString()Ljava/lang/String;
-HSPLcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;->onAllowedDisplayModesChanged()V
-PLcom/android/server/display/DisplayManagerService$BinderService;->createVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;Ljava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
-PLcom/android/server/display/DisplayManagerService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/display/DisplayManagerService$BinderService;->getAmbientBrightnessStats()Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/display/DisplayManagerService$BinderService;->getBrightnessEvents(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds()[I
+HSPLcom/android/server/display/DisplayDeviceInfo;->touchToString(I)Ljava/lang/String;
+PLcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;->onAllowedDisplayModesChanged()V
+HSPLcom/android/server/display/DisplayManagerService$BinderService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds()[I
HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
HSPLcom/android/server/display/DisplayManagerService$BinderService;->getPreferredWideGamutColorSpaceId()I
PLcom/android/server/display/DisplayManagerService$BinderService;->getStableDisplaySize()Landroid/graphics/Point;
-HSPLcom/android/server/display/DisplayManagerService$BinderService;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
+PLcom/android/server/display/DisplayManagerService$BinderService;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
HSPLcom/android/server/display/DisplayManagerService$BinderService;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
-PLcom/android/server/display/DisplayManagerService$BinderService;->releaseVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;)V
PLcom/android/server/display/DisplayManagerService$BinderService;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-PLcom/android/server/display/DisplayManagerService$BinderService;->setTemporaryBrightness(I)V
-PLcom/android/server/display/DisplayManagerService$BinderService;->setVirtualDisplayState(Landroid/hardware/display/IVirtualDisplayCallback;Z)V
PLcom/android/server/display/DisplayManagerService$BinderService;->validatePackageName(ILjava/lang/String;)Z
-HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->binderDied()V
-HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)V
+HSPLcom/android/server/display/DisplayManagerService$CallbackRecord;-><init>(Lcom/android/server/display/DisplayManagerService;ILandroid/hardware/display/IDisplayManagerCallback;)V
+PLcom/android/server/display/DisplayManagerService$CallbackRecord;->binderDied()V
+PLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)V
+HSPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$1;)V
HSPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;->onDisplayDeviceEvent(Lcom/android/server/display/DisplayDevice;I)V
HSPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;->onTraversalRequested()V
+HSPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;-><init>(Lcom/android/server/display/DisplayManagerService;Landroid/os/Looper;)V
HSPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/display/DisplayManagerService$Injector;-><init>()V
HSPLcom/android/server/display/DisplayManagerService$Injector;->getDefaultDisplayDelayTimeout()J
HSPLcom/android/server/display/DisplayManagerService$Injector;->getVirtualDisplayAdapter(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;)Lcom/android/server/display/VirtualDisplayAdapter;
-HSPLcom/android/server/display/DisplayManagerService$LocalService$1;->requestDisplayState(II)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-PLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayedContentSample(IJJ)Landroid/hardware/display/DisplayedContentSample;
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayedContentSamplingAttributes(I)Landroid/hardware/display/DisplayedContentSamplingAttributes;
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->isProximitySensorAvailable()Z
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->onOverlayChanged()V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->persistBrightnessTrackerState()V
+PLcom/android/server/display/DisplayManagerService$LocalService$1;-><init>(Lcom/android/server/display/DisplayManagerService$LocalService;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;)V
+PLcom/android/server/display/DisplayManagerService$LocalService$1;->requestDisplayState(II)V
+HSPLcom/android/server/display/DisplayManagerService$LocalService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService$LocalService;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$1;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+PLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->isProximitySensorAvailable()Z
+PLcom/android/server/display/DisplayManagerService$LocalService;->onOverlayChanged()V
+PLcom/android/server/display/DisplayManagerService$LocalService;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V
PLcom/android/server/display/DisplayManagerService$LocalService;->registerDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->screenshot(ILandroid/view/Surface;)Z
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIZ)V
-HSPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayedContentSamplingEnabled(IZII)Z
+HPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
+PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIZ)V
PLcom/android/server/display/DisplayManagerService$LocalService;->unregisterDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
+HSPLcom/android/server/display/DisplayManagerService$SyncRoot;-><init>()V
HSPLcom/android/server/display/DisplayManagerService;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/display/DisplayManagerService;-><init>(Landroid/content/Context;Lcom/android/server/display/DisplayManagerService$Injector;)V
+PLcom/android/server/display/DisplayManagerService;->access$1000(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService;->access$1100(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayDevice;)V
+HSPLcom/android/server/display/DisplayManagerService;->access$1200(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayDevice;)V
+HSPLcom/android/server/display/DisplayManagerService;->access$1400(Lcom/android/server/display/DisplayManagerService;Z)V
+HSPLcom/android/server/display/DisplayManagerService;->access$1600(Lcom/android/server/display/DisplayManagerService;II)Landroid/view/DisplayInfo;
+PLcom/android/server/display/DisplayManagerService;->access$1700(Lcom/android/server/display/DisplayManagerService;I)[I
+HSPLcom/android/server/display/DisplayManagerService;->access$200(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService;->access$2000(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/IDisplayManagerCallback;I)V
+PLcom/android/server/display/DisplayManagerService;->access$2100(Lcom/android/server/display/DisplayManagerService;)Landroid/content/Context;
+PLcom/android/server/display/DisplayManagerService;->access$300(Lcom/android/server/display/DisplayManagerService;)V
+PLcom/android/server/display/DisplayManagerService;->access$3000(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/WifiDisplayStatus;
+PLcom/android/server/display/DisplayManagerService;->access$3900(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayPowerController;
+PLcom/android/server/display/DisplayManagerService;->access$3902(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController;
+HSPLcom/android/server/display/DisplayManagerService;->access$400(Lcom/android/server/display/DisplayManagerService;II)V
+PLcom/android/server/display/DisplayManagerService;->access$4300(Lcom/android/server/display/DisplayManagerService;II)V
+PLcom/android/server/display/DisplayManagerService;->access$4402(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/SensorManager;)Landroid/hardware/SensorManager;
+PLcom/android/server/display/DisplayManagerService;->access$4500(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler;
+PLcom/android/server/display/DisplayManagerService;->access$4700(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
+PLcom/android/server/display/DisplayManagerService;->access$4800(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
+PLcom/android/server/display/DisplayManagerService;->access$4900(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService;->access$500(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/display/DisplayManagerService;->access$5000(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService;->access$5100(Lcom/android/server/display/DisplayManagerService;IZFIZ)V
+PLcom/android/server/display/DisplayManagerService;->access$5400(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService;->access$5500(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/display/DisplayManagerService;->access$5600(Lcom/android/server/display/DisplayManagerService;)V
+HSPLcom/android/server/display/DisplayManagerService;->access$600(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$SyncRoot;
+PLcom/android/server/display/DisplayManagerService;->access$700(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/display/DisplayManagerService;->access$800(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/display/DisplayManagerService;->access$900(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/input/InputManagerInternal;
HSPLcom/android/server/display/DisplayManagerService;->addLogicalDisplayLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay;
+PLcom/android/server/display/DisplayManagerService;->applyGlobalDisplayStateLocked(Ljava/util/List;)V
+HSPLcom/android/server/display/DisplayManagerService;->assignDisplayIdLocked(Z)I
+HSPLcom/android/server/display/DisplayManagerService;->assignLayerStackLocked(I)I
+PLcom/android/server/display/DisplayManagerService;->clearViewportsLocked()V
HSPLcom/android/server/display/DisplayManagerService;->configureColorModeLocked(Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/DisplayDevice;)V
-HSPLcom/android/server/display/DisplayManagerService;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;)V
-PLcom/android/server/display/DisplayManagerService;->createVirtualDisplayInternal(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;ILjava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
+PLcom/android/server/display/DisplayManagerService;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;)V
HSPLcom/android/server/display/DisplayManagerService;->deliverDisplayEvent(II)V
-PLcom/android/server/display/DisplayManagerService;->dumpInternal(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayManagerService;->getDisplayIdsInternal(I)[I
+PLcom/android/server/display/DisplayManagerService;->findLogicalDisplayForDeviceLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay;
+PLcom/android/server/display/DisplayManagerService;->getDisplayIdsInternal(I)[I
HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoInternal(II)Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/DisplayManagerService;->getDisplayToken(I)Landroid/os/IBinder;
-HSPLcom/android/server/display/DisplayManagerService;->getNonOverrideDisplayInfoInternal(ILandroid/view/DisplayInfo;)V
+HSPLcom/android/server/display/DisplayManagerService;->getFloatArray(Landroid/content/res/TypedArray;)[F
+PLcom/android/server/display/DisplayManagerService;->getNonOverrideDisplayInfoInternal(ILandroid/view/DisplayInfo;)V
+HSPLcom/android/server/display/DisplayManagerService;->getPreferredWideGamutColorSpaceIdInternal()I
PLcom/android/server/display/DisplayManagerService;->getStableDisplaySizeInternal()Landroid/graphics/Point;
-HSPLcom/android/server/display/DisplayManagerService;->getViewportLocked(ILjava/lang/String;)Landroid/hardware/display/DisplayViewport;
-HSPLcom/android/server/display/DisplayManagerService;->getWifiDisplayStatusInternal()Landroid/hardware/display/WifiDisplayStatus;
+PLcom/android/server/display/DisplayManagerService;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/display/DisplayManagerService;->getViewportLocked(ILjava/lang/String;)Landroid/hardware/display/DisplayViewport;
+PLcom/android/server/display/DisplayManagerService;->getWifiDisplayStatusInternal()Landroid/hardware/display/WifiDisplayStatus;
HSPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceAdded(Lcom/android/server/display/DisplayDevice;)V
HSPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceAddedLocked(Lcom/android/server/display/DisplayDevice;)V
HSPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceChanged(Lcom/android/server/display/DisplayDevice;)V
-PLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceRemovedLocked(Lcom/android/server/display/DisplayDevice;)V
-PLcom/android/server/display/DisplayManagerService;->isBrightnessConfigurationTooDark(Landroid/hardware/display/BrightnessConfiguration;)Z
-HSPLcom/android/server/display/DisplayManagerService;->loadBrightnessConfiguration()V
+HSPLcom/android/server/display/DisplayManagerService;->handleLogicalDisplayChanged(ILcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->loadBrightnessConfiguration()V
HSPLcom/android/server/display/DisplayManagerService;->loadStableDisplayValuesLocked()V
-HSPLcom/android/server/display/DisplayManagerService;->onAllowedDisplayModesChangedInternal()V
+PLcom/android/server/display/DisplayManagerService;->onAllowedDisplayModesChangedInternal()V
HSPLcom/android/server/display/DisplayManagerService;->onBootPhase(I)V
-HSPLcom/android/server/display/DisplayManagerService;->onCallbackDied(Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
+PLcom/android/server/display/DisplayManagerService;->onCallbackDied(Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
HSPLcom/android/server/display/DisplayManagerService;->onStart()V
-HSPLcom/android/server/display/DisplayManagerService;->performTraversalInternal(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/display/DisplayManagerService;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/display/DisplayManagerService;->registerAdditionalDisplayAdapters()V
+PLcom/android/server/display/DisplayManagerService;->performTraversalInternal(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/display/DisplayManagerService;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/display/DisplayManagerService;->populateViewportLocked(IILcom/android/server/display/DisplayDevice;Ljava/lang/String;)V
+HSPLcom/android/server/display/DisplayManagerService;->recordStableDisplayStatsIfNeededLocked(Lcom/android/server/display/LogicalDisplay;)V
+HSPLcom/android/server/display/DisplayManagerService;->recordTopInsetLocked(Lcom/android/server/display/LogicalDisplay;)V
+PLcom/android/server/display/DisplayManagerService;->registerAdditionalDisplayAdapters()V
HSPLcom/android/server/display/DisplayManagerService;->registerCallbackInternal(Landroid/hardware/display/IDisplayManagerCallback;I)V
HSPLcom/android/server/display/DisplayManagerService;->registerDefaultDisplayAdapters()V
-HSPLcom/android/server/display/DisplayManagerService;->registerWifiDisplayAdapterLocked()V
-PLcom/android/server/display/DisplayManagerService;->releaseVirtualDisplayInternal(Landroid/os/IBinder;)V
-HSPLcom/android/server/display/DisplayManagerService;->requestGlobalDisplayStateInternal(II)V
-HSPLcom/android/server/display/DisplayManagerService;->screenshotInternal(ILandroid/view/Surface;)Z
+HSPLcom/android/server/display/DisplayManagerService;->registerDisplayAdapterLocked(Lcom/android/server/display/DisplayAdapter;)V
+PLcom/android/server/display/DisplayManagerService;->registerDisplayTransactionListenerInternal(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
+PLcom/android/server/display/DisplayManagerService;->registerOverlayDisplayAdapterLocked()V
+PLcom/android/server/display/DisplayManagerService;->registerWifiDisplayAdapterLocked()V
+PLcom/android/server/display/DisplayManagerService;->requestGlobalDisplayStateInternal(II)V
+HSPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)V
+HSPLcom/android/server/display/DisplayManagerService;->sendDisplayEventLocked(II)V
PLcom/android/server/display/DisplayManagerService;->setBrightnessConfigurationForUserInternal(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-HSPLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V
-HSPLcom/android/server/display/DisplayManagerService;->setDisplayInfoOverrideFromWindowManagerInternal(ILandroid/view/DisplayInfo;)V
-HSPLcom/android/server/display/DisplayManagerService;->setDisplayPropertiesInternal(IZFIZ)V
-PLcom/android/server/display/DisplayManagerService;->setVirtualDisplayStateInternal(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/display/DisplayManagerService;->setupSchedulerPolicies()V
-HSPLcom/android/server/display/DisplayManagerService;->stopWifiDisplayScanLocked(Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
-HSPLcom/android/server/display/DisplayManagerService;->systemReady(ZZ)V
+PLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V
+PLcom/android/server/display/DisplayManagerService;->setDisplayInfoOverrideFromWindowManagerInternal(ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService;->setDisplayPropertiesInternal(IZFIZ)V
+PLcom/android/server/display/DisplayManagerService;->setupSchedulerPolicies()V
+PLcom/android/server/display/DisplayManagerService;->shouldRegisterNonEssentialDisplayAdaptersLocked()Z
+PLcom/android/server/display/DisplayManagerService;->stopWifiDisplayScanLocked(Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
+PLcom/android/server/display/DisplayManagerService;->systemReady(ZZ)V
+PLcom/android/server/display/DisplayManagerService;->unregisterDisplayTransactionListenerInternal(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
+HSPLcom/android/server/display/DisplayManagerService;->updateDisplayStateLocked(Lcom/android/server/display/DisplayDevice;)Ljava/lang/Runnable;
HSPLcom/android/server/display/DisplayManagerService;->updateLogicalDisplaysLocked()Z
-HSPLcom/android/server/display/DisplayManagerService;->windowManagerAndInputReady()V
-PLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->dumpLocked(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->findModeByIdLocked(II)Landroid/view/Display$Mode;
-HSPLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->setAppRequestedMode(II)V
-HSPLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->setAppRequestedModeLocked(II)V
-HSPLcom/android/server/display/DisplayModeDirector$DisplayModeDirectorHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/display/DisplayModeDirector$DisplayObserver;->observe()V
-PLcom/android/server/display/DisplayModeDirector$DisplayObserver;->onDisplayAdded(I)V
-HSPLcom/android/server/display/DisplayModeDirector$DisplayObserver;->onDisplayChanged(I)V
-PLcom/android/server/display/DisplayModeDirector$DisplayObserver;->onDisplayRemoved(I)V
-HSPLcom/android/server/display/DisplayModeDirector$DisplayObserver;->updateDisplayModes(I)V
+PLcom/android/server/display/DisplayManagerService;->windowManagerAndInputReady()V
+HSPLcom/android/server/display/DisplayModeDirector$AppRequestObserver;-><init>(Lcom/android/server/display/DisplayModeDirector;)V
+PLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->findModeByIdLocked(II)Landroid/view/Display$Mode;
+PLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->setAppRequestedMode(II)V
+PLcom/android/server/display/DisplayModeDirector$AppRequestObserver;->setAppRequestedModeLocked(II)V
+HSPLcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener$1;-><init>(Lcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;)V
+HSPLcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;-><init>(Lcom/android/server/display/DisplayModeDirector$BrightnessObserver;)V
+HSPLcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;-><init>(Lcom/android/server/display/DisplayModeDirector$BrightnessObserver;Lcom/android/server/display/DisplayModeDirector$1;)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;->removeCallbacks()V
+HSPLcom/android/server/display/DisplayModeDirector$BrightnessObserver;-><init>(Lcom/android/server/display/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->checkShouldObserve([I)Z
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->isDefaultDisplayOn()Z
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->observe(Landroid/hardware/SensorManager;)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->onDisplayChanged(I)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->onLowPowerModeEnabledLocked(Z)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->onRefreshRateSettingChangedLocked(FF)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->onScreenOn(Z)V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->restartObserver()V
+PLcom/android/server/display/DisplayModeDirector$BrightnessObserver;->updateSensorStatus()V
+PLcom/android/server/display/DisplayModeDirector$DesiredDisplayConfigSpecs;-><init>(ILcom/android/server/display/DisplayModeDirector$RefreshRateRange;[I)V
+HSPLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;-><init>(Lcom/android/server/display/DisplayModeDirector;)V
+PLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;->getAmbientThresholds()[I
+PLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;->getBrightnessThresholds()[I
+PLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;->getDefaultPeakRefreshRate()Ljava/lang/Float;
+PLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;->getIntArrayProperty(Ljava/lang/String;)[I
+PLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;->getRefreshRateInZone()I
+PLcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;->startListening()V
+HSPLcom/android/server/display/DisplayModeDirector$DisplayModeDirectorHandler;-><init>(Lcom/android/server/display/DisplayModeDirector;Landroid/os/Looper;)V
+PLcom/android/server/display/DisplayModeDirector$DisplayModeDirectorHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/display/DisplayModeDirector$DisplayObserver;-><init>(Lcom/android/server/display/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/display/DisplayModeDirector$DisplayObserver;->observe()V
+PLcom/android/server/display/DisplayModeDirector$DisplayObserver;->onDisplayChanged(I)V
+PLcom/android/server/display/DisplayModeDirector$DisplayObserver;->updateDisplayModes(I)V
+PLcom/android/server/display/DisplayModeDirector$RefreshRateRange;-><init>(FF)V
HSPLcom/android/server/display/DisplayModeDirector$SettingsObserver;-><init>(Lcom/android/server/display/DisplayModeDirector;Landroid/content/Context;Landroid/os/Handler;)V
-HSPLcom/android/server/display/DisplayModeDirector$SettingsObserver;->observe()V
-HSPLcom/android/server/display/DisplayModeDirector$SettingsObserver;->onChange(ZLandroid/net/Uri;I)V
-HSPLcom/android/server/display/DisplayModeDirector$SettingsObserver;->updateLowPowerModeSettingLocked()V
-PLcom/android/server/display/DisplayModeDirector$Vote;->toString()Ljava/lang/String;
+PLcom/android/server/display/DisplayModeDirector$SettingsObserver;->observe()V
+PLcom/android/server/display/DisplayModeDirector$SettingsObserver;->updateLowPowerModeSettingLocked()V
+PLcom/android/server/display/DisplayModeDirector$SettingsObserver;->updateRefreshRateSettingLocked()V
+PLcom/android/server/display/DisplayModeDirector$Vote;-><init>(IIFF)V
+PLcom/android/server/display/DisplayModeDirector$Vote;->forRefreshRates(FF)Lcom/android/server/display/DisplayModeDirector$Vote;
HSPLcom/android/server/display/DisplayModeDirector;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/display/DisplayModeDirector;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayModeDirector;->filterModes([Landroid/view/Display$Mode;IIFF)[I
-HSPLcom/android/server/display/DisplayModeDirector;->getAllowedModes(I)[I
-HSPLcom/android/server/display/DisplayModeDirector;->getAllowedModesLocked(Landroid/util/SparseArray;[Landroid/view/Display$Mode;Landroid/view/Display$Mode;)[I
-HSPLcom/android/server/display/DisplayModeDirector;->getAppRequestObserver()Lcom/android/server/display/DisplayModeDirector$AppRequestObserver;
-HSPLcom/android/server/display/DisplayModeDirector;->getOrCreateVotesByDisplay(I)Landroid/util/SparseArray;
-HSPLcom/android/server/display/DisplayModeDirector;->getVotesLocked(I)Landroid/util/SparseArray;
-HSPLcom/android/server/display/DisplayModeDirector;->setListener(Lcom/android/server/display/DisplayModeDirector$Listener;)V
-HSPLcom/android/server/display/DisplayModeDirector;->start()V
-HSPLcom/android/server/display/DisplayModeDirector;->updateVoteLocked(IILcom/android/server/display/DisplayModeDirector$Vote;)V
-HSPLcom/android/server/display/DisplayPowerController$1;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayModeDirector;->access$000(Lcom/android/server/display/DisplayModeDirector;)Lcom/android/server/display/DisplayModeDirector$BrightnessObserver;
+PLcom/android/server/display/DisplayModeDirector;->access$1000(Lcom/android/server/display/DisplayModeDirector;)Lcom/android/server/display/DisplayModeDirector$DisplayModeDirectorHandler;
+PLcom/android/server/display/DisplayModeDirector;->access$1900(Lcom/android/server/display/DisplayModeDirector;)Landroid/content/Context;
+PLcom/android/server/display/DisplayModeDirector;->access$200(Lcom/android/server/display/DisplayModeDirector;)Lcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;
+PLcom/android/server/display/DisplayModeDirector;->access$300(Lcom/android/server/display/DisplayModeDirector;)Ljava/lang/Object;
+PLcom/android/server/display/DisplayModeDirector;->access$400(Lcom/android/server/display/DisplayModeDirector;ILcom/android/server/display/DisplayModeDirector$Vote;)V
+PLcom/android/server/display/DisplayModeDirector;->access$600(Lcom/android/server/display/DisplayModeDirector;)Landroid/util/SparseArray;
+PLcom/android/server/display/DisplayModeDirector;->access$700(Lcom/android/server/display/DisplayModeDirector;)Landroid/util/SparseArray;
+PLcom/android/server/display/DisplayModeDirector;->filterModes([Landroid/view/Display$Mode;IIFF)[I
+PLcom/android/server/display/DisplayModeDirector;->getAllowedModes(I)[I
+PLcom/android/server/display/DisplayModeDirector;->getAppRequestObserver()Lcom/android/server/display/DisplayModeDirector$AppRequestObserver;
+PLcom/android/server/display/DisplayModeDirector;->getDesiredDisplayConfigSpecs(I)Lcom/android/server/display/DisplayModeDirector$DesiredDisplayConfigSpecs;
+PLcom/android/server/display/DisplayModeDirector;->getOrCreateVotesByDisplay(I)Landroid/util/SparseArray;
+PLcom/android/server/display/DisplayModeDirector;->getVotesLocked(I)Landroid/util/SparseArray;
+PLcom/android/server/display/DisplayModeDirector;->notifyAllowedModesChangedLocked()V
+PLcom/android/server/display/DisplayModeDirector;->setDisplayModeListener(Lcom/android/server/display/DisplayModeDirector$DisplayModeListener;)V
+PLcom/android/server/display/DisplayModeDirector;->start(Landroid/hardware/SensorManager;)V
+PLcom/android/server/display/DisplayModeDirector;->updateVoteLocked(IILcom/android/server/display/DisplayModeDirector$Vote;)V
+PLcom/android/server/display/DisplayModeDirector;->updateVoteLocked(ILcom/android/server/display/DisplayModeDirector$Vote;)V
+PLcom/android/server/display/DisplayPowerController$1;-><init>(Lcom/android/server/display/DisplayPowerController;)V
PLcom/android/server/display/DisplayPowerController$1;->onAnimationEnd(Landroid/animation/Animator;)V
PLcom/android/server/display/DisplayPowerController$1;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLcom/android/server/display/DisplayPowerController$2;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-HSPLcom/android/server/display/DisplayPowerController$2;->onAnimationEnd()V
-HSPLcom/android/server/display/DisplayPowerController$3;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-HSPLcom/android/server/display/DisplayPowerController$3;->run()V
-HSPLcom/android/server/display/DisplayPowerController$4;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-HSPLcom/android/server/display/DisplayPowerController$4;->run()V
-HSPLcom/android/server/display/DisplayPowerController$5;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$5;->run()V
-HSPLcom/android/server/display/DisplayPowerController$6;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$6;->run()V
-PLcom/android/server/display/DisplayPowerController$7;->run()V
-HSPLcom/android/server/display/DisplayPowerController$8;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$8;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-PLcom/android/server/display/DisplayPowerController$8;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-HSPLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Looper;)V
-HSPLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/DisplayPowerController$2;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$2;->onAnimationEnd()V
+PLcom/android/server/display/DisplayPowerController$3;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$3;->run()V
+PLcom/android/server/display/DisplayPowerController$4;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$4;->run()V
+PLcom/android/server/display/DisplayPowerController$5;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$6;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$8;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;-><init>(Lcom/android/server/display/DisplayPowerController;Lcom/android/server/display/DisplayPowerController$1;)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->addModifier(I)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->reasonToString(I)Ljava/lang/String;
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->set(Lcom/android/server/display/DisplayPowerController$BrightnessReason;)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->setModifier(I)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->setReason(I)V
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->toString()Ljava/lang/String;
+PLcom/android/server/display/DisplayPowerController$BrightnessReason;->toString(I)Ljava/lang/String;
+PLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Looper;)V
+PLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;Lcom/android/server/display/DisplayPowerController$1;)V
PLcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;->onScreenOff()V
+PLcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;Lcom/android/server/display/DisplayPowerController$1;)V
PLcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;->onScreenOn()V
-HSPLcom/android/server/display/DisplayPowerController$SettingsObserver;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Handler;)V
-HSPLcom/android/server/display/DisplayPowerController$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;)V
-HSPLcom/android/server/display/DisplayPowerController;->animateScreenBrightness(II)V
-HSPLcom/android/server/display/DisplayPowerController;->animateScreenStateChange(IZ)V
+PLcom/android/server/display/DisplayPowerController$SettingsObserver;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Handler;)V
+PLcom/android/server/display/DisplayPowerController$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/display/DisplayPowerController;-><clinit>()V
+PLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;)V
+PLcom/android/server/display/DisplayPowerController;->access$100(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController;->access$1000(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;
+PLcom/android/server/display/DisplayPowerController;->access$1202(Lcom/android/server/display/DisplayPowerController;Landroid/hardware/display/BrightnessConfiguration;)Landroid/hardware/display/BrightnessConfiguration;
+PLcom/android/server/display/DisplayPowerController;->access$1800(Lcom/android/server/display/DisplayPowerController;Z)V
+PLcom/android/server/display/DisplayPowerController;->access$1900(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$DisplayControllerHandler;
+PLcom/android/server/display/DisplayPowerController;->access$400(Lcom/android/server/display/DisplayPowerController;)Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;
+PLcom/android/server/display/DisplayPowerController;->access$600(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController;->access$800(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;
+PLcom/android/server/display/DisplayPowerController;->access$900(Lcom/android/server/display/DisplayPowerController;)V
+PLcom/android/server/display/DisplayPowerController;->animateScreenBrightness(II)V
+PLcom/android/server/display/DisplayPowerController;->animateScreenStateChange(IZ)V
PLcom/android/server/display/DisplayPowerController;->blockScreenOff()V
PLcom/android/server/display/DisplayPowerController;->blockScreenOn()V
-HSPLcom/android/server/display/DisplayPowerController;->clampAbsoluteBrightness(I)I
-PLcom/android/server/display/DisplayPowerController;->debounceProximitySensor()V
-PLcom/android/server/display/DisplayPowerController;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/DisplayPowerController;->dumpLocal(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayPowerController;->findDisplayLightSensor(Ljava/lang/String;)Landroid/hardware/Sensor;
-HSPLcom/android/server/display/DisplayPowerController;->getAutoBrightnessAdjustmentSetting()F
-HSPLcom/android/server/display/DisplayPowerController;->getScreenBrightnessForVrSetting()I
-HSPLcom/android/server/display/DisplayPowerController;->getScreenBrightnessSetting()I
-PLcom/android/server/display/DisplayPowerController;->handleProximitySensorEvent(JZ)V
-HSPLcom/android/server/display/DisplayPowerController;->handleSettingsChange(Z)V
-HSPLcom/android/server/display/DisplayPowerController;->initialize()V
-HSPLcom/android/server/display/DisplayPowerController;->notifyBrightnessChanged(IZZ)V
-HSPLcom/android/server/display/DisplayPowerController;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
-HSPLcom/android/server/display/DisplayPowerController;->sendUpdatePowerState()V
-HSPLcom/android/server/display/DisplayPowerController;->setProximitySensorEnabled(Z)V
-HSPLcom/android/server/display/DisplayPowerController;->setScreenState(IZ)Z
+PLcom/android/server/display/DisplayPowerController;->clampAbsoluteBrightness(I)I
+PLcom/android/server/display/DisplayPowerController;->clampAutoBrightnessAdjustment(F)F
+PLcom/android/server/display/DisplayPowerController;->clampScreenBrightness(I)I
+PLcom/android/server/display/DisplayPowerController;->clampScreenBrightnessForVr(I)I
+PLcom/android/server/display/DisplayPowerController;->convertToNits(I)F
+PLcom/android/server/display/DisplayPowerController;->findDisplayLightSensor(Ljava/lang/String;)Landroid/hardware/Sensor;
+PLcom/android/server/display/DisplayPowerController;->getAutoBrightnessAdjustmentSetting()F
+PLcom/android/server/display/DisplayPowerController;->getScreenBrightnessForVrSetting()I
+PLcom/android/server/display/DisplayPowerController;->getScreenBrightnessSetting()I
+PLcom/android/server/display/DisplayPowerController;->handleSettingsChange(Z)V
+PLcom/android/server/display/DisplayPowerController;->initialize()V
+PLcom/android/server/display/DisplayPowerController;->isProximitySensorAvailable()Z
+PLcom/android/server/display/DisplayPowerController;->logDisplayPolicyChanged(I)V
+PLcom/android/server/display/DisplayPowerController;->notifyBrightnessChanged(IZZ)V
+PLcom/android/server/display/DisplayPowerController;->putScreenBrightnessSetting(I)V
+HPLcom/android/server/display/DisplayPowerController;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
+PLcom/android/server/display/DisplayPowerController;->sendOnStateChangedWithWakelock()V
+PLcom/android/server/display/DisplayPowerController;->sendUpdatePowerState()V
+PLcom/android/server/display/DisplayPowerController;->sendUpdatePowerStateLocked()V
+PLcom/android/server/display/DisplayPowerController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)V
+PLcom/android/server/display/DisplayPowerController;->setProximitySensorEnabled(Z)V
+PLcom/android/server/display/DisplayPowerController;->setReportedScreenState(I)V
+PLcom/android/server/display/DisplayPowerController;->setScreenState(I)Z
+PLcom/android/server/display/DisplayPowerController;->setScreenState(IZ)Z
PLcom/android/server/display/DisplayPowerController;->unblockScreenOff()V
-HSPLcom/android/server/display/DisplayPowerController;->unblockScreenOn()V
-HSPLcom/android/server/display/DisplayPowerController;->updateBrightness()V
-HSPLcom/android/server/display/DisplayPowerController;->updatePowerState()V
-HSPLcom/android/server/display/DisplayPowerState$1;-><init>(Ljava/lang/String;)V
+PLcom/android/server/display/DisplayPowerController;->unblockScreenOn()V
+PLcom/android/server/display/DisplayPowerController;->updateAutoBrightnessAdjustment()Z
+PLcom/android/server/display/DisplayPowerController;->updateBrightness()V
+PLcom/android/server/display/DisplayPowerController;->updatePowerState()V
+PLcom/android/server/display/DisplayPowerController;->updateUserSetScreenBrightness()Z
+PLcom/android/server/display/DisplayPowerState$1;-><init>(Ljava/lang/String;)V
PLcom/android/server/display/DisplayPowerState$1;->setValue(Lcom/android/server/display/DisplayPowerState;F)V
PLcom/android/server/display/DisplayPowerState$1;->setValue(Ljava/lang/Object;F)V
-HSPLcom/android/server/display/DisplayPowerState$2;-><init>(Ljava/lang/String;)V
-HSPLcom/android/server/display/DisplayPowerState$2;->setValue(Lcom/android/server/display/DisplayPowerState;I)V
-HSPLcom/android/server/display/DisplayPowerState$2;->setValue(Ljava/lang/Object;I)V
-HSPLcom/android/server/display/DisplayPowerState$3;->run()V
+PLcom/android/server/display/DisplayPowerState$2;-><init>(Ljava/lang/String;)V
+PLcom/android/server/display/DisplayPowerState$2;->setValue(Lcom/android/server/display/DisplayPowerState;I)V
+PLcom/android/server/display/DisplayPowerState$2;->setValue(Ljava/lang/Object;I)V
+PLcom/android/server/display/DisplayPowerState$3;-><init>(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState$3;->run()V
+PLcom/android/server/display/DisplayPowerState$4;-><init>(Lcom/android/server/display/DisplayPowerState;)V
PLcom/android/server/display/DisplayPowerState$4;->run()V
-PLcom/android/server/display/DisplayPowerState$PhotonicModulator;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V
-HSPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(II)Z
-HSPLcom/android/server/display/DisplayPowerState;-><init>(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;)V
-PLcom/android/server/display/DisplayPowerState;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V
-HSPLcom/android/server/display/DisplayPowerState;->setScreenBrightness(I)V
+PLcom/android/server/display/DisplayPowerState$PhotonicModulator;-><init>(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V
+PLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(II)Z
+PLcom/android/server/display/DisplayPowerState;-><clinit>()V
+PLcom/android/server/display/DisplayPowerState;-><init>(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;)V
+PLcom/android/server/display/DisplayPowerState;->access$002(Lcom/android/server/display/DisplayPowerState;Z)Z
+PLcom/android/server/display/DisplayPowerState;->access$100(Lcom/android/server/display/DisplayPowerState;)I
+PLcom/android/server/display/DisplayPowerState;->access$1000(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/ColorFade;
+PLcom/android/server/display/DisplayPowerState;->access$1100()Ljava/lang/String;
+PLcom/android/server/display/DisplayPowerState;->access$1202(Lcom/android/server/display/DisplayPowerState;Z)Z
+HPLcom/android/server/display/DisplayPowerState;->access$1300(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState;->access$1400(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayBlanker;
+PLcom/android/server/display/DisplayPowerState;->access$200(Lcom/android/server/display/DisplayPowerState;)F
+PLcom/android/server/display/DisplayPowerState;->access$300(Lcom/android/server/display/DisplayPowerState;)I
+PLcom/android/server/display/DisplayPowerState;->access$400(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayPowerState$PhotonicModulator;
+PLcom/android/server/display/DisplayPowerState;->access$500()Z
+PLcom/android/server/display/DisplayPowerState;->access$602(Lcom/android/server/display/DisplayPowerState;Z)Z
+PLcom/android/server/display/DisplayPowerState;->access$700(Lcom/android/server/display/DisplayPowerState;)V
+PLcom/android/server/display/DisplayPowerState;->access$802(Lcom/android/server/display/DisplayPowerState;Z)Z
+PLcom/android/server/display/DisplayPowerState;->access$900(Lcom/android/server/display/DisplayPowerState;)Z
+PLcom/android/server/display/DisplayPowerState;->dismissColorFade()V
+PLcom/android/server/display/DisplayPowerState;->dismissColorFadeResources()V
+PLcom/android/server/display/DisplayPowerState;->getColorFadeLevel()F
+PLcom/android/server/display/DisplayPowerState;->getScreenBrightness()I
+PLcom/android/server/display/DisplayPowerState;->getScreenState()I
+PLcom/android/server/display/DisplayPowerState;->invokeCleanListenerIfNeeded()V
+HPLcom/android/server/display/DisplayPowerState;->postScreenUpdateThreadSafe()V
+PLcom/android/server/display/DisplayPowerState;->prepareColorFade(Landroid/content/Context;I)Z
+PLcom/android/server/display/DisplayPowerState;->scheduleColorFadeDraw()V
+PLcom/android/server/display/DisplayPowerState;->scheduleScreenUpdate()V
+PLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V
+PLcom/android/server/display/DisplayPowerState;->setScreenBrightness(I)V
PLcom/android/server/display/DisplayPowerState;->setScreenState(I)V
-HSPLcom/android/server/display/HysteresisLevels;-><init>([I[I[I)V
-PLcom/android/server/display/HysteresisLevels;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/display/DisplayPowerState;->waitUntilClean(Ljava/lang/Runnable;)Z
+PLcom/android/server/display/HysteresisLevels;-><init>([I[I[I)V
+PLcom/android/server/display/HysteresisLevels;->getBrighteningThreshold(F)F
+PLcom/android/server/display/HysteresisLevels;->getDarkeningThreshold(F)F
+PLcom/android/server/display/HysteresisLevels;->getReferenceLevel(F[F)F
+PLcom/android/server/display/HysteresisLevels;->setArrayFormat([IF)[F
+HSPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;-><init>(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)V
HSPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;->hasMatchingMode(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Z
-PLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;->toString()Ljava/lang/String;
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;-><init>(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;IIZIJLandroid/os/IBinder;)V
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->run()V
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayBrightness(I)V
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayState(I)V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><clinit>()V
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/IBinder;J[Landroid/view/SurfaceControl$PhysicalDisplayInfo;I[I[IIZ)V
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->access$000(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)Lcom/android/server/lights/Light;
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->access$100(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)Z
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->applyPendingDisplayDeviceInfoChangesLocked()V
-PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->dumpLocked(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findMatchingModeIdLocked(I)I
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayInfoIndexLocked(I)I
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayModeRecord(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayDeviceInfoLocked()Lcom/android/server/display/DisplayDeviceInfo;
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayModes(Landroid/util/SparseArray;)[Landroid/view/Display$Mode;
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->hasStableUniqueId()Z
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onOverlayChangedLocked()V
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestColorModeLocked(I)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onActivePhysicalDisplayModeChangedLocked(I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onOverlayChangedLocked()V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestColorModeLocked(I)Z
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestDisplayStateLocked(II)Ljava/lang/Runnable;
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setAllowedDisplayModesLocked([I)V
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setRequestedColorModeLocked(I)V
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateActiveModeLocked(I)Z
-HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateAllowedModesInternalLocked([I)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setDesiredDisplayConfigSpecs(IFF[I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->setRequestedColorModeLocked(I)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateActiveModeLocked(I)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateAllowedModesInternalLocked([I)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateAllowedModesLocked([I)V
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateColorModesLocked([II)Z
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDesiredDisplayConfigSpecs(IFF)V
+PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDesiredDisplayConfigSpecsInternalLocked(IFF)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDeviceInfoLocked()V
HSPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updatePhysicalDisplayInfoLocked([Landroid/view/SurfaceControl$PhysicalDisplayInfo;I[I[II)Z
+HSPLcom/android/server/display/LocalDisplayAdapter$PhysicalDisplayEventReceiver;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/Looper;)V
+PLcom/android/server/display/LocalDisplayAdapter$PhysicalDisplayEventReceiver;->onConfigChanged(JJI)V
+HSPLcom/android/server/display/LocalDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;)V
+PLcom/android/server/display/LocalDisplayAdapter;->access$500(Lcom/android/server/display/LocalDisplayAdapter;)Landroid/util/LongSparseArray;
+HSPLcom/android/server/display/LocalDisplayAdapter;->getOverlayContext()Landroid/content/Context;
+HSPLcom/android/server/display/LocalDisplayAdapter;->getPowerModeForState(I)I
HSPLcom/android/server/display/LocalDisplayAdapter;->registerLocked()V
HSPLcom/android/server/display/LocalDisplayAdapter;->tryConnectDisplayLocked(J)V
HSPLcom/android/server/display/LogicalDisplay;-><init>(IILcom/android/server/display/DisplayDevice;)V
-HSPLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V
-PLcom/android/server/display/LogicalDisplay;->dumpLocked(Ljava/io/PrintWriter;)V
+PLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V
+PLcom/android/server/display/LogicalDisplay;->getAllowedDisplayModesLocked()[I
+PLcom/android/server/display/LogicalDisplay;->getDisplayIdLocked()I
HSPLcom/android/server/display/LogicalDisplay;->getDisplayInfoLocked()Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/LogicalDisplay;->setDisplayInfoOverrideFromWindowManagerLocked(Landroid/view/DisplayInfo;)Z
+PLcom/android/server/display/LogicalDisplay;->getInsets()Landroid/graphics/Rect;
+HSPLcom/android/server/display/LogicalDisplay;->getMaskingInsets(Lcom/android/server/display/DisplayDeviceInfo;)Landroid/graphics/Rect;
+PLcom/android/server/display/LogicalDisplay;->getNonOverrideDisplayInfoLocked(Landroid/view/DisplayInfo;)V
+HSPLcom/android/server/display/LogicalDisplay;->getPrimaryDisplayDeviceLocked()Lcom/android/server/display/DisplayDevice;
+PLcom/android/server/display/LogicalDisplay;->hasContentLocked()Z
+HSPLcom/android/server/display/LogicalDisplay;->isValidLocked()Z
+PLcom/android/server/display/LogicalDisplay;->setAllowedDisplayModesLocked([I)V
+PLcom/android/server/display/LogicalDisplay;->setDisplayInfoOverrideFromWindowManagerLocked(Landroid/view/DisplayInfo;)Z
+PLcom/android/server/display/LogicalDisplay;->setHasContentLocked(Z)V
+HSPLcom/android/server/display/LogicalDisplay;->setRequestedColorModeLocked(I)V
HSPLcom/android/server/display/LogicalDisplay;->updateLocked(Ljava/util/List;)V
-HSPLcom/android/server/display/OverlayDisplayAdapter$1;->run()V
-PLcom/android/server/display/OverlayDisplayAdapter;->dumpLocked(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevices()V
-HSPLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevicesLocked()V
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/display/OverlayDisplayAdapter$1$1;-><init>(Lcom/android/server/display/OverlayDisplayAdapter$1;Landroid/os/Handler;)V
+PLcom/android/server/display/OverlayDisplayAdapter$1;-><init>(Lcom/android/server/display/OverlayDisplayAdapter;)V
+PLcom/android/server/display/OverlayDisplayAdapter$1;->run()V
+PLcom/android/server/display/OverlayDisplayAdapter;-><clinit>()V
+PLcom/android/server/display/OverlayDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Landroid/os/Handler;)V
+PLcom/android/server/display/OverlayDisplayAdapter;->access$000(Lcom/android/server/display/OverlayDisplayAdapter;)V
+PLcom/android/server/display/OverlayDisplayAdapter;->registerLocked()V
+PLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevices()V
+PLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevicesLocked()V
+HSPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;-><init>()V
+PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
HSPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)Z
-PLcom/android/server/display/PersistentDataStore$Injector;->finishWrite(Ljava/io/OutputStream;Z)V
+HSPLcom/android/server/display/PersistentDataStore$Injector;-><init>()V
HSPLcom/android/server/display/PersistentDataStore$Injector;->openRead()Ljava/io/InputStream;
-PLcom/android/server/display/PersistentDataStore$Injector;->startWrite()Ljava/io/OutputStream;
-PLcom/android/server/display/PersistentDataStore$StableDeviceValues;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>()V
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>(Lcom/android/server/display/PersistentDataStore$1;)V
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->access$100(Lcom/android/server/display/PersistentDataStore$StableDeviceValues;)Landroid/graphics/Point;
+HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->getDisplaySize()Landroid/graphics/Point;
HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadIntValue(Lorg/xmlpull/v1/XmlPullParser;)I
-PLcom/android/server/display/PersistentDataStore$StableDeviceValues;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/display/PersistentDataStore;-><init>()V
HSPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;)V
-PLcom/android/server/display/PersistentDataStore;->dump(Ljava/io/PrintWriter;)V
+HSPLcom/android/server/display/PersistentDataStore;->clearState()V
+PLcom/android/server/display/PersistentDataStore;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
+HSPLcom/android/server/display/PersistentDataStore;->getColorMode(Lcom/android/server/display/DisplayDevice;)I
+HSPLcom/android/server/display/PersistentDataStore;->getDisplayState(Ljava/lang/String;Z)Lcom/android/server/display/PersistentDataStore$DisplayState;
+HSPLcom/android/server/display/PersistentDataStore;->getStableDisplaySize()Landroid/graphics/Point;
HSPLcom/android/server/display/PersistentDataStore;->load()V
HSPLcom/android/server/display/PersistentDataStore;->loadDisplaysFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/display/PersistentDataStore;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/display/PersistentDataStore;->loadIfNeeded()V
HSPLcom/android/server/display/PersistentDataStore;->loadRememberedWifiDisplaysFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/display/PersistentDataStore;->save()V
-PLcom/android/server/display/PersistentDataStore;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/display/RampAnimator$1;->run()V
-HSPLcom/android/server/display/RampAnimator;->animateTo(II)Z
-PLcom/android/server/display/VirtualDisplayAdapter$Callback;-><init>(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/os/Handler;)V
-PLcom/android/server/display/VirtualDisplayAdapter$Callback;->dispatchDisplayStopped()V
-PLcom/android/server/display/VirtualDisplayAdapter$Callback;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;-><init>(Lcom/android/server/display/VirtualDisplayAdapter;Landroid/os/IBinder;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILcom/android/server/display/VirtualDisplayAdapter$Callback;Ljava/lang/String;I)V
-PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->getDisplayDeviceInfoLocked()Lcom/android/server/display/DisplayDeviceInfo;
-PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->hasStableUniqueId()Z
-PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/display/VirtualDisplayAdapter;->createVirtualDisplayLocked(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;ILjava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)Lcom/android/server/display/DisplayDevice;
-PLcom/android/server/display/VirtualDisplayAdapter;->dumpLocked(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/VirtualDisplayAdapter;->getNextUniqueIndex(Ljava/lang/String;)I
+PLcom/android/server/display/RampAnimator$1;-><init>(Lcom/android/server/display/RampAnimator;)V
+PLcom/android/server/display/RampAnimator$1;->run()V
+PLcom/android/server/display/RampAnimator;-><init>(Ljava/lang/Object;Landroid/util/IntProperty;)V
+PLcom/android/server/display/RampAnimator;->access$000(Lcom/android/server/display/RampAnimator;)Landroid/view/Choreographer;
+PLcom/android/server/display/RampAnimator;->access$100(Lcom/android/server/display/RampAnimator;)J
+PLcom/android/server/display/RampAnimator;->access$1000(Lcom/android/server/display/RampAnimator;)Lcom/android/server/display/RampAnimator$Listener;
+PLcom/android/server/display/RampAnimator;->access$102(Lcom/android/server/display/RampAnimator;J)J
+PLcom/android/server/display/RampAnimator;->access$200(Lcom/android/server/display/RampAnimator;)F
+PLcom/android/server/display/RampAnimator;->access$202(Lcom/android/server/display/RampAnimator;F)F
+PLcom/android/server/display/RampAnimator;->access$300(Lcom/android/server/display/RampAnimator;)I
+PLcom/android/server/display/RampAnimator;->access$400(Lcom/android/server/display/RampAnimator;)I
+PLcom/android/server/display/RampAnimator;->access$500(Lcom/android/server/display/RampAnimator;)I
+PLcom/android/server/display/RampAnimator;->access$502(Lcom/android/server/display/RampAnimator;I)I
+PLcom/android/server/display/RampAnimator;->access$600(Lcom/android/server/display/RampAnimator;)Ljava/lang/Object;
+PLcom/android/server/display/RampAnimator;->access$700(Lcom/android/server/display/RampAnimator;)Landroid/util/IntProperty;
+PLcom/android/server/display/RampAnimator;->access$800(Lcom/android/server/display/RampAnimator;)V
+PLcom/android/server/display/RampAnimator;->access$902(Lcom/android/server/display/RampAnimator;Z)Z
+PLcom/android/server/display/RampAnimator;->animateTo(II)Z
+PLcom/android/server/display/RampAnimator;->isAnimating()Z
+PLcom/android/server/display/RampAnimator;->postAnimationCallback()V
+PLcom/android/server/display/RampAnimator;->setListener(Lcom/android/server/display/RampAnimator$Listener;)V
+HSPLcom/android/server/display/VirtualDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;)V
+HSPLcom/android/server/display/VirtualDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;)V
HSPLcom/android/server/display/VirtualDisplayAdapter;->registerLocked()V
-PLcom/android/server/display/VirtualDisplayAdapter;->releaseVirtualDisplayLocked(Landroid/os/IBinder;)Lcom/android/server/display/DisplayDevice;
-PLcom/android/server/display/VirtualDisplayAdapter;->setVirtualDisplayStateLocked(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/display/color/-$$Lambda$ColorDisplayService$3e7BuPerYILI5JPZm17hU11tDtY;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-PLcom/android/server/display/color/AppSaturationController$SaturationController;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/color/AppSaturationController$SaturationController;->updateState()Z
-HSPLcom/android/server/display/color/AppSaturationController;->addColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
-PLcom/android/server/display/color/AppSaturationController;->computeGrayscaleTransformMatrix(F[F)V
-PLcom/android/server/display/color/AppSaturationController;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/display/color/AppSaturationController;->setSaturationLevel(Ljava/lang/String;II)Z
-HSPLcom/android/server/display/color/ColorDisplayService$2;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/display/color/ColorDisplayService$3;->onAnimationCancel(Landroid/animation/Animator;)V
-HSPLcom/android/server/display/color/ColorDisplayService$3;->onAnimationEnd(Landroid/animation/Animator;)V
-PLcom/android/server/display/color/ColorDisplayService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/display/color/ColorDisplayService$BinderService;->getColorMode()I
-HSPLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoMode()I
-HSPLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoModeRaw()I
-PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayColorTemperature()I
+PLcom/android/server/display/color/-$$Lambda$ColorDisplayService$3e7BuPerYILI5JPZm17hU11tDtY;-><init>(Lcom/android/server/display/color/DisplayTransformManager;Lcom/android/server/display/color/TintController;)V
+PLcom/android/server/display/color/-$$Lambda$ColorDisplayService$3e7BuPerYILI5JPZm17hU11tDtY;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/display/color/AppSaturationController$SaturationController;-><init>()V
+PLcom/android/server/display/color/AppSaturationController$SaturationController;-><init>(Lcom/android/server/display/color/AppSaturationController$1;)V
+PLcom/android/server/display/color/AppSaturationController$SaturationController;->access$000(Lcom/android/server/display/color/AppSaturationController$SaturationController;Ljava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/AppSaturationController$SaturationController;->addColorTransformController(Ljava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/AppSaturationController$SaturationController;->clearExpiredReferences()V
+PLcom/android/server/display/color/AppSaturationController;-><clinit>()V
+PLcom/android/server/display/color/AppSaturationController;-><init>()V
+PLcom/android/server/display/color/AppSaturationController;->addColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/AppSaturationController;->getOrCreateSaturationControllerLocked(Landroid/util/SparseArray;I)Lcom/android/server/display/color/AppSaturationController$SaturationController;
+PLcom/android/server/display/color/AppSaturationController;->getOrCreateUserIdMapLocked(Ljava/lang/String;)Landroid/util/SparseArray;
+PLcom/android/server/display/color/AppSaturationController;->getSaturationControllerLocked(Ljava/lang/String;I)Lcom/android/server/display/color/AppSaturationController$SaturationController;
+PLcom/android/server/display/color/ColorDisplayService$2;-><init>(Lcom/android/server/display/color/ColorDisplayService;Landroid/os/Handler;)V
+PLcom/android/server/display/color/ColorDisplayService$2;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/display/color/ColorDisplayService$3;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/TintController;[FLcom/android/server/display/color/DisplayTransformManager;)V
+PLcom/android/server/display/color/ColorDisplayService$3;->onAnimationCancel(Landroid/animation/Animator;)V
+PLcom/android/server/display/color/ColorDisplayService$3;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/display/color/ColorDisplayService$BinderService;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoMode()I
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoModeRaw()I
PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayCustomEndTime()Landroid/hardware/display/Time;
-HSPLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayCustomStartTime()Landroid/hardware/display/Time;
-PLcom/android/server/display/color/ColorDisplayService$BinderService;->getTransformCapabilities()I
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayCustomStartTime()Landroid/hardware/display/Time;
PLcom/android/server/display/color/ColorDisplayService$BinderService;->isDeviceColorManaged()Z
-HSPLcom/android/server/display/color/ColorDisplayService$BinderService;->isNightDisplayActivated()Z
-PLcom/android/server/display/color/ColorDisplayService$BinderService;->isSaturationActivated()Z
-PLcom/android/server/display/color/ColorDisplayService$BinderService;->setAppSaturationLevel(Ljava/lang/String;I)Z
-HSPLcom/android/server/display/color/ColorDisplayService$BinderService;->setSaturationLevel(I)Z
-HSPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->attachColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
-HSPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/color/ColorDisplayService$1;)V
-HSPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
-HSPLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onActivated(Z)V
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->isNightDisplayActivated()Z
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->setSaturationLevel(I)Z
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->attachColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->isDisplayWhiteBalanceEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->setDisplayWhiteBalanceListener(Lcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceListener;)Z
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>()V
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/color/ColorDisplayService$1;)V
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode$1;-><init>(Lcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onActivated(Z)V
PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onAlarm()V
-HSPLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onStart()V
-HSPLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateActivated()V
-HSPLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->clampNightDisplayColorTemperature(I)I
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getColorTemperatureSetting()I
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getLevel()I
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getMatrix()[F
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->isActivatedSetting()Z
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->onActivated(Z)V
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setActivated(Ljava/lang/Boolean;)V
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setMatrix(I)V
-HSPLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setUp(Landroid/content/Context;Z)V
-HSPLcom/android/server/display/color/ColorDisplayService$TintHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/display/color/ColorDisplayService$TwilightNightDisplayAutoMode;->onActivated(Z)V
-HSPLcom/android/server/display/color/ColorDisplayService$TwilightNightDisplayAutoMode;->onStart()V
-PLcom/android/server/display/color/ColorDisplayService$TwilightNightDisplayAutoMode;->onTwilightStateChanged(Lcom/android/server/twilight/TwilightState;)V
-HSPLcom/android/server/display/color/ColorDisplayService$TwilightNightDisplayAutoMode;->updateActivated(Lcom/android/server/twilight/TwilightState;)V
-HSPLcom/android/server/display/color/ColorDisplayService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/display/color/ColorDisplayService;->applyTint(Lcom/android/server/display/color/TintController;Z)V
-PLcom/android/server/display/color/ColorDisplayService;->dumpInternal(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/display/color/ColorDisplayService;->getColorModeInternal()I
-HSPLcom/android/server/display/color/ColorDisplayService;->getCurrentColorModeFromSystemProperties()I
-HSPLcom/android/server/display/color/ColorDisplayService;->getDateTimeAfter(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
-HSPLcom/android/server/display/color/ColorDisplayService;->getDateTimeBefore(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
-HSPLcom/android/server/display/color/ColorDisplayService;->getNightDisplayAutoModeInternal()I
-HSPLcom/android/server/display/color/ColorDisplayService;->getNightDisplayCustomEndTimeInternal()Landroid/hardware/display/Time;
-HSPLcom/android/server/display/color/ColorDisplayService;->getNightDisplayCustomStartTimeInternal()Landroid/hardware/display/Time;
-HSPLcom/android/server/display/color/ColorDisplayService;->getNightDisplayLastActivatedTimeSetting()Ljava/time/LocalDateTime;
-PLcom/android/server/display/color/ColorDisplayService;->getTransformCapabilitiesInternal()I
-HSPLcom/android/server/display/color/ColorDisplayService;->onAccessibilityDaltonizerChanged()V
-HSPLcom/android/server/display/color/ColorDisplayService;->onAccessibilityInversionChanged()V
-HSPLcom/android/server/display/color/ColorDisplayService;->onBootPhase(I)V
-HSPLcom/android/server/display/color/ColorDisplayService;->onDisplayColorModeChanged(I)V
-HSPLcom/android/server/display/color/ColorDisplayService;->onNightDisplayAutoModeChanged(I)V
-HSPLcom/android/server/display/color/ColorDisplayService;->onStart()V
-HSPLcom/android/server/display/color/ColorDisplayService;->onStartUser(I)V
-HSPLcom/android/server/display/color/ColorDisplayService;->onUserChanged(I)V
-HSPLcom/android/server/display/color/ColorDisplayService;->setUp()V
-HSPLcom/android/server/display/color/ColorDisplayService;->updateDisplayWhiteBalanceStatus()V
-HSPLcom/android/server/display/color/DisplayTransformManager;-><init>()V
-HSPLcom/android/server/display/color/DisplayTransformManager;->applyColorMatrix([F)V
-HSPLcom/android/server/display/color/DisplayTransformManager;->applySaturation(F)V
-HSPLcom/android/server/display/color/DisplayTransformManager;->computeColorMatrixLocked()[F
-HSPLcom/android/server/display/color/DisplayTransformManager;->getColorMatrix(I)[F
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onStart()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateActivated()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayAutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayAutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$1;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$1;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->clampNightDisplayColorTemperature(I)I
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getColorTemperatureSetting()I
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getLevel()I
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getMatrix()[F
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->isActivatedSetting()Z
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->isAvailable(Landroid/content/Context;)Z
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->onActivated(Z)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setActivated(Ljava/lang/Boolean;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setActivated(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setMatrix(I)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setUp(Landroid/content/Context;Z)V
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;-><init>(Lcom/android/server/display/color/ColorDisplayService;Landroid/os/Looper;)V
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;-><init>(Lcom/android/server/display/color/ColorDisplayService;Landroid/os/Looper;Lcom/android/server/display/color/ColorDisplayService$1;)V
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/color/ColorDisplayService$TintValueAnimator;-><init>()V
+PLcom/android/server/display/color/ColorDisplayService$TintValueAnimator;->getMax()[F
+PLcom/android/server/display/color/ColorDisplayService$TintValueAnimator;->getMin()[F
+PLcom/android/server/display/color/ColorDisplayService$TintValueAnimator;->ofMatrix(Lcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;[Ljava/lang/Object;)Lcom/android/server/display/color/ColorDisplayService$TintValueAnimator;
+HPLcom/android/server/display/color/ColorDisplayService$TintValueAnimator;->updateMinMaxComponents()V
+PLcom/android/server/display/color/ColorDisplayService;-><clinit>()V
+PLcom/android/server/display/color/ColorDisplayService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/display/color/ColorDisplayService;->access$1100(Lcom/android/server/display/color/ColorDisplayService;)Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService;->access$1300(Lcom/android/server/display/color/ColorDisplayService;)Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService;->access$2200(Lcom/android/server/display/color/ColorDisplayService;)Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->access$2400(Lcom/android/server/display/color/ColorDisplayService;)Landroid/os/Handler;
+PLcom/android/server/display/color/ColorDisplayService;->access$2500(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/ColorDisplayService$NightDisplayAutoMode;
+PLcom/android/server/display/color/ColorDisplayService;->access$2602(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceListener;)Lcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceListener;
+PLcom/android/server/display/color/ColorDisplayService;->access$2700(Lcom/android/server/display/color/ColorDisplayService;)Z
+PLcom/android/server/display/color/ColorDisplayService;->access$2800(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/AppSaturationController;
+PLcom/android/server/display/color/ColorDisplayService;->access$2900(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/TintController;
+PLcom/android/server/display/color/ColorDisplayService;->access$300(Lcom/android/server/display/color/ColorDisplayService;)I
+PLcom/android/server/display/color/ColorDisplayService;->access$3000(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/TintController;Z)V
+PLcom/android/server/display/color/ColorDisplayService;->access$700(Lcom/android/server/display/color/ColorDisplayService;)V
+PLcom/android/server/display/color/ColorDisplayService;->access$800(Lcom/android/server/display/color/ColorDisplayService;)Lcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;
+PLcom/android/server/display/color/ColorDisplayService;->access$900(Lcom/android/server/display/color/ColorDisplayService;)I
+PLcom/android/server/display/color/ColorDisplayService;->applyTint(Lcom/android/server/display/color/TintController;Z)V
+PLcom/android/server/display/color/ColorDisplayService;->getColorModeInternal()I
+PLcom/android/server/display/color/ColorDisplayService;->getCompositionColorSpace(I)I
+PLcom/android/server/display/color/ColorDisplayService;->getCurrentColorModeFromSystemProperties()I
+PLcom/android/server/display/color/ColorDisplayService;->getDateTimeAfter(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->getDateTimeBefore(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayAutoModeInternal()I
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayAutoModeRawInternal()I
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayCustomEndTimeInternal()Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayCustomStartTimeInternal()Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayLastActivatedTimeSetting()Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->isAccessibilityEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isAccessiblityDaltonizerEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isAccessiblityInversionEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isColorModeAvailable(I)Z
+PLcom/android/server/display/color/ColorDisplayService;->isDisplayWhiteBalanceSettingEnabled()Z
+PLcom/android/server/display/color/ColorDisplayService;->isUserSetupCompleted(Landroid/content/ContentResolver;I)Z
+PLcom/android/server/display/color/ColorDisplayService;->lambda$applyTint$0(Lcom/android/server/display/color/DisplayTransformManager;Lcom/android/server/display/color/TintController;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/display/color/ColorDisplayService;->onAccessibilityDaltonizerChanged()V
+PLcom/android/server/display/color/ColorDisplayService;->onAccessibilityInversionChanged()V
+PLcom/android/server/display/color/ColorDisplayService;->onBootPhase(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onDisplayColorModeChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onNightDisplayAutoModeChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onStart()V
+PLcom/android/server/display/color/ColorDisplayService;->onStartUser(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onUserChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->setUp()V
+PLcom/android/server/display/color/ColorDisplayService;->setUpDisplayCompositionColorSpaces(Landroid/content/res/Resources;)V
+PLcom/android/server/display/color/DisplayTransformManager;-><clinit>()V
+PLcom/android/server/display/color/DisplayTransformManager;-><init>()V
+PLcom/android/server/display/color/DisplayTransformManager;->applyColorMatrix([F)V
+PLcom/android/server/display/color/DisplayTransformManager;->applySaturation(F)V
+PLcom/android/server/display/color/DisplayTransformManager;->computeColorMatrixLocked()[F
+PLcom/android/server/display/color/DisplayTransformManager;->getColorMatrix(I)[F
PLcom/android/server/display/color/DisplayTransformManager;->isDeviceColorManaged()Z
-HSPLcom/android/server/display/color/DisplayTransformManager;->setColorMatrix(I[F)V
-HSPLcom/android/server/display/color/DisplayTransformManager;->setColorMode(I[F)Z
-HSPLcom/android/server/display/color/DisplayTransformManager;->setDaltonizerMode(I)V
-HSPLcom/android/server/display/color/DisplayTransformManager;->setDisplayColor(I)V
-HSPLcom/android/server/display/color/DisplayTransformManager;->updateConfiguration()V
-HSPLcom/android/server/display/color/DisplayWhiteBalanceTintController;->getLevel()I
-HSPLcom/android/server/display/color/DisplayWhiteBalanceTintController;->getMatrix()[F
-HSPLcom/android/server/display/color/GlobalSaturationTintController;->getLevel()I
-HSPLcom/android/server/display/color/GlobalSaturationTintController;->getMatrix()[F
-PLcom/android/server/display/color/GlobalSaturationTintController;->isAvailable(Landroid/content/Context;)Z
-HSPLcom/android/server/display/color/GlobalSaturationTintController;->setMatrix(I)V
-HSPLcom/android/server/display/color/TintController;->cancelAnimator()V
-HSPLcom/android/server/display/color/TintController;->getAnimator()Landroid/animation/ValueAnimator;
+PLcom/android/server/display/color/DisplayTransformManager;->needsLinearColorMatrix()Z
+PLcom/android/server/display/color/DisplayTransformManager;->needsLinearColorMatrix(I)Z
+PLcom/android/server/display/color/DisplayTransformManager;->setColorMatrix(I[F)V
+PLcom/android/server/display/color/DisplayTransformManager;->setColorMode(I[FI)Z
+PLcom/android/server/display/color/DisplayTransformManager;->setDaltonizerMode(I)V
+PLcom/android/server/display/color/DisplayTransformManager;->setDisplayColor(II)V
+PLcom/android/server/display/color/DisplayTransformManager;->updateConfiguration()V
+PLcom/android/server/display/color/DisplayWhiteBalanceTintController;-><init>()V
+PLcom/android/server/display/color/DisplayWhiteBalanceTintController;->isAvailable(Landroid/content/Context;)Z
+PLcom/android/server/display/color/GlobalSaturationTintController;-><init>()V
+PLcom/android/server/display/color/GlobalSaturationTintController;->getLevel()I
+PLcom/android/server/display/color/GlobalSaturationTintController;->getMatrix()[F
+PLcom/android/server/display/color/GlobalSaturationTintController;->setMatrix(I)V
+PLcom/android/server/display/color/TintController;-><init>()V
+PLcom/android/server/display/color/TintController;->cancelAnimator()V
PLcom/android/server/display/color/TintController;->isActivated()Z
PLcom/android/server/display/color/TintController;->isActivatedStateNotSet()Z
-HSPLcom/android/server/display/color/TintController;->setAnimator(Landroid/animation/ValueAnimator;)V
-HSPLcom/android/server/display/utils/Plog;->createSystemPlog(Ljava/lang/String;)Lcom/android/server/display/utils/Plog;
-HSPLcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;Ljava/lang/String;I)V
-HSPLcom/android/server/display/whitebalance/AmbientSensor;-><init>(Ljava/lang/String;Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
-HSPLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->create(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;
-HSPLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->createBrightnessFilter(Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/AmbientFilter;
-HSPLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+HPLcom/android/server/display/color/TintController;->matrixToString([FI)Ljava/lang/String;
+PLcom/android/server/display/color/TintController;->setActivated(Ljava/lang/Boolean;)V
+PLcom/android/server/display/color/TintController;->setAnimator(Lcom/android/server/display/color/ColorDisplayService$TintValueAnimator;)V
+PLcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;-><init>(Ljava/lang/String;IF)V
+PLcom/android/server/display/utils/AmbientFilter$WeightedMovingAverageAmbientFilter;->validateArguments(F)V
+PLcom/android/server/display/utils/AmbientFilter;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/display/utils/AmbientFilter;->validateArguments(I)V
+PLcom/android/server/display/utils/AmbientFilterFactory;->createAmbientFilter(Ljava/lang/String;IF)Lcom/android/server/display/utils/AmbientFilter;
+PLcom/android/server/display/utils/AmbientFilterFactory;->createBrightnessFilter(Ljava/lang/String;Landroid/content/res/Resources;)Lcom/android/server/display/utils/AmbientFilter;
+PLcom/android/server/display/utils/AmbientFilterFactory;->getFloat(Landroid/content/res/Resources;I)F
+PLcom/android/server/display/utils/History;-><init>(I)V
+PLcom/android/server/display/utils/History;-><init>(ILjava/time/Clock;)V
+PLcom/android/server/display/utils/Plog$SystemPlog;-><init>(Ljava/lang/String;)V
+PLcom/android/server/display/utils/Plog;-><init>()V
+PLcom/android/server/display/utils/Plog;->createSystemPlog(Ljava/lang/String;)Lcom/android/server/display/utils/Plog;
+PLcom/android/server/display/utils/RollingBuffer;-><init>()V
+PLcom/android/server/display/utils/RollingBuffer;->clear()V
+PLcom/android/server/display/whitebalance/AmbientSensor$1;-><init>(Lcom/android/server/display/whitebalance/AmbientSensor;)V
+PLcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+PLcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;Ljava/lang/String;I)V
+PLcom/android/server/display/whitebalance/AmbientSensor;-><init>(Ljava/lang/String;Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+PLcom/android/server/display/whitebalance/AmbientSensor;->validateArguments(Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->create(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->createBrightnessSensor(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor;
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->createColorTemperatureSensor(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings$DisplayWhiteBalanceSettingsHandler;-><init>(Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;Landroid/os/Looper;)V
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;->setActive(Z)V
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;->setEnabled(Z)V
+PLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;->validateArguments(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
PLcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;->run()V
+PLcom/android/server/dreams/-$$Lambda$gXC4nM2f5GMCBX0ED45DCQQjqv0;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;)V
PLcom/android/server/dreams/-$$Lambda$gXC4nM2f5GMCBX0ED45DCQQjqv0;->run()V
+PLcom/android/server/dreams/DreamController$1;-><init>(Lcom/android/server/dreams/DreamController;)V
PLcom/android/server/dreams/DreamController$1;->run()V
+PLcom/android/server/dreams/DreamController$2;-><init>(Lcom/android/server/dreams/DreamController;)V
+PLcom/android/server/dreams/DreamController$3;-><init>(Lcom/android/server/dreams/DreamController;Lcom/android/server/dreams/DreamController$DreamRecord;)V
PLcom/android/server/dreams/DreamController$3;->run()V
-PLcom/android/server/dreams/DreamController$DreamRecord$1;->run()V
+PLcom/android/server/dreams/DreamController$DreamRecord$2;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;Landroid/os/IBinder;)V
PLcom/android/server/dreams/DreamController$DreamRecord$2;->run()V
-PLcom/android/server/dreams/DreamController$DreamRecord$3;->run()V
+PLcom/android/server/dreams/DreamController$DreamRecord$4;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;)V
PLcom/android/server/dreams/DreamController$DreamRecord$4;->sendResult(Landroid/os/Bundle;)V
PLcom/android/server/dreams/DreamController$DreamRecord;-><init>(Lcom/android/server/dreams/DreamController;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
-PLcom/android/server/dreams/DreamController$DreamRecord;->binderDied()V
PLcom/android/server/dreams/DreamController$DreamRecord;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/dreams/DreamController$DreamRecord;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/dreams/DreamController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/dreams/DreamController$Listener;)V
+PLcom/android/server/dreams/DreamController$DreamRecord;->releaseWakeLockIfNeeded()V
+PLcom/android/server/dreams/DreamController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/dreams/DreamController$Listener;)V
+PLcom/android/server/dreams/DreamController;->access$000(Lcom/android/server/dreams/DreamController;)Lcom/android/server/dreams/DreamController$DreamRecord;
+PLcom/android/server/dreams/DreamController;->access$200(Lcom/android/server/dreams/DreamController;)Landroid/os/Handler;
+PLcom/android/server/dreams/DreamController;->access$300(Lcom/android/server/dreams/DreamController;Landroid/service/dreams/IDreamService;)V
PLcom/android/server/dreams/DreamController;->attach(Landroid/service/dreams/IDreamService;)V
-PLcom/android/server/dreams/DreamController;->dump(Ljava/io/PrintWriter;)V
PLcom/android/server/dreams/DreamController;->startDream(Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
PLcom/android/server/dreams/DreamController;->stopDream(Z)V
-HSPLcom/android/server/dreams/DreamManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/dreams/DreamManagerService$2;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/dreams/DreamManagerService$1;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/dreams/DreamManagerService$3;-><init>(Lcom/android/server/dreams/DreamManagerService;Z)V
PLcom/android/server/dreams/DreamManagerService$3;->run()V
+PLcom/android/server/dreams/DreamManagerService$4;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
PLcom/android/server/dreams/DreamManagerService$4;->onDreamStopped(Landroid/os/Binder;)V
+PLcom/android/server/dreams/DreamManagerService$5;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Handler;)V
+PLcom/android/server/dreams/DreamManagerService$5;->onChange(Z)V
+PLcom/android/server/dreams/DreamManagerService$6;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+HPLcom/android/server/dreams/DreamManagerService$6;->run()V
+PLcom/android/server/dreams/DreamManagerService$BinderService;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$BinderService;-><init>(Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService$1;)V
PLcom/android/server/dreams/DreamManagerService$BinderService;->awaken()V
-PLcom/android/server/dreams/DreamManagerService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
PLcom/android/server/dreams/DreamManagerService$BinderService;->finishSelf(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/dreams/DreamManagerService$BinderService;->forceAmbientDisplayEnabled(Z)V
+PLcom/android/server/dreams/DreamManagerService$BinderService;->forceAmbientDisplayEnabled(Z)V
PLcom/android/server/dreams/DreamManagerService$BinderService;->getDefaultDreamComponent()Landroid/content/ComponentName;
PLcom/android/server/dreams/DreamManagerService$BinderService;->getDreamComponents()[Landroid/content/ComponentName;
PLcom/android/server/dreams/DreamManagerService$BinderService;->isDreaming()Z
PLcom/android/server/dreams/DreamManagerService$BinderService;->startDozing(Landroid/os/IBinder;II)V
-HSPLcom/android/server/dreams/DreamManagerService$LocalService;->isDreaming()Z
+PLcom/android/server/dreams/DreamManagerService$DreamHandler;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Looper;)V
+PLcom/android/server/dreams/DreamManagerService$LocalService;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService$LocalService;-><init>(Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService$1;)V
+HPLcom/android/server/dreams/DreamManagerService$LocalService;->isDreaming()Z
PLcom/android/server/dreams/DreamManagerService$LocalService;->startDream(Z)V
PLcom/android/server/dreams/DreamManagerService$LocalService;->stopDream(Z)V
-HSPLcom/android/server/dreams/DreamManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/dreams/DreamManagerService;->checkPermission(Ljava/lang/String;)V
-PLcom/android/server/dreams/DreamManagerService;->dumpInternal(Ljava/io/PrintWriter;)V
+PLcom/android/server/dreams/DreamManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/dreams/DreamManagerService;->access$1000(Lcom/android/server/dreams/DreamManagerService;Ljava/lang/String;)V
+PLcom/android/server/dreams/DreamManagerService;->access$1400(Lcom/android/server/dreams/DreamManagerService;)Z
+PLcom/android/server/dreams/DreamManagerService;->access$1900(Lcom/android/server/dreams/DreamManagerService;Landroid/os/IBinder;II)V
+PLcom/android/server/dreams/DreamManagerService;->access$200(Lcom/android/server/dreams/DreamManagerService;)V
+PLcom/android/server/dreams/DreamManagerService;->access$2200(Lcom/android/server/dreams/DreamManagerService;Z)V
+PLcom/android/server/dreams/DreamManagerService;->access$2300(Lcom/android/server/dreams/DreamManagerService;Z)V
+PLcom/android/server/dreams/DreamManagerService;->access$2400(Lcom/android/server/dreams/DreamManagerService;)Landroid/content/ComponentName;
+PLcom/android/server/dreams/DreamManagerService;->access$2500(Lcom/android/server/dreams/DreamManagerService;)Z
+PLcom/android/server/dreams/DreamManagerService;->access$2600(Lcom/android/server/dreams/DreamManagerService;)Landroid/content/ComponentName;
+PLcom/android/server/dreams/DreamManagerService;->access$300(Lcom/android/server/dreams/DreamManagerService;)Ljava/lang/Object;
+PLcom/android/server/dreams/DreamManagerService;->access$400(Lcom/android/server/dreams/DreamManagerService;Z)V
+PLcom/android/server/dreams/DreamManagerService;->checkPermission(Ljava/lang/String;)V
+PLcom/android/server/dreams/DreamManagerService;->chooseDreamForUser(ZI)Landroid/content/ComponentName;
PLcom/android/server/dreams/DreamManagerService;->finishSelfInternal(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/dreams/DreamManagerService;->forceAmbientDisplayEnabledInternal(Z)V
+PLcom/android/server/dreams/DreamManagerService;->forceAmbientDisplayEnabledInternal(Z)V
+HPLcom/android/server/dreams/DreamManagerService;->getDozeComponent()Landroid/content/ComponentName;
+HPLcom/android/server/dreams/DreamManagerService;->getDozeComponent(I)Landroid/content/ComponentName;
PLcom/android/server/dreams/DreamManagerService;->getDreamComponentsForUser(I)[Landroid/content/ComponentName;
-HSPLcom/android/server/dreams/DreamManagerService;->getServiceInfo(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
-HSPLcom/android/server/dreams/DreamManagerService;->isDreamingInternal()Z
-HSPLcom/android/server/dreams/DreamManagerService;->onBootPhase(I)V
-HSPLcom/android/server/dreams/DreamManagerService;->onStart()V
+PLcom/android/server/dreams/DreamManagerService;->getServiceInfo(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+HPLcom/android/server/dreams/DreamManagerService;->isDreamingInternal()Z
+PLcom/android/server/dreams/DreamManagerService;->lambda$startDreamLocked$0$DreamManagerService(Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
+PLcom/android/server/dreams/DreamManagerService;->onBootPhase(I)V
+PLcom/android/server/dreams/DreamManagerService;->onStart()V
PLcom/android/server/dreams/DreamManagerService;->startDozingInternal(Landroid/os/IBinder;II)V
PLcom/android/server/dreams/DreamManagerService;->startDreamInternal(Z)V
PLcom/android/server/dreams/DreamManagerService;->startDreamLocked(Landroid/content/ComponentName;ZZI)V
PLcom/android/server/dreams/DreamManagerService;->stopDreamInternal(Z)V
-HSPLcom/android/server/dreams/DreamManagerService;->stopDreamLocked(Z)V
-HSPLcom/android/server/dreams/DreamManagerService;->validateDream(Landroid/content/ComponentName;)Z
-HSPLcom/android/server/emergency/EmergencyAffordanceService$1;->onCellInfoChanged(Ljava/util/List;)V
-HSPLcom/android/server/emergency/EmergencyAffordanceService$1;->onCellLocationChanged(Landroid/telephony/CellLocation;)V
-PLcom/android/server/emergency/EmergencyAffordanceService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/emergency/EmergencyAffordanceService$3;->onSubscriptionsChanged()V
-HSPLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateCellInfo()Z
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateSimSubscriptionInfo()Z
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->isEmergencyAffordanceNeeded()Z
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->onBootPhase(I)V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->onCellScanFinishedUnsuccessful()V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->onStart()V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->setNetworkNeedsEmergencyAffordance(Z)V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->stopScanning()V
-HSPLcom/android/server/emergency/EmergencyAffordanceService;->updateEmergencyAffordanceNeeded()V
+PLcom/android/server/dreams/DreamManagerService;->stopDreamLocked(Z)V
+PLcom/android/server/dreams/DreamManagerService;->validateDream(Landroid/content/ComponentName;)Z
+PLcom/android/server/dreams/DreamManagerService;->writePulseGestureEnabled()V
+PLcom/android/server/emergency/EmergencyAffordanceService$1;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$2;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$3;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$3;->onSubscriptionsChanged()V
+PLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;Landroid/os/Looper;)V
+PLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/emergency/EmergencyAffordanceService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->access$300(Lcom/android/server/emergency/EmergencyAffordanceService;)Lcom/android/server/emergency/EmergencyAffordanceService$MyHandler;
+PLcom/android/server/emergency/EmergencyAffordanceService;->access$400(Lcom/android/server/emergency/EmergencyAffordanceService;)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->access$600(Lcom/android/server/emergency/EmergencyAffordanceService;)Z
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleInitializeState()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateCellInfo()Z
+PLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateSimSubscriptionInfo()Z
+PLcom/android/server/emergency/EmergencyAffordanceService;->onBootPhase(I)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->onStart()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->setSimNeedsEmergencyAffordance(Z)V
+PLcom/android/server/emergency/EmergencyAffordanceService;->simNeededAffordanceBefore()Z
+PLcom/android/server/emergency/EmergencyAffordanceService;->startScanning()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->updateEmergencyAffordanceNeeded()V
HSPLcom/android/server/firewall/AndFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/AndFilter;-><clinit>()V
HSPLcom/android/server/firewall/CategoryFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/CategoryFilter;-><clinit>()V
+HSPLcom/android/server/firewall/FilterFactory;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/FilterFactory;->getTagName()Ljava/lang/String;
-HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
-HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->queryByComponent(Landroid/content/ComponentName;Ljava/util/List;)V
-HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->sortResults(Ljava/util/List;)V
-HSPLcom/android/server/firewall/IntentFirewall$Rule;->getComponentFilterCount()I
-HSPLcom/android/server/firewall/IntentFirewall$Rule;->getIntentFilter(I)Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
-HSPLcom/android/server/firewall/IntentFirewall$Rule;->getIntentFilterCount()I
-HSPLcom/android/server/firewall/IntentFirewall$Rule;->readChild(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/firewall/IntentFirewall$FirewallHandler;-><init>(Lcom/android/server/firewall/IntentFirewall;Landroid/os/Looper;)V
+HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>()V
+HSPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>(Lcom/android/server/firewall/IntentFirewall$1;)V
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->queryByComponent(Landroid/content/ComponentName;Ljava/util/List;)V
+HPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/firewall/IntentFirewall$RuleObserver;-><init>(Lcom/android/server/firewall/IntentFirewall;Ljava/io/File;)V
+HSPLcom/android/server/firewall/IntentFirewall;-><clinit>()V
HSPLcom/android/server/firewall/IntentFirewall;-><init>(Lcom/android/server/firewall/IntentFirewall$AMSInterface;Landroid/os/Handler;)V
-HSPLcom/android/server/firewall/IntentFirewall;->checkBroadcast(Landroid/content/Intent;IILjava/lang/String;I)Z
-HSPLcom/android/server/firewall/IntentFirewall;->checkIntent(Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;Landroid/content/ComponentName;ILandroid/content/Intent;IILjava/lang/String;I)Z
-HSPLcom/android/server/firewall/IntentFirewall;->checkService(Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
-HSPLcom/android/server/firewall/IntentFirewall;->checkStartActivity(Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
-HSPLcom/android/server/firewall/IntentFirewall;->parseFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
-HSPLcom/android/server/firewall/IntentFirewall;->readRules(Ljava/io/File;[Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;)V
+HPLcom/android/server/firewall/IntentFirewall;->checkBroadcast(Landroid/content/Intent;IILjava/lang/String;I)Z
+HPLcom/android/server/firewall/IntentFirewall;->checkIntent(Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;Landroid/content/ComponentName;ILandroid/content/Intent;IILjava/lang/String;I)Z
+HPLcom/android/server/firewall/IntentFirewall;->checkService(Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/firewall/IntentFirewall;->checkStartActivity(Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+HSPLcom/android/server/firewall/IntentFirewall;->getRulesDir()Ljava/io/File;
HSPLcom/android/server/firewall/IntentFirewall;->readRulesDir(Ljava/io/File;)V
HSPLcom/android/server/firewall/NotFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/NotFilter;-><clinit>()V
HSPLcom/android/server/firewall/OrFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/OrFilter;-><clinit>()V
HSPLcom/android/server/firewall/PortFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/PortFilter;-><clinit>()V
HSPLcom/android/server/firewall/SenderFilter$1;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/SenderFilter$2;-><init>()V
HSPLcom/android/server/firewall/SenderFilter$3;-><init>()V
HSPLcom/android/server/firewall/SenderFilter$4;-><init>()V
HSPLcom/android/server/firewall/SenderFilter$5;-><init>()V
+HSPLcom/android/server/firewall/SenderFilter;-><clinit>()V
HSPLcom/android/server/firewall/SenderPackageFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/SenderPackageFilter;-><clinit>()V
HSPLcom/android/server/firewall/SenderPermissionFilter$1;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/SenderPermissionFilter;-><clinit>()V
HSPLcom/android/server/firewall/StringFilter$10;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/StringFilter$1;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/StringFilter$2;-><init>(Ljava/lang/String;)V
@@ -7092,3168 +8192,3360 @@ HSPLcom/android/server/firewall/StringFilter$6;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/StringFilter$7;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/StringFilter$8;-><init>(Ljava/lang/String;)V
HSPLcom/android/server/firewall/StringFilter$9;-><init>(Ljava/lang/String;)V
-HSPLcom/android/server/firewall/StringFilter$ValueProvider;->newFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
-HSPLcom/android/server/firewall/StringFilter;->getFilter(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/firewall/StringFilter;
-HSPLcom/android/server/firewall/StringFilter;->readFromXml(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/StringFilter;
-HSPLcom/android/server/gpu/GpuService$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/gpu/GpuService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/gpu/GpuService;->assetToSettingsGlobal(Landroid/content/Context;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/gpu/GpuService;->fetchGameDriverPackageProperties()V
-HSPLcom/android/server/gpu/GpuService;->onBootPhase(I)V
-HSPLcom/android/server/gpu/GpuService;->onStart()V
-HSPLcom/android/server/gpu/GpuService;->processBlacklists()V
-HSPLcom/android/server/gpu/GpuService;->setBlacklist()V
-PLcom/android/server/incident/IncidentCompanionService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/incident/IncidentCompanionService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/incident/IncidentCompanionService;->onBootPhase(I)V
-HSPLcom/android/server/incident/IncidentCompanionService;->onStart()V
-HSPLcom/android/server/incident/PendingReports;-><init>(Landroid/content/Context;)V
-PLcom/android/server/incident/PendingReports;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/incident/PendingReports;->onBootCompleted()V
-HSPLcom/android/server/incident/RequestQueue;->start()V
+HSPLcom/android/server/firewall/StringFilter$ValueProvider;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/firewall/StringFilter;-><clinit>()V
+PLcom/android/server/gpu/GpuService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/gpu/GpuService;->onBootPhase(I)V
+PLcom/android/server/gpu/GpuService;->onStart()V
+PLcom/android/server/incident/IncidentCompanionService$BinderService;-><init>(Lcom/android/server/incident/IncidentCompanionService;)V
+PLcom/android/server/incident/IncidentCompanionService$BinderService;-><init>(Lcom/android/server/incident/IncidentCompanionService;Lcom/android/server/incident/IncidentCompanionService$1;)V
+PLcom/android/server/incident/IncidentCompanionService;-><clinit>()V
+PLcom/android/server/incident/IncidentCompanionService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/incident/IncidentCompanionService;->onBootPhase(I)V
+PLcom/android/server/incident/IncidentCompanionService;->onStart()V
+PLcom/android/server/incident/PendingReports;-><init>(Landroid/content/Context;)V
+PLcom/android/server/incident/PendingReports;->onBootCompleted()V
+PLcom/android/server/incident/RequestQueue$1;-><init>(Lcom/android/server/incident/RequestQueue;)V
+PLcom/android/server/incident/RequestQueue;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/incident/RequestQueue;->start()V
+HPLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$1$TLhe3_2yHs5UB69Y7lf2s7OxJCo;-><init>(Ljava/lang/String;)V
PLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$1$TLhe3_2yHs5UB69Y7lf2s7OxJCo;->visit(Ljava/lang/Object;)V
-HSPLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$_fKw-VUP0pSfcMMlgRqoT4OPhxw;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$_fKw-VUP0pSfcMMlgRqoT4OPhxw;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Ljava/lang/String;)V
+PLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$_fKw-VUP0pSfcMMlgRqoT4OPhxw;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$su3lJpEVIbL-C7doP4eboTpqjxU;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;)V
+PLcom/android/server/infra/AbstractMasterSystemService$1;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;)V
PLcom/android/server/infra/AbstractMasterSystemService$1;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
-HSPLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageRemoved(Ljava/lang/String;I)V
+PLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageDataCleared(Ljava/lang/String;I)V
PLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageUpdateFinished(Ljava/lang/String;I)V
PLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageUpdateStarted(Ljava/lang/String;I)V
-HSPLcom/android/server/infra/AbstractMasterSystemService$SettingsObserver;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Landroid/os/Handler;)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;-><init>(Landroid/content/Context;Lcom/android/server/infra/ServiceNameResolver;Ljava/lang/String;Z)V
-PLcom/android/server/infra/AbstractMasterSystemService;->dumpLocked(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->getServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
-HSPLcom/android/server/infra/AbstractMasterSystemService;->getServiceSettingsProperty()Ljava/lang/String;
-HSPLcom/android/server/infra/AbstractMasterSystemService;->isBindInstantServiceAllowed()Z
-HSPLcom/android/server/infra/AbstractMasterSystemService;->isDisabledLocked(I)Z
-HSPLcom/android/server/infra/AbstractMasterSystemService;->lambda$new$1$AbstractMasterSystemService(Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->onBootPhase(I)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
-PLcom/android/server/infra/AbstractMasterSystemService;->onServicePackageUpdatedLocked(I)V
-PLcom/android/server/infra/AbstractMasterSystemService;->onServicePackageUpdatingLocked(I)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->onUnlockUser(I)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->peekServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
-HSPLcom/android/server/infra/AbstractMasterSystemService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceLocked(I)V
-HSPLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/infra/AbstractMasterSystemService$SettingsObserver;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Landroid/os/Handler;)V
+PLcom/android/server/infra/AbstractMasterSystemService;-><init>(Landroid/content/Context;Lcom/android/server/infra/ServiceNameResolver;Ljava/lang/String;)V
+PLcom/android/server/infra/AbstractMasterSystemService;-><init>(Landroid/content/Context;Lcom/android/server/infra/ServiceNameResolver;Ljava/lang/String;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->getServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/infra/AbstractMasterSystemService;->getServiceSettingsProperty()Ljava/lang/String;
+PLcom/android/server/infra/AbstractMasterSystemService;->getSupportedUsers()Ljava/util/List;
+PLcom/android/server/infra/AbstractMasterSystemService;->getUserManagerInternal()Landroid/os/UserManagerInternal;
+PLcom/android/server/infra/AbstractMasterSystemService;->isBindInstantServiceAllowed()Z
+PLcom/android/server/infra/AbstractMasterSystemService;->isDisabledLocked(I)Z
+PLcom/android/server/infra/AbstractMasterSystemService;->lambda$new$1$AbstractMasterSystemService(Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onBootPhase(I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onUnlockUser(I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->peekServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/infra/AbstractMasterSystemService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+PLcom/android/server/infra/AbstractMasterSystemService;->removeCachedServiceLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/infra/AbstractMasterSystemService;->startTrackingPackageChanges()V
+PLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
PLcom/android/server/infra/AbstractMasterSystemService;->visitServicesLocked(Lcom/android/server/infra/AbstractMasterSystemService$Visitor;)V
-PLcom/android/server/infra/AbstractPerUserSystemService;->dumpLocked(Ljava/lang/String;Ljava/io/PrintWriter;)V
+PLcom/android/server/infra/AbstractPerUserSystemService;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Ljava/lang/Object;I)V
+PLcom/android/server/infra/AbstractPerUserSystemService;->getComponentNameLocked()Ljava/lang/String;
PLcom/android/server/infra/AbstractPerUserSystemService;->getContext()Landroid/content/Context;
-HSPLcom/android/server/infra/AbstractPerUserSystemService;->getServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/infra/AbstractPerUserSystemService;->getServiceComponentName()Landroid/content/ComponentName;
PLcom/android/server/infra/AbstractPerUserSystemService;->handlePackageUpdateLocked(Ljava/lang/String;)V
-HSPLcom/android/server/infra/AbstractPerUserSystemService;->isEnabledLocked()Z
-HSPLcom/android/server/infra/AbstractPerUserSystemService;->updateLocked(Z)Z
-HSPLcom/android/server/infra/AbstractPerUserSystemService;->updateServiceInfoLocked()Landroid/content/ComponentName;
-PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->dumpShort(Ljava/io/PrintWriter;)V
-PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->dumpShort(Ljava/io/PrintWriter;I)V
-HSPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->getDefaultServiceName(I)Ljava/lang/String;
-HSPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->getServiceName(I)Ljava/lang/String;
-HSPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->isTemporary(I)Z
-HSPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
-PLcom/android/server/infra/SecureSettingsServiceNameResolver;->dumpShort(Ljava/io/PrintWriter;)V
-PLcom/android/server/infra/SecureSettingsServiceNameResolver;->dumpShort(Ljava/io/PrintWriter;I)V
-HSPLcom/android/server/infra/SecureSettingsServiceNameResolver;->getDefaultServiceName(I)Ljava/lang/String;
-HSPLcom/android/server/infra/ServiceNameResolver;->getServiceName(I)Ljava/lang/String;
-HSPLcom/android/server/infra/ServiceNameResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
-HSPLcom/android/server/input/InputManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/input/InputManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/input/InputManagerService$5;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
-HSPLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->binderDied()V
-PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->notifyInputDevicesChanged([I)V
-HSPLcom/android/server/input/InputManagerService$InputManagerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Ljava/util/List;)V
+PLcom/android/server/infra/AbstractPerUserSystemService;->isDebug()Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->isDisabledByUserRestrictionsLocked()Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->isEnabledLocked()Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->isSetupCompletedLocked()Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateIsSetupComplete(I)V
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateLocked(Z)Z
+PLcom/android/server/infra/AbstractPerUserSystemService;->updateServiceInfoLocked()Landroid/content/ComponentName;
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;-><clinit>()V
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->getDefaultServiceName(I)Ljava/lang/String;
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->getServiceName(I)Ljava/lang/String;
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->isTemporary(I)Z
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
+PLcom/android/server/infra/SecureSettingsServiceNameResolver;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/infra/SecureSettingsServiceNameResolver;->getDefaultServiceName(I)Ljava/lang/String;
+PLcom/android/server/infra/ServiceNameResolver;->getServiceName(I)Ljava/lang/String;
+PLcom/android/server/infra/ServiceNameResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
+PLcom/android/server/input/InputManagerService$10;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
+PLcom/android/server/input/InputManagerService$11;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
+PLcom/android/server/input/InputManagerService$1;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/input/InputManagerService$2;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/input/InputManagerService$3;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService$5;-><init>(Lcom/android/server/input/InputManagerService;Ljava/util/HashSet;)V
+HPLcom/android/server/input/InputManagerService$5;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+PLcom/android/server/input/InputManagerService$9;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
+PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;-><init>(Lcom/android/server/input/InputManagerService;ILandroid/hardware/input/IInputDevicesChangedListener;)V
+PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->binderDied()V
+PLcom/android/server/input/InputManagerService$InputManagerHandler;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Looper;)V
+PLcom/android/server/input/InputManagerService$InputManagerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/input/InputManagerService$InputMonitorHost;-><init>(Lcom/android/server/input/InputManagerService;Landroid/view/InputChannel;)V
+PLcom/android/server/input/InputManagerService$InputMonitorHost;->dispose()V
+PLcom/android/server/input/InputManagerService$InputMonitorHost;->pilferPointers()V
+PLcom/android/server/input/InputManagerService$KeyboardLayoutDescriptor;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;Lcom/android/server/input/InputManagerService$1;)V
+PLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Ljava/util/List;)V
PLcom/android/server/input/InputManagerService$LocalService;->setInteractive(Z)V
-HSPLcom/android/server/input/InputManagerService$LocalService;->setPulseGestureEnabled(Z)V
-HSPLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/input/InputManagerService;->canDispatchToDisplay(II)Z
+PLcom/android/server/input/InputManagerService$LocalService;->setPulseGestureEnabled(Z)V
+PLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/input/InputManagerService;->access$100(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService;->access$1100(JLandroid/os/IBinder;)V
+PLcom/android/server/input/InputManagerService;->access$1200(JLandroid/view/InputChannel;)V
+PLcom/android/server/input/InputManagerService;->access$1500(Lcom/android/server/input/InputManagerService;Ljava/util/List;)V
+PLcom/android/server/input/InputManagerService;->access$1700(JZ)V
+PLcom/android/server/input/InputManagerService;->access$1900(Lcom/android/server/input/InputManagerService;)Ljava/io/File;
+PLcom/android/server/input/InputManagerService;->access$200(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/input/InputManagerService;->access$500(Lcom/android/server/input/InputManagerService;[Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->access$900(Lcom/android/server/input/InputManagerService;)J
+PLcom/android/server/input/InputManagerService;->canDispatchToDisplay(II)Z
+PLcom/android/server/input/InputManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
PLcom/android/server/input/InputManagerService;->checkInjectEventsPermission(II)Z
-HSPLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V
-PLcom/android/server/input/InputManagerService;->dispatchUnhandledKey(Landroid/os/IBinder;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-PLcom/android/server/input/InputManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/input/InputManagerService;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-HSPLcom/android/server/input/InputManagerService;->getDeviceAlias(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/input/InputManagerService;->getDoubleTapTimeout()I
-HSPLcom/android/server/input/InputManagerService;->getExcludedDeviceNames()[Ljava/lang/String;
-HSPLcom/android/server/input/InputManagerService;->getHoverTapSlop()I
-HSPLcom/android/server/input/InputManagerService;->getHoverTapTimeout()I
-HSPLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/view/InputDevice;
-HSPLcom/android/server/input/InputManagerService;->getInputDeviceIds()[I
-HSPLcom/android/server/input/InputManagerService;->getInputDevices()[Landroid/view/InputDevice;
-HSPLcom/android/server/input/InputManagerService;->getInputPortAssociations()[Ljava/lang/String;
-HSPLcom/android/server/input/InputManagerService;->getKeyCodeState(III)I
-HSPLcom/android/server/input/InputManagerService;->getKeyRepeatDelay()I
-HSPLcom/android/server/input/InputManagerService;->getKeyRepeatTimeout()I
-HSPLcom/android/server/input/InputManagerService;->getKeyboardLayoutOverlay(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
-HSPLcom/android/server/input/InputManagerService;->getLayoutDescriptor(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-HSPLcom/android/server/input/InputManagerService;->getLongPressTimeout()I
-HSPLcom/android/server/input/InputManagerService;->getPointerDisplayId()I
-HSPLcom/android/server/input/InputManagerService;->getPointerSpeedSetting()I
-HSPLcom/android/server/input/InputManagerService;->getScanCodeState(III)I
-HSPLcom/android/server/input/InputManagerService;->getShowTouchesSetting(I)I
-HSPLcom/android/server/input/InputManagerService;->getSwitchState(III)I
-HSPLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-HSPLcom/android/server/input/InputManagerService;->getVirtualKeyQuietTimeMillis()I
+PLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getDeviceAlias(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getDoubleTapTimeout()I
+PLcom/android/server/input/InputManagerService;->getExcludedDeviceNames()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getHoverTapSlop()I
+PLcom/android/server/input/InputManagerService;->getHoverTapTimeout()I
+PLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/view/InputDevice;
+PLcom/android/server/input/InputManagerService;->getInputDeviceIds()[I
+PLcom/android/server/input/InputManagerService;->getInputDevices()[Landroid/view/InputDevice;
+PLcom/android/server/input/InputManagerService;->getInputPortAssociations()[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getKeyCodeState(III)I
+PLcom/android/server/input/InputManagerService;->getKeyRepeatDelay()I
+PLcom/android/server/input/InputManagerService;->getKeyRepeatTimeout()I
+PLcom/android/server/input/InputManagerService;->getKeyboardLayoutOverlay(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getLayoutDescriptor(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
+PLcom/android/server/input/InputManagerService;->getLocalesFromLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;
+PLcom/android/server/input/InputManagerService;->getLongPressTimeout()I
+PLcom/android/server/input/InputManagerService;->getPointerDisplayId()I
+PLcom/android/server/input/InputManagerService;->getPointerSpeedSetting()I
+PLcom/android/server/input/InputManagerService;->getScanCodeState(III)I
+PLcom/android/server/input/InputManagerService;->getShowTouchesSetting(I)I
+PLcom/android/server/input/InputManagerService;->getSwitchState(III)I
+PLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
+PLcom/android/server/input/InputManagerService;->getVirtualKeyQuietTimeMillis()I
PLcom/android/server/input/InputManagerService;->hasKeys(II[I[Z)Z
PLcom/android/server/input/InputManagerService;->injectInputEvent(Landroid/view/InputEvent;I)Z
PLcom/android/server/input/InputManagerService;->injectInputEventInternal(Landroid/view/InputEvent;I)Z
PLcom/android/server/input/InputManagerService;->interceptKeyBeforeDispatching(Landroid/os/IBinder;Landroid/view/KeyEvent;I)J
-HSPLcom/android/server/input/InputManagerService;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
+PLcom/android/server/input/InputManagerService;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
PLcom/android/server/input/InputManagerService;->interceptMotionBeforeQueueingNonInteractive(IJI)I
-HSPLcom/android/server/input/InputManagerService;->monitor()V
-HSPLcom/android/server/input/InputManagerService;->monitorInput(Ljava/lang/String;I)Landroid/view/InputChannel;
-HSPLcom/android/server/input/InputManagerService;->notifyConfigurationChanged(J)V
-HSPLcom/android/server/input/InputManagerService;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V
-HSPLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V
-PLcom/android/server/input/InputManagerService;->onDisplayRemoved(I)V
-HSPLcom/android/server/input/InputManagerService;->onInputDevicesChangedListenerDied(I)V
-HSPLcom/android/server/input/InputManagerService;->registerInputChannel(Landroid/view/InputChannel;Landroid/os/IBinder;)V
-HSPLcom/android/server/input/InputManagerService;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
-HSPLcom/android/server/input/InputManagerService;->setFocusedApplication(ILandroid/view/InputApplicationHandle;)V
-HSPLcom/android/server/input/InputManagerService;->setFocusedDisplay(I)V
-HSPLcom/android/server/input/InputManagerService;->setInputDispatchMode(ZZ)V
-HSPLcom/android/server/input/InputManagerService;->setPointerCapture(Z)V
-PLcom/android/server/input/InputManagerService;->setPointerIconType(I)V
-HSPLcom/android/server/input/InputManagerService;->setSystemUiVisibility(I)V
-HSPLcom/android/server/input/InputManagerService;->setWindowManagerCallbacks(Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;)V
-HSPLcom/android/server/input/InputManagerService;->setWiredAccessoryCallbacks(Lcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;)V
-HSPLcom/android/server/input/InputManagerService;->start()V
-HSPLcom/android/server/input/InputManagerService;->systemRunning()V
-HSPLcom/android/server/input/InputManagerService;->unregisterInputChannel(Landroid/view/InputChannel;)V
-HSPLcom/android/server/input/InputManagerService;->updateAccessibilityLargePointerFromSettings()V
-HSPLcom/android/server/input/InputManagerService;->updateKeyboardLayouts()V
-HSPLcom/android/server/input/InputManagerService;->updatePointerSpeedFromSettings()V
-HSPLcom/android/server/input/InputManagerService;->updateShowTouchesFromSettings()V
-HSPLcom/android/server/input/InputManagerService;->visitAllKeyboardLayouts(Lcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
-HSPLcom/android/server/input/InputManagerService;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
-HSPLcom/android/server/input/PersistentDataStore;->load()V
-HSPLcom/android/server/input/PersistentDataStore;->removeUninstalledKeyboardLayouts(Ljava/util/Set;)Z
-HSPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->load(Landroid/util/ArrayMap;I)V
+PLcom/android/server/input/InputManagerService;->isMicMuted()I
+PLcom/android/server/input/InputManagerService;->monitor()V
+PLcom/android/server/input/InputManagerService;->monitorGestureInput(Ljava/lang/String;I)Landroid/view/InputMonitor;
+PLcom/android/server/input/InputManagerService;->monitorInput(Ljava/lang/String;I)Landroid/view/InputChannel;
+PLcom/android/server/input/InputManagerService;->notifyConfigurationChanged(J)V
+PLcom/android/server/input/InputManagerService;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->onInputDevicesChangedListenerDied(I)V
+PLcom/android/server/input/InputManagerService;->onPointerDownOutsideFocus(Landroid/os/IBinder;)V
+PLcom/android/server/input/InputManagerService;->registerAccessibilityLargePointerSettingObserver()V
+PLcom/android/server/input/InputManagerService;->registerInputChannel(Landroid/view/InputChannel;)V
+PLcom/android/server/input/InputManagerService;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
+PLcom/android/server/input/InputManagerService;->registerPointerSpeedSettingObserver()V
+PLcom/android/server/input/InputManagerService;->registerShowTouchesSettingObserver()V
+PLcom/android/server/input/InputManagerService;->reloadDeviceAliases()V
+PLcom/android/server/input/InputManagerService;->reloadKeyboardLayouts()V
+PLcom/android/server/input/InputManagerService;->setDisplayViewportsInternal(Ljava/util/List;)V
+PLcom/android/server/input/InputManagerService;->setFocusedApplication(ILandroid/view/InputApplicationHandle;)V
+PLcom/android/server/input/InputManagerService;->setFocusedDisplay(I)V
+PLcom/android/server/input/InputManagerService;->setInTouchMode(Z)V
+PLcom/android/server/input/InputManagerService;->setInputDispatchMode(ZZ)V
+PLcom/android/server/input/InputManagerService;->setPointerSpeedUnchecked(I)V
+PLcom/android/server/input/InputManagerService;->setSystemUiVisibility(I)V
+PLcom/android/server/input/InputManagerService;->setWindowManagerCallbacks(Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;)V
+PLcom/android/server/input/InputManagerService;->setWiredAccessoryCallbacks(Lcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;)V
+PLcom/android/server/input/InputManagerService;->start()V
+PLcom/android/server/input/InputManagerService;->systemRunning()V
+PLcom/android/server/input/InputManagerService;->unregisterInputChannel(Landroid/view/InputChannel;)V
+PLcom/android/server/input/InputManagerService;->updateAccessibilityLargePointerFromSettings()V
+PLcom/android/server/input/InputManagerService;->updateKeyboardLayouts()V
+PLcom/android/server/input/InputManagerService;->updatePointerSpeedFromSettings()V
+PLcom/android/server/input/InputManagerService;->updateShowTouchesFromSettings()V
+PLcom/android/server/input/InputManagerService;->visitAllKeyboardLayouts(Lcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
+HPLcom/android/server/input/InputManagerService;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
+PLcom/android/server/input/PersistentDataStore;-><init>()V
+PLcom/android/server/input/PersistentDataStore;->clearState()V
+PLcom/android/server/input/PersistentDataStore;->getCurrentKeyboardLayout(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/input/PersistentDataStore;->getInputDeviceState(Ljava/lang/String;Z)Lcom/android/server/input/PersistentDataStore$InputDeviceState;
+PLcom/android/server/input/PersistentDataStore;->getTouchCalibration(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
+PLcom/android/server/input/PersistentDataStore;->load()V
+PLcom/android/server/input/PersistentDataStore;->loadIfNeeded()V
+PLcom/android/server/input/PersistentDataStore;->removeUninstalledKeyboardLayouts(Ljava/util/Set;)Z
+PLcom/android/server/input/PersistentDataStore;->saveIfNeeded()V
+PLcom/android/server/inputmethod/-$$Lambda$InputMethodManagerService$oxpSIwENeEjKtHbxqUXuaXD0Gn8;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->getAdditionalSubtypeFile(Ljava/io/File;)Landroid/util/AtomicFile;
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->getInputMethodDir(I)Ljava/io/File;
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->load(Landroid/util/ArrayMap;I)V
PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->save(Landroid/util/ArrayMap;Landroid/util/ArrayMap;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerInternal$1;-><init>()V
-PLcom/android/server/inputmethod/InputMethodManagerService$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;->binderDied()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$ClientState;-><init>(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;IIILcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$ClientState;->toString()Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;-><init>(Ljava/lang/String;Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;->value()Z
+PLcom/android/server/inputmethod/InputMethodManagerInternal$1;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerInternal;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerInternal;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$1;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$2;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/internal/view/IInputMethodClient;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;->binderDied()V
+PLcom/android/server/inputmethod/InputMethodManagerService$ClientState;-><init>(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;IIILcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ClientState;->toString()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;-><init>(Ljava/lang/String;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;->value()Z
+PLcom/android/server/inputmethod/InputMethodManagerService$DebugFlags;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$HardKeyboardListener;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$HardKeyboardListener;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$1;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$1;)V
PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForSystemUser;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->hideMySoftInput(I)V
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->notifyUserAction()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportFullscreenMode(Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportStartInput(Landroid/os/IBinder;)V
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->setImeWindowStatus(II)V
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->shouldOfferSwitchingToNextInputMethod()Z
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->showMySoftInput(I)V
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->switchToNextInputMethod(Z)Z
-PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->updateStatusIcon(Ljava/lang/String;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForSystemUser;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForSystemUser;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/server/inputmethod/InputMethodManagerService$1;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportFullscreenMode(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportStartInput(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onStart()V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->getEnabledInputMethodListAsUser(I)Ljava/util/List;
-PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->getInputMethodListAsUser(I)Ljava/util/List;
PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->hideCurrentInputMethod()V
PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->setInteractive(Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MethodCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onBeginPackageChanges()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChanges()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChangesInternal()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MethodCallback;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Lcom/android/internal/view/IInputMethod;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MethodCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->addKnownImePackageNameLocked(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->clearKnownImePackageNamesLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onBeginPackageChanges()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChanges()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChangesInternal()V
PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->shouldRebuildInputMethodListLocked()Z
-PLcom/android/server/inputmethod/InputMethodManagerService$SessionState;->toString()Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)V
-PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->toString()Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
-PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><init>(ILandroid/os/IBinder;ILjava/lang/String;IZIILandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->attachNewInputLocked(IZ)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->bindCurrentInputMethodServiceLocked(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->buildInputMethodListLocked(Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->calledFromValidUserLocked()Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->calledWithValidTokenLocked(Landroid/os/IBinder;)Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->clearClientSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->clearCurMethodLocked()V
-PLcom/android/server/inputmethod/InputMethodManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->executeOrSendMessage(Landroid/os/IInterface;Landroid/os/Message;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->finishSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentInputMethodSubtypeLocked()Landroid/view/inputmethod/InputMethodSubtype;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodList(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->shouldRebuildInputMethodListLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService$SessionState;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Lcom/android/internal/view/IInputMethod;Lcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/Handler;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;-><init>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;-><init>(Lcom/android/server/inputmethod/InputMethodManagerService$1;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->addEntry(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;->getEntrySize()I
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><init>(ILandroid/os/IBinder;ILjava/lang/String;IZIILandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V
+PLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$2500(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->access$2700(Lcom/android/server/inputmethod/InputMethodManagerService;Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->attachNewInputLocked(IZ)Lcom/android/internal/view/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodManagerService;->bindCurrentInputMethodServiceLocked(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->buildInputMethodListLocked(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->calledFromValidUserLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->calledWithValidTokenLocked(Landroid/os/IBinder;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->clearClientSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->clearCurMethodLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->computeImeDisplayIdForTarget(ILcom/android/server/inputmethod/InputMethodManagerService$ImeDisplayValidator;)I
+PLcom/android/server/inputmethod/InputMethodManagerService;->executeOrSendMessage(Landroid/os/IInterface;Landroid/os/Message;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->finishSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->getActivityViewToScreenMatrixLocked(II)Landroid/graphics/Matrix;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentInputMethodSubtypeLocked()Landroid/view/inputmethod/InputMethodSubtype;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodList(I)Ljava/util/List;
PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListAsUser(I)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListLocked(I)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodSubtypeListLocked(Ljava/lang/String;ZI)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListLocked(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodSubtypeListLocked(Ljava/lang/String;ZI)Ljava/util/List;
PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodList(I)Ljava/util/List;
-PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodListAsUser(I)Ljava/util/List;
PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodListLocked(I)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->handleMessage(Landroid/os/Message;)Z
PLcom/android/server/inputmethod/InputMethodManagerService;->handleSetInteractive(Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->hideCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
PLcom/android/server/inputmethod/InputMethodManagerService;->hideInputMethodMenu()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->hideInputMethodMenuLocked()V
-PLcom/android/server/inputmethod/InputMethodManagerService;->hideMySoftInput(Landroid/os/IBinder;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideInputMethodMenuLocked()V
PLcom/android/server/inputmethod/InputMethodManagerService;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/inputmethod/InputMethodManagerService;->notifyUserAction(Landroid/os/IBinder;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->onActionLocaleChanged()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->onSessionCreated(Lcom/android/internal/view/IInputMethod;Lcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->onUnlockUser(I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->queryInputMethodServicesInternal(Landroid/content/Context;ILandroid/util/ArrayMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->reportStartInput(Landroid/os/IBinder;Landroid/os/IBinder;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->requestClientSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V
-PLcom/android/server/inputmethod/InputMethodManagerService;->resetCurrentMethodAndClient(I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->resetSelectedInputMethodAndSubtypeLocked(Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionInMainThread(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
-PLcom/android/server/inputmethod/InputMethodManagerService;->setImeWindowStatus(Landroid/os/IBinder;II)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodEnabledLocked(Ljava/lang/String;Z)Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->setSelectedInputMethodAndSubtypeLocked(Landroid/view/inputmethod/InputMethodInfo;IZ)V
-PLcom/android/server/inputmethod/InputMethodManagerService;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->shouldShowImeSwitcherLocked(I)Z
-PLcom/android/server/inputmethod/InputMethodManagerService;->showCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/inputmethod/InputMethodManagerService;->showMySoftInput(Landroid/os/IBinder;I)V
-PLcom/android/server/inputmethod/InputMethodManagerService;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocusInternalLocked(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;III)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->startInputUncheckedLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;II)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/inputmethod/InputMethodManagerService;->switchToNextInputMethod(Landroid/os/IBinder;Z)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->isKeyguardLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onSessionCreated(Lcom/android/internal/view/IInputMethod;Lcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->onUnlockUser(I)V
+HPLcom/android/server/inputmethod/InputMethodManagerService;->queryInputMethodServicesInternal(Landroid/content/Context;ILandroid/util/ArrayMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportFullscreenMode(Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportStartInput(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->requestClientSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionInMainThread(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodEnabledLocked(Ljava/lang/String;Z)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodLocked(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setSelectedInputMethodAndSubtypeLocked(Landroid/view/inputmethod/InputMethodInfo;IZ)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->shouldShowImeSwitcherLocked(I)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocusInternalLocked(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;III)Lcom/android/internal/view/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodManagerService;->startInputUncheckedLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;II)Lcom/android/internal/view/InputBindResult;
PLcom/android/server/inputmethod/InputMethodManagerService;->switchUserLocked(I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->systemRunning(Lcom/android/server/statusbar/StatusBarManagerService;)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentClientLocked(I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentMethodLocked()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateCurrentProfileIds()V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateFromSettingsLocked(Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateInputMethodsFromSettingsLocked(Z)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateKeyboardFromSettingsLocked()V
-PLcom/android/server/inputmethod/InputMethodManagerService;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
-HSPLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked(II)V
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->createFrom(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;Ljava/util/List;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->dump(Landroid/util/Printer;)V
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->filterImeSubtypeList(Ljava/util/List;Z)Ljava/util/List;
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->getNextInputMethod(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->onUserActionLocked(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->dump(Landroid/util/Printer;Ljava/lang/String;)V
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->getNextInputMethodLocked(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->getUsageRank(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)I
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->onUserAction(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/inputmethod/InputMethodInfo;ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->compareTo(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;)I
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->toString()Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;)V
-HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;->getSortedInputMethodAndSubtypeList(ZZ)Ljava/util/List;
-PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;->dump(Landroid/util/Printer;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$1;-><init>()V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodListBuilder;->fillAuxiliaryImes(Ljava/util/ArrayList;Landroid/content/Context;)Lcom/android/server/inputmethod/InputMethodUtils$InputMethodListBuilder;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodListBuilder;->fillImes(Ljava/util/ArrayList;Landroid/content/Context;ZLjava/util/Locale;ZLjava/lang/String;)Lcom/android/server/inputmethod/InputMethodUtils$InputMethodListBuilder;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><init>(Landroid/content/res/Resources;Landroid/content/ContentResolver;Landroid/util/ArrayMap;IZ)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->addSubtypeToHistory(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->appendAndPutEnabledInputMethodLocked(Ljava/lang/String;Z)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildInputMethodsAndSubtypeList(Ljava/lang/String;Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter;)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->createEnabledInputMethodListLocked(Ljava/util/List;)Ljava/util/ArrayList;
-PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->dumpLocked(Landroid/util/Printer;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getCurrentUserId()I
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodListLocked()Ljava/util/ArrayList;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/content/Context;Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsAndSubtypeListLocked()Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsStr()Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledSubtypeHashCodeForInputMethodAndSubtypeLocked(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getInt(Ljava/lang/String;I)I
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getLastSubtypeForInputMethodLocked(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getLastSubtypeForInputMethodLockedInternal(Ljava/lang/String;)Landroid/util/Pair;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethod()Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethodSubtypeId(Ljava/lang/String;)I
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isCurrentProfile(I)Z
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isShowImeWithHardKeyboardEnabled()Z
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isSubtypeSelected()Z
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->loadInputMethodAndSubtypeHistoryLocked()Ljava/util/List;
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putInt(Ljava/lang/String;I)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedInputMethod(Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedSubtype(I)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putString(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->saveCurrentInputMethodAndSubtypeToHistory(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->saveSubtypeHistory(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->setCurrentProfileIds([I)V
-HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->switchCurrentUser(IZ)V
-HSPLcom/android/server/inputmethod/InputMethodUtils;->checkIfPackageBelongsToUid(Landroid/app/AppOpsManager;ILjava/lang/String;)Z
-HSPLcom/android/server/inputmethod/InputMethodUtils;->containsSubtypeOf(Landroid/view/inputmethod/InputMethodInfo;Ljava/util/Locale;ZLjava/lang/String;)Z
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getDefaultEnabledImes(Landroid/content/Context;Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getFallbackLocaleForDefaultIme(Ljava/util/ArrayList;Landroid/content/Context;)Ljava/util/Locale;
-PLcom/android/server/inputmethod/InputMethodUtils;->getImeAndSubtypeDisplayName(Landroid/content/Context;Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)Ljava/lang/CharSequence;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLocked(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLockedImpl(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getMinimumKeyboardSetWithSystemLocale(Ljava/util/ArrayList;Landroid/content/Context;Ljava/util/Locale;Ljava/util/Locale;)Lcom/android/server/inputmethod/InputMethodUtils$InputMethodListBuilder;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getMostApplicableDefaultIME(Ljava/util/List;)Landroid/view/inputmethod/InputMethodInfo;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->getSystemLocaleFromContext(Landroid/content/Context;)Ljava/util/Locale;
-HSPLcom/android/server/inputmethod/InputMethodUtils;->isSystemAuxilialyImeThatHasAutomaticSubtype(Landroid/view/inputmethod/InputMethodInfo;Landroid/content/Context;Z)Z
-HSPLcom/android/server/inputmethod/InputMethodUtils;->resolveUserId(IILjava/io/PrintWriter;)[I
-HSPLcom/android/server/inputmethod/InputMethodUtils;->setDisabledUntilUsed(Landroid/content/pm/IPackageManager;Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/server/inputmethod/InputMethodUtils;->setNonSelectedSystemImesDisabledUntilUsed(Landroid/content/pm/IPackageManager;Ljava/util/List;ILjava/lang/String;)V
-HSPLcom/android/server/inputmethod/LocaleUtils;->filterByLanguage(Ljava/util/List;Lcom/android/server/inputmethod/LocaleUtils$LocaleExtractor;Landroid/os/LocaleList;Ljava/util/ArrayList;)V
-PLcom/android/server/job/-$$Lambda$JobConcurrencyManager$5dmb0pQscXPwEG6SBnhs7aCwpSs;->run()V
-HSPLcom/android/server/job/-$$Lambda$JobSchedulerService$AauD0it1BcgWldVm_V1m2Jo7_Zc;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/job/-$$Lambda$JobSchedulerService$Lfddr1PhKRLtm92W7niRGMWO69M;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;-><init>()V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$e8zIA2HHN2tnGMuc6TZ2xWw_c20;->test(Ljava/lang/Object;)Z
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$rARZcsrvtM2sYbF4SrEE2BXDQ3U;-><init>(I)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$rARZcsrvtM2sYbF4SrEE2BXDQ3U;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/job/-$$Lambda$JobStore$1$Wgepg1oHZp0-Q01q1baIVZKWujU;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/-$$Lambda$JobStore$JobSet$D9839QVHHu4X-hnxouyIMkP5NWA;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/job/-$$Lambda$JobStore$JobSet$id1Y3Yh8Y9sEb-njlNCUNay6U9k;->test(Ljava/lang/Object;)Z
-PLcom/android/server/job/JobConcurrencyManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->canJobStart(Z)Z
-PLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->getFgRunningJobCountToNote()I
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->getTotalRunningJobCountToNote()I
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->incrementPendingJobCount(Z)V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->incrementRunningJobCount(Z)V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->logStatus()V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->onCountDone()V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->onStartingNewJob(Z)V
-HSPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->reset(III)V
-PLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->toString()Ljava/lang/String;
-HSPLcom/android/server/job/JobConcurrencyManager;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-HSPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsInternalLocked()V
-HSPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsLocked()V
-PLcom/android/server/job/JobConcurrencyManager;->dumpLocked(Lcom/android/internal/util/IndentingPrintWriter;JJ)V
-PLcom/android/server/job/JobConcurrencyManager;->dumpProtoLocked(Landroid/util/proto/ProtoOutputStream;JJJ)V
-HSPLcom/android/server/job/JobConcurrencyManager;->onInteractiveStateChanged(Z)V
-HSPLcom/android/server/job/JobConcurrencyManager;->onSystemReady()V
-PLcom/android/server/job/JobConcurrencyManager;->rampUpForScreenOff()V
-HSPLcom/android/server/job/JobConcurrencyManager;->refreshSystemStateLocked()V
-HSPLcom/android/server/job/JobConcurrencyManager;->updateMaxCountsLocked()V
-HSPLcom/android/server/job/JobPackageTracker$DataSet;-><init>()V
-PLcom/android/server/job/JobPackageTracker$DataSet;->addTo(Lcom/android/server/job/JobPackageTracker$DataSet;J)V
-HSPLcom/android/server/job/JobPackageTracker$DataSet;->decActive(ILjava/lang/String;JI)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->decActiveTop(ILjava/lang/String;JI)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->dump(Landroid/util/proto/ProtoOutputStream;JJJI)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;JJI)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->finish(Lcom/android/server/job/JobPackageTracker$DataSet;J)V
-HSPLcom/android/server/job/JobPackageTracker$DataSet;->getOrCreateEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;
-PLcom/android/server/job/JobPackageTracker$DataSet;->printDuration(Ljava/io/PrintWriter;JJILjava/lang/String;)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->printPackageEntryState(Landroid/util/proto/ProtoOutputStream;JJI)V
-HSPLcom/android/server/job/JobPackageTracker;-><init>()V
-HSPLcom/android/server/job/JobPackageTracker;->addEvent(IILjava/lang/String;IILjava/lang/String;)V
-PLcom/android/server/job/JobPackageTracker;->dump(Landroid/util/proto/ProtoOutputStream;JI)V
-PLcom/android/server/job/JobPackageTracker;->dump(Ljava/io/PrintWriter;Ljava/lang/String;I)V
-PLcom/android/server/job/JobPackageTracker;->dumpHistory(Landroid/util/proto/ProtoOutputStream;JI)V
-PLcom/android/server/job/JobPackageTracker;->dumpHistory(Ljava/io/PrintWriter;Ljava/lang/String;I)Z
-HSPLcom/android/server/job/JobPackageTracker;->getLoadFactor(Lcom/android/server/job/controllers/JobStatus;)F
-HSPLcom/android/server/job/JobPackageTracker;->noteActive(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobPackageTracker;->noteInactive(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)V
-HSPLcom/android/server/job/JobPackageTracker;->rebatchIfNeeded(J)V
-HSPLcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;-><init>(Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;)V
-HSPLcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;->toString()Ljava/lang/String;
-HSPLcom/android/server/job/JobSchedulerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/job/JobSchedulerService$2;->onUidActive(I)V
-HSPLcom/android/server/job/JobSchedulerService$2;->onUidGone(IZ)V
-HSPLcom/android/server/job/JobSchedulerService$2;->onUidIdle(IZ)V
-HSPLcom/android/server/job/JobSchedulerService$2;->onUidStateChanged(IIJ)V
-PLcom/android/server/job/JobSchedulerService$4;->compare(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)I
-PLcom/android/server/job/JobSchedulerService$4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/job/JobSchedulerService$Constants;-><init>()V
-PLcom/android/server/job/JobSchedulerService$Constants;->dump(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/job/JobSchedulerService$Constants;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/job/JobSchedulerService$Constants;->updateConstantsLocked(Ljava/lang/String;)V
-HSPLcom/android/server/job/JobSchedulerService$ConstantsObserver;->start(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/job/JobSchedulerService$ConstantsObserver;->updateConstants()V
-HSPLcom/android/server/job/JobSchedulerService$JobHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->canPersistJobs(II)Z
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancel(I)V
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancelAll()V
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceValidJobRequest(ILandroid/app/job/JobInfo;)V
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getAllPendingJobs()Ljava/util/List;
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getPendingJob(I)Landroid/app/job/JobInfo;
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->schedule(Landroid/app/job/JobInfo;)I
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateJobFlags(Landroid/app/job/JobInfo;I)V
-PLcom/android/server/job/JobSchedulerService$LocalService;->addBackingUpUid(I)V
-HSPLcom/android/server/job/JobSchedulerService$LocalService;->baseHeartbeatForApp(Ljava/lang/String;II)J
-HSPLcom/android/server/job/JobSchedulerService$LocalService;->currentHeartbeat()J
-HSPLcom/android/server/job/JobSchedulerService$LocalService;->getPersistStats()Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
-HSPLcom/android/server/job/JobSchedulerService$LocalService;->getSystemScheduledPendingJobs()Ljava/util/List;
-HSPLcom/android/server/job/JobSchedulerService$LocalService;->noteJobStart(Ljava/lang/String;I)V
-PLcom/android/server/job/JobSchedulerService$LocalService;->removeBackingUpUid(I)V
-PLcom/android/server/job/JobSchedulerService$MaxJobCounts;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/job/JobSchedulerService$MaxJobCounts;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->getMaxBg()I
-HSPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->getMaxTotal()I
-HSPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->getMinBg()I
-HSPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->parse(Landroid/util/KeyValueListParser;)V
-PLcom/android/server/job/JobSchedulerService$MaxJobCountsPerMemoryTrimLevel;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->postProcess()V
-HSPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->postProcess()V
-HSPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onParoleStateChanged(Z)V
-HSPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
-HSPLcom/android/server/job/JobSchedulerService$ThermalStatusListener;->onStatusChange(I)V
-HSPLcom/android/server/job/JobSchedulerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/job/JobSchedulerService;->areComponentsInPlaceLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobSchedulerService;->areUsersStartedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobSchedulerService;->cancelJob(III)Z
-HSPLcom/android/server/job/JobSchedulerService;->cancelJobImplLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Ljava/lang/String;)V
-HSPLcom/android/server/job/JobSchedulerService;->cancelJobsForNonExistentUsers()V
-HSPLcom/android/server/job/JobSchedulerService;->cancelJobsForPackageAndUid(Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/job/JobSchedulerService;->cancelJobsForUid(ILjava/lang/String;)Z
-PLcom/android/server/job/JobSchedulerService;->dumpInternal(Lcom/android/internal/util/IndentingPrintWriter;I)V
-PLcom/android/server/job/JobSchedulerService;->dumpInternalProto(Ljava/io/FileDescriptor;I)V
-HSPLcom/android/server/job/JobSchedulerService;->evaluateJobPriorityLocked(Lcom/android/server/job/controllers/JobStatus;)I
-HSPLcom/android/server/job/JobSchedulerService;->getConstants()Lcom/android/server/job/JobSchedulerService$Constants;
-HSPLcom/android/server/job/JobSchedulerService;->getCurrentHeartbeat()J
-HSPLcom/android/server/job/JobSchedulerService;->getJobStore()Lcom/android/server/job/JobStore;
-HSPLcom/android/server/job/JobSchedulerService;->getLock()Ljava/lang/Object;
-HSPLcom/android/server/job/JobSchedulerService;->getPendingJob(II)Landroid/app/job/JobInfo;
-HSPLcom/android/server/job/JobSchedulerService;->getPendingJobs(I)Ljava/util/List;
-HSPLcom/android/server/job/JobSchedulerService;->getRescheduleJobForFailureLocked(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/controllers/JobStatus;
-PLcom/android/server/job/JobSchedulerService;->getRescheduleJobForPeriodic(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/controllers/JobStatus;
-HSPLcom/android/server/job/JobSchedulerService;->getTestableContext()Landroid/content/Context;
-PLcom/android/server/job/JobSchedulerService;->heartbeatWhenJobsLastRun(Lcom/android/server/job/controllers/JobStatus;)J
-HSPLcom/android/server/job/JobSchedulerService;->heartbeatWhenJobsLastRun(Ljava/lang/String;I)J
-HSPLcom/android/server/job/JobSchedulerService;->isChainedAttributionEnabled()Z
-HSPLcom/android/server/job/JobSchedulerService;->isComponentUsable(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobSchedulerService;->isCurrentlyActiveLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$2$JobSchedulerService(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobSchedulerService;->maybeQueueReadyJobsForExecutionLocked()V
-HSPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V
-HSPLcom/android/server/job/JobSchedulerService;->noteJobsNonpending(Ljava/util/List;)V
-HSPLcom/android/server/job/JobSchedulerService;->noteJobsPending(Ljava/util/List;)V
-HSPLcom/android/server/job/JobSchedulerService;->onBootPhase(I)V
-HSPLcom/android/server/job/JobSchedulerService;->onControllerStateChanged()V
-PLcom/android/server/job/JobSchedulerService;->onDeviceIdleStateChanged(Z)V
-HSPLcom/android/server/job/JobSchedulerService;->onJobCompletedLocked(Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/JobSchedulerService;->onRunJobNow(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobSchedulerService;->onStart()V
-HSPLcom/android/server/job/JobSchedulerService;->onStartUser(I)V
-HSPLcom/android/server/job/JobSchedulerService;->onUnlockUser(I)V
-HSPLcom/android/server/job/JobSchedulerService;->queueReadyJobsForExecutionLocked()V
-HSPLcom/android/server/job/JobSchedulerService;->reportActiveLocked()V
-HSPLcom/android/server/job/JobSchedulerService;->scheduleAsPackage(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;ILjava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/server/job/JobSchedulerService;->setLastJobHeartbeatLocked(Ljava/lang/String;IJ)V
-PLcom/android/server/job/JobSchedulerService;->sortJobs(Ljava/util/List;)V
-HSPLcom/android/server/job/JobSchedulerService;->standbyBucketForPackage(Ljava/lang/String;IJ)I
-HSPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobSchedulerService;->stopJobOnServiceContextLocked(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)Z
-HSPLcom/android/server/job/JobSchedulerService;->stopNonReadyActiveJobsLocked()V
-HSPLcom/android/server/job/JobSchedulerService;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)Z
-HSPLcom/android/server/job/JobSchedulerService;->updateUidState(II)V
-HSPLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStartMessage(IZ)V
-PLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStopMessage(IZ)V
-HSPLcom/android/server/job/JobServiceContext$JobCallback;->completeWork(II)Z
-HSPLcom/android/server/job/JobServiceContext$JobCallback;->dequeueWork(I)Landroid/app/job/JobWorkItem;
-HSPLcom/android/server/job/JobServiceContext$JobCallback;->jobFinished(IZ)V
-HSPLcom/android/server/job/JobServiceContext$JobServiceHandler;-><init>(Lcom/android/server/job/JobServiceContext;Landroid/os/Looper;)V
-PLcom/android/server/job/JobServiceContext$JobServiceHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/job/JobServiceContext;->assertCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)V
-HSPLcom/android/server/job/JobServiceContext;->closeAndCleanupJobLocked(ZLjava/lang/String;)V
-HSPLcom/android/server/job/JobServiceContext;->deriveWorkSource(Lcom/android/server/job/controllers/JobStatus;)Landroid/os/WorkSource;
-HSPLcom/android/server/job/JobServiceContext;->doCallback(Lcom/android/server/job/JobServiceContext$JobCallback;ZLjava/lang/String;)V
-HSPLcom/android/server/job/JobServiceContext;->doCallbackLocked(ZLjava/lang/String;)V
-PLcom/android/server/job/JobServiceContext;->doCancelLocked(ILjava/lang/String;)V
-HSPLcom/android/server/job/JobServiceContext;->doCompleteWork(Lcom/android/server/job/JobServiceContext$JobCallback;II)Z
-HSPLcom/android/server/job/JobServiceContext;->doDequeueWork(Lcom/android/server/job/JobServiceContext$JobCallback;I)Landroid/app/job/JobWorkItem;
-HSPLcom/android/server/job/JobServiceContext;->executeRunnableJob(Lcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/JobServiceContext;->handleCancelLocked(Ljava/lang/String;)V
-HSPLcom/android/server/job/JobServiceContext;->handleFinishedLocked(ZLjava/lang/String;)V
-PLcom/android/server/job/JobServiceContext;->handleOpTimeoutLocked()V
-HSPLcom/android/server/job/JobServiceContext;->handleServiceBoundLocked()V
-HSPLcom/android/server/job/JobServiceContext;->handleStartedLocked(Z)V
-HSPLcom/android/server/job/JobServiceContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/job/JobServiceContext;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/job/JobServiceContext;->scheduleOpTimeOutLocked()V
-PLcom/android/server/job/JobServiceContext;->sendStopMessageLocked(Ljava/lang/String;)V
-HSPLcom/android/server/job/JobStore$1;->addAttributesToJobTag(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobStore$1;->deepCopyBundle(Landroid/os/PersistableBundle;I)Landroid/os/PersistableBundle;
-HSPLcom/android/server/job/JobStore$1;->run()V
-HSPLcom/android/server/job/JobStore$1;->writeConstraintsToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobStore$1;->writeExecutionCriteriaToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/JobStore$1;->writeJobsMapImpl(Ljava/util/List;)V
-HSPLcom/android/server/job/JobStore$JobSet;->add(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobStore$JobSet;->countJobsForUid(I)I
-HSPLcom/android/server/job/JobStore$JobSet;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
-HSPLcom/android/server/job/JobStore$JobSet;->get(II)Lcom/android/server/job/controllers/JobStatus;
-PLcom/android/server/job/JobStore$JobSet;->getAllJobs()Ljava/util/List;
-HSPLcom/android/server/job/JobStore$JobSet;->remove(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobStore$JobSet;->removeAll(Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildBuilderFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/job/JobInfo$Builder;
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildConstraintsFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildRtcExecutionTimesFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->maybeBuildBackoffPolicyFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->readJobMapImpl(Ljava/io/FileInputStream;Z)Ljava/util/List;
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->restoreJobFromXml(ZLorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/job/controllers/JobStatus;
-HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->run()V
-HSPLcom/android/server/job/JobStore;-><init>(Landroid/content/Context;Ljava/lang/Object;Ljava/io/File;)V
-HSPLcom/android/server/job/JobStore;->access$000()Z
-HSPLcom/android/server/job/JobStore;->access$500(Landroid/util/Pair;J)Landroid/util/Pair;
-HSPLcom/android/server/job/JobStore;->add(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/JobStore;->convertRtcBoundsToElapsed(Landroid/util/Pair;J)Landroid/util/Pair;
-HSPLcom/android/server/job/JobStore;->initAndGet(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/JobStore;
-HSPLcom/android/server/job/JobStore;->maybeWriteStatusToDiskAsync()V
-HSPLcom/android/server/job/JobStore;->remove(Lcom/android/server/job/controllers/JobStatus;Z)Z
-PLcom/android/server/job/JobStore;->size()I
-PLcom/android/server/job/controllers/-$$Lambda$BackgroundJobsController$5YoufKSiImueGHv9obiMns19gXE;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/controllers/-$$Lambda$BackgroundJobsController$ypgNv91qX_67RP8z3Z9CsC0SRRs;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/controllers/-$$Lambda$DeviceIdleJobsController$JMszgdQK87AK2bjaiI_rwQuTKpc;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/controllers/-$$Lambda$DeviceIdleJobsController$essc-q8XD1L8ojfbmN1Aow_AVPk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/-$$Lambda$QuotaController$Nr0Q3oPwHBGHfHSdpzIm80t7M7s;->run()V
-PLcom/android/server/job/controllers/-$$Lambda$QuotaController$RcL2StPbPl63Y4Q9VfiLaVPPkvk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$HBosnPX15xU_maD6xbBsC7aJqOU;->run()V
-HSPLcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$UNCXPiY4xGPFhTnC-LuVzvqiAl4;->run()V
-PLcom/android/server/job/controllers/-$$Lambda$QuotaController$Sy3xZVkjJSYUVy4yBTZGfwQdAZ8;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/controllers/-$$Lambda$QuotaController$kay8hdd-QD_Zt4NzUkXKjbZmoQI;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController$1;->updateAllJobs()V
-HSPLcom/android/server/job/controllers/BackgroundJobsController$1;->updateJobsForUid(IZ)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->lambda$dumpControllerStateLocked$0$BackgroundJobsController(Lcom/android/internal/util/IndentingPrintWriter;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->lambda$dumpControllerStateLocked$1$BackgroundJobsController(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsLocked(II)V
-HSPLcom/android/server/job/controllers/BackgroundJobsController;->updateSingleJobRestrictionLocked(Lcom/android/server/job/controllers/JobStatus;I)Z
-HSPLcom/android/server/job/controllers/BatteryController$ChargingTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/job/controllers/BatteryController$ChargingTracker;->onReceiveInternal(Landroid/content/Intent;)V
-HSPLcom/android/server/job/controllers/BatteryController$ChargingTracker;->startTracking()V
-PLcom/android/server/job/controllers/BatteryController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/BatteryController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/BatteryController;->maybeReportNewChargingStateLocked()V
-HSPLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/BatteryController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/ConnectivityController$1;->onAvailable(Landroid/net/Network;)V
-HSPLcom/android/server/job/controllers/ConnectivityController$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/job/controllers/ConnectivityController$1;->onLost(Landroid/net/Network;)V
-HSPLcom/android/server/job/controllers/ConnectivityController$2;->onUidRulesChanged(II)V
-HSPLcom/android/server/job/controllers/ConnectivityController$CcHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/ConnectivityController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/ConnectivityController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->isInsane(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HSPLcom/android/server/job/controllers/ConnectivityController;->isNetworkAvailable(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/controllers/ConnectivityController;->isRelaxedSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HSPLcom/android/server/job/controllers/ConnectivityController;->isSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HSPLcom/android/server/job/controllers/ConnectivityController;->maybeRevokeStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->onAppRemovedLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->onConstantsUpdatedLocked()V
-HSPLcom/android/server/job/controllers/ConnectivityController;->reevaluateStateLocked(I)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->requestStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->revokeStandbyExceptionLocked(I)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z
-HSPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobs(ILandroid/net/Network;)V
-HSPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobsLocked(Landroid/util/ArraySet;Landroid/net/Network;Landroid/util/SparseArray;)Z
-HSPLcom/android/server/job/controllers/ConnectivityController;->wouldBeReadyWithConnectivityLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/controllers/ContentObserverController$JobInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->detachLocked()V
-PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->scheduleLocked()V
-PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->trigger()V
-PLcom/android/server/job/controllers/ContentObserverController$ObserverInstance;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/job/controllers/ContentObserverController$TriggerRunnable;->run()V
-PLcom/android/server/job/controllers/ContentObserverController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/ContentObserverController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/ContentObserverController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/ContentObserverController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/ContentObserverController;->rescheduleForFailureLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/DeviceIdleJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->lambda$dumpControllerStateLocked$0$DeviceIdleJobsController(Lcom/android/internal/util/IndentingPrintWriter;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->lambda$dumpControllerStateLocked$1$DeviceIdleJobsController(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->setUidActiveLocked(IZ)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->updateIdleMode(Z)V
-HSPLcom/android/server/job/controllers/DeviceIdleJobsController;->updateTaskStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/controllers/IdleController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/IdleController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/IdleController;->initIdleStateTracking(Landroid/content/Context;)V
-HSPLcom/android/server/job/controllers/IdleController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/IdleController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/IdleController;->reportNewIdleState(Z)V
-HSPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;IILjava/lang/String;IIJLjava/lang/String;IJJJJI)V
-HSPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;ILjava/lang/String;IIJLjava/lang/String;JJJJLandroid/util/Pair;I)V
-HSPLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;JJJIJJ)V
-PLcom/android/server/job/controllers/JobStatus;->bucketName(I)Ljava/lang/String;
-HSPLcom/android/server/job/controllers/JobStatus;->completeWorkLocked(Landroid/app/IActivityManager;I)Z
-HSPLcom/android/server/job/controllers/JobStatus;->computeEstimatedNetworkBytesLocked()J
-HSPLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;)Lcom/android/server/job/controllers/JobStatus;
-HSPLcom/android/server/job/controllers/JobStatus;->dequeueWorkLocked()Landroid/app/job/JobWorkItem;
-PLcom/android/server/job/controllers/JobStatus;->dump(Landroid/util/proto/ProtoOutputStream;JZJ)V
-PLcom/android/server/job/controllers/JobStatus;->dump(Ljava/io/PrintWriter;Ljava/lang/String;ZJ)V
-PLcom/android/server/job/controllers/JobStatus;->dumpConstraints(Landroid/util/proto/ProtoOutputStream;JI)V
-PLcom/android/server/job/controllers/JobStatus;->dumpConstraints(Ljava/io/PrintWriter;I)V
-PLcom/android/server/job/controllers/JobStatus;->dumpJobWorkItem(Landroid/util/proto/ProtoOutputStream;JLandroid/app/job/JobWorkItem;)V
-PLcom/android/server/job/controllers/JobStatus;->dumpJobWorkItem(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/app/job/JobWorkItem;I)V
-HSPLcom/android/server/job/controllers/JobStatus;->enqueueWorkLocked(Landroid/app/IActivityManager;Landroid/app/job/JobWorkItem;)V
-HSPLcom/android/server/job/controllers/JobStatus;->getProtoConstraint(I)I
-PLcom/android/server/job/controllers/JobStatus;->getServiceComponent()Landroid/content/ComponentName;
-PLcom/android/server/job/controllers/JobStatus;->getUserId()I
-PLcom/android/server/job/controllers/JobStatus;->isReady()Z
-HSPLcom/android/server/job/controllers/JobStatus;->maybeAddForegroundExemption(Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/JobStatus;->prepareLocked(Landroid/app/IActivityManager;)V
-HSPLcom/android/server/job/controllers/JobStatus;->resolveTargetSdkVersion(Landroid/app/job/JobInfo;)I
-HSPLcom/android/server/job/controllers/JobStatus;->setConstraintSatisfied(IZ)Z
-HSPLcom/android/server/job/controllers/JobStatus;->stopTrackingJobLocked(Landroid/app/IActivityManager;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/JobStatus;->toShortString()Ljava/lang/String;
-HSPLcom/android/server/job/controllers/JobStatus;->unprepareLocked(Landroid/app/IActivityManager;)V
-HSPLcom/android/server/job/controllers/JobStatus;->updateEstimatedNetworkBytesLocked()V
-HSPLcom/android/server/job/controllers/JobStatus;->wouldBeReadyWithConstraint(I)Z
-PLcom/android/server/job/controllers/JobStatus;->writeToShortProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/job/controllers/QuotaController$1;->onAlarm()V
-HSPLcom/android/server/job/controllers/QuotaController$2;->onUidStateChanged(IIJ)V
-HSPLcom/android/server/job/controllers/QuotaController$ChargingTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/job/controllers/QuotaController$ChargingTracker;->startTracking()V
-PLcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor$1;->test(Lcom/android/server/job/controllers/QuotaController$TimingSession;)Z
-PLcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor$1;->test(Ljava/lang/Object;)Z
-PLcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/controllers/QuotaController$Package;->toString()Ljava/lang/String;
-PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->getTriggerTimeElapsed()J
-PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->isWaiting()Z
-PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->onAlarm()V
-PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->setTriggerTime(J)V
-HSPLcom/android/server/job/controllers/QuotaController$QcHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onAppIdleStateChanged$0$QuotaController$StandbyTracker(IILjava/lang/String;)V
-HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onParoleStateChanged$1$QuotaController$StandbyTracker()V
-HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->onParoleStateChanged(Z)V
-PLcom/android/server/job/controllers/QuotaController$Timer;->dump(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/QuotaController$Timer;->dump(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->emitSessionLocked(J)V
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->getBgJobCount()I
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->getCurrentDuration(J)J
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->isActive()Z
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->onStateChanged(JZ)V
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->scheduleCutoff()V
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->startTrackingJob(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/QuotaController$Timer;->stopTrackingJob(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/QuotaController$TimingSession;-><init>(JJI)V
-PLcom/android/server/job/controllers/QuotaController$TimingSession;->dump(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/job/controllers/QuotaController$TimingSession;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->postProcess()V
-HSPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->reset()V
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->add(ILjava/lang/String;Ljava/lang/Object;)V
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->clear()V
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->delete(ILjava/lang/String;)V
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->forEach(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->get(ILjava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->indexOfKey(I)I
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->keyAt(I)I
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->keyAt(II)Ljava/lang/String;
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->numPackagesForUser(I)I
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->numUsers()I
-HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->valueAt(II)Ljava/lang/Object;
-HSPLcom/android/server/job/controllers/QuotaController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/QuotaController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/QuotaController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/QuotaController;->getExecutionStatsLocked(ILjava/lang/String;IZ)Lcom/android/server/job/controllers/QuotaController$ExecutionStats;
-HSPLcom/android/server/job/controllers/QuotaController;->handleNewChargingStateLocked()V
-HSPLcom/android/server/job/controllers/QuotaController;->incrementJobCount(ILjava/lang/String;I)V
-HSPLcom/android/server/job/controllers/QuotaController;->isUidInForeground(I)Z
-HSPLcom/android/server/job/controllers/QuotaController;->isUnderJobCountQuotaLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;I)Z
-HSPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(ILjava/lang/String;I)Z
-HSPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/controllers/QuotaController;->lambda$dumpControllerStateLocked$2$QuotaController(Ljava/util/function/Predicate;Lcom/android/internal/util/IndentingPrintWriter;Landroid/util/ArraySet;)V
-PLcom/android/server/job/controllers/QuotaController;->lambda$dumpControllerStateLocked$3$QuotaController(Ljava/util/function/Predicate;Landroid/util/proto/ProtoOutputStream;Landroid/util/ArraySet;)V
-HSPLcom/android/server/job/controllers/QuotaController;->lambda$onConstantsUpdatedLocked$0$QuotaController()V
-HSPLcom/android/server/job/controllers/QuotaController;->maybeScheduleCleanupAlarmLocked()V
-PLcom/android/server/job/controllers/QuotaController;->maybeScheduleStartAlarmLocked(ILjava/lang/String;I)V
-HSPLcom/android/server/job/controllers/QuotaController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/QuotaController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/QuotaController;->maybeUpdateAllConstraintsLocked()V
-HSPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForPkgLocked(ILjava/lang/String;)Z
-HSPLcom/android/server/job/controllers/QuotaController;->onAppRemovedLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/job/controllers/QuotaController;->onConstantsUpdatedLocked()V
-HSPLcom/android/server/job/controllers/QuotaController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/QuotaController;->saveTimingSession(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$TimingSession;)V
-HSPLcom/android/server/job/controllers/QuotaController;->updateExecutionStatsLocked(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$ExecutionStats;)V
-HSPLcom/android/server/job/controllers/StateController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/StateController;->onAppRemovedLocked(Ljava/lang/String;I)V
-HSPLcom/android/server/job/controllers/StateController;->onConstantsUpdatedLocked()V
-HSPLcom/android/server/job/controllers/StateController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/StateController;->reevaluateStateLocked(I)V
-HSPLcom/android/server/job/controllers/StateController;->rescheduleForFailureLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/StateController;->wouldBeReadyWithConstraintLocked(Lcom/android/server/job/controllers/JobStatus;I)Z
-PLcom/android/server/job/controllers/StorageController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/StorageController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/StorageController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/StorageController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/TimeController$1;->onAlarm()V
-HSPLcom/android/server/job/controllers/TimeController$2;->onAlarm()V
-HSPLcom/android/server/job/controllers/TimeController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-HSPLcom/android/server/job/controllers/TimeController;->canStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HSPLcom/android/server/job/controllers/TimeController;->checkExpiredDeadlinesAndResetAlarm()V
-HSPLcom/android/server/job/controllers/TimeController;->checkExpiredDelaysAndResetAlarm()V
-HSPLcom/android/server/job/controllers/TimeController;->deriveWorkSource(ILjava/lang/String;)Landroid/os/WorkSource;
-PLcom/android/server/job/controllers/TimeController;->dumpControllerStateLocked(Landroid/util/proto/ProtoOutputStream;JLjava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/TimeController;->dumpControllerStateLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/function/Predicate;)V
-HSPLcom/android/server/job/controllers/TimeController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/TimeController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/job/controllers/TimeController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/controllers/TimeController;->onConstantsUpdatedLocked()V
-HSPLcom/android/server/job/controllers/TimeController;->reevaluateStateLocked(I)V
-HSPLcom/android/server/job/controllers/TimeController;->updateAlarmWithListenerLocked(Ljava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;JLandroid/os/WorkSource;)V
-PLcom/android/server/job/controllers/idle/-$$Lambda$DeviceIdlenessTracker$-H1-ZwZAJ-vh10A0PeYXaZLj_R0;->onAlarm()V
-PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->handleIdleTrigger()V
-HSPLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->isIdle()Z
-PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->startTracking(Landroid/content/Context;Lcom/android/server/job/controllers/idle/IdlenessListener;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->systemRunning(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentClientLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentMethodLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateCurrentProfileIds()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateFromSettingsLocked(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateInputMethodsFromSettingsLocked(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateKeyboardFromSettingsLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked(II)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;-><init>(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->createFrom(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;Ljava/util/List;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->filterImeSubtypeList(Ljava/util/List;Z)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><init>(Ljava/util/List;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;-><init>(Ljava/util/List;Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$1;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->access$100(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/inputmethod/InputMethodInfo;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;)V
+HPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;->getSortedInputMethodAndSubtypeList(ZZ)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;-><init>(Ljava/util/List;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;->access$300(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;-><init>(Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Landroid/content/Context;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->createInstanceLocked(Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;Landroid/content/Context;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;->resetCircularListLocked(Landroid/content/Context;)V
+PLcom/android/server/inputmethod/InputMethodSystemProperty;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodSystemProperty;->getMultiClientImeComponentName()Landroid/content/ComponentName;
+PLcom/android/server/inputmethod/InputMethodUtils$1;-><init>()V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><init>(Landroid/content/res/Resources;Landroid/content/ContentResolver;Landroid/util/ArrayMap;IZ)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->addSubtypeToHistory(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildInputMethodsAndSubtypeList(Ljava/lang/String;Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->createEnabledInputMethodListLocked(Ljava/util/List;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getBoolean(Ljava/lang/String;Z)Z
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getCurrentUserId()I
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodListLocked()Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/content/Context;Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
+HPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsAndSubtypeListLocked()Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsStr()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethod()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethodSubtypeHashCode()I
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethodSubtypeId(Ljava/lang/String;)I
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSubtypeHistoryStr()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isCurrentProfile(I)Z
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isShowImeWithHardKeyboardEnabled()Z
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->loadInputMethodAndSubtypeHistoryLocked()Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putInt(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedInputMethod(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedSubtype(I)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putString(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSubtypeHistoryStr(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->saveCurrentInputMethodAndSubtypeToHistory(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->saveSubtypeHistory(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->setCurrentProfileIds([I)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->switchCurrentUser(IZ)V
+PLcom/android/server/inputmethod/InputMethodUtils;-><clinit>()V
+PLcom/android/server/inputmethod/InputMethodUtils;->access$300()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodUtils;->canAddToLastInputMethod(Landroid/view/inputmethod/InputMethodSubtype;)Z
+PLcom/android/server/inputmethod/InputMethodUtils;->checkIfPackageBelongsToUid(Landroid/app/AppOpsManager;ILjava/lang/String;)Z
+PLcom/android/server/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLocked(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+HPLcom/android/server/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLockedImpl(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodUtils;->getSubtypeIdFromHashCode(Landroid/view/inputmethod/InputMethodInfo;I)I
+PLcom/android/server/inputmethod/InputMethodUtils;->getSubtypes(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+PLcom/android/server/inputmethod/InputMethodUtils;->resolveUserId(IILjava/io/PrintWriter;)[I
+PLcom/android/server/inputmethod/InputMethodUtils;->setNonSelectedSystemImesDisabledUntilUsed(Landroid/content/pm/IPackageManager;Ljava/util/List;ILjava/lang/String;)V
+HSPLcom/android/server/lights/Light;-><init>()V
+HSPLcom/android/server/lights/LightsManager;-><init>()V
+HSPLcom/android/server/lights/LightsService$1;-><init>(Lcom/android/server/lights/LightsService;)V
HSPLcom/android/server/lights/LightsService$1;->getLight(I)Lcom/android/server/lights/Light;
+HSPLcom/android/server/lights/LightsService$2;-><init>(Lcom/android/server/lights/LightsService;)V
HSPLcom/android/server/lights/LightsService$LightImpl;-><init>(Lcom/android/server/lights/LightsService;Landroid/content/Context;I)V
+HSPLcom/android/server/lights/LightsService$LightImpl;-><init>(Lcom/android/server/lights/LightsService;Landroid/content/Context;ILcom/android/server/lights/LightsService$1;)V
HSPLcom/android/server/lights/LightsService$LightImpl;->setBrightness(I)V
HSPLcom/android/server/lights/LightsService$LightImpl;->setBrightness(II)V
-HSPLcom/android/server/lights/LightsService$LightImpl;->setColor(I)V
-HSPLcom/android/server/lights/LightsService$LightImpl;->setFlashing(IIII)V
+PLcom/android/server/lights/LightsService$LightImpl;->setColor(I)V
+PLcom/android/server/lights/LightsService$LightImpl;->setFlashing(IIII)V
HSPLcom/android/server/lights/LightsService$LightImpl;->setLightLocked(IIIII)V
-HSPLcom/android/server/lights/LightsService$LightImpl;->turnOff()V
+HSPLcom/android/server/lights/LightsService$LightImpl;->shouldBeInLowPersistenceMode()Z
+PLcom/android/server/lights/LightsService$LightImpl;->turnOff()V
HSPLcom/android/server/lights/LightsService;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/lights/LightsService;->onBootPhase(I)V
HSPLcom/android/server/lights/LightsService;->onStart()V
-HSPLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;->run()V
+PLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;-><init>(Lcom/android/server/location/GnssSatelliteBlacklistHelper;)V
+PLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;->run()V
+PLcom/android/server/location/-$$Lambda$ActivityRecognitionProxy$1$d2hvjp-Sk2zwb2N0mtEiubZ0jBE;-><init>(Lcom/android/server/location/ActivityRecognitionProxy;)V
PLcom/android/server/location/-$$Lambda$ActivityRecognitionProxy$1$d2hvjp-Sk2zwb2N0mtEiubZ0jBE;->run(Landroid/os/IBinder;)V
-HSPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
-PLcom/android/server/location/-$$Lambda$ContextHubClientBroker$iBGtMeLZ6k5dYJZb_VEUfBBYh9s;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
-PLcom/android/server/location/-$$Lambda$ContextHubClientBroker$ykmLCadaR6NcV4R42i4K8zw4AWs;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
-PLcom/android/server/location/-$$Lambda$ContextHubClientManager$VPD5ebhe8Z67S8QKuTR4KzeshK8;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;->accept(Ljava/lang/Object;)V
-PLcom/android/server/location/-$$Lambda$ContextHubClientManager$gN_vRogwyzr9qBjrQpKwwHzrFAo;->accept(Ljava/lang/Object;)V
-PLcom/android/server/location/-$$Lambda$ContextHubService$HPGvKluemttyVfAcSog-eXiJyHE;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;-><init>(Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
+HPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$P9IUEzaG4gP8jALe00of9jdlrGw;-><init>(Lcom/android/server/location/ContextHubClientBroker;Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;-><init>(Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;->accept(Ljava/lang/Object;)V
+PLcom/android/server/location/-$$Lambda$ContextHubService$yrt4Ybb62ufyqsQQMJoTJ2JMw_4;-><init>(Landroid/hardware/location/NanoAppFilter;Ljava/util/ArrayList;)V
PLcom/android/server/location/-$$Lambda$ContextHubService$yrt4Ybb62ufyqsQQMJoTJ2JMw_4;->accept(Ljava/lang/Object;)V
-PLcom/android/server/location/-$$Lambda$GeocoderProxy$jfLn3HL2BzwsKdoI6ZZeFfEe10k;->run(Landroid/os/IBinder;)Ljava/lang/Object;
+PLcom/android/server/location/-$$Lambda$ContextHubTransactionManager$sHbjr4TaLEATkCX_yhD2L7ebuxE;-><init>(Lcom/android/server/location/ContextHubTransactionManager;Lcom/android/server/location/ContextHubServiceTransaction;)V
+PLcom/android/server/location/-$$Lambda$GeofenceProxy$nfSKchjbT2ANT9GbYwyAcTjzBwQ;-><init>(Lcom/android/server/location/GeofenceProxy;)V
PLcom/android/server/location/-$$Lambda$GeofenceProxy$nfSKchjbT2ANT9GbYwyAcTjzBwQ;->run(Landroid/os/IBinder;)V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;->set(I)Z
-HSPLcom/android/server/location/-$$Lambda$GnssLocationProvider$66Ps_H__HqfpDfa8sAGZy2xaKsc;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$7an4_QLRsGpd_GYEEX9o8MWsh5g;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$AqYK7fn42KqHmtzfEEHCId_ucqc;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$OlaPfB60MVaXRIn-eVwZiybyWF4;->run()V
-HSPLcom/android/server/location/-$$Lambda$GnssLocationProvider$Q6M8z_ZBiD7BNs3kvNmVrqoHSng;->onNetworkAvailable()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$UbVMf2XkqNujf6ZZYbD3ITfhy98;->run()V
-HSPLcom/android/server/location/-$$Lambda$GnssLocationProvider$WbIUWqWbiKrZx6NHwSpsFU1pHKI;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$ii5CD-UWWm-fq57JzZZBF3Nxnic;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$oV78CWPlpzb195CgVgv-_YipNWw;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$rE3aXybVXWDfHPxCjEXzxG9bPmo;->getGnssMetricsAsProtoString()Ljava/lang/String;
-PLcom/android/server/location/-$$Lambda$GnssMeasurementsProvider$Qlkb-fzzYggD17FlZmrylRJr2vE;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
-PLcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$YEGTN3glQ7Hr1FK-xXGbC4KcmJY;->run()V
-HSPLcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$aTyNcuGLHmJGtXKl9qoZpMmhfBY;->run()V
-HSPLcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$axxNnxmo3KqgsSDot69yokC4KVE;->run()V
-PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$68FOYPQxCAVSdtoWmmZNfYGGIJE;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;->set(I)Z
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$3-p6UujuU3pwMrR_jYW3uvQiXNM;-><init>(Lcom/android/server/location/GnssLocationProvider;ILandroid/location/Location;)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$3-p6UujuU3pwMrR_jYW3uvQiXNM;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$Q6M8z_ZBiD7BNs3kvNmVrqoHSng;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$Q6M8z_ZBiD7BNs3kvNmVrqoHSng;->onNetworkAvailable()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$_xEBoJSNGaiPvO5kj-sfJB7tZYk;-><init>(Lcom/android/server/location/GnssLocationProvider;[I[I)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$_xEBoJSNGaiPvO5kj-sfJB7tZYk;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$adAUsgD5mK9uoxw0KEjaMYtp_Ro;-><init>(Lcom/android/server/location/GnssLocationProvider;II)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$adAUsgD5mK9uoxw0KEjaMYtp_Ro;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$cSSwMZHkxTRwFeOp8gWaG_qGZ5A;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$cSSwMZHkxTRwFeOp8gWaG_qGZ5A;->onDeviceStationaryChanged(Z)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$ecDMZdWsEh2URVlhxaEdh1Ifjc8;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$ecDMZdWsEh2URVlhxaEdh1Ifjc8;->getGnssMetricsAsProtoString()Ljava/lang/String;
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$iKRZ4-bb3otAVYEgv859Z4uWXAo;-><init>(Lcom/android/server/location/GnssLocationProvider;ILandroid/location/Location;IJ)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$iKRZ4-bb3otAVYEgv859Z4uWXAo;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$jmXMIeP-Oz1yyVRIDOicfl2ucfI;-><init>(Lcom/android/server/location/GnssLocationProvider;I)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$jmXMIeP-Oz1yyVRIDOicfl2ucfI;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$rgfO__O6aj3JBohawF88T-AfsaY;-><init>(Lcom/android/server/location/GnssLocationProvider;II)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$rgfO__O6aj3JBohawF88T-AfsaY;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$zDU-4stA5kbnbj2CmSK2PauyroM;-><init>(Lcom/android/server/location/GnssLocationProvider$LocationChangeListener;Ljava/lang/String;Landroid/location/LocationManager;)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$zDU-4stA5kbnbj2CmSK2PauyroM;->run()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$6s2HBSMgP5pXrugfCvtIf9QHndI;-><clinit>()V
PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$6s2HBSMgP5pXrugfCvtIf9QHndI;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$6s2HBSMgP5pXrugfCvtIf9QHndI;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+HPLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$AtHI8E6PAjonHH1N0ZGabW0VF6c;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;JLjava/lang/String;)V
PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$AtHI8E6PAjonHH1N0ZGabW0VF6c;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
-HSPLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;-><init>()V
-HSPLcom/android/server/location/-$$Lambda$LocationProviderProxy$2$QT3uzVX4fLIc1b7F_cP9P1hzluA;->run(Landroid/os/IBinder;)V
-HSPLcom/android/server/location/-$$Lambda$LocationProviderProxy$p3DjIvk7Of_sUF4Dc9plMNfdklc;->run(Landroid/os/IBinder;)V
-HSPLcom/android/server/location/-$$Lambda$NtpTimeHelper$xPxgficKWFyuwUj60WMuiGEEjdg;->run()V
-HSPLcom/android/server/location/-$$Lambda$NtpTimeHelper$xWqlqJuq4jBJ5-xhFLCwEKGVB0k;->run()V
-HSPLcom/android/server/location/-$$Lambda$RemoteListenerHelper$0Rlnad83RE1JdiVK0ULOLm530JM;->run()V
-HSPLcom/android/server/location/AbstractLocationProvider;->getProviderPackages()Ljava/util/List;
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$WA8CUTRQeFIyZhMJFtziHItmYNA;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;I[I[F[F[F[F[F)V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$WA8CUTRQeFIyZhMJFtziHItmYNA;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$LocationProviderProxy$2$QT3uzVX4fLIc1b7F_cP9P1hzluA;-><init>(Lcom/android/server/location/LocationProviderProxy;)V
+PLcom/android/server/location/-$$Lambda$LocationProviderProxy$2$QT3uzVX4fLIc1b7F_cP9P1hzluA;->run(Landroid/os/IBinder;)V
+PLcom/android/server/location/-$$Lambda$LocationProviderProxy$ogMhKVFSASoXJPyFn-xsjSkNpe0;-><init>(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/-$$Lambda$LocationProviderProxy$ogMhKVFSASoXJPyFn-xsjSkNpe0;->run(Landroid/os/IBinder;)V
+PLcom/android/server/location/-$$Lambda$LocationSettingsStore$FSM6khNR8gXmFeTsAWvdXgk6aYY;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$LocationSettingsStore$FSM6khNR8gXmFeTsAWvdXgk6aYY;-><init>()V
+PLcom/android/server/location/-$$Lambda$LocationSettingsStore$FSM6khNR8gXmFeTsAWvdXgk6aYY;->get()Ljava/lang/Object;
+PLcom/android/server/location/-$$Lambda$LocationSettingsStore$k_IS3lfsliNZ8moQnq2NpYztkWE;-><clinit>()V
+PLcom/android/server/location/-$$Lambda$LocationSettingsStore$k_IS3lfsliNZ8moQnq2NpYztkWE;-><init>()V
+PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xPxgficKWFyuwUj60WMuiGEEjdg;-><init>(Lcom/android/server/location/NtpTimeHelper;JJJ)V
+PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xPxgficKWFyuwUj60WMuiGEEjdg;->run()V
+PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xWqlqJuq4jBJ5-xhFLCwEKGVB0k;-><init>(Lcom/android/server/location/NtpTimeHelper;)V
+PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xWqlqJuq4jBJ5-xhFLCwEKGVB0k;->run()V
+PLcom/android/server/location/-$$Lambda$RemoteListenerHelper$0Rlnad83RE1JdiVK0ULOLm530JM;-><init>(Lcom/android/server/location/RemoteListenerHelper;)V
+PLcom/android/server/location/-$$Lambda$RemoteListenerHelper$0Rlnad83RE1JdiVK0ULOLm530JM;->run()V
+PLcom/android/server/location/AbstractLocationProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;)V
+PLcom/android/server/location/AbstractLocationProvider;->getProviderPackages()Ljava/util/List;
PLcom/android/server/location/AbstractLocationProvider;->reportLocation(Landroid/location/Location;)V
-HSPLcom/android/server/location/AbstractLocationProvider;->setEnabled(Z)V
-HSPLcom/android/server/location/AbstractLocationProvider;->setProperties(Lcom/android/internal/location/ProviderProperties;)V
+PLcom/android/server/location/AbstractLocationProvider;->setEnabled(Z)V
+PLcom/android/server/location/AbstractLocationProvider;->setProperties(Lcom/android/internal/location/ProviderProperties;)V
+PLcom/android/server/location/ActivityRecognitionProxy$1;-><init>(Lcom/android/server/location/ActivityRecognitionProxy;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
PLcom/android/server/location/ActivityRecognitionProxy$1;->onBind()V
-HSPLcom/android/server/location/ActivityRecognitionProxy;-><init>(Landroid/content/Context;ZLandroid/hardware/location/ActivityRecognitionHardware;III)V
-HSPLcom/android/server/location/ActivityRecognitionProxy;->createAndBind(Landroid/content/Context;ZLandroid/hardware/location/ActivityRecognitionHardware;III)Lcom/android/server/location/ActivityRecognitionProxy;
+PLcom/android/server/location/ActivityRecognitionProxy;-><init>(Landroid/content/Context;ZLandroid/hardware/location/ActivityRecognitionHardware;III)V
+PLcom/android/server/location/ActivityRecognitionProxy;->createAndBind(Landroid/content/Context;ZLandroid/hardware/location/ActivityRecognitionHardware;III)Lcom/android/server/location/ActivityRecognitionProxy;
PLcom/android/server/location/ActivityRecognitionProxy;->initializeService(Landroid/os/IBinder;)V
-PLcom/android/server/location/ComprehensiveCountryDetector$1;->onCountryDetected(Landroid/location/Country;)V
-HSPLcom/android/server/location/ComprehensiveCountryDetector$2;->run()V
-PLcom/android/server/location/ComprehensiveCountryDetector$4;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->addPhoneStateListener()V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->addToLogs(Landroid/location/Country;)V
+PLcom/android/server/location/CallerIdentity;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/ComprehensiveCountryDetector$1;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/ComprehensiveCountryDetector$2;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;Landroid/location/Country;Landroid/location/Country;ZZ)V
+PLcom/android/server/location/ComprehensiveCountryDetector$2;->run()V
+PLcom/android/server/location/ComprehensiveCountryDetector$4;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/ComprehensiveCountryDetector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/ComprehensiveCountryDetector;->addPhoneStateListener()V
+PLcom/android/server/location/ComprehensiveCountryDetector;->addToLogs(Landroid/location/Country;)V
PLcom/android/server/location/ComprehensiveCountryDetector;->cancelLocationRefresh()V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->createLocationBasedCountryDetector()Lcom/android/server/location/CountryDetectorBase;
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->detectCountry()Landroid/location/Country;
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->getLastKnownLocationBasedCountry()Landroid/location/Country;
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->getLocaleCountry()Landroid/location/Country;
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->getNetworkBasedCountry()Landroid/location/Country;
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->getSimBasedCountry()Landroid/location/Country;
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->isAirplaneModeOff()Z
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->isGeoCoderImplemented()Z
PLcom/android/server/location/ComprehensiveCountryDetector;->removePhoneStateListener()V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetection(Landroid/location/Country;Landroid/location/Country;ZZ)V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetectionAsync(Landroid/location/Country;Landroid/location/Country;ZZ)V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->scheduleLocationRefresh()V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->setCountryListener(Landroid/location/CountryListener;)V
-HSPLcom/android/server/location/ComprehensiveCountryDetector;->startLocationBasedDetector(Landroid/location/CountryListener;)V
+PLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetection(Landroid/location/Country;Landroid/location/Country;ZZ)V
+PLcom/android/server/location/ComprehensiveCountryDetector;->setCountryListener(Landroid/location/CountryListener;)V
PLcom/android/server/location/ComprehensiveCountryDetector;->stopLocationBasedDetector()V
-PLcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;->clear()V
-HSPLcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;->hasPendingIntent()Z
-HSPLcom/android/server/location/ContextHubClientBroker;->binderDied()V
+PLcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;-><init>(Lcom/android/server/location/ContextHubClientBroker;)V
+PLcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;->isValid()Z
+PLcom/android/server/location/ContextHubClientBroker;-><init>(Landroid/content/Context;Landroid/hardware/contexthub/V1_0/IContexthub;Lcom/android/server/location/ContextHubClientManager;Landroid/hardware/location/ContextHubInfo;SLandroid/hardware/location/IContextHubClientCallback;)V
+PLcom/android/server/location/ContextHubClientBroker;->attachDeathRecipient()V
+PLcom/android/server/location/ContextHubClientBroker;->binderDied()V
PLcom/android/server/location/ContextHubClientBroker;->close()V
-HSPLcom/android/server/location/ContextHubClientBroker;->getAttachedContextHubId()I
-HSPLcom/android/server/location/ContextHubClientBroker;->invokeCallback(Lcom/android/server/location/ContextHubClientBroker$CallbackConsumer;)V
-HSPLcom/android/server/location/ContextHubClientBroker;->isRegistered()Z
-HSPLcom/android/server/location/ContextHubClientBroker;->onClientExit()V
-PLcom/android/server/location/ContextHubClientBroker;->onNanoAppLoaded(J)V
-PLcom/android/server/location/ContextHubClientBroker;->onNanoAppUnloaded(J)V
-HSPLcom/android/server/location/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;)V
-HSPLcom/android/server/location/ContextHubClientBroker;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
-HSPLcom/android/server/location/ContextHubClientBroker;->sendPendingIntent(Ljava/util/function/Supplier;J)V
-HSPLcom/android/server/location/ContextHubClientManager;->forEachClientOfHub(ILjava/util/function/Consumer;)V
-HSPLcom/android/server/location/ContextHubClientManager;->getHostEndPointId()S
-HSPLcom/android/server/location/ContextHubClientManager;->onMessageFromNanoApp(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-PLcom/android/server/location/ContextHubClientManager;->onNanoAppLoaded(IJ)V
-PLcom/android/server/location/ContextHubClientManager;->onNanoAppUnloaded(IJ)V
-HSPLcom/android/server/location/ContextHubClientManager;->registerClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
-HSPLcom/android/server/location/ContextHubClientManager;->unregisterClient(S)V
-HSPLcom/android/server/location/ContextHubService$1;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
-PLcom/android/server/location/ContextHubService$1;->onNanoAppLoaded(J)V
-PLcom/android/server/location/ContextHubService$1;->onNanoAppUnloaded(J)V
-PLcom/android/server/location/ContextHubService$2;->onTransactionComplete(I)V
-PLcom/android/server/location/ContextHubService$3;->onTransactionComplete(I)V
-HSPLcom/android/server/location/ContextHubService$4;->onQueryResponse(ILjava/util/List;)V
-HSPLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleAppsInfo(Ljava/util/ArrayList;)V
-HSPLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleClientMsg(Landroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleTxnResult(II)V
-HSPLcom/android/server/location/ContextHubService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/location/ContextHubService;->checkHalProxyAndContextHubId(ILandroid/hardware/location/IContextHubTransactionCallback;I)Z
-HSPLcom/android/server/location/ContextHubService;->createClient(ILandroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
-PLcom/android/server/location/ContextHubService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/location/ContextHubClientBroker;->getAttachedContextHubId()I
+PLcom/android/server/location/ContextHubClientBroker;->getHostEndPointId()S
+PLcom/android/server/location/ContextHubClientBroker;->invokeCallback(Lcom/android/server/location/ContextHubClientBroker$CallbackConsumer;)V
+PLcom/android/server/location/ContextHubClientBroker;->isRegistered()Z
+PLcom/android/server/location/ContextHubClientBroker;->onClientExit()V
+PLcom/android/server/location/ContextHubClientBroker;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
+PLcom/android/server/location/ContextHubClientBroker;->sendPendingIntent(Ljava/util/function/Supplier;J)V
+PLcom/android/server/location/ContextHubClientBroker;->toString()Ljava/lang/String;
+PLcom/android/server/location/ContextHubClientManager$ConcurrentLinkedEvictingDeque;-><init>(Lcom/android/server/location/ContextHubClientManager;I)V
+PLcom/android/server/location/ContextHubClientManager$ConcurrentLinkedEvictingDeque;->add(Ljava/lang/Object;)Z
+PLcom/android/server/location/ContextHubClientManager$RegistrationRecord;-><init>(Lcom/android/server/location/ContextHubClientManager;Ljava/lang/String;I)V
+PLcom/android/server/location/ContextHubClientManager;-><init>(Landroid/content/Context;Landroid/hardware/contexthub/V1_0/IContexthub;)V
+PLcom/android/server/location/ContextHubClientManager;->forEachClientOfHub(ILjava/util/function/Consumer;)V
+PLcom/android/server/location/ContextHubClientManager;->getHostEndPointId()S
+HPLcom/android/server/location/ContextHubClientManager;->onMessageFromNanoApp(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
+PLcom/android/server/location/ContextHubClientManager;->registerClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
+PLcom/android/server/location/ContextHubClientManager;->unregisterClient(S)V
+PLcom/android/server/location/ContextHubService$1;-><init>(Lcom/android/server/location/ContextHubService;I)V
+PLcom/android/server/location/ContextHubService$1;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
+PLcom/android/server/location/ContextHubService$4;-><init>(Lcom/android/server/location/ContextHubService;I)V
+PLcom/android/server/location/ContextHubService$4;->onQueryResponse(ILjava/util/List;)V
+PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;-><init>(Lcom/android/server/location/ContextHubService;I)V
+PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleAppsInfo(Ljava/util/ArrayList;)V
+PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleClientMsg(Landroid/hardware/contexthub/V1_0/ContextHubMsg;)V
+PLcom/android/server/location/ContextHubService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/ContextHubService;->access$400(Lcom/android/server/location/ContextHubService;ILjava/util/List;)V
+PLcom/android/server/location/ContextHubService;->access$600(Lcom/android/server/location/ContextHubService;III[B)I
+PLcom/android/server/location/ContextHubService;->checkHalProxyAndContextHubId(ILandroid/hardware/location/IContextHubTransactionCallback;I)Z
+PLcom/android/server/location/ContextHubService;->checkPermissions()V
+PLcom/android/server/location/ContextHubService;->createClient(ILandroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
+PLcom/android/server/location/ContextHubService;->createDefaultClientCallback(I)Landroid/hardware/location/IContextHubClientCallback;
+PLcom/android/server/location/ContextHubService;->createQueryTransactionCallback(I)Landroid/hardware/location/IContextHubTransactionCallback;
PLcom/android/server/location/ContextHubService;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
PLcom/android/server/location/ContextHubService;->getContextHubHandles()[I
PLcom/android/server/location/ContextHubService;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-HSPLcom/android/server/location/ContextHubService;->getContextHubProxy()Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLcom/android/server/location/ContextHubService;->getContextHubs()Ljava/util/List;
+PLcom/android/server/location/ContextHubService;->getContextHubProxy()Landroid/hardware/contexthub/V1_0/IContexthub;
+PLcom/android/server/location/ContextHubService;->getContextHubs()Ljava/util/List;
PLcom/android/server/location/ContextHubService;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-PLcom/android/server/location/ContextHubService;->handleLoadResponseOldApi(IILandroid/hardware/location/NanoAppBinary;)V
-PLcom/android/server/location/ContextHubService;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
-HSPLcom/android/server/location/ContextHubService;->onMessageReceiptOldApi(III[B)I
-HSPLcom/android/server/location/ContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
-HSPLcom/android/server/location/ContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
+PLcom/android/server/location/ContextHubService;->handleQueryAppsCallback(ILjava/util/List;)V
+PLcom/android/server/location/ContextHubService;->isValidContextHubId(I)Z
+PLcom/android/server/location/ContextHubService;->onMessageReceiptOldApi(III[B)I
+PLcom/android/server/location/ContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
+PLcom/android/server/location/ContextHubService;->queryNanoAppsInternal(I)I
+PLcom/android/server/location/ContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
PLcom/android/server/location/ContextHubService;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
-PLcom/android/server/location/ContextHubService;->unloadNanoApp(I)I
-HSPLcom/android/server/location/ContextHubServiceTransaction;->getTimeout(Ljava/util/concurrent/TimeUnit;)J
-PLcom/android/server/location/ContextHubServiceTransaction;->getTransactionId()I
-HSPLcom/android/server/location/ContextHubServiceTransaction;->getTransactionType()I
-HSPLcom/android/server/location/ContextHubServiceTransaction;->setComplete()V
-HSPLcom/android/server/location/ContextHubServiceUtil;->createContextHubInfoMap(Ljava/util/List;)Ljava/util/HashMap;
-PLcom/android/server/location/ContextHubServiceUtil;->createHidlNanoAppBinary(Landroid/hardware/location/NanoAppBinary;)Landroid/hardware/contexthub/V1_0/NanoAppBinary;
-HSPLcom/android/server/location/ContextHubServiceUtil;->createNanoAppStateList(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/location/ContextHubServiceTransaction;-><init>(II)V
+PLcom/android/server/location/ContextHubServiceTransaction;->getTimeout(Ljava/util/concurrent/TimeUnit;)J
+PLcom/android/server/location/ContextHubServiceTransaction;->getTransactionType()I
+PLcom/android/server/location/ContextHubServiceTransaction;->setComplete()V
+PLcom/android/server/location/ContextHubServiceUtil;->checkPermissions(Landroid/content/Context;)V
+PLcom/android/server/location/ContextHubServiceUtil;->copyToByteArrayList([BLjava/util/ArrayList;)V
+PLcom/android/server/location/ContextHubServiceUtil;->createContextHubInfoMap(Ljava/util/List;)Ljava/util/HashMap;
+PLcom/android/server/location/ContextHubServiceUtil;->createHidlContextHubMessage(SLandroid/hardware/location/NanoAppMessage;)Landroid/hardware/contexthub/V1_0/ContextHubMsg;
+PLcom/android/server/location/ContextHubServiceUtil;->createNanoAppStateList(Ljava/util/List;)Ljava/util/List;
PLcom/android/server/location/ContextHubServiceUtil;->createPrimitiveIntArray(Ljava/util/Collection;)[I
-PLcom/android/server/location/ContextHubTransactionManager$1;->onTransact()I
-PLcom/android/server/location/ContextHubTransactionManager$1;->onTransactionComplete(I)V
-PLcom/android/server/location/ContextHubTransactionManager$2;->onTransact()I
-PLcom/android/server/location/ContextHubTransactionManager$2;->onTransactionComplete(I)V
-HSPLcom/android/server/location/ContextHubTransactionManager$5;->onQueryResponse(ILjava/util/List;)V
-HSPLcom/android/server/location/ContextHubTransactionManager$5;->onTransact()I
-HSPLcom/android/server/location/ContextHubTransactionManager;-><init>(Landroid/hardware/contexthub/V1_0/IContexthub;Lcom/android/server/location/ContextHubClientManager;Lcom/android/server/location/NanoAppStateManager;)V
-HSPLcom/android/server/location/ContextHubTransactionManager;->addTransaction(Lcom/android/server/location/ContextHubServiceTransaction;)V
-PLcom/android/server/location/ContextHubTransactionManager;->createLoadTransaction(ILandroid/hardware/location/NanoAppBinary;Landroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
-HSPLcom/android/server/location/ContextHubTransactionManager;->createQueryTransaction(ILandroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
-PLcom/android/server/location/ContextHubTransactionManager;->createUnloadTransaction(IJLandroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
-HSPLcom/android/server/location/ContextHubTransactionManager;->onQueryResponse(Ljava/util/List;)V
-PLcom/android/server/location/ContextHubTransactionManager;->onTransactionResponse(II)V
-HSPLcom/android/server/location/ContextHubTransactionManager;->startNextTransaction()V
-PLcom/android/server/location/CountryDetectorBase;->notifyListener(Landroid/location/Country;)V
-HSPLcom/android/server/location/CountryDetectorBase;->setCountryListener(Landroid/location/CountryListener;)V
-HSPLcom/android/server/location/ExponentialBackOff;->reset()V
-HSPLcom/android/server/location/GeocoderProxy;->createAndBind(Landroid/content/Context;III)Lcom/android/server/location/GeocoderProxy;
-PLcom/android/server/location/GeocoderProxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HSPLcom/android/server/location/GeofenceManager;-><init>(Landroid/content/Context;Lcom/android/server/location/LocationBlacklist;)V
+PLcom/android/server/location/ContextHubServiceUtil;->toTransactionResult(I)I
+PLcom/android/server/location/ContextHubTransactionManager$5;-><init>(Lcom/android/server/location/ContextHubTransactionManager;IIILandroid/hardware/location/IContextHubTransactionCallback;)V
+PLcom/android/server/location/ContextHubTransactionManager$5;->onQueryResponse(ILjava/util/List;)V
+PLcom/android/server/location/ContextHubTransactionManager$5;->onTransact()I
+PLcom/android/server/location/ContextHubTransactionManager;-><init>(Landroid/hardware/contexthub/V1_0/IContexthub;Lcom/android/server/location/ContextHubClientManager;Lcom/android/server/location/NanoAppStateManager;)V
+PLcom/android/server/location/ContextHubTransactionManager;->access$000(Lcom/android/server/location/ContextHubTransactionManager;)Landroid/hardware/contexthub/V1_0/IContexthub;
+PLcom/android/server/location/ContextHubTransactionManager;->addTransaction(Lcom/android/server/location/ContextHubServiceTransaction;)V
+PLcom/android/server/location/ContextHubTransactionManager;->createQueryTransaction(ILandroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
+PLcom/android/server/location/ContextHubTransactionManager;->onQueryResponse(Ljava/util/List;)V
+PLcom/android/server/location/ContextHubTransactionManager;->removeTransactionAndStartNext()V
+PLcom/android/server/location/ContextHubTransactionManager;->startNextTransaction()V
+PLcom/android/server/location/CountryDetectorBase;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/ExponentialBackOff;-><init>(JJ)V
+PLcom/android/server/location/ExponentialBackOff;->reset()V
+PLcom/android/server/location/GeocoderProxy;-><init>(Landroid/content/Context;III)V
+PLcom/android/server/location/GeocoderProxy;->bind()Z
+PLcom/android/server/location/GeocoderProxy;->createAndBind(Landroid/content/Context;III)Lcom/android/server/location/GeocoderProxy;
+PLcom/android/server/location/GeofenceManager$GeofenceHandler;-><init>(Lcom/android/server/location/GeofenceManager;Landroid/os/Looper;)V
+PLcom/android/server/location/GeofenceManager$GeofenceHandler;-><init>(Lcom/android/server/location/GeofenceManager;Landroid/os/Looper;Lcom/android/server/location/GeofenceManager$1;)V
+PLcom/android/server/location/GeofenceManager;-><clinit>()V
+PLcom/android/server/location/GeofenceManager;-><init>(Landroid/content/Context;Lcom/android/server/location/LocationSettingsStore;)V
PLcom/android/server/location/GeofenceManager;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/location/GeofenceProxy$1;-><init>(Lcom/android/server/location/GeofenceProxy;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
PLcom/android/server/location/GeofenceProxy$1;->onBind()V
-HSPLcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/location/GeofenceProxy;-><init>(Landroid/content/Context;IIILandroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)V
-HSPLcom/android/server/location/GeofenceProxy;->createAndBind(Landroid/content/Context;IIILandroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)Lcom/android/server/location/GeofenceProxy;
+PLcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;-><init>(Lcom/android/server/location/GeofenceProxy;)V
+PLcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;-><init>(Lcom/android/server/location/GeofenceProxy;Lcom/android/server/location/GeofenceProxy$1;)V
+PLcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/location/GeofenceProxy;-><init>(Landroid/content/Context;IIILandroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)V
+PLcom/android/server/location/GeofenceProxy;->access$000(Lcom/android/server/location/GeofenceProxy;)Lcom/android/server/ServiceWatcher$BinderRunner;
+PLcom/android/server/location/GeofenceProxy;->access$200(Lcom/android/server/location/GeofenceProxy;)Landroid/location/IGpsGeofenceHardware;
+PLcom/android/server/location/GeofenceProxy;->access$300(Lcom/android/server/location/GeofenceProxy;)Landroid/location/IFusedGeofenceHardware;
+PLcom/android/server/location/GeofenceProxy;->access$402(Lcom/android/server/location/GeofenceProxy;Landroid/hardware/location/IGeofenceHardware;)Landroid/hardware/location/IGeofenceHardware;
+PLcom/android/server/location/GeofenceProxy;->access$500(Lcom/android/server/location/GeofenceProxy;)Lcom/android/server/ServiceWatcher;
+PLcom/android/server/location/GeofenceProxy;->bind()Z
+PLcom/android/server/location/GeofenceProxy;->createAndBind(Landroid/content/Context;IIILandroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)Lcom/android/server/location/GeofenceProxy;
PLcom/android/server/location/GeofenceProxy;->lambda$new$0$GeofenceProxy(Landroid/os/IBinder;)V
-PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->cleanupBatching()V
-HSPLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->initBatching()Z
-PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->stopBatch()Z
+PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;-><init>()V
+PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->initBatching()Z
+PLcom/android/server/location/GnssBatchingProvider;-><clinit>()V
+PLcom/android/server/location/GnssBatchingProvider;-><init>()V
+PLcom/android/server/location/GnssBatchingProvider;-><init>(Lcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;)V
+PLcom/android/server/location/GnssBatchingProvider;->access$400()Z
PLcom/android/server/location/GnssBatchingProvider;->disable()V
-HSPLcom/android/server/location/GnssBatchingProvider;->enable()V
-HSPLcom/android/server/location/GnssBatchingProvider;->resumeIfStarted()V
-PLcom/android/server/location/GnssBatchingProvider;->stop()Z
-HSPLcom/android/server/location/GnssConfiguration$1;-><init>(Lcom/android/server/location/GnssConfiguration;Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)V
-HSPLcom/android/server/location/GnssConfiguration$HalInterfaceVersion;-><init>(II)V
-HSPLcom/android/server/location/GnssConfiguration;->getC2KHost()Ljava/lang/String;
-HSPLcom/android/server/location/GnssConfiguration;->getC2KPort(I)I
-HSPLcom/android/server/location/GnssConfiguration;->getEsExtensionSec()I
-HSPLcom/android/server/location/GnssConfiguration;->getIntConfig(Ljava/lang/String;I)I
-HSPLcom/android/server/location/GnssConfiguration;->getLppProfile()Ljava/lang/String;
-HSPLcom/android/server/location/GnssConfiguration;->getRangeCheckedConfigEsExtensionSec()I
-HSPLcom/android/server/location/GnssConfiguration;->getSuplEs(I)I
-HSPLcom/android/server/location/GnssConfiguration;->getSuplHost()Ljava/lang/String;
-HSPLcom/android/server/location/GnssConfiguration;->getSuplMode(I)I
-HSPLcom/android/server/location/GnssConfiguration;->getSuplPort(I)I
-HSPLcom/android/server/location/GnssConfiguration;->loadPropertiesFromCarrierConfig()V
-HSPLcom/android/server/location/GnssConfiguration;->loadPropertiesFromGpsDebugConfig(Ljava/util/Properties;)V
-HSPLcom/android/server/location/GnssConfiguration;->logConfigurations()V
-HSPLcom/android/server/location/GnssConfiguration;->reloadGpsProperties()V
-HSPLcom/android/server/location/GnssConfiguration;->setSatelliteBlacklist([I[I)V
-PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->addGeofence(IDDDIIII)Z
-HSPLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->isGeofenceSupported()Z
-PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->removeGeofence(I)Z
+PLcom/android/server/location/GnssBatchingProvider;->enable()V
+PLcom/android/server/location/GnssBatchingProvider;->resumeIfStarted()V
+PLcom/android/server/location/GnssCapabilitiesProvider;-><clinit>()V
+PLcom/android/server/location/GnssCapabilitiesProvider;-><init>()V
+PLcom/android/server/location/GnssCapabilitiesProvider;->hasCapability(II)Z
+PLcom/android/server/location/GnssCapabilitiesProvider;->setTopHalCapabilities(I)V
+PLcom/android/server/location/GnssConfiguration$1;-><init>(Lcom/android/server/location/GnssConfiguration;Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)V
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$0(I)Z
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$1(I)Z
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$2(I)Z
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$3(I)Z
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$4(I)Z
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$5(I)Z
+PLcom/android/server/location/GnssConfiguration$1;->lambda$new$6(I)Z
+PLcom/android/server/location/GnssConfiguration$HalInterfaceVersion;-><init>(II)V
+PLcom/android/server/location/GnssConfiguration;-><clinit>()V
+PLcom/android/server/location/GnssConfiguration;-><init>(Landroid/content/Context;)V
+PLcom/android/server/location/GnssConfiguration;->access$000(Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/GnssConfiguration;->access$100(Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/GnssConfiguration;->access$200(I)Z
+PLcom/android/server/location/GnssConfiguration;->access$300(I)Z
+PLcom/android/server/location/GnssConfiguration;->access$400(I)Z
+PLcom/android/server/location/GnssConfiguration;->access$500(I)Z
+PLcom/android/server/location/GnssConfiguration;->access$600(I)Z
+PLcom/android/server/location/GnssConfiguration;->access$700(I)Z
+PLcom/android/server/location/GnssConfiguration;->access$800(I)Z
+PLcom/android/server/location/GnssConfiguration;->getC2KHost()Ljava/lang/String;
+PLcom/android/server/location/GnssConfiguration;->getC2KPort(I)I
+PLcom/android/server/location/GnssConfiguration;->getEsExtensionSec()I
+PLcom/android/server/location/GnssConfiguration;->getIntConfig(Ljava/lang/String;I)I
+PLcom/android/server/location/GnssConfiguration;->getRangeCheckedConfigEsExtensionSec()I
+PLcom/android/server/location/GnssConfiguration;->getSuplEs(I)I
+PLcom/android/server/location/GnssConfiguration;->getSuplHost()Ljava/lang/String;
+PLcom/android/server/location/GnssConfiguration;->getSuplMode(I)I
+PLcom/android/server/location/GnssConfiguration;->getSuplPort(I)I
+PLcom/android/server/location/GnssConfiguration;->isConfigEsExtensionSecSupported(Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/GnssConfiguration;->isConfigGpsLockSupported(Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/GnssConfiguration;->isConfigSuplEsSupported(Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)Z
+PLcom/android/server/location/GnssConfiguration;->loadPropertiesFromCarrierConfig()V
+PLcom/android/server/location/GnssConfiguration;->loadPropertiesFromGpsDebugConfig(Ljava/util/Properties;)V
+PLcom/android/server/location/GnssConfiguration;->logConfigurations()V
+PLcom/android/server/location/GnssConfiguration;->reloadGpsProperties()V
+PLcom/android/server/location/GnssConfiguration;->setSatelliteBlacklist([I[I)V
+PLcom/android/server/location/GnssGeofenceProvider$GeofenceEntry;-><init>()V
+PLcom/android/server/location/GnssGeofenceProvider$GeofenceEntry;-><init>(Lcom/android/server/location/GnssGeofenceProvider$1;)V
+PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;-><init>()V
+PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->isGeofenceSupported()Z
+PLcom/android/server/location/GnssGeofenceProvider;-><clinit>()V
+PLcom/android/server/location/GnssGeofenceProvider;-><init>()V
+PLcom/android/server/location/GnssGeofenceProvider;-><init>(Lcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;)V
+PLcom/android/server/location/GnssGeofenceProvider;->access$100()Z
+PLcom/android/server/location/GnssGeofenceProvider;->access$200(IDDDIIII)Z
PLcom/android/server/location/GnssGeofenceProvider;->addCircularHardwareGeofence(IDDDIIII)Z
-HSPLcom/android/server/location/GnssGeofenceProvider;->isHardwareGeofenceSupported()Z
+PLcom/android/server/location/GnssGeofenceProvider;->isHardwareGeofenceSupported()Z
PLcom/android/server/location/GnssGeofenceProvider;->removeHardwareGeofence(I)Z
-HSPLcom/android/server/location/GnssGeofenceProvider;->resumeIfStarted()V
-HSPLcom/android/server/location/GnssLocationProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/location/GnssLocationProvider$2;->onSubscriptionsChanged()V
-PLcom/android/server/location/GnssLocationProvider$3;->isAvailableInPlatform()Z
+PLcom/android/server/location/GnssGeofenceProvider;->resumeIfStarted()V
+PLcom/android/server/location/GnssLocationProvider$1;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/GnssLocationProvider$2;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssLocationProvider$2;->isAvailableInPlatform()Z
+PLcom/android/server/location/GnssLocationProvider$2;->isGpsEnabled()Z
+PLcom/android/server/location/GnssLocationProvider$3;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
PLcom/android/server/location/GnssLocationProvider$3;->isGpsEnabled()Z
-HSPLcom/android/server/location/GnssLocationProvider$4;->isGpsEnabled()Z
-HSPLcom/android/server/location/GnssLocationProvider$5;->isGpsEnabled()Z
-HSPLcom/android/server/location/GnssLocationProvider$7;->onChange(Z)V
-HSPLcom/android/server/location/GnssLocationProvider$LocationChangeListener;->onProviderDisabled(Ljava/lang/String;)V
-PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;->onProviderEnabled(Ljava/lang/String;)V
-PLcom/android/server/location/GnssLocationProvider$LocationExtras;->getBundle()Landroid/os/Bundle;
-HSPLcom/android/server/location/GnssLocationProvider$LocationExtras;->reset()V
-HSPLcom/android/server/location/GnssLocationProvider$LocationExtras;->set(III)V
-HSPLcom/android/server/location/GnssLocationProvider$LocationExtras;->setBundle(Landroid/os/Bundle;)V
+PLcom/android/server/location/GnssLocationProvider$4;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssLocationProvider$4;->isGpsEnabled()Z
+PLcom/android/server/location/GnssLocationProvider$5;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$6;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssLocationProvider$6;->onChange(Z)V
+PLcom/android/server/location/GnssLocationProvider$7;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$8;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$FusedLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$FusedLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$1;)V
+PLcom/android/server/location/GnssLocationProvider$GpsRequest;-><init>(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;-><init>(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$1;)V
+PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;->access$1206(Lcom/android/server/location/GnssLocationProvider$LocationChangeListener;)I
+PLcom/android/server/location/GnssLocationProvider$LocationExtras;-><init>()V
+PLcom/android/server/location/GnssLocationProvider$LocationExtras;->set(III)V
+PLcom/android/server/location/GnssLocationProvider$LocationExtras;->setBundle(Landroid/os/Bundle;)V
+PLcom/android/server/location/GnssLocationProvider$NetworkLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider$NetworkLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$1;)V
PLcom/android/server/location/GnssLocationProvider$NetworkLocationListener;->onLocationChanged(Landroid/location/Location;)V
-HSPLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleInitialize()V
-HSPLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/location/GnssLocationProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Landroid/os/Looper;)V
-PLcom/android/server/location/GnssLocationProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/location/GnssLocationProvider$ProviderHandler;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/os/Looper;)V
+PLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleInitialize()V
+PLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;-><init>()V
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;-><init>(Lcom/android/server/location/GnssLocationProvider$1;)V
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1400(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)I
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1402(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;I)I
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1500(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)[I
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1502(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;[I)[I
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1600(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1602(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1700(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1702(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1800(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1802(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1900(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$1902(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$2000(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)[F
+PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;->access$2002(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;[F)[F
+PLcom/android/server/location/GnssLocationProvider;-><clinit>()V
+PLcom/android/server/location/GnssLocationProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Landroid/os/Looper;)V
+PLcom/android/server/location/GnssLocationProvider;->access$1100(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider;->access$200()Z
+PLcom/android/server/location/GnssLocationProvider;->access$2500(Lcom/android/server/location/GnssLocationProvider;Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/GnssLocationProvider;->access$3200(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider;->access$3300(Lcom/android/server/location/GnssLocationProvider;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/location/GnssLocationProvider;->access$3500(Lcom/android/server/location/GnssLocationProvider;Z)V
+PLcom/android/server/location/GnssLocationProvider;->access$3600()Z
+PLcom/android/server/location/GnssLocationProvider;->access$4000(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider;->access$4100(Lcom/android/server/location/GnssLocationProvider;)Landroid/content/BroadcastReceiver;
+PLcom/android/server/location/GnssLocationProvider;->access$4200(Lcom/android/server/location/GnssLocationProvider;)Lcom/android/server/location/GnssNetworkConnectivityHandler;
+PLcom/android/server/location/GnssLocationProvider;->access$700(Lcom/android/server/location/GnssLocationProvider;)Landroid/os/Handler;
+PLcom/android/server/location/GnssLocationProvider;->access$800(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider;->access$900(Lcom/android/server/location/GnssLocationProvider;)Z
+PLcom/android/server/location/GnssLocationProvider;->ensureInitialized()V
PLcom/android/server/location/GnssLocationProvider;->getGeofenceStatus(I)I
-HSPLcom/android/server/location/GnssLocationProvider;->getGnssMetricsProvider()Lcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;
-HSPLcom/android/server/location/GnssLocationProvider;->getGnssSystemInfoProvider()Lcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;
-PLcom/android/server/location/GnssLocationProvider;->handleDisableLocked()V
-HSPLcom/android/server/location/GnssLocationProvider;->handleEnableLocked()V
-PLcom/android/server/location/GnssLocationProvider;->handleReportLocation(ZLandroid/location/Location;)V
+PLcom/android/server/location/GnssLocationProvider;->getGnssBatchingProvider()Lcom/android/server/location/GnssBatchingProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGnssCapabilitiesProvider()Lcom/android/server/location/GnssCapabilitiesProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGnssMeasurementCorrectionsProvider()Lcom/android/server/location/GnssMeasurementCorrectionsProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGnssMeasurementsProvider()Lcom/android/server/location/GnssMeasurementsProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGnssMetricsProvider()Lcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGnssNavigationMessageProvider()Lcom/android/server/location/GnssNavigationMessageProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGnssStatusProvider()Lcom/android/server/location/GnssStatusListenerHelper;
+PLcom/android/server/location/GnssLocationProvider;->getGnssSystemInfoProvider()Lcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;
+PLcom/android/server/location/GnssLocationProvider;->getGpsGeofenceProxy()Landroid/location/IGpsGeofenceHardware;
+PLcom/android/server/location/GnssLocationProvider;->getNetInitiatedListener()Landroid/location/INetInitiatedListener;
+PLcom/android/server/location/GnssLocationProvider;->handleDisable()V
+PLcom/android/server/location/GnssLocationProvider;->handleEnable()V
PLcom/android/server/location/GnssLocationProvider;->handleReportSvStatus(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)V
-HSPLcom/android/server/location/GnssLocationProvider;->handleRequestLocation(ZZ)V
-HSPLcom/android/server/location/GnssLocationProvider;->injectTime(JJI)V
-HSPLcom/android/server/location/GnssLocationProvider;->isEnabled()Z
-HSPLcom/android/server/location/GnssLocationProvider;->isSupported()Z
-PLcom/android/server/location/GnssLocationProvider;->lambda$getGnssMetricsProvider$8$GnssLocationProvider()Ljava/lang/String;
-HSPLcom/android/server/location/GnssLocationProvider;->lambda$onUpdateSatelliteBlacklist$0$GnssLocationProvider([I[I)V
-PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceAddStatus$11$GnssLocationProvider(II)V
-PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceRemoveStatus$12$GnssLocationProvider(II)V
-PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceStatus$10$GnssLocationProvider(ILandroid/location/Location;)V
-PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceTransition$9$GnssLocationProvider(ILandroid/location/Location;IJ)V
-PLcom/android/server/location/GnssLocationProvider;->lambda$reportMeasurementData$3$GnssLocationProvider(Landroid/location/GnssMeasurementsEvent;)V
-HSPLcom/android/server/location/GnssLocationProvider;->lambda$setEngineCapabilities$5$GnssLocationProvider(IZ)V
-HSPLcom/android/server/location/GnssLocationProvider;->onUpdateSatelliteBlacklist([I[I)V
-HSPLcom/android/server/location/GnssLocationProvider;->reloadGpsProperties()V
-HSPLcom/android/server/location/GnssLocationProvider;->reportAGpsStatus(II[B)V
+PLcom/android/server/location/GnssLocationProvider;->handleRequestLocation(ZZ)V
+PLcom/android/server/location/GnssLocationProvider;->handleSetRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/GnssLocationProvider;->hasCapability(I)Z
+PLcom/android/server/location/GnssLocationProvider;->injectLocation(Landroid/location/Location;)V
+PLcom/android/server/location/GnssLocationProvider;->injectTime(JJI)V
+PLcom/android/server/location/GnssLocationProvider;->isGpsEnabled()Z
+PLcom/android/server/location/GnssLocationProvider;->isSupported()Z
+PLcom/android/server/location/GnssLocationProvider;->lambda$Q6M8z_ZBiD7BNs3kvNmVrqoHSng(Lcom/android/server/location/GnssLocationProvider;)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$getGnssMetricsProvider$9$GnssLocationProvider()Ljava/lang/String;
+PLcom/android/server/location/GnssLocationProvider;->lambda$handleRequestLocation$2(Lcom/android/server/location/GnssLocationProvider$LocationChangeListener;Ljava/lang/String;Landroid/location/LocationManager;)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$new$0$GnssLocationProvider(Z)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$onUpdateSatelliteBlacklist$1$GnssLocationProvider([I[I)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceAddStatus$12$GnssLocationProvider(II)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceRemoveStatus$13$GnssLocationProvider(II)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceStatus$11$GnssLocationProvider(ILandroid/location/Location;)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceTransition$10$GnssLocationProvider(ILandroid/location/Location;IJ)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$setTopHalCapabilities$6$GnssLocationProvider(I)V
+PLcom/android/server/location/GnssLocationProvider;->onNetworkAvailable()V
+PLcom/android/server/location/GnssLocationProvider;->onSetRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/GnssLocationProvider;->onUpdateSatelliteBlacklist([I[I)V
+PLcom/android/server/location/GnssLocationProvider;->reloadGpsProperties()V
PLcom/android/server/location/GnssLocationProvider;->reportGeofenceAddStatus(II)V
PLcom/android/server/location/GnssLocationProvider;->reportGeofenceRemoveStatus(II)V
PLcom/android/server/location/GnssLocationProvider;->reportGeofenceStatus(ILandroid/location/Location;)V
PLcom/android/server/location/GnssLocationProvider;->reportGeofenceTransition(ILandroid/location/Location;IJ)V
-PLcom/android/server/location/GnssLocationProvider;->reportLocation(ZLandroid/location/Location;)V
-PLcom/android/server/location/GnssLocationProvider;->reportMeasurementData(Landroid/location/GnssMeasurementsEvent;)V
-HSPLcom/android/server/location/GnssLocationProvider;->reportNmea(J)V
-HSPLcom/android/server/location/GnssLocationProvider;->reportStatus(I)V
-PLcom/android/server/location/GnssLocationProvider;->reportSvStatus(I[I[F[F[F[F)V
-HSPLcom/android/server/location/GnssLocationProvider;->requestLocation(ZZ)V
-HSPLcom/android/server/location/GnssLocationProvider;->sendMessage(IILjava/lang/Object;)V
-HSPLcom/android/server/location/GnssLocationProvider;->setEngineCapabilities(IZ)V
-HSPLcom/android/server/location/GnssLocationProvider;->setGnssHardwareModelName(Ljava/lang/String;)V
-HSPLcom/android/server/location/GnssLocationProvider;->setGnssYearOfHardware(I)V
-HSPLcom/android/server/location/GnssLocationProvider;->setPositionMode(IIIIIZ)Z
-HSPLcom/android/server/location/GnssLocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-HSPLcom/android/server/location/GnssLocationProvider;->setSuplHostPort()V
-HSPLcom/android/server/location/GnssLocationProvider;->startNavigating()V
-HSPLcom/android/server/location/GnssLocationProvider;->stopNavigating()V
-HSPLcom/android/server/location/GnssLocationProvider;->subscriptionOrCarrierConfigChanged(Landroid/content/Context;)V
-HSPLcom/android/server/location/GnssLocationProvider;->updateClientUids(Landroid/os/WorkSource;)V
-HSPLcom/android/server/location/GnssLocationProvider;->updateEnabled()V
-HSPLcom/android/server/location/GnssLocationProvider;->updateLowPowerMode()V
-HSPLcom/android/server/location/GnssLocationProvider;->updateRequirements()V
-PLcom/android/server/location/GnssMeasurementCorrectionsProvider$GnssMeasurementCorrectionsProviderNative;->isMeasurementCorrectionsSupported()Z
-PLcom/android/server/location/GnssMeasurementCorrectionsProvider;->isAvailableInPlatform()Z
-HSPLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->isMeasurementSupported()Z
-PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->startMeasurementCollection(Z)Z
-PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->stopMeasurementCollection()Z
-PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/location/IGnssMeasurementsListener;Lcom/android/server/location/CallerIdentity;)V
-PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
-PLcom/android/server/location/GnssMeasurementsProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
-HSPLcom/android/server/location/GnssMeasurementsProvider;->isAvailableInPlatform()Z
-PLcom/android/server/location/GnssMeasurementsProvider;->lambda$onMeasurementsAvailable$0$GnssMeasurementsProvider(Landroid/location/GnssMeasurementsEvent;Landroid/location/IGnssMeasurementsListener;Lcom/android/server/location/CallerIdentity;)V
-HSPLcom/android/server/location/GnssMeasurementsProvider;->onCapabilitiesUpdated(IZ)V
-HSPLcom/android/server/location/GnssMeasurementsProvider;->onGpsEnabledChanged()V
-PLcom/android/server/location/GnssMeasurementsProvider;->onMeasurementsAvailable(Landroid/location/GnssMeasurementsEvent;)V
-PLcom/android/server/location/GnssMeasurementsProvider;->registerWithService()I
-HSPLcom/android/server/location/GnssMeasurementsProvider;->resumeIfStarted()V
-PLcom/android/server/location/GnssMeasurementsProvider;->unregisterFromService()V
-HSPLcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;->isNavigationMessageSupported()Z
-HSPLcom/android/server/location/GnssNavigationMessageProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
-HSPLcom/android/server/location/GnssNavigationMessageProvider;->isAvailableInPlatform()Z
-HSPLcom/android/server/location/GnssNavigationMessageProvider;->onCapabilitiesUpdated(IZ)V
-HSPLcom/android/server/location/GnssNavigationMessageProvider;->onGpsEnabledChanged()V
-HSPLcom/android/server/location/GnssNavigationMessageProvider;->resumeIfStarted()V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/GnssLocationProvider;->reportNmea(J)V
+PLcom/android/server/location/GnssLocationProvider;->reportStatus(I)V
+PLcom/android/server/location/GnssLocationProvider;->reportSvStatus(I[I[F[F[F[F[F)V
+PLcom/android/server/location/GnssLocationProvider;->requestLocation(ZZ)V
+PLcom/android/server/location/GnssLocationProvider;->restartLocationRequest()V
+PLcom/android/server/location/GnssLocationProvider;->restartRequests()V
+PLcom/android/server/location/GnssLocationProvider;->sendMessage(IILjava/lang/Object;)V
+PLcom/android/server/location/GnssLocationProvider;->setGnssHardwareModelName(Ljava/lang/String;)V
+PLcom/android/server/location/GnssLocationProvider;->setGnssYearOfHardware(I)V
+PLcom/android/server/location/GnssLocationProvider;->setGpsEnabled(Z)V
+PLcom/android/server/location/GnssLocationProvider;->setPositionMode(IIIIIZ)Z
+PLcom/android/server/location/GnssLocationProvider;->setStarted(Z)V
+PLcom/android/server/location/GnssLocationProvider;->setSuplHostPort()V
+PLcom/android/server/location/GnssLocationProvider;->setTopHalCapabilities(I)V
+PLcom/android/server/location/GnssLocationProvider;->setupNativeGnssService(Z)V
+PLcom/android/server/location/GnssLocationProvider;->startNavigating()V
+PLcom/android/server/location/GnssLocationProvider;->stopNavigating()V
+PLcom/android/server/location/GnssLocationProvider;->subscriptionOrCarrierConfigChanged()V
+PLcom/android/server/location/GnssLocationProvider;->updateClientUids(Landroid/os/WorkSource;)V
+PLcom/android/server/location/GnssLocationProvider;->updateEnabled()V
+PLcom/android/server/location/GnssLocationProvider;->updateLowPowerMode()V
+PLcom/android/server/location/GnssLocationProvider;->updateRequirements()V
+PLcom/android/server/location/GnssMeasurementCorrectionsProvider$GnssMeasurementCorrectionsProviderNative;-><init>()V
+PLcom/android/server/location/GnssMeasurementCorrectionsProvider;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/location/GnssMeasurementCorrectionsProvider;-><init>(Landroid/os/Handler;Lcom/android/server/location/GnssMeasurementCorrectionsProvider$GnssMeasurementCorrectionsProviderNative;)V
+PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;-><init>()V
+PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->isMeasurementSupported()Z
+PLcom/android/server/location/GnssMeasurementsProvider;-><clinit>()V
+PLcom/android/server/location/GnssMeasurementsProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssMeasurementsProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;)V
+PLcom/android/server/location/GnssMeasurementsProvider;->access$000()Z
+PLcom/android/server/location/GnssMeasurementsProvider;->isAvailableInPlatform()Z
+PLcom/android/server/location/GnssMeasurementsProvider;->onCapabilitiesUpdated(Z)V
+PLcom/android/server/location/GnssMeasurementsProvider;->onGpsEnabledChanged()V
+PLcom/android/server/location/GnssMeasurementsProvider;->resumeIfStarted()V
+PLcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;-><init>()V
+PLcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;->isNavigationMessageSupported()Z
+PLcom/android/server/location/GnssNavigationMessageProvider$StatusChangedOperation;-><init>(I)V
+PLcom/android/server/location/GnssNavigationMessageProvider;-><clinit>()V
+PLcom/android/server/location/GnssNavigationMessageProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssNavigationMessageProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;)V
+PLcom/android/server/location/GnssNavigationMessageProvider;->access$000()Z
+PLcom/android/server/location/GnssNavigationMessageProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+PLcom/android/server/location/GnssNavigationMessageProvider;->isAvailableInPlatform()Z
+PLcom/android/server/location/GnssNavigationMessageProvider;->onCapabilitiesUpdated(Z)V
+PLcom/android/server/location/GnssNavigationMessageProvider;->onGpsEnabledChanged()V
+PLcom/android/server/location/GnssNavigationMessageProvider;->resumeIfStarted()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$1;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
PLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onLost(Landroid/net/Network;)V
-PLcom/android/server/location/GnssNetworkConnectivityHandler$2;->onAvailable(Landroid/net/Network;)V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;-><init>(Landroid/content/Context;Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;Landroid/os/Looper;)V
-PLcom/android/server/location/GnssNetworkConnectivityHandler;->getApnIpType(Ljava/lang/String;)I
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->getNetworkCapability(I)I
-PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleReleaseSuplConnection(I)V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->handleRequestSuplConnection(I[B)V
-PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleSuplConnectionAvailable(Landroid/net/Network;)V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->handleUpdateNetworkState(Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$0$GnssNetworkConnectivityHandler(I[B)V
-PLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$1$GnssNetworkConnectivityHandler()V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$runEventAndReleaseWakeLock$2$GnssNetworkConnectivityHandler(Ljava/lang/Runnable;)V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->onReportAGpsStatus(II[B)V
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->registerNetworkCallbacks()V
-PLcom/android/server/location/GnssNetworkConnectivityHandler;->setRouting()V
-PLcom/android/server/location/GnssNetworkConnectivityHandler;->translateToApnIpType(Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/location/GnssNetworkConnectivityHandler;->updateTrackedNetworksState(ZLandroid/net/Network;Landroid/net/NetworkCapabilities;)Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$2;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;-><init>()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;-><init>(Lcom/android/server/location/GnssNetworkConnectivityHandler$1;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$000(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$1000(Landroid/net/NetworkCapabilities;)S
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$700(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)Ljava/lang/String;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$702(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$800(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$802(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;I)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$900(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->access$902(Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->getCapabilityFlags(Landroid/net/NetworkCapabilities;)S
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->hasCapabilitiesChanged(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
+PLcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;->hasCapabilityChanged(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;I)Z
+PLcom/android/server/location/GnssNetworkConnectivityHandler;-><clinit>()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;-><init>(Landroid/content/Context;Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;Landroid/os/Looper;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$100()Z
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$200()Z
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$300(Lcom/android/server/location/GnssNetworkConnectivityHandler;)Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->access$400(Lcom/android/server/location/GnssNetworkConnectivityHandler;Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->agpsDataConnStateAsString()Ljava/lang/String;
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->createNetworkConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->createSuplConnectivityCallback()Landroid/net/ConnectivityManager$NetworkCallback;
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleUpdateNetworkState(Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->registerNetworkCallbacks()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->updateTrackedNetworksState(ZLandroid/net/Network;Landroid/net/NetworkCapabilities;)Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;
+PLcom/android/server/location/GnssPositionMode;-><init>(IIIIIZ)V
PLcom/android/server/location/GnssPositionMode;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/location/GnssSatelliteBlacklistHelper$1;->onChange(Z)V
-HSPLcom/android/server/location/GnssSatelliteBlacklistHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;)V
-HSPLcom/android/server/location/GnssSatelliteBlacklistHelper;->parseSatelliteBlacklist(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/location/GnssSatelliteBlacklistHelper;->updateSatelliteBlacklist()V
+PLcom/android/server/location/GnssSatelliteBlacklistHelper$1;-><init>(Lcom/android/server/location/GnssSatelliteBlacklistHelper;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssSatelliteBlacklistHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;)V
+PLcom/android/server/location/GnssSatelliteBlacklistHelper;->parseSatelliteBlacklist(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/location/GnssSatelliteBlacklistHelper;->updateSatelliteBlacklist()V
+PLcom/android/server/location/GnssStatusListenerHelper;-><clinit>()V
+PLcom/android/server/location/GnssStatusListenerHelper;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
PLcom/android/server/location/GnssStatusListenerHelper;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
-PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onNmeaReceived$4$GnssStatusListenerHelper(JLjava/lang/String;Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
-PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onSvStatusChanged$3$GnssStatusListenerHelper(I[I[F[F[F[FLandroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
-PLcom/android/server/location/GnssStatusListenerHelper;->onFirstFix(I)V
-HSPLcom/android/server/location/GnssStatusListenerHelper;->onNmeaReceived(JLjava/lang/String;)V
-HSPLcom/android/server/location/GnssStatusListenerHelper;->onStatusChanged(Z)V
-PLcom/android/server/location/GnssStatusListenerHelper;->onSvStatusChanged(I[I[F[F[F[F)V
+PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onStatusChanged$0(Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onStatusChanged$1(Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onSvStatusChanged$3$GnssStatusListenerHelper(I[I[F[F[F[F[FLandroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
PLcom/android/server/location/GnssStatusListenerHelper;->registerWithService()I
-PLcom/android/server/location/LocationBasedCountryDetector$1;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/location/LocationBasedCountryDetector$3;->run()V
-HSPLcom/android/server/location/LocationBasedCountryDetector;->detectCountry()Landroid/location/Country;
-PLcom/android/server/location/LocationBasedCountryDetector;->getCountryFromLocation(Landroid/location/Location;)Ljava/lang/String;
-HSPLcom/android/server/location/LocationBasedCountryDetector;->getEnabledProviders()Ljava/util/List;
-PLcom/android/server/location/LocationBasedCountryDetector;->getLastKnownLocation()Landroid/location/Location;
-HSPLcom/android/server/location/LocationBasedCountryDetector;->getQueryLocationTimeout()J
-HSPLcom/android/server/location/LocationBasedCountryDetector;->isAcceptableProvider(Ljava/lang/String;)Z
-PLcom/android/server/location/LocationBasedCountryDetector;->queryCountryCode(Landroid/location/Location;)V
-HSPLcom/android/server/location/LocationBasedCountryDetector;->registerListener(Ljava/lang/String;Landroid/location/LocationListener;)V
-PLcom/android/server/location/LocationBasedCountryDetector;->stop()V
-PLcom/android/server/location/LocationBasedCountryDetector;->unregisterListener(Landroid/location/LocationListener;)V
-PLcom/android/server/location/LocationBlacklist;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/location/LocationBlacklist;->getStringArrayLocked(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/location/LocationBlacklist;->isBlacklisted(Ljava/lang/String;)Z
-HSPLcom/android/server/location/LocationBlacklist;->reloadBlacklist()V
-HSPLcom/android/server/location/LocationBlacklist;->reloadBlacklistLocked()V
-HSPLcom/android/server/location/LocationBlacklist;->switchUser(I)V
-HSPLcom/android/server/location/LocationFudger;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/GnssStatusListenerHelper;->unregisterFromService()V
+PLcom/android/server/location/LocationFudger$1;-><init>(Lcom/android/server/location/LocationFudger;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationFudger;-><clinit>()V
+PLcom/android/server/location/LocationFudger;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
PLcom/android/server/location/LocationFudger;->createCoarseLocked(Landroid/location/Location;)Landroid/location/Location;
PLcom/android/server/location/LocationFudger;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
PLcom/android/server/location/LocationFudger;->getOrCreate(Landroid/location/Location;)Landroid/location/Location;
-HSPLcom/android/server/location/LocationFudger;->loadCoarseAccuracy()F
+PLcom/android/server/location/LocationFudger;->loadCoarseAccuracy()F
+PLcom/android/server/location/LocationFudger;->nextOffsetLocked()D
+PLcom/android/server/location/LocationFudger;->setAccuracyInMetersLocked(F)V
PLcom/android/server/location/LocationFudger;->updateRandomOffsetLocked()V
+HPLcom/android/server/location/LocationPermissionUtil;->doesCallerReportToAppOps(Landroid/content/Context;Lcom/android/server/location/CallerIdentity;)Z
+HPLcom/android/server/location/LocationPermissionUtil;->hasPermissionLocationHardware(Landroid/content/Context;Lcom/android/server/location/CallerIdentity;)Z
+HPLcom/android/server/location/LocationPermissionUtil;->hasPermissionUpdateAppOpsStats(Landroid/content/Context;Lcom/android/server/location/CallerIdentity;)Z
+PLcom/android/server/location/LocationProviderProxy$1;-><init>(Lcom/android/server/location/LocationProviderProxy;)V
PLcom/android/server/location/LocationProviderProxy$1;->onReportLocation(Landroid/location/Location;)V
-HSPLcom/android/server/location/LocationProviderProxy$1;->onSetEnabled(Z)V
-HSPLcom/android/server/location/LocationProviderProxy$1;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
-HSPLcom/android/server/location/LocationProviderProxy$2;->onBind()V
-PLcom/android/server/location/LocationProviderProxy$2;->onUnbind()V
-HSPLcom/android/server/location/LocationProviderProxy;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Ljava/lang/String;III)V
-HSPLcom/android/server/location/LocationProviderProxy;->createAndBind(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Ljava/lang/String;III)Lcom/android/server/location/LocationProviderProxy;
-PLcom/android/server/location/LocationProviderProxy;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/location/LocationProviderProxy;->getProviderPackages()Ljava/util/List;
-HSPLcom/android/server/location/LocationProviderProxy;->initializeService(Landroid/os/IBinder;)V
-HSPLcom/android/server/location/LocationProviderProxy;->resetProviderPackages(Ljava/util/List;)V
-HSPLcom/android/server/location/LocationProviderProxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-HSPLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->hashCode()I
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->getDurationMs()J
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->getForegroundDurationMs()J
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->getTimeSinceFirstRequestMs()J
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->getTimeSinceLastRequestStoppedMs()J
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->isActive()Z
-HSPLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->startRequesting(J)V
+PLcom/android/server/location/LocationProviderProxy$1;->onSetEnabled(Z)V
+PLcom/android/server/location/LocationProviderProxy$1;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
+PLcom/android/server/location/LocationProviderProxy$2;-><init>(Lcom/android/server/location/LocationProviderProxy;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
+PLcom/android/server/location/LocationProviderProxy$2;->lambda$onBind$0(Lcom/android/server/location/LocationProviderProxy;Landroid/os/IBinder;)V
+PLcom/android/server/location/LocationProviderProxy$2;->onBind()V
+PLcom/android/server/location/LocationProviderProxy;-><clinit>()V
+PLcom/android/server/location/LocationProviderProxy;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Ljava/lang/String;III)V
+PLcom/android/server/location/LocationProviderProxy;->access$200(Lcom/android/server/location/LocationProviderProxy;Landroid/os/IBinder;)V
+PLcom/android/server/location/LocationProviderProxy;->bind()Z
+PLcom/android/server/location/LocationProviderProxy;->createAndBind(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Ljava/lang/String;III)Lcom/android/server/location/LocationProviderProxy;
+PLcom/android/server/location/LocationProviderProxy;->getProviderPackages()Ljava/util/List;
+PLcom/android/server/location/LocationProviderProxy;->initializeService(Landroid/os/IBinder;)V
+PLcom/android/server/location/LocationProviderProxy;->lambda$onSetRequest$0(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;Landroid/os/IBinder;)V
+PLcom/android/server/location/LocationProviderProxy;->onSetRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/LocationProviderProxy;->resetProviderPackages(Ljava/util/List;)V
+PLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->hashCode()I
+PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;-><init>()V
+PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;-><init>(Lcom/android/server/location/LocationRequestStatistics$1;)V
+PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->access$100(Lcom/android/server/location/LocationRequestStatistics$PackageStatistics;J)V
+PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->access$200(Lcom/android/server/location/LocationRequestStatistics$PackageStatistics;Z)V
+PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->startRequesting(J)V
PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->stopRequesting()V
PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->toString()Ljava/lang/String;
-HSPLcom/android/server/location/LocationRequestStatistics;->startRequesting(Ljava/lang/String;Ljava/lang/String;JZ)V
-PLcom/android/server/location/LocationRequestStatistics;->stopRequesting(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/location/LocationRequestStatistics;->updateForeground(Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/location/NanoAppStateManager;->addNanoAppInstance(IJI)V
+PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->updateForeground(Z)V
+PLcom/android/server/location/LocationRequestStatistics;-><init>()V
+PLcom/android/server/location/LocationRequestStatistics;->startRequesting(Ljava/lang/String;Ljava/lang/String;JZ)V
+PLcom/android/server/location/LocationSettingsStore$IntegerSecureSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationSettingsStore$IntegerSecureSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;Lcom/android/server/location/LocationSettingsStore$1;)V
+PLcom/android/server/location/LocationSettingsStore$IntegerSecureSetting;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+PLcom/android/server/location/LocationSettingsStore$IntegerSecureSetting;->getValueForUser(II)I
+PLcom/android/server/location/LocationSettingsStore$LongGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationSettingsStore$LongGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;Lcom/android/server/location/LocationSettingsStore$1;)V
+PLcom/android/server/location/LocationSettingsStore$LongGlobalSetting;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+PLcom/android/server/location/LocationSettingsStore$LongGlobalSetting;->getValue(J)J
+PLcom/android/server/location/LocationSettingsStore$ObservingSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationSettingsStore$ObservingSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;Lcom/android/server/location/LocationSettingsStore$1;)V
+PLcom/android/server/location/LocationSettingsStore$ObservingSetting;->addListener(Lcom/android/server/location/LocationSettingsStore$UserSettingChangedListener;)V
+PLcom/android/server/location/LocationSettingsStore$ObservingSetting;->onChange(ZLandroid/net/Uri;I)V
+PLcom/android/server/location/LocationSettingsStore$StringListCachedSecureSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationSettingsStore$StringListCachedSecureSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Handler;Lcom/android/server/location/LocationSettingsStore$1;)V
+PLcom/android/server/location/LocationSettingsStore$StringListCachedSecureSetting;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+PLcom/android/server/location/LocationSettingsStore$StringListCachedSecureSetting;->getValueForUser(I)Ljava/util/List;
+PLcom/android/server/location/LocationSettingsStore$StringListCachedSecureSetting;->invalidateForUser(I)V
+PLcom/android/server/location/LocationSettingsStore$StringListCachedSecureSetting;->onChange(ZLandroid/net/Uri;I)V
+PLcom/android/server/location/LocationSettingsStore$StringSetCachedGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/util/function/Supplier;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationSettingsStore$StringSetCachedGlobalSetting;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/util/function/Supplier;Landroid/os/Handler;Lcom/android/server/location/LocationSettingsStore$1;)V
+PLcom/android/server/location/LocationSettingsStore$StringSetCachedGlobalSetting;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+HPLcom/android/server/location/LocationSettingsStore$StringSetCachedGlobalSetting;->getValue()Ljava/util/Set;
+PLcom/android/server/location/LocationSettingsStore;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/location/LocationSettingsStore;->addOnBackgroundThrottleIntervalChangedListener(Lcom/android/server/location/LocationSettingsStore$GlobalSettingChangedListener;)V
+PLcom/android/server/location/LocationSettingsStore;->addOnBackgroundThrottlePackageWhitelistChangedListener(Lcom/android/server/location/LocationSettingsStore$GlobalSettingChangedListener;)V
+PLcom/android/server/location/LocationSettingsStore;->addOnIgnoreSettingsPackageWhitelistChangedListener(Lcom/android/server/location/LocationSettingsStore$GlobalSettingChangedListener;)V
+PLcom/android/server/location/LocationSettingsStore;->addOnLocationEnabledChangedListener(Lcom/android/server/location/LocationSettingsStore$UserSettingChangedListener;)V
+PLcom/android/server/location/LocationSettingsStore;->addOnLocationProvidersAllowedChangedListener(Lcom/android/server/location/LocationSettingsStore$UserSettingChangedListener;)V
+PLcom/android/server/location/LocationSettingsStore;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/location/LocationSettingsStore;->getBackgroundThrottleIntervalMs()J
+PLcom/android/server/location/LocationSettingsStore;->getLocationProvidersAllowed(I)Ljava/util/List;
+PLcom/android/server/location/LocationSettingsStore;->getMaxLastLocationAgeMs()J
+PLcom/android/server/location/LocationSettingsStore;->isLocationEnabled(I)Z
+PLcom/android/server/location/LocationSettingsStore;->isLocationPackageBlacklisted(ILjava/lang/String;)Z
+PLcom/android/server/location/LocationSettingsStore;->lambda$new$0()Landroid/util/ArraySet;
+PLcom/android/server/location/NanoAppStateManager;-><init>()V
+PLcom/android/server/location/NanoAppStateManager;->addNanoAppInstance(IJI)V
PLcom/android/server/location/NanoAppStateManager;->foreachNanoAppInstanceInfo(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/location/NanoAppStateManager;->getNanoAppHandle(IJ)I
+PLcom/android/server/location/NanoAppStateManager;->getNanoAppHandle(IJ)I
PLcom/android/server/location/NanoAppStateManager;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLcom/android/server/location/NanoAppStateManager;->handleQueryAppEntry(IJI)V
-HSPLcom/android/server/location/NanoAppStateManager;->removeNanoAppInstance(IJ)V
-HSPLcom/android/server/location/NanoAppStateManager;->updateCache(ILjava/util/List;)V
-HSPLcom/android/server/location/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;Landroid/util/NtpTrustedTime;)V
-HSPLcom/android/server/location/NtpTimeHelper;->blockingGetNtpTimeAndInject()V
-HSPLcom/android/server/location/NtpTimeHelper;->lambda$blockingGetNtpTimeAndInject$0$NtpTimeHelper(JJJ)V
-HSPLcom/android/server/location/NtpTimeHelper;->onNetworkAvailable()V
-HSPLcom/android/server/location/NtpTimeHelper;->retrieveAndInjectNtpTime()V
-HSPLcom/android/server/location/PassiveProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;)V
-PLcom/android/server/location/PassiveProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/location/PassiveProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+PLcom/android/server/location/NanoAppStateManager;->handleQueryAppEntry(IJI)V
+PLcom/android/server/location/NanoAppStateManager;->removeNanoAppInstance(IJ)V
+PLcom/android/server/location/NanoAppStateManager;->updateCache(ILjava/util/List;)V
+PLcom/android/server/location/NtpTimeHelper;-><clinit>()V
+PLcom/android/server/location/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;)V
+PLcom/android/server/location/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;Landroid/util/NtpTrustedTime;)V
+PLcom/android/server/location/NtpTimeHelper;->blockingGetNtpTimeAndInject()V
+PLcom/android/server/location/NtpTimeHelper;->isNetworkConnected()Z
+PLcom/android/server/location/NtpTimeHelper;->lambda$blockingGetNtpTimeAndInject$0$NtpTimeHelper(JJJ)V
+PLcom/android/server/location/NtpTimeHelper;->lambda$xWqlqJuq4jBJ5-xhFLCwEKGVB0k(Lcom/android/server/location/NtpTimeHelper;)V
+PLcom/android/server/location/NtpTimeHelper;->onNetworkAvailable()V
+PLcom/android/server/location/NtpTimeHelper;->retrieveAndInjectNtpTime()V
+PLcom/android/server/location/PassiveProvider;-><clinit>()V
+PLcom/android/server/location/PassiveProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;)V
+PLcom/android/server/location/PassiveProvider;->onSetRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
PLcom/android/server/location/PassiveProvider;->updateLocation(Landroid/location/Location;)V
+PLcom/android/server/location/RemoteListenerHelper$1;-><init>(Lcom/android/server/location/RemoteListenerHelper;)V
PLcom/android/server/location/RemoteListenerHelper$1;->run()V
+HPLcom/android/server/location/RemoteListenerHelper$HandlerRunnable;-><init>(Lcom/android/server/location/RemoteListenerHelper;Lcom/android/server/location/RemoteListenerHelper$IdentifiedListener;Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
+HPLcom/android/server/location/RemoteListenerHelper$HandlerRunnable;-><init>(Lcom/android/server/location/RemoteListenerHelper;Lcom/android/server/location/RemoteListenerHelper$IdentifiedListener;Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;Lcom/android/server/location/RemoteListenerHelper$1;)V
PLcom/android/server/location/RemoteListenerHelper$HandlerRunnable;->run()V
-HSPLcom/android/server/location/RemoteListenerHelper;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;)V
+PLcom/android/server/location/RemoteListenerHelper$IdentifiedListener;-><init>(Lcom/android/server/location/RemoteListenerHelper;Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/RemoteListenerHelper$IdentifiedListener;-><init>(Lcom/android/server/location/RemoteListenerHelper;Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;Lcom/android/server/location/RemoteListenerHelper$1;)V
+HPLcom/android/server/location/RemoteListenerHelper$IdentifiedListener;->access$500(Lcom/android/server/location/RemoteListenerHelper$IdentifiedListener;)Landroid/os/IInterface;
+HPLcom/android/server/location/RemoteListenerHelper$IdentifiedListener;->access$600(Lcom/android/server/location/RemoteListenerHelper$IdentifiedListener;)Lcom/android/server/location/CallerIdentity;
+PLcom/android/server/location/RemoteListenerHelper;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;)V
PLcom/android/server/location/RemoteListenerHelper;->addListener(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
-HSPLcom/android/server/location/RemoteListenerHelper;->calculateCurrentResultUnsafe()I
-HSPLcom/android/server/location/RemoteListenerHelper;->foreach(Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
+PLcom/android/server/location/RemoteListenerHelper;->calculateCurrentResultUnsafe()I
+PLcom/android/server/location/RemoteListenerHelper;->foreach(Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
+PLcom/android/server/location/RemoteListenerHelper;->foreachUnsafe(Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
PLcom/android/server/location/RemoteListenerHelper;->hasPermission(Landroid/content/Context;Lcom/android/server/location/CallerIdentity;)Z
-PLcom/android/server/location/RemoteListenerHelper;->isRegistered()Z
-HSPLcom/android/server/location/RemoteListenerHelper;->lambda$tryUnregister$0$RemoteListenerHelper()V
PLcom/android/server/location/RemoteListenerHelper;->removeListener(Landroid/os/IInterface;)V
-HSPLcom/android/server/location/RemoteListenerHelper;->setSupported(Z)V
-HSPLcom/android/server/location/RemoteListenerHelper;->tryUpdateRegistrationWithService()V
-HSPLcom/android/server/location/RemoteListenerHelper;->updateResult()V
-PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$Hh44Kcp05cKI6Hc6dJfQupn4QY8;-><init>(Lcom/android/server/locksettings/LockSettingsService;Landroid/app/admin/PasswordMetrics;I)V
-PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$Hh44Kcp05cKI6Hc6dJfQupn4QY8;->run()V
-PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$lWTrcqR9gZxL-pxwBbtvTGqAifU;->run()V
-HSPLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;->onValues(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
+PLcom/android/server/location/RemoteListenerHelper;->setSupported(Z)V
+PLcom/android/server/location/RemoteListenerHelper;->tryUpdateRegistrationWithService()V
+PLcom/android/server/location/RemoteListenerHelper;->updateResult()V
+PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$25VQEBWGuGqdc4Xjn9m8HXt9ZTI;-><init>(Lcom/android/server/locksettings/LockSettingsService;Ljava/util/ArrayList;I)V
+PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$25VQEBWGuGqdc4Xjn9m8HXt9ZTI;->run()V
+PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$TCZYHfmf32xFYZ8VXhgwaf00Ndo;-><init>(Lcom/android/server/locksettings/LockSettingsService;I)V
+PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$TCZYHfmf32xFYZ8VXhgwaf00Ndo;->run()V
+PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;-><init>(Lcom/android/server/locksettings/SyntheticPasswordManager;)V
+PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;->onValues(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
+PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$aWnbfYziDTrRrLqWFePMTj6-dy0;-><init>([Lcom/android/internal/widget/VerifyCredentialResponse;I)V
PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$aWnbfYziDTrRrLqWFePMTj6-dy0;->onValues(ILandroid/hardware/weaver/V1_0/WeaverReadResponse;)V
-HSPLcom/android/server/locksettings/LockSettingsService$1;->run()V
-HSPLcom/android/server/locksettings/LockSettingsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/locksettings/LockSettingsService$1;-><init>(Lcom/android/server/locksettings/LockSettingsService;I)V
+PLcom/android/server/locksettings/LockSettingsService$1;->run()V
+PLcom/android/server/locksettings/LockSettingsService$2;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/locksettings/LockSettingsService$3;-><init>(Lcom/android/server/locksettings/LockSettingsService;Ljava/util/concurrent/CountDownLatch;)V
PLcom/android/server/locksettings/LockSettingsService$3;->onFinished(ILandroid/os/Bundle;)V
PLcom/android/server/locksettings/LockSettingsService$3;->onProgress(IILandroid/os/Bundle;)V
PLcom/android/server/locksettings/LockSettingsService$3;->onStarted(ILandroid/os/Bundle;)V
-HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onSystemReady()V
-HSPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->updateRegistration()V
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getActivityManager()Landroid/app/IActivityManager;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getContext()Landroid/content/Context;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getDevicePolicyManager()Landroid/app/admin/DevicePolicyManager;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getKeyStore()Landroid/security/KeyStore;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getRecoverableKeyStoreManager(Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStorage()Lcom/android/server/locksettings/LockSettingsStorage;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStorageManager()Landroid/os/storage/IStorageManager;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuth()Lcom/android/server/locksettings/LockSettingsStrongAuth;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuthTracker()Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getSyntheticPasswordManager(Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/SyntheticPasswordManager;
-HSPLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManager()Landroid/os/UserManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->hasBiometrics()Z
-PLcom/android/server/locksettings/LockSettingsService$Injector;->isGsiRunning()Z
-HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStart()V
-HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStartUser(I)V
-HSPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/locksettings/LockSettingsService$LocalService;->isEscrowTokenActive(JI)Z
-HSPLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->getStrongAuthForUser(I)I
-HSPLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
-HSPLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->register(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
-HSPLcom/android/server/locksettings/LockSettingsService;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;)V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->isProvisioned()Z
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onSystemReady()V
+PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->updateRegistration()V
+PLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$1;)V
+PLcom/android/server/locksettings/LockSettingsService$Injector$1;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;Lcom/android/server/locksettings/LockSettingsStorage;)V
+PLcom/android/server/locksettings/LockSettingsService$Injector;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getContext()Landroid/content/Context;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getHandler(Lcom/android/server/ServiceThread;)Landroid/os/Handler;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getKeyStore()Landroid/security/KeyStore;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getRecoverableKeyStoreManager(Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getServiceThread()Lcom/android/server/ServiceThread;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStorage()Lcom/android/server/locksettings/LockSettingsStorage;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStorageManager()Landroid/os/storage/IStorageManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuth()Lcom/android/server/locksettings/LockSettingsStrongAuth;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuthTracker()Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getSyntheticPasswordManager(Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/SyntheticPasswordManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/locksettings/LockSettingsService$Injector;->hasEnrolledBiometrics(I)Z
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStart()V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$1;)V
+PLcom/android/server/locksettings/LockSettingsService$LocalService;->getUserPasswordMetrics(I)Landroid/app/admin/PasswordMetrics;
+PLcom/android/server/locksettings/LockSettingsService$PendingResetLockout;-><init>(Lcom/android/server/locksettings/LockSettingsService;I[B)V
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->getStrongAuthForUser(I)I
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
+PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->register(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
+PLcom/android/server/locksettings/LockSettingsService;-><clinit>()V
+PLcom/android/server/locksettings/LockSettingsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsService;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;)V
+PLcom/android/server/locksettings/LockSettingsService;->access$000(Lcom/android/server/locksettings/LockSettingsService;)V
+PLcom/android/server/locksettings/LockSettingsService;->access$1100(Lcom/android/server/locksettings/LockSettingsService;)Landroid/content/Context;
+PLcom/android/server/locksettings/LockSettingsService;->access$1800(Lcom/android/server/locksettings/LockSettingsService;I)Z
PLcom/android/server/locksettings/LockSettingsService;->activateEscrowTokens(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->checkCredential([BIILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-HSPLcom/android/server/locksettings/LockSettingsService;->checkPasswordHavePermission(I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->checkReadPermission(Ljava/lang/String;I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->checkVoldPassword(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->checkCredential(Lcom/android/internal/widget/LockscreenCredential;ILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/LockSettingsService;->checkPasswordHavePermission(I)V
+PLcom/android/server/locksettings/LockSettingsService;->checkPasswordReadPermission(I)V
+HPLcom/android/server/locksettings/LockSettingsService;->checkReadPermission(Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsService;->checkVoldPassword(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->checkWritePermission(I)V
PLcom/android/server/locksettings/LockSettingsService;->disableEscrowTokenOnNonManagedDevicesIfNeeded(I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential([BIZJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-PLcom/android/server/locksettings/LockSettingsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/locksettings/LockSettingsService;->ensureProfileKeystoreUnlocked(I)V
+PLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential(Lcom/android/internal/widget/LockscreenCredential;IJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential(Lcom/android/internal/widget/LockscreenCredential;IJILcom/android/internal/widget/ICheckCredentialProgressCallback;Ljava/util/ArrayList;)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/LockSettingsService;->ensureProfileKeystoreUnlocked(I)V
PLcom/android/server/locksettings/LockSettingsService;->generateKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsService;->getBoolean(Ljava/lang/String;ZI)Z
-PLcom/android/server/locksettings/LockSettingsService;->getDecryptedPasswordForTiedProfile(I)[B
-HSPLcom/android/server/locksettings/LockSettingsService;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
+PLcom/android/server/locksettings/LockSettingsService;->getBoolean(Ljava/lang/String;ZI)Z
+HPLcom/android/server/locksettings/LockSettingsService;->getBooleanUnchecked(Ljava/lang/String;ZI)Z
+HPLcom/android/server/locksettings/LockSettingsService;->getCredentialType(I)I
+HPLcom/android/server/locksettings/LockSettingsService;->getCredentialTypeInternal(I)I
+PLcom/android/server/locksettings/LockSettingsService;->getDecryptedPasswordForTiedProfile(I)Lcom/android/internal/widget/LockscreenCredential;
+PLcom/android/server/locksettings/LockSettingsService;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
PLcom/android/server/locksettings/LockSettingsService;->getKey(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsService;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
-HSPLcom/android/server/locksettings/LockSettingsService;->getLong(Ljava/lang/String;JI)J
+PLcom/android/server/locksettings/LockSettingsService;->getLong(Ljava/lang/String;JI)J
+PLcom/android/server/locksettings/LockSettingsService;->getLongUnchecked(Ljava/lang/String;JI)J
+PLcom/android/server/locksettings/LockSettingsService;->getProfilesWithSameLockScreen(I)Ljava/util/Set;
PLcom/android/server/locksettings/LockSettingsService;->getRecoverySecretTypes()[I
PLcom/android/server/locksettings/LockSettingsService;->getRecoveryStatus()Ljava/util/Map;
-HSPLcom/android/server/locksettings/LockSettingsService;->getSeparateProfileChallengeEnabled(I)Z
-HSPLcom/android/server/locksettings/LockSettingsService;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsService;->getStringUnchecked(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsService;->getStrongAuthForUser(I)I
-HSPLcom/android/server/locksettings/LockSettingsService;->havePassword(I)Z
-HSPLcom/android/server/locksettings/LockSettingsService;->havePattern(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->getSeparateProfileChallengeEnabled(I)Z
+HPLcom/android/server/locksettings/LockSettingsService;->getSeparateProfileChallengeEnabledInternal(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/locksettings/LockSettingsService;->getStringUnchecked(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/server/locksettings/LockSettingsService;->getSyntheticPasswordHandleLocked(I)J
+PLcom/android/server/locksettings/LockSettingsService;->getUserPasswordMetrics(I)Landroid/app/admin/PasswordMetrics;
PLcom/android/server/locksettings/LockSettingsService;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-PLcom/android/server/locksettings/LockSettingsService;->isEscrowTokenActive(JI)Z
-HSPLcom/android/server/locksettings/LockSettingsService;->isSyntheticPasswordBasedCredentialLocked(I)Z
-HSPLcom/android/server/locksettings/LockSettingsService;->isUserSecure(I)Z
-PLcom/android/server/locksettings/LockSettingsService;->lambda$notifyActivePasswordMetricsAvailable$0$LockSettingsService(Landroid/app/admin/PasswordMetrics;I)V
-PLcom/android/server/locksettings/LockSettingsService;->lambda$tryRemoveUserFromSpCacheLater$2$LockSettingsService(I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->maybeShowEncryptionNotificationForUser(I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->migrateOldData()V
-HSPLcom/android/server/locksettings/LockSettingsService;->migrateOldDataAfterSystemReady()V
+PLcom/android/server/locksettings/LockSettingsService;->isManagedProfileWithSeparatedLock(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->isManagedProfileWithUnifiedLock(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->isSyntheticPasswordBasedCredentialLocked(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->isUserKeyUnlocked(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->isUserSecure(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->lambda$tryRemoveUserFromSpCacheLater$3$LockSettingsService(I)V
+PLcom/android/server/locksettings/LockSettingsService;->lambda$unlockUser$1$LockSettingsService(Ljava/util/ArrayList;I)V
+PLcom/android/server/locksettings/LockSettingsService;->maybeShowEncryptionNotificationForUser(I)V
+PLcom/android/server/locksettings/LockSettingsService;->migrateOldData()V
+PLcom/android/server/locksettings/LockSettingsService;->migrateOldDataAfterSystemReady()V
PLcom/android/server/locksettings/LockSettingsService;->onAuthTokenKnownForUser(ILcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)V
-HSPLcom/android/server/locksettings/LockSettingsService;->onStartUser(I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->onUnlockUser(I)V
-HSPLcom/android/server/locksettings/LockSettingsService;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-PLcom/android/server/locksettings/LockSettingsService;->requireStrongAuth(II)V
-PLcom/android/server/locksettings/LockSettingsService;->setBoolean(Ljava/lang/String;ZI)V
+PLcom/android/server/locksettings/LockSettingsService;->onStartUser(I)V
+PLcom/android/server/locksettings/LockSettingsService;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsService;->sendCredentialsOnUnlockIfRequired(Lcom/android/internal/widget/LockscreenCredential;I)V
PLcom/android/server/locksettings/LockSettingsService;->setRecoverySecretTypes([I)V
-PLcom/android/server/locksettings/LockSettingsService;->setRecoveryStatus(Ljava/lang/String;I)V
PLcom/android/server/locksettings/LockSettingsService;->setServerParams([B)V
PLcom/android/server/locksettings/LockSettingsService;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-HSPLcom/android/server/locksettings/LockSettingsService;->setString(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsService;->setUserPasswordMetrics(Lcom/android/internal/widget/LockscreenCredential;I)V
PLcom/android/server/locksettings/LockSettingsService;->shouldCacheSpForUser(I)Z
-PLcom/android/server/locksettings/LockSettingsService;->showEncryptionNotification(Landroid/os/UserHandle;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
-PLcom/android/server/locksettings/LockSettingsService;->showEncryptionNotificationForProfile(Landroid/os/UserHandle;)V
-PLcom/android/server/locksettings/LockSettingsService;->spBasedDoVerifyCredential([BIZJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-HSPLcom/android/server/locksettings/LockSettingsService;->systemReady()V
-PLcom/android/server/locksettings/LockSettingsService;->tieManagedProfileLockIfNecessary(I[B)V
+PLcom/android/server/locksettings/LockSettingsService;->spBasedDoVerifyCredential(Lcom/android/internal/widget/LockscreenCredential;IJILcom/android/internal/widget/ICheckCredentialProgressCallback;Ljava/util/ArrayList;)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/LockSettingsService;->systemReady()V
+PLcom/android/server/locksettings/LockSettingsService;->tieManagedProfileLockIfNecessary(ILcom/android/internal/widget/LockscreenCredential;)V
PLcom/android/server/locksettings/LockSettingsService;->tiedManagedProfileReadyToUnlock(Landroid/content/pm/UserInfo;)Z
-HSPLcom/android/server/locksettings/LockSettingsService;->tryDeriveAuthTokenForUnsecuredPrimaryUser(I)V
-PLcom/android/server/locksettings/LockSettingsService;->unlockChildProfile(IZ)V
-PLcom/android/server/locksettings/LockSettingsService;->unlockUser(I[B[B)V
-HSPLcom/android/server/locksettings/LockSettingsService;->userPresent(I)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->hashCode()I
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->contains(ILjava/lang/String;I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->getVersion()I
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasFile(Ljava/lang/String;)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasKeyValue(Ljava/lang/String;I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->isFetched(I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peek(ILjava/lang/String;I)Ljava/lang/Object;
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekFile(Ljava/lang/String;)[B
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->put(ILjava/lang/String;Ljava/lang/Object;I)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putFileIfUnchanged(Ljava/lang/String;[BI)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putIfUnchanged(ILjava/lang/String;Ljava/lang/Object;II)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValue(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValueIfUnchanged(Ljava/lang/String;Ljava/lang/Object;II)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$Cache;->setFetched(I)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;-><init>([BIIZ)V
-HSPLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;->setCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsService;->unlockChildProfile(IZIJLjava/util/ArrayList;)V
+PLcom/android/server/locksettings/LockSettingsService;->unlockKeystore([BI)V
+PLcom/android/server/locksettings/LockSettingsService;->unlockUser(I[B[BIJLjava/util/ArrayList;)V
+PLcom/android/server/locksettings/LockSettingsService;->userPresent(I)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;-><init>()V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;-><init>(Lcom/android/server/locksettings/LockSettingsStorage$1;)V
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->hashCode()I
+PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->set(ILjava/lang/String;I)Lcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;-><init>()V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;-><init>(Lcom/android/server/locksettings/LockSettingsStorage$1;)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->access$100(Lcom/android/server/locksettings/LockSettingsStorage$Cache;)I
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache;->contains(ILjava/lang/String;I)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->copyOf([B)[B
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->getVersion()I
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasFile(Ljava/lang/String;)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasKeyValue(Ljava/lang/String;I)Z
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->isFetched(I)Z
+HPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peek(ILjava/lang/String;I)Ljava/lang/Object;
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekFile(Ljava/lang/String;)[B
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->put(ILjava/lang/String;Ljava/lang/Object;I)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putFileIfUnchanged(Ljava/lang/String;[BI)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putIfUnchanged(ILjava/lang/String;Ljava/lang/Object;II)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValueIfUnchanged(Ljava/lang/String;Ljava/lang/Object;II)V
+PLcom/android/server/locksettings/LockSettingsStorage$Cache;->setFetched(I)V
+PLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;-><init>([BI)V
+PLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;->createEmptyHash()Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+PLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;->setCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsStorage;-><clinit>()V
+PLcom/android/server/locksettings/LockSettingsStorage;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsStorage;->access$400()Ljava/lang/Object;
PLcom/android/server/locksettings/LockSettingsStorage;->deleteSyntheticPasswordState(IJLjava/lang/String;)V
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getChildProfileLockFile(I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getLegacyLockPasswordFilename(I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getLegacyLockPatternFilename(I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getLockCredentialFilePathForUser(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getLockPasswordFilename(I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getLockPatternFilename(I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getSynthenticPasswordStateFilePathForUser(IJLjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordDirectoryForUser(I)Ljava/io/File;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->hasChildProfileLock(I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage;->hasCredential(I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage;->hasPassword(I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage;->hasPattern(I)Z
-HSPLcom/android/server/locksettings/LockSettingsStorage;->listSyntheticPasswordHandlesForAllUsers(Ljava/lang/String;)Ljava/util/Map;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->listSyntheticPasswordHandlesForUser(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->prefetchUser(I)V
+PLcom/android/server/locksettings/LockSettingsStorage;->getLockCredentialFilePathForUser(ILjava/lang/String;)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage;->getLockPasswordFilename(I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage;->getLockPatternFilename(I)Ljava/lang/String;
+HPLcom/android/server/locksettings/LockSettingsStorage;->getSynthenticPasswordStateFilePathForUser(IJLjava/lang/String;)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordDirectoryForUser(I)Ljava/io/File;
+PLcom/android/server/locksettings/LockSettingsStorage;->hasChildProfileLock(I)Z
+PLcom/android/server/locksettings/LockSettingsStorage;->listSyntheticPasswordHandlesForAllUsers(Ljava/lang/String;)Ljava/util/Map;
+PLcom/android/server/locksettings/LockSettingsStorage;->listSyntheticPasswordHandlesForUser(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/locksettings/LockSettingsStorage;->prefetchUser(I)V
PLcom/android/server/locksettings/LockSettingsStorage;->readChildProfileLock(I)[B
-HSPLcom/android/server/locksettings/LockSettingsStorage;->readCredentialHash(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->readFile(Ljava/lang/String;)[B
-HSPLcom/android/server/locksettings/LockSettingsStorage;->readKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->readPasswordHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->readPatternHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-HSPLcom/android/server/locksettings/LockSettingsStorage;->readSyntheticPasswordState(IJLjava/lang/String;)[B
-HSPLcom/android/server/locksettings/LockSettingsStorage;->writeKeyValue(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/locksettings/LockSettingsStorage;->writeKeyValue(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth$StrongAuthTimeoutAlarmListener;->onAlarm()V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth;->handleAddStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsStorage;->readCredentialHash(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+PLcom/android/server/locksettings/LockSettingsStorage;->readFile(Ljava/lang/String;)[B
+HPLcom/android/server/locksettings/LockSettingsStorage;->readKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsStorage;->readPasswordHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+PLcom/android/server/locksettings/LockSettingsStorage;->readPatternHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+PLcom/android/server/locksettings/LockSettingsStorage;->readSyntheticPasswordState(IJLjava/lang/String;)[B
+PLcom/android/server/locksettings/LockSettingsStorage;->setDatabaseOnCreateCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$1;-><init>(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth$StrongAuthTimeoutAlarmListener;-><init>(Lcom/android/server/locksettings/LockSettingsStrongAuth;I)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->access$000(Lcom/android/server/locksettings/LockSettingsStrongAuth;Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleAddStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleScheduleStrongAuthTimeout(I)V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth;->notifyStrongAuthTrackers(II)V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->notifyStrongAuthTrackers(II)V
+PLcom/android/server/locksettings/LockSettingsStrongAuth;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
PLcom/android/server/locksettings/LockSettingsStrongAuth;->reportSuccessfulStrongAuthUnlock(I)V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth;->reportUnlock(I)V
-HSPLcom/android/server/locksettings/LockSettingsStrongAuth;->requireStrongAuth(II)V
-HSPLcom/android/server/locksettings/PasswordSlotManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/locksettings/PasswordSlotManager;->getGsiImageNumber()I
-HSPLcom/android/server/locksettings/PasswordSlotManager;->getSlotMapDir()Ljava/lang/String;
-HSPLcom/android/server/locksettings/PasswordSlotManager;->loadSlotMap()Ljava/util/Map;
-HSPLcom/android/server/locksettings/PasswordSlotManager;->loadSlotMap(Ljava/io/InputStream;)Ljava/util/Map;
-HSPLcom/android/server/locksettings/PasswordSlotManager;->refreshActiveSlots(Ljava/util/Set;)V
-HSPLcom/android/server/locksettings/PasswordSlotManager;->saveSlotMap()V
-HSPLcom/android/server/locksettings/PasswordSlotManager;->saveSlotMap(Ljava/io/OutputStream;)V
+PLcom/android/server/locksettings/PasswordSlotManager;-><init>()V
+PLcom/android/server/locksettings/PasswordSlotManager;->refreshActiveSlots(Ljava/util/Set;)V
+PLcom/android/server/locksettings/SP800Derive;-><init>([B)V
PLcom/android/server/locksettings/SP800Derive;->getMac()Ljavax/crypto/Mac;
+PLcom/android/server/locksettings/SP800Derive;->update32(Ljavax/crypto/Mac;I)V
PLcom/android/server/locksettings/SP800Derive;->withContext([B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordCrypto;-><clinit>()V
PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decrypt(Ljavax/crypto/SecretKey;[B)[B
PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decrypt([B[B[B)[B
PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decryptBlob(Ljava/lang/String;[B[B)[B
PLcom/android/server/locksettings/SyntheticPasswordCrypto;->personalisedHash([B[[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;-><init>()V
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;-><init>(B)V
PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveDiskEncryptionKey()[B
PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveGkPassword()[B
PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveKeyStorePassword()[B
PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->derivePassword([B)[B
PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveVendorAuthSecret()[B
-HSPLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->recreateDirectly([B)V
+PLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;-><init>()V
+PLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;
+PLcom/android/server/locksettings/SyntheticPasswordManager;-><clinit>()V
+PLcom/android/server/locksettings/SyntheticPasswordManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/LockSettingsStorage;Landroid/os/UserManager;Lcom/android/server/locksettings/PasswordSlotManager;)V
PLcom/android/server/locksettings/SyntheticPasswordManager;->bytesToHex([B)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->decryptSPBlob(Ljava/lang/String;[B[B)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->destroyEscrowData(I)V
-PLcom/android/server/locksettings/SyntheticPasswordManager;->existsHandle(JI)Z
-HSPLcom/android/server/locksettings/SyntheticPasswordManager;->getCredentialType(JI)I
+PLcom/android/server/locksettings/SyntheticPasswordManager;->computePasswordToken(Lcom/android/internal/widget/LockscreenCredential;Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->getCredentialType(JI)I
PLcom/android/server/locksettings/SyntheticPasswordManager;->getPendingTokensForUser(I)Ljava/util/Set;
-HSPLcom/android/server/locksettings/SyntheticPasswordManager;->getUsedWeaverSlots()Ljava/util/Set;
-HSPLcom/android/server/locksettings/SyntheticPasswordManager;->getWeaverService()Landroid/hardware/weaver/V1_0/IWeaver;
-HSPLcom/android/server/locksettings/SyntheticPasswordManager;->initWeaverService()V
+PLcom/android/server/locksettings/SyntheticPasswordManager;->getUsedWeaverSlots()Ljava/util/Set;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->getWeaverService()Landroid/hardware/weaver/V1_0/IWeaver;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->initWeaverService()V
PLcom/android/server/locksettings/SyntheticPasswordManager;->isWeaverAvailable()Z
-HSPLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$initWeaverService$0$SyntheticPasswordManager(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
+PLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$initWeaverService$0$SyntheticPasswordManager(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
PLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$weaverVerify$1([Lcom/android/internal/widget/VerifyCredentialResponse;IILandroid/hardware/weaver/V1_0/WeaverReadResponse;)V
-HSPLcom/android/server/locksettings/SyntheticPasswordManager;->loadWeaverSlot(JI)I
+PLcom/android/server/locksettings/SyntheticPasswordManager;->loadState(Ljava/lang/String;JI)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->loadWeaverSlot(JI)I
PLcom/android/server/locksettings/SyntheticPasswordManager;->passwordTokenToWeaverKey([B)[B
PLcom/android/server/locksettings/SyntheticPasswordManager;->scrypt([B[BIIII)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapPasswordBasedSyntheticPassword(Landroid/service/gatekeeper/IGateKeeperService;J[BILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->toByteArrayList([B)Ljava/util/ArrayList;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->transformUnderWeaverSecret([B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapPasswordBasedSyntheticPassword(Landroid/service/gatekeeper/IGateKeeperService;JLcom/android/internal/widget/LockscreenCredential;ILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;
PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapSyntheticPasswordBlob(JB[BJI)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;
PLcom/android/server/locksettings/SyntheticPasswordManager;->verifyChallenge(Landroid/service/gatekeeper/IGateKeeperService;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;JI)Lcom/android/internal/widget/VerifyCredentialResponse;
PLcom/android/server/locksettings/SyntheticPasswordManager;->weaverVerify(I[B)Lcom/android/internal/widget/VerifyCredentialResponse;
-PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->containsAlias(Ljava/lang/String;)Z
-HSPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
-PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getKey(Ljava/lang/String;[C)Ljava/security/Key;
+PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;-><init>(Ljava/security/KeyStore;)V
+PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->setEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;II[BZLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;Landroid/security/Scrypt;)V
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->createApplicationKeyEntries(Ljava/util/Map;Ljava/util/Map;)Ljava/util/List;
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->getSnapshotVersion(IZ)I
+PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->isCustomLockScreen()Z
+PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->newInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;II[BZ)Lcom/android/server/locksettings/recoverablekeystore/KeySyncTask;
PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->run()V
PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->shouldCreateSnapshot(I)Z
PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->syncKeys()V
PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->syncKeysForAgent(I)V
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncUtils;->calculateThmKfHash([B)[B
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncUtils;->concat([[B)[B
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncUtils;->encryptKeysWithRecoveryKey(Ljavax/crypto/SecretKey;Ljava/util/Map;)Ljava/util/Map;
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncUtils;->locallyEncryptRecoveryKey([BLjavax/crypto/SecretKey;)[B
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncUtils;->packVaultParams(Ljava/security/PublicKey;JI[B)[B
-PLcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;->getGenerationId()I
-PLcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;->getKey()Landroid/security/keystore/AndroidKeyStoreSecretKey;
+PLcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;-><init>(ILandroid/security/keystore/AndroidKeyStoreSecretKey;)V
+PLcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;-><init>(ILandroid/security/keystore/AndroidKeyStoreSecretKey;)V
PLcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;->getGenerationId()I
PLcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;->getKey()Landroid/security/keystore/AndroidKeyStoreSecretKey;
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->ensureDecryptionKeyIsValid(ILcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;)V
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><clinit>()V
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->generateAndLoadKey(II)V
-HSPLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
+PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getDecryptAlias(II)Ljava/lang/String;
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getDecryptKey(I)Lcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getDecryptKeyInternal(I)Lcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getEncryptAlias(II)Ljava/lang/String;
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getEncryptKey(I)Lcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getEncryptKeyInternal(I)Lcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getGenerationId(I)I
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;
PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->init(I)V
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->isAvailable(I)Z
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;-><init>(Ljavax/crypto/KeyGenerator;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;->generateAndStoreKey(Lcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;IILjava/lang/String;[B)[B
-HSPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;Ljava/util/concurrent/ExecutorService;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;)V
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;->newInstance(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;Ljava/util/concurrent/ExecutorService;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;)V
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->checkRecoverKeyStorePermission()V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->generateKey(Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->generateKeyWithMetadata(Ljava/lang/String;[B)Ljava/lang/String;
-HSPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getInstance(Landroid/content/Context;Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getKey(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getRecoverySecretTypes()[I
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getRecoveryStatus()Ljava/util/Map;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getInstance(Landroid/content/Context;Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->initRecoveryService(Ljava/lang/String;[B)V
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->lockScreenSecretAvailable(I[BI)V
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setRecoverySecretTypes([I)V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setRecoveryStatus(Ljava/lang/String;I)V
PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setServerParams([B)V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;->recoverySnapshotAvailable(I)V
+PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;-><init>()V
PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;->setSnapshotListener(ILandroid/app/PendingIntent;)V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;->tryToSendIntent(ILandroid/app/PendingIntent;)V
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox$AesGcmOperation;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->aesGcmEncrypt(Ljavax/crypto/SecretKey;[B[B[B)[B
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->aesGcmInternal(Lcom/android/server/locksettings/recoverablekeystore/SecureBox$AesGcmOperation;Ljavax/crypto/SecretKey;[B[B[B)[B
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->concat([[B)[B
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->dhComputeSecret(Ljava/security/PrivateKey;Ljava/security/PublicKey;)[B
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->encodePublicKey(Ljava/security/PublicKey;)[B
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->encrypt(Ljava/security/PublicKey;[B[B[B)[B
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->genKeyPair()Ljava/security/KeyPair;
-PLcom/android/server/locksettings/recoverablekeystore/SecureBox;->hkdfDeriveKey([B[B[B)Ljavax/crypto/SecretKey;
PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;-><init>()V
-PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;->getDefaultCertificateAliasIfEmpty(Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;->getRootCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;->isTestOnlyCertificateAlias(Ljava/lang/String;)Z
-PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;->isValidRootCertificateAlias(Ljava/lang/String;)Z
+PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;-><init>([B[B[BII)V
PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->fromSecretKey(Lcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;Ljavax/crypto/SecretKey;[B)Lcom/android/server/locksettings/recoverablekeystore/WrappedKey;
PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->getKeyMaterial()[B
PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->getKeyMetadata()[B
PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->getNonce()[B
PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->getPlatformKeyGenerationId()I
PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->getRecoveryStatus()I
-PLcom/android/server/locksettings/recoverablekeystore/WrappedKey;->unwrapKeys(Lcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;Ljava/util/Map;)Ljava/util/Map;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->buildCertPath(Ljava/security/cert/PKIXParameters;)Ljava/security/cert/CertPath;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->buildPkixParams(Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/util/List;Ljava/security/cert/X509Certificate;)Ljava/security/cert/PKIXParameters;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->decodeBase64(Ljava/lang/String;)[B
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->decodeCert(Ljava/io/InputStream;)Ljava/security/cert/X509Certificate;
+PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->decodeCert([B)Ljava/security/cert/X509Certificate;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->getXmlDirectChildren(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->getXmlNodeContents(ILorg/w3c/dom/Element;[Ljava/lang/String;)Ljava/util/List;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->getXmlRootNode([B)Lorg/w3c/dom/Element;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->validateCert(Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/util/List;Ljava/security/cert/X509Certificate;)Ljava/security/cert/CertPath;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->verifyRsaSha256Signature(Ljava/security/PublicKey;[B[B)V
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;-><init>(JLjava/util/List;Ljava/util/List;)V
+PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->getSerial()J
+PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parse([B)Lcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseEndpointCerts(Lorg/w3c/dom/Element;)Ljava/util/List;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseIntermediateCerts(Lorg/w3c/dom/Element;)Ljava/util/List;
PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseSerial(Lorg/w3c/dom/Element;)J
+PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;-><init>(Ljava/util/List;Ljava/security/cert/X509Certificate;[B)V
+PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parse([B)Lcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;
+PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parseFileSignature(Lorg/w3c/dom/Element;)[B
PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parseIntermediateCerts(Lorg/w3c/dom/Element;)Ljava/util/List;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->deserialize(Ljava/io/InputStream;)Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->deserializeInternal(Ljava/io/InputStream;)Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readBlobTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)[B
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readCertPathTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/security/cert/CertPath;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readIntTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readKeyChainProtectionParams(Lorg/xmlpull/v1/XmlPullParser;)Landroid/security/keystore/recovery/KeyChainProtectionParams;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readKeyChainProtectionParamsList(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readKeyDerivationParams(Lorg/xmlpull/v1/XmlPullParser;)Landroid/security/keystore/recovery/KeyDerivationParams;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readLongTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readWrappedApplicationKey(Lorg/xmlpull/v1/XmlPullParser;)Landroid/security/keystore/recovery/WrappedApplicationKey;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readWrappedApplicationKeys(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer;->serialize(Landroid/security/keystore/recovery/KeyChainSnapshot;Ljava/io/OutputStream;)V
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer;->writeApplicationKeys(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer;->writeKeyChainProtectionParams(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer;->writeKeyChainSnapshotProperties(Lorg/xmlpull/v1/XmlSerializer;Landroid/security/keystore/recovery/KeyChainSnapshot;)V
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer;->writeKeyDerivationParamsProperties(Lorg/xmlpull/v1/XmlSerializer;Landroid/security/keystore/recovery/KeyDerivationParams;)V
+PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parseSignerCert(Lorg/w3c/dom/Element;)Ljava/security/cert/X509Certificate;
+PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->verifyFileSignature(Ljava/security/cert/X509Certificate;[B)V
+PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->verifyFileSignature(Ljava/security/cert/X509Certificate;[BLjava/util/Date;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;-><init>(Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;Landroid/security/KeyStore;)V
PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getGrantAlias(IILjava/lang/String;)Ljava/lang/String;
+PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getInstance(Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;
PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->setSymmetricKeyEntry(IILjava/lang/String;[B)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager$1;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Landroid/os/UserManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->getInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;)Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;
PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->registerRecoveryAgent(II)V
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->storeUserSerialNumber(IJ)V
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->verifyKnownUsers()V
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->decodeCertPath([B)Ljava/security/cert/CertPath;
+PLcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;->verifyKnownUsers()V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;)V
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->ensureRecoveryServiceMetadataEntryExists(II)V
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getActiveRootOfTrust(II)Ljava/lang/String;
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getAllKeys(III)Ljava/util/Map;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getBytes(IILjava/lang/String;)[B
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getBytes(IILjava/lang/String;Ljava/lang/String;)[B
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getCounterId(II)Ljava/lang/Long;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getLong(IILjava/lang/String;)Ljava/lang/Long;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getLong(IILjava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getPlatformKeyGenerationId(I)I
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getRecoveryAgents(I)Ljava/util/List;
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getPlatformKeyGenerationId(I)I
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getRecoveryAgents(I)Ljava/util/List;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getRecoverySecretTypes(II)[I
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getRecoveryServiceCertPath(IILjava/lang/String;)Ljava/security/cert/CertPath;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getRecoveryServiceCertSerial(IILjava/lang/String;)Ljava/lang/Long;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getServerParams(II)[B
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getShouldCreateSnapshot(II)Z
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getSnapshotVersion(II)Ljava/lang/Long;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getStatusForAllKeys(I)Ljava/util/Map;
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getUserSerialNumbers()Ljava/util/Map;
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getUserSerialNumbers()Ljava/util/Map;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->insertKey(IILjava/lang/String;Lcom/android/server/locksettings/recoverablekeystore/WrappedKey;)J
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->invalidateKeysWithOldGenerationId(II)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->invalidateKeysForUser(I)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->newInstance(Landroid/content/Context;)Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setActiveRootOfTrust(IILjava/lang/String;)J
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setLong(IILjava/lang/String;J)J
PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setPlatformKeyGenerationId(II)J
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setRecoveryStatus(ILjava/lang/String;I)I
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setShouldCreateSnapshot(IIZ)J
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setSnapshotVersion(IIJ)J
-HSPLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setUserSerialNumber(IJ)J
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;->addColumnToTable(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;->onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->get(I)Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->put(ILandroid/security/keystore/recovery/KeyChainSnapshot;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->readFromDisk(I)Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->writeToDisk(ILandroid/security/keystore/recovery/KeyChainSnapshot;)V
-PLcom/android/server/media/-$$Lambda$MediaSessionServiceImpl$a3VtB0CQuvV4UG4nWgvCgkL6hec;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;-><init>()V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;-><init>(Ljava/io/File;)V
+PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->newInstance()Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;
+PLcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;)V
+PLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;Lcom/android/server/media/AudioPlayerStateMonitor$1;)V
+HPLcom/android/server/media/AudioPlayerStateMonitor$AudioManagerPlaybackListener;->onPlaybackConfigChanged(Ljava/util/List;)V
+PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;-><init>(Landroid/os/Looper;Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;)V
PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/media/AudioPlayerStateMonitor;-><init>()V
-PLcom/android/server/media/AudioPlayerStateMonitor;->cleanUpAudioPlaybackUids(I)V
-HSPLcom/android/server/media/AudioPlayerStateMonitor;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
-PLcom/android/server/media/AudioPlayerStateMonitor;->dump(Landroid/content/Context;Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/media/AudioPlayerStateMonitor;->getSortedAudioPlaybackClientUids()Landroid/util/IntArray;
-HSPLcom/android/server/media/AudioPlayerStateMonitor;->isPlaybackActive(I)Z
-HSPLcom/android/server/media/AudioPlayerStateMonitor;->registerListener(Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;Landroid/os/Handler;)V
-HSPLcom/android/server/media/AudioPlayerStateMonitor;->registerSelfIntoAudioServiceIfNeeded(Landroid/media/IAudioService;)V
-PLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->getPackageNamesFromPid(I)[Ljava/lang/String;
-PLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->notifyResourceGranted(II)V
-HSPLcom/android/server/media/MediaResourceMonitorService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/media/MediaResourceMonitorService;->onStart()V
-PLcom/android/server/media/MediaRoute2ProviderWatcher$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/media/MediaRoute2ProviderWatcher$2;->run()V
-HSPLcom/android/server/media/MediaRoute2ProviderWatcher;-><init>(Landroid/content/Context;Lcom/android/server/media/MediaRoute2ProviderWatcher$Callback;Landroid/os/Handler;I)V
-HSPLcom/android/server/media/MediaRoute2ProviderWatcher;->scanPackages()V
-HSPLcom/android/server/media/MediaRoute2ProviderWatcher;->start()V
+PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;->sendAudioPlayerActiveStateChangedMessage(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/AudioPlayerStateMonitor;-><clinit>()V
+PLcom/android/server/media/AudioPlayerStateMonitor;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->access$100(Lcom/android/server/media/AudioPlayerStateMonitor;)Ljava/lang/Object;
+PLcom/android/server/media/AudioPlayerStateMonitor;->access$200()Z
+PLcom/android/server/media/AudioPlayerStateMonitor;->access$400(Lcom/android/server/media/AudioPlayerStateMonitor;Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->getInstance(Landroid/content/Context;)Lcom/android/server/media/AudioPlayerStateMonitor;
+PLcom/android/server/media/AudioPlayerStateMonitor;->getSortedAudioPlaybackClientUids()Landroid/util/IntArray;
+PLcom/android/server/media/AudioPlayerStateMonitor;->isPlaybackActive(I)Z
+PLcom/android/server/media/AudioPlayerStateMonitor;->registerListener(Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;Landroid/os/Handler;)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->sendAudioPlayerActiveStateChangedMessageLocked(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;-><init>(Lcom/android/server/media/MediaResourceMonitorService;)V
+PLcom/android/server/media/MediaResourceMonitorService;-><clinit>()V
+PLcom/android/server/media/MediaResourceMonitorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/MediaResourceMonitorService;->onStart()V
+PLcom/android/server/media/MediaRouter2ServiceImpl;-><clinit>()V
+PLcom/android/server/media/MediaRouter2ServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/MediaRouter2ServiceImpl;->switchUser()V
+PLcom/android/server/media/MediaRouterService$1$1;-><init>(Lcom/android/server/media/MediaRouterService$1;)V
PLcom/android/server/media/MediaRouterService$1$1;->run()V
+PLcom/android/server/media/MediaRouterService$1;-><init>(Lcom/android/server/media/MediaRouterService;)V
PLcom/android/server/media/MediaRouterService$1;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
-HSPLcom/android/server/media/MediaRouterService$2;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
-HSPLcom/android/server/media/MediaRouterService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/media/MediaRouterService$ClientRecord;->binderDied()V
-PLcom/android/server/media/MediaRouterService$ClientRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/media/MediaRouterService$ClientRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/media/MediaRouterService$2;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$3;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/media/MediaRouterService$ClientGroup;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$ClientRecord;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;Landroid/media/IMediaRouterClient;IILjava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService$ClientRecord;->binderDied()V
+PLcom/android/server/media/MediaRouterService$ClientRecord;->getState()Landroid/media/MediaRouterClientState;
+PLcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;-><init>(Lcom/android/server/media/MediaRouterService;)V
+PLcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;-><init>(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;->toString()Ljava/lang/String;
+PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;->appendClientState(Landroid/media/MediaRouterClientState;)V
PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;->updateDescriptor(Landroid/media/RemoteDisplayState;)Z
-HSPLcom/android/server/media/MediaRouterService$UserHandler;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;)V
+PLcom/android/server/media/MediaRouterService$UserHandler;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;)V
PLcom/android/server/media/MediaRouterService$UserHandler;->addProvider(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-PLcom/android/server/media/MediaRouterService$UserHandler;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/media/MediaRouterService$UserHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaRouterService$UserHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaRouterService$UserHandler;->start()V
PLcom/android/server/media/MediaRouterService$UserHandler;->updateClientState()V
-PLcom/android/server/media/MediaRouterService$UserHandler;->updateDiscoveryRequest()V
-PLcom/android/server/media/MediaRouterService$UserRecord$1;->run()V
-PLcom/android/server/media/MediaRouterService$UserRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/media/MediaRouterService$UserRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/media/MediaRouterService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/media/MediaRouterService;->clientDied(Lcom/android/server/media/MediaRouterService$ClientRecord;)V
-HSPLcom/android/server/media/MediaRouterService;->disposeClientLocked(Lcom/android/server/media/MediaRouterService$ClientRecord;Z)V
-HSPLcom/android/server/media/MediaRouterService;->disposeUserIfNeededLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
-PLcom/android/server/media/MediaRouterService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/media/MediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
-HSPLcom/android/server/media/MediaRouterService;->initializeUserLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
-HSPLcom/android/server/media/MediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
-HSPLcom/android/server/media/MediaRouterService;->monitor()V
-HSPLcom/android/server/media/MediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-HSPLcom/android/server/media/MediaRouterService;->registerClientLocked(Landroid/media/IMediaRouterClient;IILjava/lang/String;IZ)V
+PLcom/android/server/media/MediaRouterService$UserHandler;->updateSelectedRoute(Ljava/lang/String;)V
+PLcom/android/server/media/MediaRouterService$UserRecord;-><init>(Lcom/android/server/media/MediaRouterService;I)V
+PLcom/android/server/media/MediaRouterService$UserRecord;->access$500(Lcom/android/server/media/MediaRouterService$UserRecord;)Landroid/util/ArrayMap;
+PLcom/android/server/media/MediaRouterService$UserRecord;->addToGroup(Ljava/lang/String;Lcom/android/server/media/MediaRouterService$ClientRecord;)V
+PLcom/android/server/media/MediaRouterService$UserRecord;->removeFromGroup(Ljava/lang/String;Lcom/android/server/media/MediaRouterService$ClientRecord;)V
+PLcom/android/server/media/MediaRouterService;-><clinit>()V
+PLcom/android/server/media/MediaRouterService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/MediaRouterService;->access$000(Lcom/android/server/media/MediaRouterService;)Landroid/util/IntArray;
+PLcom/android/server/media/MediaRouterService;->access$100(Lcom/android/server/media/MediaRouterService;)Landroid/util/IntArray;
+PLcom/android/server/media/MediaRouterService;->access$200(Lcom/android/server/media/MediaRouterService;)Landroid/os/Handler;
+PLcom/android/server/media/MediaRouterService;->access$300()Z
+PLcom/android/server/media/MediaRouterService;->access$400(Lcom/android/server/media/MediaRouterService;)Ljava/lang/Object;
+PLcom/android/server/media/MediaRouterService;->access$600(Lcom/android/server/media/MediaRouterService;)Landroid/content/Context;
+PLcom/android/server/media/MediaRouterService;->clientDied(Lcom/android/server/media/MediaRouterService$ClientRecord;)V
+PLcom/android/server/media/MediaRouterService;->disposeClientLocked(Lcom/android/server/media/MediaRouterService$ClientRecord;Z)V
+PLcom/android/server/media/MediaRouterService;->disposeUserIfNeededLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
+PLcom/android/server/media/MediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
+PLcom/android/server/media/MediaRouterService;->getStateLocked(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
+PLcom/android/server/media/MediaRouterService;->initializeClientLocked(Lcom/android/server/media/MediaRouterService$ClientRecord;)V
+PLcom/android/server/media/MediaRouterService;->initializeUserLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
+PLcom/android/server/media/MediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
+PLcom/android/server/media/MediaRouterService;->monitor()V
+PLcom/android/server/media/MediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
+PLcom/android/server/media/MediaRouterService;->registerClientGroupId(Landroid/media/IMediaRouterClient;Ljava/lang/String;)V
+PLcom/android/server/media/MediaRouterService;->registerClientGroupIdLocked(Landroid/media/IMediaRouterClient;Ljava/lang/String;)V
+PLcom/android/server/media/MediaRouterService;->registerClientLocked(Landroid/media/IMediaRouterClient;IILjava/lang/String;IZ)V
PLcom/android/server/media/MediaRouterService;->restoreBluetoothA2dp()V
PLcom/android/server/media/MediaRouterService;->restoreRoute(I)V
-HSPLcom/android/server/media/MediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
-HSPLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V
-HSPLcom/android/server/media/MediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-HSPLcom/android/server/media/MediaRouterService;->setSelectedRouteLocked(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-HSPLcom/android/server/media/MediaRouterService;->switchUser()V
-HSPLcom/android/server/media/MediaRouterService;->systemRunning()V
-HSPLcom/android/server/media/MediaRouterService;->validatePackageName(ILjava/lang/String;)Z
-PLcom/android/server/media/MediaSessionRecord$2;->run()V
-PLcom/android/server/media/MediaSessionRecord$3;->run()V
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getExtras()Landroid/os/Bundle;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getLaunchPendingIntent()Landroid/app/PendingIntent;
+PLcom/android/server/media/MediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
+PLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V
+PLcom/android/server/media/MediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService;->setSelectedRouteLocked(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService;->switchUser()V
+PLcom/android/server/media/MediaRouterService;->systemRunning()V
+PLcom/android/server/media/MediaRouterService;->unregisterClientLocked(Landroid/media/IMediaRouterClient;Z)V
+PLcom/android/server/media/MediaRouterService;->validatePackageName(ILjava/lang/String;)Z
+PLcom/android/server/media/MediaSessionRecord$3;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getMetadata()Landroid/media/MediaMetadata;
PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getPackageName()Ljava/lang/String;
PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getPlaybackState()Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueue()Landroid/media/MediaParceledListSlice;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueueTitle()Ljava/lang/CharSequence;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getRatingType()I
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueue()Landroid/content/pm/ParceledListSlice;
PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->pause(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
PLcom/android/server/media/MediaSessionRecord$ControllerStub;->registerCallback(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->sendCommand(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->sendMediaButton(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/view/KeyEvent;)Z
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->stop(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
PLcom/android/server/media/MediaSessionRecord$ControllerStub;->unregisterCallback(Landroid/media/session/ISessionControllerCallback;)V
-HSPLcom/android/server/media/MediaSessionRecord$MessageHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(I)V
-HSPLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(ILjava/lang/Object;)V
-PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(ILjava/lang/Object;Landroid/os/Bundle;)V
-PLcom/android/server/media/MediaSessionRecord$SessionCb;->pause(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-PLcom/android/server/media/MediaSessionRecord$SessionCb;->sendCommand(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-PLcom/android/server/media/MediaSessionRecord$SessionCb;->sendMediaButton(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;ZLandroid/view/KeyEvent;)Z
-PLcom/android/server/media/MediaSessionRecord$SessionCb;->sendMediaButton(Ljava/lang/String;IIZLandroid/view/KeyEvent;ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/media/MediaSessionRecord$SessionCb;->stop(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
+PLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;I)V
+PLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;->access$400(Lcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;)Landroid/media/session/ISessionControllerCallback;
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/os/Looper;)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(I)V
+PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(ILjava/lang/Object;)V
+PLcom/android/server/media/MediaSessionRecord$SessionCb;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionCallback;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;-><init>(Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord$1;)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->destroySession()V
-HSPLcom/android/server/media/MediaSessionRecord$SessionStub;->getController()Landroid/media/session/ISessionController;
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->sendEvent(Ljava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->getController()Landroid/media/session/ISessionController;
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setActive(Z)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setCurrentVolume(I)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setExtras(Landroid/os/Bundle;)V
-HSPLcom/android/server/media/MediaSessionRecord$SessionStub;->setFlags(I)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setFlags(I)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setMetadata(Landroid/media/MediaMetadata;JLjava/lang/String;)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackState(Landroid/media/session/PlaybackState;)V
-HSPLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToRemote(II)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setQueue(Landroid/media/MediaParceledListSlice;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setQueue(Landroid/content/pm/ParceledListSlice;)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setQueueTitle(Ljava/lang/CharSequence;)V
PLcom/android/server/media/MediaSessionRecord$SessionStub;->setRatingType(I)V
-HSPLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;Lcom/android/server/media/MediaSessionService$ServiceImpl;Landroid/os/Looper;)V
-PLcom/android/server/media/MediaSessionRecord;->adjustVolume(Ljava/lang/String;Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;ZIIZ)V
+PLcom/android/server/media/MediaSessionRecord;-><clinit>()V
+PLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;Lcom/android/server/media/MediaSessionService;Landroid/os/Looper;)V
+PLcom/android/server/media/MediaSessionRecord;->access$1000(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionRecord$ControllerStub;
+PLcom/android/server/media/MediaSessionRecord;->access$1202(Lcom/android/server/media/MediaSessionRecord;J)J
+PLcom/android/server/media/MediaSessionRecord;->access$1500(Lcom/android/server/media/MediaSessionRecord;)Ljava/lang/Object;
+PLcom/android/server/media/MediaSessionRecord;->access$2000(Lcom/android/server/media/MediaSessionRecord;)Ljava/util/List;
+PLcom/android/server/media/MediaSessionRecord;->access$2002(Lcom/android/server/media/MediaSessionRecord;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/media/MediaSessionRecord;->access$2400(Lcom/android/server/media/MediaSessionRecord;)I
+PLcom/android/server/media/MediaSessionRecord;->access$2402(Lcom/android/server/media/MediaSessionRecord;I)I
+PLcom/android/server/media/MediaSessionRecord;->access$2502(Lcom/android/server/media/MediaSessionRecord;Landroid/media/AudioAttributes;)Landroid/media/AudioAttributes;
+PLcom/android/server/media/MediaSessionRecord;->access$800(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionService;
+PLcom/android/server/media/MediaSessionRecord;->access$900(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionRecord$MessageHandler;
PLcom/android/server/media/MediaSessionRecord;->binderDied()V
-PLcom/android/server/media/MediaSessionRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
PLcom/android/server/media/MediaSessionRecord;->getCallback()Landroid/media/session/ISessionCallback;
-PLcom/android/server/media/MediaSessionRecord;->getControllerBinder()Landroid/media/session/ISessionController;
PLcom/android/server/media/MediaSessionRecord;->getControllerHolderIndexForCb(Landroid/media/session/ISessionControllerCallback;)I
PLcom/android/server/media/MediaSessionRecord;->getFlags()J
-PLcom/android/server/media/MediaSessionRecord;->getMediaButtonReceiver()Landroid/app/PendingIntent;
-PLcom/android/server/media/MediaSessionRecord;->getPackageName()Ljava/lang/String;
-PLcom/android/server/media/MediaSessionRecord;->getPlaybackState()Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord;->getPlaybackType()I
-HSPLcom/android/server/media/MediaSessionRecord;->getSessionBinder()Landroid/media/session/ISession;
+PLcom/android/server/media/MediaSessionRecord;->getSessionBinder()Landroid/media/session/ISession;
PLcom/android/server/media/MediaSessionRecord;->getSessionToken()Landroid/media/session/MediaSession$Token;
PLcom/android/server/media/MediaSessionRecord;->getStateWithUpdatedPosition()Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord;->getUid()I
-HSPLcom/android/server/media/MediaSessionRecord;->getUserId()I
+PLcom/android/server/media/MediaSessionRecord;->getUserId()I
PLcom/android/server/media/MediaSessionRecord;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
-PLcom/android/server/media/MediaSessionRecord;->hasFlag(I)Z
-HSPLcom/android/server/media/MediaSessionRecord;->isActive()Z
-PLcom/android/server/media/MediaSessionRecord;->isPlaybackActive()Z
-PLcom/android/server/media/MediaSessionRecord;->logCallbackException(Ljava/lang/String;Lcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;Ljava/lang/Exception;)V
+PLcom/android/server/media/MediaSessionRecord;->isActive()Z
PLcom/android/server/media/MediaSessionRecord;->onDestroy()V
-PLcom/android/server/media/MediaSessionRecord;->postAdjustLocalVolume(IIILjava/lang/String;IIZZI)V
-PLcom/android/server/media/MediaSessionRecord;->pushEvent(Ljava/lang/String;Landroid/os/Bundle;)V
PLcom/android/server/media/MediaSessionRecord;->pushExtrasUpdate()V
-PLcom/android/server/media/MediaSessionRecord;->pushMetadataUpdate()V
PLcom/android/server/media/MediaSessionRecord;->pushPlaybackStateUpdate()V
PLcom/android/server/media/MediaSessionRecord;->pushQueueTitleUpdate()V
PLcom/android/server/media/MediaSessionRecord;->pushQueueUpdate()V
PLcom/android/server/media/MediaSessionRecord;->pushSessionDestroyed()V
-PLcom/android/server/media/MediaSessionRecord;->pushVolumeUpdate()V
-PLcom/android/server/media/MediaSessionRecord;->sendMediaButton(Ljava/lang/String;IIZLandroid/view/KeyEvent;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/server/media/MediaSessionRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/media/MediaSessionService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/media/MediaSessionService;->monitor()V
-HSPLcom/android/server/media/MediaSessionService;->onStart()V
-HSPLcom/android/server/media/MediaSessionService;->onStartUser(I)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;-><init>(Lcom/android/server/media/MediaSessionServiceImpl;I)V
-PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->dumpLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->getComponentType(Landroid/content/ComponentName;)I
-PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->onMediaButtonSessionChanged(Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->pushAddressedPlayerChangedLocked()V
-PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->rememberMediaButtonReceiverLocked(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$MessageHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$1;->binderDied()V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$4;->run()V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$KeyEventWakeLockReceiver;->onReceiveResult(ILandroid/os/Bundle;)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$KeyEventWakeLockReceiver;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/session/ISession;
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchAdjustVolumeLocked(Ljava/lang/String;Ljava/lang/String;IIZIII)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchMediaKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;Z)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchMediaKeyEventLocked(Ljava/lang/String;IIZLandroid/view/KeyEvent;Z)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchVolumeKeyEvent(Ljava/lang/String;Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchVolumeKeyEventLocked(Ljava/lang/String;Ljava/lang/String;IIZLandroid/view/KeyEvent;IZ)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchVolumeKeyEventToSessionAsSystemService(Ljava/lang/String;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/view/KeyEvent;)V
-PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->registerRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->setCallback(Landroid/media/session/ICallback;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl$SessionsListenerRecord;->binderDied()V
-PLcom/android/server/media/MediaSessionServiceImpl$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/media/MediaSessionServiceImpl;->access$2100(Lcom/android/server/media/MediaSessionServiceImpl;Ljava/lang/String;I)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->access$3800(Lcom/android/server/media/MediaSessionServiceImpl;Ljava/lang/String;II)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->access$4000(Lcom/android/server/media/MediaSessionServiceImpl;Landroid/content/ComponentName;III)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->createSessionInternal(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
-HSPLcom/android/server/media/MediaSessionServiceImpl;->createSessionLocked(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionServiceImpl;->destroySession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionServiceImpl;->destroySessionLocked(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->enforceMediaPermissions(Landroid/content/ComponentName;III)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->enforcePackageName(Ljava/lang/String;I)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->enforcePhoneStatePermission(II)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->findIndexOfSessionsListenerLocked(Landroid/media/session/IActiveSessionsListener;)I
-HSPLcom/android/server/media/MediaSessionServiceImpl;->getActiveSessionsLocked(I)Ljava/util/List;
-HSPLcom/android/server/media/MediaSessionServiceImpl;->getContext()Landroid/content/Context;
-PLcom/android/server/media/MediaSessionServiceImpl;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;
-HSPLcom/android/server/media/MediaSessionServiceImpl;->getServiceBinder()Landroid/os/IBinder;
-PLcom/android/server/media/MediaSessionServiceImpl;->isEnabledNotificationListener(Landroid/content/ComponentName;II)Z
-PLcom/android/server/media/MediaSessionServiceImpl;->isGlobalPriorityActiveLocked()Z
-PLcom/android/server/media/MediaSessionServiceImpl;->lambda$onStart$0$MediaSessionServiceImpl(Landroid/media/AudioPlaybackConfiguration;Z)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->monitor()V
-PLcom/android/server/media/MediaSessionServiceImpl;->notifyRemoteVolumeChanged(ILcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionServiceImpl;->onMediaButtonReceiverChanged(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionServiceImpl;->onSessionPlaybackTypeChanged(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionServiceImpl;->onSessionPlaystateChanged(Lcom/android/server/media/MediaSessionRecord;II)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->onStart()V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->onStartUser(I)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->pushRemoteVolumeUpdateLocked(I)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->pushSessionsChanged(I)V
-PLcom/android/server/media/MediaSessionServiceImpl;->sessionDied(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->setGlobalPrioritySession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionServiceImpl;->updateActiveSessionListeners()V
-PLcom/android/server/media/MediaSessionServiceImpl;->updateSession(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionServiceImpl;->updateUser()V
-HSPLcom/android/server/media/MediaSessionStack;->addSession(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionStack;->contains(Lcom/android/server/media/MediaSessionRecord;)Z
-PLcom/android/server/media/MediaSessionStack;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/media/MediaSessionRecord;->toString()Ljava/lang/String;
+PLcom/android/server/media/MediaSessionService$FullUserRecord$CallbackRecord;-><init>(Lcom/android/server/media/MediaSessionService$FullUserRecord;Landroid/media/session/ICallback;I)V
+PLcom/android/server/media/MediaSessionService$FullUserRecord;-><init>(Lcom/android/server/media/MediaSessionService;I)V
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$300(Lcom/android/server/media/MediaSessionService$FullUserRecord;)Lcom/android/server/media/MediaSessionStack;
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$400(Lcom/android/server/media/MediaSessionService$FullUserRecord;)I
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$500(Lcom/android/server/media/MediaSessionService$FullUserRecord;)Landroid/media/session/IOnVolumeKeyLongPressListener;
+PLcom/android/server/media/MediaSessionService$FullUserRecord;->registerCallbackLocked(Landroid/media/session/ICallback;I)V
+PLcom/android/server/media/MediaSessionService$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$MessageHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/media/MediaSessionService$MessageHandler;->postSessionsChanged(I)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl$3;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;ZLjava/lang/String;IIIILjava/lang/String;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl$3;->run()V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl$4;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl$KeyEventWakeLockReceiver;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;Landroid/os/Handler;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/session/ISession;
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->dispatchAdjustVolumeLocked(Ljava/lang/String;Ljava/lang/String;IIZIII)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->dispatchVolumeKeyEvent(Ljava/lang/String;Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->dispatchVolumeKeyEventLocked(Ljava/lang/String;Ljava/lang/String;IIZLandroid/view/KeyEvent;IZ)V
+HPLcom/android/server/media/MediaSessionService$SessionManagerImpl;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->hasMediaControlPermission(II)Z
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->isValidLocalStreamType(I)Z
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->registerCallback(Landroid/media/session/ICallback;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->registerRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
+PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->verifySessionsRequest(Landroid/content/ComponentName;III)I
+PLcom/android/server/media/MediaSessionService$SessionsListenerRecord;-><init>(Lcom/android/server/media/MediaSessionService;Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;III)V
+PLcom/android/server/media/MediaSessionService$SettingsObserver;-><init>(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService$SettingsObserver;-><init>(Lcom/android/server/media/MediaSessionService;Lcom/android/server/media/MediaSessionService$1;)V
+PLcom/android/server/media/MediaSessionService$SettingsObserver;->access$100(Lcom/android/server/media/MediaSessionService$SettingsObserver;)V
+PLcom/android/server/media/MediaSessionService$SettingsObserver;->observe()V
+PLcom/android/server/media/MediaSessionService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/media/MediaSessionService;-><clinit>()V
+PLcom/android/server/media/MediaSessionService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/MediaSessionService;->access$1000(Lcom/android/server/media/MediaSessionService;I)Ljava/lang/String;
+PLcom/android/server/media/MediaSessionService;->access$1200(Lcom/android/server/media/MediaSessionService;)Ljava/lang/Object;
+PLcom/android/server/media/MediaSessionService;->access$1300(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/MediaSessionService$MessageHandler;
+PLcom/android/server/media/MediaSessionService;->access$1400(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/MediaSessionService$FullUserRecord;
+PLcom/android/server/media/MediaSessionService;->access$1500(Lcom/android/server/media/MediaSessionService;)Z
+PLcom/android/server/media/MediaSessionService;->access$1700(Lcom/android/server/media/MediaSessionService;)Landroid/content/Context;
+PLcom/android/server/media/MediaSessionService;->access$1900(Lcom/android/server/media/MediaSessionService;)Ljava/util/ArrayList;
+PLcom/android/server/media/MediaSessionService;->access$2100(Lcom/android/server/media/MediaSessionService;)V
+PLcom/android/server/media/MediaSessionService;->access$2200(Lcom/android/server/media/MediaSessionService;Ljava/lang/String;I)V
+PLcom/android/server/media/MediaSessionService;->access$2300(Lcom/android/server/media/MediaSessionService;IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionService;->access$2400(Lcom/android/server/media/MediaSessionService;I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionService;->access$2500(Lcom/android/server/media/MediaSessionService;Landroid/media/session/IActiveSessionsListener;)I
+PLcom/android/server/media/MediaSessionService;->access$3000(Lcom/android/server/media/MediaSessionService;I)Lcom/android/server/media/MediaSessionService$FullUserRecord;
+PLcom/android/server/media/MediaSessionService;->access$3800(Lcom/android/server/media/MediaSessionService;Ljava/lang/String;II)V
+PLcom/android/server/media/MediaSessionService;->access$4000(Lcom/android/server/media/MediaSessionService;Landroid/content/ComponentName;III)V
+PLcom/android/server/media/MediaSessionService;->access$4200(Lcom/android/server/media/MediaSessionService;)Landroid/media/AudioManagerInternal;
+PLcom/android/server/media/MediaSessionService;->access$5500(Lcom/android/server/media/MediaSessionService;I)V
+PLcom/android/server/media/MediaSessionService;->access$600(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/AudioPlayerStateMonitor;
+PLcom/android/server/media/MediaSessionService;->access$700(Lcom/android/server/media/MediaSessionService;)Landroid/content/ContentResolver;
+PLcom/android/server/media/MediaSessionService;->createSessionInternal(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionService;->createSessionLocked(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionService;->destroySession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionService;->destroySessionLocked(Lcom/android/server/media/MediaSessionRecord;)V
+HPLcom/android/server/media/MediaSessionService;->enforceMediaPermissions(Landroid/content/ComponentName;III)V
+PLcom/android/server/media/MediaSessionService;->enforcePackageName(Ljava/lang/String;I)V
+PLcom/android/server/media/MediaSessionService;->enforcePhoneStatePermission(II)V
+PLcom/android/server/media/MediaSessionService;->enforceStatusBarServicePermission(Ljava/lang/String;II)V
+PLcom/android/server/media/MediaSessionService;->findIndexOfSessionsListenerLocked(Landroid/media/session/IActiveSessionsListener;)I
+HPLcom/android/server/media/MediaSessionService;->getActiveSessionsLocked(I)Ljava/util/List;
+PLcom/android/server/media/MediaSessionService;->getAudioService()Landroid/media/IAudioService;
+PLcom/android/server/media/MediaSessionService;->getCallingPackageName(I)Ljava/lang/String;
+PLcom/android/server/media/MediaSessionService;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionService$FullUserRecord;
+HPLcom/android/server/media/MediaSessionService;->hasStatusBarServicePermission(II)Z
+PLcom/android/server/media/MediaSessionService;->isGlobalPriorityActiveLocked()Z
+PLcom/android/server/media/MediaSessionService;->lambda$onStart$0$MediaSessionService(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/MediaSessionService;->monitor()V
+PLcom/android/server/media/MediaSessionService;->onMediaButtonReceiverChanged(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionService;->onSessionPlaystateChanged(Lcom/android/server/media/MediaSessionRecord;II)V
+PLcom/android/server/media/MediaSessionService;->onStart()V
+PLcom/android/server/media/MediaSessionService;->onStartUser(I)V
+PLcom/android/server/media/MediaSessionService;->pushRemoteVolumeUpdateLocked(I)V
+PLcom/android/server/media/MediaSessionService;->pushSessionsChanged(I)V
+PLcom/android/server/media/MediaSessionService;->sessionDied(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionService;->setGlobalPrioritySession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionService;->updateActiveSessionListeners()V
+PLcom/android/server/media/MediaSessionService;->updateSession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionService;->updateUser()V
+PLcom/android/server/media/MediaSessionStack;-><clinit>()V
+PLcom/android/server/media/MediaSessionStack;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;Lcom/android/server/media/MediaSessionStack$OnMediaButtonSessionChangedListener;)V
+PLcom/android/server/media/MediaSessionStack;->addSession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionStack;->clearCache(I)V
+PLcom/android/server/media/MediaSessionStack;->contains(Lcom/android/server/media/MediaSessionRecord;)Z
PLcom/android/server/media/MediaSessionStack;->findMediaButtonSession(I)Lcom/android/server/media/MediaSessionRecord;
-HSPLcom/android/server/media/MediaSessionStack;->getActiveSessions(I)Ljava/util/ArrayList;
-HSPLcom/android/server/media/MediaSessionStack;->getDefaultRemoteSession(I)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionStack;->getActiveSessions(I)Ljava/util/ArrayList;
+PLcom/android/server/media/MediaSessionStack;->getDefaultRemoteSession(I)Lcom/android/server/media/MediaSessionRecord;
PLcom/android/server/media/MediaSessionStack;->getDefaultVolumeSession()Lcom/android/server/media/MediaSessionRecord;
-HSPLcom/android/server/media/MediaSessionStack;->getMediaButtonSession()Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionStack;->getMediaSessionRecord(Landroid/media/session/MediaSession$Token;)Lcom/android/server/media/MediaSessionRecord;
-HSPLcom/android/server/media/MediaSessionStack;->getPriorityList(ZI)Ljava/util/ArrayList;
+PLcom/android/server/media/MediaSessionStack;->getMediaButtonSession()Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionStack;->getPriorityList(ZI)Ljava/util/ArrayList;
PLcom/android/server/media/MediaSessionStack;->onPlaystateChanged(Lcom/android/server/media/MediaSessionRecord;II)V
PLcom/android/server/media/MediaSessionStack;->onSessionStateChange(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionStack;->removeSession(Lcom/android/server/media/MediaSessionRecord;)V
-HSPLcom/android/server/media/MediaSessionStack;->updateMediaButtonSessionIfNeeded()V
-PLcom/android/server/media/RemoteDisplayProviderProxy;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/media/MediaSessionStack;->removeSession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionStack;->updateMediaButtonSessionIfNeeded()V
+PLcom/android/server/media/RemoteDisplayProviderProxy$1;-><init>(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
+PLcom/android/server/media/RemoteDisplayProviderProxy;-><clinit>()V
+PLcom/android/server/media/RemoteDisplayProviderProxy;-><init>(Landroid/content/Context;Landroid/content/ComponentName;I)V
+PLcom/android/server/media/RemoteDisplayProviderProxy;->getDisplayState()Landroid/media/RemoteDisplayState;
+PLcom/android/server/media/RemoteDisplayProviderProxy;->getFlattenedComponentName()Ljava/lang/String;
+HPLcom/android/server/media/RemoteDisplayProviderProxy;->hasComponentName(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/media/RemoteDisplayProviderProxy;->rebindIfDisconnected()V
+PLcom/android/server/media/RemoteDisplayProviderProxy;->setCallback(Lcom/android/server/media/RemoteDisplayProviderProxy$Callback;)V
+PLcom/android/server/media/RemoteDisplayProviderProxy;->setDiscoveryMode(I)V
PLcom/android/server/media/RemoteDisplayProviderProxy;->setSelectedDisplay(Ljava/lang/String;)V
+PLcom/android/server/media/RemoteDisplayProviderProxy;->shouldBind()Z
PLcom/android/server/media/RemoteDisplayProviderProxy;->start()V
PLcom/android/server/media/RemoteDisplayProviderProxy;->unbind()V
+PLcom/android/server/media/RemoteDisplayProviderProxy;->updateBinding()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$1;-><init>(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
PLcom/android/server/media/RemoteDisplayProviderWatcher$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/media/RemoteDisplayProviderWatcher$2;->run()V
-HSPLcom/android/server/media/RemoteDisplayProviderWatcher;-><init>(Landroid/content/Context;Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;Landroid/os/Handler;I)V
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V
-HSPLcom/android/server/media/RemoteDisplayProviderWatcher;->start()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$2;-><init>(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher$2;->run()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;-><clinit>()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;-><init>(Landroid/content/Context;Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;Landroid/os/Handler;I)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->access$100(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V
+PLcom/android/server/media/RemoteDisplayProviderWatcher;->start()V
PLcom/android/server/media/RemoteDisplayProviderWatcher;->verifyServiceTrusted(Landroid/content/pm/ServiceInfo;)Z
-HSPLcom/android/server/media/projection/MediaProjectionManagerService$2;->binderDied()V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-HSPLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;-><init>()V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;->add(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;->remove(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;->linkDeathRecipientLocked(Landroid/media/projection/IMediaProjectionWatcherCallback;Landroid/os/IBinder$DeathRecipient;)V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;->monitor()V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;->onStart()V
-HSPLcom/android/server/media/projection/MediaProjectionManagerService;->removeCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;->onForegroundActivitiesChanged(IIZ)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;->onForegroundServicesChanged(III)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$1;->onProcessDied(II)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$2;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Lcom/android/server/media/projection/MediaProjectionManagerService$1;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
+PLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;-><init>()V
+PLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;->add(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Lcom/android/server/media/projection/MediaProjectionManagerService$1;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->access$1000(Lcom/android/server/media/projection/MediaProjectionManagerService;Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->access$200(Lcom/android/server/media/projection/MediaProjectionManagerService;III)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->access$500(Lcom/android/server/media/projection/MediaProjectionManagerService;)Landroid/content/Context;
+PLcom/android/server/media/projection/MediaProjectionManagerService;->access$800(Lcom/android/server/media/projection/MediaProjectionManagerService;)Landroid/media/projection/MediaProjectionInfo;
+PLcom/android/server/media/projection/MediaProjectionManagerService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
+PLcom/android/server/media/projection/MediaProjectionManagerService;->handleForegroundServicesChanged(III)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->linkDeathRecipientLocked(Landroid/media/projection/IMediaProjectionWatcherCallback;Landroid/os/IBinder$DeathRecipient;)V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->monitor()V
+PLcom/android/server/media/projection/MediaProjectionManagerService;->onStart()V
+PLcom/android/server/midi/MidiService$1;-><init>(Lcom/android/server/midi/MidiService;)V
PLcom/android/server/midi/MidiService$1;->onPackageAdded(Ljava/lang/String;I)V
PLcom/android/server/midi/MidiService$1;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/midi/MidiService$1;->onPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/midi/MidiService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/midi/MidiService$Lifecycle;->onStart()V
-HSPLcom/android/server/midi/MidiService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/midi/MidiService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/midi/MidiService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/midi/MidiService$Lifecycle;->onStart()V
+PLcom/android/server/midi/MidiService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/midi/MidiService;-><clinit>()V
+PLcom/android/server/midi/MidiService;-><init>(Landroid/content/Context;)V
PLcom/android/server/midi/MidiService;->addPackageDeviceServer(Landroid/content/pm/ServiceInfo;)V
PLcom/android/server/midi/MidiService;->addPackageDeviceServers(Ljava/lang/String;)V
-PLcom/android/server/midi/MidiService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/midi/MidiService;->onUnlockUser()V
+PLcom/android/server/midi/MidiService;->onUnlockUser()V
PLcom/android/server/midi/MidiService;->removePackageDeviceServers(Ljava/lang/String;)V
-HSPLcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;->run()V
-HSPLcom/android/server/net/IpConfigStore;-><init>()V
-HSPLcom/android/server/net/IpConfigStore;->readIpConfigurations(Ljava/lang/String;)Landroid/util/ArrayMap;
-HSPLcom/android/server/net/NetworkIdentitySet;-><init>(Ljava/io/DataInputStream;)V
-HSPLcom/android/server/net/NetworkIdentitySet;->areAllMembersOnDefaultNetwork()Z
-PLcom/android/server/net/NetworkIdentitySet;->compareTo(Lcom/android/server/net/NetworkIdentitySet;)I
-HSPLcom/android/server/net/NetworkIdentitySet;->isAnyMemberMetered()Z
-HSPLcom/android/server/net/NetworkIdentitySet;->isAnyMemberRoaming()Z
-PLcom/android/server/net/NetworkIdentitySet;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/net/NetworkIdentitySet;->writeToStream(Ljava/io/DataOutputStream;)V
-HSPLcom/android/server/net/NetworkPolicyLogger$Data;-><init>()V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->getContent(Lcom/android/server/net/NetworkPolicyLogger$Data;)Ljava/lang/String;
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->reverseDump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/net/NetworkPolicyLogger;-><init>()V
-HSPLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->appIdleWlChanged(IZ)V
+PLcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;->run()V
+PLcom/android/server/net/DelayedDiskWrite;-><init>()V
+PLcom/android/server/net/IpConfigStore;-><init>()V
+PLcom/android/server/net/IpConfigStore;-><init>(Lcom/android/server/net/DelayedDiskWrite;)V
+PLcom/android/server/net/IpConfigStore;->loge(Ljava/lang/String;)V
+PLcom/android/server/net/IpConfigStore;->readIpConfigurations(Ljava/lang/String;)Landroid/util/ArrayMap;
+PLcom/android/server/net/LockdownVpnTracker;->isEnabled()Z
+PLcom/android/server/net/NetworkIdentitySet;-><init>()V
+PLcom/android/server/net/NetworkIdentitySet;-><init>(Ljava/io/DataInputStream;)V
+HPLcom/android/server/net/NetworkIdentitySet;->areAllMembersOnDefaultNetwork()Z
+HPLcom/android/server/net/NetworkIdentitySet;->isAnyMemberMetered()Z
+HPLcom/android/server/net/NetworkIdentitySet;->isAnyMemberRoaming()Z
+PLcom/android/server/net/NetworkIdentitySet;->readOptionalString(Ljava/io/DataInputStream;)Ljava/lang/String;
+PLcom/android/server/net/NetworkIdentitySet;->writeToStream(Ljava/io/DataOutputStream;)V
+PLcom/android/server/net/NetworkPolicyLogger$Data;-><init>()V
+PLcom/android/server/net/NetworkPolicyLogger$Data;->reset()V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;-><init>(I)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->appIdleStateChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->appIdleWlChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->event(Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->firewallChainEnabled(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->meterednessChanged(IZ)V
+HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->networkBlocked(II)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->tempPowerSaveWlChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidFirewallRuleChanged(III)V
+PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJ)V
+PLcom/android/server/net/NetworkPolicyLogger;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyLogger;-><init>()V
+PLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger;->appIdleWlChanged(IZ)V
PLcom/android/server/net/NetworkPolicyLogger;->deviceIdleModeEnabled(Z)V
-PLcom/android/server/net/NetworkPolicyLogger;->dumpLogs(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->firewallChainEnabled(IZ)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->firewallRulesChanged(I[I[I)V
-PLcom/android/server/net/NetworkPolicyLogger;->getBlockedReason(I)Ljava/lang/String;
-HSPLcom/android/server/net/NetworkPolicyLogger;->meteredRestrictedPkgsChanged(Ljava/util/Set;)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->meterednessChanged(IZ)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->networkBlocked(II)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->paroleStateChanged(Z)V
+PLcom/android/server/net/NetworkPolicyLogger;->firewallChainEnabled(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger;->firewallRulesChanged(I[I[I)V
+PLcom/android/server/net/NetworkPolicyLogger;->getFirewallChainName(I)Ljava/lang/String;
+PLcom/android/server/net/NetworkPolicyLogger;->meteredRestrictedPkgsChanged(Ljava/util/Set;)V
+PLcom/android/server/net/NetworkPolicyLogger;->meterednessChanged(IZ)V
+HPLcom/android/server/net/NetworkPolicyLogger;->networkBlocked(II)V
PLcom/android/server/net/NetworkPolicyLogger;->tempPowerSaveWlChanged(IZ)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V
-HSPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$12;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$13;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+HPLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V
+HPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJ)V
+PLcom/android/server/net/NetworkPolicyManagerInternal;-><init>()V
+PLcom/android/server/net/NetworkPolicyManagerInternal;->isUidNetworkingBlocked(IIZZ)Z
+PLcom/android/server/net/NetworkPolicyManagerService$10;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$11;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$12;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$12;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkPolicyManagerService$13;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$13;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/net/NetworkPolicyManagerService$14;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
PLcom/android/server/net/NetworkPolicyManagerService$14;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$15;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$16;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$17;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService$18;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService$1;->getServiceType()I
-HSPLcom/android/server/net/NetworkPolicyManagerService$1;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$2;->getServiceType()I
-HSPLcom/android/server/net/NetworkPolicyManagerService$2;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$3;->onSubscriptionsChanged()V
-HSPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidGone(IZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJ)V
+PLcom/android/server/net/NetworkPolicyManagerService$15;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$15;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkPolicyManagerService$16;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$16;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkPolicyManagerService$17;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$17;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/net/NetworkPolicyManagerService$18;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$18;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/net/NetworkPolicyManagerService$1;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$2;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$3;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/os/Looper;)V
+PLcom/android/server/net/NetworkPolicyManagerService$3;->onSubscriptionsChanged()V
+PLcom/android/server/net/NetworkPolicyManagerService$4;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$4;->onUidGone(IZ)V
+HPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJI)V
+PLcom/android/server/net/NetworkPolicyManagerService$5;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$6;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
PLcom/android/server/net/NetworkPolicyManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$9;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;->onParoleStateChanged(Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->getSubscriptionOpportunisticQuota(Landroid/net/Network;I)J
-HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->getSubscriptionPlan(Landroid/net/NetworkTemplate;)Landroid/telephony/SubscriptionPlan;
-HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->isUidNetworkingBlocked(ILjava/lang/String;)Z
+PLcom/android/server/net/NetworkPolicyManagerService$7;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$8;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$9;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$9;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$1;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$NetPolicyAppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$1;)V
+HPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->isUidNetworkingBlocked(ILjava/lang/String;)Z
PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->isUidRestrictedOnMeteredNetworks(I)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onAdminDataAvailable()V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onAdminDataAvailable()V
PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onTempPowerSaveWhitelistChange(IZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setAppIdleWhitelist(IZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setMeteredRestrictedPackagesAsync(Ljava/util/Set;I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;Landroid/content/pm/IPackageManager;Ljava/time/Clock;Ljava/io/File;Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL()Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL(I)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->addNetworkPolicyAL(Landroid/net/NetworkPolicy;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->addUidPolicy(II)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->bindConnectivityManager(Landroid/net/IConnectivityManager;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->buildDefaultMobilePolicy(ILjava/lang/String;)Landroid/net/NetworkPolicy;
-HSPLcom/android/server/net/NetworkPolicyManagerService;->collectIfaces(Landroid/util/ArraySet;Landroid/net/NetworkState;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->defeatNullable([Landroid/net/NetworkState;)[Landroid/net/NetworkState;
-HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchMeteredIfacesChanged(Landroid/net/INetworkPolicyListener;[Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchUidRulesChanged(Landroid/net/INetworkPolicyListener;II)V
-PLcom/android/server/net/NetworkPolicyManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->enableFirewallChainUL(IZ)V
-PLcom/android/server/net/NetworkPolicyManagerService;->enforceSubscriptionPlanAccess(IILjava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->ensureActiveMobilePolicyAL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->ensureActiveMobilePolicyAL(ILjava/lang/String;)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->findRelevantSubIdNL(Landroid/net/NetworkTemplate;)I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getBooleanDefeatingNullable(Landroid/os/PersistableBundle;Ljava/lang/String;Z)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getCycleDayFromCarrierConfig(Landroid/os/PersistableBundle;I)I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getLimitBytesFromCarrierConfig(Landroid/os/PersistableBundle;J)J
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getPrimarySubscriptionPlanLocked(I)Landroid/telephony/SubscriptionPlan;
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackground()Z
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setAppIdleWhitelist(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setMeteredRestrictedPackagesAsync(Ljava/util/Set;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;-><clinit>()V
+PLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;)V
+PLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;Landroid/content/pm/IPackageManager;Ljava/time/Clock;Ljava/io/File;Z)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$1100(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$1200(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/content/Context;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$1300(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$1400(Landroid/util/SparseBooleanArray;ZLandroid/net/Network;)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->access$1500(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$1600(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkPolicyLogger;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$2000(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$2100(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$2200(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/INetworkPolicyListener;II)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$2300(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/INetworkPolicyListener;[Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$2400(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/ArraySet;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$2500(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkStatsManagerInternal;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$3300(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/Set;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$3700(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/net/NetworkPolicyManagerService;->access$3800(Lcom/android/server/net/NetworkPolicyManagerService;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$400(Lcom/android/server/net/NetworkPolicyManagerService;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->access$4200(Lcom/android/server/net/NetworkPolicyManagerService;)Ljava/util/concurrent/CountDownLatch;
+PLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL()Z
+PLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->bindConnectivityManager(Landroid/net/IConnectivityManager;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->checkAnyPermissionOf([Ljava/lang/String;)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->defeatNullable([Landroid/net/NetworkState;)[Landroid/net/NetworkState;
+PLcom/android/server/net/NetworkPolicyManagerService;->dispatchMeteredIfacesChanged(Landroid/net/INetworkPolicyListener;[Ljava/lang/String;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->dispatchUidRulesChanged(Landroid/net/INetworkPolicyListener;II)V
+PLcom/android/server/net/NetworkPolicyManagerService;->enableFirewallChainUL(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->enforceAnyPermissionOf([Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->ensureActiveMobilePolicyAL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->getDefaultClock()Ljava/time/Clock;
+PLcom/android/server/net/NetworkPolicyManagerService;->getDefaultSystemDir()Ljava/io/File;
+PLcom/android/server/net/NetworkPolicyManagerService;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
+PLcom/android/server/net/NetworkPolicyManagerService;->getPrimarySubscriptionPlanLocked(I)Landroid/telephony/SubscriptionPlan;
+PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackground()Z
PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundByCaller()I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getSubIdLocked(Landroid/net/Network;)I
-PLcom/android/server/net/NetworkPolicyManagerService;->getSubscriptionPlans(ILjava/lang/String;)[Landroid/telephony/SubscriptionPlan;
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getTotalBytes(Landroid/net/NetworkTemplate;JJ)J
+PLcom/android/server/net/NetworkPolicyManagerService;->getSubIdLocked(Landroid/net/Network;)I
PLcom/android/server/net/NetworkPolicyManagerService;->getUidPolicy(I)I
-PLcom/android/server/net/NetworkPolicyManagerService;->getUidsWithPolicy(I)[I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->getWarningBytesFromCarrierConfig(Landroid/os/PersistableBundle;J)J
-HSPLcom/android/server/net/NetworkPolicyManagerService;->handleNetworkPoliciesUpdateAL(Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->handleRestrictedPackagesChangeUL(Ljava/util/Set;Ljava/util/Set;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->handleUidChanged(IIJ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->handleUidGone(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->hasInternetPermissions(I)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->initService(Ljava/util/concurrent/CountDownLatch;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->isBandwidthControlEnabled()Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidIdle(I)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidNetworkingBlockedInternal(IIZZLcom/android/server/net/NetworkPolicyLogger;)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->isWhitelistedFromPowerSaveUL(IZ)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->lambda$networkScoreAndNetworkManagementServiceReady$0$NetworkPolicyManagerService(Ljava/util/concurrent/CountDownLatch;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->maybeUpdateMobilePolicyCycleAL(ILjava/lang/String;)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->networkScoreAndNetworkManagementServiceReady()Ljava/util/concurrent/CountDownLatch;
-HSPLcom/android/server/net/NetworkPolicyManagerService;->normalizePoliciesNL([Landroid/net/NetworkPolicy;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->notifyUnderLimitNL(Landroid/net/NetworkTemplate;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->onTetheringChanged(Ljava/lang/String;Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->onUidDeletedUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->parseSubId(Landroid/net/NetworkState;)I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->readPolicyAL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->registerListener(Landroid/net/INetworkPolicyListener;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->removeInterfaceQuota(Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->removeInterfaceQuotaAsync(Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->resetUidFirewallRules(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setAppIdleWhitelist(IZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setDeviceIdleMode(Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setInterfaceQuota(Ljava/lang/String;J)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setInterfaceQuotaAsync(Ljava/lang/String;J)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setMeteredNetworkWhitelist(IZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setMeteredRestrictedPackagesInternal(Ljava/util/Set;I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setNetworkPolicies([Landroid/net/NetworkPolicy;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setNetworkTemplateEnabledInner(Landroid/net/NetworkTemplate;Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setRestrictBackgroundUL(Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setSubscriptionPlans(I[Landroid/telephony/SubscriptionPlan;Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRule(III)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->setUidPolicyUncheckedUL(IIZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->systemReady(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->handleRestrictedPackagesChangeUL(Ljava/util/Set;Ljava/util/Set;)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->handleUidChanged(IIJ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->handleUidGone(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->hasInternetPermissions(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->hasRule(II)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->initService(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->isBandwidthControlEnabled()Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isRestrictedByAdminUL(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isSystem(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictBackgroundUL(I)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictPowerUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidIdle(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidNetworkingBlockedInternal(IIZZLcom/android/server/net/NetworkPolicyLogger;)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->isUidStateForeground(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForBlacklistRules(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForWhitelistRules(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->isWhitelistedFromPowerSaveUL(IZ)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->lambda$networkScoreAndNetworkManagementServiceReady$0$NetworkPolicyManagerService(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->networkScoreAndNetworkManagementServiceReady()Ljava/util/concurrent/CountDownLatch;
+PLcom/android/server/net/NetworkPolicyManagerService;->normalizePoliciesNL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->normalizePoliciesNL([Landroid/net/NetworkPolicy;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->onTetheringChanged(Ljava/lang/String;Z)V
+PLcom/android/server/net/NetworkPolicyManagerService;->parseSubId(Landroid/net/NetworkState;)I
+PLcom/android/server/net/NetworkPolicyManagerService;->readPolicyAL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->registerListener(Landroid/net/INetworkPolicyListener;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)Z
+HPLcom/android/server/net/NetworkPolicyManagerService;->setAppIdleWhitelist(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setDeviceIdleMode(Z)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->setMeteredNetworkWhitelist(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setMeteredRestrictedPackagesInternal(Ljava/util/Set;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setRestrictBackgroundUL(Z)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRule(III)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setUidPolicyUncheckedUL(IIZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->systemReady(Ljava/util/concurrent/CountDownLatch;)V
PLcom/android/server/net/NetworkPolicyManagerService;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateDefaultMobilePolicyAL(ILandroid/net/NetworkPolicy;)Z
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkEnabledNL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkRulesNL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworksInternal()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updatePowerSaveWhitelistUL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictBackgroundByLowPowerModeUL(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateCapabilityChange(Landroid/util/SparseBooleanArray;ZLandroid/net/Network;)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkEnabledNL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkRulesNL()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateNetworksInternal()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updatePowerSaveWhitelistUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictBackgroundRulesOnUidStatusChangedUL(III)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(I)V
PLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForDeviceIdleUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForRestrictPowerUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAllAppsUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleParoleUL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleUL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsULInner(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDeviceIdleUL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForGlobalChangeAL(Z)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(IIZ)I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(IIZ)I
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerSaveUL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictBackgroundUL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictPowerUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForRestrictPowerUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAllAppsUL(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleUL()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsULInner(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDeviceIdleUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForGlobalChangeAL(Z)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(I)V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(II)I
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(II)I
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerSaveUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictBackgroundUL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictPowerUL()V
PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForTempWhitelistChangeUL(I)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedPowerSaveUL(ZILandroid/util/SparseIntArray;)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateSubscriptions()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(II)V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->upgradeWifiMeteredOverrideAL()V
-HSPLcom/android/server/net/NetworkPolicyManagerService;->writePolicyAL()V
-HSPLcom/android/server/net/NetworkStatsAccess;->checkAccessLevel(Landroid/content/Context;ILjava/lang/String;)I
-PLcom/android/server/net/NetworkStatsAccess;->hasAppOpsPermission(Landroid/content/Context;ILjava/lang/String;)Z
-HSPLcom/android/server/net/NetworkStatsAccess;->isAccessibleToUser(III)Z
-HSPLcom/android/server/net/NetworkStatsCollection$Key;-><init>(Lcom/android/server/net/NetworkIdentitySet;III)V
-PLcom/android/server/net/NetworkStatsCollection$Key;->compareTo(Lcom/android/server/net/NetworkStatsCollection$Key;)I
-PLcom/android/server/net/NetworkStatsCollection$Key;->compareTo(Ljava/lang/Object;)I
-HSPLcom/android/server/net/NetworkStatsCollection$Key;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/net/NetworkStatsCollection$Key;->hashCode()I
-HSPLcom/android/server/net/NetworkStatsCollection;->clearDirty()V
-PLcom/android/server/net/NetworkStatsCollection;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/net/NetworkStatsCollection;->dumpCheckin(Ljava/io/PrintWriter;JJ)V
-PLcom/android/server/net/NetworkStatsCollection;->dumpCheckin(Ljava/io/PrintWriter;JJLandroid/net/NetworkTemplate;Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkStatsCollection;->findOrCreateHistory(Lcom/android/server/net/NetworkIdentitySet;III)Landroid/net/NetworkStatsHistory;
-HSPLcom/android/server/net/NetworkStatsCollection;->getHistory(Landroid/net/NetworkTemplate;Landroid/telephony/SubscriptionPlan;IIIIJJII)Landroid/net/NetworkStatsHistory;
-PLcom/android/server/net/NetworkStatsCollection;->getRelevantUids(I)[I
-PLcom/android/server/net/NetworkStatsCollection;->getRelevantUids(II)[I
-HSPLcom/android/server/net/NetworkStatsCollection;->getSummary(Landroid/net/NetworkTemplate;JJII)Landroid/net/NetworkStats;
-HSPLcom/android/server/net/NetworkStatsCollection;->getTotalBytes()J
-HSPLcom/android/server/net/NetworkStatsCollection;->isDirty()Z
-HSPLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/DataInputStream;)V
-HSPLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/InputStream;)V
-HSPLcom/android/server/net/NetworkStatsCollection;->recordData(Lcom/android/server/net/NetworkIdentitySet;IIIJJLandroid/net/NetworkStats$Entry;)V
-HSPLcom/android/server/net/NetworkStatsCollection;->recordHistory(Lcom/android/server/net/NetworkStatsCollection$Key;Landroid/net/NetworkStatsHistory;)V
-HSPLcom/android/server/net/NetworkStatsCollection;->removeUids([I)V
-HSPLcom/android/server/net/NetworkStatsCollection;->reset()V
-HSPLcom/android/server/net/NetworkStatsCollection;->templateMatches(Landroid/net/NetworkTemplate;Lcom/android/server/net/NetworkIdentitySet;)Z
-HSPLcom/android/server/net/NetworkStatsCollection;->write(Ljava/io/DataOutputStream;)V
-PLcom/android/server/net/NetworkStatsCollection;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/net/NetworkStatsObservers$1;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/net/NetworkStatsObservers$NetworkUsageRequestInfo;->checkStats()Z
-HSPLcom/android/server/net/NetworkStatsObservers$NetworkUsageRequestInfo;->recordSample(Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
-HSPLcom/android/server/net/NetworkStatsObservers$RequestInfo;-><init>(Lcom/android/server/net/NetworkStatsObservers;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;II)V
-PLcom/android/server/net/NetworkStatsObservers$RequestInfo;->callCallback(I)V
-HSPLcom/android/server/net/NetworkStatsObservers;->buildRequest(Landroid/net/DataUsageRequest;)Landroid/net/DataUsageRequest;
-HSPLcom/android/server/net/NetworkStatsObservers;->buildRequestInfo(Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;II)Lcom/android/server/net/NetworkStatsObservers$RequestInfo;
-HSPLcom/android/server/net/NetworkStatsObservers;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/net/NetworkStatsObservers;->getHandlerLooperLocked()Landroid/os/Looper;
-PLcom/android/server/net/NetworkStatsObservers;->handleUnregister(Landroid/net/DataUsageRequest;I)V
-HSPLcom/android/server/net/NetworkStatsObservers;->handleUpdateStats(Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
-HSPLcom/android/server/net/NetworkStatsObservers;->register(Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;II)Landroid/net/DataUsageRequest;
-PLcom/android/server/net/NetworkStatsObservers;->unregister(Landroid/net/DataUsageRequest;I)V
-HSPLcom/android/server/net/NetworkStatsObservers;->updateStats(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/util/ArrayMap;Landroid/util/ArrayMap;[Lcom/android/internal/net/VpnInfo;J)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedPowerSaveUL(IZI)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedPowerSaveUL(ZILandroid/util/SparseIntArray;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateSubscriptions()V
+HPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(II)Z
+PLcom/android/server/net/NetworkPolicyManagerService;->upgradeWifiMeteredOverrideAL()V
+PLcom/android/server/net/NetworkPolicyManagerService;->waitForAdminData()V
+PLcom/android/server/net/NetworkPolicyManagerService;->writePolicyAL()V
+HPLcom/android/server/net/NetworkStatsAccess;->checkAccessLevel(Landroid/content/Context;ILjava/lang/String;)I
+HPLcom/android/server/net/NetworkStatsAccess;->hasAppOpsPermission(Landroid/content/Context;ILjava/lang/String;)Z
+HPLcom/android/server/net/NetworkStatsAccess;->isAccessibleToUser(III)Z
+HPLcom/android/server/net/NetworkStatsCollection$Key;-><init>(Lcom/android/server/net/NetworkIdentitySet;III)V
+HPLcom/android/server/net/NetworkStatsCollection$Key;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/net/NetworkStatsCollection$Key;->hashCode()I
+PLcom/android/server/net/NetworkStatsCollection;-><init>(J)V
+HPLcom/android/server/net/NetworkStatsCollection;->findOrCreateHistory(Lcom/android/server/net/NetworkIdentitySet;III)Landroid/net/NetworkStatsHistory;
+HPLcom/android/server/net/NetworkStatsCollection;->getHistory(Landroid/net/NetworkTemplate;Landroid/telephony/SubscriptionPlan;IIIIJJII)Landroid/net/NetworkStatsHistory;
+HPLcom/android/server/net/NetworkStatsCollection;->getSummary(Landroid/net/NetworkTemplate;JJII)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsCollection;->getTotalBytes()J
+PLcom/android/server/net/NetworkStatsCollection;->noteRecordedHistory(JJJ)V
+HPLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/DataInputStream;)V
+PLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/InputStream;)V
+PLcom/android/server/net/NetworkStatsCollection;->recordCollection(Lcom/android/server/net/NetworkStatsCollection;)V
+HPLcom/android/server/net/NetworkStatsCollection;->recordData(Lcom/android/server/net/NetworkIdentitySet;IIIJJLandroid/net/NetworkStats$Entry;)V
+HPLcom/android/server/net/NetworkStatsCollection;->recordHistory(Lcom/android/server/net/NetworkStatsCollection$Key;Landroid/net/NetworkStatsHistory;)V
+PLcom/android/server/net/NetworkStatsCollection;->reset()V
+PLcom/android/server/net/NetworkStatsCollection;->templateMatches(Landroid/net/NetworkTemplate;Lcom/android/server/net/NetworkIdentitySet;)Z
+HPLcom/android/server/net/NetworkStatsCollection;->write(Ljava/io/DataOutputStream;)V
+PLcom/android/server/net/NetworkStatsFactory;-><init>()V
+PLcom/android/server/net/NetworkStatsFactory;-><init>(Ljava/io/File;Z)V
+HPLcom/android/server/net/NetworkStatsFactory;->adjustForTunAnd464Xlat(Landroid/net/NetworkStats;Landroid/net/NetworkStats;[Lcom/android/internal/net/VpnInfo;)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsFactory;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Z)V
+HPLcom/android/server/net/NetworkStatsFactory;->augmentWithStackedInterfaces([Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/server/net/NetworkStatsFactory;->readBpfNetworkStatsDev()Landroid/net/NetworkStats;
+HPLcom/android/server/net/NetworkStatsFactory;->readNetworkStatsDetail(I[Ljava/lang/String;I)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsFactory;->readNetworkStatsSummaryDev()Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsFactory;->readNetworkStatsSummaryXt()Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsFactory;->requestSwapActiveStatsMapLocked()V
+PLcom/android/server/net/NetworkStatsFactory;->updateVpnInfos([Lcom/android/internal/net/VpnInfo;)V
+PLcom/android/server/net/NetworkStatsManagerInternal;-><init>()V
+PLcom/android/server/net/NetworkStatsObservers$1;-><init>(Lcom/android/server/net/NetworkStatsObservers;)V
+PLcom/android/server/net/NetworkStatsObservers$1;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/net/NetworkStatsObservers$StatsContext;-><init>(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/util/ArrayMap;Landroid/util/ArrayMap;J)V
+PLcom/android/server/net/NetworkStatsObservers;-><init>()V
+PLcom/android/server/net/NetworkStatsObservers;->access$200(Lcom/android/server/net/NetworkStatsObservers;Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
+PLcom/android/server/net/NetworkStatsObservers;->getHandler()Landroid/os/Handler;
+PLcom/android/server/net/NetworkStatsObservers;->getHandlerLooperLocked()Landroid/os/Looper;
+PLcom/android/server/net/NetworkStatsObservers;->handleUpdateStats(Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
+PLcom/android/server/net/NetworkStatsObservers;->updateStats(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/util/ArrayMap;Landroid/util/ArrayMap;J)V
+PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;-><init>(Lcom/android/server/net/NetworkStatsCollection;)V
PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->read(Ljava/io/InputStream;)V
PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->reset()V
PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->shouldWrite()Z
PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->write(Ljava/io/OutputStream;)V
-HSPLcom/android/server/net/NetworkStatsRecorder$RemoveUidRewriter;->read(Ljava/io/InputStream;)V
-HSPLcom/android/server/net/NetworkStatsRecorder$RemoveUidRewriter;->reset()V
-HSPLcom/android/server/net/NetworkStatsRecorder$RemoveUidRewriter;->shouldWrite()Z
-HSPLcom/android/server/net/NetworkStatsRecorder$RemoveUidRewriter;->write(Ljava/io/OutputStream;)V
-HSPLcom/android/server/net/NetworkStatsRecorder;-><init>()V
-HSPLcom/android/server/net/NetworkStatsRecorder;-><init>(Lcom/android/internal/util/FileRotator;Landroid/net/NetworkStats$NonMonotonicObserver;Landroid/os/DropBoxManager;Ljava/lang/String;JZ)V
-PLcom/android/server/net/NetworkStatsRecorder;->dumpCheckin(Ljava/io/PrintWriter;JJ)V
-PLcom/android/server/net/NetworkStatsRecorder;->dumpLocked(Lcom/android/internal/util/IndentingPrintWriter;Z)V
+PLcom/android/server/net/NetworkStatsRecorder;-><init>(Lcom/android/internal/util/FileRotator;Landroid/net/NetworkStats$NonMonotonicObserver;Landroid/os/DropBoxManager;Ljava/lang/String;JZ)V
PLcom/android/server/net/NetworkStatsRecorder;->forcePersistLocked(J)V
-HSPLcom/android/server/net/NetworkStatsRecorder;->getOrLoadCompleteLocked()Lcom/android/server/net/NetworkStatsCollection;
-PLcom/android/server/net/NetworkStatsRecorder;->getOrLoadPartialLocked(JJ)Lcom/android/server/net/NetworkStatsCollection;
-HSPLcom/android/server/net/NetworkStatsRecorder;->getSinceBoot()Lcom/android/server/net/NetworkStatsCollection;
-HSPLcom/android/server/net/NetworkStatsRecorder;->getTotalSinceBootLocked(Landroid/net/NetworkTemplate;)Landroid/net/NetworkStats$Entry;
-HSPLcom/android/server/net/NetworkStatsRecorder;->loadLocked(JJ)Lcom/android/server/net/NetworkStatsCollection;
-HSPLcom/android/server/net/NetworkStatsRecorder;->maybePersistLocked(J)V
-HSPLcom/android/server/net/NetworkStatsRecorder;->recordSnapshotLocked(Landroid/net/NetworkStats;Ljava/util/Map;[Lcom/android/internal/net/VpnInfo;J)V
-HSPLcom/android/server/net/NetworkStatsRecorder;->removeUidsLocked([I)V
-HSPLcom/android/server/net/NetworkStatsRecorder;->setPersistThreshold(J)V
-PLcom/android/server/net/NetworkStatsRecorder;->writeToProtoLocked(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/net/NetworkStatsService$1;->close()V
-PLcom/android/server/net/NetworkStatsService$1;->getDeviceSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
-PLcom/android/server/net/NetworkStatsService$1;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory;
-PLcom/android/server/net/NetworkStatsService$1;->getHistoryForUid(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
-PLcom/android/server/net/NetworkStatsService$1;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
-PLcom/android/server/net/NetworkStatsService$1;->getRelevantUids()[I
+HPLcom/android/server/net/NetworkStatsRecorder;->getOrLoadCompleteLocked()Lcom/android/server/net/NetworkStatsCollection;
+PLcom/android/server/net/NetworkStatsRecorder;->getTotalSinceBootLocked(Landroid/net/NetworkTemplate;)Landroid/net/NetworkStats$Entry;
+PLcom/android/server/net/NetworkStatsRecorder;->loadLocked(JJ)Lcom/android/server/net/NetworkStatsCollection;
+PLcom/android/server/net/NetworkStatsRecorder;->maybePersistLocked(J)V
+HPLcom/android/server/net/NetworkStatsRecorder;->recordSnapshotLocked(Landroid/net/NetworkStats;Ljava/util/Map;J)V
+PLcom/android/server/net/NetworkStatsRecorder;->setPersistThreshold(J)V
+HPLcom/android/server/net/NetworkStatsService$1;-><init>(Lcom/android/server/net/NetworkStatsService;ILjava/lang/String;I)V
+HPLcom/android/server/net/NetworkStatsService$1;->close()V
+HPLcom/android/server/net/NetworkStatsService$1;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
PLcom/android/server/net/NetworkStatsService$1;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats;
PLcom/android/server/net/NetworkStatsService$1;->getUidComplete()Lcom/android/server/net/NetworkStatsCollection;
-PLcom/android/server/net/NetworkStatsService$1;->getUidTagComplete()Lcom/android/server/net/NetworkStatsCollection;
-HSPLcom/android/server/net/NetworkStatsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkStatsService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/net/NetworkStatsService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/server/net/NetworkStatsService$1;->getUidTagComplete()Lcom/android/server/net/NetworkStatsCollection;
+PLcom/android/server/net/NetworkStatsService$2;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkStatsService$3;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/net/NetworkStatsService$4;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$5;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$6;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$7;-><init>(Lcom/android/server/net/NetworkStatsService;)V
PLcom/android/server/net/NetworkStatsService$7;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getAugmentEnabled()Z
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalAlertBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getPollInterval()J
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getSampleEnabled()Z
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$HandlerCallback;->handleMessage(Landroid/os/Message;)Z
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->advisePersistThreshold(J)V
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->setUidForeground(IZ)V
-HSPLcom/android/server/net/NetworkStatsService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/AlarmManager;Landroid/os/PowerManager$WakeLock;Ljava/time/Clock;Landroid/telephony/TelephonyManager;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;Lcom/android/server/net/NetworkStatsObservers;Ljava/io/File;Ljava/io/File;)V
-HSPLcom/android/server/net/NetworkStatsService;->advisePersistThreshold(J)V
-HSPLcom/android/server/net/NetworkStatsService;->assertBandwidthControlEnabled()V
-HSPLcom/android/server/net/NetworkStatsService;->assertSystemReady()V
-HSPLcom/android/server/net/NetworkStatsService;->bootstrapStatsLocked()V
-HSPLcom/android/server/net/NetworkStatsService;->buildRecorder(Ljava/lang/String;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;Z)Lcom/android/server/net/NetworkStatsRecorder;
-HSPLcom/android/server/net/NetworkStatsService;->create(Landroid/content/Context;Landroid/os/INetworkManagementService;)Lcom/android/server/net/NetworkStatsService;
-PLcom/android/server/net/NetworkStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/net/NetworkStatsService;->dumpInterfaces(Landroid/util/proto/ProtoOutputStream;JLandroid/util/ArrayMap;)V
-PLcom/android/server/net/NetworkStatsService;->dumpProtoLocked(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/net/NetworkStatsService;->forceUpdateIfaces([Landroid/net/Network;[Lcom/android/internal/net/VpnInfo;[Landroid/net/NetworkState;Ljava/lang/String;)V
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevPersistBytes(J)J
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalAlertBytes(J)J
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalBoolean(Ljava/lang/String;Z)Z
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalLong(Ljava/lang/String;J)J
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getPollInterval()J
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getSampleEnabled()Z
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidPersistBytes(J)J
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagPersistBytes(J)J
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtPersistBytes(J)J
+PLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;-><init>(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$1;)V
+PLcom/android/server/net/NetworkStatsService$HandlerCallback;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$HandlerCallback;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/net/NetworkStatsService$NetworkStatsHandler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
+PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$1;)V
+PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->advisePersistThreshold(J)V
+PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->setUidForeground(IZ)V
+PLcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;-><init>(JJJ)V
+HSPLcom/android/server/net/NetworkStatsService;-><clinit>()V
+PLcom/android/server/net/NetworkStatsService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/AlarmManager;Landroid/os/PowerManager$WakeLock;Ljava/time/Clock;Landroid/telephony/TelephonyManager;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;Lcom/android/server/net/NetworkStatsFactory;Lcom/android/server/net/NetworkStatsObservers;Ljava/io/File;Ljava/io/File;)V
+PLcom/android/server/net/NetworkStatsService;->access$1800(Lcom/android/server/net/NetworkStatsService;J)V
+PLcom/android/server/net/NetworkStatsService;->access$200(Lcom/android/server/net/NetworkStatsService;Ljava/lang/String;)I
+PLcom/android/server/net/NetworkStatsService;->access$800(Lcom/android/server/net/NetworkStatsService;I)V
+PLcom/android/server/net/NetworkStatsService;->advisePersistThreshold(J)V
+PLcom/android/server/net/NetworkStatsService;->bootstrapStatsLocked()V
+PLcom/android/server/net/NetworkStatsService;->buildRecorder(Ljava/lang/String;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;Z)Lcom/android/server/net/NetworkStatsRecorder;
+HPLcom/android/server/net/NetworkStatsService;->checkAccessLevel(Ljava/lang/String;)I
+PLcom/android/server/net/NetworkStatsService;->create(Landroid/content/Context;Landroid/os/INetworkManagementService;)Lcom/android/server/net/NetworkStatsService;
+PLcom/android/server/net/NetworkStatsService;->findOrCreateNetworkIdentitySet(Landroid/util/ArrayMap;Ljava/lang/Object;)Lcom/android/server/net/NetworkIdentitySet;
+PLcom/android/server/net/NetworkStatsService;->forceUpdateIfaces([Landroid/net/Network;[Landroid/net/NetworkState;Ljava/lang/String;[Lcom/android/internal/net/VpnInfo;)V
+PLcom/android/server/net/NetworkStatsService;->getDefaultBaseDir()Ljava/io/File;
+PLcom/android/server/net/NetworkStatsService;->getDefaultClock()Ljava/time/Clock;
+PLcom/android/server/net/NetworkStatsService;->getDefaultSystemDir()Ljava/io/File;
PLcom/android/server/net/NetworkStatsService;->getDetailedUidStats([Ljava/lang/String;)Landroid/net/NetworkStats;
-HSPLcom/android/server/net/NetworkStatsService;->getIfaceStats(Ljava/lang/String;I)J
-HSPLcom/android/server/net/NetworkStatsService;->getMobileIfaces()[Ljava/lang/String;
-HSPLcom/android/server/net/NetworkStatsService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-HSPLcom/android/server/net/NetworkStatsService;->getNetworkStatsUidDetail([Ljava/lang/String;)Landroid/net/NetworkStats;
-HSPLcom/android/server/net/NetworkStatsService;->getTetherStats(Ljava/lang/String;I)J
+PLcom/android/server/net/NetworkStatsService;->getMobileIfaces()[Ljava/lang/String;
+PLcom/android/server/net/NetworkStatsService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsService;->getNetworkStatsUidDetail([Ljava/lang/String;)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsService;->getNetworkStatsXt()Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsService;->getTetherStats(Ljava/lang/String;I)J
PLcom/android/server/net/NetworkStatsService;->getTotalStats(I)J
PLcom/android/server/net/NetworkStatsService;->getUidStats(II)J
PLcom/android/server/net/NetworkStatsService;->incrementOperationCount(III)V
-HSPLcom/android/server/net/NetworkStatsService;->internalGetHistoryForNetwork(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
-HSPLcom/android/server/net/NetworkStatsService;->internalGetSummaryForNetwork(Landroid/net/NetworkTemplate;IJJII)Landroid/net/NetworkStats;
-HSPLcom/android/server/net/NetworkStatsService;->isBandwidthControlEnabled()Z
-PLcom/android/server/net/NetworkStatsService;->isRateLimitedForPoll(I)Z
-HSPLcom/android/server/net/NetworkStatsService;->maybeUpgradeLegacyStatsLocked()V
-PLcom/android/server/net/NetworkStatsService;->openSession()Landroid/net/INetworkStatsSession;
-PLcom/android/server/net/NetworkStatsService;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
-PLcom/android/server/net/NetworkStatsService;->openSessionInternal(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
-HSPLcom/android/server/net/NetworkStatsService;->performPoll(I)V
-HSPLcom/android/server/net/NetworkStatsService;->performPollLocked(I)V
-HSPLcom/android/server/net/NetworkStatsService;->performSampleLocked()V
-HSPLcom/android/server/net/NetworkStatsService;->recordSnapshotLocked(J)V
-HSPLcom/android/server/net/NetworkStatsService;->registerGlobalAlert()V
-HSPLcom/android/server/net/NetworkStatsService;->registerPollAlarmLocked()V
-HSPLcom/android/server/net/NetworkStatsService;->registerUsageCallback(Ljava/lang/String;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/DataUsageRequest;
-HSPLcom/android/server/net/NetworkStatsService;->removeUidsLocked([I)V
-HSPLcom/android/server/net/NetworkStatsService;->resolveSubscriptionPlan(Landroid/net/NetworkTemplate;I)Landroid/telephony/SubscriptionPlan;
-HSPLcom/android/server/net/NetworkStatsService;->setUidForeground(IZ)V
-HSPLcom/android/server/net/NetworkStatsService;->systemReady()V
-PLcom/android/server/net/NetworkStatsService;->unregisterUsageRequest(Landroid/net/DataUsageRequest;)V
-HSPLcom/android/server/net/NetworkStatsService;->updateIfaces([Landroid/net/Network;[Lcom/android/internal/net/VpnInfo;[Landroid/net/NetworkState;Ljava/lang/String;)V
-HSPLcom/android/server/net/NetworkStatsService;->updateIfacesLocked([Landroid/net/Network;[Landroid/net/NetworkState;)V
-HSPLcom/android/server/net/NetworkStatsService;->updatePersistThresholdsLocked()V
-HSPLcom/android/server/net/watchlist/-$$Lambda$WatchlistLoggingHandler$GBD0dX6RhipHIkM0Z_B5jLlwfHQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/net/watchlist/DigestUtils;->getSha256Hash(Ljava/io/File;)[B
-HSPLcom/android/server/net/watchlist/HarmfulDigests;-><init>(Ljava/util/List;)V
-HSPLcom/android/server/net/watchlist/HarmfulDigests;->contains([B)Z
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onConnectEvent(Ljava/lang/String;IJI)V
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onStart()V
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/server/net/NetworkStatsService;->isRateLimitedForPoll(I)Z
+PLcom/android/server/net/NetworkStatsService;->maybeUpgradeLegacyStatsLocked()V
+HPLcom/android/server/net/NetworkStatsService;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
+HPLcom/android/server/net/NetworkStatsService;->openSessionInternal(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
+PLcom/android/server/net/NetworkStatsService;->performPoll(I)V
+PLcom/android/server/net/NetworkStatsService;->performPollLocked(I)V
+PLcom/android/server/net/NetworkStatsService;->performSampleLocked()V
+PLcom/android/server/net/NetworkStatsService;->readNetworkStatsSummaryDev()Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsService;->readNetworkStatsSummaryXt()Landroid/net/NetworkStats;
+HPLcom/android/server/net/NetworkStatsService;->readNetworkStatsUidDetail(I[Ljava/lang/String;I)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsService;->recordSnapshotLocked(J)V
+PLcom/android/server/net/NetworkStatsService;->registerGlobalAlert()V
+PLcom/android/server/net/NetworkStatsService;->registerLocalService()V
+PLcom/android/server/net/NetworkStatsService;->setHandler(Landroid/os/Handler;Landroid/os/Handler$Callback;)V
+HPLcom/android/server/net/NetworkStatsService;->setUidForeground(IZ)V
+PLcom/android/server/net/NetworkStatsService;->systemReady()V
+PLcom/android/server/net/NetworkStatsService;->updateIfaces([Landroid/net/Network;[Landroid/net/NetworkState;Ljava/lang/String;)V
+PLcom/android/server/net/NetworkStatsService;->updateIfacesLocked([Landroid/net/Network;[Landroid/net/NetworkState;)V
+PLcom/android/server/net/NetworkStatsService;->updatePersistThresholdsLocked()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$1;-><init>(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onConnectEvent(Ljava/lang/String;IJI)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onStart()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;-><clinit>()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->access$100(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->access$200(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->access$300(Lcom/android/server/net/watchlist/NetworkWatchlistService;)Z
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->enforceWatchlistLoggingPermission()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->init()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->initIpConnectivityMetrics()V
PLcom/android/server/net/watchlist/NetworkWatchlistService;->reportWatchlistIfNecessary()V
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLogging()Z
-HSPLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLoggingImpl()Z
-PLcom/android/server/net/watchlist/PrivacyUtils;->createDpEncodedReportMap(Z[BLjava/util/List;Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)Ljava/util/Map;
-PLcom/android/server/net/watchlist/PrivacyUtils;->createLongitudinalReportingConfig(Ljava/lang/String;)Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;
-PLcom/android/server/net/watchlist/ReportEncoder;->serializeReport(Lcom/android/server/net/watchlist/WatchlistConfig;Ljava/util/Map;)[B
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLogging()Z
+PLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLoggingImpl()Z
+PLcom/android/server/net/watchlist/ReportWatchlistJobService;-><clinit>()V
PLcom/android/server/net/watchlist/ReportWatchlistJobService;-><init>()V
PLcom/android/server/net/watchlist/ReportWatchlistJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/net/watchlist/ReportWatchlistJobService;->schedule(Landroid/content/Context;)V
-HSPLcom/android/server/net/watchlist/WatchlistConfig;-><init>()V
-HSPLcom/android/server/net/watchlist/WatchlistConfig;->containsDomain(Ljava/lang/String;)Z
-HSPLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/String;)Z
-PLcom/android/server/net/watchlist/WatchlistConfig;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/net/watchlist/WatchlistConfig;->getCrc32(Ljava/lang/String;)[B
-PLcom/android/server/net/watchlist/WatchlistConfig;->getWatchlistConfigHash()[B
-PLcom/android/server/net/watchlist/WatchlistConfig;->isConfigSecure()Z
-HSPLcom/android/server/net/watchlist/WatchlistConfig;->parseHashes(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/List;)V
-HSPLcom/android/server/net/watchlist/WatchlistConfig;->reloadConfig()V
-HSPLcom/android/server/net/watchlist/WatchlistConfig;->removeTestModeConfig()V
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->asyncNetworkEvent(Ljava/lang/String;[Ljava/lang/String;I)V
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllDigestsForReport(Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)Ljava/util/List;
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllSubDomains(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getMidnightTimestamp(I)J
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleNetworkEvent(Ljava/lang/String;[Ljava/lang/String;IJ)V
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->lambda$getDigestFromUid$0$WatchlistLoggingHandler(ILjava/lang/Integer;)[B
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->reportWatchlistIfNecessary()V
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->shouldReportNetworkWatchlist(J)Z
-HSPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->tryAggregateRecords(J)V
-HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->cleanup(J)Z
-HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getAggregatedRecords(J)Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;
-HSPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getInstance(Landroid/content/Context;)Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
-HSPLcom/android/server/net/watchlist/WatchlistSettings;-><init>()V
-HSPLcom/android/server/net/watchlist/WatchlistSettings;-><init>(Ljava/io/File;)V
-PLcom/android/server/net/watchlist/WatchlistSettings;->getPrivacySecretKey()[B
-HSPLcom/android/server/net/watchlist/WatchlistSettings;->parseSecretKey(Lorg/xmlpull/v1/XmlPullParser;)[B
-HSPLcom/android/server/net/watchlist/WatchlistSettings;->reloadSettings()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$11$zVdn9N0ybkMxz8xM8Qa1AXowlic;->run()V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;-><init>(II)V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;->apply(I)Z
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$15$abFvb_HauetvHhQ-f76bsAGew0s;-><init>()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$15$abFvb_HauetvHhQ-f76bsAGew0s;->apply(I)Z
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$8Pjq1sh4PByau66KrVt7XTs1eXA;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/CharSequence;)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$8Pjq1sh4PByau66KrVt7XTs1eXA;->runOrThrow()V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$Ehw7Jxsy3ZIwTcAa2DFsHjIULas;->run()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$IYb2LsvzgH956pBM2VntPM0-21A;->run()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$03ForXNcU0L8j72c6kqcuawuSgg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$8526LUpwQ8eBesZREQSLe_J-CfQ;->run()V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$FeL2M_vNfZUM3ReF-ma0lRPyBKs;->run()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$RolhaooirdwiAboxLhPcVG4eq7Y;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$TvLOVwAcs9019WRaYp9FxzKF5IE;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$cPE_ZmWqkchox5ocNJyIa3vlbAU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$yo8elBmcIwdMbMVaigHxvG4j5zc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$3bretMyG2YyNFKU5plLQgmxuGr0;->run()V
+PLcom/android/server/net/watchlist/ReportWatchlistJobService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/WatchlistConfig;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistConfig;-><init>()V
+PLcom/android/server/net/watchlist/WatchlistConfig;-><init>(Ljava/io/File;)V
+PLcom/android/server/net/watchlist/WatchlistConfig;->containsDomain(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistConfig;->getInstance()Lcom/android/server/net/watchlist/WatchlistConfig;
+PLcom/android/server/net/watchlist/WatchlistConfig;->reloadConfig()V
+PLcom/android/server/net/watchlist/WatchlistConfig;->removeTestModeConfig()V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->asyncNetworkEvent(Ljava/lang/String;[Ljava/lang/String;I)V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllSubDomains(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getLastMidnightTime()J
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getMidnightTimestamp(I)J
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getPrimaryUserId()I
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleNetworkEvent(Ljava/lang/String;[Ljava/lang/String;IJ)V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->isHostInWatchlist(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->isIpInWatchlist(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->reportWatchlistIfNecessary()V
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchAllSubDomainsInWatchlist(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchIpInWatchlist([Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->shouldReportNetworkWatchlist(J)Z
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->tryAggregateRecords(J)V
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getInstance(Landroid/content/Context;)Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
+PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getSystemWatchlistDbFile()Ljava/io/File;
+PLcom/android/server/net/watchlist/WatchlistSettings;-><clinit>()V
+PLcom/android/server/net/watchlist/WatchlistSettings;-><init>()V
+PLcom/android/server/net/watchlist/WatchlistSettings;-><init>(Ljava/io/File;)V
+PLcom/android/server/net/watchlist/WatchlistSettings;->getInstance()Lcom/android/server/net/watchlist/WatchlistSettings;
+PLcom/android/server/net/watchlist/WatchlistSettings;->getSystemWatchlistFile()Ljava/io/File;
+PLcom/android/server/net/watchlist/WatchlistSettings;->parseSecretKey(Lorg/xmlpull/v1/XmlPullParser;)[B
+PLcom/android/server/net/watchlist/WatchlistSettings;->reloadSettings()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$12gEiRp5yhg_vLn2NsMtnAkm3GI;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;-><init>(II)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;->apply(I)Z
+HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$FrOqX0VMAS0gs6vhrmVEabwpi2k;-><init>(Ljava/util/function/BiConsumer;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$FrOqX0VMAS0gs6vhrmVEabwpi2k;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$h7WPxGy6WExnaTHJZiTUqSURFAU;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Ljava/lang/String;ZZ)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$h7WPxGy6WExnaTHJZiTUqSURFAU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$hdUZ_hmwLutGkIKdq7dHKjQLP4E;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$hdUZ_hmwLutGkIKdq7dHKjQLP4E;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$xFD5w0lXKCfWgU2f03eJAOPQABs;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;ZLcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$xFD5w0lXKCfWgU2f03eJAOPQABs;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$3bretMyG2YyNFKU5plLQgmxuGr0;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$3bretMyG2YyNFKU5plLQgmxuGr0;->run()V
+HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Srt8NNqA1xJUAp_7nDU6CBZJm_0;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Srt8NNqA1xJUAp_7nDU6CBZJm_0;->run()V
-HSPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;->run()V
-HSPLcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-HSPLcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLcom/android/server/notification/AlertRateLimiter;->shouldRateLimitAlert(J)Z
-HSPLcom/android/server/notification/BadgeExtractor;-><init>()V
-HSPLcom/android/server/notification/BadgeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/BadgeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/BadgeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/BubbleExtractor;-><init>()V
-HSPLcom/android/server/notification/BubbleExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/BubbleExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/BubbleExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;->run()V
+HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$PostNotificationRunnable$9JuPmiaA-c5lGdegev6EaTigwWc;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/StatusBarNotification;)V
+HPLcom/android/server/notification/-$$Lambda$NotificationManagerService$PostNotificationRunnable$9JuPmiaA-c5lGdegev6EaTigwWc;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$msGTh8UV2euOI6xhjY-rx_tZTLM;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/pm/UserInfo;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$msGTh8UV2euOI6xhjY-rx_tZTLM;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;-><init>(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;->accept(Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$SnoozeHelper$333G5Hgba3G7RU9lYp0HmgKJBvA;-><init>(JLorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/-$$Lambda$SnoozeHelper$uY_yjjODxoDQVadkBTGNFqh7pco;-><init>(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;->test(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/notification/AlertRateLimiter;-><init>()V
+PLcom/android/server/notification/AlertRateLimiter;->shouldRateLimitAlert(J)Z
+PLcom/android/server/notification/BadgeExtractor;-><init>()V
+PLcom/android/server/notification/BadgeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/BadgeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/BadgeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/BubbleExtractor;-><init>()V
+PLcom/android/server/notification/BubbleExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/BubbleExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/BubbleExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/CalendarTracker$1;-><init>(Lcom/android/server/notification/CalendarTracker;Landroid/os/Handler;)V
PLcom/android/server/notification/CalendarTracker$1;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/notification/CalendarTracker$CheckEventResult;-><init>()V
-HSPLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult;
-PLcom/android/server/notification/CalendarTracker;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/notification/CalendarTracker;->getCalendarsWithAccess()Landroid/util/ArraySet;
-PLcom/android/server/notification/CalendarTracker;->meetsAttendee(Landroid/service/notification/ZenModeConfig$EventInfo;ILjava/lang/String;)Z
-HSPLcom/android/server/notification/CalendarTracker;->setCallback(Lcom/android/server/notification/CalendarTracker$Callback;)V
-HSPLcom/android/server/notification/CalendarTracker;->setRegistered(Z)V
-PLcom/android/server/notification/ConditionProviders$ConditionRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/notification/ConditionProviders;-><init>(Landroid/content/Context;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
-HSPLcom/android/server/notification/ConditionProviders;->addSystemProvider(Lcom/android/server/notification/SystemConditionProviderService;)V
-HSPLcom/android/server/notification/ConditionProviders;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-HSPLcom/android/server/notification/ConditionProviders;->checkServiceToken(Landroid/service/notification/IConditionProvider;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ConditionProviders;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/ConditionProviders;->ensureRecordExists(Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/IConditionProvider;)V
-HSPLcom/android/server/notification/ConditionProviders;->findCondition(Landroid/content/ComponentName;Landroid/net/Uri;)Landroid/service/notification/Condition;
-HSPLcom/android/server/notification/ConditionProviders;->findConditionProvider(Landroid/content/ComponentName;)Landroid/service/notification/IConditionProvider;
-HSPLcom/android/server/notification/ConditionProviders;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
-HSPLcom/android/server/notification/ConditionProviders;->getRecordLocked(Landroid/net/Uri;Landroid/content/ComponentName;Z)Lcom/android/server/notification/ConditionProviders$ConditionRecord;
-HSPLcom/android/server/notification/ConditionProviders;->getRequiredPermission()Ljava/lang/String;
-HSPLcom/android/server/notification/ConditionProviders;->getSystemProviders()Ljava/lang/Iterable;
-HSPLcom/android/server/notification/ConditionProviders;->isSystemProviderEnabled(Ljava/lang/String;)Z
+PLcom/android/server/notification/CalendarTracker$CheckEventResult;-><init>()V
+PLcom/android/server/notification/CalendarTracker;-><clinit>()V
+PLcom/android/server/notification/CalendarTracker;-><init>(Landroid/content/Context;Landroid/content/Context;)V
+PLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult;
+PLcom/android/server/notification/CalendarTracker;->getCalendarsWithAccess()Landroid/util/ArraySet;
+PLcom/android/server/notification/CalendarTracker;->setCallback(Lcom/android/server/notification/CalendarTracker$Callback;)V
+PLcom/android/server/notification/CalendarTracker;->setRegistered(Z)V
+PLcom/android/server/notification/ConditionProviders$ConditionRecord;-><init>(Landroid/net/Uri;Landroid/content/ComponentName;)V
+PLcom/android/server/notification/ConditionProviders$ConditionRecord;-><init>(Landroid/net/Uri;Landroid/content/ComponentName;Lcom/android/server/notification/ConditionProviders$1;)V
+PLcom/android/server/notification/ConditionProviders;-><init>(Landroid/content/Context;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/ConditionProviders;->addSystemProvider(Lcom/android/server/notification/SystemConditionProviderService;)V
+PLcom/android/server/notification/ConditionProviders;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/notification/ConditionProviders;->checkServiceToken(Landroid/service/notification/IConditionProvider;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ConditionProviders;->ensureRecordExists(Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/IConditionProvider;)V
+PLcom/android/server/notification/ConditionProviders;->findCondition(Landroid/content/ComponentName;Landroid/net/Uri;)Landroid/service/notification/Condition;
+PLcom/android/server/notification/ConditionProviders;->findConditionProvider(Landroid/content/ComponentName;)Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ConditionProviders;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+PLcom/android/server/notification/ConditionProviders;->getRecordLocked(Landroid/net/Uri;Landroid/content/ComponentName;Z)Lcom/android/server/notification/ConditionProviders$ConditionRecord;
+PLcom/android/server/notification/ConditionProviders;->getRequiredPermission()Ljava/lang/String;
+PLcom/android/server/notification/ConditionProviders;->getSystemProviders()Ljava/lang/Iterable;
+PLcom/android/server/notification/ConditionProviders;->isSystemProviderEnabled(Ljava/lang/String;)Z
PLcom/android/server/notification/ConditionProviders;->isValidEntry(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/ConditionProviders;->notifyConditions(Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
-HSPLcom/android/server/notification/ConditionProviders;->onBootPhaseAppsCanStart()V
-HSPLcom/android/server/notification/ConditionProviders;->onPackagesChanged(Z[Ljava/lang/String;[I)V
-HSPLcom/android/server/notification/ConditionProviders;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/ConditionProviders;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/ConditionProviders;->onUserSwitched(I)V
-HSPLcom/android/server/notification/ConditionProviders;->removeDuplicateConditions(Ljava/lang/String;[Landroid/service/notification/Condition;)[Landroid/service/notification/Condition;
-HSPLcom/android/server/notification/ConditionProviders;->setCallback(Lcom/android/server/notification/ConditionProviders$Callback;)V
-HSPLcom/android/server/notification/ConditionProviders;->subscribeIfNecessary(Landroid/content/ComponentName;Landroid/net/Uri;)Z
-HSPLcom/android/server/notification/ConditionProviders;->subscribeLocked(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)V
-HSPLcom/android/server/notification/CountdownConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
-HSPLcom/android/server/notification/CountdownConditionProvider;->attachBase(Landroid/content/Context;)V
-PLcom/android/server/notification/CountdownConditionProvider;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/CountdownConditionProvider;->getComponent()Landroid/content/ComponentName;
-HSPLcom/android/server/notification/CountdownConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
-HSPLcom/android/server/notification/CountdownConditionProvider;->onBootComplete()V
-HSPLcom/android/server/notification/CountdownConditionProvider;->onConnected()V
-PLcom/android/server/notification/CountdownConditionProvider;->tryParseDescription(Landroid/net/Uri;)Ljava/lang/String;
-HSPLcom/android/server/notification/CriticalNotificationExtractor;-><init>()V
-HSPLcom/android/server/notification/CriticalNotificationExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/CriticalNotificationExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/CriticalNotificationExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/CriticalNotificationExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ConditionProviders;->notifyConditions(Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ConditionProviders;->onBootPhaseAppsCanStart()V
+PLcom/android/server/notification/ConditionProviders;->onPackagesChanged(Z[Ljava/lang/String;[I)V
+PLcom/android/server/notification/ConditionProviders;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/ConditionProviders;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/ConditionProviders;->onUserSwitched(I)V
+PLcom/android/server/notification/ConditionProviders;->provider(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ConditionProviders;->provider(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ConditionProviders;->removeDuplicateConditions(Ljava/lang/String;[Landroid/service/notification/Condition;)[Landroid/service/notification/Condition;
+PLcom/android/server/notification/ConditionProviders;->safeSet([Ljava/lang/Object;)Landroid/util/ArraySet;
+PLcom/android/server/notification/ConditionProviders;->setCallback(Lcom/android/server/notification/ConditionProviders$Callback;)V
+PLcom/android/server/notification/ConditionProviders;->subscribeIfNecessary(Landroid/content/ComponentName;Landroid/net/Uri;)Z
+PLcom/android/server/notification/ConditionProviders;->subscribeLocked(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)V
+PLcom/android/server/notification/ConditionProviders;->unsubscribeIfNecessary(Landroid/content/ComponentName;Landroid/net/Uri;)V
+PLcom/android/server/notification/ConditionProviders;->unsubscribeLocked(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)V
+HPLcom/android/server/notification/ConditionProviders;->writeDefaults(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/CountdownConditionProvider$Receiver;-><init>(Lcom/android/server/notification/CountdownConditionProvider;)V
+PLcom/android/server/notification/CountdownConditionProvider$Receiver;-><init>(Lcom/android/server/notification/CountdownConditionProvider;Lcom/android/server/notification/CountdownConditionProvider$1;)V
+PLcom/android/server/notification/CountdownConditionProvider;-><clinit>()V
+PLcom/android/server/notification/CountdownConditionProvider;-><init>()V
+PLcom/android/server/notification/CountdownConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/CountdownConditionProvider;->attachBase(Landroid/content/Context;)V
+PLcom/android/server/notification/CountdownConditionProvider;->getComponent()Landroid/content/ComponentName;
+PLcom/android/server/notification/CountdownConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+PLcom/android/server/notification/CountdownConditionProvider;->onBootComplete()V
+PLcom/android/server/notification/CountdownConditionProvider;->onConnected()V
+PLcom/android/server/notification/CriticalNotificationExtractor;-><init>()V
+PLcom/android/server/notification/CriticalNotificationExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/CriticalNotificationExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/CriticalNotificationExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/CriticalNotificationExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/CriticalNotificationExtractor;->supportsCriticalNotifications(Landroid/content/Context;)Z
+PLcom/android/server/notification/EventConditionProvider$1;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$2;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
PLcom/android/server/notification/EventConditionProvider$2;->onChanged()V
-HSPLcom/android/server/notification/EventConditionProvider$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/notification/EventConditionProvider$4;->run()V
-HSPLcom/android/server/notification/EventConditionProvider;-><init>()V
-HSPLcom/android/server/notification/EventConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
-HSPLcom/android/server/notification/EventConditionProvider;->attachBase(Landroid/content/Context;)V
-PLcom/android/server/notification/EventConditionProvider;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptionsW()V
-HSPLcom/android/server/notification/EventConditionProvider;->getComponent()Landroid/content/ComponentName;
-HSPLcom/android/server/notification/EventConditionProvider;->getContextForUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
-HSPLcom/android/server/notification/EventConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
-HSPLcom/android/server/notification/EventConditionProvider;->onBootComplete()V
-HSPLcom/android/server/notification/EventConditionProvider;->onConnected()V
-HSPLcom/android/server/notification/EventConditionProvider;->onSubscribe(Landroid/net/Uri;)V
-HSPLcom/android/server/notification/EventConditionProvider;->reloadTrackers()V
-HSPLcom/android/server/notification/EventConditionProvider;->rescheduleAlarm(JJ)V
-HSPLcom/android/server/notification/EventConditionProvider;->setRegistered(Z)V
-HSPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
-HSPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/notification/GroupHelper;->adjustNotificationBundling(Ljava/util/List;Z)V
-HSPLcom/android/server/notification/GroupHelper;->maybeUngroup(Landroid/service/notification/StatusBarNotification;ZI)V
-HSPLcom/android/server/notification/GroupHelper;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Z)V
-HSPLcom/android/server/notification/GroupHelper;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V
-HSPLcom/android/server/notification/ImportanceExtractor;-><init>()V
-HSPLcom/android/server/notification/ImportanceExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/ImportanceExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/ImportanceExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/ImportanceExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ManagedServices$1$1;->run()V
-HSPLcom/android/server/notification/ManagedServices$1;->onBindingDied(Landroid/content/ComponentName;)V
-HSPLcom/android/server/notification/ManagedServices$1;->onNullBinding(Landroid/content/ComponentName;)V
-HSPLcom/android/server/notification/ManagedServices$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/notification/ManagedServices$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;-><init>(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)V
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->binderDied()V
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->getOwner()Lcom/android/server/notification/ManagedServices;
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->hashCode()I
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isEnabledForCurrentProfiles()Z
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isGuest(Lcom/android/server/notification/ManagedServices;)Z
-PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isPermittedForProfile(I)Z
-HSPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isSameUser(I)Z
-PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->supportsProfiles()Z
-PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/notification/ManagedServices;)V
-HSPLcom/android/server/notification/ManagedServices$UserProfiles;->getCurrentProfileIds()Landroid/util/IntArray;
-PLcom/android/server/notification/ManagedServices$UserProfiles;->isCurrentProfile(I)Z
-HSPLcom/android/server/notification/ManagedServices$UserProfiles;->isManagedProfile(I)Z
-HSPLcom/android/server/notification/ManagedServices$UserProfiles;->updateCache(Landroid/content/Context;)V
-HSPLcom/android/server/notification/ManagedServices;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
-HSPLcom/android/server/notification/ManagedServices;->addApprovedList(Ljava/lang/String;IZ)V
-HSPLcom/android/server/notification/ManagedServices;->bindToServices(Landroid/util/SparseArray;)V
-HSPLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->dump(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/ManagedServices;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/ManagedServices;->getAllowedComponents(I)Ljava/util/List;
-HSPLcom/android/server/notification/ManagedServices;->getAllowedComponents(Landroid/util/IntArray;)Landroid/util/SparseArray;
-HSPLcom/android/server/notification/ManagedServices;->getAllowedPackages()Ljava/util/Set;
-HSPLcom/android/server/notification/ManagedServices;->getBindFlags()I
-HSPLcom/android/server/notification/ManagedServices;->getPackageName(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/notification/ManagedServices;->getRemovableConnectedServices()Ljava/util/Set;
-HSPLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-HSPLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
-PLcom/android/server/notification/ManagedServices;->isComponentEnabledForCurrentProfiles(Landroid/content/ComponentName;)Z
-HSPLcom/android/server/notification/ManagedServices;->isComponentEnabledForPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/ManagedServices;->isPackageAllowed(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/ManagedServices;->isSameUser(Landroid/os/IInterface;I)Z
-HSPLcom/android/server/notification/ManagedServices;->isServiceTokenValidLocked(Landroid/os/IInterface;)Z
+PLcom/android/server/notification/EventConditionProvider$3;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/EventConditionProvider$4;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider$4;->run()V
+PLcom/android/server/notification/EventConditionProvider;-><clinit>()V
+PLcom/android/server/notification/EventConditionProvider;-><init>()V
+PLcom/android/server/notification/EventConditionProvider;->access$500(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/EventConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/EventConditionProvider;->attachBase(Landroid/content/Context;)V
+PLcom/android/server/notification/EventConditionProvider;->createCondition(Landroid/net/Uri;I)Landroid/service/notification/Condition;
+PLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptions()V
+PLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptionsW()V
+PLcom/android/server/notification/EventConditionProvider;->getComponent()Landroid/content/ComponentName;
+PLcom/android/server/notification/EventConditionProvider;->getContextForUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/notification/EventConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+PLcom/android/server/notification/EventConditionProvider;->onBootComplete()V
+PLcom/android/server/notification/EventConditionProvider;->onConnected()V
+PLcom/android/server/notification/EventConditionProvider;->onSubscribe(Landroid/net/Uri;)V
+PLcom/android/server/notification/EventConditionProvider;->reloadTrackers()V
+PLcom/android/server/notification/EventConditionProvider;->rescheduleAlarm(JJ)V
+PLcom/android/server/notification/EventConditionProvider;->setRegistered(Z)V
+PLcom/android/server/notification/GlobalSortKeyComparator;-><init>()V
+HPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
+HPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/notification/GroupHelper;-><clinit>()V
+PLcom/android/server/notification/GroupHelper;-><init>(ILcom/android/server/notification/GroupHelper$Callback;)V
+HPLcom/android/server/notification/GroupHelper;->addToOngoingGroupCount(Landroid/service/notification/StatusBarNotification;Z)V
+PLcom/android/server/notification/GroupHelper;->generatePackageGroupKey(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/GroupHelper;->maybeUngroup(Landroid/service/notification/StatusBarNotification;ZI)V
+PLcom/android/server/notification/GroupHelper;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Z)V
+PLcom/android/server/notification/GroupHelper;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V
+HPLcom/android/server/notification/GroupHelper;->onNotificationUpdated(Landroid/service/notification/StatusBarNotification;Z)V
+PLcom/android/server/notification/ImportanceExtractor;-><init>()V
+PLcom/android/server/notification/ImportanceExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/ImportanceExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ImportanceExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/ImportanceExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ManagedServices$1;-><init>(Lcom/android/server/notification/ManagedServices;ILandroid/util/Pair;ZI)V
+PLcom/android/server/notification/ManagedServices$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/notification/ManagedServices$Config;-><init>()V
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;-><init>(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)V
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->binderDied()V
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->getOwner()Lcom/android/server/notification/ManagedServices;
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->hashCode()I
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isEnabledForCurrentProfiles()Z
+HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isPermittedForProfile(I)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isSameUser(I)Z
+PLcom/android/server/notification/ManagedServices$UserProfiles;-><init>()V
+PLcom/android/server/notification/ManagedServices$UserProfiles;->getCurrentProfileIds()Landroid/util/IntArray;
+HPLcom/android/server/notification/ManagedServices$UserProfiles;->isCurrentProfile(I)Z
+HPLcom/android/server/notification/ManagedServices$UserProfiles;->isManagedProfile(I)Z
+PLcom/android/server/notification/ManagedServices$UserProfiles;->updateCache(Landroid/content/Context;)V
+PLcom/android/server/notification/ManagedServices;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/ManagedServices;->access$000(Lcom/android/server/notification/ManagedServices;)Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->access$100(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->access$1000(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->access$200(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->access$300(Lcom/android/server/notification/ManagedServices;)Ljava/util/ArrayList;
+PLcom/android/server/notification/ManagedServices;->addApprovedList(Ljava/lang/String;IZ)V
+PLcom/android/server/notification/ManagedServices;->bindToServices(Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->checkNotNull(Landroid/os/IInterface;)V
+PLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->getAllowedComponents(I)Ljava/util/List;
+PLcom/android/server/notification/ManagedServices;->getAllowedComponents(Landroid/util/IntArray;)Landroid/util/SparseArray;
+PLcom/android/server/notification/ManagedServices;->getAllowedPackages()Ljava/util/Set;
+PLcom/android/server/notification/ManagedServices;->getApprovedValue(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->getBindFlags()I
+PLcom/android/server/notification/ManagedServices;->getCaption()Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->getDefaultComponents()Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->getPackageName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/ManagedServices;->getRemovableConnectedServices()Ljava/util/Set;
+PLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
+HPLcom/android/server/notification/ManagedServices;->isPackageAllowed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/ManagedServices;->isSameUser(Landroid/os/IInterface;I)Z
PLcom/android/server/notification/ManagedServices;->isValidEntry(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/ManagedServices;->loadComponentNamesFromValues(Landroid/util/ArraySet;I)Landroid/util/ArraySet;
-HSPLcom/android/server/notification/ManagedServices;->onBootPhaseAppsCanStart()V
-HSPLcom/android/server/notification/ManagedServices;->onPackagesChanged(Z[Ljava/lang/String;[I)V
-HSPLcom/android/server/notification/ManagedServices;->onUserSwitched(I)V
-HSPLcom/android/server/notification/ManagedServices;->onUserUnlocked(I)V
-HSPLcom/android/server/notification/ManagedServices;->populateComponentsToBind(Landroid/util/SparseArray;Landroid/util/IntArray;Landroid/util/SparseArray;)V
-HSPLcom/android/server/notification/ManagedServices;->populateComponentsToUnbind(ZLjava/util/Set;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
-HSPLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;I)Ljava/util/Set;
-HSPLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;II)Ljava/util/Set;
-HSPLcom/android/server/notification/ManagedServices;->readExtraAttributes(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;I)V
-HSPLcom/android/server/notification/ManagedServices;->readXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/internal/util/function/TriPredicate;ZI)V
-HSPLcom/android/server/notification/ManagedServices;->rebindServices(ZI)V
-HSPLcom/android/server/notification/ManagedServices;->registerGuestService(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/ManagedServices;->registerService(Landroid/content/ComponentName;I)V
-HSPLcom/android/server/notification/ManagedServices;->registerService(Landroid/os/IInterface;Landroid/content/ComponentName;I)V
-HSPLcom/android/server/notification/ManagedServices;->registerServiceImpl(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-HSPLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;IZ)V
-HSPLcom/android/server/notification/ManagedServices;->removeServiceImpl(Landroid/os/IInterface;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-HSPLcom/android/server/notification/ManagedServices;->removeUninstalledItemsFromApprovedLists(ILjava/lang/String;)Z
-HSPLcom/android/server/notification/ManagedServices;->setComponentState(Landroid/content/ComponentName;Z)V
-HSPLcom/android/server/notification/ManagedServices;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
+PLcom/android/server/notification/ManagedServices;->loadComponentNamesFromValues(Landroid/util/ArraySet;I)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->newServiceInfo(Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->onBootPhaseAppsCanStart()V
+PLcom/android/server/notification/ManagedServices;->onPackagesChanged(Z[Ljava/lang/String;[I)V
+PLcom/android/server/notification/ManagedServices;->onUserSwitched(I)V
+PLcom/android/server/notification/ManagedServices;->onUserUnlocked(I)V
+PLcom/android/server/notification/ManagedServices;->populateComponentsToBind(Landroid/util/SparseArray;Landroid/util/IntArray;Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->populateComponentsToUnbind(ZLjava/util/Set;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;I)Ljava/util/Set;
+HPLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;II)Landroid/util/ArraySet;
+PLcom/android/server/notification/ManagedServices;->readDefaults(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/notification/ManagedServices;->readExtraAttributes(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/notification/ManagedServices;->readXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/internal/util/function/TriPredicate;ZI)V
+PLcom/android/server/notification/ManagedServices;->rebindServices(ZI)V
+PLcom/android/server/notification/ManagedServices;->registerGuestService(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/ManagedServices;->registerService(Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->registerService(Landroid/os/IInterface;Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->registerServiceImpl(Landroid/os/IInterface;Landroid/content/ComponentName;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->registerServiceImpl(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/notification/ManagedServices;->removeServiceImpl(Landroid/os/IInterface;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->removeServiceLocked(I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->setComponentState(Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ManagedServices;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
PLcom/android/server/notification/ManagedServices;->trimApprovedListsAccordingToInstalledServices(I)V
-HSPLcom/android/server/notification/ManagedServices;->unbindFromServices(Landroid/util/SparseArray;)V
-HSPLcom/android/server/notification/ManagedServices;->unbindService(Landroid/content/ServiceConnection;Landroid/content/ComponentName;I)V
-HSPLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/content/ComponentName;I)V
-HSPLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/os/IInterface;I)V
-HSPLcom/android/server/notification/ManagedServices;->unregisterServiceLocked(Landroid/content/ComponentName;I)V
-HSPLcom/android/server/notification/ManagedServices;->writeExtraAttributes(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/notification/ManagedServices;->writeExtraXmlTags(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/notification/ManagedServices;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZI)V
-HSPLcom/android/server/notification/NotificationAdjustmentExtractor;-><init>()V
-HSPLcom/android/server/notification/NotificationAdjustmentExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/NotificationAdjustmentExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/NotificationAdjustmentExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/NotificationAdjustmentExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/NotificationChannelExtractor;-><init>()V
-HSPLcom/android/server/notification/NotificationChannelExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/NotificationChannelExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/NotificationChannelExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/NotificationComparator;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/notification/NotificationComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
-HSPLcom/android/server/notification/NotificationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/notification/NotificationComparator;->isDefaultPhoneApp(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/NotificationComparator;->isImportantMessaging(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/NotificationComparator;->isImportantPeople(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ManagedServices;->unbindFromServices(Landroid/util/SparseArray;)V
+PLcom/android/server/notification/ManagedServices;->unbindService(Landroid/content/ServiceConnection;Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/ManagedServices;->unregisterServiceLocked(Landroid/content/ComponentName;I)V
+HPLcom/android/server/notification/ManagedServices;->writeDefaults(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/ManagedServices;->writeExtraAttributes(Lorg/xmlpull/v1/XmlSerializer;I)V
+PLcom/android/server/notification/ManagedServices;->writeExtraXmlTags(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/ManagedServices;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZI)V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;-><init>()V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/NotificationAdjustmentExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/NotificationChannelExtractor;-><init>()V
+PLcom/android/server/notification/NotificationChannelExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationChannelExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/NotificationChannelExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/NotificationComparator$1;-><init>(Lcom/android/server/notification/NotificationComparator;)V
+PLcom/android/server/notification/NotificationComparator;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/notification/NotificationComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
+HPLcom/android/server/notification/NotificationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationHistoryManager;Landroid/os/Handler;)V
+PLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;->observe()V
+PLcom/android/server/notification/NotificationHistoryManager$SettingsObserver;->update(Landroid/net/Uri;I)V
+PLcom/android/server/notification/NotificationHistoryManager;-><clinit>()V
+PLcom/android/server/notification/NotificationHistoryManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/notification/NotificationHistoryManager;->access$000(Lcom/android/server/notification/NotificationHistoryManager;)Landroid/content/Context;
+PLcom/android/server/notification/NotificationHistoryManager;->access$100(Lcom/android/server/notification/NotificationHistoryManager;)Ljava/lang/Object;
+PLcom/android/server/notification/NotificationHistoryManager;->access$200(Lcom/android/server/notification/NotificationHistoryManager;)Landroid/os/UserManager;
+HPLcom/android/server/notification/NotificationHistoryManager;->addNotification(Landroid/app/NotificationHistory$HistoricalNotification;)V
+HPLcom/android/server/notification/NotificationHistoryManager;->getUserHistoryAndInitializeIfNeededLocked(I)Lcom/android/server/notification/NotificationHistoryDatabase;
+PLcom/android/server/notification/NotificationHistoryManager;->onBootPhaseAppsCanStart()V
+PLcom/android/server/notification/NotificationHistoryManager;->onHistoryEnabledChanged(IZ)V
+PLcom/android/server/notification/NotificationHistoryManager;->onUserUnlocked(I)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;-><init>(Lcom/android/server/notification/NotificationIntrusivenessExtractor;Ljava/lang/String;J)V
PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->applyChangesLocked(Lcom/android/server/notification/NotificationRecord;)V
PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->work()V
-HSPLcom/android/server/notification/NotificationIntrusivenessExtractor;-><init>()V
-HSPLcom/android/server/notification/NotificationIntrusivenessExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/NotificationIntrusivenessExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/NotificationIntrusivenessExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/NotificationManagerService$10$1;->run()V
-PLcom/android/server/notification/NotificationManagerService$10;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;-><clinit>()V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;-><init>()V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/NotificationManagerService$10$1;-><init>(Lcom/android/server/notification/NotificationManagerService$10;Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/NotificationManagerService$10$1;->run()V
+PLcom/android/server/notification/NotificationManagerService$10;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$10;->addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;
PLcom/android/server/notification/NotificationManagerService$10;->applyAdjustmentsFromAssistant(Landroid/service/notification/INotificationListener;Ljava/util/List;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-PLcom/android/server/notification/NotificationManagerService$10;->areBubblesAllowedForPackage(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->areNotificationsEnabled(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/notification/NotificationManagerService$10;->canShowBadge(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->cancelAllNotifications(Ljava/lang/String;I)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
-PLcom/android/server/notification/NotificationManagerService$10;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->checkPolicyAccess(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService$10;->areNotificationsEnabled(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService$10;->canNotifyAsPackage(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService$10;->cancelAllNotifications(Ljava/lang/String;I)V
+HPLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService$10;->checkPackagePolicyAccess(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->checkPolicyAccess(Ljava/lang/String;)Z
PLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+PLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
PLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelsForPackage(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$10;->deleteNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$10;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->enforcePolicyAccess(ILjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$10;->enforcePolicyAccess(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
+PLcom/android/server/notification/NotificationManagerService$10;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->enforcePolicyAccess(ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->enforceSystemOrSystemUI(Ljava/lang/String;)V
PLcom/android/server/notification/NotificationManagerService$10;->enforceSystemOrSystemUIOrSamePackage(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-PLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
+PLcom/android/server/notification/NotificationManagerService$10;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
+PLcom/android/server/notification/NotificationManagerService$10;->enqueueTextToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
+PLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;IIZ)V
PLcom/android/server/notification/NotificationManagerService$10;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$10;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/notification/NotificationManagerService$10;->getAllowedNotificationAssistant()Landroid/content/ComponentName;
PLcom/android/server/notification/NotificationManagerService$10;->getAllowedNotificationAssistantForUser(I)Landroid/content/ComponentName;
-HSPLcom/android/server/notification/NotificationManagerService$10;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/notification/NotificationManagerService$10;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/notification/NotificationManagerService$10;->getAppsBypassingDndCount(I)I
-HSPLcom/android/server/notification/NotificationManagerService$10;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
+PLcom/android/server/notification/NotificationManagerService$10;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
PLcom/android/server/notification/NotificationManagerService$10;->getBackupPayload(I)[B
-PLcom/android/server/notification/NotificationManagerService$10;->getBlockedChannelCount(Ljava/lang/String;I)I
-HSPLcom/android/server/notification/NotificationManagerService$10;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
-HSPLcom/android/server/notification/NotificationManagerService$10;->getEffectsSuppressor()Landroid/content/ComponentName;
-PLcom/android/server/notification/NotificationManagerService$10;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
-HSPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$10;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/NotificationManagerService$10;->getEffectsSuppressor()Landroid/content/ComponentName;
+PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
-PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannels(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/notification/NotificationManagerService$10;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
-PLcom/android/server/notification/NotificationManagerService$10;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
-PLcom/android/server/notification/NotificationManagerService$10;->getPackageImportance(Ljava/lang/String;)I
-HSPLcom/android/server/notification/NotificationManagerService$10;->getPrivateNotificationsAllowed()Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->getZenMode()I
-HSPLcom/android/server/notification/NotificationManagerService$10;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
-HSPLcom/android/server/notification/NotificationManagerService$10;->getZenRules()Ljava/util/List;
-PLcom/android/server/notification/NotificationManagerService$10;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService$10;->matchesCallFilter(Landroid/os/Bundle;)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->removeAutomaticZenRules(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService$10;->requestBindListener(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/NotificationManagerService$10;->getPrivateNotificationsAllowed()Z
+PLcom/android/server/notification/NotificationManagerService$10;->getZenMode()I
+PLcom/android/server/notification/NotificationManagerService$10;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/NotificationManagerService$10;->getZenRules()Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService$10;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->isPackagePaused(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/NotificationManagerService$10;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/NotificationManagerService$10;->removeAutomaticZenRule(Ljava/lang/String;)Z
PLcom/android/server/notification/NotificationManagerService$10;->requestBindProvider(Landroid/content/ComponentName;)V
-PLcom/android/server/notification/NotificationManagerService$10;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->sanitizeSbn(Ljava/lang/String;ILandroid/service/notification/StatusBarNotification;)Landroid/service/notification/StatusBarNotification;
-PLcom/android/server/notification/NotificationManagerService$10;->setInterruptionFilter(Ljava/lang/String;I)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-PLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
+PLcom/android/server/notification/NotificationManagerService$10;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
+PLcom/android/server/notification/NotificationManagerService$10;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
+HPLcom/android/server/notification/NotificationManagerService$10;->sanitizeSbn(Ljava/lang/String;ILandroid/service/notification/StatusBarNotification;)Landroid/service/notification/StatusBarNotification;
PLcom/android/server/notification/NotificationManagerService$10;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
PLcom/android/server/notification/NotificationManagerService$10;->setPrivateNotificationsAllowed(Z)V
-PLcom/android/server/notification/NotificationManagerService$10;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService$10;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/NotificationManagerService$10;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
-PLcom/android/server/notification/NotificationManagerService$10;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
-PLcom/android/server/notification/NotificationManagerService$11;->enqueueNotification(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
-PLcom/android/server/notification/NotificationManagerService$11;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;)Landroid/app/NotificationChannel;
-PLcom/android/server/notification/NotificationManagerService$11;->lambda$removeForegroundServiceFlagFromNotification$0$NotificationManagerService$11(Ljava/lang/String;II)V
-PLcom/android/server/notification/NotificationManagerService$11;->removeForegroundServiceFlagFromNotification(Ljava/lang/String;II)V
-HSPLcom/android/server/notification/NotificationManagerService$13;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$14;->run()V
-PLcom/android/server/notification/NotificationManagerService$15;->run()V
+PLcom/android/server/notification/NotificationManagerService$10;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->silenceNotificationSound()V
+PLcom/android/server/notification/NotificationManagerService$10;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
+PLcom/android/server/notification/NotificationManagerService$11;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$13;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$13;->run()V
+PLcom/android/server/notification/NotificationManagerService$14;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;IILjava/lang/String;IIIIZLjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$14;->lambda$run$0(III)Z
+PLcom/android/server/notification/NotificationManagerService$14;->run()V
+PLcom/android/server/notification/NotificationManagerService$16;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$1;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
PLcom/android/server/notification/NotificationManagerService$1;->clearEffects()V
-PLcom/android/server/notification/NotificationManagerService$1;->onClearAll(III)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationActionClick(IILjava/lang/String;ILandroid/app/Notification$Action;Lcom/android/internal/statusbar/NotificationVisibility;Z)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationClear(IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;IILcom/android/internal/statusbar/NotificationVisibility;)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationClick(IILjava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationDirectReplied(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$1;->clearInlineReplyUriPermissions(Ljava/lang/String;I)V
PLcom/android/server/notification/NotificationManagerService$1;->onNotificationExpansionChanged(Ljava/lang/String;ZZI)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationSmartReplySent(Ljava/lang/String;ILjava/lang/CharSequence;IZ)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationSmartSuggestionsAdded(Ljava/lang/String;IIZZ)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
-HSPLcom/android/server/notification/NotificationManagerService$1;->onPanelHidden()V
-HSPLcom/android/server/notification/NotificationManagerService$1;->onPanelRevealed(ZI)V
-HSPLcom/android/server/notification/NotificationManagerService$1;->onSetDisabled(I)V
-HSPLcom/android/server/notification/NotificationManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/notification/NotificationManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/notification/NotificationManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/notification/NotificationManagerService$7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-HSPLcom/android/server/notification/NotificationManagerService$7;->onConfigChanged()V
-HSPLcom/android/server/notification/NotificationManagerService$7;->onPolicyChanged()V
-HSPLcom/android/server/notification/NotificationManagerService$7;->onZenModeChanged()V
-PLcom/android/server/notification/NotificationManagerService$9;->addAutoGroup(Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$9;->addAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroup(Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroupSummary(ILjava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService$Archive;-><init>(I)V
-PLcom/android/server/notification/NotificationManagerService$Archive;->descendingIterator()Ljava/util/Iterator;
-HSPLcom/android/server/notification/NotificationManagerService$Archive;->record(Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/NotificationManagerService$Archive;->toString()Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;->run()V
-PLcom/android/server/notification/NotificationManagerService$DumpFilter;->matches(Landroid/service/notification/StatusBarNotification;)Z
-PLcom/android/server/notification/NotificationManagerService$DumpFilter;->parseFromArguments([Ljava/lang/String;)Lcom/android/server/notification/NotificationManagerService$DumpFilter;
-HSPLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getRequiredPermission()Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->hasUserSet(I)Z
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isAdjustmentAllowed(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isEnabled()Z
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantActionClicked$5$NotificationManagerService$NotificationAssistants(Ljava/lang/String;Landroid/app/Notification$Action;ZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantExpansionChangedLocked$2$NotificationManagerService$NotificationAssistants(Ljava/lang/String;ZZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantNotificationDirectReplyLocked$3$NotificationManagerService$NotificationAssistants(Ljava/lang/String;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantSuggestedReplySent$4$NotificationManagerService$NotificationAssistants(Ljava/lang/String;Ljava/lang/CharSequence;ZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationEnqueuedLocked$1$NotificationManagerService$NotificationAssistants(ZLcom/android/server/notification/NotificationRecord;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationsSeenLocked$0$NotificationManagerService$NotificationAssistants(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantActionClicked(Landroid/service/notification/StatusBarNotification;ILandroid/app/Notification$Action;Z)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantExpansionChangedLocked(Landroid/service/notification/StatusBarNotification;ZZ)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantLocked(Landroid/service/notification/StatusBarNotification;ZLjava/util/function/BiConsumer;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantNotificationDirectReplyLocked(Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantSuggestedReplySent(Landroid/service/notification/StatusBarNotification;Ljava/lang/CharSequence;Z)V
+HPLcom/android/server/notification/NotificationManagerService$1;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
+PLcom/android/server/notification/NotificationManagerService$1;->onPanelHidden()V
+PLcom/android/server/notification/NotificationManagerService$1;->onPanelRevealed(ZI)V
+PLcom/android/server/notification/NotificationManagerService$1;->onSetDisabled(I)V
+PLcom/android/server/notification/NotificationManagerService$2;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$3;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$4;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$5;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/NotificationManagerService$6;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/NotificationManagerService$7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$7;->onAutomaticRuleStatusChanged(ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$7;->onConfigChanged()V
+PLcom/android/server/notification/NotificationManagerService$7;->onPolicyChanged()V
+PLcom/android/server/notification/NotificationManagerService$7;->onZenModeChanged()V
+PLcom/android/server/notification/NotificationManagerService$8;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$9;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroupSummary(ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->updateAutogroupSummary(Ljava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService$Archive;-><init>(I)V
+PLcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+HPLcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;->run()V
+HPLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;ILcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$7700(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getRequiredPermission()Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->hasUserSet(I)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isAdjustmentAllowed(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isEnabled()Z
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isVerboseLogEnabled()Z
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantExpansionChangedLocked$4$NotificationManagerService$NotificationAssistants(Ljava/lang/String;ZZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantLocked$9(Ljava/util/function/BiConsumer;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+HPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationEnqueuedLocked$3$NotificationManagerService$NotificationAssistants(ZLcom/android/server/notification/NotificationRecord;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationsSeenLocked$2$NotificationManagerService$NotificationAssistants(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantLocked(Landroid/service/notification/StatusBarNotification;ZLjava/util/function/BiConsumer;)V
PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifySeen(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationEnqueuedLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationEnqueuedLocked(Lcom/android/server/notification/NotificationRecord;)V
PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationsSeenLocked(Ljava/util/ArrayList;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onUserUnlocked(I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->readExtraAttributes(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->readExtraTag(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->resetDefaultAssistantsIfNecessary()V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->setUserSet(IZ)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->writeExtraAttributes(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->writeExtraXmlTags(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners$2;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners$3;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->readExtraAttributes(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->readExtraTag(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->resetDefaultAssistantsIfNecessary()V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->setUserSet(IZ)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->writeExtraAttributes(Lorg/xmlpull/v1/XmlSerializer;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->writeExtraXmlTags(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$2;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$2;->run()V
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners$3;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$3;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$4;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
PLcom/android/server/notification/NotificationManagerService$NotificationListeners$4;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners$5;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners$6;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->checkType(Landroid/os/IInterface;)Z
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getBindFlags()I
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getOnNotificationPostedTrim(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)I
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getRequiredPermission()Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelChanged$2$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelGroupChanged$3$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyRemovedLocked$1$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyInterruptionFilterChanged(I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyInterruptionFilterChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyListenerHintsChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyListenerHintsChangedLocked(I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$6;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$6;->run()V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$9700(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->checkType(Landroid/os/IInterface;)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getBindFlags()I
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getOnNotificationPostedTrim(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)I
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getRequiredPermission()Ljava/lang/String;
+HPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelChanged$2$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyInterruptionFilterChanged(I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyInterruptionFilterChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPosted(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPosted(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Z)V
PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdate(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdateLocked(Ljava/util/List;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemoved(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemovedLocked(Lcom/android/server/notification/NotificationRecord;ILandroid/service/notification/NotificationStats;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$1;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->run()V
-HSPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
-HSPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestReconsideration(Lcom/android/server/notification/RankingReconsideration;)V
-HSPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestSort()V
-HSPLcom/android/server/notification/NotificationManagerService$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Handler;)V
-HSPLcom/android/server/notification/NotificationManagerService$SettingsObserver;->observe()V
-HSPLcom/android/server/notification/NotificationManagerService$SettingsObserver;->update(Landroid/net/Uri;)V
-HSPLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification;
-HSPLcom/android/server/notification/NotificationManagerService$TrimCache;->ForListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/StatusBarNotification;
-HSPLcom/android/server/notification/NotificationManagerService$WorkerHandler;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
-HSPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;)V
-HSPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleOnPackageChanged(ZI[Ljava/lang/String;[I)V
-PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleSendRankingUpdate()V
-HSPLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/notification/NotificationManagerService;->access$1300(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
-HSPLcom/android/server/notification/NotificationManagerService;->access$1400()I
-HSPLcom/android/server/notification/NotificationManagerService;->access$1500()I
-HSPLcom/android/server/notification/NotificationManagerService;->access$1600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
-PLcom/android/server/notification/NotificationManagerService;->access$200(Lcom/android/server/notification/NotificationManagerService;)V
-HSPLcom/android/server/notification/NotificationManagerService;->access$3600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
-HSPLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
-PLcom/android/server/notification/NotificationManagerService;->addAutoGroupAdjustment(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService;->addAutogroupKeyLocked(Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService;->applyAdjustment(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
-HSPLcom/android/server/notification/NotificationManagerService;->buzzBeepBlinkLocked(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->calculateHints()I
-PLcom/android/server/notification/NotificationManagerService;->calculateSuppressedVisualEffects(Landroid/app/NotificationManager$Policy;Landroid/app/NotificationManager$Policy;I)I
-PLcom/android/server/notification/NotificationManagerService;->callStateToString(I)Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationManagerService;->canShowLightsLocked(Lcom/android/server/notification/NotificationRecord;Z)Z
-HSPLcom/android/server/notification/NotificationManagerService;->canUseManagedServices(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService;->cancelAllLocked(IIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;Z)V
-HSPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsByListLocked(Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
-HSPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemoved(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemovedLocked(Lcom/android/server/notification/NotificationRecord;ILandroid/service/notification/NotificationStats;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$1;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$1;->run()V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->lambda$run$0$NotificationManagerService$PostNotificationRunnable(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestReconsideration(Lcom/android/server/notification/RankingReconsideration;)V
+PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestSort()V
+PLcom/android/server/notification/NotificationManagerService$RoleObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/app/role/RoleManager;Landroid/content/pm/IPackageManager;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/notification/NotificationManagerService$RoleObserver;->getUidForPackage(Ljava/lang/String;I)I
+PLcom/android/server/notification/NotificationManagerService$RoleObserver;->init()V
+PLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$1;)V
+HPLcom/android/server/notification/NotificationManagerService$SavePolicyFileRunnable;->run()V
+PLcom/android/server/notification/NotificationManagerService$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Handler;)V
+PLcom/android/server/notification/NotificationManagerService$SettingsObserver;->observe()V
+PLcom/android/server/notification/NotificationManagerService$SettingsObserver;->update(Landroid/net/Uri;)V
+PLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;-><init>(Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$ToastRecord;-><init>(ILjava/lang/String;Landroid/app/ITransientNotification;ILandroid/os/Binder;I)V
+PLcom/android/server/notification/NotificationManagerService$TrimCache;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$TrimCache;->ForListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/StatusBarNotification;
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleOnPackageChanged(ZI[Ljava/lang/String;[I)V
+PLcom/android/server/notification/NotificationManagerService;-><clinit>()V
+PLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationManagerService;->access$100(Lcom/android/server/notification/NotificationManagerService;)Landroid/util/AtomicFile;
+PLcom/android/server/notification/NotificationManagerService;->access$1200(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
+PLcom/android/server/notification/NotificationManagerService;->access$1600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/PreferencesHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$1700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
+PLcom/android/server/notification/NotificationManagerService;->access$1800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders;
+PLcom/android/server/notification/NotificationManagerService;->access$200(Lcom/android/server/notification/NotificationManagerService;Ljava/io/OutputStream;ZI)V
+PLcom/android/server/notification/NotificationManagerService;->access$2100()I
+PLcom/android/server/notification/NotificationManagerService;->access$2200()I
+PLcom/android/server/notification/NotificationManagerService;->access$2300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
+PLcom/android/server/notification/NotificationManagerService;->access$2400(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$2600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ManagedServices$UserProfiles;
+PLcom/android/server/notification/NotificationManagerService;->access$2700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$SettingsObserver;
+PLcom/android/server/notification/NotificationManagerService;->access$2900(Lcom/android/server/notification/NotificationManagerService;)F
+PLcom/android/server/notification/NotificationManagerService;->access$2902(Lcom/android/server/notification/NotificationManagerService;F)F
+PLcom/android/server/notification/NotificationManagerService;->access$3000(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$302(Lcom/android/server/notification/NotificationManagerService;Z)Z
+PLcom/android/server/notification/NotificationManagerService;->access$3600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/notification/NotificationManagerService;->access$3700(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$3800(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService;->access$3900(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->access$400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->access$4100(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/PackageManager;
+PLcom/android/server/notification/NotificationManagerService;->access$4300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$4700(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$5900(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->access$600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
+PLcom/android/server/notification/NotificationManagerService;->access$6000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;)Landroid/os/UserManager;
+PLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$6700(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
+PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
+PLcom/android/server/notification/NotificationManagerService;->access$7800(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$7900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$8000(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
+PLcom/android/server/notification/NotificationManagerService;->access$8100(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
+PLcom/android/server/notification/NotificationManagerService;->access$900(Lcom/android/server/notification/NotificationManagerService;)Landroid/app/ActivityManager;
+PLcom/android/server/notification/NotificationManagerService;->access$9100(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
+HPLcom/android/server/notification/NotificationManagerService;->access$9200(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService;->access$9500(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+PLcom/android/server/notification/NotificationManagerService;->allowAssistant(ILandroid/content/ComponentName;)Z
+PLcom/android/server/notification/NotificationManagerService;->applyAdjustment(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService;->applyZenModeLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->buzzBeepBlinkLocked(Lcom/android/server/notification/NotificationRecord;)V
+HPLcom/android/server/notification/NotificationManagerService;->canBubble(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->canShowLightsLocked(Lcom/android/server/notification/NotificationRecord;Z)Z
+PLcom/android/server/notification/NotificationManagerService;->canUseManagedServices(Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsByListLocked(Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
+PLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
PLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenByListLocked(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
-HSPLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenLocked(Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
-HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-HSPLcom/android/server/notification/NotificationManagerService;->cancelNotificationLocked(Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenLocked(Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
+PLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+HPLcom/android/server/notification/NotificationManagerService;->cancelNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService;->cancelNotificationLocked(Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
PLcom/android/server/notification/NotificationManagerService;->cancelToastLocked(I)V
-HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V
-HSPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystem()V
-HSPLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;Z)Z
-HSPLcom/android/server/notification/NotificationManagerService;->checkRestrictedCategories(Landroid/app/Notification;)V
-HSPLcom/android/server/notification/NotificationManagerService;->clearAutogroupSummaryLocked(ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;)V
+HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystem()V
+PLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrSameApp(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;Z)Z
+HPLcom/android/server/notification/NotificationManagerService;->checkRemoteViews(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;)V
+PLcom/android/server/notification/NotificationManagerService;->checkRestrictedCategories(Landroid/app/Notification;)V
+PLcom/android/server/notification/NotificationManagerService;->clamp(III)I
+PLcom/android/server/notification/NotificationManagerService;->clearAutogroupSummaryLocked(ILjava/lang/String;)V
PLcom/android/server/notification/NotificationManagerService;->clearSoundLocked()V
PLcom/android/server/notification/NotificationManagerService;->clearVibrateLocked()V
-PLcom/android/server/notification/NotificationManagerService;->createAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
PLcom/android/server/notification/NotificationManagerService;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
-HSPLcom/android/server/notification/NotificationManagerService;->disableNotificationEffects(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
-PLcom/android/server/notification/NotificationManagerService;->dumpImpl(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/NotificationManagerService;->dumpJson(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/NotificationManagerService;->dumpNotificationRecords(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/NotificationManagerService;->dumpProto(Ljava/io/FileDescriptor;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
-PLcom/android/server/notification/NotificationManagerService;->exitIdle()V
-HSPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
-HSPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
-HSPLcom/android/server/notification/NotificationManagerService;->findNotificationLocked(Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
-PLcom/android/server/notification/NotificationManagerService;->findNotificationsByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
-PLcom/android/server/notification/NotificationManagerService;->finishTokenLocked(Landroid/os/IBinder;I)V
-HSPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;I)V
-HSPLcom/android/server/notification/NotificationManagerService;->getCompanionManager()Landroid/companion/ICompanionDeviceManager;
-HSPLcom/android/server/notification/NotificationManagerService;->getLongArray(Landroid/content/res/Resources;II[J)[J
-HSPLcom/android/server/notification/NotificationManagerService;->getNotificationCountLocked(Ljava/lang/String;IILjava/lang/String;)I
-PLcom/android/server/notification/NotificationManagerService;->getSuppressors()Ljava/util/ArrayList;
-HSPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
+HPLcom/android/server/notification/NotificationManagerService;->destroyPermissionOwner(Landroid/os/IBinder;ILjava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->disableNotificationEffects(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
+HPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
+HPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+PLcom/android/server/notification/NotificationManagerService;->findNotificationRecordIndexLocked(Lcom/android/server/notification/NotificationRecord;)I
+HPLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;Ljava/lang/String;II)V
+HPLcom/android/server/notification/NotificationManagerService;->flagNotificationForBubbles(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)V
+PLcom/android/server/notification/NotificationManagerService;->getCompanionManager()Landroid/companion/ICompanionDeviceManager;
+PLcom/android/server/notification/NotificationManagerService;->getGroupHelper()Lcom/android/server/notification/GroupHelper;
+HPLcom/android/server/notification/NotificationManagerService;->getHistoryText(Landroid/content/Context;Landroid/app/Notification;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->getHistoryTitle(Landroid/app/Notification;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->getLongArray(Landroid/content/res/Resources;II[J)[J
+HPLcom/android/server/notification/NotificationManagerService;->getNotificationCountLocked(Ljava/lang/String;IILjava/lang/String;)I
+PLcom/android/server/notification/NotificationManagerService;->getRealUserId(I)I
+PLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
PLcom/android/server/notification/NotificationManagerService;->handleDurationReached(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
-HSPLcom/android/server/notification/NotificationManagerService;->handleGroupedNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
+PLcom/android/server/notification/NotificationManagerService;->handleGroupedNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
PLcom/android/server/notification/NotificationManagerService;->handleKillTokenTimeout(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->handleListenerHintsChanged(I)V
-HSPLcom/android/server/notification/NotificationManagerService;->handleListenerInterruptionFilterChanged(I)V
+PLcom/android/server/notification/NotificationManagerService;->handleListenerInterruptionFilterChanged(I)V
+HPLcom/android/server/notification/NotificationManagerService;->handleOnPackageChanged(ZI[Ljava/lang/String;[I)V
PLcom/android/server/notification/NotificationManagerService;->handleRankingReconsideration(Landroid/os/Message;)V
-HSPLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V
-HSPLcom/android/server/notification/NotificationManagerService;->handleSavePolicyFile()V
+HPLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V
+PLcom/android/server/notification/NotificationManagerService;->handleSavePolicyFile()V
PLcom/android/server/notification/NotificationManagerService;->handleSendRankingUpdate()V
-HSPLcom/android/server/notification/NotificationManagerService;->hasCompanionDevice(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
-HSPLcom/android/server/notification/NotificationManagerService;->indexOfNotificationLocked(Ljava/lang/String;)I
+HPLcom/android/server/notification/NotificationManagerService;->hasAutoGroupSummaryLocked(Landroid/service/notification/StatusBarNotification;)Z
+PLcom/android/server/notification/NotificationManagerService;->hasCompanionDevice(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+HPLcom/android/server/notification/NotificationManagerService;->indexOfNotificationLocked(Ljava/lang/String;)I
PLcom/android/server/notification/NotificationManagerService;->indexOfToastLocked(Ljava/lang/String;Landroid/app/ITransientNotification;)I
-HSPLcom/android/server/notification/NotificationManagerService;->init(Landroid/os/Looper;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;)V
-HSPLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationUsageStats;)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isCallerInstantApp(II)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isCallerSameApp(Ljava/lang/String;II)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z
-HSPLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z
-HSPLcom/android/server/notification/NotificationManagerService;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
-HSPLcom/android/server/notification/NotificationManagerService;->isVisuallyInterruptive(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->init(Lcom/android/server/notification/NotificationManagerService$WorkerHandler;Lcom/android/server/notification/RankingHandler;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;Landroid/os/UserManager;Lcom/android/server/notification/NotificationHistoryManager;)V
+PLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationUsageStats;)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerInstantApp(II)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerSameApp(Ljava/lang/String;II)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z
+PLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z
+PLcom/android/server/notification/NotificationManagerService;->isCritical(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->isInCall()Z
+PLcom/android/server/notification/NotificationManagerService;->isLoopingRingtoneNotification(Lcom/android/server/notification/NotificationRecord;)Z
+HPLcom/android/server/notification/NotificationManagerService;->isNotificationAppropriateToBubble(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;ILcom/android/server/notification/NotificationRecord;Z)Z
+PLcom/android/server/notification/NotificationManagerService;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;)Z
+HPLcom/android/server/notification/NotificationManagerService;->isPackagePausedOrSuspended(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z
+HPLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->isVisuallyInterruptive(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)Z
PLcom/android/server/notification/NotificationManagerService;->keepProcessAliveIfNeededLocked(I)V
-PLcom/android/server/notification/NotificationManagerService;->lambda$doChannelWarningToast$2$NotificationManagerService(Ljava/lang/CharSequence;)V
-HSPLcom/android/server/notification/NotificationManagerService;->lambda$handleSavePolicyFile$0$NotificationManagerService()V
-PLcom/android/server/notification/NotificationManagerService;->lambda$playVibration$3$NotificationManagerService(Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;)V
-HSPLcom/android/server/notification/NotificationManagerService;->listenForCallState()V
-HSPLcom/android/server/notification/NotificationManagerService;->loadPolicyFile()V
-HSPLcom/android/server/notification/NotificationManagerService;->logRecentLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$onUnlockUser$1$NotificationManagerService(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/notification/NotificationManagerService;->listenForCallState()V
+PLcom/android/server/notification/NotificationManagerService;->loadPolicyFile()V
PLcom/android/server/notification/NotificationManagerService;->logSmartSuggestionsVisible(Lcom/android/server/notification/NotificationRecord;I)V
-HSPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
-PLcom/android/server/notification/NotificationManagerService;->maybeNotifyChannelOwner(Ljava/lang/String;ILandroid/app/NotificationChannel;Landroid/app/NotificationChannel;)V
-HSPLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V
+HPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+PLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V
PLcom/android/server/notification/NotificationManagerService;->notificationMatchesUserId(Lcom/android/server/notification/NotificationRecord;I)Z
-HSPLcom/android/server/notification/NotificationManagerService;->onBootPhase(I)V
-HSPLcom/android/server/notification/NotificationManagerService;->onStart()V
-PLcom/android/server/notification/NotificationManagerService;->playInCallNotification()V
-HSPLcom/android/server/notification/NotificationManagerService;->playSound(Lcom/android/server/notification/NotificationRecord;Landroid/net/Uri;)Z
-PLcom/android/server/notification/NotificationManagerService;->playVibration(Lcom/android/server/notification/NotificationRecord;[JZ)Z
-HSPLcom/android/server/notification/NotificationManagerService;->readPolicyXml(Ljava/io/InputStream;ZI)V
-PLcom/android/server/notification/NotificationManagerService;->removeAutogroupKeyLocked(Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService;->removeDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
-HSPLcom/android/server/notification/NotificationManagerService;->removeFromNotificationListsLocked(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->onBootPhase(I)V
+PLcom/android/server/notification/NotificationManagerService;->onStart()V
+PLcom/android/server/notification/NotificationManagerService;->onUnlockUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/notification/NotificationManagerService;->playSound(Lcom/android/server/notification/NotificationRecord;Landroid/net/Uri;)Z
+PLcom/android/server/notification/NotificationManagerService;->readPolicyXml(Ljava/io/InputStream;ZI)V
+PLcom/android/server/notification/NotificationManagerService;->registerDeviceConfigChange()V
+PLcom/android/server/notification/NotificationManagerService;->removeDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
+PLcom/android/server/notification/NotificationManagerService;->removeFromNotificationListsLocked(Lcom/android/server/notification/NotificationRecord;)Z
+HPLcom/android/server/notification/NotificationManagerService;->removeRemoteView(Ljava/lang/String;Ljava/lang/String;ILandroid/widget/RemoteViews;)Z
PLcom/android/server/notification/NotificationManagerService;->reportSeen(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->reportUserInteraction(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/notification/NotificationManagerService;->safeBoolean(Ljava/lang/String;Z)Z
PLcom/android/server/notification/NotificationManagerService;->scheduleDurationReachedLocked(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
-HSPLcom/android/server/notification/NotificationManagerService;->scheduleTimeoutLocked(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationManagerService;->sendAccessibilityEvent(Landroid/app/Notification;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/notification/NotificationManagerService;->sendRegisteredOnlyBroadcast(Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationManagerService;->setDefaultAssistantForUser(I)V
-HSPLcom/android/server/notification/NotificationManagerService;->setNotificationAssistantAccessGrantedForUserInternal(Landroid/content/ComponentName;IZ)V
-HSPLcom/android/server/notification/NotificationManagerService;->shouldMuteNotificationLocked(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->scheduleTimeoutLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->sendAccessibilityEvent(Landroid/app/Notification;Ljava/lang/CharSequence;)V
+PLcom/android/server/notification/NotificationManagerService;->sendRegisteredOnlyBroadcast(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->setDefaultAssistantForUser(I)V
+PLcom/android/server/notification/NotificationManagerService;->setNotificationAssistantAccessGrantedForUserInternal(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/notification/NotificationManagerService;->shouldMuteNotificationLocked(Lcom/android/server/notification/NotificationRecord;)Z
PLcom/android/server/notification/NotificationManagerService;->showNextToastLocked()V
-PLcom/android/server/notification/NotificationManagerService;->updateEffectsSuppressorLocked()V
-HSPLcom/android/server/notification/NotificationManagerService;->updateLightsLocked()V
-PLcom/android/server/notification/NotificationManagerService;->updateNotificationChannelInt(Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
-HSPLcom/android/server/notification/NotificationManagerService;->updateNotificationPulse()V
-HSPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V
-HSPLcom/android/server/notification/NotificationManagerService;->writePolicyXml(Ljava/io/OutputStream;ZI)V
-HSPLcom/android/server/notification/NotificationRecord;-><init>(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;Landroid/app/NotificationChannel;)V
-HSPLcom/android/server/notification/NotificationRecord;->addAdjustment(Landroid/service/notification/Adjustment;)V
-HSPLcom/android/server/notification/NotificationRecord;->applyAdjustments()V
-HSPLcom/android/server/notification/NotificationRecord;->calculateAttributes()Landroid/media/AudioAttributes;
-HSPLcom/android/server/notification/NotificationRecord;->calculateGrantableUris()V
-HSPLcom/android/server/notification/NotificationRecord;->calculateImportance()V
-HSPLcom/android/server/notification/NotificationRecord;->calculateInitialImportance()I
-HSPLcom/android/server/notification/NotificationRecord;->calculateLights()Lcom/android/server/notification/NotificationRecord$Light;
-HSPLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J
-HSPLcom/android/server/notification/NotificationRecord;->calculateSound()Landroid/net/Uri;
-HSPLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V
-HSPLcom/android/server/notification/NotificationRecord;->calculateVibration()[J
-HSPLcom/android/server/notification/NotificationRecord;->copyRankingInformation(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationRecord;->dump(Landroid/util/proto/ProtoOutputStream;JZI)V
-PLcom/android/server/notification/NotificationRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/content/Context;Z)V
-PLcom/android/server/notification/NotificationRecord;->formatRemoteViews(Landroid/widget/RemoteViews;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->updateLightsLocked()V
+PLcom/android/server/notification/NotificationManagerService;->updateNotificationPulse()V
+HPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->writePolicyXml(Ljava/io/OutputStream;ZI)V
+PLcom/android/server/notification/NotificationManagerService;->writeSecureNotificationsPolicy(Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/notification/NotificationRecord$Light;-><init>(III)V
+PLcom/android/server/notification/NotificationRecord;-><clinit>()V
+PLcom/android/server/notification/NotificationRecord;-><init>(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationRecord;->addAdjustment(Landroid/service/notification/Adjustment;)V
+HPLcom/android/server/notification/NotificationRecord;->applyAdjustments()V
+PLcom/android/server/notification/NotificationRecord;->calculateAttributes()Landroid/media/AudioAttributes;
+PLcom/android/server/notification/NotificationRecord;->calculateGrantableUris()V
+HPLcom/android/server/notification/NotificationRecord;->calculateImportance()V
+HPLcom/android/server/notification/NotificationRecord;->calculateInitialImportance()I
+PLcom/android/server/notification/NotificationRecord;->calculateLights()Lcom/android/server/notification/NotificationRecord$Light;
+PLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J
+PLcom/android/server/notification/NotificationRecord;->calculateSound()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V
+HPLcom/android/server/notification/NotificationRecord;->calculateVibration()[J
+PLcom/android/server/notification/NotificationRecord;->canBubble()Z
+PLcom/android/server/notification/NotificationRecord;->canShowBadge()Z
+PLcom/android/server/notification/NotificationRecord;->copyRankingInformation(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationRecord;->getAudioAttributes()Landroid/media/AudioAttributes;
+PLcom/android/server/notification/NotificationRecord;->getAuthoritativeRank()I
PLcom/android/server/notification/NotificationRecord;->getChannel()Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationRecord;->getCriticality()I
+PLcom/android/server/notification/NotificationRecord;->getExposureMs(J)I
+PLcom/android/server/notification/NotificationRecord;->getFlags()I
+PLcom/android/server/notification/NotificationRecord;->getFreshnessMs(J)I
+PLcom/android/server/notification/NotificationRecord;->getGlobalSortKey()Ljava/lang/String;
+PLcom/android/server/notification/NotificationRecord;->getGrantableUris()Landroid/util/ArraySet;
PLcom/android/server/notification/NotificationRecord;->getGroupKey()Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationRecord;->getImportanceExplanation()Ljava/lang/CharSequence;
-PLcom/android/server/notification/NotificationRecord;->getItemLogMaker()Landroid/metrics/LogMaker;
-HSPLcom/android/server/notification/NotificationRecord;->getLogMaker(J)Landroid/metrics/LogMaker;
-HSPLcom/android/server/notification/NotificationRecord;->getNotification()Landroid/app/Notification;
+PLcom/android/server/notification/NotificationRecord;->getImportance()I
+HPLcom/android/server/notification/NotificationRecord;->getImportanceExplanation()Ljava/lang/CharSequence;
+PLcom/android/server/notification/NotificationRecord;->getInterruptionMs(J)I
+PLcom/android/server/notification/NotificationRecord;->getKey()Ljava/lang/String;
+PLcom/android/server/notification/NotificationRecord;->getLastAudiblyAlertedMs()J
+PLcom/android/server/notification/NotificationRecord;->getLastIntrusive()J
+PLcom/android/server/notification/NotificationRecord;->getLifespanMs(J)I
+PLcom/android/server/notification/NotificationRecord;->getLogMaker()Landroid/metrics/LogMaker;
+PLcom/android/server/notification/NotificationRecord;->getLogMaker(J)Landroid/metrics/LogMaker;
+HPLcom/android/server/notification/NotificationRecord;->getNotification()Landroid/app/Notification;
+PLcom/android/server/notification/NotificationRecord;->getPackageVisibilityOverride()I
PLcom/android/server/notification/NotificationRecord;->getPeopleOverride()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationRecord;->getSmartReplies()Ljava/util/ArrayList;
PLcom/android/server/notification/NotificationRecord;->getSnoozeCriteria()Ljava/util/ArrayList;
-HSPLcom/android/server/notification/NotificationRecord;->getUserId()I
-PLcom/android/server/notification/NotificationRecord;->idDebugString(Landroid/content/Context;Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationRecord;->recordDismissalSentiment(I)V
-PLcom/android/server/notification/NotificationRecord;->recordDismissalSurface(I)V
-HSPLcom/android/server/notification/NotificationRecord;->setInterruptive(Z)V
+PLcom/android/server/notification/NotificationRecord;->getSound()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationRecord;->getSuppressedVisualEffects()I
+PLcom/android/server/notification/NotificationRecord;->getSystemGeneratedSmartActions()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationRecord;->getUid()I
+PLcom/android/server/notification/NotificationRecord;->getUser()Landroid/os/UserHandle;
+HPLcom/android/server/notification/NotificationRecord;->getUserId()I
+PLcom/android/server/notification/NotificationRecord;->getUserSentiment()I
+PLcom/android/server/notification/NotificationRecord;->getVibration()[J
+PLcom/android/server/notification/NotificationRecord;->hasBeenVisiblyExpanded()Z
+PLcom/android/server/notification/NotificationRecord;->hasRecordedInterruption()Z
+HPLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationRecord;->isHidden()Z
+PLcom/android/server/notification/NotificationRecord;->isIntercepted()Z
+PLcom/android/server/notification/NotificationRecord;->isInterruptive()Z
+PLcom/android/server/notification/NotificationRecord;->isPreChannelsNotification()Z
+PLcom/android/server/notification/NotificationRecord;->isProxied()Z
+PLcom/android/server/notification/NotificationRecord;->isRecentlyIntrusive()Z
+PLcom/android/server/notification/NotificationRecord;->isSeen()Z
+PLcom/android/server/notification/NotificationRecord;->lambda$calculateGrantableUris$0$NotificationRecord(Landroid/net/Uri;)V
+PLcom/android/server/notification/NotificationRecord;->setAllowBubble(Z)V
+PLcom/android/server/notification/NotificationRecord;->setAudiblyAlerted(Z)V
+PLcom/android/server/notification/NotificationRecord;->setAuthoritativeRank(I)V
+PLcom/android/server/notification/NotificationRecord;->setGlobalSortKey(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationRecord;->setHidden(Z)V
+PLcom/android/server/notification/NotificationRecord;->setIntercepted(Z)Z
+PLcom/android/server/notification/NotificationRecord;->setInterruptive(Z)V
+HPLcom/android/server/notification/NotificationRecord;->setIsAppImportanceLocked(Z)V
+PLcom/android/server/notification/NotificationRecord;->setPackagePriority(I)V
+PLcom/android/server/notification/NotificationRecord;->setPackageVisibilityOverride(I)V
+PLcom/android/server/notification/NotificationRecord;->setRecentlyIntrusive(Z)V
+PLcom/android/server/notification/NotificationRecord;->setRecordedInterruption(Z)V
+PLcom/android/server/notification/NotificationRecord;->setSeen()V
+PLcom/android/server/notification/NotificationRecord;->setShowBadge(Z)V
+PLcom/android/server/notification/NotificationRecord;->setSuppressedVisualEffects(I)V
+PLcom/android/server/notification/NotificationRecord;->setSystemImportance(I)V
PLcom/android/server/notification/NotificationRecord;->setVisibility(ZII)V
-PLcom/android/server/notification/NotificationRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;Z)V
-PLcom/android/server/notification/NotificationUsageStats$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->dumpJson()Lorg/json/JSONObject;
-PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->emit()V
-PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getEnqueueRate()F
-HSPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getEnqueueRate(J)F
-PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getPrevious()Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
-HSPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->isAlertRateLimited()Z
-PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->maybeCount(Ljava/lang/String;I)V
-HPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->toStringWithIndent(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->updateInterarrivalEstimate(J)V
-HSPLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->increment(I)V
-PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->maybeCount(Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;)V
-PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->maybePut(Lorg/json/JSONObject;Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;)V
-PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->toString()Ljava/lang/String;
-PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->update(Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;-><init>(Landroid/content/Context;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->dumpJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONObject;
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->getMidnightMs()J
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->jsonPostFrequencies(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONArray;
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logClicked(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logDismissed(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logPosted(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logRemoved(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->printPostFrequencies(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->pruneIfNecessary(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putNotificationDetails(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putPosttimeVisibility(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->writeEvent(JILcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;-><init>()V
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->finish()V
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->getCurrentAirtimeExpandedMs()J
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->getCurrentAirtimeMs()J
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->getCurrentPosttimeMs()J
+PLcom/android/server/notification/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;Z)V
+PLcom/android/server/notification/NotificationUsageStats$1;-><init>(Lcom/android/server/notification/NotificationUsageStats;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->isAlertRateLimited()Z
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->updateInterarrivalEstimate(J)V
+PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;-><clinit>()V
+PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;-><init>(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->increment(I)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;-><init>(Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;-><init>(Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->access$000(Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;JILcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logPosted(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->pruneIfNecessary(Landroid/database/sqlite/SQLiteDatabase;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putNotificationDetails(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putNotificationIdentifiers(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putPosttimeVisibility(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->writeEvent(JILcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;-><init>()V
PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->hasBeenVisiblyExpanded()Z
-PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onClick()V
-PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onDismiss()V
-PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onExpansionChanged(ZZ)V
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onRemoved()V
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onVisibilityChanged(Z)V
-PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->toString()Ljava/lang/String;
-HSPLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateFrom(Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;)V
+PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onVisibilityChanged(Z)V
+PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateFrom(Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;)V
PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateVisiblyExpandedStats()V
-HSPLcom/android/server/notification/NotificationUsageStats;-><init>(Landroid/content/Context;)V
-PLcom/android/server/notification/NotificationUsageStats;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/NotificationUsageStats;->dumpJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONObject;
-PLcom/android/server/notification/NotificationUsageStats;->emit()V
-HSPLcom/android/server/notification/NotificationUsageStats;->getAppEnqueueRate(Ljava/lang/String;)F
-HSPLcom/android/server/notification/NotificationUsageStats;->isAlertRateLimited(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationUsageStats;->registerBlocked(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationUsageStats;->registerClickedByUser(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationUsageStats;->registerDismissedByUser(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByApp(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats;-><clinit>()V
+PLcom/android/server/notification/NotificationUsageStats;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Lcom/android/server/notification/NotificationRecord;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+PLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Ljava/lang/String;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+PLcom/android/server/notification/NotificationUsageStats;->getAppEnqueueRate(Ljava/lang/String;)F
+PLcom/android/server/notification/NotificationUsageStats;->getOrCreateAggregatedStatsLocked(Ljava/lang/String;)Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+PLcom/android/server/notification/NotificationUsageStats;->isAlertRateLimited(Ljava/lang/String;)Z
+HPLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByApp(Ljava/lang/String;)V
PLcom/android/server/notification/NotificationUsageStats;->registerOverCountQuota(Ljava/lang/String;)V
PLcom/android/server/notification/NotificationUsageStats;->registerOverRateQuota(Ljava/lang/String;)V
-HSPLcom/android/server/notification/NotificationUsageStats;->registerPeopleAffinity(Lcom/android/server/notification/NotificationRecord;ZZZ)V
-HSPLcom/android/server/notification/NotificationUsageStats;->registerPostedByApp(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationUsageStats;->registerRemovedByApp(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>()V
-HSPLcom/android/server/notification/PreferencesHelper;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManager;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/PreferencesHelper;->areBubblesAllowed(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/PreferencesHelper;->badgingEnabled(Landroid/os/UserHandle;)Z
-HSPLcom/android/server/notification/PreferencesHelper;->bubblesEnabled(Landroid/os/UserHandle;)Z
-HSPLcom/android/server/notification/PreferencesHelper;->canShowBadge(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/PreferencesHelper;->clearLockedFields(Landroid/app/NotificationChannel;)V
-HSPLcom/android/server/notification/PreferencesHelper;->createDefaultChannelIfNeeded(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)V
-HSPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZ)V
+HPLcom/android/server/notification/NotificationUsageStats;->registerPeopleAffinity(Lcom/android/server/notification/NotificationRecord;ZZZ)V
+PLcom/android/server/notification/NotificationUsageStats;->registerPostedByApp(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats;->registerRemovedByApp(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats;->releaseAggregatedStatsLocked([Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;)V
+PLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>()V
+PLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>(Lcom/android/server/notification/PreferencesHelper$1;)V
+PLcom/android/server/notification/PreferencesHelper;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManager;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/ZenModeHelper;)V
+HPLcom/android/server/notification/PreferencesHelper;->areBubblesAllowed(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/PreferencesHelper;->badgingEnabled(Landroid/os/UserHandle;)Z
+PLcom/android/server/notification/PreferencesHelper;->bubblesEnabled()Z
+HPLcom/android/server/notification/PreferencesHelper;->canShowBadge(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/PreferencesHelper;->channelIsLiveLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;Landroid/app/NotificationChannel;)Z
+PLcom/android/server/notification/PreferencesHelper;->createDefaultChannelIfNeededLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
+HPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZ)Z
PLcom/android/server/notification/PreferencesHelper;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;Z)V
-HSPLcom/android/server/notification/PreferencesHelper;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/notification/PreferencesHelper;->deleteNotificationChannelGroup(Ljava/lang/String;ILjava/lang/String;)Ljava/util/List;
-PLcom/android/server/notification/PreferencesHelper;->dump(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/PreferencesHelper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/PreferencesHelper;->dumpBansJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONArray;
-PLcom/android/server/notification/PreferencesHelper;->dumpChannelsJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONArray;
-PLcom/android/server/notification/PreferencesHelper;->dumpJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONObject;
-PLcom/android/server/notification/PreferencesHelper;->dumpPackagePreferencess(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/notification/NotificationManagerService$DumpFilter;Landroid/util/ArrayMap;)V
-PLcom/android/server/notification/PreferencesHelper;->dumpPackagePreferencess(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;Landroid/util/ArrayMap;)V
+PLcom/android/server/notification/PreferencesHelper;->deleteDefaultChannelIfNeededLocked(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
+PLcom/android/server/notification/PreferencesHelper;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;)V
PLcom/android/server/notification/PreferencesHelper;->getAppsBypassingDndCount(I)I
-PLcom/android/server/notification/PreferencesHelper;->getBlockedChannelCount(Ljava/lang/String;I)I
-HSPLcom/android/server/notification/PreferencesHelper;->getChannelLog(Landroid/app/NotificationChannel;Ljava/lang/String;)Landroid/metrics/LogMaker;
-HSPLcom/android/server/notification/PreferencesHelper;->getImportance(Ljava/lang/String;I)I
-HSPLcom/android/server/notification/PreferencesHelper;->getIsAppImportanceLocked(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/PreferencesHelper;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/PreferencesHelper;->getChannelLog(Landroid/app/NotificationChannel;Ljava/lang/String;)Landroid/metrics/LogMaker;
+PLcom/android/server/notification/PreferencesHelper;->getImportance(Ljava/lang/String;I)I
+PLcom/android/server/notification/PreferencesHelper;->getIsAppImportanceLocked(Ljava/lang/String;I)Z
+HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
PLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
-PLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroupWithChannels(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;
+HPLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroupWithChannels(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;
PLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroups(Ljava/lang/String;IZZZ)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/notification/PreferencesHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferences(Ljava/lang/String;IIIIZZ)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
-PLcom/android/server/notification/PreferencesHelper;->getPackageBans()Ljava/util/Map;
-PLcom/android/server/notification/PreferencesHelper;->getPackageChannels()Ljava/util/Map;
-HSPLcom/android/server/notification/PreferencesHelper;->getPackagePreferences(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
-HSPLcom/android/server/notification/PreferencesHelper;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z
-HSPLcom/android/server/notification/PreferencesHelper;->lockChannelsForOEM([Ljava/lang/String;)V
-PLcom/android/server/notification/PreferencesHelper;->lockFieldsForUpdate(Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;)V
-HSPLcom/android/server/notification/PreferencesHelper;->onLocaleChanged(Landroid/content/Context;I)V
-HSPLcom/android/server/notification/PreferencesHelper;->onPackagesChanged(ZI[Ljava/lang/String;[I)V
-HSPLcom/android/server/notification/PreferencesHelper;->onUserSwitched(I)V
-HSPLcom/android/server/notification/PreferencesHelper;->onUserUnlocked(I)V
+PLcom/android/server/notification/PreferencesHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+HPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferencesLocked(Ljava/lang/String;IIIIIZZ)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+PLcom/android/server/notification/PreferencesHelper;->getPackagePreferencesLocked(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+HPLcom/android/server/notification/PreferencesHelper;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/notification/PreferencesHelper;->lockChannelsForOEM([Ljava/lang/String;)V
+HPLcom/android/server/notification/PreferencesHelper;->onPackagesChanged(ZI[Ljava/lang/String;[I)Z
+PLcom/android/server/notification/PreferencesHelper;->onUserSwitched(I)V
PLcom/android/server/notification/PreferencesHelper;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
-HSPLcom/android/server/notification/PreferencesHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
-HSPLcom/android/server/notification/PreferencesHelper;->shouldHideSilentStatusIcons()Z
-HSPLcom/android/server/notification/PreferencesHelper;->updateBadgingEnabled()V
-HSPLcom/android/server/notification/PreferencesHelper;->updateBubblesEnabled()V
-HSPLcom/android/server/notification/PreferencesHelper;->updateChannelsBypassingDnd(I)V
+HPLcom/android/server/notification/PreferencesHelper;->packagePreferencesKey(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/notification/PreferencesHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
+HPLcom/android/server/notification/PreferencesHelper;->shouldHaveDefaultChannel(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)Z
+PLcom/android/server/notification/PreferencesHelper;->shouldHideSilentStatusIcons()Z
+PLcom/android/server/notification/PreferencesHelper;->syncChannelsBypassingDnd(I)V
+HPLcom/android/server/notification/PreferencesHelper;->unrestoredPackageKey(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/notification/PreferencesHelper;->updateBadgingEnabled()V
+PLcom/android/server/notification/PreferencesHelper;->updateBubblesEnabled()V
+HPLcom/android/server/notification/PreferencesHelper;->updateChannelsBypassingDnd(I)V
+PLcom/android/server/notification/PreferencesHelper;->updateConfig()V
+HPLcom/android/server/notification/PreferencesHelper;->updateDefaultApps(ILandroid/util/ArraySet;Landroid/util/ArraySet;)V
PLcom/android/server/notification/PreferencesHelper;->updateNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
-HSPLcom/android/server/notification/PreferencesHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZI)V
-HSPLcom/android/server/notification/PriorityExtractor;-><init>()V
-HSPLcom/android/server/notification/PriorityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/PriorityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/PriorityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/RankingHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/NotificationUsageStats;[Ljava/lang/String;)V
-PLcom/android/server/notification/RankingHelper;->dump(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/RankingHelper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/RankingHelper;->findExtractor(Ljava/lang/Class;)Lcom/android/server/notification/NotificationSignalExtractor;
+PLcom/android/server/notification/PreferencesHelper;->wasBadgingForcedTrue(Landroid/content/Context;)Z
+HPLcom/android/server/notification/PreferencesHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZI)V
+PLcom/android/server/notification/PriorityExtractor;-><init>()V
+PLcom/android/server/notification/PriorityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/PriorityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/PriorityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/PropConfig;->getStringArray(Landroid/content/Context;Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/notification/RankingHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/NotificationUsageStats;[Ljava/lang/String;)V
+HPLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V
PLcom/android/server/notification/RankingHelper;->indexOf(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;)I
-HSPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V
+HPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V
PLcom/android/server/notification/RankingReconsideration;-><init>(Ljava/lang/String;J)V
-HSPLcom/android/server/notification/RankingReconsideration;->getDelay(Ljava/util/concurrent/TimeUnit;)J
+PLcom/android/server/notification/RankingReconsideration;->getDelay(Ljava/util/concurrent/TimeUnit;)J
PLcom/android/server/notification/RankingReconsideration;->getKey()Ljava/lang/String;
PLcom/android/server/notification/RankingReconsideration;->run()V
-HSPLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D
-HSPLcom/android/server/notification/RateEstimator;->getRate(J)F
-HSPLcom/android/server/notification/RateEstimator;->update(J)F
-HSPLcom/android/server/notification/ScheduleConditionProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;-><init>()V
-PLcom/android/server/notification/ScheduleConditionProvider;->addSnoozed(Landroid/net/Uri;)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
-HSPLcom/android/server/notification/ScheduleConditionProvider;->attachBase(Landroid/content/Context;)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->conditionSnoozed(Landroid/net/Uri;)Z
-HSPLcom/android/server/notification/ScheduleConditionProvider;->createCondition(Landroid/net/Uri;ILjava/lang/String;)Landroid/service/notification/Condition;
-PLcom/android/server/notification/ScheduleConditionProvider;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptionLocked(Landroid/net/Uri;Landroid/service/notification/ScheduleCalendar;JJ)Landroid/service/notification/Condition;
-HSPLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptions()V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->getComponent()Landroid/content/ComponentName;
-HSPLcom/android/server/notification/ScheduleConditionProvider;->getNextAlarm()J
-HSPLcom/android/server/notification/ScheduleConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
-HSPLcom/android/server/notification/ScheduleConditionProvider;->onBootComplete()V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->onConnected()V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->onSubscribe(Landroid/net/Uri;)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->readSnoozed()V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->removeSnoozed(Landroid/net/Uri;)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->setRegistered(Z)V
-HSPLcom/android/server/notification/ScheduleConditionProvider;->updateAlarm(JJ)V
-HSPLcom/android/server/notification/SnoozeHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/SnoozeHelper$Callback;Lcom/android/server/notification/ManagedServices$UserProfiles;)V
-HSPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;)Z
-HSPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/notification/SnoozeHelper;->cancel(IZ)Z
-PLcom/android/server/notification/SnoozeHelper;->dump(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
-PLcom/android/server/notification/SnoozeHelper;->getSnoozed()Ljava/util/List;
-HSPLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;
-HSPLcom/android/server/notification/SnoozeHelper;->isSnoozed(ILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/notification/RateEstimator;-><init>()V
+PLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D
+PLcom/android/server/notification/RateEstimator;->update(J)F
+PLcom/android/server/notification/ScheduleConditionProvider$1;-><init>(Lcom/android/server/notification/ScheduleConditionProvider;)V
+PLcom/android/server/notification/ScheduleConditionProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/notification/ScheduleConditionProvider;-><clinit>()V
+PLcom/android/server/notification/ScheduleConditionProvider;-><init>()V
+PLcom/android/server/notification/ScheduleConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+PLcom/android/server/notification/ScheduleConditionProvider;->attachBase(Landroid/content/Context;)V
+PLcom/android/server/notification/ScheduleConditionProvider;->conditionSnoozed(Landroid/net/Uri;)Z
+PLcom/android/server/notification/ScheduleConditionProvider;->createCondition(Landroid/net/Uri;ILjava/lang/String;)Landroid/service/notification/Condition;
+PLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptionLocked(Landroid/net/Uri;Landroid/service/notification/ScheduleCalendar;JJ)Landroid/service/notification/Condition;
+PLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptions()V
+PLcom/android/server/notification/ScheduleConditionProvider;->getComponent()Landroid/content/ComponentName;
+PLcom/android/server/notification/ScheduleConditionProvider;->getNextAlarm()J
+PLcom/android/server/notification/ScheduleConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+PLcom/android/server/notification/ScheduleConditionProvider;->onBootComplete()V
+PLcom/android/server/notification/ScheduleConditionProvider;->onConnected()V
+PLcom/android/server/notification/ScheduleConditionProvider;->onSubscribe(Landroid/net/Uri;)V
+PLcom/android/server/notification/ScheduleConditionProvider;->readSnoozed()V
+PLcom/android/server/notification/ScheduleConditionProvider;->removeSnoozed(Landroid/net/Uri;)V
+PLcom/android/server/notification/ScheduleConditionProvider;->saveSnoozedLocked()V
+PLcom/android/server/notification/ScheduleConditionProvider;->setRegistered(Z)V
+PLcom/android/server/notification/ScheduleConditionProvider;->updateAlarm(JJ)V
+PLcom/android/server/notification/SnoozeHelper$1;-><init>(Lcom/android/server/notification/SnoozeHelper;)V
+PLcom/android/server/notification/SnoozeHelper;-><clinit>()V
+PLcom/android/server/notification/SnoozeHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/SnoozeHelper$Callback;Lcom/android/server/notification/ManagedServices$UserProfiles;)V
+PLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;)Z
+PLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z
+HPLcom/android/server/notification/SnoozeHelper;->getSnoozeContextForUnpostedNotification(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/notification/SnoozeHelper;->getSnoozeTimeForUnpostedNotification(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/Long;
+PLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;
+PLcom/android/server/notification/SnoozeHelper;->isSnoozed(ILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/notification/SnoozeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;)V
+HPLcom/android/server/notification/SnoozeHelper;->removeRecord(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Landroid/util/ArrayMap;)Ljava/lang/Object;
PLcom/android/server/notification/SnoozeHelper;->repostGroupSummary(Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/notification/SystemConditionProviderService;->dumpUpcomingTime(Ljava/io/PrintWriter;Ljava/lang/String;JJ)V
+HPLcom/android/server/notification/SnoozeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/notification/SnoozeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/util/ArrayMap;Ljava/lang/String;Lcom/android/server/notification/SnoozeHelper$Inserter;)V
+PLcom/android/server/notification/SystemConditionProviderService;-><init>()V
+PLcom/android/server/notification/SystemConditionProviderService;->formatDuration(J)Ljava/lang/String;
+PLcom/android/server/notification/SystemConditionProviderService;->ts(J)Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople$1;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/os/Handler;)V
PLcom/android/server/notification/ValidateNotificationPeople$1;->onChange(ZLandroid/net/Uri;I)V
-PLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->getAffinity()F
-PLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->mergeContact(Landroid/database/Cursor;)V
+HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;-><init>()V
+HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->access$400(Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;)Z
+HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->getAffinity()F
+HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isExpired()Z
+HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isInvalid()Z
+HPLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;Ljava/util/LinkedList;)V
+HPLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;Ljava/util/LinkedList;Lcom/android/server/notification/ValidateNotificationPeople$1;)V
PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->applyChangesLocked(Lcom/android/server/notification/NotificationRecord;)V
PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->setRecord(Lcom/android/server/notification/NotificationRecord;)V
PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->work()V
-HSPLcom/android/server/notification/ValidateNotificationPeople;-><init>()V
-HSPLcom/android/server/notification/ValidateNotificationPeople;->combineLists([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/notification/ValidateNotificationPeople;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
-HSPLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeopleForKey(Landroid/os/Bundle;Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/notification/ValidateNotificationPeople;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/ValidateNotificationPeople;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ValidateNotificationPeople;-><clinit>()V
+PLcom/android/server/notification/ValidateNotificationPeople;-><init>()V
+HPLcom/android/server/notification/ValidateNotificationPeople;->combineLists([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/server/notification/ValidateNotificationPeople;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
+HPLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeopleForKey(Landroid/os/Bundle;Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/ValidateNotificationPeople;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
PLcom/android/server/notification/ValidateNotificationPeople;->searchContacts(Landroid/content/Context;Landroid/net/Uri;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
-HSPLcom/android/server/notification/ValidateNotificationPeople;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/ValidateNotificationPeople;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[F)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
-HSPLcom/android/server/notification/VisibilityExtractor;-><init>()V
-HSPLcom/android/server/notification/VisibilityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/VisibilityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/VisibilityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/ZenLog;->append(ILjava/lang/String;)V
-PLcom/android/server/notification/ZenLog;->componentListToString(Ljava/util/List;)Ljava/lang/String;
-PLcom/android/server/notification/ZenLog;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/notification/ZenLog;->traceConfig(Ljava/lang/String;Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)V
-PLcom/android/server/notification/ZenLog;->traceEffectsSuppressorChanged(Ljava/util/List;Ljava/util/List;J)V
-HSPLcom/android/server/notification/ZenLog;->traceIntercepted(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
-PLcom/android/server/notification/ZenLog;->traceListenerHintsChanged(III)V
-HSPLcom/android/server/notification/ZenLog;->traceNotIntercepted(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
-PLcom/android/server/notification/ZenLog;->traceSetNotificationPolicy(Ljava/lang/String;ILandroid/app/NotificationManager$Policy;)V
-HSPLcom/android/server/notification/ZenLog;->traceSetRingerModeInternal(IILjava/lang/String;II)V
-PLcom/android/server/notification/ZenLog;->typeToString(I)Ljava/lang/String;
-HSPLcom/android/server/notification/ZenModeConditions;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ConditionProviders;)V
-PLcom/android/server/notification/ZenModeConditions;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/notification/ZenModeConditions;->evaluateConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Z)V
-HSPLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/util/ArraySet;Landroid/content/ComponentName;Z)V
-HSPLcom/android/server/notification/ZenModeConditions;->onBootComplete()V
-HSPLcom/android/server/notification/ZenModeConditions;->onConditionChanged(Landroid/net/Uri;Landroid/service/notification/Condition;)V
-HSPLcom/android/server/notification/ZenModeConditions;->onServiceAdded(Landroid/content/ComponentName;)V
-HSPLcom/android/server/notification/ZenModeConditions;->onUserSwitched()V
-HSPLcom/android/server/notification/ZenModeConditions;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-HSPLcom/android/server/notification/ZenModeExtractor;-><init>()V
-HSPLcom/android/server/notification/ZenModeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-HSPLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HSPLcom/android/server/notification/ZenModeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-HSPLcom/android/server/notification/ZenModeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-HSPLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>(Lcom/android/server/notification/ZenModeFiltering$1;)V
-PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->cleanUp(Landroid/util/ArrayMap;J)V
-PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->isRepeat(Landroid/content/Context;Landroid/os/Bundle;)Z
+PLcom/android/server/notification/ValidateNotificationPeople;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/ValidateNotificationPeople;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+HPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+HPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[F)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
+PLcom/android/server/notification/VisibilityExtractor;-><init>()V
+PLcom/android/server/notification/VisibilityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/VisibilityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/VisibilityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenLog;-><clinit>()V
+PLcom/android/server/notification/ZenLog;->append(ILjava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->subscribeResult(Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->traceConfig(Ljava/lang/String;Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)V
+PLcom/android/server/notification/ZenLog;->traceIntercepted(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceSetConsolidatedZenPolicy(Landroid/app/NotificationManager$Policy;Ljava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceSetRingerModeInternal(IILjava/lang/String;II)V
+PLcom/android/server/notification/ZenLog;->traceSetZenMode(ILjava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceSubscribe(Landroid/net/Uri;Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)V
+PLcom/android/server/notification/ZenLog;->traceUnsubscribe(Landroid/net/Uri;Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)V
+PLcom/android/server/notification/ZenLog;->zenModeToString(I)Ljava/lang/String;
+PLcom/android/server/notification/ZenModeConditions;-><clinit>()V
+PLcom/android/server/notification/ZenModeConditions;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ConditionProviders;)V
+PLcom/android/server/notification/ZenModeConditions;->evaluateConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/util/ArraySet;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeConditions;->onBootComplete()V
+PLcom/android/server/notification/ZenModeConditions;->onConditionChanged(Landroid/net/Uri;Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ZenModeConditions;->onServiceAdded(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/ZenModeConditions;->onUserSwitched()V
+PLcom/android/server/notification/ZenModeConditions;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+PLcom/android/server/notification/ZenModeExtractor;-><clinit>()V
+PLcom/android/server/notification/ZenModeExtractor;-><init>()V
+PLcom/android/server/notification/ZenModeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+HPLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ZenModeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+PLcom/android/server/notification/ZenModeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>()V
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>(Lcom/android/server/notification/ZenModeFiltering$1;)V
PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->peopleString(Landroid/os/Bundle;)Ljava/lang/String;
PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->recordCall(Landroid/content/Context;Landroid/os/Bundle;)V
-PLcom/android/server/notification/ZenModeFiltering;->audienceMatches(IF)Z
-PLcom/android/server/notification/ZenModeFiltering;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/notification/ZenModeFiltering;->isCall(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/ZenModeFiltering;->isDefaultPhoneApp(Ljava/lang/String;)Z
-HSPLcom/android/server/notification/ZenModeFiltering;->isMedia(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/ZenModeFiltering;->isMessage(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/ZenModeFiltering;->isSystem(Lcom/android/server/notification/NotificationRecord;)Z
-PLcom/android/server/notification/ZenModeFiltering;->matchesCallFilter(Landroid/content/Context;ILandroid/app/NotificationManager$Policy;Landroid/os/UserHandle;Landroid/os/Bundle;Lcom/android/server/notification/ValidateNotificationPeople;IF)Z
+PLcom/android/server/notification/ZenModeFiltering;-><clinit>()V
+PLcom/android/server/notification/ZenModeFiltering;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/ZenModeFiltering;->isCall(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeFiltering;->isDefaultPhoneApp(Ljava/lang/String;)Z
PLcom/android/server/notification/ZenModeFiltering;->recordCall(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/ZenModeFiltering;->shouldIntercept(ILandroid/app/NotificationManager$Policy;Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/ZenModeHelper$Callback;->onConsolidatedPolicyChanged()V
-HSPLcom/android/server/notification/ZenModeHelper$Callback;->onPolicyChanged()V
-HSPLcom/android/server/notification/ZenModeHelper$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/notification/ZenModeHelper$Metrics;->emitDndType()V
-HSPLcom/android/server/notification/ZenModeHelper$Metrics;->emitRules()V
-HSPLcom/android/server/notification/ZenModeHelper$Metrics;->emitZenMode()V
-HSPLcom/android/server/notification/ZenModeHelper$Metrics;->onConfigChanged()V
-HSPLcom/android/server/notification/ZenModeHelper$Metrics;->onZenModeChanged()V
-HSPLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
-HSPLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
-PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->toString()Ljava/lang/String;
-HSPLcom/android/server/notification/ZenModeHelper$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/notification/ZenModeHelper$SettingsObserver;->update(Landroid/net/Uri;)V
-HSPLcom/android/server/notification/ZenModeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/notification/ConditionProviders;)V
-HSPLcom/android/server/notification/ZenModeHelper;->addCallback(Lcom/android/server/notification/ZenModeHelper$Callback;)V
-HSPLcom/android/server/notification/ZenModeHelper;->applyRestrictions()V
-HSPLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZI)V
-HSPLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZII)V
-HSPLcom/android/server/notification/ZenModeHelper;->applyZenToRingerMode()V
-HSPLcom/android/server/notification/ZenModeHelper;->canManageAutomaticZenRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->cleanUpZenRules()V
-HSPLcom/android/server/notification/ZenModeHelper;->computeZenMode()I
-HSPLcom/android/server/notification/ZenModeHelper;->createAutomaticZenRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Landroid/app/AutomaticZenRule;
-PLcom/android/server/notification/ZenModeHelper;->dump(Landroid/util/proto/ProtoOutputStream;)V
-PLcom/android/server/notification/ZenModeHelper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/notification/ZenModeHelper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/service/notification/ZenModeConfig;)V
-HSPLcom/android/server/notification/ZenModeHelper;->evaluateZenMode(Ljava/lang/String;Z)V
-HSPLcom/android/server/notification/ZenModeHelper;->findMatchingRule(Landroid/service/notification/ZenModeConfig;Landroid/net/Uri;Landroid/service/notification/Condition;)Landroid/service/notification/ZenModeConfig$ZenRule;
-HSPLcom/android/server/notification/ZenModeHelper;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
-HSPLcom/android/server/notification/ZenModeHelper;->getConfig()Landroid/service/notification/ZenModeConfig;
-HSPLcom/android/server/notification/ZenModeHelper;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
-HSPLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
-PLcom/android/server/notification/ZenModeHelper;->getSuppressedEffects()J
-HSPLcom/android/server/notification/ZenModeHelper;->getZenMode()I
-HSPLcom/android/server/notification/ZenModeHelper;->getZenModeListenerInterruptionFilter()I
-HSPLcom/android/server/notification/ZenModeHelper;->getZenRules()Ljava/util/List;
-HSPLcom/android/server/notification/ZenModeHelper;->initZenMode()V
-HSPLcom/android/server/notification/ZenModeHelper;->isCall(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->loadConfigForUser(ILjava/lang/String;)V
-PLcom/android/server/notification/ZenModeHelper;->matchesCallFilter(Landroid/os/UserHandle;Landroid/os/Bundle;Lcom/android/server/notification/ValidateNotificationPeople;IF)Z
-HSPLcom/android/server/notification/ZenModeHelper;->onSystemReady()V
-HSPLcom/android/server/notification/ZenModeHelper;->onUserSwitched(I)V
-HSPLcom/android/server/notification/ZenModeHelper;->onUserUnlocked(I)V
-HSPLcom/android/server/notification/ZenModeHelper;->populateZenRule(Landroid/app/AutomaticZenRule;Landroid/service/notification/ZenModeConfig$ZenRule;Z)V
-HSPLcom/android/server/notification/ZenModeHelper;->readDefaultConfig(Landroid/content/res/Resources;)Landroid/service/notification/ZenModeConfig;
-HSPLcom/android/server/notification/ZenModeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
-PLcom/android/server/notification/ZenModeHelper;->recordCaller(Lcom/android/server/notification/NotificationRecord;)V
-HSPLcom/android/server/notification/ZenModeHelper;->removeAutomaticZenRules(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->setAutomaticZenRuleState(Landroid/net/Uri;Landroid/service/notification/Condition;)V
-HSPLcom/android/server/notification/ZenModeHelper;->setConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)Z
-PLcom/android/server/notification/ZenModeHelper;->setManualZenMode(ILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/notification/ZenModeHelper;->setManualZenMode(ILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper;->setNotificationPolicy(Landroid/app/NotificationManager$Policy;)V
-PLcom/android/server/notification/ZenModeHelper;->setSuppressedEffects(J)V
-HSPLcom/android/server/notification/ZenModeHelper;->setZenModeSetting(I)V
-HSPLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->showZenUpgradeNotification(I)V
-HSPLcom/android/server/notification/ZenModeHelper;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;Ljava/lang/String;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->updateConsolidatedPolicy(Ljava/lang/String;)V
-HSPLcom/android/server/notification/ZenModeHelper;->updateDefaultAutomaticRuleNames()V
-HSPLcom/android/server/notification/ZenModeHelper;->updateDefaultZenRules()V
-HSPLcom/android/server/notification/ZenModeHelper;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-HSPLcom/android/server/notification/ZenModeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLjava/lang/Integer;I)V
-PLcom/android/server/oemlock/-$$Lambda$VendorLock$HjegvthxXAHFarV_FukbaMGePGU;->onValues(IZ)V
-HSPLcom/android/server/oemlock/OemLockService$1;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/oemlock/OemLockService$2;->isOemUnlockAllowedByCarrier()Z
-PLcom/android/server/oemlock/OemLockService$2;->setOemUnlockAllowedByCarrier(Z[B)V
-HSPLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;Lcom/android/server/oemlock/OemLock;)V
-PLcom/android/server/oemlock/OemLockService;->enforceUserIsAdmin()V
-HSPLcom/android/server/oemlock/OemLockService;->onStart()V
-HSPLcom/android/server/oemlock/VendorLock;->getOemLockHalService()Landroid/hardware/oemlock/V1_0/IOemLock;
-PLcom/android/server/oemlock/VendorLock;->isOemUnlockAllowedByCarrier()Z
-PLcom/android/server/oemlock/VendorLock;->setOemUnlockAllowedByCarrier(Z[B)V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerService$OverlayChangeListener$u9oeN2C0PDMo0pYiLqfMBkwuMNA;->run()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerService$_WGEV7N0qhntbqqDW3A1O-TVv5o;->run()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$bX7CTrJVR3B_eQmD43OOHtRIxgw;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$mq-CHAn1jQBVquxuOUv0eQANHIY;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;->applyAsInt(Ljava/lang/Object;)I
-HSPLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;-><init>()V
-HSPLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;->get()Ljava/lang/Object;
-HSPLcom/android/server/om/IdmapManager;->calculateFulfilledPolicies(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;I)I
-HSPLcom/android/server/om/IdmapManager;->connectToIdmap2d()V
-HSPLcom/android/server/om/IdmapManager;->createIdmap(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;I)Z
-HSPLcom/android/server/om/IdmapManager;->enforceOverlayable(Landroid/content/pm/PackageInfo;)Z
-HSPLcom/android/server/om/IdmapManager;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/om/OverlayInfo;)Z
-HSPLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/pm/PackageInfo;I)Z
-PLcom/android/server/om/IdmapManager;->removeIdmap(Landroid/content/om/OverlayInfo;I)Z
-PLcom/android/server/om/OverlayManagerService$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/om/OverlayManagerService$1;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
+HPLcom/android/server/notification/ZenModeFiltering;->shouldIntercept(ILandroid/app/NotificationManager$Policy;Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeHelper$Callback;-><init>()V
+PLcom/android/server/notification/ZenModeHelper$Callback;->onAutomaticRuleStatusChanged(ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/notification/ZenModeHelper$Callback;->onConsolidatedPolicyChanged()V
+PLcom/android/server/notification/ZenModeHelper$Callback;->onPolicyChanged()V
+PLcom/android/server/notification/ZenModeHelper$H$ConfigMessageData;-><init>(Lcom/android/server/notification/ZenModeHelper$H;Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeHelper$H;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Looper;)V
+PLcom/android/server/notification/ZenModeHelper$H;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Looper;Lcom/android/server/notification/ZenModeHelper$1;)V
+PLcom/android/server/notification/ZenModeHelper$H;->access$200(Lcom/android/server/notification/ZenModeHelper$H;)V
+PLcom/android/server/notification/ZenModeHelper$H;->access$300(Lcom/android/server/notification/ZenModeHelper$H;Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeHelper$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/ZenModeHelper$H;->postApplyConfig(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeHelper$H;->postMetricsTimer()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;-><init>(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenModeHelper$Metrics;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ZenModeHelper$1;)V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emit()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emitDndType()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emitRules()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->emitZenMode()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->onConfigChanged()V
+PLcom/android/server/notification/ZenModeHelper$Metrics;->onZenModeChanged()V
+PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;-><init>(Lcom/android/server/notification/ZenModeHelper;)V
+PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
+PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Handler;)V
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->observe()V
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->update(Landroid/net/Uri;)V
+PLcom/android/server/notification/ZenModeHelper;-><clinit>()V
+PLcom/android/server/notification/ZenModeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/notification/ConditionProviders;)V
+PLcom/android/server/notification/ZenModeHelper;->access$1300(Lcom/android/server/notification/ZenModeHelper;Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeHelper;->access$500(Lcom/android/server/notification/ZenModeHelper;Ljava/lang/Integer;)V
+PLcom/android/server/notification/ZenModeHelper;->access$700(Lcom/android/server/notification/ZenModeHelper;)Landroid/content/Context;
+PLcom/android/server/notification/ZenModeHelper;->access$900(Lcom/android/server/notification/ZenModeHelper;)Lcom/android/server/notification/ZenModeHelper$H;
+PLcom/android/server/notification/ZenModeHelper;->addAutomaticZenRule(Landroid/app/AutomaticZenRule;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/notification/ZenModeHelper;->addCallback(Lcom/android/server/notification/ZenModeHelper$Callback;)V
+PLcom/android/server/notification/ZenModeHelper;->applyConfig(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)V
+PLcom/android/server/notification/ZenModeHelper;->applyCustomPolicy(Landroid/service/notification/ZenPolicy;Landroid/service/notification/ZenModeConfig$ZenRule;)V
+PLcom/android/server/notification/ZenModeHelper;->applyRestrictions()V
+PLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZZI)V
+HPLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZZII)V
+PLcom/android/server/notification/ZenModeHelper;->applyZenToRingerMode()V
+PLcom/android/server/notification/ZenModeHelper;->canManageAutomaticZenRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+PLcom/android/server/notification/ZenModeHelper;->cleanUpZenRules()V
+PLcom/android/server/notification/ZenModeHelper;->computeZenMode()I
+PLcom/android/server/notification/ZenModeHelper;->dispatchOnAutomaticRuleStatusChanged(ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/notification/ZenModeHelper;->dispatchOnConfigChanged()V
+PLcom/android/server/notification/ZenModeHelper;->dispatchOnConsolidatedPolicyChanged()V
+PLcom/android/server/notification/ZenModeHelper;->dispatchOnPolicyChanged()V
+PLcom/android/server/notification/ZenModeHelper;->evaluateZenMode(Ljava/lang/String;Z)V
+PLcom/android/server/notification/ZenModeHelper;->findMatchingRule(Landroid/service/notification/ZenModeConfig;Landroid/net/Uri;Landroid/service/notification/Condition;)Landroid/service/notification/ZenModeConfig$ZenRule;
+PLcom/android/server/notification/ZenModeHelper;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
+PLcom/android/server/notification/ZenModeHelper;->getConfig()Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/ZenModeHelper;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/ZenModeHelper;->getCurrentInstanceCount(Landroid/content/ComponentName;)I
+PLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy(Landroid/service/notification/ZenModeConfig;)Landroid/app/NotificationManager$Policy;
+PLcom/android/server/notification/ZenModeHelper;->getServiceInfo(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/notification/ZenModeHelper;->getZenMode()I
+PLcom/android/server/notification/ZenModeHelper;->getZenModeListenerInterruptionFilter()I
+PLcom/android/server/notification/ZenModeHelper;->getZenRules()Ljava/util/List;
+PLcom/android/server/notification/ZenModeHelper;->initZenMode()V
+PLcom/android/server/notification/ZenModeHelper;->isSystemRule(Landroid/app/AutomaticZenRule;)Z
+PLcom/android/server/notification/ZenModeHelper;->loadConfigForUser(ILjava/lang/String;)V
+PLcom/android/server/notification/ZenModeHelper;->onSystemReady()V
+PLcom/android/server/notification/ZenModeHelper;->onUserSwitched(I)V
+PLcom/android/server/notification/ZenModeHelper;->populateZenRule(Landroid/app/AutomaticZenRule;Landroid/service/notification/ZenModeConfig$ZenRule;Z)V
+PLcom/android/server/notification/ZenModeHelper;->readDefaultConfig(Landroid/content/res/Resources;)Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/ZenModeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
+PLcom/android/server/notification/ZenModeHelper;->removeAutomaticZenRule(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/notification/ZenModeHelper;->ruleMatches(Landroid/net/Uri;Landroid/service/notification/Condition;Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+PLcom/android/server/notification/ZenModeHelper;->setAutomaticZenRuleState(Landroid/net/Uri;Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ZenModeHelper;->setAutomaticZenRuleStateLocked(Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ZenModeHelper;->setConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Ljava/lang/String;)Z
+PLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)Z
+PLcom/android/server/notification/ZenModeHelper;->setPreviousRingerModeSetting(Ljava/lang/Integer;)V
+PLcom/android/server/notification/ZenModeHelper;->setPriorityOnlyDndExemptPackages([Ljava/lang/String;)V
+PLcom/android/server/notification/ZenModeHelper;->setZenModeSetting(I)V
+HPLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeHelper;->showZenUpgradeNotification(I)V
+PLcom/android/server/notification/ZenModeHelper;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;Ljava/lang/String;)Z
+PLcom/android/server/notification/ZenModeHelper;->updateConsolidatedPolicy(Ljava/lang/String;)V
+PLcom/android/server/notification/ZenModeHelper;->updateDefaultAutomaticRuleNames()V
+PLcom/android/server/notification/ZenModeHelper;->updateRingerModeAffectedStreams()V
+PLcom/android/server/notification/ZenModeHelper;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+PLcom/android/server/notification/ZenModeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLjava/lang/Integer;I)V
+PLcom/android/server/oemlock/OemLock;-><init>()V
+PLcom/android/server/oemlock/OemLockService$1;-><init>(Lcom/android/server/oemlock/OemLockService;)V
+PLcom/android/server/oemlock/OemLockService$1;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/oemlock/OemLockService$2;-><init>(Lcom/android/server/oemlock/OemLockService;)V
+PLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;Lcom/android/server/oemlock/OemLock;)V
+PLcom/android/server/oemlock/OemLockService;->getOemLock(Landroid/content/Context;)Lcom/android/server/oemlock/OemLock;
+PLcom/android/server/oemlock/OemLockService;->onStart()V
+PLcom/android/server/oemlock/VendorLock;-><init>(Landroid/content/Context;Landroid/hardware/oemlock/V1_0/IOemLock;)V
+PLcom/android/server/oemlock/VendorLock;->getOemLockHalService()Landroid/hardware/oemlock/V1_0/IOemLock;
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$Connection$4U-n0RSv1BPv15mvu8B8zXARcpk;-><init>(Lcom/android/server/om/IdmapDaemon$Connection;)V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$Connection$4U-n0RSv1BPv15mvu8B8zXARcpk;->run()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$hZvlb8B5bMAnD3h9mHLjOQXKSTI;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$hZvlb8B5bMAnD3h9mHLjOQXKSTI;-><init>()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$hZvlb8B5bMAnD3h9mHLjOQXKSTI;->binderDied()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$u_1qfM2VGzol3UUX0R4mwNZs9gY;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$u_1qfM2VGzol3UUX0R4mwNZs9gY;-><init>()V
+PLcom/android/server/om/-$$Lambda$IdmapDaemon$u_1qfM2VGzol3UUX0R4mwNZs9gY;->call()Ljava/lang/Object;
+PLcom/android/server/om/-$$Lambda$OverlayManagerService$OverlayChangeListener$u9oeN2C0PDMo0pYiLqfMBkwuMNA;-><init>(Lcom/android/server/om/OverlayManagerService$OverlayChangeListener;ILjava/lang/String;)V
+PLcom/android/server/om/-$$Lambda$OverlayManagerService$OverlayChangeListener$u9oeN2C0PDMo0pYiLqfMBkwuMNA;->run()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerService$_WGEV7N0qhntbqqDW3A1O-TVv5o;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/-$$Lambda$OverlayManagerService$_WGEV7N0qhntbqqDW3A1O-TVv5o;->run()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;-><init>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$Fjt465P6G89HQZERZFsOEjMbtXI;-><init>(I)V
+HPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$Fjt465P6G89HQZERZFsOEjMbtXI;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;-><init>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$L_Sj43p2Txm_KH-wT0lseBTVzh8;-><init>(Ljava/lang/String;)V
+HPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$L_Sj43p2Txm_KH-wT0lseBTVzh8;->test(Ljava/lang/Object;)Z
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;-><init>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;-><init>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;-><init>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;-><init>()V
+PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;-><clinit>()V
+PLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;-><init>()V
+PLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;->get()Ljava/lang/Object;
+PLcom/android/server/om/IdmapDaemon$Connection;-><init>(Lcom/android/server/om/IdmapDaemon;)V
+PLcom/android/server/om/IdmapDaemon$Connection;-><init>(Lcom/android/server/om/IdmapDaemon;Lcom/android/server/om/IdmapDaemon$1;)V
+PLcom/android/server/om/IdmapDaemon$Connection;->close()V
+PLcom/android/server/om/IdmapDaemon$Connection;->lambda$close$0$IdmapDaemon$Connection()V
+PLcom/android/server/om/IdmapDaemon;-><clinit>()V
+PLcom/android/server/om/IdmapDaemon;-><init>()V
+PLcom/android/server/om/IdmapDaemon;->access$000()Ljava/lang/Object;
+PLcom/android/server/om/IdmapDaemon;->access$100(Lcom/android/server/om/IdmapDaemon;)Ljava/util/concurrent/atomic/AtomicInteger;
+PLcom/android/server/om/IdmapDaemon;->access$200(Lcom/android/server/om/IdmapDaemon;)Landroid/os/IIdmap2;
+PLcom/android/server/om/IdmapDaemon;->access$202(Lcom/android/server/om/IdmapDaemon;Landroid/os/IIdmap2;)Landroid/os/IIdmap2;
+PLcom/android/server/om/IdmapDaemon;->access$300()V
+PLcom/android/server/om/IdmapDaemon;->connect()Lcom/android/server/om/IdmapDaemon$Connection;
+PLcom/android/server/om/IdmapDaemon;->createIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String;
+PLcom/android/server/om/IdmapDaemon;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/om/IdmapDaemon;->getInstance()Lcom/android/server/om/IdmapDaemon;
+PLcom/android/server/om/IdmapDaemon;->lambda$connect$0()Landroid/os/IBinder;
+PLcom/android/server/om/IdmapDaemon;->lambda$connect$1()V
+PLcom/android/server/om/IdmapDaemon;->startIdmapService()V
+PLcom/android/server/om/IdmapDaemon;->stopIdmapService()V
+PLcom/android/server/om/IdmapDaemon;->verifyIdmap(Ljava/lang/String;IZI)Z
+PLcom/android/server/om/IdmapManager;-><clinit>()V
+PLcom/android/server/om/IdmapManager;-><init>(Lcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;)V
+PLcom/android/server/om/IdmapManager;->calculateFulfilledPolicies(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;I)I
+PLcom/android/server/om/IdmapManager;->createIdmap(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;I)Z
+PLcom/android/server/om/IdmapManager;->enforceOverlayable(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/om/IdmapManager;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/pm/PackageInfo;I)Z
+PLcom/android/server/om/OverlayActorEnforcer;-><init>(Lcom/android/server/om/OverlayActorEnforcer$VerifyCallback;)V
+PLcom/android/server/om/OverlayManagerService$1;-><init>(Lcom/android/server/om/OverlayManagerService;)V
PLcom/android/server/om/OverlayManagerService$1;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/om/OverlayManagerService$1;->setEnabled(Ljava/lang/String;ZI)Z
-HSPLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->lambda$onOverlaysChanged$0$OverlayManagerService$OverlayChangeListener(ILjava/lang/String;)V
-HSPLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->onOverlaysChanged(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->dump(Ljava/io/PrintWriter;Z)V
-HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getOverlayPackages(I)Ljava/util/List;
-HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
+PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->lambda$onOverlaysChanged$0$OverlayManagerService$OverlayChangeListener(ILjava/lang/String;)V
+PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->onOverlaysChanged(Ljava/lang/String;I)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->cachePackageInfo(Ljava/lang/String;ILandroid/content/pm/PackageInfo;)V
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->forgetPackageInfo(Ljava/lang/String;I)V
+HPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getCachedPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getOverlayPackages(I)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
+PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageAdded(Ljava/lang/String;[I)V
-HSPLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageChanged(Ljava/lang/String;[I)V
-HSPLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageRemoved(Ljava/lang/String;[I)V
-PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageUpgraded(Ljava/lang/String;[I)V
-PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageUpgrading(Ljava/lang/String;[I)V
-HSPLcom/android/server/om/OverlayManagerService$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/om/OverlayManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;)V
-HSPLcom/android/server/om/OverlayManagerService;->getDefaultOverlayPackages()[Ljava/lang/String;
-HSPLcom/android/server/om/OverlayManagerService;->initIfNeeded()V
-HSPLcom/android/server/om/OverlayManagerService;->lambda$schedulePersistSettings$0$OverlayManagerService()V
-HSPLcom/android/server/om/OverlayManagerService;->onStart()V
-HSPLcom/android/server/om/OverlayManagerService;->onSwitchUser(I)V
-HSPLcom/android/server/om/OverlayManagerService;->restoreSettings()V
-HSPLcom/android/server/om/OverlayManagerService;->updateAssets(ILjava/util/List;)V
-HSPLcom/android/server/om/OverlayManagerService;->updateOverlayPaths(ILjava/util/List;)V
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->calculateNewState(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;II)I
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->getEnabledOverlayPackageNames(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Landroid/content/pm/PackageInfo;Landroid/content/om/OverlayInfo;)Z
-PLcom/android/server/om/OverlayManagerServiceImpl;->onDump(Ljava/io/PrintWriter;)V
-PLcom/android/server/om/OverlayManagerServiceImpl;->removeIdmapIfPossible(Landroid/content/om/OverlayInfo;)V
-PLcom/android/server/om/OverlayManagerServiceImpl;->setEnabled(Ljava/lang/String;ZI)Z
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateAllOverlaysForTarget(Ljava/lang/String;II)Z
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateOverlaysForUser(I)Ljava/util/ArrayList;
-HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Ljava/lang/String;Ljava/lang/String;II)Z
-HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->persist(Ljava/util/ArrayList;Ljava/io/OutputStream;)V
-HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/android/internal/util/FastXmlSerializer;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
-HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->restore(Ljava/util/ArrayList;Ljava/io/InputStream;)V
-HSPLcom/android/server/om/OverlayManagerSettings$Serializer;->restoreRow(Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
-HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZILjava/lang/String;)V
-HSPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getOverlayInfo()Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerSettings;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/om/OverlayManagerSettings;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
-HSPLcom/android/server/om/OverlayManagerSettings;->getOverlaysForUser(I)Landroid/util/ArrayMap;
-HSPLcom/android/server/om/OverlayManagerSettings;->init(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;)V
-HSPLcom/android/server/om/OverlayManagerSettings;->select(Ljava/lang/String;I)I
-PLcom/android/server/om/OverlayManagerSettings;->setEnabled(Ljava/lang/String;IZ)Z
-HSPLcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;->run()V
-HSPLcom/android/server/os/BugreportManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/os/BugreportManagerService;->onStart()V
-HSPLcom/android/server/os/BugreportManagerServiceImpl;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerial()Ljava/lang/String;
-PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerialForPackage(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageChanged(Ljava/lang/String;[I)V
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageReplaced(Ljava/lang/String;[I)V
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageReplacing(Ljava/lang/String;[I)V
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V
+PLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
+PLcom/android/server/om/OverlayManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/om/OverlayManagerService;->access$400(Lcom/android/server/om/OverlayManagerService;)Ljava/lang/Object;
+PLcom/android/server/om/OverlayManagerService;->access$500(Lcom/android/server/om/OverlayManagerService;)Lcom/android/server/om/OverlayManagerService$PackageManagerHelper;
+PLcom/android/server/om/OverlayManagerService;->access$600(Lcom/android/server/om/OverlayManagerService;)Lcom/android/server/om/OverlayManagerServiceImpl;
+PLcom/android/server/om/OverlayManagerService;->getDefaultOverlayPackages()[Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerService;->initIfNeeded()V
+PLcom/android/server/om/OverlayManagerService;->lambda$schedulePersistSettings$0$OverlayManagerService()V
+PLcom/android/server/om/OverlayManagerService;->onStart()V
+PLcom/android/server/om/OverlayManagerService;->onSwitchUser(I)V
+PLcom/android/server/om/OverlayManagerService;->restoreSettings()V
+PLcom/android/server/om/OverlayManagerService;->schedulePersistSettings()V
+PLcom/android/server/om/OverlayManagerService;->updateAssets(ILjava/util/List;)V
+PLcom/android/server/om/OverlayManagerService;->updateOverlayPaths(ILjava/util/List;)V
+PLcom/android/server/om/OverlayManagerServiceImpl;-><init>(Lcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;Lcom/android/server/om/IdmapManager;Lcom/android/server/om/OverlayManagerSettings;[Ljava/lang/String;Lcom/android/server/om/OverlayManagerServiceImpl$OverlayChangeListener;)V
+PLcom/android/server/om/OverlayManagerServiceImpl;->calculateNewState(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;II)I
+PLcom/android/server/om/OverlayManagerServiceImpl;->getEnabledOverlayPackageNames(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerServiceImpl;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Landroid/content/pm/PackageInfo;Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/OverlayManagerServiceImpl;->onTargetPackageReplaced(Ljava/lang/String;I)V
+HPLcom/android/server/om/OverlayManagerServiceImpl;->updateAndRefreshOverlaysForTarget(Ljava/lang/String;II)V
+PLcom/android/server/om/OverlayManagerServiceImpl;->updateOverlaysForUser(I)Ljava/util/ArrayList;
+PLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Ljava/lang/String;Ljava/lang/String;II)Z
+PLcom/android/server/om/OverlayManagerSettings$BadKeyException;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/om/OverlayManagerSettings$Serializer;->persist(Ljava/util/ArrayList;Ljava/io/OutputStream;)V
+PLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/android/internal/util/FastXmlSerializer;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
+PLcom/android/server/om/OverlayManagerSettings$Serializer;->restore(Ljava/util/ArrayList;Ljava/io/InputStream;)V
+PLcom/android/server/om/OverlayManagerSettings$Serializer;->restoreRow(Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZILjava/lang/String;)V
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;)V
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$000(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Z)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$100(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1000(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+HPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1100(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+HPLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1600(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1700(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1800(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1900(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$200(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$2000(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$2100(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$300(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$600(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$700(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$800(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;I)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$900(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getOverlayInfo()Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getState()I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getTargetPackageName()Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getUserId()I
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->invalidateCache()V
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->isEnabled()Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->isStatic()Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setBaseCodePath(Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setCategory(Ljava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setEnabled(Z)Z
+PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setState(I)Z
+PLcom/android/server/om/OverlayManagerSettings;-><init>()V
+PLcom/android/server/om/OverlayManagerSettings;->getEnabled(Ljava/lang/String;I)Z
+PLcom/android/server/om/OverlayManagerSettings;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings;->getOverlaysForTarget(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/om/OverlayManagerSettings;->getOverlaysForUser(I)Landroid/util/ArrayMap;
+PLcom/android/server/om/OverlayManagerSettings;->getState(Ljava/lang/String;I)I
+PLcom/android/server/om/OverlayManagerSettings;->getUsers()[I
+PLcom/android/server/om/OverlayManagerSettings;->init(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;)V
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForTarget$0(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForTarget$1(Ljava/lang/Object;)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$2(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$3(Ljava/lang/Object;)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$4(Landroid/content/om/OverlayInfo;)Ljava/lang/String;
+PLcom/android/server/om/OverlayManagerSettings;->lambda$getUsers$5(Ljava/lang/Object;)I
+HPLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereTarget$11(Ljava/lang/String;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+HPLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereUser$10(ILcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
+PLcom/android/server/om/OverlayManagerSettings;->persist(Ljava/io/OutputStream;)V
+PLcom/android/server/om/OverlayManagerSettings;->remove(Ljava/lang/String;I)Z
+PLcom/android/server/om/OverlayManagerSettings;->restore(Ljava/io/InputStream;)V
+HPLcom/android/server/om/OverlayManagerSettings;->select(Ljava/lang/String;I)I
+PLcom/android/server/om/OverlayManagerSettings;->selectWhereTarget(Ljava/lang/String;I)Ljava/util/stream/Stream;
+PLcom/android/server/om/OverlayManagerSettings;->selectWhereUser(I)Ljava/util/stream/Stream;
+PLcom/android/server/om/OverlayManagerSettings;->setBaseCodePath(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings;->setCategory(Ljava/lang/String;ILjava/lang/String;)Z
+PLcom/android/server/om/OverlayManagerSettings;->setState(Ljava/lang/String;II)Z
+PLcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V
+PLcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;->run()V
+PLcom/android/server/os/BugreportManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/os/BugreportManagerService;->onStart()V
+PLcom/android/server/os/BugreportManagerServiceImpl;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerial()Ljava/lang/String;
+PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerialForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/server/os/DeviceIdentifiersPolicyService;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/os/DeviceIdentifiersPolicyService;->onStart()V
-HSPLcom/android/server/os/SchedulingPolicyService;-><init>()V
-HSPLcom/android/server/os/SchedulingPolicyService;->disableCpusetBoost(I)I
-HSPLcom/android/server/os/SchedulingPolicyService;->lambda$new$0$SchedulingPolicyService()V
-HSPLcom/android/server/os/SchedulingPolicyService;->requestPriority(IIIZ)I
-PLcom/android/server/pm/-$$Lambda$ApexManager$fDbC18mNN6grw85kgXXSUd-qPFA;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ApexManager$fDbC18mNN6grw85kgXXSUd-qPFA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$-KiE2NsUP--OYmoSDt9BwEQICZw;->get()Ljava/lang/Object;
-PLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;->get()Ljava/lang/Object;
+PLcom/android/server/os/SchedulingPolicyService$1;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V
+PLcom/android/server/os/SchedulingPolicyService;-><clinit>()V
+PLcom/android/server/os/SchedulingPolicyService;-><init>()V
+PLcom/android/server/os/SchedulingPolicyService;->disableCpusetBoost(I)I
+PLcom/android/server/os/SchedulingPolicyService;->isPermitted()Z
+PLcom/android/server/os/SchedulingPolicyService;->lambda$new$0$SchedulingPolicyService()V
+PLcom/android/server/os/SchedulingPolicyService;->requestPriority(IIIZ)I
+PLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$1$dbgKSgcSW-enjqvNAbeI3zvdw_E;-><init>(Lcom/android/server/pm/ApexManager$ApexManagerImpl$1;)V
+PLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$1$dbgKSgcSW-enjqvNAbeI3zvdw_E;->run()V
+PLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$48iOSmygOXJ0TezZTiFdfMqA4-U;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$48iOSmygOXJ0TezZTiFdfMqA4-U;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$48iOSmygOXJ0TezZTiFdfMqA4-U;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$pQnjdbWgnVRvdOuYJTmevPGwE8s;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$pQnjdbWgnVRvdOuYJTmevPGwE8s;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$pQnjdbWgnVRvdOuYJTmevPGwE8s;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$AppsFilter$FeatureConfigImpl$n15whgPRX7bGimHq6-7mgAskIKs;-><init>(Lcom/android/server/pm/AppsFilter$FeatureConfigImpl;)V
+PLcom/android/server/pm/-$$Lambda$AppsFilter$irFGkuh4mJ419pXBYKSj13ADTtA;-><init>(Landroid/util/SparseArray;Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/-$$Lambda$BWZi0Aa35BwEPzNacDfE_69TPS8;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$BWZi0Aa35BwEPzNacDfE_69TPS8;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$BWZi0Aa35BwEPzNacDfE_69TPS8;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;-><clinit>()V
HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/pm/-$$Lambda$FW40Da1L1EZJ_usDX0ew1qRMmtc;-><init>()V
-PLcom/android/server/pm/-$$Lambda$FW40Da1L1EZJ_usDX0ew1qRMmtc;->test(Ljava/lang/Object;)Z
+HPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
PLcom/android/server/pm/-$$Lambda$InstantAppRegistry$BuKCbLr_MGBazMPl54-pWTuGHYY;-><init>(J)V
+PLcom/android/server/pm/-$$Lambda$InstantAppRegistry$eaYsiecM_Rq6dliDvliwVtj695o;-><init>(Ljava/lang/String;)V
+PLcom/android/server/pm/-$$Lambda$InstantAppRegistry$o-Qxi7Gaam-yhhMK-IMWv499oME;-><init>(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/-$$Lambda$InstantAppResolverConnection$D-JKXi4qrYjnPQMOwj8UtfZenps;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V
PLcom/android/server/pm/-$$Lambda$InstantAppResolverConnection$D-JKXi4qrYjnPQMOwj8UtfZenps;->run()V
+PLcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;-><clinit>()V
PLcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;-><init>()V
PLcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$eTair5Mvr14v4M0nq9aQEW2cp-Y;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;Ljava/lang/String;I)V
PLcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$eTair5Mvr14v4M0nq9aQEW2cp-Y;->run()V
+PLcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$PR6SMHDNFTsnoL92MFZskM-zN8k;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Landroid/os/UserHandle;)V
+HPLcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$PR6SMHDNFTsnoL92MFZskM-zN8k;->test(I)Z
+PLcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;-><init>(I)V
PLcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;->test(I)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$4R9Zu2zflm9xqt9wOD23IIJnqLs;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$5hSpumAE5maEOgUlkeKZ3EJQUOU;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$9ZEk0HhVZsj2KQghpPxi82zlVQA;->runOrThrow()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$Iz1l7RVtATr5Ybl_zHeYuCbGMvA;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$JUo3M6zuPH65x1voKjSOJvOMHRw;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$JUo3M6zuPH65x1voKjSOJvOMHRw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$O5iApY07YeJyXA8KUFVcxpCf1NI;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$PackageParserCallback$xinvBJUpQse3J1IBBKjvYTIW8MQ;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$PackageParserCallback$xinvBJUpQse3J1IBBKjvYTIW8MQ;->applyAsInt(Ljava/lang/Object;)I
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$S4WxZjKnT0iu1kmEXSrs7BiizN4;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$ThH5vuBggVL5a6g8JW6gf8x0jT8;->runOrThrow()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$YHri1Lu_7U5nzv2NPItDUIuocnY;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$flUQp0qTsxUQY0aupDT6UsHb48I;->run()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$gBfmUwr3vJpLKJEYBEtR1vtJL-Q;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$gOdSzzOoHvFHJbKlJkAgg4fzOH8;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$gOdSzzOoHvFHJbKlJkAgg4fzOH8;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$rBFEstQVW677jj2Z8w3Ei9Li_HQ;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;->run()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$xJ_pDKPvSH0lgOwva8xeI2zJ2ns;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$xKFHvZAUir1Y_lClMWZh87peKs8;-><init>()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$QMV-UHbRIK26QMZL5iM27MchX7U;-><init>()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$QMV-UHbRIK26QMZL5iM27MchX7U;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ePZ6rsJ05hJ2glmOqcq1_jX6J8w;-><init>()V
-HPLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ePZ6rsJ05hJ2glmOqcq1_jX6J8w;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$fMBP3pPR7BB2hICieRxkdNG-3H8;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$nPt0Hym3GvYeWA2vwfOLFDxZmCE;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$p5q19y4-2x-i747j_hTNL1EMzt0;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$whx96xO50U3fax1NRe1upTcx9jc;-><init>()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$whx96xO50U3fax1NRe1upTcx9jc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$1hK7f4fIb3Je8SK1lZHBTWREMrU;-><init>(Ljava/io/FileFilter;)V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$1hK7f4fIb3Je8SK1lZHBTWREMrU;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$GP86uqflrxAhI39Monud3vZLkMo;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$GP86uqflrxAhI39Monud3vZLkMo;-><init>()V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$GP86uqflrxAhI39Monud3vZLkMo;->apply(I)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$O9LdsceQY8NfkziFc8PltN3Zew4;-><init>(Ljava/io/File;)V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$O9LdsceQY8NfkziFc8PltN3Zew4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$WxRUCOlFBsKbwiMNBR7ysMEZKp4;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$WxRUCOlFBsKbwiMNBR7ysMEZKp4;-><init>()V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerSession$WxRUCOlFBsKbwiMNBR7ysMEZKp4;->apply(I)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$-SI_LHw6Eiq8VNiFLLjJdCbGgSQ;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$-SI_LHw6Eiq8VNiFLLjJdCbGgSQ;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$3yxDU_uSU2kkdLuKkfPYVKvXKGw;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$3yxDU_uSU2kkdLuKkfPYVKvXKGw;-><init>()V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$3yxDU_uSU2kkdLuKkfPYVKvXKGw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$4lr9R3-Rfzq-VEptx-WWeRaSpd4;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$4lr9R3-Rfzq-VEptx-WWeRaSpd4;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$EQHzRzxse-rtXNIoVfzT15c8LHI;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$EQHzRzxse-rtXNIoVfzT15c8LHI;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$EQHzRzxse-rtXNIoVfzT15c8LHI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$GtPWetD7Djhni0I_euYRPxi9pjU;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$GtPWetD7Djhni0I_euYRPxi9pjU;->onInitialized(I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$J0eEFDuLDZBCGkS0UBLQaQGBMN8;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$J0eEFDuLDZBCGkS0UBLQaQGBMN8;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$JqISwjRG4Nrwn7K19yITMU1WH5g;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$KUTG4a_t__F9-jF9uKK4m5M6ED0;-><init>(I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$KUTG4a_t__F9-jF9uKK4m5M6ED0;->run()V
+HPLcom/android/server/pm/-$$Lambda$PackageManagerService$RoklvvEqbb0_WAziY4NuUNhrlUA;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$RoklvvEqbb0_WAziY4NuUNhrlUA;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$UqTOzDNpKPiIlaG4_AUlesB9I1E;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$UqTOzDNpKPiIlaG4_AUlesB9I1E;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$aXPYjiloRwQataUrx041SxBr5us;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/util/List;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$aXPYjiloRwQataUrx041SxBr5us;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$cHQqBPj5vgOw-P7yhrKC9Ssq27g;-><init>(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$cHQqBPj5vgOw-P7yhrKC9Ssq27g;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$f5l1_UOwACQPN6qixqBmzSJzDMw;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$f5l1_UOwACQPN6qixqBmzSJzDMw;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$hy2s_cJQR-eeozeSQuK1xEmJcOU;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$hy2s_cJQR-eeozeSQuK1xEmJcOU;->run()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$i6CpetYRHYknkq8R3n1zFsH2Qng;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$i6CpetYRHYknkq8R3n1zFsH2Qng;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$imyTLGZ0HLyacORSu0iPTteivzY;-><init>(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$imyTLGZ0HLyacORSu0iPTteivzY;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$xKD6SB7pISjc29qfmXIq5O_3OJw;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;ZLjava/lang/Object;)V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$xKD6SB7pISjc29qfmXIq5O_3OJw;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;-><clinit>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;-><init>()V
+HSPLcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;-><init>(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
HSPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;-><init>(Lcom/android/server/pm/ShortcutBitmapSaver;)V
PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;-><init>(Ljava/util/concurrent/CountDownLatch;)V
PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$rwmVVp6PnQCcurF7D6VzrdNqEdk;-><init>([B)V
PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$rwmVVp6PnQCcurF7D6VzrdNqEdk;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$stGgHzhh-NVWPgDSwmH2ybAWRE8;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$stGgHzhh-NVWPgDSwmH2ybAWRE8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$v6wMz6MRa9pgSnEDM_9bjvrLaKY;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$v6wMz6MRa9pgSnEDM_9bjvrLaKY;->accept(Ljava/io/File;)Z
-HSPLcom/android/server/pm/-$$Lambda$ShortcutPackage$ZN-r6tS0M7WKGK6nbXyJZPwNRGc;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;-><init>()V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/pm/-$$Lambda$ShortcutPackage$ZN-r6tS0M7WKGK6nbXyJZPwNRGc;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutPackage$ZN-r6tS0M7WKGK6nbXyJZPwNRGc;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/pm/-$$Lambda$ShortcutPackage$ibOAVgfKWMZFYSeVV_hLNx6jogk;-><init>(Lcom/android/server/pm/ShortcutPackage;)V
PLcom/android/server/pm/-$$Lambda$ShortcutPackage$ibOAVgfKWMZFYSeVV_hLNx6jogk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;->run()V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;-><init>(Lcom/android/server/pm/ShortcutService$3;I)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;->run()V
+HPLcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;-><init>(Lcom/android/server/pm/ShortcutService$3;II)V
+HPLcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$DzwraUeMWDwA0XDfFxd3sGOsA0E;-><init>(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;)V
PLcom/android/server/pm/-$$Lambda$ShortcutService$DzwraUeMWDwA0XDfFxd3sGOsA0E;->run()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$H1HFyb1U9E1-y03suEsi37_w-t0;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;-><init>(Lcom/android/server/pm/ShortcutService$LocalService;ILjava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$a6cj3oQpS-Z6FB4DytB0FytYmiM;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;-><init>(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZ)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;-><init>(Lcom/android/server/pm/ShortcutService$LocalService;ILjava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;-><init>(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZ)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;-><init>(Lcom/android/server/pm/ShortcutService;JI)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;->run()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;-><clinit>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;-><init>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$TVqBA9DN_h90eIcwrnmy7Mkl6jo;-><init>(Ljava/lang/String;I)V
PLcom/android/server/pm/-$$Lambda$ShortcutService$TVqBA9DN_h90eIcwrnmy7Mkl6jo;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;-><clinit>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;-><init>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$fCl_JbVpr187Fh4_6N-IxgnU68c;-><clinit>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$fCl_JbVpr187Fh4_6N-IxgnU68c;-><init>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$fCl_JbVpr187Fh4_6N-IxgnU68c;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$io6aQoSP1ibWQCoayRXJaxbmJvA;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$io6aQoSP1ibWQCoayRXJaxbmJvA;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$io6aQoSP1ibWQCoayRXJaxbmJvA;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$l8T8kXBB-Gktym0FoX_WiKj2Glc;-><clinit>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$l8T8kXBB-Gktym0FoX_WiKj2Glc;-><init>()V
PLcom/android/server/pm/-$$Lambda$ShortcutService$l8T8kXBB-Gktym0FoX_WiKj2Glc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$t1am7miIbc4iP6CfSL0gFgEsO0Y;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;IZ)V
PLcom/android/server/pm/-$$Lambda$ShortcutService$t1am7miIbc4iP6CfSL0gFgEsO0Y;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutService$y1mZhNAWeEp6GCbsOBAt4g-DS3s;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutUser$6rBk7xJFaM9dXyyKHFs-DCus0iM;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutUser$6rBk7xJFaM9dXyyKHFs-DCus0iM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutUser$XHWlvjfCvG1SoVwGHi3envhmtfM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$y1mZhNAWeEp6GCbsOBAt4g-DS3s;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;I)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$y1mZhNAWeEp6GCbsOBAt4g-DS3s;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutUser$XHWlvjfCvG1SoVwGHi3envhmtfM;-><init>(ILjava/lang/String;Ljava/util/function/Consumer;)V
+HPLcom/android/server/pm/-$$Lambda$ShortcutUser$XHWlvjfCvG1SoVwGHi3envhmtfM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;-><clinit>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;-><init>()V
PLcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;->run()V
+PLcom/android/server/pm/-$$Lambda$UserManagerService$s1AxethOTPU7NQ5LXxyP4etLk7E;-><init>(Landroid/os/IUserRestrictionsListener;)V
+PLcom/android/server/pm/-$$Lambda$UserManagerService$s1AxethOTPU7NQ5LXxyP4etLk7E;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;->run()V
+PLcom/android/server/pm/-$$Lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk;-><clinit>()V
PLcom/android/server/pm/-$$Lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk;-><init>()V
PLcom/android/server/pm/-$$Lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/AbstractStatsBase$1;-><init>(Lcom/android/server/pm/AbstractStatsBase;Ljava/lang/String;Ljava/lang/Object;)V
PLcom/android/server/pm/AbstractStatsBase$1;->run()V
HSPLcom/android/server/pm/AbstractStatsBase;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
HSPLcom/android/server/pm/AbstractStatsBase;->getFile()Landroid/util/AtomicFile;
-HSPLcom/android/server/pm/AbstractStatsBase;->maybeWriteAsync(Ljava/lang/Object;)Z
+PLcom/android/server/pm/AbstractStatsBase;->maybeWriteAsync(Ljava/lang/Object;)Z
HSPLcom/android/server/pm/AbstractStatsBase;->read(Ljava/lang/Object;)V
PLcom/android/server/pm/AbstractStatsBase;->writeImpl(Ljava/lang/Object;)V
-PLcom/android/server/pm/ApexManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/pm/ApexManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/ApexManager;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/pm/ApexManager;->getActivePackage(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/ApexManager;->getActivePackages()Ljava/util/Collection;
-PLcom/android/server/pm/ApexManager;->onBootCompleted()V
-PLcom/android/server/pm/ApexManager;->populateActivePackagesCacheIfNeeded()V
-HSPLcom/android/server/pm/ApexManager;->systemReady()V
+HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/io/File;Ljava/io/File;)V
+HSPLcom/android/server/pm/ApexManager$ActiveApexInfo;-><init>(Ljava/io/File;Ljava/io/File;Lcom/android/server/pm/ApexManager$1;)V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl$1;-><init>(Lcom/android/server/pm/ApexManager$ApexManagerImpl;)V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl$1;->lambda$onReceive$0$ApexManager$ApexManagerImpl$1()V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;-><init>(Landroid/content/Context;Landroid/apex/IApexService;)V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->access$100(Lcom/android/server/pm/ApexManager$ApexManagerImpl;)Landroid/content/Context;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->access$200(Lcom/android/server/pm/ApexManager$ApexManagerImpl;)V
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getActiveApexInfos()Ljava/util/List;
+HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->isActive(Landroid/content/pm/PackageInfo;)Z
+HPLcom/android/server/pm/ApexManager$ApexManagerImpl;->isApexPackage(Ljava/lang/String;)Z
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->isApexSupported()Z
+HSPLcom/android/server/pm/ApexManager$ApexManagerImpl;->lambda$getActiveApexInfos$0(Landroid/apex/ApexInfo;)Lcom/android/server/pm/ApexManager$ActiveApexInfo;
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->lambda$getActivePackages$1(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->populateAllPackagesCacheIfNeeded()V
+PLcom/android/server/pm/ApexManager$ApexManagerImpl;->systemReady()V
+HSPLcom/android/server/pm/ApexManager;-><init>()V
+HSPLcom/android/server/pm/ApexManager;->create(Landroid/content/Context;)Lcom/android/server/pm/ApexManager;
+HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;-><init>(Lcom/android/server/pm/PackageManagerService$Injector;)V
+HSPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;-><init>(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/AppsFilter$1;)V
+HPLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->isGloballyEnabled()Z
+PLcom/android/server/pm/AppsFilter$FeatureConfigImpl;->onSystemReady()V
+HSPLcom/android/server/pm/AppsFilter;-><init>(Lcom/android/server/pm/AppsFilter$FeatureConfig;[Ljava/lang/String;Z)V
+HSPLcom/android/server/pm/AppsFilter;->addPackage(Lcom/android/server/pm/PackageSetting;Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/AppsFilter;->canQueryViaIntent(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)Z
+HSPLcom/android/server/pm/AppsFilter;->create(Lcom/android/server/pm/PackageManagerService$Injector;)Lcom/android/server/pm/AppsFilter;
+PLcom/android/server/pm/AppsFilter;->dumpQueries(Ljava/io/PrintWriter;Lcom/android/server/pm/PackageManagerService;Ljava/lang/Integer;Lcom/android/server/pm/DumpState;[I)V
+HPLcom/android/server/pm/AppsFilter;->grantImplicitAccess(II)V
+PLcom/android/server/pm/AppsFilter;->onSystemReady()V
+HPLcom/android/server/pm/AppsFilter;->removePackage(Lcom/android/server/pm/PackageSetting;[ILandroid/util/ArrayMap;)V
+HPLcom/android/server/pm/AppsFilter;->shouldFilterApplication(ILcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;I)Z
+HPLcom/android/server/pm/AppsFilter;->shouldFilterApplicationInternal(ILcom/android/server/pm/SettingBase;Lcom/android/server/pm/PackageSetting;I)Z
+PLcom/android/server/pm/BackgroundDexOptService$1;-><init>(Lcom/android/server/pm/BackgroundDexOptService;Ljava/lang/String;Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)V
PLcom/android/server/pm/BackgroundDexOptService$1;->run()V
-PLcom/android/server/pm/BackgroundDexOptService$2;->run()V
+PLcom/android/server/pm/BackgroundDexOptService;-><clinit>()V
PLcom/android/server/pm/BackgroundDexOptService;-><init>()V
-PLcom/android/server/pm/BackgroundDexOptService;->abortIdleOptimizations(J)I
PLcom/android/server/pm/BackgroundDexOptService;->getBatteryLevel()I
-HSPLcom/android/server/pm/BackgroundDexOptService;->getDowngradeUnusedAppsThresholdInMillis()J
-PLcom/android/server/pm/BackgroundDexOptService;->idleOptimization(Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;Landroid/content/Context;)I
+PLcom/android/server/pm/BackgroundDexOptService;->getDowngradeUnusedAppsThresholdInMillis()J
+PLcom/android/server/pm/BackgroundDexOptService;->isBackgroundDexoptDisabled()Z
PLcom/android/server/pm/BackgroundDexOptService;->notifyPackageChanged(Ljava/lang/String;)V
PLcom/android/server/pm/BackgroundDexOptService;->notifyPinService(Landroid/util/ArraySet;)V
PLcom/android/server/pm/BackgroundDexOptService;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/pm/BackgroundDexOptService;->onStopJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/pm/BackgroundDexOptService;->optimizePackages(Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;JZ)I
PLcom/android/server/pm/BackgroundDexOptService;->postBootUpdate(Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)V
-PLcom/android/server/pm/BackgroundDexOptService;->reconcileSecondaryDexFiles(Lcom/android/server/pm/dex/DexManager;)I
-HSPLcom/android/server/pm/BackgroundDexOptService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/pm/BackgroundDexOptService;->trackPerformDexOpt(Ljava/lang/String;ZLjava/util/function/Supplier;)I
-PLcom/android/server/pm/CompilerStats$PackageStats;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/pm/CompilerStats$PackageStats;->getPackageName()Ljava/lang/String;
+PLcom/android/server/pm/BackgroundDexOptService;->schedule(Landroid/content/Context;)V
+HSPLcom/android/server/pm/CompilerStats$PackageStats;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/pm/CompilerStats$PackageStats;->getStoredPathFromCodePath(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/server/pm/CompilerStats$PackageStats;->setCompileTime(Ljava/lang/String;J)V
HSPLcom/android/server/pm/CompilerStats;-><init>()V
HSPLcom/android/server/pm/CompilerStats;->createPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
HSPLcom/android/server/pm/CompilerStats;->getOrCreatePackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
-PLcom/android/server/pm/CompilerStats;->getPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
-PLcom/android/server/pm/CompilerStats;->maybeWriteAsync()Z
HSPLcom/android/server/pm/CompilerStats;->read()V
HSPLcom/android/server/pm/CompilerStats;->read(Ljava/io/Reader;)Z
HSPLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Object;)V
HSPLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Void;)V
-PLcom/android/server/pm/CompilerStats;->write(Ljava/io/Writer;)V
-PLcom/android/server/pm/CompilerStats;->writeInternal(Ljava/lang/Object;)V
-PLcom/android/server/pm/CompilerStats;->writeInternal(Ljava/lang/Void;)V
+HSPLcom/android/server/pm/ComponentResolver$ActionIterGenerator;-><init>()V
HSPLcom/android/server/pm/ComponentResolver$ActionIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;-><init>()V
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;-><init>(Lcom/android/server/pm/ComponentResolver$1;)V
+PLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->access$300(Lcom/android/server/pm/ComponentResolver$ActivityIntentResolver;)Landroid/util/ArrayMap;
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->access$600(Lcom/android/server/pm/ComponentResolver$ActivityIntentResolver;Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;Ljava/util/List;)V
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->addActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;Ljava/util/List;)V
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/util/List;)Z
-PLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->dumpFilterLabel(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;I)V
-PLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->filterToLabel(Landroid/content/IntentFilter;)Ljava/lang/Object;
-HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
-HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isFilterStopped(Landroid/content/pm/PackageParser$ActivityIntentInfo;I)Z
-HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
+HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isFilterStopped(Landroid/content/pm/PackageParser$ActivityIntentInfo;I)Z
+HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newArray(I)[Landroid/content/pm/PackageParser$ActivityIntentInfo;
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newResult(Landroid/content/pm/PackageParser$ActivityIntentInfo;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->removeActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;)V
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->removeActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;)V
HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/pm/ComponentResolver$AuthoritiesIterGenerator;-><init>()V
HSPLcom/android/server/pm/ComponentResolver$AuthoritiesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+HSPLcom/android/server/pm/ComponentResolver$CategoriesIterGenerator;-><init>()V
HSPLcom/android/server/pm/ComponentResolver$CategoriesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
-PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->filterResults(Ljava/util/List;)V
-PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+HSPLcom/android/server/pm/ComponentResolver$IterGenerator;-><init>()V
+HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;-><init>()V
+HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;-><init>(Lcom/android/server/pm/ComponentResolver$1;)V
+HPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->access$400(Lcom/android/server/pm/ComponentResolver$ProviderIntentResolver;)Landroid/util/ArrayMap;
HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->addProvider(Landroid/content/pm/PackageParser$Provider;)V
-HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;Ljava/util/List;)Z
-PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->dumpFilterLabel(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;I)V
-PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->filterToLabel(Landroid/content/IntentFilter;)Ljava/lang/Object;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;Ljava/util/List;)Z
PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;II)Landroid/content/pm/ResolveInfo;
+HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newArray(I)[Landroid/content/pm/PackageParser$ProviderIntentInfo;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->removeProvider(Landroid/content/pm/PackageParser$Provider;)V
-HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->sortResults(Ljava/util/List;)V
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->removeProvider(Landroid/content/pm/PackageParser$Provider;)V
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/pm/ComponentResolver$SchemesIterGenerator;-><init>()V
HSPLcom/android/server/pm/ComponentResolver$SchemesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;-><init>()V
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;-><init>(Lcom/android/server/pm/ComponentResolver$1;)V
+PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->access$500(Lcom/android/server/pm/ComponentResolver$ServiceIntentResolver;)Landroid/util/ArrayMap;
HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->addService(Landroid/content/pm/PackageParser$Service;)V
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;Ljava/util/List;)Z
-PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->dumpFilterLabel(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;I)V
-PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->filterToLabel(Landroid/content/IntentFilter;)Ljava/lang/Object;
-PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
-PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isFilterStopped(Landroid/content/pm/PackageParser$ServiceIntentInfo;I)Z
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;Ljava/util/List;)Z
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/pm/PackageParser$ServiceIntentInfo;)Z
HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->removeService(Landroid/content/pm/PackageParser$Service;)V
-HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newArray(I)[Landroid/content/pm/PackageParser$ServiceIntentInfo;
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->removeService(Landroid/content/pm/PackageParser$Service;)V
+HPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->sortResults(Ljava/util/List;)V
+HSPLcom/android/server/pm/ComponentResolver;-><clinit>()V
HSPLcom/android/server/pm/ComponentResolver;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/content/pm/PackageManagerInternal;Ljava/lang/Object;)V
+HSPLcom/android/server/pm/ComponentResolver;->access$800()Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/ComponentResolver;->access$900()Landroid/content/pm/PackageManagerInternal;
HSPLcom/android/server/pm/ComponentResolver;->addActivitiesLocked(Landroid/content/pm/PackageParser$Package;Ljava/util/List;Z)V
HSPLcom/android/server/pm/ComponentResolver;->addAllComponents(Landroid/content/pm/PackageParser$Package;Z)V
HSPLcom/android/server/pm/ComponentResolver;->addProvidersLocked(Landroid/content/pm/PackageParser$Package;Z)V
@@ -10262,115 +11554,102 @@ HSPLcom/android/server/pm/ComponentResolver;->addServicesLocked(Landroid/content
HSPLcom/android/server/pm/ComponentResolver;->adjustPriority(Ljava/util/List;Landroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/lang/String;)V
PLcom/android/server/pm/ComponentResolver;->assertProvidersNotDefined(Landroid/content/pm/PackageParser$Package;)V
PLcom/android/server/pm/ComponentResolver;->assertProvidersNotDefinedLocked(Landroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/ComponentResolver;->dumpActivityResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
-PLcom/android/server/pm/ComponentResolver;->dumpContentProviders(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
-PLcom/android/server/pm/ComponentResolver;->dumpProviderResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
-PLcom/android/server/pm/ComponentResolver;->dumpReceiverResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
-PLcom/android/server/pm/ComponentResolver;->dumpServicePermissions(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
-PLcom/android/server/pm/ComponentResolver;->dumpServiceResolvers(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;Ljava/lang/String;)V
HSPLcom/android/server/pm/ComponentResolver;->findMatchingActivity(Ljava/util/List;Landroid/content/pm/ActivityInfo;)Landroid/content/pm/PackageParser$Activity;
HSPLcom/android/server/pm/ComponentResolver;->fixProtectedFilterPriorities()V
-HSPLcom/android/server/pm/ComponentResolver;->getActivity(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Activity;
+HPLcom/android/server/pm/ComponentResolver;->getActivity(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Activity;
HSPLcom/android/server/pm/ComponentResolver;->getIntentListSubset(Ljava/util/List;Lcom/android/server/pm/ComponentResolver$IterGenerator;Ljava/util/Iterator;)V
-PLcom/android/server/pm/ComponentResolver;->getProvider(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Provider;
-HSPLcom/android/server/pm/ComponentResolver;->getReceiver(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Activity;
-HSPLcom/android/server/pm/ComponentResolver;->getService(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Service;
-HSPLcom/android/server/pm/ComponentResolver;->isActivityDefined(Landroid/content/ComponentName;)Z
-HSPLcom/android/server/pm/ComponentResolver;->lambda$static$0(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I
+HPLcom/android/server/pm/ComponentResolver;->getProvider(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Provider;
+HPLcom/android/server/pm/ComponentResolver;->getReceiver(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Activity;
+HPLcom/android/server/pm/ComponentResolver;->getService(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Service;
+PLcom/android/server/pm/ComponentResolver;->isActivityDefined(Landroid/content/ComponentName;)Z
+HSPLcom/android/server/pm/ComponentResolver;->isProtectedAction(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
+HPLcom/android/server/pm/ComponentResolver;->lambda$static$0(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I
HSPLcom/android/server/pm/ComponentResolver;->queryActivities(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryActivities(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLcom/android/server/pm/ComponentResolver;->queryProviders(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver;->queryActivities(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver;->queryProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/pm/ComponentResolver;->queryProviders(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
PLcom/android/server/pm/ComponentResolver;->queryProviders(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryProviders(Ljava/lang/String;Ljava/lang/String;III)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryReceivers(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryServices(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->queryServices(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/ComponentResolver;->removeAllComponents(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/ComponentResolver;->removeAllComponentsLocked(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/CrossProfileAppsService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/pm/CrossProfileAppsService;->onStart()V
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->clearCallingIdentity()J
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getAppOpsManager()Landroid/app/AppOpsManager;
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getCallingUid()I
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getCallingUserId()I
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getUserManager()Landroid/os/UserManager;
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->restoreCallingIdentity(J)V
-PLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfilesUnchecked(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPackageEnabled(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/ComponentResolver;->queryProviders(Ljava/lang/String;Ljava/lang/String;III)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver;->queryReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver;->queryReceivers(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver;->queryServices(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/ComponentResolver;->queryServices(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver;->removeAllComponents(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/ComponentResolver;->removeAllComponentsLocked(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/CrossProfileAppsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/CrossProfileAppsService;->onStart()V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;)V
HSPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/pm/CrossProfileIntentFilter;->getFlags()I
HSPLcom/android/server/pm/CrossProfileIntentFilter;->getIntFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-PLcom/android/server/pm/CrossProfileIntentFilter;->getOwnerPackage()Ljava/lang/String;
HSPLcom/android/server/pm/CrossProfileIntentFilter;->getStringFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/CrossProfileIntentFilter;->getTargetUserId()I
-HSPLcom/android/server/pm/CrossProfileIntentFilter;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/pm/CrossProfileIntentFilter;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/pm/CrossProfileIntentResolver;-><init>()V
HSPLcom/android/server/pm/CrossProfileIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
HSPLcom/android/server/pm/CrossProfileIntentResolver;->newArray(I)[Lcom/android/server/pm/CrossProfileIntentFilter;
HSPLcom/android/server/pm/CrossProfileIntentResolver;->sortResults(Ljava/util/List;)V
PLcom/android/server/pm/DumpState;-><init>()V
-PLcom/android/server/pm/DumpState;->getTitlePrinted()Z
PLcom/android/server/pm/DumpState;->isDumping(I)Z
+PLcom/android/server/pm/DumpState;->isOptionEnabled(I)Z
PLcom/android/server/pm/DumpState;->onTitlePrinted()Z
-PLcom/android/server/pm/DumpState;->setTitlePrinted(Z)V
+PLcom/android/server/pm/DynamicCodeLoggingService$AuditWatchingThread;-><init>(Lcom/android/server/pm/DynamicCodeLoggingService;Landroid/app/job/JobParameters;)V
PLcom/android/server/pm/DynamicCodeLoggingService$AuditWatchingThread;->processAuditEvents()Z
PLcom/android/server/pm/DynamicCodeLoggingService$AuditWatchingThread;->run()V
-PLcom/android/server/pm/DynamicCodeLoggingService$IdleLoggingThread;->run()V
+PLcom/android/server/pm/DynamicCodeLoggingService;-><clinit>()V
PLcom/android/server/pm/DynamicCodeLoggingService;-><init>()V
PLcom/android/server/pm/DynamicCodeLoggingService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/pm/DynamicCodeLoggingService;->schedule(Landroid/content/Context;)V
-HSPLcom/android/server/pm/Installer$InstallerException;->from(Ljava/lang/Exception;)Lcom/android/server/pm/Installer$InstallerException;
+PLcom/android/server/pm/DynamicCodeLoggingService;->schedule(Landroid/content/Context;)V
+HSPLcom/android/server/pm/InstallSource;-><clinit>()V
+HSPLcom/android/server/pm/InstallSource;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
+HSPLcom/android/server/pm/InstallSource;->create(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/InstallSource;->createInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/InstallSource;->intern(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/InstallSource;->setInstallerPackage(Ljava/lang/String;)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/InstallSource;->setIsOrphaned(Z)Lcom/android/server/pm/InstallSource;
+HSPLcom/android/server/pm/Installer$1;-><init>(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/pm/Installer$InstallerException;-><init>(Ljava/lang/String;)V
+PLcom/android/server/pm/Installer$InstallerException;->from(Ljava/lang/Exception;)Lcom/android/server/pm/Installer$InstallerException;
HSPLcom/android/server/pm/Installer;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/pm/Installer;-><init>(Landroid/content/Context;Z)V
HSPLcom/android/server/pm/Installer;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
-HSPLcom/android/server/pm/Installer;->assertValidInstructionSet(Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->assertValidInstructionSet(Ljava/lang/String;)V
HSPLcom/android/server/pm/Installer;->checkBeforeRemote()Z
-HSPLcom/android/server/pm/Installer;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLcom/android/server/pm/Installer;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
+PLcom/android/server/pm/Installer;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/server/pm/Installer;->connect()V
-PLcom/android/server/pm/Installer;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
HSPLcom/android/server/pm/Installer;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
-PLcom/android/server/pm/Installer;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/pm/Installer;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/pm/Installer;->createUserData(Ljava/lang/String;III)V
-HSPLcom/android/server/pm/Installer;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLcom/android/server/pm/Installer;->destroyAppDataSnapshot(Ljava/lang/String;IJII)Z
-HSPLcom/android/server/pm/Installer;->destroyAppProfiles(Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->createUserData(Ljava/lang/String;III)V
PLcom/android/server/pm/Installer;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/pm/Installer;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/pm/Installer;->fixupAppData(Ljava/lang/String;I)V
+PLcom/android/server/pm/Installer;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->fixupAppData(Ljava/lang/String;I)V
PLcom/android/server/pm/Installer;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;Landroid/content/pm/PackageStats;)V
-PLcom/android/server/pm/Installer;->getExternalSize(Ljava/lang/String;II[I)[J
PLcom/android/server/pm/Installer;->getUserSize(Ljava/lang/String;II[ILandroid/content/pm/PackageStats;)V
-PLcom/android/server/pm/Installer;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
-HSPLcom/android/server/pm/Installer;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/pm/Installer;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
HSPLcom/android/server/pm/Installer;->invalidateMounts()V
PLcom/android/server/pm/Installer;->isQuotaSupported(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/Installer;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/Installer;->markBootComplete(Ljava/lang/String;)V
-PLcom/android/server/pm/Installer;->mergeProfiles(ILjava/lang/String;Ljava/lang/String;)Z
-HPLcom/android/server/pm/Installer;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/Installer;->markBootComplete(Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->migrateLegacyObbData()Z
HSPLcom/android/server/pm/Installer;->onStart()V
-HSPLcom/android/server/pm/Installer;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/Installer;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/Installer;->rmPackageDir(Ljava/lang/String;)V
-HSPLcom/android/server/pm/Installer;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/pm/Installer;->setAppQuota(Ljava/lang/String;IIJ)V
-HSPLcom/android/server/pm/Installer;->setWarnIfHeld(Ljava/lang/Object;)V
+PLcom/android/server/pm/Installer;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/Installer;->rmPackageDir(Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/Installer;->setWarnIfHeld(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/InstantAppRegistry$CookiePersistence;-><init>(Lcom/android/server/pm/InstantAppRegistry;Landroid/os/Looper;)V
HSPLcom/android/server/pm/InstantAppRegistry;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-HSPLcom/android/server/pm/InstantAppRegistry;->addInstantAppLPw(II)V
+PLcom/android/server/pm/InstantAppRegistry;->deleteInstantApplicationMetadataLPw(Ljava/lang/String;I)V
PLcom/android/server/pm/InstantAppRegistry;->getInstalledInstantApplicationsLPr(I)Ljava/util/List;
+PLcom/android/server/pm/InstantAppRegistry;->getInstantApplicationDir(Ljava/lang/String;I)Ljava/io/File;
PLcom/android/server/pm/InstantAppRegistry;->getInstantApplicationsDir(I)Ljava/io/File;
-PLcom/android/server/pm/InstantAppRegistry;->getInstantAppsLPr(I)Ljava/util/List;
PLcom/android/server/pm/InstantAppRegistry;->getUninstalledInstantAppStatesLPr(I)Ljava/util/List;
PLcom/android/server/pm/InstantAppRegistry;->getUninstalledInstantApplicationsLPr(I)Ljava/util/List;
-HSPLcom/android/server/pm/InstantAppRegistry;->grantInstantAccessLPw(ILandroid/content/Intent;II)V
-HSPLcom/android/server/pm/InstantAppRegistry;->isInstantAccessGranted(III)Z
+PLcom/android/server/pm/InstantAppRegistry;->hasInstantAppMetadataLPr(Ljava/lang/String;I)Z
+PLcom/android/server/pm/InstantAppRegistry;->hasInstantApplicationMetadataLPr(Ljava/lang/String;I)Z
+PLcom/android/server/pm/InstantAppRegistry;->hasUninstalledInstantAppStateLPr(Ljava/lang/String;I)Z
+PLcom/android/server/pm/InstantAppRegistry;->isInstantAccessGranted(III)Z
PLcom/android/server/pm/InstantAppRegistry;->onPackageInstalledLPw(Landroid/content/pm/PackageParser$Package;[I)V
-HSPLcom/android/server/pm/InstantAppRegistry;->onPackageUninstalledLPw(Landroid/content/pm/PackageParser$Package;[I)V
PLcom/android/server/pm/InstantAppRegistry;->parseMetadataFile(Ljava/io/File;)Lcom/android/server/pm/InstantAppRegistry$UninstalledInstantAppState;
PLcom/android/server/pm/InstantAppRegistry;->peekInstantCookieFile(Ljava/lang/String;I)Ljava/io/File;
PLcom/android/server/pm/InstantAppRegistry;->peekOrParseUninstalledInstantAppInfo(Ljava/lang/String;I)Landroid/content/pm/InstantAppInfo;
@@ -10378,28 +11657,35 @@ PLcom/android/server/pm/InstantAppRegistry;->propagateInstantAppPermissionsIfNee
PLcom/android/server/pm/InstantAppRegistry;->pruneInstantApps()V
PLcom/android/server/pm/InstantAppRegistry;->pruneInstantApps(JJJ)Z
PLcom/android/server/pm/InstantAppRegistry;->removeUninstalledInstantAppStateLPw(Ljava/util/function/Predicate;I)V
-PLcom/android/server/pm/InstantAppResolver;->computeResolveFilters(Landroid/content/Intent;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/InstantAppResolveInfo;)Ljava/util/List;
+PLcom/android/server/pm/InstantAppResolver;-><clinit>()V
PLcom/android/server/pm/InstantAppResolver;->doInstantAppResolutionPhaseOne(Lcom/android/server/pm/InstantAppResolverConnection;Landroid/content/pm/InstantAppRequest;)Landroid/content/pm/AuxiliaryResolveInfo;
PLcom/android/server/pm/InstantAppResolver;->filterInstantAppIntent(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;ILjava/lang/String;Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;Ljava/lang/String;)Landroid/content/pm/AuxiliaryResolveInfo;
-PLcom/android/server/pm/InstantAppResolver;->logMetrics(IJLjava/lang/String;I)V
PLcom/android/server/pm/InstantAppResolver;->sanitizeIntent(Landroid/content/Intent;)Landroid/content/Intent;
+PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;-><init>(Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;)V
PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;->sendResult(Landroid/os/Bundle;)V
+PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;-><init>()V
+PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V
+PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;Lcom/android/server/pm/InstantAppResolverConnection$1;)V
PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/pm/InstantAppResolverConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/pm/InstantAppResolverConnection;-><clinit>()V
+PLcom/android/server/pm/InstantAppResolverConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/String;)V
+PLcom/android/server/pm/InstantAppResolverConnection;->access$600()J
PLcom/android/server/pm/InstantAppResolverConnection;->bind(Ljava/lang/String;)Landroid/app/IInstantAppResolver;
-PLcom/android/server/pm/InstantAppResolverConnection;->binderDied()V
PLcom/android/server/pm/InstantAppResolverConnection;->getInstantAppResolveInfoList(Landroid/content/Intent;[IILjava/lang/String;)Ljava/util/List;
PLcom/android/server/pm/InstantAppResolverConnection;->getRemoteInstanceLazy(Ljava/lang/String;)Landroid/app/IInstantAppResolver;
-PLcom/android/server/pm/InstantAppResolverConnection;->handleBinderDiedLocked()V
PLcom/android/server/pm/InstantAppResolverConnection;->lambda$optimisticBind$0$InstantAppResolverConnection()V
+PLcom/android/server/pm/InstantAppResolverConnection;->optimisticBind()V
PLcom/android/server/pm/InstantAppResolverConnection;->waitForBindLocked(Ljava/lang/String;)V
-HSPLcom/android/server/pm/InstructionSets;->getAllDexCodeInstructionSets()[Ljava/lang/String;
+HSPLcom/android/server/pm/InstructionSets;-><clinit>()V
+PLcom/android/server/pm/InstructionSets;->getAllDexCodeInstructionSets()[Ljava/lang/String;
PLcom/android/server/pm/InstructionSets;->getAppDexInstructionSets(Landroid/content/pm/ApplicationInfo;)[Ljava/lang/String;
-HSPLcom/android/server/pm/InstructionSets;->getAppDexInstructionSets(Lcom/android/server/pm/PackageSetting;)[Ljava/lang/String;
-HSPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSets([Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSets([Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/server/pm/InstructionSets;->getPreferredInstructionSet()Ljava/lang/String;
+HSPLcom/android/server/pm/InstructionSets;->getPrimaryInstructionSet(Lcom/android/server/pm/PackageAbiHelper$Abis;)Ljava/lang/String;
+PLcom/android/server/pm/IntentFilterVerificationResponse;-><init>(IILjava/util/List;)V
+PLcom/android/server/pm/IntentFilterVerificationState;-><clinit>()V
+PLcom/android/server/pm/IntentFilterVerificationState;-><init>(IILjava/lang/String;)V
PLcom/android/server/pm/IntentFilterVerificationState;->addFilter(Landroid/content/pm/PackageParser$ActivityIntentInfo;)V
PLcom/android/server/pm/IntentFilterVerificationState;->getFilters()Ljava/util/ArrayList;
PLcom/android/server/pm/IntentFilterVerificationState;->getHostsString()Ljava/lang/String;
@@ -10407,237 +11693,257 @@ PLcom/android/server/pm/IntentFilterVerificationState;->getPackageName()Ljava/la
PLcom/android/server/pm/IntentFilterVerificationState;->getUserId()I
PLcom/android/server/pm/IntentFilterVerificationState;->isVerificationComplete()Z
PLcom/android/server/pm/IntentFilterVerificationState;->isVerified()Z
+PLcom/android/server/pm/IntentFilterVerificationState;->setPendingState()V
PLcom/android/server/pm/IntentFilterVerificationState;->setState(I)V
PLcom/android/server/pm/IntentFilterVerificationState;->setVerifierResponse(II)Z
-HSPLcom/android/server/pm/KeySetHandle;->decrRefCountLPw()I
-HSPLcom/android/server/pm/KeySetHandle;->getId()J
+HSPLcom/android/server/pm/KeySetHandle;-><init>(JI)V
HSPLcom/android/server/pm/KeySetHandle;->getRefCountLPr()I
-HSPLcom/android/server/pm/KeySetHandle;->incrRefCountLPw()V
HSPLcom/android/server/pm/KeySetHandle;->setRefCountLPw(I)V
-HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->decrRefCountLPw()J
+HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JILjava/security/PublicKey;)V
+HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JILjava/security/PublicKey;Lcom/android/server/pm/KeySetManagerService$1;)V
HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->getKey()Ljava/security/PublicKey;
HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->incrRefCountLPw()V
HSPLcom/android/server/pm/KeySetManagerService;-><init>(Landroid/util/ArrayMap;)V
-HSPLcom/android/server/pm/KeySetManagerService;->addKeySetLPw(Landroid/util/ArraySet;)Lcom/android/server/pm/KeySetHandle;
-HSPLcom/android/server/pm/KeySetManagerService;->addPublicKeyLPw(Ljava/security/PublicKey;)J
+PLcom/android/server/pm/KeySetManagerService;->addKeySetLPw(Landroid/util/ArraySet;)Lcom/android/server/pm/KeySetHandle;
+PLcom/android/server/pm/KeySetManagerService;->addPublicKeyLPw(Ljava/security/PublicKey;)J
HSPLcom/android/server/pm/KeySetManagerService;->addRefCountsFromSavedPackagesLPw(Landroid/util/ArrayMap;)V
HSPLcom/android/server/pm/KeySetManagerService;->addScannedPackageLPw(Landroid/content/pm/PackageParser$Package;)V
HSPLcom/android/server/pm/KeySetManagerService;->addSigningKeySetToPackageLPw(Lcom/android/server/pm/PackageSetting;Landroid/util/ArraySet;)V
HSPLcom/android/server/pm/KeySetManagerService;->assertScannedPackageValid(Landroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/KeySetManagerService;->decrementKeySetLPw(J)V
-PLcom/android/server/pm/KeySetManagerService;->dumpLPr(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/DumpState;)V
-HSPLcom/android/server/pm/KeySetManagerService;->encodePublicKey(Ljava/security/PublicKey;)Ljava/lang/String;
-HSPLcom/android/server/pm/KeySetManagerService;->getIdForPublicKeyLPr(Ljava/security/PublicKey;)J
-HSPLcom/android/server/pm/KeySetManagerService;->getIdFromKeyIdsLPr(Ljava/util/Set;)J
+PLcom/android/server/pm/KeySetManagerService;->encodePublicKey(Ljava/security/PublicKey;)Ljava/lang/String;
+PLcom/android/server/pm/KeySetManagerService;->getIdForPublicKeyLPr(Ljava/security/PublicKey;)J
+PLcom/android/server/pm/KeySetManagerService;->getIdFromKeyIdsLPr(Ljava/util/Set;)J
HSPLcom/android/server/pm/KeySetManagerService;->getPublicKeysFromKeySetLPr(J)Landroid/util/ArraySet;
HSPLcom/android/server/pm/KeySetManagerService;->readKeySetListLPw(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/KeySetManagerService;->readKeySetsLPw(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;)V
HSPLcom/android/server/pm/KeySetManagerService;->readKeysLPw(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/KeySetManagerService;->readPublicKeyLPw(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/pm/KeySetManagerService;->removeAppKeySetDataLPw(Ljava/lang/String;)V
HSPLcom/android/server/pm/KeySetManagerService;->shouldCheckUpgradeKeySetLocked(Lcom/android/server/pm/PackageSettingBase;I)Z
-HSPLcom/android/server/pm/KeySetManagerService;->writeKeySetManagerServiceLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/pm/KeySetManagerService;->writePublicKeysLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->lambda$onShortcutChanged$0$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor(Ljava/lang/String;I)V
+PLcom/android/server/pm/KeySetManagerService;->writeKeySetManagerServiceLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/pm/KeySetManagerService;->writePublicKeysLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/pm/LauncherAppsService$BroadcastCookie;-><init>(Landroid/os/UserHandle;Ljava/lang/String;II)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$1;)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChanged(Ljava/lang/String;I)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChangedInner(Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;->onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;-><init>(Landroid/content/Context;)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(ILjava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(ILjava/lang/String;)Z
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->checkCallbackCount()V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getAllSessions(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getAppUsageLimit(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/LauncherApps$AppUsageLimit;
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getCallingUserId()I
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getHiddenAppActivityInfo(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getPackageInstallerService()Lcom/android/server/pm/PackageInstallerService;
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasApplicationDeclaredActivities(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasComponentsAndRequestsPermissions(Ljava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasDefaultEnableLauncherActivity(Ljava/lang/String;)Z
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasShortcutHostPermission(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectClearCallingIdentity()J
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCallingIdentity(J)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isEnabledProfileOf(Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isManagedProfileAdmin(Landroid/os/UserHandle;Ljava/lang/String;)Z
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->postToPackageMonitorHandler(Ljava/lang/Runnable;)V
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryActivitiesForUser(Ljava/lang/String;Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->lambda$registerPackageInstallerCallback$0$LauncherAppsService$LauncherAppsImpl(Landroid/os/UserHandle;I)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryActivitiesForUser(Ljava/lang/String;Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->registerPackageInstallerCallback(Ljava/lang/String;Landroid/content/pm/IPackageInstallerCallback;)V
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldShowSyntheticActivity(Landroid/os/UserHandle;Landroid/content/pm/ApplicationInfo;)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->showAppDetailsAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldShowSyntheticActivity(Landroid/os/UserHandle;Landroid/content/pm/ApplicationInfo;)Z
PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startShortcut(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startShortcutIntentsAsPublisher([Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)Z
-HSPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;)V
-HSPLcom/android/server/pm/LauncherAppsService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/pm/LauncherAppsService;->onStart()V
-HSPLcom/android/server/pm/ModuleInfoProvider;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;)V
+PLcom/android/server/pm/LauncherAppsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/LauncherAppsService;->onStart()V
+PLcom/android/server/pm/ModuleInfoProvider;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;)V
PLcom/android/server/pm/ModuleInfoProvider;->getInstalledModules(I)Ljava/util/List;
-HSPLcom/android/server/pm/ModuleInfoProvider;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
-HSPLcom/android/server/pm/ModuleInfoProvider;->loadModuleMetadata(Landroid/content/res/XmlResourceParser;Landroid/content/res/Resources;)V
-HSPLcom/android/server/pm/ModuleInfoProvider;->systemReady()V
-HSPLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/pm/ModuleInfoProvider;->loadModuleMetadata(Landroid/content/res/XmlResourceParser;Landroid/content/res/Resources;)V
+PLcom/android/server/pm/ModuleInfoProvider;->systemReady()V
+PLcom/android/server/pm/OtaDexoptService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/OtaDexoptService;->main(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/OtaDexoptService;
+PLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V
+HSPLcom/android/server/pm/PackageAbiHelper$Abis;-><init>(Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/PackageAbiHelper$Abis;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageAbiHelper$Abis;->applyTo(Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;-><init>(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;->applyTo(Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/PackageAbiHelperImpl;-><init>()V
+HSPLcom/android/server/pm/PackageAbiHelperImpl;->calculateBundledApkRoot(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageAbiHelperImpl;->deriveCodePathName(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageAbiHelperImpl;->derivePackageAbi(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Z)Landroid/util/Pair;
+HSPLcom/android/server/pm/PackageAbiHelperImpl;->getAdjustedAbiForSharedUser(Ljava/util/Set;Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageAbiHelperImpl;->getNativeLibraryPaths(Landroid/content/pm/PackageParser$Package;Ljava/io/File;)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;
+HSPLcom/android/server/pm/PackageAbiHelperImpl;->getNativeLibraryPaths(Lcom/android/server/pm/PackageAbiHelper$Abis;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;ZZ)Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;
+PLcom/android/server/pm/PackageAbiHelperImpl;->maybeThrowExceptionForMultiArchCopy(Ljava/lang/String;I)V
HSPLcom/android/server/pm/PackageDexOptimizer;-><init>(Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;Ljava/lang/String;)V
PLcom/android/server/pm/PackageDexOptimizer;->adjustDexoptFlags(I)I
PLcom/android/server/pm/PackageDexOptimizer;->adjustDexoptNeeded(I)I
-PLcom/android/server/pm/PackageDexOptimizer;->createOatDirIfSupported(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/pm/PackageDexOptimizer;->dexOptPath(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;IILcom/android/server/pm/CompilerStats$PackageStats;ZLjava/lang/String;Ljava/lang/String;I)I
-PLcom/android/server/pm/PackageDexOptimizer;->dexOptSecondaryDexPath(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageDexOptimizer;->dexOptSecondaryDexPathLI(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageDexOptimizer;->dumpDexoptState(Lcom/android/internal/util/IndentingPrintWriter;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)V
+PLcom/android/server/pm/PackageDexOptimizer;->dexOptPath(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;IILcom/android/server/pm/CompilerStats$PackageStats;ZLjava/lang/String;Ljava/lang/String;I)I
PLcom/android/server/pm/PackageDexOptimizer;->getAugmentedReasonName(IZ)Ljava/lang/String;
PLcom/android/server/pm/PackageDexOptimizer;->getDexFlags(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/DexoptOptions;)I
PLcom/android/server/pm/PackageDexOptimizer;->getDexFlags(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Lcom/android/server/pm/dex/DexoptOptions;)I
PLcom/android/server/pm/PackageDexOptimizer;->getDexoptNeeded(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)I
+PLcom/android/server/pm/PackageDexOptimizer;->getOatDir(Ljava/io/File;)Ljava/io/File;
+PLcom/android/server/pm/PackageDexOptimizer;->getPackageOatDirIfSupported(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
PLcom/android/server/pm/PackageDexOptimizer;->getRealCompilerFilter(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Ljava/lang/String;
-PLcom/android/server/pm/PackageDexOptimizer;->isProfileUpdated(Landroid/content/pm/PackageParser$Package;ILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageDexOptimizer;->isAppImageEnabled()Z
PLcom/android/server/pm/PackageDexOptimizer;->performDexOpt(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageDexOptimizer;->performDexOpt(Landroid/content/pm/SharedLibraryInfo;[Ljava/lang/String;Lcom/android/server/pm/dex/DexoptOptions;)I
PLcom/android/server/pm/PackageDexOptimizer;->performDexOptLI(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
PLcom/android/server/pm/PackageDexOptimizer;->printDexoptFlags(I)Ljava/lang/String;
PLcom/android/server/pm/PackageDexOptimizer;->releaseWakeLockLI(J)V
-HSPLcom/android/server/pm/PackageDexOptimizer;->systemReady()V
+PLcom/android/server/pm/PackageDexOptimizer;->systemReady()V
HSPLcom/android/server/pm/PackageInstallerService$1;-><init>()V
-HSPLcom/android/server/pm/PackageInstallerService$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageInstallerService$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageInstallerService$2;-><init>(Lcom/android/server/pm/PackageInstallerService;)V
PLcom/android/server/pm/PackageInstallerService$2;->run()V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;-><init>(Landroid/os/Looper;)V
PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$200(Lcom/android/server/pm/PackageInstallerService$Callbacks;II)V
PLcom/android/server/pm/PackageInstallerService$Callbacks;->handleMessage(Landroid/os/Message;)V
PLcom/android/server/pm/PackageInstallerService$Callbacks;->invokeCallback(Landroid/content/pm/IPackageInstallerCallback;Landroid/os/Message;)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->notifySessionFinished(IIZ)V
-HSPLcom/android/server/pm/PackageInstallerService$Callbacks;->register(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->register(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
+PLcom/android/server/pm/PackageInstallerService$InternalCallback$1;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Lcom/android/server/pm/PackageInstallerSession;Z)V
PLcom/android/server/pm/PackageInstallerService$InternalCallback$1;->run()V
-PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionActiveChanged(Lcom/android/server/pm/PackageInstallerSession;Z)V
+PLcom/android/server/pm/PackageInstallerService$InternalCallback;-><init>(Lcom/android/server/pm/PackageInstallerService;)V
PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionFinished(Lcom/android/server/pm/PackageInstallerSession;Z)V
-PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionPrepared(Lcom/android/server/pm/PackageInstallerSession;)V
-PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionProgressChanged(Lcom/android/server/pm/PackageInstallerSession;F)V
PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionSealedBlocking(Lcom/android/server/pm/PackageInstallerSession;)V
-PLcom/android/server/pm/PackageInstallerService$PackageDeleteObserverAdapter;-><init>(Landroid/content/Context;Landroid/content/IntentSender;Ljava/lang/String;ZI)V
-PLcom/android/server/pm/PackageInstallerService$PackageDeleteObserverAdapter;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/pm/PackageInstallerService$PackageInstallObserverAdapter;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;)V
+HSPLcom/android/server/pm/PackageInstallerService;-><clinit>()V
+PLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;)V
PLcom/android/server/pm/PackageInstallerService;->abandonSession(I)V
-HSPLcom/android/server/pm/PackageInstallerService;->addHistoricalSessionLocked(Lcom/android/server/pm/PackageInstallerSession;)V
+PLcom/android/server/pm/PackageInstallerService;->addHistoricalSessionLocked(Lcom/android/server/pm/PackageInstallerSession;)V
PLcom/android/server/pm/PackageInstallerService;->allocateSessionIdLocked()I
+PLcom/android/server/pm/PackageInstallerService;->buildAppIconFile(I)Ljava/io/File;
PLcom/android/server/pm/PackageInstallerService;->buildSessionDir(ILandroid/content/pm/PackageInstaller$SessionParams;)Ljava/io/File;
PLcom/android/server/pm/PackageInstallerService;->buildTmpSessionDir(ILjava/lang/String;)Ljava/io/File;
PLcom/android/server/pm/PackageInstallerService;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
PLcom/android/server/pm/PackageInstallerService;->createSessionInternal(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
-PLcom/android/server/pm/PackageInstallerService;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
PLcom/android/server/pm/PackageInstallerService;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/PackageInstallerService;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/PackageInstallerService;->getSessionCount(Landroid/util/SparseArray;I)I
-HSPLcom/android/server/pm/PackageInstallerService;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
+PLcom/android/server/pm/PackageInstallerService;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
PLcom/android/server/pm/PackageInstallerService;->getStagedSessions()Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageInstallerService;->getTmpSessionDir(Ljava/lang/String;)Ljava/io/File;
HSPLcom/android/server/pm/PackageInstallerService;->isStageName(Ljava/lang/String;)Z
-PLcom/android/server/pm/PackageInstallerService;->okToSendBroadcasts()Z
+PLcom/android/server/pm/PackageInstallerService;->newArraySet([Ljava/lang/Object;)Landroid/util/ArraySet;
PLcom/android/server/pm/PackageInstallerService;->openSession(I)Landroid/content/pm/IPackageInstallerSession;
PLcom/android/server/pm/PackageInstallerService;->openSessionInternal(I)Landroid/content/pm/IPackageInstallerSession;
PLcom/android/server/pm/PackageInstallerService;->prepareStageDir(Ljava/io/File;)V
-HSPLcom/android/server/pm/PackageInstallerService;->readSessionsLocked()V
-HSPLcom/android/server/pm/PackageInstallerService;->reconcileStagesLocked(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
-HSPLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
-HSPLcom/android/server/pm/PackageInstallerService;->restoreAndApplyStagedSessionIfNeeded()V
-HSPLcom/android/server/pm/PackageInstallerService;->systemReady()V
-PLcom/android/server/pm/PackageInstallerService;->uninstall(Landroid/content/pm/VersionedPackage;Ljava/lang/String;ILandroid/content/IntentSender;I)V
+PLcom/android/server/pm/PackageInstallerService;->readSessionsLocked()V
+PLcom/android/server/pm/PackageInstallerService;->reconcileStagesLocked(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
+PLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
+PLcom/android/server/pm/PackageInstallerService;->restoreAndApplyStagedSessionIfNeeded()V
+HPLcom/android/server/pm/PackageInstallerService;->sendOnPackageInstalled(Landroid/content/Context;Landroid/content/IntentSender;IZILjava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/pm/PackageInstallerService;->systemReady()V
PLcom/android/server/pm/PackageInstallerService;->writeSessionsAsync()V
-HSPLcom/android/server/pm/PackageInstallerService;->writeSessionsLocked()V
-HSPLcom/android/server/pm/PackageInstallerSession$1;-><init>()V
-HSPLcom/android/server/pm/PackageInstallerSession$1;->accept(Ljava/io/File;)Z
-HSPLcom/android/server/pm/PackageInstallerSession$2;-><init>()V
-HSPLcom/android/server/pm/PackageInstallerSession$2;->accept(Ljava/io/File;)Z
-HSPLcom/android/server/pm/PackageInstallerSession$3;-><init>(Lcom/android/server/pm/PackageInstallerSession;)V
+HPLcom/android/server/pm/PackageInstallerService;->writeSessionsLocked()V
+PLcom/android/server/pm/PackageInstallerSession$1;-><init>()V
+PLcom/android/server/pm/PackageInstallerSession$1;->accept(Ljava/io/File;)Z
+PLcom/android/server/pm/PackageInstallerSession$2;-><init>()V
+PLcom/android/server/pm/PackageInstallerSession$2;->accept(Ljava/io/File;)Z
+PLcom/android/server/pm/PackageInstallerSession$3;-><init>(Lcom/android/server/pm/PackageInstallerSession;)V
PLcom/android/server/pm/PackageInstallerSession$3;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/pm/PackageInstallerSession$4;-><init>(Lcom/android/server/pm/PackageInstallerSession;)V
PLcom/android/server/pm/PackageInstallerSession$4;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/PackageInstallerSession;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSessionProvider;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;IILjava/lang/String;ILandroid/content/pm/PackageInstaller$SessionParams;JLjava/io/File;Ljava/lang/String;ZZZ[IIZZZILjava/lang/String;)V
+PLcom/android/server/pm/PackageInstallerSession;-><clinit>()V
+HPLcom/android/server/pm/PackageInstallerSession;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSessionProvider;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;IIILcom/android/server/pm/InstallSource;Landroid/content/pm/PackageInstaller$SessionParams;JLjava/io/File;Ljava/lang/String;ZZZ[IIZZZILjava/lang/String;)V
PLcom/android/server/pm/PackageInstallerSession;->abandon()V
-PLcom/android/server/pm/PackageInstallerSession;->addClientProgress(F)V
-HSPLcom/android/server/pm/PackageInstallerSession;->assertApkConsistentLocked(Ljava/lang/String;Landroid/content/pm/PackageParser$ApkLite;)V
+PLcom/android/server/pm/PackageInstallerSession;->assertApkConsistentLocked(Ljava/lang/String;Landroid/content/pm/PackageParser$ApkLite;)V
PLcom/android/server/pm/PackageInstallerSession;->assertCallerIsOwnerOrRootLocked()V
-HSPLcom/android/server/pm/PackageInstallerSession;->assertNoWriteFileTransfersOpenLocked()V
+PLcom/android/server/pm/PackageInstallerSession;->assertCanBeCommitted(Z)V
+PLcom/android/server/pm/PackageInstallerSession;->assertNoWriteFileTransfersOpenLocked()V
PLcom/android/server/pm/PackageInstallerSession;->assertPreparedAndNotCommittedOrDestroyedLocked(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageInstallerSession;->assertPreparedAndNotDestroyedLocked(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageInstallerSession;->assertPreparedAndNotDestroyedLocked(Ljava/lang/String;)V
PLcom/android/server/pm/PackageInstallerSession;->assertPreparedAndNotSealedLocked(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageInstallerSession;->buildAppIconFile(ILjava/io/File;)Ljava/io/File;
+PLcom/android/server/pm/PackageInstallerSession;->buildAppIconFile(ILjava/io/File;)Ljava/io/File;
PLcom/android/server/pm/PackageInstallerSession;->close()V
PLcom/android/server/pm/PackageInstallerSession;->closeInternal(Z)V
PLcom/android/server/pm/PackageInstallerSession;->commit(Landroid/content/IntentSender;Z)V
PLcom/android/server/pm/PackageInstallerSession;->commitNonStagedLocked(Ljava/util/List;)V
PLcom/android/server/pm/PackageInstallerSession;->computeProgressLocked(Z)V
-HSPLcom/android/server/pm/PackageInstallerSession;->destroyInternal()V
+PLcom/android/server/pm/PackageInstallerSession;->destroyInternal()V
PLcom/android/server/pm/PackageInstallerSession;->dispatchSessionFinished(ILjava/lang/String;Landroid/os/Bundle;)V
PLcom/android/server/pm/PackageInstallerSession;->doWriteInternal(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/pm/PackageInstallerSession;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/pm/PackageInstallerSession;->dumpLocked(Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/pm/PackageInstallerSession;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/pm/PackageInstallerSession;->dumpLocked(Lcom/android/internal/util/IndentingPrintWriter;)V
PLcom/android/server/pm/PackageInstallerSession;->extractNativeLibraries(Ljava/io/File;Ljava/lang/String;Z)V
-PLcom/android/server/pm/PackageInstallerSession;->generateInfo()Landroid/content/pm/PackageInstaller$SessionInfo;
+PLcom/android/server/pm/PackageInstallerSession;->filterFiles(Ljava/io/File;[Ljava/lang/String;Ljava/io/FileFilter;)[Ljava/io/File;
PLcom/android/server/pm/PackageInstallerSession;->generateInfo(Z)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLcom/android/server/pm/PackageInstallerSession;->getChildSessionIds()[I
-HSPLcom/android/server/pm/PackageInstallerSession;->getInstallerUid()I
+PLcom/android/server/pm/PackageInstallerSession;->getChildSessionIds()[I
+PLcom/android/server/pm/PackageInstallerSession;->getChildSessions()Ljava/util/List;
+PLcom/android/server/pm/PackageInstallerSession;->getInstallerUid()I
PLcom/android/server/pm/PackageInstallerSession;->getNames()[Ljava/lang/String;
+PLcom/android/server/pm/PackageInstallerSession;->getNamesLocked()[Ljava/lang/String;
+PLcom/android/server/pm/PackageInstallerSession;->getUpdatedMillis()J
PLcom/android/server/pm/PackageInstallerSession;->handleCommit()V
-HSPLcom/android/server/pm/PackageInstallerSession;->hasParentSessionId()Z
-HSPLcom/android/server/pm/PackageInstallerSession;->isCommitted()Z
+PLcom/android/server/pm/PackageInstallerSession;->handleSeal(Landroid/content/IntentSender;)V
+HPLcom/android/server/pm/PackageInstallerSession;->isCommitted()Z
PLcom/android/server/pm/PackageInstallerSession;->isInstallerDeviceOwnerOrAffiliatedProfileOwnerLocked()Z
-HSPLcom/android/server/pm/PackageInstallerSession;->isMultiPackage()Z
-HSPLcom/android/server/pm/PackageInstallerSession;->isPrepared()Z
-HSPLcom/android/server/pm/PackageInstallerSession;->isSealed()Z
-HSPLcom/android/server/pm/PackageInstallerSession;->isStaged()Z
+PLcom/android/server/pm/PackageInstallerSession;->isMultiPackage()Z
+HPLcom/android/server/pm/PackageInstallerSession;->isPrepared()Z
+HPLcom/android/server/pm/PackageInstallerSession;->isSealed()Z
+PLcom/android/server/pm/PackageInstallerSession;->isStaged()Z
+PLcom/android/server/pm/PackageInstallerSession;->isStagedAndInTerminalState()Z
+PLcom/android/server/pm/PackageInstallerSession;->isStagedSessionStateValid(ZZZ)Z
+PLcom/android/server/pm/PackageInstallerSession;->lambda$filterFiles$0(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
+PLcom/android/server/pm/PackageInstallerSession;->lambda$filterFiles$1(Ljava/io/FileFilter;Ljava/io/File;)Z
+PLcom/android/server/pm/PackageInstallerSession;->lambda$filterFiles$2(I)[Ljava/io/File;
+PLcom/android/server/pm/PackageInstallerSession;->lambda$readFromXml$4(I)[Ljava/lang/String;
PLcom/android/server/pm/PackageInstallerSession;->makeSessionActiveLocked()Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;
-PLcom/android/server/pm/PackageInstallerSession;->markAsCommitted(Landroid/content/IntentSender;Z)Z
-HSPLcom/android/server/pm/PackageInstallerSession;->maybeRenameFile(Ljava/io/File;Ljava/io/File;)V
+PLcom/android/server/pm/PackageInstallerSession;->markAsCommitted(Landroid/content/IntentSender;)Z
+PLcom/android/server/pm/PackageInstallerSession;->maybeRenameFile(Ljava/io/File;Ljava/io/File;)V
PLcom/android/server/pm/PackageInstallerSession;->needToAskForPermissionsLocked()Z
PLcom/android/server/pm/PackageInstallerSession;->open()V
PLcom/android/server/pm/PackageInstallerSession;->openWrite(Ljava/lang/String;JJ)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/pm/PackageInstallerSession;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;Ljava/io/File;Lcom/android/server/pm/PackageSessionProvider;)Lcom/android/server/pm/PackageInstallerSession;
-HSPLcom/android/server/pm/PackageInstallerSession;->resolveAndStageFile(Ljava/io/File;Ljava/io/File;)V
-HSPLcom/android/server/pm/PackageInstallerSession;->resolveStageDirLocked()Ljava/io/File;
-HSPLcom/android/server/pm/PackageInstallerSession;->sealAndValidateLocked()V
+PLcom/android/server/pm/PackageInstallerSession;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;Ljava/io/File;Lcom/android/server/pm/PackageSessionProvider;)Lcom/android/server/pm/PackageInstallerSession;
+PLcom/android/server/pm/PackageInstallerSession;->resolveAndStageFile(Ljava/io/File;Ljava/io/File;)V
+PLcom/android/server/pm/PackageInstallerSession;->sealAndValidateIfNecessary()V
+PLcom/android/server/pm/PackageInstallerSession;->sealAndValidateLocked(Ljava/util/List;)V
PLcom/android/server/pm/PackageInstallerSession;->setClientProgress(F)V
-HSPLcom/android/server/pm/PackageInstallerSession;->validateApkInstallLocked(Landroid/content/pm/PackageInfo;)V
-HSPLcom/android/server/pm/PackageInstallerSession;->write(Lorg/xmlpull/v1/XmlSerializer;Ljava/io/File;)V
+PLcom/android/server/pm/PackageInstallerSession;->validateApkInstallLocked(Landroid/content/pm/PackageInfo;)V
+HPLcom/android/server/pm/PackageInstallerSession;->write(Lorg/xmlpull/v1/XmlSerializer;Ljava/io/File;)V
+PLcom/android/server/pm/PackageInstallerSession;->writeGrantedRuntimePermissionsLocked(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;)V
+HPLcom/android/server/pm/PackageInstallerSession;->writeWhitelistedRestrictedPermissionsLocked(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
HSPLcom/android/server/pm/PackageKeySetData;-><init>()V
-HSPLcom/android/server/pm/PackageKeySetData;->addDefinedKeySet(JLjava/lang/String;)V
-HSPLcom/android/server/pm/PackageKeySetData;->addUpgradeKeySetById(J)V
-HSPLcom/android/server/pm/PackageKeySetData;->getAliases()Landroid/util/ArrayMap;
+PLcom/android/server/pm/PackageKeySetData;->getAliases()Landroid/util/ArrayMap;
HSPLcom/android/server/pm/PackageKeySetData;->getProperSigningKeySet()J
-HSPLcom/android/server/pm/PackageKeySetData;->getUpgradeKeySets()[J
-PLcom/android/server/pm/PackageKeySetData;->isUsingDefinedKeySets()Z
-HSPLcom/android/server/pm/PackageKeySetData;->isUsingUpgradeKeySets()Z
-HSPLcom/android/server/pm/PackageKeySetData;->removeAllDefinedKeySets()V
-HSPLcom/android/server/pm/PackageKeySetData;->removeAllUpgradeKeySets()V
+PLcom/android/server/pm/PackageKeySetData;->isUsingUpgradeKeySets()Z
HSPLcom/android/server/pm/PackageKeySetData;->setProperSigningKeySet(J)V
+PLcom/android/server/pm/PackageList;-><init>(Ljava/util/List;Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V
+PLcom/android/server/pm/PackageList;->onPackageAdded(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageList;->onPackageChanged(Ljava/lang/String;I)V
HSPLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;)V
HSPLcom/android/server/pm/PackageManagerService$1;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-HSPLcom/android/server/pm/PackageManagerService$1;->onPermissionGranted(II)V
-HSPLcom/android/server/pm/PackageManagerService$1;->onPermissionRevoked(II)V
-HSPLcom/android/server/pm/PackageManagerService$1;->onPermissionUpdated([IZ)V
-HSPLcom/android/server/pm/PackageManagerService$2;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-HSPLcom/android/server/pm/PackageManagerService$2;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-HSPLcom/android/server/pm/PackageManagerService$3;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/PackageManagerService$3;->onDefaultRuntimePermissionsGranted(I)V
-PLcom/android/server/pm/PackageManagerService$4;->onPermissionChanged()V
-HSPLcom/android/server/pm/PackageManagerService$6;->onChange(Z)V
-PLcom/android/server/pm/PackageManagerService$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallerPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/pm/PackageManagerService$2;-><init>(Lcom/android/server/pm/PackageManagerService;ZLjava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
+PLcom/android/server/pm/PackageManagerService$2;->run()V
+PLcom/android/server/pm/PackageManagerService$3;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+PLcom/android/server/pm/PackageManagerService$3;->onChange(Z)V
+PLcom/android/server/pm/PackageManagerService$4;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$5;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/PackageManagerService$6;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;-><init>(Ljava/lang/String;Ljava/io/File;Landroid/content/pm/IPackageInstallObserver2;Landroid/content/pm/PackageInstaller$SessionParams;ILcom/android/server/pm/InstallSource;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$SigningDetails;)V
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallSource()Lcom/android/server/pm/InstallSource;
PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallerUid()I
PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getObserver()Landroid/content/pm/IPackageInstallObserver2;
PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getSessionParams()Landroid/content/pm/PackageInstaller$SessionParams;
PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getStagedDir()Ljava/io/File;
PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getUser()Landroid/os/UserHandle;
+PLcom/android/server/pm/PackageManagerService$CommitRequest;-><init>(Ljava/util/Map;[I)V
+PLcom/android/server/pm/PackageManagerService$CommitRequest;-><init>(Ljava/util/Map;[ILcom/android/server/pm/PackageManagerService$1;)V
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)V
-HSPLcom/android/server/pm/PackageManagerService$FileInstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService$FileInstallArgs;->cleanUp()Z
-HSPLcom/android/server/pm/PackageManagerService$FileInstallArgs;->cleanUpResourcesLI()V
+PLcom/android/server/pm/PackageManagerService$FileInstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->cleanUp()Z
+PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->cleanUpResourcesLI()V
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->copyApk()I
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doCopyApk()I
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPostDeleteLI(Z)Z
@@ -10645,198 +11951,237 @@ PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPostInstall(II
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPreInstall(I)I
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doRename(ILandroid/content/pm/PackageParser$Package;)Z
PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->getCodePath()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$HandlerParams;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/UserHandle;)V
PLcom/android/server/pm/PackageManagerService$HandlerParams;->getUser()Landroid/os/UserHandle;
-HSPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;ILcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;)V
+PLcom/android/server/pm/PackageManagerService$HandlerParams;->setTraceCookie(I)Lcom/android/server/pm/PackageManagerService$HandlerParams;
+PLcom/android/server/pm/PackageManagerService$HandlerParams;->setTraceMethod(Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$HandlerParams;
+PLcom/android/server/pm/PackageManagerService$HandlerParams;->startCopy()V
+PLcom/android/server/pm/PackageManagerService$IFVerificationParams;-><init>(Landroid/content/pm/PackageParser$Package;ZII)V
+HSPLcom/android/server/pm/PackageManagerService$Injector$LocalServicesProducer;-><init>(Ljava/lang/Class;)V
+PLcom/android/server/pm/PackageManagerService$Injector$LocalServicesProducer;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$Injector$Singleton;-><init>(Lcom/android/server/pm/PackageManagerService$Injector$Producer;)V
+HSPLcom/android/server/pm/PackageManagerService$Injector$Singleton;->get(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$Injector$SystemServiceProducer;-><init>(Ljava/lang/Class;)V
+HSPLcom/android/server/pm/PackageManagerService$Injector$SystemServiceProducer;->produce(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$Injector;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/PackageAbiHelper;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;Lcom/android/server/pm/PackageManagerService$Injector$Producer;)V
+HSPLcom/android/server/pm/PackageManagerService$Injector;->bootstrap(Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getAbiHelper()Lcom/android/server/pm/PackageAbiHelper;
+HPLcom/android/server/pm/PackageManagerService$Injector;->getActivityTaskManagerInternal()Lcom/android/server/wm/ActivityTaskManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getAppsFilter()Lcom/android/server/pm/AppsFilter;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getCompatibility()Lcom/android/server/compat/PlatformCompat;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getComponentResolver()Lcom/android/server/pm/ComponentResolver;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getContext()Landroid/content/Context;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getDisplayManager()Landroid/hardware/display/DisplayManager;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getInstallLock()Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getInstaller()Lcom/android/server/pm/Installer;
+PLcom/android/server/pm/PackageManagerService$Injector;->getLocalDeviceIdleController()Lcom/android/server/DeviceIdleInternal;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getLock()Ljava/lang/Object;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getPermissionManagerServiceInternal()Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+PLcom/android/server/pm/PackageManagerService$Injector;->getPermissionPolicyInternal()Lcom/android/server/policy/PermissionPolicyInternal;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getSettings()Lcom/android/server/pm/Settings;
+PLcom/android/server/pm/PackageManagerService$Injector;->getStorageManager()Landroid/os/storage/StorageManager;
+PLcom/android/server/pm/PackageManagerService$Injector;->getStorageManagerInternal()Landroid/os/storage/StorageManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
+HSPLcom/android/server/pm/PackageManagerService$Injector;->getUserManagerService()Lcom/android/server/pm/UserManagerService;
+PLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$InstallParams;)V
+PLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILcom/android/server/pm/InstallSource;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;ILcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;)V
PLcom/android/server/pm/PackageManagerService$InstallArgs;->getUser()Landroid/os/UserHandle;
PLcom/android/server/pm/PackageManagerService$InstallParams$1;-><init>(Lcom/android/server/pm/PackageManagerService$InstallParams;I)V
PLcom/android/server/pm/PackageManagerService$InstallParams$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
PLcom/android/server/pm/PackageManagerService$InstallParams;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;)V
+PLcom/android/server/pm/PackageManagerService$InstallParams;->access$800(Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
PLcom/android/server/pm/PackageManagerService$InstallParams;->handleReturnCode()V
PLcom/android/server/pm/PackageManagerService$InstallParams;->handleStartCopy()V
PLcom/android/server/pm/PackageManagerService$InstallParams;->handleVerificationFinished()V
PLcom/android/server/pm/PackageManagerService$InstallParams;->installLocationPolicy(Landroid/content/pm/PackageInfoLite;)I
-PLcom/android/server/pm/PackageManagerService$InstallParams;->setReturnCode(I)V
-HSPLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/Context;Landroid/content/ComponentName;)V
-PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/IntentFilter;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService$InstallRequest;-><init>(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
+PLcom/android/server/pm/PackageManagerService$InstallRequest;-><init>(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$1;)V
+PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/Context;Landroid/content/ComponentName;)V
PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/lang/String;)Z
PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->createDomainVerificationState(IIILjava/lang/String;)Lcom/android/server/pm/IntentFilterVerificationState;
PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->receiveVerificationResponse(I)V
PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->sendVerificationRequest(ILcom/android/server/pm/IntentFilterVerificationState;)V
PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->startVerifications(I)V
HSPLcom/android/server/pm/PackageManagerService$MoveCallbacks;-><init>(Landroid/os/Looper;)V
-HSPLcom/android/server/pm/PackageManagerService$MoveCallbacks;->register(Landroid/content/pm/IPackageMoveObserver;)V
-HSPLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;-><init>(Landroid/os/Looper;)V
-HSPLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->handleOnPermissionsChanged(I)V
-HSPLcom/android/server/pm/PackageManagerService$PackageFreezer;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageFreezer;->close()V
-HSPLcom/android/server/pm/PackageManagerService$PackageFreezer;->finalize()V
+PLcom/android/server/pm/PackageManagerService$MoveCallbacks;->register(Landroid/content/pm/IPackageMoveObserver;)V
+PLcom/android/server/pm/PackageManagerService$OriginInfo;-><init>(Ljava/io/File;ZZ)V
+PLcom/android/server/pm/PackageManagerService$OriginInfo;->fromNothing()Lcom/android/server/pm/PackageManagerService$OriginInfo;
+PLcom/android/server/pm/PackageManagerService$OriginInfo;->fromStagedFile(Ljava/io/File;)Lcom/android/server/pm/PackageManagerService$OriginInfo;
+PLcom/android/server/pm/PackageManagerService$PackageFreezer;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService$PackageFreezer;->close()V
+PLcom/android/server/pm/PackageManagerService$PackageFreezer;->finalize()V
HSPLcom/android/server/pm/PackageManagerService$PackageHandler;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;)V
PLcom/android/server/pm/PackageManagerService$PackageHandler;->doHandleMessage(Landroid/os/Message;)V
PLcom/android/server/pm/PackageManagerService$PackageHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/PackageManagerService$PackageInstalledInfo;-><init>()V
PLcom/android/server/pm/PackageManagerService$PackageInstalledInfo;->setReturnCode(I)V
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$1;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->addIsolatedUid(II)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->canAccessComponent(ILandroid/content/ComponentName;I)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->canAccessInstantApps(II)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->filterAppAccess(Landroid/content/pm/PackageParser$Package;II)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->finishPackageInstall(IZ)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->addIsolatedUid(II)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->areDefaultRuntimePermissionsGranted(I)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->filterAppAccess(Landroid/content/pm/PackageParser$Package;II)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->filterAppAccess(Ljava/lang/String;II)Z
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->filterOnlySystemPackages([Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->forEachInstalledPackage(Ljava/util/function/Consumer;I)V
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->forEachPackage(Ljava/util/function/Consumer;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->freeStorage(Ljava/lang/String;JI)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getActivityInfo(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getApplicationEnabledState(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getApplicationEnabledState(Ljava/lang/String;I)I
PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getApplicationInfo(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getAppsWithSharedUserIds()Landroid/util/SparseArray;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledSystemPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledSystemPackageName(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDistractingPackageRestrictions(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getEnabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getInstalledApplications(III)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getInstantAppPackageName(I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getKnownPackageName(II)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getNameForUid(I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getOverlayPackages(I)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledSystemPackageName(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDistractingPackageRestrictions(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getEnabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getInstantAppPackageName(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getKnownPackageNames(II)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getOverlayPackages(I)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackage(I)Landroid/content/pm/PackageParser$Package;
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageInfo(Ljava/lang/String;III)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Landroid/content/pm/PackageList;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageTargetSdkVersion(Ljava/lang/String;)I
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageUid(Ljava/lang/String;II)I
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Lcom/android/server/pm/PackageList;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageTargetSdkVersion(Ljava/lang/String;)I
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageUid(Ljava/lang/String;II)I
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackagesForSharedUserId(Ljava/lang/String;I)[Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSetupWizardPackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSharedUserIdForPackage(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSigningDetails(I)Landroid/content/pm/PackageParser$SigningDetails;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getTargetPackageNames(I)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getUidTargetSdkVersion(I)I
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->grantEphemeralAccess(ILandroid/content/Intent;II)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasSignatureCapability(III)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSharedUserIdForPackage(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSigningDetails(I)Landroid/content/pm/PackageParser$SigningDetails;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSigningDetails(Ljava/lang/String;)Landroid/content/pm/PackageParser$SigningDetails;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getTargetPackageNames(I)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getUidTargetSdkVersion(I)I
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->grantImplicitAccess(ILandroid/content/Intent;II)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasInstantApplicationMetadata(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasSignatureCapability(III)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isCallerInstallerOfRecord(Landroid/content/pm/PackageParser$Package;I)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isDataRestoreSafe(Landroid/content/pm/Signature;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isDataRestoreSafe([BLjava/lang/String;)Z
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isEnabledAndMatches(Landroid/content/pm/ComponentInfo;II)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantApp(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantAppInstallerComponent(Landroid/content/ComponentName;)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isOnlyCoreApps()Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageEphemeral(ILjava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackagePersistent(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageSuspended(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPlatformSigned(Ljava/lang/String;)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isResolveActivityComponent(Landroid/content/pm/ComponentInfo;)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->pruneInstantApps()V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->queryIntentActivities(Landroid/content/Intent;III)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDefaultBrowserProvider(Landroid/content/pm/PackageManagerInternal$DefaultBrowserProvider;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDefaultHomeProvider(Landroid/content/pm/PackageManagerInternal$DefaultHomeProvider;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setEnabledOverlayPackages(ILjava/lang/String;Ljava/util/List;)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setLocationExtraPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setSyncAdapterPackagesprovider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantApp(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantAppInstallerComponent(Landroid/content/ComponentName;)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageDataProtected(ILjava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageEphemeral(ILjava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackagePersistent(Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageSuspended(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->migrateLegacyObbData()V
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;III)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setEnabledOverlayPackages(ILjava/lang/String;Ljava/util/List;)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->userNeedsBadging(I)Z
PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->wasPackageEverLaunched(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
-HSPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->isAudioPlaybackCaptureAllowed([Ljava/lang/String;)[Z
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->writePermissionSettings([IZ)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->writeSettings(Z)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$1;)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
+PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->isAudioPlaybackCaptureAllowed([Ljava/lang/String;)[Z
HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getOverlayApks(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPackages(Ljava/util/Collection;Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPaths(Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->hasFeature(Ljava/lang/String;)Z
PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;-><init>(Lcom/android/server/pm/PackageSender;)V
-PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->populateUsers([ILcom/android/server/pm/PackageSetting;)V
-HSPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendPackageRemovedBroadcastInternal(Z)V
+PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendPackageRemovedBroadcastInternal(Z)V
PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendPackageRemovedBroadcasts(Z)V
-HSPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendSystemPackageAppearedBroadcasts()V
-HSPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendSystemPackageUpdatedBroadcasts()V
-HSPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-HSPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;->findStaticOverlayPackages()V
-HSPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;->getStaticOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;-><init>()V
-PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->clear()V
-HSPLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->get(ILjava/lang/String;)Ljava/util/ArrayList;
-PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->packagesForUserId(I)Landroid/util/ArrayMap;
-HSPLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->put(ILjava/lang/String;Ljava/util/ArrayList;)V
-HSPLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->remove(ILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->size()I
-PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->userIdAt(I)I
-PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->userIdCount()I
-PLcom/android/server/pm/PackageManagerService$PrepareResult;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;ZIILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;ZZLjava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageFreezer;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;)V
-PLcom/android/server/pm/PackageManagerService$PrepareResult;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;ZIILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;ZZLjava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageFreezer;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$1;)V
+PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->get(ILjava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->put(ILjava/lang/String;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->remove(ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService$PostInstallData;-><init>(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Ljava/lang/Runnable;)V
+PLcom/android/server/pm/PackageManagerService$PrepareResult;-><init>(ZIILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;ZZLcom/android/server/pm/PackageManagerService$PackageFreezer;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/PackageManagerService$PrepareResult;-><init>(ZIILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;ZZLcom/android/server/pm/PackageManagerService$PackageFreezer;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$1;)V
+HSPLcom/android/server/pm/PackageManagerService$ReconcileRequest;-><init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
HSPLcom/android/server/pm/PackageManagerService$ReconcileRequest;-><init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/pm/PackageManagerService$1;)V
HSPLcom/android/server/pm/PackageManagerService$ReconcileRequest;-><init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
-HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;-><init>(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$PrepareResult;Lcom/android/server/pm/PackageManagerService$ScanResult;Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZLcom/android/server/pm/PackageManagerService$1;)V
-HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;->hasDynamicSharedLibraries()Z
+PLcom/android/server/pm/PackageManagerService$ReconcileRequest;-><init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/pm/PackageManagerService$1;)V
+HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;-><init>(Lcom/android/server/pm/PackageManagerService$ReconcileRequest;Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$PrepareResult;Lcom/android/server/pm/PackageManagerService$ScanResult;Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZ)V
+HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;-><init>(Lcom/android/server/pm/PackageManagerService$ReconcileRequest;Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$PrepareResult;Lcom/android/server/pm/PackageManagerService$ScanResult;Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZLcom/android/server/pm/PackageManagerService$1;)V
+HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;->access$2000(Lcom/android/server/pm/PackageManagerService$ReconciledPackage;)Ljava/util/Map;
+HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;->getCombinedPackages()Ljava/util/Map;
HSPLcom/android/server/pm/PackageManagerService$ScanRequest;-><init>(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/SharedUserSetting;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;)V
HSPLcom/android/server/pm/PackageManagerService$ScanResult;-><init>(Lcom/android/server/pm/PackageManagerService$ScanRequest;ZLcom/android/server/pm/PackageSetting;Ljava/util/List;ZLandroid/content/pm/SharedLibraryInfo;Ljava/util/List;)V
-HSPLcom/android/server/pm/PackageManagerService;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/pm/PackageManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;ZZ)V
-PLcom/android/server/pm/PackageManagerService;->access$000(Lcom/android/server/pm/PackageManagerService;)J
-PLcom/android/server/pm/PackageManagerService;->access$100(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/DeviceIdleController$LocalService;
-PLcom/android/server/pm/PackageManagerService;->access$2300()Z
-PLcom/android/server/pm/PackageManagerService;->access$2700(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
-PLcom/android/server/pm/PackageManagerService;->access$2800(Lcom/android/server/pm/PackageManagerService;III)Z
-PLcom/android/server/pm/PackageManagerService;->access$2900(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$3008(Lcom/android/server/pm/PackageManagerService;)I
-PLcom/android/server/pm/PackageManagerService;->access$3100(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$3200(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
+HSPLcom/android/server/pm/PackageManagerService$SystemPartition;-><init>(Ljava/io/File;IZ)V
+HSPLcom/android/server/pm/PackageManagerService$SystemPartition;-><init>(Ljava/io/File;IZLcom/android/server/pm/PackageManagerService$1;)V
+HSPLcom/android/server/pm/PackageManagerService$SystemPartition;->shouldScanPrivApps(I)Z
+HSPLcom/android/server/pm/PackageManagerService$SystemPartition;->toCanonical(Ljava/io/File;)Ljava/io/File;
+PLcom/android/server/pm/PackageManagerService$VerificationInfo;-><init>(Landroid/net/Uri;Landroid/net/Uri;II)V
+HSPLcom/android/server/pm/PackageManagerService;-><clinit>()V
+HSPLcom/android/server/pm/PackageManagerService;-><init>(Lcom/android/server/pm/PackageManagerService$Injector;ZZ)V
+PLcom/android/server/pm/PackageManagerService;->access$100(Lcom/android/server/pm/PackageManagerService;)J
+PLcom/android/server/pm/PackageManagerService;->access$1200(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$IntentFilterVerifier;
+PLcom/android/server/pm/PackageManagerService;->access$200(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$Injector;
+PLcom/android/server/pm/PackageManagerService;->access$2800(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
+PLcom/android/server/pm/PackageManagerService;->access$2900(Lcom/android/server/pm/PackageManagerService;III)Z
+PLcom/android/server/pm/PackageManagerService;->access$3000(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->access$3108(Lcom/android/server/pm/PackageManagerService;)I
+PLcom/android/server/pm/PackageManagerService;->access$3200(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->access$3300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->access$400(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZLjava/util/ArrayList;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->access$4500(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->access$4600(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/InstantAppRegistry;
+PLcom/android/server/pm/PackageManagerService;->access$4800(Lcom/android/server/pm/PackageManagerService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/pm/PackageManagerService;->access$5800(Lcom/android/server/pm/PackageManagerService;I)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->access$5900(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSetting;II)Z
+HSPLcom/android/server/pm/PackageManagerService;->access$6000(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;J)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->access$6100(Lcom/android/server/pm/PackageManagerService;)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageManagerService;->access$6200(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+PLcom/android/server/pm/PackageManagerService;->access$6500(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/PackageManagerService;->access$6600(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/PackageManagerService;->access$6800(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIIZZ)Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService;->access$7100(Lcom/android/server/pm/PackageManagerService;I)Z
+PLcom/android/server/pm/PackageManagerService;->access$7300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;II)Z
+PLcom/android/server/pm/PackageManagerService;->access$7400(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/AppsFilter;
+PLcom/android/server/pm/PackageManagerService;->access$7600(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSetting;II)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/PackageManagerService;->access$7700(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->access$7800(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->access$7900(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/pm/PackageManagerService;->access$8000(Lcom/android/server/pm/PackageManagerService;I)I
+PLcom/android/server/pm/PackageManagerService;->access$8100(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;)I
+HPLcom/android/server/pm/PackageManagerService;->access$8200(Lcom/android/server/pm/PackageManagerService;II)Z
+PLcom/android/server/pm/PackageManagerService;->access$8400(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->access$8700(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)[Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService;->addBuiltInSharedLibraryLocked(Ljava/lang/String;Ljava/lang/String;)Z
PLcom/android/server/pm/PackageManagerService;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V
HSPLcom/android/server/pm/PackageManagerService;->addForInitLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
-HSPLcom/android/server/pm/PackageManagerService;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-HSPLcom/android/server/pm/PackageManagerService;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/PackageSetting;[Ljava/lang/String;[ZII)V
-PLcom/android/server/pm/PackageManagerService;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-HSPLcom/android/server/pm/PackageManagerService;->addPreferredActivityInternal(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;ZILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/PackageSetting;[Ljava/lang/String;[ZII)V
+PLcom/android/server/pm/PackageManagerService;->addPreferredActivityInternal(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;ZILjava/lang/String;)V
HSPLcom/android/server/pm/PackageManagerService;->addSharedLibraryLPr(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/PackageParser$Package;)V
HSPLcom/android/server/pm/PackageManagerService;->addSharedLibraryToPackageVersionMap(Ljava/util/Map;Landroid/content/pm/SharedLibraryInfo;)Z
-HSPLcom/android/server/pm/PackageManagerService;->adjustCpuAbisForSharedUserLPw(Ljava/util/Set;Landroid/content/pm/PackageParser$Package;)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->adjustScanFlags(ILcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$Package;)I
PLcom/android/server/pm/PackageManagerService;->apkHasCode(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerService;->applyAdjustedAbiToSharedUser(Lcom/android/server/pm/SharedUserSetting;Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->applyDefiningSharedLibraryUpdateLocked(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/SharedLibraryInfo;Ljava/util/function/BiConsumer;)V
HSPLcom/android/server/pm/PackageManagerService;->applyPolicy(Landroid/content/pm/PackageParser$Package;IILandroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/PackageManagerService;->applyPostContentProviderResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->applyPostContentProviderResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->applyPostResolutionFilter(Ljava/util/List;Ljava/lang/String;ZIZILandroid/content/Intent;)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->arrayToString([I)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
PLcom/android/server/pm/PackageManagerService;->assertCodePolicy(Landroid/content/pm/PackageParser$Package;)V
HSPLcom/android/server/pm/PackageManagerService;->assertPackageIsValid(Landroid/content/pm/PackageParser$Package;II)V
HSPLcom/android/server/pm/PackageManagerService;->assertPackageKnownAndInstalled(Ljava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/pm/PackageManagerService;->broadcastPackageVerified(ILandroid/net/Uri;ILandroid/os/UserHandle;)V
-HSPLcom/android/server/pm/PackageManagerService;->calculateBundledApkRoot(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->canForwardTo(Landroid/content/Intent;Ljava/lang/String;II)Z
HSPLcom/android/server/pm/PackageManagerService;->canSkipForcedApkVerification(Ljava/lang/String;)Z
HSPLcom/android/server/pm/PackageManagerService;->canSkipForcedPackageVerification(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerService;->canSuspendPackageForUserInternal([Ljava/lang/String;I)[Z
-HSPLcom/android/server/pm/PackageManagerService;->canViewInstantApps(II)Z
-HSPLcom/android/server/pm/PackageManagerService;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->canSuspendPackageForUserInternal([Ljava/lang/String;I)[Z
+HPLcom/android/server/pm/PackageManagerService;->canViewInstantApps(II)Z
+PLcom/android/server/pm/PackageManagerService;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
PLcom/android/server/pm/PackageManagerService;->checkDowngrade(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageInfoLite;)V
PLcom/android/server/pm/PackageManagerService;->checkPackageFrozen(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLcom/android/server/pm/PackageManagerService;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
-HSPLcom/android/server/pm/PackageManagerService;->checkUidPermission(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/PackageManagerService;->checkUidPermissionImpl(Ljava/lang/String;I)I
+PLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerService;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/pm/PackageManagerService;->checkUidPermission(Ljava/lang/String;I)I
PLcom/android/server/pm/PackageManagerService;->checkUidSignatures(II)I
-HSPLcom/android/server/pm/PackageManagerService;->chooseBestActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->cleanPackageDataStructuresLILPw(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/PackageManagerService;->clearAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
-HSPLcom/android/server/pm/PackageManagerService;->clearAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
-HSPLcom/android/server/pm/PackageManagerService;->clearAppProfilesLIF(Landroid/content/pm/PackageParser$Package;I)V
+HPLcom/android/server/pm/PackageManagerService;->chooseBestActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->cleanPackageDataStructuresLILPw(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/PackageManagerService;->clearAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
+PLcom/android/server/pm/PackageManagerService;->clearAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
+PLcom/android/server/pm/PackageManagerService;->clearAppProfilesLIF(Landroid/content/pm/PackageParser$Package;I)V
+PLcom/android/server/pm/PackageManagerService;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)V
+PLcom/android/server/pm/PackageManagerService;->clearApplicationUserDataLIF(Ljava/lang/String;I)Z
PLcom/android/server/pm/PackageManagerService;->clearCrossProfileIntentFilters(ILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->clearDefaultBrowserIfNeeded(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->clearIntentFilterVerificationsLPw(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivitiesLPw(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivitiesLPw(Ljava/lang/String;ZI)Z
-HSPLcom/android/server/pm/PackageManagerService;->clearPackageStateForUserLIF(Lcom/android/server/pm/PackageSetting;ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;I)V
-HSPLcom/android/server/pm/PackageManagerService;->collectAbsoluteCodePaths()Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->collectAbsoluteCodePaths()Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->collectCertificatesLI(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;ZZ)V
HSPLcom/android/server/pm/PackageManagerService;->collectSharedLibraryInfos(Landroid/content/pm/PackageParser$Package;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList;
HSPLcom/android/server/pm/PackageManagerService;->collectSharedLibraryInfos(Ljava/util/List;[J[[Ljava/lang/String;Ljava/lang/String;ZILjava/util/ArrayList;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList;
@@ -10844,522 +12189,516 @@ HSPLcom/android/server/pm/PackageManagerService;->commitPackageSettings(Landroid
PLcom/android/server/pm/PackageManagerService;->commitPackagesLocked(Lcom/android/server/pm/PackageManagerService$CommitRequest;)V
HSPLcom/android/server/pm/PackageManagerService;->commitReconciledScanResultLocked(Lcom/android/server/pm/PackageManagerService$ReconciledPackage;)V
HSPLcom/android/server/pm/PackageManagerService;->commitSharedLibraryInfoLocked(Landroid/content/pm/SharedLibraryInfo;)V
-HSPLcom/android/server/pm/PackageManagerService;->createForwardingResolveInfo(Lcom/android/server/pm/CrossProfileIntentFilter;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->createForwardingResolveInfoUnchecked(Landroid/content/IntentFilter;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->createInstallArgsForExisting(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
-PLcom/android/server/pm/PackageManagerService;->currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->decompressSystemApplications(Ljava/util/List;I)V
-PLcom/android/server/pm/PackageManagerService;->deleteInstalledPackageLIF(Lcom/android/server/pm/PackageSetting;ZI[ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;ZLandroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/PackageManagerService;->deletePackageLIF(Ljava/lang/String;Landroid/os/UserHandle;Z[IILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;ZLandroid/content/pm/PackageParser$Package;)Z
-HSPLcom/android/server/pm/PackageManagerService;->deletePackageVersioned(Landroid/content/pm/VersionedPackage;Landroid/content/pm/IPackageDeleteObserver2;II)V
-HSPLcom/android/server/pm/PackageManagerService;->deletePackageX(Ljava/lang/String;JII)I
+HSPLcom/android/server/pm/PackageManagerService;->configurePackageComponents(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/PackageManagerService;->createForwardingResolveInfo(Lcom/android/server/pm/CrossProfileIntentFilter;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->createForwardingResolveInfoUnchecked(Landroid/content/IntentFilter;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->createInstallArgs(Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
HSPLcom/android/server/pm/PackageManagerService;->deleteTempPackageFiles()V
-HSPLcom/android/server/pm/PackageManagerService;->deriveCodePathName(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->derivePackageAbi(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Z)V
-HSPLcom/android/server/pm/PackageManagerService;->destroyAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
-HSPLcom/android/server/pm/PackageManagerService;->destroyAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
-HSPLcom/android/server/pm/PackageManagerService;->destroyAppProfilesLIF(Landroid/content/pm/PackageParser$Package;I)V
-HSPLcom/android/server/pm/PackageManagerService;->destroyAppProfilesLeafLIF(Landroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/PackageManagerService;->disableSkuSpecificApps()V
+PLcom/android/server/pm/PackageManagerService;->disableSkuSpecificApps()V
PLcom/android/server/pm/PackageManagerService;->disableSystemPackageLPw(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)Z
-HSPLcom/android/server/pm/PackageManagerService;->doSendBroadcast(Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZ)V
+PLcom/android/server/pm/PackageManagerService;->doSendBroadcast(Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZ)V
PLcom/android/server/pm/PackageManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->dumpCompilerStatsLPr(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->dumpDexoptStateLPr(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->dumpDomainString(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->dumpFeaturesProto(Landroid/util/proto/ProtoOutputStream;)V
-PLcom/android/server/pm/PackageManagerService;->dumpProto(Ljava/io/FileDescriptor;)V
-PLcom/android/server/pm/PackageManagerService;->dumpSharedLibrariesProto(Landroid/util/proto/ProtoOutputStream;)V
-HSPLcom/android/server/pm/PackageManagerService;->enableSystemUserPackages()V
PLcom/android/server/pm/PackageManagerService;->enforceOwnerRights(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->enforceSystemOrPhoneCaller(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->executeDeletePackageLIF(Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/lang/String;Z[IZLandroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/PackageManagerService;->enforceSystemOrRoot(Ljava/lang/String;)V
PLcom/android/server/pm/PackageManagerService;->executePostCommitSteps(Lcom/android/server/pm/PackageManagerService$CommitRequest;)V
HSPLcom/android/server/pm/PackageManagerService;->executeSharedLibrariesUpdateLPr(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
-PLcom/android/server/pm/PackageManagerService;->extendVerificationTimeout(IIJ)V
PLcom/android/server/pm/PackageManagerService;->extrasForInstallResult(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)Landroid/os/Bundle;
-HSPLcom/android/server/pm/PackageManagerService;->filterAppAccessLPr(Lcom/android/server/pm/PackageSetting;II)Z
-HSPLcom/android/server/pm/PackageManagerService;->filterAppAccessLPr(Lcom/android/server/pm/PackageSetting;ILandroid/content/ComponentName;II)Z
-HSPLcom/android/server/pm/PackageManagerService;->filterCandidatesWithDomainPreferredActivitiesLPr(Landroid/content/Intent;ILjava/util/List;Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;I)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->filterCandidatesWithDomainPreferredActivitiesLPr(Landroid/content/Intent;ILjava/util/List;Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;I)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->filterIfNotSystemUser(Ljava/util/List;I)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->filterSharedLibPackageLPr(Lcom/android/server/pm/PackageSetting;III)Z
-HSPLcom/android/server/pm/PackageManagerService;->findPersistentPreferredActivityLP(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;ZI)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->findPreferredActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;IZZZI)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->findSharedLibraries(Landroid/content/pm/PackageParser$Package;)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->findSharedLibrariesRecursive(Landroid/content/pm/SharedLibraryInfo;Ljava/util/ArrayList;Ljava/util/Set;)V
-PLcom/android/server/pm/PackageManagerService;->findSharedNonSystemLibraries(Landroid/content/pm/PackageParser$Package;)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerService;->filterSharedLibPackageLPr(Lcom/android/server/pm/PackageSetting;III)Z
+PLcom/android/server/pm/PackageManagerService;->findPersistentPreferredActivityLP(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;ZI)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/PackageManagerService;->findPreferredActivityNotLocked(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;IZZZI)Landroid/content/pm/ResolveInfo;
PLcom/android/server/pm/PackageManagerService;->finishPackageInstall(IZ)V
+HSPLcom/android/server/pm/PackageManagerService;->fixProcessName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/pm/PackageManagerService;->fixUpInstallReason(Ljava/lang/String;II)I
+HPLcom/android/server/pm/PackageManagerService;->forEachInstalledPackage(Ljava/util/function/Consumer;I)V
HSPLcom/android/server/pm/PackageManagerService;->forEachPackage(Ljava/util/function/Consumer;)V
PLcom/android/server/pm/PackageManagerService;->freeStorage(Ljava/lang/String;JI)V
PLcom/android/server/pm/PackageManagerService;->freeStorageAndNotify(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-HSPLcom/android/server/pm/PackageManagerService;->freezePackage(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
-HSPLcom/android/server/pm/PackageManagerService;->freezePackageForDelete(Ljava/lang/String;IILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
-PLcom/android/server/pm/PackageManagerService;->freezePackageForInstall(Ljava/lang/String;IILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
+PLcom/android/server/pm/PackageManagerService;->freezePackage(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
+PLcom/android/server/pm/PackageManagerService;->freezePackage(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
PLcom/android/server/pm/PackageManagerService;->freezePackageForInstall(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
-HSPLcom/android/server/pm/PackageManagerService;->generateApplicationInfoFromSettingsLPw(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/pm/PackageManagerService;->generatePackageInfo(Lcom/android/server/pm/PackageSetting;II)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/PackageManagerService;->generateApplicationInfoFromSettingsLPw(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/PackageManagerService;->generatePackageInfo(Lcom/android/server/pm/PackageSetting;II)Landroid/content/pm/PackageInfo;
PLcom/android/server/pm/PackageManagerService;->getActiveLauncherPackageName(I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getActivityInfoInternal(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/pm/PackageManagerService;->getAllIntentFilters(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/PackageManagerService;->getActivityInfoInternal(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
HSPLcom/android/server/pm/PackageManagerService;->getAllowedSharedLibInfos(Lcom/android/server/pm/PackageManagerService$ScanResult;Ljava/util/Map;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService;->getAppPredictionServicePackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getApplicationEnabledSetting(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/PackageManagerService;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getApplicationInfoInternal(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getAppsWithSharedUserIdsLocked()Landroid/util/SparseArray;
+HPLcom/android/server/pm/PackageManagerService;->getApplicationEnabledSetting(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageManagerService;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
+HPLcom/android/server/pm/PackageManagerService;->getApplicationInfoInternal(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
PLcom/android/server/pm/PackageManagerService;->getArtManager()Landroid/content/pm/dex/IArtManager;
-HSPLcom/android/server/pm/PackageManagerService;->getBlockUninstallForUser(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->getAttentionServicePackageName()Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getBlockUninstallForUser(Ljava/lang/String;I)Z
PLcom/android/server/pm/PackageManagerService;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
-PLcom/android/server/pm/PackageManagerService;->getCompilerPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
-HSPLcom/android/server/pm/PackageManagerService;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
+HPLcom/android/server/pm/PackageManagerService;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
PLcom/android/server/pm/PackageManagerService;->getCrossProfileDomainPreferredLpr(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getDeclaredSharedLibraries(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->getDeclaredSharedLibraries(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/PackageManagerService;->getDefaultAppsBackup(I)[B
-HSPLcom/android/server/pm/PackageManagerService;->getDefaultBrowserPackageName(I)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getDefaultDialerPackageName(I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getDefaultDisplayMetrics(Landroid/content/Context;Landroid/util/DisplayMetrics;)V
-HSPLcom/android/server/pm/PackageManagerService;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->getDexManager()Lcom/android/server/pm/dex/DexManager;
+HSPLcom/android/server/pm/PackageManagerService;->getDefaultDisplayMetrics(Landroid/hardware/display/DisplayManager;Landroid/util/DisplayMetrics;)V
+PLcom/android/server/pm/PackageManagerService;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
HSPLcom/android/server/pm/PackageManagerService;->getDocumenterPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getDomainVerificationStatusLPr(Lcom/android/server/pm/PackageSetting;I)J
-HSPLcom/android/server/pm/PackageManagerService;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
+PLcom/android/server/pm/PackageManagerService;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
PLcom/android/server/pm/PackageManagerService;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-HSPLcom/android/server/pm/PackageManagerService;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
+HPLcom/android/server/pm/PackageManagerService;->getHomeIntent()Landroid/content/Intent;
HSPLcom/android/server/pm/PackageManagerService;->getIncidentReportApproverPackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->getInstalledApplicationsListInternal(III)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerService;->getInstallSourceLocked(Ljava/lang/String;I)Lcom/android/server/pm/InstallSource;
+PLcom/android/server/pm/PackageManagerService;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->getInstalledApplicationsListInternal(III)Ljava/util/List;
PLcom/android/server/pm/PackageManagerService;->getInstalledModules(I)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getInstantAppInstallerLPr()Landroid/content/pm/ActivityInfo;
+HPLcom/android/server/pm/PackageManagerService;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppInstallerLPr()Landroid/content/pm/ActivityInfo;
HSPLcom/android/server/pm/PackageManagerService;->getInstantAppPackageName(I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getInstantAppResolverLPr()Landroid/util/Pair;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverLPr()Landroid/util/Pair;
PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
-HSPLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsLPr(Landroid/content/ComponentName;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsLPr(Landroid/content/ComponentName;)Landroid/content/ComponentName;
PLcom/android/server/pm/PackageManagerService;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerificationBackup(I)[B
-PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifications(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifierComponentNameLPr()Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->getIntentVerificationStatus(Ljava/lang/String;I)I
-PLcom/android/server/pm/PackageManagerService;->getLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;I)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifierComponentNameLPr()Landroid/content/ComponentName;
HSPLcom/android/server/pm/PackageManagerService;->getLatestSharedLibraVersionLPr(Landroid/content/pm/PackageParser$Package;)Landroid/content/pm/SharedLibraryInfo;
HSPLcom/android/server/pm/PackageManagerService;->getMatchingCrossProfileIntentFilters(Landroid/content/Intent;Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getNameForUid(I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getNamesForUids([I)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
+PLcom/android/server/pm/PackageManagerService;->getNameForUid(I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getNamesForUids([I)[Ljava/lang/String;
PLcom/android/server/pm/PackageManagerService;->getNextCodePath(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
PLcom/android/server/pm/PackageManagerService;->getOptimizablePackages()Landroid/util/ArraySet;
-PLcom/android/server/pm/PackageManagerService;->getOrCreateCompilerPackageStats(Landroid/content/pm/PackageParser$Package;)Lcom/android/server/pm/CompilerStats$PackageStats;
-PLcom/android/server/pm/PackageManagerService;->getOrCreateCompilerPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
HSPLcom/android/server/pm/PackageManagerService;->getOriginalPackageLocked(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/pm/PackageManagerService;->getPackageGids(Ljava/lang/String;II)[I
-HSPLcom/android/server/pm/PackageManagerService;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getPackageInfoInternal(Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
-HSPLcom/android/server/pm/PackageManagerService;->getPackageUid(Ljava/lang/String;II)I
-PLcom/android/server/pm/PackageManagerService;->getPackages()Ljava/util/Collection;
-HSPLcom/android/server/pm/PackageManagerService;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->getPackageGids(Ljava/lang/String;II)[I
+HPLcom/android/server/pm/PackageManagerService;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/PackageManagerService;->getPackageInfoInternal(Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/PackageManagerService;->getPackageInfoVersioned(Landroid/content/pm/VersionedPackage;II)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/PackageManagerService;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
+PLcom/android/server/pm/PackageManagerService;->getPackageTargetSdkVersionLockedLPr(Ljava/lang/String;)I
+HPLcom/android/server/pm/PackageManagerService;->getPackageUid(Ljava/lang/String;II)I
+HPLcom/android/server/pm/PackageManagerService;->getPackagesForSharedUserIdLocked(Ljava/lang/String;I)[Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getPackagesForUid(I)[Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->getPackagesUsingSharedLibraryLPr(Landroid/content/pm/SharedLibraryInfo;II)Ljava/util/List;
PLcom/android/server/pm/PackageManagerService;->getParentOrChildPackageChangedSharedUser(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getPermissionControllerPackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
-PLcom/android/server/pm/PackageManagerService;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->getPersistentApplicationsInternal(I)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
+PLcom/android/server/pm/PackageManagerService;->getPermissionControllerPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->getPersistentApplicationsInternal(I)Ljava/util/List;
PLcom/android/server/pm/PackageManagerService;->getPreferredActivityBackup(I)[B
-HSPLcom/android/server/pm/PackageManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/PackageManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
PLcom/android/server/pm/PackageManagerService;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
HSPLcom/android/server/pm/PackageManagerService;->getRealPackageName(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getRequiredButNotReallyRequiredVerifierLPr()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getRequiredInstallerLPr()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getRequiredPermissionControllerLPr()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getRequiredSharedLibraryLPr(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getRequiredUninstallerLPr()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/PackageManagerService;->getRequiredButNotReallyRequiredVerifierLPr()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredInstallerLPr()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredPermissionControllerLPr()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredSharedLibraryLPr(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getRequiredUninstallerLPr()Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/pm/PackageManagerService;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService;->getSettingsVersionForPackage(Landroid/content/pm/PackageParser$Package;)Lcom/android/server/pm/Settings$VersionInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageName()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageNameImpl()Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService;->getSharedLibLatestVersionSetting(Lcom/android/server/pm/PackageManagerService$ScanResult;)Lcom/android/server/pm/PackageSetting;
+HPLcom/android/server/pm/PackageManagerService;->getSharedLibraries(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
HSPLcom/android/server/pm/PackageManagerService;->getSharedLibraryInfo(Ljava/lang/String;JLjava/util/Map;Ljava/util/Map;)Landroid/content/pm/SharedLibraryInfo;
HSPLcom/android/server/pm/PackageManagerService;->getSharedLibraryInfoLPr(Ljava/lang/String;J)Landroid/content/pm/SharedLibraryInfo;
-HSPLcom/android/server/pm/PackageManagerService;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService;->getStorageManagerPackageName()Ljava/lang/String;
PLcom/android/server/pm/PackageManagerService;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
PLcom/android/server/pm/PackageManagerService;->getSystemSharedLibraryNames()[Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerService;->getSystemTextClassifierPackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->getUidTargetSdkVersionLockedLPr(I)I
+HPLcom/android/server/pm/PackageManagerService;->getSystemTextClassifierPackages()[Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getTelephonyPackageNames()[Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->getUidTargetSdkVersionLockedLPr(I)I
PLcom/android/server/pm/PackageManagerService;->getUnknownSourcesSettings()I
PLcom/android/server/pm/PackageManagerService;->getUnsuspendablePackagesForUser([Ljava/lang/String;I)[Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getUnusedPackages(J)Ljava/util/Set;
+PLcom/android/server/pm/PackageManagerService;->getVerificationTimeout()J
HSPLcom/android/server/pm/PackageManagerService;->getWellbeingPackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledCarrierApps([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->handlePackagePostInstall(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;)V
+PLcom/android/server/pm/PackageManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->handlePackagePostInstall(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;Ljava/util/List;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;)V
HSPLcom/android/server/pm/PackageManagerService;->hasNonNegativePriority(Ljava/util/List;)Z
HSPLcom/android/server/pm/PackageManagerService;->hasSystemFeature(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService;->hasSystemUidErrors()Z
-PLcom/android/server/pm/PackageManagerService;->hasTargetSdkInUidLowerThan(II)Z
-PLcom/android/server/pm/PackageManagerService;->installExistingPackageAsUser(Ljava/lang/String;III)I
-PLcom/android/server/pm/PackageManagerService;->installExistingPackageAsUser(Ljava/lang/String;IIILandroid/content/IntentSender;)I
+PLcom/android/server/pm/PackageManagerService;->hasSystemUidErrors()Z
PLcom/android/server/pm/PackageManagerService;->installPackagesLI(Ljava/util/List;)V
PLcom/android/server/pm/PackageManagerService;->installPackagesTracedLI(Ljava/util/List;)V
PLcom/android/server/pm/PackageManagerService;->installStage(Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;)V
-PLcom/android/server/pm/PackageManagerService;->isCallerAllowedToSilentlyUninstall(ILjava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerService;->installSystemStubPackages(Ljava/util/List;I)V
+PLcom/android/server/pm/PackageManagerService;->installWhitelistedSystemPackages()V
+HPLcom/android/server/pm/PackageManagerService;->isCallerSameApp(Ljava/lang/String;I)Z
PLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Landroid/content/pm/PackageParser$Package;)Z
HSPLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
+HSPLcom/android/server/pm/PackageManagerService;->isDeviceUpgrading()Z
HSPLcom/android/server/pm/PackageManagerService;->isExternal(Landroid/content/pm/PackageParser$Package;)Z
HSPLcom/android/server/pm/PackageManagerService;->isExternal(Lcom/android/server/pm/PackageSetting;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isFirstBoot()Z
-PLcom/android/server/pm/PackageManagerService;->isHistoricalPackageUsageAvailable()Z
-HSPLcom/android/server/pm/PackageManagerService;->isHomeIntent(Landroid/content/Intent;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isInstantApp(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->isFirstBoot()Z
+PLcom/android/server/pm/PackageManagerService;->isHomeIntent(Landroid/content/Intent;)Z
+PLcom/android/server/pm/PackageManagerService;->isInstantApp(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerService;->isInstantAppInternal(Ljava/lang/String;II)Z
HSPLcom/android/server/pm/PackageManagerService;->isInstantAppResolutionAllowed(Landroid/content/Intent;Ljava/util/List;IZ)Z
+PLcom/android/server/pm/PackageManagerService;->isOdmApp(Landroid/content/pm/PackageParser$Package;)Z
PLcom/android/server/pm/PackageManagerService;->isOemApp(Landroid/content/pm/PackageParser$Package;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isOnlyCoreApps()Z
-HSPLcom/android/server/pm/PackageManagerService;->isOrphaned(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isPackageAvailable(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService;->isPackageDeviceAdmin(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->isOnlyCoreApps()Z
+HPLcom/android/server/pm/PackageManagerService;->isPackageAvailable(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerService;->isPackageDeviceAdmin(Ljava/lang/String;I)Z
HSPLcom/android/server/pm/PackageManagerService;->isPackageRenamed(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageManagerService;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
PLcom/android/server/pm/PackageManagerService;->isPrivilegedApp(Landroid/content/pm/PackageParser$Package;)Z
PLcom/android/server/pm/PackageManagerService;->isProductApp(Landroid/content/pm/PackageParser$Package;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isProtectedBroadcast(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isRecentsAccessingChildProfiles(II)Z
+HPLcom/android/server/pm/PackageManagerService;->isProtectedBroadcast(Ljava/lang/String;)Z
+HPLcom/android/server/pm/PackageManagerService;->isRecentsAccessingChildProfiles(II)Z
PLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Landroid/content/pm/PackageParser$Package;)Z
HSPLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
PLcom/android/server/pm/PackageManagerService;->isSafeMode()Z
PLcom/android/server/pm/PackageManagerService;->isStorageLow()Z
HSPLcom/android/server/pm/PackageManagerService;->isSystemApp(Landroid/content/pm/PackageParser$Package;)Z
-HSPLcom/android/server/pm/PackageManagerService;->isUidPrivileged(I)Z
-HSPLcom/android/server/pm/PackageManagerService;->isUpgrade()Z
-HSPLcom/android/server/pm/PackageManagerService;->isUserEnabled(I)Z
-HSPLcom/android/server/pm/PackageManagerService;->isUserRestricted(ILjava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService;->isUidPrivileged(I)Z
+PLcom/android/server/pm/PackageManagerService;->isUserEnabled(I)Z
+PLcom/android/server/pm/PackageManagerService;->isUserRestricted(ILjava/lang/String;)Z
PLcom/android/server/pm/PackageManagerService;->isVendorApp(Landroid/content/pm/PackageParser$Package;)Z
PLcom/android/server/pm/PackageManagerService;->isVerificationEnabled(III)Z
-HSPLcom/android/server/pm/PackageManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->killUid(IILjava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$6$PackageManagerService(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$deletePackageVersioned$19$PackageManagerService(Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$1$PackageManagerService(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$33$PackageManagerService([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$new$0$PackageManagerService(Ljava/util/List;I)V
-PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$14$PackageManagerService(Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$23(I)V
-PLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$13$PackageManagerService(ZLjava/util/List;)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$34$PackageManagerService([Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->lambda$sendPackageAddedForNewUsers$9$PackageManagerService([ILjava/lang/String;Z)V
-HSPLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$7$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
-HSPLcom/android/server/pm/PackageManagerService;->locationIsPrivileged(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$15$PackageManagerService(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
+HSPLcom/android/server/pm/PackageManagerService;->lambda$executeSharedLibrariesUpdateLPr$14(Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/SharedLibraryInfo;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$10$PackageManagerService(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$0(Ljava/lang/Object;Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/ComponentResolver;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$1(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$2(Landroid/content/Context;Lcom/android/server/pm/Installer;Ljava/lang/Object;ZLjava/lang/Object;Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$3(Ljava/lang/Object;Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/Settings;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$4(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/AppsFilter;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$main$5(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/compat/PlatformCompat;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$new$7(Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/PackageManagerService$SystemPartition;
+HSPLcom/android/server/pm/PackageManagerService;->lambda$new$8(Lcom/android/server/pm/PackageManagerService$SystemPartition;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->lambda$new$9$PackageManagerService(Ljava/util/List;I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$22$PackageManagerService(Ljava/lang/String;ILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$30(I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$21$PackageManagerService(ZLjava/util/List;)V
+HPLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$16$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$static$17(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
+PLcom/android/server/pm/PackageManagerService;->lambda$systemReady$35$PackageManagerService(I)V
+PLcom/android/server/pm/PackageManagerService;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
HSPLcom/android/server/pm/PackageManagerService;->main(Landroid/content/Context;Lcom/android/server/pm/Installer;ZZ)Lcom/android/server/pm/PackageManagerService;
-HSPLcom/android/server/pm/PackageManagerService;->markPackageUninstalledForUserLPw(Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;)V
PLcom/android/server/pm/PackageManagerService;->matchComponentForVerifier(Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
PLcom/android/server/pm/PackageManagerService;->matchVerifiers(Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->mayDeletePackageLocked(Lcom/android/server/pm/PackageManagerService$PackageRemovedInfo;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;ILandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerService$DeletePackageAction;
PLcom/android/server/pm/PackageManagerService;->maybeAddInstantAppInstaller(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->maybeClearProfilesForUpgradesLI(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;)V
HSPLcom/android/server/pm/PackageManagerService;->maybeMigrateAppDataLIF(Landroid/content/pm/PackageParser$Package;I)Z
-HSPLcom/android/server/pm/PackageManagerService;->maybeThrowExceptionForMultiArchCopy(Ljava/lang/String;I)V
PLcom/android/server/pm/PackageManagerService;->needsNetworkVerificationLPr(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
-HSPLcom/android/server/pm/PackageManagerService;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->notifyFirstLaunch(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/server/pm/PackageManagerService;->nonStaticSharedLibExistsLocked(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerService;->normalizePackageNameLPr(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->notifyInstallObserver(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/content/pm/IPackageInstallObserver2;)V
PLcom/android/server/pm/PackageManagerService;->notifyPackageAdded(Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->notifyPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->notifyPackageUse(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
-HSPLcom/android/server/pm/PackageManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/pm/PackageManagerService;->notifyPackageChanged(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->notifyPackageUse(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->notifyPackageUseLocked(Ljava/lang/String;I)V
+HPLcom/android/server/pm/PackageManagerService;->notifyPackagesReplacedReceived([Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
+HPLcom/android/server/pm/PackageManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/server/pm/PackageManagerService;->optimisticallyRegisterAppId(Lcom/android/server/pm/PackageManagerService$ScanResult;)Z
PLcom/android/server/pm/PackageManagerService;->packageIsBrowser(Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageManagerService;->performDexOpt(Lcom/android/server/pm/dex/DexoptOptions;)Z
-PLcom/android/server/pm/PackageManagerService;->performDexOptInternal(Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageManagerService;->performDexOptInternalWithDependenciesLI(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageManagerService;->performDexOptTraced(Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageManagerService;->performDexOptUpgrade(Ljava/util/List;ZIZ)[I
-PLcom/android/server/pm/PackageManagerService;->performDexOptWithStatus(Lcom/android/server/pm/dex/DexoptOptions;)I
-HSPLcom/android/server/pm/PackageManagerService;->performFstrimIfNeeded()V
+PLcom/android/server/pm/PackageManagerService;->performFstrimIfNeeded()V
PLcom/android/server/pm/PackageManagerService;->prepareAppDataAfterInstallLIF(Landroid/content/pm/PackageParser$Package;)V
HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataAndMigrateLIF(Landroid/content/pm/PackageParser$Package;IIZ)V
+PLcom/android/server/pm/PackageManagerService;->prepareAppDataContentsLIF(Landroid/content/pm/PackageParser$Package;II)V
HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataContentsLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
PLcom/android/server/pm/PackageManagerService;->preparePackageLI(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)Lcom/android/server/pm/PackageManagerService$PrepareResult;
HSPLcom/android/server/pm/PackageManagerService;->preparePackageParserCache()Ljava/io/File;
-HSPLcom/android/server/pm/PackageManagerService;->prepareScanResultLocked(Lcom/android/server/pm/PackageManagerService$ScanResult;)V
PLcom/android/server/pm/PackageManagerService;->processPendingInstall(Lcom/android/server/pm/PackageManagerService$InstallArgs;I)V
-HSPLcom/android/server/pm/PackageManagerService;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
HSPLcom/android/server/pm/PackageManagerService;->queryCrossProfileIntents(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;IIZ)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HSPLcom/android/server/pm/PackageManagerService;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;[Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/PackageManagerService;->queryIntentActivityOptionsInternal(Landroid/content/ComponentName;[Landroid/content/Intent;[Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentContentProvidersInternal(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentReceiversInternal(Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/PackageManagerService;->queryIntentServicesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZ)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->queryIntentContentProvidersInternal(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerService;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->queryIntentReceiversInternal(Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
+HPLcom/android/server/pm/PackageManagerService;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/PackageManagerService;->queryIntentServicesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZ)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->querySkipCurrentProfileIntents(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->reconcileApps(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->reconcileAppsData(IIZ)V
+PLcom/android/server/pm/PackageManagerService;->reconcileApps(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->reconcileAppsData(IIZ)V
+PLcom/android/server/pm/PackageManagerService;->reconcileAppsDataLI(Ljava/lang/String;IIZ)V
HSPLcom/android/server/pm/PackageManagerService;->reconcileAppsDataLI(Ljava/lang/String;IIZZ)Ljava/util/List;
HSPLcom/android/server/pm/PackageManagerService;->reconcilePackagesLocked(Lcom/android/server/pm/PackageManagerService$ReconcileRequest;Lcom/android/server/pm/KeySetManagerService;)Ljava/util/Map;
-HSPLcom/android/server/pm/PackageManagerService;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-HSPLcom/android/server/pm/PackageManagerService;->removeCodePathLI(Ljava/io/File;)V
-HSPLcom/android/server/pm/PackageManagerService;->removeDexFiles(Ljava/util/List;[Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->removeKeystoreDataIfNeeded(II)V
-PLcom/android/server/pm/PackageManagerService;->removeOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-PLcom/android/server/pm/PackageManagerService;->removePackageDataLIF(Lcom/android/server/pm/PackageSetting;[ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;IZ)V
-HSPLcom/android/server/pm/PackageManagerService;->removePackageLI(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/PackageManagerService;->removePackageLI(Ljava/lang/String;Z)V
-PLcom/android/server/pm/PackageManagerService;->removeSharedLibraryLPw(Ljava/lang/String;J)Z
-HSPLcom/android/server/pm/PackageManagerService;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
+PLcom/android/server/pm/PackageManagerService;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
+PLcom/android/server/pm/PackageManagerService;->removeCodePathLI(Ljava/io/File;)V
+PLcom/android/server/pm/PackageManagerService;->removeDexFiles(Ljava/util/List;[Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->removeKeystoreDataIfNeeded(Landroid/os/UserManagerInternal;II)V
+PLcom/android/server/pm/PackageManagerService;->removePackageLI(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/PackageManagerService;->removePackageLI(Ljava/lang/String;Z)V
+HSPLcom/android/server/pm/PackageManagerService;->renameStaticSharedLibraryPackage(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/PackageManagerService;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
HSPLcom/android/server/pm/PackageManagerService;->reportSettingsProblem(ILjava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->resetUserChangesToRuntimePermissionsAndFlagsLPw(Lcom/android/server/pm/PackageSetting;I)V
-HSPLcom/android/server/pm/PackageManagerService;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLcom/android/server/pm/PackageManagerService;->resolveContentProviderInternal(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLcom/android/server/pm/PackageManagerService;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->resolveIntentInternal(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
+HSPLcom/android/server/pm/PackageManagerService;->resolveApexToSystemPartition(Lcom/android/server/pm/ApexManager$ActiveApexInfo;)Lcom/android/server/pm/PackageManagerService$SystemPartition;
+HPLcom/android/server/pm/PackageManagerService;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/PackageManagerService;->resolveContentProviderInternal(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/pm/PackageManagerService;->resolveExternalPackageNameLPr(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
+HPLcom/android/server/pm/PackageManagerService;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/PackageManagerService;->resolveIntentInternal(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
HSPLcom/android/server/pm/PackageManagerService;->resolveInternalPackageNameLPr(Ljava/lang/String;J)Ljava/lang/String;
-HSPLcom/android/server/pm/PackageManagerService;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLcom/android/server/pm/PackageManagerService;->resolveServiceInternal(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+HPLcom/android/server/pm/PackageManagerService;->resolveServiceInternal(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
PLcom/android/server/pm/PackageManagerService;->restoreAndPostInstall(ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$PostInstallData;)V
-HSPLcom/android/server/pm/PackageManagerService;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/PackageManagerService;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
HSPLcom/android/server/pm/PackageManagerService;->scanDirLI(Ljava/io/File;IIJ)V
HSPLcom/android/server/pm/PackageManagerService;->scanDirTracedLI(Ljava/io/File;IIJ)V
HSPLcom/android/server/pm/PackageManagerService;->scanPackageChildLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
HSPLcom/android/server/pm/PackageManagerService;->scanPackageNewLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerService$ScanResult;
-HSPLcom/android/server/pm/PackageManagerService;->scanPackageOnlyLI(Lcom/android/server/pm/PackageManagerService$ScanRequest;ZJ)Lcom/android/server/pm/PackageManagerService$ScanResult;
+HSPLcom/android/server/pm/PackageManagerService;->scanPackageOnlyLI(Lcom/android/server/pm/PackageManagerService$ScanRequest;Lcom/android/server/pm/PackageManagerService$Injector;ZJ)Lcom/android/server/pm/PackageManagerService$ScanResult;
PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictionsLocked(I)V
-HSPLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictionsLocked(Landroid/os/UserHandle;)V
+PLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictionsLocked(I)V
PLcom/android/server/pm/PackageManagerService;->scheduleWriteSettingsLocked()V
-PLcom/android/server/pm/PackageManagerService;->sendBootCompletedBroadcastToSystemApp(Ljava/lang/String;ZI)V
+PLcom/android/server/pm/PackageManagerService;->sendFirstLaunchBroadcast(Ljava/lang/String;Ljava/lang/String;[I[I)V
PLcom/android/server/pm/PackageManagerService;->sendPackageAddedForNewUsers(Ljava/lang/String;ZZI[I[I)V
-PLcom/android/server/pm/PackageManagerService;->sendPackageAddedForUser(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;I)V
-HSPLcom/android/server/pm/PackageManagerService;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[I)V
-HSPLcom/android/server/pm/PackageManagerService;->sendPackageChangedBroadcast(Ljava/lang/String;ZLjava/util/ArrayList;I)V
+PLcom/android/server/pm/PackageManagerService;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[I)V
+HPLcom/android/server/pm/PackageManagerService;->sendPackageChangedBroadcast(Ljava/lang/String;ZLjava/util/ArrayList;ILjava/lang/String;)V
PLcom/android/server/pm/PackageManagerService;->sendSessionCommitBroadcast(Landroid/content/pm/PackageInstaller$SessionInfo;I)V
PLcom/android/server/pm/PackageManagerService;->setApplicationCategoryHint(Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->setBlockUninstallForUser(Ljava/lang/String;ZI)Z
-HSPLcom/android/server/pm/PackageManagerService;->setBundledAppAbi(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->setBundledAppAbisAndRoots(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;)V
-HSPLcom/android/server/pm/PackageManagerService;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
-HSPLcom/android/server/pm/PackageManagerService;->setEnabledSetting(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
+HPLcom/android/server/pm/PackageManagerService;->setBlockUninstallForUser(Ljava/lang/String;ZI)Z
+PLcom/android/server/pm/PackageManagerService;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
+PLcom/android/server/pm/PackageManagerService;->setEnabledSetting(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
PLcom/android/server/pm/PackageManagerService;->setInstallAndUpdateTime(Landroid/content/pm/PackageParser$Package;JJ)V
-HSPLcom/android/server/pm/PackageManagerService;->setInstantAppForUser(Lcom/android/server/pm/PackageSetting;IZZ)V
-PLcom/android/server/pm/PackageManagerService;->setLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/IntentFilter;ILandroid/content/ComponentName;)V
-HSPLcom/android/server/pm/PackageManagerService;->setNativeLibraryPaths(Landroid/content/pm/PackageParser$Package;Ljava/io/File;)V
-HSPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Ljava/lang/String;ZI)V
-HSPLcom/android/server/pm/PackageManagerService;->setSystemAppHiddenUntilInstalled(Ljava/lang/String;Z)V
-HSPLcom/android/server/pm/PackageManagerService;->setSystemAppInstallState(Ljava/lang/String;ZI)Z
+HSPLcom/android/server/pm/PackageManagerService;->setInstantAppForUser(Lcom/android/server/pm/PackageManagerService$Injector;Lcom/android/server/pm/PackageSetting;IZZ)V
+HPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Ljava/lang/String;ZI)V
+PLcom/android/server/pm/PackageManagerService;->setSystemAppHiddenUntilInstalled(Ljava/lang/String;Z)V
+PLcom/android/server/pm/PackageManagerService;->setSystemAppInstallState(Ljava/lang/String;ZI)Z
PLcom/android/server/pm/PackageManagerService;->setUpFsVerityIfPossible(Landroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/PackageManagerService;->setUpInstantAppInstallerActivityLP(Landroid/content/pm/ActivityInfo;)V
-PLcom/android/server/pm/PackageManagerService;->shouldShowRequestPermissionRationale(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService;->setUpInstantAppInstallerActivityLP(Landroid/content/pm/ActivityInfo;)V
+HSPLcom/android/server/pm/PackageManagerService;->sharedLibExists(Ljava/lang/String;JLjava/util/Map;)Z
+HPLcom/android/server/pm/PackageManagerService;->shouldFilterApplicationLocked(Lcom/android/server/pm/PackageSetting;II)Z
+HPLcom/android/server/pm/PackageManagerService;->shouldFilterApplicationLocked(Lcom/android/server/pm/PackageSetting;ILandroid/content/ComponentName;II)Z
PLcom/android/server/pm/PackageManagerService;->startIntentFilterVerifications(IZLandroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/PackageManagerService;->systemReady()V
-HSPLcom/android/server/pm/PackageManagerService;->unsuspendForNonSystemSuspendingPackages(Landroid/util/ArraySet;)V
-HSPLcom/android/server/pm/PackageManagerService;->unsuspendForSuspendingPackages(Ljava/util/function/Predicate;I)V
-HSPLcom/android/server/pm/PackageManagerService;->updateAllSharedLibrariesLPw(Landroid/content/pm/PackageParser$Package;)Ljava/util/ArrayList;
-HSPLcom/android/server/pm/PackageManagerService;->updateDefaultHomeLPw(I)V
-HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForPackage(IILjava/lang/Object;)I
-HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IILandroid/content/Intent;IZ)I
-HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IILandroid/content/Intent;IZZ)I
-HSPLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService;->updateIntentForResolve(Landroid/content/Intent;)Landroid/content/Intent;
-HSPLcom/android/server/pm/PackageManagerService;->updatePackagesIfNeeded()V
-HSPLcom/android/server/pm/PackageManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZI)V
-HSPLcom/android/server/pm/PackageManagerService;->updateSequenceNumberLP(Lcom/android/server/pm/PackageSetting;[I)V
-PLcom/android/server/pm/PackageManagerService;->updateSettingsInternalLI(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;[I[ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/os/UserHandle;I)V
-PLcom/android/server/pm/PackageManagerService;->updateSettingsLI(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;[ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/os/UserHandle;I)V
+PLcom/android/server/pm/PackageManagerService;->systemReady()V
+HSPLcom/android/server/pm/PackageManagerService;->updateAllSharedLibrariesLocked(Landroid/content/pm/PackageParser$Package;Ljava/util/Map;)Ljava/util/ArrayList;
+HPLcom/android/server/pm/PackageManagerService;->updateDefaultHomeNotLocked(I)Z
+HSPLcom/android/server/pm/PackageManagerService;->updateFlags(II)I
+HPLcom/android/server/pm/PackageManagerService;->updateFlagsForApplication(II)I
+HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForComponent(II)I
+HPLcom/android/server/pm/PackageManagerService;->updateFlagsForPackage(II)I
+HPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IIIZ)I
+HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IIIZZ)I
+PLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->updateIntentForResolve(Landroid/content/Intent;)Landroid/content/Intent;
+PLcom/android/server/pm/PackageManagerService;->updatePackagesIfNeeded()V
+PLcom/android/server/pm/PackageManagerService;->updateSequenceNumberLP(Lcom/android/server/pm/PackageSetting;[I)V
+HPLcom/android/server/pm/PackageManagerService;->updateSettingsInternalLI(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageManagerService$InstallArgs;[ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
+PLcom/android/server/pm/PackageManagerService;->updateSettingsLI(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageManagerService$InstallArgs;[ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
+HSPLcom/android/server/pm/PackageManagerService;->updateSharedLibrariesLocked(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/Map;)V
HSPLcom/android/server/pm/PackageManagerService;->userNeedsBadging(I)Z
PLcom/android/server/pm/PackageManagerService;->verifyIntentFilter(IILjava/util/List;)V
PLcom/android/server/pm/PackageManagerService;->verifyIntentFiltersIfNeeded(IIZLandroid/content/pm/PackageParser$Package;)V
PLcom/android/server/pm/PackageManagerService;->verifyPendingInstall(II)V
-HSPLcom/android/server/pm/PackageManagerService;->waitForAppDataPrepared()V
+PLcom/android/server/pm/PackageManagerService;->waitForAppDataPrepared()V
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;-><clinit>()V
HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->checkProperties()V
HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getAndCheckValidity(I)Ljava/lang/String;
PLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getCompilerFilterForReason(I)Ljava/lang/String;
PLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getReasonName(I)Ljava/lang/String;
HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getSystemPropertyName(I)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerServiceUtils;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HPLcom/android/server/pm/PackageManagerServiceUtils;->applyPackageFilter(Ljava/util/function/Predicate;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/List;Lcom/android/server/pm/PackageManagerService;)V
+HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->isFilterAllowedForReason(ILjava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerServiceUtils$1;-><init>()V
+HSPLcom/android/server/pm/PackageManagerServiceUtils$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->checkISA(Ljava/lang/String;)Z
HSPLcom/android/server/pm/PackageManagerServiceUtils;->compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->compressedFileExists(Ljava/lang/String;)Z
HSPLcom/android/server/pm/PackageManagerServiceUtils;->deriveAbiOverride(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerServiceUtils;->dumpCriticalInfo(Landroid/util/proto/ProtoOutputStream;)V
PLcom/android/server/pm/PackageManagerServiceUtils;->dumpCriticalInfo(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Ljava/lang/String;II)V
+HPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Landroid/os/UserManagerInternal;Ljava/lang/String;II)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->enforceSystemOrPhoneCaller(Ljava/lang/String;I)V
HSPLcom/android/server/pm/PackageManagerServiceUtils;->getCompressedFiles(Ljava/lang/String;)[Ljava/io/File;
HSPLcom/android/server/pm/PackageManagerServiceUtils;->getLastModifiedTime(Landroid/content/pm/PackageParser$Package;)J
PLcom/android/server/pm/PackageManagerServiceUtils;->getMinimalPackageInfo(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite;
-PLcom/android/server/pm/PackageManagerServiceUtils;->getPackageNamesForIntent(Landroid/content/Intent;I)Landroid/util/ArraySet;
-PLcom/android/server/pm/PackageManagerServiceUtils;->getPackagesForDexopt(Ljava/util/Collection;Lcom/android/server/pm/PackageManagerService;Z)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerServiceUtils;->getPermissionsState(Landroid/content/pm/PackageParser$Package;)Lcom/android/server/pm/permission/PermissionsState;
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->getSettingsProblemFile()Ljava/io/File;
HSPLcom/android/server/pm/PackageManagerServiceUtils;->isApkVerificationForced(Lcom/android/server/pm/PackageSetting;)Z
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->isApkVerityEnabled()Z
PLcom/android/server/pm/PackageManagerServiceUtils;->isDowngradePermitted(II)Z
-PLcom/android/server/pm/PackageManagerServiceUtils;->isUnusedSinceTimeInMillis(JJJLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;JJ)Z
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->isLegacyApkVerityEnabled()Z
HSPLcom/android/server/pm/PackageManagerServiceUtils;->logCriticalInfo(ILjava/lang/String;)V
HSPLcom/android/server/pm/PackageManagerServiceUtils;->verifySignatures(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$SigningDetails;ZZ)Z
-HSPLcom/android/server/pm/PackageManagerShellCommand;->onCommand(Ljava/lang/String;)I
-HSPLcom/android/server/pm/PackageManagerShellCommand;->runList()I
-HSPLcom/android/server/pm/PackageManagerShellCommand;->runListPackages(Z)I
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;-><init>()V
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;-><init>(Lcom/android/server/pm/PackageManagerShellCommand$1;)V
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;->access$400(Lcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;->waitTillDone()Z
+PLcom/android/server/pm/PackageManagerShellCommand;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/permission/IPermissionManager;)V
+PLcom/android/server/pm/PackageManagerShellCommand;->onCommand(Ljava/lang/String;)I
+PLcom/android/server/pm/PackageManagerShellCommand;->runGrantRevokePermission(Z)I
+PLcom/android/server/pm/PackageManagerShellCommand;->runSnapshotProfile()I
+PLcom/android/server/pm/PackageManagerShellCommand;->translateUserId(IILjava/lang/String;)I
HSPLcom/android/server/pm/PackageSetting;-><init>(Lcom/android/server/pm/PackageSetting;)V
HSPLcom/android/server/pm/PackageSetting;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/String;Ljava/util/List;I[Ljava/lang/String;[J)V
+HSPLcom/android/server/pm/PackageSetting;->areInstallPermissionsFixed()Z
+HSPLcom/android/server/pm/PackageSetting;->doCopy(Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/PackageSetting;->getAppId()I
HSPLcom/android/server/pm/PackageSetting;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
+HSPLcom/android/server/pm/PackageSetting;->getSharedUserId()I
+HSPLcom/android/server/pm/PackageSetting;->isPrivileged()Z
PLcom/android/server/pm/PackageSetting;->isSharedUser()Z
-HSPLcom/android/server/pm/PackageSetting;->toString()Ljava/lang/String;
+HSPLcom/android/server/pm/PackageSetting;->isSystem()Z
+HSPLcom/android/server/pm/PackageSetting;->isUpdatedSystem()Z
+HSPLcom/android/server/pm/PackageSetting;->setInstallPermissionsFixed(Z)V
HSPLcom/android/server/pm/PackageSetting;->updateFrom(Lcom/android/server/pm/PackageSetting;)V
-PLcom/android/server/pm/PackageSetting;->writeToProto(Landroid/util/proto/ProtoOutputStream;JLjava/util/List;)V
+HSPLcom/android/server/pm/PackageSettingBase;-><clinit>()V
+HSPLcom/android/server/pm/PackageSettingBase;-><init>(Lcom/android/server/pm/PackageSettingBase;Ljava/lang/String;)V
HSPLcom/android/server/pm/PackageSettingBase;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/String;Ljava/util/List;[Ljava/lang/String;[J)V
-HSPLcom/android/server/pm/PackageSettingBase;->disableComponentLPw(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageSettingBase;->disableComponentLPw(Ljava/lang/String;I)Z
HSPLcom/android/server/pm/PackageSettingBase;->doCopy(Lcom/android/server/pm/PackageSettingBase;)V
-HSPLcom/android/server/pm/PackageSettingBase;->enableComponentLPw(Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageSettingBase;->getCeDataInode(I)J
-HSPLcom/android/server/pm/PackageSettingBase;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I
+HPLcom/android/server/pm/PackageSettingBase;->enableComponentLPw(Ljava/lang/String;I)Z
+HPLcom/android/server/pm/PackageSettingBase;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I
PLcom/android/server/pm/PackageSettingBase;->getDisabledComponents(I)Landroid/util/ArraySet;
-PLcom/android/server/pm/PackageSettingBase;->getDomainVerificationStatusForUser(I)J
-HSPLcom/android/server/pm/PackageSettingBase;->getEnabled(I)I
+PLcom/android/server/pm/PackageSettingBase;->getDistractionFlags(I)I
+HPLcom/android/server/pm/PackageSettingBase;->getEnabled(I)I
PLcom/android/server/pm/PackageSettingBase;->getEnabledComponents(I)Landroid/util/ArraySet;
-PLcom/android/server/pm/PackageSettingBase;->getHarmfulAppWarning(I)Ljava/lang/String;
-PLcom/android/server/pm/PackageSettingBase;->getHidden(I)Z
+HPLcom/android/server/pm/PackageSettingBase;->getHarmfulAppWarning(I)Ljava/lang/String;
+HPLcom/android/server/pm/PackageSettingBase;->getHidden(I)Z
PLcom/android/server/pm/PackageSettingBase;->getInstallReason(I)I
HSPLcom/android/server/pm/PackageSettingBase;->getInstalled(I)Z
HSPLcom/android/server/pm/PackageSettingBase;->getInstantApp(I)Z
-PLcom/android/server/pm/PackageSettingBase;->getIntentFilterVerificationInfo()Landroid/content/pm/IntentFilterVerificationInfo;
-PLcom/android/server/pm/PackageSettingBase;->getLastDisabledAppCaller(I)Ljava/lang/String;
+HPLcom/android/server/pm/PackageSettingBase;->getLastDisabledAppCaller(I)Ljava/lang/String;
HSPLcom/android/server/pm/PackageSettingBase;->getNotInstalledUserIds()[I
-PLcom/android/server/pm/PackageSettingBase;->getNotLaunched(I)Z
-PLcom/android/server/pm/PackageSettingBase;->getOverlayPaths(I)[Ljava/lang/String;
+HPLcom/android/server/pm/PackageSettingBase;->getNotLaunched(I)Z
+HSPLcom/android/server/pm/PackageSettingBase;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
HSPLcom/android/server/pm/PackageSettingBase;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
-PLcom/android/server/pm/PackageSettingBase;->getStopped(I)Z
-PLcom/android/server/pm/PackageSettingBase;->getSuspended(I)Z
+HPLcom/android/server/pm/PackageSettingBase;->getStopped(I)Z
+HPLcom/android/server/pm/PackageSettingBase;->getSuspended(I)Z
HSPLcom/android/server/pm/PackageSettingBase;->getVirtulalPreload(I)Z
-HSPLcom/android/server/pm/PackageSettingBase;->init(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
HSPLcom/android/server/pm/PackageSettingBase;->modifyUserState(I)Landroid/content/pm/PackageUserState;
-HSPLcom/android/server/pm/PackageSettingBase;->modifyUserStateComponents(IZZ)Landroid/content/pm/PackageUserState;
-HSPLcom/android/server/pm/PackageSettingBase;->queryInstalledUsers([IZ)[I
+PLcom/android/server/pm/PackageSettingBase;->modifyUserStateComponents(IZZ)Landroid/content/pm/PackageUserState;
+PLcom/android/server/pm/PackageSettingBase;->queryInstalledUsers([IZ)[I
HSPLcom/android/server/pm/PackageSettingBase;->readUserState(I)Landroid/content/pm/PackageUserState;
-HSPLcom/android/server/pm/PackageSettingBase;->restoreComponentLPw(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageSettingBase;->restoreComponentLPw(Ljava/lang/String;I)Z
HSPLcom/android/server/pm/PackageSettingBase;->setEnabled(IILjava/lang/String;)V
+PLcom/android/server/pm/PackageSettingBase;->setInstallReason(II)V
+PLcom/android/server/pm/PackageSettingBase;->setInstallSource(Lcom/android/server/pm/InstallSource;)V
+PLcom/android/server/pm/PackageSettingBase;->setInstalled(ZI)V
+PLcom/android/server/pm/PackageSettingBase;->setInstallerPackageName(Ljava/lang/String;)V
HSPLcom/android/server/pm/PackageSettingBase;->setIntentFilterVerificationInfo(Landroid/content/pm/IntentFilterVerificationInfo;)V
-HSPLcom/android/server/pm/PackageSettingBase;->setUserState(IJIZZZZIZLjava/lang/String;Landroid/content/pm/SuspendDialogInfo;Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IIILjava/lang/String;)V
+HSPLcom/android/server/pm/PackageSettingBase;->setIsOrphaned(Z)V
+HPLcom/android/server/pm/PackageSettingBase;->setOverlayPaths(Ljava/util/List;I)V
+HSPLcom/android/server/pm/PackageSettingBase;->setTimeStamp(J)V
+HSPLcom/android/server/pm/PackageSettingBase;->setUserState(IJIZZZZIZLandroid/util/ArrayMap;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IIILjava/lang/String;)V
HSPLcom/android/server/pm/PackageSettingBase;->updateFrom(Lcom/android/server/pm/PackageSettingBase;)Lcom/android/server/pm/PackageSettingBase;
-PLcom/android/server/pm/PackageSettingBase;->writeUsersInfoToProto(Landroid/util/proto/ProtoOutputStream;J)V
+HSPLcom/android/server/pm/PackageSignatures;-><init>()V
HSPLcom/android/server/pm/PackageSignatures;->readCertsListXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/ArrayList;Ljava/util/ArrayList;IZLandroid/content/pm/PackageParser$SigningDetails$Builder;)I
HSPLcom/android/server/pm/PackageSignatures;->readXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/ArrayList;)V
-PLcom/android/server/pm/PackageSignatures;->toString()Ljava/lang/String;
-HSPLcom/android/server/pm/PackageSignatures;->writeCertsListXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/ArrayList;[Landroid/content/pm/Signature;Z)V
-HSPLcom/android/server/pm/PackageSignatures;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/ArrayList;)V
+HPLcom/android/server/pm/PackageSignatures;->writeCertsListXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/ArrayList;[Landroid/content/pm/Signature;Z)V
+HPLcom/android/server/pm/PackageSignatures;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/ArrayList;)V
HSPLcom/android/server/pm/PackageUsage;-><init>()V
-PLcom/android/server/pm/PackageUsage;->isHistoricalPackageUsageAvailable()Z
HSPLcom/android/server/pm/PackageUsage;->parseAsLong(Ljava/lang/String;)J
HSPLcom/android/server/pm/PackageUsage;->readInternal(Ljava/lang/Object;)V
HSPLcom/android/server/pm/PackageUsage;->readInternal(Ljava/util/Map;)V
+HSPLcom/android/server/pm/PackageUsage;->readLine(Ljava/io/InputStream;Ljava/lang/StringBuffer;)Ljava/lang/String;
HSPLcom/android/server/pm/PackageUsage;->readToken(Ljava/io/InputStream;Ljava/lang/StringBuffer;C)Ljava/lang/String;
HSPLcom/android/server/pm/PackageUsage;->readVersion1LP(Ljava/util/Map;Ljava/io/InputStream;Ljava/lang/StringBuffer;)V
-PLcom/android/server/pm/PackageUsage;->writeInternal(Ljava/lang/Object;)V
-PLcom/android/server/pm/PackageUsage;->writeInternal(Ljava/util/Map;)V
+PLcom/android/server/pm/PackageVerificationResponse;-><init>(II)V
PLcom/android/server/pm/PackageVerificationState;-><init>(ILcom/android/server/pm/PackageManagerService$InstallParams;)V
-PLcom/android/server/pm/PackageVerificationState;->extendTimeout()V
PLcom/android/server/pm/PackageVerificationState;->getInstallParams()Lcom/android/server/pm/PackageManagerService$InstallParams;
PLcom/android/server/pm/PackageVerificationState;->isInstallAllowed()Z
PLcom/android/server/pm/PackageVerificationState;->isVerificationComplete()Z
PLcom/android/server/pm/PackageVerificationState;->setVerifierResponse(II)Z
-PLcom/android/server/pm/PackageVerificationState;->timeoutExtended()Z
+HSPLcom/android/server/pm/ParallelPackageParser$ParseResult;-><init>()V
HSPLcom/android/server/pm/ParallelPackageParser;-><init>([Ljava/lang/String;ZLandroid/util/DisplayMetrics;Ljava/io/File;Landroid/content/pm/PackageParser$Callback;)V
HSPLcom/android/server/pm/ParallelPackageParser;->close()V
HSPLcom/android/server/pm/ParallelPackageParser;->lambda$submit$0$ParallelPackageParser(Ljava/io/File;I)V
HSPLcom/android/server/pm/ParallelPackageParser;->parsePackage(Landroid/content/pm/PackageParser;Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/ParallelPackageParser;->submit(Ljava/io/File;I)V
HSPLcom/android/server/pm/ParallelPackageParser;->take()Lcom/android/server/pm/ParallelPackageParser$ParseResult;
-HSPLcom/android/server/pm/PersistentPreferredActivity;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/pm/PersistentPreferredActivity;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/pm/PersistentPreferredIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/pm/PersistentPreferredIntentResolver;->newArray(I)[Lcom/android/server/pm/PersistentPreferredActivity;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;-><init>()V
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->access$000(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/lang/String;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->access$100(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/util/Set;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->access$200(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/util/Map;
HSPLcom/android/server/pm/Policy$PolicyBuilder;->addSignature(Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
HSPLcom/android/server/pm/Policy$PolicyBuilder;->build()Lcom/android/server/pm/Policy;
HSPLcom/android/server/pm/Policy$PolicyBuilder;->setGlobalSeinfoOrThrow(Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
+HSPLcom/android/server/pm/Policy$PolicyBuilder;->validateValue(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/Policy;-><init>(Lcom/android/server/pm/Policy$PolicyBuilder;)V
+HSPLcom/android/server/pm/Policy;-><init>(Lcom/android/server/pm/Policy$PolicyBuilder;Lcom/android/server/pm/Policy$1;)V
+HSPLcom/android/server/pm/Policy;->access$400(Lcom/android/server/pm/Policy;)Ljava/util/Set;
+HSPLcom/android/server/pm/Policy;->access$500(Lcom/android/server/pm/Policy;)Ljava/lang/String;
+HSPLcom/android/server/pm/Policy;->access$600(Lcom/android/server/pm/Policy;)Ljava/util/Map;
HSPLcom/android/server/pm/Policy;->getMatchedSeInfo(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
+HSPLcom/android/server/pm/Policy;->getSignatures()Ljava/util/Set;
+HSPLcom/android/server/pm/Policy;->hasInnerPackages()Z
+HSPLcom/android/server/pm/PolicyComparator;-><init>()V
HSPLcom/android/server/pm/PolicyComparator;->compare(Lcom/android/server/pm/Policy;Lcom/android/server/pm/Policy;)I
HSPLcom/android/server/pm/PolicyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/pm/PreferredActivity;-><init>(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;Z)V
+HSPLcom/android/server/pm/PolicyComparator;->foundDuplicate()Z
+HSPLcom/android/server/pm/PreferredActivity;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/PreferredActivity;->onReadTag(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)Z
-HSPLcom/android/server/pm/PreferredActivity;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-HSPLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;I[Landroid/content/ComponentName;Landroid/content/ComponentName;Z)V
+PLcom/android/server/pm/PreferredActivity;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
+PLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;I[Landroid/content/ComponentName;Landroid/content/ComponentName;Z)V
HSPLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/pm/PreferredComponent;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/Object;)V
HSPLcom/android/server/pm/PreferredComponent;->getParseError()Ljava/lang/String;
-HSPLcom/android/server/pm/PreferredComponent;->isSuperset(Ljava/util/List;Z)Z
-HSPLcom/android/server/pm/PreferredComponent;->sameSet(Ljava/util/List;Z)Z
-HSPLcom/android/server/pm/PreferredComponent;->sameSet([Landroid/content/ComponentName;)Z
-HSPLcom/android/server/pm/PreferredComponent;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-PLcom/android/server/pm/PreferredIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/content/IntentFilter;)V
-PLcom/android/server/pm/PreferredIntentResolver;->dumpFilter(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/PreferredActivity;)V
+PLcom/android/server/pm/PreferredComponent;->sameSet(Ljava/util/List;Z)Z
+HPLcom/android/server/pm/PreferredComponent;->sameSet([Landroid/content/ComponentName;)Z
+HPLcom/android/server/pm/PreferredComponent;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
+HSPLcom/android/server/pm/PreferredIntentResolver;-><init>()V
HSPLcom/android/server/pm/PreferredIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
HSPLcom/android/server/pm/PreferredIntentResolver;->newArray(I)[Lcom/android/server/pm/PreferredActivity;
HSPLcom/android/server/pm/ProcessLoggingHandler;-><init>()V
-HSPLcom/android/server/pm/ProcessLoggingHandler;->computeHashOfApkFile(Ljava/lang/String;)[B
-HSPLcom/android/server/pm/ProcessLoggingHandler;->computeStringHashOfApk(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/ProcessLoggingHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/ProcessLoggingHandler;->handleMessage(Landroid/os/Message;)V
PLcom/android/server/pm/ProcessLoggingHandler;->invalidateProcessLoggingBaseApkHash(Ljava/lang/String;)V
HSPLcom/android/server/pm/ProtectedPackages;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z
-HSPLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z
-HSPLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/ProtectedPackages;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
-HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Landroid/content/pm/PackageParser$Package;ZII)Ljava/lang/String;
+PLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z
+PLcom/android/server/pm/ProtectedPackages;->isPackageDataProtected(ILjava/lang/String;)Z
+PLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z
+PLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(Ljava/lang/String;)Z
+PLcom/android/server/pm/ProtectedPackages;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
+HSPLcom/android/server/pm/SELinuxMMAC;-><clinit>()V
+HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/compat/PlatformCompat;)Ljava/lang/String;
+HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Landroid/content/pm/PackageParser$Package;ZI)Ljava/lang/String;
+HSPLcom/android/server/pm/SELinuxMMAC;->getTargetSdkVersionForSeInfo(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/SharedUserSetting;Lcom/android/server/compat/PlatformCompat;)I
HSPLcom/android/server/pm/SELinuxMMAC;->readInstallPolicy()Z
+HSPLcom/android/server/pm/SELinuxMMAC;->readSeinfo(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/SELinuxMMAC;->readSignerOrThrow(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/pm/Policy;
HSPLcom/android/server/pm/SettingBase;-><init>(II)V
+HSPLcom/android/server/pm/SettingBase;-><init>(Lcom/android/server/pm/SettingBase;)V
+HSPLcom/android/server/pm/SettingBase;->copyFrom(Lcom/android/server/pm/SettingBase;)V
+HSPLcom/android/server/pm/SettingBase;->doCopy(Lcom/android/server/pm/SettingBase;)V
+HSPLcom/android/server/pm/SettingBase;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
HSPLcom/android/server/pm/SettingBase;->setFlags(I)V
HSPLcom/android/server/pm/SettingBase;->setPrivateFlags(I)V
-HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/pm/Settings$KernelPackageState;-><init>()V
+HSPLcom/android/server/pm/Settings$KernelPackageState;-><init>(Lcom/android/server/pm/Settings$1;)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;-><init>(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;-><init>(Lcom/android/server/pm/Settings;Ljava/lang/Object;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->access$300(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;I)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->areDefaultRuntimePermissionsGrantedLPr(I)Z
HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->parsePermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/permission/PermissionsState;I)V
HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->parseRuntimePermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;I)V
HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->readStateForUserSyncLPr(I)V
-HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsForUserAsyncLPr(I)V
-HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsSync(I)V
+HPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsForUserAsyncLPr(I)V
+HPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsSync(I)V
+HSPLcom/android/server/pm/Settings$VersionInfo;-><init>()V
+HSPLcom/android/server/pm/Settings;-><clinit>()V
HSPLcom/android/server/pm/Settings;-><init>(Ljava/io/File;Lcom/android/server/pm/permission/PermissionSettings;Ljava/lang/Object;)V
-HSPLcom/android/server/pm/Settings;->acquireAndRegisterNewAppIdLPw(Lcom/android/server/pm/SettingBase;)I
+HSPLcom/android/server/pm/Settings;->access$200(Lcom/android/server/pm/Settings;I)Ljava/io/File;
+HPLcom/android/server/pm/Settings;->acquireAndRegisterNewAppIdLPw(Lcom/android/server/pm/SettingBase;)I
HSPLcom/android/server/pm/Settings;->addPackageLPw(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJIILjava/lang/String;Ljava/util/List;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
HSPLcom/android/server/pm/Settings;->addPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;)V
HSPLcom/android/server/pm/Settings;->addSharedUserLPw(Ljava/lang/String;III)Lcom/android/server/pm/SharedUserSetting;
-HSPLcom/android/server/pm/Settings;->createNewSetting(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILandroid/os/UserHandle;ZZZLjava/lang/String;Ljava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/pm/Settings;->disableSystemPackageLPw(Ljava/lang/String;Z)Z
-PLcom/android/server/pm/Settings;->dumpGidsLPr(Ljava/io/PrintWriter;Ljava/lang/String;[I)V
-PLcom/android/server/pm/Settings;->dumpInstallPermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/permission/PermissionsState;)V
-PLcom/android/server/pm/Settings;->dumpPackageLPr(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/PackageSetting;Ljava/text/SimpleDateFormat;Ljava/util/Date;Ljava/util/List;ZZ)V
-PLcom/android/server/pm/Settings;->dumpPackagesLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
-PLcom/android/server/pm/Settings;->dumpPackagesProto(Landroid/util/proto/ProtoOutputStream;)V
-PLcom/android/server/pm/Settings;->dumpPermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;)V
-PLcom/android/server/pm/Settings;->dumpReadMessagesLPr(Ljava/io/PrintWriter;Lcom/android/server/pm/DumpState;)V
-PLcom/android/server/pm/Settings;->dumpRuntimePermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Ljava/util/List;Z)V
+PLcom/android/server/pm/Settings;->areDefaultRuntimePermissionsGrantedLPr(I)Z
+PLcom/android/server/pm/Settings;->createNewSetting(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILandroid/os/UserHandle;ZZZLjava/lang/String;Ljava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/Settings;->disableSystemPackageLPw(Ljava/lang/String;Z)Z
+HPLcom/android/server/pm/Settings;->dumpPackageLPr(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/PackageSetting;Ljava/text/SimpleDateFormat;Ljava/util/Date;Ljava/util/List;ZZ)V
+HPLcom/android/server/pm/Settings;->dumpPackagesLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
PLcom/android/server/pm/Settings;->dumpSharedUsersLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
-PLcom/android/server/pm/Settings;->dumpSplitNames(Ljava/io/PrintWriter;Landroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/Settings;->dumpVersionLPr(Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/pm/Settings;->enableSystemPackageLPw(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/Settings;->editCrossProfileIntentResolverLPw(I)Lcom/android/server/pm/CrossProfileIntentResolver;
+HSPLcom/android/server/pm/Settings;->editPreferredActivitiesLPw(I)Lcom/android/server/pm/PreferredIntentResolver;
+HSPLcom/android/server/pm/Settings;->findOrCreateVersion(Ljava/lang/String;)Lcom/android/server/pm/Settings$VersionInfo;
HSPLcom/android/server/pm/Settings;->getAllSharedUsersLPw()Ljava/util/Collection;
HSPLcom/android/server/pm/Settings;->getAllUsers(Lcom/android/server/pm/UserManagerService;)Ljava/util/List;
-HSPLcom/android/server/pm/Settings;->getApplicationEnabledSettingLPr(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/Settings;->getChildSettingsLPr(Lcom/android/server/pm/PackageSetting;)[Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/pm/Settings;->getComponentEnabledSettingLPr(Landroid/content/ComponentName;I)I
+PLcom/android/server/pm/Settings;->getApplicationEnabledSettingLPr(Ljava/lang/String;I)I
+PLcom/android/server/pm/Settings;->getChildSettingsLPr(Lcom/android/server/pm/PackageSetting;)[Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/Settings;->getComponentEnabledSettingLPr(Landroid/content/ComponentName;I)I
PLcom/android/server/pm/Settings;->getDisabledSystemPkgLPr(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/PackageSetting;
HSPLcom/android/server/pm/Settings;->getDisabledSystemPkgLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/pm/Settings;->getHarmfulAppWarningLPr(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/server/pm/Settings;->getInstallerPackageNameLPr(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/Settings;->getIntentFilterVerificationsLPr(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/Settings;->getHarmfulAppWarningLPr(Ljava/lang/String;I)Ljava/lang/String;
HSPLcom/android/server/pm/Settings;->getInternalVersion()Lcom/android/server/pm/Settings$VersionInfo;
HSPLcom/android/server/pm/Settings;->getPackageLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
HSPLcom/android/server/pm/Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String;
@@ -11367,12 +12706,12 @@ HSPLcom/android/server/pm/Settings;->getSettingLPr(I)Lcom/android/server/pm/Sett
HSPLcom/android/server/pm/Settings;->getSharedUserLPw(Ljava/lang/String;IIZ)Lcom/android/server/pm/SharedUserSetting;
HSPLcom/android/server/pm/Settings;->getUserPackagesStateBackupFile(I)Ljava/io/File;
HSPLcom/android/server/pm/Settings;->getUserPackagesStateFile(I)Ljava/io/File;
+HSPLcom/android/server/pm/Settings;->getUserRuntimePermissionsFile(I)Ljava/io/File;
+HSPLcom/android/server/pm/Settings;->getUsers(Lcom/android/server/pm/UserManagerService;Z)Ljava/util/List;
HSPLcom/android/server/pm/Settings;->getVolumePackagesLPr(Ljava/lang/String;)Ljava/util/List;
HSPLcom/android/server/pm/Settings;->insertPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;)V
HSPLcom/android/server/pm/Settings;->isDisabledSystemPackageLPr(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/Settings;->isOrphaned(Ljava/lang/String;)Z
-PLcom/android/server/pm/Settings;->permissionFlagsToString(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/Settings;->printFlags(Ljava/io/PrintWriter;I[Ljava/lang/Object;)V
+HSPLcom/android/server/pm/Settings;->isEnabledAndMatchLPr(Landroid/content/pm/ComponentInfo;II)Z
HSPLcom/android/server/pm/Settings;->pruneSharedUsersLPw()V
HSPLcom/android/server/pm/Settings;->readBlockUninstallPackagesLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
HSPLcom/android/server/pm/Settings;->readComponentsLPr(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/ArraySet;
@@ -11388,1674 +12727,2184 @@ HSPLcom/android/server/pm/Settings;->readPersistentPreferredActivitiesLPw(Lorg/x
HSPLcom/android/server/pm/Settings;->readPreferredActivitiesLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
HSPLcom/android/server/pm/Settings;->readRestoredIntentFilterVerifications(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/Settings;->readSharedUserLPw(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/pm/Settings;->registerAppIdLPw(Lcom/android/server/pm/PackageSetting;)V
+HSPLcom/android/server/pm/Settings;->readUsesStaticLibLPw(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/Settings;->registerAppIdLPw(Lcom/android/server/pm/PackageSetting;)Z
HSPLcom/android/server/pm/Settings;->registerExistingAppIdLPw(ILcom/android/server/pm/SettingBase;Ljava/lang/Object;)Z
-PLcom/android/server/pm/Settings;->removeInstallerPackageStatus(Ljava/lang/String;)V
-PLcom/android/server/pm/Settings;->removePackageLPw(Ljava/lang/String;)I
PLcom/android/server/pm/Settings;->setBlockUninstallLPw(ILjava/lang/String;Z)V
-HSPLcom/android/server/pm/Settings;->setPackageStoppedStateLPw(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZZII)Z
+PLcom/android/server/pm/Settings;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/pm/Settings;->setPackageStoppedStateLPw(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZZII)Z
PLcom/android/server/pm/Settings;->updateIntentFilterVerificationStatusLPw(Ljava/lang/String;II)Z
HSPLcom/android/server/pm/Settings;->updatePackageSetting(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)V
PLcom/android/server/pm/Settings;->wasPackageEverLaunchedLPr(Ljava/lang/String;I)Z
PLcom/android/server/pm/Settings;->writeAllDomainVerificationsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/pm/Settings;->writeAllUsersPackageRestrictionsLPr()V
-HSPLcom/android/server/pm/Settings;->writeBlockUninstallPackagesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/pm/Settings;->writeChildPackagesLPw(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-HSPLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/pm/Settings;->writeDefaultAppsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/pm/Settings;->writeDisabledSysPackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/Settings;->writeAllRuntimePermissionsLPr()V
+PLcom/android/server/pm/Settings;->writeAllUsersPackageRestrictionsLPr()V
+PLcom/android/server/pm/Settings;->writeBlockUninstallPackagesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+HPLcom/android/server/pm/Settings;->writeChildPackagesLPw(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+HPLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+PLcom/android/server/pm/Settings;->writeDefaultAppsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+HPLcom/android/server/pm/Settings;->writeDisabledSysPackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/Settings;->writeDomainVerificationsLPr(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/pm/IntentFilterVerificationInfo;)V
HSPLcom/android/server/pm/Settings;->writeIntToFile(Ljava/io/File;I)V
HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr()V
HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr(Lcom/android/server/pm/PackageSetting;)V
HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr(Ljava/lang/String;I[I)V
-HSPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
-HSPLcom/android/server/pm/Settings;->writeLPr()V
-HSPLcom/android/server/pm/Settings;->writePackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
-HSPLcom/android/server/pm/Settings;->writePackageListLPr(I)V
-HSPLcom/android/server/pm/Settings;->writePackageRestrictionsLPr(I)V
-HSPLcom/android/server/pm/Settings;->writePermissionsLPr(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-HSPLcom/android/server/pm/Settings;->writePersistentPreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-HSPLcom/android/server/pm/Settings;->writePreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;IZ)V
-HSPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HPLcom/android/server/pm/Settings;->writeLPr()V
+HPLcom/android/server/pm/Settings;->writePackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/Settings;->writePackageListLPr()V
+PLcom/android/server/pm/Settings;->writePackageListLPr(I)V
+HPLcom/android/server/pm/Settings;->writePackageListLPrInternal(I)V
+HPLcom/android/server/pm/Settings;->writePackageRestrictionsLPr(I)V
+HPLcom/android/server/pm/Settings;->writePermissionsLPr(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+PLcom/android/server/pm/Settings;->writePersistentPreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+HPLcom/android/server/pm/Settings;->writePreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;IZ)V
+PLcom/android/server/pm/Settings;->writeRuntimePermissionsForUserLPr(IZ)V
+HPLcom/android/server/pm/Settings;->writeSigningKeySetLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
HSPLcom/android/server/pm/Settings;->writeUserRestrictionsLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)V
-HSPLcom/android/server/pm/Settings;->writeUsesStaticLibLPw(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;[J)V
+HPLcom/android/server/pm/Settings;->writeUsesStaticLibLPw(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;[J)V
+PLcom/android/server/pm/ShareTargetInfo$TargetData;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/ShareTargetInfo;-><init>([Lcom/android/server/pm/ShareTargetInfo$TargetData;Ljava/lang/String;[Ljava/lang/String;)V
+HPLcom/android/server/pm/ShareTargetInfo;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/pm/SharedUserSetting;-><init>(Ljava/lang/String;II)V
HSPLcom/android/server/pm/SharedUserSetting;->addPackage(Lcom/android/server/pm/PackageSetting;)V
HSPLcom/android/server/pm/SharedUserSetting;->fixSeInfoLocked()V
-HSPLcom/android/server/pm/SharedUserSetting;->getNotInstalledUserIds()[I
HSPLcom/android/server/pm/SharedUserSetting;->getPackages()Ljava/util/List;
+HSPLcom/android/server/pm/SharedUserSetting;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
HSPLcom/android/server/pm/SharedUserSetting;->isPrivileged()Z
-HSPLcom/android/server/pm/SharedUserSetting;->removePackage(Lcom/android/server/pm/PackageSetting;)Z
-PLcom/android/server/pm/SharedUserSetting;->toString()Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutBitmapSaver;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutBitmapSaver;->dumpLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/pm/ShortcutBitmapSaver;->getBitmapPathMayWaitLocked(Landroid/content/pm/ShortcutInfo;)Ljava/lang/String;
-PLcom/android/server/pm/ShortcutBitmapSaver;->lambda$new$1$ShortcutBitmapSaver()V
+PLcom/android/server/pm/ShortcutBitmapSaver$PendingItem;-><init>(Landroid/content/pm/ShortcutInfo;[B)V
+PLcom/android/server/pm/ShortcutBitmapSaver$PendingItem;-><init>(Landroid/content/pm/ShortcutInfo;[BLcom/android/server/pm/ShortcutBitmapSaver$1;)V
+PLcom/android/server/pm/ShortcutBitmapSaver;-><init>(Lcom/android/server/pm/ShortcutService;)V
PLcom/android/server/pm/ShortcutBitmapSaver;->processPendingItems()Z
-PLcom/android/server/pm/ShortcutBitmapSaver;->removeIcon(Landroid/content/pm/ShortcutInfo;)V
PLcom/android/server/pm/ShortcutBitmapSaver;->saveBitmapLocked(Landroid/content/pm/ShortcutInfo;ILandroid/graphics/Bitmap$CompressFormat;I)V
PLcom/android/server/pm/ShortcutBitmapSaver;->waitForAllSavesLocked()Z
-PLcom/android/server/pm/ShortcutDumpFiles;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/pm/ShortcutDumpFiles;->dumpAll(Ljava/io/PrintWriter;)V
+PLcom/android/server/pm/ShortcutDumpFiles;-><init>(Lcom/android/server/pm/ShortcutService;)V
PLcom/android/server/pm/ShortcutDumpFiles;->save(Ljava/lang/String;Ljava/util/function/Consumer;)Z
-PLcom/android/server/pm/ShortcutDumpFiles;->save(Ljava/lang/String;[B)Z
+PLcom/android/server/pm/ShortcutLauncher;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;I)V
PLcom/android/server/pm/ShortcutLauncher;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;ILcom/android/server/pm/ShortcutPackageInfo;)V
PLcom/android/server/pm/ShortcutLauncher;->cleanUpPackage(Ljava/lang/String;I)Z
-PLcom/android/server/pm/ShortcutLauncher;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/ShortcutService$DumpFilter;)V
PLcom/android/server/pm/ShortcutLauncher;->ensurePackageInfo()V
PLcom/android/server/pm/ShortcutLauncher;->getOwnerUserId()I
-HSPLcom/android/server/pm/ShortcutLauncher;->getPinnedShortcutIds(Ljava/lang/String;I)Landroid/util/ArraySet;
+PLcom/android/server/pm/ShortcutLauncher;->getPinnedShortcutIds(Ljava/lang/String;I)Landroid/util/ArraySet;
PLcom/android/server/pm/ShortcutLauncher;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/ShortcutUser;IZ)Lcom/android/server/pm/ShortcutLauncher;
PLcom/android/server/pm/ShortcutLauncher;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-PLcom/android/server/pm/ShortcutNonPersistentUser;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/ShortcutService$DumpFilter;)V
-PLcom/android/server/pm/ShortcutNonPersistentUser;->getUserId()I
+PLcom/android/server/pm/ShortcutNonPersistentUser;-><init>(Lcom/android/server/pm/ShortcutService;I)V
PLcom/android/server/pm/ShortcutNonPersistentUser;->hasHostPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/ShortcutNonPersistentUser;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
+PLcom/android/server/pm/ShortcutNonPersistentUser;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
PLcom/android/server/pm/ShortcutPackage;->addOrReplaceDynamicShortcut(Landroid/content/pm/ShortcutInfo;)V
-HSPLcom/android/server/pm/ShortcutPackage;->adjustRanks()V
+PLcom/android/server/pm/ShortcutPackage;->adjustRanks()V
PLcom/android/server/pm/ShortcutPackage;->areAllActivitiesStillEnabled()Z
PLcom/android/server/pm/ShortcutPackage;->clearAllImplicitRanks()V
PLcom/android/server/pm/ShortcutPackage;->deleteAllDynamicShortcuts(Z)V
-PLcom/android/server/pm/ShortcutPackage;->deleteDynamicWithId(Ljava/lang/String;Z)Z
PLcom/android/server/pm/ShortcutPackage;->deleteOrDisableWithId(Ljava/lang/String;ZZZI)Landroid/content/pm/ShortcutInfo;
-PLcom/android/server/pm/ShortcutPackage;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/ShortcutService$DumpFilter;)V
+PLcom/android/server/pm/ShortcutPackage;->disableDynamicWithId(Ljava/lang/String;ZI)Z
PLcom/android/server/pm/ShortcutPackage;->enforceShortcutCountsBeforeOperation(Ljava/util/List;I)V
PLcom/android/server/pm/ShortcutPackage;->ensureImmutableShortcutsNotIncluded(Ljava/util/List;Z)V
PLcom/android/server/pm/ShortcutPackage;->ensureImmutableShortcutsNotIncludedWithIds(Ljava/util/List;Z)V
PLcom/android/server/pm/ShortcutPackage;->ensureNotImmutable(Landroid/content/pm/ShortcutInfo;Z)V
PLcom/android/server/pm/ShortcutPackage;->ensureNotImmutable(Ljava/lang/String;Z)V
PLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;I)V
-HSPLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V
+PLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V
PLcom/android/server/pm/ShortcutPackage;->findShortcutById(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/pm/ShortcutPackage;->forceDeleteShortcutInner(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo;
+HPLcom/android/server/pm/ShortcutPackage;->forceReplaceShortcutInner(Landroid/content/pm/ShortcutInfo;)V
PLcom/android/server/pm/ShortcutPackage;->getApiCallCount(Z)I
-PLcom/android/server/pm/ShortcutPackage;->getMatchingShareTargets(Landroid/content/IntentFilter;)Ljava/util/List;
+HPLcom/android/server/pm/ShortcutPackage;->getFileName(Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/pm/ShortcutPackage;->getOwnerUserId()I
PLcom/android/server/pm/ShortcutPackage;->getPackageResources()Landroid/content/res/Resources;
+PLcom/android/server/pm/ShortcutPackage;->getSharingShortcutCount()I
PLcom/android/server/pm/ShortcutPackage;->getUsedBitmapFiles()Landroid/util/ArraySet;
PLcom/android/server/pm/ShortcutPackage;->hasShareTargets()Z
+PLcom/android/server/pm/ShortcutPackage;->incrementCountForActivity(Landroid/util/ArrayMap;Landroid/content/ComponentName;I)V
PLcom/android/server/pm/ShortcutPackage;->isShortcutExistsAndVisibleToPublisher(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/ShortcutPackage;->lambda$new$2(Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;)I
+PLcom/android/server/pm/ShortcutPackage;->lambda$new$2(Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;)I
PLcom/android/server/pm/ShortcutPackage;->lambda$refreshPinnedFlags$0$ShortcutPackage(Lcom/android/server/pm/ShortcutLauncher;)V
-HSPLcom/android/server/pm/ShortcutPackage;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;Lorg/xmlpull/v1/XmlPullParser;Z)Lcom/android/server/pm/ShortcutPackage;
-HSPLcom/android/server/pm/ShortcutPackage;->parseIntent(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/Intent;
-HSPLcom/android/server/pm/ShortcutPackage;->parseShortcut(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo;
-HSPLcom/android/server/pm/ShortcutPackage;->publishManifestShortcuts(Ljava/util/List;)Z
-HSPLcom/android/server/pm/ShortcutPackage;->pushOutExcessShortcuts()Z
+PLcom/android/server/pm/ShortcutPackage;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;Lorg/xmlpull/v1/XmlPullParser;Z)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutPackage;->parseIntent(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutPackage;->parseShortcut(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/pm/ShortcutPackage;->publishManifestShortcuts(Ljava/util/List;)Z
+PLcom/android/server/pm/ShortcutPackage;->pushOutExcessShortcuts()Z
PLcom/android/server/pm/ShortcutPackage;->refreshPinnedFlags()V
PLcom/android/server/pm/ShortcutPackage;->removeOrphans()V
-HSPLcom/android/server/pm/ShortcutPackage;->rescanPackageIfNeeded(ZZ)Z
+PLcom/android/server/pm/ShortcutPackage;->rescanPackageIfNeeded(ZZ)Z
PLcom/android/server/pm/ShortcutPackage;->resetRateLimiting()V
-PLcom/android/server/pm/ShortcutPackage;->resetRateLimitingForCommandLineNoSaving()V
-PLcom/android/server/pm/ShortcutPackage;->resolveResourceStrings()V
-PLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V
-PLcom/android/server/pm/ShortcutPackage;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-HSPLcom/android/server/pm/ShortcutPackage;->sortShortcutsToActivities()Landroid/util/ArrayMap;
+HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V
+HPLcom/android/server/pm/ShortcutPackage;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
+PLcom/android/server/pm/ShortcutPackage;->sortShortcutsToActivities()Landroid/util/ArrayMap;
PLcom/android/server/pm/ShortcutPackage;->tryApiCall(Z)Z
-HSPLcom/android/server/pm/ShortcutPackageInfo;-><init>(JJLjava/util/ArrayList;Z)V
-PLcom/android/server/pm/ShortcutPackageInfo;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutPackageInfo;-><init>(JJLjava/util/ArrayList;Z)V
PLcom/android/server/pm/ShortcutPackageInfo;->getLastUpdateTime()J
-HSPLcom/android/server/pm/ShortcutPackageInfo;->getVersionCode()J
+PLcom/android/server/pm/ShortcutPackageInfo;->getVersionCode()J
PLcom/android/server/pm/ShortcutPackageInfo;->isBackupAllowed()Z
-HSPLcom/android/server/pm/ShortcutPackageInfo;->isShadow()Z
-HSPLcom/android/server/pm/ShortcutPackageInfo;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
+HPLcom/android/server/pm/ShortcutPackageInfo;->isShadow()Z
+PLcom/android/server/pm/ShortcutPackageInfo;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
+HPLcom/android/server/pm/ShortcutPackageInfo;->newEmpty()Lcom/android/server/pm/ShortcutPackageInfo;
PLcom/android/server/pm/ShortcutPackageInfo;->refreshSignature(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutPackageItem;)V
PLcom/android/server/pm/ShortcutPackageInfo;->saveToXml(Lcom/android/server/pm/ShortcutService;Lorg/xmlpull/v1/XmlSerializer;Z)V
-HSPLcom/android/server/pm/ShortcutPackageInfo;->updateFromPackageInfo(Landroid/content/pm/PackageInfo;)V
-HSPLcom/android/server/pm/ShortcutPackageItem;->attemptToRestoreIfNeededAndSave()V
-HSPLcom/android/server/pm/ShortcutPackageItem;->getPackageInfo()Lcom/android/server/pm/ShortcutPackageInfo;
-HSPLcom/android/server/pm/ShortcutPackageItem;->getPackageName()Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutPackageItem;->getPackageUserId()I
+PLcom/android/server/pm/ShortcutPackageInfo;->updateFromPackageInfo(Landroid/content/pm/PackageInfo;)V
+HPLcom/android/server/pm/ShortcutPackageItem;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
+PLcom/android/server/pm/ShortcutPackageItem;->attemptToRestoreIfNeededAndSave()V
+HPLcom/android/server/pm/ShortcutPackageItem;->getPackageInfo()Lcom/android/server/pm/ShortcutPackageInfo;
+HPLcom/android/server/pm/ShortcutPackageItem;->getPackageName()Ljava/lang/String;
+HPLcom/android/server/pm/ShortcutPackageItem;->getPackageUserId()I
PLcom/android/server/pm/ShortcutPackageItem;->getUser()Lcom/android/server/pm/ShortcutUser;
PLcom/android/server/pm/ShortcutPackageItem;->refreshPackageSignatureAndSave()V
PLcom/android/server/pm/ShortcutPackageItem;->replaceUser(Lcom/android/server/pm/ShortcutUser;)V
-HSPLcom/android/server/pm/ShortcutParser;->createShortcutFromManifest(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;IIIIIZ)Landroid/content/pm/ShortcutInfo;
-HSPLcom/android/server/pm/ShortcutParser;->parseCategories(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;)Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutParser;->parseShortcutAttributes(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;Ljava/lang/String;Landroid/content/ComponentName;II)Landroid/content/pm/ShortcutInfo;
-HSPLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILjava/util/List;)Ljava/util/List;
-HSPLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;Ljava/util/List;)Ljava/util/List;
-PLcom/android/server/pm/ShortcutRequestPinProcessor;->getRequestPinConfirmationActivity(II)Landroid/util/Pair;
-PLcom/android/server/pm/ShortcutRequestPinProcessor;->isRequestPinItemSupported(II)Z
-HSPLcom/android/server/pm/ShortcutService$1;-><init>()V
-HSPLcom/android/server/pm/ShortcutService$1;->test(Landroid/content/pm/ResolveInfo;)Z
-HSPLcom/android/server/pm/ShortcutService$1;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/pm/ShortcutService$2;-><init>()V
-HSPLcom/android/server/pm/ShortcutService$2;->test(Landroid/content/pm/PackageInfo;)Z
-HSPLcom/android/server/pm/ShortcutService$2;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/pm/ShortcutService$3;->lambda$onUidGone$1$ShortcutService$3(I)V
-HSPLcom/android/server/pm/ShortcutService$3;->lambda$onUidStateChanged$0$ShortcutService$3(II)V
-HSPLcom/android/server/pm/ShortcutService$3;->onUidGone(IZ)V
-HSPLcom/android/server/pm/ShortcutService$3;->onUidStateChanged(IIJ)V
-HSPLcom/android/server/pm/ShortcutService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/pm/ShortcutService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/pm/ShortcutService$DumpFilter;->isPackageMatch(Ljava/lang/String;)Z
-PLcom/android/server/pm/ShortcutService$DumpFilter;->isUserMatch(I)Z
-PLcom/android/server/pm/ShortcutService$DumpFilter;->shouldDumpCheckIn()Z
-PLcom/android/server/pm/ShortcutService$DumpFilter;->shouldDumpDetails()Z
-PLcom/android/server/pm/ShortcutService$DumpFilter;->shouldDumpFiles()Z
-PLcom/android/server/pm/ShortcutService$DumpFilter;->shouldDumpMain()Z
-PLcom/android/server/pm/ShortcutService$DumpFilter;->shouldDumpUid()Z
+PLcom/android/server/pm/ShortcutParser;->createShortcutFromManifest(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;IIIIIZ)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/pm/ShortcutParser;->parseCategories(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutParser;->parseCategory(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutParser;->parseShareTargetAttributes(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;)Lcom/android/server/pm/ShareTargetInfo;
+HPLcom/android/server/pm/ShortcutParser;->parseShareTargetData(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;)Lcom/android/server/pm/ShareTargetInfo$TargetData;
+PLcom/android/server/pm/ShortcutParser;->parseShortcutAttributes(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;Ljava/lang/String;Landroid/content/ComponentName;II)Landroid/content/pm/ShortcutInfo;
+PLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILjava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutRequestPinProcessor;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutService$1;-><init>()V
+PLcom/android/server/pm/ShortcutService$1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$2;-><init>()V
+PLcom/android/server/pm/ShortcutService$2;->test(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutService$3;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$3;->lambda$onUidGone$1$ShortcutService$3(I)V
+PLcom/android/server/pm/ShortcutService$3;->lambda$onUidStateChanged$0$ShortcutService$3(II)V
+PLcom/android/server/pm/ShortcutService$3;->onUidGone(IZ)V
+HPLcom/android/server/pm/ShortcutService$3;->onUidStateChanged(IIJI)V
+PLcom/android/server/pm/ShortcutService$4;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$5;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;-><init>(Ljava/io/File;)V
PLcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;->getFile()Ljava/io/File;
-HSPLcom/android/server/pm/ShortcutService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/pm/ShortcutService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/pm/ShortcutService$Lifecycle;->onStart()V
-HSPLcom/android/server/pm/ShortcutService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/pm/ShortcutService$LocalService;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
-PLcom/android/server/pm/ShortcutService$LocalService;->createShortcutIntents(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)[Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onStart()V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/pm/ShortcutService$LocalService;-><init>(Lcom/android/server/pm/ShortcutService;)V
+PLcom/android/server/pm/ShortcutService$LocalService;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService$1;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutIconFd(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutInfoLocked(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo;
-HSPLcom/android/server/pm/ShortcutService$LocalService;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;
-HSPLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
-HSPLcom/android/server/pm/ShortcutService$LocalService;->hasShortcutHostPermission(ILjava/lang/String;II)Z
-PLcom/android/server/pm/ShortcutService$LocalService;->isPinnedByCaller(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcuts$0$ShortcutService$LocalService(ILjava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;IIILcom/android/server/pm/ShortcutPackage;)V
-HSPLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcutsInnerLocked$1(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZLandroid/content/pm/ShortcutInfo;)Z
-HSPLcom/android/server/pm/ShortcutService$LocalService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
-HSPLcom/android/server/pm/ShortcutService;->access$200(Lcom/android/server/pm/ShortcutService;)Ljava/lang/Object;
-HSPLcom/android/server/pm/ShortcutService;->access$300(Lcom/android/server/pm/ShortcutService;Ljava/util/List;)Ljava/util/List;
-PLcom/android/server/pm/ShortcutService;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLcom/android/server/pm/ShortcutService;->canSeeAnyPinnedShortcut(Ljava/lang/String;III)Z
-HSPLcom/android/server/pm/ShortcutService;->checkPackageChanges(I)V
+PLcom/android/server/pm/ShortcutService$LocalService;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
+PLcom/android/server/pm/ShortcutService$LocalService;->hasShortcutHostPermission(ILjava/lang/String;II)Z
+PLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcutsInnerLocked$1(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZLandroid/content/pm/ShortcutInfo;)Z
+PLcom/android/server/pm/ShortcutService$LocalService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;-><clinit>()V
+PLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
+PLcom/android/server/pm/ShortcutService;->access$200(Lcom/android/server/pm/ShortcutService;)Ljava/lang/Object;
+PLcom/android/server/pm/ShortcutService;->access$300(Lcom/android/server/pm/ShortcutService;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->access$400(Lcom/android/server/pm/ShortcutService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/ShortcutService;->canSeeAnyPinnedShortcut(Ljava/lang/String;III)Z
+PLcom/android/server/pm/ShortcutService;->checkPackageChanges(I)V
PLcom/android/server/pm/ShortcutService;->cleanUpPackageForAllLoadedUsers(Ljava/lang/String;IZ)V
PLcom/android/server/pm/ShortcutService;->cleanUpPackageLocked(Ljava/lang/String;IIZ)V
PLcom/android/server/pm/ShortcutService;->cleanupBitmapsForPackage(ILjava/lang/String;)V
PLcom/android/server/pm/ShortcutService;->cleanupDanglingBitmapDirectoriesLocked(I)V
PLcom/android/server/pm/ShortcutService;->cleanupDanglingBitmapFilesLocked(ILcom/android/server/pm/ShortcutUser;Ljava/lang/String;Ljava/io/File;)V
PLcom/android/server/pm/ShortcutService;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
-PLcom/android/server/pm/ShortcutService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/pm/ShortcutService;->dumpDumpFiles(Ljava/io/PrintWriter;)V
-PLcom/android/server/pm/ShortcutService;->dumpInner(Ljava/io/PrintWriter;Lcom/android/server/pm/ShortcutService$DumpFilter;)V
-PLcom/android/server/pm/ShortcutService;->dumpNoCheck(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/pm/ShortcutService;->dumpUid(Ljava/io/PrintWriter;)V
PLcom/android/server/pm/ShortcutService;->enableShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-PLcom/android/server/pm/ShortcutService;->enforceMaxActivityShortcuts(I)V
PLcom/android/server/pm/ShortcutService;->fillInDefaultActivity(Ljava/util/List;)V
PLcom/android/server/pm/ShortcutService;->fixUpIncomingShortcutInfo(Landroid/content/pm/ShortcutInfo;ZZ)V
-HSPLcom/android/server/pm/ShortcutService;->fixUpShortcutResourceNamesAndValues(Landroid/content/pm/ShortcutInfo;)V
-PLcom/android/server/pm/ShortcutService;->forEachLoadedUserLocked(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/pm/ShortcutService;->forUpdatedPackages(IJZLjava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutService;->fixUpShortcutResourceNamesAndValues(Landroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/pm/ShortcutService;->forUpdatedPackages(IJZLjava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutService;->getActivityInfoWithMetadata(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
PLcom/android/server/pm/ShortcutService;->getBackupPayload(I)[B
+PLcom/android/server/pm/ShortcutService;->getBaseStateFile()Landroid/util/AtomicFile;
PLcom/android/server/pm/ShortcutService;->getDefaultLauncher(I)Landroid/content/ComponentName;
PLcom/android/server/pm/ShortcutService;->getDumpPath()Ljava/io/File;
PLcom/android/server/pm/ShortcutService;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/ShortcutService;->getIconMaxDimensions(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/ShortcutService;->getInstalledPackages(I)Ljava/util/List;
-HSPLcom/android/server/pm/ShortcutService;->getLastResetTimeLocked()J
-HSPLcom/android/server/pm/ShortcutService;->getLauncherShortcutsLocked(Ljava/lang/String;II)Lcom/android/server/pm/ShortcutLauncher;
-PLcom/android/server/pm/ShortcutService;->getManifestShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/ShortcutService;->getMaxActivityShortcuts()I
-PLcom/android/server/pm/ShortcutService;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
-PLcom/android/server/pm/ShortcutService;->getNextResetTimeLocked()J
-HSPLcom/android/server/pm/ShortcutService;->getNonPersistentUserLocked(I)Lcom/android/server/pm/ShortcutNonPersistentUser;
+PLcom/android/server/pm/ShortcutService;->getInstalledPackages(I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->getLastResetTimeLocked()J
+PLcom/android/server/pm/ShortcutService;->getLauncherShortcutsLocked(Ljava/lang/String;II)Lcom/android/server/pm/ShortcutLauncher;
+PLcom/android/server/pm/ShortcutService;->getMaxActivityShortcuts()I
PLcom/android/server/pm/ShortcutService;->getPackageShortcutsForPublisherLocked(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutPackage;
-PLcom/android/server/pm/ShortcutService;->getPackageShortcutsLocked(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutPackage;
-PLcom/android/server/pm/ShortcutService;->getParentOrSelfUserId(I)I
PLcom/android/server/pm/ShortcutService;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/ShortcutService;->getRemainingCallCount(Ljava/lang/String;I)I
-PLcom/android/server/pm/ShortcutService;->getShareTargets(Ljava/lang/String;Landroid/content/IntentFilter;I)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/pm/ShortcutService;->getStatStartTime()J
-PLcom/android/server/pm/ShortcutService;->getUidLastForegroundElapsedTimeLocked(I)J
-PLcom/android/server/pm/ShortcutService;->getUserBitmapFilePath(I)Ljava/io/File;
-HSPLcom/android/server/pm/ShortcutService;->getUserShortcutsLocked(I)Lcom/android/server/pm/ShortcutUser;
-HSPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V
+PLcom/android/server/pm/ShortcutService;->getShortcutsWithQueryLocked(Ljava/lang/String;IILjava/util/function/Predicate;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/ShortcutService;->getUserShortcutsLocked(I)Lcom/android/server/pm/ShortcutUser;
+HPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V
PLcom/android/server/pm/ShortcutService;->handlePackageAdded(Ljava/lang/String;I)V
PLcom/android/server/pm/ShortcutService;->handlePackageChanged(Ljava/lang/String;I)V
PLcom/android/server/pm/ShortcutService;->handlePackageUpdateFinished(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/ShortcutService;->handleUnlockUser(I)V
-PLcom/android/server/pm/ShortcutService;->hasShareTargets(Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/ShortcutService;->hasShortcutHostPermission(Ljava/lang/String;III)Z
+PLcom/android/server/pm/ShortcutService;->handleUnlockUser(I)V
+PLcom/android/server/pm/ShortcutService;->hasShortcutHostPermission(Ljava/lang/String;III)Z
PLcom/android/server/pm/ShortcutService;->hasShortcutHostPermissionInner(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/ShortcutService;->initialize()V
-HSPLcom/android/server/pm/ShortcutService;->injectApplicationInfoWithUninstalled(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/pm/ShortcutService;->injectBinderCallingPid()I
-PLcom/android/server/pm/ShortcutService;->injectBinderCallingUid()I
-HSPLcom/android/server/pm/ShortcutService;->injectBuildFingerprint()Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutService;->injectClearCallingIdentity()J
-HSPLcom/android/server/pm/ShortcutService;->injectCurrentTimeMillis()J
-HSPLcom/android/server/pm/ShortcutService;->injectDipToPixel(I)I
-HSPLcom/android/server/pm/ShortcutService;->injectElapsedRealtime()J
-PLcom/android/server/pm/ShortcutService;->injectEnforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/pm/ShortcutService;->injectGetActivityInfoWithMetadataWithUninstalled(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/ShortcutService;->initialize()V
+PLcom/android/server/pm/ShortcutService;->injectApplicationInfoWithUninstalled(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/pm/ShortcutService;->injectCurrentTimeMillis()J
+PLcom/android/server/pm/ShortcutService;->injectDipToPixel(I)I
+PLcom/android/server/pm/ShortcutService;->injectElapsedRealtime()J
+PLcom/android/server/pm/ShortcutService;->injectGetActivityInfoWithMetadataWithUninstalled(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
PLcom/android/server/pm/ShortcutService;->injectGetDefaultMainActivity(Ljava/lang/String;I)Landroid/content/ComponentName;
-PLcom/android/server/pm/ShortcutService;->injectGetLocaleTagsForUser(I)Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutService;->injectGetMainActivities(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/pm/ShortcutService;->injectGetPackageUid(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/ShortcutService;->injectGetPackagesWithUninstalled(I)Ljava/util/List;
-PLcom/android/server/pm/ShortcutService;->injectGetPinConfirmationActivity(Ljava/lang/String;II)Landroid/content/ComponentName;
-HSPLcom/android/server/pm/ShortcutService;->injectGetResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
-HSPLcom/android/server/pm/ShortcutService;->injectHasAccessShortcutsPermission(II)Z
-PLcom/android/server/pm/ShortcutService;->injectHasUnlimitedShortcutsApiCallsPermission(II)Z
+PLcom/android/server/pm/ShortcutService;->injectGetMainActivities(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->injectGetPackageUid(Ljava/lang/String;I)I
+PLcom/android/server/pm/ShortcutService;->injectGetResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
PLcom/android/server/pm/ShortcutService;->injectIsActivityEnabledAndExported(Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/pm/ShortcutService;->injectIsLowRamDevice()Z
+PLcom/android/server/pm/ShortcutService;->injectIsLowRamDevice()Z
PLcom/android/server/pm/ShortcutService;->injectIsMainActivity(Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/pm/ShortcutService;->injectIsSafeModeEnabled()Z
-HSPLcom/android/server/pm/ShortcutService;->injectPackageInfoWithUninstalled(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V
-HSPLcom/android/server/pm/ShortcutService;->injectRegisterUidObserver(Landroid/app/IUidObserver;I)V
-HSPLcom/android/server/pm/ShortcutService;->injectRestoreCallingIdentity(J)V
-HSPLcom/android/server/pm/ShortcutService;->injectRunOnNewThread(Ljava/lang/Runnable;)V
-HSPLcom/android/server/pm/ShortcutService;->injectShortcutManagerConstants()Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutService;->injectShouldPerformVerification()Z
-HSPLcom/android/server/pm/ShortcutService;->injectSystemDataPath()Ljava/io/File;
-HSPLcom/android/server/pm/ShortcutService;->injectUserDataPath(I)Ljava/io/File;
+PLcom/android/server/pm/ShortcutService;->injectIsSafeModeEnabled()Z
+PLcom/android/server/pm/ShortcutService;->injectPackageInfoWithUninstalled(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/pm/ShortcutService;->injectRegisterUidObserver(Landroid/app/IUidObserver;I)V
+PLcom/android/server/pm/ShortcutService;->injectShortcutManagerConstants()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->injectSystemDataPath()Ljava/io/File;
PLcom/android/server/pm/ShortcutService;->injectValidateIconResPackage(Landroid/content/pm/ShortcutInfo;Landroid/graphics/drawable/Icon;)V
-HSPLcom/android/server/pm/ShortcutService;->injectXmlMetaData(Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
-PLcom/android/server/pm/ShortcutService;->isEphemeralApp(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/PackageInfo;)Z
-HSPLcom/android/server/pm/ShortcutService;->isPackageInstalled(Ljava/lang/String;I)Z
-PLcom/android/server/pm/ShortcutService;->isRequestPinItemSupported(II)Z
-PLcom/android/server/pm/ShortcutService;->isUidForegroundLocked(I)Z
-HSPLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z
-HSPLcom/android/server/pm/ShortcutService;->lambda$checkPackageChanges$7$ShortcutService(Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
-PLcom/android/server/pm/ShortcutService;->lambda$cleanUpPackageForAllLoadedUsers$3$ShortcutService(Ljava/lang/String;IZLcom/android/server/pm/ShortcutUser;)V
-HSPLcom/android/server/pm/ShortcutService;->lambda$handleUnlockUser$0$ShortcutService(JI)V
+PLcom/android/server/pm/ShortcutService;->injectXmlMetaData(Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
+PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/ActivityInfo;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/pm/ShortcutService;->isProcessStateForeground(I)Z
+HPLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z
+PLcom/android/server/pm/ShortcutService;->lambda$checkPackageChanges$7$ShortcutService(Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutService;->lambda$handleUnlockUser$0$ShortcutService(JI)V
PLcom/android/server/pm/ShortcutService;->lambda$notifyListeners$1$ShortcutService(ILjava/lang/String;)V
-HSPLcom/android/server/pm/ShortcutService;->lambda$rescanUpdatedPackagesLocked$8$ShortcutService(Lcom/android/server/pm/ShortcutUser;ILandroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/pm/ShortcutService;->loadBaseStateLocked()V
-HSPLcom/android/server/pm/ShortcutService;->loadUserInternal(ILjava/io/InputStream;Z)Lcom/android/server/pm/ShortcutUser;
-HSPLcom/android/server/pm/ShortcutService;->loadUserLocked(I)Lcom/android/server/pm/ShortcutUser;
-HSPLcom/android/server/pm/ShortcutService;->logDurationStat(IJ)V
-PLcom/android/server/pm/ShortcutService;->onApplicationActive(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/ShortcutService;->onBootPhase(I)V
+PLcom/android/server/pm/ShortcutService;->loadBaseStateLocked()V
+PLcom/android/server/pm/ShortcutService;->loadConfigurationLocked()V
+PLcom/android/server/pm/ShortcutService;->loadUserInternal(ILjava/io/InputStream;Z)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutService;->loadUserLocked(I)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutService;->onBootPhase(I)V
PLcom/android/server/pm/ShortcutService;->openIconFileForWrite(ILandroid/content/pm/ShortcutInfo;)Lcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;
-HSPLcom/android/server/pm/ShortcutService;->packageShortcutsChanged(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/ShortcutService;->parseComponentNameAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/ComponentName;
-PLcom/android/server/pm/ShortcutService;->parseDumpArgs([Ljava/lang/String;)Lcom/android/server/pm/ShortcutService$DumpFilter;
-HSPLcom/android/server/pm/ShortcutService;->parseIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
-HSPLcom/android/server/pm/ShortcutService;->parseIntentAttributeNoDefault(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
-HSPLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
-HSPLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
-HSPLcom/android/server/pm/ShortcutService;->parseStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;IZ)Ljava/util/List;
-HSPLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;Ljava/lang/String;Landroid/content/ComponentName;I)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->parseComponentNameAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/ComponentName;
+PLcom/android/server/pm/ShortcutService;->parseIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
+PLcom/android/server/pm/ShortcutService;->parseIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
+PLcom/android/server/pm/ShortcutService;->parseIntentAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService;->parseIntentAttributeNoDefault(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
+PLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
+PLcom/android/server/pm/ShortcutService;->parseStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;IZ)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;Ljava/lang/String;Landroid/content/ComponentName;I)Ljava/util/List;
PLcom/android/server/pm/ShortcutService;->removeAllDynamicShortcuts(Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
PLcom/android/server/pm/ShortcutService;->removeIconLocked(Landroid/content/pm/ShortcutInfo;)V
-PLcom/android/server/pm/ShortcutService;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/ShortcutService;->rescanUpdatedPackagesLocked(IJ)V
-HSPLcom/android/server/pm/ShortcutService;->saveBaseStateLocked()V
-HSPLcom/android/server/pm/ShortcutService;->saveDirtyInfo()V
-HSPLcom/android/server/pm/ShortcutService;->saveIconAndFixUpShortcutLocked(Landroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/pm/ShortcutService;->rescanUpdatedPackagesLocked(IJ)V
+PLcom/android/server/pm/ShortcutService;->saveDirtyInfo()V
+PLcom/android/server/pm/ShortcutService;->saveIconAndFixUpShortcutLocked(Landroid/content/pm/ShortcutInfo;)V
PLcom/android/server/pm/ShortcutService;->saveUserInternalLocked(ILjava/io/OutputStream;Z)V
PLcom/android/server/pm/ShortcutService;->saveUserLocked(I)V
-HSPLcom/android/server/pm/ShortcutService;->scheduleSaveInner(I)V
-HSPLcom/android/server/pm/ShortcutService;->scheduleSaveUser(I)V
+PLcom/android/server/pm/ShortcutService;->scheduleSaveInner(I)V
PLcom/android/server/pm/ShortcutService;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLcom/android/server/pm/ShortcutService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->setReturnedByServer(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/pm/ShortcutService;->shrinkBitmap(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
-HSPLcom/android/server/pm/ShortcutService;->throwIfUserLockedL(I)V
-HSPLcom/android/server/pm/ShortcutService;->updateConfigurationLocked(Ljava/lang/String;)Z
+PLcom/android/server/pm/ShortcutService;->throwIfUserLockedL(I)V
+PLcom/android/server/pm/ShortcutService;->updateConfigurationLocked(Ljava/lang/String;)Z
PLcom/android/server/pm/ShortcutService;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLcom/android/server/pm/ShortcutService;->updateTimesLocked()V
+PLcom/android/server/pm/ShortcutService;->updateTimesLocked()V
PLcom/android/server/pm/ShortcutService;->verifyCaller(Ljava/lang/String;I)V
PLcom/android/server/pm/ShortcutService;->verifyShortcutInfoPackage(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;)V
-HSPLcom/android/server/pm/ShortcutUser$PackageWithUser;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/pm/ShortcutUser$PackageWithUser;->hashCode()I
-HSPLcom/android/server/pm/ShortcutUser;->attemptToRestoreIfNeededAndSave(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
+HPLcom/android/server/pm/ShortcutService;->writeAttr(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V
+HPLcom/android/server/pm/ShortcutUser$PackageWithUser;-><init>(ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutUser$PackageWithUser;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/pm/ShortcutUser$PackageWithUser;->hashCode()I
+HPLcom/android/server/pm/ShortcutUser$PackageWithUser;->of(ILjava/lang/String;)Lcom/android/server/pm/ShortcutUser$PackageWithUser;
+PLcom/android/server/pm/ShortcutUser;-><init>(Lcom/android/server/pm/ShortcutService;I)V
+PLcom/android/server/pm/ShortcutUser;->addLauncher(Lcom/android/server/pm/ShortcutLauncher;)V
+PLcom/android/server/pm/ShortcutUser;->attemptToRestoreIfNeededAndSave(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
PLcom/android/server/pm/ShortcutUser;->clearLauncher()V
PLcom/android/server/pm/ShortcutUser;->detectLocaleChange()V
-PLcom/android/server/pm/ShortcutUser;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Lcom/android/server/pm/ShortcutService$DumpFilter;)V
-PLcom/android/server/pm/ShortcutUser;->dumpDirectorySize(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/io/File;)V
-HSPLcom/android/server/pm/ShortcutUser;->forAllLaunchers(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/pm/ShortcutUser;->forAllPackageItems(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/pm/ShortcutUser;->forAllPackages(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/pm/ShortcutUser;->forPackageItem(Ljava/lang/String;ILjava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->forAllLaunchers(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->forAllPackageItems(Ljava/util/function/Consumer;)V
+HPLcom/android/server/pm/ShortcutUser;->forAllPackages(Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/ShortcutUser;->forPackageItem(Ljava/lang/String;ILjava/util/function/Consumer;)V
PLcom/android/server/pm/ShortcutUser;->getCachedLauncher()Landroid/content/ComponentName;
-HSPLcom/android/server/pm/ShortcutUser;->getLastAppScanOsFingerprint()Ljava/lang/String;
-HSPLcom/android/server/pm/ShortcutUser;->getLastAppScanTime()J
-HSPLcom/android/server/pm/ShortcutUser;->getLauncherShortcuts(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutLauncher;
-HSPLcom/android/server/pm/ShortcutUser;->getPackageShortcuts(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
-HSPLcom/android/server/pm/ShortcutUser;->getPackageShortcutsIfExists(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
-HSPLcom/android/server/pm/ShortcutUser;->getUserId()I
+PLcom/android/server/pm/ShortcutUser;->getLastAppScanOsFingerprint()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutUser;->getLastAppScanTime()J
+PLcom/android/server/pm/ShortcutUser;->getLauncherShortcuts(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutLauncher;
+PLcom/android/server/pm/ShortcutUser;->getPackageShortcuts(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
+HPLcom/android/server/pm/ShortcutUser;->getPackageShortcutsIfExists(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutUser;->getUserId()I
PLcom/android/server/pm/ShortcutUser;->hasPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/ShortcutUser;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lorg/xmlpull/v1/XmlPullParser;IZ)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutUser;->lambda$attemptToRestoreIfNeededAndSave$2(Lcom/android/server/pm/ShortcutPackageItem;)V
+HPLcom/android/server/pm/ShortcutUser;->lambda$forPackageItem$0(ILjava/lang/String;Ljava/util/function/Consumer;Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutUser;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lorg/xmlpull/v1/XmlPullParser;IZ)Lcom/android/server/pm/ShortcutUser;
+PLcom/android/server/pm/ShortcutUser;->logSharingShortcutStats(Lcom/android/internal/logging/MetricsLogger;)V
PLcom/android/server/pm/ShortcutUser;->onCalledByPublisher(Ljava/lang/String;)V
PLcom/android/server/pm/ShortcutUser;->removeLauncher(ILjava/lang/String;)Lcom/android/server/pm/ShortcutLauncher;
PLcom/android/server/pm/ShortcutUser;->removePackage(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
-HSPLcom/android/server/pm/ShortcutUser;->rescanPackageIfNeeded(Ljava/lang/String;Z)V
+PLcom/android/server/pm/ShortcutUser;->rescanPackageIfNeeded(Ljava/lang/String;Z)V
+HPLcom/android/server/pm/ShortcutUser;->saveShortcutPackageItem(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/ShortcutPackageItem;Z)V
PLcom/android/server/pm/ShortcutUser;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-HSPLcom/android/server/pm/ShortcutUser;->setLastAppScanOsFingerprint(Ljava/lang/String;)V
-HSPLcom/android/server/pm/ShortcutUser;->setLastAppScanTime(J)V
+PLcom/android/server/pm/ShortcutUser;->setLastAppScanOsFingerprint(Ljava/lang/String;)V
+PLcom/android/server/pm/ShortcutUser;->setLastAppScanTime(J)V
PLcom/android/server/pm/ShortcutUser;->setLauncher(Landroid/content/ComponentName;)V
-PLcom/android/server/pm/StagingManager;->createSession(Lcom/android/server/pm/PackageInstallerSession;)V
+HPLcom/android/server/pm/ShortcutUser;->setLauncher(Landroid/content/ComponentName;Z)V
+PLcom/android/server/pm/StagingManager$PreRebootVerificationHandler;-><init>(Lcom/android/server/pm/StagingManager;Landroid/os/Looper;)V
+PLcom/android/server/pm/StagingManager;-><init>(Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/ApexManager;Landroid/content/Context;)V
PLcom/android/server/pm/StagingManager;->getSessions()Landroid/content/pm/ParceledListSlice;
HSPLcom/android/server/pm/UserDataPreparer;-><init>(Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;Z)V
-HSPLcom/android/server/pm/UserDataPreparer;->enforceSerialNumber(Ljava/io/File;I)V
-HSPLcom/android/server/pm/UserDataPreparer;->getDataSystemCeDirectory(I)Ljava/io/File;
-HSPLcom/android/server/pm/UserDataPreparer;->getDataSystemDeDirectory(I)Ljava/io/File;
-HSPLcom/android/server/pm/UserDataPreparer;->getDataUserCeDirectory(Ljava/lang/String;I)Ljava/io/File;
-HSPLcom/android/server/pm/UserDataPreparer;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
-HSPLcom/android/server/pm/UserDataPreparer;->getSerialNumber(Ljava/io/File;)I
-HSPLcom/android/server/pm/UserDataPreparer;->isFileEncryptedEmulatedOnly()Z
-HSPLcom/android/server/pm/UserDataPreparer;->prepareUserData(III)V
-HSPLcom/android/server/pm/UserDataPreparer;->prepareUserDataLI(Ljava/lang/String;IIIZ)V
-HSPLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;)V
-HSPLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-HSPLcom/android/server/pm/UserDataPreparer;->setSerialNumber(Ljava/io/File;I)V
-HSPLcom/android/server/pm/UserManagerService$2;->run()V
-HSPLcom/android/server/pm/UserManagerService$3;->run()V
-HSPLcom/android/server/pm/UserManagerService$LifeCycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/pm/UserManagerService$LifeCycle;->onBootPhase(I)V
-HSPLcom/android/server/pm/UserManagerService$LifeCycle;->onStart()V
-HSPLcom/android/server/pm/UserManagerService$LifeCycle;->onStartUser(I)V
-HSPLcom/android/server/pm/UserManagerService$LifeCycle;->onUnlockUser(I)V
-HSPLcom/android/server/pm/UserManagerService$LocalService;->addUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
+PLcom/android/server/pm/UserDataPreparer;->enforceSerialNumber(Ljava/io/File;I)V
+PLcom/android/server/pm/UserDataPreparer;->getDataSystemCeDirectory(I)Ljava/io/File;
+PLcom/android/server/pm/UserDataPreparer;->getDataSystemDeDirectory(I)Ljava/io/File;
+PLcom/android/server/pm/UserDataPreparer;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
+PLcom/android/server/pm/UserDataPreparer;->getSerialNumber(Ljava/io/File;)I
+PLcom/android/server/pm/UserDataPreparer;->isFileEncryptedEmulatedOnly()Z
+PLcom/android/server/pm/UserDataPreparer;->prepareUserData(III)V
+PLcom/android/server/pm/UserDataPreparer;->prepareUserDataLI(Ljava/lang/String;IIIZ)V
+PLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/pm/UserDataPreparer;->setSerialNumber(Ljava/io/File;I)V
+HSPLcom/android/server/pm/UserManagerService$1;-><init>(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/UserManagerService$2;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService$2;->run()V
+PLcom/android/server/pm/UserManagerService$3;-><init>(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserManagerService$3;->run()V
+PLcom/android/server/pm/UserManagerService$LifeCycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onBootPhase(I)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onStart()V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onStartUser(I)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onUnlockUser(I)V
+HSPLcom/android/server/pm/UserManagerService$LocalService;-><init>(Lcom/android/server/pm/UserManagerService;)V
+HSPLcom/android/server/pm/UserManagerService$LocalService;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$1;)V
+PLcom/android/server/pm/UserManagerService$LocalService;->addUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
HSPLcom/android/server/pm/UserManagerService$LocalService;->exists(I)Z
-PLcom/android/server/pm/UserManagerService$LocalService;->getProfileParentId(I)I
-HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserIds()[I
-HSPLcom/android/server/pm/UserManagerService$LocalService;->getUserRestriction(ILjava/lang/String;)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->getUserIds()[I
+PLcom/android/server/pm/UserManagerService$LocalService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService$LocalService;->getUserInfos()[Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService$LocalService;->getUserRestriction(ILjava/lang/String;)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->hasUserRestriction(Ljava/lang/String;I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->isDeviceManaged()Z
PLcom/android/server/pm/UserManagerService$LocalService;->isProfileAccessible(IILjava/lang/String;Z)Z
-HSPLcom/android/server/pm/UserManagerService$LocalService;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
-PLcom/android/server/pm/UserManagerService$LocalService;->isUserInitialized(I)Z
-HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserRunning(I)Z
-HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlocked(I)Z
-HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlockingOrUnlocked(I)Z
-HSPLcom/android/server/pm/UserManagerService$LocalService;->setDeviceManaged(Z)V
-HSPLcom/android/server/pm/UserManagerService$LocalService;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;ZI)V
-HSPLcom/android/server/pm/UserManagerService$LocalService;->setForceEphemeralUsers(Z)V
-HSPLcom/android/server/pm/UserManagerService$LocalService;->setUserManaged(IZ)V
-HSPLcom/android/server/pm/UserManagerService$LocalService;->setUserState(II)V
-HSPLcom/android/server/pm/UserManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/UserManagerService$LocalService;->isUserManaged(I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->isUserRunning(I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlocked(I)Z
+HPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlockingOrUnlocked(I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->setDeviceManaged(Z)V
+PLcom/android/server/pm/UserManagerService$LocalService;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService$LocalService;->setUserManaged(IZ)V
+PLcom/android/server/pm/UserManagerService$LocalService;->setUserState(II)V
+HSPLcom/android/server/pm/UserManagerService$MainHandler;-><init>(Lcom/android/server/pm/UserManagerService;)V
+PLcom/android/server/pm/UserManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/server/pm/UserManagerService$UserData;-><init>()V
-HSPLcom/android/server/pm/UserManagerService$UserData;->getLastRequestQuietModeEnabledMillis()J
+PLcom/android/server/pm/UserManagerService$UserData;->getLastRequestQuietModeEnabledMillis()J
+HSPLcom/android/server/pm/UserManagerService$UserData;->setLastRequestQuietModeEnabledMillis(J)V
+HSPLcom/android/server/pm/UserManagerService;-><clinit>()V
HSPLcom/android/server/pm/UserManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/UserDataPreparer;Ljava/lang/Object;)V
HSPLcom/android/server/pm/UserManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/UserDataPreparer;Ljava/lang/Object;Ljava/io/File;)V
-HSPLcom/android/server/pm/UserManagerService;->applyUserRestrictionsLR(I)V
-PLcom/android/server/pm/UserManagerService;->canAddMoreManagedProfiles(IZ)Z
-PLcom/android/server/pm/UserManagerService;->canHaveRestrictedProfile(I)Z
-HSPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermIfCallerInOtherProfileGroup(ILjava/lang/String;)V
-HSPLcom/android/server/pm/UserManagerService;->checkManageUserAndAcrossUsersFullPermission(Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->access$100(Lcom/android/server/pm/UserManagerService;)Landroid/content/Context;
+PLcom/android/server/pm/UserManagerService;->access$1100(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/UserManagerService;->access$1200(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->access$1300(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
+PLcom/android/server/pm/UserManagerService;->access$1400(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->access$1800(Lcom/android/server/pm/UserManagerService;)Z
+PLcom/android/server/pm/UserManagerService;->access$1802(Lcom/android/server/pm/UserManagerService;Z)Z
+PLcom/android/server/pm/UserManagerService;->access$1900(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/pm/UserManagerService;->access$200(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
+HPLcom/android/server/pm/UserManagerService;->access$2800(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseIntArray;
+HSPLcom/android/server/pm/UserManagerService;->access$2900(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->access$300(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->access$3100(Lcom/android/server/pm/UserManagerService;I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->access$3200(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/pm/UserManagerService;->access$500()Landroid/os/IBinder;
+PLcom/android/server/pm/UserManagerService;->access$600(Lcom/android/server/pm/UserManagerService;)Lcom/android/internal/app/IAppOpsService;
+PLcom/android/server/pm/UserManagerService;->access$700(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/pm/UserManagerService;->addUserRestrictionsListener(Landroid/os/IUserRestrictionsListener;)V
+PLcom/android/server/pm/UserManagerService;->applyUserRestrictionsLR(I)V
+HSPLcom/android/server/pm/UserManagerService;->checkManageOrCreateUsersPermission(Ljava/lang/String;)V
+HPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermIfCallerInOtherProfileGroup(ILjava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->checkManageUserAndAcrossUsersFullPermission(Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->checkManageUsersPermission(Ljava/lang/String;)V
PLcom/android/server/pm/UserManagerService;->checkSystemOrRoot(Ljava/lang/String;)V
-HSPLcom/android/server/pm/UserManagerService;->cleanupPartialUsers()V
-HSPLcom/android/server/pm/UserManagerService;->computeEffectiveUserRestrictionsLR(I)Landroid/os/Bundle;
-HSPLcom/android/server/pm/UserManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->cleanupPartialUsers()V
+PLcom/android/server/pm/UserManagerService;->computeEffectiveUserRestrictionsLR(I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
HSPLcom/android/server/pm/UserManagerService;->exists(I)Z
-HSPLcom/android/server/pm/UserManagerService;->findCurrentGuestUser()Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->findCurrentGuestUser()Landroid/content/pm/UserInfo;
PLcom/android/server/pm/UserManagerService;->getAliveUsersExcludingGuestsCountLU()I
-HSPLcom/android/server/pm/UserManagerService;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-HSPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
-HSPLcom/android/server/pm/UserManagerService;->getCredentialOwnerProfile(I)I
-HSPLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;
+HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
+HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->getCredentialOwnerProfile(I)I
+PLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;
HSPLcom/android/server/pm/UserManagerService;->getInstance()Lcom/android/server/pm/UserManagerService;
-PLcom/android/server/pm/UserManagerService;->getManagedProfileBadge(I)I
-HSPLcom/android/server/pm/UserManagerService;->getPrimaryUser()Landroid/content/pm/UserInfo;
-HSPLcom/android/server/pm/UserManagerService;->getProfileIds(IZ)[I
-HSPLcom/android/server/pm/UserManagerService;->getProfileIdsLU(IZ)Landroid/util/IntArray;
-HSPLcom/android/server/pm/UserManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
-HSPLcom/android/server/pm/UserManagerService;->getProfiles(IZ)Ljava/util/List;
-HSPLcom/android/server/pm/UserManagerService;->getProfilesLU(IZZ)Ljava/util/List;
-HSPLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I
-HSPLcom/android/server/pm/UserManagerService;->getUserAccount(I)Ljava/lang/String;
+HSPLcom/android/server/pm/UserManagerService;->getInternalForInjectorOnly()Landroid/os/UserManagerInternal;
+PLcom/android/server/pm/UserManagerService;->getPrimaryUser()Landroid/content/pm/UserInfo;
+HPLcom/android/server/pm/UserManagerService;->getProfileIds(ILjava/lang/String;Z)[I
+PLcom/android/server/pm/UserManagerService;->getProfileIds(IZ)[I
+HPLcom/android/server/pm/UserManagerService;->getProfileIdsLU(ILjava/lang/String;Z)Landroid/util/IntArray;
+HPLcom/android/server/pm/UserManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->getProfileParentLU(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->getProfiles(IZ)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService;->getProfilesLU(ILjava/lang/String;ZZ)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I
+PLcom/android/server/pm/UserManagerService;->getUserAccount(I)Ljava/lang/String;
+HPLcom/android/server/pm/UserManagerService;->getUserBadgeColorResId(I)I
+HPLcom/android/server/pm/UserManagerService;->getUserBadgeLabelResId(I)I
+HPLcom/android/server/pm/UserManagerService;->getUserBadgeNoBackgroundResId(I)I
PLcom/android/server/pm/UserManagerService;->getUserCreationTime(I)J
-HSPLcom/android/server/pm/UserManagerService;->getUserDataNoChecks(I)Lcom/android/server/pm/UserManagerService$UserData;
-HSPLcom/android/server/pm/UserManagerService;->getUserHandle(I)I
-HSPLcom/android/server/pm/UserManagerService;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/pm/UserManagerService;->getUserDataLU(I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->getUserDataNoChecks(I)Lcom/android/server/pm/UserManagerService$UserData;
+PLcom/android/server/pm/UserManagerService;->getUserHandle(I)I
+PLcom/android/server/pm/UserManagerService;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/pm/UserManagerService;->getUserIconBadgeResId(I)I
HSPLcom/android/server/pm/UserManagerService;->getUserIds()[I
HSPLcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
HSPLcom/android/server/pm/UserManagerService;->getUserInfoLU(I)Landroid/content/pm/UserInfo;
HSPLcom/android/server/pm/UserManagerService;->getUserInfoNoChecks(I)Landroid/content/pm/UserInfo;
-PLcom/android/server/pm/UserManagerService;->getUserRestrictionSource(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/UserManagerService;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/pm/UserManagerService;->getUserRestrictions(I)Landroid/os/Bundle;
-HSPLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I
-PLcom/android/server/pm/UserManagerService;->getUserStartRealtime()J
-PLcom/android/server/pm/UserManagerService;->getUserUnlockRealtime()J
+PLcom/android/server/pm/UserManagerService;->getUserName()Ljava/lang/String;
+PLcom/android/server/pm/UserManagerService;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/UserManagerService;->getUserRestrictions(I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I
+HPLcom/android/server/pm/UserManagerService;->getUserStartRealtime()J
+HPLcom/android/server/pm/UserManagerService;->getUserTypeDetails(Landroid/content/pm/UserInfo;)Lcom/android/server/pm/UserTypeDetails;
+HPLcom/android/server/pm/UserManagerService;->getUserTypeDetailsNoChecks(I)Lcom/android/server/pm/UserTypeDetails;
+HPLcom/android/server/pm/UserManagerService;->getUserTypeNoChecks(I)Ljava/lang/String;
+HPLcom/android/server/pm/UserManagerService;->getUserUnlockRealtime()J
HSPLcom/android/server/pm/UserManagerService;->getUsers(Z)Ljava/util/List;
-HSPLcom/android/server/pm/UserManagerService;->hasBaseUserRestriction(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/UserManagerService;->getUsers(ZZZ)Ljava/util/List;
+HPLcom/android/server/pm/UserManagerService;->hasBadge(I)Z
+PLcom/android/server/pm/UserManagerService;->hasBaseUserRestriction(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/UserManagerService;->hasManageOrCreateUsersPermission()Z
HSPLcom/android/server/pm/UserManagerService;->hasManageUsersOrPermission(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/UserManagerService;->hasManagedProfile(I)Z
-HSPLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
-PLcom/android/server/pm/UserManagerService;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
+HPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission()Z
+HPLcom/android/server/pm/UserManagerService;->hasManagedProfile(I)Z
+PLcom/android/server/pm/UserManagerService;->hasPermissionGranted(Ljava/lang/String;I)Z
+PLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
HSPLcom/android/server/pm/UserManagerService;->initDefaultGuestRestrictions()V
-HSPLcom/android/server/pm/UserManagerService;->isDemoUser(I)Z
-HSPLcom/android/server/pm/UserManagerService;->isManagedProfile(I)Z
-HSPLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z
-HSPLcom/android/server/pm/UserManagerService;->isRestricted()Z
-HSPLcom/android/server/pm/UserManagerService;->isSameProfileGroup(II)Z
-HSPLcom/android/server/pm/UserManagerService;->isSameProfileGroupNoChecks(II)Z
-HSPLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z
-HSPLcom/android/server/pm/UserManagerService;->isUserUnlocked(I)Z
-HSPLcom/android/server/pm/UserManagerService;->isUserUnlockingOrUnlocked(I)Z
-HSPLcom/android/server/pm/UserManagerService;->onBeforeStartUser(I)V
-HSPLcom/android/server/pm/UserManagerService;->onBeforeUnlockUser(I)V
-HSPLcom/android/server/pm/UserManagerService;->onUserLoggedIn(I)V
-HSPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Landroid/util/AtomicFile;)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->installWhitelistedSystemPackages(ZZ)Z
+PLcom/android/server/pm/UserManagerService;->isDemoUser(I)Z
+PLcom/android/server/pm/UserManagerService;->isManagedProfile(I)Z
+PLcom/android/server/pm/UserManagerService;->isPreCreated(I)Z
+HPLcom/android/server/pm/UserManagerService;->isProfile(I)Z
+PLcom/android/server/pm/UserManagerService;->isProfileOf(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z
+PLcom/android/server/pm/UserManagerService;->isRestricted()Z
+PLcom/android/server/pm/UserManagerService;->isSameProfileGroup(II)Z
+HPLcom/android/server/pm/UserManagerService;->isSameProfileGroupNoChecks(II)Z
+HPLcom/android/server/pm/UserManagerService;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
+PLcom/android/server/pm/UserManagerService;->isUserLimitReached()Z
+PLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z
+HSPLcom/android/server/pm/UserManagerService;->isUserTypeSubtypeOfFull(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/UserManagerService;->isUserTypeSubtypeOfProfile(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/UserManagerService;->isUserTypeSubtypeOfSystem(Ljava/lang/String;)Z
+PLcom/android/server/pm/UserManagerService;->isUserUnlocked(I)Z
+HPLcom/android/server/pm/UserManagerService;->isUserUnlockingOrUnlocked(I)Z
+PLcom/android/server/pm/UserManagerService;->lambda$addUserRestrictionsListener$0(Landroid/os/IUserRestrictionsListener;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserManagerService;->onBeforeStartUser(I)V
+PLcom/android/server/pm/UserManagerService;->onUserLoggedIn(I)V
+PLcom/android/server/pm/UserManagerService;->propagateUserRestrictionsLR(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Landroid/util/AtomicFile;)Landroid/os/Bundle;
PLcom/android/server/pm/UserManagerService;->readEntry(Landroid/os/Bundle;Ljava/util/ArrayList;Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/UserManagerService;->readIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
HSPLcom/android/server/pm/UserManagerService;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
HSPLcom/android/server/pm/UserManagerService;->readUserLP(I)Lcom/android/server/pm/UserManagerService$UserData;
HSPLcom/android/server/pm/UserManagerService;->readUserLP(ILjava/io/InputStream;)Lcom/android/server/pm/UserManagerService$UserData;
HSPLcom/android/server/pm/UserManagerService;->readUserListLP()V
-HSPLcom/android/server/pm/UserManagerService;->reconcileUsers(Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->reconcileUsers(Ljava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->scheduleWriteUser(Lcom/android/server/pm/UserManagerService$UserData;)V
PLcom/android/server/pm/UserManagerService;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;I)V
-HSPLcom/android/server/pm/UserManagerService;->setDevicePolicyUserRestrictionsInner(ILandroid/os/Bundle;ZI)V
-HSPLcom/android/server/pm/UserManagerService;->setUserRestriction(Ljava/lang/String;ZI)V
-HSPLcom/android/server/pm/UserManagerService;->systemReady()V
+PLcom/android/server/pm/UserManagerService;->setDevicePolicyUserRestrictionsInner(ILandroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->setUserRestriction(Ljava/lang/String;ZI)V
+PLcom/android/server/pm/UserManagerService;->systemReady()V
+HPLcom/android/server/pm/UserManagerService;->updateRestrictionsIfNeededLR(ILandroid/os/Bundle;Landroid/util/SparseArray;)Z
HSPLcom/android/server/pm/UserManagerService;->updateUserIds()V
-HSPLcom/android/server/pm/UserManagerService;->updateUserRestrictionsInternalLR(Landroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->updateUserRestrictionsInternalLR(Landroid/os/Bundle;I)V
HSPLcom/android/server/pm/UserManagerService;->upgradeIfNecessaryLP(Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/UserManagerService;->upgradeIfNecessaryLP(Landroid/os/Bundle;I)V
+HSPLcom/android/server/pm/UserManagerService;->userWithName(Landroid/content/pm/UserInfo;)Landroid/content/pm/UserInfo;
PLcom/android/server/pm/UserManagerService;->writeApplicationRestrictionsLAr(Landroid/os/Bundle;Landroid/util/AtomicFile;)V
PLcom/android/server/pm/UserManagerService;->writeBundle(Landroid/os/Bundle;Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;)V
-HSPLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;Ljava/io/OutputStream;)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestriction(Landroid/content/Context;ILjava/lang/String;Z)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestrictions(Landroid/content/Context;ILandroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-HSPLcom/android/server/pm/UserRestrictionsUtils;->dumpRestrictions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->isGlobal(ZLjava/lang/String;)Z
-HSPLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z
-HSPLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/UserRestrictionsUtils;->merge(Landroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->mergeAll(Landroid/util/SparseArray;)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;)V
+PLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;Ljava/io/OutputStream;)V
+HSPLcom/android/server/pm/UserRestrictionsUtils;-><clinit>()V
+PLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestriction(Landroid/content/Context;ILjava/lang/String;Z)V
+PLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestrictions(Landroid/content/Context;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
+PLcom/android/server/pm/UserRestrictionsUtils;->clone(Landroid/os/Bundle;)Landroid/os/Bundle;
+PLcom/android/server/pm/UserRestrictionsUtils;->dumpRestrictions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->getDefaultEnabledForManagedProfiles()Ljava/util/Set;
+PLcom/android/server/pm/UserRestrictionsUtils;->getNewUserRestrictionSetting(Landroid/content/Context;ILjava/lang/String;Z)I
+PLcom/android/server/pm/UserRestrictionsUtils;->isEmpty(Landroid/os/Bundle;)Z
+HPLcom/android/server/pm/UserRestrictionsUtils;->isGlobal(ILjava/lang/String;)Z
+HPLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z
+PLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z
+PLcom/android/server/pm/UserRestrictionsUtils;->merge(Landroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->mergeAll(Landroid/util/SparseArray;)Landroid/os/Bundle;
HSPLcom/android/server/pm/UserRestrictionsUtils;->newSetWithUniqueCheck([Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/pm/UserRestrictionsUtils;->nonNull(Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lorg/xmlpull/v1/XmlPullParser;)Landroid/os/Bundle;
HSPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lorg/xmlpull/v1/XmlPullParser;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->sortToGlobalAndLocal(Landroid/os/Bundle;ZILandroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLcom/android/server/pm/UserRestrictionsUtils;->writeRestrictions(Lorg/xmlpull/v1/XmlSerializer;Landroid/os/Bundle;Ljava/lang/String;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->restrictionsChanged(Landroid/os/Bundle;Landroid/os/Bundle;[Ljava/lang/String;)Z
+PLcom/android/server/pm/UserRestrictionsUtils;->setInstallMarketAppsRestriction(Landroid/content/ContentResolver;II)V
+HPLcom/android/server/pm/UserRestrictionsUtils;->sortToGlobalAndLocal(Landroid/os/Bundle;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->writeRestrictions(Lorg/xmlpull/v1/XmlSerializer;Landroid/os/Bundle;Ljava/lang/String;)V
+HSPLcom/android/server/pm/UserSystemPackageInstaller;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/util/ArrayMap;)V
+PLcom/android/server/pm/UserSystemPackageInstaller;->checkWhitelistedSystemPackages(I)V
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->determineWhitelistedPackagesForUserTypes(Lcom/android/server/SystemConfig;)Landroid/util/ArrayMap;
+HPLcom/android/server/pm/UserSystemPackageInstaller;->dump(Ljava/io/PrintWriter;)V
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->getAndSortKeysFromMap(Landroid/util/ArrayMap;)[Ljava/lang/String;
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->getBaseTypeBitSets()Ljava/util/Map;
+HSPLcom/android/server/pm/UserSystemPackageInstaller;->getTypesBitSet(Ljava/lang/Iterable;Ljava/util/Map;)J
+PLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistMode()I
+PLcom/android/server/pm/UserSystemPackageInstaller;->getWhitelistedSystemPackages()Ljava/util/Set;
+PLcom/android/server/pm/UserSystemPackageInstaller;->installWhitelistedSystemPackages(ZZ)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isEnforceMode(I)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isIgnoreOtaMode(I)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isImplicitWhitelistMode(I)Z
+PLcom/android/server/pm/UserSystemPackageInstaller;->isLogMode(I)Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;-><init>()V
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->createUserTypeDetails()Lcom/android/server/pm/UserTypeDetails;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasBadge()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasValidBaseType()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->hasValidPropertyFlags()Z
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgeColors([I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgeLabels([I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgeNoBackground(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBadgePlain(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setBaseType(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setDefaultUserInfoPropertyFlags(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setIconBadge(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setLabel(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setMaxAllowed(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setMaxAllowedPerParent(I)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails$Builder;->setName(Ljava/lang/String;)Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeDetails;-><init>(Ljava/lang/String;ZIIIIIIII[I[ILjava/util/ArrayList;)V
+HSPLcom/android/server/pm/UserTypeDetails;-><init>(Ljava/lang/String;ZIIIIIIII[I[ILjava/util/ArrayList;Lcom/android/server/pm/UserTypeDetails$1;)V
+HPLcom/android/server/pm/UserTypeDetails;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/pm/UserTypeDetails;->getBadgeColor(I)I
+PLcom/android/server/pm/UserTypeDetails;->getBadgeLabel(I)I
+PLcom/android/server/pm/UserTypeDetails;->getBadgeNoBackground()I
+PLcom/android/server/pm/UserTypeDetails;->getIconBadge()I
+PLcom/android/server/pm/UserTypeDetails;->hasBadge()Z
+HSPLcom/android/server/pm/UserTypeDetails;->isFull()Z
+HSPLcom/android/server/pm/UserTypeDetails;->isProfile()Z
+HSPLcom/android/server/pm/UserTypeDetails;->isSystem()Z
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullDemo()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullGuest()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullRestricted()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeFullSecondary()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeProfileManaged()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeSystemFull()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getDefaultTypeSystemHeadless()Lcom/android/server/pm/UserTypeDetails$Builder;
+HSPLcom/android/server/pm/UserTypeFactory;->getUserTypes()Landroid/util/ArrayMap;
+PLcom/android/server/pm/dex/-$$Lambda$ArtManagerService$MEVzU-orlv4msZVF-bA5NLti04g;-><init>(Landroid/os/ParcelFileDescriptor;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
PLcom/android/server/pm/dex/-$$Lambda$ArtManagerService$MEVzU-orlv4msZVF-bA5NLti04g;->run()V
-PLcom/android/server/pm/dex/-$$Lambda$ArtManagerService$_rD0Y6OPSJHMdjTIOtucoGQ1xag;->run()V
-HSPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo;
+HSPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;-><init>(Lcom/android/server/pm/dex/ArtManagerService;)V
+HSPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;-><init>(Lcom/android/server/pm/dex/ArtManagerService;Lcom/android/server/pm/dex/ArtManagerService$1;)V
+PLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo;
+HSPLcom/android/server/pm/dex/ArtManagerService;-><clinit>()V
HSPLcom/android/server/pm/dex/ArtManagerService;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;Lcom/android/server/pm/Installer;Ljava/lang/Object;)V
PLcom/android/server/pm/dex/ArtManagerService;->checkAndroidPermissions(ILjava/lang/String;)Z
PLcom/android/server/pm/dex/ArtManagerService;->checkShellPermissions(ILjava/lang/String;I)Z
-HSPLcom/android/server/pm/dex/ArtManagerService;->clearAppProfiles(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/dex/ArtManagerService;->clearAppProfiles(Landroid/content/pm/PackageParser$Package;)V
PLcom/android/server/pm/dex/ArtManagerService;->createProfileSnapshot(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
PLcom/android/server/pm/dex/ArtManagerService;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/pm/dex/ArtManagerService;->getCompilationFilterTronValue(Ljava/lang/String;)I
+PLcom/android/server/pm/dex/ArtManagerService;->getCompilationFilterTronValue(Ljava/lang/String;)I
HSPLcom/android/server/pm/dex/ArtManagerService;->getCompilationReasonTronValue(Ljava/lang/String;)I
-HSPLcom/android/server/pm/dex/ArtManagerService;->getPackageProfileNames(Landroid/content/pm/PackageParser$Package;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/dex/ArtManagerService;->getPackageProfileNames(Landroid/content/pm/PackageParser$Package;)Landroid/util/ArrayMap;
PLcom/android/server/pm/dex/ArtManagerService;->isRuntimeProfilingEnabled(ILjava/lang/String;)Z
-PLcom/android/server/pm/dex/ArtManagerService;->lambda$postError$0(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;ILjava/lang/String;)V
PLcom/android/server/pm/dex/ArtManagerService;->lambda$postSuccess$1(Landroid/os/ParcelFileDescriptor;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
-PLcom/android/server/pm/dex/ArtManagerService;->postError(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;I)V
PLcom/android/server/pm/dex/ArtManagerService;->postSuccess(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
-HSPLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;IZ)V
-PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;[IZ)V
+PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;IZ)V
PLcom/android/server/pm/dex/ArtManagerService;->snapshotAppProfile(Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
PLcom/android/server/pm/dex/ArtManagerService;->snapshotBootImageProfile(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
PLcom/android/server/pm/dex/ArtManagerService;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
HSPLcom/android/server/pm/dex/ArtManagerService;->verifyTronLoggingConstants()V
-HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->searchDex(Ljava/lang/String;I)I
-HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->updateCodeLocation(Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DexManager$DexSearchResult;-><init>(Lcom/android/server/pm/dex/DexManager;Ljava/lang/String;I)V
+PLcom/android/server/pm/dex/DexManager$DexSearchResult;->access$000(Lcom/android/server/pm/dex/DexManager$DexSearchResult;)I
+PLcom/android/server/pm/dex/DexManager$DexSearchResult;->access$100(Lcom/android/server/pm/dex/DexManager$DexSearchResult;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;-><init>(Landroid/content/pm/ApplicationInfo;I)V
+HPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->access$200(Lcom/android/server/pm/dex/DexManager$PackageCodeLocations;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs(Ljava/lang/String;I)V
+HPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->searchDex(Ljava/lang/String;I)I
+PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->updateCodeLocation(Ljava/lang/String;[Ljava/lang/String;)V
+HSPLcom/android/server/pm/dex/DexManager;-><clinit>()V
HSPLcom/android/server/pm/dex/DexManager;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageDexOptimizer;Lcom/android/server/pm/Installer;Ljava/lang/Object;)V
-HSPLcom/android/server/pm/dex/DexManager;->cachePackageCodeLocation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexManager;->dexoptSecondaryDex(Lcom/android/server/pm/dex/DexoptOptions;)Z
-PLcom/android/server/pm/dex/DexManager;->getAllPackagesWithSecondaryDexFiles()Ljava/util/Set;
-HSPLcom/android/server/pm/dex/DexManager;->getDexPackage(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Lcom/android/server/pm/dex/DexManager$DexSearchResult;
-PLcom/android/server/pm/dex/DexManager;->getDynamicCodeLogger()Lcom/android/server/pm/dex/DynamicCodeLogger;
-PLcom/android/server/pm/dex/DexManager;->getPackageUseInfoOrDefault(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;
-HSPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOob(Ljava/util/Collection;)Z
-HSPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOobInternal(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)Z
-HSPLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V
-HSPLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
-HSPLcom/android/server/pm/dex/DexManager;->notifyDexLoad(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/dex/DexManager;->notifyDexLoadInternal(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/dex/DexManager;->notifyPackageDataDestroyed(Ljava/lang/String;I)V
+HPLcom/android/server/pm/dex/DexManager;->access$300(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/dex/DexManager;->access$400()I
+PLcom/android/server/pm/dex/DexManager;->access$500()I
+PLcom/android/server/pm/dex/DexManager;->cachePackageCodeLocation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)V
+PLcom/android/server/pm/dex/DexManager;->cachePackageInfo(Landroid/content/pm/PackageInfo;I)V
+HPLcom/android/server/pm/dex/DexManager;->getDexPackage(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Lcom/android/server/pm/dex/DexManager$DexSearchResult;
+PLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOob(Ljava/util/Collection;)Z
+HPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOobInternal(ZLjava/lang/String;Ljava/util/Collection;)Z
+PLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V
+PLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
+PLcom/android/server/pm/dex/DexManager;->notifyDexLoad(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
+PLcom/android/server/pm/dex/DexManager;->notifyDexLoadInternal(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
PLcom/android/server/pm/dex/DexManager;->notifyPackageInstalled(Landroid/content/pm/PackageInfo;I)V
-PLcom/android/server/pm/dex/DexManager;->notifyPackageUpdated(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/pm/dex/DexManager;->reconcileSecondaryDexFiles(Ljava/lang/String;)V
+HPLcom/android/server/pm/dex/DexManager;->putIfAbsent(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/dex/DexoptOptions;-><init>(Ljava/lang/String;II)V
PLcom/android/server/pm/dex/DexoptOptions;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoader(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoaderChain(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/dex/DexoptUtils;->encodeClasspath([Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/pm/dex/DexoptUtils;->encodeSharedLibraries(Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptOptions;->getCompilationReason()I
+PLcom/android/server/pm/dex/DexoptOptions;->getCompilerFilter()Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptOptions;->getSplitName()Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptOptions;->isBootComplete()Z
+PLcom/android/server/pm/dex/DexoptOptions;->isCheckForProfileUpdates()Z
+PLcom/android/server/pm/dex/DexoptOptions;->isDexoptAsSharedLibrary()Z
+PLcom/android/server/pm/dex/DexoptOptions;->isDexoptIdleBackgroundJob()Z
+PLcom/android/server/pm/dex/DexoptOptions;->isDexoptInstallWithDexMetadata()Z
+PLcom/android/server/pm/dex/DexoptOptions;->isDowngrade()Z
+PLcom/android/server/pm/dex/DexoptUtils;-><clinit>()V
+PLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoader(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoaderChain(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->encodeClasspath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->encodeClasspath([Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->encodeSharedLibraries(Ljava/util/List;)Ljava/lang/String;
PLcom/android/server/pm/dex/DexoptUtils;->encodeSharedLibrary(Landroid/content/pm/SharedLibraryInfo;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptUtils;->getClassLoaderContext(Landroid/content/pm/SharedLibraryInfo;)Ljava/lang/String;
PLcom/android/server/pm/dex/DexoptUtils;->getClassLoaderContexts(Landroid/content/pm/ApplicationInfo;Ljava/util/List;[Z)[Ljava/lang/String;
PLcom/android/server/pm/dex/DexoptUtils;->getSplitRelativeCodePaths(Landroid/content/pm/ApplicationInfo;)[Ljava/lang/String;
-HSPLcom/android/server/pm/dex/DexoptUtils;->processContextForDexLoad(Ljava/util/List;Ljava/util/List;)[Ljava/lang/String;
-PLcom/android/server/pm/dex/DynamicCodeLogger;->fileIsUnder(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/dex/DynamicCodeLogger;->getAllPackagesWithDynamicCodeLoading()Ljava/util/Set;
-PLcom/android/server/pm/dex/DynamicCodeLogger;->getPackageDynamicCodeInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
-PLcom/android/server/pm/dex/DynamicCodeLogger;->logDynamicCodeLoading(Ljava/lang/String;)V
-HSPLcom/android/server/pm/dex/DynamicCodeLogger;->readAndSync(Ljava/util/Map;)V
-HSPLcom/android/server/pm/dex/DynamicCodeLogger;->recordDex(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DexoptUtils;->processContextForDexLoad(Ljava/util/List;Ljava/util/List;)[Ljava/lang/String;
+HSPLcom/android/server/pm/dex/DynamicCodeLogger;-><init>(Landroid/content/pm/IPackageManager;Lcom/android/server/pm/Installer;)V
+HSPLcom/android/server/pm/dex/DynamicCodeLogger;-><init>(Landroid/content/pm/IPackageManager;Lcom/android/server/pm/Installer;Lcom/android/server/pm/dex/PackageDynamicCodeLoading;)V
+PLcom/android/server/pm/dex/DynamicCodeLogger;->readAndSync(Ljava/util/Map;)V
PLcom/android/server/pm/dex/DynamicCodeLogger;->recordNative(ILjava/lang/String;)V
-PLcom/android/server/pm/dex/DynamicCodeLogger;->removePackage(Ljava/lang/String;)V
-HSPLcom/android/server/pm/dex/DynamicCodeLogger;->removeUserPackage(Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DynamicCodeLogger;->writeDclEvent(Ljava/lang/String;ILjava/lang/String;)V
PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)V
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getClassLoaderContext()Ljava/lang/String;
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getLoaderIsas()Ljava/util/Set;
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getLoadingPackages()Ljava/util/Set;
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getOwnerUserId()I
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnknownClassLoaderContext()Z
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUsedByOtherApps()Z
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isVariableClassLoaderContext()Z
-HSPLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->merge(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Z
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;-><init>(ZILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$200(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Ljava/util/Set;
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$300(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)I
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$700(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Ljava/util/Set;
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->merge(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Z
HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>()V
-HPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)V
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->clearCodePathUsedByOtherApps()Z
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->getDexUseInfoMap()Ljava/util/Map;
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->getLoadingPackages(Ljava/lang/String;)Ljava/util/Set;
-HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isAnyCodePathUsedByOtherApps()Z
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)V
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$000(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$100(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Ljava/util/Map;
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$500(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Ljava/util/Map;
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$800(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Z
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isAnyCodePathUsedByOtherApps()Z
PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isUsedByOtherApps(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->mergeCodePathUsedByOtherApps(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->mergeCodePathUsedByOtherApps(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/server/pm/dex/PackageDexUsage;-><init>()V
PLcom/android/server/pm/dex/PackageDexUsage;->clearUsedByOtherApps(Ljava/lang/String;)Z
PLcom/android/server/pm/dex/PackageDexUsage;->clonePackageUseInfoMap()Ljava/util/Map;
-PLcom/android/server/pm/dex/PackageDexUsage;->getAllPackagesWithSecondaryDexFiles()Ljava/util/Set;
PLcom/android/server/pm/dex/PackageDexUsage;->getPackageUseInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;
-HSPLcom/android/server/pm/dex/PackageDexUsage;->maybeReadLoadingPackages(Ljava/io/BufferedReader;I)Ljava/util/Set;
-HSPLcom/android/server/pm/dex/PackageDexUsage;->maybeWriteAsync()V
-HSPLcom/android/server/pm/dex/PackageDexUsage;->read()V
-HSPLcom/android/server/pm/dex/PackageDexUsage;->read(Ljava/io/Reader;)V
-HSPLcom/android/server/pm/dex/PackageDexUsage;->readBoolean(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V
-HSPLcom/android/server/pm/dex/PackageDexUsage;->record(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->removeDexFile(Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->removePackage(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/dex/PackageDexUsage;->removeUserPackage(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->isSupportedVersion(I)Z
+PLcom/android/server/pm/dex/PackageDexUsage;->maybeReadClassLoaderContext(Ljava/io/BufferedReader;I)Ljava/lang/String;
+PLcom/android/server/pm/dex/PackageDexUsage;->maybeReadLoadingPackages(Ljava/io/BufferedReader;I)Ljava/util/Set;
+PLcom/android/server/pm/dex/PackageDexUsage;->maybeWriteAsync()V
+PLcom/android/server/pm/dex/PackageDexUsage;->read()V
+PLcom/android/server/pm/dex/PackageDexUsage;->read(Ljava/io/Reader;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->readBoolean(Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDexUsage;->record(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;)V
PLcom/android/server/pm/dex/PackageDexUsage;->write(Ljava/io/Writer;)V
PLcom/android/server/pm/dex/PackageDexUsage;->writeInternal(Ljava/lang/Object;)V
PLcom/android/server/pm/dex/PackageDexUsage;->writeInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$DynamicCodeFile;-><init>(CI[Ljava/lang/String;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$DynamicCodeFile;-><init>(CI[Ljava/lang/String;Lcom/android/server/pm/dex/PackageDynamicCodeLoading$1;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;-><init>()V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;-><init>(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$1;)V
PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;-><init>(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->add(Ljava/lang/String;CILjava/lang/String;)Z
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->syncData(Ljava/util/Map;Ljava/util/Set;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->access$500(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;Ljava/util/Map;Ljava/util/Set;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->add(Ljava/lang/String;CILjava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->syncData(Ljava/util/Map;Ljava/util/Set;)V
+HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><clinit>()V
+HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;-><init>()V
PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->escape(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->getAllPackagesWithDynamicCodeLoading()Ljava/util/Set;
-PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->getPackageDynamicCodeInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->maybeWriteAsync()V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read()V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;Ljava/util/Map;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readFileInfo(Ljava/lang/String;Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Object;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Void;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->record(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)Z
-PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->removeFile(Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->removePackage(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->removeUserPackage(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->syncData(Ljava/util/Map;)V
-HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->unescape(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->isValidFileType(I)Z
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->maybeWriteAsync()V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read()V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;Ljava/util/Map;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readFileInfo(Ljava/lang/String;Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->record(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)Z
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->syncData(Ljava/util/Map;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->unescape(Ljava/lang/String;)Ljava/lang/String;
PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->write(Ljava/io/OutputStream;)V
PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->write(Ljava/io/OutputStream;Ljava/util/Map;)V
PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeInternal(Ljava/lang/Object;)V
PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeInternal(Ljava/lang/Void;)V
HSPLcom/android/server/pm/dex/ViewCompiler;-><init>(Ljava/lang/Object;Lcom/android/server/pm/Installer;)V
-HSPLcom/android/server/pm/permission/-$$Lambda$DefaultPermissionGrantPolicy$SHfHTWKpfBf_vZtWArm-FlNBI8k;-><init>()V
-PLcom/android/server/pm/permission/-$$Lambda$DefaultPermissionGrantPolicy$SHfHTWKpfBf_vZtWArm-FlNBI8k;->apply(I)Ljava/lang/Object;
-PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$KZ0-FIR02GsOfMAAOdWzIbkVHHM;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/permission/-$$Lambda$js2BSmz1ucAEj8fgl3jw5trxIjw;->onGetRuntimePermissionsBackup([B)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$794Zo8fGkLRkoPaG4LMCnCWTs28;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$794Zo8fGkLRkoPaG4LMCnCWTs28;->runOrThrow()V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$CWTrf0CaxMnVgS2v6_iXkyamLEg;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$CWTrf0CaxMnVgS2v6_iXkyamLEg;->runOrThrow()V
+HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$JT-I0Pu4aDWMzekmFWZgcoe-hoU;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$JT-I0Pu4aDWMzekmFWZgcoe-hoU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$KE823YL9mY2J2VCjHcf5cryiwVQ;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$KE823YL9mY2J2VCjHcf5cryiwVQ;->runOrThrow()V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;-><clinit>()V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;-><init>()V
+HPLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$NPd9St1HBvGAtg1uhMV2Upfww4g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$dv-s2dZ0ahAY-YUCDopdk9otvTU;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/os/UserHandle;)V
+PLcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$dv-s2dZ0ahAY-YUCDopdk9otvTU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/-$$Lambda$oynlBn0BbcU0KODvfUDDUHb5LKY;-><init>(Ljava/util/concurrent/CompletableFuture;)V
+PLcom/android/server/pm/permission/-$$Lambda$oynlBn0BbcU0KODvfUDDUHb5LKY;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/pm/permission/BasePermission;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
PLcom/android/server/pm/permission/BasePermission;->addToTree(ILandroid/content/pm/PermissionInfo;Lcom/android/server/pm/permission/BasePermission;)Z
PLcom/android/server/pm/permission/BasePermission;->comparePermissionInfos(Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;)Z
+HSPLcom/android/server/pm/permission/BasePermission;->computeGids(I)[I
HSPLcom/android/server/pm/permission/BasePermission;->createOrUpdate(Lcom/android/server/pm/permission/BasePermission;Landroid/content/pm/PackageParser$Permission;Landroid/content/pm/PackageParser$Package;Ljava/util/Collection;Z)Lcom/android/server/pm/permission/BasePermission;
-PLcom/android/server/pm/permission/BasePermission;->dumpPermissionsLPr(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/Set;ZZLcom/android/server/pm/DumpState;)Z
-HSPLcom/android/server/pm/permission/BasePermission;->enforceDeclaredUsedAndRuntimeOrDevelopment(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/permission/BasePermission;->enforceDeclaredUsedAndRuntimeOrDevelopment(Landroid/content/pm/PackageParser$Package;)V
PLcom/android/server/pm/permission/BasePermission;->enforcePermissionTree(Ljava/util/Collection;Ljava/lang/String;I)Lcom/android/server/pm/permission/BasePermission;
HSPLcom/android/server/pm/permission/BasePermission;->findPermissionTree(Ljava/util/Collection;Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-HSPLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(II)Landroid/content/pm/PermissionInfo;
-HSPLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-PLcom/android/server/pm/permission/BasePermission;->getSourcePackageName()Ljava/lang/String;
-HPLcom/android/server/pm/permission/BasePermission;->getSourcePackageSetting()Lcom/android/server/pm/PackageSettingBase;
-PLcom/android/server/pm/permission/BasePermission;->isRuntime()Z
+HPLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(II)Landroid/content/pm/PermissionInfo;
+HPLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+HSPLcom/android/server/pm/permission/BasePermission;->getName()Ljava/lang/String;
+PLcom/android/server/pm/permission/BasePermission;->getProtectionLevel()I
+HSPLcom/android/server/pm/permission/BasePermission;->getSourcePackageName()Ljava/lang/String;
+HSPLcom/android/server/pm/permission/BasePermission;->getSourcePackageSetting()Lcom/android/server/pm/PackageSettingBase;
+HSPLcom/android/server/pm/permission/BasePermission;->isAppOp()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isAppPredictor()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isConfigurator()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isDevelopment()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isDocumenter()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isDynamic()Z
+HPLcom/android/server/pm/permission/BasePermission;->isHardOrSoftRestricted()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isHardRestricted()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isIncidentReportApprover()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isInstaller()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isNormal()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isOEM()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isPre23()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isPreInstalled()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isPrivileged()Z
+PLcom/android/server/pm/permission/BasePermission;->isRemoved()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isRuntime()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isRuntimeOnly()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isSetup()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isSignature()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isSoftRestricted()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isSystemTextClassifier()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isTelephony()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isVendorPrivileged()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isVerifier()Z
+HSPLcom/android/server/pm/permission/BasePermission;->isWellbeing()Z
HSPLcom/android/server/pm/permission/BasePermission;->readInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;I)I
HSPLcom/android/server/pm/permission/BasePermission;->readLPw(Ljava/util/Map;Lorg/xmlpull/v1/XmlPullParser;)Z
+HSPLcom/android/server/pm/permission/BasePermission;->setGids([IZ)V
HSPLcom/android/server/pm/permission/BasePermission;->updateDynamicPermission(Ljava/util/Collection;)V
-HSPLcom/android/server/pm/permission/BasePermission;->writeLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Lcom/android/server/pm/permission/PermissionManagerService;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->doesPackageSupportRuntimePermissions(Landroid/content/pm/PackageInfo;)Z
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getBackgroundPermission(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultPermissionFiles()[Ljava/io/File;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultProviderAuthorityPackage(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackage(Landroid/content/Intent;I)Ljava/lang/String;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackage(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackageForCategory(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerServicePackage(Landroid/content/Intent;I)Ljava/lang/String;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerServicePackage(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getHeadlessSyncAdapterPackages([Ljava/lang/String;I)Ljava/util/ArrayList;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getKnownPackage(II)Ljava/lang/String;
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+HPLcom/android/server/pm/permission/BasePermission;->writeLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Landroid/os/Looper;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrant;-><init>(Ljava/lang/String;ZZ)V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;-><clinit>()V
+HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/pm/permission/PermissionManagerService;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->access$000(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Ljava/lang/Object;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->access$100(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->access$102(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Landroid/util/ArrayMap;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->access$200(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;)Landroid/util/ArrayMap;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->doesPackageSupportRuntimePermissions(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultPermissionFiles()[Ljava/io/File;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getSystemPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionExceptions(I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSimCallManager(Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSmsApp(Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSystemDialerApp(Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSystemSmsApp(Ljava/lang/String;I)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledCarrierApps([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultSystemHandlerPermissions(I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionToEachSystemPackage(Ljava/util/ArrayList;I[Ljava/util/Set;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToPackage(Ljava/lang/String;IZ[Ljava/util/Set;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSysComponentsAndPrivApps(I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSystemPackage(Ljava/lang/String;IZ[Ljava/util/Set;)V
PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSystemPackage(Ljava/lang/String;I[Ljava/util/Set;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Landroid/content/pm/PackageInfo;Ljava/util/Set;ZZI)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissionsForSystemPackage(ILandroid/content/pm/PackageInfo;)V
PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantSystemFixedPermissionsToSystemPackage(Ljava/lang/String;I[Ljava/util/Set;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isPermissionDangerous(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSysComponentOrPersistentPlatformSignedPrivApp(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSysComponentOrPersistentPlatformSignedPrivApp(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSystemPackage(Landroid/content/pm/PackageInfo;)Z
PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSystemPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parse(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parseExceptions(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parsePermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/List;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->readDefaultPermissionExceptionsLocked()Landroid/util/ArrayMap;
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setDialerAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationExtraPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSimCallManagerPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSmsAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSyncAdapterPackagesProvider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parse(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parseExceptions(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parsePermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/List;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->readDefaultPermissionExceptionsLocked()Landroid/util/ArrayMap;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->scheduleReadDefaultPermissionExceptions()V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setDialerAppPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationExtraPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSimCallManagerPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSmsAppPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSyncAdapterPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$SyncAdapterPackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setUseOpenWifiAppPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setVoiceInteractionPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->wereDefaultPermissionsGrantedSinceBoot(I)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService$1;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V
+PLcom/android/server/pm/permission/PermissionManagerService$1;->onInstallPermissionGranted()V
+PLcom/android/server/pm/permission/PermissionManagerService$1;->onPermissionGranted(II)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$1;->onPermissionUpdated([IZ)V
+PLcom/android/server/pm/permission/PermissionManagerService$1;->onPermissionUpdatedNotifyListener([IZI)V
+PLcom/android/server/pm/permission/PermissionManagerService$3;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/util/ArraySet;Landroid/util/IntArray;Landroid/util/IntArray;[Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->addListenerLocked(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->handleOnPermissionsChanged(I)V
+PLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->onPermissionsChanged(I)V
+PLcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;->removeListenerLocked(Landroid/permission/IOnPermissionsChangeListener;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerService$1;)V
HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ZILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)Z
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addOnRuntimePermissionStateChangedListener(Landroid/permission/PermissionManagerInternal$OnRuntimePermissionStateChangedListener;)V
PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->backupRuntimePermissions(Landroid/os/UserHandle;)[B
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllPermissionGroups(II)Ljava/util/List;
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultPermissionGrantPolicy()Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionGroupInfo(Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllPermissionWithProtection(I)Ljava/util/ArrayList;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultBrowser(I)Ljava/lang/String;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultDialer(I)Ljava/lang/String;
+HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultHome(I)Ljava/lang/String;
HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionSettings()Lcom/android/server/pm/permission/PermissionSettings;
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionTEMP(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->grantRequestedRuntimePermissions(Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->isPermissionsReviewRequired(Landroid/content/pm/PackageParser$Package;I)Z
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionTEMP(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->grantRequestedRuntimePermissions(Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->isPermissionsReviewRequired(Landroid/content/pm/PackageParser$Package;I)Z
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->resetRuntimePermissions(Landroid/content/pm/PackageParser$Package;I)V
PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->restoreDelayedRuntimePermissions(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->systemReady()V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updateAllPermissions(Ljava/lang/String;ZZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIIZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setDefaultBrowserProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setDefaultDialerProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultDialerProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setDefaultHomeProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultHomeProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setDialerAppPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setLocationExtraPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setLocationPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setSimCallManagerPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setSmsAppPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setSyncAdapterPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$SyncAdapterPackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setUseOpenWifiAppPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setVoiceInteractionPackagesProvider(Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->setWhitelistedRestrictedPermissions(Landroid/content/pm/PackageParser$Package;[ILjava/util/List;II)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->systemReady()V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updateAllPermissions(Ljava/lang/String;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->wereDefaultPermissionsGrantedSinceBoot(I)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;-><clinit>()V
+HSPLcom/android/server/pm/permission/PermissionManagerService;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$100(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$1100(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$1200(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;ILjava/util/List;IILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$1500(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$1600(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;ZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$1700(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;I)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$1900(Lcom/android/server/pm/permission/PermissionManagerService;IIZZZLjava/lang/String;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$200(Lcom/android/server/pm/permission/PermissionManagerService;)Landroid/content/pm/PackageManagerInternal;
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$2100(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionSettings;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$2200(Lcom/android/server/pm/permission/PermissionManagerService;)Ljava/lang/Object;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$2600(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/permission/PermissionManagerInternal$OnRuntimePermissionStateChangedListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$2900(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$2902(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$3100(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultDialerProvider;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$3102(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultDialerProvider;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultDialerProvider;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$3200(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultHomeProvider;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$3202(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultHomeProvider;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultHomeProvider;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$3300(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$400(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;
+PLcom/android/server/pm/permission/PermissionManagerService;->access$500(Lcom/android/server/pm/permission/PermissionManagerService;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->access$600(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;I)Z
+PLcom/android/server/pm/permission/PermissionManagerService;->access$700(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$800(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->access$900(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Z)V
HSPLcom/android/server/pm/permission/PermissionManagerService;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
HSPLcom/android/server/pm/permission/PermissionManagerService;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
-PLcom/android/server/pm/permission/PermissionManagerService;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)Z
-HSPLcom/android/server/pm/permission/PermissionManagerService;->adjustPermissionProtectionFlagsLocked(ILjava/lang/String;I)I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->applyLegacyStoragePermissionModel(Lcom/android/server/pm/permission/PermissionsState;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;[I)[I
+PLcom/android/server/pm/permission/PermissionManagerService;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->addOnRuntimePermissionStateChangedListener(Landroid/permission/PermissionManagerInternal$OnRuntimePermissionStateChangedListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->addPermission(Landroid/content/pm/PermissionInfo;Z)Z
+HPLcom/android/server/pm/permission/PermissionManagerService;->adjustPermissionProtectionFlagsLocked(ILjava/lang/String;I)I
PLcom/android/server/pm/permission/PermissionManagerService;->backupRuntimePermissions(Landroid/os/UserHandle;)[B
-HSPLcom/android/server/pm/permission/PermissionManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->create(Landroid/content/Context;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Ljava/lang/Object;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HSPLcom/android/server/pm/permission/PermissionManagerService;->cacheBackgroundToForegoundPermissionMapping()V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->checkIfLegacyStorageOpsNeedToBeUpdated(Landroid/content/pm/PackageParser$Package;Z[I)[I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkPermissionImpl(Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkPermissionInternal(Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkSinglePermissionInternal(ILcom/android/server/pm/permission/PermissionsState;Ljava/lang/String;)Z
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkSingleUidPermissionInternal(ILjava/lang/String;)Z
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermission(Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermissionImpl(Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermissionInternal(Landroid/content/pm/PackageParser$Package;ILjava/lang/String;)I
+HSPLcom/android/server/pm/permission/PermissionManagerService;->create(Landroid/content/Context;Ljava/lang/Object;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+HPLcom/android/server/pm/permission/PermissionManagerService;->doNotifyRuntimePermissionStateChanged(Ljava/lang/String;I)V
HSPLcom/android/server/pm/permission/PermissionManagerService;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->enforceGrantRevokeGetRuntimePermissionPermissions(Ljava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->enforceGrantRevokeRuntimePermissionPermissions(Ljava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->getAllPermissionGroups(II)Ljava/util/List;
-PLcom/android/server/pm/permission/PermissionManagerService;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/permission/PermissionManagerService;->getBackgroundPermissions()Landroid/util/ArrayMap;
-PLcom/android/server/pm/permission/PermissionManagerService;->getPermission(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
-PLcom/android/server/pm/permission/PermissionManagerService;->getPermissionGroupInfo(Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
-HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
-HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
+HPLcom/android/server/pm/permission/PermissionManagerService;->enforceGrantRevokeGetRuntimePermissionPermissions(Ljava/lang/String;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->enforceGrantRevokeRuntimePermissionPermissions(Ljava/lang/String;)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
+HPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlagsInternal(Ljava/lang/String;Ljava/lang/String;II)I
+HPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
+HPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+HSPLcom/android/server/pm/permission/PermissionManagerService;->getSplitPermissions()Ljava/util/List;
+HSPLcom/android/server/pm/permission/PermissionManagerService;->getVolumeUuidForPackage(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
+HPLcom/android/server/pm/permission/PermissionManagerService;->getWhitelistedRestrictedPermissions(Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->grantRequestedRuntimePermissions(Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
PLcom/android/server/pm/permission/PermissionManagerService;->grantRequestedRuntimePermissionsForUser(Landroid/content/pm/PackageParser$Package;I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermissionInternal(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
HSPLcom/android/server/pm/permission/PermissionManagerService;->grantSignaturePermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/permission/BasePermission;Lcom/android/server/pm/permission/PermissionsState;)Z
PLcom/android/server/pm/permission/PermissionManagerService;->hasPermission(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Z
HSPLcom/android/server/pm/permission/PermissionManagerService;->hasPrivappWhitelistEntry(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
-HSPLcom/android/server/pm/permission/PermissionManagerService;->inheritPermissionStateToNewImplicitPermissionLocked(Landroid/util/ArraySet;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;I)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->isNewPlatformPermissionForPackage(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->lambda$restoreDelayedRuntimePermissions$0$PermissionManagerService(Landroid/os/UserHandle;Ljava/lang/Boolean;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService;->inheritPermissionStateToNewImplicitPermissionLocked(Landroid/util/ArraySet;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/pm/permission/PermissionManagerService;->isPermissionsReviewRequired(Landroid/content/pm/PackageParser$Package;I)Z
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$NPd9St1HBvGAtg1uhMV2Upfww4g(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$grantDefaultPermissionsToEnabledImsServices$3$PermissionManagerService([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$4$PermissionManagerService([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$restoreDelayedRuntimePermissions$8$PermissionManagerService(Landroid/os/UserHandle;Ljava/lang/Boolean;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$5$PermissionManagerService([Ljava/lang/String;I)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->lambda$updatePermissions$9$PermissionManagerService(Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->logPermission(ILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->notifyRuntimePermissionStateChanged(Ljava/lang/String;I)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/permission/PermissionManagerService;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService;->removeOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->resetRuntimePermissionsInternal(Landroid/content/pm/PackageParser$Package;I)V
PLcom/android/server/pm/permission/PermissionManagerService;->restoreDelayedRuntimePermissions(Ljava/lang/String;Landroid/os/UserHandle;)V
HSPLcom/android/server/pm/permission/PermissionManagerService;->restorePermissionState(Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
HSPLcom/android/server/pm/permission/PermissionManagerService;->revokePermissionsNoLongerImplicitLocked(Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;[I)[I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermissionInternal(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
PLcom/android/server/pm/permission/PermissionManagerService;->revokeUnusedSharedUserPermissionsLocked(Lcom/android/server/pm/SharedUserSetting;[I)[I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->setAppOpMode(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->setAppOpsLocked(Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->setInitialGrantForNewImplicitPermissionsLocked(Lcom/android/server/pm/permission/PermissionsState;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;[I)[I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->systemReady()V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->updateAllPermissions(Ljava/lang/String;ZZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIIZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionTrees(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;I)I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;I)I
-HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Ljava/lang/String;ILjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->setInitialGrantForNewImplicitPermissionsLocked(Lcom/android/server/pm/permission/PermissionsState;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;Landroid/util/ArraySet;[I)[I
+HPLcom/android/server/pm/permission/PermissionManagerService;->setWhitelistedRestrictedPermissionsForUser(Landroid/content/pm/PackageParser$Package;ILjava/util/List;IILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->systemReady()V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updateAllPermissions(Ljava/lang/String;ZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZI)V
+HPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlagsInternal(Ljava/lang/String;Ljava/lang/String;IIIIZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionSourcePackage(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionTreeSourcePackage(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
+PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;-><init>()V
+HSPLcom/android/server/pm/permission/PermissionManagerServiceInternal;-><init>()V
HSPLcom/android/server/pm/permission/PermissionSettings;-><init>(Ljava/lang/Object;)V
HSPLcom/android/server/pm/permission/PermissionSettings;->addAppOpPackage(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/pm/permission/PermissionSettings;->dumpPermissions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;ZLcom/android/server/pm/DumpState;)V
PLcom/android/server/pm/permission/PermissionSettings;->enforcePermissionTree(Ljava/lang/String;I)Lcom/android/server/pm/permission/BasePermission;
HSPLcom/android/server/pm/permission/PermissionSettings;->getAllPermissionTreesLocked()Ljava/util/Collection;
HSPLcom/android/server/pm/permission/PermissionSettings;->getAllPermissionsLocked()Ljava/util/Collection;
HSPLcom/android/server/pm/permission/PermissionSettings;->getPermission(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
HSPLcom/android/server/pm/permission/PermissionSettings;->getPermissionLocked(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
HSPLcom/android/server/pm/permission/PermissionSettings;->getPermissionTreeLocked(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-HSPLcom/android/server/pm/permission/PermissionSettings;->isPermissionAppOp(Ljava/lang/String;)Z
-HSPLcom/android/server/pm/permission/PermissionSettings;->isPermissionInstant(Ljava/lang/String;)Z
+PLcom/android/server/pm/permission/PermissionSettings;->isPermissionAppOp(Ljava/lang/String;)Z
HSPLcom/android/server/pm/permission/PermissionSettings;->putPermissionLocked(Ljava/lang/String;Lcom/android/server/pm/permission/BasePermission;)V
HSPLcom/android/server/pm/permission/PermissionSettings;->putPermissionTreeLocked(Ljava/lang/String;Lcom/android/server/pm/permission/BasePermission;)V
HSPLcom/android/server/pm/permission/PermissionSettings;->readPermissionTrees(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/permission/PermissionSettings;->readPermissions(Landroid/util/ArrayMap;Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/server/pm/permission/PermissionSettings;->readPermissions(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/pm/permission/PermissionSettings;->writePermissionTrees(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/pm/permission/PermissionSettings;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/pm/permission/PermissionSettings;->writePermissionTrees(Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/server/pm/permission/PermissionSettings;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;-><init>(Lcom/android/server/pm/permission/BasePermission;)V
HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;-><init>(Lcom/android/server/pm/permission/PermissionsState$PermissionData;)V
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->computeGids(I)[I
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->getFlags(I)I
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->getPermissionState(I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->grant(I)Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isCompatibleUserId(I)Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isDefault()Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isGranted(I)Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isInstallPermission()Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isInstallPermissionKey(I)Z
HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->revoke(I)Z
HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->updateFlags(III)Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;-><init>(Lcom/android/server/pm/permission/PermissionsState$PermissionState;)V
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$000(Lcom/android/server/pm/permission/PermissionsState$PermissionState;)Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$002(Lcom/android/server/pm/permission/PermissionsState$PermissionState;Z)Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$100(Lcom/android/server/pm/permission/PermissionsState$PermissionState;)I
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$102(Lcom/android/server/pm/permission/PermissionsState$PermissionState;I)I
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->getFlags()I
+HPLcom/android/server/pm/permission/PermissionsState$PermissionState;->getName()Ljava/lang/String;
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->isDefault()Z
+HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->isGranted()Z
+HSPLcom/android/server/pm/permission/PermissionsState;-><clinit>()V
+HSPLcom/android/server/pm/permission/PermissionsState;-><init>()V
PLcom/android/server/pm/permission/PermissionsState;-><init>(Lcom/android/server/pm/permission/PermissionsState;)V
+HSPLcom/android/server/pm/permission/PermissionsState;->appendInts([I[I)[I
HSPLcom/android/server/pm/permission/PermissionsState;->computeGids(I)[I
+HPLcom/android/server/pm/permission/PermissionsState;->computeGids([I)[I
HSPLcom/android/server/pm/permission/PermissionsState;->copyFrom(Lcom/android/server/pm/permission/PermissionsState;)V
HSPLcom/android/server/pm/permission/PermissionsState;->enforceValidUserId(I)V
HSPLcom/android/server/pm/permission/PermissionsState;->ensureNoPermissionData(Ljava/lang/String;)V
HSPLcom/android/server/pm/permission/PermissionsState;->ensurePermissionData(Lcom/android/server/pm/permission/BasePermission;)Lcom/android/server/pm/permission/PermissionsState$PermissionData;
HSPLcom/android/server/pm/permission/PermissionsState;->getInstallPermissionState(Ljava/lang/String;)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
+PLcom/android/server/pm/permission/PermissionsState;->getInstallPermissionStates()Ljava/util/List;
HSPLcom/android/server/pm/permission/PermissionsState;->getPermissionFlags(Ljava/lang/String;I)I
HSPLcom/android/server/pm/permission/PermissionsState;->getPermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
-HSPLcom/android/server/pm/permission/PermissionsState;->getPermissionStatesInternal(I)Ljava/util/List;
+HPLcom/android/server/pm/permission/PermissionsState;->getPermissionStatesInternal(I)Ljava/util/List;
HSPLcom/android/server/pm/permission/PermissionsState;->getPermissions(I)Ljava/util/Set;
HSPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
-HSPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionStates(I)Ljava/util/List;
+HPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionStates(I)Ljava/util/List;
HSPLcom/android/server/pm/permission/PermissionsState;->grantInstallPermission(Lcom/android/server/pm/permission/BasePermission;)I
HSPLcom/android/server/pm/permission/PermissionsState;->grantPermission(Lcom/android/server/pm/permission/BasePermission;I)I
HSPLcom/android/server/pm/permission/PermissionsState;->grantRuntimePermission(Lcom/android/server/pm/permission/BasePermission;I)I
HSPLcom/android/server/pm/permission/PermissionsState;->hasInstallPermission(Ljava/lang/String;)Z
HSPLcom/android/server/pm/permission/PermissionsState;->hasPermission(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/permission/PermissionsState;->hasPermissionRequiringReview(I)Z
-HSPLcom/android/server/pm/permission/PermissionsState;->hasRequestedPermission(Landroid/util/ArraySet;)Z
+PLcom/android/server/pm/permission/PermissionsState;->hasRequestedPermission(Landroid/util/ArraySet;)Z
+HSPLcom/android/server/pm/permission/PermissionsState;->hasRequestedPermission(Ljava/lang/String;)Z
HSPLcom/android/server/pm/permission/PermissionsState;->hasRuntimePermission(Ljava/lang/String;I)Z
PLcom/android/server/pm/permission/PermissionsState;->reset()V
HSPLcom/android/server/pm/permission/PermissionsState;->revokeInstallPermission(Lcom/android/server/pm/permission/BasePermission;)I
HSPLcom/android/server/pm/permission/PermissionsState;->revokePermission(Lcom/android/server/pm/permission/BasePermission;I)I
HSPLcom/android/server/pm/permission/PermissionsState;->setGlobalGids([I)V
HSPLcom/android/server/pm/permission/PermissionsState;->updatePermissionFlags(Lcom/android/server/pm/permission/BasePermission;III)Z
+PLcom/android/server/policy/-$$Lambda$PermissionPolicyService$K1QpWYLKz7rfj4y4fthPQy64Pek;-><init>(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;)V
+PLcom/android/server/policy/-$$Lambda$PermissionPolicyService$K1QpWYLKz7rfj4y4fthPQy64Pek;->accept(Ljava/lang/Object;)V
+PLcom/android/server/policy/-$$Lambda$PermissionPolicyService$RYery4oeHNcS8uZ6BgM2MtZIvKw;-><clinit>()V
+PLcom/android/server/policy/-$$Lambda$PermissionPolicyService$RYery4oeHNcS8uZ6BgM2MtZIvKw;-><init>()V
+HPLcom/android/server/policy/-$$Lambda$PermissionPolicyService$RYery4oeHNcS8uZ6BgM2MtZIvKw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/policy/-$$Lambda$PermissionPolicyService$V2gOjn4rTBH_rbxagOz-eOTvNfc;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/-$$Lambda$PermissionPolicyService$V2gOjn4rTBH_rbxagOz-eOTvNfc;->onRuntimePermissionStateChanged(Ljava/lang/String;I)V
+PLcom/android/server/policy/-$$Lambda$PhoneWindowManager$DisplayHomeButtonHandler$ljCIzo7y96OZCYYMVaAi6LAwRAE;-><init>(Lcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;)V
+PLcom/android/server/policy/-$$Lambda$PhoneWindowManager$DisplayHomeButtonHandler$ljCIzo7y96OZCYYMVaAi6LAwRAE;->run()V
+PLcom/android/server/policy/-$$Lambda$oXa0y3A-00RiQs6-KTPBgpkGtgw;-><init>(Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
PLcom/android/server/policy/-$$Lambda$oXa0y3A-00RiQs6-KTPBgpkGtgw;->run()V
-PLcom/android/server/policy/GlobalActions;-><init>(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
-PLcom/android/server/policy/GlobalActions;->onGlobalActionsAvailableChanged(Z)V
-PLcom/android/server/policy/GlobalActions;->onGlobalActionsDismissed()V
-PLcom/android/server/policy/GlobalActions;->onGlobalActionsShown()V
-PLcom/android/server/policy/GlobalActions;->showDialog(ZZ)V
-HSPLcom/android/server/policy/GlobalKeyManager;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
+PLcom/android/server/policy/EventLogTags;->writeInterceptPower(Ljava/lang/String;II)V
+PLcom/android/server/policy/EventLogTags;->writeScreenToggled(I)V
+PLcom/android/server/policy/GlobalKeyManager;-><init>(Landroid/content/Context;)V
PLcom/android/server/policy/GlobalKeyManager;->handleGlobalKey(Landroid/content/Context;ILandroid/view/KeyEvent;)Z
-HSPLcom/android/server/policy/GlobalKeyManager;->loadGlobalKeys(Landroid/content/Context;)V
-HSPLcom/android/server/policy/IconUtilities;-><init>(Landroid/content/Context;)V
-PLcom/android/server/policy/IconUtilities;->createIconBitmap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
-PLcom/android/server/policy/IconUtilities;->getDisabledColorFilter()Landroid/graphics/ColorFilter;
+PLcom/android/server/policy/GlobalKeyManager;->loadGlobalKeys(Landroid/content/Context;)V
+PLcom/android/server/policy/IconUtilities;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/LogDecelerateInterpolator;-><init>(II)V
+PLcom/android/server/policy/LogDecelerateInterpolator;->computeLog(FII)F
PLcom/android/server/policy/LogDecelerateInterpolator;->getInterpolation(F)F
-PLcom/android/server/policy/PhoneWindowManager$10;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/policy/PermissionPolicyInternal;-><init>()V
+PLcom/android/server/policy/PermissionPolicyService$1;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$1;->onPackageAdded(Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService$1;->onPackageChanged(Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService$2;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+HPLcom/android/server/policy/PermissionPolicyService$2;->opChanged(IILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal;-><init>(Lcom/android/server/policy/PermissionPolicyService;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal;-><init>(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyService$1;)V
+PLcom/android/server/policy/PermissionPolicyService$Internal;->checkStartActivity(Landroid/content/Intent;ILjava/lang/String;)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->isActionRemovedForCallingPackage(Landroid/content/Intent;ILjava/lang/String;)Z
+HPLcom/android/server/policy/PermissionPolicyService$Internal;->isInitialized(I)Z
+PLcom/android/server/policy/PermissionPolicyService$Internal;->setOnInitializedCallback(Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser$OpToChange;-><init>(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;ILjava/lang/String;I)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->access$400(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addAppOps(Landroid/content/pm/PackageInfo;Ljava/lang/String;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addExtraAppOp(Landroid/content/pm/PackageInfo;Landroid/content/pm/PermissionInfo;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addPackage(Ljava/lang/String;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->addPermissionAppOp(Landroid/content/pm/PackageInfo;Landroid/content/pm/PermissionInfo;)V
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidMode(IIILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeAllowed(IILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeForeground(IILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeIgnored(IILjava/lang/String;)V
+PLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->setUidModeIgnoredIfNotAllowed(IILjava/lang/String;)Z
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->shouldGrantAppOp(Landroid/content/pm/PackageInfo;Landroid/content/pm/PermissionInfo;)Z
+HPLcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;->syncPackages()V
+PLcom/android/server/policy/PermissionPolicyService;-><clinit>()V
+PLcom/android/server/policy/PermissionPolicyService;-><init>(Landroid/content/Context;)V
+HPLcom/android/server/policy/PermissionPolicyService;->access$100(Lcom/android/server/policy/PermissionPolicyService;I)Z
+PLcom/android/server/policy/PermissionPolicyService;->access$200(Lcom/android/server/policy/PermissionPolicyService;Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService;->access$300(Lcom/android/server/policy/PermissionPolicyService;Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService;->access$500(Ljava/lang/String;)I
+PLcom/android/server/policy/PermissionPolicyService;->access$700(Lcom/android/server/policy/PermissionPolicyService;)Ljava/lang/Object;
+PLcom/android/server/policy/PermissionPolicyService;->access$802(Lcom/android/server/policy/PermissionPolicyService;Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;)Lcom/android/server/policy/PermissionPolicyInternal$OnInitializedCallback;
+HPLcom/android/server/policy/PermissionPolicyService;->getSwitchOp(Ljava/lang/String;)I
+HPLcom/android/server/policy/PermissionPolicyService;->getUserContext(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/policy/PermissionPolicyService;->grantOrUpgradeDefaultRuntimePermissionsIfNeeded(I)V
+HPLcom/android/server/policy/PermissionPolicyService;->isStarted(I)Z
+PLcom/android/server/policy/PermissionPolicyService;->lambda$RYery4oeHNcS8uZ6BgM2MtZIvKw(Lcom/android/server/policy/PermissionPolicyService;Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService;->lambda$V2gOjn4rTBH_rbxagOz-eOTvNfc(Lcom/android/server/policy/PermissionPolicyService;Ljava/lang/String;I)V
+HPLcom/android/server/policy/PermissionPolicyService;->lambda$synchronizePermissionsAndAppOpsForUser$1(Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/policy/PermissionPolicyService;->onBootPhase(I)V
+PLcom/android/server/policy/PermissionPolicyService;->onStart()V
+PLcom/android/server/policy/PermissionPolicyService;->onStartUser(I)V
+HPLcom/android/server/policy/PermissionPolicyService;->synchronizePackagePermissionsAndAppOpsAsyncForUser(Ljava/lang/String;I)V
+HPLcom/android/server/policy/PermissionPolicyService;->synchronizePackagePermissionsAndAppOpsForUser(Ljava/lang/String;I)V
+PLcom/android/server/policy/PermissionPolicyService;->synchronizePermissionsAndAppOpsForUser(I)V
+PLcom/android/server/policy/PhoneWindowManager$10;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$11;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
PLcom/android/server/policy/PhoneWindowManager$11;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/policy/PhoneWindowManager$12;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/policy/PhoneWindowManager$13;->run()V
-HSPLcom/android/server/policy/PhoneWindowManager$1;->run()V
-HSPLcom/android/server/policy/PhoneWindowManager$2;->onDrawn()V
-HSPLcom/android/server/policy/PhoneWindowManager$7;->onAppTransitionCancelledLocked(I)V
-HSPLcom/android/server/policy/PhoneWindowManager$7;->onAppTransitionStartingLocked(IJJJ)I
-HSPLcom/android/server/policy/PhoneWindowManager$8;->onShowingChanged()V
-HSPLcom/android/server/policy/PhoneWindowManager$8;->onTrustedChanged()V
+PLcom/android/server/policy/PhoneWindowManager$12;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$12;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/policy/PhoneWindowManager$13;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$13;->run()V
+PLcom/android/server/policy/PhoneWindowManager$1;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$1;->run()V
+PLcom/android/server/policy/PhoneWindowManager$2;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$2;->onDrawn()V
+PLcom/android/server/policy/PhoneWindowManager$3;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$4;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$5;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$6;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$7;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$7;->onAppTransitionStartingLocked(IJJJ)I
+PLcom/android/server/policy/PhoneWindowManager$8;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$8;->onShowingChanged()V
+PLcom/android/server/policy/PhoneWindowManager$8;->onTrustedChanged()V
+PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler$1;-><init>(Lcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;)V
PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;I)V
-PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;->handleHomeButton(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;)I
-PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;->toString()Ljava/lang/String;
-HSPLcom/android/server/policy/PhoneWindowManager$HdmiVideoExtconUEventObserver;->init()Z
-HSPLcom/android/server/policy/PhoneWindowManager$PolicyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;->run()V
-PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;->setScreenshotType(I)V
-HSPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->observe()V
-HSPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->onChange(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;-><init>()V
+PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;->handleHomeButton(Landroid/os/IBinder;Landroid/view/KeyEvent;)I
+PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;->lambda$handleHomeButton$0$PhoneWindowManager$DisplayHomeButtonHandler()V
+PLcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager$1;)V
+PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;-><init>(Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager$1;)V
+PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/os/Handler;)V
+PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->observe()V
+PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->onChange(Z)V
+PLcom/android/server/policy/PhoneWindowManager;-><clinit>()V
+PLcom/android/server/policy/PhoneWindowManager;-><init>()V
+PLcom/android/server/policy/PhoneWindowManager;->access$100(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;->access$200(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;->access$2800(Lcom/android/server/policy/PhoneWindowManager;I)V
+PLcom/android/server/policy/PhoneWindowManager;->access$2900(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager;->access$3000(Lcom/android/server/policy/PhoneWindowManager;)I
+PLcom/android/server/policy/PhoneWindowManager;->access$3100()[I
+PLcom/android/server/policy/PhoneWindowManager;->access$3600(Lcom/android/server/policy/PhoneWindowManager;IJ)I
PLcom/android/server/policy/PhoneWindowManager;->addSplashScreen(Landroid/os/IBinder;Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/content/res/Configuration;I)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
PLcom/android/server/policy/PhoneWindowManager;->addSplashscreenContent(Lcom/android/internal/policy/PhoneWindow;Landroid/content/Context;)V
-HSPLcom/android/server/policy/PhoneWindowManager;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V
-HSPLcom/android/server/policy/PhoneWindowManager;->applyKeyguardPolicyLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HSPLcom/android/server/policy/PhoneWindowManager;->applyLidSwitchState()V
+PLcom/android/server/policy/PhoneWindowManager;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V
+PLcom/android/server/policy/PhoneWindowManager;->applyKeyguardPolicyLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+PLcom/android/server/policy/PhoneWindowManager;->applyLidSwitchState()V
PLcom/android/server/policy/PhoneWindowManager;->awakenDreams()V
-HSPLcom/android/server/policy/PhoneWindowManager;->bindKeyguard()V
-HSPLcom/android/server/policy/PhoneWindowManager;->canBeHiddenByKeyguardLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HSPLcom/android/server/policy/PhoneWindowManager;->canDismissBootAnimation()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->checkAddPermission(Landroid/view/WindowManager$LayoutParams;[I)I
-HSPLcom/android/server/policy/PhoneWindowManager;->checkShowToOwnerOnly(Landroid/view/WindowManager$LayoutParams;)Z
-PLcom/android/server/policy/PhoneWindowManager;->createHiddenByKeyguardExit(ZZ)Landroid/view/animation/Animation;
+PLcom/android/server/policy/PhoneWindowManager;->bindKeyguard()V
+HPLcom/android/server/policy/PhoneWindowManager;->canBeHiddenByKeyguardLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
+PLcom/android/server/policy/PhoneWindowManager;->canDismissBootAnimation()Z
+PLcom/android/server/policy/PhoneWindowManager;->cancelPendingAccessibilityShortcutAction()V
+PLcom/android/server/policy/PhoneWindowManager;->cancelPossibleVeryLongPressReboot()V
+PLcom/android/server/policy/PhoneWindowManager;->cancelPreloadRecentApps()V
+PLcom/android/server/policy/PhoneWindowManager;->checkAddPermission(Landroid/view/WindowManager$LayoutParams;[I)I
+PLcom/android/server/policy/PhoneWindowManager;->checkShowToOwnerOnly(Landroid/view/WindowManager$LayoutParams;)Z
+PLcom/android/server/policy/PhoneWindowManager;->createHiddenByKeyguardExit(ZZZ)Landroid/view/animation/Animation;
PLcom/android/server/policy/PhoneWindowManager;->createHomeDockIntent()Landroid/content/Intent;
-PLcom/android/server/policy/PhoneWindowManager;->createKeyguardWallpaperExit(Z)Landroid/view/animation/Animation;
-PLcom/android/server/policy/PhoneWindowManager;->dismissKeyguardLw(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-PLcom/android/server/policy/PhoneWindowManager;->dispatchUnhandledKey(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-HSPLcom/android/server/policy/PhoneWindowManager;->dump(Ljava/lang/String;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/policy/PhoneWindowManager;->enableKeyguard(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;->enableScreenAfterBoot()V
-HSPLcom/android/server/policy/PhoneWindowManager;->endcallBehaviorToString(I)Ljava/lang/String;
-HSPLcom/android/server/policy/PhoneWindowManager;->finishKeyguardDrawn()V
-HSPLcom/android/server/policy/PhoneWindowManager;->finishScreenTurningOn()V
+PLcom/android/server/policy/PhoneWindowManager;->enableScreenAfterBoot()V
+PLcom/android/server/policy/PhoneWindowManager;->finishKeyguardDrawn()V
+PLcom/android/server/policy/PhoneWindowManager;->finishScreenTurningOn()V
+PLcom/android/server/policy/PhoneWindowManager;->finishWindowsDrawn()V
PLcom/android/server/policy/PhoneWindowManager;->finishedGoingToSleep(I)V
PLcom/android/server/policy/PhoneWindowManager;->finishedWakingUp(I)V
+PLcom/android/server/policy/PhoneWindowManager;->getAudioService()Landroid/media/IAudioService;
PLcom/android/server/policy/PhoneWindowManager;->getDisplayContext(Landroid/content/Context;I)Landroid/content/Context;
PLcom/android/server/policy/PhoneWindowManager;->getHdmiControl()Lcom/android/server/policy/PhoneWindowManager$HdmiControl;
-PLcom/android/server/policy/PhoneWindowManager;->getScreenshotChordLongPressDelay()J
+PLcom/android/server/policy/PhoneWindowManager;->getKeyguardDrawnTimeout()J
+PLcom/android/server/policy/PhoneWindowManager;->getLidBehavior()I
+PLcom/android/server/policy/PhoneWindowManager;->getLongIntArray(Landroid/content/res/Resources;I)[J
+PLcom/android/server/policy/PhoneWindowManager;->getNotificationService()Landroid/app/NotificationManager;
PLcom/android/server/policy/PhoneWindowManager;->getStatusBarService()Lcom/android/internal/statusbar/IStatusBarService;
PLcom/android/server/policy/PhoneWindowManager;->getTelecommService()Landroid/telecom/TelecomManager;
-HSPLcom/android/server/policy/PhoneWindowManager;->getUiMode()I
-PLcom/android/server/policy/PhoneWindowManager;->getVibrationEffect(I)Landroid/os/VibrationEffect;
-HSPLcom/android/server/policy/PhoneWindowManager;->inKeyguardRestrictedKeyInputMode()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->init(Landroid/content/Context;Landroid/view/IWindowManager;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
-HSPLcom/android/server/policy/PhoneWindowManager;->initializeHdmiState()V
-HSPLcom/android/server/policy/PhoneWindowManager;->initializeHdmiStateInternal()V
+PLcom/android/server/policy/PhoneWindowManager;->getUiMode()I
+PLcom/android/server/policy/PhoneWindowManager;->goToSleep(JII)V
+PLcom/android/server/policy/PhoneWindowManager;->goToSleepFromPowerButton(JI)Z
+PLcom/android/server/policy/PhoneWindowManager;->handleShortPressOnHome(I)V
+PLcom/android/server/policy/PhoneWindowManager;->handleStartTransitionForKeyguardLw(IJ)I
+PLcom/android/server/policy/PhoneWindowManager;->hasVeryLongPressOnPowerBehavior()Z
+PLcom/android/server/policy/PhoneWindowManager;->init(Landroid/content/Context;Landroid/view/IWindowManager;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
+PLcom/android/server/policy/PhoneWindowManager;->initializeHdmiState()V
+PLcom/android/server/policy/PhoneWindowManager;->initializeHdmiStateInternal()V
PLcom/android/server/policy/PhoneWindowManager;->interceptAccessibilityShortcutChord()V
PLcom/android/server/policy/PhoneWindowManager;->interceptBackKeyDown()V
PLcom/android/server/policy/PhoneWindowManager;->interceptBackKeyUp(Landroid/view/KeyEvent;)Z
-PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeDispatching(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)J
-PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeDispatchingInner(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)J
-HSPLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
+PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeDispatching(Landroid/os/IBinder;Landroid/view/KeyEvent;I)J
+PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeDispatchingInner(Landroid/os/IBinder;Landroid/view/KeyEvent;I)J
+PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
PLcom/android/server/policy/PhoneWindowManager;->interceptMotionBeforeQueueingNonInteractive(IJI)I
PLcom/android/server/policy/PhoneWindowManager;->interceptPowerKeyDown(Landroid/view/KeyEvent;Z)V
PLcom/android/server/policy/PhoneWindowManager;->interceptPowerKeyUp(Landroid/view/KeyEvent;ZZ)V
PLcom/android/server/policy/PhoneWindowManager;->interceptRingerToggleChord()V
PLcom/android/server/policy/PhoneWindowManager;->interceptScreenshotChord()V
-HSPLcom/android/server/policy/PhoneWindowManager;->interceptSystemNavigationKey(Landroid/view/KeyEvent;)V
-PLcom/android/server/policy/PhoneWindowManager;->isDeviceProvisioned()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardDrawnLw()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardHostWindow(Landroid/view/WindowManager$LayoutParams;)Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardSecure(I)Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowingAndNotOccluded()Z
-PLcom/android/server/policy/PhoneWindowManager;->isKeyguardTrustedLw()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isScreenOn()Z
+PLcom/android/server/policy/PhoneWindowManager;->interceptSystemNavigationKey(Landroid/view/KeyEvent;)V
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardDrawnLw()Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardHostWindow(Landroid/view/WindowManager$LayoutParams;)Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardSecure(I)Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowingAndNotOccluded()Z
+PLcom/android/server/policy/PhoneWindowManager;->isScreenOn()Z
PLcom/android/server/policy/PhoneWindowManager;->isTheaterModeEnabled()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->isUserSetupComplete()Z
PLcom/android/server/policy/PhoneWindowManager;->isValidGlobalKey(I)Z
-PLcom/android/server/policy/PhoneWindowManager;->keepScreenOnStartedLw()V
-PLcom/android/server/policy/PhoneWindowManager;->keepScreenOnStoppedLw()V
-HSPLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z
+PLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z
PLcom/android/server/policy/PhoneWindowManager;->launchHomeFromHotKey(I)V
PLcom/android/server/policy/PhoneWindowManager;->launchHomeFromHotKey(IZZ)V
-HSPLcom/android/server/policy/PhoneWindowManager;->okToAnimate()Z
-HSPLcom/android/server/policy/PhoneWindowManager;->onDefaultDisplayFocusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-PLcom/android/server/policy/PhoneWindowManager;->onKeyguardOccludedChangedLw(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;->onSystemUiStarted()V
+PLcom/android/server/policy/PhoneWindowManager;->okToAnimate()Z
+PLcom/android/server/policy/PhoneWindowManager;->onDefaultDisplayFocusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+PLcom/android/server/policy/PhoneWindowManager;->onSystemUiStarted()V
PLcom/android/server/policy/PhoneWindowManager;->performHapticFeedback(ILjava/lang/String;IZLjava/lang/String;)Z
-PLcom/android/server/policy/PhoneWindowManager;->powerLongPress()V
PLcom/android/server/policy/PhoneWindowManager;->powerPress(JZI)V
-HSPLcom/android/server/policy/PhoneWindowManager;->readConfigurationDependentBehaviors()V
-HSPLcom/android/server/policy/PhoneWindowManager;->readLidState()V
-HSPLcom/android/server/policy/PhoneWindowManager;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
+PLcom/android/server/policy/PhoneWindowManager;->readCameraLensCoverState()V
+PLcom/android/server/policy/PhoneWindowManager;->readConfigurationDependentBehaviors()V
+PLcom/android/server/policy/PhoneWindowManager;->readLidState()V
+PLcom/android/server/policy/PhoneWindowManager;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
+PLcom/android/server/policy/PhoneWindowManager;->reportScreenStateToVrManager(Z)V
PLcom/android/server/policy/PhoneWindowManager;->screenTurnedOff()V
-HSPLcom/android/server/policy/PhoneWindowManager;->screenTurnedOn()V
+PLcom/android/server/policy/PhoneWindowManager;->screenTurnedOn()V
PLcom/android/server/policy/PhoneWindowManager;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-HSPLcom/android/server/policy/PhoneWindowManager;->screenTurningOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
-PLcom/android/server/policy/PhoneWindowManager;->sendCloseSystemWindows(Ljava/lang/String;)V
+PLcom/android/server/policy/PhoneWindowManager;->screenTurningOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
PLcom/android/server/policy/PhoneWindowManager;->sendSystemKeyToStatusBar(I)V
-HSPLcom/android/server/policy/PhoneWindowManager;->setAllowLockscreenWhenOn(IZ)V
-HSPLcom/android/server/policy/PhoneWindowManager;->setAodShowing(Z)Z
-HSPLcom/android/server/policy/PhoneWindowManager;->setDefaultDisplay(Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;)V
-PLcom/android/server/policy/PhoneWindowManager;->setDismissImeOnBackKeyPressed(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;->setKeyguardCandidateLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HSPLcom/android/server/policy/PhoneWindowManager;->setKeyguardOccludedLw(ZZ)Z
-HSPLcom/android/server/policy/PhoneWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabledLw(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->setPipVisibilityLw(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;->setSafeMode(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;->setTopFocusedDisplay(I)V
-HSPLcom/android/server/policy/PhoneWindowManager;->shortPressOnPowerBehaviorToString(I)Ljava/lang/String;
-HSPLcom/android/server/policy/PhoneWindowManager;->shouldBeHiddenByKeyguard(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
+PLcom/android/server/policy/PhoneWindowManager;->sendSystemKeyToStatusBarAsync(I)V
+PLcom/android/server/policy/PhoneWindowManager;->setAllowLockscreenWhenOn(IZ)V
+PLcom/android/server/policy/PhoneWindowManager;->setAodShowing(Z)Z
+PLcom/android/server/policy/PhoneWindowManager;->setDefaultDisplay(Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;)V
+PLcom/android/server/policy/PhoneWindowManager;->setKeyguardCandidateLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+PLcom/android/server/policy/PhoneWindowManager;->setKeyguardOccludedLw(ZZ)Z
+PLcom/android/server/policy/PhoneWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabledLw(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->setSafeMode(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->setTopFocusedDisplay(I)V
+PLcom/android/server/policy/PhoneWindowManager;->shouldBeHiddenByKeyguard(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
PLcom/android/server/policy/PhoneWindowManager;->shouldDispatchInputWhenNonInteractive(II)Z
-HSPLcom/android/server/policy/PhoneWindowManager;->shouldEnableWakeGestureLp()Z
-PLcom/android/server/policy/PhoneWindowManager;->showGlobalActionsInternal()V
+PLcom/android/server/policy/PhoneWindowManager;->shouldEnableWakeGestureLp()Z
PLcom/android/server/policy/PhoneWindowManager;->startDockOrHome(IZZ)V
-PLcom/android/server/policy/PhoneWindowManager;->startKeyguardExitAnimation(JJ)V
PLcom/android/server/policy/PhoneWindowManager;->startedGoingToSleep(I)V
-HSPLcom/android/server/policy/PhoneWindowManager;->startedWakingUp(I)V
-HSPLcom/android/server/policy/PhoneWindowManager;->systemBooted()V
-HSPLcom/android/server/policy/PhoneWindowManager;->systemReady()V
-HSPLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V
-HSPLcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V
-HSPLcom/android/server/policy/PhoneWindowManager;->updateSettings()V
-HSPLcom/android/server/policy/PhoneWindowManager;->updateUiMode()V
-HSPLcom/android/server/policy/PhoneWindowManager;->userActivity()V
-PLcom/android/server/policy/PhoneWindowManager;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/policy/ShortcutManager;->loadShortcuts()V
+PLcom/android/server/policy/PhoneWindowManager;->startedWakingUp(I)V
+PLcom/android/server/policy/PhoneWindowManager;->systemBooted()V
+PLcom/android/server/policy/PhoneWindowManager;->systemReady()V
+PLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V
+PLcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->updateScreenOffSleepToken(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->updateSettings()V
+PLcom/android/server/policy/PhoneWindowManager;->updateUiMode()V
+PLcom/android/server/policy/PhoneWindowManager;->updateWakeGestureListenerLp()V
+PLcom/android/server/policy/PhoneWindowManager;->userActivity()V
+PLcom/android/server/policy/ShortcutManager$ShortcutInfo;-><init>(Ljava/lang/String;Landroid/content/Intent;)V
+PLcom/android/server/policy/ShortcutManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/ShortcutManager;->loadShortcuts()V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$1;-><init>()V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;-><init>(ZIZZ)V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->getExtraAppOpCode()I
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->mayAllowExtraAppOp()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->mayDenyExtraAppOpIfGranted()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$2;->mayGrantPermission()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$3;-><init>(ZI)V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy$3;->mayGrantPermission()Z
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;-><clinit>()V
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;-><init>()V
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->forPermission(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/os/UserHandle;Ljava/lang/String;)Lcom/android/server/policy/SoftRestrictedPermissionPolicy;
+PLcom/android/server/policy/SoftRestrictedPermissionPolicy;->getExtraAppOpCode()I
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->getMinimumTargetSDK(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/os/UserHandle;)I
+HPLcom/android/server/policy/SoftRestrictedPermissionPolicy;->hasUidRequestedLegacyExternalStorage(ILandroid/content/Context;)Z
PLcom/android/server/policy/SplashScreenSurface;-><init>(Landroid/view/View;Landroid/os/IBinder;)V
PLcom/android/server/policy/SplashScreenSurface;->remove()V
-HSPLcom/android/server/policy/WakeGestureListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-HSPLcom/android/server/policy/WakeGestureListener;->cancelWakeUpTrigger()V
-HSPLcom/android/server/policy/WakeGestureListener;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/policy/WakeGestureListener;->isSupported()Z
-PLcom/android/server/policy/WindowManagerPolicy;->getSubWindowLayerFromTypeLw(I)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
+PLcom/android/server/policy/WakeGestureListener$1;-><init>(Lcom/android/server/policy/WakeGestureListener;)V
+PLcom/android/server/policy/WakeGestureListener$2;-><init>(Lcom/android/server/policy/WakeGestureListener;)V
+PLcom/android/server/policy/WakeGestureListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/policy/WakeGestureListener;->cancelWakeUpTrigger()V
+PLcom/android/server/policy/WakeGestureListener;->isSupported()Z
+PLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I
+HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I
+PLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
+PLcom/android/server/policy/WindowOrientationListener$OrientationJudge;-><init>(Lcom/android/server/policy/WindowOrientationListener;)V
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;-><init>(Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;)V
PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;->run()V
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->dumpLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->getProposedRotationLocked()I
-HSPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-HSPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;-><init>(Lcom/android/server/policy/WindowOrientationListener;)V
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->getProposedRotationLocked()I
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onSensorChanged(Landroid/hardware/SensorEvent;)V
PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onTouchEndLocked(J)V
-HSPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onTouchStartLocked()V
-HSPLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->resetLocked(Z)V
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onTouchStartLocked()V
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->resetLocked(Z)V
PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->scheduleRotationEvaluationIfNecessaryLocked(J)V
-HSPLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
-HSPLcom/android/server/policy/WindowOrientationListener;->canDetectOrientation()Z
-HSPLcom/android/server/policy/WindowOrientationListener;->disable()V
-PLcom/android/server/policy/WindowOrientationListener;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/policy/WindowOrientationListener;->enable(Z)V
-HSPLcom/android/server/policy/WindowOrientationListener;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/policy/WindowOrientationListener;->getProposedRotation()I
+PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->unscheduleRotationEvaluationLocked()V
+PLcom/android/server/policy/WindowOrientationListener;-><clinit>()V
+PLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+PLcom/android/server/policy/WindowOrientationListener;->canDetectOrientation()Z
+PLcom/android/server/policy/WindowOrientationListener;->disable()V
+PLcom/android/server/policy/WindowOrientationListener;->enable(Z)V
+PLcom/android/server/policy/WindowOrientationListener;->getHandler()Landroid/os/Handler;
+PLcom/android/server/policy/WindowOrientationListener;->getProposedRotation()I
PLcom/android/server/policy/WindowOrientationListener;->onTouchEnd()V
-HSPLcom/android/server/policy/WindowOrientationListener;->onTouchStart()V
-HSPLcom/android/server/policy/WindowOrientationListener;->setCurrentRotation(I)V
-HSPLcom/android/server/policy/keyguard/-$$Lambda$KeyguardServiceDelegate$1$ZQ5qG3EmC57J43br9oobeNISXyE;-><init>()V
-HSPLcom/android/server/policy/keyguard/-$$Lambda$KeyguardServiceDelegate$1$ZQ5qG3EmC57J43br9oobeNISXyE;->run()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;->lambda$onServiceDisconnected$0()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;->onDrawn()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->bindService(Landroid/content/Context;)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->dismiss(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasKeyguard()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasLockscreenWallpaper()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isSecure(I)Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isShowing()Z
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isTrusted()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onBootCompleted()V
+PLcom/android/server/policy/WindowOrientationListener;->onTouchStart()V
+PLcom/android/server/policy/WindowOrientationListener;->setCurrentRotation(I)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;->onDrawn()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;-><init>()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;->reset()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;-><init>(Landroid/content/Context;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$000(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Landroid/content/Context;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$100(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$200(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$300(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$302(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->bindService(Landroid/content/Context;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasKeyguard()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasLockscreenWallpaper()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isSecure(I)Z
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isShowing()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onBootCompleted()V
PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onDreamingStarted()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onDreamingStopped()V
PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onFinishedGoingToSleep(IZ)V
PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onFinishedWakingUp()V
PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOff()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOn()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOn()V
PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOff()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOn(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOn(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedGoingToSleep(I)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedWakingUp()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onSystemReady()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->setKeyguardEnabled(Z)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->setOccluded(ZZ)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->startKeyguardExitAnimation(JJ)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->dismiss(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->hasLockscreenWallpaper()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isInputRestricted()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isSecure(I)Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isShowing()Z
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isTrusted()Z
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onBootCompleted()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedWakingUp()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onSystemReady()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->setOccluded(ZZ)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isSecure(I)Z
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isShowing()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onBootCompleted()V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onDreamingStarted()V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onDreamingStopped()V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onFinishedGoingToSleep(IZ)V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onFinishedWakingUp()V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOff()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOn()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOn()V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOff()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedGoingToSleep(I)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedWakingUp()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onSystemReady()V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->setKeyguardEnabled(Z)V
-HSPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->setOccluded(ZZ)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedWakingUp()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onSystemReady()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->setKeyguardEnabled(Z)V
PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->startKeyguardExitAnimation(JJ)V
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->hasLockscreenWallpaper()Z
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isInputRestricted()Z
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isSecure(I)Z
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isShowing()Z
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isTrusted()Z
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onHasLockscreenWallpaperChanged(Z)V
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onInputRestrictedStateChanged(Z)V
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onShowingStateChanged(Z)V
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onSimSecureStateChanged(Z)V
-HSPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onTrustedChanged(Z)V
-HSPLcom/android/server/policy/role/LegacyRoleResolutionPolicy;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isSecure(I)Z
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isShowing()Z
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onHasLockscreenWallpaperChanged(Z)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onInputRestrictedStateChanged(Z)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onShowingStateChanged(Z)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onSimSecureStateChanged(Z)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onTrustedChanged(Z)V
+PLcom/android/server/policy/role/LegacyRoleResolutionPolicy;-><init>(Landroid/content/Context;)V
PLcom/android/server/policy/role/LegacyRoleResolutionPolicy;->getRoleHolders(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$9JFHCKCwrnUIYoXDsqNamhlY5VU;->onValues(Landroid/os/Temperature;)V
-HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$R9S8YWn8x1F3V2TOvXtmky1V44Q;->onValues(Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
-HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;->run()V
-HSPLcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;->run()V
+HSPLcom/android/server/power/-$$Lambda$PowerManagerService$FUW_os-Z9SregUE_DR9vDwaRuXo;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$9JFHCKCwrnUIYoXDsqNamhlY5VU;-><init>(Lcom/android/server/power/ThermalManagerService;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$R9S8YWn8x1F3V2TOvXtmky1V44Q;-><init>(Ljava/util/List;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$R9S8YWn8x1F3V2TOvXtmky1V44Q;->onValues(Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$dRsq86SXVH7z342fbs2U36cr67I;-><init>(Ljava/util/List;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$dRsq86SXVH7z342fbs2U36cr67I;->onValues(Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;-><init>(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;->run()V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;-><init>(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;->run()V
+PLcom/android/server/power/AttentionDetector$1;-><init>(Lcom/android/server/power/AttentionDetector;Landroid/os/Handler;Landroid/content/Context;)V
+PLcom/android/server/power/AttentionDetector$UserSwitchObserver;-><init>(Lcom/android/server/power/AttentionDetector;)V
+PLcom/android/server/power/AttentionDetector$UserSwitchObserver;-><init>(Lcom/android/server/power/AttentionDetector;Lcom/android/server/power/AttentionDetector$1;)V
HSPLcom/android/server/power/AttentionDetector;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
-PLcom/android/server/power/AttentionDetector;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/power/AttentionDetector;->isAttentionServiceSupported()Z
-HSPLcom/android/server/power/AttentionDetector;->onUserActivity(JI)I
+PLcom/android/server/power/AttentionDetector;->cancelCurrentRequestIfAny()V
+PLcom/android/server/power/AttentionDetector;->onUserActivity(JI)I
PLcom/android/server/power/AttentionDetector;->onWakefulnessChangeStarted(I)V
-HSPLcom/android/server/power/AttentionDetector;->systemReady(Landroid/content/Context;)V
-HSPLcom/android/server/power/AttentionDetector;->updateEnabledFromSettings(Landroid/content/Context;)V
-HSPLcom/android/server/power/AttentionDetector;->updateUserActivity(J)J
+PLcom/android/server/power/AttentionDetector;->resetConsecutiveExtensionCount()V
+PLcom/android/server/power/AttentionDetector;->systemReady(Landroid/content/Context;)V
+PLcom/android/server/power/AttentionDetector;->updateEnabledFromSettings(Landroid/content/Context;)V
+HPLcom/android/server/power/AttentionDetector;->updateUserActivity(JJ)J
+HSPLcom/android/server/power/InattentiveSleepWarningController;-><init>()V
+PLcom/android/server/power/InattentiveSleepWarningController;->isShown()Z
+PLcom/android/server/power/Notifier$1;-><init>(Lcom/android/server/power/Notifier;I)V
PLcom/android/server/power/Notifier$1;->run()V
+PLcom/android/server/power/Notifier$2;-><init>(Lcom/android/server/power/Notifier;)V
PLcom/android/server/power/Notifier$2;->run()V
+PLcom/android/server/power/Notifier$3;-><init>(Lcom/android/server/power/Notifier;I)V
PLcom/android/server/power/Notifier$3;->run()V
+PLcom/android/server/power/Notifier$4;-><init>(Lcom/android/server/power/Notifier;II)V
PLcom/android/server/power/Notifier$4;->run()V
+PLcom/android/server/power/Notifier$5;-><init>(Lcom/android/server/power/Notifier;II)V
PLcom/android/server/power/Notifier$5;->run()V
+PLcom/android/server/power/Notifier$6;-><init>(Lcom/android/server/power/Notifier;)V
+PLcom/android/server/power/Notifier$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/power/Notifier$7;-><init>(Lcom/android/server/power/Notifier;)V
PLcom/android/server/power/Notifier$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/power/Notifier$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/power/Notifier;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)V
-HSPLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I
+PLcom/android/server/power/Notifier$NotifierHandler;-><init>(Lcom/android/server/power/Notifier;Landroid/os/Looper;)V
+PLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/power/Notifier;-><clinit>()V
+PLcom/android/server/power/Notifier;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)V
+PLcom/android/server/power/Notifier;->access$000(Lcom/android/server/power/Notifier;)Landroid/app/ActivityManagerInternal;
+PLcom/android/server/power/Notifier;->access$100(Lcom/android/server/power/Notifier;)I
+PLcom/android/server/power/Notifier;->access$300(Lcom/android/server/power/Notifier;)Lcom/android/server/policy/WindowManagerPolicy;
+PLcom/android/server/power/Notifier;->access$400(Lcom/android/server/power/Notifier;)J
+PLcom/android/server/power/Notifier;->access$500(Lcom/android/server/power/Notifier;)V
+PLcom/android/server/power/Notifier;->access$600(Lcom/android/server/power/Notifier;)V
+PLcom/android/server/power/Notifier;->finishPendingBroadcastLocked()V
+HPLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I
PLcom/android/server/power/Notifier;->handleEarlyInteractiveChange()V
PLcom/android/server/power/Notifier;->handleLateInteractiveChange()V
PLcom/android/server/power/Notifier;->isChargingFeedbackEnabled(I)Z
PLcom/android/server/power/Notifier;->onLongPartialWakeLockFinish(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
PLcom/android/server/power/Notifier;->onLongPartialWakeLockStart(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
-HSPLcom/android/server/power/Notifier;->onUserActivity(II)V
-HSPLcom/android/server/power/Notifier;->onWakeLockAcquired(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-HSPLcom/android/server/power/Notifier;->onWakeLockChanging(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-HSPLcom/android/server/power/Notifier;->onWakeLockReleased(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/power/Notifier;->onUserActivity(II)V
+HPLcom/android/server/power/Notifier;->onWakeLockAcquired(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+HPLcom/android/server/power/Notifier;->onWakeLockChanging(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+HPLcom/android/server/power/Notifier;->onWakeLockReleased(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
PLcom/android/server/power/Notifier;->onWakeUp(ILjava/lang/String;ILjava/lang/String;I)V
PLcom/android/server/power/Notifier;->onWakefulnessChangeFinished()V
PLcom/android/server/power/Notifier;->onWakefulnessChangeStarted(IIJ)V
-PLcom/android/server/power/Notifier;->onWiredChargingStarted(I)V
-PLcom/android/server/power/Notifier;->onWirelessChargingStarted(II)V
-PLcom/android/server/power/Notifier;->playChargingStartedFeedback(I)V
-PLcom/android/server/power/Notifier;->playChargingStartedVibration(I)V
+PLcom/android/server/power/Notifier;->playChargingStartedFeedback(IZ)V
PLcom/android/server/power/Notifier;->sendGoToSleepBroadcast()V
PLcom/android/server/power/Notifier;->sendNextBroadcast()V
-HSPLcom/android/server/power/Notifier;->sendUserActivity()V
+PLcom/android/server/power/Notifier;->sendUserActivity()V
PLcom/android/server/power/Notifier;->sendWakeUpBroadcast()V
+PLcom/android/server/power/Notifier;->translateOffReason(I)I
PLcom/android/server/power/Notifier;->updatePendingBroadcastLocked()V
-HSPLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker()V
-HSPLcom/android/server/power/PowerManagerService$1;->onDisplayStateChange(I)V
-PLcom/android/server/power/PowerManagerService$1;->onProximityNegative()V
-PLcom/android/server/power/PowerManagerService$1;->onProximityPositive()V
-HSPLcom/android/server/power/PowerManagerService$1;->onStateChanged()V
-HSPLcom/android/server/power/PowerManagerService$1;->releaseSuspendBlocker()V
-PLcom/android/server/power/PowerManagerService$1;->toString()Ljava/lang/String;
-HSPLcom/android/server/power/PowerManagerService$BatteryReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
-PLcom/android/server/power/PowerManagerService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/power/PowerManagerService$BinderService;->getLastShutdownReason()I
-HSPLcom/android/server/power/PowerManagerService$BinderService;->getPowerSaveState(I)Landroid/os/PowerSaveState;
+HSPLcom/android/server/power/PowerManagerService$1;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker()V
+PLcom/android/server/power/PowerManagerService$1;->onDisplayStateChange(I)V
+PLcom/android/server/power/PowerManagerService$1;->onStateChanged()V
+PLcom/android/server/power/PowerManagerService$1;->releaseSuspendBlocker()V
+HSPLcom/android/server/power/PowerManagerService$4;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$BatteryReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$BatteryReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/power/PowerManagerService$BinderService;-><init>(Lcom/android/server/power/PowerManagerService;)V
+HPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$BinderService;->getLastShutdownReason()I
+PLcom/android/server/power/PowerManagerService$BinderService;->getPowerSaveState(I)Landroid/os/PowerSaveState;
PLcom/android/server/power/PowerManagerService$BinderService;->goToSleep(JII)V
-HSPLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z
-HSPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive()Z
-HSPLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z
-HSPLcom/android/server/power/PowerManagerService$BinderService;->isPowerSaveMode()Z
-HSPLcom/android/server/power/PowerManagerService$BinderService;->isWakeLockLevelSupported(I)Z
-HSPLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLock(Landroid/os/IBinder;I)V
-HSPLcom/android/server/power/PowerManagerService$BinderService;->setDozeAfterScreenOff(Z)V
+PLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z
+HPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive()Z
+PLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z
+PLcom/android/server/power/PowerManagerService$BinderService;->isPowerSaveMode()Z
+PLcom/android/server/power/PowerManagerService$BinderService;->isWakeLockLevelSupported(I)Z
+HPLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLock(Landroid/os/IBinder;I)V
+PLcom/android/server/power/PowerManagerService$BinderService;->setDozeAfterScreenOff(Z)V
PLcom/android/server/power/PowerManagerService$BinderService;->setDynamicPowerSaveHint(ZI)Z
-HSPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V
-HSPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
-HSPLcom/android/server/power/PowerManagerService$BinderService;->userActivity(JII)V
+PLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V
+HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$BinderService;->userActivity(JII)V
PLcom/android/server/power/PowerManagerService$BinderService;->wakeUp(JILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/power/PowerManagerService$Constants;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/power/PowerManagerService$Constants;->dumpProto(Landroid/util/proto/ProtoOutputStream;)V
-HSPLcom/android/server/power/PowerManagerService$Constants;->updateConstants()V
+HSPLcom/android/server/power/PowerManagerService$Constants;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
+PLcom/android/server/power/PowerManagerService$Constants;->start(Landroid/content/ContentResolver;)V
+PLcom/android/server/power/PowerManagerService$Constants;->updateConstants()V
+PLcom/android/server/power/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
+PLcom/android/server/power/PowerManagerService$DreamReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$DreamReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
PLcom/android/server/power/PowerManagerService$DreamReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;->onForegroundProfileSwitch(I)V
+HSPLcom/android/server/power/PowerManagerService$Injector$1;-><init>(Lcom/android/server/power/PowerManagerService$Injector;)V
+HSPLcom/android/server/power/PowerManagerService$Injector$1;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/power/PowerManagerService$Injector$1;->set(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService$Injector;-><init>()V
HSPLcom/android/server/power/PowerManagerService$Injector;->createAmbientDisplayConfiguration(Landroid/content/Context;)Landroid/hardware/display/AmbientDisplayConfiguration;
HSPLcom/android/server/power/PowerManagerService$Injector;->createBatterySaverPolicy(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySavingStats;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createInattentiveSleepWarningController()Lcom/android/server/power/InattentiveSleepWarningController;
HSPLcom/android/server/power/PowerManagerService$Injector;->createNativeWrapper()Lcom/android/server/power/PowerManagerService$NativeWrapper;
-HSPLcom/android/server/power/PowerManagerService$Injector;->createNotifier(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)Lcom/android/server/power/Notifier;
+PLcom/android/server/power/PowerManagerService$Injector;->createNotifier(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)Lcom/android/server/power/Notifier;
HSPLcom/android/server/power/PowerManagerService$Injector;->createSuspendBlocker(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)Lcom/android/server/power/SuspendBlocker;
-HSPLcom/android/server/power/PowerManagerService$Injector;->createWirelessChargerDetector(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)Lcom/android/server/power/WirelessChargerDetector;
+HSPLcom/android/server/power/PowerManagerService$Injector;->createSystemPropertiesWrapper()Lcom/android/server/power/SystemPropertiesWrapper;
+PLcom/android/server/power/PowerManagerService$Injector;->createWirelessChargerDetector(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)Lcom/android/server/power/WirelessChargerDetector;
+HSPLcom/android/server/power/PowerManagerService$LocalService;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$LocalService;->getLastWakeup()Landroid/os/PowerManager$WakeData;
HSPLcom/android/server/power/PowerManagerService$LocalService;->getLowPowerState(I)Landroid/os/PowerSaveState;
-HSPLcom/android/server/power/PowerManagerService$LocalService;->powerHint(II)V
+PLcom/android/server/power/PowerManagerService$LocalService;->powerHint(II)V
HSPLcom/android/server/power/PowerManagerService$LocalService;->registerLowPowerModeObserver(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleMode(Z)Z
+PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleMode(Z)Z
PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleTempWhitelist([I)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleWhitelist([I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleWhitelist([I)V
PLcom/android/server/power/PowerManagerService$LocalService;->setDozeOverrideFromDreamManager(II)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->setLightDeviceIdleMode(Z)Z
-HSPLcom/android/server/power/PowerManagerService$LocalService;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(I)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->uidGone(I)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->uidIdle(I)V
-HSPLcom/android/server/power/PowerManagerService$LocalService;->updateUidProcState(II)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setLightDeviceIdleMode(Z)Z
+PLcom/android/server/power/PowerManagerService$LocalService;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V
+PLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->uidGone(I)V
+PLcom/android/server/power/PowerManagerService$LocalService;->uidIdle(I)V
+HPLcom/android/server/power/PowerManagerService$LocalService;->updateUidProcState(II)V
+HSPLcom/android/server/power/PowerManagerService$NativeWrapper;-><init>()V
HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeAcquireSuspendBlocker(Ljava/lang/String;)V
HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeInit(Lcom/android/server/power/PowerManagerService;)V
-HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeReleaseSuspendBlocker(Ljava/lang/String;)V
-HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSendPowerHint(II)V
+PLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeReleaseSuspendBlocker(Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSendPowerHint(II)V
HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetAutoSuspend(Z)V
HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetFeature(II)V
HSPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetInteractive(Z)V
-HSPLcom/android/server/power/PowerManagerService$PowerManagerHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/power/PowerManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+HSPLcom/android/server/power/PowerManagerService$PowerManagerHandler;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Looper;)V
+HPLcom/android/server/power/PowerManagerService$PowerManagerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/power/PowerManagerService$SettingsObserver;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
+HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;-><init>(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)V
HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire()V
-HSPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release()V
-PLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->toString()Ljava/lang/String;
-PLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/power/PowerManagerService$WakeLock;->binderDied()V
-PLcom/android/server/power/PowerManagerService$WakeLock;->getLockFlagsString()Ljava/lang/String;
-PLcom/android/server/power/PowerManagerService$WakeLock;->getLockLevelString()Ljava/lang/String;
-HSPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameWorkSource(Landroid/os/WorkSource;)Z
-PLcom/android/server/power/PowerManagerService$WakeLock;->toString()Ljava/lang/String;
-PLcom/android/server/power/PowerManagerService$WakeLock;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release()V
+PLcom/android/server/power/PowerManagerService$UidState;-><init>(I)V
+PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/power/PowerManagerService$WakeLock;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILcom/android/server/power/PowerManagerService$UidState;)V
+PLcom/android/server/power/PowerManagerService$WakeLock;->binderDied()V
+PLcom/android/server/power/PowerManagerService$WakeLock;->hasSameProperties(ILjava/lang/String;Landroid/os/WorkSource;II)Z
+PLcom/android/server/power/PowerManagerService$WakeLock;->hasSameWorkSource(Landroid/os/WorkSource;)Z
+PLcom/android/server/power/PowerManagerService$WakeLock;->updateWorkSource(Landroid/os/WorkSource;)V
HSPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/PowerManagerService$Injector;)V
-HSPLcom/android/server/power/PowerManagerService;->access$3400(Landroid/os/WorkSource;)Landroid/os/WorkSource;
-HSPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
-HSPLcom/android/server/power/PowerManagerService;->adjustWakeLockSummaryLocked(I)I
-HSPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
+PLcom/android/server/power/PowerManagerService;->access$000(Lcom/android/server/power/PowerManagerService;)Ljava/lang/Object;
+HSPLcom/android/server/power/PowerManagerService;->access$1000(II)V
+HSPLcom/android/server/power/PowerManagerService;->access$1200(Lcom/android/server/power/PowerManagerService;)Ljava/util/ArrayList;
+PLcom/android/server/power/PowerManagerService;->access$1676(Lcom/android/server/power/PowerManagerService;I)I
+PLcom/android/server/power/PowerManagerService;->access$1700(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2000(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->access$2200(Lcom/android/server/power/PowerManagerService;)Z
+PLcom/android/server/power/PowerManagerService;->access$2400(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
+PLcom/android/server/power/PowerManagerService;->access$2500(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2600(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2700(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$2900(Lcom/android/server/power/PowerManagerService;II)V
+PLcom/android/server/power/PowerManagerService;->access$3100(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$3200(Lcom/android/server/power/PowerManagerService;)V
+HPLcom/android/server/power/PowerManagerService;->access$3500(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+HSPLcom/android/server/power/PowerManagerService;->access$3700(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/PowerManagerService$NativeWrapper;
+PLcom/android/server/power/PowerManagerService;->access$3900(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
+HSPLcom/android/server/power/PowerManagerService;->access$400(Lcom/android/server/power/PowerManagerService;)V
+PLcom/android/server/power/PowerManagerService;->access$4000(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
+PLcom/android/server/power/PowerManagerService;->access$4100(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V
+PLcom/android/server/power/PowerManagerService;->access$4200(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
+PLcom/android/server/power/PowerManagerService;->access$4300(Lcom/android/server/power/PowerManagerService;I)Z
+PLcom/android/server/power/PowerManagerService;->access$4500(Lcom/android/server/power/PowerManagerService;JIII)V
+PLcom/android/server/power/PowerManagerService;->access$4900(Lcom/android/server/power/PowerManagerService;)Z
+HSPLcom/android/server/power/PowerManagerService;->access$500(Ljava/lang/String;)V
+HSPLcom/android/server/power/PowerManagerService;->access$5000(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverController;
+HSPLcom/android/server/power/PowerManagerService;->access$5100(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+PLcom/android/server/power/PowerManagerService;->access$5800(Lcom/android/server/power/PowerManagerService;Z)V
+PLcom/android/server/power/PowerManagerService;->access$600(Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService;->access$6400(Lcom/android/server/power/PowerManagerService;I)V
+PLcom/android/server/power/PowerManagerService;->access$6500(Lcom/android/server/power/PowerManagerService;II)V
+PLcom/android/server/power/PowerManagerService;->access$6700(Lcom/android/server/power/PowerManagerService;J)V
+PLcom/android/server/power/PowerManagerService;->access$6900(Lcom/android/server/power/PowerManagerService;)Landroid/os/PowerManager$WakeData;
+HSPLcom/android/server/power/PowerManagerService;->access$700(Z)V
+HSPLcom/android/server/power/PowerManagerService;->access$800(Z)V
+PLcom/android/server/power/PowerManagerService;->access$900(II)V
+HPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
+HPLcom/android/server/power/PowerManagerService;->adjustWakeLockSummaryLocked(I)I
+HPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
+PLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnReleaseLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+PLcom/android/server/power/PowerManagerService;->canDozeLocked()Z
PLcom/android/server/power/PowerManagerService;->canDreamLocked()Z
-PLcom/android/server/power/PowerManagerService;->checkForLongWakeLocks()V
-PLcom/android/server/power/PowerManagerService;->dumpInternal(Ljava/io/PrintWriter;)V
-PLcom/android/server/power/PowerManagerService;->dumpProto(Ljava/io/FileDescriptor;)V
-HSPLcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V
-HSPLcom/android/server/power/PowerManagerService;->getDesiredScreenPolicyLocked()I
-HSPLcom/android/server/power/PowerManagerService;->getLastShutdownReasonInternal(Ljava/lang/String;)I
-HSPLcom/android/server/power/PowerManagerService;->getNextProfileTimeoutLocked(J)J
+HPLcom/android/server/power/PowerManagerService;->checkForLongWakeLocks()V
+HPLcom/android/server/power/PowerManagerService;->copyWorkSource(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+PLcom/android/server/power/PowerManagerService;->enqueueNotifyLongMsgLocked(J)V
+HPLcom/android/server/power/PowerManagerService;->findWakeLockIndexLocked(Landroid/os/IBinder;)I
+HPLcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V
+PLcom/android/server/power/PowerManagerService;->getAttentiveTimeoutLocked()J
+HPLcom/android/server/power/PowerManagerService;->getDesiredScreenPolicyLocked()I
+PLcom/android/server/power/PowerManagerService;->getLastShutdownReasonInternal()I
+PLcom/android/server/power/PowerManagerService;->getLastWakeupInternal()Landroid/os/PowerManager$WakeData;
+HPLcom/android/server/power/PowerManagerService;->getNextProfileTimeoutLocked(J)J
PLcom/android/server/power/PowerManagerService;->getScreenDimDurationLocked(J)J
-HSPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutLocked(J)J
-PLcom/android/server/power/PowerManagerService;->getSleepTimeoutLocked()J
-HSPLcom/android/server/power/PowerManagerService;->getWakeLockSummaryFlags(Lcom/android/server/power/PowerManagerService$WakeLock;)I
+HPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutLocked(JJ)J
+PLcom/android/server/power/PowerManagerService;->getSleepTimeoutLocked(J)J
+HPLcom/android/server/power/PowerManagerService;->getWakeLockSummaryFlags(Lcom/android/server/power/PowerManagerService$WakeLock;)I
PLcom/android/server/power/PowerManagerService;->goToSleepInternal(JIII)V
PLcom/android/server/power/PowerManagerService;->goToSleepNoUpdateLocked(JIII)Z
-HSPLcom/android/server/power/PowerManagerService;->handleSandman()V
-HSPLcom/android/server/power/PowerManagerService;->handleUserActivityTimeout()V
-HSPLcom/android/server/power/PowerManagerService;->handleWakeLockDeath(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HSPLcom/android/server/power/PowerManagerService;->incrementBootCount()V
-HSPLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z
-HSPLcom/android/server/power/PowerManagerService;->isInteractiveInternal()Z
-HSPLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z
+PLcom/android/server/power/PowerManagerService;->handleBatteryStateChangedLocked()V
+HPLcom/android/server/power/PowerManagerService;->handleSandman()V
+PLcom/android/server/power/PowerManagerService;->handleSettingsChangedLocked()V
+PLcom/android/server/power/PowerManagerService;->handleUserActivityTimeout()V
+PLcom/android/server/power/PowerManagerService;->handleWakeLockDeath(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+PLcom/android/server/power/PowerManagerService;->incrementBootCount()V
+PLcom/android/server/power/PowerManagerService;->isAttentiveTimeoutExpired(J)Z
+PLcom/android/server/power/PowerManagerService;->isBeingKeptAwakeLocked()Z
+PLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z
+HPLcom/android/server/power/PowerManagerService;->isInteractiveInternal()Z
+PLcom/android/server/power/PowerManagerService;->isItBedTimeYetLocked()Z
+PLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z
PLcom/android/server/power/PowerManagerService;->isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()Z
-HSPLcom/android/server/power/PowerManagerService;->isWakeLockLevelSupportedInternal(I)Z
-HSPLcom/android/server/power/PowerManagerService;->monitor()V
-HSPLcom/android/server/power/PowerManagerService;->needDisplaySuspendBlockerLocked()Z
-HSPLcom/android/server/power/PowerManagerService;->notifyWakeLockAcquiredLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HSPLcom/android/server/power/PowerManagerService;->notifyWakeLockChangingLocked(Lcom/android/server/power/PowerManagerService$WakeLock;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-HSPLcom/android/server/power/PowerManagerService;->notifyWakeLockReleasedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+PLcom/android/server/power/PowerManagerService;->isValidBrightness(I)Z
+PLcom/android/server/power/PowerManagerService;->isWakeLockLevelSupportedInternal(I)Z
+PLcom/android/server/power/PowerManagerService;->logSleepTimeoutRecapturedLocked()V
+HPLcom/android/server/power/PowerManagerService;->maybeHideInattentiveSleepWarningLocked(JJ)Z
+PLcom/android/server/power/PowerManagerService;->maybeUpdateForegroundProfileLastActivityLocked(J)V
+PLcom/android/server/power/PowerManagerService;->monitor()V
+HPLcom/android/server/power/PowerManagerService;->needDisplaySuspendBlockerLocked()Z
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockAcquiredLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockChangingLocked(Lcom/android/server/power/PowerManagerService$WakeLock;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+PLcom/android/server/power/PowerManagerService;->notifyWakeLockLongFinishedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->notifyWakeLockReleasedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
HSPLcom/android/server/power/PowerManagerService;->onBootPhase(I)V
HSPLcom/android/server/power/PowerManagerService;->onStart()V
-HSPLcom/android/server/power/PowerManagerService;->readConfigurationLocked()V
-PLcom/android/server/power/PowerManagerService;->reallyGoToSleepNoUpdateLocked(JI)Z
-HSPLcom/android/server/power/PowerManagerService;->releaseWakeLockInternal(Landroid/os/IBinder;I)V
-HSPLcom/android/server/power/PowerManagerService;->removeWakeLockLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
-HSPLcom/android/server/power/PowerManagerService;->restartNofifyLongTimerLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HSPLcom/android/server/power/PowerManagerService;->setDeviceIdleModeInternal(Z)Z
+PLcom/android/server/power/PowerManagerService;->powerHintInternal(II)V
+PLcom/android/server/power/PowerManagerService;->readConfigurationLocked()V
+HPLcom/android/server/power/PowerManagerService;->releaseWakeLockInternal(Landroid/os/IBinder;I)V
+HPLcom/android/server/power/PowerManagerService;->removeWakeLockLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
+HPLcom/android/server/power/PowerManagerService;->restartNofifyLongTimerLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+HPLcom/android/server/power/PowerManagerService;->scheduleSandmanLocked()V
+HPLcom/android/server/power/PowerManagerService;->scheduleUserInactivityTimeout(J)V
+PLcom/android/server/power/PowerManagerService;->setDeviceIdleModeInternal(Z)Z
PLcom/android/server/power/PowerManagerService;->setDeviceIdleTempWhitelistInternal([I)V
-HSPLcom/android/server/power/PowerManagerService;->setDeviceIdleWhitelistInternal([I)V
-HSPLcom/android/server/power/PowerManagerService;->setDozeAfterScreenOffInternal(Z)V
+PLcom/android/server/power/PowerManagerService;->setDeviceIdleWhitelistInternal([I)V
+PLcom/android/server/power/PowerManagerService;->setDozeAfterScreenOffInternal(Z)V
PLcom/android/server/power/PowerManagerService;->setDozeOverrideFromDreamManagerInternal(II)V
-HSPLcom/android/server/power/PowerManagerService;->setHalAutoSuspendModeLocked(Z)V
-HSPLcom/android/server/power/PowerManagerService;->setHalInteractiveModeLocked(Z)V
-HSPLcom/android/server/power/PowerManagerService;->setLightDeviceIdleModeInternal(Z)Z
-HSPLcom/android/server/power/PowerManagerService;->setMaximumScreenOffTimeoutFromDeviceAdminInternal(IJ)V
-HSPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(I)V
-HSPLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V
-HSPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
-HSPLcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z
-HSPLcom/android/server/power/PowerManagerService;->systemReady(Lcom/android/internal/app/IAppOpsService;)V
-HSPLcom/android/server/power/PowerManagerService;->uidActiveInternal(I)V
-HSPLcom/android/server/power/PowerManagerService;->uidGoneInternal(I)V
-HSPLcom/android/server/power/PowerManagerService;->uidIdleInternal(I)V
-HSPLcom/android/server/power/PowerManagerService;->updateDisplayPowerStateLocked(I)Z
-HSPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V
-HSPLcom/android/server/power/PowerManagerService;->updatePowerStateLocked()V
-HSPLcom/android/server/power/PowerManagerService;->updateProfilesLocked(J)V
-HSPLcom/android/server/power/PowerManagerService;->updateScreenBrightnessBoostLocked(I)V
-HSPLcom/android/server/power/PowerManagerService;->updateSettingsLocked()V
-HSPLcom/android/server/power/PowerManagerService;->updateStayOnLocked(I)V
-HSPLcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
-HSPLcom/android/server/power/PowerManagerService;->updateUidProcStateInternal(II)V
-HSPLcom/android/server/power/PowerManagerService;->updateUserActivitySummaryLocked(JI)V
-HSPLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLocked()V
-HSPLcom/android/server/power/PowerManagerService;->updateWakeLockSummaryLocked(I)V
-HSPLcom/android/server/power/PowerManagerService;->updateWakeLockWorkSourceInternal(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
-HSPLcom/android/server/power/PowerManagerService;->updateWakefulnessLocked(I)Z
-HSPLcom/android/server/power/PowerManagerService;->userActivityFromNative(JII)V
-HSPLcom/android/server/power/PowerManagerService;->userActivityInternal(JIII)V
-HSPLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(JIII)Z
+HPLcom/android/server/power/PowerManagerService;->setHalAutoSuspendModeLocked(Z)V
+HPLcom/android/server/power/PowerManagerService;->setHalInteractiveModeLocked(Z)V
+PLcom/android/server/power/PowerManagerService;->setLightDeviceIdleModeInternal(Z)Z
+PLcom/android/server/power/PowerManagerService;->setMaximumScreenOffTimeoutFromDeviceAdminInternal(IJ)V
+PLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(I)V
+PLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V
+HPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
+PLcom/android/server/power/PowerManagerService;->setWakefulnessLocked(IIJ)V
+PLcom/android/server/power/PowerManagerService;->shouldBoostScreenBrightness()Z
+PLcom/android/server/power/PowerManagerService;->shouldNapAtBedTimeLocked()Z
+PLcom/android/server/power/PowerManagerService;->shouldUseProximitySensorLocked()Z
+PLcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z
+PLcom/android/server/power/PowerManagerService;->systemReady(Lcom/android/internal/app/IAppOpsService;)V
+PLcom/android/server/power/PowerManagerService;->uidActiveInternal(I)V
+PLcom/android/server/power/PowerManagerService;->uidGoneInternal(I)V
+PLcom/android/server/power/PowerManagerService;->uidIdleInternal(I)V
+HPLcom/android/server/power/PowerManagerService;->updateAttentiveStateLocked(JI)V
+HPLcom/android/server/power/PowerManagerService;->updateDisplayPowerStateLocked(I)Z
+PLcom/android/server/power/PowerManagerService;->updateDreamLocked(IZ)V
+HPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V
+PLcom/android/server/power/PowerManagerService;->updatePowerRequestFromBatterySaverPolicy(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
+HPLcom/android/server/power/PowerManagerService;->updatePowerStateLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateProfilesLocked(J)V
+HPLcom/android/server/power/PowerManagerService;->updateScreenBrightnessBoostLocked(I)V
+PLcom/android/server/power/PowerManagerService;->updateSettingsLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateStayOnLocked(I)V
+HPLcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateUidProcStateInternal(II)V
+HPLcom/android/server/power/PowerManagerService;->updateUserActivitySummaryLocked(JI)V
+PLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLocked()V
+HPLcom/android/server/power/PowerManagerService;->updateWakeLockSummaryLocked(I)V
+HPLcom/android/server/power/PowerManagerService;->updateWakeLockWorkSourceInternal(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
+HPLcom/android/server/power/PowerManagerService;->updateWakefulnessLocked(I)Z
+PLcom/android/server/power/PowerManagerService;->userActivityFromNative(JII)V
+PLcom/android/server/power/PowerManagerService;->userActivityInternal(JIII)V
+PLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(JIII)Z
PLcom/android/server/power/PowerManagerService;->wakeUpInternal(JILjava/lang/String;ILjava/lang/String;I)V
-HSPLcom/android/server/power/PowerManagerService;->wakeUpNoUpdateLocked(JILjava/lang/String;ILjava/lang/String;I)Z
-PLcom/android/server/power/ThermalManagerService$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/power/ThermalManagerService$1;->getCurrentTemperatures()Ljava/util/List;
-HSPLcom/android/server/power/ThermalManagerService$1;->registerThermalEventListenerWithType(Landroid/os/IThermalEventListener;I)Z
-HSPLcom/android/server/power/ThermalManagerService$1;->registerThermalStatusListener(Landroid/os/IThermalStatusListener;)Z
-HSPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;->notifyThrottling(Landroid/hardware/thermal/V2_0/Temperature;)V
-HSPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->connectToHal()Z
-PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->getCurrentTemperatures(ZI)Ljava/util/List;
-HSPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->lambda$getCurrentTemperatures$0(Ljava/util/List;Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
-HSPLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;->setCallback(Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$TemperatureChangedCallback;)V
+PLcom/android/server/power/PowerManagerService;->wakeUpNoUpdateLocked(JILjava/lang/String;ILjava/lang/String;I)Z
+HSPLcom/android/server/power/ThermalManagerService$1;-><init>(Lcom/android/server/power/ThermalManagerService;)V
+HPLcom/android/server/power/ThermalManagerService$1;->getCurrentCoolingDevices()Ljava/util/List;
+PLcom/android/server/power/ThermalManagerService$1;->getCurrentTemperatures()Ljava/util/List;
+PLcom/android/server/power/ThermalManagerService$1;->getCurrentThermalStatus()I
+PLcom/android/server/power/ThermalManagerService$1;->registerThermalEventListener(Landroid/os/IThermalEventListener;)Z
+PLcom/android/server/power/ThermalManagerService$1;->registerThermalEventListenerWithType(Landroid/os/IThermalEventListener;I)Z
+PLcom/android/server/power/ThermalManagerService$1;->registerThermalStatusListener(Landroid/os/IThermalStatusListener;)Z
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;-><init>(Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;->notifyThrottling(Landroid/hardware/thermal/V2_0/Temperature;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;-><init>()V
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->connectToHal()Z
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->getCurrentCoolingDevices(ZI)Ljava/util/List;
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->getCurrentTemperatures(ZI)Ljava/util/List;
+HPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->lambda$getCurrentCoolingDevices$1(Ljava/util/List;Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->lambda$getCurrentTemperatures$0(Ljava/util/List;Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalWrapper$DeathRecipient;-><init>(Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;)V
+PLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;-><clinit>()V
+PLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;-><init>()V
+PLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;->setCallback(Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$TemperatureChangedCallback;)V
+HSPLcom/android/server/power/ThermalManagerService;-><clinit>()V
HSPLcom/android/server/power/ThermalManagerService;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/power/ThermalManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;)V
-PLcom/android/server/power/ThermalManagerService;->dumpTemperaturesLocked(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/Collection;)V
-HSPLcom/android/server/power/ThermalManagerService;->lambda$postEventListener$1(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
-HSPLcom/android/server/power/ThermalManagerService;->lambda$postStatusListener$0$ThermalManagerService(Landroid/os/IThermalStatusListener;)V
-HSPLcom/android/server/power/ThermalManagerService;->notifyEventListenersLocked(Landroid/os/Temperature;)V
-HSPLcom/android/server/power/ThermalManagerService;->notifyStatusListenersLocked()V
-HSPLcom/android/server/power/ThermalManagerService;->onActivityManagerReady()V
+PLcom/android/server/power/ThermalManagerService;->access$000(Lcom/android/server/power/ThermalManagerService;)Ljava/lang/Object;
+PLcom/android/server/power/ThermalManagerService;->access$100(Lcom/android/server/power/ThermalManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/power/ThermalManagerService;->access$200(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+PLcom/android/server/power/ThermalManagerService;->access$300(Lcom/android/server/power/ThermalManagerService;)Ljava/util/concurrent/atomic/AtomicBoolean;
+PLcom/android/server/power/ThermalManagerService;->access$400(Lcom/android/server/power/ThermalManagerService;)Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;
+PLcom/android/server/power/ThermalManagerService;->access$500(Lcom/android/server/power/ThermalManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/power/ThermalManagerService;->access$600(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->access$700(Lcom/android/server/power/ThermalManagerService;)I
+PLcom/android/server/power/ThermalManagerService;->lambda$postEventListener$1(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->lambda$postStatusListener$0$ThermalManagerService(Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->notifyEventListenersLocked(Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->notifyStatusListenersLocked()V
+PLcom/android/server/power/ThermalManagerService;->onActivityManagerReady()V
HSPLcom/android/server/power/ThermalManagerService;->onBootPhase(I)V
HSPLcom/android/server/power/ThermalManagerService;->onStart()V
-HSPLcom/android/server/power/ThermalManagerService;->onTemperatureChanged(Landroid/os/Temperature;Z)V
-HSPLcom/android/server/power/ThermalManagerService;->onTemperatureChangedCallback(Landroid/os/Temperature;)V
-HSPLcom/android/server/power/ThermalManagerService;->onTemperatureMapChangedLocked()V
-HSPLcom/android/server/power/ThermalManagerService;->postEventListener(Landroid/os/Temperature;Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
-HSPLcom/android/server/power/ThermalManagerService;->postEventListenerCurrentTemperatures(Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
-HSPLcom/android/server/power/ThermalManagerService;->shutdownIfNeeded(Landroid/os/Temperature;)V
-HSPLcom/android/server/power/WirelessChargerDetector$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-HSPLcom/android/server/power/WirelessChargerDetector$2;->run()V
-HSPLcom/android/server/power/WirelessChargerDetector;-><init>(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)V
-PLcom/android/server/power/WirelessChargerDetector;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/power/WirelessChargerDetector;->finishDetectionLocked()V
-HSPLcom/android/server/power/WirelessChargerDetector;->hasMoved(FFFFFF)Z
-HSPLcom/android/server/power/WirelessChargerDetector;->processSampleLocked(FFF)V
-HSPLcom/android/server/power/WirelessChargerDetector;->startDetectionLocked()V
-HSPLcom/android/server/power/WirelessChargerDetector;->update(ZI)Z
-PLcom/android/server/power/WirelessChargerDetector;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverPolicy$rfw31Sb8JX1OVD2rGHGtCXyfop8;->onAccessibilityStateChanged(Z)V
-PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$SSfmWJrD4RBoVg8A8loZrS-jhAo;->run()V
-PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$WGmfDqFGirqPfth6R7MtcSK-Gvs;->run()V
-HSPLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;->run()V
-HSPLcom/android/server/power/batterysaver/-$$Lambda$FileUpdater$NUmipjKCJwbgmFbIcGS3uaz3QFk;->run()V
-HSPLcom/android/server/power/batterysaver/BatterySaverController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->dispatchMessage(Landroid/os/Message;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->postStateChanged(ZI)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->postSystemReady()V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureChanged(Landroid/os/Temperature;Z)V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureChangedCallback(Landroid/os/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureMapChangedLocked()V
+PLcom/android/server/power/ThermalManagerService;->postEventListener(Landroid/os/Temperature;Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+PLcom/android/server/power/ThermalManagerService;->postEventListenerCurrentTemperatures(Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+PLcom/android/server/power/ThermalManagerService;->postStatusListener(Landroid/os/IThermalStatusListener;)V
+PLcom/android/server/power/ThermalManagerService;->setStatusLocked(I)V
+PLcom/android/server/power/ThermalManagerService;->shutdownIfNeeded(Landroid/os/Temperature;)V
+PLcom/android/server/power/WirelessChargerDetector$1;-><init>(Lcom/android/server/power/WirelessChargerDetector;)V
+PLcom/android/server/power/WirelessChargerDetector$2;-><init>(Lcom/android/server/power/WirelessChargerDetector;)V
+PLcom/android/server/power/WirelessChargerDetector;-><clinit>()V
+PLcom/android/server/power/WirelessChargerDetector;-><init>(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)V
+PLcom/android/server/power/WirelessChargerDetector;->update(ZI)Z
+PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverPolicy$rfw31Sb8JX1OVD2rGHGtCXyfop8;-><init>(Lcom/android/server/power/batterysaver/BatterySaverPolicy;)V
+HSPLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$SSfmWJrD4RBoVg8A8loZrS-jhAo;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V
+PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V
+PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;->run()V
+HSPLcom/android/server/power/batterysaver/-$$Lambda$FileUpdater$NUmipjKCJwbgmFbIcGS3uaz3QFk;-><init>(Lcom/android/server/power/batterysaver/FileUpdater;)V
+HSPLcom/android/server/power/batterysaver/BatterySaverController$1;-><init>(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+PLcom/android/server/power/batterysaver/BatterySaverController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;-><init>(Lcom/android/server/power/batterysaver/BatterySaverController;Landroid/os/Looper;)V
+PLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->dispatchMessage(Landroid/os/Message;)V
+PLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->postSystemReady()V
HSPLcom/android/server/power/batterysaver/BatterySaverController;-><init>(Ljava/lang/Object;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/power/batterysaver/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySavingStats;)V
+PLcom/android/server/power/batterysaver/BatterySaverController;->access$000(Lcom/android/server/power/batterysaver/BatterySaverController;)Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->access$100(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+PLcom/android/server/power/batterysaver/BatterySaverController;->access$300(Lcom/android/server/power/batterysaver/BatterySaverController;)Ljava/lang/Object;
+PLcom/android/server/power/batterysaver/BatterySaverController;->access$402(Lcom/android/server/power/batterysaver/BatterySaverController;Z)Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->access$500(Lcom/android/server/power/batterysaver/BatterySaverController;)[Lcom/android/server/power/batterysaver/BatterySaverController$Plugin;
HSPLcom/android/server/power/batterysaver/BatterySaverController;->addListener(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->enableBatterySaver(ZI)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->getBatterySaverPolicy()Lcom/android/server/power/batterysaver/BatterySaverPolicy;
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->handleBatterySaverStateChanged(ZI)V
-PLcom/android/server/power/batterysaver/BatterySaverController;->isAdaptiveEnabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->isFullEnabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->isInteractive()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->isLaunchBoostDisabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->isPolicyEnabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->reasonToString(I)Ljava/lang/String;
-PLcom/android/server/power/batterysaver/BatterySaverController;->resetAdaptivePolicyLocked(I)Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->setAdaptivePolicyEnabledLocked(ZI)Z
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->systemReady()V
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->updateBatterySavingStats()V
-HSPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->onBatterySaverChanged(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->onSystemReady(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->updateLocationState(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+PLcom/android/server/power/batterysaver/BatterySaverController;->getBatterySaverPolicy()Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+PLcom/android/server/power/batterysaver/BatterySaverController;->getPowerManager()Landroid/os/PowerManager;
+PLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->isLaunchBoostDisabled()Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->isPolicyEnabled()Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->systemReady()V
+PLcom/android/server/power/batterysaver/BatterySaverController;->updateBatterySavingStats()V
+HSPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;-><init>(Landroid/content/Context;)V
+PLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->onSystemReady(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+PLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->updateLocationState(Lcom/android/server/power/batterysaver/BatterySaverController;)V
HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;-><init>(FZZZZZZZZZZZZZZLandroid/util/ArrayMap;Landroid/util/ArrayMap;ZZI)V
-PLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->fromSettings(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;)Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;
+PLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->fromSettings(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;)Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;
+HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;-><clinit>()V
HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;-><init>(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySavingStats;)V
HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->addListener(Lcom/android/server/power/batterysaver/BatterySaverPolicy$BatterySaverPolicyListener;)V
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->dumpMap(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArrayMap;)V
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->dumpPolicyLocked(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;)V
HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getBatterySaverPolicy(I)Landroid/os/PowerSaveState;
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getDeviceSpecificConfigResId()I
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getFileValues(Z)Landroid/util/ArrayMap;
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getGlobalSetting(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getGpsMode()I
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->isLaunchBoostDisabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->lambda$systemReady$0$BatterySaverPolicy(Z)V
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->refreshSettings()V
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->resetAdaptivePolicyLocked()Z
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->setAdaptivePolicyLocked(Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;)Z
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->setPolicyLevel(I)Z
-PLcom/android/server/power/batterysaver/BatterySaverPolicy;->shouldAdvertiseIsEnabled()Z
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->systemReady()V
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->toEventLogString()Ljava/lang/String;
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->updateConstantsLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->updatePolicyDependenciesLocked()V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine$1;->onChange(Z)V
+HSPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getCurrentPolicyLocked()Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->getDeviceSpecificConfigResId()I
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->getGlobalSetting(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->getGpsMode()I
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->refreshSettings()V
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->systemReady()V
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->updateConstantsLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->updatePolicyDependenciesLocked()V
+HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine$1;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;Landroid/os/Handler;)V
HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;-><init>(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySaverController;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->doAutoBatterySaverLocked()V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->dumpProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->enableBatterySaverLocked(ZZILjava/lang/String;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->getGlobalSetting(Ljava/lang/String;I)I
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->lambda$new$1$BatterySaverStateMachine()V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->lambda$onBootCompleted$0$BatterySaverStateMachine()V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->onBootCompleted()V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->putGlobalSetting(Ljava/lang/String;I)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->refreshSettingsLocked()V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->runOnBgThread(Ljava/lang/Runnable;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->runOnBgThreadLazy(Ljava/lang/Runnable;I)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setBatteryStatus(ZIZ)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setSettingsLocked(ZZIZIIZI)V
-HSPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->updateStateLocked(ZZ)V
-PLcom/android/server/power/batterysaver/BatterySavingStats$Stat;->drainPerHour()D
-PLcom/android/server/power/batterysaver/BatterySavingStats$Stat;->totalMinutes()J
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->doAutoBatterySaverLocked()V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->getGlobalSetting(Ljava/lang/String;I)I
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->lambda$onBootCompleted$0$BatterySaverStateMachine()V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->onBootCompleted()V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->putGlobalSetting(Ljava/lang/String;I)V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->refreshSettingsLocked()V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->runOnBgThread(Ljava/lang/Runnable;)V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setBatteryStatus(ZIZ)V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setSettingsLocked(ZZIZIIZI)V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->updateStateLocked(ZZ)V
+PLcom/android/server/power/batterysaver/BatterySavingStats$BatterySaverState;->fromIndex(I)I
+PLcom/android/server/power/batterysaver/BatterySavingStats$DozeState;->fromIndex(I)I
+PLcom/android/server/power/batterysaver/BatterySavingStats$InteractiveState;->fromIndex(I)I
+PLcom/android/server/power/batterysaver/BatterySavingStats$Stat;-><init>()V
HSPLcom/android/server/power/batterysaver/BatterySavingStats;-><init>(Ljava/lang/Object;)V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->dumpLineLocked(Ljava/io/PrintWriter;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->endLastStateLocked(JII)V
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->getStat(I)Lcom/android/server/power/batterysaver/BatterySavingStats$Stat;
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryLevel()I
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryPercent()I
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->injectCurrentTime()J
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->startCharging()V
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->transitionState(III)V
-HSPLcom/android/server/power/batterysaver/BatterySavingStats;->transitionStateLocked(I)V
-HSPLcom/android/server/power/batterysaver/CpuFrequencies;-><init>()V
-HSPLcom/android/server/power/batterysaver/CpuFrequencies;->addToSysFileMap(Ljava/util/Map;)V
-HSPLcom/android/server/power/batterysaver/CpuFrequencies;->parseString(Ljava/lang/String;)Lcom/android/server/power/batterysaver/CpuFrequencies;
-HSPLcom/android/server/power/batterysaver/CpuFrequencies;->toSysFileMap()Landroid/util/ArrayMap;
+PLcom/android/server/power/batterysaver/BatterySavingStats;->endLastStateLocked(JII)V
+PLcom/android/server/power/batterysaver/BatterySavingStats;->getBatteryManagerInternal()Landroid/os/BatteryManagerInternal;
+PLcom/android/server/power/batterysaver/BatterySavingStats;->getStat(I)Lcom/android/server/power/batterysaver/BatterySavingStats$Stat;
+PLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryLevel()I
+PLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryPercent()I
+PLcom/android/server/power/batterysaver/BatterySavingStats;->injectCurrentTime()J
+PLcom/android/server/power/batterysaver/BatterySavingStats;->startCharging()V
+PLcom/android/server/power/batterysaver/BatterySavingStats;->startNewStateLocked(IJII)V
+PLcom/android/server/power/batterysaver/BatterySavingStats;->transitionState(III)V
+PLcom/android/server/power/batterysaver/BatterySavingStats;->transitionStateLocked(I)V
+PLcom/android/server/power/batterysaver/CpuFrequencies;-><init>()V
+PLcom/android/server/power/batterysaver/CpuFrequencies;->addToSysFileMap(Ljava/util/Map;)V
+PLcom/android/server/power/batterysaver/CpuFrequencies;->parseString(Ljava/lang/String;)Lcom/android/server/power/batterysaver/CpuFrequencies;
+PLcom/android/server/power/batterysaver/CpuFrequencies;->toSysFileMap()Landroid/util/ArrayMap;
+HSPLcom/android/server/power/batterysaver/FileUpdater;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/power/batterysaver/FileUpdater;-><init>(Landroid/content/Context;Landroid/os/Looper;II)V
-HSPLcom/android/server/power/batterysaver/FileUpdater;->handleWriteOnHandler()V
-HSPLcom/android/server/power/batterysaver/FileUpdater;->injectDefaultValuesFilename()Ljava/io/File;
-HSPLcom/android/server/power/batterysaver/FileUpdater;->lambda$new$0$FileUpdater()V
-HSPLcom/android/server/power/batterysaver/FileUpdater;->loadDefaultValuesLocked()Z
-HSPLcom/android/server/power/batterysaver/FileUpdater;->restoreDefault()V
-HSPLcom/android/server/power/batterysaver/FileUpdater;->systemReady(Z)V
-HSPLcom/android/server/power/batterysaver/FileUpdater;->writeFiles(Landroid/util/ArrayMap;)V
+PLcom/android/server/power/batterysaver/FileUpdater;->injectDefaultValuesFilename()Ljava/io/File;
+PLcom/android/server/power/batterysaver/FileUpdater;->systemReady(Z)V
+PLcom/android/server/print/-$$Lambda$UserState$LdWYUAKz4cbWqoxOD4oZ_ZslKdg;-><clinit>()V
PLcom/android/server/print/-$$Lambda$UserState$LdWYUAKz4cbWqoxOD4oZ_ZslKdg;-><init>()V
PLcom/android/server/print/-$$Lambda$UserState$LdWYUAKz4cbWqoxOD4oZ_ZslKdg;->accept(Ljava/lang/Object;)V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl$1;-><init>(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;Landroid/os/Handler;Landroid/net/Uri;)V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;-><init>(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;)V
PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->hadPrintService(Lcom/android/server/print/UserState;Ljava/lang/String;)Z
PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->hasPrintService(Ljava/lang/String;)Z
PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageAdded(Ljava/lang/String;I)V
-HSPLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/print/PrintManagerService$PrintManagerImpl$3;->run()V
-HSPLcom/android/server/print/PrintManagerService$PrintManagerImpl;-><init>(Lcom/android/server/print/PrintManagerService;Landroid/content/Context;)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/util/ArrayList;)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/print/PrintManagerService$PrintManagerImpl;->getOrCreateUserStateLocked(IZZ)Lcom/android/server/print/UserState;
-HSPLcom/android/server/print/PrintManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/print/PrintManagerService;->onStart()V
-HSPLcom/android/server/print/PrintManagerService;->onUnlockUser(I)V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl$3;-><init>(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;I)V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl$3;->run()V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl;-><init>(Lcom/android/server/print/PrintManagerService;Landroid/content/Context;)V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->getOrCreateUserStateLocked(IZZ)Lcom/android/server/print/UserState;
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->registerBroadcastReceivers()V
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->registerContentObservers()V
+PLcom/android/server/print/PrintManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/print/PrintManagerService;->onStart()V
+PLcom/android/server/print/PrintManagerService;->onUnlockUser(I)V
+PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;-><init>(Lcom/android/server/print/RemotePrintService;)V
+PLcom/android/server/print/RemotePrintService$RemoteServiceConneciton;-><init>(Lcom/android/server/print/RemotePrintService;)V
+PLcom/android/server/print/RemotePrintService$RemoteServiceConneciton;-><init>(Lcom/android/server/print/RemotePrintService;Lcom/android/server/print/RemotePrintService$1;)V
PLcom/android/server/print/RemotePrintService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/print/RemotePrintSpooler;Lcom/android/server/print/RemotePrintService$PrintServiceCallbacks;)V
-PLcom/android/server/print/RemotePrintService;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;)V
+PLcom/android/server/print/RemotePrintService;->getComponentName()Landroid/content/ComponentName;
+PLcom/android/server/print/RemotePrintSpooler$BasePrintSpoolerServiceCallbacks;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$BasePrintSpoolerServiceCallbacks;-><init>(Lcom/android/server/print/RemotePrintSpooler$1;)V
+PLcom/android/server/print/RemotePrintSpooler$ClearCustomPrinterIconCacheCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$ClearCustomPrinterIconCacheCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$ClearCustomPrinterIconCacheCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$GetCustomPrinterIconCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$GetCustomPrinterIconCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$GetCustomPrinterIconCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfoCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$GetPrintJobInfoCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfoCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfosCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$GetPrintJobInfosCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfosCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$MyServiceConnection;-><init>(Lcom/android/server/print/RemotePrintSpooler;)V
+PLcom/android/server/print/RemotePrintSpooler$MyServiceConnection;-><init>(Lcom/android/server/print/RemotePrintSpooler;Lcom/android/server/print/RemotePrintSpooler$1;)V
PLcom/android/server/print/RemotePrintSpooler$MyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/print/RemotePrintSpooler$OnCustomPrinterIconLoadedCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$OnCustomPrinterIconLoadedCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$OnCustomPrinterIconLoadedCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$PrintSpoolerClient;-><init>(Lcom/android/server/print/RemotePrintSpooler;)V
PLcom/android/server/print/RemotePrintSpooler$PrintSpoolerClient;->onAllPrintJobsHandled()V
-HSPLcom/android/server/print/RemotePrintSpooler;-><init>(Landroid/content/Context;IZLcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;)V
-HSPLcom/android/server/print/RemotePrintSpooler;->bindLocked()V
+PLcom/android/server/print/RemotePrintSpooler$SetPrintJobStateCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$SetPrintJobStateCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$SetPrintJobStateCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler$SetPrintJobTagCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$SetPrintJobTagCaller;)V
+PLcom/android/server/print/RemotePrintSpooler$SetPrintJobTagCaller;-><init>()V
+PLcom/android/server/print/RemotePrintSpooler;-><clinit>()V
+PLcom/android/server/print/RemotePrintSpooler;-><init>(Landroid/content/Context;IZLcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;)V
+PLcom/android/server/print/RemotePrintSpooler;->access$100(Lcom/android/server/print/RemotePrintSpooler;)Ljava/lang/Object;
+PLcom/android/server/print/RemotePrintSpooler;->access$1400(Lcom/android/server/print/RemotePrintSpooler;)V
+PLcom/android/server/print/RemotePrintSpooler;->access$202(Lcom/android/server/print/RemotePrintSpooler;Landroid/print/IPrintSpooler;)Landroid/print/IPrintSpooler;
+PLcom/android/server/print/RemotePrintSpooler;->access$300(Lcom/android/server/print/RemotePrintSpooler;)V
+PLcom/android/server/print/RemotePrintSpooler;->bindLocked()V
PLcom/android/server/print/RemotePrintSpooler;->clearClientLocked()V
-PLcom/android/server/print/RemotePrintSpooler;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;)V
-HSPLcom/android/server/print/RemotePrintSpooler;->getRemoteInstanceLazy()Landroid/print/IPrintSpooler;
+PLcom/android/server/print/RemotePrintSpooler;->getRemoteInstanceLazy()Landroid/print/IPrintSpooler;
PLcom/android/server/print/RemotePrintSpooler;->increasePriority()V
PLcom/android/server/print/RemotePrintSpooler;->onAllPrintJobsHandled()V
-HSPLcom/android/server/print/RemotePrintSpooler;->pruneApprovedPrintServices(Ljava/util/List;)V
+PLcom/android/server/print/RemotePrintSpooler;->pruneApprovedPrintServices(Ljava/util/List;)V
PLcom/android/server/print/RemotePrintSpooler;->removeObsoletePrintJobs()V
PLcom/android/server/print/RemotePrintSpooler;->setClientLocked()V
-HSPLcom/android/server/print/RemotePrintSpooler;->throwIfDestroyedLocked()V
+PLcom/android/server/print/RemotePrintSpooler;->throwIfCalledOnMainThread()V
+PLcom/android/server/print/RemotePrintSpooler;->throwIfDestroyedLocked()V
PLcom/android/server/print/RemotePrintSpooler;->unbindLocked()V
-PLcom/android/server/print/UserState$PrintJobForAppCache;->dumpLocked(Lcom/android/internal/util/dump/DualDumpOutputStream;)V
-HSPLcom/android/server/print/UserState;-><init>(Landroid/content/Context;ILjava/lang/Object;Z)V
-PLcom/android/server/print/UserState;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;)V
-HSPLcom/android/server/print/UserState;->getInstalledComponents()Ljava/util/ArrayList;
+PLcom/android/server/print/UserState$PrintJobForAppCache;-><init>(Lcom/android/server/print/UserState;)V
+PLcom/android/server/print/UserState$PrintJobForAppCache;-><init>(Lcom/android/server/print/UserState;Lcom/android/server/print/UserState$1;)V
+PLcom/android/server/print/UserState;-><init>(Landroid/content/Context;ILjava/lang/Object;Z)V
+PLcom/android/server/print/UserState;->addServiceLocked(Lcom/android/server/print/RemotePrintService;)V
+PLcom/android/server/print/UserState;->getInstalledComponents()Ljava/util/ArrayList;
PLcom/android/server/print/UserState;->getPrintServices(I)Ljava/util/List;
PLcom/android/server/print/UserState;->handleDispatchPrintServicesChanged()V
+PLcom/android/server/print/UserState;->increasePriority()V
+PLcom/android/server/print/UserState;->lambda$LdWYUAKz4cbWqoxOD4oZ_ZslKdg(Lcom/android/server/print/UserState;)V
PLcom/android/server/print/UserState;->onConfigurationChanged()V
PLcom/android/server/print/UserState;->onConfigurationChangedLocked()V
-HSPLcom/android/server/print/UserState;->prunePrintServices()V
-HSPLcom/android/server/print/UserState;->readInstalledPrintServicesLocked()V
-HSPLcom/android/server/print/UserState;->readPrintServicesFromSettingLocked(Ljava/lang/String;Ljava/util/Set;)V
+PLcom/android/server/print/UserState;->onPrintServicesChanged()V
+PLcom/android/server/print/UserState;->prunePrintServices()V
+PLcom/android/server/print/UserState;->readConfigurationLocked()V
+PLcom/android/server/print/UserState;->readDisabledPrintServicesLocked()V
+PLcom/android/server/print/UserState;->readInstalledPrintServicesLocked()V
+PLcom/android/server/print/UserState;->readPrintServicesFromSettingLocked(Ljava/lang/String;Ljava/util/Set;)V
+PLcom/android/server/print/UserState;->removeObsoletePrintJobs()V
+PLcom/android/server/print/UserState;->throwIfDestroyedLocked()V
PLcom/android/server/print/UserState;->updateIfNeededLocked()V
-HSPLcom/android/server/print/UserState;->upgradePersistentStateIfNeeded()V
-HSPLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;->hasRestrictionsProvider()Z
-HSPLcom/android/server/restrictions/RestrictionsManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/restrictions/RestrictionsManagerService;->onStart()V
-HSPLcom/android/server/role/-$$Lambda$RoleManagerService$AXCXpHePiVLmuonnO-Vwoq0TpKQ;->accept(Ljava/lang/Object;)V
-PLcom/android/server/role/-$$Lambda$RoleManagerService$DefaultHomeProvider$XNZIxv1rt576FrXWCq2-pm3TJPg;->onResult(Landroid/os/Bundle;)V
-HSPLcom/android/server/role/-$$Lambda$RoleManagerService$fFhedpUuSpSjKJZ9TlWFGJ-_xeo;-><init>()V
-HSPLcom/android/server/role/-$$Lambda$RoleManagerService$fFhedpUuSpSjKJZ9TlWFGJ-_xeo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/role/-$$Lambda$RoleManagerService$rhPnAyxD4OKoR2nprS9wiayfZjw;->acceptOrThrow(Ljava/lang/Object;)V
-HSPLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;-><init>()V
-HSPLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/role/RoleManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/role/RoleManagerService$DefaultBrowserProvider;->getDefaultBrowser(I)Ljava/lang/String;
-HSPLcom/android/server/role/RoleManagerService$DefaultHomeProvider;->getDefaultHome(I)Ljava/lang/String;
-PLcom/android/server/role/RoleManagerService$DefaultHomeProvider;->setDefaultHomeAsync(Ljava/lang/String;I)V
-HSPLcom/android/server/role/RoleManagerService$Stub;->addOnRoleHoldersChangedListenerAsUser(Landroid/app/role/IOnRoleHoldersChangedListener;I)V
-HSPLcom/android/server/role/RoleManagerService$Stub;->addRoleHolderFromController(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/role/RoleManagerService$Stub;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/role/RoleManagerService$Stub;->getDefaultSmsPackage(I)Ljava/lang/String;
-HSPLcom/android/server/role/RoleManagerService$Stub;->getHeldRolesFromController(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/role/RoleManagerService$Stub;->getRoleHoldersAsUser(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/server/role/RoleManagerService$Stub;->isRoleAvailable(Ljava/lang/String;)Z
-HSPLcom/android/server/role/RoleManagerService$Stub;->removeRoleHolderFromController(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/role/RoleManagerService$Stub;->setRoleNamesFromController(Ljava/util/List;)V
-HSPLcom/android/server/role/RoleManagerService;-><init>(Landroid/content/Context;Lcom/android/server/role/RoleManagerService$RoleHoldersResolver;)V
-HSPLcom/android/server/role/RoleManagerService;->computeComponentStateHash(I)Ljava/lang/String;
-HSPLcom/android/server/role/RoleManagerService;->getListeners(I)Landroid/os/RemoteCallbackList;
-HSPLcom/android/server/role/RoleManagerService;->getOrCreateControllerService(I)Landroid/app/role/RoleControllerManager;
-HSPLcom/android/server/role/RoleManagerService;->getOrCreateListeners(I)Landroid/os/RemoteCallbackList;
-HSPLcom/android/server/role/RoleManagerService;->getOrCreateUserState(I)Lcom/android/server/role/RoleUserState;
-HSPLcom/android/server/role/RoleManagerService;->lambda$computeComponentStateHash$1(Ljava/io/ByteArrayOutputStream;Landroid/content/pm/PackageManagerInternal;ILandroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/role/RoleManagerService;->migrateRoleIfNecessary(Ljava/lang/String;I)V
-HSPLcom/android/server/role/RoleManagerService;->notifyRoleHoldersChangedForListeners(Landroid/os/RemoteCallbackList;Ljava/lang/String;I)V
-HSPLcom/android/server/role/RoleManagerService;->onRoleHoldersChanged(Ljava/lang/String;I)V
-HSPLcom/android/server/role/RoleManagerService;->onStart()V
-HSPLcom/android/server/role/RoleManagerService;->onStartUser(I)V
-HSPLcom/android/server/role/RoleManagerService;->performInitialGrantsIfNecessary(I)V
-HSPLcom/android/server/role/RoleUserState;-><init>(ILcom/android/server/role/RoleUserState$Callback;)V
-HSPLcom/android/server/role/RoleUserState;->addRoleHolder(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/role/RoleUserState;->addRoleName(Ljava/lang/String;)Z
-PLcom/android/server/role/RoleUserState;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/role/RoleUserState;->getHeldRoles(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/role/RoleUserState;->getPackagesHash()Ljava/lang/String;
-HSPLcom/android/server/role/RoleUserState;->getRoleHolders(Ljava/lang/String;)Landroid/util/ArraySet;
-HSPLcom/android/server/role/RoleUserState;->isRoleAvailable(Ljava/lang/String;)Z
-HSPLcom/android/server/role/RoleUserState;->parseRoleHoldersLocked(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/ArraySet;
-HSPLcom/android/server/role/RoleUserState;->parseRolesLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/role/RoleUserState;->parseXmlLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/role/RoleUserState;->readFile()V
-HSPLcom/android/server/role/RoleUserState;->removeRoleHolder(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/role/RoleUserState;->scheduleWriteFileLocked()V
-HSPLcom/android/server/role/RoleUserState;->serializeRoles(Lorg/xmlpull/v1/XmlSerializer;ILjava/lang/String;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/role/RoleUserState;->setPackagesHash(Ljava/lang/String;)V
-HSPLcom/android/server/role/RoleUserState;->setRoleNames(Ljava/util/List;)V
-HSPLcom/android/server/role/RoleUserState;->snapshotRolesLocked()Landroid/util/ArrayMap;
-HSPLcom/android/server/role/RoleUserState;->throwIfDestroyedLocked()V
-HSPLcom/android/server/role/RoleUserState;->writeFile()V
-HSPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$2_NDf9EpLcTKkJVpkadZhudKips;->run()V
-HSPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;->run()V
-HSPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$7mIH_4Cm4A-tqsIceQEQSUp2ycU;->run()V
-HSPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$dWP3a0DA6Sn9vs01tikxWWbZIZs;->run()V
-PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$mJNIXm_c6MQdH60jiRiYOGk2vQs;->run()V
-HSPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$pS5jbfXLgvSVqxzjSkJaMnydaOY;->run()V
-HSPLcom/android/server/rollback/AppDataRollbackHelper;->commitPendingBackupAndRestoreForUser(ILjava/util/List;)Ljava/util/Set;
-HSPLcom/android/server/rollback/AppDataRollbackHelper;->computePendingBackups(ILjava/util/Map;Ljava/util/List;)Ljava/util/List;
-HSPLcom/android/server/rollback/AppDataRollbackHelper;->computePendingRestores(ILjava/util/Map;Ljava/util/List;)Ljava/util/List;
-HSPLcom/android/server/rollback/AppDataRollbackHelper;->destroyAppDataSnapshot(ILandroid/content/rollback/PackageRollbackInfo;I)V
-HSPLcom/android/server/rollback/RollbackData;->isStaged()Z
-HSPLcom/android/server/rollback/RollbackData;->rollbackStateFromString(Ljava/lang/String;)I
-HSPLcom/android/server/rollback/RollbackData;->rollbackStateToString(I)Ljava/lang/String;
-HSPLcom/android/server/rollback/RollbackManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/rollback/RollbackManagerService;->onBootPhase(I)V
-HSPLcom/android/server/rollback/RollbackManagerService;->onStart()V
-HSPLcom/android/server/rollback/RollbackManagerService;->onUnlockUser(I)V
-PLcom/android/server/rollback/RollbackManagerServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/print/UserState;->upgradePersistentStateIfNeeded()V
+PLcom/android/server/protolog/-$$Lambda$ProtoLogImpl$W1-9aFv3AkmuxF_FKhP3IYl2IMA;-><clinit>()V
+PLcom/android/server/protolog/-$$Lambda$ProtoLogImpl$W1-9aFv3AkmuxF_FKhP3IYl2IMA;-><init>()V
+PLcom/android/server/protolog/-$$Lambda$QtQzaT3jZ03CdC3RGYitrH7aUYo;-><clinit>()V
+PLcom/android/server/protolog/-$$Lambda$QtQzaT3jZ03CdC3RGYitrH7aUYo;-><init>()V
+PLcom/android/server/protolog/ProtoLog$Cache;-><clinit>()V
+PLcom/android/server/protolog/ProtoLog$Cache;->update()V
+PLcom/android/server/protolog/ProtoLogImpl$1;-><clinit>()V
+PLcom/android/server/protolog/ProtoLogImpl$LogLevel;-><clinit>()V
+PLcom/android/server/protolog/ProtoLogImpl$LogLevel;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/protolog/ProtoLogImpl$LogLevel;->values()[Lcom/android/server/protolog/ProtoLogImpl$LogLevel;
+PLcom/android/server/protolog/ProtoLogImpl;-><clinit>()V
+PLcom/android/server/protolog/ProtoLogImpl;-><init>(Ljava/io/File;ILcom/android/server/protolog/ProtoLogViewerConfigReader;)V
+PLcom/android/server/protolog/ProtoLogImpl;->addLogGroupEnum([Lcom/android/server/protolog/common/IProtoLogGroup;)V
+PLcom/android/server/protolog/ProtoLogImpl;->getSingleInstance()Lcom/android/server/protolog/ProtoLogImpl;
+PLcom/android/server/protolog/ProtoLogImpl;->i(Lcom/android/server/protolog/common/IProtoLogGroup;IILjava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/protolog/ProtoLogImpl;->isEnabled(Lcom/android/server/protolog/common/IProtoLogGroup;)Z
+PLcom/android/server/protolog/ProtoLogImpl;->isProtoEnabled()Z
+PLcom/android/server/protolog/ProtoLogImpl;->log(Lcom/android/server/protolog/ProtoLogImpl$LogLevel;Lcom/android/server/protolog/common/IProtoLogGroup;IILjava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/protolog/ProtoLogImpl;->logToLogcat(Ljava/lang/String;Lcom/android/server/protolog/ProtoLogImpl$LogLevel;ILjava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/protolog/ProtoLogImpl;->logToProto(II[Ljava/lang/Object;)V
+PLcom/android/server/protolog/ProtoLogImpl;->passToLogcat(Ljava/lang/String;Lcom/android/server/protolog/ProtoLogImpl$LogLevel;Ljava/lang/String;)V
+PLcom/android/server/protolog/ProtoLogImpl;->w(Lcom/android/server/protolog/common/IProtoLogGroup;IILjava/lang/String;[Ljava/lang/Object;)V
+PLcom/android/server/protolog/ProtoLogViewerConfigReader;-><init>()V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Injector;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Injector;->getContext()Landroid/content/Context;
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;->onStart()V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><clinit>()V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Landroid/content/Context;Lcom/android/server/recoverysystem/RecoverySystemService$1;)V
+HSPLcom/android/server/recoverysystem/RecoverySystemService;-><init>(Lcom/android/server/recoverysystem/RecoverySystemService$Injector;)V
+PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;-><init>(Lcom/android/server/restrictions/RestrictionsManagerService;Landroid/content/Context;)V
+PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
+PLcom/android/server/restrictions/RestrictionsManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/restrictions/RestrictionsManagerService;->access$000(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/restrictions/RestrictionsManagerService;->access$100(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/restrictions/RestrictionsManagerService;->onStart()V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$4FcQsmMH6Dhstzx5gl80tO2TkTw;-><init>(Lcom/android/server/role/RoleUserState;Ljava/lang/String;Lcom/android/internal/infra/AndroidFuture;)V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$4FcQsmMH6Dhstzx5gl80tO2TkTw;->accept(Ljava/lang/Object;)V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$p0uu3WH3gz96-kAWnyu6IUHMtCg;-><init>(Lcom/android/server/role/RoleManagerService;I)V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$p0uu3WH3gz96-kAWnyu6IUHMtCg;->run()V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$yVFztdrozAp4bKcUjiC_bJnBKzE;-><init>(Ljava/io/ByteArrayOutputStream;Landroid/content/pm/PackageManagerInternal;I)V
+HPLcom/android/server/role/-$$Lambda$RoleManagerService$yVFztdrozAp4bKcUjiC_bJnBKzE;->acceptOrThrow(Ljava/lang/Object;)V
+PLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;-><clinit>()V
+PLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;-><init>()V
+PLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;->accept(Ljava/lang/Object;)V
+PLcom/android/server/role/RoleManagerInternal;-><init>()V
+PLcom/android/server/role/RoleManagerService$1;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$2;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/role/RoleManagerService$DefaultBrowserProvider;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$DefaultBrowserProvider;-><init>(Lcom/android/server/role/RoleManagerService;Lcom/android/server/role/RoleManagerService$1;)V
+PLcom/android/server/role/RoleManagerService$DefaultBrowserProvider;->getDefaultBrowser(I)Ljava/lang/String;
+PLcom/android/server/role/RoleManagerService$DefaultDialerProvider;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$DefaultDialerProvider;-><init>(Lcom/android/server/role/RoleManagerService;Lcom/android/server/role/RoleManagerService$1;)V
+PLcom/android/server/role/RoleManagerService$DefaultDialerProvider;->getDefaultDialer(I)Ljava/lang/String;
+PLcom/android/server/role/RoleManagerService$DefaultHomeProvider;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$DefaultHomeProvider;-><init>(Lcom/android/server/role/RoleManagerService;Lcom/android/server/role/RoleManagerService$1;)V
+PLcom/android/server/role/RoleManagerService$DefaultHomeProvider;->getDefaultHome(I)Ljava/lang/String;
+PLcom/android/server/role/RoleManagerService$Internal;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$Internal;-><init>(Lcom/android/server/role/RoleManagerService;Lcom/android/server/role/RoleManagerService$1;)V
+PLcom/android/server/role/RoleManagerService$Stub;-><init>(Lcom/android/server/role/RoleManagerService;)V
+PLcom/android/server/role/RoleManagerService$Stub;-><init>(Lcom/android/server/role/RoleManagerService;Lcom/android/server/role/RoleManagerService$1;)V
+PLcom/android/server/role/RoleManagerService$Stub;->addOnRoleHoldersChangedListenerAsUser(Landroid/app/role/IOnRoleHoldersChangedListener;I)V
+PLcom/android/server/role/RoleManagerService$Stub;->getDefaultSmsPackage(I)Ljava/lang/String;
+PLcom/android/server/role/RoleManagerService$Stub;->getRoleHoldersAsUser(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/role/RoleManagerService$Stub;->handleIncomingUser(IZLjava/lang/String;)I
+PLcom/android/server/role/RoleManagerService$Stub;->isRoleAvailable(Ljava/lang/String;)Z
+PLcom/android/server/role/RoleManagerService$Stub;->setRoleNamesFromController(Ljava/util/List;)V
+PLcom/android/server/role/RoleManagerService;-><clinit>()V
+PLcom/android/server/role/RoleManagerService;-><init>(Landroid/content/Context;Lcom/android/server/role/RoleManagerService$RoleHoldersResolver;)V
+PLcom/android/server/role/RoleManagerService;->access$1200(Lcom/android/server/role/RoleManagerService;I)Landroid/os/RemoteCallbackList;
+PLcom/android/server/role/RoleManagerService;->access$700(Lcom/android/server/role/RoleManagerService;I)Lcom/android/server/role/RoleUserState;
+PLcom/android/server/role/RoleManagerService;->access$900(Lcom/android/server/role/RoleManagerService;)Landroid/os/UserManagerInternal;
+PLcom/android/server/role/RoleManagerService;->computeComponentStateHash(I)Ljava/lang/String;
+PLcom/android/server/role/RoleManagerService;->getOrCreateController(I)Landroid/app/role/RoleControllerManager;
+PLcom/android/server/role/RoleManagerService;->getOrCreateListeners(I)Landroid/os/RemoteCallbackList;
+HPLcom/android/server/role/RoleManagerService;->getOrCreateUserState(I)Lcom/android/server/role/RoleUserState;
+HPLcom/android/server/role/RoleManagerService;->lambda$computeComponentStateHash$2(Ljava/io/ByteArrayOutputStream;Landroid/content/pm/PackageManagerInternal;ILandroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/role/RoleManagerService;->lambda$maybeGrantDefaultRolesAsync$0$RoleManagerService(I)V
+PLcom/android/server/role/RoleManagerService;->lambda$maybeGrantDefaultRolesInternal$1(Lcom/android/server/role/RoleUserState;Ljava/lang/String;Lcom/android/internal/infra/AndroidFuture;Ljava/lang/Boolean;)V
+PLcom/android/server/role/RoleManagerService;->maybeGrantDefaultRolesAsync(I)V
+HPLcom/android/server/role/RoleManagerService;->maybeGrantDefaultRolesInternal(I)Lcom/android/internal/infra/AndroidFuture;
+PLcom/android/server/role/RoleManagerService;->maybeGrantDefaultRolesSync(I)V
+HPLcom/android/server/role/RoleManagerService;->maybeMigrateRole(Ljava/lang/String;I)V
+PLcom/android/server/role/RoleManagerService;->onStart()V
+PLcom/android/server/role/RoleManagerService;->onStartUser(I)V
+PLcom/android/server/role/RoleManagerService;->registerUserRemovedReceiver()V
+PLcom/android/server/role/RoleUserState;-><clinit>()V
+PLcom/android/server/role/RoleUserState;-><init>(ILcom/android/server/role/RoleUserState$Callback;)V
+HPLcom/android/server/role/RoleUserState;->addRoleName(Ljava/lang/String;)Z
+PLcom/android/server/role/RoleUserState;->getFile(I)Ljava/io/File;
+PLcom/android/server/role/RoleUserState;->getPackagesHash()Ljava/lang/String;
+HPLcom/android/server/role/RoleUserState;->getRoleHolders(Ljava/lang/String;)Landroid/util/ArraySet;
+HPLcom/android/server/role/RoleUserState;->isRoleAvailable(Ljava/lang/String;)Z
+PLcom/android/server/role/RoleUserState;->parseRoleHoldersLocked(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/ArraySet;
+PLcom/android/server/role/RoleUserState;->parseRolesLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/role/RoleUserState;->parseXmlLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/role/RoleUserState;->readFile()V
+PLcom/android/server/role/RoleUserState;->serializeRoles(Lorg/xmlpull/v1/XmlSerializer;ILjava/lang/String;Landroid/util/ArrayMap;)V
+PLcom/android/server/role/RoleUserState;->setPackagesHash(Ljava/lang/String;)V
+PLcom/android/server/role/RoleUserState;->setRoleNames(Ljava/util/List;)V
+PLcom/android/server/role/RoleUserState;->snapshotRolesLocked()Landroid/util/ArrayMap;
+PLcom/android/server/role/RoleUserState;->writeFile()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$58BbNzpzWX_z-GzhKXpdGPwKcIU;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$58BbNzpzWX_z-GzhKXpdGPwKcIU;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$Be1hJgd8PbSLFX_uKif2yCGhtKo;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;ILjava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$Be1hJgd8PbSLFX_uKif2yCGhtKo;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackPackageHealthObserver$AIuzQKXcl9vSW9YzEpmdp7QJz1M;-><init>(Lcom/android/server/rollback/RollbackPackageHealthObserver;)V
+PLcom/android/server/rollback/-$$Lambda$RollbackPackageHealthObserver$AIuzQKXcl9vSW9YzEpmdp7QJz1M;->run()V
+PLcom/android/server/rollback/AppDataRollbackHelper;-><init>(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/rollback/RollbackManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerService;->onBootPhase(I)V
+PLcom/android/server/rollback/RollbackManagerService;->onStart()V
+PLcom/android/server/rollback/RollbackManagerService;->onUnlockUser(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$1;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$2;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$3;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$4;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$5;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;-><init>(Lcom/android/server/rollback/RollbackManagerServiceImpl;Lcom/android/server/rollback/RollbackManagerServiceImpl$1;)V
PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onActiveChanged(IZ)V
PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onCreated(I)V
PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onFinished(IZ)V
PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onProgressChanged(IF)V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->completeEnableRollback(IZ)Lcom/android/server/rollback/RollbackData;
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->deleteRollback(Lcom/android/server/rollback/RollbackData;)V
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;-><clinit>()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->access$1000()J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->access$1100(Lcom/android/server/rollback/RollbackManagerServiceImpl;)Ljava/util/List;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->access$300(Lcom/android/server/rollback/RollbackManagerServiceImpl;)Ljava/lang/Object;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->access$700(Lcom/android/server/rollback/RollbackManagerServiceImpl;Ljava/lang/String;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->access$900(Lcom/android/server/rollback/RollbackManagerServiceImpl;)J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->access$902(Lcom/android/server/rollback/RollbackManagerServiceImpl;J)J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->calculateRelativeBootTime()J
PLcom/android/server/rollback/RollbackManagerServiceImpl;->enforceManageRollbacks(Ljava/lang/String;)V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->ensureRollbackDataLoaded()V
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->expireRollbackForPackage(Ljava/lang/String;)V
PLcom/android/server/rollback/RollbackManagerServiceImpl;->getAvailableRollbacks()Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->getInstalledPackageVersion(Ljava/lang/String;)Landroid/content/pm/VersionedPackage;
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$new$0$RollbackManagerServiceImpl()V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$6$RollbackManagerServiceImpl()V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$7$RollbackManagerServiceImpl()V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$5$RollbackManagerServiceImpl(I)V
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$restoreUserData$9$RollbackManagerServiceImpl(Ljava/lang/String;[IIJLjava/lang/String;I)V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$scheduleExpiration$8$RollbackManagerServiceImpl()V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->loadAllRollbackDataLocked()V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->onBootCompleted()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getHandler()Landroid/os/Handler;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getInstalledPackageVersion(Ljava/lang/String;)J
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$5$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$6$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$4$RollbackManagerServiceImpl(ILjava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$scheduleExpiration$7$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onBootCompleted()V
PLcom/android/server/rollback/RollbackManagerServiceImpl;->onPackageReplaced(Ljava/lang/String;)V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->onUnlockUser(I)V
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->restoreUserData(Ljava/lang/String;[IIJLjava/lang/String;I)V
-PLcom/android/server/rollback/RollbackManagerServiceImpl;->restoreUserDataInternal(Ljava/lang/String;[IIJLjava/lang/String;I)V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->runExpiration()V
-HSPLcom/android/server/rollback/RollbackManagerServiceImpl;->saveRollbackData(Lcom/android/server/rollback/RollbackData;)V
-HSPLcom/android/server/rollback/RollbackPackageHealthObserver;-><init>(Landroid/content/Context;)V
-PLcom/android/server/rollback/RollbackPackageHealthObserver;->execute(Landroid/content/pm/VersionedPackage;)Z
-PLcom/android/server/rollback/RollbackPackageHealthObserver;->getAvailableRollback(Landroid/content/rollback/RollbackManager;Landroid/content/pm/VersionedPackage;Landroid/content/pm/VersionedPackage;)Landroid/util/Pair;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onUnlockUser(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->registerTimeChangeReceiver()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->registerUserCallbacks(Landroid/os/UserHandle;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->runExpiration()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->scheduleExpiration(J)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->updateRollbackLifetimeDurationInMillis()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;-><clinit>()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->getAvailableRollback(Landroid/content/rollback/RollbackManager;Landroid/content/pm/VersionedPackage;)Landroid/content/rollback/RollbackInfo;
PLcom/android/server/rollback/RollbackPackageHealthObserver;->getModuleMetadataPackage()Landroid/content/pm/VersionedPackage;
-HSPLcom/android/server/rollback/RollbackPackageHealthObserver;->getName()Ljava/lang/String;
-HSPLcom/android/server/rollback/RollbackPackageHealthObserver;->onBootCompleted()V
-HSPLcom/android/server/rollback/RollbackPackageHealthObserver;->popLastStagedRollbackId()I
-HSPLcom/android/server/rollback/RollbackStore;->ceSnapshotInodesFromJson(Lorg/json/JSONArray;)Landroid/util/SparseLongArray;
-HSPLcom/android/server/rollback/RollbackStore;->ceSnapshotInodesToJson(Landroid/util/SparseLongArray;)Lorg/json/JSONArray;
-HSPLcom/android/server/rollback/RollbackStore;->convertToIntArray(Lorg/json/JSONArray;)Landroid/util/IntArray;
-HSPLcom/android/server/rollback/RollbackStore;->convertToJsonArray(Ljava/util/List;)Lorg/json/JSONArray;
-HSPLcom/android/server/rollback/RollbackStore;->convertToRestoreInfoArray(Lorg/json/JSONArray;)Ljava/util/ArrayList;
-HSPLcom/android/server/rollback/RollbackStore;->deleteRollbackData(Lcom/android/server/rollback/RollbackData;)V
-HSPLcom/android/server/rollback/RollbackStore;->loadAllRollbackData()Ljava/util/List;
-HSPLcom/android/server/rollback/RollbackStore;->loadRollbackData(Ljava/io/File;)Lcom/android/server/rollback/RollbackData;
-HSPLcom/android/server/rollback/RollbackStore;->packageRollbackInfoFromJson(Lorg/json/JSONObject;)Landroid/content/rollback/PackageRollbackInfo;
-HSPLcom/android/server/rollback/RollbackStore;->rollbackInfoFromJson(Lorg/json/JSONObject;)Landroid/content/rollback/RollbackInfo;
-HSPLcom/android/server/rollback/RollbackStore;->rollbackInfoToJson(Landroid/content/rollback/RollbackInfo;)Lorg/json/JSONObject;
-HSPLcom/android/server/rollback/RollbackStore;->saveRollbackData(Lcom/android/server/rollback/RollbackData;)V
-HSPLcom/android/server/rollback/RollbackStore;->toJson(Landroid/content/rollback/PackageRollbackInfo;)Lorg/json/JSONObject;
-HSPLcom/android/server/search/SearchManagerService$Lifecycle$1;->run()V
-HSPLcom/android/server/search/SearchManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/search/SearchManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/search/SearchManagerService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onSomePackagesChanged()V
-HSPLcom/android/server/search/SearchManagerService$MyPackageMonitor;->updateSearchables()V
-HSPLcom/android/server/search/SearchManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/search/SearchManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/search/SearchManagerService;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-HSPLcom/android/server/search/SearchManagerService;->getSearchables(IZ)Lcom/android/server/search/Searchables;
-HSPLcom/android/server/search/SearchManagerService;->onUnlockUser(I)V
-HSPLcom/android/server/search/Searchables$1;-><init>()V
-PLcom/android/server/search/Searchables;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/search/Searchables;->findWebSearchActivity(Landroid/content/ComponentName;)Landroid/content/ComponentName;
-HSPLcom/android/server/search/Searchables;->getDefaultGlobalSearchProvider(Ljava/util/List;)Landroid/content/ComponentName;
-PLcom/android/server/search/Searchables;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-HSPLcom/android/server/search/Searchables;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
-HSPLcom/android/server/search/Searchables;->updateSearchableList()V
-HSPLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->getModuleMetadataPackageName()Ljava/lang/String;
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->getName()Ljava/lang/String;
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->lambda$onBootCompletedAsync$2$RollbackPackageHealthObserver()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->onBootCompleted()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->onBootCompletedAsync()V
+PLcom/android/server/rollback/RollbackPackageHealthObserver;->popLastStagedRollbackId()I
+PLcom/android/server/rollback/RollbackStore;-><init>(Ljava/io/File;)V
+PLcom/android/server/rollback/RollbackStore;->loadRollbacks()Ljava/util/List;
+PLcom/android/server/search/SearchManagerService$GlobalSearchProviderObserver;-><init>(Lcom/android/server/search/SearchManagerService;Landroid/content/ContentResolver;)V
+PLcom/android/server/search/SearchManagerService$Lifecycle$1;-><init>(Lcom/android/server/search/SearchManagerService$Lifecycle;I)V
+PLcom/android/server/search/SearchManagerService$Lifecycle$1;->run()V
+PLcom/android/server/search/SearchManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/search/SearchManagerService$Lifecycle;->onStart()V
+PLcom/android/server/search/SearchManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/search/SearchManagerService$MyPackageMonitor;-><init>(Lcom/android/server/search/SearchManagerService;)V
+PLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onSomePackagesChanged()V
+PLcom/android/server/search/SearchManagerService$MyPackageMonitor;->updateSearchables()V
+PLcom/android/server/search/SearchManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/search/SearchManagerService;->getSearchables(IZ)Lcom/android/server/search/Searchables;
+PLcom/android/server/search/SearchManagerService;->onUnlockUser(I)V
+PLcom/android/server/search/Searchables$1;-><init>()V
+PLcom/android/server/search/Searchables;-><clinit>()V
+PLcom/android/server/search/Searchables;-><init>(Landroid/content/Context;I)V
+HPLcom/android/server/search/Searchables;->findGlobalSearchActivities()Ljava/util/List;
+HPLcom/android/server/search/Searchables;->findGlobalSearchActivity(Ljava/util/List;)Landroid/content/ComponentName;
+PLcom/android/server/search/Searchables;->findWebSearchActivity(Landroid/content/ComponentName;)Landroid/content/ComponentName;
+PLcom/android/server/search/Searchables;->getDefaultGlobalSearchProvider(Ljava/util/List;)Landroid/content/ComponentName;
+HPLcom/android/server/search/Searchables;->getGlobalSearchProviderSetting()Ljava/lang/String;
+PLcom/android/server/search/Searchables;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
+HPLcom/android/server/search/Searchables;->updateSearchableList()V
+PLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V
PLcom/android/server/security/KeyAttestationApplicationIdProviderService;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId;
-HSPLcom/android/server/security/KeyChainSystemService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/security/KeyChainSystemService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/security/KeyChainSystemService;->onStart()V
+PLcom/android/server/security/KeyChainSystemService$1;-><init>(Lcom/android/server/security/KeyChainSystemService;)V
+PLcom/android/server/security/KeyChainSystemService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/security/KeyChainSystemService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/security/KeyChainSystemService;->onStart()V
PLcom/android/server/security/KeyChainSystemService;->startServiceInBackgroundAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
+PLcom/android/server/security/VerityUtils$SetupResult;-><init>(ILjava/io/FileDescriptor;I)V
PLcom/android/server/security/VerityUtils$SetupResult;->getContentSize()I
PLcom/android/server/security/VerityUtils$SetupResult;->getUnownedFileDescriptor()Ljava/io/FileDescriptor;
PLcom/android/server/security/VerityUtils$SetupResult;->isFailed()Z
PLcom/android/server/security/VerityUtils$SetupResult;->isOk()Z
+PLcom/android/server/security/VerityUtils$SetupResult;->ok(Ljava/io/FileDescriptor;I)Lcom/android/server/security/VerityUtils$SetupResult;
+PLcom/android/server/security/VerityUtils$SetupResult;->skipped()Lcom/android/server/security/VerityUtils$SetupResult;
+PLcom/android/server/security/VerityUtils$TrackedShmBufferFactory;-><init>()V
+PLcom/android/server/security/VerityUtils$TrackedShmBufferFactory;-><init>(Lcom/android/server/security/VerityUtils$1;)V
PLcom/android/server/security/VerityUtils$TrackedShmBufferFactory;->create(I)Ljava/nio/ByteBuffer;
+PLcom/android/server/security/VerityUtils$TrackedShmBufferFactory;->getBufferLimit()I
+PLcom/android/server/security/VerityUtils$TrackedShmBufferFactory;->releaseSharedMemory()Landroid/os/SharedMemory;
+HSPLcom/android/server/security/VerityUtils;->generateApkVerityRootHash(Ljava/lang/String;)[B
PLcom/android/server/security/VerityUtils;->generateApkVeritySetupData(Ljava/lang/String;)Lcom/android/server/security/VerityUtils$SetupResult;
PLcom/android/server/security/VerityUtils;->generateFsVerityIntoSharedMemory(Ljava/lang/String;[B)Landroid/util/Pair;
-PLcom/android/server/signedconfig/GlobalSettingsConfigApplicator;->applyConfig(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/signedconfig/GlobalSettingsConfigApplicator;->checkSignature(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/signedconfig/GlobalSettingsConfigApplicator;->makeMap([Ljava/lang/Object;)Ljava/util/Map;
-PLcom/android/server/signedconfig/GlobalSettingsConfigApplicator;->updateCurrentConfig(ILjava/util/Map;)V
-PLcom/android/server/signedconfig/SignatureVerifier;->createKey(Ljava/lang/String;)Ljava/security/PublicKey;
-PLcom/android/server/signedconfig/SignatureVerifier;->verifySignature(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/signedconfig/SignedConfig;->getMatchingConfig(I)Lcom/android/server/signedconfig/SignedConfig$PerSdkConfig;
-PLcom/android/server/signedconfig/SignedConfig;->parse(Ljava/lang/String;Ljava/util/Set;Ljava/util/Map;)Lcom/android/server/signedconfig/SignedConfig;
-PLcom/android/server/signedconfig/SignedConfig;->parsePerSdkConfig(Lorg/json/JSONObject;Ljava/util/Set;Ljava/util/Map;)Lcom/android/server/signedconfig/SignedConfig$PerSdkConfig;
+PLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;-><init>()V
+PLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;-><init>(Lcom/android/server/signedconfig/SignedConfigService$1;)V
PLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
PLcom/android/server/signedconfig/SignedConfigService;->handlePackageBroadcast(Landroid/content/Intent;)V
-HSPLcom/android/server/signedconfig/SignedConfigService;->registerUpdateReceiver(Landroid/content/Context;)V
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$2PaYhOaggf1E5xg82LTTEwxmLE4;-><init>()V
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$2PaYhOaggf1E5xg82LTTEwxmLE4;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$KzxFkvfomRuMb5PD8_pIHDIhUUE;->binderDied()V
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;->run()V
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$j_JfEZwPCa729MjgsTSd8MAItIw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$t5Vl61Ns1u_83c4ri7920sczEu0;->run()V
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$vxnx7v9Z67Tj9aywVmtdX48br1M;-><init>()V
-HSPLcom/android/server/slice/-$$Lambda$PinnedSliceState$vxnx7v9Z67Tj9aywVmtdX48br1M;->apply(I)Ljava/lang/Object;
-HSPLcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;->get()Ljava/lang/Object;
-HSPLcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;->get()Ljava/lang/Object;
-HSPLcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;->run()V
+PLcom/android/server/signedconfig/SignedConfigService;->registerUpdateReceiver(Landroid/content/Context;)V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$KzxFkvfomRuMb5PD8_pIHDIhUUE;-><init>(Lcom/android/server/slice/PinnedSliceState;)V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;-><init>(Lcom/android/server/slice/PinnedSliceState;)V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;->run()V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$t5Vl61Ns1u_83c4ri7920sczEu0;-><init>(Lcom/android/server/slice/PinnedSliceState;)V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$t5Vl61Ns1u_83c4ri7920sczEu0;->run()V
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;-><init>(Lcom/android/server/slice/SliceManagerService;I)V
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;->get()Ljava/lang/Object;
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;-><init>(Lcom/android/server/slice/SliceManagerService;I)V
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;->get()Ljava/lang/Object;
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;-><init>(Lcom/android/server/slice/SliceManagerService;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;->run()V
+PLcom/android/server/slice/-$$Lambda$SlicePermissionManager$y3Tun5dTftw8s8sky62syeWR34U;-><clinit>()V
PLcom/android/server/slice/-$$Lambda$SlicePermissionManager$y3Tun5dTftw8s8sky62syeWR34U;-><init>()V
-HSPLcom/android/server/slice/PinnedSliceState;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/slice/PinnedSliceState;-><init>(Lcom/android/server/slice/SliceManagerService;Landroid/net/Uri;Ljava/lang/String;)V
-HSPLcom/android/server/slice/PinnedSliceState;->destroy()V
-HSPLcom/android/server/slice/PinnedSliceState;->getClient()Landroid/content/ContentProviderClient;
-HSPLcom/android/server/slice/PinnedSliceState;->getPkg()Ljava/lang/String;
-HSPLcom/android/server/slice/PinnedSliceState;->getSpecs()[Landroid/app/slice/SliceSpec;
-HSPLcom/android/server/slice/PinnedSliceState;->getUri()Landroid/net/Uri;
-HSPLcom/android/server/slice/PinnedSliceState;->handleRecheckListeners()V
-HSPLcom/android/server/slice/PinnedSliceState;->handleSendPinned()V
-HSPLcom/android/server/slice/PinnedSliceState;->handleSendUnpinned()V
-HSPLcom/android/server/slice/PinnedSliceState;->hasPinOrListener()Z
-HSPLcom/android/server/slice/PinnedSliceState;->lambda$mergeSpecs$0$PinnedSliceState([Landroid/app/slice/SliceSpec;Landroid/app/slice/SliceSpec;)Landroid/app/slice/SliceSpec;
-HSPLcom/android/server/slice/PinnedSliceState;->mergeSpecs([Landroid/app/slice/SliceSpec;)V
-HSPLcom/android/server/slice/PinnedSliceState;->pin(Ljava/lang/String;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-HSPLcom/android/server/slice/PinnedSliceState;->setSlicePinned(Z)V
-HSPLcom/android/server/slice/PinnedSliceState;->unpin(Ljava/lang/String;Landroid/os/IBinder;)Z
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->addPath(Ljava/util/List;)V
+PLcom/android/server/slice/PinnedSliceState$ListenerInfo;-><init>(Lcom/android/server/slice/PinnedSliceState;Landroid/os/IBinder;Ljava/lang/String;ZII)V
+PLcom/android/server/slice/PinnedSliceState;-><init>(Lcom/android/server/slice/SliceManagerService;Landroid/net/Uri;Ljava/lang/String;)V
+PLcom/android/server/slice/PinnedSliceState;->getClient()Landroid/content/ContentProviderClient;
+PLcom/android/server/slice/PinnedSliceState;->getPkg()Ljava/lang/String;
+PLcom/android/server/slice/PinnedSliceState;->getSpecs()[Landroid/app/slice/SliceSpec;
+PLcom/android/server/slice/PinnedSliceState;->getUri()Landroid/net/Uri;
+PLcom/android/server/slice/PinnedSliceState;->handleSendPinned()V
+PLcom/android/server/slice/PinnedSliceState;->handleSendUnpinned()V
+PLcom/android/server/slice/PinnedSliceState;->hasPinOrListener()Z
+PLcom/android/server/slice/PinnedSliceState;->lambda$TZdoqC_LDA8If7sQ7WXz9LM6VHg(Lcom/android/server/slice/PinnedSliceState;)V
+PLcom/android/server/slice/PinnedSliceState;->mergeSpecs([Landroid/app/slice/SliceSpec;)V
+PLcom/android/server/slice/PinnedSliceState;->pin(Ljava/lang/String;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
+PLcom/android/server/slice/PinnedSliceState;->setSlicePinned(Z)V
+PLcom/android/server/slice/PinnedSliceState;->unpin(Ljava/lang/String;Landroid/os/IBinder;)Z
+PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;-><init>(Ljava/lang/String;Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/DirtyTracker;)V
+PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->access$000(Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;)Ljava/lang/String;
+PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->access$100(Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;)Lcom/android/server/slice/SlicePermissionManager$PkgUser;
+HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->addPath(Ljava/util/List;)V
+HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->decodeSegments(Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->encodeSegments([Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->getAuthority()Ljava/lang/String;
PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->hasPermission(Ljava/util/List;)Z
+HPLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->isPathPrefixMatch([Ljava/lang/String;[Ljava/lang/String;)Z
PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->readFrom(Lorg/xmlpull/v1/XmlPullParser;)V
PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/slice/SliceClientPermissions;->clear()V
-HSPLcom/android/server/slice/SliceClientPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceClientPermissions;
-HSPLcom/android/server/slice/SliceClientPermissions;->getAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
+PLcom/android/server/slice/SliceClientPermissions;-><clinit>()V
+PLcom/android/server/slice/SliceClientPermissions;-><init>(Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/DirtyTracker;)V
+PLcom/android/server/slice/SliceClientPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceClientPermissions;
+PLcom/android/server/slice/SliceClientPermissions;->getAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
PLcom/android/server/slice/SliceClientPermissions;->getFileName()Ljava/lang/String;
+PLcom/android/server/slice/SliceClientPermissions;->getFileName(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Ljava/lang/String;
PLcom/android/server/slice/SliceClientPermissions;->getOrCreateAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
-PLcom/android/server/slice/SliceClientPermissions;->grantUri(Landroid/net/Uri;Lcom/android/server/slice/SlicePermissionManager$PkgUser;)V
-HSPLcom/android/server/slice/SliceClientPermissions;->hasFullAccess()Z
-HSPLcom/android/server/slice/SliceClientPermissions;->hasPermission(Landroid/net/Uri;I)Z
+PLcom/android/server/slice/SliceClientPermissions;->hasFullAccess()Z
+PLcom/android/server/slice/SliceClientPermissions;->hasPermission(Landroid/net/Uri;I)Z
PLcom/android/server/slice/SliceClientPermissions;->onPersistableDirty(Lcom/android/server/slice/DirtyTracker$Persistable;)V
PLcom/android/server/slice/SliceClientPermissions;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/slice/SliceManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/slice/SliceManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/slice/SliceManagerService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/slice/SliceManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/slice/SliceManagerService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/slice/SliceManagerService$PackageMatchingCache;->matches(Ljava/lang/String;)Z
-HSPLcom/android/server/slice/SliceManagerService;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLcom/android/server/slice/SliceManagerService;->checkAccess(Ljava/lang/String;Landroid/net/Uri;II)I
-HSPLcom/android/server/slice/SliceManagerService;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I
-HSPLcom/android/server/slice/SliceManagerService;->createPinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
-HSPLcom/android/server/slice/SliceManagerService;->enforceAccess(Ljava/lang/String;Landroid/net/Uri;)V
+PLcom/android/server/slice/SliceManagerService$1;-><init>(Lcom/android/server/slice/SliceManagerService;)V
+PLcom/android/server/slice/SliceManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/slice/SliceManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/slice/SliceManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/slice/SliceManagerService$Lifecycle;->onStart()V
+PLcom/android/server/slice/SliceManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/slice/SliceManagerService$PackageMatchingCache;-><init>(Ljava/util/function/Supplier;)V
+PLcom/android/server/slice/SliceManagerService$PackageMatchingCache;->matches(Ljava/lang/String;)Z
+PLcom/android/server/slice/SliceManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/slice/SliceManagerService;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/slice/SliceManagerService;->access$100(Lcom/android/server/slice/SliceManagerService;)V
+PLcom/android/server/slice/SliceManagerService;->checkAccess(Ljava/lang/String;Landroid/net/Uri;II)I
+PLcom/android/server/slice/SliceManagerService;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I
+PLcom/android/server/slice/SliceManagerService;->createHandler()Lcom/android/server/ServiceThread;
+PLcom/android/server/slice/SliceManagerService;->createPinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
+PLcom/android/server/slice/SliceManagerService;->enforceAccess(Ljava/lang/String;Landroid/net/Uri;)V
+PLcom/android/server/slice/SliceManagerService;->enforceCrossUser(Ljava/lang/String;Landroid/net/Uri;)V
PLcom/android/server/slice/SliceManagerService;->enforceOwner(Ljava/lang/String;Landroid/net/Uri;I)V
+PLcom/android/server/slice/SliceManagerService;->getAssistant(I)Ljava/lang/String;
+PLcom/android/server/slice/SliceManagerService;->getAssistantMatcher(I)Lcom/android/server/slice/SliceManagerService$PackageMatchingCache;
PLcom/android/server/slice/SliceManagerService;->getBackupPayload(I)[B
-HSPLcom/android/server/slice/SliceManagerService;->getContext()Landroid/content/Context;
-HSPLcom/android/server/slice/SliceManagerService;->getDefaultHome(I)Ljava/lang/String;
-HSPLcom/android/server/slice/SliceManagerService;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/slice/SliceManagerService;->getLock()Ljava/lang/Object;
-HSPLcom/android/server/slice/SliceManagerService;->getOrCreatePinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
-HSPLcom/android/server/slice/SliceManagerService;->getPinnedSlice(Landroid/net/Uri;)Lcom/android/server/slice/PinnedSliceState;
-HSPLcom/android/server/slice/SliceManagerService;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
-HSPLcom/android/server/slice/SliceManagerService;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
-HSPLcom/android/server/slice/SliceManagerService;->getProviderPkg(Landroid/net/Uri;I)Ljava/lang/String;
+PLcom/android/server/slice/SliceManagerService;->getContext()Landroid/content/Context;
+PLcom/android/server/slice/SliceManagerService;->getDefaultHome(I)Ljava/lang/String;
+PLcom/android/server/slice/SliceManagerService;->getHandler()Landroid/os/Handler;
+PLcom/android/server/slice/SliceManagerService;->getHomeMatcher(I)Lcom/android/server/slice/SliceManagerService$PackageMatchingCache;
+PLcom/android/server/slice/SliceManagerService;->getLock()Ljava/lang/Object;
+PLcom/android/server/slice/SliceManagerService;->getOrCreatePinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
+PLcom/android/server/slice/SliceManagerService;->getPinnedSlice(Landroid/net/Uri;)Lcom/android/server/slice/PinnedSliceState;
+PLcom/android/server/slice/SliceManagerService;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
+PLcom/android/server/slice/SliceManagerService;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
+PLcom/android/server/slice/SliceManagerService;->getProviderPkg(Landroid/net/Uri;I)Ljava/lang/String;
PLcom/android/server/slice/SliceManagerService;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLcom/android/server/slice/SliceManagerService;->hasFullSliceAccess(Ljava/lang/String;I)Z
-HSPLcom/android/server/slice/SliceManagerService;->lambda$getAssistantMatcher$2$SliceManagerService(I)Ljava/lang/String;
-HSPLcom/android/server/slice/SliceManagerService;->lambda$getHomeMatcher$3$SliceManagerService(I)Ljava/lang/String;
-HSPLcom/android/server/slice/SliceManagerService;->lambda$pinSlice$1$SliceManagerService(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/slice/SliceManagerService;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-HSPLcom/android/server/slice/SliceManagerService;->removePinnedSlice(Landroid/net/Uri;)V
-HSPLcom/android/server/slice/SliceManagerService;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
+PLcom/android/server/slice/SliceManagerService;->hasFullSliceAccess(Ljava/lang/String;I)Z
+PLcom/android/server/slice/SliceManagerService;->isAssistant(Ljava/lang/String;I)Z
+PLcom/android/server/slice/SliceManagerService;->isDefaultHomeApp(Ljava/lang/String;I)Z
+PLcom/android/server/slice/SliceManagerService;->isGrantedFullAccess(Ljava/lang/String;I)Z
+PLcom/android/server/slice/SliceManagerService;->lambda$getAssistantMatcher$2$SliceManagerService(I)Ljava/lang/String;
+PLcom/android/server/slice/SliceManagerService;->lambda$getHomeMatcher$3$SliceManagerService(I)Ljava/lang/String;
+PLcom/android/server/slice/SliceManagerService;->lambda$pinSlice$1$SliceManagerService(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/slice/SliceManagerService;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
+PLcom/android/server/slice/SliceManagerService;->removePinnedSlice(Landroid/net/Uri;)V
+PLcom/android/server/slice/SliceManagerService;->systemReady()V
+PLcom/android/server/slice/SliceManagerService;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
+PLcom/android/server/slice/SliceManagerService;->verifyCaller(Ljava/lang/String;)V
+PLcom/android/server/slice/SlicePermissionManager$H;-><init>(Lcom/android/server/slice/SlicePermissionManager;Landroid/os/Looper;)V
PLcom/android/server/slice/SlicePermissionManager$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/slice/SlicePermissionManager$ParserHolder;->close()V
-HSPLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/String;)V
-HSPLcom/android/server/slice/SlicePermissionManager$PkgUser;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/slice/SlicePermissionManager$PkgUser;->getPkg()Ljava/lang/String;
-PLcom/android/server/slice/SlicePermissionManager$PkgUser;->getUserId()I
-HSPLcom/android/server/slice/SlicePermissionManager$PkgUser;->hashCode()I
-HSPLcom/android/server/slice/SlicePermissionManager$PkgUser;->toString()Ljava/lang/String;
-HSPLcom/android/server/slice/SlicePermissionManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/slice/SlicePermissionManager;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;)V
-HSPLcom/android/server/slice/SlicePermissionManager;->getClient(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions;
-HSPLcom/android/server/slice/SlicePermissionManager;->getParser(Ljava/lang/String;)Lcom/android/server/slice/SlicePermissionManager$ParserHolder;
-HSPLcom/android/server/slice/SlicePermissionManager;->getProvider(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceProviderPermissions;
+PLcom/android/server/slice/SlicePermissionManager$ParserHolder;-><init>(Lcom/android/server/slice/SlicePermissionManager;)V
+PLcom/android/server/slice/SlicePermissionManager$ParserHolder;-><init>(Lcom/android/server/slice/SlicePermissionManager;Lcom/android/server/slice/SlicePermissionManager$1;)V
+PLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/String;)V
+PLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/slice/SlicePermissionManager$PkgUser;->equals(Ljava/lang/Object;)Z
+HPLcom/android/server/slice/SlicePermissionManager$PkgUser;->hashCode()I
+PLcom/android/server/slice/SlicePermissionManager$PkgUser;->toString()Ljava/lang/String;
+PLcom/android/server/slice/SlicePermissionManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/slice/SlicePermissionManager;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;)V
+PLcom/android/server/slice/SlicePermissionManager;->getClient(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions;
+PLcom/android/server/slice/SlicePermissionManager;->getFile(Ljava/lang/String;)Landroid/util/AtomicFile;
+PLcom/android/server/slice/SlicePermissionManager;->getParser(Ljava/lang/String;)Lcom/android/server/slice/SlicePermissionManager$ParserHolder;
+PLcom/android/server/slice/SlicePermissionManager;->getProvider(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceProviderPermissions;
PLcom/android/server/slice/SlicePermissionManager;->grantSliceAccess(Ljava/lang/String;ILjava/lang/String;ILandroid/net/Uri;)V
PLcom/android/server/slice/SlicePermissionManager;->handlePersist()V
-HSPLcom/android/server/slice/SlicePermissionManager;->hasFullAccess(Ljava/lang/String;I)Z
-HSPLcom/android/server/slice/SlicePermissionManager;->hasPermission(Ljava/lang/String;ILandroid/net/Uri;)Z
+PLcom/android/server/slice/SlicePermissionManager;->hasFullAccess(Ljava/lang/String;I)Z
+PLcom/android/server/slice/SlicePermissionManager;->hasPermission(Ljava/lang/String;ILandroid/net/Uri;)Z
PLcom/android/server/slice/SlicePermissionManager;->onPersistableDirty(Lcom/android/server/slice/DirtyTracker$Persistable;)V
-HSPLcom/android/server/slice/SlicePermissionManager;->removePkg(Ljava/lang/String;I)V
+PLcom/android/server/slice/SlicePermissionManager;->removePkg(Ljava/lang/String;I)V
PLcom/android/server/slice/SlicePermissionManager;->writeBackup(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;-><init>(Ljava/lang/String;Lcom/android/server/slice/DirtyTracker;)V
+PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->access$000(Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;)Ljava/lang/String;
PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->addPkg(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)V
+PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->getAuthority()Ljava/lang/String;
PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->readFrom(Lorg/xmlpull/v1/XmlPullParser;)V
PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/slice/SliceProviderPermissions;-><clinit>()V
+PLcom/android/server/slice/SliceProviderPermissions;-><init>(Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/DirtyTracker;)V
+PLcom/android/server/slice/SliceProviderPermissions;->access$100()Ljava/lang/String;
PLcom/android/server/slice/SliceProviderPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceProviderPermissions;
-HSPLcom/android/server/slice/SliceProviderPermissions;->getAuthorities()Ljava/util/Collection;
-PLcom/android/server/slice/SliceProviderPermissions;->getFileName()Ljava/lang/String;
+PLcom/android/server/slice/SliceProviderPermissions;->getAuthorities()Ljava/util/Collection;
+PLcom/android/server/slice/SliceProviderPermissions;->getFileName(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Ljava/lang/String;
PLcom/android/server/slice/SliceProviderPermissions;->getOrCreateAuthority(Ljava/lang/String;)Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;
-PLcom/android/server/slice/SliceProviderPermissions;->onPersistableDirty(Lcom/android/server/slice/DirtyTracker$Persistable;)V
PLcom/android/server/slice/SliceProviderPermissions;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$F-iA254xzDfAHrQW86c2oSqXfwI;->run(ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
-PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$crQZgbDmIG6q92Mrkm49T2yqrs0;->run(ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
-PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$t5mBYXswwLAAdm47WS10stLjYng;->run()V
-PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$wfDlqQ7aPvu9qZCZ24jJu4tfUMY;-><init>()V
-PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$wfDlqQ7aPvu9qZCZ24jJu4tfUMY;->accept(Ljava/lang/Object;)V
-PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$yqLMvkOmrO13yWrggtSaVrLgsWo;->run()V
+PLcom/android/server/soundtrigger/SoundTriggerDbHelper;-><init>(Landroid/content/Context;)V
PLcom/android/server/soundtrigger/SoundTriggerDbHelper;->deleteGenericSoundModel(Ljava/util/UUID;)Z
PLcom/android/server/soundtrigger/SoundTriggerDbHelper;->getGenericSoundModel(Ljava/util/UUID;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
+PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;-><init>(Ljava/util/UUID;I)V
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->clearCallback()V
-PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->clearState()V
+PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->createKeyphraseModelData(Ljava/util/UUID;)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getCallback()Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getHandle()I
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getModelId()Ljava/util/UUID;
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getRecognitionConfig()Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getSoundModel()Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;
-PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isGenericModel()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isKeyphraseModel()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isModelLoaded()Z
-PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isModelNotLoaded()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isModelStarted()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isRequested()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setCallback(Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)V
@@ -13066,24 +14915,15 @@ PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setRequested(Z)
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;)V
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setStarted()V
PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setStopped()V
-PLcom/android/server/soundtrigger/SoundTriggerHelper$MyCallStateListener;->onCallStateChanged(ILjava/lang/String;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper$PowerSaveModeListener;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/soundtrigger/SoundTriggerHelper;-><init>(Landroid/content/Context;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->computeRecognitionRunningLocked()Z
+PLcom/android/server/soundtrigger/SoundTriggerHelper$MyCallStateListener;-><init>(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper$PowerSaveModeListener;-><init>(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->computeRecognitionRequestedLocked()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper;->createKeyphraseModelDataLocked(Ljava/util/UUID;I)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->forceStopAndUnloadModelLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Ljava/lang/Exception;Ljava/util/Iterator;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->getModuleProperties()Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->getOrCreateGenericModelDataLocked(Ljava/util/UUID;)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
PLcom/android/server/soundtrigger/SoundTriggerHelper;->initializeTelephonyAndPowerStateListeners()V
PLcom/android/server/soundtrigger/SoundTriggerHelper;->internalClearGlobalStateLocked()V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->isRecognitionRequested(Ljava/util/UUID;)Z
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->onGenericRecognitionSuccessLocked(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->onKeyphraseRecognitionSuccessLocked(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->onRecognition(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->onRecognitionAbortLocked(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->isRecognitionAllowed()Z
PLcom/android/server/soundtrigger/SoundTriggerHelper;->onServiceStateChange(I)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->startGenericRecognition(Ljava/util/UUID;Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->startKeyphraseRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->startRecognition(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;I)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->startRecognitionLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Z)I
@@ -13091,4920 +14931,4977 @@ PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopAndUnloadDeadModelsLo
PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopKeyphraseRecognition(ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopRecognition(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopRecognitionLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Z)I
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->tryStopAndUnloadLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;ZZ)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->unloadGenericSoundModel(Ljava/util/UUID;)I
PLcom/android/server/soundtrigger/SoundTriggerHelper;->unloadKeyphraseSoundModel(I)I
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->updateAllRecognitionsLocked(Z)V
-PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->getModuleProperties()Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
+PLcom/android/server/soundtrigger/SoundTriggerInternal;-><init>()V
+PLcom/android/server/soundtrigger/SoundTriggerLogger$Event;-><clinit>()V
+PLcom/android/server/soundtrigger/SoundTriggerLogger$Event;-><init>()V
+PLcom/android/server/soundtrigger/SoundTriggerLogger$StringEvent;-><init>(Ljava/lang/String;)V
+PLcom/android/server/soundtrigger/SoundTriggerLogger;-><init>(ILjava/lang/String;)V
+PLcom/android/server/soundtrigger/SoundTriggerLogger;->log(Lcom/android/server/soundtrigger/SoundTriggerLogger$Event;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;Landroid/content/Context;)V
PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->isInitialized()Z
-HSPLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->setSoundTriggerHelper(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->startRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
+PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->setSoundTriggerHelper(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->stopRecognition(ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->unloadKeyphraseModel(I)I
-PLcom/android/server/soundtrigger/SoundTriggerService$NumOps;->addOp(J)V
-PLcom/android/server/soundtrigger/SoundTriggerService$NumOps;->clearOldOps(J)V
-PLcom/android/server/soundtrigger/SoundTriggerService$NumOps;->getOpsAdded()I
-PLcom/android/server/soundtrigger/SoundTriggerService$Operation;->drop()V
-PLcom/android/server/soundtrigger/SoundTriggerService$Operation;->run(ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService$1;->onOpFinished(I)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;Ljava/util/UUID;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->bind()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->destroy()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->disconnectLocked()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onError$3$SoundTriggerService$RemoteSoundTriggerDetectionService()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onError$4$SoundTriggerService$RemoteSoundTriggerDetectionService(IILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onGenericSoundTriggerDetected$0$SoundTriggerService$RemoteSoundTriggerDetectionService()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onGenericSoundTriggerDetected$1$SoundTriggerService$RemoteSoundTriggerDetectionService(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onError(I)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onRecognitionPaused()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onRecognitionResumed()V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->pingBinder()Z
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->runOrAddOperation(Lcom/android/server/soundtrigger/SoundTriggerService$Operation;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->stopAllPendingOperations()V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundModelStatTracker;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundModelStatTracker;->onStop(Ljava/util/UUID;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;)V
PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->deleteSoundModel(Landroid/os/ParcelUuid;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->isRecognitionActive(Landroid/os/ParcelUuid;)Z
-PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I
PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-HSPLcom/android/server/soundtrigger/SoundTriggerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/soundtrigger/SoundTriggerService;->initSoundTriggerHelper()V
-PLcom/android/server/soundtrigger/SoundTriggerService;->isInitialized()Z
-HSPLcom/android/server/soundtrigger/SoundTriggerService;->onBootPhase(I)V
-HSPLcom/android/server/soundtrigger/SoundTriggerService;->onStart()V
-HSPLcom/android/server/soundtrigger/SoundTriggerService;->onStartUser(I)V
-PLcom/android/server/stats/-$$Lambda$StatsCompanionService$NHd5PvhbQidUUj9jg6uXxw6FMs0;->onUidCpuTime(ILjava/lang/Object;)V
-PLcom/android/server/stats/StatsCompanionService$AnomalyAlarmListener;->onAlarm()V
-HSPLcom/android/server/stats/StatsCompanionService$AppUpdateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/stats/StatsCompanionService$ConnectivityStatsCallback;->onAvailable(Landroid/net/Network;)V
-PLcom/android/server/stats/StatsCompanionService$ConnectivityStatsCallback;->onLost(Landroid/net/Network;)V
-HSPLcom/android/server/stats/StatsCompanionService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/stats/StatsCompanionService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/stats/StatsCompanionService$Lifecycle;->onStart()V
-HSPLcom/android/server/stats/StatsCompanionService$PeriodicAlarmListener;->onAlarm()V
-HSPLcom/android/server/stats/StatsCompanionService$PullingAlarmListener;->onAlarm()V
-HSPLcom/android/server/stats/StatsCompanionService$ThermalEventListener;->notifyThrottling(Landroid/os/Temperature;)V
-HSPLcom/android/server/stats/StatsCompanionService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/stats/StatsCompanionService;->addNetworkStats(ILjava/util/List;Landroid/net/NetworkStats;Z)V
-HSPLcom/android/server/stats/StatsCompanionService;->cancelAlarmForSubscriberTriggering()V
-HSPLcom/android/server/stats/StatsCompanionService;->cancelAnomalyAlarm()V
-PLcom/android/server/stats/StatsCompanionService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/stats/StatsCompanionService;->enforceCallingPermission()V
-HSPLcom/android/server/stats/StatsCompanionService;->informAllUidsLocked(Landroid/content/Context;)V
-PLcom/android/server/stats/StatsCompanionService;->pullBinderCallsStats(IJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullCpuTimePerThreadFreq(IJJLjava/util/List;)V
-HSPLcom/android/server/stats/StatsCompanionService;->pullData(I)[Landroid/os/StatsLogEventWrapper;
-HSPLcom/android/server/stats/StatsCompanionService;->pullDebugElapsedClock(IJJLjava/util/List;)V
-HSPLcom/android/server/stats/StatsCompanionService;->pullDebugFailingElapsedClock(IJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullLooperStats(IJJLjava/util/List;)V
-HSPLcom/android/server/stats/StatsCompanionService;->pullMobileBytesTransferByFgBg(IJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullNativeProcessMemoryState(IJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullNumBiometricsEnrolled(IIJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullProcessMemoryHighWaterMark(IJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullProcessMemoryState(IJJLjava/util/List;)V
-HSPLcom/android/server/stats/StatsCompanionService;->pullTemperature(IJJLjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->rollupNetworkStatsByFGBG(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
-HSPLcom/android/server/stats/StatsCompanionService;->sayHiToStatsd()V
-PLcom/android/server/stats/StatsCompanionService;->sendDataBroadcast(Landroid/os/IBinder;J)V
-PLcom/android/server/stats/StatsCompanionService;->sendSubscriberBroadcast(Landroid/os/IBinder;JJJJ[Ljava/lang/String;Landroid/os/StatsDimensionsValue;)V
-HSPLcom/android/server/stats/StatsCompanionService;->setAlarmForSubscriberTriggering(J)V
-HSPLcom/android/server/stats/StatsCompanionService;->setAnomalyAlarm(J)V
-HSPLcom/android/server/stats/StatsCompanionService;->setPullingAlarm(J)V
-HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$Ex4WQoiXjzWDsRHD7oXCkXIQBB4;->run()V
-HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$QO0p6KVnf0wFwF8hglhodfvx26s;->run()V
-HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$UR67Ud0NgV9VHyelUmYzZNtR6O4;->run()V
-HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$hFIYx92VN4dEb4589FKdmNsCofc;->run()V
-HSPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yr21OX4Hyd_XfExwnVnVIn3Jfe4;->run()V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionCancelled(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionFinished(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionPending(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionStarting(IJJ)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->onCameraLaunchGestureDetected(I)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->onDisplayReady(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->onProposedRotationChanged(IZ)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->setNotificationDelegate(Lcom/android/server/notification/NotificationDelegate;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->setTopAppHidesStatusBar(Z)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->setWindowState(III)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->showChargingAnimation(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$1;->topAppWindowChanged(IZ)V
-PLcom/android/server/statusbar/StatusBarManagerService$2;->isGlobalActionsDisabled()Z
-PLcom/android/server/statusbar/StatusBarManagerService$2;->setGlobalActionsListener(Lcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;)V
-PLcom/android/server/statusbar/StatusBarManagerService$2;->showGlobalActions()V
-HSPLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;->binderDied()V
-HSPLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;->linkToDeath()V
-HSPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->binderDied()V
-HSPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->getFlags(I)I
-HSPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->isEmpty()Z
-HSPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->setFlags(IILjava/lang/String;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/statusbar/StatusBarManagerService$UiState;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService;-><clinit>()V
+PLcom/android/server/soundtrigger/SoundTriggerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/soundtrigger/SoundTriggerService;->initSoundTriggerHelper()V
+PLcom/android/server/soundtrigger/SoundTriggerService;->onBootPhase(I)V
+PLcom/android/server/soundtrigger/SoundTriggerService;->onStart()V
+PLcom/android/server/soundtrigger/SoundTriggerService;->onStartUser(I)V
+PLcom/android/server/stats/IonMemoryUtil$IonAllocations;-><init>()V
+PLcom/android/server/stats/IonMemoryUtil;-><clinit>()V
+PLcom/android/server/stats/IonMemoryUtil;->parseIonHeapSizeFromDebugfs(Ljava/lang/String;)J
+HPLcom/android/server/stats/IonMemoryUtil;->parseProcessIonHeapSizesFromDebugfs(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/stats/IonMemoryUtil;->readFile(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/stats/IonMemoryUtil;->readProcessSystemIonHeapSizesFromDebugfs()Ljava/util/List;
+PLcom/android/server/stats/IonMemoryUtil;->readSystemIonHeapSizeFromDebugfs()J
+PLcom/android/server/stats/ProcfsMemoryUtil$MemorySnapshot;-><init>()V
+PLcom/android/server/stats/ProcfsMemoryUtil;-><clinit>()V
+HPLcom/android/server/stats/ProcfsMemoryUtil;->forEachPid(Ljava/util/function/BiConsumer;)V
+HPLcom/android/server/stats/ProcfsMemoryUtil;->readCmdlineFromProcfs(I)Ljava/lang/String;
+HPLcom/android/server/stats/ProcfsMemoryUtil;->readMemorySnapshotFromProcfs(I)Lcom/android/server/stats/ProcfsMemoryUtil$MemorySnapshot;
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$E67OP8P-DuCzmX46ISCwIyOv93Q;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$E67OP8P-DuCzmX46ISCwIyOv93Q;->run()V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$dQguzfF4tEgBOj3Pr8MpGRN8HT0;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;IIZZ)V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$dQguzfF4tEgBOj3Pr8MpGRN8HT0;->run()V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$uF0ibEnnXe7Lxunxb98QQLJjgZM;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;IZZ)V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$uF0ibEnnXe7Lxunxb98QQLJjgZM;->run()V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yr21OX4Hyd_XfExwnVnVIn3Jfe4;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;I)V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yr21OX4Hyd_XfExwnVnVIn3Jfe4;->run()V
+PLcom/android/server/statusbar/StatusBarManagerService$1;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionFinished(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionPending(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionStarting(IJJ)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->onRecentsAnimationStateChanged(Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->onSystemBarAppearanceChanged(II[Lcom/android/internal/view/AppearanceRegion;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setDisableFlags(IILjava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setNotificationDelegate(Lcom/android/server/notification/NotificationDelegate;)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setTopAppHidesStatusBar(Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->topAppWindowChanged(IZZ)V
+PLcom/android/server/statusbar/StatusBarManagerService$2;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;Lcom/android/server/statusbar/StatusBarManagerService$1;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;->linkToDeath()V
+PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;)V
+PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->getFlags(I)I
+PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->isEmpty()Z
+PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->setFlags(IILjava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;Lcom/android/server/statusbar/StatusBarManagerService$1;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$1200(Lcom/android/server/statusbar/StatusBarManagerService$UiState;I[Lcom/android/internal/view/AppearanceRegion;Z)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$1300(Lcom/android/server/statusbar/StatusBarManagerService$UiState;I[Lcom/android/internal/view/AppearanceRegion;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$1900(Lcom/android/server/statusbar/StatusBarManagerService$UiState;II)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2000(Lcom/android/server/statusbar/StatusBarManagerService$UiState;II)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2100(Lcom/android/server/statusbar/StatusBarManagerService$UiState;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2200(Lcom/android/server/statusbar/StatusBarManagerService$UiState;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2300(Lcom/android/server/statusbar/StatusBarManagerService$UiState;IIZLandroid/os/IBinder;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2400(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Landroid/util/ArraySet;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2500(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2600(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)[Lcom/android/internal/view/AppearanceRegion;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2700(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2800(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)I
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$2900(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$3000(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Landroid/os/IBinder;
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$3100(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$3200(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$3300(Lcom/android/server/statusbar/StatusBarManagerService$UiState;)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->appearanceEquals(I[Lcom/android/internal/view/AppearanceRegion;Z)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->disableEquals(II)Z
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setAppearance(I[Lcom/android/internal/view/AppearanceRegion;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setDisabled(II)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setFullscreen(Z)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setImeWindowState(IIZLandroid/os/IBinder;)V
+PLcom/android/server/statusbar/StatusBarManagerService$UiState;->setImmersive(Z)V
+PLcom/android/server/statusbar/StatusBarManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->access$100(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/internal/statusbar/IStatusBar;
+PLcom/android/server/statusbar/StatusBarManagerService;->access$1100(Lcom/android/server/statusbar/StatusBarManagerService;I)Lcom/android/server/statusbar/StatusBarManagerService$UiState;
+PLcom/android/server/statusbar/StatusBarManagerService;->access$300(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;
+PLcom/android/server/statusbar/StatusBarManagerService;->access$502(Lcom/android/server/statusbar/StatusBarManagerService;Lcom/android/server/notification/NotificationDelegate;)Lcom/android/server/notification/NotificationDelegate;
+PLcom/android/server/statusbar/StatusBarManagerService;->access$600(Lcom/android/server/statusbar/StatusBarManagerService;IZZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->access$700(Lcom/android/server/statusbar/StatusBarManagerService;IILjava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->access$800(Lcom/android/server/statusbar/StatusBarManagerService;)V
+HPLcom/android/server/statusbar/StatusBarManagerService;->clearInlineReplyUriPermissions(Ljava/lang/String;)V
PLcom/android/server/statusbar/StatusBarManagerService;->clearNotificationEffects()V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->disable2ForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->disableLocked(IIILandroid/os/IBinder;Ljava/lang/String;I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->findMatchingRecordLocked(Landroid/os/IBinder;I)Landroid/util/Pair;
-HSPLcom/android/server/statusbar/StatusBarManagerService;->gatherDisableActionsLocked(II)I
+PLcom/android/server/statusbar/StatusBarManagerService;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->disableLocked(IIILandroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBar()V
+PLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBarService()V
+PLcom/android/server/statusbar/StatusBarManagerService;->findMatchingRecordLocked(Landroid/os/IBinder;I)Landroid/util/Pair;
+PLcom/android/server/statusbar/StatusBarManagerService;->gatherDisableActionsLocked(II)I
+PLcom/android/server/statusbar/StatusBarManagerService;->getUiState(I)Lcom/android/server/statusbar/StatusBarManagerService$UiState;
PLcom/android/server/statusbar/StatusBarManagerService;->handleSystemKey(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->lambda$disableLocked$0$StatusBarManagerService(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$4$StatusBarManagerService()V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$2$StatusBarManagerService(Landroid/os/IBinder;IIZ)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->lambda$topAppWindowChanged$1$StatusBarManagerService(IZ)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->lambda$updateUiVisibilityLocked$3$StatusBarManagerService(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->manageDisableListLocked(IILandroid/os/IBinder;Ljava/lang/String;I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onBiometricAuthenticated(Z)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onClearAllNotifications(I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onDisplayAdded(I)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->onDisplayChanged(I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onDisplayRemoved(I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onGlobalActionsHidden()V
-PLcom/android/server/statusbar/StatusBarManagerService;->onGlobalActionsShown()V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationActionClick(Ljava/lang/String;ILandroid/app/Notification$Action;Lcom/android/internal/statusbar/NotificationVisibility;Z)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;IILcom/android/internal/statusbar/NotificationVisibility;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationClick(Ljava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationDirectReplied(Ljava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$disableLocked$0$StatusBarManagerService(I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$3$StatusBarManagerService()V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$2$StatusBarManagerService(ILandroid/os/IBinder;IIZZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$topAppWindowChanged$1$StatusBarManagerService(IZZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->manageDisableListLocked(IILandroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->notifyBarAttachChanged()V
+PLcom/android/server/statusbar/StatusBarManagerService;->onDisplayChanged(I)V
PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationExpansionChanged(Ljava/lang/String;ZZI)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationSmartReplySent(Ljava/lang/String;ILjava/lang/CharSequence;IZ)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationSmartSuggestionsAdded(Ljava/lang/String;IIZZ)V
PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->onPanelHidden()V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->onPanelRevealed(ZI)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;Ljava/util/List;Ljava/util/List;[ILjava/util/List;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onPanelHidden()V
+PLcom/android/server/statusbar/StatusBarManagerService;->onPanelRevealed(ZI)V
+PLcom/android/server/statusbar/StatusBarManagerService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;)Lcom/android/internal/statusbar/RegisterStatusBarResult;
PLcom/android/server/statusbar/StatusBarManagerService;->remTile(Landroid/content/ComponentName;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->removeIcon(Ljava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->setIcon(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->showBiometricDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;IZI)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->topAppWindowChanged(IZ)V
-HSPLcom/android/server/statusbar/StatusBarManagerService;->updateUiVisibilityLocked(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/storage/AppCollector$BackgroundHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/storage/AppCollector;-><init>(Landroid/content/Context;Landroid/os/storage/VolumeInfo;)V
-PLcom/android/server/storage/AppCollector;->getPackageStats(J)Ljava/util/List;
-PLcom/android/server/storage/AppFuseBridge$MountScope;->setMountResultLocked(Z)V
-PLcom/android/server/storage/AppFuseBridge$MountScope;->waitForMount()Z
-PLcom/android/server/storage/AppFuseBridge;->addBridge(Lcom/android/server/storage/AppFuseBridge$MountScope;)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/storage/AppFuseBridge;->onClosed(I)V
-PLcom/android/server/storage/AppFuseBridge;->onMount(I)V
-PLcom/android/server/storage/AppFuseBridge;->openFile(III)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/storage/AppFuseBridge;->run()V
-HSPLcom/android/server/storage/CacheQuotaStrategy$1$1;->run()V
-HSPLcom/android/server/storage/CacheQuotaStrategy$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/storage/CacheQuotaStrategy;-><init>(Landroid/content/Context;Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/pm/Installer;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/storage/CacheQuotaStrategy;->getRequestFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/usage/CacheQuotaHint;
-HSPLcom/android/server/storage/CacheQuotaStrategy;->getServiceComponentName()Landroid/content/ComponentName;
-HSPLcom/android/server/storage/CacheQuotaStrategy;->getUnfulfilledRequests()Ljava/util/List;
-HSPLcom/android/server/storage/CacheQuotaStrategy;->onResult(Landroid/os/Bundle;)V
-HSPLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V
-HSPLcom/android/server/storage/CacheQuotaStrategy;->readFromXml(Ljava/io/InputStream;)Landroid/util/Pair;
-HSPLcom/android/server/storage/CacheQuotaStrategy;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;J)V
-HSPLcom/android/server/storage/CacheQuotaStrategy;->setupQuotasFromFile()J
-HSPLcom/android/server/storage/CacheQuotaStrategy;->writeXmlToFile(Ljava/util/List;)V
-HSPLcom/android/server/storage/DeviceStorageMonitorService$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/storage/DeviceStorageMonitorService$2;->getMemoryLowThreshold()J
-PLcom/android/server/storage/DeviceStorageMonitorService$2;->isMemoryLow()Z
-PLcom/android/server/storage/DeviceStorageMonitorService$3;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>()V
-HSPLcom/android/server/storage/DeviceStorageMonitorService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/storage/DeviceStorageMonitorService;->check()V
-PLcom/android/server/storage/DeviceStorageMonitorService;->dumpImpl(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/storage/DeviceStorageMonitorService;->onStart()V
-HSPLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V
-HSPLcom/android/server/storage/DeviceStorageMonitorService;->updateNotifications(Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/storage/DiskStatsFileLogger;->addAppsToJson(Lorg/json/JSONObject;)V
-PLcom/android/server/storage/DiskStatsFileLogger;->filterOnlyPrimaryUser()Landroid/util/ArrayMap;
-PLcom/android/server/storage/DiskStatsFileLogger;->getJsonRepresentation()Lorg/json/JSONObject;
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->logToFile(Lcom/android/server/storage/FileCollector$MeasurementResult;Lcom/android/server/storage/FileCollector$MeasurementResult;Ljava/util/List;J)V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->run()V
-PLcom/android/server/storage/DiskStatsLoggingService;-><init>()V
-PLcom/android/server/storage/DiskStatsLoggingService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLcom/android/server/storage/DiskStatsLoggingService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/storage/FileCollector$MeasurementResult;->totalAccountedSize()J
-PLcom/android/server/storage/FileCollector;->collectFiles(Ljava/io/File;Lcom/android/server/storage/FileCollector$MeasurementResult;)Lcom/android/server/storage/FileCollector$MeasurementResult;
-PLcom/android/server/storage/FileCollector;->getMeasurementResult(Landroid/content/Context;)Lcom/android/server/storage/FileCollector$MeasurementResult;
-PLcom/android/server/storage/FileCollector;->getSystemSize(Landroid/content/Context;)J
-PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$-gelHWcVU9jWWZhCeN99A3Sudtw;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$VVmvEgI0M6umDuBUYKUoUMO7-l0;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$lBXoYxesURvEmfzumX9uIBbg66M;->getPackages(I)[Ljava/lang/String;
-HSPLcom/android/server/telecom/TelecomLoaderService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/telecom/TelecomLoaderService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/telecom/TelecomLoaderService;->connectToTelecom()V
-PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$0$TelecomLoaderService(I)[Ljava/lang/String;
-PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$1$TelecomLoaderService(I)[Ljava/lang/String;
-PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$2$TelecomLoaderService(I)[Ljava/lang/String;
-HSPLcom/android/server/telecom/TelecomLoaderService;->onBootPhase(I)V
-HSPLcom/android/server/telecom/TelecomLoaderService;->onStart()V
-HSPLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppNotifier()V
-HSPLcom/android/server/telecom/TelecomLoaderService;->updateSimCallManagerPermissions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;I)V
-HSPLcom/android/server/testharness/TestHarnessModeService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/testharness/TestHarnessModeService;->configureSettings()V
-HSPLcom/android/server/testharness/TestHarnessModeService;->onBootPhase(I)V
-HSPLcom/android/server/testharness/TestHarnessModeService;->onStart()V
-HSPLcom/android/server/testharness/TestHarnessModeService;->setUpTestHarnessMode()V
-HSPLcom/android/server/testharness/TestHarnessModeService;->showNotification()V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$1N5hVEv-gYS5VzkBAP5HLq01CQI;->runOrThrow()V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$8JdB0qZEYu-RmsTmNRpxWLWnRgs;->runOrThrow()V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$R4aPVSf5_OfouCzD96pPpSsbUOs;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStartUser(I)V
-HSPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->processAnyPendingWork(I)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;-><init>(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Landroid/os/IBinder;Lcom/android/server/textclassifier/TextClassificationManagerService;Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;->init(Landroid/service/textclassifier/ITextClassifierService;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setDisableFlags(IILjava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(ILandroid/os/IBinder;IIZZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->topAppWindowChanged(IZZ)V
+PLcom/android/server/storage/CacheQuotaStrategy$1$1;-><init>(Lcom/android/server/storage/CacheQuotaStrategy$1;Landroid/os/IBinder;)V
+PLcom/android/server/storage/CacheQuotaStrategy$1$1;->run()V
+PLcom/android/server/storage/CacheQuotaStrategy$1;-><init>(Lcom/android/server/storage/CacheQuotaStrategy;)V
+PLcom/android/server/storage/CacheQuotaStrategy$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/storage/CacheQuotaStrategy;-><init>(Landroid/content/Context;Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/pm/Installer;Landroid/util/ArrayMap;)V
+PLcom/android/server/storage/CacheQuotaStrategy;->access$000(Lcom/android/server/storage/CacheQuotaStrategy;)Ljava/lang/Object;
+PLcom/android/server/storage/CacheQuotaStrategy;->access$100(Lcom/android/server/storage/CacheQuotaStrategy;)Landroid/app/usage/ICacheQuotaService;
+PLcom/android/server/storage/CacheQuotaStrategy;->access$102(Lcom/android/server/storage/CacheQuotaStrategy;Landroid/app/usage/ICacheQuotaService;)Landroid/app/usage/ICacheQuotaService;
+PLcom/android/server/storage/CacheQuotaStrategy;->access$200(Lcom/android/server/storage/CacheQuotaStrategy;)Ljava/util/List;
+PLcom/android/server/storage/CacheQuotaStrategy;->createServiceConnection()V
+PLcom/android/server/storage/CacheQuotaStrategy;->disconnectService()V
+PLcom/android/server/storage/CacheQuotaStrategy;->getServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/storage/CacheQuotaStrategy;->getUnfulfilledRequests()Ljava/util/List;
+PLcom/android/server/storage/CacheQuotaStrategy;->onResult(Landroid/os/Bundle;)V
+PLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V
+PLcom/android/server/storage/CacheQuotaStrategy;->readFromXml(Ljava/io/InputStream;)Landroid/util/Pair;
+PLcom/android/server/storage/CacheQuotaStrategy;->recalculateQuotas()V
+PLcom/android/server/storage/CacheQuotaStrategy;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;J)V
+PLcom/android/server/storage/CacheQuotaStrategy;->setupQuotasFromFile()J
+PLcom/android/server/storage/CacheQuotaStrategy;->writeXmlToFile(Ljava/util/List;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$1;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;Landroid/os/Looper;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$2;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$2;->checkMemory()V
+PLcom/android/server/storage/DeviceStorageMonitorService$3;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$CacheFileDeletedObserver;-><init>()V
+PLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>()V
+PLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService$1;)V
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->access$400(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->access$500(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->isEntering(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService$State;->isLeaving(III)Z
+PLcom/android/server/storage/DeviceStorageMonitorService;-><clinit>()V
+PLcom/android/server/storage/DeviceStorageMonitorService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/storage/DeviceStorageMonitorService;->access$100(Lcom/android/server/storage/DeviceStorageMonitorService;)V
+PLcom/android/server/storage/DeviceStorageMonitorService;->access$200(Lcom/android/server/storage/DeviceStorageMonitorService;)Landroid/os/Handler;
+PLcom/android/server/storage/DeviceStorageMonitorService;->check()V
+PLcom/android/server/storage/DeviceStorageMonitorService;->findOrCreateState(Ljava/util/UUID;)Lcom/android/server/storage/DeviceStorageMonitorService$State;
+PLcom/android/server/storage/DeviceStorageMonitorService;->isBootImageOnDisk()Z
+PLcom/android/server/storage/DeviceStorageMonitorService;->onStart()V
+PLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V
+PLcom/android/server/storage/DeviceStorageMonitorService;->updateNotifications(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/storage/DiskStatsLoggingService;-><clinit>()V
+PLcom/android/server/storage/DiskStatsLoggingService;->schedule(Landroid/content/Context;)V
+PLcom/android/server/storage/StorageSessionController;-><init>(Landroid/content/Context;Z)V
+PLcom/android/server/storage/StorageSessionController;->onUnlockUser(I)V
+PLcom/android/server/storage/StorageSessionController;->shouldHandle(Landroid/os/storage/VolumeInfo;)Z
+PLcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService$RemoteServiceConnection;-><init>(Lcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;)V
+PLcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService$RemoteServiceConnection;-><init>(Lcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;Lcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService$1;)V
+PLcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;-><clinit>()V
+PLcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;IZ)V
+PLcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;->ensureBound()V
+PLcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;->initialize()V
+PLcom/android/server/systemcaptions/SystemCaptionsManagerPerUserService;-><clinit>()V
+PLcom/android/server/systemcaptions/SystemCaptionsManagerPerUserService;-><init>(Lcom/android/server/systemcaptions/SystemCaptionsManagerService;Ljava/lang/Object;ZI)V
+PLcom/android/server/systemcaptions/SystemCaptionsManagerPerUserService;->getRemoteServiceLocked()Lcom/android/server/systemcaptions/RemoteSystemCaptionsManagerService;
+PLcom/android/server/systemcaptions/SystemCaptionsManagerPerUserService;->initializeLocked()V
+PLcom/android/server/systemcaptions/SystemCaptionsManagerPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/systemcaptions/SystemCaptionsManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/systemcaptions/SystemCaptionsManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/systemcaptions/SystemCaptionsManagerService;->newServiceLocked(IZ)Lcom/android/server/systemcaptions/SystemCaptionsManagerPerUserService;
+PLcom/android/server/systemcaptions/SystemCaptionsManagerService;->onStart()V
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$4O6PYSHBsC0Q5H-Y3LkvD32Vcjk;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$Dg9me3bEFl3t0NGOPYwXIoF34FY;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$jGqhqH8bl_lWotJlrzraXplioIw;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$v_RQMbGOOwc6kjxGSNUrOugH8pw;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$1;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection$1;-><init>(Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;-><init>(Lcom/android/server/telecom/TelecomLoaderService;Lcom/android/server/telecom/TelecomLoaderService$1;)V
+PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/telecom/TelecomLoaderService;-><clinit>()V
+PLcom/android/server/telecom/TelecomLoaderService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/telecom/TelecomLoaderService;->access$100(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/content/Context;
+PLcom/android/server/telecom/TelecomLoaderService;->access$200(Lcom/android/server/telecom/TelecomLoaderService;)Ljava/lang/Object;
+PLcom/android/server/telecom/TelecomLoaderService;->access$300(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/util/IntArray;
+PLcom/android/server/telecom/TelecomLoaderService;->access$500(Lcom/android/server/telecom/TelecomLoaderService;I)V
+PLcom/android/server/telecom/TelecomLoaderService;->connectToTelecom()V
+PLcom/android/server/telecom/TelecomLoaderService;->onBootPhase(I)V
+PLcom/android/server/telecom/TelecomLoaderService;->onStart()V
+PLcom/android/server/telecom/TelecomLoaderService;->registerCarrierConfigChangedReceiver()V
+PLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppNotifier()V
+PLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppProviders()V
+PLcom/android/server/telecom/TelecomLoaderService;->updateSimCallManagerPermissions(I)V
+PLcom/android/server/testharness/TestHarnessModeService$1;-><init>(Lcom/android/server/testharness/TestHarnessModeService;)V
+PLcom/android/server/testharness/TestHarnessModeService;-><clinit>()V
+PLcom/android/server/testharness/TestHarnessModeService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/testharness/TestHarnessModeService;->completeTestHarnessModeSetup()V
+PLcom/android/server/testharness/TestHarnessModeService;->getPersistentDataBlock()Lcom/android/server/PersistentDataBlockManagerInternal;
+PLcom/android/server/testharness/TestHarnessModeService;->getTestHarnessModeData()[B
+PLcom/android/server/testharness/TestHarnessModeService;->onBootPhase(I)V
+PLcom/android/server/testharness/TestHarnessModeService;->onStart()V
+PLcom/android/server/testharness/TestHarnessModeService;->setUpTestHarnessMode()V
+PLcom/android/server/testharness/TestHarnessModeService;->showNotificationIfEnabled()V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$I9mAoTWWg7OOLDE9kOK7LZ8wrgo;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$I9mAoTWWg7OOLDE9kOK7LZ8wrgo;->get()Ljava/lang/Object;
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$LgTaKgUnkwyysO9lmBSO8HNViFU;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;I)V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$LgTaKgUnkwyysO9lmBSO8HNViFU;->runOrThrow()V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$nMkPNkAsWr8y9ybbpmHncJ2R2Aw;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$nMkPNkAsWr8y9ybbpmHncJ2R2Aw;->runOrThrow()V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$x-GZDBev2pMmhyvF3nP65PH7VPo;-><init>(Ljava/lang/String;)V
+PLcom/android/server/textclassifier/-$$Lambda$k-7KcqZH2A0AukChaKa6Xru13_Q;-><init>(Landroid/service/textclassifier/ITextClassifierCallback;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStart()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->processAnyPendingWork(I)V
+HPLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;-><init>(Ljava/lang/String;Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Landroid/os/IBinder;Lcom/android/server/textclassifier/TextClassificationManagerService;Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;->access$1200(Lcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;)I
+PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;->access$1400(Lcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;)Ljava/lang/Runnable;
+PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;->access$1600(Lcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;)Landroid/os/IBinder;
+PLcom/android/server/textclassifier/TextClassificationManagerService$TextClassifierSettingsListener;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/content/Context;Lcom/android/server/textclassifier/TextClassificationManagerService;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$TextClassifierSettingsListener;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$TextClassifierSettingsListener;->registerObserver()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$TextClassifierSettingsListener;->updateChange()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;->init(Landroid/service/textclassifier/ITextClassifierService;Landroid/content/ComponentName;)V
PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(ILandroid/content/Context;Ljava/lang/Object;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;ILandroid/content/Context;Ljava/lang/Object;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;ILandroid/content/Context;Ljava/lang/Object;Lcom/android/server/textclassifier/TextClassificationManagerService$1;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$1800(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)Ljava/lang/Object;
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$1900(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;Landroid/content/ComponentName;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$2000(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$400(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->bindIfHasPendingRequestsLocked()Z
PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->bindLocked()Z
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->getServiceUid(Landroid/content/ComponentName;I)I
PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->handlePendingRequestsLocked()V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$logOnFailure$9(Ljava/lang/String;Ljava/lang/Throwable;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->isDefaultService(Landroid/content/ComponentName;)Z
+PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->updateServiceInfoLocked(Landroid/content/ComponentName;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/textclassifier/TextClassificationManagerService$1;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->access$100(Lcom/android/server/textclassifier/TextClassificationManagerService;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->access$1700(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->access$200(Lcom/android/server/textclassifier/TextClassificationManagerService;)Ljava/lang/Object;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->access$2200(Lcom/android/server/textclassifier/TextClassificationManagerService;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->access$300(Lcom/android/server/textclassifier/TextClassificationManagerService;I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->access$900(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/lang/String;)Ljava/lang/Runnable;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->getTextClassifierSettings(Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->getUserStateLocked(I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->invalidateSettings()V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$getTextClassifierSettings$11(Landroid/content/Context;)Ljava/lang/String;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$onCreateTextClassificationSession$7$TextClassificationManagerService(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;I)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$onGenerateLinks$2(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->logOnFailure(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/lang/String;)Ljava/lang/Runnable;
PLcom/android/server/textclassifier/TextClassificationManagerService;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
PLcom/android/server/textclassifier/TextClassificationManagerService;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->onSuggestConversationActions(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/ConversationActions$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->validateInput(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/server/textservices/-$$Lambda$TextServicesManagerService$otJ1a5fe5mYJvLrIEr3o1Ia1kSo;->applyAsInt(I)I
-HSPLcom/android/server/textservices/LocaleUtils;->getSuitableLocalesForSpellChecker(Ljava/util/Locale;)Ljava/util/ArrayList;
-HSPLcom/android/server/textservices/TextServicesManagerInternal$1;-><init>()V
-PLcom/android/server/textservices/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;-><init>(Lcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;Lcom/android/server/textservices/TextServicesManagerService$SessionRequest;)V
-PLcom/android/server/textservices/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-PLcom/android/server/textservices/TextServicesManagerService$InternalDeathRecipients;->onCallbackDied(Landroid/os/IInterface;)V
-PLcom/android/server/textservices/TextServicesManagerService$InternalServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
-HSPLcom/android/server/textservices/TextServicesManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;-><init>(Lcom/android/server/textservices/TextServicesManagerService;Lcom/android/server/textservices/TextServicesManagerService$InternalServiceConnection;)V
-PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->cleanLocked()V
-PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->getISpellCheckerSessionOrQueueLocked(Lcom/android/server/textservices/TextServicesManagerService$SessionRequest;)V
-PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->onServiceConnectedLocked(Lcom/android/internal/textservice/ISpellCheckerService;)V
-PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;Lcom/android/server/textservices/TextServicesManagerService$SessionRequest;)V
-PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->removeListener(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-HSPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;-><init>(ILandroid/content/Context;)V
-PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->dump(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
-PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getSelectedSpellCheckerSubtype(I)I
-HSPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->initializeTextServicesData()V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->startListenSettings()V
+HPLcom/android/server/textclassifier/TextClassificationManagerService;->validateInput(Landroid/content/Context;Ljava/lang/String;I)V
+PLcom/android/server/textservices/TextServicesManagerInternal$1;-><init>()V
+PLcom/android/server/textservices/TextServicesManagerInternal;-><clinit>()V
+PLcom/android/server/textservices/TextServicesManagerInternal;-><init>()V
+PLcom/android/server/textservices/TextServicesManagerInternal;->get()Lcom/android/server/textservices/TextServicesManagerInternal;
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;-><init>(Lcom/android/server/textservices/TextServicesManagerService$Lifecycle;)V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->access$800(Lcom/android/server/textservices/TextServicesManagerService$Lifecycle;)Lcom/android/server/textservices/TextServicesManagerService;
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onStart()V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;-><init>(ILandroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->access$1100(Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getBoolean(Ljava/lang/String;Z)Z
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getSelectedSpellChecker()Ljava/lang/String;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->initializeTextServicesData()V
PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->isSpellCheckerEnabled()Z
-HSPLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->setCurrentSpellChecker(Landroid/view/textservice/SpellCheckerInfo;)V
-HSPLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;->onSomePackagesChanged()V
-HSPLcom/android/server/textservices/TextServicesManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/textservices/TextServicesManagerService;->bindCurrentSpellCheckerService(Landroid/content/Intent;Landroid/content/ServiceConnection;II)Z
-PLcom/android/server/textservices/TextServicesManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/textservices/TextServicesManagerService;->findAvailSystemSpellCheckerLocked(Ljava/lang/String;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)Landroid/view/textservice/SpellCheckerInfo;
-PLcom/android/server/textservices/TextServicesManagerService;->finishSpellCheckerService(ILcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellChecker(ILjava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
-HSPLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
-PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;
-PLcom/android/server/textservices/TextServicesManagerService;->getDataFromCallingUserIdLocked(I)Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;
-PLcom/android/server/textservices/TextServicesManagerService;->getSpellCheckerService(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-HSPLcom/android/server/textservices/TextServicesManagerService;->initializeInternalStateLocked(I)V
-PLcom/android/server/textservices/TextServicesManagerService;->isSpellCheckerEnabled(I)Z
-HSPLcom/android/server/textservices/TextServicesManagerService;->lambda$new$0$TextServicesManagerService(I)I
-HSPLcom/android/server/textservices/TextServicesManagerService;->onUnlockUser(I)V
-HSPLcom/android/server/textservices/TextServicesManagerService;->setCurrentSpellCheckerLocked(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)V
-PLcom/android/server/textservices/TextServicesManagerService;->startSpellCheckerServiceInnerLocked(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)Lcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;
-PLcom/android/server/textservices/TextServicesManagerService;->verifyUser(I)V
-HSPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->adjustAndSetDeviceSystemClock(Landroid/util/TimestampedValue;ZJJLjava/lang/String;)V
-PLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->dump(Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->setSystemClockIfRequired(Landroid/util/TimestampedValue;Z)V
-HSPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
-HSPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->validateNewNitzTime(Landroid/util/TimestampedValue;Landroid/util/TimestampedValue;)Z
-HSPLcom/android/server/timedetector/TimeDetectorService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/timedetector/TimeDetectorService$Lifecycle;->onStart()V
-HSPLcom/android/server/timedetector/TimeDetectorService;-><init>(Landroid/content/Context;Lcom/android/server/timedetector/TimeDetectorStrategy$Callback;Lcom/android/server/timedetector/TimeDetectorStrategy;)V
-HSPLcom/android/server/timedetector/TimeDetectorService;->create(Landroid/content/Context;)Lcom/android/server/timedetector/TimeDetectorService;
-PLcom/android/server/timedetector/TimeDetectorService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/timedetector/TimeDetectorService;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->acquireWakeLock()V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->checkWakeLockHeld()V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->elapsedRealtimeMillis()J
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->isTimeDetectionEnabled()Z
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->releaseWakeLock()V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->sendStickyBroadcast(Landroid/content/Intent;)V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->setSystemClock(J)V
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->systemClockMillis()J
-HSPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->systemClockUpdateThresholdMillis()I
-HSPLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;-><init>()V
-HSPLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;->run()V
-PLcom/android/server/trust/TrustAgentWrapper$2;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/trust/TrustAgentWrapper$3;->grantTrust(Ljava/lang/CharSequence;JI)V
-PLcom/android/server/trust/TrustAgentWrapper$3;->revokeTrust()V
-PLcom/android/server/trust/TrustAgentWrapper$3;->setManagingTrust(Z)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;-><init>(Lcom/android/server/textservices/TextServicesManagerService;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;-><init>(Lcom/android/server/textservices/TextServicesManagerService;Lcom/android/server/textservices/TextServicesManagerService$1;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;->onSomePackagesChanged()V
+PLcom/android/server/textservices/TextServicesManagerService;-><clinit>()V
+PLcom/android/server/textservices/TextServicesManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService;->access$900(Lcom/android/server/textservices/TextServicesManagerService;I)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService;->initializeInternalStateLocked(I)V
+PLcom/android/server/textservices/TextServicesManagerService;->onUnlockUser(I)V
+PLcom/android/server/timedetector/SimpleTimeDetectorStrategy;-><init>()V
+PLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->initialize(Lcom/android/server/timedetector/TimeDetectorStrategy$Callback;)V
+PLcom/android/server/timedetector/TimeDetectorService$1;-><init>(Landroid/os/Handler;Lcom/android/server/timedetector/TimeDetectorService;)V
+PLcom/android/server/timedetector/TimeDetectorService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timedetector/TimeDetectorService$Lifecycle;->onStart()V
+PLcom/android/server/timedetector/TimeDetectorService;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timedetector/TimeDetectorStrategy$Callback;Lcom/android/server/timedetector/TimeDetectorStrategy;)V
+PLcom/android/server/timedetector/TimeDetectorService;->access$000(Landroid/content/Context;)Lcom/android/server/timedetector/TimeDetectorService;
+PLcom/android/server/timedetector/TimeDetectorService;->create(Landroid/content/Context;)Lcom/android/server/timedetector/TimeDetectorService;
+PLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timezonedetector/-$$Lambda$TimeZoneDetectorService$9xvncY35tAcP2eoRcnDHHViAoZw;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorService;Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/-$$Lambda$TimeZoneDetectorService$9xvncY35tAcP2eoRcnDHHViAoZw;->run()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;->getDeviceTimeZone()Ljava/lang/String;
+PLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;->isAutoTimeZoneDetectionEnabled()Z
+PLcom/android/server/timezonedetector/TimeZoneDetectorCallbackImpl;->isDeviceTimeZoneInitialized()Z
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$1;-><init>(Landroid/os/Handler;Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService$Lifecycle;->onStart()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->access$000(Landroid/content/Context;)Lcom/android/server/timezonedetector/TimeZoneDetectorService;
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->create(Landroid/content/Context;)Lcom/android/server/timezonedetector/TimeZoneDetectorService;
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->enforceSuggestPhoneTimeZonePermission()V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->lambda$suggestPhoneTimeZone$1$TimeZoneDetectorService(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorService;->suggestPhoneTimeZone(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy$QualifiedPhoneTimeZoneSuggestion;-><init>(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;I)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy;-><init>(Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy$Callback;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy;->create(Landroid/content/Context;)Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy;->doAutoTimeZoneDetection(Ljava/lang/String;)V
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy;->findBestPhoneSuggestion()Lcom/android/server/timezonedetector/TimeZoneDetectorStrategy$QualifiedPhoneTimeZoneSuggestion;
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy;->scorePhoneSuggestion(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)I
+PLcom/android/server/timezonedetector/TimeZoneDetectorStrategy;->suggestPhoneTimeZone(Landroid/app/timezonedetector/PhoneTimeZoneSuggestion;)V
+PLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;-><clinit>()V
+PLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;-><init>()V
+PLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;->run()V
+PLcom/android/server/trust/TrustAgentWrapper$1;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
+PLcom/android/server/trust/TrustAgentWrapper$2;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
+PLcom/android/server/trust/TrustAgentWrapper$3;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
+PLcom/android/server/trust/TrustAgentWrapper$4;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
PLcom/android/server/trust/TrustAgentWrapper$4;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/trust/TrustAgentWrapper$4;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/trust/TrustAgentWrapper;-><clinit>()V
PLcom/android/server/trust/TrustAgentWrapper;-><init>(Landroid/content/Context;Lcom/android/server/trust/TrustManagerService;Landroid/content/Intent;Landroid/os/UserHandle;)V
-PLcom/android/server/trust/TrustAgentWrapper;->destroy()V
-PLcom/android/server/trust/TrustAgentWrapper;->isBound()Z
+PLcom/android/server/trust/TrustAgentWrapper;->access$100(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/os/Handler;
+PLcom/android/server/trust/TrustAgentWrapper;->access$1000(Lcom/android/server/trust/TrustAgentWrapper;)I
+PLcom/android/server/trust/TrustAgentWrapper;->access$1100(Lcom/android/server/trust/TrustAgentWrapper;)Lcom/android/server/trust/TrustManagerService;
+PLcom/android/server/trust/TrustAgentWrapper;->access$1602(Lcom/android/server/trust/TrustAgentWrapper;Landroid/service/trust/ITrustAgentService;)Landroid/service/trust/ITrustAgentService;
+PLcom/android/server/trust/TrustAgentWrapper;->access$1800(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/service/trust/ITrustAgentServiceCallback;
+PLcom/android/server/trust/TrustAgentWrapper;->access$1900(Lcom/android/server/trust/TrustAgentWrapper;Landroid/service/trust/ITrustAgentServiceCallback;)V
+PLcom/android/server/trust/TrustAgentWrapper;->access$2000(Lcom/android/server/trust/TrustAgentWrapper;)Z
+PLcom/android/server/trust/TrustAgentWrapper;->access$500()Z
PLcom/android/server/trust/TrustAgentWrapper;->isConnected()Z
PLcom/android/server/trust/TrustAgentWrapper;->isManagingTrust()Z
PLcom/android/server/trust/TrustAgentWrapper;->isTrusted()Z
PLcom/android/server/trust/TrustAgentWrapper;->onDeviceLocked()V
PLcom/android/server/trust/TrustAgentWrapper;->onDeviceUnlocked()V
PLcom/android/server/trust/TrustAgentWrapper;->onUnlockAttempt(Z)V
+PLcom/android/server/trust/TrustAgentWrapper;->scheduleRestart()V
PLcom/android/server/trust/TrustAgentWrapper;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
PLcom/android/server/trust/TrustAgentWrapper;->updateDevicePolicyFeatures()Z
-PLcom/android/server/trust/TrustArchive;->dump(Ljava/io/PrintWriter;IILjava/lang/String;Z)V
-PLcom/android/server/trust/TrustArchive;->dumpType(I)Ljava/lang/String;
-PLcom/android/server/trust/TrustArchive;->logAgentConnected(ILandroid/content/ComponentName;)V
-PLcom/android/server/trust/TrustArchive;->logAgentDied(ILandroid/content/ComponentName;)V
-PLcom/android/server/trust/TrustArchive;->logAgentStopped(ILandroid/content/ComponentName;)V
-PLcom/android/server/trust/TrustArchive;->logDevicePolicyChanged()V
-PLcom/android/server/trust/TrustArchive;->logGrantTrust(ILandroid/content/ComponentName;Ljava/lang/String;JI)V
-PLcom/android/server/trust/TrustArchive;->logManagingTrust(ILandroid/content/ComponentName;Z)V
-PLcom/android/server/trust/TrustArchive;->logRevokeTrust(ILandroid/content/ComponentName;)V
-PLcom/android/server/trust/TrustManagerService$1$1;->run()V
+HPLcom/android/server/trust/TrustArchive$Event;-><init>(IILandroid/content/ComponentName;Ljava/lang/String;JIZ)V
+PLcom/android/server/trust/TrustArchive$Event;-><init>(IILandroid/content/ComponentName;Ljava/lang/String;JIZLcom/android/server/trust/TrustArchive$1;)V
+PLcom/android/server/trust/TrustArchive;-><init>()V
+PLcom/android/server/trust/TrustManagerService$1;-><init>(Lcom/android/server/trust/TrustManagerService;)V
PLcom/android/server/trust/TrustManagerService$1;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;)V
-PLcom/android/server/trust/TrustManagerService$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/trust/TrustManagerService$1;->dumpUser(Ljava/io/PrintWriter;Landroid/content/pm/UserInfo;Z)V
+PLcom/android/server/trust/TrustManagerService$1;->enforceListenerPermission()V
+PLcom/android/server/trust/TrustManagerService$1;->enforceReportPermission()V
PLcom/android/server/trust/TrustManagerService$1;->isDeviceLocked(I)Z
-HSPLcom/android/server/trust/TrustManagerService$1;->isDeviceSecure(I)Z
-HSPLcom/android/server/trust/TrustManagerService$1;->isTrustUsuallyManaged(I)Z
-HSPLcom/android/server/trust/TrustManagerService$1;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
-HSPLcom/android/server/trust/TrustManagerService$1;->reportEnabledTrustAgentsChanged(I)V
-HSPLcom/android/server/trust/TrustManagerService$1;->reportKeyguardShowingChanged()V
+PLcom/android/server/trust/TrustManagerService$1;->isDeviceSecure(I)Z
+PLcom/android/server/trust/TrustManagerService$1;->isTrustUsuallyManaged(I)Z
+PLcom/android/server/trust/TrustManagerService$1;->lambda$reportKeyguardShowingChanged$0()V
+PLcom/android/server/trust/TrustManagerService$1;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
+PLcom/android/server/trust/TrustManagerService$1;->reportKeyguardShowingChanged()V
PLcom/android/server/trust/TrustManagerService$1;->reportUnlockAttempt(ZI)V
-PLcom/android/server/trust/TrustManagerService$1;->unlockedByBiometricForUser(ILandroid/hardware/biometrics/BiometricSourceType;)V
-HSPLcom/android/server/trust/TrustManagerService$2;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/trust/TrustManagerService$3;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
-HSPLcom/android/server/trust/TrustManagerService$3;->onPackageDisappeared(Ljava/lang/String;I)V
-HSPLcom/android/server/trust/TrustManagerService$3;->onSomePackagesChanged()V
+PLcom/android/server/trust/TrustManagerService$2;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+PLcom/android/server/trust/TrustManagerService$2;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/trust/TrustManagerService$3;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+PLcom/android/server/trust/TrustManagerService$3;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
+PLcom/android/server/trust/TrustManagerService$3;->onPackageDisappeared(Ljava/lang/String;I)V
+PLcom/android/server/trust/TrustManagerService$3;->onSomePackagesChanged()V
+PLcom/android/server/trust/TrustManagerService$AgentInfo;-><init>()V
+PLcom/android/server/trust/TrustManagerService$AgentInfo;-><init>(Lcom/android/server/trust/TrustManagerService$1;)V
PLcom/android/server/trust/TrustManagerService$AgentInfo;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/trust/TrustManagerService$AgentInfo;->hashCode()I
-HSPLcom/android/server/trust/TrustManagerService$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/trust/TrustManagerService$Receiver;->register(Landroid/content/Context;)V
-HSPLcom/android/server/trust/TrustManagerService$SettingsObserver;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/os/Handler;)V
-HSPLcom/android/server/trust/TrustManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/server/trust/TrustManagerService$SettingsObserver;->updateContentObserver()V
+PLcom/android/server/trust/TrustManagerService$AgentInfo;->hashCode()I
+PLcom/android/server/trust/TrustManagerService$Receiver;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+PLcom/android/server/trust/TrustManagerService$Receiver;-><init>(Lcom/android/server/trust/TrustManagerService;Lcom/android/server/trust/TrustManagerService$1;)V
+PLcom/android/server/trust/TrustManagerService$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/trust/TrustManagerService$Receiver;->register(Landroid/content/Context;)V
+PLcom/android/server/trust/TrustManagerService$SettingsAttrs;-><init>(Landroid/content/ComponentName;Z)V
+PLcom/android/server/trust/TrustManagerService$SettingsObserver;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/os/Handler;)V
+PLcom/android/server/trust/TrustManagerService$SettingsObserver;->getTrustAgentsExtendUnlock()Z
+PLcom/android/server/trust/TrustManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/trust/TrustManagerService$SettingsObserver;->updateContentObserver()V
+PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/content/Context;)V
PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->allowTrustFromUnlock(I)V
-PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->canAgentsRunForUser(I)Z
-HSPLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
-PLcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;->isQueued()Z
-PLcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;->onAlarm()V
-PLcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;->setQueued(Z)V
-HSPLcom/android/server/trust/TrustManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/trust/TrustManagerService;->addListener(Landroid/app/trust/ITrustListener;)V
-HSPLcom/android/server/trust/TrustManagerService;->aggregateIsTrustManaged(I)Z
-HSPLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z
-HSPLcom/android/server/trust/TrustManagerService;->dispatchDeviceLocked(IZ)V
-HSPLcom/android/server/trust/TrustManagerService;->dispatchOnTrustChanged(ZII)V
-HSPLcom/android/server/trust/TrustManagerService;->dispatchOnTrustManagedChanged(ZI)V
+PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
+PLcom/android/server/trust/TrustManagerService;-><clinit>()V
+PLcom/android/server/trust/TrustManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/trust/TrustManagerService;->access$100(Lcom/android/server/trust/TrustManagerService;)I
+PLcom/android/server/trust/TrustManagerService;->access$1500(Lcom/android/server/trust/TrustManagerService;I)Z
+PLcom/android/server/trust/TrustManagerService;->access$1600(Lcom/android/server/trust/TrustManagerService;)Landroid/util/SparseBooleanArray;
+PLcom/android/server/trust/TrustManagerService;->access$1800(Lcom/android/server/trust/TrustManagerService;Landroid/app/trust/ITrustListener;)V
+PLcom/android/server/trust/TrustManagerService;->access$2200(Lcom/android/server/trust/TrustManagerService;I)V
+PLcom/android/server/trust/TrustManagerService;->access$300(Lcom/android/server/trust/TrustManagerService;)Landroid/os/Handler;
+PLcom/android/server/trust/TrustManagerService;->access$400(Lcom/android/server/trust/TrustManagerService;)Lcom/android/internal/widget/LockPatternUtils;
+PLcom/android/server/trust/TrustManagerService;->access$500(Lcom/android/server/trust/TrustManagerService;I)I
+PLcom/android/server/trust/TrustManagerService;->access$600(Lcom/android/server/trust/TrustManagerService;)Landroid/content/Context;
+PLcom/android/server/trust/TrustManagerService;->addListener(Landroid/app/trust/ITrustListener;)V
+PLcom/android/server/trust/TrustManagerService;->aggregateIsTrustManaged(I)Z
+PLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z
+PLcom/android/server/trust/TrustManagerService;->dispatchDeviceLocked(IZ)V
+PLcom/android/server/trust/TrustManagerService;->dispatchOnTrustChanged(ZII)V
+PLcom/android/server/trust/TrustManagerService;->dispatchOnTrustManagedChanged(ZI)V
PLcom/android/server/trust/TrustManagerService;->dispatchUnlockAttempt(ZI)V
-HSPLcom/android/server/trust/TrustManagerService;->getSettingsAttrs(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Lcom/android/server/trust/TrustManagerService$SettingsAttrs;
-PLcom/android/server/trust/TrustManagerService;->handleScheduleTrustTimeout(II)V
-HSPLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z
-HSPLcom/android/server/trust/TrustManagerService;->isTrustUsuallyManagedInternal(I)Z
-HSPLcom/android/server/trust/TrustManagerService;->maybeEnableFactoryTrustAgents(Lcom/android/internal/widget/LockPatternUtils;I)V
-PLcom/android/server/trust/TrustManagerService;->maybeLockScreen(I)V
-HSPLcom/android/server/trust/TrustManagerService;->onBootPhase(I)V
-HSPLcom/android/server/trust/TrustManagerService;->onStart()V
-HSPLcom/android/server/trust/TrustManagerService;->onStartUser(I)V
-HSPLcom/android/server/trust/TrustManagerService;->onUnlockUser(I)V
-HSPLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V
-HSPLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(I)V
-HSPLcom/android/server/trust/TrustManagerService;->removeAgentsOfPackage(Ljava/lang/String;)V
-HSPLcom/android/server/trust/TrustManagerService;->resolveAllowedTrustAgents(Landroid/content/pm/PackageManager;I)Ljava/util/List;
-HSPLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I
-HSPLcom/android/server/trust/TrustManagerService;->setDeviceLockedForUser(IZ)V
-HSPLcom/android/server/trust/TrustManagerService;->updateDevicePolicyFeatures()V
-HSPLcom/android/server/trust/TrustManagerService;->updateTrust(II)V
-HSPLcom/android/server/trust/TrustManagerService;->updateTrust(IIZ)V
-PLcom/android/server/trust/TrustManagerService;->updateTrustUsuallyManaged(IZ)V
-HSPLcom/android/server/twilight/TwilightService$1;->getLastTwilightState()Lcom/android/server/twilight/TwilightState;
-HSPLcom/android/server/twilight/TwilightService$1;->registerListener(Lcom/android/server/twilight/TwilightListener;Landroid/os/Handler;)V
-HSPLcom/android/server/twilight/TwilightService$1;->unregisterListener(Lcom/android/server/twilight/TwilightListener;)V
-HSPLcom/android/server/twilight/TwilightService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/twilight/TwilightService$3;->run()V
-HSPLcom/android/server/twilight/TwilightService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/twilight/TwilightService;->calculateTwilightState(Landroid/location/Location;J)Lcom/android/server/twilight/TwilightState;
-HSPLcom/android/server/twilight/TwilightService;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/twilight/TwilightService;->onAlarm()V
-HSPLcom/android/server/twilight/TwilightService;->onBootPhase(I)V
-PLcom/android/server/twilight/TwilightService;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/twilight/TwilightService;->onProviderDisabled(Ljava/lang/String;)V
-PLcom/android/server/twilight/TwilightService;->onProviderEnabled(Ljava/lang/String;)V
-HSPLcom/android/server/twilight/TwilightService;->onStart()V
-HSPLcom/android/server/twilight/TwilightService;->startListening()V
-HSPLcom/android/server/twilight/TwilightService;->updateTwilightState()V
-PLcom/android/server/twilight/TwilightState;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/trust/TrustManagerService;->getComponentName(Landroid/content/pm/ResolveInfo;)Landroid/content/ComponentName;
+PLcom/android/server/trust/TrustManagerService;->getSettingsAttrs(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Lcom/android/server/trust/TrustManagerService$SettingsAttrs;
+PLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z
+PLcom/android/server/trust/TrustManagerService;->isTrustUsuallyManagedInternal(I)Z
+PLcom/android/server/trust/TrustManagerService;->maybeEnableFactoryTrustAgents(Lcom/android/internal/widget/LockPatternUtils;I)V
+PLcom/android/server/trust/TrustManagerService;->onBootPhase(I)V
+PLcom/android/server/trust/TrustManagerService;->onStart()V
+PLcom/android/server/trust/TrustManagerService;->onStartUser(I)V
+PLcom/android/server/trust/TrustManagerService;->onUnlockUser(I)V
+PLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V
+PLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(I)V
+PLcom/android/server/trust/TrustManagerService;->removeAgentsOfPackage(Ljava/lang/String;)V
+PLcom/android/server/trust/TrustManagerService;->resolveAllowedTrustAgents(Landroid/content/pm/PackageManager;I)Ljava/util/List;
+PLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I
+PLcom/android/server/trust/TrustManagerService;->setDeviceLockedForUser(IZ)V
+PLcom/android/server/trust/TrustManagerService;->updateDevicePolicyFeatures()V
+PLcom/android/server/trust/TrustManagerService;->updateTrust(II)V
+PLcom/android/server/trust/TrustManagerService;->updateTrust(IIZ)V
+PLcom/android/server/trust/TrustManagerService;->updateTrustAll()V
+HSPLcom/android/server/tv/TvInputHal;-><clinit>()V
+PLcom/android/server/twilight/TwilightService$1;-><init>(Lcom/android/server/twilight/TwilightService;)V
+PLcom/android/server/twilight/TwilightService$1;->getLastTwilightState()Lcom/android/server/twilight/TwilightState;
+PLcom/android/server/twilight/TwilightService$1;->unregisterListener(Lcom/android/server/twilight/TwilightListener;)V
+PLcom/android/server/twilight/TwilightService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/twilight/TwilightService;->access$000(Lcom/android/server/twilight/TwilightService;)Landroid/util/ArrayMap;
+PLcom/android/server/twilight/TwilightService;->onBootPhase(I)V
+PLcom/android/server/twilight/TwilightService;->onStart()V
+PLcom/android/server/updates/CertPinInstallReceiver;-><init>()V
+PLcom/android/server/updates/ConfigUpdateInstallReceiver$1;-><init>(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Intent;Landroid/content/Context;)V
+PLcom/android/server/updates/ConfigUpdateInstallReceiver$1;->run()V
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$000(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Intent;)I
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$100(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Intent;)Ljava/lang/String;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$200(Lcom/android/server/updates/ConfigUpdateInstallReceiver;)I
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$300(Lcom/android/server/updates/ConfigUpdateInstallReceiver;)[B
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$400([B)Ljava/lang/String;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$500(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$600(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Context;Landroid/content/Intent;)Ljava/io/BufferedInputStream;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getAltContent(Landroid/content/Context;Landroid/content/Intent;)Ljava/io/BufferedInputStream;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getContentFromIntent(Landroid/content/Intent;)Landroid/net/Uri;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getCurrentContent()[B
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getCurrentHash([B)Ljava/lang/String;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getCurrentVersion()I
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getRequiredHashFromIntent(Landroid/content/Intent;)Ljava/lang/String;
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getVersionFromIntent(Landroid/content/Intent;)I
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->verifyPreviousHash(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/updates/ConfigUpdateInstallReceiver;->verifyVersion(II)Z
+PLcom/android/server/updates/ConversationActionsInstallReceiver;-><init>()V
+PLcom/android/server/updates/ConversationActionsInstallReceiver;->verifyVersion(II)Z
+PLcom/android/server/updates/LangIdInstallReceiver;-><init>()V
+PLcom/android/server/updates/LangIdInstallReceiver;->verifyVersion(II)Z
+PLcom/android/server/updates/SmartSelectionInstallReceiver;-><init>()V
+PLcom/android/server/updates/SmartSelectionInstallReceiver;->verifyVersion(II)Z
+PLcom/android/server/updates/SmsShortCodesInstallReceiver;-><init>()V
+PLcom/android/server/uri/GrantUri;-><init>(ILandroid/net/Uri;Z)V
PLcom/android/server/uri/GrantUri;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/uri/GrantUri;->hashCode()I
-HSPLcom/android/server/uri/GrantUri;->resolve(ILandroid/net/Uri;)Lcom/android/server/uri/GrantUri;
-PLcom/android/server/uri/GrantUri;->toString()Ljava/lang/String;
+PLcom/android/server/uri/GrantUri;->hashCode()I
+PLcom/android/server/uri/GrantUri;->resolve(ILandroid/net/Uri;)Lcom/android/server/uri/GrantUri;
+HSPLcom/android/server/uri/UriGrantsManagerService$H;-><init>(Lcom/android/server/uri/UriGrantsManagerService;Landroid/os/Looper;)V
HSPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
HSPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
-PLcom/android/server/uri/UriGrantsManagerService$LocalService;->dump(Ljava/io/PrintWriter;ZLjava/lang/String;)V
+HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;-><init>(Lcom/android/server/uri/UriGrantsManagerService;)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
+HPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
-PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;I)V
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
-PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionUncheckedFromIntent(Lcom/android/server/uri/NeededUriGrants;Lcom/android/server/uri/UriPermissionOwner;)V
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->onActivityManagerInternalAdded()V
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->onSystemReady()V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->onSystemReady()V
PLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionIfNeeded(Lcom/android/server/uri/UriPermission;)V
-HSPLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
PLcom/android/server/uri/UriGrantsManagerService$LocalService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
PLcom/android/server/uri/UriGrantsManagerService$LocalService;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;II)V
HSPLcom/android/server/uri/UriGrantsManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/uri/UriGrantsManagerService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
-HSPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
-HSPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;II)I
-HSPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;
-HSPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInternal(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;IIZ)Z
-HSPLcom/android/server/uri/UriGrantsManagerService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
-HSPLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
-HSPLcom/android/server/uri/UriGrantsManagerService;->findOrCreateUriPermission(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)Lcom/android/server/uri/UriPermission;
-PLcom/android/server/uri/UriGrantsManagerService;->getPersistedUriPermissions(Ljava/lang/String;ZZ)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
-HSPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
-HSPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
+HSPLcom/android/server/uri/UriGrantsManagerService;-><init>(Landroid/content/Context;Lcom/android/server/uri/UriGrantsManagerService$1;)V
+HSPLcom/android/server/uri/UriGrantsManagerService;->access$100(Lcom/android/server/uri/UriGrantsManagerService;)V
+HSPLcom/android/server/uri/UriGrantsManagerService;->access$300(Lcom/android/server/uri/UriGrantsManagerService;)Ljava/lang/Object;
+PLcom/android/server/uri/UriGrantsManagerService;->access$500(Lcom/android/server/uri/UriGrantsManagerService;Ljava/lang/String;)V
+PLcom/android/server/uri/UriGrantsManagerService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
+PLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;II)I
+HPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;
+PLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInternal(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;IIZ)Z
+PLcom/android/server/uri/UriGrantsManagerService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
+PLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+PLcom/android/server/uri/UriGrantsManagerService;->findOrCreateUriPermission(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)Lcom/android/server/uri/UriPermission;
+PLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HPLcom/android/server/uri/UriGrantsManagerService;->getUriPermissions(Ljava/lang/String;ZZ)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUnchecked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;)V
-PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUncheckedFromIntent(Lcom/android/server/uri/NeededUriGrants;Lcom/android/server/uri/UriPermissionOwner;)V
-PLcom/android/server/uri/UriGrantsManagerService;->matchesProvider(Landroid/net/Uri;Landroid/content/pm/ProviderInfo;)Z
HSPLcom/android/server/uri/UriGrantsManagerService;->onActivityManagerInternalAdded()V
-HSPLcom/android/server/uri/UriGrantsManagerService;->readGrantedUriPermissions()V
+PLcom/android/server/uri/UriGrantsManagerService;->readGrantedUriPermissions()V
PLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionIfNeeded(Lcom/android/server/uri/UriPermission;)V
-HSPLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
-PLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
-HSPLcom/android/server/uri/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)V
-PLcom/android/server/uri/UriPermission;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HPLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
+HPLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
+HSPLcom/android/server/uri/UriGrantsManagerService;->start()V
+PLcom/android/server/uri/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)V
+PLcom/android/server/uri/UriPermission;->addReadOwner(Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriPermission;->getStrength(I)I
PLcom/android/server/uri/UriPermission;->grantModes(ILcom/android/server/uri/UriPermissionOwner;)V
PLcom/android/server/uri/UriPermission;->removeReadOwner(Lcom/android/server/uri/UriPermissionOwner;)V
-PLcom/android/server/uri/UriPermission;->removeWriteOwner(Lcom/android/server/uri/UriPermissionOwner;)V
-HSPLcom/android/server/uri/UriPermission;->revokeModes(IZ)Z
-PLcom/android/server/uri/UriPermission;->toString()Ljava/lang/String;
-HSPLcom/android/server/uri/UriPermission;->updateModeFlags()V
-HSPLcom/android/server/uri/UriPermissionOwner$ExternalToken;->getOwner()Lcom/android/server/uri/UriPermissionOwner;
+PLcom/android/server/uri/UriPermission;->revokeModes(IZ)Z
+PLcom/android/server/uri/UriPermission;->updateModeFlags()V
+PLcom/android/server/uri/UriPermissionOwner$ExternalToken;-><init>(Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriPermissionOwner;-><init>(Lcom/android/server/uri/UriGrantsManagerInternal;Ljava/lang/Object;)V
PLcom/android/server/uri/UriPermissionOwner;->addReadPermission(Lcom/android/server/uri/UriPermission;)V
-PLcom/android/server/uri/UriPermissionOwner;->addWritePermission(Lcom/android/server/uri/UriPermission;)V
-PLcom/android/server/uri/UriPermissionOwner;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/uri/UriPermissionOwner;->removeReadPermission(Lcom/android/server/uri/UriPermission;)V
-HSPLcom/android/server/uri/UriPermissionOwner;->removeUriPermission(Lcom/android/server/uri/GrantUri;I)V
-HSPLcom/android/server/uri/UriPermissionOwner;->removeUriPermissions()V
-HSPLcom/android/server/uri/UriPermissionOwner;->removeUriPermissions(I)V
-PLcom/android/server/uri/UriPermissionOwner;->toString()Ljava/lang/String;
-PLcom/android/server/usage/-$$Lambda$UserUsageStatsService$wWX7s9XZT5O4B7JcG_IB_VcPI9s;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-HSPLcom/android/server/usage/AppIdleHistory;->clearUsage(Ljava/lang/String;I)V
-PLcom/android/server/usage/AppIdleHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;ILjava/lang/String;)V
-HSPLcom/android/server/usage/AppIdleHistory;->getAppStandbyBucket(Ljava/lang/String;IJ)I
-PLcom/android/server/usage/AppIdleHistory;->getAppStandbyBuckets(IZ)Ljava/util/ArrayList;
-HSPLcom/android/server/usage/AppIdleHistory;->getAppUsageHistory(Ljava/lang/String;IJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-HSPLcom/android/server/usage/AppIdleHistory;->getElapsedTime(J)J
-HSPLcom/android/server/usage/AppIdleHistory;->getPackageHistory(Landroid/util/ArrayMap;Ljava/lang/String;JZ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-HSPLcom/android/server/usage/AppIdleHistory;->getScreenOnTime(J)J
-HSPLcom/android/server/usage/AppIdleHistory;->getScreenOnTimeFile()Ljava/io/File;
-HSPLcom/android/server/usage/AppIdleHistory;->getThresholdIndex(Ljava/lang/String;IJ[J[J)I
-HSPLcom/android/server/usage/AppIdleHistory;->getTimeSinceLastJobRun(Ljava/lang/String;IJ)J
-HSPLcom/android/server/usage/AppIdleHistory;->getUserFile(I)Ljava/io/File;
-HSPLcom/android/server/usage/AppIdleHistory;->isIdle(Ljava/lang/String;IJ)Z
-HSPLcom/android/server/usage/AppIdleHistory;->readAppIdleTimes(ILandroid/util/ArrayMap;)V
-HSPLcom/android/server/usage/AppIdleHistory;->readScreenOnTime()V
-HSPLcom/android/server/usage/AppIdleHistory;->reportUsage(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;Ljava/lang/String;IIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-PLcom/android/server/usage/AppIdleHistory;->reportUsage(Ljava/lang/String;IIIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-HSPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJII)V
-HSPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJIIZ)V
-HSPLcom/android/server/usage/AppIdleHistory;->setLastJobRunTime(Ljava/lang/String;IJ)V
-HSPLcom/android/server/usage/AppIdleHistory;->shouldInformListeners(Ljava/lang/String;IJI)Z
-HSPLcom/android/server/usage/AppIdleHistory;->updateDisplay(ZJ)V
-PLcom/android/server/usage/AppIdleHistory;->updateLastPrediction(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;JI)V
-HSPLcom/android/server/usage/AppIdleHistory;->userFileExists(I)Z
-PLcom/android/server/usage/AppIdleHistory;->writeAppIdleDurations()V
-PLcom/android/server/usage/AppIdleHistory;->writeAppIdleTimes(I)V
-PLcom/android/server/usage/AppIdleHistory;->writeScreenOnTime()V
-PLcom/android/server/usage/AppStandbyController$2;->onDisplayAdded(I)V
-HSPLcom/android/server/usage/AppStandbyController$2;->onDisplayChanged(I)V
-PLcom/android/server/usage/AppStandbyController$2;->onDisplayRemoved(I)V
-HSPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usage/AppStandbyController$Injector;->currentTimeMillis()J
-HSPLcom/android/server/usage/AppStandbyController$Injector;->elapsedRealtime()J
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getActiveNetworkScorer()Ljava/lang/String;
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getAppIdleSettings()Ljava/lang/String;
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getBootPhase()I
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getContext()Landroid/content/Context;
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getDataSystemDirectory()Ljava/io/File;
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getLooper()Landroid/os/Looper;
-HSPLcom/android/server/usage/AppStandbyController$Injector;->getRunningUserIds()[I
-HSPLcom/android/server/usage/AppStandbyController$Injector;->isAppIdleEnabled()Z
-HSPLcom/android/server/usage/AppStandbyController$Injector;->isBoundWidgetPackage(Landroid/appwidget/AppWidgetManager;Ljava/lang/String;I)Z
-HSPLcom/android/server/usage/AppStandbyController$Injector;->isCharging()Z
-HSPLcom/android/server/usage/AppStandbyController$Injector;->isDefaultDisplayOn()Z
-PLcom/android/server/usage/AppStandbyController$Injector;->isDeviceIdleMode()Z
-PLcom/android/server/usage/AppStandbyController$Injector;->isPackageEphemeral(ILjava/lang/String;)Z
-PLcom/android/server/usage/AppStandbyController$Injector;->isPackageInstalled(Ljava/lang/String;II)Z
-HSPLcom/android/server/usage/AppStandbyController$Injector;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-HSPLcom/android/server/usage/AppStandbyController$Injector;->noteEvent(ILjava/lang/String;I)V
-HSPLcom/android/server/usage/AppStandbyController$Injector;->onBootPhase(I)V
-HSPLcom/android/server/usage/AppStandbyController$Injector;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-HSPLcom/android/server/usage/AppStandbyController$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usage/AppStandbyController$SettingsObserver;->parseLongArray(Ljava/lang/String;[J)[J
-HSPLcom/android/server/usage/AppStandbyController$SettingsObserver;->registerObserver()V
-HSPLcom/android/server/usage/AppStandbyController$SettingsObserver;->updateSettings()V
-HSPLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->obtain(Ljava/lang/String;IIIZ)Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;
-HSPLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->recycle()V
-HSPLcom/android/server/usage/AppStandbyController;-><init>(Lcom/android/server/usage/AppStandbyController$Injector;)V
-HSPLcom/android/server/usage/AppStandbyController;->addListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-HSPLcom/android/server/usage/AppStandbyController;->checkAndUpdateStandbyState(Ljava/lang/String;IIJ)V
-HSPLcom/android/server/usage/AppStandbyController;->checkIdleStates(I)Z
-HSPLcom/android/server/usage/AppStandbyController;->clearAppIdleForPackage(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/AppStandbyController;->clearCarrierPrivilegedApps()V
-PLcom/android/server/usage/AppStandbyController;->dumpState([Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/usage/AppStandbyController;->dumpUser(Lcom/android/internal/util/IndentingPrintWriter;ILjava/lang/String;)V
-PLcom/android/server/usage/AppStandbyController;->flushDurationsToDisk()V
-PLcom/android/server/usage/AppStandbyController;->flushToDisk(I)V
-PLcom/android/server/usage/AppStandbyController;->getAppId(Ljava/lang/String;)I
-HSPLcom/android/server/usage/AppStandbyController;->getAppStandbyBucket(Ljava/lang/String;IJZ)I
-PLcom/android/server/usage/AppStandbyController;->getAppStandbyBuckets(I)Ljava/util/List;
-HSPLcom/android/server/usage/AppStandbyController;->getBucketForLocked(Ljava/lang/String;IJ)I
-HSPLcom/android/server/usage/AppStandbyController;->getIdleUidsForUser(I)[I
-HSPLcom/android/server/usage/AppStandbyController;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
-HSPLcom/android/server/usage/AppStandbyController;->informListeners(Ljava/lang/String;IIIZ)V
-HSPLcom/android/server/usage/AppStandbyController;->informParoleStateChanged()V
-PLcom/android/server/usage/AppStandbyController;->initializeDefaultsForSystemApps(I)V
-HSPLcom/android/server/usage/AppStandbyController;->isActiveDeviceAdmin(Ljava/lang/String;I)Z
-HSPLcom/android/server/usage/AppStandbyController;->isAppIdleFiltered(Ljava/lang/String;IIJ)Z
-PLcom/android/server/usage/AppStandbyController;->isAppIdleFilteredOrParoled(Ljava/lang/String;IJZ)Z
-HSPLcom/android/server/usage/AppStandbyController;->isAppIdleUnfiltered(Ljava/lang/String;IJ)Z
-HSPLcom/android/server/usage/AppStandbyController;->isAppSpecial(Ljava/lang/String;II)Z
-HSPLcom/android/server/usage/AppStandbyController;->isCarrierApp(Ljava/lang/String;)Z
-HSPLcom/android/server/usage/AppStandbyController;->isDisplayOn()Z
-HSPLcom/android/server/usage/AppStandbyController;->isParoledOrCharging()Z
-HSPLcom/android/server/usage/AppStandbyController;->maybeInformListeners(Ljava/lang/String;IJIIZ)V
-HSPLcom/android/server/usage/AppStandbyController;->notifyBatteryStats(Ljava/lang/String;IZ)V
-HSPLcom/android/server/usage/AppStandbyController;->onAdminDataAvailable()V
-HSPLcom/android/server/usage/AppStandbyController;->onBootPhase(I)V
-PLcom/android/server/usage/AppStandbyController;->onDeviceIdleModeChanged()V
-HSPLcom/android/server/usage/AppStandbyController;->postCheckIdleStates(I)V
-HSPLcom/android/server/usage/AppStandbyController;->postOneTimeCheckIdleStates()V
-HSPLcom/android/server/usage/AppStandbyController;->postReportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/usage/AppStandbyController;->postReportExemptedSyncStart(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/AppStandbyController;->postReportSyncScheduled(Ljava/lang/String;IZ)V
-HSPLcom/android/server/usage/AppStandbyController;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/usage/AppStandbyController;->reportEvent(Landroid/app/usage/UsageEvents$Event;JI)V
-PLcom/android/server/usage/AppStandbyController;->reportExemptedSyncScheduled(Ljava/lang/String;I)V
-PLcom/android/server/usage/AppStandbyController;->reportExemptedSyncStart(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/AppStandbyController;->reportUnexemptedSyncScheduled(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/AppStandbyController;->setActiveAdminApps(Ljava/util/Set;I)V
-HSPLcom/android/server/usage/AppStandbyController;->setAppIdleEnabled(Z)V
-PLcom/android/server/usage/AppStandbyController;->setAppIdleParoled(Z)V
-PLcom/android/server/usage/AppStandbyController;->setAppStandbyBucket(Ljava/lang/String;IIIJZ)V
-HSPLcom/android/server/usage/AppStandbyController;->setChargingState(Z)V
-HSPLcom/android/server/usage/AppStandbyController;->setLastJobRunTime(Ljava/lang/String;IJ)V
-PLcom/android/server/usage/AppStandbyController;->updateChargingStableState()V
-HSPLcom/android/server/usage/AppStandbyController;->usageEventToSubReason(I)I
-PLcom/android/server/usage/AppTimeLimitController$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/usage/AppTimeLimitController$ObserverAppData;-><init>(Lcom/android/server/usage/AppTimeLimitController;ILcom/android/server/usage/AppTimeLimitController$1;)V
-PLcom/android/server/usage/AppTimeLimitController$ObserverAppData;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/usage/AppTimeLimitController$SessionUsageGroup;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/usage/AppTimeLimitController$SessionUsageGroup;->noteUsageStart(JJ)V
-PLcom/android/server/usage/AppTimeLimitController$SessionUsageGroup;->noteUsageStop(J)V
-PLcom/android/server/usage/AppTimeLimitController$SessionUsageGroup;->onSessionEnd()V
-PLcom/android/server/usage/AppTimeLimitController$UsageGroup;-><init>(Lcom/android/server/usage/AppTimeLimitController;Lcom/android/server/usage/AppTimeLimitController$UserData;Lcom/android/server/usage/AppTimeLimitController$ObserverAppData;I[Ljava/lang/String;JLandroid/app/PendingIntent;)V
-PLcom/android/server/usage/AppTimeLimitController$UsageGroup;->checkTimeout(J)V
-PLcom/android/server/usage/AppTimeLimitController$UsageGroup;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/usage/AppTimeLimitController$UsageGroup;->noteUsageStart(JJ)V
-PLcom/android/server/usage/AppTimeLimitController$UsageGroup;->noteUsageStop(J)V
-PLcom/android/server/usage/AppTimeLimitController$UsageGroup;->onLimitReached()V
-PLcom/android/server/usage/AppTimeLimitController$UserData;->addUsageGroup(Lcom/android/server/usage/AppTimeLimitController$UsageGroup;)V
+PLcom/android/server/uri/UriPermissionOwner;->getExternalToken()Landroid/os/Binder;
+PLcom/android/server/uri/UriPermissionOwner;->removeUriPermission(Lcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriPermissionOwner;->removeUriPermissions()V
+PLcom/android/server/usage/AppTimeLimitController$Lock;-><init>()V
+PLcom/android/server/usage/AppTimeLimitController$Lock;-><init>(Lcom/android/server/usage/AppTimeLimitController$1;)V
+PLcom/android/server/usage/AppTimeLimitController$MyHandler;-><init>(Lcom/android/server/usage/AppTimeLimitController;Landroid/os/Looper;)V
+PLcom/android/server/usage/AppTimeLimitController$UserData;-><init>(Lcom/android/server/usage/AppTimeLimitController;I)V
+PLcom/android/server/usage/AppTimeLimitController$UserData;-><init>(Lcom/android/server/usage/AppTimeLimitController;ILcom/android/server/usage/AppTimeLimitController$1;)V
PLcom/android/server/usage/AppTimeLimitController$UserData;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/usage/AppTimeLimitController$UserData;->isActive([Ljava/lang/String;)Z
-HSPLcom/android/server/usage/AppTimeLimitController;-><init>(Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;Landroid/os/Looper;)V
-PLcom/android/server/usage/AppTimeLimitController;->addUsageSessionObserver(II[Ljava/lang/String;JJLandroid/app/PendingIntent;Landroid/app/PendingIntent;I)V
+PLcom/android/server/usage/AppTimeLimitController;-><clinit>()V
+PLcom/android/server/usage/AppTimeLimitController;-><init>(Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;Landroid/os/Looper;)V
PLcom/android/server/usage/AppTimeLimitController;->dump([Ljava/lang/String;Ljava/io/PrintWriter;)V
PLcom/android/server/usage/AppTimeLimitController;->getAppUsageLimit(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/UsageStatsManagerInternal$AppUsageLimitData;
-PLcom/android/server/usage/AppTimeLimitController;->getMinTimeLimit()J
-HSPLcom/android/server/usage/AppTimeLimitController;->getUptimeMillis()J
-PLcom/android/server/usage/AppTimeLimitController;->getUsageSessionObserverPerUidLimit()J
-HSPLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;IJ)V
-HSPLcom/android/server/usage/AppTimeLimitController;->noteUsageStop(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/IntervalStats;-><init>()V
-HSPLcom/android/server/usage/IntervalStats;->addEvent(Landroid/app/usage/UsageEvents$Event;)V
-HSPLcom/android/server/usage/IntervalStats;->buildEvent(Landroid/util/proto/ProtoInputStream;Ljava/util/List;)Landroid/app/usage/UsageEvents$Event;
-HSPLcom/android/server/usage/IntervalStats;->commitTime(J)V
-HSPLcom/android/server/usage/IntervalStats;->getOrCreateConfigurationStats(Landroid/content/res/Configuration;)Landroid/app/usage/ConfigurationStats;
-HSPLcom/android/server/usage/IntervalStats;->getOrCreateUsageStats(Ljava/lang/String;)Landroid/app/usage/UsageStats;
-HSPLcom/android/server/usage/IntervalStats;->incrementAppLaunchCount(Ljava/lang/String;)V
-HSPLcom/android/server/usage/IntervalStats;->update(Ljava/lang/String;Ljava/lang/String;JII)V
-PLcom/android/server/usage/IntervalStats;->updateChooserCounts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/usage/IntervalStats;->updateConfigurationStats(Landroid/content/res/Configuration;J)V
-HSPLcom/android/server/usage/IntervalStats;->updateKeyguardHidden(J)V
-HSPLcom/android/server/usage/IntervalStats;->updateKeyguardShown(J)V
-HSPLcom/android/server/usage/IntervalStats;->updateScreenInteractive(J)V
+PLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;IJ)V
+PLcom/android/server/usage/AppTimeLimitController;->noteUsageStop(Ljava/lang/String;I)V
+HPLcom/android/server/usage/IntervalStats$EventTracker;-><init>()V
+PLcom/android/server/usage/IntervalStats$EventTracker;->commitTime(J)V
+PLcom/android/server/usage/IntervalStats$EventTracker;->update(J)V
+PLcom/android/server/usage/IntervalStats;-><init>()V
+PLcom/android/server/usage/IntervalStats;->addEvent(Landroid/app/usage/UsageEvents$Event;)V
+HPLcom/android/server/usage/IntervalStats;->deobfuscateData(Lcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/IntervalStats;->deobfuscateEvents(Lcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/IntervalStats;->deobfuscateUsageStats(Lcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/IntervalStats;->getCachedStringRef(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usage/IntervalStats;->getOrCreateConfigurationStats(Landroid/content/res/Configuration;)Landroid/app/usage/ConfigurationStats;
+HPLcom/android/server/usage/IntervalStats;->getOrCreateUsageStats(Ljava/lang/String;)Landroid/app/usage/UsageStats;
+PLcom/android/server/usage/IntervalStats;->incrementAppLaunchCount(Ljava/lang/String;)V
+PLcom/android/server/usage/IntervalStats;->obfuscateData(Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/IntervalStats;->obfuscateEventsData(Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/IntervalStats;->obfuscateUsageStatsData(Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/IntervalStats;->update(Ljava/lang/String;Ljava/lang/String;JII)V
+PLcom/android/server/usage/IntervalStats;->updateConfigurationStats(Landroid/content/res/Configuration;J)V
+PLcom/android/server/usage/IntervalStats;->updateKeyguardHidden(J)V
+PLcom/android/server/usage/IntervalStats;->updateKeyguardShown(J)V
+PLcom/android/server/usage/IntervalStats;->updateScreenInteractive(J)V
PLcom/android/server/usage/IntervalStats;->updateScreenNonInteractive(J)V
-HSPLcom/android/server/usage/IntervalStats;->upgradeIfNeeded()V
-HSPLcom/android/server/usage/StorageStatsService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-HSPLcom/android/server/usage/StorageStatsService$H;-><init>(Lcom/android/server/usage/StorageStatsService;Landroid/os/Looper;)V
-HSPLcom/android/server/usage/StorageStatsService$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/usage/StorageStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/usage/StorageStatsService$Lifecycle;->onStart()V
-HSPLcom/android/server/usage/StorageStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/PackagesTokenData;-><init>()V
+HPLcom/android/server/usage/PackagesTokenData;->getPackageString(I)Ljava/lang/String;
+HPLcom/android/server/usage/PackagesTokenData;->getPackageTokenOrAdd(Ljava/lang/String;J)I
+HPLcom/android/server/usage/PackagesTokenData;->getString(II)Ljava/lang/String;
+HPLcom/android/server/usage/PackagesTokenData;->getTokenOrAdd(ILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/server/usage/PackagesTokenData;->removePackage(Ljava/lang/String;J)I
+PLcom/android/server/usage/StorageStatsService$1;-><init>(Lcom/android/server/usage/StorageStatsService;)V
+PLcom/android/server/usage/StorageStatsService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/usage/StorageStatsService$H;-><init>(Lcom/android/server/usage/StorageStatsService;Landroid/os/Looper;)V
+PLcom/android/server/usage/StorageStatsService$H;->getInitializedStrategy()Lcom/android/server/storage/CacheQuotaStrategy;
+PLcom/android/server/usage/StorageStatsService$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usage/StorageStatsService$H;->recalculateQuotas(Lcom/android/server/storage/CacheQuotaStrategy;)V
+PLcom/android/server/usage/StorageStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/StorageStatsService$Lifecycle;->onStart()V
+PLcom/android/server/usage/StorageStatsService;-><clinit>()V
+PLcom/android/server/usage/StorageStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/StorageStatsService;->access$100(Lcom/android/server/usage/StorageStatsService;)Landroid/content/Context;
+PLcom/android/server/usage/StorageStatsService;->access$200(Lcom/android/server/usage/StorageStatsService;)Lcom/android/server/pm/Installer;
+PLcom/android/server/usage/StorageStatsService;->access$300(Lcom/android/server/usage/StorageStatsService;)Landroid/util/ArrayMap;
PLcom/android/server/usage/StorageStatsService;->enforcePermission(ILjava/lang/String;)V
-PLcom/android/server/usage/StorageStatsService;->getAppIds(I)[I
+HPLcom/android/server/usage/StorageStatsService;->getAppIds(I)[I
PLcom/android/server/usage/StorageStatsService;->getCacheBytes(Ljava/lang/String;Ljava/lang/String;)J
-PLcom/android/server/usage/StorageStatsService;->getCacheQuotaBytes(Ljava/lang/String;ILjava/lang/String;)J
PLcom/android/server/usage/StorageStatsService;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
PLcom/android/server/usage/StorageStatsService;->getTotalBytes(Ljava/lang/String;Ljava/lang/String;)J
-HSPLcom/android/server/usage/StorageStatsService;->invalidateMounts()V
+PLcom/android/server/usage/StorageStatsService;->invalidateMounts()V
+PLcom/android/server/usage/StorageStatsService;->isCacheQuotaCalculationsEnabled(Landroid/content/ContentResolver;)Z
PLcom/android/server/usage/StorageStatsService;->isQuotaSupported(Ljava/lang/String;Ljava/lang/String;)Z
PLcom/android/server/usage/StorageStatsService;->notifySignificantDelta()V
-PLcom/android/server/usage/StorageStatsService;->queryExternalStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/ExternalStorageStats;
PLcom/android/server/usage/StorageStatsService;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
PLcom/android/server/usage/StorageStatsService;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
PLcom/android/server/usage/StorageStatsService;->queryStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-HSPLcom/android/server/usage/UnixCalendar;->addDays(I)V
-HSPLcom/android/server/usage/UnixCalendar;->addMonths(I)V
-HSPLcom/android/server/usage/UnixCalendar;->addWeeks(I)V
-HSPLcom/android/server/usage/UnixCalendar;->addYears(I)V
-HSPLcom/android/server/usage/UnixCalendar;->getTimeInMillis()J
-HSPLcom/android/server/usage/UnixCalendar;->setTimeInMillis(J)V
-HSPLcom/android/server/usage/UsageStatsDatabase$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
-HSPLcom/android/server/usage/UsageStatsDatabase;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;I)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->checkVersionAndBuildLocked()V
+PLcom/android/server/usage/UnixCalendar;-><init>(J)V
+PLcom/android/server/usage/UnixCalendar;->addDays(I)V
+PLcom/android/server/usage/UnixCalendar;->addMonths(I)V
+PLcom/android/server/usage/UnixCalendar;->addWeeks(I)V
+PLcom/android/server/usage/UnixCalendar;->addYears(I)V
+PLcom/android/server/usage/UnixCalendar;->getTimeInMillis()J
+PLcom/android/server/usage/UnixCalendar;->setTimeInMillis(J)V
+PLcom/android/server/usage/UsageStatsDatabase$1;-><init>(Lcom/android/server/usage/UsageStatsDatabase;)V
+PLcom/android/server/usage/UsageStatsDatabase$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+PLcom/android/server/usage/UsageStatsDatabase;-><clinit>()V
+PLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;)V
+PLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;I)V
+PLcom/android/server/usage/UsageStatsDatabase;->checkVersionAndBuildLocked()V
PLcom/android/server/usage/UsageStatsDatabase;->checkinDailyFiles(Lcom/android/server/usage/UsageStatsDatabase$CheckinAction;)Z
-PLcom/android/server/usage/UsageStatsDatabase;->dump(Lcom/android/internal/util/IndentingPrintWriter;Z)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->findBestFitBucket(JJ)I
+HPLcom/android/server/usage/UsageStatsDatabase;->filterStats(Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsDatabase;->findBestFitBucket(JJ)I
PLcom/android/server/usage/UsageStatsDatabase;->getBackupPayload(Ljava/lang/String;)[B
PLcom/android/server/usage/UsageStatsDatabase;->getBackupPayload(Ljava/lang/String;I)[B
-HSPLcom/android/server/usage/UsageStatsDatabase;->getBuildFingerprint()Ljava/lang/String;
-HSPLcom/android/server/usage/UsageStatsDatabase;->getLatestUsageStats(I)Lcom/android/server/usage/IntervalStats;
-HSPLcom/android/server/usage/UsageStatsDatabase;->indexFilesLocked()V
-HSPLcom/android/server/usage/UsageStatsDatabase;->init(J)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->isNewUpdate()Z
-HSPLcom/android/server/usage/UsageStatsDatabase;->onTimeChanged(J)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Ljava/io/File;)J
-HSPLcom/android/server/usage/UsageStatsDatabase;->prune(J)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->pruneChooserCountsOlderThan(Ljava/io/File;J)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->pruneFilesOlderThan(Ljava/io/File;J)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->queryUsageStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
-HSPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;I)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;I)V
+PLcom/android/server/usage/UsageStatsDatabase;->getBuildFingerprint()Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsDatabase;->getLatestUsageStats(I)Lcom/android/server/usage/IntervalStats;
+PLcom/android/server/usage/UsageStatsDatabase;->indexFilesLocked()V
+PLcom/android/server/usage/UsageStatsDatabase;->init(J)V
+PLcom/android/server/usage/UsageStatsDatabase;->isNewUpdate()Z
+PLcom/android/server/usage/UsageStatsDatabase;->obfuscateCurrentStats([Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Landroid/util/AtomicFile;)J
+HPLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Ljava/io/File;)J
+PLcom/android/server/usage/UsageStatsDatabase;->prune(J)V
+PLcom/android/server/usage/UsageStatsDatabase;->pruneChooserCountsOlderThan(Ljava/io/File;J)V
+PLcom/android/server/usage/UsageStatsDatabase;->pruneFilesOlderThan(Ljava/io/File;J)V
+PLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsDatabase;->queryUsageStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
+HPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;)Z
+HPLcom/android/server/usage/UsageStatsDatabase;->readMappingsLocked()V
+PLcom/android/server/usage/UsageStatsDatabase;->sanitizeIntervalStatsForBackup(Lcom/android/server/usage/IntervalStats;)V
PLcom/android/server/usage/UsageStatsDatabase;->serializeIntervalStats(Lcom/android/server/usage/IntervalStats;I)[B
+PLcom/android/server/usage/UsageStatsDatabase;->wasUpgradePerformed()Z
PLcom/android/server/usage/UsageStatsDatabase;->writeIntervalStatsToStream(Ljava/io/DataOutputStream;Landroid/util/AtomicFile;I)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;I)V
-HSPLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;I)V
-HSPLcom/android/server/usage/UsageStatsProto;->loadChooserCounts(Landroid/util/proto/ProtoInputStream;Landroid/app/usage/UsageStats;)V
-HSPLcom/android/server/usage/UsageStatsProto;->loadConfigStats(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;)V
-HSPLcom/android/server/usage/UsageStatsProto;->loadCountAndTime(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats$EventTracker;)V
-HSPLcom/android/server/usage/UsageStatsProto;->loadCountsForAction(Landroid/util/proto/ProtoInputStream;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/usage/UsageStatsProto;->loadUsageStats(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;Ljava/util/List;)V
-HSPLcom/android/server/usage/UsageStatsProto;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;)V
-HSPLcom/android/server/usage/UsageStatsProto;->readStringPool(Landroid/util/proto/ProtoInputStream;)Ljava/util/List;
-HSPLcom/android/server/usage/UsageStatsProto;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
-HSPLcom/android/server/usage/UsageStatsProto;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V
-HSPLcom/android/server/usage/UsageStatsProto;->writeConfigStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/ConfigurationStats;Z)V
-HSPLcom/android/server/usage/UsageStatsProto;->writeCountsForAction(Landroid/util/proto/ProtoOutputStream;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/usage/UsageStatsProto;->writeEvent(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageEvents$Event;)V
-HSPLcom/android/server/usage/UsageStatsProto;->writeStringPool(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/usage/IntervalStats;)V
-HSPLcom/android/server/usage/UsageStatsProto;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageStats;)V
-HSPLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSPLcom/android/server/usage/UsageStatsService$1;->onParoleStateChanged(Z)V
-PLcom/android/server/usage/UsageStatsService$2;->onLimitReached(IIJJLandroid/app/PendingIntent;)V
-PLcom/android/server/usage/UsageStatsService$2;->onSessionEnd(IIJLandroid/app/PendingIntent;)V
-HSPLcom/android/server/usage/UsageStatsService$3;->onUidGone(IZ)V
-HSPLcom/android/server/usage/UsageStatsService$3;->onUidStateChanged(IIJ)V
-PLcom/android/server/usage/UsageStatsService$BinderService;->checkCallerIsSameApp(Ljava/lang/String;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;ILcom/android/server/usage/PackagesTokenData;)V
+PLcom/android/server/usage/UsageStatsDatabase;->writeMappingsLocked()V
+PLcom/android/server/usage/UsageStatsProto;-><clinit>()V
+HPLcom/android/server/usage/UsageStatsProto;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsProto;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V
+HPLcom/android/server/usage/UsageStatsProto;->writeCountAndTime(Landroid/util/proto/ProtoOutputStream;JIJ)V
+PLcom/android/server/usage/UsageStatsProto;->writeCountsForAction(Landroid/util/proto/ProtoOutputStream;Landroid/util/ArrayMap;)V
+PLcom/android/server/usage/UsageStatsProto;->writeStringPool(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsProto;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->loadChooserCounts(Landroid/util/proto/ProtoInputStream;Landroid/app/usage/UsageStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->loadConfigStats(Landroid/util/proto/ProtoInputStream;Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->loadCountAndTime(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats$EventTracker;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->loadCountsForAction(Landroid/util/proto/ProtoInputStream;Landroid/util/SparseIntArray;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->loadPackagesMap(Landroid/util/proto/ProtoInputStream;Landroid/util/SparseArray;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->parseEvent(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageEvents$Event;
+HPLcom/android/server/usage/UsageStatsProtoV2;->parseUsageStats(Landroid/util/proto/ProtoInputStream;J)Landroid/app/usage/UsageStats;
+HPLcom/android/server/usage/UsageStatsProtoV2;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->readObfuscatedData(Ljava/io/InputStream;Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeConfigStats(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/ConfigurationStats;Z)V
+PLcom/android/server/usage/UsageStatsProtoV2;->writeCountAndTime(Landroid/util/proto/ProtoOutputStream;JIJ)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeEvent(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageEvents$Event;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeObfuscatedData(Ljava/io/OutputStream;Lcom/android/server/usage/PackagesTokenData;)V
+HPLcom/android/server/usage/UsageStatsProtoV2;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLandroid/app/usage/UsageStats;)V
+PLcom/android/server/usage/UsageStatsService$1;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+PLcom/android/server/usage/UsageStatsService$2;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$3;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$3;->onUidGone(IZ)V
+HPLcom/android/server/usage/UsageStatsService$3;->onUidStateChanged(IIJI)V
+PLcom/android/server/usage/UsageStatsService$ActivityData;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/usage/UsageStatsService$ActivityData;-><init>(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/usage/UsageStatsService$1;)V
+PLcom/android/server/usage/UsageStatsService$ActivityData;->access$600(Lcom/android/server/usage/UsageStatsService$ActivityData;)Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsService$ActivityData;->access$700(Lcom/android/server/usage/UsageStatsService$ActivityData;)Ljava/lang/String;
+PLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
PLcom/android/server/usage/UsageStatsService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
PLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
PLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/usage/UsageStatsService$BinderService;->getUsageSource()I
PLcom/android/server/usage/UsageStatsService$BinderService;->hasObserverPermission()Z
PLcom/android/server/usage/UsageStatsService$BinderService;->hasPermission(Ljava/lang/String;)Z
-PLcom/android/server/usage/UsageStatsService$BinderService;->isAppInactive(Ljava/lang/String;I)Z
-HSPLcom/android/server/usage/UsageStatsService$BinderService;->onCarrierPrivilegedAppsChanged()V
+HPLcom/android/server/usage/UsageStatsService$BinderService;->isAppInactive(Ljava/lang/String;I)Z
PLcom/android/server/usage/UsageStatsService$BinderService;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-PLcom/android/server/usage/UsageStatsService$BinderService;->queryEventsForPackage(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-PLcom/android/server/usage/UsageStatsService$BinderService;->queryEventsForPackageForUser(JJILjava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents;
PLcom/android/server/usage/UsageStatsService$BinderService;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/usage/UsageStatsService$BinderService;->registerUsageSessionObserver(I[Ljava/lang/String;JJLandroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;)V
-PLcom/android/server/usage/UsageStatsService$BinderService;->reportChooserSelection(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
PLcom/android/server/usage/UsageStatsService$BinderService;->setAppStandbyBuckets(Landroid/content/pm/ParceledListSlice;I)V
-PLcom/android/server/usage/UsageStatsService$BinderService;->whitelistAppTemporarily(Ljava/lang/String;JI)V
-HSPLcom/android/server/usage/UsageStatsService$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->addAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->getAppStandbyBucket(Ljava/lang/String;IJ)I
-PLcom/android/server/usage/UsageStatsService$LocalService;->getAppUsageLimit(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/UsageStatsManagerInternal$AppUsageLimitData;
+PLcom/android/server/usage/UsageStatsService$H;-><init>(Lcom/android/server/usage/UsageStatsService;Landroid/os/Looper;)V
+HPLcom/android/server/usage/UsageStatsService$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
+HPLcom/android/server/usage/UsageStatsService$LocalService;->getAppStandbyBucket(Ljava/lang/String;IJ)I
PLcom/android/server/usage/UsageStatsService$LocalService;->getBackupPayload(ILjava/lang/String;)[B
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->getIdleUidsForUser(I)[I
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdle(Ljava/lang/String;II)Z
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdleParoleOn()Z
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->onAdminDataAvailable()V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->queryUsageStatsForUser(IIJJZ)Ljava/util/List;
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Landroid/content/ComponentName;IIILandroid/content/ComponentName;)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/lang/String;II)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->reportExemptedSyncStart(Ljava/lang/String;I)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->reportShortcutUsage(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->reportSyncScheduled(Ljava/lang/String;IZ)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->setActiveAdminApps(Ljava/util/Set;I)V
-HSPLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V
-HSPLcom/android/server/usage/UsageStatsService$UserActionsReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/usage/UsageStatsService;->checkAndGetTimeLocked()J
-HSPLcom/android/server/usage/UsageStatsService;->cleanUpRemovedUsersLocked()V
+PLcom/android/server/usage/UsageStatsService$LocalService;->getIdleUidsForUser(I)[I
+PLcom/android/server/usage/UsageStatsService$LocalService;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
+PLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdle(Ljava/lang/String;II)Z
+PLcom/android/server/usage/UsageStatsService$LocalService;->onAdminDataAvailable()V
+PLcom/android/server/usage/UsageStatsService$LocalService;->queryUsageStatsForUser(IIJJZ)Ljava/util/List;
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Landroid/content/ComponentName;IIILandroid/content/ComponentName;)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/lang/String;II)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportSyncScheduled(Ljava/lang/String;IZ)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->setActiveAdminApps(Ljava/util/Set;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V
+PLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$MyPackageMonitor;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
+PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;)V
+PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
+PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/usage/UsageStatsService;-><clinit>()V
+PLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usage/UsageStatsService;->access$100(Lcom/android/server/usage/UsageStatsService;ILandroid/app/usage/UsageEvents$Event;)V
+PLcom/android/server/usage/UsageStatsService;->access$1000(Lcom/android/server/usage/UsageStatsService;)Landroid/util/SparseIntArray;
+PLcom/android/server/usage/UsageStatsService;->access$1100()Ljava/io/File;
+PLcom/android/server/usage/UsageStatsService;->deleteLegacyDir(I)V
+PLcom/android/server/usage/UsageStatsService;->deleteRecursively(Ljava/io/File;)V
PLcom/android/server/usage/UsageStatsService;->dump([Ljava/lang/String;Ljava/io/PrintWriter;)V
PLcom/android/server/usage/UsageStatsService;->flushToDisk()V
PLcom/android/server/usage/UsageStatsService;->flushToDiskLocked()V
-HSPLcom/android/server/usage/UsageStatsService;->getUserDataAndInitializeIfNeededLocked(IJ)Lcom/android/server/usage/UserUsageStatsService;
-HSPLcom/android/server/usage/UsageStatsService;->onBootPhase(I)V
-PLcom/android/server/usage/UsageStatsService;->onNewUpdate(I)V
-HSPLcom/android/server/usage/UsageStatsService;->onStart()V
-HSPLcom/android/server/usage/UsageStatsService;->onStatsReloaded()V
-HSPLcom/android/server/usage/UsageStatsService;->onStatsUpdated()V
+PLcom/android/server/usage/UsageStatsService;->getDpmInternal()Landroid/app/admin/DevicePolicyManagerInternal;
+HPLcom/android/server/usage/UsageStatsService;->getInstalledPackages(I)Ljava/util/HashMap;
+HPLcom/android/server/usage/UsageStatsService;->getUserUsageStatsServiceLocked(I)Lcom/android/server/usage/UserUsageStatsService;
+PLcom/android/server/usage/UsageStatsService;->initializeUserUsageStatsServiceLocked(IJLjava/util/HashMap;)V
+PLcom/android/server/usage/UsageStatsService;->loadPendingEventsLocked(ILjava/util/LinkedList;)V
+PLcom/android/server/usage/UsageStatsService;->migrateStatsToSystemCeIfNeededLocked(I)V
+PLcom/android/server/usage/UsageStatsService;->onBootPhase(I)V
+PLcom/android/server/usage/UsageStatsService;->onStart()V
+PLcom/android/server/usage/UsageStatsService;->onStartUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/usage/UsageStatsService;->onUnlockUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/usage/UsageStatsService;->onUserUnlocked(I)V
PLcom/android/server/usage/UsageStatsService;->queryEvents(IJJZ)Landroid/app/usage/UsageEvents;
-PLcom/android/server/usage/UsageStatsService;->queryEventsForPackage(IJJLjava/lang/String;Z)Landroid/app/usage/UsageEvents;
-HSPLcom/android/server/usage/UsageStatsService;->queryUsageStats(IIJJZ)Ljava/util/List;
-HSPLcom/android/server/usage/UsageStatsService;->readUsageSourceSetting()V
-PLcom/android/server/usage/UsageStatsService;->registerUsageSessionObserver(II[Ljava/lang/String;JJLandroid/app/PendingIntent;Landroid/app/PendingIntent;I)V
-HSPLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V
+HPLcom/android/server/usage/UsageStatsService;->queryUsageStats(IIJJZ)Ljava/util/List;
+PLcom/android/server/usage/UsageStatsService;->readUsageSourceSetting()V
+PLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V
+PLcom/android/server/usage/UsageStatsService;->reportEventOrAddToQueue(ILandroid/app/usage/UsageEvents$Event;)V
PLcom/android/server/usage/UsageStatsService;->reportEventToAllUserId(Landroid/app/usage/UsageEvents$Event;)V
-HSPLcom/android/server/usage/UserUsageStatsService$1;-><init>()V
-HSPLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-HSPLcom/android/server/usage/UserUsageStatsService$2;-><init>()V
-HSPLcom/android/server/usage/UserUsageStatsService$3;-><init>()V
-PLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-PLcom/android/server/usage/UserUsageStatsService$5;->checkin(Lcom/android/server/usage/IntervalStats;)Z
-PLcom/android/server/usage/UserUsageStatsService$6;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-HSPLcom/android/server/usage/UserUsageStatsService;-><init>(Landroid/content/Context;ILjava/io/File;Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;)V
+PLcom/android/server/usage/UserUsageStatsService$1;-><init>()V
+HPLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
+PLcom/android/server/usage/UserUsageStatsService$2;-><init>()V
+PLcom/android/server/usage/UserUsageStatsService$3;-><init>()V
+HPLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJZLandroid/util/ArraySet;)V
+HPLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
+PLcom/android/server/usage/UserUsageStatsService$5;-><init>(Lcom/android/server/usage/UserUsageStatsService;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usage/UserUsageStatsService;-><clinit>()V
+PLcom/android/server/usage/UserUsageStatsService;-><init>(Landroid/content/Context;ILjava/io/File;Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;)V
+HPLcom/android/server/usage/UserUsageStatsService;->checkAndGetTimeLocked()J
PLcom/android/server/usage/UserUsageStatsService;->checkin(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usage/UserUsageStatsService;->dump(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Z)V
-PLcom/android/server/usage/UserUsageStatsService;->eventToString(I)Ljava/lang/String;
-PLcom/android/server/usage/UserUsageStatsService;->formatDateTime(JZ)Ljava/lang/String;
-PLcom/android/server/usage/UserUsageStatsService;->formatElapsedTime(JZ)Ljava/lang/String;
+HPLcom/android/server/usage/UserUsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V
PLcom/android/server/usage/UserUsageStatsService;->getBackupPayload(Ljava/lang/String;)[B
-HSPLcom/android/server/usage/UserUsageStatsService;->init(J)V
-PLcom/android/server/usage/UserUsageStatsService;->lambda$queryEventsForPackage$0(JJLjava/lang/String;Landroid/util/ArraySet;ZLcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-HSPLcom/android/server/usage/UserUsageStatsService;->loadActiveStats(J)V
+PLcom/android/server/usage/UserUsageStatsService;->init(JLjava/util/HashMap;)V
PLcom/android/server/usage/UserUsageStatsService;->notifyStatsChanged()V
-HSPLcom/android/server/usage/UserUsageStatsService;->onTimeChanged(JJ)V
-HSPLcom/android/server/usage/UserUsageStatsService;->persistActiveStats()V
-PLcom/android/server/usage/UserUsageStatsService;->printEvent(Lcom/android/internal/util/IndentingPrintWriter;Landroid/app/usage/UsageEvents$Event;Z)V
-PLcom/android/server/usage/UserUsageStatsService;->printEventAggregation(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Lcom/android/server/usage/IntervalStats$EventTracker;Z)V
-PLcom/android/server/usage/UserUsageStatsService;->printIntervalStats(Lcom/android/internal/util/IndentingPrintWriter;Lcom/android/server/usage/IntervalStats;ZZLjava/lang/String;)V
-PLcom/android/server/usage/UserUsageStatsService;->printLast24HrEvents(Lcom/android/internal/util/IndentingPrintWriter;ZLjava/lang/String;)V
+PLcom/android/server/usage/UserUsageStatsService;->persistActiveStats()V
PLcom/android/server/usage/UserUsageStatsService;->queryEvents(JJZ)Landroid/app/usage/UsageEvents;
-PLcom/android/server/usage/UserUsageStatsService;->queryEventsForPackage(JJLjava/lang/String;Z)Landroid/app/usage/UsageEvents;
-HSPLcom/android/server/usage/UserUsageStatsService;->queryStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
-HSPLcom/android/server/usage/UserUsageStatsService;->queryUsageStats(IJJ)Ljava/util/List;
-HSPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V
-HSPLcom/android/server/usage/UserUsageStatsService;->rolloverStats(J)V
-HSPLcom/android/server/usage/UserUsageStatsService;->updateRolloverDeadline()V
-HSPLcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;->run()V
-HSPLcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;->run()V
-PLcom/android/server/usb/MtpNotificationManager;->hideNotification(I)V
-HSPLcom/android/server/usb/MtpNotificationManager;->isMtpDevice(Landroid/hardware/usb/UsbDevice;)Z
-HSPLcom/android/server/usb/UsbAlsaDevice;->getAlsaCardDeviceString()Ljava/lang/String;
-HSPLcom/android/server/usb/UsbAlsaDevice;->isInputJackConnected()Z
-HSPLcom/android/server/usb/UsbAlsaDevice;->isOutputJackConnected()Z
-HSPLcom/android/server/usb/UsbAlsaDevice;->setDeviceNameAndDescription(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/usb/UsbAlsaDevice;->start()V
-HSPLcom/android/server/usb/UsbAlsaDevice;->startJackDetect()V
-PLcom/android/server/usb/UsbAlsaDevice;->stop()V
-PLcom/android/server/usb/UsbAlsaDevice;->stopJackDetect()V
-PLcom/android/server/usb/UsbAlsaDevice;->toString()Ljava/lang/String;
-HSPLcom/android/server/usb/UsbAlsaDevice;->updateWiredDeviceConnectionState(Z)V
-HSPLcom/android/server/usb/UsbAlsaManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbAlsaManager;->deselectAlsaDevice()V
-PLcom/android/server/usb/UsbAlsaManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-PLcom/android/server/usb/UsbAlsaManager;->getAlsaDeviceListIndexFor(Ljava/lang/String;)I
-HSPLcom/android/server/usb/UsbAlsaManager;->selectAlsaDevice(Lcom/android/server/usb/UsbAlsaDevice;)V
-HSPLcom/android/server/usb/UsbAlsaManager;->setPeripheralMidiState(ZII)V
-HSPLcom/android/server/usb/UsbAlsaManager;->usbDeviceAdded(Ljava/lang/String;Landroid/hardware/usb/UsbDevice;Lcom/android/server/usb/descriptors/UsbDescriptorParser;)V
-PLcom/android/server/usb/UsbAlsaManager;->usbDeviceRemoved(Ljava/lang/String;)V
-HSPLcom/android/server/usb/UsbDeviceManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbDeviceManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbDeviceManager$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbDeviceManager$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->dumpFunctions(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;JJ)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->finishBoot()V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getAppliedFunctions(J)J
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getChargingFunctions()J
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getEnabledFunctions()J
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getPinnedSharedPrefs(Landroid/content/Context;)Landroid/content/SharedPreferences;
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isAdbEnabled()Z
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbDataTransferActive(J)Z
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbStateChanged(Landroid/content/Intent;)Z
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbTransferAllowed()Z
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(ILjava/lang/Object;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(ILjava/lang/Object;Z)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(IZ)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendStickyBroadcast(Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateAdbNotification(Z)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateHostState(Landroid/hardware/usb/UsbPort;Landroid/hardware/usb/UsbPortStatus;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateMidiFunction()V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateState(Ljava/lang/String;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbNotification(Z)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbStateBroadcastIfNeeded(J)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;->getCurrentUsbFunctionsCb(JI)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;->setCurrentUsbFunctionsCb(JI)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setEnabledFunctions(JZ)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setUsbConfig(JZ)V
-HSPLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
-HSPLcom/android/server/usb/UsbDeviceManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-HSPLcom/android/server/usb/UsbDeviceManager;->bootCompleted()V
-PLcom/android/server/usb/UsbDeviceManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-PLcom/android/server/usb/UsbDeviceManager;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-PLcom/android/server/usb/UsbDeviceManager;->getCurrentFunctions()J
-HSPLcom/android/server/usb/UsbDeviceManager;->initRndisAddress()V
+PLcom/android/server/usage/UserUsageStatsService;->queryStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
+PLcom/android/server/usage/UserUsageStatsService;->queryUsageStats(IJJ)Ljava/util/List;
+PLcom/android/server/usage/UserUsageStatsService;->readPackageMappingsLocked(Ljava/util/HashMap;)V
+HPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V
+HPLcom/android/server/usage/UserUsageStatsService;->updatePackageMappingsLocked(Ljava/util/HashMap;)V
+PLcom/android/server/usage/UserUsageStatsService;->updateRolloverDeadline()V
+HPLcom/android/server/usage/UserUsageStatsService;->validRange(JJJ)Z
+PLcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;-><init>(Lcom/android/server/usb/UsbHostManager;)V
+PLcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;->run()V
+PLcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;-><init>(Lcom/android/server/usb/UsbPortManager;Landroid/content/Intent;)V
+PLcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;->run()V
+PLcom/android/server/usb/-$$Lambda$UsbProfileGroupSettingsManager$IQKTzU0q3lyaW9nLL_sbxJPW8ME;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;)V
+PLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;Lcom/android/server/usb/MtpNotificationManager$1;)V
+PLcom/android/server/usb/MtpNotificationManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;)V
+PLcom/android/server/usb/UsbAlsaManager$BlackListEntry;-><init>(III)V
+PLcom/android/server/usb/UsbAlsaManager;-><clinit>()V
+PLcom/android/server/usb/UsbAlsaManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbAlsaManager;->setPeripheralMidiState(ZII)V
+PLcom/android/server/usb/UsbAlsaManager;->systemReady()V
+PLcom/android/server/usb/UsbDeviceManager$1;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbDeviceManager$2;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbDeviceManager$3;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$4;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandler;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->finishBoot()V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getAppliedFunctions(J)J
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getChargingFunctions()J
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getPinnedSharedPrefs(Landroid/content/Context;)Landroid/content/SharedPreferences;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isAdbEnabled()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isTv()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbDataTransferActive(J)Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbStateChanged(Landroid/content/Intent;)Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbTransferAllowed()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(ILjava/lang/Object;Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(IZ)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendStickyBroadcast(Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateAdbNotification(Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateHostState(Landroid/hardware/usb/UsbPort;Landroid/hardware/usb/UsbPortStatus;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateMidiFunction()V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateState(Ljava/lang/String;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbFunctions()V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbNotification(Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbStateBroadcastIfNeeded(J)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;->getCurrentUsbFunctionsCb(JI)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetDeathRecipient;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setEnabledFunctions(JZ)V
+PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbDeviceManager$1;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
+PLcom/android/server/usb/UsbDeviceManager;-><clinit>()V
+PLcom/android/server/usb/UsbDeviceManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbDeviceManager;->access$000(Lcom/android/server/usb/UsbDeviceManager;)Lcom/android/server/usb/UsbDeviceManager$UsbHandler;
+PLcom/android/server/usb/UsbDeviceManager;->access$300()Ljava/lang/String;
+PLcom/android/server/usb/UsbDeviceManager;->bootCompleted()V
+PLcom/android/server/usb/UsbDeviceManager;->initRndisAddress()V
PLcom/android/server/usb/UsbDeviceManager;->onAwakeStateChanged(Z)V
-HSPLcom/android/server/usb/UsbDeviceManager;->onKeyguardStateChanged(Z)V
-HSPLcom/android/server/usb/UsbDeviceManager;->onUnlockUser(I)V
-HSPLcom/android/server/usb/UsbDeviceManager;->setCurrentFunctions(J)V
-HSPLcom/android/server/usb/UsbDeviceManager;->setCurrentUser(ILcom/android/server/usb/UsbProfileGroupSettingsManager;)V
-HSPLcom/android/server/usb/UsbDeviceManager;->systemReady()V
-HSPLcom/android/server/usb/UsbDeviceManager;->updateUserRestrictions()V
-HSPLcom/android/server/usb/UsbHostManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-HSPLcom/android/server/usb/UsbHostManager;->addConnectionRecord(Ljava/lang/String;I[B)V
-HSPLcom/android/server/usb/UsbHostManager;->checkUsbInterfacesBlackListed(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Z
-PLcom/android/server/usb/UsbHostManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/usb/UsbHostManager;->getCurrentUserSettings()Lcom/android/server/usb/UsbProfileGroupSettingsManager;
-HSPLcom/android/server/usb/UsbHostManager;->getDeviceList(Landroid/os/Bundle;)V
-HSPLcom/android/server/usb/UsbHostManager;->getUsbDeviceConnectionHandler()Landroid/content/ComponentName;
-HSPLcom/android/server/usb/UsbHostManager;->logUsbDevice(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)V
-HSPLcom/android/server/usb/UsbHostManager;->setCurrentUserSettings(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
-HSPLcom/android/server/usb/UsbHostManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
-HSPLcom/android/server/usb/UsbHostManager;->systemReady()V
-HSPLcom/android/server/usb/UsbHostManager;->usbDeviceAdded(Ljava/lang/String;II[B)Z
-PLcom/android/server/usb/UsbHostManager;->usbDeviceRemoved(Ljava/lang/String;)V
-HSPLcom/android/server/usb/UsbPermissionManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;)V
-PLcom/android/server/usb/UsbPermissionManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;)V
-PLcom/android/server/usb/UsbPermissionManager;->removeDevicePermissions(Landroid/hardware/usb/UsbDevice;)V
-HSPLcom/android/server/usb/UsbPortManager$1;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/usb/UsbPortManager$HALCallback;->notifyPortStatusChange_1_1(Ljava/util/ArrayList;I)V
-HSPLcom/android/server/usb/UsbPortManager$PortInfo;-><init>(Landroid/hardware/usb/UsbManager;Ljava/lang/String;IIZZ)V
-PLcom/android/server/usb/UsbPortManager$PortInfo;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/usb/UsbPortManager$PortInfo;->setStatus(IZIZIZIII)Z
-HSPLcom/android/server/usb/UsbPortManager$PortInfo;->toString()Ljava/lang/String;
-HSPLcom/android/server/usb/UsbPortManager$RawPortInfo$1;-><init>()V
-HSPLcom/android/server/usb/UsbPortManager$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLcom/android/server/usb/UsbPortManager;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/usb/UsbPortManager;->addOrUpdatePortLocked(Ljava/lang/String;IIIZIZIZZIZILcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/usb/UsbPortManager;->connectToProxy(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/usb/UsbPortManager;->enableContaminantDetectionIfNeeded(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/usb/UsbPortManager;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-HSPLcom/android/server/usb/UsbPortManager;->getPorts()[Landroid/hardware/usb/UsbPort;
-HSPLcom/android/server/usb/UsbPortManager;->lambda$sendPortChangedBroadcastLocked$0$UsbPortManager(Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbPortManager;->logToStatsd(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
-HSPLcom/android/server/usb/UsbPortManager;->sendPortChangedBroadcastLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;)V
-HSPLcom/android/server/usb/UsbPortManager;->systemReady()V
-HSPLcom/android/server/usb/UsbPortManager;->updateContaminantNotification()V
-HSPLcom/android/server/usb/UsbPortManager;->updatePortsLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V
+PLcom/android/server/usb/UsbDeviceManager;->onKeyguardStateChanged(Z)V
+PLcom/android/server/usb/UsbDeviceManager;->setCurrentUser(ILcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/UsbDeviceManager;->systemReady()V
+PLcom/android/server/usb/UsbHandlerManager;-><clinit>()V
+PLcom/android/server/usb/UsbHandlerManager;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/usb/UsbHostManager;-><clinit>()V
+PLcom/android/server/usb/UsbHostManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbHostManager;->lambda$XT3F5aQci4H6VWSBYBQQNSzpnvs(Lcom/android/server/usb/UsbHostManager;)V
+PLcom/android/server/usb/UsbHostManager;->setCurrentUserSettings(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/UsbHostManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
+PLcom/android/server/usb/UsbHostManager;->systemReady()V
+PLcom/android/server/usb/UsbPermissionManager;-><clinit>()V
+PLcom/android/server/usb/UsbPermissionManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbPortManager$1;-><init>(Lcom/android/server/usb/UsbPortManager;Landroid/os/Looper;)V
+PLcom/android/server/usb/UsbPortManager$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usb/UsbPortManager$DeathRecipient;-><init>(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager$HALCallback;-><init>(Lcom/android/internal/util/IndentingPrintWriter;Lcom/android/server/usb/UsbPortManager;)V
+PLcom/android/server/usb/UsbPortManager$HALCallback;->notifyPortStatusChange_1_1(Ljava/util/ArrayList;I)V
+PLcom/android/server/usb/UsbPortManager$PortInfo;-><init>(Landroid/hardware/usb/UsbManager;Ljava/lang/String;IIZZ)V
+PLcom/android/server/usb/UsbPortManager$PortInfo;->setStatus(IZIZIZIII)Z
+PLcom/android/server/usb/UsbPortManager$PortInfo;->toString()Ljava/lang/String;
+PLcom/android/server/usb/UsbPortManager$RawPortInfo$1;-><init>()V
+PLcom/android/server/usb/UsbPortManager$RawPortInfo;-><clinit>()V
+PLcom/android/server/usb/UsbPortManager$RawPortInfo;-><init>(Ljava/lang/String;IIIZIZIZZIZI)V
+PLcom/android/server/usb/UsbPortManager$ServiceNotification;-><init>(Lcom/android/server/usb/UsbPortManager;)V
+PLcom/android/server/usb/UsbPortManager$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/usb/UsbPortManager;-><clinit>()V
+PLcom/android/server/usb/UsbPortManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbPortManager;->access$000(Lcom/android/server/usb/UsbPortManager;)Z
+PLcom/android/server/usb/UsbPortManager;->access$100(ILcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V
+PLcom/android/server/usb/UsbPortManager;->access$200(Lcom/android/server/usb/UsbPortManager;)Landroid/os/Handler;
+PLcom/android/server/usb/UsbPortManager;->access$300(Lcom/android/server/usb/UsbPortManager;)Ljava/lang/Object;
+PLcom/android/server/usb/UsbPortManager;->access$500(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->access$600(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V
+PLcom/android/server/usb/UsbPortManager;->access$702(Lcom/android/server/usb/UsbPortManager;Landroid/app/NotificationManager;)Landroid/app/NotificationManager;
+PLcom/android/server/usb/UsbPortManager;->access$800(Lcom/android/server/usb/UsbPortManager;)Landroid/content/Context;
+PLcom/android/server/usb/UsbPortManager;->addOrUpdatePortLocked(Ljava/lang/String;IIIZIZIZZIZILcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->connectToProxy(Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->convertContaminantDetectionStatusToProto(I)I
+PLcom/android/server/usb/UsbPortManager;->enableContaminantDetectionIfNeeded(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
+PLcom/android/server/usb/UsbPortManager;->getPorts()[Landroid/hardware/usb/UsbPort;
+PLcom/android/server/usb/UsbPortManager;->handlePortAddedLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->handlePortLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->lambda$sendPortChangedBroadcastLocked$0$UsbPortManager(Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbPortManager;->logAndPrint(ILcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V
+PLcom/android/server/usb/UsbPortManager;->logToStatsd(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usb/UsbPortManager;->sendPortChangedBroadcastLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;)V
+PLcom/android/server/usb/UsbPortManager;->systemReady()V
+PLcom/android/server/usb/UsbPortManager;->updateContaminantNotification()V
+PLcom/android/server/usb/UsbPortManager;->updatePortsLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;Lcom/android/server/usb/UsbProfileGroupSettingsManager$1;)V
PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbSettingsManager;Lcom/android/server/usb/UsbHandlerManager;)V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->clearDefaults(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->clearPackageDefaultsLocked(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)Z
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->deviceAttached(Landroid/hardware/usb/UsbDevice;)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->getAccessoryFilters(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->getDefaultActivityLocked(Ljava/util/ArrayList;Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)Landroid/content/pm/ActivityInfo;
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->getDeviceFilters(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->getDeviceMatchesLocked(Landroid/hardware/usb/UsbDevice;Landroid/content/Intent;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;-><init>(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;-><init>(Ljava/lang/String;Landroid/os/UserHandle;Lcom/android/server/usb/UsbProfileGroupSettingsManager$1;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;-><clinit>()V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbSettingsManager;Lcom/android/server/usb/UsbHandlerManager;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->clearCompatibleMatchesLocked(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;Landroid/hardware/usb/DeviceFilter;)Z
PLcom/android/server/usb/UsbProfileGroupSettingsManager;->handlePackageAdded(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)V
PLcom/android/server/usb/UsbProfileGroupSettingsManager;->handlePackageAddedLocked(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Z
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->hasDefaults(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->packageMatchesLocked(Landroid/content/pm/ResolveInfo;Landroid/hardware/usb/UsbDevice;Landroid/hardware/usb/UsbAccessory;)Z
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->preferHighPriority(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->queryIntentActivitiesForAllProfiles(Landroid/content/Intent;)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->readSettingsLocked()V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->removeForwardIntentIfNotNeeded(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->resolveActivity(Landroid/content/Intent;Landroid/hardware/usb/UsbDevice;Z)V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->resolveActivity(Landroid/content/Intent;Ljava/util/ArrayList;Landroid/content/pm/ActivityInfo;Landroid/hardware/usb/UsbDevice;Landroid/hardware/usb/UsbAccessory;)V
-HSPLcom/android/server/usb/UsbProfileGroupSettingsManager;->upgradeSingleUserLocked()V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->usbDeviceRemoved(Landroid/hardware/usb/UsbDevice;)V
-PLcom/android/server/usb/UsbSerialReader;->enforcePackageBelongsToUid(ILjava/lang/String;)V
-HSPLcom/android/server/usb/UsbSerialReader;->getSerial(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/usb/UsbService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/usb/UsbService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/usb/UsbService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/usb/UsbService$Lifecycle;->onStart()V
-HSPLcom/android/server/usb/UsbService$Lifecycle;->onUnlockUser(I)V
-HSPLcom/android/server/usb/UsbService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/usb/UsbService;->bootCompleted()V
-PLcom/android/server/usb/UsbService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->readSettingsLocked()V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->upgradeSingleUserLocked()V
+PLcom/android/server/usb/UsbService$1;-><init>(Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/usb/UsbService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/usb/UsbService$Lifecycle;->onStart()V
+PLcom/android/server/usb/UsbService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/usb/UsbService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/UsbService;->bootCompleted()V
PLcom/android/server/usb/UsbService;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
PLcom/android/server/usb/UsbService;->getCurrentFunctions()J
-HSPLcom/android/server/usb/UsbService;->getDeviceList(Landroid/os/Bundle;)V
-HSPLcom/android/server/usb/UsbService;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-HSPLcom/android/server/usb/UsbService;->getPorts()Ljava/util/List;
-PLcom/android/server/usb/UsbService;->hasDefaults(Ljava/lang/String;I)Z
-HSPLcom/android/server/usb/UsbService;->onSwitchUser(I)V
-HSPLcom/android/server/usb/UsbService;->onUnlockUser(I)V
-HSPLcom/android/server/usb/UsbService;->systemReady()V
-HSPLcom/android/server/usb/UsbSettingsManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbSettingsManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/usb/UsbSettingsManager;->getSettingsForProfileGroup(Landroid/os/UserHandle;)Lcom/android/server/usb/UsbProfileGroupSettingsManager;
-HSPLcom/android/server/usb/UsbSettingsManager;->getSettingsForUser(I)Lcom/android/server/usb/UsbUserSettingsManager;
-PLcom/android/server/usb/UsbSettingsManager;->usbDeviceRemoved(Landroid/hardware/usb/UsbDevice;)V
-HSPLcom/android/server/usb/UsbUserSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbPermissionManager;)V
-PLcom/android/server/usb/UsbUserSettingsManager;->dump(Lcom/android/internal/util/dump/DualDumpOutputStream;Ljava/lang/String;J)V
-HSPLcom/android/server/usb/UsbUserSettingsManager;->queryIntentActivities(Landroid/content/Intent;)Ljava/util/List;
-PLcom/android/server/usb/UsbUserSettingsManager;->removeDevicePermissions(Landroid/hardware/usb/UsbDevice;)V
-HSPLcom/android/server/usb/descriptors/ByteStream;->advance(I)V
-HSPLcom/android/server/usb/descriptors/Usb10ACHeader;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/Usb10ACInputTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/Usb10ACMixerUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/Usb10ACOutputTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/Usb10ASFormatI;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/Usb10ASGeneral;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbACAudioStreamEndpoint;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbACEndpoint;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;IB)Lcom/android/server/usb/descriptors/UsbDescriptor;
-HSPLcom/android/server/usb/descriptors/UsbACInterface;->allocAudioControlDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IBBI)Lcom/android/server/usb/descriptors/UsbDescriptor;
-HSPLcom/android/server/usb/descriptors/UsbACInterface;->allocAudioStreamingDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IBBI)Lcom/android/server/usb/descriptors/UsbDescriptor;
-HSPLcom/android/server/usb/descriptors/UsbACInterface;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IB)Lcom/android/server/usb/descriptors/UsbDescriptor;
-HSPLcom/android/server/usb/descriptors/UsbACInterface;->getSubclass()I
-HSPLcom/android/server/usb/descriptors/UsbACInterface;->getSubtype()B
-HSPLcom/android/server/usb/descriptors/UsbACMixerUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbACTerminal;->getTerminalType()I
-HSPLcom/android/server/usb/descriptors/UsbASFormat;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IBBI)Lcom/android/server/usb/descriptors/UsbDescriptor;
-HSPLcom/android/server/usb/descriptors/UsbConfigDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbConfigDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbConfiguration;
-HSPLcom/android/server/usb/descriptors/UsbDescriptor;-><init>(IB)V
-HSPLcom/android/server/usb/descriptors/UsbDescriptor;->getType()B
-HSPLcom/android/server/usb/descriptors/UsbDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbDescriptor;->postParse(Lcom/android/server/usb/descriptors/ByteStream;)V
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->allocDescriptor(Lcom/android/server/usb/descriptors/ByteStream;)Lcom/android/server/usb/descriptors/UsbDescriptor;
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->getACInterfaceDescriptors(BI)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->getInputHeadsetProbability()F
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->getInterfaceDescriptorsForClass(I)Ljava/util/ArrayList;
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->getOutputHeadsetProbability()F
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasInput()Z
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasMIDIInterface()Z
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasMic()Z
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasOutput()Z
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasSpeaker()Z
-HSPLcom/android/server/usb/descriptors/UsbDescriptorParser;->parseDescriptors([B)V
-HSPLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getDeviceReleaseString()Ljava/lang/String;
-HSPLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbDevice$Builder;
-HSPLcom/android/server/usb/descriptors/UsbEndpointDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbEndpointDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbEndpoint;
-HSPLcom/android/server/usb/descriptors/UsbHIDDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->addEndpointDescriptor(Lcom/android/server/usb/descriptors/UsbEndpointDescriptor;)V
-HSPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->getUsbClass()I
-HSPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->getUsbSubclass()I
-HSPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-HSPLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbInterface;
-HSPLcom/android/server/utils/PriorityDump;->dump(Lcom/android/server/utils/PriorityDump$PriorityDumper;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/utils/PriorityDump;->getPriorityType(Ljava/lang/String;)I
-HSPLcom/android/server/utils/UserTokenWatcher;->isAcquired(I)Z
+PLcom/android/server/usb/UsbService;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
+PLcom/android/server/usb/UsbService;->getPorts()Ljava/util/List;
+PLcom/android/server/usb/UsbService;->onSwitchUser(I)V
+PLcom/android/server/usb/UsbService;->systemReady()V
+PLcom/android/server/usb/UsbSettingsManager;-><clinit>()V
+PLcom/android/server/usb/UsbSettingsManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbSettingsManager;->getSettingsForProfileGroup(Landroid/os/UserHandle;)Lcom/android/server/usb/UsbProfileGroupSettingsManager;
+PLcom/android/server/utils/PriorityDump;->dump(Lcom/android/server/utils/PriorityDump$PriorityDumper;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>()V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>(Ljava/lang/String;)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;-><init>(Ljava/lang/String;J)V
+HSPLcom/android/server/utils/TimingsTraceAndSlog;->logDuration(Ljava/lang/String;J)V
+PLcom/android/server/utils/TimingsTraceAndSlog;->newAsyncLog()Lcom/android/server/utils/TimingsTraceAndSlog;
+HSPLcom/android/server/utils/TimingsTraceAndSlog;->traceBegin(Ljava/lang/String;)V
+PLcom/android/server/utils/TraceBuffer;-><init>(I)V
+PLcom/android/server/utils/TraceBuffer;->resetBuffer()V
+PLcom/android/server/utils/TraceBuffer;->setCapacity(I)V
+PLcom/android/server/utils/UserTokenWatcher;-><init>(Lcom/android/server/utils/UserTokenWatcher$Callback;Landroid/os/Handler;Ljava/lang/String;)V
+PLcom/android/server/voiceinteraction/DatabaseHelper;-><init>(Landroid/content/Context;)V
PLcom/android/server/voiceinteraction/DatabaseHelper;->getArrayForCommaSeparatedString(Ljava/lang/String;)[I
-PLcom/android/server/voiceinteraction/DatabaseHelper;->getCommaSeparatedString([I)Ljava/lang/String;
PLcom/android/server/voiceinteraction/DatabaseHelper;->getKeyphraseSoundModel(IILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-PLcom/android/server/voiceinteraction/DatabaseHelper;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
-PLcom/android/server/voiceinteraction/DatabaseHelper;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;->getPackages(I)[Ljava/lang/String;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onSomePackagesChanged()V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Ljava/util/concurrent/Executor;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;->getDefaultRecognizer(Landroid/os/UserHandle;)Ljava/lang/String;
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;->onChange(Z)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->activeServiceSupportsLaunchFromKeyguard()Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->closeSystemDialogs(Landroid/os/IBinder;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceCallingPermission(Ljava/lang/String;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onSomePackagesChanged()V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Ljava/util/concurrent/Executor;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Landroid/os/Handler;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceCallingPermission(Ljava/lang/String;)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceIsCurrentVoiceInteractionService(Landroid/service/voice/IVoiceInteractionService;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailInteractor(ILjava/lang/String;)Landroid/service/voice/VoiceInteractionServiceInfo;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailRecognizer(Ljava/lang/String;I)Landroid/content/ComponentName;
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getActiveServiceComponentName()Landroid/content/ComponentName;
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurAssistant(I)Landroid/content/ComponentName;
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurInteractor(I)Landroid/content/ComponentName;
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurRecognizer(I)Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getActiveServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurRecognizer(I)Landroid/content/ComponentName;
PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getDspModuleProperties(Landroid/service/voice/IVoiceInteractionService;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getUserDisabledShowContext()I
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->hideCurrentSession()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->hideSessionFromSession(Landroid/os/IBinder;)Z
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUser(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getForceVoiceInteractionServicePackage(Landroid/content/res/Resources;)Ljava/lang/String;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUser(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUserNoTracing(I)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isSessionRunning()Z
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onLockscreenShown()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onSessionHidden()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onSessionShown()V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurInteractor(Landroid/content/ComponentName;I)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurRecognizer(Landroid/content/ComponentName;I)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setDisabledShowContext(I)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->showSession(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;I)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->showSessionForActiveService(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->startAssistantActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onLockscreenShown()V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurrentUserLocked(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setImplLocked(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setUiHints(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->shouldEnableService(Landroid/content/Context;)Z
PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->startRecognition(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->stopRecognition(Landroid/service/voice/IVoiceInteractionService;ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeeded(Z)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededLocked(Z)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->systemRunning(Z)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->unloadAllKeyphraseModels()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onBootPhase(I)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStart()V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStartUser(I)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onUnlockUser(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeeded(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededLocked(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededNoTracingLocked(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->systemRunning(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->unloadAllKeyphraseModels()V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->access$100(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->isSupported(Landroid/content/pm/UserInfo;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onBootPhase(I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStart()V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStartUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onUnlockUser(Landroid/content/pm/UserInfo;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;ILandroid/content/ComponentName;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->closeSystemDialogsLocked(Landroid/os/IBinder;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->deliverNewSessionLocked(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->finishLocked(Landroid/os/IBinder;Z)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->getUserDisabledShowContextLocked(I)I
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->hideSessionLocked()Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->notifySoundModelsChangedLocked()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->onSessionHidden(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->onSessionShown(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->sessionConnectionGone(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->setDisabledShowContextLocked(II)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->showSessionLocked(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;ILandroid/content/ComponentName;)V
PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->shutdownLocked()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->startAssistantActivityLocked(IILandroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-HSPLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->startLocked()V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$1;->onShown()V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;-><init>(Ljava/lang/Object;Landroid/content/ComponentName;ILandroid/content/Context;Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$Callback;ILandroid/os/Handler;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->canHandleReceivedAssistDataLocked()Z
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->cancelLocked(Z)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->deliverNewSessionLocked(Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->getUserDisabledShowContextLocked()I
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->hideLocked()Z
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->notifyPendingShowCallbacksShownLocked()V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->onAssistDataReceivedLocked(Landroid/os/Bundle;II)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->onAssistScreenshotReceivedLocked(Landroid/graphics/Bitmap;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->showLocked(Landroid/os/Bundle;IILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Ljava/util/List;)Z
-PLcom/android/server/vr/EnabledComponentsObserver$1;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
-HSPLcom/android/server/vr/EnabledComponentsObserver$1;->onPackageDisappeared(Ljava/lang/String;I)V
-HSPLcom/android/server/vr/EnabledComponentsObserver$1;->onPackageModified(Ljava/lang/String;)V
-HSPLcom/android/server/vr/EnabledComponentsObserver$1;->onSomePackagesChanged()V
-HSPLcom/android/server/vr/EnabledComponentsObserver;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Collection;)V
-HSPLcom/android/server/vr/EnabledComponentsObserver;->build(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Collection;)Lcom/android/server/vr/EnabledComponentsObserver;
-HSPLcom/android/server/vr/EnabledComponentsObserver;->getEnabled(I)Landroid/util/ArraySet;
-PLcom/android/server/vr/EnabledComponentsObserver;->getInstalled(I)Landroid/util/ArraySet;
-PLcom/android/server/vr/EnabledComponentsObserver;->isValid(Landroid/content/ComponentName;I)I
-HSPLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNames(Landroid/content/pm/PackageManager;ILjava/lang/String;Ljava/lang/String;)Landroid/util/ArraySet;
-HSPLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNamesFromSetting(Ljava/lang/String;I)Landroid/util/ArraySet;
-HSPLcom/android/server/vr/EnabledComponentsObserver;->onPackagesChanged()V
-HSPLcom/android/server/vr/EnabledComponentsObserver;->onUsersChanged()V
-HSPLcom/android/server/vr/EnabledComponentsObserver;->rebuildAll()V
-HSPLcom/android/server/vr/SettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/net/Uri;Ljava/lang/String;)V
-HSPLcom/android/server/vr/Vr2dDisplay;-><init>(Landroid/hardware/display/DisplayManager;Landroid/app/ActivityManagerInternal;Lcom/android/server/wm/WindowManagerInternal;Landroid/service/vr/IVrManager;)V
-HSPLcom/android/server/vr/Vr2dDisplay;->init(Landroid/content/Context;Z)V
-HSPLcom/android/server/vr/Vr2dDisplay;->startVrModeListener()V
-HSPLcom/android/server/vr/VrManagerService$3;-><init>()V
-PLcom/android/server/vr/VrManagerService$4;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/vr/VrManagerService$4;->getVrModeState()Z
-HSPLcom/android/server/vr/VrManagerService$4;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
-HSPLcom/android/server/vr/VrManagerService$4;->registerPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-HSPLcom/android/server/vr/VrManagerService$4;->unregisterListener(Landroid/service/vr/IVrStateCallbacks;)V
-HSPLcom/android/server/vr/VrManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/vr/VrManagerService$LocalService;->addPersistentVrModeStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-HSPLcom/android/server/vr/VrManagerService$LocalService;->isCurrentVrListener(Ljava/lang/String;I)Z
-HSPLcom/android/server/vr/VrManagerService$LocalService;->onScreenStateChanged(Z)V
-HSPLcom/android/server/vr/VrManagerService$LocalService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
-HSPLcom/android/server/vr/VrManagerService$NotificationAccessManager;->update(Ljava/util/Collection;)V
-HSPLcom/android/server/vr/VrManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/vr/VrManagerService;->consumeAndApplyPendingStateLocked(Z)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->startLocked()V
PLcom/android/server/vr/VrManagerService;->dumpStateTransitions(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/vr/VrManagerService;->enforceCallerPermissionAnyOf([Ljava/lang/String;)V
-HSPLcom/android/server/vr/VrManagerService;->getVrMode()Z
-HSPLcom/android/server/vr/VrManagerService;->grantCoarseLocationPermissionIfNeeded(Ljava/lang/String;I)V
-HSPLcom/android/server/vr/VrManagerService;->grantNotificationListenerAccess(Ljava/lang/String;I)V
-HSPLcom/android/server/vr/VrManagerService;->isCurrentVrListener(Ljava/lang/String;I)Z
-HSPLcom/android/server/vr/VrManagerService;->isDefaultAllowed(Ljava/lang/String;)Z
-PLcom/android/server/vr/VrManagerService;->onAwakeStateChanged(Z)V
-HSPLcom/android/server/vr/VrManagerService;->onBootPhase(I)V
-HSPLcom/android/server/vr/VrManagerService;->onEnabledComponentChanged()V
-HSPLcom/android/server/vr/VrManagerService;->onKeyguardStateChanged(Z)V
-HSPLcom/android/server/vr/VrManagerService;->onStart()V
-HSPLcom/android/server/vr/VrManagerService;->onStartUser(I)V
-PLcom/android/server/vr/VrManagerService;->setPersistentModeAndNotifyListenersLocked(Z)V
-HSPLcom/android/server/vr/VrManagerService;->setSystemState(IZ)V
-HSPLcom/android/server/vr/VrManagerService;->setUserUnlocked()V
-HSPLcom/android/server/vr/VrManagerService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
-PLcom/android/server/vr/VrManagerService;->updateCurrentVrServiceLocked(ZZLandroid/content/ComponentName;IILandroid/content/ComponentName;)Z
-HSPLcom/android/server/vr/VrManagerService;->updateVrModeAllowedLocked()V
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$SxaUJpgTTfzUoz6u3AWuAOQdoNw;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$UhAlBGB5jhuZrLndUPRmIvoHRZc;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$VlOcXJ2BasDkYqNidSTRvw-HBpM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$87DhM3RJJxRNtgkHmd_gtnGk-z4;-><init>()V
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$87DhM3RJJxRNtgkHmd_gtnGk-z4;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$NrNkceFJLqjCb8eAxErUhpLd5c8;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Yk86TTURTI5B9DzxOzMQGDq7aQU;->run()V
-PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$fLM_YLhVBfWS7QM0ta-qHXvJ4Uc;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$xeJGAwCI8tssclwKFf8jMsYdoKQ;->run()V
-PLcom/android/server/wallpaper/-$$Lambda$havGP5uMdRgWQrLydPeIOu1qDGE;-><init>()V
-PLcom/android/server/wallpaper/-$$Lambda$havGP5uMdRgWQrLydPeIOu1qDGE;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayAdded(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayChanged(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayRemoved(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$5;->run()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onBootPhase(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;->onDisplayReady(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->doPackagesChangedLocked(ZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)Z
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$-BqUtvsdVGS3ye_UHe7qFnTZPn4;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$-BqUtvsdVGS3ye_UHe7qFnTZPn4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$1tPkxHr3PHUgpfvv03vRyPzY3uM;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$1tPkxHr3PHUgpfvv03vRyPzY3uM;->run()V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$NrNkceFJLqjCb8eAxErUhpLd5c8;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$NrNkceFJLqjCb8eAxErUhpLd5c8;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$QhODF3v-swnwSYvDbeEhU85gOBw;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Y6NUt3jeHQDhNJsATtXxO4MiWJ0;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$ZY5r01reAnoB4Dl2bo4au8KMz3Y;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$ZY5r01reAnoB4Dl2bo4au8KMz3Y;->run()V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
+PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wallpaper/WallpaperManagerInternal;-><init>()V
+PLcom/android/server/wallpaper/WallpaperManagerService$1;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayChanged(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$2;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$3;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$4;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$DisplayData;-><init>(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onBootPhase(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onStart()V
+PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$LocalService;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$1;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->doPackagesChangedLocked(ZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)Z
PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageUpdateStarted(Ljava/lang/String;I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onSomePackagesChanged()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->connectLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->disconnectLocked()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->ensureStatusHandled()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->appendConnectorWithCondition(Ljava/util/function/Predicate;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->containsDisplay(I)Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getDisplayConnectorOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->initDisplayState()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->isUsableDisplay(Landroid/view/Display;)Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$onServiceDisconnected$2$WallpaperManagerService$WallpaperConnection()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->processDisconnect(Landroid/content/ServiceConnection;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->cropExists()Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->sourceExists()Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->dataForEvent(ZZ)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
-HSPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->onEvent(ILjava/lang/String;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->bindWallpaperComponentLocked(Landroid/content/ComponentName;ZZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->checkPermission(Ljava/lang/String;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->clearWallpaperLocked(ZIILandroid/os/IRemoteCallback;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->detachWallpaperLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->extractColors(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->extractDefaultImageWallpaperColors()Landroid/app/WallpaperColors;
-PLcom/android/server/wallpaper/WallpaperManagerService;->forEachDisplayData(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->generateCrop(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onSomePackagesChanged()V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->connectLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->ensureStatusHandled()V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Landroid/app/WallpaperInfo;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->access$1300(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)Landroid/util/SparseArray;
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->appendConnectorWithCondition(Ljava/util/function/Predicate;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->containsDisplay(I)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getDisplayConnectorOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->initDisplayState()V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->isUsableDisplay(Landroid/view/Display;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->lambda$NrNkceFJLqjCb8eAxErUhpLd5c8(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Landroid/view/Display;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;-><init>(ILjava/io/File;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->access$3000(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)Landroid/os/RemoteCallbackList;
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->cropExists()Z
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->dataForEvent(ZZ)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->onEvent(ILjava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;-><clinit>()V
+PLcom/android/server/wallpaper/WallpaperManagerService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$000(Lcom/android/server/wallpaper/WallpaperManagerService;)Ljava/lang/Object;
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$1000(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$1500(Lcom/android/server/wallpaper/WallpaperManagerService;I)Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$1600(Lcom/android/server/wallpaper/WallpaperManagerService;)Lcom/android/server/wm/WindowManagerInternal;
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$1700(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$1800(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/hardware/display/DisplayManager;
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$1900(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$200(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/util/SparseArray;
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$2000(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/content/Context;
+PLcom/android/server/wallpaper/WallpaperManagerService;->access$800(Lcom/android/server/wallpaper/WallpaperManagerService;)Landroid/content/ComponentName;
+PLcom/android/server/wallpaper/WallpaperManagerService;->attachServiceLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->bindWallpaperComponentLocked(Landroid/content/ComponentName;ZZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->checkPermission(Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->emptyCallbackList(Landroid/os/RemoteCallbackList;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperDisplaySize(Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->findWallpaperAtDisplay(II)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getAttributeInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
+PLcom/android/server/wallpaper/WallpaperManagerService;->getDisplayDataOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;
PLcom/android/server/wallpaper/WallpaperManagerService;->getHeightHint(I)I
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->getMaximumSizeDimension(I)I
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperColors(III)Landroid/app/WallpaperColors;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getMaximumSizeDimension(I)I
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperCallbacks(II)Landroid/os/RemoteCallbackList;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperColors(III)Landroid/app/WallpaperColors;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperDir(I)Ljava/io/File;
PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperIdForUser(II)I
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperSafeLocked(II)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperSafeLocked(II)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperWithFeature(Ljava/lang/String;Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
PLcom/android/server/wallpaper/WallpaperManagerService;->getWidthHint(I)I
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->initialize()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->initializeFallbackWallpaper()V
-PLcom/android/server/wallpaper/WallpaperManagerService;->isSetWallpaperAllowed(Ljava/lang/String;)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperBackupEligible(II)Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperSupported(Ljava/lang/String;)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$dump$6(Ljava/io/PrintWriter;Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$notifyWallpaperColorsChanged$0$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;ILcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$switchUser$4$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->loadSettingsLocked(IZ)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->makeWallpaperIdLocked()I
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->migrateFromOld()V
-PLcom/android/server/wallpaper/WallpaperManagerService;->notifyCallbacksLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->notifyColorListeners(Landroid/app/WallpaperColors;III)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChangedOnDisplay(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;II)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->onBootPhase(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->onDisplayReadyInternal(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->onUnlockUser(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->parseWallpaperAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Z)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->saveSettingsLocked(I)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->setInAmbientMode(ZJ)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->switchUser(ILandroid/os/IRemoteCallback;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->switchWallpaper(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->systemReady()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->updateFallbackConnection()V
-HSPLcom/android/server/wallpaper/WallpaperManagerService;->writeWallpaperAttributes(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-HSPLcom/android/server/webkit/SystemImpl;-><init>()V
-HSPLcom/android/server/webkit/SystemImpl;-><init>(Lcom/android/server/webkit/SystemImpl$1;)V
-HSPLcom/android/server/webkit/SystemImpl;->getFactoryPackageVersion(Ljava/lang/String;)J
-HSPLcom/android/server/webkit/SystemImpl;->getMultiProcessSetting(Landroid/content/Context;)I
-HSPLcom/android/server/webkit/SystemImpl;->getPackageInfoForProvider(Landroid/webkit/WebViewProviderInfo;)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/webkit/SystemImpl;->getPackageInfoForProviderAllUsers(Landroid/content/Context;Landroid/webkit/WebViewProviderInfo;)Ljava/util/List;
-HSPLcom/android/server/webkit/SystemImpl;->getUserChosenWebViewProvider(Landroid/content/Context;)Ljava/lang/String;
-HSPLcom/android/server/webkit/SystemImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-HSPLcom/android/server/webkit/SystemImpl;->isFallbackLogicEnabled()Z
-HSPLcom/android/server/webkit/SystemImpl;->isMultiProcessDefaultEnabled()Z
-HSPLcom/android/server/webkit/SystemImpl;->notifyZygote(Z)V
-HSPLcom/android/server/webkit/SystemImpl;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
-HSPLcom/android/server/webkit/SystemImpl;->readSignatures(Landroid/content/res/XmlResourceParser;)[Ljava/lang/String;
-HSPLcom/android/server/webkit/SystemImpl;->systemIsDebuggable()Z
-HSPLcom/android/server/webkit/SystemImpl;->updateUserSetting(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/server/webkit/WebViewUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/webkit/WebViewUpdateService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->initialize()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->initializeFallbackWallpaper()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperSupported(Ljava/lang/String;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$attachServiceLocked$6(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$notifyWallpaperColorsChanged$0$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;ILcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$onUnlockUser$4$WallpaperManagerService(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$switchUser$5$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->loadSettingsLocked(IZ)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/wallpaper/WallpaperManagerService;->makeWallpaperIdLocked()I
+PLcom/android/server/wallpaper/WallpaperManagerService;->migrateFromOld()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChanged(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChangedOnDisplay(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;II)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->onBootPhase(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->onUnlockUser(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->parseWallpaperAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Z)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->saveSettingsLocked(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->setInAmbientMode(ZJ)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->supportsMultiDisplay(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)Z
+PLcom/android/server/wallpaper/WallpaperManagerService;->switchUser(ILandroid/os/IRemoteCallback;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->switchWallpaper(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->systemReady()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+PLcom/android/server/wallpaper/WallpaperManagerService;->updateFallbackConnection()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->writeWallpaperAttributes(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+PLcom/android/server/webkit/-$$Lambda$lAUGMGZZth095wGxrAtUYbmlIJY;-><init>(Lcom/android/server/webkit/WebViewUpdateServiceImpl;)V
+PLcom/android/server/webkit/-$$Lambda$lAUGMGZZth095wGxrAtUYbmlIJY;->run()V
+PLcom/android/server/webkit/SystemImpl$LazyHolder;-><clinit>()V
+PLcom/android/server/webkit/SystemImpl$LazyHolder;->access$100()Lcom/android/server/webkit/SystemImpl;
+PLcom/android/server/webkit/SystemImpl;-><clinit>()V
+PLcom/android/server/webkit/SystemImpl;-><init>()V
+PLcom/android/server/webkit/SystemImpl;-><init>(Lcom/android/server/webkit/SystemImpl$1;)V
+PLcom/android/server/webkit/SystemImpl;->ensureZygoteStarted()V
+PLcom/android/server/webkit/SystemImpl;->getFactoryPackageVersion(Ljava/lang/String;)J
+PLcom/android/server/webkit/SystemImpl;->getInstance()Lcom/android/server/webkit/SystemImpl;
+PLcom/android/server/webkit/SystemImpl;->getMultiProcessSetting(Landroid/content/Context;)I
+PLcom/android/server/webkit/SystemImpl;->getPackageInfoForProvider(Landroid/webkit/WebViewProviderInfo;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/webkit/SystemImpl;->getPackageInfoForProviderAllUsers(Landroid/content/Context;Landroid/webkit/WebViewProviderInfo;)Ljava/util/List;
+PLcom/android/server/webkit/SystemImpl;->getUserChosenWebViewProvider(Landroid/content/Context;)Ljava/lang/String;
+PLcom/android/server/webkit/SystemImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
+PLcom/android/server/webkit/SystemImpl;->isFallbackLogicEnabled()Z
+PLcom/android/server/webkit/SystemImpl;->isMultiProcessDefaultEnabled()Z
+PLcom/android/server/webkit/SystemImpl;->notifyZygote(Z)V
+PLcom/android/server/webkit/SystemImpl;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
+PLcom/android/server/webkit/SystemImpl;->readSignatures(Landroid/content/res/XmlResourceParser;)[Ljava/lang/String;
+PLcom/android/server/webkit/SystemImpl;->systemIsDebuggable()Z
+PLcom/android/server/webkit/WebViewUpdateService$1;-><init>(Lcom/android/server/webkit/WebViewUpdateService;)V
+PLcom/android/server/webkit/WebViewUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/webkit/WebViewUpdateService$BinderService;-><init>(Lcom/android/server/webkit/WebViewUpdateService;)V
+PLcom/android/server/webkit/WebViewUpdateService$BinderService;-><init>(Lcom/android/server/webkit/WebViewUpdateService;Lcom/android/server/webkit/WebViewUpdateService$1;)V
PLcom/android/server/webkit/WebViewUpdateService$BinderService;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
PLcom/android/server/webkit/WebViewUpdateService$BinderService;->getCurrentWebViewPackageName()Ljava/lang/String;
-PLcom/android/server/webkit/WebViewUpdateService$BinderService;->isFallbackPackage(Ljava/lang/String;)Z
PLcom/android/server/webkit/WebViewUpdateService$BinderService;->isMultiProcessEnabled()Z
-HSPLcom/android/server/webkit/WebViewUpdateService$BinderService;->notifyRelroCreationCompleted()V
+PLcom/android/server/webkit/WebViewUpdateService$BinderService;->notifyRelroCreationCompleted()V
PLcom/android/server/webkit/WebViewUpdateService$BinderService;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-HSPLcom/android/server/webkit/WebViewUpdateService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/webkit/WebViewUpdateService;->onStart()V
-HSPLcom/android/server/webkit/WebViewUpdateService;->prepareWebViewInSystemServer()V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->dumpState(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->existsValidNonFallbackProvider([Landroid/webkit/WebViewProviderInfo;)Z
+PLcom/android/server/webkit/WebViewUpdateService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/webkit/WebViewUpdateService;->access$100(Lcom/android/server/webkit/WebViewUpdateService;)Lcom/android/server/webkit/WebViewUpdateServiceImpl;
+PLcom/android/server/webkit/WebViewUpdateService;->onStart()V
+PLcom/android/server/webkit/WebViewUpdateService;->prepareWebViewInSystemServer()V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;-><clinit>()V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V
PLcom/android/server/webkit/WebViewUpdateServiceImpl;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->handleNewUser(I)V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->isFallbackPackage(Ljava/lang/String;)Z
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->isMultiProcessEnabled()Z
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->notifyRelroCreationCompleted()V
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->packageStateChanged(Ljava/lang/String;II)V
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->prepareWebViewInSystemServer()V
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->updateFallbackState([Landroid/webkit/WebViewProviderInfo;)V
-HSPLcom/android/server/webkit/WebViewUpdateServiceImpl;->updateFallbackStateOnPackageChange(Ljava/lang/String;I)V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->handleNewUser(I)V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->handleUserChange()V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->isMultiProcessEnabled()Z
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->migrateFallbackStateOnBoot()V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->notifyRelroCreationCompleted()V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->prepareWebViewInSystemServer()V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->startZygoteWhenReady()V
PLcom/android/server/webkit/WebViewUpdateServiceImpl;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-HSPLcom/android/server/webkit/WebViewUpdater;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V
-HSPLcom/android/server/webkit/WebViewUpdater;->checkIfRelrosDoneLocked()V
-PLcom/android/server/webkit/WebViewUpdater;->dumpAllPackageInformationLocked(Ljava/io/PrintWriter;)V
-PLcom/android/server/webkit/WebViewUpdater;->dumpState(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/webkit/WebViewUpdater;->findPreferredWebViewPackage()Landroid/content/pm/PackageInfo;
+PLcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;-><init>(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/webkit/WebViewUpdater;-><clinit>()V
+PLcom/android/server/webkit/WebViewUpdater;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V
+PLcom/android/server/webkit/WebViewUpdater;->checkIfRelrosDoneLocked()V
+PLcom/android/server/webkit/WebViewUpdater;->findPreferredWebViewPackage()Landroid/content/pm/PackageInfo;
PLcom/android/server/webkit/WebViewUpdater;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/webkit/WebViewUpdater;->getMinimumVersionCode()J
-HSPLcom/android/server/webkit/WebViewUpdater;->getValidWebViewPackagesAndInfos()[Lcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;
-HSPLcom/android/server/webkit/WebViewUpdater;->isInstalledAndEnabledForAllUsers(Ljava/util/List;)Z
-HSPLcom/android/server/webkit/WebViewUpdater;->isValidProvider(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)Z
-HSPLcom/android/server/webkit/WebViewUpdater;->notifyRelroCreationCompleted()V
-HSPLcom/android/server/webkit/WebViewUpdater;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)V
-HSPLcom/android/server/webkit/WebViewUpdater;->packageStateChanged(Ljava/lang/String;I)V
-HSPLcom/android/server/webkit/WebViewUpdater;->prepareWebViewInSystemServer()V
-HSPLcom/android/server/webkit/WebViewUpdater;->providerHasValidSignature(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;Lcom/android/server/webkit/SystemInterface;)Z
+PLcom/android/server/webkit/WebViewUpdater;->getMinimumVersionCode()J
+PLcom/android/server/webkit/WebViewUpdater;->getValidWebViewPackagesAndInfos()[Lcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;
+PLcom/android/server/webkit/WebViewUpdater;->isInstalledAndEnabledForAllUsers(Ljava/util/List;)Z
+PLcom/android/server/webkit/WebViewUpdater;->isValidProvider(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/webkit/WebViewUpdater;->notifyRelroCreationCompleted()V
+PLcom/android/server/webkit/WebViewUpdater;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/webkit/WebViewUpdater;->prepareWebViewInSystemServer()V
+PLcom/android/server/webkit/WebViewUpdater;->providerHasValidSignature(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;Lcom/android/server/webkit/SystemInterface;)Z
PLcom/android/server/webkit/WebViewUpdater;->updateCurrentWebViewPackage(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
-HSPLcom/android/server/webkit/WebViewUpdater;->validityResult(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)I
+PLcom/android/server/webkit/WebViewUpdater;->validityResult(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)I
+PLcom/android/server/webkit/WebViewUpdater;->versionCodeGE(JJ)Z
PLcom/android/server/webkit/WebViewUpdater;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
+PLcom/android/server/webkit/WebViewUpdater;->webViewIsReadyLocked()Z
+PLcom/android/server/wm/-$$Lambda$-OevXHSXgaSE351ZqRnMoA024MM;-><init>(Lcom/android/server/wm/TaskSnapshotSurface;)V
PLcom/android/server/wm/-$$Lambda$-OevXHSXgaSE351ZqRnMoA024MM;->run()V
-HSPLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$3W4Y_XVQUddVKzLjibuHW7h0R1g;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$3W4Y_XVQUddVKzLjibuHW7h0R1g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$6DEhn1zqxqV5_Ytb_NyzMW23Ano;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$6DEhn1zqxqV5_Ytb_NyzMW23Ano;->make()Landroid/view/Surface;
+PLcom/android/server/wm/-$$Lambda$-hxY8aP13MItXHILC9K9vyNQgr4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$-hxY8aP13MItXHILC9K9vyNQgr4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$-hxY8aP13MItXHILC9K9vyNQgr4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;-><init>()V
+PLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$1Hjf_Nn5x4aIy9rIBTwVrtrzWFA;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$1Hjf_Nn5x4aIy9rIBTwVrtrzWFA;-><init>()V
+PLcom/android/server/wm/-$$Lambda$1Hjf_Nn5x4aIy9rIBTwVrtrzWFA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$6P_D-ul93Vzg9xx2hvWUdYrHVXg;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$6P_D-ul93Vzg9xx2hvWUdYrHVXg;-><init>()V
+PLcom/android/server/wm/-$$Lambda$6P_D-ul93Vzg9xx2hvWUdYrHVXg;->get()Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$99XNq73vh8e4HVH9BuxFhbLxKVY;-><clinit>()V
PLcom/android/server/wm/-$$Lambda$99XNq73vh8e4HVH9BuxFhbLxKVY;-><init>()V
PLcom/android/server/wm/-$$Lambda$99XNq73vh8e4HVH9BuxFhbLxKVY;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$AccessibilityController$WindowsForAccessibilityObserver$vRhBz0DqTZWNemKfoIyId7HacTk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$0lYHhsj1ibZMP6eUAxlwT_URn-4;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$DGh4oiUM74EvEwFf0Up59dk2u_I;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$xxgDrxthXaC_M25gC-YvHOsQ6yE;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityServiceConnectionsHolder$E9W1qwLXBAwoppLfYj6pecVF_x8;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityStack$zyjitBLHAavfEuJlAxXAMomewgA;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$0u1RcpeZ6m0BHDGGv8EXroS3KyE;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$PHIj4FpzoLIwUTmMRMOYA9us0rc;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityStartController$6bTAPCVeDq_D4Y53Y5WNfMK4xBE;-><init>()V
-PLcom/android/server/wm/-$$Lambda$ActivityStarter$Zh66L6L9t3q506-4rrDCffLoOU8;-><init>(Lcom/android/server/wm/ActivityStarter;Ljava/lang/String;)V
-PLcom/android/server/wm/-$$Lambda$ActivityStarter$Zh66L6L9t3q506-4rrDCffLoOU8;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$-xFyZDUKMraVkermSJGXQdN3oJ4;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$3DTHgCAeEd5OOF7ACeXoCk8mmrQ;-><init>()V
-PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$3DTHgCAeEd5OOF7ACeXoCk8mmrQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7Ia1bmRpPHHSNlbH8cuLw8dKG04;->run()V
-PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7ieG0s-7Zp4H2bLiWdOgB6MqhcI;-><init>()V
-PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7ieG0s-7Zp4H2bLiWdOgB6MqhcI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$BXul1K8BX6JEv_ff3NT76qpeZGQ;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$U6g1UdnOPnEF9wX1OTm9nKVXY5k;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$U6g1UdnOPnEF9wX1OTm9nKVXY5k;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;-><init>()V
+PLcom/android/server/wm/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;->get()Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityDisplay$Ib0_Ntr3Lw7OMuHT-utGz685mJk;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityDisplay$Ib0_Ntr3Lw7OMuHT-utGz685mJk;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityDisplay$Ib0_Ntr3Lw7OMuHT-utGz685mJk;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$9gqV7SOtv0dBXWMri6Jpu47OdLc;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$9gqV7SOtv0dBXWMri6Jpu47OdLc;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$9gqV7SOtv0dBXWMri6Jpu47OdLc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$MEjrvbJugXgttKs3lnAk7x7tVPc;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$MEjrvbJugXgttKs3lnAk7x7tVPc;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$fTBXciy3VZJ2vTW_ZJXaKfUj7_I;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$fTBXciy3VZJ2vTW_ZJXaKfUj7_I;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$sZFHZi7b6t6yjfx5mx3RtECSlEU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$sZFHZi7b6t6yjfx5mx3RtECSlEU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$sZFHZi7b6t6yjfx5mx3RtECSlEU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$HtdWUNDfMjR5UE8GQF_gBD7WtdU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$HtdWUNDfMjR5UE8GQF_gBD7WtdU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$HtdWUNDfMjR5UE8GQF_gBD7WtdU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$LWsQRIxoittoVnhxxlG72c1jmys;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$LWsQRIxoittoVnhxxlG72c1jmys;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$LWsQRIxoittoVnhxxlG72c1jmys;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$QP-eHsXODaflS0pyRnr8fdoF6BU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$QP-eHsXODaflS0pyRnr8fdoF6BU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$QP-eHsXODaflS0pyRnr8fdoF6BU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$XnMxHSlbhK9x7qGQcZpHSkPOQvQ;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$XnMxHSlbhK9x7qGQcZpHSkPOQvQ;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$XnMxHSlbhK9x7qGQcZpHSkPOQvQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$YSVwd546vKWMiMYy7MFzg1qRiio;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$YY5kCNb4uWg5W_2lbH3ZOqirP1g;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$YY5kCNb4uWg5W_2lbH3ZOqirP1g;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$YY5kCNb4uWg5W_2lbH3ZOqirP1g;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$prAsqx_JQJTqW1jNxmkuU3AV8AU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$prAsqx_JQJTqW1jNxmkuU3AV8AU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$prAsqx_JQJTqW1jNxmkuU3AV8AU;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$tt99EJHW_Nk5qgU9galJBIm5wXg;-><init>(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
+PLcom/android/server/wm/-$$Lambda$ActivityRecord$tt99EJHW_Nk5qgU9galJBIm5wXg;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$4P0uIgoCSUi6epIgwUfZymXLX2w;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$4P0uIgoCSUi6epIgwUfZymXLX2w;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$4P0uIgoCSUi6epIgwUfZymXLX2w;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityStack$CheckBehindFullscreenActivityHelper$hxEhv3lodv2mTq0c1tG208T2TSs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$CheckBehindFullscreenActivityHelper$hxEhv3lodv2mTq0c1tG208T2TSs;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$CheckBehindFullscreenActivityHelper$hxEhv3lodv2mTq0c1tG208T2TSs;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$ActivityStack$FkaZkaRIeozTqSdHkmYZNbNtF1I;-><init>(Lcom/android/server/wm/ActivityStack;IZZZZZ)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$FkaZkaRIeozTqSdHkmYZNbNtF1I;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$MbOt7bGpxw9wmjZ8kOCkYcDCqMQ;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$MbOt7bGpxw9wmjZ8kOCkYcDCqMQ;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$MbOt7bGpxw9wmjZ8kOCkYcDCqMQ;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityStack$RemoveHistoryRecordsForApp$8j2ZFLAwkXnwDAxiTFN7mMDLhjU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$RemoveHistoryRecordsForApp$8j2ZFLAwkXnwDAxiTFN7mMDLhjU;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$ActivityStack$RemoveHistoryRecordsForApp$8j2ZFLAwkXnwDAxiTFN7mMDLhjU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$U5MWhpArTVT_b8W6GtTa1Ao8HFs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$U5MWhpArTVT_b8W6GtTa1Ao8HFs;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$U5MWhpArTVT_b8W6GtTa1Ao8HFs;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$ActivityStack$X9vss1g3clUg_jG-lx3LQEpL5fM;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$X9vss1g3clUg_jG-lx3LQEpL5fM;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$X9vss1g3clUg_jG-lx3LQEpL5fM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStack$YJeneLrOvq3GBnNOpP3Jg1nkLcE;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$-xFyZDUKMraVkermSJGXQdN3oJ4;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$-xFyZDUKMraVkermSJGXQdN3oJ4;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7Ia1bmRpPHHSNlbH8cuLw8dKG04;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7Ia1bmRpPHHSNlbH8cuLw8dKG04;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$BXul1K8BX6JEv_ff3NT76qpeZGQ;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$BXul1K8BX6JEv_ff3NT76qpeZGQ;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$AlertWindowNotification$ZuqSYML-X-nkNVTba_yeIT9hJ1s;->run()V
-PLcom/android/server/wm/-$$Lambda$AlertWindowNotification$iVtcJMb6VtqtAgEtGUDCkGay0tM;->run()V
-PLcom/android/server/wm/-$$Lambda$AppTransition$B95jxKE2FnT5RNLStTafenhEYj4;-><init>()V
-PLcom/android/server/wm/-$$Lambda$AppTransition$B95jxKE2FnT5RNLStTafenhEYj4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZZ)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;->run()V
+PLcom/android/server/wm/-$$Lambda$AppTransition$xrq-Gwel_FcpfDvO2DrCfGN_3bk;-><init>(Lcom/android/server/wm/AppTransition;)V
PLcom/android/server/wm/-$$Lambda$AppTransition$xrq-Gwel_FcpfDvO2DrCfGN_3bk;->run()V
-HSPLcom/android/server/wm/-$$Lambda$AppTransitionController$ESsBJ2royCDDfelW3z7cgYH5q2I;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$AppTransitionController$ESsBJ2royCDDfelW3z7cgYH5q2I;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$AppTransitionController$YfQg1m68hbvcHoXbvzomyslzuaU;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$AppTransitionController$j4jrKo6PKtYRjRfPVQMMiQB02jg;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$AppTransitionController$j4jrKo6PKtYRjRfPVQMMiQB02jg;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$-fbAn0RqOBB6FcyKBQMt-QpZ1Ec;->run()V
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$JR7Cr936i7DlrzcjMaXdnVHq3NU;->run()V
-HSPLcom/android/server/wm/-$$Lambda$AppWindowToken$NwyjcPHhaxqkEKaJxeRVkzuWYXc;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$AppWindowToken$NwyjcPHhaxqkEKaJxeRVkzuWYXc;->apply(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$cwsF3cyeJjO4UiuaM07w8TBc698;->applyAppSaturation([F[F)V
-HSPLcom/android/server/wm/-$$Lambda$AppWindowToken$jUUD3GIacKfmiVanGs_Dyy3FFqI;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$AppWindowToken$jUUD3GIacKfmiVanGs_Dyy3FFqI;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$nF85SgNnIhRmVDk5ZRCmd3hL2jU;->get()Ljava/lang/Object;
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$q4coBLJ_h6za5tXaFxh-mXEdx0M;-><init>()V
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$q4coBLJ_h6za5tXaFxh-mXEdx0M;->apply(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$B58NKEOrr2mhFWeS3bqpaZnd11o;->run()V
-HSPLcom/android/server/wm/-$$Lambda$BoundsAnimationController$3-yWz6AXIW5r1KElGtHEgHZdi5Q;->run()V
-PLcom/android/server/wm/-$$Lambda$BoundsAnimationController$MoVv_WhxoMrTVo-xz1qu2FMcYrM;->run()V
-HSPLcom/android/server/wm/-$$Lambda$DZzr1xJVO2dSdamoKdlelCfv9o4;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$DZzr1xJVO2dSdamoKdlelCfv9o4;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$Dimmer$DimState$QYvwJex5H10MFMe0LEzEUs1b2G0;->run()V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$-XeeexVnAosqA0zfHVCT_Txqwl8;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$05CtqlkxQvjLanO8D5BmaCdILKQ;-><init>()V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$05CtqlkxQvjLanO8D5BmaCdILKQ;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$1C_-u_mpQFfKL_O8K1VFzBgPg50;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$2HHBX1R6lnY5GedkE9LUBwsCPoE;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$2VlyMN8z2sOPqE9-yf-z3-peRMI;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$3g7y7M5XrDR3cz8tOp9f3pwWbyQ;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$5D_ifLpk7QwG-e9ZLZynNnDca9g;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$5D_ifLpk7QwG-e9ZLZynNnDca9g;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$68_t-1mHyvN9aDP5Tt_BKUPoYT8;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$7uZtakUXzuXqF_Qht5Uq7LUvubI;->apply(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$7voe_dEKk2BYMriCvPuvaznb9WQ;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$BgTlvHbVclnASz-MrvERWxyMV-A;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$GuCKVzKP141d6J0gfRAjKtuBJUU;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$GuCKVzKP141d6J0gfRAjKtuBJUU;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$JYsrGdifTPH6ASJDC3B9YWMD2pw;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/wm/-$$Lambda$DisplayContent$TPj3OjTsuIg5GTLb5nMmFqIghA4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$ZU-2ppbyGJ7-UsXREbcW1x9TJH0;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$ZU-2ppbyGJ7-UsXREbcW1x9TJH0;-><init>()V
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$o_nkoN7a-ZHaSAgJCQZcboKz9Ig;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$o_nkoN7a-ZHaSAgJCQZcboKz9Ig;-><init>()V
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$o_nkoN7a-ZHaSAgJCQZcboKz9Ig;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$z5kCoexPNTWFncmRBfeXr6HA2JA;-><init>(ILandroid/util/ArraySet;)V
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$z5kCoexPNTWFncmRBfeXr6HA2JA;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$B58NKEOrr2mhFWeS3bqpaZnd11o;-><init>(Lcom/android/server/wm/WindowManagerService$SettingsObserver;)V
+PLcom/android/server/wm/-$$Lambda$B58NKEOrr2mhFWeS3bqpaZnd11o;->run()V
+PLcom/android/server/wm/-$$Lambda$BEx3OWenCvYAaV5h_J2ZkZXhEcY;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$BEx3OWenCvYAaV5h_J2ZkZXhEcY;-><init>()V
+PLcom/android/server/wm/-$$Lambda$BEx3OWenCvYAaV5h_J2ZkZXhEcY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$BoundsAnimationController$3-yWz6AXIW5r1KElGtHEgHZdi5Q;-><init>(Lcom/android/server/wm/BoundsAnimationController;Landroid/animation/AnimationHandler;)V
+PLcom/android/server/wm/-$$Lambda$BoundsAnimationController$3-yWz6AXIW5r1KElGtHEgHZdi5Q;->run()V
+PLcom/android/server/wm/-$$Lambda$DLUVMr0q4HDD6VD11G3xgCuJfHo;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DLUVMr0q4HDD6VD11G3xgCuJfHo;-><init>()V
+PLcom/android/server/wm/-$$Lambda$DaFwIyqZTBVKE2y-TN2iE7CD-r8;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DaFwIyqZTBVKE2y-TN2iE7CD-r8;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$DaFwIyqZTBVKE2y-TN2iE7CD-r8;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$-t02M5j-NY8t_HMWggKym0SrI5k;-><init>([I[ILandroid/graphics/Region;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$BvG_N-oQ9idqqb6Bo2x0dq7gI5g;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$BvG_N-oQ9idqqb6Bo2x0dq7gI5g;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$D0QJUvhaQkGgoMtOmjw5foY9F8M;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$D0QJUvhaQkGgoMtOmjw5foY9F8M;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;-><init>()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;-><init>(Lcom/android/server/wm/DisplayContent$NonAppWindowContainers;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wm/-$$Lambda$DisplayContent$SeHNTr4WUVpGmQniHULUi1ST7k8;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$SeHNTr4WUVpGmQniHULUi1ST7k8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$5H3Kr211kTMg-C28tapuQGzkwN8;-><init>(Lcom/android/server/wm/DisplayContent$TaskStackContainers;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$5H3Kr211kTMg-C28tapuQGzkwN8;->onPreAssignChildLayers()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$rQnI0Y8R9ptQ09cGHwbCHDiG2FY;-><init>(Ljava/util/ArrayList;)V
PLcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$rQnI0Y8R9ptQ09cGHwbCHDiG2FY;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$_XfE1uZ9VUv6i0SxWUvqu69FNb4;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$iSsga4uJnJzBuUddn6uWEUo6xO8;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$jJlRHCiYzTPceX3tUkQ_1wUz71E;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$oqhmXZMcpcvgI50swQTzosAcjac;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$vn2WRFHoZv7DB3bbwsmraKDpl0I;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayPolicy$2k2wF7mmwjs9mN1gLPMFOf0lfXY;->run()V
-PLcom/android/server/wm/-$$Lambda$DisplayPolicy$YTG-tgpIgw-tXxRzJfeZhHP--Ag;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
-HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$n40v5T_KP7EALj7NP3i_hv76V5o;->run()V
-HSPLcom/android/server/wm/-$$Lambda$DisplayPolicy$xlVRxCROc8UPmV4pH747oZzvS58;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DragState$-yUFIMrhYYccZ0gwd6eVcpAE93o;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$InsetsStateController$pXoYGy4X5aPw1QFi0iIWKiTMlDg;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$LYW1ECaEajjYgarzgKdTZ4O1fi0;->run()V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$iVXZh14_jAo_Gegs5q3ygQDW-ow;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$iVXZh14_jAo_Gegs5q3ygQDW-ow;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$kM3MnXbSpyNkUV4eUyr4OwWCqqA;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$kM3MnXbSpyNkUV4eUyr4OwWCqqA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$Ufn2ZjVS0i1L8aeQ8GZMJNJfmcY;-><init>(Lcom/android/server/policy/WindowManagerPolicy;ZZZ)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$Ufn2ZjVS0i1L8aeQ8GZMJNJfmcY;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$eJsj3GR1HdCnOJrZ8_oaLP52jg0;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$eJsj3GR1HdCnOJrZ8_oaLP52jg0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$DisplayContent$mRojqgB8byVtZRzyTl2qSRFPgIo;-><init>(I)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$mRojqgB8byVtZRzyTl2qSRFPgIo;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;-><init>(Lcom/android/server/wm/DisplayContent;)V
+HPLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$w9ep5dwa3CsKsu0rpKSQwF-60A4;-><init>(II)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$w9ep5dwa3CsKsu0rpKSQwF-60A4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$x9QSHnWitjvGOC1SnurRP5ASz48;-><init>(Lcom/android/server/wm/DisplayContent;Landroid/util/SparseBooleanArray;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$x9QSHnWitjvGOC1SnurRP5ASz48;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$xDPfsCNl85pDNmgsKEQVqdUehiA;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$3MnyIKSHFLqhfUifWEQPNp_-J6A;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$3MnyIKSHFLqhfUifWEQPNp_-J6A;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$IOyP8YVRG92tn9u1muYWZgBbgc0;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$IOyP8YVRG92tn9u1muYWZgBbgc0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$J8sIwXJvltUaPM3jEGO948Bx9ig;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$J8sIwXJvltUaPM3jEGO948Bx9ig;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$LkHee4mchNXMwNt7HLgsMzHofeE;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$LkHee4mchNXMwNt7HLgsMzHofeE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$QDPgWUhyEOraWnf6a-u4mTBttdw;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$QDPgWUhyEOraWnf6a-u4mTBttdw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$_FsvHpVUi-gbWmSpT009cJNNmgM;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$j3sY1jb4WFF_F3wOT9D2fB2mOts;-><init>(Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/WindowManagerService;I)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$pqtzqy0ti-csynvTP9P1eQUE-gE;-><init>(I)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$pqtzqy0ti-csynvTP9P1eQUE-gE;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$wrdG81IaCZoCL0YqumBunZu5DyM;-><init>(Lcom/android/server/wm/DisplayPolicy;ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$wrdG81IaCZoCL0YqumBunZu5DyM;->run()V
+PLcom/android/server/wm/-$$Lambda$EnsureActivitiesVisibleHelper$uAeEWwx5d0xk6FKOvvR9CXZS6Bg;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$EnsureActivitiesVisibleHelper$uAeEWwx5d0xk6FKOvvR9CXZS6Bg;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$EnsureActivitiesVisibleHelper$uAeEWwx5d0xk6FKOvvR9CXZS6Bg;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;-><init>()V
+PLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$c8m0K1Ykk6OHrDEJKWFPmp5WxKU;-><init>(Lcom/android/server/wm/InsetsStateController;)V
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$c8m0K1Ykk6OHrDEJKWFPmp5WxKU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$pXoYGy4X5aPw1QFi0iIWKiTMlDg;-><init>(Lcom/android/server/wm/InsetsStateController;)V
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$pXoYGy4X5aPw1QFi0iIWKiTMlDg;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;-><init>()V
+PLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LYW1ECaEajjYgarzgKdTZ4O1fi0;-><init>(Landroid/app/ActivityManagerInternal;)V
+PLcom/android/server/wm/-$$Lambda$LYW1ECaEajjYgarzgKdTZ4O1fi0;->run()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$QcawcFcJtEX4EhYptq_Vb4j368Y;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$QcawcFcJtEX4EhYptq_Vb4j368Y;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$QcawcFcJtEX4EhYptq_Vb4j368Y;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$lAGPwfsXJvBWsyG2rbEfo3sTv34;-><clinit>()V
PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$lAGPwfsXJvBWsyG2rbEfo3sTv34;-><init>()V
PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$lAGPwfsXJvBWsyG2rbEfo3sTv34;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;->run()V
-HSPLcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;->getSystemDirectoryForUser(I)Ljava/io/File;
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$pWUDt4Ot3BWLJOTAhXMkkhHUhpc;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$pWUDt4Ot3BWLJOTAhXMkkhHUhpc;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$pWUDt4Ot3BWLJOTAhXMkkhHUhpc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;-><init>(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;->run()V
+PLcom/android/server/wm/-$$Lambda$MGgYXq0deCsjjGP-28PM6ahiI2U;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$MGgYXq0deCsjjGP-28PM6ahiI2U;-><init>()V
+PLcom/android/server/wm/-$$Lambda$MGgYXq0deCsjjGP-28PM6ahiI2U;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;->apply(I)Ljava/lang/Object;
-PLcom/android/server/wm/-$$Lambda$PendingRemoteAnimationRegistry$Entry$giivzkMgzIxukCXvO2EVzLb0oxo;->run()V
+PLcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;->apply(I)Ljava/lang/Object;
+HSPLcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;-><init>()V
PLcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;->process()V
-HSPLcom/android/server/wm/-$$Lambda$PinnedStackController$PinnedStackControllerCallback$MdGjZinCTxKrX3GJTl1CXkAuFro;->run()V
-HSPLcom/android/server/wm/-$$Lambda$RecentTasks$KPkDUQ9KJ-vmXlmV8HHAucQJJdQ;-><init>()V
-PLcom/android/server/wm/-$$Lambda$RecentsAnimation$-wmjRW3SbUL05VbZ7U49czED0C0;->run()V
-PLcom/android/server/wm/-$$Lambda$RecentsAnimation$e3kosml-870P6Bh_K_Z_6yyLHZk;->run()V
-PLcom/android/server/wm/-$$Lambda$RecentsAnimation$maWFdp-vN04gpjsVfJu49wyo8hQ;->run()V
-PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$f_Hsu4PN7pGOiq9Nl8vxzEA3wa0;->run()V
-PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$uQS8vaPKQ-E3x_9G8NCxPQmw1fw;->run()V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$23pwwW6UxTvkQOxdAnZ9yLl8pS0;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$52o5lSf6FWvRXCAmDBM_O5nRSXM;-><init>()V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$52o5lSf6FWvRXCAmDBM_O5nRSXM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$IlD1lD49ui7gQmU2NkxgnXIhlOo;->apply(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$agHn20_TMrqiBYlvGhKD53sU-R8;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$auMc5HUrsvttHP3CYY9dttuuvi8;-><init>()V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$auMc5HUrsvttHP3CYY9dttuuvi8;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/wm/-$$Lambda$RecentTasks$eaeTjEEoVsLAhHFPccdtbbB3Lrk;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$RecentTasks$eaeTjEEoVsLAhHFPccdtbbB3Lrk;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$L-oo1O0uvOIOr4MDh9QYSeVU09U;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$L-oo1O0uvOIOr4MDh9QYSeVU09U;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$L-oo1O0uvOIOr4MDh9QYSeVU09U;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$reh_wG2afVmsOkGOZzt-QbWe4gE;-><init>(Lcom/android/server/wm/RecentsAnimation;IZLcom/android/server/wm/RecentsAnimationController;)V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$reh_wG2afVmsOkGOZzt-QbWe4gE;->run()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$4jQqaDgSmtGCjbUJiVoDh_jr9rY;-><init>(Lcom/android/server/wm/RecentsAnimationController;)V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$EI4Oe4vlsDKieYi6iTTlm_g_DcI;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$EI4Oe4vlsDKieYi6iTTlm_g_DcI;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$EI4Oe4vlsDKieYi6iTTlm_g_DcI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$j5cfzBzoc-2KFpZ5MiHSgWihq-Y;-><init>(Lcom/android/server/wm/RecentsAnimationController;)V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$jw5vdNcR7ME-ta1B7JaOAiF7wKw;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$jw5vdNcR7ME-ta1B7JaOAiF7wKw;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimationController$jw5vdNcR7ME-ta1B7JaOAiF7wKw;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$74uuXaM2TqjkzYi0b8LqJdbycxA;-><init>(Lcom/android/server/wm/RemoteAnimationController;[Landroid/view/RemoteAnimationTarget;[Landroid/view/RemoteAnimationTarget;)V
+PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$74uuXaM2TqjkzYi0b8LqJdbycxA;->run()V
+PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$dP8qDptNigoqhzVtIudsX5naGu4;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
+PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$uQS8vaPKQ-E3x_9G8NCxPQmw1fw;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
+PLcom/android/server/wm/-$$Lambda$ResetTargetTaskHelper$APiSnEpUwnLFg5o4cp87NyJw4j4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ResetTargetTaskHelper$APiSnEpUwnLFg5o4cp87NyJw4j4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ResetTargetTaskHelper$APiSnEpUwnLFg5o4cp87NyJw4j4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ResetTargetTaskHelper$O-Gmp4WswvLHsJ0Qd1g0pv2tF14;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ResetTargetTaskHelper$O-Gmp4WswvLHsJ0Qd1g0pv2tF14;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ResetTargetTaskHelper$O-Gmp4WswvLHsJ0Qd1g0pv2tF14;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$9O6SlwnVdOQOeIhS3piXF8cKYuc;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$9O6SlwnVdOQOeIhS3piXF8cKYuc;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$9O6SlwnVdOQOeIhS3piXF8cKYuc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$FinishDisabledPackageActivitiesHelper$9-v97dlGzOZFE2uue1WUlIhpevA;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$FinishDisabledPackageActivitiesHelper$9-v97dlGzOZFE2uue1WUlIhpevA;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$FinishDisabledPackageActivitiesHelper$9-v97dlGzOZFE2uue1WUlIhpevA;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$eTBwQBLMAzyK1I2vbgH_wbrf5n0;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$eTBwQBLMAzyK1I2vbgH_wbrf5n0;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$RootActivityContainer$eTBwQBLMAzyK1I2vbgH_wbrf5n0;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$fHk49MMjn6AhjkanMrllHlVnoy0;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$fHk49MMjn6AhjkanMrllHlVnoy0;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$fHk49MMjn6AhjkanMrllHlVnoy0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$m1XaUaXYDseEoG-rccxbUydXgO8;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$m1XaUaXYDseEoG-rccxbUydXgO8;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$m1XaUaXYDseEoG-rccxbUydXgO8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$xJQTdvTIrdue_psRt_XJNwTCmzA;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootActivityContainer$xJQTdvTIrdue_psRt_XJNwTCmzA;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$RootActivityContainer$xJQTdvTIrdue_psRt_XJNwTCmzA;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$7XcqfZjQLAbjpIyed3iDnVtZro4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$7XcqfZjQLAbjpIyed3iDnVtZro4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$7XcqfZjQLAbjpIyed3iDnVtZro4;->accept(Ljava/lang/Object;)V
+HPLcom/android/server/wm/-$$Lambda$RootWindowContainer$IlD1lD49ui7gQmU2NkxgnXIhlOo;-><init>(I)V
+HPLcom/android/server/wm/-$$Lambda$RootWindowContainer$IlD1lD49ui7gQmU2NkxgnXIhlOo;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$qT2ficAmvrvFcBdiJIGNKxJ8Z9Q;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
PLcom/android/server/wm/-$$Lambda$RootWindowContainer$qT2ficAmvrvFcBdiJIGNKxJ8Z9Q;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$zN9AhOirpieCrP6YNeTmpaApULQ;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$RootWindowContainer$zN9AhOirpieCrP6YNeTmpaApULQ;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$RunningTasks$B8bQN-i7MO0XIePhmkVnejRGNp0;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$RunningTasks$B8bQN-i7MO0XIePhmkVnejRGNp0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;->run()V
-HSPLcom/android/server/wm/-$$Lambda$StatusBarController$1$CizMeoiz6ZVrkt6kAKpSV5htmyc;->run()V
-HSPLcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;->run()V
-HSPLcom/android/server/wm/-$$Lambda$StatusBarController$1$x4q7e0Eysf0ynMSdT1A-JN_ucuI;->run()V
-HSPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60;->doFrame(J)V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$SGOilG6qRe0XTsTJRQqQKhta0pA;->run()V
-HSPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;->run()V
-HSPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-HSPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;->makeAnimator()Landroid/animation/ValueAnimator;
-HSPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;->run()V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$SIBia0mND666K8lMCPsoid8pUTI;->run()V
-HSPLcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;->onAnimationFinished(Lcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;-><init>(IZ)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/wm/-$$Lambda$RunningTasks$MPCBAZpSXKx53M7vrqtvLfftJOc;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$RunningTasks$MPCBAZpSXKx53M7vrqtvLfftJOc;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$RunningTasks$MPCBAZpSXKx53M7vrqtvLfftJOc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wm/-$$Lambda$Session$15hO_YO9_yR6FTMdPPe87fZzL1c;-><init>(Landroid/os/IBinder;)V
+PLcom/android/server/wm/-$$Lambda$Session$15hO_YO9_yR6FTMdPPe87fZzL1c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$Session$zgdcs0nAb8hCdS-6ugnFMadbhU8;-><init>(FFFF)V
+PLcom/android/server/wm/-$$Lambda$Session$zgdcs0nAb8hCdS-6ugnFMadbhU8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;-><init>(Lcom/android/server/wm/StatusBarController$1;)V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;->run()V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$CizMeoiz6ZVrkt6kAKpSV5htmyc;-><init>(Lcom/android/server/wm/StatusBarController$1;)V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;-><init>(Lcom/android/server/wm/StatusBarController$1;JJ)V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;->run()V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$x4q7e0Eysf0ynMSdT1A-JN_ucuI;-><init>(Lcom/android/server/wm/StatusBarController$1;)V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$x4q7e0Eysf0ynMSdT1A-JN_ucuI;->run()V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60;->doFrame(J)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;->run()V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;->makeAnimator()Landroid/animation/ValueAnimator;
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;->run()V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$M9kRDTUpVS03LTqe-QLQz3DnMhk;-><init>(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/AnimationAdapter;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$M9kRDTUpVS03LTqe-QLQz3DnMhk;->run()V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;-><init>(Lcom/android/server/wm/SurfaceAnimator;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;->onAnimationFinished(Lcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/-$$Lambda$SystemGesturesPointerEventListener$9Iw39fjTtjXO5kacgrpdxfxjuSY;-><init>(Lcom/android/server/wm/SystemGesturesPointerEventListener;)V
+PLcom/android/server/wm/-$$Lambda$SystemGesturesPointerEventListener$9Iw39fjTtjXO5kacgrpdxfxjuSY;->run()V
+PLcom/android/server/wm/-$$Lambda$Task$2Dfz5yY09PC4DNoGpbJL4lMbjDo;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$2Dfz5yY09PC4DNoGpbJL4lMbjDo;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$2Dfz5yY09PC4DNoGpbJL4lMbjDo;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$Task$2iqUThjTmuPJNPgunW5qcBmNa3E;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$2iqUThjTmuPJNPgunW5qcBmNa3E;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$2iqUThjTmuPJNPgunW5qcBmNa3E;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$Task$BP51Xfr33NBfsJ4rKO04RomX2Tg;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$BP51Xfr33NBfsJ4rKO04RomX2Tg;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$BP51Xfr33NBfsJ4rKO04RomX2Tg;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$Task$FindRootHelper$sIea0VfMPIGsR0Xwg7rABysHwZ4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$FindRootHelper$sIea0VfMPIGsR0Xwg7rABysHwZ4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$FindRootHelper$sIea0VfMPIGsR0Xwg7rABysHwZ4;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$Task$OQmaRDKXdgA0v6VfNwTX7wOkwBs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$OQmaRDKXdgA0v6VfNwTX7wOkwBs;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$OQmaRDKXdgA0v6VfNwTX7wOkwBs;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$Task$TUGPkEKamN60PF6hJQxUwDBjU-M;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$TUGPkEKamN60PF6hJQxUwDBjU-M;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$TUGPkEKamN60PF6hJQxUwDBjU-M;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$Task$V2nwgQi-xYvgAjezrWRsKUB2nLI;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$V2nwgQi-xYvgAjezrWRsKUB2nLI;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$V2nwgQi-xYvgAjezrWRsKUB2nLI;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$Task$XRtJRRfvaa_neQ0BbpDvRIqXzf4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$XRtJRRfvaa_neQ0BbpDvRIqXzf4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$XRtJRRfvaa_neQ0BbpDvRIqXzf4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$Task$a4C-owFvQJqPsf8C48fgcmCjd6M;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$a4C-owFvQJqPsf8C48fgcmCjd6M;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$a4C-owFvQJqPsf8C48fgcmCjd6M;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$Task$lqGdYR9ABiPuG3_68w1VS6hrr8c;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$lqGdYR9ABiPuG3_68w1VS6hrr8c;-><init>()V
+PLcom/android/server/wm/-$$Lambda$Task$lqGdYR9ABiPuG3_68w1VS6hrr8c;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$Task$wJrggGO94VQWnIMvq8QrsNZ1LZk;-><init>(Ljava/lang/String;)V
+PLcom/android/server/wm/-$$Lambda$Task$wJrggGO94VQWnIMvq8QrsNZ1LZk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$Task$xh_oQC7HZKaIUa_hEyntZO3NQcs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$Task$xh_oQC7HZKaIUa_hEyntZO3NQcs;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$Task$xh_oQC7HZKaIUa_hEyntZO3NQcs;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$0m_-qN9QkcgkoWun2Biw8le4l1Y;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$0m_-qN9QkcgkoWun2Biw8le4l1Y;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Kz-Od_gLhLbMtGka4r78W0Gmzgo;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Kz-Od_gLhLbMtGka4r78W0Gmzgo;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Kz-Od_gLhLbMtGka4r78W0Gmzgo;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;-><init>()V
PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$PSFFTNiSSqx5-emiM-hoY62N04M;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$PSFFTNiSSqx5-emiM-hoY62N04M;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$VuvWLQaLHifVGvurVv75MXCukH0;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$VuvWLQaLHifVGvurVv75MXCukH0;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$VuvWLQaLHifVGvurVv75MXCukH0;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;-><init>()V
PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$byMDuIFUN4cQ1lT9jVjMwLhaLDw;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$byMDuIFUN4cQ1lT9jVjMwLhaLDw;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$cFUeUwnRjuOQKcg2c4PnDS0ImTw;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$cFUeUwnRjuOQKcg2c4PnDS0ImTw;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$k0FXXC-HcWJhmtm6-Kruo6nGeXI;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$k0FXXC-HcWJhmtm6-Kruo6nGeXI;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$qONfw3ssOxjb_iMuO2oMzCbXfrg;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$qONfw3ssOxjb_iMuO2oMzCbXfrg;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sS6OHbZtuWHjzmkm8bleSWZWFqA;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sS6OHbZtuWHjzmkm8bleSWZWFqA;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;-><clinit>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;-><init>()V
+HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;-><clinit>()V
HSPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskPersister$8TcnoL7JFvpj8NzBRg91ns5JOBw;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$TaskPersister$mW0HULrR8EtZ9La-pL9kLTnHSzk;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$TaskPersister$xdLXwftXa6l84QTg1zpxMnmtQ0g;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$TaskPositioningController$u0oAwi82C-bAGo2JAsAc_9ZLi70;->run()V
+PLcom/android/server/wm/-$$Lambda$TaskPersister$8MhgCrM41UuyRqTjWwKtfifKRLo;-><init>(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/-$$Lambda$TaskPersister$piHtCTZMpbHMTXAk2o7OdlK4Xvc;-><init>(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/-$$Lambda$TaskPersister$piHtCTZMpbHMTXAk2o7OdlK4Xvc;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$Tj7bQvjfkzsOjJOdJXBpqCZnW1Q;-><init>(Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$Tj7bQvjfkzsOjJOdJXBpqCZnW1Q;->run()V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$b7mc92hqzbRpmpc99dYS4wKuL6Y;-><clinit>()V
PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$b7mc92hqzbRpmpc99dYS4wKuL6Y;-><init>()V
PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$b7mc92hqzbRpmpc99dYS4wKuL6Y;->apply(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$ewi-Dm2ws6pdTXd1elso7FtoLKw;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$q-BG2kMqHK9gvuY43J0TfS4aSVU;->run()V
-PLcom/android/server/wm/-$$Lambda$TaskStack$JFAlC6OMp1fc_hlvoNIZagoMK1U;->run()V
-PLcom/android/server/wm/-$$Lambda$TaskStack$n0sDe5GcitIQB-Orca4W45Hcc98;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskStack$n0sDe5GcitIQB-Orca4W45Hcc98;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$TaskTapPointerEventListener$Qq8YAj6yai3RMz5wJNKGVJNqsPM;->run()V
-HSPLcom/android/server/wm/-$$Lambda$UB90fpYUkajpKCLGR93ZDlgDhyw;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$UB90fpYUkajpKCLGR93ZDlgDhyw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$UnknownAppVisibilityController$FYhcjOhYWVp6HX5hr3GGaPg67Gc;->run()V
-HSPLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$eY4HzOpxvBAchhbObndnIDQqsVs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$eY4HzOpxvBAchhbObndnIDQqsVs;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$eY4HzOpxvBAchhbObndnIDQqsVs;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$pF831VjVO7J7eXZhalKp1CJKNC4;-><init>(Lcom/android/server/wm/TaskSnapshotController;)V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$pF831VjVO7J7eXZhalKp1CJKNC4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$UZl9uqUNteVgplGGEK6TMzf-7zk;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$UZl9uqUNteVgplGGEK6TMzf-7zk;-><init>()V
+PLcom/android/server/wm/-$$Lambda$UZl9uqUNteVgplGGEK6TMzf-7zk;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$VY87MmFWaCLMkNa2qHGaPrThyrI;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$VY87MmFWaCLMkNa2qHGaPrThyrI;-><init>()V
+PLcom/android/server/wm/-$$Lambda$VY87MmFWaCLMkNa2qHGaPrThyrI;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WallpaperAnimationAdapter$-EwtM9NXnIMpRq_OzBHTdmhakaM;-><init>(JJLjava/util/function/Consumer;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/-$$Lambda$WallpaperAnimationAdapter$-EwtM9NXnIMpRq_OzBHTdmhakaM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;-><init>(Lcom/android/server/wm/WallpaperController;)V
+PLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;-><init>(Lcom/android/server/wm/WindowState;)V
PLcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;->get()Ljava/lang/Object;
-HSPLcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;->run()V
-HSPLcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;->doFrame(J)V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$CbEzJbdxOpfZ-AMUAcOVQZxepOo;->run()V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$TSkDaJxgP1soTkEMmzPpB3NLYUk;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$WindowManagerService$WNGTdzsJPsW8aUuJwsBZFDJuOo0;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$WindowManagerService$wGh8jzmWqrd_7ruovSXZoiIk1s0;->run()V
-HSPLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$4Hbamt-LFcbu8AoZBoOZN_LveKQ;->run()V
-HSPLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;-><init>(Lcom/android/server/wm/WindowToken;)V
-HSPLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/server/wm/-$$Lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI;->make(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;->make()Landroid/view/SurfaceControl$Transaction;
-HSPLcom/android/server/wm/-$$Lambda$hOONSPF2N4ZIr-bSc1utsg8aP-c;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$hOONSPF2N4ZIr-bSc1utsg8aP-c;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$iQxeP_PsHHArcPSFabJ3FXyPKNc;->run()V
-HSPLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$j9nJq2XXOKyN4f0dfDaTjqmQRvg;-><init>()V
-PLcom/android/server/wm/-$$Lambda$j9nJq2XXOKyN4f0dfDaTjqmQRvg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$l7wsAiYkcvlUYlIkk2IImQzEY8Q;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$l7wsAiYkcvlUYlIkk2IImQzEY8Q;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$p4YgPONtKWpvUwa_nwQPB8_Za6I;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$p4YgPONtKWpvUwa_nwQPB8_Za6I;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$pAuPvwUqsKCejIrAPrx0ARZSqeY;->test(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/-$$Lambda$pOh7At8PXGw9JWVkfdjoNb7hsIg;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$pOh7At8PXGw9JWVkfdjoNb7hsIg;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;->startAnimation(Lcom/android/server/wm/SurfaceAnimator;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
-HSPLcom/android/server/wm/-$$Lambda$yIIsPVyXvnU3Rv8mcliit-gIpSs;->run()V
-HSPLcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;->run()V
+PLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;->get()Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;-><init>(Lcom/android/server/wm/WindowAnimator;)V
+PLcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;->run()V
+PLcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;-><init>(Lcom/android/server/wm/WindowAnimator;)V
+PLcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;->doFrame(J)V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$-A4y17DMfFWJcsomzkr9vLbjQAE;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$-A4y17DMfFWJcsomzkr9vLbjQAE;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$WindowContainer$-A4y17DMfFWJcsomzkr9vLbjQAE;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowContainer$4sX6UUtugZXD_J917yuWIm58Q9M;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$4sX6UUtugZXD_J917yuWIm58Q9M;-><init>()V
+HPLcom/android/server/wm/-$$Lambda$WindowContainer$4sX6UUtugZXD_J917yuWIm58Q9M;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowContainer$7u99Gj9w15XaOTtX23LKq-yXn5o;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$7u99Gj9w15XaOTtX23LKq-yXn5o;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$7u99Gj9w15XaOTtX23LKq-yXn5o;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowContainer$Ar4JvZt2tfqrw63PtPyxRtJjsRE;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/policy/WindowManagerPolicy;)V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$Ar4JvZt2tfqrw63PtPyxRtJjsRE;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$TQFCJtak2E5nTjAEG9Q24yp-Oi8;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$TQFCJtak2E5nTjAEG9Q24yp-Oi8;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$TQFCJtak2E5nTjAEG9Q24yp-Oi8;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowContainer$WskrGbNwLeexLlAXUNUyGLhHEWA;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$WskrGbNwLeexLlAXUNUyGLhHEWA;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$WskrGbNwLeexLlAXUNUyGLhHEWA;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowContainer$hEnPtnCJ_pCrhm4O_2UvgVpB0HQ;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$hEnPtnCJ_pCrhm4O_2UvgVpB0HQ;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$hEnPtnCJ_pCrhm4O_2UvgVpB0HQ;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowContainer$sh5zVifGKSmT1fuGQxK_5_eAZ20;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$sh5zVifGKSmT1fuGQxK_5_eAZ20;-><init>()V
+PLcom/android/server/wm/-$$Lambda$WindowContainer$sh5zVifGKSmT1fuGQxK_5_eAZ20;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$WindowManagerConstants$H0Vnr9H2xLD72_22unzb68d1fSM;-><init>(Lcom/android/server/wm/WindowManagerConstants;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerConstants$YOsWod8qOtbBnduZqPrYHSwyJ5E;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerConstants$vqhvZbTPHnj84vQKH9wjAhgVP44;-><init>(Lcom/android/server/wm/WindowManagerConstants;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$-84S7IuSlM65nKgepHJEvVFHdC8;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$8ua71O53dXrMSZy5W0bAg3kK7ho;-><init>(Z)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$8ua71O53dXrMSZy5W0bAg3kK7ho;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$pUqz7rqEpzd4geO4TXsDyOVZCOc;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$pUqz7rqEpzd4geO4TXsDyOVZCOc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$qCWPyJrU0wwX4tP-_QpfmersCVc;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$qCWPyJrU0wwX4tP-_QpfmersCVc;->run()V
+PLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;-><init>(Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wm/-$$Lambda$WindowTracing$lz89IHzR4nKO_ZtXtwyNGkRleMY;-><init>(Lcom/android/server/wm/WindowTracing;)V
+HSPLcom/android/server/wm/-$$Lambda$Z9QEXZevRsInPMEXX0zFWg8YGMQ;-><init>(Lcom/android/server/wm/RecentTasks;)V
+PLcom/android/server/wm/-$$Lambda$_-mEZ6EASUAbbjgZj87dfvxRN64;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$_-mEZ6EASUAbbjgZj87dfvxRN64;-><init>()V
+PLcom/android/server/wm/-$$Lambda$_-mEZ6EASUAbbjgZj87dfvxRN64;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;-><init>()V
+PLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;-><init>()V
+PLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;-><init>()V
+PLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$iQxeP_PsHHArcPSFabJ3FXyPKNc;-><init>(Lcom/android/server/wm/WindowManagerService$SettingsObserver;)V
+PLcom/android/server/wm/-$$Lambda$iQxeP_PsHHArcPSFabJ3FXyPKNc;->run()V
+PLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$lnLU7X2Jo6KLxEmrQlMdzuxHhJA;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$lnLU7X2Jo6KLxEmrQlMdzuxHhJA;-><init>()V
+PLcom/android/server/wm/-$$Lambda$qMFJUmfG50ZSjk7Tac67xBia0d4;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$qMFJUmfG50ZSjk7Tac67xBia0d4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$qMFJUmfG50ZSjk7Tac67xBia0d4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;-><init>()V
+PLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;-><init>()V
+PLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;-><init>()V
+PLcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;->run()V
+PLcom/android/server/wm/-$$Lambda$z5j5fiv3cZuY5AODkt3H3rhKimk;-><clinit>()V
PLcom/android/server/wm/-$$Lambda$z5j5fiv3cZuY5AODkt3H3rhKimk;-><init>()V
PLcom/android/server/wm/-$$Lambda$z5j5fiv3cZuY5AODkt3H3rhKimk;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;-><init>()V
-HSPLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->cacheWindows(Ljava/util/List;)V
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->computeChangedWindows(Z)V
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->computeWindowBoundsInScreen(Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->isReportedWindowType(I)Z
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->updateUnaccountedSpace(Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;Landroid/graphics/Region;Ljava/util/HashSet;)V
-PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowChangedNoLayer(Landroid/view/WindowInfo;Landroid/view/WindowInfo;)Z
-HSPLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowMattersToAccessibility(Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;Landroid/graphics/Region;Ljava/util/HashSet;)Z
-HSPLcom/android/server/wm/AccessibilityController;->onWindowFocusChangedNotLocked()V
-HSPLcom/android/server/wm/AccessibilityController;->performComputeChangedWindowsNotLocked(Z)V
-HSPLcom/android/server/wm/AccessibilityController;->setWindowsForAccessibilityCallback(Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
-HSPLcom/android/server/wm/ActivityDisplay;-><init>(Lcom/android/server/wm/RootActivityContainer;Landroid/view/Display;)V
-HSPLcom/android/server/wm/ActivityDisplay;->addChild(Lcom/android/server/wm/ActivityStack;I)V
-HSPLcom/android/server/wm/ActivityDisplay;->addStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityDisplay;->allResumedActivitiesComplete()Z
-PLcom/android/server/wm/ActivityDisplay;->continueUpdateImeTarget()V
-HSPLcom/android/server/wm/ActivityDisplay;->createDisplayContent()Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/ActivityDisplay;->createStack(IIZ)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->createStackUnchecked(IIIZ)Lcom/android/server/wm/ActivityStack;
-PLcom/android/server/wm/ActivityDisplay;->deferUpdateImeTarget()V
-HSPLcom/android/server/wm/ActivityDisplay;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityDisplay;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
-HSPLcom/android/server/wm/ActivityDisplay;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
-HSPLcom/android/server/wm/ActivityDisplay;->getChildAt(I)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/ActivityDisplay;->getChildCount()I
-HSPLcom/android/server/wm/ActivityDisplay;->getFocusedStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getHomeActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityDisplay;->getHomeActivityForUser(I)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityDisplay;->getHomeStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
-HSPLcom/android/server/wm/ActivityDisplay;->getLastFocusedStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getNextStackId()I
-HSPLcom/android/server/wm/ActivityDisplay;->getOrCreateStack(IIZ)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getOrCreateStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;IZ)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/wm/ActivityDisplay;->getPinnedStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityDisplay;->getSplitScreenPrimaryStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getStack(I)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getStack(II)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;-><init>()V
+PLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;-><clinit>()V
+PLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;-><init>()V
+PLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityDisplay;-><clinit>()V
+PLcom/android/server/wm/ActivityDisplay;-><init>(Lcom/android/server/wm/RootActivityContainer;Landroid/view/Display;)V
+PLcom/android/server/wm/ActivityDisplay;->addStack(Lcom/android/server/wm/ActivityStack;I)V
+PLcom/android/server/wm/ActivityDisplay;->allResumedActivitiesComplete()Z
+PLcom/android/server/wm/ActivityDisplay;->alwaysCreateStack(II)Z
+PLcom/android/server/wm/ActivityDisplay;->createStack(IIZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->createStackUnchecked(IIIZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
+PLcom/android/server/wm/ActivityDisplay;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
+PLcom/android/server/wm/ActivityDisplay;->getFocusedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getLastFocusedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getNextStackId()I
+PLcom/android/server/wm/ActivityDisplay;->getOrCreateStack(IIZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getOrCreateStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;IZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityDisplay;->getStack(I)Lcom/android/server/wm/ActivityStack;
PLcom/android/server/wm/ActivityDisplay;->getStackAbove(Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->getTopInsertPosition(Lcom/android/server/wm/ActivityStack;I)I
-HSPLcom/android/server/wm/ActivityDisplay;->getTopStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityDisplay;->handleActivitySizeCompatModeIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityDisplay;->hasPinnedStack()Z
-HSPLcom/android/server/wm/ActivityDisplay;->hasSplitScreenPrimaryStack()Z
-HSPLcom/android/server/wm/ActivityDisplay;->isPrivate()Z
-HSPLcom/android/server/wm/ActivityDisplay;->isRemoved()Z
-HSPLcom/android/server/wm/ActivityDisplay;->isSingleTaskInstance()Z
-HSPLcom/android/server/wm/ActivityDisplay;->isSleeping()Z
-HSPLcom/android/server/wm/ActivityDisplay;->isTopNotPinnedStack(Lcom/android/server/wm/ActivityStack;)Z
-HSPLcom/android/server/wm/ActivityDisplay;->isTopStack(Lcom/android/server/wm/ActivityStack;)Z
-HSPLcom/android/server/wm/ActivityDisplay;->isWindowingModeSupported(IZZZZI)Z
-HSPLcom/android/server/wm/ActivityDisplay;->moveHomeActivityToTop(Ljava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityDisplay;->moveHomeStackToFront(Ljava/lang/String;)V
+HPLcom/android/server/wm/ActivityDisplay;->getTopStackInWindowingMode(I)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->handleActivitySizeCompatModeIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityDisplay;->isHomeActivityForUser(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/ActivityDisplay;->isPrivate()Z
+PLcom/android/server/wm/ActivityDisplay;->isRemoved()Z
+PLcom/android/server/wm/ActivityDisplay;->isRemoving()Z
+PLcom/android/server/wm/ActivityDisplay;->isSingleTaskInstance()Z
+PLcom/android/server/wm/ActivityDisplay;->isSleeping()Z
+PLcom/android/server/wm/ActivityDisplay;->isTopNotPinnedStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/ActivityDisplay;->isTopStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/ActivityDisplay;->isWindowingModeSupported(IZZZZI)Z
+PLcom/android/server/wm/ActivityDisplay;->lambda$Ib0_Ntr3Lw7OMuHT-utGz685mJk(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/ActivityDisplay;->moveHomeStackToFront(Ljava/lang/String;)V
PLcom/android/server/wm/ActivityDisplay;->moveStackBehindBottomMostVisibleStack(Lcom/android/server/wm/ActivityStack;)V
PLcom/android/server/wm/ActivityDisplay;->moveStackBehindStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityDisplay;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityDisplay;->onDisplayChanged()V
-HSPLcom/android/server/wm/ActivityDisplay;->onInitializeOverrideConfiguration(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityDisplay;->onLockTaskPackagesUpdated()V
-HSPLcom/android/server/wm/ActivityDisplay;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityDisplay;->onStackWindowingModeChanged(Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityDisplay;->pauseBackStacks(ZLcom/android/server/wm/ActivityRecord;Z)Z
-HSPLcom/android/server/wm/ActivityDisplay;->positionChildAt(Lcom/android/server/wm/ActivityStack;IZLjava/lang/String;)V
-HSPLcom/android/server/wm/ActivityDisplay;->positionChildAtBottom(Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityDisplay;->positionChildAtBottom(Lcom/android/server/wm/ActivityStack;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityDisplay;->positionChildAtTop(Lcom/android/server/wm/ActivityStack;Z)V
-HSPLcom/android/server/wm/ActivityDisplay;->positionChildAtTop(Lcom/android/server/wm/ActivityStack;ZLjava/lang/String;)V
+PLcom/android/server/wm/ActivityDisplay;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityDisplay;->onDisplayChanged()V
+PLcom/android/server/wm/ActivityDisplay;->onLockTaskPackagesUpdated()V
+PLcom/android/server/wm/ActivityDisplay;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityDisplay;->onStackOrderChanged(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityDisplay;->pauseBackStacks(ZLcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityDisplay;->performDisplayOverrideConfigUpdate(Landroid/content/res/Configuration;Z)I
+PLcom/android/server/wm/ActivityDisplay;->positionStackAt(Lcom/android/server/wm/ActivityStack;I)V
+PLcom/android/server/wm/ActivityDisplay;->positionStackAt(Lcom/android/server/wm/ActivityStack;IZLjava/lang/String;)V
+PLcom/android/server/wm/ActivityDisplay;->positionStackAtTop(Lcom/android/server/wm/ActivityStack;ZLjava/lang/String;)V
PLcom/android/server/wm/ActivityDisplay;->registerStackOrderChangedListener(Lcom/android/server/wm/ActivityDisplay$OnStackOrderChangedListener;)V
PLcom/android/server/wm/ActivityDisplay;->releaseSelfIfNeeded()V
-PLcom/android/server/wm/ActivityDisplay;->remove()V
-PLcom/android/server/wm/ActivityDisplay;->removeChild(Lcom/android/server/wm/ActivityStack;)V
-PLcom/android/server/wm/ActivityDisplay;->removeStacksInWindowingModes([I)V
-PLcom/android/server/wm/ActivityDisplay;->resolveWindowingMode(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;I)I
-HSPLcom/android/server/wm/ActivityDisplay;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;Z)V
-HSPLcom/android/server/wm/ActivityDisplay;->setIsSleeping(Z)V
-PLcom/android/server/wm/ActivityDisplay;->shouldDestroyContentOnRemove()Z
-HSPLcom/android/server/wm/ActivityDisplay;->shouldSleep()Z
-HSPLcom/android/server/wm/ActivityDisplay;->supportsSystemDecorations()Z
-PLcom/android/server/wm/ActivityDisplay;->toString()Ljava/lang/String;
-HSPLcom/android/server/wm/ActivityDisplay;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityDisplay;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityDisplay;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityDisplay;->setIsSleeping(Z)V
+PLcom/android/server/wm/ActivityDisplay;->shouldSleep()Z
+PLcom/android/server/wm/ActivityDisplay;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityDisplay;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
PLcom/android/server/wm/ActivityDisplay;->unregisterStackOrderChangedListener(Lcom/android/server/wm/ActivityDisplay$OnStackOrderChangedListener;)V
-HSPLcom/android/server/wm/ActivityDisplay;->validateWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;I)I
-PLcom/android/server/wm/ActivityDisplay;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/ActivityMetricsLogger$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;Lcom/android/server/wm/ActivityRecord;I)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Landroid/content/Context;Landroid/os/Looper;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->checkVisibility(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->getTransitionType(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-HSPLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionMultiEvents$0$ActivityMetricsLogger(IILcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionMultiEvents$1$ActivityMetricsLogger(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionReportedDrawn$2$ActivityMetricsLogger(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
-PLcom/android/server/wm/ActivityMetricsLogger;->logAbortedBgActivityStart(Landroid/content/Intent;Lcom/android/server/wm/WindowProcessController;ILjava/lang/String;IZIIZZ)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->logAppDisplayed(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-PLcom/android/server/wm/ActivityMetricsLogger;->logAppFullyDrawn(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->logAppStartMemoryStateCapture(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->logAppTransition(IILcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionCancel(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionMultiEvents()V
-PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionReportedDrawn(Lcom/android/server/wm/ActivityRecord;Z)Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;
-HSPLcom/android/server/wm/ActivityMetricsLogger;->logWindowState()V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(ILcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(ILcom/android/server/wm/ActivityRecord;ZZ)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunching(Landroid/content/Intent;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyBindApplication(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/wm/ActivityMetricsLogger;->notifyStartingWindowDrawn(IJ)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyTransitionStarting(Landroid/util/SparseIntArray;J)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyVisibilityChanged(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->notifyWindowsDrawn(IJ)Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;
-HSPLcom/android/server/wm/ActivityMetricsLogger;->reset(ZLcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->startTraces(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
-HSPLcom/android/server/wm/ActivityMetricsLogger;->stopLaunchTrace(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
-HSPLcom/android/server/wm/ActivityRecord$Token;-><init>(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;)V
+PLcom/android/server/wm/ActivityDisplay;->updateDisplayOverrideConfigurationLocked()Z
+PLcom/android/server/wm/ActivityDisplay;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
+PLcom/android/server/wm/ActivityDisplay;->validateWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;I)I
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;-><init>()V
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->access$000(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;)J
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->access$002(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;J)J
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->access$100(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$LaunchingState;->access$102(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;IZ)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->allDrawn()Z
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->calculateCurrentDelay()I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->calculateDelay(J)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->contains(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->create(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;ZI)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->removePendingDrawActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;->setLatestLaunchedActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityMetricsLogger$1;)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$1100(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$1200(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$300(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$400(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$500(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$600(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$700(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$800(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)I
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->access$900(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;->getLaunchState()I
+HSPLcom/android/server/wm/ActivityMetricsLogger;-><clinit>()V
+HSPLcom/android/server/wm/ActivityMetricsLogger;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->abort(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->checkVisibility(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->convertActivityRecordToProto(Lcom/android/server/wm/ActivityRecord;)[B
+PLcom/android/server/wm/ActivityMetricsLogger;->convertAppStartTransitionType(I)I
+PLcom/android/server/wm/ActivityMetricsLogger;->convertTransitionTypeToLaunchObserverTemperature(I)I
+PLcom/android/server/wm/ActivityMetricsLogger;->done(ZLcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Ljava/lang/String;J)V
+PLcom/android/server/wm/ActivityMetricsLogger;->getActiveTransitionInfo(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;
+PLcom/android/server/wm/ActivityMetricsLogger;->getArtManagerInternal()Landroid/content/pm/dex/ArtManagerInternal;
+PLcom/android/server/wm/ActivityMetricsLogger;->getLastDrawnDelayMs(Lcom/android/server/wm/ActivityRecord;)I
+PLcom/android/server/wm/ActivityMetricsLogger;->getLaunchObserverRegistry()Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+PLcom/android/server/wm/ActivityMetricsLogger;->hasActivityToBeDrawn(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$9gqV7SOtv0dBXWMri6Jpu47OdLc(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$hasActivityToBeDrawn$0(Lcom/android/server/wm/ActivityRecord;)Ljava/lang/Boolean;
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionFinished$1$ActivityMetricsLogger(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionFinished$2$ActivityMetricsLogger(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunchCancelled(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunchFinished(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;J)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyIntentFailed()V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppDisplayed(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppStartMemoryStateCapture(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransition(IILcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionCancel(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionFinished(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logWindowState()V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;ILcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunching(Landroid/content/Intent;)Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunching(Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunching(Landroid/content/Intent;Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityMetricsLogger$LaunchingState;
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyBindApplication(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyTransitionStarting(Landroid/util/ArrayMap;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyVisibilityChanged(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyWindowsDrawn(Lcom/android/server/wm/ActivityRecord;J)Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfoSnapshot;
+PLcom/android/server/wm/ActivityMetricsLogger;->startLaunchTrace(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->stopLaunchTrace(Lcom/android/server/wm/ActivityMetricsLogger$TransitionInfo;)V
+PLcom/android/server/wm/ActivityRecord$1;-><clinit>()V
+PLcom/android/server/wm/ActivityRecord$AddStartingWindow;-><init>(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$AddStartingWindow;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord$1;)V
+PLcom/android/server/wm/ActivityRecord$AddStartingWindow;->run()V
+PLcom/android/server/wm/ActivityRecord$Token;-><init>(Landroid/content/Intent;)V
+PLcom/android/server/wm/ActivityRecord$Token;->access$000(Lcom/android/server/wm/ActivityRecord$Token;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord$Token;->access$100(Lcom/android/server/wm/ActivityRecord$Token;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord$Token;->attach(Lcom/android/server/wm/ActivityRecord;)V
PLcom/android/server/wm/ActivityRecord$Token;->getName()Ljava/lang/String;
-HSPLcom/android/server/wm/ActivityRecord$Token;->toString()Ljava/lang/String;
-HSPLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityStackSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityRecord;->activityStoppedLocked(Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/wm/ActivityRecord;->addStartingWindow(Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/os/IBinder;ZZZZZZ)Z
-HSPLcom/android/server/wm/ActivityRecord;->allowTaskSnapshot()Z
-HSPLcom/android/server/wm/ActivityRecord;->applyOptionsLocked()V
-HSPLcom/android/server/wm/ActivityRecord;->applyOptionsLocked(Landroid/app/ActivityOptions;Landroid/content/Intent;)V
-HSPLcom/android/server/wm/ActivityRecord;->attachedToProcess()Z
-HSPLcom/android/server/wm/ActivityRecord;->canLaunchHomeActivity(ILcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityRecord;->canResumeByCompat()Z
-HSPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z
-HSPLcom/android/server/wm/ActivityRecord;->checkEnterPictureInPictureState(Ljava/lang/String;Z)Z
-HSPLcom/android/server/wm/ActivityRecord;->clearOptionsLocked()V
-HSPLcom/android/server/wm/ActivityRecord;->completeResumeLocked()V
-HSPLcom/android/server/wm/ActivityRecord;->computeBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ActivityRecord;->continueLaunchTickingLocked()Z
-HSPLcom/android/server/wm/ActivityRecord;->createAppWindow(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;ZLcom/android/server/wm/DisplayContent;JZZIIIIZZ)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/ActivityRecord;->createAppWindowToken()V
+PLcom/android/server/wm/ActivityRecord$Token;->tokenToActivityRecordLocked(Lcom/android/server/wm/ActivityRecord$Token;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityStackSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord;->activityResumedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityRecord;->activityStoppedLocked(Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+PLcom/android/server/wm/ActivityRecord;->addResultLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
+PLcom/android/server/wm/ActivityRecord;->addStartingWindow(Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/os/IBinder;ZZZZZZ)Z
+PLcom/android/server/wm/ActivityRecord;->addToFinishingAndWaitForIdle()Z
+PLcom/android/server/wm/ActivityRecord;->addToStopping(ZZLjava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->addWindow(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->allDrawnStatesConsidered()Z
+PLcom/android/server/wm/ActivityRecord;->allowMoveToFront()Z
+PLcom/android/server/wm/ActivityRecord;->allowTaskSnapshot()Z
+PLcom/android/server/wm/ActivityRecord;->applyAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Z
+PLcom/android/server/wm/ActivityRecord;->applyAspectRatio(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityRecord;->applyOptionsLocked()V
+PLcom/android/server/wm/ActivityRecord;->applyOptionsLocked(Landroid/app/ActivityOptions;Landroid/content/Intent;)V
+PLcom/android/server/wm/ActivityRecord;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->attachedToProcess()Z
+PLcom/android/server/wm/ActivityRecord;->canBeLaunchedOnDisplay(I)Z
+HPLcom/android/server/wm/ActivityRecord;->canBeTopRunning()Z
+PLcom/android/server/wm/ActivityRecord;->canResumeByCompat()Z
+PLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z
+PLcom/android/server/wm/ActivityRecord;->canShowWindows()Z
+PLcom/android/server/wm/ActivityRecord;->canTurnScreenOn()Z
+PLcom/android/server/wm/ActivityRecord;->cancelInitializing()V
+PLcom/android/server/wm/ActivityRecord;->checkAppWindowsReadyToShow()V
+PLcom/android/server/wm/ActivityRecord;->checkCompleteDeferredRemoval()Z
+PLcom/android/server/wm/ActivityRecord;->checkEnterPictureInPictureState(Ljava/lang/String;Z)Z
+PLcom/android/server/wm/ActivityRecord;->checkKeyguardFlagsChanged()V
+PLcom/android/server/wm/ActivityRecord;->cleanUp(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->cleanUpActivityServices()V
+PLcom/android/server/wm/ActivityRecord;->clearAllDrawn()V
+PLcom/android/server/wm/ActivityRecord;->clearAnimatingFlags()V
+PLcom/android/server/wm/ActivityRecord;->clearChangeLeash(Landroid/view/SurfaceControl$Transaction;Z)V
+PLcom/android/server/wm/ActivityRecord;->clearOptionsLocked()V
+PLcom/android/server/wm/ActivityRecord;->clearOptionsLocked(Z)V
+PLcom/android/server/wm/ActivityRecord;->clearRelaunching()V
+PLcom/android/server/wm/ActivityRecord;->clearThumbnail()V
+PLcom/android/server/wm/ActivityRecord;->commitVisibility(Landroid/view/WindowManager$LayoutParams;ZIZZ)Z
+PLcom/android/server/wm/ActivityRecord;->completeFinishing(Ljava/lang/String;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->completeResumeLocked()V
+HPLcom/android/server/wm/ActivityRecord;->containsDismissKeyguardWindow()Z
+HPLcom/android/server/wm/ActivityRecord;->containsShowWhenLockedWindow()Z
+PLcom/android/server/wm/ActivityRecord;->continueLaunchTickingLocked()Z
+PLcom/android/server/wm/ActivityRecord;->createAnimationBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/ActivityRecord;->createRemoteAnimationTarget(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;)Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/ActivityRecord;->createSnapshot(Landroid/app/ActivityManager$TaskSnapshot;)Z
PLcom/android/server/wm/ActivityRecord;->deliverNewIntentLocked(ILandroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityRecord;->ensureActivityConfiguration(IZZ)Z
+PLcom/android/server/wm/ActivityRecord;->destroyIfPossible(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityRecord;->destroyImmediately(ZLjava/lang/String;)Z
+PLcom/android/server/wm/ActivityRecord;->destroySurfaces()V
+PLcom/android/server/wm/ActivityRecord;->destroySurfaces(Z)V
+PLcom/android/server/wm/ActivityRecord;->destroyed(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->detachChildren()V
+PLcom/android/server/wm/ActivityRecord;->ensureActivityConfiguration(IZ)Z
+PLcom/android/server/wm/ActivityRecord;->ensureActivityConfiguration(IZZ)Z
+PLcom/android/server/wm/ActivityRecord;->fillsParent()Z
+PLcom/android/server/wm/ActivityRecord;->findMainWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/ActivityRecord;->findMainWindow(Z)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/ActivityRecord;->finishActivityResults(ILandroid/content/Intent;)V
+PLcom/android/server/wm/ActivityRecord;->finishIfPossible(ILandroid/content/Intent;Ljava/lang/String;Z)I
+PLcom/android/server/wm/ActivityRecord;->finishIfPossible(Ljava/lang/String;Z)I
PLcom/android/server/wm/ActivityRecord;->finishLaunchTickingLocked()V
-HSPLcom/android/server/wm/ActivityRecord;->forTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityRecord;->getActivityStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityRecord;->getChildCount()I
-HSPLcom/android/server/wm/ActivityRecord;->getConfigurationChanges(Landroid/content/res/Configuration;)I
-HSPLcom/android/server/wm/ActivityRecord;->getDisplay()Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/ActivityRecord;->getDisplayId()I
-HSPLcom/android/server/wm/ActivityRecord;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation()I
-HSPLcom/android/server/wm/ActivityRecord;->getUriPermissionsLocked()Lcom/android/server/uri/UriPermissionOwner;
-HSPLcom/android/server/wm/ActivityRecord;->handleAlreadyVisible()Z
-HSPLcom/android/server/wm/ActivityRecord;->inSizeCompatMode()Z
-HSPLcom/android/server/wm/ActivityRecord;->isHomeIntent(Landroid/content/Intent;)Z
+HPLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/ActivityRecord;->forAllActivities(Ljava/util/function/Function;Z)Z
+HPLcom/android/server/wm/ActivityRecord;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/ActivityRecord;->forAllWindowsUnchecked(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/ActivityRecord;->forTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/ActivityRecord;->getActivity(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->getActivityStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityRecord;->getAnimationBounds(I)Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->getAnimationFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityRecord;->getAnimationLeashParent()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/ActivityRecord;->getBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->getConfigurationChanges(Landroid/content/res/Configuration;)I
+PLcom/android/server/wm/ActivityRecord;->getDisplay()Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/ActivityRecord;->getDisplayId()I
+HPLcom/android/server/wm/ActivityRecord;->getDisplayedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->getLetterboxInnerBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityRecord;->getLetterboxInsets()Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityRecord;->getOrientation(I)I
+PLcom/android/server/wm/ActivityRecord;->getPersistentSavedState()Landroid/os/PersistableBundle;
+PLcom/android/server/wm/ActivityRecord;->getRequestedOrientation()I
+PLcom/android/server/wm/ActivityRecord;->getSavedState()Landroid/os/Bundle;
+PLcom/android/server/wm/ActivityRecord;->getStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityRecord;->getStackLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityRecord;->getStartingWindowType(ZZZZZZLandroid/app/ActivityManager$TaskSnapshot;)I
+PLcom/android/server/wm/ActivityRecord;->getState()Lcom/android/server/wm/ActivityStack$ActivityState;
+PLcom/android/server/wm/ActivityRecord;->getTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityRecord;->getTaskForActivityLocked(Landroid/os/IBinder;Z)I
+PLcom/android/server/wm/ActivityRecord;->getTopFullscreenWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/ActivityRecord;->getTransit()I
+PLcom/android/server/wm/ActivityRecord;->getTransitFlags()I
+PLcom/android/server/wm/ActivityRecord;->getTurnScreenOnFlag()Z
+PLcom/android/server/wm/ActivityRecord;->getUid()I
+PLcom/android/server/wm/ActivityRecord;->getUriPermissionsLocked()Lcom/android/server/uri/UriPermissionOwner;
+PLcom/android/server/wm/ActivityRecord;->handleAlreadyVisible()V
+PLcom/android/server/wm/ActivityRecord;->hasActivity()Z
+PLcom/android/server/wm/ActivityRecord;->hasProcess()Z
+PLcom/android/server/wm/ActivityRecord;->hasSavedState()Z
+PLcom/android/server/wm/ActivityRecord;->hasSizeCompatBounds()Z
+PLcom/android/server/wm/ActivityRecord;->inSizeCompatMode()Z
+PLcom/android/server/wm/ActivityRecord;->isAlwaysFocusable()Z
+PLcom/android/server/wm/ActivityRecord;->isClientVisible()Z
+PLcom/android/server/wm/ActivityRecord;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/ActivityRecord;->isFocusable()Z
+PLcom/android/server/wm/ActivityRecord;->isFreezingScreen()Z
+PLcom/android/server/wm/ActivityRecord;->isHomeIntent(Landroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityRecord;->isInChangeTransition()Z
PLcom/android/server/wm/ActivityRecord;->isInStackLocked()Z
-PLcom/android/server/wm/ActivityRecord;->isMainIntent(Landroid/content/Intent;)Z
-HSPLcom/android/server/wm/ActivityRecord;->isProcessRunning()Z
-PLcom/android/server/wm/ActivityRecord;->isResolverOrChildActivity()Z
-HSPLcom/android/server/wm/ActivityRecord;->makeActiveIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityRecord;->makeClientVisible()V
-HSPLcom/android/server/wm/ActivityRecord;->makeVisibleIfNeeded(Lcom/android/server/wm/ActivityRecord;Z)V
-HSPLcom/android/server/wm/ActivityRecord;->moveFocusableActivityToTop(Ljava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityRecord;->notifyAppResumed(Z)V
-HSPLcom/android/server/wm/ActivityRecord;->notifyUnknownVisibilityLaunched()V
-HSPLcom/android/server/wm/ActivityRecord;->okToShowLocked()Z
-HSPLcom/android/server/wm/ActivityRecord;->onAnimationFinished()V
-HSPLcom/android/server/wm/ActivityRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/ActivityRecord;->onStartingWindowDrawn(J)V
-HSPLcom/android/server/wm/ActivityRecord;->onWindowsDrawn(ZJ)V
-HSPLcom/android/server/wm/ActivityRecord;->onWindowsGone()V
-HSPLcom/android/server/wm/ActivityRecord;->onWindowsVisible()V
-HSPLcom/android/server/wm/ActivityRecord;->pauseKeyDispatchingLocked()V
-PLcom/android/server/wm/ActivityRecord;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
-HSPLcom/android/server/wm/ActivityRecord;->relaunchActivityLocked(ZZ)V
-PLcom/android/server/wm/ActivityRecord;->removeResultsLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)V
-HSPLcom/android/server/wm/ActivityRecord;->removeWindowContainer()V
-HSPLcom/android/server/wm/ActivityRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/ActivityRecord;->resolveSizeCompatModeConfiguration(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityRecord;->resumeKeyDispatchingLocked()V
-HSPLcom/android/server/wm/ActivityRecord;->scheduleConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/ActivityRecord;->scheduleMultiWindowModeChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/ActivityRecord;->schedulePictureInPictureModeChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityRecord;->scheduleTopResumedActivityChanged(Z)V
-HSPLcom/android/server/wm/ActivityRecord;->setActivityType(ZILandroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityRecord;->setDisablePreviewScreenshots(Z)V
-HSPLcom/android/server/wm/ActivityRecord;->setLastReportedConfiguration(Landroid/util/MergedConfiguration;)V
+PLcom/android/server/wm/ActivityRecord;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityRecord;->isLetterboxOverlappingWith(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ActivityRecord;->isPersistable()Z
+PLcom/android/server/wm/ActivityRecord;->isProcessRunning()Z
+PLcom/android/server/wm/ActivityRecord;->isRelaunching()Z
+PLcom/android/server/wm/ActivityRecord;->isResizeable()Z
+PLcom/android/server/wm/ActivityRecord;->isResolverActivity(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityRecord;->isResolverOrDelegateActivity()Z
+PLcom/android/server/wm/ActivityRecord;->isRootOfTask()Z
+PLcom/android/server/wm/ActivityRecord;->isSleeping()Z
+PLcom/android/server/wm/ActivityRecord;->isState(Lcom/android/server/wm/ActivityStack$ActivityState;)Z
+PLcom/android/server/wm/ActivityRecord;->isState(Lcom/android/server/wm/ActivityStack$ActivityState;Lcom/android/server/wm/ActivityStack$ActivityState;)Z
+PLcom/android/server/wm/ActivityRecord;->isState(Lcom/android/server/wm/ActivityStack$ActivityState;Lcom/android/server/wm/ActivityStack$ActivityState;Lcom/android/server/wm/ActivityStack$ActivityState;Lcom/android/server/wm/ActivityStack$ActivityState;Lcom/android/server/wm/ActivityStack$ActivityState;)Z
+PLcom/android/server/wm/ActivityRecord;->isSurfaceShowing()Z
+PLcom/android/server/wm/ActivityRecord;->isTopRunningActivity()Z
+PLcom/android/server/wm/ActivityRecord;->isVisible()Z
+HPLcom/android/server/wm/ActivityRecord;->isWaitingForTransitionStart()Z
+PLcom/android/server/wm/ActivityRecord;->lambda$applyOptionsLocked$5(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord;->lambda$prAsqx_JQJTqW1jNxmkuU3AV8AU(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->lambda$removeStartingWindow$3(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
+PLcom/android/server/wm/ActivityRecord;->lambda$setVisibility$6(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->lambda$shouldUseAppThemeSnapshot$7(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/ActivityRecord;->lambda$showAllWindowsLocked$8(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->logStartActivity(ILcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityRecord;->makeActiveIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->makeClientVisible()V
+PLcom/android/server/wm/ActivityRecord;->makeFinishingLocked()V
+PLcom/android/server/wm/ActivityRecord;->makeInvisible()V
+PLcom/android/server/wm/ActivityRecord;->makeVisibleIfNeeded(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityRecord;->matchParentBounds()Z
+PLcom/android/server/wm/ActivityRecord;->mayFreezeScreenLocked()Z
+PLcom/android/server/wm/ActivityRecord;->mayFreezeScreenLocked(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/ActivityRecord;->moveFocusableActivityToTop(Ljava/lang/String;)Z
+HPLcom/android/server/wm/ActivityRecord;->needsZBoost()Z
+PLcom/android/server/wm/ActivityRecord;->notifyAppResumed(Z)V
+PLcom/android/server/wm/ActivityRecord;->notifyAppStopped()V
+PLcom/android/server/wm/ActivityRecord;->notifyUnknownVisibilityLaunchedForKeyguardTransition()V
+PLcom/android/server/wm/ActivityRecord;->occludesParent()Z
+HPLcom/android/server/wm/ActivityRecord;->okToShowLocked()Z
+PLcom/android/server/wm/ActivityRecord;->onAnimationFinished()V
+PLcom/android/server/wm/ActivityRecord;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/ActivityRecord;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/ActivityRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/ActivityRecord;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V
+PLcom/android/server/wm/ActivityRecord;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/ActivityRecord;->onRemovedFromDisplay()V
+PLcom/android/server/wm/ActivityRecord;->onWindowsDrawn(ZJ)V
+PLcom/android/server/wm/ActivityRecord;->onWindowsGone()V
+PLcom/android/server/wm/ActivityRecord;->onWindowsVisible()V
+PLcom/android/server/wm/ActivityRecord;->pauseKeyDispatchingLocked()V
+PLcom/android/server/wm/ActivityRecord;->postWindowRemoveStartingWindowCleanup(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->prepareActivityHideTransitionAnimation(I)V
+HPLcom/android/server/wm/ActivityRecord;->prepareSurfaces()V
+PLcom/android/server/wm/ActivityRecord;->removeAppTokenFromDisplay()V
+PLcom/android/server/wm/ActivityRecord;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/ActivityRecord;->removeDeadWindows()V
+PLcom/android/server/wm/ActivityRecord;->removeFromHistory(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->removeStartingWindow()V
+PLcom/android/server/wm/ActivityRecord;->removeUriPermissionsLocked()V
+PLcom/android/server/wm/ActivityRecord;->reportDescendantOrientationChangeIfNeeded()V
+PLcom/android/server/wm/ActivityRecord;->requestUpdateWallpaperIfNeeded()V
+PLcom/android/server/wm/ActivityRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->resumeKeyDispatchingLocked()V
+PLcom/android/server/wm/ActivityRecord;->scheduleAddStartingWindow()V
+PLcom/android/server/wm/ActivityRecord;->scheduleTopResumedActivityChanged(Z)Z
+PLcom/android/server/wm/ActivityRecord;->setActivityType(ZILandroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityRecord;->setAppLayoutChanges(ILjava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->setClientVisible(Z)V
+PLcom/android/server/wm/ActivityRecord;->setDeferHidingClient(Z)V
+PLcom/android/server/wm/ActivityRecord;->setLastReportedConfiguration(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->setLastReportedConfiguration(Landroid/util/MergedConfiguration;)V
+PLcom/android/server/wm/ActivityRecord;->setLastReportedGlobalConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
PLcom/android/server/wm/ActivityRecord;->setOrientation(IZ)V
-HSPLcom/android/server/wm/ActivityRecord;->setProcess(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/ActivityRecord;->setSleeping(ZZ)V
-HSPLcom/android/server/wm/ActivityRecord;->setState(Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityRecord;->setTask(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/ActivityRecord;->setTask(Lcom/android/server/wm/TaskRecord;Z)V
-HSPLcom/android/server/wm/ActivityRecord;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
-HSPLcom/android/server/wm/ActivityRecord;->setVisibility(Z)V
-HSPLcom/android/server/wm/ActivityRecord;->setWillCloseOrEnterPip(Z)V
-HSPLcom/android/server/wm/ActivityRecord;->shouldBeVisible(Z)Z
-HSPLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityRecord;->shouldRelaunchLocked(ILandroid/content/res/Configuration;)Z
-HSPLcom/android/server/wm/ActivityRecord;->shouldResumeActivity(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityRecord;->shouldUseSizeCompatMode()Z
-HSPLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZ)V
-HSPLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZZ)V
-HSPLcom/android/server/wm/ActivityRecord;->startFreezingScreenLocked(Lcom/android/server/wm/WindowProcessController;I)V
-HSPLcom/android/server/wm/ActivityRecord;->startLaunchTickingLocked()V
-PLcom/android/server/wm/ActivityRecord;->startingWindowStateToString(I)Ljava/lang/String;
-HSPLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String;
-PLcom/android/server/wm/ActivityRecord;->updateMultiWindowMode()V
-HSPLcom/android/server/wm/ActivityRecord;->updateOverrideConfiguration()V
-PLcom/android/server/wm/ActivityRecord;->updatePictureInPictureMode(Landroid/graphics/Rect;Z)V
-HSPLcom/android/server/wm/ActivityRecord;->writeIdentifierToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/ActivityRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/wm/ActivityRecord;->setProcess(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityRecord;->setSavedState(Landroid/os/Bundle;)V
+PLcom/android/server/wm/ActivityRecord;->setSizeConfigurations([I[I[I)V
+PLcom/android/server/wm/ActivityRecord;->setSleeping(Z)V
+PLcom/android/server/wm/ActivityRecord;->setSleeping(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->setState(Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
+PLcom/android/server/wm/ActivityRecord;->setTaskForReuse(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityRecord;->setVisibility(Z)V
+PLcom/android/server/wm/ActivityRecord;->setVisibility(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->setVisible(Z)V
+PLcom/android/server/wm/ActivityRecord;->setWillCloseOrEnterPip(Z)V
+PLcom/android/server/wm/ActivityRecord;->shouldAnimate(I)Z
+PLcom/android/server/wm/ActivityRecord;->shouldBeResumed(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldBeVisible()Z
+HPLcom/android/server/wm/ActivityRecord;->shouldBeVisible(ZZ)Z
+PLcom/android/server/wm/ActivityRecord;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldPauseActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldResumeActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->shouldUpdateConfigForDisplayChanged()Z
+PLcom/android/server/wm/ActivityRecord;->shouldUseSizeCompatMode()Z
+PLcom/android/server/wm/ActivityRecord;->showAllWindowsLocked()V
+PLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZ)V
+PLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZZ)V
+PLcom/android/server/wm/ActivityRecord;->startFreezingScreenLocked(I)V
+PLcom/android/server/wm/ActivityRecord;->startFreezingScreenLocked(Lcom/android/server/wm/WindowProcessController;I)V
+PLcom/android/server/wm/ActivityRecord;->startLaunchTickingLocked()V
+PLcom/android/server/wm/ActivityRecord;->stopFreezingScreen(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->stopFreezingScreenLocked(Z)V
+PLcom/android/server/wm/ActivityRecord;->stopIfPossible()V
+PLcom/android/server/wm/ActivityRecord;->supportsFreeform()Z
+PLcom/android/server/wm/ActivityRecord;->supportsPictureInPicture()Z
+PLcom/android/server/wm/ActivityRecord;->supportsResizeableMultiWindow()Z
+PLcom/android/server/wm/ActivityRecord;->supportsSplitScreenWindowingMode()Z
+PLcom/android/server/wm/ActivityRecord;->takeFromHistory()V
+PLcom/android/server/wm/ActivityRecord;->takeOptionsLocked(Z)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String;
+PLcom/android/server/wm/ActivityRecord;->transferStartingWindow(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityRecord;->transferStartingWindow(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V
+PLcom/android/server/wm/ActivityRecord;->updateAllDrawn()V
+PLcom/android/server/wm/ActivityRecord;->updateColorTransform()V
+PLcom/android/server/wm/ActivityRecord;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/ActivityRecord;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/ActivityRecord;->updateOptionsLocked(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityRecord;->updateReportedVisibilityLocked()V
+HPLcom/android/server/wm/ActivityRecord;->updateSizeCompatMode()V
+PLcom/android/server/wm/ActivityRecord;->updateTaskDescription(Ljava/lang/CharSequence;)V
+PLcom/android/server/wm/ActivityRecord;->waitingForReplacement()Z
+PLcom/android/server/wm/ActivityRecord;->windowsAreFocusable()Z
+PLcom/android/server/wm/ActivityRecord;->writeIdentifierToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/wm/ActivityRecord;->writeNameToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/wm/ActivityRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/wm/ActivityRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
+PLcom/android/server/wm/ActivityResult;-><init>(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;)V
PLcom/android/server/wm/ActivityServiceConnectionsHolder;->addConnection(Ljava/lang/Object;)V
PLcom/android/server/wm/ActivityServiceConnectionsHolder;->disconnectActivityFromServices()V
-PLcom/android/server/wm/ActivityServiceConnectionsHolder;->forEachConnection(Ljava/util/function/Consumer;)V
-PLcom/android/server/wm/ActivityServiceConnectionsHolder;->isActivityVisible()Z
-PLcom/android/server/wm/ActivityServiceConnectionsHolder;->lambda$disconnectActivityFromServices$0$ActivityServiceConnectionsHolder()V
PLcom/android/server/wm/ActivityServiceConnectionsHolder;->removeConnection(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/ActivityStack$ActivityStackHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/ActivityStack$ActivityState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/server/wm/ActivityStack$ActivityState;->values()[Lcom/android/server/wm/ActivityStack$ActivityState;
-HSPLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityDisplay;ILcom/android/server/wm/ActivityStackSupervisor;IIZ)V
-HSPLcom/android/server/wm/ActivityStack;->activityDestroyedLocked(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->activityDestroyedLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->activityPausedLocked(Landroid/os/IBinder;Z)V
-PLcom/android/server/wm/ActivityStack;->addStartingWindowsForVisibleActivities(Z)V
-HSPLcom/android/server/wm/ActivityStack;->addTask(Lcom/android/server/wm/TaskRecord;IZLjava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->addTask(Lcom/android/server/wm/TaskRecord;ZLjava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->addToStopping(Lcom/android/server/wm/ActivityRecord;ZZ)V
-HSPLcom/android/server/wm/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;Z)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityStack;->adjustFocusedActivityStack(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityStack;->affectedBySplitScreenResize()Z
-PLcom/android/server/wm/ActivityStack;->animateResizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;IZ)V
-HSPLcom/android/server/wm/ActivityStack;->awakeFromSleepingLocked()V
-HSPLcom/android/server/wm/ActivityStack;->canEnterPipOnTaskSwitch(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
-HSPLcom/android/server/wm/ActivityStack;->canShowWithInsecureKeyguard()Z
-HSPLcom/android/server/wm/ActivityStack;->cancelInitializingActivities()V
-HSPLcom/android/server/wm/ActivityStack;->checkKeyguardVisibility(Lcom/android/server/wm/ActivityRecord;ZZ)Z
-HSPLcom/android/server/wm/ActivityStack;->checkReadyForSleep()V
-HSPLcom/android/server/wm/ActivityStack;->cleanUpActivityLocked(Lcom/android/server/wm/ActivityRecord;ZZ)V
-PLcom/android/server/wm/ActivityStack;->closeSystemDialogsLocked()V
-HSPLcom/android/server/wm/ActivityStack;->completePauseLocked(ZLcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->continueUpdateBounds()V
-PLcom/android/server/wm/ActivityStack;->convertActivityToTranslucent(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->createTaskRecord(ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/ActivityStack;->createTaskStack(IZLandroid/graphics/Rect;)V
-PLcom/android/server/wm/ActivityStack;->deferScheduleMultiWindowModeChanged()Z
-HSPLcom/android/server/wm/ActivityStack;->destroyActivityLocked(Lcom/android/server/wm/ActivityRecord;ZLjava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityStack;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;Z)Z
-HSPLcom/android/server/wm/ActivityStack;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;Z)Z
-HSPLcom/android/server/wm/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/wm/ActivityRecord;IZZ)V
-PLcom/android/server/wm/ActivityStack;->ensureVisibleActivitiesConfigurationLocked(Lcom/android/server/wm/ActivityRecord;Z)V
-HSPLcom/android/server/wm/ActivityStack;->executeAppTransition(Landroid/app/ActivityOptions;)V
-PLcom/android/server/wm/ActivityStack;->findActivityLocked(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Z)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
-PLcom/android/server/wm/ActivityStack;->finishActivityAffinityLocked(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityStack;->finishActivityLocked(Lcom/android/server/wm/ActivityRecord;ILandroid/content/Intent;Ljava/lang/String;Z)Z
-HSPLcom/android/server/wm/ActivityStack;->finishActivityLocked(Lcom/android/server/wm/ActivityRecord;ILandroid/content/Intent;Ljava/lang/String;ZZ)Z
-HSPLcom/android/server/wm/ActivityStack;->finishActivityResultsLocked(Lcom/android/server/wm/ActivityRecord;ILandroid/content/Intent;)V
-HSPLcom/android/server/wm/ActivityStack;->finishCurrentActivityLocked(Lcom/android/server/wm/ActivityRecord;IZLjava/lang/String;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->finishDisabledPackageActivitiesLocked(Ljava/lang/String;Ljava/util/Set;ZZI)Z
-HSPLcom/android/server/wm/ActivityStack;->finishTopCrashedActivityLocked(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)Lcom/android/server/wm/TaskRecord;
-PLcom/android/server/wm/ActivityStack;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-HSPLcom/android/server/wm/ActivityStack;->getAdjustedPositionForTask(Lcom/android/server/wm/TaskRecord;ILcom/android/server/wm/ActivityRecord;)I
-HSPLcom/android/server/wm/ActivityStack;->getAllRunningVisibleActivitiesLocked(Ljava/util/ArrayList;)V
-HSPLcom/android/server/wm/ActivityStack;->getAllTasks()Ljava/util/ArrayList;
-PLcom/android/server/wm/ActivityStack;->getAnimationOrCurrentBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ActivityStack;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/ActivityStack;->getChildAt(I)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/ActivityStack;->getChildCount()I
-PLcom/android/server/wm/ActivityStack;->getDefaultPictureInPictureBounds(F)Landroid/graphics/Rect;
-HSPLcom/android/server/wm/ActivityStack;->getDisplay()Lcom/android/server/wm/ActivityDisplay;
-PLcom/android/server/wm/ActivityStack;->getDumpActivitiesLocked(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/server/wm/ActivityStack;->getParent()Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/ActivityStack;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/ActivityStack;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->getRunningTasks(Ljava/util/List;IIIZ)V
-HSPLcom/android/server/wm/ActivityStack;->getStackId()I
-HSPLcom/android/server/wm/ActivityStack;->getTaskStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/ActivityStack;->getTopActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->getTopDismissingKeyguardActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->getVisibility(Lcom/android/server/wm/ActivityRecord;)I
-HSPLcom/android/server/wm/ActivityStack;->getWindowContainerBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ActivityStack;->goToSleep()V
-HSPLcom/android/server/wm/ActivityStack;->goToSleepIfPossible(Z)Z
-PLcom/android/server/wm/ActivityStack;->handleAppCrash(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/ActivityStack;->handleAppDiedLocked(Lcom/android/server/wm/WindowProcessController;)Z
-PLcom/android/server/wm/ActivityStack;->isAnimatingBoundsToFullscreen()Z
-HSPLcom/android/server/wm/ActivityStack;->isAttached()Z
-HSPLcom/android/server/wm/ActivityStack;->isCompatible(II)Z
-HSPLcom/android/server/wm/ActivityStack;->isFocusable()Z
-HSPLcom/android/server/wm/ActivityStack;->isFocusableAndVisible()Z
-HSPLcom/android/server/wm/ActivityStack;->isFocusedStackOnDisplay()Z
-HSPLcom/android/server/wm/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->isInStackLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->isInStackLocked(Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/ActivityStack;->isSingleTaskInstance()Z
-HSPLcom/android/server/wm/ActivityStack;->isStackTranslucent(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityStack;->isTopStackOnDisplay()Z
-HSPLcom/android/server/wm/ActivityStack;->lambda$resumeTopActivityInNextFocusableStack$1$ActivityStack(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->lambda$setWindowingMode$0$ActivityStack(IZZZZZ)V
-HSPLcom/android/server/wm/ActivityStack;->logStartActivity(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->makeInvisible(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->makeVisibleAndRestartIfNeeded(Lcom/android/server/wm/ActivityRecord;IZZLcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityStack;->minimalResumeActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityStack;->moveTaskToBackLocked(I)Z
-PLcom/android/server/wm/ActivityStack;->moveTaskToFrontLocked(Lcom/android/server/wm/TaskRecord;ZLandroid/app/ActivityOptions;Lcom/android/server/am/AppTimeTracker;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityStack;->moveToBack(Ljava/lang/String;Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->moveToFront(Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->moveToFront(Ljava/lang/String;Lcom/android/server/wm/TaskRecord;)V
-PLcom/android/server/wm/ActivityStack;->moveToFrontAndResumeStateIfNeeded(Lcom/android/server/wm/ActivityRecord;ZZZLjava/lang/String;)V
-PLcom/android/server/wm/ActivityStack;->navigateUpToLocked(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;ILandroid/content/Intent;)Z
-HSPLcom/android/server/wm/ActivityStack;->notifyActivityDrawnLocked(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->numActivities()I
-HSPLcom/android/server/wm/ActivityStack;->onActivityAddedToStack(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->onActivityRemovedFromStack(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityStack;->onLockTaskPackagesUpdated()V
-PLcom/android/server/wm/ActivityStack;->onParentChanged()V
-PLcom/android/server/wm/ActivityStack;->onPipAnimationEndResize()V
-PLcom/android/server/wm/ActivityStack;->positionChildWindowContainerAtBottom(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->positionChildWindowContainerAtTop(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/ActivityStack;->postAddTask(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityStack;Z)V
-PLcom/android/server/wm/ActivityStack;->prepareFreezingTaskBounds()V
-HSPLcom/android/server/wm/ActivityStack;->rankTaskLayers(I)I
-PLcom/android/server/wm/ActivityStack;->remove()V
-HSPLcom/android/server/wm/ActivityStack;->removeActivityFromHistoryLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStack;->removeHistoryRecordsForAppLocked(Lcom/android/server/wm/WindowProcessController;)Z
-HSPLcom/android/server/wm/ActivityStack;->removeTask(Lcom/android/server/wm/TaskRecord;Ljava/lang/String;I)V
-PLcom/android/server/wm/ActivityStack;->resetTargetTaskIfNeededLocked(Lcom/android/server/wm/TaskRecord;Z)Landroid/app/ActivityOptions;
-PLcom/android/server/wm/ActivityStack;->resetTaskIfNeededLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/ActivityStack;->resize(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ActivityStack;->resumeTopActivityInNextFocusableStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Ljava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityStack;->resumeTopActivityInnerLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
-HSPLcom/android/server/wm/ActivityStack;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
-HSPLcom/android/server/wm/ActivityStack;->returnsToHomeStack()Z
-PLcom/android/server/wm/ActivityStack;->sendActivityResultLocked(ILcom/android/server/wm/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
-PLcom/android/server/wm/ActivityStack;->setBounds(Landroid/graphics/Rect;)I
-HSPLcom/android/server/wm/ActivityStack;->setParent(Lcom/android/server/wm/ActivityDisplay;)V
-PLcom/android/server/wm/ActivityStack;->setPictureInPictureActions(Ljava/util/List;)V
-PLcom/android/server/wm/ActivityStack;->setPictureInPictureAspectRatio(F)V
-PLcom/android/server/wm/ActivityStack;->setWindowingMode(I)V
-HSPLcom/android/server/wm/ActivityStack;->setWindowingMode(IZZZZZ)V
-HSPLcom/android/server/wm/ActivityStack;->setWindowingModeInSurfaceTransaction(IZZZZZ)V
-HSPLcom/android/server/wm/ActivityStack;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityStack;->shouldSleepActivities()Z
-HSPLcom/android/server/wm/ActivityStack;->shouldSleepOrShutDownActivities()Z
-PLcom/android/server/wm/ActivityStack;->shouldUpRecreateTaskLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityStack;->startActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ZZLandroid/app/ActivityOptions;)V
-HSPLcom/android/server/wm/ActivityStack;->startPausingLocked(ZZLcom/android/server/wm/ActivityRecord;Z)Z
-HSPLcom/android/server/wm/ActivityStack;->stopActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityStack;->supportsSplitScreenWindowingMode()Z
-HSPLcom/android/server/wm/ActivityStack;->taskForIdLocked(I)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/ActivityStack;->toString()Ljava/lang/String;
-HSPLcom/android/server/wm/ActivityStack;->topActivityOccludesKeyguard()Z
-HSPLcom/android/server/wm/ActivityStack;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->topRunningActivityLocked(Z)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStack;->topRunningNonDelayedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/ActivityStack;->topRunningNonOverlayTaskActivity()Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/ActivityStack;->updateActivityApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/wm/ActivityStack;->updateBoundsAllowed(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/ActivityStack;->updateLRUListLocked(Lcom/android/server/wm/ActivityRecord;)Z
-PLcom/android/server/wm/ActivityStack;->updatePictureInPictureModeForPinnedStackAnimation(Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/ActivityStack$ActivityStackHandler;-><init>(Lcom/android/server/wm/ActivityStack;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityStack$ActivityStackHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/ActivityStack$ActivityState;-><clinit>()V
+PLcom/android/server/wm/ActivityStack$ActivityState;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityStack$ActivityState;->values()[Lcom/android/server/wm/ActivityStack$ActivityState;
+PLcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;-><init>(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;-><init>(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack$1;)V
+PLcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;->lambda$hxEhv3lodv2mTq0c1tG208T2TSs(Lcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;->process(Lcom/android/server/wm/ActivityRecord;Ljava/util/function/Consumer;)Z
+PLcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;->processActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/ActivityStack$CheckBehindFullscreenActivityHelper;->reset(Lcom/android/server/wm/ActivityRecord;Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/ActivityStack$EnsureVisibleActivitiesConfigHelper;-><init>(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStack$EnsureVisibleActivitiesConfigHelper;-><init>(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack$1;)V
+PLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;-><init>(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;-><init>(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack$1;)V
+PLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;->addActivityToRemove(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;->lambda$8j2ZFLAwkXnwDAxiTFN7mMDLhjU(Lcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;->process(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/ActivityStack$RemoveHistoryRecordsForApp;->processActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;-><clinit>()V
+PLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityDisplay;ILcom/android/server/wm/ActivityStackSupervisor;IIZ)V
+PLcom/android/server/wm/ActivityStack;->activityPausedLocked(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/ActivityStack;->addChild(Lcom/android/server/wm/Task;IZZ)V
+PLcom/android/server/wm/ActivityStack;->addChild(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStack;->canEnterPipOnTaskSwitch(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityStack;->canShowWithInsecureKeyguard()Z
+PLcom/android/server/wm/ActivityStack;->cancelInitializingActivities()V
+PLcom/android/server/wm/ActivityStack;->checkBehindFullscreenActivity(Lcom/android/server/wm/ActivityRecord;Ljava/util/function/Consumer;)Z
+HPLcom/android/server/wm/ActivityStack;->checkCompleteDeferredRemoval()Z
+PLcom/android/server/wm/ActivityStack;->checkKeyguardVisibility(Lcom/android/server/wm/ActivityRecord;ZZ)Z
+PLcom/android/server/wm/ActivityStack;->checkReadyForSleep()V
+HPLcom/android/server/wm/ActivityStack;->checkTranslucentActivityWaiting(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->clearLaunchTime(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->completePauseLocked(ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->computeMinPosition(II)I
+PLcom/android/server/wm/ActivityStack;->containsActivityFromStack(Ljava/util/List;)Z
+PLcom/android/server/wm/ActivityStack;->continueUpdateBounds()V
+PLcom/android/server/wm/ActivityStack;->createTask(ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStack;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZ)V
+HPLcom/android/server/wm/ActivityStack;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
+PLcom/android/server/wm/ActivityStack;->executeAppTransition(Landroid/app/ActivityOptions;)V
+HPLcom/android/server/wm/ActivityStack;->fillsParent()Z
+PLcom/android/server/wm/ActivityStack;->findHomeTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStack;->findPositionForTask(Lcom/android/server/wm/Task;IZ)I
+PLcom/android/server/wm/ActivityStack;->finishTopCrashedActivityLocked(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStack;->getAllTasks()Ljava/util/ArrayList;
+PLcom/android/server/wm/ActivityStack;->getAnimatingActivityRegistry()Lcom/android/server/wm/AnimatingActivityRegistry;
+HPLcom/android/server/wm/ActivityStack;->getBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityStack;->getBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStack;->getDimBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStack;->getDisplay()Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/ActivityStack;->getName()Ljava/lang/String;
+PLcom/android/server/wm/ActivityStack;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
+PLcom/android/server/wm/ActivityStack;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->getRunningTasks(Ljava/util/List;IIIZZLandroid/util/ArraySet;)V
+PLcom/android/server/wm/ActivityStack;->getStackId()I
+HPLcom/android/server/wm/ActivityStack;->getStackOutset()I
+PLcom/android/server/wm/ActivityStack;->getTopDismissingKeyguardActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/ActivityStack;->getVisibility(Lcom/android/server/wm/ActivityRecord;)I
+PLcom/android/server/wm/ActivityStack;->goToSleep()V
+PLcom/android/server/wm/ActivityStack;->goToSleepIfPossible(Z)Z
+PLcom/android/server/wm/ActivityStack;->handleAppDiedLocked(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/ActivityStack;->inLruList(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->isAdjustedForIme()Z
+PLcom/android/server/wm/ActivityStack;->isAdjustedForMinimizedDockedStack()Z
+PLcom/android/server/wm/ActivityStack;->isAnimatingBounds()Z
+PLcom/android/server/wm/ActivityStack;->isAttached()Z
+PLcom/android/server/wm/ActivityStack;->isCompatible(II)Z
+PLcom/android/server/wm/ActivityStack;->isFocusable()Z
+PLcom/android/server/wm/ActivityStack;->isFocusableAndVisible()Z
+PLcom/android/server/wm/ActivityStack;->isFocusedStackOnDisplay()Z
+PLcom/android/server/wm/ActivityStack;->isForceScaled()Z
+PLcom/android/server/wm/ActivityStack;->isHomeOrRecentsStack()Z
+PLcom/android/server/wm/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->isInStackLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->isMinimizedDockAndHomeStackResizable()Z
+PLcom/android/server/wm/ActivityStack;->isOpaqueActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->isSingleTaskInstance()Z
+PLcom/android/server/wm/ActivityStack;->isStackTranslucent(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->isTaskSwitch(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->isTopRunningNonDelayed(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->isTopStackOnDisplay()Z
+PLcom/android/server/wm/ActivityStack;->lambda$MbOt7bGpxw9wmjZ8kOCkYcDCqMQ(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$U5MWhpArTVT_b8W6GtTa1Ao8HFs(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->lambda$awakeFromSleepingLocked$4(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->lambda$goToSleep$5(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->lambda$setWindowingMode$1$ActivityStack(IZZZZZ)V
+HPLcom/android/server/wm/ActivityStack;->lambda$topRunningActivityLocked$2(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->minimalResumeActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->moveHomeStackToFrontIfNeeded(ZLcom/android/server/wm/ActivityDisplay;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->moveTaskToFrontLocked(Lcom/android/server/wm/Task;ZLandroid/app/ActivityOptions;Lcom/android/server/am/AppTimeTracker;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->moveToFront(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->moveToFront(Ljava/lang/String;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStack;->notifyActivityDrawnLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->onActivityAddedToStack(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->onActivityRemovedFromStack(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/ActivityStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityStack;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/ActivityStack;->onLockTaskPackagesUpdated()V
+PLcom/android/server/wm/ActivityStack;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/ActivityStack;->positionChildAt(ILcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/ActivityStack;->positionChildAt(ILcom/android/server/wm/Task;ZZ)I
+PLcom/android/server/wm/ActivityStack;->positionChildAtTop(Lcom/android/server/wm/Task;)V
+HPLcom/android/server/wm/ActivityStack;->prepareSurfaces()V
+PLcom/android/server/wm/ActivityStack;->removeChild(Lcom/android/server/wm/Task;Ljava/lang/String;)V
+HPLcom/android/server/wm/ActivityStack;->removeHistoryRecordsForApp(Lcom/android/server/wm/WindowProcessController;)Z
+HPLcom/android/server/wm/ActivityStack;->removeHistoryRecordsForApp(Ljava/util/ArrayList;Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->removeIfPossible()V
+PLcom/android/server/wm/ActivityStack;->removeLaunchTickMessages()V
+PLcom/android/server/wm/ActivityStack;->removeStopTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->removeTimeoutsForActivity(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/ActivityStack;->resetAdjustedForIme(Z)V
+PLcom/android/server/wm/ActivityStack;->resetTaskIfNeeded(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->resumeNextFocusableActivityWhenStackIsEmpty(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityStack;->resumeTopActivityInnerLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityStack;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityStack;->returnsToHomeStack()Z
+PLcom/android/server/wm/ActivityStack;->scheduleDestroyTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->scheduleLaunchTickForActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->schedulePauseTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->scheduleStopTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->setResumedActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+HPLcom/android/server/wm/ActivityStack;->setTouchExcludeRegion(Lcom/android/server/wm/Task;ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStack;->setWindowingMode(IZZZZZ)V
+PLcom/android/server/wm/ActivityStack;->setWindowingModeInSurfaceTransaction(IZZZZZ)V
+PLcom/android/server/wm/ActivityStack;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->shouldIgnoreInput()Z
+PLcom/android/server/wm/ActivityStack;->shouldSleepActivities()Z
+PLcom/android/server/wm/ActivityStack;->shouldSleepOrShutDownActivities()Z
+PLcom/android/server/wm/ActivityStack;->startActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ZZLandroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityStack;->startPausingLocked(ZZLcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->taskForIdLocked(I)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStack;->toShortString()Ljava/lang/String;
+PLcom/android/server/wm/ActivityStack;->topActivityOccludesKeyguard()Z
+PLcom/android/server/wm/ActivityStack;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->topRunningActivityLocked(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->topRunningNonDelayedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->topTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStack;->updateLruList(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->updateSurfaceBounds()V
+PLcom/android/server/wm/ActivityStack;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V
PLcom/android/server/wm/ActivityStack;->updateTransitLocked(ILandroid/app/ActivityOptions;)V
-PLcom/android/server/wm/ActivityStack;->willActivityBeVisibleLocked(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/ActivityStack;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;->activityIdleInternal(Lcom/android/server/wm/ActivityRecord;Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/wm/ActivityStackSupervisor$PendingActivityLaunch;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;Lcom/android/server/wm/WindowProcessController;)V
+HSPLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Looper;)V
+PLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;->activityIdleInternal(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/wm/ActivityStackSupervisor;-><clinit>()V
HSPLcom/android/server/wm/ActivityStackSupervisor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->acquireLaunchWakelock()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->activityIdleInternalLocked(Landroid/os/IBinder;ZZLandroid/content/res/Configuration;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->activityRelaunchedLocked(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->activityRelaunchingLocked(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->activitySleptLocked(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->beginDeferResume()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->canPlaceEntityOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->canUseActivityOptionsLaunchBounds(Landroid/app/ActivityOptions;)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->checkFinishBootingLocked()Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->checkReadyForSleepLocked(Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->checkStartAnyActivityPermission(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIILjava/lang/String;ZZLcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack;)Z
-PLcom/android/server/wm/ActivityStackSupervisor;->cleanUpRemovedTaskLocked(Lcom/android/server/wm/TaskRecord;ZZ)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->cleanupActivity(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->comeOutOfSleepIfNeededLocked()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->createRunningTasks()Lcom/android/server/wm/RunningTasks;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;ZLjava/lang/String;Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->endDeferResume()V
-PLcom/android/server/wm/ActivityStackSupervisor;->findTaskToMoveToFront(Lcom/android/server/wm/TaskRecord;ILandroid/app/ActivityOptions;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->getActionRestrictionForCallingPackage(Ljava/lang/String;Ljava/lang/String;II)I
-HSPLcom/android/server/wm/ActivityStackSupervisor;->getActivityMetricsLogger()Lcom/android/server/wm/ActivityMetricsLogger;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->getComponentRestrictionForCallingPackage(Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIZ)I
+PLcom/android/server/wm/ActivityStackSupervisor;->activityIdleInternalLocked(Landroid/os/IBinder;ZZLandroid/content/res/Configuration;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStackSupervisor;->activitySleptLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->beginDeferResume()V
+PLcom/android/server/wm/ActivityStackSupervisor;->canPlaceEntityOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->canUseActivityOptionsLaunchBounds(Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->checkFinishBootingLocked()Z
+PLcom/android/server/wm/ActivityStackSupervisor;->checkReadyForSleepLocked(Z)V
+PLcom/android/server/wm/ActivityStackSupervisor;->checkStartAnyActivityPermission(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIILjava/lang/String;ZZLcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->cleanUpRemovedTaskLocked(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->cleanupActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->continueUpdateRecentsHomeStackBounds()V
+PLcom/android/server/wm/ActivityStackSupervisor;->endDeferResume()V
+PLcom/android/server/wm/ActivityStackSupervisor;->getActionRestrictionForCallingPackage(Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityStackSupervisor;->getActivityMetricsLogger()Lcom/android/server/wm/ActivityMetricsLogger;
+PLcom/android/server/wm/ActivityStackSupervisor;->getComponentRestrictionForCallingPackage(Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIZ)I
HSPLcom/android/server/wm/ActivityStackSupervisor;->getKeyguardController()Lcom/android/server/wm/KeyguardController;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->getLaunchParamsController()Lcom/android/server/wm/LaunchParamsController;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->getNextTaskIdForUserLocked(I)I
-PLcom/android/server/wm/ActivityStackSupervisor;->getReparentTargetStack(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStackSupervisor;->getLaunchParamsController()Lcom/android/server/wm/LaunchParamsController;
+PLcom/android/server/wm/ActivityStackSupervisor;->getNextTaskIdForUserLocked(I)I
+PLcom/android/server/wm/ActivityStackSupervisor;->getRunningTasks()Lcom/android/server/wm/RunningTasks;
+PLcom/android/server/wm/ActivityStackSupervisor;->getSystemChooserActivity()Landroid/content/ComponentName;
PLcom/android/server/wm/ActivityStackSupervisor;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->goingToSleepLocked()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/TaskRecord;IILcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/TaskRecord;IILcom/android/server/wm/ActivityStack;Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->handleTopResumedStateReleased(Z)V
+PLcom/android/server/wm/ActivityStackSupervisor;->goingToSleepLocked()V
+PLcom/android/server/wm/ActivityStackSupervisor;->handleLaunchTaskBehindCompleteLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/Task;IILcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/Task;IILcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/ActivityStackSupervisor;->handleTopResumedStateReleased(Z)V
HSPLcom/android/server/wm/ActivityStackSupervisor;->initPowerManagement()V
HSPLcom/android/server/wm/ActivityStackSupervisor;->initialize()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->isCallerAllowedToLaunchOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->isCurrentProfileLocked(I)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->isStoppingNoHistoryActivity()Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->lambda$activityIdleInternalLocked$0$ActivityStackSupervisor()V
-PLcom/android/server/wm/ActivityStackSupervisor;->lambda$moveTasksToFullscreenStackLocked$1$ActivityStackSupervisor(Lcom/android/server/wm/ActivityStack;IZ)V
-PLcom/android/server/wm/ActivityStackSupervisor;->lambda$removeStack$2$ActivityStackSupervisor(Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->logIfTransactionTooLarge(Landroid/content/Intent;Landroid/os/Bundle;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->logStackState()V
-PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackInSurfaceTransaction(Lcom/android/server/wm/ActivityStack;IZ)V
-PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackLocked(Lcom/android/server/wm/ActivityStack;IZ)V
-PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackLocked(Lcom/android/server/wm/ActivityStack;Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->notifyAppTransitionDone()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->onRecentTaskAdded(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->onRecentTaskRemoved(Lcom/android/server/wm/TaskRecord;ZZ)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->onSystemReady()V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->onUserUnlocked(I)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->processStoppingActivitiesLocked(Lcom/android/server/wm/ActivityRecord;ZZ)Ljava/util/ArrayList;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->readyToResume()Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->realStartActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;ZZ)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->removeSleepTimeouts()V
-PLcom/android/server/wm/ActivityStackSupervisor;->removeStack(Lcom/android/server/wm/ActivityStack;)V
-PLcom/android/server/wm/ActivityStackSupervisor;->removeStackInSurfaceTransaction(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->isCallerAllowedToLaunchOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->isCurrentProfileLocked(I)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->isStoppingNoHistoryActivity()Z
+PLcom/android/server/wm/ActivityStackSupervisor;->lambda$activityIdleInternalLocked$0$ActivityStackSupervisor()V
+PLcom/android/server/wm/ActivityStackSupervisor;->logIfTransactionTooLarge(Landroid/content/Intent;Landroid/os/Bundle;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->logStackState()V
+PLcom/android/server/wm/ActivityStackSupervisor;->nextTaskIdForUser(II)I
+PLcom/android/server/wm/ActivityStackSupervisor;->notifyAppTransitionDone()V
+PLcom/android/server/wm/ActivityStackSupervisor;->onRecentTaskAdded(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->onRecentTaskRemoved(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->onSystemReady()V
+PLcom/android/server/wm/ActivityStackSupervisor;->processStoppingActivitiesLocked(Lcom/android/server/wm/ActivityRecord;ZZ)Ljava/util/ArrayList;
+PLcom/android/server/wm/ActivityStackSupervisor;->readyToResume()Z
+PLcom/android/server/wm/ActivityStackSupervisor;->realStartActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;ZZ)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->removeSleepTimeouts()V
PLcom/android/server/wm/ActivityStackSupervisor;->removeTaskByIdLocked(IZZLjava/lang/String;)Z
-PLcom/android/server/wm/ActivityStackSupervisor;->removeTaskByIdLocked(IZZZLjava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->removeTimeoutsForActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->reportActivityLaunchedLocked(ZLcom/android/server/wm/ActivityRecord;JI)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->reportResumedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->reportWaitingActivityLaunchedIfNeeded(Lcom/android/server/wm/ActivityRecord;I)V
-PLcom/android/server/wm/ActivityStackSupervisor;->resizePinnedStackLocked(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;ILandroid/app/ProfilerInfo;)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/wm/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/app/ProfilerInfo;II)Landroid/content/pm/ActivityInfo;
-HSPLcom/android/server/wm/ActivityStackSupervisor;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/wm/ActivityStackSupervisor;->restoreRecentTaskLocked(Lcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;Z)Z
-HSPLcom/android/server/wm/ActivityStackSupervisor;->scheduleIdleTimeoutLocked(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityStackSupervisor;->scheduleUpdateMultiWindowMode(Lcom/android/server/wm/TaskRecord;)V
-PLcom/android/server/wm/ActivityStackSupervisor;->scheduleUpdatePictureInPictureModeIfNeeded(Lcom/android/server/wm/TaskRecord;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/ActivityStackSupervisor;->scheduleUpdatePictureInPictureModeIfNeeded(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->setLaunchSource(I)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->setNextTaskIdForUserLocked(II)V
+PLcom/android/server/wm/ActivityStackSupervisor;->reportActivityLaunchedLocked(ZLcom/android/server/wm/ActivityRecord;JI)V
+PLcom/android/server/wm/ActivityStackSupervisor;->reportResumedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->reportWaitingActivityLaunchedIfNeeded(Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;ILandroid/app/ProfilerInfo;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/ActivityStackSupervisor;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleIdleLocked()V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleIdleTimeoutLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleLaunchTaskBehindComplete(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleSleepTimeout()V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleTopResumedActivityStateIfNeeded()V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleTopResumedStateLossTimeout(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->setLaunchSource(I)V
HSPLcom/android/server/wm/ActivityStackSupervisor;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->setSplitScreenResizing(Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/ActivityStackSupervisor;->startActivityFromRecents(IIILcom/android/server/wm/SafeActivityOptions;)I
-HSPLcom/android/server/wm/ActivityStackSupervisor;->startSpecificActivityLocked(Lcom/android/server/wm/ActivityRecord;ZZ)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->stopWaitingForActivityVisible(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->updateHomeProcess(Lcom/android/server/wm/WindowProcessController;)V
-PLcom/android/server/wm/ActivityStackSupervisor;->updatePictureInPictureMode(Lcom/android/server/wm/TaskRecord;Landroid/graphics/Rect;Z)V
-HSPLcom/android/server/wm/ActivityStackSupervisor;->updateTopResumedActivityIfNeeded()V
-PLcom/android/server/wm/ActivityStackSupervisor;->wakeUp(Ljava/lang/String;)V
+HSPLcom/android/server/wm/ActivityStackSupervisor;->setRunningTasks(Lcom/android/server/wm/RunningTasks;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->startSpecificActivity(Lcom/android/server/wm/ActivityRecord;ZZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->stopWaitingForActivityVisible(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->stopWaitingForActivityVisible(Lcom/android/server/wm/ActivityRecord;J)V
+PLcom/android/server/wm/ActivityStackSupervisor;->updateHomeProcess(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->updateTopResumedActivityIfNeeded()V
+HSPLcom/android/server/wm/ActivityStartController$StartHandler;-><init>(Lcom/android/server/wm/ActivityStartController;Landroid/os/Looper;)V
PLcom/android/server/wm/ActivityStartController$StartHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/wm/ActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
HSPLcom/android/server/wm/ActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStarter$Factory;)V
-PLcom/android/server/wm/ActivityStartController;->addPendingActivityLaunch(Lcom/android/server/wm/ActivityStackSupervisor$PendingActivityLaunch;)V
-HSPLcom/android/server/wm/ActivityStartController;->checkTargetUser(IZIILjava/lang/String;)I
-HSPLcom/android/server/wm/ActivityStartController;->clearPendingActivityLaunches(Ljava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityStartController;->doPendingActivityLaunches(Z)V
-PLcom/android/server/wm/ActivityStartController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStartController;->getPendingRemoteAnimationRegistry()Lcom/android/server/wm/PendingRemoteAnimationRegistry;
-HSPLcom/android/server/wm/ActivityStartController;->obtainStarter(Landroid/content/Intent;Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStartController;->onExecutionComplete(Lcom/android/server/wm/ActivityStarter;)V
-PLcom/android/server/wm/ActivityStartController;->postStartActivityProcessingForLastStarter(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;)V
-PLcom/android/server/wm/ActivityStartController;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-PLcom/android/server/wm/ActivityStartController;->schedulePendingActivityLaunches(J)V
-PLcom/android/server/wm/ActivityStartController;->startActivities(Landroid/app/IApplicationThread;IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;ILjava/lang/String;Lcom/android/server/am/PendingIntentRecord;Z)I
-PLcom/android/server/wm/ActivityStartController;->startActivitiesInPackage(IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;IZLcom/android/server/am/PendingIntentRecord;Z)I
-PLcom/android/server/wm/ActivityStartController;->startActivityInPackage(IIILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;ILcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
-HSPLcom/android/server/wm/ActivityStartController;->startHomeActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;I)V
-HSPLcom/android/server/wm/ActivityStartController;->startSetupActivity()V
-PLcom/android/server/wm/ActivityStartController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/ActivityStartInterceptor;->intercept(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/wm/TaskRecord;IILandroid/app/ActivityOptions;)Z
-HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptHarmfulAppIfNeeded()Z
-HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptQuietProfileIfNeeded()Z
-HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptSuspendedPackageIfNeeded()Z
-HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptWithConfirmCredentialsIfNeeded(Landroid/content/pm/ActivityInfo;I)Landroid/content/Intent;
-HSPLcom/android/server/wm/ActivityStartInterceptor;->interceptWorkProfileChallengeIfNeeded()Z
-HSPLcom/android/server/wm/ActivityStartInterceptor;->setStates(IIIILjava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;->obtain()Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;->recycle(Lcom/android/server/wm/ActivityStarter;)V
+PLcom/android/server/wm/ActivityStartController;->clearPendingActivityLaunches(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityStartController;->doPendingActivityLaunches(Z)V
+PLcom/android/server/wm/ActivityStartController;->getPendingRemoteAnimationRegistry()Lcom/android/server/wm/PendingRemoteAnimationRegistry;
+PLcom/android/server/wm/ActivityStartController;->obtainStarter(Landroid/content/Intent;Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStartController;->onExecutionComplete(Lcom/android/server/wm/ActivityStarter;)V
+PLcom/android/server/wm/ActivityStartController;->startHomeActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityStartController;->startSetupActivity()V
+HSPLcom/android/server/wm/ActivityStartInterceptor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;)V
+HSPLcom/android/server/wm/ActivityStartInterceptor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/RootActivityContainer;Landroid/content/Context;)V
+PLcom/android/server/wm/ActivityStartInterceptor;->intercept(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/wm/Task;IILandroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptHarmfulAppIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptQuietProfileIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptSuspendedPackageIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptWithConfirmCredentialsIfNeeded(Landroid/content/pm/ActivityInfo;I)Landroid/content/Intent;
+PLcom/android/server/wm/ActivityStartInterceptor;->interceptWorkProfileChallengeIfNeeded()Z
+PLcom/android/server/wm/ActivityStartInterceptor;->setStates(IIIILjava/lang/String;)V
+HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V
+PLcom/android/server/wm/ActivityStarter$DefaultFactory;->obtain()Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter$DefaultFactory;->recycle(Lcom/android/server/wm/ActivityStarter;)V
HSPLcom/android/server/wm/ActivityStarter$DefaultFactory;->setController(Lcom/android/server/wm/ActivityStartController;)V
-HSPLcom/android/server/wm/ActivityStarter$Request;->reset()V
-HSPLcom/android/server/wm/ActivityStarter$Request;->set(Lcom/android/server/wm/ActivityStarter$Request;)V
-HSPLcom/android/server/wm/ActivityStarter;-><init>(Lcom/android/server/wm/ActivityStartController;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V
-HSPLcom/android/server/wm/ActivityStarter;->addOrReparentStartingActivity(Lcom/android/server/wm/TaskRecord;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStarter;->adjustLaunchFlagsToDocumentMode(Lcom/android/server/wm/ActivityRecord;ZZI)I
-HSPLcom/android/server/wm/ActivityStarter;->computeLaunchingTaskFlags()V
-HSPLcom/android/server/wm/ActivityStarter;->computeSourceStack()V
-HSPLcom/android/server/wm/ActivityStarter;->computeStackFocus(Lcom/android/server/wm/ActivityRecord;ZILandroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStarter$Request;-><init>()V
+PLcom/android/server/wm/ActivityStarter$Request;->reset()V
+PLcom/android/server/wm/ActivityStarter$Request;->resolveActivity(Lcom/android/server/wm/ActivityStackSupervisor;)V
+PLcom/android/server/wm/ActivityStarter$Request;->set(Lcom/android/server/wm/ActivityStarter$Request;)V
+PLcom/android/server/wm/ActivityStarter;-><init>(Lcom/android/server/wm/ActivityStartController;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V
+PLcom/android/server/wm/ActivityStarter;->addOrReparentStartingActivity(Lcom/android/server/wm/Task;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStarter;->adjustLaunchFlagsToDocumentMode(Lcom/android/server/wm/ActivityRecord;ZZI)I
+PLcom/android/server/wm/ActivityStarter;->complyActivityFlags(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStarter;->computeLaunchingTaskFlags()V
+PLcom/android/server/wm/ActivityStarter;->computeResolveFilterUid(III)I
+PLcom/android/server/wm/ActivityStarter;->computeSourceStack()V
+PLcom/android/server/wm/ActivityStarter;->computeStackFocus(Lcom/android/server/wm/ActivityRecord;ZILandroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStarter;->computeTargetTask()Lcom/android/server/wm/Task;
PLcom/android/server/wm/ActivityStarter;->deliverNewIntent(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityStarter;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStarter;->execute()I
-HSPLcom/android/server/wm/ActivityStarter;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityStarter;->getReusableIntentActivity()Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/ActivityStarter;->lambda$startActivity$0$ActivityStarter(Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityStarter;->postStartActivityProcessing(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/ActivityStarter;->reset(Z)V
+PLcom/android/server/wm/ActivityStarter;->deliverToCurrentTopIfNeeded(Lcom/android/server/wm/ActivityStack;)I
+PLcom/android/server/wm/ActivityStarter;->execute()I
+HPLcom/android/server/wm/ActivityStarter;->executeRequest(Lcom/android/server/wm/ActivityStarter$Request;)I
+PLcom/android/server/wm/ActivityStarter;->getExternalResult(I)I
+PLcom/android/server/wm/ActivityStarter;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/Task;Landroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStarter;->getReusableTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/ActivityStarter;->handleStartResult(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStarter;->isAllowedToStart(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/Task;)I
+PLcom/android/server/wm/ActivityStarter;->isDocumentLaunchesIntoExisting(I)Z
+PLcom/android/server/wm/ActivityStarter;->isLaunchModeOneOf(II)Z
+PLcom/android/server/wm/ActivityStarter;->onExecutionComplete()V
+PLcom/android/server/wm/ActivityStarter;->postStartActivityProcessing(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStarter;->recycleTask(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/ActivityStarter;->reset(Z)V
+PLcom/android/server/wm/ActivityStarter;->resolveToHeavyWeightSwitcherIfNeeded()I
PLcom/android/server/wm/ActivityStarter;->resumeTargetStackIfNeeded()V
-HSPLcom/android/server/wm/ActivityStarter;->sendNewTaskResultRequestIfNeeded()V
-HSPLcom/android/server/wm/ActivityStarter;->set(Lcom/android/server/wm/ActivityStarter;)V
-HSPLcom/android/server/wm/ActivityStarter;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setActivityOptions(Landroid/os/Bundle;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setActivityOptions(Lcom/android/server/wm/SafeActivityOptions;)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setAllowBackgroundActivityStart(Z)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setAllowPendingRemoteAnimationRegistryLookup(Z)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setCaller(Landroid/app/IApplicationThread;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setCallingPid(I)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setCallingUid(I)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setComponentSpecified(Z)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setFilterCallingUid(I)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setIgnoreTargetSecurity(Z)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setInTask(Lcom/android/server/wm/TaskRecord;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setInitialState(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;ZILcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-HSPLcom/android/server/wm/ActivityStarter;->setIntent(Landroid/content/Intent;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setMayWait(I)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setOriginatingPendingIntent(Lcom/android/server/am/PendingIntentRecord;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setOutActivity([Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setProfilerInfo(Landroid/app/ProfilerInfo;)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setRealCallingPid(I)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setRealCallingUid(I)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setReason(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setRequestCode(I)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setResolvedType(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setResultTo(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setResultWho(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
-HSPLcom/android/server/wm/ActivityStarter;->setStartFlags(I)Lcom/android/server/wm/ActivityStarter;
-PLcom/android/server/wm/ActivityStarter;->setTargetStackAndMoveToFrontIfNeeded(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/ActivityStarter;->setTaskFromInTask()I
-PLcom/android/server/wm/ActivityStarter;->setTaskFromIntentActivity(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityStarter;->setTaskFromReuseOrCreateNewTask(Lcom/android/server/wm/TaskRecord;)I
-HSPLcom/android/server/wm/ActivityStarter;->setTaskFromSourceRecord()I
-HSPLcom/android/server/wm/ActivityStarter;->shouldAbortBackgroundActivityStart(IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;ZLandroid/content/Intent;)Z
-HSPLcom/android/server/wm/ActivityStarter;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ResolveInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IIILjava/lang/String;IIILcom/android/server/wm/SafeActivityOptions;ZZ[Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
-HSPLcom/android/server/wm/ActivityStarter;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ResolveInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IIILjava/lang/String;IIILcom/android/server/wm/SafeActivityOptions;ZZ[Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;ZLcom/android/server/am/PendingIntentRecord;Z)I
-HSPLcom/android/server/wm/ActivityStarter;->startActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;)I
-HSPLcom/android/server/wm/ActivityStarter;->startActivityMayWait(Landroid/app/IApplicationThread;ILjava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/app/WaitResult;Landroid/content/res/Configuration;Lcom/android/server/wm/SafeActivityOptions;ZILcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
-HSPLcom/android/server/wm/ActivityStarter;->startActivityUnchecked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;)I
-PLcom/android/server/wm/ActivityStarter;->startResolvedActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;)I
-HSPLcom/android/server/wm/ActivityStarter;->updateBounds(Lcom/android/server/wm/TaskRecord;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityStarter;->sendNewTaskResultRequestIfNeeded()V
+PLcom/android/server/wm/ActivityStarter;->set(Lcom/android/server/wm/ActivityStarter;)V
+PLcom/android/server/wm/ActivityStarter;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setActivityOptions(Landroid/os/Bundle;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setActivityOptions(Lcom/android/server/wm/SafeActivityOptions;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingUid(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setInitialState(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;ZILcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Z)V
+PLcom/android/server/wm/ActivityStarter;->setIntent(Landroid/content/Intent;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setNewTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ActivityStarter;->setOutActivity([Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setReason(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setTargetStackIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStarter;->setUserId(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->shouldAbortBackgroundActivityStart(IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;ZLandroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityStarter;->startActivityInner(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/Task;Z)I
+PLcom/android/server/wm/ActivityStarter;->startActivityUnchecked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/Task;Z)I
+PLcom/android/server/wm/ActivityStarter;->updateBounds(Lcom/android/server/wm/Task;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;-><init>()V
+HSPLcom/android/server/wm/ActivityTaskManagerInternal;-><init>()V
+HSPLcom/android/server/wm/ActivityTaskManagerService$1;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityTaskManagerService$1;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$H;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V
HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->getService()Lcom/android/server/wm/ActivityTaskManagerService;
HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onStart()V
-HSPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onUnlockUser(I)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->acquireSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->canGcNow()Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->canShowErrorDialogs()Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->cleanupDisabledPackageComponents(Ljava/lang/String;Ljava/util/Set;IZ)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->canShowErrorDialogs()Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->cleanupDisabledPackageComponents(Ljava/lang/String;Ljava/util/Set;IZ)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZZZ)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->dumpForProcesses(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZLjava/lang/String;IZZI)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enableScreenAfterBoot(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->finishTopCrashedActivities(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)I
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getHomeIntent()Landroid/content/Intent;
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getHomeProcess()Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getPreviousProcess()Lcom/android/server/wm/WindowProcessController;
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enableScreenAfterBoot(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->finishTopCrashedActivities(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getHomeIntent()Landroid/content/Intent;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getHomeProcess()Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getLaunchObserverRegistry()Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getPreviousProcess()Lcom/android/server/wm/WindowProcessController;
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getServiceConnectionsHolder(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityServiceConnectionsHolder;
HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopApp()Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopProcessState()I
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopVisibleActivities()Ljava/util/List;
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppCrashInActivityController(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Runnable;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppDied(Lcom/android/server/wm/WindowProcessController;ZLjava/lang/Runnable;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isFactoryTestProcess(Lcom/android/server/wm/WindowProcessController;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isHeavyWeightProcess(Lcom/android/server/wm/WindowProcessController;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isShuttingDown()Z
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopProcessState()I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppCrashInActivityController(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppDied(Lcom/android/server/wm/WindowProcessController;ZLjava/lang/Runnable;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isFactoryTestProcess(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z
+HPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isHeavyWeightProcess(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isShuttingDown()Z
HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isSleeping()Z
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->loadRecentTasksForUser(I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionCancelled()V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionFinished()V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionStarting(Landroid/util/SparseIntArray;J)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyDockedStackMinimizedChanged(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardTrustedChanged()V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onCleanUpApplicationRecord(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onForceStopPackage(Ljava/lang/String;ZZI)Z
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onHandleAppCrash(Lcom/android/server/wm/WindowProcessController;)V
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onImeWindowSetOnDisplay(II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->loadRecentTasksForUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionFinished()V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyDockedStackMinimizedChanged(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardTrustedChanged()V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onCleanUpApplicationRecord(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onForceStopPackage(Ljava/lang/String;ZZI)Z
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageAdded(Ljava/lang/String;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageDataCleared(Ljava/lang/String;)V
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageReplaced(Landroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageUninstalled(Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessAdded(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessMapped(ILcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessUnMapped(I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidActive(II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessAdded(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessMapped(ILcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessRemoved(Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessUnMapped(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidActive(II)V
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidAddedToPendingTempWhitelist(ILjava/lang/String;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidInactive(I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidProcStateChanged(II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidInactive(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidProcStateChanged(II)V
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidRemovedFromPendingTempWhitelist(I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;)V
HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->rankTaskLayersIfNeeded()V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerScreenObserver(Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->removeRecentTasksByPackageName(Ljava/lang/String;I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->resumeTopActivities(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setAllowAppSwitches(Ljava/lang/String;II)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setDeviceOwnerPackageName(Ljava/lang/String;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->showSystemReadyErrorDialogsIfNeeded()V
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivitiesAsPackage(Ljava/lang/String;I[Landroid/content/Intent;Landroid/os/Bundle;)I
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivitiesInPackage(IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;IZLcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerScreenObserver(Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->removeRecentTasksByPackageName(Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->resumeTopActivities(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setAllowAppSwitches(Ljava/lang/String;II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setDeviceOwnerUid(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->showSystemReadyErrorDialogsIfNeeded()V
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Landroid/os/Bundle;I)I
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityInPackage(IIILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;ILcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startHomeOnAllDisplays(ILjava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startHomeOnAllDisplays(ILjava/lang/String;)Z
PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startHomeOnDisplay(ILjava/lang/String;IZZ)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->updateTopComponentForFactoryTest()V
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->writeActivitiesToProto(Landroid/util/proto/ProtoOutputStream;)V
-PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->writeProcessesToProto(Landroid/util/proto/ProtoOutputStream;Ljava/lang/String;IZ)V
-PLcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;Landroid/os/Bundle;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;I)V
-PLcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->updateTopComponentForFactoryTest()V
+HSPLcom/android/server/wm/ActivityTaskManagerService$UiHandler;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;-><init>()V
HSPLcom/android/server/wm/ActivityTaskManagerService;-><init>(Landroid/content/Context;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->acquireSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityDestroyed(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityPaused(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityRelaunched(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityResumed(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activitySlept(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->activityTopResumedStateLost()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateLockStateLocked(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateVrModeLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->access$1200(Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/MirrorActiveUids;
+HSPLcom/android/server/wm/ActivityTaskManagerService;->access$200(Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->access$600(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->access$700(Lcom/android/server/wm/ActivityTaskManagerService;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->acquireSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+PLcom/android/server/wm/ActivityTaskManagerService;->activityDestroyed(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityPaused(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityResumed(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activitySlept(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityTopResumedStateLost()V
+PLcom/android/server/wm/ActivityTaskManagerService;->addWindowLayoutReasons(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateLockStateLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateVrModeLocked(Lcom/android/server/wm/ActivityRecord;)V
PLcom/android/server/wm/ActivityTaskManagerService;->cancelRecentsAnimation(Z)V
-PLcom/android/server/wm/ActivityTaskManagerService;->checkAllowAppSwitchUid(I)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->checkAppSwitchAllowedLocked(IIIILjava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->checkGetTasksPermission(Ljava/lang/String;II)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->checkPermission(Ljava/lang/String;II)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
-PLcom/android/server/wm/ActivityTaskManagerService;->convertFromTranslucent(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->convertToTranslucent(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->createRecentTasks()Lcom/android/server/wm/RecentTasks;
+PLcom/android/server/wm/ActivityTaskManagerService;->checkAppSwitchAllowedLocked(IIIILjava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->checkCallingPermission(Ljava/lang/String;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+PLcom/android/server/wm/ActivityTaskManagerService;->checkGetTasksPermission(Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityTaskManagerService;->checkPermission(Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityTaskManagerService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+PLcom/android/server/wm/ActivityTaskManagerService;->constructResumedTraceName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityTaskManagerService;->continueWindowLayout()V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->createAppWarnings(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)Lcom/android/server/wm/AppWarnings;
HSPLcom/android/server/wm/ActivityTaskManagerService;->createStackSupervisor()Lcom/android/server/wm/ActivityStackSupervisor;
-PLcom/android/server/wm/ActivityTaskManagerService;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->dismissPip(ZI)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->dumpActivity(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZZZ)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->dumpActivity(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/wm/ActivityRecord;[Ljava/lang/String;Z)V
-PLcom/android/server/wm/ActivityTaskManagerService;->dumpActivityContainersLocked(Ljava/io/PrintWriter;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->dumpActivityStarterLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->dumpLastANRLocked(Ljava/io/PrintWriter;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->enqueueAssistContext(ILandroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZILandroid/os/Bundle;JI)Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;
-PLcom/android/server/wm/ActivityTaskManagerService;->ensureValidPictureInPictureActivityParamsLocked(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/ActivityTaskManagerService;->enterPictureInPictureMode(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->finishActivityAffinity(Landroid/os/IBinder;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->finishRunningVoiceLocked()V
-PLcom/android/server/wm/ActivityTaskManagerService;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getActivityDisplayId(Landroid/os/IBinder;)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getActivityStartController()Lcom/android/server/wm/ActivityStartController;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/wm/ActivityTaskManagerService;->getAppOpsService()Lcom/android/server/appop/AppOpsService;
+PLcom/android/server/wm/ActivityTaskManagerService;->deferWindowLayout()V
+PLcom/android/server/wm/ActivityTaskManagerService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->ensureConfigAndVisibilityAfterUpdate(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->finishRunningVoiceLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityDisplayId(Landroid/os/IBinder;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityStartController()Lcom/android/server/wm/ActivityStartController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
PLcom/android/server/wm/ActivityTaskManagerService;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getAppWarningsLocked()Lcom/android/server/wm/AppWarnings;
-PLcom/android/server/wm/ActivityTaskManagerService;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
-PLcom/android/server/wm/ActivityTaskManagerService;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getCurrentUserId()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppWarningsLocked()Lcom/android/server/wm/AppWarnings;
+PLcom/android/server/wm/ActivityTaskManagerService;->getConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityTaskManagerService;->getCurrentUserId()I
PLcom/android/server/wm/ActivityTaskManagerService;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getFilteredTasks(III)Ljava/util/List;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForCallingPid()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForPid(I)Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityTaskManagerService;->getFilteredTasks(III)Ljava/util/List;
+PLcom/android/server/wm/ActivityTaskManagerService;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForPid(I)Landroid/content/res/Configuration;
HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalLock()Lcom/android/server/wm/WindowManagerGlobalLock;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getHomeIntent()Landroid/content/Intent;
-PLcom/android/server/wm/ActivityTaskManagerService;->getIntentSenderLocked(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getLastResumedActivityUserId()I
-PLcom/android/server/wm/ActivityTaskManagerService;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
-PLcom/android/server/wm/ActivityTaskManagerService;->getLaunchedFromUid(Landroid/os/IBinder;)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getLifecycleManager()Lcom/android/server/wm/ClientLifecycleManager;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskController()Lcom/android/server/wm/LockTaskController;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskModeState()I
-PLcom/android/server/wm/ActivityTaskManagerService;->getMaxNumPictureInPictureActions(Landroid/os/IBinder;)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getPackageManager()Landroid/content/pm/IPackageManager;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
-PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(II)Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Landroid/app/IApplicationThread;)Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Ljava/lang/String;I)Lcom/android/server/wm/WindowProcessController;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks()Lcom/android/server/wm/RecentTasks;
+PLcom/android/server/wm/ActivityTaskManagerService;->getHomeIntent()Landroid/content/Intent;
+PLcom/android/server/wm/ActivityTaskManagerService;->getInputDispatchingTimeoutLocked(Lcom/android/server/wm/ActivityRecord;)J
+PLcom/android/server/wm/ActivityTaskManagerService;->getLastResumedActivityUserId()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getLifecycleManager()Lcom/android/server/wm/ClientLifecycleManager;
+PLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskController()Lcom/android/server/wm/LockTaskController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskModeState()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getPackageManager()Landroid/content/pm/IPackageManager;
+PLcom/android/server/wm/ActivityTaskManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/wm/ActivityTaskManagerService;->getPermissionPolicyInternal()Lcom/android/server/policy/PermissionPolicyInternal;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(II)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Landroid/app/IApplicationThread;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Ljava/lang/String;I)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks()Lcom/android/server/wm/RecentTasks;
PLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/wm/ActivityTaskManagerService;->getRequestedOrientation(Landroid/os/IBinder;)I
-PLcom/android/server/wm/ActivityTaskManagerService;->getSecondaryHomeIntent(Ljava/lang/String;)Landroid/content/Intent;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/wm/ActivityTaskManagerService;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskBounds(I)Landroid/graphics/Rect;
HSPLcom/android/server/wm/ActivityTaskManagerService;->getTaskChangeNotificationController()Lcom/android/server/wm/TaskChangeNotificationController;
-PLcom/android/server/wm/ActivityTaskManagerService;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
PLcom/android/server/wm/ActivityTaskManagerService;->getTaskForActivity(Landroid/os/IBinder;Z)I
PLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(I)Ljava/util/List;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getTopDisplayFocusedStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getUidState(I)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService;
-HSPLcom/android/server/wm/ActivityTaskManagerService;->handleIncomingUser(IIILjava/lang/String;)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->increaseConfigurationSeqLocked()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZZ)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/ActivityTaskManagerService;->getTasks(I)Ljava/util/List;
+PLcom/android/server/wm/ActivityTaskManagerService;->getTopDisplayFocusedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityTaskManagerService;->getUidState(I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService;
+PLcom/android/server/wm/ActivityTaskManagerService;->handleIncomingUser(IIILjava/lang/String;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->increaseConfigurationSeqLocked()I
HSPLcom/android/server/wm/ActivityTaskManagerService;->initialize(Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/am/PendingIntentController;Landroid/os/Looper;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->installSystemProviders()V
-PLcom/android/server/wm/ActivityTaskManagerService;->isActivityStartsLoggingEnabled()Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isAssistDataAllowedOnCurrentActivity()Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isBackgroundActivityStartsEnabled()Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->isBooted()Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->isBooting()Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->isControllerAMonkey()Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isDeviceOwner(Ljava/lang/String;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isInLockTaskMode()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->installSystemProviders()V
+PLcom/android/server/wm/ActivityTaskManagerService;->isAssociatedCompanionApp(II)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isBooted()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isBooting()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isControllerAMonkey()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isCrossUserAllowed(II)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z
PLcom/android/server/wm/ActivityTaskManagerService;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isInPictureInPictureMode(Lcom/android/server/wm/ActivityRecord;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isKeyguardLocked()Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isPackageNameWhitelistedForBgActivityStarts(Ljava/lang/String;)Z
HSPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingLocked()Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingOrShuttingDownLocked()Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isTopOfTask(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->isUidForeground(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isSleepingOrShuttingDownLocked()Z
PLcom/android/server/wm/ActivityTaskManagerService;->keyguardGoingAway(I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateLockStateLocked$0$ActivityTaskManagerService(ZLcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateVrModeLocked$5$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->lambda$enterPictureInPictureMode$4$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;Landroid/app/PictureInPictureParams;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$notifyEnterAnimationComplete$1$ActivityTaskManagerService(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateLockStateLocked$0$ActivityTaskManagerService(ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateVrModeLocked$5$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$notifyEnterAnimationComplete$1$ActivityTaskManagerService(Landroid/os/IBinder;)V
PLcom/android/server/wm/ActivityTaskManagerService;->lambda$onScreenAwakeChanged$3$ActivityTaskManagerService(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$postFinishBooting$6$ActivityTaskManagerService(ZZ)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$scheduleAppGcsLocked$7$ActivityTaskManagerService()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$2$ActivityTaskManagerService(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->logAppTooSlow(Lcom/android/server/wm/WindowProcessController;JLjava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->logPictureInPictureArgs(Landroid/app/PictureInPictureParams;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->moveTaskToFrontLocked(IILcom/android/server/wm/SafeActivityOptions;Z)V
-PLcom/android/server/wm/ActivityTaskManagerService;->moveTasksToFullscreenStack(IZ)V
-PLcom/android/server/wm/ActivityTaskManagerService;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->notifyActivityDrawn(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->notifyPinnedStackAnimationEnded()V
-PLcom/android/server/wm/ActivityTaskManagerService;->notifyPinnedStackAnimationStarted()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->notifyTaskPersisterLocked(Lcom/android/server/wm/TaskRecord;Z)V
-PLcom/android/server/wm/ActivityTaskManagerService;->offsetPinnedStackBounds(ILandroid/graphics/Rect;III)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$postFinishBooting$6$ActivityTaskManagerService(ZZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$scheduleAppGcsLocked$7$ActivityTaskManagerService()V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$2$ActivityTaskManagerService(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->logAppTooSlow(Lcom/android/server/wm/WindowProcessController;JLjava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyActivityDrawn(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyLaunchTaskBehindComplete(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyTaskPersisterLocked(Lcom/android/server/wm/Task;Z)V
HSPLcom/android/server/wm/ActivityTaskManagerService;->onActivityManagerInternalAdded()V
HSPLcom/android/server/wm/ActivityTaskManagerService;->onInitPowerManagement()V
PLcom/android/server/wm/ActivityTaskManagerService;->onScreenAwakeChanged(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->onStartActivitySetDidAppSwitch()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->onSystemReady()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
-PLcom/android/server/wm/ActivityTaskManagerService;->pendingAssistExtrasTimedOut(Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->performDisplayOverrideConfigUpdate(Landroid/content/res/Configuration;ZI)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->postFinishBooting(ZZ)V
-PLcom/android/server/wm/ActivityTaskManagerService;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->onStartActivitySetDidAppSwitch()V
+PLcom/android/server/wm/ActivityTaskManagerService;->onSystemReady()V
+PLcom/android/server/wm/ActivityTaskManagerService;->postFinishBooting(ZZ)V
PLcom/android/server/wm/ActivityTaskManagerService;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->removeStacksInWindowingModes([I)V
-PLcom/android/server/wm/ActivityTaskManagerService;->removeTask(I)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
-PLcom/android/server/wm/ActivityTaskManagerService;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
-PLcom/android/server/wm/ActivityTaskManagerService;->requestAssistContextExtras(ILandroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZ)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->requestAutofillData(Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;I)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->requestStartActivityPermissionToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-PLcom/android/server/wm/ActivityTaskManagerService;->resizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->resizeStack(ILandroid/graphics/Rect;ZZZI)V
-PLcom/android/server/wm/ActivityTaskManagerService;->resumeAppSwitches()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->retrieveSettings(Landroid/content/ContentResolver;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->scheduleAppGcsLocked()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->sendLocaleToMountDaemonMsg(Ljava/util/Locale;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setBooted(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setBooting(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setDeviceOwnerPackageName(Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->setDisablePreviewScreenshots(Landroid/os/IBinder;Z)V
-PLcom/android/server/wm/ActivityTaskManagerService;->setFocusedTask(I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ)V
-PLcom/android/server/wm/ActivityTaskManagerService;->setPictureInPictureParams(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->relaunchReasonToString(I)Ljava/lang/String;
+PLcom/android/server/wm/ActivityTaskManagerService;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->retrieveSettings(Landroid/content/ContentResolver;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->scheduleAppGcsLocked()V
+PLcom/android/server/wm/ActivityTaskManagerService;->setBooted(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setBooting(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setDeviceOwnerUid(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)V
PLcom/android/server/wm/ActivityTaskManagerService;->setRequestedOrientation(Landroid/os/IBinder;I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setResumedActivityUncheckLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->setShowWhenLocked(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setSplitScreenResizing(Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->setTurnScreenOn(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/ActivityTaskManagerService;->shouldDisableNonVrUiLocked()Z
-PLcom/android/server/wm/ActivityTaskManagerService;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
-PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsCaller(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/os/IBinder;ZI)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;IZ)I
-PLcom/android/server/wm/ActivityTaskManagerService;->startActivityFromRecents(ILandroid/os/Bundle;)I
-PLcom/android/server/wm/ActivityTaskManagerService;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-PLcom/android/server/wm/ActivityTaskManagerService;->startAssistantActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->setResumedActivityUncheckLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HSPLcom/android/server/wm/ActivityTaskManagerService;->start()V
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;IZ)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startProcessAsync(Lcom/android/server/wm/ActivityRecord;ZZLjava/lang/String;)V
PLcom/android/server/wm/ActivityTaskManagerService;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
PLcom/android/server/wm/ActivityTaskManagerService;->stopAppSwitches()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateActivityUsageStats(Lcom/android/server/wm/ActivityRecord;I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateBatteryStats(Lcom/android/server/wm/ActivityRecord;Z)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Z)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZ)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateCpuStats()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZI)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZILcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateGlobalConfigurationLocked(Landroid/content/res/Configuration;ZZIZ)I
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateLockTaskFeatures(II)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateActivityUsageStats(Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateBatteryStats(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZ)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZ)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->updateCpuStats()V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateEventDispatchingLocked(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateGlobalConfigurationLocked(Landroid/content/res/Configuration;ZZIZ)I
+PLcom/android/server/wm/ActivityTaskManagerService;->updateLockTaskFeatures(II)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
PLcom/android/server/wm/ActivityTaskManagerService;->updateOomAdj()V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updatePersistentConfiguration(Landroid/content/res/Configuration;I)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateShouldShowDialogsLocked(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ActivityTaskManagerService;->updateSleepIfNeededLocked()V
-PLcom/android/server/wm/ActivityTaskManagerService;->willActivityBeVisible(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/ActivityTaskManagerService;->writeSleepStateToProto(Landroid/util/proto/ProtoOutputStream;IZ)V
-PLcom/android/server/wm/AlertWindowNotification;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;)V
-PLcom/android/server/wm/AlertWindowNotification;->cancel(Z)V
-PLcom/android/server/wm/AlertWindowNotification;->createNotificationChannel(Landroid/content/Context;Ljava/lang/String;)V
-PLcom/android/server/wm/AlertWindowNotification;->getApplicationInfo(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/wm/AlertWindowNotification;->lambda$cancel$0$AlertWindowNotification(Z)V
-PLcom/android/server/wm/AlertWindowNotification;->onPostNotification()V
-PLcom/android/server/wm/AlertWindowNotification;->post()V
-PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->endDeferringFinished()V
-PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->notifyAboutToFinish(Lcom/android/server/wm/AppWindowToken;Ljava/lang/Runnable;)Z
-HSPLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->notifyFinished(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->notifyStarting(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/AppTaskImpl;->checkCaller()V
-PLcom/android/server/wm/AppTaskImpl;->finishAndRemoveTask()V
-PLcom/android/server/wm/AppTaskImpl;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-PLcom/android/server/wm/AppTaskImpl;->setExcludeFromRecents(Z)V
-HSPLcom/android/server/wm/AppTransition;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/AppTransition;->calculateClipRevealTransitionDuration(ZFFLandroid/graphics/Rect;)J
+PLcom/android/server/wm/ActivityTaskManagerService;->updateResumedAppTrace(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateShouldShowDialogsLocked(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateSleepIfNeededLocked()V
+PLcom/android/server/wm/AnimatingActivityRegistry;-><init>()V
+PLcom/android/server/wm/AnimatingActivityRegistry;->endDeferringFinished()V
+PLcom/android/server/wm/AnimatingActivityRegistry;->notifyFinished(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppTransition$1;-><init>(Lcom/android/server/wm/AppTransition;)V
+PLcom/android/server/wm/AppTransition$2;-><init>(Lcom/android/server/wm/AppTransition;)V
+PLcom/android/server/wm/AppTransition;-><clinit>()V
+PLcom/android/server/wm/AppTransition;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
PLcom/android/server/wm/AppTransition;->canSkipFirstFrame()Z
-HSPLcom/android/server/wm/AppTransition;->clear()V
-PLcom/android/server/wm/AppTransition;->createClipRevealAnimationLocked(IZLandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/view/animation/Animation;
-PLcom/android/server/wm/AppTransition;->doAnimationCallback(Landroid/os/IRemoteCallback;)V
-HSPLcom/android/server/wm/AppTransition;->freeze()V
-HSPLcom/android/server/wm/AppTransition;->getAppStackClipMode()I
-HSPLcom/android/server/wm/AppTransition;->getAppTransition()I
-HSPLcom/android/server/wm/AppTransition;->getCachedAnimations(Landroid/view/WindowManager$LayoutParams;)Lcom/android/server/AttributeCache$Entry;
-PLcom/android/server/wm/AppTransition;->getDefaultNextAppTransitionStartRect(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/AppTransition;->getRemoteAnimationController()Lcom/android/server/wm/RemoteAnimationController;
-HSPLcom/android/server/wm/AppTransition;->getTransitFlags()I
-HSPLcom/android/server/wm/AppTransition;->goodToGo(ILcom/android/server/wm/AppWindowToken;Landroid/util/ArraySet;)I
+PLcom/android/server/wm/AppTransition;->clear()V
+PLcom/android/server/wm/AppTransition;->fetchAppTransitionSpecsFromFuture()V
+PLcom/android/server/wm/AppTransition;->getAppStackClipMode()I
+PLcom/android/server/wm/AppTransition;->getAppTransition()I
+PLcom/android/server/wm/AppTransition;->getCachedAnimations(Landroid/view/WindowManager$LayoutParams;)Lcom/android/server/AttributeCache$Entry;
+PLcom/android/server/wm/AppTransition;->getRemoteAnimationController()Lcom/android/server/wm/RemoteAnimationController;
+PLcom/android/server/wm/AppTransition;->getTransitFlags()I
+PLcom/android/server/wm/AppTransition;->goodToGo(ILcom/android/server/wm/ActivityRecord;Landroid/util/ArraySet;)I
PLcom/android/server/wm/AppTransition;->handleAppTransitionTimeout()V
-HSPLcom/android/server/wm/AppTransition;->isFetchingAppTransitionsSpecs()Z
-HSPLcom/android/server/wm/AppTransition;->isNextAppTransitionOpenCrossProfileApps()Z
-HSPLcom/android/server/wm/AppTransition;->isNextAppTransitionThumbnailDown()Z
-HSPLcom/android/server/wm/AppTransition;->isNextAppTransitionThumbnailUp()Z
-HSPLcom/android/server/wm/AppTransition;->isReady()Z
-HSPLcom/android/server/wm/AppTransition;->isRunning()Z
-HSPLcom/android/server/wm/AppTransition;->isTimeout()Z
-HSPLcom/android/server/wm/AppTransition;->isTransitionEqual(I)Z
-HSPLcom/android/server/wm/AppTransition;->isTransitionSet()Z
-PLcom/android/server/wm/AppTransition;->lambda$new$0$AppTransition()V
-HSPLcom/android/server/wm/AppTransition;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZIILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)Landroid/view/animation/Animation;
-HSPLcom/android/server/wm/AppTransition;->loadAnimationAttr(Landroid/view/WindowManager$LayoutParams;II)Landroid/view/animation/Animation;
-PLcom/android/server/wm/AppTransition;->loadAnimationRes(Landroid/view/WindowManager$LayoutParams;I)Landroid/view/animation/Animation;
-PLcom/android/server/wm/AppTransition;->loadAnimationRes(Ljava/lang/String;I)Landroid/view/animation/Animation;
-HSPLcom/android/server/wm/AppTransition;->loadAnimationSafely(Landroid/content/Context;I)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->isChangeTransit(I)Z
+PLcom/android/server/wm/AppTransition;->isFetchingAppTransitionsSpecs()Z
+PLcom/android/server/wm/AppTransition;->isKeyguardGoingAwayTransit(I)Z
+PLcom/android/server/wm/AppTransition;->isKeyguardTransit(I)Z
+PLcom/android/server/wm/AppTransition;->isReady()Z
+PLcom/android/server/wm/AppTransition;->isRunning()Z
+PLcom/android/server/wm/AppTransition;->isTaskOpenTransit(I)Z
+PLcom/android/server/wm/AppTransition;->isTaskTransit(I)Z
+PLcom/android/server/wm/AppTransition;->isTimeout()Z
+PLcom/android/server/wm/AppTransition;->isTransitionEqual(I)Z
+PLcom/android/server/wm/AppTransition;->isTransitionSet()Z
+PLcom/android/server/wm/AppTransition;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZIILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZLcom/android/server/wm/WindowContainer;)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->loadAnimationAttr(Landroid/view/WindowManager$LayoutParams;II)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->loadAnimationSafely(Landroid/content/Context;I)Landroid/view/animation/Animation;
PLcom/android/server/wm/AppTransition;->loadKeyguardExitAnimation(I)Landroid/view/animation/Animation;
-HSPLcom/android/server/wm/AppTransition;->notifyAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/AppTransition;->notifyAppTransitionStartingLocked(IJJJ)I
-HSPLcom/android/server/wm/AppTransition;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
-PLcom/android/server/wm/AppTransition;->overridePendingAppTransitionClipReveal(IIII)V
+PLcom/android/server/wm/AppTransition;->needsBoosting()Z
+PLcom/android/server/wm/AppTransition;->notifyAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/AppTransition;->notifyAppTransitionPendingLocked()V
+PLcom/android/server/wm/AppTransition;->notifyAppTransitionStartingLocked(IJJJ)I
PLcom/android/server/wm/AppTransition;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;)V
-HSPLcom/android/server/wm/AppTransition;->postAnimationCallback()V
-HSPLcom/android/server/wm/AppTransition;->prepareAppTransitionLocked(IZIZ)Z
-HSPLcom/android/server/wm/AppTransition;->registerListenerLocked(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
-HSPLcom/android/server/wm/AppTransition;->removeAppTransitionTimeoutCallbacks()V
-HSPLcom/android/server/wm/AppTransition;->setIdle()V
-HSPLcom/android/server/wm/AppTransition;->setLastAppTransition(ILcom/android/server/wm/AppWindowToken;Lcom/android/server/wm/AppWindowToken;Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/AppTransition;->setReady()V
-PLcom/android/server/wm/AppTransition;->setTimeout()V
-PLcom/android/server/wm/AppTransition;->unregisterListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
-HSPLcom/android/server/wm/AppTransition;->updateBooster()V
-PLcom/android/server/wm/AppTransition;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/AppTransitionController;->collectActivityTypes(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;)Landroid/util/ArraySet;
-HSPLcom/android/server/wm/AppTransitionController;->findAnimLayoutParamsToken(ILandroid/util/ArraySet;)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/AppTransitionController;->getRemoteAnimationOverride(Lcom/android/server/wm/AppWindowToken;ILandroid/util/ArraySet;)Landroid/view/RemoteAnimationAdapter;
-HSPLcom/android/server/wm/AppTransitionController;->getTopApp(Landroid/util/ArraySet;Z)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/AppTransitionController;->handleAppTransitionReady()V
-HSPLcom/android/server/wm/AppTransitionController;->handleChangingApps(ILandroid/view/WindowManager$LayoutParams;Z)V
-HSPLcom/android/server/wm/AppTransitionController;->handleClosingApps(ILandroid/view/WindowManager$LayoutParams;Z)V
-HSPLcom/android/server/wm/AppTransitionController;->handleNonAppWindowsInTransition(II)V
-HSPLcom/android/server/wm/AppTransitionController;->handleOpeningApps(ILandroid/view/WindowManager$LayoutParams;Z)V
+PLcom/android/server/wm/AppTransition;->postAnimationCallback()V
+PLcom/android/server/wm/AppTransition;->prepare()Z
+PLcom/android/server/wm/AppTransition;->prepareAppTransitionLocked(IZIZ)Z
+PLcom/android/server/wm/AppTransition;->registerListenerLocked(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+PLcom/android/server/wm/AppTransition;->removeAppTransitionTimeoutCallbacks()V
+PLcom/android/server/wm/AppTransition;->setAppTransition(II)V
+PLcom/android/server/wm/AppTransition;->setAppTransitionState(I)V
+PLcom/android/server/wm/AppTransition;->setIdle()V
+PLcom/android/server/wm/AppTransition;->setLastAppTransition(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppTransition;->setReady()V
+PLcom/android/server/wm/AppTransition;->updateBooster()V
+PLcom/android/server/wm/AppTransitionController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/AppTransitionController;->canBeWallpaperTarget(Landroid/util/ArraySet;)Z
+PLcom/android/server/wm/AppTransitionController;->collectActivityTypes(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;)Landroid/util/ArraySet;
+PLcom/android/server/wm/AppTransitionController;->containsVoiceInteraction(Landroid/util/ArraySet;)Z
+PLcom/android/server/wm/AppTransitionController;->findAnimLayoutParamsToken(ILandroid/util/ArraySet;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/AppTransitionController;->getAnimLp(Lcom/android/server/wm/ActivityRecord;)Landroid/view/WindowManager$LayoutParams;
+PLcom/android/server/wm/AppTransitionController;->getTopApp(Landroid/util/ArraySet;Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/AppTransitionController;->handleAppTransitionReady()V
+PLcom/android/server/wm/AppTransitionController;->handleChangingApps(ILandroid/view/WindowManager$LayoutParams;Z)V
+PLcom/android/server/wm/AppTransitionController;->handleClosingApps(ILandroid/view/WindowManager$LayoutParams;Z)V
+PLcom/android/server/wm/AppTransitionController;->handleNonAppWindowsInTransition(II)V
+PLcom/android/server/wm/AppTransitionController;->handleOpeningApps(ILandroid/view/WindowManager$LayoutParams;Z)V
PLcom/android/server/wm/AppTransitionController;->isTransitWithinTask(ILcom/android/server/wm/Task;)Z
-HSPLcom/android/server/wm/AppTransitionController;->lookForHighestTokenWithFilter(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/function/Predicate;)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/AppTransitionController;->maybeUpdateTransitToTranslucentAnim(I)I
-HSPLcom/android/server/wm/AppTransitionController;->maybeUpdateTransitToWallpaper(IZZ)I
-HSPLcom/android/server/wm/AppTransitionController;->transitionGoodToGo(Landroid/util/ArraySet;Landroid/util/SparseIntArray;)Z
+PLcom/android/server/wm/AppTransitionController;->lookForHighestTokenWithFilter(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/AppTransitionController;->maybeUpdateTransitToTranslucentAnim(I)I
+PLcom/android/server/wm/AppTransitionController;->maybeUpdateTransitToWallpaper(IZZ)I
+PLcom/android/server/wm/AppTransitionController;->overrideWithRemoteAnimationIfSet(Lcom/android/server/wm/ActivityRecord;ILandroid/util/ArraySet;)V
+HPLcom/android/server/wm/AppTransitionController;->transitionGoodToGo(Landroid/util/ArraySet;Landroid/util/ArrayMap;)Z
+HSPLcom/android/server/wm/AppWarnings$ConfigHandler;-><init>(Lcom/android/server/wm/AppWarnings;Landroid/os/Looper;)V
PLcom/android/server/wm/AppWarnings$ConfigHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/AppWarnings$UiHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/wm/AppWarnings$UiHandler;-><init>(Lcom/android/server/wm/AppWarnings;Landroid/os/Looper;)V
+PLcom/android/server/wm/AppWarnings$UiHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/AppWarnings$UiHandler;->hideUnsupportedDisplaySizeDialog()V
HSPLcom/android/server/wm/AppWarnings;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)V
-PLcom/android/server/wm/AppWarnings;->getPackageFlags(Ljava/lang/String;)I
-PLcom/android/server/wm/AppWarnings;->hasPackageFlag(Ljava/lang/String;I)Z
-HSPLcom/android/server/wm/AppWarnings;->hideDialogsForPackageUiThread(Ljava/lang/String;)V
-HSPLcom/android/server/wm/AppWarnings;->onDensityChanged()V
-HSPLcom/android/server/wm/AppWarnings;->onPackageUninstalled(Ljava/lang/String;)V
-HSPLcom/android/server/wm/AppWarnings;->onResumeActivity(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/AppWarnings;->onStartActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->access$100(Lcom/android/server/wm/AppWarnings;)V
+PLcom/android/server/wm/AppWarnings;->hideDialogsForPackageUiThread(Ljava/lang/String;)V
+PLcom/android/server/wm/AppWarnings;->hideUnsupportedDisplaySizeDialogUiThread()V
+PLcom/android/server/wm/AppWarnings;->onDensityChanged()V
+PLcom/android/server/wm/AppWarnings;->onPackageDataCleared(Ljava/lang/String;)V
+PLcom/android/server/wm/AppWarnings;->onResumeActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->onStartActivity(Lcom/android/server/wm/ActivityRecord;)V
HSPLcom/android/server/wm/AppWarnings;->readConfigFromFileAmsThread()V
-HSPLcom/android/server/wm/AppWarnings;->removePackageAndHideDialogs(Ljava/lang/String;)V
-HSPLcom/android/server/wm/AppWarnings;->showDeprecatedTargetDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/AppWarnings;->showDeprecatedTargetSdkDialogUiThread(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/AppWarnings;->showUnsupportedCompileSdkDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->removePackageAndHideDialogs(Ljava/lang/String;)V
+PLcom/android/server/wm/AppWarnings;->showDeprecatedTargetDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->showUnsupportedCompileSdkDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
PLcom/android/server/wm/AppWarnings;->writeConfigToFileAmsThread()V
-PLcom/android/server/wm/AppWindowToken$1;->run()V
-PLcom/android/server/wm/AppWindowToken$AppSaturationInfo;->setSaturation([F[F)V
-HSPLcom/android/server/wm/AppWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;Landroid/content/ComponentName;ZLcom/android/server/wm/DisplayContent;JZZIIIIZZLcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/AppWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;Landroid/content/ComponentName;ZLcom/android/server/wm/DisplayContent;Z)V
-HSPLcom/android/server/wm/AppWindowToken;->addStartingWindow(Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/os/IBinder;ZZZZZZ)Z
-HSPLcom/android/server/wm/AppWindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/AppWindowToken;->allDrawnStatesConsidered()Z
-HSPLcom/android/server/wm/AppWindowToken;->applyAnimationLocked(Landroid/view/WindowManager$LayoutParams;IZZ)Z
-HSPLcom/android/server/wm/AppWindowToken;->asAppWindowToken()Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/AppWindowToken;->calculateCompatBoundsTransformation(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/AppWindowToken;->canShowWindows()Z
-HSPLcom/android/server/wm/AppWindowToken;->canTurnScreenOn()Z
-HSPLcom/android/server/wm/AppWindowToken;->cancelAnimation()V
-HSPLcom/android/server/wm/AppWindowToken;->cancelAnimationOnly()V
-HSPLcom/android/server/wm/AppWindowToken;->checkAppWindowsReadyToShow()V
-HSPLcom/android/server/wm/AppWindowToken;->checkCompleteDeferredRemoval()Z
-HSPLcom/android/server/wm/AppWindowToken;->checkKeyguardFlagsChanged()V
-HSPLcom/android/server/wm/AppWindowToken;->clearAllDrawn()V
-HSPLcom/android/server/wm/AppWindowToken;->clearAnimatingFlags()V
-HSPLcom/android/server/wm/AppWindowToken;->clearChangeLeash(Landroid/view/SurfaceControl$Transaction;Z)V
-HSPLcom/android/server/wm/AppWindowToken;->clearRelaunching()V
-HSPLcom/android/server/wm/AppWindowToken;->commitVisibility(Landroid/view/WindowManager$LayoutParams;ZIZZ)Z
-HSPLcom/android/server/wm/AppWindowToken;->containsDismissKeyguardWindow()Z
-HSPLcom/android/server/wm/AppWindowToken;->containsShowWhenLockedWindow()Z
-PLcom/android/server/wm/AppWindowToken;->createAnimationBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl;
-PLcom/android/server/wm/AppWindowToken;->createSnapshot(Landroid/app/ActivityManager$TaskSnapshot;)Z
-HSPLcom/android/server/wm/AppWindowToken;->destroySurfaces()V
-HSPLcom/android/server/wm/AppWindowToken;->destroySurfaces(Z)V
-HSPLcom/android/server/wm/AppWindowToken;->detachChildren()V
-PLcom/android/server/wm/AppWindowToken;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/AppWindowToken;->fillsParent()Z
-HSPLcom/android/server/wm/AppWindowToken;->findMainWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/AppWindowToken;->findMainWindow(Z)Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/AppWindowToken;->finishRelaunching()V
-HSPLcom/android/server/wm/AppWindowToken;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HSPLcom/android/server/wm/AppWindowToken;->forAllWindowsUnchecked(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-PLcom/android/server/wm/AppWindowToken;->getAnimationLeashParent()Landroid/view/SurfaceControl;
-PLcom/android/server/wm/AppWindowToken;->getAppAnimationLayer()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/AppWindowToken;->getBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/AppWindowToken;->getDisplayedBounds()Landroid/graphics/Rect;
-PLcom/android/server/wm/AppWindowToken;->getHighestAnimLayerWindow(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/AppWindowToken;->getImeTargetBelowWindow(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/AppWindowToken;->getLetterboxInsets()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/AppWindowToken;->getOrientation(I)I
-HSPLcom/android/server/wm/AppWindowToken;->getOrientationIgnoreVisibility()I
-HSPLcom/android/server/wm/AppWindowToken;->getRemoteAnimationDefinition()Landroid/view/RemoteAnimationDefinition;
-HSPLcom/android/server/wm/AppWindowToken;->getResolvedOverrideBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/AppWindowToken;->getStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/AppWindowToken;->getStartingWindowType(ZZZZZZLandroid/app/ActivityManager$TaskSnapshot;)I
-HSPLcom/android/server/wm/AppWindowToken;->getTask()Lcom/android/server/wm/Task;
-PLcom/android/server/wm/AppWindowToken;->getTopFullscreenWindow()Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/AppWindowToken;->getTransit()I
-PLcom/android/server/wm/AppWindowToken;->getTransitFlags()I
-PLcom/android/server/wm/AppWindowToken;->hasWindowsAlive()Z
-HSPLcom/android/server/wm/AppWindowToken;->inSizeCompatMode()Z
-HSPLcom/android/server/wm/AppWindowToken;->isAppAnimating()Z
-HSPLcom/android/server/wm/AppWindowToken;->isClientHidden()Z
-PLcom/android/server/wm/AppWindowToken;->isClosingOrEnteringPip()Z
-PLcom/android/server/wm/AppWindowToken;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/AppWindowToken;->isFreezingScreen()Z
-PLcom/android/server/wm/AppWindowToken;->isLastWindow(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/AppWindowToken;->isLetterboxOverlappingWith(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/AppWindowToken;->isRelaunching()Z
-HSPLcom/android/server/wm/AppWindowToken;->isSelfAnimating()Z
-HSPLcom/android/server/wm/AppWindowToken;->isSurfaceShowing()Z
-HSPLcom/android/server/wm/AppWindowToken;->isVisible()Z
-HSPLcom/android/server/wm/AppWindowToken;->isWaitingForTransitionStart()Z
-PLcom/android/server/wm/AppWindowToken;->lambda$layoutLetterbox$2$AppWindowToken()Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/AppWindowToken;->lambda$new$0$AppWindowToken([F[F)V
-PLcom/android/server/wm/AppWindowToken;->lambda$new$1$AppWindowToken([F[F)V
-PLcom/android/server/wm/AppWindowToken;->lambda$removeStartingWindow$3(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
-HSPLcom/android/server/wm/AppWindowToken;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/AppWindowToken;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Landroid/view/animation/Animation;
-HSPLcom/android/server/wm/AppWindowToken;->matchParentBounds()Z
-HSPLcom/android/server/wm/AppWindowToken;->needsZBoost()Z
-HSPLcom/android/server/wm/AppWindowToken;->notifyAppResumed(Z)V
-HSPLcom/android/server/wm/AppWindowToken;->notifyAppStopped()V
-HSPLcom/android/server/wm/AppWindowToken;->onAnimationFinished()V
-PLcom/android/server/wm/AppWindowToken;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/AppWindowToken;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/AppWindowToken;->onAppFreezeTimeout()V
-HSPLcom/android/server/wm/AppWindowToken;->onAppTransitionDone()V
-HSPLcom/android/server/wm/AppWindowToken;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/AppWindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/AppWindowToken;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V
-HSPLcom/android/server/wm/AppWindowToken;->onParentChanged()V
-HSPLcom/android/server/wm/AppWindowToken;->onRemovedFromDisplay()V
-HSPLcom/android/server/wm/AppWindowToken;->postWindowRemoveStartingWindowCleanup(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/AppWindowToken;->prepareSurfaces()V
-PLcom/android/server/wm/AppWindowToken;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
-HSPLcom/android/server/wm/AppWindowToken;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/AppWindowToken;->removeChild(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/AppWindowToken;->removeDeadWindows()V
-HSPLcom/android/server/wm/AppWindowToken;->removeIfPossible()V
-HSPLcom/android/server/wm/AppWindowToken;->removeImmediately()V
-HSPLcom/android/server/wm/AppWindowToken;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/AppWindowToken;->removeStartingWindow()V
-HSPLcom/android/server/wm/AppWindowToken;->reportDescendantOrientationChangeIfNeeded()V
-HSPLcom/android/server/wm/AppWindowToken;->requestUpdateWallpaperIfNeeded()V
-PLcom/android/server/wm/AppWindowToken;->scheduleAddStartingWindow()V
-HSPLcom/android/server/wm/AppWindowToken;->setAppLayoutChanges(ILjava/lang/String;)V
-HSPLcom/android/server/wm/AppWindowToken;->setCanTurnScreenOn(Z)V
-HSPLcom/android/server/wm/AppWindowToken;->setClientHidden(Z)V
-PLcom/android/server/wm/AppWindowToken;->setDisablePreviewScreenshots(Z)V
-PLcom/android/server/wm/AppWindowToken;->setFillsParent(Z)V
-HSPLcom/android/server/wm/AppWindowToken;->setHidden(Z)V
-HSPLcom/android/server/wm/AppWindowToken;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HSPLcom/android/server/wm/AppWindowToken;->setVisibility(ZZ)V
-HSPLcom/android/server/wm/AppWindowToken;->setWillCloseOrEnterPip(Z)V
-HSPLcom/android/server/wm/AppWindowToken;->shouldAnimate(I)Z
-PLcom/android/server/wm/AppWindowToken;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
-HSPLcom/android/server/wm/AppWindowToken;->shouldFreezeBounds()Z
-HSPLcom/android/server/wm/AppWindowToken;->shouldStartChangeTransition(II)Z
-HSPLcom/android/server/wm/AppWindowToken;->shouldUseAppThemeSnapshot()Z
-HSPLcom/android/server/wm/AppWindowToken;->showAllWindowsLocked()V
-HSPLcom/android/server/wm/AppWindowToken;->startFreezingScreen()V
-HSPLcom/android/server/wm/AppWindowToken;->startRelaunching()V
-HSPLcom/android/server/wm/AppWindowToken;->stopFreezingScreen(ZZ)V
-HSPLcom/android/server/wm/AppWindowToken;->toString()Ljava/lang/String;
-PLcom/android/server/wm/AppWindowToken;->transferStartingWindow(Landroid/os/IBinder;)Z
-HSPLcom/android/server/wm/AppWindowToken;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V
-HSPLcom/android/server/wm/AppWindowToken;->unfreezeBounds()V
-HSPLcom/android/server/wm/AppWindowToken;->updateAllDrawn()V
-HSPLcom/android/server/wm/AppWindowToken;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/AppWindowToken;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/AppWindowToken;->updateReportedVisibilityLocked()V
-HSPLcom/android/server/wm/AppWindowToken;->windowsAreFocusable()Z
-PLcom/android/server/wm/AppWindowToken;->writeNameToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/wm/AppWindowToken;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/BarController$1;->run()V
-HSPLcom/android/server/wm/BarController$BarHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/BarController;-><init>(Ljava/lang/String;IIIIII)V
-HSPLcom/android/server/wm/BarController;->adjustSystemUiVisibilityLw(II)V
-HSPLcom/android/server/wm/BarController;->applyTranslucentFlagLw(Lcom/android/server/wm/WindowState;II)I
-HSPLcom/android/server/wm/BarController;->checkHiddenLw()Z
-HSPLcom/android/server/wm/BarController;->checkShowTransientBarLw()Z
-HSPLcom/android/server/wm/BarController;->computeStateLw(ZZLcom/android/server/wm/WindowState;Z)I
-PLcom/android/server/wm/BarController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/BarController;->getStatusBarInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
-HSPLcom/android/server/wm/BarController;->isTransientShowRequested()Z
-HSPLcom/android/server/wm/BarController;->isTransientShowing()Z
-HSPLcom/android/server/wm/BarController;->isTransparentAllowed(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/BarController;->setBarShowingLw(Z)Z
-HSPLcom/android/server/wm/BarController;->setContentFrame(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/BarController;->setOnBarVisibilityChangedListener(Lcom/android/server/wm/BarController$OnBarVisibilityChangedListener;Z)V
-HSPLcom/android/server/wm/BarController;->setShowTransparent(Z)V
-HSPLcom/android/server/wm/BarController;->setWindow(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/BarController;->showTransient()V
-HSPLcom/android/server/wm/BarController;->skipAnimation()Z
-PLcom/android/server/wm/BarController;->transientBarStateToString(I)Ljava/lang/String;
-HSPLcom/android/server/wm/BarController;->updateVisibilityLw(ZII)I
-HSPLcom/android/server/wm/BarController;->wasRecentlyTranslucent()Z
-HSPLcom/android/server/wm/BlackFrame$BlackSurface;-><init>(Lcom/android/server/wm/BlackFrame;Landroid/view/SurfaceControl$Transaction;IIIIILcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/BlackFrame$BlackSurface;->setMatrix(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Matrix;)V
-HSPLcom/android/server/wm/BlackFrame;-><init>(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;Landroid/graphics/Rect;ILcom/android/server/wm/DisplayContent;Z)V
-HSPLcom/android/server/wm/BlackFrame;->kill()V
-HSPLcom/android/server/wm/BlackFrame;->setMatrix(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Matrix;)V
-HSPLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->run()V
-PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;-><init>(Lcom/android/server/wm/BoundsAnimationController;Lcom/android/server/wm/BoundsAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZLandroid/graphics/Rect;)V
-PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
-PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationCancel(Landroid/animation/Animator;)V
-PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationEnd(Landroid/animation/Animator;)V
-PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationStart(Landroid/animation/Animator;)V
-PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-HSPLcom/android/server/wm/BoundsAnimationController;-><init>(Landroid/content/Context;Lcom/android/server/wm/AppTransition;Landroid/os/Handler;Landroid/animation/AnimationHandler;)V
-PLcom/android/server/wm/BoundsAnimationController;->animateBounds(Lcom/android/server/wm/BoundsAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)V
-PLcom/android/server/wm/BoundsAnimationController;->animateBoundsImpl(Lcom/android/server/wm/BoundsAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)Lcom/android/server/wm/BoundsAnimationController$BoundsAnimator;
-PLcom/android/server/wm/BoundsAnimationController;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/wm/BoundsAnimationController;->lambda$new$0$BoundsAnimationController(Landroid/animation/AnimationHandler;)V
-PLcom/android/server/wm/BoundsAnimationController;->onAllWindowsDrawn()V
-PLcom/android/server/wm/BoundsAnimationController;->updateBooster()V
-HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
-HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ActivityLifecycleItem;)V
-HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ClientTransactionItem;)V
-HSPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
+PLcom/android/server/wm/BarController$BarHandler;-><init>(Lcom/android/server/wm/BarController;)V
+PLcom/android/server/wm/BarController$BarHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/BarController;-><init>(Ljava/lang/String;IIIIIII)V
+PLcom/android/server/wm/BarController;->access$100(Lcom/android/server/wm/BarController;)Lcom/android/server/wm/BarController$OnBarVisibilityChangedListener;
+PLcom/android/server/wm/BarController;->adjustSystemUiVisibilityLw(II)V
+PLcom/android/server/wm/BarController;->applyTranslucentFlagLw(Lcom/android/server/wm/WindowState;II)I
+PLcom/android/server/wm/BarController;->checkHiddenLw()Z
+PLcom/android/server/wm/BarController;->computeStateLw(ZZLcom/android/server/wm/WindowState;Z)I
+PLcom/android/server/wm/BarController;->getStatusBarInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+PLcom/android/server/wm/BarController;->isTransientShowRequested()Z
+PLcom/android/server/wm/BarController;->isTransientShowing()Z
+PLcom/android/server/wm/BarController;->isTransparentAllowed(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/BarController;->setBarShowingLw(Z)Z
+PLcom/android/server/wm/BarController;->setContentFrame(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/BarController;->setOnBarVisibilityChangedListener(Lcom/android/server/wm/BarController$OnBarVisibilityChangedListener;Z)V
+PLcom/android/server/wm/BarController;->setShowTransparent(Z)V
+PLcom/android/server/wm/BarController;->setWindow(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/BarController;->skipAnimation()Z
+PLcom/android/server/wm/BarController;->updateStateLw(I)Z
+PLcom/android/server/wm/BarController;->updateVisibilityLw(ZII)I
+PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;-><init>(Lcom/android/server/wm/BoundsAnimationController;)V
+PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;-><init>(Lcom/android/server/wm/BoundsAnimationController;Lcom/android/server/wm/BoundsAnimationController$1;)V
+PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->animationFinished()V
+PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/BoundsAnimationController;-><init>(Landroid/content/Context;Lcom/android/server/wm/AppTransition;Landroid/os/Handler;Landroid/animation/AnimationHandler;)V
+PLcom/android/server/wm/BoundsAnimationController;->access$000(Lcom/android/server/wm/BoundsAnimationController;)Z
+PLcom/android/server/wm/BoundsAnimationController;->lambda$new$0$BoundsAnimationController(Landroid/animation/AnimationHandler;)V
+PLcom/android/server/wm/BoundsAnimationController;->setAnimationType(I)V
+HSPLcom/android/server/wm/ClientLifecycleManager;-><init>()V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ActivityLifecycleItem;)V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
+PLcom/android/server/wm/ClientLifecycleManager;->transactionWithCallback(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ClientTransactionItem;)Landroid/app/servertransaction/ClientTransaction;
+PLcom/android/server/wm/ClientLifecycleManager;->transactionWithState(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ActivityLifecycleItem;)Landroid/app/servertransaction/ClientTransaction;
+HSPLcom/android/server/wm/CompatModePackages$CompatHandler;-><init>(Lcom/android/server/wm/CompatModePackages;Landroid/os/Looper;)V
HSPLcom/android/server/wm/CompatModePackages;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/io/File;Landroid/os/Handler;)V
+PLcom/android/server/wm/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+PLcom/android/server/wm/CompatModePackages;->getPackageFlags(Ljava/lang/String;)I
PLcom/android/server/wm/CompatModePackages;->handlePackageAddedLocked(Ljava/lang/String;Z)V
+PLcom/android/server/wm/CompatModePackages;->handlePackageDataClearedLocked(Ljava/lang/String;)V
+PLcom/android/server/wm/CompatModePackages;->removePackage(Ljava/lang/String;)V
+PLcom/android/server/wm/ConfigurationContainer$RemoteToken;-><init>(Lcom/android/server/wm/ConfigurationContainer;)V
HSPLcom/android/server/wm/ConfigurationContainer;-><init>()V
-HSPLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideBounds(Landroid/graphics/Rect;)I
-PLcom/android/server/wm/ConfigurationContainer;->dumpChildrenNames(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->equivalentBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideBounds(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/ConfigurationContainer;->getActivityType()I
-HSPLcom/android/server/wm/ConfigurationContainer;->getBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/ConfigurationContainer;->getBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->getConfiguration()Landroid/content/res/Configuration;
-PLcom/android/server/wm/ConfigurationContainer;->getLastOverrideConfigurationChanges()I
-HSPLcom/android/server/wm/ConfigurationContainer;->getMergedOverrideConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/ConfigurationContainer;->getName()Ljava/lang/String;
-PLcom/android/server/wm/ConfigurationContainer;->getPosition(Landroid/graphics/Point;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideWindowingMode()I
-HSPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
-HSPLcom/android/server/wm/ConfigurationContainer;->getWindowingMode()I
-HSPLcom/android/server/wm/ConfigurationContainer;->hasOverrideBounds()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->inFreeformWindowingMode()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->inMultiWindowMode()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->inPinnedWindowingMode()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenPrimaryWindowingMode()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenSecondaryWindowingMode()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenWindowingMode()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeAssistant()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeRecents()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandard()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndefined()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z
-HSPLcom/android/server/wm/ConfigurationContainer;->isCompatible(II)Z
-HSPLcom/android/server/wm/ConfigurationContainer;->matchParentBounds()Z
+PLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/ConfigurationContainer;->equivalentBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideBounds(Landroid/graphics/Rect;)Z
+HPLcom/android/server/wm/ConfigurationContainer;->getActivityType()I
+HPLcom/android/server/wm/ConfigurationContainer;->getBounds()Landroid/graphics/Rect;
+HPLcom/android/server/wm/ConfigurationContainer;->getBounds(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/ConfigurationContainer;->getConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ConfigurationContainer;->getMergedOverrideConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ConfigurationContainer;->getName()Ljava/lang/String;
+PLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideWindowingMode()I
+PLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
+PLcom/android/server/wm/ConfigurationContainer;->getWindowingMode()I
+PLcom/android/server/wm/ConfigurationContainer;->hasChild()Z
+PLcom/android/server/wm/ConfigurationContainer;->hasCompatibleActivityType(Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/ConfigurationContainer;->inFreeformWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->inMultiWindowMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->inPinnedWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->inSplitScreenPrimaryWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->inSplitScreenSecondaryWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->inSplitScreenWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeAssistant()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeRecents()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandard()Z
+PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndefined()Z
+PLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z
+PLcom/android/server/wm/ConfigurationContainer;->isCompatible(II)Z
+HPLcom/android/server/wm/ConfigurationContainer;->matchParentBounds()Z
HSPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V
-HSPLcom/android/server/wm/ConfigurationContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
+HSPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landroid/content/res/Configuration;Z)V
+PLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V
+PLcom/android/server/wm/ConfigurationContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/ConfigurationContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
HSPLcom/android/server/wm/ConfigurationContainer;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->setActivityType(I)V
-HSPLcom/android/server/wm/ConfigurationContainer;->setBounds(IIII)I
-HSPLcom/android/server/wm/ConfigurationContainer;->setBounds(Landroid/graphics/Rect;)I
-HSPLcom/android/server/wm/ConfigurationContainer;->unregisterConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
-HSPLcom/android/server/wm/ConfigurationContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/Dimmer$AlphaAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
-HSPLcom/android/server/wm/Dimmer$AlphaAnimationSpec;->getDuration()J
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->getAnimationLeashParent()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->getParentSurfaceControl()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->getSurfaceControl()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->getSurfaceHeight()I
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->getSurfaceWidth()I
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/Dimmer$DimAnimatable;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/Dimmer$DimState;-><init>(Lcom/android/server/wm/Dimmer;Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/Dimmer$DimState;->lambda$new$0$Dimmer$DimState(Lcom/android/server/wm/Dimmer$DimAnimatable;)V
-HSPLcom/android/server/wm/Dimmer;->dim(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;IF)V
-HSPLcom/android/server/wm/Dimmer;->dimBelow(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;F)V
-PLcom/android/server/wm/Dimmer;->dontAnimateExit()V
-HSPLcom/android/server/wm/Dimmer;->getDimState(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/Dimmer$DimState;
-HSPLcom/android/server/wm/Dimmer;->makeDimLayer()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/Dimmer;->resetDimStates()V
-HSPLcom/android/server/wm/Dimmer;->updateDims(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;->fillsParent()Z
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->addChild(Lcom/android/server/wm/WindowToken;)V
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getDimmer()Lcom/android/server/wm/Dimmer;
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getName()Ljava/lang/String;
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getOrientation()I
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$0$DisplayContent$NonAppWindowContainers(Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowToken;)I
-HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->prepareSurfaces()V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->addStackReferenceIfNeeded(Lcom/android/server/wm/TaskStack;)V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignStackOrdering(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->findPositionForStack(ILcom/android/server/wm/TaskStack;Z)I
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllExitingAppTokenWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/ConfigurationContainer;->setActivityType(I)V
+PLcom/android/server/wm/ConfigurationContainer;->setBounds(IIII)I
+PLcom/android/server/wm/ConfigurationContainer;->setBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/ConfigurationContainer;->setDisplayWindowingMode(I)V
+PLcom/android/server/wm/ConfigurationContainer;->setWindowingMode(I)V
+PLcom/android/server/wm/ConfigurationContainer;->supportsSplitScreenWindowingMode()Z
+PLcom/android/server/wm/ConfigurationContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
+PLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Dimmer$SurfaceAnimatorStarter;)V
+PLcom/android/server/wm/Dimmer;->resetDimStates()V
+HPLcom/android/server/wm/Dimmer;->updateDims(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>()V
+PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>(Lcom/android/server/wm/DisplayContent$1;)V
+PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;->reset()V
+PLcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;->fillsParent()Z
+PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->addChild(Lcom/android/server/wm/WindowToken;)V
+HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getDimmer()Lcom/android/server/wm/Dimmer;
+PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getName()Ljava/lang/String;
+PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getOrientation()I
+PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$0$DisplayContent$NonAppWindowContainers(Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowToken;)I
+PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$1(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->prepareSurfaces()V
+PLcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult;-><init>()V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->addChild(Lcom/android/server/wm/ActivityStack;I)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->addStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignStackOrdering(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->findPositionForStack(ILcom/android/server/wm/ActivityStack;Z)I
+HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllExitingAppTokenWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getAppAnimationLayer(I)Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getHomeStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getOrientation()I
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getStack(II)Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getTopStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->onParentChanged()V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/TaskStack;Z)V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getHomeStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getOrientation()I
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getPinnedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getSplitScreenDividerAnchor()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getSplitScreenPrimaryStack()Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getStack(II)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getTopStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->lambda$onParentChanged$1$DisplayContent$TaskStackContainers()V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeExistingAppTokensIfPossible()V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeStackReferenceIfNeeded(Lcom/android/server/wm/TaskStack;)V
-HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->setExitingTokensHasVisible(Z)V
-HSPLcom/android/server/wm/DisplayContent;-><init>(Landroid/view/Display;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/ActivityDisplay;)V
-HSPLcom/android/server/wm/DisplayContent;->addWindowToken(Landroid/os/IBinder;Lcom/android/server/wm/WindowToken;)V
-HSPLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;IIII)V
-HSPLcom/android/server/wm/DisplayContent;->adjustForImeIfNeeded()V
-HSPLcom/android/server/wm/DisplayContent;->amendWindowTapExcludeRegion(Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/DisplayContent;->applyRotationLocked(II)V
-HSPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction(Z)V
-HSPLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/DisplayContent;->assignStackOrdering()V
-HSPLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V
-HSPLcom/android/server/wm/DisplayContent;->calculateBounds(Landroid/view/DisplayInfo;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Lcom/android/server/wm/utils/WmDisplayCutout;
-HSPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationUncached(Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeExistingAppTokensIfPossible()V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/DisplayContent$TaskStackContainers;->setExitingTokensHasVisible(Z)V
+PLcom/android/server/wm/DisplayContent;-><init>(Landroid/view/Display;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayContent;->access$100(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$TaskStackContainers;
+PLcom/android/server/wm/DisplayContent;->access$200(Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayContent;->access$300(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayContent;->access$400(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayContent;->access$500(Lcom/android/server/wm/DisplayContent;)Ljava/util/ArrayList;
+PLcom/android/server/wm/DisplayContent;->access$600(Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayContent;->access$602(Lcom/android/server/wm/DisplayContent;I)I
+PLcom/android/server/wm/DisplayContent;->access$702(Lcom/android/server/wm/DisplayContent;I)I
+PLcom/android/server/wm/DisplayContent;->addToGlobalAndConsumeLimit(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Rect;ILcom/android/server/wm/WindowState;I)I
+PLcom/android/server/wm/DisplayContent;->addWindowToken(Landroid/os/IBinder;Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;IIII)V
+PLcom/android/server/wm/DisplayContent;->adjustForImeIfNeeded()V
+PLcom/android/server/wm/DisplayContent;->amendWindowTapExcludeRegion(Landroid/graphics/Region;)V
+PLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction(Z)V
+PLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V
+PLcom/android/server/wm/DisplayContent;->calculateBounds(Landroid/view/DisplayInfo;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationUncached(Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/DisplayContent;->calculateSystemGestureExclusion(Landroid/graphics/Region;Landroid/graphics/Region;)Z
PLcom/android/server/wm/DisplayContent;->canAddToastWindowForUid(I)Z
-HSPLcom/android/server/wm/DisplayContent;->checkCompleteDeferredRemoval()Z
-HSPLcom/android/server/wm/DisplayContent;->checkWaitingForWindows()Z
-HSPLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZIIILandroid/view/DisplayCutout;)I
-PLcom/android/server/wm/DisplayContent;->computeImeParent()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/DisplayContent;->computeImeTarget(Z)Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/DisplayContent;->computeImeTargetIfNeeded(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/DisplayContent;->computeSizeRangesAndScreenLayout(Landroid/view/DisplayInfo;ZIIIFLandroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V
+PLcom/android/server/wm/DisplayContent;->checkCompleteDeferredRemoval()Z
+PLcom/android/server/wm/DisplayContent;->clearLayoutNeeded()V
+PLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayContent;->computeImeTarget(Z)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->computeImeTargetIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->computeSizeRangesAndScreenLayout(Landroid/view/DisplayInfo;ZIIIFLandroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V
PLcom/android/server/wm/DisplayContent;->continueUpdateImeTarget()V
-PLcom/android/server/wm/DisplayContent;->convertCropForSurfaceFlinger(Landroid/graphics/Rect;III)V
PLcom/android/server/wm/DisplayContent;->deferUpdateImeTarget()V
-PLcom/android/server/wm/DisplayContent;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-PLcom/android/server/wm/DisplayContent;->dumpTokens(Ljava/io/PrintWriter;Z)V
-PLcom/android/server/wm/DisplayContent;->dumpWindowAnimators(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/DisplayContent;->executeAppTransition()V
-HSPLcom/android/server/wm/DisplayContent;->findFocusedWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/DisplayContent;->findFocusedWindowIfNeeded()Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/DisplayContent;->findTaskForResizePoint(II)Lcom/android/server/wm/Task;
-PLcom/android/server/wm/DisplayContent;->forAllImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HSPLcom/android/server/wm/DisplayContent;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HSPLcom/android/server/wm/DisplayContent;->getAppWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/DisplayContent;->getBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display;
-HSPLcom/android/server/wm/DisplayContent;->getDisplayId()I
-HSPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
-HSPLcom/android/server/wm/DisplayContent;->getDisplayMetrics()Landroid/util/DisplayMetrics;
-HSPLcom/android/server/wm/DisplayContent;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
-HSPLcom/android/server/wm/DisplayContent;->getDisplayRotation()Lcom/android/server/wm/DisplayRotation;
-HSPLcom/android/server/wm/DisplayContent;->getDockedDividerController()Lcom/android/server/wm/DockedStackDividerController;
-HSPLcom/android/server/wm/DisplayContent;->getHomeStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
-HSPLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController;
-HSPLcom/android/server/wm/DisplayContent;->getLastHasContent()Z
-PLcom/android/server/wm/DisplayContent;->getLastOrientation()I
-PLcom/android/server/wm/DisplayContent;->getLastWindowForcedOrientation()I
-HSPLcom/android/server/wm/DisplayContent;->getMetricsLogger()Lcom/android/internal/logging/MetricsLogger;
-HSPLcom/android/server/wm/DisplayContent;->getNaturalOrientation()I
-HSPLcom/android/server/wm/DisplayContent;->getNeedsMenu(Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HSPLcom/android/server/wm/DisplayContent;->getOrientation()I
-HSPLcom/android/server/wm/DisplayContent;->getPinnedStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent;->getPinnedStackController()Lcom/android/server/wm/PinnedStackController;
-HSPLcom/android/server/wm/DisplayContent;->getRotation()I
-HSPLcom/android/server/wm/DisplayContent;->getSession()Landroid/view/SurfaceSession;
-HSPLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStackIgnoringVisibility()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent;->getStack(II)Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent;->getStacks()Lcom/android/server/wm/WindowList;
-HSPLcom/android/server/wm/DisplayContent;->getTopStack()Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/DisplayContent;->getTopStackInWindowingMode(I)Lcom/android/server/wm/TaskStack;
-PLcom/android/server/wm/DisplayContent;->getTouchableWinAtPointLocked(FF)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->executeAppTransition()V
+PLcom/android/server/wm/DisplayContent;->findFocusedWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->findFocusedWindowIfNeeded(I)Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/DisplayContent;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/DisplayContent;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display;
+PLcom/android/server/wm/DisplayContent;->getDisplayId()I
+PLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
+PLcom/android/server/wm/DisplayContent;->getDisplayMetrics()Landroid/util/DisplayMetrics;
+PLcom/android/server/wm/DisplayContent;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
+PLcom/android/server/wm/DisplayContent;->getDisplayRotation()Lcom/android/server/wm/DisplayRotation;
+PLcom/android/server/wm/DisplayContent;->getDockedDividerController()Lcom/android/server/wm/DockedStackDividerController;
+PLcom/android/server/wm/DisplayContent;->getHomeStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
+PLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
+PLcom/android/server/wm/DisplayContent;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
+PLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController;
+PLcom/android/server/wm/DisplayContent;->getLastHasContent()Z
+PLcom/android/server/wm/DisplayContent;->getMetricsLogger()Lcom/android/internal/logging/MetricsLogger;
+PLcom/android/server/wm/DisplayContent;->getOrientation()I
+PLcom/android/server/wm/DisplayContent;->getParentWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->getPinnedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->getPinnedStackController()Lcom/android/server/wm/PinnedStackController;
+PLcom/android/server/wm/DisplayContent;->getRotation()I
+PLcom/android/server/wm/DisplayContent;->getRotationAnimation()Lcom/android/server/wm/ScreenRotationAnimation;
+PLcom/android/server/wm/DisplayContent;->getSession()Landroid/view/SurfaceSession;
+PLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStackIgnoringVisibility()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/DisplayContent;->getStack(II)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/DisplayContent;->getStackAt(I)Lcom/android/server/wm/ActivityStack;
+HPLcom/android/server/wm/DisplayContent;->getStackCount()I
+PLcom/android/server/wm/DisplayContent;->getStacks()Lcom/android/server/wm/WindowList;
+PLcom/android/server/wm/DisplayContent;->getTopStack()Lcom/android/server/wm/ActivityStack;
PLcom/android/server/wm/DisplayContent;->getVisibleTasks()Ljava/util/ArrayList;
-HSPLcom/android/server/wm/DisplayContent;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
-HSPLcom/android/server/wm/DisplayContent;->handleAnimatingStoppedAndTransition()V
-HSPLcom/android/server/wm/DisplayContent;->handlesOrientationChangeFromDescendant()Z
-HSPLcom/android/server/wm/DisplayContent;->hasAccess(I)Z
-HSPLcom/android/server/wm/DisplayContent;->hasSecureWindowOnScreen()Z
+PLcom/android/server/wm/DisplayContent;->getWindowCornerRadius()F
+PLcom/android/server/wm/DisplayContent;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/DisplayContent;->handleAnimatingStoppedAndTransition()V
+PLcom/android/server/wm/DisplayContent;->handlesOrientationChangeFromDescendant()Z
+PLcom/android/server/wm/DisplayContent;->hasAccess(I)Z
+PLcom/android/server/wm/DisplayContent;->hasPinnedStack()Z
PLcom/android/server/wm/DisplayContent;->hasSplitScreenPrimaryStack()Z
-HSPLcom/android/server/wm/DisplayContent;->initializeDisplayBaseInfo()V
-HSPLcom/android/server/wm/DisplayContent;->isInputMethodClientFocus(II)Z
-HSPLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z
-HSPLcom/android/server/wm/DisplayContent;->isNextTransitionForward()Z
-HSPLcom/android/server/wm/DisplayContent;->isReady()Z
-HSPLcom/android/server/wm/DisplayContent;->isStackVisible(I)Z
-PLcom/android/server/wm/DisplayContent;->isVisible()Z
-HSPLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$10$DisplayContent(IIZLcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$11$DisplayContent(ZLcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$checkWaitingForWindows$20$DisplayContent(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$dumpWindowAnimators$18(Ljava/io/PrintWriter;Ljava/lang/String;[ILcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$getNeedsMenu$17$DisplayContent(Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$getTouchableWinAtPointLocked$13$DisplayContent(IILcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$0$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$1(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$2$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$3$DisplayContent(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$4$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$5$DisplayContent(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$new$6$DisplayContent(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$7$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$new$8$DisplayContent(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$onSeamlessRotationTimeout$25$DisplayContent(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$onWindowFreezeTimeout$23$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$updateSystemUiVisibility$22(IILcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->lambda$waitForAllWindowsDrawn$24$DisplayContent(Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->layoutAndAssignWindowLayersIfNeeded()V
-HSPLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/DisplayContent;->makeOverlay()Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/DisplayContent;->okToAnimate()Z
-HSPLcom/android/server/wm/DisplayContent;->okToDisplay()Z
-HSPLcom/android/server/wm/DisplayContent;->onAppTransitionDone()V
-HSPLcom/android/server/wm/DisplayContent;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/DisplayContent;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
-HSPLcom/android/server/wm/DisplayContent;->onDescendantOverrideConfigurationChanged()V
-HSPLcom/android/server/wm/DisplayContent;->onParentChanged()V
-PLcom/android/server/wm/DisplayContent;->onSeamlessRotationTimeout()V
-PLcom/android/server/wm/DisplayContent;->onStackWindowingModeChanged(Lcom/android/server/wm/TaskStack;)V
-PLcom/android/server/wm/DisplayContent;->onWindowFreezeTimeout()V
-PLcom/android/server/wm/DisplayContent;->pauseRotationLocked()V
-HSPLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V
-HSPLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;Z)V
-HSPLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
-HSPLcom/android/server/wm/DisplayContent;->positionStackAt(ILcom/android/server/wm/TaskStack;Z)V
-HSPLcom/android/server/wm/DisplayContent;->preOnConfigurationChanged()V
-HSPLcom/android/server/wm/DisplayContent;->prepareAppTransition(IZ)V
-HSPLcom/android/server/wm/DisplayContent;->prepareAppTransition(IZIZ)V
-HSPLcom/android/server/wm/DisplayContent;->prepareFreezingTaskBounds()V
-HSPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V
-HSPLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V
-HSPLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V
-HSPLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IIILandroid/util/DisplayMetrics;IILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/wm/DisplayContent;->reduceConfigLayout(IIFIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/wm/DisplayContent;->reevaluateStatusBarVisibility()V
-HSPLcom/android/server/wm/DisplayContent;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
-HSPLcom/android/server/wm/DisplayContent;->removeAppToken(Landroid/os/IBinder;)V
-PLcom/android/server/wm/DisplayContent;->removeChild(Lcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;)V
-PLcom/android/server/wm/DisplayContent;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/DisplayContent;->removeExistingTokensIfPossible()V
-PLcom/android/server/wm/DisplayContent;->removeIfPossible()V
-PLcom/android/server/wm/DisplayContent;->removeImmediately()V
-HSPLcom/android/server/wm/DisplayContent;->removeWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
-PLcom/android/server/wm/DisplayContent;->reparentToOverlay(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/DisplayContent;->resumeRotationLocked()V
-PLcom/android/server/wm/DisplayContent;->rotationNeedsUpdate()Z
-HSPLcom/android/server/wm/DisplayContent;->scheduleToastWindowsTimeoutIfNeededLocked(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->screenshotDisplayLocked(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
-HSPLcom/android/server/wm/DisplayContent;->sendNewConfiguration()V
-HSPLcom/android/server/wm/DisplayContent;->setExitingTokensHasVisible(Z)V
-HSPLcom/android/server/wm/DisplayContent;->setFocusedApp(Lcom/android/server/wm/AppWindowToken;)Z
-PLcom/android/server/wm/DisplayContent;->setInputMethodWindowLocked(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayContent;->setInsetProvider(ILcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
-HSPLcom/android/server/wm/DisplayContent;->setLayoutNeeded()V
-HSPLcom/android/server/wm/DisplayContent;->setStackOnDisplay(IZLcom/android/server/wm/TaskStack;)V
-HSPLcom/android/server/wm/DisplayContent;->setWindowingMode(I)V
-PLcom/android/server/wm/DisplayContent;->startKeyguardExitOnNonAppWindows(ZZ)V
-HSPLcom/android/server/wm/DisplayContent;->statusBarVisibilityChanged(I)V
-HSPLcom/android/server/wm/DisplayContent;->supportsSystemDecorations()Z
-PLcom/android/server/wm/DisplayContent;->taskForTapOutside(II)I
-HSPLcom/android/server/wm/DisplayContent;->updateBackgroundForAnimator()V
-HSPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetrics(III)V
-HSPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded()V
-HSPLcom/android/server/wm/DisplayContent;->updateBounds()V
-HSPLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(I)Landroid/view/DisplayInfo;
-HSPLcom/android/server/wm/DisplayContent;->updateDisplayInfo()V
-HSPLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZ)Z
-HSPLcom/android/server/wm/DisplayContent;->updateOrientationFromAppTokens()Z
-HSPLcom/android/server/wm/DisplayContent;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;Z)Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/DisplayContent;->updateRotationAndSendNewConfigIfNeeded()Z
-HSPLcom/android/server/wm/DisplayContent;->updateRotationUnchecked()Z
-HSPLcom/android/server/wm/DisplayContent;->updateRotationUnchecked(Z)Z
-HSPLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusion()Z
-HSPLcom/android/server/wm/DisplayContent;->updateSystemUiVisibility(II)V
-HSPLcom/android/server/wm/DisplayContent;->updateTouchExcludeRegion()V
-HSPLcom/android/server/wm/DisplayContent;->updateWindowsForAnimator()V
-HSPLcom/android/server/wm/DisplayContent;->waitForAllWindowsDrawn()V
-PLcom/android/server/wm/DisplayContent;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/DisplayFrames;-><init>(ILandroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
-PLcom/android/server/wm/DisplayFrames;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/wm/DisplayFrames;->getInputMethodWindowVisibleHeight()I
-HSPLcom/android/server/wm/DisplayFrames;->onBeginLayout()V
-HSPLcom/android/server/wm/DisplayFrames;->onDisplayInfoUpdated(Landroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
-PLcom/android/server/wm/DisplayFrames;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/DisplayPolicy$1;->onBarVisibilityChanged(Z)V
-PLcom/android/server/wm/DisplayPolicy$2;->onDebug()V
-HSPLcom/android/server/wm/DisplayPolicy$2;->onDown()V
+PLcom/android/server/wm/DisplayContent;->initializeDisplayBaseInfo()V
+PLcom/android/server/wm/DisplayContent;->isInputMethodClientFocus(II)Z
+PLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z
+PLcom/android/server/wm/DisplayContent;->isNextTransitionForward()Z
+PLcom/android/server/wm/DisplayContent;->isNonDecorDisplayCloseToSquare(III)Z
+PLcom/android/server/wm/DisplayContent;->isReady()Z
+PLcom/android/server/wm/DisplayContent;->isStackVisible(I)Z
+PLcom/android/server/wm/DisplayContent;->isUntrustedVirtualDisplay()Z
+PLcom/android/server/wm/DisplayContent;->lambda$calculateSystemGestureExclusion$24$DisplayContent(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region;[ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$canAddToastWindowForUid$13(ILcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$fiC19lMy-d_-rvza7hhOSw6bOM8(Lcom/android/server/wm/DisplayContent;Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/DisplayContent;->lambda$new$0$DisplayContent(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$new$1$DisplayContent(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$new$2$DisplayContent(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/DisplayContent;->lambda$new$3$DisplayContent(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$new$4$DisplayContent(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$new$6$DisplayContent(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/DisplayContent;->lambda$new$7$DisplayContent(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$shouldWaitForSystemDecorWindowsOnBoot$19$DisplayContent(Landroid/util/SparseBooleanArray;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$startKeyguardExitOnNonAppWindows$18(Lcom/android/server/policy/WindowManagerPolicy;ZZZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$updateSystemUiVisibility$21(IILcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->layoutAndAssignWindowLayersIfNeeded()V
+PLcom/android/server/wm/DisplayContent;->logsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/DisplayContent;->needsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;I)Z
+PLcom/android/server/wm/DisplayContent;->okToAnimate()Z
+PLcom/android/server/wm/DisplayContent;->okToDisplay()Z
+PLcom/android/server/wm/DisplayContent;->onAppTransitionDone()V
+PLcom/android/server/wm/DisplayContent;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayContent;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/DisplayContent;->onDescendantOverrideConfigurationChanged()V
+PLcom/android/server/wm/DisplayContent;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayContent;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V
+PLcom/android/server/wm/DisplayContent;->performLayoutNoTrace(ZZ)V
+PLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;Z)V
+PLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/DisplayContent;->positionStackAt(ILcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/DisplayContent;->preOnConfigurationChanged()V
+PLcom/android/server/wm/DisplayContent;->prepareAppTransition(IZ)V
+PLcom/android/server/wm/DisplayContent;->prepareAppTransition(IZIZ)V
+HPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V
+PLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V
+PLcom/android/server/wm/DisplayContent;->reconfigureDisplayLocked()V
+PLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IIILandroid/util/DisplayMetrics;IILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayContent;->reduceConfigLayout(IIFIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayContent;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+PLcom/android/server/wm/DisplayContent;->removeAppToken(Landroid/os/IBinder;)V
+PLcom/android/server/wm/DisplayContent;->removeExistingTokensIfPossible()V
+PLcom/android/server/wm/DisplayContent;->removeWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/DisplayContent;->scheduleToastWindowsTimeoutIfNeededLocked(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->sendNewConfiguration()V
+PLcom/android/server/wm/DisplayContent;->setExitingTokensHasVisible(Z)V
+PLcom/android/server/wm/DisplayContent;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/DisplayContent;->setInputMethodTarget(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/DisplayContent;->setInsetProvider(ILcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
+PLcom/android/server/wm/DisplayContent;->setLayoutNeeded()V
+PLcom/android/server/wm/DisplayContent;->setStackOnDisplay(Lcom/android/server/wm/ActivityStack;I)V
+PLcom/android/server/wm/DisplayContent;->setWindowingMode(I)V
+PLcom/android/server/wm/DisplayContent;->shouldWaitForSystemDecorWindowsOnBoot()Z
+PLcom/android/server/wm/DisplayContent;->skipTraverseChild(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/DisplayContent;->statusBarVisibilityChanged(I)V
+PLcom/android/server/wm/DisplayContent;->supportsSystemDecorations()Z
+PLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetrics(III)V
+PLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded()V
+PLcom/android/server/wm/DisplayContent;->updateBounds()V
+PLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(ILandroid/content/res/Configuration;)Landroid/view/DisplayInfo;
+PLcom/android/server/wm/DisplayContent;->updateDisplayInfo()V
+PLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZI)Z
+PLcom/android/server/wm/DisplayContent;->updateOrientation()Z
+PLcom/android/server/wm/DisplayContent;->updateOrientation(Landroid/content/res/Configuration;Landroid/os/IBinder;Z)Landroid/content/res/Configuration;
+PLcom/android/server/wm/DisplayContent;->updateRotationUnchecked()Z
+PLcom/android/server/wm/DisplayContent;->updateStatusBarVisibilityLocked(I)Z
+PLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusion()Z
+PLcom/android/server/wm/DisplayContent;->updateSystemGestureExclusionLimit()V
+PLcom/android/server/wm/DisplayContent;->updateSystemUiVisibility(II)V
+PLcom/android/server/wm/DisplayContent;->updateTouchExcludeRegion()V
+PLcom/android/server/wm/DisplayContent;->updateWindowsForAnimator()V
+PLcom/android/server/wm/DisplayFrames;-><init>(ILandroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
+PLcom/android/server/wm/DisplayFrames;->getInputMethodWindowVisibleHeight()I
+PLcom/android/server/wm/DisplayFrames;->onBeginLayout()V
+PLcom/android/server/wm/DisplayFrames;->onDisplayInfoUpdated(Landroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
+PLcom/android/server/wm/DisplayPolicy$1;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$1;->onBarVisibilityChanged(Z)V
+PLcom/android/server/wm/DisplayPolicy$2;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$2;->getOrientationListener()Lcom/android/server/policy/WindowOrientationListener;
+PLcom/android/server/wm/DisplayPolicy$2;->onDown()V
PLcom/android/server/wm/DisplayPolicy$2;->onFling(I)V
-HSPLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromBottom()V
PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromLeft()V
-PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromRight()V
-PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromTop()V
PLcom/android/server/wm/DisplayPolicy$2;->onUpOrCancel()V
-HSPLcom/android/server/wm/DisplayPolicy$PolicyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/DisplayPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/DisplayPolicy;->adjustSystemUiVisibilityLw(I)I
-HSPLcom/android/server/wm/DisplayPolicy;->adjustWindowParamsLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Z)V
-HSPLcom/android/server/wm/DisplayPolicy;->allowAppAnimationsLw()Z
-HSPLcom/android/server/wm/DisplayPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayPolicy;->applyStableConstraints(IILandroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
-HSPLcom/android/server/wm/DisplayPolicy;->areSystemBarsForcedShownLw(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/DisplayPolicy;->beginLayoutLw(Lcom/android/server/wm/DisplayFrames;I)V
-HSPLcom/android/server/wm/DisplayPolicy;->beginPostLayoutPolicyLw()V
-HSPLcom/android/server/wm/DisplayPolicy;->canReceiveInput(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/DisplayPolicy;->chooseNavigationColorWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;I)Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/DisplayPolicy;->clearClearableFlagsLw()V
-HSPLcom/android/server/wm/DisplayPolicy;->configure(III)V
-HSPLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZZ)I
-HSPLcom/android/server/wm/DisplayPolicy;->drawsStatusBarBackground(ILcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayPolicy;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/wm/DisplayPolicy;->finishKeyguardDrawn()Z
-HSPLcom/android/server/wm/DisplayPolicy;->finishPostLayoutPolicyLw()I
-HSPLcom/android/server/wm/DisplayPolicy;->finishScreenTurningOn()Z
-HSPLcom/android/server/wm/DisplayPolicy;->finishWindowsDrawn()Z
-HSPLcom/android/server/wm/DisplayPolicy;->focusChangedLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-HSPLcom/android/server/wm/DisplayPolicy;->getConfigDisplayHeight(IIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/wm/DisplayPolicy;->getConfigDisplayWidth(IIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/wm/DisplayPolicy;->getDockMode()I
-HSPLcom/android/server/wm/DisplayPolicy;->getImpliedSysUiFlagsForLayout(Landroid/view/WindowManager$LayoutParams;)I
-HSPLcom/android/server/wm/DisplayPolicy;->getLayoutHintLw(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;)Z
-HSPLcom/android/server/wm/DisplayPolicy;->getLidState()I
-HSPLcom/android/server/wm/DisplayPolicy;->getNavBarPosition()I
-HSPLcom/android/server/wm/DisplayPolicy;->getNonDecorDisplayHeight(IIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/wm/DisplayPolicy;->getNonDecorDisplayWidth(IIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/wm/DisplayPolicy;->getNonDecorInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DisplayPolicy;->getScreenOnListener()Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;
-HSPLcom/android/server/wm/DisplayPolicy;->getStableInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
-HSPLcom/android/server/wm/DisplayPolicy;->getSystemUiContext()Landroid/content/Context;
-HSPLcom/android/server/wm/DisplayPolicy;->hasNavigationBar()Z
-HSPLcom/android/server/wm/DisplayPolicy;->hasStatusBar()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isAwake()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isCarDockEnablesAccelerometer()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isDeskDockEnablesAccelerometer()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isHdmiPlugged()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(I)Z
-HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardDrawComplete()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isKeyguardOccluded()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isPersistentVrModeEnabled()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z
+PLcom/android/server/wm/DisplayPolicy$3;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$4;-><init>(Lcom/android/server/wm/DisplayPolicy;)V
+PLcom/android/server/wm/DisplayPolicy$PolicyHandler;-><init>(Lcom/android/server/wm/DisplayPolicy;Landroid/os/Looper;)V
+PLcom/android/server/wm/DisplayPolicy;-><clinit>()V
+PLcom/android/server/wm/DisplayPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayPolicy;->access$000(Lcom/android/server/wm/DisplayPolicy;)Landroid/view/accessibility/AccessibilityManager;
+PLcom/android/server/wm/DisplayPolicy;->access$1000(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/DisplayPolicy;->access$1300(Lcom/android/server/wm/DisplayPolicy;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/DisplayPolicy;->addWindowLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
+PLcom/android/server/wm/DisplayPolicy;->adjustSystemUiVisibilityLw(I)I
+PLcom/android/server/wm/DisplayPolicy;->adjustWindowParamsLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;II)V
+PLcom/android/server/wm/DisplayPolicy;->allowAppAnimationsLw()Z
+HPLcom/android/server/wm/DisplayPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->applyStableConstraints(IILandroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->areSystemBarsForcedShownLw(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->beginLayoutLw(Lcom/android/server/wm/DisplayFrames;I)V
+PLcom/android/server/wm/DisplayPolicy;->beginPostLayoutPolicyLw()V
+PLcom/android/server/wm/DisplayPolicy;->canHideNavigationBar()Z
+PLcom/android/server/wm/DisplayPolicy;->canReceiveInput(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->chooseNavigationColorWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;I)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->clearClearableFlagsLw()V
+PLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZZZZ)I
+PLcom/android/server/wm/DisplayPolicy;->convertNonDecorInsetsToStableInsets(Landroid/graphics/Rect;I)V
+PLcom/android/server/wm/DisplayPolicy;->drawsBarBackground(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/BarController;I)Z
+PLcom/android/server/wm/DisplayPolicy;->drawsNavigationBarBackground(ILcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->drawsStatusBarBackground(ILcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->finishKeyguardDrawn()Z
+PLcom/android/server/wm/DisplayPolicy;->finishPostLayoutPolicyLw()I
+PLcom/android/server/wm/DisplayPolicy;->finishScreenTurningOn()Z
+PLcom/android/server/wm/DisplayPolicy;->finishWindowsDrawn()Z
+PLcom/android/server/wm/DisplayPolicy;->focusChangedLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/DisplayPolicy;->getConfigDisplayHeight(IIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayPolicy;->getConfigDisplayWidth(IIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayPolicy;->getCurrentUserResources()Landroid/content/res/Resources;
+PLcom/android/server/wm/DisplayPolicy;->getDisplayId()I
+PLcom/android/server/wm/DisplayPolicy;->getDockMode()I
+PLcom/android/server/wm/DisplayPolicy;->getImpliedSysUiFlagsForLayout(Landroid/view/WindowManager$LayoutParams;)I
+PLcom/android/server/wm/DisplayPolicy;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
+PLcom/android/server/wm/DisplayPolicy;->getLayoutHintLw(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;)Z
+PLcom/android/server/wm/DisplayPolicy;->getLidState()I
+PLcom/android/server/wm/DisplayPolicy;->getNavigationBarFrameHeight(II)I
+PLcom/android/server/wm/DisplayPolicy;->getNavigationBarHeight(II)I
+PLcom/android/server/wm/DisplayPolicy;->getNavigationBarWidth(II)I
+PLcom/android/server/wm/DisplayPolicy;->getNonDecorDisplayHeight(IIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayPolicy;->getNonDecorDisplayWidth(IIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/wm/DisplayPolicy;->getNonDecorInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->getRefreshRatePolicy()Lcom/android/server/wm/RefreshRatePolicy;
+PLcom/android/server/wm/DisplayPolicy;->getScreenOnListener()Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;
+PLcom/android/server/wm/DisplayPolicy;->getStableInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->getStatusBar()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->getStatusBarHeight(Lcom/android/server/wm/DisplayFrames;)I
+PLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+PLcom/android/server/wm/DisplayPolicy;->getSystemUiContext()Landroid/content/Context;
+PLcom/android/server/wm/DisplayPolicy;->getTopFullscreenOpaqueWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayPolicy;->getTransientState(II)Landroid/util/Pair;
+PLcom/android/server/wm/DisplayPolicy;->getWindowCornerRadius()F
+PLcom/android/server/wm/DisplayPolicy;->hasNavigationBar()Z
+PLcom/android/server/wm/DisplayPolicy;->hasStatusBar()Z
+PLcom/android/server/wm/DisplayPolicy;->isAwake()Z
+PLcom/android/server/wm/DisplayPolicy;->isCarDockEnablesAccelerometer()Z
+PLcom/android/server/wm/DisplayPolicy;->isDeskDockEnablesAccelerometer()Z
+PLcom/android/server/wm/DisplayPolicy;->isHdmiPlugged()Z
+PLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(I)Z
+PLcom/android/server/wm/DisplayPolicy;->isKeyguardDrawComplete()Z
+PLcom/android/server/wm/DisplayPolicy;->isKeyguardOccluded()Z
+PLcom/android/server/wm/DisplayPolicy;->isNavBarEmpty(I)Z
+PLcom/android/server/wm/DisplayPolicy;->isPersistentVrModeEnabled()Z
+PLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z
PLcom/android/server/wm/DisplayPolicy;->isScreenOnFully()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isShowingDreamLw()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isStatusBarKeyguard()Z
-HSPLcom/android/server/wm/DisplayPolicy;->isWindowManagerDrawComplete()Z
-PLcom/android/server/wm/DisplayPolicy;->lambda$beginLayoutLw$3$DisplayPolicy(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
-PLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$4$DisplayPolicy()V
-HSPLcom/android/server/wm/DisplayPolicy;->lambda$prepareAddWindowLw$2$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$5$DisplayPolicy(IIILandroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/WindowState;Z)V
-HSPLcom/android/server/wm/DisplayPolicy;->layoutNavigationBar(Lcom/android/server/wm/DisplayFrames;IZZZZ)Z
-HSPLcom/android/server/wm/DisplayPolicy;->layoutScreenDecorWindows(Lcom/android/server/wm/DisplayFrames;)V
-HSPLcom/android/server/wm/DisplayPolicy;->layoutStatusBar(Lcom/android/server/wm/DisplayFrames;IZ)Z
-HSPLcom/android/server/wm/DisplayPolicy;->layoutWallpaper(Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DisplayPolicy;->layoutWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V
-HSPLcom/android/server/wm/DisplayPolicy;->navigationBarCanMove()Z
-HSPLcom/android/server/wm/DisplayPolicy;->navigationBarPosition(III)I
-PLcom/android/server/wm/DisplayPolicy;->notifyDisplayReady()V
-PLcom/android/server/wm/DisplayPolicy;->offsetInputMethodWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V
-HSPLcom/android/server/wm/DisplayPolicy;->onConfigurationChanged()V
+PLcom/android/server/wm/DisplayPolicy;->isShowingDreamLw()Z
+PLcom/android/server/wm/DisplayPolicy;->isStatusBarKeyguard()Z
+PLcom/android/server/wm/DisplayPolicy;->isWindowExcludedFromContent(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->isWindowManagerDrawComplete()Z
+PLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$3$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$4$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$5$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$6$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$7$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->lambda$canToastShowWhenLocked$2(ILcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$10$DisplayPolicy(ILjava/lang/String;Landroid/util/Pair;I[Lcom/android/internal/view/AppearanceRegion;ZZZ)V
+PLcom/android/server/wm/DisplayPolicy;->layoutNavigationBar(Lcom/android/server/wm/DisplayFrames;IZZZZ)Z
+PLcom/android/server/wm/DisplayPolicy;->layoutScreenDecorWindows(Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->layoutStatusBar(Lcom/android/server/wm/DisplayFrames;IZ)Z
+HPLcom/android/server/wm/DisplayPolicy;->layoutWallpaper(Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DisplayPolicy;->layoutWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->navigationBarCanMove()Z
+PLcom/android/server/wm/DisplayPolicy;->navigationBarPosition(III)I
+PLcom/android/server/wm/DisplayPolicy;->onConfigurationChanged()V
PLcom/android/server/wm/DisplayPolicy;->onPowerKeyDown(Z)V
-HSPLcom/android/server/wm/DisplayPolicy;->validateAddingWindowLw(Landroid/view/WindowManager$LayoutParams;)I
-HSPLcom/android/server/wm/DisplayPolicy;->removeWindowLw(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayPolicy;->requestTransientBars(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/DisplayPolicy;->resetSystemUiVisibilityLw()V
+PLcom/android/server/wm/DisplayPolicy;->removeWindowLw(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->requestTransientBars(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->resetSystemUiVisibilityLw()V
PLcom/android/server/wm/DisplayPolicy;->screenTurnedOff()V
-HSPLcom/android/server/wm/DisplayPolicy;->screenTurnedOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
-HSPLcom/android/server/wm/DisplayPolicy;->selectAnimationLw(Lcom/android/server/wm/WindowState;I)I
-HSPLcom/android/server/wm/DisplayPolicy;->selectRotationAnimationLw([I)V
-PLcom/android/server/wm/DisplayPolicy;->setAttachedWindowFrames(Lcom/android/server/wm/WindowState;IILcom/android/server/wm/WindowState;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
-HSPLcom/android/server/wm/DisplayPolicy;->setAwake(Z)V
-HSPLcom/android/server/wm/DisplayPolicy;->setHdmiPlugged(ZZ)V
-HSPLcom/android/server/wm/DisplayPolicy;->setLidState(I)V
-HSPLcom/android/server/wm/DisplayPolicy;->shouldRotateSeamlessly(Lcom/android/server/wm/DisplayRotation;II)Z
-HSPLcom/android/server/wm/DisplayPolicy;->shouldUseOutsets(Landroid/view/WindowManager$LayoutParams;I)Z
-HSPLcom/android/server/wm/DisplayPolicy;->systemReady()V
-PLcom/android/server/wm/DisplayPolicy;->takeScreenshot(I)V
-HSPLcom/android/server/wm/DisplayPolicy;->updateConfigurationDependentBehaviors()V
-HSPLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-HSPLcom/android/server/wm/DisplayPolicy;->updateLightStatusBarLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-HSPLcom/android/server/wm/DisplayPolicy;->updateSystemBarsLw(Lcom/android/server/wm/WindowState;II)I
-HSPLcom/android/server/wm/DisplayPolicy;->updateSystemUiVisibilityLw()I
-HSPLcom/android/server/wm/DisplayPolicy;->updateWindowSleepToken()V
-HSPLcom/android/server/wm/DisplayPolicy;->validateRotationAnimationLw(IIZ)Z
-HSPLcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;->run()V
-HSPLcom/android/server/wm/DisplayRotation$OrientationListener;->disable()V
-HSPLcom/android/server/wm/DisplayRotation$OrientationListener;->enable(Z)V
-HSPLcom/android/server/wm/DisplayRotation$OrientationListener;->onProposedRotationChanged(I)V
-HSPLcom/android/server/wm/DisplayRotation$SettingsObserver;->observe()V
-HSPLcom/android/server/wm/DisplayRotation$SettingsObserver;->onChange(Z)V
-HSPLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayWindowSettings;Landroid/content/Context;Ljava/lang/Object;)V
-HSPLcom/android/server/wm/DisplayRotation;->configure(IIII)V
-PLcom/android/server/wm/DisplayRotation;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/wm/DisplayRotation;->freezeRotation(I)V
-PLcom/android/server/wm/DisplayRotation;->getCurrentAppOrientation()I
-HSPLcom/android/server/wm/DisplayRotation;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
-HSPLcom/android/server/wm/DisplayRotation;->getLandscapeRotation()I
-HSPLcom/android/server/wm/DisplayRotation;->getOrientationListener()Lcom/android/server/policy/WindowOrientationListener;
-HSPLcom/android/server/wm/DisplayRotation;->getPortraitRotation()I
-HSPLcom/android/server/wm/DisplayRotation;->getSeascapeRotation()I
-HSPLcom/android/server/wm/DisplayRotation;->getUpsideDownRotation()I
-PLcom/android/server/wm/DisplayRotation;->getUserRotation()I
-PLcom/android/server/wm/DisplayRotation;->getUserRotationMode()I
-HSPLcom/android/server/wm/DisplayRotation;->isFixedToUserRotation()Z
-HSPLcom/android/server/wm/DisplayRotation;->isNonDecorDisplayCloseToSquare(III)Z
-HSPLcom/android/server/wm/DisplayRotation;->isRotationChoicePossible(I)Z
-HSPLcom/android/server/wm/DisplayRotation;->isValidRotationChoice(I)Z
-HSPLcom/android/server/wm/DisplayRotation;->needSensorRunning()Z
-HSPLcom/android/server/wm/DisplayRotation;->onUserSwitch()V
-HSPLcom/android/server/wm/DisplayRotation;->readRotation(I)I
-HSPLcom/android/server/wm/DisplayRotation;->respectAppRequestedOrientation()Z
-HSPLcom/android/server/wm/DisplayRotation;->restoreSettings(III)V
-HSPLcom/android/server/wm/DisplayRotation;->rotationForOrientation(II)I
-HSPLcom/android/server/wm/DisplayRotation;->setCurrentOrientation(I)V
-HSPLcom/android/server/wm/DisplayRotation;->setRotation(I)V
-HSPLcom/android/server/wm/DisplayRotation;->setUserRotation(II)V
-HSPLcom/android/server/wm/DisplayRotation;->updateOrientationListener()V
-HSPLcom/android/server/wm/DisplayRotation;->updateOrientationListenerLw()V
-HSPLcom/android/server/wm/DisplayRotation;->updateSettings()Z
-HSPLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/io/File;)V
-HSPLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayContent;)I
-HSPLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayWindowSettings$Entry;I)I
-HSPLcom/android/server/wm/DisplayWindowSettings;->readSettings()V
-HSPLcom/android/server/wm/DisplayWindowSettings;->shouldShowSystemDecorsLocked(Lcom/android/server/wm/DisplayContent;)Z
-HSPLcom/android/server/wm/DisplayWindowSettings;->updateSettingsForDisplay(Lcom/android/server/wm/DisplayContent;)Z
-HSPLcom/android/server/wm/DockedStackDividerController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/DockedStackDividerController;->animate(J)Z
-HSPLcom/android/server/wm/DockedStackDividerController;->checkMinimizeChanged(Z)V
-PLcom/android/server/wm/DockedStackDividerController;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/wm/DockedStackDividerController;->getContentWidth()I
+PLcom/android/server/wm/DisplayPolicy;->screenTurnedOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
+PLcom/android/server/wm/DisplayPolicy;->selectAnimation(Lcom/android/server/wm/WindowState;I)I
+PLcom/android/server/wm/DisplayPolicy;->setAwake(Z)V
+PLcom/android/server/wm/DisplayPolicy;->setHdmiPlugged(ZZ)V
+PLcom/android/server/wm/DisplayPolicy;->setLidState(I)V
+PLcom/android/server/wm/DisplayPolicy;->setNavBarTransparentFlag(I)I
+PLcom/android/server/wm/DisplayPolicy;->systemReady()V
+PLcom/android/server/wm/DisplayPolicy;->topAppHidesStatusBar()Z
+PLcom/android/server/wm/DisplayPolicy;->updateConfigurationAndScreenSizeDependentBehaviors()V
+PLcom/android/server/wm/DisplayPolicy;->updateCurrentUserResources()V
+PLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/DisplayPolicy;->updateLightStatusBarAppearanceLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+HPLcom/android/server/wm/DisplayPolicy;->updateSystemBarsLw(Lcom/android/server/wm/WindowState;II)Landroid/util/Pair;
+PLcom/android/server/wm/DisplayPolicy;->updateSystemUiVisibilityLw()I
+PLcom/android/server/wm/DisplayPolicy;->updateTransientState(IIIILandroid/util/IntArray;Landroid/util/IntArray;)V
+PLcom/android/server/wm/DisplayPolicy;->updateWindowSleepToken()V
+PLcom/android/server/wm/DisplayPolicy;->validateAddingWindowLw(Landroid/view/WindowManager$LayoutParams;)I
+PLcom/android/server/wm/DisplayRotation$1;-><init>(Lcom/android/server/wm/DisplayRotation;)V
+PLcom/android/server/wm/DisplayRotation$2;-><init>(Lcom/android/server/wm/DisplayRotation;)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;-><init>(Lcom/android/server/wm/DisplayRotation$OrientationListener;I)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;->run()V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->disable()V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->enable(Z)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->onProposedRotationChanged(I)V
+PLcom/android/server/wm/DisplayRotation$RotationAnimationPair;-><init>()V
+PLcom/android/server/wm/DisplayRotation$RotationAnimationPair;-><init>(Lcom/android/server/wm/DisplayRotation$1;)V
+PLcom/android/server/wm/DisplayRotation$SettingsObserver;-><init>(Lcom/android/server/wm/DisplayRotation;Landroid/os/Handler;)V
+PLcom/android/server/wm/DisplayRotation$SettingsObserver;->observe()V
+PLcom/android/server/wm/DisplayRotation$SettingsObserver;->onChange(Z)V
+PLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayWindowSettings;Landroid/content/Context;Ljava/lang/Object;)V
+PLcom/android/server/wm/DisplayRotation;->access$300(Lcom/android/server/wm/DisplayRotation;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/DisplayRotation;->access$400(Lcom/android/server/wm/DisplayRotation;)I
+PLcom/android/server/wm/DisplayRotation;->access$500(Lcom/android/server/wm/DisplayRotation;I)Z
+PLcom/android/server/wm/DisplayRotation;->access$800(Lcom/android/server/wm/DisplayRotation;)Landroid/content/Context;
+PLcom/android/server/wm/DisplayRotation;->access$900(Lcom/android/server/wm/DisplayRotation;)Z
+PLcom/android/server/wm/DisplayRotation;->configure(IIII)V
+PLcom/android/server/wm/DisplayRotation;->freezeRotation(I)V
+PLcom/android/server/wm/DisplayRotation;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
+PLcom/android/server/wm/DisplayRotation;->getLandscapeRotation()I
+PLcom/android/server/wm/DisplayRotation;->getOrientationListener()Lcom/android/server/policy/WindowOrientationListener;
+PLcom/android/server/wm/DisplayRotation;->getPortraitRotation()I
+PLcom/android/server/wm/DisplayRotation;->getRotation()I
+PLcom/android/server/wm/DisplayRotation;->getSeascapeRotation()I
+PLcom/android/server/wm/DisplayRotation;->getUpsideDownRotation()I
+PLcom/android/server/wm/DisplayRotation;->isFixedToUserRotation()Z
+PLcom/android/server/wm/DisplayRotation;->isRotatingSeamlessly()Z
+PLcom/android/server/wm/DisplayRotation;->isRotationChoicePossible(I)Z
+PLcom/android/server/wm/DisplayRotation;->isWaitingForRemoteRotation()Z
+PLcom/android/server/wm/DisplayRotation;->markForSeamlessRotation(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/DisplayRotation;->needSensorRunning()Z
+PLcom/android/server/wm/DisplayRotation;->onUserSwitch()V
+PLcom/android/server/wm/DisplayRotation;->prepareNormalRotationAnimation()V
+PLcom/android/server/wm/DisplayRotation;->readRotation(I)I
+PLcom/android/server/wm/DisplayRotation;->respectAppRequestedOrientation()Z
+PLcom/android/server/wm/DisplayRotation;->restoreSettings(III)V
+PLcom/android/server/wm/DisplayRotation;->rotationForOrientation(II)I
+PLcom/android/server/wm/DisplayRotation;->selectRotationAnimation()Lcom/android/server/wm/DisplayRotation$RotationAnimationPair;
+PLcom/android/server/wm/DisplayRotation;->setUserRotation(II)V
+PLcom/android/server/wm/DisplayRotation;->updateOrientation(IZ)Z
+PLcom/android/server/wm/DisplayRotation;->updateOrientationListener()V
+PLcom/android/server/wm/DisplayRotation;->updateOrientationListenerLw()V
+PLcom/android/server/wm/DisplayRotation;->updateRotationUnchecked(Z)Z
+PLcom/android/server/wm/DisplayRotation;->updateSettings()Z
+PLcom/android/server/wm/DisplayRotation;->updateUserDependentConfiguration(Landroid/content/res/Resources;)V
+PLcom/android/server/wm/DisplayWindowListenerController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->dispatchDisplayAdded(Lcom/android/server/wm/ActivityDisplay;)V
+PLcom/android/server/wm/DisplayWindowListenerController;->dispatchDisplayChanged(Lcom/android/server/wm/DisplayContent;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/DisplayWindowSettings$AtomicFileStorage;-><init>()V
+PLcom/android/server/wm/DisplayWindowSettings$AtomicFileStorage;->copyVendorSettings(Ljava/io/File;)V
+PLcom/android/server/wm/DisplayWindowSettings$AtomicFileStorage;->openRead()Ljava/io/InputStream;
+PLcom/android/server/wm/DisplayWindowSettings$Entry;-><init>(Ljava/lang/String;)V
+PLcom/android/server/wm/DisplayWindowSettings$Entry;-><init>(Ljava/lang/String;Lcom/android/server/wm/DisplayWindowSettings$1;)V
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$1000(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$300(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$400(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$500(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$700(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$800(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings$Entry;->access$900(Lcom/android/server/wm/DisplayWindowSettings$Entry;)I
+PLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayWindowSettings$SettingPersister;)V
+PLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DisplayWindowSettings;->getEntry(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$Entry;
+PLcom/android/server/wm/DisplayWindowSettings;->getIdentifier(Landroid/view/DisplayInfo;)Ljava/lang/String;
+PLcom/android/server/wm/DisplayWindowSettings;->getOrCreateEntry(Landroid/view/DisplayInfo;)Lcom/android/server/wm/DisplayWindowSettings$Entry;
+PLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayContent;)I
+PLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayWindowSettings$Entry;I)I
+PLcom/android/server/wm/DisplayWindowSettings;->readSettings()V
+PLcom/android/server/wm/DisplayWindowSettings;->updateSettingsForDisplay(Lcom/android/server/wm/DisplayContent;)Z
+PLcom/android/server/wm/DockedStackDividerController;-><clinit>()V
+PLcom/android/server/wm/DockedStackDividerController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/DockedStackDividerController;->animate(J)Z
+PLcom/android/server/wm/DockedStackDividerController;->checkMinimizeChanged(Z)V
+PLcom/android/server/wm/DockedStackDividerController;->getContentWidth()I
PLcom/android/server/wm/DockedStackDividerController;->getHomeStackBoundsInDockedMode(Landroid/content/res/Configuration;ILandroid/graphics/Rect;)V
-PLcom/android/server/wm/DockedStackDividerController;->getImeHeightAdjustedFor()I
-HSPLcom/android/server/wm/DockedStackDividerController;->initSnapAlgorithmForRotations()V
-HSPLcom/android/server/wm/DockedStackDividerController;->isHomeStackResizable()Z
-PLcom/android/server/wm/DockedStackDividerController;->isImeHideRequested()Z
-HSPLcom/android/server/wm/DockedStackDividerController;->isMinimizedDock()Z
-HSPLcom/android/server/wm/DockedStackDividerController;->isResizing()Z
-HSPLcom/android/server/wm/DockedStackDividerController;->loadDimens()V
-HSPLcom/android/server/wm/DockedStackDividerController;->notifyAdjustedForImeChanged(ZJ)V
-HSPLcom/android/server/wm/DockedStackDividerController;->notifyAppTransitionStarting(Landroid/util/ArraySet;I)V
-HSPLcom/android/server/wm/DockedStackDividerController;->notifyAppVisibilityChanged()V
-HSPLcom/android/server/wm/DockedStackDividerController;->notifyDockedDividerVisibilityChanged(Z)V
-HSPLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackExistsChanged(Z)V
-HSPLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackMinimizedChanged(ZZZ)V
-HSPLcom/android/server/wm/DockedStackDividerController;->onConfigurationChanged()V
-HSPLcom/android/server/wm/DockedStackDividerController;->positionDockedStackedDivider(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DockedStackDividerController;->reevaluateVisibility(Z)V
-HSPLcom/android/server/wm/DockedStackDividerController;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
-PLcom/android/server/wm/DockedStackDividerController;->resetImeHideRequested()V
-HSPLcom/android/server/wm/DockedStackDividerController;->setAdjustedForIme(ZZZLcom/android/server/wm/WindowState;I)V
-HSPLcom/android/server/wm/DockedStackDividerController;->setMinimizedDockedStack(ZZ)V
-HSPLcom/android/server/wm/DockedStackDividerController;->setTouchRegion(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/DockedStackDividerController;->setWindow(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DockedStackDividerController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/wm/DragDropController$DragHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/DragDropController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
-HSPLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z
-PLcom/android/server/wm/DragDropController;->dragRecipientEntered(Landroid/view/IWindow;)V
-PLcom/android/server/wm/DragDropController;->handleMotionEvent(ZFF)V
-PLcom/android/server/wm/DragDropController;->onDragStateClosedLocked(Lcom/android/server/wm/DragState;)V
-PLcom/android/server/wm/DragDropController;->performDrag(Landroid/view/SurfaceSession;IILandroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
-PLcom/android/server/wm/DragDropController;->reportDropResult(Landroid/view/IWindow;Z)V
-PLcom/android/server/wm/DragDropController;->sendHandlerMessage(ILjava/lang/Object;)V
-PLcom/android/server/wm/DragDropController;->sendTimeoutMessage(ILjava/lang/Object;)V
-PLcom/android/server/wm/DragInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
-PLcom/android/server/wm/DragState$InputInterceptor;-><init>(Lcom/android/server/wm/DragState;Landroid/view/Display;)V
-PLcom/android/server/wm/DragState$InputInterceptor;->tearDown()V
-PLcom/android/server/wm/DragState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DragDropController;Landroid/os/IBinder;Landroid/view/SurfaceControl;ILandroid/os/IBinder;)V
-PLcom/android/server/wm/DragState;->broadcastDragStartedLocked(FF)V
-PLcom/android/server/wm/DragState;->closeLocked()V
-PLcom/android/server/wm/DragState;->endDragLocked()V
-PLcom/android/server/wm/DragState;->getDragLayerLocked()I
-PLcom/android/server/wm/DragState;->getInputWindowHandle()Landroid/view/InputWindowHandle;
-PLcom/android/server/wm/DragState;->isClosing()Z
-PLcom/android/server/wm/DragState;->isInProgress()Z
-PLcom/android/server/wm/DragState;->isValidDropTarget(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DragState;->lambda$broadcastDragStartedLocked$0$DragState(FFLcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DragState;->notifyDropLocked(FF)V
-PLcom/android/server/wm/DragState;->notifyLocationLocked(FF)V
-PLcom/android/server/wm/DragState;->notifyMoveLocked(FF)V
-PLcom/android/server/wm/DragState;->overridePointerIconLocked(I)V
-PLcom/android/server/wm/DragState;->register(Landroid/view/Display;)V
-PLcom/android/server/wm/DragState;->sendDragStartedLocked(Lcom/android/server/wm/WindowState;FFLandroid/content/ClipDescription;)V
-PLcom/android/server/wm/DragState;->showInputSurface()V
-HSPLcom/android/server/wm/ImmersiveModeConfirmation$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/ImmersiveModeConfirmation;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
-HSPLcom/android/server/wm/ImmersiveModeConfirmation;->confirmCurrentPrompt()V
-HSPLcom/android/server/wm/ImmersiveModeConfirmation;->getWindowToken()Landroid/os/IBinder;
-HSPLcom/android/server/wm/ImmersiveModeConfirmation;->immersiveModeChangedLw(Ljava/lang/String;ZZZ)V
-HSPLcom/android/server/wm/ImmersiveModeConfirmation;->loadSetting(ILandroid/content/Context;)Z
+PLcom/android/server/wm/DockedStackDividerController;->initSnapAlgorithmForRotations()V
+PLcom/android/server/wm/DockedStackDividerController;->isHomeStackResizable()Z
+PLcom/android/server/wm/DockedStackDividerController;->isMinimizedDock()Z
+PLcom/android/server/wm/DockedStackDividerController;->isResizing()Z
+PLcom/android/server/wm/DockedStackDividerController;->loadDimens()V
+PLcom/android/server/wm/DockedStackDividerController;->notifyAdjustedForImeChanged(ZJ)V
+PLcom/android/server/wm/DockedStackDividerController;->notifyAppTransitionStarting(Landroid/util/ArraySet;I)V
+PLcom/android/server/wm/DockedStackDividerController;->notifyAppVisibilityChanged()V
+PLcom/android/server/wm/DockedStackDividerController;->notifyDockedDividerVisibilityChanged(Z)V
+PLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackExistsChanged(Z)V
+PLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackMinimizedChanged(ZZZ)V
+PLcom/android/server/wm/DockedStackDividerController;->onConfigurationChanged()V
+PLcom/android/server/wm/DockedStackDividerController;->positionDockedStackedDivider(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DockedStackDividerController;->reevaluateVisibility(Z)V
+PLcom/android/server/wm/DockedStackDividerController;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
+PLcom/android/server/wm/DockedStackDividerController;->setAdjustedForIme(ZZZLcom/android/server/wm/WindowState;I)V
+PLcom/android/server/wm/DockedStackDividerController;->setMinimizedDockedStack(ZZ)V
+PLcom/android/server/wm/DockedStackDividerController;->setTouchRegion(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/DockedStackDividerController;->setWindow(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DockedStackDividerController;->wasVisible()Z
+PLcom/android/server/wm/DragDropController$1;-><init>(Lcom/android/server/wm/DragDropController;)V
+PLcom/android/server/wm/DragDropController$DragHandler;-><init>(Lcom/android/server/wm/DragDropController;Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
+PLcom/android/server/wm/DragDropController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
+PLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z
+PLcom/android/server/wm/EmbeddedWindowController;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/wm/EmbeddedWindowController;->remove(Landroid/view/IWindow;)V
+PLcom/android/server/wm/EmbeddedWindowController;->removeWindowsWithHost(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/EnsureActivitiesVisibleHelper;-><init>(Lcom/android/server/wm/ActivityStack;)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->lambda$uAeEWwx5d0xk6FKOvvR9CXZS6Bg(Lcom/android/server/wm/EnsureActivitiesVisibleHelper;Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/EnsureActivitiesVisibleHelper;->makeVisibleAndRestartIfNeeded(Lcom/android/server/wm/ActivityRecord;IZZLcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->process(Lcom/android/server/wm/ActivityRecord;IZZ)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->reset(Lcom/android/server/wm/ActivityRecord;IZZ)V
+HPLcom/android/server/wm/EnsureActivitiesVisibleHelper;->setActivityVisibilityState(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/EventLogTags;->writeWmAddToStopping(IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmBootAnimationDone(J)V
+PLcom/android/server/wm/EventLogTags;->writeWmCreateTask(II)V
+PLcom/android/server/wm/EventLogTags;->writeWmDestroyActivity(IIILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmFinishActivity(IIILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmFocusedStack(IIIILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmPauseActivity(IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmRemoveTask(II)V
+PLcom/android/server/wm/EventLogTags;->writeWmRestartActivity(IIILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmResumeActivity(IIILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmSetKeyguardShown(IIILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmSetResumedActivity(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmStackCreated(I)V
+PLcom/android/server/wm/EventLogTags;->writeWmStackRemoved(I)V
+PLcom/android/server/wm/EventLogTags;->writeWmStopActivity(IILjava/lang/String;)V
+PLcom/android/server/wm/EventLogTags;->writeWmTaskCreated(II)V
+PLcom/android/server/wm/EventLogTags;->writeWmTaskMoved(III)V
+PLcom/android/server/wm/EventLogTags;->writeWmTaskToFront(II)V
+PLcom/android/server/wm/HighRefreshRateBlacklist$OnPropertiesChangedListener;-><init>(Lcom/android/server/wm/HighRefreshRateBlacklist;)V
+PLcom/android/server/wm/HighRefreshRateBlacklist$OnPropertiesChangedListener;-><init>(Lcom/android/server/wm/HighRefreshRateBlacklist;Lcom/android/server/wm/HighRefreshRateBlacklist$1;)V
+PLcom/android/server/wm/HighRefreshRateBlacklist;-><init>(Landroid/content/res/Resources;Lcom/android/server/wm/utils/DeviceConfigInterface;)V
+PLcom/android/server/wm/HighRefreshRateBlacklist;->create(Landroid/content/res/Resources;)Lcom/android/server/wm/HighRefreshRateBlacklist;
+PLcom/android/server/wm/HighRefreshRateBlacklist;->isBlacklisted(Ljava/lang/String;)Z
+PLcom/android/server/wm/HighRefreshRateBlacklist;->updateBlacklist(Ljava/lang/String;)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->onPostInsetsDispatched()V
+PLcom/android/server/wm/ImeInsetsSourceProvider;->onPostLayout()V
+PLcom/android/server/wm/ImmersiveModeConfirmation$1;-><init>(Lcom/android/server/wm/ImmersiveModeConfirmation;)V
+PLcom/android/server/wm/ImmersiveModeConfirmation$H;-><init>(Lcom/android/server/wm/ImmersiveModeConfirmation;Landroid/os/Looper;)V
+PLcom/android/server/wm/ImmersiveModeConfirmation;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
+PLcom/android/server/wm/ImmersiveModeConfirmation;->getNavBarExitDuration()J
+PLcom/android/server/wm/ImmersiveModeConfirmation;->getWindowToken()Landroid/os/IBinder;
+PLcom/android/server/wm/ImmersiveModeConfirmation;->loadSetting(ILandroid/content/Context;)Z
PLcom/android/server/wm/ImmersiveModeConfirmation;->onPowerKeyDown(ZJZZ)Z
-HSPLcom/android/server/wm/InputConsumerImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;I)V
-HSPLcom/android/server/wm/InputConsumerImpl;->binderDied()V
-HSPLcom/android/server/wm/InputConsumerImpl;->disposeChannelsLw()V
-PLcom/android/server/wm/InputConsumerImpl;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/server/wm/InputConsumerImpl;->hide(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;II)V
+PLcom/android/server/wm/InputConsumerImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;I)V
+PLcom/android/server/wm/InputConsumerImpl;->binderDied()V
+PLcom/android/server/wm/InputConsumerImpl;->disposeChannelsLw()V
+PLcom/android/server/wm/InputConsumerImpl;->getLayerLw(I)I
+PLcom/android/server/wm/InputConsumerImpl;->hide(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;II)V
PLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/InputConsumerImpl;->linkToDeathRecipient()V
-PLcom/android/server/wm/InputConsumerImpl;->show(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/InputConsumerImpl;->unlinkFromDeathRecipient()V
-HSPLcom/android/server/wm/InputManagerCallback;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/InputManagerCallback;->dispatchUnhandledKey(Landroid/os/IBinder;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-HSPLcom/android/server/wm/InputManagerCallback;->getPointerDisplayId()I
+PLcom/android/server/wm/InputConsumerImpl;->linkToDeathRecipient()V
+PLcom/android/server/wm/InputConsumerImpl;->unlinkFromDeathRecipient()V
+PLcom/android/server/wm/InputManagerCallback;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/InputManagerCallback;->dispatchPointerCaptureChanged(Landroid/view/IWindow;Z)Z
+PLcom/android/server/wm/InputManagerCallback;->getPointerDisplayId()I
PLcom/android/server/wm/InputManagerCallback;->interceptKeyBeforeDispatching(Landroid/os/IBinder;Landroid/view/KeyEvent;I)J
-HSPLcom/android/server/wm/InputManagerCallback;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
+PLcom/android/server/wm/InputManagerCallback;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
PLcom/android/server/wm/InputManagerCallback;->interceptMotionBeforeQueueingNonInteractive(IJI)I
-HSPLcom/android/server/wm/InputManagerCallback;->notifyConfigurationChanged()V
-HSPLcom/android/server/wm/InputManagerCallback;->waitForInputDevicesReady(J)Z
-HSPLcom/android/server/wm/InputMonitor$1;->run()V
-PLcom/android/server/wm/InputMonitor$EventReceiverInputConsumer;->dismiss()V
-HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->updateInputWindows(Z)V
-HSPLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;I)V
-HSPLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
-PLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/Looper;Ljava/lang/String;Landroid/view/InputEventReceiver$Factory;)Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;
-PLcom/android/server/wm/InputMonitor;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/InputMonitor;->populateInputWindowHandle(Landroid/view/InputWindowHandle;Lcom/android/server/wm/WindowState;IIZZZ)V
-HSPLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/AppWindowToken;)V
+PLcom/android/server/wm/InputManagerCallback;->notifyConfigurationChanged()V
+PLcom/android/server/wm/InputManagerCallback;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)Z
+PLcom/android/server/wm/InputManagerCallback;->setEventDispatchingLw(Z)V
+PLcom/android/server/wm/InputManagerCallback;->updateInputDispatchModeLw()V
+PLcom/android/server/wm/InputManagerCallback;->waitForInputDevicesReady(J)Z
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;)V
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$1;)V
+HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->access$700(Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;Z)V
+PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->updateInputWindows(Z)V
+PLcom/android/server/wm/InputMonitor$UpdateInputWindows;-><init>(Lcom/android/server/wm/InputMonitor;)V
+PLcom/android/server/wm/InputMonitor$UpdateInputWindows;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$1;)V
+PLcom/android/server/wm/InputMonitor$UpdateInputWindows;->run()V
+PLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;I)V
+PLcom/android/server/wm/InputMonitor;->access$000(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/InputMonitor;->access$1000(Lcom/android/server/wm/InputMonitor;)Landroid/graphics/Rect;
+PLcom/android/server/wm/InputMonitor;->access$102(Lcom/android/server/wm/InputMonitor;Z)Z
+PLcom/android/server/wm/InputMonitor;->access$1100(Lcom/android/server/wm/InputMonitor;)Z
+PLcom/android/server/wm/InputMonitor;->access$1102(Lcom/android/server/wm/InputMonitor;Z)Z
+PLcom/android/server/wm/InputMonitor;->access$1200(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/InputMonitor;->access$1300(Lcom/android/server/wm/InputMonitor;)Z
+PLcom/android/server/wm/InputMonitor;->access$202(Lcom/android/server/wm/InputMonitor;Z)Z
+PLcom/android/server/wm/InputMonitor;->access$300(Lcom/android/server/wm/InputMonitor;)Z
+PLcom/android/server/wm/InputMonitor;->access$400(Lcom/android/server/wm/InputMonitor;)Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/InputMonitor;->access$500(Lcom/android/server/wm/InputMonitor;)I
+PLcom/android/server/wm/InputMonitor;->access$600(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;
+PLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
+PLcom/android/server/wm/InputMonitor;->getInputConsumer(Ljava/lang/String;)Lcom/android/server/wm/InputConsumerImpl;
+PLcom/android/server/wm/InputMonitor;->layoutInputConsumers(II)V
+HPLcom/android/server/wm/InputMonitor;->populateInputWindowHandle(Landroid/view/InputWindowHandle;Lcom/android/server/wm/WindowState;IIZZZ)V
+PLcom/android/server/wm/InputMonitor;->resetInputConsumers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/InputMonitor;->scheduleUpdateInputWindows()V
+PLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/ActivityRecord;)V
PLcom/android/server/wm/InputMonitor;->setInputFocusLw(Lcom/android/server/wm/WindowState;Z)V
-HSPLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V
-HSPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V
-HSPLcom/android/server/wm/InsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource;
-HSPLcom/android/server/wm/InsetsSourceProvider;->isClientVisible()Z
-HSPLcom/android/server/wm/InsetsSourceProvider;->isControllable()Z
-HSPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V
-HSPLcom/android/server/wm/InsetsSourceProvider;->setWindow(Lcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
-HSPLcom/android/server/wm/InsetsStateController;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/InsetsStateController;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HSPLcom/android/server/wm/InsetsStateController;->getInsetsForDispatch(Lcom/android/server/wm/WindowState;)Landroid/view/InsetsState;
-HSPLcom/android/server/wm/InsetsStateController;->getSourceProvider(I)Lcom/android/server/wm/InsetsSourceProvider;
-HSPLcom/android/server/wm/InsetsStateController;->lambda$getSourceProvider$1$InsetsStateController(Ljava/lang/Integer;)Lcom/android/server/wm/InsetsSourceProvider;
-HSPLcom/android/server/wm/InsetsStateController;->onBarControllingWindowChanged(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/InsetsStateController;->onControlChanged(ILcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/InsetsStateController;->onImeTargetChanged(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/InsetsStateController;->onPostLayout()V
-HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->acquiredSleepToken()V
-HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->dumpStatus(Ljava/io/PrintWriter;Ljava/lang/String;)V
-PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->onRemoved()V
-HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->releaseSleepToken()V
-HSPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->visibilitiesUpdated(Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/ActivityDisplay;)V
-PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/KeyguardController;->beginActivityVisibilityUpdate()V
-PLcom/android/server/wm/KeyguardController;->canDismissKeyguard()Z
-HSPLcom/android/server/wm/KeyguardController;->canShowActivityWhileKeyguardShowing(Lcom/android/server/wm/ActivityRecord;Z)Z
-PLcom/android/server/wm/KeyguardController;->canShowWhileOccluded(ZZ)Z
-HSPLcom/android/server/wm/KeyguardController;->dismissDockedStackIfNeeded()V
-PLcom/android/server/wm/KeyguardController;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/wm/KeyguardController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/KeyguardController;->endActivityVisibilityUpdate()V
-PLcom/android/server/wm/KeyguardController;->handleDismissKeyguard()V
-PLcom/android/server/wm/KeyguardController;->handleOccludedChanged()V
-HSPLcom/android/server/wm/KeyguardController;->isKeyguardGoingAway()Z
-HSPLcom/android/server/wm/KeyguardController;->isKeyguardLocked()Z
-HSPLcom/android/server/wm/KeyguardController;->isKeyguardOrAodShowing(I)Z
-HSPLcom/android/server/wm/KeyguardController;->isKeyguardShowing(I)Z
-HSPLcom/android/server/wm/KeyguardController;->isKeyguardUnoccludedOrAodShowing(I)Z
+PLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V
+PLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V
+PLcom/android/server/wm/InsetsPolicy$BarWindow;-><init>(Lcom/android/server/wm/InsetsPolicy;I)V
+PLcom/android/server/wm/InsetsPolicy$TransientControlTarget;-><init>(Lcom/android/server/wm/InsetsPolicy;)V
+PLcom/android/server/wm/InsetsPolicy$TransientControlTarget;-><init>(Lcom/android/server/wm/InsetsPolicy;Lcom/android/server/wm/InsetsPolicy$1;)V
+PLcom/android/server/wm/InsetsPolicy;-><init>(Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InsetsPolicy;->areSystemBarsForciblyVisible()Z
+PLcom/android/server/wm/InsetsPolicy;->getFakeNavControlTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
+PLcom/android/server/wm/InsetsPolicy;->getFakeTopControlTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
+PLcom/android/server/wm/InsetsPolicy;->getInsetsForDispatch(Lcom/android/server/wm/WindowState;)Landroid/view/InsetsState;
+PLcom/android/server/wm/InsetsPolicy;->getNavControlTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
+PLcom/android/server/wm/InsetsPolicy;->getTopControlTarget(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/InsetsControlTarget;
+PLcom/android/server/wm/InsetsPolicy;->isHidden(I)Z
+PLcom/android/server/wm/InsetsPolicy;->isNavBarForciblyVisible()Z
+PLcom/android/server/wm/InsetsPolicy;->isStatusBarForciblyVisible()Z
+PLcom/android/server/wm/InsetsPolicy;->updateBarControlTarget(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/InsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource;
+PLcom/android/server/wm/InsetsSourceProvider;->hasWindow()Z
+PLcom/android/server/wm/InsetsSourceProvider;->isControllable()Z
+HPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V
+PLcom/android/server/wm/InsetsSourceProvider;->setServerVisible(Z)V
+PLcom/android/server/wm/InsetsSourceProvider;->setWindow(Lcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
+PLcom/android/server/wm/InsetsSourceProvider;->updateVisibility()V
+PLcom/android/server/wm/InsetsStateController;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/InsetsStateController;->getImeSourceProvider()Lcom/android/server/wm/ImeInsetsSourceProvider;
+PLcom/android/server/wm/InsetsStateController;->getInsetsForDispatch(Lcom/android/server/wm/WindowState;)Landroid/view/InsetsState;
+PLcom/android/server/wm/InsetsStateController;->getSourceProvider(I)Lcom/android/server/wm/InsetsSourceProvider;
+PLcom/android/server/wm/InsetsStateController;->lambda$getSourceProvider$1$InsetsStateController(Ljava/lang/Integer;)Lcom/android/server/wm/InsetsSourceProvider;
+PLcom/android/server/wm/InsetsStateController;->lambda$getSourceProvider$2$InsetsStateController(Ljava/lang/Integer;)Lcom/android/server/wm/InsetsSourceProvider;
+PLcom/android/server/wm/InsetsStateController;->lambda$new$0(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/InsetsStateController;->notifyInsetsChanged()V
+PLcom/android/server/wm/InsetsStateController;->notifyPendingInsetsControlChanged()V
+PLcom/android/server/wm/InsetsStateController;->onBarControlTargetChanged(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;)V
+PLcom/android/server/wm/InsetsStateController;->onControlChanged(ILcom/android/server/wm/InsetsControlTarget;)V
+PLcom/android/server/wm/InsetsStateController;->onControlFakeTargetChanged(ILcom/android/server/wm/InsetsControlTarget;)V
+HPLcom/android/server/wm/InsetsStateController;->onPostLayout()V
+PLcom/android/server/wm/InsetsStateController;->peekSourceProvider(I)Lcom/android/server/wm/InsetsSourceProvider;
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;I)V
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->access$100(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->access$200(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Z
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->access$300(Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->acquiredSleepToken()V
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->getStackForControllingOccluding(Lcom/android/server/wm/ActivityDisplay;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->releaseSleepToken()V
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->visibilitiesUpdated(Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/ActivityDisplay;)V
+HSPLcom/android/server/wm/KeyguardController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;)V
+PLcom/android/server/wm/KeyguardController;->beginActivityVisibilityUpdate()V
+PLcom/android/server/wm/KeyguardController;->canShowActivityWhileKeyguardShowing(Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/KeyguardController;->dismissDockedStackIfNeeded()V
+PLcom/android/server/wm/KeyguardController;->endActivityVisibilityUpdate()V
+PLcom/android/server/wm/KeyguardController;->getDisplay(I)Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;
+PLcom/android/server/wm/KeyguardController;->isDisplayOccluded(I)Z
+PLcom/android/server/wm/KeyguardController;->isKeyguardGoingAway()Z
+PLcom/android/server/wm/KeyguardController;->isKeyguardLocked()Z
+PLcom/android/server/wm/KeyguardController;->isKeyguardOrAodShowing(I)Z
+PLcom/android/server/wm/KeyguardController;->isKeyguardShowing(I)Z
+PLcom/android/server/wm/KeyguardController;->isKeyguardUnoccludedOrAodShowing(I)Z
PLcom/android/server/wm/KeyguardController;->keyguardGoingAway(I)V
-PLcom/android/server/wm/KeyguardController;->onDisplayRemoved(I)V
-PLcom/android/server/wm/KeyguardController;->resolveOccludeTransit()I
-HSPLcom/android/server/wm/KeyguardController;->setKeyguardShown(ZZ)V
-HSPLcom/android/server/wm/KeyguardController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken()V
-HSPLcom/android/server/wm/KeyguardController;->visibilitiesUpdated()V
-PLcom/android/server/wm/KeyguardController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/KeyguardDisableHandler$2;->dpmRequiresPassword(I)Z
-HSPLcom/android/server/wm/KeyguardDisableHandler$2;->enableKeyguard(Z)V
-HSPLcom/android/server/wm/KeyguardDisableHandler$2;->isKeyguardSecure(I)Z
-HSPLcom/android/server/wm/KeyguardDisableHandler;-><init>(Lcom/android/server/wm/KeyguardDisableHandler$Injector;Landroid/os/Handler;)V
-HSPLcom/android/server/wm/KeyguardDisableHandler;->create(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy;Landroid/os/Handler;)Lcom/android/server/wm/KeyguardDisableHandler;
-HSPLcom/android/server/wm/KeyguardDisableHandler;->shouldKeyguardBeEnabled(I)Z
-HSPLcom/android/server/wm/KeyguardDisableHandler;->updateKeyguardEnabled(I)V
+PLcom/android/server/wm/KeyguardController;->setKeyguardGoingAway(Z)V
+PLcom/android/server/wm/KeyguardController;->setKeyguardShown(ZZ)V
+PLcom/android/server/wm/KeyguardController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken()V
+PLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken(I)V
+PLcom/android/server/wm/KeyguardController;->visibilitiesUpdated()V
+PLcom/android/server/wm/KeyguardDisableHandler$1;-><init>(Lcom/android/server/wm/KeyguardDisableHandler;)V
+PLcom/android/server/wm/KeyguardDisableHandler$2;-><init>(Lcom/android/server/policy/WindowManagerPolicy;Landroid/os/UserManagerInternal;)V
+PLcom/android/server/wm/KeyguardDisableHandler;-><init>(Lcom/android/server/wm/KeyguardDisableHandler$Injector;Landroid/os/Handler;)V
+PLcom/android/server/wm/KeyguardDisableHandler;->create(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy;Landroid/os/Handler;)Lcom/android/server/wm/KeyguardDisableHandler;
+PLcom/android/server/wm/KeyguardDisableHandler;->shouldKeyguardBeEnabled(I)Z
+PLcom/android/server/wm/KeyguardDisableHandler;->updateKeyguardEnabled(I)V
+HSPLcom/android/server/wm/LaunchObserverRegistryImpl;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnActivityLaunchCancelled([B)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnActivityLaunched([BI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleOnIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->handleRegisterLaunchObserver(Lcom/android/server/wm/ActivityMetricsLaunchObserver;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->lambda$UGY1OclnLIQLMEL9B55qjERFf4o(Lcom/android/server/wm/LaunchObserverRegistryImpl;[BI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->lambda$lAGPwfsXJvBWsyG2rbEfo3sTv34(Lcom/android/server/wm/LaunchObserverRegistryImpl;[B)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->lambda$pWUDt4Ot3BWLJOTAhXMkkhHUhpc(Lcom/android/server/wm/LaunchObserverRegistryImpl;Lcom/android/server/wm/ActivityMetricsLaunchObserver;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->lambda$veRn_GhgLZLlOHOJ0ZYT6KcfYqo(Lcom/android/server/wm/LaunchObserverRegistryImpl;Landroid/content/Intent;J)V
PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchCancelled([B)V
-HSPLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchFinished([B)V
-HSPLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunched([BI)V
-HSPLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentFailed()V
-HSPLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentStarted(Landroid/content/Intent;)V
-HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasPreferredDisplay()Z
-HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasWindowingMode()Z
-HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;->isEmpty()Z
-HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;->reset()V
-HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;->set(Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchFinished([BJ)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunched([BI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentFailed()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentStarted(Landroid/content/Intent;J)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->registerLaunchObserver(Lcom/android/server/wm/ActivityMetricsLaunchObserver;)V
+HSPLcom/android/server/wm/LaunchParamsController$LaunchParams;-><init>()V
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasPreferredDisplay()Z
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasWindowingMode()Z
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->isEmpty()Z
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->reset()V
+PLcom/android/server/wm/LaunchParamsController$LaunchParams;->set(Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
HSPLcom/android/server/wm/LaunchParamsController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/LaunchParamsPersister;)V
-HSPLcom/android/server/wm/LaunchParamsController;->calculate(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;)V
-HSPLcom/android/server/wm/LaunchParamsController;->layoutTask(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/LaunchParamsController;->calculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+PLcom/android/server/wm/LaunchParamsController;->layoutTask(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
HSPLcom/android/server/wm/LaunchParamsController;->registerDefaultModifiers(Lcom/android/server/wm/ActivityStackSupervisor;)V
HSPLcom/android/server/wm/LaunchParamsController;->registerModifier(Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;)V
-PLcom/android/server/wm/LaunchParamsPersister$CleanUpComponentQueueItem;->process()V
-HSPLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->matches(Lcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;)Z
-HSPLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->matches(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;)Z
-HSPLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->process()V
-HSPLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->saveParamsToXml()Ljava/io/StringWriter;
+PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;-><init>(Lcom/android/server/wm/LaunchParamsPersister;)V
+PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;-><init>(Lcom/android/server/wm/LaunchParamsPersister;Lcom/android/server/wm/LaunchParamsPersister$1;)V
PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;->onPackageAdded(Ljava/lang/String;I)V
-PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;->onPackageRemoved(Ljava/lang/String;I)V
-HSPLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/wm/LaunchParamsPersister;->getLaunchParams(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
-HSPLcom/android/server/wm/LaunchParamsPersister;->getParamFile(Ljava/io/File;Landroid/content/ComponentName;)Ljava/io/File;
-HSPLcom/android/server/wm/LaunchParamsPersister;->loadLaunchParams(I)V
-HSPLcom/android/server/wm/LaunchParamsPersister;->onSystemReady()V
-HSPLcom/android/server/wm/LaunchParamsPersister;->onUnlockUser(I)V
-PLcom/android/server/wm/LaunchParamsPersister;->removeRecordForPackage(Ljava/lang/String;)V
-HSPLcom/android/server/wm/LaunchParamsPersister;->saveTask(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/LaunchParamsPersister;->saveTaskToLaunchParam(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;)Z
-PLcom/android/server/wm/Letterbox$InputInterceptor;-><init>(Ljava/lang/String;Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/Letterbox$InputInterceptor;->dispose()V
-PLcom/android/server/wm/Letterbox$InputInterceptor;->updateTouchableRegion(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->applySurfaceChanges(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->attachInput(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->createSurface()V
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->getHeight()I
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->getWidth()I
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->isOverlappingWith(Landroid/graphics/Rect;)Z
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->layout(IIIILandroid/graphics/Point;)V
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->needsApplySurfaceChanges()Z
-PLcom/android/server/wm/Letterbox$LetterboxSurface;->remove()V
-PLcom/android/server/wm/Letterbox;-><init>(Ljava/util/function/Supplier;)V
-PLcom/android/server/wm/Letterbox;->applySurfaceChanges(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/Letterbox;->attachInput(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/Letterbox;->destroy()V
-PLcom/android/server/wm/Letterbox;->getInsets()Landroid/graphics/Rect;
-PLcom/android/server/wm/Letterbox;->hide()V
-PLcom/android/server/wm/Letterbox;->isOverlappingWith(Landroid/graphics/Rect;)Z
-PLcom/android/server/wm/Letterbox;->layout(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Point;)V
-PLcom/android/server/wm/Letterbox;->needsApplySurfaceChanges()Z
-HSPLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->canSkipFirstFrame()Z
-PLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->getBackgroundColor()I
-HSPLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->needsEarlyWakeup()Z
-HSPLcom/android/server/wm/LocalAnimationAdapter;->getBackgroundColor()I
-HSPLcom/android/server/wm/LocalAnimationAdapter;->getDurationHint()J
+HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityStackSupervisor;)V
+HSPLcom/android/server/wm/LaunchParamsPersister;-><init>(Lcom/android/server/wm/PersisterQueue;Lcom/android/server/wm/ActivityStackSupervisor;Ljava/util/function/IntFunction;)V
+PLcom/android/server/wm/LaunchParamsPersister;->getLaunchParams(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+PLcom/android/server/wm/LaunchParamsPersister;->loadLaunchParams(I)V
+PLcom/android/server/wm/LaunchParamsPersister;->onSystemReady()V
+PLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->canSkipFirstFrame()Z
+PLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->needsEarlyWakeup()Z
+PLcom/android/server/wm/LocalAnimationAdapter;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/LocalAnimationAdapter;->getDurationHint()J
PLcom/android/server/wm/LocalAnimationAdapter;->getShowWallpaper()Z
PLcom/android/server/wm/LocalAnimationAdapter;->getStatusBarTransitionsStartTime()J
-HSPLcom/android/server/wm/LocalAnimationAdapter;->lambda$startAnimation$0$LocalAnimationAdapter(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/LocalAnimationAdapter;->lambda$startAnimation$0$LocalAnimationAdapter(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
PLcom/android/server/wm/LocalAnimationAdapter;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/LocalAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/LocalAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/LocalAnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
+HSPLcom/android/server/wm/LockTaskController$LockTaskToken;-><init>()V
+HSPLcom/android/server/wm/LockTaskController$LockTaskToken;-><init>(Lcom/android/server/wm/LockTaskController$1;)V
+HSPLcom/android/server/wm/LockTaskController;-><clinit>()V
HSPLcom/android/server/wm/LockTaskController;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Handler;)V
-HSPLcom/android/server/wm/LockTaskController;->activityBlockedFromFinish(Lcom/android/server/wm/ActivityRecord;)Z
-PLcom/android/server/wm/LockTaskController;->canMoveTaskToBack(Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/LockTaskController;->clearLockedTask(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/LockTaskController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/LockTaskController;->getLockTaskModeState()I
-HSPLcom/android/server/wm/LockTaskController;->getRootTask()Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/wm/TaskRecord;Z)Z
-HSPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolationInternal(Lcom/android/server/wm/TaskRecord;Z)Z
-HSPLcom/android/server/wm/LockTaskController;->isPackageWhitelisted(ILjava/lang/String;)Z
-HSPLcom/android/server/wm/LockTaskController;->isTaskLocked(Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/LockTaskController;->isTaskWhitelisted(Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/LockTaskController;->lockTaskModeToString()Ljava/lang/String;
-HSPLcom/android/server/wm/LockTaskController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/LockTaskController;->updateLockTaskFeatures(II)V
-HSPLcom/android/server/wm/LockTaskController;->updateLockTaskPackages(I[Ljava/lang/String;)V
-HSPLcom/android/server/wm/MirrorActiveUids;->getUidState(I)I
-HSPLcom/android/server/wm/MirrorActiveUids;->onUidActive(II)V
-HSPLcom/android/server/wm/MirrorActiveUids;->onUidInactive(I)V
-HSPLcom/android/server/wm/MirrorActiveUids;->onUidProcStateChanged(II)V
-HSPLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarFrameHeight()I
-HSPLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarFrameWidth()I
-HSPLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarHeight()I
-PLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarWidth()I
-HSPLcom/android/server/wm/NavigationBarExperiments;->offsetWindowFramesForNavBar(ILcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/NavigationBarExperiments;->onConfigurationChanged(Landroid/content/Context;)V
-PLcom/android/server/wm/PendingRemoteAnimationRegistry$Entry;->lambda$new$0$PendingRemoteAnimationRegistry$Entry(Ljava/lang/String;)V
-PLcom/android/server/wm/PendingRemoteAnimationRegistry;->addPendingAnimation(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-HSPLcom/android/server/wm/PendingRemoteAnimationRegistry;->overrideOptionsIfNeeded(Ljava/lang/String;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
-HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;->run()V
+PLcom/android/server/wm/LockTaskController;->activityBlockedFromFinish(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/LockTaskController;->clearLockedTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/LockTaskController;->getLockTaskFeaturesForUser(I)I
+PLcom/android/server/wm/LockTaskController;->getLockTaskModeState()I
+PLcom/android/server/wm/LockTaskController;->getRootTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/LockTaskController;->isKeyguardAllowed(I)Z
+PLcom/android/server/wm/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/wm/Task;Z)Z
+PLcom/android/server/wm/LockTaskController;->isLockTaskModeViolationInternal(Lcom/android/server/wm/Task;Z)Z
+PLcom/android/server/wm/LockTaskController;->isPackageWhitelisted(ILjava/lang/String;)Z
+PLcom/android/server/wm/LockTaskController;->isTaskLocked(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/LockTaskController;->isTaskWhitelisted(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/LockTaskController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/LockTaskController;->updateLockTaskFeatures(II)V
+PLcom/android/server/wm/LockTaskController;->updateLockTaskPackages(I[Ljava/lang/String;)V
+HSPLcom/android/server/wm/MirrorActiveUids;-><init>()V
+PLcom/android/server/wm/MirrorActiveUids;->getUidState(I)I
+PLcom/android/server/wm/MirrorActiveUids;->onUidActive(II)V
+PLcom/android/server/wm/MirrorActiveUids;->onUidInactive(I)V
+HPLcom/android/server/wm/MirrorActiveUids;->onUidProcStateChanged(II)V
+HSPLcom/android/server/wm/PendingRemoteAnimationRegistry;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Handler;)V
+PLcom/android/server/wm/PendingRemoteAnimationRegistry;->overrideOptionsIfNeeded(Ljava/lang/String;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
+HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;-><init>(Lcom/android/server/wm/PersisterQueue;Ljava/lang/String;)V
+HSPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;-><init>(Lcom/android/server/wm/PersisterQueue;Ljava/lang/String;Lcom/android/server/wm/PersisterQueue$1;)V
+PLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;->run()V
+HSPLcom/android/server/wm/PersisterQueue;-><clinit>()V
+HSPLcom/android/server/wm/PersisterQueue;-><init>()V
HSPLcom/android/server/wm/PersisterQueue;-><init>(JJ)V
-HSPLcom/android/server/wm/PersisterQueue;->addItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
+PLcom/android/server/wm/PersisterQueue;->addItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
HSPLcom/android/server/wm/PersisterQueue;->addListener(Lcom/android/server/wm/PersisterQueue$Listener;)V
-HSPLcom/android/server/wm/PersisterQueue;->findLastItem(Ljava/util/function/Predicate;Ljava/lang/Class;)Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
-HSPLcom/android/server/wm/PersisterQueue;->processNextItem()V
+PLcom/android/server/wm/PersisterQueue;->findLastItem(Ljava/util/function/Predicate;Ljava/lang/Class;)Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
+PLcom/android/server/wm/PersisterQueue;->processNextItem()V
PLcom/android/server/wm/PersisterQueue;->removeItems(Ljava/util/function/Predicate;Ljava/lang/Class;)V
-HSPLcom/android/server/wm/PersisterQueue;->startPersisting()V
-HSPLcom/android/server/wm/PersisterQueue;->updateLastOrAddItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
-HSPLcom/android/server/wm/PersisterQueue;->yieldIfQueueTooDeep()V
-HSPLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;->lambda$setMinEdgeSize$1$PinnedStackController$PinnedStackControllerCallback(I)V
-HSPLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;->setMinEdgeSize(I)V
-HSPLcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;->binderDied()V
-HSPLcom/android/server/wm/PinnedStackController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/PinnedStackController;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-PLcom/android/server/wm/PinnedStackController;->getAspectRatio()F
-HSPLcom/android/server/wm/PinnedStackController;->getDefaultBounds(F)Landroid/graphics/Rect;
-PLcom/android/server/wm/PinnedStackController;->getDefaultOrLastSavedBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/PinnedStackController;->getInsetBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/PinnedStackController;->getMovementBounds(Landroid/graphics/Rect;)Landroid/graphics/Rect;
-HSPLcom/android/server/wm/PinnedStackController;->getMovementBounds(Landroid/graphics/Rect;ZZ)Landroid/graphics/Rect;
-HSPLcom/android/server/wm/PinnedStackController;->isValidPictureInPictureAspectRatio(F)Z
-HSPLcom/android/server/wm/PinnedStackController;->notifyActionsChanged(Ljava/util/List;)V
-HSPLcom/android/server/wm/PinnedStackController;->notifyImeVisibilityChanged(ZI)V
-HSPLcom/android/server/wm/PinnedStackController;->notifyMinimizeChanged(Z)V
-HSPLcom/android/server/wm/PinnedStackController;->notifyMovementBoundsChanged(ZZ)V
-HSPLcom/android/server/wm/PinnedStackController;->notifyShelfVisibilityChanged(ZI)V
-HSPLcom/android/server/wm/PinnedStackController;->onConfigurationChanged()V
-HSPLcom/android/server/wm/PinnedStackController;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
-PLcom/android/server/wm/PinnedStackController;->onTaskStackBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/PinnedStackController;->registerPinnedStackListener(Landroid/view/IPinnedStackListener;)V
-HSPLcom/android/server/wm/PinnedStackController;->reloadResources()V
-HSPLcom/android/server/wm/PinnedStackController;->resetReentrySnapFraction(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/PinnedStackController;->saveReentrySnapFraction(Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/PinnedStackController;->setActions(Ljava/util/List;)V
-HSPLcom/android/server/wm/PinnedStackController;->setAdjustedForIme(ZI)V
-PLcom/android/server/wm/PinnedStackController;->setAdjustedForShelf(ZI)V
-PLcom/android/server/wm/PinnedStackController;->setAspectRatio(F)V
-HSPLcom/android/server/wm/PinnedStackController;->transformBoundsToAspectRatio(Landroid/graphics/Rect;FZ)Landroid/graphics/Rect;
-PLcom/android/server/wm/PinnedStackController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-PLcom/android/server/wm/PointerEventDispatcher;->dispose()V
-HSPLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;)V
-HSPLcom/android/server/wm/PointerEventDispatcher;->registerInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
-HSPLcom/android/server/wm/PolicyControl;->getSystemUiVisibility(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
-HSPLcom/android/server/wm/PolicyControl;->getWindowFlags(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
-HSPLcom/android/server/wm/PolicyControl;->reloadFromSetting(Landroid/content/Context;)Z
-HSPLcom/android/server/wm/RecentTasks$1;->onPointerEvent(Landroid/view/MotionEvent;)V
+PLcom/android/server/wm/PersisterQueue;->startPersisting()V
+PLcom/android/server/wm/PersisterQueue;->yieldIfQueueTooDeep()V
+PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;-><init>(Lcom/android/server/wm/PinnedStackController;)V
+PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;-><init>(Lcom/android/server/wm/PinnedStackController;Lcom/android/server/wm/PinnedStackController$1;)V
+PLcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedStackController;)V
+PLcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedStackController;Lcom/android/server/wm/PinnedStackController$1;)V
+PLcom/android/server/wm/PinnedStackController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/PinnedStackController;->dpToPx(FLandroid/util/DisplayMetrics;)I
+PLcom/android/server/wm/PinnedStackController;->notifyActionsChanged(Ljava/util/List;)V
+PLcom/android/server/wm/PinnedStackController;->notifyDisplayInfoChanged(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/PinnedStackController;->notifyImeVisibilityChanged(ZI)V
+PLcom/android/server/wm/PinnedStackController;->notifyMinimizeChanged(Z)V
+PLcom/android/server/wm/PinnedStackController;->notifyMovementBoundsChanged(ZZ)V
+PLcom/android/server/wm/PinnedStackController;->onConfigurationChanged()V
+PLcom/android/server/wm/PinnedStackController;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/PinnedStackController;->registerPinnedStackListener(Landroid/view/IPinnedStackListener;)V
+PLcom/android/server/wm/PinnedStackController;->reloadResources()V
+PLcom/android/server/wm/PinnedStackController;->resetReentryBounds(Landroid/content/ComponentName;)V
+PLcom/android/server/wm/PinnedStackController;->setAdjustedForIme(ZI)V
+PLcom/android/server/wm/PinnedStackController;->setDisplayInfo(Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/PointerEventDispatcher;-><init>(Landroid/view/InputChannel;)V
+HPLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;)V
+PLcom/android/server/wm/PointerEventDispatcher;->registerInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+PLcom/android/server/wm/PolicyControl;->getSystemUiVisibility(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
+HPLcom/android/server/wm/PolicyControl;->getWindowFlags(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
+PLcom/android/server/wm/PolicyControl;->reloadFromSetting(Landroid/content/Context;)Z
+PLcom/android/server/wm/ProtoLogGroup;-><clinit>()V
+PLcom/android/server/wm/ProtoLogGroup;-><init>(Ljava/lang/String;IZZZLjava/lang/String;)V
+PLcom/android/server/wm/ProtoLogGroup;->getTag()Ljava/lang/String;
+PLcom/android/server/wm/ProtoLogGroup;->isLogToAny()Z
+PLcom/android/server/wm/ProtoLogGroup;->isLogToLogcat()Z
+PLcom/android/server/wm/ProtoLogGroup;->isLogToProto()Z
+PLcom/android/server/wm/ProtoLogGroup;->values()[Lcom/android/server/wm/ProtoLogGroup;
+HSPLcom/android/server/wm/RecentTasks$1;-><init>(Lcom/android/server/wm/RecentTasks;)V
+PLcom/android/server/wm/RecentTasks$1;->onPointerEvent(Landroid/view/MotionEvent;)V
+HSPLcom/android/server/wm/RecentTasks;-><clinit>()V
HSPLcom/android/server/wm/RecentTasks;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;)V
-HSPLcom/android/server/wm/RecentTasks;->add(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/RecentTasks;->cleanupDisabledPackageTasksLocked(Ljava/lang/String;Ljava/util/Set;I)V
-HSPLcom/android/server/wm/RecentTasks;->cleanupLocked(I)V
-HSPLcom/android/server/wm/RecentTasks;->containsTaskId(II)Z
-PLcom/android/server/wm/RecentTasks;->createRecentTaskInfo(Lcom/android/server/wm/TaskRecord;)Landroid/app/ActivityManager$RecentTaskInfo;
-PLcom/android/server/wm/RecentTasks;->dump(Ljava/io/PrintWriter;ZLjava/lang/String;)V
-HSPLcom/android/server/wm/RecentTasks;->findRemoveIndexForAddTask(Lcom/android/server/wm/TaskRecord;)I
+PLcom/android/server/wm/RecentTasks;->access$000(Lcom/android/server/wm/RecentTasks;)Z
+PLcom/android/server/wm/RecentTasks;->add(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RecentTasks;->cleanupDisabledPackageTasksLocked(Ljava/lang/String;Ljava/util/Set;I)V
+PLcom/android/server/wm/RecentTasks;->cleanupLocked(I)V
+PLcom/android/server/wm/RecentTasks;->containsTaskId(II)Z
+PLcom/android/server/wm/RecentTasks;->findRemoveIndexForAddTask(Lcom/android/server/wm/Task;)I
PLcom/android/server/wm/RecentTasks;->getAppTasksList(ILjava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/server/wm/RecentTasks;->getCurrentProfileIds()[I
-HSPLcom/android/server/wm/RecentTasks;->getInputListener()Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
-HSPLcom/android/server/wm/RecentTasks;->getPersistableTaskIds(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/RecentTasks;->getCurrentProfileIds()[I
+PLcom/android/server/wm/RecentTasks;->getInputListener()Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
+PLcom/android/server/wm/RecentTasks;->getPersistableTaskIds(Landroid/util/ArraySet;)V
PLcom/android/server/wm/RecentTasks;->getProfileIds(I)Ljava/util/Set;
PLcom/android/server/wm/RecentTasks;->getRecentTaskIds()Landroid/util/SparseBooleanArray;
-PLcom/android/server/wm/RecentTasks;->getRecentTasks(IIZZII)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/wm/RecentTasks;->getRecentTasksImpl(IIZZII)Ljava/util/ArrayList;
-PLcom/android/server/wm/RecentTasks;->getRecentsComponent()Landroid/content/ComponentName;
-PLcom/android/server/wm/RecentTasks;->getRecentsComponentUid()I
-HSPLcom/android/server/wm/RecentTasks;->getTask(I)Lcom/android/server/wm/TaskRecord;
-PLcom/android/server/wm/RecentTasks;->getTaskDescriptionIcon(Ljava/lang/String;)Landroid/graphics/Bitmap;
-HSPLcom/android/server/wm/RecentTasks;->getTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
-HSPLcom/android/server/wm/RecentTasks;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HSPLcom/android/server/wm/RecentTasks;->hasCompatibleActivityTypeAndWindowingMode(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/RecentTasks;->isActiveRecentTask(Lcom/android/server/wm/TaskRecord;Landroid/util/SparseBooleanArray;)Z
-HSPLcom/android/server/wm/RecentTasks;->isCallerRecents(I)Z
-HSPLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/TaskRecord;IZ)Z
-HSPLcom/android/server/wm/RecentTasks;->isRecentsComponent(Landroid/content/ComponentName;I)Z
-HSPLcom/android/server/wm/RecentTasks;->isRecentsComponentHomeActivity(I)Z
-PLcom/android/server/wm/RecentTasks;->isTrimmable(Lcom/android/server/wm/TaskRecord;)Z
-PLcom/android/server/wm/RecentTasks;->isUserRunning(II)Z
-HSPLcom/android/server/wm/RecentTasks;->isVisibleRecentTask(Lcom/android/server/wm/TaskRecord;)Z
+PLcom/android/server/wm/RecentTasks;->getTask(I)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RecentTasks;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/wm/RecentTasks;->hasCompatibleActivityTypeAndWindowingMode(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RecentTasks;->isActiveRecentTask(Lcom/android/server/wm/Task;Landroid/util/SparseBooleanArray;)Z
+PLcom/android/server/wm/RecentTasks;->isCallerRecents(I)Z
+PLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/Task;IIZ)Z
+HPLcom/android/server/wm/RecentTasks;->isVisibleRecentTask(Lcom/android/server/wm/Task;)Z
HSPLcom/android/server/wm/RecentTasks;->loadParametersFromResources(Landroid/content/res/Resources;)V
-HSPLcom/android/server/wm/RecentTasks;->loadPersistedTaskIdsForUserLocked(I)V
-HSPLcom/android/server/wm/RecentTasks;->loadRecentsComponent(Landroid/content/res/Resources;)V
-HSPLcom/android/server/wm/RecentTasks;->loadUserRecentsLocked(I)V
-HSPLcom/android/server/wm/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/wm/TaskRecord;Z)V
-HSPLcom/android/server/wm/RecentTasks;->onSystemReadyLocked()V
-HSPLcom/android/server/wm/RecentTasks;->processNextAffiliateChainLocked(I)I
+PLcom/android/server/wm/RecentTasks;->loadPersistedTaskIdsForUserLocked(I)V
+PLcom/android/server/wm/RecentTasks;->loadRecentsComponent(Landroid/content/res/Resources;)V
+PLcom/android/server/wm/RecentTasks;->loadUserRecentsLocked(I)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskAdded(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskRemoved(Lcom/android/server/wm/Task;ZZ)V
+PLcom/android/server/wm/RecentTasks;->onSystemReadyLocked()V
+PLcom/android/server/wm/RecentTasks;->processNextAffiliateChainLocked(I)I
HSPLcom/android/server/wm/RecentTasks;->registerCallback(Lcom/android/server/wm/RecentTasks$Callbacks;)V
-HSPLcom/android/server/wm/RecentTasks;->remove(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/RecentTasks;->removeTasksByPackageName(Ljava/lang/String;I)V
-PLcom/android/server/wm/RecentTasks;->resetFreezeTaskListReordering(Lcom/android/server/wm/TaskRecord;)V
-PLcom/android/server/wm/RecentTasks;->resetFreezeTaskListReorderingOnTimeout()V
-HSPLcom/android/server/wm/RecentTasks;->saveImage(Landroid/graphics/Bitmap;Ljava/lang/String;)V
+PLcom/android/server/wm/RecentTasks;->remove(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RecentTasks;->removeForAddTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/RecentTasks;->removeTasksByPackageName(Ljava/lang/String;I)V
PLcom/android/server/wm/RecentTasks;->syncPersistentTaskIdsLocked()V
-HSPLcom/android/server/wm/RecentTasks;->trimInactiveRecentTasks()V
-HSPLcom/android/server/wm/RecentTasks;->usersWithRecentsLoadedLocked()[I
-PLcom/android/server/wm/RecentsAnimation$2;->canHandleReceivedAssistDataLocked()Z
-PLcom/android/server/wm/RecentsAnimation$2;->onAssistDataReceivedLocked(Landroid/os/Bundle;II)V
-PLcom/android/server/wm/RecentsAnimation;->finishAnimation(I)V
-PLcom/android/server/wm/RecentsAnimation;->getTargetActivity(Lcom/android/server/wm/ActivityStack;Landroid/content/ComponentName;)Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/RecentsAnimation;->lambda$finishAnimation$1$RecentsAnimation()V
-PLcom/android/server/wm/RecentsAnimation;->lambda$finishAnimation$2$RecentsAnimation(I)V
-PLcom/android/server/wm/RecentsAnimation;->lambda$startRecentsActivity$0$RecentsAnimation()V
+PLcom/android/server/wm/RecentTasks;->trimInactiveRecentTasks()V
+PLcom/android/server/wm/RecentTasks;->usersWithRecentsLoadedLocked()[I
+PLcom/android/server/wm/RecentsAnimation;-><clinit>()V
+PLcom/android/server/wm/RecentsAnimation;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStartController;Lcom/android/server/wm/WindowManagerService;Landroid/content/Intent;Landroid/content/ComponentName;ILcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/RecentsAnimation;->finishAnimation(IZ)V
+PLcom/android/server/wm/RecentsAnimation;->getTargetActivity(Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RecentsAnimation;->lambda$L-oo1O0uvOIOr4MDh9QYSeVU09U(Lcom/android/server/wm/RecentsAnimation;Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RecentsAnimation;->lambda$finishAnimation$0$RecentsAnimation(IZLcom/android/server/wm/RecentsAnimationController;)V
+PLcom/android/server/wm/RecentsAnimation;->matchesTarget(Lcom/android/server/wm/Task;)Z
PLcom/android/server/wm/RecentsAnimation;->notifyAnimationCancelBeforeStart(Landroid/view/IRecentsAnimationRunner;)V
PLcom/android/server/wm/RecentsAnimation;->onAnimationFinished(IZ)V
PLcom/android/server/wm/RecentsAnimation;->onStackOrderChanged(Lcom/android/server/wm/ActivityStack;)V
-PLcom/android/server/wm/RecentsAnimation;->requestAssistData(Landroid/content/ComponentName;ILandroid/app/IAssistDataReceiver;)V
-PLcom/android/server/wm/RecentsAnimation;->startRecentsActivity(Landroid/content/Intent;Landroid/view/IRecentsAnimationRunner;Landroid/content/ComponentName;ILandroid/app/IAssistDataReceiver;)V
-PLcom/android/server/wm/RecentsAnimationController$1;->onAppTransitionStartingLocked(IJJJ)I
-PLcom/android/server/wm/RecentsAnimationController$2;->finish(Z)V
+PLcom/android/server/wm/RecentsAnimation;->preloadRecentsActivity()V
+PLcom/android/server/wm/RecentsAnimation;->startRecentsActivity(Landroid/view/IRecentsAnimationRunner;)V
+PLcom/android/server/wm/RecentsAnimation;->startRecentsActivityInBackground(Ljava/lang/String;)V
+PLcom/android/server/wm/RecentsAnimationController$1;-><init>(Lcom/android/server/wm/RecentsAnimationController;)V
+PLcom/android/server/wm/RecentsAnimationController$2;-><init>(Lcom/android/server/wm/RecentsAnimationController;)V
+PLcom/android/server/wm/RecentsAnimationController$2;->finish(ZZ)V
PLcom/android/server/wm/RecentsAnimationController$2;->hideCurrentInputMethod()V
-PLcom/android/server/wm/RecentsAnimationController$2;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot;
PLcom/android/server/wm/RecentsAnimationController$2;->setAnimationTargetsBehindSystemBars(Z)V
-PLcom/android/server/wm/RecentsAnimationController$2;->setCancelWithDeferredScreenshot(Z)V
PLcom/android/server/wm/RecentsAnimationController$2;->setInputConsumerEnabled(Z)V
PLcom/android/server/wm/RecentsAnimationController$2;->setSplitScreenMinimized(Z)V
PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;-><init>(Lcom/android/server/wm/RecentsAnimationController;Lcom/android/server/wm/Task;Z)V
-PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->createRemoteAnimationApp()Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->access$1200(Lcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
+PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->access$600(Lcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->createRemoteAnimationTarget()Landroid/view/RemoteAnimationTarget;
PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/RecentsAnimationController;-><clinit>()V
PLcom/android/server/wm/RecentsAnimationController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IRecentsAnimationRunner;Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;I)V
+PLcom/android/server/wm/RecentsAnimationController;->access$000(Lcom/android/server/wm/RecentsAnimationController;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RecentsAnimationController;->access$100(Lcom/android/server/wm/RecentsAnimationController;)Z
+PLcom/android/server/wm/RecentsAnimationController;->access$1002(Lcom/android/server/wm/RecentsAnimationController;Z)Z
+PLcom/android/server/wm/RecentsAnimationController;->access$1300(Lcom/android/server/wm/RecentsAnimationController;)Landroid/graphics/Rect;
+PLcom/android/server/wm/RecentsAnimationController;->access$400(Lcom/android/server/wm/RecentsAnimationController;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/RecentsAnimationController;->access$500(Lcom/android/server/wm/RecentsAnimationController;)Ljava/util/ArrayList;
+PLcom/android/server/wm/RecentsAnimationController;->access$700(Lcom/android/server/wm/RecentsAnimationController;)Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;
+PLcom/android/server/wm/RecentsAnimationController;->access$800(Lcom/android/server/wm/RecentsAnimationController;)I
+PLcom/android/server/wm/RecentsAnimationController;->access$902(Lcom/android/server/wm/RecentsAnimationController;Z)Z
PLcom/android/server/wm/RecentsAnimationController;->addAnimation(Lcom/android/server/wm/Task;Z)Lcom/android/server/wm/AnimationAdapter;
-PLcom/android/server/wm/RecentsAnimationController;->cancelAnimation(IZZLjava/lang/String;)V
-PLcom/android/server/wm/RecentsAnimationController;->cancelAnimationSynchronously(ILjava/lang/String;)V
+PLcom/android/server/wm/RecentsAnimationController;->cancelAnimation(ILjava/lang/String;)V
+PLcom/android/server/wm/RecentsAnimationController;->cancelAnimation(IZLjava/lang/String;)V
PLcom/android/server/wm/RecentsAnimationController;->checkAnimationReady(Lcom/android/server/wm/WallpaperController;)V
PLcom/android/server/wm/RecentsAnimationController;->cleanupAnimation(I)V
-PLcom/android/server/wm/RecentsAnimationController;->initialize(ILandroid/util/SparseBooleanArray;)V
-PLcom/android/server/wm/RecentsAnimationController;->initialize(Lcom/android/server/wm/DisplayContent;ILandroid/util/SparseBooleanArray;)V
-PLcom/android/server/wm/RecentsAnimationController;->isAnimatingApp(Lcom/android/server/wm/AppWindowToken;)Z
+PLcom/android/server/wm/RecentsAnimationController;->createAppAnimations()[Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RecentsAnimationController;->createWallpaperAnimations()[Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RecentsAnimationController;->initialize(ILandroid/util/SparseBooleanArray;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RecentsAnimationController;->isAnimatingApp(Lcom/android/server/wm/ActivityRecord;)Z
PLcom/android/server/wm/RecentsAnimationController;->isAnimatingTask(Lcom/android/server/wm/Task;)Z
-PLcom/android/server/wm/RecentsAnimationController;->isTargetApp(Lcom/android/server/wm/AppWindowToken;)Z
+PLcom/android/server/wm/RecentsAnimationController;->isTargetApp(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RecentsAnimationController;->isTargetOverWallpaper()Z
PLcom/android/server/wm/RecentsAnimationController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/RecentsAnimationController;->onTransitionStart()V
+PLcom/android/server/wm/RecentsAnimationController;->lambda$initialize$1(Lcom/android/server/wm/Task;Ljava/util/ArrayList;)V
+PLcom/android/server/wm/RecentsAnimationController;->lambda$isAnimatingApp$5(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Ljava/lang/Boolean;
+PLcom/android/server/wm/RecentsAnimationController;->linkToDeathOfRunner()V
PLcom/android/server/wm/RecentsAnimationController;->removeAnimation(Lcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;)V
-PLcom/android/server/wm/RecentsAnimationController;->scheduleFailsafe()V
-PLcom/android/server/wm/RecentsAnimationController;->setCancelWithDeferredScreenshotLocked(Z)V
-PLcom/android/server/wm/RecentsAnimationController;->shouldApplyInputConsumer(Lcom/android/server/wm/AppWindowToken;)Z
-PLcom/android/server/wm/RecentsAnimationController;->shouldCancelWithDeferredScreenshot()Z
+PLcom/android/server/wm/RecentsAnimationController;->removeWallpaperAnimation(Lcom/android/server/wm/WallpaperAnimationAdapter;)V
+PLcom/android/server/wm/RecentsAnimationController;->shouldApplyInputConsumer(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RecentsAnimationController;->shouldDeferCancelUntilNextTransition()Z
+PLcom/android/server/wm/RecentsAnimationController;->shouldDeferCancelWithScreenshot()Z
PLcom/android/server/wm/RecentsAnimationController;->startAnimation()V
-PLcom/android/server/wm/RecentsAnimationController;->updateInputConsumerForApp(Landroid/view/InputWindowHandle;Z)Z
+PLcom/android/server/wm/RecentsAnimationController;->unlinkToDeathOfRunner()V
+PLcom/android/server/wm/RefreshRatePolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/DisplayInfo;Lcom/android/server/wm/HighRefreshRateBlacklist;)V
+PLcom/android/server/wm/RefreshRatePolicy;->findLowRefreshRateModeId(Landroid/view/DisplayInfo;)I
+PLcom/android/server/wm/RefreshRatePolicy;->getPreferredModeId(Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/RemoteAnimationController$FinishedCallback;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
PLcom/android/server/wm/RemoteAnimationController$FinishedCallback;->onAnimationFinished()V
+PLcom/android/server/wm/RemoteAnimationController$FinishedCallback;->release()V
PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;Landroid/graphics/Point;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getBackgroundColor()I
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->access$000(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getDurationHint()J
PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getShowWallpaper()Z
PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getStatusBarTransitionsStartTime()J
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/WindowContainer;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;->createRemoteAnimationTarget()Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;->getMode()I
+PLcom/android/server/wm/RemoteAnimationController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/RemoteAnimationAdapter;Landroid/os/Handler;)V
+PLcom/android/server/wm/RemoteAnimationController;->access$100(Lcom/android/server/wm/RemoteAnimationController;)V
+PLcom/android/server/wm/RemoteAnimationController;->access$300(Lcom/android/server/wm/RemoteAnimationController;)Landroid/view/RemoteAnimationAdapter;
PLcom/android/server/wm/RemoteAnimationController;->binderDied()V
PLcom/android/server/wm/RemoteAnimationController;->cancelAnimation(Ljava/lang/String;)V
-PLcom/android/server/wm/RemoteAnimationController;->createAnimations()[Landroid/view/RemoteAnimationTarget;
-PLcom/android/server/wm/RemoteAnimationController;->createRemoteAnimationRecord(Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;
+PLcom/android/server/wm/RemoteAnimationController;->createAppAnimations()[Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RemoteAnimationController;->createRemoteAnimationRecord(Lcom/android/server/wm/WindowContainer;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;
+PLcom/android/server/wm/RemoteAnimationController;->createWallpaperAnimations()[Landroid/view/RemoteAnimationTarget;
PLcom/android/server/wm/RemoteAnimationController;->goodToGo()V
PLcom/android/server/wm/RemoteAnimationController;->invokeAnimationCancelled()V
-PLcom/android/server/wm/RemoteAnimationController;->lambda$goodToGo$1$RemoteAnimationController([Landroid/view/RemoteAnimationTarget;)V
-PLcom/android/server/wm/RemoteAnimationController;->lambda$new$0$RemoteAnimationController()V
+PLcom/android/server/wm/RemoteAnimationController;->lambda$goodToGo$1$RemoteAnimationController([Landroid/view/RemoteAnimationTarget;[Landroid/view/RemoteAnimationTarget;)V
+PLcom/android/server/wm/RemoteAnimationController;->linkToDeathOfRunner()V
PLcom/android/server/wm/RemoteAnimationController;->onAnimationFinished()V
-HSPLcom/android/server/wm/RootActivityContainer$FindTaskResult;->clear()V
-PLcom/android/server/wm/RootActivityContainer$FindTaskResult;->setTo(Lcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
-HSPLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;->release()V
-HSPLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;->toString()Ljava/lang/String;
+PLcom/android/server/wm/RemoteAnimationController;->releaseFinishedCallback()V
+PLcom/android/server/wm/RemoteAnimationController;->setRunningRemoteAnimation(Z)V
+PLcom/android/server/wm/RemoteAnimationController;->unlinkToDeathOfRunner()V
+PLcom/android/server/wm/ResetTargetTaskHelper;-><init>()V
+PLcom/android/server/wm/ResetTargetTaskHelper;->lambda$APiSnEpUwnLFg5o4cp87NyJw4j4(Lcom/android/server/wm/ResetTargetTaskHelper;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ResetTargetTaskHelper;->lambda$O-Gmp4WswvLHsJ0Qd1g0pv2tF14(Lcom/android/server/wm/ResetTargetTaskHelper;Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/ResetTargetTaskHelper;->process(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/Task;Z)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/ResetTargetTaskHelper;->processActivity(Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/ResetTargetTaskHelper;->processCreatedTasks()V
+PLcom/android/server/wm/ResetTargetTaskHelper;->processTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/ResetTargetTaskHelper;->reset(Lcom/android/server/wm/Task;)V
+HSPLcom/android/server/wm/RootActivityContainer$FindTaskResult;-><init>()V
+PLcom/android/server/wm/RootActivityContainer$FindTaskResult;->apply(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RootActivityContainer$FindTaskResult;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/RootActivityContainer$FindTaskResult;->clear()V
+PLcom/android/server/wm/RootActivityContainer$FindTaskResult;->process(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack;)V
+HSPLcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;-><init>(Lcom/android/server/wm/RootActivityContainer;)V
+PLcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;->lambda$9-v97dlGzOZFE2uue1WUlIhpevA(Lcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;->process(Ljava/lang/String;Ljava/util/Set;ZZI)Z
+HPLcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;->processActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;->reset(Ljava/lang/String;Ljava/util/Set;ZZI)V
+PLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;-><init>(Lcom/android/server/wm/RootActivityContainer;Ljava/lang/String;I)V
+PLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;->access$000(Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;)I
+PLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;->release()V
HSPLcom/android/server/wm/RootActivityContainer;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
-HSPLcom/android/server/wm/RootActivityContainer;->addChild(Lcom/android/server/wm/ActivityDisplay;I)V
-PLcom/android/server/wm/RootActivityContainer;->addStartingWindowsForVisibleActivities(Z)V
-HSPLcom/android/server/wm/RootActivityContainer;->allPausedActivitiesComplete()Z
-HSPLcom/android/server/wm/RootActivityContainer;->allResumedActivitiesIdle()Z
-HSPLcom/android/server/wm/RootActivityContainer;->allResumedActivitiesVisible()Z
-PLcom/android/server/wm/RootActivityContainer;->anyTaskForId(I)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/RootActivityContainer;->anyTaskForId(II)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/RootActivityContainer;->anyTaskForId(IILandroid/app/ActivityOptions;Z)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/RootActivityContainer;->applySleepTokens(Z)V
-HSPLcom/android/server/wm/RootActivityContainer;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
-HSPLcom/android/server/wm/RootActivityContainer;->canStartHomeOnDisplay(Landroid/content/pm/ActivityInfo;IZ)Z
-HSPLcom/android/server/wm/RootActivityContainer;->cancelInitializingActivities()V
-PLcom/android/server/wm/RootActivityContainer;->closeSystemDialogs()V
-HSPLcom/android/server/wm/RootActivityContainer;->continueUpdateBounds(I)V
-HSPLcom/android/server/wm/RootActivityContainer;->createSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
-HSPLcom/android/server/wm/RootActivityContainer;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/RootActivityContainer;->dumpActivities(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;)Z
-HSPLcom/android/server/wm/RootActivityContainer;->dumpDisplayConfigs(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/RootActivityContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZ)V
-HSPLcom/android/server/wm/RootActivityContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
-HSPLcom/android/server/wm/RootActivityContainer;->ensureVisibilityAndConfig(Lcom/android/server/wm/ActivityRecord;IZZ)Z
-HSPLcom/android/server/wm/RootActivityContainer;->executeAppTransitionForAllDisplay()V
-PLcom/android/server/wm/RootActivityContainer;->findActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Z)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/RootActivityContainer;->findTask(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/RootActivityContainer;->finishDisabledPackageActivities(Ljava/lang/String;Ljava/util/Set;ZZI)Z
-HSPLcom/android/server/wm/RootActivityContainer;->finishTopCrashedActivities(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)I
-PLcom/android/server/wm/RootActivityContainer;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-HSPLcom/android/server/wm/RootActivityContainer;->getActivityDisplay(I)Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/RootActivityContainer;->getActivityDisplay(Ljava/lang/String;)Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/RootActivityContainer;->getActivityDisplayOrCreate(I)Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/RootActivityContainer;->getChildAt(I)Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/RootActivityContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+PLcom/android/server/wm/RootActivityContainer;->access$100(Lcom/android/server/wm/RootActivityContainer;)Lcom/android/server/wm/RootWindowContainer;
+PLcom/android/server/wm/RootActivityContainer;->access$200(Lcom/android/server/wm/RootActivityContainer;Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;)V
+PLcom/android/server/wm/RootActivityContainer;->addChild(Lcom/android/server/wm/ActivityDisplay;I)V
+PLcom/android/server/wm/RootActivityContainer;->allPausedActivitiesComplete()Z
+PLcom/android/server/wm/RootActivityContainer;->allResumedActivitiesIdle()Z
+PLcom/android/server/wm/RootActivityContainer;->allResumedActivitiesVisible()Z
+PLcom/android/server/wm/RootActivityContainer;->anyTaskForId(II)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/RootActivityContainer;->anyTaskForId(IILandroid/app/ActivityOptions;Z)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/RootActivityContainer;->applySleepTokens(Z)V
+PLcom/android/server/wm/RootActivityContainer;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/RootActivityContainer;->calculateDefaultMinimalSizeOfResizeableTasks()V
+PLcom/android/server/wm/RootActivityContainer;->canLaunchOnDisplay(Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/RootActivityContainer;->canStartHomeOnDisplay(Landroid/content/pm/ActivityInfo;IZ)Z
+PLcom/android/server/wm/RootActivityContainer;->cancelInitializingActivities()V
+PLcom/android/server/wm/RootActivityContainer;->continueUpdateBounds(I)V
+PLcom/android/server/wm/RootActivityContainer;->createSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+PLcom/android/server/wm/RootActivityContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZ)V
+PLcom/android/server/wm/RootActivityContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
+PLcom/android/server/wm/RootActivityContainer;->ensureVisibilityAndConfig(Lcom/android/server/wm/ActivityRecord;IZZ)Z
+PLcom/android/server/wm/RootActivityContainer;->executeAppTransitionForAllDisplay()V
+PLcom/android/server/wm/RootActivityContainer;->findTask(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootActivityContainer;->finishDisabledPackageActivities(Ljava/lang/String;Ljava/util/Set;ZZI)Z
+PLcom/android/server/wm/RootActivityContainer;->finishTopCrashedActivities(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)I
+PLcom/android/server/wm/RootActivityContainer;->getActivityDisplay(I)Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/RootActivityContainer;->getActivityDisplayOrCreate(I)Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/RootActivityContainer;->getChildAt(I)Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/RootActivityContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
HSPLcom/android/server/wm/RootActivityContainer;->getChildCount()I
-HSPLcom/android/server/wm/RootActivityContainer;->getDefaultDisplay()Lcom/android/server/wm/ActivityDisplay;
-HSPLcom/android/server/wm/RootActivityContainer;->getDisplayOverrideConfiguration(I)Landroid/content/res/Configuration;
-PLcom/android/server/wm/RootActivityContainer;->getDumpActivities(Ljava/lang/String;ZZ)Ljava/util/ArrayList;
-PLcom/android/server/wm/RootActivityContainer;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;Z)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/RootActivityContainer;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;ZLcom/android/server/wm/LaunchParamsController$LaunchParams;)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/RootActivityContainer;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/RootActivityContainer;->getRunningTasks(ILjava/util/List;IIIZ)V
-HSPLcom/android/server/wm/RootActivityContainer;->getStack(I)Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/RootActivityContainer;->getStackInfo(I)Landroid/app/ActivityManager$StackInfo;
-HSPLcom/android/server/wm/RootActivityContainer;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-HSPLcom/android/server/wm/RootActivityContainer;->getStackInfo(Lcom/android/server/wm/ActivityStack;)Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/wm/RootActivityContainer;->getDefaultDisplay()Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/RootActivityContainer;->getDisplayOverrideConfiguration(I)Landroid/content/res/Configuration;
+PLcom/android/server/wm/RootActivityContainer;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;ZLcom/android/server/wm/LaunchParamsController$LaunchParams;II)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->getRunningTasks(ILjava/util/List;IIIZZLandroid/util/ArraySet;)V
+PLcom/android/server/wm/RootActivityContainer;->getStack(I)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->getStack(II)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->getStackInfo(I)Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/wm/RootActivityContainer;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/wm/RootActivityContainer;->getStackInfo(Lcom/android/server/wm/ActivityStack;)Landroid/app/ActivityManager$StackInfo;
HSPLcom/android/server/wm/RootActivityContainer;->getTopDisplayFocusedStack()Lcom/android/server/wm/ActivityStack;
HSPLcom/android/server/wm/RootActivityContainer;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/RootActivityContainer;->getTopVisibleActivities()Ljava/util/List;
-HSPLcom/android/server/wm/RootActivityContainer;->getValidLaunchStackOnDisplay(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)Lcom/android/server/wm/ActivityStack;
-PLcom/android/server/wm/RootActivityContainer;->handleAppCrash(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/RootActivityContainer;->handleAppDied(Lcom/android/server/wm/WindowProcessController;)Z
-HSPLcom/android/server/wm/RootActivityContainer;->hasAwakeDisplay()Z
-HSPLcom/android/server/wm/RootActivityContainer;->invalidateTaskLayers()V
-HSPLcom/android/server/wm/RootActivityContainer;->isDisplayAdded(I)Z
-HSPLcom/android/server/wm/RootActivityContainer;->isFocusable(Lcom/android/server/wm/ConfigurationContainer;Z)Z
-HSPLcom/android/server/wm/RootActivityContainer;->isInAnyStack(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/RootActivityContainer;->isTopDisplayFocusedStack(Lcom/android/server/wm/ActivityStack;)Z
-HSPLcom/android/server/wm/RootActivityContainer;->isValidLaunchStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;I)Z
-PLcom/android/server/wm/RootActivityContainer;->moveActivityToPinnedStack(Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;FLjava/lang/String;)V
-HSPLcom/android/server/wm/RootActivityContainer;->onChildPositionChanged(Lcom/android/server/wm/ActivityDisplay;I)V
-PLcom/android/server/wm/RootActivityContainer;->onDisplayAdded(I)V
-HSPLcom/android/server/wm/RootActivityContainer;->onDisplayChanged(I)V
-PLcom/android/server/wm/RootActivityContainer;->onDisplayRemoved(I)V
-HSPLcom/android/server/wm/RootActivityContainer;->positionChildAt(Lcom/android/server/wm/ActivityDisplay;I)V
-HSPLcom/android/server/wm/RootActivityContainer;->putStacksToSleep(ZZ)Z
+PLcom/android/server/wm/RootActivityContainer;->getValidLaunchStackOnDisplay(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/Task;Landroid/app/ActivityOptions;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->handleAppDied(Lcom/android/server/wm/WindowProcessController;)Z
+PLcom/android/server/wm/RootActivityContainer;->hasAwakeDisplay()Z
+PLcom/android/server/wm/RootActivityContainer;->invalidateTaskLayers()V
+PLcom/android/server/wm/RootActivityContainer;->isFocusable(Lcom/android/server/wm/ConfigurationContainer;Z)Z
+PLcom/android/server/wm/RootActivityContainer;->isInAnyStack(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootActivityContainer;->isTopDisplayFocusedStack(Lcom/android/server/wm/ActivityStack;)Z
+PLcom/android/server/wm/RootActivityContainer;->isValidLaunchStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;I)Z
+PLcom/android/server/wm/RootActivityContainer;->lambda$addStartingWindowsForVisibleActivities$0(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootActivityContainer;->lambda$closeSystemDialogs$1(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootActivityContainer;->lambda$eTBwQBLMAzyK1I2vbgH_wbrf5n0(Lcom/android/server/wm/RootActivityContainer;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RootActivityContainer;->lambda$m1XaUaXYDseEoG-rccxbUydXgO8(Lcom/android/server/wm/RootActivityContainer;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootActivityContainer;->lambda$xJQTdvTIrdue_psRt_XJNwTCmzA(Lcom/android/server/wm/ActivityRecord;Landroid/content/pm/ApplicationInfo;ILjava/lang/String;)V
+PLcom/android/server/wm/RootActivityContainer;->onChildPositionChanged(Lcom/android/server/wm/DisplayContent;I)V
+PLcom/android/server/wm/RootActivityContainer;->onDisplayChanged(I)V
+PLcom/android/server/wm/RootActivityContainer;->positionChildAt(Lcom/android/server/wm/DisplayContent;I)V
+PLcom/android/server/wm/RootActivityContainer;->putStacksToSleep(ZZ)Z
+PLcom/android/server/wm/RootActivityContainer;->rankTaskLayerForActivity(Lcom/android/server/wm/ActivityRecord;)V
HSPLcom/android/server/wm/RootActivityContainer;->rankTaskLayersIfNeeded()V
-PLcom/android/server/wm/RootActivityContainer;->removeChild(Lcom/android/server/wm/ActivityDisplay;)V
-HSPLcom/android/server/wm/RootActivityContainer;->removeSleepToken(Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;)V
-PLcom/android/server/wm/RootActivityContainer;->removeStacksInWindowingModes([I)V
-PLcom/android/server/wm/RootActivityContainer;->resizeStack(Lcom/android/server/wm/ActivityStack;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZZ)V
-PLcom/android/server/wm/RootActivityContainer;->resolveActivities(ILandroid/content/Intent;)Ljava/util/List;
-HSPLcom/android/server/wm/RootActivityContainer;->resolveActivityType(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;)I
-HSPLcom/android/server/wm/RootActivityContainer;->resolveHomeActivity(ILandroid/content/Intent;)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/wm/RootActivityContainer;->resolveSecondaryHomeActivity(II)Landroid/util/Pair;
-HSPLcom/android/server/wm/RootActivityContainer;->resumeFocusedStacksTopActivities()Z
-HSPLcom/android/server/wm/RootActivityContainer;->resumeFocusedStacksTopActivities(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
-HSPLcom/android/server/wm/RootActivityContainer;->resumeHomeActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)Z
-HSPLcom/android/server/wm/RootActivityContainer;->sendPowerHintForLaunchEndIfNeeded()V
-HSPLcom/android/server/wm/RootActivityContainer;->sendPowerHintForLaunchStartIfNeeded(ZLcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/RootActivityContainer;->setDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)V
-HSPLcom/android/server/wm/RootActivityContainer;->setDockedStackMinimized(Z)V
-HSPLcom/android/server/wm/RootActivityContainer;->setWindowContainer(Lcom/android/server/wm/RootWindowContainer;)V
-HSPLcom/android/server/wm/RootActivityContainer;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/RootActivityContainer;->startHomeOnAllDisplays(ILjava/lang/String;)Z
-HSPLcom/android/server/wm/RootActivityContainer;->startHomeOnDisplay(ILjava/lang/String;I)Z
-HSPLcom/android/server/wm/RootActivityContainer;->startHomeOnDisplay(ILjava/lang/String;IZZ)Z
-HSPLcom/android/server/wm/RootActivityContainer;->startHomeOnEmptyDisplays(Ljava/lang/String;)V
-HSPLcom/android/server/wm/RootActivityContainer;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootActivityContainer;->removeSleepToken(Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;)V
+PLcom/android/server/wm/RootActivityContainer;->resolveActivityType(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/RootActivityContainer;->resolveHomeActivity(ILandroid/content/Intent;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/RootActivityContainer;->resumeFocusedStacksTopActivities()Z
+PLcom/android/server/wm/RootActivityContainer;->resumeFocusedStacksTopActivities(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+PLcom/android/server/wm/RootActivityContainer;->resumeHomeActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)Z
+PLcom/android/server/wm/RootActivityContainer;->sendPowerHintForLaunchEndIfNeeded()V
+PLcom/android/server/wm/RootActivityContainer;->sendPowerHintForLaunchStartIfNeeded(ZLcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootActivityContainer;->setDockedStackMinimized(Z)V
+PLcom/android/server/wm/RootActivityContainer;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/RootActivityContainer;->startActivityForAttachedApplicationIfNeeded(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/RootActivityContainer;->startHomeOnAllDisplays(ILjava/lang/String;)Z
+PLcom/android/server/wm/RootActivityContainer;->startHomeOnDisplay(ILjava/lang/String;I)Z
+PLcom/android/server/wm/RootActivityContainer;->startHomeOnDisplay(ILjava/lang/String;IZZ)Z
+PLcom/android/server/wm/RootActivityContainer;->startHomeOnEmptyDisplays(Ljava/lang/String;)V
+PLcom/android/server/wm/RootActivityContainer;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
PLcom/android/server/wm/RootActivityContainer;->updateActivityApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
-HSPLcom/android/server/wm/RootActivityContainer;->updatePreviousProcess(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/RootActivityContainer;->updateUIDsPresentOnDisplay()V
-HSPLcom/android/server/wm/RootActivityContainer;->updateUserStack(ILcom/android/server/wm/ActivityStack;)V
-PLcom/android/server/wm/RootActivityContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction(Z)V
-HSPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V
-PLcom/android/server/wm/RootWindowContainer;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z
-HSPLcom/android/server/wm/RootWindowContainer;->createDisplayContent(Landroid/view/Display;Lcom/android/server/wm/ActivityDisplay;)Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/RootWindowContainer;->dumpDisplayContents(Ljava/io/PrintWriter;)V
-PLcom/android/server/wm/RootWindowContainer;->dumpLayoutNeededDisplayIds(Ljava/io/PrintWriter;)V
-PLcom/android/server/wm/RootWindowContainer;->dumpTokens(Ljava/io/PrintWriter;Z)V
-PLcom/android/server/wm/RootWindowContainer;->dumpTopFocusedDisplayId(Ljava/io/PrintWriter;)V
-PLcom/android/server/wm/RootWindowContainer;->dumpWindowsNoHeader(Ljava/io/PrintWriter;ZLjava/util/ArrayList;)V
-HSPLcom/android/server/wm/RootWindowContainer;->forAllDisplayPolicies(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/wm/RootWindowContainer;->forAllDisplays(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/wm/RootWindowContainer;->getAppWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/RootWindowContainer;->getCurrentInputMethodWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/RootWindowContainer;->getStack(II)Lcom/android/server/wm/TaskStack;
-HSPLcom/android/server/wm/RootWindowContainer;->getTopFocusedDisplayContent()Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
-HSPLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z
-HSPLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()V
-HSPLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z
-HSPLcom/android/server/wm/RootWindowContainer;->isAnyNonToastWindowVisibleForUid(I)Z
-HSPLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z
-PLcom/android/server/wm/RootWindowContainer;->lambda$dumpWindowsNoHeader$11(Ljava/util/ArrayList;Ljava/io/PrintWriter;[IZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/RootActivityContainer;->updateActivityApplicationInfo(Lcom/android/server/wm/ActivityRecord;Landroid/content/pm/ApplicationInfo;ILjava/lang/String;)V
+PLcom/android/server/wm/RootActivityContainer;->updatePreviousProcess(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/RootActivityContainer;->updateUIDsPresentOnDisplay()V
+PLcom/android/server/wm/RootActivityContainer;->updateUserStack(ILcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/RootWindowContainer$MyHandler;-><init>(Lcom/android/server/wm/RootWindowContainer;Landroid/os/Looper;)V
+PLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/RootWindowContainer;-><clinit>()V
+PLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction(Z)V
+PLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V
+PLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z
+PLcom/android/server/wm/RootWindowContainer;->forAllDisplayPolicies(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/RootWindowContainer;->forAllDisplays(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/RootWindowContainer;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootWindowContainer;->getCurrentInputMethodWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RootWindowContainer;->getStack(II)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootWindowContainer;->getTopFocusedDisplayContent()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+PLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent;
+HPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z
+PLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()V
+PLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z
+PLcom/android/server/wm/RootWindowContainer;->isAnyNonToastWindowVisibleForUid(I)Z
+PLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z
+HPLcom/android/server/wm/RootWindowContainer;->isOnTop()Z
PLcom/android/server/wm/RootWindowContainer;->lambda$new$0$RootWindowContainer(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/RootWindowContainer;->onChildPositionChanged()V
-HSPLcom/android/server/wm/RootWindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/RootWindowContainer;->onSettingsRetrieved()V
-HSPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement(Z)V
-HSPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;Z)V
-HSPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
-PLcom/android/server/wm/RootWindowContainer;->removeChild(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/RootWindowContainer;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/RootWindowContainer;->removeReplacedWindows()V
-HSPLcom/android/server/wm/RootWindowContainer;->scheduleAnimation()V
-HSPLcom/android/server/wm/RootWindowContainer;->setDisplayOverrideConfigurationIfNeeded(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/RootWindowContainer;->setRootActivityContainer(Lcom/android/server/wm/RootActivityContainer;)V
-HSPLcom/android/server/wm/RootWindowContainer;->setSecureSurfaceState(IZ)V
-PLcom/android/server/wm/RootWindowContainer;->updateAppOpsState()V
-HSPLcom/android/server/wm/RootWindowContainer;->updateFocusedWindowLocked(IZ)Z
-HSPLcom/android/server/wm/RootWindowContainer;->updateRotationUnchecked()Z
-PLcom/android/server/wm/RootWindowContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;IILjava/util/ArrayList;IZ)V
-HSPLcom/android/server/wm/SafeActivityOptions;-><init>(Landroid/app/ActivityOptions;)V
-HSPLcom/android/server/wm/SafeActivityOptions;->checkPermissions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/app/ActivityOptions;II)V
-HSPLcom/android/server/wm/SafeActivityOptions;->fromBundle(Landroid/os/Bundle;)Lcom/android/server/wm/SafeActivityOptions;
-HSPLcom/android/server/wm/SafeActivityOptions;->getOptions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
-PLcom/android/server/wm/SafeActivityOptions;->getOptions(Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
-HSPLcom/android/server/wm/SafeActivityOptions;->mergeActivityOptions(Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
-HSPLcom/android/server/wm/SafeActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
-HSPLcom/android/server/wm/ScreenRotationAnimation;-><init>(Landroid/content/Context;Lcom/android/server/wm/DisplayContent;ZZLcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/ScreenRotationAnimation;->createRotationMatrix(IIILandroid/graphics/Matrix;)V
-HSPLcom/android/server/wm/ScreenRotationAnimation;->dismiss(Landroid/view/SurfaceControl$Transaction;JFIIII)Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->getEnterTransformation()Landroid/view/animation/Transformation;
-HSPLcom/android/server/wm/ScreenRotationAnimation;->hasScreenshot()Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->isAnimating()Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->isRotating()Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->kill()V
-HSPLcom/android/server/wm/ScreenRotationAnimation;->setRotation(Landroid/view/SurfaceControl$Transaction;IJFII)Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->setSnapshotTransform(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Matrix;F)V
-HSPLcom/android/server/wm/ScreenRotationAnimation;->startAnimation(Landroid/view/SurfaceControl$Transaction;JFIIZII)Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->stepAnimation(J)Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->stepAnimationLocked(J)Z
-HSPLcom/android/server/wm/ScreenRotationAnimation;->updateSurfaces(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/SeamlessRotator;-><init>(IILandroid/view/DisplayInfo;)V
-HSPLcom/android/server/wm/SeamlessRotator;->finish(Lcom/android/server/wm/WindowState;Z)V
-HSPLcom/android/server/wm/SeamlessRotator;->unrotate(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;)V
-HSPLcom/android/server/wm/Session;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
-HSPLcom/android/server/wm/Session;->binderDied()V
-PLcom/android/server/wm/Session;->dragRecipientEntered(Landroid/view/IWindow;)V
-PLcom/android/server/wm/Session;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;)V
-PLcom/android/server/wm/Session;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/Session;->getInTouchMode()Z
-PLcom/android/server/wm/Session;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
-PLcom/android/server/wm/Session;->hasAlertWindowSurfaces()Z
-HSPLcom/android/server/wm/Session;->killSessionLocked()V
-HSPLcom/android/server/wm/Session;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V
-PLcom/android/server/wm/Session;->performDrag(Landroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
+PLcom/android/server/wm/RootWindowContainer;->lambda$performSurfacePlacementNoTrace$9(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$setSecureSurfaceState$4(IZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/RootWindowContainer;->lambda$static$1(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/RootWindowContainer;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/RootWindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/RootWindowContainer;->onSettingsRetrieved()V
+PLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement(Z)V
+HPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacementNoTrace(Z)V
+PLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;Z)V
+PLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/RootWindowContainer;->prepareFreezingTaskBounds()V
+PLcom/android/server/wm/RootWindowContainer;->removeReplacedWindows()V
+PLcom/android/server/wm/RootWindowContainer;->scheduleAnimation()V
+PLcom/android/server/wm/RootWindowContainer;->setDisplayOverrideConfigurationIfNeeded(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/RootWindowContainer;->setRootActivityContainer(Lcom/android/server/wm/RootActivityContainer;)V
+PLcom/android/server/wm/RootWindowContainer;->setSecureSurfaceState(IZ)V
+PLcom/android/server/wm/RootWindowContainer;->updateFocusedWindowLocked(IZ)Z
+HSPLcom/android/server/wm/RunningTasks;-><clinit>()V
+HSPLcom/android/server/wm/RunningTasks;-><init>()V
+PLcom/android/server/wm/RunningTasks;->createRunningTaskInfo(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$RunningTaskInfo;
+PLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;IILjava/util/ArrayList;IZZLandroid/util/ArraySet;)V
+HPLcom/android/server/wm/RunningTasks;->lambda$static$0(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/SafeActivityOptions;-><init>(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/SafeActivityOptions;->abort(Lcom/android/server/wm/SafeActivityOptions;)V
+PLcom/android/server/wm/SafeActivityOptions;->checkPermissions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/app/ActivityOptions;II)V
+HPLcom/android/server/wm/SafeActivityOptions;->fromBundle(Landroid/os/Bundle;)Lcom/android/server/wm/SafeActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->getOptions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->mergeActivityOptions(Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/SafeActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
+PLcom/android/server/wm/SafeActivityOptions;->setCallingPidUidForRemoteAnimationAdapter(Landroid/app/ActivityOptions;II)V
+PLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;)V
+PLcom/android/server/wm/Session;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
+PLcom/android/server/wm/Session;->binderDied()V
+PLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Session;->getInTouchMode()Z
+PLcom/android/server/wm/Session;->killSessionLocked()V
+PLcom/android/server/wm/Session;->lambda$setWallpaperPosition$0(FFFFLcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Session;->lambda$wallpaperOffsetsComplete$1(Landroid/os/IBinder;Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)V
+HPLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V
PLcom/android/server/wm/Session;->performHapticFeedback(IZ)Z
-PLcom/android/server/wm/Session;->pokeDrawLock(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
-HSPLcom/android/server/wm/Session;->remove(Landroid/view/IWindow;)V
-PLcom/android/server/wm/Session;->reportDropResult(Landroid/view/IWindow;Z)V
-PLcom/android/server/wm/Session;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-HSPLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-PLcom/android/server/wm/Session;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
+HPLcom/android/server/wm/Session;->pokeDrawLock(Landroid/os/IBinder;)V
+HPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
+PLcom/android/server/wm/Session;->remove(Landroid/view/IWindow;)V
+PLcom/android/server/wm/Session;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V
+PLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
PLcom/android/server/wm/Session;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
-PLcom/android/server/wm/Session;->toString()Ljava/lang/String;
-PLcom/android/server/wm/Session;->updatePointerIcon(Landroid/view/IWindow;)V
PLcom/android/server/wm/Session;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/Session;->windowAddedLocked(Ljava/lang/String;)V
-HSPLcom/android/server/wm/Session;->windowRemovedLocked()V
-PLcom/android/server/wm/SnapshotStartingData;->createStartingSurface(Lcom/android/server/wm/AppWindowToken;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
+PLcom/android/server/wm/Session;->windowAddedLocked(Ljava/lang/String;)V
+PLcom/android/server/wm/Session;->windowRemovedLocked()V
+PLcom/android/server/wm/SnapshotStartingData;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/app/ActivityManager$TaskSnapshot;)V
+PLcom/android/server/wm/SnapshotStartingData;->createStartingSurface(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
PLcom/android/server/wm/SplashScreenStartingData;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/content/res/Configuration;)V
-PLcom/android/server/wm/SplashScreenStartingData;->createStartingSurface(Lcom/android/server/wm/AppWindowToken;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
-HSPLcom/android/server/wm/StatusBarController$1;->lambda$$0$StatusBarController$1()V
-HSPLcom/android/server/wm/StatusBarController$1;->lambda$$1$StatusBarController$1()V
-HSPLcom/android/server/wm/StatusBarController$1;->lambda$$2$StatusBarController$1()V
-HSPLcom/android/server/wm/StatusBarController$1;->lambda$onAppTransitionStartingLocked$3$StatusBarController$1(JJ)V
-HSPLcom/android/server/wm/StatusBarController$1;->onAppTransitionCancelledLocked(I)V
-HSPLcom/android/server/wm/StatusBarController$1;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/StatusBarController$1;->onAppTransitionPendingLocked()V
-HSPLcom/android/server/wm/StatusBarController$1;->onAppTransitionStartingLocked(IJJJ)I
-HSPLcom/android/server/wm/StatusBarController;->getAppTransitionListener()Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
-HSPLcom/android/server/wm/StatusBarController;->setTopAppHidesStatusBar(Z)V
-HSPLcom/android/server/wm/StatusBarController;->skipAnimation()Z
-HSPLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
-HSPLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;Landroid/view/SurfaceControl$Transaction;Landroid/os/PowerManagerInternal;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/os/PowerManagerInternal;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->continueStartingAnimations()V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->deferStartingAnimations()V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$0$SurfaceAnimationRunner()V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$1$SurfaceAnimationRunner()Landroid/animation/ValueAnimator;
-PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$onAnimationCancelled$2$SurfaceAnimationRunner(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$3$SurfaceAnimationRunner(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/SplashScreenStartingData;->createStartingSurface(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
+PLcom/android/server/wm/StartingData;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/StatusBarController$1;-><init>(Lcom/android/server/wm/StatusBarController;)V
+PLcom/android/server/wm/StatusBarController$1;->lambda$$0$StatusBarController$1()V
+PLcom/android/server/wm/StatusBarController$1;->lambda$$2$StatusBarController$1()V
+PLcom/android/server/wm/StatusBarController$1;->lambda$onAppTransitionStartingLocked$3$StatusBarController$1(JJ)V
+PLcom/android/server/wm/StatusBarController$1;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/StatusBarController$1;->onAppTransitionPendingLocked()V
+PLcom/android/server/wm/StatusBarController$1;->onAppTransitionStartingLocked(IJJJ)I
+PLcom/android/server/wm/StatusBarController;-><init>(I)V
+PLcom/android/server/wm/StatusBarController;->getAppTransitionListener()Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
+PLcom/android/server/wm/StatusBarController;->setTopAppHidesStatusBar(Z)V
+PLcom/android/server/wm/StatusBarController;->skipAnimation()Z
+PLcom/android/server/wm/SurfaceAnimationRunner$1;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationStart(Landroid/animation/Animator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;->access$000(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)Z
+PLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
+PLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;Landroid/view/SurfaceControl$Transaction;Landroid/os/PowerManagerInternal;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Ljava/util/function/Supplier;Landroid/os/PowerManagerInternal;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->access$100(Lcom/android/server/wm/SurfaceAnimationRunner;)Ljava/lang/Object;
+PLcom/android/server/wm/SurfaceAnimationRunner;->access$200(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/SurfaceAnimationRunner;->access$300(Lcom/android/server/wm/SurfaceAnimationRunner;)Ljava/lang/Object;
+PLcom/android/server/wm/SurfaceAnimationRunner;->access$400(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/animation/AnimationHandler;
+PLcom/android/server/wm/SurfaceAnimationRunner;->applyTransformation(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/view/SurfaceControl$Transaction;J)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->continueStartingAnimations()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->deferStartingAnimations()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$0$SurfaceAnimationRunner()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$3$SurfaceAnimationRunner(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
PLcom/android/server/wm/SurfaceAnimationRunner;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->startAnimation(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Ljava/lang/Runnable;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->startAnimationLocked(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
-HSPLcom/android/server/wm/SurfaceAnimationRunner;->startAnimations(J)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->scheduleApplyTransaction()V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimation(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimationLocked(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimations(J)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->startPendingAnimationsLocked()V
+HSPLcom/android/server/wm/SurfaceAnimationThread;-><init>()V
HSPLcom/android/server/wm/SurfaceAnimationThread;->ensureThreadLocked()V
HSPLcom/android/server/wm/SurfaceAnimationThread;->get()Lcom/android/server/wm/SurfaceAnimationThread;
HSPLcom/android/server/wm/SurfaceAnimationThread;->getHandler()Landroid/os/Handler;
-HSPLcom/android/server/wm/SurfaceAnimator$Animatable;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
-HSPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation()V
-HSPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V
-HSPLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIZ)Landroid/view/SurfaceControl;
-PLcom/android/server/wm/SurfaceAnimator;->endDelayingAnimationStart()V
-HSPLcom/android/server/wm/SurfaceAnimator;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
-HSPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
-HSPLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z
+PLcom/android/server/wm/SurfaceAnimator$Animatable;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/SurfaceAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimator$Animatable;Ljava/lang/Runnable;Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/SurfaceAnimator;->cancelAnimation()V
+PLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V
+PLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIZ)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/SurfaceAnimator;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
+PLcom/android/server/wm/SurfaceAnimator;->getFinishedCallback(Ljava/lang/Runnable;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
+PLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
+PLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z
PLcom/android/server/wm/SurfaceAnimator;->isAnimationStartDelayed()Z
-HSPLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$0$SurfaceAnimator(Ljava/lang/Runnable;)V
-HSPLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$1$SurfaceAnimator(Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;)V
-PLcom/android/server/wm/SurfaceAnimator;->reparent(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/SurfaceAnimator;->reset(Landroid/view/SurfaceControl$Transaction;Z)V
-HSPLcom/android/server/wm/SurfaceAnimator;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HSPLcom/android/server/wm/SurfaceAnimator;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
-HSPLcom/android/server/wm/SurfaceAnimator;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
-PLcom/android/server/wm/SurfaceAnimator;->transferAnimation(Lcom/android/server/wm/SurfaceAnimator;)V
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
+PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$1$SurfaceAnimator(Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/SurfaceAnimator;->reset(Landroid/view/SurfaceControl$Transaction;Z)V
+PLcom/android/server/wm/SurfaceAnimator;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/SurfaceAnimator;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+PLcom/android/server/wm/SurfaceAnimator;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
+PLcom/android/server/wm/SurfaceAnimator;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$1;-><init>(Lcom/android/server/wm/SystemGesturesPointerEventListener;Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;-><init>(Lcom/android/server/wm/SystemGesturesPointerEventListener;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
PLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;->onSingleTapUp(Landroid/view/MotionEvent;)Z
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;)V
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->captureDown(Landroid/view/MotionEvent;I)V
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(IJFF)I
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(Landroid/view/MotionEvent;)I
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->findIndex(I)I
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
-HSPLcom/android/server/wm/SystemGesturesPointerEventListener;->systemReady()V
-HSPLcom/android/server/wm/Task;-><init>(ILcom/android/server/wm/TaskStack;ILcom/android/server/wm/WindowManagerService;IZLandroid/app/ActivityManager$TaskDescription;Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/AppWindowToken;I)V
-HSPLcom/android/server/wm/Task;->adjustBoundsForDisplayChangeIfNeeded(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z
-PLcom/android/server/wm/Task;->clearPreserveNonFloatingState()V
-HSPLcom/android/server/wm/Task;->cropWindowsToStackBounds()Z
-PLcom/android/server/wm/Task;->dontAnimateDimExit()V
-PLcom/android/server/wm/Task;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/Task;->fillsParent()Z
+PLcom/android/server/wm/SystemGesturesPointerEventListener;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->access$000(Lcom/android/server/wm/SystemGesturesPointerEventListener;)Landroid/content/Context;
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->access$100(Lcom/android/server/wm/SystemGesturesPointerEventListener;)J
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->access$102(Lcom/android/server/wm/SystemGesturesPointerEventListener;J)J
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->access$200(Lcom/android/server/wm/SystemGesturesPointerEventListener;)Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->captureDown(Landroid/view/MotionEvent;I)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->checkNull(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(IJFF)I
+HPLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(Landroid/view/MotionEvent;)I
+HPLcom/android/server/wm/SystemGesturesPointerEventListener;->findIndex(I)I
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->lambda$systemReady$0$SystemGesturesPointerEventListener()V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->onConfigurationChanged()V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->systemReady()V
+PLcom/android/server/wm/Task$FindRootHelper;-><init>(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task$FindRootHelper;-><init>(Lcom/android/server/wm/Task;Lcom/android/server/wm/Task$1;)V
+PLcom/android/server/wm/Task$FindRootHelper;->clear()V
+HPLcom/android/server/wm/Task$FindRootHelper;->findRoot(ZZ)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task$FindRootHelper;->lambda$sIea0VfMPIGsR0Xwg7rABysHwZ4(Lcom/android/server/wm/Task$FindRootHelper;Lcom/android/server/wm/ActivityRecord;ZZ)Z
+PLcom/android/server/wm/Task$FindRootHelper;->processActivity(Lcom/android/server/wm/ActivityRecord;ZZ)Z
+PLcom/android/server/wm/Task$TaskActivitiesReport;-><init>()V
+HPLcom/android/server/wm/Task$TaskActivitiesReport;->accept(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task$TaskActivitiesReport;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/Task$TaskActivitiesReport;->reset()V
+PLcom/android/server/wm/Task$TaskFactory;-><init>()V
+PLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZIILcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task$TaskFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task$TaskFactory;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wm/ActivityStackSupervisor;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZIILandroid/content/pm/ActivityInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/Task;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/app/ActivityManager$TaskDescription;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+PLcom/android/server/wm/Task;->adjustBoundsForDisplayChangeIfNeeded(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/Task;->adjustForMinimalTaskDimensions(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->autoRemoveFromRecents()Z
+PLcom/android/server/wm/Task;->calculateInsetFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z
+PLcom/android/server/wm/Task;->cleanUpResourcesForDestroy()V
+PLcom/android/server/wm/Task;->clearRootProcess()V
+PLcom/android/server/wm/Task;->closeRecentsChain()V
+PLcom/android/server/wm/Task;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/Task;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord$CompatDisplayInsets;)V
+PLcom/android/server/wm/Task;->computeFullscreenBounds(Landroid/graphics/Rect;Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;I)V
+PLcom/android/server/wm/Task;->computeScreenLayoutOverride(III)I
+PLcom/android/server/wm/Task;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/Task;->cropWindowsToStackBounds()Z
+HPLcom/android/server/wm/Task;->fillTaskInfo(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/Task;->fillsParent()Z
+PLcom/android/server/wm/Task;->findActivityInHistory(Landroid/content/ComponentName;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->finishActivityAbove(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->forAllTasks(Lcom/android/internal/util/ToBooleanFunction;)Z
PLcom/android/server/wm/Task;->forAllTasks(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/wm/Task;->forceWindowsScaleable(Z)V
-HSPLcom/android/server/wm/Task;->getAdjustedAddPosition(I)I
+PLcom/android/server/wm/Task;->forceWindowsScaleable(Z)V
+HPLcom/android/server/wm/Task;->getActivityType()I
+PLcom/android/server/wm/Task;->getAdjustedAddPosition(Lcom/android/server/wm/ActivityRecord;I)I
PLcom/android/server/wm/Task;->getAnimationLeashParent()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/Task;->getDimmer()Lcom/android/server/wm/Dimmer;
-HSPLcom/android/server/wm/Task;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/Task;->getDisplayedBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/Task;->getName()Ljava/lang/String;
-HSPLcom/android/server/wm/Task;->getOverrideDisplayedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->getBaseIntent()Landroid/content/Intent;
+PLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->getDimmer()Lcom/android/server/wm/Dimmer;
+PLcom/android/server/wm/Task;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/Task;->getDisplayedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->getLaunchBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->getName()Ljava/lang/String;
+PLcom/android/server/wm/Task;->getNumRunningActivities(Lcom/android/server/wm/Task$TaskActivitiesReport;)V
+PLcom/android/server/wm/Task;->getOverrideDisplayedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->getRootActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getRootActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getRootActivity(ZZ)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/Task;->getStackId()I
+PLcom/android/server/wm/Task;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
PLcom/android/server/wm/Task;->getTaskDescription()Landroid/app/ActivityManager$TaskDescription;
-PLcom/android/server/wm/Task;->getTopFullscreenAppToken()Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/Task;->getTopVisibleAppMainWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/Task;->getTopVisibleAppToken()Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/Task;->isDragResizing()Z
-HSPLcom/android/server/wm/Task;->isFloating()Z
-HSPLcom/android/server/wm/Task;->isResizeable()Z
-HSPLcom/android/server/wm/Task;->isTaskAnimating()Z
-HSPLcom/android/server/wm/Task;->makeSurface()Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/Task;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
-HSPLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/Task;->onParentChanged()V
-PLcom/android/server/wm/Task;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
-HSPLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/AppWindowToken;Z)V
-HSPLcom/android/server/wm/Task;->positionChildAt(Lcom/android/server/wm/AppWindowToken;I)V
-HSPLcom/android/server/wm/Task;->prepareFreezingBounds()V
-HSPLcom/android/server/wm/Task;->prepareSurfaces()V
-HSPLcom/android/server/wm/Task;->removeChild(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/Task;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/Task;->removeIfPossible()V
-HSPLcom/android/server/wm/Task;->removeImmediately()V
-PLcom/android/server/wm/Task;->reparent(Lcom/android/server/wm/TaskStack;IZ)V
-PLcom/android/server/wm/Task;->resize(ZZ)V
-HSPLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I
-PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;Z)I
-PLcom/android/server/wm/Task;->setCanAffectSystemUiFlags(Z)V
-HSPLcom/android/server/wm/Task;->setOverrideDisplayedBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/Task;->setSendingToBottom(Z)V
-HSPLcom/android/server/wm/Task;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
-HSPLcom/android/server/wm/Task;->shouldDeferRemoval()Z
-HSPLcom/android/server/wm/Task;->showForAllUsers()Z
-HSPLcom/android/server/wm/Task;->toShortString()Ljava/lang/String;
+PLcom/android/server/wm/Task;->getTaskFactory()Lcom/android/server/wm/Task$TaskFactory;
+PLcom/android/server/wm/Task;->getTaskInfo()Landroid/app/ActivityManager$RunningTaskInfo;
+HPLcom/android/server/wm/Task;->getTaskStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/Task;->getTopFullscreenActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getTopNonFinishingActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getTopNonFinishingActivity(Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->getTopVisibleActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->intersectWithInsetsIfFits(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Task;->isClearingToReuseTask()Z
+PLcom/android/server/wm/Task;->isFloating()Z
+PLcom/android/server/wm/Task;->isResizeable()Z
+PLcom/android/server/wm/Task;->isResizeable(Z)Z
+PLcom/android/server/wm/Task;->lambda$BP51Xfr33NBfsJ4rKO04RomX2Tg(Lcom/android/server/wm/ActivityRecord;Landroid/content/ComponentName;)Z
+PLcom/android/server/wm/Task;->lambda$OQmaRDKXdgA0v6VfNwTX7wOkwBs(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lorg/xmlpull/v1/XmlSerializer;)Z
+PLcom/android/server/wm/Task;->lambda$TUGPkEKamN60PF6hJQxUwDBjU-M(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskDescription;)Z
+PLcom/android/server/wm/Task;->lambda$getAdjustedAddPosition$5(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$getTopFullscreenActivity$6(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$getTopVisibleActivity$7(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$lqGdYR9ABiPuG3_68w1VS6hrr8c(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$onlyHasTaskOverlayActivities$1(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$onlyHasTaskOverlayActivities$2(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->lambda$performClearTaskAtIndexLocked$4(Ljava/lang/String;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->lambda$topRunningActivityWithStartingWindowLocked$0(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/Task;->makeSurface()Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/Task;->matchesActivityInHistory(Lcom/android/server/wm/ActivityRecord;Landroid/content/ComponentName;)Z
+PLcom/android/server/wm/Task;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
+PLcom/android/server/wm/Task;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/Task;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/Task;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/Task;->onlyHasTaskOverlayActivities(Z)Z
+PLcom/android/server/wm/Task;->performClearTaskForReuseLocked(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->performClearTaskLocked(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+PLcom/android/server/wm/Task;->positionChildAt(Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/Task;->positionChildAtTop(Lcom/android/server/wm/ActivityRecord;)V
+HPLcom/android/server/wm/Task;->prepareSurfaces()V
+PLcom/android/server/wm/Task;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/Task;->removeIfPossible()V
+PLcom/android/server/wm/Task;->removedFromRecents()V
+PLcom/android/server/wm/Task;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/Task;->saveActivityToXml(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lorg/xmlpull/v1/XmlSerializer;)Z
+PLcom/android/server/wm/Task;->saveLaunchingStateIfNeeded()V
+PLcom/android/server/wm/Task;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/Task;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/Task;->setIntent(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->setLockTaskAuth()V
+PLcom/android/server/wm/Task;->setLockTaskAuth(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/Task;->setMinDimensions(Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/Task;->setNextAffiliate(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->setPrevAffiliate(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/Task;->setRootProcess(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/Task;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
+HPLcom/android/server/wm/Task;->setTaskDescriptionFromActivityAboveRoot(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskDescription;)Z
+PLcom/android/server/wm/Task;->setTaskFactory(Lcom/android/server/wm/Task$TaskFactory;)V
+PLcom/android/server/wm/Task;->showForAllUsers()Z
+PLcom/android/server/wm/Task;->supportsSplitScreenWindowingMode()Z
PLcom/android/server/wm/Task;->toString()Ljava/lang/String;
-PLcom/android/server/wm/Task;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/Task;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->topRunningActivityWithStartingWindowLocked()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/Task;->touchActiveTime()V
+PLcom/android/server/wm/Task;->updateEffectiveIntent()V
+PLcom/android/server/wm/Task;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/Task;->updateTaskDescription()V
+PLcom/android/server/wm/Task;->updateTaskMovement(Z)V
+HSPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;-><init>(Lcom/android/server/wm/TaskChangeNotificationController;Landroid/os/Looper;)V
+PLcom/android/server/wm/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/server/wm/TaskChangeNotificationController;-><init>(Ljava/lang/Object;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Handler;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->forAllLocalListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->forAllRemoteListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
-PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityPinned(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityRequestedOrientationChanged(II)V
-PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityUnpinned()V
-PLcom/android/server/wm/TaskChangeNotificationController;->notifyPinnedStackAnimationEnded()V
-PLcom/android/server/wm/TaskChangeNotificationController;->notifyPinnedStackAnimationStarted()V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDescriptionChanged(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->access$000(Lcom/android/server/wm/TaskChangeNotificationController;)Ljava/lang/Object;
+PLcom/android/server/wm/TaskChangeNotificationController;->access$100(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/ActivityStackSupervisor;
+PLcom/android/server/wm/TaskChangeNotificationController;->access$200(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->access$2500(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->access$2600(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->access$300(Lcom/android/server/wm/TaskChangeNotificationController;Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->access$400(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->access$700(Lcom/android/server/wm/TaskChangeNotificationController;)Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+PLcom/android/server/wm/TaskChangeNotificationController;->forAllLocalListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->forAllRemoteListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$0(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$1(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$22(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$23(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->lambda$new$4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDescriptionChanged(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDisplayChanged(II)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskListUpdated()V
PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskMovedToFront(Landroid/app/TaskInfo;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskRemoved(I)V
-PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLcom/android/server/wm/TaskChangeNotificationController;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLcom/android/server/wm/TaskLaunchParamsModifier;->calculate(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
-HSPLcom/android/server/wm/TaskLaunchParamsModifier;->canApplyFreeformWindowPolicy(Lcom/android/server/wm/ActivityDisplay;I)Z
-HSPLcom/android/server/wm/TaskLaunchParamsModifier;->getPreferredLaunchDisplay(Lcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
-HSPLcom/android/server/wm/TaskLaunchParamsModifier;->getTaskBounds(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityDisplay;Landroid/content/pm/ActivityInfo$WindowLayout;IZLandroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskLaunchParamsModifier;->onCalculate(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
-HSPLcom/android/server/wm/TaskPersister$1;->compare(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/TaskRecord;)I
-HSPLcom/android/server/wm/TaskPersister$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->matches(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;)Z
-PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->matches(Lcom/android/server/wm/TaskPersister$ImageWriteQueueItem;)Z
-HSPLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->process()V
-PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->updateFrom(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;)V
-PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->updateFrom(Lcom/android/server/wm/TaskPersister$ImageWriteQueueItem;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V
+PLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
+HSPLcom/android/server/wm/TaskLaunchParamsModifier;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->calculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->canApplyFreeformWindowPolicy(Lcom/android/server/wm/ActivityDisplay;I)Z
+PLcom/android/server/wm/TaskLaunchParamsModifier;->canInheritWindowingModeFromSource(Lcom/android/server/wm/ActivityDisplay;Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskLaunchParamsModifier;->getPreferredLaunchDisplay(Lcom/android/server/wm/Task;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->initLogBuilder(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/TaskLaunchParamsModifier;->onCalculate(Lcom/android/server/wm/Task;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+PLcom/android/server/wm/TaskLaunchParamsModifier;->outputLog()V
+PLcom/android/server/wm/TaskPersister$1;-><init>(Lcom/android/server/wm/TaskPersister;)V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;-><init>(Lcom/android/server/wm/Task;Lcom/android/server/wm/ActivityTaskManagerService;)V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->access$200(Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Lcom/android/server/wm/Task;
PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->process()V
-PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->saveToXml(Lcom/android/server/wm/TaskRecord;)Ljava/io/StringWriter;
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->saveToXml(Lcom/android/server/wm/Task;)Ljava/io/StringWriter;
HSPLcom/android/server/wm/TaskPersister;-><init>(Ljava/io/File;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/PersisterQueue;)V
-PLcom/android/server/wm/TaskPersister;->getTaskDescriptionIcon(Ljava/lang/String;)Landroid/graphics/Bitmap;
-HSPLcom/android/server/wm/TaskPersister;->getUserPersistedTaskIdsFile(I)Ljava/io/File;
-HSPLcom/android/server/wm/TaskPersister;->loadPersistedTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
-HSPLcom/android/server/wm/TaskPersister;->onPreProcessItem(Z)V
-HSPLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;)V
-HSPLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[Ljava/io/File;)V
-HSPLcom/android/server/wm/TaskPersister;->restoreTasksForUserLocked(ILandroid/util/SparseBooleanArray;)Ljava/util/List;
-HSPLcom/android/server/wm/TaskPersister;->saveImage(Landroid/graphics/Bitmap;Ljava/lang/String;)V
-HSPLcom/android/server/wm/TaskPersister;->taskIdToTask(ILjava/util/ArrayList;)Lcom/android/server/wm/TaskRecord;
-PLcom/android/server/wm/TaskPersister;->wakeup(Lcom/android/server/wm/TaskRecord;Z)V
+PLcom/android/server/wm/TaskPersister;->access$000(I)Ljava/io/File;
+PLcom/android/server/wm/TaskPersister;->getUserPersistedTaskIdsFile(I)Ljava/io/File;
+PLcom/android/server/wm/TaskPersister;->lambda$wakeup$1(Lcom/android/server/wm/Task;Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Z
+PLcom/android/server/wm/TaskPersister;->loadPersistedTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/wm/TaskPersister;->onPreProcessItem(Z)V
+PLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[Ljava/io/File;)V
+PLcom/android/server/wm/TaskPersister;->removeThumbnails(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskPersister;->restoreTasksForUserLocked(ILandroid/util/SparseBooleanArray;)Ljava/util/List;
+PLcom/android/server/wm/TaskPersister;->taskIdToTask(ILjava/util/ArrayList;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/TaskPersister;->wakeup(Lcom/android/server/wm/Task;Z)V
PLcom/android/server/wm/TaskPersister;->writePersistedTaskIdsForUser(Landroid/util/SparseBooleanArray;I)V
-HSPLcom/android/server/wm/TaskPersister;->writeTaskIdsFiles()V
-HSPLcom/android/server/wm/TaskPositioningController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/input/InputManagerService;Landroid/app/IActivityTaskManager;Landroid/os/Looper;)V
-PLcom/android/server/wm/TaskPositioningController;->handleTapOutsideTask(Lcom/android/server/wm/DisplayContent;II)V
-HSPLcom/android/server/wm/TaskPositioningController;->hideInputSurface(Landroid/view/SurfaceControl$Transaction;I)V
-HSPLcom/android/server/wm/TaskPositioningController;->isPositioningLocked()Z
-PLcom/android/server/wm/TaskPositioningController;->lambda$handleTapOutsideTask$0$TaskPositioningController(Lcom/android/server/wm/DisplayContent;II)V
-HSPLcom/android/server/wm/TaskRecord$TaskActivitiesReport;-><init>()V
-HSPLcom/android/server/wm/TaskRecord$TaskActivitiesReport;->reset()V
-HSPLcom/android/server/wm/TaskRecord$TaskRecordFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZII)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/TaskRecord$TaskRecordFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/TaskRecord$TaskRecordFactory;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wm/ActivityStackSupervisor;)Lcom/android/server/wm/TaskRecord;
-HSPLcom/android/server/wm/TaskRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZII)V
-HSPLcom/android/server/wm/TaskRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-HSPLcom/android/server/wm/TaskRecord;->addActivityAtIndex(ILcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/TaskRecord;->addActivityToTop(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/TaskRecord;->addStartingWindowsForVisibleActivities(Z)V
-PLcom/android/server/wm/TaskRecord;->adjustForMinimalTaskDimensions(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskRecord;->autoRemoveFromRecents()Z
-PLcom/android/server/wm/TaskRecord;->calculateInsetFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayInfo;)V
-PLcom/android/server/wm/TaskRecord;->canBeLaunchedOnDisplay(I)Z
-PLcom/android/server/wm/TaskRecord;->canResizeToBounds(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/TaskRecord;->cleanUpResourcesForDestroy()V
-HSPLcom/android/server/wm/TaskRecord;->clearAllPendingOptions()V
-HSPLcom/android/server/wm/TaskRecord;->clearRootProcess()V
-PLcom/android/server/wm/TaskRecord;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/TaskRecord;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Z)V
-HSPLcom/android/server/wm/TaskRecord;->createTask(ZZ)V
-HSPLcom/android/server/wm/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/TaskRecord;->fillTaskInfo(Landroid/app/TaskInfo;)V
-PLcom/android/server/wm/TaskRecord;->findActivityInHistoryLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->findEffectiveRootIndex()I
-HSPLcom/android/server/wm/TaskRecord;->getActivityType()I
-HSPLcom/android/server/wm/TaskRecord;->getAllRunningVisibleActivitiesLocked(Ljava/util/ArrayList;)V
-HSPLcom/android/server/wm/TaskRecord;->getBaseIntent()Landroid/content/Intent;
-HSPLcom/android/server/wm/TaskRecord;->getChildAt(I)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/TaskRecord;->getChildCount()I
-HSPLcom/android/server/wm/TaskRecord;->getInactiveDuration()J
-HSPLcom/android/server/wm/TaskRecord;->getLaunchBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/TaskRecord;->getNumRunningActivities(Lcom/android/server/wm/TaskRecord$TaskActivitiesReport;)V
-HSPLcom/android/server/wm/TaskRecord;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/TaskRecord;->getRootActivity()Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/TaskRecord;->getSnapshot(Z)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLcom/android/server/wm/TaskRecord;->getStack()Lcom/android/server/wm/ActivityStack;
-HSPLcom/android/server/wm/TaskRecord;->getStackId()I
-HSPLcom/android/server/wm/TaskRecord;->getTask()Lcom/android/server/wm/Task;
-HSPLcom/android/server/wm/TaskRecord;->getTaskInfo()Landroid/app/ActivityManager$RunningTaskInfo;
-HSPLcom/android/server/wm/TaskRecord;->getTaskRecordFactory()Lcom/android/server/wm/TaskRecord$TaskRecordFactory;
-HSPLcom/android/server/wm/TaskRecord;->getTopActivity()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->getTopActivity(Z)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->getWindowContainerBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskRecord;->intersectWithInsetsIfFits(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskRecord;->isClearingToReuseTask()Z
-HSPLcom/android/server/wm/TaskRecord;->isResizeable()Z
-PLcom/android/server/wm/TaskRecord;->isSameIntentFilter(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/TaskRecord;->lockTaskAuthToString()Ljava/lang/String;
-HSPLcom/android/server/wm/TaskRecord;->okToShowLocked()Z
-HSPLcom/android/server/wm/TaskRecord;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
-HSPLcom/android/server/wm/TaskRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/TaskRecord;->onParentChanged()V
-PLcom/android/server/wm/TaskRecord;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
-HSPLcom/android/server/wm/TaskRecord;->onlyHasTaskOverlayActivities(Z)Z
-PLcom/android/server/wm/TaskRecord;->performClearTaskAtIndexLocked(IZLjava/lang/String;)V
-PLcom/android/server/wm/TaskRecord;->performClearTaskForReuseLocked(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
-PLcom/android/server/wm/TaskRecord;->performClearTaskLocked()V
-HSPLcom/android/server/wm/TaskRecord;->performClearTaskLocked(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->removeActivity(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/TaskRecord;->removeActivity(Lcom/android/server/wm/ActivityRecord;Z)Z
-PLcom/android/server/wm/TaskRecord;->removeTaskActivitiesLocked(ZLjava/lang/String;)V
-HSPLcom/android/server/wm/TaskRecord;->removeWindowContainer()V
-HSPLcom/android/server/wm/TaskRecord;->removedFromRecents()V
-PLcom/android/server/wm/TaskRecord;->reparent(Lcom/android/server/wm/ActivityStack;IIZZZLjava/lang/String;)Z
-PLcom/android/server/wm/TaskRecord;->reparent(Lcom/android/server/wm/ActivityStack;ZIZZZLjava/lang/String;)Z
-PLcom/android/server/wm/TaskRecord;->resize(Landroid/graphics/Rect;IZZ)Z
-HSPLcom/android/server/wm/TaskRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/TaskRecord;->returnsToHomeStack()Z
-HSPLcom/android/server/wm/TaskRecord;->saveLaunchingStateIfNeeded()V
-PLcom/android/server/wm/TaskRecord;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HSPLcom/android/server/wm/TaskRecord;->setDisplayedBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskRecord;->setFrontOfTask()V
-HSPLcom/android/server/wm/TaskRecord;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
-HSPLcom/android/server/wm/TaskRecord;->setIntent(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/TaskRecord;->setLockTaskAuth()V
-HSPLcom/android/server/wm/TaskRecord;->setLockTaskAuth(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/TaskRecord;->setNextAffiliate(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/TaskRecord;->setPrevAffiliate(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/TaskRecord;->setRootProcess(Lcom/android/server/wm/WindowProcessController;)V
-HSPLcom/android/server/wm/TaskRecord;->setStack(Lcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/TaskRecord;->supportsSplitScreenWindowingMode()Z
-HSPLcom/android/server/wm/TaskRecord;->toString()Ljava/lang/String;
-HSPLcom/android/server/wm/TaskRecord;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->topRunningActivityWithStartingWindowLocked()Lcom/android/server/wm/ActivityRecord;
-HSPLcom/android/server/wm/TaskRecord;->touchActiveTime()V
-HSPLcom/android/server/wm/TaskRecord;->updateEffectiveIntent()V
-HSPLcom/android/server/wm/TaskRecord;->updateOverrideConfiguration(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/TaskRecord;->updateOverrideConfiguration(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/TaskRecord;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/TaskRecord;->updateTaskDescription()V
-PLcom/android/server/wm/TaskRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-PLcom/android/server/wm/TaskSnapshotCache;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/TaskSnapshotCache;->getSnapshot(IIZZ)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/wm/TaskSnapshotCache;->onAppDied(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/TaskSnapshotCache;->onAppRemoved(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/TaskSnapshotCache;->onTaskRemoved(I)V
+PLcom/android/server/wm/TaskPersister;->writeTaskIdsFiles()V
+PLcom/android/server/wm/TaskPositioningController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/input/InputManagerService;Landroid/app/IActivityTaskManager;Landroid/os/Looper;)V
+PLcom/android/server/wm/TaskPositioningController;->hideInputSurface(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/TaskPositioningController;->isPositioningLocked()Z
+PLcom/android/server/wm/TaskSnapshotCache$CacheEntry;-><init>(Landroid/app/ActivityManager$TaskSnapshot;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/TaskSnapshotCache;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotLoader;)V
+PLcom/android/server/wm/TaskSnapshotCache;->clearRunningCache()V
+PLcom/android/server/wm/TaskSnapshotCache;->getSnapshot(IIZZ)Landroid/app/ActivityManager$TaskSnapshot;
PLcom/android/server/wm/TaskSnapshotCache;->putSnapshot(Lcom/android/server/wm/Task;Landroid/app/ActivityManager$TaskSnapshot;)V
-HSPLcom/android/server/wm/TaskSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/TaskSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
PLcom/android/server/wm/TaskSnapshotController;->addSkipClosingAppSnapshotTasks(Landroid/util/ArraySet;)V
-PLcom/android/server/wm/TaskSnapshotController;->createStartingSurface(Lcom/android/server/wm/AppWindowToken;Landroid/app/ActivityManager$TaskSnapshot;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
-PLcom/android/server/wm/TaskSnapshotController;->drawAppThemeSnapshot(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/wm/TaskSnapshotController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->findAppTokenForSnapshot(Lcom/android/server/wm/Task;)Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/TaskSnapshotController;->getClosingTasks(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->getSnapshot(IIZZ)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLcom/android/server/wm/TaskSnapshotController;->getSnapshotMode(Lcom/android/server/wm/Task;)I
-PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$1$TaskSnapshotController(Lcom/android/server/wm/Task;)V
-PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$2$TaskSnapshotController(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
+PLcom/android/server/wm/TaskSnapshotController;->clearSnapshotCache()V
+PLcom/android/server/wm/TaskSnapshotController;->createStartingSurface(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskSnapshot;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
+PLcom/android/server/wm/TaskSnapshotController;->createTaskSnapshot(Lcom/android/server/wm/Task;FI)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
+PLcom/android/server/wm/TaskSnapshotController;->getClosingTasks(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskSnapshotController;->getSnapshot(IIZZ)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/TaskSnapshotController;->getSnapshotMode(Lcom/android/server/wm/Task;)I
+PLcom/android/server/wm/TaskSnapshotController;->handleClosingApps(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskSnapshotController;->lambda$findAppTokenForSnapshot$1(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$2$TaskSnapshotController(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$3$TaskSnapshotController(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
PLcom/android/server/wm/TaskSnapshotController;->minRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/Rect;
-HSPLcom/android/server/wm/TaskSnapshotController;->notifyAppVisibilityChanged(Lcom/android/server/wm/AppWindowToken;Z)V
-HSPLcom/android/server/wm/TaskSnapshotController;->notifyTaskRemovedFromRecents(II)V
-PLcom/android/server/wm/TaskSnapshotController;->onAppDied(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->onAppRemoved(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->onTransitionStarting(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/TaskSnapshotController;->notifyAppVisibilityChanged(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/TaskSnapshotController;->notifyTaskRemovedFromRecents(II)V
+PLcom/android/server/wm/TaskSnapshotController;->onTransitionStarting(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/TaskSnapshotController;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
PLcom/android/server/wm/TaskSnapshotController;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->setPersisterPaused(Z)V
-HSPLcom/android/server/wm/TaskSnapshotController;->snapshotTask(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLcom/android/server/wm/TaskSnapshotController;->snapshotTasks(Landroid/util/ArraySet;)V
-HSPLcom/android/server/wm/TaskSnapshotController;->systemReady()V
+PLcom/android/server/wm/TaskSnapshotController;->setPersisterPaused(Z)V
+PLcom/android/server/wm/TaskSnapshotController;->shouldDisableSnapshots()Z
+PLcom/android/server/wm/TaskSnapshotController;->snapshotTask(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/TaskSnapshotController;->snapshotTasks(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/TaskSnapshotController;->systemReady()V
+PLcom/android/server/wm/TaskSnapshotLoader;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;)V
PLcom/android/server/wm/TaskSnapshotLoader;->loadTask(IIZ)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLcom/android/server/wm/TaskSnapshotPersister$1;->run()V
-HSPLcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;->write()V
+PLcom/android/server/wm/TaskSnapshotPersister$1;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskSnapshotPersister$1;->run()V
+PLcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;II)V
+PLcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;->write()V
+PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Landroid/util/ArraySet;[I)V
PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->getTaskId(Ljava/lang/String;)I
-HSPLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->write()V
+PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->write()V
+PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;IILandroid/app/ActivityManager$TaskSnapshot;)V
PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->onDequeuedLocked()V
+PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->onQueuedLocked()V
PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->write()V
PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->writeBuffer()Z
PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->writeProto()Z
-HSPLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;->onDequeuedLocked()V
-HSPLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;)V
-HSPLcom/android/server/wm/TaskSnapshotPersister;->ensureStoreQueueDepthLocked()V
-HSPLcom/android/server/wm/TaskSnapshotPersister;->getBitmapFile(II)Ljava/io/File;
-HSPLcom/android/server/wm/TaskSnapshotPersister;->getProtoFile(II)Ljava/io/File;
-HSPLcom/android/server/wm/TaskSnapshotPersister;->getReducedResolutionBitmapFile(II)Ljava/io/File;
-PLcom/android/server/wm/TaskSnapshotPersister;->getReducedScale()F
-HSPLcom/android/server/wm/TaskSnapshotPersister;->onTaskRemovedFromRecents(II)V
+PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;)V
+PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Lcom/android/server/wm/TaskSnapshotPersister$1;)V
+PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;->onDequeuedLocked()V
+PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;->onQueuedLocked()V
+PLcom/android/server/wm/TaskSnapshotPersister;-><clinit>()V
+PLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;)V
+PLcom/android/server/wm/TaskSnapshotPersister;->access$100(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/lang/Object;
+PLcom/android/server/wm/TaskSnapshotPersister;->access$200(Lcom/android/server/wm/TaskSnapshotPersister;)Z
+PLcom/android/server/wm/TaskSnapshotPersister;->access$300(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/util/ArrayDeque;
+PLcom/android/server/wm/TaskSnapshotPersister;->access$402(Lcom/android/server/wm/TaskSnapshotPersister;Z)Z
+PLcom/android/server/wm/TaskSnapshotPersister;->ensureStoreQueueDepthLocked()V
+PLcom/android/server/wm/TaskSnapshotPersister;->getBitmapFile(II)Ljava/io/File;
+PLcom/android/server/wm/TaskSnapshotPersister;->getProtoFile(II)Ljava/io/File;
+PLcom/android/server/wm/TaskSnapshotPersister;->getReducedResolutionBitmapFile(II)Ljava/io/File;
+PLcom/android/server/wm/TaskSnapshotPersister;->onTaskRemovedFromRecents(II)V
PLcom/android/server/wm/TaskSnapshotPersister;->persistSnapshot(IILandroid/app/ActivityManager$TaskSnapshot;)V
-HSPLcom/android/server/wm/TaskSnapshotPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[I)V
-HSPLcom/android/server/wm/TaskSnapshotPersister;->setPaused(Z)V
-HSPLcom/android/server/wm/TaskSnapshotPersister;->start()V
+PLcom/android/server/wm/TaskSnapshotPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/TaskSnapshotPersister;->setPaused(Z)V
+PLcom/android/server/wm/TaskSnapshotPersister;->start()V
PLcom/android/server/wm/TaskSnapshotSurface$1;-><init>(Landroid/os/Looper;)V
-PLcom/android/server/wm/TaskSnapshotSurface$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;-><init>(IIIII)V
-PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->drawDecors(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->drawNavigationBarBackground(Landroid/graphics/Canvas;)V
-PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->drawStatusBarBackground(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
-PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->getStatusBarColorViewHeight()I
+PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;-><init>(IIILandroid/app/ActivityManager$TaskDescription;F)V
PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->setInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
PLcom/android/server/wm/TaskSnapshotSurface$Window;-><init>()V
-PLcom/android/server/wm/TaskSnapshotSurface$Window;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-PLcom/android/server/wm/TaskSnapshotSurface;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotSurface$Window;Landroid/view/SurfaceControl;Landroid/app/ActivityManager$TaskSnapshot;Ljava/lang/CharSequence;IIIIIILandroid/graphics/Rect;I)V
-PLcom/android/server/wm/TaskSnapshotSurface;->calculateSnapshotCrop()Landroid/graphics/Rect;
-PLcom/android/server/wm/TaskSnapshotSurface;->calculateSnapshotFrame(Landroid/graphics/Rect;)Landroid/graphics/Rect;
-PLcom/android/server/wm/TaskSnapshotSurface;->create(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/AppWindowToken;Landroid/app/ActivityManager$TaskSnapshot;)Lcom/android/server/wm/TaskSnapshotSurface;
-PLcom/android/server/wm/TaskSnapshotSurface;->drawBackgroundAndBars(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskSnapshotSurface;->drawSizeMismatchSnapshot(Landroid/graphics/GraphicBuffer;)V
+PLcom/android/server/wm/TaskSnapshotSurface$Window;->setOuter(Lcom/android/server/wm/TaskSnapshotSurface;)V
+PLcom/android/server/wm/TaskSnapshotSurface;-><clinit>()V
+PLcom/android/server/wm/TaskSnapshotSurface;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotSurface$Window;Landroid/view/SurfaceControl;Landroid/app/ActivityManager$TaskSnapshot;Ljava/lang/CharSequence;Landroid/app/ActivityManager$TaskDescription;IIILandroid/graphics/Rect;I)V
+PLcom/android/server/wm/TaskSnapshotSurface;->create(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityManager$TaskSnapshot;)Lcom/android/server/wm/TaskSnapshotSurface;
+PLcom/android/server/wm/TaskSnapshotSurface;->drawSizeMismatchSnapshot()V
PLcom/android/server/wm/TaskSnapshotSurface;->drawSnapshot()V
PLcom/android/server/wm/TaskSnapshotSurface;->remove()V
PLcom/android/server/wm/TaskSnapshotSurface;->reportDrawn()V
PLcom/android/server/wm/TaskSnapshotSurface;->setFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskStack;-><init>(Lcom/android/server/wm/WindowManagerService;ILcom/android/server/wm/ActivityStack;)V
-HSPLcom/android/server/wm/TaskStack;->addTask(Lcom/android/server/wm/Task;IZZ)V
-PLcom/android/server/wm/TaskStack;->animateResizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;IZ)V
-PLcom/android/server/wm/TaskStack;->calculatePinnedBoundsForConfigChange(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/TaskStack;->checkCompleteDeferredRemoval()Z
-PLcom/android/server/wm/TaskStack;->compareTo(Lcom/android/server/wm/WindowContainer;)I
-HSPLcom/android/server/wm/TaskStack;->computeMinPosition(II)I
-PLcom/android/server/wm/TaskStack;->deferScheduleMultiWindowModeChanged()Z
-PLcom/android/server/wm/TaskStack;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/TaskStack;->fillsParent()Z
-HSPLcom/android/server/wm/TaskStack;->findHomeTask()Lcom/android/server/wm/Task;
-HSPLcom/android/server/wm/TaskStack;->findPositionForTask(Lcom/android/server/wm/Task;IZZ)I
-HSPLcom/android/server/wm/TaskStack;->getAnimatingAppWindowTokenRegistry()Lcom/android/server/wm/AnimatingAppWindowTokenRegistry;
-PLcom/android/server/wm/TaskStack;->getAnimationOrCurrentBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskStack;->getBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/TaskStack;->getBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskStack;->getDimBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskStack;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/TaskStack;->getFinalAnimationBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskStack;->getFinalAnimationSourceHintBounds(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskStack;->getName()Ljava/lang/String;
-HSPLcom/android/server/wm/TaskStack;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
-PLcom/android/server/wm/TaskStack;->getPictureInPictureBounds(FLandroid/graphics/Rect;)Landroid/graphics/Rect;
-PLcom/android/server/wm/TaskStack;->getRawBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/TaskStack;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
-HSPLcom/android/server/wm/TaskStack;->getStackOutset()I
-HSPLcom/android/server/wm/TaskStack;->getSurfaceControl()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/TaskStack;->isAdjustedForIme()Z
-HSPLcom/android/server/wm/TaskStack;->isAdjustedForMinimizedDockedStack()Z
-HSPLcom/android/server/wm/TaskStack;->isAnimatingBounds()Z
-PLcom/android/server/wm/TaskStack;->isAnimatingBoundsToFullscreen()Z
-PLcom/android/server/wm/TaskStack;->isAttached()Z
-HSPLcom/android/server/wm/TaskStack;->isForceScaled()Z
-HSPLcom/android/server/wm/TaskStack;->isTaskAnimating()Z
-PLcom/android/server/wm/TaskStack;->lambda$animateResizePinnedStack$2$TaskStack(Lcom/android/server/wm/DisplayContent;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)V
-PLcom/android/server/wm/TaskStack;->lastAnimatingBoundsWasToFullscreen()Z
-PLcom/android/server/wm/TaskStack;->onAllWindowsDrawn()V
-PLcom/android/server/wm/TaskStack;->onAnimationEnd(ZLandroid/graphics/Rect;Z)V
-PLcom/android/server/wm/TaskStack;->onAnimationStart(ZZ)Z
-HSPLcom/android/server/wm/TaskStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/TaskStack;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/TaskStack;->onParentChanged()V
-PLcom/android/server/wm/TaskStack;->onPipAnimationEndResize()V
-HSPLcom/android/server/wm/TaskStack;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/TaskStack;->pinnedStackResizeDisallowed()Z
-HSPLcom/android/server/wm/TaskStack;->positionChildAt(ILcom/android/server/wm/Task;Z)V
-HSPLcom/android/server/wm/TaskStack;->positionChildAt(ILcom/android/server/wm/Task;ZZ)V
-PLcom/android/server/wm/TaskStack;->positionChildAtBottom(Lcom/android/server/wm/Task;Z)V
-HSPLcom/android/server/wm/TaskStack;->positionChildAtTop(Lcom/android/server/wm/Task;Z)V
-HSPLcom/android/server/wm/TaskStack;->prepareFreezingTaskBounds()V
-HSPLcom/android/server/wm/TaskStack;->prepareSurfaces()V
-HSPLcom/android/server/wm/TaskStack;->removeChild(Lcom/android/server/wm/Task;)V
-HSPLcom/android/server/wm/TaskStack;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/TaskStack;->removeIfPossible()V
-PLcom/android/server/wm/TaskStack;->removeImmediately()V
-HSPLcom/android/server/wm/TaskStack;->resetAdjustedForIme(Z)V
-HSPLcom/android/server/wm/TaskStack;->resetAnimationBackgroundAnimator()V
-PLcom/android/server/wm/TaskStack;->setAnimationBackground(Lcom/android/server/wm/WindowStateAnimator;I)V
-PLcom/android/server/wm/TaskStack;->setAnimationFinalBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
-PLcom/android/server/wm/TaskStack;->setPictureInPictureActions(Ljava/util/List;)V
-PLcom/android/server/wm/TaskStack;->setPictureInPictureAspectRatio(F)V
-PLcom/android/server/wm/TaskStack;->setPinnedStackSize(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/TaskStack;->setTouchExcludeRegion(Lcom/android/server/wm/Task;ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskStack;->shouldDeferStartOnMoveToFullscreen()Z
-HSPLcom/android/server/wm/TaskStack;->shouldIgnoreInput()Z
-PLcom/android/server/wm/TaskStack;->showAnimationSurface(F)V
-PLcom/android/server/wm/TaskStack;->taskIdFromPoint(II)I
-HSPLcom/android/server/wm/TaskStack;->toShortString()Ljava/lang/String;
-HSPLcom/android/server/wm/TaskStack;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/TaskStack;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/TaskTapPointerEventListener;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/TaskTapPointerEventListener;->lambda$new$0$TaskTapPointerEventListener()V
-HSPLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
-HSPLcom/android/server/wm/TaskTapPointerEventListener;->setTouchExcludeRegion(Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->allResolved()Z
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->appRemovedOrHidden(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->clear()V
-PLcom/android/server/wm/UnknownAppVisibilityController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->notifyLaunched(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/UnknownAppVisibilityController;->notifyVisibilitiesUpdated()V
-HSPLcom/android/server/wm/VrController;->changeVrModeLocked(ZLcom/android/server/wm/WindowProcessController;)Z
-HSPLcom/android/server/wm/VrController;->onVrModeChanged(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/VrController;->setVrRenderThreadLocked(IIZ)I
-HSPLcom/android/server/wm/VrController;->toString()Ljava/lang/String;
-PLcom/android/server/wm/VrController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/WallpaperController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/WallpaperController;->addWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
-HSPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindows()V
-HSPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
-HSPLcom/android/server/wm/WallpaperController;->clearLastWallpaperTimeoutTime()V
-PLcom/android/server/wm/WallpaperController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/WallpaperController;->findWallpaperTarget()V
-HSPLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WallpaperController;->hideDeferredWallpapersIfNeeded()V
-HSPLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WallpaperController;->isBelowWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WallpaperController;->isWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WallpaperController;->isWallpaperTargetAnimating()Z
-HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z
-HSPLcom/android/server/wm/WallpaperController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WallpaperController;->lambda$new$0$WallpaperController(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WallpaperController;->processWallpaperDrawPendingTimeout()Z
-PLcom/android/server/wm/WallpaperController;->removeWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
-PLcom/android/server/wm/WallpaperController;->sendWindowWallpaperCommand(Lcom/android/server/wm/WindowState;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
+PLcom/android/server/wm/TaskTapPointerEventListener;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
+PLcom/android/server/wm/TaskTapPointerEventListener;->setTouchExcludeRegion(Landroid/graphics/Region;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->allResolved()Z
+PLcom/android/server/wm/UnknownAppVisibilityController;->appRemovedOrHidden(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->clear()V
+PLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->notifyLaunched(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/ActivityRecord;)V
+HSPLcom/android/server/wm/VrController$1;-><init>(Lcom/android/server/wm/VrController;)V
+HSPLcom/android/server/wm/VrController;-><clinit>()V
+HSPLcom/android/server/wm/VrController;-><init>(Ljava/lang/Object;)V
+PLcom/android/server/wm/VrController;->clearVrRenderThreadLocked(Z)V
+PLcom/android/server/wm/VrController;->hasPersistentVrFlagSet()Z
+PLcom/android/server/wm/VrController;->inVrMode()Z
+PLcom/android/server/wm/VrController;->onSystemReady()V
+PLcom/android/server/wm/VrController;->onTopProcChangedLocked(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/VrController;->onVrModeChanged(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/VrController;->setVrRenderThreadLocked(IIZ)I
+PLcom/android/server/wm/VrController;->updateVrRenderThreadLocked(IZ)I
+PLcom/android/server/wm/WallpaperAnimationAdapter;-><init>(Lcom/android/server/wm/WallpaperWindowToken;JJLjava/util/function/Consumer;)V
+PLcom/android/server/wm/WallpaperAnimationAdapter;->createRemoteAnimationTarget()Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/WallpaperAnimationAdapter;->getLeash()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WallpaperAnimationAdapter;->getLeashFinishedCallback()Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
+PLcom/android/server/wm/WallpaperAnimationAdapter;->lambda$startWallpaperAnimations$0(JJLjava/util/function/Consumer;Ljava/util/ArrayList;Ljava/util/ArrayList;Lcom/android/server/wm/WallpaperWindowToken;)V
+PLcom/android/server/wm/WallpaperAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/WallpaperAnimationAdapter;->startWallpaperAnimations(Lcom/android/server/wm/WindowManagerService;JJLjava/util/function/Consumer;Ljava/util/ArrayList;)[Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>()V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>(Lcom/android/server/wm/WallpaperController$1;)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->reset()V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setTopWallpaper(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setUseTopWallpaperAsTarget(Z)V
+PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setWallpaperTarget(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WallpaperController;->addWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
+PLcom/android/server/wm/WallpaperController;->adjustWallpaperWindows()V
+PLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+PLcom/android/server/wm/WallpaperController;->clearLastWallpaperTimeoutTime()V
+PLcom/android/server/wm/WallpaperController;->findWallpaperTarget()V
+PLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WallpaperController;->hideDeferredWallpapersIfNeeded()V
+PLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WallpaperController;->isBelowWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->isWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->isWallpaperTargetAnimating()Z
+PLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z
+PLcom/android/server/wm/WallpaperController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->lambda$new$0$WallpaperController(Lcom/android/server/wm/WindowState;)Z
PLcom/android/server/wm/WallpaperController;->setWindowWallpaperPosition(Lcom/android/server/wm/WindowState;FFFF)V
-PLcom/android/server/wm/WallpaperController;->startWallpaperAnimation(Landroid/view/animation/Animation;)V
-HSPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;IIZ)Z
+PLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;IIZ)Z
PLcom/android/server/wm/WallpaperController;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)V
-HSPLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(Z)V
-PLcom/android/server/wm/WallpaperController;->updateWallpaperVisibility()V
-HSPLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V
+PLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(Z)V
+PLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V
PLcom/android/server/wm/WallpaperController;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WallpaperController;->wallpaperTransitionReady()Z
-HSPLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V
-HSPLcom/android/server/wm/WallpaperVisibilityListeners;->notifyWallpaperVisibilityChanged(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/WallpaperVisibilityListeners;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-HSPLcom/android/server/wm/WallpaperVisibilityListeners;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-HSPLcom/android/server/wm/WallpaperWindowToken;->hasVisibleNotDrawnWallpaper()Z
-HSPLcom/android/server/wm/WallpaperWindowToken;->hideWallpaperToken(ZLjava/lang/String;)V
-PLcom/android/server/wm/WallpaperWindowToken;->sendWindowWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-PLcom/android/server/wm/WallpaperWindowToken;->setExiting()V
-PLcom/android/server/wm/WallpaperWindowToken;->startAnimation(Landroid/view/animation/Animation;)V
-HSPLcom/android/server/wm/WallpaperWindowToken;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WallpaperController;->wallpaperTransitionReady()Z
+PLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V
+PLcom/android/server/wm/WallpaperVisibilityListeners;->notifyWallpaperVisibilityChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WallpaperVisibilityListeners;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
+PLcom/android/server/wm/WallpaperWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;ZLcom/android/server/wm/DisplayContent;Z)V
+PLcom/android/server/wm/WallpaperWindowToken;->forAllWallpaperWindows(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/WallpaperWindowToken;->hasVisibleNotDrawnWallpaper()Z
+PLcom/android/server/wm/WallpaperWindowToken;->hideWallpaperToken(ZLjava/lang/String;)V
+PLcom/android/server/wm/WallpaperWindowToken;->toString()Ljava/lang/String;
PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperOffset(IIZ)V
PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperVisibility(Z)V
-HSPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V
-HSPLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;Landroid/graphics/Rect;ZIZF)V
-HSPLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
+PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V
+PLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>()V
+PLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>(Lcom/android/server/wm/WindowAnimationSpec$1;)V
+PLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;Landroid/graphics/Rect;ZIZF)V
+PLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;ZF)V
+PLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
PLcom/android/server/wm/WindowAnimationSpec;->calculateStatusBarTransitionStartTime()J
-HSPLcom/android/server/wm/WindowAnimationSpec;->canSkipFirstFrame()Z
+PLcom/android/server/wm/WindowAnimationSpec;->canSkipFirstFrame()Z
+PLcom/android/server/wm/WindowAnimationSpec;->findAlmostThereFraction(Landroid/view/animation/Interpolator;)F
PLcom/android/server/wm/WindowAnimationSpec;->findTranslateAnimation(Landroid/view/animation/Animation;)Landroid/view/animation/TranslateAnimation;
-HSPLcom/android/server/wm/WindowAnimationSpec;->getBackgroundColor()I
-HSPLcom/android/server/wm/WindowAnimationSpec;->getDuration()J
+PLcom/android/server/wm/WindowAnimationSpec;->getDuration()J
PLcom/android/server/wm/WindowAnimationSpec;->getShowWallpaper()Z
-HSPLcom/android/server/wm/WindowAnimationSpec;->needsEarlyWakeup()Z
-HSPLcom/android/server/wm/WindowAnimator;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowAnimator;->addAfterPrepareSurfacesRunnable(Ljava/lang/Runnable;)V
-HSPLcom/android/server/wm/WindowAnimator;->addDisplayLocked(I)V
-HSPLcom/android/server/wm/WindowAnimator;->animate(J)V
-PLcom/android/server/wm/WindowAnimator;->dumpLocked(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/WindowAnimator;->executeAfterPrepareSurfacesRunnables()V
-HSPLcom/android/server/wm/WindowAnimator;->getDisplayContentsAnimatorLocked(I)Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
-HSPLcom/android/server/wm/WindowAnimator;->getPendingLayoutChanges(I)I
-HSPLcom/android/server/wm/WindowAnimator;->getScreenRotationAnimationLocked(I)Lcom/android/server/wm/ScreenRotationAnimation;
-PLcom/android/server/wm/WindowAnimator;->isAnimating()Z
-PLcom/android/server/wm/WindowAnimator;->isAnimationScheduled()Z
-HSPLcom/android/server/wm/WindowAnimator;->lambda$new$0$WindowAnimator()V
-HSPLcom/android/server/wm/WindowAnimator;->lambda$new$1$WindowAnimator(J)V
-HSPLcom/android/server/wm/WindowAnimator;->orAnimating(Z)V
-HSPLcom/android/server/wm/WindowAnimator;->ready()V
-PLcom/android/server/wm/WindowAnimator;->removeDisplayLocked(I)V
-HSPLcom/android/server/wm/WindowAnimator;->requestRemovalOfReplacedWindows(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WindowAnimator;->scheduleAnimation()V
-HSPLcom/android/server/wm/WindowAnimator;->setAnimating(Z)V
-HSPLcom/android/server/wm/WindowAnimator;->setPendingLayoutChanges(II)V
-HSPLcom/android/server/wm/WindowAnimator;->setScreenRotationAnimationLocked(ILcom/android/server/wm/ScreenRotationAnimation;)V
-HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V
-HSPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;Ljava/util/Comparator;)V
-HSPLcom/android/server/wm/WindowContainer;->assignChildLayers()V
-HSPLcom/android/server/wm/WindowContainer;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HSPLcom/android/server/wm/WindowContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
-HSPLcom/android/server/wm/WindowContainer;->cancelAnimation()V
-HSPLcom/android/server/wm/WindowContainer;->checkAppWindowsReadyToShow()V
-HSPLcom/android/server/wm/WindowContainer;->checkCompleteDeferredRemoval()Z
-HSPLcom/android/server/wm/WindowContainer;->commitPendingTransaction()V
-HSPLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I
-PLcom/android/server/wm/WindowContainer;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
+PLcom/android/server/wm/WindowAnimationSpec;->lambda$new$0()Lcom/android/server/wm/WindowAnimationSpec$TmpValues;
+PLcom/android/server/wm/WindowAnimationSpec;->needsEarlyWakeup()Z
+PLcom/android/server/wm/WindowAnimationSpec;->writeToProtoInner(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;-><init>(Lcom/android/server/wm/WindowAnimator;)V
+PLcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;-><init>(Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator$1;)V
+PLcom/android/server/wm/WindowAnimator;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowAnimator;->addDisplayLocked(I)V
+PLcom/android/server/wm/WindowAnimator;->animate(J)V
+PLcom/android/server/wm/WindowAnimator;->cancelAnimation()V
+PLcom/android/server/wm/WindowAnimator;->executeAfterPrepareSurfacesRunnables()V
+PLcom/android/server/wm/WindowAnimator;->getDisplayContentsAnimatorLocked(I)Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
+PLcom/android/server/wm/WindowAnimator;->lambda$new$0$WindowAnimator()V
+PLcom/android/server/wm/WindowAnimator;->lambda$new$1$WindowAnimator(J)V
+PLcom/android/server/wm/WindowAnimator;->orAnimating(Z)V
+PLcom/android/server/wm/WindowAnimator;->ready()V
+PLcom/android/server/wm/WindowAnimator;->requestRemovalOfReplacedWindows(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowAnimator;->scheduleAnimation()V
+PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer$1;)V
+HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z
+HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->release()V
+PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->setConsumer(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowContainer;->access$100(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
+PLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+PLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;Ljava/util/Comparator;)V
+PLcom/android/server/wm/WindowContainer;->applyAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Z
+PLcom/android/server/wm/WindowContainer;->assignChildLayers()V
+HPLcom/android/server/wm/WindowContainer;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+HPLcom/android/server/wm/WindowContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+PLcom/android/server/wm/WindowContainer;->cancelAnimation()V
+HPLcom/android/server/wm/WindowContainer;->checkAppWindowsReadyToShow()V
+HPLcom/android/server/wm/WindowContainer;->checkCompleteDeferredRemoval()Z
+PLcom/android/server/wm/WindowContainer;->commitPendingTransaction()V
+PLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Function;)Z
+HPLcom/android/server/wm/WindowContainer;->forAllActivities(Ljava/util/function/Function;Z)Z
+PLcom/android/server/wm/WindowContainer;->forAllTasks(Lcom/android/internal/util/ToBooleanFunction;)Z
PLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Consumer;)V
-HSPLcom/android/server/wm/WindowContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HSPLcom/android/server/wm/WindowContainer;->forAllWindows(Ljava/util/function/Consumer;Z)V
-PLcom/android/server/wm/WindowContainer;->forceWindowsScaleableInTransaction(Z)V
-HSPLcom/android/server/wm/WindowContainer;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
-HSPLcom/android/server/wm/WindowContainer;->getAnimationLeashParent()Landroid/view/SurfaceControl;
+HPLcom/android/server/wm/WindowContainer;->forAllWallpaperWindows(Ljava/util/function/Consumer;)V
+HPLcom/android/server/wm/WindowContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/WindowContainer;->forAllWindows(Ljava/util/function/Consumer;Z)V
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Lcom/android/server/wm/WindowContainer;ZZ)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Lcom/android/server/wm/WindowContainer;ZZ[Z)Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getActivity(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getActivityAbove(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getActivityBelow(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
+PLcom/android/server/wm/WindowContainer;->getAnimationAdapter(Landroid/view/WindowManager$LayoutParams;IZZ)Landroid/util/Pair;
+PLcom/android/server/wm/WindowContainer;->getAnimationLeashParent()Landroid/view/SurfaceControl;
PLcom/android/server/wm/WindowContainer;->getAppAnimationLayer(I)Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;
-HSPLcom/android/server/wm/WindowContainer;->getChildCount()I
-HSPLcom/android/server/wm/WindowContainer;->getDimmer()Lcom/android/server/wm/Dimmer;
-HSPLcom/android/server/wm/WindowContainer;->getDisplayedBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowContainer;->getOrientation(I)I
-HSPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer;
-HSPLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
-HSPLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex()I
-HSPLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I
-HSPLcom/android/server/wm/WindowContainer;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
-HSPLcom/android/server/wm/WindowContainer;->getSession()Landroid/view/SurfaceSession;
-HSPLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl;
-HSPLcom/android/server/wm/WindowContainer;->getSurfaceHeight()I
-HSPLcom/android/server/wm/WindowContainer;->getSurfaceWidth()I
-HSPLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer;
-HSPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowContainer;->handlesOrientationChangeFromDescendant()Z
-PLcom/android/server/wm/WindowContainer;->hasCommittedReparentToAnimationLeash()Z
-HSPLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z
-HSPLcom/android/server/wm/WindowContainer;->isAnimating()Z
-HSPLcom/android/server/wm/WindowContainer;->isAppAnimating()Z
-HSPLcom/android/server/wm/WindowContainer;->isSelfAnimating()Z
-HSPLcom/android/server/wm/WindowContainer;->isSelfOrChildAnimating()Z
-HSPLcom/android/server/wm/WindowContainer;->isVisible()Z
-HSPLcom/android/server/wm/WindowContainer;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/WindowContainer;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/WindowContainer;->makeSurface()Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/WindowContainer;->needsZBoost()Z
+PLcom/android/server/wm/WindowContainer;->getBottomMostActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+PLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getChildCount()I
+HPLcom/android/server/wm/WindowContainer;->getDimmer()Lcom/android/server/wm/Dimmer;
+HPLcom/android/server/wm/WindowContainer;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+HPLcom/android/server/wm/WindowContainer;->getDisplayedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowContainer;->getOrientation(I)I
+PLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+PLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+PLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex()I
+PLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/WindowContainer;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
+PLcom/android/server/wm/WindowContainer;->getRequestedConfigurationOrientation()I
+PLcom/android/server/wm/WindowContainer;->getSession()Landroid/view/SurfaceSession;
+PLcom/android/server/wm/WindowContainer;->getSurfaceAnimationRunner()Lcom/android/server/wm/SurfaceAnimationRunner;
+PLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl;
+PLcom/android/server/wm/WindowContainer;->getSurfaceHeight()I
+PLcom/android/server/wm/WindowContainer;->getSurfaceWidth()I
+PLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;)Lcom/android/server/wm/Task;
+PLcom/android/server/wm/WindowContainer;->getTask(Ljava/util/function/Predicate;Z)Lcom/android/server/wm/Task;
+HPLcom/android/server/wm/WindowContainer;->getTopActivity(ZZ)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/WindowContainer;->getTopMostActivity()Lcom/android/server/wm/ActivityRecord;
+HPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowContainer;->handlesOrientationChangeFromDescendant()Z
+HPLcom/android/server/wm/WindowContainer;->hasActivity()Z
+HPLcom/android/server/wm/WindowContainer;->hasChild(Lcom/android/server/wm/WindowContainer;)Z
+PLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z
+PLcom/android/server/wm/WindowContainer;->isAnimating()Z
+HPLcom/android/server/wm/WindowContainer;->isAnimating(I)Z
+PLcom/android/server/wm/WindowContainer;->isAppTransitioning()Z
+PLcom/android/server/wm/WindowContainer;->isOnTop()Z
+HPLcom/android/server/wm/WindowContainer;->isVisible()Z
+HPLcom/android/server/wm/WindowContainer;->isWaitingForTransitionStart()Z
+PLcom/android/server/wm/WindowContainer;->lambda$getActivityAbove$1(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getActivityBelow$2(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getBottomMostActivity$3(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getTopActivity$7(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getTopActivity$8(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowContainer;->lambda$getTopMostActivity$4(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/WindowContainer;->lambda$isAppTransitioning$0(Lcom/android/server/wm/ActivityRecord;)Z
+HPLcom/android/server/wm/WindowContainer;->lambda$waitForAllWindowsDrawn$9$WindowContainer(Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowContainer;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Landroid/view/animation/Animation;
+PLcom/android/server/wm/WindowContainer;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/WindowContainer;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/WindowContainer;->makeSurface()Landroid/view/SurfaceControl$Builder;
+HPLcom/android/server/wm/WindowContainer;->needsZBoost()Z
+HPLcom/android/server/wm/WindowContainer;->obtainConsumerWrapper(Ljava/util/function/Consumer;)Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;
+PLcom/android/server/wm/WindowContainer;->okToAnimate()Z
+PLcom/android/server/wm/WindowContainer;->okToDisplay()Z
PLcom/android/server/wm/WindowContainer;->onAnimationFinished()V
PLcom/android/server/wm/WindowContainer;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/WindowContainer;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowContainer;->onAppTransitionDone()V
-HSPLcom/android/server/wm/WindowContainer;->onChildPositionChanged()V
-HSPLcom/android/server/wm/WindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/WindowContainer;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
-HSPLcom/android/server/wm/WindowContainer;->onDescendantOverrideConfigurationChanged()V
-HSPLcom/android/server/wm/WindowContainer;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowContainer;->onMovedByResize()V
-HSPLcom/android/server/wm/WindowContainer;->onParentChanged()V
-HSPLcom/android/server/wm/WindowContainer;->onParentResize()V
-HSPLcom/android/server/wm/WindowContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/WindowContainer;->onResize()V
-HSPLcom/android/server/wm/WindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
-HSPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V
-HSPLcom/android/server/wm/WindowContainer;->reassignLayer(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowContainer;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/WindowContainer;->removeImmediately()V
-PLcom/android/server/wm/WindowContainer;->reparentSurfaceControl(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V
-HSPLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V
-HSPLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HSPLcom/android/server/wm/WindowContainer;->setOrientation(I)V
-HSPLcom/android/server/wm/WindowContainer;->setOrientation(ILandroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)V
-HSPLcom/android/server/wm/WindowContainer;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
-HSPLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
-PLcom/android/server/wm/WindowContainer;->transferAnimation(Lcom/android/server/wm/WindowContainer;)V
-HSPLcom/android/server/wm/WindowContainer;->updateSurfacePosition()V
+PLcom/android/server/wm/WindowContainer;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowContainer;->onAppTransitionDone()V
+PLcom/android/server/wm/WindowContainer;->onChildAdded(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onChildPositionChanged(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onChildRemoved(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowContainer;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/WindowContainer;->onDescendantOverrideConfigurationChanged()V
+PLcom/android/server/wm/WindowContainer;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
+HPLcom/android/server/wm/WindowContainer;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/WindowContainer$PreAssignChildLayersCallback;)V
+PLcom/android/server/wm/WindowContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowContainer;->onResize()V
+PLcom/android/server/wm/WindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+HPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V
+PLcom/android/server/wm/WindowContainer;->processGetActivityWithBoundary(Ljava/util/function/Predicate;Lcom/android/server/wm/WindowContainer;ZZ[ZLcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowContainer;->reassignLayer(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowContainer;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->removeIfPossible()V
+PLcom/android/server/wm/WindowContainer;->removeImmediately()V
+PLcom/android/server/wm/WindowContainer;->scheduleAnimation()V
+PLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V
+PLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowContainer;->setOrientation(I)V
+PLcom/android/server/wm/WindowContainer;->setOrientation(ILandroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)V
+PLcom/android/server/wm/WindowContainer;->setParent(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/WindowContainer;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+PLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
+PLcom/android/server/wm/WindowContainer;->updateSurfacePosition()V
+PLcom/android/server/wm/WindowContainer;->waitForAllWindowsDrawn()V
PLcom/android/server/wm/WindowContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/WindowFrames;-><init>()V
-HSPLcom/android/server/wm/WindowFrames;->calculateDockedDividerInsets(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowFrames;->calculateInsets(ZZLandroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowFrames;->calculateOutsets()V
-HSPLcom/android/server/wm/WindowFrames;->didFrameSizeChange()Z
-PLcom/android/server/wm/WindowFrames;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowFrames;->hasContentChanged()Z
-HSPLcom/android/server/wm/WindowFrames;->offsetFrames(II)V
-HSPLcom/android/server/wm/WindowFrames;->parentFrameWasClippedByDisplayCutout()Z
-HSPLcom/android/server/wm/WindowFrames;->resetInsetsChanged()V
-HSPLcom/android/server/wm/WindowFrames;->resetLastContentInsets()V
-HSPLcom/android/server/wm/WindowFrames;->setContentChanged(Z)V
-HSPLcom/android/server/wm/WindowFrames;->setDisplayCutout(Lcom/android/server/wm/utils/WmDisplayCutout;)V
-HSPLcom/android/server/wm/WindowFrames;->setFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowFrames;->setHasOutsets(Z)V
-HSPLcom/android/server/wm/WindowFrames;->setParentFrameWasClippedByDisplayCutout(Z)V
-HSPLcom/android/server/wm/WindowFrames;->setReportResizeHints()Z
-HSPLcom/android/server/wm/WindowFrames;->updateLastInsetValues()V
+PLcom/android/server/wm/WindowFrames;-><clinit>()V
+PLcom/android/server/wm/WindowFrames;-><init>()V
+PLcom/android/server/wm/WindowFrames;->calculateDockedDividerInsets(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowFrames;->calculateInsets(ZZLandroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowFrames;->didFrameSizeChange()Z
+PLcom/android/server/wm/WindowFrames;->hasContentChanged()Z
+PLcom/android/server/wm/WindowFrames;->offsetFrames(II)V
+PLcom/android/server/wm/WindowFrames;->parentFrameWasClippedByDisplayCutout()Z
+PLcom/android/server/wm/WindowFrames;->resetInsetsChanged()V
+PLcom/android/server/wm/WindowFrames;->resetLastContentInsets()V
+PLcom/android/server/wm/WindowFrames;->setContentChanged(Z)V
+PLcom/android/server/wm/WindowFrames;->setDisplayCutout(Lcom/android/server/wm/utils/WmDisplayCutout;)V
+HPLcom/android/server/wm/WindowFrames;->setFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowFrames;->setParentFrameWasClippedByDisplayCutout(Z)V
+PLcom/android/server/wm/WindowFrames;->setReportResizeHints()Z
+PLcom/android/server/wm/WindowFrames;->updateLastInsetValues()V
PLcom/android/server/wm/WindowFrames;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/WindowHashMap;-><init>()V
-PLcom/android/server/wm/WindowList;->addFirst(Ljava/lang/Object;)V
-HSPLcom/android/server/wm/WindowList;->peekFirst()Ljava/lang/Object;
-HSPLcom/android/server/wm/WindowList;->peekLast()Ljava/lang/Object;
-HSPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionCancelledLocked(I)V
-HSPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionPendingLocked()V
-HSPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionStartingLocked(IJJJ)I
-PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->postPerformDrag()V
-PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->postReportDropResult()V
-PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->prePerformDrag(Landroid/view/IWindow;Landroid/os/IBinder;IFFFFLandroid/content/ClipData;)Z
-PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->preReportDropResult(Landroid/view/IWindow;Z)V
-PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->registerInputChannel(Lcom/android/server/wm/DragState;Landroid/view/Display;Lcom/android/server/input/InputManagerService;Landroid/view/InputChannel;)Z
-HSPLcom/android/server/wm/WindowManagerService$10;->binderDied()V
-HSPLcom/android/server/wm/WindowManagerService$1;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/server/wm/WindowManagerService$3;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$3;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/wm/WindowManagerService$3;->dumpCritical(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/WindowManagerService$4;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$4;->onAppTransitionCancelledLocked(I)V
-HSPLcom/android/server/wm/WindowManagerService$4;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerService$5;->run()V
-HSPLcom/android/server/wm/WindowManagerService$6;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$6;->getServiceType()I
-HSPLcom/android/server/wm/WindowManagerService$6;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
-HSPLcom/android/server/wm/WindowManagerService$7;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$7;->onOpChanged(ILjava/lang/String;)V
-HSPLcom/android/server/wm/WindowManagerService$8;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$H;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$1;)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->addWindowToken(Landroid/os/IBinder;II)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->computeWindowsForAccessibility()V
-PLcom/android/server/wm/WindowManagerService$LocalService;->getCompatibleMagnificationSpecForWindow(Landroid/os/IBinder;)Landroid/view/MagnificationSpec;
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->getDisplayIdForWindow(Landroid/os/IBinder;)I
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->getFocusedWindowToken()Landroid/os/IBinder;
-PLcom/android/server/wm/WindowManagerService$LocalService;->isHardKeyboardAvailable()Z
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->isInputMethodClientFocus(III)Z
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->isKeyguardShowingAndNotOccluded()Z
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->isStackVisible(I)Z
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->isUidAllowedOnDisplay(II)Z
-PLcom/android/server/wm/WindowManagerService$LocalService;->isUidFocused(I)Z
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+PLcom/android/server/wm/WindowList;-><init>()V
+PLcom/android/server/wm/WindowList;->peekLast()Ljava/lang/Object;
+PLcom/android/server/wm/WindowManagerConstants;-><init>(Lcom/android/server/wm/WindowManagerGlobalLock;Ljava/lang/Runnable;Lcom/android/server/wm/utils/DeviceConfigInterface;)V
+PLcom/android/server/wm/WindowManagerConstants;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/utils/DeviceConfigInterface;)V
+PLcom/android/server/wm/WindowManagerConstants;->start(Ljava/util/concurrent/Executor;)V
+PLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExcludedByPreQStickyImmersive()V
+PLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExclusionLimitDp()V
+PLcom/android/server/wm/WindowManagerConstants;->updateSystemGestureExclusionLogDebounceMillis()V
+HSPLcom/android/server/wm/WindowManagerGlobalLock;-><init>()V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;-><init>()V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionPendingLocked()V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionStartingLocked(IJJJ)I
+PLcom/android/server/wm/WindowManagerInternal;-><init>()V
+PLcom/android/server/wm/WindowManagerService$10;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$1;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wm/WindowManagerService$3;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$4;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$4;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$5;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$5;->run()V
+PLcom/android/server/wm/WindowManagerService$6;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$7;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$8;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$H;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/WindowManagerService$H;->sendNewMessageDelayed(ILjava/lang/Object;J)V
+PLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$1;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->addWindowToken(Landroid/os/IBinder;II)V
+HPLcom/android/server/wm/WindowManagerService$LocalService;->clearSnapshotCache()V
+PLcom/android/server/wm/WindowManagerService$LocalService;->getDisplayIdForWindow(Landroid/os/IBinder;)I
+PLcom/android/server/wm/WindowManagerService$LocalService;->getKeyInterceptionInfoFromToken(Landroid/os/IBinder;)Lcom/android/internal/policy/KeyInterceptionInfo;
+PLcom/android/server/wm/WindowManagerService$LocalService;->isInputMethodClientFocus(III)Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->isKeyguardShowingAndNotOccluded()Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->isStackVisibleLw(I)Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->isUidAllowedOnDisplay(II)Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
PLcom/android/server/wm/WindowManagerService$LocalService;->removeWindowToken(Landroid/os/IBinder;ZI)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->requestTraversalFromDisplayManager()V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->setOnHardKeyboardStatusChangeListener(Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->setWindowsForAccessibilityCallback(Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodTargetWindow(Landroid/os/IBinder;Landroid/os/IBinder;)V
-PLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodWindowStatus(Landroid/os/IBinder;ZZ)V
-HSPLcom/android/server/wm/WindowManagerService$LocalService;->waitForAllWindowsDrawn(Ljava/lang/Runnable;J)V
-HSPLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>(Lcom/android/server/wm/WindowManagerService$1;)V
-HSPLcom/android/server/wm/WindowManagerService$MousePositionTracker;->onPointerEvent(Landroid/view/MotionEvent;)V
-HSPLcom/android/server/wm/WindowManagerService$SettingsObserver;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService$SettingsObserver;->updatePointerLocation()V
-HSPLcom/android/server/wm/WindowManagerService$SettingsObserver;->updateSystemUiSettings()V
-HSPLcom/android/server/wm/WindowManagerService;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/TransactionFactory;)V
-HSPLcom/android/server/wm/WindowManagerService;->access$1100(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService;->access$1400(Lcom/android/server/wm/WindowManagerService;)Z
-PLcom/android/server/wm/WindowManagerService;->access$1500(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/RecentsAnimationController;
-HSPLcom/android/server/wm/WindowManagerService;->access$700(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
-HSPLcom/android/server/wm/WindowManagerService;->addWindowToken(Landroid/os/IBinder;II)V
-HSPLcom/android/server/wm/WindowManagerService;->applyForcedPropertiesForDefaultDisplay()Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->requestTraversalFromDisplayManager()V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setOnHardKeyboardStatusChangeListener(Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodTargetWindow(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->waitForAllWindowsDrawn(Ljava/lang/Runnable;JI)V
+PLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>()V
+PLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>(Lcom/android/server/wm/WindowManagerService$1;)V
+PLcom/android/server/wm/WindowManagerService$MousePositionTracker;->onPointerEvent(Landroid/view/MotionEvent;)V
+PLcom/android/server/wm/WindowManagerService$RotationWatcher;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IRotationWatcher;Landroid/os/IBinder$DeathRecipient;I)V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;->updatePointerLocation()V
+PLcom/android/server/wm/WindowManagerService$SettingsObserver;->updateSystemUiSettings()V
+HSPLcom/android/server/wm/WindowManagerService;-><clinit>()V
+PLcom/android/server/wm/WindowManagerService;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/WindowManagerService;->access$1000(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService;->access$1300(Lcom/android/server/wm/WindowManagerService;)Z
+PLcom/android/server/wm/WindowManagerService;->access$1400(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/RecentsAnimationController;
+PLcom/android/server/wm/WindowManagerService;->access$1500(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService;->access$600(Lcom/android/server/wm/WindowManagerService;)V
+HPLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
+PLcom/android/server/wm/WindowManagerService;->addWindowToken(Landroid/os/IBinder;II)V
+PLcom/android/server/wm/WindowManagerService;->applyForcedPropertiesForDefaultDisplay()Z
HSPLcom/android/server/wm/WindowManagerService;->boostPriorityForLockedSection()V
PLcom/android/server/wm/WindowManagerService;->canStartRecentsAnimation()Z
-PLcom/android/server/wm/WindowManagerService;->cancelRecentsAnimationSynchronously(ILjava/lang/String;)V
-HSPLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/server/wm/WindowManagerService;->checkDrawnWindowsLocked()V
+PLcom/android/server/wm/WindowManagerService;->cancelRecentsAnimation(ILjava/lang/String;)V
+PLcom/android/server/wm/WindowManagerService;->checkBootAnimationCompleteLocked()Z
+PLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wm/WindowManagerService;->checkDrawnWindowsLocked()V
PLcom/android/server/wm/WindowManagerService;->checkSplitScreenMinimizedChanged(Z)V
PLcom/android/server/wm/WindowManagerService;->cleanupRecentsAnimation(I)V
-HSPLcom/android/server/wm/WindowManagerService;->closeSurfaceTransaction(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowManagerService;->closeSurfaceTransaction(Ljava/lang/String;)V
PLcom/android/server/wm/WindowManagerService;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowManagerService;->computeNewConfiguration(I)Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/WindowManagerService;->continueSurfaceLayout()V
-HSPLcom/android/server/wm/WindowManagerService;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V
-PLcom/android/server/wm/WindowManagerService;->createInputConsumer(Landroid/os/Looper;Ljava/lang/String;Landroid/view/InputEventReceiver$Factory;I)Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;
-HSPLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
-HSPLcom/android/server/wm/WindowManagerService;->createWatermarkInTransaction()V
-HSPLcom/android/server/wm/WindowManagerService;->deferSurfaceLayout()V
-HSPLcom/android/server/wm/WindowManagerService;->destroyInputConsumer(Ljava/lang/String;I)Z
-HSPLcom/android/server/wm/WindowManagerService;->destroyPreservedSurfaceLocked()V
-HSPLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z
-PLcom/android/server/wm/WindowManagerService;->dismissKeyguard(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/wm/WindowManagerService;->displayReady()V
-HSPLcom/android/server/wm/WindowManagerService;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
+PLcom/android/server/wm/WindowManagerService;->computeNewConfiguration(I)Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowManagerService;->computeNewConfigurationLocked(I)Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowManagerService;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V
+PLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
+PLcom/android/server/wm/WindowManagerService;->createWatermark()V
+PLcom/android/server/wm/WindowManagerService;->destroyInputConsumer(Ljava/lang/String;I)Z
+PLcom/android/server/wm/WindowManagerService;->destroyPreservedSurfaceLocked()V
+PLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z
+PLcom/android/server/wm/WindowManagerService;->dipToPixel(ILandroid/util/DisplayMetrics;)I
+PLcom/android/server/wm/WindowManagerService;->displayReady()V
PLcom/android/server/wm/WindowManagerService;->doesAddToastWindowRequireToken(Ljava/lang/String;ILcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WindowManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/wm/WindowManagerService;->dumpSessionsLocked(Ljava/io/PrintWriter;Z)V
-PLcom/android/server/wm/WindowManagerService;->dumpWindowsNoHeaderLocked(Ljava/io/PrintWriter;ZLjava/util/ArrayList;)V
-HSPLcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
-HSPLcom/android/server/wm/WindowManagerService;->enableScreenIfNeeded()V
-HSPLcom/android/server/wm/WindowManagerService;->enableScreenIfNeededLocked()V
-HSPLcom/android/server/wm/WindowManagerService;->excludeWindowTypeFromTapOutTask(I)Z
+PLcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
+PLcom/android/server/wm/WindowManagerService;->enableScreenIfNeeded()V
+PLcom/android/server/wm/WindowManagerService;->enableScreenIfNeededLocked()V
+PLcom/android/server/wm/WindowManagerService;->excludeWindowTypeFromTapOutTask(I)Z
PLcom/android/server/wm/WindowManagerService;->executeAppTransition()V
-HSPLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
-PLcom/android/server/wm/WindowManagerService;->finishSeamlessRotation()V
-HSPLcom/android/server/wm/WindowManagerService;->freezeDisplayRotation(II)V
-HSPLcom/android/server/wm/WindowManagerService;->freezeRotation(I)V
-HSPLcom/android/server/wm/WindowManagerService;->getBaseDisplaySize(ILandroid/graphics/Point;)V
-HSPLcom/android/server/wm/WindowManagerService;->getCameraLensCoverState()I
-HSPLcom/android/server/wm/WindowManagerService;->getCurrentAnimatorScale()F
-HSPLcom/android/server/wm/WindowManagerService;->getDefaultDisplayContentLocked()Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(ILandroid/os/IBinder;)Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/WindowManagerService;->getDockedStackSide()I
-HSPLcom/android/server/wm/WindowManagerService;->getForcedDisplayDensityForUserLocked(I)I
-HSPLcom/android/server/wm/WindowManagerService;->getImeFocusStackLocked()Lcom/android/server/wm/TaskStack;
-PLcom/android/server/wm/WindowManagerService;->getInitialDisplayDensity(I)I
-HSPLcom/android/server/wm/WindowManagerService;->getInitialDisplaySize(ILandroid/graphics/Point;)V
-HSPLcom/android/server/wm/WindowManagerService;->getInputManagerCallback()Lcom/android/server/wm/InputManagerCallback;
-HSPLcom/android/server/wm/WindowManagerService;->getLidState()I
-HSPLcom/android/server/wm/WindowManagerService;->getNavBarPosition(I)I
-HSPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController;
-HSPLcom/android/server/wm/WindowManagerService;->getStableInsets(ILandroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowManagerService;->getStableInsetsLocked(ILandroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowManagerService;->getStackBounds(IILandroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowManagerService;->getTaskSnapshot(IIZ)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLcom/android/server/wm/WindowManagerService;->getTransitionAnimationScaleLocked()F
-HSPLcom/android/server/wm/WindowManagerService;->getWindowAnimationScaleLocked()F
-PLcom/android/server/wm/WindowManagerService;->getWindowDisplayFrame(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowManagerService;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
-HSPLcom/android/server/wm/WindowManagerService;->getWindowManagerLock()Ljava/lang/Object;
-HSPLcom/android/server/wm/WindowManagerService;->hasHdrSupport()Z
-HSPLcom/android/server/wm/WindowManagerService;->hasNavigationBar(I)Z
-HSPLcom/android/server/wm/WindowManagerService;->hasWideColorGamutSupport()Z
-HSPLcom/android/server/wm/WindowManagerService;->hideBootMessagesLocked()V
-HSPLcom/android/server/wm/WindowManagerService;->inSurfaceTransaction(Ljava/lang/Runnable;)V
-PLcom/android/server/wm/WindowManagerService;->initializeRecentsAnimation(ILandroid/view/IRecentsAnimationRunner;Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;ILandroid/util/SparseBooleanArray;)V
-HSPLcom/android/server/wm/WindowManagerService;->isCurrentProfileLocked(I)Z
-HSPLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z
+PLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowManagerService;->freezeDisplayRotation(II)V
+PLcom/android/server/wm/WindowManagerService;->freezeRotation(I)V
+PLcom/android/server/wm/WindowManagerService;->getBaseDisplaySize(ILandroid/graphics/Point;)V
+PLcom/android/server/wm/WindowManagerService;->getCameraLensCoverState()I
+PLcom/android/server/wm/WindowManagerService;->getCurrentAnimatorScale()F
+PLcom/android/server/wm/WindowManagerService;->getDefaultDisplayContentLocked()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(ILandroid/os/IBinder;)Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowManagerService;->getDockedStackSide()I
+PLcom/android/server/wm/WindowManagerService;->getForcedDisplayDensityForUserLocked(I)I
+PLcom/android/server/wm/WindowManagerService;->getImeFocusStackLocked()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/WindowManagerService;->getInitialDisplaySize(ILandroid/graphics/Point;)V
+PLcom/android/server/wm/WindowManagerService;->getInputManagerCallback()Lcom/android/server/wm/InputManagerCallback;
+PLcom/android/server/wm/WindowManagerService;->getLidState()I
+PLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController;
+PLcom/android/server/wm/WindowManagerService;->getStableInsets(ILandroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowManagerService;->getStableInsetsLocked(ILandroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowManagerService;->getStackBounds(IILandroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowManagerService;->getTransitionAnimationScaleLocked()F
+PLcom/android/server/wm/WindowManagerService;->getWindowAnimationScaleLocked()F
+PLcom/android/server/wm/WindowManagerService;->getWindowManagerLock()Ljava/lang/Object;
+PLcom/android/server/wm/WindowManagerService;->hasHdrSupport()Z
+PLcom/android/server/wm/WindowManagerService;->hasNavigationBar(I)Z
+PLcom/android/server/wm/WindowManagerService;->hideBootMessagesLocked()V
+PLcom/android/server/wm/WindowManagerService;->inSurfaceTransaction(Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowManagerService;->initPolicy()V
+PLcom/android/server/wm/WindowManagerService;->initializeRecentsAnimation(ILandroid/view/IRecentsAnimationRunner;Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;ILandroid/util/SparseBooleanArray;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowManagerService;->isCurrentProfileLocked(I)Z
+PLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z
PLcom/android/server/wm/WindowManagerService;->isKeyguardSecure(I)Z
-HSPLcom/android/server/wm/WindowManagerService;->isKeyguardShowingAndNotOccluded()Z
-PLcom/android/server/wm/WindowManagerService;->isKeyguardTrusted()Z
-HSPLcom/android/server/wm/WindowManagerService;->isRotatingSeamlessly()Z
-HSPLcom/android/server/wm/WindowManagerService;->isSafeModeEnabled()Z
-HSPLcom/android/server/wm/WindowManagerService;->isSecureLocked(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WindowManagerService;->isShowingDream()Z
-PLcom/android/server/wm/WindowManagerService;->isValidPictureInPictureAspectRatio(IF)Z
-PLcom/android/server/wm/WindowManagerService;->lambda$requestAssistScreenshot$2(Landroid/app/IAssistDataReceiver;Landroid/graphics/Bitmap;)V
-HSPLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/WindowManagerService;
-HSPLcom/android/server/wm/WindowManagerService;->makeSurfaceBuilder(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
-HSPLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WindowManagerService;->markForSeamlessRotation(Lcom/android/server/wm/WindowState;Z)V
-HSPLcom/android/server/wm/WindowManagerService;->monitor()V
-HSPLcom/android/server/wm/WindowManagerService;->notifyAppRelaunchesCleared(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerService;->notifyAppRelaunching(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerService;->notifyAppRelaunchingFinished(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerService;->notifyAppResumedFinished(Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V
-HSPLcom/android/server/wm/WindowManagerService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
-HSPLcom/android/server/wm/WindowManagerService;->notifyKeyguardTrustedChanged()V
-HSPLcom/android/server/wm/WindowManagerService;->notifyTaskRemovedFromRecents(II)V
-HSPLcom/android/server/wm/WindowManagerService;->onAnimationFinished()V
-HSPLcom/android/server/wm/WindowManagerService;->onInitReady()V
-PLcom/android/server/wm/WindowManagerService;->onKeyguardOccludedChanged(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->onKeyguardShowingAndNotOccludedChanged()V
+PLcom/android/server/wm/WindowManagerService;->isKeyguardShowingAndNotOccluded()Z
+PLcom/android/server/wm/WindowManagerService;->isSafeModeEnabled()Z
+PLcom/android/server/wm/WindowManagerService;->isSecureLocked(Lcom/android/server/wm/WindowState;)Z
+HPLcom/android/server/wm/WindowManagerService;->lambda$checkDrawnWindowsLocked$7$WindowManagerService(Lcom/android/server/wm/WindowContainer;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowManagerService;->lambda$main$1(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
+PLcom/android/server/wm/WindowManagerService;->lambda$updateNonSystemOverlayWindowsVisibilityIfNeeded$13(ZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Ljava/util/function/Function;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/WindowManagerService;->makeSurfaceBuilder(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowManagerService;->monitor()V
+PLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V
+PLcom/android/server/wm/WindowManagerService;->notifyKeyguardTrustedChanged()V
+PLcom/android/server/wm/WindowManagerService;->onAnimationFinished()V
+PLcom/android/server/wm/WindowManagerService;->onInitReady()V
+PLcom/android/server/wm/WindowManagerService;->onKeyguardShowingAndNotOccludedChanged()V
+PLcom/android/server/wm/WindowManagerService;->onPointerDownOutsideFocusLocked(Landroid/os/IBinder;)V
PLcom/android/server/wm/WindowManagerService;->onPowerKeyDown(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowManagerService;->onSystemUiStarted()V
-HSPLcom/android/server/wm/WindowManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/server/wm/WindowManagerService;->onUserSwitched()V
-HSPLcom/android/server/wm/WindowManagerService;->openSession(Landroid/view/IWindowSessionCallback;)Landroid/view/IWindowSession;
-HSPLcom/android/server/wm/WindowManagerService;->openSurfaceTransaction()V
+PLcom/android/server/wm/WindowManagerService;->onSystemUiStarted()V
+PLcom/android/server/wm/WindowManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLcom/android/server/wm/WindowManagerService;->onUserSwitched()V
+PLcom/android/server/wm/WindowManagerService;->openSession(Landroid/view/IWindowSessionCallback;)Landroid/view/IWindowSession;
+PLcom/android/server/wm/WindowManagerService;->openSurfaceTransaction()V
PLcom/android/server/wm/WindowManagerService;->performBootTimeout()V
-HSPLcom/android/server/wm/WindowManagerService;->performEnableScreen()V
-PLcom/android/server/wm/WindowManagerService;->pokeDrawLock(Lcom/android/server/wm/Session;Landroid/os/IBinder;)V
-HSPLcom/android/server/wm/WindowManagerService;->postWindowRemoveCleanupLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowManagerService;->performEnableScreen()V
+HPLcom/android/server/wm/WindowManagerService;->pokeDrawLock(Lcom/android/server/wm/Session;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService;->postWindowRemoveCleanupLocked(Lcom/android/server/wm/WindowState;)V
PLcom/android/server/wm/WindowManagerService;->prepareAppTransition(IZ)V
-HSPLcom/android/server/wm/WindowManagerService;->prepareNoneTransitionForRelaunching(Lcom/android/server/wm/AppWindowToken;)V
-HSPLcom/android/server/wm/WindowManagerService;->prepareWindowReplacementTransition(Lcom/android/server/wm/AppWindowToken;)Z
-HSPLcom/android/server/wm/WindowManagerService;->queryHdrSupport()Z
-HSPLcom/android/server/wm/WindowManagerService;->queryWideColorGamutSupport()Z
-HSPLcom/android/server/wm/WindowManagerService;->reconfigureDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/WindowManagerService;->refreshScreenCaptureDisabled(I)V
-HSPLcom/android/server/wm/WindowManagerService;->registerAppFreezeListener(Lcom/android/server/wm/WindowManagerService$AppFreezeListener;)V
-HSPLcom/android/server/wm/WindowManagerService;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
-HSPLcom/android/server/wm/WindowManagerService;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
-HSPLcom/android/server/wm/WindowManagerService;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-HSPLcom/android/server/wm/WindowManagerService;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
-HSPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
-HSPLcom/android/server/wm/WindowManagerService;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
-HSPLcom/android/server/wm/WindowManagerService;->removeRotationWatcher(Landroid/view/IRotationWatcher;)V
-HSPLcom/android/server/wm/WindowManagerService;->removeWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
+PLcom/android/server/wm/WindowManagerService;->prepareNoneTransitionForRelaunching(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowManagerService;->prepareWindowReplacementTransition(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowManagerService;->queryHdrSupport()Z
+PLcom/android/server/wm/WindowManagerService;->queryWideColorGamutSupport()Z
+PLcom/android/server/wm/WindowManagerService;->refreshScreenCaptureDisabled(I)V
+PLcom/android/server/wm/WindowManagerService;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
+PLcom/android/server/wm/WindowManagerService;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
+PLcom/android/server/wm/WindowManagerService;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
+PLcom/android/server/wm/WindowManagerService;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
+HPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
+PLcom/android/server/wm/WindowManagerService;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/WindowManagerService;->removeWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
PLcom/android/server/wm/WindowManagerService;->removeWindowToken(Landroid/os/IBinder;I)V
-PLcom/android/server/wm/WindowManagerService;->requestAssistScreenshot(Landroid/app/IAssistDataReceiver;)Z
-HSPLcom/android/server/wm/WindowManagerService;->requestTraversal()V
+PLcom/android/server/wm/WindowManagerService;->reportSystemGestureExclusionChanged(Lcom/android/server/wm/Session;Landroid/view/IWindow;Ljava/util/List;)V
+PLcom/android/server/wm/WindowManagerService;->requestTraversal()V
HSPLcom/android/server/wm/WindowManagerService;->resetPriorityAfterLockedSection()V
-HSPLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V
+PLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V
PLcom/android/server/wm/WindowManagerService;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-HSPLcom/android/server/wm/WindowManagerService;->sendNewConfiguration(I)V
-PLcom/android/server/wm/WindowManagerService;->sendSetRunningRemoteAnimation(IZ)V
-HSPLcom/android/server/wm/WindowManagerService;->setAnimatorDurationScale(F)V
-HSPLcom/android/server/wm/WindowManagerService;->setAodShowing(Z)V
-PLcom/android/server/wm/WindowManagerService;->setAppFullscreen(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setCurrentProfileIds([I)V
-HSPLcom/android/server/wm/WindowManagerService;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setForceResizableTasks(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setHoldScreenLocked(Lcom/android/server/wm/Session;)V
-HSPLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/WindowManagerService;->setIsPc(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setKeyguardGoingAway(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setKeyguardOrAodShowingOnDefaultDisplay(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowManagerService;->setPipVisibility(Z)V
-PLcom/android/server/wm/WindowManagerService;->setShelfHeight(ZI)V
-HSPLcom/android/server/wm/WindowManagerService;->setSupportsFreeformWindowManagement(Z)V
-HSPLcom/android/server/wm/WindowManagerService;->setSupportsPictureInPicture(Z)V
-PLcom/android/server/wm/WindowManagerService;->setTransparentRegionWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/graphics/Region;)V
-PLcom/android/server/wm/WindowManagerService;->setWindowOpaque(Landroid/os/IBinder;Z)V
-HSPLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V
-HSPLcom/android/server/wm/WindowManagerService;->startFreezingDisplayLocked(IILcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowManagerService;->startSeamlessRotation()V
-HSPLcom/android/server/wm/WindowManagerService;->statusBarVisibilityChanged(II)V
-HSPLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V
-HSPLcom/android/server/wm/WindowManagerService;->systemReady()V
-PLcom/android/server/wm/WindowManagerService;->triggerAnimationFailsafe()V
-HSPLcom/android/server/wm/WindowManagerService;->tryStartExitingAnimation(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;Z)Z
-HSPLcom/android/server/wm/WindowManagerService;->unregisterAppFreezeListener(Lcom/android/server/wm/WindowManagerService$AppFreezeListener;)V
-HSPLcom/android/server/wm/WindowManagerService;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-PLcom/android/server/wm/WindowManagerService;->updateAppOpsState()V
-HSPLcom/android/server/wm/WindowManagerService;->updateCircularDisplayMaskIfNeeded()V
-HSPLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z
-HSPLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V
-PLcom/android/server/wm/WindowManagerService;->updatePointerIcon(Landroid/view/IWindow;)V
-HSPLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V
-HSPLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V
-HSPLcom/android/server/wm/WindowManagerService;->watchRotation(Landroid/view/IRotationWatcher;I)I
-HSPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/WindowManagerService;->writeToProtoLocked(Landroid/util/proto/ProtoOutputStream;I)V
+PLcom/android/server/wm/WindowManagerService;->setAnimatorDurationScale(F)V
+PLcom/android/server/wm/WindowManagerService;->setAodShowing(Z)V
+PLcom/android/server/wm/WindowManagerService;->setCurrentProfileIds([I)V
+PLcom/android/server/wm/WindowManagerService;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
+PLcom/android/server/wm/WindowManagerService;->setGlobalShadowSettings()V
+PLcom/android/server/wm/WindowManagerService;->setHoldScreenLocked(Lcom/android/server/wm/Session;)V
+PLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowManagerService;->setKeyguardGoingAway(Z)V
+PLcom/android/server/wm/WindowManagerService;->setKeyguardOrAodShowingOnDefaultDisplay(Z)V
+PLcom/android/server/wm/WindowManagerService;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
+PLcom/android/server/wm/WindowManagerService;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V
+PLcom/android/server/wm/WindowManagerService;->startFreezingDisplayLocked(IILcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V
+PLcom/android/server/wm/WindowManagerService;->systemReady()V
+PLcom/android/server/wm/WindowManagerService;->tryStartExitingAnimation(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;Z)Z
+PLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z
+PLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V
+PLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V
+PLcom/android/server/wm/WindowManagerService;->watchRotation(Landroid/view/IRotationWatcher;I)I
+HPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;
HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;-><init>()V
HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->boost()V
HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->reset()V
-HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setAppTransitionRunning(Z)V
-PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setBoundsAnimationRunning(Z)V
-HSPLcom/android/server/wm/WindowProcessController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;IILjava/lang/Object;Lcom/android/server/wm/WindowProcessListener;)V
-HSPLcom/android/server/wm/WindowProcessController;->addActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
-HSPLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;J)V
-HSPLcom/android/server/wm/WindowProcessController;->addRecentTask(Lcom/android/server/wm/TaskRecord;)V
-PLcom/android/server/wm/WindowProcessController;->appEarlyNotResponding(Ljava/lang/String;Ljava/lang/Runnable;)V
-PLcom/android/server/wm/WindowProcessController;->appNotResponding(Ljava/lang/String;Ljava/lang/Runnable;Ljava/lang/Runnable;)Z
-PLcom/android/server/wm/WindowProcessController;->areBackgroundActivityStartsAllowed()Z
-HSPLcom/android/server/wm/WindowProcessController;->clearActivities()V
-HSPLcom/android/server/wm/WindowProcessController;->clearPackageList()V
-HSPLcom/android/server/wm/WindowProcessController;->clearRecentTasks()V
-HSPLcom/android/server/wm/WindowProcessController;->clearWaitingToKill()V
-HSPLcom/android/server/wm/WindowProcessController;->computeOomAdjFromActivities(ILcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;)I
-HSPLcom/android/server/wm/WindowProcessController;->computeRelaunchReason()I
-PLcom/android/server/wm/WindowProcessController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowProcessController;->getChildCount()I
-HSPLcom/android/server/wm/WindowProcessController;->getCpuTime()J
-PLcom/android/server/wm/WindowProcessController;->getCurrentProcState()I
-HSPLcom/android/server/wm/WindowProcessController;->getCurrentSchedulingGroup()I
-PLcom/android/server/wm/WindowProcessController;->getFgInteractionTime()J
-PLcom/android/server/wm/WindowProcessController;->getInteractionEventTime()J
-PLcom/android/server/wm/WindowProcessController;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-HSPLcom/android/server/wm/WindowProcessController;->getPid()I
-HSPLcom/android/server/wm/WindowProcessController;->getReportedProcState()I
-HSPLcom/android/server/wm/WindowProcessController;->getRequiredAbi()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowProcessController;->getThread()Landroid/app/IApplicationThread;
-PLcom/android/server/wm/WindowProcessController;->getWhenUnimportant()J
-HSPLcom/android/server/wm/WindowProcessController;->hasActivities()Z
-HSPLcom/android/server/wm/WindowProcessController;->hasActivitiesOrRecentTasks()Z
-PLcom/android/server/wm/WindowProcessController;->hasClientActivities()Z
-PLcom/android/server/wm/WindowProcessController;->hasForegroundActivities()Z
-PLcom/android/server/wm/WindowProcessController;->hasForegroundServices()Z
-PLcom/android/server/wm/WindowProcessController;->hasOverlayUi()Z
-PLcom/android/server/wm/WindowProcessController;->hasPendingUiClean()Z
-HSPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z
-HSPLcom/android/server/wm/WindowProcessController;->hasStartedActivity(Lcom/android/server/wm/ActivityRecord;)Z
-HSPLcom/android/server/wm/WindowProcessController;->hasThread()Z
-PLcom/android/server/wm/WindowProcessController;->hasTopUi()Z
-HSPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z
-HSPLcom/android/server/wm/WindowProcessController;->isCrashing()Z
-HSPLcom/android/server/wm/WindowProcessController;->isHomeProcess()Z
-HSPLcom/android/server/wm/WindowProcessController;->isInstrumenting()Z
-PLcom/android/server/wm/WindowProcessController;->isInstrumentingWithBackgroundActivityStartPrivileges()Z
-HSPLcom/android/server/wm/WindowProcessController;->isInterestingToUser()Z
-HSPLcom/android/server/wm/WindowProcessController;->isNotResponding()Z
-PLcom/android/server/wm/WindowProcessController;->isPerceptible()Z
-HSPLcom/android/server/wm/WindowProcessController;->isPreviousProcess()Z
-HSPLcom/android/server/wm/WindowProcessController;->isRemoved()Z
-PLcom/android/server/wm/WindowProcessController;->makeFinishingForProcessRemoved()V
-HSPLcom/android/server/wm/WindowProcessController;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/WindowProcessController;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLcom/android/server/wm/WindowProcessController;->onStartActivity(I)Landroid/app/ProfilerInfo;
-HSPLcom/android/server/wm/WindowProcessController;->onTopProcChanged()V
-HSPLcom/android/server/wm/WindowProcessController;->postPendingUiCleanMsg(Z)V
-PLcom/android/server/wm/WindowProcessController;->registerDisplayConfigurationListenerLocked(Lcom/android/server/wm/ActivityDisplay;)V
-HSPLcom/android/server/wm/WindowProcessController;->removeActivity(Lcom/android/server/wm/ActivityRecord;)V
-PLcom/android/server/wm/WindowProcessController;->removeRecentTask(Lcom/android/server/wm/TaskRecord;)V
-HSPLcom/android/server/wm/WindowProcessController;->setAllowBackgroundActivityStarts(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setCrashing(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setCurrentProcState(I)V
-HSPLcom/android/server/wm/WindowProcessController;->setCurrentSchedulingGroup(I)V
-HSPLcom/android/server/wm/WindowProcessController;->setDebugging(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setFgInteractionTime(J)V
-HSPLcom/android/server/wm/WindowProcessController;->setHasClientActivities(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setHasForegroundActivities(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setHasForegroundServices(Z)V
-PLcom/android/server/wm/WindowProcessController;->setHasOverlayUi(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setHasTopUi(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setInteractionEventTime(J)V
-HSPLcom/android/server/wm/WindowProcessController;->setNotResponding(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setPendingUiClean(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setPendingUiCleanAndForceProcessStateUpTo(I)V
-HSPLcom/android/server/wm/WindowProcessController;->setPerceptible(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setPersistent(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setPid(I)V
-HSPLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V
-HSPLcom/android/server/wm/WindowProcessController;->setRequiredAbi(Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V
-HSPLcom/android/server/wm/WindowProcessController;->setUsingWrapper(Z)V
-HSPLcom/android/server/wm/WindowProcessController;->setWhenUnimportant(J)V
-PLcom/android/server/wm/WindowProcessController;->shouldKillProcessForRemovedTask(Lcom/android/server/wm/TaskRecord;)Z
-HSPLcom/android/server/wm/WindowProcessController;->stopFreezingActivities()V
-HSPLcom/android/server/wm/WindowProcessController;->toString()Ljava/lang/String;
-PLcom/android/server/wm/WindowProcessController;->unregisterDisplayConfigurationListenerLocked()V
-HSPLcom/android/server/wm/WindowProcessController;->updateConfiguration()V
-HSPLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZZ)V
-HSPLcom/android/server/wm/WindowProcessController;->updateServiceConnectionActivities()V
-HSPLcom/android/server/wm/WindowProcessController;->updateTopResumingActivityInProcessIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
-PLcom/android/server/wm/WindowProcessController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/WindowState$1;-><init>()V
-PLcom/android/server/wm/WindowState$1;->compare(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-PLcom/android/server/wm/WindowState$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/wm/WindowState$2;->isInteractive()Z
-PLcom/android/server/wm/WindowState$2;->wakeUp(JILjava/lang/String;)V
-HSPLcom/android/server/wm/WindowState$3;->run()V
-HSPLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WindowState$DeathRecipient;->binderDied()V
+PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setAppTransitionRunning(Z)V
+PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->updatePriorityLocked()V
+PLcom/android/server/wm/WindowProcessController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;IILjava/lang/Object;Lcom/android/server/wm/WindowProcessListener;)V
+PLcom/android/server/wm/WindowProcessController;->addActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowProcessController;->appDied()V
+PLcom/android/server/wm/WindowProcessController;->clearActivities()V
+PLcom/android/server/wm/WindowProcessController;->clearPackageList()V
+PLcom/android/server/wm/WindowProcessController;->clearRecentTasks()V
+HPLcom/android/server/wm/WindowProcessController;->computeOomAdjFromActivities(ILcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;)I
+PLcom/android/server/wm/WindowProcessController;->computeRelaunchReason()I
+PLcom/android/server/wm/WindowProcessController;->createProfilerInfoIfNeeded()Landroid/app/ProfilerInfo;
+PLcom/android/server/wm/WindowProcessController;->getChildCount()I
+PLcom/android/server/wm/WindowProcessController;->getCpuTime()J
+PLcom/android/server/wm/WindowProcessController;->getCurrentSchedulingGroup()I
+PLcom/android/server/wm/WindowProcessController;->getPid()I
+PLcom/android/server/wm/WindowProcessController;->getReportedProcState()I
+PLcom/android/server/wm/WindowProcessController;->getRequiredAbi()Ljava/lang/String;
+PLcom/android/server/wm/WindowProcessController;->getThread()Landroid/app/IApplicationThread;
+HPLcom/android/server/wm/WindowProcessController;->hasActivities()Z
+HPLcom/android/server/wm/WindowProcessController;->hasActivitiesOrRecentTasks()Z
+PLcom/android/server/wm/WindowProcessController;->hasActivityInVisibleTask()Z
+HPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z
+PLcom/android/server/wm/WindowProcessController;->hasStartedActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowProcessController;->hasThread()Z
+HPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z
+PLcom/android/server/wm/WindowProcessController;->isCrashing()Z
+HPLcom/android/server/wm/WindowProcessController;->isHomeProcess()Z
+PLcom/android/server/wm/WindowProcessController;->isInstrumenting()Z
+PLcom/android/server/wm/WindowProcessController;->isInterestingToUser()Z
+PLcom/android/server/wm/WindowProcessController;->isNotResponding()Z
+HPLcom/android/server/wm/WindowProcessController;->isPreviousProcess()Z
+PLcom/android/server/wm/WindowProcessController;->isRemoved()Z
+PLcom/android/server/wm/WindowProcessController;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->onStartActivity(ILandroid/content/pm/ActivityInfo;)V
+PLcom/android/server/wm/WindowProcessController;->onTopProcChanged()V
+PLcom/android/server/wm/WindowProcessController;->registeredForDisplayConfigChanges()Z
+PLcom/android/server/wm/WindowProcessController;->removeActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowProcessController;->removeRecentTask(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/WindowProcessController;->setAllowBackgroundActivityStarts(Z)V
+PLcom/android/server/wm/WindowProcessController;->setBoundClientUids(Landroid/util/ArraySet;)V
+PLcom/android/server/wm/WindowProcessController;->setCrashing(Z)V
+PLcom/android/server/wm/WindowProcessController;->setCurrentProcState(I)V
+PLcom/android/server/wm/WindowProcessController;->setCurrentSchedulingGroup(I)V
+PLcom/android/server/wm/WindowProcessController;->setDebugging(Z)V
+PLcom/android/server/wm/WindowProcessController;->setFgInteractionTime(J)V
+PLcom/android/server/wm/WindowProcessController;->setHasClientActivities(Z)V
+PLcom/android/server/wm/WindowProcessController;->setHasForegroundActivities(Z)V
+PLcom/android/server/wm/WindowProcessController;->setHasTopUi(Z)V
+PLcom/android/server/wm/WindowProcessController;->setInteractionEventTime(J)V
+PLcom/android/server/wm/WindowProcessController;->setLastActivityLaunchTime(J)V
+PLcom/android/server/wm/WindowProcessController;->setLastReportedConfiguration(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->setNotResponding(Z)V
+PLcom/android/server/wm/WindowProcessController;->setPendingUiClean(Z)V
+PLcom/android/server/wm/WindowProcessController;->setPendingUiCleanAndForceProcessStateUpTo(I)V
+PLcom/android/server/wm/WindowProcessController;->setPerceptible(Z)V
+PLcom/android/server/wm/WindowProcessController;->setPersistent(Z)V
+PLcom/android/server/wm/WindowProcessController;->setPid(I)V
+PLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V
+PLcom/android/server/wm/WindowProcessController;->setRequiredAbi(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowProcessController;->setRunningRecentsAnimation(Z)V
+PLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V
+PLcom/android/server/wm/WindowProcessController;->setUsingWrapper(Z)V
+PLcom/android/server/wm/WindowProcessController;->setWhenUnimportant(J)V
+PLcom/android/server/wm/WindowProcessController;->shouldSetProfileProc()Z
+PLcom/android/server/wm/WindowProcessController;->stopFreezingActivities()V
+PLcom/android/server/wm/WindowProcessController;->updateConfiguration()V
+PLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZ)V
+PLcom/android/server/wm/WindowProcessController;->updateRunningRemoteOrRecentsAnimation()V
+PLcom/android/server/wm/WindowProcessController;->updateServiceConnectionActivities()V
+PLcom/android/server/wm/WindowProcessController;->updateTopResumingActivityInProcessIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
+HSPLcom/android/server/wm/WindowProcessControllerMap;-><init>()V
+PLcom/android/server/wm/WindowProcessControllerMap;->getPidMap()Landroid/util/SparseArray;
+HPLcom/android/server/wm/WindowProcessControllerMap;->getProcess(I)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/WindowProcessControllerMap;->put(ILcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/WindowProcessControllerMap;->remove(I)V
+PLcom/android/server/wm/WindowProcessControllerMap;->removeProcessFromUidMap(Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/WindowState$1;-><init>()V
+PLcom/android/server/wm/WindowState$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
+PLcom/android/server/wm/WindowState$DeathRecipient;->binderDied()V
PLcom/android/server/wm/WindowState$MoveAnimationSpec;-><init>(Lcom/android/server/wm/WindowState;IIII)V
+PLcom/android/server/wm/WindowState$MoveAnimationSpec;-><init>(Lcom/android/server/wm/WindowState;IIIILcom/android/server/wm/WindowState$1;)V
PLcom/android/server/wm/WindowState$MoveAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
PLcom/android/server/wm/WindowState$MoveAnimationSpec;->getDuration()J
-HSPLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZ)V
-HSPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZLcom/android/server/wm/WindowState$PowerManagerWrapper;)V
-HSPLcom/android/server/wm/WindowState;->adjustStartingWindowFlags()V
-HSPLcom/android/server/wm/WindowState;->applyAdjustForImeIfNeeded()V
-HSPLcom/android/server/wm/WindowState;->applyDims(Lcom/android/server/wm/Dimmer;)V
-HSPLcom/android/server/wm/WindowState;->applyGravityAndUpdateFrame(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HSPLcom/android/server/wm/WindowState;->attach()V
-HSPLcom/android/server/wm/WindowState;->calculatePolicyCrop(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->calculateSystemDecorRect(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z
-HSPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z
-PLcom/android/server/wm/WindowState;->canBeImeTarget()Z
-HSPLcom/android/server/wm/WindowState;->canReceiveKeys()Z
+PLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;-><init>()V
+PLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;->reset()V
+PLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
+PLcom/android/server/wm/WindowState;-><clinit>()V
+PLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZ)V
+PLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZLcom/android/server/wm/WindowState$PowerManagerWrapper;)V
+PLcom/android/server/wm/WindowState;->adjustStartingWindowFlags()V
+PLcom/android/server/wm/WindowState;->applyAdjustForImeIfNeeded()V
+HPLcom/android/server/wm/WindowState;->applyDims(Lcom/android/server/wm/Dimmer;)V
+PLcom/android/server/wm/WindowState;->applyGravityAndUpdateFrame(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->applyImeWindowsIfNeeded(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HPLcom/android/server/wm/WindowState;->applyInOrderWithImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/WindowState;->attach()V
+PLcom/android/server/wm/WindowState;->calculatePolicyCrop(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->calculateSystemDecorRect(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z
+HPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z
+PLcom/android/server/wm/WindowState;->canReceiveKeys()Z
+HPLcom/android/server/wm/WindowState;->canReceiveKeys(Z)Z
PLcom/android/server/wm/WindowState;->canShowWhenLocked()Z
-HSPLcom/android/server/wm/WindowState;->cantReceiveTouchInput()Z
-HSPLcom/android/server/wm/WindowState;->checkPolicyVisibilityChange()V
-HSPLcom/android/server/wm/WindowState;->clearAnimatingFlags()Z
-HSPLcom/android/server/wm/WindowState;->computeDragResizing()Z
-HSPLcom/android/server/wm/WindowState;->computeFrameLw()V
-HSPLcom/android/server/wm/WindowState;->destroySurface(ZZ)Z
-HSPLcom/android/server/wm/WindowState;->destroySurfaceUnchecked()V
-HSPLcom/android/server/wm/WindowState;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;ZILandroid/view/DisplayCutout;)V
-HSPLcom/android/server/wm/WindowState;->dispatchWallpaperVisibility(Z)V
-HSPLcom/android/server/wm/WindowState;->disposeInputChannel()V
-PLcom/android/server/wm/WindowState;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/WindowState;->expandForSurfaceInsets(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->fillsDisplay()Z
-HSPLcom/android/server/wm/WindowState;->finishSeamlessRotation(Z)V
-PLcom/android/server/wm/WindowState;->forAllWindowBottomToTop(Lcom/android/internal/util/ToBooleanFunction;)Z
-PLcom/android/server/wm/WindowState;->forAllWindowTopToBottom(Lcom/android/internal/util/ToBooleanFunction;)Z
-HSPLcom/android/server/wm/WindowState;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-PLcom/android/server/wm/WindowState;->forceWindowsScaleableInTransaction(Z)V
-PLcom/android/server/wm/WindowState;->frameCoversEntireAppTokenBounds()Z
-HSPLcom/android/server/wm/WindowState;->getAppToken()Landroid/view/IApplicationToken;
-HSPLcom/android/server/wm/WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams;
-HSPLcom/android/server/wm/WindowState;->getBackdropFrame(Landroid/graphics/Rect;)Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getBaseType()I
-HSPLcom/android/server/wm/WindowState;->getBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getCompatFrame(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->getCompatFrameSize(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/WindowState;->getContainingFrame()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getContentFrameLw()Landroid/graphics/Rect;
+HPLcom/android/server/wm/WindowState;->cantReceiveTouchInput()Z
+PLcom/android/server/wm/WindowState;->checkPolicyVisibilityChange()V
+PLcom/android/server/wm/WindowState;->clearAnimatingFlags()Z
+PLcom/android/server/wm/WindowState;->clearPolicyVisibilityFlag(I)V
+HPLcom/android/server/wm/WindowState;->computeDragResizing()Z
+HPLcom/android/server/wm/WindowState;->computeFrameLw()V
+HPLcom/android/server/wm/WindowState;->cropRegionToStackBoundsIfNeeded(Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowState;->destroySurface(ZZ)Z
+PLcom/android/server/wm/WindowState;->destroySurfaceUnchecked()V
+PLcom/android/server/wm/WindowState;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;ZILandroid/view/DisplayCutout;)V
+PLcom/android/server/wm/WindowState;->dispatchWallpaperVisibility(Z)V
+PLcom/android/server/wm/WindowState;->disposeInputChannel()V
+PLcom/android/server/wm/WindowState;->expandForSurfaceInsets(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->fillsDisplay()Z
+PLcom/android/server/wm/WindowState;->finishSeamlessRotation(Z)V
+HPLcom/android/server/wm/WindowState;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+PLcom/android/server/wm/WindowState;->getAnimationFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->getAppToken()Landroid/view/IApplicationToken;
+PLcom/android/server/wm/WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams;
+PLcom/android/server/wm/WindowState;->getBackdropFrame(Landroid/graphics/Rect;)Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getBaseType()I
+PLcom/android/server/wm/WindowState;->getBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getCompatFrame(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->getCompatFrameSize(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowState;->getContainingFrame()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getContentFrameLw()Landroid/graphics/Rect;
PLcom/android/server/wm/WindowState;->getContentInsets()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getContentInsets(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/WindowState;->getDisplayFrameLw()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getDisplayId()I
-HSPLcom/android/server/wm/WindowState;->getDisplayInfo()Landroid/view/DisplayInfo;
-PLcom/android/server/wm/WindowState;->getDisplayedBounds()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getDrawnStateEvaluated()Z
-HSPLcom/android/server/wm/WindowState;->getFrameLw()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getFrameNumber()J
-PLcom/android/server/wm/WindowState;->getGivenContentInsetsLw()Landroid/graphics/Rect;
-PLcom/android/server/wm/WindowState;->getGivenInsetsPendingLw()Z
-PLcom/android/server/wm/WindowState;->getGivenVisibleInsetsLw()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getInputDispatchingTimeoutNanos()J
-HSPLcom/android/server/wm/WindowState;->getInsetProvider()Lcom/android/server/wm/InsetsSourceProvider;
-HSPLcom/android/server/wm/WindowState;->getInsetsForRelayout(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->getLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
-HSPLcom/android/server/wm/WindowState;->getMergedConfiguration(Landroid/util/MergedConfiguration;)V
-HSPLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowState;->getNeedsMenuLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HSPLcom/android/server/wm/WindowState;->getOrientationChanging()Z
-PLcom/android/server/wm/WindowState;->getOverscanFrameLw()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowState;->getOwningUid()I
-PLcom/android/server/wm/WindowState;->getParentFrame()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowState;->getProcessGlobalConfiguration()Landroid/content/res/Configuration;
-HSPLcom/android/server/wm/WindowState;->getReplacingWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowState;->getRotationAnimationHint()I
-HSPLcom/android/server/wm/WindowState;->getSession()Landroid/view/SurfaceSession;
-PLcom/android/server/wm/WindowState;->getStableFrameLw()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getContentInsets(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->getControllableInsetProvider()Lcom/android/server/wm/InsetsSourceProvider;
+HPLcom/android/server/wm/WindowState;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+PLcom/android/server/wm/WindowState;->getDisplayId()I
+PLcom/android/server/wm/WindowState;->getDisplayInfo()Landroid/view/DisplayInfo;
+PLcom/android/server/wm/WindowState;->getDrawnStateEvaluated()Z
+PLcom/android/server/wm/WindowState;->getEffectiveTouchableRegion(Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowState;->getFrameLw()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getInputDispatchingTimeoutNanos()J
+HPLcom/android/server/wm/WindowState;->getInsetsForRelayout(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->getKeyInterceptionInfo()Lcom/android/internal/policy/KeyInterceptionInfo;
+PLcom/android/server/wm/WindowState;->getLastReportedConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowState;->getLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
+PLcom/android/server/wm/WindowState;->getMergedConfiguration(Landroid/util/MergedConfiguration;)V
+PLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;
+HPLcom/android/server/wm/WindowState;->getOrientationChanging()Z
+PLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String;
+PLcom/android/server/wm/WindowState;->getOwningUid()I
+PLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowState;->getProcessGlobalConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/WindowState;->getReplacingWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowState;->getSession()Landroid/view/SurfaceSession;
PLcom/android/server/wm/WindowState;->getStableInsets()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getStableInsets(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->getStack()Lcom/android/server/wm/TaskStack;
-PLcom/android/server/wm/WindowState;->getSurfaceLayer()I
-HSPLcom/android/server/wm/WindowState;->getSurfaceTouchableRegion(Landroid/graphics/Region;I)I
-HSPLcom/android/server/wm/WindowState;->getSystemUiVisibility()I
-HSPLcom/android/server/wm/WindowState;->getTask()Lcom/android/server/wm/Task;
-HSPLcom/android/server/wm/WindowState;->getTopParentWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/WindowState;->getTransformationMatrix([FLandroid/graphics/Matrix;)V
-PLcom/android/server/wm/WindowState;->getVisibleBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowState;->getVisibleFrameLw()Landroid/graphics/Rect;
-HSPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowState;->getWindowFrames()Lcom/android/server/wm/WindowFrames;
-HSPLcom/android/server/wm/WindowState;->getWindowInfo()Landroid/view/WindowInfo;
-HSPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;
-HSPLcom/android/server/wm/WindowState;->getWmDisplayCutout()Lcom/android/server/wm/utils/WmDisplayCutout;
-HSPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V
-PLcom/android/server/wm/WindowState;->hasAppShownWindows()Z
-HSPLcom/android/server/wm/WindowState;->hasContentToDisplay()Z
-HSPLcom/android/server/wm/WindowState;->hasDrawnLw()Z
-HSPLcom/android/server/wm/WindowState;->hasMoved()Z
-HSPLcom/android/server/wm/WindowState;->hasVisibleNotDrawnWallpaper()Z
-HSPLcom/android/server/wm/WindowState;->hideLw(Z)Z
-HSPLcom/android/server/wm/WindowState;->hideLw(ZZ)Z
-HSPLcom/android/server/wm/WindowState;->hideNonSystemOverlayWindowsWhenVisible()Z
+PLcom/android/server/wm/WindowState;->getStableInsets(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->getStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/WindowState;->getStackId()I
+HPLcom/android/server/wm/WindowState;->getSurfaceTouchableRegion(Landroid/view/InputWindowHandle;I)I
+PLcom/android/server/wm/WindowState;->getSystemGestureExclusion()Ljava/util/List;
+PLcom/android/server/wm/WindowState;->getSystemUiVisibility()I
+HPLcom/android/server/wm/WindowState;->getTask()Lcom/android/server/wm/Task;
+PLcom/android/server/wm/WindowState;->getTopParentWindow()Lcom/android/server/wm/WindowState;
+HPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowState;->getWindowFrames()Lcom/android/server/wm/WindowFrames;
+PLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;
+PLcom/android/server/wm/WindowState;->getWmDisplayCutout()Lcom/android/server/wm/utils/WmDisplayCutout;
+HPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V
+PLcom/android/server/wm/WindowState;->hasContentToDisplay()Z
+PLcom/android/server/wm/WindowState;->hasDrawnLw()Z
+HPLcom/android/server/wm/WindowState;->hasMoved()Z
+PLcom/android/server/wm/WindowState;->hasVisibleNotDrawnWallpaper()Z
+PLcom/android/server/wm/WindowState;->hideLw(Z)Z
+PLcom/android/server/wm/WindowState;->hideLw(ZZ)Z
+PLcom/android/server/wm/WindowState;->hideNonSystemOverlayWindowsWhenVisible()Z
PLcom/android/server/wm/WindowState;->hidePermanentlyLw()V
-HSPLcom/android/server/wm/WindowState;->hideWallpaperWindow(ZLjava/lang/String;)V
-HSPLcom/android/server/wm/WindowState;->inSizeCompatMode()Z
-HSPLcom/android/server/wm/WindowState;->initAppOpsState()V
-HSPLcom/android/server/wm/WindowState;->isAnimatingLw()Z
-HSPLcom/android/server/wm/WindowState;->isChildWindow()Z
-PLcom/android/server/wm/WindowState;->isClosing()Z
-HSPLcom/android/server/wm/WindowState;->isConfigChanged()Z
-HSPLcom/android/server/wm/WindowState;->isDefaultDisplay()Z
-HSPLcom/android/server/wm/WindowState;->isDimming()Z
-HSPLcom/android/server/wm/WindowState;->isDisplayedLw()Z
-HSPLcom/android/server/wm/WindowState;->isDockedResizing()Z
-HSPLcom/android/server/wm/WindowState;->isDragResizeChanged()Z
-HSPLcom/android/server/wm/WindowState;->isDragResizing()Z
-HSPLcom/android/server/wm/WindowState;->isDrawFinishedLw()Z
-HSPLcom/android/server/wm/WindowState;->isDrawnLw()Z
-HSPLcom/android/server/wm/WindowState;->isFocused()Z
-HSPLcom/android/server/wm/WindowState;->isGoneForLayoutLw()Z
-HSPLcom/android/server/wm/WindowState;->isHiddenFromUserLocked()Z
-HSPLcom/android/server/wm/WindowState;->isInputMethodTarget()Z
-HSPLcom/android/server/wm/WindowState;->isInputMethodWindow()Z
-HSPLcom/android/server/wm/WindowState;->isInteresting()Z
-HSPLcom/android/server/wm/WindowState;->isLaidOut()Z
-HSPLcom/android/server/wm/WindowState;->isLetterboxedAppWindow()Z
-HSPLcom/android/server/wm/WindowState;->isLetterboxedForDisplayCutoutLw()Z
-HSPLcom/android/server/wm/WindowState;->isLetterboxedOverlappingWith(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/WindowState;->isObscuringDisplay()Z
-HSPLcom/android/server/wm/WindowState;->isOnScreen()Z
-HSPLcom/android/server/wm/WindowState;->isOpaqueDrawn()Z
-HSPLcom/android/server/wm/WindowState;->isParentWindowHidden()Z
-PLcom/android/server/wm/WindowState;->isPotentialDragTarget()Z
-HSPLcom/android/server/wm/WindowState;->isReadyForDisplay()Z
-HSPLcom/android/server/wm/WindowState;->isRtl()Z
-HSPLcom/android/server/wm/WindowState;->isSelfOrAncestorWindowAnimatingExit()Z
-HSPLcom/android/server/wm/WindowState;->isVisible()Z
-HSPLcom/android/server/wm/WindowState;->isVisibleLw()Z
-HSPLcom/android/server/wm/WindowState;->isVisibleNow()Z
-HSPLcom/android/server/wm/WindowState;->isVisibleOrAdding()Z
-HSPLcom/android/server/wm/WindowState;->isVoiceInteraction()Z
-HSPLcom/android/server/wm/WindowState;->isWinVisibleLw()Z
-PLcom/android/server/wm/WindowState;->layoutInParentFrame()Z
-HSPLcom/android/server/wm/WindowState;->mightAffectAllDrawn()Z
-HSPLcom/android/server/wm/WindowState;->needsRelativeLayeringToIme()Z
-HSPLcom/android/server/wm/WindowState;->needsZBoost()Z
-HSPLcom/android/server/wm/WindowState;->notifyInsetsChanged()V
-HSPLcom/android/server/wm/WindowState;->onAnimationFinished()V
-HSPLcom/android/server/wm/WindowState;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/WindowState;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowState;->onAppVisibilityChanged(ZZ)Z
-HSPLcom/android/server/wm/WindowState;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/WindowState;->onExitAnimationDone()V
-PLcom/android/server/wm/WindowState;->onMovedByResize()V
-HSPLcom/android/server/wm/WindowState;->onParentChanged()V
-HSPLcom/android/server/wm/WindowState;->onResize()V
+PLcom/android/server/wm/WindowState;->hideWallpaperWindow(ZLjava/lang/String;)V
+PLcom/android/server/wm/WindowState;->inAppWindowThatMatchesParentBounds()Z
+PLcom/android/server/wm/WindowState;->inSizeCompatMode()Z
+PLcom/android/server/wm/WindowState;->initAppOpsState()V
+PLcom/android/server/wm/WindowState;->initExclusionRestrictions()V
+PLcom/android/server/wm/WindowState;->isAnimatingLw()Z
+PLcom/android/server/wm/WindowState;->isAnimatingToRecents()Z
+PLcom/android/server/wm/WindowState;->isChildWindow()Z
+PLcom/android/server/wm/WindowState;->isDimming()Z
+HPLcom/android/server/wm/WindowState;->isDisplayedLw()Z
+PLcom/android/server/wm/WindowState;->isDockedResizing()Z
+PLcom/android/server/wm/WindowState;->isDragResizeChanged()Z
+PLcom/android/server/wm/WindowState;->isDragResizing()Z
+PLcom/android/server/wm/WindowState;->isDrawFinishedLw()Z
+PLcom/android/server/wm/WindowState;->isDrawnLw()Z
+PLcom/android/server/wm/WindowState;->isFocused()Z
+HPLcom/android/server/wm/WindowState;->isGoneForLayoutLw()Z
+PLcom/android/server/wm/WindowState;->isHiddenFromUserLocked()Z
+PLcom/android/server/wm/WindowState;->isImplicitlyExcludingAllSystemGestures()Z
+PLcom/android/server/wm/WindowState;->isInputMethodTarget()Z
+PLcom/android/server/wm/WindowState;->isInputMethodWindow()Z
+PLcom/android/server/wm/WindowState;->isInteresting()Z
+PLcom/android/server/wm/WindowState;->isLaidOut()Z
+PLcom/android/server/wm/WindowState;->isLastConfigReportedToClient()Z
+PLcom/android/server/wm/WindowState;->isLegacyPolicyVisibility()Z
+PLcom/android/server/wm/WindowState;->isLetterboxedAppWindow()Z
+PLcom/android/server/wm/WindowState;->isLetterboxedForDisplayCutoutLw()Z
+PLcom/android/server/wm/WindowState;->isLetterboxedOverlappingWith(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/WindowState;->isObscuringDisplay()Z
+HPLcom/android/server/wm/WindowState;->isOnScreen()Z
+PLcom/android/server/wm/WindowState;->isOpaqueDrawn()Z
+PLcom/android/server/wm/WindowState;->isParentWindowGoneForLayout()Z
+HPLcom/android/server/wm/WindowState;->isParentWindowHidden()Z
+PLcom/android/server/wm/WindowState;->isReadyForDisplay()Z
+PLcom/android/server/wm/WindowState;->isRtl()Z
+PLcom/android/server/wm/WindowState;->isSelfOrAncestorWindowAnimatingExit()Z
+HPLcom/android/server/wm/WindowState;->isVisible()Z
+HPLcom/android/server/wm/WindowState;->isVisibleByPolicy()Z
+PLcom/android/server/wm/WindowState;->isVisibleLw()Z
+PLcom/android/server/wm/WindowState;->isVisibleNow()Z
+HPLcom/android/server/wm/WindowState;->isVisibleOrAdding()Z
+PLcom/android/server/wm/WindowState;->isVoiceInteraction()Z
+PLcom/android/server/wm/WindowState;->isWinVisibleLw()Z
+PLcom/android/server/wm/WindowState;->logExclusionRestrictions(I)V
+PLcom/android/server/wm/WindowState;->logPerformShow(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowState;->matchesDisplayBounds()Z
+PLcom/android/server/wm/WindowState;->mightAffectAllDrawn()Z
+PLcom/android/server/wm/WindowState;->needsRelativeLayeringToIme()Z
+HPLcom/android/server/wm/WindowState;->needsZBoost()Z
+PLcom/android/server/wm/WindowState;->notifyInsetsChanged()V
+PLcom/android/server/wm/WindowState;->onAnimationFinished()V
+PLcom/android/server/wm/WindowState;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/WindowState;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowState;->onAppVisibilityChanged(ZZ)Z
+PLcom/android/server/wm/WindowState;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowState;->onExitAnimationDone()V
+PLcom/android/server/wm/WindowState;->onMergedOverrideConfigurationChanged()V
+PLcom/android/server/wm/WindowState;->onParentChanged(Lcom/android/server/wm/ConfigurationContainer;Lcom/android/server/wm/ConfigurationContainer;)V
PLcom/android/server/wm/WindowState;->onSetAppExiting()Z
-HSPLcom/android/server/wm/WindowState;->onStartFreezingScreen()V
-HSPLcom/android/server/wm/WindowState;->onStopFreezingScreen()Z
-HSPLcom/android/server/wm/WindowState;->openInputChannel(Landroid/view/InputChannel;)V
-PLcom/android/server/wm/WindowState;->orientationChangeTimedOut()V
-HSPLcom/android/server/wm/WindowState;->performShowLocked()Z
-PLcom/android/server/wm/WindowState;->pokeDrawLockLw(J)V
-HSPLcom/android/server/wm/WindowState;->prelayout()V
-HSPLcom/android/server/wm/WindowState;->prepareSurfaces()V
-HSPLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V
-HSPLcom/android/server/wm/WindowState;->relayoutVisibleWindow(III)I
-HSPLcom/android/server/wm/WindowState;->removeIfPossible()V
-HSPLcom/android/server/wm/WindowState;->removeIfPossible(Z)V
-HSPLcom/android/server/wm/WindowState;->removeImmediately()V
-HSPLcom/android/server/wm/WindowState;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WindowState;->reportFocusChangedSerialized(ZZ)V
-HSPLcom/android/server/wm/WindowState;->reportResized()V
-HSPLcom/android/server/wm/WindowState;->requestUpdateWallpaperIfNeeded()V
-HSPLcom/android/server/wm/WindowState;->resetAppOpsState()V
-HSPLcom/android/server/wm/WindowState;->resetContentChanged()V
-HSPLcom/android/server/wm/WindowState;->resetLastContentInsets()V
-HSPLcom/android/server/wm/WindowState;->seamlesslyRotateIfAllowed(Landroid/view/SurfaceControl$Transaction;IIZ)V
-HSPLcom/android/server/wm/WindowState;->sendAppVisibilityToClients()V
-HSPLcom/android/server/wm/WindowState;->setDisplayLayoutNeeded()V
-HSPLcom/android/server/wm/WindowState;->setDrawnStateEvaluated(Z)V
-HSPLcom/android/server/wm/WindowState;->setForceHideNonSystemOverlayWindowIfNeeded(Z)V
-HSPLcom/android/server/wm/WindowState;->setFrameNumber(J)V
-HSPLcom/android/server/wm/WindowState;->setHasSurface(Z)V
-HSPLcom/android/server/wm/WindowState;->setHiddenWhileSuspended(Z)V
-HSPLcom/android/server/wm/WindowState;->setInsetProvider(Lcom/android/server/wm/InsetsSourceProvider;)V
-HSPLcom/android/server/wm/WindowState;->setLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
-HSPLcom/android/server/wm/WindowState;->setOrientationChanging(Z)V
-HSPLcom/android/server/wm/WindowState;->setReplacementWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
-HSPLcom/android/server/wm/WindowState;->setReportResizeHints()Z
-HSPLcom/android/server/wm/WindowState;->setRequestedSize(II)V
-HSPLcom/android/server/wm/WindowState;->setShowToOwnerOnlyLocked(Z)V
-HSPLcom/android/server/wm/WindowState;->setWindowScale(II)V
+PLcom/android/server/wm/WindowState;->onSurfaceShownChanged(Z)V
+PLcom/android/server/wm/WindowState;->openInputChannel(Landroid/view/InputChannel;)V
+PLcom/android/server/wm/WindowState;->performShowLocked()Z
+HPLcom/android/server/wm/WindowState;->pokeDrawLockLw(J)V
+PLcom/android/server/wm/WindowState;->prelayout()V
+HPLcom/android/server/wm/WindowState;->prepareSurfaces()V
+PLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V
+HPLcom/android/server/wm/WindowState;->registeredForDisplayConfigChanges()Z
+PLcom/android/server/wm/WindowState;->relayoutVisibleWindow(II)I
+PLcom/android/server/wm/WindowState;->removeIfPossible()V
+PLcom/android/server/wm/WindowState;->removeIfPossible(Z)V
+PLcom/android/server/wm/WindowState;->removeImmediately()V
+PLcom/android/server/wm/WindowState;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WindowState;->reportFocusChangedSerialized(ZZ)V
+PLcom/android/server/wm/WindowState;->reportResized()V
+PLcom/android/server/wm/WindowState;->requestUpdateWallpaperIfNeeded()V
+PLcom/android/server/wm/WindowState;->resetAppOpsState()V
+PLcom/android/server/wm/WindowState;->resetContentChanged()V
+PLcom/android/server/wm/WindowState;->resetLastContentInsets()V
+PLcom/android/server/wm/WindowState;->sendAppVisibilityToClients()V
+PLcom/android/server/wm/WindowState;->setDisplayLayoutNeeded()V
+PLcom/android/server/wm/WindowState;->setDrawnStateEvaluated(Z)V
+PLcom/android/server/wm/WindowState;->setForceHideNonSystemOverlayWindowIfNeeded(Z)V
+PLcom/android/server/wm/WindowState;->setFrameNumber(J)V
+PLcom/android/server/wm/WindowState;->setHasSurface(Z)V
+PLcom/android/server/wm/WindowState;->setHiddenWhileSuspended(Z)V
+PLcom/android/server/wm/WindowState;->setLastExclusionHeights(III)V
+PLcom/android/server/wm/WindowState;->setLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
+PLcom/android/server/wm/WindowState;->setOrientationChanging(Z)V
+PLcom/android/server/wm/WindowState;->setPolicyVisibilityFlag(I)V
+PLcom/android/server/wm/WindowState;->setReplacementWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WindowState;->setReportResizeHints()Z
+PLcom/android/server/wm/WindowState;->setRequestedSize(II)V
+PLcom/android/server/wm/WindowState;->setShowToOwnerOnlyLocked(Z)V
+PLcom/android/server/wm/WindowState;->setSystemGestureExclusion(Ljava/util/List;)Z
+PLcom/android/server/wm/WindowState;->setTouchableRegionCropIfNeeded(Landroid/view/InputWindowHandle;)V
+PLcom/android/server/wm/WindowState;->setWindowScale(II)V
PLcom/android/server/wm/WindowState;->setupWindowForRemoveOnExit()V
-HSPLcom/android/server/wm/WindowState;->shouldKeepVisibleDeadAppWindow()Z
-HSPLcom/android/server/wm/WindowState;->showLw(Z)Z
-HSPLcom/android/server/wm/WindowState;->showLw(ZZ)Z
-HSPLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/animation/Animation;)V
+PLcom/android/server/wm/WindowState;->shouldKeepVisibleDeadAppWindow()Z
+PLcom/android/server/wm/WindowState;->showLw(Z)Z
+PLcom/android/server/wm/WindowState;->showLw(ZZ)Z
+PLcom/android/server/wm/WindowState;->skipDecorCrop()Z
+PLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;)V
+PLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/animation/Animation;)V
PLcom/android/server/wm/WindowState;->startMoveAnimation(II)V
-PLcom/android/server/wm/WindowState;->subtractInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->surfaceInsetsChanging()Z
-HSPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowState;->transformClipRectFromScreenToSurfaceSpace(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V
-HSPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowState;->translateToWindowX(F)F
-PLcom/android/server/wm/WindowState;->translateToWindowY(F)F
-PLcom/android/server/wm/WindowState;->updateAppOpsState()V
-HSPLcom/android/server/wm/WindowState;->updateLastInsetValues()V
-HSPLcom/android/server/wm/WindowState;->updateReportedVisibility(Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;)V
-HSPLcom/android/server/wm/WindowState;->updateResizingWindowIfNeeded()V
-HSPLcom/android/server/wm/WindowState;->updateSurfacePosition()V
-HSPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowState;->waitingForReplacement()Z
-HSPLcom/android/server/wm/WindowState;->wouldBeVisibleIfPolicyIgnored()Z
+PLcom/android/server/wm/WindowState;->subtractTouchExcludeRegionIfNeeded(Landroid/graphics/Region;)V
+PLcom/android/server/wm/WindowState;->surfaceInsetsChanging()Z
+HPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WindowState;->transformClipRectFromScreenToSurfaceSpace(Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V
+HPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/WindowState;->updateLastFrames()V
+PLcom/android/server/wm/WindowState;->updateLastInsetValues()V
+PLcom/android/server/wm/WindowState;->updateLocationInParentDisplayIfNeeded()V
+PLcom/android/server/wm/WindowState;->updateReportedVisibility(Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;)V
+HPLcom/android/server/wm/WindowState;->updateResizingWindowIfNeeded()V
+PLcom/android/server/wm/WindowState;->updateSurfacePosition()V
+HPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowState;->waitingForReplacement()Z
+PLcom/android/server/wm/WindowState;->wouldBeVisibleIfPolicyIgnored()Z
PLcom/android/server/wm/WindowState;->writeIdentifierToProto(Landroid/util/proto/ProtoOutputStream;J)V
PLcom/android/server/wm/WindowState;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HSPLcom/android/server/wm/WindowStateAnimator;-><init>(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z
-HSPLcom/android/server/wm/WindowStateAnimator;->applyEnterAnimationLocked()V
-HSPLcom/android/server/wm/WindowStateAnimator;->calculateCrop(Landroid/graphics/Rect;)Z
-HSPLcom/android/server/wm/WindowStateAnimator;->calculateSurfaceBounds(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z
-HSPLcom/android/server/wm/WindowStateAnimator;->computeShownFrameLocked()V
-HSPLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked(II)Lcom/android/server/wm/WindowSurfaceController;
-HSPLcom/android/server/wm/WindowStateAnimator;->destroyDeferredSurfaceLocked()V
-HSPLcom/android/server/wm/WindowStateAnimator;->destroyPreservedSurfaceLocked()V
-HSPLcom/android/server/wm/WindowStateAnimator;->destroySurface()V
-HSPLcom/android/server/wm/WindowStateAnimator;->destroySurfaceLocked()V
-HSPLcom/android/server/wm/WindowStateAnimator;->detachChildren()V
-PLcom/android/server/wm/WindowStateAnimator;->drawStateToString()Ljava/lang/String;
-PLcom/android/server/wm/WindowStateAnimator;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked()Z
-HSPLcom/android/server/wm/WindowStateAnimator;->getShown()Z
-HSPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
-HSPLcom/android/server/wm/WindowStateAnimator;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowStateAnimator;->hide(Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowStateAnimator;->isForceScaled()Z
-HSPLcom/android/server/wm/WindowStateAnimator;->markPreservedSurfaceForDestroy()V
-HSPLcom/android/server/wm/WindowStateAnimator;->onAnimationFinished()V
-HSPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Z)V
-PLcom/android/server/wm/WindowStateAnimator;->preserveSurfaceLocked()V
-HSPLcom/android/server/wm/WindowStateAnimator;->resetDrawState()V
-HSPLcom/android/server/wm/WindowStateAnimator;->setColorSpaceAgnosticLocked(Z)V
-HSPLcom/android/server/wm/WindowStateAnimator;->setOffsetPositionForStackResize(Z)V
-HSPLcom/android/server/wm/WindowStateAnimator;->setOpaqueLocked(Z)V
-HSPLcom/android/server/wm/WindowStateAnimator;->setSecureLocked(Z)V
-HSPLcom/android/server/wm/WindowStateAnimator;->setSurfaceBoundariesLocked(Z)V
-PLcom/android/server/wm/WindowStateAnimator;->setTransparentRegionHintLocked(Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/WindowStateAnimator;->setWallpaperOffset(II)Z
-HSPLcom/android/server/wm/WindowStateAnimator;->showSurfaceRobustlyLocked()Z
-PLcom/android/server/wm/WindowStateAnimator;->toString()Ljava/lang/String;
-PLcom/android/server/wm/WindowStateAnimator;->tryChangeFormatInPlaceLocked()Z
+PLcom/android/server/wm/WindowStateAnimator;-><init>(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z
+PLcom/android/server/wm/WindowStateAnimator;->applyCrop(Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/WindowStateAnimator;->applyEnterAnimationLocked()V
+HPLcom/android/server/wm/WindowStateAnimator;->calculateCrop(Landroid/graphics/Rect;)Z
+HPLcom/android/server/wm/WindowStateAnimator;->calculateSurfaceBounds(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z
+HPLcom/android/server/wm/WindowStateAnimator;->computeShownFrameLocked()V
+PLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked(II)Lcom/android/server/wm/WindowSurfaceController;
+PLcom/android/server/wm/WindowStateAnimator;->destroyDeferredSurfaceLocked()V
+PLcom/android/server/wm/WindowStateAnimator;->destroyPreservedSurfaceLocked()V
+PLcom/android/server/wm/WindowStateAnimator;->destroySurface()V
+PLcom/android/server/wm/WindowStateAnimator;->destroySurfaceLocked()V
+PLcom/android/server/wm/WindowStateAnimator;->detachChildren()V
+PLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked(Landroid/view/SurfaceControl$Transaction;)Z
+PLcom/android/server/wm/WindowStateAnimator;->getShown()Z
+HPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
+PLcom/android/server/wm/WindowStateAnimator;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
+PLcom/android/server/wm/WindowStateAnimator;->hide(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowStateAnimator;->isForceScaled()Z
+PLcom/android/server/wm/WindowStateAnimator;->markPreservedSurfaceForDestroy()V
+PLcom/android/server/wm/WindowStateAnimator;->onAnimationFinished()V
+HPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Z)V
+PLcom/android/server/wm/WindowStateAnimator;->resetDrawState()V
+PLcom/android/server/wm/WindowStateAnimator;->setColorSpaceAgnosticLocked(Z)V
+PLcom/android/server/wm/WindowStateAnimator;->setOffsetPositionForStackResize(Z)V
+HPLcom/android/server/wm/WindowStateAnimator;->setSurfaceBoundariesLocked(Z)V
+PLcom/android/server/wm/WindowStateAnimator;->setWallpaperOffset(II)Z
+PLcom/android/server/wm/WindowStateAnimator;->showSurfaceRobustlyLocked()Z
PLcom/android/server/wm/WindowStateAnimator;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/WindowSurfaceController;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILcom/android/server/wm/WindowStateAnimator;II)V
-HSPLcom/android/server/wm/WindowSurfaceController;->clearCropInTransaction(Z)V
-PLcom/android/server/wm/WindowSurfaceController;->deferTransactionUntil(Landroid/os/IBinder;J)V
-HSPLcom/android/server/wm/WindowSurfaceController;->destroyNotInTransaction()V
-HSPLcom/android/server/wm/WindowSurfaceController;->detachChildren()V
-PLcom/android/server/wm/WindowSurfaceController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-PLcom/android/server/wm/WindowSurfaceController;->forceScaleableInTransaction(Z)V
-HSPLcom/android/server/wm/WindowSurfaceController;->getHandle()Landroid/os/IBinder;
-HSPLcom/android/server/wm/WindowSurfaceController;->getHeight()I
-HSPLcom/android/server/wm/WindowSurfaceController;->getShown()Z
-HSPLcom/android/server/wm/WindowSurfaceController;->getSurfaceControl(Landroid/view/SurfaceControl;)V
-HSPLcom/android/server/wm/WindowSurfaceController;->getWidth()I
-HSPLcom/android/server/wm/WindowSurfaceController;->hasSurface()Z
-HSPLcom/android/server/wm/WindowSurfaceController;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowSurfaceController;->hideSurface(Landroid/view/SurfaceControl$Transaction;)V
-HSPLcom/android/server/wm/WindowSurfaceController;->prepareToShowInTransaction(FFFFFZ)Z
-HSPLcom/android/server/wm/WindowSurfaceController;->setBufferSizeInTransaction(IIZ)Z
-HSPLcom/android/server/wm/WindowSurfaceController;->setColorSpaceAgnostic(Z)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setCropInTransaction(Landroid/graphics/Rect;Z)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setMatrix(Landroid/view/SurfaceControl$Transaction;FFFFZ)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setMatrixInTransaction(FFFFZ)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setOpaque(Z)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setPosition(Landroid/view/SurfaceControl$Transaction;FFZ)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setPositionInTransaction(FFZ)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setSecure(Z)V
-HSPLcom/android/server/wm/WindowSurfaceController;->setShown(Z)V
-PLcom/android/server/wm/WindowSurfaceController;->setTransparentRegionHint(Landroid/graphics/Region;)V
-HSPLcom/android/server/wm/WindowSurfaceController;->showRobustlyInTransaction()Z
-HSPLcom/android/server/wm/WindowSurfaceController;->showSurface()Z
-HSPLcom/android/server/wm/WindowSurfaceController;->updateVisibility()Z
+PLcom/android/server/wm/WindowSurfaceController;-><init>(Ljava/lang/String;IIIILcom/android/server/wm/WindowStateAnimator;II)V
+PLcom/android/server/wm/WindowSurfaceController;->clearCropInTransaction(Z)V
+PLcom/android/server/wm/WindowSurfaceController;->destroyNotInTransaction()V
+PLcom/android/server/wm/WindowSurfaceController;->detachChildren()V
+PLcom/android/server/wm/WindowSurfaceController;->getHeight()I
+PLcom/android/server/wm/WindowSurfaceController;->getShown()Z
+PLcom/android/server/wm/WindowSurfaceController;->getSurfaceControl(Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/WindowSurfaceController;->getWidth()I
+PLcom/android/server/wm/WindowSurfaceController;->hasSurface()Z
+PLcom/android/server/wm/WindowSurfaceController;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
+PLcom/android/server/wm/WindowSurfaceController;->hideSurface(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/WindowSurfaceController;->prepareToShowInTransaction(FFFFFZ)Z
+PLcom/android/server/wm/WindowSurfaceController;->setBufferSizeInTransaction(IIZ)Z
+PLcom/android/server/wm/WindowSurfaceController;->setColorSpaceAgnostic(Z)V
+PLcom/android/server/wm/WindowSurfaceController;->setCropInTransaction(Landroid/graphics/Rect;Z)V
+HPLcom/android/server/wm/WindowSurfaceController;->setMatrix(Landroid/view/SurfaceControl$Transaction;FFFFZ)V
+PLcom/android/server/wm/WindowSurfaceController;->setMatrixInTransaction(FFFFZ)V
+HPLcom/android/server/wm/WindowSurfaceController;->setPosition(Landroid/view/SurfaceControl$Transaction;FFZ)V
+PLcom/android/server/wm/WindowSurfaceController;->setPositionInTransaction(FFZ)V
+PLcom/android/server/wm/WindowSurfaceController;->setShown(Z)V
+PLcom/android/server/wm/WindowSurfaceController;->showRobustlyInTransaction()Z
+PLcom/android/server/wm/WindowSurfaceController;->showSurface()Z
+PLcom/android/server/wm/WindowSurfaceController;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WindowSurfaceController;->updateVisibility()Z
PLcom/android/server/wm/WindowSurfaceController;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/wm/WindowSurfacePlacer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->continueLayout()V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->deferLayout()V
-PLcom/android/server/wm/WindowSurfacePlacer;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->isInLayout()Z
-HSPLcom/android/server/wm/WindowSurfacePlacer;->lambda$new$0$WindowSurfacePlacer()V
+PLcom/android/server/wm/WindowSurfacePlacer$Traverser;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;)V
+PLcom/android/server/wm/WindowSurfacePlacer$Traverser;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;Lcom/android/server/wm/WindowSurfacePlacer$1;)V
+PLcom/android/server/wm/WindowSurfacePlacer$Traverser;->run()V
+PLcom/android/server/wm/WindowSurfacePlacer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowSurfacePlacer;->access$000(Lcom/android/server/wm/WindowSurfacePlacer;)Lcom/android/server/wm/WindowManagerService;
+PLcom/android/server/wm/WindowSurfacePlacer;->continueLayout(Z)V
+PLcom/android/server/wm/WindowSurfacePlacer;->deferLayout()V
+PLcom/android/server/wm/WindowSurfacePlacer;->isInLayout()Z
+PLcom/android/server/wm/WindowSurfacePlacer;->isLayoutDeferred()Z
PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement()V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V
-HSPLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V
-HSPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZ)V
-HSPLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
-HSPLcom/android/server/wm/WindowToken;->asAppWindowToken()Lcom/android/server/wm/AppWindowToken;
-HSPLcom/android/server/wm/WindowToken;->canLayerAboveSystemBars()Z
-PLcom/android/server/wm/WindowToken;->dump(Ljava/io/PrintWriter;Ljava/lang/String;Z)V
-HSPLcom/android/server/wm/WindowToken;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HSPLcom/android/server/wm/WindowToken;->getName()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowToken;->getReplacingWindow()Lcom/android/server/wm/WindowState;
-HSPLcom/android/server/wm/WindowToken;->isEmpty()Z
-HSPLcom/android/server/wm/WindowToken;->isHidden()Z
-HSPLcom/android/server/wm/WindowToken;->lambda$new$0$WindowToken(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-HSPLcom/android/server/wm/WindowToken;->okToAnimate()Z
-HSPLcom/android/server/wm/WindowToken;->okToDisplay()Z
-HSPLcom/android/server/wm/WindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-HSPLcom/android/server/wm/WindowToken;->removeAllWindowsIfPossible()V
-HSPLcom/android/server/wm/WindowToken;->removeImmediately()V
-HSPLcom/android/server/wm/WindowToken;->setExiting()V
-HSPLcom/android/server/wm/WindowToken;->setHidden(Z)V
-HSPLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowToken;->windowsCanBeWallpaperTarget()Z
+PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
+PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V
+PLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V
+PLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;Z)V
+PLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZ)V
+PLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowToken;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/WindowToken;->canLayerAboveSystemBars()Z
+PLcom/android/server/wm/WindowToken;->getName()Ljava/lang/String;
+PLcom/android/server/wm/WindowToken;->getReplacingWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowToken;->isEmpty()Z
+PLcom/android/server/wm/WindowToken;->lambda$new$0$WindowToken(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+PLcom/android/server/wm/WindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/WindowToken;->removeAllWindowsIfPossible()V
+PLcom/android/server/wm/WindowToken;->removeImmediately()V
+PLcom/android/server/wm/WindowToken;->setExiting()V
+PLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WindowToken;->windowsCanBeWallpaperTarget()Z
PLcom/android/server/wm/WindowToken;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-PLcom/android/server/wm/WindowTraceBuffer;->getStatus()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowTraceBuffer;->resetBuffer()V
-HSPLcom/android/server/wm/WindowTraceBuffer;->setCapacity(I)V
-HSPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;I)V
-HSPLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;)Lcom/android/server/wm/WindowTracing;
-PLcom/android/server/wm/WindowTracing;->getStatus()Ljava/lang/String;
-HSPLcom/android/server/wm/WindowTracing;->isEnabled()Z
-HSPLcom/android/server/wm/WindowTracing;->logState(Ljava/lang/String;)V
-HSPLcom/android/server/wm/WindowTracing;->setLogLevel(ILjava/io/PrintWriter;)V
-PLcom/android/server/wm/animation/ClipRectLRAnimation;-><init>(IIII)V
-PLcom/android/server/wm/animation/ClipRectLRAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-PLcom/android/server/wm/animation/ClipRectTBAnimation;-><init>(IIIIIILandroid/view/animation/Interpolator;)V
-PLcom/android/server/wm/animation/ClipRectTBAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-PLcom/android/server/wm/animation/ClipRectTBAnimation;->getTransformation(JLandroid/view/animation/Transformation;)Z
-HSPLcom/android/server/wm/utils/CoordinateTransforms;->transformLogicalToPhysicalCoordinates(IIILandroid/graphics/Matrix;)V
-HSPLcom/android/server/wm/utils/CoordinateTransforms;->transformPhysicalToLogicalCoordinates(IIILandroid/graphics/Matrix;)V
-HSPLcom/android/server/wm/utils/DisplayRotationUtil;->getRotatedBounds([Landroid/graphics/Rect;III)[Landroid/graphics/Rect;
-HSPLcom/android/server/wm/utils/InsetUtils;->insetsBetweenFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/utils/InsetUtils;->rotateInsets(Landroid/graphics/Rect;I)V
-HSPLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;
-HSPLcom/android/server/wm/utils/WmDisplayCutout;-><init>(Landroid/view/DisplayCutout;Landroid/util/Size;)V
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->calculateRelativeTo(Landroid/graphics/Rect;)Lcom/android/server/wm/utils/WmDisplayCutout;
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->computeSafeInsets(Landroid/util/Size;Landroid/view/DisplayCutout;)Landroid/graphics/Rect;
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->computeSafeInsets(Landroid/view/DisplayCutout;II)Lcom/android/server/wm/utils/WmDisplayCutout;
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->findInsetForSide(Landroid/util/Size;Ljava/util/List;I)I
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->getDisplayCutout()Landroid/view/DisplayCutout;
-HSPLcom/android/server/wm/utils/WmDisplayCutout;->inset(IIII)Lcom/android/server/wm/utils/WmDisplayCutout;
-PLcom/android/server/wm/utils/WmDisplayCutout;->toString()Ljava/lang/String;
-HSPLcom/google/android/startop/iorap/IorapForwardingService;-><init>(Landroid/content/Context;)V
-HSPLcom/google/android/startop/iorap/IorapForwardingService;->connectToRemoteAndConfigure()Z
-HSPLcom/google/android/startop/iorap/IorapForwardingService;->connectToRemoteAndConfigureLocked()Z
-HSPLcom/google/android/startop/iorap/IorapForwardingService;->isIorapEnabled()Z
-HSPLcom/google/android/startop/iorap/IorapForwardingService;->onStart()V
-HSPLcom/google/android/startop/iorap/IorapForwardingService;->retryConnectToRemoteAndConfigure(I)Z
+PLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;I)V
+PLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;I)V
+PLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;)Lcom/android/server/wm/WindowTracing;
+PLcom/android/server/wm/WindowTracing;->isEnabled()Z
+PLcom/android/server/wm/WindowTracing;->logAndPrintln(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/wm/WindowTracing;->logState(Ljava/lang/String;)V
+PLcom/android/server/wm/WindowTracing;->setBufferCapacity(ILjava/io/PrintWriter;)V
+PLcom/android/server/wm/WindowTracing;->setLogLevel(ILjava/io/PrintWriter;)V
+PLcom/android/server/wm/utils/DeviceConfigInterface$1;-><init>()V
+PLcom/android/server/wm/utils/DeviceConfigInterface$1;->addOnPropertiesChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+PLcom/android/server/wm/utils/DeviceConfigInterface$1;->getBoolean(Ljava/lang/String;Ljava/lang/String;Z)Z
+PLcom/android/server/wm/utils/DeviceConfigInterface$1;->getInt(Ljava/lang/String;Ljava/lang/String;I)I
+PLcom/android/server/wm/utils/DeviceConfigInterface$1;->getLong(Ljava/lang/String;Ljava/lang/String;J)J
+PLcom/android/server/wm/utils/DeviceConfigInterface$1;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wm/utils/DeviceConfigInterface;-><clinit>()V
+PLcom/android/server/wm/utils/DisplayRotationUtil;-><init>()V
+PLcom/android/server/wm/utils/InsetUtils;->addInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+HPLcom/android/server/wm/utils/InsetUtils;->insetsBetweenFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/utils/InsetUtils;->rotateInsets(Landroid/graphics/Rect;I)V
+PLcom/android/server/wm/utils/RegionUtils;->forEachRectReverse(Landroid/graphics/Region;Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/utils/RegionUtils;->rectListToRegion(Ljava/util/List;Landroid/graphics/Region;)V
+PLcom/android/server/wm/utils/RotationCache;-><init>(Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;)V
+PLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;
+PLcom/android/server/wm/utils/WmDisplayCutout;-><clinit>()V
+PLcom/android/server/wm/utils/WmDisplayCutout;-><init>(Landroid/view/DisplayCutout;Landroid/util/Size;)V
+PLcom/android/server/wm/utils/WmDisplayCutout;->calculateRelativeTo(Landroid/graphics/Rect;)Lcom/android/server/wm/utils/WmDisplayCutout;
+PLcom/android/server/wm/utils/WmDisplayCutout;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/wm/utils/WmDisplayCutout;->getDisplayCutout()Landroid/view/DisplayCutout;
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$6ikxM-3KospNGDidAY7yA-rECHw;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;Landroid/content/Intent;J)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$6ikxM-3KospNGDidAY7yA-rECHw;->run(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$B9wq4q5y7qahY6TuLMO_s8nPIwY;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;[BI)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$B9wq4q5y7qahY6TuLMO_s8nPIwY;->run(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$J1AHa-Qs75WQr3stjbN97THbudE;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;[BJ)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$J1AHa-Qs75WQr3stjbN97THbudE;->run(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$elqG7IabJdUOCjFWiPV8vgrXnVI;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;[B)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$elqG7IabJdUOCjFWiPV8vgrXnVI;->run(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$qed0q0aplGsIh0O7dSm6JWk8wZI;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$qed0q0aplGsIh0O7dSm6JWk8wZI;->run(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$miQO-RJhHA7C1W4BujwCS9blXFc;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;)V
+PLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$miQO-RJhHA7C1W4BujwCS9blXFc;->run(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$1;-><init>()V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunchCancelled;-><init>(J[B)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunchCancelled;->writeToParcelImpl(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunchFinished;-><init>(J[BJ)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunchFinished;->writeToParcelImpl(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunched;-><init>(J[BI)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunched;->writeToParcelImpl(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$ActivityRecordProtoParcelable;->write(Landroid/os/Parcel;[BI)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$BaseWithActivityRecordData;-><init>(J[B)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$BaseWithActivityRecordData;->writeToParcelImpl(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$IntentFailed;-><init>(J)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$IntentProtoParcelable;->write(Landroid/os/Parcel;Landroid/content/Intent;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$IntentStarted;-><init>(JLandroid/content/Intent;J)V
+PLcom/google/android/startop/iorap/AppLaunchEvent$IntentStarted;->writeToParcelImpl(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent;-><clinit>()V
+PLcom/google/android/startop/iorap/AppLaunchEvent;-><init>(J)V
+PLcom/google/android/startop/iorap/AppLaunchEvent;->getTypeIndex()I
+PLcom/google/android/startop/iorap/AppLaunchEvent;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/AppLaunchEvent;->writeToParcelImpl(Landroid/os/Parcel;I)V
+PLcom/google/android/startop/iorap/IIorap$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+PLcom/google/android/startop/iorap/IIorap$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+PLcom/google/android/startop/iorap/IIorap$Stub$Proxy;->onAppLaunchEvent(Lcom/google/android/startop/iorap/RequestId;Lcom/google/android/startop/iorap/AppLaunchEvent;)V
+PLcom/google/android/startop/iorap/IIorap$Stub$Proxy;->setTaskListener(Lcom/google/android/startop/iorap/ITaskListener;)V
+PLcom/google/android/startop/iorap/IIorap$Stub;->asInterface(Landroid/os/IBinder;)Lcom/google/android/startop/iorap/IIorap;
+PLcom/google/android/startop/iorap/ITaskListener$Stub;-><init>()V
+PLcom/google/android/startop/iorap/ITaskListener$Stub;->asBinder()Landroid/os/IBinder;
+PLcom/google/android/startop/iorap/IorapForwardingService$1;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$1;->binderDied()V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;Lcom/google/android/startop/iorap/IorapForwardingService$1;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onActivityLaunchCancelled$3$IorapForwardingService$AppLaunchObserver([BLcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onActivityLaunchFinished$4$IorapForwardingService$AppLaunchObserver([BJLcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onActivityLaunched$2$IorapForwardingService$AppLaunchObserver([BILcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onIntentFailed$1$IorapForwardingService$AppLaunchObserver(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onIntentStarted$0$IorapForwardingService$AppLaunchObserver(Landroid/content/Intent;JLcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onActivityLaunchCancelled([B)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onActivityLaunchFinished([BJ)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onActivityLaunched([BI)V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onIntentFailed()V
+PLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onIntentStarted(Landroid/content/Intent;J)V
+PLcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;Landroid/os/Looper;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;Landroid/content/Context;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;->onIorapdDisconnected()V
+PLcom/google/android/startop/iorap/IorapForwardingService$RemoteTaskListener;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;)V
+PLcom/google/android/startop/iorap/IorapForwardingService$RemoteTaskListener;-><init>(Lcom/google/android/startop/iorap/IorapForwardingService;Lcom/google/android/startop/iorap/IorapForwardingService$1;)V
+PLcom/google/android/startop/iorap/IorapForwardingService;-><clinit>()V
+PLcom/google/android/startop/iorap/IorapForwardingService;-><init>(Landroid/content/Context;)V
+PLcom/google/android/startop/iorap/IorapForwardingService;->access$000(Lcom/google/android/startop/iorap/IorapForwardingService;I)Z
+PLcom/google/android/startop/iorap/IorapForwardingService;->access$100(Lcom/google/android/startop/iorap/IorapForwardingService;)Lcom/google/android/startop/iorap/IorapForwardingService$IorapdJobService;
+PLcom/google/android/startop/iorap/IorapForwardingService;->access$300(Lcom/google/android/startop/iorap/IorapForwardingService;)Lcom/google/android/startop/iorap/IIorap;
+PLcom/google/android/startop/iorap/IorapForwardingService;->access$400(Lcom/google/android/startop/iorap/IIorap;Lcom/google/android/startop/iorap/IorapForwardingService$RemoteRunnable;)Z
+PLcom/google/android/startop/iorap/IorapForwardingService;->connectToRemoteAndConfigure()Z
+PLcom/google/android/startop/iorap/IorapForwardingService;->connectToRemoteAndConfigureLocked()Z
+PLcom/google/android/startop/iorap/IorapForwardingService;->encodeEnglishAlphabetStringIntoInt(Ljava/lang/String;)I
+PLcom/google/android/startop/iorap/IorapForwardingService;->handleRemoteError(Ljava/lang/Throwable;)V
+PLcom/google/android/startop/iorap/IorapForwardingService;->invokeRemote(Lcom/google/android/startop/iorap/IIorap;Lcom/google/android/startop/iorap/IorapForwardingService$RemoteRunnable;)Z
+PLcom/google/android/startop/iorap/IorapForwardingService;->isIorapEnabled()Z
+PLcom/google/android/startop/iorap/IorapForwardingService;->lambda$connectToRemoteAndConfigureLocked$0$IorapForwardingService(Lcom/google/android/startop/iorap/IIorap;)V
+PLcom/google/android/startop/iorap/IorapForwardingService;->onBootPhase(I)V
+PLcom/google/android/startop/iorap/IorapForwardingService;->onStart()V
+PLcom/google/android/startop/iorap/IorapForwardingService;->provideDeathRecipient()Landroid/os/IBinder$DeathRecipient;
+PLcom/google/android/startop/iorap/IorapForwardingService;->provideIorapRemote()Lcom/google/android/startop/iorap/IIorap;
+PLcom/google/android/startop/iorap/IorapForwardingService;->provideLaunchObserverRegistry()Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+PLcom/google/android/startop/iorap/IorapForwardingService;->registerInProcessListenersLocked()V
+PLcom/google/android/startop/iorap/IorapForwardingService;->retryConnectToRemoteAndConfigure(I)Z
+PLcom/google/android/startop/iorap/RequestId$1;-><init>()V
+PLcom/google/android/startop/iorap/RequestId;-><clinit>()V
+PLcom/google/android/startop/iorap/RequestId;-><init>(J)V
+PLcom/google/android/startop/iorap/RequestId;->checkConstructorArguments()V
+PLcom/google/android/startop/iorap/RequestId;->nextValueForSequence()Lcom/google/android/startop/iorap/RequestId;
+PLcom/google/android/startop/iorap/RequestId;->writeToParcel(Landroid/os/Parcel;I)V
+Landroid/app/usage/UsageStatsManagerInternal;
+Landroid/content/pm/PackageManagerInternal$PackageListObserver;
+Landroid/content/pm/PackageManagerInternal;
Landroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;
Landroid/hardware/authsecret/V1_0/IAuthSecret;
Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;
@@ -18013,17 +19910,21 @@ Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallba
Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;
Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;
Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
-Landroid/hardware/configstore/V1_0/OptionalBool;
Landroid/hardware/health/V1_0/HealthInfo;
Landroid/hardware/health/V2_0/DiskStats;
Landroid/hardware/health/V2_0/HealthInfo;
Landroid/hardware/health/V2_0/IHealth$Proxy;
+Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;
+Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;
+Landroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;
+Landroid/hardware/health/V2_0/IHealth$getEnergyCounterCallback;
Landroid/hardware/health/V2_0/IHealth;
Landroid/hardware/health/V2_0/IHealthInfoCallback$Stub;
Landroid/hardware/health/V2_0/IHealthInfoCallback;
Landroid/hardware/health/V2_0/StorageAttribute;
Landroid/hardware/health/V2_0/StorageInfo;
Landroid/hardware/oemlock/V1_0/IOemLock$Proxy;
+Landroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByCarrierCallback;
Landroid/hardware/oemlock/V1_0/IOemLock;
Landroid/hardware/usb/V1_0/IUsb$Proxy;
Landroid/hardware/usb/V1_0/IUsb;
@@ -18035,8 +19936,9 @@ Landroid/hardware/usb/V1_2/IUsbCallback$Stub;
Landroid/hardware/usb/V1_2/IUsbCallback;
Landroid/hardware/weaver/V1_0/IWeaver$Proxy;
Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;
+Landroid/hardware/weaver/V1_0/IWeaver$readCallback;
Landroid/hardware/weaver/V1_0/IWeaver;
-Landroid/hardware/weaver/V1_0/WeaverConfig;
+Landroid/hardware/weaver/V1_0/WeaverReadResponse;
Landroid/hidl/base/V1_0/IBase;
Landroid/hidl/manager/V1_0/IServiceManager$Proxy;
Landroid/hidl/manager/V1_0/IServiceManager;
@@ -18045,9 +19947,16 @@ Landroid/hidl/manager/V1_0/IServiceNotification;
Landroid/hidl/manager/V1_1/IServiceManager;
Landroid/hidl/manager/V1_2/IServiceManager$Proxy;
Landroid/hidl/manager/V1_2/IServiceManager;
+Landroid/net/-$$Lambda$NetworkStackClient$8Y7GJyozK7_xixdmgfHS4QSif-A;
Landroid/net/-$$Lambda$NetworkStackClient$EsrnifYD8E-HxTwVQsf45HJKvtM;
Landroid/net/-$$Lambda$NetworkStackClient$qInwLPrclXOFvKSYRjcCaCSeEhw;
+Landroid/net/ConnectivityModuleConnector$Dependencies;
+Landroid/net/ConnectivityModuleConnector$DependenciesImpl;
+Landroid/net/ConnectivityModuleConnector;
+Landroid/net/DhcpResultsParcelable$1;
+Landroid/net/DhcpResultsParcelable;
Landroid/net/IIpMemoryStore$Stub$Proxy;
+Landroid/net/IIpMemoryStore;
Landroid/net/IIpMemoryStoreCallbacks$Stub;
Landroid/net/IIpMemoryStoreCallbacks;
Landroid/net/INetd$Stub$Proxy;
@@ -18055,103 +19964,118 @@ Landroid/net/INetd$Stub;
Landroid/net/INetd;
Landroid/net/INetdUnsolicitedEventListener$Stub;
Landroid/net/INetdUnsolicitedEventListener;
+Landroid/net/INetworkMonitor$Stub$Proxy;
Landroid/net/INetworkMonitor;
+Landroid/net/INetworkMonitorCallbacks$Stub;
+Landroid/net/INetworkMonitorCallbacks;
Landroid/net/INetworkStackConnector$Stub$Proxy;
-Landroid/net/INetworkStackConnector$Stub;
Landroid/net/INetworkStackConnector;
Landroid/net/IpMemoryStore$1;
-Landroid/net/IpMemoryStoreClient;
Landroid/net/NetworkStackClient$NetworkStackCallback;
-Landroid/net/NetworkStackClient$NetworkStackConnection;
Landroid/net/NetworkStackClient;
+Landroid/net/PrivateDnsConfigParcel$1;
+Landroid/net/PrivateDnsConfigParcel;
+Landroid/net/ProvisioningConfigurationParcelable$1;
Landroid/net/ProvisioningConfigurationParcelable;
-Landroid/net/dhcp/IDhcpServer;
Landroid/net/ip/IIpClient$Stub$Proxy;
-Landroid/net/ip/IIpClient$Stub;
Landroid/net/ip/IIpClient;
Landroid/net/ip/IIpClientCallbacks$Stub;
Landroid/net/ip/IIpClientCallbacks;
-Landroid/net/ip/InterfaceController;
Landroid/net/ip/IpClientCallbacks;
Landroid/net/ip/IpClientUtil$IpClientCallbacksProxy;
Landroid/net/ip/IpClientUtil;
-Landroid/net/ip/IpServer$BaseServingState;
-Landroid/net/ip/IpServer$Callback;
-Landroid/net/ip/IpServer$Dependencies;
-Landroid/net/ip/IpServer$InitialState;
-Landroid/net/ip/IpServer$LocalHotspotState;
-Landroid/net/ip/IpServer$TetheredState;
-Landroid/net/ip/IpServer$UnavailableState;
-Landroid/net/ip/IpServer;
-Landroid/net/ip/RouterAdvertisementDaemon$RaParams;
-Landroid/net/ip/RouterAdvertisementDaemon;
Landroid/net/ipmemorystore/Blob;
Landroid/net/ipmemorystore/IOnBlobRetrievedListener$Default;
Landroid/net/ipmemorystore/IOnBlobRetrievedListener;
-Landroid/net/ipmemorystore/IOnStatusListener;
Landroid/net/metrics/INetdEventListener$Stub;
Landroid/net/metrics/INetdEventListener;
+Landroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;
+Landroid/net/shared/-$$Lambda$SYWvjOUPlAZ_O2Z6yfFU9np1858;
+Landroid/net/shared/IpConfigurationParcelableUtil;
Landroid/net/shared/LinkPropertiesParcelableUtil;
+Landroid/net/shared/NetworkMonitorUtils;
+Landroid/net/shared/ParcelableUtil;
Landroid/net/shared/PrivateDnsConfig;
Landroid/net/shared/ProvisioningConfiguration$Builder;
Landroid/net/shared/ProvisioningConfiguration;
-Landroid/net/util/InterfaceParams;
-Landroid/net/util/InterfaceSet;
Landroid/net/util/NetdService;
-Landroid/net/util/PrefixUtils;
Landroid/net/util/SharedLog$Category;
Landroid/net/util/SharedLog;
-Landroid/net/util/VersionedBroadcastListener$Receiver;
-Landroid/net/util/VersionedBroadcastListener;
+Landroid/os/BatteryStatsInternal;
Landroid/os/IIdmap2$Stub$Proxy;
-Landroid/os/IIdmap2$Stub;
Landroid/os/IIdmap2;
+Landroid/os/UserManagerInternal$UserRestrictionsListener;
+Landroid/os/UserManagerInternal;
Lcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;
+Lcom/android/server/-$$Lambda$AlarmManagerService$2$Eo-D98J-N9R2METkD-12gPs320c;
+Lcom/android/server/-$$Lambda$AlarmManagerService$Batch$Xltkj5RTKUMuFVeuavpuY7-Ogzc;
Lcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;
+Lcom/android/server/-$$Lambda$AlarmManagerService$gKXZ864LsHRTGbnNeLAgHKL2YPk;
+Lcom/android/server/-$$Lambda$AlarmManagerService$nSJw2tKfoL3YIrKDtszoL44jcSM;
Lcom/android/server/-$$Lambda$AlarmManagerService$qehVSjTLWvtJYPGgKh2mkJ6ePnk;
Lcom/android/server/-$$Lambda$AppStateTracker$zzioY8jvEm-1GnJ13CUiQGauPEE;
Lcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;
+Lcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$7Y-B9O7NDYgUY9hQvFzC2FQ2V5w;
+Lcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$9z3zqgxtPzBN8Qoni5nHVb0m8EY;
+Lcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$DM4ow6LC--JYWBfhHp2f1JW8nww;
+Lcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;
Lcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;
Lcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;
+Lcom/android/server/-$$Lambda$ConnectivityService$_NU7EIcPVS-uF_gWH_NWN_gBL4w;
+Lcom/android/server/-$$Lambda$ConnectivityService$iOdlQdHoQM14teTS-EPRH-RRL3k;
+Lcom/android/server/-$$Lambda$ConnectivityService$vGRhfNpFTw0hellWUlmBolfzRy8;
Lcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;
-Lcom/android/server/-$$Lambda$DeviceIdleController$Lhneg3gOUCFQWz6Y-5S75AWemY8;
+Lcom/android/server/-$$Lambda$GnssManagerService$a17GVVAgEci0VYD4EMvKwuPLhdQ;
+Lcom/android/server/-$$Lambda$GnssManagerService$mZAgy7PA5q3tB1aq7tHsX4xM14E;
Lcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;
Lcom/android/server/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;
Lcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;
-Lcom/android/server/-$$Lambda$LocationManagerService$5dIxyLSEBQpWtBou-Lju9O-NJOM;
-Lcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$nsL4uwojBLPzs1TzMfpQIBSm7p0;
-Lcom/android/server/-$$Lambda$LocationManagerService$bojY6dMaI07zh6_sF7ERxgmk6U0;
-Lcom/android/server/-$$Lambda$LocationManagerService$c--nwJDEsjSPyI_6OK8sVC5iClY;
-Lcom/android/server/-$$Lambda$LocationManagerService$pUnNobtfzLC9eAlVqCMKySwbo3U;
-Lcom/android/server/-$$Lambda$LocationManagerService$ta09t47XwQMZdhPftO1K9zdy5Mk;
-Lcom/android/server/-$$Lambda$LockGuard$C107ImDhsfBAwlfWxZPBoVXIl_4;
+Lcom/android/server/-$$Lambda$LocationManagerService$1$HAAnoF9DI9FvCHK_geH89--2z2I;
+Lcom/android/server/-$$Lambda$LooperStatsService$Byo6QAxZpVXDCMtjrcYJc6YLAks;
+Lcom/android/server/-$$Lambda$LooperStatsService$Vzysuo2tO86qjfcWeh1Rdb47NQQ;
+Lcom/android/server/-$$Lambda$LooperStatsService$XjYmSR91xdWG1Xgt-Gj9GBZZbjk;
+Lcom/android/server/-$$Lambda$LooperStatsService$XtFJEDeyYRT79ZkVP96XkHribxg;
+Lcom/android/server/-$$Lambda$NetworkManagementService$15DusjG2gzn5UASV-lMS3BUUn9c;
+Lcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;
+Lcom/android/server/-$$Lambda$NetworkManagementService$FsR_UD5xfj4hgrwGdX74wq881Bk;
Lcom/android/server/-$$Lambda$NetworkManagementService$JKmkb4AIm_PPzQp1XOHOgPPRswo;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$0xWa9DGxTnoGVHppsM-nng2PygE;
Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$KpFpi2qBs2OPscTclZ3JRRr-G-g;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$L7i_Z-ii6zMptHCt2_Igy3iBvKk;
Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$QjjL0oku3yfQh6xuCG2xu7lWiSM;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$h2iz-IbnHpQ97mlJ7G62W2mmanw;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$hh3pIkVnnzeRGeDRAOOmVvc6VxE;
Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$ne4qDQiQuX7-WNuF8Q_c7HnWnG0;
Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$pOV71EYm5PphEVG1PGQnV_c6XiA;
Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$praKgcnQG9FTHNMGfCVPTVY8mK8;
+Lcom/android/server/-$$Lambda$NetworkManagementService$RVCc8O9RWjyrynN9cyM7inAv-fk;
Lcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;
+Lcom/android/server/-$$Lambda$NetworkManagementService$YKgmK-4MuJjN-VLuMBhmJy1eWj4;
Lcom/android/server/-$$Lambda$NetworkManagementService$Yw12yNgo43yul34SibAKDtttAK8;
Lcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;
Lcom/android/server/-$$Lambda$NetworkManagementService$hs6djmKbGd8sG4u1TMglrogNP_s;
Lcom/android/server/-$$Lambda$NetworkManagementService$vX8dVVYxxv3YT9jQuN34bgGgRa8;
-Lcom/android/server/-$$Lambda$PackageWatchdog$a9_AwAvl6vknTazIAvycouLJHwo;
+Lcom/android/server/-$$Lambda$NetworkManagementService$xer7k2RLU4mODjrkZqaX89S9gD8;
+Lcom/android/server/-$$Lambda$PackageWatchdog$CQuOnXthwwBaxcS5WoAlJJAz8Tk;
+Lcom/android/server/-$$Lambda$PackageWatchdog$Q0WI2EJpRFO1jF_7_YDaj1eGHas;
+Lcom/android/server/-$$Lambda$PackageWatchdog$vRKcIrucEj03dz6ypRVINZtns1s;
Lcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;
Lcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;
Lcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;
+Lcom/android/server/-$$Lambda$PinnerService$6bekYOn4YXi0x7vYNWO40QyA-s8;
Lcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;
+Lcom/android/server/-$$Lambda$PruneInstantAppsJobService$i4sLSJdxcTXdgPAQZFbP66ZRprE;
Lcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;
Lcom/android/server/-$$Lambda$ServiceWatcher$IP3HV4ye72eH3YxzGb9dMfcGWPE;
+Lcom/android/server/-$$Lambda$ServiceWatcher$b1z9OeL-1VpQ_8p47qz7nMNUpsE;
Lcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;
+Lcom/android/server/-$$Lambda$ServiceWatcher$uCZpuTwrOz-CS9PQS2NY1ZXaU8U;
Lcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;
-Lcom/android/server/-$$Lambda$StorageManagerService$o2Z_M70khUX2rrLNnknKPHIZ0_A;
Lcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;
-Lcom/android/server/-$$Lambda$SystemServer$RIWNR87PnJ4Y6VHItRXU0J6ocqQ;
Lcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;
Lcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;
Lcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;
-Lcom/android/server/-$$Lambda$SystemServerInitThreadPool$7wfLGkZF7FvYZv7xj3ghvuiJJGk;
+Lcom/android/server/-$$Lambda$SystemServerInitThreadPool$o2_GLo0lnkotYmRdTfg66UETEwQ;
Lcom/android/server/-$$Lambda$TelephonyRegistry$ANYH01Imb6dMua6cgKvMEl4kD3I;
Lcom/android/server/-$$Lambda$TelephonyRegistry$KwKYEFoKdijV5jZbDqX1IUV4CzY;
Lcom/android/server/-$$Lambda$UiModeManagerService$vYS4_RzjAavNRF50rrGN0tXI5JM;
@@ -18159,11 +20083,14 @@ Lcom/android/server/-$$Lambda$UiModeManagerService$vuGxqIEDBezs_Xyz-NAh0Bonp5g;
Lcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;
Lcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;
Lcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;
+Lcom/android/server/-$$Lambda$u6uWKONNslLDvDcMfFfe2etQmKg;
Lcom/android/server/AlarmManagerInternal$InFlightListener;
Lcom/android/server/AlarmManagerInternal;
Lcom/android/server/AlarmManagerService$1;
Lcom/android/server/AlarmManagerService$2;
Lcom/android/server/AlarmManagerService$3;
+Lcom/android/server/AlarmManagerService$4;
+Lcom/android/server/AlarmManagerService$5;
Lcom/android/server/AlarmManagerService$6;
Lcom/android/server/AlarmManagerService$Alarm;
Lcom/android/server/AlarmManagerService$AlarmHandler;
@@ -18182,20 +20109,10 @@ Lcom/android/server/AlarmManagerService$IncreasingTimeOrder;
Lcom/android/server/AlarmManagerService$Injector;
Lcom/android/server/AlarmManagerService$InteractiveStateReceiver;
Lcom/android/server/AlarmManagerService$LocalService;
-Lcom/android/server/AlarmManagerService$PriorityClass;
Lcom/android/server/AlarmManagerService$UidObserver;
Lcom/android/server/AlarmManagerService$UninstallReceiver;
Lcom/android/server/AlarmManagerService;
Lcom/android/server/AnimationThread;
-Lcom/android/server/AnyMotionDetector$1;
-Lcom/android/server/AnyMotionDetector$2;
-Lcom/android/server/AnyMotionDetector$3;
-Lcom/android/server/AnyMotionDetector$4;
-Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;
-Lcom/android/server/AnyMotionDetector$RunningSignalStats;
-Lcom/android/server/AnyMotionDetector$Vector3;
-Lcom/android/server/AnyMotionDetector;
-Lcom/android/server/AppStateTracker$AppOpsWatcher;
Lcom/android/server/AppStateTracker$FeatureFlagsObserver;
Lcom/android/server/AppStateTracker$Listener;
Lcom/android/server/AppStateTracker$MyHandler;
@@ -18203,12 +20120,9 @@ Lcom/android/server/AppStateTracker$MyReceiver;
Lcom/android/server/AppStateTracker$StandbyTracker;
Lcom/android/server/AppStateTracker$UidObserver;
Lcom/android/server/AppStateTracker;
-Lcom/android/server/AttributeCache$Entry;
-Lcom/android/server/AttributeCache$Package;
Lcom/android/server/AttributeCache;
-Lcom/android/server/BatteryService$2;
-Lcom/android/server/BatteryService$3;
-Lcom/android/server/BatteryService$4;
+Lcom/android/server/BatteryService$10;
+Lcom/android/server/BatteryService$7;
Lcom/android/server/BatteryService$8;
Lcom/android/server/BatteryService$9;
Lcom/android/server/BatteryService$BatteryPropertiesRegistrar;
@@ -18232,63 +20146,42 @@ Lcom/android/server/BluetoothManagerService$1;
Lcom/android/server/BluetoothManagerService$2;
Lcom/android/server/BluetoothManagerService$3;
Lcom/android/server/BluetoothManagerService$4;
-Lcom/android/server/BluetoothManagerService$5;
Lcom/android/server/BluetoothManagerService$ActiveLog;
Lcom/android/server/BluetoothManagerService$BluetoothHandler;
Lcom/android/server/BluetoothManagerService$BluetoothServiceConnection;
+Lcom/android/server/BluetoothManagerService$ClientDeathRecipient;
Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;
Lcom/android/server/BluetoothManagerService;
Lcom/android/server/BluetoothService;
Lcom/android/server/CachedDeviceStateService$1;
Lcom/android/server/CachedDeviceStateService;
-Lcom/android/server/CertBlacklister$BlacklistObserver;
Lcom/android/server/CertBlacklister;
Lcom/android/server/ConnectivityService$1;
-Lcom/android/server/ConnectivityService$2;
-Lcom/android/server/ConnectivityService$3;
-Lcom/android/server/ConnectivityService$4;
-Lcom/android/server/ConnectivityService$5;
Lcom/android/server/ConnectivityService$6;
-Lcom/android/server/ConnectivityService$7;
+Lcom/android/server/ConnectivityService$CaptivePortalImpl;
Lcom/android/server/ConnectivityService$InternalHandler;
Lcom/android/server/ConnectivityService$LegacyTypeTracker;
-Lcom/android/server/ConnectivityService$NetworkFactoryInfo;
+Lcom/android/server/ConnectivityService$NetworkMonitorCallbacks;
Lcom/android/server/ConnectivityService$NetworkRequestInfo;
Lcom/android/server/ConnectivityService$NetworkStateTrackerHandler;
+Lcom/android/server/ConnectivityService$ReapUnvalidatedNetworks;
Lcom/android/server/ConnectivityService$SettingsObserver;
+Lcom/android/server/ConnectivityService$UnneededFor;
Lcom/android/server/ConnectivityService;
Lcom/android/server/ConsumerIrService;
Lcom/android/server/ContextHubSystemService;
+Lcom/android/server/CountryDetectorService$1$1;
Lcom/android/server/CountryDetectorService$1;
Lcom/android/server/CountryDetectorService$2;
+Lcom/android/server/CountryDetectorService$Receiver;
Lcom/android/server/CountryDetectorService;
-Lcom/android/server/DeviceIdleController$1;
-Lcom/android/server/DeviceIdleController$2;
-Lcom/android/server/DeviceIdleController$3;
-Lcom/android/server/DeviceIdleController$4;
-Lcom/android/server/DeviceIdleController$5;
-Lcom/android/server/DeviceIdleController$6;
-Lcom/android/server/DeviceIdleController$7;
-Lcom/android/server/DeviceIdleController$8;
-Lcom/android/server/DeviceIdleController$9;
-Lcom/android/server/DeviceIdleController$BinderService;
-Lcom/android/server/DeviceIdleController$Constants;
-Lcom/android/server/DeviceIdleController$Injector;
-Lcom/android/server/DeviceIdleController$LocalService;
-Lcom/android/server/DeviceIdleController$MotionListener;
-Lcom/android/server/DeviceIdleController$MyHandler;
-Lcom/android/server/DeviceIdleController;
Lcom/android/server/DiskStatsService;
Lcom/android/server/DisplayThread;
-Lcom/android/server/DockObserver$1;
-Lcom/android/server/DockObserver$2;
Lcom/android/server/DockObserver$BinderService;
Lcom/android/server/DockObserver;
Lcom/android/server/DropBoxManagerService$1$1;
Lcom/android/server/DropBoxManagerService$1;
Lcom/android/server/DropBoxManagerService$2;
-Lcom/android/server/DropBoxManagerService$3;
-Lcom/android/server/DropBoxManagerService$4;
Lcom/android/server/DropBoxManagerService$EntryFile;
Lcom/android/server/DropBoxManagerService$FileList;
Lcom/android/server/DropBoxManagerService;
@@ -18297,18 +20190,17 @@ Lcom/android/server/EntropyMixer$1;
Lcom/android/server/EntropyMixer$2;
Lcom/android/server/EntropyMixer;
Lcom/android/server/EventLogTags;
+Lcom/android/server/ExplicitHealthCheckController;
Lcom/android/server/ExtconStateObserver;
Lcom/android/server/ExtconUEventObserver$ExtconInfo;
Lcom/android/server/ExtconUEventObserver;
Lcom/android/server/FgThread;
Lcom/android/server/GestureLauncherService$1;
-Lcom/android/server/GestureLauncherService$2;
-Lcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;
-Lcom/android/server/GestureLauncherService$GestureEventListener;
Lcom/android/server/GestureLauncherService;
+Lcom/android/server/GnssManagerService;
Lcom/android/server/GraphicsStatsService$1;
Lcom/android/server/GraphicsStatsService$ActiveBuffer;
-Lcom/android/server/GraphicsStatsService$BufferInfo;
+Lcom/android/server/GraphicsStatsService$HistoricalBuffer;
Lcom/android/server/GraphicsStatsService;
Lcom/android/server/HardwarePropertiesManagerService;
Lcom/android/server/INativeDaemonConnectorCallbacks;
@@ -18323,33 +20215,25 @@ Lcom/android/server/IpSecService$UidFdTagger;
Lcom/android/server/IpSecService$UserResourceTracker;
Lcom/android/server/IpSecService;
Lcom/android/server/LocationManagerService$1;
-Lcom/android/server/LocationManagerService$2;
-Lcom/android/server/LocationManagerService$3;
-Lcom/android/server/LocationManagerService$4;
-Lcom/android/server/LocationManagerService$5;
-Lcom/android/server/LocationManagerService$6;
-Lcom/android/server/LocationManagerService$7;
-Lcom/android/server/LocationManagerService$8;
-Lcom/android/server/LocationManagerService$LinkedListenerBase;
Lcom/android/server/LocationManagerService$LocationProvider;
Lcom/android/server/LocationManagerService$Receiver;
Lcom/android/server/LocationManagerService$UpdateRecord;
Lcom/android/server/LocationManagerService;
-Lcom/android/server/LockGuard$1;
+Lcom/android/server/LocationManagerServiceUtils$LinkedListenerBase;
Lcom/android/server/LockGuard$LockInfo;
Lcom/android/server/LockGuard;
Lcom/android/server/LooperStatsService$Lifecycle;
-Lcom/android/server/LooperStatsService$SettingsObserver;
Lcom/android/server/LooperStatsService;
Lcom/android/server/MmsServiceBroker$1;
Lcom/android/server/MmsServiceBroker$2;
-Lcom/android/server/MmsServiceBroker$3;
Lcom/android/server/MmsServiceBroker$BinderService;
Lcom/android/server/MmsServiceBroker;
+Lcom/android/server/MountServiceIdler$1;
Lcom/android/server/MountServiceIdler;
Lcom/android/server/NativeDaemonConnector$ResponseQueue;
Lcom/android/server/NativeDaemonConnector;
Lcom/android/server/NativeDaemonConnectorException;
+Lcom/android/server/NativeDaemonEvent;
Lcom/android/server/NetworkManagementInternal;
Lcom/android/server/NetworkManagementService$LocalService;
Lcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;
@@ -18359,58 +20243,48 @@ Lcom/android/server/NetworkManagementService$SystemServices;
Lcom/android/server/NetworkManagementService;
Lcom/android/server/NetworkScoreService$1;
Lcom/android/server/NetworkScoreService$2;
-Lcom/android/server/NetworkScoreService$3;
-Lcom/android/server/NetworkScoreService$4;
-Lcom/android/server/NetworkScoreService$5;
+Lcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;
Lcom/android/server/NetworkScoreService$DispatchingContentObserver;
+Lcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;
Lcom/android/server/NetworkScoreService$Lifecycle;
+Lcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;
+Lcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;
+Lcom/android/server/NetworkScoreService$ScanResultsSupplier;
+Lcom/android/server/NetworkScoreService$ScoringServiceConnection;
Lcom/android/server/NetworkScoreService$ServiceHandler;
Lcom/android/server/NetworkScoreService;
Lcom/android/server/NetworkScorerAppManager$SettingsFacade;
Lcom/android/server/NetworkScorerAppManager;
-Lcom/android/server/NetworkTimeUpdateService;
-Lcom/android/server/NewNetworkTimeUpdateService$1;
-Lcom/android/server/NewNetworkTimeUpdateService$2;
-Lcom/android/server/NewNetworkTimeUpdateService$MyHandler;
-Lcom/android/server/NewNetworkTimeUpdateService$NetworkTimeUpdateCallback;
-Lcom/android/server/NewNetworkTimeUpdateService$SettingsObserver;
-Lcom/android/server/NewNetworkTimeUpdateService;
+Lcom/android/server/NsdService$ClientInfo;
Lcom/android/server/NsdService$DaemonConnection;
Lcom/android/server/NsdService$DaemonConnectionSupplier;
Lcom/android/server/NsdService$NativeCallbackReceiver;
Lcom/android/server/NsdService$NsdSettings$1;
Lcom/android/server/NsdService$NsdSettings;
-Lcom/android/server/NsdService$NsdStateMachine$1;
Lcom/android/server/NsdService$NsdStateMachine$DefaultState;
-Lcom/android/server/NsdService$NsdStateMachine$DisabledState;
Lcom/android/server/NsdService$NsdStateMachine$EnabledState;
Lcom/android/server/NsdService$NsdStateMachine;
Lcom/android/server/NsdService;
-Lcom/android/server/PackageWatchdog$MonitoredPackage;
Lcom/android/server/PackageWatchdog$ObserverInternal;
Lcom/android/server/PackageWatchdog$PackageHealthObserver;
+Lcom/android/server/PackageWatchdog$SystemClock;
Lcom/android/server/PackageWatchdog;
Lcom/android/server/PersistentDataBlockManagerInternal;
Lcom/android/server/PersistentDataBlockService$1;
Lcom/android/server/PersistentDataBlockService$2;
Lcom/android/server/PersistentDataBlockService;
Lcom/android/server/PinnerService$1;
-Lcom/android/server/PinnerService$2;
Lcom/android/server/PinnerService$3;
Lcom/android/server/PinnerService$BinderService;
Lcom/android/server/PinnerService$PinRange;
Lcom/android/server/PinnerService$PinRangeSource;
Lcom/android/server/PinnerService$PinRangeSourceStatic;
Lcom/android/server/PinnerService$PinRangeSourceStream;
-Lcom/android/server/PinnerService$PinnedApp;
Lcom/android/server/PinnerService$PinnedFile;
Lcom/android/server/PinnerService$PinnerHandler;
Lcom/android/server/PinnerService;
Lcom/android/server/PruneInstantAppsJobService;
Lcom/android/server/RandomBlock;
-Lcom/android/server/RecoverySystemService$1;
-Lcom/android/server/RecoverySystemService$BinderService;
-Lcom/android/server/RecoverySystemService;
Lcom/android/server/RescueParty$AppThreshold;
Lcom/android/server/RescueParty$BootThreshold;
Lcom/android/server/RescueParty$Threshold;
@@ -18426,22 +20300,17 @@ Lcom/android/server/ServiceThread;
Lcom/android/server/ServiceWatcher$1;
Lcom/android/server/ServiceWatcher$2;
Lcom/android/server/ServiceWatcher$BinderRunner;
+Lcom/android/server/ServiceWatcher$BlockingBinderRunner;
Lcom/android/server/ServiceWatcher;
-Lcom/android/server/StorageManagerService$12;
-Lcom/android/server/StorageManagerService$1;
-Lcom/android/server/StorageManagerService$2;
-Lcom/android/server/StorageManagerService$3;
Lcom/android/server/StorageManagerService$4;
-Lcom/android/server/StorageManagerService$5;
-Lcom/android/server/StorageManagerService$6;
Lcom/android/server/StorageManagerService$8;
+Lcom/android/server/StorageManagerService$9;
+Lcom/android/server/StorageManagerService$AppFuseMountScope;
Lcom/android/server/StorageManagerService$Callbacks;
Lcom/android/server/StorageManagerService$Lifecycle;
-Lcom/android/server/StorageManagerService$ObbActionHandler;
Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;
Lcom/android/server/StorageManagerService$StorageManagerServiceHandler;
Lcom/android/server/StorageManagerService;
-Lcom/android/server/SystemServer$1;
Lcom/android/server/SystemServer;
Lcom/android/server/SystemServerInitThreadPool;
Lcom/android/server/SystemService;
@@ -18449,7 +20318,6 @@ Lcom/android/server/SystemServiceManager;
Lcom/android/server/SystemUpdateManagerService;
Lcom/android/server/TelephonyRegistry$1;
Lcom/android/server/TelephonyRegistry$2;
-Lcom/android/server/TelephonyRegistry$3;
Lcom/android/server/TelephonyRegistry$Record;
Lcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;
Lcom/android/server/TelephonyRegistry;
@@ -18459,11 +20327,7 @@ Lcom/android/server/ThreadPriorityBooster$PriorityState;
Lcom/android/server/ThreadPriorityBooster;
Lcom/android/server/UiModeManagerInternal;
Lcom/android/server/UiModeManagerService$1;
-Lcom/android/server/UiModeManagerService$2;
Lcom/android/server/UiModeManagerService$3;
-Lcom/android/server/UiModeManagerService$4;
-Lcom/android/server/UiModeManagerService$5;
-Lcom/android/server/UiModeManagerService$6;
Lcom/android/server/UiModeManagerService$LocalService;
Lcom/android/server/UiModeManagerService$UserSwitchedReceiver;
Lcom/android/server/UiModeManagerService;
@@ -18475,33 +20339,30 @@ Lcom/android/server/VibratorService$2;
Lcom/android/server/VibratorService$3;
Lcom/android/server/VibratorService$4;
Lcom/android/server/VibratorService$5;
-Lcom/android/server/VibratorService$ExternalVibratorService;
-Lcom/android/server/VibratorService$ScaleLevel;
-Lcom/android/server/VibratorService$SettingsObserver;
+Lcom/android/server/VibratorService$VibrateThread;
+Lcom/android/server/VibratorService$Vibration;
+Lcom/android/server/VibratorService$VibrationInfo;
+Lcom/android/server/VibratorService$VibratorShellCommand;
Lcom/android/server/VibratorService;
-Lcom/android/server/Watchdog$1;
Lcom/android/server/Watchdog$BinderThreadMonitor;
Lcom/android/server/Watchdog$HandlerChecker;
Lcom/android/server/Watchdog$Monitor;
Lcom/android/server/Watchdog$OpenFdMonitor;
-Lcom/android/server/Watchdog$RebootRequestReceiver;
Lcom/android/server/Watchdog;
-Lcom/android/server/WatchdogDiagnostics;
Lcom/android/server/WiredAccessoryManager$1;
Lcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;
-Lcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;
Lcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;
Lcom/android/server/WiredAccessoryManager;
+Lcom/android/server/ZramWriteback$1;
Lcom/android/server/ZramWriteback;
Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;
-Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$CNt8wbTQCYcsUnUkUCQHtKqr-tY;
Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;
Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;
-Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$RFkfb_W9wnTTs_gy8Dg3k2uQOYQ;
Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$_rvRsbhZRBJitXrpMqI0NptLUa8;
Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;
-Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;
-Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityServiceConnection$ASP9bmSvpeD7ZE_uJ8sm-9hCwiU;
+Lcom/android/server/accessibility/-$$Lambda$X8i00nfnUx_qUoIgZixkfu6ddSY;
+Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$1;
Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;
Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;
Lcom/android/server/accessibility/AccessibilityManagerService$1;
@@ -18509,35 +20370,46 @@ Lcom/android/server/accessibility/AccessibilityManagerService$2;
Lcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;
Lcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;
Lcom/android/server/accessibility/AccessibilityManagerService$Client;
+Lcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge$1;
+Lcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;
Lcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;
-Lcom/android/server/accessibility/AccessibilityManagerService$MainHandler;
-Lcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;
-Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;
-Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
Lcom/android/server/accessibility/AccessibilityManagerService;
+Lcom/android/server/accessibility/AccessibilitySecurityPolicy$AccessibilityUserManager;
+Lcom/android/server/accessibility/AccessibilitySecurityPolicy;
Lcom/android/server/accessibility/AccessibilityServiceConnection;
+Lcom/android/server/accessibility/AccessibilityUserState$ServiceInfoChangeListener;
+Lcom/android/server/accessibility/AccessibilityWindowManager$AccessibilityEventSender;
Lcom/android/server/accessibility/FingerprintGestureDispatcher$FingerprintGestureClient;
-Lcom/android/server/accessibility/GlobalActionPerformer;
Lcom/android/server/accessibility/KeyEventDispatcher$KeyEventFilter;
-Lcom/android/server/accessibility/UiAutomationManager$1;
Lcom/android/server/accessibility/UiAutomationManager;
Lcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;
+Lcom/android/server/accounts/-$$Lambda$AccountManagerService$nCdu9dc3c8qBwJIwS0ZQk2waXfY;
+Lcom/android/server/accounts/-$$Lambda$AccountManagerService$ncg6hlXg7I0Ee1EZqbXw8fQH9bY;
Lcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;
Lcom/android/server/accounts/AccountAuthenticatorCache;
+Lcom/android/server/accounts/AccountManagerBackupHelper;
Lcom/android/server/accounts/AccountManagerService$1$1;
+Lcom/android/server/accounts/AccountManagerService$18;
Lcom/android/server/accounts/AccountManagerService$1;
-Lcom/android/server/accounts/AccountManagerService$2;
+Lcom/android/server/accounts/AccountManagerService$1LogRecordTask;
Lcom/android/server/accounts/AccountManagerService$3;
Lcom/android/server/accounts/AccountManagerService$4;
+Lcom/android/server/accounts/AccountManagerService$8;
Lcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;
+Lcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;
Lcom/android/server/accounts/AccountManagerService$Injector;
Lcom/android/server/accounts/AccountManagerService$Lifecycle;
-Lcom/android/server/accounts/AccountManagerService$MessageHandler;
+Lcom/android/server/accounts/AccountManagerService$RemoveAccountSession;
+Lcom/android/server/accounts/AccountManagerService$Session;
+Lcom/android/server/accounts/AccountManagerService$TestFeaturesSession;
Lcom/android/server/accounts/AccountManagerService$UserAccounts;
Lcom/android/server/accounts/AccountManagerService;
+Lcom/android/server/accounts/AccountsDb$CeDatabaseHelper;
Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;
Lcom/android/server/accounts/AccountsDb;
Lcom/android/server/accounts/IAccountAuthenticatorCache;
+Lcom/android/server/accounts/TokenCache$Key;
+Lcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;
Lcom/android/server/accounts/TokenCache$TokenLruCache;
Lcom/android/server/accounts/TokenCache;
Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;
@@ -18546,12 +20418,8 @@ Lcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;
Lcom/android/server/adb/AdbDebuggingManager;
Lcom/android/server/adb/AdbService$AdbHandler;
Lcom/android/server/adb/AdbService$AdbManagerInternalImpl;
-Lcom/android/server/adb/AdbService$AdbSettingsObserver;
Lcom/android/server/adb/AdbService$Lifecycle;
Lcom/android/server/adb/AdbService;
-Lcom/android/server/am/-$$Lambda$5hokEl5hcign5FXeGZdl53qh2zg;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$2afaFERxNQEnSdevJxY5plp1fS4;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$30I5N5ZS7997YvRBJqVkTZMPd6M;
Lcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;
Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;
Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;
@@ -18559,21 +20427,23 @@ Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ddVY5lmqswnSjXppAxPT
Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$r3x3xYmhrLG8kgeNVPXl5EILHwU;
Lcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;
Lcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;
-Lcom/android/server/am/-$$Lambda$BroadcastQueue$UYhESkevIwvEc0Mcevy6z7vfzgY;
Lcom/android/server/am/-$$Lambda$HKoBBTwYfMTyX1rzuzxIXu0s2cc;
-Lcom/android/server/am/-$$Lambda$OomAdjProfiler$5x1ooCPxPmlzbXvtcEuYDu_6Uz4;
+Lcom/android/server/am/-$$Lambda$OomAdjProfiler$oLbVP84ACmxo_1QlnwlSuhi91W4;
+Lcom/android/server/am/-$$Lambda$OomAdjuster$OVkqAAacT5-taN3pgDzyZj3Ymvk;
+Lcom/android/server/am/-$$Lambda$PendingIntentController$pDmmJDvS20vSAAXh9qdzbN0P8N0;
Lcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;
-Lcom/android/server/am/-$$Lambda$ProcessList$Clv-1gpwGcZ-lQ1Ghdh2VzSdPZ4;
-Lcom/android/server/am/-$$Lambda$SettingsToPropertiesMapper$Rzo06OjarvWLxZlB1l32KTp3emA;
-Lcom/android/server/am/-$$Lambda$UserController$O8GIT-HtdCM0CCjYajdW2AFcrWQ;
+Lcom/android/server/am/-$$Lambda$PersistentConnection$rkvbuN0FQdQUv1hqSwDvmwwh6Uk;
+Lcom/android/server/am/-$$Lambda$ProcessList$vtq7LF5jIHO4t5NE03c8g7BT7Jc;
+Lcom/android/server/am/-$$Lambda$ProcessRecord$1qn6-pj5yWgiSnKANZpVz3gwd30;
+Lcom/android/server/am/-$$Lambda$ProcessRecord$2DImTokd0AWNTECl3WgBxJkOOqs;
+Lcom/android/server/am/-$$Lambda$ProcessRecord$Cb3MKja7_iTlaFQrvQTzPvLyoT8;
+Lcom/android/server/am/-$$Lambda$UserController$Injector$MYTLl7MOQKjyMJknWdxPeBLoPCc;
+Lcom/android/server/am/-$$Lambda$UserController$K71HFCIuD0iCwrDTKYnIUDyAeWg;
+Lcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;
Lcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;
Lcom/android/server/am/-$$Lambda$gATL8uvTPRd405IfefK1RL9bNqA;
-Lcom/android/server/am/ActiveInstrumentation;
+Lcom/android/server/am/-$$Lambda$yk1Ms9fVlF6PvprMwF2rru-dw4Q;
Lcom/android/server/am/ActiveServices$1;
-Lcom/android/server/am/ActiveServices$2;
-Lcom/android/server/am/ActiveServices$4;
-Lcom/android/server/am/ActiveServices$ActiveForegroundApp;
-Lcom/android/server/am/ActiveServices$ForcedStandbyListener;
Lcom/android/server/am/ActiveServices$ServiceDumper;
Lcom/android/server/am/ActiveServices$ServiceLookupResult;
Lcom/android/server/am/ActiveServices$ServiceMap;
@@ -18582,33 +20452,22 @@ Lcom/android/server/am/ActiveServices;
Lcom/android/server/am/ActiveUids;
Lcom/android/server/am/ActivityManagerConstants$1;
Lcom/android/server/am/ActivityManagerConstants;
-Lcom/android/server/am/ActivityManagerService$10;
-Lcom/android/server/am/ActivityManagerService$12;
Lcom/android/server/am/ActivityManagerService$15;
Lcom/android/server/am/ActivityManagerService$16;
-Lcom/android/server/am/ActivityManagerService$17;
-Lcom/android/server/am/ActivityManagerService$18;
-Lcom/android/server/am/ActivityManagerService$19;
Lcom/android/server/am/ActivityManagerService$1;
-Lcom/android/server/am/ActivityManagerService$20;
Lcom/android/server/am/ActivityManagerService$21;
-Lcom/android/server/am/ActivityManagerService$22;
Lcom/android/server/am/ActivityManagerService$2;
Lcom/android/server/am/ActivityManagerService$3;
Lcom/android/server/am/ActivityManagerService$4;
Lcom/android/server/am/ActivityManagerService$5;
Lcom/android/server/am/ActivityManagerService$7;
-Lcom/android/server/am/ActivityManagerService$8;
-Lcom/android/server/am/ActivityManagerService$9;
Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;
-Lcom/android/server/am/ActivityManagerService$Association;
Lcom/android/server/am/ActivityManagerService$CpuBinder$1;
Lcom/android/server/am/ActivityManagerService$CpuBinder;
Lcom/android/server/am/ActivityManagerService$DbBinder;
Lcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;
Lcom/android/server/am/ActivityManagerService$GraphicsBinder;
Lcom/android/server/am/ActivityManagerService$HiddenApiSettings;
-Lcom/android/server/am/ActivityManagerService$Identity;
Lcom/android/server/am/ActivityManagerService$Injector;
Lcom/android/server/am/ActivityManagerService$IntentFirewallInterface;
Lcom/android/server/am/ActivityManagerService$ItemMatcher;
@@ -18618,30 +20477,32 @@ Lcom/android/server/am/ActivityManagerService$MainHandler$1;
Lcom/android/server/am/ActivityManagerService$MainHandler;
Lcom/android/server/am/ActivityManagerService$MemBinder$1;
Lcom/android/server/am/ActivityManagerService$MemBinder;
-Lcom/android/server/am/ActivityManagerService$MemItem;
-Lcom/android/server/am/ActivityManagerService$MemoryUsageDumpOptions;
-Lcom/android/server/am/ActivityManagerService$OomAdjObserver;
Lcom/android/server/am/ActivityManagerService$PackageAssociationInfo;
-Lcom/android/server/am/ActivityManagerService$PendingTempWhitelist;
Lcom/android/server/am/ActivityManagerService$PermissionController;
Lcom/android/server/am/ActivityManagerService$PidMap;
+Lcom/android/server/am/ActivityManagerService$ProcStatsRunnable;
Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
Lcom/android/server/am/ActivityManagerService$ProcessInfoService;
Lcom/android/server/am/ActivityManagerService$ProfileData;
Lcom/android/server/am/ActivityManagerService$UiHandler;
Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;
Lcom/android/server/am/ActivityManagerService;
+Lcom/android/server/am/ActivityManagerShellCommand$1;
+Lcom/android/server/am/ActivityManagerShellCommand$IntentReceiver;
+Lcom/android/server/am/ActivityManagerShellCommand;
Lcom/android/server/am/AppBindRecord;
-Lcom/android/server/am/CachedAppOptimizer$1;
-Lcom/android/server/am/CachedAppOptimizer$MemCompactionHandler;
-Lcom/android/server/am/CachedAppOptimizer;
-Lcom/android/server/am/AppErrorDialog$Data;
+Lcom/android/server/am/AppCompactor$1;
+Lcom/android/server/am/AppCompactor$2;
+Lcom/android/server/am/AppCompactor$MemCompactionHandler;
+Lcom/android/server/am/AppCompactor;
+Lcom/android/server/am/AppErrorDialog$1;
+Lcom/android/server/am/AppErrorDialog;
Lcom/android/server/am/AppErrorResult;
-Lcom/android/server/am/AppErrors$BadProcessInfo;
Lcom/android/server/am/AppErrors;
-Lcom/android/server/am/AppNotRespondingDialog$Data;
-Lcom/android/server/am/AppTimeTracker;
-Lcom/android/server/am/BackupRecord;
+Lcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;
+Lcom/android/server/am/AssistDataRequester;
+Lcom/android/server/am/BaseErrorDialog$1;
+Lcom/android/server/am/BaseErrorDialog;
Lcom/android/server/am/BatteryExternalStatsWorker$1;
Lcom/android/server/am/BatteryExternalStatsWorker$2;
Lcom/android/server/am/BatteryExternalStatsWorker;
@@ -18649,10 +20510,10 @@ Lcom/android/server/am/BatteryStatsService$1;
Lcom/android/server/am/BatteryStatsService$LocalService;
Lcom/android/server/am/BatteryStatsService$WakeupReasonThread;
Lcom/android/server/am/BatteryStatsService;
-Lcom/android/server/am/BroadcastConstants$SettingsObserver;
Lcom/android/server/am/BroadcastConstants;
Lcom/android/server/am/BroadcastDispatcher$1;
Lcom/android/server/am/BroadcastDispatcher$2;
+Lcom/android/server/am/BroadcastDispatcher$Deferrals;
Lcom/android/server/am/BroadcastDispatcher;
Lcom/android/server/am/BroadcastFilter;
Lcom/android/server/am/BroadcastQueue$1;
@@ -18661,23 +20522,22 @@ Lcom/android/server/am/BroadcastQueue$BroadcastHandler;
Lcom/android/server/am/BroadcastQueue;
Lcom/android/server/am/BroadcastRecord;
Lcom/android/server/am/BroadcastStats$1;
-Lcom/android/server/am/BroadcastStats$ActionEntry;
-Lcom/android/server/am/BroadcastStats$PackageEntry;
-Lcom/android/server/am/BroadcastStats$ViolationEntry;
Lcom/android/server/am/BroadcastStats;
Lcom/android/server/am/ConnectionRecord;
Lcom/android/server/am/ContentProviderConnection;
Lcom/android/server/am/ContentProviderRecord;
Lcom/android/server/am/CoreSettingsObserver;
-Lcom/android/server/am/DumpHeapProvider;
Lcom/android/server/am/EventLogTags;
Lcom/android/server/am/HealthStatsBatteryStatsWriter;
-Lcom/android/server/am/InstrumentationReporter$MyThread;
-Lcom/android/server/am/InstrumentationReporter$Report;
+Lcom/android/server/am/HostingRecord;
Lcom/android/server/am/InstrumentationReporter;
Lcom/android/server/am/IntentBindRecord;
-Lcom/android/server/am/MemoryStatUtil$MemoryStat;
+Lcom/android/server/am/LmkdConnection$LmkdConnectionListener;
+Lcom/android/server/am/LmkdConnection;
+Lcom/android/server/am/LowMemDetector$LowMemThread;
+Lcom/android/server/am/LowMemDetector;
Lcom/android/server/am/MemoryStatUtil;
+Lcom/android/server/am/NativeCrashListener$NativeCrashReporter;
Lcom/android/server/am/NativeCrashListener;
Lcom/android/server/am/OomAdjProfiler$CpuTimes;
Lcom/android/server/am/OomAdjProfiler;
@@ -18687,7 +20547,11 @@ Lcom/android/server/am/PendingIntentController;
Lcom/android/server/am/PendingIntentRecord$Key;
Lcom/android/server/am/PendingIntentRecord;
Lcom/android/server/am/PendingTempWhitelists;
+Lcom/android/server/am/PersistentConnection$1;
Lcom/android/server/am/PersistentConnection;
+Lcom/android/server/am/PreBootBroadcaster$1;
+Lcom/android/server/am/PreBootBroadcaster;
+Lcom/android/server/am/ProcessList$1;
Lcom/android/server/am/ProcessList$IsolatedUidRange;
Lcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;
Lcom/android/server/am/ProcessList$KillHandler;
@@ -18699,24 +20563,27 @@ Lcom/android/server/am/ProcessRecord$PackageList;
Lcom/android/server/am/ProcessRecord;
Lcom/android/server/am/ProcessStatsService$1;
Lcom/android/server/am/ProcessStatsService$2;
-Lcom/android/server/am/ProcessStatsService$3;
+Lcom/android/server/am/ProcessStatsService$4;
Lcom/android/server/am/ProcessStatsService;
Lcom/android/server/am/ProviderMap;
Lcom/android/server/am/ReceiverList;
+Lcom/android/server/am/ServiceRecord$1;
+Lcom/android/server/am/ServiceRecord$2;
+Lcom/android/server/am/ServiceRecord$3;
Lcom/android/server/am/ServiceRecord$StartItem;
Lcom/android/server/am/ServiceRecord;
-Lcom/android/server/am/SettingsToPropertiesMapper$1;
Lcom/android/server/am/SettingsToPropertiesMapper;
Lcom/android/server/am/UidRecord$ChangeItem;
Lcom/android/server/am/UidRecord;
+Lcom/android/server/am/UserController$2;
+Lcom/android/server/am/UserController$6;
+Lcom/android/server/am/UserController$Injector$1;
Lcom/android/server/am/UserController$Injector;
Lcom/android/server/am/UserController$UserProgressListener;
Lcom/android/server/am/UserController;
Lcom/android/server/am/UserState;
-Lcom/android/server/appbinding/-$$Lambda$AppBindingService$D_3boeCn8eAANOp2ZDk6OC2rNaI;
Lcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;
Lcom/android/server/appbinding/AppBindingConstants;
-Lcom/android/server/appbinding/AppBindingService$1;
Lcom/android/server/appbinding/AppBindingService$2;
Lcom/android/server/appbinding/AppBindingService$Injector;
Lcom/android/server/appbinding/AppBindingService$Lifecycle;
@@ -18726,35 +20593,56 @@ Lcom/android/server/appbinding/finders/-$$Lambda$CarrierMessagingClientServiceFi
Lcom/android/server/appbinding/finders/AppServiceFinder;
Lcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;
Lcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;
+Lcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;
Lcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;
+Lcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;
+Lcom/android/server/appop/-$$Lambda$AppOpsService$gQy7GOuCV6GbjQtdNhNG6xld8I4;
+Lcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;
+Lcom/android/server/appop/AppOpsService$1$1;
Lcom/android/server/appop/AppOpsService$1;
-Lcom/android/server/appop/AppOpsService$2;
-Lcom/android/server/appop/AppOpsService$3;
Lcom/android/server/appop/AppOpsService$ActiveCallback;
Lcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;
Lcom/android/server/appop/AppOpsService$ClientRestrictionState;
Lcom/android/server/appop/AppOpsService$ClientState;
Lcom/android/server/appop/AppOpsService$Constants;
+Lcom/android/server/appop/AppOpsService$FeatureOp;
Lcom/android/server/appop/AppOpsService$ModeCallback;
Lcom/android/server/appop/AppOpsService$NotedCallback;
Lcom/android/server/appop/AppOpsService$Op;
Lcom/android/server/appop/AppOpsService$Ops;
-Lcom/android/server/appop/AppOpsService$Restriction;
Lcom/android/server/appop/AppOpsService$UidState;
Lcom/android/server/appop/AppOpsService;
-Lcom/android/server/appop/HistoricalRegistry$1;
+Lcom/android/server/appop/AudioRestrictionManager;
Lcom/android/server/appop/HistoricalRegistry$Persistence;
Lcom/android/server/appop/HistoricalRegistry;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$40EK4qcr-rG55ENTthOaXAXWDA4;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$4yDhFef-19aMlJ-Y7O6RdjSAvnk;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$NmwmTMZXXS4S7viVNKzU2genXA8;
+Lcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$vSY20eQq5y5FXrxhhqOTcEmezTs;
+Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$9DCowUTEF8fYuBlWGxOmP5hTAWA;
+Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$Ikwq62LQ8mos7hCBmykUhqvUq2Y;
+Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$UaZoW5Y9AD8L3ktnyw-25jtnxhA;
+Lcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$qroIh2ewx0BLP-J9XIAX2CaX8J4;
Lcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;
Lcom/android/server/appprediction/AppPredictionManagerService;
+Lcom/android/server/appprediction/AppPredictionPerUserService;
+Lcom/android/server/appprediction/RemoteAppPredictionService$RemoteAppPredictionServiceCallbacks;
+Lcom/android/server/appprediction/RemoteAppPredictionService;
+Lcom/android/server/appwidget/-$$Lambda$AppWidgetServiceImpl$7z3EwuT55saMxTVomcNfb1VOVL0;
+Lcom/android/server/appwidget/-$$Lambda$AppWidgetServiceImpl$TEG8Dmf_tnBoLQ8rTg9_1sFaVu8;
Lcom/android/server/appwidget/AppWidgetService;
Lcom/android/server/appwidget/AppWidgetServiceImpl$1;
Lcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;
Lcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;
Lcom/android/server/appwidget/AppWidgetServiceImpl$CallbackHandler;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$HostId;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$SaveStateRunnable;
Lcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;
Lcom/android/server/appwidget/AppWidgetServiceImpl;
-Lcom/android/server/attention/AttentionManagerService;
+Lcom/android/server/audio/-$$Lambda$AudioDeviceInventory$MfLl81BWvF9OIWh52LJfesOjVdw;
Lcom/android/server/audio/AudioDeviceBroker$BrokerHandler;
Lcom/android/server/audio/AudioDeviceBroker$BrokerThread;
Lcom/android/server/audio/AudioDeviceBroker;
@@ -18763,140 +20651,260 @@ Lcom/android/server/audio/AudioEventLogger$Event;
Lcom/android/server/audio/AudioEventLogger$StringEvent;
Lcom/android/server/audio/AudioEventLogger;
Lcom/android/server/audio/AudioService$1;
-Lcom/android/server/audio/AudioService$2;
-Lcom/android/server/audio/AudioService$3;
-Lcom/android/server/audio/AudioService$4;
Lcom/android/server/audio/AudioService$AudioHandler;
+Lcom/android/server/audio/AudioService$AudioPolicyProxy;
Lcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;
Lcom/android/server/audio/AudioService$AudioServiceInternal;
Lcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;
Lcom/android/server/audio/AudioService$AudioSystemThread;
+Lcom/android/server/audio/AudioService$ForceControlStreamClient;
Lcom/android/server/audio/AudioService$Lifecycle;
-Lcom/android/server/audio/AudioService$MyDisplayStatusCallback;
+Lcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;
+Lcom/android/server/audio/AudioService$SetModeDeathHandler;
Lcom/android/server/audio/AudioService$SettingsObserver;
-Lcom/android/server/audio/AudioService$SoundPoolCallback;
-Lcom/android/server/audio/AudioService$SoundPoolListenerThread;
Lcom/android/server/audio/AudioService$VolumeController;
Lcom/android/server/audio/AudioService$VolumeStreamState;
Lcom/android/server/audio/AudioService;
Lcom/android/server/audio/AudioServiceEvents$ForceUseEvent;
+Lcom/android/server/audio/AudioServiceEvents$PhoneStateEvent;
+Lcom/android/server/audio/AudioServiceEvents$VolumeEvent;
Lcom/android/server/audio/BtHelper$1;
+Lcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;
+Lcom/android/server/audio/BtHelper$ScoClient;
Lcom/android/server/audio/BtHelper;
+Lcom/android/server/audio/FocusRequester;
+Lcom/android/server/audio/MediaFocusControl$2;
+Lcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;
Lcom/android/server/audio/MediaFocusControl;
+Lcom/android/server/audio/PlaybackActivityMonitor$AudioAttrEvent;
+Lcom/android/server/audio/PlaybackActivityMonitor$DuckEvent;
+Lcom/android/server/audio/PlaybackActivityMonitor$DuckingManager$DuckedApp;
Lcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;
Lcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;
Lcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;
+Lcom/android/server/audio/PlaybackActivityMonitor$PlayerEvent;
Lcom/android/server/audio/PlaybackActivityMonitor$PlayerOpPlayAudioEvent;
Lcom/android/server/audio/PlaybackActivityMonitor;
Lcom/android/server/audio/PlayerFocusEnforcer;
-Lcom/android/server/audio/RecordingActivityMonitor$RecMonitorClient;
Lcom/android/server/audio/RecordingActivityMonitor;
Lcom/android/server/audio/RotationHelper$AudioDisplayListener;
Lcom/android/server/audio/RotationHelper;
-Lcom/android/server/autofill/-$$Lambda$AutofillManagerService$HTAoqR1LxaXvx4-rCytnamMG1c0;
-Lcom/android/server/autofill/-$$Lambda$AutofillManagerService$c0YMU8G8_dPl5mAdWaXDkWrgkEw;
+Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;
+Lcom/android/server/audio/SoundEffectsHelper$SfxHandler$1;
+Lcom/android/server/audio/SoundEffectsHelper$SfxHandler;
+Lcom/android/server/audio/SoundEffectsHelper;
+Lcom/android/server/autofill/-$$Lambda$AutofillManagerService$1$1-WNu3tTkxodB_LsZ7dGIlvrPN0;
+Lcom/android/server/autofill/-$$Lambda$FieldClassificationStrategy$NQQgQ63vxhPkiwOWrnwRyuYSHTM;
+Lcom/android/server/autofill/-$$Lambda$FieldClassificationStrategy$vGIL1YGX_9ksoSV74T7gO4fkEBE;
+Lcom/android/server/autofill/-$$Lambda$Helper$nK3g_oXXf8NGajcUf0W5JsQzf3w;
+Lcom/android/server/autofill/-$$Lambda$Session$eVloK5PeyeuPZn1G52SC-fXIsjk;
+Lcom/android/server/autofill/-$$Lambda$Session$xw4trZ-LA7gCvZvpKJ93vf377ak;
+Lcom/android/server/autofill/-$$Lambda$knR7oLyPSG_CoFAxBA_nqSw3JBo;
Lcom/android/server/autofill/AutofillManagerService$1;
+Lcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;
Lcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;
Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;
Lcom/android/server/autofill/AutofillManagerService$LocalService;
Lcom/android/server/autofill/AutofillManagerService;
+Lcom/android/server/autofill/AutofillManagerServiceImpl$1;
+Lcom/android/server/autofill/AutofillManagerServiceImpl$PruneTask;
Lcom/android/server/autofill/AutofillManagerServiceImpl;
+Lcom/android/server/autofill/FieldClassificationStrategy$MetadataParser;
Lcom/android/server/autofill/FieldClassificationStrategy;
+Lcom/android/server/autofill/Helper$ViewNodeFilter;
Lcom/android/server/autofill/Helper;
+Lcom/android/server/autofill/RemoteAugmentedAutofillService$RemoteAugmentedAutofillServiceCallbacks;
Lcom/android/server/autofill/RemoteAugmentedAutofillService;
+Lcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;
+Lcom/android/server/autofill/RemoteFillService;
+Lcom/android/server/autofill/Session$1;
+Lcom/android/server/autofill/Session;
+Lcom/android/server/autofill/ViewState$Listener;
+Lcom/android/server/autofill/ViewState;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$56AC3ykfo4h_e2LSjdkJ3XQn370;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$H0BWucCEHDp2_3FUpZ9-CLDtxYQ;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$LjywPhTUqjU0ZUlG1crxBg8qhRA;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$VF2EbGE70QNyGDbklN9Uz5xHqyQ;
Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$Z-Di7CGd-L0nOI4i7_RO1FYbhgU;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$i7qTc5vqiej5Psbl-bIkD7js-Ao;
+Lcom/android/server/autofill/ui/-$$Lambda$E4J-3bUcyqJNd4ZlExSBhwy8Tx4;
+Lcom/android/server/autofill/ui/-$$Lambda$FillUi$AutofillWindowPresenter$N4xQe2B0oe5MBiqZlsy3Lb7vZTg;
+Lcom/android/server/autofill/ui/-$$Lambda$FillUi$FY016gv4LQ5AA6yOkKTH3EM5zaM;
+Lcom/android/server/autofill/ui/-$$Lambda$FillUi$ItemsAdapter$1$8s9zobTvKJVJjInaObtlx2flLMc;
+Lcom/android/server/autofill/ui/-$$Lambda$FillUi$QXIyKJs3cMApGd5ifauQkxdpdqk;
+Lcom/android/server/autofill/ui/-$$Lambda$FillUi$TUHYXtyYjvn8kBKxh1vyXjC9x84;
+Lcom/android/server/autofill/ui/AutoFillUI$1;
+Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;
Lcom/android/server/autofill/ui/AutoFillUI;
+Lcom/android/server/autofill/ui/FillUi$AnchoredWindow;
+Lcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;
+Lcom/android/server/autofill/ui/FillUi$Callback;
+Lcom/android/server/autofill/ui/FillUi$ItemsAdapter$1;
+Lcom/android/server/autofill/ui/FillUi$ItemsAdapter;
+Lcom/android/server/autofill/ui/FillUi$ViewItem;
+Lcom/android/server/autofill/ui/FillUi;
Lcom/android/server/autofill/ui/OverlayControl;
+Lcom/android/server/backup/-$$Lambda$-xfpm33S8Jqv3KpU_-llxhj8ZPI;
+Lcom/android/server/backup/-$$Lambda$TransportManager$4ND1hZMerK5gHU67okq6DZjKDQw;
+Lcom/android/server/backup/-$$Lambda$TransportManager$Qbutmzd17ICwZdy0UzRrO-3_VK0;
+Lcom/android/server/backup/-$$Lambda$TransportManager$Z9ckpFUW2V4jkdHnyXIEiLuAoBc;
+Lcom/android/server/backup/-$$Lambda$TransportManager$_dxJobf45tWiMkaNlKY-z26kB2Q;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$9w65wn45YYtTkXbyQZdj_7K5LSs;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$ICUfBQAK1UQkmGSsPDmR00etFBk;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$VpHOYQHCWBG618oharjEXEDr57U;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$9cuIH_XloqtNByp_6hXeGaVars8;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$TB8LUl0TwUK9CmmdepXioEU4Qxg;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$W51Aw9Pu9AOsFVYQgIZy31INmwI;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$_gNqJq9Ygtc0ZVwYhCSDKCUKrKY;
+Lcom/android/server/backup/-$$Lambda$UserBackupManagerService$sAYsrY5C5zAl7EgKgwo188kx6JE;
+Lcom/android/server/backup/-$$Lambda$pM_c5tVAGDtxjxLF_ONtACWWq6Q;
+Lcom/android/server/backup/BackupAgentTimeoutParameters;
+Lcom/android/server/backup/BackupManagerConstants;
Lcom/android/server/backup/BackupManagerService$Lifecycle;
Lcom/android/server/backup/BackupManagerService;
-Lcom/android/server/backup/Trampoline;
-Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$F4H2HbJPkB5kHnCG99RJzq63ETk;
-Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$HtA60PD2POS70xjo2Wkv9Ds3iIM;
-Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$d8jmYuo4MyZZpxoeouUPEq4DMII;
+Lcom/android/server/backup/BackupPasswordManager;
+Lcom/android/server/backup/BackupRestoreTask;
+Lcom/android/server/backup/BackupUtils;
+Lcom/android/server/backup/DataChangedJournal;
+Lcom/android/server/backup/FullBackupJob;
+Lcom/android/server/backup/KeyValueBackupJob;
+Lcom/android/server/backup/PackageManagerBackupAgent;
+Lcom/android/server/backup/ProcessedPackagesJournal;
+Lcom/android/server/backup/TransportManager;
+Lcom/android/server/backup/UserBackupManagerFilePersistedSettings;
+Lcom/android/server/backup/UserBackupManagerService$1;
+Lcom/android/server/backup/UserBackupManagerService$2;
+Lcom/android/server/backup/UserBackupManagerService$4;
+Lcom/android/server/backup/UserBackupManagerService;
+Lcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$SinglePackageBackupPreflight$hWbC3_rWMPrteAdbbM5aSW2SKD0;
+Lcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$ymLoQLrsEpmGaMrcudrdAgsU1Zk;
+Lcom/android/server/backup/fullbackup/AppMetadataBackupWriter;
+Lcom/android/server/backup/fullbackup/FullBackupEngine$FullBackupRunner;
+Lcom/android/server/backup/fullbackup/FullBackupEngine;
+Lcom/android/server/backup/fullbackup/FullBackupEntry;
+Lcom/android/server/backup/fullbackup/FullBackupPreflight;
+Lcom/android/server/backup/fullbackup/FullBackupTask;
+Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;
+Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;
+Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
+Lcom/android/server/backup/internal/-$$Lambda$BackupHandler$TJcRazGYTaUxjeiX6mPLlipfZUI;
+Lcom/android/server/backup/internal/BackupHandler;
+Lcom/android/server/backup/internal/OnTaskFinishedListener;
+Lcom/android/server/backup/internal/RunBackupReceiver;
+Lcom/android/server/backup/keyvalue/-$$Lambda$KeyValueBackupTask$NN2H32cNizGxrUxqHgqPqGldNsA;
+Lcom/android/server/backup/keyvalue/AgentException;
+Lcom/android/server/backup/keyvalue/BackupException;
+Lcom/android/server/backup/keyvalue/BackupRequest;
+Lcom/android/server/backup/keyvalue/KeyValueBackupReporter;
+Lcom/android/server/backup/keyvalue/KeyValueBackupTask;
+Lcom/android/server/backup/keyvalue/TaskException;
+Lcom/android/server/backup/remote/-$$Lambda$RemoteCall$UZaEiTGjS9e2j04YYkGl3Y2ltU4;
+Lcom/android/server/backup/remote/FutureBackupCallback;
+Lcom/android/server/backup/remote/RemoteCall;
+Lcom/android/server/backup/remote/RemoteCallable;
+Lcom/android/server/backup/remote/RemoteResult;
+Lcom/android/server/backup/restore/PerformUnifiedRestoreTask;
+Lcom/android/server/backup/restore/UnifiedRestoreState;
+Lcom/android/server/backup/transport/-$$Lambda$TransportClient$ciIUj0x0CRg93UETUpy2FB5aqCQ;
+Lcom/android/server/backup/transport/-$$Lambda$TransportClient$uc3fygwQjQIS_JT7mlt-yMBfJcE;
+Lcom/android/server/backup/transport/OnTransportRegisteredListener;
+Lcom/android/server/backup/transport/TransportClient$TransportConnection;
+Lcom/android/server/backup/transport/TransportClient;
+Lcom/android/server/backup/transport/TransportClientManager;
+Lcom/android/server/backup/transport/TransportConnectionListener;
+Lcom/android/server/backup/transport/TransportStats$Stats;
+Lcom/android/server/backup/transport/TransportStats;
+Lcom/android/server/backup/transport/TransportUtils;
+Lcom/android/server/backup/utils/AppBackupUtils;
+Lcom/android/server/backup/utils/BackupManagerMonitorUtils;
+Lcom/android/server/backup/utils/BackupObserverUtils;
+Lcom/android/server/backup/utils/DataStreamFileCodec;
+Lcom/android/server/backup/utils/FileUtils;
+Lcom/android/server/backup/utils/FullBackupUtils;
+Lcom/android/server/backup/utils/RandomAccessFileUtils;
Lcom/android/server/biometrics/AuthenticationClient;
Lcom/android/server/biometrics/BiometricService$1;
Lcom/android/server/biometrics/BiometricService$2;
-Lcom/android/server/biometrics/BiometricService$3;
-Lcom/android/server/biometrics/BiometricService$Authenticator;
+Lcom/android/server/biometrics/BiometricService$AuthSession;
Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;
-Lcom/android/server/biometrics/BiometricService$BiometricTaskStackListener;
Lcom/android/server/biometrics/BiometricService$EnabledOnKeyguardCallback;
Lcom/android/server/biometrics/BiometricService$SettingObserver;
Lcom/android/server/biometrics/BiometricService;
-Lcom/android/server/biometrics/BiometricServiceBase$1;
Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;
+Lcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;
Lcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;
Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
-Lcom/android/server/biometrics/BiometricServiceBase$H;
Lcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;
+Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$1;
Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$2;
Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;
-Lcom/android/server/biometrics/BiometricServiceBase$PerformanceStats;
Lcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;
Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;
Lcom/android/server/biometrics/BiometricServiceBase;
-Lcom/android/server/biometrics/BiometricUserState$1;
Lcom/android/server/biometrics/BiometricUserState;
Lcom/android/server/biometrics/BiometricUtils;
Lcom/android/server/biometrics/ClientMonitor;
Lcom/android/server/biometrics/EnumerateClient;
Lcom/android/server/biometrics/LoggableMonitor;
-Lcom/android/server/biometrics/Metrics;
Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$3I9ge5BoesXZUovbayCOCR754fc;
+Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$7nMWCt41OE3k8ihjPNPqB0O8POU;
+Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$N1Y2Zwqq-x5yDKQsDTj2KQ5q7g4;
+Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$cO88ecWuvWIBecLAEccxr5yeJK4;
Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$YOMIOLvco2SvXVeJIulOSVKdX7A;
-Lcom/android/server/biometrics/fingerprint/FingerprintMetrics;
Lcom/android/server/biometrics/fingerprint/FingerprintService$1;
Lcom/android/server/biometrics/fingerprint/FingerprintService$2;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$BiometricPromptServiceListenerImpl;
Lcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;
Lcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;
-Lcom/android/server/biometrics/fingerprint/FingerprintService$LockoutReceiver;
Lcom/android/server/biometrics/fingerprint/FingerprintService$ResetFailedAttemptsForUserRunnable;
Lcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;
Lcom/android/server/biometrics/fingerprint/FingerprintService;
Lcom/android/server/biometrics/fingerprint/FingerprintUserState;
Lcom/android/server/biometrics/fingerprint/FingerprintUtils;
-Lcom/android/server/broadcastradio/BroadcastRadioService;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$-h4udaDmWtN-rprVGi_U0x7oSJc;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$C_-9BcvTpHXxQ-jC-hu9LBHT0XU;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$QNBMPvImBEGMe4jaw6iOF4QPjns;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$QwopTG5nMx1CO2s6KecqSuCqviA;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$YlDkqdeYbHPdKcgZh23aJ5Yw8mg;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$mdqODkiuJlYCJRXqdXBC-d6vdp4;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$ndOBpfBmClsz77tzZfe3mvcA1lI;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$nm8WiKzJMmmFFCbXZdjr71O3V8Q;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$qR-bdRNnpcaEQYaUWeumt5lHhtY;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$yDfY5pWuRHaQpNiYhPjLkNUUrc0;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$yVJR7oPW6kDozlkthdDAOaT7L-4;
Lcom/android/server/broadcastradio/hal1/BroadcastRadioService;
Lcom/android/server/broadcastradio/hal1/Convert;
Lcom/android/server/broadcastradio/hal1/Tuner;
-Lcom/android/server/broadcastradio/hal1/TunerCallback$RunnableThrowingRemoteException;
Lcom/android/server/broadcastradio/hal1/TunerCallback;
-Lcom/android/server/camera/CameraServiceProxy$1;
Lcom/android/server/camera/CameraServiceProxy$2;
+Lcom/android/server/camera/CameraServiceProxy$CameraUsageEvent;
Lcom/android/server/camera/CameraServiceProxy;
Lcom/android/server/camera/CameraStatsJobService;
Lcom/android/server/clipboard/ClipboardService$ClipboardImpl;
Lcom/android/server/clipboard/ClipboardService;
+Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$0VKz9ecFqvfFXzRrfaz-Pf5wW2s;
Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$EelUlD0Ldboon98oq6H5kDCPW9I;
Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$IwZz9SPheLuA45R-qkZX_v1sHV4;
Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;
Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;
+Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$wnUkAY8uXyjMGM59-bNpzLLMJ1I;
Lcom/android/server/companion/CompanionDeviceManagerService$1;
+Lcom/android/server/companion/CompanionDeviceManagerService$Association;
Lcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;
Lcom/android/server/companion/CompanionDeviceManagerService;
+Lcom/android/server/compat/CompatChange;
+Lcom/android/server/compat/CompatConfig;
+Lcom/android/server/compat/PlatformCompat;
+Lcom/android/server/compat/PlatformCompatNative;
+Lcom/android/server/compat/config/Change;
+Lcom/android/server/compat/config/Config;
+Lcom/android/server/compat/config/XmlParser;
+Lcom/android/server/connectivity/-$$Lambda$DnsManager$PrivateDnsValidationStatuses$_X4_M08nKysv-L4hDpqAsa4SBxI;
Lcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;
Lcom/android/server/connectivity/-$$Lambda$MultipathPolicyTracker$2$dvyDLfu9d6g2XoEdL3QMHx7ut6k;
-Lcom/android/server/connectivity/-$$Lambda$Tethering$5JkghhOVq1MW7iK03DMZUSuLdFM;
-Lcom/android/server/connectivity/-$$Lambda$Tethering$CZZ1cyMeU7DUmSuQSKselF5XA5o;
-Lcom/android/server/connectivity/DataConnectionStats$1;
+Lcom/android/server/connectivity/-$$Lambda$Nat464Xlat$40jKHQd7R0zgcegyEyc9zPHKXVA;
+Lcom/android/server/connectivity/-$$Lambda$Nat464Xlat$PACHOP9HoYvr_jzHtIwFDy31Ud4;
Lcom/android/server/connectivity/DataConnectionStats;
Lcom/android/server/connectivity/DefaultNetworkMetrics;
+Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses$ValidationStatus;
+Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;
Lcom/android/server/connectivity/DnsManager;
+Lcom/android/server/connectivity/IpConnectivityEventBuilder;
Lcom/android/server/connectivity/IpConnectivityMetrics$Impl;
Lcom/android/server/connectivity/IpConnectivityMetrics$Logger;
Lcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;
Lcom/android/server/connectivity/IpConnectivityMetrics;
+Lcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;
Lcom/android/server/connectivity/KeepaliveTracker;
Lcom/android/server/connectivity/LingerMonitor;
Lcom/android/server/connectivity/MockableSystemProperties;
@@ -18904,81 +20912,81 @@ Lcom/android/server/connectivity/MultipathPolicyTracker$1;
Lcom/android/server/connectivity/MultipathPolicyTracker$2;
Lcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;
Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;
-Lcom/android/server/connectivity/MultipathPolicyTracker$SettingsObserver;
+Lcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;
Lcom/android/server/connectivity/MultipathPolicyTracker;
+Lcom/android/server/connectivity/Nat464Xlat$State;
Lcom/android/server/connectivity/Nat464Xlat;
Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
Lcom/android/server/connectivity/NetdEventListenerService;
+Lcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;
Lcom/android/server/connectivity/NetworkAgentInfo;
+Lcom/android/server/connectivity/NetworkDiagnostics$DnsResponseCode;
+Lcom/android/server/connectivity/NetworkDiagnostics$DnsUdpCheck;
+Lcom/android/server/connectivity/NetworkDiagnostics$IcmpCheck;
+Lcom/android/server/connectivity/NetworkDiagnostics$Measurement;
+Lcom/android/server/connectivity/NetworkDiagnostics$SimpleSocketCheck;
+Lcom/android/server/connectivity/NetworkDiagnostics;
+Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;
Lcom/android/server/connectivity/NetworkNotificationManager;
-Lcom/android/server/connectivity/PacManager$1;
-Lcom/android/server/connectivity/PacManager$PacRefreshIntentReceiver;
Lcom/android/server/connectivity/PacManager;
Lcom/android/server/connectivity/PermissionMonitor$PackageListObserver;
Lcom/android/server/connectivity/PermissionMonitor;
Lcom/android/server/connectivity/ProxyTracker;
Lcom/android/server/connectivity/TcpKeepaliveController;
-Lcom/android/server/connectivity/Tethering$3;
-Lcom/android/server/connectivity/Tethering$StateReceiver;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$ErrorState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$InitialState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$SetDnsForwardersErrorState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$SetIpForwardingDisabledErrorState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$SetIpForwardingEnabledErrorState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$StartTetheringErrorState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$StopTetheringErrorState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM$TetherModeAliveState;
-Lcom/android/server/connectivity/Tethering$TetherMasterSM;
-Lcom/android/server/connectivity/Tethering$TetherState;
-Lcom/android/server/connectivity/Tethering$TetheringUserRestrictionListener;
-Lcom/android/server/connectivity/Tethering;
Lcom/android/server/connectivity/Vpn$2;
+Lcom/android/server/connectivity/Vpn$Connection;
Lcom/android/server/connectivity/Vpn$SystemServices;
Lcom/android/server/connectivity/Vpn;
-Lcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$3TF0NI3fE8A-xW0925oMv3YzAOk;
-Lcom/android/server/connectivity/tethering/EntitlementManager;
-Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;
-Lcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;
-Lcom/android/server/connectivity/tethering/OffloadController;
-Lcom/android/server/connectivity/tethering/OffloadHardwareInterface$ForwardedStats;
-Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;
-Lcom/android/server/connectivity/tethering/TetheringConfiguration;
-Lcom/android/server/connectivity/tethering/TetheringDependencies;
-Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;
-Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;
Lcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;
+Lcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;
+Lcom/android/server/content/-$$Lambda$SyncManager$9EoLpTk5JrHZn9R-uS0lqCVrpRw;
Lcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;
+Lcom/android/server/content/-$$Lambda$SyncManager$EMXCZP9LDjgUTYbLsEoVu9Ccntw;
Lcom/android/server/content/-$$Lambda$SyncManager$HhiSFjEoPA_Hnv3xYZGfwkalc68;
+Lcom/android/server/content/-$$Lambda$SyncManager$XKEiBZ17uDgUCTwf_kh9_pH7usQ;
+Lcom/android/server/content/-$$Lambda$SyncManager$ag0YGuZ1oL06fytmNlyErbNyYcw;
Lcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;
+Lcom/android/server/content/-$$Lambda$SyncManager$pdoEVnuSkmOrvULQ9M7Ic-lU5vw;
+Lcom/android/server/content/-$$Lambda$SyncManager$rDUHWai3SU0BXk1TE0bLDap9gVc;
+Lcom/android/server/content/-$$Lambda$SyncManager$zZUXjd-GLFQgHtMQ3vq0EWHvir8;
Lcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;
Lcom/android/server/content/ContentService$1;
-Lcom/android/server/content/ContentService$3;
+Lcom/android/server/content/ContentService$2;
Lcom/android/server/content/ContentService$Lifecycle;
Lcom/android/server/content/ContentService$ObserverCall;
Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;
Lcom/android/server/content/ContentService$ObserverNode;
Lcom/android/server/content/ContentService;
+Lcom/android/server/content/SyncAdapterStateFetcher;
Lcom/android/server/content/SyncJobService;
Lcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;
Lcom/android/server/content/SyncLogger$RotatingFileLogger;
Lcom/android/server/content/SyncLogger;
Lcom/android/server/content/SyncManager$10;
Lcom/android/server/content/SyncManager$11;
-Lcom/android/server/content/SyncManager$1;
+Lcom/android/server/content/SyncManager$13;
+Lcom/android/server/content/SyncManager$14;
+Lcom/android/server/content/SyncManager$15;
Lcom/android/server/content/SyncManager$2;
Lcom/android/server/content/SyncManager$3;
-Lcom/android/server/content/SyncManager$4;
Lcom/android/server/content/SyncManager$5;
Lcom/android/server/content/SyncManager$6;
+Lcom/android/server/content/SyncManager$7;
Lcom/android/server/content/SyncManager$8;
Lcom/android/server/content/SyncManager$9;
+Lcom/android/server/content/SyncManager$AccountSyncStats;
+Lcom/android/server/content/SyncManager$ActiveSyncContext;
+Lcom/android/server/content/SyncManager$AuthoritySyncStats;
+Lcom/android/server/content/SyncManager$OnReadyCallback;
+Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck$1;
+Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;
+Lcom/android/server/content/SyncManager$PrintTable;
Lcom/android/server/content/SyncManager$SyncHandler;
Lcom/android/server/content/SyncManager$SyncTimeTracker;
Lcom/android/server/content/SyncManager;
Lcom/android/server/content/SyncManagerConstants;
+Lcom/android/server/content/SyncOperation;
Lcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;
-Lcom/android/server/content/SyncStorageEngine$AccountInfo;
Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
Lcom/android/server/content/SyncStorageEngine$DayStats;
Lcom/android/server/content/SyncStorageEngine$EndPoint;
@@ -18987,18 +20995,26 @@ Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;
Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;
Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;
Lcom/android/server/content/SyncStorageEngine;
-Lcom/android/server/contentcapture/-$$Lambda$ContentCaptureManagerService$mHKdlupOKTP3w3jJnNMhJi6ns5w;
+Lcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$yRaGuMutdbjMq9h32e3TC2_1a_A;
Lcom/android/server/contentcapture/ContentCaptureManagerInternal;
Lcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;
+Lcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;
Lcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;
Lcom/android/server/contentcapture/ContentCaptureManagerService;
+Lcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;
Lcom/android/server/contentcapture/ContentCapturePerUserService;
+Lcom/android/server/contentcapture/ContentCaptureServerSession;
Lcom/android/server/contentcapture/RemoteContentCaptureService$ContentCaptureServiceCallbacks;
-Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService$ContentSuggestionsManagerStub;
+Lcom/android/server/contentcapture/RemoteContentCaptureService;
+Lcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$Enqw46SYVKFK9F2xX4qUcIu5_3I;
+Lcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$VKh1DoMPNSPjPfnVGdsInmxuqzc;
+Lcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$eoGnQ2MDLLnW1UBX6wxNE1VBLAk;
+Lcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$yUTbcaYlZCYTmagCkNJ3i2VCkY4;
Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService;
Lcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;
-Lcom/android/server/coverage/CoverageService;
+Lcom/android/server/contentsuggestions/RemoteContentSuggestionsService;
Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;
+Lcom/android/server/devicepolicy/-$$Lambda$NetworkLoggingHandler$VKC_fB9Ws13yQKJ8zNkiF3Wp0Jk;
Lcom/android/server/devicepolicy/BaseIDevicePolicyManager;
Lcom/android/server/devicepolicy/CertificateMonitor$1;
Lcom/android/server/devicepolicy/CertificateMonitor;
@@ -19007,10 +21023,9 @@ Lcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServic
Lcom/android/server/devicepolicy/DeviceAdminServiceController;
Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
Lcom/android/server/devicepolicy/DevicePolicyConstants;
-Lcom/android/server/devicepolicy/DevicePolicyManagerService$1;
-Lcom/android/server/devicepolicy/DevicePolicyManagerService$2;
-Lcom/android/server/devicepolicy/DevicePolicyManagerService$3;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$4$1;
Lcom/android/server/devicepolicy/DevicePolicyManagerService$4;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$6;
Lcom/android/server/devicepolicy/DevicePolicyManagerService$8;
Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;
@@ -19021,6 +21036,10 @@ Lcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;
Lcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;
Lcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;
Lcom/android/server/devicepolicy/DevicePolicyManagerService;
+Lcom/android/server/devicepolicy/NetworkLogger$1;
+Lcom/android/server/devicepolicy/NetworkLogger;
+Lcom/android/server/devicepolicy/NetworkLoggingHandler$1;
+Lcom/android/server/devicepolicy/NetworkLoggingHandler;
Lcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;
Lcom/android/server/devicepolicy/OverlayPackagesProvider$Injector;
Lcom/android/server/devicepolicy/OverlayPackagesProvider;
@@ -19034,6 +21053,8 @@ Lcom/android/server/devicepolicy/SecurityLogMonitor;
Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;
Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
Lcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;
+Lcom/android/server/display/-$$Lambda$BrightnessTracker$_S_g5htVKYYPRPZzYSZzGdy7hM0;
+Lcom/android/server/display/-$$Lambda$BrightnessTracker$fmx2Mcw7OCEtRi9DwxxGQgA74fg;
Lcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;
Lcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;
Lcom/android/server/display/AmbientBrightnessStatsTracker$Clock;
@@ -19050,15 +21071,13 @@ Lcom/android/server/display/AutomaticBrightnessController;
Lcom/android/server/display/BrightnessIdleJob;
Lcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;
Lcom/android/server/display/BrightnessMappingStrategy;
-Lcom/android/server/display/BrightnessTracker$BrightnessChangeValues;
Lcom/android/server/display/BrightnessTracker$DisplayListener;
Lcom/android/server/display/BrightnessTracker$Injector;
-Lcom/android/server/display/BrightnessTracker$LightData;
Lcom/android/server/display/BrightnessTracker$Receiver;
Lcom/android/server/display/BrightnessTracker$SensorListener;
-Lcom/android/server/display/BrightnessTracker$SettingsObserver;
Lcom/android/server/display/BrightnessTracker$TrackerHandler;
Lcom/android/server/display/BrightnessTracker;
+Lcom/android/server/display/ColorFade$NaturalSurfaceLayout;
Lcom/android/server/display/ColorFade;
Lcom/android/server/display/DisplayAdapter$1;
Lcom/android/server/display/DisplayAdapter$2;
@@ -19067,7 +21086,6 @@ Lcom/android/server/display/DisplayAdapter;
Lcom/android/server/display/DisplayBlanker;
Lcom/android/server/display/DisplayDevice;
Lcom/android/server/display/DisplayDeviceInfo;
-Lcom/android/server/display/DisplayManagerService$1;
Lcom/android/server/display/DisplayManagerService$AllowedDisplayModeObserver;
Lcom/android/server/display/DisplayManagerService$BinderService;
Lcom/android/server/display/DisplayManagerService$CallbackRecord;
@@ -19079,9 +21097,13 @@ Lcom/android/server/display/DisplayManagerService$LocalService;
Lcom/android/server/display/DisplayManagerService$SyncRoot;
Lcom/android/server/display/DisplayManagerService;
Lcom/android/server/display/DisplayModeDirector$AppRequestObserver;
+Lcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener$1;
+Lcom/android/server/display/DisplayModeDirector$BrightnessObserver$LightSensorEventListener;
+Lcom/android/server/display/DisplayModeDirector$BrightnessObserver;
+Lcom/android/server/display/DisplayModeDirector$DeviceConfigDisplaySettings;
Lcom/android/server/display/DisplayModeDirector$DisplayModeDirectorHandler;
+Lcom/android/server/display/DisplayModeDirector$DisplayModeListener;
Lcom/android/server/display/DisplayModeDirector$DisplayObserver;
-Lcom/android/server/display/DisplayModeDirector$Listener;
Lcom/android/server/display/DisplayModeDirector$SettingsObserver;
Lcom/android/server/display/DisplayModeDirector$Vote;
Lcom/android/server/display/DisplayModeDirector;
@@ -19091,8 +21113,12 @@ Lcom/android/server/display/DisplayPowerController$3;
Lcom/android/server/display/DisplayPowerController$4;
Lcom/android/server/display/DisplayPowerController$5;
Lcom/android/server/display/DisplayPowerController$6;
+Lcom/android/server/display/DisplayPowerController$7;
Lcom/android/server/display/DisplayPowerController$8;
+Lcom/android/server/display/DisplayPowerController$BrightnessReason;
Lcom/android/server/display/DisplayPowerController$DisplayControllerHandler;
+Lcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;
+Lcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;
Lcom/android/server/display/DisplayPowerController$SettingsObserver;
Lcom/android/server/display/DisplayPowerController;
Lcom/android/server/display/DisplayPowerState$1;
@@ -19108,10 +21134,8 @@ Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;
Lcom/android/server/display/LocalDisplayAdapter$PhysicalDisplayEventReceiver;
Lcom/android/server/display/LocalDisplayAdapter;
Lcom/android/server/display/LogicalDisplay;
-Lcom/android/server/display/OverlayDisplayAdapter$1$1;
Lcom/android/server/display/OverlayDisplayAdapter$1;
Lcom/android/server/display/OverlayDisplayAdapter;
-Lcom/android/server/display/PersistentDataStore$1;
Lcom/android/server/display/PersistentDataStore$BrightnessConfigurations;
Lcom/android/server/display/PersistentDataStore$DisplayState;
Lcom/android/server/display/PersistentDataStore$Injector;
@@ -19120,13 +21144,13 @@ Lcom/android/server/display/PersistentDataStore;
Lcom/android/server/display/RampAnimator$1;
Lcom/android/server/display/RampAnimator$Listener;
Lcom/android/server/display/RampAnimator;
+Lcom/android/server/display/VirtualDisplayAdapter$Callback;
Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;
+Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;
Lcom/android/server/display/VirtualDisplayAdapter;
-Lcom/android/server/display/WifiDisplayAdapter;
Lcom/android/server/display/color/-$$Lambda$ColorDisplayService$3e7BuPerYILI5JPZm17hU11tDtY;
Lcom/android/server/display/color/AppSaturationController$SaturationController;
Lcom/android/server/display/color/AppSaturationController;
-Lcom/android/server/display/color/ColorDisplayService$1;
Lcom/android/server/display/color/ColorDisplayService$2;
Lcom/android/server/display/color/ColorDisplayService$3;
Lcom/android/server/display/color/ColorDisplayService$BinderService;
@@ -19139,36 +21163,34 @@ Lcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceListene
Lcom/android/server/display/color/ColorDisplayService$NightDisplayAutoMode;
Lcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;
Lcom/android/server/display/color/ColorDisplayService$TintHandler;
+Lcom/android/server/display/color/ColorDisplayService$TwilightNightDisplayAutoMode;
Lcom/android/server/display/color/ColorDisplayService;
Lcom/android/server/display/color/DisplayTransformManager;
Lcom/android/server/display/color/DisplayWhiteBalanceTintController;
Lcom/android/server/display/color/GlobalSaturationTintController;
Lcom/android/server/display/color/TintController;
-Lcom/android/server/display/utils/History;
-Lcom/android/server/display/utils/Plog$SystemPlog;
Lcom/android/server/display/utils/Plog;
-Lcom/android/server/display/utils/RollingBuffer;
-Lcom/android/server/display/whitebalance/AmbientFilter$WeightedMovingAverageAmbientFilter;
-Lcom/android/server/display/whitebalance/AmbientFilter;
-Lcom/android/server/display/whitebalance/AmbientSensor$1;
-Lcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor;
Lcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;
Lcom/android/server/display/whitebalance/AmbientSensor;
Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController$Callbacks;
Lcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;
-Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings$DisplayWhiteBalanceSettingsHandler;
-Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings$SettingsObserver;
Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;
+Lcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;
+Lcom/android/server/dreams/-$$Lambda$gXC4nM2f5GMCBX0ED45DCQQjqv0;
Lcom/android/server/dreams/DreamController$1;
-Lcom/android/server/dreams/DreamController$2;
+Lcom/android/server/dreams/DreamController$3;
+Lcom/android/server/dreams/DreamController$DreamRecord$1;
+Lcom/android/server/dreams/DreamController$DreamRecord$2;
+Lcom/android/server/dreams/DreamController$DreamRecord$3;
+Lcom/android/server/dreams/DreamController$DreamRecord$4;
+Lcom/android/server/dreams/DreamController$DreamRecord;
Lcom/android/server/dreams/DreamController$Listener;
Lcom/android/server/dreams/DreamController;
Lcom/android/server/dreams/DreamManagerService$1;
+Lcom/android/server/dreams/DreamManagerService$2;
+Lcom/android/server/dreams/DreamManagerService$3;
Lcom/android/server/dreams/DreamManagerService$4;
-Lcom/android/server/dreams/DreamManagerService$5;
-Lcom/android/server/dreams/DreamManagerService$6;
Lcom/android/server/dreams/DreamManagerService$BinderService;
-Lcom/android/server/dreams/DreamManagerService$DreamHandler;
Lcom/android/server/dreams/DreamManagerService$LocalService;
Lcom/android/server/dreams/DreamManagerService;
Lcom/android/server/emergency/EmergencyAffordanceService$1;
@@ -19183,10 +21205,8 @@ Lcom/android/server/firewall/CategoryFilter;
Lcom/android/server/firewall/Filter;
Lcom/android/server/firewall/FilterFactory;
Lcom/android/server/firewall/FilterList;
-Lcom/android/server/firewall/IntentFirewall$1;
Lcom/android/server/firewall/IntentFirewall$AMSInterface;
Lcom/android/server/firewall/IntentFirewall$FirewallHandler;
-Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;
Lcom/android/server/firewall/IntentFirewall$Rule;
Lcom/android/server/firewall/IntentFirewall$RuleObserver;
@@ -19217,67 +21237,43 @@ Lcom/android/server/firewall/StringFilter$6;
Lcom/android/server/firewall/StringFilter$7;
Lcom/android/server/firewall/StringFilter$8;
Lcom/android/server/firewall/StringFilter$9;
-Lcom/android/server/firewall/StringFilter$ContainsFilter;
-Lcom/android/server/firewall/StringFilter$EqualsFilter;
-Lcom/android/server/firewall/StringFilter$IsNullFilter;
-Lcom/android/server/firewall/StringFilter$PatternStringFilter;
-Lcom/android/server/firewall/StringFilter$RegexFilter;
-Lcom/android/server/firewall/StringFilter$StartsWithFilter;
Lcom/android/server/firewall/StringFilter$ValueProvider;
Lcom/android/server/firewall/StringFilter;
Lcom/android/server/gpu/GpuService$PackageReceiver;
-Lcom/android/server/gpu/GpuService$SettingsObserver;
Lcom/android/server/gpu/GpuService;
Lcom/android/server/hdmi/HdmiCecController;
-Lcom/android/server/hdmi/HdmiControlService;
Lcom/android/server/incident/IncidentCompanionService$BinderService;
Lcom/android/server/incident/IncidentCompanionService;
Lcom/android/server/incident/PendingReports;
-Lcom/android/server/incident/RequestQueue$1;
Lcom/android/server/incident/RequestQueue;
-Lcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$D8HGGcjBX_RP_b5u02Ee0u4nYKM;
+Lcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$1$TLhe3_2yHs5UB69Y7lf2s7OxJCo;
Lcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$_fKw-VUP0pSfcMMlgRqoT4OPhxw;
Lcom/android/server/infra/AbstractMasterSystemService$1;
Lcom/android/server/infra/AbstractMasterSystemService$SettingsObserver;
+Lcom/android/server/infra/AbstractMasterSystemService$Visitor;
Lcom/android/server/infra/AbstractMasterSystemService;
Lcom/android/server/infra/AbstractPerUserSystemService;
Lcom/android/server/infra/FrameworkResourcesServiceNameResolver;
Lcom/android/server/infra/SecureSettingsServiceNameResolver;
-Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;
Lcom/android/server/infra/ServiceNameResolver;
-Lcom/android/server/input/InputManagerService$10;
-Lcom/android/server/input/InputManagerService$11;
-Lcom/android/server/input/InputManagerService$12;
Lcom/android/server/input/InputManagerService$1;
Lcom/android/server/input/InputManagerService$2;
-Lcom/android/server/input/InputManagerService$3;
-Lcom/android/server/input/InputManagerService$4;
Lcom/android/server/input/InputManagerService$5;
-Lcom/android/server/input/InputManagerService$6;
-Lcom/android/server/input/InputManagerService$7;
-Lcom/android/server/input/InputManagerService$8;
-Lcom/android/server/input/InputManagerService$9;
+Lcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;
Lcom/android/server/input/InputManagerService$InputManagerHandler;
-Lcom/android/server/input/InputManagerService$KeyboardLayoutDescriptor;
Lcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;
Lcom/android/server/input/InputManagerService$LocalService;
Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;
Lcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;
Lcom/android/server/input/InputManagerService;
-Lcom/android/server/input/PersistentDataStore$InputDeviceState;
Lcom/android/server/input/PersistentDataStore;
-Lcom/android/server/inputmethod/-$$Lambda$BtVoYGfjUzT8tA4EGItlh1AhWS4;
Lcom/android/server/inputmethod/AdditionalSubtypeUtils;
Lcom/android/server/inputmethod/InputMethodManagerInternal$1;
Lcom/android/server/inputmethod/InputMethodManagerInternal;
Lcom/android/server/inputmethod/InputMethodManagerService$1;
-Lcom/android/server/inputmethod/InputMethodManagerService$2;
Lcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;
Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;
Lcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;
-Lcom/android/server/inputmethod/InputMethodManagerService$DebugFlags;
-Lcom/android/server/inputmethod/InputMethodManagerService$HardKeyboardListener;
-Lcom/android/server/inputmethod/InputMethodManagerService$ImeDisplayValidator;
Lcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForAllUsers;
Lcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiverForSystemUser;
Lcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;
@@ -19296,93 +21292,12 @@ Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRot
Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;
Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;
-Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;
Lcom/android/server/inputmethod/InputMethodUtils$1;
+Lcom/android/server/inputmethod/InputMethodUtils$InputMethodListBuilder;
Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;
Lcom/android/server/inputmethod/InputMethodUtils;
Lcom/android/server/inputmethod/LocaleUtils$LocaleExtractor;
-Lcom/android/server/job/-$$Lambda$JobConcurrencyManager$5dmb0pQscXPwEG6SBnhs7aCwpSs;
-Lcom/android/server/job/-$$Lambda$JobSchedulerService$AauD0it1BcgWldVm_V1m2Jo7_Zc;
-Lcom/android/server/job/-$$Lambda$JobSchedulerService$Lfddr1PhKRLtm92W7niRGMWO69M;
-Lcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;
-Lcom/android/server/job/-$$Lambda$JobSchedulerService$nXpbkYDrU0yC5DuTafFiblXBdTY;
-Lcom/android/server/job/-$$Lambda$JobStore$JobSet$D9839QVHHu4X-hnxouyIMkP5NWA;
-Lcom/android/server/job/-$$Lambda$JobStore$JobSet$id1Y3Yh8Y9sEb-njlNCUNay6U9k;
-Lcom/android/server/job/JobCompletedListener;
-Lcom/android/server/job/JobConcurrencyManager$1;
-Lcom/android/server/job/JobConcurrencyManager$JobCountTracker;
-Lcom/android/server/job/JobConcurrencyManager;
-Lcom/android/server/job/JobPackageTracker$DataSet;
-Lcom/android/server/job/JobPackageTracker;
-Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
-Lcom/android/server/job/JobSchedulerInternal;
-Lcom/android/server/job/JobSchedulerService$1;
-Lcom/android/server/job/JobSchedulerService$2;
-Lcom/android/server/job/JobSchedulerService$3;
-Lcom/android/server/job/JobSchedulerService$Constants;
-Lcom/android/server/job/JobSchedulerService$ConstantsObserver;
-Lcom/android/server/job/JobSchedulerService$DeferredJobCounter;
-Lcom/android/server/job/JobSchedulerService$HeartbeatAlarmListener;
-Lcom/android/server/job/JobSchedulerService$JobHandler;
-Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;
-Lcom/android/server/job/JobSchedulerService$LocalService;
-Lcom/android/server/job/JobSchedulerService$MaxJobCounts;
-Lcom/android/server/job/JobSchedulerService$MaxJobCountsPerMemoryTrimLevel;
-Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;
-Lcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;
-Lcom/android/server/job/JobSchedulerService$StandbyTracker;
-Lcom/android/server/job/JobSchedulerService$ThermalStatusListener;
-Lcom/android/server/job/JobSchedulerService;
-Lcom/android/server/job/JobServiceContext$JobServiceHandler;
-Lcom/android/server/job/JobServiceContext;
-Lcom/android/server/job/JobStore$1;
-Lcom/android/server/job/JobStore$JobSet;
-Lcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;
-Lcom/android/server/job/JobStore;
-Lcom/android/server/job/StateChangedListener;
-Lcom/android/server/job/controllers/-$$Lambda$QuotaController$Nr0Q3oPwHBGHfHSdpzIm80t7M7s;
-Lcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$HBosnPX15xU_maD6xbBsC7aJqOU;
-Lcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$UNCXPiY4xGPFhTnC-LuVzvqiAl4;
-Lcom/android/server/job/controllers/BackgroundJobsController$1;
-Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;
-Lcom/android/server/job/controllers/BackgroundJobsController;
-Lcom/android/server/job/controllers/BatteryController$ChargingTracker;
-Lcom/android/server/job/controllers/BatteryController;
-Lcom/android/server/job/controllers/ConnectivityController$1;
-Lcom/android/server/job/controllers/ConnectivityController$2;
-Lcom/android/server/job/controllers/ConnectivityController$CcHandler;
-Lcom/android/server/job/controllers/ConnectivityController;
-Lcom/android/server/job/controllers/ContentObserverController;
-Lcom/android/server/job/controllers/DeviceIdleJobsController$1;
-Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;
-Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;
-Lcom/android/server/job/controllers/DeviceIdleJobsController;
-Lcom/android/server/job/controllers/IdleController;
-Lcom/android/server/job/controllers/JobStatus;
-Lcom/android/server/job/controllers/QuotaController$1;
-Lcom/android/server/job/controllers/QuotaController$2;
-Lcom/android/server/job/controllers/QuotaController$ChargingTracker;
-Lcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor$1;
-Lcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor;
-Lcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;
-Lcom/android/server/job/controllers/QuotaController$ExecutionStats;
-Lcom/android/server/job/controllers/QuotaController$QcAlarmListener;
-Lcom/android/server/job/controllers/QuotaController$QcHandler;
-Lcom/android/server/job/controllers/QuotaController$StandbyTracker;
-Lcom/android/server/job/controllers/QuotaController$Timer;
-Lcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;
-Lcom/android/server/job/controllers/QuotaController$UserPackageMap;
-Lcom/android/server/job/controllers/QuotaController;
-Lcom/android/server/job/controllers/StateController;
-Lcom/android/server/job/controllers/StorageController$StorageTracker;
-Lcom/android/server/job/controllers/StorageController;
-Lcom/android/server/job/controllers/TimeController$1;
-Lcom/android/server/job/controllers/TimeController$2;
-Lcom/android/server/job/controllers/TimeController;
-Lcom/android/server/job/controllers/idle/-$$Lambda$DeviceIdlenessTracker$-H1-ZwZAJ-vh10A0PeYXaZLj_R0;
-Lcom/android/server/job/controllers/idle/DeviceIdlenessTracker;
-Lcom/android/server/job/controllers/idle/IdlenessListener;
-Lcom/android/server/job/controllers/idle/IdlenessTracker;
+Lcom/android/server/inputmethod/LocaleUtils;
Lcom/android/server/lights/Light;
Lcom/android/server/lights/LightsManager;
Lcom/android/server/lights/LightsService$1;
@@ -19390,10 +21305,16 @@ Lcom/android/server/lights/LightsService$2;
Lcom/android/server/lights/LightsService$LightImpl;
Lcom/android/server/lights/LightsService;
Lcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;
+Lcom/android/server/location/-$$Lambda$ActivityRecognitionProxy$1$d2hvjp-Sk2zwb2N0mtEiubZ0jBE;
Lcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;
-Lcom/android/server/location/-$$Lambda$ContextHubClientBroker$P9IUEzaG4gP8jALe00of9jdlrGw;
+Lcom/android/server/location/-$$Lambda$ContextHubClientBroker$iBGtMeLZ6k5dYJZb_VEUfBBYh9s;
+Lcom/android/server/location/-$$Lambda$ContextHubClientBroker$ykmLCadaR6NcV4R42i4K8zw4AWs;
+Lcom/android/server/location/-$$Lambda$ContextHubClientManager$VPD5ebhe8Z67S8QKuTR4KzeshK8;
Lcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;
-Lcom/android/server/location/-$$Lambda$ContextHubTransactionManager$sHbjr4TaLEATkCX_yhD2L7ebuxE;
+Lcom/android/server/location/-$$Lambda$ContextHubClientManager$gN_vRogwyzr9qBjrQpKwwHzrFAo;
+Lcom/android/server/location/-$$Lambda$ContextHubService$HPGvKluemttyVfAcSog-eXiJyHE;
+Lcom/android/server/location/-$$Lambda$ContextHubService$yrt4Ybb62ufyqsQQMJoTJ2JMw_4;
+Lcom/android/server/location/-$$Lambda$GeocoderProxy$jfLn3HL2BzwsKdoI6ZZeFfEe10k;
Lcom/android/server/location/-$$Lambda$GeofenceProxy$nfSKchjbT2ANT9GbYwyAcTjzBwQ;
Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;
Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;
@@ -19402,38 +21323,45 @@ Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSG
Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;
Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;
Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;
-Lcom/android/server/location/-$$Lambda$GnssLocationProvider$66Ps_H__HqfpDfa8sAGZy2xaKsc;
Lcom/android/server/location/-$$Lambda$GnssLocationProvider$Q6M8z_ZBiD7BNs3kvNmVrqoHSng;
-Lcom/android/server/location/-$$Lambda$GnssLocationProvider$WbIUWqWbiKrZx6NHwSpsFU1pHKI;
-Lcom/android/server/location/-$$Lambda$GnssLocationProvider$rE3aXybVXWDfHPxCjEXzxG9bPmo;
+Lcom/android/server/location/-$$Lambda$GnssMeasurementsProvider$Qlkb-fzzYggD17FlZmrylRJr2vE;
+Lcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$YEGTN3glQ7Hr1FK-xXGbC4KcmJY;
+Lcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$aTyNcuGLHmJGtXKl9qoZpMmhfBY;
+Lcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$axxNnxmo3KqgsSDot69yokC4KVE;
+Lcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$6s2HBSMgP5pXrugfCvtIf9QHndI;
+Lcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$AtHI8E6PAjonHH1N0ZGabW0VF6c;
+Lcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;
Lcom/android/server/location/-$$Lambda$LocationProviderProxy$2$QT3uzVX4fLIc1b7F_cP9P1hzluA;
-Lcom/android/server/location/-$$Lambda$LocationProviderProxy$p3DjIvk7Of_sUF4Dc9plMNfdklc;
+Lcom/android/server/location/-$$Lambda$NtpTimeHelper$xPxgficKWFyuwUj60WMuiGEEjdg;
+Lcom/android/server/location/-$$Lambda$NtpTimeHelper$xWqlqJuq4jBJ5-xhFLCwEKGVB0k;
Lcom/android/server/location/-$$Lambda$RemoteListenerHelper$0Rlnad83RE1JdiVK0ULOLm530JM;
Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;
Lcom/android/server/location/AbstractLocationProvider;
Lcom/android/server/location/ActivityRecognitionProxy$1;
Lcom/android/server/location/ActivityRecognitionProxy;
-Lcom/android/server/location/CallerIdentity;
Lcom/android/server/location/ComprehensiveCountryDetector$1;
Lcom/android/server/location/ComprehensiveCountryDetector$2;
+Lcom/android/server/location/ComprehensiveCountryDetector$4;
Lcom/android/server/location/ComprehensiveCountryDetector;
Lcom/android/server/location/ContextHubClientBroker$CallbackConsumer;
Lcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;
Lcom/android/server/location/ContextHubClientBroker;
Lcom/android/server/location/ContextHubClientManager;
Lcom/android/server/location/ContextHubService$1;
+Lcom/android/server/location/ContextHubService$2;
+Lcom/android/server/location/ContextHubService$3;
Lcom/android/server/location/ContextHubService$4;
Lcom/android/server/location/ContextHubService$ContextHubServiceCallback;
Lcom/android/server/location/ContextHubService;
Lcom/android/server/location/ContextHubServiceTransaction;
Lcom/android/server/location/ContextHubServiceUtil;
+Lcom/android/server/location/ContextHubTransactionManager$1;
+Lcom/android/server/location/ContextHubTransactionManager$2;
Lcom/android/server/location/ContextHubTransactionManager$5;
Lcom/android/server/location/ContextHubTransactionManager;
Lcom/android/server/location/CountryDetectorBase;
Lcom/android/server/location/ExponentialBackOff;
Lcom/android/server/location/GeocoderProxy;
-Lcom/android/server/location/GeofenceManager$1;
-Lcom/android/server/location/GeofenceManager$GeofenceHandler;
Lcom/android/server/location/GeofenceManager;
Lcom/android/server/location/GeofenceProxy$1;
Lcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;
@@ -19447,18 +21375,8 @@ Lcom/android/server/location/GnssConfiguration;
Lcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;
Lcom/android/server/location/GnssGeofenceProvider;
Lcom/android/server/location/GnssLocationProvider$1;
-Lcom/android/server/location/GnssLocationProvider$2;
Lcom/android/server/location/GnssLocationProvider$3;
Lcom/android/server/location/GnssLocationProvider$4;
-Lcom/android/server/location/GnssLocationProvider$5;
-Lcom/android/server/location/GnssLocationProvider$6;
-Lcom/android/server/location/GnssLocationProvider$7;
-Lcom/android/server/location/GnssLocationProvider$8;
-Lcom/android/server/location/GnssLocationProvider$9;
-Lcom/android/server/location/GnssLocationProvider$FusedLocationListener;
-Lcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;
-Lcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;
-Lcom/android/server/location/GnssLocationProvider$GpsRequest;
Lcom/android/server/location/GnssLocationProvider$LocationChangeListener;
Lcom/android/server/location/GnssLocationProvider$LocationExtras;
Lcom/android/server/location/GnssLocationProvider$NetworkLocationListener;
@@ -19467,22 +21385,23 @@ Lcom/android/server/location/GnssLocationProvider;
Lcom/android/server/location/GnssMeasurementCorrectionsProvider$GnssMeasurementCorrectionsProviderNative;
Lcom/android/server/location/GnssMeasurementCorrectionsProvider;
Lcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;
+Lcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;
Lcom/android/server/location/GnssMeasurementsProvider;
Lcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;
-Lcom/android/server/location/GnssNavigationMessageProvider$StatusChangedOperation;
Lcom/android/server/location/GnssNavigationMessageProvider;
Lcom/android/server/location/GnssNetworkConnectivityHandler$1;
Lcom/android/server/location/GnssNetworkConnectivityHandler$2;
Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;
Lcom/android/server/location/GnssNetworkConnectivityHandler;
+Lcom/android/server/location/GnssPositionMode;
Lcom/android/server/location/GnssSatelliteBlacklistHelper$1;
Lcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;
Lcom/android/server/location/GnssSatelliteBlacklistHelper;
Lcom/android/server/location/GnssStatusListenerHelper;
Lcom/android/server/location/GnssVisibilityControl;
+Lcom/android/server/location/LocationBasedCountryDetector$1;
+Lcom/android/server/location/LocationBasedCountryDetector$3;
Lcom/android/server/location/LocationBasedCountryDetector;
-Lcom/android/server/location/LocationBlacklist;
-Lcom/android/server/location/LocationFudger$1;
Lcom/android/server/location/LocationFudger;
Lcom/android/server/location/LocationProviderProxy$1;
Lcom/android/server/location/LocationProviderProxy$2;
@@ -19494,13 +21413,16 @@ Lcom/android/server/location/NanoAppStateManager;
Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;
Lcom/android/server/location/NtpTimeHelper;
Lcom/android/server/location/PassiveProvider;
+Lcom/android/server/location/RemoteListenerHelper$1;
+Lcom/android/server/location/RemoteListenerHelper$HandlerRunnable;
Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
Lcom/android/server/location/RemoteListenerHelper;
Lcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;
+Lcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$aWnbfYziDTrRrLqWFePMTj6-dy0;
+Lcom/android/server/locksettings/LockSettingsService$1;
Lcom/android/server/locksettings/LockSettingsService$2;
+Lcom/android/server/locksettings/LockSettingsService$3;
Lcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;
-Lcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;
-Lcom/android/server/locksettings/LockSettingsService$Injector$1;
Lcom/android/server/locksettings/LockSettingsService$Injector;
Lcom/android/server/locksettings/LockSettingsService$Lifecycle;
Lcom/android/server/locksettings/LockSettingsService$LocalService;
@@ -19508,44 +21430,48 @@ Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTrack
Lcom/android/server/locksettings/LockSettingsService;
Lcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;
Lcom/android/server/locksettings/LockSettingsStorage$Cache;
-Lcom/android/server/locksettings/LockSettingsStorage$Callback;
-Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
Lcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;
Lcom/android/server/locksettings/LockSettingsStorage;
Lcom/android/server/locksettings/LockSettingsStrongAuth$1;
+Lcom/android/server/locksettings/LockSettingsStrongAuth$StrongAuthTimeoutAlarmListener;
Lcom/android/server/locksettings/LockSettingsStrongAuth;
Lcom/android/server/locksettings/PasswordSlotManager;
+Lcom/android/server/locksettings/SP800Derive;
+Lcom/android/server/locksettings/SyntheticPasswordCrypto;
+Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;
Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;
Lcom/android/server/locksettings/SyntheticPasswordManager;
-Lcom/android/server/locksettings/recoverablekeystore/InsecureUserException;
Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;
Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;
+Lcom/android/server/locksettings/recoverablekeystore/KeySyncTask;
+Lcom/android/server/locksettings/recoverablekeystore/KeySyncUtils;
+Lcom/android/server/locksettings/recoverablekeystore/PlatformDecryptionKey;
+Lcom/android/server/locksettings/recoverablekeystore/PlatformEncryptionKey;
Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;
Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;
-Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStorageException;
Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;
+Lcom/android/server/locksettings/recoverablekeystore/SecureBox$AesGcmOperation;
+Lcom/android/server/locksettings/recoverablekeystore/SecureBox;
Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;
-Lcom/android/server/locksettings/recoverablekeystore/certificate/CertParsingException;
-Lcom/android/server/locksettings/recoverablekeystore/certificate/CertValidationException;
-Lcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotParserException;
+Lcom/android/server/locksettings/recoverablekeystore/WrappedKey;
+Lcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;
+Lcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;
+Lcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;
+Lcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;
+Lcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotSerializer;
Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;
-Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager$1;
Lcom/android/server/locksettings/recoverablekeystore/storage/CleanupManager;
Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;
Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;
-Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;
Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;
-Lcom/android/server/media/-$$Lambda$MediaSessionServiceImpl$a3VtB0CQuvV4UG4nWgvCgkL6hec;
Lcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;
Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;
Lcom/android/server/media/AudioPlayerStateMonitor;
Lcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;
Lcom/android/server/media/MediaResourceMonitorService;
-Lcom/android/server/media/MediaRoute2ProviderProxy$Callback;
Lcom/android/server/media/MediaRoute2ProviderWatcher$1;
Lcom/android/server/media/MediaRoute2ProviderWatcher$2;
-Lcom/android/server/media/MediaRoute2ProviderWatcher$Callback;
Lcom/android/server/media/MediaRoute2ProviderWatcher;
Lcom/android/server/media/MediaRouterService$1$1;
Lcom/android/server/media/MediaRouterService$1;
@@ -19553,36 +21479,22 @@ Lcom/android/server/media/MediaRouterService$2;
Lcom/android/server/media/MediaRouterService$3;
Lcom/android/server/media/MediaRouterService$ClientRecord;
Lcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;
+Lcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;
Lcom/android/server/media/MediaRouterService$UserHandler;
+Lcom/android/server/media/MediaRouterService$UserRecord$1;
Lcom/android/server/media/MediaRouterService$UserRecord;
Lcom/android/server/media/MediaRouterService;
+Lcom/android/server/media/MediaSessionRecord$2;
Lcom/android/server/media/MediaSessionRecord$3;
Lcom/android/server/media/MediaSessionRecord$ControllerStub;
Lcom/android/server/media/MediaSessionRecord$MessageHandler;
Lcom/android/server/media/MediaSessionRecord$SessionCb;
Lcom/android/server/media/MediaSessionRecord$SessionStub;
Lcom/android/server/media/MediaSessionRecord;
-Lcom/android/server/media/MediaSessionService$ServiceImpl;
Lcom/android/server/media/MediaSessionService;
-Lcom/android/server/media/MediaSessionServiceImpl$1;
-Lcom/android/server/media/MediaSessionServiceImpl$Controller2Callback;
-Lcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;
-Lcom/android/server/media/MediaSessionServiceImpl$MessageHandler;
-Lcom/android/server/media/MediaSessionServiceImpl$Session2TokensListenerRecord;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$1;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$2;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$3;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$4;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$5;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$KeyEventWakeLockReceiver;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$MediaKeyListenerResultReceiver;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;
-Lcom/android/server/media/MediaSessionServiceImpl$SessionsListenerRecord;
-Lcom/android/server/media/MediaSessionServiceImpl$SettingsObserver;
-Lcom/android/server/media/MediaSessionServiceImpl;
-Lcom/android/server/media/MediaSessionStack$OnMediaButtonSessionChangedListener;
Lcom/android/server/media/MediaSessionStack;
Lcom/android/server/media/RemoteDisplayProviderProxy$Callback;
+Lcom/android/server/media/RemoteDisplayProviderProxy;
Lcom/android/server/media/RemoteDisplayProviderWatcher$1;
Lcom/android/server/media/RemoteDisplayProviderWatcher$2;
Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;
@@ -19591,23 +21503,17 @@ Lcom/android/server/media/projection/MediaProjectionManagerService$1;
Lcom/android/server/media/projection/MediaProjectionManagerService$2;
Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;
Lcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;
-Lcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;
Lcom/android/server/media/projection/MediaProjectionManagerService;
Lcom/android/server/midi/MidiService$1;
Lcom/android/server/midi/MidiService$Lifecycle;
Lcom/android/server/midi/MidiService;
Lcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;
-Lcom/android/server/net/DelayedDiskWrite$Writer;
-Lcom/android/server/net/DelayedDiskWrite;
Lcom/android/server/net/IpConfigStore;
-Lcom/android/server/net/LockdownVpnTracker;
Lcom/android/server/net/NetworkIdentitySet;
Lcom/android/server/net/NetworkPolicyLogger$Data;
Lcom/android/server/net/NetworkPolicyLogger$LogBuffer;
Lcom/android/server/net/NetworkPolicyLogger;
Lcom/android/server/net/NetworkPolicyManagerInternal;
-Lcom/android/server/net/NetworkPolicyManagerService$10;
-Lcom/android/server/net/NetworkPolicyManagerService$11;
Lcom/android/server/net/NetworkPolicyManagerService$12;
Lcom/android/server/net/NetworkPolicyManagerService$13;
Lcom/android/server/net/NetworkPolicyManagerService$14;
@@ -19619,35 +21525,31 @@ Lcom/android/server/net/NetworkPolicyManagerService$1;
Lcom/android/server/net/NetworkPolicyManagerService$2;
Lcom/android/server/net/NetworkPolicyManagerService$3;
Lcom/android/server/net/NetworkPolicyManagerService$4;
-Lcom/android/server/net/NetworkPolicyManagerService$5;
Lcom/android/server/net/NetworkPolicyManagerService$6;
Lcom/android/server/net/NetworkPolicyManagerService$7;
-Lcom/android/server/net/NetworkPolicyManagerService$8;
Lcom/android/server/net/NetworkPolicyManagerService$9;
-Lcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;
Lcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;
Lcom/android/server/net/NetworkPolicyManagerService;
Lcom/android/server/net/NetworkStatsAccess;
Lcom/android/server/net/NetworkStatsCollection$Key;
Lcom/android/server/net/NetworkStatsCollection;
+Lcom/android/server/net/NetworkStatsFactory;
Lcom/android/server/net/NetworkStatsManagerInternal;
Lcom/android/server/net/NetworkStatsObservers$1;
-Lcom/android/server/net/NetworkStatsObservers$StatsContext;
+Lcom/android/server/net/NetworkStatsObservers$NetworkUsageRequestInfo;
+Lcom/android/server/net/NetworkStatsObservers$RequestInfo;
Lcom/android/server/net/NetworkStatsObservers;
Lcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;
+Lcom/android/server/net/NetworkStatsRecorder$RemoveUidRewriter;
Lcom/android/server/net/NetworkStatsRecorder;
+Lcom/android/server/net/NetworkStatsService$1;
Lcom/android/server/net/NetworkStatsService$2;
Lcom/android/server/net/NetworkStatsService$3;
Lcom/android/server/net/NetworkStatsService$4;
-Lcom/android/server/net/NetworkStatsService$5;
-Lcom/android/server/net/NetworkStatsService$6;
Lcom/android/server/net/NetworkStatsService$7;
Lcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;
-Lcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;
Lcom/android/server/net/NetworkStatsService$HandlerCallback;
-Lcom/android/server/net/NetworkStatsService$NetworkStatsHandler;
Lcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;
-Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;
Lcom/android/server/net/NetworkStatsService;
Lcom/android/server/net/watchlist/-$$Lambda$WatchlistLoggingHandler$GBD0dX6RhipHIkM0Z_B5jLlwfHQ;
@@ -19656,17 +21558,18 @@ Lcom/android/server/net/watchlist/HarmfulDigests;
Lcom/android/server/net/watchlist/NetworkWatchlistService$1;
Lcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;
Lcom/android/server/net/watchlist/NetworkWatchlistService;
+Lcom/android/server/net/watchlist/PrivacyUtils;
+Lcom/android/server/net/watchlist/ReportEncoder;
Lcom/android/server/net/watchlist/ReportWatchlistJobService;
-Lcom/android/server/net/watchlist/WatchlistConfig$CrcShaDigests;
Lcom/android/server/net/watchlist/WatchlistConfig;
Lcom/android/server/net/watchlist/WatchlistLoggingHandler;
-Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;
Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
Lcom/android/server/net/watchlist/WatchlistSettings;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$11$zVdn9N0ybkMxz8xM8Qa1AXowlic;
Lcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;
-Lcom/android/server/notification/-$$Lambda$NotificationManagerService$Ehw7Jxsy3ZIwTcAa2DFsHjIULas;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$3bretMyG2YyNFKU5plLQgmxuGr0;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Srt8NNqA1xJUAp_7nDU6CBZJm_0;
Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;
-Lcom/android/server/notification/-$$Lambda$NotificationManagerService$mkOVEu4VRfQOE4k1xkRpG9Mcl_U;
Lcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;
Lcom/android/server/notification/-$$Lambda$V4J7df5A6vhSIuw7Ym9xgkfahto;
Lcom/android/server/notification/AlertRateLimiter;
@@ -19679,10 +21582,8 @@ Lcom/android/server/notification/CalendarTracker;
Lcom/android/server/notification/ConditionProviders$Callback;
Lcom/android/server/notification/ConditionProviders$ConditionRecord;
Lcom/android/server/notification/ConditionProviders;
-Lcom/android/server/notification/CountdownConditionProvider$Receiver;
Lcom/android/server/notification/CountdownConditionProvider;
Lcom/android/server/notification/CriticalNotificationExtractor;
-Lcom/android/server/notification/EventConditionProvider$1;
Lcom/android/server/notification/EventConditionProvider$2;
Lcom/android/server/notification/EventConditionProvider$3;
Lcom/android/server/notification/EventConditionProvider$4;
@@ -19691,38 +21592,42 @@ Lcom/android/server/notification/GlobalSortKeyComparator;
Lcom/android/server/notification/GroupHelper$Callback;
Lcom/android/server/notification/GroupHelper;
Lcom/android/server/notification/ImportanceExtractor;
+Lcom/android/server/notification/ManagedServices$1$1;
Lcom/android/server/notification/ManagedServices$1;
-Lcom/android/server/notification/ManagedServices$Config;
Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
Lcom/android/server/notification/ManagedServices$UserProfiles;
Lcom/android/server/notification/ManagedServices;
Lcom/android/server/notification/NotificationAdjustmentExtractor;
Lcom/android/server/notification/NotificationChannelExtractor;
-Lcom/android/server/notification/NotificationComparator$1;
Lcom/android/server/notification/NotificationComparator;
Lcom/android/server/notification/NotificationDelegate;
+Lcom/android/server/notification/NotificationIntrusivenessExtractor$1;
Lcom/android/server/notification/NotificationIntrusivenessExtractor;
Lcom/android/server/notification/NotificationManagerInternal;
Lcom/android/server/notification/NotificationManagerService$10$1;
Lcom/android/server/notification/NotificationManagerService$10;
Lcom/android/server/notification/NotificationManagerService$11;
+Lcom/android/server/notification/NotificationManagerService$13;
Lcom/android/server/notification/NotificationManagerService$14;
-Lcom/android/server/notification/NotificationManagerService$16;
+Lcom/android/server/notification/NotificationManagerService$15;
Lcom/android/server/notification/NotificationManagerService$1;
Lcom/android/server/notification/NotificationManagerService$2;
-Lcom/android/server/notification/NotificationManagerService$3;
Lcom/android/server/notification/NotificationManagerService$4;
Lcom/android/server/notification/NotificationManagerService$5;
Lcom/android/server/notification/NotificationManagerService$6;
Lcom/android/server/notification/NotificationManagerService$7;
-Lcom/android/server/notification/NotificationManagerService$8;
Lcom/android/server/notification/NotificationManagerService$9;
Lcom/android/server/notification/NotificationManagerService$Archive;
Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;
+Lcom/android/server/notification/NotificationManagerService$DumpFilter;
Lcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;
Lcom/android/server/notification/NotificationManagerService$FlagChecker;
Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
Lcom/android/server/notification/NotificationManagerService$NotificationListeners$2;
+Lcom/android/server/notification/NotificationManagerService$NotificationListeners$3;
+Lcom/android/server/notification/NotificationManagerService$NotificationListeners$4;
+Lcom/android/server/notification/NotificationManagerService$NotificationListeners$5;
+Lcom/android/server/notification/NotificationManagerService$NotificationListeners$6;
Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$1;
Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;
@@ -19742,21 +21647,22 @@ Lcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;
Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;
Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;
Lcom/android/server/notification/NotificationUsageStats;
+Lcom/android/server/notification/PreferencesHelper$Delegate;
Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
Lcom/android/server/notification/PreferencesHelper;
Lcom/android/server/notification/PriorityExtractor;
-Lcom/android/server/notification/PropConfig;
Lcom/android/server/notification/RankingConfig;
Lcom/android/server/notification/RankingHandler;
Lcom/android/server/notification/RankingHelper;
+Lcom/android/server/notification/RankingReconsideration;
Lcom/android/server/notification/RateEstimator;
Lcom/android/server/notification/ScheduleConditionProvider$1;
Lcom/android/server/notification/ScheduleConditionProvider;
-Lcom/android/server/notification/SnoozeHelper$1;
-Lcom/android/server/notification/SnoozeHelper$Callback;
Lcom/android/server/notification/SnoozeHelper;
Lcom/android/server/notification/SystemConditionProviderService;
Lcom/android/server/notification/ValidateNotificationPeople$1;
+Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
+Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
Lcom/android/server/notification/ValidateNotificationPeople;
Lcom/android/server/notification/VisibilityExtractor;
Lcom/android/server/notification/ZenLog;
@@ -19765,12 +21671,12 @@ Lcom/android/server/notification/ZenModeExtractor;
Lcom/android/server/notification/ZenModeFiltering$RepeatCallers;
Lcom/android/server/notification/ZenModeFiltering;
Lcom/android/server/notification/ZenModeHelper$Callback;
-Lcom/android/server/notification/ZenModeHelper$H$ConfigMessageData;
Lcom/android/server/notification/ZenModeHelper$H;
Lcom/android/server/notification/ZenModeHelper$Metrics;
Lcom/android/server/notification/ZenModeHelper$RingerModeDelegate;
Lcom/android/server/notification/ZenModeHelper$SettingsObserver;
Lcom/android/server/notification/ZenModeHelper;
+Lcom/android/server/oemlock/-$$Lambda$VendorLock$HjegvthxXAHFarV_FukbaMGePGU;
Lcom/android/server/oemlock/OemLock;
Lcom/android/server/oemlock/OemLockService$1;
Lcom/android/server/oemlock/OemLockService$2;
@@ -19779,26 +21685,24 @@ Lcom/android/server/oemlock/VendorLock;
Lcom/android/server/om/-$$Lambda$OverlayManagerService$OverlayChangeListener$u9oeN2C0PDMo0pYiLqfMBkwuMNA;
Lcom/android/server/om/-$$Lambda$OverlayManagerService$_WGEV7N0qhntbqqDW3A1O-TVv5o;
Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$Fjt465P6G89HQZERZFsOEjMbtXI;
Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$L_Sj43p2Txm_KH-wT0lseBTVzh8;
Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;
-Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$bX7CTrJVR3B_eQmD43OOHtRIxgw;
Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;
-Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$mq-CHAn1jQBVquxuOUv0eQANHIY;
Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;
Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;
Lcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;
-Lcom/android/server/om/IdmapManager$1;
Lcom/android/server/om/IdmapManager;
+Lcom/android/server/om/OverlayActorEnforcer$VerifyCallback;
Lcom/android/server/om/OverlayManagerService$1;
Lcom/android/server/om/OverlayManagerService$OverlayChangeListener;
Lcom/android/server/om/OverlayManagerService$PackageManagerHelper;
Lcom/android/server/om/OverlayManagerService$PackageReceiver;
-Lcom/android/server/om/OverlayManagerService$UserReceiver;
Lcom/android/server/om/OverlayManagerService;
Lcom/android/server/om/OverlayManagerServiceImpl$OverlayChangeListener;
Lcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;
Lcom/android/server/om/OverlayManagerServiceImpl;
-Lcom/android/server/om/OverlayManagerSettings$BadKeyException;
Lcom/android/server/om/OverlayManagerSettings$Serializer;
Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
Lcom/android/server/om/OverlayManagerSettings;
@@ -19807,48 +21711,78 @@ Lcom/android/server/os/BugreportManagerService;
Lcom/android/server/os/BugreportManagerServiceImpl;
Lcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;
Lcom/android/server/os/DeviceIdentifiersPolicyService;
-Lcom/android/server/os/SchedulingPolicyService$1;
Lcom/android/server/os/SchedulingPolicyService;
+Lcom/android/server/pm/-$$Lambda$ApexManager$ApexManagerImpl$pQnjdbWgnVRvdOuYJTmevPGwE8s;
+Lcom/android/server/pm/-$$Lambda$BWZi0Aa35BwEPzNacDfE_69TPS8;
+Lcom/android/server/pm/-$$Lambda$BackgroundDexOptService$-KiE2NsUP--OYmoSDt9BwEQICZw;
+Lcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;
Lcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;
-Lcom/android/server/pm/-$$Lambda$Installer$SebeftIfAJ7KsTmM0tju6PfW4Pc;
+Lcom/android/server/pm/-$$Lambda$FW40Da1L1EZJ_usDX0ew1qRMmtc;
Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$BuKCbLr_MGBazMPl54-pWTuGHYY;
-Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$UOn4sUy4zBQuofxUbY8RBYhkNSE;
-Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$eaYsiecM_Rq6dliDvliwVtj695o;
-Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$o-Qxi7Gaam-yhhMK-IMWv499oME;
+Lcom/android/server/pm/-$$Lambda$InstantAppResolverConnection$D-JKXi4qrYjnPQMOwj8UtfZenps;
+Lcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;
+Lcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$eTair5Mvr14v4M0nq9aQEW2cp-Y;
Lcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$5hSpumAE5maEOgUlkeKZ3EJQUOU;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$9ZEk0HhVZsj2KQghpPxi82zlVQA;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$Iz1l7RVtATr5Ybl_zHeYuCbGMvA;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$JUo3M6zuPH65x1voKjSOJvOMHRw;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$O5iApY07YeJyXA8KUFVcxpCf1NI;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$PackageParserCallback$xinvBJUpQse3J1IBBKjvYTIW8MQ;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$ThH5vuBggVL5a6g8JW6gf8x0jT8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$YHri1Lu_7U5nzv2NPItDUIuocnY;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$gOdSzzOoHvFHJbKlJkAgg4fzOH8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$gqdNHYJiYM0w_nIH0nGMWWU8yzQ;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$opO5L-t6aW9gAx6B5CGlW6sAaX8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$rBFEstQVW677jj2Z8w3Ei9Li_HQ;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$xJ_pDKPvSH0lgOwva8xeI2zJ2ns;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$xKFHvZAUir1Y_lClMWZh87peKs8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$Fz3elZ0VmMMv9-wl_G3AN15dUU8;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$-SI_LHw6Eiq8VNiFLLjJdCbGgSQ;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$3yxDU_uSU2kkdLuKkfPYVKvXKGw;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$4lr9R3-Rfzq-VEptx-WWeRaSpd4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$EQHzRzxse-rtXNIoVfzT15c8LHI;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$FFJwRezEfCP4utcPN2U9pjn2hIo;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$UqTOzDNpKPiIlaG4_AUlesB9I1E;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$Wnf5zZuMJLUQ4GfjHtUww4l7YUg;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$cHQqBPj5vgOw-P7yhrKC9Ssq27g;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$djQQrdclAlQ8ILip1OVPcBDTkW4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$hy2s_cJQR-eeozeSQuK1xEmJcOU;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$i6CpetYRHYknkq8R3n1zFsH2Qng;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$imyTLGZ0HLyacORSu0iPTteivzY;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$xKD6SB7pISjc29qfmXIq5O_3OJw;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$zCuBGosGB1OGJ7ya2EB4X5V2jBk;
Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$QMV-UHbRIK26QMZL5iM27MchX7U;
Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ePZ6rsJ05hJ2glmOqcq1_jX6J8w;
Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$fMBP3pPR7BB2hICieRxkdNG-3H8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$hVRkjdaFuAMTY9J9JQ7JyWMYCHA;
Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$nPt0Hym3GvYeWA2vwfOLFDxZmCE;
Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$p5q19y4-2x-i747j_hTNL1EMzt0;
Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$whx96xO50U3fax1NRe1upTcx9jc;
Lcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;
Lcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;
+Lcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;
+Lcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$rwmVVp6PnQCcurF7D6VzrdNqEdk;
+Lcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$stGgHzhh-NVWPgDSwmH2ybAWRE8;
+Lcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$v6wMz6MRa9pgSnEDM_9bjvrLaKY;
+Lcom/android/server/pm/-$$Lambda$ShortcutPackage$ZN-r6tS0M7WKGK6nbXyJZPwNRGc;
+Lcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;
+Lcom/android/server/pm/-$$Lambda$ShortcutPackage$ibOAVgfKWMZFYSeVV_hLNx6jogk;
Lcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;
Lcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;
-Lcom/android/server/pm/-$$Lambda$UserManagerService$1$DQ_02g7kZ7QrJXO6aCATwE6DYCE;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$DzwraUeMWDwA0XDfFxd3sGOsA0E;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$H1HFyb1U9E1-y03suEsi37_w-t0;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$a6cj3oQpS-Z6FB4DytB0FytYmiM;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$TVqBA9DN_h90eIcwrnmy7Mkl6jo;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$fCl_JbVpr187Fh4_6N-IxgnU68c;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$io6aQoSP1ibWQCoayRXJaxbmJvA;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$l8T8kXBB-Gktym0FoX_WiKj2Glc;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$t1am7miIbc4iP6CfSL0gFgEsO0Y;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$y1mZhNAWeEp6GCbsOBAt4g-DS3s;
+Lcom/android/server/pm/-$$Lambda$ShortcutUser$6rBk7xJFaM9dXyyKHFs-DCus0iM;
+Lcom/android/server/pm/-$$Lambda$ShortcutUser$XHWlvjfCvG1SoVwGHi3envhmtfM;
+Lcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;
Lcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;
+Lcom/android/server/pm/-$$Lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk;
Lcom/android/server/pm/AbstractStatsBase$1;
Lcom/android/server/pm/AbstractStatsBase;
-Lcom/android/server/pm/ApexManager$1;
+Lcom/android/server/pm/ApexManager$ActiveApexInfo;
+Lcom/android/server/pm/ApexManager$ApexManagerImpl;
Lcom/android/server/pm/ApexManager;
+Lcom/android/server/pm/AppsFilter$FeatureConfig;
+Lcom/android/server/pm/AppsFilter$FeatureConfigImpl;
+Lcom/android/server/pm/AppsFilter;
+Lcom/android/server/pm/BackgroundDexOptService$1;
+Lcom/android/server/pm/BackgroundDexOptService$2;
Lcom/android/server/pm/BackgroundDexOptService;
Lcom/android/server/pm/CompilerStats$PackageStats;
Lcom/android/server/pm/CompilerStats;
@@ -19856,6 +21790,7 @@ Lcom/android/server/pm/ComponentResolver$ActionIterGenerator;
Lcom/android/server/pm/ComponentResolver$ActivityIntentResolver;
Lcom/android/server/pm/ComponentResolver$AuthoritiesIterGenerator;
Lcom/android/server/pm/ComponentResolver$CategoriesIterGenerator;
+Lcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;
Lcom/android/server/pm/ComponentResolver$IterGenerator;
Lcom/android/server/pm/ComponentResolver$ProviderIntentResolver;
Lcom/android/server/pm/ComponentResolver$SchemesIterGenerator;
@@ -19868,24 +21803,22 @@ Lcom/android/server/pm/CrossProfileAppsServiceImpl;
Lcom/android/server/pm/CrossProfileIntentFilter;
Lcom/android/server/pm/CrossProfileIntentResolver;
Lcom/android/server/pm/DumpState;
+Lcom/android/server/pm/DynamicCodeLoggingService$AuditWatchingThread;
+Lcom/android/server/pm/DynamicCodeLoggingService$IdleLoggingThread;
Lcom/android/server/pm/DynamicCodeLoggingService;
+Lcom/android/server/pm/InstallSource;
Lcom/android/server/pm/Installer$1;
Lcom/android/server/pm/Installer$InstallerException;
Lcom/android/server/pm/Installer;
Lcom/android/server/pm/InstantAppRegistry$CookiePersistence;
-Lcom/android/server/pm/InstantAppRegistry$UninstalledInstantAppState;
Lcom/android/server/pm/InstantAppRegistry;
Lcom/android/server/pm/InstantAppResolver;
-Lcom/android/server/pm/InstantAppResolverConnection$ConnectionException;
Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;
-Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;
Lcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;
Lcom/android/server/pm/InstantAppResolverConnection;
Lcom/android/server/pm/InstructionSets;
-Lcom/android/server/pm/IntentFilterVerificationResponse;
Lcom/android/server/pm/IntentFilterVerificationState;
Lcom/android/server/pm/KeySetHandle;
-Lcom/android/server/pm/KeySetManagerService$1;
Lcom/android/server/pm/KeySetManagerService$PublicKeyHandle;
Lcom/android/server/pm/KeySetManagerService;
Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;
@@ -19894,42 +21827,40 @@ Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;
Lcom/android/server/pm/LauncherAppsService;
Lcom/android/server/pm/ModuleInfoProvider;
Lcom/android/server/pm/OtaDexoptService;
-Lcom/android/server/pm/PackageDexOptimizer$ForcedUpdatePackageDexOptimizer;
+Lcom/android/server/pm/PackageAbiHelper$Abis;
+Lcom/android/server/pm/PackageAbiHelper$NativeLibraryPaths;
+Lcom/android/server/pm/PackageAbiHelper;
+Lcom/android/server/pm/PackageAbiHelperImpl;
Lcom/android/server/pm/PackageDexOptimizer;
Lcom/android/server/pm/PackageInstallerService$1;
Lcom/android/server/pm/PackageInstallerService$2;
Lcom/android/server/pm/PackageInstallerService$Callbacks;
+Lcom/android/server/pm/PackageInstallerService$InternalCallback$1;
Lcom/android/server/pm/PackageInstallerService$InternalCallback;
+Lcom/android/server/pm/PackageInstallerService$PackageDeleteObserverAdapter;
Lcom/android/server/pm/PackageInstallerService;
Lcom/android/server/pm/PackageInstallerSession$1;
Lcom/android/server/pm/PackageInstallerSession$2;
Lcom/android/server/pm/PackageInstallerSession$3;
+Lcom/android/server/pm/PackageInstallerSession$4;
Lcom/android/server/pm/PackageInstallerSession;
Lcom/android/server/pm/PackageKeySetData;
Lcom/android/server/pm/PackageManagerException;
Lcom/android/server/pm/PackageManagerService$1;
-Lcom/android/server/pm/PackageManagerService$2;
-Lcom/android/server/pm/PackageManagerService$3;
-Lcom/android/server/pm/PackageManagerService$4;
-Lcom/android/server/pm/PackageManagerService$5;
-Lcom/android/server/pm/PackageManagerService$6;
-Lcom/android/server/pm/PackageManagerService$7;
-Lcom/android/server/pm/PackageManagerService$8;
-Lcom/android/server/pm/PackageManagerService$BlobXmlRestorer;
-Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;
-Lcom/android/server/pm/PackageManagerService$DeletePackageAction;
+Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;
Lcom/android/server/pm/PackageManagerService$FileInstallArgs;
Lcom/android/server/pm/PackageManagerService$HandlerParams;
-Lcom/android/server/pm/PackageManagerService$IFVerificationParams;
+Lcom/android/server/pm/PackageManagerService$Injector$LocalServicesProducer;
+Lcom/android/server/pm/PackageManagerService$Injector$Producer;
+Lcom/android/server/pm/PackageManagerService$Injector$Singleton;
+Lcom/android/server/pm/PackageManagerService$Injector$SystemServiceProducer;
+Lcom/android/server/pm/PackageManagerService$Injector;
Lcom/android/server/pm/PackageManagerService$InstallArgs;
+Lcom/android/server/pm/PackageManagerService$InstallParams$1;
Lcom/android/server/pm/PackageManagerService$InstallParams;
Lcom/android/server/pm/PackageManagerService$IntentFilterVerifier;
Lcom/android/server/pm/PackageManagerService$IntentVerifierProxy;
Lcom/android/server/pm/PackageManagerService$MoveCallbacks;
-Lcom/android/server/pm/PackageManagerService$MoveInfo;
-Lcom/android/server/pm/PackageManagerService$MoveInstallArgs;
-Lcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;
-Lcom/android/server/pm/PackageManagerService$OriginInfo;
Lcom/android/server/pm/PackageManagerService$PackageFreezer;
Lcom/android/server/pm/PackageManagerService$PackageHandler;
Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;
@@ -19937,9 +21868,7 @@ Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
Lcom/android/server/pm/PackageManagerService$PackageManagerNative;
Lcom/android/server/pm/PackageManagerService$PackageParserCallback;
Lcom/android/server/pm/PackageManagerService$PackageRemovedInfo;
-Lcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;
Lcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;
-Lcom/android/server/pm/PackageManagerService$PostInstallData;
Lcom/android/server/pm/PackageManagerService$PrepareFailure;
Lcom/android/server/pm/PackageManagerService$PrepareResult;
Lcom/android/server/pm/PackageManagerService$ReconcileFailure;
@@ -19948,23 +21877,23 @@ Lcom/android/server/pm/PackageManagerService$ReconciledPackage;
Lcom/android/server/pm/PackageManagerService$ScanRequest;
Lcom/android/server/pm/PackageManagerService$ScanResult;
Lcom/android/server/pm/PackageManagerService$SystemDeleteException;
-Lcom/android/server/pm/PackageManagerService$VerificationInfo;
+Lcom/android/server/pm/PackageManagerService$SystemPartition;
Lcom/android/server/pm/PackageManagerService;
Lcom/android/server/pm/PackageManagerServiceCompilerMapping;
+Lcom/android/server/pm/PackageManagerServiceUtils$1;
Lcom/android/server/pm/PackageManagerServiceUtils;
+Lcom/android/server/pm/PackageManagerShellCommand;
Lcom/android/server/pm/PackageSender;
Lcom/android/server/pm/PackageSessionProvider;
Lcom/android/server/pm/PackageSetting;
Lcom/android/server/pm/PackageSettingBase;
Lcom/android/server/pm/PackageSignatures;
Lcom/android/server/pm/PackageUsage;
-Lcom/android/server/pm/PackageVerificationResponse;
Lcom/android/server/pm/PackageVerificationState;
Lcom/android/server/pm/ParallelPackageParser$ParseResult;
Lcom/android/server/pm/ParallelPackageParser;
Lcom/android/server/pm/PersistentPreferredActivity;
Lcom/android/server/pm/PersistentPreferredIntentResolver;
-Lcom/android/server/pm/Policy$1;
Lcom/android/server/pm/Policy$PolicyBuilder;
Lcom/android/server/pm/Policy;
Lcom/android/server/pm/PolicyComparator;
@@ -19976,7 +21905,6 @@ Lcom/android/server/pm/ProcessLoggingHandler;
Lcom/android/server/pm/ProtectedPackages;
Lcom/android/server/pm/SELinuxMMAC;
Lcom/android/server/pm/SettingBase;
-Lcom/android/server/pm/Settings$1;
Lcom/android/server/pm/Settings$KernelPackageState;
Lcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;
Lcom/android/server/pm/Settings$RuntimePermissionPersistence;
@@ -19985,36 +21913,46 @@ Lcom/android/server/pm/Settings;
Lcom/android/server/pm/SharedUserSetting;
Lcom/android/server/pm/ShortcutBitmapSaver;
Lcom/android/server/pm/ShortcutDumpFiles;
+Lcom/android/server/pm/ShortcutLauncher;
+Lcom/android/server/pm/ShortcutNonPersistentUser;
+Lcom/android/server/pm/ShortcutPackage;
+Lcom/android/server/pm/ShortcutPackageInfo;
+Lcom/android/server/pm/ShortcutPackageItem;
+Lcom/android/server/pm/ShortcutParser;
Lcom/android/server/pm/ShortcutRequestPinProcessor;
Lcom/android/server/pm/ShortcutService$1;
Lcom/android/server/pm/ShortcutService$2;
Lcom/android/server/pm/ShortcutService$3;
Lcom/android/server/pm/ShortcutService$4;
Lcom/android/server/pm/ShortcutService$5;
-Lcom/android/server/pm/ShortcutService$InvalidFileFormatException;
+Lcom/android/server/pm/ShortcutService$DumpFilter;
+Lcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;
Lcom/android/server/pm/ShortcutService$Lifecycle;
Lcom/android/server/pm/ShortcutService$LocalService;
Lcom/android/server/pm/ShortcutService;
+Lcom/android/server/pm/ShortcutUser$PackageWithUser;
+Lcom/android/server/pm/ShortcutUser;
Lcom/android/server/pm/StagingManager;
Lcom/android/server/pm/UserDataPreparer;
Lcom/android/server/pm/UserManagerService$1;
Lcom/android/server/pm/UserManagerService$2;
Lcom/android/server/pm/UserManagerService$3;
-Lcom/android/server/pm/UserManagerService$4;
Lcom/android/server/pm/UserManagerService$LifeCycle;
Lcom/android/server/pm/UserManagerService$LocalService;
Lcom/android/server/pm/UserManagerService$MainHandler;
Lcom/android/server/pm/UserManagerService$UserData;
Lcom/android/server/pm/UserManagerService;
Lcom/android/server/pm/UserRestrictionsUtils;
+Lcom/android/server/pm/UserSystemPackageInstaller;
+Lcom/android/server/pm/UserTypeDetails$Builder;
+Lcom/android/server/pm/UserTypeDetails;
+Lcom/android/server/pm/UserTypeFactory;
Lcom/android/server/pm/dex/-$$Lambda$ArtManagerService$MEVzU-orlv4msZVF-bA5NLti04g;
Lcom/android/server/pm/dex/-$$Lambda$ArtManagerService$_rD0Y6OPSJHMdjTIOtucoGQ1xag;
-Lcom/android/server/pm/dex/ArtManagerService$1;
Lcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;
Lcom/android/server/pm/dex/ArtManagerService;
Lcom/android/server/pm/dex/DexManager$DexSearchResult;
Lcom/android/server/pm/dex/DexManager$PackageCodeLocations;
-Lcom/android/server/pm/dex/DexManager$RegisterDexModuleResult;
Lcom/android/server/pm/dex/DexManager;
Lcom/android/server/pm/dex/DexoptOptions;
Lcom/android/server/pm/dex/DexoptUtils;
@@ -20022,53 +21960,67 @@ Lcom/android/server/pm/dex/DynamicCodeLogger;
Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;
Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;
Lcom/android/server/pm/dex/PackageDexUsage;
-Lcom/android/server/pm/dex/PackageDynamicCodeLoading$DynamicCodeFile;
Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
Lcom/android/server/pm/dex/PackageDynamicCodeLoading;
Lcom/android/server/pm/dex/ViewCompiler;
+Lcom/android/server/pm/permission/-$$Lambda$DefaultPermissionGrantPolicy$SHfHTWKpfBf_vZtWArm-FlNBI8k;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$460fr0E6NVpZyibHspWnxPE13IE;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$JT-I0Pu4aDWMzekmFWZgcoe-hoU;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$eApyRxwI3JHTSVAxV9EbP43gFOo;
+Lcom/android/server/pm/permission/-$$Lambda$PermissionManagerService$iwnRBDwjg4K5iRGbRU5_sVt0zaU;
Lcom/android/server/pm/permission/BasePermission;
Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;
-Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrant;
-Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;
Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
Lcom/android/server/pm/permission/PermissionManagerService$1;
+Lcom/android/server/pm/permission/PermissionManagerService$OnPermissionChangeListeners;
Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;
Lcom/android/server/pm/permission/PermissionManagerService;
+Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultBrowserProvider;
+Lcom/android/server/pm/permission/PermissionManagerServiceInternal$DefaultHomeProvider;
+Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PackagesProvider;
Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;
Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
Lcom/android/server/pm/permission/PermissionSettings;
Lcom/android/server/pm/permission/PermissionsState$PermissionData;
Lcom/android/server/pm/permission/PermissionsState$PermissionState;
Lcom/android/server/pm/permission/PermissionsState;
+Lcom/android/server/policy/-$$Lambda$oXa0y3A-00RiQs6-KTPBgpkGtgw;
+Lcom/android/server/policy/GlobalActions;
+Lcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;
Lcom/android/server/policy/GlobalActionsProvider;
Lcom/android/server/policy/GlobalKeyManager;
Lcom/android/server/policy/IconUtilities;
Lcom/android/server/policy/LogDecelerateInterpolator;
+Lcom/android/server/policy/PermissionPolicyInternal;
+Lcom/android/server/policy/PermissionPolicyService$Internal;
+Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser$OpToChange;
+Lcom/android/server/policy/PermissionPolicyService$PermissionToOpSynchroniser;
+Lcom/android/server/policy/PermissionPolicyService;
Lcom/android/server/policy/PhoneWindowManager$10;
Lcom/android/server/policy/PhoneWindowManager$11;
Lcom/android/server/policy/PhoneWindowManager$12;
Lcom/android/server/policy/PhoneWindowManager$13;
Lcom/android/server/policy/PhoneWindowManager$1;
Lcom/android/server/policy/PhoneWindowManager$2;
-Lcom/android/server/policy/PhoneWindowManager$3;
-Lcom/android/server/policy/PhoneWindowManager$4;
-Lcom/android/server/policy/PhoneWindowManager$5;
-Lcom/android/server/policy/PhoneWindowManager$6;
Lcom/android/server/policy/PhoneWindowManager$7;
Lcom/android/server/policy/PhoneWindowManager$8;
+Lcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;
Lcom/android/server/policy/PhoneWindowManager$HdmiVideoExtconUEventObserver;
-Lcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener;
Lcom/android/server/policy/PhoneWindowManager$PolicyHandler;
-Lcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;
Lcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;
Lcom/android/server/policy/PhoneWindowManager$SettingsObserver;
Lcom/android/server/policy/PhoneWindowManager;
-Lcom/android/server/policy/ShortcutManager$ShortcutInfo;
Lcom/android/server/policy/ShortcutManager;
-Lcom/android/server/policy/WakeGestureListener$1;
-Lcom/android/server/policy/WakeGestureListener$2;
+Lcom/android/server/policy/SoftRestrictedPermissionPolicy$2;
+Lcom/android/server/policy/SoftRestrictedPermissionPolicy$3;
+Lcom/android/server/policy/SoftRestrictedPermissionPolicy;
+Lcom/android/server/policy/SplashScreenSurface;
Lcom/android/server/policy/WakeGestureListener;
Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;
+Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;
+Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;
+Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;
+Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;
Lcom/android/server/policy/WindowManagerPolicy$WindowState;
Lcom/android/server/policy/WindowManagerPolicy;
@@ -20076,10 +22028,10 @@ Lcom/android/server/policy/WindowOrientationListener$OrientationJudge;
Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;
Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;
Lcom/android/server/policy/WindowOrientationListener;
+Lcom/android/server/policy/keyguard/-$$Lambda$KeyguardServiceDelegate$1$ZQ5qG3EmC57J43br9oobeNISXyE;
Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;
Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;
-Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;
Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;
Lcom/android/server/policy/keyguard/KeyguardServiceWrapper;
Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;
@@ -20090,24 +22042,24 @@ Lcom/android/server/power/-$$Lambda$ThermalManagerService$9JFHCKCwrnUIYoXDsqNamh
Lcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$R9S8YWn8x1F3V2TOvXtmky1V44Q;
Lcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;
Lcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;
-Lcom/android/server/power/AttentionDetector$1;
-Lcom/android/server/power/AttentionDetector$2;
Lcom/android/server/power/AttentionDetector;
-Lcom/android/server/power/Notifier$6;
+Lcom/android/server/power/InattentiveSleepWarningController;
+Lcom/android/server/power/Notifier$1;
+Lcom/android/server/power/Notifier$2;
+Lcom/android/server/power/Notifier$3;
+Lcom/android/server/power/Notifier$4;
+Lcom/android/server/power/Notifier$5;
Lcom/android/server/power/Notifier$7;
-Lcom/android/server/power/Notifier$8;
Lcom/android/server/power/Notifier$NotifierHandler;
Lcom/android/server/power/Notifier;
Lcom/android/server/power/PowerManagerService$1;
-Lcom/android/server/power/PowerManagerService$2;
-Lcom/android/server/power/PowerManagerService$3;
Lcom/android/server/power/PowerManagerService$4;
Lcom/android/server/power/PowerManagerService$BatteryReceiver;
Lcom/android/server/power/PowerManagerService$BinderService;
Lcom/android/server/power/PowerManagerService$Constants;
-Lcom/android/server/power/PowerManagerService$DockReceiver;
Lcom/android/server/power/PowerManagerService$DreamReceiver;
Lcom/android/server/power/PowerManagerService$ForegroundProfileObserver;
+Lcom/android/server/power/PowerManagerService$Injector$1;
Lcom/android/server/power/PowerManagerService$Injector;
Lcom/android/server/power/PowerManagerService$LocalService;
Lcom/android/server/power/PowerManagerService$NativeWrapper;
@@ -20115,15 +22067,14 @@ Lcom/android/server/power/PowerManagerService$PowerManagerHandler;
Lcom/android/server/power/PowerManagerService$ProfilePowerState;
Lcom/android/server/power/PowerManagerService$SettingsObserver;
Lcom/android/server/power/PowerManagerService$SuspendBlockerImpl;
-Lcom/android/server/power/PowerManagerService$UidState;
Lcom/android/server/power/PowerManagerService$UserSwitchedReceiver;
Lcom/android/server/power/PowerManagerService$WakeLock;
Lcom/android/server/power/PowerManagerService;
Lcom/android/server/power/SuspendBlocker;
+Lcom/android/server/power/SystemPropertiesWrapper;
Lcom/android/server/power/ThermalManagerService$1;
Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;
Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;
-Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$DeathRecipient;
Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$TemperatureChangedCallback;
Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;
Lcom/android/server/power/ThermalManagerService;
@@ -20132,6 +22083,7 @@ Lcom/android/server/power/WirelessChargerDetector$2;
Lcom/android/server/power/WirelessChargerDetector;
Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverPolicy$rfw31Sb8JX1OVD2rGHGtCXyfop8;
Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$SSfmWJrD4RBoVg8A8loZrS-jhAo;
+Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$WGmfDqFGirqPfth6R7MtcSK-Gvs;
Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;
Lcom/android/server/power/batterysaver/-$$Lambda$FileUpdater$NUmipjKCJwbgmFbIcGS3uaz3QFk;
Lcom/android/server/power/batterysaver/BatterySaverController$1;
@@ -20144,68 +22096,79 @@ Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;
Lcom/android/server/power/batterysaver/BatterySaverPolicy;
Lcom/android/server/power/batterysaver/BatterySaverStateMachine$1;
Lcom/android/server/power/batterysaver/BatterySaverStateMachine;
-Lcom/android/server/power/batterysaver/BatterySavingStats$BatterySaverState;
-Lcom/android/server/power/batterysaver/BatterySavingStats$DozeState;
-Lcom/android/server/power/batterysaver/BatterySavingStats$InteractiveState;
Lcom/android/server/power/batterysaver/BatterySavingStats$Stat;
Lcom/android/server/power/batterysaver/BatterySavingStats;
Lcom/android/server/power/batterysaver/CpuFrequencies;
Lcom/android/server/power/batterysaver/FileUpdater;
-Lcom/android/server/print/PrintManagerService$PrintManagerImpl$1;
+Lcom/android/server/print/-$$Lambda$UserState$LdWYUAKz4cbWqoxOD4oZ_ZslKdg;
Lcom/android/server/print/PrintManagerService$PrintManagerImpl$2;
+Lcom/android/server/print/PrintManagerService$PrintManagerImpl$3;
Lcom/android/server/print/PrintManagerService$PrintManagerImpl;
Lcom/android/server/print/PrintManagerService;
+Lcom/android/server/print/RemotePrintService$PrintServiceCallbacks;
+Lcom/android/server/print/RemotePrintService;
+Lcom/android/server/print/RemotePrintServiceRecommendationService$RemotePrintServiceRecommendationServiceCallbacks;
+Lcom/android/server/print/RemotePrintSpooler$MyServiceConnection;
+Lcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;
+Lcom/android/server/print/RemotePrintSpooler$PrintSpoolerClient;
+Lcom/android/server/print/RemotePrintSpooler;
+Lcom/android/server/print/UserState$PrintJobForAppCache;
+Lcom/android/server/print/UserState;
+Lcom/android/server/protolog/ProtoLog$Cache;
+Lcom/android/server/protolog/ProtoLogImpl;
+Lcom/android/server/protolog/common/IProtoLogGroup;
+Lcom/android/server/recoverysystem/RecoverySystemService$Injector;
+Lcom/android/server/recoverysystem/RecoverySystemService$Lifecycle;
+Lcom/android/server/recoverysystem/RecoverySystemService;
Lcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;
Lcom/android/server/restrictions/RestrictionsManagerService;
-Lcom/android/server/role/-$$Lambda$RoleManagerService$AXCXpHePiVLmuonnO-Vwoq0TpKQ;
-Lcom/android/server/role/-$$Lambda$RoleManagerService$fFhedpUuSpSjKJZ9TlWFGJ-_xeo;
-Lcom/android/server/role/-$$Lambda$RoleManagerService$rhPnAyxD4OKoR2nprS9wiayfZjw;
Lcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;
-Lcom/android/server/role/RoleManagerInternal;
-Lcom/android/server/role/RoleManagerService$1;
Lcom/android/server/role/RoleManagerService$2;
-Lcom/android/server/role/RoleManagerService$3;
Lcom/android/server/role/RoleManagerService$DefaultBrowserProvider;
Lcom/android/server/role/RoleManagerService$DefaultHomeProvider;
-Lcom/android/server/role/RoleManagerService$Internal;
Lcom/android/server/role/RoleManagerService$RoleHoldersResolver;
Lcom/android/server/role/RoleManagerService$Stub;
Lcom/android/server/role/RoleManagerService;
Lcom/android/server/role/RoleUserState$Callback;
Lcom/android/server/role/RoleUserState;
-Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$2_NDf9EpLcTKkJVpkadZhudKips;
Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;
-Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$7mIH_4Cm4A-tqsIceQEQSUp2ycU;
-Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$pS5jbfXLgvSVqxzjSkJaMnydaOY;
Lcom/android/server/rollback/AppDataRollbackHelper;
-Lcom/android/server/rollback/RollbackData;
Lcom/android/server/rollback/RollbackManagerService;
Lcom/android/server/rollback/RollbackManagerServiceImpl$1;
-Lcom/android/server/rollback/RollbackManagerServiceImpl$2;
Lcom/android/server/rollback/RollbackManagerServiceImpl$3;
Lcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;
Lcom/android/server/rollback/RollbackManagerServiceImpl;
Lcom/android/server/rollback/RollbackPackageHealthObserver;
Lcom/android/server/rollback/RollbackStore;
-Lcom/android/server/search/SearchManagerService$GlobalSearchProviderObserver;
+Lcom/android/server/search/SearchManagerService$Lifecycle$1;
Lcom/android/server/search/SearchManagerService$Lifecycle;
Lcom/android/server/search/SearchManagerService$MyPackageMonitor;
Lcom/android/server/search/SearchManagerService;
+Lcom/android/server/search/Searchables$1;
+Lcom/android/server/search/Searchables;
Lcom/android/server/security/KeyAttestationApplicationIdProviderService;
Lcom/android/server/security/KeyChainSystemService$1;
Lcom/android/server/security/KeyChainSystemService;
Lcom/android/server/security/VerityUtils$SetupResult;
+Lcom/android/server/security/VerityUtils$TrackedShmBufferFactory;
Lcom/android/server/security/VerityUtils;
+Lcom/android/server/signedconfig/GlobalSettingsConfigApplicator;
+Lcom/android/server/signedconfig/SignatureVerifier;
+Lcom/android/server/signedconfig/SignedConfig;
Lcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;
Lcom/android/server/signedconfig/SignedConfigService;
+Lcom/android/server/slice/-$$Lambda$PinnedSliceState$2PaYhOaggf1E5xg82LTTEwxmLE4;
Lcom/android/server/slice/-$$Lambda$PinnedSliceState$KzxFkvfomRuMb5PD8_pIHDIhUUE;
Lcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;
+Lcom/android/server/slice/-$$Lambda$PinnedSliceState$j_JfEZwPCa729MjgsTSd8MAItIw;
+Lcom/android/server/slice/-$$Lambda$PinnedSliceState$t5Vl61Ns1u_83c4ri7920sczEu0;
+Lcom/android/server/slice/-$$Lambda$PinnedSliceState$vxnx7v9Z67Tj9aywVmtdX48br1M;
Lcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;
Lcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;
Lcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;
+Lcom/android/server/slice/-$$Lambda$SlicePermissionManager$y3Tun5dTftw8s8sky62syeWR34U;
Lcom/android/server/slice/DirtyTracker$Persistable;
Lcom/android/server/slice/DirtyTracker;
-Lcom/android/server/slice/PinnedSliceState$ListenerInfo;
Lcom/android/server/slice/PinnedSliceState;
Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
Lcom/android/server/slice/SliceClientPermissions;
@@ -20217,29 +22180,29 @@ Lcom/android/server/slice/SlicePermissionManager$H;
Lcom/android/server/slice/SlicePermissionManager$ParserHolder;
Lcom/android/server/slice/SlicePermissionManager$PkgUser;
Lcom/android/server/slice/SlicePermissionManager;
+Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;
Lcom/android/server/slice/SliceProviderPermissions;
+Lcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$F-iA254xzDfAHrQW86c2oSqXfwI;
+Lcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$crQZgbDmIG6q92Mrkm49T2yqrs0;
+Lcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$t5mBYXswwLAAdm47WS10stLjYng;
+Lcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$wfDlqQ7aPvu9qZCZ24jJu4tfUMY;
+Lcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$yqLMvkOmrO13yWrggtSaVrLgsWo;
Lcom/android/server/soundtrigger/SoundTriggerDbHelper;
+Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
Lcom/android/server/soundtrigger/SoundTriggerHelper$MyCallStateListener;
+Lcom/android/server/soundtrigger/SoundTriggerHelper$PowerSaveModeListener;
Lcom/android/server/soundtrigger/SoundTriggerHelper;
Lcom/android/server/soundtrigger/SoundTriggerInternal;
Lcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;
+Lcom/android/server/soundtrigger/SoundTriggerService$NumOps;
+Lcom/android/server/soundtrigger/SoundTriggerService$Operation$ExecuteOp;
+Lcom/android/server/soundtrigger/SoundTriggerService$Operation;
+Lcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService$1;
+Lcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;
Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;
Lcom/android/server/soundtrigger/SoundTriggerService;
-Lcom/android/server/stats/StatsCompanionService$1;
-Lcom/android/server/stats/StatsCompanionService$AnomalyAlarmListener;
-Lcom/android/server/stats/StatsCompanionService$AppUpdateReceiver;
-Lcom/android/server/stats/StatsCompanionService$CompanionHandler;
-Lcom/android/server/stats/StatsCompanionService$ConnectivityStatsCallback;
-Lcom/android/server/stats/StatsCompanionService$Lifecycle;
-Lcom/android/server/stats/StatsCompanionService$PeriodicAlarmListener;
-Lcom/android/server/stats/StatsCompanionService$PullingAlarmListener;
-Lcom/android/server/stats/StatsCompanionService$ShutdownEventReceiver;
-Lcom/android/server/stats/StatsCompanionService$StatsdDeathRecipient;
-Lcom/android/server/stats/StatsCompanionService$ThermalEventListener;
-Lcom/android/server/stats/StatsCompanionService;
-Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$Ex4WQoiXjzWDsRHD7oXCkXIQBB4;
-Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$QO0p6KVnf0wFwF8hglhodfvx26s;
-Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$UR67Ud0NgV9VHyelUmYzZNtR6O4;
+Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$dQguzfF4tEgBOj3Pr8MpGRN8HT0;
+Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$uF0ibEnnXe7Lxunxb98QQLJjgZM;
Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yr21OX4Hyd_XfExwnVnVIn3Jfe4;
Lcom/android/server/statusbar/StatusBarManagerInternal;
Lcom/android/server/statusbar/StatusBarManagerService$1;
@@ -20248,67 +22211,73 @@ Lcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;
Lcom/android/server/statusbar/StatusBarManagerService$DisableRecord;
Lcom/android/server/statusbar/StatusBarManagerService$UiState;
Lcom/android/server/statusbar/StatusBarManagerService;
+Lcom/android/server/storage/AppCollector$BackgroundHandler;
+Lcom/android/server/storage/AppCollector;
Lcom/android/server/storage/AppFuseBridge$MountScope;
Lcom/android/server/storage/AppFuseBridge;
+Lcom/android/server/storage/CacheQuotaStrategy$1$1;
+Lcom/android/server/storage/CacheQuotaStrategy$1;
Lcom/android/server/storage/CacheQuotaStrategy;
Lcom/android/server/storage/DeviceStorageMonitorInternal;
Lcom/android/server/storage/DeviceStorageMonitorService$1;
Lcom/android/server/storage/DeviceStorageMonitorService$2;
Lcom/android/server/storage/DeviceStorageMonitorService$3;
-Lcom/android/server/storage/DeviceStorageMonitorService$CacheFileDeletedObserver;
Lcom/android/server/storage/DeviceStorageMonitorService$State;
Lcom/android/server/storage/DeviceStorageMonitorService;
+Lcom/android/server/storage/DiskStatsFileLogger;
+Lcom/android/server/storage/DiskStatsLoggingService$LogRunnable;
Lcom/android/server/storage/DiskStatsLoggingService;
-Lcom/android/server/telecom/-$$Lambda$TelecomLoaderService$-gelHWcVU9jWWZhCeN99A3Sudtw;
-Lcom/android/server/telecom/-$$Lambda$TelecomLoaderService$VVmvEgI0M6umDuBUYKUoUMO7-l0;
-Lcom/android/server/telecom/-$$Lambda$TelecomLoaderService$lBXoYxesURvEmfzumX9uIBbg66M;
-Lcom/android/server/telecom/TelecomLoaderService$1;
-Lcom/android/server/telecom/TelecomLoaderService$2;
-Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection$1;
+Lcom/android/server/storage/FileCollector$MeasurementResult;
+Lcom/android/server/storage/FileCollector;
Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;
Lcom/android/server/telecom/TelecomLoaderService;
-Lcom/android/server/testharness/TestHarnessModeService$1;
Lcom/android/server/testharness/TestHarnessModeService;
Lcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;
Lcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;
Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
Lcom/android/server/textclassifier/TextClassificationManagerService;
-Lcom/android/server/textservices/-$$Lambda$TextServicesManagerService$otJ1a5fe5mYJvLrIEr3o1Ia1kSo;
-Lcom/android/server/textservices/LazyIntToIntMap;
+Lcom/android/server/textservices/LocaleUtils;
Lcom/android/server/textservices/TextServicesManagerInternal$1;
Lcom/android/server/textservices/TextServicesManagerInternal;
+Lcom/android/server/textservices/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;
+Lcom/android/server/textservices/TextServicesManagerService$InternalDeathRecipients;
+Lcom/android/server/textservices/TextServicesManagerService$InternalServiceConnection;
Lcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;
Lcom/android/server/textservices/TextServicesManagerService$Lifecycle;
+Lcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;
Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;
Lcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;
Lcom/android/server/textservices/TextServicesManagerService;
Lcom/android/server/timedetector/SimpleTimeDetectorStrategy;
-Lcom/android/server/timedetector/TimeDetectorService$1;
Lcom/android/server/timedetector/TimeDetectorService$Lifecycle;
Lcom/android/server/timedetector/TimeDetectorService;
Lcom/android/server/timedetector/TimeDetectorStrategy$Callback;
Lcom/android/server/timedetector/TimeDetectorStrategy;
Lcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;
Lcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;
+Lcom/android/server/trust/TrustAgentWrapper$2;
+Lcom/android/server/trust/TrustAgentWrapper$3;
+Lcom/android/server/trust/TrustAgentWrapper$4;
+Lcom/android/server/trust/TrustAgentWrapper;
Lcom/android/server/trust/TrustArchive;
+Lcom/android/server/trust/TrustManagerService$1$1;
Lcom/android/server/trust/TrustManagerService$1;
Lcom/android/server/trust/TrustManagerService$2;
Lcom/android/server/trust/TrustManagerService$3;
Lcom/android/server/trust/TrustManagerService$AgentInfo;
Lcom/android/server/trust/TrustManagerService$Receiver;
-Lcom/android/server/trust/TrustManagerService$SettingsAttrs;
Lcom/android/server/trust/TrustManagerService$SettingsObserver;
Lcom/android/server/trust/TrustManagerService$StrongAuthTracker;
+Lcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;
Lcom/android/server/trust/TrustManagerService;
-Lcom/android/server/tv/TvInputHal$Callback;
Lcom/android/server/tv/TvInputHal;
-Lcom/android/server/tv/TvInputManagerService;
-Lcom/android/server/tv/TvRemoteService;
Lcom/android/server/tv/UinputBridge;
Lcom/android/server/twilight/TwilightListener;
Lcom/android/server/twilight/TwilightManager;
Lcom/android/server/twilight/TwilightService$1;
+Lcom/android/server/twilight/TwilightService$2;
Lcom/android/server/twilight/TwilightService;
+Lcom/android/server/twilight/TwilightState;
Lcom/android/server/uri/GrantUri;
Lcom/android/server/uri/UriGrantsManagerInternal;
Lcom/android/server/uri/UriGrantsManagerService$H;
@@ -20318,24 +22287,14 @@ Lcom/android/server/uri/UriGrantsManagerService;
Lcom/android/server/uri/UriPermission;
Lcom/android/server/uri/UriPermissionOwner$ExternalToken;
Lcom/android/server/uri/UriPermissionOwner;
-Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-Lcom/android/server/usage/AppIdleHistory;
-Lcom/android/server/usage/AppStandbyController$1;
-Lcom/android/server/usage/AppStandbyController$2;
-Lcom/android/server/usage/AppStandbyController$AppStandbyHandler;
-Lcom/android/server/usage/AppStandbyController$DeviceStateReceiver;
-Lcom/android/server/usage/AppStandbyController$Injector;
-Lcom/android/server/usage/AppStandbyController$Lock;
-Lcom/android/server/usage/AppStandbyController$PackageReceiver;
-Lcom/android/server/usage/AppStandbyController$SettingsObserver;
-Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;
-Lcom/android/server/usage/AppStandbyController;
-Lcom/android/server/usage/AppTimeLimitController$Lock;
+Lcom/android/server/usage/-$$Lambda$UserUsageStatsService$wWX7s9XZT5O4B7JcG_IB_VcPI9s;
Lcom/android/server/usage/AppTimeLimitController$MyHandler;
+Lcom/android/server/usage/AppTimeLimitController$ObserverAppData;
+Lcom/android/server/usage/AppTimeLimitController$SessionUsageGroup;
Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;
+Lcom/android/server/usage/AppTimeLimitController$UsageGroup;
Lcom/android/server/usage/AppTimeLimitController$UserData;
Lcom/android/server/usage/AppTimeLimitController;
-Lcom/android/server/usage/IntervalStats$EventTracker;
Lcom/android/server/usage/IntervalStats;
Lcom/android/server/usage/StorageStatsService$1;
Lcom/android/server/usage/StorageStatsService$H;
@@ -20343,13 +22302,13 @@ Lcom/android/server/usage/StorageStatsService$Lifecycle;
Lcom/android/server/usage/StorageStatsService;
Lcom/android/server/usage/UnixCalendar;
Lcom/android/server/usage/UsageStatsDatabase$1;
+Lcom/android/server/usage/UsageStatsDatabase$CheckinAction;
Lcom/android/server/usage/UsageStatsDatabase$StatCombiner;
Lcom/android/server/usage/UsageStatsDatabase;
Lcom/android/server/usage/UsageStatsProto;
Lcom/android/server/usage/UsageStatsService$1;
Lcom/android/server/usage/UsageStatsService$2;
Lcom/android/server/usage/UsageStatsService$3;
-Lcom/android/server/usage/UsageStatsService$ActivityData;
Lcom/android/server/usage/UsageStatsService$BinderService;
Lcom/android/server/usage/UsageStatsService$H;
Lcom/android/server/usage/UsageStatsService$LocalService;
@@ -20358,102 +22317,106 @@ Lcom/android/server/usage/UsageStatsService;
Lcom/android/server/usage/UserUsageStatsService$1;
Lcom/android/server/usage/UserUsageStatsService$2;
Lcom/android/server/usage/UserUsageStatsService$3;
+Lcom/android/server/usage/UserUsageStatsService$4;
+Lcom/android/server/usage/UserUsageStatsService$5;
+Lcom/android/server/usage/UserUsageStatsService$6;
Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;
Lcom/android/server/usage/UserUsageStatsService;
Lcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;
Lcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;
-Lcom/android/server/usb/-$$Lambda$UsbProfileGroupSettingsManager$IQKTzU0q3lyaW9nLL_sbxJPW8ME;
-Lcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;
-Lcom/android/server/usb/MtpNotificationManager$Receiver;
Lcom/android/server/usb/MtpNotificationManager;
+Lcom/android/server/usb/UsbAlsaDevice;
Lcom/android/server/usb/UsbAlsaJackDetector;
Lcom/android/server/usb/UsbAlsaManager;
Lcom/android/server/usb/UsbDeviceManager$1;
Lcom/android/server/usb/UsbDeviceManager$2;
Lcom/android/server/usb/UsbDeviceManager$3;
Lcom/android/server/usb/UsbDeviceManager$4;
-Lcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;
Lcom/android/server/usb/UsbDeviceManager$UsbHandler;
Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;
Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;
-Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetDeathRecipient;
Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;
Lcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;
Lcom/android/server/usb/UsbDeviceManager;
-Lcom/android/server/usb/UsbHandlerManager;
-Lcom/android/server/usb/UsbHostManager$ConnectionRecord;
Lcom/android/server/usb/UsbHostManager;
-Lcom/android/server/usb/UsbMidiDevice$2;
-Lcom/android/server/usb/UsbMidiDevice$3;
Lcom/android/server/usb/UsbMidiDevice;
Lcom/android/server/usb/UsbPortManager$1;
-Lcom/android/server/usb/UsbPortManager$DeathRecipient;
Lcom/android/server/usb/UsbPortManager$HALCallback;
Lcom/android/server/usb/UsbPortManager$PortInfo;
Lcom/android/server/usb/UsbPortManager$RawPortInfo$1;
-Lcom/android/server/usb/UsbPortManager$RawPortInfo;
Lcom/android/server/usb/UsbPortManager$ServiceNotification;
Lcom/android/server/usb/UsbPortManager;
Lcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;
-Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;
Lcom/android/server/usb/UsbProfileGroupSettingsManager;
+Lcom/android/server/usb/UsbSerialReader;
Lcom/android/server/usb/UsbService$1;
Lcom/android/server/usb/UsbService$Lifecycle;
Lcom/android/server/usb/UsbService;
Lcom/android/server/usb/UsbSettingsManager;
Lcom/android/server/usb/UsbUserSettingsManager;
+Lcom/android/server/usb/descriptors/ByteStream;
+Lcom/android/server/usb/descriptors/Usb10ACHeader;
+Lcom/android/server/usb/descriptors/Usb10ACInputTerminal;
+Lcom/android/server/usb/descriptors/Usb10ACMixerUnit;
+Lcom/android/server/usb/descriptors/Usb10ACOutputTerminal;
+Lcom/android/server/usb/descriptors/Usb10ASFormatI;
+Lcom/android/server/usb/descriptors/Usb10ASGeneral;
+Lcom/android/server/usb/descriptors/UsbACAudioStreamEndpoint;
+Lcom/android/server/usb/descriptors/UsbACEndpoint;
+Lcom/android/server/usb/descriptors/UsbACHeaderInterface;
+Lcom/android/server/usb/descriptors/UsbACInterface;
+Lcom/android/server/usb/descriptors/UsbACMixerUnit;
+Lcom/android/server/usb/descriptors/UsbACTerminal;
+Lcom/android/server/usb/descriptors/UsbASFormat;
+Lcom/android/server/usb/descriptors/UsbConfigDescriptor;
Lcom/android/server/usb/descriptors/UsbDescriptor;
Lcom/android/server/usb/descriptors/UsbDescriptorParser;
Lcom/android/server/usb/descriptors/UsbDeviceDescriptor;
+Lcom/android/server/usb/descriptors/UsbEndpointDescriptor;
+Lcom/android/server/usb/descriptors/UsbHIDDescriptor;
+Lcom/android/server/usb/descriptors/UsbInterfaceDescriptor;
Lcom/android/server/usb/descriptors/report/Reporting;
Lcom/android/server/utils/ManagedApplicationService$BinderChecker;
-Lcom/android/server/utils/ManagedApplicationService$EventCallback;
-Lcom/android/server/utils/ManagedApplicationService$LogFormattable;
Lcom/android/server/utils/PriorityDump$PriorityDumper;
Lcom/android/server/utils/PriorityDump;
-Lcom/android/server/utils/UserTokenWatcher$Callback;
+Lcom/android/server/utils/TimingsTraceAndSlog;
Lcom/android/server/utils/UserTokenWatcher;
Lcom/android/server/voiceinteraction/DatabaseHelper;
Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;
-Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;
Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;
Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;
Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;
Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;
Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;
+Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$1;
+Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$2;
+Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$Callback;
+Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;
Lcom/android/server/vr/EnabledComponentsObserver$1;
Lcom/android/server/vr/EnabledComponentsObserver$EnabledComponentChangeListener;
Lcom/android/server/vr/EnabledComponentsObserver;
-Lcom/android/server/vr/SettingsObserver$1;
-Lcom/android/server/vr/SettingsObserver$2;
Lcom/android/server/vr/SettingsObserver$SettingChangeListener;
Lcom/android/server/vr/SettingsObserver;
-Lcom/android/server/vr/Vr2dDisplay$1;
Lcom/android/server/vr/Vr2dDisplay;
Lcom/android/server/vr/VrManagerInternal;
-Lcom/android/server/vr/VrManagerService$1;
-Lcom/android/server/vr/VrManagerService$2;
Lcom/android/server/vr/VrManagerService$3;
Lcom/android/server/vr/VrManagerService$4;
Lcom/android/server/vr/VrManagerService$5;
Lcom/android/server/vr/VrManagerService$LocalService;
Lcom/android/server/vr/VrManagerService$NotificationAccessManager;
-Lcom/android/server/vr/VrManagerService$VrState;
Lcom/android/server/vr/VrManagerService;
Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$SxaUJpgTTfzUoz6u3AWuAOQdoNw;
-Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$UhAlBGB5jhuZrLndUPRmIvoHRZc;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$87DhM3RJJxRNtgkHmd_gtnGk-z4;
Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$NrNkceFJLqjCb8eAxErUhpLd5c8;
-Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$QhODF3v-swnwSYvDbeEhU85gOBw;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$Yk86TTURTI5B9DzxOzMQGDq7aQU;
Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;
-Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$tRb4SPHGj0pcxb3p7arcqKFqs08;
-Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$xeJGAwCI8tssclwKFf8jMsYdoKQ;
+Lcom/android/server/wallpaper/-$$Lambda$havGP5uMdRgWQrLydPeIOu1qDGE;
Lcom/android/server/wallpaper/IWallpaperManagerService;
Lcom/android/server/wallpaper/WallpaperManagerInternal;
Lcom/android/server/wallpaper/WallpaperManagerService$1;
-Lcom/android/server/wallpaper/WallpaperManagerService$2;
-Lcom/android/server/wallpaper/WallpaperManagerService$3;
-Lcom/android/server/wallpaper/WallpaperManagerService$4;
-Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;
Lcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;
Lcom/android/server/wallpaper/WallpaperManagerService$LocalService;
Lcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;
@@ -20462,143 +22425,177 @@ Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;
Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;
Lcom/android/server/wallpaper/WallpaperManagerService;
-Lcom/android/server/webkit/SystemImpl$LazyHolder;
Lcom/android/server/webkit/SystemImpl;
Lcom/android/server/webkit/SystemInterface;
Lcom/android/server/webkit/WebViewUpdateService$1;
Lcom/android/server/webkit/WebViewUpdateService$BinderService;
Lcom/android/server/webkit/WebViewUpdateService;
Lcom/android/server/webkit/WebViewUpdateServiceImpl;
-Lcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;
-Lcom/android/server/webkit/WebViewUpdater$WebViewPackageMissingException;
Lcom/android/server/webkit/WebViewUpdater;
+Lcom/android/server/wm/-$$Lambda$-OevXHSXgaSE351ZqRnMoA024MM;
Lcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;
Lcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;
+Lcom/android/server/wm/-$$Lambda$1Hjf_Nn5x4aIy9rIBTwVrtrzWFA;
Lcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;
-Lcom/android/server/wm/-$$Lambda$3W4Y_XVQUddVKzLjibuHW7h0R1g;
-Lcom/android/server/wm/-$$Lambda$6DEhn1zqxqV5_Ytb_NyzMW23Ano;
+Lcom/android/server/wm/-$$Lambda$99XNq73vh8e4HVH9BuxFhbLxKVY;
+Lcom/android/server/wm/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;
Lcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;
-Lcom/android/server/wm/-$$Lambda$ActivityStack$7heVv97BezfdSlHS0oo3lugbypI;
+Lcom/android/server/wm/-$$Lambda$ActivityRecord$YSVwd546vKWMiMYy7MFzg1qRiio;
+Lcom/android/server/wm/-$$Lambda$ActivityRecord$YY5kCNb4uWg5W_2lbH3ZOqirP1g;
+Lcom/android/server/wm/-$$Lambda$ActivityRecord$tt99EJHW_Nk5qgU9galJBIm5wXg;
+Lcom/android/server/wm/-$$Lambda$ActivityStack$4P0uIgoCSUi6epIgwUfZymXLX2w;
+Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$0u1RcpeZ6m0BHDGGv8EXroS3KyE;
Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;
+Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$PHIj4FpzoLIwUTmMRMOYA9us0rc;
+Lcom/android/server/wm/-$$Lambda$ActivityStartController$6bTAPCVeDq_D4Y53Y5WNfMK4xBE;
Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$-xFyZDUKMraVkermSJGXQdN3oJ4;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$3DTHgCAeEd5OOF7ACeXoCk8mmrQ;
Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7Ia1bmRpPHHSNlbH8cuLw8dKG04;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7ieG0s-7Zp4H2bLiWdOgB6MqhcI;
Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$BXul1K8BX6JEv_ff3NT76qpeZGQ;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$U6g1UdnOPnEF9wX1OTm9nKVXY5k;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;
Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;
Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;
Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$yP9TbBmrgQ4lrgcxb-8oL1pBAs4;
+Lcom/android/server/wm/-$$Lambda$AlertWindowNotification$ZuqSYML-X-nkNVTba_yeIT9hJ1s;
+Lcom/android/server/wm/-$$Lambda$AlertWindowNotification$iVtcJMb6VtqtAgEtGUDCkGay0tM;
+Lcom/android/server/wm/-$$Lambda$AppTransition$B95jxKE2FnT5RNLStTafenhEYj4;
Lcom/android/server/wm/-$$Lambda$AppTransition$xrq-Gwel_FcpfDvO2DrCfGN_3bk;
-Lcom/android/server/wm/-$$Lambda$AppTransitionController$ESsBJ2royCDDfelW3z7cgYH5q2I;
-Lcom/android/server/wm/-$$Lambda$AppTransitionController$YfQg1m68hbvcHoXbvzomyslzuaU;
-Lcom/android/server/wm/-$$Lambda$AppTransitionController$j4jrKo6PKtYRjRfPVQMMiQB02jg;
-Lcom/android/server/wm/-$$Lambda$AppWindowToken$cwsF3cyeJjO4UiuaM07w8TBc698;
-Lcom/android/server/wm/-$$Lambda$AppWindowToken$jUUD3GIacKfmiVanGs_Dyy3FFqI;
+Lcom/android/server/wm/-$$Lambda$AppTransitionController$o_nkoN7a-ZHaSAgJCQZcboKz9Ig;
+Lcom/android/server/wm/-$$Lambda$AppTransitionController$z5kCoexPNTWFncmRBfeXr6HA2JA;
Lcom/android/server/wm/-$$Lambda$B58NKEOrr2mhFWeS3bqpaZnd11o;
+Lcom/android/server/wm/-$$Lambda$BEx3OWenCvYAaV5h_J2ZkZXhEcY;
Lcom/android/server/wm/-$$Lambda$BoundsAnimationController$3-yWz6AXIW5r1KElGtHEgHZdi5Q;
-Lcom/android/server/wm/-$$Lambda$DZzr1xJVO2dSdamoKdlelCfv9o4;
+Lcom/android/server/wm/-$$Lambda$BoundsAnimationController$MoVv_WhxoMrTVo-xz1qu2FMcYrM;
+Lcom/android/server/wm/-$$Lambda$DaFwIyqZTBVKE2y-TN2iE7CD-r8;
+Lcom/android/server/wm/-$$Lambda$Dimmer$DimState$QYvwJex5H10MFMe0LEzEUs1b2G0;
Lcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$1C_-u_mpQFfKL_O8K1VFzBgPg50;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$7uZtakUXzuXqF_Qht5Uq7LUvubI;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$7voe_dEKk2BYMriCvPuvaznb9WQ;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$BgTlvHbVclnASz-MrvERWxyMV-A;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$GuCKVzKP141d6J0gfRAjKtuBJUU;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$2VlyMN8z2sOPqE9-yf-z3-peRMI;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$D0QJUvhaQkGgoMtOmjw5foY9F8M;
Lcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;
Lcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;
Lcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$TPj3OjTsuIg5GTLb5nMmFqIghA4;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$SeHNTr4WUVpGmQniHULUi1ST7k8;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$rQnI0Y8R9ptQ09cGHwbCHDiG2FY;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$eJsj3GR1HdCnOJrZ8_oaLP52jg0;
Lcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$jJlRHCiYzTPceX3tUkQ_1wUz71E;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$oqhmXZMcpcvgI50swQTzosAcjac;
Lcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;
-Lcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;
-Lcom/android/server/wm/-$$Lambda$DisplayPolicy$ZodRZMHxBPaPezVW2fanpbNIqqQ;
-Lcom/android/server/wm/-$$Lambda$DisplayPolicy$_FsvHpVUi-gbWmSpT009cJNNmgM;
-Lcom/android/server/wm/-$$Lambda$DisplayPolicy$n40v5T_KP7EALj7NP3i_hv76V5o;
-Lcom/android/server/wm/-$$Lambda$DisplayPolicy$xlVRxCROc8UPmV4pH747oZzvS58;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$3MnyIKSHFLqhfUifWEQPNp_-J6A;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$IOyP8YVRG92tn9u1muYWZgBbgc0;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$J8sIwXJvltUaPM3jEGO948Bx9ig;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$LkHee4mchNXMwNt7HLgsMzHofeE;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$QDPgWUhyEOraWnf6a-u4mTBttdw;
+Lcom/android/server/wm/-$$Lambda$DragState$-yUFIMrhYYccZ0gwd6eVcpAE93o;
Lcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;
Lcom/android/server/wm/-$$Lambda$InsetsStateController$pXoYGy4X5aPw1QFi0iIWKiTMlDg;
Lcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;
+Lcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;
Lcom/android/server/wm/-$$Lambda$LYW1ECaEajjYgarzgKdTZ4O1fi0;
+Lcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;
+Lcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$QcawcFcJtEX4EhYptq_Vb4j368Y;
+Lcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;
+Lcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$lAGPwfsXJvBWsyG2rbEfo3sTv34;
+Lcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;
Lcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;
Lcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;
Lcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;
+Lcom/android/server/wm/-$$Lambda$PendingRemoteAnimationRegistry$Entry$giivzkMgzIxukCXvO2EVzLb0oxo;
Lcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;
-Lcom/android/server/wm/-$$Lambda$PinnedStackController$PinnedStackControllerCallback$MdGjZinCTxKrX3GJTl1CXkAuFro;
-Lcom/android/server/wm/-$$Lambda$RecentTasks$KPkDUQ9KJ-vmXlmV8HHAucQJJdQ;
+Lcom/android/server/wm/-$$Lambda$RecentTasks$eaeTjEEoVsLAhHFPccdtbbB3Lrk;
+Lcom/android/server/wm/-$$Lambda$RemoteAnimationController$74uuXaM2TqjkzYi0b8LqJdbycxA;
+Lcom/android/server/wm/-$$Lambda$RemoteAnimationController$dP8qDptNigoqhzVtIudsX5naGu4;
+Lcom/android/server/wm/-$$Lambda$RemoteAnimationController$uQS8vaPKQ-E3x_9G8NCxPQmw1fw;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$7XcqfZjQLAbjpIyed3iDnVtZro4;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$IlD1lD49ui7gQmU2NkxgnXIhlOo;
Lcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$auMc5HUrsvttHP3CYY9dttuuvi8;
Lcom/android/server/wm/-$$Lambda$RootWindowContainer$qT2ficAmvrvFcBdiJIGNKxJ8Z9Q;
Lcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;
-Lcom/android/server/wm/-$$Lambda$RootWindowContainer$zN9AhOirpieCrP6YNeTmpaApULQ;
-Lcom/android/server/wm/-$$Lambda$RunningTasks$B8bQN-i7MO0XIePhmkVnejRGNp0;
+Lcom/android/server/wm/-$$Lambda$RunningTasks$MPCBAZpSXKx53M7vrqtvLfftJOc;
Lcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;
Lcom/android/server/wm/-$$Lambda$StatusBarController$1$CizMeoiz6ZVrkt6kAKpSV5htmyc;
Lcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;
Lcom/android/server/wm/-$$Lambda$StatusBarController$1$x4q7e0Eysf0ynMSdT1A-JN_ucuI;
Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60;
+Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$SGOilG6qRe0XTsTJRQqQKhta0pA;
Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;
Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;
Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;
Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;
-Lcom/android/server/wm/-$$Lambda$SurfaceAnimator$SIBia0mND666K8lMCPsoid8pUTI;
+Lcom/android/server/wm/-$$Lambda$SurfaceAnimator$M9kRDTUpVS03LTqe-QLQz3DnMhk;
Lcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$0m_-qN9QkcgkoWun2Biw8le4l1Y;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Dvvt1gNNfFRVEKlSCdL_9VnilUE;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Kz-Od_gLhLbMtGka4r78W0Gmzgo;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$PSFFTNiSSqx5-emiM-hoY62N04M;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$VuvWLQaLHifVGvurVv75MXCukH0;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$byMDuIFUN4cQ1lT9jVjMwLhaLDw;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$cFUeUwnRjuOQKcg2c4PnDS0ImTw;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$k0FXXC-HcWJhmtm6-Kruo6nGeXI;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$qONfw3ssOxjb_iMuO2oMzCbXfrg;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sS6OHbZtuWHjzmkm8bleSWZWFqA;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$sdBP_U6BS8zRbtZp-gZ0BmFW8bs;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;
Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;
-Lcom/android/server/wm/-$$Lambda$TaskTapPointerEventListener$Qq8YAj6yai3RMz5wJNKGVJNqsPM;
-Lcom/android/server/wm/-$$Lambda$UB90fpYUkajpKCLGR93ZDlgDhyw;
+Lcom/android/server/wm/-$$Lambda$TaskPersister$mW0HULrR8EtZ9La-pL9kLTnHSzk;
+Lcom/android/server/wm/-$$Lambda$TaskPositioningController$u0oAwi82C-bAGo2JAsAc_9ZLi70;
+Lcom/android/server/wm/-$$Lambda$TaskSnapshotController$b7mc92hqzbRpmpc99dYS4wKuL6Y;
+Lcom/android/server/wm/-$$Lambda$UZl9uqUNteVgplGGEK6TMzf-7zk;
+Lcom/android/server/wm/-$$Lambda$UnknownAppVisibilityController$FYhcjOhYWVp6HX5hr3GGaPg67Gc;
+Lcom/android/server/wm/-$$Lambda$VY87MmFWaCLMkNa2qHGaPrThyrI;
Lcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;
+Lcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;
Lcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;
Lcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;
Lcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;
-Lcom/android/server/wm/-$$Lambda$WindowManagerService$wGh8jzmWqrd_7ruovSXZoiIk1s0;
-Lcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$4Hbamt-LFcbu8AoZBoOZN_LveKQ;
Lcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;
-Lcom/android/server/wm/-$$Lambda$WindowTracing$lz89IHzR4nKO_ZtXtwyNGkRleMY;
-Lcom/android/server/wm/-$$Lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI;
+Lcom/android/server/wm/-$$Lambda$Z9QEXZevRsInPMEXX0zFWg8YGMQ;
Lcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;
Lcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;
-Lcom/android/server/wm/-$$Lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;
-Lcom/android/server/wm/-$$Lambda$hOONSPF2N4ZIr-bSc1utsg8aP-c;
Lcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;
Lcom/android/server/wm/-$$Lambda$iQxeP_PsHHArcPSFabJ3FXyPKNc;
Lcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;
-Lcom/android/server/wm/-$$Lambda$p4YgPONtKWpvUwa_nwQPB8_Za6I;
+Lcom/android/server/wm/-$$Lambda$j9nJq2XXOKyN4f0dfDaTjqmQRvg;
Lcom/android/server/wm/-$$Lambda$pAuPvwUqsKCejIrAPrx0ARZSqeY;
-Lcom/android/server/wm/-$$Lambda$pOh7At8PXGw9JWVkfdjoNb7hsIg;
+Lcom/android/server/wm/-$$Lambda$qMFJUmfG50ZSjk7Tac67xBia0d4;
Lcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;
+Lcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;
Lcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;
-Lcom/android/server/wm/-$$Lambda$yIIsPVyXvnU3Rv8mcliit-gIpSs;
Lcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;
+Lcom/android/server/wm/-$$Lambda$z5j5fiv3cZuY5AODkt3H3rhKimk;
+Lcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;
Lcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;
+Lcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver$MyHandler;
+Lcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;
+Lcom/android/server/wm/ActivityDisplay$OnStackOrderChangedListener;
Lcom/android/server/wm/ActivityDisplay;
Lcom/android/server/wm/ActivityMetricsLaunchObserver;
Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
-Lcom/android/server/wm/ActivityMetricsLogger$H;
-Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;
Lcom/android/server/wm/ActivityMetricsLogger;
+Lcom/android/server/wm/ActivityRecord$AddStartingWindow;
Lcom/android/server/wm/ActivityRecord$Token;
Lcom/android/server/wm/ActivityRecord;
-Lcom/android/server/wm/ActivityStack$1;
+Lcom/android/server/wm/ActivityServiceConnectionsHolder;
Lcom/android/server/wm/ActivityStack$ActivityStackHandler;
Lcom/android/server/wm/ActivityStack$ActivityState;
Lcom/android/server/wm/ActivityStack;
Lcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;
+Lcom/android/server/wm/ActivityStackSupervisor$PendingActivityLaunch;
Lcom/android/server/wm/ActivityStackSupervisor;
Lcom/android/server/wm/ActivityStartController$StartHandler;
Lcom/android/server/wm/ActivityStartController;
@@ -20610,29 +22607,31 @@ Lcom/android/server/wm/ActivityStarter;
Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;
Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
Lcom/android/server/wm/ActivityTaskManagerInternal;
+Lcom/android/server/wm/ActivityTaskManagerService$1;
Lcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;
Lcom/android/server/wm/ActivityTaskManagerService$H;
Lcom/android/server/wm/ActivityTaskManagerService$Lifecycle;
Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
+Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;
Lcom/android/server/wm/ActivityTaskManagerService$UiHandler;
Lcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;
Lcom/android/server/wm/ActivityTaskManagerService;
-Lcom/android/server/wm/AnimatingAppWindowTokenRegistry;
+Lcom/android/server/wm/AlertWindowNotification;
+Lcom/android/server/wm/AnimatingActivityRegistry;
Lcom/android/server/wm/AnimationAdapter;
-Lcom/android/server/wm/AppTokenList;
-Lcom/android/server/wm/AppTransition$1;
-Lcom/android/server/wm/AppTransition$2;
+Lcom/android/server/wm/AppTaskImpl;
Lcom/android/server/wm/AppTransition;
Lcom/android/server/wm/AppTransitionController;
Lcom/android/server/wm/AppWarnings$ConfigHandler;
Lcom/android/server/wm/AppWarnings$UiHandler;
Lcom/android/server/wm/AppWarnings;
-Lcom/android/server/wm/AppWindowToken$1;
-Lcom/android/server/wm/AppWindowToken;
+Lcom/android/server/wm/BarController$1;
Lcom/android/server/wm/BarController$BarHandler;
Lcom/android/server/wm/BarController$OnBarVisibilityChangedListener;
Lcom/android/server/wm/BarController;
+Lcom/android/server/wm/BlackFrame;
Lcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;
+Lcom/android/server/wm/BoundsAnimationController$BoundsAnimator;
Lcom/android/server/wm/BoundsAnimationController;
Lcom/android/server/wm/BoundsAnimationTarget;
Lcom/android/server/wm/ClientLifecycleManager;
@@ -20640,46 +22639,48 @@ Lcom/android/server/wm/CompatModePackages$CompatHandler;
Lcom/android/server/wm/CompatModePackages;
Lcom/android/server/wm/ConfigurationContainer;
Lcom/android/server/wm/ConfigurationContainerListener;
+Lcom/android/server/wm/Dimmer$AlphaAnimationSpec;
+Lcom/android/server/wm/Dimmer$DimAnimatable;
+Lcom/android/server/wm/Dimmer$DimState;
Lcom/android/server/wm/Dimmer$SurfaceAnimatorStarter;
Lcom/android/server/wm/Dimmer;
Lcom/android/server/wm/DisplayContent$AboveAppWindowContainers;
-Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;
Lcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;
Lcom/android/server/wm/DisplayContent$NonAppWindowContainers;
-Lcom/android/server/wm/DisplayContent$NonMagnifiableWindowContainers;
-Lcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult;
Lcom/android/server/wm/DisplayContent$TaskStackContainers;
Lcom/android/server/wm/DisplayContent;
Lcom/android/server/wm/DisplayFrames;
Lcom/android/server/wm/DisplayPolicy$1;
Lcom/android/server/wm/DisplayPolicy$2;
-Lcom/android/server/wm/DisplayPolicy$3;
-Lcom/android/server/wm/DisplayPolicy$4;
Lcom/android/server/wm/DisplayPolicy$PolicyHandler;
Lcom/android/server/wm/DisplayPolicy;
Lcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;
Lcom/android/server/wm/DisplayRotation$OrientationListener;
Lcom/android/server/wm/DisplayRotation$SettingsObserver;
Lcom/android/server/wm/DisplayRotation;
-Lcom/android/server/wm/DisplayWindowSettings$Entry;
Lcom/android/server/wm/DisplayWindowSettings;
Lcom/android/server/wm/DockedStackDividerController;
-Lcom/android/server/wm/DragDropController$1;
Lcom/android/server/wm/DragDropController$DragHandler;
Lcom/android/server/wm/DragDropController;
-Lcom/android/server/wm/ImmersiveModeConfirmation$1;
+Lcom/android/server/wm/DragInputEventReceiver;
+Lcom/android/server/wm/DragState$InputInterceptor;
+Lcom/android/server/wm/DragState;
+Lcom/android/server/wm/HighRefreshRateBlacklist;
+Lcom/android/server/wm/ImeInsetsSourceProvider;
Lcom/android/server/wm/ImmersiveModeConfirmation$H;
Lcom/android/server/wm/ImmersiveModeConfirmation;
Lcom/android/server/wm/InputConsumerImpl;
Lcom/android/server/wm/InputManagerCallback;
-Lcom/android/server/wm/InputMonitor$1;
+Lcom/android/server/wm/InputMonitor$EventReceiverInputConsumer;
Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;
+Lcom/android/server/wm/InputMonitor$UpdateInputWindows;
Lcom/android/server/wm/InputMonitor;
+Lcom/android/server/wm/InsetsControlTarget;
+Lcom/android/server/wm/InsetsPolicy;
Lcom/android/server/wm/InsetsSourceProvider;
Lcom/android/server/wm/InsetsStateController;
Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;
Lcom/android/server/wm/KeyguardController;
-Lcom/android/server/wm/KeyguardDisableHandler$1;
Lcom/android/server/wm/KeyguardDisableHandler$2;
Lcom/android/server/wm/KeyguardDisableHandler$Injector;
Lcom/android/server/wm/KeyguardDisableHandler;
@@ -20687,53 +22688,68 @@ Lcom/android/server/wm/LaunchObserverRegistryImpl;
Lcom/android/server/wm/LaunchParamsController$LaunchParams;
Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;
Lcom/android/server/wm/LaunchParamsController;
+Lcom/android/server/wm/LaunchParamsPersister$CleanUpComponentQueueItem;
Lcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;
Lcom/android/server/wm/LaunchParamsPersister$PackageListObserver;
Lcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;
Lcom/android/server/wm/LaunchParamsPersister;
+Lcom/android/server/wm/Letterbox$InputInterceptor;
+Lcom/android/server/wm/Letterbox$LetterboxSurface;
+Lcom/android/server/wm/Letterbox;
Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;
Lcom/android/server/wm/LocalAnimationAdapter;
Lcom/android/server/wm/LockTaskController$LockTaskToken;
Lcom/android/server/wm/LockTaskController;
Lcom/android/server/wm/MirrorActiveUids;
-Lcom/android/server/wm/NavigationBarExperiments;
Lcom/android/server/wm/PendingRemoteAnimationRegistry$Entry;
Lcom/android/server/wm/PendingRemoteAnimationRegistry;
Lcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;
Lcom/android/server/wm/PersisterQueue$Listener;
Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
Lcom/android/server/wm/PersisterQueue;
-Lcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;
Lcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;
Lcom/android/server/wm/PinnedStackController;
Lcom/android/server/wm/PointerEventDispatcher;
+Lcom/android/server/wm/PolicyControl$Filter;
Lcom/android/server/wm/PolicyControl;
+Lcom/android/server/wm/ProtoLogGroup;
Lcom/android/server/wm/RecentTasks$1;
Lcom/android/server/wm/RecentTasks$Callbacks;
Lcom/android/server/wm/RecentTasks;
+Lcom/android/server/wm/RecentsAnimation;
+Lcom/android/server/wm/RecentsAnimationController$1;
+Lcom/android/server/wm/RecentsAnimationController$2;
Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;
+Lcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;
+Lcom/android/server/wm/RecentsAnimationController;
+Lcom/android/server/wm/RefreshRatePolicy;
+Lcom/android/server/wm/RemoteAnimationController$FinishedCallback;
+Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;
+Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;
+Lcom/android/server/wm/RemoteAnimationController;
Lcom/android/server/wm/RootActivityContainer$FindTaskResult;
+Lcom/android/server/wm/RootActivityContainer$FinishDisabledPackageActivitiesHelper;
Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;
Lcom/android/server/wm/RootActivityContainer;
Lcom/android/server/wm/RootWindowContainer$MyHandler;
Lcom/android/server/wm/RootWindowContainer;
Lcom/android/server/wm/RunningTasks;
Lcom/android/server/wm/SafeActivityOptions;
+Lcom/android/server/wm/ScreenRotationAnimation;
+Lcom/android/server/wm/SeamlessRotator;
Lcom/android/server/wm/Session;
+Lcom/android/server/wm/SplashScreenStartingData;
+Lcom/android/server/wm/StartingData;
Lcom/android/server/wm/StatusBarController$1;
Lcom/android/server/wm/StatusBarController;
Lcom/android/server/wm/SurfaceAnimationRunner$1;
Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;
-Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;
Lcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;
Lcom/android/server/wm/SurfaceAnimationRunner;
Lcom/android/server/wm/SurfaceAnimationThread;
Lcom/android/server/wm/SurfaceAnimator$Animatable;
Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
Lcom/android/server/wm/SurfaceAnimator;
-Lcom/android/server/wm/SurfaceBuilderFactory;
-Lcom/android/server/wm/SurfaceFactory;
-Lcom/android/server/wm/SystemGesturesPointerEventListener$1;
Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;
Lcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;
Lcom/android/server/wm/SystemGesturesPointerEventListener;
@@ -20742,44 +22758,43 @@ Lcom/android/server/wm/TaskChangeNotificationController$MainHandler;
Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
Lcom/android/server/wm/TaskChangeNotificationController;
Lcom/android/server/wm/TaskLaunchParamsModifier;
+Lcom/android/server/wm/TaskPersister$1;
+Lcom/android/server/wm/TaskPersister$ImageWriteQueueItem;
+Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;
Lcom/android/server/wm/TaskPersister;
Lcom/android/server/wm/TaskPositioningController;
-Lcom/android/server/wm/TaskRecord$TaskActivitiesReport;
-Lcom/android/server/wm/TaskRecord$TaskRecordFactory;
-Lcom/android/server/wm/TaskRecord;
+Lcom/android/server/wm/TaskSnapshotCache$CacheEntry;
Lcom/android/server/wm/TaskSnapshotCache;
Lcom/android/server/wm/TaskSnapshotController;
Lcom/android/server/wm/TaskSnapshotLoader;
Lcom/android/server/wm/TaskSnapshotPersister$1;
+Lcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;
Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;
Lcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;
+Lcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;
Lcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;
Lcom/android/server/wm/TaskSnapshotPersister;
-Lcom/android/server/wm/TaskStack;
+Lcom/android/server/wm/TaskSnapshotSurface$1;
+Lcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;
+Lcom/android/server/wm/TaskSnapshotSurface$Window;
+Lcom/android/server/wm/TaskSnapshotSurface;
Lcom/android/server/wm/TaskTapPointerEventListener;
-Lcom/android/server/wm/TransactionFactory;
Lcom/android/server/wm/UnknownAppVisibilityController;
Lcom/android/server/wm/VrController$1;
Lcom/android/server/wm/VrController;
-Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;
+Lcom/android/server/wm/WallpaperAnimationAdapter;
Lcom/android/server/wm/WallpaperController;
Lcom/android/server/wm/WallpaperVisibilityListeners;
Lcom/android/server/wm/WallpaperWindowToken;
-Lcom/android/server/wm/WindowAnimationSpec$TmpValues;
Lcom/android/server/wm/WindowAnimationSpec;
-Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
Lcom/android/server/wm/WindowAnimator;
Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;
Lcom/android/server/wm/WindowContainer;
-Lcom/android/server/wm/WindowContainerController;
-Lcom/android/server/wm/WindowContainerListener;
Lcom/android/server/wm/WindowFrames;
-Lcom/android/server/wm/WindowHashMap;
Lcom/android/server/wm/WindowList;
Lcom/android/server/wm/WindowManagerGlobalLock;
Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
Lcom/android/server/wm/WindowManagerInternal$IDragDropCallback;
-Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;
Lcom/android/server/wm/WindowManagerInternal;
Lcom/android/server/wm/WindowManagerService$10;
Lcom/android/server/wm/WindowManagerService$1;
@@ -20794,562 +22809,47 @@ Lcom/android/server/wm/WindowManagerService$AppFreezeListener;
Lcom/android/server/wm/WindowManagerService$H;
Lcom/android/server/wm/WindowManagerService$LocalService;
Lcom/android/server/wm/WindowManagerService$MousePositionTracker;
-Lcom/android/server/wm/WindowManagerService$RotationWatcher;
Lcom/android/server/wm/WindowManagerService$SettingsObserver;
Lcom/android/server/wm/WindowManagerService;
Lcom/android/server/wm/WindowManagerThreadPriorityBooster;
Lcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;
Lcom/android/server/wm/WindowProcessController;
+Lcom/android/server/wm/WindowProcessControllerMap;
Lcom/android/server/wm/WindowProcessListener;
Lcom/android/server/wm/WindowState$1;
Lcom/android/server/wm/WindowState$2;
+Lcom/android/server/wm/WindowState$3;
Lcom/android/server/wm/WindowState$DeathRecipient;
+Lcom/android/server/wm/WindowState$MoveAnimationSpec;
Lcom/android/server/wm/WindowState$PowerManagerWrapper;
Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;
Lcom/android/server/wm/WindowState$WindowId;
Lcom/android/server/wm/WindowState;
Lcom/android/server/wm/WindowStateAnimator;
Lcom/android/server/wm/WindowSurfaceController;
+Lcom/android/server/wm/WindowSurfacePlacer$Traverser;
Lcom/android/server/wm/WindowSurfacePlacer;
Lcom/android/server/wm/WindowToken;
-Lcom/android/server/wm/WindowTraceBuffer;
Lcom/android/server/wm/WindowTracing;
+Lcom/android/server/wm/animation/ClipRectLRAnimation;
+Lcom/android/server/wm/animation/ClipRectTBAnimation;
Lcom/android/server/wm/utils/CoordinateTransforms;
Lcom/android/server/wm/utils/DisplayRotationUtil;
Lcom/android/server/wm/utils/InsetUtils;
Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;
Lcom/android/server/wm/utils/RotationCache;
Lcom/android/server/wm/utils/WmDisplayCutout;
-Lcom/android/timezone/distro/DistroException;
+Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$6ikxM-3KospNGDidAY7yA-rECHw;
+Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$B9wq4q5y7qahY6TuLMO_s8nPIwY;
+Lcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$J1AHa-Qs75WQr3stjbN97THbudE;
+Lcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunchFinished;
+Lcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunched;
+Lcom/google/android/startop/iorap/AppLaunchEvent$BaseWithActivityRecordData;
+Lcom/google/android/startop/iorap/AppLaunchEvent$IntentStarted;
+Lcom/google/android/startop/iorap/AppLaunchEvent;
+Lcom/google/android/startop/iorap/IIorap$Stub$Proxy;
+Lcom/google/android/startop/iorap/IIorap;
Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;
-Lcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;
+Lcom/google/android/startop/iorap/IorapForwardingService$RemoteRunnable;
Lcom/google/android/startop/iorap/IorapForwardingService;
-HPLandroid/hardware/health/V1_0/HealthInfo;-><init>()V
-HPLandroid/hardware/health/V2_0/DiskStats;-><init>()V
-HPLcom/android/server/-$$Lambda$GnssManagerService$a17GVVAgEci0VYD4EMvKwuPLhdQ;->onUidImportance(II)V
-HPLcom/android/server/-$$Lambda$GnssManagerService$mZAgy7PA5q3tB1aq7tHsX4xM14E;->run()V
-HPLcom/android/server/-$$Lambda$LocationManagerService$GVLGDgL1Vk3AKo-zMjRmo3-OLpQ;->run()V
-HPLcom/android/server/-$$Lambda$LocationManagerService$tHPgS5c0niUhGntiX8gOnWrZpg8;->onUidImportance(II)V
-HPLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityUserState;)V
-HPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I
-HPLcom/android/server/am/-$$Lambda$OomAdjuster$OVkqAAacT5-taN3pgDzyZj3Ymvk;->handleMessage(Landroid/os/Message;)Z
-HPLcom/android/server/am/-$$Lambda$ProcessList$vtq7LF5jIHO4t5NE03c8g7BT7Jc;->run()V
-HPLcom/android/server/am/ActivityManagerService$2;->onActivityLaunched([BI)V
-HPLcom/android/server/am/ActivityManagerService$4;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
-HPLcom/android/server/am/ActivityManagerService$4;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HPLcom/android/server/am/ActivityManagerService$PidMap;->put(Lcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/ActivityManagerService;->trimApplications(Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZLjava/lang/String;)Z
-HPLcom/android/server/am/HostingRecord;->getName()Ljava/lang/String;
-HPLcom/android/server/am/HostingRecord;->getType()Ljava/lang/String;
-HPLcom/android/server/am/OomAdjuster;->setAttachingSchedGroupLocked(Lcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/HostingRecord;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Z
-HPLcom/android/server/am/ProcessRecord;->computeOomAdjFromActivitiesIfNecessary(Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;IZIIIII)V
-HPLcom/android/server/appop/AppOpsService$FeatureOp;->started(JII)V
-HPLcom/android/server/appop/AppOpsService$FeatureOp;->updateProxyState(JILjava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;Ljava/lang/String;)I
-HPLcom/android/server/appop/AudioRestrictionManager;->checkAudioOperation(IIILjava/lang/String;)I
-HPLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$4yDhFef-19aMlJ-Y7O6RdjSAvnk;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
-HPLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$qroIh2ewx0BLP-J9XIAX2CaX8J4;-><init>(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
-HPLcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;->runForUserLocked(Ljava/lang/String;Ljava/util/function/Consumer;)V
-HPLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$notifyAppTargetEvent$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
-HPLcom/android/server/audio/SoundEffectsHelper$SfxHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/autofill/AutofillManagerService$AugmentedAutofillState;->injectAugmentedAutofillInfo(Landroid/content/AutofillOptions;ILjava/lang/String;)V
-HPLcom/android/server/autofill/AutofillManagerService$LocalService;->injectDisableAppInfo(Landroid/content/AutofillOptions;ILjava/lang/String;)V
-HPLcom/android/server/compat/CompatConfig;->getDisabledChanges(Landroid/content/pm/ApplicationInfo;)[J
-HPLcom/android/server/compat/CompatConfig;->get()Lcom/android/server/compat/CompatConfig;
-HPLcom/android/server/compat/PlatformCompat;->resetReporting(Landroid/content/pm/ApplicationInfo;)V
-HPLcom/android/server/contentcapture/ContentCaptureManagerService$GlobalContentCaptureOptions;->getOptions(ILjava/lang/String;)Landroid/content/ContentCaptureOptions;
-HPLcom/android/server/input/InputManagerService;->onPointerDownOutsideFocus(Landroid/os/IBinder;)V
-HPLcom/android/server/input/InputManagerService;->registerInputChannel(Landroid/view/InputChannel;)V
-HPLcom/android/server/inputmethod/InputMethodManagerService;->getActivityViewToScreenMatrixLocked(II)Landroid/graphics/Matrix;
-HPLcom/android/server/media/projection/MediaProjectionManagerService$1;->onForegroundActivitiesChanged(IIZ)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(II)I
-HPLcom/android/server/pm/permission/PermissionManagerService;->checkSingleUidPermissionInternal(ILjava/lang/String;)Z
-HPLcom/android/server/policy/PermissionPolicyService$Internal;->checkStartActivity(Landroid/content/Intent;ILjava/lang/String;)Z
-HPLcom/android/server/soundtrigger/SoundTriggerHelper;->computeRecognitionRequestedLocked()Z
-HPLcom/android/server/soundtrigger/SoundTriggerHelper;->isRecognitionAllowed()Z
-HPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$dQguzfF4tEgBOj3Pr8MpGRN8HT0;->run()V
-HPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$u5u_W7qW5cMnzk9Qhp_oReST4Dc;->run()V
-HPLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(ILandroid/os/IBinder;IIZZ)V
-HPLcom/android/server/usage/UsageStatsService;->reportEventOrAddToQueue(ILandroid/app/usage/UsageEvents$Event;)V
-HPLcom/android/server/usage/UserUsageStatsService;->checkAndGetTimeLocked()J
-HPLcom/android/server/wm/-$$Lambda$1Hjf_Nn5x4aIy9rIBTwVrtrzWFA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-HPLcom/android/server/wm/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;->get()Ljava/lang/Object;
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$BGON-BKR54yaxY8PHFXNV2xpxCM;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$tt99EJHW_Nk5qgU9galJBIm5wXg;->run()V
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$YSVwd546vKWMiMYy7MFzg1qRiio;-><init>(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$YY5kCNb4uWg5W_2lbH3ZOqirP1g;->apply(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$a4EkCBfpZNIl1xfYgm2ktgndF8w;->apply(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$D0QJUvhaQkGgoMtOmjw5foY9F8M;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$eJsj3GR1HdCnOJrZ8_oaLP52jg0;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$SeHNTr4WUVpGmQniHULUi1ST7k8;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$sYPOy6TL-QiWuU_jcEHYn4HeFnQ;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$3MnyIKSHFLqhfUifWEQPNp_-J6A;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$IOyP8YVRG92tn9u1muYWZgBbgc0;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$J8sIwXJvltUaPM3jEGO948Bx9ig;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$LkHee4mchNXMwNt7HLgsMzHofeE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$QDPgWUhyEOraWnf6a-u4mTBttdw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$qQY9m_Itua9TDy-Nk3zzDxvjEwE;->run()V
-HPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$QcawcFcJtEX4EhYptq_Vb4j368Y;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$veRn_GhgLZLlOHOJ0ZYT6KcfYqo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$qMFJUmfG50ZSjk7Tac67xBia0d4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$RemoteAnimationController$74uuXaM2TqjkzYi0b8LqJdbycxA;-><init>(Lcom/android/server/wm/RemoteAnimationController;[Landroid/view/RemoteAnimationTarget;[Landroid/view/RemoteAnimationTarget;)V
-HPLcom/android/server/wm/-$$Lambda$RemoteAnimationController$74uuXaM2TqjkzYi0b8LqJdbycxA;->run()V
-HPLcom/android/server/wm/-$$Lambda$RootWindowContainer$7XcqfZjQLAbjpIyed3iDnVtZro4;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$SurfaceAnimator$M9kRDTUpVS03LTqe-QLQz3DnMhk;-><init>(Lcom/android/server/wm/SurfaceAnimator;Lcom/android/server/wm/AnimationAdapter;Ljava/lang/Runnable;)V
-HPLcom/android/server/wm/-$$Lambda$SurfaceAnimator$M9kRDTUpVS03LTqe-QLQz3DnMhk;->run()V
-HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Kz-Od_gLhLbMtGka4r78W0Gmzgo;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-HPLcom/android/server/wm/-$$Lambda$TaskPersister$xdLXwftXa6l84QTg1zpxMnmtQ0g;-><init>(Lcom/android/server/wm/TaskRecord;)V
-HPLcom/android/server/wm/-$$Lambda$uwO6wQlqU3CG7OTdH7NBCKnHs64;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$UZl9uqUNteVgplGGEK6TMzf-7zk;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$VY87MmFWaCLMkNa2qHGaPrThyrI;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/ActivityDisplay;->alwaysCreateStack(II)Z
-HPLcom/android/server/wm/ActivityDisplay;->pauseBackStacks(ZLcom/android/server/wm/ActivityRecord;)Z
-HPLcom/android/server/wm/ActivityDisplay;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
-HPLcom/android/server/wm/ActivityMetricsLogger;->reset(ZLcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;Ljava/lang/String;J)V
-HPLcom/android/server/wm/ActivityRecord$AddStartingWindow;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord$1;)V
-HPLcom/android/server/wm/ActivityRecord$AddStartingWindow;->run()V
-HPLcom/android/server/wm/ActivityRecord$Token;-><init>(Landroid/content/Intent;)V
-HPLcom/android/server/wm/ActivityRecord;->addWindow(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/ActivityRecord;->adjustPinnedStackAndInitChangeTransitionIfNeeded(II)V
-HPLcom/android/server/wm/ActivityRecord;->asActivityRecord()Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/ActivityRecord;->checkAppWindowsReadyToShow()V
-HPLcom/android/server/wm/ActivityRecord;->checkCompleteDeferredRemoval()Z
-HPLcom/android/server/wm/ActivityRecord;->clearAnimatingFlags()V
-HPLcom/android/server/wm/ActivityRecord;->commitVisibility(Landroid/view/WindowManager$LayoutParams;ZIZZ)Z
-HPLcom/android/server/wm/ActivityRecord;->computeBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/ActivityRecord;->containsDismissKeyguardWindow()Z
-HPLcom/android/server/wm/ActivityRecord;->containsShowWhenLockedWindow()Z
-HPLcom/android/server/wm/ActivityRecord;->destroySurfaces(Z)V
-HPLcom/android/server/wm/ActivityRecord;->detachChildren()V
-HPLcom/android/server/wm/ActivityRecord;->fillsParent()Z
-HPLcom/android/server/wm/ActivityRecord;->findMainWindow()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/ActivityRecord;->findMainWindow(Z)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/ActivityRecord;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/ActivityRecord;->getAnimationLeashParent()Landroid/view/SurfaceControl;
-HPLcom/android/server/wm/ActivityRecord;->getDisplayedBounds()Landroid/graphics/Rect;
-HPLcom/android/server/wm/ActivityRecord;->getOrientation(I)I
-HPLcom/android/server/wm/ActivityRecord;->getStartingWindowType(ZZZZZZLandroid/app/ActivityManager$TaskSnapshot;)I
-HPLcom/android/server/wm/ActivityRecord;->getTask()Lcom/android/server/wm/Task;
-HPLcom/android/server/wm/ActivityRecord;->handleAlreadyVisible()V
-HPLcom/android/server/wm/ActivityRecord;->isAppAnimating()Z
-HPLcom/android/server/wm/ActivityRecord;->isClientHidden()Z
-HPLcom/android/server/wm/ActivityRecord;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/ActivityRecord;->isResolverOrDelegateActivity()Z
-HPLcom/android/server/wm/ActivityRecord;->isSelfAnimating()Z
-HPLcom/android/server/wm/ActivityRecord;->isVisible()Z
-HPLcom/android/server/wm/ActivityRecord;->isWaitingForTransitionStart()Z
-HPLcom/android/server/wm/ActivityRecord;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/ActivityRecord;->makeInvisible()V
-HPLcom/android/server/wm/ActivityRecord;->needsZBoost()Z
-HPLcom/android/server/wm/ActivityRecord;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-HPLcom/android/server/wm/ActivityRecord;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/ActivityRecord;->onAppTransitionDone()V
-HPLcom/android/server/wm/ActivityRecord;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-HPLcom/android/server/wm/ActivityRecord;->onParentChanged()V
-HPLcom/android/server/wm/ActivityRecord;->postWindowRemoveStartingWindowCleanup(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/ActivityRecord;->prepareSurfaces()V
-HPLcom/android/server/wm/ActivityRecord;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-HPLcom/android/server/wm/ActivityRecord;->removeStartingWindow()V
-HPLcom/android/server/wm/ActivityRecord;->scheduleAddStartingWindow()V
-HPLcom/android/server/wm/ActivityRecord;->scheduleTopResumedActivityChanged(Z)Z
-HPLcom/android/server/wm/ActivityRecord;->setHidden(Z)V
-HPLcom/android/server/wm/ActivityRecord;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HPLcom/android/server/wm/ActivityRecord;->setVisibility(ZZ)V
-HPLcom/android/server/wm/ActivityRecord;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
-HPLcom/android/server/wm/ActivityRecord;->stopFreezingScreen(ZZ)V
-HPLcom/android/server/wm/ActivityRecord;->stopIfPossible()V
-HPLcom/android/server/wm/ActivityRecord;->transferStartingWindow(Landroid/os/IBinder;)Z
-HPLcom/android/server/wm/ActivityRecord;->updateAllDrawn()V
-HPLcom/android/server/wm/ActivityRecord;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/ActivityRecord;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/ActivityRecord;->updateReportedVisibilityLocked()V
-HPLcom/android/server/wm/ActivityRecord;->windowsAreFocusable()Z
-HPLcom/android/server/wm/ActivityRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
-HPLcom/android/server/wm/ActivityStack;->removeLaunchTickMessages()V
-HPLcom/android/server/wm/ActivityStack;->removeStopTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/ActivityStack;->scheduleLaunchTickForActivity(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/ActivityStack;->topTask()Lcom/android/server/wm/TaskRecord;
-HPLcom/android/server/wm/ActivityStarter;->startActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;Z)I
-HPLcom/android/server/wm/ActivityTaskManagerService;->addWindowLayoutReasons(I)V
-HPLcom/android/server/wm/ActivityTaskManagerService;->continueWindowLayout()V
-HPLcom/android/server/wm/ActivityTaskManagerService;->deferWindowLayout()V
-HPLcom/android/server/wm/ActivityTaskManagerService;->getPermissionPolicyInternal()Lcom/android/server/policy/PermissionPolicyInternal;
-HPLcom/android/server/wm/ActivityTaskManagerService;->isCrossUserAllowed(II)Z
-HPLcom/android/server/wm/ActivityTaskManagerService;->startProcessAsync(Lcom/android/server/wm/ActivityRecord;ZZLjava/lang/String;)V
-HPLcom/android/server/wm/AppTransitionController;->findAnimLayoutParamsToken(ILandroid/util/ArraySet;)Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/AppTransitionController;->getRemoteAnimationOverride(Lcom/android/server/wm/ActivityRecord;ILandroid/util/ArraySet;)Landroid/view/RemoteAnimationAdapter;
-HPLcom/android/server/wm/AppTransitionController;->getTopApp(Landroid/util/ArraySet;Z)Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/AppTransition;->getAnimationStyleResId(Landroid/view/WindowManager$LayoutParams;)I
-HPLcom/android/server/wm/AppTransition;->goodToGo(ILcom/android/server/wm/ActivityRecord;Landroid/util/ArraySet;)I
-HPLcom/android/server/wm/AppTransition;->setLastAppTransition(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/ConfigurationContainer;->hasChild()Z
-HPLcom/android/server/wm/ConfigurationContainer;->setWindowingMode(I)V
-HPLcom/android/server/wm/DisplayContent;->computeImeTargetIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/DisplayContent;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
-HPLcom/android/server/wm/DisplayContent;->getRotationAnimation()Lcom/android/server/wm/ScreenRotationAnimation;
-HPLcom/android/server/wm/DisplayContent;->performLayoutNoTrace(ZZ)V
-HPLcom/android/server/wm/DisplayContent;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;)Z
-HPLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(ILandroid/content/res/Configuration;)Landroid/view/DisplayInfo;
-HPLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZI)Z
-HPLcom/android/server/wm/DisplayContent;->updateOrientation(Landroid/content/res/Configuration;Landroid/os/IBinder;Z)Landroid/content/res/Configuration;
-HPLcom/android/server/wm/DisplayContent;->updateOrientation()Z
-HPLcom/android/server/wm/DisplayPolicy;->addWindowLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
-HPLcom/android/server/wm/DisplayPolicy;->adjustWindowParamsLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;II)V
-HPLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZZZZ)I
-HPLcom/android/server/wm/DisplayPolicy;->drawsBarBackground(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/BarController;I)Z
-HPLcom/android/server/wm/DisplayPolicy;->drawsNavigationBarBackground(ILcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/DisplayPolicy;->getRefreshRatePolicy()Lcom/android/server/wm/RefreshRatePolicy;
-HPLcom/android/server/wm/DisplayPolicy;->isWindowExcludedFromContent(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/DisplayPolicy;->selectAnimation(Lcom/android/server/wm/WindowState;I)I
-HPLcom/android/server/wm/DisplayPolicy;->updateConfigurationAndScreenSizeDependentBehaviors()V
-HPLcom/android/server/wm/DisplayRotation;->getRotation()I
-HPLcom/android/server/wm/DisplayRotation;->markForSeamlessRotation(Lcom/android/server/wm/WindowState;Z)V
-HPLcom/android/server/wm/ImeInsetsSourceProvider;->onPostInsetsDispatched()V
-HPLcom/android/server/wm/ImeInsetsSourceProvider;->onPostLayout()V
-HPLcom/android/server/wm/InputManagerCallback;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)Z
-HPLcom/android/server/wm/InputMonitor$UpdateInputWindows;->run()V
-HPLcom/android/server/wm/InsetsPolicy;->areSystemBarsForciblyVisible()Z
-HPLcom/android/server/wm/InsetsPolicy;->isNavBarForciblyVisible()Z
-HPLcom/android/server/wm/InsetsPolicy;->isStatusBarForciblyVisible()Z
-HPLcom/android/server/wm/InsetsStateController;->getImeSourceProvider()Lcom/android/server/wm/ImeInsetsSourceProvider;
-HPLcom/android/server/wm/InsetsStateController;->onBarControlTargetChanged(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;)V
-HPLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentStarted(Landroid/content/Intent;J)V
-HPLcom/android/server/wm/PinnedStackController;->resetReentrySnapFraction(Landroid/content/ComponentName;)V
-HPLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/TaskRecord;IIZ)Z
-HPLcom/android/server/wm/RefreshRatePolicy;->getPreferredModeId(Lcom/android/server/wm/WindowState;)I
-HPLcom/android/server/wm/RemoteAnimationController$FinishedCallback;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
-HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;->getMode()I
-HPLcom/android/server/wm/RemoteAnimationController;->createAppAnimations()[Landroid/view/RemoteAnimationTarget;
-HPLcom/android/server/wm/RemoteAnimationController;->createWallpaperAnimations()[Landroid/view/RemoteAnimationTarget;
-HPLcom/android/server/wm/RemoteAnimationController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/RemoteAnimationAdapter;Landroid/os/Handler;)V
-HPLcom/android/server/wm/RemoteAnimationController;->releaseFinishedCallback()V
-HPLcom/android/server/wm/RemoteAnimationController;->setRunningRemoteAnimation(Z)V
-HPLcom/android/server/wm/RemoteAnimationController;->unlinkToDeathOfRunner()V
-HPLcom/android/server/wm/RootActivityContainer;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;ZLcom/android/server/wm/LaunchParamsController$LaunchParams;II)Lcom/android/server/wm/ActivityStack;
-HPLcom/android/server/wm/RootActivityContainer;->getRunningTasks(ILjava/util/List;IIIZZLandroid/util/ArraySet;)V
-HPLcom/android/server/wm/RootWindowContainer;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/Session;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V
-HPLcom/android/server/wm/StartingData;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-HPLcom/android/server/wm/SurfaceAnimationRunner;->startPendingAnimationsLocked()V
-HPLcom/android/server/wm/SurfaceAnimator$Animatable;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
-HPLcom/android/server/wm/SurfaceAnimator;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/ActivityRecord;I)V
-HPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskListUpdated()V
-HPLcom/android/server/wm/Task;->getTopVisibleActivity()Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/TaskLaunchParamsModifier;->canInheritWindowingModeFromSource(Lcom/android/server/wm/ActivityDisplay;Lcom/android/server/wm/ActivityRecord;)Z
-HPLcom/android/server/wm/Task;->onConfigurationChanged(Landroid/content/res/Configuration;Z)V
-HPLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;-><init>(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityTaskManagerService;)V
-HPLcom/android/server/wm/Task;->positionChildAt(Lcom/android/server/wm/ActivityRecord;I)V
-HPLcom/android/server/wm/TaskRecord;->computeFullscreenBounds(Landroid/graphics/Rect;Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;I)V
-HPLcom/android/server/wm/TaskRecord;->findRootIndex(Z)I
-HPLcom/android/server/wm/TaskRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/app/ActivityManager$TaskDescription;)V
-HPLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->getLeashFinishedCallback()Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->lambda$startWallpaperAnimations$0(JJLjava/util/function/Consumer;Ljava/util/ArrayList;Ljava/util/ArrayList;Lcom/android/server/wm/WallpaperWindowToken;)V
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->startWallpaperAnimations(Lcom/android/server/wm/WindowManagerService;JJLjava/util/function/Consumer;Ljava/util/ArrayList;)[Landroid/view/RemoteAnimationTarget;
-HPLcom/android/server/wm/WindowAnimator;->cancelAnimation()V
-HPLcom/android/server/wm/WindowContainer;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/WindowContainer;->onParentChanged(Lcom/android/server/wm/WindowContainer$PreAssignChildLayersCallback;)V
-HPLcom/android/server/wm/WindowManagerService$LocalService;->isStackVisibleLw(I)Z
-HPLcom/android/server/wm/WindowManagerService;->prepareNoneTransitionForRelaunching(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/WindowManagerService;->prepareWindowReplacementTransition(Lcom/android/server/wm/ActivityRecord;)Z
-HPLcom/android/server/wm/WindowProcessController;->createProfilerInfoIfNeeded()Landroid/app/ProfilerInfo;
-HPLcom/android/server/wm/WindowProcessControllerMap;->put(ILcom/android/server/wm/WindowProcessController;)V
-HPLcom/android/server/wm/WindowProcessController;->onStartActivity(ILandroid/content/pm/ActivityInfo;)V
-HPLcom/android/server/wm/WindowProcessController;->setLastActivityLaunchTime(J)V
-HPLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;-><init>()V
-HPLcom/android/server/wm/WindowState;->getLastReportedConfiguration()Landroid/content/res/Configuration;
-HPLcom/android/server/wm/WindowState;->getSurfaceTouchableRegion(Landroid/view/InputWindowHandle;I)I
-HPLcom/android/server/wm/WindowState;->logExclusionRestrictions(I)V
-HPLcom/android/server/wm/WindowState;->onAnimationLeashLost(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/WindowState;->relayoutVisibleWindow(II)I
-HPLcom/android/server/wm/WindowState;->updateLocationInParentDisplayIfNeeded()V
-HPLcom/android/server/wm/WindowSurfaceController;-><init>(Ljava/lang/String;IIIILcom/android/server/wm/WindowStateAnimator;II)V
-HPLcom/android/server/wm/WindowSurfacePlacer$Traverser;->run()V
-HPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;Z)V
-HPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onActivityLaunched([BI)V
-HPLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityUserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
-HPLcom/android/server/accessibility/AccessibilitySecurityPolicy;->resolveProfileParentLocked(I)I
-HPLcom/android/server/am/-$$Lambda$ProcessList$vtq7LF5jIHO4t5NE03c8g7BT7Jc;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-HPLcom/android/server/am/ActivityManagerService$2;->onActivityLaunchFinished([BJ)V
-HPLcom/android/server/am/ActivityManagerService$2;->onIntentStarted(Landroid/content/Intent;J)V
-HPLcom/android/server/am/ActivityManagerService$4;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/am/BroadcastFilter;)Z
-HPLcom/android/server/am/ActivityManagerService$4;->newResult(Lcom/android/server/am/BroadcastFilter;II)Lcom/android/server/am/BroadcastFilter;
-HPLcom/android/server/am/ActivityManagerService$LocalService;->startProcess(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZZLjava/lang/String;Landroid/content/ComponentName;)V
-HPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked(Ljava/lang/String;)V
-HPLcom/android/server/am/ProcessList;->lambda$startProcessLocked$0$ProcessList(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-HPLcom/android/server/am/ProcessRecord;->onStartActivity(IZLjava/lang/String;J)V
-HPLcom/android/server/am/ProcessRecord;->setRunningRemoteAnimation(Z)V
-HPLcom/android/server/am/ProcessRecord;->setStartParams(ILcom/android/server/am/HostingRecord;Ljava/lang/String;J)V
-HPLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$notifyAppTargetEvent$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
-HPLcom/android/server/audio/SoundEffectsHelper$SfxHandler$1;-><init>(Lcom/android/server/audio/SoundEffectsHelper$SfxHandler;Landroid/os/Message;)V
-HPLcom/android/server/audio/SoundEffectsHelper;->onLoadSoundEffects(Lcom/android/server/audio/SoundEffectsHelper$OnEffectsLoadCompleteHandler;)V
-HPLcom/android/server/autofill/AutofillManagerServiceImpl;->getAppDisabledActivitiesLocked(Ljava/lang/String;)Landroid/util/ArrayMap;
-HPLcom/android/server/compat/CompatChange;->isEnabled(Landroid/content/pm/ApplicationInfo;)Z
-HPLcom/android/server/GnssManagerService;->onForegroundChanged(IZ)V
-HPLcom/android/server/LocationManagerService;->lambda$initializeLocked$4$LocationManagerService(II)V
-HPLcom/android/server/LocationManagerService;->lambda$initializeLocked$5$LocationManagerService(II)V
-HPLcom/android/server/policy/PermissionPolicyService$Internal;->isActionRemovedForCallingPackage(Landroid/content/Intent;ILjava/lang/String;)Z
-HPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$dQguzfF4tEgBOj3Pr8MpGRN8HT0;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;IIZZ)V
-HPLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$2$StatusBarManagerService(ILandroid/os/IBinder;IIZZ)V
-HPLcom/android/server/statusbar/StatusBarManagerService;->lambda$updateUiVisibilityLocked$3$StatusBarManagerService(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;Z)V
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$tt99EJHW_Nk5qgU9galJBIm5wXg;-><init>(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
-HPLcom/android/server/wm/-$$Lambda$RemoteAnimationController$dP8qDptNigoqhzVtIudsX5naGu4;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
-HPLcom/android/server/wm/-$$Lambda$RemoteAnimationController$uQS8vaPKQ-E3x_9G8NCxPQmw1fw;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
-HPLcom/android/server/wm/ActivityRecord;->addToStopping(ZZLjava/lang/String;)V
-HPLcom/android/server/wm/ActivityRecord;->allDrawnStatesConsidered()Z
-HPLcom/android/server/wm/ActivityRecord;->applyAnimationLocked(Landroid/view/WindowManager$LayoutParams;IZZ)Z
-HPLcom/android/server/wm/ActivityRecord;->checkKeyguardFlagsChanged()V
-HPLcom/android/server/wm/ActivityRecord;->lambda$removeStartingWindow$3(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
-HPLcom/android/server/wm/ActivityRecord;->shouldStartChangeTransition(II)Z
-HPLcom/android/server/wm/ActivityRecord;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V
-HPLcom/android/server/wm/ActivityStack;->scheduleStopTimeoutForActivity(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/ActivityStack;->startPausingLocked(ZZLcom/android/server/wm/ActivityRecord;)Z
-HPLcom/android/server/wm/ActivityStackSupervisor;->getRunningTasks()Lcom/android/server/wm/RunningTasks;
-HPLcom/android/server/wm/ActivityStackSupervisor;->getSystemChooserActivity()Landroid/content/ComponentName;
-HPLcom/android/server/wm/ActivityStarter;->handleStartResult(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityStack;
-HPLcom/android/server/wm/ActivityStarter;->startActivityInner(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;Z)I
-HPLcom/android/server/wm/ActivityTaskManagerService;->ensureConfigAndVisibilityAfterUpdate(Lcom/android/server/wm/ActivityRecord;I)Z
-HPLcom/android/server/wm/AnimatingActivityRegistry;->endDeferringFinished()V
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/AppTransitionController;->lookForHighestTokenWithFilter(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/function/Predicate;)Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/DisplayContent;->findFocusedWindowIfNeeded(I)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/DisplayContent;->getActivityRecord(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/DisplayContent;->getParentWindow()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/DisplayContent;->lambda$new$1$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$new$2$DisplayContent(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/DisplayContent;->lambda$new$3$DisplayContent(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$updateSystemUiVisibility$20(IILcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->logsGestureExclusionRestrictions(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/DisplayPolicy;->getCurrentUserResources()Landroid/content/res/Resources;
-HPLcom/android/server/wm/DisplayPolicy;->getStatusBar()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$3$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$4$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$5$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$6$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayPolicy;->lambda$addWindowLw$7$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$10$DisplayPolicy(IIILandroid/graphics/Rect;Landroid/graphics/Rect;ZLcom/android/server/wm/WindowState;Z)V
-HPLcom/android/server/wm/DisplayRotation;->updateOrientation(IZ)Z
-HPLcom/android/server/wm/DisplayRotation;->updateUserDependentConfiguration(Landroid/content/res/Resources;)V
-HPLcom/android/server/wm/HighRefreshRateBlacklist;->isBlacklisted(Ljava/lang/String;)Z
-HPLcom/android/server/wm/InputManagerCallback;->dispatchPointerCaptureChanged(Landroid/view/IWindow;Z)Z
-HPLcom/android/server/wm/InputManagerCallback;->onPointerDownOutsideFocus(Landroid/os/IBinder;)V
-HPLcom/android/server/wm/InputMonitor;->layoutInputConsumers(II)V
-HPLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/InsetsStateController;->onControlChanged(ILcom/android/server/wm/InsetsControlTarget;)V
-HPLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchFinished([BJ)V
-HPLcom/android/server/wm/RemoteAnimationController$FinishedCallback;->release()V
-HPLcom/android/server/wm/RemoteAnimationController;->lambda$goodToGo$1$RemoteAnimationController([Landroid/view/RemoteAnimationTarget;[Landroid/view/RemoteAnimationTarget;)V
-HPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;IILjava/util/ArrayList;IZZLandroid/util/ArraySet;)V
-HPLcom/android/server/wm/SplashScreenStartingData;->createStartingSurface(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
-HPLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$0$SurfaceAnimator(Lcom/android/server/wm/AnimationAdapter;Ljava/lang/Runnable;)V
-HPLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/ActivityRecord;Z)V
-HPLcom/android/server/wm/TaskRecord;->handlesOrientationChangeFromDescendant()Z
-HPLcom/android/server/wm/TaskRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZIILandroid/content/pm/ActivityInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-HPLcom/android/server/wm/TaskStack;->getAnimatingActivityRegistry()Lcom/android/server/wm/AnimatingActivityRegistry;
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->startWallpaperAnimations(Lcom/android/server/wm/WindowManagerService;JJLjava/util/function/Consumer;Ljava/util/ArrayList;)[Landroid/view/RemoteAnimationTarget;
-HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer$1;)V
-HPLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/WindowManagerService;->reportSystemGestureExclusionChanged(Lcom/android/server/wm/Session;Landroid/view/IWindow;Ljava/util/List;)V
-HPLcom/android/server/wm/WindowProcessController;->setRunningRemoteAnimation(Z)V
-HPLcom/android/server/wm/WindowProcessController;->shouldSetProfileProc()Z
-HPLcom/android/server/wm/WindowState;->onMergedOverrideConfigurationChanged()V
-HPLcom/android/server/wm/WindowSurfacePlacer;->continueLayout(Z)V
-HPLcom/android/server/wm/WindowSurfacePlacer;->isLayoutDeferred()Z
-HPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onActivityLaunchFinished([BJ)V
-HPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->onIntentStarted(Landroid/content/Intent;J)V
-HPLcom/google/android/startop/iorap/IorapForwardingService;->invokeRemote(Lcom/google/android/startop/iorap/IIorap;Lcom/google/android/startop/iorap/IorapForwardingService$RemoteRunnable;)Z
-HPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IZ)V
-HPLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILcom/android/server/am/HostingRecord;ZZIZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/am/ProcessRecord;->updateProcessInfo(ZZZ)V
-HPLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$notifyAppTargetEvent$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
-HPLcom/android/server/audio/SoundEffectsHelper$SfxHandler$1;->run(Z)V
-HPLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;-><init>(Lcom/android/server/input/InputManagerService;ILandroid/hardware/input/IInputDevicesChangedListener;)V
-HPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Landroid/os/UserManagerInternal;Ljava/lang/String;II)V
-HPLcom/android/server/statusbar/StatusBarManagerService$1;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;ZLjava/lang/String;)V
-HPLcom/android/server/wm/-$$Lambda$AppTransitionController$o_nkoN7a-ZHaSAgJCQZcboKz9Ig;->test(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$AppTransitionController$z5kCoexPNTWFncmRBfeXr6HA2JA;->test(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$TaskPersister$8TcnoL7JFvpj8NzBRg91ns5JOBw;-><init>(Lcom/android/server/wm/TaskRecord;)V
-HPLcom/android/server/wm/ActivityRecord;->getAnimationBounds(I)Landroid/graphics/Rect;
-HPLcom/android/server/wm/ActivityRecord;->logStartActivity(ILcom/android/server/wm/TaskRecord;)V
-HPLcom/android/server/wm/ActivityRecord;->shouldAnimate(I)Z
-HPLcom/android/server/wm/ActivityStack;->getRunningTasks(Ljava/util/List;IIIZZLandroid/util/ArraySet;)V
-HPLcom/android/server/wm/ActivityStarter;->computeTargetTask(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/TaskRecord;
-HPLcom/android/server/wm/ActivityStarter;->deliverToCurrentTopIfNeeded(Lcom/android/server/wm/ActivityStack;)I
-HPLcom/android/server/wm/ActivityStarter;->isAllowedToStart(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/TaskRecord;)I
-HPLcom/android/server/wm/ActivityStarter;->setInitialState(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;ZILcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Z)V
-HPLcom/android/server/wm/ActivityStarter;->setNewTask(Lcom/android/server/wm/TaskRecord;)V
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/DisplayRotation;->updateRotationUnchecked(Z)Z
-HPLcom/android/server/wm/RemoteAnimationController;->createRemoteAnimationRecord(Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;
-HPLcom/android/server/wm/RemoteAnimationController;->linkToDeathOfRunner()V
-HPLcom/android/server/wm/RemoteAnimationController;->writeStartDebugStatement()V
-HPLcom/android/server/wm/TaskRecord;->setMinDimensions(Landroid/content/pm/ActivityInfo;)V
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->startWallpaperAnimations(Lcom/android/server/wm/WindowManagerService;JJLjava/util/function/Consumer;Ljava/util/ArrayList;)[Landroid/view/RemoteAnimationTarget;
-HPLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked(Landroid/view/SurfaceControl$Transaction;)Z
-HPLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$6ikxM-3KospNGDidAY7yA-rECHw;->run(Lcom/google/android/startop/iorap/IIorap;)V
-HPLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$B9wq4q5y7qahY6TuLMO_s8nPIwY;->run(Lcom/google/android/startop/iorap/IIorap;)V
-HPLcom/google/android/startop/iorap/-$$Lambda$IorapForwardingService$AppLaunchObserver$J1AHa-Qs75WQr3stjbN97THbudE;->run(Lcom/google/android/startop/iorap/IIorap;)V
-HPLcom/android/server/am/ProcessList;->newProcessRecordLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZILcom/android/server/am/HostingRecord;)Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$notifyAppTargetEvent$1(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;Landroid/service/appprediction/IPredictionService;)V
-HPLcom/android/server/audio/SoundEffectsHelper;->onPlaySoundEffect(II)V
-HPLcom/android/server/LocationManagerService;->isThrottlingExemptLocked(Lcom/android/server/location/CallerIdentity;)Z
-HPLcom/android/server/statusbar/StatusBarManagerService;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;ZLjava/lang/String;)V
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowProcessController;->setBoundClientUids(Landroid/util/ArraySet;)V
-HPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onActivityLaunched$2$IorapForwardingService$AppLaunchObserver([BILcom/google/android/startop/iorap/IIorap;)V
-HPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onActivityLaunchFinished$4$IorapForwardingService$AppLaunchObserver([BJLcom/google/android/startop/iorap/IIorap;)V
-HPLcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;->lambda$onIntentStarted$0$IorapForwardingService$AppLaunchObserver(Landroid/content/Intent;JLcom/google/android/startop/iorap/IIorap;)V
-HPLcom/android/server/statusbar/StatusBarManagerService;->updateUiVisibilityLocked(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;Z)V
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/google/android/startop/iorap/IIorap$Stub$Proxy;->onAppLaunchEvent(Lcom/google/android/startop/iorap/RequestId;Lcom/google/android/startop/iorap/AppLaunchEvent;)V
-HPLcom/google/android/startop/iorap/RequestId;->nextValueForSequence()Lcom/google/android/startop/iorap/RequestId;
-HPLcom/android/server/AlarmManagerService;->decrementAlarmCount(II)V
-HPLcom/android/server/am/ActivityManagerService$4;->newArray(I)[Landroid/content/IntentFilter;
-HPLcom/android/server/am/ActivityManagerService$PidMap;->remove(Lcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerShellCommand$1;-><init>(Lcom/android/server/am/ActivityManagerShellCommand;)V
-HPLcom/android/server/am/ActivityManagerShellCommand;-><init>(Lcom/android/server/am/ActivityManagerService;Z)V
-HPLcom/android/server/am/ActivityManagerShellCommand;->runStartActivity(Ljava/io/PrintWriter;)I
-HPLcom/android/server/am/HostingRecord;-><init>(Ljava/lang/String;Landroid/content/ComponentName;I)V
-HPLcom/android/server/am/PendingIntentController;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HPLcom/android/server/appprediction/-$$Lambda$AppPredictionManagerService$PredictionManagerServiceStub$vSY20eQq5y5FXrxhhqOTcEmezTs;-><init>(Landroid/app/prediction/AppPredictionSessionId;)V
-HPLcom/android/server/appprediction/-$$Lambda$RemoteAppPredictionService$9DCowUTEF8fYuBlWGxOmP5hTAWA;-><init>(Landroid/app/prediction/AppPredictionSessionId;)V
-HPLcom/android/server/appprediction/RemoteAppPredictionService;->lambda$requestPredictionUpdate$6(Landroid/app/prediction/AppPredictionSessionId;Landroid/service/appprediction/IPredictionService;)V
-HPLcom/android/server/autofill/-$$Lambda$AutofillManagerService$1$1-WNu3tTkxodB_LsZ7dGIlvrPN0;->visit(Ljava/lang/Object;)V
-HPLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$56AC3ykfo4h_e2LSjdkJ3XQn370;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-HPLcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$Enqw46SYVKFK9F2xX4qUcIu5_3I;->run(Landroid/os/IInterface;)V
-HPLcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$eoGnQ2MDLLnW1UBX6wxNE1VBLAk;->run(Landroid/os/IInterface;)V
-HPLcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$VKh1DoMPNSPjPfnVGdsInmxuqzc;->run(Landroid/os/IInterface;)V
-HPLcom/android/server/contentsuggestions/-$$Lambda$RemoteContentSuggestionsService$yUTbcaYlZCYTmagCkNJ3i2VCkY4;->run(Landroid/os/IInterface;)V
-HPLcom/android/server/contentsuggestions/RemoteContentSuggestionsService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-HPLcom/android/server/display/AutomaticBrightnessController;->updateAutoBrightness(ZZ)V
-HPLcom/android/server/display/DisplayPowerController$BrightnessReason;->setModifier(I)V
-HPLcom/android/server/display/DisplayPowerController$BrightnessReason;->setReason(I)V
-HPLcom/android/server/display/DisplayPowerController$BrightnessReason;->toString(I)Ljava/lang/String;
-HPLcom/android/server/display/DisplayPowerController$BrightnessReason;->toString()Ljava/lang/String;
-HPLcom/android/server/media/projection/MediaProjectionManagerService$1;->onProcessDied(II)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)Z
-HPLcom/android/server/pm/permission/PermissionManagerService;->addOnPermissionsChangeListener(Landroid/permission/IOnPermissionsChangeListener;)V
-HPLcom/android/server/protolog/ProtoLogImpl;->getSingleInstance()Lcom/android/server/protolog/ProtoLogImpl;
-HPLcom/android/server/soundtrigger/SoundTriggerHelper$PowerSaveModeListener;-><init>(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
-HPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$uF0ibEnnXe7Lxunxb98QQLJjgZM;->run()V
-HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->setSystemUiState(IIILandroid/graphics/Rect;Landroid/graphics/Rect;Z)V
-HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->systemUiStateEquals(IIILandroid/graphics/Rect;Landroid/graphics/Rect;Z)Z
-HPLcom/android/server/usage/UsageStatsDatabase;->filterStats(Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/VibratorService$VibrationInfo;-><init>(JLandroid/os/VibrationEffect;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/VibratorService;->getAppOpMode(Lcom/android/server/VibratorService$Vibration;)I
-HPLcom/android/server/VibratorService;->getCurrentIntensityLocked(Lcom/android/server/VibratorService$Vibration;)I
-HPLcom/android/server/VibratorService;->isAllowedToVibrateLocked(Lcom/android/server/VibratorService$Vibration;)Z
-HPLcom/android/server/VibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;Ljava/lang/String;Landroid/os/IBinder;)V
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$g49I60MBbnNkxHlgA-NR7ALwWTQ;->apply(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$ActivityRecord$pBc6yUdDV5IrUd9vt6oCz6QzpiE;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$BEx3OWenCvYAaV5h_J2ZkZXhEcY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$Zbxkj4wIhcDki6VwBh1kWmSmxqM;-><init>(Lcom/android/server/wm/DisplayPolicy;IIILandroid/graphics/Rect;Landroid/graphics/Rect;ZLcom/android/server/wm/WindowState;I[Lcom/android/internal/view/AppearanceRegion;ZZ)V
-HPLcom/android/server/wm/-$$Lambda$DisplayPolicy$Zbxkj4wIhcDki6VwBh1kWmSmxqM;->run()V
-HPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$UexNbaqPy0mc3VxTw2coCctHho8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-HPLcom/android/server/wm/ActivityMetricsLogger;->allWindowsDrawn()Z
-HPLcom/android/server/wm/ActivityRecord;->createAnimationBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl;
-HPLcom/android/server/wm/ActivityRecord;->destroyed(Ljava/lang/String;)V
-HPLcom/android/server/wm/ActivityRecord;->forAllWindowsUnchecked(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/ActivityRecord;->getTopFullscreenWindow()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/ActivityRecord;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Landroid/view/animation/Animation;
-HPLcom/android/server/wm/ActivityRecord;->notifyAppStopped()V
-HPLcom/android/server/wm/ActivityRecord;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V
-HPLcom/android/server/wm/ActivityRecord;->onRemovedFromDisplay()V
-HPLcom/android/server/wm/ActivityRecord;->removeDeadWindows()V
-HPLcom/android/server/wm/ActivityRecord;->setClientHidden(Z)V
-HPLcom/android/server/wm/ActivityRecord;->stopFreezingScreenLocked(Z)V
-HPLcom/android/server/wm/ActivityStack;->removeTimeoutsForActivity(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/ActivityStarter;->recycleTask(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;[Lcom/android/server/wm/ActivityRecord;)I
-HPLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZZ)Landroid/app/ActivityManager$TaskSnapshot;
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/DisplayContent;->getWindowCornerRadius()F
-HPLcom/android/server/wm/DisplayPolicy;->convertNonDecorInsetsToStableInsets(Landroid/graphics/Rect;I)V
-HPLcom/android/server/wm/DisplayPolicy;->getInsetsPolicy()Lcom/android/server/wm/InsetsPolicy;
-HPLcom/android/server/wm/DisplayPolicy;->updateLightStatusBarAppearanceLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-HPLcom/android/server/wm/InsetsPolicy;->getInsetsForDispatch(Lcom/android/server/wm/WindowState;)Landroid/view/InsetsState;
-HPLcom/android/server/wm/InsetsPolicy;->isHidden(I)Z
-HPLcom/android/server/wm/InsetsPolicy;->updateBarControlTarget(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/Task;->getTopFullscreenActivity()Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/TaskRecord;->removeTaskActivitiesLocked(Ljava/lang/String;)V
-HPLcom/android/server/wm/Task;->removeChild(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/TaskSnapshotCache$CacheEntry;-><init>(Landroid/app/ActivityManager$TaskSnapshot;Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/TaskSnapshotController;->createTaskSnapshot(Lcom/android/server/wm/Task;F)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
-HPLcom/android/server/wm/TaskSnapshotController;->findAppTokenForSnapshot(Lcom/android/server/wm/Task;)Lcom/android/server/wm/ActivityRecord;
-HPLcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;II)V
-HPLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;IILandroid/app/ActivityManager$TaskSnapshot;)V
-HPLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->onQueuedLocked()V
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->lambda$startWallpaperAnimations$0(JJLjava/util/function/Consumer;Ljava/util/ArrayList;Ljava/util/ArrayList;Lcom/android/server/wm/WallpaperWindowToken;)V
-HPLcom/android/server/wm/WallpaperAnimationAdapter;->startWallpaperAnimations(Lcom/android/server/wm/WindowManagerService;JJLjava/util/function/Consumer;Ljava/util/ArrayList;)[Landroid/view/RemoteAnimationTarget;
-HPLcom/android/server/wm/WindowAnimationSpec;->findTranslateAnimation(Landroid/view/animation/Animation;)Landroid/view/animation/TranslateAnimation;
-HPLcom/android/server/wm/WindowProcessControllerMap;->removeProcessFromUidMap(Lcom/android/server/wm/WindowProcessController;)V
-HPLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZ)V
-HPLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
-HPLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
-HPLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunched;->writeToParcelImpl(Landroid/os/Parcel;I)V
-HPLcom/google/android/startop/iorap/AppLaunchEvent$ActivityLaunchFinished;->writeToParcelImpl(Landroid/os/Parcel;I)V
-HPLcom/google/android/startop/iorap/AppLaunchEvent$IntentStarted;->writeToParcelImpl(Landroid/os/Parcel;I)V
-HPLcom/google/android/startop/iorap/AppLaunchEvent;->getTypeIndex()I
-HPLcom/android/server/pm/PackageManagerService;->access$7600(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->access$8100(Lcom/android/server/pm/PackageManagerService;II)Z
-HPLcom/android/server/wm/ActivityRecord$Token;->access$100(Lcom/android/server/wm/ActivityRecord$Token;Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->access$000(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
-HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->access$400(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;)Landroid/graphics/Point;
-HPLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->access$500(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;)Landroid/graphics/Rect;
-HPLcom/android/server/wm/RemoteAnimationController;->access$100(Lcom/android/server/wm/RemoteAnimationController;)V
-HPLcom/android/server/wm/RemoteAnimationController;->access$300(Lcom/android/server/wm/RemoteAnimationController;)Landroid/view/RemoteAnimationAdapter;
-HPLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->access$200(Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Lcom/android/server/wm/TaskRecord;
-HPLcom/android/server/wm/TaskPersister;->access$000(I)Ljava/io/File;
-HPLcom/android/server/wm/WindowContainer;->access$100(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
-HPLcom/android/server/wm/WindowManagerService;->access$1600(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;)V
-HPLcom/android/server/pm/ShortcutUser;->logSharingShortcutStats(Lcom/android/internal/logging/MetricsLogger;)V
-HPLcom/android/server/statusbar/StatusBarManagerService;->lambda$topAppWindowChanged$1$StatusBarManagerService(IZZ)V
-HPLcom/android/server/wm/ActivityRecord$Token;->attach(Lcom/android/server/wm/ActivityRecord;)V
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$10$DisplayPolicy(IIILandroid/graphics/Rect;Landroid/graphics/Rect;ZLcom/android/server/wm/WindowState;I[Lcom/android/internal/view/AppearanceRegion;ZZ)V
-HPLcom/android/server/wm/InsetsSourceProvider;->hasWindow()Z
-HPLcom/android/server/wm/InsetsStateController;->onBarControlTargetChanged(Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;Lcom/android/server/wm/InsetsControlTarget;)V
-HPLcom/android/server/wm/InsetsStateController;->peekSourceProvider(I)Lcom/android/server/wm/InsetsSourceProvider;
-HPLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->access$200(Lcom/android/server/wm/TaskPersister$TaskWriteQueueItem;)Lcom/android/server/wm/TaskRecord;
-HPLcom/android/server/wm/WindowContainer;->access$100(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
-HPLcom/android/server/-$$Lambda$AlarmManagerService$2$Eo-D98J-N9R2METkD-12gPs320c;-><init>(Lcom/android/server/AlarmManagerService$2;Landroid/app/IAlarmCompleteListener;)V
-HPLcom/android/server/AlarmManagerService;->access$100(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AlarmManagerService$Injector;
-HPLcom/android/server/AlarmManagerService;->access$2102(Lcom/android/server/AlarmManagerService;J)J
-HPLcom/android/server/AlarmManagerService;->access$2202(Lcom/android/server/AlarmManagerService;J)J
-HPLcom/android/server/AlarmManagerService;->access$2300(Lcom/android/server/AlarmManagerService;)V
-HPLcom/android/server/AlarmManagerService;->access$2400(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/AlarmManagerService;->isExemptFromAppStandby(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;-><init>(IILjava/lang/String;)V
-HPLcom/android/server/content/ContentService$ObserverCall;->run()V
-HPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$uF0ibEnnXe7Lxunxb98QQLJjgZM;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;IZZ)V
-HPLcom/android/server/statusbar/StatusBarManagerService$1;->topAppWindowChanged(IZZ)V
-HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$1600(Lcom/android/server/statusbar/StatusBarManagerService$UiState;Z)V
-HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->access$1700(Lcom/android/server/statusbar/StatusBarManagerService$UiState;Z)V
-HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->setFullscreen(Z)V
-HPLcom/android/server/statusbar/StatusBarManagerService$UiState;->setImmersive(Z)V
-HPLcom/android/server/statusbar/StatusBarManagerService;->access$600(Lcom/android/server/statusbar/StatusBarManagerService;IZZ)V
-HPLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBar()V
-HPLcom/android/server/statusbar/StatusBarManagerService;->getUiState(I)Lcom/android/server/statusbar/StatusBarManagerService$UiState;
-HPLcom/android/server/statusbar/StatusBarManagerService;->topAppWindowChanged(IZZ)V
-HPLcom/android/server/wm/InsetsStateController;->onControlFakeTargetChanged(ILcom/android/server/wm/InsetsControlTarget;)V
-HPLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/wm/LocalAnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
-HPLcom/android/server/wm/PersisterQueue;->access$100(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
-HPLcom/android/server/wm/PersisterQueue;->access$200(Lcom/android/server/wm/PersisterQueue;)Ljava/util/ArrayList;
-HPLcom/android/server/wm/PersisterQueue;->access$300(Lcom/android/server/wm/PersisterQueue;)V
-HPLcom/android/server/wm/TaskSnapshotPersister;->access$100(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/lang/Object;
-HPLcom/android/server/wm/TaskSnapshotPersister;->access$200(Lcom/android/server/wm/TaskSnapshotPersister;)Z
-HPLcom/android/server/wm/TaskSnapshotPersister;->access$300(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/util/ArrayDeque;
-HPLcom/android/server/wm/TaskSnapshotPersister;->access$402(Lcom/android/server/wm/TaskSnapshotPersister;Z)Z
-HPLcom/android/server/wm/WindowAnimationSpec;->findTranslateAnimation(Landroid/view/animation/Animation;)Landroid/view/animation/TranslateAnimation;
-HPLcom/android/server/wm/WindowAnimationSpec;->writeToProtoInner(Landroid/util/proto/ProtoOutputStream;)V
-HPLcom/android/server/wm/WindowContainer;->access$100(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
+Lcom/google/android/startop/iorap/RequestId;
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
index e28ef0f920e9..1a4fc32a76cd 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
@@ -154,6 +154,13 @@ final class AutofillManagerServiceImpl
@GuardedBy("mLock")
private FillEventHistory mEventHistory;
+ /**
+ * The last inline augmented autofill selection. Note that we don't log the selection from the
+ * dropdown UI since the service owns the UI in that case.
+ */
+ @GuardedBy("mLock")
+ private FillEventHistory mAugmentedAutofillEventHistory;
+
/** Shared instance, doesn't need to be logged */
private final AutofillCompatState mAutofillCompatState;
@@ -216,7 +223,7 @@ final class AutofillManagerServiceImpl
updateRemoteAugmentedAutofillService();
final ComponentName componentName = RemoteInlineSuggestionRenderService
- .getServiceComponentName(getContext());
+ .getServiceComponentName(getContext(), mUserId);
if (componentName != null) {
mRemoteInlineSuggestionRenderService = new RemoteInlineSuggestionRenderService(
getContext(), componentName, InlineSuggestionRenderService.SERVICE_INTERFACE,
@@ -707,6 +714,13 @@ final class AutofillManagerServiceImpl
}
}
+ void setLastAugmentedAutofillResponse(int sessionId) {
+ synchronized (mLock) {
+ mAugmentedAutofillEventHistory = new FillEventHistory(sessionId, /* clientState= */
+ null);
+ }
+ }
+
/**
* Resets the last fill selection.
*/
@@ -716,6 +730,12 @@ final class AutofillManagerServiceImpl
}
}
+ void resetLastAugmentedAutofillResponse() {
+ synchronized (mLock) {
+ mAugmentedAutofillEventHistory = null;
+ }
+ }
+
@GuardedBy("mLock")
private boolean isValidEventLocked(String method, int sessionId) {
if (mEventHistory == null) {
@@ -798,6 +818,32 @@ final class AutofillManagerServiceImpl
}
}
+ void logAugmentedAutofillSelected(int sessionId, @Nullable String suggestionId,
+ @Nullable Bundle clientState) {
+ synchronized (mLock) {
+ if (mAugmentedAutofillEventHistory == null
+ || mAugmentedAutofillEventHistory.getSessionId() != sessionId) {
+ return;
+ }
+ mAugmentedAutofillEventHistory.addEvent(
+ new Event(Event.TYPE_DATASET_SELECTED, suggestionId, clientState, null, null,
+ null, null, null, null, null, null));
+ }
+ }
+
+ void logAugmentedAutofillShown(int sessionId, @Nullable Bundle clientState) {
+ synchronized (mLock) {
+ if (mAugmentedAutofillEventHistory == null
+ || mAugmentedAutofillEventHistory.getSessionId() != sessionId) {
+ return;
+ }
+ mAugmentedAutofillEventHistory.addEvent(
+ new Event(Event.TYPE_DATASETS_SHOWN, null, clientState, null, null, null,
+ null, null, null, null, null));
+
+ }
+ }
+
/**
* Updates the last fill response when an autofill context is committed.
*/
@@ -881,8 +927,8 @@ final class AutofillManagerServiceImpl
* Gets the fill event history.
*
* @param callingUid The calling uid
- *
- * @return The history or {@code null} if there is none.
+ * @return The history for the autofill or the augmented autofill events depending on the {@code
+ * callingUid}, or {@code null} if there is none.
*/
FillEventHistory getFillEventHistory(int callingUid) {
synchronized (mLock) {
@@ -890,6 +936,10 @@ final class AutofillManagerServiceImpl
&& isCalledByServiceLocked("getFillEventHistory", callingUid)) {
return mEventHistory;
}
+ if (mAugmentedAutofillEventHistory != null && isCalledByAugmentedAutofillServiceLocked(
+ "getFillEventHistory", callingUid)) {
+ return mAugmentedAutofillEventHistory;
+ }
}
return null;
}
@@ -1163,8 +1213,32 @@ final class AutofillManagerServiceImpl
Slog.v(TAG, "getRemoteAugmentedAutofillServiceLocked(): " + componentName);
}
- mRemoteAugmentedAutofillService = new RemoteAugmentedAutofillService(getContext(),
- componentName, mUserId, new RemoteAugmentedAutofillServiceCallbacks() {
+ final RemoteAugmentedAutofillServiceCallbacks callbacks =
+ new RemoteAugmentedAutofillServiceCallbacks() {
+ @Override
+ public void resetLastResponse() {
+ AutofillManagerServiceImpl.this.resetLastAugmentedAutofillResponse();
+ }
+
+ @Override
+ public void setLastResponse(int sessionId) {
+ AutofillManagerServiceImpl.this.setLastAugmentedAutofillResponse(
+ sessionId);
+ }
+
+ @Override
+ public void logAugmentedAutofillShown(int sessionId, Bundle clientState) {
+ AutofillManagerServiceImpl.this.logAugmentedAutofillShown(sessionId,
+ clientState);
+ }
+
+ @Override
+ public void logAugmentedAutofillSelected(int sessionId, String suggestionId,
+ Bundle clientState) {
+ AutofillManagerServiceImpl.this.logAugmentedAutofillSelected(sessionId,
+ suggestionId, clientState);
+ }
+
@Override
public void onServiceDied(@NonNull RemoteAugmentedAutofillService service) {
Slog.w(TAG, "remote augmented autofill service died");
@@ -1175,8 +1249,10 @@ final class AutofillManagerServiceImpl
}
mRemoteAugmentedAutofillService = null;
}
- }, mMaster.isInstantServiceAllowed(), mMaster.verbose,
- mMaster.mAugmentedServiceIdleUnbindTimeoutMs,
+ };
+ mRemoteAugmentedAutofillService = new RemoteAugmentedAutofillService(getContext(),
+ componentName, mUserId, callbacks, mMaster.isInstantServiceAllowed(),
+ mMaster.verbose, mMaster.mAugmentedServiceIdleUnbindTimeoutMs,
mMaster.mAugmentedServiceRequestTimeoutMs);
}
diff --git a/services/autofill/java/com/android/server/autofill/InlineSuggestionFactory.java b/services/autofill/java/com/android/server/autofill/InlineSuggestionFactory.java
index c7be80cd538b..cb6c8f5d3ea5 100644
--- a/services/autofill/java/com/android/server/autofill/InlineSuggestionFactory.java
+++ b/services/autofill/java/com/android/server/autofill/InlineSuggestionFactory.java
@@ -28,7 +28,6 @@ import android.util.Slog;
import android.view.SurfaceControl;
import android.view.View;
import android.view.autofill.AutofillId;
-import android.view.autofill.IAutoFillManagerClient;
import android.view.inputmethod.InlineSuggestion;
import android.view.inputmethod.InlineSuggestionInfo;
import android.view.inputmethod.InlineSuggestionsResponse;
@@ -49,15 +48,24 @@ public final class InlineSuggestionFactory {
private static final String TAG = "InlineSuggestionFactory";
/**
+ * Callback from the inline suggestion Ui.
+ */
+ public interface InlineSuggestionUiCallback {
+ /**
+ * Callback to autofill a dataset to the client app.
+ */
+ void autofill(@NonNull Dataset dataset);
+ }
+
+ /**
* Creates an {@link InlineSuggestionsResponse} with the {@code datasets} provided by
* augmented autofill service.
*/
public static InlineSuggestionsResponse createAugmentedInlineSuggestionsResponse(
- int sessionId,
@NonNull Dataset[] datasets,
@NonNull AutofillId autofillId,
@NonNull Context context,
- @NonNull IAutoFillManagerClient client) {
+ @NonNull InlineSuggestionUiCallback inlineSuggestionUiCallback) {
if (sDebug) Slog.d(TAG, "createAugmentedInlineSuggestionsResponse called");
final ArrayList<InlineSuggestion> inlineSuggestions = new ArrayList<>();
@@ -74,8 +82,8 @@ public final class InlineSuggestionFactory {
Slog.w(TAG, "InlinePresentation not found in dataset");
return null;
}
- InlineSuggestion inlineSuggestion = createAugmentedInlineSuggestion(sessionId, dataset,
- inlinePresentation, inlineSuggestionUi, client);
+ InlineSuggestion inlineSuggestion = createAugmentedInlineSuggestion(dataset,
+ inlinePresentation, inlineSuggestionUi, inlineSuggestionUiCallback);
inlineSuggestions.add(inlineSuggestion);
}
return new InlineSuggestionsResponse(inlineSuggestions);
@@ -114,22 +122,17 @@ public final class InlineSuggestionFactory {
return new InlineSuggestionsResponse(inlineSuggestions);
}
- private static InlineSuggestion createAugmentedInlineSuggestion(int sessionId,
- @NonNull Dataset dataset,
+ private static InlineSuggestion createAugmentedInlineSuggestion(@NonNull Dataset dataset,
@NonNull InlinePresentation inlinePresentation,
@NonNull InlineSuggestionUi inlineSuggestionUi,
- @NonNull IAutoFillManagerClient client) {
+ @NonNull InlineSuggestionUiCallback inlineSuggestionUiCallback) {
// TODO(b/146453195): fill in the autofill hint properly.
final InlineSuggestionInfo inlineSuggestionInfo = new InlineSuggestionInfo(
inlinePresentation.getInlinePresentationSpec(),
InlineSuggestionInfo.SOURCE_PLATFORM, new String[]{""},
InlineSuggestionInfo.TYPE_SUGGESTION);
final View.OnClickListener onClickListener = v -> {
- try {
- client.autofill(sessionId, dataset.getFieldIds(), dataset.getFieldValues());
- } catch (RemoteException e) {
- Slog.w(TAG, "Encounter exception autofilling the values");
- }
+ inlineSuggestionUiCallback.autofill(dataset);
};
final InlineSuggestion inlineSuggestion = new InlineSuggestion(inlineSuggestionInfo,
createInlineContentProvider(inlinePresentation, inlineSuggestionUi,
diff --git a/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java b/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
index 5fbdd25ea6c6..5e6f6fea4dda 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
@@ -69,6 +69,7 @@ final class RemoteAugmentedAutofillService
private final int mIdleUnbindTimeoutMs;
private final int mRequestTimeoutMs;
private final ComponentName mComponentName;
+ private final RemoteAugmentedAutofillServiceCallbacks mCallbacks;
RemoteAugmentedAutofillService(Context context, ComponentName serviceName,
int userId, RemoteAugmentedAutofillServiceCallbacks callbacks,
@@ -81,6 +82,7 @@ final class RemoteAugmentedAutofillService
mIdleUnbindTimeoutMs = idleUnbindTimeoutMs;
mRequestTimeoutMs = requestTimeoutMs;
mComponentName = serviceName;
+ mCallbacks = callbacks;
// Bind right away.
connect();
@@ -159,9 +161,12 @@ final class RemoteAugmentedAutofillService
focusedId, focusedValue, requestTime, inlineSuggestionsRequest,
new IFillCallback.Stub() {
@Override
- public void onSuccess(@Nullable Dataset[] inlineSuggestionsData) {
- maybeHandleInlineSuggestions(sessionId, inlineSuggestionsData,
- focusedId, inlineSuggestionsCallback, client);
+ public void onSuccess(@Nullable Dataset[] inlineSuggestionsData,
+ @Nullable Bundle clientState) {
+ mCallbacks.resetLastResponse();
+ maybeRequestShowInlineSuggestions(sessionId,
+ inlineSuggestionsData, focusedId,
+ inlineSuggestionsCallback, client, clientState);
requestAutofill.complete(null);
}
@@ -223,20 +228,32 @@ final class RemoteAugmentedAutofillService
});
}
- private void maybeHandleInlineSuggestions(int sessionId,
+ private void maybeRequestShowInlineSuggestions(int sessionId,
@Nullable Dataset[] inlineSuggestionsData, @NonNull AutofillId focusedId,
@Nullable IInlineSuggestionsResponseCallback inlineSuggestionsCallback,
- @NonNull IAutoFillManagerClient client) {
+ @NonNull IAutoFillManagerClient client, @Nullable Bundle clientState) {
if (ArrayUtils.isEmpty(inlineSuggestionsData) || inlineSuggestionsCallback == null) {
return;
}
+ mCallbacks.setLastResponse(sessionId);
try {
inlineSuggestionsCallback.onInlineSuggestionsResponse(
- InlineSuggestionFactory.createAugmentedInlineSuggestionsResponse(sessionId,
- inlineSuggestionsData, focusedId, mContext, client));
+ InlineSuggestionFactory.createAugmentedInlineSuggestionsResponse(
+ inlineSuggestionsData, focusedId, mContext,
+ dataset -> {
+ mCallbacks.logAugmentedAutofillSelected(sessionId,
+ dataset.getId(), clientState);
+ try {
+ client.autofill(sessionId, dataset.getFieldIds(),
+ dataset.getFieldValues());
+ } catch (RemoteException e) {
+ Slog.w(TAG, "Encounter exception autofilling the values");
+ }
+ }));
} catch (RemoteException e) {
Slog.w(TAG, "Exception sending inline suggestions response back to IME.");
}
+ mCallbacks.logAugmentedAutofillShown(sessionId, clientState);
}
@Override
@@ -254,8 +271,13 @@ final class RemoteAugmentedAutofillService
public interface RemoteAugmentedAutofillServiceCallbacks
extends AbstractRemoteService.VultureCallback<RemoteAugmentedAutofillService> {
- // NOTE: so far we don't need to notify the callback implementation (an inner class on
- // AutofillManagerServiceImpl) of the request results (success, timeouts, etc..), so this
- // callback interface is empty.
+ void resetLastResponse();
+
+ void setLastResponse(int sessionId);
+
+ void logAugmentedAutofillShown(int sessionId, @Nullable Bundle clientState);
+
+ void logAugmentedAutofillSelected(int sessionId, @Nullable String suggestionId,
+ @Nullable Bundle clientState);
}
}
diff --git a/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java b/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java
index f9e08e683b6c..31dc23f0118d 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteInlineSuggestionRenderService.java
@@ -20,6 +20,7 @@ import static com.android.server.autofill.Helper.sVerbose;
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UserIdInt;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -86,7 +87,7 @@ final class RemoteInlineSuggestionRenderService extends
}
@Nullable
- private static ServiceInfo getServiceInfo(Context context) {
+ private static ServiceInfo getServiceInfo(Context context, int userId) {
final String packageName =
context.getPackageManager().getServicesSystemSharedLibraryPackageName();
if (packageName == null) {
@@ -96,8 +97,8 @@ final class RemoteInlineSuggestionRenderService extends
final Intent intent = new Intent(InlineSuggestionRenderService.SERVICE_INTERFACE);
intent.setPackage(packageName);
- final ResolveInfo resolveInfo = context.getPackageManager().resolveService(intent,
- PackageManager.GET_SERVICES | PackageManager.GET_META_DATA);
+ final ResolveInfo resolveInfo = context.getPackageManager().resolveServiceAsUser(intent,
+ PackageManager.GET_SERVICES | PackageManager.GET_META_DATA, userId);
final ServiceInfo serviceInfo = resolveInfo == null ? null : resolveInfo.serviceInfo;
if (resolveInfo == null || serviceInfo == null) {
Slog.w(TAG, "No valid components found.");
@@ -115,8 +116,8 @@ final class RemoteInlineSuggestionRenderService extends
}
@Nullable
- public static ComponentName getServiceComponentName(Context context) {
- final ServiceInfo serviceInfo = getServiceInfo(context);
+ public static ComponentName getServiceComponentName(Context context, @UserIdInt int userId) {
+ final ServiceInfo serviceInfo = getServiceInfo(context, userId);
if (serviceInfo == null) return null;
final ComponentName componentName = new ComponentName(serviceInfo.packageName,
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index ee37de56ca15..415ecd8cfd63 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -2674,7 +2674,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
if (response.supportsInlineSuggestions()) {
if (requestShowInlineSuggestions(response)) {
- //TODO(b/137800469): Add logging instead of bypassing below logic.
+ //TODO(b/137800469): Fix it to log showed only when IME asks for inflation, rather
+ // than here where framework sends back the response.
+ mService.logDatasetShown(id, mClientState);
return;
}
}
diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
index 8eea04759cdb..507e98369855 100644
--- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
+++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java
@@ -27,6 +27,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
+import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.metrics.LogMaker;
@@ -187,7 +188,10 @@ final class SaveUi {
context = new ContextThemeWrapper(context, mThemeId) {
@Override
public void startActivity(Intent intent) {
- if (intent.resolveActivity(getPackageManager()) == null) {
+ if (resolveActivity(intent) == null) {
+ if (sDebug) {
+ Slog.d(TAG, "Can not startActivity for save UI with intent=" + intent);
+ }
return;
}
intent.putExtra(AutofillManager.EXTRA_RESTORE_CROSS_ACTIVITY, true);
@@ -199,6 +203,16 @@ final class SaveUi {
// Apply restore mechanism
startIntentSenderWithRestore(p, intent);
}
+
+ private ComponentName resolveActivity(Intent intent) {
+ final PackageManager packageManager = getPackageManager();
+ final ComponentName componentName = intent.resolveActivity(packageManager);
+ if (componentName != null) {
+ return componentName;
+ }
+ intent.addFlags(Intent.FLAG_ACTIVITY_MATCH_EXTERNAL);
+ return intent.resolveActivity(packageManager);
+ }
};
final LayoutInflater inflater = LayoutInflater.from(context);
final View view = inflater.inflate(R.layout.autofill_save, null);
diff --git a/services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java b/services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java
index 7c5a57c004e4..ca89f7f69fbc 100644
--- a/services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java
+++ b/services/backup/backuplib/java/com/android/server/backup/transport/TransportClient.java
@@ -26,6 +26,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.os.Binder;
import android.os.DeadObjectException;
import android.os.Handler;
import android.os.IBinder;
@@ -662,6 +663,10 @@ public class TransportClient {
referenceLost("TransportConnection.onServiceConnected()");
return;
}
+ // TODO (b/147705255): Remove when binder calls to IBackupTransport are not blocking
+ // In short-term, blocking calls are OK as the transports come from the whitelist at
+ // {@link SystemConfig#getBackupTransportWhitelist()}
+ Binder.allowBlocking(binder);
transportClient.onServiceConnected(binder);
}
diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerFilePersistedSettings.java b/services/backup/java/com/android/server/backup/UserBackupManagerFilePersistedSettings.java
index 6a1de6378a5e..205b7dda267e 100644
--- a/services/backup/java/com/android/server/backup/UserBackupManagerFilePersistedSettings.java
+++ b/services/backup/java/com/android/server/backup/UserBackupManagerFilePersistedSettings.java
@@ -16,7 +16,6 @@
package com.android.server.backup;
-import static com.android.server.backup.BackupManagerService.DEBUG;
import static com.android.server.backup.BackupManagerService.TAG;
import android.util.Slog;
@@ -33,10 +32,13 @@ final class UserBackupManagerFilePersistedSettings {
private static final String BACKUP_ENABLE_FILE = "backup_enabled";
static boolean readBackupEnableState(int userId) {
- return readBackupEnableState(UserBackupManagerFiles.getBaseStateDir(userId));
+ boolean enabled = readBackupEnableState(UserBackupManagerFiles.getBaseStateDir(userId));
+ Slog.d(TAG, "user:" + userId + " readBackupEnableState enabled:" + enabled);
+ return enabled;
}
static void writeBackupEnableState(int userId, boolean enable) {
+ Slog.d(TAG, "user:" + userId + " writeBackupEnableState enable:" + enable);
writeBackupEnableState(UserBackupManagerFiles.getBaseStateDir(userId), enable);
}
@@ -45,15 +47,17 @@ final class UserBackupManagerFilePersistedSettings {
if (enableFile.exists()) {
try (FileInputStream fin = new FileInputStream(enableFile)) {
int state = fin.read();
+ if (state != 0 && state != 1) {
+ // TODO (b/148587496) handle instead of only logging
+ Slog.e(TAG, "Unexpected enabled state:" + state);
+ }
return state != 0;
} catch (IOException e) {
// can't read the file; fall through to assume disabled
Slog.e(TAG, "Cannot read enable state; assuming disabled");
}
} else {
- if (DEBUG) {
- Slog.i(TAG, "isBackupEnabled() => false due to absent settings file");
- }
+ Slog.i(TAG, "isBackupEnabled() => false due to absent settings file");
}
return false;
}
@@ -64,7 +68,11 @@ final class UserBackupManagerFilePersistedSettings {
try (FileOutputStream fout = new FileOutputStream(stage)) {
fout.write(enable ? 1 : 0);
fout.close();
- stage.renameTo(enableFile);
+ boolean renamed = stage.renameTo(enableFile);
+ if (!renamed) {
+ // TODO (b/148587496) handle instead of only logging
+ Slog.e(TAG, "Write enable failed as could not rename staging file to actual");
+ }
// will be synced immediately by the try-with-resources call to close()
} catch (IOException | RuntimeException e) {
Slog.e(
diff --git a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
index 16484df9f328..f90d936a5f4d 100644
--- a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
+++ b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
@@ -76,6 +76,7 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -697,11 +698,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
mStageName = new File(backupManagerService.getDataDir(), packageName + ".stage");
mNewStateName = new File(mStateDir, packageName + ".new");
- // don't stage the 'android' package where the wallpaper data lives. this is
- // an optimization: we know there's no widget data hosted/published by that
- // package, and this way we avoid doing a spurious copy of MB-sized wallpaper
- // data following the download.
- boolean staging = !packageName.equals(PLATFORM_PACKAGE_NAME);
+ boolean staging = shouldStageBackupData(packageName);
ParcelFileDescriptor stage;
File downloadFile = (staging) ? mStageName : mBackupDataName;
boolean startedAgentRestore = false;
@@ -768,8 +765,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
startedAgentRestore = true;
mAgent.doRestoreWithExcludedKeys(mBackupData, appVersionCode, mNewState,
mEphemeralOpToken, backupManagerService.getBackupManagerBinder(),
- mExcludedKeys.containsKey(packageName)
- ? new ArrayList<>(mExcludedKeys.get(packageName)) : null);
+ new ArrayList<>(getExcludedKeysForPackage(packageName)));
} catch (Exception e) {
Slog.e(TAG, "Unable to call app for restore: " + packageName, e);
EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE,
@@ -785,9 +781,24 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
}
@VisibleForTesting
+ boolean shouldStageBackupData(String packageName) {
+ // Backup data is staged for 2 reasons:
+ // 1. We might need to exclude keys from the data before passing it to the agent
+ // 2. Widget metadata needs to be separated from the rest to be handled separately
+ // But 'android' package doesn't contain widget metadata so we want to skip staging for it
+ // when there are no keys to be excluded either.
+ return !packageName.equals(PLATFORM_PACKAGE_NAME) ||
+ !getExcludedKeysForPackage(PLATFORM_PACKAGE_NAME).isEmpty();
+ }
+
+ private Set<String> getExcludedKeysForPackage(String packageName) {
+ return mExcludedKeys.getOrDefault(packageName, Collections.emptySet());
+ }
+
+ @VisibleForTesting
void filterExcludedKeys(String packageName, BackupDataInput in, BackupDataOutput out)
throws Exception {
- Set<String> excludedKeysForPackage = mExcludedKeys.get(packageName);
+ Set<String> excludedKeysForPackage = getExcludedKeysForPackage(packageName);
byte[] buffer = new byte[8192]; // will grow when needed
while (in.readNextHeader()) {
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
index 0b7029b1a71d..31ea5faa05f1 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
@@ -45,10 +45,8 @@ import android.database.ContentObserver;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
-import android.os.CancellationSignal;
import android.os.Handler;
import android.os.IBinder;
-import android.os.ICancellationSignal;
import android.os.Looper;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
@@ -73,7 +71,6 @@ import android.view.contentcapture.ContentCaptureHelper;
import android.view.contentcapture.ContentCaptureManager;
import android.view.contentcapture.DataRemovalRequest;
import android.view.contentcapture.DataShareRequest;
-import android.view.contentcapture.DataShareWriteAdapter;
import android.view.contentcapture.IContentCaptureManager;
import android.view.contentcapture.IDataShareWriteAdapter;
@@ -92,6 +89,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -647,7 +645,6 @@ public final class ContentCaptureManagerService extends
@Override
public void shareData(@NonNull DataShareRequest request,
- @NonNull ICancellationSignal clientCancellationSignal,
@NonNull IDataShareWriteAdapter clientAdapter) {
Preconditions.checkNotNull(request);
Preconditions.checkNotNull(clientAdapter);
@@ -661,7 +658,8 @@ public final class ContentCaptureManagerService extends
if (mPackagesWithShareRequests.size() >= MAX_CONCURRENT_FILE_SHARING_REQUESTS
|| mPackagesWithShareRequests.contains(request.getPackageName())) {
try {
- clientAdapter.error(DataShareWriteAdapter.ERROR_CONCURRENT_REQUEST);
+ clientAdapter.error(
+ ContentCaptureManager.DATA_SHARE_ERROR_CONCURRENT_REQUEST);
} catch (RemoteException e) {
Slog.e(TAG, "Failed to send error message to client");
}
@@ -669,8 +667,8 @@ public final class ContentCaptureManagerService extends
}
service.onDataSharedLocked(request,
- new DataShareCallbackDelegate(request, clientCancellationSignal,
- clientAdapter));
+ new DataShareCallbackDelegate(request, clientAdapter,
+ ContentCaptureManagerService.this));
}
}
@@ -918,77 +916,72 @@ public final class ContentCaptureManagerService extends
}
}
- // TODO(b/148265162): DataShareCallbackDelegate should be a static class keeping week references
- // to the needed info
- private class DataShareCallbackDelegate extends IDataShareCallback.Stub {
+ private static class DataShareCallbackDelegate extends IDataShareCallback.Stub {
@NonNull private final DataShareRequest mDataShareRequest;
- @NonNull private final ICancellationSignal mClientCancellationSignal;
- @NonNull private final IDataShareWriteAdapter mClientAdapter;
+ @NonNull private final WeakReference<IDataShareWriteAdapter> mClientAdapterReference;
+ @NonNull private final WeakReference<ContentCaptureManagerService> mParentServiceReference;
DataShareCallbackDelegate(@NonNull DataShareRequest dataShareRequest,
- @NonNull ICancellationSignal clientCancellationSignal,
- @NonNull IDataShareWriteAdapter clientAdapter) {
+ @NonNull IDataShareWriteAdapter clientAdapter,
+ ContentCaptureManagerService parentService) {
mDataShareRequest = dataShareRequest;
- mClientCancellationSignal = clientCancellationSignal;
- mClientAdapter = clientAdapter;
+ mClientAdapterReference = new WeakReference<>(clientAdapter);
+ mParentServiceReference = new WeakReference<>(parentService);
}
@Override
- public void accept(ICancellationSignal serviceCancellationSignal,
- IDataShareReadAdapter serviceAdapter) throws RemoteException {
+ public void accept(IDataShareReadAdapter serviceAdapter) throws RemoteException {
Slog.i(TAG, "Data share request accepted by Content Capture service");
+ final ContentCaptureManagerService parentService = mParentServiceReference.get();
+ final IDataShareWriteAdapter clientAdapter = mClientAdapterReference.get();
+ if (parentService == null || clientAdapter == null) {
+ Slog.w(TAG, "Can't fulfill accept() request, because remote objects have been "
+ + "GC'ed");
+ return;
+ }
+
+ final WeakReference<IDataShareReadAdapter> serviceAdapterReference =
+ new WeakReference<>(serviceAdapter);
+
Pair<ParcelFileDescriptor, ParcelFileDescriptor> clientPipe = createPipe();
if (clientPipe == null) {
- mClientAdapter.error(DataShareWriteAdapter.ERROR_UNKNOWN);
- serviceAdapter.error(DataShareWriteAdapter.ERROR_UNKNOWN);
+ clientAdapter.error(ContentCaptureManager.DATA_SHARE_ERROR_UNKNOWN);
+ serviceAdapter.error(ContentCaptureManager.DATA_SHARE_ERROR_UNKNOWN);
return;
}
- ParcelFileDescriptor source_in = clientPipe.second;
- ParcelFileDescriptor sink_in = clientPipe.first;
+ ParcelFileDescriptor sourceIn = clientPipe.second;
+ ParcelFileDescriptor sinkIn = clientPipe.first;
Pair<ParcelFileDescriptor, ParcelFileDescriptor> servicePipe = createPipe();
if (servicePipe == null) {
- bestEffortCloseFileDescriptors(source_in, sink_in);
+ bestEffortCloseFileDescriptors(sourceIn, sinkIn);
- mClientAdapter.error(DataShareWriteAdapter.ERROR_UNKNOWN);
- serviceAdapter.error(DataShareWriteAdapter.ERROR_UNKNOWN);
+ clientAdapter.error(ContentCaptureManager.DATA_SHARE_ERROR_UNKNOWN);
+ serviceAdapter.error(ContentCaptureManager.DATA_SHARE_ERROR_UNKNOWN);
return;
}
- ParcelFileDescriptor source_out = servicePipe.second;
- ParcelFileDescriptor sink_out = servicePipe.first;
-
- ICancellationSignal cancellationSignalTransport =
- CancellationSignal.createTransport();
- mPackagesWithShareRequests.add(mDataShareRequest.getPackageName());
+ ParcelFileDescriptor sourceOut = servicePipe.second;
+ ParcelFileDescriptor sinkOut = servicePipe.first;
- mClientAdapter.write(source_in);
- serviceAdapter.start(sink_out, cancellationSignalTransport);
+ parentService.mPackagesWithShareRequests.add(mDataShareRequest.getPackageName());
- CancellationSignal cancellationSignal =
- CancellationSignal.fromTransport(cancellationSignalTransport);
-
- cancellationSignal.setOnCancelListener(() -> {
- try {
- mClientCancellationSignal.cancel();
- } catch (RemoteException e) {
- Slog.e(TAG, "Failed to propagate cancel operation to the caller", e);
- }
- });
+ clientAdapter.write(sourceIn);
+ serviceAdapter.start(sinkOut);
// File descriptor received by the client app will be a copy of the current one. Close
// the one that belongs to the system server, so there's only 1 open left for the
// current pipe.
- bestEffortCloseFileDescriptor(source_in);
+ bestEffortCloseFileDescriptor(sourceIn);
- mDataShareExecutor.execute(() -> {
+ parentService.mDataShareExecutor.execute(() -> {
try (InputStream fis =
- new ParcelFileDescriptor.AutoCloseInputStream(sink_in);
+ new ParcelFileDescriptor.AutoCloseInputStream(sinkIn);
OutputStream fos =
- new ParcelFileDescriptor.AutoCloseOutputStream(source_out)) {
+ new ParcelFileDescriptor.AutoCloseOutputStream(sourceOut)) {
byte[] byteBuffer = new byte[DATA_SHARE_BYTE_BUFFER_LENGTH];
while (true) {
@@ -1002,55 +995,79 @@ public final class ContentCaptureManagerService extends
}
} catch (IOException e) {
Slog.e(TAG, "Failed to pipe client and service streams", e);
+
+ sendErrorSignal(mClientAdapterReference, serviceAdapterReference,
+ ContentCaptureManager.DATA_SHARE_ERROR_UNKNOWN);
}
});
- mHandler.postDelayed(() -> {
- synchronized (mLock) {
- mPackagesWithShareRequests.remove(mDataShareRequest.getPackageName());
-
- // Interaction finished successfully <=> all data has been written to Content
- // Capture Service. If it hasn't been read successfully, service would be able
- // to signal through the cancellation signal.
- boolean finishedSuccessfully = !sink_in.getFileDescriptor().valid()
- && !source_out.getFileDescriptor().valid();
-
- if (finishedSuccessfully) {
- Slog.i(TAG, "Content capture data sharing session terminated "
- + "successfully for package '"
- + mDataShareRequest.getPackageName()
- + "'");
- } else {
- Slog.i(TAG, "Reached the timeout of Content Capture data sharing session "
- + "for package '"
- + mDataShareRequest.getPackageName()
- + "', terminating the pipe.");
- }
-
- // Ensure all the descriptors are closed after the session.
- bestEffortCloseFileDescriptors(source_in, sink_in, source_out, sink_out);
-
- if (!finishedSuccessfully) {
- try {
- mClientCancellationSignal.cancel();
- } catch (RemoteException e) {
- Slog.e(TAG, "Failed to cancel() the client operation", e);
- }
- try {
- serviceCancellationSignal.cancel();
- } catch (RemoteException e) {
- Slog.e(TAG, "Failed to cancel() the service operation", e);
- }
- }
- }
- }, MAX_DATA_SHARE_FILE_DESCRIPTORS_TTL_MS);
+ parentService.mHandler.postDelayed(() ->
+ enforceDataSharingTtl(
+ sourceIn,
+ sinkIn,
+ sourceOut,
+ sinkOut,
+ serviceAdapterReference),
+ MAX_DATA_SHARE_FILE_DESCRIPTORS_TTL_MS);
}
@Override
public void reject() throws RemoteException {
Slog.i(TAG, "Data share request rejected by Content Capture service");
- mClientAdapter.rejected();
+ IDataShareWriteAdapter clientAdapter = mClientAdapterReference.get();
+ if (clientAdapter == null) {
+ Slog.w(TAG, "Can't fulfill reject() request, because remote objects have been "
+ + "GC'ed");
+ return;
+ }
+
+ clientAdapter.rejected();
+ }
+
+ private void enforceDataSharingTtl(ParcelFileDescriptor sourceIn,
+ ParcelFileDescriptor sinkIn,
+ ParcelFileDescriptor sourceOut,
+ ParcelFileDescriptor sinkOut,
+ WeakReference<IDataShareReadAdapter> serviceAdapterReference) {
+
+ final ContentCaptureManagerService parentService = mParentServiceReference.get();
+ if (parentService == null) {
+ Slog.w(TAG, "Can't enforce data sharing TTL, because remote objects have been "
+ + "GC'ed");
+ return;
+ }
+
+ synchronized (parentService.mLock) {
+ parentService.mPackagesWithShareRequests
+ .remove(mDataShareRequest.getPackageName());
+
+ // Interaction finished successfully <=> all data has been written to Content
+ // Capture Service. If it hasn't been read successfully, service would be able
+ // to signal by closing the input stream while not have finished reading.
+ boolean finishedSuccessfully = !sinkIn.getFileDescriptor().valid()
+ && !sourceOut.getFileDescriptor().valid();
+
+ if (finishedSuccessfully) {
+ Slog.i(TAG, "Content capture data sharing session terminated "
+ + "successfully for package '"
+ + mDataShareRequest.getPackageName()
+ + "'");
+ } else {
+ Slog.i(TAG, "Reached the timeout of Content Capture data sharing session "
+ + "for package '"
+ + mDataShareRequest.getPackageName()
+ + "', terminating the pipe.");
+ }
+
+ // Ensure all the descriptors are closed after the session.
+ bestEffortCloseFileDescriptors(sourceIn, sinkIn, sourceOut, sinkOut);
+
+ if (!finishedSuccessfully) {
+ sendErrorSignal(mClientAdapterReference, serviceAdapterReference,
+ ContentCaptureManager.DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED);
+ }
+ }
}
private Pair<ParcelFileDescriptor, ParcelFileDescriptor> createPipe() {
@@ -1091,5 +1108,31 @@ public final class ContentCaptureManagerService extends
bestEffortCloseFileDescriptor(fd);
}
}
+
+ private static void sendErrorSignal(
+ WeakReference<IDataShareWriteAdapter> clientAdapterReference,
+ WeakReference<IDataShareReadAdapter> serviceAdapterReference,
+ int errorCode) {
+
+ final IDataShareWriteAdapter clientAdapter = clientAdapterReference.get();
+ final IDataShareReadAdapter serviceAdapter = serviceAdapterReference.get();
+
+ if (clientAdapter == null || serviceAdapter == null) {
+ Slog.w(TAG, "Can't propagate error() to read/write data share adapters, because "
+ + "remote objects have been GC'ed");
+ return;
+ }
+
+ try {
+ clientAdapter.error(errorCode);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Failed to call error() the client operation", e);
+ }
+ try {
+ serviceAdapter.error(errorCode);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "Failed to call error() the service operation", e);
+ }
+ }
}
}
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureMetricsLogger.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureMetricsLogger.java
index dd1b84b16f68..7ea4eff3381c 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureMetricsLogger.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureMetricsLogger.java
@@ -20,7 +20,8 @@ import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.ContentCaptureOptions;
import android.service.contentcapture.FlushMetrics;
-import android.util.StatsLog;
+
+import com.android.internal.util.FrameworkStatsLog;
import java.util.List;
@@ -35,8 +36,8 @@ public final class ContentCaptureMetricsLogger {
/** @hide */
public static void writeServiceEvent(int eventType, @NonNull String serviceName,
@Nullable String targetPackage) {
- StatsLog.write(StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS, eventType, serviceName,
- targetPackage);
+ FrameworkStatsLog.write(FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS, eventType,
+ serviceName, targetPackage);
}
/** @hide */
@@ -79,16 +80,16 @@ public final class ContentCaptureMetricsLogger {
stringBuilder.append(activities.get(i).flattenToShortString());
}
}
- StatsLog.write(StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS,
- StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__SET_WHITELIST,
+ FrameworkStatsLog.write(FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS,
+ FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__SET_WHITELIST,
serviceName, stringBuilder.toString());
}
/** @hide */
public static void writeSessionEvent(int sessionId, int event, int flags,
@NonNull ComponentName service, @Nullable ComponentName app, boolean isChildSession) {
- StatsLog.write(StatsLog.CONTENT_CAPTURE_SESSION_EVENTS, sessionId, event, flags,
- ComponentName.flattenToShortString(service),
+ FrameworkStatsLog.write(FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS, sessionId, event,
+ flags, ComponentName.flattenToShortString(service),
ComponentName.flattenToShortString(app), isChildSession);
}
@@ -96,7 +97,7 @@ public final class ContentCaptureMetricsLogger {
public static void writeSessionFlush(int sessionId, @NonNull ComponentName service,
@Nullable ComponentName app, @NonNull FlushMetrics fm,
@NonNull ContentCaptureOptions options, int flushReason) {
- StatsLog.write(StatsLog.CONTENT_CAPTURE_FLUSHED, sessionId,
+ FrameworkStatsLog.write(FrameworkStatsLog.CONTENT_CAPTURE_FLUSHED, sessionId,
ComponentName.flattenToShortString(service),
ComponentName.flattenToShortString(app), fm.sessionStarted, fm.sessionFinished,
fm.viewAppearedCount, fm.viewDisappearedCount, fm.viewTextChangedCount,
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
index 0f1122e3886a..583c5b593b88 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
@@ -61,13 +61,13 @@ import android.util.ArraySet;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
-import android.util.StatsLog;
import android.view.contentcapture.ContentCaptureCondition;
import android.view.contentcapture.DataRemovalRequest;
import android.view.contentcapture.DataShareRequest;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.os.IResultReceiver;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.contentcapture.RemoteContentCaptureService.ContentCaptureServiceCallbacks;
import com.android.server.infra.AbstractPerUserSystemService;
@@ -275,7 +275,7 @@ final class ContentCapturePerUserService
/* binder= */ null);
// Log metrics.
writeSessionEvent(sessionId,
- StatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
+ FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
STATE_DISABLED | STATE_NO_SERVICE, serviceComponentName,
componentName, /* isChildSession= */ false);
return;
@@ -299,7 +299,7 @@ final class ContentCapturePerUserService
/* binder= */ null);
// Log metrics.
writeSessionEvent(sessionId,
- StatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
+ FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
STATE_DISABLED | STATE_NOT_WHITELISTED, serviceComponentName,
componentName, /* isChildSession= */ false);
return;
@@ -313,7 +313,7 @@ final class ContentCapturePerUserService
/* binder=*/ null);
// Log metrics.
writeSessionEvent(sessionId,
- StatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
+ FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
STATE_DISABLED | STATE_DUPLICATED_ID,
serviceComponentName, componentName, /* isChildSession= */ false);
return;
@@ -330,7 +330,7 @@ final class ContentCapturePerUserService
/* binder= */ null);
// Log metrics.
writeSessionEvent(sessionId,
- StatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
+ FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__SESSION_NOT_CREATED,
STATE_DISABLED | STATE_NO_SERVICE, serviceComponentName,
componentName, /* isChildSession= */ false);
return;
@@ -651,7 +651,7 @@ final class ContentCapturePerUserService
} finally {
Binder.restoreCallingIdentity(token);
}
- writeServiceEvent(StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__SET_DISABLED,
+ writeServiceEvent(FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__SET_DISABLED,
getServiceComponentName());
}
diff --git a/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java b/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java
index c16df0f19943..9a170ac6da10 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java
@@ -32,13 +32,13 @@ import android.service.contentcapture.IContentCaptureServiceCallback;
import android.service.contentcapture.IDataShareCallback;
import android.service.contentcapture.SnapshotData;
import android.util.Slog;
-import android.util.StatsLog;
import android.view.contentcapture.ContentCaptureContext;
import android.view.contentcapture.DataRemovalRequest;
import android.view.contentcapture.DataShareRequest;
import com.android.internal.infra.AbstractMultiplePendingRequestsRemoteService;
import com.android.internal.os.IResultReceiver;
+import com.android.internal.util.FrameworkStatsLog;
final class RemoteContentCaptureService
extends AbstractMultiplePendingRequestsRemoteService<RemoteContentCaptureService,
@@ -83,7 +83,8 @@ final class RemoteContentCaptureService
if (connected) {
try {
mService.onConnected(mServerCallback, sVerbose, sDebug);
- writeServiceEvent(StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__ON_CONNECTED,
+ writeServiceEvent(
+ FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__ON_CONNECTED,
mComponentName);
} finally {
// Update the system-service state, in case the service reconnected after
@@ -92,7 +93,8 @@ final class RemoteContentCaptureService
}
} else {
mService.onDisconnected();
- writeServiceEvent(StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__ON_DISCONNECTED,
+ writeServiceEvent(
+ FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__ON_DISCONNECTED,
mComponentName);
}
} catch (Exception e) {
@@ -114,8 +116,9 @@ final class RemoteContentCaptureService
(s) -> s.onSessionStarted(context, sessionId, uid, clientReceiver, initialState));
// Metrics logging.
writeSessionEvent(sessionId,
- StatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__ON_SESSION_STARTED, initialState,
- getComponentName(), context.getActivityComponent(), /* is_child_session= */ false);
+ FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__ON_SESSION_STARTED,
+ initialState, getComponentName(), context.getActivityComponent(),
+ /* is_child_session= */ false);
}
/**
@@ -126,7 +129,7 @@ final class RemoteContentCaptureService
scheduleAsyncRequest((s) -> s.onSessionFinished(sessionId));
// Metrics logging.
writeSessionEvent(sessionId,
- StatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__ON_SESSION_FINISHED,
+ FrameworkStatsLog.CONTENT_CAPTURE_SESSION_EVENTS__EVENT__ON_SESSION_FINISHED,
/* flags= */ 0, getComponentName(), /* app= */ null,
/* is_child_session= */ false);
}
@@ -143,7 +146,8 @@ final class RemoteContentCaptureService
*/
public void onDataRemovalRequest(@NonNull DataRemovalRequest request) {
scheduleAsyncRequest((s) -> s.onDataRemovalRequest(request));
- writeServiceEvent(StatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__ON_USER_DATA_REMOVED,
+ writeServiceEvent(
+ FrameworkStatsLog.CONTENT_CAPTURE_SERVICE_EVENTS__EVENT__ON_USER_DATA_REMOVED,
mComponentName);
}
diff --git a/services/core/java/android/app/usage/UsageStatsManagerInternal.java b/services/core/java/android/app/usage/UsageStatsManagerInternal.java
index a8be66990fff..5c2cbfa63a2b 100644
--- a/services/core/java/android/app/usage/UsageStatsManagerInternal.java
+++ b/services/core/java/android/app/usage/UsageStatsManagerInternal.java
@@ -215,9 +215,14 @@ public abstract class UsageStatsManagerInternal {
/**
* Returns the events for the user in the given time period.
+ *
+ * @param obfuscateInstantApps whether instant app package names need to be obfuscated in the
+ * result.
+ * @param hideShortcutInvocationEvents whether the {@link UsageEvents.Event#SHORTCUT_INVOCATION}
+ * events need to be excluded from the result.
*/
public abstract UsageEvents queryEventsForUser(@UserIdInt int userId, long beginTime,
- long endTime, boolean shouldObfuscateInstantApps);
+ long endTime, boolean obfuscateInstantApps, boolean hideShortcutInvocationEvents);
/**
* Used to persist the last time a job was run for this app, in order to make decisions later
diff --git a/services/core/java/android/content/pm/PackageManagerInternal.java b/services/core/java/android/content/pm/PackageManagerInternal.java
index 27b6bfb8f5fd..bdcd832e4f4a 100644
--- a/services/core/java/android/content/pm/PackageManagerInternal.java
+++ b/services/core/java/android/content/pm/PackageManagerInternal.java
@@ -67,6 +67,7 @@ public abstract class PackageManagerInternal {
public static final int PACKAGE_TELEPHONY = 12;
public static final int PACKAGE_WIFI = 13;
public static final int PACKAGE_COMPANION = 14;
+ public static final int PACKAGE_RETAIL_DEMO = 15;
@IntDef(value = {
INTEGRITY_VERIFICATION_ALLOW,
@@ -105,6 +106,7 @@ public abstract class PackageManagerInternal {
PACKAGE_TELEPHONY,
PACKAGE_WIFI,
PACKAGE_COMPANION,
+ PACKAGE_RETAIL_DEMO,
})
@Retention(RetentionPolicy.SOURCE)
public @interface KnownPackage {}
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java
index 0f2fb9252c29..3441a5f19508 100644
--- a/services/core/java/com/android/server/AlarmManagerService.java
+++ b/services/core/java/com/android/server/AlarmManagerService.java
@@ -86,7 +86,6 @@ import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
import android.util.SparseLongArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
@@ -94,6 +93,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.LocalLog;
import com.android.internal.util.StatLogger;
@@ -331,12 +331,16 @@ class AlarmManagerService extends SystemService {
return (history == null) ? 0 : history.size();
}
- long getLastWakeupForPackage(String packageName, int userId, int positionFromEnd) {
+ /**
+ * @param n The desired nth-last wakeup
+ * (1=1st-last=the ultimate wakeup and 2=2nd-last=the penultimate wakeup)
+ */
+ long getNthLastWakeupForPackage(String packageName, int userId, int n) {
final LongArrayQueue history = mPackageHistory.get(Pair.create(packageName, userId));
if (history == null) {
return 0;
}
- final int i = history.size() - positionFromEnd;
+ final int i = history.size() - n;
return (i < 0) ? 0 : history.get(i);
}
@@ -400,6 +404,11 @@ class AlarmManagerService extends SystemService {
"standby_rare_quota",
"standby_never_quota",
};
+ // Not putting this in the KEYS_APP_STANDBY_QUOTAS array because this uses a different
+ // window size.
+ private static final String KEY_APP_STANDBY_RESTRICTED_QUOTA = "standby_restricted_quota";
+ private static final String KEY_APP_STANDBY_RESTRICTED_WINDOW =
+ "app_standby_restricted_window";
private static final long DEFAULT_MIN_FUTURITY = 5 * 1000;
private static final long DEFAULT_MIN_INTERVAL = 60 * 1000;
@@ -420,6 +429,8 @@ class AlarmManagerService extends SystemService {
1, // Rare
0 // Never
};
+ private static final int DEFAULT_APP_STANDBY_RESTRICTED_QUOTA = 1;
+ private static final long DEFAULT_APP_STANDBY_RESTRICTED_WINDOW = MILLIS_IN_DAY;
// Minimum futurity of a new alarm
public long MIN_FUTURITY = DEFAULT_MIN_FUTURITY;
@@ -446,6 +457,8 @@ class AlarmManagerService extends SystemService {
public long APP_STANDBY_WINDOW = DEFAULT_APP_STANDBY_WINDOW;
public int[] APP_STANDBY_QUOTAS = new int[DEFAULT_APP_STANDBY_QUOTAS.length];
+ public int APP_STANDBY_RESTRICTED_QUOTA = DEFAULT_APP_STANDBY_RESTRICTED_QUOTA;
+ public long APP_STANDBY_RESTRICTED_WINDOW = DEFAULT_APP_STANDBY_RESTRICTED_WINDOW;
private ContentResolver mResolver;
private final KeyValueListParser mParser = new KeyValueListParser(',');
@@ -520,6 +533,14 @@ class AlarmManagerService extends SystemService {
Math.min(APP_STANDBY_QUOTAS[i - 1], DEFAULT_APP_STANDBY_QUOTAS[i]));
}
+ APP_STANDBY_RESTRICTED_QUOTA = Math.max(1,
+ mParser.getInt(KEY_APP_STANDBY_RESTRICTED_QUOTA,
+ DEFAULT_APP_STANDBY_RESTRICTED_QUOTA));
+
+ APP_STANDBY_RESTRICTED_WINDOW = Math.max(APP_STANDBY_WINDOW,
+ mParser.getLong(KEY_APP_STANDBY_RESTRICTED_WINDOW,
+ DEFAULT_APP_STANDBY_RESTRICTED_WINDOW));
+
MAX_ALARMS_PER_UID = mParser.getInt(KEY_MAX_ALARMS_PER_UID,
DEFAULT_MAX_ALARMS_PER_UID);
if (MAX_ALARMS_PER_UID < DEFAULT_MAX_ALARMS_PER_UID) {
@@ -581,6 +602,14 @@ class AlarmManagerService extends SystemService {
pw.println(APP_STANDBY_QUOTAS[i]);
}
+ pw.print(KEY_APP_STANDBY_RESTRICTED_QUOTA); pw.print("=");
+ TimeUtils.formatDuration(APP_STANDBY_RESTRICTED_QUOTA, pw);
+ pw.println();
+
+ pw.print(KEY_APP_STANDBY_RESTRICTED_WINDOW); pw.print("=");
+ TimeUtils.formatDuration(APP_STANDBY_RESTRICTED_WINDOW, pw);
+ pw.println();
+
pw.decreaseIndent();
}
@@ -1814,25 +1843,44 @@ class AlarmManagerService extends SystemService {
sourcePackage, sourceUserId, mInjector.getElapsedRealtime());
// Quota deferring implementation:
+ boolean deferred = false;
final int wakeupsInWindow = mAppWakeupHistory.getTotalWakeupsInWindow(sourcePackage,
sourceUserId);
- final int quotaForBucket = getQuotaForBucketLocked(standbyBucket);
- boolean deferred = false;
- if (wakeupsInWindow >= quotaForBucket) {
- final long minElapsed;
- if (quotaForBucket <= 0) {
- // Just keep deferring for a day till the quota changes
- minElapsed = mInjector.getElapsedRealtime() + MILLIS_IN_DAY;
- } else {
- // Suppose the quota for window was q, and the qth last delivery time for this
- // package was t(q) then the next delivery must be after t(q) + <window_size>
- final long t = mAppWakeupHistory.getLastWakeupForPackage(sourcePackage,
- sourceUserId, quotaForBucket);
- minElapsed = t + 1 + mConstants.APP_STANDBY_WINDOW;
+ if (standbyBucket == UsageStatsManager.STANDBY_BUCKET_RESTRICTED) {
+ // Special case because it's 1/day instead of 1/hour.
+ // AppWakeupHistory doesn't delete old wakeup times until a new one is logged, so we
+ // should always have the last wakeup available.
+ if (wakeupsInWindow > 0) {
+ final long lastWakeupTime = mAppWakeupHistory.getNthLastWakeupForPackage(
+ sourcePackage, sourceUserId, mConstants.APP_STANDBY_RESTRICTED_QUOTA);
+ if (mInjector.getElapsedRealtime() - lastWakeupTime
+ < mConstants.APP_STANDBY_RESTRICTED_WINDOW) {
+ final long minElapsed =
+ lastWakeupTime + mConstants.APP_STANDBY_RESTRICTED_WINDOW;
+ if (alarm.expectedWhenElapsed < minElapsed) {
+ alarm.whenElapsed = alarm.maxWhenElapsed = minElapsed;
+ deferred = true;
+ }
+ }
}
- if (alarm.expectedWhenElapsed < minElapsed) {
- alarm.whenElapsed = alarm.maxWhenElapsed = minElapsed;
- deferred = true;
+ } else {
+ final int quotaForBucket = getQuotaForBucketLocked(standbyBucket);
+ if (wakeupsInWindow >= quotaForBucket) {
+ final long minElapsed;
+ if (quotaForBucket <= 0) {
+ // Just keep deferring for a day till the quota changes
+ minElapsed = mInjector.getElapsedRealtime() + MILLIS_IN_DAY;
+ } else {
+ // Suppose the quota for window was q, and the qth last delivery time for this
+ // package was t(q) then the next delivery must be after t(q) + <window_size>
+ final long t = mAppWakeupHistory.getNthLastWakeupForPackage(
+ sourcePackage, sourceUserId, quotaForBucket);
+ minElapsed = t + 1 + mConstants.APP_STANDBY_WINDOW;
+ }
+ if (alarm.expectedWhenElapsed < minElapsed) {
+ alarm.whenElapsed = alarm.maxWhenElapsed = minElapsed;
+ deferred = true;
+ }
}
}
if (!deferred) {
@@ -3915,7 +3963,7 @@ class AlarmManagerService extends SystemService {
Slog.v(TAG, "Time changed notification from kernel; rebatching");
}
// StatsLog requires currentTimeMillis(), which == nowRTC to within usecs.
- StatsLog.write(StatsLog.WALL_CLOCK_TIME_SHIFTED, nowRTC);
+ FrameworkStatsLog.write(FrameworkStatsLog.WALL_CLOCK_TIME_SHIFTED, nowRTC);
removeImpl(null, mTimeTickTrigger);
removeImpl(mDateChangeSender, null);
rebatchAllAlarms();
diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java
index 8074900d2776..c8894e79ac0c 100644
--- a/services/core/java/com/android/server/BatteryService.java
+++ b/services/core/java/com/android/server/BatteryService.java
@@ -18,6 +18,7 @@ package com.android.server;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.content.ContentResolver;
@@ -1318,8 +1319,7 @@ public final class BatteryService extends SystemService {
*
* @hide Should only be used internally.
*/
- @VisibleForTesting
- static final class HealthServiceWrapper {
+ public static final class HealthServiceWrapper {
private static final String TAG = "HealthServiceWrapper";
public static final String INSTANCE_HEALTHD = "backup";
public static final String INSTANCE_VENDOR = "default";
@@ -1341,20 +1341,28 @@ public final class BatteryService extends SystemService {
* init should be called after constructor. For testing purposes, init is not called by
* constructor.
*/
- HealthServiceWrapper() {
+ public HealthServiceWrapper() {
}
- IHealth getLastService() {
+ public IHealth getLastService() {
return mLastService.get();
}
/**
+ * See {@link #init(Callback, IServiceManagerSupplier, IHealthSupplier)}
+ */
+ public void init() throws RemoteException, NoSuchElementException {
+ init(/* callback= */null, new HealthServiceWrapper.IServiceManagerSupplier() {},
+ new HealthServiceWrapper.IHealthSupplier() {});
+ }
+
+ /**
* Start monitoring registration of new IHealth services. Only instances that are in
* {@code sAllInstances} and in device / framework manifest are used. This function should
* only be called once.
*
* mCallback.onRegistration() is called synchronously (aka in init thread) before
- * this method returns.
+ * this method returns if callback is not null.
*
* @throws RemoteException transaction error when talking to IServiceManager
* @throws NoSuchElementException if one of the following cases:
@@ -1362,18 +1370,17 @@ public final class BatteryService extends SystemService {
* - none of {@code sAllInstances} are in manifests (i.e. not
* available on this device), or none of these instances are available to current
* process.
- * @throws NullPointerException when callback is null or supplier is null
+ * @throws NullPointerException when supplier is null
*/
- void init(Callback callback,
+ void init(@Nullable Callback callback,
IServiceManagerSupplier managerSupplier,
IHealthSupplier healthSupplier)
throws RemoteException, NoSuchElementException, NullPointerException {
- if (callback == null || managerSupplier == null || healthSupplier == null)
+ if (managerSupplier == null || healthSupplier == null) {
throw new NullPointerException();
-
+ }
IServiceManager manager;
- mCallback = callback;
mHealthSupplier = healthSupplier;
// Initialize mLastService and call callback for the first time (in init thread)
@@ -1399,7 +1406,11 @@ public final class BatteryService extends SystemService {
"No IHealth service instance among %s is available. Perhaps no permission?",
sAllInstances.toString()));
}
- mCallback.onRegistration(null, newService, mInstanceName);
+
+ if (callback != null) {
+ mCallback = callback;
+ mCallback.onRegistration(null, newService, mInstanceName);
+ }
// Register for future service registrations
traceBegin("HealthInitRegisterNotification");
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index 3774b645339d..311a494ee570 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -69,17 +69,17 @@ import android.text.TextUtils;
import android.util.FeatureFlagUtils;
import android.util.Log;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.pm.UserRestrictionsUtils;
import java.io.FileDescriptor;
import java.io.PrintWriter;
-import java.util.HashMap;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.Locale;
import java.util.Map;
@@ -87,7 +87,6 @@ import java.util.NoSuchElementException;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-
class BluetoothManagerService extends IBluetoothManager.Stub {
private static final String TAG = "BluetoothManagerService";
private static final boolean DBG = true;
@@ -2300,9 +2299,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
new ActiveLog(reason, packageName, enable, System.currentTimeMillis()));
}
- int state = enable ? StatsLog.BLUETOOTH_ENABLED_STATE_CHANGED__STATE__ENABLED :
- StatsLog.BLUETOOTH_ENABLED_STATE_CHANGED__STATE__DISABLED;
- StatsLog.write_non_chained(StatsLog.BLUETOOTH_ENABLED_STATE_CHANGED,
+ int state = enable ? FrameworkStatsLog.BLUETOOTH_ENABLED_STATE_CHANGED__STATE__ENABLED :
+ FrameworkStatsLog.BLUETOOTH_ENABLED_STATE_CHANGED__STATE__DISABLED;
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.BLUETOOTH_ENABLED_STATE_CHANGED,
Binder.getCallingUid(), null, state, reason, packageName);
}
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index dd33566322e2..3877e9a71f26 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -557,13 +557,17 @@ public class ConnectivityService extends IConnectivityManager.Stub
.asInterface(ServiceManager.getService("dnsresolver"));
}
- /** Handler thread used for both of the handlers below. */
+ /** Handler thread used for all of the handlers below. */
@VisibleForTesting
protected final HandlerThread mHandlerThread;
/** Handler used for internal events. */
final private InternalHandler mHandler;
/** Handler used for incoming {@link NetworkStateTracker} events. */
final private NetworkStateTrackerHandler mTrackerHandler;
+ /** Handler used for processing {@link android.net.ConnectivityDiagnosticsManager} events */
+ @VisibleForTesting
+ final ConnectivityDiagnosticsHandler mConnectivityDiagnosticsHandler;
+
private final DnsManager mDnsManager;
private boolean mSystemReady;
@@ -630,6 +634,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
@VisibleForTesting
final MultipathPolicyTracker mMultipathPolicyTracker;
+ @VisibleForTesting
+ final Map<IConnectivityDiagnosticsCallback, ConnectivityDiagnosticsCallbackInfo>
+ mConnectivityDiagnosticsCallbacks = new HashMap<>();
+
/**
* Implements support for the legacy "one network per network type" model.
*
@@ -962,6 +970,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
mHandlerThread.start();
mHandler = new InternalHandler(mHandlerThread.getLooper());
mTrackerHandler = new NetworkStateTrackerHandler(mHandlerThread.getLooper());
+ mConnectivityDiagnosticsHandler =
+ new ConnectivityDiagnosticsHandler(mHandlerThread.getLooper());
mReleasePendingIntentDelayMs = Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS, 5_000);
@@ -2962,6 +2972,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
public int getInterfaceVersion() {
return this.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return this.HASH;
+ }
}
private boolean networkRequiresPrivateDnsValidation(NetworkAgentInfo nai) {
@@ -3386,18 +3401,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
nri.unlinkDeathRecipient();
mNetworkRequests.remove(nri.request);
- synchronized (mUidToNetworkRequestCount) {
- int requests = mUidToNetworkRequestCount.get(nri.mUid, 0);
- if (requests < 1) {
- Slog.wtf(TAG, "BUG: too small request count " + requests + " for UID " +
- nri.mUid);
- } else if (requests == 1) {
- mUidToNetworkRequestCount.removeAt(
- mUidToNetworkRequestCount.indexOfKey(nri.mUid));
- } else {
- mUidToNetworkRequestCount.put(nri.mUid, requests - 1);
- }
- }
+ decrementNetworkRequestPerUidCount(nri);
mNetworkRequestInfoLogs.log("RELEASE " + nri);
if (nri.request.isRequest()) {
@@ -3468,6 +3472,19 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
+ private void decrementNetworkRequestPerUidCount(final NetworkRequestInfo nri) {
+ synchronized (mUidToNetworkRequestCount) {
+ final int requests = mUidToNetworkRequestCount.get(nri.mUid, 0);
+ if (requests < 1) {
+ Slog.wtf(TAG, "BUG: too small request count " + requests + " for UID " + nri.mUid);
+ } else if (requests == 1) {
+ mUidToNetworkRequestCount.removeAt(mUidToNetworkRequestCount.indexOfKey(nri.mUid));
+ } else {
+ mUidToNetworkRequestCount.put(nri.mUid, requests - 1);
+ }
+ }
+ }
+
@Override
public void setAcceptUnvalidated(Network network, boolean accept, boolean always) {
enforceNetworkStackSettingsOrSetup();
@@ -4300,7 +4317,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
throwIfLockdownEnabled();
Vpn vpn = mVpns.get(userId);
if (vpn != null) {
- return vpn.prepare(oldPackage, newPackage);
+ return vpn.prepare(oldPackage, newPackage, false);
} else {
return false;
}
@@ -4349,6 +4366,78 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
/**
+ * Stores the given VPN profile based on the provisioning package name.
+ *
+ * <p>If there is already a VPN profile stored for the provisioning package, this call will
+ * overwrite the profile.
+ *
+ * <p>This is designed to serve the VpnManager only; settings-based VPN profiles are managed
+ * exclusively by the Settings app, and passed into the platform at startup time.
+ *
+ * @return {@code true} if user consent has already been granted, {@code false} otherwise.
+ * @hide
+ */
+ @Override
+ public boolean provisionVpnProfile(@NonNull VpnProfile profile, @NonNull String packageName) {
+ final int user = UserHandle.getUserId(Binder.getCallingUid());
+ synchronized (mVpns) {
+ return mVpns.get(user).provisionVpnProfile(packageName, profile, mKeyStore);
+ }
+ }
+
+ /**
+ * Deletes the stored VPN profile for the provisioning package
+ *
+ * <p>If there are no profiles for the given package, this method will silently succeed.
+ *
+ * <p>This is designed to serve the VpnManager only; settings-based VPN profiles are managed
+ * exclusively by the Settings app, and passed into the platform at startup time.
+ *
+ * @hide
+ */
+ @Override
+ public void deleteVpnProfile(@NonNull String packageName) {
+ final int user = UserHandle.getUserId(Binder.getCallingUid());
+ synchronized (mVpns) {
+ mVpns.get(user).deleteVpnProfile(packageName, mKeyStore);
+ }
+ }
+
+ /**
+ * Starts the VPN based on the stored profile for the given package
+ *
+ * <p>This is designed to serve the VpnManager only; settings-based VPN profiles are managed
+ * exclusively by the Settings app, and passed into the platform at startup time.
+ *
+ * @throws IllegalArgumentException if no profile was found for the given package name.
+ * @hide
+ */
+ @Override
+ public void startVpnProfile(@NonNull String packageName) {
+ final int user = UserHandle.getUserId(Binder.getCallingUid());
+ synchronized (mVpns) {
+ throwIfLockdownEnabled();
+ mVpns.get(user).startVpnProfile(packageName, mKeyStore);
+ }
+ }
+
+ /**
+ * Stops the Platform VPN if the provided package is running one.
+ *
+ * <p>This is designed to serve the VpnManager only; settings-based VPN profiles are managed
+ * exclusively by the Settings app, and passed into the platform at startup time.
+ *
+ * @hide
+ */
+ @Override
+ public void stopVpnProfile(@NonNull String packageName) {
+ final int user = UserHandle.getUserId(Binder.getCallingUid());
+ synchronized (mVpns) {
+ mVpns.get(user).stopVpnProfile(packageName);
+ }
+ }
+
+ /**
* Start legacy VPN, controlling native daemons as needed. Creates a
* secondary thread to perform connection work, returning quickly.
*/
@@ -4551,6 +4640,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
+ /**
+ * Throws if there is any currently running, always-on Legacy VPN.
+ *
+ * <p>The LockdownVpnTracker and mLockdownEnabled both track whether an always-on Legacy VPN is
+ * running across the entire system. Tracking for app-based VPNs is done on a per-user,
+ * per-package basis in Vpn.java
+ */
@GuardedBy("mVpns")
private void throwIfLockdownEnabled() {
if (mLockdownEnabled) {
@@ -5086,6 +5182,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
+ NetworkRequestInfo(NetworkRequest r) {
+ this(r, null);
+ }
+
private void enforceRequestCountLimit() {
synchronized (mUidToNetworkRequestCount) {
int networkRequests = mUidToNetworkRequestCount.get(mUid, 0) + 1;
@@ -5532,20 +5632,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
return nri.request.requestId == mDefaultRequest.requestId;
}
- // TODO : remove this method. It's a stopgap measure to help sheperding a number of dependent
- // changes that would conflict throughout the automerger graph. Having this method temporarily
- // helps with the process of going through with all these dependent changes across the entire
- // tree.
- /**
- * Register a new agent. {@see #registerNetworkAgent} below.
- */
- public Network registerNetworkAgent(Messenger messenger, NetworkInfo networkInfo,
- LinkProperties linkProperties, NetworkCapabilities networkCapabilities,
- int currentScore, NetworkAgentConfig networkAgentConfig) {
- return registerNetworkAgent(messenger, networkInfo, linkProperties, networkCapabilities,
- currentScore, networkAgentConfig, NetworkProvider.ID_NONE);
- }
-
/**
* Register a new agent with ConnectivityService to handle a network.
*
@@ -5564,7 +5650,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
*/
public Network registerNetworkAgent(Messenger messenger, NetworkInfo networkInfo,
LinkProperties linkProperties, NetworkCapabilities networkCapabilities,
- int currentScore, NetworkAgentConfig networkAgentConfig, int providerId) {
+ NetworkScore currentScore, NetworkAgentConfig networkAgentConfig, int providerId) {
enforceNetworkFactoryPermission();
LinkProperties lp = new LinkProperties(linkProperties);
@@ -5572,12 +5658,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
// TODO: Instead of passing mDefaultRequest, provide an API to determine whether a Network
// satisfies mDefaultRequest.
final NetworkCapabilities nc = new NetworkCapabilities(networkCapabilities);
- final NetworkScore ns = new NetworkScore();
- ns.putIntExtension(NetworkScore.LEGACY_SCORE, currentScore);
final NetworkAgentInfo nai = new NetworkAgentInfo(messenger, new AsyncChannel(),
new Network(mNetIdManager.reserveNetId()), new NetworkInfo(networkInfo), lp, nc,
- ns, mContext, mTrackerHandler, new NetworkAgentConfig(networkAgentConfig), this,
- mNetd, mDnsResolver, mNMS, providerId);
+ currentScore, mContext, mTrackerHandler, new NetworkAgentConfig(networkAgentConfig),
+ this, mNetd, mDnsResolver, mNMS, providerId);
// Make sure the network capabilities reflect what the agent info says.
nai.getAndSetNetworkCapabilities(mixInCapabilities(nai, nc));
final String extraInfo = networkInfo.getExtraInfo();
@@ -6104,12 +6188,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
- private void sendUpdatedScoreToFactories(NetworkRequest networkRequest, NetworkAgentInfo nai) {
- int score = 0;
- int serial = 0;
+ private void sendUpdatedScoreToFactories(@NonNull NetworkRequest networkRequest,
+ @Nullable NetworkAgentInfo nai) {
+ final int score;
+ final int serial;
if (nai != null) {
score = nai.getCurrentScore();
serial = nai.factorySerialNumber;
+ } else {
+ score = 0;
+ serial = 0;
}
if (VDBG || DDBG){
log("sending new Min Network Score(" + score + "): " + networkRequest.toString());
@@ -6176,7 +6264,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
private void callCallbackForRequest(NetworkRequestInfo nri,
NetworkAgentInfo networkAgent, int notificationType, int arg1) {
if (nri.messenger == null) {
- return; // Default request has no msgr
+ // Default request has no msgr. Also prevents callbacks from being invoked for
+ // NetworkRequestInfos registered with ConnectivityDiagnostics requests. Those callbacks
+ // are Type.LISTEN, but should not have NetworkCallbacks invoked.
+ return;
}
Bundle bundle = new Bundle();
// TODO: check if defensive copies of data is needed.
@@ -6269,20 +6360,28 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
- private void makeDefault(@NonNull final NetworkAgentInfo newNetwork) {
+ private void makeDefault(@Nullable final NetworkAgentInfo newNetwork) {
if (DBG) log("Switching to new default network: " + newNetwork);
+ mDefaultNetworkNai = newNetwork;
+
try {
- mNMS.setDefaultNetId(newNetwork.network.netId);
+ if (null != newNetwork) {
+ mNMS.setDefaultNetId(newNetwork.network.netId);
+ } else {
+ mNMS.clearDefaultNetId();
+ }
} catch (Exception e) {
loge("Exception setting default network :" + e);
}
- mDefaultNetworkNai = newNetwork;
notifyLockdownVpn(newNetwork);
- handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
- updateTcpBufferSizes(newNetwork.linkProperties.getTcpBufferSizes());
- mDnsManager.setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
+ handleApplyDefaultProxy(null != newNetwork
+ ? newNetwork.linkProperties.getHttpProxy() : null);
+ updateTcpBufferSizes(null != newNetwork
+ ? newNetwork.linkProperties.getTcpBufferSizes() : null);
+ mDnsManager.setDefaultDnsSystemProperties(null != newNetwork
+ ? newNetwork.linkProperties.getDnsServers() : Collections.EMPTY_LIST);
notifyIfacesChangedForNetworkStats();
// Fix up the NetworkCapabilities of any VPNs that don't specify underlying networks.
updateAllVpnsCapabilities();
@@ -6330,15 +6429,47 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
+ static class RequestReassignment {
+ @NonNull public final NetworkRequestInfo mRequest;
+ @Nullable public final NetworkAgentInfo mOldNetwork;
+ @Nullable public final NetworkAgentInfo mNewNetwork;
+ RequestReassignment(@NonNull final NetworkRequestInfo request,
+ @Nullable final NetworkAgentInfo oldNetwork,
+ @Nullable final NetworkAgentInfo newNetwork) {
+ mRequest = request;
+ mOldNetwork = oldNetwork;
+ mNewNetwork = newNetwork;
+ }
+ }
+
@NonNull private final Set<NetworkBgStatePair> mRematchedNetworks = new ArraySet<>();
+ @NonNull private final List<RequestReassignment> mReassignments = new ArrayList<>();
@NonNull Iterable<NetworkBgStatePair> getRematchedNetworks() {
return mRematchedNetworks;
}
+ @NonNull Iterable<RequestReassignment> getRequestReassignments() {
+ return mReassignments;
+ }
+
+ void addRequestReassignment(@NonNull final RequestReassignment reassignment) {
+ mReassignments.add(reassignment);
+ }
+
void addRematchedNetwork(@NonNull final NetworkBgStatePair network) {
mRematchedNetworks.add(network);
}
+
+ // Will return null if this reassignment does not change the network assigned to
+ // the passed request.
+ @Nullable
+ private RequestReassignment getReassignment(@NonNull final NetworkRequestInfo nri) {
+ for (final RequestReassignment event : getRequestReassignments()) {
+ if (nri == event.mRequest) return event;
+ }
+ return null;
+ }
}
private ArrayMap<NetworkRequestInfo, NetworkAgentInfo> computeRequestReassignmentForNetwork(
@@ -6405,31 +6536,24 @@ public class ConnectivityService extends IConnectivityManager.Stub
@NonNull final NetworkAgentInfo newNetwork, final long now) {
ensureRunningOnConnectivityServiceThread();
if (!newNetwork.everConnected) return;
- boolean isNewDefault = false;
- NetworkAgentInfo oldDefaultNetwork = null;
changes.addRematchedNetwork(new NetworkReassignment.NetworkBgStatePair(newNetwork,
newNetwork.isBackgroundNetwork()));
- final int score = newNetwork.getCurrentScore();
-
if (VDBG || DDBG) log("rematching " + newNetwork.name());
final ArrayMap<NetworkRequestInfo, NetworkAgentInfo> reassignedRequests =
computeRequestReassignmentForNetwork(newNetwork);
- NetworkCapabilities nc = newNetwork.networkCapabilities;
- if (VDBG) log(" network has: " + nc);
-
// Find and migrate to this Network any NetworkRequests for
// which this network is now the best.
- final ArrayList<NetworkAgentInfo> removedRequests = new ArrayList<>();
- final ArrayList<NetworkRequestInfo> addedRequests = new ArrayList<>();
for (final Map.Entry<NetworkRequestInfo, NetworkAgentInfo> entry :
reassignedRequests.entrySet()) {
final NetworkRequestInfo nri = entry.getKey();
final NetworkAgentInfo previousSatisfier = nri.mSatisfier;
final NetworkAgentInfo newSatisfier = entry.getValue();
+ changes.addRequestReassignment(new NetworkReassignment.RequestReassignment(
+ nri, previousSatisfier, newSatisfier));
if (newSatisfier != null) {
if (VDBG) log("rematch for " + newSatisfier.name());
if (previousSatisfier != null) {
@@ -6438,29 +6562,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
previousSatisfier.removeRequest(nri.request.requestId);
previousSatisfier.lingerRequest(nri.request, now, mLingerDelayMs);
- removedRequests.add(previousSatisfier);
} else {
if (VDBG || DDBG) log(" accepting network in place of null");
}
newSatisfier.unlingerRequest(nri.request);
- nri.mSatisfier = newSatisfier;
if (!newSatisfier.addRequest(nri.request)) {
Slog.wtf(TAG, "BUG: " + newSatisfier.name() + " already has " + nri.request);
}
- addedRequests.add(nri);
- // Tell NetworkProviders about the new score, so they can stop
- // trying to connect if they know they cannot match it.
- // TODO - this could get expensive if we have a lot of requests for this
- // network. Think about if there is a way to reduce this. Push
- // netid->request mapping to each provider?
- sendUpdatedScoreToFactories(nri.request, newSatisfier);
- if (isDefaultRequest(nri)) {
- isNewDefault = true;
- oldDefaultNetwork = previousSatisfier;
- if (previousSatisfier != null) {
- mLingerMonitor.noteLingerDefaultNetwork(previousSatisfier, newSatisfier);
- }
- }
} else {
// If "newNetwork" is listed as satisfying "nri" but no longer satisfies "nri",
// mark it as no longer satisfying "nri". Because networks are processed by
@@ -6474,51 +6582,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
" request " + nri.request.requestId);
}
newNetwork.removeRequest(nri.request.requestId);
- if (previousSatisfier == newNetwork) {
- nri.mSatisfier = null;
- if (isDefaultRequest(nri)) mDefaultNetworkNai = null;
- sendUpdatedScoreToFactories(nri.request, null);
- } else {
- Slog.wtf(TAG, "BUG: Removing request " + nri.request.requestId + " from " +
- newNetwork.name() +
- " without updating mSatisfier or providers!");
- }
- // TODO: Technically, sending CALLBACK_LOST here is
- // incorrect if there is a replacement network currently
- // connected that can satisfy nri, which is a request
- // (not a listen). However, the only capability that can both
- // a) be requested and b) change is NET_CAPABILITY_TRUSTED,
- // so this code is only incorrect for a network that loses
- // the TRUSTED capability, which is a rare case.
- callCallbackForRequest(nri, newNetwork, ConnectivityManager.CALLBACK_LOST, 0);
}
+ nri.mSatisfier = newSatisfier;
}
-
- if (isNewDefault) {
- updateDataActivityTracking(newNetwork, oldDefaultNetwork);
- // Notify system services that this network is up.
- makeDefault(newNetwork);
- // Log 0 -> X and Y -> X default network transitions, where X is the new default.
- mDeps.getMetricsLogger().defaultNetworkMetrics().logDefaultNetworkEvent(
- now, newNetwork, oldDefaultNetwork);
- // Have a new default network, release the transition wakelock in
- scheduleReleaseNetworkTransitionWakelock();
- }
-
- if (!newNetwork.networkCapabilities.equalRequestableCapabilities(nc)) {
- Slog.wtf(TAG, String.format(
- "BUG: %s changed requestable capabilities during rematch: %s -> %s",
- newNetwork.name(), nc, newNetwork.networkCapabilities));
- }
- if (newNetwork.getCurrentScore() != score) {
- Slog.wtf(TAG, String.format(
- "BUG: %s changed score during rematch: %d -> %d",
- newNetwork.name(), score, newNetwork.getCurrentScore()));
- }
-
- // Notify requested networks are available after the default net is switched, but
- // before LegacyTypeTracker sends legacy broadcasts
- for (NetworkRequestInfo nri : addedRequests) notifyNetworkAvailable(newNetwork, nri);
}
/**
@@ -6545,7 +6611,50 @@ public class ConnectivityService extends IConnectivityManager.Stub
rematchNetworkAndRequests(changes, nai, now);
}
- final NetworkAgentInfo newDefaultNetwork = getDefaultNetwork();
+ final NetworkRequestInfo defaultRequestInfo = mNetworkRequests.get(mDefaultRequest);
+ final NetworkReassignment.RequestReassignment reassignment =
+ changes.getReassignment(defaultRequestInfo);
+ final NetworkAgentInfo newDefaultNetwork =
+ null != reassignment ? reassignment.mNewNetwork : oldDefaultNetwork;
+
+ if (oldDefaultNetwork != newDefaultNetwork) {
+ if (oldDefaultNetwork != null) {
+ mLingerMonitor.noteLingerDefaultNetwork(oldDefaultNetwork, newDefaultNetwork);
+ }
+ updateDataActivityTracking(newDefaultNetwork, oldDefaultNetwork);
+ // Notify system services of the new default.
+ makeDefault(newDefaultNetwork);
+ // Log 0 -> X and Y -> X default network transitions, where X is the new default.
+ mDeps.getMetricsLogger().defaultNetworkMetrics().logDefaultNetworkEvent(
+ now, newDefaultNetwork, oldDefaultNetwork);
+ // Have a new default network, release the transition wakelock in
+ scheduleReleaseNetworkTransitionWakelock();
+ }
+
+ // Notify requested networks are available after the default net is switched, but
+ // before LegacyTypeTracker sends legacy broadcasts
+ for (final NetworkReassignment.RequestReassignment event :
+ changes.getRequestReassignments()) {
+ // Tell NetworkProviders about the new score, so they can stop
+ // trying to connect if they know they cannot match it.
+ // TODO - this could get expensive if there are a lot of outstanding requests for this
+ // network. Think of a way to reduce this. Push netid->request mapping to each factory?
+ sendUpdatedScoreToFactories(event.mRequest.request, event.mNewNetwork);
+
+ if (null != event.mNewNetwork) {
+ notifyNetworkAvailable(event.mNewNetwork, event.mRequest);
+ } else {
+ // TODO: Technically, sending CALLBACK_LOST here is
+ // incorrect if there is a replacement network currently
+ // connected that can satisfy nri, which is a request
+ // (not a listen). However, the only capability that can both
+ // a) be requested and b) change is NET_CAPABILITY_TRUSTED,
+ // so this code is only incorrect for a network that loses
+ // the TRUSTED capability, which is a rare case.
+ callCallbackForRequest(event.mRequest, event.mOldNetwork,
+ ConnectivityManager.CALLBACK_LOST, 0);
+ }
+ }
for (final NetworkReassignment.NetworkBgStatePair event : changes.getRematchedNetworks()) {
// Process listen requests and update capabilities if the background state has
@@ -7332,19 +7441,161 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
+ /**
+ * Handler used for managing all Connectivity Diagnostics related functions.
+ *
+ * @see android.net.ConnectivityDiagnosticsManager
+ *
+ * TODO(b/147816404): Explore moving ConnectivityDiagnosticsHandler to a separate file
+ */
+ @VisibleForTesting
+ class ConnectivityDiagnosticsHandler extends Handler {
+ /**
+ * Used to handle ConnectivityDiagnosticsCallback registration events from {@link
+ * android.net.ConnectivityDiagnosticsManager}.
+ * obj = ConnectivityDiagnosticsCallbackInfo with IConnectivityDiagnosticsCallback and
+ * NetworkRequestInfo to be registered
+ */
+ private static final int EVENT_REGISTER_CONNECTIVITY_DIAGNOSTICS_CALLBACK = 1;
+
+ /**
+ * Used to handle ConnectivityDiagnosticsCallback unregister events from {@link
+ * android.net.ConnectivityDiagnosticsManager}.
+ * obj = the IConnectivityDiagnosticsCallback to be unregistered
+ * arg1 = the uid of the caller
+ */
+ private static final int EVENT_UNREGISTER_CONNECTIVITY_DIAGNOSTICS_CALLBACK = 2;
+
+ private ConnectivityDiagnosticsHandler(Looper looper) {
+ super(looper);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case EVENT_REGISTER_CONNECTIVITY_DIAGNOSTICS_CALLBACK: {
+ handleRegisterConnectivityDiagnosticsCallback(
+ (ConnectivityDiagnosticsCallbackInfo) msg.obj);
+ break;
+ }
+ case EVENT_UNREGISTER_CONNECTIVITY_DIAGNOSTICS_CALLBACK: {
+ handleUnregisterConnectivityDiagnosticsCallback(
+ (IConnectivityDiagnosticsCallback) msg.obj, msg.arg1);
+ break;
+ }
+ }
+ }
+ }
+
+ /** Class used for cleaning up IConnectivityDiagnosticsCallback instances after their death. */
+ @VisibleForTesting
+ class ConnectivityDiagnosticsCallbackInfo implements Binder.DeathRecipient {
+ @NonNull private final IConnectivityDiagnosticsCallback mCb;
+ @NonNull private final NetworkRequestInfo mRequestInfo;
+
+ @VisibleForTesting
+ ConnectivityDiagnosticsCallbackInfo(
+ @NonNull IConnectivityDiagnosticsCallback cb, @NonNull NetworkRequestInfo nri) {
+ mCb = cb;
+ mRequestInfo = nri;
+ }
+
+ @Override
+ public void binderDied() {
+ log("ConnectivityDiagnosticsCallback IBinder died.");
+ unregisterConnectivityDiagnosticsCallback(mCb);
+ }
+ }
+
+ private void handleRegisterConnectivityDiagnosticsCallback(
+ @NonNull ConnectivityDiagnosticsCallbackInfo cbInfo) {
+ ensureRunningOnConnectivityServiceThread();
+
+ final IConnectivityDiagnosticsCallback cb = cbInfo.mCb;
+ final NetworkRequestInfo nri = cbInfo.mRequestInfo;
+
+ // This means that the client registered the same callback multiple times. Do
+ // not override the previous entry, and exit silently.
+ if (mConnectivityDiagnosticsCallbacks.containsKey(cb)) {
+ if (VDBG) log("Diagnostics callback is already registered");
+
+ // Decrement the reference count for this NetworkRequestInfo. The reference count is
+ // incremented when the NetworkRequestInfo is created as part of
+ // enforceRequestCountLimit().
+ decrementNetworkRequestPerUidCount(nri);
+ return;
+ }
+
+ mConnectivityDiagnosticsCallbacks.put(cb, cbInfo);
+
+ try {
+ cb.asBinder().linkToDeath(cbInfo, 0);
+ } catch (RemoteException e) {
+ cbInfo.binderDied();
+ }
+ }
+
+ private void handleUnregisterConnectivityDiagnosticsCallback(
+ @NonNull IConnectivityDiagnosticsCallback cb, int uid) {
+ ensureRunningOnConnectivityServiceThread();
+
+ if (!mConnectivityDiagnosticsCallbacks.containsKey(cb)) {
+ if (VDBG) log("Removing diagnostics callback that is not currently registered");
+ return;
+ }
+
+ final NetworkRequestInfo nri = mConnectivityDiagnosticsCallbacks.get(cb).mRequestInfo;
+
+ if (uid != nri.mUid) {
+ if (VDBG) loge("Different uid than registrant attempting to unregister cb");
+ return;
+ }
+
+ cb.asBinder().unlinkToDeath(mConnectivityDiagnosticsCallbacks.remove(cb), 0);
+ }
+
@Override
public void registerConnectivityDiagnosticsCallback(
@NonNull IConnectivityDiagnosticsCallback callback, @NonNull NetworkRequest request) {
- // TODO(b/146444622): implement register IConnectivityDiagnosticsCallback functionality
- throw new UnsupportedOperationException(
- "registerConnectivityDiagnosticsCallback not yet implemented");
+ if (request.legacyType != TYPE_NONE) {
+ throw new IllegalArgumentException("ConnectivityManager.TYPE_* are deprecated."
+ + " Please use NetworkCapabilities instead.");
+ }
+
+ // This NetworkCapabilities is only used for matching to Networks. Clear out its owner uid
+ // and administrator uids to be safe.
+ final NetworkCapabilities nc = new NetworkCapabilities(request.networkCapabilities);
+ restrictRequestUidsForCaller(nc);
+
+ final NetworkRequest requestWithId =
+ new NetworkRequest(
+ nc, TYPE_NONE, nextNetworkRequestId(), NetworkRequest.Type.LISTEN);
+
+ // NetworkRequestInfos created here count towards MAX_NETWORK_REQUESTS_PER_UID limit.
+ //
+ // nri is not bound to the death of callback. Instead, callback.bindToDeath() is set in
+ // handleRegisterConnectivityDiagnosticsCallback(). nri will be cleaned up as part of the
+ // callback's binder death.
+ final NetworkRequestInfo nri = new NetworkRequestInfo(requestWithId);
+ final ConnectivityDiagnosticsCallbackInfo cbInfo =
+ new ConnectivityDiagnosticsCallbackInfo(callback, nri);
+
+ mConnectivityDiagnosticsHandler.sendMessage(
+ mConnectivityDiagnosticsHandler.obtainMessage(
+ ConnectivityDiagnosticsHandler
+ .EVENT_REGISTER_CONNECTIVITY_DIAGNOSTICS_CALLBACK,
+ cbInfo));
}
@Override
public void unregisterConnectivityDiagnosticsCallback(
@NonNull IConnectivityDiagnosticsCallback callback) {
- // TODO(b/146444622): implement register IConnectivityDiagnosticsCallback functionality
- throw new UnsupportedOperationException(
- "unregisterConnectivityDiagnosticsCallback not yet implemented");
+ mConnectivityDiagnosticsHandler.sendMessage(
+ mConnectivityDiagnosticsHandler.obtainMessage(
+ ConnectivityDiagnosticsHandler
+ .EVENT_UNREGISTER_CONNECTIVITY_DIAGNOSTICS_CALLBACK,
+ Binder.getCallingUid(),
+ 0,
+ callback));
}
}
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index 4a093cde8e71..50843b0999a1 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -30,7 +30,6 @@ import static android.os.PowerManager.locationPowerSaveModeToString;
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
@@ -88,6 +87,7 @@ import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;
import com.android.server.location.AbstractLocationProvider;
import com.android.server.location.AbstractLocationProvider.State;
+import com.android.server.location.AppForegroundHelper;
import com.android.server.location.CallerIdentity;
import com.android.server.location.GeocoderProxy;
import com.android.server.location.GeofenceManager;
@@ -98,12 +98,12 @@ import com.android.server.location.LocationProviderProxy;
import com.android.server.location.LocationRequestStatistics;
import com.android.server.location.LocationRequestStatistics.PackageProviderKey;
import com.android.server.location.LocationRequestStatistics.PackageStatistics;
-import com.android.server.location.LocationSettingsStore;
import com.android.server.location.LocationUsageLogger;
import com.android.server.location.MockProvider;
import com.android.server.location.MockableLocationProvider;
import com.android.server.location.PassiveProvider;
-import com.android.server.location.UserInfoStore;
+import com.android.server.location.SettingsHelper;
+import com.android.server.location.UserInfoHelper;
import com.android.server.location.gnss.GnssManagerService;
import com.android.server.pm.permission.PermissionManagerServiceInternal;
@@ -140,7 +140,6 @@ public class LocationManagerService extends ILocationManager.Stub {
public Lifecycle(Context context) {
super(context);
mService = new LocationManagerService(context);
- LocalServices.addService(LocationManagerInternal.class, mService.new LocalService());
}
@Override
@@ -181,9 +180,6 @@ public class LocationManagerService extends ILocationManager.Stub {
// maximum age of a location before it is no longer considered "current"
private static final long MAX_CURRENT_LOCATION_AGE_MS = 10 * 1000;
- private static final int FOREGROUND_IMPORTANCE_CUTOFF
- = ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE;
-
// Location Providers may sometimes deliver location updates
// slightly faster that requested - provide grace period so
// we don't unnecessarily filter events that are otherwise on
@@ -195,21 +191,23 @@ public class LocationManagerService extends ILocationManager.Stub {
private final Object mLock = new Object();
private final Context mContext;
private final Handler mHandler;
- private final UserInfoStore mUserInfoStore;
- private final LocationSettingsStore mSettingsStore;
+ private final LocalService mLocalService;
+ private final UserInfoHelper mUserInfoHelper;
+ private final SettingsHelper mSettingsHelper;
+ private final AppForegroundHelper mAppForegroundHelper;
private final LocationUsageLogger mLocationUsageLogger;
+ @Nullable private GnssManagerService mGnssManagerService = null;
+
private final PassiveLocationProviderManager mPassiveManager;
private AppOpsManager mAppOps;
private PackageManager mPackageManager;
private PowerManager mPowerManager;
- private ActivityManager mActivityManager;
private GeofenceManager mGeofenceManager;
private LocationFudger mLocationFudger;
private GeocoderProxy mGeocodeProvider;
- @Nullable private GnssManagerService mGnssManagerService;
@GuardedBy("mLock")
private String mExtraLocationControllerPackage;
@@ -245,8 +243,13 @@ public class LocationManagerService extends ILocationManager.Stub {
private LocationManagerService(Context context) {
mContext = context;
mHandler = FgThread.getHandler();
- mUserInfoStore = new UserInfoStore(mContext);
- mSettingsStore = new LocationSettingsStore(mContext, mHandler);
+ mLocalService = new LocalService();
+
+ LocalServices.addService(LocationManagerInternal.class, mLocalService);
+
+ mUserInfoHelper = new UserInfoHelper(mContext);
+ mSettingsHelper = new SettingsHelper(mContext, mHandler);
+ mAppForegroundHelper = new AppForegroundHelper(mContext);
mLocationUsageLogger = new LocationUsageLogger();
// set up passive provider - we do this early because it has no dependencies on system
@@ -272,17 +275,23 @@ public class LocationManagerService extends ILocationManager.Stub {
}
private void onSystemReady() {
- mUserInfoStore.onSystemReady();
- mSettingsStore.onSystemReady();
+ mUserInfoHelper.onSystemReady();
+ mSettingsHelper.onSystemReady();
+ mAppForegroundHelper.onSystemReady();
+
+ if (GnssManagerService.isGnssSupported()) {
+ mGnssManagerService = new GnssManagerService(mContext, mSettingsHelper,
+ mAppForegroundHelper, mLocationUsageLogger);
+ mGnssManagerService.onSystemReady();
+ }
synchronized (mLock) {
mPackageManager = mContext.getPackageManager();
mAppOps = mContext.getSystemService(AppOpsManager.class);
mPowerManager = mContext.getSystemService(PowerManager.class);
- mActivityManager = mContext.getSystemService(ActivityManager.class);
mLocationFudger = new LocationFudger(mContext, mHandler);
- mGeofenceManager = new GeofenceManager(mContext, mSettingsStore);
+ mGeofenceManager = new GeofenceManager(mContext, mSettingsHelper);
PowerManagerInternal localPowerManager =
LocalServices.getService(PowerManagerInternal.class);
@@ -313,17 +322,6 @@ public class LocationManagerService extends ILocationManager.Stub {
}
});
});
- mActivityManager.addOnUidImportanceListener(
- (uid, importance) -> {
- // listener invoked on ui thread, move to our thread to reduce risk of
- // blocking ui thread
- mHandler.post(() -> {
- synchronized (mLock) {
- onUidImportanceChangedLocked(uid, importance);
- }
- });
- },
- FOREGROUND_IMPORTANCE_CUTOFF);
localPowerManager.registerLowPowerModeObserver(ServiceType.LOCATION,
state -> {
@@ -337,26 +335,13 @@ public class LocationManagerService extends ILocationManager.Stub {
});
mBatterySaverMode = mPowerManager.getLocationPowerSaveMode();
- mSettingsStore.addOnLocationEnabledChangedListener((userId) -> {
- synchronized (mLock) {
- onLocationModeChangedLocked(userId);
- }
- });
- mSettingsStore.addOnBackgroundThrottleIntervalChangedListener(() -> {
- synchronized (mLock) {
- onBackgroundThrottleIntervalChangedLocked();
- }
- });
- mSettingsStore.addOnBackgroundThrottlePackageWhitelistChangedListener(() -> {
- synchronized (mLock) {
- onBackgroundThrottleWhitelistChangedLocked();
- }
- });
- mSettingsStore.addOnIgnoreSettingsPackageWhitelistChangedListener(() -> {
- synchronized (mLock) {
- onIgnoreSettingsWhitelistChangedLocked();
- }
- });
+ mSettingsHelper.addOnLocationEnabledChangedListener(this::onLocationModeChanged);
+ mSettingsHelper.addOnBackgroundThrottleIntervalChangedListener(
+ this::onBackgroundThrottleIntervalChanged);
+ mSettingsHelper.addOnBackgroundThrottlePackageWhitelistChangedListener(
+ this::onBackgroundThrottleWhitelistChanged);
+ mSettingsHelper.addOnIgnoreSettingsPackageWhitelistChangedListener(
+ this::onIgnoreSettingsWhitelistChanged);
new PackageMonitor() {
@Override
@@ -367,11 +352,9 @@ public class LocationManagerService extends ILocationManager.Stub {
}
}.register(mContext, mHandler.getLooper(), true);
- mUserInfoStore.addListener((oldUserId, newUserId) -> {
- synchronized (mLock) {
- onUserChangedLocked(oldUserId, newUserId);
- }
- });
+ mUserInfoHelper.addListener(this::onUserChanged);
+
+ mAppForegroundHelper.addListener(this::onAppForegroundChanged);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
@@ -398,7 +381,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// switching the user from null to current here performs the bulk of the initialization
// work. the user being changed will cause a reload of all user specific settings, which
// causes initialization, and propagates changes until a steady state is reached
- onUserChangedLocked(UserHandle.USER_NULL, mUserInfoStore.getCurrentUserId());
+ onUserChanged(UserHandle.USER_NULL, mUserInfoHelper.getCurrentUserId());
}
}
@@ -455,20 +438,23 @@ public class LocationManagerService extends ILocationManager.Stub {
}
}
- @GuardedBy("mLock")
- private void onLocationModeChangedLocked(int userId) {
+ private void onLocationModeChanged(int userId) {
+ boolean enabled = mSettingsHelper.isLocationEnabled(userId);
+
if (D) {
- Log.d(TAG, "[u" + userId + "] location enabled = " + isLocationEnabledForUser(userId));
+ Log.d(TAG, "[u" + userId + "] location enabled = " + enabled);
}
- Intent intent = new Intent(LocationManager.MODE_CHANGED_ACTION)
- .putExtra(LocationManager.EXTRA_LOCATION_ENABLED, isLocationEnabledForUser(userId))
- .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY)
- .addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
- mContext.sendBroadcastAsUser(intent, UserHandle.of(userId));
+ synchronized (mLock) {
+ Intent intent = new Intent(LocationManager.MODE_CHANGED_ACTION)
+ .putExtra(LocationManager.EXTRA_LOCATION_ENABLED, enabled)
+ .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY)
+ .addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+ mContext.sendBroadcastAsUser(intent, UserHandle.of(userId));
- for (LocationProviderManager manager : mProviderManagers) {
+ for (LocationProviderManager manager : mProviderManagers) {
manager.onEnabledChangedLocked(userId);
+ }
}
}
@@ -493,58 +479,55 @@ public class LocationManagerService extends ILocationManager.Stub {
}
}
- @GuardedBy("mLock")
- private void onUidImportanceChangedLocked(int uid, int importance) {
- boolean foreground = LocationManagerServiceUtils.isImportanceForeground(importance);
- HashSet<String> affectedProviders = new HashSet<>(mRecordsByProvider.size());
- for (Entry<String, ArrayList<UpdateRecord>> entry : mRecordsByProvider.entrySet()) {
- String provider = entry.getKey();
- for (UpdateRecord record : entry.getValue()) {
- if (record.mReceiver.mCallerIdentity.mUid == uid
- && record.mIsForegroundUid != foreground) {
- if (D) {
- Log.d(TAG, "request from uid " + uid + " is now "
- + LocationManagerServiceUtils.foregroundAsString(
- foreground));
- }
- record.updateForeground(foreground);
+ private void onAppForegroundChanged(int uid, boolean foreground) {
+ synchronized (mLock) {
+ HashSet<String> affectedProviders = new HashSet<>(mRecordsByProvider.size());
+ for (Entry<String, ArrayList<UpdateRecord>> entry : mRecordsByProvider.entrySet()) {
+ String provider = entry.getKey();
+ for (UpdateRecord record : entry.getValue()) {
+ if (record.mReceiver.mCallerIdentity.mUid == uid
+ && record.mIsForegroundUid != foreground) {
+ record.updateForeground(foreground);
- if (!isThrottlingExemptLocked(record.mReceiver.mCallerIdentity)) {
- affectedProviders.add(provider);
+ if (!isThrottlingExempt(record.mReceiver.mCallerIdentity)) {
+ affectedProviders.add(provider);
+ }
}
}
}
- }
- for (String provider : affectedProviders) {
- applyRequirementsLocked(provider);
+ for (String provider : affectedProviders) {
+ applyRequirementsLocked(provider);
+ }
}
}
- @GuardedBy("mLock")
- private void onBackgroundThrottleIntervalChangedLocked() {
- for (LocationProviderManager manager : mProviderManagers) {
- applyRequirementsLocked(manager);
+ private void onBackgroundThrottleIntervalChanged() {
+ synchronized (mLock) {
+ for (LocationProviderManager manager : mProviderManagers) {
+ applyRequirementsLocked(manager);
+ }
}
}
- @GuardedBy("mLock")
- private void onBackgroundThrottleWhitelistChangedLocked() {
- for (LocationProviderManager manager : mProviderManagers) {
- applyRequirementsLocked(manager);
+ private void onBackgroundThrottleWhitelistChanged() {
+ synchronized (mLock) {
+ for (LocationProviderManager manager : mProviderManagers) {
+ applyRequirementsLocked(manager);
+ }
}
}
- @GuardedBy("lock")
- private void onIgnoreSettingsWhitelistChangedLocked() {
- for (LocationProviderManager manager : mProviderManagers) {
- applyRequirementsLocked(manager);
+ private void onIgnoreSettingsWhitelistChanged() {
+ synchronized (mLock) {
+ for (LocationProviderManager manager : mProviderManagers) {
+ applyRequirementsLocked(manager);
+ }
}
}
@GuardedBy("mLock")
private void initializeProvidersLocked() {
- if (GnssManagerService.isGnssSupported()) {
- mGnssManagerService = new GnssManagerService(this, mContext, mLocationUsageLogger);
+ if (mGnssManagerService != null) {
LocationProviderManager gnssManager = new LocationProviderManager(GPS_PROVIDER);
mProviderManagers.add(gnssManager);
gnssManager.setRealProvider(mGnssManagerService.getGnssLocationProvider());
@@ -627,19 +610,20 @@ public class LocationManagerService extends ILocationManager.Stub {
}
}
- @GuardedBy("mLock")
- private void onUserChangedLocked(int oldUserId, int newUserId) {
+ private void onUserChanged(int oldUserId, int newUserId) {
if (D) {
Log.d(TAG, "foreground user is changing to " + newUserId);
}
- for (LocationProviderManager manager : mProviderManagers) {
- // update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility
- mSettingsStore.setLocationProviderAllowed(manager.getName(),
- manager.isEnabled(newUserId), newUserId);
+ synchronized (mLock) {
+ for (LocationProviderManager manager : mProviderManagers) {
+ // update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility
+ mSettingsHelper.setLocationProviderAllowed(manager.getName(),
+ manager.isEnabled(newUserId), newUserId);
- manager.onEnabledChangedLocked(oldUserId);
- manager.onEnabledChangedLocked(newUserId);
+ manager.onEnabledChangedLocked(oldUserId);
+ manager.onEnabledChangedLocked(newUserId);
+ }
}
}
@@ -665,7 +649,7 @@ public class LocationManagerService extends ILocationManager.Stub {
mEnabled = new SparseArray<>(1);
// initialize last since this lets our reference escape
- mProvider = new MockableLocationProvider(mContext, mLock, this);
+ mProvider = new MockableLocationProvider(mLock, this);
// we can assume all users start with disabled location state since the initial state
// of all providers is disabled. no need to initialize mEnabled further.
@@ -778,7 +762,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// it would be more correct to call this for all users, but we know this can
// only affect the current user since providers are disabled for non-current
// users
- onEnabledChangedLocked(mUserInfoStore.getCurrentUserId());
+ onEnabledChangedLocked(mUserInfoHelper.getCurrentUserId());
}
}
@@ -787,14 +771,14 @@ public class LocationManagerService extends ILocationManager.Stub {
}
public boolean isEnabled() {
- return isEnabled(mUserInfoStore.getCurrentUserId());
+ return isEnabled(mUserInfoHelper.getCurrentUserId());
}
public boolean isEnabled(int userId) {
synchronized (mLock) {
// normalize user id to always refer to parent since profile state is always the
// same as parent state
- userId = mUserInfoStore.getParentUserId(userId);
+ userId = mUserInfoHelper.getParentUserId(userId);
return mEnabled.get(userId, Boolean.FALSE);
}
}
@@ -808,13 +792,13 @@ public class LocationManagerService extends ILocationManager.Stub {
// normalize user id to always refer to parent since profile state is always the same
// as parent state
- userId = mUserInfoStore.getParentUserId(userId);
+ userId = mUserInfoHelper.getParentUserId(userId);
// if any property that contributes to "enabled" here changes state, it MUST result
// in a direct or indrect call to onEnabledChangedLocked. this allows the provider to
// guarantee that it will always eventually reach the correct state.
- boolean enabled = (userId == mUserInfoStore.getCurrentUserId())
- && mSettingsStore.isLocationEnabled(userId) && mProvider.getState().allowed;
+ boolean enabled = (userId == mUserInfoHelper.getCurrentUserId())
+ && mSettingsHelper.isLocationEnabled(userId) && mProvider.getState().allowed;
if (enabled == isEnabled(userId)) {
return;
@@ -829,7 +813,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// fused and passive provider never get public updates for legacy reasons
if (!FUSED_PROVIDER.equals(mName) && !PASSIVE_PROVIDER.equals(mName)) {
// update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility
- mSettingsStore.setLocationProviderAllowed(mName, enabled, userId);
+ mSettingsHelper.setLocationProviderAllowed(mName, enabled, userId);
Intent intent = new Intent(LocationManager.PROVIDERS_CHANGED_ACTION)
.putExtra(LocationManager.EXTRA_PROVIDER_NAME, mName)
@@ -860,13 +844,7 @@ public class LocationManagerService extends ILocationManager.Stub {
pw.increaseIndent();
- boolean enabled = isEnabled();
- pw.println("enabled=" + enabled);
- if (!enabled) {
- pw.println("allowed=" + mProvider.getState().allowed);
- }
-
- pw.println("properties=" + mProvider.getState().properties);
+ pw.println("enabled=" + isEnabled());
}
mProvider.dump(fd, pw, args);
@@ -1015,7 +993,7 @@ public class LocationManagerService extends ILocationManager.Stub {
if (manager == null) {
continue;
}
- if (!manager.isEnabled() && !isSettingsExemptLocked(updateRecord)) {
+ if (!manager.isEnabled() && !isSettingsExempt(updateRecord)) {
continue;
}
@@ -1481,13 +1459,13 @@ public class LocationManagerService extends ILocationManager.Stub {
ArrayList<UpdateRecord> records = mRecordsByProvider.get(manager.getName());
if (records != null) {
for (UpdateRecord record : records) {
- if (!mUserInfoStore.isCurrentUserOrProfile(
+ if (!mUserInfoHelper.isCurrentUserOrProfile(
UserHandle.getUserId(record.mReceiver.mCallerIdentity.mUid))) {
continue;
}
// requests that ignore location settings will never provide notifications
- if (isSettingsExemptLocked(record)) {
+ if (isSettingsExempt(record)) {
continue;
}
@@ -1526,14 +1504,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// if provider is not active, it should not respond to requests
if (mProviderManagers.contains(manager) && records != null && !records.isEmpty()) {
- long backgroundThrottleInterval;
-
- long identity = Binder.clearCallingIdentity();
- try {
- backgroundThrottleInterval = mSettingsStore.getBackgroundThrottleIntervalMs();
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
+ long backgroundThrottleInterval = mSettingsHelper.getBackgroundThrottleIntervalMs();
ArrayList<LocationRequest> requests = new ArrayList<>(records.size());
@@ -1546,7 +1517,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// initialize the low power mode to true and set to false if any of the records requires
providerRequest.setLowPowerMode(true);
for (UpdateRecord record : records) {
- if (!mUserInfoStore.isCurrentUserOrProfile(
+ if (!mUserInfoHelper.isCurrentUserOrProfile(
UserHandle.getUserId(record.mReceiver.mCallerIdentity.mUid))) {
continue;
}
@@ -1560,7 +1531,7 @@ public class LocationManagerService extends ILocationManager.Stub {
final boolean isBatterySaverDisablingLocation = shouldThrottleRequests
|| (isForegroundOnlyMode && !record.mIsForegroundUid);
if (!manager.isEnabled() || isBatterySaverDisablingLocation) {
- if (isSettingsExemptLocked(record)) {
+ if (isSettingsExempt(record)) {
providerRequest.setLocationSettingsIgnored(true);
providerRequest.setLowPowerMode(false);
} else {
@@ -1573,7 +1544,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// if we're forcing location, don't apply any throttling
- if (!providerRequest.isLocationSettingsIgnored() && !isThrottlingExemptLocked(
+ if (!providerRequest.isLocationSettingsIgnored() && !isThrottlingExempt(
record.mReceiver.mCallerIdentity)) {
if (!record.mIsForegroundUid) {
interval = Math.max(interval, backgroundThrottleInterval);
@@ -1605,7 +1576,7 @@ public class LocationManagerService extends ILocationManager.Stub {
// TODO: overflow
long thresholdInterval = (providerRequest.getInterval() + 1000) * 3 / 2;
for (UpdateRecord record : records) {
- if (mUserInfoStore.isCurrentUserOrProfile(
+ if (mUserInfoHelper.isCurrentUserOrProfile(
UserHandle.getUserId(record.mReceiver.mCallerIdentity.mUid))) {
LocationRequest locationRequest = record.mRequest;
@@ -1654,41 +1625,39 @@ public class LocationManagerService extends ILocationManager.Stub {
@Override
public String[] getBackgroundThrottlingWhitelist() {
- return mSettingsStore.getBackgroundThrottlePackageWhitelist().toArray(new String[0]);
+ return mSettingsHelper.getBackgroundThrottlePackageWhitelist().toArray(new String[0]);
}
@Override
public String[] getIgnoreSettingsWhitelist() {
- return mSettingsStore.getIgnoreSettingsPackageWhitelist().toArray(new String[0]);
+ return mSettingsHelper.getIgnoreSettingsPackageWhitelist().toArray(new String[0]);
}
- @GuardedBy("mLock")
- public boolean isThrottlingExemptLocked(CallerIdentity callerIdentity) {
+ private boolean isThrottlingExempt(CallerIdentity callerIdentity) {
if (callerIdentity.mUid == Process.SYSTEM_UID) {
return true;
}
- if (mSettingsStore.getBackgroundThrottlePackageWhitelist().contains(
+ if (mSettingsHelper.getBackgroundThrottlePackageWhitelist().contains(
callerIdentity.mPackageName)) {
return true;
}
- return isProviderPackage(callerIdentity.mPackageName);
+ return mLocalService.isProviderPackage(callerIdentity.mPackageName);
}
- @GuardedBy("mLock")
- private boolean isSettingsExemptLocked(UpdateRecord record) {
+ private boolean isSettingsExempt(UpdateRecord record) {
if (!record.mRealRequest.isLocationSettingsIgnored()) {
return false;
}
- if (mSettingsStore.getIgnoreSettingsPackageWhitelist().contains(
+ if (mSettingsHelper.getIgnoreSettingsPackageWhitelist().contains(
record.mReceiver.mCallerIdentity.mPackageName)) {
return true;
}
- return isProviderPackage(record.mReceiver.mCallerIdentity.mPackageName);
+ return mLocalService.isProviderPackage(record.mReceiver.mCallerIdentity.mPackageName);
}
@@ -1711,10 +1680,7 @@ public class LocationManagerService extends ILocationManager.Stub {
mRealRequest = request;
mRequest = request;
mReceiver = receiver;
- mIsForegroundUid =
- LocationManagerServiceUtils.isImportanceForeground(
- mActivityManager.getPackageImportance(
- mReceiver.mCallerIdentity.mPackageName));
+ mIsForegroundUid = mAppForegroundHelper.isAppForeground(mReceiver.mCallerIdentity.mUid);
if (D && receiver.mCallerIdentity.mPid == Process.myPid()) {
mStackTrace = new Throwable();
@@ -1759,7 +1725,7 @@ public class LocationManagerService extends ILocationManager.Stub {
mReceiver.isListener(),
mReceiver.isPendingIntent(),
/* geofence= */ null,
- mActivityManager.getPackageImportance(packageName));
+ mAppForegroundHelper.getImportance(mReceiver.mCallerIdentity.mUid));
// remove from mRecordsByProvider
ArrayList<UpdateRecord> globalRecords = mRecordsByProvider.get(this.mProvider);
@@ -1929,7 +1895,7 @@ public class LocationManagerService extends ILocationManager.Stub {
LocationStatsEnums.API_REQUEST_LOCATION_UPDATES,
packageName, request, listener != null, intent != null,
/* geofence= */ null,
- mActivityManager.getPackageImportance(packageName));
+ mAppForegroundHelper.getImportance(uid));
Receiver receiver;
if (intent != null) {
@@ -1967,7 +1933,7 @@ public class LocationManagerService extends ILocationManager.Stub {
Log.d(TAG, "request " + Integer.toHexString(System.identityHashCode(receiver))
+ " " + name + " " + request + " from " + packageName + "(" + uid + " "
+ (record.mIsForegroundUid ? "foreground" : "background")
- + (isThrottlingExemptLocked(receiver.mCallerIdentity)
+ + (isThrottlingExempt(receiver.mCallerIdentity)
? " [whitelisted]" : "") + ")");
}
@@ -1976,7 +1942,7 @@ public class LocationManagerService extends ILocationManager.Stub {
oldRecord.disposeLocked(false);
}
- if (!manager.isEnabled() && !isSettingsExemptLocked(record)) {
+ if (!manager.isEnabled() && !isSettingsExempt(record)) {
// Notify the listener that updates are currently disabled - but only if the request
// does not ignore location settings
receiver.callProviderEnabledLocked(name, false);
@@ -2066,7 +2032,7 @@ public class LocationManagerService extends ILocationManager.Stub {
final int uid = Binder.getCallingUid();
final long identity = Binder.clearCallingIdentity();
try {
- if (mSettingsStore.isLocationPackageBlacklisted(UserHandle.getUserId(uid),
+ if (mSettingsHelper.isLocationPackageBlacklisted(UserHandle.getUserId(uid),
packageName)) {
if (D) {
Log.d(TAG, "not returning last loc for blacklisted app: "
@@ -2083,8 +2049,8 @@ public class LocationManagerService extends ILocationManager.Stub {
if (manager == null) return null;
// only the current user or location providers may get location this way
- if (!mUserInfoStore.isCurrentUserOrProfile(UserHandle.getUserId(uid))
- && !isProviderPackage(packageName)) {
+ if (!mUserInfoHelper.isCurrentUserOrProfile(UserHandle.getUserId(uid))
+ && !mLocalService.isProviderPackage(packageName)) {
return null;
}
@@ -2108,7 +2074,7 @@ public class LocationManagerService extends ILocationManager.Stub {
String op = resolutionLevelToOpStr(allowedResolutionLevel);
long locationAgeMs = TimeUnit.NANOSECONDS.toMillis(
SystemClock.elapsedRealtime() - location.getElapsedRealtimeNanos());
- if (locationAgeMs > mSettingsStore.getMaxLastLocationAgeMs()
+ if (locationAgeMs > mSettingsHelper.getMaxLastLocationAgeMs()
&& (mAppOps.unsafeCheckOp(op, uid, packageName)
== AppOpsManager.MODE_FOREGROUND)) {
return null;
@@ -2151,29 +2117,21 @@ public class LocationManagerService extends ILocationManager.Stub {
long locationAgeMs = TimeUnit.NANOSECONDS.toMillis(
SystemClock.elapsedRealtimeNanos() - lastLocation.getElapsedRealtimeNanos());
- long identity = Binder.clearCallingIdentity();
- try {
- if (locationAgeMs < MAX_CURRENT_LOCATION_AGE_MS) {
- try {
- listener.onLocationChanged(lastLocation);
- return true;
- } catch (RemoteException e) {
- Log.w(TAG, e);
- return false;
- }
+ if (locationAgeMs < MAX_CURRENT_LOCATION_AGE_MS) {
+ try {
+ listener.onLocationChanged(lastLocation);
+ return true;
+ } catch (RemoteException e) {
+ Log.w(TAG, e);
+ return false;
}
+ }
- // packageName already validated by getLastLocation() call above
- boolean foreground = LocationManagerServiceUtils.isImportanceForeground(
- mActivityManager.getPackageImportance(packageName));
- if (!foreground) {
- if (locationAgeMs < mSettingsStore.getBackgroundThrottleIntervalMs()) {
- // not allowed to request new locations, so we can't return anything
- return false;
- }
+ if (!mAppForegroundHelper.isAppForeground(Binder.getCallingUid())) {
+ if (locationAgeMs < mSettingsHelper.getBackgroundThrottleIntervalMs()) {
+ // not allowed to request new locations, so we can't return anything
+ return false;
}
- } finally {
- Binder.restoreCallingIdentity(identity);
}
}
@@ -2258,20 +2216,19 @@ public class LocationManagerService extends ILocationManager.Stub {
Log.w(TAG, "proximity alerts are currently available only to the primary user");
return;
}
+
+ mLocationUsageLogger.logLocationApiUsage(
+ LocationStatsEnums.USAGE_STARTED,
+ LocationStatsEnums.API_REQUEST_GEOFENCE,
+ packageName,
+ request,
+ /* hasListener= */ false,
+ true,
+ geofence,
+ mAppForegroundHelper.getImportance(uid));
+
long identity = Binder.clearCallingIdentity();
try {
- synchronized (mLock) {
- mLocationUsageLogger.logLocationApiUsage(
- LocationStatsEnums.USAGE_STARTED,
- LocationStatsEnums.API_REQUEST_GEOFENCE,
- packageName,
- request,
- /* hasListener= */ false,
- true,
- geofence,
- mActivityManager.getPackageImportance(packageName));
- }
-
mGeofenceManager.addFence(sanitizedRequest, geofence, intent, allowedResolutionLevel,
uid, packageName, featureId, listenerIdentifier);
} finally {
@@ -2288,20 +2245,19 @@ public class LocationManagerService extends ILocationManager.Stub {
if (D) Log.d(TAG, "removeGeofence: " + geofence + " " + intent);
+ mLocationUsageLogger.logLocationApiUsage(
+ LocationStatsEnums.USAGE_ENDED,
+ LocationStatsEnums.API_REQUEST_GEOFENCE,
+ packageName,
+ /* LocationRequest= */ null,
+ /* hasListener= */ false,
+ true,
+ geofence,
+ mAppForegroundHelper.getImportance(Binder.getCallingUid()));
+
// geo-fence manager uses the public location API, need to clear identity
long identity = Binder.clearCallingIdentity();
try {
- synchronized (mLock) {
- mLocationUsageLogger.logLocationApiUsage(
- LocationStatsEnums.USAGE_ENDED,
- LocationStatsEnums.API_REQUEST_GEOFENCE,
- packageName,
- /* LocationRequest= */ null,
- /* hasListener= */ false,
- true,
- geofence,
- mActivityManager.getPackageImportance(packageName));
- }
mGeofenceManager.removeFence(geofence, intent);
} finally {
Binder.restoreCallingIdentity(identity);
@@ -2398,12 +2354,6 @@ public class LocationManagerService extends ILocationManager.Stub {
}
@Override
- public boolean sendNiResponse(int notifId, int userResponse) {
- return mGnssManagerService != null && mGnssManagerService.sendNiResponse(notifId,
- userResponse);
- }
-
- @Override
public ProviderProperties getProviderProperties(String providerName) {
LocationProviderManager manager = getLocationProviderManager(providerName);
if (manager == null) {
@@ -2414,20 +2364,13 @@ public class LocationManagerService extends ILocationManager.Stub {
@Override
public boolean isProviderPackage(String packageName) {
- mContext.enforceCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG,
- Manifest.permission.READ_DEVICE_CONFIG + " permission required");
- for (LocationProviderManager manager : mProviderManagers) {
- if (manager.getPackages().contains(packageName)) {
- return true;
- }
- }
- return false;
+ mContext.enforceCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG, null);
+ return mLocalService.isProviderPackage(packageName);
}
@Override
public List<String> getProviderPackages(String providerName) {
- mContext.enforceCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG,
- Manifest.permission.READ_DEVICE_CONFIG + " permission required");
+ mContext.enforceCallingOrSelfPermission(Manifest.permission.READ_DEVICE_CONFIG, null);
LocationProviderManager manager = getLocationProviderManager(providerName);
return manager == null ? Collections.emptyList() : new ArrayList<>(manager.getPackages());
}
@@ -2467,28 +2410,19 @@ public class LocationManagerService extends ILocationManager.Stub {
@Override
public boolean isLocationEnabledForUser(int userId) {
- // Check INTERACT_ACROSS_USERS permission if userId is not current user id.
if (UserHandle.getCallingUserId() != userId) {
- mContext.enforceCallingOrSelfPermission(
- Manifest.permission.INTERACT_ACROSS_USERS,
- "Requires INTERACT_ACROSS_USERS permission");
+ mContext.enforceCallingOrSelfPermission(Manifest.permission.INTERACT_ACROSS_USERS,
+ null);
}
- long identity = Binder.clearCallingIdentity();
- try {
- return mSettingsStore.isLocationEnabled(userId);
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
+ return mSettingsHelper.isLocationEnabled(userId);
}
@Override
public boolean isProviderEnabledForUser(String providerName, int userId) {
- // Check INTERACT_ACROSS_USERS permission if userId is not current user id.
if (UserHandle.getCallingUserId() != userId) {
- mContext.enforceCallingOrSelfPermission(
- Manifest.permission.INTERACT_ACROSS_USERS,
- "Requires INTERACT_ACROSS_USERS permission");
+ mContext.enforceCallingOrSelfPermission(Manifest.permission.INTERACT_ACROSS_USERS,
+ null);
}
// Fused provider is accessed indirectly via criteria rather than the provider-based APIs,
@@ -2599,12 +2533,12 @@ public class LocationManagerService extends ILocationManager.Stub {
Receiver receiver = r.mReceiver;
boolean receiverDead = false;
- if (!manager.isEnabled() && !isSettingsExemptLocked(r)) {
+ if (!manager.isEnabled() && !isSettingsExempt(r)) {
continue;
}
int receiverUserId = UserHandle.getUserId(receiver.mCallerIdentity.mUid);
- if (!mUserInfoStore.isCurrentUserOrProfile(receiverUserId)
+ if (!mUserInfoHelper.isCurrentUserOrProfile(receiverUserId)
&& !isProviderPackage(receiver.mCallerIdentity.mPackageName)) {
if (D) {
Log.d(TAG, "skipping loc update for background user " + receiverUserId +
@@ -2613,7 +2547,7 @@ public class LocationManagerService extends ILocationManager.Stub {
continue;
}
- if (mSettingsStore.isLocationPackageBlacklisted(receiverUserId,
+ if (mSettingsHelper.isLocationPackageBlacklisted(receiverUserId,
receiver.mCallerIdentity.mPackageName)) {
if (D) {
Log.d(TAG, "skipping loc update for blacklisted app: " +
@@ -2710,7 +2644,12 @@ public class LocationManagerService extends ILocationManager.Stub {
if (noGPSLocation == null && lastNoGPSLocation != null) {
// New location has no no-GPS location: adopt last no-GPS location. This is set
// directly into location because we do not want to notify COARSE clients.
- location.setExtraLocation(Location.EXTRA_NO_GPS_LOCATION, lastNoGPSLocation);
+ Bundle extras = location.getExtras();
+ if (extras == null) {
+ extras = new Bundle();
+ }
+ extras.putParcelable(Location.EXTRA_NO_GPS_LOCATION, lastNoGPSLocation);
+ location.setExtras(extras);
}
}
lastLocation.set(location);
@@ -2765,7 +2704,7 @@ public class LocationManagerService extends ILocationManager.Stub {
mProviderManagers.add(manager);
}
- manager.setMockProvider(new MockProvider(mContext, properties));
+ manager.setMockProvider(new MockProvider(properties));
}
}
@@ -2861,12 +2800,12 @@ public class LocationManagerService extends ILocationManager.Stub {
ipw.println("User Info:");
ipw.increaseIndent();
- mUserInfoStore.dump(fd, ipw, args);
+ mUserInfoHelper.dump(fd, ipw, args);
ipw.decreaseIndent();
ipw.println("Location Settings:");
ipw.increaseIndent();
- mSettingsStore.dump(fd, ipw, args);
+ mSettingsHelper.dump(fd, ipw, args);
ipw.decreaseIndent();
ipw.println("Battery Saver Location Mode: "
@@ -2966,5 +2905,22 @@ public class LocationManagerService extends ILocationManager.Stub {
}
}
}
+
+ @Override
+ public boolean isProviderPackage(String packageName) {
+ for (LocationProviderManager manager : mProviderManagers) {
+ if (manager.getPackages().contains(packageName)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public void sendNiResponse(int notifId, int userResponse) {
+ if (mGnssManagerService != null) {
+ mGnssManagerService.sendNiResponse(notifId, userResponse);
+ }
+ }
}
}
diff --git a/services/core/java/com/android/server/LocationManagerServiceUtils.java b/services/core/java/com/android/server/LocationManagerServiceUtils.java
index 9c8ac19cc591..372e91e41772 100644
--- a/services/core/java/com/android/server/LocationManagerServiceUtils.java
+++ b/services/core/java/com/android/server/LocationManagerServiceUtils.java
@@ -17,8 +17,6 @@
package com.android.server;
import android.annotation.NonNull;
-import android.app.ActivityManager;
-import android.content.Context;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
@@ -91,12 +89,8 @@ public class LocationManagerServiceUtils {
/**
* Link listener (i.e. callback) to a binder, so that it will be called upon binder's death.
- *
- * @param binder that calls listener upon death
- * @return true if listener is successfully linked to binder, false otherwise
*/
- public boolean linkToListenerDeathNotificationLocked(
- IBinder binder) {
+ public boolean linkToListenerDeathNotificationLocked(IBinder binder) {
try {
binder.linkToDeath(this, 0 /* flags */);
return true;
@@ -110,54 +104,13 @@ public class LocationManagerServiceUtils {
/**
* Unlink death listener (i.e. callback) from binder.
- *
- * @param binder that calls listener upon death
- * @return true if binder is successfully unlinked from binder, false otherwise
*/
- public boolean unlinkFromListenerDeathNotificationLocked(
- IBinder binder) {
+ public void unlinkFromListenerDeathNotificationLocked(IBinder binder) {
try {
binder.unlinkToDeath(this, 0 /* flags */);
- return true;
} catch (NoSuchElementException e) {
- // if the death callback isn't connected (it should be...), log error,
- // swallow the exception and return
Log.w(TAG, "Could not unlink " + mListenerName + " death callback.", e);
- return false;
}
}
-
- }
-
- /**
- * Convert boolean foreground into "foreground" or "background" string.
- *
- * @param foreground boolean indicating foreground
- * @return "foreground" string if true, false otherwise
- */
- public static String foregroundAsString(boolean foreground) {
- return foreground ? "foreground" : "background";
- }
-
-
- /**
- * Classifies importance level as foreground or not.
- *
- * @param importance level as int
- * @return boolean indicating if importance level is foreground or greater
- */
- public static boolean isImportanceForeground(int importance) {
- return importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE;
- }
-
- /**
- * Get package importance level.
- *
- * @param packageName package name
- * @return package importance level as int
- */
- public static int getPackageImportance(String packageName, Context context) {
- return ((ActivityManager) context.getSystemService(
- Context.ACTIVITY_SERVICE)).getPackageImportance(packageName);
}
}
diff --git a/services/core/java/com/android/server/MmsServiceBroker.java b/services/core/java/com/android/server/MmsServiceBroker.java
index 9b1326bc88d7..043f657b7f2c 100644
--- a/services/core/java/com/android/server/MmsServiceBroker.java
+++ b/services/core/java/com/android/server/MmsServiceBroker.java
@@ -128,13 +128,15 @@ public class MmsServiceBroker extends SystemService {
@Override
public void sendMessage(int subId, String callingPkg, Uri contentUri, String locationUrl,
- Bundle configOverrides, PendingIntent sentIntent) throws RemoteException {
+ Bundle configOverrides, PendingIntent sentIntent, long messageId)
+ throws RemoteException {
returnPendingIntentWithError(sentIntent);
}
@Override
public void downloadMessage(int subId, String callingPkg, String locationUrl,
- Uri contentUri, Bundle configOverrides, PendingIntent downloadedIntent)
+ Uri contentUri, Bundle configOverrides, PendingIntent downloadedIntent,
+ long messageId)
throws RemoteException {
returnPendingIntentWithError(downloadedIntent);
}
@@ -329,7 +331,8 @@ public class MmsServiceBroker extends SystemService {
@Override
public void sendMessage(int subId, String callingPkg, Uri contentUri,
- String locationUrl, Bundle configOverrides, PendingIntent sentIntent)
+ String locationUrl, Bundle configOverrides, PendingIntent sentIntent,
+ long messageId)
throws RemoteException {
Slog.d(TAG, "sendMessage() by " + callingPkg);
mContext.enforceCallingPermission(Manifest.permission.SEND_SMS, "Send MMS message");
@@ -343,13 +346,13 @@ public class MmsServiceBroker extends SystemService {
Intent.FLAG_GRANT_READ_URI_PERMISSION,
subId);
getServiceGuarded().sendMessage(subId, callingPkg, contentUri, locationUrl,
- configOverrides, sentIntent);
+ configOverrides, sentIntent, messageId);
}
@Override
public void downloadMessage(int subId, String callingPkg, String locationUrl,
Uri contentUri, Bundle configOverrides,
- PendingIntent downloadedIntent) throws RemoteException {
+ PendingIntent downloadedIntent, long messageId) throws RemoteException {
Slog.d(TAG, "downloadMessage() by " + callingPkg);
mContext.enforceCallingPermission(Manifest.permission.RECEIVE_MMS,
"Download MMS message");
@@ -364,7 +367,7 @@ public class MmsServiceBroker extends SystemService {
subId);
getServiceGuarded().downloadMessage(subId, callingPkg, locationUrl, contentUri,
- configOverrides, downloadedIntent);
+ configOverrides, downloadedIntent, messageId);
}
@Override
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index 05d83606b2d0..1bb3c3ac0cda 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -86,12 +86,12 @@ import android.util.Log;
import android.util.Slog;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IBatteryStats;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.HexDump;
import com.android.internal.util.Preconditions;
@@ -412,8 +412,8 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
getBatteryStats().noteMobileRadioPowerState(powerState, tsNanos, uid);
} catch (RemoteException e) {
}
- StatsLog.write_non_chained(StatsLog.MOBILE_RADIO_POWER_STATE_CHANGED, uid, null,
- powerState);
+ FrameworkStatsLog.write_non_chained(
+ FrameworkStatsLog.MOBILE_RADIO_POWER_STATE_CHANGED, uid, null, powerState);
}
}
@@ -424,8 +424,8 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
getBatteryStats().noteWifiRadioPowerState(powerState, tsNanos, uid);
} catch (RemoteException e) {
}
- StatsLog.write_non_chained(StatsLog.WIFI_RADIO_POWER_STATE_CHANGED, uid, null,
- powerState);
+ FrameworkStatsLog.write_non_chained(
+ FrameworkStatsLog.WIFI_RADIO_POWER_STATE_CHANGED, uid, null, powerState);
}
}
@@ -735,6 +735,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
public int getInterfaceVersion() {
return INetdUnsolicitedEventListener.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return INetdUnsolicitedEventListener.HASH;
+ }
}
//
diff --git a/services/core/java/com/android/server/RescueParty.java b/services/core/java/com/android/server/RescueParty.java
index 131a22b07c7b..80036bb4b4fa 100644
--- a/services/core/java/com/android/server/RescueParty.java
+++ b/services/core/java/com/android/server/RescueParty.java
@@ -42,11 +42,11 @@ import android.util.ExceptionUtils;
import android.util.Log;
import android.util.MathUtils;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.PackageWatchdog.FailureReasons;
import com.android.server.PackageWatchdog.PackageHealthObserver;
import com.android.server.PackageWatchdog.PackageHealthObserverImpact;
@@ -213,10 +213,10 @@ public class RescueParty {
}
/**
- * Get the current rescue level.
+ * Get the next rescue level. This indicates the next level of mitigation that may be taken.
*/
- private static int getRescueLevel() {
- return MathUtils.constrain(SystemProperties.getInt(PROP_RESCUE_LEVEL, LEVEL_NONE),
+ private static int getNextRescueLevel() {
+ return MathUtils.constrain(SystemProperties.getInt(PROP_RESCUE_LEVEL, LEVEL_NONE) + 1,
LEVEL_NONE, LEVEL_FACTORY_RESET);
}
@@ -225,9 +225,7 @@ public class RescueParty {
* probably want to call {@link #executeRescueLevel(Context, String)}.
*/
private static void incrementRescueLevel(int triggerUid) {
- final int level = MathUtils.constrain(
- SystemProperties.getInt(PROP_RESCUE_LEVEL, LEVEL_NONE) + 1,
- LEVEL_NONE, LEVEL_FACTORY_RESET);
+ final int level = getNextRescueLevel();
SystemProperties.set(PROP_RESCUE_LEVEL, Integer.toString(level));
EventLogTags.writeRescueLevel(level, triggerUid);
@@ -255,7 +253,7 @@ public class RescueParty {
private static void executeRescueLevelInternal(Context context, int level, @Nullable
String failedPackage) throws Exception {
- StatsLog.write(StatsLog.RESCUE_PARTY_RESET_REPORTED, level);
+ FrameworkStatsLog.write(FrameworkStatsLog.RESCUE_PARTY_RESET_REPORTED, level);
switch (level) {
case LEVEL_RESET_SETTINGS_UNTRUSTED_DEFAULTS:
resetAllSettings(context, Settings.RESET_MODE_UNTRUSTED_DEFAULTS, failedPackage);
@@ -395,12 +393,9 @@ public class RescueParty {
@Override
public int onHealthCheckFailed(@Nullable VersionedPackage failedPackage,
@FailureReasons int failureReason) {
- if (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH
- || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING) {
- int rescueLevel = MathUtils.constrain(
- SystemProperties.getInt(PROP_RESCUE_LEVEL, LEVEL_NONE) + 1,
- LEVEL_NONE, LEVEL_FACTORY_RESET);
- return mapRescueLevelToUserImpact(rescueLevel);
+ if (!isDisabled() && (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH
+ || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING)) {
+ return mapRescueLevelToUserImpact(getNextRescueLevel());
} else {
return PackageHealthObserverImpact.USER_IMPACT_NONE;
}
@@ -449,7 +444,7 @@ public class RescueParty {
if (isDisabled()) {
return PackageHealthObserverImpact.USER_IMPACT_NONE;
}
- return mapRescueLevelToUserImpact(getRescueLevel());
+ return mapRescueLevelToUserImpact(getNextRescueLevel());
}
@Override
diff --git a/services/core/java/com/android/server/ServiceWatcher.java b/services/core/java/com/android/server/ServiceWatcher.java
index 8564cb456ba6..b43ae36c7ef5 100644
--- a/services/core/java/com/android/server/ServiceWatcher.java
+++ b/services/core/java/com/android/server/ServiceWatcher.java
@@ -49,6 +49,8 @@ import android.util.Log;
import com.android.internal.content.PackageMonitor;
import com.android.internal.util.Preconditions;
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.Callable;
@@ -167,7 +169,7 @@ public class ServiceWatcher implements ServiceConnection {
@Override
public String toString() {
- return component + "@" + version + "[u" + userId + "]";
+ return component.toShortString() + "@" + version + "[u" + userId + "]";
}
}
@@ -183,9 +185,7 @@ public class ServiceWatcher implements ServiceConnection {
// write from handler thread only, read anywhere
private volatile ServiceInfo mServiceInfo;
-
- // read/write from handler thread only
- private IBinder mBinder;
+ private volatile IBinder mBinder;
public ServiceWatcher(Context context, Handler handler, String action,
@Nullable BinderRunner onBind, @Nullable Runnable onUnbind,
@@ -341,12 +341,28 @@ public class ServiceWatcher implements ServiceConnection {
Preconditions.checkState(Looper.myLooper() == mHandler.getLooper());
if (D) {
- Log.i(TAG, getLogPrefix() + " connected to " + component);
+ Log.i(TAG, getLogPrefix() + " connected to " + component.toShortString());
}
mBinder = binder;
+
+ // we always run the on bind callback even if we know that the binder is dead already so
+ // that there are always balance pairs of bind/unbind callbacks
if (mOnBind != null) {
- runOnBinder(mOnBind);
+ try {
+ mOnBind.run(binder);
+ } catch (RuntimeException | RemoteException e) {
+ // binders may propagate some specific non-RemoteExceptions from the other side
+ // through the binder as well - we cannot allow those to crash the system server
+ Log.e(TAG, getLogPrefix() + " exception running on " + mServiceInfo, e);
+ }
+ }
+
+ try {
+ // setting the binder to null lets us skip queued transactions
+ binder.linkToDeath(() -> mBinder = null, 0);
+ } catch (RemoteException e) {
+ mBinder = null;
}
}
@@ -355,7 +371,7 @@ public class ServiceWatcher implements ServiceConnection {
Preconditions.checkState(Looper.myLooper() == mHandler.getLooper());
if (D) {
- Log.i(TAG, getLogPrefix() + " disconnected from " + component);
+ Log.i(TAG, getLogPrefix() + " disconnected from " + component.toShortString());
}
mBinder = null;
@@ -364,6 +380,17 @@ public class ServiceWatcher implements ServiceConnection {
}
}
+ @Override
+ public void onBindingDied(ComponentName component) {
+ Preconditions.checkState(Looper.myLooper() == mHandler.getLooper());
+
+ if (D) {
+ Log.i(TAG, getLogPrefix() + " " + component.toShortString() + " died");
+ }
+
+ onBestServiceChanged(true);
+ }
+
private void onUserSwitched(@UserIdInt int userId) {
mCurrentUserId = userId;
onBestServiceChanged(false);
@@ -383,11 +410,11 @@ public class ServiceWatcher implements ServiceConnection {
}
/**
- * Runs the given function asynchronously if currently connected. Suppresses any RemoteException
- * thrown during execution.
+ * Runs the given function asynchronously if and only if currently connected. Suppresses any
+ * RemoteException thrown during execution.
*/
public final void runOnBinder(BinderRunner runner) {
- runOnHandler(() -> {
+ mHandler.post(() -> {
if (mBinder == null) {
return;
}
@@ -436,14 +463,6 @@ public class ServiceWatcher implements ServiceConnection {
}
}
- private void runOnHandler(Runnable r) {
- if (Looper.myLooper() == mHandler.getLooper()) {
- r.run();
- } else {
- mHandler.post(r);
- }
- }
-
private <T> T runOnHandlerBlocking(Callable<T> c)
throws InterruptedException, TimeoutException {
if (Looper.myLooper() == mHandler.getLooper()) {
@@ -473,4 +492,17 @@ public class ServiceWatcher implements ServiceConnection {
private String getLogPrefix() {
return "[" + mIntent.getAction() + "]";
}
+
+ @Override
+ public String toString() {
+ return mServiceInfo.toString();
+ }
+
+ /**
+ * Dump for debugging.
+ */
+ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ pw.println("service=" + mServiceInfo);
+ pw.println("connected=" + (mBinder != null));
+ }
}
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index 4b4ce348385a..a08bdb23dd22 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -24,6 +24,7 @@ import static android.Manifest.permission.WRITE_MEDIA_STORAGE;
import static android.app.ActivityManager.PROCESS_STATE_NONEXISTENT;
import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.OP_LEGACY_STORAGE;
+import static android.app.AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE;
import static android.app.AppOpsManager.OP_READ_EXTERNAL_STORAGE;
import static android.app.AppOpsManager.OP_REQUEST_INSTALL_PACKAGES;
import static android.app.AppOpsManager.OP_WRITE_EXTERNAL_STORAGE;
@@ -1701,15 +1702,8 @@ class StorageManagerService extends IStorageManager.Stub
if (mIsFuseEnabled != settingsFuseFlag) {
Slog.i(TAG, "Toggling persist.sys.fuse to " + settingsFuseFlag);
SystemProperties.set(PROP_FUSE, Boolean.toString(settingsFuseFlag));
-
- PowerManager powerManager = mContext.getSystemService(PowerManager.class);
- if (powerManager.isRebootingUserspaceSupported()) {
- // Perform userspace reboot to kick policy into place
- powerManager.reboot(PowerManager.REBOOT_USERSPACE);
- } else {
- // Perform hard reboot to kick policy into place
- powerManager.reboot("fuse_prop");
- }
+ // Perform hard reboot to kick policy into place
+ mContext.getSystemService(PowerManager.class).reboot("fuse_prop");
}
}
@@ -3948,8 +3942,12 @@ class StorageManagerService extends IStorageManager.Stub
final boolean hasMtp = mIPackageManager.checkUidPermission(ACCESS_MTP, uid) ==
PERMISSION_GRANTED;
if (mIsFuseEnabled && hasMtp) {
- // The process hosting the MTP server should be able to write in Android/
- return Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE;
+ ApplicationInfo ai = mIPackageManager.getApplicationInfo(packageName,
+ 0, UserHandle.getUserId(uid));
+ if (ai.isSignedWithPlatformKey()) {
+ // Platform processes hosting the MTP server should be able to write in Android/
+ return Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE;
+ }
}
// Determine if caller is holding runtime permission
@@ -4327,8 +4325,37 @@ class StorageManagerService extends IStorageManager.Stub
return true;
}
- public void onAppOpsChanged(int code, int uid,
- @Nullable String packageName, int mode) {
+ private void killAppForOpChange(int code, int uid, String packageName) {
+ final IActivityManager am = ActivityManager.getService();
+ try {
+ am.killApplication(packageName,
+ UserHandle.getAppId(uid),
+ UserHandle.USER_ALL, AppOpsManager.opToName(code) + " changed.");
+ } catch (RemoteException e) {
+ }
+ }
+
+ public void onAppOpsChanged(int code, int uid, @Nullable String packageName, int mode) {
+ if (mIsFuseEnabled) {
+ // When using FUSE, we may need to kill the app if the op changes
+ switch(code) {
+ case OP_REQUEST_INSTALL_PACKAGES:
+ // Always kill regardless of op change, to remount apps /storage
+ killAppForOpChange(code, uid, packageName);
+ return;
+ case OP_MANAGE_EXTERNAL_STORAGE:
+ if (mode != MODE_ALLOWED) {
+ // Only kill if op is denied, to lose external_storage gid
+ // Killing when op is granted to pickup the gid automatically, results
+ // in a bad UX, especially since the gid only gives access to unreliable
+ // volumes, USB OTGs that are rarely mounted. The app will get the
+ // external_storage gid on next organic restart.
+ killAppForOpChange(code, uid, packageName);
+ return;
+ }
+ }
+ }
+
if (mode == MODE_ALLOWED && (code == OP_READ_EXTERNAL_STORAGE
|| code == OP_WRITE_EXTERNAL_STORAGE
|| code == OP_REQUEST_INSTALL_PACKAGES)) {
diff --git a/services/core/java/com/android/server/SystemService.java b/services/core/java/com/android/server/SystemService.java
index b1584fea90c1..e3c732523264 100644
--- a/services/core/java/com/android/server/SystemService.java
+++ b/services/core/java/com/android/server/SystemService.java
@@ -23,7 +23,6 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.SystemApi.Client;
-import android.annotation.SystemApi.Process;
import android.annotation.UserIdInt;
import android.app.ActivityThread;
import android.content.Context;
@@ -65,7 +64,7 @@ import java.util.List;
*
* {@hide}
*/
-@SystemApi(client = Client.MODULE_LIBRARIES, process = Process.SYSTEM_SERVER)
+@SystemApi(client = Client.SYSTEM_SERVER)
public abstract class SystemService {
/** @hide */
@@ -132,7 +131,7 @@ public abstract class SystemService {
* Class representing user in question in the lifecycle callbacks.
* @hide
*/
- @SystemApi(client = Client.MODULE_LIBRARIES, process = Process.SYSTEM_SERVER)
+ @SystemApi(client = Client.SYSTEM_SERVER)
public static final class TargetUser {
@NonNull
private final UserInfo mUserInfo;
diff --git a/services/core/java/com/android/server/TEST_MAPPING b/services/core/java/com/android/server/TEST_MAPPING
index 0b723c997a83..059eb6ad724c 100644
--- a/services/core/java/com/android/server/TEST_MAPPING
+++ b/services/core/java/com/android/server/TEST_MAPPING
@@ -36,6 +36,10 @@
}
],
"file_patterns": ["NotificationManagerService\\.java"]
+ },
+ {
+ "name": "FuseDaemonHostTest",
+ "file_patterns": ["StorageManagerService\\.java"]
}
]
}
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 68574f5fbc2c..56f942480eaf 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -77,7 +77,6 @@ import android.telephony.data.ApnSetting;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;
import android.util.LocalLog;
-import android.util.StatsLog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IBatteryStats;
@@ -87,6 +86,7 @@ import com.android.internal.telephony.ITelephonyRegistry;
import com.android.internal.telephony.TelephonyPermissions;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.am.BatteryStatsService;
@@ -298,6 +298,12 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
PhoneStateListener.LISTEN_OUTGOING_EMERGENCY_CALL
| PhoneStateListener.LISTEN_OUTGOING_EMERGENCY_SMS;
+ static final int READ_PRIVILEGED_PHONE_STATE_PERMISSION_MASK =
+ PhoneStateListener.LISTEN_OEM_HOOK_RAW_EVENT
+ | PhoneStateListener.LISTEN_SRVCC_STATE_CHANGED
+ | PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED
+ | PhoneStateListener.LISTEN_VOICE_ACTIVATION_STATE;
+
private static final int MSG_USER_SWITCHED = 1;
private static final int MSG_UPDATE_DEFAULT_SUB = 2;
@@ -891,6 +897,13 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
if ((events & PhoneStateListener.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH)
!= 0) {
updateReportSignalStrengthDecision(r.subId);
+ try {
+ if (mSignalStrength[phoneId] != null) {
+ r.callback.onSignalStrengthsChanged(mSignalStrength[phoneId]);
+ }
+ } catch (RemoteException ex) {
+ remove(r.binder);
+ }
}
if (validateEventsAndUserLocked(r, PhoneStateListener.LISTEN_CELL_INFO)) {
try {
@@ -1320,9 +1333,10 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
log("notifySignalStrengthForPhoneId: r=" + r + " subId=" + subId
+ " phoneId=" + phoneId + " ss=" + signalStrength);
}
- if (r.matchPhoneStateListenerEvent(
- PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) &&
- idMatch(r.subId, subId, phoneId)) {
+ if ((r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTHS)
+ || r.matchPhoneStateListenerEvent(
+ PhoneStateListener.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH))
+ && idMatch(r.subId, subId, phoneId)) {
try {
if (DBG) {
log("notifySignalStrengthForPhoneId: callback.onSsS r=" + r
@@ -1335,7 +1349,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
}
}
if (r.matchPhoneStateListenerEvent(PhoneStateListener.LISTEN_SIGNAL_STRENGTH) &&
- idMatch(r.subId, subId, phoneId)){
+ idMatch(r.subId, subId, phoneId)) {
try {
int gsmSignalStrength = signalStrength.getGsmSignalStrength();
int ss = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength);
@@ -2381,12 +2395,12 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
try {
if (state == TelephonyManager.CALL_STATE_IDLE) {
mBatteryStats.notePhoneOff();
- StatsLog.write(StatsLog.PHONE_STATE_CHANGED,
- StatsLog.PHONE_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.PHONE_STATE_CHANGED,
+ FrameworkStatsLog.PHONE_STATE_CHANGED__STATE__OFF);
} else {
mBatteryStats.notePhoneOn();
- StatsLog.write(StatsLog.PHONE_STATE_CHANGED,
- StatsLog.PHONE_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write(FrameworkStatsLog.PHONE_STATE_CHANGED,
+ FrameworkStatsLog.PHONE_STATE_CHANGED__STATE__ON);
}
} catch (RemoteException e) {
/* The remote entity disappeared, we can safely ignore the exception. */
@@ -2541,22 +2555,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
android.Manifest.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH, null);
}
- if ((events & PhoneStateListener.LISTEN_OEM_HOOK_RAW_EVENT) != 0) {
- mContext.enforceCallingOrSelfPermission(
- android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null);
- }
-
- if ((events & PhoneStateListener.LISTEN_SRVCC_STATE_CHANGED) != 0) {
- mContext.enforceCallingOrSelfPermission(
- android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null);
- }
-
- if ((events & PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED) != 0) {
- mContext.enforceCallingOrSelfPermission(
- android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null);
- }
-
- if ((events & PhoneStateListener.LISTEN_VOICE_ACTIVATION_STATE) != 0) {
+ if ((events & READ_PRIVILEGED_PHONE_STATE_PERMISSION_MASK) != 0) {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null);
}
@@ -2671,7 +2670,8 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
}
}
- if ((events & PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) != 0) {
+ if ((events & PhoneStateListener.LISTEN_SIGNAL_STRENGTHS) != 0
+ || (events & PhoneStateListener.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH) != 0) {
try {
if (mSignalStrength[phoneId] != null) {
SignalStrength signalStrength = mSignalStrength[phoneId];
diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java
index 5a56a9fa5367..f7d7d6c5d15f 100644
--- a/services/core/java/com/android/server/VibratorService.java
+++ b/services/core/java/com/android/server/VibratorService.java
@@ -16,6 +16,8 @@
package com.android.server;
+import static android.os.VibrationEffect.Composition.PrimitiveEffect;
+
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AppOpsManager;
@@ -63,18 +65,21 @@ import android.provider.Settings.SettingNotFoundException;
import android.util.DebugUtils;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
+import android.util.proto.ProtoOutputStream;
import android.view.InputDevice;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.app.IBatteryStats;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.LinkedList;
+import java.util.List;
public class VibratorService extends IVibratorService.Stub
implements InputManager.InputDeviceListener {
@@ -128,10 +133,11 @@ public class VibratorService extends IVibratorService.Stub
private final boolean mAllowPriorityVibrationsInLowPowerMode;
private final boolean mSupportsAmplitudeControl;
private final boolean mSupportsExternalControl;
+ private final List<Integer> mSupportedEffects;
private final long mCapabilities;
private final int mDefaultVibrationAmplitude;
private final SparseArray<VibrationEffect> mFallbackEffects;
- private final SparseArray<Integer> mProcStatesCache = new SparseArray();
+ private final SparseArray<Integer> mProcStatesCache = new SparseArray<>();
private final WorkSource mTmpWorkSource = new WorkSource();
private final Handler mH = new Handler();
private final Object mLock = new Object();
@@ -150,7 +156,7 @@ public class VibratorService extends IVibratorService.Stub
// mInputDeviceVibrators lock should be acquired after mLock, if both are
// to be acquired
- private final ArrayList<Vibrator> mInputDeviceVibrators = new ArrayList<Vibrator>();
+ private final ArrayList<Vibrator> mInputDeviceVibrators = new ArrayList<>();
private boolean mVibrateInputDevicesSetting; // guarded by mInputDeviceVibrators
private boolean mInputDeviceListenerRegistered; // guarded by mInputDeviceVibrators
@@ -160,6 +166,7 @@ public class VibratorService extends IVibratorService.Stub
private ExternalVibration mCurrentExternalVibration;
private boolean mVibratorUnderExternalControl;
private boolean mLowPowerMode;
+ private boolean mIsVibrating;
private int mHapticFeedbackIntensity;
private int mNotificationIntensity;
private int mRingIntensity;
@@ -171,7 +178,10 @@ public class VibratorService extends IVibratorService.Stub
static native void vibratorOff();
static native boolean vibratorSupportsAmplitudeControl();
static native void vibratorSetAmplitude(int amplitude);
+ static native int[] vibratorGetSupportedEffects();
static native long vibratorPerformEffect(long effect, long strength, Vibration vibration);
+ static native void vibratorPerformComposedEffect(
+ VibrationEffect.Composition.PrimitiveEffect[] effect, Vibration vibration);
static native boolean vibratorSupportsExternalControl();
static native void vibratorSetExternalControl(boolean enabled);
static native long vibratorGetCapabilities();
@@ -238,6 +248,8 @@ public class VibratorService extends IVibratorService.Stub
}
}
+ // Called by native
+ @SuppressWarnings("unused")
private void onComplete() {
synchronized (mLock) {
if (this == mCurrentVibration) {
@@ -317,6 +329,14 @@ public class VibratorService extends IVibratorService.Stub
.append(mReason)
.toString();
}
+
+ void dumpProto(ProtoOutputStream proto, long fieldId) {
+ synchronized (this) {
+ final long token = proto.start(fieldId);
+ proto.write(VibrationProto.START_TIME, mStartTimeDebug);
+ proto.end(token);
+ }
+ }
}
private static final class ScaleLevel {
@@ -346,10 +366,11 @@ public class VibratorService extends IVibratorService.Stub
mSupportsAmplitudeControl = vibratorSupportsAmplitudeControl();
mSupportsExternalControl = vibratorSupportsExternalControl();
+ mSupportedEffects = asList(vibratorGetSupportedEffects());
mCapabilities = vibratorGetCapabilities();
mContext = context;
- PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
+ PowerManager pm = context.getSystemService(PowerManager.class);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "*vibrator*");
mWakeLock.setReferenceCounted(true);
@@ -510,12 +531,47 @@ public class VibratorService extends IVibratorService.Stub
}
@Override // Binder call
+ public boolean[] areEffectsSupported(int[] effectIds) {
+ // Return null to indicate that the HAL doesn't actually tell us what effects are
+ // supported.
+ if (mSupportedEffects == null) {
+ return null;
+ }
+ boolean[] supported = new boolean[effectIds.length];
+ for (int i = 0; i < effectIds.length; i++) {
+ supported[i] = mSupportedEffects.contains(effectIds[i]);
+ }
+ return supported;
+ }
+
+ @Override // Binder call
+ public boolean[] arePrimitivesSupported(int[] primitiveIds) {
+ boolean[] supported = new boolean[primitiveIds.length];
+ if (hasCapability(IVibrator.CAP_COMPOSE_EFFECTS)) {
+ Arrays.fill(supported, true);
+ }
+ return supported;
+ }
+
+
+ private static List<Integer> asList(int... vals) {
+ if (vals == null) {
+ return null;
+ }
+ List<Integer> l = new ArrayList<>(vals.length);
+ for (int val : vals) {
+ l.add(val);
+ }
+ return l;
+ }
+
+ @Override // Binder call
public boolean setAlwaysOnEffect(int uid, String opPkg, int alwaysOnId, VibrationEffect effect,
VibrationAttributes attrs) {
if (!hasPermission(android.Manifest.permission.VIBRATE_ALWAYS_ON)) {
throw new SecurityException("Requires VIBRATE_ALWAYS_ON permission");
}
- if ((mCapabilities & IVibrator.CAP_ALWAYS_ON_CONTROL) == 0) {
+ if (!hasCapability(IVibrator.CAP_ALWAYS_ON_CONTROL)) {
Slog.e(TAG, "Always-on effects not supported.");
return false;
}
@@ -817,6 +873,14 @@ public class VibratorService extends IVibratorService.Stub
if (timeout > 0) {
mH.postDelayed(mVibrationEndRunnable, timeout);
}
+ } else if (vib.effect instanceof VibrationEffect.Composed) {
+ Trace.asyncTraceBegin(Trace.TRACE_TAG_VIBRATOR, "vibration", 0);
+ doVibratorComposedEffectLocked(vib);
+ // FIXME: We rely on the completion callback here, but I don't think we require that
+ // devices which support composition also support the completion callback. If we
+ // ever get a device that supports the former but not the latter, then we have no
+ // real way of knowing how long a given effect should last.
+ mH.postDelayed(mVibrationEndRunnable, 10000);
} else {
Slog.e(TAG, "Unknown vibration type, ignoring");
}
@@ -1148,7 +1212,7 @@ public class VibratorService extends IVibratorService.Stub
}
} else {
// Note: ordering is important here! Many haptic drivers will reset their
- // amplitude when enabled, so we always have to enable frst, then set the
+ // amplitude when enabled, so we always have to enable first, then set the
// amplitude.
vibratorOn(millis);
doVibratorSetAmplitude(amplitude);
@@ -1201,7 +1265,7 @@ public class VibratorService extends IVibratorService.Stub
long duration = vibratorPerformEffect(prebaked.getId(),
prebaked.getEffectStrength(), vib);
long timeout = duration;
- if ((mCapabilities & IVibrator.CAP_PERFORM_CALLBACK) != 0) {
+ if (hasCapability(IVibrator.CAP_PERFORM_CALLBACK)) {
timeout *= ASYNC_TIMEOUT_MULTIPLIER;
}
if (timeout > 0) {
@@ -1229,6 +1293,41 @@ public class VibratorService extends IVibratorService.Stub
}
}
+ @GuardedBy("mLock")
+ private void doVibratorComposedEffectLocked(Vibration vib) {
+ Trace.traceBegin(Trace.TRACE_TAG_VIBRATOR, "doVibratorComposedEffectLocked");
+
+ try {
+ final VibrationEffect.Composed composed = (VibrationEffect.Composed) vib.effect;
+ final boolean usingInputDeviceVibrators;
+ synchronized (mInputDeviceVibrators) {
+ usingInputDeviceVibrators = !mInputDeviceVibrators.isEmpty();
+ }
+ // Input devices don't support composed effect, so skip trying it with them.
+ if (usingInputDeviceVibrators) {
+ return;
+ }
+
+ if (!hasCapability(IVibrator.CAP_COMPOSE_EFFECTS)) {
+ return;
+ }
+
+ PrimitiveEffect[] primitiveEffects =
+ composed.getPrimitiveEffects().toArray(new PrimitiveEffect[0]);
+ vibratorPerformComposedEffect(primitiveEffects, vib);
+
+ // Composed effects don't actually give us an estimated duration, so we just guess here.
+ noteVibratorOnLocked(vib.uid, 10 * primitiveEffects.length);
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_VIBRATOR);
+ }
+
+ }
+
+ private boolean hasCapability(long capability) {
+ return (mCapabilities & capability) == capability;
+ }
+
private VibrationEffect getFallbackEffect(int effectId) {
return mFallbackEffects.get(effectId);
}
@@ -1271,9 +1370,10 @@ public class VibratorService extends IVibratorService.Stub
private void noteVibratorOnLocked(int uid, long millis) {
try {
mBatteryStatsService.noteVibratorOn(uid, millis);
- StatsLog.write_non_chained(StatsLog.VIBRATOR_STATE_CHANGED, uid, null,
- StatsLog.VIBRATOR_STATE_CHANGED__STATE__ON, millis);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.VIBRATOR_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.VIBRATOR_STATE_CHANGED__STATE__ON, millis);
mCurVibUid = uid;
+ mIsVibrating = true;
} catch (RemoteException e) {
}
}
@@ -1282,11 +1382,12 @@ public class VibratorService extends IVibratorService.Stub
if (mCurVibUid >= 0) {
try {
mBatteryStatsService.noteVibratorOff(mCurVibUid);
- StatsLog.write_non_chained(StatsLog.VIBRATOR_STATE_CHANGED, mCurVibUid, null,
- StatsLog.VIBRATOR_STATE_CHANGED__STATE__OFF, 0);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.VIBRATOR_STATE_CHANGED,
+ mCurVibUid, null, FrameworkStatsLog.VIBRATOR_STATE_CHANGED__STATE__OFF, 0);
} catch (RemoteException e) { }
mCurVibUid = -1;
}
+ mIsVibrating = false;
}
private void setVibratorUnderExternalControl(boolean externalControl) {
@@ -1301,6 +1402,93 @@ public class VibratorService extends IVibratorService.Stub
vibratorSetExternalControl(externalControl);
}
+ private void dumpInternal(PrintWriter pw) {
+ pw.println("Vibrator Service:");
+ synchronized (mLock) {
+ pw.print(" mCurrentVibration=");
+ if (mCurrentVibration != null) {
+ pw.println(mCurrentVibration.toInfo().toString());
+ } else {
+ pw.println("null");
+ }
+ pw.print(" mCurrentExternalVibration=" + mCurrentExternalVibration);
+ pw.println(" mVibratorUnderExternalControl=" + mVibratorUnderExternalControl);
+ pw.println(" mIsVibrating=" + mIsVibrating);
+ pw.println(" mLowPowerMode=" + mLowPowerMode);
+ pw.println(" mHapticFeedbackIntensity=" + mHapticFeedbackIntensity);
+ pw.println(" mNotificationIntensity=" + mNotificationIntensity);
+ pw.println(" mRingIntensity=" + mRingIntensity);
+ pw.println(" mSupportedEffects=" + mSupportedEffects);
+ pw.println();
+ pw.println(" Previous ring vibrations:");
+ for (VibrationInfo info : mPreviousRingVibrations) {
+ pw.print(" ");
+ pw.println(info.toString());
+ }
+
+ pw.println(" Previous notification vibrations:");
+ for (VibrationInfo info : mPreviousNotificationVibrations) {
+ pw.println(" " + info);
+ }
+
+ pw.println(" Previous alarm vibrations:");
+ for (VibrationInfo info : mPreviousAlarmVibrations) {
+ pw.println(" " + info);
+ }
+
+ pw.println(" Previous vibrations:");
+ for (VibrationInfo info : mPreviousVibrations) {
+ pw.println(" " + info);
+ }
+
+ pw.println(" Previous external vibrations:");
+ for (ExternalVibration vib : mPreviousExternalVibrations) {
+ pw.println(" " + vib);
+ }
+ }
+ }
+
+ private void dumpProto(FileDescriptor fd) {
+ final ProtoOutputStream proto = new ProtoOutputStream(fd);
+
+ synchronized (mLock) {
+ if (mCurrentVibration != null) {
+ mCurrentVibration.toInfo().dumpProto(proto,
+ VibratorServiceDumpProto.CURRENT_VIBRATION);
+ }
+ proto.write(VibratorServiceDumpProto.IS_VIBRATING, mIsVibrating);
+ proto.write(VibratorServiceDumpProto.VIBRATOR_UNDER_EXTERNAL_CONTROL,
+ mVibratorUnderExternalControl);
+ proto.write(VibratorServiceDumpProto.LOW_POWER_MODE, mLowPowerMode);
+ proto.write(VibratorServiceDumpProto.HAPTIC_FEEDBACK_INTENSITY,
+ mHapticFeedbackIntensity);
+ proto.write(VibratorServiceDumpProto.NOTIFICATION_INTENSITY,
+ mNotificationIntensity);
+ proto.write(VibratorServiceDumpProto.RING_INTENSITY, mRingIntensity);
+
+ for (VibrationInfo info : mPreviousRingVibrations) {
+ info.dumpProto(proto,
+ VibratorServiceDumpProto.PREVIOUS_RING_VIBRATIONS);
+ }
+
+ for (VibrationInfo info : mPreviousNotificationVibrations) {
+ info.dumpProto(proto,
+ VibratorServiceDumpProto.PREVIOUS_NOTIFICATION_VIBRATIONS);
+ }
+
+ for (VibrationInfo info : mPreviousAlarmVibrations) {
+ info.dumpProto(proto,
+ VibratorServiceDumpProto.PREVIOUS_ALARM_VIBRATIONS);
+ }
+
+ for (VibrationInfo info : mPreviousVibrations) {
+ info.dumpProto(proto,
+ VibratorServiceDumpProto.PREVIOUS_VIBRATIONS);
+ }
+ }
+ proto.flush();
+ }
+
private class VibrateThread extends Thread {
private final VibrationEffect.Waveform mWaveform;
private final int mUid;
@@ -1424,7 +1612,7 @@ public class VibratorService extends IVibratorService.Stub
long[] timings, int[] amplitudes, int startIndex, int repeatIndex) {
int i = startIndex;
long timing = 0;
- while(amplitudes[i] != 0) {
+ while (amplitudes[i] != 0) {
timing += timings[i++];
if (i >= timings.length) {
if (repeatIndex >= 0) {
@@ -1467,62 +1655,28 @@ public class VibratorService extends IVibratorService.Stub
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
- pw.println("Vibrator Service:");
- synchronized (mLock) {
- pw.print(" mCurrentVibration=");
- if (mCurrentVibration != null) {
- pw.println(mCurrentVibration.toInfo().toString());
- } else {
- pw.println("null");
- }
- pw.print(" mCurrentExternalVibration=");
- if (mCurrentExternalVibration != null) {
- pw.println(mCurrentExternalVibration.toString());
- } else {
- pw.println("null");
- }
- pw.println(" mVibratorUnderExternalControl=" + mVibratorUnderExternalControl);
- pw.println(" mLowPowerMode=" + mLowPowerMode);
- pw.println(" mHapticFeedbackIntensity=" + mHapticFeedbackIntensity);
- pw.println(" mNotificationIntensity=" + mNotificationIntensity);
- pw.println(" mRingIntensity=" + mRingIntensity);
- pw.println("");
- pw.println(" Previous ring vibrations:");
- for (VibrationInfo info : mPreviousRingVibrations) {
- pw.print(" ");
- pw.println(info.toString());
- }
-
- pw.println(" Previous notification vibrations:");
- for (VibrationInfo info : mPreviousNotificationVibrations) {
- pw.print(" ");
- pw.println(info.toString());
- }
+ final long ident = Binder.clearCallingIdentity();
- pw.println(" Previous alarm vibrations:");
- for (VibrationInfo info : mPreviousAlarmVibrations) {
- pw.print(" ");
- pw.println(info.toString());
- }
-
- pw.println(" Previous vibrations:");
- for (VibrationInfo info : mPreviousVibrations) {
- pw.print(" ");
- pw.println(info.toString());
+ boolean isDumpProto = false;
+ for (String arg : args) {
+ if (arg.equals("--proto")) {
+ isDumpProto = true;
}
-
- pw.println(" Previous external vibrations:");
- for (ExternalVibration vib : mPreviousExternalVibrations) {
- pw.print(" ");
- pw.println(vib.toString());
+ }
+ try {
+ if (isDumpProto) {
+ dumpProto(fd);
+ } else {
+ dumpInternal(pw);
}
+ } finally {
+ Binder.restoreCallingIdentity(ident);
}
}
@Override
public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
- String[] args, ShellCallback callback, ResultReceiver resultReceiver)
- throws RemoteException {
+ String[] args, ShellCallback callback, ResultReceiver resultReceiver) {
new VibratorShellCommand(this).exec(this, in, out, err, args, callback, resultReceiver);
}
diff --git a/services/core/java/com/android/server/Watchdog.java b/services/core/java/com/android/server/Watchdog.java
index a60b09fda2e8..a1ccd8459c69 100644
--- a/services/core/java/com/android/server/Watchdog.java
+++ b/services/core/java/com/android/server/Watchdog.java
@@ -40,10 +40,10 @@ import android.util.EventLog;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
import com.android.internal.os.ProcessCpuTracker;
import com.android.internal.os.ZygoteConnectionConstants;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.am.ActivityManagerService;
import com.android.server.wm.SurfaceAnimationThread;
@@ -636,7 +636,8 @@ public class Watchdog extends Thread {
"watchdog", null, "system_server", null, null, null,
subject, cpuInfo, stack, null);
}
- StatsLog.write(StatsLog.SYSTEM_SERVER_WATCHDOG_OCCURRED, subject);
+ FrameworkStatsLog.write(FrameworkStatsLog.SYSTEM_SERVER_WATCHDOG_OCCURRED,
+ subject);
}
};
dropboxThread.start();
diff --git a/services/core/java/com/android/server/adb/AdbDebuggingManager.java b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
index 143474bd5c94..10994133e265 100644
--- a/services/core/java/com/android/server/adb/AdbDebuggingManager.java
+++ b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
@@ -46,12 +46,12 @@ import android.service.adb.AdbDebuggingManagerProto;
import android.util.AtomicFile;
import android.util.Base64;
import android.util.Slog;
-import android.util.StatsLog;
import android.util.Xml;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.XmlUtils;
import com.android.internal.util.dump.DualDumpOutputStream;
import com.android.server.FgThread;
@@ -493,8 +493,8 @@ public class AdbDebuggingManager {
"Logging key " + key + ", state = " + state + ", alwaysAllow = " + alwaysAllow
+ ", lastConnectionTime = " + lastConnectionTime + ", authWindow = "
+ authWindow);
- StatsLog.write(StatsLog.ADB_CONNECTION_CHANGED, lastConnectionTime, authWindow, state,
- alwaysAllow);
+ FrameworkStatsLog.write(FrameworkStatsLog.ADB_CONNECTION_CHANGED, lastConnectionTime,
+ authWindow, state, alwaysAllow);
}
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index ffeea3d12781..982466d82d38 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -19,12 +19,8 @@ package com.android.server.am;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION;
import static android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFEST;
-import static android.os.Process.BLUETOOTH_UID;
-import static android.os.Process.NETWORK_STACK_UID;
import static android.os.Process.NFC_UID;
-import static android.os.Process.PHONE_UID;
import static android.os.Process.ROOT_UID;
-import static android.os.Process.SE_UID;
import static android.os.Process.SYSTEM_UID;
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_BACKGROUND_CHECK;
@@ -89,7 +85,6 @@ import android.util.EventLog;
import android.util.PrintWriterPrinter;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
import android.webkit.WebViewZygote;
@@ -103,6 +98,7 @@ import com.android.internal.os.BatteryStatsImpl;
import com.android.internal.os.TransferPipe;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastPrintWriter;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.AppStateTracker;
import com.android.server.LocalServices;
import com.android.server.SystemService;
@@ -728,8 +724,9 @@ public final class ActiveServices {
stracker.setStarted(true, mAm.mProcessStats.getMemFactorLocked(), r.lastActivity);
}
r.callStart = false;
- StatsLog.write(StatsLog.SERVICE_STATE_CHANGED, r.appInfo.uid, r.name.getPackageName(),
- r.name.getClassName(), StatsLog.SERVICE_STATE_CHANGED__STATE__START);
+ FrameworkStatsLog.write(FrameworkStatsLog.SERVICE_STATE_CHANGED, r.appInfo.uid,
+ r.name.getPackageName(), r.name.getClassName(),
+ FrameworkStatsLog.SERVICE_STATE_CHANGED__STATE__START);
synchronized (r.stats.getBatteryStats()) {
r.stats.startRunningLocked();
}
@@ -768,9 +765,9 @@ public final class ActiveServices {
service.delayedStop = true;
return;
}
- StatsLog.write(StatsLog.SERVICE_STATE_CHANGED, service.appInfo.uid,
+ FrameworkStatsLog.write(FrameworkStatsLog.SERVICE_STATE_CHANGED, service.appInfo.uid,
service.name.getPackageName(), service.name.getClassName(),
- StatsLog.SERVICE_STATE_CHANGED__STATE__STOP);
+ FrameworkStatsLog.SERVICE_STATE_CHANGED__STATE__STOP);
synchronized (service.stats.getBatteryStats()) {
service.stats.stopRunningLocked();
}
@@ -929,8 +926,9 @@ public final class ActiveServices {
}
}
- StatsLog.write(StatsLog.SERVICE_STATE_CHANGED, r.appInfo.uid, r.name.getPackageName(),
- r.name.getClassName(), StatsLog.SERVICE_STATE_CHANGED__STATE__STOP);
+ FrameworkStatsLog.write(FrameworkStatsLog.SERVICE_STATE_CHANGED, r.appInfo.uid,
+ r.name.getPackageName(), r.name.getClassName(),
+ FrameworkStatsLog.SERVICE_STATE_CHANGED__STATE__STOP);
synchronized (r.stats.getBatteryStats()) {
r.stats.stopRunningLocked();
}
@@ -1435,9 +1433,9 @@ public final class ActiveServices {
AppOpsManager.getToken(mAm.mAppOpsService),
AppOpsManager.OP_START_FOREGROUND, r.appInfo.uid, r.packageName,
null, true, false, "");
- StatsLog.write(StatsLog.FOREGROUND_SERVICE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED,
r.appInfo.uid, r.shortInstanceName,
- StatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__ENTER);
+ FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__ENTER);
mAm.updateForegroundServiceUsageStats(r.name, r.userId, true);
}
r.postNotification();
@@ -1486,9 +1484,9 @@ public final class ActiveServices {
mAm.mAppOpsService.finishOperation(
AppOpsManager.getToken(mAm.mAppOpsService),
AppOpsManager.OP_START_FOREGROUND, r.appInfo.uid, r.packageName, null);
- StatsLog.write(StatsLog.FOREGROUND_SERVICE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED,
r.appInfo.uid, r.shortInstanceName,
- StatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT);
+ FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT);
mAm.updateForegroundServiceUsageStats(r.name, r.userId, false);
if (r.app != null) {
mAm.updateLruProcessLocked(r.app, false, null);
@@ -2772,8 +2770,8 @@ public final class ActiveServices {
EventLogTags.writeAmCreateService(
r.userId, System.identityHashCode(r), nameTerm, r.app.uid, r.app.pid);
}
- StatsLog.write(StatsLog.SERVICE_LAUNCH_REPORTED, r.appInfo.uid, r.name.getPackageName(),
- r.name.getClassName());
+ FrameworkStatsLog.write(FrameworkStatsLog.SERVICE_LAUNCH_REPORTED, r.appInfo.uid,
+ r.name.getPackageName(), r.name.getClassName());
synchronized (r.stats.getBatteryStats()) {
r.stats.startLaunchedLocked();
}
@@ -3101,8 +3099,9 @@ public final class ActiveServices {
mAm.mAppOpsService.finishOperation(
AppOpsManager.getToken(mAm.mAppOpsService),
AppOpsManager.OP_START_FOREGROUND, r.appInfo.uid, r.packageName, null);
- StatsLog.write(StatsLog.FOREGROUND_SERVICE_STATE_CHANGED, r.appInfo.uid,
- r.shortInstanceName, StatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT);
+ FrameworkStatsLog.write(FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED,
+ r.appInfo.uid, r.shortInstanceName,
+ FrameworkStatsLog.FOREGROUND_SERVICE_STATE_CHANGED__STATE__EXIT);
mAm.updateForegroundServiceUsageStats(r.name, r.userId, false);
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java
index 8451d6baeb0a..4a65a96e57a1 100644
--- a/services/core/java/com/android/server/am/ActivityManagerConstants.java
+++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java
@@ -58,6 +58,8 @@ final class ActivityManagerConstants extends ContentObserver {
private static final String KEY_CONTENT_PROVIDER_RETAIN_TIME = "content_provider_retain_time";
private static final String KEY_GC_TIMEOUT = "gc_timeout";
private static final String KEY_GC_MIN_INTERVAL = "gc_min_interval";
+ private static final String KEY_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS =
+ "force_bg_check_on_restricted";
private static final String KEY_FULL_PSS_MIN_INTERVAL = "full_pss_min_interval";
private static final String KEY_FULL_PSS_LOWERED_INTERVAL = "full_pss_lowered_interval";
private static final String KEY_POWER_CHECK_INTERVAL = "power_check_interval";
@@ -96,6 +98,7 @@ final class ActivityManagerConstants extends ContentObserver {
private static final long DEFAULT_GC_TIMEOUT = 5*1000;
private static final long DEFAULT_GC_MIN_INTERVAL = 60*1000;
private static final long DEFAULT_FULL_PSS_MIN_INTERVAL = 20*60*1000;
+ private static final boolean DEFAULT_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS = true;
private static final long DEFAULT_FULL_PSS_LOWERED_INTERVAL = 5*60*1000;
private static final long DEFAULT_POWER_CHECK_INTERVAL = (DEBUG_POWER_QUICK ? 1 : 5) * 60*1000;
private static final int DEFAULT_POWER_CHECK_MAX_CPU_1 = 25;
@@ -177,6 +180,14 @@ final class ActivityManagerConstants extends ContentObserver {
// The minimum amount of time between successive GC requests for a process.
long GC_MIN_INTERVAL = DEFAULT_GC_MIN_INTERVAL;
+ /**
+ * Whether or not Background Check should be forced on any apps in the
+ * {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_RESTRICTED} bucket,
+ * regardless of target SDK version.
+ */
+ boolean FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS =
+ DEFAULT_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS;
+
// The minimum amount of time between successive PSS requests for a process.
long FULL_PSS_MIN_INTERVAL = DEFAULT_FULL_PSS_MIN_INTERVAL;
@@ -380,6 +391,9 @@ final class ActivityManagerConstants extends ContentObserver {
case KEY_IMPERCEPTIBLE_KILL_EXEMPT_PROC_STATES:
updateImperceptibleKillExemptions();
break;
+ case KEY_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS:
+ updateForceRestrictedBackgroundCheck();
+ break;
default:
break;
}
@@ -424,13 +438,15 @@ final class ActivityManagerConstants extends ContentObserver {
DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
ActivityThread.currentApplication().getMainExecutor(),
mOnDeviceConfigChangedListener);
- updateMaxCachedProcesses();
+ loadDeviceConfigConstants();
+ // The following read from Settings.
updateActivityStartsLoggingEnabled();
- updateBackgroundActivityStarts();
updateForegroundServiceStartsLoggingEnabled();
- updateBackgroundFgsStartsRestriction();
- updateOomAdjUpdatePolicy();
- updateImperceptibleKillExemptions();
+ }
+
+ private void loadDeviceConfigConstants() {
+ mOnDeviceConfigChangedListener.onPropertiesChanged(
+ DeviceConfig.getProperties(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER));
}
public void setOverrideMaxCachedProcesses(int value) {
@@ -571,6 +587,13 @@ final class ActivityManagerConstants extends ContentObserver {
== OOMADJ_UPDATE_POLICY_QUICK;
}
+ private void updateForceRestrictedBackgroundCheck() {
+ FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS = DeviceConfig.getBoolean(
+ DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ KEY_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS,
+ DEFAULT_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS);
+ }
+
private void updateImperceptibleKillExemptions() {
IMPERCEPTIBLE_KILL_EXEMPT_PACKAGES.clear();
IMPERCEPTIBLE_KILL_EXEMPT_PACKAGES.addAll(mDefaultImperceptibleKillExemptPackages);
@@ -658,6 +681,8 @@ final class ActivityManagerConstants extends ContentObserver {
pw.println(GC_TIMEOUT);
pw.print(" "); pw.print(KEY_GC_MIN_INTERVAL); pw.print("=");
pw.println(GC_MIN_INTERVAL);
+ pw.print(" "); pw.print(KEY_FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS); pw.print("=");
+ pw.println(FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS);
pw.print(" "); pw.print(KEY_FULL_PSS_MIN_INTERVAL); pw.print("=");
pw.println(FULL_PSS_MIN_INTERVAL);
pw.print(" "); pw.print(KEY_FULL_PSS_LOWERED_INTERVAL); pw.print("=");
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 8b547c6bda42..148f7de4449f 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -184,6 +184,7 @@ import android.app.WindowConfiguration.WindowingMode;
import android.app.backup.IBackupManager;
import android.app.usage.UsageEvents;
import android.app.usage.UsageEvents.Event;
+import android.app.usage.UsageStatsManager;
import android.app.usage.UsageStatsManagerInternal;
import android.appwidget.AppWidgetManager;
import android.content.AutofillOptions;
@@ -292,7 +293,6 @@ import android.util.PrintWriterPrinter;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
import android.util.proto.ProtoUtils;
@@ -325,6 +325,7 @@ import com.android.internal.os.Zygote;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastPrintWriter;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.MemInfoReader;
import com.android.internal.util.Preconditions;
import com.android.internal.util.function.HexFunction;
@@ -354,7 +355,6 @@ import com.android.server.contentcapture.ContentCaptureManagerInternal;
import com.android.server.firewall.IntentFirewall;
import com.android.server.job.JobSchedulerInternal;
import com.android.server.pm.Installer;
-import com.android.server.pm.Installer.InstallerException;
import com.android.server.pm.permission.PermissionManagerServiceInternal;
import com.android.server.uri.GrantUri;
import com.android.server.uri.UriGrantsManagerInternal;
@@ -3069,10 +3069,10 @@ public class ActivityManagerService extends IActivityManager.Stub
"updateBatteryStats: comp=" + activity + "res=" + resumed);
}
final BatteryStatsImpl stats = mBatteryStatsService.getActiveStatistics();
- StatsLog.write(StatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED,
uid, activity.getPackageName(), activity.getShortClassName(),
- resumed ? StatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__FOREGROUND :
- StatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__BACKGROUND);
+ resumed ? FrameworkStatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__FOREGROUND :
+ FrameworkStatsLog.ACTIVITY_FOREGROUND_STATE_CHANGED__STATE__BACKGROUND);
synchronized (stats) {
if (resumed) {
stats.noteActivityResumedLocked(uid);
@@ -3796,7 +3796,7 @@ public class ActivityManagerService extends IActivityManager.Stub
// On the device which doesn't have Cgroup, log LmkStateChanged which is used as a signal
// for pulling memory stats of other running processes when this process died.
if (!hasMemcg()) {
- StatsLog.write(StatsLog.APP_DIED, SystemClock.elapsedRealtime());
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_DIED, SystemClock.elapsedRealtime());
}
}
@@ -4442,7 +4442,7 @@ public class ActivityManagerService extends IActivityManager.Stub
proc.pkgList.mPkgList);
for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.PROCESS_MEMORY_STAT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED,
proc.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -4500,7 +4500,7 @@ public class ActivityManagerService extends IActivityManager.Stub
ProcessStats.ADD_PSS_EXTERNAL, endTime-startTime, proc.pkgList.mPkgList);
for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.PROCESS_MEMORY_STAT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED,
proc.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -5143,14 +5143,12 @@ public class ActivityManagerService extends IActivityManager.Stub
checkTime(startTime, "attachApplicationLocked: after updateLruProcessLocked");
app.lastRequestedGc = app.lastLowMemory = SystemClock.uptimeMillis();
} catch (Exception e) {
- // todo: Yikes! What should we do? For now we will try to
- // start another process, but that could easily get us in
- // an infinite loop of restarting processes...
+ // We need kill the process group here. (b/148588589)
Slog.wtf(TAG, "Exception thrown during bind of " + app, e);
-
app.resetPackageList(mProcessStats);
app.unlinkDeathRecipient();
- mProcessList.startProcessLocked(app, new HostingRecord("bind-fail", processName));
+ app.kill("error during bind", ApplicationExitInfo.REASON_INITIALIZATION_FAILURE, true);
+ handleAppDiedLocked(app, false, true);
return false;
}
@@ -5223,12 +5221,12 @@ public class ActivityManagerService extends IActivityManager.Stub
checkTime(startTime, "attachApplicationLocked: after updateOomAdjLocked");
}
- StatsLog.write(
- StatsLog.PROCESS_START_TIME,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.PROCESS_START_TIME,
app.info.uid,
app.pid,
app.info.packageName,
- StatsLog.PROCESS_START_TIME__TYPE__COLD,
+ FrameworkStatsLog.PROCESS_START_TIME__TYPE__COLD,
app.startTime,
(int) (bindApplicationTimeMillis - app.startTime),
(int) (SystemClock.elapsedRealtime() - app.startTime),
@@ -5269,26 +5267,6 @@ public class ActivityManagerService extends IActivityManager.Stub
mCallFinishBooting = false;
}
- ArraySet<String> completedIsas = new ArraySet<String>();
- for (String abi : Build.SUPPORTED_ABIS) {
- ZYGOTE_PROCESS.establishZygoteConnectionForAbi(abi);
- final String instructionSet = VMRuntime.getInstructionSet(abi);
- if (!completedIsas.contains(instructionSet)) {
- try {
- mInstaller.markBootComplete(VMRuntime.getInstructionSet(abi));
- } catch (InstallerException e) {
- if (!VMRuntime.didPruneDalvikCache()) {
- // This is technically not the right filter, as different zygotes may
- // have made different pruning decisions. But the log is best effort,
- // anyways.
- Slog.w(TAG, "Unable to mark boot complete for abi: " + abi + " (" +
- e.getMessage() +")");
- }
- }
- completedIsas.add(instructionSet);
- }
- }
-
// Let the ART runtime in zygote and system_server know that the boot completed.
ZYGOTE_PROCESS.bootCompleted();
VMRuntime.bootCompleted();
@@ -6051,6 +6029,11 @@ public class ActivityManagerService extends IActivityManager.Stub
}
}
+ private boolean isInRestrictedBucket(int userId, String packageName, long nowElapsed) {
+ return UsageStatsManager.STANDBY_BUCKET_RESTRICTED
+ <= mUsageStatsService.getAppStandbyBucket(packageName, userId, nowElapsed);
+ }
+
// Unified app-op and target sdk check
int appRestrictedInBackgroundLocked(int uid, String packageName, int packageTargetSdk) {
// Apps that target O+ are always subject to background check
@@ -6060,7 +6043,17 @@ public class ActivityManagerService extends IActivityManager.Stub
}
return ActivityManager.APP_START_MODE_DELAYED_RIGID;
}
- // ...and legacy apps get an AppOp check
+ // It's a legacy app. If it's in the RESTRICTED bucket, always restrict on battery.
+ if (mOnBattery // Short-circuit in common case.
+ && mConstants.FORCE_BACKGROUND_CHECK_ON_RESTRICTED_APPS
+ && isInRestrictedBucket(
+ UserHandle.getUserId(uid), packageName, SystemClock.elapsedRealtime())) {
+ if (DEBUG_BACKGROUND_CHECK) {
+ Slog.i(TAG, "Legacy app " + uid + "/" + packageName + " in RESTRICTED bucket");
+ }
+ return ActivityManager.APP_START_MODE_DELAYED;
+ }
+ // Not in the RESTRICTED bucket so policy is based on AppOp check.
int appop = mAppOpsService.noteOperation(AppOpsManager.OP_RUN_IN_BACKGROUND,
uid, packageName, null, false, "");
if (DEBUG_BACKGROUND_CHECK) {
@@ -6860,6 +6853,7 @@ public class ActivityManagerService extends IActivityManager.Stub
}
}
+ ProcessRecord dyingProc = null;
if (cpr != null && cpr.proc != null) {
providerRunning = !cpr.proc.killed;
@@ -6869,14 +6863,9 @@ public class ActivityManagerService extends IActivityManager.Stub
// (See the commit message on I2c4ba1e87c2d47f2013befff10c49b3dc337a9a7 to see
// how to test this case.)
if (cpr.proc.killed && cpr.proc.killedByAm) {
- final long iden = Binder.clearCallingIdentity();
- try {
- mProcessList.killProcAndWaitIfNecessaryLocked(cpr.proc, false,
- cpr.uid == cpr.proc.uid || cpr.proc.isolated,
- "getContentProviderImpl: %s (killedByAm)", startTime);
- } finally {
- Binder.restoreCallingIdentity(iden);
- }
+ Slog.wtf(TAG, cpr.proc.toString() + " was killed by AM but isn't really dead");
+ // Now we are going to wait for the death before starting the new process.
+ dyingProc = cpr.proc;
}
}
@@ -6977,18 +6966,18 @@ public class ActivityManagerService extends IActivityManager.Stub
// has been killed on us. We need to wait for a new
// process to be started, and make sure its death
// doesn't kill our process.
- Slog.i(TAG, "Existing provider " + cpr.name.flattenToShortString()
+ Slog.wtf(TAG, "Existing provider " + cpr.name.flattenToShortString()
+ " is crashing; detaching " + r);
boolean lastRef = decProviderCountLocked(conn, cpr, token, stable);
- mProcessList.killProcAndWaitIfNecessaryLocked(cpr.proc,
- false, true, "getContentProviderImpl: %s", startTime);
if (!lastRef) {
// This wasn't the last ref our process had on
- // the provider... we have now been killed, bail.
+ // the provider... we will be killed during cleaning up, bail.
return null;
}
+ // We'll just start a new process to host the content provider
providerRunning = false;
conn = null;
+ dyingProc = cpr.proc;
} else {
cpr.proc.verifiedAdj = cpr.proc.setAdj;
}
@@ -7064,7 +7053,7 @@ public class ActivityManagerService extends IActivityManager.Stub
checkTime(startTime, "getContentProviderImpl: before getProviderByClass");
cpr = mProviderMap.getProviderByClass(comp, userId);
checkTime(startTime, "getContentProviderImpl: after getProviderByClass");
- final boolean firstClass = cpr == null;
+ boolean firstClass = cpr == null;
if (firstClass) {
final long ident = Binder.clearCallingIdentity();
@@ -7095,6 +7084,13 @@ public class ActivityManagerService extends IActivityManager.Stub
} finally {
Binder.restoreCallingIdentity(ident);
}
+ } else if (dyingProc == cpr.proc) {
+ // The old stable connection's client should be killed during proc cleaning up,
+ // so do not re-use the old ContentProviderRecord, otherwise the new clients
+ // could get killed unexpectedly.
+ cpr = new ContentProviderRecord(cpr);
+ // This is sort of "firstClass"
+ firstClass = true;
}
checkTime(startTime, "getContentProviderImpl: now have ContentProviderRecord");
@@ -7786,7 +7782,10 @@ public class ActivityManagerService extends IActivityManager.Stub
*
* Test cases are at cts/tests/appsecurity-tests/test-apps/UsePermissionDiffCert/
* src/com/android/cts/usespermissiondiffcertapp/AccessPermissionWithDiffSigTest.java
+ *
+ * @deprecated -- use getProviderMimeTypeAsync.
*/
+ @Deprecated
public String getProviderMimeType(Uri uri, int userId) {
enforceNotIsolatedCaller("getProviderMimeType");
final String name = uri.getAuthority();
@@ -7847,6 +7846,43 @@ public class ActivityManagerService extends IActivityManager.Stub
return null;
}
+ /**
+ * Allows apps to retrieve the MIME type of a URI.
+ * If an app is in the same user as the ContentProvider, or if it is allowed to interact across
+ * users, then it does not need permission to access the ContentProvider.
+ * Either way, it needs cross-user uri grants.
+ */
+ @Override
+ public void getProviderMimeTypeAsync(Uri uri, int userId, RemoteCallback resultCallback) {
+ enforceNotIsolatedCaller("getProviderMimeTypeAsync");
+ final String name = uri.getAuthority();
+ final int callingUid = Binder.getCallingUid();
+ final int callingPid = Binder.getCallingPid();
+ final int safeUserId = mUserController.unsafeConvertIncomingUser(userId);
+ final long ident = canClearIdentity(callingPid, callingUid, userId)
+ ? Binder.clearCallingIdentity() : 0;
+ try {
+ final ContentProviderHolder holder = getContentProviderExternalUnchecked(name, null,
+ callingUid, "*getmimetype*", safeUserId);
+ if (holder != null) {
+ holder.provider.getTypeAsync(uri, new RemoteCallback(result -> {
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ removeContentProviderExternalUnchecked(name, null, safeUserId);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ resultCallback.sendResult(result);
+ }));
+ }
+ } catch (RemoteException e) {
+ Log.w(TAG, "Content provider dead retrieving " + uri, e);
+ resultCallback.sendResult(Bundle.EMPTY);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
+
int checkContentProviderUriPermission(Uri uri, int userId, int callingUid, int modeFlags) {
final String name = uri.getAuthority();
final long ident = Binder.clearCallingIdentity();
@@ -8803,8 +8839,8 @@ public class ActivityManagerService extends IActivityManager.Stub
UserHandle.getUserId(workSourceUid), SystemClock.elapsedRealtime());
}
- StatsLog.write(StatsLog.WAKEUP_ALARM_OCCURRED, workSource, tag, sourcePkg,
- standbyBucket);
+ FrameworkStatsLog.write(FrameworkStatsLog.WAKEUP_ALARM_OCCURRED, workSource, tag,
+ sourcePkg, standbyBucket);
if (DEBUG_POWER) {
Slog.w(TAG, "noteWakeupAlarm[ sourcePkg=" + sourcePkg + ", sourceUid=" + sourceUid
+ ", workSource=" + workSource + ", tag=" + tag + ", standbyBucket="
@@ -8815,8 +8851,8 @@ public class ActivityManagerService extends IActivityManager.Stub
standbyBucket = mUsageStatsService.getAppStandbyBucket(sourcePkg,
UserHandle.getUserId(sourceUid), SystemClock.elapsedRealtime());
}
- StatsLog.write_non_chained(StatsLog.WAKEUP_ALARM_OCCURRED, sourceUid, null, tag,
- sourcePkg, standbyBucket);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.WAKEUP_ALARM_OCCURRED, sourceUid,
+ null, tag, sourcePkg, standbyBucket);
if (DEBUG_POWER) {
Slog.w(TAG, "noteWakeupAlarm[ sourcePkg=" + sourcePkg + ", sourceUid=" + sourceUid
+ ", workSource=" + workSource + ", tag=" + tag + ", standbyBucket="
@@ -9550,20 +9586,20 @@ public class ActivityManagerService extends IActivityManager.Stub
crashInfo.throwFileName,
crashInfo.throwLineNumber);
- StatsLog.write(StatsLog.APP_CRASH_OCCURRED,
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_CRASH_OCCURRED,
Binder.getCallingUid(),
eventType,
processName,
Binder.getCallingPid(),
(r != null && r.info != null) ? r.info.packageName : "",
(r != null && r.info != null) ? (r.info.isInstantApp()
- ? StatsLog.APP_CRASH_OCCURRED__IS_INSTANT_APP__TRUE
- : StatsLog.APP_CRASH_OCCURRED__IS_INSTANT_APP__FALSE)
- : StatsLog.APP_CRASH_OCCURRED__IS_INSTANT_APP__UNAVAILABLE,
+ ? FrameworkStatsLog.APP_CRASH_OCCURRED__IS_INSTANT_APP__TRUE
+ : FrameworkStatsLog.APP_CRASH_OCCURRED__IS_INSTANT_APP__FALSE)
+ : FrameworkStatsLog.APP_CRASH_OCCURRED__IS_INSTANT_APP__UNAVAILABLE,
r != null ? (r.isInterestingToUserLocked()
- ? StatsLog.APP_CRASH_OCCURRED__FOREGROUND_STATE__FOREGROUND
- : StatsLog.APP_CRASH_OCCURRED__FOREGROUND_STATE__BACKGROUND)
- : StatsLog.APP_CRASH_OCCURRED__FOREGROUND_STATE__UNKNOWN,
+ ? FrameworkStatsLog.APP_CRASH_OCCURRED__FOREGROUND_STATE__FOREGROUND
+ : FrameworkStatsLog.APP_CRASH_OCCURRED__FOREGROUND_STATE__BACKGROUND)
+ : FrameworkStatsLog.APP_CRASH_OCCURRED__FOREGROUND_STATE__UNKNOWN,
processName.equals("system_server") ? ServerProtoEnums.SYSTEM_SERVER
: (r != null) ? r.getProcessClassEnum()
: ServerProtoEnums.ERROR_SOURCE_UNKNOWN
@@ -9707,15 +9743,21 @@ public class ActivityManagerService extends IActivityManager.Stub
* @param crashInfo describing the context of the error
* @return true if the process should exit immediately (WTF is fatal)
*/
+ @Override
public boolean handleApplicationWtf(final IBinder app, final String tag, boolean system,
- final ApplicationErrorReport.ParcelableCrashInfo crashInfo) {
+ final ApplicationErrorReport.ParcelableCrashInfo crashInfo, int immediateCallerPid) {
final int callingUid = Binder.getCallingUid();
final int callingPid = Binder.getCallingPid();
- if (system) {
- // If this is coming from the system, we could very well have low-level
- // system locks held, so we want to do this all asynchronously. And we
- // never want this to become fatal, so there is that too.
+ // If this is coming from the system, we could very well have low-level
+ // system locks held, so we want to do this all asynchronously. And we
+ // never want this to become fatal, so there is that too.
+ //
+ // Note: "callingPid == Process.myPid())" wouldn't be reliable because even if the caller
+ // is within the system server, if it calls Log.wtf() without clearning the calling
+ // identity, callingPid would still be of a remote caller. So we explicltly pass the
+ // process PID from the caller.
+ if (system || (immediateCallerPid == Process.myPid())) {
mHandler.post(new Runnable() {
@Override public void run() {
handleApplicationWtfInner(callingUid, callingPid, app, tag, crashInfo);
@@ -9748,7 +9790,7 @@ public class ActivityManagerService extends IActivityManager.Stub
EventLogTags.writeAmWtf(UserHandle.getUserId(callingUid), callingPid,
processName, r == null ? -1 : r.info.flags, tag, crashInfo.exceptionMessage);
- StatsLog.write(StatsLog.WTF_OCCURRED, callingUid, tag, processName,
+ FrameworkStatsLog.write(FrameworkStatsLog.WTF_OCCURRED, callingUid, tag, processName,
callingPid, (r != null) ? r.getProcessClassEnum() : 0);
addErrorToDropBox("wtf", r, processName, null, null, null, tag, null, null, crashInfo);
@@ -12987,7 +13029,7 @@ public class ActivityManagerService extends IActivityManager.Stub
reportType, endTime-startTime, r.pkgList.mPkgList);
for (int ipkg = r.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = r.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.PROCESS_MEMORY_STAT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED,
r.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -13591,7 +13633,7 @@ public class ActivityManagerService extends IActivityManager.Stub
reportType, endTime-startTime, r.pkgList.mPkgList);
for (int ipkg = r.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = r.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.PROCESS_MEMORY_STAT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED,
r.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -14158,7 +14200,7 @@ public class ActivityManagerService extends IActivityManager.Stub
catPw.flush();
}
dropBuilder.append(catSw.toString());
- StatsLog.write(StatsLog.LOW_MEM_REPORTED);
+ FrameworkStatsLog.write(FrameworkStatsLog.LOW_MEM_REPORTED);
addErrorToDropBox("lowmem", null, "system_server", null,
null, null, tag.toString(), dropBuilder.toString(), null, null);
//Slog.i(TAG, "Sent to dropbox:");
@@ -14208,10 +14250,19 @@ public class ActivityManagerService extends IActivityManager.Stub
cpr.launchingApp = null;
cpr.notifyAll();
}
- mProviderMap.removeProviderByClass(cpr.name, UserHandle.getUserId(cpr.uid));
+ final int userId = UserHandle.getUserId(cpr.uid);
+ // Don't remove from provider map if it doesn't match
+ // could be a new content provider is starting
+ if (mProviderMap.getProviderByClass(cpr.name, userId) == cpr) {
+ mProviderMap.removeProviderByClass(cpr.name, userId);
+ }
String names[] = cpr.info.authority.split(";");
for (int j = 0; j < names.length; j++) {
- mProviderMap.removeProviderByName(names[j], UserHandle.getUserId(cpr.uid));
+ // Don't remove from provider map if it doesn't match
+ // could be a new content provider is starting
+ if (mProviderMap.getProviderByName(names[j], userId) == cpr) {
+ mProviderMap.removeProviderByName(names[j], userId);
+ }
}
}
@@ -14306,6 +14357,10 @@ public class ActivityManagerService extends IActivityManager.Stub
// Remove published content providers.
for (int i = app.pubProviders.size() - 1; i >= 0; i--) {
ContentProviderRecord cpr = app.pubProviders.valueAt(i);
+ if (cpr.proc != app) {
+ // If the hosting process record isn't really us, bail out
+ continue;
+ }
final boolean alwaysRemove = app.bad || !allowRestart;
final boolean inLaunching = removeDyingProviderLocked(app, cpr, alwaysRemove);
if (!alwaysRemove && inLaunching && cpr.hasConnectionOrHandle()) {
@@ -14391,6 +14446,27 @@ public class ActivityManagerService extends IActivityManager.Stub
mUiHandler.obtainMessage(DISPATCH_PROCESS_DIED_UI_MSG, app.pid, app.info.uid,
null).sendToTarget();
+ // If this is a precede instance of another process instance
+ allowRestart = true;
+ synchronized (app) {
+ if (app.mSuccessor != null) {
+ // We don't allow restart with this ProcessRecord now,
+ // because we have created a new one already.
+ allowRestart = false;
+ // If it's persistent, add the successor to mPersistentStartingProcesses
+ if (app.isPersistent() && !app.removed) {
+ if (mPersistentStartingProcesses.indexOf(app.mSuccessor) < 0) {
+ mPersistentStartingProcesses.add(app.mSuccessor);
+ }
+ }
+ // clean up the field so the successor's proc starter could proceed.
+ app.mSuccessor.mPrecedence = null;
+ app.mSuccessor = null;
+ // Notify if anyone is waiting for it.
+ app.notifyAll();
+ }
+ }
+
// If the caller is restarting this app, then leave it in its
// current lists and let the caller take care of it.
if (restarting) {
@@ -14420,7 +14496,7 @@ public class ActivityManagerService extends IActivityManager.Stub
mAtmInternal.onCleanUpApplicationRecord(app.getWindowProcessController());
mProcessList.noteProcessDiedLocked(app);
- if (restart && !app.isolated) {
+ if (restart && allowRestart && !app.isolated) {
// We have components that still need to be running in the
// process, so re-launch it.
if (index < 0) {
@@ -16798,7 +16874,7 @@ public class ActivityManagerService extends IActivityManager.Stub
pss, uss, rss, true, statType, pssDuration, proc.pkgList.mPkgList);
for (int ipkg = proc.pkgList.mPkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.PROCESS_MEMORY_STAT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_MEMORY_STAT_REPORTED,
proc.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -17158,7 +17234,7 @@ public class ActivityManagerService extends IActivityManager.Stub
app.baseProcessTracker.reportExcessiveCpu(app.pkgList.mPkgList);
for (int ipkg = app.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = app.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.EXCESSIVE_CPU_USAGE_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.EXCESSIVE_CPU_USAGE_REPORTED,
app.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -17445,7 +17521,7 @@ public class ActivityManagerService extends IActivityManager.Stub
}
if (memFactor != mLastMemoryLevel) {
EventLogTags.writeAmMemFactor(memFactor, mLastMemoryLevel);
- StatsLog.write(StatsLog.MEMORY_FACTOR_STATE_CHANGED, memFactor);
+ FrameworkStatsLog.write(FrameworkStatsLog.MEMORY_FACTOR_STATE_CHANGED, memFactor);
}
mLastMemoryLevel = memFactor;
mLastNumProcesses = mProcessList.getLruSizeLocked();
@@ -18846,19 +18922,16 @@ public class ActivityManagerService extends IActivityManager.Stub
}
// The arguments here are untyped because the base ActivityManagerInternal class
- // doesn't have compile-time visiblity into ActivityServiceConnectionHolder or
+ // doesn't have compile-time visibility into ActivityServiceConnectionHolder or
// ConnectionRecord.
@Override
- public void disconnectActivityFromServices(Object connectionHolder, Object conns) {
+ public void disconnectActivityFromServices(Object connectionHolder) {
// 'connectionHolder' is an untyped ActivityServiceConnectionsHolder
- // 'conns' is an untyped HashSet<ConnectionRecord>
final ActivityServiceConnectionsHolder holder =
(ActivityServiceConnectionsHolder) connectionHolder;
- final HashSet<ConnectionRecord> toDisconnect = (HashSet<ConnectionRecord>) conns;
- synchronized(ActivityManagerService.this) {
- for (ConnectionRecord cr : toDisconnect) {
- mServices.removeConnectionLocked(cr, null, holder);
- }
+ synchronized (ActivityManagerService.this) {
+ holder.forEachConnection(cr -> mServices.removeConnectionLocked(
+ (ConnectionRecord) cr, null /* skipApp */, holder /* skipAct */));
}
}
diff --git a/services/core/java/com/android/server/am/AppExitInfoTracker.java b/services/core/java/com/android/server/am/AppExitInfoTracker.java
index bab133f58c11..60aba277569b 100644
--- a/services/core/java/com/android/server/am/AppExitInfoTracker.java
+++ b/services/core/java/com/android/server/am/AppExitInfoTracker.java
@@ -17,6 +17,7 @@
package com.android.server.am;
import static android.app.ActivityManager.RunningAppProcessInfo.procStateToImportance;
+import static android.os.Process.THREAD_PRIORITY_BACKGROUND;
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_PROCESSES;
import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
@@ -52,6 +53,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.ProcessMap;
import com.android.server.IoThread;
+import com.android.server.ServiceThread;
import com.android.server.SystemServiceManager;
import java.io.File;
@@ -179,9 +181,12 @@ public final class AppExitInfoTracker {
mRawRecordsPool = new SynchronizedPool<ApplicationExitInfo>(APP_EXIT_RAW_INFO_POOL_SIZE);
}
- void init(ActivityManagerService service, Looper looper) {
+ void init(ActivityManagerService service) {
mService = service;
- mKillHandler = new KillHandler(looper);
+ ServiceThread thread = new ServiceThread(TAG + ":killHandler",
+ THREAD_PRIORITY_BACKGROUND, true /* allowIo */);
+ thread.start();
+ mKillHandler = new KillHandler(thread.getLooper());
mProcExitInfoFile = new File(SystemServiceManager.ensureSystemDir(), APP_EXIT_INFO_FILE);
mAppExitInfoHistoryListSize = service.mContext.getResources().getInteger(
diff --git a/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java b/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java
index fa916202d553..39f79ca2f13b 100644
--- a/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java
+++ b/services/core/java/com/android/server/am/BatteryExternalStatsWorker.java
@@ -33,11 +33,11 @@ import android.telephony.ModemActivityInfo;
import android.telephony.TelephonyManager;
import android.util.IntArray;
import android.util.Slog;
-import android.util.StatsLog;
import android.util.TimeUtils;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.os.BatteryStatsImpl;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.function.pooled.PooledLambda;
import libcore.util.EmptyArray;
@@ -374,8 +374,8 @@ class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStatsSync {
// Clean up any UIDs if necessary.
synchronized (mStats) {
for (int uid : uidsToRemove) {
- StatsLog.write(StatsLog.ISOLATED_UID_CHANGED, -1, uid,
- StatsLog.ISOLATED_UID_CHANGED__EVENT__REMOVED);
+ FrameworkStatsLog.write(FrameworkStatsLog.ISOLATED_UID_CHANGED, -1, uid,
+ FrameworkStatsLog.ISOLATED_UID_CHANGED__EVENT__REMOVED);
mStats.removeIsolatedUidLocked(uid);
}
mStats.clearPendingRemovedUids();
@@ -550,7 +550,6 @@ class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStatsSync {
return data;
}
}
- Slog.e(TAG, "no controller energy info supplied for " + receiver.getName());
} catch (TimeoutException e) {
Slog.w(TAG, "timeout reading " + receiver.getName() + " stats");
}
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java
index a98b83b09a6a..ed6ace3335f5 100644
--- a/services/core/java/com/android/server/am/BatteryStatsService.java
+++ b/services/core/java/com/android/server/am/BatteryStatsService.java
@@ -53,7 +53,6 @@ import android.telephony.ModemActivityInfo;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.app.IBatteryStats;
import com.android.internal.os.BatteryStatsHelper;
@@ -62,6 +61,7 @@ import com.android.internal.os.PowerProfile;
import com.android.internal.os.RailStats;
import com.android.internal.os.RpmStats;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.ParseUtils;
import com.android.server.LocalServices;
@@ -347,16 +347,16 @@ public final class BatteryStatsService extends IBatteryStats.Stub
void noteProcessStart(String name, int uid) {
synchronized (mStats) {
mStats.noteProcessStartLocked(name, uid);
- StatsLog.write(StatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED, uid, name,
- StatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__STARTED);
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED, uid, name,
+ FrameworkStatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__STARTED);
}
}
void noteProcessCrash(String name, int uid) {
synchronized (mStats) {
mStats.noteProcessCrashLocked(name, uid);
- StatsLog.write(StatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED, uid, name,
- StatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__CRASHED);
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED, uid, name,
+ FrameworkStatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__CRASHED);
}
}
@@ -369,15 +369,15 @@ public final class BatteryStatsService extends IBatteryStats.Stub
void noteProcessFinish(String name, int uid) {
synchronized (mStats) {
mStats.noteProcessFinishLocked(name, uid);
- StatsLog.write(StatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED, uid, name,
- StatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__FINISHED);
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED, uid, name,
+ FrameworkStatsLog.PROCESS_LIFE_CYCLE_STATE_CHANGED__STATE__FINISHED);
}
}
/** @param state Process state from ActivityManager.java. */
void noteUidProcessState(int uid, int state) {
synchronized (mStats) {
- StatsLog.write(StatsLog.UID_PROCESS_STATE_CHANGED, uid,
+ FrameworkStatsLog.write(FrameworkStatsLog.UID_PROCESS_STATE_CHANGED, uid,
ActivityManager.processStateAmToProto(state));
mStats.noteUidProcessStateLocked(uid, state);
@@ -453,8 +453,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteSyncStartLocked(name, uid);
- StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, uid, null, name,
- StatsLog.SYNC_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SYNC_STATE_CHANGED, uid, null,
+ name, FrameworkStatsLog.SYNC_STATE_CHANGED__STATE__ON);
}
}
@@ -462,8 +462,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteSyncFinishLocked(name, uid);
- StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, uid, null, name,
- StatsLog.SYNC_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SYNC_STATE_CHANGED, uid, null,
+ name, FrameworkStatsLog.SYNC_STATE_CHANGED__STATE__OFF);
}
}
@@ -472,8 +472,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteJobStartLocked(name, uid);
- StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, uid, null,
- name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED,
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED,
+ uid, null, name,
+ FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED,
JobProtoEnums.STOP_REASON_UNKNOWN, standbyBucket, jobid);
}
}
@@ -483,9 +484,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteJobFinishLocked(name, uid, stopReason);
- StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, uid, null,
- name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED,
- stopReason, standbyBucket, jobid);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED,
+ uid, null, name,
+ FrameworkStatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED, stopReason,
+ standbyBucket, jobid);
}
}
@@ -600,8 +602,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteStartSensorLocked(uid, sensor);
- StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, uid, null, sensor,
- StatsLog.SENSOR_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SENSOR_STATE_CHANGED, uid, null,
+ sensor, FrameworkStatsLog.SENSOR_STATE_CHANGED__STATE__ON);
}
}
@@ -609,8 +611,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteStopSensorLocked(uid, sensor);
- StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, uid, null,
- sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.SENSOR_STATE_CHANGED, uid, null,
+ sensor, FrameworkStatsLog.SENSOR_STATE_CHANGED__STATE__OFF);
}
}
@@ -646,7 +648,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
if (DBG) Slog.d(TAG, "begin noteScreenState");
synchronized (mStats) {
- StatsLog.write(StatsLog.SCREEN_STATE_CHANGED, state);
+ FrameworkStatsLog.write(FrameworkStatsLog.SCREEN_STATE_CHANGED, state);
mStats.noteScreenStateLocked(state);
}
@@ -656,7 +658,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub
public void noteScreenBrightness(int brightness) {
enforceCallingPermission();
synchronized (mStats) {
- StatsLog.write(StatsLog.SCREEN_BRIGHTNESS_CHANGED, brightness);
+ FrameworkStatsLog.write(FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED, brightness);
mStats.noteScreenBrightnessLocked(brightness);
}
}
@@ -742,8 +744,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
synchronized (mStats) {
mStats.noteWifiOnLocked();
}
- StatsLog.write(StatsLog.WIFI_ENABLED_STATE_CHANGED,
- StatsLog.WIFI_ENABLED_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write(FrameworkStatsLog.WIFI_ENABLED_STATE_CHANGED,
+ FrameworkStatsLog.WIFI_ENABLED_STATE_CHANGED__STATE__ON);
}
public void noteWifiOff() {
@@ -751,16 +753,16 @@ public final class BatteryStatsService extends IBatteryStats.Stub
synchronized (mStats) {
mStats.noteWifiOffLocked();
}
- StatsLog.write(StatsLog.WIFI_ENABLED_STATE_CHANGED,
- StatsLog.WIFI_ENABLED_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.WIFI_ENABLED_STATE_CHANGED,
+ FrameworkStatsLog.WIFI_ENABLED_STATE_CHANGED__STATE__OFF);
}
public void noteStartAudio(int uid) {
enforceCallingPermission();
synchronized (mStats) {
mStats.noteAudioOnLocked(uid);
- StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, uid, null,
- StatsLog.AUDIO_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.AUDIO_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.AUDIO_STATE_CHANGED__STATE__ON);
}
}
@@ -768,8 +770,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteAudioOffLocked(uid);
- StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, uid, null,
- StatsLog.AUDIO_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.AUDIO_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.AUDIO_STATE_CHANGED__STATE__OFF);
}
}
@@ -777,8 +779,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteVideoOnLocked(uid);
- StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_STATE_CHANGED, uid, null,
- StatsLog.MEDIA_CODEC_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.MEDIA_CODEC_STATE_CHANGED, uid,
+ null, FrameworkStatsLog.MEDIA_CODEC_STATE_CHANGED__STATE__ON);
}
}
@@ -786,8 +788,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteVideoOffLocked(uid);
- StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_STATE_CHANGED, uid,
- null, StatsLog.MEDIA_CODEC_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.MEDIA_CODEC_STATE_CHANGED, uid,
+ null, FrameworkStatsLog.MEDIA_CODEC_STATE_CHANGED__STATE__OFF);
}
}
@@ -795,8 +797,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteResetAudioLocked();
- StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, -1, null,
- StatsLog.AUDIO_STATE_CHANGED__STATE__RESET);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.AUDIO_STATE_CHANGED, -1, null,
+ FrameworkStatsLog.AUDIO_STATE_CHANGED__STATE__RESET);
}
}
@@ -804,8 +806,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteResetVideoLocked();
- StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_STATE_CHANGED, -1, null,
- StatsLog.MEDIA_CODEC_STATE_CHANGED__STATE__RESET);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.MEDIA_CODEC_STATE_CHANGED, -1,
+ null, FrameworkStatsLog.MEDIA_CODEC_STATE_CHANGED__STATE__RESET);
}
}
@@ -813,8 +815,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteFlashlightOnLocked(uid);
- StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, uid, null,
- StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.FLASHLIGHT_STATE_CHANGED, uid,
+ null, FrameworkStatsLog.FLASHLIGHT_STATE_CHANGED__STATE__ON);
}
}
@@ -822,8 +824,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteFlashlightOffLocked(uid);
- StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, uid, null,
- StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.FLASHLIGHT_STATE_CHANGED, uid,
+ null, FrameworkStatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF);
}
}
@@ -832,8 +834,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
if (DBG) Slog.d(TAG, "begin noteStartCamera");
synchronized (mStats) {
mStats.noteCameraOnLocked(uid);
- StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, uid, null,
- StatsLog.CAMERA_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.CAMERA_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.CAMERA_STATE_CHANGED__STATE__ON);
}
if (DBG) Slog.d(TAG, "end noteStartCamera");
}
@@ -842,8 +844,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteCameraOffLocked(uid);
- StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, uid, null,
- StatsLog.CAMERA_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.CAMERA_STATE_CHANGED, uid, null,
+ FrameworkStatsLog.CAMERA_STATE_CHANGED__STATE__OFF);
}
}
@@ -851,8 +853,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteResetCameraLocked();
- StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, -1, null,
- StatsLog.CAMERA_STATE_CHANGED__STATE__RESET);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.CAMERA_STATE_CHANGED, -1, null,
+ FrameworkStatsLog.CAMERA_STATE_CHANGED__STATE__RESET);
}
}
@@ -860,8 +862,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
enforceCallingPermission();
synchronized (mStats) {
mStats.noteResetFlashlightLocked();
- StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, -1, null,
- StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__RESET);
+ FrameworkStatsLog.write_non_chained(FrameworkStatsLog.FLASHLIGHT_STATE_CHANGED, -1,
+ null, FrameworkStatsLog.FLASHLIGHT_STATE_CHANGED__STATE__RESET);
}
}
@@ -888,8 +890,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
mStats.noteWifiRunningLocked(ws);
}
// TODO: Log WIFI_RUNNING_STATE_CHANGED in a better spot to include Hotspot too.
- StatsLog.write(StatsLog.WIFI_RUNNING_STATE_CHANGED,
- ws, StatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write(FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED,
+ ws, FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__ON);
}
public void noteWifiRunningChanged(WorkSource oldWs, WorkSource newWs) {
@@ -897,10 +899,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub
synchronized (mStats) {
mStats.noteWifiRunningChangedLocked(oldWs, newWs);
}
- StatsLog.write(StatsLog.WIFI_RUNNING_STATE_CHANGED,
- newWs, StatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__ON);
- StatsLog.write(StatsLog.WIFI_RUNNING_STATE_CHANGED,
- oldWs, StatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED,
+ newWs, FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write(FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED,
+ oldWs, FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__OFF);
}
public void noteWifiStopped(WorkSource ws) {
@@ -908,8 +910,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub
synchronized (mStats) {
mStats.noteWifiStoppedLocked(ws);
}
- StatsLog.write(StatsLog.WIFI_RUNNING_STATE_CHANGED,
- ws, StatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED,
+ ws, FrameworkStatsLog.WIFI_RUNNING_STATE_CHANGED__STATE__OFF);
}
public void noteWifiState(int wifiState, String accessPoint) {
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index 6fca3f61e670..6697b5ab7c85 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -47,10 +47,11 @@ import android.permission.IPermissionManager;
import android.util.EventLog;
import android.util.Slog;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
+import com.android.internal.util.FrameworkStatsLog;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
@@ -1255,8 +1256,8 @@ public final class BroadcastQueue {
r.dispatchClockTime = System.currentTimeMillis();
if (mLogLatencyMetrics) {
- StatsLog.write(
- StatsLog.BROADCAST_DISPATCH_LATENCY_REPORTED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.BROADCAST_DISPATCH_LATENCY_REPORTED,
r.dispatchClockTime - r.enqueueClockTime);
}
diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java
index 6819578d9cdc..313c185a84c6 100644
--- a/services/core/java/com/android/server/am/CachedAppOptimizer.java
+++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java
@@ -36,10 +36,10 @@ import android.provider.DeviceConfig.Properties;
import android.text.TextUtils;
import android.util.EventLog;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.ServiceThread;
import java.io.FileOutputStream;
@@ -849,11 +849,11 @@ public final class CachedAppOptimizer {
// on every single compaction for a flag that will seldom change and the
// impact of reading the wrong value here is low.
if (mRandom.nextFloat() < mCompactStatsdSampleRate) {
- StatsLog.write(StatsLog.APP_COMPACTED, pid, name, pendingAction,
- rssBefore[0], rssBefore[1], rssBefore[2], rssBefore[3],
- rssAfter[0], rssAfter[1], rssAfter[2], rssAfter[3], time,
- lastCompactAction, lastCompactTime, lastOomAdj,
- ActivityManager.processStateAmToProto(procState),
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_COMPACTED, pid, name,
+ pendingAction, rssBefore[0], rssBefore[1], rssBefore[2],
+ rssBefore[3], rssAfter[0], rssAfter[1], rssAfter[2],
+ rssAfter[3], time, lastCompactAction, lastCompactTime,
+ lastOomAdj, ActivityManager.processStateAmToProto(procState),
zramFreeKbBefore, zramFreeKbAfter);
}
diff --git a/services/core/java/com/android/server/am/OomAdjuster.java b/services/core/java/com/android/server/am/OomAdjuster.java
index e9d64913a354..b107626e3bec 100644
--- a/services/core/java/com/android/server/am/OomAdjuster.java
+++ b/services/core/java/com/android/server/am/OomAdjuster.java
@@ -17,8 +17,8 @@
package com.android.server.am;
import static android.app.ActivityManager.PROCESS_CAPABILITY_ALL;
-import static android.app.ActivityManager.PROCESS_CAPABILITY_FOREGROUND_CAMERA;
import static android.app.ActivityManager.PROCESS_CAPABILITY_ALL_IMPLICIT;
+import static android.app.ActivityManager.PROCESS_CAPABILITY_FOREGROUND_CAMERA;
import static android.app.ActivityManager.PROCESS_CAPABILITY_FOREGROUND_LOCATION;
import static android.app.ActivityManager.PROCESS_CAPABILITY_FOREGROUND_MICROPHONE;
import static android.app.ActivityManager.PROCESS_CAPABILITY_NONE;
@@ -72,19 +72,18 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_SWITCH;
import android.app.ActivityManager;
import android.app.ApplicationExitInfo;
import android.app.usage.UsageEvents;
-import android.compat.Compatibility;
import android.compat.annotation.ChangeId;
import android.compat.annotation.Disabled;
import android.compat.annotation.EnabledAfter;
import android.content.Context;
import android.content.pm.ServiceInfo;
-import android.os.Build;
import android.os.Debug;
import android.os.Handler;
import android.os.IBinder;
import android.os.PowerManagerInternal;
import android.os.Process;
import android.os.RemoteException;
+import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.Trace;
import android.os.UserHandle;
@@ -96,6 +95,7 @@ import android.util.proto.ProtoOutputStream;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.procstats.ProcessStats;
+import com.android.internal.compat.IPlatformCompat;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.wm.ActivityServiceConnectionsHolder;
@@ -140,8 +140,8 @@ public final class OomAdjuster {
/**
* In targetSdkVersion R and above, foreground service has camera and microphone while-in-use
* capability only when the {@link android.R.attr#foregroundServiceType} is configured as
- * {@link ServiceInfo#FOREGROUND_SERVICE_TYPE_CAMERA} and
- * {@link ServiceInfo#FOREGROUND_SERVICE_TYPE_MICROPHONE} respectively in the
+ * {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_CAMERA} and
+ * {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MICROPHONE} respectively in the
* manifest file.
* In targetSdkVersion below R, foreground service automatically have camera and microphone
* capabilities.
@@ -151,6 +151,9 @@ public final class OomAdjuster {
@Disabled
static final long CAMERA_MICROPHONE_CAPABILITY_CHANGE_ID = 136219221L;
+ //TODO: remove this when development is done.
+ private static final int TEMP_PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1 << 31;
+
/**
* For some direct access we need to power manager.
*/
@@ -210,6 +213,8 @@ public final class OomAdjuster {
private ActiveUids mTmpUidRecords;
private ArrayDeque<ProcessRecord> mTmpQueue;
+ private final IPlatformCompat mPlatformCompat;
+
OomAdjuster(ActivityManagerService service, ProcessList processList, ActiveUids activeUids) {
this(service, processList, activeUids, createAdjusterThread());
}
@@ -256,6 +261,8 @@ public final class OomAdjuster {
mTmpQueue = new ArrayDeque<ProcessRecord>(mConstants.CUR_MAX_CACHED_PROCESSES << 1);
mNumSlots = ((ProcessList.CACHED_APP_MAX_ADJ - ProcessList.CACHED_APP_MIN_ADJ + 1) >> 1)
/ ProcessList.CACHED_APP_IMPORTANCE_LEVELS;
+ IBinder b = ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE);
+ mPlatformCompat = IPlatformCompat.Stub.asInterface(b);
}
void initSettings() {
@@ -1477,13 +1484,39 @@ public final class OomAdjuster {
}
}
- if (s.isForeground && s.mAllowWhileInUsePermissionInFgs) {
+ if (s.isForeground) {
final int fgsType = s.foregroundServiceType;
- capabilityFromFGS |=
- (fgsType & FOREGROUND_SERVICE_TYPE_LOCATION)
- != 0 ? PROCESS_CAPABILITY_FOREGROUND_LOCATION : 0;
- capabilityFromFGS |= PROCESS_CAPABILITY_FOREGROUND_CAMERA
- | PROCESS_CAPABILITY_FOREGROUND_MICROPHONE;
+ if (s.mAllowWhileInUsePermissionInFgs) {
+ capabilityFromFGS |=
+ (fgsType & FOREGROUND_SERVICE_TYPE_LOCATION)
+ != 0 ? PROCESS_CAPABILITY_FOREGROUND_LOCATION : 0;
+ } else {
+ //The FGS has the location capability, but due to FGS BG start restriction it
+ //lost the capability, use temp location capability to mark this case.
+ //TODO: remove this block when development is done.
+ capabilityFromFGS |=
+ (fgsType & FOREGROUND_SERVICE_TYPE_LOCATION)
+ != 0 ? TEMP_PROCESS_CAPABILITY_FOREGROUND_LOCATION : 0;
+ }
+ if (s.mAllowWhileInUsePermissionInFgs) {
+ boolean enabled = false;
+ try {
+ enabled = mPlatformCompat.isChangeEnabled(
+ CAMERA_MICROPHONE_CAPABILITY_CHANGE_ID, s.appInfo);
+ } catch (RemoteException e) {
+ }
+ if (enabled) {
+ capabilityFromFGS |=
+ (fgsType & FOREGROUND_SERVICE_TYPE_CAMERA)
+ != 0 ? PROCESS_CAPABILITY_FOREGROUND_CAMERA : 0;
+ capabilityFromFGS |=
+ (fgsType & FOREGROUND_SERVICE_TYPE_MICROPHONE)
+ != 0 ? PROCESS_CAPABILITY_FOREGROUND_MICROPHONE : 0;
+ } else {
+ capabilityFromFGS |= PROCESS_CAPABILITY_FOREGROUND_CAMERA
+ | PROCESS_CAPABILITY_FOREGROUND_MICROPHONE;
+ }
+ }
}
ArrayMap<IBinder, ArrayList<ConnectionRecord>> serviceConnections = s.getConnections();
@@ -1656,7 +1689,13 @@ public final class OomAdjuster {
// Go at most to BOUND_TOP, unless requested to elevate
// to client's state.
clientProcState = PROCESS_STATE_BOUND_TOP;
- if (Compatibility.isChangeEnabled(PROCESS_CAPABILITY_CHANGE_ID)) {
+ boolean enabled = false;
+ try {
+ enabled = mPlatformCompat.isChangeEnabled(
+ PROCESS_CAPABILITY_CHANGE_ID, client.info);
+ } catch (RemoteException e) {
+ }
+ if (enabled) {
if (cr.hasFlag(Context.BIND_INCLUDE_CAPABILITIES)) {
// TOP process passes all capabilities to the service.
capability = PROCESS_CAPABILITY_ALL;
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 954be20122b4..71486d3686f3 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -100,7 +100,6 @@ import android.util.Pair;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
-import android.util.StatsLog;
import android.view.Display;
import com.android.internal.annotations.GuardedBy;
@@ -109,6 +108,7 @@ import com.android.internal.app.ProcessMap;
import com.android.internal.app.procstats.ProcessStats;
import com.android.internal.os.Zygote;
import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.MemInfoReader;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
@@ -739,7 +739,7 @@ public final class ProcessList {
mSystemServerSocketForZygote.getFileDescriptor(),
EVENT_INPUT, this::handleZygoteMessages);
}
- mAppExitInfoTracker.init(mService, sKillThread.getLooper());
+ mAppExitInfoTracker.init(mService);
mImperceptibleKillRunner = new ImperceptibleKillRunner(sKillThread.getLooper());
}
}
@@ -1473,7 +1473,7 @@ public final class ProcessList {
proc.baseProcessTracker.reportCachedKill(proc.pkgList.mPkgList, proc.lastCachedPss);
for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.CACHED_KILL_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.CACHED_KILL_REPORTED,
proc.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -1495,7 +1495,7 @@ public final class ProcessList {
proc.lastCachedPss);
for (int ipkg = proc.pkgList.size() - 1; ipkg >= 0; ipkg--) {
ProcessStats.ProcessStateHolder holder = proc.pkgList.valueAt(ipkg);
- StatsLog.write(StatsLog.CACHED_KILL_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.CACHED_KILL_REPORTED,
proc.info.uid,
holder.state.getName(),
holder.state.getPackage(),
@@ -1572,9 +1572,12 @@ public final class ProcessList {
if (userGid != UserHandle.ERR_GID) {
gidList.add(userGid);
}
- if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE) {
+ if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE
+ || mountExternal == Zygote.MOUNT_EXTERNAL_PASS_THROUGH) {
// For DownloadProviders and MTP: To grant access to /sdcard/Android/
- gidList.add(Process.SDCARD_RW_GID);
+ // And a special case for the FUSE daemon since it runs an MTP server and should have
+ // access to Android/
+ gidList.add(UserHandle.getUid(UserHandle.getUserId(uid), Process.SDCARD_RW_GID));
}
if (mountExternal == Zygote.MOUNT_EXTERNAL_PASS_THROUGH) {
// For the FUSE daemon: To grant access to the lower filesystem.
@@ -1842,26 +1845,9 @@ public final class ProcessList {
if (mService.mConstants.FLAG_PROCESS_START_ASYNC) {
if (DEBUG_PROCESSES) Slog.i(TAG_PROCESSES,
"Posting procStart msg for " + app.toShortString());
- mService.mProcStartHandler.post(() -> {
- try {
- final Process.ProcessStartResult startResult = startProcess(app.hostingRecord,
- entryPoint, app, app.startUid, gids, runtimeFlags, mountExternal,
- app.seInfo, requiredAbi, instructionSet, invokeWith, app.startTime);
- synchronized (mService) {
- handleProcessStartedLocked(app, startResult, startSeq);
- }
- } catch (RuntimeException e) {
- synchronized (mService) {
- Slog.e(ActivityManagerService.TAG, "Failure starting process "
- + app.processName, e);
- mPendingStarts.remove(startSeq);
- app.pendingStart = false;
- mService.forceStopPackageLocked(app.info.packageName,
- UserHandle.getAppId(app.uid),
- false, false, true, false, false, app.userId, "start failure");
- }
- }
- });
+ mService.mProcStartHandler.post(() -> handleProcessStart(
+ app, entryPoint, gids, runtimeFlags, mountExternal, requiredAbi,
+ instructionSet, invokeWith, startSeq));
return true;
} else {
try {
@@ -1882,6 +1868,66 @@ public final class ProcessList {
}
}
+ /**
+ * Main handler routine to start the given process from the ProcStartHandler.
+ *
+ * <p>Note: this function doesn't hold the global AM lock intentionally.</p>
+ */
+ private void handleProcessStart(final ProcessRecord app, final String entryPoint,
+ final int[] gids, final int runtimeFlags, final int mountExternal,
+ final String requiredAbi, final String instructionSet,
+ final String invokeWith, final long startSeq) {
+ // If there is a precede instance of the process, wait for its death with a timeout.
+ // Use local reference since we are not using locks here
+ final ProcessRecord precedence = app.mPrecedence;
+ if (precedence != null) {
+ final int pid = precedence.pid;
+ long now = System.currentTimeMillis();
+ final long end = now + PROC_KILL_TIMEOUT;
+ try {
+ Process.waitForProcessDeath(pid, PROC_KILL_TIMEOUT);
+ // It's killed successfully, but we'd make sure the cleanup work is done.
+ synchronized (precedence) {
+ if (app.mPrecedence != null) {
+ now = System.currentTimeMillis();
+ if (now < end) {
+ try {
+ precedence.wait(end - now);
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ if (app.mPrecedence != null) {
+ // The cleanup work hasn't be done yet, let's log it and continue.
+ Slog.w(TAG, precedence + " has died, but its cleanup isn't done");
+ }
+ }
+ } catch (Exception e) {
+ // It's still alive...
+ Slog.wtf(TAG, precedence.toString() + " refused to die, but we need to launch "
+ + app);
+ }
+ }
+ try {
+ final Process.ProcessStartResult startResult = startProcess(app.hostingRecord,
+ entryPoint, app, app.startUid, gids, runtimeFlags, mountExternal,
+ app.seInfo, requiredAbi, instructionSet, invokeWith, app.startTime);
+ synchronized (mService) {
+ handleProcessStartedLocked(app, startResult, startSeq);
+ }
+ } catch (RuntimeException e) {
+ synchronized (mService) {
+ Slog.e(ActivityManagerService.TAG, "Failure starting process "
+ + app.processName, e);
+ mPendingStarts.remove(startSeq);
+ app.pendingStart = false;
+ mService.forceStopPackageLocked(app.info.packageName,
+ UserHandle.getAppId(app.uid),
+ false, false, true, false, false, app.userId, "start failure");
+ }
+ }
+ }
+
@GuardedBy("mService")
public void killAppZygoteIfNeededLocked(AppZygote appZygote, boolean force) {
final ApplicationInfo appInfo = appZygote.getAppInfo();
@@ -2136,6 +2182,7 @@ public final class ProcessList {
+ " app=" + app + " knownToBeDead=" + knownToBeDead
+ " thread=" + (app != null ? app.thread : null)
+ " pid=" + (app != null ? app.pid : -1));
+ ProcessRecord precedence = null;
if (app != null && app.pid > 0) {
if ((!knownToBeDead && !app.killed) || app.thread == null) {
// We already have the app running, or are waiting for it to
@@ -2150,9 +2197,15 @@ public final class ProcessList {
// An application record is attached to a previous process,
// clean it up now.
if (DEBUG_PROCESSES) Slog.v(TAG_PROCESSES, "App died: " + app);
- // do the killing
- killProcAndWaitIfNecessaryLocked(app, true, app.uid == info.uid || app.isolated,
- "startProcess: bad proc running, killing: %s", startTime);
+ checkSlow(startTime, "startProcess: bad proc running, killing");
+ ProcessList.killProcessGroup(app.uid, app.pid);
+ checkSlow(startTime, "startProcess: done killing old proc");
+
+ Slog.wtf(TAG_PROCESSES, app.toString() + " is attached to a previous process");
+ // We are not going to re-use the ProcessRecord, as we haven't dealt with the cleanup
+ // routine of it yet, but we'd set it as the precedence of the new process.
+ precedence = app;
+ app = null;
}
if (app == null) {
@@ -2166,6 +2219,10 @@ public final class ProcessList {
app.crashHandler = crashHandler;
app.isolatedEntryPoint = entryPoint;
app.isolatedEntryPointArgs = entryPointArgs;
+ if (precedence != null) {
+ app.mPrecedence = precedence;
+ precedence.mSuccessor = app;
+ }
checkSlow(startTime, "startProcess: done creating new process record");
} else {
// If this is a new package in the process, add the package to the list
@@ -2193,44 +2250,6 @@ public final class ProcessList {
return success ? app : null;
}
- /**
- * Kill (if asked to) and wait for the given process died if necessary
- * @param app - The process record to kill
- * @param doKill - Kill the given process record
- * @param wait - Wait for the death of the given process
- * @param formatString - The log message for slow operation
- * @param startTime - The start timestamp of the operation
- */
- @GuardedBy("mService")
- void killProcAndWaitIfNecessaryLocked(final ProcessRecord app, final boolean doKill,
- final boolean wait, final String formatString, final long startTime) {
-
- checkSlow(startTime, String.format(formatString, "before appDied"));
-
- if (doKill) {
- // do the killing
- ProcessList.killProcessGroup(app.uid, app.pid);
- noteAppKill(app, ApplicationExitInfo.REASON_OTHER,
- ApplicationExitInfo.SUBREASON_UNKNOWN,
- String.format(formatString, ""));
- }
-
- // wait for the death
- if (wait) {
- try {
- Process.waitForProcessDeath(app.pid, PROC_KILL_TIMEOUT);
- } catch (Exception e) {
- // Maybe the process goes into zombie, use an expensive API to check again.
- if (mService.isProcessAliveLocked(app)) {
- Slog.w(TAG, String.format(formatString,
- "waiting for app killing timed out"));
- }
- }
- }
-
- checkSlow(startTime, String.format(formatString, "after appDied"));
- }
-
@GuardedBy("mService")
private String isProcStartValidLocked(ProcessRecord app, long expectedStartSeq) {
StringBuilder sb = null;
@@ -2640,8 +2659,8 @@ public final class ProcessList {
// about the process state of the isolated UID *before* it is registered with the
// owning application.
mService.mBatteryStatsService.addIsolatedUid(uid, info.uid);
- StatsLog.write(StatsLog.ISOLATED_UID_CHANGED, info.uid, uid,
- StatsLog.ISOLATED_UID_CHANGED__EVENT__CREATED);
+ FrameworkStatsLog.write(FrameworkStatsLog.ISOLATED_UID_CHANGED, info.uid, uid,
+ FrameworkStatsLog.ISOLATED_UID_CHANGED__EVENT__CREATED);
}
final ProcessRecord r = new ProcessRecord(mService, info, proc, uid);
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index 1e2dd2deb568..2b4d15eda9f0 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -56,7 +56,6 @@ import android.util.DebugUtils;
import android.util.EventLog;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
@@ -66,6 +65,7 @@ import com.android.internal.app.procstats.ProcessStats;
import com.android.internal.os.BatteryStatsImpl;
import com.android.internal.os.ProcessCpuTracker;
import com.android.internal.os.Zygote;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.wm.WindowProcessController;
import com.android.server.wm.WindowProcessListener;
@@ -320,6 +320,14 @@ class ProcessRecord implements WindowProcessListener {
// set of disabled compat changes for the process (all others are enabled)
long[] mDisabledCompatChanges;
+ // The precede instance of the process, which would exist when the previous process is killed
+ // but not fully dead yet; in this case, the new instance of the process should be held until
+ // this precede instance is fully dead.
+ volatile ProcessRecord mPrecedence;
+ // The succeeding instance of the process, which is going to be started after this process
+ // is killed successfully.
+ volatile ProcessRecord mSuccessor;
+
// Cached task info for OomAdjuster
private static final int VALUE_INVALID = -1;
private static final int VALUE_FALSE = 0;
@@ -607,13 +615,20 @@ class ProcessRecord implements WindowProcessListener {
int _uid) {
mService = _service;
info = _info;
+ ProcessInfo procInfo = null;
if (_service.mPackageManagerInt != null) {
ArrayMap<String, ProcessInfo> processes =
_service.mPackageManagerInt.getProcessesForUid(_uid);
- processInfo = processes != null ? processes.get(_processName) : null;
- } else {
- processInfo = null;
+ if (processes != null) {
+ procInfo = processes.get(_processName);
+ if (procInfo != null && procInfo.deniedPermissions == null) {
+ // If this process hasn't asked for permissions to be denied, then
+ // we don't care about it.
+ procInfo = null;
+ }
+ }
}
+ processInfo = procInfo;
isolated = _info.uid != _uid;
appZygote = (UserHandle.getAppId(_uid) >= Process.FIRST_APP_ZYGOTE_ISOLATED_UID
&& UserHandle.getAppId(_uid) <= Process.LAST_APP_ZYGOTE_ISOLATED_UID);
@@ -646,7 +661,7 @@ class ProcessRecord implements WindowProcessListener {
origBase.setState(ProcessStats.STATE_NOTHING,
tracker.getMemFactorLocked(), SystemClock.uptimeMillis(), pkgList.mPkgList);
for (int ipkg = pkgList.size() - 1; ipkg >= 0; ipkg--) {
- StatsLog.write(StatsLog.PROCESS_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_STATE_CHANGED,
uid, processName, pkgList.keyAt(ipkg),
ActivityManager.processStateAmToProto(ProcessStats.STATE_NOTHING),
pkgList.valueAt(ipkg).appVersion);
@@ -681,7 +696,7 @@ class ProcessRecord implements WindowProcessListener {
origBase.setState(ProcessStats.STATE_NOTHING,
tracker.getMemFactorLocked(), SystemClock.uptimeMillis(), pkgList.mPkgList);
for (int ipkg = pkgList.size() - 1; ipkg >= 0; ipkg--) {
- StatsLog.write(StatsLog.PROCESS_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_STATE_CHANGED,
uid, processName, pkgList.keyAt(ipkg),
ActivityManager.processStateAmToProto(ProcessStats.STATE_NOTHING),
pkgList.valueAt(ipkg).appVersion);
@@ -971,7 +986,7 @@ class ProcessRecord implements WindowProcessListener {
setCurProcState(newState);
setCurRawProcState(newState);
for (int ipkg = pkgList.size() - 1; ipkg >= 0; ipkg--) {
- StatsLog.write(StatsLog.PROCESS_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_STATE_CHANGED,
uid, processName, pkgList.keyAt(ipkg),
ActivityManager.processStateAmToProto(mRepProcState),
pkgList.valueAt(ipkg).appVersion);
@@ -989,7 +1004,7 @@ class ProcessRecord implements WindowProcessListener {
baseProcessTracker.setState(ProcessStats.STATE_NOTHING,
tracker.getMemFactorLocked(), now, pkgList.mPkgList);
for (int ipkg = pkgList.size() - 1; ipkg >= 0; ipkg--) {
- StatsLog.write(StatsLog.PROCESS_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_STATE_CHANGED,
uid, processName, pkgList.keyAt(ipkg),
ActivityManager.processStateAmToProto(ProcessStats.STATE_NOTHING),
pkgList.valueAt(ipkg).appVersion);
@@ -1075,7 +1090,7 @@ class ProcessRecord implements WindowProcessListener {
void setReportedProcState(int repProcState) {
mRepProcState = repProcState;
for (int ipkg = pkgList.size() - 1; ipkg >= 0; ipkg--) {
- StatsLog.write(StatsLog.PROCESS_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PROCESS_STATE_CHANGED,
uid, processName, pkgList.keyAt(ipkg),
ActivityManager.processStateAmToProto(mRepProcState),
pkgList.valueAt(ipkg).appVersion);
@@ -1606,16 +1621,16 @@ class ProcessRecord implements WindowProcessListener {
Process.sendSignal(pid, Process.SIGNAL_QUIT);
}
- StatsLog.write(StatsLog.ANR_OCCURRED, uid, processName,
+ FrameworkStatsLog.write(FrameworkStatsLog.ANR_OCCURRED, uid, processName,
activityShortComponentName == null ? "unknown": activityShortComponentName,
annotation,
(this.info != null) ? (this.info.isInstantApp()
- ? StatsLog.ANROCCURRED__IS_INSTANT_APP__TRUE
- : StatsLog.ANROCCURRED__IS_INSTANT_APP__FALSE)
- : StatsLog.ANROCCURRED__IS_INSTANT_APP__UNAVAILABLE,
+ ? FrameworkStatsLog.ANROCCURRED__IS_INSTANT_APP__TRUE
+ : FrameworkStatsLog.ANROCCURRED__IS_INSTANT_APP__FALSE)
+ : FrameworkStatsLog.ANROCCURRED__IS_INSTANT_APP__UNAVAILABLE,
isInterestingToUserLocked()
- ? StatsLog.ANROCCURRED__FOREGROUND_STATE__FOREGROUND
- : StatsLog.ANROCCURRED__FOREGROUND_STATE__BACKGROUND,
+ ? FrameworkStatsLog.ANROCCURRED__FOREGROUND_STATE__FOREGROUND
+ : FrameworkStatsLog.ANROCCURRED__FOREGROUND_STATE__BACKGROUND,
getProcessClassEnum(),
(this.info != null) ? this.info.packageName : "");
final ProcessRecord parentPr = parentProcess != null
diff --git a/services/core/java/com/android/server/am/TEST_MAPPING b/services/core/java/com/android/server/am/TEST_MAPPING
index bc4707f04724..4061df4f3f62 100644
--- a/services/core/java/com/android/server/am/TEST_MAPPING
+++ b/services/core/java/com/android/server/am/TEST_MAPPING
@@ -54,6 +54,14 @@
"include-filter": "com.android.server.am."
}
]
+ },
+ {
+ "name": "CtsAppSecurityHostTestCases",
+ "options": [
+ {
+ "include-filter": "android.appsecurity.cts.AppDataIsolationTests"
+ }
+ ]
}
]
}
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index c5d6bba27234..c75ee04543e3 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -130,6 +130,10 @@ class UserController implements Handler.Callback {
// giving up on them and unfreezing the screen.
static final int USER_SWITCH_TIMEOUT_MS = 3 * 1000;
+ // Amount of time we wait for observers to handle a user switch before we log a warning.
+ // Must be smaller than USER_SWITCH_TIMEOUT_MS.
+ private static final int USER_SWITCH_WARNING_TIMEOUT_MS = 500;
+
// ActivityManager thread message constants
static final int REPORT_USER_SWITCH_MSG = 10;
static final int CONTINUE_USER_SWITCH_MSG = 20;
@@ -1615,9 +1619,13 @@ class UserController implements Handler.Callback {
synchronized (mLock) {
long delay = SystemClock.elapsedRealtime() - dispatchStartedTime;
if (delay > USER_SWITCH_TIMEOUT_MS) {
- Slog.e(TAG, "User switch timeout: observer " + name
+ Slog.e(TAG, "User switch timeout: observer " + name
+ " sent result after " + delay + " ms");
+ } else if (delay > USER_SWITCH_WARNING_TIMEOUT_MS) {
+ Slog.w(TAG, "User switch slowed down by observer " + name
+ + ": result sent after " + delay + " ms");
}
+
curWaitingUserSwitchCallbacks.remove(name);
// Continue switching if all callbacks have been notified and
// user switching session is still valid
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index 62596de7b9a6..ee2d7fcd5d62 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -88,7 +88,6 @@ import android.hardware.camera2.CameraDevice.CAMERA_AUDIO_RESTRICTION;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Binder;
-import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
@@ -213,6 +212,9 @@ public class AppOpsService extends IAppOpsService.Stub {
private static final int MAX_UNFORWARED_OPS = 10;
private static final int MAX_UNUSED_POOLED_OBJECTS = 3;
+ //TODO: remove this when development is done.
+ private static final int TEMP_PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1 << 31;
+
Context mContext;
final AtomicFile mFile;
final Handler mHandler;
@@ -480,8 +482,15 @@ public class AppOpsService extends IAppOpsService.Stub {
case AppOpsManager.OP_MONITOR_HIGH_POWER_LOCATION:
if ((capability & PROCESS_CAPABILITY_FOREGROUND_LOCATION) != 0) {
return AppOpsManager.MODE_ALLOWED;
- } else {
+ } else if ((capability
+ & TEMP_PROCESS_CAPABILITY_FOREGROUND_LOCATION) != 0) {
+ // The FGS has the location capability, but due to FGS BG start
+ // restriction it lost the capability, use temp location capability
+ // to mark this case.
+ // TODO change to MODE_IGNORED when enforcing the feature.
maybeShowWhileInUseDebugToast(op, mode);
+ return AppOpsManager.MODE_ALLOWED;
+ } else {
return AppOpsManager.MODE_IGNORED;
}
case OP_CAMERA:
@@ -586,7 +595,7 @@ public class AppOpsService extends IAppOpsService.Stub {
return;
}
final long now = System.currentTimeMillis();
- if (lastTimeShowDebugToast == 0 || now - lastTimeShowDebugToast > 600000) {
+ if (lastTimeShowDebugToast == 0 || now - lastTimeShowDebugToast > 3600000) {
lastTimeShowDebugToast = now;
mHandler.sendMessage(PooledLambda.obtainMessage(
ActivityManagerInternal::showWhileInUseDebugToast,
@@ -837,7 +846,12 @@ public class AppOpsService extends IAppOpsService.Stub {
*/
public void started(@NonNull IBinder clientId, @AppOpsManager.UidState int uidState)
throws RemoteException {
- if (!parent.isRunning()) {
+ started(clientId, uidState, true);
+ }
+
+ private void started(@NonNull IBinder clientId, @AppOpsManager.UidState int uidState,
+ boolean triggerCallbackIfNeeded) throws RemoteException {
+ if (triggerCallbackIfNeeded && !parent.isRunning()) {
scheduleOpActiveChangedIfNeededLocked(parent.op, parent.uid,
parent.packageName, true);
}
@@ -956,8 +970,16 @@ public class AppOpsService extends IAppOpsService.Stub {
if (event.getUidState() != newState) {
try {
+ // Remove all but one unfinished start count and then call finished() to
+ // remove start event object
+ int numPreviousUnfinishedStarts = event.numUnfinishedStarts;
+ event.numUnfinishedStarts = 1;
finished(event.getClientId(), false);
- started(event.getClientId(), newState);
+
+ // Call started() to add a new start event object and then add the
+ // previously removed unfinished start counts back
+ started(event.getClientId(), newState, false);
+ event.numUnfinishedStarts += numPreviousUnfinishedStarts - 1;
} catch (RemoteException e) {
if (DEBUG) Slog.e(TAG, "Cannot switch to new uidState " + newState);
}
@@ -1939,6 +1961,11 @@ public class AppOpsService extends IAppOpsService.Stub {
@Override
public void setUidMode(int code, int uid, int mode) {
+ setUidMode(code, uid, mode, null);
+ }
+
+ private void setUidMode(int code, int uid, int mode,
+ @Nullable IAppOpsCallback callbackToIgnore) {
if (DEBUG) {
Slog.i(TAG, "uid " + uid + " OP_" + opToName(code) + " := " + modeToName(mode)
+ " by uid " + Binder.getCallingUid());
@@ -2022,6 +2049,10 @@ public class AppOpsService extends IAppOpsService.Stub {
}
}
}
+
+ if (callbackSpecs != null && callbackToIgnore != null) {
+ callbackSpecs.remove(mModeWatchers.get(callbackToIgnore.asBinder()));
+ }
}
if (callbackSpecs == null) {
@@ -2052,12 +2083,6 @@ public class AppOpsService extends IAppOpsService.Stub {
}
private void updatePermissionRevokedCompat(int uid, int switchCode, int mode) {
- PackageManagerInternal packageManagerInternal = LocalServices.getService(
- PackageManagerInternal.class);
- if (packageManagerInternal.getUidTargetSdkVersion(uid) >= Build.VERSION_CODES.M) {
- return;
- }
-
PackageManager packageManager = mContext.getPackageManager();
String[] packageNames = packageManager.getPackagesForUid(uid);
if (ArrayUtils.isEmpty(packageNames)) {
@@ -2075,6 +2100,11 @@ public class AppOpsService extends IAppOpsService.Stub {
continue;
}
+ if (packageManager.checkPermission(permissionName, packageName)
+ != PackageManager.PERMISSION_GRANTED) {
+ continue;
+ }
+
PermissionInfo permissionInfo;
try {
permissionInfo = packageManager.getPermissionInfo(permissionName, 0);
@@ -2155,6 +2185,11 @@ public class AppOpsService extends IAppOpsService.Stub {
*/
@Override
public void setMode(int code, int uid, @NonNull String packageName, int mode) {
+ setMode(code, uid, packageName, mode, null);
+ }
+
+ private void setMode(int code, int uid, @NonNull String packageName, int mode,
+ @Nullable IAppOpsCallback callbackToIgnore) {
enforceManageAppOpsModes(Binder.getCallingPid(), Binder.getCallingUid(), uid);
verifyIncomingOp(code);
ArraySet<ModeCallback> repCbs = null;
@@ -2198,6 +2233,9 @@ public class AppOpsService extends IAppOpsService.Stub {
}
repCbs.addAll(cbs);
}
+ if (repCbs != null && callbackToIgnore != null) {
+ repCbs.remove(mModeWatchers.get(callbackToIgnore.asBinder()));
+ }
if (mode == AppOpsManager.opToDefaultMode(op.op)) {
// If going into the default mode, prune this op
// if there is nothing else interesting in it.
@@ -4315,7 +4353,7 @@ public class AppOpsService extends IAppOpsService.Stub {
} else if (shell.targetsUid && shell.packageName != null) {
try {
final int uid = shell.mInternal.mContext.getPackageManager()
- .getPackageUid(shell.packageName, shell.userId);
+ .getPackageUidAsUser(shell.packageName, shell.userId);
shell.mInterface.setUidMode(shell.op, uid, mode);
} catch (PackageManager.NameNotFoundException e) {
return -1;
@@ -5584,5 +5622,17 @@ public class AppOpsService extends IAppOpsService.Stub {
boolean visible) {
AppOpsService.this.updateAppWidgetVisibility(uidPackageNames, visible);
}
+
+ @Override
+ public void setUidModeIgnoringCallback(int code, int uid, int mode,
+ @Nullable IAppOpsCallback callbackToIgnore) {
+ setUidMode(code, uid, mode, callbackToIgnore);
+ }
+
+ @Override
+ public void setModeIgnoringCallback(int code, int uid, @NonNull String packageName,
+ int mode, @Nullable IAppOpsCallback callbackToIgnore) {
+ setMode(code, uid, packageName, mode, callbackToIgnore);
+ }
}
}
diff --git a/services/core/java/com/android/server/attention/AttentionManagerService.java b/services/core/java/com/android/server/attention/AttentionManagerService.java
index 5ac5b29b1475..0440de674e9e 100644
--- a/services/core/java/com/android/server/attention/AttentionManagerService.java
+++ b/services/core/java/com/android/server/attention/AttentionManagerService.java
@@ -56,13 +56,12 @@ import android.service.attention.IAttentionService;
import android.text.TextUtils;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
-import com.android.internal.util.Preconditions;
import com.android.server.SystemService;
import java.io.FileDescriptor;
@@ -274,8 +273,8 @@ public class AttentionManagerService extends SystemService {
userState.mAttentionCheckCacheBuffer.add(
new AttentionCheckCache(SystemClock.uptimeMillis(), result, timestamp));
}
- StatsLog.write(
- StatsLog.ATTENTION_MANAGER_SERVICE_RESULT_REPORTED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.ATTENTION_MANAGER_SERVICE_RESULT_REPORTED,
result);
}
@@ -287,8 +286,8 @@ public class AttentionManagerService extends SystemService {
userState.mCurrentAttentionCheck.mIsFulfilled = true;
}
- StatsLog.write(
- StatsLog.ATTENTION_MANAGER_SERVICE_RESULT_REPORTED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.ATTENTION_MANAGER_SERVICE_RESULT_REPORTED,
error);
}
};
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 8f6bd212da19..b2548af0f576 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -1068,6 +1068,27 @@ public class AudioService extends IAudioService.Stub
}
}
+ // Restore capture policies
+ synchronized (mPlaybackMonitor) {
+ HashMap<Integer, Integer> allowedCapturePolicies =
+ mPlaybackMonitor.getAllAllowedCapturePolicies();
+ for (HashMap.Entry<Integer, Integer> entry : allowedCapturePolicies.entrySet()) {
+ int result = AudioSystem.setAllowedCapturePolicy(
+ entry.getKey(),
+ AudioAttributes.capturePolicyToFlags(entry.getValue(), 0x0));
+ if (result != AudioSystem.AUDIO_STATUS_OK) {
+ Log.e(TAG, "Failed to restore capture policy, uid: "
+ + entry.getKey() + ", capture policy: " + entry.getValue()
+ + ", result: " + result);
+ // When restoring capture policy failed, set the capture policy as
+ // ALLOW_CAPTURE_BY_ALL, which will result in removing the cached
+ // capture policy in PlaybackActivityMonitor.
+ mPlaybackMonitor.setAllowedCapturePolicy(
+ entry.getKey(), AudioAttributes.ALLOW_CAPTURE_BY_ALL);
+ }
+ }
+ }
+
onIndicateSystemReady();
// indicate the end of reconfiguration phase to audio HAL
AudioSystem.setParameters("restarting=false");
@@ -7298,6 +7319,43 @@ public class AudioService extends IAudioService.Stub
mPlaybackMonitor.releasePlayer(piid, Binder.getCallingUid());
}
+ /**
+ * Specifies whether the audio played by this app may or may not be captured by other apps or
+ * the system.
+ *
+ * @param capturePolicy one of
+ * {@link AudioAttributes#ALLOW_CAPTURE_BY_ALL},
+ * {@link AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM},
+ * {@link AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
+ * @return AudioSystem.AUDIO_STATUS_OK if set allowed capture policy succeed.
+ * @throws IllegalArgumentException if the argument is not a valid value.
+ */
+ public int setAllowedCapturePolicy(int capturePolicy) {
+ int callingUid = Binder.getCallingUid();
+ int flags = AudioAttributes.capturePolicyToFlags(capturePolicy, 0x0);
+ final long identity = Binder.clearCallingIdentity();
+ synchronized (mPlaybackMonitor) {
+ int result = AudioSystem.setAllowedCapturePolicy(callingUid, flags);
+ if (result == AudioSystem.AUDIO_STATUS_OK) {
+ mPlaybackMonitor.setAllowedCapturePolicy(callingUid, capturePolicy);
+ }
+ Binder.restoreCallingIdentity(identity);
+ return result;
+ }
+ }
+
+ /**
+ * Return the capture policy.
+ * @return the cached capture policy for the calling uid.
+ */
+ public int getAllowedCapturePolicy() {
+ int callingUid = Binder.getCallingUid();
+ final long identity = Binder.clearCallingIdentity();
+ int capturePolicy = mPlaybackMonitor.getAllowedCapturePolicy(callingUid);
+ Binder.restoreCallingIdentity(identity);
+ return capturePolicy;
+ }
+
//======================
// Audio device management
//======================
diff --git a/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java b/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java
index f8ba55bcd092..98f409ea98e7 100644
--- a/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java
+++ b/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java
@@ -160,6 +160,12 @@ public final class PlaybackActivityMonitor
new AudioPlaybackConfiguration(pic, newPiid,
Binder.getCallingUid(), Binder.getCallingPid());
apc.init();
+ synchronized (mAllowedCapturePolicies) {
+ int uid = apc.getClientUid();
+ if (mAllowedCapturePolicies.containsKey(uid)) {
+ updateAllowedCapturePolicy(apc, mAllowedCapturePolicies.get(uid));
+ }
+ }
sEventLogger.log(new NewPlayerEvent(apc));
synchronized(mPlayerLock) {
mPlayers.put(newPiid, apc);
@@ -169,6 +175,13 @@ public final class PlaybackActivityMonitor
public void playerAttributes(int piid, @NonNull AudioAttributes attr, int binderUid) {
final boolean change;
+ synchronized (mAllowedCapturePolicies) {
+ if (mAllowedCapturePolicies.containsKey(binderUid)
+ && attr.getAllowedCapturePolicy() < mAllowedCapturePolicies.get(binderUid)) {
+ attr = new AudioAttributes.Builder(attr)
+ .setAllowedCapturePolicy(mAllowedCapturePolicies.get(binderUid)).build();
+ }
+ }
synchronized(mPlayerLock) {
final AudioPlaybackConfiguration apc = mPlayers.get(new Integer(piid));
if (checkConfigurationCaller(piid, apc, binderUid)) {
@@ -284,6 +297,69 @@ public final class PlaybackActivityMonitor
}
}
+ /**
+ * A map of uid to capture policy.
+ */
+ private final HashMap<Integer, Integer> mAllowedCapturePolicies =
+ new HashMap<Integer, Integer>();
+
+ /**
+ * Cache allowed capture policy, which specifies whether the audio played by the app may or may
+ * not be captured by other apps or the system.
+ *
+ * @param uid the uid of requested app
+ * @param capturePolicy one of
+ * {@link AudioAttributes#ALLOW_CAPTURE_BY_ALL},
+ * {@link AudioAttributes#ALLOW_CAPTURE_BY_SYSTEM},
+ * {@link AudioAttributes#ALLOW_CAPTURE_BY_NONE}.
+ */
+ public void setAllowedCapturePolicy(int uid, int capturePolicy) {
+ synchronized (mAllowedCapturePolicies) {
+ if (capturePolicy == AudioAttributes.ALLOW_CAPTURE_BY_ALL) {
+ // When the capture policy is ALLOW_CAPTURE_BY_ALL, it is okay to
+ // remove it from cached capture policy as it is the default value.
+ mAllowedCapturePolicies.remove(uid);
+ return;
+ } else {
+ mAllowedCapturePolicies.put(uid, capturePolicy);
+ }
+ }
+ synchronized (mPlayerLock) {
+ for (AudioPlaybackConfiguration apc : mPlayers.values()) {
+ if (apc.getClientUid() == uid) {
+ updateAllowedCapturePolicy(apc, capturePolicy);
+ }
+ }
+ }
+ }
+
+ /**
+ * Return the capture policy for given uid.
+ * @param uid the uid to query its cached capture policy.
+ * @return cached capture policy for given uid or AudioAttributes.ALLOW_CAPTURE_BY_ALL
+ * if there is not cached capture policy.
+ */
+ public int getAllowedCapturePolicy(int uid) {
+ return mAllowedCapturePolicies.getOrDefault(uid, AudioAttributes.ALLOW_CAPTURE_BY_ALL);
+ }
+
+ /**
+ * Return all cached capture policies.
+ */
+ public HashMap<Integer, Integer> getAllAllowedCapturePolicies() {
+ return mAllowedCapturePolicies;
+ }
+
+ private void updateAllowedCapturePolicy(AudioPlaybackConfiguration apc, int capturePolicy) {
+ AudioAttributes attr = apc.getAudioAttributes();
+ if (attr.getAllowedCapturePolicy() >= capturePolicy) {
+ return;
+ }
+ apc.handleAudioAttributesEvent(
+ new AudioAttributes.Builder(apc.getAudioAttributes())
+ .setAllowedCapturePolicy(capturePolicy).build());
+ }
+
// Implementation of AudioPlaybackConfiguration.PlayerDeathMonitor
@Override
public void playerDeath(int piid) {
@@ -331,6 +407,12 @@ public final class PlaybackActivityMonitor
// log
sEventLogger.dump(pw);
}
+ synchronized (mAllowedCapturePolicies) {
+ pw.println("\n allowed capture policies:");
+ for (HashMap.Entry<Integer, Integer> entry : mAllowedCapturePolicies.entrySet()) {
+ pw.println(" uid: " + entry.getKey() + " policy: " + entry.getValue());
+ }
+ }
}
/**
diff --git a/services/core/java/com/android/server/audio/RotationHelper.java b/services/core/java/com/android/server/audio/RotationHelper.java
index ad20ed895805..ad7216600e61 100644
--- a/services/core/java/com/android/server/audio/RotationHelper.java
+++ b/services/core/java/com/android/server/audio/RotationHelper.java
@@ -80,6 +80,7 @@ class RotationHelper {
static void updateOrientation() {
// Even though we're responding to device orientation events,
// use display rotation so audio stays in sync with video/dialogs
+ // TODO(b/148458001): Support multi-display
int newRotation = ((WindowManager) sContext.getSystemService(
Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
synchronized(sRotationLock) {
diff --git a/services/core/java/com/android/server/backup/SystemBackupAgent.java b/services/core/java/com/android/server/backup/SystemBackupAgent.java
index 1f4563b801fe..0a30b763b8f4 100644
--- a/services/core/java/com/android/server/backup/SystemBackupAgent.java
+++ b/services/core/java/com/android/server/backup/SystemBackupAgent.java
@@ -113,6 +113,7 @@ public class SystemBackupAgent extends BackupAgentHelper {
throws IOException {
// Slot in a restore helper for the older wallpaper backup schema to support restore
// from devices still generating data in that format.
+ //TODO(b/147732386): Add multi-display support for wallpaper backup.
addHelper(WALLPAPER_HELPER, new WallpaperBackupHelper(this,
new String[] { WALLPAPER_IMAGE_KEY}));
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java
index 8dd3242c947a..07fc9b7a7e5f 100644
--- a/services/core/java/com/android/server/biometrics/BiometricService.java
+++ b/services/core/java/com/android/server/biometrics/BiometricService.java
@@ -60,12 +60,12 @@ import android.security.KeyStore;
import android.text.TextUtils;
import android.util.Pair;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.os.SomeArgs;
import com.android.internal.statusbar.IStatusBarService;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.SystemService;
import java.util.ArrayList;
@@ -707,7 +707,6 @@ public class BiometricService extends SystemService {
checkPermission();
}
-
if (!Utils.isValidAuthenticatorConfig(authenticators)) {
throw new SecurityException("Invalid authenticator configuration");
}
@@ -720,19 +719,6 @@ public class BiometricService extends SystemService {
try {
biometricConstantsResult = checkAndGetAuthenticators(userId, bundle, opPackageName,
false /* checkDevicePolicyManager */).second;
- if (biometricConstantsResult != BiometricConstants.BIOMETRIC_SUCCESS
- && Utils.isDeviceCredentialAllowed(bundle)) {
- // If there's an issue with biometrics, but device credential is allowed and
- // set up, return SUCCESS. If device credential isn't set up either, return
- // ERROR_NO_DEVICE_CREDENTIAL.
- if (mTrustManager.isDeviceSecure(userId)) {
- biometricConstantsResult = BiometricConstants.BIOMETRIC_SUCCESS;
- } else {
- biometricConstantsResult =
- BiometricConstants.BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL;
- }
- }
-
} catch (RemoteException e) {
Slog.e(TAG, "Remote exception", e);
} finally {
@@ -1022,9 +1008,8 @@ public class BiometricService extends SystemService {
}
/**
- * Checks if there are any available biometrics, and returns the modality. This method also
- * returns errors through the callback (no biometric feature, hardware not detected, no
- * templates enrolled, etc). This service must not start authentication if errors are sent.
+ * Depending on the requested authentication (credential/biometric combination), checks their
+ * availability.
*
* @param userId the user to check for
* @param bundle passed from {@link BiometricPrompt}
@@ -1037,24 +1022,27 @@ public class BiometricService extends SystemService {
* {@link BiometricAuthenticator#TYPE_FACE}
* and the error containing one of the {@link BiometricConstants} errors.
*
- * TODO(kchyn): Update this to handle DEVICE_CREDENTIAL better, reduce duplicate code in callers
+ * TODO(kchyn) should return Pair<Integer, Integer> with `first` being an actual bitfield
+ * taking BiometricAuthenticator#TYPE_CREDENTIAL as well.
+ *
*/
private Pair<Integer, Integer> checkAndGetAuthenticators(int userId, Bundle bundle,
String opPackageName, boolean checkDevicePolicyManager) throws RemoteException {
- if (!Utils.isBiometricAllowed(bundle)
- && Utils.isDeviceCredentialAllowed(bundle)
- && !mTrustManager.isDeviceSecure(userId)) {
- // If only device credential is being checked, and the user doesn't have one set up
- return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL);
- }
- // Assuming that authenticators are listed in priority-order, the rest of this function
- // will attempt to find the first authenticator that's as strong or stronger than the
- // requested strength, available, enrolled, and enabled. The tricky part is returning the
- // correct error. Error strings that are modality-specific should also respect the
+ final boolean biometricRequested = Utils.isBiometricAllowed(bundle);
+ final boolean credentialRequested = Utils.isDeviceCredentialAllowed(bundle);
+
+ final boolean biometricOk;
+ final boolean credentialOk = mTrustManager.isDeviceSecure(userId);
+
+ // Assuming that biometric authenticators are listed in priority-order, the rest of this
+ // function will attempt to find the first authenticator that's as strong or stronger than
+ // the requested strength, available, enrolled, and enabled. The tricky part is returning
+ // the correct error. Error strings that are modality-specific should also respect the
// priority-order.
- // Find first authenticator that's strong enough, detected, enrolled, and enabled.
+ // Find first biometric authenticator that's strong enough, detected, enrolled, and enabled.
+ boolean disabledByDevicePolicy = false;
boolean hasSufficientStrength = false;
boolean isHardwareDetected = false;
boolean hasTemplatesEnrolled = false;
@@ -1065,52 +1053,96 @@ public class BiometricService extends SystemService {
for (AuthenticatorWrapper authenticator : mAuthenticators) {
final int actualStrength = authenticator.getActualStrength();
final int requestedStrength = Utils.getPublicBiometricStrength(bundle);
- if (Utils.isAtLeastStrength(actualStrength, requestedStrength)) {
- hasSufficientStrength = true;
- modality = authenticator.modality;
- if (authenticator.impl.isHardwareDetected(opPackageName)) {
- isHardwareDetected = true;
- if (firstHwAvailable == TYPE_NONE) {
- // Store the first one since we want to return the error in correct
- // priority order.
- firstHwAvailable = modality;
- }
- if (authenticator.impl.hasEnrolledTemplates(userId, opPackageName)) {
- hasTemplatesEnrolled = true;
- // If the device policy manager disables a specific biometric, skip it.
- if (checkDevicePolicyManager &&
- isBiometricDisabledByDevicePolicy(modality, userId)) {
- continue;
- }
- if (isEnabledForApp(modality, userId)) {
- enabledForApps = true;
- break;
- }
- }
- }
+
+ if (isBiometricDisabledByDevicePolicy(authenticator.modality, userId)) {
+ disabledByDevicePolicy = true;
+ continue;
+ }
+ disabledByDevicePolicy = false;
+
+ if (!Utils.isAtLeastStrength(actualStrength, requestedStrength)) {
+ continue;
+ }
+ hasSufficientStrength = true;
+
+ if (!authenticator.impl.isHardwareDetected(opPackageName)) {
+ continue;
+ }
+ isHardwareDetected = true;
+
+ if (firstHwAvailable == TYPE_NONE) {
+ // Store the first one since we want to return the error in correct
+ // priority order.
+ firstHwAvailable = authenticator.modality;
+ }
+
+ if (!authenticator.impl.hasEnrolledTemplates(userId, opPackageName)) {
+ continue;
}
+ hasTemplatesEnrolled = true;
+
+ if (!isEnabledForApp(authenticator.modality, userId)) {
+ continue;
+ }
+ enabledForApps = true;
+ modality = authenticator.modality;
+ break;
}
+ biometricOk = !disabledByDevicePolicy
+ && hasSufficientStrength && isHardwareDetected
+ && hasTemplatesEnrolled && enabledForApps;
+
Slog.d(TAG, "checkAndGetAuthenticators: user=" + userId
+ " checkDevicePolicyManager=" + checkDevicePolicyManager
+ " isHardwareDetected=" + isHardwareDetected
+ " hasTemplatesEnrolled=" + hasTemplatesEnrolled
- + " enabledForApps=" + enabledForApps);
-
- // Check error conditions
- if (!hasSufficientStrength) {
- return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_NOT_PRESENT);
- } else if (!isHardwareDetected) {
- return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE);
- } else if (!hasTemplatesEnrolled) {
- // Return the modality here so the correct error string can be sent. This error is
- // preferred over !enabledForApps
- return new Pair<>(firstHwAvailable, BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS);
- } else if (!enabledForApps) {
+ + " enabledForApps=" + enabledForApps
+ + " disabledByDevicePolicy=" + disabledByDevicePolicy);
+
+ if (biometricRequested && credentialRequested) {
+ if (credentialOk || biometricOk) {
+ if (!biometricOk) {
+ // If there's a problem with biometrics but device credential is
+ // allowed, only show credential UI.
+ bundle.putInt(BiometricPrompt.KEY_AUTHENTICATORS_ALLOWED,
+ Authenticators.DEVICE_CREDENTIAL);
+ }
+ return new Pair<>(modality, BiometricConstants.BIOMETRIC_SUCCESS);
+ } else {
+ return new Pair<>(firstHwAvailable,
+ BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS);
+ }
+ } else if (biometricRequested) {
+ if (biometricOk) {
+ return new Pair<>(modality, BiometricConstants.BIOMETRIC_SUCCESS);
+ } else if (disabledByDevicePolicy) {
+ return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+ } else if (!hasSufficientStrength) {
+ return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_NOT_PRESENT);
+ } else if (!isHardwareDetected) {
+ return new Pair<>(firstHwAvailable,
+ BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+ } else if (!hasTemplatesEnrolled) {
+ return new Pair<>(firstHwAvailable,
+ BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS);
+ } else if (!enabledForApps) {
+ return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+ } else {
+ Slog.e(TAG, "Unexpected case");
+ return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+ }
+ } else if (credentialRequested) {
+ if (credentialOk) {
+ return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_SUCCESS);
+ } else {
+ return new Pair<>(TYPE_NONE,
+ BiometricConstants.BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL);
+ }
+ } else {
+ Slog.e(TAG, "No authenticators requested");
return new Pair<>(TYPE_NONE, BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE);
}
-
- return new Pair<>(modality, BiometricConstants.BIOMETRIC_SUCCESS);
}
private boolean isEnabledForApp(int modality, int userId) {
@@ -1142,17 +1174,17 @@ public class BiometricService extends SystemService {
+ ", Client: " + BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT
+ ", RequireConfirmation: "
+ mCurrentAuthSession.mRequireConfirmation
- + ", State: " + StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED
+ + ", State: " + FrameworkStatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED
+ ", Latency: " + latency);
}
- StatsLog.write(StatsLog.BIOMETRIC_AUTHENTICATED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_AUTHENTICATED,
statsModality(),
mCurrentAuthSession.mUserId,
mCurrentAuthSession.isCrypto(),
BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT,
mCurrentAuthSession.mRequireConfirmation,
- StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED,
+ FrameworkStatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED,
latency,
mInjector.isDebugEnabled(getContext(), mCurrentAuthSession.mUserId));
} else {
@@ -1174,7 +1206,7 @@ public class BiometricService extends SystemService {
+ ", Latency: " + latency);
}
// Auth canceled
- StatsLog.write(StatsLog.BIOMETRIC_ERROR_OCCURRED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_ERROR_OCCURRED,
statsModality(),
mCurrentAuthSession.mUserId,
mCurrentAuthSession.isCrypto(),
@@ -1549,41 +1581,19 @@ public class BiometricService extends SystemService {
int callingUid, int callingPid, int callingUserId) {
mHandler.post(() -> {
- int modality = TYPE_NONE;
- int result;
-
try {
final boolean checkDevicePolicyManager = bundle.getBoolean(
BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, false);
final Pair<Integer, Integer> pair = checkAndGetAuthenticators(userId, bundle,
opPackageName, checkDevicePolicyManager);
- modality = pair.first;
- result = pair.second;
- } catch (RemoteException e) {
- Slog.e(TAG, "Remote exception", e);
- result = BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE;
- }
+ final int modality = pair.first;
+ final int result = pair.second;
- try {
- if (result == BiometricConstants.BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL) {
- // If the app allowed device credential but the user hasn't set it up yet,
- // return this error.
- receiver.onError(modality, result, 0 /* vendorCode */);
- } else if (result != BiometricConstants.BIOMETRIC_SUCCESS) {
- if (Utils.isDeviceCredentialAllowed(bundle)) {
- // If there's a problem with biometrics but device credential is allowed,
- // only show credential UI.
- bundle.putInt(BiometricPrompt.KEY_AUTHENTICATORS_ALLOWED,
- Authenticators.DEVICE_CREDENTIAL);
- authenticateInternal(token, sessionId, userId, receiver, opPackageName,
- bundle, callingUid, callingPid, callingUserId, modality);
- } else {
- receiver.onError(modality, result, 0 /* vendorCode */);
- }
+ if (result == BiometricConstants.BIOMETRIC_SUCCESS) {
+ authenticateInternal(token, sessionId, userId, receiver, opPackageName,
+ bundle, callingUid, callingPid, callingUserId, modality);
} else {
- // BIOMETRIC_SUCCESS, proceed to authentication
- authenticateInternal(token, sessionId, userId, receiver, opPackageName, bundle,
- callingUid, callingPid, callingUserId, modality);
+ receiver.onError(modality, result, 0 /* vendorCode */);
}
} catch (RemoteException e) {
Slog.e(TAG, "Remote exception", e);
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
index 60f0e8e6c63d..687d9353ebd1 100644
--- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
@@ -51,10 +51,10 @@ import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.statusbar.IStatusBarService;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.SystemService;
import java.util.ArrayList;
@@ -371,7 +371,7 @@ public abstract class BiometricServiceBase extends SystemService
+ identifier.getName());
mUtils.removeBiometricForUser(getContext(),
getTargetUserId(), identifier.getBiometricId());
- StatsLog.write(StatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
statsModality(),
BiometricsProtoEnums.ISSUE_UNKNOWN_TEMPLATE_ENROLLED_FRAMEWORK);
}
@@ -551,7 +551,7 @@ public abstract class BiometricServiceBase extends SystemService
+ " failed to respond to cancel, starting client "
+ (mPendingClient != null ? mPendingClient.getOwnerString() : "null"));
- StatsLog.write(StatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
statsModality(), BiometricsProtoEnums.ISSUE_CANCEL_TIMED_OUT);
mCurrentClient = null;
@@ -673,8 +673,8 @@ public abstract class BiometricServiceBase extends SystemService
0 /*vendorCode */);
});
- StatsLog.write(StatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED, statsModality(),
- BiometricsProtoEnums.ISSUE_HAL_DEATH);
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
+ statsModality(), BiometricsProtoEnums.ISSUE_HAL_DEATH);
}
protected ClientMonitor getCurrentClient() {
@@ -1249,7 +1249,7 @@ public abstract class BiometricServiceBase extends SystemService
template.mIdentifier.getBiometricId(), 0 /* groupId */, template.mUserId,
restricted, getContext().getPackageName());
removeInternal(client);
- StatsLog.write(StatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
statsModality(),
BiometricsProtoEnums.ISSUE_UNKNOWN_TEMPLATE_ENROLLED_HAL);
} else {
diff --git a/services/core/java/com/android/server/biometrics/LoggableMonitor.java b/services/core/java/com/android/server/biometrics/LoggableMonitor.java
index ecf3864e3362..c03c77f41f57 100644
--- a/services/core/java/com/android/server/biometrics/LoggableMonitor.java
+++ b/services/core/java/com/android/server/biometrics/LoggableMonitor.java
@@ -21,7 +21,8 @@ import android.hardware.biometrics.BiometricConstants;
import android.hardware.biometrics.BiometricsProtoEnums;
import android.hardware.face.FaceManager;
import android.util.Slog;
-import android.util.StatsLog;
+
+import com.android.internal.util.FrameworkStatsLog;
/**
* Abstract class that adds logging functionality to the ClientMonitor classes.
@@ -86,7 +87,7 @@ public abstract class LoggableMonitor {
+ ", AcquiredInfo: " + acquiredInfo
+ ", VendorCode: " + vendorCode);
}
- StatsLog.write(StatsLog.BIOMETRIC_ACQUIRED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_ACQUIRED,
statsModality(),
targetUserId,
isCryptoOperation(),
@@ -114,7 +115,7 @@ public abstract class LoggableMonitor {
} else {
Slog.v(TAG, "Error latency: " + latency);
}
- StatsLog.write(StatsLog.BIOMETRIC_ERROR_OCCURRED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_ERROR_OCCURRED,
statsModality(),
targetUserId,
isCryptoOperation(),
@@ -128,15 +129,15 @@ public abstract class LoggableMonitor {
protected final void logOnAuthenticated(Context context, boolean authenticated,
boolean requireConfirmation, int targetUserId, boolean isBiometricPrompt) {
- int authState = StatsLog.BIOMETRIC_AUTHENTICATED__STATE__UNKNOWN;
+ int authState = FrameworkStatsLog.BIOMETRIC_AUTHENTICATED__STATE__UNKNOWN;
if (!authenticated) {
- authState = StatsLog.BIOMETRIC_AUTHENTICATED__STATE__REJECTED;
+ authState = FrameworkStatsLog.BIOMETRIC_AUTHENTICATED__STATE__REJECTED;
} else {
// Authenticated
if (isBiometricPrompt && requireConfirmation) {
- authState = StatsLog.BIOMETRIC_AUTHENTICATED__STATE__PENDING_CONFIRMATION;
+ authState = FrameworkStatsLog.BIOMETRIC_AUTHENTICATED__STATE__PENDING_CONFIRMATION;
} else {
- authState = StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED;
+ authState = FrameworkStatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED;
}
}
@@ -157,7 +158,7 @@ public abstract class LoggableMonitor {
Slog.v(TAG, "Authentication latency: " + latency);
}
- StatsLog.write(StatsLog.BIOMETRIC_AUTHENTICATED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_AUTHENTICATED,
statsModality(),
targetUserId,
isCryptoOperation(),
@@ -179,7 +180,7 @@ public abstract class LoggableMonitor {
Slog.v(TAG, "Enroll latency: " + latency);
}
- StatsLog.write(StatsLog.BIOMETRIC_ENROLLED,
+ FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_ENROLLED,
statsModality(),
targetUserId,
latency,
diff --git a/services/core/java/com/android/server/biometrics/face/FaceService.java b/services/core/java/com/android/server/biometrics/face/FaceService.java
index a0573db680b4..b512475e7971 100644
--- a/services/core/java/com/android/server/biometrics/face/FaceService.java
+++ b/services/core/java/com/android/server/biometrics/face/FaceService.java
@@ -962,9 +962,10 @@ public class FaceService extends BiometricServiceBase {
@Override
public void onLockoutChanged(long duration) {
Slog.d(TAG, "onLockoutChanged: " + duration);
+
if (duration == 0) {
mCurrentUserLockoutMode = AuthenticationClient.LOCKOUT_NONE;
- } else if (duration == Long.MAX_VALUE) {
+ } else if (duration == -1 || duration == Long.MAX_VALUE) {
mCurrentUserLockoutMode = AuthenticationClient.LOCKOUT_PERMANENT;
} else {
mCurrentUserLockoutMode = AuthenticationClient.LOCKOUT_TIMED;
diff --git a/services/core/java/com/android/server/camera/CameraServiceProxy.java b/services/core/java/com/android/server/camera/CameraServiceProxy.java
index 96af74a60b1d..61c99b88d113 100644
--- a/services/core/java/com/android/server/camera/CameraServiceProxy.java
+++ b/services/core/java/com/android/server/camera/CameraServiceProxy.java
@@ -36,23 +36,22 @@ import android.os.UserManager;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.SystemService;
import com.android.server.wm.WindowManagerInternal;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
/**
* CameraServiceProxy is the system_server analog to the camera service running in cameraserver.
@@ -315,22 +314,22 @@ public class CameraServiceProxy extends SystemService
* Package-private
*/
private void logCameraUsageEvent(CameraUsageEvent e) {
- int facing = StatsLog.CAMERA_ACTION_EVENT__FACING__UNKNOWN;
+ int facing = FrameworkStatsLog.CAMERA_ACTION_EVENT__FACING__UNKNOWN;
switch(e.mCameraFacing) {
case ICameraServiceProxy.CAMERA_FACING_BACK:
- facing = StatsLog.CAMERA_ACTION_EVENT__FACING__BACK;
+ facing = FrameworkStatsLog.CAMERA_ACTION_EVENT__FACING__BACK;
break;
case ICameraServiceProxy.CAMERA_FACING_FRONT:
- facing = StatsLog.CAMERA_ACTION_EVENT__FACING__FRONT;
+ facing = FrameworkStatsLog.CAMERA_ACTION_EVENT__FACING__FRONT;
break;
case ICameraServiceProxy.CAMERA_FACING_EXTERNAL:
- facing = StatsLog.CAMERA_ACTION_EVENT__FACING__EXTERNAL;
+ facing = FrameworkStatsLog.CAMERA_ACTION_EVENT__FACING__EXTERNAL;
break;
default:
Slog.w(TAG, "Unknown camera facing: " + e.mCameraFacing);
}
- StatsLog.write(StatsLog.CAMERA_ACTION_EVENT, e.getDuration(), e.mAPILevel,
- e.mClientName, facing);
+ FrameworkStatsLog.write(FrameworkStatsLog.CAMERA_ACTION_EVENT, e.getDuration(),
+ e.mAPILevel, e.mClientName, facing);
}
}
diff --git a/services/core/java/com/android/server/compat/CompatConfig.java b/services/core/java/com/android/server/compat/CompatConfig.java
index 8d261762a19b..7f7c9c4c7c1d 100644
--- a/services/core/java/com/android/server/compat/CompatConfig.java
+++ b/services/core/java/com/android/server/compat/CompatConfig.java
@@ -35,6 +35,7 @@ import com.android.internal.compat.IOverrideValidator;
import com.android.internal.compat.OverrideAllowedState;
import com.android.server.compat.config.Change;
import com.android.server.compat.config.XmlParser;
+import com.android.server.pm.ApexManager;
import org.xmlpull.v1.XmlPullParserException;
@@ -45,6 +46,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import javax.xml.datatype.DatatypeConfigurationException;
@@ -369,12 +371,18 @@ final class CompatConfig {
Environment.getRootDirectory(), "etc", "compatconfig"));
config.initConfigFromLib(Environment.buildPath(
Environment.getRootDirectory(), "system_ext", "etc", "compatconfig"));
+
+ List<ApexManager.ActiveApexInfo> apexes = ApexManager.getInstance().getActiveApexInfos();
+ for (ApexManager.ActiveApexInfo apex : apexes) {
+ config.initConfigFromLib(Environment.buildPath(
+ apex.apexDirectory, "etc", "compatconfig"));
+ }
return config;
}
void initConfigFromLib(File libraryDir) {
if (!libraryDir.exists() || !libraryDir.isDirectory()) {
- Slog.e(TAG, "No directory " + libraryDir + ", skipping");
+ Slog.d(TAG, "No directory " + libraryDir + ", skipping");
return;
}
for (File f : libraryDir.listFiles()) {
diff --git a/services/core/java/com/android/server/compat/PlatformCompat.java b/services/core/java/com/android/server/compat/PlatformCompat.java
index bb8b12e86e16..2fc9d04623f8 100644
--- a/services/core/java/com/android/server/compat/PlatformCompat.java
+++ b/services/core/java/com/android/server/compat/PlatformCompat.java
@@ -25,7 +25,6 @@ import android.os.Binder;
import android.os.RemoteException;
import android.os.UserHandle;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.compat.AndroidBuildClassifier;
@@ -54,7 +53,7 @@ public class PlatformCompat extends IPlatformCompat.Stub {
public PlatformCompat(Context context) {
mContext = context;
mChangeReporter = new ChangeReporter(
- StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__SYSTEM_SERVER);
+ ChangeReporter.SOURCE_SYSTEM_SERVER);
mCompatConfig = CompatConfig.create(new AndroidBuildClassifier(), mContext);
}
@@ -62,14 +61,14 @@ public class PlatformCompat extends IPlatformCompat.Stub {
PlatformCompat(Context context, CompatConfig compatConfig) {
mContext = context;
mChangeReporter = new ChangeReporter(
- StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__SYSTEM_SERVER);
+ ChangeReporter.SOURCE_SYSTEM_SERVER);
mCompatConfig = compatConfig;
}
@Override
public void reportChange(long changeId, ApplicationInfo appInfo) {
reportChange(changeId, appInfo.uid,
- StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED);
+ ChangeReporter.STATE_LOGGED);
}
@Override
@@ -83,18 +82,18 @@ public class PlatformCompat extends IPlatformCompat.Stub {
@Override
public void reportChangeByUid(long changeId, int uid) {
- reportChange(changeId, uid, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED);
+ reportChange(changeId, uid, ChangeReporter.STATE_LOGGED);
}
@Override
public boolean isChangeEnabled(long changeId, ApplicationInfo appInfo) {
if (mCompatConfig.isChangeEnabled(changeId, appInfo)) {
reportChange(changeId, appInfo.uid,
- StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED);
+ ChangeReporter.STATE_ENABLED);
return true;
}
reportChange(changeId, appInfo.uid,
- StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED);
+ ChangeReporter.STATE_DISABLED);
return false;
}
diff --git a/services/core/java/com/android/server/connectivity/LingerMonitor.java b/services/core/java/com/android/server/connectivity/LingerMonitor.java
index 929dfc4d1511..707151059869 100644
--- a/services/core/java/com/android/server/connectivity/LingerMonitor.java
+++ b/services/core/java/com/android/server/connectivity/LingerMonitor.java
@@ -16,6 +16,10 @@
package com.android.server.connectivity;
+import static android.net.ConnectivityManager.NETID_UNSET;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
@@ -27,18 +31,16 @@ import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.Log;
import android.util.SparseArray;
-import android.util.SparseIntArray;
import android.util.SparseBooleanArray;
-import java.util.Arrays;
-import java.util.HashMap;
+import android.util.SparseIntArray;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.MessageUtils;
-import com.android.server.connectivity.NetworkNotificationManager;
import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
-import static android.net.ConnectivityManager.NETID_UNSET;
+import java.util.Arrays;
+import java.util.HashMap;
/**
* Class that monitors default network linger events and possibly notifies the user of network
@@ -206,8 +208,19 @@ public class LingerMonitor {
mEverNotified.put(fromNai.network.netId, true);
}
+ /**
+ * Put up or dismiss a notification or toast for of a change in the default network if needed.
+ *
+ * Putting up a notification when switching from no network to some network is not supported
+ * and as such this method can't be called with a null |fromNai|. It can be called with a
+ * null |toNai| if there isn't a default network any more.
+ *
+ * @param fromNai switching from this NAI
+ * @param toNai switching to this NAI
+ */
// The default network changed from fromNai to toNai due to a change in score.
- public void noteLingerDefaultNetwork(NetworkAgentInfo fromNai, NetworkAgentInfo toNai) {
+ public void noteLingerDefaultNetwork(@NonNull final NetworkAgentInfo fromNai,
+ @Nullable final NetworkAgentInfo toNai) {
if (VDBG) {
Log.d(TAG, "noteLingerDefaultNetwork from=" + fromNai.name() +
" everValidated=" + fromNai.everValidated +
@@ -221,6 +234,10 @@ public class LingerMonitor {
// Internet access).
maybeStopNotifying(fromNai);
+ // If the network was simply lost (either because it disconnected or because it stopped
+ // being the default with no replacement), then don't show a notification.
+ if (null == toNai) return;
+
// If this network never validated, don't notify. Otherwise, we could do things like:
//
// 1. Unvalidated wifi connects.
diff --git a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java
index f2892cc81951..f3d201289f0e 100644
--- a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java
+++ b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java
@@ -35,11 +35,11 @@ import android.text.format.DateUtils;
import android.util.ArrayMap;
import android.util.Log;
import android.util.SparseArray;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.BitUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.RingBuffer;
import com.android.internal.util.TokenBucket;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityEvent;
@@ -278,7 +278,7 @@ public class NetdEventListenerService extends INetdEventListener.Stub {
addWakeupEvent(event);
String dstMac = event.dstHwAddr.toString();
- StatsLog.write(StatsLog.PACKET_WAKEUP_OCCURRED,
+ FrameworkStatsLog.write(FrameworkStatsLog.PACKET_WAKEUP_OCCURRED,
uid, iface, ethertype, dstMac, srcIp, dstIp, ipNextHeader, srcPort, dstPort);
}
@@ -310,6 +310,11 @@ public class NetdEventListenerService extends INetdEventListener.Stub {
return this.VERSION;
}
+ @Override
+ public String getInterfaceHash() {
+ return this.HASH;
+ }
+
private void addWakeupEvent(WakeupEvent event) {
String iface = event.iface;
mWakeupEvents.append(event);
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index d66aec576137..3cfe9160494f 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -483,7 +483,7 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
return ConnectivityConstants.EXPLICITLY_SELECTED_NETWORK_SCORE;
}
- int score = mNetworkScore.getIntExtension(NetworkScore.LEGACY_SCORE);
+ int score = mNetworkScore.getLegacyScore();
if (!lastValidated && !pretendValidated && !ignoreWifiUnvalidationPenalty() && !isVPN()) {
score -= ConnectivityConstants.UNVALIDATED_SCORE_PENALTY;
}
diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
index 2c415570d5fa..25c761ab80ec 100644
--- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
+++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
@@ -188,14 +188,14 @@ public class NetworkNotificationManager {
int icon = getIcon(transportType, notifyType);
if (notifyType == NotificationType.NO_INTERNET && transportType == TRANSPORT_WIFI) {
title = r.getString(R.string.wifi_no_internet,
- WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
+ WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()));
details = r.getString(R.string.wifi_no_internet_detailed);
} else if (notifyType == NotificationType.PRIVATE_DNS_BROKEN) {
if (transportType == TRANSPORT_CELLULAR) {
title = r.getString(R.string.mobile_no_internet);
} else if (transportType == TRANSPORT_WIFI) {
title = r.getString(R.string.wifi_no_internet,
- WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
+ WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()));
} else {
title = r.getString(R.string.other_networks_no_internet);
}
@@ -203,19 +203,19 @@ public class NetworkNotificationManager {
} else if (notifyType == NotificationType.PARTIAL_CONNECTIVITY
&& transportType == TRANSPORT_WIFI) {
title = r.getString(R.string.network_partial_connectivity,
- WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
+ WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()));
details = r.getString(R.string.network_partial_connectivity_detailed);
} else if (notifyType == NotificationType.LOST_INTERNET &&
transportType == TRANSPORT_WIFI) {
title = r.getString(R.string.wifi_no_internet,
- WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
+ WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()));
details = r.getString(R.string.wifi_no_internet_detailed);
} else if (notifyType == NotificationType.SIGN_IN) {
switch (transportType) {
case TRANSPORT_WIFI:
title = r.getString(R.string.wifi_available_sign_in, 0);
details = r.getString(R.string.network_available_sign_in_detailed,
- WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
+ WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()));
break;
case TRANSPORT_CELLULAR:
title = r.getString(R.string.network_available_sign_in, 0);
@@ -236,7 +236,7 @@ public class NetworkNotificationManager {
break;
}
} else if (notifyType == NotificationType.LOGGED_IN) {
- title = WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID());
+ title = WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID());
details = r.getString(R.string.captive_portal_logged_in_detailed);
} else if (notifyType == NotificationType.NETWORK_SWITCH) {
String fromTransport = getTransportName(transportType);
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 423e0212dfd6..03795597f47a 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -24,6 +24,8 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
import static android.net.RouteInfo.RTN_THROW;
import static android.net.RouteInfo.RTN_UNREACHABLE;
+import static com.android.internal.util.Preconditions.checkNotNull;
+
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -157,6 +159,16 @@ public class Vpn {
// is actually O(n²)+O(n²).
private static final int MAX_ROUTES_TO_EVALUATE = 150;
+ /**
+ * Largest profile size allowable for Platform VPNs.
+ *
+ * <p>The largest platform VPN profiles use IKEv2 RSA Certificate Authentication and have two
+ * X509Certificates, and one RSAPrivateKey. This should lead to a max size of 2x 12kB for the
+ * certificates, plus a reasonable upper bound on the private key of 32kB. The rest of the
+ * profile is expected to be negligible in size.
+ */
+ @VisibleForTesting static final int MAX_VPN_PROFILE_SIZE_BYTES = 1 << 17; // 128kB
+
// TODO: create separate trackers for each unique VPN to support
// automated reconnection
@@ -656,6 +668,11 @@ public class Vpn {
* It uses {@link VpnConfig#LEGACY_VPN} as its package name, and
* it can be revoked by itself.
*
+ * The permission checks to verify that the VPN has already been granted
+ * user consent are dependent on the type of the VPN being prepared. See
+ * {@link AppOpsManager#OP_ACTIVATE_VPN} and {@link
+ * AppOpsManager#OP_ACTIVATE_PLATFORM_VPN} for more information.
+ *
* Note: when we added VPN pre-consent in
* https://android.googlesource.com/platform/frameworks/base/+/0554260
* the names oldPackage and newPackage became misleading, because when
@@ -674,10 +691,13 @@ public class Vpn {
*
* @param oldPackage The package name of the old VPN application
* @param newPackage The package name of the new VPN application
- *
+ * @param isPlatformVpn Whether the package being prepared is using a platform VPN profile.
+ * Preparing a platform VPN profile requires only the lesser ACTIVATE_PLATFORM_VPN appop.
* @return true if the operation succeeded.
*/
- public synchronized boolean prepare(String oldPackage, String newPackage) {
+ // TODO: Use an Intdef'd type to represent what kind of VPN the caller is preparing.
+ public synchronized boolean prepare(
+ String oldPackage, String newPackage, boolean isPlatformVpn) {
if (oldPackage != null) {
// Stop an existing always-on VPN from being dethroned by other apps.
if (mAlwaysOn && !isCurrentPreparedPackage(oldPackage)) {
@@ -688,13 +708,14 @@ public class Vpn {
if (!isCurrentPreparedPackage(oldPackage)) {
// The package doesn't match. We return false (to obtain user consent) unless the
// user has already consented to that VPN package.
- if (!oldPackage.equals(VpnConfig.LEGACY_VPN) && isVpnUserPreConsented(oldPackage)) {
+ if (!oldPackage.equals(VpnConfig.LEGACY_VPN)
+ && isVpnPreConsented(mContext, oldPackage, isPlatformVpn)) {
prepareInternal(oldPackage);
return true;
}
return false;
} else if (!oldPackage.equals(VpnConfig.LEGACY_VPN)
- && !isVpnUserPreConsented(oldPackage)) {
+ && !isVpnPreConsented(mContext, oldPackage, isPlatformVpn)) {
// Currently prepared VPN is revoked, so unprepare it and return false.
prepareInternal(VpnConfig.LEGACY_VPN);
return false;
@@ -805,13 +826,29 @@ public class Vpn {
return false;
}
- private boolean isVpnUserPreConsented(String packageName) {
- AppOpsManager appOps =
- (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE);
+ private static boolean isVpnPreConsented(
+ Context context, String packageName, boolean isPlatformVpn) {
+ return isPlatformVpn
+ ? isVpnProfilePreConsented(context, packageName)
+ : isVpnServicePreConsented(context, packageName);
+ }
- // Verify that the caller matches the given package and has permission to activate VPNs.
- return appOps.noteOpNoThrow(AppOpsManager.OP_ACTIVATE_VPN, Binder.getCallingUid(),
- packageName) == AppOpsManager.MODE_ALLOWED;
+ private static boolean doesPackageHaveAppop(Context context, String packageName, int appop) {
+ final AppOpsManager appOps =
+ (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
+
+ // Verify that the caller matches the given package and has the required permission.
+ return appOps.noteOpNoThrow(appop, Binder.getCallingUid(), packageName)
+ == AppOpsManager.MODE_ALLOWED;
+ }
+
+ private static boolean isVpnServicePreConsented(Context context, String packageName) {
+ return doesPackageHaveAppop(context, packageName, AppOpsManager.OP_ACTIVATE_VPN);
+ }
+
+ private static boolean isVpnProfilePreConsented(Context context, String packageName) {
+ return doesPackageHaveAppop(context, packageName, AppOpsManager.OP_ACTIVATE_PLATFORM_VPN)
+ || isVpnServicePreConsented(context, packageName);
}
private int getAppUid(String app, int userHandle) {
@@ -1005,6 +1042,9 @@ public class Vpn {
* Establish a VPN network and return the file descriptor of the VPN interface. This methods
* returns {@code null} if the application is revoked or not prepared.
*
+ * <p>This method supports ONLY VpnService-based VPNs. For Platform VPNs, see {@link
+ * provisionVpnProfile} and {@link startVpnProfile}
+ *
* @param config The parameters to configure the network.
* @return The file descriptor of the VPN interface.
*/
@@ -1015,7 +1055,7 @@ public class Vpn {
return null;
}
// Check to ensure consent hasn't been revoked since we were prepared.
- if (!isVpnUserPreConsented(mPackage)) {
+ if (!isVpnServicePreConsented(mContext, mPackage)) {
return null;
}
// Check if the service is properly declared.
@@ -1680,6 +1720,10 @@ public class Vpn {
public int settingsSecureGetIntForUser(String key, int def, int userId) {
return Settings.Secure.getIntForUser(mContext.getContentResolver(), key, def, userId);
}
+
+ public boolean isCallerSystem() {
+ return Binder.getCallingUid() == Process.SYSTEM_UID;
+ }
}
private native int jniCreate(int mtu);
@@ -2228,4 +2272,148 @@ public class Vpn {
}
}
}
+
+ private void verifyCallingUidAndPackage(String packageName) {
+ if (getAppUid(packageName, mUserHandle) != Binder.getCallingUid()) {
+ throw new SecurityException("Mismatched package and UID");
+ }
+ }
+
+ @VisibleForTesting
+ String getProfileNameForPackage(String packageName) {
+ return Credentials.PLATFORM_VPN + mUserHandle + "_" + packageName;
+ }
+
+ /**
+ * Stores an app-provisioned VPN profile and returns whether the app is already prepared.
+ *
+ * @param packageName the package name of the app provisioning this profile
+ * @param profile the profile to be stored and provisioned
+ * @param keyStore the System keystore instance to save VPN profiles
+ * @returns whether or not the app has already been granted user consent
+ */
+ public synchronized boolean provisionVpnProfile(
+ @NonNull String packageName, @NonNull VpnProfile profile, @NonNull KeyStore keyStore) {
+ checkNotNull(packageName, "No package name provided");
+ checkNotNull(profile, "No profile provided");
+ checkNotNull(keyStore, "KeyStore missing");
+
+ verifyCallingUidAndPackage(packageName);
+
+ final byte[] encodedProfile = profile.encode();
+ if (encodedProfile.length > MAX_VPN_PROFILE_SIZE_BYTES) {
+ throw new IllegalArgumentException("Profile too big");
+ }
+
+ // Permissions checked during startVpnProfile()
+ Binder.withCleanCallingIdentity(
+ () -> {
+ keyStore.put(
+ getProfileNameForPackage(packageName),
+ encodedProfile,
+ Process.SYSTEM_UID,
+ 0 /* flags */);
+ });
+
+ // TODO: if package has CONTROL_VPN, grant the ACTIVATE_PLATFORM_VPN appop.
+ // This mirrors the prepareAndAuthorize that is used by VpnService.
+
+ // Return whether the app is already pre-consented
+ return isVpnProfilePreConsented(mContext, packageName);
+ }
+
+ /**
+ * Deletes an app-provisioned VPN profile.
+ *
+ * @param packageName the package name of the app provisioning this profile
+ * @param keyStore the System keystore instance to save VPN profiles
+ */
+ public synchronized void deleteVpnProfile(
+ @NonNull String packageName, @NonNull KeyStore keyStore) {
+ checkNotNull(packageName, "No package name provided");
+ checkNotNull(keyStore, "KeyStore missing");
+
+ verifyCallingUidAndPackage(packageName);
+
+ Binder.withCleanCallingIdentity(
+ () -> {
+ keyStore.delete(getProfileNameForPackage(packageName), Process.SYSTEM_UID);
+ });
+ }
+
+ /**
+ * Retrieves the VpnProfile.
+ *
+ * <p>Must be used only as SYSTEM_UID, otherwise the key/UID pair will not match anything in the
+ * keystore.
+ */
+ @VisibleForTesting
+ @Nullable
+ VpnProfile getVpnProfilePrivileged(@NonNull String packageName, @NonNull KeyStore keyStore) {
+ if (!mSystemServices.isCallerSystem()) {
+ Log.wtf(TAG, "getVpnProfilePrivileged called as non-System UID ");
+ return null;
+ }
+
+ final byte[] encoded = keyStore.get(getProfileNameForPackage(packageName));
+ if (encoded == null) return null;
+
+ return VpnProfile.decode("" /* Key unused */, encoded);
+ }
+
+ /**
+ * Starts an already provisioned VPN Profile, keyed by package name.
+ *
+ * <p>This method is meant to be called by apps (via VpnManager and ConnectivityService).
+ * Privileged (system) callers should use startVpnProfilePrivileged instead. Otherwise the UIDs
+ * will not match during appop checks.
+ *
+ * @param packageName the package name of the app provisioning this profile
+ * @param keyStore the System keystore instance to retrieve VPN profiles
+ */
+ public synchronized void startVpnProfile(
+ @NonNull String packageName, @NonNull KeyStore keyStore) {
+ checkNotNull(packageName, "No package name provided");
+ checkNotNull(keyStore, "KeyStore missing");
+
+ // Prepare VPN for startup
+ if (!prepare(packageName, null /* newPackage */, true /* isPlatformVpn */)) {
+ throw new SecurityException("User consent not granted for package " + packageName);
+ }
+
+ Binder.withCleanCallingIdentity(
+ () -> {
+ final VpnProfile profile = getVpnProfilePrivileged(packageName, keyStore);
+ if (profile == null) {
+ throw new IllegalArgumentException("No profile found for " + packageName);
+ }
+
+ startVpnProfilePrivileged(profile);
+ });
+ }
+
+ private void startVpnProfilePrivileged(@NonNull VpnProfile profile) {
+ // TODO: Start PlatformVpnRunner
+ }
+
+ /**
+ * Stops an already running VPN Profile for the given package.
+ *
+ * <p>This method is meant to be called by apps (via VpnManager and ConnectivityService).
+ * Privileged (system) callers should (re-)prepare the LEGACY_VPN instead.
+ *
+ * @param packageName the package name of the app provisioning this profile
+ */
+ public synchronized void stopVpnProfile(@NonNull String packageName) {
+ checkNotNull(packageName, "No package name provided");
+
+ // To stop the VPN profile, the caller must be the current prepared package. Otherwise,
+ // the app is not prepared, and we can just return.
+ if (!isCurrentPreparedPackage(packageName)) {
+ // TODO: Also check to make sure that the running VPN is a VPN profile.
+ return;
+ }
+
+ prepareInternal(VpnConfig.LEGACY_VPN);
+ }
}
diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java
index 4ddc391bd889..6d130d91f639 100644
--- a/services/core/java/com/android/server/content/SyncManager.java
+++ b/services/core/java/com/android/server/content/SyncManager.java
@@ -212,8 +212,11 @@ public class SyncManager {
private static final int SYNC_OP_STATE_VALID = 0;
- private static final int SYNC_OP_STATE_INVALID = 1;
+ // "1" used to include errors 3, 4 and 5 but now it's split up.
private static final int SYNC_OP_STATE_INVALID_NO_ACCOUNT_ACCESS = 2;
+ private static final int SYNC_OP_STATE_INVALID_NO_ACCOUNT = 3;
+ private static final int SYNC_OP_STATE_INVALID_NOT_SYNCABLE = 4;
+ private static final int SYNC_OP_STATE_INVALID_SYNC_DISABLED = 5;
/** Flags used when connecting to a sync adapter service */
private static final int SYNC_ADAPTER_CONNECTION_FLAGS = Context.BIND_AUTO_CREATE
@@ -3206,12 +3209,10 @@ public class SyncManager {
}
final int syncOpState = computeSyncOpState(op);
- switch (syncOpState) {
- case SYNC_OP_STATE_INVALID_NO_ACCOUNT_ACCESS:
- case SYNC_OP_STATE_INVALID: {
- SyncJobService.callJobFinished(op.jobId, false,
- "invalid op state: " + syncOpState);
- } return;
+ if (syncOpState != SYNC_OP_STATE_VALID) {
+ SyncJobService.callJobFinished(op.jobId, false,
+ "invalid op state: " + syncOpState);
+ return;
}
if (!dispatchSyncOperation(op)) {
@@ -3354,27 +3355,27 @@ public class SyncManager {
pollFrequencyMillis, flexMillis, ContentResolver.SYNC_EXEMPTION_NONE);
final int syncOpState = computeSyncOpState(op);
- switch (syncOpState) {
- case SYNC_OP_STATE_INVALID_NO_ACCOUNT_ACCESS: {
- String packageName = op.owningPackage;
- final int userId = UserHandle.getUserId(op.owningUid);
- // If the app did not run and has no account access, done
- if (!wasPackageEverLaunched(packageName, userId)) {
- return;
- }
- mAccountManagerInternal.requestAccountAccess(op.target.account,
- packageName, userId, new RemoteCallback((Bundle result) -> {
- if (result != null
- && result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
- updateOrAddPeriodicSync(target, pollFrequency, flex, extras);
- }
- }
- ));
- } return;
-
- case SYNC_OP_STATE_INVALID: {
+ if (syncOpState == SYNC_OP_STATE_INVALID_NO_ACCOUNT_ACCESS) {
+ String packageName = op.owningPackage;
+ final int userId = UserHandle.getUserId(op.owningUid);
+ // If the app did not run and has no account access, done
+ if (!wasPackageEverLaunched(packageName, userId)) {
return;
}
+ mLogger.log("requestAccountAccess for SYNC_OP_STATE_INVALID_NO_ACCOUNT_ACCESS");
+ mAccountManagerInternal.requestAccountAccess(op.target.account,
+ packageName, userId, new RemoteCallback((Bundle result) -> {
+ if (result != null
+ && result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
+ updateOrAddPeriodicSync(target, pollFrequency, flex, extras);
+ }
+ }
+ ));
+ return;
+ }
+ if (syncOpState != SYNC_OP_STATE_VALID) {
+ mLogger.log("syncOpState=", syncOpState);
+ return;
}
scheduleSyncOperationH(op);
@@ -3452,7 +3453,7 @@ public class SyncManager {
Slog.v(TAG, " Dropping sync operation: account doesn't exist.");
}
Slog.wtf(TAG, "SYNC_OP_STATE_INVALID: account doesn't exist.");
- return SYNC_OP_STATE_INVALID;
+ return SYNC_OP_STATE_INVALID_NO_ACCOUNT;
}
// Drop this sync request if it isn't syncable.
state = computeSyncable(target.account, target.userId, target.provider, true);
@@ -3469,7 +3470,7 @@ public class SyncManager {
Slog.v(TAG, " Dropping sync operation: isSyncable == NOT_SYNCABLE");
}
Slog.wtf(TAG, "SYNC_OP_STATE_INVALID: NOT_SYNCABLE");
- return SYNC_OP_STATE_INVALID;
+ return SYNC_OP_STATE_INVALID_NOT_SYNCABLE;
}
final boolean syncEnabled = mSyncStorageEngine.getMasterSyncAutomatically(target.userId)
@@ -3488,7 +3489,7 @@ public class SyncManager {
Slog.v(TAG, " Dropping sync operation: disallowed by settings/network.");
}
Slog.wtf(TAG, "SYNC_OP_STATE_INVALID: disallowed by settings/network");
- return SYNC_OP_STATE_INVALID;
+ return SYNC_OP_STATE_INVALID_SYNC_DISABLED;
}
return SYNC_OP_STATE_VALID;
}
diff --git a/services/core/java/com/android/server/display/DisplayModeDirector.java b/services/core/java/com/android/server/display/DisplayModeDirector.java
index decb1f9bbcf7..96532f4a21ac 100644
--- a/services/core/java/com/android/server/display/DisplayModeDirector.java
+++ b/services/core/java/com/android/server/display/DisplayModeDirector.java
@@ -1050,6 +1050,7 @@ public class DisplayModeDirector {
public void dumpLocked(PrintWriter pw) {
pw.println(" BrightnessObserver");
+ pw.println(" mAmbientLux: " + mAmbientLux);
pw.println(" mRefreshRateInZone: " + mRefreshRateInZone);
for (int d: mDisplayBrightnessThresholds) {
@@ -1059,6 +1060,8 @@ public class DisplayModeDirector {
for (int d: mAmbientBrightnessThresholds) {
pw.println(" mAmbientBrightnessThreshold: " + d);
}
+
+ mLightSensorListener.dumpLocked(pw);
}
public void onDisplayChanged(int displayId) {
@@ -1222,6 +1225,10 @@ public class DisplayModeDirector {
final private static int INJECT_EVENTS_INTERVAL_MS = LIGHT_SENSOR_RATE_MS;
private float mLastSensorData;
+ public void dumpLocked(PrintWriter pw) {
+ pw.println(" mLastSensorData: " + mLastSensorData);
+ }
+
@Override
public void onSensorChanged(SensorEvent event) {
mLastSensorData = event.values[0];
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
index 7e8fe3ae8428..87a5730edc2e 100644
--- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java
+++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java
@@ -91,8 +91,12 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private void tryConnectDisplayLocked(long physicalDisplayId) {
final IBinder displayToken = SurfaceControl.getPhysicalDisplayToken(physicalDisplayId);
if (displayToken != null) {
- SurfaceControl.PhysicalDisplayInfo[] configs =
- SurfaceControl.getDisplayConfigs(displayToken);
+ SurfaceControl.DisplayInfo info = SurfaceControl.getDisplayInfo(displayToken);
+ if (info == null) {
+ Slog.w(TAG, "No valid info found for display device " + physicalDisplayId);
+ return;
+ }
+ SurfaceControl.DisplayConfig[] configs = SurfaceControl.getDisplayConfigs(displayToken);
if (configs == null) {
// There are no valid configs for this device, so we can't use it
Slog.w(TAG, "No valid configs found for display device " + physicalDisplayId);
@@ -115,19 +119,19 @@ final class LocalDisplayAdapter extends DisplayAdapter {
activeColorMode = Display.COLOR_MODE_INVALID;
}
int[] colorModes = SurfaceControl.getDisplayColorModes(displayToken);
- SurfaceControl.DesiredDisplayConfigSpecs desiredDisplayConfigSpecs =
+ SurfaceControl.DesiredDisplayConfigSpecs configSpecs =
SurfaceControl.getDesiredDisplayConfigSpecs(displayToken);
LocalDisplayDevice device = mDevices.get(physicalDisplayId);
if (device == null) {
// Display was added.
final boolean isInternal = mDevices.size() == 0;
- device = new LocalDisplayDevice(displayToken, physicalDisplayId, configs,
- activeConfig, desiredDisplayConfigSpecs, colorModes, activeColorMode,
+ device = new LocalDisplayDevice(displayToken, physicalDisplayId, info,
+ configs, activeConfig, configSpecs, colorModes, activeColorMode,
isInternal);
mDevices.put(physicalDisplayId, device);
sendDisplayDeviceEventLocked(device, DISPLAY_DEVICE_EVENT_ADDED);
- } else if (device.updatePhysicalDisplayInfoLocked(configs, activeConfig,
- desiredDisplayConfigSpecs, colorModes, activeColorMode)) {
+ } else if (device.updateDisplayConfigsLocked(configs, activeConfig, configSpecs,
+ colorModes, activeColorMode)) {
// Display properties changed.
sendDisplayDeviceEventLocked(device, DISPLAY_DEVICE_EVENT_CHANGED);
}
@@ -179,7 +183,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private DisplayModeDirector.DesiredDisplayModeSpecs mDisplayModeSpecs =
new DisplayModeDirector.DesiredDisplayModeSpecs();
private boolean mDisplayModeSpecsInvalid;
- private int mActivePhysIndex;
+ private int mActiveConfigId;
private int mActiveColorMode;
private boolean mActiveColorModeInvalid;
private Display.HdrCapabilities mHdrCapabilities;
@@ -189,21 +193,25 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private boolean mGameContentTypeRequested;
private boolean mSidekickActive;
private SidekickInternal mSidekickInternal;
- private SurfaceControl.PhysicalDisplayInfo[] mDisplayInfos;
+ private SurfaceControl.DisplayInfo mDisplayInfo;
+ private SurfaceControl.DisplayConfig[] mDisplayConfigs;
private Spline mSystemBrightnessToNits;
private Spline mNitsToHalBrightness;
private boolean mHalBrightnessSupport;
LocalDisplayDevice(IBinder displayToken, long physicalDisplayId,
- SurfaceControl.PhysicalDisplayInfo[] physicalDisplayInfos, int activeDisplayInfo,
- SurfaceControl.DesiredDisplayConfigSpecs physicalDisplayConfigSpecs,
+ SurfaceControl.DisplayInfo info, SurfaceControl.DisplayConfig[] configs,
+ int activeConfigId, SurfaceControl.DesiredDisplayConfigSpecs configSpecs,
int[] colorModes, int activeColorMode, boolean isInternal) {
super(LocalDisplayAdapter.this, displayToken, UNIQUE_ID_PREFIX + physicalDisplayId);
mPhysicalDisplayId = physicalDisplayId;
mIsInternal = isInternal;
- updatePhysicalDisplayInfoLocked(physicalDisplayInfos, activeDisplayInfo,
- physicalDisplayConfigSpecs, colorModes, activeColorMode);
+ mDisplayInfo = info;
+
+ updateDisplayConfigsLocked(configs, activeConfigId, configSpecs, colorModes,
+ activeColorMode);
updateColorModesLocked(colorModes, activeColorMode);
+
mSidekickInternal = LocalServices.getService(SidekickInternal.class);
if (mIsInternal) {
LightsManager lights = LocalServices.getService(LightsManager.class);
@@ -226,23 +234,24 @@ final class LocalDisplayAdapter extends DisplayAdapter {
return true;
}
- public boolean updatePhysicalDisplayInfoLocked(
- SurfaceControl.PhysicalDisplayInfo[] physicalDisplayInfos, int activeDisplayInfo,
- SurfaceControl.DesiredDisplayConfigSpecs physicalDisplayConfigSpecs,
- int[] colorModes, int activeColorMode) {
- mDisplayInfos = Arrays.copyOf(physicalDisplayInfos, physicalDisplayInfos.length);
- mActivePhysIndex = activeDisplayInfo;
+ public boolean updateDisplayConfigsLocked(
+ SurfaceControl.DisplayConfig[] configs, int activeConfigId,
+ SurfaceControl.DesiredDisplayConfigSpecs configSpecs, int[] colorModes,
+ int activeColorMode) {
+ mDisplayConfigs = Arrays.copyOf(configs, configs.length);
+ mActiveConfigId = activeConfigId;
+
// Build an updated list of all existing modes.
ArrayList<DisplayModeRecord> records = new ArrayList<DisplayModeRecord>();
boolean modesAdded = false;
- for (int i = 0; i < physicalDisplayInfos.length; i++) {
- SurfaceControl.PhysicalDisplayInfo info = physicalDisplayInfos[i];
+ for (int i = 0; i < configs.length; i++) {
+ SurfaceControl.DisplayConfig config = configs[i];
// First, check to see if we've already added a matching mode. Since not all
// configuration options are exposed via Display.Mode, it's possible that we have
- // multiple PhysicalDisplayInfos that would generate the same Display.Mode.
+ // multiple DisplayConfigs that would generate the same Display.Mode.
boolean existingMode = false;
for (int j = 0; j < records.size(); j++) {
- if (records.get(j).hasMatchingMode(info)) {
+ if (records.get(j).hasMatchingMode(config)) {
existingMode = true;
break;
}
@@ -253,9 +262,9 @@ final class LocalDisplayAdapter extends DisplayAdapter {
// If we haven't already added a mode for this configuration to the new set of
// supported modes then check to see if we have one in the prior set of supported
// modes to reuse.
- DisplayModeRecord record = findDisplayModeRecord(info);
+ DisplayModeRecord record = findDisplayModeRecord(config);
if (record == null) {
- record = new DisplayModeRecord(info);
+ record = new DisplayModeRecord(config);
modesAdded = true;
}
records.add(record);
@@ -265,7 +274,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
DisplayModeRecord activeRecord = null;
for (int i = 0; i < records.size(); i++) {
DisplayModeRecord record = records.get(i);
- if (record.hasMatchingMode(physicalDisplayInfos[activeDisplayInfo])){
+ if (record.hasMatchingMode(configs[activeConfigId])) {
activeRecord = record;
break;
}
@@ -282,17 +291,15 @@ final class LocalDisplayAdapter extends DisplayAdapter {
// Check whether surface flinger spontaneously changed display config specs out from
// under us. If so, schedule a traversal to reapply our display config specs.
if (mDisplayModeSpecs.baseModeId != 0) {
- int activeBaseMode =
- findMatchingModeIdLocked(physicalDisplayConfigSpecs.defaultConfig);
+ int activeBaseMode = findMatchingModeIdLocked(configSpecs.defaultConfig);
// If we can't map the defaultConfig index to a mode, then the physical display
// configs must have changed, and the code below for handling changes to the
// list of available modes will take care of updating display config specs.
if (activeBaseMode != 0) {
if (mDisplayModeSpecs.baseModeId != activeBaseMode
- || mDisplayModeSpecs.refreshRateRange.min
- != physicalDisplayConfigSpecs.minRefreshRate
+ || mDisplayModeSpecs.refreshRateRange.min != configSpecs.minRefreshRate
|| mDisplayModeSpecs.refreshRateRange.max
- != physicalDisplayConfigSpecs.maxRefreshRate) {
+ != configSpecs.maxRefreshRate) {
mDisplayModeSpecsInvalid = true;
sendTraversalRequestLocked();
}
@@ -313,7 +320,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
// Update the default mode, if needed.
- if (findDisplayInfoIndexLocked(mDefaultModeId) < 0) {
+ if (findDisplayConfigIdLocked(mDefaultModeId) < 0) {
if (mDefaultModeId != 0) {
Slog.w(TAG, "Default display mode no longer available, using currently"
+ " active mode as default.");
@@ -434,10 +441,10 @@ final class LocalDisplayAdapter extends DisplayAdapter {
return true;
}
- private DisplayModeRecord findDisplayModeRecord(SurfaceControl.PhysicalDisplayInfo info) {
+ private DisplayModeRecord findDisplayModeRecord(SurfaceControl.DisplayConfig config) {
for (int i = 0; i < mSupportedModes.size(); i++) {
DisplayModeRecord record = mSupportedModes.valueAt(i);
- if (record.hasMatchingMode(info)) {
+ if (record.hasMatchingMode(config)) {
return record;
}
}
@@ -455,10 +462,10 @@ final class LocalDisplayAdapter extends DisplayAdapter {
@Override
public DisplayDeviceInfo getDisplayDeviceInfoLocked() {
if (mInfo == null) {
- SurfaceControl.PhysicalDisplayInfo phys = mDisplayInfos[mActivePhysIndex];
+ SurfaceControl.DisplayConfig config = mDisplayConfigs[mActiveConfigId];
mInfo = new DisplayDeviceInfo();
- mInfo.width = phys.width;
- mInfo.height = phys.height;
+ mInfo.width = config.width;
+ mInfo.height = config.height;
mInfo.modeId = mActiveModeId;
mInfo.defaultModeId = mDefaultModeId;
mInfo.supportedModes = getDisplayModes(mSupportedModes);
@@ -471,20 +478,20 @@ final class LocalDisplayAdapter extends DisplayAdapter {
mInfo.supportedColorModes[i] = mSupportedColorModes.get(i);
}
mInfo.hdrCapabilities = mHdrCapabilities;
- mInfo.appVsyncOffsetNanos = phys.appVsyncOffsetNanos;
- mInfo.presentationDeadlineNanos = phys.presentationDeadlineNanos;
+ mInfo.appVsyncOffsetNanos = config.appVsyncOffsetNanos;
+ mInfo.presentationDeadlineNanos = config.presentationDeadlineNanos;
mInfo.state = mState;
mInfo.uniqueId = getUniqueId();
final DisplayAddress.Physical physicalAddress =
DisplayAddress.fromPhysicalDisplayId(mPhysicalDisplayId);
mInfo.address = physicalAddress;
- mInfo.densityDpi = (int) (phys.density * 160 + 0.5f);
- mInfo.xDpi = phys.xDpi;
- mInfo.yDpi = phys.yDpi;
+ mInfo.densityDpi = (int) (mDisplayInfo.density * 160 + 0.5f);
+ mInfo.xDpi = config.xDpi;
+ mInfo.yDpi = config.yDpi;
// Assume that all built-in displays that have secure output (eg. HDCP) also
// support compositing from gralloc protected buffers.
- if (phys.secure) {
+ if (mDisplayInfo.secure) {
mInfo.flags = DisplayDeviceInfo.FLAG_SECURE
| DisplayDeviceInfo.FLAG_SUPPORTS_PROTECTED_BUFFERS;
}
@@ -721,8 +728,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
// a valid mode.
return;
}
- int basePhysIndex = findDisplayInfoIndexLocked(displayModeSpecs.baseModeId);
- if (basePhysIndex < 0) {
+ int baseConfigId = findDisplayConfigIdLocked(displayModeSpecs.baseModeId);
+ if (baseConfigId < 0) {
// When a display is hotplugged, it's possible for a mode to be removed that was
// previously valid. Because of the way display changes are propagated through the
// framework, and the caching of the display mode specs in LogicalDisplay, it's
@@ -740,7 +747,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
getHandler().sendMessage(PooledLambda.obtainMessage(
LocalDisplayDevice::setDesiredDisplayModeSpecsAsync, this,
getDisplayTokenLocked(),
- new SurfaceControl.DesiredDisplayConfigSpecs(basePhysIndex,
+ new SurfaceControl.DesiredDisplayConfigSpecs(baseConfigId,
mDisplayModeSpecs.refreshRateRange.min,
mDisplayModeSpecs.refreshRateRange.max)));
}
@@ -764,22 +771,22 @@ final class LocalDisplayAdapter extends DisplayAdapter {
updateDeviceInfoLocked();
}
- public void onActivePhysicalDisplayModeChangedLocked(int physIndex) {
- if (updateActiveModeLocked(physIndex)) {
+ public void onActiveDisplayConfigChangedLocked(int configId) {
+ if (updateActiveModeLocked(configId)) {
updateDeviceInfoLocked();
}
}
- public boolean updateActiveModeLocked(int activePhysIndex) {
- if (mActivePhysIndex == activePhysIndex) {
+ public boolean updateActiveModeLocked(int activeConfigId) {
+ if (mActiveConfigId == activeConfigId) {
return false;
}
- mActivePhysIndex = activePhysIndex;
- mActiveModeId = findMatchingModeIdLocked(activePhysIndex);
+ mActiveConfigId = activeConfigId;
+ mActiveModeId = findMatchingModeIdLocked(activeConfigId);
mActiveModeInvalid = mActiveModeId == 0;
if (mActiveModeInvalid) {
Slog.w(TAG, "In unknown mode after setting allowed configs"
- + ", activePhysIndex=" + mActivePhysIndex);
+ + ", activeConfigId=" + mActiveConfigId);
}
return true;
}
@@ -850,7 +857,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
pw.println("mPhysicalDisplayId=" + mPhysicalDisplayId);
pw.println("mDisplayModeSpecs={" + mDisplayModeSpecs + "}");
pw.println("mDisplayModeSpecsInvalid=" + mDisplayModeSpecsInvalid);
- pw.println("mActivePhysIndex=" + mActivePhysIndex);
+ pw.println("mActiveConfigId=" + mActiveConfigId);
pw.println("mActiveModeId=" + mActiveModeId);
pw.println("mActiveColorMode=" + mActiveColorMode);
pw.println("mDefaultModeId=" + mDefaultModeId);
@@ -861,9 +868,10 @@ final class LocalDisplayAdapter extends DisplayAdapter {
pw.println("mAllmRequested=" + mAllmRequested);
pw.println("mGameContentTypeSupported" + mGameContentTypeSupported);
pw.println("mGameContentTypeRequested" + mGameContentTypeRequested);
- pw.println("mDisplayInfos=");
- for (int i = 0; i < mDisplayInfos.length; i++) {
- pw.println(" " + mDisplayInfos[i]);
+ pw.println("mDisplayInfo=" + mDisplayInfo);
+ pw.println("mDisplayConfigs=");
+ for (int i = 0; i < mDisplayConfigs.length; i++) {
+ pw.println(" " + mDisplayConfigs[i]);
}
pw.println("mSupportedModes=");
for (int i = 0; i < mSupportedModes.size(); i++) {
@@ -879,12 +887,12 @@ final class LocalDisplayAdapter extends DisplayAdapter {
pw.println("]");
}
- private int findDisplayInfoIndexLocked(int modeId) {
+ private int findDisplayConfigIdLocked(int modeId) {
DisplayModeRecord record = mSupportedModes.get(modeId);
if (record != null) {
- for (int i = 0; i < mDisplayInfos.length; i++) {
- SurfaceControl.PhysicalDisplayInfo info = mDisplayInfos[i];
- if (record.hasMatchingMode(info)){
+ for (int i = 0; i < mDisplayConfigs.length; i++) {
+ SurfaceControl.DisplayConfig config = mDisplayConfigs[i];
+ if (record.hasMatchingMode(config)) {
return i;
}
}
@@ -892,11 +900,11 @@ final class LocalDisplayAdapter extends DisplayAdapter {
return -1;
}
- private int findMatchingModeIdLocked(int physIndex) {
- SurfaceControl.PhysicalDisplayInfo info = mDisplayInfos[physIndex];
+ private int findMatchingModeIdLocked(int configId) {
+ SurfaceControl.DisplayConfig config = mDisplayConfigs[configId];
for (int i = 0; i < mSupportedModes.size(); i++) {
DisplayModeRecord record = mSupportedModes.valueAt(i);
- if (record.hasMatchingMode(info)) {
+ if (record.hasMatchingMode(config)) {
return record.mMode.getModeId();
}
}
@@ -948,23 +956,23 @@ final class LocalDisplayAdapter extends DisplayAdapter {
private static final class DisplayModeRecord {
public final Display.Mode mMode;
- public DisplayModeRecord(SurfaceControl.PhysicalDisplayInfo phys) {
- mMode = createMode(phys.width, phys.height, phys.refreshRate);
+ DisplayModeRecord(SurfaceControl.DisplayConfig config) {
+ mMode = createMode(config.width, config.height, config.refreshRate);
}
/**
- * Returns whether the mode generated by the given PhysicalDisplayInfo matches the mode
+ * Returns whether the mode generated by the given DisplayConfig matches the mode
* contained by the record modulo mode ID.
*
- * Note that this doesn't necessarily mean the the PhysicalDisplayInfos are identical, just
+ * Note that this doesn't necessarily mean that the DisplayConfigs are identical, just
* that they generate identical modes.
*/
- public boolean hasMatchingMode(SurfaceControl.PhysicalDisplayInfo info) {
+ public boolean hasMatchingMode(SurfaceControl.DisplayConfig config) {
int modeRefreshRate = Float.floatToIntBits(mMode.getRefreshRate());
- int displayInfoRefreshRate = Float.floatToIntBits(info.refreshRate);
- return mMode.getPhysicalWidth() == info.width
- && mMode.getPhysicalHeight() == info.height
- && modeRefreshRate == displayInfoRefreshRate;
+ int configRefreshRate = Float.floatToIntBits(config.refreshRate);
+ return mMode.getPhysicalWidth() == config.width
+ && mMode.getPhysicalHeight() == config.height
+ && modeRefreshRate == configRefreshRate;
}
public String toString() {
@@ -989,12 +997,12 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
@Override
- public void onConfigChanged(long timestampNanos, long physicalDisplayId, int physIndex) {
+ public void onConfigChanged(long timestampNanos, long physicalDisplayId, int configId) {
if (DEBUG) {
Slog.d(TAG, "onConfigChanged("
+ "timestampNanos=" + timestampNanos
+ ", physicalDisplayId=" + physicalDisplayId
- + ", physIndex=" + physIndex + ")");
+ + ", configId=" + configId + ")");
}
synchronized (getSyncRoot()) {
LocalDisplayDevice device = mDevices.get(physicalDisplayId);
@@ -1005,7 +1013,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
return;
}
- device.onActivePhysicalDisplayModeChangedLocked(physIndex);
+ device.onActiveDisplayConfigChangedLocked(configId);
}
}
}
diff --git a/services/core/java/com/android/server/display/OverlayDisplayWindow.java b/services/core/java/com/android/server/display/OverlayDisplayWindow.java
index 0fdf2daf1c8d..49f0d35d2e78 100644
--- a/services/core/java/com/android/server/display/OverlayDisplayWindow.java
+++ b/services/core/java/com/android/server/display/OverlayDisplayWindow.java
@@ -109,7 +109,8 @@ final class OverlayDisplayWindow implements DumpUtils.Dump {
mWindowManager = (WindowManager)context.getSystemService(
Context.WINDOW_SERVICE);
- mDefaultDisplay = mWindowManager.getDefaultDisplay();
+ // TODO(b/148458868): Support multi-display
+ mDefaultDisplay = mContext.getDisplay();
updateDefaultDisplayInfo();
resize(width, height, densityDpi, false /* doLayout */);
diff --git a/services/core/java/com/android/server/incremental/IncrementalManagerService.java b/services/core/java/com/android/server/incremental/IncrementalManagerService.java
index d673ec84c47e..64f25dd6f9fd 100644
--- a/services/core/java/com/android/server/incremental/IncrementalManagerService.java
+++ b/services/core/java/com/android/server/incremental/IncrementalManagerService.java
@@ -32,7 +32,10 @@ import android.os.ShellCallback;
import android.os.incremental.IIncrementalManager;
import android.util.Slog;
+import com.android.internal.util.DumpUtils;
+
import java.io.FileDescriptor;
+import java.io.PrintWriter;
/**
* This service has the following purposes:
@@ -71,6 +74,13 @@ public class IncrementalManagerService extends IIncrementalManager.Stub {
mNativeInstance = nativeStartService();
}
+ @SuppressWarnings("resource")
+ @Override
+ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ if (!DumpUtils.checkDumpAndUsageStatsPermission(mContext, TAG, pw)) return;
+ nativeDump(mNativeInstance, fd.getInt$());
+ }
+
/**
* Notifies native IIncrementalManager service that system is ready.
*/
@@ -134,7 +144,7 @@ public class IncrementalManagerService extends IIncrementalManager.Stub {
// TODO: remove this
@Override
- public void newFileForDataLoader(int mountId, long inode, byte[] metadata) {
+ public void newFileForDataLoader(int mountId, byte[] fileId, byte[] metadata) {
IDataLoader dataLoader = mDataLoaderManager.getDataLoader(mountId);
if (dataLoader == null) {
Slog.e(TAG, "Failed to retrieve data loader for ID=" + mountId);
@@ -158,4 +168,6 @@ public class IncrementalManagerService extends IIncrementalManager.Stub {
private static native long nativeStartService();
private static native void nativeSystemReady(long nativeInstance);
+
+ private static native void nativeDump(long nativeInstance, int fd);
}
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java
index 9c421524d723..9f76e1ed113d 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java
@@ -34,6 +34,16 @@ import java.util.List;
*/
public abstract class InputMethodManagerInternal {
/**
+ * Listener for input method list changed events.
+ */
+ public interface InputMethodListListener {
+ /**
+ * Called with the list of the installed IMEs when it's updated.
+ */
+ void onInputMethodListUpdated(List<InputMethodInfo> info, @UserIdInt int userId);
+ }
+
+ /**
* Called by the power manager to tell the input method manager whether it
* should start watching for wake events.
*/
@@ -85,6 +95,11 @@ public abstract class InputMethodManagerInternal {
public abstract boolean switchToInputMethod(String imeId, @UserIdInt int userId);
/**
+ * Registers a new {@link InputMethodListListener}.
+ */
+ public abstract void registerInputMethodListListener(InputMethodListListener listener);
+
+ /**
* Fake implementation of {@link InputMethodManagerInternal}. All the methods do nothing.
*/
private static final InputMethodManagerInternal NOP =
@@ -117,6 +132,10 @@ public abstract class InputMethodManagerInternal {
public boolean switchToInputMethod(String imeId, int userId) {
return false;
}
+
+ @Override
+ public void registerInputMethodListListener(InputMethodListListener listener) {
+ }
};
/**
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 905a94f57262..47622f38f3f2 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -154,6 +154,7 @@ import com.android.internal.view.InputBindResult;
import com.android.server.EventLogTags;
import com.android.server.LocalServices;
import com.android.server.SystemService;
+import com.android.server.inputmethod.InputMethodManagerInternal.InputMethodListListener;
import com.android.server.inputmethod.InputMethodSubtypeSwitchingController.ImeSubtypeListItem;
import com.android.server.inputmethod.InputMethodUtils.InputMethodSettings;
import com.android.server.statusbar.StatusBarManagerService;
@@ -172,6 +173,7 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.WeakHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -214,6 +216,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
static final int MSG_HARD_KEYBOARD_SWITCH_CHANGED = 4000;
static final int MSG_SYSTEM_UNLOCK_USER = 5000;
+ static final int MSG_DISPATCH_ON_INPUT_METHOD_LIST_UPDATED = 5010;
static final int MSG_INLINE_SUGGESTIONS_REQUEST = 6000;
@@ -689,6 +692,13 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
private final String mSlotIme;
/**
+ * Registered {@link InputMethodListListeners}.
+ * This variable can be accessed from both of MainThread and BinderThread.
+ */
+ private final CopyOnWriteArrayList<InputMethodListListener> mInputMethodListListeners =
+ new CopyOnWriteArrayList<>();
+
+ /**
* Internal state snapshot when {@link #MSG_START_INPUT} message is about to be posted to the
* internal message queue. Any subsequent state change inside {@link InputMethodManagerService}
* will not affect those tasks that are already posted.
@@ -3510,7 +3520,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
/**
- * This is kept due to {@link android.annotation.UnsupportedAppUsage} in
+ * This is kept due to {@code @UnsupportedAppUsage} in
* {@link InputMethodManager#getInputMethodWindowVisibleHeight()} and a dependency in
* {@link InputMethodService#onCreate()}.
*
@@ -3946,10 +3956,18 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
case MSG_HARD_KEYBOARD_SWITCH_CHANGED:
mHardKeyboardListener.handleHardKeyboardStatusChange(msg.arg1 == 1);
return true;
- case MSG_SYSTEM_UNLOCK_USER:
+ case MSG_SYSTEM_UNLOCK_USER: {
final int userId = msg.arg1;
onUnlockUser(userId);
return true;
+ }
+ case MSG_DISPATCH_ON_INPUT_METHOD_LIST_UPDATED: {
+ final int userId = msg.arg1;
+ final List<InputMethodInfo> imes = (List<InputMethodInfo>) msg.obj;
+ mInputMethodListListeners.forEach(
+ listener -> listener.onInputMethodListUpdated(imes, userId));
+ return true;
+ }
// ---------------------------------------------------------------
case MSG_INLINE_SUGGESTIONS_REQUEST:
@@ -4142,6 +4160,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
// TODO: Make sure that mSwitchingController and mSettings are sharing the
// the same enabled IMEs list.
mSwitchingController.resetCircularListLocked(mContext);
+
+ // Notify InputMethodListListeners of the new installed InputMethods.
+ final List<InputMethodInfo> inputMethodList = new ArrayList<>(mMethodList);
+ mHandler.obtainMessage(MSG_DISPATCH_ON_INPUT_METHOD_LIST_UPDATED,
+ mSettings.getCurrentUserId(), 0 /* unused */, inputMethodList).sendToTarget();
}
// ----------------------------------------------------------------------
@@ -4606,6 +4629,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
public boolean switchToInputMethod(String imeId, int userId) {
return mService.switchToInputMethod(imeId, userId);
}
+
+ @Override
+ public void registerInputMethodListListener(InputMethodListListener listener) {
+ mService.mInputMethodListListeners.addIfAbsent(listener);
+ }
}
@BinderThread
diff --git a/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
index d09c478e320f..54af69432ee0 100644
--- a/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
@@ -207,6 +207,12 @@ public final class MultiClientInputMethodManagerService {
reportNotSupported();
return false;
}
+
+ @Override
+ public void registerInputMethodListListener(
+ InputMethodListListener listener) {
+ reportNotSupported();
+ }
});
}
diff --git a/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java b/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java
index 11fe15f0e12b..9754b6d4db02 100644
--- a/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java
+++ b/services/core/java/com/android/server/integrity/AppIntegrityManagerServiceImpl.java
@@ -46,11 +46,12 @@ import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
+import android.provider.Settings;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.integrity.engine.RuleEvaluationEngine;
import com.android.server.integrity.model.IntegrityCheckResult;
@@ -67,6 +68,7 @@ import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -105,6 +107,8 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
private final RuleEvaluationEngine mEvaluationEngine;
private final IntegrityFileManager mIntegrityFileManager;
+ private final boolean mCheckIntegrityForRuleProviders;
+
/** Create an instance of {@link AppIntegrityManagerServiceImpl}. */
public static AppIntegrityManagerServiceImpl create(Context context) {
HandlerThread handlerThread = new HandlerThread("AppIntegrityManagerServiceHandler");
@@ -115,7 +119,13 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
LocalServices.getService(PackageManagerInternal.class),
RuleEvaluationEngine.getRuleEvaluationEngine(),
IntegrityFileManager.getInstance(),
- handlerThread.getThreadHandler());
+ handlerThread.getThreadHandler(),
+ Settings.Global.getInt(
+ context.getContentResolver(),
+ Settings.Global.INTEGRITY_CHECK_INCLUDES_RULE_PROVIDER,
+ 0)
+ == 1
+ );
}
@VisibleForTesting
@@ -124,12 +134,14 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
PackageManagerInternal packageManagerInternal,
RuleEvaluationEngine evaluationEngine,
IntegrityFileManager integrityFileManager,
- Handler handler) {
+ Handler handler,
+ boolean checkIntegrityForRuleProviders) {
mContext = context;
mPackageManagerInternal = packageManagerInternal;
mEvaluationEngine = evaluationEngine;
mIntegrityFileManager = integrityFileManager;
mHandler = handler;
+ mCheckIntegrityForRuleProviders = checkIntegrityForRuleProviders;
IntentFilter integrityVerificationFilter = new IntentFilter();
integrityVerificationFilter.addAction(ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION);
@@ -170,7 +182,8 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
success = false;
}
- StatsLog.write(StatsLog.INTEGRITY_RULES_PUSHED, success, ruleProvider, version);
+ FrameworkStatsLog.write(FrameworkStatsLog.INTEGRITY_RULES_PUSHED, success,
+ ruleProvider, version);
Intent intent = new Intent();
intent.putExtra(EXTRA_STATUS, success ? STATUS_SUCCESS : STATUS_FAILURE);
@@ -207,6 +220,17 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
: "";
}
+ @Override
+ public ParceledListSlice<Rule> getCurrentRules() {
+ List<Rule> rules = Collections.emptyList();
+ try {
+ rules = mIntegrityFileManager.readRules(/* appInstallMetadata= */ null);
+ } catch (Exception e) {
+ Slog.e(TAG, "Error getting current rules", e);
+ }
+ return new ParceledListSlice<>(rules);
+ }
+
private void handleIntegrityVerification(Intent intent) {
int verificationId = intent.getIntExtra(EXTRA_VERIFICATION_ID, -1);
@@ -228,7 +252,8 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
String installerPackageName = getInstallerPackageName(intent);
// Skip integrity verification if the verifier is doing the install.
- if (isRuleProvider(installerPackageName)) {
+ if (!mCheckIntegrityForRuleProviders
+ && isRuleProvider(installerPackageName)) {
Slog.i(TAG, "Verifier doing the install. Skipping integrity check.");
mPackageManagerInternal.setIntegrityVerificationResult(
verificationId, PackageManagerInternal.INTEGRITY_VERIFICATION_ALLOW);
@@ -260,17 +285,17 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
"Integrity check result: "
+ result.getEffect()
+ " due to "
- + result.getRule());
+ + result.getMatchedRules());
- StatsLog.write(
- StatsLog.INTEGRITY_CHECK_RESULT_REPORTED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED,
packageName,
appCert,
appInstallMetadata.getVersionCode(),
installerPackageName,
- getLoggingResponse(result),
- isCausedByAppCertRule(result),
- isCausedByInstallerRule(result));
+ result.getLoggingResponse(),
+ result.isCausedByAppCertRule(),
+ result.isCausedByInstallerRule());
mPackageManagerInternal.setIntegrityVerificationResult(
verificationId,
result.getEffect() == IntegrityCheckResult.Effect.ALLOW
@@ -295,7 +320,7 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
* Verify the UID and return the installer package name.
*
* @return the package name of the installer, or null if it cannot be determined or it is
- * installed via adb.
+ * installed via adb.
*/
@Nullable
private String getInstallerPackageName(Intent intent) {
@@ -583,33 +608,14 @@ public class AppIntegrityManagerServiceImpl extends IAppIntegrityManager.Stub {
}
}
- private static int getLoggingResponse(IntegrityCheckResult result) {
- if (result.getEffect() == IntegrityCheckResult.Effect.DENY) {
- return StatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__REJECTED;
- } else if (result.getRule() != null) {
- return StatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__FORCE_ALLOWED;
- } else {
- return StatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__ALLOWED;
- }
- }
-
- private static boolean isCausedByAppCertRule(IntegrityCheckResult result) {
- // TODO(b/147095027): implement this.
- return true;
- }
-
- private static boolean isCausedByInstallerRule(IntegrityCheckResult result) {
- // TODO(b/147095027): implement this.
- return true;
- }
-
private List<String> getAllowedRuleProviders() {
- return Arrays.asList(mContext.getResources().getStringArray(
- R.array.config_integrityRuleProviderPackages));
+ return Arrays.asList(
+ mContext.getResources()
+ .getStringArray(R.array.config_integrityRuleProviderPackages));
}
private boolean isRuleProvider(String installerPackageName) {
- return getAllowedRuleProviders().stream().anyMatch(
- ruleProvider -> ruleProvider.equals(installerPackageName));
+ return getAllowedRuleProviders().stream()
+ .anyMatch(ruleProvider -> ruleProvider.equals(installerPackageName));
}
}
diff --git a/services/core/java/com/android/server/integrity/IntegrityFileManager.java b/services/core/java/com/android/server/integrity/IntegrityFileManager.java
index fffe7d9030ff..7f0231e72373 100644
--- a/services/core/java/com/android/server/integrity/IntegrityFileManager.java
+++ b/services/core/java/com/android/server/integrity/IntegrityFileManager.java
@@ -147,19 +147,21 @@ public class IntegrityFileManager {
/**
* Read rules from persistent storage.
*
- * @param appInstallMetadata information about the install used to select rules to read
+ * @param appInstallMetadata information about the install used to select rules to read. If
+ * null, all rules will be read.
*/
- public List<Rule> readRules(AppInstallMetadata appInstallMetadata)
+ public List<Rule> readRules(@Nullable AppInstallMetadata appInstallMetadata)
throws IOException, RuleParseException {
synchronized (RULES_LOCK) {
// Try to identify indexes from the index file.
- List<RuleIndexRange> ruleReadingIndexes;
- try {
- ruleReadingIndexes =
- mRuleIndexingController.identifyRulesToEvaluate(appInstallMetadata);
- } catch (Exception e) {
- Slog.w(TAG, "Error identifying the rule indexes. Trying unindexed.", e);
- ruleReadingIndexes = Collections.emptyList();
+ List<RuleIndexRange> ruleReadingIndexes = Collections.emptyList();
+ if (appInstallMetadata != null) {
+ try {
+ ruleReadingIndexes =
+ mRuleIndexingController.identifyRulesToEvaluate(appInstallMetadata);
+ } catch (Exception e) {
+ Slog.w(TAG, "Error identifying the rule indexes. Trying unindexed.", e);
+ }
}
// Read the rules based on the index information when available.
diff --git a/services/core/java/com/android/server/integrity/engine/RuleEvaluator.java b/services/core/java/com/android/server/integrity/engine/RuleEvaluator.java
index 66537ff6105e..9d9430441e07 100644
--- a/services/core/java/com/android/server/integrity/engine/RuleEvaluator.java
+++ b/services/core/java/com/android/server/integrity/engine/RuleEvaluator.java
@@ -25,8 +25,8 @@ import android.content.integrity.Rule;
import com.android.server.integrity.model.IntegrityCheckResult;
-import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* A helper class for evaluating rules against app install metadata to find if there are matching
@@ -48,29 +48,34 @@ final class RuleEvaluator {
@NonNull
static IntegrityCheckResult evaluateRules(
List<Rule> rules, AppInstallMetadata appInstallMetadata) {
- List<Rule> matchedRules = new ArrayList<>();
- for (Rule rule : rules) {
- if (rule.getFormula().matches(appInstallMetadata)) {
- matchedRules.add(rule);
- }
+
+ // Identify the rules that match the {@code appInstallMetadata}.
+ List<Rule> matchedRules =
+ rules.stream()
+ .filter(rule -> rule.getFormula().matches(appInstallMetadata))
+ .collect(Collectors.toList());
+
+ // Identify the matched power allow rules and terminate early if we have any.
+ List<Rule> matchedPowerAllowRules =
+ matchedRules.stream()
+ .filter(rule -> rule.getEffect() == FORCE_ALLOW)
+ .collect(Collectors.toList());
+
+ if (!matchedPowerAllowRules.isEmpty()) {
+ return IntegrityCheckResult.allow(matchedPowerAllowRules);
}
- boolean denied = false;
- Rule denyRule = null;
- for (Rule rule : matchedRules) {
- switch (rule.getEffect()) {
- case DENY:
- if (!denied) {
- denied = true;
- denyRule = rule;
- }
- break;
- case FORCE_ALLOW:
- return IntegrityCheckResult.allow(rule);
- default:
- throw new IllegalArgumentException("Matched an unknown effect rule: " + rule);
- }
+ // Identify the matched deny rules.
+ List<Rule> matchedDenyRules =
+ matchedRules.stream()
+ .filter(rule -> rule.getEffect() == DENY)
+ .collect(Collectors.toList());
+
+ if (!matchedDenyRules.isEmpty()) {
+ return IntegrityCheckResult.deny(matchedDenyRules);
}
- return denied ? IntegrityCheckResult.deny(denyRule) : IntegrityCheckResult.allow();
+
+ // When no rules are denied, return default allow result.
+ return IntegrityCheckResult.allow();
}
}
diff --git a/services/core/java/com/android/server/integrity/model/IntegrityCheckResult.java b/services/core/java/com/android/server/integrity/model/IntegrityCheckResult.java
index b3cb31ac8cb1..1fa067065e1b 100644
--- a/services/core/java/com/android/server/integrity/model/IntegrityCheckResult.java
+++ b/services/core/java/com/android/server/integrity/model/IntegrityCheckResult.java
@@ -19,6 +19,11 @@ package com.android.server.integrity.model;
import android.annotation.Nullable;
import android.content.integrity.Rule;
+import com.android.internal.util.FrameworkStatsLog;
+
+import java.util.Collections;
+import java.util.List;
+
/**
* A class encapsulating the result from the evaluation engine after evaluating rules against app
* install metadata.
@@ -34,19 +39,19 @@ public final class IntegrityCheckResult {
}
private final Effect mEffect;
- @Nullable private final Rule mRule;
+ private final List<Rule> mRuleList;
- private IntegrityCheckResult(Effect effect, @Nullable Rule rule) {
+ private IntegrityCheckResult(Effect effect, @Nullable List<Rule> ruleList) {
this.mEffect = effect;
- this.mRule = rule;
+ this.mRuleList = ruleList;
}
public Effect getEffect() {
return mEffect;
}
- public Rule getRule() {
- return mRule;
+ public List<Rule> getMatchedRules() {
+ return mRuleList;
}
/**
@@ -55,7 +60,7 @@ public final class IntegrityCheckResult {
* @return An evaluation outcome with ALLOW effect and no rule.
*/
public static IntegrityCheckResult allow() {
- return new IntegrityCheckResult(Effect.ALLOW, null);
+ return new IntegrityCheckResult(Effect.ALLOW, Collections.emptyList());
}
/**
@@ -63,17 +68,43 @@ public final class IntegrityCheckResult {
*
* @return An evaluation outcome with ALLOW effect and rule causing that effect.
*/
- public static IntegrityCheckResult allow(Rule rule) {
- return new IntegrityCheckResult(Effect.ALLOW, rule);
+ public static IntegrityCheckResult allow(List<Rule> ruleList) {
+ return new IntegrityCheckResult(Effect.ALLOW, ruleList);
}
/**
* Create a DENY evaluation outcome.
*
- * @param rule Rule causing the DENY effect.
+ * @param ruleList All valid rules that cause the DENY effect.
* @return An evaluation outcome with DENY effect and rule causing that effect.
*/
- public static IntegrityCheckResult deny(Rule rule) {
- return new IntegrityCheckResult(Effect.DENY, rule);
+ public static IntegrityCheckResult deny(List<Rule> ruleList) {
+ return new IntegrityCheckResult(Effect.DENY, ruleList);
+ }
+
+ /**
+ * Returns the in value of the integrity check result for logging purposes.
+ */
+ public int getLoggingResponse() {
+ if (getEffect() == Effect.DENY) {
+ return FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__REJECTED;
+ } else if (getEffect() == Effect.ALLOW && getMatchedRules().isEmpty()) {
+ return FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__ALLOWED;
+ } else if (getEffect() == Effect.ALLOW && !getMatchedRules().isEmpty()) {
+ return FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__FORCE_ALLOWED;
+ } else {
+ throw new IllegalStateException("IntegrityCheckResult is not valid.");
+ }
}
+
+ /** Returns true when the {@code mEffect} is caused by an app certificate mismatch. */
+ public boolean isCausedByAppCertRule() {
+ return mRuleList.stream().anyMatch(rule -> rule.getFormula().isAppCertificateFormula());
+ }
+
+ /** Returns true when the {@code mEffect} is caused by an installer rule. */
+ public boolean isCausedByInstallerRule() {
+ return mRuleList.stream().anyMatch(rule -> rule.getFormula().isInstallerFormula());
+ }
+
}
diff --git a/services/core/java/com/android/server/integrity/parser/RuleXmlParser.java b/services/core/java/com/android/server/integrity/parser/RuleXmlParser.java
deleted file mode 100644
index f37ca1efce13..000000000000
--- a/services/core/java/com/android/server/integrity/parser/RuleXmlParser.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.integrity.parser;
-
-import android.content.integrity.AtomicFormula;
-import android.content.integrity.CompoundFormula;
-import android.content.integrity.IntegrityFormula;
-import android.content.integrity.Rule;
-import android.util.Xml;
-
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-
-/** A helper class to parse rules into the {@link Rule} model from Xml representation. */
-public final class RuleXmlParser implements RuleParser {
-
- public static final String TAG = "RuleXmlParser";
-
- private static final String NAMESPACE = "";
- private static final String RULE_LIST_TAG = "RL";
- private static final String RULE_TAG = "R";
- private static final String COMPOUND_FORMULA_TAG = "OF";
- private static final String ATOMIC_FORMULA_TAG = "AF";
- private static final String EFFECT_ATTRIBUTE = "E";
- private static final String KEY_ATTRIBUTE = "K";
- private static final String OPERATOR_ATTRIBUTE = "O";
- private static final String VALUE_ATTRIBUTE = "V";
- private static final String CONNECTOR_ATTRIBUTE = "C";
- private static final String IS_HASHED_VALUE_ATTRIBUTE = "H";
-
- @Override
- public List<Rule> parse(byte[] ruleBytes) throws RuleParseException {
- try {
- XmlPullParser xmlPullParser = Xml.newPullParser();
- xmlPullParser.setInput(new StringReader(new String(ruleBytes, StandardCharsets.UTF_8)));
- return parseRules(xmlPullParser);
- } catch (Exception e) {
- throw new RuleParseException(e.getMessage(), e);
- }
- }
-
- @Override
- public List<Rule> parse(RandomAccessObject randomAccessObject, List<RuleIndexRange> indexRanges)
- throws RuleParseException {
- try {
- XmlPullParser xmlPullParser = Xml.newPullParser();
- xmlPullParser.setInput(
- new RandomAccessInputStream(randomAccessObject),
- StandardCharsets.UTF_8.name());
- return parseRules(xmlPullParser);
- } catch (Exception e) {
- throw new RuleParseException(e.getMessage(), e);
- }
- }
-
- private static List<Rule> parseRules(XmlPullParser parser)
- throws IOException, XmlPullParserException {
- List<Rule> rules = new ArrayList<>();
-
- // Skipping the first event type, which is always {@link XmlPullParser.START_DOCUMENT}
- parser.next();
-
- // Processing the first tag; which should always be a RuleList <RL> tag.
- String nodeName = parser.getName();
- // Validating that the XML is starting with a RuleList <RL> tag.
- // Note: This is the only breaking validation to run against XML files in the platform.
- // All rules inside are assumed to be validated at the server. If a rule is found to be
- // corrupt in the XML, it will be skipped to the next rule.
- if (!nodeName.equals(RULE_LIST_TAG)) {
- throw new RuntimeException(
- String.format(
- "Rules must start with RuleList <RL> tag. Found: %s at %s",
- nodeName, parser.getPositionDescription()));
- }
-
- int eventType;
- while ((eventType = parser.next()) != XmlPullParser.END_DOCUMENT) {
- nodeName = parser.getName();
- if (eventType != XmlPullParser.START_TAG || !nodeName.equals(RULE_TAG)) {
- continue;
- }
- rules.add(parseRule(parser));
- }
-
- return rules;
- }
-
- private static Rule parseRule(XmlPullParser parser) throws IOException, XmlPullParserException {
- IntegrityFormula formula = null;
- int effect = Integer.parseInt(extractAttributeValue(parser, EFFECT_ATTRIBUTE).orElse("-1"));
-
- int eventType;
- while ((eventType = parser.next()) != XmlPullParser.END_DOCUMENT) {
- String nodeName = parser.getName();
-
- if (eventType == XmlPullParser.END_TAG && parser.getName().equals(RULE_TAG)) {
- break;
- }
-
- if (eventType == XmlPullParser.START_TAG) {
- switch (nodeName) {
- case COMPOUND_FORMULA_TAG:
- formula = parseCompoundFormula(parser);
- break;
- case ATOMIC_FORMULA_TAG:
- formula = parseAtomicFormula(parser);
- break;
- default:
- throw new RuntimeException(
- String.format("Found unexpected tag: %s", nodeName));
- }
- } else {
- throw new RuntimeException(
- String.format("Found unexpected event type: %d", eventType));
- }
- }
-
- return new Rule(formula, effect);
- }
-
- private static IntegrityFormula parseCompoundFormula(XmlPullParser parser)
- throws IOException, XmlPullParserException {
- int connector =
- Integer.parseInt(extractAttributeValue(parser, CONNECTOR_ATTRIBUTE).orElse("-1"));
- List<IntegrityFormula> formulas = new ArrayList<>();
-
- int eventType;
- while ((eventType = parser.next()) != XmlPullParser.END_DOCUMENT) {
- String nodeName = parser.getName();
-
- if (eventType == XmlPullParser.END_TAG
- && parser.getName().equals(COMPOUND_FORMULA_TAG)) {
- break;
- }
-
- if (eventType == XmlPullParser.START_TAG) {
- switch (nodeName) {
- case ATOMIC_FORMULA_TAG:
- formulas.add(parseAtomicFormula(parser));
- break;
- case COMPOUND_FORMULA_TAG:
- formulas.add(parseCompoundFormula(parser));
- break;
- default:
- throw new RuntimeException(
- String.format("Found unexpected tag: %s", nodeName));
- }
- } else {
- throw new RuntimeException(
- String.format("Found unexpected event type: %d", eventType));
- }
- }
-
- return new CompoundFormula(connector, formulas);
- }
-
- private static IntegrityFormula parseAtomicFormula(XmlPullParser parser)
- throws IOException, XmlPullParserException {
- int key = Integer.parseInt(extractAttributeValue(parser, KEY_ATTRIBUTE).orElse("-1"));
- int operator =
- Integer.parseInt(extractAttributeValue(parser, OPERATOR_ATTRIBUTE).orElse("-1"));
- String value = extractAttributeValue(parser, VALUE_ATTRIBUTE).orElse(null);
- String isHashedValue =
- extractAttributeValue(parser, IS_HASHED_VALUE_ATTRIBUTE).orElse(null);
-
- int eventType;
- while ((eventType = parser.next()) != XmlPullParser.END_DOCUMENT) {
- if (eventType == XmlPullParser.END_TAG && parser.getName().equals(ATOMIC_FORMULA_TAG)) {
- break;
- }
- }
- return constructAtomicFormulaBasedOnKey(key, operator, value, isHashedValue);
- }
-
- private static IntegrityFormula constructAtomicFormulaBasedOnKey(
- @AtomicFormula.Key int key,
- @AtomicFormula.Operator int operator,
- String value,
- String isHashedValue) {
- switch (key) {
- case AtomicFormula.PACKAGE_NAME:
- case AtomicFormula.INSTALLER_NAME:
- case AtomicFormula.APP_CERTIFICATE:
- case AtomicFormula.INSTALLER_CERTIFICATE:
- return new AtomicFormula.StringAtomicFormula(
- key, value, Boolean.parseBoolean(isHashedValue));
- case AtomicFormula.PRE_INSTALLED:
- return new AtomicFormula.BooleanAtomicFormula(key, Boolean.parseBoolean(value));
- case AtomicFormula.VERSION_CODE:
- return new AtomicFormula.LongAtomicFormula(key, operator, Integer.parseInt(value));
- default:
- throw new RuntimeException(String.format("Found unexpected key: %d", key));
- }
- }
-
- private static Optional<String> extractAttributeValue(XmlPullParser parser, String attribute) {
- return Optional.ofNullable(parser.getAttributeValue(NAMESPACE, attribute));
- }
-}
diff --git a/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java b/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java
index d01499668e8c..00e054596cd7 100644
--- a/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java
+++ b/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java
@@ -87,7 +87,7 @@ public class RuleBinarySerializer implements RuleSerializer {
}
if (rules.size() > TOTAL_RULE_SIZE_LIMIT) {
- throw new IllegalArgumentException("Too many rules provided.");
+ throw new IllegalArgumentException("Too many rules provided: " + rules.size());
}
// Determine the indexing groups and the order of the rules within each indexed group.
@@ -134,7 +134,11 @@ public class RuleBinarySerializer implements RuleSerializer {
.map(list -> list.size())
.collect(Collectors.summingInt(Integer::intValue));
if (totalRuleCount > ruleSizeLimit) {
- throw new IllegalArgumentException("Too many rules provided in the indexing group.");
+ throw new IllegalArgumentException(
+ "Too many rules provided in the indexing group. Provided "
+ + totalRuleCount
+ + " limit "
+ + ruleSizeLimit);
}
}
diff --git a/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java b/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java
deleted file mode 100644
index 6e1218064096..000000000000
--- a/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.integrity.serializer;
-
-import static com.android.server.integrity.serializer.RuleIndexingDetails.APP_CERTIFICATE_INDEXED;
-import static com.android.server.integrity.serializer.RuleIndexingDetails.NOT_INDEXED;
-import static com.android.server.integrity.serializer.RuleIndexingDetails.PACKAGE_NAME_INDEXED;
-
-import android.content.integrity.AtomicFormula;
-import android.content.integrity.CompoundFormula;
-import android.content.integrity.IntegrityFormula;
-import android.content.integrity.Rule;
-import android.util.Xml;
-
-import org.xmlpull.v1.XmlSerializer;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.StringWriter;
-import java.nio.charset.StandardCharsets;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-/** A helper class to serialize rules from the {@link Rule} model to Xml representation. */
-public class RuleXmlSerializer implements RuleSerializer {
-
- public static final String TAG = "RuleXmlSerializer";
- private static final String NAMESPACE = "";
-
- private static final String RULE_LIST_TAG = "RL";
- private static final String RULE_TAG = "R";
- private static final String COMPOUND_FORMULA_TAG = "OF";
- private static final String ATOMIC_FORMULA_TAG = "AF";
- private static final String EFFECT_ATTRIBUTE = "E";
- private static final String KEY_ATTRIBUTE = "K";
- private static final String OPERATOR_ATTRIBUTE = "O";
- private static final String VALUE_ATTRIBUTE = "V";
- private static final String CONNECTOR_ATTRIBUTE = "C";
- private static final String IS_HASHED_VALUE_ATTRIBUTE = "H";
-
- @Override
- public void serialize(
- List<Rule> rules,
- Optional<Integer> formatVersion,
- OutputStream outputStream,
- OutputStream indexingOutputStream)
- throws RuleSerializeException {
- try {
- XmlSerializer xmlSerializer = Xml.newSerializer();
- xmlSerializer.setOutput(outputStream, StandardCharsets.UTF_8.name());
- serializeRules(rules, xmlSerializer);
-
- // TODO(b/145493956): Implement the indexing logic.
- } catch (Exception e) {
- throw new RuleSerializeException(e.getMessage(), e);
- }
- }
-
- @Override
- public byte[] serialize(List<Rule> rules, Optional<Integer> formatVersion)
- throws RuleSerializeException {
- try {
- XmlSerializer xmlSerializer = Xml.newSerializer();
- StringWriter writer = new StringWriter();
- xmlSerializer.setOutput(writer);
- serializeRules(rules, xmlSerializer);
- return writer.toString().getBytes(StandardCharsets.UTF_8);
- } catch (Exception e) {
- throw new RuleSerializeException(e.getMessage(), e);
- }
- }
-
- private void serializeRules(List<Rule> rules, XmlSerializer xmlSerializer)
- throws RuleSerializeException {
- try {
- // Determine the indexing groups and the order of the rules within each indexed group.
- Map<Integer, Map<String, List<Rule>>> indexedRules =
- RuleIndexingDetailsIdentifier.splitRulesIntoIndexBuckets(rules);
-
- // Write the XML formatted rules in order.
- xmlSerializer.startTag(NAMESPACE, RULE_LIST_TAG);
-
- serializeRuleList(indexedRules.get(PACKAGE_NAME_INDEXED), xmlSerializer);
- serializeRuleList(indexedRules.get(APP_CERTIFICATE_INDEXED), xmlSerializer);
- serializeRuleList(indexedRules.get(NOT_INDEXED), xmlSerializer);
-
- xmlSerializer.endTag(NAMESPACE, RULE_LIST_TAG);
- xmlSerializer.endDocument();
- } catch (Exception e) {
- throw new RuleSerializeException(e.getMessage(), e);
- }
- }
-
- private void serializeRuleList(Map<String, List<Rule>> rulesMap, XmlSerializer xmlSerializer)
- throws IOException {
- List<String> sortedKeyList =
- rulesMap.keySet().stream().sorted().collect(Collectors.toList());
- for (String key : sortedKeyList) {
- for (Rule rule : rulesMap.get(key)) {
- serializeRule(rule, xmlSerializer);
- }
- }
- }
-
- private void serializeRule(Rule rule, XmlSerializer xmlSerializer) throws IOException {
- if (rule == null) {
- return;
- }
- xmlSerializer.startTag(NAMESPACE, RULE_TAG);
- serializeAttributeValue(EFFECT_ATTRIBUTE, String.valueOf(rule.getEffect()), xmlSerializer);
- serializeFormula(rule.getFormula(), xmlSerializer);
- xmlSerializer.endTag(NAMESPACE, RULE_TAG);
- }
-
- private void serializeFormula(IntegrityFormula formula, XmlSerializer xmlSerializer)
- throws IOException {
- if (formula instanceof AtomicFormula) {
- serializeAtomicFormula((AtomicFormula) formula, xmlSerializer);
- } else if (formula instanceof CompoundFormula) {
- serializeCompoundFormula((CompoundFormula) formula, xmlSerializer);
- } else {
- throw new IllegalArgumentException(
- String.format("Invalid formula type: %s", formula.getClass()));
- }
- }
-
- private void serializeCompoundFormula(
- CompoundFormula compoundFormula, XmlSerializer xmlSerializer) throws IOException {
- if (compoundFormula == null) {
- return;
- }
- xmlSerializer.startTag(NAMESPACE, COMPOUND_FORMULA_TAG);
- serializeAttributeValue(
- CONNECTOR_ATTRIBUTE, String.valueOf(compoundFormula.getConnector()), xmlSerializer);
- for (IntegrityFormula formula : compoundFormula.getFormulas()) {
- serializeFormula(formula, xmlSerializer);
- }
- xmlSerializer.endTag(NAMESPACE, COMPOUND_FORMULA_TAG);
- }
-
- private void serializeAtomicFormula(AtomicFormula atomicFormula, XmlSerializer xmlSerializer)
- throws IOException {
- if (atomicFormula == null) {
- return;
- }
- xmlSerializer.startTag(NAMESPACE, ATOMIC_FORMULA_TAG);
- serializeAttributeValue(
- KEY_ATTRIBUTE, String.valueOf(atomicFormula.getKey()), xmlSerializer);
- if (atomicFormula.getTag() == AtomicFormula.STRING_ATOMIC_FORMULA_TAG) {
- serializeAttributeValue(
- VALUE_ATTRIBUTE,
- ((AtomicFormula.StringAtomicFormula) atomicFormula).getValue(),
- xmlSerializer);
- serializeAttributeValue(
- IS_HASHED_VALUE_ATTRIBUTE,
- String.valueOf(
- ((AtomicFormula.StringAtomicFormula) atomicFormula).getIsHashedValue()),
- xmlSerializer);
- } else if (atomicFormula.getTag() == AtomicFormula.LONG_ATOMIC_FORMULA_TAG) {
- serializeAttributeValue(
- OPERATOR_ATTRIBUTE,
- String.valueOf(((AtomicFormula.LongAtomicFormula) atomicFormula).getOperator()),
- xmlSerializer);
- serializeAttributeValue(
- VALUE_ATTRIBUTE,
- String.valueOf(((AtomicFormula.LongAtomicFormula) atomicFormula).getValue()),
- xmlSerializer);
- } else if (atomicFormula.getTag() == AtomicFormula.BOOLEAN_ATOMIC_FORMULA_TAG) {
- serializeAttributeValue(
- VALUE_ATTRIBUTE,
- String.valueOf(((AtomicFormula.BooleanAtomicFormula) atomicFormula).getValue()),
- xmlSerializer);
- } else {
- throw new IllegalArgumentException(
- String.format("Invalid atomic formula type: %s", atomicFormula.getClass()));
- }
- xmlSerializer.endTag(NAMESPACE, ATOMIC_FORMULA_TAG);
- }
-
- private void serializeAttributeValue(
- String attribute, String value, XmlSerializer xmlSerializer) throws IOException {
- if (value == null) {
- return;
- }
- xmlSerializer.attribute(NAMESPACE, attribute, value);
- }
-}
diff --git a/services/core/java/com/android/server/location/AbstractLocationProvider.java b/services/core/java/com/android/server/location/AbstractLocationProvider.java
index 5afa48a2b34d..997f21c9b6a3 100644
--- a/services/core/java/com/android/server/location/AbstractLocationProvider.java
+++ b/services/core/java/com/android/server/location/AbstractLocationProvider.java
@@ -21,6 +21,7 @@ import android.content.Context;
import android.location.Location;
import android.os.Binder;
import android.os.Bundle;
+import android.util.ArraySet;
import com.android.internal.location.ProviderProperties;
import com.android.internal.location.ProviderRequest;
@@ -120,7 +121,8 @@ public abstract class AbstractLocationProvider {
if (providerPackageNames.equals(this.providerPackageNames)) {
return this;
} else {
- return new State(allowed, properties, providerPackageNames);
+ return new State(allowed, properties,
+ Collections.unmodifiableSet(new ArraySet<>(providerPackageNames)));
}
}
@@ -175,7 +177,6 @@ public abstract class AbstractLocationProvider {
}
}
- protected final Context mContext;
protected final Executor mExecutor;
// we use a lock-free implementation to update state to ensure atomicity between updating the
@@ -184,13 +185,11 @@ public abstract class AbstractLocationProvider {
// before it was set, and should not miss any updates that occur after it was set).
private final AtomicReference<InternalState> mInternalState;
- protected AbstractLocationProvider(Context context, Executor executor) {
- this(context, executor, Collections.singleton(context.getPackageName()));
+ protected AbstractLocationProvider(Executor executor, Context context) {
+ this(executor, Collections.singleton(context.getPackageName()));
}
- protected AbstractLocationProvider(Context context, Executor executor,
- Set<String> packageNames) {
- mContext = context;
+ protected AbstractLocationProvider(Executor executor, Set<String> packageNames) {
mExecutor = executor;
mInternalState = new AtomicReference<>(
new InternalState(null, State.EMPTY_STATE.withProviderPackageNames(packageNames)));
@@ -200,7 +199,7 @@ public abstract class AbstractLocationProvider {
* Sets the listener and returns the state at the moment the listener was set. The listener can
* expect to receive all state updates from after this point.
*/
- State setListener(@Nullable Listener listener) {
+ protected State setListener(@Nullable Listener listener) {
return mInternalState.updateAndGet(
internalState -> internalState.withListener(listener)).state;
}
@@ -208,14 +207,14 @@ public abstract class AbstractLocationProvider {
/**
* Retrieves the state of the provider.
*/
- State getState() {
+ public State getState() {
return mInternalState.get().state;
}
/**
* Sets the state of the provider to the new state.
*/
- void setState(State newState) {
+ protected void setState(State newState) {
InternalState oldInternalState = mInternalState.getAndUpdate(
internalState -> internalState.withState(newState));
if (newState.equals(oldInternalState.state)) {
@@ -355,7 +354,7 @@ public abstract class AbstractLocationProvider {
/**
* Always invoked on the provider executor.
*/
- protected void onExtraCommand(int uid, int pid, String command, Bundle extras) {}
+ protected abstract void onExtraCommand(int uid, int pid, String command, Bundle extras);
/**
* Requests a provider to enable itself for the given user id.
@@ -368,7 +367,7 @@ public abstract class AbstractLocationProvider {
/**
* Always invoked on the provider executor.
*/
- protected void onRequestSetAllowed(boolean allowed) {}
+ protected abstract void onRequestSetAllowed(boolean allowed);
/**
* Dumps debug or log information. May be invoked from any thread.
diff --git a/services/core/java/com/android/server/location/AppForegroundHelper.java b/services/core/java/com/android/server/location/AppForegroundHelper.java
new file mode 100644
index 000000000000..8ddfc652d333
--- /dev/null
+++ b/services/core/java/com/android/server/location/AppForegroundHelper.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.location;
+
+import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE;
+import static android.app.ActivityManager.RunningAppProcessInfo.Importance;
+
+import android.annotation.Nullable;
+import android.app.ActivityManager;
+import android.content.Context;
+import android.os.Binder;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.Preconditions;
+import com.android.server.FgThread;
+
+import java.util.Objects;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+/**
+ * Provides accessors and listeners for all application foreground status. An application is
+ * considered foreground if it's uid's importance level is at or more important than
+ * {@link android.app.ActivityManager.RunningAppProcessInfo#IMPORTANCE_FOREGROUND_SERVICE}.
+ */
+public class AppForegroundHelper {
+
+ /**
+ * Listener for application foreground state changes.
+ */
+ public interface AppForegroundListener {
+ /**
+ * Called when an application's foreground state changes.
+ */
+ void onAppForegroundChanged(int uid, boolean foreground);
+ }
+
+ // importance constants decrement with increasing importance - this is our limit for an
+ // importance level we consider foreground.
+ private static final int FOREGROUND_IMPORTANCE_CUTOFF = IMPORTANCE_FOREGROUND_SERVICE;
+
+ private static boolean isForeground(@Importance int importance) {
+ return importance <= FOREGROUND_IMPORTANCE_CUTOFF;
+ }
+
+ private final Context mContext;
+ private final CopyOnWriteArrayList<AppForegroundListener> mListeners;
+
+ @GuardedBy("this")
+ @Nullable private ActivityManager mActivityManager;
+
+ public AppForegroundHelper(Context context) {
+ mContext = context;
+ mListeners = new CopyOnWriteArrayList<>();
+ }
+
+ /** Called when system is ready. */
+ public synchronized void onSystemReady() {
+ if (mActivityManager != null) {
+ return;
+ }
+
+ mActivityManager = Objects.requireNonNull(mContext.getSystemService(ActivityManager.class));
+ mActivityManager.addOnUidImportanceListener(this::onAppForegroundChanged,
+ FOREGROUND_IMPORTANCE_CUTOFF);
+ }
+
+ /**
+ * Adds a listener for app foreground changed events. Callbacks occur on an unspecified thread.
+ */
+ public void addListener(AppForegroundListener listener) {
+ mListeners.add(listener);
+ }
+
+ /**
+ * Removes a listener for app foreground changed events.
+ */
+ public void removeListener(AppForegroundListener listener) {
+ mListeners.remove(listener);
+ }
+
+ private void onAppForegroundChanged(int uid, @Importance int importance) {
+ // invoked on ui thread, move to fg thread so we don't block the ui thread
+ boolean foreground = isForeground(importance);
+ FgThread.getHandler().post(() -> {
+ for (AppForegroundListener listener : mListeners) {
+ listener.onAppForegroundChanged(uid, foreground);
+ }
+ });
+ }
+
+ /**
+ * Whether the given uid is currently foreground.
+ */
+ public boolean isAppForeground(int uid) {
+ return isForeground(getImportance(uid));
+ }
+
+ /**
+ * Retrieves the current importance of the given uid.
+ *
+ * @deprecated Prefer {@link #isAppForeground(int)}.
+ */
+ @Deprecated
+ @Importance
+ public int getImportance(int uid) {
+ synchronized (this) {
+ Preconditions.checkState(mActivityManager != null);
+ }
+
+ long identity = Binder.clearCallingIdentity();
+ try {
+ return mActivityManager.getUidImportance(uid);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/location/GeofenceManager.java b/services/core/java/com/android/server/location/GeofenceManager.java
index 81c06d7125f9..4e9c06761e54 100644
--- a/services/core/java/com/android/server/location/GeofenceManager.java
+++ b/services/core/java/com/android/server/location/GeofenceManager.java
@@ -77,7 +77,7 @@ public class GeofenceManager implements LocationListener, PendingIntent.OnFinish
private final AppOpsManager mAppOps;
private final PowerManager.WakeLock mWakeLock;
- private final LocationSettingsStore mSettingsStore;
+ private final SettingsHelper mSettingsStore;
private final Object mLock = new Object();
@@ -111,7 +111,7 @@ public class GeofenceManager implements LocationListener, PendingIntent.OnFinish
*/
private boolean mPendingUpdate;
- public GeofenceManager(Context context, LocationSettingsStore settingsStore) {
+ public GeofenceManager(Context context, SettingsHelper settingsStore) {
mContext = context;
mHandler = new GeofenceHandler(FgThread.getHandler().getLooper());
diff --git a/services/core/java/com/android/server/location/GnssConfiguration.java b/services/core/java/com/android/server/location/GnssConfiguration.java
index 86a84e312899..b3546dc79572 100644
--- a/services/core/java/com/android/server/location/GnssConfiguration.java
+++ b/services/core/java/com/android/server/location/GnssConfiguration.java
@@ -23,7 +23,8 @@ import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.text.TextUtils;
import android.util.Log;
-import android.util.StatsLog;
+
+import com.android.internal.util.FrameworkStatsLog;
import libcore.io.IoUtils;
@@ -283,7 +284,7 @@ class GnssConfiguration {
}
private void logConfigurations() {
- StatsLog.write(StatsLog.GNSS_CONFIGURATION_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.GNSS_CONFIGURATION_REPORTED,
getSuplHost(),
getSuplPort(0),
getC2KHost(),
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index 306e1e3afcd7..bcac4730cb8b 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -43,7 +43,6 @@ import android.os.BatteryStats;
import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
-import android.os.HandlerExecutor;
import android.os.Looper;
import android.os.Message;
import android.os.PersistableBundle;
@@ -64,7 +63,6 @@ import android.telephony.TelephonyManager;
import android.telephony.gsm.GsmCellLocation;
import android.text.TextUtils;
import android.util.Log;
-import android.util.StatsLog;
import android.util.TimeUtils;
import com.android.internal.annotations.GuardedBy;
@@ -75,7 +73,9 @@ import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification;
import com.android.internal.location.ProviderProperties;
import com.android.internal.location.ProviderRequest;
import com.android.internal.location.gnssmetrics.GnssMetrics;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.DeviceIdleInternal;
+import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.location.GnssSatelliteBlacklistHelper.GnssSatelliteBlacklistCallback;
import com.android.server.location.NtpTimeHelper.InjectNtpTimeCallback;
@@ -408,7 +408,7 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
// Available only on GNSS HAL 2.0 implementations and later.
private GnssVisibilityControl mGnssVisibilityControl;
- // Handler for processing events
+ private final Context mContext;
private Handler mHandler;
private final GnssNetworkConnectivityHandler mNetworkConnectivityHandler;
@@ -624,12 +624,13 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
}
}
- public GnssLocationProvider(Context context, Handler handler) {
- super(context, new HandlerExecutor(handler));
+ public GnssLocationProvider(Context context) {
+ super(FgThread.getExecutor(), context);
ensureInitialized();
- mLooper = handler.getLooper();
+ mContext = context;
+ mLooper = FgThread.getHandler().getLooper();
// Create a wake lock
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
@@ -1212,6 +1213,11 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
}
}
+ @Override
+ protected void onRequestSetAllowed(boolean allowed) {
+ // do nothing - the gnss provider is always allowed
+ }
+
private void deleteAidingData(Bundle extras) {
int flags;
@@ -1825,8 +1831,8 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
}
native_send_ni_response(notificationId, userResponse);
- StatsLog.write(StatsLog.GNSS_NI_EVENT_REPORTED,
- StatsLog.GNSS_NI_EVENT_REPORTED__EVENT_TYPE__NI_RESPONSE,
+ FrameworkStatsLog.write(FrameworkStatsLog.GNSS_NI_EVENT_REPORTED,
+ FrameworkStatsLog.GNSS_NI_EVENT_REPORTED__EVENT_TYPE__NI_RESPONSE,
notificationId,
/* niType= */ 0,
/* needNotify= */ false,
@@ -1891,8 +1897,8 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
notification.textEncoding = textEncoding;
mNIHandler.handleNiNotification(notification);
- StatsLog.write(StatsLog.GNSS_NI_EVENT_REPORTED,
- StatsLog.GNSS_NI_EVENT_REPORTED__EVENT_TYPE__NI_REQUEST,
+ FrameworkStatsLog.write(FrameworkStatsLog.GNSS_NI_EVENT_REPORTED,
+ FrameworkStatsLog.GNSS_NI_EVENT_REPORTED__EVENT_TYPE__NI_REQUEST,
notification.notificationId,
notification.niType,
notification.needNotify,
diff --git a/services/core/java/com/android/server/location/GnssVisibilityControl.java b/services/core/java/com/android/server/location/GnssVisibilityControl.java
index dd522b95a938..2b5fc7989d8b 100644
--- a/services/core/java/com/android/server/location/GnssVisibilityControl.java
+++ b/services/core/java/com/android/server/location/GnssVisibilityControl.java
@@ -36,11 +36,11 @@ import android.os.UserHandle;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
-import android.util.StatsLog;
import com.android.internal.R;
import com.android.internal.location.GpsNetInitiatedHandler;
import com.android.internal.notification.SystemNotificationChannels;
+import com.android.internal.util.FrameworkStatsLog;
import java.util.Arrays;
import java.util.List;
@@ -650,7 +650,7 @@ class GnssVisibilityControl {
}
private void logEvent(NfwNotification notification, boolean isPermissionMismatched) {
- StatsLog.write(StatsLog.GNSS_NFW_NOTIFICATION_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.GNSS_NFW_NOTIFICATION_REPORTED,
notification.mProxyAppPackageName,
notification.mProtocolStack,
notification.mOtherProtocolStackName,
diff --git a/services/core/java/com/android/server/location/LocationFudger.java b/services/core/java/com/android/server/location/LocationFudger.java
index ae71fe36c31c..04c7714f07f7 100644
--- a/services/core/java/com/android/server/location/LocationFudger.java
+++ b/services/core/java/com/android/server/location/LocationFudger.java
@@ -16,17 +16,19 @@
package com.android.server.location;
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-import java.security.SecureRandom;
import android.content.Context;
import android.database.ContentObserver;
import android.location.Location;
+import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.provider.Settings;
import android.util.Log;
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+import java.security.SecureRandom;
+
/**
* Contains the logic to obfuscate (fudge) locations for coarse applications.
@@ -177,7 +179,12 @@ public class LocationFudger {
private Location addCoarseLocationExtraLocked(Location location) {
Location coarse = createCoarseLocked(location);
- location.setExtraLocation(Location.EXTRA_COARSE_LOCATION, coarse);
+ Bundle extras = location.getExtras();
+ if (extras == null) {
+ extras = new Bundle();
+ }
+ extras.putParcelable(Location.EXTRA_COARSE_LOCATION, coarse);
+ location.setExtras(extras);
return coarse;
}
diff --git a/services/core/java/com/android/server/location/LocationProviderProxy.java b/services/core/java/com/android/server/location/LocationProviderProxy.java
index cf299fe9bb2a..96ffaa6c0bff 100644
--- a/services/core/java/com/android/server/location/LocationProviderProxy.java
+++ b/services/core/java/com/android/server/location/LocationProviderProxy.java
@@ -18,6 +18,8 @@ package com.android.server.location;
import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
+import static com.android.internal.util.ConcurrentUtils.DIRECT_EXECUTOR;
+
import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.Context;
@@ -29,6 +31,7 @@ import android.os.RemoteException;
import android.util.ArraySet;
import android.util.Log;
+import com.android.internal.annotations.GuardedBy;
import com.android.internal.location.ILocationProvider;
import com.android.internal.location.ILocationProviderManager;
import com.android.internal.location.ProviderProperties;
@@ -71,7 +74,7 @@ public class LocationProviderProxy extends AbstractLocationProvider {
@Override
public void onSetAdditionalProviderPackages(List<String> packageNames) {
int maxCount = Math.min(MAX_ADDITIONAL_PACKAGES, packageNames.size());
- ArraySet<String> allPackages = new ArraySet<>(maxCount);
+ ArraySet<String> allPackages = new ArraySet<>(maxCount + 1);
for (String packageName : packageNames) {
if (packageNames.size() >= maxCount) {
return;
@@ -86,25 +89,39 @@ public class LocationProviderProxy extends AbstractLocationProvider {
}
}
- // add the binder package
- ComponentName service = mServiceWatcher.getBoundService().component;
- if (service != null) {
- allPackages.add(service.getPackageName());
- }
+ synchronized (mLock) {
+ if (!mBound) {
+ return;
+ }
- setPackageNames(allPackages);
+ // add the binder package
+ ComponentName service = mServiceWatcher.getBoundService().component;
+ if (service != null) {
+ allPackages.add(service.getPackageName());
+ }
+
+ setPackageNames(allPackages);
+ }
}
// executed on binder thread
@Override
public void onSetAllowed(boolean allowed) {
- setAllowed(allowed);
+ synchronized (mLock) {
+ if (mBound) {
+ setAllowed(allowed);
+ }
+ }
}
// executed on binder thread
@Override
public void onSetProperties(ProviderProperties properties) {
- setProperties(properties);
+ synchronized (mLock) {
+ if (mBound) {
+ setProperties(properties);
+ }
+ }
}
// executed on binder thread
@@ -114,18 +131,29 @@ public class LocationProviderProxy extends AbstractLocationProvider {
}
};
+ // also used to synchronized any state changes (setEnabled, setProperties, setState, etc)
+ private final Object mLock = new Object();
+
+ private final Context mContext;
private final ServiceWatcher mServiceWatcher;
- @Nullable private ProviderRequest mRequest;
+ @GuardedBy("mLock")
+ private boolean mBound;
+
+ private volatile ProviderRequest mRequest;
private LocationProviderProxy(Context context, String action, int enableOverlayResId,
int nonOverlayPackageResId) {
- super(context, FgThread.getExecutor());
+ // safe to use direct executor since our locks are not acquired in a code path invoked by
+ // our owning provider
+ super(DIRECT_EXECUTOR, Collections.emptySet());
+ mContext = context;
mServiceWatcher = new ServiceWatcher(context, FgThread.getHandler(), action, this::onBind,
this::onUnbind, enableOverlayResId, nonOverlayPackageResId);
- mRequest = null;
+ mBound = false;
+ mRequest = ProviderRequest.EMPTY_REQUEST;
}
private boolean register() {
@@ -135,26 +163,34 @@ public class LocationProviderProxy extends AbstractLocationProvider {
private void onBind(IBinder binder) throws RemoteException {
ILocationProvider provider = ILocationProvider.Stub.asInterface(binder);
- ComponentName service = mServiceWatcher.getBoundService().component;
- if (service != null) {
- setPackageNames(Collections.singleton(service.getPackageName()));
- }
+ synchronized (mLock) {
+ mBound = true;
- provider.setLocationProviderManager(mManager);
+ provider.setLocationProviderManager(mManager);
- if (mRequest != null) {
- provider.setRequest(mRequest, mRequest.workSource);
+ ProviderRequest request = mRequest;
+ if (!request.equals(ProviderRequest.EMPTY_REQUEST)) {
+ provider.setRequest(request, request.workSource);
+ }
+
+ ComponentName service = mServiceWatcher.getBoundService().component;
+ if (service != null) {
+ setPackageNames(Collections.singleton(service.getPackageName()));
+ }
}
}
private void onUnbind() {
- setState(State.EMPTY_STATE);
+ synchronized (mLock) {
+ mBound = false;
+ setState(State.EMPTY_STATE);
+ }
}
@Override
public void onSetRequest(ProviderRequest request) {
+ mRequest = request;
mServiceWatcher.runOnBinder(binder -> {
- mRequest = request;
ILocationProvider service = ILocationProvider.Stub.asInterface(binder);
service.setRequest(request, request.workSource);
});
@@ -178,6 +214,6 @@ public class LocationProviderProxy extends AbstractLocationProvider {
@Override
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- pw.println("service=" + mServiceWatcher);
+ mServiceWatcher.dump(fd, pw, args);
}
}
diff --git a/services/core/java/com/android/server/location/LocationUsageLogger.java b/services/core/java/com/android/server/location/LocationUsageLogger.java
index 755438b1a413..93e19df01cf3 100644
--- a/services/core/java/com/android/server/location/LocationUsageLogger.java
+++ b/services/core/java/com/android/server/location/LocationUsageLogger.java
@@ -24,9 +24,9 @@ import android.location.LocationManager;
import android.location.LocationRequest;
import android.stats.location.LocationStatsEnums;
import android.util.Log;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.FrameworkStatsLog;
import java.time.Instant;
@@ -61,8 +61,8 @@ public class LocationUsageLogger {
boolean isLocationRequestNull = locationRequest == null;
boolean isGeofenceNull = geofence == null;
- StatsLog.write(StatsLog.LOCATION_MANAGER_API_USAGE_REPORTED, usageType,
- apiInUse, packageName,
+ FrameworkStatsLog.write(FrameworkStatsLog.LOCATION_MANAGER_API_USAGE_REPORTED,
+ usageType, apiInUse, packageName,
isLocationRequestNull
? LocationStatsEnums.PROVIDER_UNKNOWN
: bucketizeProvider(locationRequest.getProvider()),
@@ -101,7 +101,8 @@ public class LocationUsageLogger {
return;
}
- StatsLog.write(StatsLog.LOCATION_MANAGER_API_USAGE_REPORTED, usageType, apiInUse,
+ FrameworkStatsLog.write(FrameworkStatsLog.LOCATION_MANAGER_API_USAGE_REPORTED,
+ usageType, apiInUse,
/* package_name= */ null,
bucketizeProvider(providerName),
LocationStatsEnums.QUALITY_UNKNOWN,
diff --git a/services/core/java/com/android/server/location/MockProvider.java b/services/core/java/com/android/server/location/MockProvider.java
index bcec8b12b371..b45b66017062 100644
--- a/services/core/java/com/android/server/location/MockProvider.java
+++ b/services/core/java/com/android/server/location/MockProvider.java
@@ -16,15 +16,18 @@
package com.android.server.location;
+import static com.android.internal.util.ConcurrentUtils.DIRECT_EXECUTOR;
+
import android.annotation.Nullable;
-import android.content.Context;
import android.location.Location;
+import android.os.Bundle;
import com.android.internal.location.ProviderProperties;
import com.android.internal.location.ProviderRequest;
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import java.util.Collections;
/**
* A mock location provider used by LocationManagerService to implement test providers.
@@ -35,10 +38,9 @@ public class MockProvider extends AbstractLocationProvider {
@Nullable private Location mLocation;
- public MockProvider(Context context, ProviderProperties properties) {
- // using a direct executor is only acceptable because this class is so simple it is trivial
- // to verify that it does not acquire any locks or re-enter LMS from callbacks
- super(context, Runnable::run);
+ public MockProvider(ProviderProperties properties) {
+ // using a direct executor is ok because this class has no locks that could deadlock
+ super(DIRECT_EXECUTOR, Collections.emptySet());
setProperties(properties);
}
@@ -59,6 +61,9 @@ public class MockProvider extends AbstractLocationProvider {
public void onSetRequest(ProviderRequest request) {}
@Override
+ protected void onExtraCommand(int uid, int pid, String command, Bundle extras) {}
+
+ @Override
protected void onRequestSetAllowed(boolean allowed) {
setAllowed(allowed);
}
diff --git a/services/core/java/com/android/server/location/MockableLocationProvider.java b/services/core/java/com/android/server/location/MockableLocationProvider.java
index 18615f87609f..b0e133061fc6 100644
--- a/services/core/java/com/android/server/location/MockableLocationProvider.java
+++ b/services/core/java/com/android/server/location/MockableLocationProvider.java
@@ -16,8 +16,9 @@
package com.android.server.location;
+import static com.android.internal.util.ConcurrentUtils.DIRECT_EXECUTOR;
+
import android.annotation.Nullable;
-import android.content.Context;
import android.location.Location;
import android.os.Bundle;
@@ -68,10 +69,10 @@ public class MockableLocationProvider extends AbstractLocationProvider {
* The client should expect that it may being to receive callbacks as soon as this constructor
* is invoked.
*/
- public MockableLocationProvider(Context context, Object ownerLock, Listener listener) {
+ public MockableLocationProvider(Object ownerLock, Listener listener) {
// using a direct executor is acceptable because all inbound calls are delegated to the
// actual provider implementations which will use their own executors
- super(context, Runnable::run, Collections.emptySet());
+ super(DIRECT_EXECUTOR, Collections.emptySet());
mOwnerLock = ownerLock;
mRequest = ProviderRequest.EMPTY_REQUEST;
@@ -190,11 +191,6 @@ public class MockableLocationProvider extends AbstractLocationProvider {
}
}
- @Override
- public State getState() {
- return super.getState();
- }
-
/**
* Returns the current location request.
*/
@@ -204,6 +200,7 @@ public class MockableLocationProvider extends AbstractLocationProvider {
}
}
+ @Override
protected void onSetRequest(ProviderRequest request) {
synchronized (mOwnerLock) {
if (request == mRequest) {
@@ -218,6 +215,7 @@ public class MockableLocationProvider extends AbstractLocationProvider {
}
}
+ @Override
protected void onExtraCommand(int uid, int pid, String command, Bundle extras) {
synchronized (mOwnerLock) {
if (mProvider != null) {
@@ -226,6 +224,15 @@ public class MockableLocationProvider extends AbstractLocationProvider {
}
}
+ @Override
+ protected void onRequestSetAllowed(boolean allowed) {
+ synchronized (mOwnerLock) {
+ if (mProvider != null) {
+ mProvider.onRequestSetAllowed(allowed);
+ }
+ }
+ }
+
/**
* Dumps the current provider implementation.
*/
@@ -233,6 +240,9 @@ public class MockableLocationProvider extends AbstractLocationProvider {
AbstractLocationProvider provider;
synchronized (mOwnerLock) {
provider = mProvider;
+ pw.println("allowed=" + getState().allowed);
+ pw.println("properties=" + getState().properties);
+ pw.println("packages=" + getState().providerPackageNames);
pw.println("request=" + mRequest);
}
diff --git a/services/core/java/com/android/server/location/PassiveProvider.java b/services/core/java/com/android/server/location/PassiveProvider.java
index ef157a39fa28..54dffff8b1df 100644
--- a/services/core/java/com/android/server/location/PassiveProvider.java
+++ b/services/core/java/com/android/server/location/PassiveProvider.java
@@ -16,9 +16,12 @@
package com.android.server.location;
+import static com.android.internal.util.ConcurrentUtils.DIRECT_EXECUTOR;
+
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
+import android.os.Bundle;
import com.android.internal.location.ProviderProperties;
import com.android.internal.location.ProviderRequest;
@@ -49,9 +52,8 @@ public class PassiveProvider extends AbstractLocationProvider {
private volatile boolean mReportLocation;
public PassiveProvider(Context context) {
- // using a direct executor is only acceptable because this class is so simple it is trivial
- // to verify that it does not acquire any locks or re-enter LMS from callbacks
- super(context, Runnable::run);
+ // using a direct executor is ok because this class has no locks that could deadlock
+ super(DIRECT_EXECUTOR, context);
mReportLocation = false;
@@ -59,15 +61,26 @@ public class PassiveProvider extends AbstractLocationProvider {
setAllowed(true);
}
+ /**
+ * Pass a location into the passive provider.
+ */
+ public void updateLocation(Location location) {
+ if (mReportLocation) {
+ reportLocation(location);
+ }
+ }
+
@Override
public void onSetRequest(ProviderRequest request) {
mReportLocation = request.reportLocation;
}
- public void updateLocation(Location location) {
- if (mReportLocation) {
- reportLocation(location);
- }
+ @Override
+ protected void onExtraCommand(int uid, int pid, String command, Bundle extras) {}
+
+ @Override
+ protected void onRequestSetAllowed(boolean allowed) {
+ // do nothing - the passive provider is always allowed
}
@Override
diff --git a/services/core/java/com/android/server/location/LocationSettingsStore.java b/services/core/java/com/android/server/location/SettingsHelper.java
index 0e8720ebb08f..9163490fa777 100644
--- a/services/core/java/com/android/server/location/LocationSettingsStore.java
+++ b/services/core/java/com/android/server/location/SettingsHelper.java
@@ -54,7 +54,7 @@ import java.util.function.Supplier;
/**
* Provides accessors and listeners for all location related settings.
*/
-public class LocationSettingsStore {
+public class SettingsHelper {
/**
* Listener for user-specific settings changes.
@@ -99,7 +99,7 @@ public class LocationSettingsStore {
private final StringSetCachedGlobalSetting mIgnoreSettingsPackageWhitelist;
// TODO: get rid of handler
- public LocationSettingsStore(Context context, Handler handler) {
+ public SettingsHelper(Context context, Handler handler) {
mContext = context;
mLocationMode = new IntegerSecureSetting(context, LOCATION_MODE, handler);
@@ -118,7 +118,7 @@ public class LocationSettingsStore {
}
/** Called when system is ready. */
- public synchronized void onSystemReady() {
+ public void onSystemReady() {
mLocationMode.register();
mBackgroundThrottleIntervalMs.register();
mLocationPackageBlacklist.register();
@@ -135,7 +135,8 @@ public class LocationSettingsStore {
}
/**
- * Add a listener for changes to the location enabled setting.
+ * Add a listener for changes to the location enabled setting. Callbacks occur on an unspecified
+ * thread.
*/
public void addOnLocationEnabledChangedListener(UserSettingChangedListener listener) {
mLocationMode.addListener(listener);
@@ -156,7 +157,8 @@ public class LocationSettingsStore {
}
/**
- * Add a listener for changes to the background throttle interval.
+ * Add a listener for changes to the background throttle interval. Callbacks occur on an
+ * unspecified thread.
*/
public void addOnBackgroundThrottleIntervalChangedListener(
GlobalSettingChangedListener listener) {
@@ -204,7 +206,8 @@ public class LocationSettingsStore {
}
/**
- * Add a listener for changes to the background throttle package whitelist.
+ * Add a listener for changes to the background throttle package whitelist. Callbacks occur on
+ * an unspecified thread.
*/
public void addOnBackgroundThrottlePackageWhitelistChangedListener(
GlobalSettingChangedListener listener) {
@@ -227,7 +230,8 @@ public class LocationSettingsStore {
}
/**
- * Add a listener for changes to the ignore settings package whitelist.
+ * Add a listener for changes to the ignore settings package whitelist. Callbacks occur on an
+ * unspecified thread.
*/
public void addOnIgnoreSettingsPackageWhitelistChangedListener(
GlobalSettingChangedListener listener) {
@@ -340,6 +344,8 @@ public class LocationSettingsStore {
private abstract static class ObservingSetting extends ContentObserver {
private final CopyOnWriteArrayList<UserSettingChangedListener> mListeners;
+
+ @GuardedBy("this")
private boolean mRegistered;
private ObservingSetting(Handler handler) {
@@ -347,11 +353,11 @@ public class LocationSettingsStore {
mListeners = new CopyOnWriteArrayList<>();
}
- protected boolean isRegistered() {
+ protected synchronized boolean isRegistered() {
return mRegistered;
}
- protected void register(Context context, Uri uri) {
+ protected synchronized void register(Context context, Uri uri) {
if (mRegistered) {
return;
}
@@ -393,8 +399,13 @@ public class LocationSettingsStore {
}
public int getValueForUser(int defaultValue, int userId) {
- return Settings.Secure.getIntForUser(mContext.getContentResolver(), mSettingName,
- defaultValue, userId);
+ long identity = Binder.clearCallingIdentity();
+ try {
+ return Settings.Secure.getIntForUser(mContext.getContentResolver(), mSettingName,
+ defaultValue, userId);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@@ -417,7 +428,7 @@ public class LocationSettingsStore {
mCachedUserId = UserHandle.USER_NULL;
}
- public synchronized void register() {
+ public void register() {
register(mContext, Settings.Secure.getUriFor(mSettingName));
}
@@ -426,12 +437,17 @@ public class LocationSettingsStore {
List<String> value = mCachedValue;
if (userId != mCachedUserId) {
- String setting = Settings.Secure.getStringForUser(mContext.getContentResolver(),
- mSettingName, userId);
- if (TextUtils.isEmpty(setting)) {
- value = Collections.emptyList();
- } else {
- value = Arrays.asList(setting.split(","));
+ long identity = Binder.clearCallingIdentity();
+ try {
+ String setting = Settings.Secure.getStringForUser(mContext.getContentResolver(),
+ mSettingName, userId);
+ if (TextUtils.isEmpty(setting)) {
+ value = Collections.emptyList();
+ } else {
+ value = Arrays.asList(setting.split(","));
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
if (isRegistered()) {
@@ -473,8 +489,13 @@ public class LocationSettingsStore {
}
public long getValue(long defaultValue) {
- return Settings.Global.getLong(mContext.getContentResolver(), mSettingName,
- defaultValue);
+ long identity = Binder.clearCallingIdentity();
+ try {
+ return Settings.Global.getLong(mContext.getContentResolver(), mSettingName,
+ defaultValue);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@@ -499,18 +520,23 @@ public class LocationSettingsStore {
mValid = false;
}
- public synchronized void register() {
+ public void register() {
register(mContext, Settings.Global.getUriFor(mSettingName));
}
public synchronized Set<String> getValue() {
ArraySet<String> value = mCachedValue;
if (!mValid) {
- value = new ArraySet<>(mBaseValuesSupplier.get());
- String setting = Settings.Global.getString(mContext.getContentResolver(),
- mSettingName);
- if (!TextUtils.isEmpty(setting)) {
- value.addAll(Arrays.asList(setting.split(",")));
+ long identity = Binder.clearCallingIdentity();
+ try {
+ value = new ArraySet<>(mBaseValuesSupplier.get());
+ String setting = Settings.Global.getString(mContext.getContentResolver(),
+ mSettingName);
+ if (!TextUtils.isEmpty(setting)) {
+ value.addAll(Arrays.asList(setting.split(",")));
+ }
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
if (isRegistered()) {
diff --git a/services/core/java/com/android/server/location/UserInfoStore.java b/services/core/java/com/android/server/location/UserInfoHelper.java
index f282ed26a831..94f3a88cb859 100644
--- a/services/core/java/com/android/server/location/UserInfoStore.java
+++ b/services/core/java/com/android/server/location/UserInfoHelper.java
@@ -42,7 +42,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
/**
* Provides accessors and listeners for all user info.
*/
-public class UserInfoStore {
+public class UserInfoHelper {
/**
* Listener for current user changes.
@@ -58,20 +58,16 @@ public class UserInfoStore {
private final CopyOnWriteArrayList<UserChangedListener> mListeners;
@GuardedBy("this")
- @Nullable
- private UserManager mUserManager;
+ @Nullable private UserManager mUserManager;
- @GuardedBy("this")
- @UserIdInt
- private int mCurrentUserId;
+ @UserIdInt private volatile int mCurrentUserId;
@GuardedBy("this")
- @UserIdInt
- private int mCachedParentUserId;
+ @UserIdInt private int mCachedParentUserId;
@GuardedBy("this")
private int[] mCachedProfileUserIds;
- public UserInfoStore(Context context) {
+ public UserInfoHelper(Context context) {
mContext = context;
mListeners = new CopyOnWriteArrayList<>();
@@ -120,7 +116,7 @@ public class UserInfoStore {
}
/**
- * Adds a listener for user changed events.
+ * Adds a listener for user changed events. Callbacks occur on an unspecified thread.
*/
public void addListener(UserChangedListener listener) {
mListeners.add(listener);
@@ -134,16 +130,13 @@ public class UserInfoStore {
}
private void onUserChanged(@UserIdInt int newUserId) {
- int oldUserId;
- synchronized (this) {
- if (newUserId == mCurrentUserId) {
- return;
- }
-
- oldUserId = mCurrentUserId;
- mCurrentUserId = newUserId;
+ if (newUserId == mCurrentUserId) {
+ return;
}
+ int oldUserId = mCurrentUserId;
+ mCurrentUserId = newUserId;
+
for (UserChangedListener listener : mListeners) {
listener.onUserChanged(oldUserId, newUserId);
}
@@ -161,7 +154,7 @@ public class UserInfoStore {
* Returns the user id of the current user.
*/
@UserIdInt
- public synchronized int getCurrentUserId() {
+ public int getCurrentUserId() {
return mCurrentUserId;
}
@@ -169,9 +162,10 @@ public class UserInfoStore {
* Returns true if the given user id is either the current user or a profile of the current
* user.
*/
- public synchronized boolean isCurrentUserOrProfile(@UserIdInt int userId) {
- return userId == mCurrentUserId || ArrayUtils.contains(
- getProfileUserIdsForParentUser(mCurrentUserId), userId);
+ public boolean isCurrentUserOrProfile(@UserIdInt int userId) {
+ int currentUserId = mCurrentUserId;
+ return userId == currentUserId || ArrayUtils.contains(
+ getProfileUserIdsForParentUser(currentUserId), userId);
}
/**
@@ -179,50 +173,44 @@ public class UserInfoStore {
* is a parent or has no profiles.
*/
@UserIdInt
- public synchronized int getParentUserId(@UserIdInt int userId) {
- int parentUserId;
- if (userId == mCachedParentUserId || ArrayUtils.contains(mCachedProfileUserIds, userId)) {
- parentUserId = mCachedParentUserId;
- } else {
+ public int getParentUserId(@UserIdInt int userId) {
+ synchronized (this) {
+ if (userId == mCachedParentUserId || ArrayUtils.contains(mCachedProfileUserIds,
+ userId)) {
+ return mCachedParentUserId;
+ }
+
Preconditions.checkState(mUserManager != null);
+ }
- long identity = Binder.clearCallingIdentity();
- try {
- UserInfo userInfo = mUserManager.getProfileParent(userId);
- if (userInfo != null) {
- parentUserId = userInfo.id;
- } else {
- // getProfileParent() returns null if the userId is already the parent...
- parentUserId = userId;
- }
+ int parentUserId;
- // force profiles into cache
- getProfileUserIdsForParentUser(parentUserId);
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
+ long identity = Binder.clearCallingIdentity();
+ try {
+ UserInfo userInfo = mUserManager.getProfileParent(userId);
+ parentUserId = userInfo != null ? userInfo.id : userId;
+ } finally {
+ Binder.restoreCallingIdentity(identity);
}
+ // force profiles into cache
+ getProfileUserIdsForParentUser(parentUserId);
return parentUserId;
}
@GuardedBy("this")
- private int[] getProfileUserIdsForParentUser(@UserIdInt int parentUserId) {
- Preconditions.checkState(mUserManager != null);
-
- // only assert on debug builds as this is a more expensive check
- if (Build.IS_DEBUGGABLE) {
- long identity = Binder.clearCallingIdentity();
- try {
- Preconditions.checkArgument(mUserManager.getProfileParent(parentUserId) == null);
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
- }
-
+ private synchronized int[] getProfileUserIdsForParentUser(@UserIdInt int parentUserId) {
if (parentUserId != mCachedParentUserId) {
long identity = Binder.clearCallingIdentity();
try {
+ Preconditions.checkState(mUserManager != null);
+
+ // more expensive check - check that argument really is a parent user id
+ if (Build.IS_DEBUGGABLE) {
+ Preconditions.checkArgument(
+ mUserManager.getProfileParent(parentUserId) == null);
+ }
+
mCachedParentUserId = parentUserId;
mCachedProfileUserIds = mUserManager.getProfileIdsWithDisabled(parentUserId);
} finally {
@@ -236,8 +224,9 @@ public class UserInfoStore {
/**
* Dump info for debugging.
*/
- public synchronized void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- pw.println("Current User: " + mCurrentUserId + " " + Arrays.toString(
- getProfileUserIdsForParentUser(mCurrentUserId)));
+ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+ int currentUserId = mCurrentUserId;
+ pw.println("Current User: " + currentUserId + " " + Arrays.toString(
+ getProfileUserIdsForParentUser(currentUserId)));
}
}
diff --git a/services/core/java/com/android/server/location/gnss/GnssManagerService.java b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
index 1eb2c525ff22..2bab9fa67eb0 100644
--- a/services/core/java/com/android/server/location/gnss/GnssManagerService.java
+++ b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
@@ -16,10 +16,11 @@
package com.android.server.location.gnss;
+import static android.app.AppOpsManager.OP_FINE_LOCATION;
+
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.content.Context;
import android.location.GnssCapabilities;
@@ -31,8 +32,8 @@ import android.location.IGnssStatusListener;
import android.location.IGpsGeofenceHardware;
import android.location.INetInitiatedListener;
import android.location.Location;
+import android.location.LocationManagerInternal;
import android.os.Binder;
-import android.os.Handler;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Process;
@@ -43,13 +44,12 @@ import android.util.Log;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.DumpUtils;
import com.android.internal.util.IndentingPrintWriter;
-import com.android.server.FgThread;
-import com.android.server.LocationManagerService;
-import com.android.server.LocationManagerServiceUtils;
+import com.android.internal.util.Preconditions;
+import com.android.server.LocalServices;
import com.android.server.LocationManagerServiceUtils.LinkedListener;
import com.android.server.LocationManagerServiceUtils.LinkedListenerBase;
+import com.android.server.location.AppForegroundHelper;
import com.android.server.location.CallerIdentity;
import com.android.server.location.GnssBatchingProvider;
import com.android.server.location.GnssCapabilitiesProvider;
@@ -60,6 +60,7 @@ import com.android.server.location.GnssNavigationMessageProvider;
import com.android.server.location.GnssStatusListenerHelper;
import com.android.server.location.LocationUsageLogger;
import com.android.server.location.RemoteListenerHelper;
+import com.android.server.location.SettingsHelper;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -70,10 +71,18 @@ import java.util.function.Function;
/** Manages Gnss providers and related Gnss functions for LocationManagerService. */
public class GnssManagerService {
+
private static final String TAG = "GnssManagerService";
- private static final boolean D = Log.isLoggable(TAG, Log.DEBUG);
- // Providers
+ public static boolean isGnssSupported() {
+ return GnssLocationProvider.isSupported();
+ }
+
+ private final Context mContext;
+ private final SettingsHelper mSettingsHelper;
+ private final AppForegroundHelper mAppForegroundHelper;
+ private final LocationUsageLogger mLocationUsageLogger;
+
private final GnssLocationProvider mGnssLocationProvider;
private final GnssStatusListenerHelper mGnssStatusProvider;
private final GnssMeasurementsProvider mGnssMeasurementsProvider;
@@ -83,58 +92,59 @@ public class GnssManagerService {
private final GnssLocationProvider.GnssMetricsProvider mGnssMetricsProvider;
private final GnssCapabilitiesProvider mGnssCapabilitiesProvider;
private final GnssBatchingProvider mGnssBatchingProvider;
-
private final INetInitiatedListener mNetInitiatedListener;
private final IGpsGeofenceHardware mGpsGeofenceProxy;
- private final LocationManagerService mLocationManagerService;
- private final LocationUsageLogger mLocationUsageLogger;
@GuardedBy("mGnssMeasurementsListeners")
- private final ArrayMap<IBinder,
- LinkedListener<IGnssMeasurementsListener>>
+ private final ArrayMap<IBinder, LinkedListener<IGnssMeasurementsListener>>
mGnssMeasurementsListeners = new ArrayMap<>();
@GuardedBy("mGnssNavigationMessageListeners")
- private final ArrayMap<
- IBinder, LinkedListener<IGnssNavigationMessageListener>>
+ private final ArrayMap<IBinder, LinkedListener<IGnssNavigationMessageListener>>
mGnssNavigationMessageListeners = new ArrayMap<>();
@GuardedBy("mGnssStatusListeners")
private final ArrayMap<IBinder, LinkedListener<IGnssStatusListener>>
mGnssStatusListeners = new ArrayMap<>();
+ @GuardedBy("this")
+ @Nullable private LocationManagerInternal mLocationManagerInternal;
+ @GuardedBy("this")
+ @Nullable private AppOpsManager mAppOpsManager;
+
+ private final Object mGnssBatchingLock = new Object();
+
@GuardedBy("mGnssBatchingLock")
- private IBatchedLocationCallback mGnssBatchingCallback;
+ @Nullable private IBatchedLocationCallback mGnssBatchingCallback;
@GuardedBy("mGnssBatchingLock")
- private LinkedListener<IBatchedLocationCallback>
- mGnssBatchingDeathCallback;
+ @Nullable private LinkedListener<IBatchedLocationCallback> mGnssBatchingDeathCallback;
@GuardedBy("mGnssBatchingLock")
private boolean mGnssBatchingInProgress = false;
- private final Object mGnssBatchingLock = new Object();
- private final Context mContext;
- private final Handler mHandler;
-
- public GnssManagerService(LocationManagerService locationManagerService,
- Context context, LocationUsageLogger locationUsageLogger) {
- this(locationManagerService, context,
- new GnssLocationProvider(context, FgThread.getHandler()), locationUsageLogger);
+ public GnssManagerService(Context context, SettingsHelper settingsHelper,
+ AppForegroundHelper appForegroundHelper, LocationUsageLogger locationUsageLogger) {
+ this(context, settingsHelper, appForegroundHelper, locationUsageLogger, null);
}
// Can use this constructor to inject GnssLocationProvider for testing
@VisibleForTesting
- public GnssManagerService(LocationManagerService locationManagerService,
- Context context,
- GnssLocationProvider gnssLocationProvider,
- LocationUsageLogger locationUsageLogger) {
+ GnssManagerService(Context context, SettingsHelper settingsHelper,
+ AppForegroundHelper appForegroundHelper, LocationUsageLogger locationUsageLogger,
+ GnssLocationProvider gnssLocationProvider) {
+ Preconditions.checkState(isGnssSupported());
+
mContext = context;
- mHandler = FgThread.getHandler();
+ mSettingsHelper = settingsHelper;
+ mAppForegroundHelper = appForegroundHelper;
+ mLocationUsageLogger = locationUsageLogger;
- mGnssLocationProvider =
- gnssLocationProvider;
+ if (gnssLocationProvider == null) {
+ gnssLocationProvider = new GnssLocationProvider(mContext);
+ }
+ mGnssLocationProvider = gnssLocationProvider;
mGnssStatusProvider = mGnssLocationProvider.getGnssStatusProvider();
mGnssMeasurementsProvider = mGnssLocationProvider.getGnssMeasurementsProvider();
mGnssMeasurementCorrectionsProvider =
@@ -144,108 +154,73 @@ public class GnssManagerService {
mGnssMetricsProvider = mGnssLocationProvider.getGnssMetricsProvider();
mGnssCapabilitiesProvider = mGnssLocationProvider.getGnssCapabilitiesProvider();
mGnssBatchingProvider = mGnssLocationProvider.getGnssBatchingProvider();
-
mNetInitiatedListener = mGnssLocationProvider.getNetInitiatedListener();
mGpsGeofenceProxy = mGnssLocationProvider.getGpsGeofenceProxy();
- mLocationManagerService = locationManagerService;
- mLocationUsageLogger = locationUsageLogger;
-
- registerUidListener();
}
- public static boolean isGnssSupported() {
- return GnssLocationProvider.isSupported();
- }
+ /** Called when system is ready. */
+ public synchronized void onSystemReady() {
+ if (mLocationManagerInternal != null) {
+ return;
+ }
- private boolean hasGnssPermissions(String packageName) {
- mContext.enforceCallingPermission(
- Manifest.permission.ACCESS_FINE_LOCATION,
- "Fine location permission not granted.");
+ mSettingsHelper.onSystemReady();
+ mAppForegroundHelper.onSystemReady();
- int uid = Binder.getCallingUid();
- long identity = Binder.clearCallingIdentity();
- try {
- return mContext.getSystemService(
- AppOpsManager.class).checkOp(AppOpsManager.OP_FINE_LOCATION, uid, packageName)
- == AppOpsManager.MODE_ALLOWED;
- } finally {
- Binder.restoreCallingIdentity(identity);
- }
+ mLocationManagerInternal = LocalServices.getService(LocationManagerInternal.class);
+ mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
+
+ mAppForegroundHelper.addListener(this::onAppForegroundChanged);
}
+ /** Retrieve the GnssLocationProvider. */
public GnssLocationProvider getGnssLocationProvider() {
return mGnssLocationProvider;
}
+ /** Retrieve the IGpsGeofenceHardware. */
public IGpsGeofenceHardware getGpsGeofenceProxy() {
return mGpsGeofenceProxy;
}
/**
* Get year of GNSS hardware.
- *
- * @return year of GNSS hardware as an int if possible, otherwise zero
*/
public int getGnssYearOfHardware() {
- if (mGnssSystemInfoProvider != null) {
- return mGnssSystemInfoProvider.getGnssYearOfHardware();
- } else {
- return 0;
- }
+ return mGnssSystemInfoProvider.getGnssYearOfHardware();
}
/**
* Get model name of GNSS hardware.
- *
- * @return GNSS hardware model name as a string if possible, otherwise null
*/
+ @Nullable
public String getGnssHardwareModelName() {
- if (mGnssSystemInfoProvider != null) {
- return mGnssSystemInfoProvider.getGnssHardwareModelName();
- } else {
- return null;
- }
+ return mGnssSystemInfoProvider.getGnssHardwareModelName();
}
/**
- * Get GNSS hardware capabilities. The capabilities are described in {@link
- * android.location.GnssCapabilities} and their integer values correspond to the
- * bit positions in the returned {@code long} value.
- *
- * @param packageName name of requesting package
- * @return capabilities supported by the GNSS chipset
+ * Get GNSS hardware capabilities. The capabilities returned are a bitfield as described in
+ * {@link android.location.GnssCapabilities}.
*/
public long getGnssCapabilities(String packageName) {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to obtain GNSS chipset capabilities.");
- if (!hasGnssPermissions(packageName) || mGnssCapabilitiesProvider == null) {
+ mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, null);
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
+
+ if (!checkLocationAppOp(packageName)) {
return GnssCapabilities.INVALID_CAPABILITIES;
}
+
return mGnssCapabilitiesProvider.getGnssCapabilities();
}
/**
* Get size of GNSS batch (GNSS location results are batched together for power savings).
- * Requires LOCATION_HARDWARE and GNSS permissions.
- *
- * @param packageName name of requesting package
- * @return size of the GNSS batch collection
*/
public int getGnssBatchSize(String packageName) {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to access hardware batching");
+ mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, null);
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
- if (!hasGnssPermissions(packageName)) {
- Log.e(TAG, "getGnssBatchSize called without GNSS permissions");
- return 0;
- }
- if (mGnssBatchingProvider == null) {
- Log.e(
- TAG,
- "Can not get GNSS batch size. GNSS batching provider "
- + "not available.");
+ if (!checkLocationAppOp(packageName)) {
return 0;
}
@@ -257,27 +232,12 @@ public class GnssManagerService {
/**
* Starts GNSS batch collection. GNSS positions are collected in a batch before being delivered
* as a collection.
- *
- * @param periodNanos duration over which to collect GPS positions before delivering as a
- * batch
- * @param wakeOnFifoFull specifying whether to wake on full queue
- * @param packageName name of requesting package
- * @return true of batch started successfully, false otherwise
*/
public boolean startGnssBatch(long periodNanos, boolean wakeOnFifoFull, String packageName) {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to access hardware batching");
+ mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, null);
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
- if (!hasGnssPermissions(packageName)) {
- Log.e(TAG, "startGnssBatch called without GNSS permissions");
- return false;
- }
- if (mGnssBatchingProvider == null) {
- Log.e(
- TAG,
- "Can not start GNSS batching. GNSS batching provider "
- + "not available.");
+ if (!checkLocationAppOp(packageName)) {
return false;
}
@@ -285,7 +245,6 @@ public class GnssManagerService {
if (mGnssBatchingInProgress) {
// Current design does not expect multiple starts to be called repeatedly
Log.e(TAG, "startGnssBatch unexpectedly called w/o stopping prior batch");
- // Try to clean up anyway, and continue
stopGnssBatch();
}
@@ -296,26 +255,13 @@ public class GnssManagerService {
/**
* Adds a GNSS batching callback for delivering GNSS location batch results.
- *
- * @param callback called when batching operation is complete to deliver GPS positions
- * @param packageName name of requesting package
- * @return true if callback is successfully added, false otherwise
*/
public boolean addGnssBatchingCallback(IBatchedLocationCallback callback, String packageName,
@Nullable String featureId, @NonNull String listenerIdentity) {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to access hardware batching");
+ mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, null);
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
- if (!hasGnssPermissions(packageName)) {
- Log.e(TAG, "addGnssBatchingCallback called without GNSS permissions");
- return false;
- }
- if (mGnssBatchingProvider == null) {
- Log.e(
- TAG,
- "Can not add GNSS batching callback. GNSS batching provider "
- + "not available.");
+ if (!checkLocationAppOp(packageName)) {
return false;
}
@@ -333,11 +279,9 @@ public class GnssManagerService {
stopGnssBatch();
removeGnssBatchingCallback();
});
- if (!mGnssBatchingDeathCallback.linkToListenerDeathNotificationLocked(
- callback.asBinder())) {
- return false;
- }
- return true;
+
+ return mGnssBatchingDeathCallback.linkToListenerDeathNotificationLocked(
+ callback.asBinder());
}
}
@@ -347,27 +291,14 @@ public class GnssManagerService {
* @param packageName name of requesting package
*/
public void flushGnssBatch(String packageName) {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to access hardware batching");
-
- if (!hasGnssPermissions(packageName)) {
- Log.e(TAG, "flushGnssBatch called without GNSS permissions");
- return;
- }
+ mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, null);
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
- if (mGnssBatchingProvider == null) {
- Log.e(
- TAG,
- "Can not flush GNSS batch. GNSS batching provider "
- + "not available.");
+ if (!checkLocationAppOp(packageName)) {
return;
}
synchronized (mGnssBatchingLock) {
- if (!mGnssBatchingInProgress) {
- Log.w(TAG, "flushGnssBatch called with no batch in progress");
- }
mGnssBatchingProvider.flush();
}
}
@@ -376,17 +307,7 @@ public class GnssManagerService {
* Removes GNSS batching callback.
*/
public void removeGnssBatchingCallback() {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to access hardware batching");
-
- if (mGnssBatchingProvider == null) {
- Log.e(
- TAG,
- "Can not add GNSS batching callback. GNSS batching provider "
- + "not available.");
- return;
- }
+ mContext.enforceCallingPermission(android.Manifest.permission.LOCATION_HARDWARE, null);
synchronized (mGnssBatchingLock) {
mGnssBatchingDeathCallback.unlinkFromListenerDeathNotificationLocked(
@@ -398,44 +319,17 @@ public class GnssManagerService {
/**
* Stop GNSS batch collection.
- *
- * @return true if GNSS batch successfully stopped, false otherwise
*/
public boolean stopGnssBatch() {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to access hardware batching");
+ mContext.enforceCallingPermission(android.Manifest.permission.LOCATION_HARDWARE, null);
- if (mGnssBatchingProvider == null) {
- Log.e(
- TAG,
- "Can not stop GNSS batch. GNSS batching provider "
- + "not available.");
- return false;
- }
synchronized (mGnssBatchingLock) {
mGnssBatchingInProgress = false;
return mGnssBatchingProvider.stop();
}
}
- private void registerUidListener() {
- mContext.getSystemService(
- ActivityManager.class).addOnUidImportanceListener(
- (uid, importance) -> {
- // listener invoked on ui thread, move to our thread to reduce risk
- // of blocking ui thread
- mHandler.post(
- () -> {
- onForegroundChanged(uid,
- LocationManagerServiceUtils.isImportanceForeground(
- importance));
- });
- },
- ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE);
- }
-
- private void onForegroundChanged(int uid, boolean foreground) {
+ private void onAppForegroundChanged(int uid, boolean foreground) {
synchronized (mGnssMeasurementsListeners) {
updateListenersOnForegroundChangedLocked(
mGnssMeasurementsListeners,
@@ -463,8 +357,7 @@ public class GnssManagerService {
}
private <TListener extends IInterface> void updateListenersOnForegroundChangedLocked(
- ArrayMap<IBinder, ? extends LinkedListenerBase>
- gnssDataListeners,
+ Map<IBinder, ? extends LinkedListenerBase> gnssDataListeners,
RemoteListenerHelper<TListener> gnssDataProvider,
Function<IBinder, TListener> mapBinderToListener,
int uid,
@@ -477,18 +370,8 @@ public class GnssManagerService {
continue;
}
- if (D) {
- Log.d(
- TAG,
- linkedListener.getListenerName()
- + " from uid "
- + uid
- + " is now "
- + LocationManagerServiceUtils.foregroundAsString(foreground));
- }
-
TListener listener = mapBinderToListener.apply(entry.getKey());
- if (foreground || mLocationManagerService.isThrottlingExemptLocked(callerIdentity)) {
+ if (foreground || isThrottlingExempt(callerIdentity)) {
gnssDataProvider.addListener(listener, callerIdentity);
} else {
gnssDataProvider.removeListener(listener);
@@ -502,67 +385,49 @@ public class GnssManagerService {
@Nullable String featureId,
@NonNull String listenerIdentifier,
RemoteListenerHelper<TListener> gnssDataProvider,
- ArrayMap<IBinder,
- LinkedListener<TListener>> gnssDataListeners,
+ ArrayMap<IBinder, LinkedListener<TListener>> gnssDataListeners,
Consumer<TListener> binderDeathCallback) {
- if (!hasGnssPermissions(packageName)) {
- Log.e(TAG, "addGnssDataListenerLocked called without GNSS permissions");
- return false;
- }
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
- if (gnssDataProvider == null) {
- Log.e(
- TAG,
- "Can not add GNSS data listener. GNSS data provider "
- + "not available.");
+ if (!checkLocationAppOp(packageName)) {
return false;
}
- CallerIdentity callerIdentity =
- new CallerIdentity(Binder.getCallingUid(), Binder.getCallingPid(), packageName,
- featureId, listenerIdentifier);
- LinkedListener<TListener> linkedListener =
- new LocationManagerServiceUtils.LinkedListener<>(
- listener, listenerIdentifier, callerIdentity, binderDeathCallback);
+ CallerIdentity callerIdentity = new CallerIdentity(Binder.getCallingUid(),
+ Binder.getCallingPid(), packageName, featureId, listenerIdentifier);
+ LinkedListener<TListener> linkedListener = new LinkedListener<>(listener,
+ listenerIdentifier, callerIdentity, binderDeathCallback);
IBinder binder = listener.asBinder();
if (!linkedListener.linkToListenerDeathNotificationLocked(binder)) {
return false;
}
gnssDataListeners.put(binder, linkedListener);
- long identity = Binder.clearCallingIdentity();
- try {
- if (gnssDataProvider == mGnssMeasurementsProvider
- || gnssDataProvider == mGnssStatusProvider) {
- mLocationUsageLogger.logLocationApiUsage(
- LocationStatsEnums.USAGE_STARTED,
- gnssDataProvider == mGnssMeasurementsProvider
- ? LocationStatsEnums.API_ADD_GNSS_MEASUREMENTS_LISTENER
- : LocationStatsEnums.API_REGISTER_GNSS_STATUS_CALLBACK,
- packageName,
- /* LocationRequest= */ null,
- /* hasListener= */ true,
- /* hasIntent= */ false,
- /* geofence= */ null,
- LocationManagerServiceUtils.getPackageImportance(packageName,
- mContext));
- }
- if (mLocationManagerService.isThrottlingExemptLocked(callerIdentity)
- || LocationManagerServiceUtils.isImportanceForeground(
- LocationManagerServiceUtils.getPackageImportance(packageName, mContext))) {
- gnssDataProvider.addListener(listener, callerIdentity);
- }
- return true;
- } finally {
- Binder.restoreCallingIdentity(identity);
+ if (gnssDataProvider == mGnssMeasurementsProvider
+ || gnssDataProvider == mGnssStatusProvider) {
+ mLocationUsageLogger.logLocationApiUsage(
+ LocationStatsEnums.USAGE_STARTED,
+ gnssDataProvider == mGnssMeasurementsProvider
+ ? LocationStatsEnums.API_ADD_GNSS_MEASUREMENTS_LISTENER
+ : LocationStatsEnums.API_REGISTER_GNSS_STATUS_CALLBACK,
+ packageName,
+ /* LocationRequest= */ null,
+ /* hasListener= */ true,
+ /* hasIntent= */ false,
+ /* geofence= */ null,
+ mAppForegroundHelper.getImportance(callerIdentity.mUid));
}
+ if (mAppForegroundHelper.isAppForeground(callerIdentity.mUid)
+ || isThrottlingExempt(callerIdentity)) {
+ gnssDataProvider.addListener(listener, callerIdentity);
+ }
+ return true;
}
- private <TListener extends IInterface> void removeGnssDataListener(
+ private <TListener extends IInterface> void removeGnssDataListenerLocked(
TListener listener,
RemoteListenerHelper<TListener> gnssDataProvider,
- ArrayMap<IBinder,
- LinkedListener<TListener>> gnssDataListeners) {
+ ArrayMap<IBinder, LinkedListener<TListener>> gnssDataListeners) {
if (gnssDataProvider == null) {
Log.e(
TAG,
@@ -577,25 +442,19 @@ public class GnssManagerService {
if (linkedListener == null) {
return;
}
- long identity = Binder.clearCallingIdentity();
- try {
- if (gnssDataProvider == mGnssMeasurementsProvider
- || gnssDataProvider == mGnssStatusProvider) {
- mLocationUsageLogger.logLocationApiUsage(
- LocationStatsEnums.USAGE_ENDED,
- gnssDataProvider == mGnssMeasurementsProvider
- ? LocationStatsEnums.API_ADD_GNSS_MEASUREMENTS_LISTENER
- : LocationStatsEnums.API_REGISTER_GNSS_STATUS_CALLBACK,
- linkedListener.getCallerIdentity().mPackageName,
- /* LocationRequest= */ null,
- /* hasListener= */ true,
- /* hasIntent= */ false,
- /* geofence= */ null,
- LocationManagerServiceUtils.getPackageImportance(
- linkedListener.getCallerIdentity().mPackageName, mContext));
- }
- } finally {
- Binder.restoreCallingIdentity(identity);
+ if (gnssDataProvider == mGnssMeasurementsProvider
+ || gnssDataProvider == mGnssStatusProvider) {
+ mLocationUsageLogger.logLocationApiUsage(
+ LocationStatsEnums.USAGE_ENDED,
+ gnssDataProvider == mGnssMeasurementsProvider
+ ? LocationStatsEnums.API_ADD_GNSS_MEASUREMENTS_LISTENER
+ : LocationStatsEnums.API_REGISTER_GNSS_STATUS_CALLBACK,
+ linkedListener.getCallerIdentity().mPackageName,
+ /* LocationRequest= */ null,
+ /* hasListener= */ true,
+ /* hasIntent= */ false,
+ /* geofence= */ null,
+ mAppForegroundHelper.getImportance(Binder.getCallingUid()));
}
linkedListener.unlinkFromListenerDeathNotificationLocked(binder);
gnssDataProvider.removeListener(listener);
@@ -603,10 +462,6 @@ public class GnssManagerService {
/**
* Registers listener for GNSS status changes.
- *
- * @param listener called when GNSS status changes
- * @param packageName name of requesting package
- * @return true if listener is successfully registered, false otherwise
*/
public boolean registerGnssStatusCallback(IGnssStatusListener listener, String packageName,
@Nullable String featureId) {
@@ -624,21 +479,15 @@ public class GnssManagerService {
/**
* Unregisters listener for GNSS status changes.
- *
- * @param listener called when GNSS status changes
*/
public void unregisterGnssStatusCallback(IGnssStatusListener listener) {
synchronized (mGnssStatusListeners) {
- removeGnssDataListener(listener, mGnssStatusProvider, mGnssStatusListeners);
+ removeGnssDataListenerLocked(listener, mGnssStatusProvider, mGnssStatusListeners);
}
}
/**
* Adds a GNSS measurements listener.
- *
- * @param listener called when GNSS measurements are received
- * @param packageName name of requesting package
- * @return true if listener is successfully added, false otherwise
*/
public boolean addGnssMeasurementsListener(
IGnssMeasurementsListener listener, String packageName, @Nullable String featureId,
@@ -657,47 +506,32 @@ public class GnssManagerService {
/**
* Injects GNSS measurement corrections.
- *
- * @param measurementCorrections GNSS measurement corrections
- * @param packageName name of requesting package
*/
public void injectGnssMeasurementCorrections(
GnssMeasurementCorrections measurementCorrections, String packageName) {
- mContext.enforceCallingPermission(
- android.Manifest.permission.LOCATION_HARDWARE,
- "Location Hardware permission not granted to inject GNSS measurement corrections.");
- if (!hasGnssPermissions(packageName)) {
- Log.e(TAG, "Can not inject GNSS corrections due to no permission.");
- return;
- }
- if (mGnssMeasurementCorrectionsProvider == null) {
- Log.e(
- TAG,
- "Can not inject GNSS corrections. GNSS measurement corrections provider "
- + "not available.");
+ mContext.enforceCallingPermission(Manifest.permission.LOCATION_HARDWARE, null);
+ mContext.enforceCallingPermission(Manifest.permission.ACCESS_FINE_LOCATION, null);
+
+ if (!checkLocationAppOp(packageName)) {
return;
}
+
mGnssMeasurementCorrectionsProvider.injectGnssMeasurementCorrections(
measurementCorrections);
}
/**
* Removes a GNSS measurements listener.
- *
- * @param listener called when GNSS measurements are received
*/
public void removeGnssMeasurementsListener(IGnssMeasurementsListener listener) {
synchronized (mGnssMeasurementsListeners) {
- removeGnssDataListener(listener, mGnssMeasurementsProvider, mGnssMeasurementsListeners);
+ removeGnssDataListenerLocked(listener, mGnssMeasurementsProvider,
+ mGnssMeasurementsListeners);
}
}
/**
* Adds a GNSS navigation message listener.
- *
- * @param listener called when navigation message is received
- * @param packageName name of requesting package
- * @return true if listener is successfully added, false otherwise
*/
public boolean addGnssNavigationMessageListener(
IGnssNavigationMessageListener listener, String packageName,
@@ -716,12 +550,10 @@ public class GnssManagerService {
/**
* Removes a GNSS navigation message listener.
- *
- * @param listener called when navigation message is received
*/
public void removeGnssNavigationMessageListener(IGnssNavigationMessageListener listener) {
synchronized (mGnssNavigationMessageListeners) {
- removeGnssDataListener(
+ removeGnssDataListenerLocked(
listener, mGnssNavigationMessageProvider, mGnssNavigationMessageListeners);
}
}
@@ -729,43 +561,62 @@ public class GnssManagerService {
/**
* Send Ni Response, indicating a location request initiated by a network carrier.
*/
- public boolean sendNiResponse(int notifId, int userResponse) {
- if (Binder.getCallingUid() != Process.myUid()) {
- throw new SecurityException(
- "calling sendNiResponse from outside of the system is not allowed");
- }
+ public void sendNiResponse(int notifId, int userResponse) {
try {
- return mNetInitiatedListener.sendNiResponse(notifId, userResponse);
+ mNetInitiatedListener.sendNiResponse(notifId, userResponse);
} catch (RemoteException e) {
Log.e(TAG, "RemoteException in LocationManagerService.sendNiResponse");
- return false;
}
}
/**
* Report location results to GNSS batching listener.
- *
- * @param locations batch of locations to report to GNSS batching callback
*/
public void onReportLocation(List<Location> locations) {
- if (mGnssBatchingCallback == null) {
- Log.e(TAG, "reportLocationBatch() called without active Callback");
+ IBatchedLocationCallback gnssBatchingCallback;
+ synchronized (mGnssBatchingLock) {
+ gnssBatchingCallback = mGnssBatchingCallback;
+ }
+
+ if (gnssBatchingCallback == null) {
return;
}
try {
- mGnssBatchingCallback.onLocationBatch(locations);
+ gnssBatchingCallback.onLocationBatch(locations);
} catch (RemoteException e) {
Log.e(TAG, "mGnssBatchingCallback.onLocationBatch failed", e);
}
}
+ private boolean isThrottlingExempt(CallerIdentity callerIdentity) {
+ if (callerIdentity.mUid == Process.SYSTEM_UID) {
+ return true;
+ }
+
+ if (mSettingsHelper.getBackgroundThrottlePackageWhitelist().contains(
+ callerIdentity.mPackageName)) {
+ return true;
+ }
+
+ synchronized (this) {
+ Preconditions.checkState(mLocationManagerInternal != null);
+ }
+ return mLocationManagerInternal.isProviderPackage(callerIdentity.mPackageName);
+ }
+
+ private boolean checkLocationAppOp(String packageName) {
+ synchronized (this) {
+ Preconditions.checkState(mAppOpsManager != null);
+ }
+ return mAppOpsManager.checkOp(OP_FINE_LOCATION, Binder.getCallingUid(), packageName)
+ == AppOpsManager.MODE_ALLOWED;
+ }
+
/**
- * Dump for debugging.
+ * Dump info for debugging.
*/
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
-
IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ");
if (args.length > 0 && args[0].equals("--gnssmetrics")) {
@@ -778,11 +629,8 @@ public class GnssManagerService {
ipw.println("GnssMeasurement Listeners:");
ipw.increaseIndent();
synchronized (mGnssMeasurementsListeners) {
- for (LinkedListenerBase listener :
- mGnssMeasurementsListeners
- .values()) {
- ipw.println(listener + ": " + mLocationManagerService.isThrottlingExemptLocked(
- listener.getCallerIdentity()));
+ for (LinkedListenerBase listener : mGnssMeasurementsListeners.values()) {
+ ipw.println(listener);
}
}
ipw.decreaseIndent();
@@ -790,10 +638,8 @@ public class GnssManagerService {
ipw.println("GnssNavigationMessage Listeners:");
ipw.increaseIndent();
synchronized (mGnssNavigationMessageListeners) {
- for (LinkedListenerBase listener :
- mGnssNavigationMessageListeners.values()) {
- ipw.println(listener + ": " + mLocationManagerService.isThrottlingExemptLocked(
- listener.getCallerIdentity()));
+ for (LinkedListenerBase listener : mGnssNavigationMessageListeners.values()) {
+ ipw.println(listener);
}
}
ipw.decreaseIndent();
@@ -801,10 +647,8 @@ public class GnssManagerService {
ipw.println("GnssStatus Listeners:");
ipw.increaseIndent();
synchronized (mGnssStatusListeners) {
- for (LinkedListenerBase listener :
- mGnssStatusListeners.values()) {
- ipw.println(listener + ": " + mLocationManagerService.isThrottlingExemptLocked(
- listener.getCallerIdentity()));
+ for (LinkedListenerBase listener : mGnssStatusListeners.values()) {
+ ipw.println(listener);
}
}
ipw.decreaseIndent();
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
index baae4ea502d5..1f4048f821e5 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
@@ -139,6 +139,7 @@ import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
+import java.security.GeneralSecurityException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.KeyStoreException;
@@ -224,6 +225,7 @@ public class LockSettingsService extends ILockSettings.Stub {
private final KeyStore mKeyStore;
private final RecoverableKeyStoreManager mRecoverableKeyStoreManager;
+ private ManagedProfilePasswordCache mManagedProfilePasswordCache;
private final RebootEscrowManager mRebootEscrowManager;
@@ -387,6 +389,7 @@ public class LockSettingsService extends ILockSettings.Stub {
setLockCredentialInternal(unifiedProfilePassword, managedUserPassword, managedUserId,
/* isLockTiedToParent= */ true);
tieProfileLockToParent(managedUserId, unifiedProfilePassword);
+ mManagedProfilePasswordCache.storePassword(managedUserId, unifiedProfilePassword);
}
}
@@ -527,6 +530,16 @@ public class LockSettingsService extends ILockSettings.Stub {
int defaultValue) {
return Settings.Global.getInt(contentResolver, keyName, defaultValue);
}
+
+ public @NonNull ManagedProfilePasswordCache getManagedProfilePasswordCache() {
+ try {
+ java.security.KeyStore ks = java.security.KeyStore.getInstance("AndroidKeyStore");
+ ks.load(null);
+ return new ManagedProfilePasswordCache(ks, getUserManager());
+ } catch (Exception e) {
+ throw new IllegalStateException("Cannot load keystore", e);
+ }
+ }
}
public LockSettingsService(Context context) {
@@ -560,6 +573,7 @@ public class LockSettingsService extends ILockSettings.Stub {
mStrongAuthTracker.register(mStrongAuth);
mSpManager = injector.getSyntheticPasswordManager(mStorage);
+ mManagedProfilePasswordCache = injector.getManagedProfilePasswordCache();
mRebootEscrowManager = injector.getRebootEscrowManager(new RebootEscrowCallbacks(),
mStorage);
@@ -706,7 +720,8 @@ public class LockSettingsService extends ILockSettings.Stub {
private void ensureProfileKeystoreUnlocked(int userId) {
final KeyStore ks = KeyStore.getInstance();
if (ks.state(userId) == KeyStore.State.LOCKED
- && tiedManagedProfileReadyToUnlock(mUserManager.getUserInfo(userId))) {
+ && mUserManager.getUserInfo(userId).isManagedProfile()
+ && hasUnifiedChallenge(userId)) {
Slog.i(TAG, "Managed profile got unlocked, will unlock its keystore");
// If boot took too long and the password in vold got expired, parent keystore will
// be still locked, we ignore this case since the user will be prompted to unlock
@@ -1302,6 +1317,7 @@ public class LockSettingsService extends ILockSettings.Stub {
LockscreenCredential credential = LockscreenCredential.createManagedPassword(
decryptionResult);
Arrays.fill(decryptionResult, (byte) 0);
+ mManagedProfilePasswordCache.storePassword(userId, credential);
return credential;
}
@@ -1381,12 +1397,25 @@ public class LockSettingsService extends ILockSettings.Stub {
}
for (UserInfo profile : mUserManager.getProfiles(userId)) {
- // Unlock managed profile with unified lock
- if (tiedManagedProfileReadyToUnlock(profile)) {
- // Must pass the challenge on for resetLockout, so it's not over-written, which
- // causes LockSettingsService to revokeChallenge inappropriately.
- unlockChildProfile(profile.id, false /* ignoreUserNotAuthenticated */,
- challengeType, challenge, resetLockouts);
+ if (profile.id == userId) continue;
+ if (!profile.isManagedProfile()) continue;
+
+ if (hasUnifiedChallenge(profile.id)) {
+ if (mUserManager.isUserRunning(profile.id)) {
+ // Unlock managed profile with unified lock
+ // Must pass the challenge on for resetLockout, so it's not over-written, which
+ // causes LockSettingsService to revokeChallenge inappropriately.
+ unlockChildProfile(profile.id, false /* ignoreUserNotAuthenticated */,
+ challengeType, challenge, resetLockouts);
+ } else {
+ try {
+ // Profile not ready for unlock yet, but decrypt the unified challenge now
+ // so it goes into the cache
+ getDecryptedPasswordForTiedProfile(profile.id);
+ } catch (GeneralSecurityException | IOException e) {
+ Slog.d(TAG, "Cache work profile password failed", e);
+ }
+ }
}
// Now we have unlocked the parent user and attempted to unlock the profile we should
// show notifications if the profile is still locked.
@@ -1417,11 +1446,9 @@ public class LockSettingsService extends ILockSettings.Stub {
}
}
- private boolean tiedManagedProfileReadyToUnlock(UserInfo userInfo) {
- return userInfo.isManagedProfile()
- && !getSeparateProfileChallengeEnabledInternal(userInfo.id)
- && mStorage.hasChildProfileLock(userInfo.id)
- && mUserManager.isUserRunning(userInfo.id);
+ private boolean hasUnifiedChallenge(int userId) {
+ return !getSeparateProfileChallengeEnabledInternal(userId)
+ && mStorage.hasChildProfileLock(userId);
}
private Map<Integer, LockscreenCredential> getDecryptedPasswordsForAllTiedProfiles(int userId) {
@@ -2233,6 +2260,7 @@ public class LockSettingsService extends ILockSettings.Stub {
final KeyStore ks = KeyStore.getInstance();
ks.onUserRemoved(userId);
+ mManagedProfilePasswordCache.removePassword(userId);
gateKeeperClearSecureUserId(userId);
if (unknownUser || mUserManager.getUserInfo(userId).isManagedProfile()) {
@@ -2783,6 +2811,7 @@ public class LockSettingsService extends ILockSettings.Stub {
synchronizeUnifiedWorkChallengeForProfiles(userId, profilePasswords);
setUserPasswordMetrics(credential, userId);
+ mManagedProfilePasswordCache.removePassword(userId);
if (profilePasswords != null) {
for (Map.Entry<Integer, LockscreenCredential> entry : profilePasswords.entrySet()) {
@@ -3097,6 +3126,22 @@ public class LockSettingsService extends ILockSettings.Stub {
return true;
}
+ @Override
+ public boolean tryUnlockWithCachedUnifiedChallenge(int userId) {
+ try (LockscreenCredential cred = mManagedProfilePasswordCache.retrievePassword(userId)) {
+ if (cred == null) {
+ return false;
+ }
+ return doVerifyCredential(cred, CHALLENGE_NONE, 0, userId, null /* progressCallback */)
+ .getResponseCode() == VerifyCredentialResponse.RESPONSE_OK;
+ }
+ }
+
+ @Override
+ public void removeCachedUnifiedChallenge(int userId) {
+ mManagedProfilePasswordCache.removePassword(userId);
+ }
+
static String timestampToString(long timestamp) {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(timestamp));
}
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsShellCommand.java b/services/core/java/com/android/server/locksettings/LockSettingsShellCommand.java
index 4943c25b1f18..7b767b86f0d4 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsShellCommand.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsShellCommand.java
@@ -44,6 +44,7 @@ class LockSettingsShellCommand extends ShellCommand {
private static final String COMMAND_SET_DISABLED = "set-disabled";
private static final String COMMAND_VERIFY = "verify";
private static final String COMMAND_GET_DISABLED = "get-disabled";
+ private static final String COMMAND_REMOVE_CACHE = "remove-cache";
private static final String COMMAND_HELP = "help";
private int mCurrentUserId;
@@ -76,6 +77,15 @@ class LockSettingsShellCommand extends ShellCommand {
return -1;
}
}
+ switch (cmd) {
+ // Commands that do not require authentication go here.
+ case COMMAND_REMOVE_CACHE:
+ runRemoveCache();
+ return 0;
+ case COMMAND_HELP:
+ onHelp();
+ return 0;
+ }
if (!checkCredential()) {
return -1;
}
@@ -105,9 +115,6 @@ class LockSettingsShellCommand extends ShellCommand {
case COMMAND_GET_DISABLED:
runGetDisabled();
break;
- case COMMAND_HELP:
- onHelp();
- break;
default:
getErrPrintWriter().println("Unknown command: " + cmd);
break;
@@ -163,6 +170,9 @@ class LockSettingsShellCommand extends ShellCommand {
pw.println(" verify [--old <CREDENTIAL>] [--user USER_ID]");
pw.println(" Verifies the lock credentials.");
pw.println("");
+ pw.println(" remove-cache [--user USER_ID]");
+ pw.println(" Removes cached unified challenge for the managed profile.");
+ pw.println("");
}
}
@@ -322,4 +332,9 @@ class LockSettingsShellCommand extends ShellCommand {
return true;
}
}
+
+ private void runRemoveCache() {
+ mLockPatternUtils.removeCachedUnifiedChallenge(mCurrentUserId);
+ getOutPrintWriter().println("Password cached removed for user " + mCurrentUserId);
+ }
}
diff --git a/services/core/java/com/android/server/locksettings/ManagedProfilePasswordCache.java b/services/core/java/com/android/server/locksettings/ManagedProfilePasswordCache.java
new file mode 100644
index 000000000000..d38ee678c7aa
--- /dev/null
+++ b/services/core/java/com/android/server/locksettings/ManagedProfilePasswordCache.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.locksettings;
+
+import android.annotation.Nullable;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.security.keystore.AndroidKeyStoreSpi;
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyProperties;
+import android.security.keystore.UserNotAuthenticatedException;
+import android.util.Slog;
+import android.util.SparseArray;
+
+import com.android.internal.widget.LockscreenCredential;
+
+import java.security.GeneralSecurityException;
+import java.security.Key;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import javax.crypto.Cipher;
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.GCMParameterSpec;
+
+/**
+ * Caches *unified* work challenge for user 0's managed profiles. Only user 0's profile is supported
+ * at the moment because the cached credential is encrypted using a keystore key auth-bound to
+ * user 0: this is to match how unified work challenge is similarly auth-bound to its parent user's
+ * lockscreen credential normally. It's possible to extend this class to support managed profiles
+ * for secondary users, that will require generating auth-bound keys to their corresponding parent
+ * user though (which {@link KeyGenParameterSpec} does not support right now).
+ *
+ * <p> The cache is filled whenever the managed profile's unified challenge is created or derived
+ * (as part of the parent user's credential verification flow). It's removed when the profile is
+ * deleted or a (separate) lockscreen credential is explicitly set on the profile. There is also
+ * an ADB command to evict the cache "cmd lock_settings remove-cache --user X", to assist
+ * development and testing.
+
+ * <p> The encrypted credential is stored in-memory only so the cache does not persist across
+ * reboots.
+ */
+public class ManagedProfilePasswordCache {
+
+ private static final String TAG = "ManagedProfilePasswordCache";
+ private static final int KEY_LENGTH = 256;
+ private static final int CACHE_TIMEOUT_SECONDS = (int) TimeUnit.DAYS.toSeconds(7);
+
+ private final SparseArray<byte[]> mEncryptedPasswords = new SparseArray<>();
+ private final KeyStore mKeyStore;
+ private final UserManager mUserManager;
+
+ public ManagedProfilePasswordCache(KeyStore keyStore, UserManager userManager) {
+ mKeyStore = keyStore;
+ mUserManager = userManager;
+ }
+
+ /**
+ * Encrypt and store the password in the cache. Does NOT overwrite existing password cache
+ * if one for the given user already exists.
+ */
+ public void storePassword(int userId, LockscreenCredential password) {
+ synchronized (mEncryptedPasswords) {
+ if (mEncryptedPasswords.contains(userId)) {
+ return;
+ }
+ UserInfo parent = mUserManager.getProfileParent(userId);
+ if (parent == null || parent.id != UserHandle.USER_SYSTEM) {
+ // Since the cached password is encrypted using a keystore key auth-bound to user 0,
+ // only support caching password for user 0's profile.
+ return;
+ }
+ String keyName = getEncryptionKeyName(userId);
+ KeyGenerator generator;
+ SecretKey key;
+ try {
+ generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES,
+ AndroidKeyStoreSpi.NAME);
+ generator.init(new KeyGenParameterSpec.Builder(
+ keyName, KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
+ .setKeySize(KEY_LENGTH)
+ .setBlockModes(KeyProperties.BLOCK_MODE_GCM)
+ .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
+ // Generate auth-bound key to user 0 (since we the caller is user 0)
+ .setUserAuthenticationRequired(true)
+ .setUserAuthenticationValidityDurationSeconds(CACHE_TIMEOUT_SECONDS)
+ // Only accessible after user 0's keyguard is unlocked
+ .setUnlockedDeviceRequired(true)
+ .build());
+ key = generator.generateKey();
+ } catch (GeneralSecurityException e) {
+ Slog.e(TAG, "Cannot generate key", e);
+ return;
+ }
+
+ Cipher cipher;
+ try {
+ cipher = Cipher.getInstance("AES/GCM/NoPadding");
+ cipher.init(Cipher.ENCRYPT_MODE, key);
+ byte[] ciphertext = cipher.doFinal(password.getCredential());
+ byte[] iv = cipher.getIV();
+ byte[] block = Arrays.copyOf(iv, ciphertext.length + iv.length);
+ System.arraycopy(ciphertext, 0, block, iv.length, ciphertext.length);
+ mEncryptedPasswords.put(userId, block);
+ } catch (GeneralSecurityException e) {
+ Slog.d(TAG, "Cannot encrypt", e);
+ }
+ }
+ }
+
+ /** Attempt to retrieve the password for the given user. Returns {@code null} if it's not in the
+ * cache or if decryption fails.
+ */
+ public @Nullable LockscreenCredential retrievePassword(int userId) {
+ synchronized (mEncryptedPasswords) {
+ byte[] block = mEncryptedPasswords.get(userId);
+ if (block == null) {
+ return null;
+ }
+ Key key;
+ try {
+ key = mKeyStore.getKey(getEncryptionKeyName(userId), null);
+ } catch (UnrecoverableKeyException | KeyStoreException | NoSuchAlgorithmException e) {
+ Slog.d(TAG, "Cannot get key", e);
+ return null;
+ }
+ if (key == null) {
+ return null;
+ }
+ byte[] iv = Arrays.copyOf(block, 12);
+ byte[] ciphertext = Arrays.copyOfRange(block, 12, block.length);
+ byte[] credential;
+ try {
+ Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
+ cipher.init(Cipher.DECRYPT_MODE, key, new GCMParameterSpec(128, iv));
+ credential = cipher.doFinal(ciphertext);
+ } catch (UserNotAuthenticatedException e) {
+ Slog.i(TAG, "Device not unlocked for more than 7 days");
+ return null;
+ } catch (GeneralSecurityException e) {
+ Slog.d(TAG, "Cannot decrypt", e);
+ return null;
+ }
+ LockscreenCredential result = LockscreenCredential.createManagedPassword(credential);
+ Arrays.fill(credential, (byte) 0);
+ return result;
+ }
+ }
+
+ /** Remove the given user's password from cache, if one exists. */
+ public void removePassword(int userId) {
+ synchronized (mEncryptedPasswords) {
+ String keyName = getEncryptionKeyName(userId);
+ try {
+ if (mKeyStore.containsAlias(keyName)) {
+ mKeyStore.deleteEntry(keyName);
+ }
+ } catch (KeyStoreException e) {
+ Slog.d(TAG, "Cannot delete key", e);
+ }
+ if (mEncryptedPasswords.contains(userId)) {
+ Arrays.fill(mEncryptedPasswords.get(userId), (byte) 0);
+ mEncryptedPasswords.remove(userId);
+ }
+ }
+ }
+
+ private static String getEncryptionKeyName(int userId) {
+ return "com.android.server.locksettings.unified_profile_cache_" + userId;
+ }
+}
diff --git a/services/core/java/com/android/server/locksettings/RebootEscrowData.java b/services/core/java/com/android/server/locksettings/RebootEscrowData.java
index aee608e8a544..2b1907985aeb 100644
--- a/services/core/java/com/android/server/locksettings/RebootEscrowData.java
+++ b/services/core/java/com/android/server/locksettings/RebootEscrowData.java
@@ -26,16 +26,12 @@ import java.io.IOException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
-import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
/**
* Holds the data necessary to complete a reboot escrow of the Synthetic Password.
@@ -47,17 +43,11 @@ class RebootEscrowData {
*/
private static final int CURRENT_VERSION = 1;
- /** The secret key will be of this format. */
- private static final String KEY_ALGO = "AES";
-
- /** The key size used for encrypting the reboot escrow data. */
- private static final int KEY_SIZE_BITS = 256;
-
/** The algorithm used for the encryption of the key blob. */
private static final String CIPHER_ALGO = "AES/GCM/NoPadding";
private RebootEscrowData(byte spVersion, byte[] iv, byte[] syntheticPassword, byte[] blob,
- byte[] key) {
+ RebootEscrowKey key) {
mSpVersion = spVersion;
mIv = iv;
mSyntheticPassword = syntheticPassword;
@@ -69,7 +59,7 @@ class RebootEscrowData {
private final byte[] mIv;
private final byte[] mSyntheticPassword;
private final byte[] mBlob;
- private final byte[] mKey;
+ private final RebootEscrowKey mKey;
public byte getSpVersion() {
return mSpVersion;
@@ -87,17 +77,13 @@ class RebootEscrowData {
return mBlob;
}
- public byte[] getKey() {
+ public RebootEscrowKey getKey() {
return mKey;
}
- static SecretKeySpec fromKeyBytes(byte[] keyBytes) {
- return new SecretKeySpec(keyBytes, KEY_ALGO);
- }
-
- static RebootEscrowData fromEncryptedData(SecretKeySpec keySpec, byte[] blob)
+ static RebootEscrowData fromEncryptedData(RebootEscrowKey key, byte[] blob)
throws IOException {
- Preconditions.checkNotNull(keySpec);
+ Preconditions.checkNotNull(key);
Preconditions.checkNotNull(blob);
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(blob));
@@ -126,7 +112,7 @@ class RebootEscrowData {
final byte[] syntheticPassword;
try {
Cipher c = Cipher.getInstance(CIPHER_ALGO);
- c.init(Cipher.DECRYPT_MODE, keySpec, new IvParameterSpec(iv));
+ c.init(Cipher.DECRYPT_MODE, key.getKey(), new IvParameterSpec(iv));
syntheticPassword = c.doFinal(cipherText);
} catch (NoSuchAlgorithmException | InvalidKeyException | BadPaddingException
| IllegalBlockSizeException | NoSuchPaddingException
@@ -134,30 +120,22 @@ class RebootEscrowData {
throw new IOException("Could not decrypt ciphertext", e);
}
- return new RebootEscrowData(spVersion, iv, syntheticPassword, blob, keySpec.getEncoded());
+ return new RebootEscrowData(spVersion, iv, syntheticPassword, blob, key);
}
- static RebootEscrowData fromSyntheticPassword(byte spVersion, byte[] syntheticPassword)
+ static RebootEscrowData fromSyntheticPassword(RebootEscrowKey key, byte spVersion,
+ byte[] syntheticPassword)
throws IOException {
Preconditions.checkNotNull(syntheticPassword);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
- final SecretKey secretKey;
- try {
- KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_ALGO);
- keyGenerator.init(KEY_SIZE_BITS, new SecureRandom());
- secretKey = keyGenerator.generateKey();
- } catch (NoSuchAlgorithmException e) {
- throw new IOException("Could not generate new secret key", e);
- }
-
final byte[] cipherText;
final byte[] iv;
try {
Cipher cipher = Cipher.getInstance(CIPHER_ALGO);
- cipher.init(Cipher.ENCRYPT_MODE, secretKey);
+ cipher.init(Cipher.ENCRYPT_MODE, key.getKey());
cipherText = cipher.doFinal(syntheticPassword);
iv = cipher.getIV();
} catch (NoSuchAlgorithmException | BadPaddingException | IllegalBlockSizeException
@@ -173,6 +151,6 @@ class RebootEscrowData {
dos.write(cipherText);
return new RebootEscrowData(spVersion, iv, syntheticPassword, bos.toByteArray(),
- secretKey.getEncoded());
+ key);
}
}
diff --git a/services/core/java/com/android/server/locksettings/RebootEscrowKey.java b/services/core/java/com/android/server/locksettings/RebootEscrowKey.java
new file mode 100644
index 000000000000..5367319caa85
--- /dev/null
+++ b/services/core/java/com/android/server/locksettings/RebootEscrowKey.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.locksettings;
+
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+
+/**
+ * Key used to encrypt and decrypt the {@link RebootEscrowData}.
+ */
+class RebootEscrowKey {
+
+ /** The secret key will be of this format. */
+ private static final String KEY_ALGO = "AES";
+
+ /** The key size used for encrypting the reboot escrow data. */
+ private static final int KEY_SIZE_BITS = 256;
+
+ private final SecretKey mKey;
+
+ private RebootEscrowKey(SecretKey key) {
+ mKey = key;
+ }
+
+ static RebootEscrowKey fromKeyBytes(byte[] keyBytes) {
+ return new RebootEscrowKey(new SecretKeySpec(keyBytes, KEY_ALGO));
+ }
+
+ static RebootEscrowKey generate() throws IOException {
+ final SecretKey secretKey;
+ try {
+ KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_ALGO);
+ keyGenerator.init(KEY_SIZE_BITS, new SecureRandom());
+ secretKey = keyGenerator.generateKey();
+ } catch (NoSuchAlgorithmException e) {
+ throw new IOException("Could not generate new secret key", e);
+ }
+ return new RebootEscrowKey(secretKey);
+ }
+
+ SecretKey getKey() {
+ return mKey;
+ }
+
+ byte[] getKeyBytes() {
+ return mKey.getEncoded();
+ }
+}
diff --git a/services/core/java/com/android/server/locksettings/RebootEscrowManager.java b/services/core/java/com/android/server/locksettings/RebootEscrowManager.java
index 46ea9d11d1dc..e991f96b208f 100644
--- a/services/core/java/com/android/server/locksettings/RebootEscrowManager.java
+++ b/services/core/java/com/android/server/locksettings/RebootEscrowManager.java
@@ -25,27 +25,26 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserManager;
import android.util.Slog;
-import android.util.StatsLog;
+import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.widget.RebootEscrowListener;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import javax.crypto.spec.SecretKeySpec;
class RebootEscrowManager {
private static final String TAG = "RebootEscrowManager";
/**
- * Used to track when the reboot escrow is wanted. Set to false when mRebootEscrowReady is
- * true.
+ * Used to track when the reboot escrow is wanted. Should stay true once escrow is requested
+ * unless clearRebootEscrow is called. This will allow all the active users to be unlocked
+ * after reboot.
*/
- private final AtomicBoolean mRebootEscrowWanted = new AtomicBoolean(false);
+ private boolean mRebootEscrowWanted;
/** Used to track when reboot escrow is ready. */
private boolean mRebootEscrowReady;
@@ -54,10 +53,16 @@ class RebootEscrowManager {
private RebootEscrowListener mRebootEscrowListener;
/**
+ * Hold this lock when checking or generating the reboot escrow key.
+ */
+ private final Object mKeyGenerationLock = new Object();
+
+ /**
* Stores the reboot escrow data between when it's supplied and when
* {@link #armRebootEscrowIfNeeded()} is called.
*/
- private RebootEscrowData mPendingRebootEscrowData;
+ @GuardedBy("mKeyGenerationLock")
+ private RebootEscrowKey mPendingRebootEscrowKey;
private final UserManager mUserManager;
@@ -82,6 +87,7 @@ class RebootEscrowManager {
public Context getContext() {
return mContext;
}
+
public UserManager getUserManager() {
return (UserManager) mContext.getSystemService(Context.USER_SERVICE);
}
@@ -123,13 +129,13 @@ class RebootEscrowManager {
return;
}
- SecretKeySpec escrowKey = getAndClearRebootEscrowKey();
+ RebootEscrowKey escrowKey = getAndClearRebootEscrowKey();
if (escrowKey == null) {
Slog.w(TAG, "Had reboot escrow data for users, but no key; removing escrow storage.");
for (UserInfo user : users) {
mStorage.removeRebootEscrow(user.id);
}
- StatsLog.write(StatsLog.REBOOT_ESCROW_RECOVERY_REPORTED, false);
+ FrameworkStatsLog.write(FrameworkStatsLog.REBOOT_ESCROW_RECOVERY_REPORTED, false);
return;
}
@@ -137,10 +143,11 @@ class RebootEscrowManager {
for (UserInfo user : rebootEscrowUsers) {
allUsersUnlocked &= restoreRebootEscrowForUser(user.id, escrowKey);
}
- StatsLog.write(StatsLog.REBOOT_ESCROW_RECOVERY_REPORTED, allUsersUnlocked);
+ FrameworkStatsLog.write(FrameworkStatsLog.REBOOT_ESCROW_RECOVERY_REPORTED,
+ allUsersUnlocked);
}
- private SecretKeySpec getAndClearRebootEscrowKey() {
+ private RebootEscrowKey getAndClearRebootEscrowKey() {
IRebootEscrow rebootEscrow = mInjector.getRebootEscrow();
if (rebootEscrow == null) {
return null;
@@ -170,14 +177,14 @@ class RebootEscrowManager {
// Overwrite the existing key with the null key
rebootEscrow.storeKey(new byte[32]);
- return RebootEscrowData.fromKeyBytes(escrowKeyBytes);
+ return RebootEscrowKey.fromKeyBytes(escrowKeyBytes);
} catch (RemoteException e) {
Slog.w(TAG, "Could not retrieve escrow data");
return null;
}
}
- private boolean restoreRebootEscrowForUser(@UserIdInt int userId, SecretKeySpec escrowKey) {
+ private boolean restoreRebootEscrowForUser(@UserIdInt int userId, RebootEscrowKey key) {
if (!mStorage.hasRebootEscrow(userId)) {
return false;
}
@@ -186,7 +193,7 @@ class RebootEscrowManager {
byte[] blob = mStorage.readRebootEscrow(userId);
mStorage.removeRebootEscrow(userId);
- RebootEscrowData escrowData = RebootEscrowData.fromEncryptedData(escrowKey, blob);
+ RebootEscrowData escrowData = RebootEscrowData.fromEncryptedData(key, blob);
mCallbacks.onRebootEscrowRestored(escrowData.getSpVersion(),
escrowData.getSyntheticPassword(), userId);
@@ -199,33 +206,60 @@ class RebootEscrowManager {
void callToRebootEscrowIfNeeded(@UserIdInt int userId, byte spVersion,
byte[] syntheticPassword) {
- if (!mRebootEscrowWanted.compareAndSet(true, false)) {
+ if (!mRebootEscrowWanted) {
return;
}
IRebootEscrow rebootEscrow = mInjector.getRebootEscrow();
if (rebootEscrow == null) {
+ mRebootEscrowWanted = false;
+ setRebootEscrowReady(false);
+ return;
+ }
+
+ RebootEscrowKey escrowKey = generateEscrowKeyIfNeeded();
+ if (escrowKey == null) {
+ Slog.e(TAG, "Could not generate escrow key");
+ mRebootEscrowWanted = false;
setRebootEscrowReady(false);
return;
}
final RebootEscrowData escrowData;
try {
- escrowData = RebootEscrowData.fromSyntheticPassword(spVersion, syntheticPassword);
+ escrowData = RebootEscrowData.fromSyntheticPassword(escrowKey, spVersion,
+ syntheticPassword);
} catch (IOException e) {
setRebootEscrowReady(false);
Slog.w(TAG, "Could not escrow reboot data", e);
return;
}
- mPendingRebootEscrowData = escrowData;
mStorage.writeRebootEscrow(userId, escrowData.getBlob());
setRebootEscrowReady(true);
}
+ private RebootEscrowKey generateEscrowKeyIfNeeded() {
+ synchronized (mKeyGenerationLock) {
+ if (mPendingRebootEscrowKey != null) {
+ return mPendingRebootEscrowKey;
+ }
+
+ RebootEscrowKey key;
+ try {
+ key = RebootEscrowKey.generate();
+ } catch (IOException e) {
+ return null;
+ }
+
+ mPendingRebootEscrowKey = key;
+ return key;
+ }
+ }
+
private void clearRebootEscrowIfNeeded() {
- mRebootEscrowWanted.set(false);
+ mRebootEscrowWanted = false;
setRebootEscrowReady(false);
IRebootEscrow rebootEscrow = mInjector.getRebootEscrow();
@@ -255,14 +289,18 @@ class RebootEscrowManager {
return false;
}
- RebootEscrowData escrowData = mPendingRebootEscrowData;
- if (escrowData == null) {
+ RebootEscrowKey escrowKey;
+ synchronized (mKeyGenerationLock) {
+ escrowKey = mPendingRebootEscrowKey;
+ }
+
+ if (escrowKey == null) {
return false;
}
boolean armedRebootEscrow = false;
try {
- rebootEscrow.storeKey(escrowData.getKey());
+ rebootEscrow.storeKey(escrowKey.getKeyBytes());
armedRebootEscrow = true;
} catch (RemoteException e) {
Slog.w(TAG, "Failed escrow secret to RebootEscrow HAL", e);
@@ -283,7 +321,7 @@ class RebootEscrowManager {
}
clearRebootEscrowIfNeeded();
- mRebootEscrowWanted.set(true);
+ mRebootEscrowWanted = true;
return true;
}
diff --git a/services/core/java/com/android/server/media/BluetoothRouteProvider.java b/services/core/java/com/android/server/media/BluetoothRouteProvider.java
index 8179c32ae2df..669f1ac6750c 100644
--- a/services/core/java/com/android/server/media/BluetoothRouteProvider.java
+++ b/services/core/java/com/android/server/media/BluetoothRouteProvider.java
@@ -186,6 +186,7 @@ class BluetoothRouteProvider {
.setConnectionState(MediaRoute2Info.CONNECTION_STATE_DISCONNECTED)
.setDescription(mContext.getResources().getText(
R.string.bluetooth_a2dp_audio_route_name).toString())
+ .setDeviceType(MediaRoute2Info.DEVICE_TYPE_BLUETOOTH)
.build();
newBtRoute.connectedProfiles = new SparseBooleanArray();
return newBtRoute;
diff --git a/services/core/java/com/android/server/media/MediaKeyDispatcher.java b/services/core/java/com/android/server/media/MediaKeyDispatcher.java
new file mode 100644
index 000000000000..16b9eb910ec1
--- /dev/null
+++ b/services/core/java/com/android/server/media/MediaKeyDispatcher.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.media;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.media.session.MediaSession;
+import android.view.KeyEvent;
+
+/**
+ * Provides a way to customize behavior for media key events.
+ */
+public interface MediaKeyDispatcher {
+ /**
+ * Implement this to customize the logic for which MediaSession should consume which key event.
+ *
+ * @param keyEvent a non-null KeyEvent whose key code is one of the supported media buttons.
+ * @param asSystemService {@code true} if the event came from the system service via hardware
+ * devices. {@code false} if the event came from the app process through key injection.
+ * @return a {@link MediaSession.Token} instance that should consume the given key event.
+ */
+ @Nullable
+ MediaSession.Token getSessionForKeyEvent(@NonNull KeyEvent keyEvent,
+ boolean asSystemService);
+}
diff --git a/services/core/java/com/android/server/media/MediaRoute2Provider.java b/services/core/java/com/android/server/media/MediaRoute2Provider.java
index 1cd8aad3f0c5..5123362d84ba 100644
--- a/services/core/java/com/android/server/media/MediaRoute2Provider.java
+++ b/services/core/java/com/android/server/media/MediaRoute2Provider.java
@@ -36,6 +36,7 @@ abstract class MediaRoute2Provider {
final Object mLock = new Object();
Callback mCallback;
+ boolean mIsSystemRouteProvider;
private volatile MediaRoute2ProviderInfo mProviderInfo;
@GuardedBy("mLock")
@@ -85,6 +86,7 @@ abstract class MediaRoute2Provider {
} else {
mProviderInfo = new MediaRoute2ProviderInfo.Builder(providerInfo)
.setUniqueId(mUniqueId)
+ .setSystemRouteProvider(mIsSystemRouteProvider)
.build();
}
}
diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderProxy.java b/services/core/java/com/android/server/media/MediaRoute2ProviderProxy.java
index 97614619653e..e23542edb214 100644
--- a/services/core/java/com/android/server/media/MediaRoute2ProviderProxy.java
+++ b/services/core/java/com/android/server/media/MediaRoute2ProviderProxy.java
@@ -42,6 +42,7 @@ import java.util.Objects;
/**
* Maintains a connection to a particular media route provider service.
*/
+// TODO: Need to revisit the bind/unbind/connect/disconnect logic in this class.
final class MediaRoute2ProviderProxy extends MediaRoute2Provider implements ServiceConnection {
private static final String TAG = "MR2ProviderProxy";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
@@ -252,6 +253,19 @@ final class MediaRoute2ProviderProxy extends MediaRoute2Provider implements Serv
disconnect();
}
+ @Override
+ public void onBindingDied(ComponentName name) {
+ if (DEBUG) {
+ Slog.d(TAG, this + ": Service binding died");
+ }
+ // TODO: Investigate whether it tries to bind endlessly when the service is
+ // badly implemented.
+ if (shouldBind()) {
+ unbind();
+ bind();
+ }
+ }
+
private void onConnectionReady(Connection connection) {
if (mActiveConnection == connection) {
mConnectionReady = true;
diff --git a/services/core/java/com/android/server/media/MediaSession2Record.java b/services/core/java/com/android/server/media/MediaSession2Record.java
index b21d2e789555..820731d20c00 100644
--- a/services/core/java/com/android/server/media/MediaSession2Record.java
+++ b/services/core/java/com/android/server/media/MediaSession2Record.java
@@ -50,15 +50,18 @@ public class MediaSession2Record implements MediaSessionRecordImpl {
private final MediaSessionService mService;
@GuardedBy("mLock")
private boolean mIsConnected;
+ @GuardedBy("mLock")
+ private int mPolicies;
public MediaSession2Record(Session2Token sessionToken, MediaSessionService service,
- Looper handlerLooper) {
+ Looper handlerLooper, int policies) {
mSessionToken = sessionToken;
mService = service;
mHandlerExecutor = new HandlerExecutor(new Handler(handlerLooper));
mController = new MediaController2.Builder(service.getContext(), sessionToken)
.setControllerCallback(mHandlerExecutor, new Controller2Callback())
.build();
+ mPolicies = policies;
}
@Override
@@ -129,6 +132,21 @@ public class MediaSession2Record implements MediaSessionRecordImpl {
return false;
}
+
+ @Override
+ public int getSessionPolicies() {
+ synchronized (mLock) {
+ return mPolicies;
+ }
+ }
+
+ @Override
+ public void setSessionPolicies(int policies) {
+ synchronized (mLock) {
+ mPolicies = policies;
+ }
+ }
+
@Override
public void dump(PrintWriter pw, String prefix) {
pw.println(prefix + "token=" + mSessionToken);
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index 190557122aa4..05f7e1d7c3a5 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -16,6 +16,7 @@
package com.android.server.media;
+import android.annotation.Nullable;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
@@ -92,6 +93,20 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
PlaybackState.STATE_CONNECTING,
PlaybackState.STATE_PLAYING);
+ private static final AudioAttributes DEFAULT_ATTRIBUTES =
+ new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build();
+
+ private static int getVolumeStream(@Nullable AudioAttributes attr) {
+ if (attr == null) {
+ return DEFAULT_ATTRIBUTES.getVolumeControlStream();
+ }
+ final int stream = attr.getVolumeControlStream();
+ if (stream == AudioManager.USE_DEFAULT_STREAM_TYPE) {
+ return DEFAULT_ATTRIBUTES.getVolumeControlStream();
+ }
+ return stream;
+ }
+
private final MessageHandler mHandler;
private final int mOwnerPid;
@@ -144,9 +159,12 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
private long mDuration = -1;
private String mMetadataDescription;
+ private int mPolicies;
+
public MediaSessionRecord(int ownerPid, int ownerUid, int userId, String ownerPackageName,
ISessionCallback cb, String tag, Bundle sessionInfo,
- MediaSessionService service, Looper handlerLooper) throws RemoteException {
+ MediaSessionService service, Looper handlerLooper, int policies)
+ throws RemoteException {
mOwnerPid = ownerPid;
mOwnerUid = ownerUid;
mUserId = userId;
@@ -162,7 +180,8 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
mHandler = new MessageHandler(handlerLooper);
mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
mAudioManagerInternal = LocalServices.getService(AudioManagerInternal.class);
- mAudioAttrs = new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build();
+ mAudioAttrs = DEFAULT_ATTRIBUTES;
+ mPolicies = policies;
// May throw RemoteException if the session app is killed.
mSessionCb.mCb.asBinder().linkToDeath(this, 0);
@@ -262,7 +281,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
}
if (mVolumeType == PlaybackInfo.PLAYBACK_TYPE_LOCAL) {
// Adjust the volume with a handler not to be blocked by other system service.
- int stream = AudioAttributes.toLegacyStreamType(mAudioAttrs);
+ int stream = getVolumeStream(mAudioAttrs);
postAdjustLocalVolume(stream, direction, flags, opPackageName, pid, uid,
asSystemService, useSuggested, previousFlagPlaySound);
} else {
@@ -302,7 +321,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
private void setVolumeTo(String packageName, String opPackageName, int pid, int uid, int value,
int flags) {
if (mVolumeType == PlaybackInfo.PLAYBACK_TYPE_LOCAL) {
- int stream = AudioAttributes.toLegacyStreamType(mAudioAttrs);
+ int stream = getVolumeStream(mAudioAttrs);
final int volumeValue = value;
mHandler.post(new Runnable() {
@Override
@@ -423,6 +442,20 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
}
@Override
+ public int getSessionPolicies() {
+ synchronized (mLock) {
+ return mPolicies;
+ }
+ }
+
+ @Override
+ public void setSessionPolicies(int policies) {
+ synchronized (mLock) {
+ mPolicies = policies;
+ }
+ }
+
+ @Override
public void dump(PrintWriter pw, String prefix) {
pw.println(prefix + mTag + " " + this);
@@ -720,7 +753,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
volumeType = mVolumeType;
attributes = mAudioAttrs;
}
- int stream = AudioAttributes.toLegacyStreamType(attributes);
+ int stream = getVolumeStream(attributes);
int max = mAudioManager.getStreamMaxVolume(stream);
int current = mAudioManager.getStreamVolume(stream);
return new PlaybackInfo(volumeType, VolumeProvider.VOLUME_CONTROL_ABSOLUTE, max,
@@ -793,6 +826,9 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
@Override
public void setMediaButtonReceiver(PendingIntent pi) throws RemoteException {
+ if ((mPolicies & SessionPolicyProvider.SESSION_POLICY_IGNORE_BUTTON_RECEIVER) == 1) {
+ return;
+ }
mMediaButtonReceiver = pi;
final long token = Binder.clearCallingIdentity();
try {
diff --git a/services/core/java/com/android/server/media/MediaSessionRecordImpl.java b/services/core/java/com/android/server/media/MediaSessionRecordImpl.java
index 2cde89a7a6f6..6e1088088ced 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecordImpl.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecordImpl.java
@@ -20,6 +20,8 @@ import android.media.AudioManager;
import android.os.ResultReceiver;
import android.view.KeyEvent;
+import com.android.server.media.SessionPolicyProvider.SessionPolicy;
+
import java.io.PrintWriter;
/**
@@ -128,6 +130,18 @@ public interface MediaSessionRecordImpl extends AutoCloseable {
KeyEvent ke, int sequenceId, ResultReceiver cb);
/**
+ * Get session policies from custom policy provider set when MediaSessionRecord is instantiated.
+ * If custom policy does not exist, will return null.
+ */
+ @SessionPolicy
+ int getSessionPolicies();
+
+ /**
+ * Overwrite session policies that have been set when MediaSessionRecord is instantiated.
+ */
+ void setSessionPolicies(@SessionPolicy int policies);
+
+ /**
* Dumps internal state
*
* @param pw print writer
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java
index a6ad57a7ae3a..d0efef041180 100644
--- a/services/core/java/com/android/server/media/MediaSessionService.java
+++ b/services/core/java/com/android/server/media/MediaSessionService.java
@@ -141,6 +141,9 @@ public class MediaSessionService extends SystemService implements Monitor {
final RemoteCallbackList<IRemoteVolumeController> mRemoteVolumeControllers =
new RemoteCallbackList<>();
+ private SessionPolicyProvider mCustomSessionPolicyProvider;
+ private MediaKeyDispatcher mCustomMediaKeyDispatcher;
+
public MediaSessionService(Context context) {
super(context);
mContext = context;
@@ -179,6 +182,9 @@ public class MediaSessionService extends SystemService implements Monitor {
mSettingsObserver.observe();
mHasFeatureLeanback = mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_LEANBACK);
+
+ // TODO: (jinpark) check if config value for custom MediaKeyDispatcher and
+ // SessionPolicyProvider have been overlayed and instantiate using reflection.
updateUser();
}
@@ -555,7 +561,8 @@ public class MediaSessionService extends SystemService implements Monitor {
* 4. It needs to be added to the relevant user record.
*/
private MediaSessionRecord createSessionInternal(int callerPid, int callerUid, int userId,
- String callerPackageName, ISessionCallback cb, String tag, Bundle sessionInfo) {
+ String callerPackageName, ISessionCallback cb, String tag, Bundle sessionInfo,
+ int policies) {
synchronized (mLock) {
FullUserRecord user = getFullUserRecordLocked(userId);
if (user == null) {
@@ -566,7 +573,8 @@ public class MediaSessionService extends SystemService implements Monitor {
final MediaSessionRecord session;
try {
session = new MediaSessionRecord(callerPid, callerUid, userId,
- callerPackageName, cb, tag, sessionInfo, this, mHandler.getLooper());
+ callerPackageName, cb, tag, sessionInfo, this, mHandler.getLooper(),
+ policies);
} catch (RemoteException e) {
throw new RuntimeException("Media Session owner died prematurely.", e);
}
@@ -1127,8 +1135,11 @@ public class MediaSessionService extends SystemService implements Monitor {
if (cb == null) {
throw new IllegalArgumentException("Controller callback cannot be null");
}
+ int policies = (mCustomSessionPolicyProvider != null)
+ ? mCustomSessionPolicyProvider.getSessionPoliciesForApplication(
+ uid, packageName) : 0;
return createSessionInternal(pid, uid, resolvedUserId, packageName, cb, tag,
- sessionInfo).getSessionBinder();
+ sessionInfo, policies).getSessionBinder();
} finally {
Binder.restoreCallingIdentity(token);
}
@@ -1148,7 +1159,7 @@ public class MediaSessionService extends SystemService implements Monitor {
+ " but actually=" + sessionToken.getUid());
}
MediaSession2Record record = new MediaSession2Record(
- sessionToken, MediaSessionService.this, mHandler.getLooper());
+ sessionToken, MediaSessionService.this, mHandler.getLooper(), 0);
synchronized (mLock) {
FullUserRecord user = getFullUserRecordLocked(record.getUserId());
user.mPriorityStack.addSession(record);
@@ -1308,12 +1319,11 @@ public class MediaSessionService extends SystemService implements Monitor {
* ACTION_MEDIA_BUTTON intent to the rest of the system.
*
* @param packageName The caller package
- * @param asSystemService {@code true} if the event sent to the session as if it was come
- * from the system service instead of the app process. This helps sessions to
- * distinguish between the key injection by the app and key events from the
- * hardware devices. Should be used only when the volume key events aren't handled
- * by foreground activity. {@code false} otherwise to tell session about the real
- * caller.
+ * @param asSystemService {@code true} if the event sent to the session came from the
+ * service instead of the app process. This helps sessions to distinguish between
+ * the key injection by the app and key events from the hardware devices. Should be
+ * used only when the hardware key events aren't handled by foreground activity.
+ * {@code false} otherwise to tell session about the real caller.
* @param keyEvent a non-null KeyEvent whose key code is one of the
* supported media buttons
* @param needWakeLock true if a PARTIAL_WAKE_LOCK needs to be held
@@ -2115,14 +2125,27 @@ public class MediaSessionService extends SystemService implements Monitor {
// TODO(jaewan): Implement
return;
}
- MediaSessionRecord session =
- (MediaSessionRecord) mCurrentFullUserRecord.getMediaButtonSessionLocked();
+ MediaSessionRecord session = null;
+
+ // Retrieve custom session for key event if it exists.
+ if (mCustomMediaKeyDispatcher != null) {
+ MediaSession.Token token =
+ mCustomMediaKeyDispatcher.getSessionForKeyEvent(keyEvent, asSystemService);
+ if (token != null) {
+ session = getMediaSessionRecordLocked(token);
+ }
+ }
+
+ if (session == null) {
+ session = (MediaSessionRecord) mCurrentFullUserRecord.getMediaButtonSessionLocked();
+ }
+
if (session != null) {
if (DEBUG_KEY_EVENT) {
Log.d(TAG, "Sending " + keyEvent + " to " + session);
}
if (needWakeLock) {
- mKeyEventReceiver.aquireWakeLockLocked();
+ mKeyEventReceiver.acquireWakeLockLocked();
}
// If we don't need a wakelock use -1 as the id so we won't release it later.
session.sendMediaButton(packageName, pid, uid, asSystemService, keyEvent,
@@ -2140,7 +2163,7 @@ public class MediaSessionService extends SystemService implements Monitor {
} else if (mCurrentFullUserRecord.mLastMediaButtonReceiver != null
|| mCurrentFullUserRecord.mRestoredMediaButtonReceiver != null) {
if (needWakeLock) {
- mKeyEventReceiver.aquireWakeLockLocked();
+ mKeyEventReceiver.acquireWakeLockLocked();
}
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
mediaButtonIntent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
@@ -2349,7 +2372,7 @@ public class MediaSessionService extends SystemService implements Monitor {
}
}
- public void aquireWakeLockLocked() {
+ public void acquireWakeLockLocked() {
if (mRefCount == 0) {
mMediaEventWakeLock.acquire();
}
diff --git a/services/core/java/com/android/server/media/MediaSessionStack.java b/services/core/java/com/android/server/media/MediaSessionStack.java
index 7bb7cf4b74ad..07b1a1acf466 100644
--- a/services/core/java/com/android/server/media/MediaSessionStack.java
+++ b/services/core/java/com/android/server/media/MediaSessionStack.java
@@ -274,6 +274,15 @@ class MediaSessionStack {
}
private void updateMediaButtonSession(MediaSessionRecordImpl newMediaButtonSession) {
+ // Check if the policy states that this session should not be updated as a media button
+ // session.
+ if (newMediaButtonSession != null) {
+ int policies = newMediaButtonSession.getSessionPolicies();
+ if ((policies & SessionPolicyProvider.SESSION_POLICY_IGNORE_BUTTON_SESSION) == 1) {
+ return;
+ }
+ }
+
MediaSessionRecordImpl oldMediaButtonSession = mMediaButtonSession;
mMediaButtonSession = newMediaButtonSession;
mOnMediaButtonSessionChangedListener.onMediaButtonSessionChanged(
diff --git a/services/core/java/com/android/server/media/SessionPolicyProvider.java b/services/core/java/com/android/server/media/SessionPolicyProvider.java
new file mode 100644
index 000000000000..6eb79ef8dd71
--- /dev/null
+++ b/services/core/java/com/android/server/media/SessionPolicyProvider.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.media;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.media.session.MediaSession;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Interface for customizing {@link MediaSessionService}
+ */
+public interface SessionPolicyProvider {
+ @IntDef(value = {
+ SESSION_POLICY_IGNORE_BUTTON_RECEIVER,
+ SESSION_POLICY_IGNORE_BUTTON_SESSION
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @interface SessionPolicy {}
+
+ /**
+ * Policy to ignore media button receiver, to not revive the media app when its media session is
+ * released or the app is dead.
+ *
+ * @see MediaSession#setMediaButtonReceiver
+ */
+ int SESSION_POLICY_IGNORE_BUTTON_RECEIVER = 1 << 0;
+
+ /**
+ * Policy to ignore sessions that should not respond to media key events via
+ * {@link MediaSessionService}. A typical use case is to explicitly
+ * ignore sessions that should not respond to media key events even if their playback state has
+ * changed most recently.
+ */
+ int SESSION_POLICY_IGNORE_BUTTON_SESSION = 1 << 1;
+
+ /**
+ * Use this to statically set policies for sessions when they are created.
+ * Use android.media.session.MediaSessionManager#setSessionPolicies(MediaSession.Token, int)
+ * to dynamically change policies at runtime.
+ *
+ * @param uid
+ * @param packageName
+ * @return list of policies
+ */
+ @SessionPolicy int getSessionPoliciesForApplication(int uid, @NonNull String packageName);
+}
diff --git a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
index 558eb8d05783..924a9b71c8ec 100644
--- a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
+++ b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
@@ -83,6 +83,8 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider {
super(sComponentName);
setCallback(callback);
+ mIsSystemRouteProvider = true;
+
mContext = context;
mHandler = new Handler(Looper.getMainLooper());
diff --git a/services/core/java/com/android/server/notification/NotificationDelegate.java b/services/core/java/com/android/server/notification/NotificationDelegate.java
index 88fc072e2481..feb4f0edcc0d 100644
--- a/services/core/java/com/android/server/notification/NotificationDelegate.java
+++ b/services/core/java/com/android/server/notification/NotificationDelegate.java
@@ -48,7 +48,15 @@ public interface NotificationDelegate {
int notificationLocation);
void onNotificationDirectReplied(String key);
void onNotificationSettingsViewed(String key);
+ /**
+ * Called when the state of {@link Notification#FLAG_BUBBLE} is changed.
+ */
void onNotificationBubbleChanged(String key, boolean isBubble);
+ /**
+ * Called when the state of {@link Notification.BubbleMetadata#FLAG_SUPPRESS_NOTIFICATION}
+ * changes.
+ */
+ void onBubbleNotificationSuppressionChanged(String key, boolean isSuppressed);
/**
* Grant permission to read the specified URI to the package associated with the
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index eea59ca26f34..68cc0141e657 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -90,10 +90,10 @@ import static android.service.notification.NotificationListenerService.REASON_UN
import static android.service.notification.NotificationListenerService.REASON_USER_STOPPED;
import static android.service.notification.NotificationListenerService.TRIM_FULL;
import static android.service.notification.NotificationListenerService.TRIM_LIGHT;
-import static android.util.StatsLogInternal.BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_MISSING;
-import static android.util.StatsLogInternal.BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_NOT_RESIZABLE;
import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
+import static com.android.internal.util.FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_MISSING;
+import static com.android.internal.util.FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_NOT_RESIZABLE;
import static com.android.server.am.PendingIntentRecord.FLAG_ACTIVITY_SENDER;
import static com.android.server.am.PendingIntentRecord.FLAG_BROADCAST_SENDER;
import static com.android.server.am.PendingIntentRecord.FLAG_SERVICE_SENDER;
@@ -219,7 +219,6 @@ import android.util.Log;
import android.util.Pair;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
import android.util.Xml;
import android.util.proto.ProtoOutputStream;
import android.view.accessibility.AccessibilityEvent;
@@ -232,6 +231,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.compat.IPlatformCompat;
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
+import com.android.internal.logging.InstanceIdSequence;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -243,6 +243,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.CollectionUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.Preconditions;
import com.android.internal.util.XmlUtils;
import com.android.internal.util.function.TriPredicate;
@@ -380,6 +381,8 @@ public class NotificationManagerService extends SystemService {
private static final String SCHEME_TIMEOUT = "timeout";
private static final String EXTRA_KEY = "key";
+ private static final int NOTIFICATION_INSTANCE_ID_MAX = (1 << 13);
+
/**
* Apps that post custom toasts in the background will have those blocked. Apps can
* still post toasts created with
@@ -519,6 +522,7 @@ public class NotificationManagerService extends SystemService {
private final SavePolicyFileRunnable mSavePolicyFile = new SavePolicyFileRunnable();
private NotificationRecordLogger mNotificationRecordLogger;
+ private InstanceIdSequence mNotificationInstanceIdSequence;
private static class Archive {
final int mBufferSize;
@@ -1175,6 +1179,34 @@ public class NotificationManagerService extends SystemService {
}
@Override
+ public void onBubbleNotificationSuppressionChanged(String key, boolean isSuppressed) {
+ synchronized (mNotificationLock) {
+ NotificationRecord r = mNotificationsByKey.get(key);
+ if (r != null) {
+ Notification.BubbleMetadata data = r.getNotification().getBubbleMetadata();
+ if (data == null) {
+ // No data, do nothing
+ return;
+ }
+ boolean currentlySuppressed = data.isNotificationSuppressed();
+ if (currentlySuppressed == isSuppressed) {
+ // No changes, do nothing
+ return;
+ }
+ int flags = data.getFlags();
+ if (isSuppressed) {
+ flags |= Notification.BubbleMetadata.FLAG_SUPPRESS_NOTIFICATION;
+ } else {
+ flags &= ~Notification.BubbleMetadata.FLAG_SUPPRESS_NOTIFICATION;
+ }
+ data.setFlags(flags);
+ mHandler.post(new EnqueueNotificationRunnable(r.getUser().getIdentifier(), r,
+ true /* isAppForeground */));
+ }
+ }
+ }
+
+ @Override
/**
* Grant permission to read the specified URI to the package specified in the
* NotificationRecord associated with the given key. The callingUid represents the UID of
@@ -1690,18 +1722,22 @@ public class NotificationManagerService extends SystemService {
}
public NotificationManagerService(Context context) {
- this(context, new NotificationRecordLoggerImpl());
+ this(context,
+ new NotificationRecordLoggerImpl(),
+ new InstanceIdSequence(NOTIFICATION_INSTANCE_ID_MAX));
}
@VisibleForTesting
public NotificationManagerService(Context context,
- NotificationRecordLogger notificationRecordLogger) {
+ NotificationRecordLogger notificationRecordLogger,
+ InstanceIdSequence notificationInstanceIdSequence) {
super(context);
mNotificationRecordLogger = notificationRecordLogger;
+ mNotificationInstanceIdSequence = notificationInstanceIdSequence;
Notification.processWhitelistToken = WHITELIST_TOKEN;
}
- // TODO - replace these methods with a single VisibleForTesting constructor
+ // TODO - replace these methods with new fields in the VisibleForTesting constructor
@VisibleForTesting
void setAudioManager(AudioManager audioMananger) {
mAudioManager = audioMananger;
@@ -2682,6 +2718,7 @@ public class NotificationManagerService extends SystemService {
if (callback != null && !appIsForeground && !isSystemToast) {
boolean block;
+ long id = Binder.clearCallingIdentity();
try {
block = mPlatformCompat.isChangeEnabledByPackageName(
CHANGE_BACKGROUND_CUSTOM_TOAST_BLOCK, pkg,
@@ -2691,12 +2728,14 @@ public class NotificationManagerService extends SystemService {
Slog.e(TAG, "Unexpected exception while checking block background custom toasts"
+ " change", e);
block = false;
+ } finally {
+ Binder.restoreCallingIdentity(id);
}
if (block) {
// TODO(b/144152069): Remove informative toast
mUiHandler.post(() -> Toast.makeText(getContext(),
"Background custom toast blocked for package " + pkg + ".\n"
- + "See go/r-toast-block.",
+ + "See g.co/dev/toast.",
Toast.LENGTH_SHORT).show());
Slog.w(TAG, "Blocking custom toast from package " + pkg
+ " due to package not in the foreground");
@@ -5749,14 +5788,14 @@ public class NotificationManagerService extends SystemService {
? intent.resolveActivityInfo(context.getPackageManager(), 0)
: null;
if (info == null) {
- StatsLog.write(StatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED, packageName,
+ FrameworkStatsLog.write(FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED, packageName,
BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_MISSING);
Log.w(TAG, "Unable to send as bubble -- couldn't find activity info for intent: "
+ intent);
return false;
}
if (!ActivityInfo.isResizeableMode(info.resizeMode)) {
- StatsLog.write(StatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED, packageName,
+ FrameworkStatsLog.write(FrameworkStatsLog.BUBBLE_DEVELOPER_ERROR_REPORTED, packageName,
BUBBLE_DEVELOPER_ERROR_REPORTED__ERROR__ACTIVITY_INFO_NOT_RESIZABLE);
Log.w(TAG, "Unable to send as bubble -- activity is not resizable for intent: "
+ intent);
@@ -6260,6 +6299,14 @@ public class NotificationManagerService extends SystemService {
NotificationRecord old = mNotificationsByKey.get(key);
final StatusBarNotification n = r.sbn;
final Notification notification = n.getNotification();
+
+ // Make sure the SBN has an instance ID for statsd logging.
+ if (old == null || old.sbn.getInstanceId() == null) {
+ n.setInstanceId(mNotificationInstanceIdSequence.newInstanceId());
+ } else {
+ n.setInstanceId(old.sbn.getInstanceId());
+ }
+
int index = indexOfNotificationLocked(n.getKey());
if (index < 0) {
mNotificationList.add(r);
diff --git a/services/core/java/com/android/server/notification/NotificationRecordLogger.java b/services/core/java/com/android/server/notification/NotificationRecordLogger.java
index 03929e883852..9bbc39249e2e 100644
--- a/services/core/java/com/android/server/notification/NotificationRecordLogger.java
+++ b/services/core/java/com/android/server/notification/NotificationRecordLogger.java
@@ -138,5 +138,9 @@ public interface NotificationRecordLogger {
String assistant = r.getAdjustmentIssuer();
return (assistant == null) ? 0 : assistant.hashCode();
}
+
+ int getInstanceId() {
+ return (r.sbn.getInstanceId() == null ? 0 : r.sbn.getInstanceId().getId());
+ }
}
}
diff --git a/services/core/java/com/android/server/notification/NotificationRecordLoggerImpl.java b/services/core/java/com/android/server/notification/NotificationRecordLoggerImpl.java
index d637ad5e368b..d61379921f2e 100644
--- a/services/core/java/com/android/server/notification/NotificationRecordLoggerImpl.java
+++ b/services/core/java/com/android/server/notification/NotificationRecordLoggerImpl.java
@@ -16,7 +16,7 @@
package com.android.server.notification;
-import android.util.StatsLog;
+import com.android.internal.util.FrameworkStatsLog;
/**
* Standard implementation of NotificationRecordLogger interface.
@@ -31,11 +31,11 @@ public class NotificationRecordLoggerImpl implements NotificationRecordLogger {
if (!p.shouldLog(buzzBeepBlink)) {
return;
}
- StatsLog.write(StatsLog.NOTIFICATION_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.NOTIFICATION_REPORTED,
/* int32 event_id = 1 */ p.getUiEvent().getId(),
/* int32 uid = 2 */ r.getUid(),
/* string package_name = 3 */ r.sbn.getPackageName(),
- /* int32 instance_id = 4 */ 0, // TODO generate and fill instance ids
+ /* int32 instance_id = 4 */ p.getInstanceId(),
/* int32 notification_id = 5 */ r.sbn.getId(),
/* string notification_tag = 6 */ r.sbn.getTag(),
/* string channel_id = 7 */ r.sbn.getChannelIdLogTag(),
diff --git a/services/core/java/com/android/server/om/OverlayActorEnforcer.java b/services/core/java/com/android/server/om/OverlayActorEnforcer.java
index 0a9f923ac817..4c85603a719c 100644
--- a/services/core/java/com/android/server/om/OverlayActorEnforcer.java
+++ b/services/core/java/com/android/server/om/OverlayActorEnforcer.java
@@ -53,10 +53,6 @@ public class OverlayActorEnforcer {
*/
static Pair<String, ActorState> getPackageNameForActor(String actorUriString,
Map<String, Map<String, String>> namedActors) {
- if (namedActors.isEmpty()) {
- return Pair.create(null, ActorState.NO_NAMED_ACTORS);
- }
-
Uri actorUri = Uri.parse(actorUriString);
String actorScheme = actorUri.getScheme();
@@ -65,6 +61,10 @@ public class OverlayActorEnforcer {
return Pair.create(null, ActorState.INVALID_OVERLAYABLE_ACTOR_NAME);
}
+ if (namedActors.isEmpty()) {
+ return Pair.create(null, ActorState.NO_NAMED_ACTORS);
+ }
+
String actorNamespace = actorUri.getAuthority();
Map<String, String> namespace = namedActors.get(actorNamespace);
if (namespace == null) {
diff --git a/services/core/java/com/android/server/om/TEST_MAPPING b/services/core/java/com/android/server/om/TEST_MAPPING
index 52163a09e387..75229a1adccc 100644
--- a/services/core/java/com/android/server/om/TEST_MAPPING
+++ b/services/core/java/com/android/server/om/TEST_MAPPING
@@ -7,6 +7,20 @@
"include-filter": "com.android.server.om."
}
]
+ },
+ {
+ "name": "OverlayDeviceTests"
+ },
+ {
+ "name": "OverlayHostTests"
+ },
+ {
+ "name": "CtsAppSecurityHostTestCases",
+ "options": [
+ {
+ "include-filter": "android.appsecurity.cts.OverlayHostTest"
+ }
+ ]
}
]
}
diff --git a/services/core/java/com/android/server/pm/ApexManager.java b/services/core/java/com/android/server/pm/ApexManager.java
index c6d2b334bd71..42bc464e943f 100644
--- a/services/core/java/com/android/server/pm/ApexManager.java
+++ b/services/core/java/com/android/server/pm/ApexManager.java
@@ -95,15 +95,17 @@ public abstract class ApexManager {
* Returns an instance of either {@link ApexManagerImpl} or {@link ApexManagerFlattenedApex}
* depending on whether this device supports APEX, i.e. {@link ApexProperties#updatable()}
* evaluates to {@code true}.
+ * @hide
*/
- static ApexManager getInstance() {
+ public static ApexManager getInstance() {
return sApexManagerSingleton.get();
}
/**
* Minimal information about APEX mount points and the original APEX package they refer to.
+ * @hide
*/
- static class ActiveApexInfo {
+ public static class ActiveApexInfo {
@Nullable public final String apexModuleName;
public final File apexDirectory;
public final File preInstalledApexPath;
@@ -130,8 +132,10 @@ public abstract class ApexManager {
/**
* Returns {@link ActiveApexInfo} records relative to all active APEX packages.
+ *
+ * @hide
*/
- abstract List<ActiveApexInfo> getActiveApexInfos();
+ public abstract List<ActiveApexInfo> getActiveApexInfos();
abstract void systemReady(Context context);
@@ -272,6 +276,29 @@ public abstract class ApexManager {
public abstract String getApexModuleNameForPackageName(String apexPackageName);
/**
+ * Copies the CE apex data directory for the given {@code userId} to a backup location, for use
+ * in case of rollback.
+ *
+ * @return long inode for the snapshot directory if the snapshot was successful, or -1 if not
+ */
+ public abstract long snapshotCeData(int userId, int rollbackId, String apexPackageName);
+
+ /**
+ * Restores the snapshot of the CE apex data directory for the given {@code userId}.
+ *
+ * @return boolean true if the restore was successful
+ */
+ public abstract boolean restoreCeData(int userId, int rollbackId, String apexPackageName);
+
+ /**
+ * Deletes snapshots of the device encrypted apex data directories for the given
+ * {@code rollbackId}.
+ *
+ * @return boolean true if the delete was successful
+ */
+ public abstract boolean destroyDeSnapshots(int rollbackId);
+
+ /**
* Dumps various state information to the provided {@link PrintWriter} object.
*
* @param pw the {@link PrintWriter} object to send information to.
@@ -347,7 +374,7 @@ public abstract class ApexManager {
}
@Override
- List<ActiveApexInfo> getActiveApexInfos() {
+ public List<ActiveApexInfo> getActiveApexInfos() {
synchronized (mLock) {
if (mActiveApexInfosCache == null) {
try {
@@ -662,6 +689,56 @@ public abstract class ApexManager {
}
}
+ @Override
+ public long snapshotCeData(int userId, int rollbackId, String apexPackageName) {
+ populatePackageNameToApexModuleNameIfNeeded();
+ String apexModuleName;
+ synchronized (mLock) {
+ apexModuleName = mPackageNameToApexModuleName.get(apexPackageName);
+ }
+ if (apexModuleName == null) {
+ Slog.e(TAG, "Invalid apex package name: " + apexPackageName);
+ return -1;
+ }
+ try {
+ return mApexService.snapshotCeData(userId, rollbackId, apexModuleName);
+ } catch (Exception e) {
+ Slog.e(TAG, e.getMessage(), e);
+ return -1;
+ }
+ }
+
+ @Override
+ public boolean restoreCeData(int userId, int rollbackId, String apexPackageName) {
+ populatePackageNameToApexModuleNameIfNeeded();
+ String apexModuleName;
+ synchronized (mLock) {
+ apexModuleName = mPackageNameToApexModuleName.get(apexPackageName);
+ }
+ if (apexModuleName == null) {
+ Slog.e(TAG, "Invalid apex package name: " + apexPackageName);
+ return false;
+ }
+ try {
+ mApexService.restoreCeData(userId, rollbackId, apexModuleName);
+ return true;
+ } catch (Exception e) {
+ Slog.e(TAG, e.getMessage(), e);
+ return false;
+ }
+ }
+
+ @Override
+ public boolean destroyDeSnapshots(int rollbackId) {
+ try {
+ mApexService.destroyDeSnapshots(rollbackId);
+ return true;
+ } catch (Exception e) {
+ Slog.e(TAG, e.getMessage(), e);
+ return false;
+ }
+ }
+
/**
* Dump information about the packages contained in a particular cache
* @param packagesCache the cache to print information about.
@@ -744,7 +821,7 @@ public abstract class ApexManager {
*/
private static final class ApexManagerFlattenedApex extends ApexManager {
@Override
- List<ActiveApexInfo> getActiveApexInfos() {
+ public List<ActiveApexInfo> getActiveApexInfos() {
// There is no apexd running in case of flattened apex
// We look up the /apex directory and identify the active APEX modules from there.
// As "preinstalled" path, we just report /system since in the case of flattened APEX
@@ -865,6 +942,21 @@ public abstract class ApexManager {
}
@Override
+ public long snapshotCeData(int userId, int rollbackId, String apexPackageName) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean restoreCeData(int userId, int rollbackId, String apexPackageName) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean destroyDeSnapshots(int rollbackId) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
void dump(PrintWriter pw, String packageName) {
// No-op
}
diff --git a/services/core/java/com/android/server/pm/AppsFilter.java b/services/core/java/com/android/server/pm/AppsFilter.java
index 6e7e5d884a4a..3ad120705eb3 100644
--- a/services/core/java/com/android/server/pm/AppsFilter.java
+++ b/services/core/java/com/android/server/pm/AppsFilter.java
@@ -20,10 +20,12 @@ import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
import static android.provider.DeviceConfig.NAMESPACE_PACKAGE_MANAGER_SERVICE;
import android.Manifest;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
+import android.content.pm.PackageParser;
import android.content.pm.parsing.AndroidPackage;
import android.content.pm.parsing.ComponentParseUtils;
import android.content.pm.parsing.ComponentParseUtils.ParsedActivity;
@@ -66,9 +68,8 @@ public class AppsFilter {
// Logs all filtering instead of enforcing
private static final boolean DEBUG_ALLOW_ALL = false;
-
- @SuppressWarnings("ConstantExpression")
- private static final boolean DEBUG_LOGGING = false | DEBUG_ALLOW_ALL;
+ private static final boolean DEBUG_LOGGING = false;
+ private static final boolean FEATURE_ENABLED_BY_DEFAULT = false;
/**
* This contains a list of app UIDs that are implicitly queryable because another app explicitly
@@ -108,6 +109,7 @@ public class AppsFilter {
private final FeatureConfig mFeatureConfig;
private final OverlayReferenceMapper mOverlayReferenceMapper;
+ private PackageParser.SigningDetails mSystemSigningDetails;
AppsFilter(FeatureConfig featureConfig, String[] forceQueryableWhitelist,
boolean systemAppsQueryable,
@@ -133,7 +135,7 @@ public class AppsFilter {
private static class FeatureConfigImpl implements FeatureConfig {
private static final String FILTERING_ENABLED_NAME = "package_query_filtering_enabled";
private final PackageManagerService.Injector mInjector;
- private volatile boolean mFeatureEnabled = false;
+ private volatile boolean mFeatureEnabled = FEATURE_ENABLED_BY_DEFAULT;
private FeatureConfigImpl(PackageManagerService.Injector injector) {
mInjector = injector;
@@ -142,14 +144,15 @@ public class AppsFilter {
@Override
public void onSystemReady() {
mFeatureEnabled = DeviceConfig.getBoolean(
- NAMESPACE_PACKAGE_MANAGER_SERVICE, FILTERING_ENABLED_NAME, false);
+ NAMESPACE_PACKAGE_MANAGER_SERVICE, FILTERING_ENABLED_NAME,
+ FEATURE_ENABLED_BY_DEFAULT);
DeviceConfig.addOnPropertiesChangedListener(
NAMESPACE_PACKAGE_MANAGER_SERVICE, FgThread.getExecutor(),
properties -> {
if (properties.getKeyset().contains(FILTERING_ENABLED_NAME)) {
synchronized (FeatureConfigImpl.this) {
mFeatureEnabled = properties.getBoolean(FILTERING_ENABLED_NAME,
- false);
+ FEATURE_ENABLED_BY_DEFAULT);
}
}
});
@@ -321,6 +324,17 @@ public class AppsFilter {
*/
public void addPackage(PackageSetting newPkgSetting,
ArrayMap<String, PackageSetting> existingSettings) {
+ if (Objects.equals("android", newPkgSetting.name)) {
+ // let's set aside the framework signatures
+ mSystemSigningDetails = newPkgSetting.signatures.mSigningDetails;
+ // and since we add overlays before we add the framework, let's revisit already added
+ // packages for signature matches
+ for (PackageSetting setting : existingSettings.values()) {
+ if (isSystemSigned(mSystemSigningDetails, setting)) {
+ mForceQueryable.add(setting.appId);
+ }
+ }
+ }
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "filter.addPackage");
try {
final AndroidPackage newPkg = newPkgSetting.pkg;
@@ -333,10 +347,13 @@ public class AppsFilter {
mForceQueryable.contains(newPkgSetting.appId)
/* shared user that is already force queryable */
|| newPkg.isForceQueryable()
+ || newPkgSetting.forceQueryableOverride
|| (newPkgSetting.isSystem() && (mSystemAppsQueryable
|| ArrayUtils.contains(mForceQueryableByDevicePackageNames,
newPkg.getPackageName())));
- if (newIsForceQueryable) {
+ if (newIsForceQueryable
+ || (mSystemSigningDetails != null
+ && isSystemSigned(mSystemSigningDetails, newPkgSetting))) {
mForceQueryable.add(newPkgSetting.appId);
}
@@ -382,6 +399,12 @@ public class AppsFilter {
}
}
+ private static boolean isSystemSigned(@NonNull PackageParser.SigningDetails sysSigningDetails,
+ PackageSetting pkgSetting) {
+ return pkgSetting.isSystem()
+ && pkgSetting.signatures.mSigningDetails.signaturesMatchExactly(sysSigningDetails);
+ }
+
/**
* Removes a package for consideration when filtering visibility between apps.
*
@@ -591,6 +614,7 @@ public class AppsFilter {
} finally {
Trace.endSection();
}
+
if (callingPkgSetting != null) {
if (callingPkgInstruments(callingPkgSetting, targetPkgSetting, targetName)) {
return false;
@@ -604,28 +628,34 @@ public class AppsFilter {
}
}
- if (callingSharedPkgSettings != null) {
- int size = callingSharedPkgSettings.size();
- for (int index = 0; index < size; index++) {
- PackageSetting pkgSetting = callingSharedPkgSettings.valueAt(index);
- if (mOverlayReferenceMapper.isValidActor(targetName, pkgSetting.name)) {
+ try {
+ Trace.beginSection("mOverlayReferenceMapper");
+ if (callingSharedPkgSettings != null) {
+ int size = callingSharedPkgSettings.size();
+ for (int index = 0; index < size; index++) {
+ PackageSetting pkgSetting = callingSharedPkgSettings.valueAt(index);
+ if (mOverlayReferenceMapper.isValidActor(targetName, pkgSetting.name)) {
+ if (DEBUG_LOGGING) {
+ log(callingPkgSetting, targetPkgSetting,
+ "matches shared user of package that acts on target of "
+ + "overlay");
+ }
+ return false;
+ }
+ }
+ } else {
+ if (mOverlayReferenceMapper.isValidActor(targetName, callingPkgSetting.name)) {
if (DEBUG_LOGGING) {
- log(callingPkgSetting, targetPkgSetting,
- "matches shared user of package that acts on target of "
- + "overlay");
+ log(callingPkgSetting, targetPkgSetting, "acts on target of overlay");
}
return false;
}
}
- } else {
- if (mOverlayReferenceMapper.isValidActor(targetName, callingPkgSetting.name)) {
- if (DEBUG_LOGGING) {
- log(callingPkgSetting, targetPkgSetting, "acts on target of overlay");
- }
- return false;
- }
+ } finally {
+ Trace.endSection();
}
+
return true;
} finally {
Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
diff --git a/services/core/java/com/android/server/pm/BackgroundDexOptService.java b/services/core/java/com/android/server/pm/BackgroundDexOptService.java
index c7124314cae0..ba7583fe7f7a 100644
--- a/services/core/java/com/android/server/pm/BackgroundDexOptService.java
+++ b/services/core/java/com/android/server/pm/BackgroundDexOptService.java
@@ -36,9 +36,9 @@ import android.os.UserHandle;
import android.os.storage.StorageManager;
import android.util.ArraySet;
import android.util.Log;
-import android.util.StatsLog;
import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.PinnerService;
import com.android.server.pm.dex.DexManager;
@@ -444,7 +444,7 @@ public class BackgroundDexOptService extends JobService {
}
if (dex_opt_performed) {
- StatsLog.write(StatsLog.APP_DOWNGRADED, pkg, package_size_before,
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_DOWNGRADED, pkg, package_size_before,
getPackageSize(pm, pkg), /*aggressive=*/ false);
}
return dex_opt_performed;
diff --git a/services/core/java/com/android/server/pm/DataLoaderManagerService.java b/services/core/java/com/android/server/pm/DataLoaderManagerService.java
index 0dfea7fd5f96..4fc9e909a774 100644
--- a/services/core/java/com/android/server/pm/DataLoaderManagerService.java
+++ b/services/core/java/com/android/server/pm/DataLoaderManagerService.java
@@ -50,7 +50,7 @@ public class DataLoaderManagerService extends SystemService {
private final DataLoaderManagerBinderService mBinderService;
private final Object mLock = new Object();
@GuardedBy("mLock")
- private SparseArray<DataLoaderServiceConnection> mServiceConnections;
+ private SparseArray<DataLoaderServiceConnection> mServiceConnections = new SparseArray<>();
public DataLoaderManagerService(Context context) {
super(context);
@@ -68,9 +68,6 @@ public class DataLoaderManagerService extends SystemService {
public boolean initializeDataLoader(int dataLoaderId, Bundle params,
IDataLoaderStatusListener listener) {
synchronized (mLock) {
- if (mServiceConnections == null) {
- mServiceConnections = new SparseArray<>();
- }
if (mServiceConnections.get(dataLoaderId) != null) {
Slog.e(TAG, "Data loader of ID=" + dataLoaderId + " already exists.");
return false;
@@ -156,9 +153,6 @@ public class DataLoaderManagerService extends SystemService {
@Override
public @Nullable IDataLoader getDataLoader(int dataLoaderId) {
synchronized (mLock) {
- if (mServiceConnections == null) {
- return null;
- }
DataLoaderServiceConnection serviceConnection = mServiceConnections.get(
dataLoaderId, null);
if (serviceConnection == null) {
@@ -174,9 +168,6 @@ public class DataLoaderManagerService extends SystemService {
@Override
public void destroyDataLoader(int dataLoaderId) {
synchronized (mLock) {
- if (mServiceConnections == null) {
- return;
- }
DataLoaderServiceConnection serviceConnection = mServiceConnections.get(
dataLoaderId, null);
@@ -234,9 +225,6 @@ public class DataLoaderManagerService extends SystemService {
private void remove() {
synchronized (mLock) {
mServiceConnections.remove(mId);
- if (mServiceConnections.size() == 0) {
- mServiceConnections = null;
- }
}
mParams.clear();
}
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index f962eedb5111..40ea6cfb6d4a 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -450,16 +450,6 @@ public class Installer extends SystemService {
}
}
- public void markBootComplete(String instructionSet) throws InstallerException {
- assertValidInstructionSet(instructionSet);
- if (!checkBeforeRemote()) return;
- try {
- mInstalld.markBootComplete(instructionSet);
- } catch (Exception e) {
- throw InstallerException.from(e);
- }
- }
-
public void freeCache(String uuid, long targetFreeBytes, long cacheReservedBytes, int flags)
throws InstallerException {
if (!checkBeforeRemote()) return;
diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java
index c4ef856e3ae7..7bb782b9fadc 100644
--- a/services/core/java/com/android/server/pm/LauncherAppsService.java
+++ b/services/core/java/com/android/server/pm/LauncherAppsService.java
@@ -34,6 +34,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.ILauncherApps;
import android.content.pm.IOnAppsChangedListener;
import android.content.pm.IPackageInstallerCallback;
+import android.content.pm.IPackageManager;
import android.content.pm.LauncherApps;
import android.content.pm.LauncherApps.ShortcutQuery;
import android.content.pm.PackageInfo;
@@ -69,7 +70,6 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.content.PackageMonitor;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.ArrayUtils;
-import com.android.internal.util.Preconditions;
import com.android.server.LocalServices;
import com.android.server.SystemService;
import com.android.server.wm.ActivityTaskManagerInternal;
@@ -119,6 +119,7 @@ public class LauncherAppsService extends SystemService {
private final Context mContext;
private final UserManager mUm;
+ private final IPackageManager mIPM;
private final UserManagerInternal mUserManagerInternal;
private final UsageStatsManagerInternal mUsageStatsManagerInternal;
private final ActivityManagerInternal mActivityManagerInternal;
@@ -136,6 +137,7 @@ public class LauncherAppsService extends SystemService {
public LauncherAppsImpl(Context context) {
mContext = context;
+ mIPM = AppGlobals.getPackageManager();
mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mUserManagerInternal = Objects.requireNonNull(
LocalServices.getService(UserManagerInternal.class));
@@ -781,6 +783,17 @@ public class LauncherAppsService extends SystemService {
final int callingUid = injectBinderCallingUid();
long ident = Binder.clearCallingIdentity();
try {
+ final int state = mIPM.getComponentEnabledSetting(component, user.getIdentifier());
+ switch (state) {
+ case PackageManager.COMPONENT_ENABLED_STATE_DEFAULT:
+ break; // Need to check the manifest's enabled state.
+ case PackageManager.COMPONENT_ENABLED_STATE_ENABLED:
+ return true;
+ case PackageManager.COMPONENT_ENABLED_STATE_DISABLED:
+ case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER:
+ case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED:
+ return false;
+ }
final PackageManagerInternal pmInt =
LocalServices.getService(PackageManagerInternal.class);
ActivityInfo info = pmInt.getActivityInfo(component,
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java
index c17ad1119631..9116c4032ad5 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerService.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerService.java
@@ -635,6 +635,13 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
stageCid = buildExternalStageCid(sessionId);
}
}
+
+ // reset the force queryable param if it's not called by an approved caller.
+ if (params.forceQueryableOverride) {
+ if (callingUid != Process.SHELL_UID && callingUid != Process.ROOT_UID) {
+ params.forceQueryableOverride = false;
+ }
+ }
InstallSource installSource = InstallSource.create(installerPackageName,
originatingPackageName, requestedInstallerPackageName);
session = new PackageInstallerSession(mInternalCallback, mContext, mPm, this,
diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java
index 43ed25f944c6..bf7bebd10a13 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java
@@ -101,7 +101,6 @@ import android.os.RevocableFileDescriptor;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.incremental.IncrementalFileStorages;
-import android.os.incremental.IncrementalManager;
import android.os.storage.StorageManager;
import android.provider.Settings.Secure;
import android.stats.devicepolicy.DevicePolicyEnums;
@@ -147,17 +146,15 @@ import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
public class PackageInstallerSession extends IPackageInstallerSession.Stub {
private static final String TAG = "PackageInstallerSession";
private static final boolean LOGD = true;
private static final String REMOVE_MARKER_EXTENSION = ".removed";
- private static final int MSG_COMMIT = 1;
- private static final int MSG_ON_PACKAGE_INSTALLED = 2;
- private static final int MSG_SEAL = 3;
- private static final int MSG_STREAM_AND_VALIDATE = 4;
+ private static final int MSG_STREAM_VALIDATE_AND_COMMIT = 1;
+ private static final int MSG_INSTALL = 2;
+ private static final int MSG_ON_PACKAGE_INSTALLED = 3;
/** XML constants used for persisting a session */
static final String TAG_SESSION = "session";
@@ -415,14 +412,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
- case MSG_SEAL:
- handleSeal((IntentSender) msg.obj);
+ case MSG_STREAM_VALIDATE_AND_COMMIT:
+ handleStreamValidateAndCommit();
break;
- case MSG_STREAM_AND_VALIDATE:
- handleStreamAndValidate();
- break;
- case MSG_COMMIT:
- handleCommit();
+ case MSG_INSTALL:
+ handleInstall();
break;
case MSG_ON_PACKAGE_INSTALLED:
final SomeArgs args = (SomeArgs) msg.obj;
@@ -564,17 +558,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
mStagedSessionErrorMessage =
stagedSessionErrorMessage != null ? stagedSessionErrorMessage : "";
- // TODO(b/136132412): sanity check if session should not be incremental
- if (!params.isStaged && isIncrementalInstallation()) {
- IncrementalManager incrementalManager = (IncrementalManager) mContext.getSystemService(
- Context.INCREMENTAL_SERVICE);
- if (incrementalManager != null) {
- mIncrementalFileStorages =
- new IncrementalFileStorages(mPackageName, stageDir, incrementalManager,
- params.dataLoaderParams);
- }
- }
-
if (isStreamingInstallation()
&& this.params.dataLoaderParams.getComponentName().getPackageName()
== SYSTEM_DATA_LOADER_PACKAGE) {
@@ -740,22 +723,33 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
return result;
}
- return mFiles.stream().map(fileInfo -> fileInfo.name).toArray(String[]::new);
+
+ String[] result = new String[mFiles.size()];
+ for (int i = 0, size = mFiles.size(); i < size; ++i) {
+ result[i] = mFiles.get(i).name;
+ }
+ return result;
}
- private static File[] filterFiles(File parent, String[] names, FileFilter filter) {
- return Arrays.stream(names).map(name -> new File(parent, name)).filter(
- file -> filter.accept(file)).toArray(File[]::new);
+ private static ArrayList<File> filterFiles(File parent, String[] names, FileFilter filter) {
+ ArrayList<File> result = new ArrayList<>(names.length);
+ for (String name : names) {
+ File file = new File(parent, name);
+ if (filter.accept(file)) {
+ result.add(file);
+ }
+ }
+ return result;
}
@GuardedBy("mLock")
- private File[] getAddedApksLocked() {
+ private List<File> getAddedApksLocked() {
String[] names = getNamesLocked();
return filterFiles(stageDir, names, sAddedApkFilter);
}
@GuardedBy("mLock")
- private File[] getRemovedFilesLocked() {
+ private List<File> getRemovedFilesLocked() {
String[] names = getNamesLocked();
return filterFiles(stageDir, names, sRemovedFilter);
}
@@ -1011,24 +1005,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
+ mParentSessionId + " and may not be committed directly.");
}
- assertCanBeCommitted(forTransfer);
-
- if (isMultiPackage()) {
- for (int i = mChildSessionIds.size() - 1; i >= 0; --i) {
- final int childSessionId = mChildSessionIds.keyAt(i);
- mSessionProvider.getSession(childSessionId).assertCanBeCommitted(forTransfer);
- }
- }
-
- if (mIncrementalFileStorages != null) {
- mIncrementalFileStorages.finishSetUp();
- }
-
- mHandler.obtainMessage(MSG_SEAL, statusReceiver).sendToTarget();
- }
-
- private void handleSeal(@NonNull IntentSender statusReceiver) {
- if (!markAsSealed(statusReceiver)) {
+ if (!markAsSealed(statusReceiver, forTransfer)) {
return;
}
if (isMultiPackage()) {
@@ -1042,7 +1019,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
// seal all children, regardless if any of them fail; we'll throw/return
// as appropriate once all children have been processed
if (!mSessionProvider.getSession(childSessionId)
- .markAsSealed(childIntentSender)) {
+ .markAsSealed(childIntentSender, forTransfer)) {
sealFailed = true;
}
}
@@ -1051,20 +1028,15 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
}
- dispatchStreamAndValidate();
+ dispatchStreamValidateAndCommit();
}
- private void dispatchStreamAndValidate() {
- mHandler.obtainMessage(MSG_STREAM_AND_VALIDATE).sendToTarget();
+ private void dispatchStreamValidateAndCommit() {
+ mHandler.obtainMessage(MSG_STREAM_VALIDATE_AND_COMMIT).sendToTarget();
}
- private void handleStreamAndValidate() {
- // TODO(b/136132412): update with new APIs
- if (mIncrementalFileStorages != null) {
- mIncrementalFileStorages.startLoading();
- }
-
- boolean commitFailed = !markAsCommitted();
+ private void handleStreamValidateAndCommit() {
+ boolean success = streamValidateAndCommit();
if (isMultiPackage()) {
for (int i = mChildSessionIds.size() - 1; i >= 0; --i) {
@@ -1072,26 +1044,27 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
// commit all children, regardless if any of them fail; we'll throw/return
// as appropriate once all children have been processed
if (!mSessionProvider.getSession(childSessionId)
- .markAsCommitted()) {
- commitFailed = true;
+ .streamValidateAndCommit()) {
+ success = false;
}
}
}
- if (commitFailed) {
+ if (!success) {
return;
}
- mHandler.obtainMessage(MSG_COMMIT).sendToTarget();
+ mHandler.obtainMessage(MSG_INSTALL).sendToTarget();
}
private final class FileSystemConnector extends
IPackageInstallerSessionFileSystemConnector.Stub {
- final Set<String> mAddedFiles;
+ final Set<String> mAddedFiles = new ArraySet<>();
FileSystemConnector(List<InstallationFile> addedFiles) {
- mAddedFiles = addedFiles.stream().map(file -> file.getName()).collect(
- Collectors.toSet());
+ for (InstallationFile file : addedFiles) {
+ mAddedFiles.add(file.getName());
+ }
}
@Override
@@ -1201,9 +1174,16 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
/**
- * Sanity checks to make sure it's ok to commit the session.
+ * If this was not already called, the session will be sealed.
+ *
+ * This method may be called multiple times to update the status receiver validate caller
+ * permissions.
*/
- private void assertCanBeCommitted(boolean forTransfer) {
+ private boolean markAsSealed(@NonNull IntentSender statusReceiver, boolean forTransfer) {
+ Objects.requireNonNull(statusReceiver);
+
+ List<PackageInstallerSession> childSessions = getChildSessions();
+
synchronized (mLock) {
assertCallerIsOwnerOrRootLocked();
assertPreparedAndNotDestroyedLocked("commit");
@@ -1226,21 +1206,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
throw new IllegalArgumentException("Session has been transferred");
}
}
- }
- }
- /**
- * If this was not already called, the session will be sealed.
- *
- * This method may be called multiple times to update the status receiver validate caller
- * permissions.
- */
- private boolean markAsSealed(@NonNull IntentSender statusReceiver) {
- Objects.requireNonNull(statusReceiver);
-
- List<PackageInstallerSession> childSessions = getChildSessions();
-
- synchronized (mLock) {
mRemoteStatusReceiver = statusReceiver;
// After updating the observer, we can skip re-sealing.
@@ -1263,10 +1229,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
return true;
}
- private boolean markAsCommitted() {
+ private boolean streamValidateAndCommit() {
synchronized (mLock) {
- Objects.requireNonNull(mRemoteStatusReceiver);
-
if (mCommitted) {
return true;
}
@@ -1519,7 +1483,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
mCallback.onSessionSealedBlocking(this);
}
- private void handleCommit() {
+ private void handleInstall() {
if (isInstallerDeviceOwnerOrAffiliatedProfileOwnerLocked()) {
DevicePolicyEventLogger
.createEvent(DevicePolicyEnums.INSTALL_PACKAGE)
@@ -1548,7 +1512,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
try {
synchronized (mLock) {
- commitNonStagedLocked(childSessions);
+ installNonStagedLocked(childSessions);
}
} catch (PackageManagerException e) {
final String completeMsg = ExceptionUtils.getCompleteMessage(e);
@@ -1559,25 +1523,25 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
@GuardedBy("mLock")
- private void commitNonStagedLocked(List<PackageInstallerSession> childSessions)
+ private void installNonStagedLocked(List<PackageInstallerSession> childSessions)
throws PackageManagerException {
- final PackageManagerService.ActiveInstallSession committingSession =
+ final PackageManagerService.ActiveInstallSession installingSession =
makeSessionActiveLocked();
- if (committingSession == null) {
+ if (installingSession == null) {
return;
}
if (isMultiPackage()) {
- List<PackageManagerService.ActiveInstallSession> activeChildSessions =
+ List<PackageManagerService.ActiveInstallSession> installingChildSessions =
new ArrayList<>(childSessions.size());
boolean success = true;
PackageManagerException failure = null;
for (int i = 0; i < childSessions.size(); ++i) {
final PackageInstallerSession session = childSessions.get(i);
try {
- final PackageManagerService.ActiveInstallSession activeSession =
+ final PackageManagerService.ActiveInstallSession installingChildSession =
session.makeSessionActiveLocked();
- if (activeSession != null) {
- activeChildSessions.add(activeSession);
+ if (installingChildSession != null) {
+ installingChildSessions.add(installingChildSession);
}
} catch (PackageManagerException e) {
failure = e;
@@ -1591,9 +1555,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
failure.error, failure.getLocalizedMessage(), null);
return;
}
- mPm.installStage(activeChildSessions);
+ mPm.installStage(installingChildSessions);
} else {
- mPm.installStage(committingSession);
+ mPm.installStage(installingSession);
}
}
@@ -1767,8 +1731,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
@GuardedBy("mLock")
private void validateApexInstallLocked()
throws PackageManagerException {
- final File[] addedFiles = getAddedApksLocked();
- if (ArrayUtils.isEmpty(addedFiles)) {
+ final List<File> addedFiles = getAddedApksLocked();
+ if (addedFiles.isEmpty()) {
throw new PackageManagerException(INSTALL_FAILED_INVALID_APK, "No packages staged");
}
@@ -1777,7 +1741,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
"Too many files for apex install");
}
- File addedFile = addedFiles[0]; // there is only one file
+ File addedFile = addedFiles.get(0); // there is only one file
// Ensure file name has proper suffix
final String sourceName = addedFile.getName();
@@ -1844,9 +1808,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
&& params.mode == SessionParams.MODE_INHERIT_EXISTING
&& VerityUtils.hasFsverity(pkgInfo.applicationInfo.getBaseCodePath());
- final File[] removedFiles = getRemovedFilesLocked();
+ final List<File> removedFiles = getRemovedFilesLocked();
final List<String> removeSplitList = new ArrayList<>();
- if (!ArrayUtils.isEmpty(removedFiles)) {
+ if (!removedFiles.isEmpty()) {
for (File removedFile : removedFiles) {
final String fileName = removedFile.getName();
final String splitName = fileName.substring(
@@ -1855,8 +1819,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
}
- final File[] addedFiles = getAddedApksLocked();
- if (ArrayUtils.isEmpty(addedFiles) && removeSplitList.size() == 0) {
+ final List<File> addedFiles = getAddedApksLocked();
+ if (addedFiles.isEmpty() && removeSplitList.size() == 0) {
throw new PackageManagerException(INSTALL_FAILED_INVALID_APK, "No packages staged");
}
@@ -2306,7 +2270,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
// Mark and kick off another install pass
synchronized (mLock) {
mPermissionsManuallyAccepted = true;
- mHandler.obtainMessage(MSG_COMMIT).sendToTarget();
+ mHandler.obtainMessage(MSG_INSTALL).sendToTarget();
}
} else {
destroyInternal();
@@ -2475,28 +2439,31 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
return true;
}
- final List<InstallationFile> addedFiles = mFiles.stream().filter(
- file -> sAddedFilter.accept(new File(file.name))).map(
- file -> new InstallationFile(
- file.name, file.lengthBytes, file.metadata)).collect(
- Collectors.toList());
- final List<String> removedFiles = mFiles.stream().filter(
- file -> sRemovedFilter.accept(new File(file.name))).map(
- file -> file.name.substring(
- 0, file.name.length() - REMOVE_MARKER_EXTENSION.length())).collect(
- Collectors.toList());
+ final List<InstallationFile> addedFiles = new ArrayList<>(mFiles.size());
+ for (FileInfo file : mFiles) {
+ if (sAddedFilter.accept(new File(this.stageDir, file.name))) {
+ addedFiles.add(new InstallationFile(
+ file.name, file.lengthBytes, file.metadata));
+ }
+ }
+ final List<String> removedFiles = new ArrayList<>(mFiles.size());
+ for (FileInfo file : mFiles) {
+ if (sRemovedFilter.accept(new File(this.stageDir, file.name))) {
+ String name = file.name.substring(
+ 0, file.name.length() - REMOVE_MARKER_EXTENSION.length());
+ removedFiles.add(name);
+ }
+ }
- if (mIncrementalFileStorages != null) {
- for (InstallationFile file : addedFiles) {
- try {
- mIncrementalFileStorages.addFile(file);
- } catch (IOException ex) {
- // TODO(b/146080380): add incremental-specific error code
- throw new PackageManagerException(INSTALL_FAILED_INTERNAL_ERROR,
- "Failed to add and configure Incremental File: " + file.getName(), ex);
- }
+ // TODO(b/136132412): update with new APIs
+ if (isIncrementalInstallation()) {
+ try {
+ mIncrementalFileStorages = IncrementalFileStorages.initialize(mContext,
+ stageDir, params.dataLoaderParams, addedFiles);
+ return true;
+ } catch (IOException e) {
+ throw new PackageManagerException(e);
}
- return true;
}
final DataLoaderManager dataLoaderManager = mContext.getSystemService(
@@ -2536,9 +2503,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
mDataLoaderFinished = true;
if (hasParentSessionId()) {
mSessionProvider.getSession(
- mParentSessionId).dispatchStreamAndValidate();
+ mParentSessionId).dispatchStreamValidateAndCommit();
} else {
- dispatchStreamAndValidate();
+ dispatchStreamValidateAndCommit();
}
dataLoader.destroy();
break;
@@ -2771,13 +2738,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
bridge.forceClose();
}
}
+ if (mIncrementalFileStorages != null) {
+ mIncrementalFileStorages.cleanUp();
+ mIncrementalFileStorages = null;
+ }
// For staged sessions, we don't delete the directory where the packages have been copied,
// since these packages are supposed to be read on reboot.
// Those dirs are deleted when the staged session has reached a final state.
if (stageDir != null && !params.isStaged) {
- if (mIncrementalFileStorages != null) {
- mIncrementalFileStorages.cleanUp();
- }
try {
mPm.mInstaller.rmPackageDir(stageDir.getAbsolutePath());
} catch (InstallerException ignored) {
@@ -2793,6 +2761,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
} else {
if (mIncrementalFileStorages != null) {
mIncrementalFileStorages.cleanUp();
+ mIncrementalFileStorages = null;
}
try {
mPm.mInstaller.rmPackageDir(stageDir.getAbsolutePath());
@@ -3127,8 +3096,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
if (grantedRuntimePermissions.size() > 0) {
- params.grantedRuntimePermissions = grantedRuntimePermissions
- .stream().toArray(String[]::new);
+ params.grantedRuntimePermissions = (String[]) grantedRuntimePermissions.toArray();
}
if (whitelistedRestrictedPermissions.size() > 0) {
@@ -3137,14 +3105,17 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
int[] childSessionIdsArray;
if (childSessionIds.size() > 0) {
- childSessionIdsArray = childSessionIds.stream().mapToInt(i -> i).toArray();
+ childSessionIdsArray = new int[childSessionIds.size()];
+ for (int i = 0, size = childSessionIds.size(); i < size; ++i) {
+ childSessionIdsArray[i] = childSessionIds.get(i);
+ }
} else {
childSessionIdsArray = EMPTY_CHILD_SESSION_ARRAY;
}
FileInfo[] fileInfosArray = null;
if (!files.isEmpty()) {
- fileInfosArray = files.stream().toArray(FileInfo[]::new);
+ fileInfosArray = (FileInfo[]) files.toArray();
}
InstallSource installSource = InstallSource.create(installInitiatingPackageName,
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index de6b7d5af397..93e724e3616c 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -55,12 +55,14 @@ import static android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK;
import static android.content.pm.PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION;
import static android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY;
import static android.content.pm.PackageManager.INSTALL_FAILED_PACKAGE_CHANGED;
+import static android.content.pm.PackageManager.INSTALL_FAILED_PROCESS_NOT_DEFINED;
import static android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE;
import static android.content.pm.PackageManager.INSTALL_FAILED_TEST_ONLY;
import static android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE;
import static android.content.pm.PackageManager.INSTALL_FAILED_VERSION_DOWNGRADE;
import static android.content.pm.PackageManager.INSTALL_INTERNAL;
import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES;
+import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES;
import static android.content.pm.PackageManager.INSTALL_SUCCEEDED;
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK;
@@ -116,6 +118,7 @@ import static com.android.server.pm.PackageManagerServiceUtils.dumpCriticalInfo;
import static com.android.server.pm.PackageManagerServiceUtils.getCompressedFiles;
import static com.android.server.pm.PackageManagerServiceUtils.getLastModifiedTime;
import static com.android.server.pm.PackageManagerServiceUtils.logCriticalInfo;
+import static com.android.server.pm.PackageManagerServiceUtils.makeDirRecursive;
import static com.android.server.pm.PackageManagerServiceUtils.verifySignatures;
import android.Manifest;
@@ -204,6 +207,7 @@ import android.content.pm.dex.DexMetadataHelper;
import android.content.pm.dex.IArtManager;
import android.content.pm.parsing.AndroidPackage;
import android.content.pm.parsing.ApkParseUtils;
+import android.content.pm.parsing.ComponentParseUtils;
import android.content.pm.parsing.ComponentParseUtils.ParsedActivity;
import android.content.pm.parsing.ComponentParseUtils.ParsedActivityIntentInfo;
import android.content.pm.parsing.ComponentParseUtils.ParsedComponent;
@@ -287,9 +291,9 @@ import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
import android.util.SparseIntArray;
-import android.util.StatsLog;
import android.util.TimingsTraceLog;
import android.util.Xml;
+import android.util.apk.ApkSignatureVerifier;
import android.util.jar.StrictJarFile;
import android.util.proto.ProtoOutputStream;
import android.view.Display;
@@ -308,6 +312,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ConcurrentUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;
import com.android.server.AttributeCache;
@@ -359,7 +364,6 @@ import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import java.io.FilenameFilter;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.annotation.Retention;
@@ -649,6 +653,8 @@ public class PackageManagerService extends IPackageManager.Stub
private static final String[] INSTANT_APP_BROADCAST_PERMISSION =
new String[] { android.Manifest.permission.ACCESS_INSTANT_APPS };
+ private static final String RANDOM_DIR_PREFIX = "~~";
+
final ServiceThread mHandlerThread;
final PackageHandler mHandler;
@@ -1540,6 +1546,7 @@ public class PackageManagerService extends IPackageManager.Stub
final @Nullable String[] mTelephonyPackages;
final @NonNull String mServicesExtensionPackageName;
final @NonNull String mSharedSystemSharedLibraryPackageName;
+ final @Nullable String mRetailDemoPackage;
private final PackageUsage mPackageUsage = new PackageUsage();
private final CompilerStats mCompilerStats = new CompilerStats();
@@ -2161,7 +2168,8 @@ public class PackageManagerService extends IPackageManager.Stub
getPackageExternalStorageType(volume, isExternal(res.pkg));
// If the package was installed externally, log it.
if (packageExternalStorageType != StorageEnums.UNKNOWN) {
- StatsLog.write(StatsLog.APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED,
packageExternalStorageType, res.pkg.getPackageName());
}
}
@@ -2725,7 +2733,7 @@ public class PackageManagerService extends IPackageManager.Stub
t.traceBegin("get system config");
SystemConfig systemConfig = SystemConfig.getInstance();
mAvailableFeatures = systemConfig.getAvailableFeatures();
- ApplicationPackageManager.invalidateSysFeatureCache();
+ ApplicationPackageManager.invalidateHasSystemFeatureCache();
t.traceEnd();
mProtectedPackages = new ProtectedPackages(mContext);
@@ -2993,9 +3001,6 @@ public class PackageManagerService extends IPackageManager.Stub
}
}
- //delete tmp files
- deleteTempPackageFiles();
-
final int cachedSystemApps = PackageParser.sCachedPackageReadCount.get();
// Remove any shared userIDs that have no associated packages
@@ -3158,6 +3163,7 @@ public class PackageManagerService extends IPackageManager.Stub
mAppPredictionServicePackage = getAppPredictionServicePackageName();
mIncidentReportApproverPackage = getIncidentReportApproverPackageName();
mTelephonyPackages = getTelephonyPackageNames();
+ mRetailDemoPackage = getRetailDemoPackageName();
// Now that we know all of the shared libraries, update all clients to have
// the correct library paths.
@@ -3588,8 +3594,7 @@ public class PackageManagerService extends IPackageManager.Stub
getNextCodePath(Environment.getDataAppDirectory(null), packageName);
int ret = PackageManager.INSTALL_SUCCEEDED;
try {
- Os.mkdir(dstCodePath.getAbsolutePath(), 0755);
- Os.chmod(dstCodePath.getAbsolutePath(), 0755);
+ makeDirRecursive(dstCodePath, 0755);
for (File srcFile : compressedFiles) {
final String srcFileName = srcFile.getName();
final String dstFileName = srcFileName.substring(
@@ -9849,8 +9854,12 @@ public class PackageManagerService extends IPackageManager.Stub
@GuardedBy("mInstallLock")
void removeCodePathLI(File codePath) {
if (codePath.isDirectory()) {
+ File codePathParent = codePath.getParentFile();
try {
mInstaller.rmPackageDir(codePath.getAbsolutePath());
+ if (codePathParent.getName().startsWith(RANDOM_DIR_PREFIX)) {
+ mInstaller.rmPackageDir(codePathParent.getAbsolutePath());
+ }
} catch (InstallerException e) {
Slog.w(TAG, "Failed to remove code path", e);
}
@@ -10567,6 +10576,10 @@ public class PackageManagerService extends IPackageManager.Stub
if (pkgSetting.sharedUser != null) {
pkgSetting.sharedUser.addPackage(pkgSetting);
}
+ if (reconciledPkg.installArgs != null && reconciledPkg.installArgs.forceQueryableOverride) {
+ pkgSetting.forceQueryableOverride = true;
+ }
+
// TODO(toddke): Consider a method specifically for modifying the Package object
// post scan; or, moving this stuff out of the Package object since it has nothing
// to do with the package on disk.
@@ -11243,6 +11256,26 @@ public class PackageManagerService extends IPackageManager.Stub
return object;
}
+ private <T extends ComponentParseUtils.ParsedMainComponent>
+ void assertPackageProcesses(AndroidPackage pkg, List<T> components,
+ ArrayMap<String, ComponentParseUtils.ParsedProcess> procs, String compName)
+ throws PackageManagerException {
+ if (components == null) {
+ return;
+ }
+ for (int i = components.size() - 1; i >= 0; i--) {
+ final ComponentParseUtils.ParsedMainComponent<?> component = components.get(i);
+ if (!procs.containsKey(component.getProcessName())) {
+ throw new PackageManagerException(
+ INSTALL_FAILED_PROCESS_NOT_DEFINED,
+ "Can't install because " + compName + " " + component.className
+ + "'s process attribute " + component.getProcessName()
+ + " (in package " + pkg.getPackageName()
+ + ") is not included in the <processes> list");
+ }
+ }
+ }
+
/**
* Asserts the parsed package is valid according to the given policy. If the
* package is invalid, for whatever reason, throws {@link PackageManagerException}.
@@ -11472,6 +11505,24 @@ public class PackageManagerService extends IPackageManager.Stub
mComponentResolver.assertProvidersNotDefined(pkg);
}
+ // If this package has defined explicit processes, then ensure that these are
+ // the only processes used by its components.
+ final ArrayMap<String, ComponentParseUtils.ParsedProcess> procs = pkg.getProcesses();
+ if (procs != null) {
+ if (!procs.containsKey(pkg.getProcessName())) {
+ throw new PackageManagerException(
+ INSTALL_FAILED_PROCESS_NOT_DEFINED,
+ "Can't install because application tag's process attribute "
+ + pkg.getProcessName()
+ + " (in package " + pkg.getPackageName()
+ + ") is not included in the <processes> list");
+ }
+ assertPackageProcesses(pkg, pkg.getActivities(), procs, "activity");
+ assertPackageProcesses(pkg, pkg.getServices(), procs, "service");
+ assertPackageProcesses(pkg, pkg.getReceivers(), procs, "receiver");
+ assertPackageProcesses(pkg, pkg.getProviders(), procs, "provider");
+ }
+
// Verify that packages sharing a user with a privileged app are marked as privileged.
if (!pkg.isPrivileged() && (pkg.getSharedUserId() != null)) {
SharedUserSetting sharedUserSetting = null;
@@ -11591,6 +11642,17 @@ public class PackageManagerService extends IPackageManager.Stub
}
}
}
+
+ // Ensure the package is signed with at least the minimum signature scheme version
+ // required for its target SDK.
+ int minSignatureSchemeVersion =
+ ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(
+ pkg.getTargetSdkVersion());
+ if (pkg.getSigningDetails().signatureSchemeVersion < minSignatureSchemeVersion) {
+ throw new PackageManagerException(INSTALL_PARSE_FAILED_NO_CERTIFICATES,
+ "No signature found in package of version " + minSignatureSchemeVersion
+ + " or newer for package " + pkg.getPackageName());
+ }
}
}
@@ -14049,6 +14111,7 @@ public class PackageManagerService extends IPackageManager.Stub
@Nullable
MultiPackageInstallParams mParentInstallParams;
final long requiredInstalledVersionCode;
+ final boolean forceQueryableOverride;
InstallParams(OriginInfo origin, MoveInfo move, IPackageInstallObserver2 observer,
int installFlags, InstallSource installSource, String volumeUuid,
@@ -14070,6 +14133,7 @@ public class PackageManagerService extends IPackageManager.Stub
this.signingDetails = signingDetails;
this.installReason = installReason;
this.requiredInstalledVersionCode = requiredInstalledVersionCode;
+ this.forceQueryableOverride = false;
}
InstallParams(ActiveInstallSession activeInstallSession) {
@@ -14103,6 +14167,7 @@ public class PackageManagerService extends IPackageManager.Stub
signingDetails = activeInstallSession.getSigningDetails();
requiredInstalledVersionCode = activeInstallSession.getSessionParams()
.requiredInstalledVersionCode;
+ forceQueryableOverride = activeInstallSession.getSessionParams().forceQueryableOverride;
}
@Override
@@ -14703,6 +14768,7 @@ public class PackageManagerService extends IPackageManager.Stub
final int traceCookie;
final PackageParser.SigningDetails signingDetails;
final int installReason;
+ final boolean forceQueryableOverride;
@Nullable final MultiPackageInstallParams mMultiPackageInstallParams;
// The list of instruction sets supported by this app. This is currently
@@ -14716,7 +14782,7 @@ public class PackageManagerService extends IPackageManager.Stub
String abiOverride, String[] installGrantPermissions,
List<String> whitelistedRestrictedPermissions,
String traceMethod, int traceCookie, SigningDetails signingDetails,
- int installReason,
+ int installReason, boolean forceQueryableOverride,
MultiPackageInstallParams multiPackageInstallParams) {
this.origin = origin;
this.move = move;
@@ -14733,6 +14799,7 @@ public class PackageManagerService extends IPackageManager.Stub
this.traceCookie = traceCookie;
this.signingDetails = signingDetails;
this.installReason = installReason;
+ this.forceQueryableOverride = forceQueryableOverride;
this.mMultiPackageInstallParams = multiPackageInstallParams;
}
@@ -14743,7 +14810,7 @@ public class PackageManagerService extends IPackageManager.Stub
params.getUser(), null /*instructionSets*/, params.packageAbiOverride,
params.grantedRuntimePermissions, params.whitelistedRestrictedPermissions,
params.traceMethod, params.traceCookie, params.signingDetails,
- params.installReason, params.mParentInstallParams);
+ params.installReason, params.forceQueryableOverride, params.mParentInstallParams);
}
abstract int copyApk();
@@ -14834,7 +14901,7 @@ public class PackageManagerService extends IPackageManager.Stub
super(OriginInfo.fromNothing(), null, null, 0, InstallSource.EMPTY,
null, null, instructionSets, null, null, null, null, 0,
PackageParser.SigningDetails.UNKNOWN,
- PackageManager.INSTALL_REASON_UNKNOWN, null /* parent */);
+ PackageManager.INSTALL_REASON_UNKNOWN, false, null /* parent */);
this.codeFile = (codePath != null) ? new File(codePath) : null;
this.resourceFile = (resourcePath != null) ? new File(resourcePath) : null;
}
@@ -14912,7 +14979,9 @@ public class PackageManagerService extends IPackageManager.Stub
final boolean onIncremental = mIncrementalManager != null
&& isIncrementalPath(beforeCodeFile.getAbsolutePath());
try {
+ makeDirRecursive(afterCodeFile.getParentFile(), 0775);
if (onIncremental) {
+ // TODO(b/147371381): fix incremental installation
mIncrementalManager.rename(beforeCodeFile.getAbsolutePath(),
afterCodeFile.getAbsolutePath());
} else {
@@ -15124,16 +15193,29 @@ public class PackageManagerService extends IPackageManager.Stub
}
}
+ /**
+ * Given {@code targetDir}, returns {@code targetDir/~~[randomStrA]/[packageName]-[randomStrB].}
+ * Makes sure that {@code targetDir/~~[randomStrA]} directory doesn't exist.
+ * Notice that this method doesn't actually create any directory.
+ *
+ * @param targetDir Directory that is two-levels up from the result directory.
+ * @param packageName Name of the package whose code files are to be installed under the result
+ * directory.
+ * @return File object for the directory that should hold the code files of {@code packageName}.
+ */
private File getNextCodePath(File targetDir, String packageName) {
- File result;
SecureRandom random = new SecureRandom();
byte[] bytes = new byte[16];
+ File firstLevelDir;
do {
random.nextBytes(bytes);
- String suffix = Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_WRAP);
- result = new File(targetDir, packageName + "-" + suffix);
- } while (result.exists());
- return result;
+ String dirName = RANDOM_DIR_PREFIX
+ + Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_WRAP);
+ firstLevelDir = new File(targetDir, dirName);
+ } while (firstLevelDir.exists());
+ random.nextBytes(bytes);
+ String suffix = Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_WRAP);
+ return new File(firstLevelDir, packageName + "-" + suffix);
}
static class PackageInstalledInfo {
@@ -17128,12 +17210,6 @@ public class PackageManagerService extends IPackageManager.Stub
}
}
- private void deleteTempPackageFiles() {
- // TODO: Is this used?
- final FilenameFilter filter =
- (dir, name) -> name.startsWith("vmdl") && name.endsWith(".tmp");
- }
-
@Override
public void deletePackageAsUser(String packageName, int versionCode,
IPackageDeleteObserver observer, int userId, int flags) {
@@ -19689,13 +19765,46 @@ public class PackageManagerService extends IPackageManager.Stub
}
@Nullable
+ private String getRetailDemoPackageName() {
+ final String predefinedPkgName = mContext.getString(R.string.config_retailDemoPackage);
+ final String predefinedSignature = mContext.getString(
+ R.string.config_retailDemoPackageSignature);
+
+ if (TextUtils.isEmpty(predefinedPkgName) || TextUtils.isEmpty(predefinedSignature)) {
+ return null;
+ }
+
+ final AndroidPackage androidPkg = mPackages.get(predefinedPkgName);
+ if (androidPkg != null) {
+ final SigningDetails signingDetail = androidPkg.getSigningDetails();
+ if (signingDetail != null && signingDetail.signatures != null) {
+ try {
+ final MessageDigest msgDigest = MessageDigest.getInstance("SHA-256");
+ for (Signature signature : signingDetail.signatures) {
+ if (TextUtils.equals(predefinedSignature,
+ HexEncoding.encodeToString(msgDigest.digest(
+ signature.toByteArray()), false))) {
+ return predefinedPkgName;
+ }
+ }
+ } catch (NoSuchAlgorithmException e) {
+ Slog.e(
+ TAG,
+ "Unable to verify signatures as getting the retail demo package name",
+ e);
+ }
+ }
+ }
+
+ return null;
+ }
+
+ @Nullable
private String ensureSystemPackageName(@Nullable String packageName) {
if (packageName == null) {
return null;
}
- if (getPackageInfo(packageName, MATCH_SYSTEM_ONLY | MATCH_DIRECT_BOOT_AWARE
- | MATCH_DIRECT_BOOT_UNAWARE | MATCH_DISABLED_COMPONENTS,
- UserHandle.getCallingUserId()) == null) {
+ if (getPackageInfo(packageName, MATCH_FACTORY_ONLY, UserHandle.USER_SYSTEM) == null) {
return null;
}
return packageName;
@@ -21465,7 +21574,7 @@ public class PackageManagerService extends IPackageManager.Stub
final int absoluteCodePathCount = absoluteCodePaths.size();
for (int i = 0; i < absoluteCodePathCount; i++) {
String absoluteCodePath = absoluteCodePaths.get(i);
- if (absolutePath.startsWith(absoluteCodePath)) {
+ if (absoluteCodePath.startsWith(absolutePath)) {
pathValid = true;
break;
}
@@ -22166,13 +22275,15 @@ public class PackageManagerService extends IPackageManager.Stub
if (!isPreviousLocationExternal && isExternal(pkg)) {
// Move from internal to external storage.
- StatsLog.write(StatsLog.APP_MOVED_STORAGE_REPORTED, packageExternalStorageType,
- StatsLog.APP_MOVED_STORAGE_REPORTED__MOVE_TYPE__TO_EXTERNAL,
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_MOVED_STORAGE_REPORTED,
+ packageExternalStorageType,
+ FrameworkStatsLog.APP_MOVED_STORAGE_REPORTED__MOVE_TYPE__TO_EXTERNAL,
packageName);
} else if (isPreviousLocationExternal && !isExternal(pkg)) {
// Move from external to internal storage.
- StatsLog.write(StatsLog.APP_MOVED_STORAGE_REPORTED, packageExternalStorageType,
- StatsLog.APP_MOVED_STORAGE_REPORTED__MOVE_TYPE__TO_INTERNAL,
+ FrameworkStatsLog.write(FrameworkStatsLog.APP_MOVED_STORAGE_REPORTED,
+ packageExternalStorageType,
+ FrameworkStatsLog.APP_MOVED_STORAGE_REPORTED__MOVE_TYPE__TO_INTERNAL,
packageName);
}
}
@@ -22976,6 +23087,10 @@ public class PackageManagerService extends IPackageManager.Stub
return filterOnlySystemPackages(mTelephonyPackages);
case PackageManagerInternal.PACKAGE_COMPANION:
return filterOnlySystemPackages("com.android.companiondevicemanager");
+ case PackageManagerInternal.PACKAGE_RETAIL_DEMO:
+ return TextUtils.isEmpty(mRetailDemoPackage)
+ ? ArrayUtils.emptyArray(String.class)
+ : new String[] {mRetailDemoPackage};
default:
return ArrayUtils.emptyArray(String.class);
}
@@ -23821,9 +23936,8 @@ public class PackageManagerService extends IPackageManager.Stub
@Override
public int getRuntimePermissionsVersion(@UserIdInt int userId) {
Preconditions.checkArgumentNonnegative(userId);
- mContext.enforceCallingOrSelfPermission(
- Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY,
- "setRuntimePermissionVersion");
+ enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions(
+ "getRuntimePermissionVersion");
synchronized (mLock) {
return mSettings.getDefaultRuntimePermissionsVersionLPr(userId);
}
@@ -23833,14 +23947,27 @@ public class PackageManagerService extends IPackageManager.Stub
public void setRuntimePermissionsVersion(int version, @UserIdInt int userId) {
Preconditions.checkArgumentNonnegative(version);
Preconditions.checkArgumentNonnegative(userId);
- mContext.enforceCallingOrSelfPermission(
- Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY,
+ enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions(
"setRuntimePermissionVersion");
synchronized (mLock) {
mSettings.setDefaultRuntimePermissionsVersionLPr(version, userId);
}
}
+ private void enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions(
+ @NonNull String message) {
+ if (mContext.checkCallingOrSelfPermission(
+ Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY)
+ != PackageManager.PERMISSION_GRANTED
+ && mContext.checkCallingOrSelfPermission(
+ Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS)
+ != PackageManager.PERMISSION_GRANTED) {
+ throw new SecurityException(message + " requires "
+ + Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY + " or "
+ + Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS);
+ }
+ }
+
@Nullable
public PackageSetting getPackageSetting(String packageName) {
synchronized (mLock) {
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
index ded9a9c58c5e..71a5545c4131 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
@@ -83,6 +83,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
+import java.nio.file.Path;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.text.SimpleDateFormat;
@@ -918,4 +919,21 @@ public class PackageManagerServiceUtils {
}
return packageSetting.getPermissionsState();
}
+
+ /**
+ * Recursively create target directory
+ */
+ public static void makeDirRecursive(File targetDir, int mode) throws ErrnoException {
+ final Path targetDirPath = targetDir.toPath();
+ final int directoriesCount = targetDirPath.getNameCount();
+ File currentDir;
+ for (int i = 1; i <= directoriesCount; i++) {
+ currentDir = targetDirPath.subpath(0, i).toFile();
+ if (currentDir.exists()) {
+ continue;
+ }
+ Os.mkdir(currentDir.getAbsolutePath(), mode);
+ Os.chmod(currentDir.getAbsolutePath(), mode);
+ }
+ }
}
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index e7f6b8982b04..bb69680fb9f9 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -2730,6 +2730,9 @@ class PackageManagerShellCommand extends ShellCommand {
case "--staged":
sessionParams.setStaged();
break;
+ case "--force-queryable":
+ sessionParams.setForceQueryable();
+ break;
case "--enable-rollback":
if (params.installerPackageName == null) {
// com.android.shell has the TEST_MANAGE_ROLLBACKS
diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java
index f1ac0afa5dfd..7d95b198d8ce 100644
--- a/services/core/java/com/android/server/pm/PackageSettingBase.java
+++ b/services/core/java/com/android/server/pm/PackageSettingBase.java
@@ -36,7 +36,6 @@ import android.util.SparseArray;
import android.util.proto.ProtoOutputStream;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.Preconditions;
import java.io.File;
import java.util.Arrays;
@@ -132,6 +131,8 @@ public abstract class PackageSettingBase extends SettingBase {
IntentFilterVerificationInfo verificationInfo;
+ boolean forceQueryableOverride;
+
PackageSettingBase(String name, String realName, File codePath, File resourcePath,
String legacyNativeLibraryPathString, String primaryCpuAbiString,
String secondaryCpuAbiString, String cpuAbiOverrideString,
@@ -261,6 +262,7 @@ public abstract class PackageSettingBase extends SettingBase {
? Arrays.copyOf(orig.usesStaticLibrariesVersions,
orig.usesStaticLibrariesVersions.length) : null;
updateAvailable = orig.updateAvailable;
+ forceQueryableOverride = orig.forceQueryableOverride;
}
@VisibleForTesting
@@ -693,6 +695,7 @@ public abstract class PackageSettingBase extends SettingBase {
this.categoryHint = other.categoryHint;
this.updateAvailable = other.updateAvailable;
this.verificationInfo = other.verificationInfo;
+ this.forceQueryableOverride = other.forceQueryableOverride;
if (mOldCodePaths != null) {
if (other.mOldCodePaths != null) {
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 5d948b24256a..fbea59570ac0 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -2836,6 +2836,9 @@ public final class Settings {
if (pkg.updateAvailable) {
serializer.attribute(null, "updateAvailable", "true");
}
+ if (pkg.forceQueryableOverride) {
+ serializer.attribute(null, "forceQueryable", "true");
+ }
writeUsesStaticLibLPw(serializer, pkg.usesStaticLibraries, pkg.usesStaticLibrariesVersions);
@@ -3599,6 +3602,7 @@ public final class Settings {
PackageSetting packageSetting = null;
String version = null;
long versionCode = 0;
+ String installedForceQueryable = null;
try {
name = parser.getAttributeValue(null, ATTR_NAME);
realName = parser.getAttributeValue(null, "realName");
@@ -3615,6 +3619,7 @@ public final class Settings {
secondaryCpuAbiString = parser.getAttributeValue(null, "secondaryCpuAbi");
cpuAbiOverrideString = parser.getAttributeValue(null, "cpuAbiOverride");
updateAvailable = parser.getAttributeValue(null, "updateAvailable");
+ installedForceQueryable = parser.getAttributeValue(null, "forceQueryable");
if (primaryCpuAbiString == null && legacyCpuAbiString != null) {
primaryCpuAbiString = legacyCpuAbiString;
@@ -3798,6 +3803,7 @@ public final class Settings {
packageSetting.primaryCpuAbiString = primaryCpuAbiString;
packageSetting.secondaryCpuAbiString = secondaryCpuAbiString;
packageSetting.updateAvailable = "true".equals(updateAvailable);
+ packageSetting.forceQueryableOverride = "true".equals(installedForceQueryable);
// Handle legacy string here for single-user mode
final String enabledStr = parser.getAttributeValue(null, ATTR_ENABLED);
if (enabledStr != null) {
@@ -4564,7 +4570,7 @@ public final class Settings {
pw.print("anyDensity");
}
pw.println("]");
- List<String> libraryNames = pkg.getLibraryNames();
+ final List<String> libraryNames = pkg.getLibraryNames();
if (libraryNames != null && libraryNames.size() > 0) {
pw.print(prefix); pw.println(" dynamic libraries:");
for (int i = 0; i< libraryNames.size(); i++) {
@@ -4579,7 +4585,7 @@ public final class Settings {
pw.print(" version:"); pw.println(pkg.getStaticSharedLibVersion());
}
- List<String> usesLibraries = pkg.getUsesLibraries();
+ final List<String> usesLibraries = pkg.getUsesLibraries();
if (usesLibraries != null && usesLibraries.size() > 0) {
pw.print(prefix); pw.println(" usesLibraries:");
for (int i=0; i< usesLibraries.size(); i++) {
@@ -4587,8 +4593,8 @@ public final class Settings {
}
}
- List<String> usesStaticLibraries = pkg.getUsesStaticLibraries();
- long[] usesStaticLibrariesVersions = pkg.getUsesStaticLibrariesVersions();
+ final List<String> usesStaticLibraries = pkg.getUsesStaticLibraries();
+ final long[] usesStaticLibrariesVersions = pkg.getUsesStaticLibrariesVersions();
if (usesStaticLibraries != null
&& usesStaticLibraries.size() > 0) {
pw.print(prefix); pw.println(" usesStaticLibraries:");
@@ -4599,7 +4605,7 @@ public final class Settings {
}
}
- List<String> usesOptionalLibraries = pkg.getUsesOptionalLibraries();
+ final List<String> usesOptionalLibraries = pkg.getUsesOptionalLibraries();
if (usesOptionalLibraries != null
&& usesOptionalLibraries.size() > 0) {
pw.print(prefix); pw.println(" usesOptionalLibraries:");
@@ -4609,7 +4615,7 @@ public final class Settings {
}
}
- String[] usesLibraryFiles = pkg.getUsesLibraryFiles();
+ final String[] usesLibraryFiles = pkg.getUsesLibraryFiles();
if (usesLibraryFiles != null
&& usesLibraryFiles.length > 0) {
pw.print(prefix); pw.println(" usesLibraryFiles:");
@@ -4617,6 +4623,20 @@ public final class Settings {
pw.print(prefix); pw.print(" "); pw.println(usesLibraryFiles[i]);
}
}
+ final ArrayMap<String, ComponentParseUtils.ParsedProcess> procs = pkg.getProcesses();
+ if (procs != null) {
+ pw.print(prefix); pw.println(" processes:");
+ for (int i = 0; i < procs.size(); i++) {
+ final ComponentParseUtils.ParsedProcess proc = procs.valueAt(i);
+ pw.print(prefix); pw.print(" "); pw.println(proc.name);
+ if (proc.deniedPermissions != null) {
+ for (int j = 0; j < proc.deniedPermissions.size(); j++) {
+ pw.print(prefix); pw.print(" deny: ");
+ pw.println(proc.deniedPermissions.valueAt(j));
+ }
+ }
+ }
+ }
}
pw.print(prefix); pw.print(" timeStamp=");
date.setTime(ps.timeStamp);
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index 0274aee0a168..c37ceb3bc1b0 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -310,7 +310,7 @@ class ShortcutPackage extends ShortcutPackageItem {
}
/**
- * Remove all shortcuts that aren't pinned nor dynamic.
+ * Remove all shortcuts that aren't pinned, cached nor dynamic.
*/
private void removeOrphans() {
ArrayList<String> removeList = null; // Lazily initialize.
@@ -356,10 +356,10 @@ class ShortcutPackage extends ShortcutPackageItem {
/**
* Remove a dynamic shortcut by ID. It'll be removed from the dynamic set, but if the shortcut
- * is pinned, it'll remain as a pinned shortcut, and is still enabled.
+ * is pinned or cached, it'll remain as a pinned or cached shortcut, and is still enabled.
*
- * @return true if it's actually removed because it wasn't pinned, or false if it's still
- * pinned.
+ * @return true if it's removed, or false if it was not actually removed because it is either
+ * pinned or cached.
*/
public boolean deleteDynamicWithId(@NonNull String shortcutId, boolean ignoreInvisible) {
final ShortcutInfo removed = deleteOrDisableWithId(
@@ -384,6 +384,24 @@ class ShortcutPackage extends ShortcutPackageItem {
}
/**
+ * Remove a long lived shortcut by ID. If the shortcut is pinned, it'll remain as a pinned
+ * shortcut, and is still enabled.
+ *
+ * @return true if it's actually removed because it wasn't pinned, or false if it's still
+ * pinned.
+ */
+ public boolean deleteLongLivedWithId(@NonNull String shortcutId, boolean ignoreInvisible) {
+ final ShortcutInfo shortcut = mShortcuts.get(shortcutId);
+ if (shortcut != null) {
+ shortcut.clearFlags(ShortcutInfo.FLAG_CACHED);
+ }
+ final ShortcutInfo removed = deleteOrDisableWithId(
+ shortcutId, /* disable =*/ false, /* overrideImmutable=*/ false, ignoreInvisible,
+ ShortcutInfo.DISABLED_REASON_NOT_DISABLED);
+ return removed == null;
+ }
+
+ /**
* Disable a dynamic shortcut by ID. It'll be removed from the dynamic set, but if the shortcut
* is pinned, it'll remain as a pinned shortcut but will be disabled.
*/
@@ -419,7 +437,7 @@ class ShortcutPackage extends ShortcutPackageItem {
if (!overrideImmutable) {
ensureNotImmutable(oldShortcut, /*ignoreInvisible=*/ true);
}
- if (oldShortcut.isPinned()) {
+ if (oldShortcut.isPinned() || oldShortcut.isCached()) {
oldShortcut.setRank(0);
oldShortcut.clearFlags(ShortcutInfo.FLAG_DYNAMIC | ShortcutInfo.FLAG_MANIFEST);
@@ -500,7 +518,7 @@ class ShortcutPackage extends ShortcutPackageItem {
}
});
- // Lastly, remove the ones that are no longer pinned nor dynamic.
+ // Lastly, remove the ones that are no longer pinned, cached nor dynamic.
removeOrphans();
}
@@ -1328,6 +1346,10 @@ class ShortcutPackage extends ShortcutPackageItem {
// Don't adjust ranks for manifest shortcuts.
continue;
}
+ if (si.isCached() && !si.isDynamic()) {
+ // Don't adjust ranks for cached shortcuts that are not dynamic anymore.
+ continue;
+ }
// At this point, it must be dynamic.
if (!si.isDynamic()) {
s.wtf("Non-dynamic shortcut found.");
@@ -1869,7 +1891,7 @@ class ShortcutPackage extends ShortcutPackageItem {
// Verify each shortcut's status.
for (int i = mShortcuts.size() - 1; i >= 0; i--) {
final ShortcutInfo si = mShortcuts.valueAt(i);
- if (!(si.isDeclaredInManifest() || si.isDynamic() || si.isPinned())) {
+ if (!(si.isDeclaredInManifest() || si.isDynamic() || si.isPinned() || si.isCached())) {
failed = true;
Log.e(TAG_VERIFY, "Package " + getPackageName() + ": shortcut " + si.getId()
+ " is not manifest, dynamic or pinned.");
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java
index 261418ce7586..f7889ea6141c 100644
--- a/services/core/java/com/android/server/pm/ShortcutService.java
+++ b/services/core/java/com/android/server/pm/ShortcutService.java
@@ -1977,10 +1977,15 @@ public class ShortcutService extends IShortcutService.Stub {
* After validating the caller, it passes the request to {@link #mShortcutRequestPinProcessor}.
* Either {@param shortcut} or {@param appWidget} should be non-null.
*/
- private boolean requestPinItem(String packageName, int userId, ShortcutInfo shortcut,
+ private boolean requestPinItem(String callingPackage, int userId, ShortcutInfo shortcut,
AppWidgetProviderInfo appWidget, Bundle extras, IntentSender resultIntent) {
- verifyCaller(packageName, userId);
- verifyShortcutInfoPackage(packageName, shortcut);
+ verifyCaller(callingPackage, userId);
+ if (shortcut == null || !injectHasAccessShortcutsPermission(
+ injectBinderCallingPid(), injectBinderCallingUid())) {
+ // Verify if caller is the shortcut owner, only if caller doesn't have ACCESS_SHORTCUTS.
+ verifyShortcutInfoPackage(callingPackage, shortcut);
+ }
+ final String shortcutPackage = shortcut.getPackage();
final boolean ret;
synchronized (mLock) {
@@ -1995,13 +2000,13 @@ public class ShortcutService extends IShortcutService.Stub {
// and then proceed the rest of the process.
if (shortcut != null) {
final ShortcutPackage ps = getPackageShortcutsForPublisherLocked(
- packageName, userId);
+ shortcutPackage, userId);
final String id = shortcut.getId();
if (ps.isShortcutExistsAndInvisibleToPublisher(id)) {
ps.updateInvisibleShortcutForPinRequestWith(shortcut);
- packageShortcutsChanged(packageName, userId);
+ packageShortcutsChanged(shortcutPackage, userId);
}
}
@@ -2123,6 +2128,33 @@ public class ShortcutService extends IShortcutService.Stub {
}
@Override
+ public void removeLongLivedShortcuts(String packageName, List shortcutIds,
+ @UserIdInt int userId) {
+ verifyCaller(packageName, userId);
+ Objects.requireNonNull(shortcutIds, "shortcutIds must be provided");
+
+ synchronized (mLock) {
+ throwIfUserLockedL(userId);
+
+ final ShortcutPackage ps = getPackageShortcutsForPublisherLocked(packageName, userId);
+
+ ps.ensureImmutableShortcutsNotIncludedWithIds((List<String>) shortcutIds,
+ /*ignoreInvisible=*/ true);
+
+ for (int i = shortcutIds.size() - 1; i >= 0; i--) {
+ final String id = Preconditions.checkStringNotEmpty((String) shortcutIds.get(i));
+ ps.deleteLongLivedWithId(id, /*ignoreInvisible=*/ true);
+ }
+
+ // We may have removed dynamic shortcuts which may have left a gap, so adjust the ranks.
+ ps.adjustRanks();
+ }
+ packageShortcutsChanged(packageName, userId);
+
+ verifyStates();
+ }
+
+ @Override
public ParceledListSlice<ShortcutInfo> getDynamicShortcuts(String packageName,
@UserIdInt int userId) {
verifyCaller(packageName, userId);
@@ -2165,6 +2197,31 @@ public class ShortcutService extends IShortcutService.Stub {
}
@Override
+ public ParceledListSlice<ShortcutInfo> getShortcuts(String packageName,
+ @ShortcutManager.ShortcutMatchFlags int matchFlags, @UserIdInt int userId) {
+ verifyCaller(packageName, userId);
+
+ synchronized (mLock) {
+ throwIfUserLockedL(userId);
+
+ final boolean matchDynamic = (matchFlags & ShortcutManager.FLAG_MATCH_DYNAMIC) != 0;
+ final boolean matchPinned = (matchFlags & ShortcutManager.FLAG_MATCH_PINNED) != 0;
+ final boolean matchManifest = (matchFlags & ShortcutManager.FLAG_MATCH_MANIFEST) != 0;
+ final boolean matchCached = (matchFlags & ShortcutManager.FLAG_MATCH_CACHED) != 0;
+
+ final int shortcutFlags = (matchDynamic ? ShortcutInfo.FLAG_DYNAMIC : 0)
+ | (matchPinned ? ShortcutInfo.FLAG_PINNED : 0)
+ | (matchManifest ? ShortcutInfo.FLAG_MANIFEST : 0)
+ | (matchCached ? ShortcutInfo.FLAG_CACHED : 0);
+
+ return getShortcutsWithQueryLocked(
+ packageName, userId, ShortcutInfo.CLONE_REMOVE_FOR_CREATOR,
+ (ShortcutInfo si) ->
+ si.isVisibleToPublisher() && (si.getFlags() & shortcutFlags) != 0);
+ }
+ }
+
+ @Override
public ParceledListSlice<ShortcutManager.ShareShortcutInfo> getShareTargets(String packageName,
IntentFilter filter, @UserIdInt int userId) {
verifyCaller(packageName, userId);
@@ -2628,6 +2685,7 @@ public class ShortcutService extends IShortcutService.Stub {
final boolean matchDynamic = (queryFlags & ShortcutQuery.FLAG_MATCH_DYNAMIC) != 0;
final boolean matchPinned = (queryFlags & ShortcutQuery.FLAG_MATCH_PINNED) != 0;
final boolean matchManifest = (queryFlags & ShortcutQuery.FLAG_MATCH_MANIFEST) != 0;
+ final boolean matchCached = (queryFlags & ShortcutQuery.FLAG_MATCH_CACHED) != 0;
final boolean canAccessAllShortcuts =
canSeeAnyPinnedShortcut(callingPackage, launcherUserId, callingPid, callingUid);
@@ -2659,6 +2717,9 @@ public class ShortcutService extends IShortcutService.Stub {
if (matchManifest && si.isDeclaredInManifest()) {
return true;
}
+ if (matchCached && si.isCached()) {
+ return true;
+ }
return false;
}, cloneFlag, callingPackage, launcherUserId, getPinnedByAnyLauncher);
}
diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java
index 74c98f9ef444..89354537526c 100644
--- a/services/core/java/com/android/server/pm/StagingManager.java
+++ b/services/core/java/com/android/server/pm/StagingManager.java
@@ -141,10 +141,12 @@ public class StagingManager {
// Get signing details of the new package
final String apexPath = newApexPkg.applicationInfo.sourceDir;
final String packageName = newApexPkg.packageName;
+ int minSignatureScheme = ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(
+ newApexPkg.applicationInfo.targetSdkVersion);
final SigningDetails newSigningDetails;
try {
- newSigningDetails = ApkSignatureVerifier.verify(apexPath, SignatureSchemeVersion.JAR);
+ newSigningDetails = ApkSignatureVerifier.verify(apexPath, minSignatureScheme);
} catch (PackageParserException e) {
throw new PackageManagerException(SessionInfo.STAGED_SESSION_VERIFICATION_FAILED,
"Failed to parse APEX package " + apexPath, e);
@@ -342,12 +344,12 @@ public class StagingManager {
}
/**
+ * Perform snapshot and restore as required both for APEXes themselves and for apks in APEX.
* Apks inside apex are not installed using apk-install flow. They are scanned from the system
* directory directly by PackageManager, as such, RollbackManager need to handle their data
* separately here.
*/
- private void snapshotAndRestoreApkInApexUserData(PackageInstallerSession session) {
- // We want to process apks inside apex. So current session needs to contain apex.
+ private void snapshotAndRestoreForApexSession(PackageInstallerSession session) {
if (!sessionContainsApex(session)) {
return;
}
@@ -380,19 +382,37 @@ public class StagingManager {
apexSessions.add(session);
}
- // For each apex, process the apks inside it
+ final UserManagerInternal um = LocalServices.getService(UserManagerInternal.class);
+ final int[] allUsers = um.getUserIds();
+ IRollbackManager rm = IRollbackManager.Stub.asInterface(
+ ServiceManager.getService(Context.ROLLBACK_SERVICE));
+
for (PackageInstallerSession apexSession : apexSessions) {
- List<String> apksInApex = mApexManager.getApksInApex(apexSession.getPackageName());
+ String packageName = apexSession.getPackageName();
+ // Perform any snapshots or restores for the APEX itself
+ snapshotAndRestoreApexUserData(packageName, allUsers, rm);
+
+ // Process the apks inside the APEX
+ List<String> apksInApex = mApexManager.getApksInApex(packageName);
for (String apk: apksInApex) {
- snapshotAndRestoreApkInApexUserData(apk);
+ snapshotAndRestoreApkInApexUserData(apk, allUsers, rm);
}
}
}
- private void snapshotAndRestoreApkInApexUserData(String packageName) {
- IRollbackManager rm = IRollbackManager.Stub.asInterface(
- ServiceManager.getService(Context.ROLLBACK_SERVICE));
+ private void snapshotAndRestoreApexUserData(
+ String packageName, int[] allUsers, IRollbackManager rm) {
+ try {
+ // appId, ceDataInode, and seInfo are not needed for APEXes
+ rm.snapshotAndRestoreUserData(packageName, allUsers, 0, 0,
+ null, 0 /*token*/);
+ } catch (RemoteException re) {
+ Slog.e(TAG, "Error snapshotting/restoring user data: " + re);
+ }
+ }
+ private void snapshotAndRestoreApkInApexUserData(
+ String packageName, int[] allUsers, IRollbackManager rm) {
PackageManagerInternal mPmi = LocalServices.getService(PackageManagerInternal.class);
AndroidPackage pkg = mPmi.getPackage(packageName);
if (pkg == null) {
@@ -401,13 +421,11 @@ public class StagingManager {
return;
}
final String seInfo = pkg.getSeInfo();
- final UserManagerInternal um = LocalServices.getService(UserManagerInternal.class);
- final int[] allUsers = um.getUserIds();
int appId = -1;
long ceDataInode = -1;
final PackageSetting ps = (PackageSetting) mPmi.getPackageSetting(packageName);
- if (ps != null && rm != null) {
+ if (ps != null) {
appId = ps.appId;
ceDataInode = ps.getCeDataInode(UserHandle.USER_SYSTEM);
// NOTE: We ignore the user specified in the InstallParam because we know this is
@@ -496,7 +514,7 @@ public class StagingManager {
abortCheckpoint();
return;
}
- snapshotAndRestoreApkInApexUserData(session);
+ snapshotAndRestoreForApexSession(session);
Slog.i(TAG, "APEX packages in session " + session.sessionId
+ " were successfully activated. Proceeding with APK packages, if any");
}
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 5511a54de2cd..0cb8f49540be 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -932,6 +932,7 @@ public class UserManagerService extends IUserManager.Stub {
userId, true /* enableQuietMode */, target, callingPackage);
return true;
}
+ mLockPatternUtils.tryUnlockWithCachedUnifiedChallenge(userId);
boolean needToShowConfirmCredential =
mLockPatternUtils.isSecure(userId)
&& !StorageManager.isUserKeyUnlocked(userId);
@@ -942,8 +943,7 @@ public class UserManagerService extends IUserManager.Stub {
showConfirmCredentialToDisableQuietMode(userId, target);
return false;
}
- setQuietModeEnabled(
- userId, false /* enableQuietMode */, target, callingPackage);
+ setQuietModeEnabled(userId, false /* enableQuietMode */, target, callingPackage);
return true;
} finally {
Binder.restoreCallingIdentity(identity);
diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
index 89030ed7c075..91bd7aea067e 100644
--- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
+++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
@@ -223,7 +223,11 @@ public class UserRestrictionsUtils {
UserManager.DISALLOW_SAFE_BOOT,
UserManager.DISALLOW_SHARE_LOCATION,
UserManager.DISALLOW_SMS,
- UserManager.DISALLOW_USB_FILE_TRANSFER
+ UserManager.DISALLOW_USB_FILE_TRANSFER,
+ UserManager.DISALLOW_AIRPLANE_MODE,
+ UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
+ UserManager.DISALLOW_OUTGOING_CALLS,
+ UserManager.DISALLOW_UNMUTE_MICROPHONE
);
/**
diff --git a/services/core/java/com/android/server/pm/permission/BasePermission.java b/services/core/java/com/android/server/pm/permission/BasePermission.java
index 565a85fd1ac1..e323c9869afb 100644
--- a/services/core/java/com/android/server/pm/permission/BasePermission.java
+++ b/services/core/java/com/android/server/pm/permission/BasePermission.java
@@ -284,6 +284,10 @@ public final class BasePermission {
return (protectionLevel & PermissionInfo.PROTECTION_FLAG_COMPANION) != 0;
}
+ public boolean isRetailDemo() {
+ return (protectionLevel & PermissionInfo.PROTECTION_FLAG_RETAIL_DEMO) != 0;
+ }
+
public void transfer(@NonNull String origPackageName, @NonNull String newPackageName) {
if (!origPackageName.equals(sourcePackageName)) {
return;
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index 6167a509b85f..1fc2dd5193e1 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -55,6 +55,8 @@ import android.annotation.UserIdInt;
import android.app.ActivityManager;
import android.app.ApplicationPackageManager;
import android.app.IActivityManager;
+import android.app.admin.DeviceAdminInfo;
+import android.app.admin.DevicePolicyManagerInternal;
import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledAfter;
import android.content.Context;
@@ -3355,10 +3357,27 @@ public class PermissionManagerService extends IPermissionManager.Stub {
// Special permissions for the system companion device manager.
allowed = true;
}
+ if (!allowed && bp.isRetailDemo()
+ && ArrayUtils.contains(mPackageManagerInt.getKnownPackageNames(
+ PackageManagerInternal.PACKAGE_RETAIL_DEMO, UserHandle.USER_SYSTEM),
+ pkg.getPackageName()) && isProfileOwner(pkg.getUid())) {
+ // Special permission granted only to the OEM specified retail demo app
+ allowed = true;
+ }
}
return allowed;
}
+ private static boolean isProfileOwner(int uid) {
+ DevicePolicyManagerInternal dpmInternal =
+ LocalServices.getService(DevicePolicyManagerInternal.class);
+ if (dpmInternal != null) {
+ return dpmInternal
+ .isActiveAdminWithPolicy(uid, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
+ }
+ return false;
+ }
+
private static boolean canGrantOemPermission(PackageSetting ps, String permission) {
if (!ps.isOem()) {
return false;
diff --git a/services/core/java/com/android/server/policy/PermissionPolicyService.java b/services/core/java/com/android/server/policy/PermissionPolicyService.java
index a86c8d7545b1..2c7795a6274b 100644
--- a/services/core/java/com/android/server/policy/PermissionPolicyService.java
+++ b/services/core/java/com/android/server/policy/PermissionPolicyService.java
@@ -29,6 +29,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.AppOpsManager;
+import android.app.AppOpsManagerInternal;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
@@ -84,6 +85,8 @@ public final class PermissionPolicyService extends SystemService {
private final Object mLock = new Object();
+ private IAppOpsCallback mAppOpsCallback;
+
/** Whether the user is started but not yet stopped */
@GuardedBy("mLock")
private final SparseBooleanArray mIsStarted = new SparseBooleanArray();
@@ -138,7 +141,7 @@ public final class PermissionPolicyService extends SystemService {
permManagerInternal.addOnRuntimePermissionStateChangedListener(
this::synchronizePackagePermissionsAndAppOpsAsyncForUser);
- IAppOpsCallback appOpsListener = new IAppOpsCallback.Stub() {
+ mAppOpsCallback = new IAppOpsCallback.Stub() {
public void opChanged(int op, int uid, String packageName) {
synchronizePackagePermissionsAndAppOpsAsyncForUser(packageName,
UserHandle.getUserId(uid));
@@ -155,7 +158,7 @@ public final class PermissionPolicyService extends SystemService {
PermissionInfo perm = dangerousPerms.get(i);
if (perm.isRuntime()) {
- appOpsService.startWatchingMode(getSwitchOp(perm.name), null, appOpsListener);
+ appOpsService.startWatchingMode(getSwitchOp(perm.name), null, mAppOpsCallback);
}
if (perm.isSoftRestricted()) {
SoftRestrictedPermissionPolicy policy =
@@ -163,7 +166,7 @@ public final class PermissionPolicyService extends SystemService {
perm.name);
int extraAppOp = policy.getExtraAppOpCode();
if (extraAppOp != OP_NONE) {
- appOpsService.startWatchingMode(extraAppOp, null, appOpsListener);
+ appOpsService.startWatchingMode(extraAppOp, null, mAppOpsCallback);
}
}
}
@@ -386,10 +389,11 @@ public final class PermissionPolicyService extends SystemService {
* Synchronizes permission to app ops. You *must* always sync all packages
* in a shared UID at the same time to ensure proper synchronization.
*/
- private static class PermissionToOpSynchroniser {
+ private class PermissionToOpSynchroniser {
private final @NonNull Context mContext;
private final @NonNull PackageManager mPackageManager;
private final @NonNull AppOpsManager mAppOpsManager;
+ private final @NonNull AppOpsManagerInternal mAppOpsManagerInternal;
private final @NonNull ArrayMap<String, PermissionInfo> mRuntimePermissionInfos;
@@ -429,6 +433,7 @@ public final class PermissionPolicyService extends SystemService {
mContext = context;
mPackageManager = context.getPackageManager();
mAppOpsManager = context.getSystemService(AppOpsManager.class);
+ mAppOpsManagerInternal = LocalServices.getService(AppOpsManagerInternal.class);
mRuntimePermissionInfos = new ArrayMap<>();
PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService(
@@ -668,7 +673,8 @@ public final class PermissionPolicyService extends SystemService {
opCode), uid, packageName);
if (currentMode != MODE_ALLOWED) {
if (currentMode != MODE_IGNORED) {
- mAppOpsManager.setUidMode(opCode, uid, MODE_IGNORED);
+ mAppOpsManagerInternal.setUidModeIgnoringCallback(opCode, uid, MODE_IGNORED,
+ mAppOpsCallback);
}
return true;
}
@@ -680,15 +686,16 @@ public final class PermissionPolicyService extends SystemService {
final int oldMode = mAppOpsManager.unsafeCheckOpRaw(AppOpsManager.opToPublicName(
opCode), uid, packageName);
if (oldMode != mode) {
- mAppOpsManager.setUidMode(opCode, uid, mode);
+ mAppOpsManagerInternal.setUidModeIgnoringCallback(opCode, uid, mode,
+ mAppOpsCallback);
final int newMode = mAppOpsManager.unsafeCheckOpRaw(AppOpsManager.opToPublicName(
opCode), uid, packageName);
if (newMode != mode) {
// Work around incorrectly-set package mode. It never makes sense for app ops
// related to runtime permissions, but can get in the way and we have to reset
// it.
- mAppOpsManager.setMode(opCode, uid, packageName, AppOpsManager.opToDefaultMode(
- opCode));
+ mAppOpsManagerInternal.setModeIgnoringCallback(opCode, uid, packageName,
+ AppOpsManager.opToDefaultMode(opCode), mAppOpsCallback);
}
}
}
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 7c76656e1e6f..ede04f3bbb14 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -54,6 +54,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_DREAM;
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
+import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL;
import static android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE;
import static android.view.WindowManager.LayoutParams.TYPE_PRESENTATION;
import static android.view.WindowManager.LayoutParams.TYPE_PRIVATE_PRESENTATION;
@@ -480,6 +481,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
int mVeryLongPressTimeout;
boolean mAllowStartActivityForLongPressOnPowerDuringSetup;
MetricsLogger mLogger;
+ boolean mWakeOnDpadKeyPress;
+ boolean mWakeOnAssistKeyPress;
private boolean mHandleVolumeKeysInWM;
@@ -1728,6 +1731,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
mAccessibilityShortcutController =
new AccessibilityShortcutController(mContext, new Handler(), mCurrentUserId);
mLogger = new MetricsLogger();
+
+ Resources res = mContext.getResources();
+ mWakeOnDpadKeyPress =
+ res.getBoolean(com.android.internal.R.bool.config_wakeOnDpadKeyPress);
+ mWakeOnAssistKeyPress =
+ res.getBoolean(com.android.internal.R.bool.config_wakeOnAssistKeyPress);
+
// Init display burn-in protection
boolean burnInProtectionEnabled = context.getResources().getBoolean(
com.android.internal.R.bool.config_enableBurnInProtection);
@@ -2088,11 +2098,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case TYPE_VOICE_INTERACTION:
case TYPE_ACCESSIBILITY_OVERLAY:
case TYPE_QS_DIALOG:
+ case TYPE_NAVIGATION_BAR_PANEL:
// The window manager will check these.
return ADD_OKAY;
}
- return mContext.checkCallingOrSelfPermission(INTERNAL_SYSTEM_WINDOW)
- == PERMISSION_GRANTED ? ADD_OKAY : ADD_PERMISSION_DENIED;
+
+ return (mContext.checkCallingOrSelfPermission(INTERNAL_SYSTEM_WINDOW)
+ == PERMISSION_GRANTED) ? ADD_OKAY : ADD_PERMISSION_DENIED;
}
// Things get a little more interesting for alert windows...
@@ -4069,13 +4081,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
*/
private boolean isWakeKeyWhenScreenOff(int keyCode) {
switch (keyCode) {
- // ignore volume keys unless docked
case KeyEvent.KEYCODE_VOLUME_UP:
case KeyEvent.KEYCODE_VOLUME_DOWN:
case KeyEvent.KEYCODE_VOLUME_MUTE:
return mDefaultDisplayPolicy.getDockMode() != Intent.EXTRA_DOCK_STATE_UNDOCKED;
- // ignore media keys
case KeyEvent.KEYCODE_MUTE:
case KeyEvent.KEYCODE_HEADSETHOOK:
case KeyEvent.KEYCODE_MEDIA_PLAY:
@@ -4089,7 +4099,18 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK:
return false;
+
+ case KeyEvent.KEYCODE_DPAD_UP:
+ case KeyEvent.KEYCODE_DPAD_DOWN:
+ case KeyEvent.KEYCODE_DPAD_LEFT:
+ case KeyEvent.KEYCODE_DPAD_RIGHT:
+ case KeyEvent.KEYCODE_DPAD_CENTER:
+ return mWakeOnDpadKeyPress;
+
+ case KeyEvent.KEYCODE_ASSIST:
+ return mWakeOnAssistKeyPress;
}
+
return true;
}
diff --git a/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java b/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java
index f3a60185bfb6..81ec46634e8a 100644
--- a/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java
+++ b/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java
@@ -18,12 +18,14 @@ package com.android.server.policy;
import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
+import static android.Manifest.permission.WRITE_MEDIA_STORAGE;
import static android.app.AppOpsManager.OP_LEGACY_STORAGE;
import static android.app.AppOpsManager.OP_NONE;
import static android.content.pm.PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION;
import static android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT;
import static android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT;
import static android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT;
+import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static java.lang.Integer.min;
@@ -114,6 +116,7 @@ public abstract class SoftRestrictedPermissionPolicy {
boolean shouldApplyRestriction;
final int targetSDK;
final boolean hasRequestedLegacyExternalStorage;
+ final boolean hasWriteMediaStorageGrantedForUid;
if (appInfo != null) {
PackageManager pm = context.getPackageManager();
@@ -123,11 +126,14 @@ public abstract class SoftRestrictedPermissionPolicy {
targetSDK = getMinimumTargetSDK(context, appInfo, user);
hasRequestedLegacyExternalStorage = hasUidRequestedLegacyExternalStorage(
appInfo.uid, context);
+ hasWriteMediaStorageGrantedForUid = hasWriteMediaStorageGrantedForUid(
+ appInfo.uid, context);
} else {
isWhiteListed = false;
shouldApplyRestriction = false;
targetSDK = 0;
hasRequestedLegacyExternalStorage = false;
+ hasWriteMediaStorageGrantedForUid = false;
}
// We have a check in PermissionPolicyService.PermissionToOpSynchroniser.setUidMode
@@ -145,8 +151,9 @@ public abstract class SoftRestrictedPermissionPolicy {
}
@Override
public boolean mayAllowExtraAppOp() {
- return !shouldApplyRestriction && hasRequestedLegacyExternalStorage
- && targetSDK <= Build.VERSION_CODES.Q;
+ return !shouldApplyRestriction && targetSDK <= Build.VERSION_CODES.Q
+ && (hasRequestedLegacyExternalStorage
+ || hasWriteMediaStorageGrantedForUid);
}
@Override
public boolean mayDenyExtraAppOpIfGranted() {
@@ -201,6 +208,22 @@ public abstract class SoftRestrictedPermissionPolicy {
return false;
}
+ private static boolean hasWriteMediaStorageGrantedForUid(int uid, @NonNull Context context) {
+ PackageManager packageManager = context.getPackageManager();
+ String[] packageNames = packageManager.getPackagesForUid(uid);
+ if (packageNames == null) {
+ return false;
+ }
+
+ for (String packageName : packageNames) {
+ if (packageManager.checkPermission(WRITE_MEDIA_STORAGE, packageName)
+ == PERMISSION_GRANTED) {
+ return true;
+ }
+ }
+ return false;
+ }
+
/**
* @return If the permission can be granted
*/
diff --git a/services/core/java/com/android/server/power/AttentionDetector.java b/services/core/java/com/android/server/power/AttentionDetector.java
index eec0d5f35c5c..cc72dd69a5fa 100644
--- a/services/core/java/com/android/server/power/AttentionDetector.java
+++ b/services/core/java/com/android/server/power/AttentionDetector.java
@@ -38,9 +38,9 @@ import android.provider.DeviceConfig;
import android.provider.Settings;
import android.service.attention.AttentionService;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import com.android.server.wm.WindowManagerInternal;
@@ -285,7 +285,8 @@ public class AttentionDetector {
private void resetConsecutiveExtensionCount() {
final long previousCount = mConsecutiveTimeoutExtendedCount.getAndSet(0);
if (previousCount > 0) {
- StatsLog.write(StatsLog.SCREEN_TIMEOUT_EXTENSION_REPORTED, previousCount);
+ FrameworkStatsLog.write(FrameworkStatsLog.SCREEN_TIMEOUT_EXTENSION_REPORTED,
+ previousCount);
}
}
diff --git a/services/core/java/com/android/server/power/Notifier.java b/services/core/java/com/android/server/power/Notifier.java
index df8e30f9387a..0b95be15f157 100644
--- a/services/core/java/com/android/server/power/Notifier.java
+++ b/services/core/java/com/android/server/power/Notifier.java
@@ -49,19 +49,21 @@ import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.util.EventLog;
import android.util.Slog;
-import android.util.StatsLog;
import android.view.WindowManagerPolicyConstants.OnReason;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IBatteryStats;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.EventLogTags;
import com.android.server.LocalServices;
import com.android.server.inputmethod.InputMethodManagerInternal;
import com.android.server.policy.WindowManagerPolicy;
import com.android.server.statusbar.StatusBarManagerInternal;
+import java.io.PrintWriter;
+
/**
* Sends broadcasts about important power state changes.
* <p>
@@ -123,6 +125,7 @@ public class Notifier {
@Nullable private final StatusBarManagerInternal mStatusBarManagerInternal;
private final TrustManager mTrustManager;
private final Vibrator mVibrator;
+ private final WakeLockLog mWakeLockLog;
private final NotifierHandler mHandler;
private final Intent mScreenOnIntent;
@@ -190,12 +193,14 @@ public class Notifier {
mShowWirelessChargingAnimationConfig = context.getResources().getBoolean(
com.android.internal.R.bool.config_showBuiltinWirelessChargingAnim);
+ mWakeLockLog = new WakeLockLog();
+
// Initialize interactive state for battery stats.
try {
mBatteryStats.noteInteractive(true);
} catch (RemoteException ex) { }
- StatsLog.write(StatsLog.INTERACTIVE_STATE_CHANGED,
- StatsLog.INTERACTIVE_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write(FrameworkStatsLog.INTERACTIVE_STATE_CHANGED,
+ FrameworkStatsLog.INTERACTIVE_STATE_CHANGED__STATE__ON);
}
/**
@@ -228,6 +233,8 @@ public class Notifier {
// Ignore
}
}
+
+ mWakeLockLog.onWakeLockAcquired(tag, ownerUid, flags);
}
public void onLongPartialWakeLockStart(String tag, int ownerUid, WorkSource workSource,
@@ -240,13 +247,15 @@ public class Notifier {
try {
if (workSource != null) {
mBatteryStats.noteLongPartialWakelockStartFromSource(tag, historyTag, workSource);
- StatsLog.write(StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED, workSource,
- tag, historyTag, StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write(FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED,
+ workSource, tag, historyTag,
+ FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__ON);
} else {
mBatteryStats.noteLongPartialWakelockStart(tag, historyTag, ownerUid);
- StatsLog.write_non_chained(StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED,
- ownerUid, null, tag, historyTag,
- StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.write_non_chained(
+ FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED, ownerUid, null, tag,
+ historyTag,
+ FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__ON);
}
} catch (RemoteException ex) {
// Ignore
@@ -263,13 +272,15 @@ public class Notifier {
try {
if (workSource != null) {
mBatteryStats.noteLongPartialWakelockFinishFromSource(tag, historyTag, workSource);
- StatsLog.write(StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED, workSource,
- tag, historyTag, StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED,
+ workSource, tag, historyTag,
+ FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__OFF);
} else {
mBatteryStats.noteLongPartialWakelockFinish(tag, historyTag, ownerUid);
- StatsLog.write_non_chained(StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED,
- ownerUid, null, tag, historyTag,
- StatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write_non_chained(
+ FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED, ownerUid, null, tag,
+ historyTag,
+ FrameworkStatsLog.LONG_PARTIAL_WAKELOCK_STATE_CHANGED__STATE__OFF);
}
} catch (RemoteException ex) {
// Ignore
@@ -338,6 +349,7 @@ public class Notifier {
// Ignore
}
}
+ mWakeLockLog.onWakeLockReleased(tag, ownerUid);
}
private int getBatteryStatsWakeLockMonitorType(int flags) {
@@ -407,9 +419,9 @@ public class Notifier {
try {
mBatteryStats.noteInteractive(interactive);
} catch (RemoteException ex) { }
- StatsLog.write(StatsLog.INTERACTIVE_STATE_CHANGED,
- interactive ? StatsLog.INTERACTIVE_STATE_CHANGED__STATE__ON :
- StatsLog.INTERACTIVE_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.write(FrameworkStatsLog.INTERACTIVE_STATE_CHANGED,
+ interactive ? FrameworkStatsLog.INTERACTIVE_STATE_CHANGED__STATE__ON :
+ FrameworkStatsLog.INTERACTIVE_STATE_CHANGED__STATE__OFF);
// Handle early behaviors.
mInteractive = interactive;
@@ -647,6 +659,17 @@ public class Notifier {
mHandler.sendMessage(msg);
}
+ /**
+ * Dumps data for bugreports.
+ *
+ * @param pw The stream to print to.
+ */
+ public void dump(PrintWriter pw) {
+ if (mWakeLockLog != null) {
+ mWakeLockLog.dump(pw);
+ }
+ }
+
private void updatePendingBroadcastLocked() {
if (!mBroadcastInProgress
&& mPendingInteractiveState != INTERACTIVE_STATE_UNKNOWN
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 3f3a13368ffc..4d13658c85b7 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -3810,6 +3810,10 @@ public final class PowerManagerService extends SystemService
if (wcd != null) {
wcd.dump(pw);
}
+
+ if (mNotifier != null) {
+ mNotifier.dump(pw);
+ }
}
private void dumpProto(FileDescriptor fd) {
@@ -4268,7 +4272,7 @@ public final class PowerManagerService extends SystemService
/**
* Represents a wake lock that has been acquired by an application.
*/
- private final class WakeLock implements IBinder.DeathRecipient {
+ /* package */ final class WakeLock implements IBinder.DeathRecipient {
public final IBinder mLock;
public int mFlags;
public String mTag;
diff --git a/services/core/java/com/android/server/power/WakeLockLog.java b/services/core/java/com/android/server/power/WakeLockLog.java
new file mode 100644
index 000000000000..d6060fa419b9
--- /dev/null
+++ b/services/core/java/com/android/server/power/WakeLockLog.java
@@ -0,0 +1,1355 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.power;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.PowerManager;
+import android.text.TextUtils;
+import android.util.Slog;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.os.BackgroundThread;
+import com.android.internal.os.SomeArgs;
+
+import java.io.PrintWriter;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.ConcurrentModificationException;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * Simple Log for wake lock events. Optimized to reduce memory usage.
+ *
+ * The wake lock events are ultimately saved in-memory in a pre-allocated byte-based ring-buffer.
+ *
+ * Most of the work of this log happens in the {@link BackgroundThread}.
+ *
+ * The main log is basically just a sequence of the two wake lock events (ACQUIRE and RELEASE).
+ * Each entry in the log stores the following data:
+ * {
+ * event type (RELEASE | ACQUIRE),
+ * time (64-bit from System.currentTimeMillis()),
+ * wake-lock ID {ownerUID (int) + tag (String)},
+ * wake-lock flags
+ * }
+ *
+ * In order to maximize the number of entries that fit into the log, there are various efforts made
+ * to compress what we store; of which two are fairly significant and contribute the most to the
+ * complexity of this code:
+ * A) Relative Time
+ * - Time in each log entry is stored as an 8-bit value and is relative to the time of the
+ * previous event. When relative time is too large for 8-bits, we add a third type of event
+ * called TIME_RESET, which is used to add a new 64-bit reference-time event to the log.
+ * In practice, TIME_RESETs seem to make up about 10% or less of the total events depending
+ * on the device usage.
+ * B) Wake-lock tag/ID as indexes
+ * - Wake locks are often reused many times. To avoid storing large strings in the ring buffer,
+ * we maintain a {@link TagDatabase} that associates each wakelock tag with an 7-bit index.
+ * The main log stores only these 7-bit indexes instead of whole strings.
+ *
+ * To make the code a bit more organized, there exists a class {@link EntryByteTranslator} which
+ * uses the tag database, and reference-times to convert between a {@link LogEntry} and the
+ * byte sequence that is ultimately stored in the main log, {@link TheLog}.
+ */
+final class WakeLockLog {
+ private static final String TAG = "PowerManagerService.WLLog";
+
+ private static final boolean DEBUG = false;
+
+ private static final int MSG_ON_WAKE_LOCK_EVENT = 1;
+
+ private static final int TYPE_TIME_RESET = 0x0;
+ private static final int TYPE_ACQUIRE = 0x1;
+ private static final int TYPE_RELEASE = 0x2;
+ private static final int MAX_LOG_ENTRY_BYTE_SIZE = 9;
+ private static final int LOG_SIZE = 1024 * 10;
+ private static final int LOG_SIZE_MIN = MAX_LOG_ENTRY_BYTE_SIZE + 1;
+
+ private static final int TAG_DATABASE_SIZE = 128;
+ private static final int TAG_DATABASE_SIZE_MAX = 128;
+
+ private static final int LEVEL_UNKNOWN = 0;
+ private static final int LEVEL_PARTIAL_WAKE_LOCK = 1;
+ private static final int LEVEL_FULL_WAKE_LOCK = 2;
+ private static final int LEVEL_SCREEN_DIM_WAKE_LOCK = 3;
+ private static final int LEVEL_SCREEN_BRIGHT_WAKE_LOCK = 4;
+ private static final int LEVEL_PROXIMITY_SCREEN_OFF_WAKE_LOCK = 5;
+ private static final int LEVEL_DOZE_WAKE_LOCK = 6;
+ private static final int LEVEL_DRAW_WAKE_LOCK = 7;
+
+ private static final String[] LEVEL_TO_STRING = {
+ "unknown",
+ "partial",
+ "full",
+ "screen-dim",
+ "screen-bright",
+ "prox",
+ "doze",
+ "draw"
+ };
+
+ /**
+ * Flags use the same bit field as the level, so must start at the next available bit
+ * after the largest level.
+ */
+ private static final int FLAG_ON_AFTER_RELEASE = 0x8;
+ private static final int FLAG_ACQUIRE_CAUSES_WAKEUP = 0x10;
+
+ private static final int MASK_LOWER_6_BITS = 0x3F;
+ private static final int MASK_LOWER_7_BITS = 0x7F;
+
+ private static final String[] REDUCED_TAG_PREFIXES =
+ {"*job*/", "*gms_scheduler*/", "IntentOp:"};
+
+ private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");
+
+ /**
+ * Lock protects WakeLockLock.dump (binder thread) from conflicting with changes to the log
+ * happening on the background thread.
+ */
+ private final Object mLock = new Object();
+
+ private final Injector mInjector;
+ private final TheLog mLog;
+ private final TagDatabase mTagDatabase;
+ private final Handler mHandler;
+ private final SimpleDateFormat mDumpsysDateFormat;
+
+ WakeLockLog() {
+ this(new Injector());
+ }
+
+ @VisibleForTesting
+ WakeLockLog(Injector injector) {
+ mInjector = injector;
+ mHandler = new WakeLockLogHandler(injector.getLooper());
+ mTagDatabase = new TagDatabase(injector);
+ EntryByteTranslator translator = new EntryByteTranslator(mTagDatabase);
+ mLog = new TheLog(injector, translator, mTagDatabase);
+ mDumpsysDateFormat = injector.getDateFormat();
+ }
+
+ /**
+ * Receives notifications of an ACQUIRE wake lock event from PowerManager.
+ *
+ * @param tag The wake lock tag
+ * @param ownerUid The owner UID of the wake lock.
+ * @param flags Flags used for the wake lock.
+ */
+ public void onWakeLockAcquired(String tag, int ownerUid, int flags) {
+ onWakeLockEvent(TYPE_ACQUIRE, tag, ownerUid, flags);
+ }
+
+ /**
+ * Receives notifications of a RELEASE wake lock event from PowerManager.
+ *
+ * @param tag The wake lock tag
+ * @param ownerUid The owner UID of the wake lock.
+ */
+ public void onWakeLockReleased(String tag, int ownerUid) {
+ onWakeLockEvent(TYPE_RELEASE, tag, ownerUid, 0 /* flags */);
+ }
+
+ /**
+ * Dumps all the wake lock data currently saved in the wake lock log to the specified
+ * {@code PrintWriter}.
+ *
+ * @param The {@code PrintWriter} to write to.
+ */
+ public void dump(PrintWriter pw) {
+ dump(pw, false);
+ }
+
+ @VisibleForTesting
+ void dump(PrintWriter pw, boolean includeTagDb) {
+ try {
+ synchronized (mLock) {
+ pw.println("Wake Lock Log");
+ LogEntry tempEntry = new LogEntry(); // Temporary entry for the iterator to reuse.
+ final Iterator<LogEntry> iterator = mLog.getAllItems(tempEntry);
+ int numEvents = 0;
+ int numResets = 0;
+ while (iterator.hasNext()) {
+ String address = null;
+ if (DEBUG) {
+ // Gets the byte index in the log for the current entry.
+ address = iterator.toString();
+ }
+ LogEntry entry = iterator.next();
+ if (entry != null) {
+ if (entry.type == TYPE_TIME_RESET) {
+ numResets++;
+ } else {
+ numEvents++;
+ if (DEBUG) {
+ pw.print(address);
+ }
+ entry.dump(pw, mDumpsysDateFormat);
+ }
+ }
+ }
+ pw.println(" -");
+ pw.println(" Events: " + numEvents + ", Time-Resets: " + numResets);
+ pw.println(" Buffer, Bytes used: " + mLog.getUsedBufferSize());
+ if (DEBUG || includeTagDb) {
+ pw.println(" " + mTagDatabase);
+ }
+ }
+ } catch (Exception e) {
+ pw.println("Exception dumping wake-lock log: " + e.toString());
+ }
+ }
+
+ /**
+ * Adds a new entry to the log based on the specified wake lock parameters.
+ *
+ * Grabs the current time for the event and then posts the rest of the logic (actually
+ * adding it to the log) to a background thread.
+ *
+ * @param eventType The type of event (ACQUIRE, RELEASE);
+ * @param tag The wake lock's identifying tag.
+ * @param ownerUid The owner UID of the wake lock.
+ * @param flags The flags used with the wake lock.
+ */
+ private void onWakeLockEvent(int eventType, String tag, int ownerUid,
+ int flags) {
+ if (tag == null) {
+ Slog.w(TAG, "Insufficient data to log wakelock [tag: " + tag
+ + ", ownerUid: " + ownerUid
+ + ", flags: 0x" + Integer.toHexString(flags));
+ return;
+ }
+
+ final long time = mInjector.currentTimeMillis();
+
+ SomeArgs args = SomeArgs.obtain();
+ args.arg1 = tagNameReducer(tag);
+ args.argi1 = eventType;
+ args.argi2 = ownerUid;
+ args.argi3 = eventType == TYPE_ACQUIRE ? translateFlagsFromPowerManager(flags) : 0;
+ args.argi4 = (int) ((time >> 32) & 0xFFFFFFFFL);
+ args.argi5 = (int) (time & 0xFFFFFFFFL);
+ mHandler.obtainMessage(MSG_ON_WAKE_LOCK_EVENT, args).sendToTarget();
+ }
+
+ /**
+ * Handles a new wakelock event in the background thread.
+ *
+ * @param eventType The type of event (ACQUIRE, RELEASE)
+ * @param tag The wake lock's identifying tag.
+ * @param ownerUid The owner UID of the wake lock.
+ * @param flags the flags used with the wake lock.
+ */
+ private void handleWakeLockEventInternal(int eventType, String tag, int ownerUid, int flags,
+ long time) {
+ synchronized (mLock) {
+ final TagData tagData = mTagDatabase.findOrCreateTag(
+ tag, ownerUid, true /* shouldCreate */);
+ mLog.addEntry(new LogEntry(time, eventType, tagData, flags));
+ }
+ }
+
+ /**
+ * Translates wake lock flags from PowerManager into a redefined set that fits
+ * in the lower 6-bits of the return value. The results are an OR-ed combination of the
+ * flags, {@code WakeLockLog.FLAG_*}, and a log-level, {@code WakeLockLog.LEVEL_*}.
+ *
+ * @param flags Wake lock flags including {@code PowerManager.*_WAKE_LOCK}
+ * {@link PowerManager.ACQUIRE_CAUSES_WAKEUP}, and
+ * {@link PowerManager.ON_AFTER_RELEASE}.
+ * @return The compressed flags value.
+ */
+ int translateFlagsFromPowerManager(int flags) {
+ int newFlags = 0;
+ switch(PowerManager.WAKE_LOCK_LEVEL_MASK & flags) {
+ case PowerManager.PARTIAL_WAKE_LOCK:
+ newFlags = LEVEL_PARTIAL_WAKE_LOCK;
+ break;
+ case PowerManager.SCREEN_DIM_WAKE_LOCK:
+ newFlags = LEVEL_SCREEN_DIM_WAKE_LOCK;
+ break;
+ case PowerManager.SCREEN_BRIGHT_WAKE_LOCK:
+ newFlags = LEVEL_SCREEN_BRIGHT_WAKE_LOCK;
+ break;
+ case PowerManager.FULL_WAKE_LOCK:
+ newFlags = LEVEL_FULL_WAKE_LOCK;
+ break;
+ case PowerManager.DOZE_WAKE_LOCK:
+ newFlags = LEVEL_DOZE_WAKE_LOCK;
+ break;
+ case PowerManager.DRAW_WAKE_LOCK:
+ newFlags = LEVEL_DRAW_WAKE_LOCK;
+ break;
+ case PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK:
+ newFlags = LEVEL_PROXIMITY_SCREEN_OFF_WAKE_LOCK;
+ break;
+ default:
+ Slog.w(TAG, "Unsupported lock level for logging, flags: " + flags);
+ break;
+ }
+ if ((flags & PowerManager.ACQUIRE_CAUSES_WAKEUP) != 0) {
+ newFlags |= FLAG_ACQUIRE_CAUSES_WAKEUP;
+ }
+ if ((flags & PowerManager.ON_AFTER_RELEASE) != 0) {
+ newFlags |= FLAG_ON_AFTER_RELEASE;
+ }
+ return newFlags;
+ }
+
+ /**
+ * Reduce certain wakelock tags to something smaller.
+ * e.g. "*job* /com.aye.bee.cee/dee.ee.eff.Gee$Eich" -> "*job* /c.a.b.c/d.e.e.Gee$Eich"
+ * This is used to save space when storing the tags in the Tag Database.
+ *
+ * @param tag The tag name to reduce
+ * @return A reduced version of the tag name.
+ */
+ private String tagNameReducer(String tag) {
+ if (tag == null) {
+ return null;
+ }
+
+ String reduciblePrefix = null;
+ for (int tp = 0; tp < REDUCED_TAG_PREFIXES.length; tp++) {
+ if (tag.startsWith(REDUCED_TAG_PREFIXES[tp])) {
+ reduciblePrefix = REDUCED_TAG_PREFIXES[tp];
+ break;
+ }
+ }
+
+ if (reduciblePrefix != null) {
+ final StringBuilder sb = new StringBuilder();
+
+ // add prefix first
+ sb.append(tag.substring(0, reduciblePrefix.length()));
+
+ // Stop looping on final marker
+ final int end = Math.max(tag.lastIndexOf("/"), tag.lastIndexOf("."));
+ boolean printNext = true;
+ int index = sb.length(); // Start looping after the prefix
+ for (; index < end; index++) {
+ char c = tag.charAt(index);
+ boolean isMarker = (c == '.' || c == '/');
+ // We print all markers and the character that follows each marker
+ if (isMarker || printNext) {
+ sb.append(c);
+ }
+ printNext = isMarker;
+ }
+ sb.append(tag.substring(index)); // append everything that is left
+ return sb.toString();
+ }
+ return tag;
+ }
+
+ /**
+ * Represents a wakelock-event entry in the log.
+ * Holds all the data of a wakelock. The lifetime of this class is fairly short as the data
+ * within this type is eventually written to the log as bytes and the instances discarded until
+ * the log is read again which is fairly infrequent.
+ *
+ * At the time of this writing, this can be one of three types of entries:
+ * 1) Wake lock acquire
+ * 2) Wake lock release
+ * 3) Time reset
+ */
+ static class LogEntry {
+ /**
+ * Type of wake lock from the {@code WakeLockLog.TYPE_*} set.
+ */
+ public int type;
+
+ /**
+ * Time of the wake lock entry as taken from System.currentTimeMillis().
+ */
+ public long time;
+
+ /**
+ * Data about the wake lock tag.
+ */
+ public TagData tag;
+
+ /**
+ * Flags used with the wake lock.
+ */
+ public int flags;
+
+ LogEntry() {}
+
+ LogEntry(long time, int type, TagData tag, int flags) {
+ set(time, type, tag, flags);
+ }
+
+ /**
+ * Sets the values of the log entry.
+ * This is exposed to ease the reuse of {@code LogEntry} instances.
+ *
+ * @param time Time of the entry.
+ * @param type Type of entry.
+ * @param tag Tag data of the wake lock.
+ * @param flags Flags used with the wake lock.
+ */
+ public void set(long time, int type, TagData tag, int flags) {
+ this.time = time;
+ this.type = type;
+ this.tag = tag;
+ this.flags = flags;
+ }
+
+ /**
+ * Dumps this entry to the specified {@link PrintWriter}.
+ *
+ * @param pw The print-writer to dump to.
+ * @param dateFormat The date format to use for outputing times.
+ */
+ public void dump(PrintWriter pw, SimpleDateFormat dateFormat) {
+ pw.println(" " + toStringInternal(dateFormat));
+ }
+
+ /**
+ * Converts the entry to a string.
+ * date - ownerUid - (ACQ|REL) tag [(flags)]
+ * e.g., 1999-01-01 12:01:01.123 - 10012 - ACQ bluetooth_timer (partial)
+ */
+ @Override
+ public String toString() {
+ return toStringInternal(DATE_FORMAT);
+ }
+
+ /**
+ * Converts the entry to a string.
+ * date - ownerUid - (ACQ|REL) tag [(flags)]
+ * e.g., 1999-01-01 12:01:01.123 - 10012 - ACQ bluetooth_timer (partial)
+ *
+ * @param dateFormat The date format to use for outputing times.
+ * @return The string output of this class instance.
+ */
+ private String toStringInternal(SimpleDateFormat dateFormat) {
+ StringBuilder sb = new StringBuilder();
+ if (type == TYPE_TIME_RESET) {
+ return dateFormat.format(new Date(time)) + " - RESET";
+ }
+ sb.append(dateFormat.format(new Date(time)))
+ .append(" - ")
+ .append(tag == null ? "---" : tag.ownerUid)
+ .append(" - ")
+ .append(type == TYPE_ACQUIRE ? "ACQ" : "REL")
+ .append(" ")
+ .append(tag == null ? "UNKNOWN" : tag.tag);
+ if (type == TYPE_ACQUIRE) {
+ sb.append(" (");
+ flagsToString(sb);
+ sb.append(")");
+ }
+ return sb.toString();
+ }
+
+ private void flagsToString(StringBuilder sb) {
+ sb.append(LEVEL_TO_STRING[flags & 0x7]);
+ if ((flags & FLAG_ON_AFTER_RELEASE) == FLAG_ON_AFTER_RELEASE) {
+ sb.append(",on-after-release");
+ }
+ if ((flags & FLAG_ACQUIRE_CAUSES_WAKEUP) == FLAG_ACQUIRE_CAUSES_WAKEUP) {
+ sb.append(",acq-causes-wake");
+ }
+ }
+ }
+
+ /**
+ * Converts between a {@link LogEntry} instance and a byte sequence.
+ *
+ * This is used to convert {@link LogEntry}s to a series of bytes before being written into
+ * the log, and vice-versa when reading from the log.
+ *
+ * This method employs the compression techniques that are mentioned in the header of
+ * {@link WakeLockLog}: Relative-time and Tag-indexing. Please see the header for the
+ * description of both.
+ *
+ * The specific byte formats used are explained more thoroughly in the method {@link #toBytes}.
+ */
+ static class EntryByteTranslator {
+
+ // Error codes that can be returned when converting to bytes.
+ static final int ERROR_TIME_IS_NEGATIVE = -1; // Relative time is negative
+ static final int ERROR_TIME_TOO_LARGE = -2; // Relative time is out of valid range (0-255)
+
+ private final TagDatabase mTagDatabase;
+
+ EntryByteTranslator(TagDatabase tagDatabase) {
+ mTagDatabase = tagDatabase;
+ }
+
+ /**
+ * Translates the specified bytes into a LogEntry instance, if possible.
+ *
+ * See {@link #toBytes} for an explanation of the byte formats.
+ *
+ * @param bytes The bytes to read.
+ * @param timeReference The reference time to use when reading the relative time from the
+ * bytes buffer.
+ * @param entryToReuse The entry instance to write to. If null, this method will create a
+ * new instance.
+ * @return The converted entry, or null if data is corrupt.
+ */
+ LogEntry fromBytes(byte[] bytes, long timeReference, LogEntry entryToReuse) {
+ if (bytes == null || bytes.length == 0) {
+ return null;
+ }
+
+ // Create an entry if non if passed in to use
+ LogEntry entry = entryToReuse != null ? entryToReuse : new LogEntry();
+
+ int type = (bytes[0] >> 6) & 0x3;
+ if ((type & 0x2) == 0x2) {
+ // As long as the highest order bit of the byte is set, it is a release
+ type = TYPE_RELEASE;
+ }
+ switch (type) {
+ case TYPE_ACQUIRE: {
+ if (bytes.length < 3) {
+ break;
+ }
+
+ int flags = bytes[0] & MASK_LOWER_6_BITS;
+ int tagIndex = bytes[1] & MASK_LOWER_7_BITS;
+ TagData tag = mTagDatabase.getTag(tagIndex);
+ long time = (bytes[2] & 0xFF) + timeReference;
+ entry.set(time, TYPE_ACQUIRE, tag, flags);
+ return entry;
+ }
+ case TYPE_RELEASE: {
+ if (bytes.length < 2) {
+ break;
+ }
+
+ int flags = 0;
+ int tagIndex = bytes[0] & MASK_LOWER_7_BITS;
+ TagData tag = mTagDatabase.getTag(tagIndex);
+ long time = (bytes[1] & 0xFF) + timeReference;
+ entry.set(time, TYPE_RELEASE, tag, flags);
+ return entry;
+ }
+ case TYPE_TIME_RESET: {
+ if (bytes.length < 9) {
+ break;
+ }
+
+ long time = ((bytes[1] & 0xFFL) << 56)
+ | ((bytes[2] & 0xFFL) << 48)
+ | ((bytes[3] & 0xFFL) << 40)
+ | ((bytes[4] & 0xFFL) << 32)
+ | ((bytes[5] & 0xFFL) << 24)
+ | ((bytes[6] & 0xFFL) << 16)
+ | ((bytes[7] & 0xFFL) << 8)
+ | (bytes[8] & 0xFFL);
+ entry.set(time, TYPE_TIME_RESET, null, 0);
+ return entry;
+ }
+ default:
+ Slog.w(TAG, "Type not recognized [" + type + "]", new Exception());
+ break;
+ }
+ return null;
+ }
+
+ /**
+ * Converts and writes the specified entry into the specified byte array.
+ * If the byte array is null or too small, then the method writes nothing, but still returns
+ * the number of bytes necessary to write the entry.
+ *
+ * Byte format used for each type:
+ *
+ * TYPE_RELEASE:
+ * bits
+ * 0 1 2 3 4 5 6 7
+ * bytes 0 [ 1 | 7-bit wake lock tag index ]
+ * 1 [ 8-bit relative time ]
+ *
+ *
+ * TYPE_ACQUIRE:
+ * bits
+ * 0 1 2 3 4 5 6 7
+ * 0 [ 0 1 | wake lock flags ]
+ * bytes 1 [unused| 7-bit wake lock tag index ]
+ * 2 [ 8-bit relative time ]
+ *
+ *
+ * TYPE_TIME_RESET:
+ * bits
+ * 0 1 2 3 4 5 6 7
+ * 0 [ 0 0 | unused ]
+ * bytes 1-9 [ 64-bit reference-time ]
+ *
+ * @param entry The entry to convert/write
+ * @param bytes The buffer to write to, or null to just return the necessary bytes.
+ * @param timeReference The reference-time used to calculate relative time of the entry.
+ * @return The number of bytes written to buffer, or required to write to the buffer.
+ */
+ int toBytes(LogEntry entry, byte[] bytes, long timeReference) {
+ int sizeNeeded = -1;
+ switch (entry.type) {
+ case TYPE_ACQUIRE: {
+ sizeNeeded = 3;
+ if (bytes != null && bytes.length >= sizeNeeded) {
+ int relativeTime = getRelativeTime(timeReference, entry.time);
+ if (relativeTime < 0) {
+ // Negative relative time indicates error code
+ return relativeTime;
+ }
+ bytes[0] = (byte) ((TYPE_ACQUIRE << 6)
+ | (entry.flags & MASK_LOWER_6_BITS));
+ bytes[1] = (byte) mTagDatabase.getTagIndex(entry.tag);
+ bytes[2] = (byte) (relativeTime & 0xFF); // Lower 8 bits of the time
+ if (DEBUG) {
+ Slog.d(TAG, "ACQ - Setting bytes: " + Arrays.toString(bytes));
+ }
+ }
+ break;
+ }
+ case TYPE_RELEASE: {
+ sizeNeeded = 2;
+ if (bytes != null && bytes.length >= sizeNeeded) {
+ int relativeTime = getRelativeTime(timeReference, entry.time);
+ if (relativeTime < 0) {
+ // Negative relative time indicates error code
+ return relativeTime;
+ }
+ bytes[0] = (byte) (0x80 | mTagDatabase.getTagIndex(entry.tag));
+ bytes[1] = (byte) (relativeTime & 0xFF); // Lower 8 bits of the time
+ if (DEBUG) {
+ Slog.d(TAG, "REL - Setting bytes: " + Arrays.toString(bytes));
+ }
+ }
+ break;
+ }
+ case TYPE_TIME_RESET: {
+ sizeNeeded = 9;
+ long time = entry.time;
+ if (bytes != null && bytes.length >= sizeNeeded) {
+ bytes[0] = (TYPE_TIME_RESET << 6);
+ bytes[1] = (byte) ((time >> 56) & 0xFF);
+ bytes[2] = (byte) ((time >> 48) & 0xFF);
+ bytes[3] = (byte) ((time >> 40) & 0xFF);
+ bytes[4] = (byte) ((time >> 32) & 0xFF);
+ bytes[5] = (byte) ((time >> 24) & 0xFF);
+ bytes[6] = (byte) ((time >> 16) & 0xFF);
+ bytes[7] = (byte) ((time >> 8) & 0xFF);
+ bytes[8] = (byte) (time & 0xFF);
+ }
+ break;
+ }
+ default:
+ throw new RuntimeException("Unknown type " + entry);
+ }
+
+ return sizeNeeded;
+ }
+
+ /**
+ * Calculates the relative time between the specified time and timeReference. The relative
+ * time is expected to be non-negative and fit within 8-bits (values between 0-255). If the
+ * relative time is outside of that range an error code will be returned instead.
+ *
+ * @param time
+ * @param timeReference
+ * @return The relative time between time and timeReference, or an error code.
+ */
+ private int getRelativeTime(long timeReference, long time) {
+ if (time < timeReference) {
+ if (DEBUG) {
+ Slog.w(TAG, "ERROR_TIME_IS_NEGATIVE");
+ }
+ return ERROR_TIME_IS_NEGATIVE;
+ }
+ long relativeTime = time - timeReference;
+ if (relativeTime > 255) {
+ if (DEBUG) {
+ Slog.w(TAG, "ERROR_TIME_TOO_LARGE");
+ }
+ return ERROR_TIME_TOO_LARGE;
+ }
+ return (int) relativeTime;
+ }
+ }
+
+ /**
+ * Main implementation of the ring buffer used to store the log entries. This class takes
+ * {@link LogEntry} instances and adds them to the ring buffer, utilizing
+ * {@link EntryByteTranslator} to convert byte {@link LogEntry} to bytes within the buffer.
+ *
+ * This class also implements the logic around TIME_RESET events. Since the LogEntries store
+ * their time (8-bit) relative to the previous event, this class can add {@link TYPE_TIME_RESET}
+ * LogEntries as necessary to allow a LogEntry's relative time to fit within that range.
+ */
+ static class TheLog {
+ private final EntryByteTranslator mTranslator;
+
+ /**
+ * Temporary buffer used when converting a new entry to bytes for writing to the buffer.
+ * Allocating once allows us to avoid allocating a buffer with each write.
+ */
+ private final byte[] mTempBuffer = new byte[MAX_LOG_ENTRY_BYTE_SIZE];
+
+ /**
+ * Second temporary buffer used when reading and writing bytes from the buffer.
+ * A second temporary buffer is necessary since additional items can be read concurrently
+ * from {@link mTempBuffer}. E.g., Adding an entry to a full buffer requires removing
+ * other entries from the buffer.
+ */
+ private final byte[] mReadWriteTempBuffer = new byte[MAX_LOG_ENTRY_BYTE_SIZE];
+
+ /**
+ * Main log buffer.
+ */
+ private final byte[] mBuffer;
+
+ /**
+ * Start index of the ring buffer.
+ */
+ private int mStart = 0;
+
+ /**
+ * Current end index of the ring buffer.
+ */
+ private int mEnd = 0;
+
+ /**
+ * Start time of the entries in the buffer. The first item stores an 8-bit time that is
+ * relative to this value.
+ */
+ private long mStartTime = 0;
+
+ /**
+ * The time of the last entry in the buffer. Reading the time from the last entry to
+ * calculate the relative time of a new one is sufficiently hard to prefer saving the value
+ * here instead.
+ */
+ private long mLatestTime = 0;
+
+ /**
+ * Counter for number of changes (adds or removes) that have been done to the buffer.
+ */
+ private long mChangeCount = 0;
+
+ private final TagDatabase mTagDatabase;
+
+ TheLog(Injector injector, EntryByteTranslator translator, TagDatabase tagDatabase) {
+ final int logSize = Math.max(injector.getLogSize(), LOG_SIZE_MIN);
+ mBuffer = new byte[logSize];
+
+ mTranslator = translator;
+ mTagDatabase = tagDatabase;
+
+ // Register to be notified when an older tag is removed from the TagDatabase to make
+ // room for a new entry.
+ mTagDatabase.setCallback(new TagDatabase.Callback() {
+ @Override public void onIndexRemoved(int index) {
+ removeTagIndex(index);
+ }
+ });
+ }
+
+ /**
+ * Returns the amount of space being used in the ring buffer (in bytes).
+ *
+ * @return Used buffer size in bytes.
+ */
+ int getUsedBufferSize() {
+ return mBuffer.length - getAvailableSpace();
+ }
+
+ /**
+ * Adds the specified {@link LogEntry} to the log by converting it to bytes and writing
+ * those bytes to the buffer.
+ *
+ * This method can have side effects of removing old values from the ring buffer and
+ * adding an extra TIME_RESET entry if necessary.
+ */
+ void addEntry(LogEntry entry) {
+ if (isBufferEmpty()) {
+ // First item being added, do initialization.
+ mStartTime = mLatestTime = entry.time;
+ }
+
+ int size = mTranslator.toBytes(entry, mTempBuffer, mLatestTime);
+ if (size == EntryByteTranslator.ERROR_TIME_IS_NEGATIVE) {
+ return; // Wholly unexpected circumstance...just break out now.
+ } else if (size == EntryByteTranslator.ERROR_TIME_TOO_LARGE) {
+ // The relative time between the last entry and this new one is too large
+ // to fit in our byte format...we need to create a new Time-Reset event and add
+ // that to the log first.
+ addEntry(new LogEntry(entry.time, TYPE_TIME_RESET, null, 0));
+ size = mTranslator.toBytes(entry, mTempBuffer, mLatestTime);
+ }
+
+ if (size > MAX_LOG_ENTRY_BYTE_SIZE || size <= 0) {
+ Slog.w(TAG, "Log entry size is out of expected range: " + size);
+ return;
+ }
+
+ // In case the buffer is full or nearly full, ensure there is a proper amount of space
+ // for the new entry.
+ if (!makeSpace(size)) {
+ return; // Doesn't fit
+ }
+
+ if (DEBUG) {
+ Slog.d(TAG, "Wrote New Entry @(" + mEnd + ") [" + entry + "] as "
+ + Arrays.toString(mTempBuffer));
+ }
+ // Set the bytes and update our end index & timestamp.
+ writeBytesAt(mEnd, mTempBuffer, size);
+ if (DEBUG) {
+ Slog.d(TAG, "Read written Entry @(" + mEnd + ") ["
+ + readEntryAt(mEnd, mLatestTime, null));
+ }
+ mEnd = (mEnd + size) % mBuffer.length;
+ mLatestTime = entry.time;
+
+ TagDatabase.updateTagTime(entry.tag, entry.time);
+ mChangeCount++;
+ }
+
+ /**
+ * Returns an {@link Iterator} of {@link LogEntry}s for all the entries in the log.
+ *
+ * If the log is modified while the entries are being read, the iterator will throw a
+ * {@link ConcurrentModificationExceptoin}.
+ *
+ * @param tempEntry A temporary {@link LogEntry} instance to use so that new instances
+ * aren't allocated with every call to {@code Iterator.next}.
+ */
+ Iterator<LogEntry> getAllItems(final LogEntry tempEntry) {
+ return new Iterator<LogEntry>() {
+ private int mCurrent = mStart; // Current read position in the log.
+ private long mCurrentTimeReference = mStartTime; // Current time-reference to use.
+ private final long mChangeValue = mChangeCount; // Used to track if buffer changed.
+
+ /**
+ * @return True if there are more elements to iterate through, false otherwise.\
+ * @throws ConcurrentModificationException if the buffer contents change.
+ */
+ @Override
+ public boolean hasNext() {
+ checkState();
+ return mCurrent != mEnd;
+ }
+
+ /**
+ * Returns the next element in the iterator.
+ *
+ * @return The next entry in the iterator
+ * @throws NoSuchElementException if iterator reaches the end.
+ * @throws ConcurrentModificationException if buffer contents change.
+ */
+ @Override
+ public LogEntry next() {
+ checkState();
+
+ if (!hasNext()) {
+ throw new NoSuchElementException("No more entries left.");
+ }
+
+ LogEntry entry = readEntryAt(mCurrent, mCurrentTimeReference, tempEntry);
+ int size = mTranslator.toBytes(entry, null, mStartTime);
+ mCurrent = (mCurrent + size) % mBuffer.length;
+ mCurrentTimeReference = entry.time;
+
+ return entry;
+ }
+
+ @Override public String toString() {
+ return "@" + mCurrent;
+ }
+
+ /**
+ * @throws ConcurrentModificationException if the underlying buffer has changed
+ * since this iterator was instantiated.
+ */
+ private void checkState() {
+ if (mChangeValue != mChangeCount) {
+ throw new ConcurrentModificationException("Buffer modified, old change: "
+ + mChangeValue + ", new change: " + mChangeCount);
+ }
+ }
+ };
+ }
+
+ /**
+ * Cleans up old tag index references from the entire log.
+ * Called when an older wakelock tag is removed from the tag database. This happens
+ * when the database needed additional room for newer tags.
+ *
+ * This is a fairly expensive operation. Reads all the entries from the buffer, which can
+ * be around 1500 for a 10Kb buffer. It will write back any entries that use the tag as
+ * well, but that's not many of them. Commonly-used tags dont ever make it to this part.
+ *
+ * If necessary, in the future we can keep track of the number of tag-users the same way we
+ * keep track of a tag's last-used-time to stop having to do this for old tags that dont
+ * have entries in the logs any more. Light testing has shown that for a 10Kb
+ * buffer, there are about 5 or fewer (of 1500) entries with "UNKNOWN" tag...which means
+ * this operation does happen, but not very much.
+ *
+ * @param tagIndex The index of the tag, as stored in the log
+ */
+ private void removeTagIndex(int tagIndex) {
+ if (isBufferEmpty()) {
+ return;
+ }
+
+ int readIndex = mStart;
+ long timeReference = mStartTime;
+ final LogEntry reusableEntryInstance = new LogEntry();
+ while (readIndex != mEnd) {
+ LogEntry entry = readEntryAt(readIndex, timeReference, reusableEntryInstance);
+ if (DEBUG) {
+ Slog.d(TAG, "Searching to remove tags @ " + readIndex + ": " + entry);
+ }
+ if (entry == null) {
+ Slog.w(TAG, "Entry is unreadable - Unexpected @ " + readIndex);
+ break; // cannot continue if entries are now corrupt
+ }
+ if (entry.tag != null && entry.tag.index == tagIndex) {
+ // We found an entry that uses the tag being removed. Re-write the
+ // entry back without a tag.
+ entry.tag = null; // remove the tag, and write it back
+ writeEntryAt(readIndex, entry, timeReference);
+ if (DEBUG) {
+ Slog.d(TAG, "Remove tag index: " + tagIndex + " @ " + readIndex);
+ }
+ }
+ timeReference = entry.time;
+ int entryByteSize = mTranslator.toBytes(entry, null, 0L);
+ readIndex = (readIndex + entryByteSize) % mBuffer.length;
+ }
+ }
+
+ /**
+ * Removes entries from the buffer until the specified amount of space is available for use.
+ *
+ * @param spaceNeeded The number of bytes needed in the buffer.
+ * @return True if there is space enough in the buffer, false otherwise.
+ */
+ private boolean makeSpace(int spaceNeeded) {
+ // Test the size of the buffer can fit it first, so that we dont loop forever in the
+ // following while loop.
+ if (mBuffer.length < spaceNeeded + 1) {
+ return false;
+ }
+
+ // We check spaceNeeded + 1 so that mStart + mEnd aren't equal. We use them being equal
+ // to mean that the buffer is empty...so avoid that.
+ while (getAvailableSpace() < (spaceNeeded + 1)) {
+ removeOldestItem();
+ }
+ return true;
+ }
+
+ /**
+ * Returns the available space of the ring buffer.
+ */
+ private int getAvailableSpace() {
+ return mEnd > mStart ? mBuffer.length - (mEnd - mStart) :
+ (mEnd < mStart ? mStart - mEnd :
+ mBuffer.length);
+ }
+
+ /**
+ * Removes the oldest item from the buffer if the buffer is not empty.
+ */
+ private void removeOldestItem() {
+ if (isBufferEmpty()) {
+ // No items to remove
+ return;
+ }
+
+ // Copy the contents of the start of the buffer to our temporary buffer.
+ LogEntry entry = readEntryAt(mStart, mStartTime, null);
+ if (DEBUG) {
+ Slog.d(TAG, "Removing oldest item at @ " + mStart + ", found: " + entry);
+ }
+ int size = mTranslator.toBytes(entry, null, mStartTime);
+ mStart = (mStart + size) % mBuffer.length;
+ mStartTime = entry.time; // new start time
+ mChangeCount++;
+ }
+
+ /**
+ * Returns true if the buffer is currently unused (contains zero entries).
+ *
+ * @return True if empty, false otherwise.
+ */
+ private boolean isBufferEmpty() {
+ return mStart == mEnd;
+ }
+
+ /**
+ * Reads an entry from the specified index in the buffer.
+ *
+ * @param index Index into the buffer from which to read.
+ * @param timeReference Reference time to use when creating the {@link LogEntry}.
+ * @param entryToSet Temporary entry to use instead of allocating a new one.
+ * @return the log-entry instance that was read.
+ */
+ private LogEntry readEntryAt(int index, long timeReference, LogEntry entryToSet) {
+ for (int i = 0; i < MAX_LOG_ENTRY_BYTE_SIZE; i++) {
+ int indexIntoMainBuffer = (index + i) % mBuffer.length;
+ if (indexIntoMainBuffer == mEnd) {
+ break;
+ }
+ mReadWriteTempBuffer[i] = mBuffer[indexIntoMainBuffer];
+ }
+ return mTranslator.fromBytes(mReadWriteTempBuffer, timeReference, entryToSet);
+ }
+
+ /**
+ * Write a specified {@link LogEntry} to the buffer at the specified index.
+ *
+ * @param index Index in which to write in the buffer.
+ * @param entry The entry to write into the buffer.
+ * @param timeReference The reference time to use when calculating the relative time.
+ */
+ private void writeEntryAt(int index, LogEntry entry, long timeReference) {
+ int size = mTranslator.toBytes(entry, mReadWriteTempBuffer, timeReference);
+ if (size > 0) {
+ if (DEBUG) {
+ Slog.d(TAG, "Writing Entry (" + index + ") [" + entry + "] as "
+ + Arrays.toString(mReadWriteTempBuffer));
+ }
+ writeBytesAt(index, mReadWriteTempBuffer, size);
+ }
+ }
+
+ /**
+ * Write the specified bytes into the buffer at the specified index.
+ * Handling wrap-around calculation for the ring-buffer.
+ *
+ * @param index The index from which to start writing.
+ * @param buffer The buffer of bytes to be written.
+ * @param size The amount of bytes to write from {@code buffer} to the log.
+ */
+ private void writeBytesAt(int index, byte[] buffer, int size) {
+ for (int i = 0; i < size; i++) {
+ int indexIntoMainBuffer = (index + i) % mBuffer.length;
+ mBuffer[indexIntoMainBuffer] = buffer[i];
+ }
+ if (DEBUG) {
+ Slog.d(TAG, "Write Byte: " + Arrays.toString(buffer));
+ }
+ }
+ }
+
+ /**
+ * An in-memory database of wake lock {@link TagData}. All tags stored in the database are given
+ * a 7-bit index. This index is then used by {@link TheLog} when translating {@link LogEntry}
+ * instanced into bytes.
+ *
+ * If a new tag is added when the database is full, the oldest tag is removed. The oldest tag
+ * is calcualted using {@link TagData.lastUsedTime}.
+ */
+ static class TagDatabase {
+ private final int mInvalidIndex;
+ private final TagData[] mArray;
+ private Callback mCallback;
+
+ TagDatabase(Injector injector) {
+ int size = Math.min(injector.getTagDatabaseSize(), TAG_DATABASE_SIZE_MAX);
+
+ // Largest possible index used as "INVALID", hence the (size - 1) sizing.
+ mArray = new TagData[size - 1];
+ mInvalidIndex = size - 1;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Tag Database: size(").append(mArray.length).append(")");
+ int entries = 0;
+ int byteEstimate = 0;
+ int tagSize = 0;
+ int tags = 0;
+ for (int i = 0; i < mArray.length; i++) {
+ byteEstimate += 8; // reference pointer
+ TagData data = mArray[i];
+ if (data != null) {
+ entries++;
+ byteEstimate += data.getByteSize();
+ if (data.tag != null) {
+ tags++;
+ tagSize += data.tag.length();
+ }
+ }
+ }
+ sb.append(", entries: ").append(entries);
+ sb.append(", Bytes used: ").append(byteEstimate);
+ if (DEBUG) {
+ sb.append(", Avg tag size: ").append(tagSize / tags);
+ sb.append("\n ").append(Arrays.toString(mArray));
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Sets the callback.
+ *
+ * @param callback The callback to set.
+ */
+ public void setCallback(Callback callback) {
+ mCallback = callback;
+ }
+
+ /**
+ * Returns the tag corresponding to the specified index.
+ *
+ * @param index The index to search for.
+ */
+ public TagData getTag(int index) {
+ if (index < 0 || index >= mArray.length || index == mInvalidIndex) {
+ return null;
+ }
+ return mArray[index];
+ }
+
+ /**
+ * Returns an existing tag for the specified wake lock tag + ownerUid.
+ *
+ * @param tag The wake lock tag.
+ * @param ownerUid The wake lock's ownerUid.
+ * @return the TagData instance.
+ */
+ public TagData getTag(String tag, int ownerUid) {
+ return findOrCreateTag(tag, ownerUid, false /* shouldCreate */);
+ }
+
+ /**
+ * Returns the index for the corresponding tag.
+ *
+ * @param tagData The tag-data to search for.
+ * @return the corresponding index, or mInvalidIndex of none is found.
+ */
+ public int getTagIndex(TagData tagData) {
+ return tagData == null ? mInvalidIndex : tagData.index;
+ }
+
+ /**
+ * Returns a tag instance for the specified wake lock tag and ownerUid. If the data
+ * does not exist in the database, it will be created if so specified by
+ * {@code shouldCreate}.
+ *
+ * @param tagStr The wake lock's tag.
+ * @param ownerUid The wake lock's owner Uid.
+ * @param shouldCreate True when the tag should be created if it doesn't already exist.
+ * @return The tag-data instance that was found or created.
+ */
+ public TagData findOrCreateTag(String tagStr, int ownerUid, boolean shouldCreate) {
+ int firstAvailable = -1;
+ TagData oldest = null;
+ int oldestIndex = -1;
+
+ // Loop through and find the tag to be used.
+ TagData tag = new TagData(tagStr, ownerUid);
+ for (int i = 0; i < mArray.length; i++) {
+ TagData current = mArray[i];
+ if (tag.equals(current)) {
+ // found it
+ return current;
+ } else if (!shouldCreate) {
+ continue;
+ } else if (current != null) {
+ // See if this entry is the oldest entry, in case
+ // we need to replace it.
+ if (oldest == null || current.lastUsedTime < oldest.lastUsedTime) {
+ oldestIndex = i;
+ oldest = current;
+ }
+ } else if (firstAvailable == -1) {
+ firstAvailable = i;
+ }
+ }
+
+ // Item not found, and we shouldn't create one.
+ if (!shouldCreate) {
+ return null;
+ }
+
+ // If we need to remove an index, report to listeners that we are removing an index.
+ boolean useOldest = firstAvailable == -1;
+ if (useOldest && mCallback != null) {
+ if (DEBUG) {
+ Slog.d(TAG, "Removing tag index: " + oldestIndex + " = " + oldest);
+ }
+ mCallback.onIndexRemoved(oldestIndex);
+ }
+ setToIndex(tag, firstAvailable != -1 ? firstAvailable : oldestIndex);
+ return tag;
+ }
+
+ /**
+ * Updates the last-used-time of the specified tag.
+ *
+ * @param tag The tag to update.
+ * @param time The new last-used-time for the tag.
+ */
+ public static void updateTagTime(TagData tag, long time) {
+ if (tag != null) {
+ tag.lastUsedTime = time;
+ }
+ }
+
+ /**
+ * Sets a specified tag to the specified index.
+ */
+ private void setToIndex(TagData tag, int index) {
+ if (index < 0 || index >= mArray.length) {
+ return;
+ }
+ TagData current = mArray[index];
+ if (current != null) {
+ // clean up the reference in the TagData instance first.
+ current.index = mInvalidIndex;
+
+ if (DEBUG) {
+ Slog.d(TAG, "Replaced tag " + current.tag + " from index " + index + " with tag"
+ + tag);
+ }
+ }
+
+ mArray[index] = tag;
+ tag.index = index;
+ }
+
+ /**
+ * Callback on which to be notified of changes to {@link TagDatabase}.
+ */
+ interface Callback {
+
+ /**
+ * Handles removals of TagData indexes.
+ *
+ * @param index the index being removed.
+ */
+ void onIndexRemoved(int index);
+ }
+ }
+
+ /**
+ * This class represents unique wake lock tags that are stored in {@link TagDatabase}.
+ * Contains both the wake lock tag data (tag + ownerUid) as well as index and last-used
+ * time data as it relates to the tag-database.
+ */
+ static class TagData {
+ public String tag; // Wake lock tag
+ public int ownerUid; // Wake lock owner Uid
+ public int index; // Index of the tag in the tag-database
+ public long lastUsedTime; // Last time that this entry was used
+
+ TagData(String tag, int ownerUid) {
+ this.tag = tag;
+ this.ownerUid = ownerUid;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o instanceof TagData) {
+ TagData other = (TagData) o;
+ return TextUtils.equals(tag, other.tag) && ownerUid == other.ownerUid;
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ if (DEBUG) {
+ sb.append("(").append(index).append(")");
+ }
+ return "[" + ownerUid + " ; " + tag + "]";
+ }
+
+ /**
+ * Returns an estimate of the number of bytes used by each instance of this class.
+ * Used for debug purposes.
+ *
+ * @return the size of this tag-data.
+ */
+ int getByteSize() {
+ int bytes = 0;
+ bytes += 8; // tag reference-pointer;
+ bytes += tag == null ? 0 : tag.length() * 2;
+ bytes += 4; // ownerUid
+ bytes += 4; // index
+ bytes += 8; // lastUsedTime
+ return bytes;
+ }
+ }
+
+ /**
+ * Injector used by {@link WakeLockLog} for testing purposes.
+ */
+ public static class Injector {
+ public Looper getLooper() {
+ return BackgroundThread.get().getLooper();
+ }
+
+ public int getTagDatabaseSize() {
+ return TAG_DATABASE_SIZE;
+ }
+
+ public int getLogSize() {
+ return LOG_SIZE;
+ }
+
+ public long currentTimeMillis() {
+ return System.currentTimeMillis();
+ }
+
+ public SimpleDateFormat getDateFormat() {
+ return DATE_FORMAT;
+ }
+ }
+
+ private class WakeLockLogHandler extends Handler {
+ WakeLockLogHandler(Looper looper) {
+ super(looper);
+ }
+
+ @Override
+ public void handleMessage(Message message) {
+ switch(message.what) {
+ case MSG_ON_WAKE_LOCK_EVENT:
+ final SomeArgs args = (SomeArgs) message.obj;
+ final String tag = (String) args.arg1;
+ final int eventType = args.argi1;
+ final int ownerUid = args.argi2;
+ final int flags = args.argi3;
+ final long time = (((long) args.argi4) << 32) + (args.argi5 & 0xFFFFFFFFL);
+ args.recycle();
+ handleWakeLockEventInternal(eventType, tag, ownerUid, flags, time);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/protolog/ProtoLogImpl.java b/services/core/java/com/android/server/protolog/ProtoLogImpl.java
index 1653b3d2ae28..c9d42c854b54 100644
--- a/services/core/java/com/android/server/protolog/ProtoLogImpl.java
+++ b/services/core/java/com/android/server/protolog/ProtoLogImpl.java
@@ -38,7 +38,7 @@ import android.util.proto.ProtoOutputStream;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.protolog.common.IProtoLogGroup;
import com.android.server.protolog.common.LogDataType;
-import com.android.server.utils.TraceBuffer;
+import com.android.internal.util.TraceBuffer;
import com.android.server.wm.ProtoLogGroup;
import java.io.File;
diff --git a/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java b/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java
index e6e6e23bf714..e77839c4e5b5 100644
--- a/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java
+++ b/services/core/java/com/android/server/rollback/AppDataRollbackHelper.java
@@ -26,6 +26,7 @@ import android.util.SparseLongArray;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.server.pm.ApexManager;
import com.android.server.pm.Installer;
import com.android.server.pm.Installer.InstallerException;
@@ -42,9 +43,17 @@ public class AppDataRollbackHelper {
private static final String TAG = "RollbackManager";
private final Installer mInstaller;
+ private final ApexManager mApexManager;
public AppDataRollbackHelper(Installer installer) {
mInstaller = installer;
+ mApexManager = ApexManager.getInstance();
+ }
+
+ @VisibleForTesting
+ AppDataRollbackHelper(Installer installer, ApexManager apexManager) {
+ mInstaller = installer;
+ mApexManager = apexManager;
}
/**
@@ -55,7 +64,7 @@ public class AppDataRollbackHelper {
@GuardedBy("rollback.mLock")
// TODO(b/136241838): Move into Rollback and synchronize there.
public void snapshotAppData(
- int snapshotId, PackageRollbackInfo packageRollbackInfo, int[] userIds) {
+ int rollbackId, PackageRollbackInfo packageRollbackInfo, int[] userIds) {
for (int user : userIds) {
final int storageFlags;
if (isUserCredentialLocked(user)) {
@@ -68,16 +77,7 @@ public class AppDataRollbackHelper {
storageFlags = Installer.FLAG_STORAGE_CE | Installer.FLAG_STORAGE_DE;
}
- try {
- long ceSnapshotInode = mInstaller.snapshotAppData(
- packageRollbackInfo.getPackageName(), user, snapshotId, storageFlags);
- if ((storageFlags & Installer.FLAG_STORAGE_CE) != 0) {
- packageRollbackInfo.putCeSnapshotInode(user, ceSnapshotInode);
- }
- } catch (InstallerException ie) {
- Slog.e(TAG, "Unable to create app data snapshot for: "
- + packageRollbackInfo.getPackageName() + ", userId: " + user, ie);
- }
+ doSnapshot(packageRollbackInfo, user, rollbackId, storageFlags);
}
}
@@ -119,26 +119,82 @@ public class AppDataRollbackHelper {
}
}
- try {
+ doRestoreOrWipe(packageRollbackInfo, userId, rollbackId, appId, seInfo, storageFlags);
+
+ return changedRollback;
+ }
+
+ private boolean doSnapshot(
+ PackageRollbackInfo packageRollbackInfo, int userId, int rollbackId, int flags) {
+ if (packageRollbackInfo.isApex()) {
+ // For APEX, only snapshot CE here
+ if ((flags & Installer.FLAG_STORAGE_CE) != 0) {
+ long ceSnapshotInode = mApexManager.snapshotCeData(
+ userId, rollbackId, packageRollbackInfo.getPackageName());
+ if (ceSnapshotInode > 0) {
+ packageRollbackInfo.putCeSnapshotInode(userId, ceSnapshotInode);
+ } else {
+ return false;
+ }
+ }
+ } else {
+ // APK
+ try {
+ long ceSnapshotInode = mInstaller.snapshotAppData(
+ packageRollbackInfo.getPackageName(), userId, rollbackId, flags);
+ if ((flags & Installer.FLAG_STORAGE_CE) != 0) {
+ packageRollbackInfo.putCeSnapshotInode(userId, ceSnapshotInode);
+ }
+ } catch (InstallerException ie) {
+ Slog.e(TAG, "Unable to create app data snapshot for: "
+ + packageRollbackInfo.getPackageName() + ", userId: " + userId, ie);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private boolean doRestoreOrWipe(PackageRollbackInfo packageRollbackInfo, int userId,
+ int rollbackId, int appId, String seInfo, int flags) {
+ if (packageRollbackInfo.isApex()) {
switch (packageRollbackInfo.getRollbackDataPolicy()) {
case PackageManager.RollbackDataPolicy.WIPE:
- mInstaller.clearAppData(null, packageRollbackInfo.getPackageName(),
- userId, storageFlags, 0);
+ // TODO: Implement WIPE for apex CE data
break;
case PackageManager.RollbackDataPolicy.RESTORE:
- mInstaller.restoreAppDataSnapshot(packageRollbackInfo.getPackageName(), appId,
- seInfo, userId, rollbackId, storageFlags);
+ // For APEX, only restore of CE may be done here.
+ if ((flags & Installer.FLAG_STORAGE_CE) != 0) {
+ mApexManager.restoreCeData(
+ userId, rollbackId, packageRollbackInfo.getPackageName());
+ }
break;
default:
break;
}
- } catch (InstallerException ie) {
- Slog.e(TAG, "Unable to restore/wipe app data: "
- + packageRollbackInfo.getPackageName() + " policy="
- + packageRollbackInfo.getRollbackDataPolicy(), ie);
- }
+ } else {
+ // APK
+ try {
+ switch (packageRollbackInfo.getRollbackDataPolicy()) {
+ case PackageManager.RollbackDataPolicy.WIPE:
+ mInstaller.clearAppData(null, packageRollbackInfo.getPackageName(),
+ userId, flags, 0);
+ break;
+ case PackageManager.RollbackDataPolicy.RESTORE:
- return changedRollback;
+ mInstaller.restoreAppDataSnapshot(packageRollbackInfo.getPackageName(),
+ appId, seInfo, userId, rollbackId, flags);
+ break;
+ default:
+ break;
+ }
+ } catch (InstallerException ie) {
+ Slog.e(TAG, "Unable to restore/wipe app data: "
+ + packageRollbackInfo.getPackageName() + " policy="
+ + packageRollbackInfo.getRollbackDataPolicy(), ie);
+ return false;
+ }
+ }
+ return true;
}
/**
@@ -204,40 +260,15 @@ public class AppDataRollbackHelper {
if (hasPendingBackup) {
int idx = pendingBackupUsers.indexOf(userId);
- try {
- long ceSnapshotInode = mInstaller.snapshotAppData(info.getPackageName(),
- userId, rollback.info.getRollbackId(),
- Installer.FLAG_STORAGE_CE);
- info.putCeSnapshotInode(userId, ceSnapshotInode);
+ if (doSnapshot(
+ info, userId, rollback.info.getRollbackId(), Installer.FLAG_STORAGE_CE)) {
pendingBackupUsers.remove(idx);
- } catch (InstallerException ie) {
- Slog.e(TAG,
- "Unable to create app data snapshot for: "
- + info.getPackageName() + ", userId: " + userId, ie);
}
}
- if (hasPendingRestore) {
- try {
- switch (info.getRollbackDataPolicy()) {
- case PackageManager.RollbackDataPolicy.WIPE:
- mInstaller.clearAppData(null, info.getPackageName(), userId,
- Installer.FLAG_STORAGE_CE, 0);
- break;
- case PackageManager.RollbackDataPolicy.RESTORE:
- mInstaller.restoreAppDataSnapshot(info.getPackageName(), ri.appId,
- ri.seInfo, userId, rollback.info.getRollbackId(),
- Installer.FLAG_STORAGE_CE);
- break;
- default:
- break;
- }
- info.removeRestoreInfo(ri);
- } catch (InstallerException ie) {
- Slog.e(TAG, "Unable to restore/wipe app data for: "
- + info.getPackageName() + " policy="
- + info.getRollbackDataPolicy(), ie);
- }
+ if (hasPendingRestore && doRestoreOrWipe(info, userId, rollback.info.getRollbackId(),
+ ri.appId, ri.seInfo, Installer.FLAG_STORAGE_CE)) {
+ info.removeRestoreInfo(ri);
}
}
return foundBackupOrRestore;
diff --git a/services/core/java/com/android/server/rollback/Rollback.java b/services/core/java/com/android/server/rollback/Rollback.java
index cb583cd42412..bf7413b64588 100644
--- a/services/core/java/com/android/server/rollback/Rollback.java
+++ b/services/core/java/com/android/server/rollback/Rollback.java
@@ -44,6 +44,7 @@ import android.util.SparseLongArray;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.IndentingPrintWriter;
+import com.android.server.pm.ApexManager;
import java.io.File;
import java.io.IOException;
@@ -186,6 +187,14 @@ class Rollback {
private final int[] mPackageSessionIds;
/**
+ * The number of sessions in the install which are notified with success by
+ * {@link PackageInstaller.SessionCallback#onFinished(int, boolean)}.
+ * This rollback will be enabled only after all child sessions finished with success.
+ */
+ @GuardedBy("mLock")
+ private int mNumPackageSessionsWithSuccess;
+
+ /**
* Constructs a new, empty Rollback instance.
*
* @param rollbackId the id of the rollback.
@@ -651,15 +660,23 @@ class Rollback {
*/
void delete(AppDataRollbackHelper dataHelper) {
synchronized (mLock) {
+ boolean containsApex = false;
for (PackageRollbackInfo pkgInfo : info.getPackages()) {
- IntArray snapshottedUsers = pkgInfo.getSnapshottedUsers();
- for (int i = 0; i < snapshottedUsers.size(); i++) {
- // Destroy app data snapshot.
- int userId = snapshottedUsers.get(i);
-
- dataHelper.destroyAppDataSnapshot(info.getRollbackId(), pkgInfo, userId);
+ if (pkgInfo.isApex()) {
+ containsApex = true;
+ } else {
+ IntArray snapshottedUsers = pkgInfo.getSnapshottedUsers();
+ for (int i = 0; i < snapshottedUsers.size(); i++) {
+ // Destroy app data snapshot.
+ int userId = snapshottedUsers.get(i);
+
+ dataHelper.destroyAppDataSnapshot(info.getRollbackId(), pkgInfo, userId);
+ }
}
}
+ if (containsApex) {
+ ApexManager.getInstance().destroyDeSnapshots(info.getRollbackId());
+ }
RollbackStore.deleteRollback(this);
mState = ROLLBACK_STATE_DELETED;
@@ -831,6 +848,17 @@ class Rollback {
return mPackageSessionIds.length;
}
+ /**
+ * Called when a child session finished with success.
+ * Returns true when all child sessions are notified with success. This rollback will be
+ * enabled only after all child sessions finished with success.
+ */
+ boolean notifySessionWithSuccess() {
+ synchronized (mLock) {
+ return ++mNumPackageSessionsWithSuccess == mPackageSessionIds.length;
+ }
+ }
+
static String rollbackStateToString(@RollbackState int state) {
switch (state) {
case Rollback.ROLLBACK_STATE_ENABLING: return "enabling";
diff --git a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
index 4bab22478e6a..3fa114e3b7a3 100644
--- a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
+++ b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
@@ -52,6 +52,7 @@ import android.os.UserManager;
import android.provider.DeviceConfig;
import android.util.ArraySet;
import android.util.IntArray;
+import android.util.Log;
import android.util.LongArrayQueue;
import android.util.Slog;
import android.util.SparseBooleanArray;
@@ -94,7 +95,7 @@ import java.util.concurrent.TimeUnit;
class RollbackManagerServiceImpl extends IRollbackManager.Stub {
private static final String TAG = "RollbackManager";
- private static final boolean LOCAL_LOGV = false;
+ private static final boolean LOCAL_LOGV = Log.isLoggable(TAG, Log.VERBOSE);
// Rollbacks expire after 14 days.
private static final long DEFAULT_ROLLBACK_LIFETIME_DURATION_MILLIS =
@@ -122,7 +123,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
// Rollbacks we are in the process of enabling.
@GuardedBy("mLock")
- private final Set<NewRollback> mNewRollbacks = new ArraySet<>();
+ private final Set<Rollback> mNewRollbacks = new ArraySet<>();
// The list of all rollbacks, including available and committed rollbacks.
@GuardedBy("mLock")
@@ -239,16 +240,16 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
Slog.v(TAG, "broadcast=ACTION_CANCEL_ENABLE_ROLLBACK token=" + token);
}
synchronized (mLock) {
- NewRollback found = null;
- for (NewRollback newRollback : mNewRollbacks) {
- if (newRollback.rollback.hasToken(token)) {
+ Rollback found = null;
+ for (Rollback newRollback : mNewRollbacks) {
+ if (newRollback.hasToken(token)) {
found = newRollback;
break;
}
}
if (found != null) {
mNewRollbacks.remove(found);
- found.rollback.delete(mAppDataRollbackHelper);
+ found.delete(mAppDataRollbackHelper);
}
}
}
@@ -441,12 +442,12 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
rollback.delete(mAppDataRollbackHelper);
}
}
- Iterator<NewRollback> iter2 = mNewRollbacks.iterator();
+ Iterator<Rollback> iter2 = mNewRollbacks.iterator();
while (iter2.hasNext()) {
- NewRollback newRollback = iter2.next();
- if (newRollback.rollback.includesPackage(packageName)) {
+ Rollback newRollback = iter2.next();
+ if (newRollback.includesPackage(packageName)) {
iter2.remove();
- newRollback.rollback.delete(mAppDataRollbackHelper);
+ newRollback.delete(mAppDataRollbackHelper);
}
}
@@ -801,7 +802,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
}
}
- NewRollback newRollback;
+ Rollback newRollback;
synchronized (mLock) {
// See if we already have a NewRollback that contains this package
// session. If not, create a NewRollback for the parent session
@@ -812,9 +813,9 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
mNewRollbacks.add(newRollback);
}
}
- newRollback.rollback.addToken(token);
+ newRollback.addToken(token);
- return enableRollbackForPackageSession(newRollback.rollback, packageSession);
+ return enableRollbackForPackageSession(newRollback, packageSession);
}
@WorkerThread
@@ -824,12 +825,12 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
}
synchronized (mLock) {
- NewRollback newRollback = getNewRollbackForPackageSessionLocked(sessionId);
+ Rollback newRollback = getNewRollbackForPackageSessionLocked(sessionId);
if (newRollback != null) {
- Slog.w(TAG, "Delete new rollback id=" + newRollback.rollback.info.getRollbackId()
+ Slog.w(TAG, "Delete new rollback id=" + newRollback.info.getRollbackId()
+ " for session id=" + sessionId);
mNewRollbacks.remove(newRollback);
- newRollback.rollback.delete(mAppDataRollbackHelper);
+ newRollback.delete(mAppDataRollbackHelper);
}
Iterator<Rollback> iter = mRollbacks.iterator();
while (iter.hasNext()) {
@@ -971,9 +972,8 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
rollback.snapshotUserData(packageName, userIds, mAppDataRollbackHelper);
}
// non-staged installs
- for (NewRollback rollback : mNewRollbacks) {
- rollback.rollback.snapshotUserData(
- packageName, userIds, mAppDataRollbackHelper);
+ for (Rollback rollback : mNewRollbacks) {
+ rollback.snapshotUserData(packageName, userIds, mAppDataRollbackHelper);
}
}
}
@@ -1015,13 +1015,13 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
return;
}
- NewRollback newRollback;
+ Rollback newRollback;
synchronized (mLock) {
newRollback = createNewRollbackLocked(session);
}
if (!session.isMultiPackage()) {
- if (!enableRollbackForPackageSession(newRollback.rollback, session)) {
+ if (!enableRollbackForPackageSession(newRollback, session)) {
Slog.e(TAG, "Unable to enable rollback for session: " + sessionId);
result.offer(-1);
return;
@@ -1035,7 +1035,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
result.offer(-1);
return;
}
- if (!enableRollbackForPackageSession(newRollback.rollback, childSession)) {
+ if (!enableRollbackForPackageSession(newRollback, childSession)) {
Slog.e(TAG, "Unable to enable rollback for session: " + sessionId);
result.offer(-1);
return;
@@ -1196,7 +1196,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
}
if (success) {
- NewRollback newRollback;
+ Rollback newRollback;
synchronized (mLock) {
newRollback = getNewRollbackForPackageSessionLocked(sessionId);
if (newRollback != null && newRollback.notifySessionWithSuccess()) {
@@ -1228,8 +1228,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
* or null on error.
*/
@WorkerThread
- private Rollback completeEnableRollback(NewRollback newRollback) {
- Rollback rollback = newRollback.rollback;
+ private Rollback completeEnableRollback(Rollback rollback) {
if (LOCAL_LOGV) {
Slog.v(TAG, "completeEnableRollback id=" + rollback.info.getRollbackId());
}
@@ -1340,38 +1339,9 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
}
}
- private static class NewRollback {
- public final Rollback rollback;
-
- /**
- * The number of sessions in the install which are notified with success by
- * {@link PackageInstaller.SessionCallback#onFinished(int, boolean)}.
- * This NewRollback will be enabled only after all child sessions finished with success.
- */
- @GuardedBy("mNewRollbackLock")
- private int mNumPackageSessionsWithSuccess;
-
- private final Object mNewRollbackLock = new Object();
-
- NewRollback(Rollback rollback) {
- this.rollback = rollback;
- }
-
- /**
- * Called when a child session finished with success.
- * Returns true when all child sessions are notified with success. This NewRollback will be
- * enabled only after all child sessions finished with success.
- */
- boolean notifySessionWithSuccess() {
- synchronized (mNewRollbackLock) {
- return ++mNumPackageSessionsWithSuccess == rollback.getPackageSessionIdCount();
- }
- }
- }
-
@WorkerThread
@GuardedBy("mLock")
- private NewRollback createNewRollbackLocked(PackageInstaller.SessionInfo parentSession) {
+ private Rollback createNewRollbackLocked(PackageInstaller.SessionInfo parentSession) {
int rollbackId = allocateRollbackIdLocked();
final int userId;
if (parentSession.getUser() == UserHandle.ALL) {
@@ -1403,7 +1373,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
installerPackageName, packageSessionIds);
}
- return new NewRollback(rollback);
+ return rollback;
}
/**
@@ -1413,11 +1383,11 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
*/
@WorkerThread
@GuardedBy("mLock")
- NewRollback getNewRollbackForPackageSessionLocked(int packageSessionId) {
+ Rollback getNewRollbackForPackageSessionLocked(int packageSessionId) {
// We expect mNewRollbacks to be a very small list; linear search
// should be plenty fast.
- for (NewRollback newRollback: mNewRollbacks) {
- if (newRollback.rollback.containsSessionId(packageSessionId)) {
+ for (Rollback newRollback: mNewRollbacks) {
+ if (newRollback.containsSessionId(packageSessionId)) {
return newRollback;
}
}
diff --git a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
index 951f1a4663f1..8d090f1b6fce 100644
--- a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
+++ b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
@@ -16,19 +16,13 @@
package com.android.server.rollback;
-import static android.util.StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_CRASH;
-import static android.util.StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_NOT_RESPONDING;
-import static android.util.StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_EXPLICIT_HEALTH_CHECK;
-import static android.util.StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_NATIVE_CRASH;
-import static android.util.StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN;
+import static com.android.internal.util.FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN;
-import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageManager;
import android.content.pm.VersionedPackage;
@@ -44,9 +38,9 @@ import android.os.SystemProperties;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.PackageWatchdog;
import com.android.server.PackageWatchdog.FailureReasons;
import com.android.server.PackageWatchdog.PackageHealthObserver;
@@ -75,8 +69,6 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
private static final String TAG = "RollbackPackageHealthObserver";
private static final String NAME = "rollback-observer";
- private static final String LOGGING_PARENT_KEY = "android.content.pm.LOGGING_PARENT";
-
private final Context mContext;
private final Handler mHandler;
private final File mLastStagedRollbackIdsFile;
@@ -162,67 +154,8 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
Iterator<Integer> rollbackIterator = rollbackIds.iterator();
while (rollbackIterator.hasNext()) {
int rollbackId = rollbackIterator.next();
- logRollbackStatusOnBoot(rollbackId, rollbackManager.getRecentlyCommittedRollbacks());
- }
- }
-
- private void logRollbackStatusOnBoot(int rollbackId,
- List<RollbackInfo> recentlyCommittedRollbacks) {
- PackageInstaller packageInstaller = mContext.getPackageManager().getPackageInstaller();
-
- RollbackInfo rollback = null;
- for (RollbackInfo info : recentlyCommittedRollbacks) {
- if (rollbackId == info.getRollbackId()) {
- rollback = info;
- break;
- }
- }
-
- if (rollback == null) {
- Slog.e(TAG, "rollback info not found for last staged rollback: " + rollbackId);
- return;
- }
-
- // Identify the logging parent for this rollback. When all configurations are correct, each
- // package in the rollback refers to the same logging parent, except for the logging parent
- // itself. If a logging parent is missing for a package, we use the package itself for
- // logging. This might result in over-logging, but we prefer this over no logging.
- final Set<String> loggingPackageNames = new ArraySet<>();
- for (PackageRollbackInfo packageRollback : rollback.getPackages()) {
- final String loggingParentName = getLoggingParentName(packageRollback.getPackageName());
- if (loggingParentName != null) {
- loggingPackageNames.add(loggingParentName);
- } else {
- loggingPackageNames.add(packageRollback.getPackageName());
- }
- }
-
- // Use the version of the logging parent that was installed before
- // we rolled back for logging purposes.
- final List<VersionedPackage> oldLoggingPackages = new ArrayList<>();
- for (PackageRollbackInfo packageRollback : rollback.getPackages()) {
- if (loggingPackageNames.contains(packageRollback.getPackageName())) {
- oldLoggingPackages.add(packageRollback.getVersionRolledBackFrom());
- }
- }
-
- int sessionId = rollback.getCommittedSessionId();
- PackageInstaller.SessionInfo sessionInfo = packageInstaller.getSessionInfo(sessionId);
- if (sessionInfo == null) {
- Slog.e(TAG, "On boot completed, could not load session id " + sessionId);
- return;
- }
-
- for (VersionedPackage oldLoggingPackage : oldLoggingPackages) {
- if (sessionInfo.isStagedSessionApplied()) {
- logEvent(oldLoggingPackage,
- StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
- WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN, "");
- } else if (sessionInfo.isStagedSessionFailed()) {
- logEvent(oldLoggingPackage,
- StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
- WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN, "");
- }
+ WatchdogRollbackLogger.logRollbackStatusOnBoot(
+ mContext, rollbackId, rollbackManager.getRecentlyCommittedRollbacks());
}
}
@@ -255,22 +188,6 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
return null;
}
- @Nullable
- private String getLoggingParentName(String packageName) {
- PackageManager packageManager = mContext.getPackageManager();
- try {
- ApplicationInfo ai = packageManager.getApplicationInfo(packageName,
- PackageManager.GET_META_DATA);
- if (ai.metaData == null) {
- return null;
- }
- return ai.metaData.getString(LOGGING_PARENT_KEY);
- } catch (Exception e) {
- Slog.w(TAG, "Unable to discover logging parent package: " + packageName, e);
- return null;
- }
- }
-
private BroadcastReceiver listenForStagedSessionReady(RollbackManager rollbackManager,
int rollbackId, @Nullable VersionedPackage logPackage) {
BroadcastReceiver sessionUpdatedReceiver = new BroadcastReceiver() {
@@ -306,15 +223,16 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
// successful or not. If logPackage is null, then there is nothing to log.
saveStagedRollbackId(rollbackId);
}
- logEvent(logPackage,
- StatsLog
+ WatchdogRollbackLogger.logEvent(logPackage,
+ FrameworkStatsLog
.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED,
WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN,
"");
} else if (sessionInfo.isStagedSessionFailed()
&& markStagedSessionHandled(rollbackId)) {
- logEvent(logPackage,
- StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
+ WatchdogRollbackLogger.logEvent(logPackage,
+ FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN,
"");
mContext.unregisterReceiver(listener);
@@ -383,47 +301,6 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
}
}
- private static String rollbackTypeToString(int type) {
- switch (type) {
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE:
- return "ROLLBACK_INITIATE";
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS:
- return "ROLLBACK_SUCCESS";
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE:
- return "ROLLBACK_FAILURE";
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED:
- return "ROLLBACK_BOOT_TRIGGERED";
- default:
- return "UNKNOWN";
- }
- }
-
- private static String rollbackReasonToString(int reason) {
- switch (reason) {
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_NATIVE_CRASH:
- return "REASON_NATIVE_CRASH";
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_EXPLICIT_HEALTH_CHECK:
- return "REASON_EXPLICIT_HEALTH_CHECK";
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_CRASH:
- return "REASON_APP_CRASH";
- case StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_NOT_RESPONDING:
- return "REASON_APP_NOT_RESPONDING";
- default:
- return "UNKNOWN";
- }
- }
-
- private static void logEvent(@Nullable VersionedPackage logPackage, int type,
- int rollbackReason, @NonNull String failingPackageName) {
- Slog.i(TAG, "Watchdog event occurred with type: " + rollbackTypeToString(type)
- + " logPackage: " + logPackage
- + " rollbackReason: " + rollbackReasonToString(rollbackReason)
- + " failedPackageName: " + failingPackageName);
- if (logPackage != null) {
- StatsLog.logWatchdogRollbackOccurred(type, logPackage.getPackageName(),
- logPackage.getLongVersionCode(), rollbackReason, failingPackageName);
- }
- }
/**
* Returns true if the package name is the name of a module.
@@ -446,7 +323,7 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
private void rollbackPackage(RollbackInfo rollback, VersionedPackage failedPackage,
@FailureReasons int rollbackReason) {
final RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class);
- int reasonToLog = mapFailureReasonToMetric(rollbackReason);
+ int reasonToLog = WatchdogRollbackLogger.mapFailureReasonToMetric(rollbackReason);
final String failedPackageToLog;
if (rollbackReason == PackageWatchdog.FAILURE_REASON_NATIVE_CRASH) {
failedPackageToLog = SystemProperties.get(
@@ -456,21 +333,12 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
}
VersionedPackage logPackageTemp = null;
if (isModule(failedPackage.getPackageName())) {
- String logPackageName = getLoggingParentName(failedPackage.getPackageName());
- if (logPackageName == null) {
- logPackageName = failedPackage.getPackageName();
- }
- try {
- logPackageTemp = new VersionedPackage(logPackageName, mContext.getPackageManager()
- .getPackageInfo(logPackageName, 0 /* flags */).getLongVersionCode());
- } catch (PackageManager.NameNotFoundException e) {
- logPackageTemp = null;
- }
+ logPackageTemp = WatchdogRollbackLogger.getLogPackage(mContext, failedPackage);
}
final VersionedPackage logPackage = logPackageTemp;
- logEvent(logPackage,
- StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE,
+ WatchdogRollbackLogger.logEvent(logPackage,
+ FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE,
reasonToLog, failedPackageToLog);
final LocalIntentReceiver rollbackReceiver = new LocalIntentReceiver((Intent result) -> {
int status = result.getIntExtra(RollbackManager.EXTRA_STATUS,
@@ -487,16 +355,18 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
handleStagedSessionChange(rollbackManager, rollbackId, listener,
logPackage);
} else {
- logEvent(logPackage,
- StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
+ WatchdogRollbackLogger.logEvent(logPackage,
+ FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
reasonToLog, failedPackageToLog);
}
} else {
if (rollback.isStaged()) {
markStagedSessionHandled(rollback.getRollbackId());
}
- logEvent(logPackage,
- StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
+ WatchdogRollbackLogger.logEvent(logPackage,
+ FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
reasonToLog, failedPackageToLog);
}
});
@@ -527,21 +397,4 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve
rollbackPackage(rollback, sample, PackageWatchdog.FAILURE_REASON_NATIVE_CRASH);
}
}
-
-
- private int mapFailureReasonToMetric(@FailureReasons int failureReason) {
- switch (failureReason) {
- case PackageWatchdog.FAILURE_REASON_NATIVE_CRASH:
- return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_NATIVE_CRASH;
- case PackageWatchdog.FAILURE_REASON_EXPLICIT_HEALTH_CHECK:
- return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_EXPLICIT_HEALTH_CHECK;
- case PackageWatchdog.FAILURE_REASON_APP_CRASH:
- return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_CRASH;
- case PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING:
- return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_NOT_RESPONDING;
- default:
- return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN;
- }
- }
-
}
diff --git a/services/core/java/com/android/server/rollback/WatchdogRollbackLogger.java b/services/core/java/com/android/server/rollback/WatchdogRollbackLogger.java
new file mode 100644
index 000000000000..46ec2f8258ca
--- /dev/null
+++ b/services/core/java/com/android/server/rollback/WatchdogRollbackLogger.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.rollback;
+
+import static com.android.internal.util.FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_CRASH;
+import static com.android.internal.util.FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_NOT_RESPONDING;
+import static com.android.internal.util.FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_EXPLICIT_HEALTH_CHECK;
+import static com.android.internal.util.FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_NATIVE_CRASH;
+import static com.android.internal.util.FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInstaller;
+import android.content.pm.PackageManager;
+import android.content.pm.VersionedPackage;
+import android.content.rollback.PackageRollbackInfo;
+import android.content.rollback.RollbackInfo;
+import android.util.ArraySet;
+import android.util.Slog;
+import android.util.StatsLog;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.FrameworkStatsLog;
+import com.android.server.PackageWatchdog;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * This class handles the logic for logging Watchdog-triggered rollback events.
+ */
+public final class WatchdogRollbackLogger {
+ private static final String TAG = "WatchdogRollbackLogger";
+
+ private static final String LOGGING_PARENT_KEY = "android.content.pm.LOGGING_PARENT";
+
+ private WatchdogRollbackLogger() {
+ }
+
+ @Nullable
+ private static String getLoggingParentName(Context context, @NonNull String packageName) {
+ PackageManager packageManager = context.getPackageManager();
+ try {
+ ApplicationInfo ai = packageManager.getApplicationInfo(packageName,
+ PackageManager.GET_META_DATA);
+ if (ai.metaData == null) {
+ return null;
+ }
+ return ai.metaData.getString(LOGGING_PARENT_KEY);
+ } catch (Exception e) {
+ Slog.w(TAG, "Unable to discover logging parent package: " + packageName, e);
+ return null;
+ }
+ }
+
+ /**
+ * Returns the logging parent of a given package if it exists, {@code null} otherwise.
+ *
+ * The logging parent is defined by the {@code android.content.pm.LOGGING_PARENT} field in the
+ * metadata of a package's AndroidManifest.xml.
+ */
+ @VisibleForTesting
+ @Nullable
+ static VersionedPackage getLogPackage(Context context,
+ @NonNull VersionedPackage failingPackage) {
+ String logPackageName;
+ VersionedPackage loggingParent;
+ logPackageName = getLoggingParentName(context, failingPackage.getPackageName());
+ if (logPackageName == null) {
+ return null;
+ }
+ try {
+ loggingParent = new VersionedPackage(logPackageName, context.getPackageManager()
+ .getPackageInfo(logPackageName, 0 /* flags */).getLongVersionCode());
+ } catch (PackageManager.NameNotFoundException e) {
+ return null;
+ }
+ return loggingParent;
+ }
+
+ static void logRollbackStatusOnBoot(Context context, int rollbackId,
+ List<RollbackInfo> recentlyCommittedRollbacks) {
+ PackageInstaller packageInstaller = context.getPackageManager().getPackageInstaller();
+
+ RollbackInfo rollback = null;
+ for (RollbackInfo info : recentlyCommittedRollbacks) {
+ if (rollbackId == info.getRollbackId()) {
+ rollback = info;
+ break;
+ }
+ }
+
+ if (rollback == null) {
+ Slog.e(TAG, "rollback info not found for last staged rollback: " + rollbackId);
+ return;
+ }
+
+ // Identify the logging parent for this rollback. When all configurations are correct,
+ // each package in the rollback has a logging parent set in metadata.
+ final Set<String> loggingPackageNames = new ArraySet<>();
+ for (PackageRollbackInfo packageRollback : rollback.getPackages()) {
+ final String loggingParentName = getLoggingParentName(context,
+ packageRollback.getPackageName());
+ if (loggingParentName != null) {
+ loggingPackageNames.add(loggingParentName);
+ }
+ }
+
+ // Use the version of the logging parent that was installed before
+ // we rolled back for logging purposes.
+ final List<VersionedPackage> oldLoggingPackages = new ArrayList<>();
+ for (PackageRollbackInfo packageRollback : rollback.getPackages()) {
+ if (loggingPackageNames.contains(packageRollback.getPackageName())) {
+ oldLoggingPackages.add(packageRollback.getVersionRolledBackFrom());
+ }
+ }
+
+ int sessionId = rollback.getCommittedSessionId();
+ PackageInstaller.SessionInfo sessionInfo = packageInstaller.getSessionInfo(sessionId);
+ if (sessionInfo == null) {
+ Slog.e(TAG, "On boot completed, could not load session id " + sessionId);
+ return;
+ }
+
+ for (VersionedPackage oldLoggingPackage : oldLoggingPackages) {
+ if (sessionInfo.isStagedSessionApplied()) {
+ logEvent(oldLoggingPackage,
+ FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
+ WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN, "");
+ } else if (sessionInfo.isStagedSessionFailed()) {
+ logEvent(oldLoggingPackage,
+ FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
+ WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN, "");
+ }
+ }
+ }
+
+ /**
+ * Log a Watchdog rollback event to statsd.
+ *
+ * @param logPackage the package to associate the rollback with.
+ * @param type the state of the rollback.
+ * @param rollbackReason the reason Watchdog triggered a rollback, if known.
+ * @param failingPackageName the failing package or process which triggered the rollback.
+ */
+ public static void logEvent(@Nullable VersionedPackage logPackage, int type,
+ int rollbackReason, @NonNull String failingPackageName) {
+ Slog.i(TAG, "Watchdog event occurred with type: " + rollbackTypeToString(type)
+ + " logPackage: " + logPackage
+ + " rollbackReason: " + rollbackReasonToString(rollbackReason)
+ + " failedPackageName: " + failingPackageName);
+ if (logPackage != null) {
+ StatsLog.logWatchdogRollbackOccurred(type, logPackage.getPackageName(),
+ logPackage.getVersionCode(), rollbackReason, failingPackageName);
+ } else {
+ // In the case that the log package is null, still log an empty string as an
+ // indication that retrieving the logging parent failed.
+ StatsLog.logWatchdogRollbackOccurred(type, "", 0, rollbackReason, failingPackageName);
+ }
+ }
+
+ @VisibleForTesting
+ static int mapFailureReasonToMetric(@PackageWatchdog.FailureReasons int failureReason) {
+ switch (failureReason) {
+ case PackageWatchdog.FAILURE_REASON_NATIVE_CRASH:
+ return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_NATIVE_CRASH;
+ case PackageWatchdog.FAILURE_REASON_EXPLICIT_HEALTH_CHECK:
+ return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_EXPLICIT_HEALTH_CHECK;
+ case PackageWatchdog.FAILURE_REASON_APP_CRASH:
+ return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_CRASH;
+ case PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING:
+ return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_NOT_RESPONDING;
+ default:
+ return WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_UNKNOWN;
+ }
+ }
+
+ private static String rollbackTypeToString(int type) {
+ switch (type) {
+ case FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_INITIATE:
+ return "ROLLBACK_INITIATE";
+ case FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS:
+ return "ROLLBACK_SUCCESS";
+ case FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE:
+ return "ROLLBACK_FAILURE";
+ case FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED:
+ return "ROLLBACK_BOOT_TRIGGERED";
+ default:
+ return "UNKNOWN";
+ }
+ }
+
+ private static String rollbackReasonToString(int reason) {
+ switch (reason) {
+ case FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_NATIVE_CRASH:
+ return "REASON_NATIVE_CRASH";
+ case FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_EXPLICIT_HEALTH_CHECK:
+ return "REASON_EXPLICIT_HEALTH_CHECK";
+ case FrameworkStatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_CRASH:
+ return "REASON_APP_CRASH";
+ case FrameworkStatsLog
+ .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_REASON__REASON_APP_NOT_RESPONDING:
+ return "REASON_APP_NOT_RESPONDING";
+ default:
+ return "UNKNOWN";
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/signedconfig/GlobalSettingsConfigApplicator.java b/services/core/java/com/android/server/signedconfig/GlobalSettingsConfigApplicator.java
index d77cf900a0a9..897aa14ebb64 100644
--- a/services/core/java/com/android/server/signedconfig/GlobalSettingsConfigApplicator.java
+++ b/services/core/java/com/android/server/signedconfig/GlobalSettingsConfigApplicator.java
@@ -23,7 +23,8 @@ import android.provider.Settings;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Slog;
-import android.util.StatsLog;
+
+import com.android.internal.util.FrameworkStatsLog;
import java.security.GeneralSecurityException;
import java.util.Arrays;
@@ -82,7 +83,7 @@ class GlobalSettingsConfigApplicator {
return mVerifier.verifySignature(data, signature);
} catch (GeneralSecurityException e) {
Slog.e(TAG, "Failed to verify signature", e);
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__SECURITY_EXCEPTION;
+ mEvent.status = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__SECURITY_EXCEPTION;
return false;
}
}
@@ -116,14 +117,14 @@ class GlobalSettingsConfigApplicator {
mEvent.version = config.version;
} catch (InvalidConfigException e) {
Slog.e(TAG, "Failed to parse global settings from package " + mSourcePackage, e);
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__INVALID_CONFIG;
+ mEvent.status = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__INVALID_CONFIG;
return;
}
int currentVersion = getCurrentConfigVersion();
if (currentVersion >= config.version) {
Slog.i(TAG, "Global settings from package " + mSourcePackage
+ " is older than existing: " + config.version + "<=" + currentVersion);
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__OLD_CONFIG;
+ mEvent.status = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__OLD_CONFIG;
return;
}
// We have new config!
@@ -133,12 +134,12 @@ class GlobalSettingsConfigApplicator {
config.getMatchingConfig(Build.VERSION.SDK_INT);
if (matchedConfig == null) {
Slog.i(TAG, "Settings is not applicable to current SDK version; ignoring");
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__NOT_APPLICABLE;
+ mEvent.status = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__NOT_APPLICABLE;
return;
}
Slog.i(TAG, "Updating global settings to version " + config.version);
updateCurrentConfig(config.version, matchedConfig.values);
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__APPLIED;
+ mEvent.status = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__APPLIED;
}
}
diff --git a/services/core/java/com/android/server/signedconfig/SignatureVerifier.java b/services/core/java/com/android/server/signedconfig/SignatureVerifier.java
index 146c51688531..a85764221de5 100644
--- a/services/core/java/com/android/server/signedconfig/SignatureVerifier.java
+++ b/services/core/java/com/android/server/signedconfig/SignatureVerifier.java
@@ -18,7 +18,8 @@ package com.android.server.signedconfig;
import android.os.Build;
import android.util.Slog;
-import android.util.StatsLog;
+
+import com.android.internal.util.FrameworkStatsLog;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
@@ -96,7 +97,8 @@ public class SignatureVerifier {
try {
signature = Base64.getDecoder().decode(base64Signature);
} catch (IllegalArgumentException e) {
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__BASE64_FAILURE_SIGNATURE;
+ mEvent.status =
+ FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__BASE64_FAILURE_SIGNATURE;
Slog.e(TAG, "Failed to base64 decode signature");
return false;
}
@@ -108,7 +110,8 @@ public class SignatureVerifier {
if (DBG) Slog.w(TAG, "Trying to verify signature using debug key");
if (verifyWithPublicKey(mDebugKey, data, signature)) {
Slog.i(TAG, "Verified config using debug key");
- mEvent.verifiedWith = StatsLog.SIGNED_CONFIG_REPORTED__VERIFIED_WITH__DEBUG;
+ mEvent.verifiedWith =
+ FrameworkStatsLog.SIGNED_CONFIG_REPORTED__VERIFIED_WITH__DEBUG;
return true;
} else {
if (DBG) Slog.i(TAG, "Config verification failed using debug key");
@@ -120,16 +123,19 @@ public class SignatureVerifier {
if (mProdKey == null) {
Slog.e(TAG, "No prod key; construction failed?");
mEvent.status =
- StatsLog.SIGNED_CONFIG_REPORTED__STATUS__SIGNATURE_CHECK_FAILED_PROD_KEY_ABSENT;
+ FrameworkStatsLog
+ .SIGNED_CONFIG_REPORTED__STATUS__SIGNATURE_CHECK_FAILED_PROD_KEY_ABSENT;
return false;
}
if (verifyWithPublicKey(mProdKey, data, signature)) {
Slog.i(TAG, "Verified config using production key");
- mEvent.verifiedWith = StatsLog.SIGNED_CONFIG_REPORTED__VERIFIED_WITH__PRODUCTION;
+ mEvent.verifiedWith =
+ FrameworkStatsLog.SIGNED_CONFIG_REPORTED__VERIFIED_WITH__PRODUCTION;
return true;
} else {
if (DBG) Slog.i(TAG, "Verification failed using production key");
- mEvent.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__SIGNATURE_CHECK_FAILED;
+ mEvent.status =
+ FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__SIGNATURE_CHECK_FAILED;
return false;
}
}
diff --git a/services/core/java/com/android/server/signedconfig/SignedConfigEvent.java b/services/core/java/com/android/server/signedconfig/SignedConfigEvent.java
index 2f2062c6f2ee..c1adf936d79b 100644
--- a/services/core/java/com/android/server/signedconfig/SignedConfigEvent.java
+++ b/services/core/java/com/android/server/signedconfig/SignedConfigEvent.java
@@ -15,24 +15,24 @@
*/
package com.android.server.signedconfig;
-import android.util.StatsLog;
+import com.android.internal.util.FrameworkStatsLog;
/**
* Helper class to allow a SignedConfigReported event to be built up in stages.
*/
public class SignedConfigEvent {
- public int type = StatsLog.SIGNED_CONFIG_REPORTED__TYPE__UNKNOWN_TYPE;
- public int status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__UNKNOWN_STATUS;
+ public int type = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__TYPE__UNKNOWN_TYPE;
+ public int status = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__UNKNOWN_STATUS;
public int version = 0;
public String fromPackage = null;
- public int verifiedWith = StatsLog.SIGNED_CONFIG_REPORTED__VERIFIED_WITH__NO_KEY;
+ public int verifiedWith = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__VERIFIED_WITH__NO_KEY;
/**
* Write this event to statslog.
*/
public void send() {
- StatsLog.write(StatsLog.SIGNED_CONFIG_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.SIGNED_CONFIG_REPORTED,
type, status, version, fromPackage, verifiedWith);
}
diff --git a/services/core/java/com/android/server/signedconfig/SignedConfigService.java b/services/core/java/com/android/server/signedconfig/SignedConfigService.java
index dc39542dc29f..037c82ad6593 100644
--- a/services/core/java/com/android/server/signedconfig/SignedConfigService.java
+++ b/services/core/java/com/android/server/signedconfig/SignedConfigService.java
@@ -26,8 +26,8 @@ import android.content.pm.PackageManagerInternal;
import android.net.Uri;
import android.os.Bundle;
import android.util.Slog;
-import android.util.StatsLog;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.server.LocalServices;
import java.nio.charset.StandardCharsets;
@@ -85,7 +85,7 @@ public class SignedConfigService {
&& metaData.containsKey(KEY_GLOBAL_SETTINGS_SIGNATURE)) {
SignedConfigEvent event = new SignedConfigEvent();
try {
- event.type = StatsLog.SIGNED_CONFIG_REPORTED__TYPE__GLOBAL_SETTINGS;
+ event.type = FrameworkStatsLog.SIGNED_CONFIG_REPORTED__TYPE__GLOBAL_SETTINGS;
event.fromPackage = packageName;
String config = metaData.getString(KEY_GLOBAL_SETTINGS);
String signature = metaData.getString(KEY_GLOBAL_SETTINGS_SIGNATURE);
@@ -95,7 +95,8 @@ public class SignedConfigService {
} catch (IllegalArgumentException iae) {
Slog.e(TAG, "Failed to base64 decode global settings config from "
+ packageName);
- event.status = StatsLog.SIGNED_CONFIG_REPORTED__STATUS__BASE64_FAILURE_CONFIG;
+ event.status =
+ FrameworkStatsLog.SIGNED_CONFIG_REPORTED__STATUS__BASE64_FAILURE_CONFIG;
return;
}
if (DBG) {
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 3aa51fbf2313..96f1219861ec 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -54,6 +54,7 @@ import android.content.pm.UserInfo;
import android.hardware.biometrics.BiometricsProtoEnums;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
+import android.hardware.health.V2_0.IHealth;
import android.net.ConnectivityManager;
import android.net.INetworkStatsService;
import android.net.Network;
@@ -95,7 +96,6 @@ import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.util.StatsEvent;
-import android.util.StatsLog;
import android.util.proto.ProtoOutputStream;
import com.android.internal.annotations.GuardedBy;
@@ -119,6 +119,8 @@ import com.android.internal.os.LooperStats;
import com.android.internal.os.PowerProfile;
import com.android.internal.os.ProcessCpuTracker;
import com.android.internal.os.StoragedUidIoStatsReader;
+import com.android.internal.util.FrameworkStatsLog;
+import com.android.server.BatteryService;
import com.android.server.BinderCallsStatsService;
import com.android.server.LocalServices;
import com.android.server.SystemService;
@@ -239,6 +241,8 @@ public class StatsPullAtomService extends SystemService {
private File mBaseDir;
+ private BatteryService.HealthServiceWrapper mHealthService;
+
@Nullable
private KernelCpuThreadReaderDiff mKernelCpuThreadReader;
@@ -252,6 +256,8 @@ public class StatsPullAtomService extends SystemService {
mContext = context;
}
+ private native void nativeInit();
+
/**
* Use of this StatsPullAtomCallbackImpl means we avoid one class per tagId, which we would
* get if we used lambdas.
@@ -263,116 +269,122 @@ public class StatsPullAtomService extends SystemService {
@Override
public int onPullAtom(int atomTag, List<StatsEvent> data) {
switch(atomTag) {
- case StatsLog.WIFI_BYTES_TRANSFER:
+ case FrameworkStatsLog.WIFI_BYTES_TRANSFER:
return pullWifiBytesTransfer(atomTag, data);
- case StatsLog.WIFI_BYTES_TRANSFER_BY_FG_BG:
+ case FrameworkStatsLog.WIFI_BYTES_TRANSFER_BY_FG_BG:
return pullWifiBytesTransferBackground(atomTag, data);
- case StatsLog.MOBILE_BYTES_TRANSFER:
+ case FrameworkStatsLog.MOBILE_BYTES_TRANSFER:
return pullMobileBytesTransfer(atomTag, data);
- case StatsLog.MOBILE_BYTES_TRANSFER_BY_FG_BG:
+ case FrameworkStatsLog.MOBILE_BYTES_TRANSFER_BY_FG_BG:
return pullMobileBytesTransferBackground(atomTag, data);
- case StatsLog.BLUETOOTH_BYTES_TRANSFER:
+ case FrameworkStatsLog.BLUETOOTH_BYTES_TRANSFER:
return pullBluetoothBytesTransfer(atomTag, data);
- case StatsLog.KERNEL_WAKELOCK:
+ case FrameworkStatsLog.KERNEL_WAKELOCK:
return pullKernelWakelock(atomTag, data);
- case StatsLog.CPU_TIME_PER_FREQ:
+ case FrameworkStatsLog.CPU_TIME_PER_FREQ:
return pullCpuTimePerFreq(atomTag, data);
- case StatsLog.CPU_TIME_PER_UID:
+ case FrameworkStatsLog.CPU_TIME_PER_UID:
return pullCpuTimePerUid(atomTag, data);
- case StatsLog.CPU_TIME_PER_UID_FREQ:
+ case FrameworkStatsLog.CPU_TIME_PER_UID_FREQ:
return pullCpuTimeperUidFreq(atomTag, data);
- case StatsLog.CPU_ACTIVE_TIME:
+ case FrameworkStatsLog.CPU_ACTIVE_TIME:
return pullCpuActiveTime(atomTag, data);
- case StatsLog.CPU_CLUSTER_TIME:
+ case FrameworkStatsLog.CPU_CLUSTER_TIME:
return pullCpuClusterTime(atomTag, data);
- case StatsLog.WIFI_ACTIVITY_INFO:
+ case FrameworkStatsLog.WIFI_ACTIVITY_INFO:
return pullWifiActivityInfo(atomTag, data);
- case StatsLog.MODEM_ACTIVITY_INFO:
+ case FrameworkStatsLog.MODEM_ACTIVITY_INFO:
return pullModemActivityInfo(atomTag, data);
- case StatsLog.BLUETOOTH_ACTIVITY_INFO:
+ case FrameworkStatsLog.BLUETOOTH_ACTIVITY_INFO:
return pullBluetoothActivityInfo(atomTag, data);
- case StatsLog.SYSTEM_ELAPSED_REALTIME:
+ case FrameworkStatsLog.SYSTEM_ELAPSED_REALTIME:
return pullSystemElapsedRealtime(atomTag, data);
- case StatsLog.SYSTEM_UPTIME:
+ case FrameworkStatsLog.SYSTEM_UPTIME:
return pullSystemUptime(atomTag, data);
- case StatsLog.PROCESS_MEMORY_STATE:
+ case FrameworkStatsLog.PROCESS_MEMORY_STATE:
return pullProcessMemoryState(atomTag, data);
- case StatsLog.PROCESS_MEMORY_HIGH_WATER_MARK:
+ case FrameworkStatsLog.PROCESS_MEMORY_HIGH_WATER_MARK:
return pullProcessMemoryHighWaterMark(atomTag, data);
- case StatsLog.PROCESS_MEMORY_SNAPSHOT:
+ case FrameworkStatsLog.PROCESS_MEMORY_SNAPSHOT:
return pullProcessMemorySnapshot(atomTag, data);
- case StatsLog.SYSTEM_ION_HEAP_SIZE:
+ case FrameworkStatsLog.SYSTEM_ION_HEAP_SIZE:
return pullSystemIonHeapSize(atomTag, data);
- case StatsLog.ION_HEAP_SIZE:
+ case FrameworkStatsLog.ION_HEAP_SIZE:
return pullIonHeapSize(atomTag, data);
- case StatsLog.PROCESS_SYSTEM_ION_HEAP_SIZE:
+ case FrameworkStatsLog.PROCESS_SYSTEM_ION_HEAP_SIZE:
return pullProcessSystemIonHeapSize(atomTag, data);
- case StatsLog.TEMPERATURE:
+ case FrameworkStatsLog.TEMPERATURE:
return pullTemperature(atomTag, data);
- case StatsLog.COOLING_DEVICE:
+ case FrameworkStatsLog.COOLING_DEVICE:
return pullCooldownDevice(atomTag, data);
- case StatsLog.BINDER_CALLS:
+ case FrameworkStatsLog.BINDER_CALLS:
return pullBinderCallsStats(atomTag, data);
- case StatsLog.BINDER_CALLS_EXCEPTIONS:
+ case FrameworkStatsLog.BINDER_CALLS_EXCEPTIONS:
return pullBinderCallsStatsExceptions(atomTag, data);
- case StatsLog.LOOPER_STATS:
+ case FrameworkStatsLog.LOOPER_STATS:
return pullLooperStats(atomTag, data);
- case StatsLog.DISK_STATS:
+ case FrameworkStatsLog.DISK_STATS:
return pullDiskStats(atomTag, data);
- case StatsLog.DIRECTORY_USAGE:
+ case FrameworkStatsLog.DIRECTORY_USAGE:
return pullDirectoryUsage(atomTag, data);
- case StatsLog.APP_SIZE:
+ case FrameworkStatsLog.APP_SIZE:
return pullAppSize(atomTag, data);
- case StatsLog.CATEGORY_SIZE:
+ case FrameworkStatsLog.CATEGORY_SIZE:
return pullCategorySize(atomTag, data);
- case StatsLog.NUM_FINGERPRINTS_ENROLLED:
+ case FrameworkStatsLog.NUM_FINGERPRINTS_ENROLLED:
return pullNumBiometricsEnrolled(
BiometricsProtoEnums.MODALITY_FINGERPRINT, atomTag, data);
- case StatsLog.NUM_FACES_ENROLLED:
+ case FrameworkStatsLog.NUM_FACES_ENROLLED:
return pullNumBiometricsEnrolled(
BiometricsProtoEnums.MODALITY_FACE, atomTag, data);
- case StatsLog.PROC_STATS:
+ case FrameworkStatsLog.PROC_STATS:
return pullProcStats(ProcessStats.REPORT_ALL, atomTag, data);
- case StatsLog.PROC_STATS_PKG_PROC:
+ case FrameworkStatsLog.PROC_STATS_PKG_PROC:
return pullProcStats(ProcessStats.REPORT_PKG_PROC_STATS, atomTag, data);
- case StatsLog.DISK_IO:
+ case FrameworkStatsLog.DISK_IO:
return pullDiskIO(atomTag, data);
- case StatsLog.POWER_PROFILE:
+ case FrameworkStatsLog.POWER_PROFILE:
return pullPowerProfile(atomTag, data);
- case StatsLog.PROCESS_CPU_TIME:
+ case FrameworkStatsLog.PROCESS_CPU_TIME:
return pullProcessCpuTime(atomTag, data);
- case StatsLog.CPU_TIME_PER_THREAD_FREQ:
+ case FrameworkStatsLog.CPU_TIME_PER_THREAD_FREQ:
return pullCpuTimePerThreadFreq(atomTag, data);
- case StatsLog.DEVICE_CALCULATED_POWER_USE:
+ case FrameworkStatsLog.DEVICE_CALCULATED_POWER_USE:
return pullDeviceCalculatedPowerUse(atomTag, data);
- case StatsLog.DEVICE_CALCULATED_POWER_BLAME_UID:
+ case FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_UID:
return pullDeviceCalculatedPowerBlameUid(atomTag, data);
- case StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER:
+ case FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER:
return pullDeviceCalculatedPowerBlameOther(atomTag, data);
- case StatsLog.DEBUG_ELAPSED_CLOCK:
+ case FrameworkStatsLog.DEBUG_ELAPSED_CLOCK:
return pullDebugElapsedClock(atomTag, data);
- case StatsLog.DEBUG_FAILING_ELAPSED_CLOCK:
+ case FrameworkStatsLog.DEBUG_FAILING_ELAPSED_CLOCK:
return pullDebugFailingElapsedClock(atomTag, data);
- case StatsLog.BUILD_INFORMATION:
+ case FrameworkStatsLog.BUILD_INFORMATION:
return pullBuildInformation(atomTag, data);
- case StatsLog.ROLE_HOLDER:
+ case FrameworkStatsLog.ROLE_HOLDER:
return pullRoleHolder(atomTag, data);
- case StatsLog.DANGEROUS_PERMISSION_STATE:
+ case FrameworkStatsLog.DANGEROUS_PERMISSION_STATE:
return pullDangerousPermissionState(atomTag, data);
- case StatsLog.TIME_ZONE_DATA_INFO:
+ case FrameworkStatsLog.TIME_ZONE_DATA_INFO:
return pullTimeZoneDataInfo(atomTag, data);
- case StatsLog.EXTERNAL_STORAGE_INFO:
+ case FrameworkStatsLog.EXTERNAL_STORAGE_INFO:
return pullExternalStorageInfo(atomTag, data);
- case StatsLog.APPS_ON_EXTERNAL_STORAGE_INFO:
+ case FrameworkStatsLog.APPS_ON_EXTERNAL_STORAGE_INFO:
return pullAppsOnExternalStorageInfo(atomTag, data);
- case StatsLog.FACE_SETTINGS:
+ case FrameworkStatsLog.FACE_SETTINGS:
return pullFaceSettings(atomTag, data);
- case StatsLog.APP_OPS:
+ case FrameworkStatsLog.APP_OPS:
return pullAppOps(atomTag, data);
- case StatsLog.NOTIFICATION_REMOTE_VIEWS:
+ case FrameworkStatsLog.NOTIFICATION_REMOTE_VIEWS:
return pullNotificationRemoteViews(atomTag, data);
- case StatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED:
+ case FrameworkStatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED:
return pullDangerousPermissionState(atomTag, data);
+ case FrameworkStatsLog.BATTERY_LEVEL:
+ case FrameworkStatsLog.REMAINING_BATTERY_CAPACITY:
+ case FrameworkStatsLog.FULL_BATTERY_CAPACITY:
+ case FrameworkStatsLog.BATTERY_VOLTAGE:
+ case FrameworkStatsLog.BATTERY_CYCLE_COUNT:
+ return pullHealthHal(atomTag, data);
default:
throw new UnsupportedOperationException("Unknown tagId=" + atomTag);
}
@@ -389,6 +401,7 @@ public class StatsPullAtomService extends SystemService {
super.onBootPhase(phase);
if (phase == PHASE_SYSTEM_SERVICES_READY) {
BackgroundThread.getHandler().post(() -> {
+ nativeInit();
initializePullersState();
registerAllPullers();
registerEventListeners();
@@ -438,6 +451,14 @@ public class StatsPullAtomService extends SystemService {
// Used by PROC_STATS and PROC_STATS_PKG_PROC atoms
mBaseDir.mkdirs();
+
+ // Initialize HealthService
+ mHealthService = new BatteryService.HealthServiceWrapper();
+ try {
+ mHealthService.init();
+ } catch (RemoteException e) {
+ Slog.e(TAG, "failed to initialize healthHalWrapper");
+ }
}
void registerEventListeners() {
@@ -519,6 +540,11 @@ public class StatsPullAtomService extends SystemService {
registerNotificationRemoteViews();
registerDangerousPermissionState();
registerDangerousPermissionStateSampled();
+ registerBatteryLevel();
+ registerRemainingBatteryCapacity();
+ registerFullBatteryCapacity();
+ registerBatteryVoltage();
+ registerBatteryCycleCount();
}
private INetworkStatsService getINetworkStatsService() {
@@ -633,7 +659,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerWifiBytesTransfer() {
- int tagId = StatsLog.WIFI_BYTES_TRANSFER;
+ int tagId = FrameworkStatsLog.WIFI_BYTES_TRANSFER;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {2, 3, 4, 5})
.build();
@@ -725,7 +751,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerWifiBytesTransferBackground() {
- int tagId = StatsLog.WIFI_BYTES_TRANSFER_BY_FG_BG;
+ int tagId = FrameworkStatsLog.WIFI_BYTES_TRANSFER_BY_FG_BG;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {3, 4, 5, 6})
.build();
@@ -763,7 +789,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerMobileBytesTransfer() {
- int tagId = StatsLog.MOBILE_BYTES_TRANSFER;
+ int tagId = FrameworkStatsLog.MOBILE_BYTES_TRANSFER;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {2, 3, 4, 5})
.build();
@@ -801,7 +827,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerMobileBytesTransferBackground() {
- int tagId = StatsLog.MOBILE_BYTES_TRANSFER_BY_FG_BG;
+ int tagId = FrameworkStatsLog.MOBILE_BYTES_TRANSFER_BY_FG_BG;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {3, 4, 5, 6})
.build();
@@ -839,7 +865,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerBluetoothBytesTransfer() {
- int tagId = StatsLog.BLUETOOTH_BYTES_TRANSFER;
+ int tagId = FrameworkStatsLog.BLUETOOTH_BYTES_TRANSFER;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {2, 3})
.build();
@@ -873,7 +899,6 @@ public class StatsPullAtomService extends SystemService {
return data;
}
}
- Slog.e(TAG, "no controller energy info supplied for " + receiver.getName());
} catch (TimeoutException e) {
Slog.w(TAG, "timeout reading " + receiver.getName() + " stats");
}
@@ -912,7 +937,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerKernelWakelock() {
- int tagId = StatsLog.KERNEL_WAKELOCK;
+ int tagId = FrameworkStatsLog.KERNEL_WAKELOCK;
mStatsManager.registerPullAtomCallback(
tagId,
/* PullAtomMetadata */ null,
@@ -940,7 +965,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerCpuTimePerFreq() {
- int tagId = StatsLog.CPU_TIME_PER_FREQ;
+ int tagId = FrameworkStatsLog.CPU_TIME_PER_FREQ;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {3})
.build();
@@ -971,7 +996,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerCpuTimePerUid() {
- int tagId = StatsLog.CPU_TIME_PER_UID;
+ int tagId = FrameworkStatsLog.CPU_TIME_PER_UID;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {2, 3})
.build();
@@ -1000,7 +1025,7 @@ public class StatsPullAtomService extends SystemService {
private void registerCpuTimePerUidFreq() {
// the throttling is 3sec, handled in
// frameworks/base/core/java/com/android/internal/os/KernelCpuProcReader
- int tagId = StatsLog.CPU_TIME_PER_UID_FREQ;
+ int tagId = FrameworkStatsLog.CPU_TIME_PER_UID_FREQ;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {4})
.build();
@@ -1032,7 +1057,7 @@ public class StatsPullAtomService extends SystemService {
private void registerCpuActiveTime() {
// the throttling is 3sec, handled in
// frameworks/base/core/java/com/android/internal/os/KernelCpuProcReader
- int tagId = StatsLog.CPU_ACTIVE_TIME;
+ int tagId = FrameworkStatsLog.CPU_ACTIVE_TIME;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {2})
.build();
@@ -1059,7 +1084,7 @@ public class StatsPullAtomService extends SystemService {
private void registerCpuClusterTime() {
// the throttling is 3sec, handled in
// frameworks/base/core/java/com/android/internal/os/KernelCpuProcReader
- int tagId = StatsLog.CPU_CLUSTER_TIME;
+ int tagId = FrameworkStatsLog.CPU_CLUSTER_TIME;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {3})
.build();
@@ -1087,7 +1112,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerWifiActivityInfo() {
- int tagId = StatsLog.WIFI_ACTIVITY_INFO;
+ int tagId = FrameworkStatsLog.WIFI_ACTIVITY_INFO;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1139,7 +1164,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerModemActivityInfo() {
- int tagId = StatsLog.MODEM_ACTIVITY_INFO;
+ int tagId = FrameworkStatsLog.MODEM_ACTIVITY_INFO;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1177,7 +1202,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerBluetoothActivityInfo() {
- int tagId = StatsLog.BLUETOOTH_ACTIVITY_INFO;
+ int tagId = FrameworkStatsLog.BLUETOOTH_ACTIVITY_INFO;
mStatsManager.registerPullAtomCallback(
tagId,
/* metadata */ null,
@@ -1205,7 +1230,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerSystemElapsedRealtime() {
- int tagId = StatsLog.SYSTEM_ELAPSED_REALTIME;
+ int tagId = FrameworkStatsLog.SYSTEM_ELAPSED_REALTIME;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setCoolDownNs(NS_PER_SEC)
.setTimeoutNs(NS_PER_SEC / 2)
@@ -1228,7 +1253,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerSystemUptime() {
- int tagId = StatsLog.SYSTEM_UPTIME;
+ int tagId = FrameworkStatsLog.SYSTEM_UPTIME;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1247,7 +1272,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcessMemoryState() {
- int tagId = StatsLog.PROCESS_MEMORY_STATE;
+ int tagId = FrameworkStatsLog.PROCESS_MEMORY_STATE;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {4, 5, 6, 7, 8})
.build();
@@ -1293,7 +1318,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcessMemoryHighWaterMark() {
- int tagId = StatsLog.PROCESS_MEMORY_HIGH_WATER_MARK;
+ int tagId = FrameworkStatsLog.PROCESS_MEMORY_HIGH_WATER_MARK;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1346,7 +1371,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcessMemorySnapshot() {
- int tagId = StatsLog.PROCESS_MEMORY_SNAPSHOT;
+ int tagId = FrameworkStatsLog.PROCESS_MEMORY_SNAPSHOT;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1406,7 +1431,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerSystemIonHeapSize() {
- int tagId = StatsLog.SYSTEM_ION_HEAP_SIZE;
+ int tagId = FrameworkStatsLog.SYSTEM_ION_HEAP_SIZE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1426,7 +1451,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerIonHeapSize() {
- int tagId = StatsLog.ION_HEAP_SIZE;
+ int tagId = FrameworkStatsLog.ION_HEAP_SIZE;
mStatsManager.registerPullAtomCallback(
tagId,
/* PullAtomMetadata */ null,
@@ -1446,7 +1471,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcessSystemIonHeapSize() {
- int tagId = StatsLog.PROCESS_SYSTEM_ION_HEAP_SIZE;
+ int tagId = FrameworkStatsLog.PROCESS_SYSTEM_ION_HEAP_SIZE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1472,7 +1497,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerTemperature() {
- int tagId = StatsLog.TEMPERATURE;
+ int tagId = FrameworkStatsLog.TEMPERATURE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1510,7 +1535,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerCoolingDevice() {
- int tagId = StatsLog.COOLING_DEVICE;
+ int tagId = FrameworkStatsLog.COOLING_DEVICE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1547,7 +1572,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerBinderCallsStats() {
- int tagId = StatsLog.BINDER_CALLS;
+ int tagId = FrameworkStatsLog.BINDER_CALLS;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {4, 5, 6, 8, 12})
.build();
@@ -1593,7 +1618,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerBinderCallsStatsExceptions() {
- int tagId = StatsLog.BINDER_CALLS_EXCEPTIONS;
+ int tagId = FrameworkStatsLog.BINDER_CALLS_EXCEPTIONS;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1625,7 +1650,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerLooperStats() {
- int tagId = StatsLog.LOOPER_STATS;
+ int tagId = FrameworkStatsLog.LOOPER_STATS;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {5, 6, 7, 8, 9})
.build();
@@ -1670,7 +1695,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDiskStats() {
- int tagId = StatsLog.DISK_STATS;
+ int tagId = FrameworkStatsLog.DISK_STATS;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1736,7 +1761,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDirectoryUsage() {
- int tagId = StatsLog.DIRECTORY_USAGE;
+ int tagId = FrameworkStatsLog.DIRECTORY_USAGE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1752,7 +1777,7 @@ public class StatsPullAtomService extends SystemService {
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.DIRECTORY_USAGE__DIRECTORY__DATA)
+ .writeInt(FrameworkStatsLog.DIRECTORY_USAGE__DIRECTORY__DATA)
.writeLong(statFsData.getAvailableBytes())
.writeLong(statFsData.getTotalBytes())
.build();
@@ -1760,7 +1785,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.DIRECTORY_USAGE__DIRECTORY__CACHE)
+ .writeInt(FrameworkStatsLog.DIRECTORY_USAGE__DIRECTORY__CACHE)
.writeLong(statFsCache.getAvailableBytes())
.writeLong(statFsCache.getTotalBytes())
.build();
@@ -1768,7 +1793,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.DIRECTORY_USAGE__DIRECTORY__SYSTEM)
+ .writeInt(FrameworkStatsLog.DIRECTORY_USAGE__DIRECTORY__SYSTEM)
.writeLong(statFsSystem.getAvailableBytes())
.writeLong(statFsSystem.getTotalBytes())
.build();
@@ -1777,7 +1802,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerAppSize() {
- int tagId = StatsLog.APP_SIZE;
+ int tagId = FrameworkStatsLog.APP_SIZE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1821,7 +1846,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerCategorySize() {
- int tagId = StatsLog.CATEGORY_SIZE;
+ int tagId = FrameworkStatsLog.CATEGORY_SIZE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1839,7 +1864,7 @@ public class StatsPullAtomService extends SystemService {
StatsEvent e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__APP_SIZE)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__APP_SIZE)
.writeLong(json.optLong(
DiskStatsFileLogger.APP_SIZE_AGG_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1848,7 +1873,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__APP_DATA_SIZE)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__APP_DATA_SIZE)
.writeLong(json.optLong(
DiskStatsFileLogger.APP_DATA_SIZE_AGG_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1857,7 +1882,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__APP_CACHE_SIZE)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__APP_CACHE_SIZE)
.writeLong(json.optLong(
DiskStatsFileLogger.APP_CACHE_AGG_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1866,7 +1891,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__PHOTOS)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__PHOTOS)
.writeLong(json.optLong(
DiskStatsFileLogger.PHOTOS_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1875,7 +1900,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__VIDEOS)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__VIDEOS)
.writeLong(
json.optLong(DiskStatsFileLogger.VIDEOS_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1884,7 +1909,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__AUDIO)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__AUDIO)
.writeLong(json.optLong(
DiskStatsFileLogger.AUDIO_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1893,7 +1918,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__DOWNLOADS)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__DOWNLOADS)
.writeLong(
json.optLong(DiskStatsFileLogger.DOWNLOADS_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1901,7 +1926,8 @@ public class StatsPullAtomService extends SystemService {
pulledData.add(e);
e = StatsEvent.newBuilder()
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__SYSTEM)
+ .setAtomId(atomTag)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__SYSTEM)
.writeLong(json.optLong(
DiskStatsFileLogger.SYSTEM_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1910,7 +1936,7 @@ public class StatsPullAtomService extends SystemService {
e = StatsEvent.newBuilder()
.setAtomId(atomTag)
- .writeInt(StatsLog.CATEGORY_SIZE__CATEGORY__OTHER)
+ .writeInt(FrameworkStatsLog.CATEGORY_SIZE__CATEGORY__OTHER)
.writeLong(json.optLong(
DiskStatsFileLogger.MISC_KEY, /* fallback */ -1L))
.writeLong(cacheTime)
@@ -1924,7 +1950,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerNumFingerprintsEnrolled() {
- int tagId = StatsLog.NUM_FINGERPRINTS_ENROLLED;
+ int tagId = FrameworkStatsLog.NUM_FINGERPRINTS_ENROLLED;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1934,7 +1960,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerNumFacesEnrolled() {
- int tagId = StatsLog.NUM_FACES_ENROLLED;
+ int tagId = FrameworkStatsLog.NUM_FACES_ENROLLED;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -1992,7 +2018,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcStats() {
- int tagId = StatsLog.PROC_STATS;
+ int tagId = FrameworkStatsLog.PROC_STATS;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2002,7 +2028,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcStatsPkgProc() {
- int tagId = StatsLog.PROC_STATS_PKG_PROC;
+ int tagId = FrameworkStatsLog.PROC_STATS_PKG_PROC;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2071,7 +2097,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDiskIO() {
- int tagId = StatsLog.DISK_IO;
+ int tagId = FrameworkStatsLog.DISK_IO;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {2, 3, 4, 5, 6, 7, 8, 9, 10, 11})
.setCoolDownNs(3 * NS_PER_SEC)
@@ -2108,7 +2134,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerPowerProfile() {
- int tagId = StatsLog.POWER_PROFILE;
+ int tagId = FrameworkStatsLog.POWER_PROFILE;
mStatsManager.registerPullAtomCallback(
tagId,
/* PullAtomMetadata */ null,
@@ -2131,7 +2157,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerProcessCpuTime() {
- int tagId = StatsLog.PROCESS_CPU_TIME;
+ int tagId = FrameworkStatsLog.PROCESS_CPU_TIME;
// Min cool-down is 5 sec, in line with what ActivityManagerService uses.
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setCoolDownNs(5 * NS_PER_SEC)
@@ -2167,7 +2193,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerCpuTimePerThreadFreq() {
- int tagId = StatsLog.CPU_TIME_PER_THREAD_FREQ;
+ int tagId = FrameworkStatsLog.CPU_TIME_PER_THREAD_FREQ;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {7, 9, 11, 13, 15, 17, 19, 21})
.build();
@@ -2263,7 +2289,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDeviceCalculatedPowerUse() {
- int tagId = StatsLog.DEVICE_CALCULATED_POWER_USE;
+ int tagId = FrameworkStatsLog.DEVICE_CALCULATED_POWER_USE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2283,7 +2309,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDeviceCalculatedPowerBlameUid() {
- int tagId = StatsLog.DEVICE_CALCULATED_POWER_BLAME_UID;
+ int tagId = FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_UID;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2313,7 +2339,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDeviceCalculatedPowerBlameOther() {
- int tagId = StatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER;
+ int tagId = FrameworkStatsLog.DEVICE_CALCULATED_POWER_BLAME_OTHER;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2346,7 +2372,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDebugElapsedClock() {
- int tagId = StatsLog.DEBUG_ELAPSED_CLOCK;
+ int tagId = FrameworkStatsLog.DEBUG_ELAPSED_CLOCK;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {1, 2, 3, 4})
.build();
@@ -2397,7 +2423,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDebugFailingElapsedClock() {
- int tagId = StatsLog.DEBUG_FAILING_ELAPSED_CLOCK;
+ int tagId = FrameworkStatsLog.DEBUG_FAILING_ELAPSED_CLOCK;
PullAtomMetadata metadata = new PullAtomMetadata.Builder()
.setAdditiveFields(new int[] {1, 2, 3, 4})
.build();
@@ -2438,7 +2464,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerBuildInformation() {
- int tagId = StatsLog.BUILD_INFORMATION;
+ int tagId = FrameworkStatsLog.BUILD_INFORMATION;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2465,7 +2491,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerRoleHolder() {
- int tagId = StatsLog.ROLE_HOLDER;
+ int tagId = FrameworkStatsLog.ROLE_HOLDER;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2523,7 +2549,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDangerousPermissionState() {
- int tagId = StatsLog.DANGEROUS_PERMISSION_STATE;
+ int tagId = FrameworkStatsLog.DANGEROUS_PERMISSION_STATE;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2561,8 +2587,8 @@ public class StatsPullAtomService extends SystemService {
}
reportedUids.add(pkg.applicationInfo.uid);
- if (atomTag == StatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED
- && ThreadLocalRandom.current().nextFloat() > 0.2f) {
+ if (atomTag == FrameworkStatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED
+ && ThreadLocalRandom.current().nextFloat() > 0.01f) {
continue;
}
@@ -2588,7 +2614,7 @@ public class StatsPullAtomService extends SystemService {
e.setAtomId(atomTag);
e.writeString(permName);
e.writeInt(pkg.applicationInfo.uid);
- if (atomTag == StatsLog.DANGEROUS_PERMISSION_STATE) {
+ if (atomTag == FrameworkStatsLog.DANGEROUS_PERMISSION_STATE) {
e.writeString("");
}
e.writeBoolean((pkg.requestedPermissionsFlags[permNum]
@@ -2609,7 +2635,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerTimeZoneDataInfo() {
- int tagId = StatsLog.TIME_ZONE_DATA_INFO;
+ int tagId = FrameworkStatsLog.TIME_ZONE_DATA_INFO;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2636,7 +2662,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerExternalStorageInfo() {
- int tagId = StatsLog.EXTERNAL_STORAGE_INFO;
+ int tagId = FrameworkStatsLog.EXTERNAL_STORAGE_INFO;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2656,11 +2682,11 @@ public class StatsPullAtomService extends SystemService {
final DiskInfo diskInfo = vol.getDisk();
if (diskInfo != null && envState.equals(Environment.MEDIA_MOUNTED)) {
// Get the type of the volume, if it is adoptable or portable.
- int volumeType = StatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__OTHER;
+ int volumeType = FrameworkStatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__OTHER;
if (vol.getType() == TYPE_PUBLIC) {
- volumeType = StatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__PUBLIC;
+ volumeType = FrameworkStatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__PUBLIC;
} else if (vol.getType() == TYPE_PRIVATE) {
- volumeType = StatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__PRIVATE;
+ volumeType = FrameworkStatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__PRIVATE;
}
// Get the type of external storage inserted in the device (sd cards, usb, etc.)
@@ -2686,7 +2712,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerAppsOnExternalStorageInfo() {
- int tagId = StatsLog.APPS_ON_EXTERNAL_STORAGE_INFO;
+ int tagId = FrameworkStatsLog.APPS_ON_EXTERNAL_STORAGE_INFO;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2742,7 +2768,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerFaceSettings() {
- int tagId = StatsLog.FACE_SETTINGS;
+ int tagId = FrameworkStatsLog.FACE_SETTINGS;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2796,7 +2822,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerAppOps() {
- int tagId = StatsLog.APP_OPS;
+ int tagId = FrameworkStatsLog.APP_OPS;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2907,7 +2933,7 @@ public class StatsPullAtomService extends SystemService {
}
private void registerNotificationRemoteViews() {
- int tagId = StatsLog.NOTIFICATION_REMOTE_VIEWS;
+ int tagId = FrameworkStatsLog.NOTIFICATION_REMOTE_VIEWS;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2951,7 +2977,57 @@ public class StatsPullAtomService extends SystemService {
}
private void registerDangerousPermissionStateSampled() {
- int tagId = StatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED;
+ int tagId = FrameworkStatsLog.DANGEROUS_PERMISSION_STATE_SAMPLED;
+ mStatsManager.registerPullAtomCallback(
+ tagId,
+ null, // use default PullAtomMetadata values
+ BackgroundThread.getExecutor(),
+ mStatsCallbackImpl
+ );
+ }
+
+ private void registerBatteryLevel() {
+ int tagId = FrameworkStatsLog.BATTERY_LEVEL;
+ mStatsManager.registerPullAtomCallback(
+ tagId,
+ null, // use default PullAtomMetadata values
+ BackgroundThread.getExecutor(),
+ mStatsCallbackImpl
+ );
+ }
+
+ private void registerRemainingBatteryCapacity() {
+ int tagId = FrameworkStatsLog.REMAINING_BATTERY_CAPACITY;
+ mStatsManager.registerPullAtomCallback(
+ tagId,
+ null, // use default PullAtomMetadata values
+ BackgroundThread.getExecutor(),
+ mStatsCallbackImpl
+ );
+ }
+
+ private void registerFullBatteryCapacity() {
+ int tagId = FrameworkStatsLog.FULL_BATTERY_CAPACITY;
+ mStatsManager.registerPullAtomCallback(
+ tagId,
+ null, // use default PullAtomMetadata values
+ BackgroundThread.getExecutor(),
+ mStatsCallbackImpl
+ );
+ }
+
+ private void registerBatteryVoltage() {
+ int tagId = FrameworkStatsLog.BATTERY_VOLTAGE;
+ mStatsManager.registerPullAtomCallback(
+ tagId,
+ null, // use default PullAtomMetadata values
+ BackgroundThread.getExecutor(),
+ mStatsCallbackImpl
+ );
+ }
+
+ private void registerBatteryCycleCount() {
+ int tagId = FrameworkStatsLog.BATTERY_CYCLE_COUNT;
mStatsManager.registerPullAtomCallback(
tagId,
null, // use default PullAtomMetadata values
@@ -2960,13 +3036,52 @@ public class StatsPullAtomService extends SystemService {
);
}
+ int pullHealthHal(int atomTag, List<StatsEvent> pulledData) {
+ IHealth healthService = mHealthService.getLastService();
+ if (healthService == null) {
+ return StatsManager.PULL_SKIP;
+ }
+ try {
+ healthService.getHealthInfo((result, value) -> {
+ int pulledValue;
+ switch(atomTag) {
+ case FrameworkStatsLog.BATTERY_LEVEL:
+ pulledValue = value.legacy.batteryLevel;
+ break;
+ case FrameworkStatsLog.REMAINING_BATTERY_CAPACITY:
+ pulledValue = value.legacy.batteryChargeCounter;
+ break;
+ case FrameworkStatsLog.FULL_BATTERY_CAPACITY:
+ pulledValue = value.legacy.batteryFullCharge;
+ break;
+ case FrameworkStatsLog.BATTERY_VOLTAGE:
+ pulledValue = value.legacy.batteryVoltage;
+ break;
+ case FrameworkStatsLog.BATTERY_CYCLE_COUNT:
+ pulledValue = value.legacy.batteryCycleCount;
+ break;
+ default:
+ throw new IllegalStateException("Invalid atomTag in healthHal puller: "
+ + atomTag);
+ }
+ StatsEvent e = StatsEvent.newBuilder()
+ .setAtomId(atomTag)
+ .writeInt(pulledValue)
+ .build();
+ pulledData.add(e);
+ });
+ } catch (RemoteException | IllegalStateException e) {
+ return StatsManager.PULL_SKIP;
+ }
+ return StatsManager.PULL_SUCCESS;
+ }
// Thermal event received from vendor thermal management subsystem
private static final class ThermalEventListener extends IThermalEventListener.Stub {
@Override
public void notifyThrottling(Temperature temp) {
- StatsLog.write(StatsLog.THERMAL_THROTTLING_SEVERITY_STATE_CHANGED, temp.getType(),
- temp.getName(), (int) (temp.getValue() * 10), temp.getStatus());
+ FrameworkStatsLog.write(FrameworkStatsLog.THERMAL_THROTTLING_SEVERITY_STATE_CHANGED,
+ temp.getType(), temp.getName(), (int) (temp.getValue() * 10), temp.getStatus());
}
}
@@ -2974,14 +3089,14 @@ public class StatsPullAtomService extends SystemService {
ConnectivityManager.NetworkCallback {
@Override
public void onAvailable(Network network) {
- StatsLog.write(StatsLog.CONNECTIVITY_STATE_CHANGED, network.netId,
- StatsLog.CONNECTIVITY_STATE_CHANGED__STATE__CONNECTED);
+ FrameworkStatsLog.write(FrameworkStatsLog.CONNECTIVITY_STATE_CHANGED, network.netId,
+ FrameworkStatsLog.CONNECTIVITY_STATE_CHANGED__STATE__CONNECTED);
}
@Override
public void onLost(Network network) {
- StatsLog.write(StatsLog.CONNECTIVITY_STATE_CHANGED, network.netId,
- StatsLog.CONNECTIVITY_STATE_CHANGED__STATE__DISCONNECTED);
+ FrameworkStatsLog.write(FrameworkStatsLog.CONNECTIVITY_STATE_CHANGED, network.netId,
+ FrameworkStatsLog.CONNECTIVITY_STATE_CHANGED__STATE__DISCONNECTED);
}
}
}
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 3f7d373c1848..9a30f1de70f0 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -79,7 +79,6 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
private final Context mContext;
- private final WindowManagerService mWindowManager;
private Handler mHandler = new Handler();
private NotificationDelegate mNotificationDelegate;
private volatile IStatusBar mBar;
@@ -93,6 +92,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
private final Object mLock = new Object();
private final DeathRecipient mDeathRecipient = new DeathRecipient();
private int mCurrentUserId;
+ private boolean mTracingEnabled;
private SparseArray<UiState> mDisplayUiState = new SparseArray<>();
@@ -176,11 +176,10 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
}
/**
- * Construct the service, add the status bar view to the window manager
+ * Construct the service
*/
- public StatusBarManagerService(Context context, WindowManagerService windowManager) {
+ public StatusBarManagerService(Context context) {
mContext = context;
- mWindowManager = windowManager;
LocalServices.addService(StatusBarManagerInternal.class, mInternalService);
LocalServices.addService(GlobalActionsProvider.class, mGlobalActionsProvider);
@@ -720,6 +719,31 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
}
}
+ @Override
+ public void startTracing() {
+ if (mBar != null) {
+ try {
+ mBar.startTracing();
+ mTracingEnabled = true;
+ } catch (RemoteException ex) {}
+ }
+ }
+
+ @Override
+ public void stopTracing() {
+ if (mBar != null) {
+ try {
+ mTracingEnabled = false;
+ mBar.stopTracing();
+ } catch (RemoteException ex) {}
+ }
+ }
+
+ @Override
+ public boolean isTracing() {
+ return mTracingEnabled;
+ }
+
// TODO(b/117478341): make it aware of multi-display if needed.
@Override
public void disable(int what, IBinder token, String pkg) {
@@ -1364,6 +1388,17 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
}
@Override
+ public void onBubbleNotificationSuppressionChanged(String key, boolean isNotifSuppressed) {
+ enforceStatusBarService();
+ long identity = Binder.clearCallingIdentity();
+ try {
+ mNotificationDelegate.onBubbleNotificationSuppressionChanged(key, isNotifSuppressed);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ @Override
public void grantInlineReplyUriPermission(String key, Uri uri, UserHandle user,
String packageName) {
enforceStatusBarService();
diff --git a/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java b/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java
index d7f86cd65ae9..a79c19f7bc17 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarShellCommand.java
@@ -72,6 +72,8 @@ public class StatusBarShellCommand extends ShellCommand {
return runDisableForSetup();
case "send-disable-flag":
return runSendDisableFlag();
+ case "tracing":
+ return runTracing();
default:
return handleDefaultCommands(cmd);
}
@@ -185,6 +187,18 @@ public class StatusBarShellCommand extends ShellCommand {
return 0;
}
+ private int runTracing() {
+ switch (getNextArg()) {
+ case "start":
+ mInterface.startTracing();
+ break;
+ case "stop":
+ mInterface.stopTracing();
+ break;
+ }
+ return 0;
+ }
+
@Override
public void onHelp() {
final PrintWriter pw = getOutPrintWriter();
@@ -233,6 +247,9 @@ public class StatusBarShellCommand extends ShellCommand {
pw.println(" clock - disable clock appearing in status bar");
pw.println(" notification-icons - disable notification icons from status bar");
pw.println("");
+ pw.println(" tracing (start | stop)");
+ pw.println(" Start or stop SystemUI tracing");
+ pw.println("");
}
/**
diff --git a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
index 2700f9ddc203..734b71824490 100644
--- a/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
+++ b/services/core/java/com/android/server/storage/DeviceStorageMonitorService.java
@@ -41,11 +41,11 @@ import android.text.format.DateUtils;
import android.util.ArrayMap;
import android.util.DataUnit;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.util.DumpUtils;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.EventLogTags;
import com.android.server.SystemService;
@@ -425,6 +425,7 @@ public class DeviceStorageMonitorService extends SystemService {
void dumpImpl(FileDescriptor fd, PrintWriter _pw, String[] args) {
final IndentingPrintWriter pw = new IndentingPrintWriter(_pw, " ");
if (args == null || args.length == 0 || "-a".equals(args[0])) {
+ final StorageManager storage = getContext().getSystemService(StorageManager.class);
pw.println("Known volumes:");
pw.increaseIndent();
for (int i = 0; i < mStates.size(); i++) {
@@ -439,6 +440,19 @@ public class DeviceStorageMonitorService extends SystemService {
pw.printPair("level", State.levelToString(state.level));
pw.printPair("lastUsableBytes", state.lastUsableBytes);
pw.println();
+ for (VolumeInfo vol : storage.getWritablePrivateVolumes()) {
+ final File file = vol.getPath();
+ final UUID innerUuid = StorageManager.convert(vol.getFsUuid());
+ if (Objects.equals(uuid, innerUuid)) {
+ pw.print("lowBytes=");
+ pw.print(storage.getStorageLowBytes(file));
+ pw.print(" fullBytes=");
+ pw.println(storage.getStorageFullBytes(file));
+ pw.print("path=");
+ pw.println(file);
+ break;
+ }
+ }
pw.decreaseIndent();
}
pw.decreaseIndent();
@@ -498,15 +512,15 @@ public class DeviceStorageMonitorService extends SystemService {
notification.flags |= Notification.FLAG_NO_CLEAR;
mNotifManager.notifyAsUser(uuid.toString(), SystemMessage.NOTE_LOW_STORAGE,
notification, UserHandle.ALL);
- StatsLog.write(StatsLog.LOW_STORAGE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.LOW_STORAGE_STATE_CHANGED,
Objects.toString(vol.getDescription()),
- StatsLog.LOW_STORAGE_STATE_CHANGED__STATE__ON);
+ FrameworkStatsLog.LOW_STORAGE_STATE_CHANGED__STATE__ON);
} else if (State.isLeaving(State.LEVEL_LOW, oldLevel, newLevel)) {
mNotifManager.cancelAsUser(uuid.toString(), SystemMessage.NOTE_LOW_STORAGE,
UserHandle.ALL);
- StatsLog.write(StatsLog.LOW_STORAGE_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.LOW_STORAGE_STATE_CHANGED,
Objects.toString(vol.getDescription()),
- StatsLog.LOW_STORAGE_STATE_CHANGED__STATE__OFF);
+ FrameworkStatsLog.LOW_STORAGE_STATE_CHANGED__STATE__OFF);
}
}
diff --git a/services/core/java/com/android/server/timedetector/TimeDetectorStrategyImpl.java b/services/core/java/com/android/server/timedetector/TimeDetectorStrategyImpl.java
index e95fc4a4a938..a1e643f15a8e 100644
--- a/services/core/java/com/android/server/timedetector/TimeDetectorStrategyImpl.java
+++ b/services/core/java/com/android/server/timedetector/TimeDetectorStrategyImpl.java
@@ -101,11 +101,12 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
private TimestampedValue<Long> mLastAutoSystemClockTimeSet;
/**
- * A mapping from phoneId to a time suggestion. We typically expect one or two mappings: devices
- * will have a small number of telephony devices and phoneIds are assumed to be stable.
+ * A mapping from slotIndex to a time suggestion. We typically expect one or two mappings:
+ * devices will have a small number of telephony devices and slotIndexs are assumed to be
+ * stable.
*/
@GuardedBy("this")
- private final ArrayMapWithHistory<Integer, PhoneTimeSuggestion> mSuggestionByPhoneId =
+ private final ArrayMapWithHistory<Integer, PhoneTimeSuggestion> mSuggestionBySlotIndex =
new ArrayMapWithHistory<>(KEEP_SUGGESTION_HISTORY_SIZE);
@GuardedBy("this")
@@ -155,7 +156,7 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
}
// Perform validation / input filtering and record the validated suggestion against the
- // phoneId.
+ // slotIndex.
if (!validateAndStorePhoneSuggestion(timeSuggestion)) {
return;
}
@@ -202,7 +203,7 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
ipw.println("Phone suggestion history:");
ipw.increaseIndent(); // level 2
- mSuggestionByPhoneId.dump(ipw);
+ mSuggestionBySlotIndex.dump(ipw);
ipw.decreaseIndent(); // level 2
ipw.println("Network suggestion history:");
@@ -223,8 +224,8 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
return false;
}
- int phoneId = suggestion.getPhoneId();
- PhoneTimeSuggestion previousSuggestion = mSuggestionByPhoneId.get(phoneId);
+ int slotIndex = suggestion.getSlotIndex();
+ PhoneTimeSuggestion previousSuggestion = mSuggestionBySlotIndex.get(slotIndex);
if (previousSuggestion != null) {
// We can log / discard suggestions with obvious issues with the reference time clock.
if (previousSuggestion.getUtcTime() == null
@@ -249,7 +250,7 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
}
// Store the latest suggestion.
- mSuggestionByPhoneId.put(phoneId, suggestion);
+ mSuggestionBySlotIndex.put(slotIndex, suggestion);
return true;
}
@@ -323,15 +324,15 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
//
// [1] https://en.wikipedia.org/wiki/NITZ
//
- // Generally, when there are suggestions from multiple phoneIds they should usually
+ // Generally, when there are suggestions from multiple slotIndexs they should usually
// approximately agree. In cases where signals *are* inaccurate we don't want to vacillate
- // between signals from two phoneIds. However, it is known for NITZ signals to be incorrect
- // occasionally, which means we also don't want to stick forever with one phoneId. Without
- // cross-referencing across sources (e.g. the current device time, NTP), or doing some kind
- // of statistical analysis of consistency within and across phoneIds, we can't know which
- // suggestions are more correct.
+ // between signals from two slotIndexs. However, it is known for NITZ signals to be
+ // incorrect occasionally, which means we also don't want to stick forever with one
+ // slotIndex. Without cross-referencing across sources (e.g. the current device time, NTP),
+ // or doing some kind of statistical analysis of consistency within and across slotIndexs,
+ // we can't know which suggestions are more correct.
//
- // For simplicity, we try to value recency, then consistency of phoneId.
+ // For simplicity, we try to value recency, then consistency of slotIndex.
//
// The heuristic works as follows:
// Recency: The most recent suggestion from each phone is scored. The score is based on a
@@ -339,20 +340,20 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
// bucket, thus applying a loose reference time ordering. The suggestion with the highest
// score is used.
// Consistency: If there a multiple suggestions with the same score, the suggestion with the
- // lowest phoneId is always taken.
+ // lowest slotIndex is always taken.
//
// In the trivial case with a single ID this will just mean that the latest received
// suggestion is used.
PhoneTimeSuggestion bestSuggestion = null;
int bestScore = PHONE_INVALID_SCORE;
- for (int i = 0; i < mSuggestionByPhoneId.size(); i++) {
- Integer phoneId = mSuggestionByPhoneId.keyAt(i);
- PhoneTimeSuggestion candidateSuggestion = mSuggestionByPhoneId.valueAt(i);
+ for (int i = 0; i < mSuggestionBySlotIndex.size(); i++) {
+ Integer slotIndex = mSuggestionBySlotIndex.keyAt(i);
+ PhoneTimeSuggestion candidateSuggestion = mSuggestionBySlotIndex.valueAt(i);
if (candidateSuggestion == null) {
// Unexpected - null suggestions should never be stored.
- Slog.w(LOG_TAG, "Latest suggestion unexpectedly null for phoneId."
- + " phoneId=" + phoneId);
+ Slog.w(LOG_TAG, "Latest suggestion unexpectedly null for slotIndex."
+ + " slotIndex=" + slotIndex);
continue;
} else if (candidateSuggestion.getUtcTime() == null) {
// Unexpected - we do not store empty suggestions.
@@ -372,10 +373,10 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
bestSuggestion = candidateSuggestion;
bestScore = candidateScore;
} else if (bestScore == candidateScore) {
- // Tie! Use the suggestion with the lowest phoneId.
- int candidatePhoneId = candidateSuggestion.getPhoneId();
- int bestPhoneId = bestSuggestion.getPhoneId();
- if (candidatePhoneId < bestPhoneId) {
+ // Tie! Use the suggestion with the lowest slotIndex.
+ int candidateSlotIndex = candidateSuggestion.getSlotIndex();
+ int bestSlotIndex = bestSuggestion.getSlotIndex();
+ if (candidateSlotIndex < bestSlotIndex) {
bestSuggestion = candidateSuggestion;
}
}
@@ -396,7 +397,7 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
}
// The score is based on the age since receipt. Suggestions are bucketed so two
- // suggestions in the same bucket from different phoneIds are scored the same.
+ // suggestions in the same bucket from different slotIndexs are scored the same.
long ageMillis = elapsedRealtimeMillis - utcTime.getReferenceTimeMillis();
// Turn the age into a discrete value: 0 <= bucketIndex < PHONE_BUCKET_COUNT.
@@ -560,8 +561,8 @@ public final class TimeDetectorStrategyImpl implements TimeDetectorStrategy {
*/
@VisibleForTesting
@Nullable
- public synchronized PhoneTimeSuggestion getLatestPhoneSuggestion(int phoneId) {
- return mSuggestionByPhoneId.get(phoneId);
+ public synchronized PhoneTimeSuggestion getLatestPhoneSuggestion(int slotIndex) {
+ return mSuggestionBySlotIndex.get(slotIndex);
}
/**
diff --git a/services/core/java/com/android/server/timezone/RulesManagerService.java b/services/core/java/com/android/server/timezone/RulesManagerService.java
index 9347d2194b68..bbd1ae60cb62 100644
--- a/services/core/java/com/android/server/timezone/RulesManagerService.java
+++ b/services/core/java/com/android/server/timezone/RulesManagerService.java
@@ -49,7 +49,7 @@ import com.android.timezone.distro.installer.TimeZoneDistroInstaller;
import libcore.timezone.TimeZoneDataFiles;
import libcore.timezone.TimeZoneFinder;
import libcore.timezone.TzDataSetVersion;
-import libcore.timezone.ZoneInfoDB;
+import libcore.timezone.ZoneInfoDb;
import java.io.File;
import java.io.FileDescriptor;
@@ -198,7 +198,7 @@ public final class RulesManagerService extends IRulesManager.Stub {
Slog.w(TAG, "Failed to read staged distro.", e);
}
}
- return new RulesState(baseVersion.rulesVersion, DISTRO_FORMAT_VERSION_SUPPORTED,
+ return new RulesState(baseVersion.getRulesVersion(), DISTRO_FORMAT_VERSION_SUPPORTED,
operationInProgress, stagedOperationStatus, stagedDistroRulesVersion,
distroStatus, installedDistroRulesVersion);
}
@@ -518,9 +518,9 @@ public final class RulesManagerService extends IRulesManager.Stub {
case 'a': {
// Report the active rules version (i.e. the rules in use by the current
// process).
- pw.println("Active rules version (ICU, ZoneInfoDB, TimeZoneFinder): "
+ pw.println("Active rules version (ICU, ZoneInfoDb, TimeZoneFinder): "
+ TimeZone.getTZDataVersion() + ","
- + ZoneInfoDB.getInstance().getVersion() + ","
+ + ZoneInfoDb.getInstance().getVersion() + ","
+ TimeZoneFinder.getInstance().getIanaVersion());
break;
}
@@ -536,7 +536,7 @@ public final class RulesManagerService extends IRulesManager.Stub {
pw.println("RulesManagerService state: " + toString());
pw.println("Active rules version (ICU, ZoneInfoDB, TimeZoneFinder): "
+ TimeZone.getTZDataVersion() + ","
- + ZoneInfoDB.getInstance().getVersion() + ","
+ + ZoneInfoDb.getInstance().getVersion() + ","
+ TimeZoneFinder.getInstance().getIanaVersion());
pw.println("Distro state: " + rulesState.toString());
mPackageTracker.dump(pw);
diff --git a/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java b/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java
index b4a439991dd9..b0e006908231 100644
--- a/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java
+++ b/services/core/java/com/android/server/timezonedetector/TimeZoneDetectorStrategy.java
@@ -172,12 +172,12 @@ public class TimeZoneDetectorStrategy {
private final LocalLog mTimeZoneChangesLog = new LocalLog(30, false /* useLocalTimestamps */);
/**
- * A mapping from phoneId to a phone time zone suggestion. We typically expect one or two
- * mappings: devices will have a small number of telephony devices and phoneIds are assumed to
+ * A mapping from slotIndex to a phone time zone suggestion. We typically expect one or two
+ * mappings: devices will have a small number of telephony devices and slotIndexs are assumed to
* be stable.
*/
@GuardedBy("this")
- private ArrayMapWithHistory<Integer, QualifiedPhoneTimeZoneSuggestion> mSuggestionByPhoneId =
+ private ArrayMapWithHistory<Integer, QualifiedPhoneTimeZoneSuggestion> mSuggestionBySlotIndex =
new ArrayMapWithHistory<>(KEEP_PHONE_SUGGESTION_HISTORY_SIZE);
/**
@@ -205,7 +205,7 @@ public class TimeZoneDetectorStrategy {
/**
* Suggests a time zone for the device, or withdraws a previous suggestion if
* {@link PhoneTimeZoneSuggestion#getZoneId()} is {@code null}. The suggestion is scoped to a
- * specific {@link PhoneTimeZoneSuggestion#getPhoneId() phone}.
+ * specific {@link PhoneTimeZoneSuggestion#getSlotIndex() phone}.
* See {@link PhoneTimeZoneSuggestion} for an explanation of the metadata associated with a
* suggestion. The strategy uses suggestions to decide whether to modify the device's time zone
* setting and what to set it to.
@@ -221,8 +221,8 @@ public class TimeZoneDetectorStrategy {
QualifiedPhoneTimeZoneSuggestion scoredSuggestion =
new QualifiedPhoneTimeZoneSuggestion(suggestion, score);
- // Store the suggestion against the correct phoneId.
- mSuggestionByPhoneId.put(suggestion.getPhoneId(), scoredSuggestion);
+ // Store the suggestion against the correct slotIndex.
+ mSuggestionBySlotIndex.put(suggestion.getSlotIndex(), scoredSuggestion);
// Now perform auto time zone detection. The new suggestion may be used to modify the time
// zone setting.
@@ -384,8 +384,9 @@ public class TimeZoneDetectorStrategy {
// and find the best. Note that we deliberately do not look at age: the caller can
// rate-limit so age is not a strong indicator of confidence. Instead, the callers are
// expected to withdraw suggestions they no longer have confidence in.
- for (int i = 0; i < mSuggestionByPhoneId.size(); i++) {
- QualifiedPhoneTimeZoneSuggestion candidateSuggestion = mSuggestionByPhoneId.valueAt(i);
+ for (int i = 0; i < mSuggestionBySlotIndex.size(); i++) {
+ QualifiedPhoneTimeZoneSuggestion candidateSuggestion =
+ mSuggestionBySlotIndex.valueAt(i);
if (candidateSuggestion == null) {
// Unexpected
continue;
@@ -396,10 +397,10 @@ public class TimeZoneDetectorStrategy {
} else if (candidateSuggestion.score > bestSuggestion.score) {
bestSuggestion = candidateSuggestion;
} else if (candidateSuggestion.score == bestSuggestion.score) {
- // Tie! Use the suggestion with the lowest phoneId.
- int candidatePhoneId = candidateSuggestion.suggestion.getPhoneId();
- int bestPhoneId = bestSuggestion.suggestion.getPhoneId();
- if (candidatePhoneId < bestPhoneId) {
+ // Tie! Use the suggestion with the lowest slotIndex.
+ int candidateSlotIndex = candidateSuggestion.suggestion.getSlotIndex();
+ int bestSlotIndex = bestSuggestion.suggestion.getSlotIndex();
+ if (candidateSlotIndex < bestSlotIndex) {
bestSuggestion = candidateSuggestion;
}
}
@@ -455,7 +456,7 @@ public class TimeZoneDetectorStrategy {
ipw.println("Phone suggestion history:");
ipw.increaseIndent(); // level 2
- mSuggestionByPhoneId.dump(ipw);
+ mSuggestionBySlotIndex.dump(ipw);
ipw.decreaseIndent(); // level 2
ipw.decreaseIndent(); // level 1
ipw.flush();
@@ -465,8 +466,8 @@ public class TimeZoneDetectorStrategy {
* A method used to inspect strategy state during tests. Not intended for general use.
*/
@VisibleForTesting
- public synchronized QualifiedPhoneTimeZoneSuggestion getLatestPhoneSuggestion(int phoneId) {
- return mSuggestionByPhoneId.get(phoneId);
+ public synchronized QualifiedPhoneTimeZoneSuggestion getLatestPhoneSuggestion(int slotIndex) {
+ return mSuggestionBySlotIndex.get(slotIndex);
}
/**
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index d746691b4773..61a33b4fb781 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -361,7 +361,7 @@ final class AccessibilityController {
private final Region mTempRegion3 = new Region();
private final Region mTempRegion4 = new Region();
- private final Context mContext;
+ private final Context mDisplayContext;
private final WindowManagerService mService;
private final MagnifiedViewport mMagnifedViewport;
private final Handler mHandler;
@@ -378,14 +378,14 @@ final class AccessibilityController {
DisplayContent displayContent,
Display display,
MagnificationCallbacks callbacks) {
- mContext = windowManagerService.mContext;
+ mDisplayContext = windowManagerService.mContext.createDisplayContext(display);
mService = windowManagerService;
mCallbacks = callbacks;
mDisplayContent = displayContent;
mDisplay = display;
mHandler = new MyHandler(mService.mH.getLooper());
mMagnifedViewport = new MagnifiedViewport();
- mLongAnimationDuration = mContext.getResources().getInteger(
+ mLongAnimationDuration = mDisplayContext.getResources().getInteger(
com.android.internal.R.integer.config_longAnimTime);
}
@@ -568,8 +568,6 @@ final class AccessibilityController {
private final MagnificationSpec mMagnificationSpec = MagnificationSpec.obtain();
- private final WindowManager mWindowManager;
-
private final float mBorderWidth;
private final int mHalfBorderWidth;
private final int mDrawBorderInset;
@@ -580,14 +578,13 @@ final class AccessibilityController {
private int mTempLayer = 0;
public MagnifiedViewport() {
- mWindowManager = (WindowManager) mContext.getSystemService(Service.WINDOW_SERVICE);
- mBorderWidth = mContext.getResources().getDimension(
+ mBorderWidth = mDisplayContext.getResources().getDimension(
com.android.internal.R.dimen.accessibility_magnification_indicator_width);
mHalfBorderWidth = (int) Math.ceil(mBorderWidth / 2);
mDrawBorderInset = (int) mBorderWidth / 2;
- mWindow = new ViewportWindow(mContext);
+ mWindow = new ViewportWindow(mDisplayContext);
- if (mContext.getResources().getConfiguration().isScreenRound()) {
+ if (mDisplayContext.getResources().getConfiguration().isScreenRound()) {
mCircularPath = new Path();
mDisplay.getRealSize(mTempPoint);
final int centerXY = mTempPoint.x / 2;
@@ -916,7 +913,7 @@ final class AccessibilityController {
public void updateSize(SurfaceControl.Transaction t) {
synchronized (mService.mGlobalLock) {
- mWindowManager.getDefaultDisplay().getRealSize(mTempPoint);
+ mDisplay.getRealSize(mTempPoint);
t.setBufferSize(mSurfaceControl, mTempPoint.x, mTempPoint.y);
invalidate(mDirtyRect);
}
diff --git a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java
index 23b94bdb74c8..0502d0bfa933 100644
--- a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java
+++ b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java
@@ -83,13 +83,13 @@ import android.util.ArrayMap;
import android.util.EventLog;
import android.util.Log;
import android.util.Slog;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.os.BackgroundThread;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.LocalServices;
@@ -768,8 +768,8 @@ class ActivityMetricsLogger {
builder.setType(type);
builder.addTaggedData(FIELD_CLASS_NAME, activity.info.name);
mMetricsLogger.write(builder);
- StatsLog.write(
- StatsLog.APP_START_CANCELED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.APP_START_CANCELED,
activity.info.applicationInfo.uid,
activity.packageName,
convertAppStartTransitionType(type),
@@ -844,8 +844,8 @@ class ActivityMetricsLogger {
builder.addTaggedData(PACKAGE_OPTIMIZATION_COMPILATION_FILTER,
packageOptimizationInfo.getCompilationFilter());
mMetricsLogger.write(builder);
- StatsLog.write(
- StatsLog.APP_START_OCCURRED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.APP_START_OCCURRED,
info.applicationInfo.uid,
info.packageName,
convertAppStartTransitionType(info.type),
@@ -895,15 +895,15 @@ class ActivityMetricsLogger {
private int convertAppStartTransitionType(int tronType) {
if (tronType == TYPE_TRANSITION_COLD_LAUNCH) {
- return StatsLog.APP_START_OCCURRED__TYPE__COLD;
+ return FrameworkStatsLog.APP_START_OCCURRED__TYPE__COLD;
}
if (tronType == TYPE_TRANSITION_WARM_LAUNCH) {
- return StatsLog.APP_START_OCCURRED__TYPE__WARM;
+ return FrameworkStatsLog.APP_START_OCCURRED__TYPE__WARM;
}
if (tronType == TYPE_TRANSITION_HOT_LAUNCH) {
- return StatsLog.APP_START_OCCURRED__TYPE__HOT;
+ return FrameworkStatsLog.APP_START_OCCURRED__TYPE__HOT;
}
- return StatsLog.APP_START_OCCURRED__TYPE__UNKNOWN;
+ return FrameworkStatsLog.APP_START_OCCURRED__TYPE__UNKNOWN;
}
/** @return the last known window drawn delay of the given activity. */
@@ -957,13 +957,13 @@ class ActivityMetricsLogger {
builder.addTaggedData(APP_TRANSITION_PROCESS_RUNNING,
info.mProcessRunning ? 1 : 0);
mMetricsLogger.write(builder);
- StatsLog.write(
- StatsLog.APP_START_FULLY_DRAWN,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.APP_START_FULLY_DRAWN,
info.mLastLaunchedActivity.info.applicationInfo.uid,
info.mLastLaunchedActivity.packageName,
restoredFromBundle
- ? StatsLog.APP_START_FULLY_DRAWN__TYPE__WITH_BUNDLE
- : StatsLog.APP_START_FULLY_DRAWN__TYPE__WITHOUT_BUNDLE,
+ ? FrameworkStatsLog.APP_START_FULLY_DRAWN__TYPE__WITH_BUNDLE
+ : FrameworkStatsLog.APP_START_FULLY_DRAWN__TYPE__WITHOUT_BUNDLE,
info.mLastLaunchedActivity.info.name,
info.mProcessRunning,
startupTimeMs);
@@ -1068,8 +1068,8 @@ class ActivityMetricsLogger {
return;
}
- StatsLog.write(
- StatsLog.APP_START_MEMORY_STATE_CAPTURED,
+ FrameworkStatsLog.write(
+ FrameworkStatsLog.APP_START_MEMORY_STATE_CAPTURED,
uid,
info.processName,
info.launchedActivityName,
@@ -1212,7 +1212,7 @@ class ActivityMetricsLogger {
final ProtoOutputStream protoOutputStream =
new ProtoOutputStream(LAUNCH_OBSERVER_ACTIVITY_RECORD_PROTO_CHUNK_SIZE);
// Write this data out as the top-most ActivityRecordProto (i.e. it is not a sub-object).
- record.dumpDebug(protoOutputStream);
+ record.dumpDebug(protoOutputStream, WindowTraceLogLevel.ALL);
final byte[] bytes = protoOutputStream.getBytes();
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 33e18c1263ab..ed38e9a73050 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -112,16 +112,36 @@ import static android.view.WindowManager.TRANSIT_TASK_OPEN_BEHIND;
import static android.view.WindowManager.TRANSIT_UNSET;
import static android.view.WindowManager.TRANSIT_WALLPAPER_OPEN;
-import static com.android.server.am.ActivityRecordProto.APP_WINDOW_TOKEN;
-import static com.android.server.am.ActivityRecordProto.FRONT_OF_TASK;
-import static com.android.server.am.ActivityRecordProto.IDENTIFIER;
-import static com.android.server.am.ActivityRecordProto.PROC_ID;
-import static com.android.server.am.ActivityRecordProto.STATE;
-import static com.android.server.am.ActivityRecordProto.TRANSLUCENT;
-import static com.android.server.am.ActivityRecordProto.VISIBLE;
-import static com.android.server.am.ActivityRecordProto.VISIBLE_REQUESTED;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
+import static com.android.server.wm.ActivityRecordProto.ALL_DRAWN;
+import static com.android.server.wm.ActivityRecordProto.APP_STOPPED;
+import static com.android.server.wm.ActivityRecordProto.CLIENT_VISIBLE;
+import static com.android.server.wm.ActivityRecordProto.DEFER_HIDING_CLIENT;
+import static com.android.server.wm.ActivityRecordProto.FILLS_PARENT;
+import static com.android.server.wm.ActivityRecordProto.FRONT_OF_TASK;
+import static com.android.server.wm.ActivityRecordProto.FROZEN_BOUNDS;
+import static com.android.server.wm.ActivityRecordProto.IDENTIFIER;
+import static com.android.server.wm.ActivityRecordProto.IS_ANIMATING;
+import static com.android.server.wm.ActivityRecordProto.IS_WAITING_FOR_TRANSITION_START;
+import static com.android.server.wm.ActivityRecordProto.LAST_ALL_DRAWN;
+import static com.android.server.wm.ActivityRecordProto.LAST_SURFACE_SHOWING;
+import static com.android.server.wm.ActivityRecordProto.NAME;
+import static com.android.server.wm.ActivityRecordProto.NUM_DRAWN_WINDOWS;
+import static com.android.server.wm.ActivityRecordProto.NUM_INTERESTING_WINDOWS;
+import static com.android.server.wm.ActivityRecordProto.PROC_ID;
+import static com.android.server.wm.ActivityRecordProto.REPORTED_DRAWN;
+import static com.android.server.wm.ActivityRecordProto.REPORTED_VISIBLE;
+import static com.android.server.wm.ActivityRecordProto.STARTING_DISPLAYED;
+import static com.android.server.wm.ActivityRecordProto.STARTING_MOVED;
+import static com.android.server.wm.ActivityRecordProto.STARTING_WINDOW;
+import static com.android.server.wm.ActivityRecordProto.STATE;
+import static com.android.server.wm.ActivityRecordProto.THUMBNAIL;
+import static com.android.server.wm.ActivityRecordProto.TRANSLUCENT;
+import static com.android.server.wm.ActivityRecordProto.VISIBLE;
+import static com.android.server.wm.ActivityRecordProto.VISIBLE_REQUESTED;
+import static com.android.server.wm.ActivityRecordProto.VISIBLE_SET_FROM_TRANSFERRED_STARTING_WINDOW;
+import static com.android.server.wm.ActivityRecordProto.WINDOW_TOKEN;
import static com.android.server.wm.ActivityStack.ActivityState.DESTROYED;
import static com.android.server.wm.ActivityStack.ActivityState.DESTROYING;
import static com.android.server.wm.ActivityStack.ActivityState.FINISHING;
@@ -167,27 +187,6 @@ import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_F
import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_NONE;
import static com.android.server.wm.ActivityTaskManagerService.RELAUNCH_REASON_WINDOWING_MODE_RESIZE;
import static com.android.server.wm.ActivityTaskManagerService.getInputDispatchingTimeoutLocked;
-import static com.android.server.wm.AppWindowTokenProto.ALL_DRAWN;
-import static com.android.server.wm.AppWindowTokenProto.APP_STOPPED;
-import static com.android.server.wm.AppWindowTokenProto.CLIENT_VISIBLE;
-import static com.android.server.wm.AppWindowTokenProto.DEFER_HIDING_CLIENT;
-import static com.android.server.wm.AppWindowTokenProto.FILLS_PARENT;
-import static com.android.server.wm.AppWindowTokenProto.FROZEN_BOUNDS;
-import static com.android.server.wm.AppWindowTokenProto.IS_ANIMATING;
-import static com.android.server.wm.AppWindowTokenProto.IS_WAITING_FOR_TRANSITION_START;
-import static com.android.server.wm.AppWindowTokenProto.LAST_ALL_DRAWN;
-import static com.android.server.wm.AppWindowTokenProto.LAST_SURFACE_SHOWING;
-import static com.android.server.wm.AppWindowTokenProto.NAME;
-import static com.android.server.wm.AppWindowTokenProto.NUM_DRAWN_WINDOWS;
-import static com.android.server.wm.AppWindowTokenProto.NUM_INTERESTING_WINDOWS;
-import static com.android.server.wm.AppWindowTokenProto.REPORTED_DRAWN;
-import static com.android.server.wm.AppWindowTokenProto.REPORTED_VISIBLE;
-import static com.android.server.wm.AppWindowTokenProto.STARTING_DISPLAYED;
-import static com.android.server.wm.AppWindowTokenProto.STARTING_MOVED;
-import static com.android.server.wm.AppWindowTokenProto.STARTING_WINDOW;
-import static com.android.server.wm.AppWindowTokenProto.THUMBNAIL;
-import static com.android.server.wm.AppWindowTokenProto.VISIBLE_SET_FROM_TRANSFERRED_STARTING_WINDOW;
-import static com.android.server.wm.AppWindowTokenProto.WINDOW_TOKEN;
import static com.android.server.wm.IdentifierProto.HASH_CODE;
import static com.android.server.wm.IdentifierProto.TITLE;
import static com.android.server.wm.IdentifierProto.USER_ID;
@@ -197,6 +196,7 @@ import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_FOCUS_LIGHT;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.android.server.wm.TaskPersister.DEBUG;
import static com.android.server.wm.TaskPersister.IMAGE_EXTENSION;
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
@@ -312,6 +312,8 @@ import com.android.server.protolog.common.ProtoLog;
import com.android.server.uri.UriPermissionOwner;
import com.android.server.wm.ActivityMetricsLogger.TransitionInfoSnapshot;
import com.android.server.wm.ActivityStack.ActivityState;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
+import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import com.android.server.wm.WindowManagerService.H;
import com.android.server.wm.utils.InsetUtils;
@@ -1876,9 +1878,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
} else if (newTask || !processRunning || (taskSwitch && !activityCreated)) {
return STARTING_WINDOW_TYPE_SPLASH_SCREEN;
} else if (taskSwitch && allowTaskSnapshot) {
- return snapshot == null ? STARTING_WINDOW_TYPE_NONE
- : snapshotOrientationSameAsTask(snapshot) || fromRecents
- ? STARTING_WINDOW_TYPE_SNAPSHOT : STARTING_WINDOW_TYPE_SPLASH_SCREEN;
+ if (snapshotOrientationSameAsTask(snapshot) || (snapshot != null && fromRecents)) {
+ return STARTING_WINDOW_TYPE_SNAPSHOT;
+ }
+ if (!isActivityTypeHome()) {
+ return STARTING_WINDOW_TYPE_SPLASH_SCREEN;
+ }
+ return STARTING_WINDOW_TYPE_NONE;
} else {
return STARTING_WINDOW_TYPE_NONE;
}
@@ -3031,6 +3037,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
}
// Throw away any services that have been bound by this activity.
mServiceConnectionsHolder.disconnectActivityFromServices();
+ // This activity record is removing, make sure not to disconnect twice.
+ mServiceConnectionsHolder = null;
}
@Override
@@ -3071,7 +3079,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
mStackSupervisor.getActivityMetricsLogger().notifyActivityRemoved(this);
waitingToShow = false;
- boolean delayed = isAnimating(TRANSITION | CHILDREN);
+ // Defer removal of this activity when either a child is animating, or app transition is on
+ // going. App transition animation might be applied on the parent stack not on the activity,
+ // but the actual frame buffer is associated with the activity, so we have to keep the
+ // activity while a parent is animating.
+ boolean delayed = isAnimating(TRANSITION | PARENTS | CHILDREN);
if (getDisplayContent().mClosingApps.contains(this)) {
delayed = true;
} else if (getDisplayContent().mAppTransition.isTransitionSet()) {
@@ -4073,7 +4085,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
@Override
boolean applyAnimation(WindowManager.LayoutParams lp, int transit, boolean enter,
- boolean isVoiceInteraction, @Nullable Runnable animationFinishedCallback) {
+ boolean isVoiceInteraction,
+ @Nullable OnAnimationFinishedCallback animationFinishedCallback) {
if (mUseTransferredAnimation) {
return false;
}
@@ -4151,7 +4164,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// We aren't delayed anything, but exiting windows rely on the animation finished
// callback being called in case the ActivityRecord was pretending to be delayed,
// which we might have done because we were in closing/opening apps list.
- onAnimationFinished();
+ onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, null /* AnimationAdapter */);
if (visible) {
// The token was made immediately visible, there will be no entrance animation.
// We need to inform the client the enter animation was finished.
@@ -6047,8 +6060,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
}
@Override
- protected void onAnimationFinished() {
- super.onAnimationFinished();
+ protected void onAnimationFinished(@AnimationType int type, AnimationAdapter anim) {
+ super.onAnimationFinished(type, anim);
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "AR#onAnimationFinished");
mTransit = TRANSIT_UNSET;
@@ -7495,37 +7508,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
* Write all fields to an {@code ActivityRecordProto}. This assumes the
* {@code ActivityRecordProto} is the outer-most proto data.
*/
- void dumpDebug(ProtoOutputStream proto) {
- dumpDebug(proto, APP_WINDOW_TOKEN, WindowTraceLogLevel.ALL);
- writeIdentifierToProto(proto, IDENTIFIER);
- proto.write(STATE, mState.toString());
- proto.write(VISIBLE_REQUESTED, mVisibleRequested);
- proto.write(FRONT_OF_TASK, isRootOfTask());
- if (hasProcess()) {
- proto.write(PROC_ID, app.getPid());
- }
- proto.write(TRANSLUCENT, !occludesParent());
- proto.write(VISIBLE, mVisible);
- }
-
- public void dumpDebug(ProtoOutputStream proto, long fieldId) {
- final long token = proto.start(fieldId);
- dumpDebug(proto);
- proto.end(token);
- }
-
- /**
- * Copied from old AppWindowToken.
- */
- @Override
- public void dumpDebug(ProtoOutputStream proto, long fieldId,
- @WindowTraceLogLevel int logLevel) {
- // Critical log level logs only visible elements to mitigate performance overheard
- if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
- return;
- }
-
- final long token = proto.start(fieldId);
+ void dumpDebug(ProtoOutputStream proto, @WindowTraceLogLevel int logLevel) {
writeNameToProto(proto, NAME);
super.dumpDebug(proto, WINDOW_TOKEN, logLevel);
proto.write(LAST_SURFACE_SHOWING, mLastSurfaceShowing);
@@ -7536,7 +7519,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
}
proto.write(FILLS_PARENT, mOccludesParent);
proto.write(APP_STOPPED, mAppStopped);
- proto.write(com.android.server.wm.AppWindowTokenProto.VISIBLE_REQUESTED, mVisibleRequested);
+ proto.write(TRANSLUCENT, !occludesParent());
+ proto.write(VISIBLE, mVisible);
+ proto.write(VISIBLE_REQUESTED, mVisibleRequested);
proto.write(CLIENT_VISIBLE, mClientVisible);
proto.write(DEFER_HIDING_CLIENT, mDeferHidingClient);
proto.write(REPORTED_DRAWN, reportedDrawn);
@@ -7555,7 +7540,25 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
for (Rect bounds : mFrozenBounds) {
bounds.dumpDebug(proto, FROZEN_BOUNDS);
}
- proto.write(com.android.server.wm.AppWindowTokenProto.VISIBLE, mVisible);
+
+ writeIdentifierToProto(proto, IDENTIFIER);
+ proto.write(STATE, mState.toString());
+ proto.write(FRONT_OF_TASK, isRootOfTask());
+ if (hasProcess()) {
+ proto.write(PROC_ID, app.getPid());
+ }
+ }
+
+ @Override
+ public void dumpDebug(ProtoOutputStream proto, long fieldId,
+ @WindowTraceLogLevel int logLevel) {
+ // Critical log level logs only visible elements to mitigate performance overheard
+ if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
+ return;
+ }
+
+ final long token = proto.start(fieldId);
+ dumpDebug(proto, logLevel);
proto.end(token);
}
diff --git a/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java b/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java
index 6e75f9c9167f..5dfc261480f2 100644
--- a/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java
+++ b/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java
@@ -18,10 +18,13 @@ package com.android.server.wm;
import static com.android.server.wm.ActivityStack.ActivityState.PAUSING;
import static com.android.server.wm.ActivityStack.ActivityState.RESUMED;
+import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_CLEANUP;
+import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
+
+import android.util.ArraySet;
+import android.util.Slog;
import java.io.PrintWriter;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.function.Consumer;
/**
@@ -30,6 +33,8 @@ import java.util.function.Consumer;
* instance of this per activity for tracking all services connected to that activity. AM will
* sometimes query this to bump the OOM score for the processes with services connected to visible
* activities.
+ * <p>
+ * Public methods are called in AM lock, otherwise in WM lock.
*/
public class ActivityServiceConnectionsHolder<T> {
@@ -44,7 +49,10 @@ public class ActivityServiceConnectionsHolder<T> {
* on the WM side since we don't perform operations on the object. Mainly here for communication
* and booking with the AM side.
*/
- private HashSet<T> mConnections;
+ private ArraySet<T> mConnections;
+
+ /** Whether all connections of {@link #mActivity} are being removed. */
+ private volatile boolean mIsDisconnecting;
ActivityServiceConnectionsHolder(ActivityTaskManagerService service, ActivityRecord activity) {
mService = service;
@@ -54,8 +62,16 @@ public class ActivityServiceConnectionsHolder<T> {
/** Adds a connection record that the activity has bound to a specific service. */
public void addConnection(T c) {
synchronized (mService.mGlobalLock) {
+ if (mIsDisconnecting) {
+ // This is unlikely to happen because the caller should create a new holder.
+ if (DEBUG_CLEANUP) {
+ Slog.e(TAG_ATM, "Skip adding connection " + c + " to a disconnecting holder of "
+ + mActivity);
+ }
+ return;
+ }
if (mConnections == null) {
- mConnections = new HashSet<>();
+ mConnections = new ArraySet<>();
}
mConnections.add(c);
}
@@ -67,6 +83,9 @@ public class ActivityServiceConnectionsHolder<T> {
if (mConnections == null) {
return;
}
+ if (DEBUG_CLEANUP && mIsDisconnecting) {
+ Slog.v(TAG_ATM, "Remove pending disconnecting " + c + " of " + mActivity);
+ }
mConnections.remove(c);
}
}
@@ -88,26 +107,33 @@ public class ActivityServiceConnectionsHolder<T> {
if (mConnections == null || mConnections.isEmpty()) {
return;
}
- final Iterator<T> it = mConnections.iterator();
- while (it.hasNext()) {
- T c = it.next();
- consumer.accept(c);
+ for (int i = mConnections.size() - 1; i >= 0; i--) {
+ consumer.accept(mConnections.valueAt(i));
}
}
}
- /** Removes the connection between the activity and all services that were connected to it. */
+ /**
+ * Removes the connection between the activity and all services that were connected to it. In
+ * general, this method is used to clean up if the activity didn't unbind services before it
+ * is destroyed.
+ */
void disconnectActivityFromServices() {
- if (mConnections == null || mConnections.isEmpty()) {
+ if (mConnections == null || mConnections.isEmpty() || mIsDisconnecting) {
return;
}
- // Capture and null out mConnections, to guarantee that we process
+ // Mark as disconnecting, to guarantee that we process
// disconnect of these specific connections exactly once even if
// we're racing with rapid activity lifecycle churn and this
// method is invoked more than once on this object.
- final Object disc = mConnections;
- mConnections = null;
- mService.mH.post(() -> mService.mAmInternal.disconnectActivityFromServices(this, disc));
+ // It is possible that {@link #removeConnection} is called while the disconnect-runnable is
+ // still in the message queue, so keep the reference of {@link #mConnections} to make sure
+ // the connection list is up-to-date.
+ mIsDisconnecting = true;
+ mService.mH.post(() -> {
+ mService.mAmInternal.disconnectActivityFromServices(this);
+ mIsDisconnecting = false;
+ });
}
public void dump(PrintWriter pw, String prefix) {
@@ -116,4 +142,9 @@ public class ActivityServiceConnectionsHolder<T> {
}
}
+ /** Used by {@link ActivityRecord#dump}. */
+ @Override
+ public String toString() {
+ return String.valueOf(mConnections);
+ }
}
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index ddf0117987dd..d5961a881c36 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -60,10 +60,18 @@ import static android.view.WindowManager.TRANSIT_TASK_OPEN_BEHIND;
import static android.view.WindowManager.TRANSIT_TASK_TO_BACK;
import static android.view.WindowManager.TRANSIT_TASK_TO_FRONT;
-import static com.android.server.am.ActivityStackProto.DISPLAY_ID;
-import static com.android.server.am.ActivityStackProto.FULLSCREEN;
-import static com.android.server.am.ActivityStackProto.RESUMED_ACTIVITY;
-import static com.android.server.am.ActivityStackProto.STACK;
+import static com.android.server.wm.TaskProto.ACTIVITIES;
+import static com.android.server.wm.TaskProto.ACTIVITY_TYPE;
+import static com.android.server.wm.TaskProto.BOUNDS;
+import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS;
+import static com.android.server.wm.TaskProto.DISPLAY_ID;
+import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS;
+import static com.android.server.wm.TaskProto.MIN_HEIGHT;
+import static com.android.server.wm.TaskProto.MIN_WIDTH;
+import static com.android.server.wm.TaskProto.ORIG_ACTIVITY;
+import static com.android.server.wm.TaskProto.REAL_ACTIVITY;
+import static com.android.server.wm.TaskProto.RESIZE_MODE;
+import static com.android.server.wm.TaskProto.RESUMED_ACTIVITY;
import static com.android.server.wm.ActivityStack.ActivityState.PAUSED;
import static com.android.server.wm.ActivityStack.ActivityState.PAUSING;
import static com.android.server.wm.ActivityStack.ActivityState.RESUMED;
@@ -107,15 +115,19 @@ import static com.android.server.wm.BoundsAnimationController.NO_PIP_MODE_CHANGE
import static com.android.server.wm.BoundsAnimationController.SCHEDULE_PIP_MODE_CHANGED_ON_END;
import static com.android.server.wm.BoundsAnimationController.SCHEDULE_PIP_MODE_CHANGED_ON_START;
import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_DOCKED_DIVIDER;
-import static com.android.server.wm.StackProto.ADJUSTED_BOUNDS;
-import static com.android.server.wm.StackProto.ADJUSTED_FOR_IME;
-import static com.android.server.wm.StackProto.ADJUST_DIVIDER_AMOUNT;
-import static com.android.server.wm.StackProto.ADJUST_IME_AMOUNT;
-import static com.android.server.wm.StackProto.ANIMATING_BOUNDS;
-import static com.android.server.wm.StackProto.DEFER_REMOVAL;
-import static com.android.server.wm.StackProto.FILLS_PARENT;
-import static com.android.server.wm.StackProto.MINIMIZE_AMOUNT;
-import static com.android.server.wm.StackProto.WINDOW_CONTAINER;
+import static com.android.server.wm.TaskProto.ADJUSTED_BOUNDS;
+import static com.android.server.wm.TaskProto.ADJUSTED_FOR_IME;
+import static com.android.server.wm.TaskProto.ADJUST_DIVIDER_AMOUNT;
+import static com.android.server.wm.TaskProto.ADJUST_IME_AMOUNT;
+import static com.android.server.wm.TaskProto.ANIMATING_BOUNDS;
+import static com.android.server.wm.TaskProto.DEFER_REMOVAL;
+import static com.android.server.wm.TaskProto.FILLS_PARENT;
+import static com.android.server.wm.TaskProto.MINIMIZE_AMOUNT;
+import static com.android.server.wm.TaskProto.ROOT_TASK_ID;
+import static com.android.server.wm.TaskProto.SURFACE_HEIGHT;
+import static com.android.server.wm.TaskProto.SURFACE_WIDTH;
+import static com.android.server.wm.TaskProto.TASKS;
+import static com.android.server.wm.TaskProto.WINDOW_CONTAINER;
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
@@ -341,6 +353,9 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
private static final int TRANSLUCENT_TIMEOUT_MSG = FIRST_ACTIVITY_STACK_MSG + 1;
+ // TODO(task-hierarchy): remove when tiles can be actual parents
+ TaskTile mTile = null;
+
private final Handler mHandler;
private class ActivityStackHandler extends Handler {
@@ -638,11 +653,20 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
}
@Override
+ public void resolveOverrideConfiguration(Configuration newParentConfig) {
+ super.resolveOverrideConfiguration(newParentConfig);
+ if (mTile != null) {
+ // If this is a virtual child of a tile, simulate the parent-child relationship
+ mTile.updateResolvedConfig(getResolvedOverrideConfiguration());
+ }
+ }
+
+ @Override
public void onConfigurationChanged(Configuration newParentConfig) {
// Calling Task#onConfigurationChanged() for leaf task since the ops in this method are
// particularly for ActivityStack, like preventing bounds changes when inheriting certain
// windowing mode.
- if (!isRootTask()) {
+ if (!isRootTask() || this instanceof TaskTile) {
super.onConfigurationChanged(newParentConfig);
return;
}
@@ -3944,7 +3968,6 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
? ((WindowContainer) newParent).getDisplayContent() : null;
final DisplayContent oldDisplay = oldParent != null
? ((WindowContainer) oldParent).getDisplayContent() : null;
-
super.onParentChanged(newParent, oldParent);
if (display != null && inSplitScreenPrimaryWindowingMode()
@@ -3963,6 +3986,11 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
if (oldDisplay != null && oldDisplay.isRemoving()) {
postReparent();
}
+ if (mTile != null && getSurfaceControl() != null) {
+ // by now, the TaskStack should already have been reparented, so we can reparent its
+ // surface here
+ reparentSurfaceControl(getPendingTransaction(), mTile.getSurfaceControl());
+ }
}
void reparent(DisplayContent newParent, boolean onTop) {
@@ -4000,7 +4028,16 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
@Override
void getRelativeDisplayedPosition(Point outPos) {
- super.getRelativeDisplayedPosition(outPos);
+ // check for tile which is "virtually" a parent.
+ if (mTile != null) {
+ final Rect dispBounds = getDisplayedBounds();
+ outPos.set(dispBounds.left, dispBounds.top);
+ final Rect parentBounds = mTile.getBounds();
+ outPos.offset(-parentBounds.left, -parentBounds.top);
+ } else {
+ super.getRelativeDisplayedPosition(outPos);
+ }
+
final int outset = getStackOutset();
outPos.x -= outset;
outPos.y -= outset;
@@ -4010,6 +4047,16 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
if (mSurfaceControl == null) {
return;
}
+ if (mTile != null) {
+ // Tile controls crop, so the app needs to be able to draw its background outside of
+ // the stack bounds for when the tile crop gets bigger than the stack.
+ if (mLastSurfaceSize.equals(0, 0)) {
+ return;
+ }
+ transaction.setWindowCrop(mSurfaceControl, null);
+ mLastSurfaceSize.set(0, 0);
+ return;
+ }
final Rect stackBounds = getDisplayedBounds();
int width = stackBounds.width();
@@ -4033,6 +4080,9 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
@Override
void onDisplayChanged(DisplayContent dc) {
+ if (mTile != null && dc != mTile.getDisplay()) {
+ mTile.removeChild(this);
+ }
super.onDisplayChanged(dc);
if (isRootTask()) {
updateSurfaceBounds();
@@ -4848,32 +4898,44 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
return shouldSleepActivities() || mAtmService.mShuttingDown;
}
- @Override
- public void dumpDebug(ProtoOutputStream proto, long fieldId,
- @WindowTraceLogLevel int logLevel) {
- final long token = proto.start(fieldId);
- dumpDebugInnerStackOnly(proto, STACK, logLevel);
- proto.write(com.android.server.am.ActivityStackProto.ID, getRootTaskId());
+ TaskTile getTile() {
+ return mTile;
+ }
- forAllTasks((t) -> {
- t.dumpDebugInner(proto, com.android.server.am.ActivityStackProto.TASKS, logLevel);
- }, true /* traverseTopToBottom */, this);
- if (mResumedActivity != null) {
- mResumedActivity.writeIdentifierToProto(proto, RESUMED_ACTIVITY);
+ /**
+ * Don't call this directly. instead use {@link TaskTile#addChild} or
+ * {@link TaskTile#removeChild}.
+ */
+ void setTile(TaskTile tile) {
+ TaskTile origTile = mTile;
+ mTile = tile;
+ final ConfigurationContainer parent = getParent();
+ if (parent != null) {
+ onConfigurationChanged(parent.getConfiguration());
}
- proto.write(DISPLAY_ID, getDisplayId());
- if (!matchParentBounds()) {
- final Rect bounds = getRequestedOverrideBounds();
- bounds.dumpDebug(proto, com.android.server.am.ActivityStackProto.BOUNDS);
+
+ // Reparent to tile surface or back to original parent
+ if (getSurfaceControl() == null) {
+ return;
}
+ if (mTile != null) {
+ reparentSurfaceControl(getPendingTransaction(), mTile.getSurfaceControl());
+ } else if (mTile == null && origTile != null) {
+ reparentSurfaceControl(getPendingTransaction(), getParentSurfaceControl());
+ }
+ }
- // TODO: Remove, no longer needed with windowingMode.
- proto.write(FULLSCREEN, matchParentBounds());
- proto.end(token);
+ @Override
+ void removeImmediately() {
+ // TODO(task-hierarchy): remove this override when tiles are in hierarchy
+ if (mTile != null) {
+ mTile.removeChild(this);
+ }
+ super.removeImmediately();
}
- // TODO(proto-merge): Remove once protos for ActivityStack and TaskStack are merged.
- void dumpDebugInnerStackOnly(ProtoOutputStream proto, long fieldId,
+ @Override
+ public void dumpDebug(ProtoOutputStream proto, long fieldId,
@WindowTraceLogLevel int logLevel) {
if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
return;
@@ -4881,19 +4943,60 @@ class ActivityStack extends Task implements BoundsAnimationTarget {
final long token = proto.start(fieldId);
super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
- proto.write(StackProto.ID, getRootTaskId());
- forAllTasks((t) -> {
- t.dumpDebugInnerTaskOnly(proto, StackProto.TASKS, logLevel);
- }, true /* traverseTopToBottom */, this);
+
+ proto.write(TaskProto.ID, mTaskId);
+ proto.write(DISPLAY_ID, getDisplayId());
+ proto.write(ROOT_TASK_ID, getRootTaskId());
+
+ for (int i = mChildren.size() - 1; i >= 0; --i) {
+ final WindowContainer child = mChildren.get(i);
+ if (child instanceof Task) {
+ child.dumpDebug(proto, TASKS, logLevel);
+ } else if (child instanceof ActivityRecord) {
+ child.dumpDebug(proto, ACTIVITIES, logLevel);
+ } else {
+ throw new IllegalStateException("Unknown child type: " + child);
+ }
+ }
+
+ if (mResumedActivity != null) {
+ mResumedActivity.writeIdentifierToProto(proto, RESUMED_ACTIVITY);
+ }
+ if (realActivity != null) {
+ proto.write(REAL_ACTIVITY, realActivity.flattenToShortString());
+ }
+ if (origActivity != null) {
+ proto.write(ORIG_ACTIVITY, origActivity.flattenToShortString());
+ }
+ proto.write(ACTIVITY_TYPE, getActivityType());
+ proto.write(RESIZE_MODE, mResizeMode);
+ proto.write(MIN_WIDTH, mMinWidth);
+ proto.write(MIN_HEIGHT, mMinHeight);
+
proto.write(FILLS_PARENT, matchParentBounds());
- getRawBounds().dumpDebug(proto, StackProto.BOUNDS);
+
+ if (!matchParentBounds()) {
+ final Rect bounds = getRequestedOverrideBounds();
+ bounds.dumpDebug(proto, BOUNDS);
+ }
+ getOverrideDisplayedBounds().dumpDebug(proto, DISPLAYED_BOUNDS);
+ mAdjustedBounds.dumpDebug(proto, ADJUSTED_BOUNDS);
+ if (mLastNonFullscreenBounds != null) {
+ mLastNonFullscreenBounds.dumpDebug(proto, LAST_NON_FULLSCREEN_BOUNDS);
+ }
+
proto.write(DEFER_REMOVAL, mDeferRemoval);
proto.write(MINIMIZE_AMOUNT, mMinimizeAmount);
proto.write(ADJUSTED_FOR_IME, mAdjustedForIme);
proto.write(ADJUST_IME_AMOUNT, mAdjustImeAmount);
proto.write(ADJUST_DIVIDER_AMOUNT, mAdjustDividerAmount);
- mAdjustedBounds.dumpDebug(proto, ADJUSTED_BOUNDS);
proto.write(ANIMATING_BOUNDS, mBoundsAnimating);
+
+ if (mSurfaceControl != null) {
+ proto.write(SURFACE_WIDTH, mSurfaceControl.getWidth());
+ proto.write(SURFACE_HEIGHT, mSurfaceControl.getHeight());
+ }
+
proto.end(token);
}
}
diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
index 362e781f7fb9..a513ef8f3190 100644
--- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
@@ -1711,6 +1711,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks {
* invisible as well and added to the stopping list. After which we process the
* stopping list by handling the idle.
*/
+ stack.cancelAnimation();
stack.mForceHidden = true;
stack.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS);
stack.mForceHidden = false;
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index 26812f462b3f..9e3292b59402 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -1595,11 +1595,11 @@ class ActivityStarter {
mRootWindowContainer.resumeFocusedStacksTopActivities(
mTargetStack, mStartActivity, mOptions);
}
- } else if (mStartActivity != null) {
- mSupervisor.mRecentTasks.add(mStartActivity.getTask());
}
mRootWindowContainer.updateUserStack(mStartActivity.mUserId, mTargetStack);
+ // Update the recent tasks list immediately when the activity starts
+ mSupervisor.mRecentTasks.add(mStartActivity.getTask());
mSupervisor.handleNonResizableTaskIfNeeded(mStartActivity.getTask(),
preferredWindowingMode, mPreferredDisplayId, mTargetStack);
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 976fbdb36bba..5a5976bf58ad 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -69,6 +69,7 @@ import static com.android.server.am.ActivityManagerService.ANR_TRACE_DIR;
import static com.android.server.am.ActivityManagerService.MY_PID;
import static com.android.server.am.ActivityManagerService.STOCK_PM_FLAGS;
import static com.android.server.am.ActivityManagerService.dumpStackTraces;
+import static com.android.server.am.ActivityManagerServiceDumpActivitiesProto.ROOT_WINDOW_CONTAINER;
import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.CONFIG_WILL_CHANGE;
import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.CONTROLLER;
import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.CURRENT_TRACKER;
@@ -144,6 +145,7 @@ import android.app.IApplicationThread;
import android.app.IAssistDataReceiver;
import android.app.INotificationManager;
import android.app.IRequestFinishCallback;
+import android.app.ITaskOrganizerController;
import android.app.ITaskStackListener;
import android.app.Notification;
import android.app.NotificationManager;
@@ -222,14 +224,11 @@ import android.util.ArraySet;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
import android.view.IRecentsAnimationRunner;
-import android.view.ITaskOrganizer;
import android.view.RemoteAnimationAdapter;
import android.view.RemoteAnimationDefinition;
-import android.view.WindowContainerTransaction;
import android.view.WindowManager;
import com.android.internal.R;
@@ -248,6 +247,7 @@ import com.android.internal.policy.IKeyguardDismissCallback;
import com.android.internal.policy.KeyguardDismissCallback;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.FastPrintWriter;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.function.pooled.PooledConsumer;
import com.android.internal.util.function.pooled.PooledFunction;
import com.android.internal.util.function.pooled.PooledLambda;
@@ -258,7 +258,6 @@ import com.android.server.SystemServiceManager;
import com.android.server.UiThread;
import com.android.server.Watchdog;
import com.android.server.am.ActivityManagerService;
-import com.android.server.am.ActivityManagerServiceDumpActivitiesProto;
import com.android.server.am.ActivityManagerServiceDumpProcessesProto;
import com.android.server.am.AppTimeTracker;
import com.android.server.am.BaseErrorDialog;
@@ -292,7 +291,6 @@ import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -344,10 +342,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
/** This activity is being relaunched due to a free-resize operation. */
public static final int RELAUNCH_REASON_FREE_RESIZE = 2;
- /** Flag indicating that an applied transaction may have effected lifecycle */
- private static final int TRANSACT_EFFECTS_CLIENT_CONFIG = 1;
- private static final int TRANSACT_EFFECTS_LIFECYCLE = 1 << 1;
-
Context mContext;
/**
@@ -669,8 +663,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
/**
* Stores the registration and state of TaskOrganizers in use.
*/
- TaskOrganizerController mTaskOrganizerController =
- new TaskOrganizerController(this, mGlobalLock);
+ TaskOrganizerController mTaskOrganizerController = new TaskOrganizerController(this);
private int mDeviceOwnerUid = Process.INVALID_UID;
@@ -1286,15 +1279,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
@Override
- public final void registerTaskOrganizer(ITaskOrganizer organizer, int windowingMode) {
- enforceCallerIsRecentsOrHasPermission(
- MANAGE_ACTIVITY_STACKS, "registerTaskOrganizer()");
- synchronized (mGlobalLock) {
- mTaskOrganizerController.registerTaskOrganizer(organizer, windowingMode);
- }
- }
-
- @Override
public IBinder requestStartActivityPermissionToken(IBinder delegatorToken) {
int callingUid = Binder.getCallingUid();
if (UserHandle.getAppId(callingUid) != SYSTEM_UID) {
@@ -3304,116 +3288,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
}
- private int sanitizeAndApplyChange(WindowContainer container,
- WindowContainerTransaction.Change change) {
- if (!(container instanceof Task || container instanceof ActivityStack)) {
- throw new RuntimeException("Invalid token in task transaction");
- }
- // The "client"-facing API should prevent bad changes; however, just in case, sanitize
- // masks here.
- int configMask = change.getConfigSetMask();
- int windowMask = change.getWindowSetMask();
- configMask &= ActivityInfo.CONFIG_WINDOW_CONFIGURATION
- | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
- windowMask &= WindowConfiguration.WINDOW_CONFIG_BOUNDS;
- int effects = 0;
- if (configMask != 0) {
- Configuration c = new Configuration(container.getRequestedOverrideConfiguration());
- c.setTo(change.getConfiguration(), configMask, windowMask);
- container.onRequestedOverrideConfigurationChanged(c);
- // TODO(b/145675353): remove the following once we could apply new bounds to the
- // pinned stack together with its children.
- resizePinnedStackIfNeeded(container, configMask, windowMask, c);
- effects |= TRANSACT_EFFECTS_CLIENT_CONFIG;
- }
- if ((change.getChangeMask() & WindowContainerTransaction.Change.CHANGE_FOCUSABLE) != 0) {
- if (container.setFocusable(change.getFocusable())) {
- effects |= TRANSACT_EFFECTS_LIFECYCLE;
- }
- }
- return effects;
- }
-
- private void resizePinnedStackIfNeeded(ConfigurationContainer container, int configMask,
- int windowMask, Configuration config) {
- if ((container instanceof ActivityStack)
- && ((configMask & ActivityInfo.CONFIG_WINDOW_CONFIGURATION) != 0)
- && ((windowMask & WindowConfiguration.WINDOW_CONFIG_BOUNDS) != 0)) {
- final ActivityStack stack = (ActivityStack) container;
- if (stack.inPinnedWindowingMode()) {
- stack.resize(config.windowConfiguration.getBounds(),
- null /* tempTaskBounds */, null /* tempTaskInsetBounds */,
- PRESERVE_WINDOWS, true /* deferResume */);
- }
- }
- }
-
- private int applyWindowContainerChange(WindowContainer wc,
- WindowContainerTransaction.Change c) {
- int effects = sanitizeAndApplyChange(wc, c);
-
- Rect enterPipBounds = c.getEnterPipBounds();
- if (enterPipBounds != null) {
- Task tr = (Task) wc;
- mStackSupervisor.updatePictureInPictureMode(tr,
- enterPipBounds, true);
- }
- return effects;
- }
-
- @Override
- public void applyContainerTransaction(WindowContainerTransaction t) {
- mAmInternal.enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "applyContainerTransaction()");
- if (t == null) {
- return;
- }
- long ident = Binder.clearCallingIdentity();
- try {
- synchronized (mGlobalLock) {
- int effects = 0;
- deferWindowLayout();
- try {
- ArraySet<WindowContainer> haveConfigChanges = new ArraySet<>();
- Iterator<Map.Entry<IBinder, WindowContainerTransaction.Change>> entries =
- t.getChanges().entrySet().iterator();
- while (entries.hasNext()) {
- final Map.Entry<IBinder, WindowContainerTransaction.Change> entry =
- entries.next();
- final WindowContainer wc = WindowContainer.RemoteToken.fromBinder(
- entry.getKey()).getContainer();
- int containerEffect = applyWindowContainerChange(wc, entry.getValue());
- effects |= containerEffect;
- // Lifecycle changes will trigger ensureConfig for everything.
- if ((effects & TRANSACT_EFFECTS_LIFECYCLE) == 0
- && (containerEffect & TRANSACT_EFFECTS_CLIENT_CONFIG) != 0) {
- haveConfigChanges.add(wc);
- }
- }
- if ((effects & TRANSACT_EFFECTS_LIFECYCLE) != 0) {
- // Already calls ensureActivityConfig
- mRootWindowContainer.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS);
- } else if ((effects & TRANSACT_EFFECTS_CLIENT_CONFIG) != 0) {
- final PooledConsumer f = PooledLambda.obtainConsumer(
- ActivityRecord::ensureActivityConfiguration,
- PooledLambda.__(ActivityRecord.class), 0,
- false /* preserveWindow */);
- try {
- for (int i = haveConfigChanges.size() - 1; i >= 0; --i) {
- haveConfigChanges.valueAt(i).forAllActivities(f);
- }
- } finally {
- f.recycle();
- }
- }
- } finally {
- continueWindowLayout();
- }
- }
- } finally {
- Binder.restoreCallingIdentity(ident);
- }
- }
-
@Override
public boolean releaseActivityInstance(IBinder token) {
synchronized (mGlobalLock) {
@@ -4442,6 +4316,13 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
}
+ @Override
+ public ITaskOrganizerController getTaskOrganizerController() {
+ mAmInternal.enforceCallingPermission(MANAGE_ACTIVITY_STACKS,
+ "getTaskOrganizerController()");
+ return mTaskOrganizerController;
+ }
+
/**
* Check that we have the features required for VR-related API calls, and throw an exception if
* not.
@@ -5380,7 +5261,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
if (DEBUG_SWITCH || DEBUG_CONFIGURATION) Slog.i(TAG_CONFIGURATION,
"Updating global configuration to: " + values);
writeConfigurationChanged(changes);
- StatsLog.write(StatsLog.RESOURCE_CONFIGURATION_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.RESOURCE_CONFIGURATION_CHANGED,
values.colorMode,
values.densityDpi,
values.fontScale,
@@ -5699,8 +5580,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
// will wake up stacks or put them to sleep as appropriate.
if (wasSleeping) {
mSleeping = false;
- StatsLog.write(StatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED,
- StatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED__STATE__AWAKE);
+ FrameworkStatsLog.write(FrameworkStatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED,
+ FrameworkStatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED__STATE__AWAKE);
startTimeTrackingFocusedActivityLocked();
mTopProcessState = ActivityManager.PROCESS_STATE_TOP;
Slog.d(TAG, "Top Process State changed to PROCESS_STATE_TOP");
@@ -5712,8 +5593,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
}
} else if (!mSleeping && shouldSleep) {
mSleeping = true;
- StatsLog.write(StatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED,
- StatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED__STATE__ASLEEP);
+ FrameworkStatsLog.write(FrameworkStatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED,
+ FrameworkStatsLog.ACTIVITY_MANAGER_SLEEP_STATE_CHANGED__STATE__ASLEEP);
if (mCurAppTimeTracker != null) {
mCurAppTimeTracker.stop();
}
@@ -7082,10 +6963,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
public void writeActivitiesToProto(ProtoOutputStream proto) {
synchronized (mGlobalLock) {
// The output proto of "activity --proto activities"
- // is ActivityManagerServiceDumpActivitiesProto
- mRootWindowContainer.dumpDebug(proto,
- ActivityManagerServiceDumpActivitiesProto.ACTIVITY_STACK_SUPERVISOR,
- WindowTraceLogLevel.ALL);
+ mRootWindowContainer.dumpDebug(
+ proto, ROOT_WINDOW_CONTAINER, WindowTraceLogLevel.ALL);
}
}
diff --git a/services/core/java/com/android/server/wm/AnimationAdapter.java b/services/core/java/com/android/server/wm/AnimationAdapter.java
index 1be3d614de33..0519b80c732a 100644
--- a/services/core/java/com/android/server/wm/AnimationAdapter.java
+++ b/services/core/java/com/android/server/wm/AnimationAdapter.java
@@ -21,6 +21,7 @@ import android.view.SurfaceControl;
import android.view.SurfaceControl.Transaction;
import android.view.animation.Animation;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import java.io.PrintWriter;
@@ -47,9 +48,10 @@ interface AnimationAdapter {
* component running the animation after {@code finishCallback} has been
* invoked, or after the animation was cancelled.
* @param t The Transaction to apply the initial frame of the animation.
+ * @param type The type of the animation.
* @param finishCallback The callback to be invoked when the animation has finished.
*/
- void startAnimation(SurfaceControl animationLeash, Transaction t,
+ void startAnimation(SurfaceControl animationLeash, Transaction t, @AnimationType int type,
OnAnimationFinishedCallback finishCallback);
/**
diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java
index 3927d5fa2604..f72020ea8988 100644
--- a/services/core/java/com/android/server/wm/AppTransitionController.java
+++ b/services/core/java/com/android/server/wm/AppTransitionController.java
@@ -377,9 +377,9 @@ public class AppTransitionController {
transitioningDecendants.add(app);
}
}
- wc.applyAnimation(animLp, transit, visible, voiceInteraction, () -> {
+ wc.applyAnimation(animLp, transit, visible, voiceInteraction, (type, anim) -> {
for (int j = 0; j < transitioningDecendants.size(); ++j) {
- transitioningDecendants.get(j).onAnimationFinished();
+ transitioningDecendants.get(j).onAnimationFinished(type, anim);
}
});
}
@@ -431,6 +431,8 @@ public class AppTransitionController {
while (!candidates.isEmpty()) {
final WindowContainer current = candidates.removeFirst();
final WindowContainer parent = current.getParent();
+ siblings.clear();
+ siblings.add(current);
boolean canPromote = true;
if (parent == null) {
@@ -468,12 +470,11 @@ public class AppTransitionController {
//
// [Task] +- [ActivityRecord1] (visible, in opening apps)
// +- [ActivityRecord2] (visible, not in opening apps)
- siblings.clear();
for (int j = 0; j < parent.getChildCount(); ++j) {
final WindowContainer sibling = parent.getChildAt(j);
- if (sibling == current || candidates.remove(sibling)) {
+ if (candidates.remove(sibling)) {
siblings.add(sibling);
- } else if (sibling.isVisible()) {
+ } else if (sibling != current && sibling.isVisible()) {
canPromote = false;
}
}
diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java
index 16aff9c10c7d..537ca08f49fc 100644
--- a/services/core/java/com/android/server/wm/Dimmer.java
+++ b/services/core/java/com/android/server/wm/Dimmer.java
@@ -20,6 +20,7 @@ import static com.android.server.wm.AlphaAnimationSpecProto.DURATION_MS;
import static com.android.server.wm.AlphaAnimationSpecProto.FROM;
import static com.android.server.wm.AlphaAnimationSpecProto.TO;
import static com.android.server.wm.AnimationSpecProto.ALPHA;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_DIMMER;
import android.annotation.Nullable;
import android.graphics.Rect;
@@ -29,6 +30,8 @@ import android.view.Surface;
import android.view.SurfaceControl;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
+import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import java.io.PrintWriter;
@@ -135,7 +138,7 @@ class Dimmer {
mDimLayer = dimLayer;
mDimming = true;
final DimAnimatable dimAnimatable = new DimAnimatable(dimLayer);
- mSurfaceAnimator = new SurfaceAnimator(dimAnimatable, () -> {
+ mSurfaceAnimator = new SurfaceAnimator(dimAnimatable, (type, anim) -> {
if (!mDimming) {
dimAnimatable.removeSurface();
}
@@ -157,8 +160,8 @@ class Dimmer {
@VisibleForTesting
interface SurfaceAnimatorStarter {
void startAnimation(SurfaceAnimator surfaceAnimator, SurfaceControl.Transaction t,
- AnimationAdapter anim, boolean hidden,
- @Nullable Runnable animationFinishedCallback);
+ AnimationAdapter anim, boolean hidden, @AnimationType int type,
+ @Nullable OnAnimationFinishedCallback animationFinishedCallback);
}
Dimmer(WindowContainer host) {
@@ -345,7 +348,7 @@ class Dimmer {
mSurfaceAnimatorStarter.startAnimation(animator, t, new LocalAnimationAdapter(
new AlphaAnimationSpec(startAlpha, endAlpha, getDimDuration(container)),
mHost.mWmService.mSurfaceAnimationRunner), false /* hidden */,
- null /* animationFinishedCallback */);
+ ANIMATION_TYPE_DIMMER, null /* animationFinishedCallback */);
}
private long getDimDuration(WindowContainer container) {
diff --git a/services/core/java/com/android/server/wm/DisplayArea.java b/services/core/java/com/android/server/wm/DisplayArea.java
new file mode 100644
index 000000000000..b3edc91a4129
--- /dev/null
+++ b/services/core/java/com/android/server/wm/DisplayArea.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm;
+
+import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_BEHIND;
+import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
+import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
+import static android.view.WindowManager.TRANSIT_KEYGUARD_UNOCCLUDE;
+import static android.view.WindowManagerPolicyConstants.APPLICATION_LAYER;
+
+import static com.android.internal.util.Preconditions.checkState;
+import static com.android.server.wm.DisplayAreaChildProto.DISPLAY_AREA;
+import static com.android.server.wm.DisplayAreaChildProto.UNKNOWN;
+import static com.android.server.wm.DisplayAreaChildProto.WINDOW;
+import static com.android.server.wm.DisplayAreaProto.CHILDREN;
+import static com.android.server.wm.DisplayAreaProto.NAME;
+import static com.android.server.wm.DisplayAreaProto.WINDOW_CONTAINER;
+import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION;
+
+import android.graphics.Rect;
+import android.util.proto.ProtoOutputStream;
+
+import com.android.server.policy.WindowManagerPolicy;
+import com.android.server.protolog.common.ProtoLog;
+
+import java.util.Comparator;
+import java.util.function.Predicate;
+
+/**
+ * Container for grouping WindowContainer below DisplayContent.
+ *
+ * DisplayAreas are managed by a {@link DisplayAreaPolicy}, and can override configurations and
+ * can be leashed.
+ *
+ * DisplayAreas can contain nested DisplayAreas.
+ *
+ * DisplayAreas come in three flavors, to ensure that windows have the right Z-Order:
+ * - BELOW_TASKS: Can only contain BELOW_TASK DisplayAreas and WindowTokens that go below tasks.
+ * - ABOVE_TASKS: Can only contain ABOVE_TASK DisplayAreas and WindowTokens that go above tasks.
+ * - ANY: Can contain any kind of DisplayArea, and any kind of WindowToken or the Task container.
+ * Cannot have a sibling that is of type ANY.
+ *
+ * @param <T> type of the children of the DisplayArea.
+ */
+public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> {
+
+ protected final Type mType;
+ private final String mName;
+
+ DisplayArea(WindowManagerService wms, Type type, String name) {
+ super(wms);
+ // TODO(display-area): move this up to ConfigurationContainer
+ mOrientation = SCREEN_ORIENTATION_UNSET;
+ mType = type;
+ mName = name;
+ }
+
+ @Override
+ void onChildPositionChanged(WindowContainer child) {
+ super.onChildPositionChanged(child);
+
+ // Verify that we have proper ordering
+ Type.checkChild(mType, Type.typeOf(child));
+
+ if (child instanceof ActivityStack) {
+ // TODO(display-area): ActivityStacks are type ANY, but are allowed to have siblings.
+ // They might need a separate type.
+ return;
+ }
+
+ for (int i = 1; i < getChildCount(); i++) {
+ final WindowContainer top = getChildAt(i - 1);
+ final WindowContainer bottom = getChildAt(i);
+ if (child == top || child == bottom) {
+ Type.checkSiblings(Type.typeOf(top), Type.typeOf(bottom));
+ }
+ }
+ }
+
+ @Override
+ boolean fillsParent() {
+ return true;
+ }
+
+ @Override
+ String getName() {
+ return mName;
+ }
+
+ @Override
+ public final void dumpDebug(ProtoOutputStream proto, long fieldId, int logLevel) {
+ final long token = proto.start(fieldId);
+ super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
+ proto.write(NAME, mName);
+ for (int i = 0; i < getChildCount(); i++) {
+ final long childToken = proto.start(CHILDREN);
+ final T child = getChildAt(i);
+ if (child instanceof ActivityStack) {
+ // TODO(display-area): Dump stacks & tasks here, instead of in DisplayContent's
+ // dumpDebug. For now, skip them here to avoid dumping them as UNKNOWN.
+ } else if (child instanceof WindowToken) {
+ ((WindowToken) child).dumpDebug(proto, WINDOW, logLevel);
+ } else if (child instanceof DisplayArea) {
+ child.dumpDebug(proto, DISPLAY_AREA, logLevel);
+ } else {
+ proto.write(UNKNOWN, child.getClass().getSimpleName());
+ }
+ proto.end(childToken);
+ }
+ proto.end(token);
+ }
+
+ /**
+ * DisplayArea that contains WindowTokens, and orders them according to their type.
+ */
+ public static class Tokens extends DisplayArea<WindowToken> {
+ int mLastKeyguardForcedOrientation = SCREEN_ORIENTATION_UNSPECIFIED;
+
+ private final Comparator<WindowToken> mWindowComparator =
+ Comparator.comparingInt(WindowToken::getWindowLayerFromType);
+
+ private final Predicate<WindowState> mGetOrientingWindow = w -> {
+ final WindowManagerPolicy policy = mWmService.mPolicy;
+ if (policy.isKeyguardHostWindow(w.mAttrs)) {
+ if (mWmService.mKeyguardGoingAway) {
+ return false;
+ }
+ // Consider unoccluding only when all unknown visibilities have been
+ // resolved, as otherwise we just may be starting another occluding activity.
+ final boolean isUnoccluding =
+ mDisplayContent.mAppTransition.getAppTransition()
+ == TRANSIT_KEYGUARD_UNOCCLUDE
+ && mDisplayContent.mUnknownAppVisibilityController.allResolved();
+ // If keyguard is showing, or we're unoccluding, force the keyguard's orientation,
+ // even if SystemUI hasn't updated the attrs yet.
+ if (policy.isKeyguardShowingAndNotOccluded() || isUnoccluding) {
+ return true;
+ }
+ }
+ final int req = w.mAttrs.screenOrientation;
+ if (req == SCREEN_ORIENTATION_UNSPECIFIED || req == SCREEN_ORIENTATION_BEHIND
+ || req == SCREEN_ORIENTATION_UNSET) {
+ return false;
+ }
+ return true;
+ };
+
+ Tokens(WindowManagerService wms, Type type, String name) {
+ super(wms, type, name);
+ }
+
+ void addChild(WindowToken token) {
+ addChild(token, mWindowComparator);
+ }
+
+ @Override
+ int getOrientation(int candidate) {
+ // Find a window requesting orientation.
+ final WindowState win = getWindow(mGetOrientingWindow);
+
+ if (win == null) {
+ return candidate;
+ }
+ int req = win.mAttrs.screenOrientation;
+ ProtoLog.v(WM_DEBUG_ORIENTATION, "%s forcing orientation to %d for display id=%d",
+ win, req, mDisplayContent.getDisplayId());
+ if (mWmService.mPolicy.isKeyguardHostWindow(win.mAttrs)) {
+ // SystemUI controls the Keyguard orientation asynchronously, and mAttrs may be
+ // stale. We record / use the last known override.
+ if (req != SCREEN_ORIENTATION_UNSET && req != SCREEN_ORIENTATION_UNSPECIFIED) {
+ mLastKeyguardForcedOrientation = req;
+ } else {
+ req = mLastKeyguardForcedOrientation;
+ }
+ }
+ return req;
+ }
+ }
+
+ /**
+ * Top-most DisplayArea under DisplayContent.
+ */
+ public static class Root extends DisplayArea<DisplayArea> {
+ private final Dimmer mDimmer = new Dimmer(this);
+ private final Rect mTmpDimBoundsRect = new Rect();
+
+ Root(WindowManagerService wms) {
+ super(wms, Type.ANY, "DisplayArea.Root");
+ }
+
+ @Override
+ Dimmer getDimmer() {
+ return mDimmer;
+ }
+
+ @Override
+ void prepareSurfaces() {
+ mDimmer.resetDimStates();
+ super.prepareSurfaces();
+ getBounds(mTmpDimBoundsRect);
+
+ if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) {
+ scheduleAnimation();
+ }
+ }
+ }
+
+ enum Type {
+ /** Can only contain WindowTokens above the APPLICATION_LAYER. */
+ ABOVE_TASKS,
+ /** Can only contain WindowTokens below the APPLICATION_LAYER. */
+ BELOW_TASKS,
+ /** Can contain anything. */
+ ANY;
+
+ static void checkSiblings(Type bottom, Type top) {
+ checkState(!(bottom == ANY && top == ANY), "ANY cannot be a sibling of ANY");
+ checkState(!(bottom != BELOW_TASKS && top == BELOW_TASKS),
+ bottom + " must be above BELOW_TASKS");
+ checkState(!(bottom == ABOVE_TASKS && top != ABOVE_TASKS),
+ top + " must be below ABOVE_TASKS");
+ }
+
+ static void checkChild(Type parent, Type child) {
+ switch (parent) {
+ case ABOVE_TASKS:
+ checkState(child == ABOVE_TASKS, "ABOVE_TASKS can only contain ABOVE_TASKS");
+ break;
+ case BELOW_TASKS:
+ checkState(child == BELOW_TASKS, "BELOW_TASKS can only contain BELOW_TASKS");
+ break;
+ }
+ }
+
+ static Type typeOf(WindowContainer c) {
+ if (c instanceof DisplayArea) {
+ return ((DisplayArea) c).mType;
+ } else if (c instanceof WindowToken && !(c instanceof ActivityRecord)) {
+ return typeOf((WindowToken) c);
+ } else if (c instanceof ActivityStack) {
+ return ANY;
+ } else {
+ throw new IllegalArgumentException("Unknown container: " + c);
+ }
+ }
+
+ private static Type typeOf(WindowToken c) {
+ return c.getWindowLayerFromType() < APPLICATION_LAYER ? BELOW_TASKS : ABOVE_TASKS;
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/wm/DisplayAreaPolicy.java b/services/core/java/com/android/server/wm/DisplayAreaPolicy.java
new file mode 100644
index 000000000000..06e7b48a1f04
--- /dev/null
+++ b/services/core/java/com/android/server/wm/DisplayAreaPolicy.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm;
+
+import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
+
+import com.android.server.wm.DisplayContent.TaskContainers;
+
+/**
+ * Policy that manages DisplayAreas.
+ */
+public abstract class DisplayAreaPolicy {
+ protected final WindowManagerService mWmService;
+ protected final DisplayContent mContent;
+
+ /**
+ * The root DisplayArea. Attach all DisplayAreas to this area (directly or indirectly).
+ */
+ protected final DisplayArea.Root mRoot;
+
+ /**
+ * The IME container. The IME's windows are automatically added to this container.
+ */
+ protected final DisplayArea<? extends WindowContainer> mImeContainer;
+
+ /**
+ * The Tasks container. Tasks etc. are automatically added to this container.
+ */
+ protected final TaskContainers mTaskContainers;
+
+ DisplayAreaPolicy(WindowManagerService wmService,
+ DisplayContent content, DisplayArea.Root root,
+ DisplayArea<? extends WindowContainer> imeContainer, TaskContainers taskContainers) {
+ mWmService = wmService;
+ mContent = content;
+ mRoot = root;
+ mImeContainer = imeContainer;
+ mTaskContainers = taskContainers;
+ }
+
+ /**
+ * Called to ask the policy to set up the DisplayArea hierarchy. At a minimum this must:
+ *
+ * - attach mImeContainer to mRoot (or one of its descendants)
+ * - attach mTaskStacks to mRoot (or one of its descendants)
+ *
+ * Additionally, this is the right place to set up any other DisplayAreas as desired.
+ */
+ public abstract void attachDisplayAreas();
+
+ /**
+ * Called to ask the policy to attach the given WindowToken to the DisplayArea hierarchy.
+ *
+ * This must attach the token to mRoot (or one of its descendants).
+ */
+ public abstract void addWindow(WindowToken token);
+
+ /**
+ * Default policy that has no special features.
+ */
+ public static class Default extends DisplayAreaPolicy {
+
+ public Default(WindowManagerService wmService, DisplayContent content,
+ DisplayArea.Root root,
+ DisplayArea<? extends WindowContainer> imeContainer,
+ TaskContainers taskContainers) {
+ super(wmService, content, root, imeContainer, taskContainers);
+ }
+
+ private final DisplayArea.Tokens mBelow = new DisplayArea.Tokens(mWmService,
+ DisplayArea.Type.BELOW_TASKS, "BelowTasks");
+ private final DisplayArea<DisplayArea> mAbove = new DisplayArea<>(mWmService,
+ DisplayArea.Type.ABOVE_TASKS, "AboveTasks");
+ private final DisplayArea.Tokens mAboveBelowIme = new DisplayArea.Tokens(mWmService,
+ DisplayArea.Type.ABOVE_TASKS, "AboveTasksBelowIme");
+ private final DisplayArea.Tokens mAboveAboveIme = new DisplayArea.Tokens(mWmService,
+ DisplayArea.Type.ABOVE_TASKS, "AboveTasksAboveIme");
+
+ @Override
+ public void attachDisplayAreas() {
+ mRoot.addChild(mBelow, 0);
+ mRoot.addChild(mTaskContainers, 1);
+ mRoot.addChild(mAbove, 2);
+
+ mAbove.addChild(mAboveBelowIme, 0);
+ mAbove.addChild(mImeContainer, 1);
+ mAbove.addChild(mAboveAboveIme, 2);
+ }
+
+ @Override
+ public void addWindow(WindowToken token) {
+ switch (DisplayArea.Type.typeOf(token)) {
+ case ABOVE_TASKS:
+ if (token.getWindowLayerFromType()
+ < mWmService.mPolicy.getWindowLayerFromTypeLw(TYPE_INPUT_METHOD)) {
+ mAboveBelowIme.addChild(token);
+ } else {
+ mAboveAboveIme.addChild(token);
+ }
+ break;
+ case BELOW_TASKS:
+ mBelow.addChild(token);
+ break;
+ default:
+ throw new IllegalArgumentException("don't know how to sort " + token);
+ }
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index e4bf2ed61f07..810aa3438ea0 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -17,6 +17,7 @@
package com.android.server.wm;
import static android.app.ActivityTaskManager.INVALID_STACK_ID;
+import static android.app.ActivityTaskManager.INVALID_TASK_ID;
import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_RECENTS;
@@ -80,14 +81,12 @@ import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static android.view.WindowManager.TRANSIT_ACTIVITY_OPEN;
-import static android.view.WindowManager.TRANSIT_KEYGUARD_UNOCCLUDE;
import static android.view.WindowManager.TRANSIT_TASK_OPEN;
import static android.view.WindowManager.TRANSIT_TASK_TO_FRONT;
-import static com.android.server.am.ActivityDisplayProto.DISPLAY;
-import static com.android.server.am.ActivityDisplayProto.FOCUSED_STACK_ID;
-import static com.android.server.am.ActivityDisplayProto.RESUMED_ACTIVITY;
-import static com.android.server.am.ActivityDisplayProto.SINGLE_TASK_INSTANCE;
+import static com.android.server.wm.DisplayContentProto.FOCUSED_ROOT_TASK_ID;
+import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY;
+import static com.android.server.wm.DisplayContentProto.SINGLE_TASK_INSTANCE;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_CONFIG;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
@@ -98,9 +97,7 @@ import static com.android.server.wm.ActivityStackSupervisor.TAG_TASKS;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_STATES;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_TASKS;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.POSTFIX_STACK;
-import static com.android.server.wm.DisplayContentProto.ABOVE_APP_WINDOWS;
import static com.android.server.wm.DisplayContentProto.APP_TRANSITION;
-import static com.android.server.wm.DisplayContentProto.BELOW_APP_WINDOWS;
import static com.android.server.wm.DisplayContentProto.CHANGING_APPS;
import static com.android.server.wm.DisplayContentProto.CLOSING_APPS;
import static com.android.server.wm.DisplayContentProto.DISPLAY_FRAMES;
@@ -109,12 +106,12 @@ import static com.android.server.wm.DisplayContentProto.DOCKED_STACK_DIVIDER_CON
import static com.android.server.wm.DisplayContentProto.DPI;
import static com.android.server.wm.DisplayContentProto.FOCUSED_APP;
import static com.android.server.wm.DisplayContentProto.ID;
-import static com.android.server.wm.DisplayContentProto.IME_WINDOWS;
import static com.android.server.wm.DisplayContentProto.OPENING_APPS;
import static com.android.server.wm.DisplayContentProto.OVERLAY_WINDOWS;
+import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA;
import static com.android.server.wm.DisplayContentProto.ROTATION;
import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION;
-import static com.android.server.wm.DisplayContentProto.STACKS;
+import static com.android.server.wm.DisplayContentProto.TASKS;
import static com.android.server.wm.DisplayContentProto.WINDOW_CONTAINER;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS;
@@ -197,6 +194,7 @@ import android.provider.Settings;
import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.IntArray;
+import android.util.RotationUtils;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
@@ -207,6 +205,7 @@ import android.view.DisplayInfo;
import android.view.Gravity;
import android.view.IDisplayWindowInsetsController;
import android.view.ISystemGestureExclusionListener;
+import android.view.ITaskOrganizer;
import android.view.IWindow;
import android.view.InputChannel;
import android.view.InputDevice;
@@ -295,14 +294,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
/** The containers below are the only child containers {@link #mWindowContainers} can have. */
// Contains all window containers that are related to apps (Activities)
private final TaskContainers mTaskContainers = new TaskContainers(mWmService);
- // Contains all non-app window containers that should be displayed above the app containers
- // (e.g. Status bar)
- private final AboveAppWindowContainers mAboveAppWindowsContainers =
- new AboveAppWindowContainers("mAboveAppWindowsContainers", mWmService);
- // Contains all non-app window containers that should be displayed below the app containers
- // (e.g. Wallpaper).
- private final NonAppWindowContainers mBelowAppWindowsContainers =
- new NonAppWindowContainers("mBelowAppWindowsContainers", mWmService);
+
// Contains all IME window containers. Note that the z-ordering of the IME windows will depend
// on the IME target. We mainly have this container grouping so we can keep track of all the IME
// window containers together and move them in-sync if/when needed. We use a subclass of
@@ -310,6 +302,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// TODO(display-area): is "no magnification" in the comment still true?
private final ImeContainer mImeWindowsContainers = new ImeContainer(mWmService);
+ private final DisplayArea.Root mRootDisplayArea = new DisplayArea.Root(mWmService);
+
+ private final DisplayAreaPolicy mDisplayAreaPolicy = new DisplayAreaPolicy.Default(
+ mWmService, this, mRootDisplayArea, mImeWindowsContainers, mTaskContainers);
+
private WindowState mTmpWindow;
private WindowState mTmpWindow2;
private boolean mUpdateImeTarget;
@@ -401,14 +398,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
private int mCurrentOverrideConfigurationChanges;
/**
- * Last orientation forced by the keyguard. It is applied when keyguard is shown and is not
- * occluded.
- *
- * @see NonAppWindowContainers#getOrientation()
- */
- private int mLastKeyguardForcedOrientation = SCREEN_ORIENTATION_UNSPECIFIED;
-
- /**
* The maximum aspect ratio (longerSide/shorterSide) that is treated as close-to-square. The
* orientation requests from apps would be ignored if the display is close-to-square.
*/
@@ -664,6 +653,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
private final RootWindowContainer.FindTaskResult
mTmpFindTaskResult = new RootWindowContainer.FindTaskResult();
+ // When non-null, new stacks get put into this tile.
+ TaskTile mLaunchTile = null;
+
private final Consumer<WindowState> mUpdateWindowsForAnimator = w -> {
WindowStateAnimator winAnimator = w.mWinAnimator;
final ActivityRecord activity = w.mActivityRecord;
@@ -1104,18 +1096,16 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// Add non-app token to container hierarchy on the display. App tokens are added through
// the parent container managing them (e.g. Tasks).
switch (token.windowType) {
- case TYPE_WALLPAPER:
- mBelowAppWindowsContainers.addChild(token);
- break;
case TYPE_INPUT_METHOD:
case TYPE_INPUT_METHOD_DIALOG:
mImeWindowsContainers.addChild(token);
break;
case TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY:
+ // TODO(display-area): Migrate to DisplayArea
mOverlayContainers.addChild(token);
break;
default:
- mAboveAppWindowsContainers.addChild(token);
+ mDisplayAreaPolicy.addWindow(token);
break;
}
}
@@ -1244,6 +1234,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
return mDisplayRotation;
}
+ void setInsetProvider(@InternalInsetsType int type, WindowState win,
+ @Nullable TriConsumer<DisplayFrames, WindowState, Rect> frameProvider){
+ setInsetProvider(type, win, frameProvider, null /* imeFrameProvider */);
+ }
+
/**
* Marks a window as providing insets for the rest of the windows in the system.
*
@@ -1251,10 +1246,14 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
* @param win The window.
* @param frameProvider Function to compute the frame, or {@code null} if the just the frame of
* the window should be taken.
+ * @param imeFrameProvider Function to compute the frame when dispatching insets to the IME, or
+ * {@code null} if the normal frame should be taken.
*/
void setInsetProvider(@InternalInsetsType int type, WindowState win,
- @Nullable TriConsumer<DisplayFrames, WindowState, Rect> frameProvider) {
- mInsetsStateController.getSourceProvider(type).setWindow(win, frameProvider);
+ @Nullable TriConsumer<DisplayFrames, WindowState, Rect> frameProvider,
+ @Nullable TriConsumer<DisplayFrames, WindowState, Rect> imeFrameProvider) {
+ mInsetsStateController.getSourceProvider(type).setWindow(win, frameProvider,
+ imeFrameProvider);
}
InsetsStateController getInsetsStateController() {
@@ -1605,17 +1604,18 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
if (cutout == null || cutout == DisplayCutout.NO_CUTOUT) {
return WmDisplayCutout.NO_CUTOUT;
}
+ final Insets waterfallInsets =
+ RotationUtils.rotateInsets(cutout.getWaterfallInsets(), rotation);
if (rotation == ROTATION_0) {
return WmDisplayCutout.computeSafeInsets(
cutout, mInitialDisplayWidth, mInitialDisplayHeight);
}
final boolean rotated = (rotation == ROTATION_90 || rotation == ROTATION_270);
final Rect[] newBounds = mRotationUtil.getRotatedBounds(
- WmDisplayCutout.computeSafeInsets(
- cutout, mInitialDisplayWidth, mInitialDisplayHeight)
- .getDisplayCutout().getBoundingRectsAll(),
+ cutout.getBoundingRectsAll(),
rotation, mInitialDisplayWidth, mInitialDisplayHeight);
- return WmDisplayCutout.computeSafeInsets(DisplayCutout.fromBounds(newBounds),
+ return WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(newBounds, waterfallInsets),
rotated ? mInitialDisplayHeight : mInitialDisplayWidth,
rotated ? mInitialDisplayWidth : mInitialDisplayHeight);
}
@@ -2120,13 +2120,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
return getLastOrientation();
}
}
- final int orientation = mAboveAppWindowsContainers.getOrientation();
- if (orientation != SCREEN_ORIENTATION_UNSET) {
- return orientation;
- }
-
- // Top system windows are not requesting an orientation. Start searching from apps.
- return mTaskContainers.getOrientation();
+ return mRootDisplayArea.getOrientation();
}
void updateDisplayInfo() {
@@ -2741,30 +2735,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
public void dumpDebug(ProtoOutputStream proto, long fieldId,
@WindowTraceLogLevel int logLevel) {
- final long token = proto.start(fieldId);
- dumpDebugInner(proto, DISPLAY, logLevel);
- proto.write(com.android.server.am.ActivityDisplayProto.ID, mDisplayId);
- proto.write(SINGLE_TASK_INSTANCE, mSingleTaskInstance);
- final ActivityStack focusedStack = getFocusedStack();
- if (focusedStack != null) {
- proto.write(FOCUSED_STACK_ID, focusedStack.getRootTaskId());
- final ActivityRecord focusedActivity = focusedStack.getDisplay().getResumedActivity();
- if (focusedActivity != null) {
- focusedActivity.writeIdentifierToProto(proto, RESUMED_ACTIVITY);
- }
- } else {
- proto.write(FOCUSED_STACK_ID, INVALID_STACK_ID);
- }
- for (int stackNdx = getStackCount() - 1; stackNdx >= 0; --stackNdx) {
- final ActivityStack stack = getStackAt(stackNdx);
- stack.dumpDebug(proto, com.android.server.am.ActivityDisplayProto.STACKS, logLevel);
- }
- proto.end(token);
- }
-
- // TODO(proto-merge): Remove once protos for ActivityDisplay and DisplayContent are merged.
- public void dumpDebugInner(ProtoOutputStream proto, long fieldId,
- @WindowTraceLogLevel int logLevel) {
// Critical log level logs only visible elements to mitigate performance overheard
if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
return;
@@ -2772,24 +2742,14 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
final long token = proto.start(fieldId);
super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
+
proto.write(ID, mDisplayId);
- for (int stackNdx = mTaskContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
- final ActivityStack stack = mTaskContainers.getChildAt(stackNdx);
- stack.dumpDebugInnerStackOnly(proto, STACKS, logLevel);
+ mRootDisplayArea.dumpDebug(proto, ROOT_DISPLAY_AREA, logLevel);
+ for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
+ final ActivityStack stack = mTaskContainers.getChildAt(i);
+ stack.dumpDebug(proto, TASKS, logLevel);
}
mDividerControllerLocked.dumpDebug(proto, DOCKED_STACK_DIVIDER_CONTROLLER);
- for (int i = mAboveAppWindowsContainers.getChildCount() - 1; i >= 0; --i) {
- final WindowToken windowToken = mAboveAppWindowsContainers.getChildAt(i);
- windowToken.dumpDebug(proto, ABOVE_APP_WINDOWS, logLevel);
- }
- for (int i = mBelowAppWindowsContainers.getChildCount() - 1; i >= 0; --i) {
- final WindowToken windowToken = mBelowAppWindowsContainers.getChildAt(i);
- windowToken.dumpDebug(proto, BELOW_APP_WINDOWS, logLevel);
- }
- for (int i = mImeWindowsContainers.getChildCount() - 1; i >= 0; --i) {
- final WindowToken windowToken = mImeWindowsContainers.getChildAt(i);
- windowToken.dumpDebug(proto, IME_WINDOWS, logLevel);
- }
for (int i = mOverlayContainers.getChildCount() - 1; i >= 0; --i) {
final WindowToken windowToken = mOverlayContainers.getChildAt(i);
windowToken.dumpDebug(proto, OVERLAY_WINDOWS, logLevel);
@@ -2815,6 +2775,19 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
for (int i = mChangingApps.size() - 1; i >= 0; i--) {
mChangingApps.valueAt(i).writeIdentifierToProto(proto, CHANGING_APPS);
}
+
+ proto.write(SINGLE_TASK_INSTANCE, mSingleTaskInstance);
+ final ActivityStack focusedStack = getFocusedStack();
+ if (focusedStack != null) {
+ proto.write(FOCUSED_ROOT_TASK_ID, focusedStack.getRootTaskId());
+ final ActivityRecord focusedActivity = focusedStack.getDisplay().getResumedActivity();
+ if (focusedActivity != null) {
+ focusedActivity.writeIdentifierToProto(proto, RESUMED_ACTIVITY);
+ }
+ } else {
+ proto.write(FOCUSED_ROOT_TASK_ID, INVALID_TASK_ID);
+ }
+
proto.end(token);
}
@@ -3283,7 +3256,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
computeImeTarget(true /* updateImeTarget */);
mInsetsStateController.getSourceProvider(ITYPE_IME).setWindow(win,
- null /* frameProvider */);
+ null /* frameProvider */, null /* imeFrameProvider */);
}
/**
@@ -3407,6 +3380,57 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
&& mInputMethodTarget.mActivityRecord.matchParentBounds());
}
+ /**
+ * Get IME target that should host IME when this display that is reparented to another
+ * WindowState.
+ * IME is never displayed in a child display.
+ * Use {@link WindowState#getImeControlTarget()} when IME target window
+ * which originally called
+ * {@link android.view.inputmethod.InputMethodManager#showSoftInput(View, int)} is known.
+ *
+ * @return {@link WindowState} of host that controls IME.
+ * {@code null} when {@param dc} is not a virtual display.
+ * @see DisplayContent#reparent
+ */
+ @Nullable
+ WindowState getImeControlTarget() {
+ WindowState imeTarget = mInputMethodTarget;
+ if (imeTarget != null) {
+ return imeTarget.getImeControlTarget();
+ }
+
+ return getInsetsStateController().getImeSourceProvider().getControlTarget().getWindow();
+ }
+
+ /**
+ * Finds the window which can host IME if IME target cannot host it.
+ * e.g. IME target cannot host IME when it's display has a parent display OR when display
+ * doesn't support IME/system decorations.
+ *
+ * @param target current IME target.
+ * @return {@link WindowState} that can host IME.
+ * @see DisplayContent#getImeControlTarget()
+ */
+ WindowState getImeHostOrFallback(WindowState target) {
+ if (target != null && target.getDisplayContent().canShowIme()) {
+ return target;
+ }
+
+ // host is in non-default display that doesn't support system decor, default to
+ // default display's StatusBar to control IME.
+ // TODO: (b/148234093)find a better host OR control IME animation/visibility directly
+ // because it won't work when statusbar isn't available.
+ return mWmService.getDefaultDisplayContentLocked().getDisplayPolicy().getStatusBar();
+ }
+
+ boolean canShowIme() {
+ if (isUntrustedVirtualDisplay()) {
+ return false;
+ }
+ return mWmService.mDisplayWindowSettings.shouldShowImeLocked(this)
+ || mWmService.mForceDesktopModeOnExternalDisplays;
+ }
+
private void setInputMethodTarget(WindowState target, boolean targetWaitingAnim) {
if (target == mInputMethodTarget && mInputMethodTargetWaitingAnim == targetWaitingAnim) {
return;
@@ -3416,10 +3440,22 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
mInputMethodTargetWaitingAnim = targetWaitingAnim;
assignWindowLayers(false /* setLayoutNeeded */);
mInputMethodControlTarget = computeImeControlTarget();
- mInsetsStateController.onImeTargetChanged(mInputMethodControlTarget);
+ mInsetsStateController.onImeControlTargetChanged(mInputMethodControlTarget);
updateImeParent();
}
+ /**
+ * IME control target is the window that controls the IME visibility and animation.
+ * This window is same as the window on which startInput is called.
+ * @param target the window that receives IME control.
+ *
+ * @see #getImeControlTarget()
+ */
+ void updateImeControlTarget(WindowState target) {
+ mInputMethodControlTarget = target;
+ mInsetsStateController.onImeControlTargetChanged(mInputMethodControlTarget);
+ }
+
private void updateImeParent() {
// Force attaching IME to the display when magnifying, or it would be magnified with
// target app together.
@@ -4140,7 +4176,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
* Window container class that contains all containers on this display relating to Apps.
* I.e Activities.
*/
- private final class TaskContainers extends DisplayChildWindowContainer<ActivityStack> {
+ final class TaskContainers extends DisplayArea<ActivityStack> {
/**
* A control placed at the appropriate level for transitions to occur.
*/
@@ -4150,16 +4186,15 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
/**
* Given that the split-screen divider does not have an AppWindowToken, it
- * will have to live inside of a "NonAppWindowContainer", in particular
- * {@link DisplayContent#mAboveAppWindowsContainers}. However, in visual Z order
+ * will have to live inside of a "NonAppWindowContainer". However, in visual Z order
* it will need to be interleaved with some of our children, appearing on top of
* both docked stacks but underneath any assistant stacks.
*
* To solve this problem we have this anchor control, which will always exist so
* we can always assign it the correct value in our {@link #assignChildLayers}.
- * Likewise since it always exists, {@link AboveAppWindowContainers} can always
+ * Likewise since it always exists, we can always
* assign the divider a layer relative to it. This way we prevent linking lifecycle
- * events between the two containers.
+ * events between tasks and the divider window.
*/
SurfaceControl mSplitScreenDividerAnchor = null;
@@ -4170,7 +4205,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
private ActivityStack mRootSplitScreenPrimaryTask = null;
TaskContainers(WindowManagerService service) {
- super(service);
+ super(service, Type.ANY, "TaskContainers");
}
/**
@@ -4203,8 +4238,15 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
@VisibleForTesting
ActivityStack getTopStack() {
- return mTaskContainers.getChildCount() > 0
- ? mTaskContainers.getChildAt(mTaskContainers.getChildCount() - 1) : null;
+ // TODO(task-hierarchy): Just grab index -1 once tiles are in hierarchy.
+ for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
+ final ActivityStack child = mTaskContainers.getChildAt(i);
+ if (child instanceof TaskTile) {
+ continue;
+ }
+ return child;
+ }
+ return null;
}
int getIndexOf(ActivityStack stack) {
@@ -4246,6 +4288,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
private void addStackReferenceIfNeeded(ActivityStack stack) {
+ // TODO(task-hierarchy): Remove when tiles are in hierarchy.
+ if (stack instanceof TaskTile) {
+ return;
+ }
if (stack.isActivityTypeHome()) {
if (mRootHomeTask != null) {
if (!stack.isDescendantOf(mRootHomeTask)) {
@@ -4663,31 +4709,16 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
mSplitScreenDividerAnchor = null;
}
}
- }
-
- private final class AboveAppWindowContainers extends NonAppWindowContainers {
- AboveAppWindowContainers(String name, WindowManagerService service) {
- super(name, service);
- }
@Override
- void assignChildLayers(SurfaceControl.Transaction t) {
- boolean needAssignIme = mImeWindowsContainers.getSurfaceControl() != null;
- for (int j = 0; j < mChildren.size(); ++j) {
- final WindowToken wt = mChildren.get(j);
-
- wt.assignLayer(t, j);
- wt.assignChildLayers(t);
-
- int layer = mWmService.mPolicy.getWindowLayerFromTypeLw(
- wt.windowType, wt.mOwnerCanManageAppTokens);
-
- if (needAssignIme && layer >= mWmService.mPolicy.getWindowLayerFromTypeLw(
- TYPE_INPUT_METHOD_DIALOG, true)) {
- mImeWindowsContainers.assignRelativeLayer(t, wt.getSurfaceControl(), -1);
- needAssignIme = false;
- }
+ void onChildPositionChanged(WindowContainer child) {
+ // TODO(task-hierarchy): Move functionality to TaskTile when it's a proper parent.
+ TaskTile tile = ((ActivityStack) child).getTile();
+ if (tile == null) {
+ return;
}
+ mAtmService.mTaskOrganizerController.dispatchTaskInfoChanged(
+ tile, false /* force */);
}
}
@@ -4702,13 +4733,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
@Override
void assignChildLayers(SurfaceControl.Transaction t) {
mImeWindowsContainers.setNeedsLayer();
- mBelowAppWindowsContainers.assignLayer(t, 0);
- mTaskContainers.assignLayer(t, 1);
- mAboveAppWindowsContainers.assignLayer(t, 2);
- final WindowState imeTarget = mInputMethodTarget;
- boolean needAssignIme = true;
+ mRootDisplayArea.assignLayer(t, 0);
+ final WindowState imeTarget = mInputMethodTarget;
// In the case where we have an IME target that is not in split-screen mode IME
// assignment is easy. We just need the IME to go directly above the target. This way
// children of the target will naturally go above the IME and everyone is happy.
@@ -4730,7 +4758,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// exists so it get's layered above the starting window.
if (imeTarget != null && !(imeTarget.mActivityRecord != null
&& imeTarget.mActivityRecord.hasStartingWindow()) && (
- !(imeTarget.inSplitScreenWindowingMode()
+ !(imeTarget.inMultiWindowMode()
|| imeTarget.mToken.isAppTransitioning()) && (
imeTarget.getSurfaceControl() != null))) {
mImeWindowsContainers.assignRelativeLayer(t, imeTarget.getSurfaceControl(),
@@ -4741,11 +4769,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// Above we have assigned layers to our children, now we ask them to assign
// layers to their children.
- mBelowAppWindowsContainers.assignChildLayers(t);
- mTaskContainers.assignChildLayers(t);
- mAboveAppWindowsContainers.assignChildLayers(t);
- mImeWindowsContainers.assignRelativeLayer(t, getSurfaceControl(), Integer.MAX_VALUE);
- mImeWindowsContainers.assignChildLayers(t);
+ mRootDisplayArea.assignChildLayers(t);
}
@Override
@@ -4754,10 +4778,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
void addChildren() {
- addChild(mBelowAppWindowsContainers, null);
- addChild(mTaskContainers, null);
- addChild(mAboveAppWindowsContainers, null);
- addChild(mImeWindowsContainers, null);
+ addChild(mRootDisplayArea, 0);
+ mDisplayAreaPolicy.attachDisplayAreas();
}
@Override
@@ -4784,32 +4806,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
< mWmService.mPolicy.getWindowLayerFromTypeLw(token2.windowType,
token2.mOwnerCanManageAppTokens) ? -1 : 1;
- private final Predicate<WindowState> mGetOrientingWindow = w -> {
- final WindowManagerPolicy policy = mWmService.mPolicy;
- if (policy.isKeyguardHostWindow(w.mAttrs)) {
- if (mWmService.mKeyguardGoingAway) {
- return false;
- }
- // Consider unoccluding only when all unknown visibilities have been
- // resolved, as otherwise we just may be starting another occluding activity.
- final boolean isUnoccluding =
- mDisplayContent.mAppTransition.getAppTransition()
- == TRANSIT_KEYGUARD_UNOCCLUDE
- && mDisplayContent.mUnknownAppVisibilityController.allResolved();
- // If keyguard is showing, or we're unoccluding, force the keyguard's orientation,
- // even if SystemUI hasn't updated the attrs yet.
- if (policy.isKeyguardShowingAndNotOccluded() || isUnoccluding) {
- return true;
- }
- }
- final int req = w.mAttrs.screenOrientation;
- if (req == SCREEN_ORIENTATION_UNSPECIFIED || req == SCREEN_ORIENTATION_BEHIND
- || req == SCREEN_ORIENTATION_UNSET) {
- return false;
- }
- return true;
- };
-
private final String mName;
private final Dimmer mDimmer = new Dimmer(this);
private final Rect mTmpDimBoundsRect = new Rect();
@@ -4831,26 +4827,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
@Override
int getOrientation(int candidate) {
- // Find a window requesting orientation.
- final WindowState win = getWindow(mGetOrientingWindow);
-
- if (win != null) {
- int req = win.mAttrs.screenOrientation;
- ProtoLog.v(WM_DEBUG_ORIENTATION,
- "%s forcing orientation to %d for display id=%d", win, req,
- mDisplayId);
- if (mWmService.mPolicy.isKeyguardHostWindow(win.mAttrs)) {
- // SystemUI controls the Keyguard orientation asynchronously, and mAttrs may be
- // stale. We record / use the last known override.
- if (req != SCREEN_ORIENTATION_UNSET && req != SCREEN_ORIENTATION_UNSPECIFIED) {
- mDisplayContent.mLastKeyguardForcedOrientation = req;
- } else {
- req = mDisplayContent.mLastKeyguardForcedOrientation;
- }
- }
- return req;
- }
- return candidate;
+ ProtoLog.w(WM_DEBUG_ORIENTATION, "NonAppWindowContainer cannot set orientation: %s",
+ this);
+ return SCREEN_ORIENTATION_UNSET;
}
@Override
@@ -4885,11 +4864,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
* - the container doesn't always participate in window traversal, according to
* {@link #skipImeWindowsDuringTraversal()}
*/
- private class ImeContainer extends NonAppWindowContainers {
+ private static class ImeContainer extends DisplayArea.Tokens {
boolean mNeedsLayer = false;
ImeContainer(WindowManagerService wms) {
- super("ImeContainer", wms);
+ super(wms, Type.ABOVE_TASKS, "ImeContainer");
}
public void setNeedsLayer() {
@@ -6199,6 +6178,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
boolean isTopNotPinnedStack(ActivityStack stack) {
+ // TODO(task-hierarchy): Remove when tiles are in hierarchy.
+ if (stack instanceof TaskTile) {
+ return false;
+ }
for (int i = getStackCount() - 1; i >= 0; --i) {
final ActivityStack current = getStackAt(i);
if (!current.inPinnedWindowingMode()) {
@@ -6613,6 +6596,19 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
return getHomeActivityForUser(mRootWindowContainer.mCurrentUser);
}
+ // TODO(task-hierarchy): Remove when tiles are in hierarchy.
+ void addTile(TaskTile tile) {
+ mTaskContainers.addChild(tile, POSITION_BOTTOM);
+ ITaskOrganizer organizer = mAtmService.mTaskOrganizerController.getTaskOrganizer(
+ tile.getWindowingMode());
+ tile.setTaskOrganizer(organizer);
+ }
+
+ // TODO(task-hierarchy): Remove when tiles are in hierarchy.
+ void removeTile(TaskTile tile) {
+ mTaskContainers.removeChild(tile);
+ }
+
@Nullable
ActivityRecord getHomeActivityForUser(int userId) {
final ActivityStack homeStack = getRootHomeTask();
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index f8df883a3e1c..c78707a2204e 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -131,6 +131,7 @@ import android.graphics.Rect;
import android.graphics.Region;
import android.hardware.input.InputManager;
import android.hardware.power.V1_0.PowerHint;
+import android.os.Binder;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
@@ -334,6 +335,13 @@ public class DisplayPolicy {
IApplicationToken mFocusedApp;
+ // The states of decor windows from the last layout. These are used to generate another display
+ // layout in different bounds but with the same states.
+ private boolean mLastNavVisible;
+ private boolean mLastNavTranslucent;
+ private boolean mLastNavAllowedHidden;
+ private boolean mLastNotificationShadeForcesShowingNavigation;
+
int mLastSystemUiFlags;
// Bits that we are in the process of clearing, so we want to prevent
// them from being set by applications until everything has been updated
@@ -968,6 +976,12 @@ public class DisplayPolicy {
}
break;
case TYPE_NAVIGATION_BAR_PANEL:
+ // Check for permission if the caller is not the recents component.
+ if (!mService.mAtmInternal.isCallerRecents(Binder.getCallingUid())) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.STATUS_BAR_SERVICE, "DisplayPolicy");
+ }
+ break;
case TYPE_STATUS_BAR_PANEL:
case TYPE_STATUS_BAR_SUB_PANEL:
case TYPE_VOICE_INTERACTION_STARTING:
@@ -1014,8 +1028,24 @@ public class DisplayPolicy {
mNavigationBarController.setWindow(win);
mNavigationBarController.setOnBarVisibilityChangedListener(
mNavBarVisibilityListener, true);
- mDisplayContent.setInsetProvider(ITYPE_NAVIGATION_BAR,
- win, null /* frameProvider */);
+ mDisplayContent.setInsetProvider(ITYPE_NAVIGATION_BAR, win,
+ (displayFrames, windowState, inOutFrame) -> {
+
+ // In Gesture Nav, navigation bar frame is larger than frame to
+ // calculate inset.
+ if (mNavigationBarPosition == NAV_BAR_BOTTOM) {
+ sTmpRect.set(displayFrames.mUnrestricted);
+ sTmpRect.intersectUnchecked(displayFrames.mDisplayCutoutSafe);
+ inOutFrame.top = sTmpRect.bottom
+ - getNavigationBarHeight(displayFrames.mRotation,
+ mDisplayContent.getConfiguration().uiMode);
+ }
+ },
+
+ // For IME we use regular frame.
+ (displayFrames, windowState, inOutFrame) ->
+ inOutFrame.set(windowState.getFrameLw()));
+
mDisplayContent.setInsetProvider(ITYPE_BOTTOM_GESTURES, win,
(displayFrames, windowState, inOutFrame) -> {
inOutFrame.top -= mBottomGestureAdditionalInset;
@@ -1402,6 +1432,46 @@ public class DisplayPolicy {
}
}
+ private void simulateLayoutDecorWindow(WindowState win, DisplayFrames displayFrames, int uiMode,
+ InsetsState insetsState, WindowFrames simulatedWindowFrames, Runnable layout) {
+ win.setSimulatedWindowFrames(simulatedWindowFrames);
+ try {
+ layout.run();
+ } finally {
+ win.setSimulatedWindowFrames(null);
+ }
+ mDisplayContent.getInsetsStateController().computeSimulatedState(insetsState, win,
+ displayFrames, simulatedWindowFrames);
+ }
+
+ /**
+ * Computes the frames of display (its logical size, rotation and cutout should already be set)
+ * used to layout window. The result of display frames and insets state should be the same as
+ * using {@link #beginLayoutLw}, but this method only changes the given display frames, insets
+ * state and some temporal states. In other words, it doesn't change the window frames used to
+ * show on screen.
+ */
+ void simulateLayoutDisplay(DisplayFrames displayFrames, InsetsState insetsState, int uiMode) {
+ displayFrames.onBeginLayout();
+ final WindowFrames simulatedWindowFrames = new WindowFrames();
+ if (mNavigationBar != null) {
+ simulateLayoutDecorWindow(
+ mNavigationBar, displayFrames, uiMode, insetsState, simulatedWindowFrames,
+ () -> layoutNavigationBar(displayFrames, uiMode, mLastNavVisible,
+ mLastNavTranslucent, mLastNavAllowedHidden,
+ mLastNotificationShadeForcesShowingNavigation,
+ false /* isRealLayout */));
+ }
+ if (mStatusBar != null) {
+ simulateLayoutDecorWindow(
+ mStatusBar, displayFrames, uiMode, insetsState, simulatedWindowFrames,
+ () -> layoutStatusBar(displayFrames, mLastSystemUiFlags,
+ false /* isRealLayout */));
+ }
+ layoutScreenDecorWindows(displayFrames, simulatedWindowFrames);
+ postAdjustDisplayFrames(displayFrames);
+ }
+
/**
* Called when layout of the windows is about to start.
*
@@ -1460,14 +1530,23 @@ public class DisplayPolicy {
navVisible |= !canHideNavigationBar();
boolean updateSysUiVisibility = layoutNavigationBar(displayFrames, uiMode, navVisible,
- navTranslucent, navAllowedHidden, notificationShadeForcesShowingNavigation);
+ navTranslucent, navAllowedHidden, notificationShadeForcesShowingNavigation,
+ true /* isRealLayout */);
if (DEBUG_LAYOUT) Slog.i(TAG, "mDock rect:" + displayFrames.mDock);
- updateSysUiVisibility |= layoutStatusBar(displayFrames, sysui, isKeyguardShowing);
+ updateSysUiVisibility |= layoutStatusBar(displayFrames, sysui, true /* isRealLayout */);
if (updateSysUiVisibility) {
updateSystemUiVisibilityLw();
}
- layoutScreenDecorWindows(displayFrames);
+ layoutScreenDecorWindows(displayFrames, null /* transientFrames */);
+ postAdjustDisplayFrames(displayFrames);
+ mLastNavVisible = navVisible;
+ mLastNavTranslucent = navTranslucent;
+ mLastNavAllowedHidden = navAllowedHidden;
+ mLastNotificationShadeForcesShowingNavigation = notificationShadeForcesShowingNavigation;
+ }
+ /** Enforces the last layout policy for display frames. */
+ private void postAdjustDisplayFrames(DisplayFrames displayFrames) {
if (displayFrames.mDisplayCutoutSafe.top > displayFrames.mUnrestricted.top) {
// Make sure that the zone we're avoiding for the cutout is at least as tall as the
// status bar; otherwise fullscreen apps will end up cutting halfway into the status
@@ -1486,7 +1565,15 @@ public class DisplayPolicy {
displayFrames.mContent.inset(mForwardedInsets);
}
- private void layoutScreenDecorWindows(DisplayFrames displayFrames) {
+ /**
+ * Layout the decor windows with {@link #PRIVATE_FLAG_IS_SCREEN_DECOR}.
+ *
+ * @param displayFrames The display frames to be layouted.
+ * @param simulatedFrames Non-null if the caller only needs the result of display frames (see
+ * {@link WindowState#mSimulatedWindowFrames}).
+ */
+ private void layoutScreenDecorWindows(DisplayFrames displayFrames,
+ WindowFrames simulatedFrames) {
if (mScreenDecorWindows.isEmpty()) {
return;
}
@@ -1504,17 +1591,24 @@ public class DisplayPolicy {
continue;
}
- w.getWindowFrames().setFrames(displayFrames.mUnrestricted /* parentFrame */,
+ final boolean isSimulatedLayout = simulatedFrames != null;
+ if (isSimulatedLayout) {
+ w.setSimulatedWindowFrames(simulatedFrames);
+ }
+ final WindowFrames windowFrames = w.getLayoutingWindowFrames();
+ windowFrames.setFrames(displayFrames.mUnrestricted /* parentFrame */,
displayFrames.mUnrestricted /* displayFrame */,
displayFrames.mUnrestricted /* contentFrame */,
displayFrames.mUnrestricted /* visibleFrame */, sTmpRect /* decorFrame */,
displayFrames.mUnrestricted /* stableFrame */);
- w.getWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
- w.computeFrameLw();
- if (w.getControllableInsetProvider() != null) {
- w.getControllableInsetProvider().updateSourceFrame();
+ try {
+ w.computeFrame(displayFrames);
+ } finally {
+ if (isSimulatedLayout) {
+ w.setSimulatedWindowFrames(null);
+ }
}
- final Rect frame = w.getFrameLw();
+ final Rect frame = windowFrames.mFrame;
if (frame.left <= 0 && frame.top <= 0) {
// Docked at left or top.
@@ -1557,29 +1651,21 @@ public class DisplayPolicy {
displayFrames.mContent.set(dockFrame);
}
- private boolean layoutStatusBar(DisplayFrames displayFrames, int sysui,
- boolean isKeyguardShowing) {
+ private boolean layoutStatusBar(DisplayFrames displayFrames, int sysui, boolean isRealLayout) {
// decide where the status bar goes ahead of time
if (mStatusBar == null) {
return false;
}
// apply any navigation bar insets
sTmpRect.setEmpty();
- final WindowFrames windowFrames = mStatusBar.getWindowFrames();
+ final WindowFrames windowFrames = mStatusBar.getLayoutingWindowFrames();
windowFrames.setFrames(displayFrames.mUnrestricted /* parentFrame */,
displayFrames.mUnrestricted /* displayFrame */,
displayFrames.mStable /* contentFrame */,
displayFrames.mStable /* visibleFrame */, sTmpRect /* decorFrame */,
displayFrames.mStable /* stableFrame */);
- windowFrames.setDisplayCutout(displayFrames.mDisplayCutout);
-
// Let the status bar determine its size.
- mStatusBar.computeFrameLw();
-
- // Update the source frame to provide insets to other windows during layout.
- if (mStatusBar.getControllableInsetProvider() != null) {
- mStatusBar.getControllableInsetProvider().updateSourceFrame();
- }
+ mStatusBar.computeFrame(displayFrames);
// For layout, the status bar is always at the top with our fixed height.
displayFrames.mStable.top = displayFrames.mUnrestricted.top
@@ -1588,12 +1674,14 @@ public class DisplayPolicy {
displayFrames.mStable.top = Math.max(displayFrames.mStable.top,
displayFrames.mDisplayCutoutSafe.top);
- // Tell the bar controller where the collapsed status bar content is
- sTmpRect.set(mStatusBar.getContentFrameLw());
- sTmpRect.intersect(displayFrames.mDisplayCutoutSafe);
- sTmpRect.top = mStatusBar.getContentFrameLw().top; // Ignore top display cutout inset
- sTmpRect.bottom = displayFrames.mStable.top; // Use collapsed status bar size
- mStatusBarController.setContentFrame(sTmpRect);
+ if (isRealLayout) {
+ // Tell the bar controller where the collapsed status bar content is.
+ sTmpRect.set(windowFrames.mContentFrame);
+ sTmpRect.intersect(displayFrames.mDisplayCutoutSafe);
+ sTmpRect.top = windowFrames.mContentFrame.top; // Ignore top display cutout inset
+ sTmpRect.bottom = displayFrames.mStable.top; // Use collapsed status bar size
+ mStatusBarController.setContentFrame(sTmpRect);
+ }
boolean statusBarTransient = (sysui & View.STATUS_BAR_TRANSIENT) != 0
|| mDisplayContent.getInsetsPolicy().isTransient(ITYPE_STATUS_BAR);
@@ -1628,7 +1716,7 @@ public class DisplayPolicy {
private boolean layoutNavigationBar(DisplayFrames displayFrames, int uiMode, boolean navVisible,
boolean navTranslucent, boolean navAllowedHidden,
- boolean statusBarForcesShowingNavigation) {
+ boolean statusBarForcesShowingNavigation, boolean isRealLayout) {
if (mNavigationBar == null) {
return false;
}
@@ -1642,13 +1730,13 @@ public class DisplayPolicy {
final int displayHeight = displayFrames.mDisplayHeight;
final int displayWidth = displayFrames.mDisplayWidth;
final Rect dockFrame = displayFrames.mDock;
- mNavigationBarPosition = navigationBarPosition(displayWidth, displayHeight, rotation);
+ final int navBarPosition = navigationBarPosition(displayWidth, displayHeight, rotation);
final Rect cutoutSafeUnrestricted = sTmpRect;
cutoutSafeUnrestricted.set(displayFrames.mUnrestricted);
cutoutSafeUnrestricted.intersectUnchecked(displayFrames.mDisplayCutoutSafe);
- if (mNavigationBarPosition == NAV_BAR_BOTTOM) {
+ if (navBarPosition == NAV_BAR_BOTTOM) {
// It's a system nav bar or a portrait screen; nav bar goes on bottom.
final int top = cutoutSafeUnrestricted.bottom
- getNavigationBarHeight(rotation, uiMode);
@@ -1672,7 +1760,7 @@ public class DisplayPolicy {
// of animating on or off, then we can tell the app that it is covered by it.
displayFrames.mSystem.bottom = top;
}
- } else if (mNavigationBarPosition == NAV_BAR_RIGHT) {
+ } else if (navBarPosition == NAV_BAR_RIGHT) {
// Landscape screen; nav bar goes to the right.
final int left = cutoutSafeUnrestricted.right
- getNavigationBarWidth(rotation, uiMode);
@@ -1694,7 +1782,7 @@ public class DisplayPolicy {
// animating on or off, then we can tell the app that it is covered by it.
displayFrames.mSystem.right = left;
}
- } else if (mNavigationBarPosition == NAV_BAR_LEFT) {
+ } else if (navBarPosition == NAV_BAR_LEFT) {
// Seascape screen; nav bar goes to the left.
final int right = cutoutSafeUnrestricted.left
+ getNavigationBarWidth(rotation, uiMode);
@@ -1725,17 +1813,17 @@ public class DisplayPolicy {
displayFrames.mContent.set(dockFrame);
// And compute the final frame.
sTmpRect.setEmpty();
- mNavigationBar.getWindowFrames().setFrames(navigationFrame /* parentFrame */,
+ final WindowFrames windowFrames = mNavigationBar.getLayoutingWindowFrames();
+ windowFrames.setFrames(navigationFrame /* parentFrame */,
navigationFrame /* displayFrame */,
displayFrames.mDisplayCutoutSafe /* contentFrame */,
navigationFrame /* visibleFrame */, sTmpRect /* decorFrame */,
navigationFrame /* stableFrame */);
- mNavigationBar.getWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
- mNavigationBar.computeFrameLw();
- if (mNavigationBar.getControllableInsetProvider() != null) {
- mNavigationBar.getControllableInsetProvider().updateSourceFrame();
+ mNavigationBar.computeFrame(displayFrames);
+ if (isRealLayout) {
+ mNavigationBarPosition = navBarPosition;
+ mNavigationBarController.setContentFrame(windowFrames.mContentFrame);
}
- mNavigationBarController.setContentFrame(mNavigationBar.getContentFrameLw());
if (DEBUG_LAYOUT) Slog.i(TAG, "mNavigationBar frame: " + navigationFrame);
return mNavigationBarController.checkHiddenLw();
@@ -1863,7 +1951,6 @@ public class DisplayPolicy {
final Rect sf = windowFrames.mStableFrame;
dcf.setEmpty();
windowFrames.setParentFrameWasClippedByDisplayCutout(false);
- windowFrames.setDisplayCutout(displayFrames.mDisplayCutout);
final boolean hasNavBar = hasNavigationBar() && mNavigationBar != null
&& mNavigationBar.isVisibleLw();
@@ -2288,10 +2375,7 @@ public class DisplayPolicy {
windowFrames.setContentChanged(true);
}
- win.computeFrameLw();
- if (win.getControllableInsetProvider() != null) {
- win.getControllableInsetProvider().updateSourceFrame();
- }
+ win.computeFrame(displayFrames);
// Dock windows carve out the bottom of the screen, so normal windows
// can't appear underneath them.
if (type == TYPE_INPUT_METHOD && win.isVisibleLw()
@@ -2747,7 +2831,8 @@ public class DisplayPolicy {
mDisplayContent.getDisplayId(),
null /* overrideConfig */,
uiContext.getResources().getCompatibilityInfo(),
- null /* classLoader */);
+ null /* classLoader */,
+ null /* loaders */);
}
@VisibleForTesting
@@ -3056,7 +3141,9 @@ public class DisplayPolicy {
}
final InsetsControlTarget controlTarget =
swipeTarget.getControllableInsetProvider().getControlTarget();
- if (controlTarget == null) {
+
+ // No transient mode on lockscreen (in notification shade window).
+ if (controlTarget == null || controlTarget == getNotificationShade()) {
return;
}
if (controlTarget.canShowTransient()) {
diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java
index da773143f75c..efe79b36d645 100644
--- a/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -526,7 +526,7 @@ public class DisplayRotation {
mService.mH.removeCallbacks(mDisplayRotationHandlerTimeout);
mIsWaitingForRemoteRotation = false;
mDisplayContent.sendNewConfiguration();
- mService.mAtmService.applyContainerTransaction(t);
+ mService.mAtmService.mTaskOrganizerController.applyContainerTransaction(t);
}
}
diff --git a/services/core/java/com/android/server/wm/EmbeddedWindowController.java b/services/core/java/com/android/server/wm/EmbeddedWindowController.java
index 0291017cd039..884f7694d648 100644
--- a/services/core/java/com/android/server/wm/EmbeddedWindowController.java
+++ b/services/core/java/com/android/server/wm/EmbeddedWindowController.java
@@ -20,8 +20,10 @@ package com.android.server.wm;
import android.annotation.Nullable;
import android.os.IBinder;
import android.os.RemoteException;
+import android.os.UserHandle;
import android.util.ArrayMap;
import android.view.IWindow;
+import android.view.InputApplicationHandle;
/**
* Keeps track of embedded windows.
@@ -44,21 +46,12 @@ class EmbeddedWindowController {
*
* @param inputToken input channel token passed in by the embedding process when it requests
* the server to add an input channel to the embedded surface.
- * @param window client token used to clean up the map if the embedding process dies
- * @param hostWindowState input channel token belonging to the host window. This is needed to
- * handle input callbacks to wm. It's used when raising ANR and when
- * the user taps out side of the focused region on screen. This can be
- * null if there is no host window.
- * @param ownerUid calling uid
- * @param ownerPid calling pid used for anr blaming
+ * @param embeddedWindow An {@link EmbeddedWindow} object to add to this controller.
*/
- void add(IBinder inputToken, IWindow window, @Nullable WindowState hostWindowState,
- int ownerUid, int ownerPid) {
- EmbeddedWindow embeddedWindow = new EmbeddedWindow(window, hostWindowState, ownerUid,
- ownerPid);
+ void add(IBinder inputToken, EmbeddedWindow embeddedWindow) {
try {
mWindows.put(inputToken, embeddedWindow);
- window.asBinder().linkToDeath(()-> {
+ embeddedWindow.mClient.asBinder().linkToDeath(()-> {
synchronized (mWmLock) {
mWindows.remove(inputToken);
}
@@ -101,6 +94,15 @@ class EmbeddedWindowController {
final int mOwnerUid;
final int mOwnerPid;
+ /**
+ * @param clientToken client token used to clean up the map if the embedding process dies
+ * @param hostWindowState input channel token belonging to the host window. This is needed
+ * to handle input callbacks to wm. It's used when raising ANR and
+ * when the user taps out side of the focused region on screen. This
+ * can be null if there is no host window.
+ * @param ownerUid calling uid
+ * @param ownerPid calling pid used for anr blaming
+ */
EmbeddedWindow(IWindow clientToken, WindowState hostWindowState, int ownerUid,
int ownerPid) {
mClient = clientToken;
@@ -108,5 +110,21 @@ class EmbeddedWindowController {
mOwnerUid = ownerUid;
mOwnerPid = ownerPid;
}
+
+ String getName() {
+ final String hostWindowName = (mHostWindowState != null)
+ ? mHostWindowState.getWindowTag().toString() : "Internal";
+ return "EmbeddedWindow{ u" + UserHandle.getUserId(mOwnerUid) + " " + hostWindowName
+ + "}";
+ }
+
+ InputApplicationHandle getApplicationHandle() {
+ if (mHostWindowState == null
+ || mHostWindowState.mInputWindowHandle.inputApplicationHandle == null) {
+ return null;
+ }
+ return new InputApplicationHandle(
+ mHostWindowState.mInputWindowHandle.inputApplicationHandle);
+ }
}
}
diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
index fb97ecf8bbc4..3ff1b95dc716 100644
--- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
@@ -16,9 +16,13 @@
package com.android.server.wm;
+import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_IME;
+
import android.view.InsetsSource;
import android.view.WindowInsets;
+import com.android.server.protolog.common.ProtoLog;
+
/**
* Controller for IME inset source on the server. It's called provider as it provides the
* {@link InsetsSource} to the client that uses it in {@link InsetsSourceConsumer}.
@@ -35,40 +39,40 @@ class ImeInsetsSourceProvider extends InsetsSourceProvider {
}
/**
- * Called when a layout pass has occurred.
- */
- void onPostLayout() {
- super.onPostLayout();
-
- if (mImeTargetFromIme != null
- && isImeTargetFromDisplayContentAndImeSame()
- && mWin != null
- && mWin.isDrawnLw()
- && !mWin.mGivenInsetsPending) {
- mIsImeLayoutDrawn = true;
- }
- }
-
- /**
- * Called when Insets have been dispatched to client.
+ * Called when Insets have been dispatched to client. This gets called just after onPostLayout.
*/
void onPostInsetsDispatched() {
- if (mIsImeLayoutDrawn && mShowImeRunner != null) {
- // Show IME if InputMethodService requested to be shown and it's layout has finished.
- mShowImeRunner.run();
- }
+ checkShowImePostLayout();
}
/**
* Called from {@link WindowManagerInternal#showImePostLayout} when {@link InputMethodService}
* requests to show IME on {@param imeTarget}.
+ *
* @param imeTarget imeTarget on which IME request is coming from.
*/
void scheduleShowImePostLayout(WindowState imeTarget) {
+ boolean targetChanged = mImeTargetFromIme != imeTarget
+ && mImeTargetFromIme != null && imeTarget != null && mShowImeRunner != null
+ && mImeTargetFromIme.mActivityRecord == imeTarget.mActivityRecord;
mImeTargetFromIme = imeTarget;
+ if (targetChanged) {
+ // target changed, check if new target can show IME.
+ ProtoLog.d(WM_DEBUG_IME, "IME target changed within ActivityRecord");
+ checkShowImePostLayout();
+ // if IME cannot be shown at this time, it is scheduled to be shown.
+ // once window that called IMM.showSoftInput() and DisplayContent's ImeTarget match,
+ // it will be shown.
+ return;
+ }
+
+ ProtoLog.d(WM_DEBUG_IME, "Schedule IME show for %s", mImeTargetFromIme.getName());
mShowImeRunner = () -> {
+ ProtoLog.d(WM_DEBUG_IME, "Run showImeRunner");
// Target should still be the same.
if (isImeTargetFromDisplayContentAndImeSame()) {
+ ProtoLog.d(WM_DEBUG_IME, "call showInsets(ime) on %s",
+ mDisplayContent.mInputMethodControlTarget.getWindow().getName());
mDisplayContent.mInputMethodControlTarget.showInsets(
WindowInsets.Type.ime(), true /* fromIme */);
}
@@ -76,10 +80,27 @@ class ImeInsetsSourceProvider extends InsetsSourceProvider {
};
}
+ private void checkShowImePostLayout() {
+ // check if IME is drawn
+ if (mIsImeLayoutDrawn
+ || (mImeTargetFromIme != null
+ && isImeTargetFromDisplayContentAndImeSame()
+ && mWin != null
+ && mWin.isDrawnLw()
+ && !mWin.mGivenInsetsPending)) {
+ mIsImeLayoutDrawn = true;
+ // show IME if InputMethodService requested it to be shown.
+ if (mShowImeRunner != null) {
+ mShowImeRunner.run();
+ }
+ }
+ }
+
/**
* Abort any pending request to show IME post layout.
*/
void abortShowImePostLayout() {
+ ProtoLog.d(WM_DEBUG_IME, "abortShowImePostLayout");
mImeTargetFromIme = null;
mIsImeLayoutDrawn = false;
mShowImeRunner = null;
@@ -96,12 +117,14 @@ class ImeInsetsSourceProvider extends InsetsSourceProvider {
// TODO(b/139861270): Remove the child & sublayer check once IMMS is aware of
// actual IME target.
final WindowState dcTarget = mDisplayContent.mInputMethodTarget;
- if (dcTarget == null) {
+ if (dcTarget == null || mImeTargetFromIme == null) {
return false;
}
+ ProtoLog.d(WM_DEBUG_IME, "dcTarget: %s mImeTargetFromIme: %s",
+ dcTarget.getName(), mImeTargetFromIme.getName());
+
return (!dcTarget.isClosing() && mImeTargetFromIme == dcTarget)
|| (mImeTargetFromIme != null && dcTarget.getParentWindow() == mImeTargetFromIme
- && dcTarget.mSubLayer > mImeTargetFromIme.mSubLayer);
+ && dcTarget.mSubLayer > mImeTargetFromIme.mSubLayer);
}
-
}
diff --git a/services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java b/services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java
index ef6f84703723..2f02ffb17d3a 100644
--- a/services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java
+++ b/services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java
@@ -275,7 +275,7 @@ public class ImmersiveModeConfirmation {
super.onAttachedToWindow();
DisplayMetrics metrics = new DisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(metrics);
+ mContext.getDisplay().getMetrics(metrics);
float density = metrics.density;
getViewTreeObserver().addOnComputeInternalInsetsListener(mInsetsListener);
diff --git a/services/core/java/com/android/server/wm/InsetsControlTarget.java b/services/core/java/com/android/server/wm/InsetsControlTarget.java
index 154cde140810..20e8f2ba485a 100644
--- a/services/core/java/com/android/server/wm/InsetsControlTarget.java
+++ b/services/core/java/com/android/server/wm/InsetsControlTarget.java
@@ -26,6 +26,13 @@ interface InsetsControlTarget {
void notifyInsetsControlChanged();
/**
+ * @return {@link WindowState} of this target, if any.
+ */
+ default WindowState getWindow() {
+ return null;
+ }
+
+ /**
* Instructs the control target to show inset sources.
*
* @param types to specify which types of insets source window should be shown.
diff --git a/services/core/java/com/android/server/wm/InsetsPolicy.java b/services/core/java/com/android/server/wm/InsetsPolicy.java
index fa764e3dfc18..d0179adadbd7 100644
--- a/services/core/java/com/android/server/wm/InsetsPolicy.java
+++ b/services/core/java/com/android/server/wm/InsetsPolicy.java
@@ -20,17 +20,31 @@ import static android.app.StatusBarManager.WINDOW_STATE_HIDDEN;
import static android.app.StatusBarManager.WINDOW_STATE_SHOWING;
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
+import static android.view.InsetsController.LAYOUT_INSETS_DURING_ANIMATION_HIDDEN;
+import static android.view.InsetsController.LAYOUT_INSETS_DURING_ANIMATION_SHOWN;
import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
import static android.view.InsetsState.ITYPE_STATUS_BAR;
+import static android.view.SyncRtSurfaceTransactionApplier.applyParams;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_SHOW_STATUS_BAR;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION;
import android.annotation.Nullable;
import android.app.StatusBarManager;
import android.util.IntArray;
+import android.util.SparseArray;
+import android.view.InsetsAnimationControlCallbacks;
+import android.view.InsetsAnimationControlImpl;
+import android.view.InsetsController;
+import android.view.InsetsSourceControl;
import android.view.InsetsState;
import android.view.InsetsState.InternalInsetsType;
+import android.view.SurfaceControl;
+import android.view.SyncRtSurfaceTransactionApplier;
import android.view.ViewRootImpl;
+import android.view.WindowInsetsAnimationCallback;
+import android.view.WindowInsetsAnimationControlListener;
+
+import com.android.server.DisplayThread;
/**
* Policy that implements who gets control over the windows generating insets.
@@ -46,6 +60,8 @@ class InsetsPolicy {
private WindowState mFocusedWin;
private BarWindow mStatusBar = new BarWindow(StatusBarManager.WINDOW_STATUS_BAR);
private BarWindow mNavBar = new BarWindow(StatusBarManager.WINDOW_NAVIGATION_BAR);
+ private boolean mAnimatingShown;
+ private final float[] mTmpFloat9 = new float[9];
InsetsPolicy(InsetsStateController stateController, DisplayContent displayContent) {
mStateController = stateController;
@@ -91,11 +107,14 @@ class InsetsPolicy {
changed = true;
}
if (changed) {
- updateBarControlTarget(mFocusedWin);
- mPolicy.getStatusBarManagerInternal().showTransient(mDisplayContent.getDisplayId(),
- mShowingTransientTypes.toArray());
- mStateController.notifyInsetsChanged();
- // TODO(b/118118435): Animation
+ startAnimation(mShowingTransientTypes, true, () -> {
+ synchronized (mDisplayContent.mWmService.mGlobalLock) {
+ mPolicy.getStatusBarManagerInternal().showTransient(
+ mDisplayContent.getDisplayId(),
+ mShowingTransientTypes.toArray());
+ mStateController.notifyInsetsChanged();
+ }
+ });
}
}
@@ -103,11 +122,13 @@ class InsetsPolicy {
if (mShowingTransientTypes.size() == 0) {
return;
}
-
- // TODO(b/118118435): Animation
- mShowingTransientTypes.clear();
- updateBarControlTarget(mFocusedWin);
- mStateController.notifyInsetsChanged();
+ startAnimation(mShowingTransientTypes, false, () -> {
+ synchronized (mDisplayContent.mWmService.mGlobalLock) {
+ mShowingTransientTypes.clear();
+ mStateController.notifyInsetsChanged();
+ updateBarControlTarget(mFocusedWin);
+ }
+ });
}
boolean isTransient(@InternalInsetsType int type) {
@@ -187,6 +208,10 @@ class InsetsPolicy {
if (mShowingTransientTypes.indexOf(ITYPE_STATUS_BAR) != -1) {
return mTransientControlTarget;
}
+ if (focusedWin == mPolicy.getNotificationShade()) {
+ // Notification shade has control anyways, no reason to force anything.
+ return focusedWin;
+ }
if (areSystemBarsForciblyVisible() || isKeyguardOrStatusBarForciblyVisible()) {
return null;
}
@@ -197,6 +222,10 @@ class InsetsPolicy {
if (mShowingTransientTypes.indexOf(ITYPE_NAVIGATION_BAR) != -1) {
return mTransientControlTarget;
}
+ if (focusedWin == mPolicy.getNotificationShade()) {
+ // Notification shade has control anyways, no reason to force anything.
+ return focusedWin;
+ }
if (areSystemBarsForciblyVisible() || isNavBarForciblyVisible()) {
return null;
}
@@ -204,9 +233,6 @@ class InsetsPolicy {
}
private boolean isKeyguardOrStatusBarForciblyVisible() {
- if (mPolicy.isKeyguardShowing()) {
- return true;
- }
final WindowState statusBar = mPolicy.getStatusBar();
if (statusBar != null) {
// TODO(b/118118435): Pretend to the app that it's still able to control it?
@@ -242,6 +268,29 @@ class InsetsPolicy {
return isDockedStackVisible || isFreeformStackVisible || isResizing;
}
+ private void startAnimation(IntArray internalTypes, boolean show, Runnable callback) {
+ int typesReady = 0;
+ final SparseArray<InsetsSourceControl> controls = new SparseArray<>();
+ updateBarControlTarget(mFocusedWin);
+ for (int i = internalTypes.size() - 1; i >= 0; i--) {
+ InsetsSourceProvider provider =
+ mStateController.getSourceProvider(internalTypes.get(i));
+ if (provider == null) continue;
+ InsetsSourceControl control = provider.getControl(provider.getControlTarget());
+ if (control == null || control.getLeash() == null) continue;
+ typesReady |= InsetsState.toPublicType(internalTypes.get(i));
+ controls.put(control.getType(), control);
+ }
+ controlAnimationUnchecked(typesReady, controls, show, callback);
+ }
+
+ private void controlAnimationUnchecked(int typesReady,
+ SparseArray<InsetsSourceControl> controls, boolean show, Runnable callback) {
+ InsetsPolicyAnimationControlListener listener =
+ new InsetsPolicyAnimationControlListener(show, callback);
+ listener.mControlCallbacks.controlAnimationUnchecked(typesReady, controls, show);
+ }
+
private class BarWindow {
private final int mId;
@@ -262,7 +311,103 @@ class InsetsPolicy {
}
}
- // TODO(b/118118435): Implement animations for it (with SurfaceAnimator)
+ private class InsetsPolicyAnimationControlListener extends
+ InsetsController.InternalAnimationControlListener {
+ Runnable mFinishCallback;
+ InsetsPolicyAnimationControlCallbacks mControlCallbacks;
+
+ InsetsPolicyAnimationControlListener(boolean show, Runnable finishCallback) {
+ super(show);
+ mFinishCallback = finishCallback;
+ mControlCallbacks = new InsetsPolicyAnimationControlCallbacks(this);
+ }
+
+ @Override
+ protected void onAnimationFinish() {
+ super.onAnimationFinish();
+ mControlCallbacks.mAnimationControl.finish(mAnimatingShown);
+ DisplayThread.getHandler().post(mFinishCallback);
+ }
+
+ private class InsetsPolicyAnimationControlCallbacks implements
+ InsetsAnimationControlCallbacks {
+ private InsetsAnimationControlImpl mAnimationControl = null;
+ private InsetsPolicyAnimationControlListener mListener;
+
+ InsetsPolicyAnimationControlCallbacks(InsetsPolicyAnimationControlListener listener) {
+ super();
+ mListener = listener;
+ }
+
+ private void controlAnimationUnchecked(int typesReady,
+ SparseArray<InsetsSourceControl> controls, boolean show) {
+ if (typesReady == 0) {
+ // nothing to animate.
+ return;
+ }
+ mAnimatingShown = show;
+
+ mAnimationControl = new InsetsAnimationControlImpl(controls,
+ mFocusedWin.getDisplayContent().getBounds(), getState(),
+ mListener, typesReady, this, mListener.getDurationMs(),
+ InsetsController.INTERPOLATOR, true,
+ show ? LAYOUT_INSETS_DURING_ANIMATION_SHOWN
+ : LAYOUT_INSETS_DURING_ANIMATION_HIDDEN);
+ }
+
+ /** Called on SurfaceAnimationThread lock without global WM lock held. */
+ @Override
+ public void scheduleApplyChangeInsets() {
+ InsetsState state = getState();
+ if (mAnimationControl.applyChangeInsets(state)) {
+ mAnimationControl.finish(mAnimatingShown);
+ }
+ }
+
+ @Override
+ public void notifyFinished(InsetsAnimationControlImpl controller, boolean shown) {
+ // Nothing's needed here. Finish steps is handled in the listener
+ // onAnimationFinished callback.
+ }
+
+ /**
+ * This method will return a state with fullscreen frame override. No need to make copy
+ * after getting state from this method.
+ * @return The client insets state with full display frame override.
+ */
+ private InsetsState getState() {
+ // To animate the transient animation correctly, we need to let the state hold
+ // the full display frame.
+ InsetsState overrideState = new InsetsState(mFocusedWin.getRequestedInsetsState(),
+ true);
+ overrideState.setDisplayFrame(mFocusedWin.getDisplayContent().getBounds());
+ return overrideState;
+ }
+
+ /** Called on SurfaceAnimationThread lock without global WM lock held. */
+ @Override
+ public void applySurfaceParams(
+ final SyncRtSurfaceTransactionApplier.SurfaceParams... params) {
+ SurfaceControl.Transaction t = new SurfaceControl.Transaction();
+ for (int i = params.length - 1; i >= 0; i--) {
+ SyncRtSurfaceTransactionApplier.SurfaceParams surfaceParams = params[i];
+ applyParams(t, surfaceParams, mTmpFloat9);
+ }
+ t.apply();
+ }
+
+ /** Called on SurfaceAnimationThread lock without global WM lock held. */
+ @Override
+ public void startAnimation(InsetsAnimationControlImpl controller,
+ WindowInsetsAnimationControlListener listener, int types,
+ WindowInsetsAnimationCallback.InsetsAnimation animation,
+ WindowInsetsAnimationCallback.AnimationBounds bounds,
+ int layoutDuringAnimation) {
+ SurfaceAnimationThread.getHandler().post(() -> listener.onReady(controller, types));
+ }
+ }
+ }
+
private class TransientControlTarget implements InsetsControlTarget {
@Override
diff --git a/services/core/java/com/android/server/wm/InsetsSourceProvider.java b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
index 5a591ecd4746..0418afaf033a 100644
--- a/services/core/java/com/android/server/wm/InsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
@@ -24,6 +24,7 @@ import static android.view.ViewRootImpl.NEW_INSETS_MODE_IME;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_NONE;
import static android.view.ViewRootImpl.sNewInsetsMode;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_INSETS_CONTROL;
import static com.android.server.wm.WindowManagerService.H.LAYOUT_AND_ASSIGN_WINDOW_LAYERS_IF_NEEDED;
import android.annotation.NonNull;
@@ -38,6 +39,7 @@ import android.view.SurfaceControl;
import android.view.SurfaceControl.Transaction;
import com.android.internal.util.function.TriConsumer;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import java.io.PrintWriter;
@@ -61,6 +63,8 @@ class InsetsSourceProvider {
private @Nullable ControlAdapter mAdapter;
private TriConsumer<DisplayFrames, WindowState, Rect> mFrameProvider;
+ private TriConsumer<DisplayFrames, WindowState, Rect> mImeFrameProvider;
+ private final Rect mImeOverrideFrame = new Rect();
/** The visibility override from the current controlling window. */
private boolean mClientVisible;
@@ -111,9 +115,12 @@ class InsetsSourceProvider {
* @param win The window that links to this source.
* @param frameProvider Based on display frame state and the window, calculates the resulting
* frame that should be reported to clients.
+ * @param imeFrameProvider Based on display frame state and the window, calculates the resulting
+ * frame that should be reported to IME.
*/
void setWindow(@Nullable WindowState win,
- @Nullable TriConsumer<DisplayFrames, WindowState, Rect> frameProvider) {
+ @Nullable TriConsumer<DisplayFrames, WindowState, Rect> frameProvider,
+ @Nullable TriConsumer<DisplayFrames, WindowState, Rect> imeFrameProvider) {
if (mWin != null) {
if (mControllable) {
mWin.setControllableInsetProvider(null);
@@ -126,6 +133,7 @@ class InsetsSourceProvider {
}
mWin = win;
mFrameProvider = frameProvider;
+ mImeFrameProvider = imeFrameProvider;
if (win == null) {
setServerVisible(false);
mSource.setFrame(new Rect());
@@ -162,6 +170,12 @@ class InsetsSourceProvider {
}
mSource.setFrame(mTmpRect);
+ if (mImeFrameProvider != null) {
+ mImeOverrideFrame.set(mWin.getFrameLw());
+ mImeFrameProvider.accept(mWin.getDisplayContent().mDisplayFrames, mWin,
+ mImeOverrideFrame);
+ }
+
if (mWin.mGivenVisibleInsets.left != 0 || mWin.mGivenVisibleInsets.top != 0
|| mWin.mGivenVisibleInsets.right != 0 || mWin.mGivenVisibleInsets.bottom != 0) {
mTmpRect.set(mWin.getFrameLw());
@@ -172,6 +186,17 @@ class InsetsSourceProvider {
}
}
+ /** @return A new source computed by the specified window frame in the given display frames. */
+ InsetsSource createSimulatedSource(DisplayFrames displayFrames, WindowFrames windowFrames) {
+ final InsetsSource source = new InsetsSource(mSource);
+ mTmpRect.set(windowFrames.mFrame);
+ if (mFrameProvider != null) {
+ mFrameProvider.accept(displayFrames, mWin, mTmpRect);
+ }
+ source.setFrame(mTmpRect);
+ return source;
+ }
+
/**
* Called when a layout pass has occurred.
*/
@@ -209,6 +234,12 @@ class InsetsSourceProvider {
// to control the window for now.
return;
}
+ if (target != null && target.getWindow() != null) {
+ // ime control target could be a different window.
+ // Refer WindowState#getImeControlTarget().
+ target = target.getWindow().getImeControlTarget();
+ }
+
if (mWin == null) {
mControlTarget = target;
return;
@@ -224,7 +255,8 @@ class InsetsSourceProvider {
mAdapter = new ControlAdapter();
setClientVisible(InsetsState.getDefaultVisibility(mSource.getType()));
final Transaction t = mDisplayContent.getPendingTransaction();
- mWin.startAnimation(t, mAdapter, !mClientVisible /* hidden */);
+ mWin.startAnimation(t, mAdapter, !mClientVisible /* hidden */,
+ ANIMATION_TYPE_INSETS_CONTROL, null /* animationFinishedCallback */);
final SurfaceControl leash = mAdapter.mCapturedLeash;
final long frameNumber = mFinishSeamlessRotateFrameNumber;
mFinishSeamlessRotateFrameNumber = -1;
@@ -233,7 +265,7 @@ class InsetsSourceProvider {
// window crop of the surface controls (including the leash) until the client finishes
// drawing the new frame of the new orientation. Although we cannot defer the reparent
// operation, it is fine, because reparent won't cause any visual effect.
- final SurfaceControl barrier = mWin.mWinAnimator.mSurfaceController.mSurfaceControl;
+ final SurfaceControl barrier = mWin.getDeferTransactionBarrier();
t.deferTransactionUntil(mWin.getSurfaceControl(), barrier, frameNumber);
t.deferTransactionUntil(leash, barrier, frameNumber);
}
@@ -303,6 +335,21 @@ class InsetsSourceProvider {
return sNewInsetsMode == NEW_INSETS_MODE_NONE || mClientVisible;
}
+ /**
+ * @return Whether this provider uses a different frame to dispatch to the IME.
+ */
+ boolean overridesImeFrame() {
+ return mImeFrameProvider != null;
+ }
+
+ /**
+ * @return Rect to dispatch to the IME as frame. Only valid if {@link #overridesImeFrame()}
+ * returns {@code true}.
+ */
+ Rect getImeOverrideFrame() {
+ return mImeOverrideFrame;
+ }
+
private class ControlAdapter implements AnimationAdapter {
private SurfaceControl mCapturedLeash;
@@ -314,7 +361,7 @@ class InsetsSourceProvider {
@Override
public void startAnimation(SurfaceControl animationLeash, Transaction t,
- OnAnimationFinishedCallback finishCallback) {
+ @AnimationType int type, OnAnimationFinishedCallback finishCallback) {
// TODO(b/118118435): We can remove the type check when implementing the transient bar
// animation.
if (mSource.getType() == ITYPE_IME) {
diff --git a/services/core/java/com/android/server/wm/InsetsStateController.java b/services/core/java/com/android/server/wm/InsetsStateController.java
index b2234d17984e..caaa4305406c 100644
--- a/services/core/java/com/android/server/wm/InsetsStateController.java
+++ b/services/core/java/com/android/server/wm/InsetsStateController.java
@@ -60,6 +60,8 @@ class InsetsStateController {
w.notifyInsetsChanged();
}
};
+ private final InsetsControlTarget mEmptyImeControlTarget = () -> {
+ };
InsetsStateController(DisplayContent displayContent) {
mDisplayContent = displayContent;
@@ -88,6 +90,20 @@ class InsetsStateController {
state.removeSource(ITYPE_IME);
state.removeSource(ITYPE_STATUS_BAR);
}
+
+ // IME needs different frames for certain cases (e.g. navigation bar in gesture nav).
+ if (type == ITYPE_IME) {
+ for (int i = mProviders.size() - 1; i >= 0; i--) {
+ InsetsSourceProvider otherProvider = mProviders.valueAt(i);
+ if (otherProvider.overridesImeFrame()) {
+ InsetsSource override =
+ new InsetsSource(state.getSource(otherProvider.getSource().getType()));
+ override.setFrame(otherProvider.getImeOverrideFrame());
+ state.addSource(override);
+ }
+ }
+ }
+
return state;
}
@@ -163,12 +179,33 @@ class InsetsStateController {
}
}
+ /**
+ * Computes insets state of the insets provider window in the display frames.
+ *
+ * @param state The output state.
+ * @param win The owner window of insets provider.
+ * @param displayFrames The display frames to create insets source.
+ * @param windowFrames The specified frames to represent the owner window.
+ */
+ void computeSimulatedState(InsetsState state, WindowState win, DisplayFrames displayFrames,
+ WindowFrames windowFrames) {
+ for (int i = mProviders.size() - 1; i >= 0; i--) {
+ final InsetsSourceProvider provider = mProviders.valueAt(i);
+ if (provider.mWin == win) {
+ state.addSource(provider.createSimulatedSource(displayFrames, windowFrames));
+ }
+ }
+ }
+
boolean isFakeTarget(@InternalInsetsType int type, InsetsControlTarget target) {
return mTypeFakeControlTargetMap.get(type) == target;
}
- void onImeTargetChanged(@Nullable InsetsControlTarget imeTarget) {
- onControlChanged(ITYPE_IME, imeTarget);
+ void onImeControlTargetChanged(@Nullable InsetsControlTarget imeTarget) {
+
+ // Make sure that we always have a control target for the IME, even if the IME target is
+ // null. Otherwise there is no leash that will hide it and IME becomes "randomly" visible.
+ onControlChanged(ITYPE_IME, imeTarget != null ? imeTarget : mEmptyImeControlTarget);
notifyPendingInsetsControlChanged();
}
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java
index ad65e101fd15..00947d766e89 100644
--- a/services/core/java/com/android/server/wm/KeyguardController.java
+++ b/services/core/java/com/android/server/wm/KeyguardController.java
@@ -31,11 +31,11 @@ import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG
import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_SHADE;
import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER;
-import static com.android.server.am.KeyguardControllerProto.AOD_SHOWING;
-import static com.android.server.am.KeyguardControllerProto.KEYGUARD_OCCLUDED_STATES;
-import static com.android.server.am.KeyguardControllerProto.KEYGUARD_SHOWING;
-import static com.android.server.am.KeyguardOccludedProto.DISPLAY_ID;
-import static com.android.server.am.KeyguardOccludedProto.KEYGUARD_OCCLUDED;
+import static com.android.server.wm.KeyguardControllerProto.AOD_SHOWING;
+import static com.android.server.wm.KeyguardControllerProto.KEYGUARD_OCCLUDED_STATES;
+import static com.android.server.wm.KeyguardControllerProto.KEYGUARD_SHOWING;
+import static com.android.server.wm.KeyguardOccludedProto.DISPLAY_ID;
+import static com.android.server.wm.KeyguardOccludedProto.KEYGUARD_OCCLUDED;
import static com.android.server.wm.ActivityStackSupervisor.PRESERVE_WINDOWS;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
diff --git a/services/core/java/com/android/server/wm/LocalAnimationAdapter.java b/services/core/java/com/android/server/wm/LocalAnimationAdapter.java
index 5892239edb4d..7c1a6161236a 100644
--- a/services/core/java/com/android/server/wm/LocalAnimationAdapter.java
+++ b/services/core/java/com/android/server/wm/LocalAnimationAdapter.java
@@ -24,6 +24,7 @@ import android.util.proto.ProtoOutputStream;
import android.view.SurfaceControl;
import android.view.SurfaceControl.Transaction;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import java.io.PrintWriter;
@@ -50,9 +51,9 @@ class LocalAnimationAdapter implements AnimationAdapter {
@Override
public void startAnimation(SurfaceControl animationLeash, Transaction t,
- OnAnimationFinishedCallback finishCallback) {
+ @AnimationType int type, OnAnimationFinishedCallback finishCallback) {
mAnimator.startAnimation(mSpec, animationLeash, t,
- () -> finishCallback.onAnimationFinished(this));
+ () -> finishCallback.onAnimationFinished(type, this));
}
@Override
diff --git a/services/core/java/com/android/server/wm/ProtoLogGroup.java b/services/core/java/com/android/server/wm/ProtoLogGroup.java
index 5c2830e13b75..51725cecbc74 100644
--- a/services/core/java/com/android/server/wm/ProtoLogGroup.java
+++ b/services/core/java/com/android/server/wm/ProtoLogGroup.java
@@ -59,6 +59,8 @@ public enum ProtoLogGroup implements IProtoLogGroup {
Consts.TAG_WM),
WM_DEBUG_WINDOW_MOVEMENT(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
Consts.TAG_WM),
+ WM_DEBUG_IME(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
+ Consts.TAG_WM),
TEST_GROUP(true, true, false, "WindowManagetProtoLogTest");
private final boolean mEnabled;
diff --git a/services/core/java/com/android/server/wm/RecentsAnimation.java b/services/core/java/com/android/server/wm/RecentsAnimation.java
index 647be0f7038c..9770947ff2c3 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimation.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimation.java
@@ -388,11 +388,12 @@ class RecentsAnimation implements RecentsAnimationCallbacks,
// surfaces needs to be done immediately.
mWindowManager.executeAppTransition();
- // After reordering the stacks, reset the minimized state. At this point, either
- // the target activity is now top-most and we will stay minimized (if in
- // split-screen), or we will have returned to the app, and the minimized state
- // should be reset
- mWindowManager.checkSplitScreenMinimizedChanged(true /* animate */);
+ if (targetStack.getTile() != null) {
+ // Client state may have changed during the recents animation, so force
+ // send task info so the client can synchronize its state.
+ mService.mTaskOrganizerController.dispatchTaskInfoChanged(
+ targetStack.mTile, true /* force */);
+ }
} catch (Exception e) {
Slog.e(TAG, "Failed to clean up recents activity", e);
throw e;
diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java
index da9d074eb7bc..944e0ae3d73f 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimationController.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java
@@ -30,6 +30,7 @@ import static com.android.server.wm.AnimationAdapterProto.REMOTE;
import static com.android.server.wm.BoundsAnimationController.FADE_IN;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_RECENTS_ANIMATIONS;
import static com.android.server.wm.RemoteAnimationAdapterWrapperProto.TARGET;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
import static com.android.server.wm.WindowManagerInternal.AppTransitionListener;
import android.annotation.IntDef;
@@ -61,6 +62,7 @@ import com.android.server.LocalServices;
import com.android.server.inputmethod.InputMethodManagerInternal;
import com.android.server.protolog.common.ProtoLog;
import com.android.server.statusbar.StatusBarManagerInternal;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import com.android.server.wm.utils.InsetUtils;
@@ -432,7 +434,8 @@ public class RecentsAnimationController implements DeathRecipient {
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "addAnimation(%s)", task.getName());
final TaskAnimationAdapter taskAdapter = new TaskAnimationAdapter(task,
isRecentTaskInvisible);
- task.startAnimation(task.getPendingTransaction(), taskAdapter, false /* hidden */);
+ task.startAnimation(task.getPendingTransaction(), taskAdapter, false /* hidden */,
+ ANIMATION_TYPE_RECENTS);
task.commitPendingTransaction();
mPendingAnimations.add(taskAdapter);
return taskAdapter;
@@ -443,14 +446,16 @@ public class RecentsAnimationController implements DeathRecipient {
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
"removeAnimation(%d)", taskAdapter.mTask.mTaskId);
taskAdapter.mTask.setCanAffectSystemUiFlags(true);
- taskAdapter.mCapturedFinishCallback.onAnimationFinished(taskAdapter);
+ taskAdapter.mCapturedFinishCallback.onAnimationFinished(taskAdapter.mLastAnimationType,
+ taskAdapter);
mPendingAnimations.remove(taskAdapter);
}
@VisibleForTesting
void removeWallpaperAnimation(WallpaperAnimationAdapter wallpaperAdapter) {
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "removeWallpaperAnimation()");
- wallpaperAdapter.getLeashFinishedCallback().onAnimationFinished(wallpaperAdapter);
+ wallpaperAdapter.getLeashFinishedCallback().onAnimationFinished(
+ wallpaperAdapter.getLastAnimationType(), wallpaperAdapter);
mPendingWallpaperAnimations.remove(wallpaperAdapter);
}
@@ -638,7 +643,7 @@ public class RecentsAnimationController implements DeathRecipient {
taskSnapshot.getColorSpace(), false /* containsSecureLayers */));
mRecentScreenshotAnimator = new SurfaceAnimator(
animatable,
- () -> {
+ (type, anim) -> {
ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "mRecentScreenshotAnimator finish");
mCallbacks.onAnimationFinished(reorderMode, false /* sendUserLeaveHint */);
}, mService);
@@ -827,6 +832,7 @@ public class RecentsAnimationController implements DeathRecipient {
private final Task mTask;
private SurfaceControl mCapturedLeash;
private OnAnimationFinishedCallback mCapturedFinishCallback;
+ private @AnimationType int mLastAnimationType;
private final boolean mIsRecentTaskInvisible;
private RemoteAnimationTarget mTarget;
private final Point mPosition = new Point();
@@ -868,7 +874,7 @@ public class RecentsAnimationController implements DeathRecipient {
@Override
public void startAnimation(SurfaceControl animationLeash, Transaction t,
- OnAnimationFinishedCallback finishCallback) {
+ @AnimationType int type, OnAnimationFinishedCallback finishCallback) {
// Restore z-layering, position and stack crop until client has a chance to modify it.
t.setLayer(animationLeash, mTask.getPrefixOrderIndex());
t.setPosition(animationLeash, mPosition.x, mPosition.y);
@@ -877,6 +883,7 @@ public class RecentsAnimationController implements DeathRecipient {
t.setWindowCrop(animationLeash, mTmpRect);
mCapturedLeash = animationLeash;
mCapturedFinishCallback = finishCallback;
+ mLastAnimationType = type;
}
@Override
diff --git a/services/core/java/com/android/server/wm/RemoteAnimationController.java b/services/core/java/com/android/server/wm/RemoteAnimationController.java
index 6f7eeabfc4cd..d2dbab841f16 100644
--- a/services/core/java/com/android/server/wm/RemoteAnimationController.java
+++ b/services/core/java/com/android/server/wm/RemoteAnimationController.java
@@ -40,6 +40,7 @@ import android.view.SurfaceControl.Transaction;
import com.android.internal.util.FastPrintWriter;
import com.android.server.protolog.ProtoLogImpl;
import com.android.server.protolog.common.ProtoLog;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import java.io.PrintWriter;
@@ -180,12 +181,14 @@ class RemoteAnimationController implements DeathRecipient {
if (wrappers.mAdapter != null
&& wrappers.mAdapter.mCapturedFinishCallback != null) {
wrappers.mAdapter.mCapturedFinishCallback
- .onAnimationFinished(wrappers.mAdapter);
+ .onAnimationFinished(wrappers.mAdapter.mAnimationType,
+ wrappers.mAdapter);
}
if (wrappers.mThumbnailAdapter != null
&& wrappers.mThumbnailAdapter.mCapturedFinishCallback != null) {
wrappers.mThumbnailAdapter.mCapturedFinishCallback
- .onAnimationFinished(wrappers.mThumbnailAdapter);
+ .onAnimationFinished(wrappers.mAdapter.mAnimationType,
+ wrappers.mThumbnailAdapter);
}
mPendingAnimations.remove(i);
}
@@ -221,11 +224,13 @@ class RemoteAnimationController implements DeathRecipient {
final RemoteAnimationRecord adapters = mPendingAnimations.get(i);
if (adapters.mAdapter != null) {
adapters.mAdapter.mCapturedFinishCallback
- .onAnimationFinished(adapters.mAdapter);
+ .onAnimationFinished(adapters.mAdapter.mAnimationType,
+ adapters.mAdapter);
}
if (adapters.mThumbnailAdapter != null) {
adapters.mThumbnailAdapter.mCapturedFinishCallback
- .onAnimationFinished(adapters.mThumbnailAdapter);
+ .onAnimationFinished(adapters.mAdapter.mAnimationType,
+ adapters.mThumbnailAdapter);
}
mPendingAnimations.remove(i);
ProtoLog.d(WM_DEBUG_REMOTE_ANIMATIONS, "\tcontainer=%s",
@@ -234,7 +239,8 @@ class RemoteAnimationController implements DeathRecipient {
for (int i = mPendingWallpaperAnimations.size() - 1; i >= 0; i--) {
final WallpaperAnimationAdapter adapter = mPendingWallpaperAnimations.get(i);
- adapter.getLeashFinishedCallback().onAnimationFinished(adapter);
+ adapter.getLeashFinishedCallback().onAnimationFinished(
+ adapter.getLastAnimationType(), adapter);
mPendingWallpaperAnimations.remove(i);
ProtoLog.d(WM_DEBUG_REMOTE_ANIMATIONS, "\twallpaper=%s", adapter.getToken());
}
@@ -393,6 +399,7 @@ class RemoteAnimationController implements DeathRecipient {
private final RemoteAnimationRecord mRecord;
SurfaceControl mCapturedLeash;
private OnAnimationFinishedCallback mCapturedFinishCallback;
+ private @AnimationType int mAnimationType;
final Point mPosition = new Point();
final Rect mStackBounds = new Rect();
@@ -410,7 +417,7 @@ class RemoteAnimationController implements DeathRecipient {
@Override
public void startAnimation(SurfaceControl animationLeash, Transaction t,
- OnAnimationFinishedCallback finishCallback) {
+ @AnimationType int type, OnAnimationFinishedCallback finishCallback) {
ProtoLog.d(WM_DEBUG_REMOTE_ANIMATIONS, "startAnimation");
// Restore z-layering, position and stack crop until client has a chance to modify it.
@@ -425,6 +432,7 @@ class RemoteAnimationController implements DeathRecipient {
}
mCapturedLeash = animationLeash;
mCapturedFinishCallback = finishCallback;
+ mAnimationType = type;
}
@Override
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index e6fd512df72c..2fdcbc9083f6 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -16,7 +16,6 @@
package com.android.server.wm;
-import static android.app.ActivityTaskManager.INVALID_STACK_ID;
import static android.app.ActivityTaskManager.INVALID_TASK_ID;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_ASSISTANT;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
@@ -41,12 +40,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG;
import static android.view.WindowManager.TRANSIT_CRASHING_ACTIVITY_CLOSE;
import static android.view.WindowManager.TRANSIT_SHOW_SINGLE_TASK_DISPLAY;
-import static com.android.server.am.ActivityStackSupervisorProto.FOCUSED_STACK_ID;
-import static com.android.server.am.ActivityStackSupervisorProto.IS_HOME_RECENTS_COMPONENT;
-import static com.android.server.am.ActivityStackSupervisorProto.KEYGUARD_CONTROLLER;
-import static com.android.server.am.ActivityStackSupervisorProto.PENDING_ACTIVITIES;
-import static com.android.server.am.ActivityStackSupervisorProto.RESUMED_ACTIVITY;
-import static com.android.server.am.ActivityStackSupervisorProto.ROOT_WINDOW_CONTAINER;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
import static com.android.server.wm.ActivityStack.ActivityState.PAUSED;
@@ -74,6 +67,9 @@ import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION;
import static com.android.server.wm.ProtoLogGroup.WM_SHOW_SURFACE_ALLOC;
import static com.android.server.wm.ProtoLogGroup.WM_SHOW_TRANSACTIONS;
import static com.android.server.wm.RootWindowContainerProto.DISPLAYS;
+import static com.android.server.wm.RootWindowContainerProto.IS_HOME_RECENTS_COMPONENT;
+import static com.android.server.wm.RootWindowContainerProto.KEYGUARD_CONTROLLER;
+import static com.android.server.wm.RootWindowContainerProto.PENDING_ACTIVITIES;
import static com.android.server.wm.RootWindowContainerProto.WINDOWS;
import static com.android.server.wm.RootWindowContainerProto.WINDOW_CONTAINER;
import static com.android.server.wm.Task.REPARENT_LEAVE_STACK_IN_PLACE;
@@ -1012,6 +1008,9 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
mWmService.scheduleAnimationLocked();
+ // Send any pending task-info changes that were queued-up during a layout deferment
+ mWmService.mAtmService.mTaskOrganizerController.dispatchPendingTaskInfoChanges();
+
if (DEBUG_WINDOW_TRACE) Slog.e(TAG,
"performSurfacePlacementInner exit: animating="
+ mWmService.mAnimator.isAnimating());
@@ -1275,7 +1274,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
}
}
- public void dumpDebugInner(ProtoOutputStream proto, long fieldId,
+ @Override
+ public void dumpDebug(ProtoOutputStream proto, long fieldId,
@WindowTraceLogLevel int logLevel) {
if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
return;
@@ -1287,14 +1287,20 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
final int count = mChildren.size();
for (int i = 0; i < count; ++i) {
final DisplayContent displayContent = mChildren.get(i);
- displayContent.dumpDebugInner(proto, DISPLAYS, logLevel);
+ displayContent.dumpDebug(proto, DISPLAYS, logLevel);
}
}
if (logLevel == WindowTraceLogLevel.ALL) {
forAllWindows((w) -> {
- w.writeIdentifierToProto(proto, WINDOWS);
+ w.dumpDebug(proto, WINDOWS, logLevel);
}, true);
}
+
+ mStackSupervisor.getKeyguardController().dumpDebug(proto, KEYGUARD_CONTROLLER);
+ proto.write(IS_HOME_RECENTS_COMPONENT,
+ mStackSupervisor.mRecentTasks.isRecentsComponentHomeActivity(mCurrentUser));
+ mService.getActivityStartController().dumpDebug(proto, PENDING_ACTIVITIES);
+
proto.end(token);
}
@@ -2959,6 +2965,12 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
case ACTIVITY_TYPE_RECENTS: return r.isActivityTypeRecents();
case ACTIVITY_TYPE_ASSISTANT: return r.isActivityTypeAssistant();
}
+ // TODO(task-hierarchy): Find another way to differentiate tile from normal stack once it is
+ // part of the hierarchy
+ if (stack instanceof TaskTile) {
+ // Don't launch directly into tiles.
+ return false;
+ }
// There is a 1-to-1 relationship between stack and task when not in
// primary split-windowing mode.
if (stack.getWindowingMode() == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
@@ -3532,15 +3544,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
}
}
- public void dumpDisplays(PrintWriter pw) {
- for (int i = getChildCount() - 1; i >= 0; --i) {
- final DisplayContent display = getChildAt(i);
- pw.print("[id:" + display.mDisplayId + " stacks:");
- display.dumpStacks(pw);
- pw.print("]");
- }
- }
-
boolean dumpActivities(FileDescriptor fd, PrintWriter pw, boolean dumpAll, boolean dumpClient,
String dumpPackage) {
boolean printed = false;
@@ -3569,34 +3572,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
return printed;
}
- @Override
- public void dumpDebug(ProtoOutputStream proto, long fieldId,
- @WindowTraceLogLevel int logLevel) {
- final long token = proto.start(fieldId);
- dumpDebugInner(proto, ROOT_WINDOW_CONTAINER, logLevel);
- for (int displayNdx = 0; displayNdx < getChildCount(); ++displayNdx) {
- final DisplayContent displayContent = getChildAt(displayNdx);
- displayContent.dumpDebug(proto,
- com.android.server.am.ActivityStackSupervisorProto.DISPLAYS, logLevel);
- }
- mStackSupervisor.getKeyguardController().dumpDebug(proto, KEYGUARD_CONTROLLER);
- // TODO(b/111541062): Update tests to look for resumed activities on all displays
- final ActivityStack focusedStack = getTopDisplayFocusedStack();
- if (focusedStack != null) {
- proto.write(FOCUSED_STACK_ID, focusedStack.getRootTaskId());
- final ActivityRecord focusedActivity = focusedStack.getDisplay().getResumedActivity();
- if (focusedActivity != null) {
- focusedActivity.writeIdentifierToProto(proto, RESUMED_ACTIVITY);
- }
- } else {
- proto.write(FOCUSED_STACK_ID, INVALID_STACK_ID);
- }
- proto.write(IS_HOME_RECENTS_COMPONENT,
- mStackSupervisor.mRecentTasks.isRecentsComponentHomeActivity(mCurrentUser));
- mService.getActivityStartController().dumpDebug(proto, PENDING_ACTIVITIES);
- proto.end(token);
- }
-
private final class SleepTokenImpl extends ActivityTaskManagerInternal.SleepToken {
private final String mTag;
private final long mAcquireTime;
diff --git a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
index e7aca898b19d..f6cdac5d4565 100644
--- a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
+++ b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java
@@ -24,6 +24,7 @@ import static com.android.server.wm.RotationAnimationSpecProto.END_LUMA;
import static com.android.server.wm.RotationAnimationSpecProto.START_LUMA;
import static com.android.server.wm.ScreenRotationAnimationProto.ANIMATION_RUNNING;
import static com.android.server.wm.ScreenRotationAnimationProto.STARTED;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_SCREEN_ROTATION;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import static com.android.server.wm.WindowManagerService.TYPE_LAYER_MULTIPLIER;
@@ -48,6 +49,8 @@ import android.view.animation.Transformation;
import com.android.internal.R;
import com.android.server.protolog.common.ProtoLog;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
+import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import com.android.server.wm.utils.RotationAnimationUtils;
import java.io.PrintWriter;
@@ -670,33 +673,35 @@ class ScreenRotationAnimation {
* Start an animation defined by animationSpec on a new {@link SurfaceAnimator}.
*
* @param animatable The animatable used for the animation.
- * @param animationSpec The spec of the animation.
- * @param animationFinishedCallback Callback passed to the {@link SurfaceAnimator} and
- * called when the animation finishes.
+ * @param animationSpec The spec of the animation.
+ * @param animationFinishedCallback Callback passed to the {@link SurfaceAnimator}
+ * and called when the animation finishes.
* @return The newly created {@link SurfaceAnimator} that as been started.
*/
private SurfaceAnimator startAnimation(
SurfaceAnimator.Animatable animatable,
LocalAnimationAdapter.AnimationSpec animationSpec,
- Runnable animationFinishedCallback) {
+ OnAnimationFinishedCallback animationFinishedCallback) {
SurfaceAnimator animator = new SurfaceAnimator(
animatable, animationFinishedCallback, mService);
LocalAnimationAdapter localAnimationAdapter = new LocalAnimationAdapter(
animationSpec, mService.mSurfaceAnimationRunner);
animator.startAnimation(mDisplayContent.getPendingTransaction(),
- localAnimationAdapter, false);
+ localAnimationAdapter, false, ANIMATION_TYPE_SCREEN_ROTATION);
return animator;
}
- private void onAnimationEnd() {
+ private void onAnimationEnd(@AnimationType int type, AnimationAdapter anim) {
synchronized (mService.mGlobalLock) {
if (isAnimating()) {
ProtoLog.v(WM_DEBUG_ORIENTATION,
- "ScreenRotation sill animating: mDisplayAnimator: %s\n"
- + "mEnterBlackFrameAnimator: "
- + "%s\nmRotateScreenAnimator: %s\n"
+ "ScreenRotation still animating: type: %d\n"
+ + "mDisplayAnimator: %s\n"
+ + "mEnterBlackFrameAnimator: %s\n"
+ + "mRotateScreenAnimator: %s\n"
+ "mScreenshotRotationAnimator: %s",
+ type,
mDisplayAnimator != null
? mDisplayAnimator.isAnimating() : null,
mEnterBlackFrameAnimator != null
diff --git a/services/core/java/com/android/server/wm/SeamlessRotator.java b/services/core/java/com/android/server/wm/SeamlessRotator.java
index ba31818d6331..c621c48b0028 100644
--- a/services/core/java/com/android/server/wm/SeamlessRotator.java
+++ b/services/core/java/com/android/server/wm/SeamlessRotator.java
@@ -101,9 +101,9 @@ public class SeamlessRotator {
t.setPosition(win.mSurfaceControl, win.mLastSurfacePosition.x, win.mLastSurfacePosition.y);
if (win.mWinAnimator.mSurfaceController != null && !timeout) {
t.deferTransactionUntil(win.mSurfaceControl,
- win.mWinAnimator.mSurfaceController.mSurfaceControl, win.getFrameNumber());
+ win.getDeferTransactionBarrier(), win.getFrameNumber());
t.deferTransactionUntil(win.mWinAnimator.mSurfaceController.mSurfaceControl,
- win.mWinAnimator.mSurfaceController.mSurfaceControl, win.getFrameNumber());
+ win.getDeferTransactionBarrier(), win.getFrameNumber());
}
}
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index 5babdafc856d..9df42486580b 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -191,7 +191,7 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
Rect outStableInsets, Rect outBackdropFrame,
DisplayCutout.ParcelableWrapper cutout, MergedConfiguration mergedConfiguration,
SurfaceControl outSurfaceControl, InsetsState outInsetsState,
- Point outSurfaceSize) {
+ Point outSurfaceSize, SurfaceControl outBLASTSurfaceControl) {
if (false) Slog.d(TAG_WM, ">>>>>> ENTERED relayout from "
+ Binder.getCallingPid());
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, mRelayoutTag);
@@ -199,7 +199,8 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
requestedWidth, requestedHeight, viewFlags, flags, frameNumber,
outFrame, outContentInsets, outVisibleInsets,
outStableInsets, outBackdropFrame, cutout,
- mergedConfiguration, outSurfaceControl, outInsetsState, outSurfaceSize);
+ mergedConfiguration, outSurfaceControl, outInsetsState, outSurfaceSize,
+ outBLASTSurfaceControl);
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
if (false) Slog.d(TAG_WM, "<<<<<< EXITING relayout to "
+ Binder.getCallingPid());
@@ -237,16 +238,12 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
@Override
public void setInTouchMode(boolean mode) {
- synchronized (mService.mGlobalLock) {
- mService.mInTouchMode = mode;
- }
+ mService.setInTouchMode(mode);
}
@Override
public boolean getInTouchMode() {
- synchronized (mService.mGlobalLock) {
- return mService.mInTouchMode;
- }
+ return mService.getInTouchMode();
}
@Override
@@ -625,7 +622,7 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
@Override
public void grantInputChannel(int displayId, SurfaceControl surface,
- IWindow window, IBinder hostInputToken, InputChannel outInputChannel) {
+ IWindow window, IBinder hostInputToken, int flags, InputChannel outInputChannel) {
if (hostInputToken == null && !mCanAddInternalSystemWindow) {
// Callers without INTERNAL_SYSTEM_WINDOW permission cannot grant input channel to
// embedded windows without providing a host window input token
@@ -634,8 +631,19 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient {
final long identity = Binder.clearCallingIdentity();
try {
- mService.grantInputChannel(mUid, mPid, displayId, surface, window,
- hostInputToken, outInputChannel);
+ mService.grantInputChannel(mUid, mPid, displayId, surface, window, hostInputToken,
+ flags, outInputChannel);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ @Override
+ public void updateInputChannel(IBinder channelToken, int displayId, SurfaceControl surface,
+ int flags) {
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mService.updateInputChannel(channelToken, displayId, surface, flags);
} finally {
Binder.restoreCallingIdentity(identity);
}
diff --git a/services/core/java/com/android/server/wm/SurfaceAnimator.java b/services/core/java/com/android/server/wm/SurfaceAnimator.java
index cb1676f3a7b1..7164cd85230b 100644
--- a/services/core/java/com/android/server/wm/SurfaceAnimator.java
+++ b/services/core/java/com/android/server/wm/SurfaceAnimator.java
@@ -23,6 +23,7 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.util.Slog;
@@ -33,6 +34,8 @@ import android.view.SurfaceControl.Transaction;
import com.android.internal.annotations.VisibleForTesting;
import java.io.PrintWriter;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
/**
* A class that can run animations on objects that have a set of child surfaces. We do this by
@@ -47,6 +50,7 @@ class SurfaceAnimator {
private static final String TAG = TAG_WITH_CLASS_NAME ? "SurfaceAnimator" : TAG_WM;
private final WindowManagerService mService;
private AnimationAdapter mAnimation;
+ private @AnimationType int mAnimationType;
@VisibleForTesting
SurfaceControl mLeash;
@@ -55,30 +59,32 @@ class SurfaceAnimator {
private final OnAnimationFinishedCallback mInnerAnimationFinishedCallback;
@VisibleForTesting
@Nullable
- final Runnable mStaticAnimationFinishedCallback;
+ final OnAnimationFinishedCallback mStaticAnimationFinishedCallback;
@Nullable
- private Runnable mAnimationFinishedCallback;
+ private OnAnimationFinishedCallback mAnimationFinishedCallback;
private boolean mAnimationStartDelayed;
/**
* @param animatable The object to animate.
- * @param animationFinishedCallback Callback to invoke when an animation has finished running.
+ * @param staticAnimationFinishedCallback Callback to invoke when an animation has finished
+ * running.
*/
- SurfaceAnimator(Animatable animatable, @Nullable Runnable animationFinishedCallback,
+ SurfaceAnimator(Animatable animatable,
+ @Nullable OnAnimationFinishedCallback staticAnimationFinishedCallback,
WindowManagerService service) {
mAnimatable = animatable;
mService = service;
- mStaticAnimationFinishedCallback = animationFinishedCallback;
- mInnerAnimationFinishedCallback = getFinishedCallback(animationFinishedCallback);
+ mStaticAnimationFinishedCallback = staticAnimationFinishedCallback;
+ mInnerAnimationFinishedCallback = getFinishedCallback(staticAnimationFinishedCallback);
}
private OnAnimationFinishedCallback getFinishedCallback(
- @Nullable Runnable animationFinishedCallback) {
- return anim -> {
+ @Nullable OnAnimationFinishedCallback staticAnimationFinishedCallback) {
+ return (type, anim) -> {
synchronized (mService.mGlobalLock) {
final SurfaceAnimator target = mService.mAnimationTransferMap.remove(anim);
if (target != null) {
- target.mInnerAnimationFinishedCallback.onAnimationFinished(anim);
+ target.mInnerAnimationFinishedCallback.onAnimationFinished(type, anim);
return;
}
@@ -91,13 +97,14 @@ class SurfaceAnimator {
if (anim != mAnimation) {
return;
}
- final Runnable animationFinishCallback = mAnimationFinishedCallback;
+ final OnAnimationFinishedCallback animationFinishCallback =
+ mAnimationFinishedCallback;
reset(mAnimatable.getPendingTransaction(), true /* destroyLeash */);
- if (animationFinishedCallback != null) {
- animationFinishedCallback.run();
+ if (staticAnimationFinishedCallback != null) {
+ staticAnimationFinishedCallback.onAnimationFinished(type, anim);
}
if (animationFinishCallback != null) {
- animationFinishCallback.run();
+ animationFinishCallback.onAnimationFinished(type, anim);
}
};
if (!mAnimatable.shouldDeferAnimationFinish(resetAndInvokeFinish)) {
@@ -120,9 +127,11 @@ class SurfaceAnimator {
* @param animationFinishedCallback The callback being triggered when the animation finishes.
*/
void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden,
- @Nullable Runnable animationFinishedCallback) {
+ @AnimationType int type,
+ @Nullable OnAnimationFinishedCallback animationFinishedCallback) {
cancelAnimation(t, true /* restarting */, true /* forwardCancel */);
mAnimation = anim;
+ mAnimationType = type;
mAnimationFinishedCallback = animationFinishedCallback;
final SurfaceControl surface = mAnimatable.getSurfaceControl();
if (surface == null) {
@@ -137,11 +146,12 @@ class SurfaceAnimator {
if (DEBUG_ANIM) Slog.i(TAG, "Animation start delayed");
return;
}
- mAnimation.startAnimation(mLeash, t, mInnerAnimationFinishedCallback);
+ mAnimation.startAnimation(mLeash, t, type, mInnerAnimationFinishedCallback);
}
- void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden) {
- startAnimation(t, anim, hidden, null /* animationFinishedCallback */);
+ void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden,
+ @AnimationType int type) {
+ startAnimation(t, anim, hidden, type, null /* animationFinishedCallback */);
}
/**
@@ -165,7 +175,7 @@ class SurfaceAnimator {
mAnimationStartDelayed = false;
if (delayed && mAnimation != null) {
mAnimation.startAnimation(mLeash, mAnimatable.getPendingTransaction(),
- mInnerAnimationFinishedCallback);
+ mAnimationType, mInnerAnimationFinishedCallback);
mAnimatable.commitPendingTransaction();
}
}
@@ -245,6 +255,7 @@ class SurfaceAnimator {
cancelAnimation(t, true /* restarting */, true /* forwardCancel */);
mLeash = from.mLeash;
mAnimation = from.mAnimation;
+ mAnimationType = from.mAnimationType;
mAnimationFinishedCallback = from.mAnimationFinishedCallback;
// Cancel source animation, but don't let animation runner cancel the animation.
@@ -272,7 +283,8 @@ class SurfaceAnimator {
if (DEBUG_ANIM) Slog.i(TAG, "Cancelling animation restarting=" + restarting);
final SurfaceControl leash = mLeash;
final AnimationAdapter animation = mAnimation;
- final Runnable animationFinishedCallback = mAnimationFinishedCallback;
+ final @AnimationType int animationType = mAnimationType;
+ final OnAnimationFinishedCallback animationFinishedCallback = mAnimationFinishedCallback;
reset(t, false);
if (animation != null) {
if (!mAnimationStartDelayed && forwardCancel) {
@@ -280,10 +292,10 @@ class SurfaceAnimator {
}
if (!restarting) {
if (mStaticAnimationFinishedCallback != null) {
- mStaticAnimationFinishedCallback.run();
+ mStaticAnimationFinishedCallback.onAnimationFinished(animationType, animation);
}
if (animationFinishedCallback != null) {
- animationFinishedCallback.run();
+ animationFinishedCallback.onAnimationFinished(animationType, animation);
}
}
}
@@ -325,6 +337,7 @@ class SurfaceAnimator {
mLeash = null;
mAnimation = null;
mAnimationFinishedCallback = null;
+ mAnimationType = ANIMATION_TYPE_NONE;
if (reparent) {
// Make sure to inform the animatable after the surface was reparented (or reparent
@@ -392,12 +405,72 @@ class SurfaceAnimator {
}
}
+
+ /**
+ * No animation is specified.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_NONE = 0;
+
+ /**
+ * Animation for an app transition.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_APP_TRANSITION = 1;
+
+ /**
+ * Animation for screen rotation.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_SCREEN_ROTATION = 2;
+
+ /**
+ * Animation for dimming.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_DIMMER = 3;
+
+ /**
+ * Animation for recent apps.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_RECENTS = 4;
+
+ /**
+ * Animation for a {@link WindowState} without animating the activity.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_WINDOW_ANIMATION = 5;
+
+ /**
+ * Animation to control insets. This is actually not an animation, but is used to give the
+ * client a leash over the system window causing insets.
+ * @hide
+ */
+ static final int ANIMATION_TYPE_INSETS_CONTROL = 6;
+
+ /**
+ * The type of the animation.
+ * @hide
+ */
+ @IntDef(flag = true, prefix = { "ANIMATION_TYPE_" }, value = {
+ ANIMATION_TYPE_NONE,
+ ANIMATION_TYPE_APP_TRANSITION,
+ ANIMATION_TYPE_SCREEN_ROTATION,
+ ANIMATION_TYPE_DIMMER,
+ ANIMATION_TYPE_RECENTS,
+ ANIMATION_TYPE_WINDOW_ANIMATION,
+ ANIMATION_TYPE_INSETS_CONTROL
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @interface AnimationType {}
+
/**
* Callback to be passed into {@link AnimationAdapter#startAnimation} to be invoked by the
* component that is running the animation when the animation is finished.
*/
interface OnAnimationFinishedCallback {
- void onAnimationFinished(AnimationAdapter anim);
+ void onAnimationFinished(@AnimationType int type, AnimationAdapter anim);
}
/**
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index a02ba64b4c9c..87c91ef6b96c 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -61,17 +61,6 @@ import static android.view.SurfaceControl.METADATA_TASK_ID;
import static com.android.internal.policy.DecorView.DECOR_SHADOW_FOCUSED_HEIGHT_IN_DIP;
import static com.android.internal.policy.DecorView.DECOR_SHADOW_UNFOCUSED_HEIGHT_IN_DIP;
-import static com.android.server.am.TaskRecordProto.ACTIVITIES;
-import static com.android.server.am.TaskRecordProto.ACTIVITY_TYPE;
-import static com.android.server.am.TaskRecordProto.FULLSCREEN;
-import static com.android.server.am.TaskRecordProto.LAST_NON_FULLSCREEN_BOUNDS;
-import static com.android.server.am.TaskRecordProto.MIN_HEIGHT;
-import static com.android.server.am.TaskRecordProto.MIN_WIDTH;
-import static com.android.server.am.TaskRecordProto.ORIG_ACTIVITY;
-import static com.android.server.am.TaskRecordProto.REAL_ACTIVITY;
-import static com.android.server.am.TaskRecordProto.RESIZE_MODE;
-import static com.android.server.am.TaskRecordProto.STACK_ID;
-import static com.android.server.am.TaskRecordProto.TASK;
import static com.android.server.wm.ActivityRecord.STARTING_WINDOW_SHOWN;
import static com.android.server.wm.ActivityStack.ActivityState.RESUMED;
import static com.android.server.wm.ActivityStackSupervisor.ON_TOP;
@@ -90,7 +79,6 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLAS
import static com.android.server.wm.ActivityTaskManagerService.TAG_STACK;
import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_DOCKED_DIVIDER;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
-import static com.android.server.wm.TaskProto.APP_WINDOW_TOKENS;
import static com.android.server.wm.TaskProto.DISPLAYED_BOUNDS;
import static com.android.server.wm.TaskProto.FILLS_PARENT;
import static com.android.server.wm.TaskProto.SURFACE_HEIGHT;
@@ -1257,7 +1245,7 @@ class Task extends WindowContainer<WindowContainer> {
if (affinityIntent != null) return affinityIntent;
// Probably a task that contains other tasks, so return the intent for the top task?
final Task topTask = getTopMostTask();
- return topTask != null ? topTask.getBaseIntent() : null;
+ return (topTask != this && topTask != null) ? topTask.getBaseIntent() : null;
}
/** Returns the first non-finishing activity from the bottom. */
@@ -3160,29 +3148,6 @@ class Task extends WindowContainer<WindowContainer> {
}
}
- // TODO(proto-merge): Remove once protos for TaskRecord and Task are merged.
- void dumpDebugInnerTaskOnly(ProtoOutputStream proto, long fieldId,
- @WindowTraceLogLevel int logLevel) {
- if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
- return;
- }
-
- final long token = proto.start(fieldId);
- super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
- proto.write(TaskProto.ID, mTaskId);
- forAllActivities((r) -> {
- r.dumpDebug(proto, APP_WINDOW_TOKENS, logLevel);
- });
- proto.write(FILLS_PARENT, matchParentBounds());
- getBounds().dumpDebug(proto, TaskProto.BOUNDS);
- mOverrideDisplayedBounds.dumpDebug(proto, DISPLAYED_BOUNDS);
- if (mSurfaceControl != null) {
- proto.write(SURFACE_WIDTH, mSurfaceControl.getWidth());
- proto.write(SURFACE_HEIGHT, mSurfaceControl.getHeight());
- }
- proto.end(token);
- }
-
@Override
void dump(PrintWriter pw, String prefix, boolean dumpAll) {
super.dump(pw, prefix, dumpAll);
@@ -3214,7 +3179,10 @@ class Task extends WindowContainer<WindowContainer> {
info.taskId = mTaskId;
info.displayId = getDisplayId();
info.isRunning = getTopNonFinishingActivity() != null;
- info.baseIntent = new Intent(getBaseIntent());
+ final Intent baseIntent = getBaseIntent();
+ // Make a copy of base intent because this is like a snapshot info.
+ // Besides, {@link RecentTasks#getRecentTasksImpl} may modify it.
+ info.baseIntent = baseIntent == null ? new Intent() : new Intent(baseIntent);
info.baseActivity = mReuseActivitiesReport.base != null
? mReuseActivitiesReport.base.intent.getComponent()
: null;
@@ -3229,6 +3197,10 @@ class Task extends WindowContainer<WindowContainer> {
info.supportsSplitScreenMultiWindow = supportsSplitScreenWindowingMode();
info.resizeMode = mResizeMode;
info.configuration.setTo(getConfiguration());
+ info.token = mRemoteToken;
+ // Get's the first non-undefined activity type among this and children. Can't use
+ // configuration.windowConfiguration because that would only be this level.
+ info.topActivityType = getActivityType();
}
/**
@@ -3375,7 +3347,7 @@ class Task extends WindowContainer<WindowContainer> {
if (affinity != null) {
sb.append(" A=");
sb.append(affinity);
- } else if (intent != null) {
+ } else if (intent != null && intent.getComponent() != null) {
sb.append(" I=");
sb.append(intent.getComponent().flattenToShortString());
} else if (affinityIntent != null && affinityIntent.getComponent() != null) {
@@ -3388,43 +3360,6 @@ class Task extends WindowContainer<WindowContainer> {
return toString();
}
- void dumpDebugInner(ProtoOutputStream proto, long fieldId,
- @WindowTraceLogLevel int logLevel) {
- if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
- return;
- }
-
- final long token = proto.start(fieldId);
- dumpDebugInnerTaskOnly(proto, TASK, logLevel);
- proto.write(com.android.server.am.TaskRecordProto.ID, mTaskId);
-
- forAllActivities((r) -> {
- r.dumpDebug(proto, ACTIVITIES);
- });
- proto.write(STACK_ID, getRootTaskId());
- if (mLastNonFullscreenBounds != null) {
- mLastNonFullscreenBounds.dumpDebug(proto, LAST_NON_FULLSCREEN_BOUNDS);
- }
- if (realActivity != null) {
- proto.write(REAL_ACTIVITY, realActivity.flattenToShortString());
- }
- if (origActivity != null) {
- proto.write(ORIG_ACTIVITY, origActivity.flattenToShortString());
- }
- proto.write(ACTIVITY_TYPE, getActivityType());
- proto.write(RESIZE_MODE, mResizeMode);
- // TODO: Remove, no longer needed with windowingMode.
- proto.write(FULLSCREEN, matchParentBounds());
-
- if (!matchParentBounds()) {
- final Rect bounds = getRequestedOverrideBounds();
- bounds.dumpDebug(proto, com.android.server.am.TaskRecordProto.BOUNDS);
- }
- proto.write(MIN_WIDTH, mMinWidth);
- proto.write(MIN_HEIGHT, mMinHeight);
- proto.end(token);
- }
-
/** @see #getNumRunningActivities(TaskActivitiesReport) */
static class TaskActivitiesReport implements Consumer<ActivityRecord> {
int numRunning;
@@ -3865,7 +3800,12 @@ class Task extends WindowContainer<WindowContainer> {
boolean isControlledByTaskOrganizer() {
final Task rootTask = getRootTask();
- return rootTask == this && rootTask.mTaskOrganizer != null;
+ return rootTask == this && rootTask.mTaskOrganizer != null
+ // TODO(task-hierarchy): Figure out how to control nested tasks.
+ // For now, if this is in a tile let WM drive.
+ && !(rootTask instanceof TaskTile)
+ && !(rootTask instanceof ActivityStack
+ && ((ActivityStack) rootTask).getTile() != null);
}
@Override
@@ -3893,6 +3833,9 @@ class Task extends WindowContainer<WindowContainer> {
}
void setTaskOrganizer(ITaskOrganizer organizer) {
+ if (mTaskOrganizer == organizer) {
+ return;
+ }
// Let the old organizer know it has lost control.
if (mTaskOrganizer != null) {
sendTaskVanished();
@@ -3918,8 +3861,6 @@ class Task extends WindowContainer<WindowContainer> {
public void updateSurfacePosition() {
// Avoid fighting with the TaskOrganizer over Surface position.
if (isControlledByTaskOrganizer()) {
- getPendingTransaction().setPosition(mSurfaceControl, 0, 0);
- scheduleAnimation();
return;
} else {
super.updateSurfacePosition();
diff --git a/services/core/java/com/android/server/wm/TaskOrganizerController.java b/services/core/java/com/android/server/wm/TaskOrganizerController.java
index 283be4010677..44a6fc936961 100644
--- a/services/core/java/com/android/server/wm/TaskOrganizerController.java
+++ b/services/core/java/com/android/server/wm/TaskOrganizerController.java
@@ -16,25 +16,51 @@
package com.android.server.wm;
+import static android.Manifest.permission.MANAGE_ACTIVITY_STACKS;
+import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
+import static com.android.server.wm.ActivityStackSupervisor.PRESERVE_WINDOWS;
+
+import android.annotation.Nullable;
+import android.app.ActivityManager.RunningTaskInfo;
+import android.app.ITaskOrganizerController;
+import android.app.WindowConfiguration;
+import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
+import android.graphics.Rect;
+import android.os.Binder;
import android.os.IBinder;
import android.os.RemoteException;
+import android.util.ArraySet;
import android.util.Slog;
import android.view.ITaskOrganizer;
-import android.view.SurfaceControl;
+import android.view.IWindowContainer;
+import android.view.WindowContainerTransaction;
+
+import com.android.internal.util.function.pooled.PooledConsumer;
+import com.android.internal.util.function.pooled.PooledLambda;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.WeakHashMap;
/**
* Stores the TaskOrganizers associated with a given windowing mode and
* their associated state.
*/
-class TaskOrganizerController {
+class TaskOrganizerController extends ITaskOrganizerController.Stub {
private static final String TAG = "TaskOrganizerController";
- private WindowManagerGlobalLock mGlobalLock;
+ /** Flag indicating that an applied transaction may have effected lifecycle */
+ private static final int TRANSACT_EFFECTS_CLIENT_CONFIG = 1;
+ private static final int TRANSACT_EFFECTS_LIFECYCLE = 1 << 1;
+
+ private final WindowManagerGlobalLock mGlobalLock;
private class DeathRecipient implements IBinder.DeathRecipient {
int mWindowingMode;
@@ -86,11 +112,20 @@ class TaskOrganizerController {
final HashMap<Integer, ITaskOrganizer> mTaskOrganizersByPendingSyncId = new HashMap();
+ private final WeakHashMap<Task, RunningTaskInfo> mLastSentTaskInfos = new WeakHashMap<>();
+ private final ArrayList<Task> mPendingTaskInfoChanges = new ArrayList<>();
+
final ActivityTaskManagerService mService;
- TaskOrganizerController(ActivityTaskManagerService atm, WindowManagerGlobalLock lock) {
+ RunningTaskInfo mTmpTaskInfo;
+
+ TaskOrganizerController(ActivityTaskManagerService atm) {
mService = atm;
- mGlobalLock = lock;
+ mGlobalLock = atm.mGlobalLock;
+ }
+
+ private void enforceStackPermission(String func) {
+ mService.mAmInternal.enforceCallingPermission(MANAGE_ACTIVITY_STACKS, func);
}
private void clearIfNeeded(int windowingMode) {
@@ -105,24 +140,35 @@ class TaskOrganizerController {
* If there was already a TaskOrganizer for this windowing mode it will be evicted
* and receive taskVanished callbacks in the process.
*/
- void registerTaskOrganizer(ITaskOrganizer organizer, int windowingMode) {
- if (windowingMode != WINDOWING_MODE_PINNED) {
- throw new UnsupportedOperationException(
- "As of now only Pinned windowing mode is supported for registerTaskOrganizer");
-
+ @Override
+ public void registerTaskOrganizer(ITaskOrganizer organizer, int windowingMode) {
+ if (windowingMode != WINDOWING_MODE_PINNED
+ && windowingMode != WINDOWING_MODE_SPLIT_SCREEN_PRIMARY
+ && windowingMode != WINDOWING_MODE_SPLIT_SCREEN_SECONDARY
+ && windowingMode != WINDOWING_MODE_MULTI_WINDOW) {
+ throw new UnsupportedOperationException("As of now only Pinned/Split/Multiwindow"
+ + " windowing modes are supported for registerTaskOrganizer");
}
- clearIfNeeded(windowingMode);
- DeathRecipient dr = new DeathRecipient(organizer, windowingMode);
+ enforceStackPermission("registerTaskOrganizer()");
+ final long origId = Binder.clearCallingIdentity();
try {
- organizer.asBinder().linkToDeath(dr, 0);
- } catch (RemoteException e) {
- Slog.e(TAG, "TaskOrganizer failed to register death recipient");
- }
+ synchronized (mGlobalLock) {
+ clearIfNeeded(windowingMode);
+ DeathRecipient dr = new DeathRecipient(organizer, windowingMode);
+ try {
+ organizer.asBinder().linkToDeath(dr, 0);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "TaskOrganizer failed to register death recipient");
+ }
- final TaskOrganizerState state = new TaskOrganizerState(organizer, dr);
- mTaskOrganizersForWindowingMode.put(windowingMode, state);
+ final TaskOrganizerState state = new TaskOrganizerState(organizer, dr);
+ mTaskOrganizersForWindowingMode.put(windowingMode, state);
- mTaskOrganizerStates.put(organizer, state);
+ mTaskOrganizerStates.put(organizer, state);
+ }
+ } finally {
+ Binder.restoreCallingIdentity(origId);
+ }
}
ITaskOrganizer getTaskOrganizer(int windowingMode) {
@@ -135,7 +181,7 @@ class TaskOrganizerController {
private void sendTaskAppeared(ITaskOrganizer organizer, Task task) {
try {
- organizer.taskAppeared(task.getRemoteToken(), task.getTaskInfo());
+ organizer.taskAppeared(task.getTaskInfo());
} catch (Exception e) {
Slog.e(TAG, "Exception sending taskAppeared callback" + e);
}
@@ -164,4 +210,254 @@ class TaskOrganizerController {
// we do this AFTER sending taskVanished.
state.removeTask(task);
}
+
+ @Override
+ public RunningTaskInfo createRootTask(int displayId, int windowingMode) {
+ enforceStackPermission("createRootTask()");
+ final long origId = Binder.clearCallingIdentity();
+ try {
+ synchronized (mGlobalLock) {
+ DisplayContent display = mService.mRootWindowContainer.getDisplayContent(displayId);
+ if (display == null) {
+ return null;
+ }
+ final int nextId = display.getNextStackId();
+ TaskTile tile = new TaskTile(mService, nextId, windowingMode);
+ display.addTile(tile);
+ RunningTaskInfo out = new RunningTaskInfo();
+ tile.fillTaskInfo(out);
+ mLastSentTaskInfos.put(tile, out);
+ return out;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(origId);
+ }
+ }
+
+ @Override
+ public boolean deleteRootTask(IWindowContainer token) {
+ enforceStackPermission("deleteRootTask()");
+ final long origId = Binder.clearCallingIdentity();
+ try {
+ synchronized (mGlobalLock) {
+ TaskTile tile = TaskTile.forToken(token.asBinder());
+ if (tile == null) {
+ return false;
+ }
+ tile.removeImmediately();
+ return true;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(origId);
+ }
+ }
+
+ void dispatchPendingTaskInfoChanges() {
+ if (mService.mWindowManager.mWindowPlacerLocked.isLayoutDeferred()) {
+ return;
+ }
+ for (int i = 0, n = mPendingTaskInfoChanges.size(); i < n; ++i) {
+ dispatchTaskInfoChanged(mPendingTaskInfoChanges.get(i), false /* force */);
+ }
+ mPendingTaskInfoChanges.clear();
+ }
+
+ void dispatchTaskInfoChanged(Task task, boolean force) {
+ if (!force && mService.mWindowManager.mWindowPlacerLocked.isLayoutDeferred()) {
+ // Defer task info reporting while layout is deferred. This is because layout defer
+ // blocks tend to do lots of re-ordering which can mess up animations in receivers.
+ mPendingTaskInfoChanges.remove(task);
+ mPendingTaskInfoChanges.add(task);
+ return;
+ }
+ RunningTaskInfo lastInfo = mLastSentTaskInfos.get(task);
+ if (mTmpTaskInfo == null) {
+ mTmpTaskInfo = new RunningTaskInfo();
+ }
+ task.fillTaskInfo(mTmpTaskInfo);
+ boolean changed = lastInfo == null
+ || mTmpTaskInfo.topActivityType != lastInfo.topActivityType
+ || mTmpTaskInfo.isResizable() != lastInfo.isResizable();
+ if (!(changed || force)) {
+ return;
+ }
+ final RunningTaskInfo newInfo = mTmpTaskInfo;
+ mLastSentTaskInfos.put(task, mTmpTaskInfo);
+ // Since we've stored this, clean up the reference so a new one will be created next time.
+ // Transferring it this way means we only have to construct new RunningTaskInfos when they
+ // change.
+ mTmpTaskInfo = null;
+
+ if (task.mTaskOrganizer != null) {
+ try {
+ task.mTaskOrganizer.onTaskInfoChanged(newInfo);
+ } catch (RemoteException e) {
+ }
+ }
+ }
+
+ @Override
+ public IWindowContainer getImeTarget(int displayId) {
+ enforceStackPermission("getImeTarget()");
+ final long origId = Binder.clearCallingIdentity();
+ try {
+ synchronized (mGlobalLock) {
+ DisplayContent dc = mService.mWindowManager.mRoot
+ .getDisplayContent(displayId);
+ if (dc == null || dc.mInputMethodTarget == null) {
+ return null;
+ }
+ // Avoid WindowState#getRootTask() so we don't attribute system windows to a task.
+ final Task task = dc.mInputMethodTarget.getTask();
+ if (task == null) {
+ return null;
+ }
+ ActivityStack rootTask = (ActivityStack) task.getRootTask();
+ final TaskTile tile = rootTask.getTile();
+ if (tile != null) {
+ rootTask = tile;
+ }
+ return rootTask.mRemoteToken;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(origId);
+ }
+ }
+
+ @Override
+ public void setLaunchRoot(int displayId, @Nullable IWindowContainer tile) {
+ enforceStackPermission("setLaunchRoot()");
+ final long origId = Binder.clearCallingIdentity();
+ try {
+ synchronized (mGlobalLock) {
+ DisplayContent display = mService.mRootWindowContainer.getDisplayContent(displayId);
+ if (display == null) {
+ return;
+ }
+ TaskTile taskTile = tile == null ? null : TaskTile.forToken(tile.asBinder());
+ if (taskTile == null) {
+ display.mLaunchTile = null;
+ return;
+ }
+ if (taskTile.getDisplay() != display) {
+ throw new RuntimeException("Can't set launch root for display " + displayId
+ + " to task on display " + taskTile.getDisplay().getDisplayId());
+ }
+ display.mLaunchTile = taskTile;
+ }
+ } finally {
+ Binder.restoreCallingIdentity(origId);
+ }
+ }
+
+ private int sanitizeAndApplyChange(WindowContainer container,
+ WindowContainerTransaction.Change change) {
+ if (!(container instanceof Task)) {
+ throw new RuntimeException("Invalid token in task transaction");
+ }
+ // The "client"-facing API should prevent bad changes; however, just in case, sanitize
+ // masks here.
+ int configMask = change.getConfigSetMask();
+ int windowMask = change.getWindowSetMask();
+ configMask &= ActivityInfo.CONFIG_WINDOW_CONFIGURATION
+ | ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
+ windowMask &= WindowConfiguration.WINDOW_CONFIG_BOUNDS;
+ int effects = 0;
+ if (configMask != 0) {
+ Configuration c = new Configuration(container.getRequestedOverrideConfiguration());
+ c.setTo(change.getConfiguration(), configMask, windowMask);
+ container.onRequestedOverrideConfigurationChanged(c);
+ // TODO(b/145675353): remove the following once we could apply new bounds to the
+ // pinned stack together with its children.
+ resizePinnedStackIfNeeded(container, configMask, windowMask, c);
+ effects |= TRANSACT_EFFECTS_CLIENT_CONFIG;
+ }
+ if ((change.getChangeMask() & WindowContainerTransaction.Change.CHANGE_FOCUSABLE) != 0) {
+ if (container.setFocusable(change.getFocusable())) {
+ effects |= TRANSACT_EFFECTS_LIFECYCLE;
+ }
+ }
+ return effects;
+ }
+
+ private void resizePinnedStackIfNeeded(ConfigurationContainer container, int configMask,
+ int windowMask, Configuration config) {
+ if ((container instanceof ActivityStack)
+ && ((configMask & ActivityInfo.CONFIG_WINDOW_CONFIGURATION) != 0)
+ && ((windowMask & WindowConfiguration.WINDOW_CONFIG_BOUNDS) != 0)) {
+ final ActivityStack stack = (ActivityStack) container;
+ if (stack.inPinnedWindowingMode()) {
+ stack.resize(config.windowConfiguration.getBounds(),
+ null /* tempTaskBounds */, null /* tempTaskInsetBounds */,
+ PRESERVE_WINDOWS, true /* deferResume */);
+ }
+ }
+ }
+
+ private int applyWindowContainerChange(WindowContainer wc,
+ WindowContainerTransaction.Change c) {
+ int effects = sanitizeAndApplyChange(wc, c);
+
+ Rect enterPipBounds = c.getEnterPipBounds();
+ if (enterPipBounds != null) {
+ Task tr = (Task) wc;
+ mService.mStackSupervisor.updatePictureInPictureMode(tr,
+ enterPipBounds, true);
+ }
+ return effects;
+ }
+
+ @Override
+ public void applyContainerTransaction(WindowContainerTransaction t) {
+ enforceStackPermission("applyContainerTransaction()");
+ if (t == null) {
+ return;
+ }
+ long ident = Binder.clearCallingIdentity();
+ try {
+ synchronized (mGlobalLock) {
+ int effects = 0;
+ mService.deferWindowLayout();
+ try {
+ ArraySet<WindowContainer> haveConfigChanges = new ArraySet<>();
+ Iterator<Map.Entry<IBinder, WindowContainerTransaction.Change>> entries =
+ t.getChanges().entrySet().iterator();
+ while (entries.hasNext()) {
+ final Map.Entry<IBinder, WindowContainerTransaction.Change> entry =
+ entries.next();
+ final WindowContainer wc = WindowContainer.RemoteToken.fromBinder(
+ entry.getKey()).getContainer();
+ int containerEffect = applyWindowContainerChange(wc, entry.getValue());
+ effects |= containerEffect;
+ // Lifecycle changes will trigger ensureConfig for everything.
+ if ((effects & TRANSACT_EFFECTS_LIFECYCLE) == 0
+ && (containerEffect & TRANSACT_EFFECTS_CLIENT_CONFIG) != 0) {
+ haveConfigChanges.add(wc);
+ }
+ }
+ if ((effects & TRANSACT_EFFECTS_LIFECYCLE) != 0) {
+ // Already calls ensureActivityConfig
+ mService.mRootWindowContainer.ensureActivitiesVisible(
+ null, 0, PRESERVE_WINDOWS);
+ } else if ((effects & TRANSACT_EFFECTS_CLIENT_CONFIG) != 0) {
+ final PooledConsumer f = PooledLambda.obtainConsumer(
+ ActivityRecord::ensureActivityConfiguration,
+ PooledLambda.__(ActivityRecord.class), 0,
+ false /* preserveWindow */);
+ try {
+ for (int i = haveConfigChanges.size() - 1; i >= 0; --i) {
+ haveConfigChanges.valueAt(i).forAllActivities(f);
+ }
+ } finally {
+ f.recycle();
+ }
+ }
+ } finally {
+ mService.continueWindowLayout();
+ }
+ }
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
+ }
}
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
index 57de7536409f..f4e42455087d 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
@@ -36,7 +36,6 @@ import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
-
import static com.android.internal.policy.DecorView.NAVIGATION_BAR_COLOR_VIEW_ATTRIBUTES;
import static com.android.internal.policy.DecorView.STATUS_BAR_COLOR_VIEW_ATTRIBUTES;
import static com.android.internal.policy.DecorView.getColorViewLeftInset;
@@ -116,7 +115,11 @@ class TaskSnapshotSurface implements StartingSurface {
private static final String TAG = TAG_WITH_CLASS_NAME ? "SnapshotStartingWindow" : TAG_WM;
private static final int MSG_REPORT_DRAW = 0;
private static final String TITLE_FORMAT = "SnapshotStartingWindow for taskId=%s";
- private static final Point sSurfaceSize = new Point(); //tmp var for unused relayout param
+
+ //tmp vars for unused relayout params
+ private static final Point sTmpSurfaceSize = new Point();
+ private static final SurfaceControl sTmpSurfaceControl = new SurfaceControl();
+
private final Window mWindow;
private final Surface mSurface;
private SurfaceControl mSurfaceControl;
@@ -184,8 +187,9 @@ class TaskSnapshotSurface implements StartingSurface {
return null;
}
sysUiVis = topFullscreenOpaqueWindow.getSystemUiVisibility();
- windowFlags = topFullscreenOpaqueWindow.getAttrs().flags;
- windowPrivateFlags = topFullscreenOpaqueWindow.getAttrs().privateFlags;
+ WindowManager.LayoutParams attrs = topFullscreenOpaqueWindow.mAttrs;
+ windowFlags = attrs.flags;
+ windowPrivateFlags = attrs.privateFlags;
layoutParams.packageName = mainWindow.getAttrs().packageName;
layoutParams.windowAnimations = mainWindow.getAttrs().windowAnimations;
@@ -200,6 +204,14 @@ class TaskSnapshotSurface implements StartingSurface {
layoutParams.width = LayoutParams.MATCH_PARENT;
layoutParams.height = LayoutParams.MATCH_PARENT;
layoutParams.systemUiVisibility = sysUiVis;
+ layoutParams.insetsFlags.behavior
+ = topFullscreenOpaqueWindow.mAttrs.insetsFlags.behavior;
+ layoutParams.insetsFlags.appearance
+ = topFullscreenOpaqueWindow.mAttrs.insetsFlags.appearance;
+ layoutParams.setFitInsetsTypes(attrs.getFitInsetsTypes());
+ layoutParams.setFitInsetsSides(attrs.getFitInsetsSides());
+ layoutParams.setFitInsetsIgnoringVisibility(attrs.isFitInsetsIgnoringVisibility());
+
layoutParams.setTitle(String.format(TITLE_FORMAT, task.mTaskId));
final TaskDescription td = task.getTaskDescription();
@@ -230,7 +242,7 @@ class TaskSnapshotSurface implements StartingSurface {
session.relayout(window, window.mSeq, layoutParams, -1, -1, View.VISIBLE, 0, -1,
tmpFrame, tmpContentInsets, tmpRect, tmpStableInsets, tmpRect,
tmpCutout, tmpMergedConfiguration, surfaceControl, mTmpInsetsState,
- sSurfaceSize);
+ sTmpSurfaceSize, sTmpSurfaceControl);
} catch (RemoteException e) {
// Local call.
}
diff --git a/services/core/java/com/android/server/wm/TaskTile.java b/services/core/java/com/android/server/wm/TaskTile.java
new file mode 100644
index 000000000000..add11d69cbaa
--- /dev/null
+++ b/services/core/java/com/android/server/wm/TaskTile.java
@@ -0,0 +1,225 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm;
+
+import static android.app.ActivityTaskManager.INVALID_TASK_ID;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
+import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
+import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
+
+import android.app.ActivityManager;
+import android.app.TaskInfo;
+import android.app.WindowConfiguration;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.res.Configuration;
+import android.graphics.Rect;
+import android.os.IBinder;
+import android.util.Slog;
+import android.view.SurfaceControl;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+
+/**
+ * A Tile. Right now this acts as a proxy for manipulating non-child stacks. Eventually, this
+ * can become an actual parent.
+ */
+// TODO(task-hierarchy): Remove when tasks can nest >2 or when single tasks can handle their
+// own lifecycles.
+public class TaskTile extends ActivityStack {
+ private static final String TAG = "TaskTile";
+ final ArrayList<WindowContainer> mChildren = new ArrayList<>();
+
+ private static ActivityInfo createEmptyActivityInfo() {
+ ActivityInfo info = new ActivityInfo();
+ info.applicationInfo = new ApplicationInfo();
+ return info;
+ }
+
+ TaskTile(ActivityTaskManagerService atmService, int id, int windowingMode) {
+ super(atmService, id, new Intent() /*intent*/, null /*affinityIntent*/, null /*affinity*/,
+ null /*rootAffinity*/, null /*realActivity*/, null /*origActivity*/,
+ false /*rootWasReset*/, false /*autoRemoveRecents*/, false /*askedCompatMode*/,
+ 0 /*userId*/, 0 /*effectiveUid*/, null /*lastDescription*/,
+ System.currentTimeMillis(), true /*neverRelinquishIdentity*/,
+ new ActivityManager.TaskDescription(), id, INVALID_TASK_ID, INVALID_TASK_ID,
+ 0 /*taskAffiliationColor*/, 0 /*callingUid*/, "" /*callingPackage*/,
+ RESIZE_MODE_RESIZEABLE, false /*supportsPictureInPicture*/,
+ false /*_realActivitySuspended*/, false /*userSetupComplete*/, INVALID_MIN_SIZE,
+ INVALID_MIN_SIZE, createEmptyActivityInfo(), null /*voiceSession*/,
+ null /*voiceInteractor*/, null /*stack*/);
+ getRequestedOverrideConfiguration().windowConfiguration.setWindowingMode(windowingMode);
+ }
+
+ @Override
+ void onDisplayChanged(DisplayContent dc) {
+ mDisplayContent = null;
+ if (dc != null) {
+ dc.getPendingTransaction().merge(getPendingTransaction());
+ }
+ mDisplayContent = dc;
+ // Virtual parent, so don't notify children.
+ }
+
+ /**
+ * If there is a disconnection, this will clean up any vestigial surfaces left on the tile
+ * leash by moving known children to a new surfacecontrol and then removing the old one.
+ */
+ void cleanupSurfaces() {
+ if (mSurfaceControl == null) {
+ return;
+ }
+ SurfaceControl oldSurface = mSurfaceControl;
+ WindowContainer parentWin = getParent();
+ if (parentWin == null) {
+ return;
+ }
+ mSurfaceControl = parentWin.makeChildSurface(null).setName("TaskTile " + mTaskId + " - "
+ + getRequestedOverrideWindowingMode()).setContainerLayer().build();
+ SurfaceControl.Transaction t = parentWin.getPendingTransaction();
+ t.show(mSurfaceControl);
+ for (int i = 0; i < mChildren.size(); ++i) {
+ if (mChildren.get(i).getSurfaceControl() == null) {
+ continue;
+ }
+ mChildren.get(i).reparentSurfaceControl(t, mSurfaceControl);
+ }
+ t.remove(oldSurface);
+ }
+
+ @Override
+ protected void addChild(WindowContainer child, Comparator<WindowContainer> comparator) {
+ throw new RuntimeException("Improper use of addChild() on Tile");
+ }
+
+ @Override
+ void addChild(WindowContainer child, int index) {
+ mChildren.add(child);
+ if (child instanceof ActivityStack) {
+ ((ActivityStack) child).setTile(this);
+ }
+ mAtmService.mTaskOrganizerController.dispatchTaskInfoChanged(
+ this, false /* force */);
+ }
+
+ @Override
+ void removeChild(WindowContainer child) {
+ if (child instanceof ActivityStack) {
+ ((ActivityStack) child).setTile(null);
+ }
+ mChildren.remove(child);
+ mAtmService.mTaskOrganizerController.dispatchTaskInfoChanged(
+ this, false /* force */);
+ }
+
+ void removeAllChildren() {
+ for (int i = mChildren.size() - 1; i >= 0; --i) {
+ final WindowContainer child = mChildren.get(i);
+ if (child instanceof ActivityStack) {
+ ((ActivityStack) child).setTile(null);
+ }
+ }
+ mChildren.clear();
+ mAtmService.mTaskOrganizerController.dispatchTaskInfoChanged(
+ this, false /* force */);
+ }
+
+ @Override
+ protected int getChildCount() {
+ // Currently 0 as this isn't a proper hierarchy member yet.
+ return 0;
+ }
+
+ @Override
+ public void setWindowingMode(/*@WindowConfiguration.WindowingMode*/ int windowingMode) {
+ Configuration c = new Configuration(getRequestedOverrideConfiguration());
+ c.windowConfiguration.setWindowingMode(windowingMode);
+ onRequestedOverrideConfigurationChanged(c);
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newParentConfig) {
+ super.onConfigurationChanged(newParentConfig);
+ for (int i = mChildren.size() - 1; i >= 0; --i) {
+ final WindowContainer child = mChildren.get(i);
+ child.onConfigurationChanged(child.getParent().getConfiguration());
+ }
+ }
+
+ /**
+ * Until this can be part of the hierarchy, the Stack level can use this utility during
+ * resolveOverrideConfig to simulate inheritance.
+ */
+ void updateResolvedConfig(Configuration inOutResolvedConfig) {
+ Rect resolveBounds = inOutResolvedConfig.windowConfiguration.getBounds();
+ if (resolveBounds == null || resolveBounds.isEmpty()) {
+ resolveBounds.set(getRequestedOverrideBounds());
+ }
+ int stackMode = inOutResolvedConfig.windowConfiguration.getWindowingMode();
+ if (stackMode == WindowConfiguration.WINDOWING_MODE_UNDEFINED
+ || stackMode == WindowConfiguration.WINDOWING_MODE_FULLSCREEN) {
+ // Also replace FULLSCREEN because we interpret FULLSCREEN as "fill parent"
+ inOutResolvedConfig.windowConfiguration.setWindowingMode(
+ getRequestedOverrideWindowingMode());
+ }
+ if (inOutResolvedConfig.smallestScreenWidthDp
+ == Configuration.SMALLEST_SCREEN_WIDTH_DP_UNDEFINED) {
+ inOutResolvedConfig.smallestScreenWidthDp =
+ getRequestedOverrideConfiguration().smallestScreenWidthDp;
+ }
+ }
+
+ @Override
+ void fillTaskInfo(TaskInfo info) {
+ super.fillTaskInfo(info);
+ WindowContainer top = null;
+ // Check mChildren.isEmpty directly because hasChild() -> getChildCount() always returns 0
+ if (!mChildren.isEmpty()) {
+ // Find the top-most root task which is a virtual child of this Tile. Because this is a
+ // virtual parent, the mChildren order here isn't changed during hierarchy operations.
+ WindowContainer parent = mChildren.get(0).getParent();
+ for (int i = parent.getChildCount() - 1; i >= 0; --i) {
+ if (mChildren.contains(parent.getChildAt(i))) {
+ top = parent.getChildAt(i);
+ break;
+ }
+ }
+ }
+ final Task topTask = top == null ? null : top.getTopMostTask();
+ boolean isResizable = topTask == null || topTask.isResizeable();
+ info.resizeMode = isResizable ? RESIZE_MODE_RESIZEABLE : RESIZE_MODE_UNRESIZEABLE;
+ info.topActivityType = top == null ? ACTIVITY_TYPE_UNDEFINED : top.getActivityType();
+ info.configuration.setTo(getRequestedOverrideConfiguration());
+ }
+
+ @Override
+ void removeImmediately() {
+ removeAllChildren();
+ super.removeImmediately();
+ }
+
+ static TaskTile forToken(IBinder token) {
+ try {
+ return (TaskTile) ((TaskToken) token).getContainer();
+ } catch (ClassCastException e) {
+ Slog.w(TAG, "Bad tile token: " + token, e);
+ return null;
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/wm/WallpaperAnimationAdapter.java b/services/core/java/com/android/server/wm/WallpaperAnimationAdapter.java
index 801e5217098f..bd705998f49a 100644
--- a/services/core/java/com/android/server/wm/WallpaperAnimationAdapter.java
+++ b/services/core/java/com/android/server/wm/WallpaperAnimationAdapter.java
@@ -18,6 +18,7 @@ package com.android.server.wm;
import static com.android.server.wm.AnimationAdapterProto.REMOTE;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_REMOTE_ANIMATIONS;
import static com.android.server.wm.RemoteAnimationAdapterWrapperProto.TARGET;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION;
import android.graphics.Point;
import android.os.SystemClock;
@@ -26,6 +27,7 @@ import android.view.RemoteAnimationTarget;
import android.view.SurfaceControl;
import com.android.server.protolog.common.ProtoLog;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import java.io.PrintWriter;
import java.util.ArrayList;
@@ -40,6 +42,7 @@ class WallpaperAnimationAdapter implements AnimationAdapter {
private final WallpaperWindowToken mWallpaperToken;
private SurfaceControl mCapturedLeash;
private SurfaceAnimator.OnAnimationFinishedCallback mCapturedLeashFinishCallback;
+ private @AnimationType int mLastAnimationType;
private long mDurationHint;
private long mStatusBarTransitionDelay;
@@ -77,7 +80,7 @@ class WallpaperAnimationAdapter implements AnimationAdapter {
wallpaperWindow, durationHint, statusBarTransitionDelay,
animationCanceledRunnable);
wallpaperWindow.startAnimation(wallpaperWindow.getPendingTransaction(),
- wallpaperAdapter, false /* hidden */);
+ wallpaperAdapter, false /* hidden */, ANIMATION_TYPE_WINDOW_ANIMATION);
targets.add(wallpaperAdapter.createRemoteAnimationTarget());
adaptersOut.add(wallpaperAdapter);
});
@@ -110,6 +113,13 @@ class WallpaperAnimationAdapter implements AnimationAdapter {
}
/**
+ * @return the type of animation.
+ */
+ @AnimationType int getLastAnimationType() {
+ return mLastAnimationType;
+ }
+
+ /**
* @return the wallpaper window
*/
WallpaperWindowToken getToken() {
@@ -124,13 +134,14 @@ class WallpaperAnimationAdapter implements AnimationAdapter {
@Override
public void startAnimation(SurfaceControl animationLeash, SurfaceControl.Transaction t,
- SurfaceAnimator.OnAnimationFinishedCallback finishCallback) {
+ @AnimationType int type, SurfaceAnimator.OnAnimationFinishedCallback finishCallback) {
ProtoLog.d(WM_DEBUG_REMOTE_ANIMATIONS, "startAnimation");
// Restore z-layering until client has a chance to modify it.
t.setLayer(animationLeash, mWallpaperToken.getPrefixOrderIndex());
mCapturedLeash = animationLeash;
mCapturedLeashFinishCallback = finishCallback;
+ mLastAnimationType = type;
}
@Override
diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java
index 015b92c7cd03..86723153c5f6 100644
--- a/services/core/java/com/android/server/wm/WindowContainer.java
+++ b/services/core/java/com/android/server/wm/WindowContainer.java
@@ -31,6 +31,7 @@ import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_W
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
@@ -74,6 +75,8 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ToBooleanFunction;
import com.android.server.protolog.common.ProtoLog;
import com.android.server.wm.SurfaceAnimator.Animatable;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
+import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import java.io.PrintWriter;
import java.lang.ref.WeakReference;
@@ -766,7 +769,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
* {@see AnimationFlags#PARENTS}
* {@see AnimationFlags#CHILDREN}
*/
- final boolean isAnimating(int flags) {
+ boolean isAnimating(int flags) {
if (mSurfaceAnimator.isAnimating()) {
return true;
}
@@ -1851,19 +1854,24 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
* @param anim The animation to run.
* @param hidden Whether our container is currently hidden. TODO This should use isVisible at
* some point but the meaning is too weird to work for all containers.
+ * @param type The type of animation defined as {@link AnimationType}.
* @param animationFinishedCallback The callback being triggered when the animation finishes.
*/
void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden,
- @Nullable Runnable animationFinishedCallback) {
- if (DEBUG_ANIM) Slog.v(TAG, "Starting animation on " + this + ": " + anim);
+ @AnimationType int type,
+ @Nullable OnAnimationFinishedCallback animationFinishedCallback) {
+ if (DEBUG_ANIM) {
+ Slog.v(TAG, "Starting animation on " + this + ": type=" + type + ", anim=" + anim);
+ }
// TODO: This should use isVisible() but because isVisible has a really weird meaning at
// the moment this doesn't work for all animatable window containers.
- mSurfaceAnimator.startAnimation(t, anim, hidden, animationFinishedCallback);
+ mSurfaceAnimator.startAnimation(t, anim, hidden, type, animationFinishedCallback);
}
- void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden) {
- startAnimation(t, anim, hidden, null /* animationFinishedCallback */);
+ void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden,
+ @AnimationType int type) {
+ startAnimation(t, anim, hidden, type, null /* animationFinishedCallback */);
}
void transferAnimation(WindowContainer from) {
@@ -1916,7 +1924,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
* @see #getAnimationAdapter
*/
boolean applyAnimation(WindowManager.LayoutParams lp, int transit, boolean enter,
- boolean isVoiceInteraction, @Nullable Runnable animationFinishedCallback) {
+ boolean isVoiceInteraction,
+ @Nullable OnAnimationFinishedCallback animationFinishedCallback) {
if (mWmService.mDisableTransitionAnimation) {
ProtoLog.v(WM_DEBUG_APP_TRANSITIONS_ANIM,
"applyAnimation: transition animation is disabled or skipped. "
@@ -1937,7 +1946,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
AnimationAdapter thumbnailAdapter = adapters.second;
if (adapter != null) {
startAnimation(getPendingTransaction(), adapter, !isVisible(),
- animationFinishedCallback);
+ ANIMATION_TYPE_APP_TRANSITION, animationFinishedCallback);
if (adapter.getShowWallpaper()) {
getDisplayContent().pendingLayoutChanges |= FINISH_LAYOUT_REDO_WALLPAPER;
}
@@ -2128,7 +2137,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
/**
* Called when an animation has finished running.
*/
- protected void onAnimationFinished() {
+ protected void onAnimationFinished(@AnimationType int type, AnimationAdapter anim) {
mWmService.onAnimationFinished();
}
diff --git a/services/core/java/com/android/server/wm/WindowContainerThumbnail.java b/services/core/java/com/android/server/wm/WindowContainerThumbnail.java
index 8948f6fc2ab1..90e3be74c743 100644
--- a/services/core/java/com/android/server/wm/WindowContainerThumbnail.java
+++ b/services/core/java/com/android/server/wm/WindowContainerThumbnail.java
@@ -20,6 +20,7 @@ import static android.view.SurfaceControl.METADATA_OWNER_UID;
import static android.view.SurfaceControl.METADATA_WINDOW_TYPE;
import static com.android.server.wm.ProtoLogGroup.WM_SHOW_TRANSACTIONS;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
import static com.android.server.wm.WindowContainerThumbnailProto.HEIGHT;
import static com.android.server.wm.WindowContainerThumbnailProto.SURFACE_ANIMATOR;
import static com.android.server.wm.WindowContainerThumbnailProto.WIDTH;
@@ -40,6 +41,7 @@ import android.view.animation.Animation;
import com.android.server.protolog.common.ProtoLog;
import com.android.server.wm.SurfaceAnimator.Animatable;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import java.util.function.Supplier;
@@ -85,7 +87,7 @@ class WindowContainerThumbnail implements Animatable {
// We can't use a delegating constructor since we need to
// reference this::onAnimationFinished
mSurfaceAnimator =
- new SurfaceAnimator(this, null /* animationFinishedCallback */,
+ new SurfaceAnimator(this, this::onAnimationFinished /* animationFinishedCallback */,
container.mWmService);
}
mWidth = thumbnailHeader.getWidth();
@@ -130,14 +132,19 @@ class WindowContainerThumbnail implements Animatable {
new WindowAnimationSpec(anim, position,
mWindowContainer.getDisplayContent().mAppTransition.canSkipFirstFrame(),
mWindowContainer.getDisplayContent().getWindowCornerRadius()),
- mWindowContainer.mWmService.mSurfaceAnimationRunner), false /* hidden */);
+ mWindowContainer.mWmService.mSurfaceAnimationRunner), false /* hidden */,
+ ANIMATION_TYPE_RECENTS, null /* animationFinishedCallback */);
}
/**
* Start animation with existing adapter.
*/
void startAnimation(Transaction t, AnimationAdapter anim, boolean hidden) {
- mSurfaceAnimator.startAnimation(t, anim, hidden);
+ mSurfaceAnimator.startAnimation(t, anim, hidden, ANIMATION_TYPE_RECENTS,
+ null /* animationFinishedCallback */);
+ }
+
+ private void onAnimationFinished(@AnimationType int type, AnimationAdapter anim) {
}
void setShowing(Transaction pendingTransaction, boolean show) {
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index e13083007237..a5b99b0a26a3 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -397,7 +397,7 @@ public class WindowManagerService extends IWindowManager.Stub
* @see #HIERARCHICAL_ANIMATIONS_PROPERTY
*/
static boolean sHierarchicalAnimations =
- SystemProperties.getBoolean(HIERARCHICAL_ANIMATIONS_PROPERTY, false);
+ SystemProperties.getBoolean(HIERARCHICAL_ANIMATIONS_PROPERTY, true);
// Enums for animation scale update types.
@Retention(RetentionPolicy.SOURCE)
@@ -938,7 +938,7 @@ public class WindowManagerService extends IWindowManager.Stub
* Whether the UI is currently running in touch mode (not showing
* navigational focus because the user is directly pressing the screen).
*/
- boolean mInTouchMode;
+ private boolean mInTouchMode;
private ViewServer mViewServer;
final ArrayList<WindowChangeListener> mWindowChangeListeners = new ArrayList<>();
@@ -2071,7 +2071,7 @@ public class WindowManagerService extends IWindowManager.Stub
Rect outVisibleInsets, Rect outStableInsets, Rect outBackdropFrame,
DisplayCutout.ParcelableWrapper outCutout, MergedConfiguration mergedConfiguration,
SurfaceControl outSurfaceControl, InsetsState outInsetsState,
- Point outSurfaceSize) {
+ Point outSurfaceSize, SurfaceControl outBLASTSurfaceControl) {
int result = 0;
boolean configChanged;
final int pid = Binder.getCallingPid();
@@ -2238,7 +2238,8 @@ public class WindowManagerService extends IWindowManager.Stub
result = win.relayoutVisibleWindow(result, attrChanges);
try {
- result = createSurfaceControl(outSurfaceControl, result, win, winAnimator);
+ result = createSurfaceControl(outSurfaceControl, outBLASTSurfaceControl,
+ result, win, winAnimator);
} catch (Exception e) {
displayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
@@ -2270,6 +2271,7 @@ public class WindowManagerService extends IWindowManager.Stub
// surface, let the client use that, but don't create new surface at this point.
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "relayoutWindow: getSurface");
winAnimator.mSurfaceController.getSurfaceControl(outSurfaceControl);
+ winAnimator.mSurfaceController.getBLASTSurfaceControl(outBLASTSurfaceControl);
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
} else {
if (DEBUG_VISIBILITY) Slog.i(TAG_WM, "Releasing surface in: " + win);
@@ -2451,7 +2453,8 @@ public class WindowManagerService extends IWindowManager.Stub
}
private int createSurfaceControl(SurfaceControl outSurfaceControl,
- int result, WindowState win, WindowStateAnimator winAnimator) {
+ SurfaceControl outBLASTSurfaceControl, int result,
+ WindowState win, WindowStateAnimator winAnimator) {
if (!win.mHasSurface) {
result |= RELAYOUT_RES_SURFACE_CHANGED;
}
@@ -2465,6 +2468,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
if (surfaceController != null) {
surfaceController.getSurfaceControl(outSurfaceControl);
+ surfaceController.getBLASTSurfaceControl(outBLASTSurfaceControl);
ProtoLog.i(WM_SHOW_TRANSACTIONS, "OUT SURFACE %s: copied", outSurfaceControl);
} else {
@@ -2532,11 +2536,12 @@ public class WindowManagerService extends IWindowManager.Stub
@Override
public void addWindowToken(IBinder binder, int type, int displayId) {
- addWindowContextToken(binder, type, displayId, null);
+ addWindowTokenWithOptions(binder, type, displayId, null /* options */,
+ null /* packageName */);
}
- @Override
- public int addWindowContextToken(IBinder binder, int type, int displayId, String packageName) {
+ public int addWindowTokenWithOptions(IBinder binder, int type, int displayId, Bundle options,
+ String packageName) {
final boolean callerCanManageAppTokens =
checkCallingPermission(MANAGE_APP_TOKENS, "addWindowToken()");
if (!callerCanManageAppTokens) {
@@ -3456,6 +3461,12 @@ public class WindowManagerService extends IWindowManager.Stub
mInputManager.setInTouchMode(mode);
}
+ boolean getInTouchMode() {
+ synchronized (mGlobalLock) {
+ return mInTouchMode;
+ }
+ }
+
public void showEmulatorDisplayOverlayIfNeeded() {
if (mContext.getResources().getBoolean(
com.android.internal.R.bool.config_windowEnableCircularEmulatorDisplayOverlay)
@@ -5901,7 +5912,7 @@ public class WindowManagerService extends IWindowManager.Stub
*/
void dumpDebugLocked(ProtoOutputStream proto, @WindowTraceLogLevel int logLevel) {
mPolicy.dumpDebug(proto, POLICY);
- mRoot.dumpDebugInner(proto, ROOT_WINDOW_CONTAINER, logLevel);
+ mRoot.dumpDebug(proto, ROOT_WINDOW_CONTAINER, logLevel);
final DisplayContent topFocusedDisplayContent = mRoot.getTopFocusedDisplayContent();
if (topFocusedDisplayContent.mCurrentFocus != null) {
topFocusedDisplayContent.mCurrentFocus.writeIdentifierToProto(proto, FOCUSED_WINDOW);
@@ -6987,8 +6998,15 @@ public class WindowManagerService extends IWindowManager.Stub
throw new SecurityException("Requires INTERNAL_SYSTEM_WINDOW permission");
}
boolean show;
+ final DisplayContent dc = mRoot.getDisplayContent(displayId);
+ if (dc == null) {
+ ProtoLog.w(WM_ERROR,
+ "Attempted to get IME flag of a display that does not exist: %d",
+ displayId);
+ return false;
+ }
synchronized (mGlobalLock) {
- show = shouldShowImeSystemWindowUncheckedLocked(displayId);
+ show = dc.canShowIme();
}
return show;
@@ -7287,6 +7305,10 @@ public class WindowManagerService extends IWindowManager.Stub
Slog.w(TAG_WM, "updateInputMethodTargetWindow: imeToken=" + imeToken
+ " imeTargetWindowToken=" + imeTargetWindowToken);
}
+ final WindowState imeTarget = mWindowMap.get(imeTargetWindowToken);
+ if (imeTarget != null) {
+ imeTarget.getDisplayContent().updateImeControlTarget(imeTarget);
+ }
}
@Override
@@ -7401,15 +7423,13 @@ public class WindowManagerService extends IWindowManager.Stub
@Override
public void showImePostLayout(IBinder imeTargetWindowToken) {
synchronized (mGlobalLock) {
- final WindowState imeTarget = mWindowMap.get(imeTargetWindowToken);
+ WindowState imeTarget = mWindowMap.get(imeTargetWindowToken);
if (imeTarget == null) {
return;
}
- final int displayId = imeTarget.getDisplayId();
- if (!shouldShowImeSystemWindowUncheckedLocked(displayId)) {
- return;
- }
+ imeTarget = imeTarget.getImeControlTarget();
+ final int displayId = imeTarget.getDisplayId();
mRoot.getDisplayContent(displayId).getInsetsStateController().getImeSourceProvider()
.scheduleShowImePostLayout(imeTarget);
}
@@ -7419,12 +7439,16 @@ public class WindowManagerService extends IWindowManager.Stub
public void hideIme(int displayId) {
synchronized (mGlobalLock) {
final DisplayContent dc = mRoot.getDisplayContent(displayId);
- if (dc != null && dc.mInputMethodTarget != null) {
+ if (dc != null) {
+ WindowState imeTarget = dc.getImeControlTarget();
+ if (imeTarget == null) {
+ return;
+ }
// If there was a pending IME show(), reset it as IME has been
// requested to be hidden.
- dc.getInsetsStateController().getImeSourceProvider().abortShowImePostLayout();
- dc.mInputMethodControlTarget.hideInsets(WindowInsets.Type.ime(),
- true /* fromIme */);
+ imeTarget.getDisplayContent().getInsetsStateController().getImeSourceProvider()
+ .abortShowImePostLayout();
+ imeTarget.hideInsets(WindowInsets.Type.ime(), true /* fromIme */);
}
}
}
@@ -7790,40 +7814,52 @@ public class WindowManagerService extends IWindowManager.Stub
* views.
*/
void grantInputChannel(int callingUid, int callingPid, int displayId, SurfaceControl surface,
- IWindow window, IBinder hostInputToken, InputChannel outInputChannel) {
- InputApplicationHandle applicationHandle = null;
+ IWindow window, IBinder hostInputToken, int flags, InputChannel outInputChannel) {
+ final InputApplicationHandle applicationHandle;
final String name;
final InputChannel[] inputChannels;
final InputChannel clientChannel;
final InputChannel serverChannel;
synchronized (mGlobalLock) {
- final WindowState hostWindow = mInputToWindowMap.get(hostInputToken);
- final String hostWindowName = (hostWindow != null)
- ? hostWindow.getWindowTag().toString() : "Internal";
- name = "EmbeddedWindow{ u" + UserHandle.getUserId(callingUid)
- + " " + hostWindowName + "}";
+ EmbeddedWindowController.EmbeddedWindow win =
+ new EmbeddedWindowController.EmbeddedWindow(window,
+ mInputToWindowMap.get(hostInputToken), callingUid, callingPid);
+ name = win.getName();
inputChannels = InputChannel.openInputChannelPair(name);
serverChannel = inputChannels[0];
clientChannel = inputChannels[1];
mInputManager.registerInputChannel(serverChannel);
- mEmbeddedWindowController.add(serverChannel.getToken(), window, hostWindow, callingUid,
- callingPid);
-
- if (hostWindow != null
- && hostWindow.mInputWindowHandle.inputApplicationHandle != null) {
- applicationHandle = new InputApplicationHandle(
- hostWindow.mInputWindowHandle.inputApplicationHandle);
+ mEmbeddedWindowController.add(clientChannel.getToken(), win);
+ if (serverChannel.getToken() != clientChannel.getToken()) {
+ throw new IllegalStateException("Client and Server channel are expected to"
+ + "be the same");
}
+
+ applicationHandle = win.getApplicationHandle();
}
+ updateInputChannel(clientChannel.getToken(), callingUid, callingPid, displayId, surface,
+ name, applicationHandle, flags);
+
clientChannel.transferTo(outInputChannel);
clientChannel.dispose();
+ // Prevent the java finalizer from breaking the input channel. But we won't
+ // do any further management so we just release the java ref and let the
+ // InputDispatcher hold the last ref.
+ serverChannel.release();
+ }
+ private void updateInputChannel(IBinder channelToken, int callingUid, int callingPid,
+ int displayId, SurfaceControl surface, String name,
+ InputApplicationHandle applicationHandle, int flags) {
InputWindowHandle h = new InputWindowHandle(applicationHandle, displayId);
- h.token = serverChannel.getToken();
+ h.token = channelToken;
h.name = name;
- h.layoutParamsFlags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
+
+ final int sanitizedFlags = flags & (LayoutParams.FLAG_NOT_TOUCHABLE
+ | LayoutParams.FLAG_SLIPPERY);
+ h.layoutParamsFlags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | sanitizedFlags;
h.layoutParamsType = 0;
h.dispatchingTimeoutNanos = -1;
h.canReceiveKeys = false;
@@ -7838,15 +7874,34 @@ public class WindowManagerService extends IWindowManager.Stub
h.replaceTouchableRegionWithCrop(null);
- SurfaceSession s = new SurfaceSession();
SurfaceControl.Transaction t = mTransactionFactory.get();
t.setInputWindowInfo(surface, h);
t.apply();
+ t.close();
+ }
- // Prevent the java finalizer from breaking the input channel. But we won't
- // do any further management so we just release the java ref and let the
- // InputDispatcher hold the last ref.
- serverChannel.release();
+ /**
+ * Updates the flags on an existing surface's input channel. This assumes the surface provided
+ * is the one associated with the provided input-channel. If this isn't the case, behavior
+ * is undefined.
+ */
+ void updateInputChannel(IBinder channelToken, int displayId, SurfaceControl surface,
+ int flags) {
+ final InputApplicationHandle applicationHandle;
+ final String name;
+ final EmbeddedWindowController.EmbeddedWindow win;
+ synchronized (mGlobalLock) {
+ win = mEmbeddedWindowController.get(channelToken);
+ if (win == null) {
+ Slog.e(TAG, "Couldn't find window for provided channelToken.");
+ return;
+ }
+ name = win.getName();
+ applicationHandle = win.getApplicationHandle();
+ }
+
+ updateInputChannel(channelToken, win.mOwnerUid, win.mOwnerPid, displayId, surface, name,
+ applicationHandle, flags);
}
/** Return whether layer tracing is enabled */
@@ -7932,21 +7987,6 @@ public class WindowManagerService extends IWindowManager.Stub
return true;
}
- private boolean shouldShowImeSystemWindowUncheckedLocked(final int displayId) {
- final DisplayContent displayContent = mRoot.getDisplayContent(displayId);
- if (displayContent == null) {
- ProtoLog.w(WM_ERROR,
- "Attempted to get IME flag of a display that does not exist: %d",
- displayId);
- return false;
- }
- if (displayContent.isUntrustedVirtualDisplay()) {
- return false;
- }
- return mDisplayWindowSettings.shouldShowImeLocked(displayContent)
- || mForceDesktopModeOnExternalDisplays;
- }
-
@Override
public void getWindowInsets(WindowManager.LayoutParams attrs,
int displayId, Rect outContentInsets, Rect outStableInsets,
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 73984fd49f73..42e5bbc1c1ee 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -115,6 +115,7 @@ import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_FOCUS_LIGHT;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ORIENTATION;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_RESIZE;
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION;
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG;
@@ -196,7 +197,6 @@ import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.MergedConfiguration;
import android.util.Slog;
-import android.util.StatsLog;
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
import android.view.Display;
@@ -227,10 +227,12 @@ import android.view.animation.Interpolator;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.KeyInterceptionInfo;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.ToBooleanFunction;
import com.android.server.policy.WindowManagerPolicy;
import com.android.server.protolog.common.ProtoLog;
import com.android.server.wm.LocalAnimationAdapter.AnimationSpec;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.utils.WmDisplayCutout;
import java.io.PrintWriter;
@@ -415,6 +417,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
private final WindowFrames mWindowFrames = new WindowFrames();
+ /** The frames used to compute a temporal layout appearance. */
+ private WindowFrames mSimulatedWindowFrames;
+
/**
* Usually empty. Set to the task's tempInsetFrame. See
*{@link android.app.IActivityTaskManager#resizeDockedStack}.
@@ -970,6 +975,16 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
return super.getDisplayedBounds();
}
+ void computeFrame(DisplayFrames displayFrames) {
+ getLayoutingWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
+ computeFrameLw();
+ // Update the source frame to provide insets to other windows during layout. If the
+ // simulated frames exist, then this is not computing a stable result so just skip.
+ if (mControllableInsetProvider != null && mSimulatedWindowFrames == null) {
+ mControllableInsetProvider.updateSourceFrame();
+ }
+ }
+
@Override
public void computeFrameLw() {
if (mWillReplaceWindow && (mAnimatingExit || !mReplacingRemoveRequested)) {
@@ -985,6 +1000,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
final boolean isFullscreenAndFillsDisplay = !inMultiWindowMode() && matchesDisplayBounds();
final boolean windowsAreFloating = task != null && task.isFloating();
final DisplayContent dc = getDisplayContent();
+ final WindowFrames windowFrames = getLayoutingWindowFrames();
mInsetFrame.set(getBounds());
@@ -1006,43 +1022,43 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
imeWin != null && imeWin.isVisibleNow() && isInputMethodAdjustTarget;
if (isFullscreenAndFillsDisplay || layoutInParentFrame()) {
// We use the parent frame as the containing frame for fullscreen and child windows
- mWindowFrames.mContainingFrame.set(mWindowFrames.mParentFrame);
- layoutDisplayFrame = mWindowFrames.mDisplayFrame;
- layoutContainingFrame = mWindowFrames.mParentFrame;
+ windowFrames.mContainingFrame.set(windowFrames.mParentFrame);
+ layoutDisplayFrame = windowFrames.mDisplayFrame;
+ layoutContainingFrame = windowFrames.mParentFrame;
layoutXDiff = 0;
layoutYDiff = 0;
} else {
- mWindowFrames.mContainingFrame.set(getDisplayedBounds());
+ windowFrames.mContainingFrame.set(getDisplayedBounds());
if (mActivityRecord != null && !mActivityRecord.mFrozenBounds.isEmpty()) {
// If the bounds are frozen, we still want to translate the window freely and only
// freeze the size.
Rect frozen = mActivityRecord.mFrozenBounds.peek();
- mWindowFrames.mContainingFrame.right =
- mWindowFrames.mContainingFrame.left + frozen.width();
- mWindowFrames.mContainingFrame.bottom =
- mWindowFrames.mContainingFrame.top + frozen.height();
+ windowFrames.mContainingFrame.right =
+ windowFrames.mContainingFrame.left + frozen.width();
+ windowFrames.mContainingFrame.bottom =
+ windowFrames.mContainingFrame.top + frozen.height();
}
// IME is up and obscuring this window. Adjust the window position so it is visible.
if (isImeTarget) {
if (inFreeformWindowingMode()) {
// Push the freeform window up to make room for the IME. However, don't push
// it up past the top of the screen.
- final int bottomOverlap = mWindowFrames.mContainingFrame.bottom
- - mWindowFrames.mVisibleFrame.bottom;
+ final int bottomOverlap = windowFrames.mContainingFrame.bottom
+ - windowFrames.mVisibleFrame.bottom;
if (bottomOverlap > 0) {
- final int distanceToTop = Math.max(mWindowFrames.mContainingFrame.top
- - mWindowFrames.mContentFrame.top, 0);
+ final int distanceToTop = Math.max(windowFrames.mContainingFrame.top
+ - windowFrames.mContentFrame.top, 0);
int offs = Math.min(bottomOverlap, distanceToTop);
- mWindowFrames.mContainingFrame.offset(0, -offs);
+ windowFrames.mContainingFrame.offset(0, -offs);
mInsetFrame.offset(0, -offs);
}
- } else if (!inPinnedWindowingMode() && mWindowFrames.mContainingFrame.bottom
- > mWindowFrames.mParentFrame.bottom) {
+ } else if (!inPinnedWindowingMode() && windowFrames.mContainingFrame.bottom
+ > windowFrames.mParentFrame.bottom) {
// But in docked we want to behave like fullscreen and behave as if the task
// were given smaller bounds for the purposes of layout. Skip adjustments for
// the pinned stack, they are handled separately in the PinnedStackController.
- mWindowFrames.mContainingFrame.bottom = mWindowFrames.mParentFrame.bottom;
+ windowFrames.mContainingFrame.bottom = windowFrames.mParentFrame.bottom;
}
}
@@ -1050,8 +1066,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
// In floating modes (e.g. freeform, pinned) we have only to set the rectangle
// if it wasn't set already. No need to intersect it with the (visible)
// "content frame" since it is allowed to be outside the visible desktop.
- if (mWindowFrames.mContainingFrame.isEmpty()) {
- mWindowFrames.mContainingFrame.set(mWindowFrames.mContentFrame);
+ if (windowFrames.mContainingFrame.isEmpty()) {
+ windowFrames.mContainingFrame.set(windowFrames.mContentFrame);
}
}
@@ -1061,115 +1077,115 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
// PIP edge case: When going from pinned to fullscreen, we apply a
// tempInsetFrame for the full task - but we're still at the start of the animation.
// To prevent a jump if there's a letterbox, restrict to the parent frame.
- mInsetFrame.intersectUnchecked(mWindowFrames.mParentFrame);
- mWindowFrames.mContainingFrame.intersectUnchecked(mWindowFrames.mParentFrame);
+ mInsetFrame.intersectUnchecked(windowFrames.mParentFrame);
+ windowFrames.mContainingFrame.intersectUnchecked(windowFrames.mParentFrame);
}
- layoutDisplayFrame = new Rect(mWindowFrames.mDisplayFrame);
- mWindowFrames.mDisplayFrame.set(mWindowFrames.mContainingFrame);
- layoutXDiff = mInsetFrame.left - mWindowFrames.mContainingFrame.left;
- layoutYDiff = mInsetFrame.top - mWindowFrames.mContainingFrame.top;
+ layoutDisplayFrame = new Rect(windowFrames.mDisplayFrame);
+ windowFrames.mDisplayFrame.set(windowFrames.mContainingFrame);
+ layoutXDiff = mInsetFrame.left - windowFrames.mContainingFrame.left;
+ layoutYDiff = mInsetFrame.top - windowFrames.mContainingFrame.top;
layoutContainingFrame = mInsetFrame;
mTmpRect.set(0, 0, dc.getDisplayInfo().logicalWidth, dc.getDisplayInfo().logicalHeight);
- subtractInsets(mWindowFrames.mDisplayFrame, layoutContainingFrame, layoutDisplayFrame,
+ subtractInsets(windowFrames.mDisplayFrame, layoutContainingFrame, layoutDisplayFrame,
mTmpRect);
if (!layoutInParentFrame()) {
- subtractInsets(mWindowFrames.mContainingFrame, layoutContainingFrame,
- mWindowFrames.mParentFrame, mTmpRect);
- subtractInsets(mInsetFrame, layoutContainingFrame, mWindowFrames.mParentFrame,
+ subtractInsets(windowFrames.mContainingFrame, layoutContainingFrame,
+ windowFrames.mParentFrame, mTmpRect);
+ subtractInsets(mInsetFrame, layoutContainingFrame, windowFrames.mParentFrame,
mTmpRect);
}
layoutDisplayFrame.intersect(layoutContainingFrame);
}
- final int pw = mWindowFrames.mContainingFrame.width();
- final int ph = mWindowFrames.mContainingFrame.height();
+ final int pw = windowFrames.mContainingFrame.width();
+ final int ph = windowFrames.mContainingFrame.height();
if (mRequestedWidth != mLastRequestedWidth || mRequestedHeight != mLastRequestedHeight) {
mLastRequestedWidth = mRequestedWidth;
mLastRequestedHeight = mRequestedHeight;
- mWindowFrames.setContentChanged(true);
+ windowFrames.setContentChanged(true);
}
- final int fw = mWindowFrames.mFrame.width();
- final int fh = mWindowFrames.mFrame.height();
+ final int fw = windowFrames.mFrame.width();
+ final int fh = windowFrames.mFrame.height();
- applyGravityAndUpdateFrame(layoutContainingFrame, layoutDisplayFrame);
+ applyGravityAndUpdateFrame(windowFrames, layoutContainingFrame, layoutDisplayFrame);
// Make sure the content and visible frames are inside of the
// final window frame.
- if (windowsAreFloating && !mWindowFrames.mFrame.isEmpty()) {
- final int visBottom = mWindowFrames.mVisibleFrame.bottom;
- final int contentBottom = mWindowFrames.mContentFrame.bottom;
- mWindowFrames.mContentFrame.set(mWindowFrames.mFrame);
- mWindowFrames.mVisibleFrame.set(mWindowFrames.mContentFrame);
- mWindowFrames.mStableFrame.set(mWindowFrames.mContentFrame);
+ if (windowsAreFloating && !windowFrames.mFrame.isEmpty()) {
+ final int visBottom = windowFrames.mVisibleFrame.bottom;
+ final int contentBottom = windowFrames.mContentFrame.bottom;
+ windowFrames.mContentFrame.set(windowFrames.mFrame);
+ windowFrames.mVisibleFrame.set(windowFrames.mContentFrame);
+ windowFrames.mStableFrame.set(windowFrames.mContentFrame);
if (isImeTarget && inFreeformWindowingMode()) {
// After displacing a freeform window to make room for the ime, any part of
// the window still covered by IME should be inset.
- if (contentBottom + layoutYDiff < mWindowFrames.mContentFrame.bottom) {
- mWindowFrames.mContentFrame.bottom = contentBottom + layoutYDiff;
+ if (contentBottom + layoutYDiff < windowFrames.mContentFrame.bottom) {
+ windowFrames.mContentFrame.bottom = contentBottom + layoutYDiff;
}
- if (visBottom + layoutYDiff < mWindowFrames.mVisibleFrame.bottom) {
- mWindowFrames.mVisibleFrame.bottom = visBottom + layoutYDiff;
+ if (visBottom + layoutYDiff < windowFrames.mVisibleFrame.bottom) {
+ windowFrames.mVisibleFrame.bottom = visBottom + layoutYDiff;
}
}
} else if (mAttrs.type == TYPE_DOCK_DIVIDER) {
- dc.getDockedDividerController().positionDockedStackedDivider(mWindowFrames.mFrame);
- mWindowFrames.mContentFrame.set(mWindowFrames.mFrame);
- if (!mWindowFrames.mFrame.equals(mWindowFrames.mLastFrame)) {
+ dc.getDockedDividerController().positionDockedStackedDivider(windowFrames.mFrame);
+ windowFrames.mContentFrame.set(windowFrames.mFrame);
+ if (!windowFrames.mFrame.equals(windowFrames.mLastFrame)) {
mMovedByResize = true;
}
} else {
- mWindowFrames.mContentFrame.set(
- Math.max(mWindowFrames.mContentFrame.left, mWindowFrames.mFrame.left),
- Math.max(mWindowFrames.mContentFrame.top, mWindowFrames.mFrame.top),
- Math.min(mWindowFrames.mContentFrame.right, mWindowFrames.mFrame.right),
- Math.min(mWindowFrames.mContentFrame.bottom, mWindowFrames.mFrame.bottom));
+ windowFrames.mContentFrame.set(
+ Math.max(windowFrames.mContentFrame.left, windowFrames.mFrame.left),
+ Math.max(windowFrames.mContentFrame.top, windowFrames.mFrame.top),
+ Math.min(windowFrames.mContentFrame.right, windowFrames.mFrame.right),
+ Math.min(windowFrames.mContentFrame.bottom, windowFrames.mFrame.bottom));
- mWindowFrames.mVisibleFrame.set(
- Math.max(mWindowFrames.mVisibleFrame.left, mWindowFrames.mFrame.left),
- Math.max(mWindowFrames.mVisibleFrame.top, mWindowFrames.mFrame.top),
- Math.min(mWindowFrames.mVisibleFrame.right, mWindowFrames.mFrame.right),
- Math.min(mWindowFrames.mVisibleFrame.bottom, mWindowFrames.mFrame.bottom));
+ windowFrames.mVisibleFrame.set(
+ Math.max(windowFrames.mVisibleFrame.left, windowFrames.mFrame.left),
+ Math.max(windowFrames.mVisibleFrame.top, windowFrames.mFrame.top),
+ Math.min(windowFrames.mVisibleFrame.right, windowFrames.mFrame.right),
+ Math.min(windowFrames.mVisibleFrame.bottom, windowFrames.mFrame.bottom));
- mWindowFrames.mStableFrame.set(
- Math.max(mWindowFrames.mStableFrame.left, mWindowFrames.mFrame.left),
- Math.max(mWindowFrames.mStableFrame.top, mWindowFrames.mFrame.top),
- Math.min(mWindowFrames.mStableFrame.right, mWindowFrames.mFrame.right),
- Math.min(mWindowFrames.mStableFrame.bottom, mWindowFrames.mFrame.bottom));
+ windowFrames.mStableFrame.set(
+ Math.max(windowFrames.mStableFrame.left, windowFrames.mFrame.left),
+ Math.max(windowFrames.mStableFrame.top, windowFrames.mFrame.top),
+ Math.min(windowFrames.mStableFrame.right, windowFrames.mFrame.right),
+ Math.min(windowFrames.mStableFrame.bottom, windowFrames.mFrame.bottom));
}
if (mAttrs.type == TYPE_DOCK_DIVIDER) {
- final WmDisplayCutout c = mWindowFrames.mDisplayCutout.calculateRelativeTo(
- mWindowFrames.mDisplayFrame);
- mWindowFrames.calculateDockedDividerInsets(c.getDisplayCutout().getSafeInsets());
+ final WmDisplayCutout c = windowFrames.mDisplayCutout.calculateRelativeTo(
+ windowFrames.mDisplayFrame);
+ windowFrames.calculateDockedDividerInsets(c.getDisplayCutout().getSafeInsets());
} else {
getDisplayContent().getBounds(mTmpRect);
- mWindowFrames.calculateInsets(
+ windowFrames.calculateInsets(
windowsAreFloating, isFullscreenAndFillsDisplay, mTmpRect);
}
- mWindowFrames.setDisplayCutout(
- mWindowFrames.mDisplayCutout.calculateRelativeTo(mWindowFrames.mFrame));
+ windowFrames.setDisplayCutout(
+ windowFrames.mDisplayCutout.calculateRelativeTo(windowFrames.mFrame));
// Offset the actual frame by the amount layout frame is off.
- mWindowFrames.offsetFrames(-layoutXDiff, -layoutYDiff);
+ windowFrames.offsetFrames(-layoutXDiff, -layoutYDiff);
- mWindowFrames.mCompatFrame.set(mWindowFrames.mFrame);
+ windowFrames.mCompatFrame.set(windowFrames.mFrame);
if (inSizeCompatMode()) {
// If there is a size compatibility scale being applied to the
// window, we need to apply this to its insets so that they are
// reported to the app in its coordinate space.
- mWindowFrames.scaleInsets(mInvGlobalScale);
+ windowFrames.scaleInsets(mInvGlobalScale);
// Also the scaled frame that we report to the app needs to be
// adjusted to be in its coordinate space.
- mWindowFrames.mCompatFrame.scale(mInvGlobalScale);
+ windowFrames.mCompatFrame.scale(mInvGlobalScale);
}
- if (mIsWallpaper && (fw != mWindowFrames.mFrame.width()
- || fh != mWindowFrames.mFrame.height())) {
+ if (mIsWallpaper && (fw != windowFrames.mFrame.width()
+ || fh != windowFrames.mFrame.height())) {
final DisplayContent displayContent = getDisplayContent();
if (displayContent != null) {
final DisplayInfo displayInfo = displayContent.getDisplayInfo();
@@ -1179,7 +1195,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
}
// Calculate relative frame
- mWindowFrames.mRelFrame.set(mWindowFrames.mFrame);
+ windowFrames.mRelFrame.set(windowFrames.mFrame);
WindowContainer parent = getParent();
int parentLeft = 0;
int parentTop = 0;
@@ -1191,15 +1207,15 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
parentLeft = parentBounds.left;
parentTop = parentBounds.top;
}
- mWindowFrames.mRelFrame.offsetTo(mWindowFrames.mFrame.left - parentLeft,
- mWindowFrames.mFrame.top - parentTop);
+ windowFrames.mRelFrame.offsetTo(windowFrames.mFrame.left - parentLeft,
+ windowFrames.mFrame.top - parentTop);
if (DEBUG_LAYOUT || DEBUG) {
Slog.v(TAG, "Resolving (mRequestedWidth="
+ mRequestedWidth + ", mRequestedheight="
+ mRequestedHeight + ") to" + " (pw=" + pw + ", ph=" + ph
- + "): frame=" + mWindowFrames.mFrame.toShortString()
- + " " + mWindowFrames.getInsetsInfo()
+ + "): frame=" + windowFrames.mFrame.toShortString()
+ + " " + windowFrames.getInsetsInfo()
+ " " + mAttrs.getTitle());
}
}
@@ -3154,7 +3170,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
final int requested = mLastRequestedExclusionHeight[side];
final int granted = mLastGrantedExclusionHeight[side];
- StatsLog.write(StatsLog.EXCLUSION_RECT_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.EXCLUSION_RECT_STATE_CHANGED,
mAttrs.packageName, requested, requested - granted /* rejected */,
side + 1 /* Sides are 1-indexed in atoms.proto */,
(getConfiguration().orientation == ORIENTATION_LANDSCAPE),
@@ -3518,6 +3534,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
}
@Override
+ public WindowState getWindow() {
+ return this;
+ }
+
+ @Override
public void showInsets(@InsetsType int types, boolean fromIme) {
try {
mClient.showInsets(types, fromIme);
@@ -3979,7 +4000,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
}
}
- private void applyGravityAndUpdateFrame(Rect containingFrame, Rect displayFrame) {
+ private void applyGravityAndUpdateFrame(WindowFrames windowFrames, Rect containingFrame,
+ Rect displayFrame) {
final int pw = containingFrame.width();
final int ph = containingFrame.height();
final Task task = getTask();
@@ -4049,19 +4071,19 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
// Set mFrame
Gravity.apply(mAttrs.gravity, w, h, containingFrame,
(int) (x + mAttrs.horizontalMargin * pw),
- (int) (y + mAttrs.verticalMargin * ph), mWindowFrames.mFrame);
+ (int) (y + mAttrs.verticalMargin * ph), windowFrames.mFrame);
// Now make sure the window fits in the overall display frame.
if (fitToDisplay) {
- Gravity.applyDisplay(mAttrs.gravity, displayFrame, mWindowFrames.mFrame);
+ Gravity.applyDisplay(mAttrs.gravity, displayFrame, windowFrames.mFrame);
}
// We need to make sure we update the CompatFrame as it is used for
// cropping decisions, etc, on systems where we lack a decor layer.
- mWindowFrames.mCompatFrame.set(mWindowFrames.mFrame);
+ windowFrames.mCompatFrame.set(windowFrames.mFrame);
if (inSizeCompatMode) {
// See comparable block in computeFrameLw.
- mWindowFrames.mCompatFrame.scale(mInvGlobalScale);
+ windowFrames.mCompatFrame.scale(mInvGlobalScale);
}
}
@@ -4970,6 +4992,18 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
mWindowFrames.updateLastInsetValues();
}
+ @Override
+ boolean isAnimating(int flags) {
+
+ // If we are an inset provider, all our animations are driven by the inset client, so we
+ // aren't really animating.
+ // TODO: Replace this with a proper animation type system.
+ if (mControllableInsetProvider != null) {
+ return false;
+ }
+ return super.isAnimating(flags);
+ }
+
void startAnimation(Animation anim) {
// If we are an inset provider, all our animations are driven by the inset client.
@@ -5010,12 +5044,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
}
private void startAnimation(Transaction t, AnimationAdapter adapter) {
- startAnimation(t, adapter, mWinAnimator.mLastHidden, null /* animationFinishedCallback */);
+ startAnimation(t, adapter, mWinAnimator.mLastHidden, ANIMATION_TYPE_WINDOW_ANIMATION,
+ null /* animationFinishedCallback */);
}
@Override
- protected void onAnimationFinished() {
- super.onAnimationFinished();
+ protected void onAnimationFinished(@AnimationType int type, AnimationAdapter anim) {
+ super.onAnimationFinished(type, anim);
mWinAnimator.onAnimationFinished();
}
@@ -5322,6 +5357,24 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
return false;
}
+ /**
+ * Get IME target that should host IME when this window's display has a parent.
+ * Note: IME is never hosted by a display that has a parent.
+ * When window calling
+ * {@link android.view.inputmethod.InputMethodManager#showSoftInput(View, int)} is unknown,
+ * use {@link DisplayContent#getImeControlTarget()} instead.
+ *
+ * @return {@link WindowState} of host that controls the IME.
+ * When window is doesn't have a parent, it is returned as-is.
+ */
+ WindowState getImeControlTarget() {
+ final DisplayContent dc = getDisplayContent();
+ final WindowState parentWindow = dc.getParentWindow();
+
+ // If target's display has a parent, IME is displayed in the parent display.
+ return dc.getImeHostOrFallback(parentWindow != null ? parentWindow : this);
+ }
+
@Override
void assignLayer(Transaction t, int layer) {
// See comment in assignRelativeLayerForImeTargetChild
@@ -5495,6 +5548,22 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
return mWindowFrames;
}
+ /**
+ * If the transient frame is set, the computed result won't be used in real layout. So this
+ * frames must be cleared when the simulated computation is done.
+ */
+ void setSimulatedWindowFrames(WindowFrames windowFrames) {
+ mSimulatedWindowFrames = windowFrames;
+ }
+
+ /**
+ * Use this method only when the simulated frames may be set, so it is clearer that the calling
+ * path may be used to simulate layout.
+ */
+ WindowFrames getLayoutingWindowFrames() {
+ return mSimulatedWindowFrames != null ? mSimulatedWindowFrames : mWindowFrames;
+ }
+
void resetContentChanged() {
mWindowFrames.setContentChanged(false);
}
@@ -5616,4 +5685,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
boolean isNonToastWindowVisibleForPid(int pid) {
return mSession.mPid == pid && isNonToastOrStarting() && isVisibleNow();
}
+
+ SurfaceControl getDeferTransactionBarrier() {
+ return mWinAnimator.getDeferTransactionBarrier();
+ }
}
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 069ee4fea8ec..9552df7b5899 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1010,7 +1010,7 @@ class WindowStateAnimator {
// the WS position is reset (so the stack position is shown) at the same
// time that the buffer size changes.
setOffsetPositionForStackResize(false);
- mSurfaceController.deferTransactionUntil(mSurfaceController.mSurfaceControl,
+ mSurfaceController.deferTransactionUntil(mWin.getDeferTransactionBarrier(),
mWin.getFrameNumber());
} else {
final ActivityStack stack = mWin.getRootTask();
@@ -1041,7 +1041,7 @@ class WindowStateAnimator {
// comes in at the new size (normally position and crop are unfrozen).
// deferTransactionUntil accomplishes this for us.
if (wasForceScaled && !mForceScaleUntilResize) {
- mSurfaceController.deferTransactionUntil(mSurfaceController.mSurfaceControl,
+ mSurfaceController.deferTransactionUntil(mWin.getDeferTransactionBarrier(),
mWin.getFrameNumber());
mSurfaceController.forceScaleableInTransaction(false);
}
@@ -1518,4 +1518,11 @@ class WindowStateAnimator {
void setOffsetPositionForStackResize(boolean offsetPositionForStackResize) {
mOffsetPositionForStackResize = offsetPositionForStackResize;
}
+
+ SurfaceControl getDeferTransactionBarrier() {
+ if (!hasSurface()) {
+ return null;
+ }
+ return mSurfaceController.getDeferTransactionBarrier();
+ }
}
diff --git a/services/core/java/com/android/server/wm/WindowSurfaceController.java b/services/core/java/com/android/server/wm/WindowSurfaceController.java
index 5b8015be1a7a..383c0d9ab3d4 100644
--- a/services/core/java/com/android/server/wm/WindowSurfaceController.java
+++ b/services/core/java/com/android/server/wm/WindowSurfaceController.java
@@ -51,6 +51,11 @@ class WindowSurfaceController {
SurfaceControl mSurfaceControl;
+ /**
+ * WM only uses for deferred transactions.
+ */
+ SurfaceControl mBLASTSurfaceControl;
+
// Should only be set from within setShown().
private boolean mSurfaceShown = false;
private float mSurfaceX = 0;
@@ -110,13 +115,22 @@ class WindowSurfaceController {
.setMetadata(METADATA_WINDOW_TYPE, windowType)
.setMetadata(METADATA_OWNER_UID, ownerUid);
- if ((win.getAttrs().privateFlags &
- WindowManager.LayoutParams.PRIVATE_FLAG_USE_BLAST) != 0) {
+ final boolean useBLAST = (win.getAttrs().privateFlags &
+ WindowManager.LayoutParams.PRIVATE_FLAG_USE_BLAST) != 0;
+ if (useBLAST) {
b.setContainerLayer();
}
-
mSurfaceControl = b.build();
+
+ if (useBLAST) {
+ mBLASTSurfaceControl = win.makeSurface()
+ .setParent(mSurfaceControl)
+ .setName("BLAST Adapter Layer")
+ .setBLASTLayer()
+ .build();
+ }
+
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
}
@@ -168,6 +182,9 @@ class WindowSurfaceController {
} finally {
setShown(false);
mSurfaceControl = null;
+ if (mBLASTSurfaceControl != null) {
+ mBLASTSurfaceControl.release();
+ }
}
}
@@ -474,6 +491,12 @@ class WindowSurfaceController {
outSurfaceControl.copyFrom(mSurfaceControl);
}
+ void getBLASTSurfaceControl(SurfaceControl outSurfaceControl) {
+ if (mBLASTSurfaceControl != null) {
+ outSurfaceControl.copyFrom(mBLASTSurfaceControl);
+ }
+ }
+
int getLayer() {
return mSurfaceLayer;
}
@@ -510,6 +533,13 @@ class WindowSurfaceController {
return mSurfaceH;
}
+ SurfaceControl getDeferTransactionBarrier() {
+ if (mBLASTSurfaceControl != null) {
+ return mBLASTSurfaceControl;
+ }
+ return mSurfaceControl;
+ }
+
void dumpDebug(ProtoOutputStream proto, long fieldId) {
final long token = proto.start(fieldId);
proto.write(SHOWN, mSurfaceShown);
diff --git a/services/core/java/com/android/server/wm/WindowTracing.java b/services/core/java/com/android/server/wm/WindowTracing.java
index 0be90fcb2b84..ba3dc607f6cc 100644
--- a/services/core/java/com/android/server/wm/WindowTracing.java
+++ b/services/core/java/com/android/server/wm/WindowTracing.java
@@ -35,7 +35,7 @@ import android.util.proto.ProtoOutputStream;
import android.view.Choreographer;
import com.android.server.protolog.ProtoLogImpl;
-import com.android.server.utils.TraceBuffer;
+import com.android.internal.util.TraceBuffer;
import java.io.File;
import java.io.IOException;
@@ -64,7 +64,7 @@ class WindowTracing {
private final Object mEnabledLock = new Object();
private final File mTraceFile;
- private final com.android.server.utils.TraceBuffer mBuffer;
+ private final TraceBuffer mBuffer;
private final Choreographer.FrameCallback mFrameCallback = (frameTimeNanos) ->
log("onFrame" /* where */);
diff --git a/services/core/java/com/android/server/wm/utils/WmDisplayCutout.java b/services/core/java/com/android/server/wm/utils/WmDisplayCutout.java
index 3be5d3176df5..46fff032e053 100644
--- a/services/core/java/com/android/server/wm/utils/WmDisplayCutout.java
+++ b/services/core/java/com/android/server/wm/utils/WmDisplayCutout.java
@@ -21,7 +21,6 @@ import android.util.Size;
import android.view.DisplayCutout;
import android.view.Gravity;
-import java.util.List;
import java.util.Objects;
/**
@@ -41,12 +40,17 @@ public class WmDisplayCutout {
mFrameSize = frameSize;
}
- public static WmDisplayCutout computeSafeInsets(DisplayCutout inner,
- int displayWidth, int displayHeight) {
- if (inner == DisplayCutout.NO_CUTOUT || inner.isBoundsEmpty()) {
+ /**
+ * Compute the safe insets according to the given DisplayCutout and the display size.
+ *
+ * @return return a WmDisplayCutout with calculated safe insets.
+ * @hide
+ */
+ public static WmDisplayCutout computeSafeInsets(
+ DisplayCutout inner, int displayWidth, int displayHeight) {
+ if (inner == DisplayCutout.NO_CUTOUT) {
return NO_CUTOUT;
}
-
final Size displaySize = new Size(displayWidth, displayHeight);
final Rect safeInsets = computeSafeInsets(displaySize, inner);
return new WmDisplayCutout(inner.replaceSafeInsets(safeInsets), displaySize);
@@ -112,57 +116,42 @@ public class WmDisplayCutout {
}
private static Rect computeSafeInsets(Size displaySize, DisplayCutout cutout) {
- if (displaySize.getWidth() < displaySize.getHeight()) {
- final List<Rect> boundingRects = cutout.replaceSafeInsets(
- new Rect(0, displaySize.getHeight() / 2, 0, displaySize.getHeight() / 2))
- .getBoundingRects();
- int topInset = findInsetForSide(displaySize, boundingRects, Gravity.TOP);
- int bottomInset = findInsetForSide(displaySize, boundingRects, Gravity.BOTTOM);
- return new Rect(0, topInset, 0, bottomInset);
- } else if (displaySize.getWidth() > displaySize.getHeight()) {
- final List<Rect> boundingRects = cutout.replaceSafeInsets(
- new Rect(displaySize.getWidth() / 2, 0, displaySize.getWidth() / 2, 0))
- .getBoundingRects();
- int leftInset = findInsetForSide(displaySize, boundingRects, Gravity.LEFT);
- int right = findInsetForSide(displaySize, boundingRects, Gravity.RIGHT);
- return new Rect(leftInset, 0, right, 0);
- } else {
+ if (displaySize.getWidth() == displaySize.getHeight()) {
throw new UnsupportedOperationException("not implemented: display=" + displaySize +
" cutout=" + cutout);
}
+
+ int leftInset = Math.max(cutout.getWaterfallInsets().left,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectLeft(), Gravity.LEFT));
+ int topInset = Math.max(cutout.getWaterfallInsets().top,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectTop(), Gravity.TOP));
+ int rightInset = Math.max(cutout.getWaterfallInsets().right,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectRight(), Gravity.RIGHT));
+ int bottomInset = Math.max(cutout.getWaterfallInsets().bottom,
+ findCutoutInsetForSide(displaySize, cutout.getBoundingRectBottom(),
+ Gravity.BOTTOM));
+
+ return new Rect(leftInset, topInset, rightInset, bottomInset);
}
- private static int findInsetForSide(Size display, List<Rect> boundingRects, int gravity) {
+ private static int findCutoutInsetForSide(Size display, Rect boundingRect, int gravity) {
+ if (boundingRect.isEmpty()) {
+ return 0;
+ }
+
int inset = 0;
- final int size = boundingRects.size();
- for (int i = 0; i < size; i++) {
- Rect boundingRect = boundingRects.get(i);
- switch (gravity) {
- case Gravity.TOP:
- if (boundingRect.top == 0) {
- inset = Math.max(inset, boundingRect.bottom);
- }
- break;
- case Gravity.BOTTOM:
- if (boundingRect.bottom == display.getHeight()) {
- inset = Math.max(inset, display.getHeight() - boundingRect.top);
- }
- break;
- case Gravity.LEFT:
- if (boundingRect.left == 0) {
- inset = Math.max(inset, boundingRect.right);
- }
- break;
- case Gravity.RIGHT:
- if (boundingRect.right == display.getWidth()) {
- inset = Math.max(inset, display.getWidth() - boundingRect.left);
- }
- break;
- default:
- throw new IllegalArgumentException("unknown gravity: " + gravity);
- }
+ switch (gravity) {
+ case Gravity.TOP:
+ return Math.max(inset, boundingRect.bottom);
+ case Gravity.BOTTOM:
+ return Math.max(inset, display.getHeight() - boundingRect.top);
+ case Gravity.LEFT:
+ return Math.max(inset, boundingRect.right);
+ case Gravity.RIGHT:
+ return Math.max(inset, display.getWidth() - boundingRect.left);
+ default:
+ throw new IllegalArgumentException("unknown gravity: " + gravity);
}
- return inset;
}
public DisplayCutout getDisplayCutout() {
diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp
index 4a2636ee6ca4..390068e1fa75 100644
--- a/services/core/jni/Android.bp
+++ b/services/core/jni/Android.bp
@@ -22,6 +22,8 @@ cc_library_static {
"BroadcastRadio/TunerCallback.cpp",
"BroadcastRadio/convert.cpp",
"BroadcastRadio/regions.cpp",
+ "stats/PowerStatsPuller.cpp",
+ "stats/SubsystemSleepStatePuller.cpp",
"com_android_server_am_BatteryStatsService.cpp",
"com_android_server_connectivity_Vpn.cpp",
"com_android_server_ConsumerIrService.cpp",
@@ -37,6 +39,7 @@ cc_library_static {
"com_android_server_security_VerityUtils.cpp",
"com_android_server_SerialService.cpp",
"com_android_server_soundtrigger_middleware_AudioSessionProviderImpl.cpp",
+ "com_android_server_stats_pull_StatsPullAtomService.cpp",
"com_android_server_storage_AppFuseBridge.cpp",
"com_android_server_SystemServer.cpp",
"com_android_server_TestNetworkService.cpp",
diff --git a/services/core/jni/com_android_server_SystemServer.cpp b/services/core/jni/com_android_server_SystemServer.cpp
index 78b64ca072ad..67254b811ee0 100644
--- a/services/core/jni/com_android_server_SystemServer.cpp
+++ b/services/core/jni/com_android_server_SystemServer.cpp
@@ -14,6 +14,12 @@
* limitations under the License.
*/
+#include <dlfcn.h>
+#include <pthread.h>
+
+#include <chrono>
+#include <thread>
+
#include <jni.h>
#include <nativehelper/JNIHelp.h>
@@ -25,12 +31,17 @@
#include <sensorservicehidl/SensorManager.h>
#include <bionic/malloc.h>
+#include <bionic/reserved_signals.h>
+#include <android-base/properties.h>
#include <cutils/properties.h>
#include <utils/Log.h>
#include <utils/misc.h>
#include <utils/AndroidThreads.h>
+using android::base::GetIntProperty;
+using namespace std::chrono_literals;
+
namespace android {
static void android_server_SystemServer_startSensorService(JNIEnv* /* env */, jobject /* clazz */) {
@@ -68,7 +79,50 @@ static void android_server_SystemServer_startHidlServices(JNIEnv* env, jobject /
static void android_server_SystemServer_initZygoteChildHeapProfiling(JNIEnv* /* env */,
jobject /* clazz */) {
- android_mallopt(M_INIT_ZYGOTE_CHILD_PROFILING, nullptr, 0);
+ android_mallopt(M_INIT_ZYGOTE_CHILD_PROFILING, nullptr, 0);
+}
+
+static int get_current_max_fd() {
+ // Not actually guaranteed to be the max, but close enough for our purposes.
+ int fd = open("/dev/null", O_RDONLY | O_CLOEXEC);
+ LOG_ALWAYS_FATAL_IF(fd == -1, "failed to open /dev/null: %s", strerror(errno));
+ close(fd);
+ return fd;
+}
+
+static const char kFdLeakEnableThresholdProperty[] = "persist.sys.debug.fdtrack_enable_threshold";
+static const char kFdLeakAbortThresholdProperty[] = "persist.sys.debug.fdtrack_abort_threshold";
+static const char kFdLeakCheckIntervalProperty[] = "persist.sys.debug.fdtrack_interval";
+
+static void android_server_SystemServer_spawnFdLeakCheckThread(JNIEnv*, jobject) {
+ std::thread([]() {
+ pthread_setname_np(pthread_self(), "FdLeakCheckThread");
+ bool loaded = false;
+ while (true) {
+ const int enable_threshold = GetIntProperty(kFdLeakEnableThresholdProperty, 1024);
+ const int abort_threshold = GetIntProperty(kFdLeakAbortThresholdProperty, 2048);
+ const int check_interval = GetIntProperty(kFdLeakCheckIntervalProperty, 120);
+ int max_fd = get_current_max_fd();
+ if (max_fd > enable_threshold && !loaded) {
+ loaded = true;
+ ALOGE("fd count above threshold of %d, starting fd backtraces", enable_threshold);
+ if (dlopen("libfdtrack.so", RTLD_GLOBAL) == nullptr) {
+ ALOGE("failed to load libfdtrack.so: %s", dlerror());
+ }
+ } else if (max_fd > abort_threshold) {
+ raise(BIONIC_SIGNAL_FDTRACK);
+
+ // Wait for a bit to allow fdtrack to dump backtraces to logcat.
+ std::this_thread::sleep_for(5s);
+
+ LOG_ALWAYS_FATAL(
+ "b/140703823: aborting due to fd leak: check logs for fd "
+ "backtraces");
+ }
+
+ std::this_thread::sleep_for(std::chrono::seconds(check_interval));
+ }
+ }).detach();
}
/*
@@ -80,6 +134,9 @@ static const JNINativeMethod gMethods[] = {
{ "startHidlServices", "()V", (void*) android_server_SystemServer_startHidlServices },
{ "initZygoteChildHeapProfiling", "()V",
(void*) android_server_SystemServer_initZygoteChildHeapProfiling },
+ { "spawnFdLeakCheckThread", "()V",
+ (void*) android_server_SystemServer_spawnFdLeakCheckThread },
+
};
int register_android_server_SystemServer(JNIEnv* env)
diff --git a/services/core/jni/com_android_server_VibratorService.cpp b/services/core/jni/com_android_server_VibratorService.cpp
index 6811e6d0e6f2..5a8e25e4cf1c 100644
--- a/services/core/jni/com_android_server_VibratorService.cpp
+++ b/services/core/jni/com_android_server_VibratorService.cpp
@@ -49,6 +49,12 @@ namespace android {
static jmethodID sMethodIdOnComplete;
+static struct {
+ jfieldID id;
+ jfieldID scale;
+ jfieldID delay;
+} gPrimitiveClassInfo;
+
static_assert(static_cast<uint8_t>(V1_0::EffectStrength::LIGHT) ==
static_cast<uint8_t>(aidl::EffectStrength::LIGHT));
static_assert(static_cast<uint8_t>(V1_0::EffectStrength::MEDIUM) ==
@@ -333,6 +339,21 @@ static void vibratorSetExternalControl(JNIEnv*, jclass, jboolean enabled) {
}
}
+static jintArray vibratorGetSupportedEffects(JNIEnv *env, jclass) {
+ if (auto hal = getHal<aidl::IVibrator>()) {
+ std::vector<aidl::Effect> supportedEffects;
+ if (!hal->call(&aidl::IVibrator::getSupportedEffects, &supportedEffects).isOk()) {
+ return nullptr;
+ }
+ jintArray arr = env->NewIntArray(supportedEffects.size());
+ env->SetIntArrayRegion(arr, 0, supportedEffects.size(),
+ reinterpret_cast<jint*>(supportedEffects.data()));
+ return arr;
+ } else {
+ return nullptr;
+ }
+}
+
static jlong vibratorPerformEffect(JNIEnv* env, jclass, jlong effect, jlong strength,
jobject vibration) {
if (auto hal = getHal<aidl::IVibrator>()) {
@@ -398,6 +419,37 @@ static jlong vibratorPerformEffect(JNIEnv* env, jclass, jlong effect, jlong stre
return -1;
}
+static aidl::CompositeEffect effectFromJavaPrimitive(JNIEnv* env, jobject primitive) {
+ aidl::CompositeEffect effect;
+ effect.primitive = static_cast<aidl::CompositePrimitive>(
+ env->GetIntField(primitive, gPrimitiveClassInfo.id));
+ effect.scale = static_cast<float>(env->GetFloatField(primitive, gPrimitiveClassInfo.scale));
+ effect.delayMs = static_cast<int>(env->GetIntField(primitive, gPrimitiveClassInfo.delay));
+ return effect;
+}
+
+static void vibratorPerformComposedEffect(JNIEnv* env, jclass, jobjectArray composition,
+ jobject vibration) {
+ auto hal = getHal<aidl::IVibrator>();
+ if (!hal) {
+ return;
+ }
+ size_t size = env->GetArrayLength(composition);
+ std::vector<aidl::CompositeEffect> effects;
+ for (size_t i = 0; i < size; i++) {
+ jobject element = env->GetObjectArrayElement(composition, i);
+ effects.push_back(effectFromJavaPrimitive(env, element));
+ }
+ sp<AidlVibratorCallback> effectCallback = new AidlVibratorCallback(env, vibration);
+
+ auto status = hal->call(&aidl::IVibrator::compose, effects, effectCallback);
+ if (!status.isOk()) {
+ if (status.exceptionCode() != binder::Status::EX_UNSUPPORTED_OPERATION) {
+ ALOGE("Failed to play haptic effect composition");
+ }
+ }
+}
+
static jlong vibratorGetCapabilities(JNIEnv*, jclass) {
if (auto hal = getHal<aidl::IVibrator>()) {
int32_t cap = 0;
@@ -433,7 +485,12 @@ static const JNINativeMethod method_table[] = {
{ "vibratorSupportsAmplitudeControl", "()Z", (void*)vibratorSupportsAmplitudeControl},
{ "vibratorSetAmplitude", "(I)V", (void*)vibratorSetAmplitude},
{ "vibratorPerformEffect", "(JJLcom/android/server/VibratorService$Vibration;)J",
- (void*)vibratorPerformEffect},
+ (void*)vibratorPerformEffect},
+ { "vibratorPerformComposedEffect",
+ "([Landroid/os/VibrationEffect$Composition$PrimitiveEffect;Lcom/android/server/VibratorService$Vibration;)V",
+ (void*)vibratorPerformComposedEffect},
+ { "vibratorGetSupportedEffects", "()[I",
+ (void*)vibratorGetSupportedEffects},
{ "vibratorSupportsExternalControl", "()Z", (void*)vibratorSupportsExternalControl},
{ "vibratorSetExternalControl", "(Z)V", (void*)vibratorSetExternalControl},
{ "vibratorGetCapabilities", "()J", (void*)vibratorGetCapabilities},
@@ -441,11 +498,15 @@ static const JNINativeMethod method_table[] = {
{ "vibratorAlwaysOnDisable", "(J)V", (void*)vibratorAlwaysOnDisable},
};
-int register_android_server_VibratorService(JNIEnv *env)
-{
+int register_android_server_VibratorService(JNIEnv *env) {
sMethodIdOnComplete = GetMethodIDOrDie(env,
FindClassOrDie(env, "com/android/server/VibratorService$Vibration"),
"onComplete", "()V");
+ jclass primitiveClass = FindClassOrDie(env,
+ "android/os/VibrationEffect$Composition$PrimitiveEffect");
+ gPrimitiveClassInfo.id = GetFieldIDOrDie(env, primitiveClass, "id", "I");
+ gPrimitiveClassInfo.scale = GetFieldIDOrDie(env, primitiveClass, "scale", "F");
+ gPrimitiveClassInfo.delay = GetFieldIDOrDie(env, primitiveClass, "delay", "I");
return jniRegisterNativeMethods(env, "com/android/server/VibratorService",
method_table, NELEM(method_table));
}
diff --git a/services/core/jni/com_android_server_incremental_IncrementalManagerService.cpp b/services/core/jni/com_android_server_incremental_IncrementalManagerService.cpp
index 5e255f46fa05..10bac94f77e2 100644
--- a/services/core/jni/com_android_server_incremental_IncrementalManagerService.cpp
+++ b/services/core/jni/com_android_server_incremental_IncrementalManagerService.cpp
@@ -33,9 +33,14 @@ static void nativeSystemReady(JNIEnv* env, jclass klass, jlong self) {
Incremental_IncrementalService_OnSystemReady(self);
}
+static void nativeDump(JNIEnv* env, jclass klass, jlong self, jint fd) {
+ Incremental_IncrementalService_OnDump(self, fd);
+}
+
static const JNINativeMethod method_table[] = {
{"nativeStartService", "()J", (void*)nativeStartService},
{"nativeSystemReady", "(J)V", (void*)nativeSystemReady},
+ {"nativeDump", "(JI)V", (void*)nativeDump},
};
int register_android_server_incremental_IncrementalManagerService(JNIEnv* env) {
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
index 12de20cc3d51..1a8f1f9f0024 100644
--- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
@@ -1218,19 +1218,21 @@ void GnssMeasurementCallback::translateSingleGnssMeasurement
SET(BasebandCn0DbHz, measurement_V2_1->basebandCN0DbHz);
if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_RECEIVER_ISB) {
- SET(ReceiverInterSignalBiasNs, measurement_V2_1->receiverInterSignalBiasNs);
+ SET(ReceiverInterSignalBiasNanos, measurement_V2_1->receiverInterSignalBiasNs);
}
if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_RECEIVER_ISB_UNCERTAINTY) {
- SET(ReceiverInterSignalBiasUncertaintyNs, measurement_V2_1->receiverInterSignalBiasUncertaintyNs);
+ SET(ReceiverInterSignalBiasUncertaintyNanos,
+ measurement_V2_1->receiverInterSignalBiasUncertaintyNs);
}
if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_SATELLITE_ISB) {
- SET(SatelliteInterSignalBiasNs, measurement_V2_1->satelliteInterSignalBiasNs);
+ SET(SatelliteInterSignalBiasNanos, measurement_V2_1->satelliteInterSignalBiasNs);
}
if (measurement_V2_1->flags & GnssMeasurementFlags::HAS_SATELLITE_ISB_UNCERTAINTY) {
- SET(SatelliteInterSignalBiasUncertaintyNs, measurement_V2_1->satelliteInterSignalBiasUncertaintyNs);
+ SET(SatelliteInterSignalBiasUncertaintyNanos,
+ measurement_V2_1->satelliteInterSignalBiasUncertaintyNs);
}
}
diff --git a/services/core/jni/com_android_server_stats_pull_StatsPullAtomService.cpp b/services/core/jni/com_android_server_stats_pull_StatsPullAtomService.cpp
new file mode 100644
index 000000000000..f5b778e85e5c
--- /dev/null
+++ b/services/core/jni/com_android_server_stats_pull_StatsPullAtomService.cpp
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "StatsPullAtomService"
+
+#include <jni.h>
+#include <log/log.h>
+#include <nativehelper/JNIHelp.h>
+#include <stats_event.h>
+#include <stats_pull_atom_callback.h>
+#include <statslog.h>
+
+#include "stats/PowerStatsPuller.h"
+#include "stats/SubsystemSleepStatePuller.h"
+
+namespace android {
+
+static server::stats::PowerStatsPuller gPowerStatsPuller;
+static server::stats::SubsystemSleepStatePuller gSubsystemSleepStatePuller;
+
+static status_pull_atom_return_t onDevicePowerMeasurementCallback(int32_t atom_tag,
+ pulled_stats_event_list* data,
+ void* cookie) {
+ return gPowerStatsPuller.Pull(atom_tag, data);
+}
+
+static status_pull_atom_return_t subsystemSleepStateCallback(int32_t atom_tag,
+ pulled_stats_event_list* data,
+ void* cookie) {
+ return gSubsystemSleepStatePuller.Pull(atom_tag, data);
+}
+
+static void nativeInit(JNIEnv* env, jobject javaObject) {
+ // on device power measurement
+ gPowerStatsPuller = server::stats::PowerStatsPuller();
+ register_stats_pull_atom_callback(android::util::ON_DEVICE_POWER_MEASUREMENT,
+ onDevicePowerMeasurementCallback,
+ /* metadata= */ nullptr,
+ /* cookie= */ nullptr);
+
+ // subsystem sleep state
+ gSubsystemSleepStatePuller = server::stats::SubsystemSleepStatePuller();
+ register_stats_pull_atom_callback(android::util::SUBSYSTEM_SLEEP_STATE,
+ subsystemSleepStateCallback,
+ /* metadata= */ nullptr,
+ /* cookie= */ nullptr);
+}
+
+static const JNINativeMethod sMethods[] = {{"nativeInit", "()V", (void*)nativeInit}};
+
+int register_android_server_stats_pull_StatsPullAtomService(JNIEnv* env) {
+ int res = jniRegisterNativeMethods(env, "com/android/server/stats/pull/StatsPullAtomService",
+ sMethods, NELEM(sMethods));
+ if (res < 0) {
+ ALOGE("failed to register native methods");
+ }
+ return res;
+}
+
+} // namespace android
diff --git a/services/core/jni/onload.cpp b/services/core/jni/onload.cpp
index 19fa062bd9f9..1202ad33996d 100644
--- a/services/core/jni/onload.cpp
+++ b/services/core/jni/onload.cpp
@@ -59,6 +59,7 @@ int register_android_server_am_LowMemDetector(JNIEnv* env);
int register_com_android_server_soundtrigger_middleware_AudioSessionProviderImpl(
JNIEnv* env);
int register_android_server_incremental_IncrementalManagerService(JNIEnv* env);
+int register_android_server_stats_pull_StatsPullAtomService(JNIEnv* env);
};
using namespace android;
@@ -111,5 +112,6 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */)
register_com_android_server_soundtrigger_middleware_AudioSessionProviderImpl(
env);
register_android_server_incremental_IncrementalManagerService(env);
+ register_android_server_stats_pull_StatsPullAtomService(env);
return JNI_VERSION_1_4;
}
diff --git a/services/core/jni/stats/OWNERS b/services/core/jni/stats/OWNERS
new file mode 100644
index 000000000000..a61babf32e58
--- /dev/null
+++ b/services/core/jni/stats/OWNERS
@@ -0,0 +1,9 @@
+jeffreyhuang@google.com
+joeo@google.com
+jtnguyen@google.com
+muhammadq@google.com
+ruchirr@google.com
+singhtejinder@google.com
+tsaichristine@google.com
+yaochen@google.com
+yro@google.com
diff --git a/cmds/statsd/src/external/PowerStatsPuller.cpp b/services/core/jni/stats/PowerStatsPuller.cpp
index dc69b78f0329..e80b5cfc4a71 100644
--- a/cmds/statsd/src/external/PowerStatsPuller.cpp
+++ b/services/core/jni/stats/PowerStatsPuller.cpp
@@ -14,31 +14,28 @@
* limitations under the License.
*/
-#define DEBUG false // STOPSHIP if true
-#include "Log.h"
+#define DEBUG false // STOPSHIP if true
+#define LOG_TAG "PowerStatsPuller"
#include <android/hardware/power/stats/1.0/IPowerStats.h>
+#include <log/log.h>
+#include <statslog.h>
#include <vector>
#include "PowerStatsPuller.h"
-#include "statslog.h"
-#include "stats_log_util.h"
using android::hardware::hidl_vec;
-using android::hardware::power::stats::V1_0::IPowerStats;
+using android::hardware::Return;
+using android::hardware::Void;
using android::hardware::power::stats::V1_0::EnergyData;
+using android::hardware::power::stats::V1_0::IPowerStats;
using android::hardware::power::stats::V1_0::RailInfo;
using android::hardware::power::stats::V1_0::Status;
-using android::hardware::Return;
-using android::hardware::Void;
-
-using std::make_shared;
-using std::shared_ptr;
namespace android {
-namespace os {
-namespace statsd {
+namespace server {
+namespace stats {
static sp<android::hardware::power::stats::V1_0::IPowerStats> gPowerStatsHal = nullptr;
static std::mutex gPowerStatsHalMutex;
@@ -47,7 +44,7 @@ static std::vector<RailInfo> gRailInfo;
struct PowerStatsPullerDeathRecipient : virtual public hardware::hidl_death_recipient {
virtual void serviceDied(uint64_t cookie,
- const wp<android::hidl::base::V1_0::IBase>& who) override {
+ const wp<android::hidl::base::V1_0::IBase>& who) override {
// The HAL just died. Reset all handles to HAL services.
std::lock_guard<std::mutex> lock(gPowerStatsHalMutex);
gPowerStatsHal = nullptr;
@@ -67,7 +64,7 @@ static bool getPowerStatsHalLocked() {
hardware::Return<bool> linked = gPowerStatsHal->linkToDeath(gDeathRecipient, 0);
if (!linked.isOk()) {
ALOGE("Transaction error in linking to power.stats HAL death: %s",
- linked.description().c_str());
+ linked.description().c_str());
gPowerStatsHal = nullptr;
return false;
} else if (!linked) {
@@ -79,29 +76,22 @@ static bool getPowerStatsHalLocked() {
return gPowerStatsHal != nullptr;
}
-PowerStatsPuller::PowerStatsPuller() : StatsPuller(android::util::ON_DEVICE_POWER_MEASUREMENT) {
-}
+PowerStatsPuller::PowerStatsPuller() {}
-bool PowerStatsPuller::PullInternal(vector<shared_ptr<LogEvent>>* data) {
+status_pull_atom_return_t PowerStatsPuller::Pull(int32_t atomTag, pulled_stats_event_list* data) {
std::lock_guard<std::mutex> lock(gPowerStatsHalMutex);
if (!getPowerStatsHalLocked()) {
- return false;
+ return STATS_PULL_SKIP;
}
- int64_t wallClockTimestampNs = getWallClockNs();
- int64_t elapsedTimestampNs = getElapsedRealtimeNs();
-
- data->clear();
-
// Pull getRailInfo if necessary
if (gRailInfo.empty()) {
bool resultSuccess = true;
Return<void> ret = gPowerStatsHal->getRailInfo(
- [&resultSuccess](const hidl_vec<RailInfo> &list, Status status) {
+ [&resultSuccess](const hidl_vec<RailInfo>& list, Status status) {
resultSuccess = (status == Status::SUCCESS || status == Status::NOT_SUPPORTED);
if (status != Status::SUCCESS) return;
-
gRailInfo.reserve(list.size());
for (size_t i = 0; i < list.size(); ++i) {
gRailInfo.push_back(list[i]);
@@ -110,61 +100,64 @@ bool PowerStatsPuller::PullInternal(vector<shared_ptr<LogEvent>>* data) {
if (!resultSuccess || !ret.isOk()) {
ALOGE("power.stats getRailInfo() failed. Description: %s", ret.description().c_str());
gPowerStatsHal = nullptr;
- return false;
+ return STATS_PULL_SKIP;
}
// If SUCCESS but empty, or if NOT_SUPPORTED, then never try again.
if (gRailInfo.empty()) {
ALOGE("power.stats has no rail information");
gPowerStatsExist = false; // No rail info, so never try again.
gPowerStatsHal = nullptr;
- return false;
+ return STATS_PULL_SKIP;
}
}
// Pull getEnergyData and write the data out
const hidl_vec<uint32_t> desiredRailIndices; // Empty vector indicates we want all.
bool resultSuccess = true;
- Return<void> ret = gPowerStatsHal->getEnergyData(desiredRailIndices,
- [&data, wallClockTimestampNs, elapsedTimestampNs, &resultSuccess]
- (hidl_vec<EnergyData> energyDataList, Status status) {
- resultSuccess = (status == Status::SUCCESS);
- if (!resultSuccess) return;
-
- for (size_t i = 0; i < energyDataList.size(); i++) {
- const EnergyData& energyData = energyDataList[i];
-
- if (energyData.index >= gRailInfo.size()) {
- ALOGE("power.stats getEnergyData() returned an invalid rail index %u.",
- energyData.index);
- resultSuccess = false;
- return;
- }
- const RailInfo& rail = gRailInfo[energyData.index];
-
- auto ptr = make_shared<LogEvent>(android::util::ON_DEVICE_POWER_MEASUREMENT,
- wallClockTimestampNs, elapsedTimestampNs);
- ptr->write(rail.subsysName);
- ptr->write(rail.railName);
- ptr->write(energyData.timestamp);
- ptr->write(energyData.energy);
- ptr->init();
- data->push_back(ptr);
-
- VLOG("power.stat: %s.%s: %llu, %llu",
- rail.subsysName.c_str(),
- rail.railName.c_str(),
- (unsigned long long)energyData.timestamp,
- (unsigned long long)energyData.energy);
- }
- });
+ Return<void> ret =
+ gPowerStatsHal
+ ->getEnergyData(desiredRailIndices,
+ [&data, &resultSuccess](hidl_vec<EnergyData> energyDataList,
+ Status status) {
+ resultSuccess = (status == Status::SUCCESS);
+ if (!resultSuccess) return;
+
+ for (size_t i = 0; i < energyDataList.size(); i++) {
+ const EnergyData& energyData = energyDataList[i];
+
+ if (energyData.index >= gRailInfo.size()) {
+ ALOGE("power.stats getEnergyData() returned an "
+ "invalid rail index %u.",
+ energyData.index);
+ resultSuccess = false;
+ return;
+ }
+ const RailInfo& rail = gRailInfo[energyData.index];
+
+ stats_event* event = add_stats_event_to_pull_data(data);
+ stats_event_set_atom_id(event,
+ android::util::ON_DEVICE_POWER_MEASUREMENT);
+ stats_event_write_string8(event,
+ rail.subsysName.c_str());
+ stats_event_write_string8(event, rail.railName.c_str());
+ stats_event_write_int64(event, energyData.timestamp);
+ stats_event_write_int64(event, energyData.energy);
+ stats_event_build(event);
+
+ ALOGV("power.stat: %s.%s: %llu, %llu",
+ rail.subsysName.c_str(), rail.railName.c_str(),
+ (unsigned long long)energyData.timestamp,
+ (unsigned long long)energyData.energy);
+ }
+ });
if (!resultSuccess || !ret.isOk()) {
ALOGE("power.stats getEnergyData() failed. Description: %s", ret.description().c_str());
gPowerStatsHal = nullptr;
- return false;
+ return STATS_PULL_SKIP;
}
- return true;
+ return STATS_PULL_SUCCESS;
}
-} // namespace statsd
-} // namespace os
-} // namespace android
+} // namespace stats
+} // namespace server
+} // namespace android
diff --git a/cmds/statsd/src/external/PowerStatsPuller.h b/services/core/jni/stats/PowerStatsPuller.h
index 6f15bd68fa94..048dbb933f52 100644
--- a/cmds/statsd/src/external/PowerStatsPuller.h
+++ b/services/core/jni/stats/PowerStatsPuller.h
@@ -16,23 +16,22 @@
#pragma once
-#include "StatsPuller.h"
+#include <stats_event.h>
+#include <stats_pull_atom_callback.h>
namespace android {
-namespace os {
-namespace statsd {
+namespace server {
+namespace stats {
/**
* Reads hal for power.stats
*/
-class PowerStatsPuller : public StatsPuller {
+class PowerStatsPuller {
public:
PowerStatsPuller();
-
-private:
- bool PullInternal(vector<std::shared_ptr<LogEvent>>* data) override;
+ status_pull_atom_return_t Pull(int32_t atomTag, pulled_stats_event_list* data);
};
-} // namespace statsd
-} // namespace os
-} // namespace android
+} // namespace stats
+} // namespace server
+} // namespace android
diff --git a/cmds/statsd/src/external/SubsystemSleepStatePuller.cpp b/services/core/jni/stats/SubsystemSleepStatePuller.cpp
index f6a4aeaa3f9e..c6a836cfb6d5 100644
--- a/cmds/statsd/src/external/SubsystemSleepStatePuller.cpp
+++ b/services/core/jni/stats/SubsystemSleepStatePuller.cpp
@@ -15,7 +15,10 @@
*/
#define DEBUG false // STOPSHIP if true
-#include "Log.h"
+#define LOG_TAG "SubsystemSleepStatePuller"
+
+#include <log/log.h>
+#include <statslog.h>
#include <android/hardware/power/1.0/IPower.h>
#include <android/hardware/power/1.1/IPower.h>
@@ -32,13 +35,8 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
-#include "external/SubsystemSleepStatePuller.h"
-#include "external/StatsPuller.h"
-
+#include <unordered_map>
#include "SubsystemSleepStatePuller.h"
-#include "logd/LogEvent.h"
-#include "statslog.h"
-#include "stats_log_util.h"
using android::hardware::hidl_vec;
using android::hardware::power::V1_0::IPower;
@@ -53,14 +51,12 @@ using android::hardware::power::stats::V1_0::PowerEntityStateSpace;
using android::hardware::Return;
using android::hardware::Void;
-using std::make_shared;
-using std::shared_ptr;
-
namespace android {
-namespace os {
-namespace statsd {
+namespace server {
+namespace stats {
-static std::function<bool(vector<shared_ptr<LogEvent>>* data)> gPuller = {};
+static std::function<status_pull_atom_return_t(int32_t atomTag, pulled_stats_event_list* data)>
+ gPuller = {};
static sp<android::hardware::power::V1_0::IPower> gPowerHalV1_0 = nullptr;
static sp<android::hardware::power::V1_1::IPower> gPowerHalV1_1 = nullptr;
@@ -91,9 +87,7 @@ struct SubsystemSleepStatePullerDeathRecipient : virtual public hardware::hidl_d
static sp<SubsystemSleepStatePullerDeathRecipient> gDeathRecipient =
new SubsystemSleepStatePullerDeathRecipient();
-SubsystemSleepStatePuller::SubsystemSleepStatePuller() :
- StatsPuller(android::util::SUBSYSTEM_SLEEP_STATE) {
-}
+SubsystemSleepStatePuller::SubsystemSleepStatePuller() {}
// The caller must be holding gPowerHalMutex.
static bool checkResultLocked(const Return<void> &ret, const char* function) {
@@ -182,48 +176,46 @@ static bool getPowerStatsHalLocked() {
}
// The caller must be holding gPowerHalMutex.
-static bool getIPowerStatsDataLocked(vector<shared_ptr<LogEvent>>* data) {
+static status_pull_atom_return_t getIPowerStatsDataLocked(int32_t atomTag,
+ pulled_stats_event_list* data) {
using android::hardware::power::stats::V1_0::Status;
if(!getPowerStatsHalLocked()) {
- return false;
+ return STATS_PULL_SKIP;
}
-
- int64_t wallClockTimestampNs = getWallClockNs();
- int64_t elapsedTimestampNs = getElapsedRealtimeNs();
-
// Get power entity state residency data
bool success = false;
- Return<void> ret = gPowerStatsHalV1_0->getPowerEntityStateResidencyData({},
- [&data, &success, wallClockTimestampNs, elapsedTimestampNs]
- (auto results, auto status) {
- if (status == Status::NOT_SUPPORTED) {
- ALOGW("getPowerEntityStateResidencyData is not supported");
- success = false;
- return;
- }
-
- for(auto result : results) {
- for(auto stateResidency : result.stateResidencyData) {
- auto statePtr = make_shared<LogEvent>(
- android::util::SUBSYSTEM_SLEEP_STATE,
- wallClockTimestampNs, elapsedTimestampNs);
- statePtr->write(gEntityNames.at(result.powerEntityId));
- statePtr->write(gStateNames.at(result.powerEntityId)
- .at(stateResidency.powerEntityStateId));
- statePtr->write(stateResidency.totalStateEntryCount);
- statePtr->write(stateResidency.totalTimeInStateMs);
- statePtr->init();
- data->emplace_back(statePtr);
- }
- }
- success = true;
- });
+ Return<void> ret = gPowerStatsHalV1_0->getPowerEntityStateResidencyData(
+ {}, [&data, &success](auto results, auto status) {
+ if (status == Status::NOT_SUPPORTED) {
+ ALOGW("getPowerEntityStateResidencyData is not supported");
+ success = false;
+ return;
+ }
+ for (auto result : results) {
+ for (auto stateResidency : result.stateResidencyData) {
+ stats_event* event = add_stats_event_to_pull_data(data);
+ stats_event_set_atom_id(event, android::util::SUBSYSTEM_SLEEP_STATE);
+ stats_event_write_string8(event,
+ gEntityNames.at(result.powerEntityId).c_str());
+ stats_event_write_string8(event,
+ gStateNames.at(result.powerEntityId)
+ .at(stateResidency.powerEntityStateId)
+ .c_str());
+ stats_event_write_int64(event, stateResidency.totalStateEntryCount);
+ stats_event_write_int64(event, stateResidency.totalTimeInStateMs);
+ stats_event_build(event);
+ }
+ }
+ success = true;
+ });
// Intentionally not returning early here.
// bool success determines if this succeeded or not.
checkResultLocked(ret, __func__);
-
- return success;
+ if (!success) {
+ return STATS_PULL_SKIP;
+ }
+ return STATS_PULL_SUCCESS;
}
// The caller must be holding gPowerHalMutex.
@@ -252,56 +244,51 @@ static bool getPowerHalLocked() {
}
// The caller must be holding gPowerHalMutex.
-static bool getIPowerDataLocked(vector<shared_ptr<LogEvent>>* data) {
+static status_pull_atom_return_t getIPowerDataLocked(int32_t atomTag,
+ pulled_stats_event_list* data) {
using android::hardware::power::V1_0::Status;
if(!getPowerHalLocked()) {
- return false;
+ return STATS_PULL_SKIP;
}
- int64_t wallClockTimestampNs = getWallClockNs();
- int64_t elapsedTimestampNs = getElapsedRealtimeNs();
Return<void> ret;
ret = gPowerHalV1_0->getPlatformLowPowerStats(
- [&data, wallClockTimestampNs, elapsedTimestampNs]
- (hidl_vec<PowerStatePlatformSleepState> states, Status status) {
+ [&data](hidl_vec<PowerStatePlatformSleepState> states, Status status) {
if (status != Status::SUCCESS) return;
for (size_t i = 0; i < states.size(); i++) {
const PowerStatePlatformSleepState& state = states[i];
-
- auto statePtr = make_shared<LogEvent>(
- android::util::SUBSYSTEM_SLEEP_STATE,
- wallClockTimestampNs, elapsedTimestampNs);
- statePtr->write(state.name);
- statePtr->write("");
- statePtr->write(state.totalTransitions);
- statePtr->write(state.residencyInMsecSinceBoot);
- statePtr->init();
- data->push_back(statePtr);
- VLOG("powerstate: %s, %lld, %lld, %d", state.name.c_str(),
- (long long)state.residencyInMsecSinceBoot,
- (long long)state.totalTransitions,
- state.supportedOnlyInSuspend ? 1 : 0);
+ stats_event* event = add_stats_event_to_pull_data(data);
+ stats_event_set_atom_id(event, android::util::SUBSYSTEM_SLEEP_STATE);
+ stats_event_write_string8(event, state.name.c_str());
+ stats_event_write_string8(event, "");
+ stats_event_write_int64(event, state.totalTransitions);
+ stats_event_write_int64(event, state.residencyInMsecSinceBoot);
+ stats_event_build(event);
+
+ ALOGV("powerstate: %s, %lld, %lld, %d", state.name.c_str(),
+ (long long)state.residencyInMsecSinceBoot,
+ (long long)state.totalTransitions,
+ state.supportedOnlyInSuspend ? 1 : 0);
for (const auto& voter : state.voters) {
- auto voterPtr = make_shared<LogEvent>(
- android::util::SUBSYSTEM_SLEEP_STATE,
- wallClockTimestampNs, elapsedTimestampNs);
- voterPtr->write(state.name);
- voterPtr->write(voter.name);
- voterPtr->write(voter.totalNumberOfTimesVotedSinceBoot);
- voterPtr->write(voter.totalTimeInMsecVotedForSinceBoot);
- voterPtr->init();
- data->push_back(voterPtr);
- VLOG("powerstatevoter: %s, %s, %lld, %lld", state.name.c_str(),
- voter.name.c_str(),
- (long long)voter.totalTimeInMsecVotedForSinceBoot,
- (long long)voter.totalNumberOfTimesVotedSinceBoot);
+ stats_event* event = add_stats_event_to_pull_data(data);
+ stats_event_set_atom_id(event, android::util::SUBSYSTEM_SLEEP_STATE);
+ stats_event_write_string8(event, state.name.c_str());
+ stats_event_write_string8(event, voter.name.c_str());
+ stats_event_write_int64(event, voter.totalNumberOfTimesVotedSinceBoot);
+ stats_event_write_int64(event, voter.totalTimeInMsecVotedForSinceBoot);
+ stats_event_build(event);
+
+ ALOGV("powerstatevoter: %s, %s, %lld, %lld", state.name.c_str(),
+ voter.name.c_str(),
+ (long long)voter.totalTimeInMsecVotedForSinceBoot,
+ (long long)voter.totalNumberOfTimesVotedSinceBoot);
}
}
});
if (!checkResultLocked(ret, __func__)) {
- return false;
+ return STATS_PULL_SKIP;
}
// Trying to cast to IPower 1.1, this will succeed only for devices supporting 1.1
@@ -309,41 +296,42 @@ static bool getIPowerDataLocked(vector<shared_ptr<LogEvent>>* data) {
android::hardware::power::V1_1::IPower::castFrom(gPowerHalV1_0);
if (gPowerHal_1_1 != nullptr) {
ret = gPowerHal_1_1->getSubsystemLowPowerStats(
- [&data, wallClockTimestampNs, elapsedTimestampNs]
- (hidl_vec<PowerStateSubsystem> subsystems, Status status) {
- if (status != Status::SUCCESS) return;
-
- if (subsystems.size() > 0) {
- for (size_t i = 0; i < subsystems.size(); i++) {
- const PowerStateSubsystem& subsystem = subsystems[i];
- for (size_t j = 0; j < subsystem.states.size(); j++) {
- const PowerStateSubsystemSleepState& state =
- subsystem.states[j];
- auto subsystemStatePtr = make_shared<LogEvent>(
- android::util::SUBSYSTEM_SLEEP_STATE,
- wallClockTimestampNs, elapsedTimestampNs);
- subsystemStatePtr->write(subsystem.name);
- subsystemStatePtr->write(state.name);
- subsystemStatePtr->write(state.totalTransitions);
- subsystemStatePtr->write(state.residencyInMsecSinceBoot);
- subsystemStatePtr->init();
- data->push_back(subsystemStatePtr);
- VLOG("subsystemstate: %s, %s, %lld, %lld, %lld",
- subsystem.name.c_str(), state.name.c_str(),
- (long long)state.residencyInMsecSinceBoot,
- (long long)state.totalTransitions,
- (long long)state.lastEntryTimestampMs);
+ [&data](hidl_vec<PowerStateSubsystem> subsystems, Status status) {
+ if (status != Status::SUCCESS) return;
+
+ if (subsystems.size() > 0) {
+ for (size_t i = 0; i < subsystems.size(); i++) {
+ const PowerStateSubsystem& subsystem = subsystems[i];
+ for (size_t j = 0; j < subsystem.states.size(); j++) {
+ const PowerStateSubsystemSleepState& state =
+ subsystem.states[j];
+ stats_event* event = add_stats_event_to_pull_data(data);
+ stats_event_set_atom_id(event,
+ android::util::SUBSYSTEM_SLEEP_STATE);
+ stats_event_write_string8(event, subsystem.name.c_str());
+ stats_event_write_string8(event, state.name.c_str());
+ stats_event_write_int64(event, state.totalTransitions);
+ stats_event_write_int64(event, state.residencyInMsecSinceBoot);
+ stats_event_build(event);
+
+ ALOGV("subsystemstate: %s, %s, %lld, %lld, %lld",
+ subsystem.name.c_str(), state.name.c_str(),
+ (long long)state.residencyInMsecSinceBoot,
+ (long long)state.totalTransitions,
+ (long long)state.lastEntryTimestampMs);
+ }
+ }
}
- }
- }
- });
+ });
}
- return true;
+ return STATS_PULL_SUCCESS;
}
// The caller must be holding gPowerHalMutex.
-std::function<bool(vector<shared_ptr<LogEvent>>* data)> getPullerLocked() {
- std::function<bool(vector<shared_ptr<LogEvent>>* data)> ret = {};
+std::function<status_pull_atom_return_t(int32_t atomTag, pulled_stats_event_list* data)>
+getPullerLocked() {
+ std::function<status_pull_atom_return_t(int32_t atomTag, pulled_stats_event_list * data)> ret =
+ {};
// First see if power.stats HAL is available. Fall back to power HAL if
// power.stats HAL is unavailable.
@@ -358,7 +346,8 @@ std::function<bool(vector<shared_ptr<LogEvent>>* data)> getPullerLocked() {
return ret;
}
-bool SubsystemSleepStatePuller::PullInternal(vector<shared_ptr<LogEvent>>* data) {
+status_pull_atom_return_t SubsystemSleepStatePuller::Pull(int32_t atomTag,
+ pulled_stats_event_list* data) {
std::lock_guard<std::mutex> lock(gPowerHalMutex);
if(!gPuller) {
@@ -366,13 +355,13 @@ bool SubsystemSleepStatePuller::PullInternal(vector<shared_ptr<LogEvent>>* data)
}
if(gPuller) {
- return gPuller(data);
+ return gPuller(atomTag, data);
}
ALOGE("Unable to load Power Hal or power.stats HAL");
- return false;
+ return STATS_PULL_SKIP;
}
-} // namespace statsd
-} // namespace os
+} // namespace stats
+} // namespace server
} // namespace android
diff --git a/cmds/statsd/src/external/SubsystemSleepStatePuller.h b/services/core/jni/stats/SubsystemSleepStatePuller.h
index 87f5f02614a9..59dbbd258401 100644
--- a/cmds/statsd/src/external/SubsystemSleepStatePuller.h
+++ b/services/core/jni/stats/SubsystemSleepStatePuller.h
@@ -16,24 +16,22 @@
#pragma once
-#include <utils/String16.h>
-#include "StatsPuller.h"
+#include <stats_event.h>
+#include <stats_pull_atom_callback.h>
namespace android {
-namespace os {
-namespace statsd {
+namespace server {
+namespace stats {
/**
* Reads hal for sleep states
*/
-class SubsystemSleepStatePuller : public StatsPuller {
+class SubsystemSleepStatePuller {
public:
SubsystemSleepStatePuller();
-
-private:
- bool PullInternal(vector<std::shared_ptr<LogEvent>>* data) override;
+ status_pull_atom_return_t Pull(int32_t atomTag, pulled_stats_event_list* data);
};
-} // namespace statsd
-} // namespace os
-} // namespace android
+} // namespace stats
+} // namespace server
+} // namespace android
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index d7ea2f53c286..65cabadaa3d8 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -9553,9 +9553,19 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
}
@Override
- public void setDefaultSmsApplication(ComponentName admin, String packageName) {
+ public void setDefaultSmsApplication(ComponentName admin, String packageName, boolean parent) {
Objects.requireNonNull(admin, "ComponentName is null");
- enforceDeviceOwner(admin);
+
+ if (parent) {
+ ActiveAdmin ap = getActiveAdminForCallerLocked(admin,
+ DeviceAdminInfo.USES_POLICY_ORGANIZATION_OWNED_PROFILE_OWNER, parent);
+ enforceProfileOwnerOfOrganizationOwnedDevice(ap);
+ mInjector.binderWithCleanCallingIdentity(() -> enforcePackageIsSystemPackage(
+ packageName, getProfileParentId(mInjector.userHandleGetCallingUserId())));
+ } else {
+ enforceDeviceOwner(admin);
+ }
+
mInjector.binderWithCleanCallingIdentity(() ->
SmsApplication.setDefaultApplication(packageName, mContext));
}
@@ -10778,7 +10788,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
// API cannot be used to leak if certain non-system package exists in the person
// profile.
mInjector.binderWithCleanCallingIdentity(() ->
- enforcePackageIsSystemPackage(packageName, hidden, userId));
+ enforcePackageIsSystemPackage(packageName, userId));
}
result = mInjector.binderWithCleanCallingIdentity(() -> mIPackageManager
@@ -10811,7 +10821,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
DeviceAdminInfo.USES_POLICY_ORGANIZATION_OWNED_PROFILE_OWNER, parent);
// Ensure the package provided is a system package.
mInjector.binderWithCleanCallingIdentity(() ->
- enforcePackageIsSystemPackage(packageName, false, userId));
+ enforcePackageIsSystemPackage(packageName, userId));
}
return mInjector.binderWithCleanCallingIdentity(
@@ -10819,16 +10829,9 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
}
}
- private void enforcePackageIsSystemPackage(String packageName, boolean hidden, int userId)
+ private void enforcePackageIsSystemPackage(String packageName, int userId)
throws RemoteException {
- int flags = PackageManager.MATCH_SYSTEM_ONLY;
- // If the package is currently hidden then it is considered uninstalled and
- // the MATCH_UNINSTALLED_PACKAGES flag has to be added.
- if (!hidden) {
- flags |= PackageManager.MATCH_UNINSTALLED_PACKAGES;
- }
- PackageInfo packageInfo = mIPackageManager.getPackageInfo(packageName, flags, userId);
- if (packageInfo == null || !packageInfo.applicationInfo.isSystemApp()) {
+ if (!isSystemApp(mIPackageManager, packageName, userId)) {
throw new IllegalArgumentException(
"The provided package is not a system package");
}
@@ -15074,9 +15077,16 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
return packages;
}
- private List<String> getDefaultCrossProfilePackages() {
- return Arrays.asList(mContext.getResources()
+ @Override
+ public List<String> getDefaultCrossProfilePackages() {
+ Set<String> crossProfilePackages = new HashSet<>();
+
+ Collections.addAll(crossProfilePackages, mContext.getResources()
.getStringArray(R.array.cross_profile_apps));
+ Collections.addAll(crossProfilePackages, mContext.getResources()
+ .getStringArray(R.array.vendor_cross_profile_apps));
+
+ return new ArrayList<>(crossProfilePackages);
}
private List<ActiveAdmin> getProfileOwnerAdminsForCurrentProfileGroup() {
diff --git a/services/incremental/Android.bp b/services/incremental/Android.bp
index ddf4dd53d5d3..323e7f156941 100644
--- a/services/incremental/Android.bp
+++ b/services/incremental/Android.bp
@@ -47,6 +47,8 @@ cc_defaults {
shared_libs: [
"libandroidfw",
"libbinder",
+ "libcrypto",
+ "libcutils",
"libincfs",
"liblog",
"libz",
diff --git a/services/incremental/BinderIncrementalService.cpp b/services/incremental/BinderIncrementalService.cpp
index bb26c1f93159..0941831f5299 100644
--- a/services/incremental/BinderIncrementalService.cpp
+++ b/services/incremental/BinderIncrementalService.cpp
@@ -17,12 +17,14 @@
#include "BinderIncrementalService.h"
#include <binder/IResultReceiver.h>
+#include <binder/PermissionCache.h>
#include <incfs.h>
#include "ServiceWrappers.h"
#include "jni.h"
#include "nativehelper/JNIHelp.h"
#include "path.h"
+#include <android-base/logging.h>
using namespace std::literals;
using namespace android::incremental;
@@ -46,10 +48,10 @@ static bool incFsEnabled() {
return incfs::enabled();
}
-static bool incFsVersionValid(const sp<IVold>& vold) {
- int version = -1;
- auto status = vold->incFsVersion(&version);
- if (!status.isOk() || version <= 0) {
+static bool incFsValid(const sp<IVold>& vold) {
+ bool enabled = false;
+ auto status = vold->incFsEnabled(&enabled);
+ if (!status.isOk() || !enabled) {
return false;
}
return true;
@@ -74,7 +76,7 @@ BinderIncrementalService* BinderIncrementalService::start() {
return nullptr;
}
sp<IVold> vold = interface_cast<IVold>(voldBinder);
- if (!incFsVersionValid(vold)) {
+ if (!incFsValid(vold)) {
return nullptr;
}
@@ -86,11 +88,17 @@ BinderIncrementalService* BinderIncrementalService::start() {
sp<ProcessState> ps(ProcessState::self());
ps->startThreadPool();
ps->giveThreadPoolName();
+ // sm->addService increments the reference count, and now we're OK with returning the pointer.
return self.get();
}
-status_t BinderIncrementalService::dump(int fd, const Vector<String16>& args) {
- return OK;
+status_t BinderIncrementalService::dump(int fd, const Vector<String16>&) {
+ static const String16 kDump("android.permission.DUMP");
+ if (!PermissionCache::checkCallingPermission(kDump)) {
+ return PERMISSION_DENIED;
+ }
+ mImpl.onDump(fd);
+ return NO_ERROR;
}
void BinderIncrementalService::onSystemReady() {
@@ -107,13 +115,12 @@ binder::Status BinderIncrementalService::openStorage(const std::string& path,
return ok();
}
-binder::Status BinderIncrementalService::createStorage(
- const std::string& path, const DataLoaderParamsParcel& params,
- int32_t createMode, int32_t* _aidl_return) {
- *_aidl_return =
- mImpl.createStorage(path, const_cast<DataLoaderParamsParcel&&>(params),
- android::incremental::IncrementalService::CreateOptions(
- createMode));
+binder::Status BinderIncrementalService::createStorage(const std::string& path,
+ const DataLoaderParamsParcel& params,
+ int32_t createMode, int32_t* _aidl_return) {
+ *_aidl_return = mImpl.createStorage(path, const_cast<DataLoaderParamsParcel&&>(params),
+ android::incremental::IncrementalService::CreateOptions(
+ createMode));
return ok();
}
@@ -129,10 +136,10 @@ binder::Status BinderIncrementalService::createLinkedStorage(const std::string&
}
binder::Status BinderIncrementalService::makeBindMount(int32_t storageId,
- const std::string& pathUnderStorage,
+ const std::string& sourcePath,
const std::string& targetFullPath,
int32_t bindType, int32_t* _aidl_return) {
- *_aidl_return = mImpl.bind(storageId, pathUnderStorage, targetFullPath,
+ *_aidl_return = mImpl.bind(storageId, sourcePath, targetFullPath,
android::incremental::IncrementalService::BindKind(bindType));
return ok();
}
@@ -149,75 +156,127 @@ binder::Status BinderIncrementalService::deleteStorage(int32_t storageId) {
return ok();
}
-binder::Status BinderIncrementalService::makeDirectory(int32_t storageId,
- const std::string& pathUnderStorage,
+binder::Status BinderIncrementalService::makeDirectory(int32_t storageId, const std::string& path,
int32_t* _aidl_return) {
- auto inode = mImpl.makeDir(storageId, pathUnderStorage);
- *_aidl_return = inode < 0 ? inode : 0;
+ *_aidl_return = mImpl.makeDir(storageId, path);
return ok();
}
-binder::Status BinderIncrementalService::makeDirectories(int32_t storageId,
- const std::string& pathUnderStorage,
- int32_t* _aidl_return) {
- auto inode = mImpl.makeDirs(storageId, pathUnderStorage);
- *_aidl_return = inode < 0 ? inode : 0;
- return ok();
+static std::tuple<int, incfs::FileId, incfs::NewFileParams> toMakeFileParams(
+ const android::os::incremental::IncrementalNewFileParams& params) {
+ incfs::FileId id;
+ if (params.fileId.empty()) {
+ if (params.metadata.empty()) {
+ return {EINVAL, {}, {}};
+ }
+ id = IncrementalService::idFromMetadata(params.metadata);
+ } else if (params.fileId.size() != sizeof(id)) {
+ return {EINVAL, {}, {}};
+ } else {
+ memcpy(&id, params.fileId.data(), sizeof(id));
+ }
+ incfs::NewFileParams nfp;
+ nfp.size = params.size;
+ nfp.metadata = {(const char*)params.metadata.data(), (IncFsSize)params.metadata.size()};
+ if (!params.signature) {
+ nfp.verification = {};
+ } else {
+ nfp.verification.hashAlgorithm = IncFsHashAlgortithm(params.signature->hashAlgorithm);
+ nfp.verification.rootHash = {(const char*)params.signature->rootHash.data(),
+ (IncFsSize)params.signature->rootHash.size()};
+ nfp.verification.additionalData = {(const char*)params.signature->additionalData.data(),
+ (IncFsSize)params.signature->additionalData.size()};
+ nfp.verification.signature = {(const char*)params.signature->signature.data(),
+ (IncFsSize)params.signature->signature.size()};
+ }
+ return {0, id, nfp};
}
-binder::Status BinderIncrementalService::makeFile(int32_t storageId,
- const std::string& pathUnderStorage, int64_t size,
- const std::vector<uint8_t>& metadata,
- int32_t* _aidl_return) {
- auto inode = mImpl.makeFile(storageId, pathUnderStorage, size,
- {(const char*)metadata.data(), metadata.size()}, {});
- *_aidl_return = inode < 0 ? inode : 0;
+binder::Status BinderIncrementalService::makeFile(
+ int32_t storageId, const std::string& path,
+ const ::android::os::incremental::IncrementalNewFileParams& params, int32_t* _aidl_return) {
+ auto [err, fileId, nfp] = toMakeFileParams(params);
+ if (err) {
+ *_aidl_return = err;
+ return ok();
+ }
+
+ *_aidl_return = mImpl.makeFile(storageId, path, 0777, fileId, nfp);
return ok();
}
-binder::Status BinderIncrementalService::makeFileFromRange(
- int32_t storageId, const std::string& pathUnderStorage,
- const std::string& sourcePathUnderStorage, int64_t start, int64_t end,
- int32_t* _aidl_return) {
+binder::Status BinderIncrementalService::makeFileFromRange(int32_t storageId,
+ const std::string& targetPath,
+ const std::string& sourcePath,
+ int64_t start, int64_t end,
+ int32_t* _aidl_return) {
// TODO(b/136132412): implement this
- *_aidl_return = -1;
+ *_aidl_return = ENOSYS; // not implemented
return ok();
}
+
binder::Status BinderIncrementalService::makeLink(int32_t sourceStorageId,
- const std::string& relativeSourcePath,
+ const std::string& sourcePath,
int32_t destStorageId,
- const std::string& relativeDestPath,
+ const std::string& destPath,
int32_t* _aidl_return) {
- auto sourceInode = mImpl.nodeFor(sourceStorageId, relativeSourcePath);
- auto [targetParentInode, name] = mImpl.parentAndNameFor(destStorageId, relativeDestPath);
- *_aidl_return = mImpl.link(sourceStorageId, sourceInode, targetParentInode, name);
+ *_aidl_return = mImpl.link(sourceStorageId, sourcePath, destStorageId, destPath);
return ok();
}
-binder::Status BinderIncrementalService::unlink(int32_t storageId,
- const std::string& pathUnderStorage,
+
+binder::Status BinderIncrementalService::unlink(int32_t storageId, const std::string& path,
int32_t* _aidl_return) {
- auto [parentNode, name] = mImpl.parentAndNameFor(storageId, pathUnderStorage);
- *_aidl_return = mImpl.unlink(storageId, parentNode, name);
+ *_aidl_return = mImpl.unlink(storageId, path);
return ok();
}
+
binder::Status BinderIncrementalService::isFileRangeLoaded(int32_t storageId,
- const std::string& relativePath,
- int64_t start, int64_t end,
- bool* _aidl_return) {
+ const std::string& path, int64_t start,
+ int64_t end, bool* _aidl_return) {
+ // TODO: implement
*_aidl_return = false;
return ok();
}
-binder::Status BinderIncrementalService::getFileMetadata(int32_t storageId,
- const std::string& relativePath,
+
+binder::Status BinderIncrementalService::getMetadataByPath(int32_t storageId,
+ const std::string& path,
+ std::vector<uint8_t>* _aidl_return) {
+ auto fid = mImpl.nodeFor(storageId, path);
+ if (fid != kIncFsInvalidFileId) {
+ auto metadata = mImpl.getMetadata(storageId, fid);
+ _aidl_return->assign(metadata.begin(), metadata.end());
+ }
+ return ok();
+}
+
+static FileId toFileId(const std::vector<uint8_t>& id) {
+ FileId fid;
+ memcpy(&fid, id.data(), id.size());
+ return fid;
+}
+
+binder::Status BinderIncrementalService::getMetadataById(int32_t storageId,
+ const std::vector<uint8_t>& id,
std::vector<uint8_t>* _aidl_return) {
- auto inode = mImpl.nodeFor(storageId, relativePath);
- auto metadata = mImpl.getMetadata(storageId, inode);
+ if (id.size() != sizeof(incfs::FileId)) {
+ return ok();
+ }
+ auto fid = toFileId(id);
+ auto metadata = mImpl.getMetadata(storageId, fid);
_aidl_return->assign(metadata.begin(), metadata.end());
return ok();
}
+
+binder::Status BinderIncrementalService::makeDirectories(int32_t storageId, const std::string& path,
+ int32_t* _aidl_return) {
+ *_aidl_return = mImpl.makeDirs(storageId, path);
+ return ok();
+}
+
binder::Status BinderIncrementalService::startLoading(int32_t storageId, bool* _aidl_return) {
*_aidl_return = mImpl.startLoading(storageId);
return ok();
}
+
} // namespace android::os::incremental
jlong Incremental_IncrementalService_Start() {
@@ -228,3 +287,10 @@ void Incremental_IncrementalService_OnSystemReady(jlong self) {
((android::os::incremental::BinderIncrementalService*)self)->onSystemReady();
}
}
+void Incremental_IncrementalService_OnDump(jlong self, jint fd) {
+ if (self) {
+ ((android::os::incremental::BinderIncrementalService*)self)->dump(fd, {});
+ } else {
+ dprintf(fd, "BinderIncrementalService is stopped.");
+ }
+}
diff --git a/services/incremental/BinderIncrementalService.h b/services/incremental/BinderIncrementalService.h
index 37c9661db28d..a94a75a26875 100644
--- a/services/incremental/BinderIncrementalService.h
+++ b/services/incremental/BinderIncrementalService.h
@@ -37,38 +37,39 @@ public:
void onSystemReady();
void onInvalidStorage(int mountId);
- binder::Status openStorage(const std::string &path, int32_t *_aidl_return) final;
- binder::Status createStorage(
- const std::string &path,
- const ::android::content::pm::DataLoaderParamsParcel &params,
- int32_t createMode, int32_t *_aidl_return) final;
- binder::Status createLinkedStorage(const std::string &path, int32_t otherStorageId,
- int32_t createMode, int32_t *_aidl_return) final;
- binder::Status makeBindMount(int32_t storageId, const std::string &pathUnderStorage,
- const std::string &targetFullPath, int32_t bindType,
- int32_t *_aidl_return) final;
- binder::Status deleteBindMount(int32_t storageId, const std::string &targetFullPath,
- int32_t *_aidl_return) final;
+ binder::Status openStorage(const std::string& path, int32_t* _aidl_return) final;
+ binder::Status createStorage(const std::string& path,
+ const ::android::content::pm::DataLoaderParamsParcel& params,
+ int32_t createMode, int32_t* _aidl_return) final;
+ binder::Status createLinkedStorage(const std::string& path, int32_t otherStorageId,
+ int32_t createMode, int32_t* _aidl_return) final;
+ binder::Status makeBindMount(int32_t storageId, const std::string& sourcePath,
+ const std::string& targetFullPath, int32_t bindType,
+ int32_t* _aidl_return) final;
+ binder::Status deleteBindMount(int32_t storageId, const std::string& targetFullPath,
+ int32_t* _aidl_return) final;
+ binder::Status makeDirectory(int32_t storageId, const std::string& path,
+ int32_t* _aidl_return) final;
+ binder::Status makeDirectories(int32_t storageId, const std::string& path,
+ int32_t* _aidl_return) final;
+ binder::Status makeFile(int32_t storageId, const std::string& path,
+ const ::android::os::incremental::IncrementalNewFileParams& params,
+ int32_t* _aidl_return) final;
+ binder::Status makeFileFromRange(int32_t storageId, const std::string& targetPath,
+ const std::string& sourcePath, int64_t start, int64_t end,
+ int32_t* _aidl_return) final;
+ binder::Status makeLink(int32_t sourceStorageId, const std::string& sourcePath,
+ int32_t destStorageId, const std::string& destPath,
+ int32_t* _aidl_return) final;
+ binder::Status unlink(int32_t storageId, const std::string& path, int32_t* _aidl_return) final;
+ binder::Status isFileRangeLoaded(int32_t storageId, const std::string& path, int64_t start,
+ int64_t end, bool* _aidl_return) final;
+ binder::Status getMetadataByPath(int32_t storageId, const std::string& path,
+ std::vector<uint8_t>* _aidl_return) final;
+ binder::Status getMetadataById(int32_t storageId, const std::vector<uint8_t>& id,
+ std::vector<uint8_t>* _aidl_return) final;
+ binder::Status startLoading(int32_t storageId, bool* _aidl_return) final;
binder::Status deleteStorage(int32_t storageId) final;
- binder::Status makeDirectory(int32_t storageId, const std::string &pathUnderStorage,
- int32_t *_aidl_return) final;
- binder::Status makeDirectories(int32_t storageId, const std::string &pathUnderStorage,
- int32_t *_aidl_return) final;
- binder::Status makeFile(int32_t storageId, const std::string &pathUnderStorage, int64_t size,
- const std::vector<uint8_t> &metadata, int32_t *_aidl_return) final;
- binder::Status makeFileFromRange(int32_t storageId, const std::string &pathUnderStorage,
- const std::string &sourcePathUnderStorage, int64_t start,
- int64_t end, int32_t *_aidl_return);
- binder::Status makeLink(int32_t sourceStorageId, const std::string &relativeSourcePath,
- int32_t destStorageId, const std::string &relativeDestPath,
- int32_t *_aidl_return) final;
- binder::Status unlink(int32_t storageId, const std::string &pathUnderStorage,
- int32_t *_aidl_return) final;
- binder::Status isFileRangeLoaded(int32_t storageId, const std::string &relativePath,
- int64_t start, int64_t end, bool *_aidl_return) final;
- binder::Status getFileMetadata(int32_t storageId, const std::string &relativePath,
- std::vector<uint8_t> *_aidl_return) final;
- binder::Status startLoading(int32_t storageId, bool *_aidl_return) final;
private:
android::incremental::IncrementalService mImpl;
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp
index afce260ed41e..dbd97cfa039a 100644
--- a/services/incremental/IncrementalService.cpp
+++ b/services/incremental/IncrementalService.cpp
@@ -30,10 +30,12 @@
#include <binder/BinderService.h>
#include <binder/ParcelFileDescriptor.h>
#include <binder/Status.h>
+#include <openssl/sha.h>
#include <sys/stat.h>
#include <uuid/uuid.h>
#include <zlib.h>
+#include <ctime>
#include <iterator>
#include <span>
#include <stack>
@@ -55,7 +57,6 @@ using IncrementalFileSystemControlParcel =
struct Constants {
static constexpr auto backing = "backing_store"sv;
static constexpr auto mount = "mount"sv;
- static constexpr auto image = "incfs.img"sv;
static constexpr auto storagePrefix = "st"sv;
static constexpr auto mountpointMdPrefix = ".mountpoint."sv;
static constexpr auto infoMdName = ".info"sv;
@@ -70,7 +71,7 @@ template <base::LogSeverity level = base::ERROR>
bool mkdirOrLog(std::string_view name, int mode = 0770, bool allowExisting = true) {
auto cstr = path::c_str(name);
if (::mkdir(cstr, mode)) {
- if (errno != EEXIST) {
+ if (!allowExisting || errno != EEXIST) {
PLOG(level) << "Can't create directory '" << name << '\'';
return false;
}
@@ -80,6 +81,11 @@ bool mkdirOrLog(std::string_view name, int mode = 0770, bool allowExisting = tru
return false;
}
}
+ if (::chmod(cstr, mode)) {
+ PLOG(level) << "Changing permission failed for '" << name << '\'';
+ return false;
+ }
+
return true;
}
@@ -106,7 +112,7 @@ static std::pair<std::string, std::string> makeMountDir(std::string_view increme
for (int counter = 0; counter < 1000;
mountKey.resize(prefixSize), base::StringAppendF(&mountKey, "%d", counter++)) {
auto mountRoot = path::join(incrementalDir, mountKey);
- if (mkdirOrLog(mountRoot, 0770, false)) {
+ if (mkdirOrLog(mountRoot, 0777, false)) {
return {mountKey, mountRoot};
}
}
@@ -116,11 +122,7 @@ static std::pair<std::string, std::string> makeMountDir(std::string_view increme
template <class ProtoMessage, class Control>
static ProtoMessage parseFromIncfs(const IncFsWrapper* incfs, Control&& control,
std::string_view path) {
- struct stat st;
- if (::stat(path::c_str(path), &st)) {
- return {};
- }
- auto md = incfs->getMetadata(control, st.st_ino);
+ auto md = incfs->getMetadata(control, path);
ProtoMessage message;
return message.ParseFromArray(md.data(), md.size()) ? message : ProtoMessage{};
}
@@ -161,35 +163,66 @@ IncrementalService::IncFsMount::~IncFsMount() {
}
auto IncrementalService::IncFsMount::makeStorage(StorageId id) -> StorageMap::iterator {
- metadata::Storage st;
- st.set_id(id);
- auto metadata = st.SerializeAsString();
-
std::string name;
for (int no = nextStorageDirNo.fetch_add(1, std::memory_order_relaxed), i = 0;
i < 1024 && no >= 0; no = nextStorageDirNo.fetch_add(1, std::memory_order_relaxed), ++i) {
name.clear();
- base::StringAppendF(&name, "%.*s%d", int(constants().storagePrefix.size()),
- constants().storagePrefix.data(), no);
- if (auto node =
- incrementalService.mIncFs->makeDir(control, name, INCFS_ROOT_INODE, metadata);
- node >= 0) {
+ base::StringAppendF(&name, "%.*s_%d_%d", int(constants().storagePrefix.size()),
+ constants().storagePrefix.data(), id, no);
+ auto fullName = path::join(root, constants().mount, name);
+ if (auto err = incrementalService.mIncFs->makeDir(control, fullName, 0755); !err) {
std::lock_guard l(lock);
- return storages.insert_or_assign(id, Storage{std::move(name), node}).first;
+ return storages.insert_or_assign(id, Storage{std::move(fullName)}).first;
+ } else if (err != EEXIST) {
+ LOG(ERROR) << __func__ << "(): failed to create dir |" << fullName << "| " << err;
+ break;
}
}
nextStorageDirNo = 0;
return storages.end();
}
+static std::unique_ptr<DIR, decltype(&::closedir)> openDir(const char* path) {
+ return {::opendir(path), ::closedir};
+}
+
+static int rmDirContent(const char* path) {
+ auto dir = openDir(path);
+ if (!dir) {
+ return -EINVAL;
+ }
+ while (auto entry = ::readdir(dir.get())) {
+ if (entry->d_name == "."sv || entry->d_name == ".."sv) {
+ continue;
+ }
+ auto fullPath = android::base::StringPrintf("%s/%s", path, entry->d_name);
+ if (entry->d_type == DT_DIR) {
+ if (const auto err = rmDirContent(fullPath.c_str()); err != 0) {
+ PLOG(WARNING) << "Failed to delete " << fullPath << " content";
+ return err;
+ }
+ if (const auto err = ::rmdir(fullPath.c_str()); err != 0) {
+ PLOG(WARNING) << "Failed to rmdir " << fullPath;
+ return err;
+ }
+ } else {
+ if (const auto err = ::unlink(fullPath.c_str()); err != 0) {
+ PLOG(WARNING) << "Failed to delete " << fullPath;
+ return err;
+ }
+ }
+ }
+ return 0;
+}
+
void IncrementalService::IncFsMount::cleanupFilesystem(std::string_view root) {
- ::unlink(path::join(root, constants().backing, constants().image).c_str());
+ rmDirContent(path::join(root, constants().backing).c_str());
::rmdir(path::join(root, constants().backing).c_str());
::rmdir(path::join(root, constants().mount).c_str());
::rmdir(path::c_str(root));
}
-IncrementalService::IncrementalService(const ServiceManagerWrapper& sm, std::string_view rootDir)
+IncrementalService::IncrementalService(ServiceManagerWrapper&& sm, std::string_view rootDir)
: mVold(sm.getVoldService()),
mIncrementalManager(sm.getIncrementalManager()),
mIncFs(sm.getIncFs()),
@@ -205,8 +238,87 @@ IncrementalService::IncrementalService(const ServiceManagerWrapper& sm, std::str
// mountExistingImages();
}
+FileId IncrementalService::idFromMetadata(std::span<const uint8_t> metadata) {
+ incfs::FileId id = {};
+ if (size_t(metadata.size()) <= sizeof(id)) {
+ memcpy(&id, metadata.data(), metadata.size());
+ } else {
+ uint8_t buffer[SHA_DIGEST_LENGTH];
+ static_assert(sizeof(buffer) >= sizeof(id));
+
+ SHA_CTX ctx;
+ SHA1_Init(&ctx);
+ SHA1_Update(&ctx, metadata.data(), metadata.size());
+ SHA1_Final(buffer, &ctx);
+ memcpy(&id, buffer, sizeof(id));
+ }
+ return id;
+}
+
IncrementalService::~IncrementalService() = default;
+inline const char* toString(TimePoint t) {
+ using SystemClock = std::chrono::system_clock;
+ time_t time = SystemClock::to_time_t(SystemClock::now() + std::chrono::duration_cast<SystemClock::duration>(t - Clock::now()));
+ return std::ctime(&time);
+}
+
+inline const char* toString(IncrementalService::BindKind kind) {
+ switch (kind) {
+ case IncrementalService::BindKind::Temporary:
+ return "Temporary";
+ case IncrementalService::BindKind::Permanent:
+ return "Permanent";
+ }
+}
+
+void IncrementalService::onDump(int fd) {
+ dprintf(fd, "Incremental is %s\n", incfs::enabled() ? "ENABLED" : "DISABLED");
+ dprintf(fd, "Incremental dir: %s\n", mIncrementalDir.c_str());
+
+ std::unique_lock l(mLock);
+
+ dprintf(fd, "Mounts (%d):\n", int(mMounts.size()));
+ for (auto&& [id, ifs] : mMounts) {
+ const IncFsMount& mnt = *ifs.get();
+ dprintf(fd, "\t[%d]:\n", id);
+ dprintf(fd, "\t\tmountId: %d\n", mnt.mountId);
+ dprintf(fd, "\t\tnextStorageDirNo: %d\n", mnt.nextStorageDirNo.load());
+ dprintf(fd, "\t\tdataLoaderStatus: %d\n", mnt.dataLoaderStatus.load());
+ dprintf(fd, "\t\tconnectionLostTime: %s\n", toString(mnt.connectionLostTime));
+ if (mnt.savedDataLoaderParams) {
+ const auto& params = mnt.savedDataLoaderParams.value();
+ dprintf(fd, "\t\tsavedDataLoaderParams:\n");
+ dprintf(fd, "\t\t\ttype: %s\n", toString(params.type).c_str());
+ dprintf(fd, "\t\t\tpackageName: %s\n", params.packageName.c_str());
+ dprintf(fd, "\t\t\tclassName: %s\n", params.className.c_str());
+ dprintf(fd, "\t\t\targuments: %s\n", params.arguments.c_str());
+ dprintf(fd, "\t\t\tdynamicArgs: %d\n", int(params.dynamicArgs.size()));
+ }
+ dprintf(fd, "\t\tstorages (%d):\n", int(mnt.storages.size()));
+ for (auto&& [storageId, storage] : mnt.storages) {
+ dprintf(fd, "\t\t\t[%d] -> [%s]\n", storageId, storage.name.c_str());
+ }
+
+ dprintf(fd, "\t\tbindPoints (%d):\n", int(mnt.bindPoints.size()));
+ for (auto&& [target, bind] : mnt.bindPoints) {
+ dprintf(fd, "\t\t\t[%s]->[%d]:\n", target.c_str(), bind.storage);
+ dprintf(fd, "\t\t\t\tsavedFilename: %s\n", bind.savedFilename.c_str());
+ dprintf(fd, "\t\t\t\tsourceDir: %s\n", bind.sourceDir.c_str());
+ dprintf(fd, "\t\t\t\tkind: %s\n", toString(bind.kind));
+ }
+ }
+
+ dprintf(fd, "Sorted binds (%d):\n", int(mBindsByPath.size()));
+ for (auto&& [target, mountPairIt] : mBindsByPath) {
+ const auto& bind = mountPairIt->second;
+ dprintf(fd, "\t\t[%s]->[%d]:\n", target.c_str(), bind.storage);
+ dprintf(fd, "\t\t\tsavedFilename: %s\n", bind.savedFilename.c_str());
+ dprintf(fd, "\t\t\tsourceDir: %s\n", bind.sourceDir.c_str());
+ dprintf(fd, "\t\t\tkind: %s\n", toString(bind.kind));
+ }
+}
+
std::optional<std::future<void>> IncrementalService::onSystemReady() {
std::promise<void> threadFinished;
if (mSystemReady.exchange(true)) {
@@ -300,26 +412,36 @@ StorageId IncrementalService::createStorage(std::string_view mountPoint,
std::unique_ptr<std::string, decltype(firstCleanup)>(&mountRoot, firstCleanup);
auto mountTarget = path::join(mountRoot, constants().mount);
- if (!mkdirOrLog(path::join(mountRoot, constants().backing)) || !mkdirOrLog(mountTarget)) {
+ const auto backing = path::join(mountRoot, constants().backing);
+ if (!mkdirOrLog(backing, 0777) || !mkdirOrLog(mountTarget)) {
return kInvalidStorageId;
}
- const auto image = path::join(mountRoot, constants().backing, constants().image);
IncFsMount::Control control;
{
std::lock_guard l(mMountOperationLock);
IncrementalFileSystemControlParcel controlParcel;
- auto status = mVold->mountIncFs(image, mountTarget, incfs::truncate, &controlParcel);
+
+ if (auto err = rmDirContent(backing.c_str())) {
+ LOG(ERROR) << "Coudn't clean the backing directory " << backing << ": " << err;
+ return kInvalidStorageId;
+ }
+ if (!mkdirOrLog(path::join(backing, ".index"), 0777)) {
+ return kInvalidStorageId;
+ }
+ auto status = mVold->mountIncFs(backing, mountTarget, 0, &controlParcel);
if (!status.isOk()) {
LOG(ERROR) << "Vold::mountIncFs() failed: " << status.toString8();
return kInvalidStorageId;
}
- if (!controlParcel.cmd || !controlParcel.log) {
+ if (controlParcel.cmd.get() < 0 || controlParcel.pendingReads.get() < 0 ||
+ controlParcel.log.get() < 0) {
LOG(ERROR) << "Vold::mountIncFs() returned invalid control parcel.";
return kInvalidStorageId;
}
- control.cmdFd = controlParcel.cmd->release();
- control.logFd = controlParcel.log->release();
+ control.cmd = controlParcel.cmd.release().release();
+ control.pendingReads = controlParcel.pendingReads.release().release();
+ control.logs = controlParcel.log.release().release();
}
std::unique_lock l(mLock);
@@ -344,7 +466,7 @@ StorageId IncrementalService::createStorage(std::string_view mountPoint,
const auto storageIt = ifs->makeStorage(ifs->mountId);
if (storageIt == ifs->storages.end()) {
- LOG(ERROR) << "Can't create default storage directory";
+ LOG(ERROR) << "Can't create a default storage directory";
return kInvalidStorageId;
}
@@ -359,9 +481,12 @@ StorageId IncrementalService::createStorage(std::string_view mountPoint,
m.mutable_loader()->release_arguments();
m.mutable_loader()->release_class_name();
m.mutable_loader()->release_package_name();
- if (auto err = mIncFs->makeFile(ifs->control, constants().infoMdName, INCFS_ROOT_INODE, 0,
- metadata);
- err < 0) {
+ if (auto err =
+ mIncFs->makeFile(ifs->control,
+ path::join(ifs->root, constants().mount,
+ constants().infoMdName),
+ 0777, idFromMetadata(metadata),
+ {.metadata = {metadata.data(), (IncFsSize)metadata.size()}})) {
LOG(ERROR) << "Saving mount metadata failed: " << -err;
return kInvalidStorageId;
}
@@ -369,8 +494,8 @@ StorageId IncrementalService::createStorage(std::string_view mountPoint,
const auto bk =
(options & CreateOptions::PermanentBind) ? BindKind::Permanent : BindKind::Temporary;
- if (auto err = addBindMount(*ifs, storageIt->first, std::string(storageIt->second.name),
- std::move(mountNorm), bk, l);
+ if (auto err = addBindMount(*ifs, storageIt->first, storageIt->second.name,
+ std::string(storageIt->second.name), std::move(mountNorm), bk, l);
err < 0) {
LOG(ERROR) << "adding bind mount failed: " << -err;
return kInvalidStorageId;
@@ -419,8 +544,9 @@ StorageId IncrementalService::createLinkedStorage(std::string_view mountPoint,
const auto bk =
(options & CreateOptions::PermanentBind) ? BindKind::Permanent : BindKind::Temporary;
- if (auto err = addBindMount(*ifs, storageIt->first, std::string(storageIt->second.name),
- path::normalize(mountPoint), bk, l);
+ if (auto err = addBindMount(*ifs, storageIt->first, storageIt->second.name,
+ std::string(storageIt->second.name), path::normalize(mountPoint),
+ bk, l);
err < 0) {
LOG(ERROR) << "bindMount failed with error: " << err;
return kInvalidStorageId;
@@ -492,40 +618,36 @@ StorageId IncrementalService::openStorage(std::string_view pathInMount) {
return findStorageId(path::normalize(pathInMount));
}
-Inode IncrementalService::nodeFor(StorageId storage, std::string_view subpath) const {
+FileId IncrementalService::nodeFor(StorageId storage, std::string_view subpath) const {
const auto ifs = getIfs(storage);
if (!ifs) {
- return -1;
+ return kIncFsInvalidFileId;
}
std::unique_lock l(ifs->lock);
auto storageIt = ifs->storages.find(storage);
if (storageIt == ifs->storages.end()) {
- return -1;
+ return kIncFsInvalidFileId;
}
if (subpath.empty() || subpath == "."sv) {
- return storageIt->second.node;
+ return kIncFsInvalidFileId;
}
auto path = path::join(ifs->root, constants().mount, storageIt->second.name, subpath);
l.unlock();
- struct stat st;
- if (::stat(path.c_str(), &st)) {
- return -1;
- }
- return st.st_ino;
+ return mIncFs->getFileId(ifs->control, path);
}
-std::pair<Inode, std::string_view> IncrementalService::parentAndNameFor(
+std::pair<FileId, std::string_view> IncrementalService::parentAndNameFor(
StorageId storage, std::string_view subpath) const {
auto name = path::basename(subpath);
if (name.empty()) {
- return {-1, {}};
+ return {kIncFsInvalidFileId, {}};
}
auto dir = path::dirname(subpath);
if (dir.empty() || dir == "/"sv) {
- return {-1, {}};
+ return {kIncFsInvalidFileId, {}};
}
- auto inode = nodeFor(storage, dir);
- return {inode, name};
+ auto id = nodeFor(storage, dir);
+ return {id, name};
}
IncrementalService::IfsMountPtr IncrementalService::getIfs(StorageId storage) const {
@@ -542,8 +664,8 @@ const IncrementalService::IfsMountPtr& IncrementalService::getIfsLocked(StorageI
return it->second;
}
-int IncrementalService::bind(StorageId storage, std::string_view sourceSubdir,
- std::string_view target, BindKind kind) {
+int IncrementalService::bind(StorageId storage, std::string_view source, std::string_view target,
+ BindKind kind) {
if (!isValidMountTarget(target)) {
return -EINVAL;
}
@@ -552,15 +674,17 @@ int IncrementalService::bind(StorageId storage, std::string_view sourceSubdir,
if (!ifs) {
return -EINVAL;
}
+
std::unique_lock l(ifs->lock);
const auto storageInfo = ifs->storages.find(storage);
if (storageInfo == ifs->storages.end()) {
return -EINVAL;
}
- auto source = path::join(storageInfo->second.name, sourceSubdir);
+ std::string normSource = normalizePathToStorage(ifs, storage, source);
l.unlock();
std::unique_lock l2(mLock, std::defer_lock);
- return addBindMount(*ifs, storage, std::move(source), path::normalize(target), kind, l2);
+ return addBindMount(*ifs, storage, storageInfo->second.name, std::move(normSource),
+ path::normalize(target), kind, l2);
}
int IncrementalService::unbind(StorageId storage, std::string_view target) {
@@ -599,90 +723,107 @@ int IncrementalService::unbind(StorageId storage, std::string_view target) {
ifs->bindPoints.erase(bindIt);
l2.unlock();
if (!savedFile.empty()) {
- mIncFs->unlink(ifs->control, INCFS_ROOT_INODE, savedFile);
+ mIncFs->unlink(ifs->control, path::join(ifs->root, constants().mount, savedFile));
}
}
return 0;
}
-Inode IncrementalService::makeFile(StorageId storageId, std::string_view pathUnderStorage,
- long size, std::string_view metadata,
- std::string_view signature) {
- (void)signature;
- auto [parentInode, name] = parentAndNameFor(storageId, pathUnderStorage);
- if (parentInode < 0) {
- return -EINVAL;
+std::string IncrementalService::normalizePathToStorage(const IncrementalService::IfsMountPtr ifs,
+ StorageId storage, std::string_view path) {
+ const auto storageInfo = ifs->storages.find(storage);
+ if (storageInfo == ifs->storages.end()) {
+ return {};
}
- if (auto ifs = getIfs(storageId)) {
- auto inode = mIncFs->makeFile(ifs->control, name, parentInode, size, metadata);
- if (inode < 0) {
- return inode;
+ std::string normPath;
+ if (path::isAbsolute(path)) {
+ normPath = path::normalize(path);
+ } else {
+ normPath = path::normalize(path::join(storageInfo->second.name, path));
+ }
+ if (!path::startsWith(normPath, storageInfo->second.name)) {
+ return {};
+ }
+ return normPath;
+}
+
+int IncrementalService::makeFile(StorageId storage, std::string_view path, int mode, FileId id,
+ incfs::NewFileParams params) {
+ if (auto ifs = getIfs(storage)) {
+ std::string normPath = normalizePathToStorage(ifs, storage, path);
+ if (normPath.empty()) {
+ return -EINVAL;
+ }
+ auto err = mIncFs->makeFile(ifs->control, normPath, mode, id, params);
+ if (err) {
+ return err;
}
- auto metadataBytes = std::vector<uint8_t>();
- if (metadata.data() != nullptr && metadata.size() > 0) {
- metadataBytes.insert(metadataBytes.end(), &metadata.data()[0],
- &metadata.data()[metadata.size()]);
+ std::vector<uint8_t> metadataBytes;
+ if (params.metadata.data && params.metadata.size > 0) {
+ metadataBytes.assign(params.metadata.data, params.metadata.data + params.metadata.size);
}
- mIncrementalManager->newFileForDataLoader(ifs->mountId, inode, metadataBytes);
- return inode;
+ mIncrementalManager->newFileForDataLoader(ifs->mountId, id, metadataBytes);
+ return 0;
}
return -EINVAL;
}
-Inode IncrementalService::makeDir(StorageId storageId, std::string_view pathUnderStorage,
- std::string_view metadata) {
- auto [parentInode, name] = parentAndNameFor(storageId, pathUnderStorage);
- if (parentInode < 0) {
- return -EINVAL;
- }
+int IncrementalService::makeDir(StorageId storageId, std::string_view path, int mode) {
if (auto ifs = getIfs(storageId)) {
- return mIncFs->makeDir(ifs->control, name, parentInode, metadata);
+ std::string normPath = normalizePathToStorage(ifs, storageId, path);
+ if (normPath.empty()) {
+ return -EINVAL;
+ }
+ return mIncFs->makeDir(ifs->control, normPath, mode);
}
return -EINVAL;
}
-Inode IncrementalService::makeDirs(StorageId storageId, std::string_view pathUnderStorage,
- std::string_view metadata) {
+int IncrementalService::makeDirs(StorageId storageId, std::string_view path, int mode) {
const auto ifs = getIfs(storageId);
if (!ifs) {
return -EINVAL;
}
- std::string_view parentDir(pathUnderStorage);
- auto p = parentAndNameFor(storageId, pathUnderStorage);
- std::stack<std::string> pathsToCreate;
- while (p.first < 0) {
- parentDir = path::dirname(parentDir);
- pathsToCreate.emplace(parentDir);
- p = parentAndNameFor(storageId, parentDir);
- }
- Inode inode;
- while (!pathsToCreate.empty()) {
- p = parentAndNameFor(storageId, pathsToCreate.top());
- pathsToCreate.pop();
- inode = mIncFs->makeDir(ifs->control, p.second, p.first, metadata);
- if (inode < 0) {
- return inode;
- }
+ std::string normPath = normalizePathToStorage(ifs, storageId, path);
+ if (normPath.empty()) {
+ return -EINVAL;
+ }
+ auto err = mIncFs->makeDir(ifs->control, normPath, mode);
+ if (err == -EEXIST) {
+ return 0;
+ } else if (err != -ENOENT) {
+ return err;
}
- return mIncFs->makeDir(ifs->control, path::basename(pathUnderStorage), inode, metadata);
+ if (auto err = makeDirs(storageId, path::dirname(normPath), mode)) {
+ return err;
+ }
+ return mIncFs->makeDir(ifs->control, normPath, mode);
}
-int IncrementalService::link(StorageId storage, Inode item, Inode newParent,
- std::string_view newName) {
- if (auto ifs = getIfs(storage)) {
- return mIncFs->link(ifs->control, item, newParent, newName);
+int IncrementalService::link(StorageId sourceStorageId, std::string_view oldPath,
+ StorageId destStorageId, std::string_view newPath) {
+ if (auto ifsSrc = getIfs(sourceStorageId), ifsDest = getIfs(destStorageId);
+ ifsSrc && ifsSrc == ifsDest) {
+ std::string normOldPath = normalizePathToStorage(ifsSrc, sourceStorageId, oldPath);
+ std::string normNewPath = normalizePathToStorage(ifsDest, destStorageId, newPath);
+ if (normOldPath.empty() || normNewPath.empty()) {
+ return -EINVAL;
+ }
+ return mIncFs->link(ifsSrc->control, normOldPath, normNewPath);
}
return -EINVAL;
}
-int IncrementalService::unlink(StorageId storage, Inode parent, std::string_view name) {
+int IncrementalService::unlink(StorageId storage, std::string_view path) {
if (auto ifs = getIfs(storage)) {
- return mIncFs->unlink(ifs->control, parent, name);
+ std::string normOldPath = normalizePathToStorage(ifs, storage, path);
+ return mIncFs->unlink(ifs->control, normOldPath);
}
return -EINVAL;
}
-int IncrementalService::addBindMount(IncFsMount& ifs, StorageId storage, std::string&& sourceSubdir,
+int IncrementalService::addBindMount(IncFsMount& ifs, StorageId storage,
+ std::string_view storageRoot, std::string&& source,
std::string&& target, BindKind kind,
std::unique_lock<std::mutex>& mainLock) {
if (!isValidMountTarget(target)) {
@@ -694,30 +835,30 @@ int IncrementalService::addBindMount(IncFsMount& ifs, StorageId storage, std::st
metadata::BindPoint bp;
bp.set_storage_id(storage);
bp.set_allocated_dest_path(&target);
- bp.set_allocated_source_subdir(&sourceSubdir);
+ bp.set_source_subdir(std::string(path::relativize(storageRoot, source)));
const auto metadata = bp.SerializeAsString();
- bp.release_source_subdir();
bp.release_dest_path();
mdFileName = makeBindMdName();
- auto node = mIncFs->makeFile(ifs.control, mdFileName, INCFS_ROOT_INODE, 0, metadata);
- if (node < 0) {
+ auto node =
+ mIncFs->makeFile(ifs.control, path::join(ifs.root, constants().mount, mdFileName),
+ 0444, idFromMetadata(metadata),
+ {.metadata = {metadata.data(), (IncFsSize)metadata.size()}});
+ if (node) {
return int(node);
}
}
- return addBindMountWithMd(ifs, storage, std::move(mdFileName), std::move(sourceSubdir),
+ return addBindMountWithMd(ifs, storage, std::move(mdFileName), std::move(source),
std::move(target), kind, mainLock);
}
int IncrementalService::addBindMountWithMd(IncrementalService::IncFsMount& ifs, StorageId storage,
- std::string&& metadataName, std::string&& sourceSubdir,
+ std::string&& metadataName, std::string&& source,
std::string&& target, BindKind kind,
std::unique_lock<std::mutex>& mainLock) {
- LOG(INFO) << "Adding bind mount: " << sourceSubdir << " -> " << target;
{
- auto path = path::join(ifs.root, constants().mount, sourceSubdir);
std::lock_guard l(mMountOperationLock);
- const auto status = mVold->bindMount(path, target);
+ const auto status = mVold->bindMount(source, target);
if (!status.isOk()) {
LOG(ERROR) << "Calling Vold::bindMount() failed: " << status.toString8();
return status.exceptionCode() == binder::Status::EX_SERVICE_SPECIFIC
@@ -736,12 +877,12 @@ int IncrementalService::addBindMountWithMd(IncrementalService::IncFsMount& ifs,
const auto [it, _] =
ifs.bindPoints.insert_or_assign(target,
IncFsMount::Bind{storage, std::move(metadataName),
- std::move(sourceSubdir), kind});
+ std::move(source), kind});
mBindsByPath[std::move(target)] = it;
return 0;
}
-RawMetadata IncrementalService::getMetadata(StorageId storage, Inode node) const {
+RawMetadata IncrementalService::getMetadata(StorageId storage, FileId node) const {
const auto ifs = getIfs(storage);
if (!ifs) {
return {};
@@ -831,21 +972,18 @@ bool IncrementalService::mountExistingImage(std::string_view root, std::string_v
LOG(INFO) << "Trying to mount: " << key;
auto mountTarget = path::join(root, constants().mount);
- const auto image = path::join(root, constants().backing, constants().image);
+ const auto backing = path::join(root, constants().backing);
IncFsMount::Control control;
IncrementalFileSystemControlParcel controlParcel;
- auto status = mVold->mountIncFs(image, mountTarget, 0, &controlParcel);
+ auto status = mVold->mountIncFs(backing, mountTarget, 0, &controlParcel);
if (!status.isOk()) {
LOG(ERROR) << "Vold::mountIncFs() failed: " << status.toString8();
return false;
}
- if (controlParcel.cmd) {
- control.cmdFd = controlParcel.cmd->release();
- }
- if (controlParcel.log) {
- control.logFd = controlParcel.log->release();
- }
+ control.cmd = controlParcel.cmd.release().release();
+ control.pendingReads = controlParcel.pendingReads.release().release();
+ control.logs = controlParcel.log.release().release();
auto ifs = std::make_shared<IncFsMount>(std::string(root), -1, std::move(control), *this);
@@ -860,8 +998,7 @@ bool IncrementalService::mountExistingImage(std::string_view root, std::string_v
mNextId = std::max(mNextId, ifs->mountId + 1);
std::vector<std::pair<std::string, metadata::BindPoint>> bindPoints;
- auto d = std::unique_ptr<DIR, decltype(&::closedir)>(::opendir(path::c_str(mountTarget)),
- ::closedir);
+ auto d = openDir(path::c_str(mountTarget));
while (auto e = ::readdir(d.get())) {
if (e->d_type == DT_REG) {
auto name = std::string_view(e->d_name);
@@ -874,7 +1011,7 @@ bool IncrementalService::mountExistingImage(std::string_view root, std::string_v
if (bindPoints.back().second.dest_path().empty() ||
bindPoints.back().second.source_subdir().empty()) {
bindPoints.pop_back();
- mIncFs->unlink(ifs->control, INCFS_ROOT_INODE, name);
+ mIncFs->unlink(ifs->control, path::join(ifs->root, constants().mount, name));
}
}
} else if (e->d_type == DT_DIR) {
@@ -891,9 +1028,7 @@ bool IncrementalService::mountExistingImage(std::string_view root, std::string_v
<< " for mount " << root;
continue;
}
- ifs->storages.insert_or_assign(md.id(),
- IncFsMount::Storage{std::string(name),
- Inode(e->d_ino)});
+ ifs->storages.insert_or_assign(md.id(), IncFsMount::Storage{std::string(name)});
mNextId = std::max(mNextId, md.id() + 1);
}
}
@@ -973,10 +1108,10 @@ bool IncrementalService::prepareDataLoader(IncrementalService::IncFsMount& ifs,
}
FileSystemControlParcel fsControlParcel;
fsControlParcel.incremental = std::make_unique<IncrementalFileSystemControlParcel>();
- fsControlParcel.incremental->cmd =
- std::make_unique<os::ParcelFileDescriptor>(base::unique_fd(::dup(ifs.control.cmdFd)));
- fsControlParcel.incremental->log =
- std::make_unique<os::ParcelFileDescriptor>(base::unique_fd(::dup(ifs.control.logFd)));
+ fsControlParcel.incremental->cmd.reset(base::unique_fd(::dup(ifs.control.cmd)));
+ fsControlParcel.incremental->pendingReads.reset(
+ base::unique_fd(::dup(ifs.control.pendingReads)));
+ fsControlParcel.incremental->log.reset(base::unique_fd(::dup(ifs.control.logs)));
sp<IncrementalDataLoaderListener> listener = new IncrementalDataLoaderListener(*this);
bool created = false;
auto status = mIncrementalManager->prepareDataLoader(ifs.mountId, fsControlParcel, *dlp,
diff --git a/services/incremental/IncrementalService.h b/services/incremental/IncrementalService.h
index a03ffa00d035..dec9f64f2084 100644
--- a/services/incremental/IncrementalService.h
+++ b/services/incremental/IncrementalService.h
@@ -18,8 +18,8 @@
#include <android-base/strings.h>
#include <android-base/unique_fd.h>
-#include <android/os/incremental/IIncrementalManager.h>
#include <android/content/pm/DataLoaderParamsParcel.h>
+#include <android/os/incremental/IIncrementalManager.h>
#include <binder/IServiceManager.h>
#include <utils/String16.h>
#include <utils/StrongPointer.h>
@@ -52,16 +52,16 @@ namespace android::incremental {
using MountId = int;
using StorageId = int;
-using Inode = incfs::Inode;
+using FileId = incfs::FileId;
using BlockIndex = incfs::BlockIndex;
using RawMetadata = incfs::RawMetadata;
using Clock = std::chrono::steady_clock;
using TimePoint = std::chrono::time_point<Clock>;
using Seconds = std::chrono::seconds;
-class IncrementalService {
+class IncrementalService final {
public:
- explicit IncrementalService(const ServiceManagerWrapper& sm, std::string_view rootDir);
+ explicit IncrementalService(ServiceManagerWrapper&& sm, std::string_view rootDir);
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
@@ -85,37 +85,44 @@ public:
Permanent = 1,
};
+ static FileId idFromMetadata(std::span<const uint8_t> metadata);
+ static inline FileId idFromMetadata(std::span<const char> metadata) {
+ return idFromMetadata({(const uint8_t*)metadata.data(), metadata.size()});
+ }
+
+ void onDump(int fd);
+
std::optional<std::future<void>> onSystemReady();
- StorageId createStorage(std::string_view mountPoint,
- DataLoaderParamsParcel&& dataLoaderParams,
+ StorageId createStorage(std::string_view mountPoint, DataLoaderParamsParcel&& dataLoaderParams,
CreateOptions options = CreateOptions::Default);
StorageId createLinkedStorage(std::string_view mountPoint, StorageId linkedStorage,
CreateOptions options = CreateOptions::Default);
- StorageId openStorage(std::string_view pathInMount);
+ StorageId openStorage(std::string_view path);
- Inode nodeFor(StorageId storage, std::string_view subpath) const;
- std::pair<Inode, std::string_view> parentAndNameFor(StorageId storage,
- std::string_view subpath) const;
+ FileId nodeFor(StorageId storage, std::string_view path) const;
+ std::pair<FileId, std::string_view> parentAndNameFor(StorageId storage,
+ std::string_view path) const;
- int bind(StorageId storage, std::string_view subdir, std::string_view target, BindKind kind);
+ int bind(StorageId storage, std::string_view source, std::string_view target, BindKind kind);
int unbind(StorageId storage, std::string_view target);
void deleteStorage(StorageId storage);
- Inode makeFile(StorageId storage, std::string_view name, long size, std::string_view metadata,
- std::string_view signature);
- Inode makeDir(StorageId storage, std::string_view name, std::string_view metadata = {});
- Inode makeDirs(StorageId storage, std::string_view name, std::string_view metadata = {});
+ int makeFile(StorageId storage, std::string_view path, int mode, FileId id,
+ incfs::NewFileParams params);
+ int makeDir(StorageId storage, std::string_view path, int mode = 0755);
+ int makeDirs(StorageId storage, std::string_view path, int mode = 0755);
- int link(StorageId storage, Inode item, Inode newParent, std::string_view newName);
- int unlink(StorageId storage, Inode parent, std::string_view name);
+ int link(StorageId sourceStorageId, std::string_view oldPath, StorageId destStorageId,
+ std::string_view newPath);
+ int unlink(StorageId storage, std::string_view path);
- bool isRangeLoaded(StorageId storage, Inode file, std::pair<BlockIndex, BlockIndex> range) {
+ bool isRangeLoaded(StorageId storage, FileId file, std::pair<BlockIndex, BlockIndex> range) {
return false;
}
- RawMetadata getMetadata(StorageId storage, Inode node) const;
- std::string getSigngatureData(StorageId storage, Inode node) const { return {}; }
+ RawMetadata getMetadata(StorageId storage, FileId node) const;
+ std::string getSignatureData(StorageId storage, FileId node) const;
std::vector<std::string> listFiles(StorageId storage) const;
bool startLoading(StorageId storage) const;
@@ -142,19 +149,9 @@ private:
struct Storage {
std::string name;
- Inode node;
};
- struct Control {
- operator IncFsControl() const { return {cmdFd, logFd}; }
- void reset() {
- cmdFd.reset();
- logFd.reset();
- }
-
- base::unique_fd cmdFd;
- base::unique_fd logFd;
- };
+ using Control = incfs::UniqueControl;
using BindMap = std::map<std::string, Bind>;
using StorageMap = std::unordered_map<StorageId, Storage>;
@@ -196,11 +193,12 @@ private:
IfsMountPtr getIfs(StorageId storage) const;
const IfsMountPtr& getIfsLocked(StorageId storage) const;
- int addBindMount(IncFsMount& ifs, StorageId storage, std::string&& sourceSubdir,
- std::string&& target, BindKind kind, std::unique_lock<std::mutex>& mainLock);
+ int addBindMount(IncFsMount& ifs, StorageId storage, std::string_view storageRoot,
+ std::string&& source, std::string&& target, BindKind kind,
+ std::unique_lock<std::mutex>& mainLock);
int addBindMountWithMd(IncFsMount& ifs, StorageId storage, std::string&& metadataName,
- std::string&& sourceSubdir, std::string&& target, BindKind kind,
+ std::string&& source, std::string&& target, BindKind kind,
std::unique_lock<std::mutex>& mainLock);
bool prepareDataLoader(IncFsMount& ifs, DataLoaderParamsParcel* params);
@@ -210,12 +208,13 @@ private:
void deleteStorage(IncFsMount& ifs);
void deleteStorageLocked(IncFsMount& ifs, std::unique_lock<std::mutex>&& ifsLock);
MountMap::iterator getStorageSlotLocked();
+ std::string normalizePathToStorage(const IfsMountPtr incfs, StorageId storage,
+ std::string_view path);
// Member variables
- // These are shared pointers for the sake of unit testing
- std::shared_ptr<VoldServiceWrapper> mVold;
- std::shared_ptr<IncrementalManagerWrapper> mIncrementalManager;
- std::shared_ptr<IncFsWrapper> mIncFs;
+ std::unique_ptr<VoldServiceWrapper> mVold;
+ std::unique_ptr<IncrementalManagerWrapper> mIncrementalManager;
+ std::unique_ptr<IncFsWrapper> mIncFs;
const std::string mIncrementalDir;
mutable std::mutex mLock;
diff --git a/services/incremental/ServiceWrappers.cpp b/services/incremental/ServiceWrappers.cpp
index a79b26ae4fb3..5d978a1cf741 100644
--- a/services/incremental/ServiceWrappers.cpp
+++ b/services/incremental/ServiceWrappers.cpp
@@ -16,14 +16,8 @@
#include "ServiceWrappers.h"
-#include <android-base/strings.h>
-#include <android-base/unique_fd.h>
-#include <binder/IServiceManager.h>
#include <utils/String16.h>
-#include <string>
-#include <string_view>
-
using namespace std::literals;
namespace android::os::incremental {
@@ -31,37 +25,38 @@ namespace android::os::incremental {
static constexpr auto kVoldServiceName = "vold"sv;
static constexpr auto kIncrementalManagerName = "incremental"sv;
-RealServiceManager::RealServiceManager(const sp<IServiceManager>& serviceManager)
- : mServiceManager(serviceManager) {}
+RealServiceManager::RealServiceManager(sp<IServiceManager> serviceManager)
+ : mServiceManager(std::move(serviceManager)) {}
template <class INTERFACE>
sp<INTERFACE> RealServiceManager::getRealService(std::string_view serviceName) const {
- sp<IBinder> binder = mServiceManager->getService(String16(serviceName.data()));
- if (binder == 0) {
- return 0;
+ sp<IBinder> binder =
+ mServiceManager->getService(String16(serviceName.data(), serviceName.size()));
+ if (!binder) {
+ return nullptr;
}
return interface_cast<INTERFACE>(binder);
}
-std::shared_ptr<VoldServiceWrapper> RealServiceManager::getVoldService() const {
+std::unique_ptr<VoldServiceWrapper> RealServiceManager::getVoldService() {
sp<os::IVold> vold = RealServiceManager::getRealService<os::IVold>(kVoldServiceName);
if (vold != 0) {
- return std::make_shared<RealVoldService>(vold);
+ return std::make_unique<RealVoldService>(vold);
}
return nullptr;
}
-std::shared_ptr<IncrementalManagerWrapper> RealServiceManager::getIncrementalManager() const {
+std::unique_ptr<IncrementalManagerWrapper> RealServiceManager::getIncrementalManager() {
sp<IIncrementalManager> manager =
RealServiceManager::getRealService<IIncrementalManager>(kIncrementalManagerName);
- if (manager != 0) {
- return std::make_shared<RealIncrementalManager>(manager);
+ if (manager) {
+ return std::make_unique<RealIncrementalManager>(manager);
}
return nullptr;
}
-std::shared_ptr<IncFsWrapper> RealServiceManager::getIncFs() const {
- return std::make_shared<RealIncFs>();
+std::unique_ptr<IncFsWrapper> RealServiceManager::getIncFs() {
+ return std::make_unique<RealIncFs>();
}
} // namespace android::os::incremental
diff --git a/services/incremental/ServiceWrappers.h b/services/incremental/ServiceWrappers.h
index 570458283ac9..f0b56729e8d7 100644
--- a/services/incremental/ServiceWrappers.h
+++ b/services/incremental/ServiceWrappers.h
@@ -26,6 +26,7 @@
#include <binder/IServiceManager.h>
#include <incfs.h>
+#include <memory>
#include <string>
#include <string_view>
@@ -36,10 +37,12 @@ namespace android::os::incremental {
// --- Wrapper interfaces ---
+using MountId = int32_t;
+
class VoldServiceWrapper {
public:
- virtual ~VoldServiceWrapper(){};
- virtual binder::Status mountIncFs(const std::string& imagePath, const std::string& targetDir,
+ virtual ~VoldServiceWrapper() = default;
+ virtual binder::Status mountIncFs(const std::string& backingPath, const std::string& targetDir,
int32_t flags,
IncrementalFileSystemControlParcel* _aidl_return) const = 0;
virtual binder::Status unmountIncFs(const std::string& dir) const = 0;
@@ -49,52 +52,52 @@ public:
class IncrementalManagerWrapper {
public:
- virtual ~IncrementalManagerWrapper() {}
- virtual binder::Status prepareDataLoader(
- int32_t mountId, const FileSystemControlParcel& control,
- const DataLoaderParamsParcel& params,
- const sp<IDataLoaderStatusListener>& listener,
- bool* _aidl_return) const = 0;
- virtual binder::Status startDataLoader(int32_t mountId, bool* _aidl_return) const = 0;
- virtual binder::Status destroyDataLoader(int32_t mountId) const = 0;
- virtual binder::Status newFileForDataLoader(int32_t mountId, int64_t inode,
- const ::std::vector<uint8_t>& metadata) const = 0;
- virtual binder::Status showHealthBlockedUI(int32_t mountId) const = 0;
+ virtual ~IncrementalManagerWrapper() = default;
+ virtual binder::Status prepareDataLoader(MountId mountId,
+ const FileSystemControlParcel& control,
+ const DataLoaderParamsParcel& params,
+ const sp<IDataLoaderStatusListener>& listener,
+ bool* _aidl_return) const = 0;
+ virtual binder::Status startDataLoader(MountId mountId, bool* _aidl_return) const = 0;
+ virtual binder::Status destroyDataLoader(MountId mountId) const = 0;
+ virtual binder::Status newFileForDataLoader(MountId mountId, FileId fileid,
+ const std::vector<uint8_t>& metadata) const = 0;
+ virtual binder::Status showHealthBlockedUI(MountId mountId) const = 0;
};
class IncFsWrapper {
public:
- virtual ~IncFsWrapper() {}
- virtual Inode makeFile(Control control, std::string_view name, Inode parent, Size size,
- std::string_view metadata) const = 0;
- virtual Inode makeDir(Control control, std::string_view name, Inode parent,
- std::string_view metadata, int mode = 0555) const = 0;
- virtual RawMetadata getMetadata(Control control, Inode inode) const = 0;
- virtual ErrorCode link(Control control, Inode item, Inode targetParent,
- std::string_view name) const = 0;
- virtual ErrorCode unlink(Control control, Inode parent, std::string_view name) const = 0;
- virtual ErrorCode writeBlocks(Control control, const incfs_new_data_block blocks[],
- int blocksCount) const = 0;
+ virtual ~IncFsWrapper() = default;
+ virtual ErrorCode makeFile(Control control, std::string_view path, int mode, FileId id,
+ NewFileParams params) const = 0;
+ virtual ErrorCode makeDir(Control control, std::string_view path, int mode) const = 0;
+ virtual RawMetadata getMetadata(Control control, FileId fileid) const = 0;
+ virtual RawMetadata getMetadata(Control control, std::string_view path) const = 0;
+ virtual FileId getFileId(Control control, std::string_view path) const = 0;
+ virtual ErrorCode link(Control control, std::string_view from, std::string_view to) const = 0;
+ virtual ErrorCode unlink(Control control, std::string_view path) const = 0;
+ virtual base::unique_fd openWrite(Control control, FileId id) const = 0;
+ virtual ErrorCode writeBlocks(std::span<const DataBlock> blocks) const = 0;
};
class ServiceManagerWrapper {
public:
- virtual ~ServiceManagerWrapper() {}
- virtual std::shared_ptr<VoldServiceWrapper> getVoldService() const = 0;
- virtual std::shared_ptr<IncrementalManagerWrapper> getIncrementalManager() const = 0;
- virtual std::shared_ptr<IncFsWrapper> getIncFs() const = 0;
+ virtual ~ServiceManagerWrapper() = default;
+ virtual std::unique_ptr<VoldServiceWrapper> getVoldService() = 0;
+ virtual std::unique_ptr<IncrementalManagerWrapper> getIncrementalManager() = 0;
+ virtual std::unique_ptr<IncFsWrapper> getIncFs() = 0;
};
// --- Real stuff ---
class RealVoldService : public VoldServiceWrapper {
public:
- RealVoldService(const sp<os::IVold> vold) : mInterface(vold) {}
+ RealVoldService(const sp<os::IVold> vold) : mInterface(std::move(vold)) {}
~RealVoldService() = default;
- binder::Status mountIncFs(const std::string& imagePath, const std::string& targetDir,
+ binder::Status mountIncFs(const std::string& backingPath, const std::string& targetDir,
int32_t flags,
IncrementalFileSystemControlParcel* _aidl_return) const override {
- return mInterface->mountIncFs(imagePath, targetDir, flags, _aidl_return);
+ return mInterface->mountIncFs(backingPath, targetDir, flags, _aidl_return);
}
binder::Status unmountIncFs(const std::string& dir) const override {
return mInterface->unmountIncFs(dir);
@@ -113,24 +116,26 @@ public:
RealIncrementalManager(const sp<os::incremental::IIncrementalManager> manager)
: mInterface(manager) {}
~RealIncrementalManager() = default;
- binder::Status prepareDataLoader(
- int32_t mountId, const FileSystemControlParcel& control,
- const DataLoaderParamsParcel& params,
- const sp<IDataLoaderStatusListener>& listener,
- bool* _aidl_return) const override {
+ binder::Status prepareDataLoader(MountId mountId, const FileSystemControlParcel& control,
+ const DataLoaderParamsParcel& params,
+ const sp<IDataLoaderStatusListener>& listener,
+ bool* _aidl_return) const override {
return mInterface->prepareDataLoader(mountId, control, params, listener, _aidl_return);
}
- binder::Status startDataLoader(int32_t mountId, bool* _aidl_return) const override {
+ binder::Status startDataLoader(MountId mountId, bool* _aidl_return) const override {
return mInterface->startDataLoader(mountId, _aidl_return);
}
- binder::Status destroyDataLoader(int32_t mountId) const override {
+ binder::Status destroyDataLoader(MountId mountId) const override {
return mInterface->destroyDataLoader(mountId);
}
- binder::Status newFileForDataLoader(int32_t mountId, int64_t inode,
- const ::std::vector<uint8_t>& metadata) const override {
- return mInterface->newFileForDataLoader(mountId, inode, metadata);
+ binder::Status newFileForDataLoader(MountId mountId, FileId fileid,
+ const std::vector<uint8_t>& metadata) const override {
+ return mInterface->newFileForDataLoader(mountId,
+ {(const uint8_t*)fileid.data,
+ (const uint8_t*)fileid.data + sizeof(fileid.data)},
+ metadata);
}
- binder::Status showHealthBlockedUI(int32_t mountId) const override {
+ binder::Status showHealthBlockedUI(MountId mountId) const override {
return mInterface->showHealthBlockedUI(mountId);
}
@@ -140,11 +145,11 @@ private:
class RealServiceManager : public ServiceManagerWrapper {
public:
- RealServiceManager(const sp<IServiceManager>& serviceManager);
+ RealServiceManager(sp<IServiceManager> serviceManager);
~RealServiceManager() = default;
- std::shared_ptr<VoldServiceWrapper> getVoldService() const override;
- std::shared_ptr<IncrementalManagerWrapper> getIncrementalManager() const override;
- std::shared_ptr<IncFsWrapper> getIncFs() const override;
+ std::unique_ptr<VoldServiceWrapper> getVoldService() override;
+ std::unique_ptr<IncrementalManagerWrapper> getIncrementalManager() override;
+ std::unique_ptr<IncFsWrapper> getIncFs() override;
private:
template <class INTERFACE>
@@ -156,27 +161,33 @@ class RealIncFs : public IncFsWrapper {
public:
RealIncFs() = default;
~RealIncFs() = default;
- Inode makeFile(Control control, std::string_view name, Inode parent, Size size,
- std::string_view metadata) const override {
- return incfs::makeFile(control, name, parent, size, metadata);
+ ErrorCode makeFile(Control control, std::string_view path, int mode, FileId id,
+ NewFileParams params) const override {
+ return incfs::makeFile(control, path, mode, id, params);
+ }
+ ErrorCode makeDir(Control control, std::string_view path, int mode) const override {
+ return incfs::makeDir(control, path, mode);
+ }
+ RawMetadata getMetadata(Control control, FileId fileid) const override {
+ return incfs::getMetadata(control, fileid);
+ }
+ RawMetadata getMetadata(Control control, std::string_view path) const override {
+ return incfs::getMetadata(control, path);
}
- Inode makeDir(Control control, std::string_view name, Inode parent, std::string_view metadata,
- int mode) const override {
- return incfs::makeDir(control, name, parent, metadata, mode);
+ FileId getFileId(Control control, std::string_view path) const override {
+ return incfs::getFileId(control, path);
}
- RawMetadata getMetadata(Control control, Inode inode) const override {
- return incfs::getMetadata(control, inode);
+ ErrorCode link(Control control, std::string_view from, std::string_view to) const override {
+ return incfs::link(control, from, to);
}
- ErrorCode link(Control control, Inode item, Inode targetParent,
- std::string_view name) const override {
- return incfs::link(control, item, targetParent, name);
+ ErrorCode unlink(Control control, std::string_view path) const override {
+ return incfs::unlink(control, path);
}
- ErrorCode unlink(Control control, Inode parent, std::string_view name) const override {
- return incfs::unlink(control, parent, name);
+ base::unique_fd openWrite(Control control, FileId id) const override {
+ return base::unique_fd{incfs::openWrite(control, id)};
}
- ErrorCode writeBlocks(Control control, const incfs_new_data_block blocks[],
- int blocksCount) const override {
- return incfs::writeBlocks(control, blocks, blocksCount);
+ ErrorCode writeBlocks(std::span<const DataBlock> blocks) const override {
+ return incfs::writeBlocks(blocks);
}
};
diff --git a/services/incremental/include/incremental_service.h b/services/incremental/include/incremental_service.h
index 7109d953ba4d..4a34b11261b9 100644
--- a/services/incremental/include/incremental_service.h
+++ b/services/incremental/include/incremental_service.h
@@ -26,6 +26,7 @@ __BEGIN_DECLS
jlong Incremental_IncrementalService_Start();
void Incremental_IncrementalService_OnSystemReady(jlong self);
+void Incremental_IncrementalService_OnDump(jlong self, jint fd);
__END_DECLS
diff --git a/services/incremental/path.cpp b/services/incremental/path.cpp
index c529d61abd15..0d86f2a984d6 100644
--- a/services/incremental/path.cpp
+++ b/services/incremental/path.cpp
@@ -44,16 +44,45 @@ bool PathLess::operator()(std::string_view l, std::string_view r) const {
PathCharsLess());
}
+static void preparePathComponent(std::string_view path, bool trimFront) {
+ if (trimFront) {
+ while (!path.empty() && path.front() == '/') {
+ path.remove_prefix(1);
+ }
+ }
+ while (!path.empty() && path.back() == '/') {
+ path.remove_suffix(1);
+ }
+}
+
void details::append_next_path(std::string& target, std::string_view path) {
+ preparePathComponent(path, true);
if (path.empty()) {
return;
}
- if (!target.empty()) {
+ if (!target.empty() && !target.ends_with('/')) {
target.push_back('/');
}
target += path;
}
+std::string_view relativize(std::string_view parent, std::string_view nested) {
+ if (!nested.starts_with(parent)) {
+ return nested;
+ }
+ if (nested.size() == parent.size()) {
+ return {};
+ }
+ if (nested[parent.size()] != '/') {
+ return nested;
+ }
+ auto relative = nested.substr(parent.size());
+ while (relative.front() == '/') {
+ relative.remove_prefix(1);
+ }
+ return relative;
+}
+
bool isAbsolute(std::string_view path) {
return !path.empty() && path[0] == '/';
}
diff --git a/services/incremental/path.h b/services/incremental/path.h
index a1f4b8ec3093..3e5fd21b6535 100644
--- a/services/incremental/path.h
+++ b/services/incremental/path.h
@@ -67,6 +67,20 @@ inline details::CStrWrapper c_str(std::string_view sv) {
return {sv};
}
+std::string_view relativize(std::string_view parent, std::string_view nested);
+inline std::string_view relativize(const char* parent, const char* nested) {
+ return relativize(std::string_view(parent), std::string_view(nested));
+}
+inline std::string_view relativize(std::string_view parent, const char* nested) {
+ return relativize(parent, std::string_view(nested));
+}
+inline std::string_view relativize(const char* parent, std::string_view nested) {
+ return relativize(std::string_view(parent), nested);
+}
+
+std::string_view relativize(std::string&& parent, std::string_view nested) = delete;
+std::string_view relativize(std::string_view parent, std::string&& nested) = delete;
+
bool isAbsolute(std::string_view path);
std::string normalize(std::string_view path);
std::string_view dirname(std::string_view path);
diff --git a/services/incremental/test/IncrementalServiceTest.cpp b/services/incremental/test/IncrementalServiceTest.cpp
index ca1e1a972047..9cdc83e75055 100644
--- a/services/incremental/test/IncrementalServiceTest.cpp
+++ b/services/incremental/test/IncrementalServiceTest.cpp
@@ -46,7 +46,7 @@ namespace android::os::incremental {
class MockVoldService : public VoldServiceWrapper {
public:
MOCK_CONST_METHOD4(mountIncFs,
- binder::Status(const std::string& imagePath, const std::string& targetDir,
+ binder::Status(const std::string& backingPath, const std::string& targetDir,
int32_t flags,
IncrementalFileSystemControlParcel* _aidl_return));
MOCK_CONST_METHOD1(unmountIncFs, binder::Status(const std::string& dir));
@@ -77,22 +77,20 @@ public:
binder::Status getInvalidControlParcel(const std::string& imagePath,
const std::string& targetDir, int32_t flags,
IncrementalFileSystemControlParcel* _aidl_return) {
- _aidl_return->cmd = nullptr;
- _aidl_return->log = nullptr;
+ _aidl_return = {};
return binder::Status::ok();
}
binder::Status incFsSuccess(const std::string& imagePath, const std::string& targetDir,
int32_t flags, IncrementalFileSystemControlParcel* _aidl_return) {
- _aidl_return->cmd = std::make_unique<os::ParcelFileDescriptor>(std::move(cmdFd));
- _aidl_return->log = std::make_unique<os::ParcelFileDescriptor>(std::move(logFd));
+ _aidl_return->pendingReads.reset(base::unique_fd(dup(STDIN_FILENO)));
+ _aidl_return->cmd.reset(base::unique_fd(dup(STDIN_FILENO)));
+ _aidl_return->log.reset(base::unique_fd(dup(STDIN_FILENO)));
return binder::Status::ok();
}
private:
TemporaryFile cmdFile;
TemporaryFile logFile;
- base::unique_fd cmdFd;
- base::unique_fd logFd;
};
class MockIncrementalManager : public IncrementalManagerWrapper {
@@ -105,7 +103,7 @@ public:
MOCK_CONST_METHOD2(startDataLoader, binder::Status(int32_t mountId, bool* _aidl_return));
MOCK_CONST_METHOD1(destroyDataLoader, binder::Status(int32_t mountId));
MOCK_CONST_METHOD3(newFileForDataLoader,
- binder::Status(int32_t mountId, int64_t inode,
+ binder::Status(int32_t mountId, FileId fileId,
const ::std::vector<uint8_t>& metadata));
MOCK_CONST_METHOD1(showHealthBlockedUI, binder::Status(int32_t mountId));
@@ -152,23 +150,21 @@ private:
class MockIncFs : public IncFsWrapper {
public:
MOCK_CONST_METHOD5(makeFile,
- Inode(Control control, std::string_view name, Inode parent, Size size,
- std::string_view metadata));
- MOCK_CONST_METHOD5(makeDir,
- Inode(Control control, std::string_view name, Inode parent,
- std::string_view metadata, int mode));
- MOCK_CONST_METHOD2(getMetadata, RawMetadata(Control control, Inode inode));
- MOCK_CONST_METHOD4(link,
- ErrorCode(Control control, Inode item, Inode targetParent,
- std::string_view name));
- MOCK_CONST_METHOD3(unlink, ErrorCode(Control control, Inode parent, std::string_view name));
- MOCK_CONST_METHOD3(writeBlocks,
- ErrorCode(Control control, const incfs_new_data_block blocks[],
- int blocksCount));
+ ErrorCode(Control control, std::string_view path, int mode, FileId id,
+ NewFileParams params));
+ MOCK_CONST_METHOD3(makeDir, ErrorCode(Control control, std::string_view path, int mode));
+ MOCK_CONST_METHOD2(getMetadata, RawMetadata(Control control, FileId fileid));
+ MOCK_CONST_METHOD2(getMetadata, RawMetadata(Control control, std::string_view path));
+ MOCK_CONST_METHOD2(getFileId, FileId(Control control, std::string_view path));
+ MOCK_CONST_METHOD3(link,
+ ErrorCode(Control control, std::string_view from, std::string_view to));
+ MOCK_CONST_METHOD2(unlink, ErrorCode(Control control, std::string_view path));
+ MOCK_CONST_METHOD2(openWrite, base::unique_fd(Control control, FileId id));
+ MOCK_CONST_METHOD1(writeBlocks, ErrorCode(std::span<const DataBlock> blocks));
void makeFileFails() { ON_CALL(*this, makeFile(_, _, _, _, _)).WillByDefault(Return(-1)); }
void makeFileSuccess() { ON_CALL(*this, makeFile(_, _, _, _, _)).WillByDefault(Return(0)); }
- RawMetadata getMountInfoMetadata(Control control, Inode inode) {
+ RawMetadata getMountInfoMetadata(Control control, std::string_view path) {
metadata::Mount m;
m.mutable_storage()->set_id(100);
m.mutable_loader()->set_package_name("com.test");
@@ -176,15 +172,15 @@ public:
const auto metadata = m.SerializeAsString();
m.mutable_loader()->release_arguments();
m.mutable_loader()->release_package_name();
- return std::vector<char>(metadata.begin(), metadata.end());
+ return {metadata.begin(), metadata.end()};
}
- RawMetadata getStorageMetadata(Control control, Inode inode) {
+ RawMetadata getStorageMetadata(Control control, std::string_view path) {
metadata::Storage st;
st.set_id(100);
auto metadata = st.SerializeAsString();
- return std::vector<char>(metadata.begin(), metadata.end());
+ return {metadata.begin(), metadata.end()};
}
- RawMetadata getBindPointMetadata(Control control, Inode inode) {
+ RawMetadata getBindPointMetadata(Control control, std::string_view path) {
metadata::BindPoint bp;
std::string destPath = "dest";
std::string srcPath = "src";
@@ -200,40 +196,41 @@ public:
class MockServiceManager : public ServiceManagerWrapper {
public:
- MockServiceManager(std::shared_ptr<MockVoldService> vold,
- std::shared_ptr<MockIncrementalManager> manager,
- std::shared_ptr<MockIncFs> incfs)
- : mVold(vold), mIncrementalManager(manager), mIncFs(incfs) {}
- std::shared_ptr<VoldServiceWrapper> getVoldService() const override { return mVold; }
- std::shared_ptr<IncrementalManagerWrapper> getIncrementalManager() const override {
- return mIncrementalManager;
+ MockServiceManager(std::unique_ptr<MockVoldService> vold,
+ std::unique_ptr<MockIncrementalManager> manager,
+ std::unique_ptr<MockIncFs> incfs)
+ : mVold(std::move(vold)),
+ mIncrementalManager(std::move(manager)),
+ mIncFs(std::move(incfs)) {}
+ std::unique_ptr<VoldServiceWrapper> getVoldService() final { return std::move(mVold); }
+ std::unique_ptr<IncrementalManagerWrapper> getIncrementalManager() final {
+ return std::move(mIncrementalManager);
}
- std::shared_ptr<IncFsWrapper> getIncFs() const override { return mIncFs; }
+ std::unique_ptr<IncFsWrapper> getIncFs() final { return std::move(mIncFs); }
private:
- std::shared_ptr<MockVoldService> mVold;
- std::shared_ptr<MockIncrementalManager> mIncrementalManager;
- std::shared_ptr<MockIncFs> mIncFs;
+ std::unique_ptr<MockVoldService> mVold;
+ std::unique_ptr<MockIncrementalManager> mIncrementalManager;
+ std::unique_ptr<MockIncFs> mIncFs;
};
// --- IncrementalServiceTest ---
-static Inode inode(std::string_view path) {
- struct stat st;
- if (::stat(path::c_str(path), &st)) {
- return -1;
- }
- return st.st_ino;
-}
-
class IncrementalServiceTest : public testing::Test {
public:
void SetUp() override {
- mVold = std::make_shared<NiceMock<MockVoldService>>();
- mIncrementalManager = std::make_shared<NiceMock<MockIncrementalManager>>();
- mIncFs = std::make_shared<NiceMock<MockIncFs>>();
- MockServiceManager serviceManager = MockServiceManager(mVold, mIncrementalManager, mIncFs);
- mIncrementalService = std::make_unique<IncrementalService>(serviceManager, mRootDir.path);
+ auto vold = std::make_unique<NiceMock<MockVoldService>>();
+ mVold = vold.get();
+ auto incrementalManager = std::make_unique<NiceMock<MockIncrementalManager>>();
+ mIncrementalManager = incrementalManager.get();
+ auto incFs = std::make_unique<NiceMock<MockIncFs>>();
+ mIncFs = incFs.get();
+ mIncrementalService =
+ std::make_unique<IncrementalService>(MockServiceManager(std::move(vold),
+ std::move(
+ incrementalManager),
+ std::move(incFs)),
+ mRootDir.path);
mDataLoaderParcel.packageName = "com.test";
mDataLoaderParcel.arguments = "uri";
mIncrementalService->onSystemReady();
@@ -252,20 +249,18 @@ public:
const auto mountPointsFile = rootDir + "/dir1/mount/.mountpoint.abcd";
ASSERT_TRUE(base::WriteStringToFile("info", mountInfoFile));
ASSERT_TRUE(base::WriteStringToFile("mounts", mountPointsFile));
- ASSERT_GE(inode(mountInfoFile), 0);
- ASSERT_GE(inode(mountPointsFile), 0);
- ON_CALL(*mIncFs, getMetadata(_, inode(mountInfoFile)))
- .WillByDefault(Invoke(mIncFs.get(), &MockIncFs::getMountInfoMetadata));
- ON_CALL(*mIncFs, getMetadata(_, inode(mountPointsFile)))
- .WillByDefault(Invoke(mIncFs.get(), &MockIncFs::getBindPointMetadata));
- ON_CALL(*mIncFs, getMetadata(_, inode(rootDir + "/dir1/mount/st0")))
- .WillByDefault(Invoke(mIncFs.get(), &MockIncFs::getStorageMetadata));
+ ON_CALL(*mIncFs, getMetadata(_, std::string_view(mountInfoFile)))
+ .WillByDefault(Invoke(mIncFs, &MockIncFs::getMountInfoMetadata));
+ ON_CALL(*mIncFs, getMetadata(_, std::string_view(mountPointsFile)))
+ .WillByDefault(Invoke(mIncFs, &MockIncFs::getBindPointMetadata));
+ ON_CALL(*mIncFs, getMetadata(_, std::string_view(rootDir + "/dir1/mount/st0")))
+ .WillByDefault(Invoke(mIncFs, &MockIncFs::getStorageMetadata));
}
protected:
- std::shared_ptr<NiceMock<MockVoldService>> mVold;
- std::shared_ptr<NiceMock<MockIncFs>> mIncFs;
- std::shared_ptr<NiceMock<MockIncrementalManager>> mIncrementalManager;
+ NiceMock<MockVoldService>* mVold;
+ NiceMock<MockIncFs>* mIncFs;
+ NiceMock<MockIncrementalManager>* mIncrementalManager;
std::unique_ptr<IncrementalService> mIncrementalService;
TemporaryDir mRootDir;
DataLoaderParamsParcel mDataLoaderParcel;
@@ -411,29 +406,18 @@ TEST_F(IncrementalServiceTest, testMakeDirectory) {
int storageId =
mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel),
IncrementalService::CreateOptions::CreateNew);
- std::string_view dir_path("test");
- EXPECT_CALL(*mIncFs, makeDir(_, dir_path, _, _, _));
- int fileIno = mIncrementalService->makeDir(storageId, dir_path, "");
- ASSERT_GE(fileIno, 0);
-}
-
-TEST_F(IncrementalServiceTest, testMakeDirectoryNoParent) {
- mVold->mountIncFsSuccess();
- mIncFs->makeFileSuccess();
- mVold->bindMountSuccess();
- mIncrementalManager->prepareDataLoaderSuccess();
- mIncrementalManager->startDataLoaderSuccess();
- TemporaryDir tempDir;
- int storageId =
- mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel),
- IncrementalService::CreateOptions::CreateNew);
- std::string_view first("first");
- std::string_view second("second");
- std::string dir_path = std::string(first) + "/" + std::string(second);
- EXPECT_CALL(*mIncFs, makeDir(_, first, _, _, _)).Times(0);
- EXPECT_CALL(*mIncFs, makeDir(_, second, _, _, _)).Times(0);
- int fileIno = mIncrementalService->makeDir(storageId, dir_path, "");
- ASSERT_LT(fileIno, 0);
+ std::string dir_path("test");
+
+ std::string tempPath(tempDir.path);
+ std::replace(tempPath.begin(), tempPath.end(), '/', '_');
+ std::string mount_dir = std::string(mRootDir.path) + "/" + tempPath.substr(1);
+ std::string normalized_dir_path = mount_dir + "/mount/st_1_0/" + dir_path;
+
+ // Expecting incfs to call makeDir on a path like:
+ // /data/local/tmp/TemporaryDir-06yixG/data_local_tmp_TemporaryDir-xwdFhT/mount/st_1_0/test
+ EXPECT_CALL(*mIncFs, makeDir(_, std::string_view(normalized_dir_path), _));
+ auto res = mIncrementalService->makeDir(storageId, dir_path, 0555);
+ ASSERT_EQ(res, 0);
}
TEST_F(IncrementalServiceTest, testMakeDirectories) {
@@ -446,16 +430,32 @@ TEST_F(IncrementalServiceTest, testMakeDirectories) {
int storageId =
mIncrementalService->createStorage(tempDir.path, std::move(mDataLoaderParcel),
IncrementalService::CreateOptions::CreateNew);
- std::string_view first("first");
- std::string_view second("second");
- std::string_view third("third");
+ auto first = "first"sv;
+ auto second = "second"sv;
+ auto third = "third"sv;
+
+ std::string tempPath(tempDir.path);
+ std::replace(tempPath.begin(), tempPath.end(), '/', '_');
+ std::string mount_dir = std::string(mRootDir.path) + "/" + tempPath.substr(1);
+
InSequence seq;
- EXPECT_CALL(*mIncFs, makeDir(_, first, _, _, _));
- EXPECT_CALL(*mIncFs, makeDir(_, second, _, _, _));
- EXPECT_CALL(*mIncFs, makeDir(_, third, _, _, _));
- std::string dir_path =
- std::string(first) + "/" + std::string(second) + "/" + std::string(third);
- int fileIno = mIncrementalService->makeDirs(storageId, dir_path, "");
- ASSERT_GE(fileIno, 0);
+ auto parent_path = std::string(first) + "/" + std::string(second);
+ auto dir_path = parent_path + "/" + std::string(third);
+
+ std::string normalized_first_path = mount_dir + "/mount/st_1_0/" + std::string(first);
+ std::string normalized_parent_path = mount_dir + "/mount/st_1_0/" + parent_path;
+ std::string normalized_dir_path = mount_dir + "/mount/st_1_0/" + dir_path;
+
+ EXPECT_CALL(*mIncFs, makeDir(_, std::string_view(normalized_dir_path), _))
+ .WillOnce(Return(-ENOENT));
+ EXPECT_CALL(*mIncFs, makeDir(_, std::string_view(normalized_parent_path), _))
+ .WillOnce(Return(-ENOENT));
+ EXPECT_CALL(*mIncFs, makeDir(_, std::string_view(normalized_first_path), _))
+ .WillOnce(Return(0));
+ EXPECT_CALL(*mIncFs, makeDir(_, std::string_view(normalized_parent_path), _))
+ .WillOnce(Return(0));
+ EXPECT_CALL(*mIncFs, makeDir(_, std::string_view(normalized_dir_path), _)).WillOnce(Return(0));
+ auto res = mIncrementalService->makeDirs(storageId, normalized_dir_path, 0555);
+ ASSERT_EQ(res, 0);
}
} // namespace android::os::incremental
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 258d7628e502..036335ca9011 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -71,8 +71,6 @@ import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.Slog;
-import android.util.StatsLog;
-import android.view.WindowManager;
import android.view.contentcapture.ContentCaptureManager;
import com.android.internal.R;
@@ -80,6 +78,7 @@ import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.os.BinderInternal;
import com.android.internal.util.ConcurrentUtils;
import com.android.internal.util.EmergencyAffordanceManager;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.widget.ILockSettings;
import com.android.server.am.ActivityManagerService;
import com.android.server.appbinding.AppBindingService;
@@ -343,6 +342,7 @@ public final class SystemServer {
private static final String START_SENSOR_SERVICE = "StartSensorService";
private static final String START_HIDL_SERVICES = "StartHidlServices";
+ private static final String START_BLOB_STORE_SERVICE = "startBlobStoreManagerService";
private static final String SYSPROP_START_COUNT = "sys.system_server.start_count";
private static final String SYSPROP_START_ELAPSED = "sys.system_server.start_elapsed";
@@ -350,6 +350,7 @@ public final class SystemServer {
private Future<?> mSensorServiceStart;
private Future<?> mZygotePreload;
+ private Future<?> mBlobStoreServiceStart;
/**
* Start the sensor service. This is a blocking call and can take time.
@@ -366,6 +367,12 @@ public final class SystemServer {
*/
private static native void initZygoteChildHeapProfiling();
+
+ /**
+ * Spawn a thread that monitors for fd leaks.
+ */
+ private static native void spawnFdLeakCheckThread();
+
/**
* The main entry point from zygote.
*/
@@ -446,8 +453,9 @@ public final class SystemServer {
final long uptimeMillis = SystemClock.elapsedRealtime();
EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_SYSTEM_RUN, uptimeMillis);
if (!mRuntimeRestart) {
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__SYSTEM_SERVER_INIT_START,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__SYSTEM_SERVER_INIT_START,
uptimeMillis);
}
@@ -500,6 +508,11 @@ public final class SystemServer {
initZygoteChildHeapProfiling();
}
+ // Debug builds - spawn a thread to monitor for fd leaks.
+ if (Build.IS_DEBUGGABLE) {
+ spawnFdLeakCheckThread();
+ }
+
// Check whether we failed to shut down last time we tried.
// This call may not return.
performPendingShutdown();
@@ -558,8 +571,8 @@ public final class SystemServer {
if (!mRuntimeRestart && !isFirstBootOrUpgrade()) {
final long uptimeMillis = SystemClock.elapsedRealtime();
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__SYSTEM_SERVER_READY,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
+ FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__SYSTEM_SERVER_READY,
uptimeMillis);
final long maxUptimeMillis = 60 * 1000;
if (uptimeMillis > maxUptimeMillis) {
@@ -795,8 +808,9 @@ public final class SystemServer {
// Start the package manager.
if (!mRuntimeRestart) {
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__PACKAGE_MANAGER_INIT_START,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__PACKAGE_MANAGER_INIT_START,
SystemClock.elapsedRealtime());
}
@@ -813,8 +827,9 @@ public final class SystemServer {
mPackageManager = mSystemContext.getPackageManager();
t.traceEnd();
if (!mRuntimeRestart && !isFirstBootOrUpgrade()) {
- StatsLog.write(StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
- StatsLog.BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__PACKAGE_MANAGER_INIT_READY,
+ FrameworkStatsLog.write(FrameworkStatsLog.BOOT_TIME_EVENT_ELAPSED_TIME_REPORTED,
+ FrameworkStatsLog
+ .BOOT_TIME_EVENT_ELAPSED_TIME__EVENT__PACKAGE_MANAGER_INIT_READY,
SystemClock.elapsedRealtime());
}
// Manages A/B OTA dexopting. This is a bootstrap service as we need it to rename
@@ -1327,7 +1342,7 @@ public final class SystemServer {
if (!isWatch) {
t.traceBegin("StartStatusBarManagerService");
try {
- statusBar = new StatusBarManagerService(context, wm);
+ statusBar = new StatusBarManagerService(context);
ServiceManager.addService(Context.STATUS_BAR_SERVICE, statusBar);
} catch (Throwable e) {
reportWtf("starting StatusBarManagerService", e);
@@ -1724,9 +1739,11 @@ public final class SystemServer {
mSystemServiceManager.startService(SensorNotificationService.class);
t.traceEnd();
- t.traceBegin("StartContextHubSystemService");
- mSystemServiceManager.startService(ContextHubSystemService.class);
- t.traceEnd();
+ if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_CONTEXTHUB)) {
+ t.traceBegin("StartContextHubSystemService");
+ mSystemServiceManager.startService(ContextHubSystemService.class);
+ t.traceEnd();
+ }
t.traceBegin("StartDiskStatsService");
try {
@@ -1783,6 +1800,13 @@ public final class SystemServer {
t.traceEnd();
}
+ mBlobStoreServiceStart = SystemServerInitThreadPool.submit(() -> {
+ final TimingsTraceAndSlog traceLog = TimingsTraceAndSlog.newAsyncLog();
+ traceLog.traceBegin(START_BLOB_STORE_SERVICE);
+ mSystemServiceManager.startService(BLOB_STORE_MANAGER_SERVICE_CLASS);
+ traceLog.traceEnd();
+ }, START_BLOB_STORE_SERVICE);
+
// Dreams (interactive idle-time views, a/k/a screen savers, and doze mode)
t.traceBegin("StartDreamManager");
mSystemServiceManager.startService(DreamManagerService.class);
@@ -2027,10 +2051,6 @@ public final class SystemServer {
mSystemServiceManager.startService(ClipboardService.class);
t.traceEnd();
- t.traceBegin("StartBlobStoreManagerService");
- mSystemServiceManager.startService(BLOB_STORE_MANAGER_SERVICE_CLASS);
- t.traceEnd();
-
t.traceBegin("AppServiceManager");
mSystemServiceManager.startService(AppBindingService.Lifecycle.class);
t.traceEnd();
@@ -2081,8 +2101,7 @@ public final class SystemServer {
// propagate to it.
final Configuration config = wm.computeNewConfiguration(DEFAULT_DISPLAY);
DisplayMetrics metrics = new DisplayMetrics();
- WindowManager w = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
- w.getDefaultDisplay().getMetrics(metrics);
+ context.getDisplay().getMetrics(metrics);
context.getResources().updateConfiguration(config, metrics);
// The system context's theme may be configuration-dependent.
@@ -2149,6 +2168,9 @@ public final class SystemServer {
mSystemServiceManager.startService(APP_SEARCH_MANAGER_SERVICE_CLASS);
t.traceEnd();
+ ConcurrentUtils.waitForFutureNoInterrupt(mBlobStoreServiceStart,
+ START_BLOB_STORE_SERVICE);
+
// These are needed to propagate to the runnable below.
final NetworkManagementService networkManagementF = networkManagement;
final NetworkStatsService networkStatsF = networkStats;
diff --git a/services/net/java/android/net/IpMemoryStore.java b/services/net/java/android/net/IpMemoryStore.java
index 6f91e006c853..dcefb537d0a0 100644
--- a/services/net/java/android/net/IpMemoryStore.java
+++ b/services/net/java/android/net/IpMemoryStore.java
@@ -52,6 +52,11 @@ public class IpMemoryStore extends IpMemoryStoreClient {
public int getInterfaceVersion() {
return this.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return this.HASH;
+ }
});
}
diff --git a/services/net/java/android/net/ip/IpClientUtil.java b/services/net/java/android/net/ip/IpClientUtil.java
index 7f723b1c232b..a3618b47171a 100644
--- a/services/net/java/android/net/ip/IpClientUtil.java
+++ b/services/net/java/android/net/ip/IpClientUtil.java
@@ -189,6 +189,11 @@ public class IpClientUtil {
public int getInterfaceVersion() {
return this.VERSION;
}
+
+ @Override
+ public String getInterfaceHash() {
+ return this.HASH;
+ }
}
/**
diff --git a/services/people/java/com/android/server/people/PeopleService.java b/services/people/java/com/android/server/people/PeopleService.java
index 9569c6e8be89..2d18a2994135 100644
--- a/services/people/java/com/android/server/people/PeopleService.java
+++ b/services/people/java/com/android/server/people/PeopleService.java
@@ -16,6 +16,7 @@
package com.android.server.people;
+import android.annotation.NonNull;
import android.app.prediction.AppPredictionContext;
import android.app.prediction.AppPredictionSessionId;
import android.app.prediction.AppTarget;
@@ -29,6 +30,7 @@ import android.util.Slog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.SystemService;
+import com.android.server.people.data.DataManager;
import java.util.List;
import java.util.Map;
@@ -41,6 +43,8 @@ public class PeopleService extends SystemService {
private static final String TAG = "PeopleService";
+ private final DataManager mDataManager;
+
/**
* Initializes the system service.
*
@@ -48,6 +52,15 @@ public class PeopleService extends SystemService {
*/
public PeopleService(Context context) {
super(context);
+
+ mDataManager = new DataManager(context);
+ }
+
+ @Override
+ public void onBootPhase(int phase) {
+ if (phase == PHASE_SYSTEM_SERVICES_READY) {
+ mDataManager.initialize();
+ }
}
@Override
@@ -55,6 +68,16 @@ public class PeopleService extends SystemService {
publishLocalService(PeopleServiceInternal.class, new LocalService());
}
+ @Override
+ public void onUnlockUser(@NonNull TargetUser targetUser) {
+ mDataManager.onUserUnlocked(targetUser.getUserIdentifier());
+ }
+
+ @Override
+ public void onStopUser(@NonNull TargetUser targetUser) {
+ mDataManager.onUserStopped(targetUser.getUserIdentifier());
+ }
+
@VisibleForTesting
final class LocalService extends PeopleServiceInternal {
@@ -63,7 +86,7 @@ public class PeopleService extends SystemService {
@Override
public void onCreatePredictionSession(AppPredictionContext context,
AppPredictionSessionId sessionId) {
- mSessions.put(sessionId, new SessionInfo(context));
+ mSessions.put(sessionId, new SessionInfo(context, mDataManager));
}
@Override
diff --git a/services/people/java/com/android/server/people/SessionInfo.java b/services/people/java/com/android/server/people/SessionInfo.java
index df7cedf7626f..eaa0781f12ef 100644
--- a/services/people/java/com/android/server/people/SessionInfo.java
+++ b/services/people/java/com/android/server/people/SessionInfo.java
@@ -24,7 +24,8 @@ import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.util.Slog;
-import com.android.server.people.prediction.ConversationPredictor;
+import com.android.server.people.data.DataManager;
+import com.android.server.people.prediction.AppTargetPredictor;
import java.util.List;
@@ -33,13 +34,13 @@ class SessionInfo {
private static final String TAG = "SessionInfo";
- private final ConversationPredictor mConversationPredictor;
+ private final AppTargetPredictor mAppTargetPredictor;
private final RemoteCallbackList<IPredictionCallback> mCallbacks =
new RemoteCallbackList<>();
- SessionInfo(AppPredictionContext predictionContext) {
- mConversationPredictor = new ConversationPredictor(predictionContext,
- this::updatePredictions);
+ SessionInfo(AppPredictionContext predictionContext, DataManager dataManager) {
+ mAppTargetPredictor = AppTargetPredictor.create(predictionContext,
+ this::updatePredictions, dataManager);
}
void addCallback(IPredictionCallback callback) {
@@ -50,8 +51,8 @@ class SessionInfo {
mCallbacks.unregister(callback);
}
- ConversationPredictor getPredictor() {
- return mConversationPredictor;
+ AppTargetPredictor getPredictor() {
+ return mAppTargetPredictor;
}
void onDestroy() {
diff --git a/services/people/java/com/android/server/people/data/AggregateEventHistoryImpl.java b/services/people/java/com/android/server/people/data/AggregateEventHistoryImpl.java
new file mode 100644
index 000000000000..4ac346b51b22
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/AggregateEventHistoryImpl.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/** An {@link EventHistory} that aggregates multiple {@link EventHistory}. */
+class AggregateEventHistoryImpl implements EventHistory {
+
+ private final List<EventHistory> mEventHistoryList = new ArrayList<>();
+
+ @NonNull
+ @Override
+ public EventIndex getEventIndex(int eventType) {
+ for (EventHistory eventHistory : mEventHistoryList) {
+ EventIndex eventIndex = eventHistory.getEventIndex(eventType);
+ if (!eventIndex.isEmpty()) {
+ return eventIndex;
+ }
+ }
+ return EventIndex.EMPTY;
+ }
+
+ @NonNull
+ @Override
+ public EventIndex getEventIndex(Set<Integer> eventTypes) {
+ EventIndex merged = new EventIndex();
+ for (EventHistory eventHistory : mEventHistoryList) {
+ EventIndex eventIndex = eventHistory.getEventIndex(eventTypes);
+ if (!eventIndex.isEmpty()) {
+ merged = EventIndex.combine(merged, eventIndex);
+ }
+ }
+ return merged;
+ }
+
+ @NonNull
+ @Override
+ public List<Event> queryEvents(Set<Integer> eventTypes, long startTime, long endTime) {
+ List<Event> results = new ArrayList<>();
+ for (EventHistory eventHistory : mEventHistoryList) {
+ EventIndex eventIndex = eventHistory.getEventIndex(eventTypes);
+ if (eventIndex.isEmpty()) {
+ continue;
+ }
+ List<Event> queryResults = eventHistory.queryEvents(eventTypes, startTime, endTime);
+ results = combineEventLists(results, queryResults);
+ }
+ return results;
+ }
+
+ void addEventHistory(EventHistory eventHistory) {
+ mEventHistoryList.add(eventHistory);
+ }
+
+ /**
+ * Combines the sorted events (in chronological order) from the given 2 lists {@code lhs}
+ * and {@code rhs} and preserves the order.
+ */
+ private List<Event> combineEventLists(List<Event> lhs, List<Event> rhs) {
+ List<Event> results = new ArrayList<>();
+ int i = 0, j = 0;
+ while (i < lhs.size() && j < rhs.size()) {
+ if (lhs.get(i).getTimestamp() < rhs.get(j).getTimestamp()) {
+ results.add(lhs.get(i++));
+ } else {
+ results.add(rhs.get(j++));
+ }
+ }
+ if (i < lhs.size()) {
+ results.addAll(lhs.subList(i, lhs.size()));
+ } else if (j < rhs.size()) {
+ results.addAll(rhs.subList(j, rhs.size()));
+ }
+ return results;
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/CallLogQueryHelper.java b/services/people/java/com/android/server/people/data/CallLogQueryHelper.java
new file mode 100644
index 000000000000..d825b6b2bd8f
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/CallLogQueryHelper.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.WorkerThread;
+import android.content.Context;
+import android.database.Cursor;
+import android.provider.CallLog.Calls;
+import android.text.TextUtils;
+import android.util.Slog;
+import android.util.SparseIntArray;
+
+import java.util.function.BiConsumer;
+
+/** A helper class that queries the call log database. */
+class CallLogQueryHelper {
+
+ private static final String TAG = "CallLogQueryHelper";
+
+ private static final SparseIntArray CALL_TYPE_TO_EVENT_TYPE = new SparseIntArray();
+
+ static {
+ CALL_TYPE_TO_EVENT_TYPE.put(Calls.INCOMING_TYPE, Event.TYPE_CALL_INCOMING);
+ CALL_TYPE_TO_EVENT_TYPE.put(Calls.OUTGOING_TYPE, Event.TYPE_CALL_OUTGOING);
+ CALL_TYPE_TO_EVENT_TYPE.put(Calls.MISSED_TYPE, Event.TYPE_CALL_MISSED);
+ }
+
+ private final Context mContext;
+ private final BiConsumer<String, Event> mEventConsumer;
+ private long mLastCallTimestamp;
+
+ /**
+ * @param context Context for accessing the content resolver.
+ * @param eventConsumer Consumes the events created from the call log records. The first input
+ * param is the normalized phone number.
+ */
+ CallLogQueryHelper(Context context, BiConsumer<String, Event> eventConsumer) {
+ mContext = context;
+ mEventConsumer = eventConsumer;
+ }
+
+ /**
+ * Queries the call log database for the new data added since {@code sinceTime} and returns
+ * true if the query runs successfully and at least one call log entry is found.
+ */
+ @WorkerThread
+ boolean querySince(long sinceTime) {
+ String[] projection = new String[] {
+ Calls.CACHED_NORMALIZED_NUMBER, Calls.DATE, Calls.DURATION, Calls.TYPE };
+ String selection = Calls.DATE + " > ?";
+ String[] selectionArgs = new String[] { Long.toString(sinceTime) };
+ boolean hasResults = false;
+ try (Cursor cursor = mContext.getContentResolver().query(
+ Calls.CONTENT_URI, projection, selection, selectionArgs,
+ Calls.DEFAULT_SORT_ORDER)) {
+ if (cursor == null) {
+ Slog.w(TAG, "Cursor is null when querying call log.");
+ return false;
+ }
+ while (cursor.moveToNext()) {
+ // Phone number
+ int numberIndex = cursor.getColumnIndex(Calls.CACHED_NORMALIZED_NUMBER);
+ String phoneNumber = cursor.getString(numberIndex);
+
+ // Date
+ int dateIndex = cursor.getColumnIndex(Calls.DATE);
+ long date = cursor.getLong(dateIndex);
+
+ // Duration
+ int durationIndex = cursor.getColumnIndex(Calls.DURATION);
+ long durationSeconds = cursor.getLong(durationIndex);
+
+ // Type
+ int typeIndex = cursor.getColumnIndex(Calls.TYPE);
+ int callType = cursor.getInt(typeIndex);
+
+ mLastCallTimestamp = Math.max(mLastCallTimestamp, date);
+ if (addEvent(phoneNumber, date, durationSeconds, callType)) {
+ hasResults = true;
+ }
+ }
+ }
+ return hasResults;
+ }
+
+ long getLastCallTimestamp() {
+ return mLastCallTimestamp;
+ }
+
+ private boolean addEvent(String phoneNumber, long date, long durationSeconds, int callType) {
+ if (!validateEvent(phoneNumber, date, callType)) {
+ return false;
+ }
+ @Event.EventType int eventType = CALL_TYPE_TO_EVENT_TYPE.get(callType);
+ Event event = new Event.Builder(date, eventType)
+ .setCallDetails(new Event.CallDetails(durationSeconds))
+ .build();
+ mEventConsumer.accept(phoneNumber, event);
+ return true;
+ }
+
+ private boolean validateEvent(String phoneNumber, long date, int callType) {
+ return !TextUtils.isEmpty(phoneNumber)
+ && date > 0L
+ && CALL_TYPE_TO_EVENT_TYPE.indexOfKey(callType) >= 0;
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/ContactsQueryHelper.java b/services/people/java/com/android/server/people/data/ContactsQueryHelper.java
new file mode 100644
index 000000000000..8a3a44ae9f35
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/ContactsQueryHelper.java
@@ -0,0 +1,182 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.WorkerThread;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.provider.ContactsContract.Contacts;
+import android.text.TextUtils;
+import android.util.Slog;
+
+/** A helper class that queries the Contacts database. */
+class ContactsQueryHelper {
+
+ private static final String TAG = "ContactsQueryHelper";
+
+ private final Context mContext;
+ private Uri mContactUri;
+ private boolean mIsStarred;
+ private String mPhoneNumber;
+ private long mLastUpdatedTimestamp;
+
+ ContactsQueryHelper(Context context) {
+ mContext = context;
+ }
+
+ /**
+ * Queries the Contacts database with the given contact URI and returns whether the query runs
+ * successfully.
+ */
+ @WorkerThread
+ boolean query(@NonNull String contactUri) {
+ if (TextUtils.isEmpty(contactUri)) {
+ return false;
+ }
+ Uri uri = Uri.parse(contactUri);
+ if ("tel".equals(uri.getScheme())) {
+ return queryWithPhoneNumber(uri.getSchemeSpecificPart());
+ } else if ("mailto".equals(uri.getScheme())) {
+ return queryWithEmail(uri.getSchemeSpecificPart());
+ } else if (contactUri.startsWith(Contacts.CONTENT_LOOKUP_URI.toString())) {
+ return queryWithUri(uri);
+ }
+ return false;
+ }
+
+ /** Queries the Contacts database and read the most recently updated contact. */
+ @WorkerThread
+ boolean querySince(long sinceTime) {
+ final String[] projection = new String[] {
+ Contacts._ID, Contacts.LOOKUP_KEY, Contacts.STARRED, Contacts.HAS_PHONE_NUMBER,
+ Contacts.CONTACT_LAST_UPDATED_TIMESTAMP };
+ String selection = Contacts.CONTACT_LAST_UPDATED_TIMESTAMP + " > ?";
+ String[] selectionArgs = new String[] {Long.toString(sinceTime)};
+ return queryContact(Contacts.CONTENT_URI, projection, selection, selectionArgs);
+ }
+
+ @Nullable
+ Uri getContactUri() {
+ return mContactUri;
+ }
+
+ boolean isStarred() {
+ return mIsStarred;
+ }
+
+ @Nullable
+ String getPhoneNumber() {
+ return mPhoneNumber;
+ }
+
+ long getLastUpdatedTimestamp() {
+ return mLastUpdatedTimestamp;
+ }
+
+ private boolean queryWithPhoneNumber(String phoneNumber) {
+ Uri phoneUri = Uri.withAppendedPath(
+ ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
+ return queryWithUri(phoneUri);
+ }
+
+ private boolean queryWithEmail(String email) {
+ Uri emailUri = Uri.withAppendedPath(
+ ContactsContract.CommonDataKinds.Email.CONTENT_LOOKUP_URI, Uri.encode(email));
+ return queryWithUri(emailUri);
+ }
+
+ private boolean queryWithUri(@NonNull Uri uri) {
+ final String[] projection = new String[] {
+ Contacts._ID, Contacts.LOOKUP_KEY, Contacts.STARRED, Contacts.HAS_PHONE_NUMBER };
+ return queryContact(uri, projection, /* selection= */ null, /* selectionArgs= */ null);
+ }
+
+ private boolean queryContact(@NonNull Uri uri, @NonNull String[] projection,
+ @Nullable String selection, @Nullable String[] selectionArgs) {
+ long contactId;
+ String lookupKey = null;
+ boolean hasPhoneNumber = false;
+ boolean found = false;
+ try (Cursor cursor = mContext.getContentResolver().query(
+ uri, projection, selection, selectionArgs, /* sortOrder= */ null)) {
+ if (cursor == null) {
+ Slog.w(TAG, "Cursor is null when querying contact.");
+ return false;
+ }
+ while (cursor.moveToNext()) {
+ // Contact ID
+ int idIndex = cursor.getColumnIndex(Contacts._ID);
+ contactId = cursor.getLong(idIndex);
+
+ // Lookup key
+ int lookupKeyIndex = cursor.getColumnIndex(Contacts.LOOKUP_KEY);
+ lookupKey = cursor.getString(lookupKeyIndex);
+
+ mContactUri = Contacts.getLookupUri(contactId, lookupKey);
+
+ // Starred
+ int starredIndex = cursor.getColumnIndex(Contacts.STARRED);
+ mIsStarred = cursor.getInt(starredIndex) != 0;
+
+ // Has phone number
+ int hasPhoneNumIndex = cursor.getColumnIndex(Contacts.HAS_PHONE_NUMBER);
+ hasPhoneNumber = cursor.getInt(hasPhoneNumIndex) != 0;
+
+ // Last updated timestamp
+ int lastUpdatedTimestampIndex = cursor.getColumnIndex(
+ Contacts.CONTACT_LAST_UPDATED_TIMESTAMP);
+ if (lastUpdatedTimestampIndex >= 0) {
+ mLastUpdatedTimestamp = cursor.getLong(lastUpdatedTimestampIndex);
+ }
+
+ found = true;
+ }
+ }
+ if (found && lookupKey != null && hasPhoneNumber) {
+ return queryPhoneNumber(lookupKey);
+ }
+ return found;
+ }
+
+ private boolean queryPhoneNumber(String lookupKey) {
+ String[] projection = new String[] {
+ ContactsContract.CommonDataKinds.Phone.NORMALIZED_NUMBER };
+ String selection = Contacts.LOOKUP_KEY + " = ?";
+ String[] selectionArgs = new String[] { lookupKey };
+ try (Cursor cursor = mContext.getContentResolver().query(
+ ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, selection,
+ selectionArgs, /* sortOrder= */ null)) {
+ if (cursor == null) {
+ Slog.w(TAG, "Cursor is null when querying contact phone number.");
+ return false;
+ }
+ while (cursor.moveToNext()) {
+ // Phone number
+ int phoneNumIdx = cursor.getColumnIndex(
+ ContactsContract.CommonDataKinds.Phone.NORMALIZED_NUMBER);
+ if (phoneNumIdx >= 0) {
+ mPhoneNumber = cursor.getString(phoneNumIdx);
+ }
+ }
+ }
+ return true;
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/ConversationInfo.java b/services/people/java/com/android/server/people/data/ConversationInfo.java
new file mode 100644
index 000000000000..bb97533b3222
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/ConversationInfo.java
@@ -0,0 +1,372 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.LocusId;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutInfo.ShortcutFlags;
+import android.net.Uri;
+
+import com.android.internal.util.Preconditions;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.Objects;
+
+/**
+ * Represents a conversation that is provided by the app based on {@link ShortcutInfo}.
+ */
+public class ConversationInfo {
+
+ private static final int FLAG_VIP = 1;
+
+ private static final int FLAG_NOTIFICATION_SILENCED = 1 << 1;
+
+ private static final int FLAG_BUBBLED = 1 << 2;
+
+ private static final int FLAG_PERSON_IMPORTANT = 1 << 3;
+
+ private static final int FLAG_PERSON_BOT = 1 << 4;
+
+ private static final int FLAG_CONTACT_STARRED = 1 << 5;
+
+ private static final int FLAG_DEMOTED = 1 << 6;
+
+ @IntDef(flag = true, prefix = {"FLAG_"}, value = {
+ FLAG_VIP,
+ FLAG_NOTIFICATION_SILENCED,
+ FLAG_BUBBLED,
+ FLAG_PERSON_IMPORTANT,
+ FLAG_PERSON_BOT,
+ FLAG_CONTACT_STARRED,
+ FLAG_DEMOTED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ private @interface ConversationFlags {
+ }
+
+ @NonNull
+ private String mShortcutId;
+
+ @Nullable
+ private LocusId mLocusId;
+
+ @Nullable
+ private Uri mContactUri;
+
+ @Nullable
+ private String mContactPhoneNumber;
+
+ @Nullable
+ private String mNotificationChannelId;
+
+ @ShortcutFlags
+ private int mShortcutFlags;
+
+ @ConversationFlags
+ private int mConversationFlags;
+
+ private ConversationInfo(Builder builder) {
+ mShortcutId = builder.mShortcutId;
+ mLocusId = builder.mLocusId;
+ mContactUri = builder.mContactUri;
+ mContactPhoneNumber = builder.mContactPhoneNumber;
+ mNotificationChannelId = builder.mNotificationChannelId;
+ mShortcutFlags = builder.mShortcutFlags;
+ mConversationFlags = builder.mConversationFlags;
+ }
+
+ @NonNull
+ public String getShortcutId() {
+ return mShortcutId;
+ }
+
+ @Nullable
+ LocusId getLocusId() {
+ return mLocusId;
+ }
+
+ /** The URI to look up the entry in the contacts data provider. */
+ @Nullable
+ Uri getContactUri() {
+ return mContactUri;
+ }
+
+ /** The phone number of the associated contact. */
+ @Nullable
+ String getContactPhoneNumber() {
+ return mContactPhoneNumber;
+ }
+
+ /**
+ * ID of the {@link android.app.NotificationChannel} where the notifications for this
+ * conversation are posted.
+ */
+ @Nullable
+ String getNotificationChannelId() {
+ return mNotificationChannelId;
+ }
+
+ /** Whether the shortcut for this conversation is set long-lived by the app. */
+ public boolean isShortcutLongLived() {
+ return hasShortcutFlags(ShortcutInfo.FLAG_LONG_LIVED);
+ }
+
+ /** Whether this conversation is marked as VIP by the user. */
+ public boolean isVip() {
+ return hasConversationFlags(FLAG_VIP);
+ }
+
+ /** Whether the notifications for this conversation should be silenced. */
+ public boolean isNotificationSilenced() {
+ return hasConversationFlags(FLAG_NOTIFICATION_SILENCED);
+ }
+
+ /** Whether the notifications for this conversation should show in bubbles. */
+ public boolean isBubbled() {
+ return hasConversationFlags(FLAG_BUBBLED);
+ }
+
+ /**
+ * Whether this conversation is demoted by the user. New notifications for the demoted
+ * conversation will not show in the conversation space.
+ */
+ public boolean isDemoted() {
+ return hasConversationFlags(FLAG_DEMOTED);
+ }
+
+ /** Whether the associated person is marked as important by the app. */
+ public boolean isPersonImportant() {
+ return hasConversationFlags(FLAG_PERSON_IMPORTANT);
+ }
+
+ /** Whether the associated person is marked as a bot by the app. */
+ public boolean isPersonBot() {
+ return hasConversationFlags(FLAG_PERSON_BOT);
+ }
+
+ /** Whether the associated contact is marked as starred by the user. */
+ public boolean isContactStarred() {
+ return hasConversationFlags(FLAG_CONTACT_STARRED);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (!(obj instanceof ConversationInfo)) {
+ return false;
+ }
+ ConversationInfo other = (ConversationInfo) obj;
+ return Objects.equals(mShortcutId, other.mShortcutId)
+ && Objects.equals(mLocusId, other.mLocusId)
+ && Objects.equals(mContactUri, other.mContactUri)
+ && Objects.equals(mContactPhoneNumber, other.mContactPhoneNumber)
+ && Objects.equals(mNotificationChannelId, other.mNotificationChannelId)
+ && mShortcutFlags == other.mShortcutFlags
+ && mConversationFlags == other.mConversationFlags;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mShortcutId, mLocusId, mContactUri, mContactPhoneNumber,
+ mNotificationChannelId, mShortcutFlags, mConversationFlags);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("ConversationInfo {");
+ sb.append("shortcutId=").append(mShortcutId);
+ sb.append(", locusId=").append(mLocusId);
+ sb.append(", contactUri=").append(mContactUri);
+ sb.append(", phoneNumber=").append(mContactPhoneNumber);
+ sb.append(", notificationChannelId=").append(mNotificationChannelId);
+ sb.append(", shortcutFlags=0x").append(Integer.toHexString(mShortcutFlags));
+ sb.append(" [");
+ if (isShortcutLongLived()) {
+ sb.append("Liv");
+ }
+ sb.append("]");
+ sb.append(", conversationFlags=0x").append(Integer.toHexString(mConversationFlags));
+ sb.append(" [");
+ if (isVip()) {
+ sb.append("Vip");
+ }
+ if (isNotificationSilenced()) {
+ sb.append("Sil");
+ }
+ if (isBubbled()) {
+ sb.append("Bub");
+ }
+ if (isDemoted()) {
+ sb.append("Dem");
+ }
+ if (isPersonImportant()) {
+ sb.append("Imp");
+ }
+ if (isPersonBot()) {
+ sb.append("Bot");
+ }
+ if (isContactStarred()) {
+ sb.append("Sta");
+ }
+ sb.append("]}");
+ return sb.toString();
+ }
+
+ private boolean hasShortcutFlags(@ShortcutFlags int flags) {
+ return (mShortcutFlags & flags) == flags;
+ }
+
+ private boolean hasConversationFlags(@ConversationFlags int flags) {
+ return (mConversationFlags & flags) == flags;
+ }
+
+ /**
+ * Builder class for {@link ConversationInfo} objects.
+ */
+ static class Builder {
+
+ private String mShortcutId;
+
+ @Nullable
+ private LocusId mLocusId;
+
+ @Nullable
+ private Uri mContactUri;
+
+ @Nullable
+ private String mContactPhoneNumber;
+
+ @Nullable
+ private String mNotificationChannelId;
+
+ @ShortcutFlags
+ private int mShortcutFlags;
+
+ @ConversationFlags
+ private int mConversationFlags;
+
+ Builder() {
+ }
+
+ Builder(@NonNull ConversationInfo conversationInfo) {
+ if (mShortcutId == null) {
+ mShortcutId = conversationInfo.mShortcutId;
+ } else {
+ Preconditions.checkArgument(mShortcutId.equals(conversationInfo.mShortcutId));
+ }
+ mLocusId = conversationInfo.mLocusId;
+ mContactUri = conversationInfo.mContactUri;
+ mContactPhoneNumber = conversationInfo.mContactPhoneNumber;
+ mNotificationChannelId = conversationInfo.mNotificationChannelId;
+ mShortcutFlags = conversationInfo.mShortcutFlags;
+ mConversationFlags = conversationInfo.mConversationFlags;
+ }
+
+ Builder setShortcutId(@NonNull String shortcutId) {
+ mShortcutId = shortcutId;
+ return this;
+ }
+
+ Builder setLocusId(LocusId locusId) {
+ mLocusId = locusId;
+ return this;
+ }
+
+ Builder setContactUri(Uri contactUri) {
+ mContactUri = contactUri;
+ return this;
+ }
+
+ Builder setContactPhoneNumber(String phoneNumber) {
+ mContactPhoneNumber = phoneNumber;
+ return this;
+ }
+
+ Builder setNotificationChannelId(String notificationChannelId) {
+ mNotificationChannelId = notificationChannelId;
+ return this;
+ }
+
+ Builder setShortcutFlags(@ShortcutFlags int shortcutFlags) {
+ mShortcutFlags = shortcutFlags;
+ return this;
+ }
+
+ Builder setConversationFlags(@ConversationFlags int conversationFlags) {
+ mConversationFlags = conversationFlags;
+ return this;
+ }
+
+ Builder setVip(boolean value) {
+ return setConversationFlag(FLAG_VIP, value);
+ }
+
+ Builder setNotificationSilenced(boolean value) {
+ return setConversationFlag(FLAG_NOTIFICATION_SILENCED, value);
+ }
+
+ Builder setBubbled(boolean value) {
+ return setConversationFlag(FLAG_BUBBLED, value);
+ }
+
+ Builder setDemoted(boolean value) {
+ return setConversationFlag(FLAG_DEMOTED, value);
+ }
+
+ Builder setPersonImportant(boolean value) {
+ return setConversationFlag(FLAG_PERSON_IMPORTANT, value);
+ }
+
+ Builder setPersonBot(boolean value) {
+ return setConversationFlag(FLAG_PERSON_BOT, value);
+ }
+
+ Builder setContactStarred(boolean value) {
+ return setConversationFlag(FLAG_CONTACT_STARRED, value);
+ }
+
+ private Builder setConversationFlag(@ConversationFlags int flags, boolean value) {
+ if (value) {
+ return addConversationFlags(flags);
+ } else {
+ return removeConversationFlags(flags);
+ }
+ }
+
+ private Builder addConversationFlags(@ConversationFlags int flags) {
+ mConversationFlags |= flags;
+ return this;
+ }
+
+ private Builder removeConversationFlags(@ConversationFlags int flags) {
+ mConversationFlags &= ~flags;
+ return this;
+ }
+
+ ConversationInfo build() {
+ Objects.requireNonNull(mShortcutId);
+ return new ConversationInfo(this);
+ }
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/ConversationStore.java b/services/people/java/com/android/server/people/data/ConversationStore.java
new file mode 100644
index 000000000000..f17e1b91cb5d
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/ConversationStore.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.LocusId;
+import android.net.Uri;
+import android.util.ArrayMap;
+
+import java.util.Map;
+import java.util.function.Consumer;
+
+/** The store that stores and accesses the conversations data for a package. */
+class ConversationStore {
+
+ // Shortcut ID -> Conversation Info
+ private final Map<String, ConversationInfo> mConversationInfoMap = new ArrayMap<>();
+
+ // Locus ID -> Shortcut ID
+ private final Map<LocusId, String> mLocusIdToShortcutIdMap = new ArrayMap<>();
+
+ // Contact URI -> Shortcut ID
+ private final Map<Uri, String> mContactUriToShortcutIdMap = new ArrayMap<>();
+
+ // Phone Number -> Shortcut ID
+ private final Map<String, String> mPhoneNumberToShortcutIdMap = new ArrayMap<>();
+
+ void addOrUpdate(@NonNull ConversationInfo conversationInfo) {
+ mConversationInfoMap.put(conversationInfo.getShortcutId(), conversationInfo);
+
+ LocusId locusId = conversationInfo.getLocusId();
+ if (locusId != null) {
+ mLocusIdToShortcutIdMap.put(locusId, conversationInfo.getShortcutId());
+ }
+
+ Uri contactUri = conversationInfo.getContactUri();
+ if (contactUri != null) {
+ mContactUriToShortcutIdMap.put(contactUri, conversationInfo.getShortcutId());
+ }
+
+ String phoneNumber = conversationInfo.getContactPhoneNumber();
+ if (phoneNumber != null) {
+ mPhoneNumberToShortcutIdMap.put(phoneNumber, conversationInfo.getShortcutId());
+ }
+ }
+
+ void deleteConversation(@NonNull String shortcutId) {
+ ConversationInfo conversationInfo = mConversationInfoMap.remove(shortcutId);
+ if (conversationInfo == null) {
+ return;
+ }
+
+ LocusId locusId = conversationInfo.getLocusId();
+ if (locusId != null) {
+ mLocusIdToShortcutIdMap.remove(locusId);
+ }
+
+ Uri contactUri = conversationInfo.getContactUri();
+ if (contactUri != null) {
+ mContactUriToShortcutIdMap.remove(contactUri);
+ }
+
+ String phoneNumber = conversationInfo.getContactPhoneNumber();
+ if (phoneNumber != null) {
+ mPhoneNumberToShortcutIdMap.remove(phoneNumber);
+ }
+ }
+
+ void forAllConversations(@NonNull Consumer<ConversationInfo> consumer) {
+ for (ConversationInfo ci : mConversationInfoMap.values()) {
+ consumer.accept(ci);
+ }
+ }
+
+ @Nullable
+ ConversationInfo getConversation(@Nullable String shortcutId) {
+ return shortcutId != null ? mConversationInfoMap.get(shortcutId) : null;
+ }
+
+ @Nullable
+ ConversationInfo getConversationByLocusId(@NonNull LocusId locusId) {
+ return getConversation(mLocusIdToShortcutIdMap.get(locusId));
+ }
+
+ @Nullable
+ ConversationInfo getConversationByContactUri(@NonNull Uri contactUri) {
+ return getConversation(mContactUriToShortcutIdMap.get(contactUri));
+ }
+
+ @Nullable
+ ConversationInfo getConversationByPhoneNumber(@NonNull String phoneNumber) {
+ return getConversation(mPhoneNumberToShortcutIdMap.get(phoneNumber));
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/DataManager.java b/services/people/java/com/android/server/people/data/DataManager.java
new file mode 100644
index 000000000000..79503f797318
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/DataManager.java
@@ -0,0 +1,686 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.UserIdInt;
+import android.annotation.WorkerThread;
+import android.app.Notification;
+import android.app.Person;
+import android.app.prediction.AppTarget;
+import android.app.prediction.AppTargetEvent;
+import android.app.usage.UsageEvents;
+import android.app.usage.UsageStatsManagerInternal;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.LauncherApps.ShortcutQuery;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
+import android.content.pm.ShortcutManager.ShareShortcutInfo;
+import android.content.pm.ShortcutServiceInternal;
+import android.content.pm.UserInfo;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Binder;
+import android.os.Handler;
+import android.os.Process;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.CallLog;
+import android.provider.ContactsContract.Contacts;
+import android.provider.Telephony.MmsSms;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.StatusBarNotification;
+import android.telecom.TelecomManager;
+import android.text.TextUtils;
+import android.text.format.DateUtils;
+import android.util.SparseArray;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.ChooserActivity;
+import com.android.internal.os.BackgroundThread;
+import com.android.internal.telephony.SmsApplication;
+import com.android.server.LocalServices;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+
+/**
+ * A class manages the lifecycle of the conversations and associated data, and exposes the methods
+ * to access the data in People Service and other system services.
+ */
+public class DataManager {
+
+ private static final String PLATFORM_PACKAGE_NAME = "android";
+ private static final int MY_UID = Process.myUid();
+ private static final int MY_PID = Process.myPid();
+ private static final long QUERY_EVENTS_MAX_AGE_MS = DateUtils.DAY_IN_MILLIS;
+ private static final long USAGE_STATS_QUERY_INTERVAL_SEC = 120L;
+
+ private final Context mContext;
+ private final Injector mInjector;
+ private final ScheduledExecutorService mUsageStatsQueryExecutor;
+
+ private final SparseArray<UserData> mUserDataArray = new SparseArray<>();
+ private final SparseArray<BroadcastReceiver> mBroadcastReceivers = new SparseArray<>();
+ private final SparseArray<ContentObserver> mContactsContentObservers = new SparseArray<>();
+ private final SparseArray<ScheduledFuture<?>> mUsageStatsQueryFutures = new SparseArray<>();
+ private final SparseArray<NotificationListenerService> mNotificationListeners =
+ new SparseArray<>();
+ private final ContentObserver mCallLogContentObserver;
+ private final ContentObserver mMmsSmsContentObserver;
+
+ private ShortcutServiceInternal mShortcutServiceInternal;
+ private UsageStatsManagerInternal mUsageStatsManagerInternal;
+ private ShortcutManager mShortcutManager;
+ private UserManager mUserManager;
+
+ public DataManager(Context context) {
+ this(context, new Injector());
+ }
+
+ @VisibleForTesting
+ DataManager(Context context, Injector injector) {
+ mContext = context;
+ mInjector = injector;
+ mUsageStatsQueryExecutor = mInjector.createScheduledExecutor();
+ mCallLogContentObserver = new CallLogContentObserver(
+ BackgroundThread.getHandler());
+ mMmsSmsContentObserver = new MmsSmsContentObserver(
+ BackgroundThread.getHandler());
+ }
+
+ /** Initialization. Called when the system services are up running. */
+ public void initialize() {
+ mShortcutServiceInternal = LocalServices.getService(ShortcutServiceInternal.class);
+ mUsageStatsManagerInternal = LocalServices.getService(UsageStatsManagerInternal.class);
+ mShortcutManager = mContext.getSystemService(ShortcutManager.class);
+ mUserManager = mContext.getSystemService(UserManager.class);
+
+ mShortcutServiceInternal.addListener(new ShortcutServiceListener());
+ }
+
+ /** This method is called when a user is unlocked. */
+ public void onUserUnlocked(int userId) {
+ UserData userData = mUserDataArray.get(userId);
+ if (userData == null) {
+ userData = new UserData(userId);
+ mUserDataArray.put(userId, userData);
+ }
+ userData.setUserUnlocked();
+ updateDefaultDialer(userData);
+ updateDefaultSmsApp(userData);
+
+ ScheduledFuture<?> scheduledFuture = mUsageStatsQueryExecutor.scheduleAtFixedRate(
+ new UsageStatsQueryRunnable(userId), 1L, USAGE_STATS_QUERY_INTERVAL_SEC,
+ TimeUnit.SECONDS);
+ mUsageStatsQueryFutures.put(userId, scheduledFuture);
+
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction(TelecomManager.ACTION_DEFAULT_DIALER_CHANGED);
+ intentFilter.addAction(SmsApplication.ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL);
+ BroadcastReceiver broadcastReceiver = new PerUserBroadcastReceiver(userId);
+ mBroadcastReceivers.put(userId, broadcastReceiver);
+ mContext.registerReceiverAsUser(
+ broadcastReceiver, UserHandle.of(userId), intentFilter, null, null);
+
+ ContentObserver contactsContentObserver = new ContactsContentObserver(
+ BackgroundThread.getHandler());
+ mContactsContentObservers.put(userId, contactsContentObserver);
+ mContext.getContentResolver().registerContentObserver(
+ Contacts.CONTENT_URI, /* notifyForDescendants= */ true,
+ contactsContentObserver, userId);
+
+ NotificationListener notificationListener = new NotificationListener();
+ mNotificationListeners.put(userId, notificationListener);
+ try {
+ notificationListener.registerAsSystemService(mContext,
+ new ComponentName(PLATFORM_PACKAGE_NAME, getClass().getSimpleName()),
+ UserHandle.myUserId());
+ } catch (RemoteException e) {
+ // Should never occur for local calls.
+ }
+
+ if (userId == UserHandle.USER_SYSTEM) {
+ // The call log and MMS/SMS messages are shared across user profiles. So only need to
+ // register the content observers once for the primary user.
+ // TODO: Register observers after the conversations and events being loaded from disk.
+ mContext.getContentResolver().registerContentObserver(
+ CallLog.CONTENT_URI, /* notifyForDescendants= */ true,
+ mCallLogContentObserver, UserHandle.USER_SYSTEM);
+ mContext.getContentResolver().registerContentObserver(
+ MmsSms.CONTENT_URI, /* notifyForDescendants= */ false,
+ mMmsSmsContentObserver, UserHandle.USER_SYSTEM);
+ }
+ }
+
+ /** This method is called when a user is stopped. */
+ public void onUserStopped(int userId) {
+ if (mUserDataArray.indexOfKey(userId) >= 0) {
+ mUserDataArray.get(userId).setUserStopped();
+ }
+ if (mUsageStatsQueryFutures.indexOfKey(userId) >= 0) {
+ mUsageStatsQueryFutures.valueAt(userId).cancel(true);
+ }
+ if (mBroadcastReceivers.indexOfKey(userId) >= 0) {
+ mContext.unregisterReceiver(mBroadcastReceivers.get(userId));
+ }
+ if (mContactsContentObservers.indexOfKey(userId) >= 0) {
+ mContext.getContentResolver().unregisterContentObserver(
+ mContactsContentObservers.get(userId));
+ }
+ if (mNotificationListeners.indexOfKey(userId) >= 0) {
+ try {
+ mNotificationListeners.get(userId).unregisterAsSystemService();
+ } catch (RemoteException e) {
+ // Should never occur for local calls.
+ }
+ }
+ if (userId == UserHandle.USER_SYSTEM) {
+ mContext.getContentResolver().unregisterContentObserver(mCallLogContentObserver);
+ mContext.getContentResolver().unregisterContentObserver(mMmsSmsContentObserver);
+ }
+ }
+
+ /**
+ * Iterates through all the {@link PackageData}s owned by the unlocked users who are in the
+ * same profile group as the calling user.
+ */
+ public void forAllPackages(Consumer<PackageData> consumer) {
+ List<UserInfo> users = mUserManager.getEnabledProfiles(mInjector.getCallingUserId());
+ for (UserInfo userInfo : users) {
+ UserData userData = getUnlockedUserData(userInfo.id);
+ if (userData != null) {
+ userData.forAllPackages(consumer);
+ }
+ }
+ }
+
+ /** Gets the {@link PackageData} for the given package and user. */
+ @Nullable
+ public PackageData getPackage(@NonNull String packageName, @UserIdInt int userId) {
+ UserData userData = getUnlockedUserData(userId);
+ return userData != null ? userData.getPackageData(packageName) : null;
+ }
+
+ /** Gets the {@link ShortcutInfo} for the given shortcut ID. */
+ @Nullable
+ public ShortcutInfo getShortcut(@NonNull String packageName, @UserIdInt int userId,
+ @NonNull String shortcutId) {
+ List<ShortcutInfo> shortcuts = getShortcuts(packageName, userId,
+ Collections.singletonList(shortcutId));
+ if (shortcuts != null && !shortcuts.isEmpty()) {
+ return shortcuts.get(0);
+ }
+ return null;
+ }
+
+ /**
+ * Gets the {@link ShareShortcutInfo}s from all packages owned by the calling user that match
+ * the specified {@link IntentFilter}.
+ */
+ public List<ShareShortcutInfo> getShareShortcuts(@NonNull IntentFilter intentFilter) {
+ return mShortcutManager.getShareTargets(intentFilter);
+ }
+
+ /** Reports the {@link AppTargetEvent} from App Prediction Manager. */
+ public void reportAppTargetEvent(@NonNull AppTargetEvent event,
+ @Nullable IntentFilter intentFilter) {
+ AppTarget appTarget = event.getTarget();
+ ShortcutInfo shortcutInfo = appTarget != null ? appTarget.getShortcutInfo() : null;
+ if (shortcutInfo == null || event.getAction() != AppTargetEvent.ACTION_LAUNCH) {
+ return;
+ }
+ PackageData packageData = getPackage(appTarget.getPackageName(),
+ appTarget.getUser().getIdentifier());
+ if (packageData == null) {
+ return;
+ }
+ if (ChooserActivity.LAUNCH_LOCATON_DIRECT_SHARE.equals(event.getLaunchLocation())) {
+ String mimeType = intentFilter != null ? intentFilter.getDataType(0) : null;
+ String shortcutId = shortcutInfo.getId();
+ if (packageData.getConversationStore().getConversation(shortcutId) == null
+ || TextUtils.isEmpty(mimeType)) {
+ return;
+ }
+ EventHistoryImpl eventHistory =
+ packageData.getEventStore().getOrCreateShortcutEventHistory(
+ shortcutInfo.getId());
+ @Event.EventType int eventType;
+ if (mimeType.startsWith("text/")) {
+ eventType = Event.TYPE_SHARE_TEXT;
+ } else if (mimeType.startsWith("image/")) {
+ eventType = Event.TYPE_SHARE_IMAGE;
+ } else if (mimeType.startsWith("video/")) {
+ eventType = Event.TYPE_SHARE_VIDEO;
+ } else {
+ eventType = Event.TYPE_SHARE_OTHER;
+ }
+ eventHistory.addEvent(new Event(System.currentTimeMillis(), eventType));
+ }
+ }
+
+ /** Gets a list of {@link ShortcutInfo}s with the given shortcut IDs. */
+ private List<ShortcutInfo> getShortcuts(
+ @NonNull String packageName, @UserIdInt int userId,
+ @Nullable List<String> shortcutIds) {
+ @ShortcutQuery.QueryFlags int queryFlags = ShortcutQuery.FLAG_MATCH_DYNAMIC
+ | ShortcutQuery.FLAG_MATCH_PINNED | ShortcutQuery.FLAG_MATCH_PINNED_BY_ANY_LAUNCHER;
+ return mShortcutServiceInternal.getShortcuts(
+ mInjector.getCallingUserId(), /*callingPackage=*/ PLATFORM_PACKAGE_NAME,
+ /*changedSince=*/ 0, packageName, shortcutIds, /*componentName=*/ null, queryFlags,
+ userId, MY_PID, MY_UID);
+ }
+
+ private void forAllUnlockedUsers(Consumer<UserData> consumer) {
+ for (int i = 0; i < mUserDataArray.size(); i++) {
+ UserData userData = mUserDataArray.get(i);
+ if (userData.isUnlocked()) {
+ consumer.accept(userData);
+ }
+ }
+ }
+
+ @Nullable
+ private UserData getUnlockedUserData(int userId) {
+ UserData userData = mUserDataArray.get(userId);
+ return userData != null && userData.isUnlocked() ? userData : null;
+ }
+
+ private void updateDefaultDialer(@NonNull UserData userData) {
+ TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
+ String defaultDialer = telecomManager != null
+ ? telecomManager.getDefaultDialerPackage(userData.getUserId()) : null;
+ userData.setDefaultDialer(defaultDialer);
+ }
+
+ private void updateDefaultSmsApp(@NonNull UserData userData) {
+ ComponentName component = SmsApplication.getDefaultSmsApplicationAsUser(
+ mContext, /* updateIfNeeded= */ false, userData.getUserId());
+ String defaultSmsApp = component != null ? component.getPackageName() : null;
+ userData.setDefaultSmsApp(defaultSmsApp);
+ }
+
+ @Nullable
+ private EventHistoryImpl getEventHistoryIfEligible(StatusBarNotification sbn) {
+ Notification notification = sbn.getNotification();
+ String shortcutId = notification.getShortcutId();
+ if (shortcutId == null) {
+ return null;
+ }
+ PackageData packageData = getPackage(sbn.getPackageName(),
+ sbn.getUser().getIdentifier());
+ if (packageData == null
+ || packageData.getConversationStore().getConversation(shortcutId) == null) {
+ return null;
+ }
+ return packageData.getEventStore().getOrCreateShortcutEventHistory(shortcutId);
+ }
+
+ @VisibleForTesting
+ @WorkerThread
+ void onShortcutAddedOrUpdated(@NonNull ShortcutInfo shortcutInfo) {
+ if (shortcutInfo.getPersons() == null || shortcutInfo.getPersons().length == 0) {
+ return;
+ }
+ UserData userData = getUnlockedUserData(shortcutInfo.getUserId());
+ if (userData == null) {
+ return;
+ }
+ PackageData packageData = userData.getOrCreatePackageData(shortcutInfo.getPackage());
+ ConversationStore conversationStore = packageData.getConversationStore();
+ ConversationInfo oldConversationInfo =
+ conversationStore.getConversation(shortcutInfo.getId());
+ ConversationInfo.Builder builder = oldConversationInfo != null
+ ? new ConversationInfo.Builder(oldConversationInfo)
+ : new ConversationInfo.Builder();
+
+ builder.setShortcutId(shortcutInfo.getId());
+ builder.setLocusId(shortcutInfo.getLocusId());
+ builder.setShortcutFlags(shortcutInfo.getFlags());
+
+ Person person = shortcutInfo.getPersons()[0];
+ builder.setPersonImportant(person.isImportant());
+ builder.setPersonBot(person.isBot());
+ String contactUri = person.getUri();
+ if (contactUri != null) {
+ ContactsQueryHelper helper = mInjector.createContactsQueryHelper(mContext);
+ if (helper.query(contactUri)) {
+ builder.setContactUri(helper.getContactUri());
+ builder.setContactStarred(helper.isStarred());
+ builder.setContactPhoneNumber(helper.getPhoneNumber());
+ }
+ } else {
+ builder.setContactUri(null);
+ builder.setContactPhoneNumber(null);
+ builder.setContactStarred(false);
+ }
+
+ conversationStore.addOrUpdate(builder.build());
+ }
+
+ @VisibleForTesting
+ @WorkerThread
+ void queryUsageStatsService(@UserIdInt int userId, long currentTime, long lastQueryTime) {
+ UsageEvents usageEvents = mUsageStatsManagerInternal.queryEventsForUser(
+ userId, lastQueryTime, currentTime, false, false);
+ if (usageEvents == null) {
+ return;
+ }
+ while (usageEvents.hasNextEvent()) {
+ UsageEvents.Event e = new UsageEvents.Event();
+ usageEvents.getNextEvent(e);
+
+ String packageName = e.getPackageName();
+ PackageData packageData = getPackage(packageName, userId);
+ if (packageData == null) {
+ continue;
+ }
+ if (e.getEventType() == UsageEvents.Event.SHORTCUT_INVOCATION) {
+ String shortcutId = e.getShortcutId();
+ if (packageData.getConversationStore().getConversation(shortcutId) != null) {
+ EventHistoryImpl eventHistory =
+ packageData.getEventStore().getOrCreateShortcutEventHistory(
+ shortcutId);
+ eventHistory.addEvent(
+ new Event(e.getTimeStamp(), Event.TYPE_SHORTCUT_INVOCATION));
+ }
+ }
+ }
+ }
+
+ @VisibleForTesting
+ ContentObserver getContactsContentObserverForTesting(@UserIdInt int userId) {
+ return mContactsContentObservers.get(userId);
+ }
+
+ @VisibleForTesting
+ ContentObserver getCallLogContentObserverForTesting() {
+ return mCallLogContentObserver;
+ }
+
+ @VisibleForTesting
+ ContentObserver getMmsSmsContentObserverForTesting() {
+ return mMmsSmsContentObserver;
+ }
+
+ @VisibleForTesting
+ NotificationListenerService getNotificationListenerServiceForTesting(@UserIdInt int userId) {
+ return mNotificationListeners.get(userId);
+ }
+
+ @VisibleForTesting
+ UserData getUserDataForTesting(@UserIdInt int userId) {
+ return mUserDataArray.get(userId);
+ }
+
+ /** Observer that observes the changes in the Contacts database. */
+ private class ContactsContentObserver extends ContentObserver {
+
+ private long mLastUpdatedTimestamp;
+
+ private ContactsContentObserver(Handler handler) {
+ super(handler);
+ mLastUpdatedTimestamp = System.currentTimeMillis();
+ }
+
+ @Override
+ public void onChange(boolean selfChange, Uri uri, @UserIdInt int userId) {
+ ContactsQueryHelper helper = mInjector.createContactsQueryHelper(mContext);
+ if (!helper.querySince(mLastUpdatedTimestamp)) {
+ return;
+ }
+ Uri contactUri = helper.getContactUri();
+
+ final ConversationSelector conversationSelector = new ConversationSelector();
+ UserData userData = getUnlockedUserData(userId);
+ if (userData == null) {
+ return;
+ }
+ userData.forAllPackages(packageData -> {
+ ConversationInfo ci =
+ packageData.getConversationStore().getConversationByContactUri(contactUri);
+ if (ci != null) {
+ conversationSelector.mConversationStore =
+ packageData.getConversationStore();
+ conversationSelector.mConversationInfo = ci;
+ }
+ });
+ if (conversationSelector.mConversationInfo == null) {
+ return;
+ }
+
+ ConversationInfo.Builder builder =
+ new ConversationInfo.Builder(conversationSelector.mConversationInfo);
+ builder.setContactStarred(helper.isStarred());
+ builder.setContactPhoneNumber(helper.getPhoneNumber());
+ conversationSelector.mConversationStore.addOrUpdate(builder.build());
+ mLastUpdatedTimestamp = helper.getLastUpdatedTimestamp();
+ }
+
+ private class ConversationSelector {
+ private ConversationStore mConversationStore = null;
+ private ConversationInfo mConversationInfo = null;
+ }
+ }
+
+ /** Observer that observes the changes in the call log database. */
+ private class CallLogContentObserver extends ContentObserver implements
+ BiConsumer<String, Event> {
+
+ private final CallLogQueryHelper mCallLogQueryHelper;
+ private long mLastCallTimestamp;
+
+ private CallLogContentObserver(Handler handler) {
+ super(handler);
+ mCallLogQueryHelper = mInjector.createCallLogQueryHelper(mContext, this);
+ mLastCallTimestamp = System.currentTimeMillis() - QUERY_EVENTS_MAX_AGE_MS;
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ if (mCallLogQueryHelper.querySince(mLastCallTimestamp)) {
+ mLastCallTimestamp = mCallLogQueryHelper.getLastCallTimestamp();
+ }
+ }
+
+ @Override
+ public void accept(String phoneNumber, Event event) {
+ forAllUnlockedUsers(userData -> {
+ PackageData defaultDialer = userData.getDefaultDialer();
+ if (defaultDialer == null) {
+ return;
+ }
+ ConversationStore conversationStore = defaultDialer.getConversationStore();
+ if (conversationStore.getConversationByPhoneNumber(phoneNumber) == null) {
+ return;
+ }
+ EventStore eventStore = defaultDialer.getEventStore();
+ eventStore.getOrCreateCallEventHistory(phoneNumber).addEvent(event);
+ });
+ }
+ }
+
+ /** Observer that observes the changes in the MMS & SMS database. */
+ private class MmsSmsContentObserver extends ContentObserver implements
+ BiConsumer<String, Event> {
+
+ private final MmsQueryHelper mMmsQueryHelper;
+ private long mLastMmsTimestamp;
+
+ private final SmsQueryHelper mSmsQueryHelper;
+ private long mLastSmsTimestamp;
+
+ private MmsSmsContentObserver(Handler handler) {
+ super(handler);
+ mMmsQueryHelper = mInjector.createMmsQueryHelper(mContext, this);
+ mSmsQueryHelper = mInjector.createSmsQueryHelper(mContext, this);
+ mLastSmsTimestamp = mLastMmsTimestamp =
+ System.currentTimeMillis() - QUERY_EVENTS_MAX_AGE_MS;
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ if (mMmsQueryHelper.querySince(mLastMmsTimestamp)) {
+ mLastMmsTimestamp = mMmsQueryHelper.getLastMessageTimestamp();
+ }
+ if (mSmsQueryHelper.querySince(mLastSmsTimestamp)) {
+ mLastSmsTimestamp = mSmsQueryHelper.getLastMessageTimestamp();
+ }
+ }
+
+ @Override
+ public void accept(String phoneNumber, Event event) {
+ forAllUnlockedUsers(userData -> {
+ PackageData defaultSmsApp = userData.getDefaultSmsApp();
+ if (defaultSmsApp == null) {
+ return;
+ }
+ ConversationStore conversationStore = defaultSmsApp.getConversationStore();
+ if (conversationStore.getConversationByPhoneNumber(phoneNumber) == null) {
+ return;
+ }
+ EventStore eventStore = defaultSmsApp.getEventStore();
+ eventStore.getOrCreateSmsEventHistory(phoneNumber).addEvent(event);
+ });
+ }
+ }
+
+ /** Listener for the shortcut data changes. */
+ private class ShortcutServiceListener implements
+ ShortcutServiceInternal.ShortcutChangeListener {
+
+ @Override
+ public void onShortcutChanged(@NonNull String packageName, int userId) {
+ BackgroundThread.getExecutor().execute(() -> {
+ List<ShortcutInfo> shortcuts = getShortcuts(packageName, userId,
+ /*shortcutIds=*/ null);
+ for (ShortcutInfo shortcut : shortcuts) {
+ onShortcutAddedOrUpdated(shortcut);
+ }
+ });
+ }
+ }
+
+ /** Listener for the notifications and their settings changes. */
+ private class NotificationListener extends NotificationListenerService {
+
+ @Override
+ public void onNotificationRemoved(StatusBarNotification sbn, RankingMap rankingMap,
+ int reason) {
+ if (reason != REASON_CLICK) {
+ return;
+ }
+ EventHistoryImpl eventHistory = getEventHistoryIfEligible(sbn);
+ if (eventHistory == null) {
+ return;
+ }
+ long currentTime = System.currentTimeMillis();
+ eventHistory.addEvent(new Event(currentTime, Event.TYPE_NOTIFICATION_OPENED));
+ }
+ }
+
+ /**
+ * A {@link Runnable} that queries the Usage Stats Service for recent events for a specified
+ * user.
+ */
+ private class UsageStatsQueryRunnable implements Runnable {
+
+ private final int mUserId;
+ private long mLastQueryTime;
+
+ private UsageStatsQueryRunnable(int userId) {
+ mUserId = userId;
+ mLastQueryTime = System.currentTimeMillis() - QUERY_EVENTS_MAX_AGE_MS;
+ }
+
+ @Override
+ public void run() {
+ long currentTime = System.currentTimeMillis();
+ queryUsageStatsService(mUserId, currentTime, mLastQueryTime);
+ mLastQueryTime = currentTime;
+ }
+ }
+
+ /** A {@link BroadcastReceiver} that receives the intents for a specified user. */
+ private class PerUserBroadcastReceiver extends BroadcastReceiver {
+
+ private final int mUserId;
+
+ private PerUserBroadcastReceiver(int userId) {
+ mUserId = userId;
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ UserData userData = getUnlockedUserData(mUserId);
+ if (userData == null) {
+ return;
+ }
+ if (TelecomManager.ACTION_DEFAULT_DIALER_CHANGED.equals(intent.getAction())) {
+ String defaultDialer = intent.getStringExtra(
+ TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME);
+ userData.setDefaultDialer(defaultDialer);
+ } else if (SmsApplication.ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL.equals(
+ intent.getAction())) {
+ updateDefaultSmsApp(userData);
+ }
+ }
+ }
+
+ @VisibleForTesting
+ static class Injector {
+
+ ScheduledExecutorService createScheduledExecutor() {
+ return Executors.newSingleThreadScheduledExecutor();
+ }
+
+ ContactsQueryHelper createContactsQueryHelper(Context context) {
+ return new ContactsQueryHelper(context);
+ }
+
+ CallLogQueryHelper createCallLogQueryHelper(Context context,
+ BiConsumer<String, Event> eventConsumer) {
+ return new CallLogQueryHelper(context, eventConsumer);
+ }
+
+ MmsQueryHelper createMmsQueryHelper(Context context,
+ BiConsumer<String, Event> eventConsumer) {
+ return new MmsQueryHelper(context, eventConsumer);
+ }
+
+ SmsQueryHelper createSmsQueryHelper(Context context,
+ BiConsumer<String, Event> eventConsumer) {
+ return new SmsQueryHelper(context, eventConsumer);
+ }
+
+ int getCallingUserId() {
+ return Binder.getCallingUserHandle().getIdentifier();
+ }
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/Event.java b/services/people/java/com/android/server/people/data/Event.java
new file mode 100644
index 000000000000..c2364a295e30
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/Event.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.text.format.DateFormat;
+import android.util.ArraySet;
+
+import com.android.internal.util.Preconditions;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.Set;
+
+/** An event representing the interaction with a specific conversation or app. */
+public class Event {
+
+ public static final int TYPE_SHORTCUT_INVOCATION = 1;
+
+ public static final int TYPE_NOTIFICATION_POSTED = 2;
+
+ public static final int TYPE_NOTIFICATION_OPENED = 3;
+
+ public static final int TYPE_SHARE_TEXT = 4;
+
+ public static final int TYPE_SHARE_IMAGE = 5;
+
+ public static final int TYPE_SHARE_VIDEO = 6;
+
+ public static final int TYPE_SHARE_OTHER = 7;
+
+ public static final int TYPE_SMS_OUTGOING = 8;
+
+ public static final int TYPE_SMS_INCOMING = 9;
+
+ public static final int TYPE_CALL_OUTGOING = 10;
+
+ public static final int TYPE_CALL_INCOMING = 11;
+
+ public static final int TYPE_CALL_MISSED = 12;
+
+ @IntDef(prefix = { "TYPE_" }, value = {
+ TYPE_SHORTCUT_INVOCATION,
+ TYPE_NOTIFICATION_POSTED,
+ TYPE_NOTIFICATION_OPENED,
+ TYPE_SHARE_TEXT,
+ TYPE_SHARE_IMAGE,
+ TYPE_SHARE_VIDEO,
+ TYPE_SHARE_OTHER,
+ TYPE_SMS_OUTGOING,
+ TYPE_SMS_INCOMING,
+ TYPE_CALL_OUTGOING,
+ TYPE_CALL_INCOMING,
+ TYPE_CALL_MISSED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface EventType {}
+
+ public static final Set<Integer> NOTIFICATION_EVENT_TYPES = new ArraySet<>();
+ public static final Set<Integer> SHARE_EVENT_TYPES = new ArraySet<>();
+ public static final Set<Integer> SMS_EVENT_TYPES = new ArraySet<>();
+ public static final Set<Integer> CALL_EVENT_TYPES = new ArraySet<>();
+ public static final Set<Integer> ALL_EVENT_TYPES = new ArraySet<>();
+
+ static {
+ NOTIFICATION_EVENT_TYPES.add(TYPE_NOTIFICATION_POSTED);
+ NOTIFICATION_EVENT_TYPES.add(TYPE_NOTIFICATION_OPENED);
+
+ SHARE_EVENT_TYPES.add(TYPE_SHARE_TEXT);
+ SHARE_EVENT_TYPES.add(TYPE_SHARE_IMAGE);
+ SHARE_EVENT_TYPES.add(TYPE_SHARE_VIDEO);
+ SHARE_EVENT_TYPES.add(TYPE_SHARE_OTHER);
+
+ SMS_EVENT_TYPES.add(TYPE_SMS_INCOMING);
+ SMS_EVENT_TYPES.add(TYPE_SMS_OUTGOING);
+
+ CALL_EVENT_TYPES.add(TYPE_CALL_INCOMING);
+ CALL_EVENT_TYPES.add(TYPE_CALL_OUTGOING);
+ CALL_EVENT_TYPES.add(TYPE_CALL_MISSED);
+
+ ALL_EVENT_TYPES.add(TYPE_SHORTCUT_INVOCATION);
+ ALL_EVENT_TYPES.addAll(NOTIFICATION_EVENT_TYPES);
+ ALL_EVENT_TYPES.addAll(SHARE_EVENT_TYPES);
+ ALL_EVENT_TYPES.addAll(SMS_EVENT_TYPES);
+ ALL_EVENT_TYPES.addAll(CALL_EVENT_TYPES);
+ }
+
+ private final long mTimestamp;
+
+ private final int mType;
+
+ private final CallDetails mCallDetails;
+
+ Event(long timestamp, @EventType int type) {
+ mTimestamp = timestamp;
+ mType = type;
+ mCallDetails = null;
+ }
+
+ private Event(@NonNull Builder builder) {
+ mTimestamp = builder.mTimestamp;
+ mType = builder.mType;
+ mCallDetails = builder.mCallDetails;
+ }
+
+ public long getTimestamp() {
+ return mTimestamp;
+ }
+
+ public @EventType int getType() {
+ return mType;
+ }
+
+ /**
+ * Gets the {@link CallDetails} of the event. It is only available if the event type is one of
+ * {@code CALL_EVENT_TYPES}, otherwise, it's always {@code null}.
+ */
+ @Nullable
+ public CallDetails getCallDetails() {
+ return mCallDetails;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Event {");
+ sb.append("timestamp=").append(DateFormat.format("yyyy-MM-dd HH:mm:ss", mTimestamp));
+ sb.append(", type=").append(mType);
+ if (mCallDetails != null) {
+ sb.append(", callDetails=").append(mCallDetails);
+ }
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /** Type-specific details of a call event. */
+ public static class CallDetails {
+
+ private final long mDurationSeconds;
+
+ CallDetails(long durationSeconds) {
+ mDurationSeconds = durationSeconds;
+ }
+
+ public long getDurationSeconds() {
+ return mDurationSeconds;
+ }
+
+ @Override
+ public String toString() {
+ return "CallDetails {durationSeconds=" + mDurationSeconds + "}";
+ }
+ }
+
+ /** Builder class for {@link Event} objects. */
+ static class Builder {
+
+ private final long mTimestamp;
+
+ private final int mType;
+
+ private CallDetails mCallDetails;
+
+ Builder(long timestamp, @EventType int type) {
+ mTimestamp = timestamp;
+ mType = type;
+ }
+
+ Builder setCallDetails(CallDetails callDetails) {
+ Preconditions.checkArgument(CALL_EVENT_TYPES.contains(mType));
+ mCallDetails = callDetails;
+ return this;
+ }
+
+ Event build() {
+ return new Event(this);
+ }
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/EventHistory.java b/services/people/java/com/android/server/people/data/EventHistory.java
new file mode 100644
index 000000000000..5b11fd0caf05
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/EventHistory.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+
+import java.util.List;
+import java.util.Set;
+
+/** The interface for querying the event time distribution and details. */
+public interface EventHistory {
+
+ /** Gets the {@link EventIndex} for the specified event type. */
+ @NonNull
+ EventIndex getEventIndex(@Event.EventType int eventType);
+
+ /** Gets the combined {@link EventIndex} for a set of event types. */
+ @NonNull
+ EventIndex getEventIndex(Set<Integer> eventTypes);
+
+ /**
+ * Returns a {@link List} of {@link Event}s those timestamps are between the specified {@code
+ * fromTimestamp}, inclusive, and {@code toTimestamp} exclusive, and match the specified event
+ * types.
+ *
+ * @return a list of matched events in chronological order.
+ */
+ @NonNull
+ List<Event> queryEvents(Set<Integer> eventTypes, long fromTimestamp, long toTimestamp);
+}
diff --git a/services/people/java/com/android/server/people/data/EventHistoryImpl.java b/services/people/java/com/android/server/people/data/EventHistoryImpl.java
new file mode 100644
index 000000000000..6b6bd7e3cfb0
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/EventHistoryImpl.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.util.SparseArray;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.List;
+import java.util.Set;
+
+class EventHistoryImpl implements EventHistory {
+
+ private final Injector mInjector;
+
+ // Event Type -> Event Index
+ private final SparseArray<EventIndex> mEventIndexArray = new SparseArray<>();
+
+ private final EventList mRecentEvents = new EventList();
+
+ EventHistoryImpl() {
+ mInjector = new Injector();
+ }
+
+ @VisibleForTesting
+ EventHistoryImpl(Injector injector) {
+ mInjector = injector;
+ }
+
+ @Override
+ @NonNull
+ public EventIndex getEventIndex(@Event.EventType int eventType) {
+ EventIndex eventIndex = mEventIndexArray.get(eventType);
+ return eventIndex != null ? new EventIndex(eventIndex) : mInjector.createEventIndex();
+ }
+
+ @Override
+ @NonNull
+ public EventIndex getEventIndex(Set<Integer> eventTypes) {
+ EventIndex combined = mInjector.createEventIndex();
+ for (@Event.EventType int eventType : eventTypes) {
+ EventIndex eventIndex = mEventIndexArray.get(eventType);
+ if (eventIndex != null) {
+ combined = EventIndex.combine(combined, eventIndex);
+ }
+ }
+ return combined;
+ }
+
+ @Override
+ @NonNull
+ public List<Event> queryEvents(Set<Integer> eventTypes, long startTime, long endTime) {
+ return mRecentEvents.queryEvents(eventTypes, startTime, endTime);
+ }
+
+ void addEvent(Event event) {
+ EventIndex eventIndex = mEventIndexArray.get(event.getType());
+ if (eventIndex == null) {
+ eventIndex = mInjector.createEventIndex();
+ mEventIndexArray.put(event.getType(), eventIndex);
+ }
+ eventIndex.addEvent(event.getTimestamp());
+ mRecentEvents.add(event);
+ }
+
+ @VisibleForTesting
+ static class Injector {
+
+ EventIndex createEventIndex() {
+ return new EventIndex();
+ }
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/EventIndex.java b/services/people/java/com/android/server/people/data/EventIndex.java
new file mode 100644
index 000000000000..b74a3fae98a5
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/EventIndex.java
@@ -0,0 +1,377 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.text.format.DateFormat;
+import android.util.Range;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.TimeZone;
+import java.util.function.Function;
+
+/**
+ * The index of {@link Event}s. It is used for quickly looking up the time distribution of
+ * {@link Event}s based on {@code Event#getTimestamp()}.
+ *
+ * <p>The 64-bits {code long} is used as the bitmap index. Each bit is to denote whether there are
+ * any events in a specified time slot. The least significant bit is for the most recent time slot.
+ * And the most significant bit is for the oldest time slot.
+ *
+ * <p>Multiple {code long}s are used to index the events in different time grains. For the recent
+ * events, the fine-grained bitmap index can provide the narrower time range. For the older events,
+ * the coarse-grained bitmap index can cover longer period but can only provide wider time range.
+ *
+ * <p>E.g. the below chart shows how the bitmap indexes index the events in the past 24 hours:
+ * <pre>
+ * 2020/1/3 2020/1/4
+ * 0:00 4:00 8:00 12:00 16:00 20:00 0:00
+ * --+-----------------------------------------------------------------------+- 1 day per bit
+ * --+-----------+-----------+-----------+-----------+-----------+-----------+- 4 hours per bit
+ * --+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+- 1 hour per bit
+ * +++++++++ 2 minutes per bit
+ * </pre>
+ */
+public class EventIndex {
+
+ private static final int LONG_SIZE_BITS = 64;
+
+ private static final int TIME_SLOT_ONE_DAY = 0;
+
+ private static final int TIME_SLOT_FOUR_HOURS = 1;
+
+ private static final int TIME_SLOT_ONE_HOUR = 2;
+
+ private static final int TIME_SLOT_TWO_MINUTES = 3;
+
+ @IntDef(prefix = {"TIME_SLOT_"}, value = {
+ TIME_SLOT_ONE_DAY,
+ TIME_SLOT_FOUR_HOURS,
+ TIME_SLOT_ONE_HOUR,
+ TIME_SLOT_TWO_MINUTES,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ private @interface TimeSlotType {
+ }
+
+ private static final int TIME_SLOT_TYPES_COUNT = 4;
+
+ static final EventIndex EMPTY = new EventIndex();
+
+ private static final List<Function<Long, Range<Long>>> TIME_SLOT_FACTORIES =
+ Collections.unmodifiableList(
+ Arrays.asList(
+ EventIndex::createOneDayLongTimeSlot,
+ EventIndex::createFourHoursLongTimeSlot,
+ EventIndex::createOneHourLongTimeSlot,
+ EventIndex::createTwoMinutesLongTimeSlot
+ )
+ );
+
+ /** Combines the two {@link EventIndex} objects and returns the combined result. */
+ static EventIndex combine(EventIndex lhs, EventIndex rhs) {
+ EventIndex older = lhs.mLastUpdatedTime < rhs.mLastUpdatedTime ? lhs : rhs;
+ EventIndex younger = lhs.mLastUpdatedTime >= rhs.mLastUpdatedTime ? lhs : rhs;
+
+ EventIndex combined = new EventIndex(older);
+ combined.updateEventBitmaps(younger.mLastUpdatedTime);
+
+ for (int slotType = 0; slotType < TIME_SLOT_TYPES_COUNT; slotType++) {
+ combined.mEventBitmaps[slotType] |= younger.mEventBitmaps[slotType];
+ }
+ return combined;
+ }
+
+ private final long[] mEventBitmaps;
+
+ private long mLastUpdatedTime;
+
+ private final Object mLock = new Object();
+
+ private final Injector mInjector;
+
+ EventIndex() {
+ mInjector = new Injector();
+ mEventBitmaps = new long[]{0L, 0L, 0L, 0L};
+ mLastUpdatedTime = mInjector.currentTimeMillis();
+ }
+
+ EventIndex(EventIndex from) {
+ mInjector = new Injector();
+ mEventBitmaps = Arrays.copyOf(from.mEventBitmaps, TIME_SLOT_TYPES_COUNT);
+ mLastUpdatedTime = from.mLastUpdatedTime;
+ }
+
+ @VisibleForTesting
+ EventIndex(Injector injector) {
+ mInjector = injector;
+ mEventBitmaps = new long[]{0L, 0L, 0L, 0L};
+ mLastUpdatedTime = mInjector.currentTimeMillis();
+ }
+
+ /**
+ * Gets the most recent active time slot. A time slot is active if there is at least one event
+ * occurred in that time slot.
+ */
+ @Nullable
+ public Range<Long> getMostRecentActiveTimeSlot() {
+ synchronized (mLock) {
+ for (int slotType = TIME_SLOT_TYPES_COUNT - 1; slotType >= 0; slotType--) {
+ if (mEventBitmaps[slotType] == 0L) {
+ continue;
+ }
+ Range<Long> lastTimeSlot =
+ TIME_SLOT_FACTORIES.get(slotType).apply(mLastUpdatedTime);
+ int numberOfTrailingZeros = Long.numberOfTrailingZeros(mEventBitmaps[slotType]);
+ long offset = getDuration(lastTimeSlot) * numberOfTrailingZeros;
+ return Range.create(lastTimeSlot.getLower() - offset,
+ lastTimeSlot.getUpper() - offset);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Gets the active time slots. A time slot is active if there is at least one event occurred
+ * in that time slot.
+ *
+ * @return active time slots in chronological order.
+ */
+ @NonNull
+ public List<Range<Long>> getActiveTimeSlots() {
+ List<Range<Long>> activeTimeSlots = new ArrayList<>();
+ synchronized (mLock) {
+ for (int slotType = 0; slotType < TIME_SLOT_TYPES_COUNT; slotType++) {
+ activeTimeSlots = combineTimeSlotLists(activeTimeSlots,
+ getActiveTimeSlotsForType(slotType));
+ }
+ }
+ Collections.reverse(activeTimeSlots);
+ return activeTimeSlots;
+ }
+
+ /** Returns whether this {@link EventIndex} instance is empty. */
+ public boolean isEmpty() {
+ synchronized (mLock) {
+ for (int slotType = 0; slotType < TIME_SLOT_TYPES_COUNT; slotType++) {
+ if (mEventBitmaps[slotType] != 0L) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Adds an event to this index with the given event time. Before the new event is recorded, the
+ * index is updated first with the current timestamp.
+ */
+ void addEvent(long eventTime) {
+ if (EMPTY == this) {
+ throw new IllegalStateException("EMPTY instance is immutable");
+ }
+ synchronized (mLock) {
+ long currentTime = mInjector.currentTimeMillis();
+ updateEventBitmaps(currentTime);
+ for (int slotType = 0; slotType < TIME_SLOT_TYPES_COUNT; slotType++) {
+ int offset = diffTimeSlots(slotType, eventTime, currentTime);
+ if (offset < LONG_SIZE_BITS) {
+ mEventBitmaps[slotType] |= (1L << offset);
+ }
+ }
+ }
+ }
+
+ /** Updates to make all bitmaps up to date. */
+ void update() {
+ updateEventBitmaps(mInjector.currentTimeMillis());
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("EventIndex {");
+ sb.append("perDayEventBitmap=0b");
+ sb.append(Long.toBinaryString(mEventBitmaps[TIME_SLOT_ONE_DAY]));
+ sb.append(", perFourHoursEventBitmap=0b");
+ sb.append(Long.toBinaryString(mEventBitmaps[TIME_SLOT_FOUR_HOURS]));
+ sb.append(", perHourEventBitmap=0b");
+ sb.append(Long.toBinaryString(mEventBitmaps[TIME_SLOT_ONE_HOUR]));
+ sb.append(", perTwoMinutesEventBitmap=0b");
+ sb.append(Long.toBinaryString(mEventBitmaps[TIME_SLOT_TWO_MINUTES]));
+ sb.append(", lastUpdatedTime=");
+ sb.append(DateFormat.format("yyyy-MM-dd HH:mm:ss", mLastUpdatedTime));
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /** Shifts the event bitmaps to make them up-to-date. */
+ private void updateEventBitmaps(long currentTimeMillis) {
+ for (int slotType = 0; slotType < TIME_SLOT_TYPES_COUNT; slotType++) {
+ int offset = diffTimeSlots(slotType, mLastUpdatedTime, currentTimeMillis);
+ if (offset < LONG_SIZE_BITS) {
+ mEventBitmaps[slotType] <<= offset;
+ } else {
+ mEventBitmaps[slotType] = 0L;
+ }
+ }
+ mLastUpdatedTime = currentTimeMillis;
+ }
+
+ private static LocalDateTime toLocalDateTime(long epochMilli) {
+ return LocalDateTime.ofInstant(
+ Instant.ofEpochMilli(epochMilli), TimeZone.getDefault().toZoneId());
+ }
+
+ private static long toEpochMilli(LocalDateTime localDateTime) {
+ return localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
+ }
+
+ private static long getDuration(Range<Long> timeSlot) {
+ return timeSlot.getUpper() - timeSlot.getLower();
+ }
+
+ /**
+ * Finds the time slots for the given two timestamps and returns the distance (in the number
+ * of time slots) between these two time slots.
+ */
+ private static int diffTimeSlots(@TimeSlotType int timeSlotType, long fromTime, long toTime) {
+ Function<Long, Range<Long>> timeSlotFactory = TIME_SLOT_FACTORIES.get(timeSlotType);
+ Range<Long> fromSlot = timeSlotFactory.apply(fromTime);
+ Range<Long> toSlot = timeSlotFactory.apply(toTime);
+ return (int) ((toSlot.getLower() - fromSlot.getLower()) / getDuration(fromSlot));
+ }
+
+ /**
+ * Returns the active time slots for a specified type. The returned time slots are in
+ * reverse-chronological order.
+ */
+ private List<Range<Long>> getActiveTimeSlotsForType(@TimeSlotType int timeSlotType) {
+ long eventBitmap = mEventBitmaps[timeSlotType];
+ Range<Long> latestTimeSlot = TIME_SLOT_FACTORIES.get(timeSlotType).apply(mLastUpdatedTime);
+ long startTime = latestTimeSlot.getLower();
+ final long duration = getDuration(latestTimeSlot);
+ List<Range<Long>> timeSlots = new ArrayList<>();
+ while (eventBitmap != 0) {
+ int trailingZeros = Long.numberOfTrailingZeros(eventBitmap);
+ if (trailingZeros > 0) {
+ startTime -= duration * trailingZeros;
+ eventBitmap >>>= trailingZeros;
+ }
+ if (eventBitmap != 0) {
+ timeSlots.add(Range.create(startTime, startTime + duration));
+ startTime -= duration;
+ eventBitmap >>>= 1;
+ }
+ }
+ return timeSlots;
+ }
+
+ /**
+ * Combines two lists of time slots into one. If one longer time slot covers one or multiple
+ * shorter time slots, the smaller time slot(s) will be added to the result and the longer one
+ * will be dropped. This ensures the returned list does not contain any overlapping time slots.
+ */
+ private static List<Range<Long>> combineTimeSlotLists(List<Range<Long>> longerSlots,
+ List<Range<Long>> shorterSlots) {
+ List<Range<Long>> result = new ArrayList<>();
+ int i = 0;
+ int j = 0;
+ while (i < longerSlots.size() && j < shorterSlots.size()) {
+ Range<Long> longerSlot = longerSlots.get(i);
+ Range<Long> shorterSlot = shorterSlots.get(j);
+ if (longerSlot.contains(shorterSlot)) {
+ result.add(shorterSlot);
+ i++;
+ j++;
+ } else if (longerSlot.getLower() < shorterSlot.getLower()) {
+ result.add(shorterSlot);
+ j++;
+ } else {
+ result.add(longerSlot);
+ i++;
+ }
+ }
+ if (i < longerSlots.size()) {
+ result.addAll(longerSlots.subList(i, longerSlots.size()));
+ } else if (j < shorterSlots.size()) {
+ result.addAll(shorterSlots.subList(j, shorterSlots.size()));
+ }
+ return result;
+ }
+
+ /**
+ * Finds and creates the time slot (duration = 1 day) that the given time falls into.
+ */
+ @NonNull
+ private static Range<Long> createOneDayLongTimeSlot(long time) {
+ LocalDateTime beginTime = toLocalDateTime(time).truncatedTo(ChronoUnit.DAYS);
+ return Range.create(toEpochMilli(beginTime), toEpochMilli(beginTime.plusDays(1)));
+ }
+
+ /**
+ * Finds and creates the time slot (duration = 4 hours) that the given time falls into.
+ */
+ @NonNull
+ private static Range<Long> createFourHoursLongTimeSlot(long time) {
+ int hourOfDay = toLocalDateTime(time).getHour();
+ LocalDateTime beginTime =
+ toLocalDateTime(time).truncatedTo(ChronoUnit.HOURS).minusHours(hourOfDay % 4);
+ return Range.create(toEpochMilli(beginTime), toEpochMilli(beginTime.plusHours(4)));
+ }
+
+ /**
+ * Finds and creates the time slot (duration = 1 hour) that the given time falls into.
+ */
+ @NonNull
+ private static Range<Long> createOneHourLongTimeSlot(long time) {
+ LocalDateTime beginTime = toLocalDateTime(time).truncatedTo(ChronoUnit.HOURS);
+ return Range.create(toEpochMilli(beginTime), toEpochMilli(beginTime.plusHours(1)));
+ }
+
+ /**
+ * Finds and creates the time slot (duration = 2 minutes) that the given time falls into.
+ */
+ @NonNull
+ private static Range<Long> createTwoMinutesLongTimeSlot(long time) {
+ int minuteOfHour = toLocalDateTime(time).getMinute();
+ LocalDateTime beginTime = toLocalDateTime(time).truncatedTo(
+ ChronoUnit.MINUTES).minusMinutes(minuteOfHour % 2);
+ return Range.create(toEpochMilli(beginTime), toEpochMilli(beginTime.plusMinutes(2)));
+ }
+
+ @VisibleForTesting
+ static class Injector {
+ /** This should be the only way to get the current timestamp in {@code EventIndex}. */
+ long currentTimeMillis() {
+ return System.currentTimeMillis();
+ }
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/EventList.java b/services/people/java/com/android/server/people/data/EventList.java
new file mode 100644
index 000000000000..b267d667b422
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/EventList.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/** A container that holds a list of {@link Event}s in chronological order. */
+class EventList {
+
+ private final List<Event> mEvents = new ArrayList<>();
+
+ /**
+ * Adds an event to the list unless there is an existing event with the same timestamp and
+ * type.
+ */
+ void add(@NonNull Event event) {
+ int index = firstIndexOnOrAfter(event.getTimestamp());
+ if (index < mEvents.size()
+ && mEvents.get(index).getTimestamp() == event.getTimestamp()
+ && isDuplicate(event, index)) {
+ return;
+ }
+ mEvents.add(index, event);
+ }
+
+ /**
+ * Returns a {@link List} of {@link Event}s whose timestamps are between the specified {@code
+ * fromTimestamp}, inclusive, and {@code toTimestamp} exclusive, and match the specified event
+ * types.
+ *
+ * @return a {@link List} of matched {@link Event}s in chronological order.
+ */
+ @NonNull
+ List<Event> queryEvents(@NonNull Set<Integer> eventTypes, long fromTimestamp,
+ long toTimestamp) {
+ int fromIndex = firstIndexOnOrAfter(fromTimestamp);
+ if (fromIndex == mEvents.size()) {
+ return new ArrayList<>();
+ }
+ int toIndex = firstIndexOnOrAfter(toTimestamp);
+ if (toIndex < fromIndex) {
+ return new ArrayList<>();
+ }
+ List<Event> result = new ArrayList<>();
+ for (int i = fromIndex; i < toIndex; i++) {
+ Event e = mEvents.get(i);
+ if (eventTypes.contains(e.getType())) {
+ result.add(e);
+ }
+ }
+ return result;
+ }
+
+ /** Returns the first index whose timestamp is greater or equal to the provided timestamp. */
+ private int firstIndexOnOrAfter(long timestamp) {
+ int result = mEvents.size();
+ int low = 0;
+ int high = mEvents.size() - 1;
+ while (low <= high) {
+ int mid = (low + high) >>> 1;
+ if (mEvents.get(mid).getTimestamp() >= timestamp) {
+ high = mid - 1;
+ result = mid;
+ } else {
+ low = mid + 1;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Checks whether the {@link Event} is duplicate with one of the existing events. The checking
+ * starts from the {@code startIndex}.
+ */
+ private boolean isDuplicate(Event event, int startIndex) {
+ int size = mEvents.size();
+ int index = startIndex;
+ while (index < size && mEvents.get(index).getTimestamp() <= event.getTimestamp()) {
+ if (mEvents.get(index++).getType() == event.getType()) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/EventStore.java b/services/people/java/com/android/server/people/data/EventStore.java
new file mode 100644
index 000000000000..d6b7a863ca2d
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/EventStore.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.LocusId;
+import android.util.ArrayMap;
+
+import java.util.Map;
+
+/** The store that stores and accesses the events data for a package. */
+class EventStore {
+
+ private final EventHistoryImpl mPackageEventHistory = new EventHistoryImpl();
+
+ // Shortcut ID -> Event History
+ private final Map<String, EventHistoryImpl> mShortcutEventHistoryMap = new ArrayMap<>();
+
+ // Locus ID -> Event History
+ private final Map<LocusId, EventHistoryImpl> mLocusEventHistoryMap = new ArrayMap<>();
+
+ // Phone Number -> Event History
+ private final Map<String, EventHistoryImpl> mCallEventHistoryMap = new ArrayMap<>();
+
+ // Phone Number -> Event History
+ private final Map<String, EventHistoryImpl> mSmsEventHistoryMap = new ArrayMap<>();
+
+ /** Gets the package level {@link EventHistory}. */
+ @NonNull
+ EventHistory getPackageEventHistory() {
+ return mPackageEventHistory;
+ }
+
+ /** Gets the {@link EventHistory} for the specified {@code shortcutId} if exists. */
+ @Nullable
+ EventHistory getShortcutEventHistory(String shortcutId) {
+ return mShortcutEventHistoryMap.get(shortcutId);
+ }
+
+ /** Gets the {@link EventHistory} for the specified {@code locusId} if exists. */
+ @Nullable
+ EventHistory getLocusEventHistory(LocusId locusId) {
+ return mLocusEventHistoryMap.get(locusId);
+ }
+
+ /** Gets the phone call {@link EventHistory} for the specified {@code phoneNumber} if exists. */
+ @Nullable
+ EventHistory getCallEventHistory(String phoneNumber) {
+ return mCallEventHistoryMap.get(phoneNumber);
+ }
+
+ /** Gets the SMS {@link EventHistory} for the specified {@code phoneNumber} if exists. */
+ @Nullable
+ EventHistory getSmsEventHistory(String phoneNumber) {
+ return mSmsEventHistoryMap.get(phoneNumber);
+ }
+
+ /**
+ * Gets the {@link EventHistoryImpl} for the specified {@code shortcutId} or creates a new
+ * instance and put it into the store if not exists. The caller needs to verify if a
+ * conversation with this shortcut ID exists before calling this method.
+ */
+ @NonNull
+ EventHistoryImpl getOrCreateShortcutEventHistory(String shortcutId) {
+ return mShortcutEventHistoryMap.computeIfAbsent(shortcutId, key -> new EventHistoryImpl());
+ }
+
+ /**
+ * Gets the {@link EventHistoryImpl} for the specified {@code locusId} or creates a new
+ * instance and put it into the store if not exists. The caller needs to ensure a conversation
+ * with this locus ID exists before calling this method.
+ */
+ @NonNull
+ EventHistoryImpl getOrCreateLocusEventHistory(LocusId locusId) {
+ return mLocusEventHistoryMap.computeIfAbsent(locusId, key -> new EventHistoryImpl());
+ }
+
+ /**
+ * Gets the {@link EventHistoryImpl} for the specified {@code phoneNumber} for call events
+ * or creates a new instance and put it into the store if not exists. The caller needs to ensure
+ * a conversation with this phone number exists and this package is the default dialer
+ * before calling this method.
+ */
+ @NonNull
+ EventHistoryImpl getOrCreateCallEventHistory(String phoneNumber) {
+ return mCallEventHistoryMap.computeIfAbsent(phoneNumber, key -> new EventHistoryImpl());
+ }
+
+ /**
+ * Gets the {@link EventHistoryImpl} for the specified {@code phoneNumber} for SMS events
+ * or creates a new instance and put it into the store if not exists. The caller needs to ensure
+ * a conversation with this phone number exists and this package is the default SMS app
+ * before calling this method.
+ */
+ @NonNull
+ EventHistoryImpl getOrCreateSmsEventHistory(String phoneNumber) {
+ return mSmsEventHistoryMap.computeIfAbsent(phoneNumber, key -> new EventHistoryImpl());
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/MmsQueryHelper.java b/services/people/java/com/android/server/people/data/MmsQueryHelper.java
new file mode 100644
index 000000000000..1e485c082d18
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/MmsQueryHelper.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.Nullable;
+import android.annotation.WorkerThread;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.Telephony.BaseMmsColumns;
+import android.provider.Telephony.Mms;
+import android.telephony.PhoneNumberUtils;
+import android.text.TextUtils;
+import android.util.Slog;
+import android.util.SparseIntArray;
+
+import com.google.android.mms.pdu.PduHeaders;
+
+import java.util.function.BiConsumer;
+
+/** A helper class that queries the MMS database tables. */
+class MmsQueryHelper {
+
+ private static final String TAG = "MmsQueryHelper";
+ private static final long MILLIS_PER_SECONDS = 1000L;
+ private static final SparseIntArray MSG_BOX_TO_EVENT_TYPE = new SparseIntArray();
+
+ static {
+ MSG_BOX_TO_EVENT_TYPE.put(BaseMmsColumns.MESSAGE_BOX_INBOX, Event.TYPE_SMS_INCOMING);
+ MSG_BOX_TO_EVENT_TYPE.put(BaseMmsColumns.MESSAGE_BOX_SENT, Event.TYPE_SMS_OUTGOING);
+ }
+
+ private final Context mContext;
+ private final BiConsumer<String, Event> mEventConsumer;
+ private long mLastMessageTimestamp;
+ private String mCurrentCountryIso;
+
+ /**
+ * @param context Context for accessing the content resolver.
+ * @param eventConsumer Consumes the events created from the message records. The first input
+ * param is the normalized phone number.
+ */
+ MmsQueryHelper(Context context, BiConsumer<String, Event> eventConsumer) {
+ mContext = context;
+ mEventConsumer = eventConsumer;
+ mCurrentCountryIso = Utils.getCurrentCountryIso(mContext);
+ }
+
+ /**
+ * Queries the MMS database tables for the new data added since {@code sinceTime} (in millis)
+ * and returns true if the query runs successfully and at least one message entry is found.
+ */
+ @WorkerThread
+ boolean querySince(long sinceTime) {
+ String[] projection = new String[] { Mms._ID, Mms.DATE, Mms.MESSAGE_BOX };
+ String selection = Mms.DATE + " > ?";
+ // NOTE: The field Mms.DATE is stored in seconds, not milliseconds.
+ String[] selectionArgs = new String[] { Long.toString(sinceTime / MILLIS_PER_SECONDS) };
+ boolean hasResults = false;
+ try (Cursor cursor = mContext.getContentResolver().query(
+ Mms.CONTENT_URI, projection, selection, selectionArgs, null)) {
+ if (cursor == null) {
+ Slog.w(TAG, "Cursor is null when querying MMS table.");
+ return false;
+ }
+ while (cursor.moveToNext()) {
+ // ID
+ int msgIdIndex = cursor.getColumnIndex(Mms._ID);
+ String msgId = cursor.getString(msgIdIndex);
+
+ // Date
+ int dateIndex = cursor.getColumnIndex(Mms.DATE);
+ long date = cursor.getLong(dateIndex) * MILLIS_PER_SECONDS;
+
+ // Message box
+ int msgBoxIndex = cursor.getColumnIndex(Mms.MESSAGE_BOX);
+ int msgBox = cursor.getInt(msgBoxIndex);
+
+ mLastMessageTimestamp = Math.max(mLastMessageTimestamp, date);
+ String address = getMmsAddress(msgId, msgBox);
+ if (address != null && addEvent(address, date, msgBox)) {
+ hasResults = true;
+ }
+ }
+ }
+ return hasResults;
+ }
+
+ long getLastMessageTimestamp() {
+ return mLastMessageTimestamp;
+ }
+
+ @Nullable
+ private String getMmsAddress(String msgId, int msgBox) {
+ Uri addressUri = Mms.Addr.getAddrUriForMessage(msgId);
+ String[] projection = new String[] { Mms.Addr.ADDRESS, Mms.Addr.TYPE };
+ String address = null;
+ try (Cursor cursor = mContext.getContentResolver().query(
+ addressUri, projection, null, null, null)) {
+ if (cursor == null) {
+ Slog.w(TAG, "Cursor is null when querying MMS address table.");
+ return null;
+ }
+ while (cursor.moveToNext()) {
+ // Type
+ int typeIndex = cursor.getColumnIndex(Mms.Addr.TYPE);
+ int type = cursor.getInt(typeIndex);
+
+ if ((msgBox == BaseMmsColumns.MESSAGE_BOX_INBOX && type == PduHeaders.FROM)
+ || (msgBox == BaseMmsColumns.MESSAGE_BOX_SENT && type == PduHeaders.TO)) {
+ // Address
+ int addrIndex = cursor.getColumnIndex(Mms.Addr.ADDRESS);
+ address = cursor.getString(addrIndex);
+ }
+ }
+ }
+ if (!Mms.isPhoneNumber(address)) {
+ return null;
+ }
+ return PhoneNumberUtils.formatNumberToE164(address, mCurrentCountryIso);
+ }
+
+ private boolean addEvent(String phoneNumber, long date, int msgBox) {
+ if (!validateEvent(phoneNumber, date, msgBox)) {
+ return false;
+ }
+ @Event.EventType int eventType = MSG_BOX_TO_EVENT_TYPE.get(msgBox);
+ mEventConsumer.accept(phoneNumber, new Event(date, eventType));
+ return true;
+ }
+
+ private boolean validateEvent(String phoneNumber, long date, int msgBox) {
+ return !TextUtils.isEmpty(phoneNumber)
+ && date > 0L
+ && MSG_BOX_TO_EVENT_TYPE.indexOfKey(msgBox) >= 0;
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/PackageData.java b/services/people/java/com/android/server/people/data/PackageData.java
new file mode 100644
index 000000000000..75b870c74591
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/PackageData.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.UserIdInt;
+import android.content.LocusId;
+import android.text.TextUtils;
+
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+
+/** The data associated with a package. */
+public class PackageData {
+
+ @NonNull
+ private final String mPackageName;
+
+ private final @UserIdInt int mUserId;
+
+ @NonNull
+ private final ConversationStore mConversationStore;
+
+ @NonNull
+ private final EventStore mEventStore;
+
+ private final Predicate<String> mIsDefaultDialerPredicate;
+
+ private final Predicate<String> mIsDefaultSmsAppPredicate;
+
+ PackageData(@NonNull String packageName, @UserIdInt int userId,
+ @NonNull Predicate<String> isDefaultDialerPredicate,
+ @NonNull Predicate<String> isDefaultSmsAppPredicate) {
+ mPackageName = packageName;
+ mUserId = userId;
+ mConversationStore = new ConversationStore();
+ mEventStore = new EventStore();
+ mIsDefaultDialerPredicate = isDefaultDialerPredicate;
+ mIsDefaultSmsAppPredicate = isDefaultSmsAppPredicate;
+ }
+
+ @NonNull
+ public String getPackageName() {
+ return mPackageName;
+ }
+
+ public @UserIdInt int getUserId() {
+ return mUserId;
+ }
+
+ /** Iterates over all the conversations in this package. */
+ public void forAllConversations(@NonNull Consumer<ConversationInfo> consumer) {
+ mConversationStore.forAllConversations(consumer);
+ }
+
+ @NonNull
+ public EventHistory getPackageLevelEventHistory() {
+ return getEventStore().getPackageEventHistory();
+ }
+
+ /**
+ * Gets the {@link ConversationInfo} for a given shortcut ID. Returns null if such as {@link
+ * ConversationInfo} does not exist.
+ */
+ @Nullable
+ public ConversationInfo getConversationInfo(@NonNull String shortcutId) {
+ return getConversationStore().getConversation(shortcutId);
+ }
+
+ /**
+ * Gets the combined {@link EventHistory} for a given shortcut ID. This returned {@link
+ * EventHistory} has events of all types, no matter whether they're annotated with shortcut ID,
+ * Locus ID, or phone number etc.
+ */
+ @NonNull
+ public EventHistory getEventHistory(@NonNull String shortcutId) {
+ AggregateEventHistoryImpl result = new AggregateEventHistoryImpl();
+
+ ConversationInfo conversationInfo = mConversationStore.getConversation(shortcutId);
+ if (conversationInfo == null) {
+ return result;
+ }
+
+ EventHistory shortcutEventHistory = getEventStore().getShortcutEventHistory(shortcutId);
+ if (shortcutEventHistory != null) {
+ result.addEventHistory(shortcutEventHistory);
+ }
+
+ LocusId locusId = conversationInfo.getLocusId();
+ if (locusId != null) {
+ EventHistory locusEventHistory = getEventStore().getLocusEventHistory(locusId);
+ if (locusEventHistory != null) {
+ result.addEventHistory(locusEventHistory);
+ }
+ }
+
+ String phoneNumber = conversationInfo.getContactPhoneNumber();
+ if (TextUtils.isEmpty(phoneNumber)) {
+ return result;
+ }
+ if (isDefaultDialer()) {
+ EventHistory callEventHistory = getEventStore().getCallEventHistory(phoneNumber);
+ if (callEventHistory != null) {
+ result.addEventHistory(callEventHistory);
+ }
+ }
+ if (isDefaultSmsApp()) {
+ EventHistory smsEventHistory = getEventStore().getSmsEventHistory(phoneNumber);
+ if (smsEventHistory != null) {
+ result.addEventHistory(smsEventHistory);
+ }
+ }
+ return result;
+ }
+
+ public boolean isDefaultDialer() {
+ return mIsDefaultDialerPredicate.test(mPackageName);
+ }
+
+ public boolean isDefaultSmsApp() {
+ return mIsDefaultSmsAppPredicate.test(mPackageName);
+ }
+
+ @NonNull
+ ConversationStore getConversationStore() {
+ return mConversationStore;
+ }
+
+ @NonNull
+ EventStore getEventStore() {
+ return mEventStore;
+ }
+
+ void onDestroy() {
+ // TODO: STOPSHIP: Implements this method for the case of package being uninstalled.
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/SmsQueryHelper.java b/services/people/java/com/android/server/people/data/SmsQueryHelper.java
new file mode 100644
index 000000000000..c38c846bf461
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/SmsQueryHelper.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.WorkerThread;
+import android.content.Context;
+import android.database.Cursor;
+import android.provider.Telephony.Sms;
+import android.provider.Telephony.TextBasedSmsColumns;
+import android.telephony.PhoneNumberUtils;
+import android.text.TextUtils;
+import android.util.Slog;
+import android.util.SparseIntArray;
+
+import java.util.function.BiConsumer;
+
+/** A helper class that queries the SMS database table. */
+class SmsQueryHelper {
+
+ private static final String TAG = "SmsQueryHelper";
+ private static final SparseIntArray SMS_TYPE_TO_EVENT_TYPE = new SparseIntArray();
+
+ static {
+ SMS_TYPE_TO_EVENT_TYPE.put(TextBasedSmsColumns.MESSAGE_TYPE_INBOX, Event.TYPE_SMS_INCOMING);
+ SMS_TYPE_TO_EVENT_TYPE.put(TextBasedSmsColumns.MESSAGE_TYPE_SENT, Event.TYPE_SMS_OUTGOING);
+ }
+
+ private final Context mContext;
+ private final BiConsumer<String, Event> mEventConsumer;
+ private final String mCurrentCountryIso;
+ private long mLastMessageTimestamp;
+
+ /**
+ * @param context Context for accessing the content resolver.
+ * @param eventConsumer Consumes the events created from the message records. The first input
+ * param is the normalized phone number.
+ */
+ SmsQueryHelper(Context context, BiConsumer<String, Event> eventConsumer) {
+ mContext = context;
+ mEventConsumer = eventConsumer;
+ mCurrentCountryIso = Utils.getCurrentCountryIso(mContext);
+ }
+
+ /**
+ * Queries the SMS database tables for the new data added since {@code sinceTime} (in millis)
+ * and returns true if the query runs successfully and at least one message entry is found.
+ */
+ @WorkerThread
+ boolean querySince(long sinceTime) {
+ String[] projection = new String[] { Sms._ID, Sms.DATE, Sms.TYPE, Sms.ADDRESS };
+ String selection = Sms.DATE + " > ?";
+ String[] selectionArgs = new String[] { Long.toString(sinceTime) };
+ boolean hasResults = false;
+ try (Cursor cursor = mContext.getContentResolver().query(
+ Sms.CONTENT_URI, projection, selection, selectionArgs, null)) {
+ if (cursor == null) {
+ Slog.w(TAG, "Cursor is null when querying SMS table.");
+ return false;
+ }
+ while (cursor.moveToNext()) {
+ // ID
+ int msgIdIndex = cursor.getColumnIndex(Sms._ID);
+ String msgId = cursor.getString(msgIdIndex);
+
+ // Date
+ int dateIndex = cursor.getColumnIndex(Sms.DATE);
+ long date = cursor.getLong(dateIndex);
+
+ // Type
+ int typeIndex = cursor.getColumnIndex(Sms.TYPE);
+ int type = cursor.getInt(typeIndex);
+
+ // Address
+ int addressIndex = cursor.getColumnIndex(Sms.ADDRESS);
+ String address = PhoneNumberUtils.formatNumberToE164(
+ cursor.getString(addressIndex), mCurrentCountryIso);
+
+ mLastMessageTimestamp = Math.max(mLastMessageTimestamp, date);
+ if (address != null && addEvent(address, date, type)) {
+ hasResults = true;
+ }
+ }
+ }
+ return hasResults;
+ }
+
+ long getLastMessageTimestamp() {
+ return mLastMessageTimestamp;
+ }
+
+ private boolean addEvent(String phoneNumber, long date, int type) {
+ if (!validateEvent(phoneNumber, date, type)) {
+ return false;
+ }
+ @Event.EventType int eventType = SMS_TYPE_TO_EVENT_TYPE.get(type);
+ mEventConsumer.accept(phoneNumber, new Event(date, eventType));
+ return true;
+ }
+
+ private boolean validateEvent(String phoneNumber, long date, int type) {
+ return !TextUtils.isEmpty(phoneNumber)
+ && date > 0L
+ && SMS_TYPE_TO_EVENT_TYPE.indexOfKey(type) >= 0;
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/UserData.java b/services/people/java/com/android/server/people/data/UserData.java
new file mode 100644
index 000000000000..4e8fd16d05fd
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/UserData.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.UserIdInt;
+import android.text.TextUtils;
+import android.util.ArrayMap;
+
+import java.util.Map;
+import java.util.function.Consumer;
+
+/** The data associated with a user profile. */
+class UserData {
+
+ private final @UserIdInt int mUserId;
+
+ private boolean mIsUnlocked;
+
+ private Map<String, PackageData> mPackageDataMap = new ArrayMap<>();
+
+ @Nullable
+ private String mDefaultDialer;
+
+ @Nullable
+ private String mDefaultSmsApp;
+
+ UserData(@UserIdInt int userId) {
+ mUserId = userId;
+ }
+
+ @UserIdInt int getUserId() {
+ return mUserId;
+ }
+
+ void forAllPackages(@NonNull Consumer<PackageData> consumer) {
+ for (PackageData packageData : mPackageDataMap.values()) {
+ consumer.accept(packageData);
+ }
+ }
+
+ void setUserUnlocked() {
+ mIsUnlocked = true;
+ }
+
+ void setUserStopped() {
+ mIsUnlocked = false;
+ }
+
+ boolean isUnlocked() {
+ return mIsUnlocked;
+ }
+
+ /**
+ * Gets the {@link PackageData} for the specified {@code packageName} if exists; otherwise
+ * creates a new instance and returns it.
+ */
+ @NonNull
+ PackageData getOrCreatePackageData(String packageName) {
+ return mPackageDataMap.computeIfAbsent(packageName, key -> createPackageData(packageName));
+ }
+
+ /**
+ * Gets the {@link PackageData} for the specified {@code packageName} if exists; otherwise
+ * returns {@code null}.
+ */
+ @Nullable
+ PackageData getPackageData(@NonNull String packageName) {
+ return mPackageDataMap.get(packageName);
+ }
+
+ void setDefaultDialer(@Nullable String packageName) {
+ mDefaultDialer = packageName;
+ }
+
+ @Nullable
+ PackageData getDefaultDialer() {
+ return mDefaultDialer != null ? getPackageData(mDefaultDialer) : null;
+ }
+
+ void setDefaultSmsApp(@Nullable String packageName) {
+ mDefaultSmsApp = packageName;
+ }
+
+ @Nullable
+ PackageData getDefaultSmsApp() {
+ return mDefaultSmsApp != null ? getPackageData(mDefaultSmsApp) : null;
+ }
+
+ private PackageData createPackageData(String packageName) {
+ return new PackageData(packageName, mUserId, this::isDefaultDialer, this::isDefaultSmsApp);
+ }
+
+ private boolean isDefaultDialer(String packageName) {
+ return TextUtils.equals(mDefaultDialer, packageName);
+ }
+
+ private boolean isDefaultSmsApp(String packageName) {
+ return TextUtils.equals(mDefaultSmsApp, packageName);
+ }
+}
diff --git a/services/people/java/com/android/server/people/data/Utils.java b/services/people/java/com/android/server/people/data/Utils.java
new file mode 100644
index 000000000000..b7529605f462
--- /dev/null
+++ b/services/people/java/com/android/server/people/data/Utils.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import android.content.Context;
+import android.location.Country;
+import android.location.CountryDetector;
+
+import java.util.Locale;
+
+/** The utilities static methods for people service data package. */
+class Utils {
+
+ /**
+ * @return The ISO 3166-1 two letters country code of the country the user is in.
+ */
+ static String getCurrentCountryIso(Context context) {
+ String countryIso = null;
+ CountryDetector detector = (CountryDetector) context.getSystemService(
+ Context.COUNTRY_DETECTOR);
+ if (detector != null) {
+ Country country = detector.detectCountry();
+ if (country != null) {
+ countryIso = country.getCountryIso();
+ }
+ }
+ if (countryIso == null) {
+ countryIso = Locale.getDefault().getCountry();
+ }
+ return countryIso;
+ }
+
+ private Utils() {
+ }
+}
diff --git a/services/people/java/com/android/server/people/prediction/ConversationPredictor.java b/services/people/java/com/android/server/people/prediction/AppTargetPredictor.java
index de71d292ff7d..44f3e35833d9 100644
--- a/services/people/java/com/android/server/people/prediction/ConversationPredictor.java
+++ b/services/people/java/com/android/server/people/prediction/AppTargetPredictor.java
@@ -17,32 +17,50 @@
package com.android.server.people.prediction;
import android.annotation.MainThread;
+import android.annotation.NonNull;
+import android.annotation.WorkerThread;
import android.app.prediction.AppPredictionContext;
import android.app.prediction.AppTarget;
import android.app.prediction.AppTargetEvent;
import android.app.prediction.AppTargetId;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.server.people.data.DataManager;
-import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Consumer;
/**
- * Predictor that predicts the conversations or apps the user is most likely to open.
+ * Predictor that predicts the {@link AppTarget} the user is most likely to open.
*/
-public class ConversationPredictor {
+public class AppTargetPredictor {
+
+ private static final String UI_SURFACE_SHARE = "share";
+
+ /** Creates a {@link AppTargetPredictor} instance based on the prediction context. */
+ public static AppTargetPredictor create(@NonNull AppPredictionContext predictionContext,
+ @NonNull Consumer<List<AppTarget>> updatePredictionsMethod,
+ @NonNull DataManager dataManager) {
+ if (UI_SURFACE_SHARE.equals(predictionContext.getUiSurface())) {
+ return new ShareTargetPredictor(
+ predictionContext, updatePredictionsMethod, dataManager);
+ }
+ return new AppTargetPredictor(predictionContext, updatePredictionsMethod, dataManager);
+ }
private final AppPredictionContext mPredictionContext;
private final Consumer<List<AppTarget>> mUpdatePredictionsMethod;
+ private final DataManager mDataManager;
private final ExecutorService mCallbackExecutor;
- public ConversationPredictor(AppPredictionContext predictionContext,
- Consumer<List<AppTarget>> updatePredictionsMethod) {
+ AppTargetPredictor(@NonNull AppPredictionContext predictionContext,
+ @NonNull Consumer<List<AppTarget>> updatePredictionsMethod,
+ @NonNull DataManager dataManager) {
mPredictionContext = predictionContext;
mUpdatePredictionsMethod = updatePredictionsMethod;
+ mDataManager = dataManager;
mCallbackExecutor = Executors.newSingleThreadExecutor();
}
@@ -66,7 +84,7 @@ public class ConversationPredictor {
*/
@MainThread
public void onSortAppTargets(List<AppTarget> targets, Consumer<List<AppTarget>> callback) {
- mCallbackExecutor.execute(() -> callback.accept(targets));
+ mCallbackExecutor.execute(() -> sortTargets(targets, callback));
}
/**
@@ -74,12 +92,37 @@ public class ConversationPredictor {
*/
@MainThread
public void onRequestPredictionUpdate() {
- List<AppTarget> targets = new ArrayList<>();
- mCallbackExecutor.execute(() -> mUpdatePredictionsMethod.accept(targets));
+ mCallbackExecutor.execute(this::predictTargets);
}
@VisibleForTesting
public Consumer<List<AppTarget>> getUpdatePredictionsMethod() {
return mUpdatePredictionsMethod;
}
+
+ /** To be overridden by the subclass to predict the targets. */
+ @WorkerThread
+ void predictTargets() {
+ }
+
+ /**
+ * To be overridden by the subclass to sort the provided targets based on the prediction
+ * ranking.
+ */
+ @WorkerThread
+ void sortTargets(List<AppTarget> targets, Consumer<List<AppTarget>> callback) {
+ callback.accept(targets);
+ }
+
+ AppPredictionContext getPredictionContext() {
+ return mPredictionContext;
+ }
+
+ DataManager getDataManager() {
+ return mDataManager;
+ }
+
+ void updatePredictions(List<AppTarget> targets) {
+ mUpdatePredictionsMethod.accept(targets);
+ }
}
diff --git a/services/people/java/com/android/server/people/prediction/ConversationData.java b/services/people/java/com/android/server/people/prediction/ConversationData.java
new file mode 100644
index 000000000000..0cc763329764
--- /dev/null
+++ b/services/people/java/com/android/server/people/prediction/ConversationData.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.prediction;
+
+import android.annotation.NonNull;
+
+import com.android.server.people.data.ConversationInfo;
+import com.android.server.people.data.EventHistory;
+
+/** The conversation data which is used for scoring and then ranking the conversations. */
+class ConversationData {
+
+ private final String mPackageName;
+ private final int mUserId;
+ private final ConversationInfo mConversationInfo;
+ private final EventHistory mEventHistory;
+
+ ConversationData(@NonNull String packageName, int userId,
+ @NonNull ConversationInfo conversationInfo, @NonNull EventHistory eventHistory) {
+ mPackageName = packageName;
+ mUserId = userId;
+ mConversationInfo = conversationInfo;
+ mEventHistory = eventHistory;
+ }
+
+ String getPackageName() {
+ return mPackageName;
+ }
+
+ int getUserId() {
+ return mUserId;
+ }
+
+ ConversationInfo getConversationInfo() {
+ return mConversationInfo;
+ }
+
+ EventHistory getEventHistory() {
+ return mEventHistory;
+ }
+}
diff --git a/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java b/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java
new file mode 100644
index 000000000000..280ced3a07c5
--- /dev/null
+++ b/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.prediction;
+
+import android.annotation.MainThread;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.WorkerThread;
+import android.app.prediction.AppPredictionContext;
+import android.app.prediction.AppTarget;
+import android.app.prediction.AppTargetEvent;
+import android.app.prediction.AppTargetId;
+import android.content.IntentFilter;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager.ShareShortcutInfo;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.ChooserActivity;
+import com.android.server.people.data.ConversationInfo;
+import com.android.server.people.data.DataManager;
+import com.android.server.people.data.EventHistory;
+import com.android.server.people.data.PackageData;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Consumer;
+
+class ShareTargetPredictor extends AppTargetPredictor {
+
+ private final IntentFilter mIntentFilter;
+
+ ShareTargetPredictor(@NonNull AppPredictionContext predictionContext,
+ @NonNull Consumer<List<AppTarget>> updatePredictionsMethod,
+ @NonNull DataManager dataManager) {
+ super(predictionContext, updatePredictionsMethod, dataManager);
+ mIntentFilter = predictionContext.getExtras().getParcelable(
+ ChooserActivity.APP_PREDICTION_INTENT_FILTER_KEY);
+ }
+
+ @MainThread
+ @Override
+ public void onAppTargetEvent(AppTargetEvent event) {
+ getDataManager().reportAppTargetEvent(event, mIntentFilter);
+ }
+
+ @WorkerThread
+ @Override
+ protected void predictTargets() {
+ List<ShareTarget> shareTargets = getShareTargets();
+ // TODO: Rank the share targets with the data in ShareTarget.mConversationData.
+ List<AppTarget> appTargets = new ArrayList<>();
+ for (ShareTarget shareTarget : shareTargets) {
+
+ ShortcutInfo shortcutInfo = shareTarget.getShareShortcutInfo().getShortcutInfo();
+ AppTargetId appTargetId = new AppTargetId(shortcutInfo.getId());
+ String shareTargetClassName =
+ shareTarget.getShareShortcutInfo().getTargetComponent().getClassName();
+ AppTarget appTarget = new AppTarget.Builder(appTargetId, shortcutInfo)
+ .setClassName(shareTargetClassName)
+ .build();
+ appTargets.add(appTarget);
+ if (appTargets.size() >= getPredictionContext().getPredictedTargetCount()) {
+ break;
+ }
+ }
+ updatePredictions(appTargets);
+ }
+
+ @VisibleForTesting
+ List<ShareTarget> getShareTargets() {
+ List<ShareTarget> shareTargets = new ArrayList<>();
+ List<ShareShortcutInfo> shareShortcuts =
+ getDataManager().getShareShortcuts(mIntentFilter);
+
+ for (ShareShortcutInfo shareShortcut : shareShortcuts) {
+ ShortcutInfo shortcutInfo = shareShortcut.getShortcutInfo();
+ String packageName = shortcutInfo.getPackage();
+ int userId = shortcutInfo.getUserId();
+ PackageData packageData = getDataManager().getPackage(packageName, userId);
+
+ ConversationData conversationData = null;
+ if (packageData != null) {
+ String shortcutId = shortcutInfo.getId();
+ ConversationInfo conversationInfo =
+ packageData.getConversationInfo(shortcutId);
+
+ if (conversationInfo != null) {
+ EventHistory eventHistory = packageData.getEventHistory(shortcutId);
+ conversationData = new ConversationData(
+ packageName, userId, conversationInfo, eventHistory);
+ }
+ }
+ shareTargets.add(new ShareTarget(shareShortcut, conversationData));
+ }
+
+ return shareTargets;
+ }
+
+ @VisibleForTesting
+ static class ShareTarget {
+
+ @NonNull
+ private final ShareShortcutInfo mShareShortcutInfo;
+ @Nullable
+ private final ConversationData mConversationData;
+
+ private ShareTarget(@NonNull ShareShortcutInfo shareShortcutInfo,
+ @Nullable ConversationData conversationData) {
+ mShareShortcutInfo = shareShortcutInfo;
+ mConversationData = conversationData;
+ }
+
+ @NonNull
+ @VisibleForTesting
+ ShareShortcutInfo getShareShortcutInfo() {
+ return mShareShortcutInfo;
+ }
+
+ @Nullable
+ @VisibleForTesting
+ ConversationData getConversationData() {
+ return mConversationData;
+ }
+ }
+}
diff --git a/services/tests/mockingservicestests/src/com/android/server/AlarmManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/AlarmManagerServiceTest.java
index 6a5de84266e2..bb149cf327b8 100644
--- a/services/tests/mockingservicestests/src/com/android/server/AlarmManagerServiceTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/AlarmManagerServiceTest.java
@@ -22,6 +22,7 @@ import static android.app.AlarmManager.RTC_WAKEUP;
import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_ACTIVE;
import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_FREQUENT;
import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_RARE;
+import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_RESTRICTED;
import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_WORKING_SET;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.doCallRealMethod;
@@ -45,6 +46,7 @@ import static com.android.server.AlarmManagerService.Constants.KEY_MAX_INTERVAL;
import static com.android.server.AlarmManagerService.Constants.KEY_MIN_FUTURITY;
import static com.android.server.AlarmManagerService.Constants.KEY_MIN_INTERVAL;
import static com.android.server.AlarmManagerService.IS_WAKEUP_MASK;
+import static com.android.server.AlarmManagerService.MILLIS_IN_DAY;
import static com.android.server.AlarmManagerService.TIME_CHANGED_MASK;
import static com.android.server.AlarmManagerService.WORKING_INDEX;
@@ -107,6 +109,7 @@ public class AlarmManagerServiceTest {
private static final String TEST_CALLING_PACKAGE = "com.android.framework.test-package";
private static final int SYSTEM_UI_UID = 123456789;
private static final int TEST_CALLING_UID = 12345;
+ private static final long RESTRICTED_WINDOW_MS = MILLIS_IN_DAY;
private long mAppStandbyWindow;
private AlarmManagerService mService;
@@ -485,13 +488,13 @@ public class AlarmManagerServiceTest {
anyLong())).thenReturn(standbyBucket);
final long firstTrigger = mNowElapsedTest + 10;
for (int i = 0; i < quota; i++) {
- setTestAlarm(ELAPSED_REALTIME_WAKEUP, mNowElapsedTest + 10 + i,
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger + i,
getNewMockPendingIntent());
mNowElapsedTest = mTestTimer.getElapsed();
mTestTimer.expire();
}
// This one should get deferred on set
- setTestAlarm(ELAPSED_REALTIME_WAKEUP, mNowElapsedTest + quota + 10,
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger + quota,
getNewMockPendingIntent());
final long expectedNextTrigger = firstTrigger + 1 + mAppStandbyWindow;
assertEquals("Incorrect next alarm trigger", expectedNextTrigger, mTestTimer.getElapsed());
@@ -503,11 +506,11 @@ public class AlarmManagerServiceTest {
anyLong())).thenReturn(standbyBucket);
final long firstTrigger = mNowElapsedTest + 10;
for (int i = 0; i < quota; i++) {
- setTestAlarm(ELAPSED_REALTIME_WAKEUP, mNowElapsedTest + 10 + i,
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger + i,
getNewMockPendingIntent());
}
// This one should get deferred after the latest alarm expires
- setTestAlarm(ELAPSED_REALTIME_WAKEUP, mNowElapsedTest + quota + 10,
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger + quota,
getNewMockPendingIntent());
for (int i = 0; i < quota; i++) {
mNowElapsedTest = mTestTimer.getElapsed();
@@ -596,6 +599,43 @@ public class AlarmManagerServiceTest {
testQuotasNoDeferral(STANDBY_BUCKET_RARE);
}
+ @Test
+ public void testRestrictedBucketAlarmsDeferredOnSet() throws Exception {
+ when(mUsageStatsManagerInternal
+ .getAppStandbyBucket(eq(TEST_CALLING_PACKAGE), anyInt(), anyLong()))
+ .thenReturn(STANDBY_BUCKET_RESTRICTED);
+ // This one should go off
+ final long firstTrigger = mNowElapsedTest + 10;
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger, getNewMockPendingIntent());
+ mNowElapsedTest = mTestTimer.getElapsed();
+ mTestTimer.expire();
+
+ // This one should get deferred on set
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger + 1, getNewMockPendingIntent());
+ final long expectedNextTrigger =
+ firstTrigger + mService.mConstants.APP_STANDBY_RESTRICTED_WINDOW;
+ assertEquals("Incorrect next alarm trigger", expectedNextTrigger, mTestTimer.getElapsed());
+ }
+
+ @Test
+ public void testRestrictedBucketAlarmsDeferredOnExpiration() throws Exception {
+ when(mUsageStatsManagerInternal
+ .getAppStandbyBucket(eq(TEST_CALLING_PACKAGE), anyInt(), anyLong()))
+ .thenReturn(STANDBY_BUCKET_RESTRICTED);
+ // This one should go off
+ final long firstTrigger = mNowElapsedTest + 10;
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger, getNewMockPendingIntent());
+
+ // This one should get deferred after the latest alarm expires
+ setTestAlarm(ELAPSED_REALTIME_WAKEUP, firstTrigger + 1, getNewMockPendingIntent());
+
+ mNowElapsedTest = mTestTimer.getElapsed();
+ mTestTimer.expire();
+ final long expectedNextTrigger =
+ firstTrigger + mService.mConstants.APP_STANDBY_RESTRICTED_WINDOW;
+ assertEquals("Incorrect next alarm trigger", expectedNextTrigger, mTestTimer.getElapsed());
+ }
+
private void assertAndHandleBucketChanged(int bucket) {
when(mUsageStatsManagerInternal.getAppStandbyBucket(eq(TEST_CALLING_PACKAGE), anyInt(),
anyLong())).thenReturn(bucket);
diff --git a/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java b/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
index 2080fdf2e40d..c94bb879f460 100644
--- a/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
@@ -375,6 +375,35 @@ public class RescuePartyTest {
}
@Test
+ public void testBootLoopLevels() {
+ RescuePartyObserver observer = RescuePartyObserver.getInstance(mMockContext);
+
+ /*
+ Ensure that the returned user impact corresponds with the user impact of the next available
+ rescue level, not the current one.
+ */
+ SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL, Integer.toString(
+ RescueParty.LEVEL_NONE));
+ assertEquals(observer.onBootLoop(), PackageHealthObserverImpact.USER_IMPACT_LOW);
+
+ SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL, Integer.toString(
+ RescueParty.LEVEL_RESET_SETTINGS_UNTRUSTED_DEFAULTS));
+ assertEquals(observer.onBootLoop(), PackageHealthObserverImpact.USER_IMPACT_LOW);
+
+ SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL, Integer.toString(
+ RescueParty.LEVEL_RESET_SETTINGS_UNTRUSTED_CHANGES));
+ assertEquals(observer.onBootLoop(), PackageHealthObserverImpact.USER_IMPACT_HIGH);
+
+ SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL, Integer.toString(
+ RescueParty.LEVEL_RESET_SETTINGS_TRUSTED_DEFAULTS));
+ assertEquals(observer.onBootLoop(), PackageHealthObserverImpact.USER_IMPACT_HIGH);
+
+ SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL, Integer.toString(
+ LEVEL_FACTORY_RESET));
+ assertEquals(observer.onBootLoop(), PackageHealthObserverImpact.USER_IMPACT_HIGH);
+ }
+
+ @Test
public void testRescueLevelIncrementsWhenExecuted() {
RescuePartyObserver observer = RescuePartyObserver.getInstance(mMockContext);
SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL, Integer.toString(
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java b/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java
index 1985513c4290..e5ec1f76c554 100644
--- a/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java
@@ -36,6 +36,7 @@ import com.android.server.appop.AppOpsService;
import com.android.server.testables.TestableDeviceConfig;
import org.junit.After;
+import org.junit.Assume;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -122,6 +123,8 @@ public final class CachedAppOptimizerTest {
CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_4);
assertThat(mCachedAppOptimizerUnderTest.mCompactStatsdSampleRate).isEqualTo(
CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE);
+ assertThat(mCachedAppOptimizerUnderTest.mFreezerStatsdSampleRate).isEqualTo(
+ CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE);
assertThat(mCachedAppOptimizerUnderTest.mFullAnonRssThrottleKb).isEqualTo(
CachedAppOptimizer.DEFAULT_COMPACT_FULL_RSS_THROTTLE_KB);
assertThat(mCachedAppOptimizerUnderTest.mCompactThrottleBFGS).isEqualTo(
@@ -132,6 +135,8 @@ public final class CachedAppOptimizerTest {
CachedAppOptimizer.DEFAULT_COMPACT_FULL_RSS_THROTTLE_KB);
assertThat(mCachedAppOptimizerUnderTest.mFullDeltaRssThrottleKb).isEqualTo(
CachedAppOptimizer.DEFAULT_COMPACT_FULL_DELTA_RSS_THROTTLE_KB);
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isEqualTo(
+ CachedAppOptimizer.DEFAULT_USE_FREEZER);
Set<Integer> expected = new HashSet<>();
for (String s : TextUtils.split(
@@ -177,6 +182,9 @@ public final class CachedAppOptimizerTest {
CachedAppOptimizer.KEY_COMPACT_STATSD_SAMPLE_RATE,
Float.toString(CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f), false);
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_FREEZER_STATSD_SAMPLE_RATE,
+ Float.toString(CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f), false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
CachedAppOptimizer.KEY_COMPACT_FULL_RSS_THROTTLE_KB,
Long.toString(CachedAppOptimizer.DEFAULT_COMPACT_FULL_RSS_THROTTLE_KB + 1), false);
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
@@ -185,6 +193,11 @@ public final class CachedAppOptimizerTest {
CachedAppOptimizer.DEFAULT_COMPACT_FULL_DELTA_RSS_THROTTLE_KB + 1), false);
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
CachedAppOptimizer.KEY_COMPACT_PROC_STATE_THROTTLE, "1,2,3", false);
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isEqualTo(
+ CachedAppOptimizer.DEFAULT_USE_FREEZER);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_USE_FREEZER, CachedAppOptimizer.DEFAULT_USE_FREEZER
+ ? "false" : "true" , false);
// Then calling init will read and set that flag.
mCachedAppOptimizerUnderTest.init();
@@ -211,6 +224,8 @@ public final class CachedAppOptimizerTest {
CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_6 + 1);
assertThat(mCachedAppOptimizerUnderTest.mCompactStatsdSampleRate).isEqualTo(
CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f);
+ assertThat(mCachedAppOptimizerUnderTest.mFreezerStatsdSampleRate).isEqualTo(
+ CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f);
assertThat(mCachedAppOptimizerUnderTest.mCompactThrottleBFGS).isEqualTo(
CachedAppOptimizer.DEFAULT_COMPACT_THROTTLE_5 + 1);
assertThat(mCachedAppOptimizerUnderTest.mCompactThrottlePersistent).isEqualTo(
@@ -218,6 +233,14 @@ public final class CachedAppOptimizerTest {
assertThat(mCachedAppOptimizerUnderTest.mFullAnonRssThrottleKb).isEqualTo(
CachedAppOptimizer.DEFAULT_COMPACT_FULL_RSS_THROTTLE_KB + 1);
assertThat(mCachedAppOptimizerUnderTest.mProcStateThrottle).containsExactly(1, 2, 3);
+
+ if (mCachedAppOptimizerUnderTest.isFreezerSupported()) {
+ if (CachedAppOptimizer.DEFAULT_USE_FREEZER) {
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isFalse();
+ } else {
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isTrue();
+ }
+ }
}
@Test
@@ -244,6 +267,44 @@ public final class CachedAppOptimizerTest {
}
@Test
+ public void useFreeze_doesNotListenToDeviceConfigChanges() throws InterruptedException {
+ Assume.assumeTrue(mCachedAppOptimizerUnderTest.isFreezerSupported());
+
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isEqualTo(
+ CachedAppOptimizer.DEFAULT_USE_FREEZER);
+
+ // The freezer DeviceConfig property is read at boot only
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_USE_FREEZER, "true", false);
+ mCachedAppOptimizerUnderTest.init();
+ mCountDown = new CountDownLatch(1);
+
+ // No notifications should get to the cached app optimizer.
+ assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isFalse();
+
+ // The flag value has to be set correctly.
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isTrue();
+ // The cached app optimizer thread must be running.
+ assertThat(mCachedAppOptimizerUnderTest.mCachedAppOptimizerThread.isAlive()).isTrue();
+
+ // Set the flag the other way without rebooting. It shall not change.
+ mCountDown = new CountDownLatch(1);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_USE_FREEZER, "false", false);
+ assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isTrue();
+
+
+ // Now, set the flag to false and restart the cached app optimizer
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_USE_FREEZER, "false", false);
+ mCachedAppOptimizerUnderTest.init();
+
+ // The flag value has to be set correctly.
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isFalse();
+ }
+
+ @Test
public void useCompaction_listensToDeviceConfigChangesBadValues() throws InterruptedException {
assertThat(mCachedAppOptimizerUnderTest.useCompaction()).isEqualTo(
CachedAppOptimizer.DEFAULT_USE_COMPACTION);
@@ -261,6 +322,22 @@ public final class CachedAppOptimizerTest {
}
@Test
+ public void useFreeze_listensToDeviceConfigChangesBadValues() throws InterruptedException {
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isEqualTo(
+ CachedAppOptimizer.DEFAULT_USE_FREEZER);
+
+ // When we push an invalid flag value...
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_USE_FREEZER, "foobar", false);
+
+ mCachedAppOptimizerUnderTest.init();
+
+ // Then we set the default.
+ assertThat(mCachedAppOptimizerUnderTest.useFreezer()).isEqualTo(
+ CachedAppOptimizer.DEFAULT_USE_FREEZER);
+ }
+
+ @Test
public void compactAction_listensToDeviceConfigChanges() throws InterruptedException {
mCachedAppOptimizerUnderTest.init();
@@ -482,6 +559,17 @@ public final class CachedAppOptimizerTest {
// Then that override is reflected in the compactor.
assertThat(mCachedAppOptimizerUnderTest.mCompactStatsdSampleRate).isEqualTo(
CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f);
+
+ // When we override mFreezerStatsdSampleRate with a reasonable value ...
+ mCountDown = new CountDownLatch(1);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_FREEZER_STATSD_SAMPLE_RATE,
+ Float.toString(CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f), false);
+ assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
+
+ // Then that override is reflected in the compactor.
+ assertThat(mCachedAppOptimizerUnderTest.mFreezerStatsdSampleRate).isEqualTo(
+ CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE + 0.1f);
}
@Test
@@ -498,6 +586,16 @@ public final class CachedAppOptimizerTest {
// Then that override is reflected in the compactor.
assertThat(mCachedAppOptimizerUnderTest.mCompactStatsdSampleRate).isEqualTo(
CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE);
+
+ // When we override mFreezerStatsdSampleRate with an unreasonable value ...
+ mCountDown = new CountDownLatch(1);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_FREEZER_STATSD_SAMPLE_RATE, "foo", false);
+ assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
+
+ // Then that override is reflected in the freezer.
+ assertThat(mCachedAppOptimizerUnderTest.mFreezerStatsdSampleRate).isEqualTo(
+ CachedAppOptimizer.DEFAULT_STATSD_SAMPLE_RATE);
}
@Test
@@ -523,6 +621,25 @@ public final class CachedAppOptimizerTest {
// Then the values is capped in the range.
assertThat(mCachedAppOptimizerUnderTest.mCompactStatsdSampleRate).isEqualTo(1.0f);
+
+ // When we override mFreezerStatsdSampleRate with an value outside of [0..1]...
+ mCountDown = new CountDownLatch(1);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_FREEZER_STATSD_SAMPLE_RATE,
+ Float.toString(-1.0f), false);
+ assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
+
+ // Then the values is capped in the range.
+ assertThat(mCachedAppOptimizerUnderTest.mFreezerStatsdSampleRate).isEqualTo(0.0f);
+
+ mCountDown = new CountDownLatch(1);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ CachedAppOptimizer.KEY_FREEZER_STATSD_SAMPLE_RATE,
+ Float.toString(1.01f), false);
+ assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
+
+ // Then the values is capped in the range.
+ assertThat(mCachedAppOptimizerUnderTest.mFreezerStatsdSampleRate).isEqualTo(1.0f);
}
@Test
diff --git a/services/tests/mockingservicestests/src/com/android/server/display/LocalDisplayAdapterTest.java b/services/tests/mockingservicestests/src/com/android/server/display/LocalDisplayAdapterTest.java
index 9e1ddb1f8a80..4a40b80a85c1 100644
--- a/services/tests/mockingservicestests/src/com/android/server/display/LocalDisplayAdapterTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/display/LocalDisplayAdapterTest.java
@@ -109,10 +109,11 @@ public class LocalDisplayAdapterTest {
*/
@Test
public void testPrivateDisplay() throws Exception {
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_A), createDummyDisplayInfo()));
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_B), createDummyDisplayInfo()));
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_C), createDummyDisplayInfo()));
+ setUpDisplay(new FakeDisplay(PORT_A));
+ setUpDisplay(new FakeDisplay(PORT_B));
+ setUpDisplay(new FakeDisplay(PORT_C));
updateAvailableDisplays();
+
doReturn(new int[]{ PORT_B }).when(mMockedResources)
.getIntArray(com.android.internal.R.array.config_localPrivateDisplayPorts);
mAdapter.registerLocked();
@@ -135,9 +136,10 @@ public class LocalDisplayAdapterTest {
*/
@Test
public void testPublicDisplaysForNoConfigLocalPrivateDisplayPorts() throws Exception {
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_A), createDummyDisplayInfo()));
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_C), createDummyDisplayInfo()));
+ setUpDisplay(new FakeDisplay(PORT_A));
+ setUpDisplay(new FakeDisplay(PORT_C));
updateAvailableDisplays();
+
// config_localPrivateDisplayPorts is null
mAdapter.registerLocked();
@@ -165,9 +167,8 @@ public class LocalDisplayAdapterTest {
*/
@Test
public void testDpiValues() throws Exception {
- // needs default one always
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_A), createDummyDisplayInfo()));
- setUpDisplay(new DisplayConfig(createDisplayAddress(PORT_B), createDummyDisplayInfo()));
+ setUpDisplay(new FakeDisplay(PORT_A));
+ setUpDisplay(new FakeDisplay(PORT_B));
updateAvailableDisplays();
mAdapter.registerLocked();
@@ -193,32 +194,32 @@ public class LocalDisplayAdapterTest {
assertEquals(expectedDensityDpi, info.densityDpi);
}
- private class DisplayConfig {
+ private static class FakeDisplay {
public final DisplayAddress.Physical address;
- public final IBinder displayToken = new Binder();
- public final SurfaceControl.PhysicalDisplayInfo displayInfo;
-
- private DisplayConfig(
- DisplayAddress.Physical address, SurfaceControl.PhysicalDisplayInfo displayInfo) {
- this.address = address;
- this.displayInfo = displayInfo;
+ public final IBinder token = new Binder();
+ public final SurfaceControl.DisplayInfo info;
+ public final SurfaceControl.DisplayConfig config;
+
+ private FakeDisplay(int port) {
+ this.address = createDisplayAddress(port);
+ this.info = createFakeDisplayInfo();
+ this.config = createFakeDisplayConfig();
}
}
- private void setUpDisplay(DisplayConfig config) {
- mAddresses.add(config.address);
- doReturn(config.displayToken).when(() ->
- SurfaceControl.getPhysicalDisplayToken(config.address.getPhysicalDisplayId()));
- doReturn(new SurfaceControl.PhysicalDisplayInfo[]{
- config.displayInfo
- }).when(() -> SurfaceControl.getDisplayConfigs(config.displayToken));
- doReturn(0).when(() -> SurfaceControl.getActiveConfig(config.displayToken));
- doReturn(0).when(() -> SurfaceControl.getActiveColorMode(config.displayToken));
- doReturn(new int[]{
- 0
- }).when(() -> SurfaceControl.getDisplayColorModes(config.displayToken));
+ private void setUpDisplay(FakeDisplay display) {
+ mAddresses.add(display.address);
+ doReturn(display.token).when(() ->
+ SurfaceControl.getPhysicalDisplayToken(display.address.getPhysicalDisplayId()));
+ doReturn(display.info).when(() -> SurfaceControl.getDisplayInfo(display.token));
+ doReturn(new SurfaceControl.DisplayConfig[] { display.config }).when(
+ () -> SurfaceControl.getDisplayConfigs(display.token));
+ doReturn(0).when(() -> SurfaceControl.getActiveConfig(display.token));
+ doReturn(0).when(() -> SurfaceControl.getActiveColorMode(display.token));
+ doReturn(new int[] { 0 }).when(
+ () -> SurfaceControl.getDisplayColorModes(display.token));
doReturn(new SurfaceControl.DesiredDisplayConfigSpecs(0, 60.f, 60.f))
- .when(() -> SurfaceControl.getDesiredDisplayConfigSpecs(config.displayToken));
+ .when(() -> SurfaceControl.getDesiredDisplayConfigSpecs(display.token));
}
private void updateAvailableDisplays() {
@@ -235,18 +236,21 @@ public class LocalDisplayAdapterTest {
return DisplayAddress.fromPortAndModel((byte) port, DISPLAY_MODEL);
}
- private static SurfaceControl.PhysicalDisplayInfo createDummyDisplayInfo() {
- SurfaceControl.PhysicalDisplayInfo info = new SurfaceControl.PhysicalDisplayInfo();
+ private static SurfaceControl.DisplayInfo createFakeDisplayInfo() {
+ final SurfaceControl.DisplayInfo info = new SurfaceControl.DisplayInfo();
info.density = 100;
- info.xDpi = 100;
- info.yDpi = 100;
- info.secure = false;
- info.width = 800;
- info.height = 600;
-
return info;
}
+ private static SurfaceControl.DisplayConfig createFakeDisplayConfig() {
+ final SurfaceControl.DisplayConfig config = new SurfaceControl.DisplayConfig();
+ config.width = 800;
+ config.height = 600;
+ config.xDpi = 100;
+ config.yDpi = 100;
+ return config;
+ }
+
private void waitForHandlerToComplete(Handler handler, long waitTimeMs)
throws InterruptedException {
final Object lock = new Object();
diff --git a/services/tests/mockingservicestests/src/com/android/server/location/AppForegroundHelperTest.java b/services/tests/mockingservicestests/src/com/android/server/location/AppForegroundHelperTest.java
new file mode 100644
index 000000000000..38ec4ce3e827
--- /dev/null
+++ b/services/tests/mockingservicestests/src/com/android/server/location/AppForegroundHelperTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.location;
+
+import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
+import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE;
+import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.verify;
+import static org.mockito.MockitoAnnotations.initMocks;
+
+import android.app.ActivityManager;
+import android.content.Context;
+import android.platform.test.annotations.Presubmit;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Presubmit
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class AppForegroundHelperTest {
+
+ private static final long TIMEOUT_MS = 5000;
+
+ @Mock private Context mContext;
+ @Mock private ActivityManager mActivityManager;
+
+ private List<ActivityManager.OnUidImportanceListener> mListeners = new ArrayList<>();
+
+ private AppForegroundHelper mHelper;
+
+ @Before
+ public void setUp() {
+ initMocks(this);
+
+ doReturn(mActivityManager).when(mContext).getSystemService(ActivityManager.class);
+ doAnswer(invocation -> {
+ mListeners.add(invocation.getArgument(0));
+ return null;
+ }).when(mActivityManager).addOnUidImportanceListener(any(
+ ActivityManager.OnUidImportanceListener.class), eq(IMPORTANCE_FOREGROUND_SERVICE));
+
+ mHelper = new AppForegroundHelper(mContext);
+ mHelper.onSystemReady();
+ }
+
+ private void setImportance(int uid, int importance) {
+ doReturn(importance).when(mActivityManager).getUidImportance(uid);
+ for (ActivityManager.OnUidImportanceListener listener : mListeners) {
+ listener.onUidImportance(uid, importance);
+ }
+ }
+
+ @Test
+ public void testListeners() {
+ AppForegroundHelper.AppForegroundListener listener = mock(
+ AppForegroundHelper.AppForegroundListener.class);
+ mHelper.addListener(listener);
+
+ setImportance(0, IMPORTANCE_FOREGROUND);
+ verify(listener, timeout(TIMEOUT_MS)).onAppForegroundChanged(0, true);
+
+ setImportance(1, IMPORTANCE_FOREGROUND_SERVICE);
+ verify(listener, timeout(TIMEOUT_MS)).onAppForegroundChanged(1, true);
+
+ setImportance(2, IMPORTANCE_VISIBLE);
+ verify(listener, timeout(TIMEOUT_MS)).onAppForegroundChanged(2, false);
+ }
+
+ @Test
+ public void testIsAppForeground() {
+ setImportance(0, IMPORTANCE_FOREGROUND);
+ assertThat(mHelper.isAppForeground(0)).isEqualTo(true);
+
+ setImportance(0, IMPORTANCE_FOREGROUND_SERVICE);
+ assertThat(mHelper.isAppForeground(0)).isEqualTo(true);
+
+ setImportance(0, IMPORTANCE_VISIBLE);
+ assertThat(mHelper.isAppForeground(0)).isEqualTo(false);
+ }
+}
diff --git a/services/tests/mockingservicestests/src/com/android/server/location/UserInfoStoreTest.java b/services/tests/mockingservicestests/src/com/android/server/location/UserInfoHelperTest.java
index 06fb10257a37..389fdf9b0abc 100644
--- a/services/tests/mockingservicestests/src/com/android/server/location/UserInfoStoreTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/location/UserInfoHelperTest.java
@@ -57,7 +57,7 @@ import java.util.List;
@Presubmit
@SmallTest
@RunWith(AndroidJUnit4.class)
-public class UserInfoStoreTest {
+public class UserInfoHelperTest {
private static final int USER1_ID = 1;
private static final int USER1_MANAGED_ID = 11;
@@ -72,7 +72,7 @@ public class UserInfoStoreTest {
private StaticMockitoSession mMockingSession;
private List<BroadcastReceiver> mBroadcastReceivers = new ArrayList<>();
- private UserInfoStore mStore;
+ private UserInfoHelper mHelper;
@Before
public void setUp() {
@@ -97,8 +97,8 @@ public class UserInfoStoreTest {
doReturn(USER1_ID).when(ActivityManager::getCurrentUser);
- mStore = new UserInfoStore(mContext);
- mStore.onSystemReady();
+ mHelper = new UserInfoHelper(mContext);
+ mHelper.onSystemReady();
}
@After
@@ -119,8 +119,9 @@ public class UserInfoStoreTest {
@Test
public void testListeners() {
- UserInfoStore.UserChangedListener listener = mock(UserInfoStore.UserChangedListener.class);
- mStore.addListener(listener);
+ UserInfoHelper.UserChangedListener listener = mock(
+ UserInfoHelper.UserChangedListener.class);
+ mHelper.addListener(listener);
switchUser(USER1_ID);
verify(listener, never()).onUserChanged(anyInt(), anyInt());
@@ -134,44 +135,44 @@ public class UserInfoStoreTest {
@Test
public void testCurrentUser() {
- assertThat(mStore.getCurrentUserId()).isEqualTo(USER1_ID);
+ assertThat(mHelper.getCurrentUserId()).isEqualTo(USER1_ID);
switchUser(USER2_ID);
- assertThat(mStore.getCurrentUserId()).isEqualTo(USER2_ID);
+ assertThat(mHelper.getCurrentUserId()).isEqualTo(USER2_ID);
switchUser(USER1_ID);
- assertThat(mStore.getCurrentUserId()).isEqualTo(USER1_ID);
+ assertThat(mHelper.getCurrentUserId()).isEqualTo(USER1_ID);
}
@Test
public void testIsCurrentUserOrProfile() {
- assertThat(mStore.isCurrentUserOrProfile(USER1_ID)).isTrue();
- assertThat(mStore.isCurrentUserOrProfile(USER1_MANAGED_ID)).isTrue();
- assertThat(mStore.isCurrentUserOrProfile(USER2_ID)).isFalse();
- assertThat(mStore.isCurrentUserOrProfile(USER2_MANAGED_ID)).isFalse();
+ assertThat(mHelper.isCurrentUserOrProfile(USER1_ID)).isTrue();
+ assertThat(mHelper.isCurrentUserOrProfile(USER1_MANAGED_ID)).isTrue();
+ assertThat(mHelper.isCurrentUserOrProfile(USER2_ID)).isFalse();
+ assertThat(mHelper.isCurrentUserOrProfile(USER2_MANAGED_ID)).isFalse();
switchUser(USER2_ID);
- assertThat(mStore.isCurrentUserOrProfile(USER1_ID)).isFalse();
- assertThat(mStore.isCurrentUserOrProfile(USER2_ID)).isTrue();
- assertThat(mStore.isCurrentUserOrProfile(USER1_MANAGED_ID)).isFalse();
- assertThat(mStore.isCurrentUserOrProfile(USER2_MANAGED_ID)).isTrue();
+ assertThat(mHelper.isCurrentUserOrProfile(USER1_ID)).isFalse();
+ assertThat(mHelper.isCurrentUserOrProfile(USER2_ID)).isTrue();
+ assertThat(mHelper.isCurrentUserOrProfile(USER1_MANAGED_ID)).isFalse();
+ assertThat(mHelper.isCurrentUserOrProfile(USER2_MANAGED_ID)).isTrue();
}
@Test
public void testGetParentUserId() {
- assertThat(mStore.getParentUserId(USER1_ID)).isEqualTo(USER1_ID);
- assertThat(mStore.getParentUserId(USER1_MANAGED_ID)).isEqualTo(USER1_ID);
- assertThat(mStore.getParentUserId(USER2_ID)).isEqualTo(USER2_ID);
- assertThat(mStore.getParentUserId(USER2_MANAGED_ID)).isEqualTo(USER2_ID);
+ assertThat(mHelper.getParentUserId(USER1_ID)).isEqualTo(USER1_ID);
+ assertThat(mHelper.getParentUserId(USER1_MANAGED_ID)).isEqualTo(USER1_ID);
+ assertThat(mHelper.getParentUserId(USER2_ID)).isEqualTo(USER2_ID);
+ assertThat(mHelper.getParentUserId(USER2_MANAGED_ID)).isEqualTo(USER2_ID);
switchUser(USER2_ID);
- assertThat(mStore.getParentUserId(USER1_ID)).isEqualTo(USER1_ID);
- assertThat(mStore.getParentUserId(USER2_ID)).isEqualTo(USER2_ID);
- assertThat(mStore.getParentUserId(USER1_MANAGED_ID)).isEqualTo(USER1_ID);
- assertThat(mStore.getParentUserId(USER2_MANAGED_ID)).isEqualTo(USER2_ID);
+ assertThat(mHelper.getParentUserId(USER1_ID)).isEqualTo(USER1_ID);
+ assertThat(mHelper.getParentUserId(USER2_ID)).isEqualTo(USER2_ID);
+ assertThat(mHelper.getParentUserId(USER1_MANAGED_ID)).isEqualTo(USER1_ID);
+ assertThat(mHelper.getParentUserId(USER2_MANAGED_ID)).isEqualTo(USER2_ID);
}
}
diff --git a/services/tests/servicestests/Android.bp b/services/tests/servicestests/Android.bp
index 556f6362d872..8381205fa48e 100644
--- a/services/tests/servicestests/Android.bp
+++ b/services/tests/servicestests/Android.bp
@@ -30,6 +30,7 @@ android_test {
"services.usage",
"guava",
"androidx.test.core",
+ "androidx.test.ext.truth",
"androidx.test.runner",
"androidx.test.rules",
"mockito-target-minus-junit4",
@@ -45,6 +46,7 @@ android_test {
"service-appsearch",
"service-jobscheduler",
"service-permission",
+ "service-blobstore",
// TODO: remove once Android migrates to JUnit 4.12,
// which provides assertThrows
"testng",
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java
index ec928fb278be..9a7d6ea52d98 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java
@@ -145,9 +145,10 @@ public class AccessibilityManagerServiceTest extends AndroidTestCase {
@SmallTest
public void testRegisterSystemActionWithoutPermission() throws Exception {
- doThrow(SecurityException.class).when(mMockSecurityPolicy).enforceCallingPermission(
- Manifest.permission.MANAGE_ACCESSIBILITY,
- AccessibilityManagerService.FUNCTION_REGISTER_SYSTEM_ACTION);
+ doThrow(SecurityException.class).when(mMockSecurityPolicy)
+ .enforceCallerIsRecentsOrHasPermission(
+ Manifest.permission.MANAGE_ACCESSIBILITY,
+ AccessibilityManagerService.FUNCTION_REGISTER_SYSTEM_ACTION);
try {
mA11yms.registerSystemAction(TEST_ACTION, ACTION_ID);
@@ -165,9 +166,10 @@ public class AccessibilityManagerServiceTest extends AndroidTestCase {
@SmallTest
public void testUnregisterSystemActionWithoutPermission() throws Exception {
- doThrow(SecurityException.class).when(mMockSecurityPolicy).enforceCallingPermission(
- Manifest.permission.MANAGE_ACCESSIBILITY,
- AccessibilityManagerService.FUNCTION_UNREGISTER_SYSTEM_ACTION);
+ doThrow(SecurityException.class).when(mMockSecurityPolicy)
+ .enforceCallerIsRecentsOrHasPermission(
+ Manifest.permission.MANAGE_ACCESSIBILITY,
+ AccessibilityManagerService.FUNCTION_UNREGISTER_SYSTEM_ACTION);
try {
mA11yms.unregisterSystemAction(ACTION_ID);
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java
index 150409766f47..fbb55fdeeb8f 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java
@@ -47,6 +47,9 @@ import android.util.ArraySet;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityWindowInfo;
+import com.android.server.LocalServices;
+import com.android.server.wm.ActivityTaskManagerInternal;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -67,6 +70,9 @@ public class AccessibilitySecurityPolicyTest {
private static final int WINDOWID2 = 0x000b;
private static final int APP_UID = 10400;
+ private static final String PERMISSION = "test-permission";
+ private static final String FUNCTION = "test-function-name";
+
private static final int[] ALWAYS_DISPATCH_EVENTS = {
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED,
AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED,
@@ -111,6 +117,7 @@ public class AccessibilitySecurityPolicyTest {
@Mock private AccessibilityWindowManager mMockA11yWindowManager;
@Mock private AppWidgetManagerInternal mMockAppWidgetManager;
@Mock private AccessibilitySecurityPolicy.AccessibilityUserManager mMockA11yUserManager;
+ @Mock private ActivityTaskManagerInternal mMockActivityTaskManagerInternal;
@Before
public void setUp() {
@@ -119,6 +126,10 @@ public class AccessibilitySecurityPolicyTest {
when(mMockContext.getSystemService(Context.USER_SERVICE)).thenReturn(mMockUserManager);
when(mMockContext.getSystemService(Context.APP_OPS_SERVICE)).thenReturn(mMockAppOpsManager);
+ LocalServices.removeServiceForTest(ActivityTaskManagerInternal.class);
+ LocalServices.addService(
+ ActivityTaskManagerInternal.class, mMockActivityTaskManagerInternal);
+
mA11ySecurityPolicy = new AccessibilitySecurityPolicy(mMockContext, mMockA11yUserManager);
mA11ySecurityPolicy.setAccessibilityWindowManager(mMockA11yWindowManager);
mA11ySecurityPolicy.setAppWidgetManager(mMockAppWidgetManager);
@@ -469,4 +480,11 @@ public class AccessibilitySecurityPolicyTest {
verify(mMockAppOpsManager).noteOpNoThrow(AppOpsManager.OPSTR_ACCESS_ACCESSIBILITY,
APP_UID, PACKAGE_NAME);
}
+
+ @Test
+ public void testEnforceCallerIsRecentsOrHasPermission() {
+ mA11ySecurityPolicy.enforceCallerIsRecentsOrHasPermission(PERMISSION, FUNCTION);
+ verify(mMockActivityTaskManagerInternal).enforceCallerIsRecentsOrHasPermission(
+ PERMISSION, FUNCTION);
+ }
}
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/gestures/TouchExplorerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/gestures/TouchExplorerTest.java
index a4ceadb3028b..9053234aa220 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/gestures/TouchExplorerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/gestures/TouchExplorerTest.java
@@ -89,9 +89,12 @@ public class TouchExplorerTest {
@Override
public void onMotionEvent(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
- MotionEventMatcher lastEventMatcher = new MotionEventMatcher(mLastEvent);
mEvents.add(0, event.copy());
- assertThat(rawEvent, lastEventMatcher);
+ // LastEvent may not match if we're clearing the state
+ if (mLastEvent != null) {
+ MotionEventMatcher lastEventMatcher = new MotionEventMatcher(mLastEvent);
+ assertThat(rawEvent, lastEventMatcher);
+ }
}
@Override
@@ -126,6 +129,31 @@ public class TouchExplorerTest {
}
@Test
+ public void upEventWhenInTwoFingerMove_clearsState() {
+ goFromStateClearTo(STATE_MOVING_2FINGERS);
+
+ send(upEvent());
+ assertState(STATE_CLEAR);
+ }
+
+ @Test
+ public void clearEventsWhenInTwoFingerMove_clearsStateAndSendsUp() {
+ goFromStateClearTo(STATE_MOVING_2FINGERS);
+
+ // Clear last event so we don't try to match against anything when cleanup events are sent
+ // for the clear
+ mLastEvent = null;
+ mTouchExplorer.clearEvents(InputDevice.SOURCE_TOUCHSCREEN);
+ assertState(STATE_CLEAR);
+ List<MotionEvent> events = getCapturedEvents();
+ assertCapturedEvents(
+ MotionEvent.ACTION_DOWN,
+ MotionEvent.ACTION_POINTER_DOWN,
+ MotionEvent.ACTION_POINTER_UP,
+ MotionEvent.ACTION_UP);
+ }
+
+ @Test
public void testTwoFingersDrag_shouldDraggingAndActionDown() {
goFromStateClearTo(STATE_DRAGGING_2FINGERS);
@@ -268,6 +296,12 @@ public class TouchExplorerTest {
DEFAULT_Y, 0));
}
+ private MotionEvent upEvent() {
+ MotionEvent event = downEvent();
+ event.setAction(MotionEvent.ACTION_UP);
+ return event;
+ }
+
private MotionEvent pointerDownEvent() {
final int secondPointerId = 0x0100;
final int action = MotionEvent.ACTION_POINTER_DOWN | secondPointerId;
diff --git a/services/tests/servicestests/src/com/android/server/backup/restore/PerformUnifiedRestoreTaskTest.java b/services/tests/servicestests/src/com/android/server/backup/restore/PerformUnifiedRestoreTaskTest.java
index 6359edf190b0..3d220432cc8e 100644
--- a/services/tests/servicestests/src/com/android/server/backup/restore/PerformUnifiedRestoreTaskTest.java
+++ b/services/tests/servicestests/src/com/android/server/backup/restore/PerformUnifiedRestoreTaskTest.java
@@ -20,7 +20,6 @@ import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.when;
@@ -55,6 +54,8 @@ public class PerformUnifiedRestoreTaskTest {
private static final String INCLUDED_KEY = "included_key";
private static final String EXCLUDED_KEY_1 = "excluded_key_1";
private static final String EXCLUDED_KEY_2 = "excluded_key_2";
+ private static final String SYSTEM_PACKAGE_NAME = "android";
+ private static final String NON_SYSTEM_PACKAGE_NAME = "package";
@Mock private BackupDataInput mBackupDataInput;
@Mock private BackupDataOutput mBackupDataOutput;
@@ -98,9 +99,6 @@ public class PerformUnifiedRestoreTaskTest {
return null;
}
});
-
- mRestoreTask = new PerformUnifiedRestoreTask(Collections.singletonMap(
- PACKAGE_NAME, mExcludedkeys));
}
private void populateTestData() {
@@ -116,6 +114,8 @@ public class PerformUnifiedRestoreTaskTest {
@Test
public void testFilterExcludedKeys() throws Exception {
+ mRestoreTask = new PerformUnifiedRestoreTask(Collections.singletonMap(
+ PACKAGE_NAME, mExcludedkeys));
mRestoreTask.filterExcludedKeys(PACKAGE_NAME, mBackupDataInput, mBackupDataOutput);
// Verify only the correct were written into BackupDataOutput object.
@@ -123,4 +123,34 @@ public class PerformUnifiedRestoreTaskTest {
allowedBackupKeys.removeAll(mExcludedkeys);
assertEquals(allowedBackupKeys, mBackupDataDump);
}
+
+ @Test
+ public void testStageBackupData_stageForNonSystemPackageWithKeysToExclude() {
+ mRestoreTask = new PerformUnifiedRestoreTask(Collections.singletonMap(
+ PACKAGE_NAME, mExcludedkeys));
+
+ assertTrue(mRestoreTask.shouldStageBackupData(NON_SYSTEM_PACKAGE_NAME));
+ }
+
+ @Test
+ public void testStageBackupData_stageForNonSystemPackageWithNoKeysToExclude() {
+ mRestoreTask = new PerformUnifiedRestoreTask(Collections.emptyMap());
+
+ assertTrue(mRestoreTask.shouldStageBackupData(NON_SYSTEM_PACKAGE_NAME));
+ }
+
+ @Test
+ public void testStageBackupData_doNotStageForSystemPackageWithNoKeysToExclude() {
+ mRestoreTask = new PerformUnifiedRestoreTask(Collections.emptyMap());
+
+ assertFalse(mRestoreTask.shouldStageBackupData(SYSTEM_PACKAGE_NAME));
+ }
+
+ @Test
+ public void testStageBackupData_stageForSystemPackageWithKeysToExclude() {
+ mRestoreTask = new PerformUnifiedRestoreTask(Collections.singletonMap(
+ PACKAGE_NAME, mExcludedkeys));
+
+ assertTrue(mRestoreTask.shouldStageBackupData(NON_SYSTEM_PACKAGE_NAME));
+ }
}
diff --git a/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java b/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java
index bec265e6d62d..156cd6e5826d 100644
--- a/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/biometrics/BiometricServiceTest.java
@@ -421,6 +421,7 @@ public class BiometricServiceTest {
public void testAuthenticate_noBiometrics_credentialAllowed() throws Exception {
setupAuthForOnly(BiometricAuthenticator.TYPE_FACE, Authenticators.BIOMETRIC_STRONG);
when(mFaceAuthenticator.hasEnrolledTemplates(anyInt(), any())).thenReturn(false);
+ when(mTrustManager.isDeviceSecure(anyInt())).thenReturn(true);
invokeAuthenticate(mBiometricService.mImpl, mReceiver1,
true /* requireConfirmation */,
Authenticators.DEVICE_CREDENTIAL | Authenticators.BIOMETRIC_WEAK);
@@ -467,6 +468,22 @@ public class BiometricServiceTest {
}
@Test
+ public void testAuthenticate_no_Biometrics_noCredential() throws Exception {
+ setupAuthForOnly(BiometricAuthenticator.TYPE_FACE, Authenticators.BIOMETRIC_STRONG);
+ when(mFaceAuthenticator.hasEnrolledTemplates(anyInt(), any())).thenReturn(false);
+ when(mTrustManager.isDeviceSecure(anyInt())).thenReturn(false);
+
+ invokeAuthenticate(mBiometricService.mImpl, mReceiver1,
+ true /* requireConfirmation */,
+ Authenticators.DEVICE_CREDENTIAL | Authenticators.BIOMETRIC_STRONG);
+ waitForIdle();
+
+ verify(mReceiver1).onError(anyInt() /* modality */,
+ eq(BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS)/* error */,
+ eq(0) /* vendorCode */);
+ }
+
+ @Test
public void testRejectFace_whenAuthenticating_notifiesSystemUIAndClient_thenPaused()
throws Exception {
setupAuthForOnly(BiometricAuthenticator.TYPE_FACE, Authenticators.BIOMETRIC_STRONG);
@@ -1216,7 +1233,8 @@ public class BiometricServiceTest {
when(mDevicePolicyManager
.getKeyguardDisabledFeatures(any() /* admin */, anyInt() /* userHandle */))
.thenReturn(~DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
- invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1);
+ invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1,
+ Authenticators.BIOMETRIC_STRONG);
waitForIdle();
assertEquals(mBiometricService.mPendingAuthSession.mState,
BiometricService.STATE_AUTH_CALLED);
@@ -1233,7 +1251,8 @@ public class BiometricServiceTest {
when(mDevicePolicyManager
.getKeyguardDisabledFeatures(any() /* admin*/, anyInt() /* userHandle */))
.thenReturn(~DevicePolicyManager.KEYGUARD_DISABLE_FACE);
- invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1);
+ invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1,
+ Authenticators.BIOMETRIC_STRONG);
waitForIdle();
assertEquals(mBiometricService.mPendingAuthSession.mState,
BiometricService.STATE_AUTH_CALLED);
@@ -1247,27 +1266,24 @@ public class BiometricServiceTest {
public void testWorkAuthentication_fingerprintFailsIfDisabledByDevicePolicyManager()
throws Exception {
setupAuthForOnly(BiometricAuthenticator.TYPE_FINGERPRINT, Authenticators.BIOMETRIC_STRONG);
+ when(mTrustManager.isDeviceSecure(anyInt())).thenReturn(true);
when(mDevicePolicyManager
.getKeyguardDisabledFeatures(any() /* admin */, anyInt() /* userHandle */))
.thenReturn(DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
- invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1);
+
+ invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1,
+ Authenticators.BIOMETRIC_STRONG);
waitForIdle();
- assertNotNull(mBiometricService.mCurrentAuthSession);
- assertEquals(mBiometricService.mCurrentAuthSession.mState,
- BiometricService.STATE_SHOWING_DEVICE_CREDENTIAL);
- }
+ verify(mReceiver1).onError(eq(BiometricAuthenticator.TYPE_NONE),
+ eq(BiometricPrompt.BIOMETRIC_ERROR_HW_UNAVAILABLE), eq(0) /* vendorCode */);
- @Test
- public void testWorkAuthentication_faceFailsIfDisabledByDevicePolicyManager() throws Exception {
- setupAuthForOnly(BiometricAuthenticator.TYPE_FACE, Authenticators.BIOMETRIC_STRONG);
- when(mDevicePolicyManager
- .getKeyguardDisabledFeatures(any() /* admin */, anyInt() /* userHandle */))
- .thenReturn(DevicePolicyManager.KEYGUARD_DISABLE_FACE);
- invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver1);
+ invokeAuthenticateForWorkApp(mBiometricService.mImpl, mReceiver2,
+ Authenticators.BIOMETRIC_STRONG | Authenticators.DEVICE_CREDENTIAL);
waitForIdle();
assertNotNull(mBiometricService.mCurrentAuthSession);
assertEquals(mBiometricService.mCurrentAuthSession.mState,
BiometricService.STATE_SHOWING_DEVICE_CREDENTIAL);
+ verify(mReceiver2, never()).onError(anyInt(), anyInt(), anyInt());
}
// Helper methods
@@ -1376,33 +1392,35 @@ public class BiometricServiceTest {
0 /* userId */,
receiver,
TEST_PACKAGE_NAME /* packageName */,
- createTestBiometricPromptBundle(requireConfirmation, authenticators));
+ createTestBiometricPromptBundle(requireConfirmation, authenticators,
+ false /* checkDevicePolicy */));
}
private static void invokeAuthenticateForWorkApp(IBiometricService.Stub service,
- IBiometricServiceReceiver receiver) throws Exception {
- final Bundle bundle = new Bundle();
- bundle.putBoolean(BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, true);
- bundle.putBoolean(BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true);
- bundle.putBoolean(BiometricPrompt.KEY_ALLOW_DEVICE_CREDENTIAL, true);
+ IBiometricServiceReceiver receiver, Integer authenticators) throws Exception {
service.authenticate(
new Binder() /* token */,
0 /* sessionId */,
0 /* userId */,
receiver,
TEST_PACKAGE_NAME /* packageName */,
- bundle);
+ createTestBiometricPromptBundle(false /* requireConfirmation */, authenticators,
+ true /* checkDevicePolicy */));
}
private static Bundle createTestBiometricPromptBundle(
boolean requireConfirmation,
- Integer authenticators) {
+ Integer authenticators,
+ boolean checkDevicePolicy) {
final Bundle bundle = new Bundle();
bundle.putBoolean(BiometricPrompt.KEY_REQUIRE_CONFIRMATION, requireConfirmation);
if (authenticators != null) {
bundle.putInt(BiometricPrompt.KEY_AUTHENTICATORS_ALLOWED, authenticators);
}
+ if (checkDevicePolicy) {
+ bundle.putBoolean(BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, true);
+ }
return bundle;
}
diff --git a/services/tests/servicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java
new file mode 100644
index 000000000000..ff728e7a4017
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.server.blob;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.blob.BlobHandle;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.os.UserHandle;
+import android.platform.test.annotations.Presubmit;
+import android.util.ArrayMap;
+import android.util.LongSparseArray;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.server.blob.BlobStoreManagerService.Injector;
+import com.android.server.blob.BlobStoreManagerService.SessionStateChangeListener;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.File;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+@Presubmit
+public class BlobStoreManagerServiceTest {
+ private Context mContext;
+ private Handler mHandler;
+ private BlobStoreManagerService mService;
+
+ private LongSparseArray<BlobStoreSession> mUserSessions;
+ private ArrayMap<BlobHandle, BlobMetadata> mUserBlobs;
+
+ private SessionStateChangeListener mStateChangeListener;
+
+ private static final String TEST_PKG1 = "com.example1";
+ private static final String TEST_PKG2 = "com.example2";
+ private static final String TEST_PKG3 = "com.example3";
+
+ private static final int TEST_UID1 = 10001;
+ private static final int TEST_UID2 = 10002;
+ private static final int TEST_UID3 = 10003;
+
+ @Before
+ public void setUp() {
+ // Share classloader to allow package private access.
+ System.setProperty("dexmaker.share_classloader", "true");
+
+ mContext = InstrumentationRegistry.getTargetContext();
+ mHandler = new TestHandler(Looper.getMainLooper());
+ mService = new BlobStoreManagerService(mContext, new TestInjector());
+ mUserSessions = new LongSparseArray<>();
+ mUserBlobs = new ArrayMap<>();
+
+ mService.addUserSessionsForTest(mUserSessions, UserHandle.myUserId());
+ mService.addUserBlobsForTest(mUserBlobs, UserHandle.myUserId());
+
+ mStateChangeListener = mService.new SessionStateChangeListener();
+ }
+
+ @Test
+ public void testHandlePackageRemoved() throws Exception {
+ // Setup sessions
+ final File sessionFile1 = mock(File.class);
+ final long sessionId1 = 11;
+ final BlobStoreSession session1 = createBlobStoreSessionMock(TEST_PKG1, TEST_UID1,
+ sessionId1, sessionFile1);
+ mUserSessions.append(sessionId1, session1);
+
+ final File sessionFile2 = mock(File.class);
+ final long sessionId2 = 25;
+ final BlobStoreSession session2 = createBlobStoreSessionMock(TEST_PKG2, TEST_UID2,
+ sessionId2, sessionFile2);
+ mUserSessions.append(sessionId2, session2);
+
+ final File sessionFile3 = mock(File.class);
+ final long sessionId3 = 37;
+ final BlobStoreSession session3 = createBlobStoreSessionMock(TEST_PKG3, TEST_UID3,
+ sessionId3, sessionFile3);
+ mUserSessions.append(sessionId3, session3);
+
+ final File sessionFile4 = mock(File.class);
+ final long sessionId4 = 48;
+ final BlobStoreSession session4 = createBlobStoreSessionMock(TEST_PKG1, TEST_UID1,
+ sessionId4, sessionFile4);
+ mUserSessions.append(sessionId4, session4);
+
+ // Setup blobs
+ final File blobFile1 = mock(File.class);
+ final BlobHandle blobHandle1 = BlobHandle.createWithSha256("digest1".getBytes(),
+ "label1", System.currentTimeMillis(), "tag1");
+ final BlobMetadata blobMetadata1 = createBlobMetadataMock(blobFile1, true);
+ mUserBlobs.put(blobHandle1, blobMetadata1);
+
+ final File blobFile2 = mock(File.class);
+ final BlobHandle blobHandle2 = BlobHandle.createWithSha256("digest2".getBytes(),
+ "label2", System.currentTimeMillis(), "tag2");
+ final BlobMetadata blobMetadata2 = createBlobMetadataMock(blobFile2, false);
+ mUserBlobs.put(blobHandle2, blobMetadata2);
+
+ // Invoke test method
+ mService.handlePackageRemoved(TEST_PKG1, TEST_UID1);
+
+ // Verify sessions are removed
+ verify(sessionFile1).delete();
+ verify(sessionFile2, never()).delete();
+ verify(sessionFile3, never()).delete();
+ verify(sessionFile4).delete();
+
+ assertThat(mUserSessions.size()).isEqualTo(2);
+ assertThat(mUserSessions.get(sessionId1)).isNull();
+ assertThat(mUserSessions.get(sessionId2)).isNotNull();
+ assertThat(mUserSessions.get(sessionId3)).isNotNull();
+ assertThat(mUserSessions.get(sessionId4)).isNull();
+
+ // Verify blobs are removed
+ verify(blobMetadata1).removeCommitter(TEST_PKG1, TEST_UID1);
+ verify(blobMetadata1).removeLeasee(TEST_PKG1, TEST_UID1);
+ verify(blobMetadata2).removeCommitter(TEST_PKG1, TEST_UID1);
+ verify(blobMetadata2).removeLeasee(TEST_PKG1, TEST_UID1);
+
+ verify(blobFile1, never()).delete();
+ verify(blobFile2).delete();
+
+ assertThat(mUserBlobs.size()).isEqualTo(1);
+ assertThat(mUserBlobs.get(blobHandle1)).isNotNull();
+ assertThat(mUserBlobs.get(blobHandle2)).isNull();
+ }
+
+ private BlobStoreSession createBlobStoreSessionMock(String ownerPackageName, int ownerUid,
+ long sessionId, File sessionFile) {
+ final BlobStoreSession session = mock(BlobStoreSession.class);
+ when(session.getOwnerPackageName()).thenReturn(ownerPackageName);
+ when(session.getOwnerUid()).thenReturn(ownerUid);
+ when(session.getSessionId()).thenReturn(sessionId);
+ when(session.getSessionFile()).thenReturn(sessionFile);
+ return session;
+ }
+
+ private BlobMetadata createBlobMetadataMock(File blobFile, boolean hasLeases) {
+ final BlobMetadata blobMetadata = mock(BlobMetadata.class);
+ when(blobMetadata.getBlobFile()).thenReturn(blobFile);
+ when(blobMetadata.hasLeases()).thenReturn(hasLeases);
+ return blobMetadata;
+ }
+
+ private class TestHandler extends Handler {
+ TestHandler(Looper looper) {
+ super(looper);
+ }
+
+ @Override
+ public void dispatchMessage(Message msg) {
+ // Ignore all messages
+ }
+ }
+
+ private class TestInjector extends Injector {
+ @Override
+ public Handler initializeMessageHandler() {
+ return mHandler;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
index def5b617becd..b193a34952f4 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -1986,7 +1986,11 @@ public class DevicePolicyManagerTest extends DpmTestBase {
UserManager.DISALLOW_SAFE_BOOT,
UserManager.DISALLOW_SHARE_LOCATION,
UserManager.DISALLOW_SMS,
- UserManager.DISALLOW_USB_FILE_TRANSFER
+ UserManager.DISALLOW_USB_FILE_TRANSFER,
+ UserManager.DISALLOW_AIRPLANE_MODE,
+ UserManager.DISALLOW_MOUNT_PHYSICAL_MEDIA,
+ UserManager.DISALLOW_OUTGOING_CALLS,
+ UserManager.DISALLOW_UNMUTE_MICROPHONE
);
public void testSetUserRestriction_asPoOfOrgOwnedDevice() throws Exception {
@@ -2219,17 +2223,13 @@ public class DevicePolicyManagerTest extends DpmTestBase {
String packageName = "com.google.android.test";
- PackageInfo packageInfo = new PackageInfo();
- packageInfo.applicationInfo = new ApplicationInfo();
- packageInfo.applicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
+ ApplicationInfo applicationInfo = new ApplicationInfo();
+ applicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
when(getServices().userManager.getProfileParent(MANAGED_PROFILE_USER_ID))
.thenReturn(new UserInfo(UserHandle.USER_SYSTEM, "user system", 0));
- when(getServices().ipackageManager.getPackageInfo(packageName,
- PackageManager.MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM)).thenReturn(
- packageInfo);
- when(getServices().ipackageManager.getPackageInfo(packageName,
- PackageManager.MATCH_UNINSTALLED_PACKAGES | PackageManager.MATCH_SYSTEM_ONLY,
- UserHandle.USER_SYSTEM)).thenReturn(packageInfo);
+ when(getServices().ipackageManager.getApplicationInfo(packageName,
+ PackageManager.MATCH_UNINSTALLED_PACKAGES, UserHandle.USER_SYSTEM)).thenReturn(
+ applicationInfo);
parentDpm.setApplicationHidden(admin1, packageName, true);
verify(getServices().ipackageManager).setApplicationHiddenSettingAsUser(packageName,
@@ -5817,6 +5817,7 @@ public class DevicePolicyManagerTest extends DpmTestBase {
mContext.packageName = admin1.getPackageName();
setCrossProfileAppsList();
+ setVendorCrossProfileAppsList();
assertTrue(dpm.getAllCrossProfilePackages().isEmpty());
}
@@ -5827,6 +5828,7 @@ public class DevicePolicyManagerTest extends DpmTestBase {
mContext.packageName = admin1.getPackageName();
setCrossProfileAppsList();
+ setVendorCrossProfileAppsList();
initializeDpms();
assertTrue(dpm.getAllCrossProfilePackages().isEmpty());
@@ -5839,9 +5841,11 @@ public class DevicePolicyManagerTest extends DpmTestBase {
dpm.setCrossProfilePackages(admin1, packages);
setCrossProfileAppsList("TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE");
+ setVendorCrossProfileAppsList("TEST_VENDOR_DEFAULT_PACKAGE");
assertEquals(Sets.newSet(
- "TEST_PACKAGE", "TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE"),
+ "TEST_PACKAGE", "TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE",
+ "TEST_VENDOR_DEFAULT_PACKAGE"),
dpm.getAllCrossProfilePackages());
}
@@ -5854,13 +5858,31 @@ public class DevicePolicyManagerTest extends DpmTestBase {
dpm.setCrossProfilePackages(admin1, packages);
setCrossProfileAppsList("TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE");
+ setVendorCrossProfileAppsList("TEST_VENDOR_DEFAULT_PACKAGE");
initializeDpms();
assertEquals(Sets.newSet(
- "TEST_PACKAGE", "TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE"),
+ "TEST_PACKAGE", "TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE",
+ "TEST_VENDOR_DEFAULT_PACKAGE"),
dpm.getAllCrossProfilePackages());
}
+ public void testGetDefaultCrossProfilePackages_noPackagesSet_returnsEmpty() {
+ setCrossProfileAppsList();
+ setVendorCrossProfileAppsList();
+
+ assertThat(dpm.getDefaultCrossProfilePackages()).isEmpty();
+ }
+
+ public void testGetDefaultCrossProfilePackages_packagesSet_returnsCombinedSet() {
+ setCrossProfileAppsList("TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE");
+ setVendorCrossProfileAppsList("TEST_VENDOR_DEFAULT_PACKAGE");
+
+ assertThat(dpm.getDefaultCrossProfilePackages()).isEqualTo(Sets.newSet(
+ "TEST_DEFAULT_PACKAGE", "TEST_COMMON_PACKAGE", "TEST_VENDOR_DEFAULT_PACKAGE"
+ ));
+ }
+
public void testSetCommonCriteriaMode_asDeviceOwner() throws Exception {
setDeviceOwner();
@@ -5892,6 +5914,12 @@ public class DevicePolicyManagerTest extends DpmTestBase {
.thenReturn(packages);
}
+ private void setVendorCrossProfileAppsList(String... packages) {
+ when(mContext.getResources()
+ .getStringArray(eq(R.array.vendor_cross_profile_apps)))
+ .thenReturn(packages);
+ }
+
// admin1 is the outgoing DPC, adminAnotherPakcage is the incoming one.
private void assertDeviceOwnershipRevertedWithFakeTransferMetadata() throws Exception {
writeFakeTransferMetadataFile(UserHandle.USER_SYSTEM,
diff --git a/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java b/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java
index 770afb0a24d5..4a7636a179b1 100644
--- a/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java
+++ b/services/tests/servicestests/src/com/android/server/integrity/AppIntegrityManagerServiceImplTest.java
@@ -23,12 +23,15 @@ import static android.content.pm.PackageManager.EXTRA_VERIFICATION_ID;
import static android.content.pm.PackageManager.EXTRA_VERIFICATION_INSTALLER_PACKAGE;
import static android.content.pm.PackageManager.EXTRA_VERIFICATION_INSTALLER_UID;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
@@ -43,6 +46,7 @@ import android.content.IntentFilter;
import android.content.IntentSender;
import android.content.integrity.AppInstallMetadata;
import android.content.integrity.AtomicFormula;
+import android.content.integrity.IntegrityFormula;
import android.content.integrity.Rule;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
@@ -103,19 +107,24 @@ public class AppIntegrityManagerServiceImplTest {
private static final String PLAY_STORE_PKG = "com.android.vending";
private static final String ADB_INSTALLER = "adb";
- private static final String PLAY_STORE_CERT =
- "play_store_cert";
+ private static final String PLAY_STORE_CERT = "play_store_cert";
private static final String ADB_CERT = "";
@org.junit.Rule
public MockitoRule mMockitoRule = MockitoJUnit.rule();
- @Mock PackageManagerInternal mPackageManagerInternal;
- @Mock Context mMockContext;
- @Mock Resources mMockResources;
- @Mock RuleEvaluationEngine mRuleEvaluationEngine;
- @Mock IntegrityFileManager mIntegrityFileManager;
- @Mock Handler mHandler;
+ @Mock
+ PackageManagerInternal mPackageManagerInternal;
+ @Mock
+ Context mMockContext;
+ @Mock
+ Resources mMockResources;
+ @Mock
+ RuleEvaluationEngine mRuleEvaluationEngine;
+ @Mock
+ IntegrityFileManager mIntegrityFileManager;
+ @Mock
+ Handler mHandler;
private PackageManager mSpyPackageManager;
private File mTestApk;
@@ -134,7 +143,8 @@ public class AppIntegrityManagerServiceImplTest {
mPackageManagerInternal,
mRuleEvaluationEngine,
mIntegrityFileManager,
- mHandler);
+ mHandler,
+ /* checkIntegrityForRuleProviders= */ true);
mSpyPackageManager = spy(mRealContext.getPackageManager());
// setup mocks to prevent NPE
@@ -144,16 +154,12 @@ public class AppIntegrityManagerServiceImplTest {
when(mIntegrityFileManager.initialized()).thenReturn(true);
}
- // TODO(b/148370598): Implement a test to validate that allow response is retuned when the test
- // request times out.
-
@Test
public void updateRuleSet_notAuthorized() throws Exception {
makeUsSystemApp();
Rule rule =
new Rule(
- new AtomicFormula.BooleanAtomicFormula(
- AtomicFormula.PRE_INSTALLED, true),
+ new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true),
Rule.DENY);
TestUtils.assertExpectException(
SecurityException.class,
@@ -171,8 +177,7 @@ public class AppIntegrityManagerServiceImplTest {
whitelistUsAsRuleProvider();
Rule rule =
new Rule(
- new AtomicFormula.BooleanAtomicFormula(
- AtomicFormula.PRE_INSTALLED, true),
+ new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true),
Rule.DENY);
TestUtils.assertExpectException(
SecurityException.class,
@@ -191,8 +196,7 @@ public class AppIntegrityManagerServiceImplTest {
makeUsSystemApp();
Rule rule =
new Rule(
- new AtomicFormula.BooleanAtomicFormula(
- AtomicFormula.PRE_INSTALLED, true),
+ new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true),
Rule.DENY);
// no SecurityException
@@ -207,12 +211,7 @@ public class AppIntegrityManagerServiceImplTest {
IntentSender mockReceiver = mock(IntentSender.class);
List<Rule> rules =
Arrays.asList(
- new Rule(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- PACKAGE_NAME,
- /* isHashedValue= */ false),
- Rule.DENY));
+ new Rule(IntegrityFormula.PACKAGE_NAME.equalTo(PACKAGE_NAME), Rule.DENY));
mService.updateRuleSet(VERSION, new ParceledListSlice<>(rules), mockReceiver);
runJobInHandler();
@@ -231,12 +230,7 @@ public class AppIntegrityManagerServiceImplTest {
IntentSender mockReceiver = mock(IntentSender.class);
List<Rule> rules =
Arrays.asList(
- new Rule(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- PACKAGE_NAME,
- /* isHashedValue= */ false),
- Rule.DENY));
+ new Rule(IntegrityFormula.PACKAGE_NAME.equalTo(PACKAGE_NAME), Rule.DENY));
mService.updateRuleSet(VERSION, new ParceledListSlice<>(rules), mockReceiver);
runJobInHandler();
@@ -328,10 +322,11 @@ public class AppIntegrityManagerServiceImplTest {
when(mRuleEvaluationEngine.evaluate(any(), any()))
.thenReturn(
IntegrityCheckResult.deny(
- new Rule(
- new AtomicFormula.BooleanAtomicFormula(
- AtomicFormula.PRE_INSTALLED, false),
- Rule.DENY)));
+ Arrays.asList(
+ new Rule(
+ new AtomicFormula.BooleanAtomicFormula(
+ AtomicFormula.PRE_INSTALLED, false),
+ Rule.DENY))));
Intent intent = makeVerificationIntent();
broadcastReceiverCaptor.getValue().onReceive(mMockContext, intent);
@@ -367,13 +362,21 @@ public class AppIntegrityManagerServiceImplTest {
public void verifierAsInstaller_skipIntegrityVerification() throws Exception {
whitelistUsAsRuleProvider();
makeUsSystemApp();
+ mService =
+ new AppIntegrityManagerServiceImpl(
+ mMockContext,
+ mPackageManagerInternal,
+ mRuleEvaluationEngine,
+ mIntegrityFileManager,
+ mHandler,
+ /* checkIntegrityForRuleProviders= */ false);
ArgumentCaptor<BroadcastReceiver> broadcastReceiverCaptor =
ArgumentCaptor.forClass(BroadcastReceiver.class);
- verify(mMockContext)
+ verify(mMockContext, atLeastOnce())
.registerReceiver(broadcastReceiverCaptor.capture(), any(), any(), any());
Intent intent = makeVerificationIntent(TEST_FRAMEWORK_PACKAGE);
- when(mRuleEvaluationEngine.evaluate(any(), any())).thenReturn(
- IntegrityCheckResult.deny(/* rule= */ null));
+ when(mRuleEvaluationEngine.evaluate(any(), any()))
+ .thenReturn(IntegrityCheckResult.deny(/* rule= */ null));
broadcastReceiverCaptor.getValue().onReceive(mMockContext, intent);
runJobInHandler();
@@ -383,6 +386,16 @@ public class AppIntegrityManagerServiceImplTest {
1, PackageManagerInternal.INTEGRITY_VERIFICATION_ALLOW);
}
+ @Test
+ public void getCurrentRules() throws Exception {
+ whitelistUsAsRuleProvider();
+ makeUsSystemApp();
+ Rule rule = new Rule(IntegrityFormula.PACKAGE_NAME.equalTo("package"), Rule.DENY);
+ when(mIntegrityFileManager.readRules(any())).thenReturn(Arrays.asList(rule));
+
+ assertThat(mService.getCurrentRules().getList()).containsExactly(rule);
+ }
+
private void whitelistUsAsRuleProvider() {
Resources mockResources = mock(Resources.class);
when(mockResources.getStringArray(R.array.config_integrityRuleProviderPackages))
@@ -408,14 +421,11 @@ public class AppIntegrityManagerServiceImplTest {
private Intent makeVerificationIntent() throws Exception {
PackageInfo packageInfo =
- mRealContext.getPackageManager()
+ mRealContext
+ .getPackageManager()
.getPackageInfo(TEST_FRAMEWORK_PACKAGE, PackageManager.GET_SIGNATURES);
- doReturn(packageInfo)
- .when(mSpyPackageManager)
- .getPackageInfo(eq(INSTALLER), anyInt());
- doReturn(1)
- .when(mSpyPackageManager)
- .getPackageUid(eq(INSTALLER), anyInt());
+ doReturn(packageInfo).when(mSpyPackageManager).getPackageInfo(eq(INSTALLER), anyInt());
+ doReturn(1).when(mSpyPackageManager).getPackageUid(eq(INSTALLER), anyInt());
return makeVerificationIntent(INSTALLER);
}
diff --git a/services/tests/servicestests/src/com/android/server/integrity/engine/RuleEvaluatorTest.java b/services/tests/servicestests/src/com/android/server/integrity/engine/RuleEvaluatorTest.java
index 629fd14befcc..7b53e5e7c762 100644
--- a/services/tests/servicestests/src/com/android/server/integrity/engine/RuleEvaluatorTest.java
+++ b/services/tests/servicestests/src/com/android/server/integrity/engine/RuleEvaluatorTest.java
@@ -63,7 +63,7 @@ public class RuleEvaluatorTest {
@Test
public void testEvaluateRules_noMatchedRules_allow() {
- Rule rule1 =
+ Rule rule =
new Rule(
new StringAtomicFormula(
AtomicFormula.PACKAGE_NAME,
@@ -72,7 +72,7 @@ public class RuleEvaluatorTest {
Rule.DENY);
IntegrityCheckResult result =
- RuleEvaluator.evaluateRules(Collections.singletonList(rule1), APP_INSTALL_METADATA);
+ RuleEvaluator.evaluateRules(Collections.singletonList(rule), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(ALLOW);
}
@@ -98,7 +98,7 @@ public class RuleEvaluatorTest {
RuleEvaluator.evaluateRules(Arrays.asList(rule1, rule2), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
- assertThat(result.getRule()).isEqualTo(rule1);
+ assertThat(result.getMatchedRules()).containsExactly(rule1);
}
@Test
@@ -110,7 +110,7 @@ public class RuleEvaluatorTest {
PACKAGE_NAME_1,
/* isHashedValue= */ false),
Rule.DENY);
- CompoundFormula compoundFormula2 =
+ Rule rule2 = new Rule(
new CompoundFormula(
CompoundFormula.AND,
Arrays.asList(
@@ -121,33 +121,33 @@ public class RuleEvaluatorTest {
new StringAtomicFormula(
AtomicFormula.APP_CERTIFICATE,
APP_CERTIFICATE,
- /* isHashedValue= */ false)));
- Rule rule2 = new Rule(compoundFormula2, Rule.DENY);
+ /* isHashedValue= */ false))),
+ Rule.DENY);
IntegrityCheckResult result =
RuleEvaluator.evaluateRules(Arrays.asList(rule1, rule2), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
- assertThat(result.getRule()).isEqualTo(rule1);
+ assertThat(result.getMatchedRules()).containsExactly(rule1, rule2);
}
@Test
public void testEvaluateRules_ruleWithNot_deny() {
- CompoundFormula compoundFormula =
+ Rule rule = new Rule(
new CompoundFormula(
CompoundFormula.NOT,
Collections.singletonList(
new StringAtomicFormula(
AtomicFormula.PACKAGE_NAME,
PACKAGE_NAME_2,
- /* isHashedValue= */ false)));
- Rule rule = new Rule(compoundFormula, Rule.DENY);
+ /* isHashedValue= */ false))),
+ Rule.DENY);
IntegrityCheckResult result =
RuleEvaluator.evaluateRules(Collections.singletonList(rule), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
- assertThat(result.getRule()).isEqualTo(rule);
+ assertThat(result.getMatchedRules()).containsExactly(rule);
}
@Test
@@ -162,12 +162,12 @@ public class RuleEvaluatorTest {
RuleEvaluator.evaluateRules(Collections.singletonList(rule), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
- assertThat(result.getRule()).isEqualTo(rule);
+ assertThat(result.getMatchedRules()).containsExactly(rule);
}
@Test
public void testEvaluateRules_validForm_deny() {
- CompoundFormula compoundFormula =
+ Rule rule = new Rule(
new CompoundFormula(
CompoundFormula.AND,
Arrays.asList(
@@ -178,19 +178,19 @@ public class RuleEvaluatorTest {
new StringAtomicFormula(
AtomicFormula.APP_CERTIFICATE,
APP_CERTIFICATE,
- /* isHashedValue= */ false)));
- Rule rule = new Rule(compoundFormula, Rule.DENY);
+ /* isHashedValue= */ false))),
+ Rule.DENY);
IntegrityCheckResult result =
RuleEvaluator.evaluateRules(Collections.singletonList(rule), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
- assertThat(result.getRule()).isEqualTo(rule);
+ assertThat(result.getMatchedRules()).containsExactly(rule);
}
@Test
public void testEvaluateRules_orRules() {
- CompoundFormula compoundFormula =
+ Rule rule = new Rule(
new CompoundFormula(
CompoundFormula.OR,
Arrays.asList(
@@ -201,13 +201,14 @@ public class RuleEvaluatorTest {
new StringAtomicFormula(
AtomicFormula.APP_CERTIFICATE,
APP_CERTIFICATE,
- /* isHashedValue= */ false)));
- Rule rule = new Rule(compoundFormula, Rule.DENY);
+ /* isHashedValue= */ false))),
+ Rule.DENY);
IntegrityCheckResult result =
RuleEvaluator.evaluateRules(Collections.singletonList(rule), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
+ assertThat(result.getMatchedRules()).containsExactly(rule);
}
@Test
@@ -232,6 +233,7 @@ public class RuleEvaluatorTest {
RuleEvaluator.evaluateRules(Collections.singletonList(rule), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(DENY);
+ assertThat(result.getMatchedRules()).containsExactly(rule);
}
@Test
@@ -243,7 +245,7 @@ public class RuleEvaluatorTest {
PACKAGE_NAME_1,
/* isHashedValue= */ false),
Rule.FORCE_ALLOW);
- CompoundFormula compoundFormula2 =
+ Rule rule2 = new Rule(
new CompoundFormula(
CompoundFormula.AND,
Arrays.asList(
@@ -254,13 +256,43 @@ public class RuleEvaluatorTest {
new StringAtomicFormula(
AtomicFormula.APP_CERTIFICATE,
APP_CERTIFICATE,
- /* isHashedValue= */ false)));
- Rule rule2 = new Rule(compoundFormula2, Rule.DENY);
+ /* isHashedValue= */ false))),
+ Rule.DENY);
+
+ IntegrityCheckResult result =
+ RuleEvaluator.evaluateRules(Arrays.asList(rule1, rule2), APP_INSTALL_METADATA);
+
+ assertThat(result.getEffect()).isEqualTo(ALLOW);
+ assertThat(result.getMatchedRules()).containsExactly(rule1);
+ }
+
+ @Test
+ public void testEvaluateRules_multipleMatches_forceAllow() {
+ Rule rule1 =
+ new Rule(
+ new StringAtomicFormula(
+ AtomicFormula.PACKAGE_NAME,
+ PACKAGE_NAME_1,
+ /* isHashedValue= */ false),
+ Rule.FORCE_ALLOW);
+ Rule rule2 = new Rule(
+ new CompoundFormula(
+ CompoundFormula.AND,
+ Arrays.asList(
+ new StringAtomicFormula(
+ AtomicFormula.PACKAGE_NAME,
+ PACKAGE_NAME_1,
+ /* isHashedValue= */ false),
+ new StringAtomicFormula(
+ AtomicFormula.APP_CERTIFICATE,
+ APP_CERTIFICATE,
+ /* isHashedValue= */ false))),
+ Rule.FORCE_ALLOW);
IntegrityCheckResult result =
RuleEvaluator.evaluateRules(Arrays.asList(rule1, rule2), APP_INSTALL_METADATA);
assertThat(result.getEffect()).isEqualTo(ALLOW);
- assertThat(result.getRule()).isEqualTo(rule1);
+ assertThat(result.getMatchedRules()).containsExactly(rule1, rule2);
}
} \ No newline at end of file
diff --git a/services/tests/servicestests/src/com/android/server/integrity/model/IntegrityCheckResultTest.java b/services/tests/servicestests/src/com/android/server/integrity/model/IntegrityCheckResultTest.java
new file mode 100644
index 000000000000..6c23ff6fcb3c
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/integrity/model/IntegrityCheckResultTest.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.integrity.model;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.integrity.AtomicFormula;
+import android.content.integrity.CompoundFormula;
+import android.content.integrity.Rule;
+
+import com.android.internal.util.FrameworkStatsLog;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.Arrays;
+import java.util.Collections;
+
+@RunWith(JUnit4.class)
+public class IntegrityCheckResultTest {
+
+ @Test
+ public void createAllowResult() {
+ IntegrityCheckResult allowResult = IntegrityCheckResult.allow();
+
+ assertThat(allowResult.getEffect()).isEqualTo(IntegrityCheckResult.Effect.ALLOW);
+ assertThat(allowResult.getMatchedRules()).isEmpty();
+ assertThat(allowResult.getLoggingResponse())
+ .isEqualTo(FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__ALLOWED);
+ }
+
+ @Test
+ public void createAllowResultWithRule() {
+ String packageName = "com.test.deny";
+ Rule forceAllowRule =
+ new Rule(
+ new AtomicFormula.StringAtomicFormula(AtomicFormula.PACKAGE_NAME,
+ packageName),
+ Rule.FORCE_ALLOW);
+
+ IntegrityCheckResult allowResult =
+ IntegrityCheckResult.allow(Collections.singletonList(forceAllowRule));
+
+ assertThat(allowResult.getEffect()).isEqualTo(IntegrityCheckResult.Effect.ALLOW);
+ assertThat(allowResult.getMatchedRules()).containsExactly(forceAllowRule);
+ assertThat(allowResult.getLoggingResponse())
+ .isEqualTo(
+ FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__FORCE_ALLOWED);
+ }
+
+ @Test
+ public void createDenyResultWithRule() {
+ String packageName = "com.test.deny";
+ Rule failedRule =
+ new Rule(
+ new AtomicFormula.StringAtomicFormula(AtomicFormula.PACKAGE_NAME,
+ packageName),
+ Rule.DENY);
+
+ IntegrityCheckResult denyResult =
+ IntegrityCheckResult.deny(Collections.singletonList(failedRule));
+
+ assertThat(denyResult.getEffect()).isEqualTo(IntegrityCheckResult.Effect.DENY);
+ assertThat(denyResult.getMatchedRules()).containsExactly(failedRule);
+ assertThat(denyResult.getLoggingResponse())
+ .isEqualTo(FrameworkStatsLog.INTEGRITY_CHECK_RESULT_REPORTED__RESPONSE__REJECTED);
+ }
+
+ @Test
+ public void isDenyCausedByAppCertificate() {
+ String packageName = "com.test.deny";
+ String appCert = "app-cert";
+ Rule failedRule =
+ new Rule(
+ new CompoundFormula(
+ CompoundFormula.AND,
+ Arrays.asList(
+ new AtomicFormula.StringAtomicFormula(
+ AtomicFormula.PACKAGE_NAME, packageName),
+ new AtomicFormula.StringAtomicFormula(
+ AtomicFormula.APP_CERTIFICATE, appCert))),
+ Rule.DENY);
+ Rule otherFailedRule =
+ new Rule(
+ new AtomicFormula.LongAtomicFormula(AtomicFormula.VERSION_CODE,
+ AtomicFormula.EQ, 12),
+ Rule.DENY);
+
+ IntegrityCheckResult denyResult =
+ IntegrityCheckResult.deny(Arrays.asList(failedRule, otherFailedRule));
+
+ assertThat(denyResult.isCausedByAppCertRule()).isTrue();
+ assertThat(denyResult.isCausedByInstallerRule()).isFalse();
+ }
+
+ @Test
+ public void isDenyCausedByInstaller() {
+ String packageName = "com.test.deny";
+ String appCert = "app-cert";
+ Rule failedRule =
+ new Rule(
+ new CompoundFormula(
+ CompoundFormula.AND,
+ Arrays.asList(
+ new AtomicFormula.StringAtomicFormula(
+ AtomicFormula.PACKAGE_NAME, packageName),
+ new AtomicFormula.StringAtomicFormula(
+ AtomicFormula.INSTALLER_CERTIFICATE, appCert))),
+ Rule.DENY);
+ Rule otherFailedRule =
+ new Rule(
+ new AtomicFormula.LongAtomicFormula(AtomicFormula.VERSION_CODE,
+ AtomicFormula.EQ, 12),
+ Rule.DENY);
+
+ IntegrityCheckResult denyResult =
+ IntegrityCheckResult.deny(Arrays.asList(failedRule, otherFailedRule));
+
+ assertThat(denyResult.isCausedByAppCertRule()).isFalse();
+ assertThat(denyResult.isCausedByInstallerRule()).isTrue();
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/integrity/parser/RuleXmlParserTest.java b/services/tests/servicestests/src/com/android/server/integrity/parser/RuleXmlParserTest.java
deleted file mode 100644
index c57136c1acab..000000000000
--- a/services/tests/servicestests/src/com/android/server/integrity/parser/RuleXmlParserTest.java
+++ /dev/null
@@ -1,640 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.integrity.parser;
-
-import static com.android.server.testutils.TestUtils.assertExpectException;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.integrity.AtomicFormula;
-import android.content.integrity.CompoundFormula;
-import android.content.integrity.Rule;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@RunWith(JUnit4.class)
-public class RuleXmlParserTest {
-
- @Test
- public void testXmlStream_validCompoundFormula() throws Exception {
- Map<String, String> atomicFormulaAttrs = new HashMap<>();
- atomicFormulaAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- atomicFormulaAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", atomicFormulaAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.NOT,
- Collections.singletonList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false))),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes());
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validCompoundFormula_notConnector() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.NOT,
- Collections.singletonList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false))),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validCompoundFormula_andConnector() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- Map<String, String> appCertificateAttrs = new HashMap<>();
- appCertificateAttrs.put("K", String.valueOf(AtomicFormula.APP_CERTIFICATE));
- appCertificateAttrs.put("V", "test_cert");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.AND)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", appCertificateAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.AND,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.APP_CERTIFICATE,
- "test_cert",
- /* isHashedValue= */ false))),
- Rule.DENY);
- List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validCompoundFormula_orConnector() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- Map<String, String> appCertificateAttrs = new HashMap<>();
- appCertificateAttrs.put("K", String.valueOf(AtomicFormula.APP_CERTIFICATE));
- appCertificateAttrs.put("V", "test_cert");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.OR)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", appCertificateAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.OR,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.APP_CERTIFICATE,
- "test_cert",
- /* isHashedValue= */ false))),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validCompoundFormula_differentTagOrder() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.NOT,
- Collections.singletonList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false))),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_invalidCompoundFormula_invalidNumberOfFormulas() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- Map<String, String> versionCodeAttrs = new HashMap<>();
- versionCodeAttrs.put("K", String.valueOf(AtomicFormula.VERSION_CODE));
- versionCodeAttrs.put("O", String.valueOf(AtomicFormula.EQ));
- versionCodeAttrs.put("V", "1");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", versionCodeAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Connector NOT must have 1 formula only",
- () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_invalidCompoundFormula_invalidOperator() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("O", "INVALID_OPERATOR");
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "For input string: \"INVALID_OPERATOR\"",
- () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_invalidCompoundFormula_invalidEffect() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", "INVALID_EFFECT"),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "For input string: \"INVALID_EFFECT\"",
- () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_invalidCompoundFormula_invalidTags() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "InvalidAtomicFormula",
- packageNameAttrs,
- /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Found unexpected tag: InvalidAtomicFormula",
- () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_validAtomicFormula_stringValue() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validAtomicFormula_integerValue() throws Exception {
- Map<String, String> versionCodeAttrs = new HashMap<>();
- versionCodeAttrs.put("K", String.valueOf(AtomicFormula.VERSION_CODE));
- versionCodeAttrs.put("O", String.valueOf(AtomicFormula.EQ));
- versionCodeAttrs.put("V", "1");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", versionCodeAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new AtomicFormula.LongAtomicFormula(
- AtomicFormula.VERSION_CODE, AtomicFormula.EQ, 1),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validAtomicFormula_booleanValue() throws Exception {
- Map<String, String> preInstalledAttrs = new HashMap<>();
- preInstalledAttrs.put("K", String.valueOf(AtomicFormula.PRE_INSTALLED));
- preInstalledAttrs.put("V", "true");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", preInstalledAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new AtomicFormula.BooleanAtomicFormula(
- AtomicFormula.PRE_INSTALLED, true),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_validAtomicFormula_differentAttributeOrder() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- Rule expectedRule =
- new Rule(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- Rule.DENY);
-
- List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8));
-
- assertThat(rules).isEqualTo(Collections.singletonList(expectedRule));
- }
-
- @Test
- public void testXmlString_invalidAtomicFormula_invalidAttribute() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("BadKey", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Found unexpected key: -1",
- () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_invalidRule_invalidAttribute() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("BadEffect", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Unknown effect: -1",
- () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_invalidCompoundFormula_invalidAttribute() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlCompoundFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap(
- "BadConnector", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Unknown connector: -1",
- () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_invalidAtomicFormula() throws Exception {
- Map<String, String> packageNameAttrs = new HashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.VERSION_CODE));
- packageNameAttrs.put("O", String.valueOf(AtomicFormula.EQ));
- packageNameAttrs.put("V", "com.app.test");
- String ruleXmlAtomicFormula =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "For input string: \"com.app.test\"",
- () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlString_withNoRuleList() {
- Map<String, String> atomicFormulaAttrs = new HashMap<>();
- atomicFormulaAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- atomicFormulaAttrs.put("V", "com.app.test");
- String ruleXmlWithNoRuleList =
- generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", atomicFormulaAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Rules must start with RuleList <RL> tag",
- () -> xmlParser.parse(ruleXmlWithNoRuleList.getBytes(StandardCharsets.UTF_8)));
- }
-
- @Test
- public void testXmlStream_withNoRuleList() {
- Map<String, String> atomicFormulaAttrs = new HashMap<>();
- atomicFormulaAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- atomicFormulaAttrs.put("V", "com.app.test");
- String ruleXmlWithNoRuleList =
- generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", atomicFormulaAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>";
- RuleParser xmlParser = new RuleXmlParser();
-
- assertExpectException(
- RuleParseException.class,
- /* expectedExceptionMessageRegex */ "Rules must start with RuleList <RL> tag",
- () -> xmlParser.parse(ruleXmlWithNoRuleList.getBytes()));
- }
-
- private String generateTagWithAttribute(
- String tag, Map<String, String> attributeValues, boolean closed) {
- StringBuilder res = new StringBuilder("<");
- res.append(tag);
- for (String attribute : attributeValues.keySet()) {
- res.append(" ");
- res.append(attribute);
- res.append("=\"");
- res.append(attributeValues.get(attribute));
- res.append("\"");
- }
- res.append(closed ? " />" : ">");
- return res.toString();
- }
-}
diff --git a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleBinarySerializerTest.java b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleBinarySerializerTest.java
index f3da286585fd..b87877907d4f 100644
--- a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleBinarySerializerTest.java
+++ b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleBinarySerializerTest.java
@@ -203,8 +203,8 @@ public class RuleBinarySerializerTest {
+ getBits(DEFAULT_FORMAT_VERSION_BYTES.length, /* numOfBits= */ 32)
+ SERIALIZED_END_INDEXING_KEY
+ getBits(
- DEFAULT_FORMAT_VERSION_BYTES.length + getBytes(expectedBits).length,
- /* numOfBits= */ 32);
+ DEFAULT_FORMAT_VERSION_BYTES.length + getBytes(expectedBits).length,
+ /* numOfBits= */ 32);
expectedIndexingOutputStream.write(
getBytes(
expectedIndexingBitsForIndexed
@@ -427,8 +427,7 @@ public class RuleBinarySerializerTest {
Rule rule =
new Rule(
new AtomicFormula.LongAtomicFormula(
- AtomicFormula.VERSION_CODE, AtomicFormula.EQ,
- versionCode),
+ AtomicFormula.VERSION_CODE, AtomicFormula.EQ, versionCode),
Rule.DENY);
RuleSerializer binarySerializer = new RuleBinarySerializer();
String expectedBits =
@@ -456,8 +455,7 @@ public class RuleBinarySerializerTest {
String preInstalled = "1";
Rule rule =
new Rule(
- new AtomicFormula.BooleanAtomicFormula(
- AtomicFormula.PRE_INSTALLED, true),
+ new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true),
Rule.DENY);
RuleSerializer binarySerializer = new RuleBinarySerializer();
String expectedBits =
@@ -872,6 +870,16 @@ public class RuleBinarySerializerTest {
}
@Override
+ public boolean isAppCertificateFormula() {
+ return false;
+ }
+
+ @Override
+ public boolean isInstallerFormula() {
+ return false;
+ }
+
+ @Override
public int hashCode() {
return super.hashCode();
}
diff --git a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleIndexingDetailsIdentifierTest.java b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleIndexingDetailsIdentifierTest.java
index 038ab7ff0c35..913aff7daaa9 100644
--- a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleIndexingDetailsIdentifierTest.java
+++ b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleIndexingDetailsIdentifierTest.java
@@ -299,6 +299,16 @@ public class RuleIndexingDetailsIdentifierTest {
}
@Override
+ public boolean isAppCertificateFormula() {
+ return false;
+ }
+
+ @Override
+ public boolean isInstallerFormula() {
+ return false;
+ }
+
+ @Override
public int hashCode() {
return super.hashCode();
}
diff --git a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java
deleted file mode 100644
index 6558cd538638..000000000000
--- a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.integrity.serializer;
-
-import static com.android.server.testutils.TestUtils.assertExpectException;
-
-import static org.junit.Assert.assertEquals;
-
-import android.content.integrity.AppInstallMetadata;
-import android.content.integrity.AtomicFormula;
-import android.content.integrity.CompoundFormula;
-import android.content.integrity.IntegrityFormula;
-import android.content.integrity.Rule;
-
-import androidx.annotation.NonNull;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Optional;
-
-@RunWith(JUnit4.class)
-public class RuleXmlSerializerTest {
-
- private static final String SAMPLE_INSTALLER_NAME = "com.test.installer";
- private static final String SAMPLE_INSTALLER_CERT = "installer_cert";
-
- @Test
- public void testXmlString_serializeEmptyRuleList() throws Exception {
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- String expectedRules = "<RL />";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.emptyList(), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeMultipleRules_indexingOrderPreserved() throws Exception {
- String packageNameA = "aaa";
- String packageNameB = "bbb";
- String packageNameC = "ccc";
- String appCert1 = "cert1";
- String appCert2 = "cert2";
- String appCert3 = "cert3";
- Rule installerRule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.AND,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.INSTALLER_NAME,
- SAMPLE_INSTALLER_NAME,
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.INSTALLER_CERTIFICATE,
- SAMPLE_INSTALLER_CERT,
- /* isHashedValue= */ false))),
- Rule.DENY);
-
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- byte[] actualRules =
- xmlSerializer.serialize(
- Arrays.asList(
- installerRule,
- getRuleWithAppCertificateAndSampleInstallerName(appCert1),
- getRuleWithPackageNameAndSampleInstallerName(packageNameB),
- getRuleWithAppCertificateAndSampleInstallerName(appCert3),
- getRuleWithPackageNameAndSampleInstallerName(packageNameC),
- getRuleWithAppCertificateAndSampleInstallerName(appCert2),
- getRuleWithPackageNameAndSampleInstallerName(packageNameA)),
- /* formatVersion= */ Optional.empty());
-
- String expectedRules = "<RL>"
- + getSerializedCompoundRuleWithPackageNameAndSampleInstallerName(packageNameA)
- + getSerializedCompoundRuleWithPackageNameAndSampleInstallerName(packageNameB)
- + getSerializedCompoundRuleWithPackageNameAndSampleInstallerName(packageNameC)
- + getSerializedCompoundRuleWithAppCertificateAndSampleInstallerName(appCert1)
- + getSerializedCompoundRuleWithAppCertificateAndSampleInstallerName(appCert2)
- + getSerializedCompoundRuleWithAppCertificateAndSampleInstallerName(appCert3)
- + getSerializedCompoundRuleWithSampleInstallerNameAndCert()
- + "</RL>";
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlStream_serializeValidCompoundFormula() throws Exception {
- Rule rule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.NOT,
- Collections.singletonList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false))),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- OutputStream outputStream = new ByteArrayOutputStream();
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- packageNameAttrs.put("H", "false");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
-
- xmlSerializer.serialize(
- Collections.singletonList(rule),
- /* formatVersion= */ Optional.empty(),
- outputStream,
- new ByteArrayOutputStream());
-
- byte[] actualRules = outputStream.toString().getBytes(StandardCharsets.UTF_8);
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeValidCompoundFormula_notConnector() throws Exception {
- Rule rule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.NOT,
- Collections.singletonList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false))),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- packageNameAttrs.put("H", "false");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.NOT)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeValidCompoundFormula_andConnector() throws Exception {
- Rule rule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.AND,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.APP_CERTIFICATE,
- "test_cert",
- /* isHashedValue= */ false))),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- packageNameAttrs.put("H", "false");
- Map<String, String> appCertificateAttrs = new LinkedHashMap<>();
- appCertificateAttrs.put("K", String.valueOf(AtomicFormula.APP_CERTIFICATE));
- appCertificateAttrs.put("V", "test_cert");
- appCertificateAttrs.put("H", "false");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.AND)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", appCertificateAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeValidCompoundFormula_orConnector() throws Exception {
- Rule rule =
- new Rule(
- new CompoundFormula(
- CompoundFormula.OR,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.APP_CERTIFICATE,
- "test_cert",
- /* isHashedValue= */ false))),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- packageNameAttrs.put("H", "false");
- Map<String, String> appCertificateAttrs = new LinkedHashMap<>();
- appCertificateAttrs.put("K", String.valueOf(AtomicFormula.APP_CERTIFICATE));
- appCertificateAttrs.put("V", "test_cert");
- appCertificateAttrs.put("H", "false");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.OR)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", appCertificateAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>"
- + "</RL>";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeValidAtomicFormula_stringValue() throws Exception {
- Rule rule =
- new Rule(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- "com.app.test",
- /* isHashedValue= */ false),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", "com.app.test");
- packageNameAttrs.put("H", "false");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeValidAtomicFormula_integerValue() throws Exception {
- Rule rule =
- new Rule(
- new AtomicFormula.LongAtomicFormula(
- AtomicFormula.VERSION_CODE, AtomicFormula.EQ, 1),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- Map<String, String> versionCodeAttrs = new LinkedHashMap<>();
- versionCodeAttrs.put("K", String.valueOf(AtomicFormula.VERSION_CODE));
- versionCodeAttrs.put("O", String.valueOf(AtomicFormula.EQ));
- versionCodeAttrs.put("V", "1");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", versionCodeAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeValidAtomicFormula_booleanValue() throws Exception {
- Rule rule =
- new Rule(
- new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true),
- Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
- Map<String, String> preInstalledAttrs = new LinkedHashMap<>();
- preInstalledAttrs.put("K", String.valueOf(AtomicFormula.PRE_INSTALLED));
- preInstalledAttrs.put("V", "true");
- String expectedRules =
- "<RL>"
- + generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", preInstalledAttrs, /* closed= */ true)
- + "</R>"
- + "</RL>";
-
- byte[] actualRules =
- xmlSerializer.serialize(
- Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
-
- assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
- }
-
- @Test
- public void testXmlString_serializeInvalidFormulaType() throws Exception {
- IntegrityFormula invalidFormula = getInvalidFormula();
- Rule rule = new Rule(invalidFormula, Rule.DENY);
- RuleSerializer xmlSerializer = new RuleXmlSerializer();
-
- assertExpectException(
- RuleSerializeException.class,
- /* expectedExceptionMessageRegex */ "Malformed rule identified.",
- () ->
- xmlSerializer.serialize(
- Collections.singletonList(rule),
- /* formatVersion= */ Optional.empty()));
- }
-
- private String generateTagWithAttribute(
- String tag, Map<String, String> attributeValues, boolean closed) {
- StringBuilder res = new StringBuilder("<");
- res.append(tag);
- for (String attribute : attributeValues.keySet()) {
- res.append(" ");
- res.append(attribute);
- res.append("=\"");
- res.append(attributeValues.get(attribute));
- res.append("\"");
- }
- res.append(closed ? " />" : ">");
- return res.toString();
- }
-
- private Rule getRuleWithPackageNameAndSampleInstallerName(String packageName) {
- return new Rule(
- new CompoundFormula(
- CompoundFormula.AND,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.PACKAGE_NAME,
- packageName,
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.INSTALLER_NAME,
- SAMPLE_INSTALLER_NAME,
- /* isHashedValue= */ false))),
- Rule.DENY);
- }
-
- private String getSerializedCompoundRuleWithPackageNameAndSampleInstallerName(
- String packageName) {
-
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.PACKAGE_NAME));
- packageNameAttrs.put("V", packageName);
- packageNameAttrs.put("H", "false");
-
- Map<String, String> installerNameAttrs = new LinkedHashMap<>();
- installerNameAttrs.put("K", String.valueOf(AtomicFormula.INSTALLER_NAME));
- installerNameAttrs.put("V", SAMPLE_INSTALLER_NAME);
- installerNameAttrs.put("H", "false");
-
- return generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.AND)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", installerNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>";
- }
-
-
- private Rule getRuleWithAppCertificateAndSampleInstallerName(String certificate) {
- return new Rule(
- new CompoundFormula(
- CompoundFormula.AND,
- Arrays.asList(
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.APP_CERTIFICATE,
- certificate,
- /* isHashedValue= */ false),
- new AtomicFormula.StringAtomicFormula(
- AtomicFormula.INSTALLER_NAME,
- SAMPLE_INSTALLER_NAME,
- /* isHashedValue= */ false))),
- Rule.DENY);
- }
-
- private String getSerializedCompoundRuleWithAppCertificateAndSampleInstallerName(
- String appCert) {
-
- Map<String, String> packageNameAttrs = new LinkedHashMap<>();
- packageNameAttrs.put("K", String.valueOf(AtomicFormula.APP_CERTIFICATE));
- packageNameAttrs.put("V", appCert);
- packageNameAttrs.put("H", "false");
-
- Map<String, String> installerNameAttrs = new LinkedHashMap<>();
- installerNameAttrs.put("K", String.valueOf(AtomicFormula.INSTALLER_NAME));
- installerNameAttrs.put("V", SAMPLE_INSTALLER_NAME);
- installerNameAttrs.put("H", "false");
-
- return generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.AND)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", packageNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", installerNameAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>";
- }
-
- private String getSerializedCompoundRuleWithSampleInstallerNameAndCert() {
- Map<String, String> installerNameAttrs = new LinkedHashMap<>();
- installerNameAttrs.put("K", String.valueOf(AtomicFormula.INSTALLER_NAME));
- installerNameAttrs.put("V", SAMPLE_INSTALLER_NAME);
- installerNameAttrs.put("H", "false");
-
- Map<String, String> installerCertAttrs = new LinkedHashMap<>();
- installerCertAttrs.put("K", String.valueOf(AtomicFormula.INSTALLER_CERTIFICATE));
- installerCertAttrs.put("V", SAMPLE_INSTALLER_CERT);
- installerCertAttrs.put("H", "false");
-
- return generateTagWithAttribute(
- /* tag= */ "R",
- Collections.singletonMap("E", String.valueOf(Rule.DENY)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "OF",
- Collections.singletonMap("C", String.valueOf(CompoundFormula.AND)),
- /* closed= */ false)
- + generateTagWithAttribute(
- /* tag= */ "AF", installerNameAttrs, /* closed= */ true)
- + generateTagWithAttribute(
- /* tag= */ "AF", installerCertAttrs, /* closed= */ true)
- + "</OF>"
- + "</R>";
- }
-
- private IntegrityFormula getInvalidFormula() {
- return new AtomicFormula(0) {
- @Override
- public int getTag() {
- return 0;
- }
-
- @Override
- public boolean matches(AppInstallMetadata appInstallMetadata) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return super.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- return super.equals(obj);
- }
-
- @NonNull
- @Override
- protected Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-
- @Override
- public String toString() {
- return super.toString();
- }
-
- @Override
- protected void finalize() throws Throwable {
- super.finalize();
- }
- };
- }
-}
diff --git a/services/tests/servicestests/src/com/android/server/location/MockableLocationProviderTest.java b/services/tests/servicestests/src/com/android/server/location/MockableLocationProviderTest.java
new file mode 100644
index 000000000000..6fafe113d90d
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/location/MockableLocationProviderTest.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.server.location;
+
+import static androidx.test.ext.truth.location.LocationSubject.assertThat;
+
+import static com.android.internal.location.ProviderRequest.EMPTY_REQUEST;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.location.Criteria;
+import android.location.Location;
+import android.platform.test.annotations.Presubmit;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.internal.location.ProviderProperties;
+import com.android.internal.location.ProviderRequest;
+import com.android.server.location.test.FakeProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.LinkedList;
+import java.util.List;
+
+@Presubmit
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class MockableLocationProviderTest {
+
+ private Object mLock;
+ private ListenerCapture mListener;
+
+ private AbstractLocationProvider mRealProvider;
+ private MockProvider mMockProvider;
+
+ private MockableLocationProvider mProvider;
+
+ @Before
+ public void setUp() {
+ mLock = new Object();
+ mListener = new ListenerCapture();
+
+ mRealProvider = spy(new FakeProvider());
+ mMockProvider = spy(new MockProvider(new ProviderProperties(
+ false,
+ false,
+ false,
+ false,
+ true,
+ true,
+ true,
+ Criteria.POWER_LOW,
+ Criteria.ACCURACY_FINE)));
+
+ mProvider = new MockableLocationProvider(mLock, mListener);
+ mProvider.setRealProvider(mRealProvider);
+ }
+
+ @Test
+ public void testSetProvider() {
+ assertThat(mProvider.getProvider()).isEqualTo(mRealProvider);
+
+ mProvider.setMockProvider(mMockProvider);
+ assertThat(mProvider.getProvider()).isEqualTo(mMockProvider);
+
+ mProvider.setMockProvider(null);
+ assertThat(mProvider.getProvider()).isEqualTo(mRealProvider);
+
+ mProvider.setRealProvider(null);
+ assertThat(mProvider.getProvider()).isNull();
+ }
+
+ @Test
+ public void testSetRequest() {
+ assertThat(mProvider.getCurrentRequest()).isEqualTo(EMPTY_REQUEST);
+ verify(mRealProvider, times(1)).onSetRequest(EMPTY_REQUEST);
+
+ ProviderRequest request = new ProviderRequest.Builder().setInterval(1).build();
+ mProvider.setRequest(request);
+
+ assertThat(mProvider.getCurrentRequest()).isEqualTo(request);
+ verify(mRealProvider, times(1)).onSetRequest(request);
+
+ mProvider.setMockProvider(mMockProvider);
+ assertThat(mProvider.getCurrentRequest()).isEqualTo(request);
+ verify(mRealProvider, times(2)).onSetRequest(EMPTY_REQUEST);
+ verify(mMockProvider, times(1)).onSetRequest(request);
+
+ mProvider.setMockProvider(null);
+ assertThat(mProvider.getCurrentRequest()).isEqualTo(request);
+ verify(mMockProvider, times(1)).onSetRequest(EMPTY_REQUEST);
+ verify(mRealProvider, times(2)).onSetRequest(request);
+
+ mProvider.setRealProvider(null);
+ assertThat(mProvider.getCurrentRequest()).isEqualTo(request);
+ verify(mRealProvider, times(3)).onSetRequest(EMPTY_REQUEST);
+ }
+
+ @Test
+ public void testRequestSetAllowed() {
+ mProvider.requestSetAllowed(true);
+ verify(mRealProvider, times(1)).onRequestSetAllowed(true);
+
+ mProvider.setMockProvider(mMockProvider);
+ mProvider.requestSetAllowed(true);
+ verify(mMockProvider, times(1)).onRequestSetAllowed(true);
+ }
+
+ @Test
+ public void testSendExtraCommand() {
+ mProvider.sendExtraCommand(0, 0, "command", null);
+ verify(mRealProvider, times(1)).onExtraCommand(0, 0, "command", null);
+
+ mProvider.setMockProvider(mMockProvider);
+ mProvider.sendExtraCommand(0, 0, "command", null);
+ verify(mMockProvider, times(1)).onExtraCommand(0, 0, "command", null);
+ }
+
+ @Test
+ public void testSetState() {
+ assertThat(mProvider.getState().allowed).isFalse();
+
+ AbstractLocationProvider.State newState;
+
+ mRealProvider.setAllowed(true);
+ newState = mListener.getNextNewState();
+ assertThat(newState).isNotNull();
+ assertThat(newState.allowed).isTrue();
+
+ mProvider.setMockProvider(mMockProvider);
+ newState = mListener.getNextNewState();
+ assertThat(newState).isNotNull();
+ assertThat(newState.allowed).isFalse();
+
+ mMockProvider.setAllowed(true);
+ newState = mListener.getNextNewState();
+ assertThat(newState).isNotNull();
+ assertThat(newState.allowed).isTrue();
+
+ mRealProvider.setAllowed(false);
+ assertThat(mListener.getNextNewState()).isNull();
+
+ mProvider.setMockProvider(null);
+ newState = mListener.getNextNewState();
+ assertThat(newState).isNotNull();
+ assertThat(newState.allowed).isFalse();
+ }
+
+ @Test
+ public void testReportLocation() {
+ Location realLocation = new Location("real");
+ Location mockLocation = new Location("mock");
+
+ mRealProvider.reportLocation(realLocation);
+ assertThat(mListener.getNextLocation()).isEqualTo(realLocation);
+
+ mProvider.setMockProvider(mMockProvider);
+ mRealProvider.reportLocation(realLocation);
+ mMockProvider.reportLocation(mockLocation);
+ assertThat(mListener.getNextLocation()).isEqualTo(mockLocation);
+ }
+
+ private class ListenerCapture implements AbstractLocationProvider.Listener {
+
+ private final LinkedList<AbstractLocationProvider.State> mNewStates = new LinkedList<>();
+ private final LinkedList<Location> mLocations = new LinkedList<>();
+
+ @Override
+ public void onStateChanged(AbstractLocationProvider.State oldState,
+ AbstractLocationProvider.State newState) {
+ assertThat(Thread.holdsLock(mLock)).isTrue();
+ mNewStates.add(newState);
+ }
+
+ private AbstractLocationProvider.State getNextNewState() {
+ return mNewStates.poll();
+ }
+
+ @Override
+ public void onReportLocation(Location location) {
+ assertThat(Thread.holdsLock(mLock)).isTrue();
+ mLocations.add(location);
+ }
+
+ private Location getNextLocation() {
+ return mLocations.poll();
+ }
+
+ @Override
+ public void onReportLocation(List<Location> locations) {}
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
index f262733bb882..f16cf35bfb34 100644
--- a/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/location/gnss/GnssManagerServiceTest.java
@@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -31,7 +32,6 @@ import static org.mockito.Mockito.when;
import static org.testng.Assert.assertThrows;
import android.Manifest;
-import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -46,13 +46,15 @@ import android.location.IGnssNavigationMessageListener;
import android.location.IGnssStatusListener;
import android.location.INetInitiatedListener;
import android.location.Location;
+import android.location.LocationManagerInternal;
import android.os.Handler;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Message;
import android.os.RemoteException;
-import com.android.server.LocationManagerService;
+import com.android.server.LocalServices;
+import com.android.server.location.AppForegroundHelper;
import com.android.server.location.GnssBatchingProvider;
import com.android.server.location.GnssCapabilitiesProvider;
import com.android.server.location.GnssLocationProvider;
@@ -63,7 +65,9 @@ import com.android.server.location.GnssNavigationMessageProvider;
import com.android.server.location.GnssNavigationMessageProvider.GnssNavigationMessageProviderNative;
import com.android.server.location.GnssStatusListenerHelper;
import com.android.server.location.LocationUsageLogger;
+import com.android.server.location.SettingsHelper;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.AdditionalMatchers;
@@ -93,18 +97,20 @@ public class GnssManagerServiceTest {
@Mock
private GnssMeasurementCorrectionsProvider mMockGnssMeasurementCorrectionsProvider;
@Mock
- private INetInitiatedListener mMockNetInitiatedListener;
+ private INetInitiatedListener mNetInitiatedListener;
private GnssMeasurementsProvider mTestGnssMeasurementsProvider;
private GnssStatusListenerHelper mTestGnssStatusProvider;
private GnssNavigationMessageProvider mTestGnssNavigationMessageProvider;
// Managers and services
@Mock
- private AppOpsManager mMockAppOpsManager;
+ private AppOpsManager mAppOpsManager;
@Mock
- private ActivityManager mMockActivityManager;
+ private SettingsHelper mSettingsHelper;
@Mock
- private LocationManagerService mMockLocationManagerService;
+ private AppForegroundHelper mAppForegroundHelper;
+ @Mock
+ private LocationManagerInternal mLocationManagerInternal;
// Context and handler
@Mock
@@ -113,25 +119,23 @@ public class GnssManagerServiceTest {
private Context mMockContext;
// Class under test
- private com.android.server.location.gnss.GnssManagerService mGnssManagerService;
+ private GnssManagerService mGnssManagerService;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
GnssLocationProvider.setIsSupportedForTest(true);
- // Set up mock context
when(mMockContext.getSystemServiceName(AppOpsManager.class)).thenReturn(
Context.APP_OPS_SERVICE);
- when(mMockContext.getSystemServiceName(ActivityManager.class)).thenReturn(
- Context.ACTIVITY_SERVICE);
when(mMockContext.getSystemService(Context.APP_OPS_SERVICE)).thenReturn(
- mMockAppOpsManager);
- when(mMockContext.getSystemService(
- eq(Context.ACTIVITY_SERVICE))).thenReturn(
- mMockActivityManager);
+ mAppOpsManager);
enableLocationPermissions();
+ when(mAppForegroundHelper.isAppForeground(anyInt())).thenReturn(true);
+
+ LocalServices.addService(LocationManagerInternal.class, mLocationManagerInternal);
+
// Mock Handler will execute posted runnables immediately
when(mMockHandler.sendMessageAtTime(any(Message.class), anyLong())).thenAnswer(
(InvocationOnMock invocation) -> {
@@ -164,15 +168,22 @@ public class GnssManagerServiceTest {
when(mMockGnssLocationProvider.getGnssNavigationMessageProvider()).thenReturn(
mTestGnssNavigationMessageProvider);
when(mMockGnssLocationProvider.getNetInitiatedListener()).thenReturn(
- mMockNetInitiatedListener);
+ mNetInitiatedListener);
// Setup GnssBatching provider
when(mMockGnssBatchingProvider.start(anyLong(), anyBoolean())).thenReturn(true);
when(mMockGnssBatchingProvider.stop()).thenReturn(true);
// Create GnssManagerService
- mGnssManagerService = new GnssManagerService(mMockLocationManagerService, mMockContext,
- mMockGnssLocationProvider, new LocationUsageLogger());
+ mGnssManagerService = new GnssManagerService(mMockContext, mSettingsHelper,
+ mAppForegroundHelper, new LocationUsageLogger(),
+ mMockGnssLocationProvider);
+ mGnssManagerService.onSystemReady();
+ }
+
+ @After
+ public void tearDown() {
+ LocalServices.removeServiceForTest(LocationManagerInternal.class);
}
private void overrideAsBinder(IInterface mockListener) {
@@ -225,7 +236,7 @@ public class GnssManagerServiceTest {
PackageManager.PERMISSION_GRANTED);
// AppOpsManager will return true if OP_FINE_LOCATION is checked
- when(mMockAppOpsManager.checkOp(anyInt(), anyInt(), anyString())).thenAnswer(
+ when(mAppOpsManager.checkOp(anyInt(), anyInt(), anyString())).thenAnswer(
(InvocationOnMock invocation) -> {
int code = (int) (invocation.getArguments()[0]);
if (code == AppOpsManager.OP_FINE_LOCATION) {
@@ -237,11 +248,11 @@ public class GnssManagerServiceTest {
private void disableLocationPermissions() {
Mockito.doThrow(new SecurityException()).when(
- mMockContext).enforceCallingPermission(anyString(), anyString());
+ mMockContext).enforceCallingPermission(anyString(), nullable(String.class));
Mockito.doThrow(new SecurityException()).when(
mMockContext).checkPermission(anyString(), anyInt(), anyInt());
- when(mMockAppOpsManager.checkOp(anyInt(), anyInt(),
+ when(mAppOpsManager.checkOp(anyInt(), anyInt(),
anyString())).thenReturn(AppOpsManager.MODE_ERRORED);
}
@@ -733,14 +744,12 @@ public class GnssManagerServiceTest {
@Test
public void sendNiResponseWithPermissionsTest() throws RemoteException {
- when(mMockNetInitiatedListener.sendNiResponse(anyInt(), anyInt())).thenReturn(true);
-
int notifId = 0;
int userResponse = 0;
enableLocationPermissions();
- assertThat(mGnssManagerService.sendNiResponse(notifId, userResponse)).isEqualTo(true);
+ mGnssManagerService.sendNiResponse(notifId, userResponse);
- verify(mMockNetInitiatedListener, times(1)).sendNiResponse(notifId, userResponse);
+ verify(mNetInitiatedListener, times(1)).sendNiResponse(notifId, userResponse);
}
}
diff --git a/services/tests/servicestests/src/com/android/server/location/test/FakeProvider.java b/services/tests/servicestests/src/com/android/server/location/test/FakeProvider.java
new file mode 100644
index 000000000000..762080fe5745
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/location/test/FakeProvider.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.location.test;
+
+import android.os.Bundle;
+
+import com.android.internal.location.ProviderRequest;
+import com.android.server.location.AbstractLocationProvider;
+
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+import java.util.Collections;
+
+public class FakeProvider extends AbstractLocationProvider {
+
+ public FakeProvider() {
+ super(Runnable::run, Collections.emptySet());
+ }
+
+ @Override
+ protected void onSetRequest(ProviderRequest request) {}
+
+ @Override
+ protected void onExtraCommand(int uid, int pid, String command, Bundle extras) {}
+
+ @Override
+ protected void onRequestSetAllowed(boolean allowed) {}
+
+ @Override
+ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {}
+}
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
index 271e8e27aed4..1ff451b50c42 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
@@ -147,6 +147,12 @@ public class LockSettingsServiceTestable extends LockSettingsService {
public RecoverableKeyStoreManager getRecoverableKeyStoreManager(KeyStore keyStore) {
return mRecoverableKeyStoreManager;
}
+
+ @Override
+ public ManagedProfilePasswordCache getManagedProfilePasswordCache() {
+ return mock(ManagedProfilePasswordCache.class);
+ }
+
}
public MockInjector mInjector;
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowDataTest.java b/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowDataTest.java
index 54c552b06c23..b5c6d0425bb1 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowDataTest.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowDataTest.java
@@ -21,16 +21,22 @@ import static org.junit.Assert.assertThat;
import androidx.test.runner.AndroidJUnit4;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import javax.crypto.spec.SecretKeySpec;
-
/**
* atest FrameworksServicesTests:RebootEscrowDataTest
*/
@RunWith(AndroidJUnit4.class)
public class RebootEscrowDataTest {
+ private RebootEscrowKey mKey;
+
+ @Before
+ public void generateKey() throws Exception {
+ mKey = RebootEscrowKey.generate();
+ }
+
private static byte[] getTestSp() {
byte[] testSp = new byte[10];
for (int i = 0; i < testSp.length; i++) {
@@ -41,30 +47,30 @@ public class RebootEscrowDataTest {
@Test(expected = NullPointerException.class)
public void fromEntries_failsOnNull() throws Exception {
- RebootEscrowData.fromSyntheticPassword((byte) 2, null);
+ RebootEscrowData.fromSyntheticPassword(mKey, (byte) 2, null);
}
@Test(expected = NullPointerException.class)
public void fromEncryptedData_failsOnNullData() throws Exception {
byte[] testSp = getTestSp();
- RebootEscrowData expected = RebootEscrowData.fromSyntheticPassword((byte) 2, testSp);
- SecretKeySpec key = RebootEscrowData.fromKeyBytes(expected.getKey());
+ RebootEscrowData expected = RebootEscrowData.fromSyntheticPassword(mKey, (byte) 2, testSp);
+ RebootEscrowKey key = RebootEscrowKey.fromKeyBytes(expected.getKey().getKeyBytes());
RebootEscrowData.fromEncryptedData(key, null);
}
@Test(expected = NullPointerException.class)
public void fromEncryptedData_failsOnNullKey() throws Exception {
byte[] testSp = getTestSp();
- RebootEscrowData expected = RebootEscrowData.fromSyntheticPassword((byte) 2, testSp);
+ RebootEscrowData expected = RebootEscrowData.fromSyntheticPassword(mKey, (byte) 2, testSp);
RebootEscrowData.fromEncryptedData(null, expected.getBlob());
}
@Test
public void fromEntries_loopback_success() throws Exception {
byte[] testSp = getTestSp();
- RebootEscrowData expected = RebootEscrowData.fromSyntheticPassword((byte) 2, testSp);
+ RebootEscrowData expected = RebootEscrowData.fromSyntheticPassword(mKey, (byte) 2, testSp);
- SecretKeySpec key = RebootEscrowData.fromKeyBytes(expected.getKey());
+ RebootEscrowKey key = RebootEscrowKey.fromKeyBytes(expected.getKey().getKeyBytes());
RebootEscrowData actual = RebootEscrowData.fromEncryptedData(key, expected.getBlob());
assertThat(actual.getSpVersion(), is(expected.getSpVersion()));
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowManagerTests.java b/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowManagerTests.java
index 78a5a0b69fff..44d88d2b44d3 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowManagerTests.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/RebootEscrowManagerTests.java
@@ -18,6 +18,7 @@ package com.android.server.locksettings;
import static android.content.pm.UserInfo.FLAG_FULL;
import static android.content.pm.UserInfo.FLAG_PRIMARY;
+import static android.content.pm.UserInfo.FLAG_PROFILE;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -27,6 +28,7 @@ import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
@@ -56,7 +58,9 @@ import java.util.ArrayList;
@RunWith(AndroidJUnit4.class)
public class RebootEscrowManagerTests {
protected static final int PRIMARY_USER_ID = 0;
- protected static final int NONSECURE_USER_ID = 10;
+ protected static final int WORK_PROFILE_USER_ID = 10;
+ protected static final int NONSECURE_SECONDARY_USER_ID = 20;
+ protected static final int SECURE_SECONDARY_USER_ID = 21;
private static final byte FAKE_SP_VERSION = 1;
private static final byte[] FAKE_AUTH_TOKEN = new byte[] {
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
@@ -107,10 +111,14 @@ public class RebootEscrowManagerTests {
ArrayList<UserInfo> users = new ArrayList<>();
users.add(new UserInfo(PRIMARY_USER_ID, "primary", FLAG_PRIMARY));
- users.add(new UserInfo(NONSECURE_USER_ID, "non-secure", FLAG_FULL));
+ users.add(new UserInfo(WORK_PROFILE_USER_ID, "work", FLAG_PROFILE));
+ users.add(new UserInfo(NONSECURE_SECONDARY_USER_ID, "non-secure", FLAG_FULL));
+ users.add(new UserInfo(SECURE_SECONDARY_USER_ID, "secure", FLAG_FULL));
when(mUserManager.getUsers()).thenReturn(users);
when(mCallbacks.isUserSecure(PRIMARY_USER_ID)).thenReturn(true);
- when(mCallbacks.isUserSecure(NONSECURE_USER_ID)).thenReturn(false);
+ when(mCallbacks.isUserSecure(WORK_PROFILE_USER_ID)).thenReturn(true);
+ when(mCallbacks.isUserSecure(NONSECURE_SECONDARY_USER_ID)).thenReturn(false);
+ when(mCallbacks.isUserSecure(SECURE_SECONDARY_USER_ID)).thenReturn(true);
mService = new RebootEscrowManager(new MockInjector(mContext, mUserManager, mRebootEscrow),
mCallbacks, mStorage);
}
@@ -154,6 +162,30 @@ public class RebootEscrowManagerTests {
assertTrue(mService.armRebootEscrowIfNeeded());
verify(mRebootEscrow).storeKey(any());
+
+ assertTrue(mStorage.hasRebootEscrow(PRIMARY_USER_ID));
+ assertFalse(mStorage.hasRebootEscrow(NONSECURE_SECONDARY_USER_ID));
+ }
+
+ @Test
+ public void armService_MultipleUsers_Success() throws Exception {
+ RebootEscrowListener mockListener = mock(RebootEscrowListener.class);
+ mService.setRebootEscrowListener(mockListener);
+ mService.prepareRebootEscrow();
+
+ clearInvocations(mRebootEscrow);
+ mService.callToRebootEscrowIfNeeded(PRIMARY_USER_ID, FAKE_SP_VERSION, FAKE_AUTH_TOKEN);
+ verify(mockListener).onPreparedForReboot(eq(true));
+ mService.callToRebootEscrowIfNeeded(SECURE_SECONDARY_USER_ID, FAKE_SP_VERSION,
+ FAKE_AUTH_TOKEN);
+ verify(mRebootEscrow, never()).storeKey(any());
+
+ assertTrue(mService.armRebootEscrowIfNeeded());
+ verify(mRebootEscrow, times(1)).storeKey(any());
+
+ assertTrue(mStorage.hasRebootEscrow(PRIMARY_USER_ID));
+ assertTrue(mStorage.hasRebootEscrow(SECURE_SECONDARY_USER_ID));
+ assertFalse(mStorage.hasRebootEscrow(NONSECURE_SECONDARY_USER_ID));
}
@Test
diff --git a/services/tests/servicestests/src/com/android/server/people/PeopleServiceTest.java b/services/tests/servicestests/src/com/android/server/people/PeopleServiceTest.java
index d3166b91dc9e..4ae374abb7c2 100644
--- a/services/tests/servicestests/src/com/android/server/people/PeopleServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/people/PeopleServiceTest.java
@@ -28,6 +28,7 @@ import android.app.prediction.IPredictionCallback;
import android.content.Context;
import android.content.pm.ParceledListSlice;
import android.os.Binder;
+import android.os.Bundle;
import android.os.RemoteException;
import com.android.server.LocalServices;
@@ -76,6 +77,7 @@ public final class PeopleServiceTest {
mPredictionContext = new AppPredictionContext.Builder(mContext)
.setUiSurface(APP_PREDICTION_SHARE_UI_SURFACE)
.setPredictedTargetCount(APP_PREDICTION_TARGET_COUNT)
+ .setExtras(new Bundle())
.build();
}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/AggregateEventHistoryImplTest.java b/services/tests/servicestests/src/com/android/server/people/data/AggregateEventHistoryImplTest.java
new file mode 100644
index 000000000000..b614a4f91d28
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/AggregateEventHistoryImplTest.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static com.android.server.people.data.TestUtils.timestamp;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.List;
+
+@RunWith(JUnit4.class)
+public final class AggregateEventHistoryImplTest {
+
+ private static final long CURRENT_TIMESTAMP = timestamp("01-30 18:50");
+
+ private static final Event E1 = new Event(timestamp("01-06 05:26"),
+ Event.TYPE_NOTIFICATION_OPENED);
+ private static final Event E2 = new Event(timestamp("01-27 18:41"),
+ Event.TYPE_NOTIFICATION_OPENED);
+ private static final Event E3 = new Event(timestamp("01-30 03:06"),
+ Event.TYPE_SMS_OUTGOING);
+ private static final Event E4 = new Event(timestamp("01-30 18:14"),
+ Event.TYPE_SMS_INCOMING);
+
+ private EventHistoryImpl mEventHistory1;
+ private EventHistoryImpl mEventHistory2;
+
+ private AggregateEventHistoryImpl mAggEventHistory;
+
+ private EventIndex.Injector mInjector = new EventIndex.Injector() {
+ @Override
+ long currentTimeMillis() {
+ return CURRENT_TIMESTAMP;
+ }
+ };
+
+ @Before
+ public void setUp() {
+ mAggEventHistory = new AggregateEventHistoryImpl();
+
+ EventHistoryImpl.Injector injector = new EventHistoryImplInjector();
+
+ mEventHistory1 = new EventHistoryImpl(injector);
+ mEventHistory1.addEvent(E1);
+ mEventHistory1.addEvent(E2);
+
+ mEventHistory2 = new EventHistoryImpl(injector);
+ mEventHistory2.addEvent(E3);
+ mEventHistory2.addEvent(E4);
+ }
+
+ @Test
+ public void testEmptyAggregateEventHistory() {
+ assertTrue(mAggEventHistory.getEventIndex(Event.TYPE_SHORTCUT_INVOCATION).isEmpty());
+ assertTrue(mAggEventHistory.getEventIndex(Event.ALL_EVENT_TYPES).isEmpty());
+ assertTrue(mAggEventHistory.queryEvents(
+ Event.ALL_EVENT_TYPES, 0L, Long.MAX_VALUE).isEmpty());
+ }
+
+ @Test
+ public void testQueryEventIndexForSingleEventType() {
+ mAggEventHistory.addEventHistory(mEventHistory1);
+ mAggEventHistory.addEventHistory(mEventHistory2);
+
+ EventIndex eventIndex;
+
+ eventIndex = mAggEventHistory.getEventIndex(Event.TYPE_NOTIFICATION_OPENED);
+ assertEquals(2, eventIndex.getActiveTimeSlots().size());
+
+ eventIndex = mAggEventHistory.getEventIndex(Event.TYPE_SMS_OUTGOING);
+ assertEquals(1, eventIndex.getActiveTimeSlots().size());
+
+ eventIndex = mAggEventHistory.getEventIndex(Event.TYPE_SHORTCUT_INVOCATION);
+ assertTrue(eventIndex.isEmpty());
+ }
+
+ @Test
+ public void testQueryEventIndexForMultipleEventTypes() {
+ mAggEventHistory.addEventHistory(mEventHistory1);
+ mAggEventHistory.addEventHistory(mEventHistory2);
+
+ EventIndex eventIndex;
+
+ eventIndex = mAggEventHistory.getEventIndex(Event.SMS_EVENT_TYPES);
+ assertEquals(2, eventIndex.getActiveTimeSlots().size());
+
+ eventIndex = mAggEventHistory.getEventIndex(Event.ALL_EVENT_TYPES);
+ assertEquals(4, eventIndex.getActiveTimeSlots().size());
+ }
+
+ @Test
+ public void testQueryEvents() {
+ mAggEventHistory.addEventHistory(mEventHistory1);
+ mAggEventHistory.addEventHistory(mEventHistory2);
+
+ List<Event> events;
+
+ events = mAggEventHistory.queryEvents(Event.NOTIFICATION_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(2, events.size());
+
+ events = mAggEventHistory.queryEvents(Event.ALL_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(4, events.size());
+ }
+
+ private class EventHistoryImplInjector extends EventHistoryImpl.Injector {
+
+ EventIndex createEventIndex() {
+ return new EventIndex(mInjector);
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/CallLogQueryHelperTest.java b/services/tests/servicestests/src/com/android/server/people/data/CallLogQueryHelperTest.java
new file mode 100644
index 000000000000..7a16d171b475
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/CallLogQueryHelperTest.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.net.Uri;
+import android.provider.CallLog.Calls;
+import android.test.mock.MockContentProvider;
+import android.test.mock.MockContentResolver;
+import android.test.mock.MockContext;
+import android.util.ArrayMap;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.function.BiConsumer;
+
+@RunWith(JUnit4.class)
+public final class CallLogQueryHelperTest {
+
+ private static final String CALL_LOG_AUTHORITY = "call_log";
+ private static final String NORMALIZED_PHONE_NUMBER = "+16505551111";
+
+ private static final String[] CALL_LOG_COLUMNS = new String[] {
+ Calls.CACHED_NORMALIZED_NUMBER, Calls.DATE, Calls.DURATION, Calls.TYPE };
+
+ @Mock
+ private MockContext mContext;
+
+ private MatrixCursor mCursor;
+ private EventConsumer mEventConsumer;
+ private CallLogQueryHelper mHelper;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mCursor = new MatrixCursor(CALL_LOG_COLUMNS);
+
+ MockContentResolver contentResolver = new MockContentResolver();
+ contentResolver.addProvider(CALL_LOG_AUTHORITY, new CallLogContentProvider());
+ when(mContext.getContentResolver()).thenReturn(contentResolver);
+
+ mEventConsumer = new EventConsumer();
+ mHelper = new CallLogQueryHelper(mContext, mEventConsumer);
+ }
+
+ @Test
+ public void testQueryNoCalls() {
+ assertFalse(mHelper.querySince(50L));
+ assertFalse(mEventConsumer.mEventMap.containsKey(NORMALIZED_PHONE_NUMBER));
+ }
+
+ @Test
+ public void testQueryIncomingCall() {
+ mCursor.addRow(new Object[] {
+ NORMALIZED_PHONE_NUMBER, /* date= */ 100L, /* duration= */ 30L,
+ /* type= */ Calls.INCOMING_TYPE });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100L, mHelper.getLastCallTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_CALL_INCOMING, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ assertEquals(30L, events.get(0).getCallDetails().getDurationSeconds());
+ }
+
+ @Test
+ public void testQueryOutgoingCall() {
+ mCursor.addRow(new Object[] {
+ NORMALIZED_PHONE_NUMBER, /* date= */ 100L, /* duration= */ 40L,
+ /* type= */ Calls.OUTGOING_TYPE });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100L, mHelper.getLastCallTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_CALL_OUTGOING, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ assertEquals(40L, events.get(0).getCallDetails().getDurationSeconds());
+ }
+
+ @Test
+ public void testQueryMissedCall() {
+ mCursor.addRow(new Object[] {
+ NORMALIZED_PHONE_NUMBER, /* date= */ 100L, /* duration= */ 0L,
+ /* type= */ Calls.MISSED_TYPE });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100L, mHelper.getLastCallTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_CALL_MISSED, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ assertEquals(0L, events.get(0).getCallDetails().getDurationSeconds());
+ }
+
+ @Test
+ public void testQueryMultipleCalls() {
+ mCursor.addRow(new Object[] {
+ NORMALIZED_PHONE_NUMBER, /* date= */ 100L, /* duration= */ 0L,
+ /* type= */ Calls.MISSED_TYPE });
+ mCursor.addRow(new Object[] {
+ NORMALIZED_PHONE_NUMBER, /* date= */ 110L, /* duration= */ 40L,
+ /* type= */ Calls.OUTGOING_TYPE });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(110L, mHelper.getLastCallTimestamp());
+ assertEquals(2, events.size());
+ assertEquals(Event.TYPE_CALL_MISSED, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ assertEquals(Event.TYPE_CALL_OUTGOING, events.get(1).getType());
+ assertEquals(110L, events.get(1).getTimestamp());
+ assertEquals(40L, events.get(1).getCallDetails().getDurationSeconds());
+ }
+
+ private class EventConsumer implements BiConsumer<String, Event> {
+
+ private final Map<String, List<Event>> mEventMap = new ArrayMap<>();
+
+ @Override
+ public void accept(String phoneNumber, Event event) {
+ mEventMap.computeIfAbsent(phoneNumber, key -> new ArrayList<>()).add(event);
+ }
+ }
+
+ private class CallLogContentProvider extends MockContentProvider {
+
+ @Override
+ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+ String sortOrder) {
+ return mCursor;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/ContactsQueryHelperTest.java b/services/tests/servicestests/src/com/android/server/people/data/ContactsQueryHelperTest.java
new file mode 100644
index 000000000000..96302b954e75
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/ContactsQueryHelperTest.java
@@ -0,0 +1,187 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.provider.ContactsContract.Contacts;
+import android.test.mock.MockContentProvider;
+import android.test.mock.MockContentResolver;
+import android.test.mock.MockContext;
+import android.util.ArrayMap;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Map;
+
+@RunWith(JUnit4.class)
+public final class ContactsQueryHelperTest {
+
+ private static final String CONTACT_LOOKUP_KEY = "123";
+ private static final String PHONE_NUMBER = "+1234567890";
+
+ private static final String[] CONTACTS_COLUMNS = new String[] {
+ Contacts._ID, Contacts.LOOKUP_KEY, Contacts.STARRED, Contacts.HAS_PHONE_NUMBER,
+ Contacts.CONTACT_LAST_UPDATED_TIMESTAMP };
+ private static final String[] CONTACTS_LOOKUP_COLUMNS = new String[] {
+ Contacts._ID, Contacts.LOOKUP_KEY, Contacts.STARRED, Contacts.HAS_PHONE_NUMBER };
+ private static final String[] PHONE_COLUMNS = new String[] {
+ ContactsContract.CommonDataKinds.Phone.NORMALIZED_NUMBER };
+
+ @Mock
+ private MockContext mContext;
+
+ private MatrixCursor mContactsCursor;
+ private MatrixCursor mContactsLookupCursor;
+ private MatrixCursor mPhoneCursor;
+ private ContactsQueryHelper mHelper;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mContactsCursor = new MatrixCursor(CONTACTS_COLUMNS);
+ mContactsLookupCursor = new MatrixCursor(CONTACTS_LOOKUP_COLUMNS);
+ mPhoneCursor = new MatrixCursor(PHONE_COLUMNS);
+
+ MockContentResolver contentResolver = new MockContentResolver();
+ ContactsContentProvider contentProvider = new ContactsContentProvider();
+ contentProvider.registerCursor(Contacts.CONTENT_URI, mContactsCursor);
+ contentProvider.registerCursor(
+ ContactsContract.PhoneLookup.CONTENT_FILTER_URI, mContactsLookupCursor);
+ contentProvider.registerCursor(
+ ContactsContract.CommonDataKinds.Email.CONTENT_LOOKUP_URI, mContactsLookupCursor);
+ contentProvider.registerCursor(
+ ContactsContract.CommonDataKinds.Phone.CONTENT_URI, mPhoneCursor);
+
+ contentResolver.addProvider(ContactsContract.AUTHORITY, contentProvider);
+ when(mContext.getContentResolver()).thenReturn(contentResolver);
+
+ mHelper = new ContactsQueryHelper(mContext);
+ }
+
+ @Test
+ public void testQueryWithUri() {
+ mContactsCursor.addRow(new Object[] {
+ /* id= */ 11, CONTACT_LOOKUP_KEY, /* starred= */ 1, /* hasPhoneNumber= */ 1,
+ /* lastUpdatedTimestamp= */ 100L });
+ mPhoneCursor.addRow(new String[] { PHONE_NUMBER });
+ Uri contactUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, CONTACT_LOOKUP_KEY);
+ assertTrue(mHelper.query(contactUri.toString()));
+ assertNotNull(mHelper.getContactUri());
+ assertEquals(PHONE_NUMBER, mHelper.getPhoneNumber());
+ assertEquals(100L, mHelper.getLastUpdatedTimestamp());
+ assertTrue(mHelper.isStarred());
+ }
+
+ @Test
+ public void testQueryWithUriNotStarredNoPhoneNumber() {
+ mContactsCursor.addRow(new Object[] {
+ /* id= */ 11, CONTACT_LOOKUP_KEY, /* starred= */ 0, /* hasPhoneNumber= */ 0,
+ /* lastUpdatedTimestamp= */ 100L });
+ Uri contactUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, CONTACT_LOOKUP_KEY);
+ assertTrue(mHelper.query(contactUri.toString()));
+ assertNotNull(mHelper.getContactUri());
+ assertNull(mHelper.getPhoneNumber());
+ assertFalse(mHelper.isStarred());
+ assertEquals(100L, mHelper.getLastUpdatedTimestamp());
+ }
+
+ @Test
+ public void testQueryWithUriNotFound() {
+ Uri contactUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, CONTACT_LOOKUP_KEY);
+ assertFalse(mHelper.query(contactUri.toString()));
+ }
+
+ @Test
+ public void testQueryWithPhoneNumber() {
+ mContactsLookupCursor.addRow(new Object[] {
+ /* id= */ 11, CONTACT_LOOKUP_KEY, /* starred= */ 1, /* hasPhoneNumber= */ 1 });
+ mPhoneCursor.addRow(new String[] { PHONE_NUMBER });
+ String contactUri = "tel:" + PHONE_NUMBER;
+ assertTrue(mHelper.query(contactUri));
+ assertNotNull(mHelper.getContactUri());
+ assertEquals(PHONE_NUMBER, mHelper.getPhoneNumber());
+ assertTrue(mHelper.isStarred());
+ }
+
+ @Test
+ public void testQueryWithEmail() {
+ mContactsLookupCursor.addRow(new Object[] {
+ /* id= */ 11, CONTACT_LOOKUP_KEY, /* starred= */ 1, /* hasPhoneNumber= */ 0 });
+ String contactUri = "mailto:test@gmail.com";
+ assertTrue(mHelper.query(contactUri));
+ assertNotNull(mHelper.getContactUri());
+ assertNull(mHelper.getPhoneNumber());
+ assertTrue(mHelper.isStarred());
+ }
+
+ @Test
+ public void testQueryUpdatedContactSinceTime() {
+ mContactsCursor.addRow(new Object[] {
+ /* id= */ 11, CONTACT_LOOKUP_KEY, /* starred= */ 1, /* hasPhoneNumber= */ 0,
+ /* lastUpdatedTimestamp= */ 100L });
+ assertTrue(mHelper.querySince(50L));
+ assertNotNull(mHelper.getContactUri());
+ assertNull(mHelper.getPhoneNumber());
+ assertTrue(mHelper.isStarred());
+ assertEquals(100L, mHelper.getLastUpdatedTimestamp());
+ }
+
+ @Test
+ public void testQueryWithUnsupportedScheme() {
+ mContactsLookupCursor.addRow(new Object[] {
+ /* id= */ 11, CONTACT_LOOKUP_KEY, /* starred= */ 1, /* hasPhoneNumber= */ 1 });
+ mPhoneCursor.addRow(new String[] { PHONE_NUMBER });
+ String contactUri = "unknown:test";
+ assertFalse(mHelper.query(contactUri));
+ }
+
+ private class ContactsContentProvider extends MockContentProvider {
+
+ private Map<Uri, Cursor> mUriPrefixToCursorMap = new ArrayMap<>();
+
+ @Override
+ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+ String sortOrder) {
+ for (Uri prefixUri : mUriPrefixToCursorMap.keySet()) {
+ if (uri.isPathPrefixMatch(prefixUri)) {
+ return mUriPrefixToCursorMap.get(prefixUri);
+ }
+ }
+ return mUriPrefixToCursorMap.get(uri);
+ }
+
+ private void registerCursor(Uri uriPrefix, Cursor cursor) {
+ mUriPrefixToCursorMap.put(uriPrefix, cursor);
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/ConversationInfoTest.java b/services/tests/servicestests/src/com/android/server/people/data/ConversationInfoTest.java
new file mode 100644
index 000000000000..05a9a80e262c
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/ConversationInfoTest.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import android.content.LocusId;
+import android.content.pm.ShortcutInfo;
+import android.net.Uri;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public final class ConversationInfoTest {
+
+ private static final String SHORTCUT_ID = "abc";
+ private static final LocusId LOCUS_ID = new LocusId("def");
+ private static final Uri CONTACT_URI = Uri.parse("tel:+1234567890");
+ private static final String PHONE_NUMBER = "+1234567890";
+ private static final String NOTIFICATION_CHANNEL_ID = "test : abc";
+
+ @Test
+ public void testBuild() {
+ ConversationInfo conversationInfo = new ConversationInfo.Builder()
+ .setShortcutId(SHORTCUT_ID)
+ .setLocusId(LOCUS_ID)
+ .setContactUri(CONTACT_URI)
+ .setContactPhoneNumber(PHONE_NUMBER)
+ .setNotificationChannelId(NOTIFICATION_CHANNEL_ID)
+ .setShortcutFlags(ShortcutInfo.FLAG_LONG_LIVED)
+ .setVip(true)
+ .setNotificationSilenced(true)
+ .setBubbled(true)
+ .setDemoted(true)
+ .setPersonImportant(true)
+ .setPersonBot(true)
+ .setContactStarred(true)
+ .build();
+
+ assertEquals(SHORTCUT_ID, conversationInfo.getShortcutId());
+ assertEquals(LOCUS_ID, conversationInfo.getLocusId());
+ assertEquals(CONTACT_URI, conversationInfo.getContactUri());
+ assertEquals(PHONE_NUMBER, conversationInfo.getContactPhoneNumber());
+ assertEquals(NOTIFICATION_CHANNEL_ID, conversationInfo.getNotificationChannelId());
+ assertTrue(conversationInfo.isShortcutLongLived());
+ assertTrue(conversationInfo.isVip());
+ assertTrue(conversationInfo.isNotificationSilenced());
+ assertTrue(conversationInfo.isBubbled());
+ assertTrue(conversationInfo.isDemoted());
+ assertTrue(conversationInfo.isPersonImportant());
+ assertTrue(conversationInfo.isPersonBot());
+ assertTrue(conversationInfo.isContactStarred());
+ }
+
+ @Test
+ public void testBuildEmpty() {
+ ConversationInfo conversationInfo = new ConversationInfo.Builder()
+ .setShortcutId(SHORTCUT_ID)
+ .build();
+
+ assertEquals(SHORTCUT_ID, conversationInfo.getShortcutId());
+ assertNull(conversationInfo.getLocusId());
+ assertNull(conversationInfo.getContactUri());
+ assertNull(conversationInfo.getContactPhoneNumber());
+ assertNull(conversationInfo.getNotificationChannelId());
+ assertFalse(conversationInfo.isShortcutLongLived());
+ assertFalse(conversationInfo.isVip());
+ assertFalse(conversationInfo.isNotificationSilenced());
+ assertFalse(conversationInfo.isBubbled());
+ assertFalse(conversationInfo.isDemoted());
+ assertFalse(conversationInfo.isPersonImportant());
+ assertFalse(conversationInfo.isPersonBot());
+ assertFalse(conversationInfo.isContactStarred());
+ }
+
+ @Test
+ public void testBuildFromAnotherConversationInfo() {
+ ConversationInfo source = new ConversationInfo.Builder()
+ .setShortcutId(SHORTCUT_ID)
+ .setLocusId(LOCUS_ID)
+ .setContactUri(CONTACT_URI)
+ .setContactPhoneNumber(PHONE_NUMBER)
+ .setNotificationChannelId(NOTIFICATION_CHANNEL_ID)
+ .setShortcutFlags(ShortcutInfo.FLAG_LONG_LIVED)
+ .setVip(true)
+ .setNotificationSilenced(true)
+ .setBubbled(true)
+ .setPersonImportant(true)
+ .setPersonBot(true)
+ .setContactStarred(true)
+ .build();
+
+ ConversationInfo destination = new ConversationInfo.Builder(source)
+ .setVip(false)
+ .setContactStarred(false)
+ .build();
+
+ assertEquals(SHORTCUT_ID, destination.getShortcutId());
+ assertEquals(LOCUS_ID, destination.getLocusId());
+ assertEquals(CONTACT_URI, destination.getContactUri());
+ assertEquals(PHONE_NUMBER, destination.getContactPhoneNumber());
+ assertEquals(NOTIFICATION_CHANNEL_ID, destination.getNotificationChannelId());
+ assertTrue(destination.isShortcutLongLived());
+ assertFalse(destination.isVip());
+ assertTrue(destination.isNotificationSilenced());
+ assertTrue(destination.isBubbled());
+ assertTrue(destination.isPersonImportant());
+ assertTrue(destination.isPersonBot());
+ assertFalse(destination.isContactStarred());
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/ConversationStoreTest.java b/services/tests/servicestests/src/com/android/server/people/data/ConversationStoreTest.java
new file mode 100644
index 000000000000..a40c6ab90197
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/ConversationStoreTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import android.content.LocusId;
+import android.content.pm.ShortcutInfo;
+import android.net.Uri;
+import android.util.ArraySet;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.Set;
+
+@RunWith(JUnit4.class)
+public final class ConversationStoreTest {
+
+ private static final String SHORTCUT_ID = "abc";
+ private static final LocusId LOCUS_ID = new LocusId("def");
+ private static final Uri CONTACT_URI = Uri.parse("tel:+1234567890");
+ private static final String PHONE_NUMBER = "+1234567890";
+
+ private ConversationStore mConversationStore;
+
+ @Before
+ public void setUp() {
+ mConversationStore = new ConversationStore();
+ }
+
+ @Test
+ public void testAddConversation() {
+ mConversationStore.addOrUpdate(buildConversationInfo(SHORTCUT_ID));
+
+ ConversationInfo out = mConversationStore.getConversation(SHORTCUT_ID);
+ assertNotNull(out);
+ assertEquals(SHORTCUT_ID, out.getShortcutId());
+ }
+
+ @Test
+ public void testUpdateConversation() {
+ ConversationInfo original =
+ buildConversationInfo(SHORTCUT_ID, LOCUS_ID, CONTACT_URI, PHONE_NUMBER);
+ mConversationStore.addOrUpdate(original);
+ assertEquals(LOCUS_ID, mConversationStore.getConversation(SHORTCUT_ID).getLocusId());
+
+ LocusId newLocusId = new LocusId("ghi");
+ ConversationInfo update = buildConversationInfo(
+ SHORTCUT_ID, newLocusId, CONTACT_URI, PHONE_NUMBER);
+ mConversationStore.addOrUpdate(update);
+ assertEquals(newLocusId, mConversationStore.getConversation(SHORTCUT_ID).getLocusId());
+ }
+
+ @Test
+ public void testDeleteConversation() {
+ mConversationStore.addOrUpdate(buildConversationInfo(SHORTCUT_ID));
+ assertNotNull(mConversationStore.getConversation(SHORTCUT_ID));
+
+ mConversationStore.deleteConversation(SHORTCUT_ID);
+ assertNull(mConversationStore.getConversation(SHORTCUT_ID));
+ }
+
+ @Test
+ public void testForAllConversations() {
+ mConversationStore.addOrUpdate(buildConversationInfo("a"));
+ mConversationStore.addOrUpdate(buildConversationInfo("b"));
+ mConversationStore.addOrUpdate(buildConversationInfo("c"));
+
+ Set<String> shortcutIds = new ArraySet<>();
+
+ mConversationStore.forAllConversations(
+ conversationInfo -> shortcutIds.add(conversationInfo.getShortcutId()));
+ assertTrue(shortcutIds.contains("a"));
+ assertTrue(shortcutIds.contains("b"));
+ assertTrue(shortcutIds.contains("c"));
+ }
+
+ @Test
+ public void testGetConversationByLocusId() {
+ ConversationInfo in =
+ buildConversationInfo(SHORTCUT_ID, LOCUS_ID, CONTACT_URI, PHONE_NUMBER);
+ mConversationStore.addOrUpdate(in);
+ ConversationInfo out = mConversationStore.getConversationByLocusId(LOCUS_ID);
+ assertNotNull(out);
+ assertEquals(SHORTCUT_ID, out.getShortcutId());
+
+ mConversationStore.deleteConversation(SHORTCUT_ID);
+ assertNull(mConversationStore.getConversationByLocusId(LOCUS_ID));
+ }
+
+ @Test
+ public void testGetConversationByContactUri() {
+ ConversationInfo in =
+ buildConversationInfo(SHORTCUT_ID, LOCUS_ID, CONTACT_URI, PHONE_NUMBER);
+ mConversationStore.addOrUpdate(in);
+ ConversationInfo out = mConversationStore.getConversationByContactUri(CONTACT_URI);
+ assertNotNull(out);
+ assertEquals(SHORTCUT_ID, out.getShortcutId());
+
+ mConversationStore.deleteConversation(SHORTCUT_ID);
+ assertNull(mConversationStore.getConversationByContactUri(CONTACT_URI));
+ }
+
+ @Test
+ public void testGetConversationByPhoneNumber() {
+ ConversationInfo in =
+ buildConversationInfo(SHORTCUT_ID, LOCUS_ID, CONTACT_URI, PHONE_NUMBER);
+ mConversationStore.addOrUpdate(in);
+ ConversationInfo out = mConversationStore.getConversationByPhoneNumber(PHONE_NUMBER);
+ assertNotNull(out);
+ assertEquals(SHORTCUT_ID, out.getShortcutId());
+
+ mConversationStore.deleteConversation(SHORTCUT_ID);
+ assertNull(mConversationStore.getConversationByPhoneNumber(PHONE_NUMBER));
+ }
+
+ private static ConversationInfo buildConversationInfo(String shortcutId) {
+ return buildConversationInfo(shortcutId, null, null, null);
+ }
+
+ private static ConversationInfo buildConversationInfo(
+ String shortcutId, LocusId locusId, Uri contactUri, String phoneNumber) {
+ return new ConversationInfo.Builder()
+ .setShortcutId(shortcutId)
+ .setLocusId(locusId)
+ .setContactUri(contactUri)
+ .setContactPhoneNumber(phoneNumber)
+ .setShortcutFlags(ShortcutInfo.FLAG_LONG_LIVED)
+ .setVip(true)
+ .setBubbled(true)
+ .build();
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java b/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java
new file mode 100644
index 000000000000..62ea425a54a7
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java
@@ -0,0 +1,577 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static android.app.usage.UsageEvents.Event.SHORTCUT_INVOCATION;
+
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.app.Notification;
+import android.app.Person;
+import android.app.prediction.AppTarget;
+import android.app.prediction.AppTargetEvent;
+import android.app.prediction.AppTargetId;
+import android.app.usage.UsageEvents;
+import android.app.usage.UsageStatsManagerInternal;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
+import android.content.pm.ShortcutServiceInternal;
+import android.content.pm.UserInfo;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Looper;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.ContactsContract;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.StatusBarNotification;
+import android.telecom.TelecomManager;
+import android.telephony.TelephonyManager;
+import android.util.Range;
+
+import com.android.internal.app.ChooserActivity;
+import com.android.server.LocalServices;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+import java.util.function.BiConsumer;
+
+@RunWith(JUnit4.class)
+public final class DataManagerTest {
+
+ private static final int USER_ID_PRIMARY = 0;
+ private static final int USER_ID_PRIMARY_MANAGED = 10;
+ private static final int USER_ID_SECONDARY = 11;
+ private static final String TEST_PKG_NAME = "pkg";
+ private static final String TEST_SHORTCUT_ID = "sc";
+ private static final String CONTACT_URI = "content://com.android.contacts/contacts/lookup/123";
+ private static final String PHONE_NUMBER = "+1234567890";
+ private static final long MILLIS_PER_MINUTE = 1000L * 60L;
+
+ @Mock private Context mContext;
+ @Mock private ShortcutServiceInternal mShortcutServiceInternal;
+ @Mock private UsageStatsManagerInternal mUsageStatsManagerInternal;
+ @Mock private ShortcutManager mShortcutManager;
+ @Mock private UserManager mUserManager;
+ @Mock private TelephonyManager mTelephonyManager;
+ @Mock private TelecomManager mTelecomManager;
+ @Mock private ContentResolver mContentResolver;
+ @Mock private ScheduledExecutorService mExecutorService;
+ @Mock private ScheduledFuture mScheduledFuture;
+ @Mock private StatusBarNotification mStatusBarNotification;
+ @Mock private Notification mNotification;
+
+ private DataManager mDataManager;
+ private int mCallingUserId;
+ private TestInjector mInjector;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ addLocalServiceMock(ShortcutServiceInternal.class, mShortcutServiceInternal);
+
+ addLocalServiceMock(UsageStatsManagerInternal.class, mUsageStatsManagerInternal);
+
+ when(mContext.getMainLooper()).thenReturn(Looper.getMainLooper());
+
+ Context originalContext = getInstrumentation().getTargetContext();
+ when(mContext.getApplicationInfo()).thenReturn(originalContext.getApplicationInfo());
+
+ when(mContext.getSystemService(Context.SHORTCUT_SERVICE)).thenReturn(mShortcutManager);
+ when(mContext.getSystemServiceName(ShortcutManager.class)).thenReturn(
+ Context.SHORTCUT_SERVICE);
+
+ when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+ when(mContext.getSystemServiceName(UserManager.class)).thenReturn(
+ Context.USER_SERVICE);
+
+ when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
+
+ when(mContext.getSystemService(Context.TELECOM_SERVICE)).thenReturn(mTelecomManager);
+ when(mContext.getSystemServiceName(TelecomManager.class)).thenReturn(
+ Context.TELECOM_SERVICE);
+ when(mTelecomManager.getDefaultDialerPackage(anyInt())).thenReturn(TEST_PKG_NAME);
+
+ when(mExecutorService.scheduleAtFixedRate(any(Runnable.class), anyLong(), anyLong(), any(
+ TimeUnit.class))).thenReturn(mScheduledFuture);
+
+ when(mUserManager.getEnabledProfiles(USER_ID_PRIMARY))
+ .thenReturn(Arrays.asList(
+ buildUserInfo(USER_ID_PRIMARY),
+ buildUserInfo(USER_ID_PRIMARY_MANAGED)));
+ when(mUserManager.getEnabledProfiles(USER_ID_SECONDARY))
+ .thenReturn(Collections.singletonList(buildUserInfo(USER_ID_SECONDARY)));
+
+ when(mContext.getContentResolver()).thenReturn(mContentResolver);
+
+ when(mStatusBarNotification.getNotification()).thenReturn(mNotification);
+ when(mStatusBarNotification.getPackageName()).thenReturn(TEST_PKG_NAME);
+ when(mStatusBarNotification.getUser()).thenReturn(UserHandle.of(USER_ID_PRIMARY));
+ when(mNotification.getShortcutId()).thenReturn(TEST_SHORTCUT_ID);
+
+ mCallingUserId = USER_ID_PRIMARY;
+
+ mInjector = new TestInjector();
+ mDataManager = new DataManager(mContext, mInjector);
+ mDataManager.initialize();
+ }
+
+ @After
+ public void tearDown() {
+ LocalServices.removeServiceForTest(ShortcutServiceInternal.class);
+ LocalServices.removeServiceForTest(UsageStatsManagerInternal.class);
+ }
+
+ @Test
+ public void testAccessConversationFromTheSameProfileGroup() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY_MANAGED);
+ mDataManager.onUserUnlocked(USER_ID_SECONDARY);
+
+ mDataManager.onShortcutAddedOrUpdated(
+ buildShortcutInfo("pkg_1", USER_ID_PRIMARY, "sc_1",
+ buildPerson(true, false)));
+ mDataManager.onShortcutAddedOrUpdated(
+ buildShortcutInfo("pkg_2", USER_ID_PRIMARY_MANAGED, "sc_2",
+ buildPerson(false, true)));
+ mDataManager.onShortcutAddedOrUpdated(
+ buildShortcutInfo("pkg_3", USER_ID_SECONDARY, "sc_3", buildPerson()));
+
+ List<ConversationInfo> conversations = new ArrayList<>();
+ mDataManager.forAllPackages(
+ packageData -> packageData.forAllConversations(conversations::add));
+
+ // USER_ID_SECONDARY is not in the same profile group as USER_ID_PRIMARY.
+ assertEquals(2, conversations.size());
+
+ assertEquals("sc_1", conversations.get(0).getShortcutId());
+ assertTrue(conversations.get(0).isPersonImportant());
+ assertFalse(conversations.get(0).isPersonBot());
+ assertFalse(conversations.get(0).isContactStarred());
+ assertEquals(PHONE_NUMBER, conversations.get(0).getContactPhoneNumber());
+
+ assertEquals("sc_2", conversations.get(1).getShortcutId());
+ assertFalse(conversations.get(1).isPersonImportant());
+ assertTrue(conversations.get(1).isPersonBot());
+ assertFalse(conversations.get(0).isContactStarred());
+ assertEquals(PHONE_NUMBER, conversations.get(0).getContactPhoneNumber());
+ }
+
+ @Test
+ public void testAccessConversationForUnlockedUsersOnly() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+ mDataManager.onShortcutAddedOrUpdated(
+ buildShortcutInfo("pkg_1", USER_ID_PRIMARY, "sc_1", buildPerson()));
+ mDataManager.onShortcutAddedOrUpdated(
+ buildShortcutInfo("pkg_2", USER_ID_PRIMARY_MANAGED, "sc_2", buildPerson()));
+
+ List<ConversationInfo> conversations = new ArrayList<>();
+ mDataManager.forAllPackages(
+ packageData -> packageData.forAllConversations(conversations::add));
+
+ // USER_ID_PRIMARY_MANAGED is not locked, so only USER_ID_PRIMARY's conversation is stored.
+ assertEquals(1, conversations.size());
+ assertEquals("sc_1", conversations.get(0).getShortcutId());
+
+ mDataManager.onUserStopped(USER_ID_PRIMARY);
+ conversations.clear();
+ mDataManager.forAllPackages(
+ packageData -> packageData.forAllConversations(conversations::add));
+ assertTrue(conversations.isEmpty());
+ }
+
+ @Test
+ public void testGetShortcut() {
+ mDataManager.getShortcut(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID);
+ verify(mShortcutServiceInternal).getShortcuts(anyInt(), anyString(), anyLong(),
+ eq(TEST_PKG_NAME), eq(Collections.singletonList(TEST_SHORTCUT_ID)),
+ eq(null), anyInt(), eq(USER_ID_PRIMARY), anyInt(), anyInt());
+ }
+
+ @Test
+ public void testReportAppTargetEvent() throws IntentFilter.MalformedMimeTypeException {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ mDataManager.onShortcutAddedOrUpdated(shortcut);
+
+ AppTarget appTarget = new AppTarget.Builder(new AppTargetId(TEST_SHORTCUT_ID), shortcut)
+ .build();
+ AppTargetEvent appTargetEvent =
+ new AppTargetEvent.Builder(appTarget, AppTargetEvent.ACTION_LAUNCH)
+ .setLaunchLocation(ChooserActivity.LAUNCH_LOCATON_DIRECT_SHARE)
+ .build();
+ IntentFilter intentFilter = new IntentFilter(Intent.ACTION_SEND, "image/jpg");
+ mDataManager.reportAppTargetEvent(appTargetEvent, intentFilter);
+
+ List<Range<Long>> activeShareTimeSlots = new ArrayList<>();
+ mDataManager.forAllPackages(packageData ->
+ activeShareTimeSlots.addAll(
+ packageData.getEventHistory(TEST_SHORTCUT_ID)
+ .getEventIndex(Event.TYPE_SHARE_IMAGE)
+ .getActiveTimeSlots()));
+ assertEquals(1, activeShareTimeSlots.size());
+ }
+
+ @Test
+ public void testContactsChanged() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ mDataManager.onShortcutAddedOrUpdated(shortcut);
+
+ final String newPhoneNumber = "+1000000000";
+ mInjector.mContactsQueryHelper.mIsStarred = true;
+ mInjector.mContactsQueryHelper.mPhoneNumber = newPhoneNumber;
+
+ ContentObserver contentObserver = mDataManager.getContactsContentObserverForTesting(
+ USER_ID_PRIMARY);
+ contentObserver.onChange(false, ContactsContract.Contacts.CONTENT_URI, USER_ID_PRIMARY);
+
+ List<ConversationInfo> conversations = new ArrayList<>();
+ mDataManager.forAllPackages(
+ packageData -> packageData.forAllConversations(conversations::add));
+ assertEquals(1, conversations.size());
+
+ assertEquals(TEST_SHORTCUT_ID, conversations.get(0).getShortcutId());
+ assertTrue(conversations.get(0).isContactStarred());
+ assertEquals(newPhoneNumber, conversations.get(0).getContactPhoneNumber());
+ }
+
+ @Test
+ public void testNotificationListener() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ mDataManager.onShortcutAddedOrUpdated(shortcut);
+
+ NotificationListenerService listenerService =
+ mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY);
+
+ listenerService.onNotificationRemoved(mStatusBarNotification, null,
+ NotificationListenerService.REASON_CLICK);
+
+ List<Range<Long>> activeNotificationOpenTimeSlots = new ArrayList<>();
+ mDataManager.forAllPackages(packageData ->
+ activeNotificationOpenTimeSlots.addAll(
+ packageData.getEventHistory(TEST_SHORTCUT_ID)
+ .getEventIndex(Event.TYPE_NOTIFICATION_OPENED)
+ .getActiveTimeSlots()));
+ assertEquals(1, activeNotificationOpenTimeSlots.size());
+ }
+
+ @Test
+ public void testQueryUsageStatsService() {
+ UsageEvents.Event e = new UsageEvents.Event(SHORTCUT_INVOCATION,
+ System.currentTimeMillis());
+ e.mPackage = TEST_PKG_NAME;
+ e.mShortcutId = TEST_SHORTCUT_ID;
+ List<UsageEvents.Event> events = new ArrayList<>();
+ events.add(e);
+ UsageEvents usageEvents = new UsageEvents(events, new String[]{});
+ when(mUsageStatsManagerInternal.queryEventsForUser(anyInt(), anyLong(), anyLong(),
+ anyBoolean(), anyBoolean())).thenReturn(usageEvents);
+
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ mDataManager.onShortcutAddedOrUpdated(shortcut);
+
+ mDataManager.queryUsageStatsService(USER_ID_PRIMARY, 0L, Long.MAX_VALUE);
+
+ List<Range<Long>> activeShortcutInvocationTimeSlots = new ArrayList<>();
+ mDataManager.forAllPackages(packageData ->
+ activeShortcutInvocationTimeSlots.addAll(
+ packageData.getEventHistory(TEST_SHORTCUT_ID)
+ .getEventIndex(Event.TYPE_SHORTCUT_INVOCATION)
+ .getActiveTimeSlots()));
+ assertEquals(1, activeShortcutInvocationTimeSlots.size());
+ }
+
+ @Test
+ public void testCallLogContentObserver() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ mDataManager.onShortcutAddedOrUpdated(shortcut);
+
+ ContentObserver contentObserver = mDataManager.getCallLogContentObserverForTesting();
+ contentObserver.onChange(false);
+ long currentTimestamp = System.currentTimeMillis();
+ mInjector.mCallLogQueryHelper.mEventConsumer.accept(PHONE_NUMBER,
+ new Event(currentTimestamp - MILLIS_PER_MINUTE * 15L, Event.TYPE_CALL_OUTGOING));
+ mInjector.mCallLogQueryHelper.mEventConsumer.accept(PHONE_NUMBER,
+ new Event(currentTimestamp - MILLIS_PER_MINUTE * 10L, Event.TYPE_CALL_INCOMING));
+ mInjector.mCallLogQueryHelper.mEventConsumer.accept(PHONE_NUMBER,
+ new Event(currentTimestamp - MILLIS_PER_MINUTE * 5L, Event.TYPE_CALL_MISSED));
+
+ List<Range<Long>> activeTimeSlots = new ArrayList<>();
+ mDataManager.forAllPackages(packageData ->
+ activeTimeSlots.addAll(
+ packageData.getEventHistory(TEST_SHORTCUT_ID)
+ .getEventIndex(Event.CALL_EVENT_TYPES)
+ .getActiveTimeSlots()));
+ assertEquals(3, activeTimeSlots.size());
+ }
+
+ @Test
+ public void testMmsSmsContentObserver() {
+ mDataManager.onUserUnlocked(USER_ID_PRIMARY);
+
+ ShortcutInfo shortcut = buildShortcutInfo(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID,
+ buildPerson());
+ mDataManager.onShortcutAddedOrUpdated(shortcut);
+ mDataManager.getUserDataForTesting(USER_ID_PRIMARY).setDefaultSmsApp(TEST_PKG_NAME);
+
+ ContentObserver contentObserver = mDataManager.getMmsSmsContentObserverForTesting();
+ contentObserver.onChange(false);
+ long currentTimestamp = System.currentTimeMillis();
+ Event outgoingSmsEvent =
+ new Event(currentTimestamp - MILLIS_PER_MINUTE * 10L, Event.TYPE_SMS_OUTGOING);
+ Event incomingSmsEvent =
+ new Event(currentTimestamp - MILLIS_PER_MINUTE * 5L, Event.TYPE_SMS_INCOMING);
+ mInjector.mMmsQueryHelper.mEventConsumer.accept(PHONE_NUMBER, outgoingSmsEvent);
+ mInjector.mSmsQueryHelper.mEventConsumer.accept(PHONE_NUMBER, incomingSmsEvent);
+
+ List<Range<Long>> activeTimeSlots = new ArrayList<>();
+ mDataManager.forAllPackages(packageData ->
+ activeTimeSlots.addAll(
+ packageData.getEventHistory(TEST_SHORTCUT_ID)
+ .getEventIndex(Event.SMS_EVENT_TYPES)
+ .getActiveTimeSlots()));
+ assertEquals(2, activeTimeSlots.size());
+ }
+
+ private static <T> void addLocalServiceMock(Class<T> clazz, T mock) {
+ LocalServices.removeServiceForTest(clazz);
+ LocalServices.addService(clazz, mock);
+ }
+
+ private ShortcutInfo buildShortcutInfo(String packageName, int userId, String id,
+ @Nullable Person person) {
+ Context mockContext = mock(Context.class);
+ when(mockContext.getPackageName()).thenReturn(packageName);
+ when(mockContext.getUserId()).thenReturn(userId);
+ when(mockContext.getUser()).thenReturn(UserHandle.of(userId));
+ ShortcutInfo.Builder builder = new ShortcutInfo.Builder(mockContext, id)
+ .setShortLabel(id)
+ .setIntent(new Intent("TestIntent"));
+ if (person != null) {
+ builder.setPersons(new Person[] {person});
+ }
+ return builder.build();
+ }
+
+ private Person buildPerson() {
+ return buildPerson(true, false);
+ }
+
+ private Person buildPerson(boolean isImportant, boolean isBot) {
+ return new Person.Builder()
+ .setImportant(isImportant)
+ .setBot(isBot)
+ .setUri(CONTACT_URI)
+ .build();
+ }
+
+ private UserInfo buildUserInfo(int userId) {
+ return new UserInfo(userId, "", 0);
+ }
+
+ private class TestContactsQueryHelper extends ContactsQueryHelper {
+
+ private Uri mContactUri;
+ private boolean mIsStarred;
+ private String mPhoneNumber;
+
+ TestContactsQueryHelper(Context context) {
+ super(context);
+ mContactUri = Uri.parse(CONTACT_URI);
+ mIsStarred = false;
+ mPhoneNumber = PHONE_NUMBER;
+ }
+
+ @Override
+ boolean query(@NonNull String contactUri) {
+ return true;
+ }
+
+ @Override
+ boolean querySince(long sinceTime) {
+ return true;
+ }
+
+ @Override
+ @Nullable
+ Uri getContactUri() {
+ return mContactUri;
+ }
+
+ @Override
+ boolean isStarred() {
+ return mIsStarred;
+ }
+
+ @Override
+ @Nullable
+ String getPhoneNumber() {
+ return mPhoneNumber;
+ }
+ }
+
+ private class TestCallLogQueryHelper extends CallLogQueryHelper {
+
+ private final BiConsumer<String, Event> mEventConsumer;
+
+ TestCallLogQueryHelper(Context context, BiConsumer<String, Event> eventConsumer) {
+ super(context, eventConsumer);
+ mEventConsumer = eventConsumer;
+ }
+
+ @Override
+ boolean querySince(long sinceTime) {
+ return true;
+ }
+
+ @Override
+ long getLastCallTimestamp() {
+ return 100L;
+ }
+ }
+
+ private class TestSmsQueryHelper extends SmsQueryHelper {
+
+ private final BiConsumer<String, Event> mEventConsumer;
+
+ TestSmsQueryHelper(Context context, BiConsumer<String, Event> eventConsumer) {
+ super(context, eventConsumer);
+ mEventConsumer = eventConsumer;
+ }
+
+ @Override
+ boolean querySince(long sinceTime) {
+ return true;
+ }
+
+ @Override
+ long getLastMessageTimestamp() {
+ return 100L;
+ }
+ }
+
+ private class TestMmsQueryHelper extends MmsQueryHelper {
+
+ private final BiConsumer<String, Event> mEventConsumer;
+
+ TestMmsQueryHelper(Context context, BiConsumer<String, Event> eventConsumer) {
+ super(context, eventConsumer);
+ mEventConsumer = eventConsumer;
+ }
+
+ @Override
+ boolean querySince(long sinceTime) {
+ return true;
+ }
+
+ @Override
+ long getLastMessageTimestamp() {
+ return 100L;
+ }
+ }
+
+ private class TestInjector extends DataManager.Injector {
+
+ private final TestContactsQueryHelper mContactsQueryHelper =
+ new TestContactsQueryHelper(mContext);
+ private TestCallLogQueryHelper mCallLogQueryHelper;
+ private TestMmsQueryHelper mMmsQueryHelper;
+ private TestSmsQueryHelper mSmsQueryHelper;
+
+ @Override
+ ScheduledExecutorService createScheduledExecutor() {
+ return mExecutorService;
+ }
+
+ @Override
+ ContactsQueryHelper createContactsQueryHelper(Context context) {
+ return mContactsQueryHelper;
+ }
+
+ @Override
+ CallLogQueryHelper createCallLogQueryHelper(Context context,
+ BiConsumer<String, Event> eventConsumer) {
+ mCallLogQueryHelper = new TestCallLogQueryHelper(context, eventConsumer);
+ return mCallLogQueryHelper;
+ }
+
+ @Override
+ MmsQueryHelper createMmsQueryHelper(Context context,
+ BiConsumer<String, Event> eventConsumer) {
+ mMmsQueryHelper = new TestMmsQueryHelper(context, eventConsumer);
+ return mMmsQueryHelper;
+ }
+
+ @Override
+ SmsQueryHelper createSmsQueryHelper(Context context,
+ BiConsumer<String, Event> eventConsumer) {
+ mSmsQueryHelper = new TestSmsQueryHelper(context, eventConsumer);
+ return mSmsQueryHelper;
+ }
+
+ @Override
+ int getCallingUserId() {
+ return mCallingUserId;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/EventHistoryImplTest.java b/services/tests/servicestests/src/com/android/server/people/data/EventHistoryImplTest.java
new file mode 100644
index 000000000000..43e1001f2aee
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/EventHistoryImplTest.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static com.android.server.people.data.TestUtils.timestamp;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import com.google.android.collect.Sets;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.List;
+
+@RunWith(JUnit4.class)
+public final class EventHistoryImplTest {
+
+ private static final long CURRENT_TIMESTAMP = timestamp("01-30 18:50");
+
+ private static final Event E1 = new Event(timestamp("01-06 05:26"),
+ Event.TYPE_NOTIFICATION_OPENED);
+ private static final Event E2 = new Event(timestamp("01-27 18:41"),
+ Event.TYPE_NOTIFICATION_OPENED);
+ private static final Event E3 = new Event(timestamp("01-30 03:06"),
+ Event.TYPE_SHARE_IMAGE);
+ private static final Event E4 = new Event(timestamp("01-30 18:14"),
+ Event.TYPE_SMS_INCOMING);
+
+ private EventHistoryImpl mEventHistory;
+
+ @Before
+ public void setUp() {
+ EventIndex.Injector eventIndexInjector = new EventIndex.Injector() {
+ @Override
+ long currentTimeMillis() {
+ return CURRENT_TIMESTAMP;
+ }
+ };
+ EventHistoryImpl.Injector eventHistoryInjector = new EventHistoryImpl.Injector() {
+ @Override
+ EventIndex createEventIndex() {
+ return new EventIndex(eventIndexInjector);
+ }
+ };
+ mEventHistory = new EventHistoryImpl(eventHistoryInjector);
+ }
+
+ @Test
+ public void testNoEvents() {
+ EventIndex eventIndex = mEventHistory.getEventIndex(Event.ALL_EVENT_TYPES);
+ assertTrue(eventIndex.isEmpty());
+
+ List<Event> events = mEventHistory.queryEvents(Event.ALL_EVENT_TYPES, 0L, 999L);
+ assertTrue(events.isEmpty());
+ }
+
+ @Test
+ public void testMultipleEvents() {
+ mEventHistory.addEvent(E1);
+ mEventHistory.addEvent(E2);
+ mEventHistory.addEvent(E3);
+ mEventHistory.addEvent(E4);
+
+ EventIndex eventIndex = mEventHistory.getEventIndex(Event.ALL_EVENT_TYPES);
+ assertEquals(4, eventIndex.getActiveTimeSlots().size());
+
+ List<Event> events = mEventHistory.queryEvents(Event.ALL_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(4, events.size());
+ }
+
+ @Test
+ public void testQuerySomeEventTypes() {
+ mEventHistory.addEvent(E1);
+ mEventHistory.addEvent(E2);
+ mEventHistory.addEvent(E3);
+ mEventHistory.addEvent(E4);
+
+ EventIndex eventIndex = mEventHistory.getEventIndex(Event.NOTIFICATION_EVENT_TYPES);
+ assertEquals(2, eventIndex.getActiveTimeSlots().size());
+
+ List<Event> events = mEventHistory.queryEvents(
+ Event.NOTIFICATION_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(2, events.size());
+ }
+
+ @Test
+ public void testQuerySingleEventType() {
+ mEventHistory.addEvent(E1);
+ mEventHistory.addEvent(E2);
+ mEventHistory.addEvent(E3);
+ mEventHistory.addEvent(E4);
+
+ EventIndex eventIndex = mEventHistory.getEventIndex(Event.TYPE_SHARE_IMAGE);
+ assertEquals(1, eventIndex.getActiveTimeSlots().size());
+
+ List<Event> events = mEventHistory.queryEvents(
+ Sets.newArraySet(Event.TYPE_SHARE_IMAGE), 0L, Long.MAX_VALUE);
+ assertEquals(1, events.size());
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/EventIndexTest.java b/services/tests/servicestests/src/com/android/server/people/data/EventIndexTest.java
new file mode 100644
index 000000000000..e87f428d09bb
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/EventIndexTest.java
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static com.android.server.people.data.TestUtils.timestamp;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import android.util.Range;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.List;
+
+@RunWith(JUnit4.class)
+public final class EventIndexTest {
+
+ private static final long CURRENT_TIMESTAMP = timestamp("01-30 18:50");
+ private static final long SECONDS_PER_HOUR = 60L * 60L;
+ private static final long SECONDS_PER_DAY = SECONDS_PER_HOUR * 24L;
+
+ private TestInjector mInjector;
+ private EventIndex mEventIndex;
+
+ @Before
+ public void setUp() {
+ mInjector = new TestInjector(CURRENT_TIMESTAMP);
+ mEventIndex = new EventIndex(mInjector);
+ }
+
+ @Test
+ public void testNoEvents() {
+ assertTrue(mEventIndex.isEmpty());
+ assertNull(mEventIndex.getMostRecentActiveTimeSlot());
+ assertTrue(mEventIndex.getActiveTimeSlots().isEmpty());
+ }
+
+ @Test
+ public void testMultipleEvents() {
+ mEventIndex.addEvent(timestamp("01-06 05:26"));
+ mEventIndex.addEvent(timestamp("01-27 18:41"));
+ mEventIndex.addEvent(timestamp("01-30 03:06"));
+ mEventIndex.addEvent(timestamp("01-30 18:14"));
+
+ assertFalse(mEventIndex.isEmpty());
+ Range<Long> mostRecentSlot = mEventIndex.getMostRecentActiveTimeSlot();
+ assertNotNull(mostRecentSlot);
+ assertTimeSlot(timestamp("01-30 18:14"), timestamp("01-30 18:16"), mostRecentSlot);
+
+ List<Range<Long>> slots = mEventIndex.getActiveTimeSlots();
+ assertEquals(4, slots.size());
+ assertTimeSlot(timestamp("01-06 00:00"), timestamp("01-07 00:00"), slots.get(0));
+ assertTimeSlot(timestamp("01-27 16:00"), timestamp("01-27 20:00"), slots.get(1));
+ assertTimeSlot(timestamp("01-30 03:00"), timestamp("01-30 04:00"), slots.get(2));
+ assertTimeSlot(timestamp("01-30 18:14"), timestamp("01-30 18:16"), slots.get(3));
+ }
+
+ @Test
+ public void testBitmapShift() {
+ mEventIndex.addEvent(CURRENT_TIMESTAMP);
+ List<Range<Long>> slots;
+
+ slots = mEventIndex.getActiveTimeSlots();
+ assertEquals(1, slots.size());
+ assertTimeSlot(timestamp("01-30 18:50"), timestamp("01-30 18:52"), slots.get(0));
+
+ mInjector.moveTimeForwardSeconds(SECONDS_PER_HOUR * 3L);
+ mEventIndex.update();
+ slots = mEventIndex.getActiveTimeSlots();
+ assertEquals(1, slots.size());
+ assertTimeSlot(timestamp("01-30 18:00"), timestamp("01-30 19:00"), slots.get(0));
+
+ mInjector.moveTimeForwardSeconds(SECONDS_PER_DAY * 6L);
+ mEventIndex.update();
+ slots = mEventIndex.getActiveTimeSlots();
+ assertEquals(1, slots.size());
+ assertTimeSlot(timestamp("01-30 16:00"), timestamp("01-30 20:00"), slots.get(0));
+
+ mInjector.moveTimeForwardSeconds(SECONDS_PER_DAY * 30L);
+ mEventIndex.update();
+ slots = mEventIndex.getActiveTimeSlots();
+ assertEquals(1, slots.size());
+ assertTimeSlot(timestamp("01-30 00:00"), timestamp("01-31 00:00"), slots.get(0));
+
+ mInjector.moveTimeForwardSeconds(SECONDS_PER_DAY * 80L);
+ mEventIndex.update();
+ slots = mEventIndex.getActiveTimeSlots();
+ // The event has been shifted off the left end.
+ assertTrue(slots.isEmpty());
+ }
+
+ @Test
+ public void testCopyConstructor() {
+ mEventIndex.addEvent(timestamp("01-06 05:26"));
+ mEventIndex.addEvent(timestamp("01-27 18:41"));
+ mEventIndex.addEvent(timestamp("01-30 03:06"));
+ mEventIndex.addEvent(timestamp("01-30 18:14"));
+
+ List<Range<Long>> slots = mEventIndex.getActiveTimeSlots();
+
+ EventIndex newIndex = new EventIndex(mEventIndex);
+ List<Range<Long>> newSlots = newIndex.getActiveTimeSlots();
+
+ assertEquals(slots.size(), newSlots.size());
+ for (int i = 0; i < slots.size(); i++) {
+ assertEquals(slots.get(i), newSlots.get(i));
+ }
+ }
+
+ @Test
+ public void combineEventIndexes() {
+ EventIndex a = new EventIndex(mInjector);
+ mInjector.mCurrentTimeMillis = timestamp("01-27 18:41");
+ a.addEvent(mInjector.mCurrentTimeMillis);
+ mInjector.mCurrentTimeMillis = timestamp("01-30 03:06");
+ a.addEvent(mInjector.mCurrentTimeMillis);
+
+ mInjector.mCurrentTimeMillis = CURRENT_TIMESTAMP;
+ EventIndex b = new EventIndex(mInjector);
+ b.addEvent(timestamp("01-06 05:26"));
+ b.addEvent(timestamp("01-30 18:14"));
+
+ EventIndex combined = EventIndex.combine(a, b);
+ List<Range<Long>> slots = combined.getActiveTimeSlots();
+ assertEquals(4, slots.size());
+ assertTimeSlot(timestamp("01-06 00:00"), timestamp("01-07 00:00"), slots.get(0));
+ assertTimeSlot(timestamp("01-27 16:00"), timestamp("01-27 20:00"), slots.get(1));
+ assertTimeSlot(timestamp("01-30 03:00"), timestamp("01-30 04:00"), slots.get(2));
+ assertTimeSlot(timestamp("01-30 18:14"), timestamp("01-30 18:16"), slots.get(3));
+ }
+
+ private static void assertTimeSlot(
+ long expectedLower, long expectedUpper, Range<Long> actualSlot) {
+ assertEquals(expectedLower, actualSlot.getLower().longValue());
+ assertEquals(expectedUpper, actualSlot.getUpper().longValue());
+ }
+
+ private class TestInjector extends EventIndex.Injector {
+
+ private long mCurrentTimeMillis;
+
+ TestInjector(long currentTimeMillis) {
+ mCurrentTimeMillis = currentTimeMillis;
+ }
+
+ private void moveTimeForwardSeconds(long seconds) {
+ mCurrentTimeMillis += (seconds * 1000L);
+ }
+
+ @Override
+ long currentTimeMillis() {
+ return mCurrentTimeMillis;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/EventListTest.java b/services/tests/servicestests/src/com/android/server/people/data/EventListTest.java
new file mode 100644
index 000000000000..f2f372c1b8c3
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/EventListTest.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import com.google.android.collect.Lists;
+import com.google.android.collect.Sets;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.List;
+
+@RunWith(JUnit4.class)
+public final class EventListTest {
+
+ private static final Event E1 = new Event(101L, Event.TYPE_NOTIFICATION_OPENED);
+ private static final Event E2 = new Event(103L, Event.TYPE_NOTIFICATION_OPENED);
+ private static final Event E3 = new Event(107L, Event.TYPE_SHARE_IMAGE);
+ private static final Event E4 = new Event(109L, Event.TYPE_SMS_INCOMING);
+
+ private EventList mEventList;
+
+ @Before
+ public void setUp() {
+ mEventList = new EventList();
+ }
+
+ @Test
+ public void testQueryEmptyEventList() {
+ List<Event> events = mEventList.queryEvents(Event.ALL_EVENT_TYPES, 0L, 999L);
+ assertTrue(events.isEmpty());
+ }
+
+ @Test
+ public void testAddAndQueryEvents() {
+ List<Event> in = Lists.newArrayList(E1, E2, E3, E4);
+ for (Event e : in) {
+ mEventList.add(e);
+ }
+
+ List<Event> out = mEventList.queryEvents(Event.ALL_EVENT_TYPES, 0L, 999L);
+ assertEventListEquals(in, out);
+ }
+
+ @Test
+ public void testAddEventsNotInOrder() {
+ mEventList.add(E3);
+ mEventList.add(E1);
+ mEventList.add(E4);
+ mEventList.add(E2);
+
+ List<Event> out = mEventList.queryEvents(Event.ALL_EVENT_TYPES, 0L, 999L);
+ List<Event> expected = Lists.newArrayList(E1, E2, E3, E4);
+ assertEventListEquals(expected, out);
+ }
+
+ @Test
+ public void testQueryEventsByType() {
+ mEventList.add(E1);
+ mEventList.add(E2);
+ mEventList.add(E3);
+ mEventList.add(E4);
+
+ List<Event> out = mEventList.queryEvents(
+ Sets.newArraySet(Event.TYPE_NOTIFICATION_OPENED), 0L, 999L);
+ assertEventListEquals(Lists.newArrayList(E1, E2), out);
+ }
+
+ @Test
+ public void testQueryEventsByTimeRange() {
+ mEventList.add(E1);
+ mEventList.add(E2);
+ mEventList.add(E3);
+ mEventList.add(E4);
+
+ List<Event> out = mEventList.queryEvents(Event.ALL_EVENT_TYPES, 103L, 109L);
+ // Only E2 and E3 are in the time range [103L, 109L).
+ assertEventListEquals(Lists.newArrayList(E2, E3), out);
+ }
+
+ @Test
+ public void testQueryEventsOutOfRange() {
+ mEventList.add(E1);
+ mEventList.add(E2);
+ mEventList.add(E3);
+ mEventList.add(E4);
+
+ List<Event> out = mEventList.queryEvents(Event.ALL_EVENT_TYPES, 900L, 900L);
+ assertTrue(out.isEmpty());
+ }
+
+ @Test
+ public void testAddDuplicateEvents() {
+ mEventList.add(E1);
+ mEventList.add(E2);
+ mEventList.add(E2);
+ mEventList.add(E3);
+ mEventList.add(E2);
+ mEventList.add(E3);
+ mEventList.add(E3);
+ mEventList.add(E4);
+ mEventList.add(E1);
+ mEventList.add(E3);
+ mEventList.add(E2);
+
+ List<Event> out = mEventList.queryEvents(Event.ALL_EVENT_TYPES, 0L, 999L);
+ List<Event> expected = Lists.newArrayList(E1, E2, E3, E4);
+ assertEventListEquals(expected, out);
+ }
+
+ private static void assertEventListEquals(List<Event> expected, List<Event> actual) {
+ assertEquals(expected.size(), actual.size());
+ for (int i = 0; i < expected.size(); i++) {
+ assertEquals(expected.get(i).getTimestamp(), actual.get(i).getTimestamp());
+ assertEquals(expected.get(i).getType(), actual.get(i).getType());
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/MmsQueryHelperTest.java b/services/tests/servicestests/src/com/android/server/people/data/MmsQueryHelperTest.java
new file mode 100644
index 000000000000..7730890e1486
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/MmsQueryHelperTest.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.net.Uri;
+import android.provider.Telephony.BaseMmsColumns;
+import android.provider.Telephony.Mms;
+import android.test.mock.MockContentProvider;
+import android.test.mock.MockContentResolver;
+import android.test.mock.MockContext;
+import android.util.ArrayMap;
+
+import com.google.android.mms.pdu.PduHeaders;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.function.BiConsumer;
+
+@RunWith(JUnit4.class)
+public final class MmsQueryHelperTest {
+
+ private static final String MMS_AUTHORITY = "mms";
+ private static final String PHONE_NUMBER = "650-555-1111";
+ private static final String NORMALIZED_PHONE_NUMBER = "+16505551111";
+ private static final String OWN_PHONE_NUMBER = "650-555-9999";
+
+ private static final String[] MMS_COLUMNS = new String[] { Mms._ID, Mms.DATE, Mms.MESSAGE_BOX };
+ private static final String[] ADDR_COLUMNS = new String[] { Mms.Addr.ADDRESS, Mms.Addr.TYPE };
+
+ @Mock
+ private MockContext mContext;
+
+ private MatrixCursor mMmsCursor;
+ private final List<MatrixCursor> mAddrCursors = new ArrayList<>();
+ private EventConsumer mEventConsumer;
+ private MmsQueryHelper mHelper;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mMmsCursor = new MatrixCursor(MMS_COLUMNS);
+ mAddrCursors.add(new MatrixCursor(ADDR_COLUMNS));
+ mAddrCursors.add(new MatrixCursor(ADDR_COLUMNS));
+
+ MockContentResolver contentResolver = new MockContentResolver();
+ contentResolver.addProvider(MMS_AUTHORITY, new MmsContentProvider());
+ when(mContext.getContentResolver()).thenReturn(contentResolver);
+
+ mEventConsumer = new EventConsumer();
+ mHelper = new MmsQueryHelper(mContext, mEventConsumer);
+ }
+
+ @Test
+ public void testQueryNoMessages() {
+ assertFalse(mHelper.querySince(50_000L));
+ assertFalse(mEventConsumer.mEventMap.containsKey(NORMALIZED_PHONE_NUMBER));
+ }
+
+ @Test
+ public void testQueryIncomingMessage() {
+ mMmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 100L, /* msgBox= */ BaseMmsColumns.MESSAGE_BOX_INBOX });
+ mAddrCursors.get(0).addRow(new Object[] {
+ /* address= */ PHONE_NUMBER, /* type= */ PduHeaders.FROM });
+ mAddrCursors.get(0).addRow(new Object[] {
+ /* address= */ OWN_PHONE_NUMBER, /* type= */ PduHeaders.TO });
+
+ assertTrue(mHelper.querySince(50_000L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100_000L, mHelper.getLastMessageTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_SMS_INCOMING, events.get(0).getType());
+ assertEquals(100_000L, events.get(0).getTimestamp());
+ }
+
+ @Test
+ public void testQueryOutgoingMessage() {
+ mMmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 100L, /* msgBox= */ BaseMmsColumns.MESSAGE_BOX_SENT });
+ mAddrCursors.get(0).addRow(new Object[] {
+ /* address= */ OWN_PHONE_NUMBER, /* type= */ PduHeaders.FROM });
+ mAddrCursors.get(0).addRow(new Object[] {
+ /* address= */ PHONE_NUMBER, /* type= */ PduHeaders.TO });
+
+ assertTrue(mHelper.querySince(50_000L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100_000L, mHelper.getLastMessageTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_SMS_OUTGOING, events.get(0).getType());
+ assertEquals(100_000L, events.get(0).getTimestamp());
+ }
+
+ @Test
+ public void testQueryMultipleMessages() {
+ mMmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 100L, /* msgBox= */ BaseMmsColumns.MESSAGE_BOX_SENT });
+ mMmsCursor.addRow(new Object[] {
+ /* id= */ 1, /* date= */ 110L, /* msgBox= */ BaseMmsColumns.MESSAGE_BOX_INBOX });
+ mAddrCursors.get(0).addRow(new Object[] {
+ /* address= */ OWN_PHONE_NUMBER, /* type= */ PduHeaders.FROM });
+ mAddrCursors.get(0).addRow(new Object[] {
+ /* address= */ PHONE_NUMBER, /* type= */ PduHeaders.TO });
+ mAddrCursors.get(1).addRow(new Object[] {
+ /* address= */ PHONE_NUMBER, /* type= */ PduHeaders.FROM });
+ mAddrCursors.get(1).addRow(new Object[] {
+ /* address= */ OWN_PHONE_NUMBER, /* type= */ PduHeaders.TO });
+
+ assertTrue(mHelper.querySince(50_000L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(110_000L, mHelper.getLastMessageTimestamp());
+ assertEquals(2, events.size());
+ assertEquals(Event.TYPE_SMS_OUTGOING, events.get(0).getType());
+ assertEquals(100_000L, events.get(0).getTimestamp());
+ assertEquals(Event.TYPE_SMS_INCOMING, events.get(1).getType());
+ assertEquals(110_000L, events.get(1).getTimestamp());
+ }
+
+ private class EventConsumer implements BiConsumer<String, Event> {
+
+ private final Map<String, List<Event>> mEventMap = new ArrayMap<>();
+
+ @Override
+ public void accept(String phoneNumber, Event event) {
+ mEventMap.computeIfAbsent(phoneNumber, key -> new ArrayList<>()).add(event);
+ }
+ }
+
+ private class MmsContentProvider extends MockContentProvider {
+
+ @Override
+ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+ String sortOrder) {
+ List<String> segments = uri.getPathSegments();
+ if (segments.size() == 2 && "addr".equals(segments.get(1))) {
+ int messageId = Integer.valueOf(segments.get(0));
+ return mAddrCursors.get(messageId);
+ }
+ return mMmsCursor;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/PackageDataTest.java b/services/tests/servicestests/src/com/android/server/people/data/PackageDataTest.java
new file mode 100644
index 000000000000..ec4789ad0cdf
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/PackageDataTest.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import android.content.LocusId;
+import android.content.pm.ShortcutInfo;
+import android.net.Uri;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.List;
+
+@RunWith(JUnit4.class)
+public final class PackageDataTest {
+
+ private static final String PACKAGE_NAME = "com.google.test";
+ private static final int USER_ID = 0;
+ private static final String SHORTCUT_ID = "abc";
+ private static final LocusId LOCUS_ID = new LocusId("def");
+ private static final Uri CONTACT_URI = Uri.parse("tel:+1234567890");
+ private static final String PHONE_NUMBER = "+1234567890";
+
+ private Event mE1;
+ private Event mE2;
+ private Event mE3;
+ private Event mE4;
+ private boolean mIsDefaultDialer;
+ private boolean mIsDefaultSmsApp;
+
+ private PackageData mPackageData;
+
+ @Before
+ public void setUp() {
+ mPackageData = new PackageData(
+ PACKAGE_NAME, USER_ID, pkg -> mIsDefaultDialer, pkg -> mIsDefaultSmsApp);
+ ConversationInfo conversationInfo = new ConversationInfo.Builder()
+ .setShortcutId(SHORTCUT_ID)
+ .setLocusId(LOCUS_ID)
+ .setContactUri(CONTACT_URI)
+ .setContactPhoneNumber(PHONE_NUMBER)
+ .setShortcutFlags(ShortcutInfo.FLAG_LONG_LIVED)
+ .build();
+ mPackageData.getConversationStore().addOrUpdate(conversationInfo);
+
+ long currentTimestamp = System.currentTimeMillis();
+ mE1 = new Event(currentTimestamp - 800L, Event.TYPE_SHORTCUT_INVOCATION);
+ mE2 = new Event(currentTimestamp - 700L, Event.TYPE_NOTIFICATION_OPENED);
+ mE3 = new Event(currentTimestamp - 600L, Event.TYPE_CALL_INCOMING);
+ mE4 = new Event(currentTimestamp - 500L, Event.TYPE_SMS_OUTGOING);
+ }
+
+ @Test
+ public void testGetEventHistory() {
+ EventStore eventStore = mPackageData.getEventStore();
+ eventStore.getOrCreateShortcutEventHistory(SHORTCUT_ID).addEvent(mE1);
+ eventStore.getOrCreateLocusEventHistory(LOCUS_ID).addEvent(mE2);
+
+ EventHistory eventHistory = mPackageData.getEventHistory(SHORTCUT_ID);
+ List<Event> events = eventHistory.queryEvents(Event.ALL_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(2, events.size());
+ assertEventEquals(mE1, events.get(0));
+ assertEventEquals(mE2, events.get(1));
+ }
+
+ @Test
+ public void testGetEventHistoryDefaultDialerAndSmsApp() {
+ mIsDefaultDialer = true;
+ mIsDefaultSmsApp = true;
+ EventStore eventStore = mPackageData.getEventStore();
+ eventStore.getOrCreateShortcutEventHistory(SHORTCUT_ID).addEvent(mE1);
+ eventStore.getOrCreateCallEventHistory(PHONE_NUMBER).addEvent(mE3);
+ eventStore.getOrCreateSmsEventHistory(PHONE_NUMBER).addEvent(mE4);
+
+ assertTrue(mPackageData.isDefaultDialer());
+ assertTrue(mPackageData.isDefaultSmsApp());
+ EventHistory eventHistory = mPackageData.getEventHistory(SHORTCUT_ID);
+ List<Event> events = eventHistory.queryEvents(Event.ALL_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(3, events.size());
+ assertEventEquals(mE1, events.get(0));
+ assertEventEquals(mE3, events.get(1));
+ assertEventEquals(mE4, events.get(2));
+ }
+
+ @Test
+ public void testGetEventHistoryNotDefaultDialerOrSmsApp() {
+ EventStore eventStore = mPackageData.getEventStore();
+ eventStore.getOrCreateShortcutEventHistory(SHORTCUT_ID).addEvent(mE1);
+ eventStore.getOrCreateCallEventHistory(PHONE_NUMBER).addEvent(mE3);
+ eventStore.getOrCreateSmsEventHistory(PHONE_NUMBER).addEvent(mE4);
+
+ assertFalse(mPackageData.isDefaultDialer());
+ assertFalse(mPackageData.isDefaultSmsApp());
+ EventHistory eventHistory = mPackageData.getEventHistory(SHORTCUT_ID);
+ List<Event> events = eventHistory.queryEvents(Event.ALL_EVENT_TYPES, 0L, Long.MAX_VALUE);
+ assertEquals(1, events.size());
+ assertEventEquals(mE1, events.get(0));
+ }
+
+ private void assertEventEquals(Event expected, Event actual) {
+ assertEquals(expected.getTimestamp(), actual.getTimestamp());
+ assertEquals(expected.getType(), actual.getType());
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/SmsQueryHelperTest.java b/services/tests/servicestests/src/com/android/server/people/data/SmsQueryHelperTest.java
new file mode 100644
index 000000000000..5cb8cb4fe9f1
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/SmsQueryHelperTest.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.net.Uri;
+import android.provider.Telephony.Sms;
+import android.provider.Telephony.TextBasedSmsColumns;
+import android.test.mock.MockContentProvider;
+import android.test.mock.MockContentResolver;
+import android.test.mock.MockContext;
+import android.util.ArrayMap;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.function.BiConsumer;
+
+@RunWith(JUnit4.class)
+public final class SmsQueryHelperTest {
+
+ private static final String SMS_AUTHORITY = "sms";
+ private static final String PHONE_NUMBER = "650-555-1111";
+ private static final String NORMALIZED_PHONE_NUMBER = "+16505551111";
+
+ private static final String[] SMS_COLUMNS = new String[] {
+ Sms._ID, Sms.DATE, Sms.TYPE, Sms.ADDRESS };
+
+ @Mock
+ private MockContext mContext;
+
+ private MatrixCursor mSmsCursor;
+ private EventConsumer mEventConsumer;
+ private SmsQueryHelper mHelper;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mSmsCursor = new MatrixCursor(SMS_COLUMNS);
+
+ MockContentResolver contentResolver = new MockContentResolver();
+ contentResolver.addProvider(SMS_AUTHORITY, new SmsContentProvider());
+ when(mContext.getContentResolver()).thenReturn(contentResolver);
+
+ mEventConsumer = new EventConsumer();
+ mHelper = new SmsQueryHelper(mContext, mEventConsumer);
+ }
+
+ @Test
+ public void testQueryNoMessages() {
+ assertFalse(mHelper.querySince(50_000L));
+ assertFalse(mEventConsumer.mEventMap.containsKey(NORMALIZED_PHONE_NUMBER));
+ }
+
+ @Test
+ public void testQueryIncomingMessage() {
+ mSmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 100L, /* type= */ TextBasedSmsColumns.MESSAGE_TYPE_INBOX,
+ /* address= */ PHONE_NUMBER });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100L, mHelper.getLastMessageTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_SMS_INCOMING, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ }
+
+ @Test
+ public void testQueryOutgoingMessage() {
+ mSmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 100L, /* type= */ TextBasedSmsColumns.MESSAGE_TYPE_SENT,
+ /* address= */ PHONE_NUMBER });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(100L, mHelper.getLastMessageTimestamp());
+ assertEquals(1, events.size());
+ assertEquals(Event.TYPE_SMS_OUTGOING, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ }
+
+ @Test
+ public void testQueryMultipleMessages() {
+ mSmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 100L, /* type= */ TextBasedSmsColumns.MESSAGE_TYPE_SENT,
+ /* address= */ PHONE_NUMBER });
+ mSmsCursor.addRow(new Object[] {
+ /* id= */ 0, /* date= */ 110L, /* type= */ TextBasedSmsColumns.MESSAGE_TYPE_INBOX,
+ /* address= */ PHONE_NUMBER });
+
+ assertTrue(mHelper.querySince(50L));
+ List<Event> events = mEventConsumer.mEventMap.get(NORMALIZED_PHONE_NUMBER);
+
+ assertEquals(110L, mHelper.getLastMessageTimestamp());
+ assertEquals(2, events.size());
+ assertEquals(Event.TYPE_SMS_OUTGOING, events.get(0).getType());
+ assertEquals(100L, events.get(0).getTimestamp());
+ assertEquals(Event.TYPE_SMS_INCOMING, events.get(1).getType());
+ assertEquals(110L, events.get(1).getTimestamp());
+ }
+
+ private class EventConsumer implements BiConsumer<String, Event> {
+
+ private final Map<String, List<Event>> mEventMap = new ArrayMap<>();
+
+ @Override
+ public void accept(String phoneNumber, Event event) {
+ mEventMap.computeIfAbsent(phoneNumber, key -> new ArrayList<>()).add(event);
+ }
+ }
+
+ private class SmsContentProvider extends MockContentProvider {
+
+ @Override
+ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+ String sortOrder) {
+ return mSmsCursor;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/data/TestUtils.java b/services/tests/servicestests/src/com/android/server/people/data/TestUtils.java
new file mode 100644
index 000000000000..41889aa5b224
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/data/TestUtils.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.data;
+
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+
+final class TestUtils {
+
+ /**
+ * Gets the epoch time in millis for the specified time string.
+ * @param timeString e.g. "01-02 15:20"
+ * @return epoch time in millis
+ */
+ static long timestamp(String timeString) {
+ String str = String.format("2020-%s", timeString);
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
+ return toEpochMilli(LocalDateTime.parse(str, formatter));
+ }
+
+ private static long toEpochMilli(LocalDateTime localDateTime) {
+ return localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
+ }
+
+ private TestUtils() {
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/people/prediction/ShareTargetPredictorTest.java b/services/tests/servicestests/src/com/android/server/people/prediction/ShareTargetPredictorTest.java
new file mode 100644
index 000000000000..808906e3a06a
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/people/prediction/ShareTargetPredictorTest.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.people.prediction;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.app.prediction.AppPredictionContext;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager.ShareShortcutInfo;
+import android.os.Bundle;
+import android.os.UserHandle;
+
+import com.android.server.people.data.ConversationInfo;
+import com.android.server.people.data.DataManager;
+import com.android.server.people.data.EventHistory;
+import com.android.server.people.data.PackageData;
+import com.android.server.people.prediction.ShareTargetPredictor.ShareTarget;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(JUnit4.class)
+public final class ShareTargetPredictorTest {
+
+ private static final String UI_SURFACE_SHARE = "share";
+ private static final int NUM_PREDICTED_TARGETS = 5;
+ private static final int USER_ID = 0;
+ private static final String PACKAGE_1 = "pkg1";
+ private static final String CLASS_1 = "cls1";
+ private static final String PACKAGE_2 = "pkg2";
+ private static final String CLASS_2 = "cls2";
+
+ @Mock private Context mContext;
+ @Mock private DataManager mDataManager;
+ @Mock private PackageData mPackageData1;
+ @Mock private PackageData mPackageData2;
+
+ private List<ShareShortcutInfo> mShareShortcuts = new ArrayList<>();
+
+ private ShareTargetPredictor mPredictor;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ when(mDataManager.getShareShortcuts(any())).thenReturn(mShareShortcuts);
+ when(mDataManager.getPackage(PACKAGE_1, USER_ID)).thenReturn(mPackageData1);
+ when(mDataManager.getPackage(PACKAGE_2, USER_ID)).thenReturn(mPackageData2);
+
+ AppPredictionContext predictionContext = new AppPredictionContext.Builder(mContext)
+ .setUiSurface(UI_SURFACE_SHARE)
+ .setPredictedTargetCount(NUM_PREDICTED_TARGETS)
+ .setExtras(new Bundle())
+ .build();
+ mPredictor = new ShareTargetPredictor(predictionContext, targets -> { }, mDataManager);
+ }
+
+ @Test
+ public void testGetShareTargets() {
+ mShareShortcuts.add(buildShareShortcut(PACKAGE_1, CLASS_1, "sc1"));
+ mShareShortcuts.add(buildShareShortcut(PACKAGE_1, CLASS_1, "sc2"));
+ mShareShortcuts.add(buildShareShortcut(PACKAGE_2, CLASS_2, "sc3"));
+ mShareShortcuts.add(buildShareShortcut(PACKAGE_2, CLASS_2, "sc4"));
+
+ when(mPackageData1.getConversationInfo("sc1")).thenReturn(mock(ConversationInfo.class));
+ when(mPackageData1.getConversationInfo("sc2")).thenReturn(mock(ConversationInfo.class));
+ when(mPackageData2.getConversationInfo("sc3")).thenReturn(mock(ConversationInfo.class));
+ // "sc4" does not have a ConversationInfo.
+
+ when(mPackageData1.getEventHistory(anyString())).thenReturn(mock(EventHistory.class));
+ when(mPackageData2.getEventHistory(anyString())).thenReturn(mock(EventHistory.class));
+
+ List<ShareTarget> shareTargets = mPredictor.getShareTargets();
+
+ assertEquals(4, shareTargets.size());
+
+ assertEquals("sc1", shareTargets.get(0).getShareShortcutInfo().getShortcutInfo().getId());
+ assertNotNull(shareTargets.get(0).getConversationData());
+
+ assertEquals("sc2", shareTargets.get(1).getShareShortcutInfo().getShortcutInfo().getId());
+ assertNotNull(shareTargets.get(1).getConversationData());
+
+ assertEquals("sc3", shareTargets.get(2).getShareShortcutInfo().getShortcutInfo().getId());
+ assertNotNull(shareTargets.get(2).getConversationData());
+
+ assertEquals("sc4", shareTargets.get(3).getShareShortcutInfo().getShortcutInfo().getId());
+ assertNull(shareTargets.get(3).getConversationData());
+ }
+
+ private ShareShortcutInfo buildShareShortcut(
+ String packageName, String className, String shortcutId) {
+ ShortcutInfo shortcutInfo = buildShortcut(packageName, shortcutId);
+ ComponentName componentName = new ComponentName(packageName, className);
+ return new ShareShortcutInfo(shortcutInfo, componentName);
+ }
+
+ private ShortcutInfo buildShortcut(String packageName, String shortcutId) {
+ Context mockContext = mock(Context.class);
+ when(mockContext.getPackageName()).thenReturn(packageName);
+ when(mockContext.getUserId()).thenReturn(USER_ID);
+ when(mockContext.getUser()).thenReturn(UserHandle.of(USER_ID));
+ ShortcutInfo.Builder builder = new ShortcutInfo.Builder(mockContext, shortcutId)
+ .setShortLabel(shortcutId)
+ .setIntent(new Intent("TestIntent"));
+ return builder.build();
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/pm/AppsFilterTest.java b/services/tests/servicestests/src/com/android/server/pm/AppsFilterTest.java
index 7f66f3c49185..3e3f40d31d0e 100644
--- a/services/tests/servicestests/src/com/android/server/pm/AppsFilterTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/AppsFilterTest.java
@@ -27,6 +27,8 @@ import android.annotation.Nullable;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageParser;
+import android.content.pm.Signature;
import android.content.pm.parsing.AndroidPackage;
import android.content.pm.parsing.ComponentParseUtils;
import android.content.pm.parsing.ComponentParseUtils.ParsedActivity;
@@ -48,8 +50,10 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+import java.security.cert.CertificateException;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
@@ -284,6 +288,33 @@ public class AppsFilterTest {
assertFalse(appsFilter.shouldFilterApplication(DUMMY_CALLING_UID, calling, target, 0));
}
+
+ @Test
+ public void testSystemSignedTarget_DoesntFilter() throws CertificateException {
+ final AppsFilter appsFilter =
+ new AppsFilter(mFeatureConfigMock, new String[]{}, false, null);
+ appsFilter.onSystemReady();
+
+ final Signature frameworkSignature = Mockito.mock(Signature.class);
+ final PackageParser.SigningDetails frameworkSigningDetails =
+ new PackageParser.SigningDetails(new Signature[]{frameworkSignature}, 1);
+
+ final Signature otherSignature = Mockito.mock(Signature.class);
+ final PackageParser.SigningDetails otherSigningDetails =
+ new PackageParser.SigningDetails(new Signature[]{otherSignature}, 1);
+
+ simulateAddPackage(appsFilter, pkg("android"), 1000,
+ b -> b.setSigningDetails(frameworkSigningDetails));
+ PackageSetting target = simulateAddPackage(appsFilter, pkg("com.some.package"),
+ DUMMY_TARGET_UID,
+ b -> b.setSigningDetails(frameworkSigningDetails));
+ PackageSetting calling = simulateAddPackage(appsFilter,
+ pkg("com.some.other.package"), DUMMY_CALLING_UID,
+ b -> b.setSigningDetails(otherSigningDetails));
+
+ assertFalse(appsFilter.shouldFilterApplication(DUMMY_CALLING_UID, calling, target, 0));
+ }
+
@Test
public void testForceQueryableByDevice_NonSystemCaller_Filters() {
final AppsFilter appsFilter =
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageSettingBuilder.java b/services/tests/servicestests/src/com/android/server/pm/PackageSettingBuilder.java
index 84414947056f..338d5fa347a6 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageSettingBuilder.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageSettingBuilder.java
@@ -16,6 +16,7 @@
package com.android.server.pm;
+import android.content.pm.PackageParser;
import android.content.pm.PackageUserState;
import android.content.pm.parsing.AndroidPackage;
import android.util.SparseArray;
@@ -42,6 +43,7 @@ public class PackageSettingBuilder {
private AndroidPackage mPkg;
private int mAppId;
private InstallSource mInstallSource;
+ private PackageParser.SigningDetails mSigningDetails;
public PackageSettingBuilder setPackage(AndroidPackage pkg) {
this.mPkg = pkg;
@@ -143,12 +145,21 @@ public class PackageSettingBuilder {
return this;
}
+ public PackageSettingBuilder setSigningDetails(
+ PackageParser.SigningDetails signingDetails) {
+ mSigningDetails = signingDetails;
+ return this;
+ }
+
public PackageSetting build() {
final PackageSetting packageSetting = new PackageSetting(mName, mRealName,
new File(mCodePath), new File(mResourcePath),
mLegacyNativeLibraryPathString, mPrimaryCpuAbiString, mSecondaryCpuAbiString,
mCpuAbiOverrideString, mPVersionCode, mPkgFlags, mPrivateFlags, mSharedUserId,
mUsesStaticLibraries, mUsesStaticLibrariesVersions);
+ packageSetting.signatures = mSigningDetails != null
+ ? new PackageSignatures(mSigningDetails)
+ : new PackageSignatures();
packageSetting.pkg = mPkg;
packageSetting.appId = mAppId;
packageSetting.volumeUuid = this.mVolumeUuid;
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
index 6c917b7f8636..798420ee0137 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
@@ -82,6 +82,7 @@ import android.content.pm.LauncherApps.PinItemRequest;
import android.content.pm.LauncherApps.ShortcutQuery;
import android.content.pm.PackageInfo;
import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
@@ -1227,6 +1228,142 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
});
}
+ public void testShortcutManagerGetShortcuts_shortcutTypes() {
+
+ // Create 3 manifest and 3 dynamic shortcuts
+ addManifestShortcutResource(
+ new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
+ R.xml.shortcut_3);
+ updatePackageVersion(CALLING_PACKAGE_1, 1);
+ mService.mPackageMonitor.onReceive(getTestContext(),
+ genPackageAddIntent(CALLING_PACKAGE_1, USER_0));
+
+ runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+ assertTrue(mManager.setDynamicShortcuts(list(
+ makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
+ });
+
+ // Pin 2 and 3
+ runWithCaller(LAUNCHER_1, USER_0, () -> {
+ mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("ms2", "ms3", "s2", "s3"),
+ HANDLE_USER_0);
+ });
+
+ // Cache 1 and 2
+ setCaller(CALLING_PACKAGE_1);
+ getCallerShortcut("s1").setCached();
+ getCallerShortcut("s2").setCached();
+
+ // Get manifest shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_MANIFEST),
+ "ms1", "ms2", "ms3");
+
+ // Get dynamic shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC),
+ "s1", "s2", "s3");
+
+ // Get pinned shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_PINNED),
+ "ms2", "ms3", "s2", "s3");
+
+ // Get cached shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED),
+ "s1", "s2");
+
+ // Get manifest and dynamic shortcuts
+ assertShortcutIds(mManager.getShortcuts(
+ ShortcutManager.FLAG_MATCH_MANIFEST | ShortcutManager.FLAG_MATCH_DYNAMIC),
+ "ms1", "ms2", "ms3", "s1", "s2", "s3");
+
+ // Get manifest and pinned shortcuts
+ assertShortcutIds(mManager.getShortcuts(
+ ShortcutManager.FLAG_MATCH_MANIFEST | ShortcutManager.FLAG_MATCH_PINNED),
+ "ms1", "ms2", "ms3", "s2", "s3");
+
+ // Get manifest and cached shortcuts
+ assertShortcutIds(mManager.getShortcuts(
+ ShortcutManager.FLAG_MATCH_MANIFEST | ShortcutManager.FLAG_MATCH_CACHED),
+ "ms1", "ms2", "ms3", "s1", "s2");
+
+ // Get dynamic and pinned shortcuts
+ assertShortcutIds(mManager.getShortcuts(
+ ShortcutManager.FLAG_MATCH_DYNAMIC | ShortcutManager.FLAG_MATCH_PINNED),
+ "ms2", "ms3", "s1", "s2", "s3");
+
+ // Get dynamic and cached shortcuts
+ assertShortcutIds(mManager.getShortcuts(
+ ShortcutManager.FLAG_MATCH_DYNAMIC | ShortcutManager.FLAG_MATCH_CACHED),
+ "s1", "s2", "s3");
+
+ // Get pinned and cached shortcuts
+ assertShortcutIds(mManager.getShortcuts(
+ ShortcutManager.FLAG_MATCH_PINNED | ShortcutManager.FLAG_MATCH_CACHED),
+ "ms2", "ms3", "s1", "s2", "s3");
+
+ // Remove a dynamic cached shortcut
+ mManager.removeDynamicShortcuts(list("s1"));
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC), "s2", "s3");
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED), "s1", "s2");
+
+ // Remove a dynamic cached and pinned shortcut
+ mManager.removeDynamicShortcuts(list("s2"));
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC), "s3");
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_PINNED),
+ "ms2", "ms3", "s2", "s3");
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED), "s1", "s2");
+ }
+
+ public void testCachedShortcuts() {
+ runWithCaller(CALLING_PACKAGE_1, USER_0, () -> {
+ assertTrue(mManager.setDynamicShortcuts(list(makeShortcut("s1"), makeShortcut("s2"),
+ makeShortcut("s3"), makeShortcut("s4"))));
+ });
+
+ // Pin s2
+ runWithCaller(LAUNCHER_1, USER_0, () -> {
+ mLauncherApps.pinShortcuts(CALLING_PACKAGE_1, list("s2"),
+ HANDLE_USER_0);
+ });
+
+ // Cache 2, 3 and 4
+ setCaller(CALLING_PACKAGE_1);
+ getCallerShortcut("s2").setCached();
+ getCallerShortcut("s3").setCached();
+ getCallerShortcut("s4").setCached();
+
+ // Get dynamic shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC),
+ "s1", "s2", "s3", "s4");
+ // Get pinned shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_PINNED),
+ "s2");
+ // Get cached shortcuts
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED),
+ "s2", "s3", "s4");
+
+ // Remove a dynamic cached shortcut
+ mManager.removeDynamicShortcuts(list("s3"));
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC),
+ "s1", "s2", "s4");
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED),
+ "s2", "s3", "s4");
+
+ // Remove dynamic cached long lived shortcuts
+ mManager.removeLongLivedShortcuts(list("s3", "s4"));
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC),
+ "s1", "s2");
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED),
+ "s2");
+
+ // Remove a dynamic cached pinned long lived shortcut
+ mManager.removeLongLivedShortcuts(list("s2"));
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_DYNAMIC),
+ "s1");
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED));
+ assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_PINNED),
+ "s2");
+ }
+
// === Test for launcher side APIs ===
public void testGetShortcuts() {
@@ -1366,6 +1503,54 @@ public class ShortcutManagerTest1 extends BaseShortcutManagerTest {
});
// TODO More tests: pinned but dynamic.
+
+ // Cache some shortcuts
+ setCaller(CALLING_PACKAGE_1);
+ getCallerShortcut("s1").setCached();
+
+ setCaller(CALLING_PACKAGE_2);
+ getCallerShortcut("s4").setCached();
+
+ setCaller(CALLING_PACKAGE_3);
+ getCallerShortcut("s3").setCached();
+
+ setCaller(LAUNCHER_1);
+
+ // Cached ones only
+ assertShortcutIds(assertAllNotKeyFieldsOnly(
+ mLauncherApps.getShortcuts(buildQuery(
+ /* time =*/ 0, CALLING_PACKAGE_2,
+ /* activity =*/ null,
+ ShortcutQuery.FLAG_MATCH_CACHED),
+ getCallingUser())),
+ "s4");
+
+ // All packages.
+ assertShortcutIds(assertAllNotKeyFieldsOnly(
+ mLauncherApps.getShortcuts(buildQuery(
+ /* time =*/ 0, /* package= */ null,
+ /* activity =*/ null,
+ ShortcutQuery.FLAG_MATCH_CACHED),
+ getCallingUser())),
+ "s1", "s4", "s3");
+
+ assertExpectException(
+ IllegalArgumentException.class, "package name must also be set", () -> {
+ mLauncherApps.getShortcuts(buildQuery(
+ /* time =*/ 0, /* package= */ null, list("id"),
+ /* activity =*/ null, /* flags */ 0), getCallingUser());
+ });
+
+ // Change Launcher. Cached shortcuts are the same for all launchers.
+ setCaller(LAUNCHER_2);
+ // All packages.
+ assertShortcutIds(assertAllNotKeyFieldsOnly(
+ mLauncherApps.getShortcuts(buildQuery(
+ /* time =*/ 0, /* package= */ null,
+ /* activity =*/ null,
+ ShortcutQuery.FLAG_MATCH_CACHED),
+ getCallingUser())),
+ "s1", "s4", "s3");
}
public void testGetShortcuts_shortcutKinds() throws Exception {
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
index 2469cec5766e..118c540a4131 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
@@ -336,9 +336,6 @@ public final class UserManagerTest {
assertThat(userInfo).isNotNull();
final int userId = userInfo.id;
- UserManager userManagerForUser = (UserManager) mContext.createPackageContextAsUser(
- "android", 0, asHandle(userId)).getSystemService(Context.USER_SERVICE);
-
assertThat(mUserManager.hasBadge(userId)).isEqualTo(userTypeDetails.hasBadge());
assertThat(mUserManager.getUserIconBadgeResId(userId))
.isEqualTo(userTypeDetails.getIconBadge());
@@ -346,17 +343,18 @@ public final class UserManagerTest {
.isEqualTo(userTypeDetails.getBadgePlain());
assertThat(mUserManager.getUserBadgeNoBackgroundResId(userId))
.isEqualTo(userTypeDetails.getBadgeNoBackground());
- assertThat(mUserManager.isUserOfType(asHandle(userId), userTypeDetails.getName()))
- .isTrue();
- assertThat(userManagerForUser.isProfile()).isEqualTo(userTypeDetails.isProfile());
- assertThat(userManagerForUser.isUserOfType(asHandle(userId), userTypeDetails.getName()))
- .isTrue();
final int badgeIndex = userInfo.profileBadge;
assertThat(mUserManager.getUserBadgeColor(userId)).isEqualTo(
Resources.getSystem().getColor(userTypeDetails.getBadgeColor(badgeIndex), null));
assertThat(mUserManager.getBadgedLabelForUser("Test", asHandle(userId))).isEqualTo(
Resources.getSystem().getString(userTypeDetails.getBadgeLabel(badgeIndex), "Test"));
+
+ // Test @UserHandleAware methods
+ final UserManager userManagerForUser = UserManager.get(mContext.createPackageContextAsUser(
+ "android", 0, asHandle(userId)));
+ assertThat(userManagerForUser.isUserOfType(userTypeDetails.getName())).isTrue();
+ assertThat(userManagerForUser.isProfile()).isEqualTo(userTypeDetails.isProfile());
}
// Make sure only max managed profiles can be created
diff --git a/services/tests/servicestests/src/com/android/server/power/WakeLockLogTest.java b/services/tests/servicestests/src/com/android/server/power/WakeLockLogTest.java
new file mode 100644
index 000000000000..a03ba9c5e87e
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/power/WakeLockLogTest.java
@@ -0,0 +1,268 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.power;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.os.Looper;
+import android.os.PowerManager;
+import android.os.test.TestLooper;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.text.SimpleDateFormat;
+import java.util.TimeZone;
+
+/**
+ * Tests for {@link WakeLockLog}.
+ */
+public class WakeLockLogTest {
+
+ private TestLooper mTestLooper;
+
+ @Before
+ public void setUp() throws Exception {
+ mTestLooper = new TestLooper();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void testAddTwoItems() {
+ final int tagDatabaseSize = 128;
+ final int logSize = 20;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired("TagPartial", 101,
+ PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1150L);
+ log.onWakeLockAcquired("TagFull", 102,
+ PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.000 - 101 - ACQ TagPartial (partial,on-after-release)\n"
+ + " 01-01 00:00:01.150 - 102 - ACQ TagFull (full,acq-causes-wake)\n"
+ + " -\n"
+ + " Events: 2, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 6\n",
+ dispatchAndDump(log, false));
+ }
+
+ @Test
+ public void testAddTwoItemsWithTimeReset() {
+ final int tagDatabaseSize = 128;
+ final int logSize = 20;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired("TagPartial", 101, PowerManager.PARTIAL_WAKE_LOCK);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1350L);
+ log.onWakeLockAcquired("TagFull", 102, PowerManager.FULL_WAKE_LOCK);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.000 - 101 - ACQ TagPartial (partial)\n"
+ + " 01-01 00:00:01.350 - 102 - ACQ TagFull (full)\n"
+ + " -\n"
+ + " Events: 2, Time-Resets: 1\n"
+ + " Buffer, Bytes used: 15\n",
+ dispatchAndDump(log, false));
+ }
+
+ @Test
+ public void testAddTwoItemsWithTagOverwrite() {
+ final int tagDatabaseSize = 2;
+ final int logSize = 20;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired("TagPartial", 101, PowerManager.PARTIAL_WAKE_LOCK);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1150L);
+ log.onWakeLockAcquired("TagFull", 102, PowerManager.FULL_WAKE_LOCK);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.000 - --- - ACQ UNKNOWN (partial)\n"
+ + " 01-01 00:00:01.150 - 102 - ACQ TagFull (full)\n"
+ + " -\n"
+ + " Events: 2, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 6\n",
+ dispatchAndDump(log, false));
+ }
+
+ @Test
+ public void testAddFourItemsWithRingBufferOverflow() {
+ final int tagDatabaseSize = 6;
+ final int logSize = 10;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ // This first item will get deleted when ring buffer loops around
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired("TagPartial", 101, PowerManager.PARTIAL_WAKE_LOCK);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1150L);
+ log.onWakeLockAcquired("TagFull", 102, PowerManager.FULL_WAKE_LOCK);
+ when(injectorSpy.currentTimeMillis()).thenReturn(1151L);
+ log.onWakeLockAcquired("TagThree", 101, PowerManager.PARTIAL_WAKE_LOCK);
+ when(injectorSpy.currentTimeMillis()).thenReturn(1152L);
+ log.onWakeLockAcquired("TagFour", 101, PowerManager.PARTIAL_WAKE_LOCK);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.150 - 102 - ACQ TagFull (full)\n"
+ + " 01-01 00:00:01.151 - 101 - ACQ TagThree (partial)\n"
+ + " 01-01 00:00:01.152 - 101 - ACQ TagFour (partial)\n"
+ + " -\n"
+ + " Events: 3, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 9\n",
+ dispatchAndDump(log, false));
+ }
+
+ @Test
+ public void testAddItemWithBadTag() {
+ final int tagDatabaseSize = 6;
+ final int logSize = 10;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ // Bad tag means it wont get written
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired(null /* tag */, 0 /* ownerUid */, PowerManager.PARTIAL_WAKE_LOCK);
+
+ assertEquals("Wake Lock Log\n"
+ + " -\n"
+ + " Events: 0, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 0\n",
+ dispatchAndDump(log, false));
+ }
+
+ @Test
+ public void testAddItemWithReducedTagName() {
+ final int tagDatabaseSize = 6;
+ final int logSize = 10;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired("*job*/com.one.two.3hree/.one..Last", 101,
+ PowerManager.PARTIAL_WAKE_LOCK);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.000 - 101 - ACQ *job*/c.o.t.3/.o..Last (partial)\n"
+ + " -\n"
+ + " Events: 1, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 3\n",
+ dispatchAndDump(log, false));
+ }
+
+ @Test
+ public void testAddAcquireAndReleaseWithRepeatTagName() {
+ final int tagDatabaseSize = 6;
+ final int logSize = 10;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockAcquired("HowdyTag", 101, PowerManager.PARTIAL_WAKE_LOCK);
+ when(injectorSpy.currentTimeMillis()).thenReturn(1001L);
+ log.onWakeLockReleased("HowdyTag", 101);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.000 - 101 - ACQ HowdyTag (partial)\n"
+ + " 01-01 00:00:01.001 - 101 - REL HowdyTag\n"
+ + " -\n"
+ + " Events: 2, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 5\n"
+ + " Tag Database: size(5), entries: 1, Bytes used: 80\n",
+ dispatchAndDump(log, true));
+ }
+
+ @Test
+ public void testAddAcquireAndReleaseWithTimeTravel() {
+ final int tagDatabaseSize = 6;
+ final int logSize = 10;
+ TestInjector injectorSpy = spy(new TestInjector(tagDatabaseSize, logSize));
+ WakeLockLog log = new WakeLockLog(injectorSpy);
+
+ when(injectorSpy.currentTimeMillis()).thenReturn(1100L);
+ log.onWakeLockAcquired("HowdyTag", 101, PowerManager.PARTIAL_WAKE_LOCK);
+
+ // New element goes back in time...should not be written to log.
+ when(injectorSpy.currentTimeMillis()).thenReturn(1000L);
+ log.onWakeLockReleased("HowdyTag", 101);
+
+ assertEquals("Wake Lock Log\n"
+ + " 01-01 00:00:01.100 - 101 - ACQ HowdyTag (partial)\n"
+ + " -\n"
+ + " Events: 1, Time-Resets: 0\n"
+ + " Buffer, Bytes used: 3\n",
+ dispatchAndDump(log, false));
+ }
+
+ private String dispatchAndDump(WakeLockLog log, boolean includeTagDb) {
+ mTestLooper.dispatchAll();
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ log.dump(pw, includeTagDb);
+ return sw.toString();
+ }
+
+ public class TestInjector extends WakeLockLog.Injector {
+ private final int mTagDatabaseSize;
+ private final int mLogSize;
+
+ public TestInjector(int tagDatabaseSize, int logSize) {
+ mTagDatabaseSize = tagDatabaseSize;
+ mLogSize = logSize;
+ }
+
+ @Override
+ public Looper getLooper() {
+ return mTestLooper.getLooper();
+ }
+
+ @Override
+ public int getTagDatabaseSize() {
+ return mTagDatabaseSize;
+ }
+
+ @Override
+ public int getLogSize() {
+ return mLogSize;
+ }
+
+ @Override
+ public SimpleDateFormat getDateFormat() {
+ SimpleDateFormat format = new SimpleDateFormat(super.getDateFormat().toPattern());
+ format.setTimeZone(TimeZone.getTimeZone("UTC"));
+ return format;
+ }
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/rollback/AppDataRollbackHelperTest.java b/services/tests/servicestests/src/com/android/server/rollback/AppDataRollbackHelperTest.java
index f871203728c0..3ceaac207680 100644
--- a/services/tests/servicestests/src/com/android/server/rollback/AppDataRollbackHelperTest.java
+++ b/services/tests/servicestests/src/com/android/server/rollback/AppDataRollbackHelperTest.java
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
+import static org.mockito.MockitoAnnotations.initMocks;
import android.content.pm.VersionedPackage;
import android.content.rollback.PackageRollbackInfo;
@@ -34,12 +35,15 @@ import android.content.rollback.PackageRollbackInfo.RestoreInfo;
import android.util.IntArray;
import android.util.SparseLongArray;
+import com.android.server.pm.ApexManager;
import com.android.server.pm.Installer;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.mockito.InOrder;
+import org.mockito.Mock;
import org.mockito.Mockito;
import java.io.File;
@@ -48,10 +52,17 @@ import java.util.ArrayList;
@RunWith(JUnit4.class)
public class AppDataRollbackHelperTest {
+ @Mock private ApexManager mApexManager;
+
+ @Before
+ public void setUp() {
+ initMocks(this);
+ }
+
@Test
public void testSnapshotAppData() throws Exception {
Installer installer = mock(Installer.class);
- AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer));
+ AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer, mApexManager));
// All users are unlocked so we should snapshot data for them.
doReturn(true).when(helper).isUserCredentialLocked(eq(10));
@@ -114,7 +125,7 @@ public class AppDataRollbackHelperTest {
@Test
public void testRestoreAppDataSnapshot_pendingBackupForUser() throws Exception {
Installer installer = mock(Installer.class);
- AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer));
+ AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer, mApexManager));
PackageRollbackInfo info = createPackageRollbackInfo("com.foo");
IntArray pendingBackups = info.getPendingBackups();
@@ -139,7 +150,7 @@ public class AppDataRollbackHelperTest {
@Test
public void testRestoreAppDataSnapshot_availableBackupForLockedUser() throws Exception {
Installer installer = mock(Installer.class);
- AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer));
+ AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer, mApexManager));
doReturn(true).when(helper).isUserCredentialLocked(eq(10));
PackageRollbackInfo info = createPackageRollbackInfo("com.foo");
@@ -163,7 +174,7 @@ public class AppDataRollbackHelperTest {
@Test
public void testRestoreAppDataSnapshot_availableBackupForUnlockedUser() throws Exception {
Installer installer = mock(Installer.class);
- AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer));
+ AppDataRollbackHelper helper = spy(new AppDataRollbackHelper(installer, mApexManager));
doReturn(false).when(helper).isUserCredentialLocked(eq(10));
PackageRollbackInfo info = createPackageRollbackInfo("com.foo");
@@ -184,7 +195,7 @@ public class AppDataRollbackHelperTest {
@Test
public void destroyAppData() throws Exception {
Installer installer = mock(Installer.class);
- AppDataRollbackHelper helper = new AppDataRollbackHelper(installer);
+ AppDataRollbackHelper helper = new AppDataRollbackHelper(installer, mApexManager);
PackageRollbackInfo info = createPackageRollbackInfo("com.foo.bar");
info.putCeSnapshotInode(11, 239L);
@@ -206,7 +217,7 @@ public class AppDataRollbackHelperTest {
@Test
public void commitPendingBackupAndRestoreForUser() throws Exception {
Installer installer = mock(Installer.class);
- AppDataRollbackHelper helper = new AppDataRollbackHelper(installer);
+ AppDataRollbackHelper helper = new AppDataRollbackHelper(installer, mApexManager);
when(installer.snapshotAppData(anyString(), anyInt(), anyInt(), anyInt())).thenReturn(53L);
diff --git a/services/tests/servicestests/src/com/android/server/rollback/RollbackUnitTest.java b/services/tests/servicestests/src/com/android/server/rollback/RollbackUnitTest.java
index 164c88382828..9719509659ec 100644
--- a/services/tests/servicestests/src/com/android/server/rollback/RollbackUnitTest.java
+++ b/services/tests/servicestests/src/com/android/server/rollback/RollbackUnitTest.java
@@ -291,6 +291,17 @@ public class RollbackUnitTest {
verify(mMockDataHelper).restoreAppData(123, pkgInfo1, 7, 333, "blah");
}
+ @Test
+ public void notifySessionWithSuccess() {
+ int[] sessionIds = new int[]{ 7777, 8888 };
+ Rollback rollback = new Rollback(123, new File("/test/testing"), -1, USER, INSTALLER,
+ sessionIds);
+ // The 1st invocation returns false because not all child sessions are notified.
+ assertThat(rollback.notifySessionWithSuccess()).isFalse();
+ // The 2nd invocation returns true because now all child sessions are notified.
+ assertThat(rollback.notifySessionWithSuccess()).isTrue();
+ }
+
private static PackageRollbackInfo newPkgInfoFor(
String packageName, long fromVersion, long toVersion, boolean isApex) {
return new PackageRollbackInfo(new VersionedPackage(packageName, fromVersion),
diff --git a/services/tests/servicestests/src/com/android/server/rollback/WatchdogRollbackLoggerTest.java b/services/tests/servicestests/src/com/android/server/rollback/WatchdogRollbackLoggerTest.java
new file mode 100644
index 000000000000..ba493d4f9646
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/rollback/WatchdogRollbackLoggerTest.java
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.rollback;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageInstaller;
+import android.content.pm.PackageManager;
+import android.content.pm.VersionedPackage;
+import android.os.Bundle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class WatchdogRollbackLoggerTest {
+
+ private static final VersionedPackage sTestPackageV1 = new VersionedPackage("test.package", 1);
+ private Context mMockContext = mock(Context.class);
+ private PackageManager mMockPm;
+ private ApplicationInfo mApplicationInfo;
+ private PackageInfo mPackageInfo;
+
+ private static final String LOGGING_PARENT_KEY = "android.content.pm.LOGGING_PARENT";
+
+ @Before
+ public void setUp() {
+ mApplicationInfo = new ApplicationInfo();
+ mMockPm = mock(PackageManager.class);
+ when(mMockContext.getPackageManager()).thenReturn(mMockPm);
+ PackageInstaller mockPi = mock(PackageInstaller.class);
+ when(mMockPm.getPackageInstaller()).thenReturn(mockPi);
+ PackageInstaller.SessionInfo mockSessionInfo = mock(PackageInstaller.SessionInfo.class);
+ when(mockPi.getSessionInfo(anyInt())).thenReturn(mockSessionInfo);
+ mPackageInfo = new PackageInfo();
+ }
+
+ /**
+ * Ensures that null is returned if the application info has no metadata.
+ */
+ @Test
+ public void testLogPackageHasNoMetadata() throws Exception {
+ when(mMockPm.getApplicationInfo(anyString(), anyInt())).thenReturn(mApplicationInfo);
+ VersionedPackage logPackage = WatchdogRollbackLogger.getLogPackage(mMockContext,
+ sTestPackageV1);
+ assertThat(logPackage).isNull();
+ }
+
+ /**
+ * Ensures that null is returned if the application info does not contain a logging
+ * parent key.
+ */
+ @Test
+ public void testLogPackageParentKeyIsNull() throws Exception {
+ when(mMockPm.getApplicationInfo(anyString(), anyInt())).thenReturn(mApplicationInfo);
+ Bundle bundle = new Bundle();
+ bundle.putString(LOGGING_PARENT_KEY, null);
+ VersionedPackage logPackage = WatchdogRollbackLogger.getLogPackage(mMockContext,
+ sTestPackageV1);
+ assertThat(logPackage).isNull();
+ }
+
+ /**
+ * Ensures that the logging parent is returned as the logging package, if it exists.
+ */
+ @Test
+ public void testLogPackageHasParentKey() throws Exception {
+ Bundle bundle = new Bundle();
+ bundle.putString(LOGGING_PARENT_KEY, "logging.parent");
+ mApplicationInfo.metaData = bundle;
+ mPackageInfo.setLongVersionCode(12345L);
+ when(mMockPm.getApplicationInfo(anyString(), anyInt())).thenReturn(mApplicationInfo);
+ when(mMockPm.getPackageInfo(anyString(), anyInt())).thenReturn(mPackageInfo);
+ VersionedPackage logPackage = WatchdogRollbackLogger.getLogPackage(mMockContext,
+ sTestPackageV1);
+ VersionedPackage expectedLogPackage = new VersionedPackage("logging.parent", 12345);
+ assertThat(logPackage).isEqualTo(expectedLogPackage);
+ }
+
+ /**
+ * Ensures that null is returned if Package Manager does not know about the logging parent.
+ */
+ @Test
+ public void testLogPackageNameNotFound() throws Exception {
+ Bundle bundle = new Bundle();
+ bundle.putString("android.content.pm.LOGGING_PARENT", "logging.parent");
+ mApplicationInfo.metaData = bundle;
+ when(mMockPm.getPackageInfo(anyString(), anyInt())).thenThrow(
+ new PackageManager.NameNotFoundException());
+ VersionedPackage logPackage = WatchdogRollbackLogger.getLogPackage(mMockContext,
+ sTestPackageV1);
+ assertThat(logPackage).isNull();
+ }
+}
diff --git a/services/tests/servicestests/src/com/android/server/utils/TraceBufferTest.java b/services/tests/servicestests/src/com/android/server/utils/TraceBufferTest.java
index 09b75e71d946..0e50f2a1b6ad 100644
--- a/services/tests/servicestests/src/com/android/server/utils/TraceBufferTest.java
+++ b/services/tests/servicestests/src/com/android/server/utils/TraceBufferTest.java
@@ -30,6 +30,7 @@ import android.util.proto.ProtoOutputStream;
import androidx.test.filters.SmallTest;
import com.android.internal.util.Preconditions;
+import com.android.internal.util.TraceBuffer;
import org.junit.After;
import org.junit.Before;
diff --git a/core/java/com/android/internal/logging/testing/InstanceIdSequenceFake.java b/services/tests/uiservicestests/src/com/android/internal/logging/InstanceIdSequenceFake.java
index 0fd40b9ceb06..1629ef00b65a 100644
--- a/core/java/com/android/internal/logging/testing/InstanceIdSequenceFake.java
+++ b/services/tests/uiservicestests/src/com/android/internal/logging/InstanceIdSequenceFake.java
@@ -14,12 +14,7 @@
* limitations under the License.
*/
-package com.android.internal.logging.testing;
-
-import android.annotation.SuppressLint;
-
-import com.android.internal.logging.InstanceId;
-import com.android.internal.logging.InstanceIdSequence;
+package com.android.internal.logging;
/**
* A fake implementation of InstanceIdSequence that returns 0, 1, 2, ...
@@ -30,27 +25,15 @@ public class InstanceIdSequenceFake extends InstanceIdSequence {
super(instanceIdMax);
}
- /**
- * Extend InstanceId to add a constructor we can call, strictly for testing purposes.
- * Public so that tests can check whether the InstanceIds they see are fake.
- */
- public static class InstanceIdFake extends InstanceId {
- @SuppressLint("VisibleForTests") // This is test infrastructure, which ought to count
- InstanceIdFake(int id) {
- super(id);
- }
- }
-
private int mNextId = 0;
@Override
public InstanceId newInstanceId() {
synchronized (this) {
- ++mNextId;
if (mNextId >= mInstanceIdMax) {
mNextId = 0;
}
- return new InstanceIdFake(mNextId);
+ return newInstanceIdInternal(mNextId++);
}
}
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java b/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java
index 651ad40a4781..f029bc80480a 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java
@@ -72,6 +72,8 @@ import android.view.accessibility.IAccessibilityManagerClient;
import androidx.test.runner.AndroidJUnit4;
+import com.android.internal.logging.InstanceIdSequence;
+import com.android.internal.logging.InstanceIdSequenceFake;
import com.android.internal.util.IntPair;
import com.android.server.UiServiceTestCase;
import com.android.server.lights.LogicalLight;
@@ -99,6 +101,8 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
@Mock
IAccessibilityManager mAccessibilityService;
NotificationRecordLoggerFake mNotificationRecordLogger = new NotificationRecordLoggerFake();
+ private InstanceIdSequence mNotificationInstanceIdSequence = new InstanceIdSequenceFake(
+ 1 << 30);
private NotificationManagerService mService;
private String mPkg = "com.android.server.notification";
@@ -149,7 +153,8 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
verify(mAccessibilityService).addClient(any(IAccessibilityManagerClient.class), anyInt());
assertTrue(accessibilityManager.isEnabled());
- mService = spy(new NotificationManagerService(getContext(), mNotificationRecordLogger));
+ mService = spy(new NotificationManagerService(getContext(), mNotificationRecordLogger,
+ mNotificationInstanceIdSequence));
mService.setAudioManager(mAudioManager);
mService.setVibrator(mVibrator);
mService.setSystemReady(true);
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index 1b92abef7c94..2cf5eaefcc58 100755
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -148,6 +148,8 @@ import androidx.test.InstrumentationRegistry;
import com.android.internal.R;
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
+import com.android.internal.logging.InstanceIdSequence;
+import com.android.internal.logging.InstanceIdSequenceFake;
import com.android.internal.statusbar.NotificationVisibility;
import com.android.internal.util.FastXmlSerializer;
import com.android.server.LocalServices;
@@ -257,7 +259,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
@Mock
NotificationHistoryManager mHistoryManager;
NotificationRecordLoggerFake mNotificationRecordLogger = new NotificationRecordLoggerFake();
-
+ private InstanceIdSequence mNotificationInstanceIdSequence = new InstanceIdSequenceFake(
+ 1 << 30);
// Use a Testable subclass so we can simulate calls from the system without failing.
private static class TestableNotificationManagerService extends NotificationManagerService {
@@ -267,8 +270,9 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
@Nullable
NotificationAssistantAccessGrantedCallback mNotificationAssistantAccessGrantedCallback;
- TestableNotificationManagerService(Context context, NotificationRecordLogger logger) {
- super(context, logger);
+ TestableNotificationManagerService(Context context, NotificationRecordLogger logger,
+ InstanceIdSequence notificationInstanceIdSequence) {
+ super(context, logger, notificationInstanceIdSequence);
}
@Override
@@ -355,7 +359,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
doNothing().when(mContext).sendBroadcastAsUser(any(), any(), any());
- mService = new TestableNotificationManagerService(mContext, mNotificationRecordLogger);
+ mService = new TestableNotificationManagerService(mContext, mNotificationRecordLogger,
+ mNotificationInstanceIdSequence);
// Use this testable looper.
mTestableLooper = TestableLooper.get(this);
@@ -1135,6 +1140,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
assertEquals(PKG, call.r.sbn.getPackageName());
assertEquals(0, call.r.sbn.getId());
assertEquals(tag, call.r.sbn.getTag());
+ assertNotNull(call.r.sbn.getInstanceId());
+ assertEquals(0, call.r.sbn.getInstanceId().getId());
}
@Test
@@ -1151,14 +1158,19 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mBinderService.enqueueNotificationWithTag(PKG, PKG, tag, 0, update, 0);
waitForIdle();
assertEquals(2, mNotificationRecordLogger.getCalls().size());
+
assertTrue(mNotificationRecordLogger.get(0).shouldLog());
assertEquals(
NotificationRecordLogger.NotificationReportedEvents.NOTIFICATION_POSTED,
mNotificationRecordLogger.get(0).getUiEvent());
+ assertEquals(0, mNotificationRecordLogger.get(0).r.sbn.getInstanceId().getId());
+
+ assertTrue(mNotificationRecordLogger.get(1).shouldLog());
assertEquals(
NotificationRecordLogger.NotificationReportedEvents.NOTIFICATION_UPDATED,
mNotificationRecordLogger.get(1).getUiEvent());
- assertTrue(mNotificationRecordLogger.get(1).shouldLog());
+ // Instance ID doesn't change on update of an active notification
+ assertEquals(0, mNotificationRecordLogger.get(1).r.sbn.getInstanceId().getId());
}
@Test
@@ -1175,6 +1187,34 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
@Test
+ public void testEnqueueNotificationWithTag_LogsAgainAfterCancel() throws Exception {
+ final String tag = "testEnqueueNotificationWithTag_LogsAgainAfterCancel";
+ Notification notification = new Notification.Builder(mContext,
+ mTestNotificationChannel.getId())
+ .setSmallIcon(android.R.drawable.sym_def_app_icon).build();
+ mBinderService.enqueueNotificationWithTag(PKG, PKG, tag, 0, notification, 0);
+ waitForIdle();
+ mBinderService.cancelNotificationWithTag(PKG, PKG, tag, 0, 0);
+ waitForIdle();
+ mBinderService.enqueueNotificationWithTag(PKG, PKG, tag, 0, notification, 0);
+ waitForIdle();
+ assertEquals(2, mNotificationRecordLogger.getCalls().size());
+
+ assertTrue(mNotificationRecordLogger.get(0).shouldLog());
+ assertEquals(
+ NotificationRecordLogger.NotificationReportedEvents.NOTIFICATION_POSTED,
+ mNotificationRecordLogger.get(0).getUiEvent());
+ assertEquals(0, mNotificationRecordLogger.get(0).r.sbn.getInstanceId().getId());
+
+ assertTrue(mNotificationRecordLogger.get(1).shouldLog());
+ assertEquals(
+ NotificationRecordLogger.NotificationReportedEvents.NOTIFICATION_POSTED,
+ mNotificationRecordLogger.get(1).getUiEvent());
+ // New instance ID because notification was canceled before re-post
+ assertEquals(1, mNotificationRecordLogger.get(1).r.sbn.getInstanceId().getId());
+ }
+
+ @Test
public void testCancelNotificationImmediatelyAfterEnqueue() throws Exception {
mBinderService.enqueueNotificationWithTag(PKG, PKG,
"testCancelNotificationImmediatelyAfterEnqueue", 0,
@@ -2309,7 +2349,8 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
@Test
public void testHasCompanionDevice_noService() {
- mService = new TestableNotificationManagerService(mContext, mNotificationRecordLogger);
+ mService = new TestableNotificationManagerService(mContext, mNotificationRecordLogger,
+ mNotificationInstanceIdSequence);
assertFalse(mService.hasCompanionDevice(mListener));
}
@@ -4679,8 +4720,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
// cross user, with permission, no problem
- TestablePermissions perms = mContext.getTestablePermissions();
- perms.setPermission(android.Manifest.permission.INTERACT_ACROSS_USERS, PERMISSION_GRANTED);
+ enableInteractAcrossUsers();
mBinderService.canNotifyAsPackage("src", "target", mContext.getUserId() + 1);
}
@@ -4698,8 +4738,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
// cross user, with permission, no problem
- TestablePermissions perms = mContext.getTestablePermissions();
- perms.setPermission(android.Manifest.permission.INTERACT_ACROSS_USERS, PERMISSION_GRANTED);
+ enableInteractAcrossUsers();
mBinderService.getNotificationChannels("src", "target", mContext.getUserId() + 1);
}
@@ -5317,8 +5356,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
// cross user, with permission, no problem
- TestablePermissions perms = mContext.getTestablePermissions();
- perms.setPermission(android.Manifest.permission.INTERACT_ACROSS_USERS, PERMISSION_GRANTED);
+ enableInteractAcrossUsers();
mBinderService.areNotificationsEnabledForPackage(mContext.getPackageName(),
mUid + UserHandle.PER_USER_RANGE);
}
@@ -5334,12 +5372,16 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
// cross user, with permission, no problem
- TestablePermissions perms = mContext.getTestablePermissions();
- perms.setPermission(android.Manifest.permission.INTERACT_ACROSS_USERS, PERMISSION_GRANTED);
+ enableInteractAcrossUsers();
mBinderService.areBubblesAllowedForPackage(mContext.getPackageName(),
mUid + UserHandle.PER_USER_RANGE);
}
+ private void enableInteractAcrossUsers() {
+ TestablePermissions perms = mContext.getTestablePermissions();
+ perms.setPermission(android.Manifest.permission.INTERACT_ACROSS_USERS, PERMISSION_GRANTED);
+ }
+
@Test
public void testNotificationBubbleChanged_false() throws Exception {
// Bubbles are allowed!
@@ -5438,6 +5480,46 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
}
@Test
+ public void testOnBubbleNotificationSuppressionChanged() throws Exception {
+ // Bubble notification
+ NotificationRecord nr = generateMessageBubbleNotifRecord(mTestNotificationChannel, "tag");
+
+ // Bubbles are allowed!
+ setUpPrefsForBubbles(PKG, nr.sbn.getUserId(), true /* global */,
+ true /* app */, true /* channel */);
+
+ mBinderService.enqueueNotificationWithTag(PKG, PKG, nr.sbn.getTag(),
+ nr.sbn.getId(), nr.sbn.getNotification(), nr.sbn.getUserId());
+ waitForIdle();
+
+ // NOT suppressed
+ Notification n = mBinderService.getActiveNotifications(PKG)[0].getNotification();
+ assertFalse(n.getBubbleMetadata().isNotificationSuppressed());
+
+ // Reset as this is called when the notif is first sent
+ reset(mListeners);
+
+ // Test: update suppression to true
+ mService.mNotificationDelegate.onBubbleNotificationSuppressionChanged(nr.getKey(), true);
+ waitForIdle();
+
+ // Check
+ n = mBinderService.getActiveNotifications(PKG)[0].getNotification();
+ assertTrue(n.getBubbleMetadata().isNotificationSuppressed());
+
+ // Reset to check again
+ reset(mListeners);
+
+ // Test: update suppression to false
+ mService.mNotificationDelegate.onBubbleNotificationSuppressionChanged(nr.getKey(), false);
+ waitForIdle();
+
+ // Check
+ n = mBinderService.getActiveNotifications(PKG)[0].getNotification();
+ assertFalse(n.getBubbleMetadata().isNotificationSuppressed());
+ }
+
+ @Test
public void testGrantInlineReplyUriPermission_recordExists() throws Exception {
NotificationRecord nr = generateNotificationRecord(mTestNotificationChannel, 0);
mBinderService.enqueueNotificationWithTag(PKG, PKG, "tag",
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordLoggerFake.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordLoggerFake.java
index 11972fd6a8dc..5c1487f0fdf6 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordLoggerFake.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordLoggerFake.java
@@ -23,7 +23,7 @@ import java.util.List;
* Fake implementation of NotificationRecordLogger, for testing.
*/
class NotificationRecordLoggerFake implements NotificationRecordLogger {
- class CallRecord extends NotificationRecordPair {
+ static class CallRecord extends NotificationRecordPair {
public int position, buzzBeepBlink;
CallRecord(NotificationRecord r, NotificationRecord old, int position,
int buzzBeepBlink) {
@@ -35,7 +35,7 @@ class NotificationRecordLoggerFake implements NotificationRecordLogger {
return shouldLog(buzzBeepBlink);
}
}
- List<CallRecord> mCalls = new ArrayList<CallRecord>();
+ private List<CallRecord> mCalls = new ArrayList<CallRecord>();
List<CallRecord> getCalls() {
return mCalls;
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/RoleObserverTest.java b/services/tests/uiservicestests/src/com/android/server/notification/RoleObserverTest.java
index e18c8919b645..64a980484539 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/RoleObserverTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/RoleObserverTest.java
@@ -54,6 +54,8 @@ import android.util.ArraySet;
import android.util.AtomicFile;
import android.util.Pair;
+import com.android.internal.logging.InstanceIdSequence;
+import com.android.internal.logging.InstanceIdSequenceFake;
import com.android.server.LocalServices;
import com.android.server.UiServiceTestCase;
import com.android.server.lights.LightsManager;
@@ -92,12 +94,15 @@ public class RoleObserverTest extends UiServiceTestCase {
@Mock
private RoleManager mRoleManager;
NotificationRecordLoggerFake mNotificationRecordLogger = new NotificationRecordLoggerFake();
-
+ private InstanceIdSequence mNotificationInstanceIdSequence = new InstanceIdSequenceFake(
+ 1 << 30);
private List<UserInfo> mUsers;
private static class TestableNotificationManagerService extends NotificationManagerService {
- TestableNotificationManagerService(Context context, NotificationRecordLogger logger) {
- super(context, logger);
+ TestableNotificationManagerService(Context context,
+ NotificationRecordLogger logger,
+ InstanceIdSequence notificationInstanceIdSequence) {
+ super(context, logger, notificationInstanceIdSequence);
}
@Override
@@ -120,7 +125,8 @@ public class RoleObserverTest extends UiServiceTestCase {
mUsers.add(new UserInfo(10, "second", 0));
when(mUm.getUsers()).thenReturn(mUsers);
- mService = new TestableNotificationManagerService(mContext, mNotificationRecordLogger);
+ mService = new TestableNotificationManagerService(mContext, mNotificationRecordLogger,
+ mNotificationInstanceIdSequence);
mRoleObserver = mService.new RoleObserver(mRoleManager, mPm, mExecutor);
try {
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
index 0fc2bc510d05..bab877e6c26f 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
@@ -1008,4 +1008,18 @@ public class ActivityStarterTests extends ActivityTestsBase {
.setOutActivity(outActivity).execute();
assertThat(outActivity[0].inSplitScreenSecondaryWindowingMode()).isTrue();
}
+
+ @Test
+ public void testActivityStart_expectAddedToRecentTask() {
+ RecentTasks recentTasks = mock(RecentTasks.class);
+ mService.mStackSupervisor.setRecentTasks(recentTasks);
+ doReturn(true).when(recentTasks).isCallerRecents(anyInt());
+
+ final ActivityStarter starter = prepareStarter(0 /* flags */);
+
+ starter.setReason("testAddToTaskListOnActivityStart")
+ .execute();
+
+ verify(recentTasks, times(1)).add(any());
+ }
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java
index d22502db69e4..4532400e3b34 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java
@@ -16,9 +16,6 @@
package com.android.server.wm;
-import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
-import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
-
import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
@@ -27,17 +24,14 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSess
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
import android.app.Activity;
-import android.app.ActivityManager;
import android.app.PictureInPictureParams;
import android.app.servertransaction.ClientTransaction;
import android.app.servertransaction.EnterPipRequestedItem;
@@ -46,7 +40,6 @@ import android.graphics.Rect;
import android.os.IBinder;
import android.os.RemoteException;
import android.view.IDisplayWindowListener;
-import android.view.WindowContainerTransaction;
import androidx.test.filters.MediumTest;
@@ -126,47 +119,6 @@ public class ActivityTaskManagerServiceTests extends ActivityTestsBase {
}
@Test
- public void testTaskTransaction() {
- removeGlobalMinSizeRestriction();
- final ActivityStack stack = new StackBuilder(mRootWindowContainer)
- .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
- final Task task = stack.getTopMostTask();
- WindowContainerTransaction t = new WindowContainerTransaction();
- Rect newBounds = new Rect(10, 10, 100, 100);
- t.setBounds(task.mRemoteToken, new Rect(10, 10, 100, 100));
- mService.applyContainerTransaction(t);
- assertEquals(newBounds, task.getBounds());
- }
-
- @Test
- public void testStackTransaction() {
- removeGlobalMinSizeRestriction();
- final ActivityStack stack = new StackBuilder(mRootWindowContainer)
- .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
- ActivityManager.StackInfo info =
- mService.getStackInfo(WINDOWING_MODE_FREEFORM, ACTIVITY_TYPE_STANDARD);
- WindowContainerTransaction t = new WindowContainerTransaction();
- assertEquals(stack.mRemoteToken, info.stackToken);
- Rect newBounds = new Rect(10, 10, 100, 100);
- t.setBounds(info.stackToken, new Rect(10, 10, 100, 100));
- mService.applyContainerTransaction(t);
- assertEquals(newBounds, stack.getBounds());
- }
-
- @Test
- public void testContainerChanges() {
- removeGlobalMinSizeRestriction();
- final ActivityStack stack = new StackBuilder(mRootWindowContainer)
- .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
- final Task task = stack.getTopMostTask();
- WindowContainerTransaction t = new WindowContainerTransaction();
- assertTrue(task.isFocusable());
- t.setFocusable(stack.mRemoteToken, false);
- mService.applyContainerTransaction(t);
- assertFalse(task.isFocusable());
- }
-
- @Test
public void testDisplayWindowListener() {
final ArrayList<Integer> added = new ArrayList<>();
final ArrayList<Integer> changed = new ArrayList<>();
diff --git a/services/tests/wmtests/src/com/android/server/wm/AnimatingActivityRegistryTest.java b/services/tests/wmtests/src/com/android/server/wm/AnimatingActivityRegistryTest.java
index 71390dbbe4a3..0f5489575ee0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AnimatingActivityRegistryTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AnimatingActivityRegistryTest.java
@@ -21,6 +21,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verifyZeroInteractions;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
import static org.junit.Assert.assertFalse;
@@ -69,8 +70,10 @@ public class AnimatingActivityRegistryTest extends WindowTestsBase {
final AnimatingActivityRegistry registry =
activity1.getStack().getAnimatingActivityRegistry();
- activity1.startAnimation(activity1.getPendingTransaction(), mAdapter, false /* hidden */);
- activity2.startAnimation(activity1.getPendingTransaction(), mAdapter, false /* hidden */);
+ activity1.startAnimation(activity1.getPendingTransaction(), mAdapter, false /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
+ activity2.startAnimation(activity1.getPendingTransaction(), mAdapter, false /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
assertTrue(activity1.isAnimating(TRANSITION));
assertTrue(activity2.isAnimating(TRANSITION));
@@ -91,8 +94,10 @@ public class AnimatingActivityRegistryTest extends WindowTestsBase {
final AnimatingActivityRegistry registry =
window1.getStack().getAnimatingActivityRegistry();
- window1.startAnimation(window1.getPendingTransaction(), mAdapter, false /* hidden */);
- window2.startAnimation(window1.getPendingTransaction(), mAdapter, false /* hidden */);
+ window1.startAnimation(window1.getPendingTransaction(), mAdapter, false /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
+ window2.startAnimation(window1.getPendingTransaction(), mAdapter, false /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
assertTrue(window1.isAnimating(TRANSITION));
assertTrue(window2.isAnimating(TRANSITION));
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
index b0f3b42271de..6e78a271458a 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
@@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.google.common.truth.Truth.assertThat;
@@ -70,7 +71,8 @@ public class AppWindowTokenAnimationTests extends WindowTestsBase {
public void clipAfterAnim_boundsLayerIsCreated() {
mActivity.mNeedsAnimationBoundsLayer = true;
- mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
verify(mTransaction).reparent(eq(mActivity.getSurfaceControl()),
eq(mActivity.mSurfaceAnimator.mLeash));
verify(mTransaction).reparent(eq(mActivity.mSurfaceAnimator.mLeash),
@@ -82,7 +84,8 @@ public class AppWindowTokenAnimationTests extends WindowTestsBase {
mActivity.mNeedsAnimationBoundsLayer = true;
mActivity.mNeedsZBoost = true;
- mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
verify(mTransaction).setLayer(eq(mActivity.mAnimationBoundsLayer),
intThat(layer -> layer >= ActivityRecord.Z_BOOST_BASE));
}
@@ -91,15 +94,18 @@ public class AppWindowTokenAnimationTests extends WindowTestsBase {
@FlakyTest(bugId = 131005232)
public void clipAfterAnim_boundsLayerIsDestroyed() {
mActivity.mNeedsAnimationBoundsLayer = true;
- mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
final SurfaceControl leash = mActivity.mSurfaceAnimator.mLeash;
final SurfaceControl animationBoundsLayer = mActivity.mAnimationBoundsLayer;
final ArgumentCaptor<SurfaceAnimator.OnAnimationFinishedCallback> callbackCaptor =
ArgumentCaptor.forClass(
SurfaceAnimator.OnAnimationFinishedCallback.class);
- verify(mSpec).startAnimation(any(), any(), callbackCaptor.capture());
+ verify(mSpec).startAnimation(any(), any(), eq(ANIMATION_TYPE_APP_TRANSITION),
+ callbackCaptor.capture());
- callbackCaptor.getValue().onAnimationFinished(mSpec);
+ callbackCaptor.getValue().onAnimationFinished(
+ ANIMATION_TYPE_APP_TRANSITION, mSpec);
verify(mTransaction).remove(eq(leash));
verify(mTransaction).remove(eq(animationBoundsLayer));
assertThat(mActivity.mNeedsAnimationBoundsLayer).isFalse();
@@ -108,7 +114,8 @@ public class AppWindowTokenAnimationTests extends WindowTestsBase {
@Test
public void clipAfterAnimCancelled_boundsLayerIsDestroyed() {
mActivity.mNeedsAnimationBoundsLayer = true;
- mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
final SurfaceControl leash = mActivity.mSurfaceAnimator.mLeash;
final SurfaceControl animationBoundsLayer = mActivity.mAnimationBoundsLayer;
@@ -123,7 +130,8 @@ public class AppWindowTokenAnimationTests extends WindowTestsBase {
public void clipNoneAnim_boundsLayerIsNotCreated() {
mActivity.mNeedsAnimationBoundsLayer = false;
- mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mActivity.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
verify(mTransaction).reparent(eq(mActivity.getSurfaceControl()),
eq(mActivity.mSurfaceAnimator.mLeash));
assertThat(mActivity.mAnimationBoundsLayer).isNull();
diff --git a/services/tests/wmtests/src/com/android/server/wm/DimmerTests.java b/services/tests/wmtests/src/com/android/server/wm/DimmerTests.java
index 7344fa42016c..77ceeedae1ac 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DimmerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DimmerTests.java
@@ -22,11 +22,13 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.reset;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_DIMMER;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.when;
@@ -37,6 +39,9 @@ import android.platform.test.annotations.Presubmit;
import android.view.SurfaceControl;
import android.view.SurfaceSession;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
+import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -114,11 +119,11 @@ public class DimmerTests extends WindowTestsBase {
private static class SurfaceAnimatorStarterImpl implements Dimmer.SurfaceAnimatorStarter {
@Override
public void startAnimation(SurfaceAnimator surfaceAnimator, SurfaceControl.Transaction t,
- AnimationAdapter anim, boolean hidden,
- @Nullable Runnable animationFinishedCallback) {
- surfaceAnimator.mStaticAnimationFinishedCallback.run();
+ AnimationAdapter anim, boolean hidden, @AnimationType int type,
+ @Nullable OnAnimationFinishedCallback animationFinishedCallback) {
+ surfaceAnimator.mStaticAnimationFinishedCallback.onAnimationFinished(type, anim);
if (animationFinishedCallback != null) {
- animationFinishedCallback.run();
+ animationFinishedCallback.onAnimationFinished(type, anim);
}
}
}
@@ -224,7 +229,7 @@ public class DimmerTests extends WindowTestsBase {
mDimmer.updateDims(mTransaction, new Rect());
verify(mSurfaceAnimatorStarter).startAnimation(any(SurfaceAnimator.class), any(
SurfaceControl.Transaction.class), any(AnimationAdapter.class), anyBoolean(),
- isNull());
+ eq(ANIMATION_TYPE_DIMMER), isNull());
verify(mHost.getPendingTransaction()).remove(dimLayer);
}
@@ -282,7 +287,7 @@ public class DimmerTests extends WindowTestsBase {
mDimmer.updateDims(mTransaction, new Rect());
verify(mSurfaceAnimatorStarter, never()).startAnimation(any(SurfaceAnimator.class), any(
SurfaceControl.Transaction.class), any(AnimationAdapter.class), anyBoolean(),
- isNull());
+ eq(ANIMATION_TYPE_DIMMER), isNull());
verify(mTransaction).remove(dimLayer);
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java b/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java
new file mode 100644
index 000000000000..618e6086b582
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayAreaTest.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm;
+
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
+import static android.view.WindowManager.LayoutParams.TYPE_PRESENTATION;
+import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
+
+import static com.android.server.wm.DisplayArea.Type.ABOVE_TASKS;
+import static com.android.server.wm.DisplayArea.Type.ANY;
+import static com.android.server.wm.DisplayArea.Type.BELOW_TASKS;
+import static com.android.server.wm.DisplayArea.Type.checkChild;
+import static com.android.server.wm.DisplayArea.Type.checkSiblings;
+import static com.android.server.wm.DisplayArea.Type.typeOf;
+import static com.android.server.wm.testing.Assert.assertThrows;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+
+import android.os.Binder;
+import android.platform.test.annotations.Presubmit;
+import android.view.SurfaceControl;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+@Presubmit
+public class DisplayAreaTest {
+
+ @Rule
+ public SystemServicesTestRule mWmsRule = new SystemServicesTestRule();
+
+ @Test
+ public void testDisplayArea_positionChanged_throwsIfIncompatibleChild() {
+ WindowManagerService wms = mWmsRule.getWindowManagerService();
+ DisplayArea<WindowContainer> parent = new DisplayArea<>(wms, BELOW_TASKS, "Parent");
+ DisplayArea<WindowContainer> child = new DisplayArea<>(wms, ANY, "Child");
+
+ assertThrows(IllegalStateException.class, () -> parent.addChild(child, 0));
+ }
+
+ @Test
+ public void testDisplayArea_positionChanged_throwsIfIncompatibleSibling() {
+ WindowManagerService wms = mWmsRule.getWindowManagerService();
+ DisplayArea<WindowContainer> parent = new SurfacelessDisplayArea<>(wms, ANY, "Parent");
+ DisplayArea<WindowContainer> child1 = new DisplayArea<>(wms, ANY, "Child1");
+ DisplayArea<WindowContainer> child2 = new DisplayArea<>(wms, ANY, "Child2");
+
+ parent.addChild(child1, 0);
+ assertThrows(IllegalStateException.class, () -> parent.addChild(child2, 0));
+ }
+
+ @Test
+ public void testType_typeOf() {
+ WindowManagerService wms = mWmsRule.getWindowManagerService();
+
+ assertEquals(ABOVE_TASKS, typeOf(new DisplayArea<>(wms, ABOVE_TASKS, "test")));
+ assertEquals(ANY, typeOf(new DisplayArea<>(wms, ANY, "test")));
+ assertEquals(BELOW_TASKS, typeOf(new DisplayArea<>(wms, BELOW_TASKS, "test")));
+
+ assertEquals(ABOVE_TASKS, typeOf(createWindowToken(TYPE_APPLICATION_OVERLAY)));
+ assertEquals(ABOVE_TASKS, typeOf(createWindowToken(TYPE_PRESENTATION)));
+ assertEquals(BELOW_TASKS, typeOf(createWindowToken(TYPE_WALLPAPER)));
+
+ assertThrows(IllegalArgumentException.class, () -> typeOf(mock(ActivityRecord.class)));
+ assertThrows(IllegalArgumentException.class, () -> typeOf(mock(WindowContainer.class)));
+ }
+
+ @Test
+ public void testType_checkSiblings() {
+ checkSiblings(BELOW_TASKS, BELOW_TASKS);
+ checkSiblings(BELOW_TASKS, ANY);
+ checkSiblings(BELOW_TASKS, ABOVE_TASKS);
+ checkSiblings(ANY, ABOVE_TASKS);
+ checkSiblings(ABOVE_TASKS, ABOVE_TASKS);
+
+ assertThrows(IllegalStateException.class, () -> checkSiblings(ABOVE_TASKS, BELOW_TASKS));
+ assertThrows(IllegalStateException.class, () -> checkSiblings(ABOVE_TASKS, ANY));
+ assertThrows(IllegalStateException.class, () -> checkSiblings(ANY, ANY));
+ assertThrows(IllegalStateException.class, () -> checkSiblings(ANY, BELOW_TASKS));
+ }
+
+ @Test
+ public void testType_checkChild() {
+ checkChild(ANY, ANY);
+ checkChild(ANY, ABOVE_TASKS);
+ checkChild(ANY, BELOW_TASKS);
+ checkChild(ABOVE_TASKS, ABOVE_TASKS);
+ checkChild(BELOW_TASKS, BELOW_TASKS);
+
+ assertThrows(IllegalStateException.class, () -> checkChild(ABOVE_TASKS, BELOW_TASKS));
+ assertThrows(IllegalStateException.class, () -> checkChild(ABOVE_TASKS, ANY));
+ assertThrows(IllegalStateException.class, () -> checkChild(BELOW_TASKS, ABOVE_TASKS));
+ assertThrows(IllegalStateException.class, () -> checkChild(BELOW_TASKS, ANY));
+ }
+
+ private WindowToken createWindowToken(int type) {
+ return new WindowToken(mWmsRule.getWindowManagerService(), new Binder(),
+ type, false /* persist */, null /* displayContent */,
+ false /* canManageTokens */);
+ }
+
+ private static class SurfacelessDisplayArea<T extends WindowContainer> extends DisplayArea<T> {
+
+ SurfacelessDisplayArea(WindowManagerService wms, Type type, String name) {
+ super(wms, type, name);
+ }
+
+ @Override
+ SurfaceControl.Builder makeChildSurface(WindowContainer child) {
+ return new MockSurfaceControlBuilder();
+ }
+ }
+}
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
index 1637370df0f7..2ea00cec3f2e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
@@ -139,11 +139,11 @@ public class DisplayContentTests extends WindowTestsBase {
mAppWindow,
mChildAppWindowAbove,
mDockedDividerWindow,
+ mImeWindow,
+ mImeDialogWindow,
mStatusBarWindow,
mNotificationShadeWindow,
- mNavBarWindow,
- mImeWindow,
- mImeDialogWindow));
+ mNavBarWindow));
}
@Test
@@ -232,11 +232,11 @@ public class DisplayContentTests extends WindowTestsBase {
mChildAppWindowAbove,
mDockedDividerWindow,
voiceInteractionWindow,
+ mImeWindow,
+ mImeDialogWindow,
mStatusBarWindow,
mNotificationShadeWindow,
- mNavBarWindow,
- mImeWindow,
- mImeDialogWindow));
+ mNavBarWindow));
}
@Test
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java
index 5ba676d1c544..9dbaa4c9ca82 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java
@@ -73,6 +73,9 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
/**
* Tests for the {@link DisplayPolicy} class.
*
@@ -122,9 +125,13 @@ public class DisplayPolicyLayoutTests extends DisplayPolicyTestsBase {
}
private void updateDisplayFrames() {
+ mFrames = createDisplayFrames();
+ }
+
+ private DisplayFrames createDisplayFrames() {
final Pair<DisplayInfo, WmDisplayCutout> info = displayInfoAndCutoutForRotation(mRotation,
mHasDisplayCutout);
- mFrames = new DisplayFrames(mDisplayContent.getDisplayId(), info.first, info.second);
+ return new DisplayFrames(mDisplayContent.getDisplayId(), info.first, info.second);
}
@Test
@@ -824,6 +831,49 @@ public class DisplayPolicyLayoutTests extends DisplayPolicyTestsBase {
assertThat(outDisplayCutout, is(new DisplayCutout.ParcelableWrapper()));
}
+ /**
+ * Verify that {@link DisplayPolicy#simulateLayoutDisplay} outputs the same display frames as
+ * {@link DisplayPolicy#beginLayoutLw}.
+ */
+ @Test
+ public void testSimulateLayoutDisplay() {
+ assertSimulateLayoutSameDisplayFrames();
+ setRotation(ROTATION_90);
+ assertSimulateLayoutSameDisplayFrames();
+ addDisplayCutout();
+ assertSimulateLayoutSameDisplayFrames();
+ }
+
+ private void assertSimulateLayoutSameDisplayFrames() {
+ final int uiMode = 0;
+ final String prefix = "";
+ final InsetsState simulatedInsetsState = new InsetsState();
+ final DisplayFrames simulatedDisplayFrames = createDisplayFrames();
+ mDisplayContent.mDisplayFrames = mFrames;
+ mDisplayPolicy.beginLayoutLw(mFrames, uiMode);
+ mDisplayContent.getInsetsStateController().onPostLayout();
+ mDisplayPolicy.simulateLayoutDisplay(simulatedDisplayFrames, simulatedInsetsState, uiMode);
+
+ final StringWriter realFramesDump = new StringWriter();
+ mFrames.dump(prefix, new PrintWriter(realFramesDump));
+ final StringWriter simulatedFramesDump = new StringWriter();
+ simulatedDisplayFrames.dump(prefix, new PrintWriter(simulatedFramesDump));
+
+ assertEquals(realFramesDump.toString(), simulatedFramesDump.toString());
+
+ final StringWriter realInsetsDump = new StringWriter();
+ final InsetsState realInsetsState = new InsetsState(
+ mDisplayContent.getInsetsStateController().getRawInsetsState());
+ // Exclude comparing IME insets because currently the simulated layout only focuses on the
+ // insets from status bar and navigation bar.
+ realInsetsState.removeSource(InsetsState.ITYPE_IME);
+ realInsetsState.dump(prefix, new PrintWriter(realInsetsDump));
+ final StringWriter simulatedInsetsDump = new StringWriter();
+ simulatedInsetsState.dump(prefix, new PrintWriter(simulatedInsetsDump));
+
+ assertEquals(realInsetsDump.toString(), simulatedInsetsDump.toString());
+ }
+
@Test
public void forceShowSystemBars_clearsSystemUIFlags() {
mDisplayPolicy.mLastSystemUiFlags |= SYSTEM_UI_FLAG_FULLSCREEN;
diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsPolicyTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsPolicyTest.java
index c3bead7162e6..e71225579989 100644
--- a/services/tests/wmtests/src/com/android/server/wm/InsetsPolicyTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/InsetsPolicyTest.java
@@ -119,18 +119,6 @@ public class InsetsPolicyTest extends WindowTestsBase {
assertNull(controls);
}
- @Test
- public void testControlsForDispatch_keyguard() {
- addWindow(TYPE_NOTIFICATION_SHADE, "notificationShade");
- addWindow(TYPE_NAVIGATION_BAR, "navBar");
- mockKeyguardShowing();
-
- final InsetsSourceControl[] controls = addAppWindowAndGetControlsForDispatch();
- // The app must not control the top bar.
- assertNotNull(controls);
- assertEquals(1, controls.length);
- }
-
// TODO: adjust this test if we pretend to the app that it's still able to control it.
@Test
public void testControlsForDispatch_forceStatusBarVisible() {
@@ -159,6 +147,21 @@ public class InsetsPolicyTest extends WindowTestsBase {
}
@Test
+ public void testControlsForDispatch_statusBarForceShowNavigation_butFocusedAnyways() {
+ WindowState notifShade = addWindow(TYPE_NOTIFICATION_SHADE, "notificationShade");
+ notifShade.mAttrs.privateFlags |= PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION;
+ addWindow(TYPE_NAVIGATION_BAR, "navBar");
+
+ mDisplayContent.getInsetsPolicy().updateBarControlTarget(notifShade);
+ InsetsSourceControl[] controls
+ = mDisplayContent.getInsetsStateController().getControlsForDispatch(notifShade);
+
+ // The app controls the navigation bar.
+ assertNotNull(controls);
+ assertEquals(1, controls.length);
+ }
+
+ @Test
public void testShowTransientBars_bothCanBeTransient_appGetsBothFakeControls() {
addWindow(TYPE_STATUS_BAR, "statusBar")
.getControllableInsetProvider().getSource().setVisible(false);
@@ -260,10 +263,4 @@ public class InsetsPolicyTest extends WindowTestsBase {
mDisplayContent.getInsetsPolicy().updateBarControlTarget(win);
return mDisplayContent.getInsetsStateController().getControlsForDispatch(win);
}
-
- private void mockKeyguardShowing() {
- final DisplayPolicy displayPolicy = mDisplayContent.getDisplayPolicy();
- spyOn(displayPolicy);
- doReturn(true).when(displayPolicy).isKeyguardShowing();
- }
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java
index d819b1ada659..7ffdd7cdceb6 100644
--- a/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/InsetsSourceProviderTest.java
@@ -57,7 +57,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
statusBar.getFrameLw().set(0, 0, 500, 100);
statusBar.mHasSurface = true;
- mProvider.setWindow(statusBar, null);
+ mProvider.setWindow(statusBar, null, null);
mProvider.onPostLayout();
assertEquals(new Rect(0, 0, 500, 100), mProvider.getSource().getFrame());
assertEquals(Insets.of(0, 100, 0, 0),
@@ -74,7 +74,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
ime.getGivenContentInsetsLw().set(0, 0, 0, 60);
ime.getGivenVisibleInsetsLw().set(0, 0, 0, 75);
ime.mHasSurface = true;
- mProvider.setWindow(ime, null);
+ mProvider.setWindow(ime, null, null);
mProvider.onPostLayout();
assertEquals(new Rect(0, 0, 500, 40), mProvider.getSource().getFrame());
assertEquals(new Rect(0, 0, 500, 25), mProvider.getSource().getVisibleFrame());
@@ -89,7 +89,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
public void testPostLayout_invisible() {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
statusBar.getFrameLw().set(0, 0, 500, 100);
- mProvider.setWindow(statusBar, null);
+ mProvider.setWindow(statusBar, null, null);
mProvider.onPostLayout();
assertEquals(Insets.NONE, mProvider.getSource().calculateInsets(new Rect(0, 0, 500, 500),
false /* ignoreVisibility */));
@@ -102,7 +102,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
mProvider.setWindow(statusBar,
(displayFrames, windowState, rect) -> {
rect.set(10, 10, 20, 20);
- });
+ }, null);
mProvider.onPostLayout();
assertEquals(new Rect(10, 10, 20, 20), mProvider.getSource().getFrame());
}
@@ -112,7 +112,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
statusBar.getFrameLw().set(0, 0, 500, 100);
- mProvider.setWindow(statusBar, null);
+ mProvider.setWindow(statusBar, null, null);
mProvider.updateControlForTarget(target, false /* force */);
assertNotNull(mProvider.getControl(target));
mProvider.updateControlForTarget(null, false /* force */);
@@ -124,7 +124,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
statusBar.getFrameLw().set(0, 0, 500, 100);
- mProvider.setWindow(statusBar, null);
+ mProvider.setWindow(statusBar, null, null);
mProvider.updateControlForFakeTarget(target);
assertNotNull(mProvider.getControl(target));
assertNull(mProvider.getControl(target).getLeash());
@@ -137,7 +137,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
statusBar.getFrameLw().set(0, 0, 500, 100);
- mProvider.setWindow(statusBar, null);
+ mProvider.setWindow(statusBar, null, null);
mProvider.updateControlForTarget(target, false /* force */);
InsetsState state = new InsetsState();
state.getSource(ITYPE_STATUS_BAR).setVisible(false);
@@ -150,7 +150,7 @@ public class InsetsSourceProviderTest extends WindowTestsBase {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState target = createWindow(null, TYPE_APPLICATION, "target");
statusBar.getFrameLw().set(0, 0, 500, 100);
- mProvider.setWindow(statusBar, null);
+ mProvider.setWindow(statusBar, null, null);
InsetsState state = new InsetsState();
state.getSource(ITYPE_STATUS_BAR).setVisible(false);
mProvider.onInsetsModified(target, state.getSource(ITYPE_STATUS_BAR));
diff --git a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
index d13baeccb68a..39cdd2cb907e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/InsetsStateControllerTest.java
@@ -21,26 +21,26 @@ import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
import static android.view.InsetsState.ITYPE_STATUS_BAR;
import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import android.graphics.Rect;
import android.platform.test.annotations.Presubmit;
import android.view.InsetsSource;
import android.view.InsetsSourceControl;
import android.view.InsetsState;
import android.view.test.InsetsModeSession;
-import androidx.test.filters.FlakyTest;
-import androidx.test.filters.SmallTest;
-
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
+import androidx.test.filters.FlakyTest;
+import androidx.test.filters.SmallTest;
+
@SmallTest
@FlakyTest(detail = "Promote to pre-submit once confirmed stable.")
@Presubmit
@@ -65,7 +65,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
public void testStripForDispatch_notOwn() {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
- getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null);
+ getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null, null);
statusBar.setControllableInsetProvider(getController().getSourceProvider(ITYPE_STATUS_BAR));
assertNotNull(getController().getInsetsForDispatch(app).getSource(ITYPE_STATUS_BAR));
}
@@ -74,7 +74,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
public void testStripForDispatch_own() {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
mDisplayContent.getInsetsStateController().getSourceProvider(ITYPE_STATUS_BAR)
- .setWindow(statusBar, null);
+ .setWindow(statusBar, null, null);
statusBar.setControllableInsetProvider(getController().getSourceProvider(ITYPE_STATUS_BAR));
final InsetsState state = getController().getInsetsForDispatch(statusBar);
for (int i = state.getSourcesCount() - 1; i >= 0; i--) {
@@ -88,19 +88,36 @@ public class InsetsStateControllerTest extends WindowTestsBase {
final WindowState navBar = createWindow(null, TYPE_APPLICATION, "navBar");
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime");
- getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null);
- getController().getSourceProvider(ITYPE_NAVIGATION_BAR).setWindow(navBar, null);
- getController().getSourceProvider(ITYPE_IME).setWindow(ime, null);
+ getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null, null);
+ getController().getSourceProvider(ITYPE_NAVIGATION_BAR).setWindow(navBar, null, null);
+ getController().getSourceProvider(ITYPE_IME).setWindow(ime, null, null);
assertEquals(0, getController().getInsetsForDispatch(navBar).getSourcesCount());
}
@Test
+ public void testImeForDispatch() {
+ final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
+ final WindowState ime = createWindow(null, TYPE_APPLICATION, "ime");
+ InsetsSourceProvider statusBarProvider =
+ getController().getSourceProvider(ITYPE_STATUS_BAR);
+ statusBarProvider.setWindow(statusBar, null, ((displayFrames, windowState, rect) ->
+ rect.set(0, 1, 2, 3)));
+ getController().getSourceProvider(ITYPE_IME).setWindow(ime, null, null);
+ statusBar.setControllableInsetProvider(statusBarProvider);
+
+ statusBarProvider.onPostLayout();
+
+ final InsetsState state = getController().getInsetsForDispatch(ime);
+ assertEquals(new Rect(0, 1, 2, 3), state.getSource(ITYPE_STATUS_BAR).getFrame());
+ }
+
+ @Test
public void testBarControllingWinChanged() {
final WindowState navBar = createWindow(null, TYPE_APPLICATION, "navBar");
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
- getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null);
- getController().getSourceProvider(ITYPE_NAVIGATION_BAR).setWindow(navBar, null);
+ getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null, null);
+ getController().getSourceProvider(ITYPE_NAVIGATION_BAR).setWindow(navBar, null, null);
getController().onBarControlTargetChanged(app, null, app, null);
InsetsSourceControl[] controls = getController().getControlsForDispatch(app);
assertEquals(2, controls.length);
@@ -110,7 +127,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
public void testControlRevoked() {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
- getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null);
+ getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null, null);
getController().onBarControlTargetChanged(app, null, null, null);
assertNotNull(getController().getControlsForDispatch(app));
getController().onBarControlTargetChanged(null, null, null, null);
@@ -122,7 +139,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
public void testControlRevoked_animation() {
final WindowState statusBar = createWindow(null, TYPE_APPLICATION, "statusBar");
final WindowState app = createWindow(null, TYPE_APPLICATION, "app");
- getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null);
+ getController().getSourceProvider(ITYPE_STATUS_BAR).setWindow(statusBar, null, null);
getController().onBarControlTargetChanged(app, null, null, null);
assertNotNull(getController().getControlsForDispatch(app));
statusBar.cancelAnimation();
diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java
index 945928d1b967..7753a32d8ca0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java
@@ -37,6 +37,7 @@ import static com.android.server.wm.ActivityStackSupervisor.ON_TOP;
import static com.android.server.wm.RecentsAnimationController.REORDER_KEEP_IN_PLACE;
import static com.android.server.wm.RecentsAnimationController.REORDER_MOVE_TO_ORIGINAL_POSITION;
import static com.android.server.wm.RecentsAnimationController.REORDER_MOVE_TO_TOP;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -103,14 +104,15 @@ public class RecentsAnimationControllerTest extends WindowTestsBase {
WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
AnimationAdapter adapter = mController.addAnimation(activity.getTask(),
false /* isRecentTaskInvisible */);
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_RECENTS,
+ mFinishedCallback);
// Remove the app window so that the animation target can not be created
activity.removeImmediately();
mController.startAnimation();
// Verify that the finish callback to reparent the leash is called
- verify(mFinishedCallback).onAnimationFinished(eq(adapter));
+ verify(mFinishedCallback).onAnimationFinished(eq(ANIMATION_TYPE_RECENTS), eq(adapter));
// Verify the animation canceled callback to the app was made
verify(mMockRunner).onAnimationCanceled(null /* taskSnapshot */);
verifyNoMoreInteractionsExceptAsBinder(mMockRunner);
@@ -122,7 +124,8 @@ public class RecentsAnimationControllerTest extends WindowTestsBase {
WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
AnimationAdapter adapter = mController.addAnimation(activity.getTask(),
false /* isRecentTaskInvisible */);
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_RECENTS,
+ mFinishedCallback);
// Remove the app window so that the animation target can not be created
activity.removeImmediately();
diff --git a/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java b/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java
index a23425f2510c..be2559719438 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RefreshRatePolicyTest.java
@@ -18,6 +18,8 @@ package com.android.server.wm;
import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
+
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -108,7 +110,7 @@ public class RefreshRatePolicyTest extends WindowTestsBase {
overrideWindow.mAttrs.preferredDisplayModeId = LOW_MODE_ID;
overrideWindow.mActivityRecord.mSurfaceAnimator.startAnimation(
overrideWindow.getPendingTransaction(), mock(AnimationAdapter.class),
- false /* hidden */);
+ false /* hidden */, ANIMATION_TYPE_APP_TRANSITION);
mPolicy.addNonHighRefreshRatePackage("com.android.test");
assertEquals(0, mPolicy.getPreferredModeId(overrideWindow));
}
@@ -124,7 +126,7 @@ public class RefreshRatePolicyTest extends WindowTestsBase {
cameraUsingWindow.mActivityRecord.mSurfaceAnimator.startAnimation(
cameraUsingWindow.getPendingTransaction(), mock(AnimationAdapter.class),
- false /* hidden */);
+ false /* hidden */, ANIMATION_TYPE_APP_TRANSITION);
assertEquals(0, mPolicy.getPreferredModeId(cameraUsingWindow));
}
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/RemoteAnimationControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/RemoteAnimationControllerTest.java
index 1a575962b961..3a724a140ffb 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RemoteAnimationControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RemoteAnimationControllerTest.java
@@ -25,6 +25,8 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verifyNoMoreInteractions;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.when;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_WINDOW_ANIMATION;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -97,7 +99,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
try {
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
mWm.mAnimator.executeAfterPrepareSurfacesRunnables();
final ArgumentCaptor<RemoteAnimationTarget[]> appsCaptor =
@@ -122,7 +125,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
verify(mMockTransaction).setWindowCrop(mMockLeash, 100, 50);
finishedCaptor.getValue().onAnimationFinished();
- verify(mFinishedCallback).onAnimationFinished(eq(adapter));
+ verify(mFinishedCallback).onAnimationFinished(eq(ANIMATION_TYPE_APP_TRANSITION),
+ eq(adapter));
} finally {
mDisplayContent.mOpeningApps.clear();
}
@@ -133,7 +137,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
final WindowState win = createWindow(null /* parent */, TYPE_BASE_APPLICATION, "testWin");
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
adapter.onAnimationCancelled(mMockLeash);
@@ -146,14 +151,16 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
final WindowState win = createWindow(null /* parent */, TYPE_BASE_APPLICATION, "testWin");
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
mClock.fastForward(2500);
mHandler.timeAdvance();
verify(mMockRunner).onAnimationCancelled();
- verify(mFinishedCallback).onAnimationFinished(eq(adapter));
+ verify(mFinishedCallback).onAnimationFinished(eq(ANIMATION_TYPE_APP_TRANSITION),
+ eq(adapter));
}
@Test
@@ -164,7 +171,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
"testWin");
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(
win.mActivityRecord, new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
mClock.fastForward(2500);
@@ -176,7 +184,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
mHandler.timeAdvance();
verify(mMockRunner).onAnimationCancelled();
- verify(mFinishedCallback).onAnimationFinished(eq(adapter));
+ verify(mFinishedCallback).onAnimationFinished(eq(ANIMATION_TYPE_APP_TRANSITION),
+ eq(adapter));
} finally {
mWm.setAnimationScale(2, 1.0f);
}
@@ -205,7 +214,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
new Point(50, 100), new Rect(50, 100, 150, 150), null);
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win2.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
mWm.mAnimator.executeAfterPrepareSurfacesRunnables();
final ArgumentCaptor<RemoteAnimationTarget[]> appsCaptor =
@@ -225,11 +235,13 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
final WindowState win = createWindow(null /* parent */, TYPE_BASE_APPLICATION, "testWin");
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
win.mActivityRecord.removeImmediately();
mController.goodToGo();
verifyNoMoreInteractionsExceptAsBinder(mMockRunner);
- verify(mFinishedCallback).onAnimationFinished(eq(adapter));
+ verify(mFinishedCallback).onAnimationFinished(eq(ANIMATION_TYPE_APP_TRANSITION),
+ eq(adapter));
}
@Test
@@ -242,9 +254,10 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
new Rect(0, 0, 200, 200));
assertNotNull(record.mThumbnailAdapter);
((AnimationAdapter) record.mAdapter)
- .startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ .startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_WINDOW_ANIMATION,
+ mFinishedCallback);
((AnimationAdapter) record.mThumbnailAdapter).startAnimation(mMockThumbnailLeash,
- mMockTransaction, mThumbnailFinishedCallback);
+ mMockTransaction, ANIMATION_TYPE_WINDOW_ANIMATION, mThumbnailFinishedCallback);
mController.goodToGo();
mWm.mAnimator.executeAfterPrepareSurfacesRunnables();
final ArgumentCaptor<RemoteAnimationTarget[]> appsCaptor =
@@ -272,8 +285,10 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
verify(mMockTransaction).setPosition(mMockThumbnailLeash, 0, 0);
finishedCaptor.getValue().onAnimationFinished();
- verify(mFinishedCallback).onAnimationFinished(eq(record.mAdapter));
- verify(mThumbnailFinishedCallback).onAnimationFinished(eq(record.mThumbnailAdapter));
+ verify(mFinishedCallback).onAnimationFinished(eq(ANIMATION_TYPE_WINDOW_ANIMATION),
+ eq(record.mAdapter));
+ verify(mThumbnailFinishedCallback).onAnimationFinished(
+ eq(ANIMATION_TYPE_WINDOW_ANIMATION), eq(record.mThumbnailAdapter));
} finally {
mDisplayContent.mChangingApps.clear();
}
@@ -290,7 +305,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
try {
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
mWm.mAnimator.executeAfterPrepareSurfacesRunnables();
final ArgumentCaptor<RemoteAnimationTarget[]> appsCaptor =
@@ -318,7 +334,8 @@ public class RemoteAnimationControllerTest extends WindowTestsBase {
try {
final AnimationAdapter adapter = mController.createRemoteAnimationRecord(win.mActivityRecord,
new Point(50, 100), new Rect(50, 100, 150, 150), null).mAdapter;
- adapter.startAnimation(mMockLeash, mMockTransaction, mFinishedCallback);
+ adapter.startAnimation(mMockLeash, mMockTransaction, ANIMATION_TYPE_APP_TRANSITION,
+ mFinishedCallback);
mController.goodToGo();
mWm.mAnimator.executeAfterPrepareSurfacesRunnables();
final ArgumentCaptor<RemoteAnimationTarget[]> appsCaptor =
diff --git a/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java b/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java
index 2894241356f7..552c476613b2 100644
--- a/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimatorTest.java
@@ -22,6 +22,8 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verifyZeroInteractions;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -39,6 +41,7 @@ import android.view.SurfaceSession;
import androidx.test.filters.SmallTest;
import com.android.server.wm.SurfaceAnimator.Animatable;
+import com.android.server.wm.SurfaceAnimator.AnimationType;
import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
import org.junit.After;
@@ -89,25 +92,30 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
@Test
public void testRunAnimation() {
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_RECENTS);
final ArgumentCaptor<OnAnimationFinishedCallback> callbackCaptor = ArgumentCaptor.forClass(
OnAnimationFinishedCallback.class);
assertAnimating(mAnimatable);
verify(mTransaction).reparent(eq(mAnimatable.mSurface), eq(mAnimatable.mLeash));
- verify(mSpec).startAnimation(any(), any(), callbackCaptor.capture());
+ verify(mSpec).startAnimation(any(), any(), eq(ANIMATION_TYPE_RECENTS),
+ callbackCaptor.capture());
- callbackCaptor.getValue().onAnimationFinished(mSpec);
+ callbackCaptor.getValue().onAnimationFinished(ANIMATION_TYPE_RECENTS, mSpec);
assertNotAnimating(mAnimatable);
assertTrue(mAnimatable.mFinishedCallbackCalled);
+ assertEquals(ANIMATION_TYPE_RECENTS, mAnimatable.mFinishedAnimationType);
verify(mTransaction).remove(eq(mAnimatable.mLeash));
// TODO: Verify reparenting once we use mPendingTransaction to reparent it back
}
@Test
public void testOverrideAnimation() {
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
final SurfaceControl firstLeash = mAnimatable.mLeash;
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec2, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec2, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
verify(mTransaction).remove(eq(firstLeash));
assertFalse(mAnimatable.mFinishedCallbackCalled);
@@ -115,34 +123,40 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
final ArgumentCaptor<OnAnimationFinishedCallback> callbackCaptor = ArgumentCaptor.forClass(
OnAnimationFinishedCallback.class);
assertAnimating(mAnimatable);
- verify(mSpec).startAnimation(any(), any(), callbackCaptor.capture());
+ verify(mSpec).startAnimation(any(), any(), eq(ANIMATION_TYPE_APP_TRANSITION),
+ callbackCaptor.capture());
// First animation was finished, but this shouldn't cancel the second animation
- callbackCaptor.getValue().onAnimationFinished(mSpec);
+ callbackCaptor.getValue().onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, mSpec);
assertTrue(mAnimatable.mSurfaceAnimator.isAnimating());
// Second animation was finished
- verify(mSpec2).startAnimation(any(), any(), callbackCaptor.capture());
- callbackCaptor.getValue().onAnimationFinished(mSpec2);
+ verify(mSpec2).startAnimation(any(), any(), eq(ANIMATION_TYPE_APP_TRANSITION),
+ callbackCaptor.capture());
+ callbackCaptor.getValue().onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, mSpec2);
assertNotAnimating(mAnimatable);
assertTrue(mAnimatable.mFinishedCallbackCalled);
+ assertEquals(ANIMATION_TYPE_APP_TRANSITION, mAnimatable.mFinishedAnimationType);
}
@Test
public void testCancelAnimation() {
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
assertAnimating(mAnimatable);
mAnimatable.mSurfaceAnimator.cancelAnimation();
assertNotAnimating(mAnimatable);
verify(mSpec).onAnimationCancelled(any());
assertTrue(mAnimatable.mFinishedCallbackCalled);
+ assertEquals(ANIMATION_TYPE_APP_TRANSITION, mAnimatable.mFinishedAnimationType);
verify(mTransaction).remove(eq(mAnimatable.mLeash));
}
@Test
public void testCancelWithNullFinishCallbackAnimation() {
SurfaceAnimator animator = new SurfaceAnimator(mAnimatable, null, mWm);
- animator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ animator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
assertTrue(animator.isAnimating());
assertNotNull(animator.getAnimation());
animator.cancelAnimation();
@@ -155,32 +169,37 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
@Test
public void testDelayingAnimationStart() {
mAnimatable.mSurfaceAnimator.startDelayingAnimationStart();
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
verifyZeroInteractions(mSpec);
assertAnimating(mAnimatable);
assertTrue(mAnimatable.mSurfaceAnimator.isAnimationStartDelayed());
mAnimatable.mSurfaceAnimator.endDelayingAnimationStart();
- verify(mSpec).startAnimation(any(), any(), any());
+ verify(mSpec).startAnimation(any(), any(), eq(ANIMATION_TYPE_APP_TRANSITION), any());
}
@Test
public void testDelayingAnimationStartAndCancelled() {
mAnimatable.mSurfaceAnimator.startDelayingAnimationStart();
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
mAnimatable.mSurfaceAnimator.cancelAnimation();
verifyZeroInteractions(mSpec);
assertNotAnimating(mAnimatable);
assertTrue(mAnimatable.mFinishedCallbackCalled);
+ assertEquals(ANIMATION_TYPE_APP_TRANSITION, mAnimatable.mFinishedAnimationType);
verify(mTransaction).remove(eq(mAnimatable.mLeash));
}
@Test
public void testTransferAnimation() {
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
final ArgumentCaptor<OnAnimationFinishedCallback> callbackCaptor = ArgumentCaptor.forClass(
OnAnimationFinishedCallback.class);
- verify(mSpec).startAnimation(any(), any(), callbackCaptor.capture());
+ verify(mSpec).startAnimation(any(), any(), eq(ANIMATION_TYPE_APP_TRANSITION),
+ callbackCaptor.capture());
final SurfaceControl leash = mAnimatable.mLeash;
mAnimatable2.mSurfaceAnimator.transferAnimation(mAnimatable.mSurfaceAnimator);
@@ -188,15 +207,17 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
assertAnimating(mAnimatable2);
assertEquals(leash, mAnimatable2.mSurfaceAnimator.mLeash);
verify(mTransaction, never()).remove(eq(leash));
- callbackCaptor.getValue().onAnimationFinished(mSpec);
+ callbackCaptor.getValue().onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, mSpec);
assertNotAnimating(mAnimatable2);
assertTrue(mAnimatable2.mFinishedCallbackCalled);
+ assertEquals(ANIMATION_TYPE_APP_TRANSITION, mAnimatable.mFinishedAnimationType);
verify(mTransaction).remove(eq(leash));
}
@Test
public void testOnAnimationLeashLostWhenAnimatableParentSurfaceControlNull() {
- mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */);
+ mAnimatable.mSurfaceAnimator.startAnimation(mTransaction, mSpec, true /* hidden */,
+ ANIMATION_TYPE_APP_TRANSITION);
spyOn(mAnimatable);
// Verify onAnimationLeashLost will be called even animatable's parent surface control lost.
@@ -215,13 +236,14 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
final OnAnimationFinishedCallback onFinishedCallback = startDeferFinishAnimatable(mSpec);
// Finish the animation but then make sure we are deferring.
- onFinishedCallback.onAnimationFinished(mSpec);
+ onFinishedCallback.onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, mSpec);
assertAnimating(mDeferFinishAnimatable);
// Now end defer finishing.
mDeferFinishAnimatable.mEndDeferFinishCallback.run();
assertNotAnimating(mAnimatable2);
assertTrue(mDeferFinishAnimatable.mFinishedCallbackCalled);
+ assertEquals(ANIMATION_TYPE_APP_TRANSITION, mDeferFinishAnimatable.mFinishedAnimationType);
verify(mTransaction).remove(eq(mDeferFinishAnimatable.mLeash));
}
@@ -229,7 +251,7 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
public void testDeferFinishDoNotFinishNextAnimation() {
// Start the first animation.
final OnAnimationFinishedCallback onFinishedCallback = startDeferFinishAnimatable(mSpec);
- onFinishedCallback.onAnimationFinished(mSpec);
+ onFinishedCallback.onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, mSpec);
// The callback is the resetAndInvokeFinish in {@link SurfaceAnimator#getFinishedCallback}.
final Runnable firstDeferFinishCallback = mDeferFinishAnimatable.mEndDeferFinishCallback;
@@ -247,11 +269,12 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
private OnAnimationFinishedCallback startDeferFinishAnimatable(AnimationAdapter anim) {
mDeferFinishAnimatable.mSurfaceAnimator.startAnimation(mTransaction, anim,
- true /* hidden */);
+ true /* hidden */, ANIMATION_TYPE_APP_TRANSITION);
final ArgumentCaptor<OnAnimationFinishedCallback> callbackCaptor = ArgumentCaptor.forClass(
OnAnimationFinishedCallback.class);
assertAnimating(mDeferFinishAnimatable);
- verify(anim).startAnimation(any(), any(), callbackCaptor.capture());
+ verify(anim).startAnimation(any(), any(), eq(ANIMATION_TYPE_APP_TRANSITION),
+ callbackCaptor.capture());
return callbackCaptor.getValue();
}
@@ -274,6 +297,7 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
final SurfaceAnimator mSurfaceAnimator;
SurfaceControl mLeash;
boolean mFinishedCallbackCalled;
+ @AnimationType int mFinishedAnimationType;
MyAnimatable(WindowManagerService wm, SurfaceSession session, Transaction transaction) {
mSession = session;
@@ -343,7 +367,11 @@ public class SurfaceAnimatorTest extends WindowTestsBase {
return 1;
}
- private final Runnable mFinishedCallback = () -> mFinishedCallbackCalled = true;
+ private final SurfaceAnimator.OnAnimationFinishedCallback mFinishedCallback = (
+ type, anim) -> {
+ mFinishedCallbackCalled = true;
+ mFinishedAnimationType = type;
+ };
}
private static class DeferFinishAnimatable extends MyAnimatable {
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java
index c9fd79fb4e39..078347e96a07 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 The Android Open Source Project
+ * Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,45 +16,50 @@
package com.android.server.wm;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
+import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.when;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.when;
-import android.graphics.Point;
+import android.app.ActivityManager.RunningTaskInfo;
+import android.app.ActivityManager.StackInfo;
+import android.content.res.Configuration;
import android.graphics.Rect;
-import android.platform.test.annotations.Presubmit;
import android.os.Binder;
import android.os.RemoteException;
+import android.platform.test.annotations.Presubmit;
+import android.view.Display;
import android.view.ITaskOrganizer;
+import android.view.IWindowContainer;
import android.view.SurfaceControl;
-import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
+import android.view.WindowContainerTransaction;
import androidx.test.filters.SmallTest;
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.util.ArrayList;
+import java.util.List;
+
/**
- * Test class for {@link TaskOrganizer}.
+ * Test class for {@link ITaskOrganizer} and {@link android.app.ITaskOrganizerController}.
*
* Build/Install/Run:
* atest WmTests:TaskOrganizerTests
@@ -63,23 +68,28 @@ import org.junit.runner.RunWith;
@Presubmit
@RunWith(WindowTestRunner.class)
public class TaskOrganizerTests extends WindowTestsBase {
- private ITaskOrganizer makeAndRegisterMockOrganizer() {
+ private ITaskOrganizer registerMockOrganizer(int windowingMode) {
final ITaskOrganizer organizer = mock(ITaskOrganizer.class);
when(organizer.asBinder()).thenReturn(new Binder());
- mWm.mAtmService.registerTaskOrganizer(organizer, WINDOWING_MODE_PINNED);
+ mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(
+ organizer, windowingMode);
return organizer;
}
+ private ITaskOrganizer registerMockOrganizer() {
+ return registerMockOrganizer(WINDOWING_MODE_MULTI_WINDOW);
+ }
+
@Test
public void testAppearVanish() throws RemoteException {
final ActivityStack stack = createTaskStackOnDisplay(mDisplayContent);
final Task task = createTaskInStack(stack, 0 /* userId */);
- final ITaskOrganizer organizer = makeAndRegisterMockOrganizer();
+ final ITaskOrganizer organizer = registerMockOrganizer();
task.setTaskOrganizer(organizer);
- verify(organizer).taskAppeared(any(), any());
+ verify(organizer).taskAppeared(any());
task.removeImmediately();
verify(organizer).taskVanished(any());
@@ -89,24 +99,38 @@ public class TaskOrganizerTests extends WindowTestsBase {
public void testSwapOrganizer() throws RemoteException {
final ActivityStack stack = createTaskStackOnDisplay(mDisplayContent);
final Task task = createTaskInStack(stack, 0 /* userId */);
- final ITaskOrganizer organizer = makeAndRegisterMockOrganizer();
- final ITaskOrganizer organizer2 = makeAndRegisterMockOrganizer();
+ final ITaskOrganizer organizer = registerMockOrganizer(WINDOWING_MODE_MULTI_WINDOW);
+ final ITaskOrganizer organizer2 = registerMockOrganizer(WINDOWING_MODE_PINNED);
task.setTaskOrganizer(organizer);
- verify(organizer).taskAppeared(any(), any());
+ verify(organizer).taskAppeared(any());
task.setTaskOrganizer(organizer2);
verify(organizer).taskVanished(any());
- verify(organizer2).taskAppeared(any(), any());
+ verify(organizer2).taskAppeared(any());
+ }
+
+ @Test
+ public void testSwapWindowingModes() throws RemoteException {
+ final ActivityStack stack = createTaskStackOnDisplay(mDisplayContent);
+ final Task task = createTaskInStack(stack, 0 /* userId */);
+ final ITaskOrganizer organizer = registerMockOrganizer(WINDOWING_MODE_MULTI_WINDOW);
+ final ITaskOrganizer organizer2 = registerMockOrganizer(WINDOWING_MODE_PINNED);
+
+ stack.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
+ verify(organizer).taskAppeared(any());
+ stack.setWindowingMode(WINDOWING_MODE_PINNED);
+ verify(organizer).taskVanished(any());
+ verify(organizer2).taskAppeared(any());
}
@Test
public void testClearOrganizer() throws RemoteException {
final ActivityStack stack = createTaskStackOnDisplay(mDisplayContent);
final Task task = createTaskInStack(stack, 0 /* userId */);
- final ITaskOrganizer organizer = makeAndRegisterMockOrganizer();
+ final ITaskOrganizer organizer = registerMockOrganizer();
stack.setTaskOrganizer(organizer);
- verify(organizer).taskAppeared(any(), any());
+ verify(organizer).taskAppeared(any());
assertTrue(stack.isControlledByTaskOrganizer());
stack.setTaskOrganizer(null);
@@ -116,15 +140,182 @@ public class TaskOrganizerTests extends WindowTestsBase {
@Test
public void testRegisterTaskOrganizerStackWindowingModeChanges() throws RemoteException {
- final ITaskOrganizer organizer = makeAndRegisterMockOrganizer();
+ final ITaskOrganizer organizer = registerMockOrganizer(WINDOWING_MODE_PINNED);
final ActivityStack stack = createTaskStackOnDisplay(mDisplayContent);
final Task task = createTaskInStack(stack, 0 /* userId */);
final Task task2 = createTaskInStack(stack, 0 /* userId */);
stack.setWindowingMode(WINDOWING_MODE_PINNED);
- verify(organizer, times(1)).taskAppeared(any(), any());
+ verify(organizer, times(1)).taskAppeared(any());
stack.setWindowingMode(WINDOWING_MODE_FULLSCREEN);
verify(organizer, times(1)).taskVanished(any());
}
+
+ @Test
+ public void testTaskTransaction() {
+ removeGlobalMinSizeRestriction();
+ final ActivityStack stack = new ActivityTestsBase.StackBuilder(mWm.mRoot)
+ .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+ final Task task = stack.getTopMostTask();
+ WindowContainerTransaction t = new WindowContainerTransaction();
+ Rect newBounds = new Rect(10, 10, 100, 100);
+ t.setBounds(task.mRemoteToken, new Rect(10, 10, 100, 100));
+ mWm.mAtmService.mTaskOrganizerController.applyContainerTransaction(t);
+ assertEquals(newBounds, task.getBounds());
+ }
+
+ @Test
+ public void testStackTransaction() {
+ removeGlobalMinSizeRestriction();
+ final ActivityStack stack = new ActivityTestsBase.StackBuilder(mWm.mRoot)
+ .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+ StackInfo info =
+ mWm.mAtmService.getStackInfo(WINDOWING_MODE_FREEFORM, ACTIVITY_TYPE_STANDARD);
+ WindowContainerTransaction t = new WindowContainerTransaction();
+ assertEquals(stack.mRemoteToken, info.stackToken);
+ Rect newBounds = new Rect(10, 10, 100, 100);
+ t.setBounds(info.stackToken, new Rect(10, 10, 100, 100));
+ mWm.mAtmService.mTaskOrganizerController.applyContainerTransaction(t);
+ assertEquals(newBounds, stack.getBounds());
+ }
+
+ @Test
+ public void testContainerChanges() {
+ removeGlobalMinSizeRestriction();
+ final ActivityStack stack = new ActivityTestsBase.StackBuilder(mWm.mRoot)
+ .setWindowingMode(WINDOWING_MODE_FREEFORM).build();
+ final Task task = stack.getTopMostTask();
+ WindowContainerTransaction t = new WindowContainerTransaction();
+ assertTrue(task.isFocusable());
+ t.setFocusable(stack.mRemoteToken, false);
+ mWm.mAtmService.mTaskOrganizerController.applyContainerTransaction(t);
+ assertFalse(task.isFocusable());
+ }
+
+ @Test
+ public void testCreateDeleteRootTasks() {
+ RunningTaskInfo info1 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
+ Display.DEFAULT_DISPLAY,
+ WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
+ assertEquals(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY,
+ info1.configuration.windowConfiguration.getWindowingMode());
+ assertEquals(ACTIVITY_TYPE_UNDEFINED, info1.topActivityType);
+
+ RunningTaskInfo info2 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
+ Display.DEFAULT_DISPLAY,
+ WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
+ assertEquals(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY,
+ info2.configuration.windowConfiguration.getWindowingMode());
+ assertEquals(ACTIVITY_TYPE_UNDEFINED, info2.topActivityType);
+
+ DisplayContent dc = mWm.mRoot.getDisplayContent(Display.DEFAULT_DISPLAY);
+ List<TaskTile> infos = getTaskTiles(dc);
+ assertEquals(2, infos.size());
+
+ assertTrue(mWm.mAtmService.mTaskOrganizerController.deleteRootTask(info1.token));
+ infos = getTaskTiles(dc);
+ assertEquals(1, infos.size());
+ assertEquals(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, infos.get(0).getWindowingMode());
+ }
+
+ @Test
+ public void testTileAddRemoveChild() {
+ RunningTaskInfo info1 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
+ mDisplayContent.mDisplayId, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
+
+ final ActivityStack stack = createTaskStackOnDisplay(
+ WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, mDisplayContent);
+ assertEquals(mDisplayContent.getWindowingMode(), stack.getWindowingMode());
+ TaskTile tile1 = TaskTile.forToken(info1.token.asBinder());
+ tile1.addChild(stack, 0 /* index */);
+ assertEquals(info1.configuration.windowConfiguration.getWindowingMode(),
+ stack.getWindowingMode());
+
+ // Info should reflect new membership
+ List<TaskTile> tiles = getTaskTiles(mDisplayContent);
+ info1 = new RunningTaskInfo();
+ tiles.get(0).fillTaskInfo(info1);
+ assertEquals(ACTIVITY_TYPE_STANDARD, info1.topActivityType);
+
+ // Children inherit configuration
+ Rect newSize = new Rect(10, 10, 300, 300);
+ Configuration c = new Configuration(tile1.getRequestedOverrideConfiguration());
+ c.windowConfiguration.setBounds(newSize);
+ tile1.onRequestedOverrideConfigurationChanged(c);
+ assertEquals(newSize, stack.getBounds());
+
+ tile1.removeChild(stack);
+ assertEquals(mDisplayContent.getWindowingMode(), stack.getWindowingMode());
+ info1 = new RunningTaskInfo();
+ tiles = getTaskTiles(mDisplayContent);
+ tiles.get(0).fillTaskInfo(info1);
+ assertEquals(ACTIVITY_TYPE_UNDEFINED, info1.topActivityType);
+ }
+
+ @Test
+ public void testTaskInfoCallback() {
+ final ArrayList<RunningTaskInfo> lastReportedTiles = new ArrayList<>();
+ final boolean[] called = {false};
+ ITaskOrganizer listener = new ITaskOrganizer.Stub() {
+ @Override
+ public void taskAppeared(RunningTaskInfo taskInfo) { }
+
+ @Override
+ public void taskVanished(IWindowContainer container) { }
+
+ @Override
+ public void transactionReady(int id, SurfaceControl.Transaction t) { }
+
+ @Override
+ public void onTaskInfoChanged(RunningTaskInfo info) throws RemoteException {
+ lastReportedTiles.add(info);
+ called[0] = true;
+ }
+ };
+ mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(listener,
+ WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
+ RunningTaskInfo info1 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
+ mDisplayContent.mDisplayId, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
+ lastReportedTiles.clear();
+ called[0] = false;
+
+ final ActivityStack stack = createTaskStackOnDisplay(
+ WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, mDisplayContent);
+ TaskTile tile1 = TaskTile.forToken(info1.token.asBinder());
+ tile1.addChild(stack, 0 /* index */);
+ assertTrue(called[0]);
+ assertEquals(ACTIVITY_TYPE_STANDARD, lastReportedTiles.get(0).topActivityType);
+
+ lastReportedTiles.clear();
+ called[0] = false;
+ final ActivityStack stack2 = createTaskStackOnDisplay(
+ WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_HOME, mDisplayContent);
+ tile1.addChild(stack2, 0 /* index */);
+ assertTrue(called[0]);
+ assertEquals(ACTIVITY_TYPE_HOME, lastReportedTiles.get(0).topActivityType);
+
+ lastReportedTiles.clear();
+ called[0] = false;
+ mDisplayContent.positionStackAtTop(stack, false /* includingParents */);
+ assertTrue(called[0]);
+ assertEquals(ACTIVITY_TYPE_STANDARD, lastReportedTiles.get(0).topActivityType);
+
+ lastReportedTiles.clear();
+ called[0] = false;
+ tile1.removeAllChildren();
+ assertTrue(called[0]);
+ assertEquals(ACTIVITY_TYPE_UNDEFINED, lastReportedTiles.get(0).topActivityType);
+ }
+
+ private List<TaskTile> getTaskTiles(DisplayContent dc) {
+ ArrayList<TaskTile> out = new ArrayList<>();
+ for (int i = dc.getStackCount() - 1; i >= 0; --i) {
+ final Task t = dc.getStackAt(i);
+ if (t instanceof TaskTile) {
+ out.add((TaskTile) t);
+ }
+ }
+ return out;
+ }
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java
index 05d048d360ea..4a87701e3c4b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowContainerTests.java
@@ -34,6 +34,7 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
@@ -61,6 +62,8 @@ import android.view.SurfaceSession;
import androidx.test.filters.SmallTest;
+import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -829,7 +832,8 @@ public class WindowContainerTests extends WindowTestsBase {
wc.getDisplayContent().mAppTransition.overridePendingAppTransitionRemote(adapter);
spyOn(wc);
doReturn(true).when(wc).okToAnimate();
- final Runnable onAnimationFinishedCallback = mock(Runnable.class);
+ final OnAnimationFinishedCallback onAnimationFinishedCallback =
+ mock(OnAnimationFinishedCallback.class);
// Make sure animating state is as expected after applied animation.
assertTrue(wc.applyAnimation(null, TRANSIT_TASK_OPEN, true, false,
@@ -837,16 +841,18 @@ public class WindowContainerTests extends WindowTestsBase {
assertEquals(wc.getTopMostActivity(), act);
assertTrue(wc.isAnimating());
assertTrue(act.isAnimating(PARENTS));
- verify(onAnimationFinishedCallback, times(0)).run();
+ verify(onAnimationFinishedCallback, times(0)).onAnimationFinished(
+ eq(ANIMATION_TYPE_APP_TRANSITION), any());
// Make sure animation finish callback will be received and reset animating state after
// animation finish.
wc.getDisplayContent().mAppTransition.goodToGo(TRANSIT_TASK_OPEN, act,
mDisplayContent.mOpeningApps);
- verify(wc).onAnimationFinished();
+ verify(wc).onAnimationFinished(eq(ANIMATION_TYPE_APP_TRANSITION), any());
assertFalse(wc.isAnimating());
assertFalse(act.isAnimating(PARENTS));
- verify(onAnimationFinishedCallback, times(1)).run();
+ verify(onAnimationFinishedCallback, times(1)).onAnimationFinished(
+ eq(ANIMATION_TYPE_APP_TRANSITION), any());
}
/* Used so we can gain access to some protected members of the {@link WindowContainer} class */
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
index 186ff6b1515b..2c68cc7a19bf 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
@@ -425,7 +425,7 @@ public class WindowStateTests extends WindowTestsBase {
statusBar.mHasSurface = true;
assertTrue(statusBar.isVisible());
mDisplayContent.getInsetsStateController().getSourceProvider(ITYPE_STATUS_BAR)
- .setWindow(statusBar, null /* frameProvider */);
+ .setWindow(statusBar, null /* frameProvider */, null /* imeFrameProvider */);
mDisplayContent.getInsetsStateController().onBarControlTargetChanged(
app, null /* fakeTopControlling */, app, null /* fakeNavControlling */);
final InsetsSource source = new InsetsSource(ITYPE_STATUS_BAR);
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
index 20eab5a45ff1..1ca2e318b0d7 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
@@ -40,6 +40,7 @@ import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentat
import static org.mockito.Mockito.mock;
import android.content.Context;
+import android.content.Intent;
import android.util.Log;
import android.view.Display;
import android.view.DisplayInfo;
@@ -110,7 +111,7 @@ class WindowTestsBase extends SystemServiceTestsBase {
beforeCreateDisplay();
context.getDisplay().getDisplayInfo(mDisplayInfo);
- mDisplayContent = createNewDisplay();
+ mDisplayContent = createNewDisplay(true /* supportIme */);
// Set-up some common windows.
mCommonWindows = new HashSet<>();
@@ -340,6 +341,7 @@ class WindowTestsBase extends SystemServiceTestsBase {
.setWindowingMode(windowingMode)
.setActivityType(activityType)
.setCreateActivity(false)
+ .setIntent(new Intent())
.build();
}
}
@@ -349,16 +351,29 @@ class WindowTestsBase extends SystemServiceTestsBase {
return WindowTestUtils.createTaskInStack(mWm, stack, userId);
}
- /** Creates a {@link DisplayContent} and adds it to the system. */
+ /** Creates a {@link DisplayContent} that supports IME and adds it to the system. */
DisplayContent createNewDisplay() {
- return createNewDisplay(mDisplayInfo);
+ return createNewDisplay(true /* supportIme */);
}
/** Creates a {@link DisplayContent} and adds it to the system. */
+ private DisplayContent createNewDisplay(boolean supportIme) {
+ return createNewDisplay(mDisplayInfo, supportIme);
+ }
+
+ /** Creates a {@link DisplayContent} that supports IME and adds it to the system. */
DisplayContent createNewDisplay(DisplayInfo info) {
+ return createNewDisplay(info, true /* supportIme */);
+ }
+
+ /** Creates a {@link DisplayContent} and adds it to the system. */
+ private DisplayContent createNewDisplay(DisplayInfo info, boolean supportIme) {
final DisplayContent display =
new TestDisplayContent.Builder(mWm.mAtmService, info).build();
- return display.mDisplayContent;
+ final DisplayContent dc = display.mDisplayContent;
+ // this display can show IME.
+ dc.mWmService.mDisplayWindowSettings.setShouldShowImeLocked(dc, supportIme);
+ return dc;
}
/**
@@ -372,7 +387,7 @@ class WindowTestsBase extends SystemServiceTestsBase {
DisplayInfo displayInfo = new DisplayInfo();
displayInfo.copyFrom(mDisplayInfo);
displayInfo.state = displayState;
- return createNewDisplay(displayInfo);
+ return createNewDisplay(displayInfo, true /* supportIme */);
}
/** Creates a {@link com.android.server.wm.WindowTestUtils.TestWindowState} */
@@ -389,7 +404,7 @@ class WindowTestsBase extends SystemServiceTestsBase {
displayInfo.copyFrom(mDisplayInfo);
displayInfo.type = Display.TYPE_VIRTUAL;
displayInfo.ownerUid = SYSTEM_UID;
- return createNewDisplay(displayInfo);
+ return createNewDisplay(displayInfo, false /* supportIme */);
}
/** Sets the default minimum task size to 1 so that tests can use small task sizes */
diff --git a/services/tests/wmtests/src/com/android/server/wm/testing/Assert.java b/services/tests/wmtests/src/com/android/server/wm/testing/Assert.java
new file mode 100644
index 000000000000..1e98277f0f96
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/wm/testing/Assert.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm.testing;
+
+/**
+ * Assertions for WM tests.
+ */
+public class Assert {
+
+ /**
+ * Runs {@code r} and asserts that an exception of type {@code expectedThrowable} is thrown.
+ * @param expectedThrowable the type of throwable that is expected to be thrown
+ * @param r the {@link Runnable} which is run and expected to throw.
+ * @throws AssertionError if {@code r} does not throw, or throws a runnable that is not an
+ * instance of {@code expectedThrowable}.
+ */
+ // TODO: remove once Android migrates to JUnit 4.13, which provides assertThrows
+ public static void assertThrows(Class<? extends Throwable> expectedThrowable, Runnable r) {
+ try {
+ r.run();
+ } catch (Throwable t) {
+ if (expectedThrowable.isInstance(t)) {
+ return;
+ } else if (t instanceof Exception) {
+ throw new AssertionError("Expected " + expectedThrowable
+ + ", but got " + t.getClass(), t);
+ } else {
+ // Re-throw Errors and other non-Exception throwables.
+ throw t;
+ }
+ }
+ throw new AssertionError("Expected " + expectedThrowable + ", but nothing was thrown");
+ }
+}
diff --git a/services/tests/wmtests/src/com/android/server/wm/testing/AssertTest.java b/services/tests/wmtests/src/com/android/server/wm/testing/AssertTest.java
new file mode 100644
index 000000000000..df1276123c5c
--- /dev/null
+++ b/services/tests/wmtests/src/com/android/server/wm/testing/AssertTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.wm.testing;
+
+import static com.android.server.wm.testing.Assert.assertThrows;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+public class AssertTest {
+
+ @Rule
+ public ExpectedException mExpectedException = ExpectedException.none();
+
+ @Test
+ public void assertThrows_runsRunnable() {
+ boolean[] ran = new boolean[] { false };
+ assertThrows(TestException.class, () -> {
+ ran[0] = true;
+ throw new TestException();
+ });
+ assertTrue(ran[0]);
+ }
+
+ @Test
+ public void assertThrows_failsIfNothingThrown() {
+ mExpectedException.expect(AssertionError.class);
+ assertThrows(TestException.class, () -> {
+ });
+ }
+
+ @Test
+ public void assertThrows_failsIfWrongExceptionThrown() {
+ mExpectedException.expect(AssertionError.class);
+ assertThrows(TestException.class, () -> {
+ throw new RuntimeException();
+ });
+ }
+
+ @Test
+ public void assertThrows_succeedsIfGivenExceptionThrown() {
+ assertThrows(TestException.class, () -> {
+ throw new TestException();
+ });
+ }
+
+ @Test
+ public void assertThrows_succeedsIfSubExceptionThrown() {
+ assertThrows(RuntimeException.class, () -> {
+ throw new TestException();
+ });
+ }
+
+ @Test
+ public void assertThrows_rethrowsUnexpectedErrors() {
+ mExpectedException.expect(TestError.class);
+ assertThrows(TestException.class, () -> {
+ throw new TestError();
+ });
+ }
+
+ static class TestException extends RuntimeException {
+ }
+
+ static class TestError extends Error {
+ }
+
+}
diff --git a/services/tests/wmtests/src/com/android/server/wm/utils/WmDisplayCutoutTest.java b/services/tests/wmtests/src/com/android/server/wm/utils/WmDisplayCutoutTest.java
index fb8ba7bffd4c..a283476bfdf0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/utils/WmDisplayCutoutTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/utils/WmDisplayCutoutTest.java
@@ -47,6 +47,7 @@ import org.junit.Test;
@SmallTest
@Presubmit
public class WmDisplayCutoutTest {
+ private static final Rect ZERO_RECT = new Rect();
private final DisplayCutout mCutoutTop = new DisplayCutout(
Insets.of(0, 100, 0, 0),
null /* boundLeft */, new Rect(50, 0, 75, 100) /* boundTop */,
@@ -99,41 +100,204 @@ public class WmDisplayCutoutTest {
}
@Test
- public void computeSafeInsets_top() {
+ public void computeSafeInsets_cutoutTop() {
WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
- fromBoundingRect(0, 0, 100, 20, BOUNDS_POSITION_TOP), 200, 400);
+ fromBoundingRect(80, 0, 120, 20, BOUNDS_POSITION_TOP), 200, 400);
assertEquals(new Rect(0, 20, 0, 0), cutout.getDisplayCutout().getSafeInsets());
}
@Test
- public void computeSafeInsets_left() {
+ public void computeSafeInsets_cutoutLeft() {
WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
- fromBoundingRect(0, 0, 20, 100, BOUNDS_POSITION_LEFT), 400, 200);
+ fromBoundingRect(0, 180, 20, 220, BOUNDS_POSITION_LEFT), 200, 400);
assertEquals(new Rect(20, 0, 0, 0), cutout.getDisplayCutout().getSafeInsets());
}
@Test
- public void computeSafeInsets_bottom() {
+ public void computeSafeInsets_cutoutBottom() {
WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
- fromBoundingRect(0, 180, 100, 200, BOUNDS_POSITION_BOTTOM), 100, 200);
+ fromBoundingRect(80, 380, 120, 400, BOUNDS_POSITION_BOTTOM), 200, 400);
assertEquals(new Rect(0, 0, 0, 20), cutout.getDisplayCutout().getSafeInsets());
}
@Test
- public void computeSafeInsets_right() {
+ public void computeSafeInsets_cutoutRight() {
WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
- fromBoundingRect(180, 0, 200, 100, BOUNDS_POSITION_RIGHT), 200, 100);
+ fromBoundingRect(180, 180, 200, 220, BOUNDS_POSITION_RIGHT), 200, 400);
assertEquals(new Rect(0, 0, 20, 0), cutout.getDisplayCutout().getSafeInsets());
}
@Test
+ public void computeSafeInsets_topLeftCornerCutout_portrait() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(0, 0, 20, 20, BOUNDS_POSITION_TOP), 200, 400);
+
+ assertEquals(new Rect(0, 20, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_topRightCornerCutout_portrait() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(180, 0, 200, 20, BOUNDS_POSITION_TOP), 200, 400);
+
+ assertEquals(new Rect(0, 20, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_bottomLeftCornerCutout_portrait() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(0, 380, 20, 400, BOUNDS_POSITION_BOTTOM), 200, 400);
+
+ assertEquals(new Rect(0, 0, 0, 20), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_bottomRightCornerCutout_portrait() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(180, 380, 200, 400, BOUNDS_POSITION_BOTTOM), 200, 400);
+
+ assertEquals(new Rect(0, 0, 0, 20), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_topLeftCornerCutout_landscape() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(0, 0, 20, 20, BOUNDS_POSITION_LEFT), 400, 200);
+
+ assertEquals(new Rect(20, 0, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_topRightCornerCutout_landscape() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(380, 0, 400, 20, BOUNDS_POSITION_RIGHT), 400, 200);
+
+ assertEquals(new Rect(0, 0, 20, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_bottomLeftCornerCutout_landscape() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(0, 180, 20, 200, BOUNDS_POSITION_LEFT), 400, 200);
+
+ assertEquals(new Rect(20, 0, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_bottomRightCornerCutout_landscape() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ fromBoundingRect(380, 180, 400, 200, BOUNDS_POSITION_RIGHT), 400, 200);
+
+ assertEquals(new Rect(0, 0, 20, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_waterfall() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, ZERO_RECT, ZERO_RECT, ZERO_RECT},
+ Insets.of(1, 2, 3, 4)),
+ 200, 400);
+
+ assertEquals(new Rect(1, 2, 3, 4), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutTop_greaterThan_waterfallTop() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, new Rect(80, 0, 120, 30), ZERO_RECT, ZERO_RECT},
+ Insets.of(0, 20, 0, 0)),
+ 200, 400);
+
+ assertEquals(new Rect(0, 30, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutTop_lessThan_waterfallTop() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, new Rect(80, 0, 120, 30), ZERO_RECT, ZERO_RECT},
+ Insets.of(0, 40, 0, 0)),
+ 200, 400);
+
+ assertEquals(new Rect(0, 40, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutLeft_greaterThan_waterfallLeft() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {new Rect(0, 180, 30, 220), ZERO_RECT, ZERO_RECT, ZERO_RECT},
+ Insets.of(20, 0, 0, 0)),
+ 200, 400);
+
+ assertEquals(new Rect(30, 0, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutLeft_lessThan_waterfallLeft() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {new Rect(0, 180, 30, 220), ZERO_RECT, ZERO_RECT, ZERO_RECT},
+ Insets.of(40, 0, 0, 0)),
+ 200, 400);
+
+ assertEquals(new Rect(40, 0, 0, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutBottom_greaterThan_waterfallBottom() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, ZERO_RECT, ZERO_RECT, new Rect(80, 370, 120, 400)},
+ Insets.of(0, 0, 0, 20)),
+ 200, 400);
+
+ assertEquals(new Rect(0, 0, 0, 30), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutBottom_lessThan_waterfallBottom() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, ZERO_RECT, ZERO_RECT, new Rect(80, 370, 120, 400)},
+ Insets.of(0, 0, 0, 40)),
+ 200, 400);
+
+ assertEquals(new Rect(0, 0, 0, 40), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutRight_greaterThan_waterfallRight() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, ZERO_RECT, new Rect(170, 180, 200, 220), ZERO_RECT},
+ Insets.of(0, 0, 20, 0)),
+ 200, 400);
+
+ assertEquals(new Rect(0, 0, 30, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
+ public void computeSafeInsets_cutoutRight_lessThan_waterfallRight() {
+ WmDisplayCutout cutout = WmDisplayCutout.computeSafeInsets(
+ DisplayCutout.fromBoundsAndWaterfall(
+ new Rect[] {ZERO_RECT, ZERO_RECT, new Rect(170, 180, 200, 220), ZERO_RECT},
+ Insets.of(0, 0, 40, 0)),
+ 200, 400);
+
+ assertEquals(new Rect(0, 0, 40, 0), cutout.getDisplayCutout().getSafeInsets());
+ }
+
+ @Test
public void computeSafeInsets_bounds() {
- DisplayCutout cutout = WmDisplayCutout.computeSafeInsets(mCutoutTop, 1000,
- 2000).getDisplayCutout();
+ DisplayCutout cutout =
+ WmDisplayCutout.computeSafeInsets(mCutoutTop, 1000, 2000).getDisplayCutout();
assertEquals(mCutoutTop.getBoundingRects(), cutout.getBoundingRects());
}
diff --git a/services/usage/java/com/android/server/usage/TEST_MAPPING b/services/usage/java/com/android/server/usage/TEST_MAPPING
index 7b53d09fdbef..523d5f95c6f3 100644
--- a/services/usage/java/com/android/server/usage/TEST_MAPPING
+++ b/services/usage/java/com/android/server/usage/TEST_MAPPING
@@ -28,6 +28,14 @@
"include-filter": "android.app.usage.cts.UsageStatsTest"
}
]
+ },
+ {
+ "name": "CtsShortcutManagerTestCases",
+ "options": [
+ {
+ "include-filter": "android.content.pm.cts.shortcutmanager.ShortcutManagerUsageTest"
+ }
+ ]
}
]
}
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index 9a18f8cd3a46..48b6e2aaad5c 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -60,6 +60,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;
import android.content.pm.ParceledListSlice;
+import android.content.pm.ShortcutServiceInternal;
import android.content.pm.UserInfo;
import android.content.res.Configuration;
import android.os.Binder;
@@ -156,6 +157,8 @@ public class UsageStatsService extends SystemService implements
PackageManagerInternal mPackageManagerInternal;
// Do not use directly. Call getDpmInternal() instead
DevicePolicyManagerInternal mDpmInternal;
+ // Do not use directly. Call getShortcutServiceInternal() instead
+ ShortcutServiceInternal mShortcutServiceInternal;
private final SparseArray<UserUsageStatsService> mUserState = new SparseArray<>();
private final SparseBooleanArray mUserUnlockedStates = new SparseBooleanArray();
@@ -267,6 +270,8 @@ public class UsageStatsService extends SystemService implements
if (phase == PHASE_SYSTEM_SERVICES_READY) {
// initialize mDpmInternal
getDpmInternal();
+ // initialize mShortcutServiceInternal
+ getShortcutServiceInternal();
if (ENABLE_KERNEL_UPDATES && KERNEL_COUNTER_FILE.exists()) {
try {
@@ -400,6 +405,13 @@ public class UsageStatsService extends SystemService implements
return mDpmInternal;
}
+ private ShortcutServiceInternal getShortcutServiceInternal() {
+ if (mShortcutServiceInternal == null) {
+ mShortcutServiceInternal = LocalServices.getService(ShortcutServiceInternal.class);
+ }
+ return mShortcutServiceInternal;
+ }
+
private void readUsageSourceSetting() {
synchronized (mLock) {
mUsageSource = Settings.Global.getInt(getContext().getContentResolver(),
@@ -469,6 +481,16 @@ public class UsageStatsService extends SystemService implements
return !mPackageManagerInternal.canAccessInstantApps(callingUid, userId);
}
+ private boolean shouldHideShortcutInvocationEvents(int userId, String callingPackage,
+ int callingPid, int callingUid) {
+ final ShortcutServiceInternal shortcutServiceInternal = getShortcutServiceInternal();
+ if (shortcutServiceInternal != null) {
+ return !shortcutServiceInternal.hasShortcutHostPermission(userId, callingPackage,
+ callingPid, callingUid);
+ }
+ return true; // hide by default if we can't verify visibility
+ }
+
private static void deleteRecursively(File f) {
File[] files = f.listFiles();
if (files != null) {
@@ -1008,7 +1030,7 @@ public class UsageStatsService extends SystemService implements
* Called by the Binder stub.
*/
UsageEvents queryEvents(int userId, long beginTime, long endTime,
- boolean shouldObfuscateInstantApps) {
+ boolean shouldObfuscateInstantApps, boolean shouldHideShortcutInvocationEvents) {
synchronized (mLock) {
if (!mUserUnlockedStates.get(userId)) {
Slog.w(TAG, "Failed to query events for locked user " + userId);
@@ -1019,7 +1041,8 @@ public class UsageStatsService extends SystemService implements
if (service == null) {
return null; // user was stopped or removed
}
- return service.queryEvents(beginTime, endTime, shouldObfuscateInstantApps);
+ return service.queryEvents(beginTime, endTime, shouldObfuscateInstantApps,
+ shouldHideShortcutInvocationEvents);
}
}
@@ -1418,14 +1441,18 @@ public class UsageStatsService extends SystemService implements
return null;
}
+ final int userId = UserHandle.getCallingUserId();
+ final int callingUid = Binder.getCallingUid();
+ final int callingPid = Binder.getCallingPid();
final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller(
- Binder.getCallingUid(), UserHandle.getCallingUserId());
+ callingUid, userId);
- final int userId = UserHandle.getCallingUserId();
final long token = Binder.clearCallingIdentity();
try {
+ final boolean hideShortcutInvocationEvents = shouldHideShortcutInvocationEvents(
+ userId, callingPackage, callingPid, callingUid);
return UsageStatsService.this.queryEvents(userId, beginTime, endTime,
- obfuscateInstantApps);
+ obfuscateInstantApps, hideShortcutInvocationEvents);
} finally {
Binder.restoreCallingIdentity(token);
}
@@ -1456,19 +1483,24 @@ public class UsageStatsService extends SystemService implements
return null;
}
- if (userId != UserHandle.getCallingUserId()) {
+ final int callingUserId = UserHandle.getCallingUserId();
+ if (userId != callingUserId) {
getContext().enforceCallingPermission(
Manifest.permission.INTERACT_ACROSS_USERS_FULL,
"No permission to query usage stats for this user");
}
+ final int callingUid = Binder.getCallingUid();
+ final int callingPid = Binder.getCallingPid();
final boolean obfuscateInstantApps = shouldObfuscateInstantAppsForCaller(
- Binder.getCallingUid(), UserHandle.getCallingUserId());
+ callingUid, callingUserId);
final long token = Binder.clearCallingIdentity();
try {
+ final boolean hideShortcutInvocationEvents = shouldHideShortcutInvocationEvents(
+ userId, callingPackage, callingPid, callingUid);
return UsageStatsService.this.queryEvents(userId, beginTime, endTime,
- obfuscateInstantApps);
+ obfuscateInstantApps, hideShortcutInvocationEvents);
} finally {
Binder.restoreCallingIdentity(token);
}
@@ -2085,9 +2117,9 @@ public class UsageStatsService extends SystemService implements
@Override
public UsageEvents queryEventsForUser(int userId, long beginTime, long endTime,
- boolean shouldObfuscateInstantApps) {
+ boolean obfuscateInstantApps, boolean hideShortcutInvocationEvents) {
return UsageStatsService.this.queryEvents(
- userId, beginTime, endTime, shouldObfuscateInstantApps);
+ userId, beginTime, endTime, obfuscateInstantApps, hideShortcutInvocationEvents);
}
@Override
diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
index 179b6490a7fd..4d711128da76 100644
--- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
@@ -482,7 +482,7 @@ class UserUsageStatsService {
}
UsageEvents queryEvents(final long beginTime, final long endTime,
- boolean obfuscateInstantApps) {
+ boolean obfuscateInstantApps, boolean hideShortcutInvocationEvents) {
if (!validRange(checkAndGetTimeLocked(), beginTime, endTime)) {
return null;
}
@@ -500,6 +500,10 @@ class UserUsageStatsService {
}
Event event = stats.events.get(i);
+ if (hideShortcutInvocationEvents
+ && event.mEventType == Event.SHORTCUT_INVOCATION) {
+ continue;
+ }
if (obfuscateInstantApps) {
event = event.getObfuscatedIfInstantApp();
}
diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java
index 9967bebf20b8..140a95d61100 100644
--- a/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -34,9 +34,9 @@ import android.service.usb.UsbIsHeadsetProto;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.dump.DualDumpOutputStream;
import com.android.server.usb.descriptors.UsbDescriptor;
@@ -418,10 +418,11 @@ public class UsbHostManager {
parser.getRawDescriptors());
// Stats collection
- StatsLog.write(StatsLog.USB_DEVICE_ATTACHED, newDevice.getVendorId(),
- newDevice.getProductId(), parser.hasAudioInterface(),
- parser.hasHIDInterface(), parser.hasStorageInterface(),
- StatsLog.USB_DEVICE_ATTACHED__STATE__STATE_CONNECTED, 0);
+ FrameworkStatsLog.write(FrameworkStatsLog.USB_DEVICE_ATTACHED,
+ newDevice.getVendorId(), newDevice.getProductId(),
+ parser.hasAudioInterface(), parser.hasHIDInterface(),
+ parser.hasStorageInterface(),
+ FrameworkStatsLog.USB_DEVICE_ATTACHED__STATE__STATE_CONNECTED, 0);
}
}
@@ -454,10 +455,10 @@ public class UsbHostManager {
UsbDescriptorParser parser = new UsbDescriptorParser(deviceAddress,
current.mDescriptors);
// Stats collection
- StatsLog.write(StatsLog.USB_DEVICE_ATTACHED, device.getVendorId(),
- device.getProductId(), parser.hasAudioInterface(),
+ FrameworkStatsLog.write(FrameworkStatsLog.USB_DEVICE_ATTACHED,
+ device.getVendorId(), device.getProductId(), parser.hasAudioInterface(),
parser.hasHIDInterface(), parser.hasStorageInterface(),
- StatsLog.USB_DEVICE_ATTACHED__STATE__STATE_DISCONNECTED,
+ FrameworkStatsLog.USB_DEVICE_ATTACHED__STATE__STATE_DISCONNECTED,
System.currentTimeMillis() - current.mTimestamp);
}
} else {
diff --git a/services/usb/java/com/android/server/usb/UsbPortManager.java b/services/usb/java/com/android/server/usb/UsbPortManager.java
index c3e2013eff10..1025bf5d67b0 100644
--- a/services/usb/java/com/android/server/usb/UsbPortManager.java
+++ b/services/usb/java/com/android/server/usb/UsbPortManager.java
@@ -66,11 +66,11 @@ import android.service.usb.UsbServiceProto;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Slog;
-import android.util.StatsLog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
import com.android.internal.notification.SystemNotificationChannels;
+import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.dump.DualDumpOutputStream;
import com.android.server.FgThread;
@@ -1040,8 +1040,9 @@ public class UsbPortManager {
if (mConnected.containsKey(portInfo.mUsbPort.getId())) {
//Previous logged a connected. Set it to disconnected.
if (mConnected.get(portInfo.mUsbPort.getId())) {
- StatsLog.write(StatsLog.USB_CONNECTOR_STATE_CHANGED,
- StatsLog.USB_CONNECTOR_STATE_CHANGED__STATE__STATE_DISCONNECTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.USB_CONNECTOR_STATE_CHANGED,
+ FrameworkStatsLog
+ .USB_CONNECTOR_STATE_CHANGED__STATE__STATE_DISCONNECTED,
portInfo.mUsbPort.getId(), portInfo.mLastConnectDurationMillis);
}
mConnected.remove(portInfo.mUsbPort.getId());
@@ -1051,7 +1052,7 @@ public class UsbPortManager {
//Previous logged a contaminant detected. Set it to not detected.
if ((mContaminantStatus.get(portInfo.mUsbPort.getId())
== UsbPortStatus.CONTAMINANT_DETECTION_DETECTED)) {
- StatsLog.write(StatsLog.USB_CONTAMINANT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.USB_CONTAMINANT_REPORTED,
portInfo.mUsbPort.getId(),
convertContaminantDetectionStatusToProto(
UsbPortStatus.CONTAMINANT_DETECTION_NOT_DETECTED));
@@ -1065,10 +1066,10 @@ public class UsbPortManager {
|| (mConnected.get(portInfo.mUsbPort.getId())
!= portInfo.mUsbPortStatus.isConnected())) {
mConnected.put(portInfo.mUsbPort.getId(), portInfo.mUsbPortStatus.isConnected());
- StatsLog.write(StatsLog.USB_CONNECTOR_STATE_CHANGED,
+ FrameworkStatsLog.write(FrameworkStatsLog.USB_CONNECTOR_STATE_CHANGED,
portInfo.mUsbPortStatus.isConnected()
- ? StatsLog.USB_CONNECTOR_STATE_CHANGED__STATE__STATE_CONNECTED :
- StatsLog.USB_CONNECTOR_STATE_CHANGED__STATE__STATE_DISCONNECTED,
+ ? FrameworkStatsLog.USB_CONNECTOR_STATE_CHANGED__STATE__STATE_CONNECTED :
+ FrameworkStatsLog.USB_CONNECTOR_STATE_CHANGED__STATE__STATE_DISCONNECTED,
portInfo.mUsbPort.getId(), portInfo.mLastConnectDurationMillis);
}
@@ -1077,7 +1078,7 @@ public class UsbPortManager {
!= portInfo.mUsbPortStatus.getContaminantDetectionStatus())) {
mContaminantStatus.put(portInfo.mUsbPort.getId(),
portInfo.mUsbPortStatus.getContaminantDetectionStatus());
- StatsLog.write(StatsLog.USB_CONTAMINANT_REPORTED,
+ FrameworkStatsLog.write(FrameworkStatsLog.USB_CONTAMINANT_REPORTED,
portInfo.mUsbPort.getId(),
convertContaminantDetectionStatusToProto(
portInfo.mUsbPortStatus.getContaminantDetectionStatus()));
diff --git a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java
index b230e4bbf8a2..43d5bf323abb 100644
--- a/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java
+++ b/services/usb/java/com/android/server/usb/descriptors/UsbDescriptorParser.java
@@ -292,9 +292,27 @@ public final class UsbDescriptorParser {
// Clean up
descriptor.postParse(stream);
} catch (Exception ex) {
- Log.e(TAG, "Exception parsing USB descriptors.", ex);
+ // Clean up, compute error status
+ descriptor.postParse(stream);
- // Clean up
+ // Report
+ Log.w(TAG, "Exception parsing USB descriptors. type:0x" + descriptor.getType()
+ + " status:" + descriptor.getStatus());
+ if (DEBUG) {
+ // Show full stack trace if debugging
+ Log.e(TAG, "Exception parsing USB descriptors.", ex);
+ }
+ StackTraceElement[] stackElems = ex.getStackTrace();
+ if (stackElems.length > 0) {
+ Log.i(TAG, " class:" + stackElems[0].getClassName()
+ + " @ " + stackElems[0].getLineNumber());
+ }
+ if (stackElems.length > 1) {
+ Log.i(TAG, " class:" + stackElems[1].getClassName()
+ + " @ " + stackElems[1].getLineNumber());
+ }
+
+ // Finish up
descriptor.setStatus(UsbDescriptor.STATUS_PARSE_EXCEPTION);
} finally {
mDescriptors.add(descriptor);
diff --git a/startop/iorap/TEST_MAPPING b/startop/iorap/TEST_MAPPING
index 8c9d4dfb0894..1d8119d91240 100644
--- a/startop/iorap/TEST_MAPPING
+++ b/startop/iorap/TEST_MAPPING
@@ -2,6 +2,9 @@
"presubmit": [
{
"name": "libiorap-java-tests"
+ },
+ {
+ "name": "iorap-functional-tests"
}
],
"imports": [
diff --git a/startop/iorap/functional_tests/Android.bp b/startop/iorap/functional_tests/Android.bp
new file mode 100644
index 000000000000..ce9dc325c76d
--- /dev/null
+++ b/startop/iorap/functional_tests/Android.bp
@@ -0,0 +1,41 @@
+// Copyright (C) 2020 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+android_test {
+ name: "iorap-functional-tests",
+ srcs: ["src/**/*.java"],
+ static_libs: [
+ // Non-test dependencies
+ // library under test
+ "services.startop.iorap",
+ // Test Dependencies
+ // test android dependencies
+ "platform-test-annotations",
+ "androidx.test.rules",
+ "androidx.test.ext.junit",
+ "androidx.test.uiautomator_uiautomator",
+ // test framework dependencies
+ "truth-prebuilt",
+ ],
+ dxflags: ["--multi-dex"],
+ test_suites: ["device-tests"],
+ compile_multilib: "both",
+ libs: [
+ "android.test.base",
+ "android.test.runner",
+ ],
+ certificate: "platform",
+ platform_apis: true,
+}
+
diff --git a/startop/iorap/functional_tests/AndroidManifest.xml b/startop/iorap/functional_tests/AndroidManifest.xml
new file mode 100644
index 000000000000..6bddc4a39577
--- /dev/null
+++ b/startop/iorap/functional_tests/AndroidManifest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--suppress AndroidUnknownAttribute -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.google.android.startop.iorap.tests"
+ android:sharedUserId="com.google.android.startop.iorap.tests.functional"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <!--suppress AndroidDomInspection -->
+ <instrumentation
+ android:name="androidx.test.runner.AndroidJUnitRunner"
+ android:targetPackage="com.google.android.startop.iorap.tests" />
+
+ <!--
+ 'debuggable=true' is required to properly load mockito jvmti dependencies,
+ otherwise it gives the following error at runtime:
+
+ Openjdkjvmti plugin was loaded on a non-debuggable Runtime.
+ Plugin was loaded too late to change runtime state to DEBUGGABLE. -->
+ <application android:debuggable="true">
+ <uses-library android:name="android.test.runner" />
+ </application>
+</manifest>
diff --git a/startop/iorap/functional_tests/AndroidTest.xml b/startop/iorap/functional_tests/AndroidTest.xml
new file mode 100644
index 000000000000..41109b43ab82
--- /dev/null
+++ b/startop/iorap/functional_tests/AndroidTest.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2020 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<configuration description="Runs iorap-functional-tests.">
+ <option name="test-suite-tag" value="apct" />
+ <option name="test-suite-tag" value="apct-instrumentation" />
+ <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+ <option name="cleanup-apks" value="true" />
+ <option name="test-file-name" value="iorap-functional-tests.apk" />
+ </target_preparer>
+
+ <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
+
+ <target_preparer
+ class="com.android.tradefed.targetprep.DeviceSetup">
+
+ <!-- iorapd does not pick up the above changes until we restart it -->
+ <option name="run-command" value="stop iorapd" />
+
+ <!-- Clean up the existing iorap database. -->
+ <option name="run-command" value="rm -r /data/misc/iorapd/*" />
+ <option name="run-command" value="sleep 1" />
+
+ <option name="run-command" value="start iorapd" />
+
+ <!-- give it some time to restart the service; otherwise the first unit test might fail -->
+ <option name="run-command" value="sleep 1" />
+ </target_preparer>
+
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+ <option name="package" value="com.google.android.startop.iorap.tests" />
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+ </test>
+
+ <!-- using DeviceSetup again does not work. we simply leave the device in a semi-bad
+ state. there is no way to clean this up as far as I know.
+ -->
+
+</configuration>
+
diff --git a/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java b/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java
new file mode 100644
index 000000000000..bd8a45c2ca00
--- /dev/null
+++ b/startop/iorap/functional_tests/src/com/google/android/startop/iorap/IorapWorkFlowTest.java
@@ -0,0 +1,377 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.android.startop.iorapd;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.database.DatabaseUtils;
+import android.database.sqlite.SQLiteDatabase;
+import android.util.Log;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.Until;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.File;
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.concurrent.TimeUnit;
+import java.util.function.BooleanSupplier;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.List;
+
+
+/**
+ * Test for the work flow of iorap.
+ *
+ * <p> This test tests the function of iorap from perfetto collection -> compilation ->
+ * prefetching.
+ * </p>
+ */
+@RunWith(AndroidJUnit4.class)
+public class IorapWorkFlowTest {
+
+ private static final String TAG = "IorapWorkFlowTest";
+
+ private static final String TEST_PACKAGE_NAME = "com.android.settings";
+ private static final String TEST_ACTIVITY_NAME = "com.android.settings.Settings";
+
+ private static final String DB_PATH = "/data/misc/iorapd/sqlite.db";
+ private static final Duration TIMEOUT = Duration.ofSeconds(20L);
+
+ private static final String READAHEAD_INDICATOR =
+ "Description = /data/misc/iorapd/com.android.settings/none/com.android.settings.Settings/compiled_traces/compiled_trace.pb";
+
+ private UiDevice mDevice;
+
+ @Before
+ public void startMainActivityFromHomeScreen() throws Exception {
+ // Initialize UiDevice instance
+ mDevice = UiDevice.getInstance(getInstrumentation());
+
+ // Start from the home screen
+ mDevice.pressHome();
+
+ // Wait for launcher
+ final String launcherPackage = mDevice.getLauncherPackageName();
+ assertThat(launcherPackage, notNullValue());
+ mDevice.wait(Until.hasObject(By.pkg(launcherPackage).depth(0)), TIMEOUT.getSeconds());
+ }
+
+ @Test
+ public void testApp() throws Exception {
+ assertThat(mDevice, notNullValue());
+
+ // Perfetto trace collection phase.
+ assertTrue(startAppForPerfettoTrace(/*expectPerfettoTraceCount=*/1));
+ assertTrue(startAppForPerfettoTrace(/*expectPerfettoTraceCount=*/2));
+ assertTrue(startAppForPerfettoTrace(/*expectPerfettoTraceCount=*/3));
+ assertTrue(checkPerfettoTracesExistence(TIMEOUT, 3));
+
+ // Trigger maintenance service for compilation.
+ assertTrue(compile(TIMEOUT));
+
+ // Check if prefetching works.
+ assertTrue(waitForPrefetchingFromLogcat(/*expectPerfettoTraceCount=*/3));
+ }
+
+ /**
+ * Starts the testing app to collect the perfetto trace.
+ *
+ * @param expectPerfettoTraceCount is the expected count of perfetto traces.
+ */
+ private boolean startAppForPerfettoTrace(long expectPerfettoTraceCount)
+ throws Exception {
+ // Close the specified app if it's open
+ closeApp();
+ // Launch the specified app
+ startApp();
+ // Wait for the app to appear
+ mDevice.wait(Until.hasObject(By.pkg(TEST_PACKAGE_NAME).depth(0)), TIMEOUT.getSeconds());
+
+ String sql = "SELECT COUNT(*) FROM activities "
+ + "JOIN app_launch_histories ON activities.id = app_launch_histories.activity_id "
+ + "JOIN raw_traces ON raw_traces.history_id = app_launch_histories.id "
+ + "WHERE activities.name = ?";
+ return checkAndWaitEntriesNum(sql, new String[]{TEST_ACTIVITY_NAME}, expectPerfettoTraceCount,
+ TIMEOUT);
+ }
+
+ // Invokes the maintenance to compile the perfetto traces to compiled trace.
+ private boolean compile(Duration timeout) throws Exception {
+ // The job id (283673059) is defined in class IorapForwardingService.
+ executeShellCommand("cmd jobscheduler run -f android 283673059");
+
+ // Wait for the compilation.
+ String sql = "SELECT COUNT(*) FROM activities JOIN prefetch_files ON "
+ + "activities.id = prefetch_files.activity_id "
+ + "WHERE activities.name = ?";
+ boolean result = checkAndWaitEntriesNum(sql, new String[]{TEST_ACTIVITY_NAME}, /*count=*/1,
+ timeout);
+ if (!result) {
+ return false;
+ }
+
+ return retryWithTimeout(timeout, () -> {
+ try {
+ String compiledTrace = getCompiledTraceFilePath();
+ File compiledTraceLocal = copyFileToLocal(compiledTrace, "compiled_trace.tmp");
+ return compiledTraceLocal.exists();
+ } catch (Exception e) {
+ Log.i(TAG, e.getMessage());
+ return false;
+ }
+ });
+ }
+
+ /**
+ * Check if all the perfetto traces in the db exist.
+ */
+ private boolean checkPerfettoTracesExistence(Duration timeout, int expectPerfettoTraceCount)
+ throws Exception {
+ return retryWithTimeout(timeout, () -> {
+ try {
+ File dbFile = getIorapDb();
+ List<String> traces = getPerfettoTracePaths(dbFile);
+ assertEquals(traces.size(), expectPerfettoTraceCount);
+
+ int count = 0;
+ for (String trace : traces) {
+ File tmp = copyFileToLocal(trace, "perfetto_trace.tmp" + count);
+ ++count;
+ Log.i(TAG, "Check perfetto trace: " + trace);
+ if (!tmp.exists()) {
+ Log.i(TAG, "Perfetto trace does not exist: " + trace);
+ return false;
+ }
+ }
+ return true;
+ } catch (Exception e) {
+ Log.i(TAG, e.getMessage());
+ return false;
+ }
+ });
+ }
+
+ /**
+ * Gets the perfetto traces file path from the db.
+ */
+ private List<String> getPerfettoTracePaths(File dbFile) throws Exception {
+ String sql = "SELECT raw_traces.file_path FROM activities "
+ + "JOIN app_launch_histories ON activities.id = app_launch_histories.activity_id "
+ + "JOIN raw_traces ON raw_traces.history_id = app_launch_histories.id "
+ + "WHERE activities.name = ?";
+
+ List<String> perfettoTraces = new ArrayList<>();
+ try (SQLiteDatabase db = SQLiteDatabase
+ .openDatabase(dbFile.getPath(), null, SQLiteDatabase.OPEN_READONLY)) {
+ Cursor cursor = db.rawQuery(sql, new String[]{TEST_ACTIVITY_NAME});
+ while (cursor.moveToNext()) {
+ perfettoTraces.add(cursor.getString(0));
+ }
+ }
+ return perfettoTraces;
+ }
+
+ private String getCompiledTraceFilePath() throws Exception {
+ File dbFile = getIorapDb();
+ try (SQLiteDatabase db = SQLiteDatabase
+ .openDatabase(dbFile.getPath(), null, SQLiteDatabase.OPEN_READONLY)) {
+ String sql = "SELECT prefetch_files.file_path FROM activities JOIN prefetch_files ON "
+ + "activities.id = prefetch_files.activity_id "
+ + "WHERE activities.name = ?";
+ return DatabaseUtils.stringForQuery(db, sql, new String[]{TEST_ACTIVITY_NAME});
+ }
+ }
+
+ /**
+ * Checks the number of entries in the database table.
+ *
+ * <p> Keep checking until the timeout.
+ */
+ private boolean checkAndWaitEntriesNum(String sql, String[] selectionArgs, long count,
+ Duration timeout)
+ throws Exception {
+ return retryWithTimeout(timeout, () -> {
+ try {
+ File db = getIorapDb();
+ long curCount = getEntriesNum(db, selectionArgs, sql);
+ Log.i(TAG, String
+ .format("For %s, current count is %d, expected count is :%d.", sql, curCount,
+ count));
+ return curCount == count;
+ } catch (Exception e) {
+ Log.i(TAG, e.getMessage());
+ return false;
+ }
+ });
+ }
+
+ /**
+ * Retry until timeout.
+ */
+ private boolean retryWithTimeout(Duration timeout, BooleanSupplier supplier) throws Exception {
+ long totalSleepTimeSeconds = 0L;
+ long sleepIntervalSeconds = 2L;
+ while (true) {
+ if (supplier.getAsBoolean()) {
+ return true;
+ }
+ TimeUnit.SECONDS.sleep(totalSleepTimeSeconds);
+ totalSleepTimeSeconds += sleepIntervalSeconds;
+ if (totalSleepTimeSeconds > timeout.getSeconds()) {
+ return false;
+ }
+ }
+ }
+
+ /**
+ * Gets the number of entries in the query of sql.
+ */
+ private long getEntriesNum(File dbFile, String[] selectionArgs, String sql) throws Exception {
+ try (SQLiteDatabase db = SQLiteDatabase
+ .openDatabase(dbFile.getPath(), null, SQLiteDatabase.OPEN_READONLY)) {
+ return DatabaseUtils.longForQuery(db, sql, selectionArgs);
+ }
+ }
+
+ /**
+ * Gets the iorapd sqlite db file.
+ *
+ * <p> The test cannot access the db file directly under "/data/misc/iorapd".
+ * Copy it to the local directory and change the mode.
+ */
+ private File getIorapDb() throws Exception {
+ File tmpDb = copyFileToLocal("/data/misc/iorapd/sqlite.db", "tmp.db");
+ // Change the mode of the file to allow the access from test.
+ executeShellCommand("chmod 777 " + tmpDb.getPath());
+ return tmpDb;
+ }
+
+ /**
+ * Copys a file to local directory.
+ */
+ private File copyFileToLocal(String src, String tgtFileName) throws Exception {
+ File localDir = getApplicationContext().getDir(this.getClass().getName(), Context.MODE_PRIVATE);
+ File localFile = new File(localDir, tgtFileName);
+ executeShellCommand(String.format("cp %s %s", src, localFile.getPath()));
+ return localFile;
+ }
+
+ /**
+ * Starts the testing app.
+ */
+ private void startApp() throws Exception {
+ Context context = getApplicationContext();
+ final Intent intent = context.getPackageManager()
+ .getLaunchIntentForPackage(TEST_PACKAGE_NAME);
+ context.startActivity(intent);
+ Log.i(TAG, "Started app " + TEST_PACKAGE_NAME);
+ }
+
+ /**
+ * Closes the testing app.
+ * <p> Keep trying to kill the process of the app until no process of the app package
+ * appears.</p>
+ */
+ private void closeApp() throws Exception {
+ while (true) {
+ String pid = executeShellCommand("pidof " + TEST_PACKAGE_NAME);
+ if (pid.isEmpty()) {
+ Log.i(TAG, "Closed app " + TEST_PACKAGE_NAME);
+ return;
+ }
+ executeShellCommand("kill -9 " + pid);
+ TimeUnit.SECONDS.sleep(1L);
+ }
+ }
+
+ /**
+ * Waits for the prefetching log in the logcat.
+ *
+ * <p> When prefetching works, the perfetto traces should not be collected. </p>
+ */
+ private boolean waitForPrefetchingFromLogcat(long expectPerfettoTraceCount) throws Exception {
+ if (!startAppForPerfettoTrace(expectPerfettoTraceCount)) {
+ return false;
+ }
+
+ String log = executeShellCommand("logcat -s iorapd -d");
+
+ Pattern p = Pattern.compile(
+ ".*" + READAHEAD_INDICATOR
+ + ".*Total File Paths=(\\d+) \\(good: (\\d+)%\\)\n"
+ + ".*Total Entries=(\\d+) \\(good: (\\d+)%\\)\n"
+ + ".*Total Bytes=(\\d+) \\(good: (\\d+)%\\).*",
+ Pattern.DOTALL);
+ Matcher m = p.matcher(log);
+
+ if (!m.matches()) {
+ Log.i(TAG, "Cannot find readahead log.");
+ return false;
+ }
+
+ int totalFilePath = Integer.parseInt(m.group(1));
+ float totalFilePathGoodRate = Float.parseFloat(m.group(2)) / 100;
+ int totalEntries = Integer.parseInt(m.group(3));
+ float totalEntriesGoodRate = Float.parseFloat(m.group(4)) / 100;
+ int totalBytes = Integer.parseInt(m.group(5));
+ float totalBytesGoodRate = Float.parseFloat(m.group(6)) / 100;
+
+ Log.i(TAG, String.format(
+ "totalFilePath: %d (good %.2f) totalEntries: %d (good %.2f) totalBytes: %d (good %.2f)",
+ totalFilePath, totalFilePathGoodRate, totalEntries, totalEntriesGoodRate, totalBytes,
+ totalBytesGoodRate));
+
+ return totalFilePath > 0 &&
+ totalEntries > 0 &&
+ totalBytes > 100000 &&
+ totalFilePathGoodRate > 0.5 &&
+ totalEntriesGoodRate > 0.5 &&
+ totalBytesGoodRate > 0.5;
+ }
+
+
+ /**
+ * Executes command in adb shell.
+ *
+ * <p> This should be run as root.</p>
+ */
+ private String executeShellCommand(String cmd) throws Exception {
+ Log.i(TAG, "Execute: " + cmd);
+ return UiDevice.getInstance(
+ InstrumentationRegistry.getInstrumentation()).executeShellCommand(cmd);
+ }
+}
+
+
diff --git a/telephony/common/com/android/internal/telephony/SmsApplication.java b/telephony/common/com/android/internal/telephony/SmsApplication.java
index a679a7137793..bb6f154335a9 100644
--- a/telephony/common/com/android/internal/telephony/SmsApplication.java
+++ b/telephony/common/com/android/internal/telephony/SmsApplication.java
@@ -666,9 +666,21 @@ public final class SmsApplication {
}
/**
+ * Broadcast action:
+ * Same as {@link Intent#ACTION_DEFAULT_SMS_PACKAGE_CHANGED} but it's implicit (e.g. sent to
+ * all apps) and requires
+ * {@link #PERMISSION_MONITOR_DEFAULT_SMS_PACKAGE} to receive.
+ */
+ public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL =
+ "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL";
+
+ public static final String PERMISSION_MONITOR_DEFAULT_SMS_PACKAGE =
+ "android.permission.MONITOR_DEFAULT_SMS_PACKAGE";
+
+ /**
* Sends broadcasts on sms app change:
* {@link Intent#ACTION_DEFAULT_SMS_PACKAGE_CHANGED}
- * {@link Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
+ * {@link #ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL}
*/
public static void broadcastSmsAppChange(Context context,
UserHandle userHandle, @Nullable String oldPackage, @Nullable String newPackage) {
@@ -718,11 +730,11 @@ public final class SmsApplication {
}
// Send an implicit broadcast for the system server.
- // (or anyone with MONITOR_DEFAULT_SMS_PACKAGE, really.)
+ // (or anyone with PERMISSION_MONITOR_DEFAULT_SMS_PACKAGE, really.)
final Intent intent =
- new Intent(Intents.ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL);
+ new Intent(ACTION_DEFAULT_SMS_PACKAGE_CHANGED_INTERNAL);
context.sendBroadcastAsUser(intent, userHandle,
- permission.MONITOR_DEFAULT_SMS_PACKAGE);
+ PERMISSION_MONITOR_DEFAULT_SMS_PACKAGE);
}
/**
diff --git a/telephony/common/com/android/internal/telephony/SmsNumberUtils.java b/telephony/common/com/android/internal/telephony/SmsNumberUtils.java
index cd365a113189..95098e89539d 100644
--- a/telephony/common/com/android/internal/telephony/SmsNumberUtils.java
+++ b/telephony/common/com/android/internal/telephony/SmsNumberUtils.java
@@ -31,6 +31,7 @@ import android.util.Log;
import com.android.internal.telephony.HbpcdLookup.MccIdd;
import com.android.internal.telephony.HbpcdLookup.MccLookup;
+import com.android.internal.telephony.util.TelephonyUtils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@@ -677,7 +678,7 @@ public class SmsNumberUtils {
*/
private static String secureHash(byte[] input) {
// Refrain from logging user personal information in user build.
- if (android.os.Build.IS_USER) {
+ if (TelephonyUtils.IS_USER) {
return "****";
}
diff --git a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java
index 7b3aace798f7..b89772538c6d 100644
--- a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java
+++ b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java
@@ -363,16 +363,10 @@ public final class TelephonyPermissions {
*/
private static boolean reportAccessDeniedToReadIdentifiers(Context context, int subId, int pid,
int uid, String callingPackage, String message) {
- boolean isPreinstalled = false;
ApplicationInfo callingPackageInfo = null;
try {
callingPackageInfo = context.getPackageManager().getApplicationInfoAsUser(
callingPackage, 0, UserHandle.getUserHandleForUid(uid));
- if (callingPackageInfo != null) {
- if (callingPackageInfo.isSystemApp()) {
- isPreinstalled = true;
- }
- }
} catch (PackageManager.NameNotFoundException e) {
// If the application info for the calling package could not be found then assume the
// calling app is a non-preinstalled app to detect any issues with the check
@@ -393,10 +387,9 @@ public final class TelephonyPermissions {
}
invokedMethods.add(message);
TelephonyCommonStatsLog.write(TelephonyCommonStatsLog.DEVICE_IDENTIFIER_ACCESS_DENIED,
- callingPackage, message, isPreinstalled, false);
+ callingPackage, message, /* isPreinstalled= */ false, false);
}
- Log.w(LOG_TAG, "reportAccessDeniedToReadIdentifiers:" + callingPackage + ":" + message
- + ":isPreinstalled=" + isPreinstalled);
+ Log.w(LOG_TAG, "reportAccessDeniedToReadIdentifiers:" + callingPackage + ":" + message);
// if the target SDK is pre-Q then check if the calling package would have previously
// had access to device identifiers.
if (callingPackageInfo != null && (
diff --git a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
index a7ad884ca107..682697469af9 100644
--- a/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
+++ b/telephony/common/com/android/internal/telephony/util/TelephonyUtils.java
@@ -28,6 +28,8 @@ import android.os.RemoteException;
import android.os.SystemProperties;
import java.io.PrintWriter;
+import java.util.Collections;
+import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
@@ -61,6 +63,11 @@ public final class TelephonyUtils {
return str == null ? "" : str;
}
+ /** Returns an empty list if the input is {@code null}. */
+ public static @NonNull <T> List<T> emptyIfNull(@Nullable List<T> cur) {
+ return cur == null ? Collections.emptyList() : cur;
+ }
+
/** Throws a {@link RuntimeException} that wrapps the {@link RemoteException}. */
public static RuntimeException rethrowAsRuntimeException(RemoteException remoteException) {
throw new RuntimeException(remoteException);
diff --git a/telephony/java/android/service/carrier/CarrierIdentifier.java b/telephony/java/android/service/carrier/CarrierIdentifier.java
index 7957c258b54f..bc0f909e1331 100644
--- a/telephony/java/android/service/carrier/CarrierIdentifier.java
+++ b/telephony/java/android/service/carrier/CarrierIdentifier.java
@@ -20,10 +20,10 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Parcel;
import android.os.Parcelable;
-import com.android.telephony.Rlog;
import android.telephony.TelephonyManager;
import com.android.internal.telephony.uicc.IccUtils;
+import com.android.telephony.Rlog;
import java.util.Objects;
diff --git a/telephony/java/android/telephony/AnomalyReporter.java b/telephony/java/android/telephony/AnomalyReporter.java
index 097041f672ac..ffdb23f98fb8 100644
--- a/telephony/java/android/telephony/AnomalyReporter.java
+++ b/telephony/java/android/telephony/AnomalyReporter.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.content.Context;
@@ -27,6 +25,7 @@ import android.content.pm.ResolveInfo;
import android.os.ParcelUuid;
import com.android.internal.util.IndentingPrintWriter;
+import com.android.telephony.Rlog;
import java.io.FileDescriptor;
import java.io.PrintWriter;
diff --git a/telephony/java/android/telephony/BarringInfo.java b/telephony/java/android/telephony/BarringInfo.java
index 5419c3c3d5c4..92423a2f2218 100644
--- a/telephony/java/android/telephony/BarringInfo.java
+++ b/telephony/java/android/telephony/BarringInfo.java
@@ -62,38 +62,38 @@ public final class BarringInfo implements Parcelable {
/* Applicabe to UTRAN */
/** Barring indicator for circuit-switched service; applicable to UTRAN */
public static final int BARRING_SERVICE_TYPE_CS_SERVICE =
- android.hardware.radio.V1_5.BarringServiceType.CS_SERVICE;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.CS_SERVICE;
/** Barring indicator for packet-switched service; applicable to UTRAN */
public static final int BARRING_SERVICE_TYPE_PS_SERVICE =
- android.hardware.radio.V1_5.BarringServiceType.PS_SERVICE;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.PS_SERVICE;
/** Barring indicator for circuit-switched voice service; applicable to UTRAN */
public static final int BARRING_SERVICE_TYPE_CS_VOICE =
- android.hardware.radio.V1_5.BarringServiceType.CS_VOICE;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.CS_VOICE;
/* Applicable to EUTRAN, NGRAN */
/** Barring indicator for mobile-originated signalling; applicable to EUTRAN and NGRAN */
public static final int BARRING_SERVICE_TYPE_MO_SIGNALLING =
- android.hardware.radio.V1_5.BarringServiceType.MO_SIGNALLING;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.MO_SIGNALLING;
/** Barring indicator for mobile-originated data traffic; applicable to EUTRAN and NGRAN */
public static final int BARRING_SERVICE_TYPE_MO_DATA =
- android.hardware.radio.V1_5.BarringServiceType.MO_DATA;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.MO_DATA;
/** Barring indicator for circuit-switched fallback for voice; applicable to EUTRAN and NGRAN */
public static final int BARRING_SERVICE_TYPE_CS_FALLBACK =
- android.hardware.radio.V1_5.BarringServiceType.CS_FALLBACK;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.CS_FALLBACK;
/** Barring indicator for MMTEL (IMS) voice; applicable to EUTRAN and NGRAN */
public static final int BARRING_SERVICE_TYPE_MMTEL_VOICE =
- android.hardware.radio.V1_5.BarringServiceType.MMTEL_VOICE;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.MMTEL_VOICE;
/** Barring indicator for MMTEL (IMS) video; applicable to EUTRAN and NGRAN */
public static final int BARRING_SERVICE_TYPE_MMTEL_VIDEO =
- android.hardware.radio.V1_5.BarringServiceType.MMTEL_VIDEO;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.MMTEL_VIDEO;
/* Applicable to UTRAN, EUTRAN, NGRAN */
/** Barring indicator for emergency services; applicable to UTRAN, EUTRAN, and NGRAN */
public static final int BARRING_SERVICE_TYPE_EMERGENCY =
- android.hardware.radio.V1_5.BarringServiceType.EMERGENCY;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.EMERGENCY;
/** Barring indicator for SMS sending; applicable to UTRAN, EUTRAN, and NGRAN */
public static final int BARRING_SERVICE_TYPE_SMS =
- android.hardware.radio.V1_5.BarringServiceType.SMS;
+ android.hardware.radio.V1_5.BarringInfo.ServiceType.SMS;
//TODO: add barring constants for Operator-Specific barring codes
@@ -112,13 +112,14 @@ public final class BarringInfo implements Parcelable {
public @interface BarringType {}
/** Barring is inactive */
- public static final int BARRING_TYPE_NONE = android.hardware.radio.V1_5.BarringType.NONE;
+ public static final int BARRING_TYPE_NONE =
+ android.hardware.radio.V1_5.BarringInfo.BarringType.NONE;
/** The service is barred */
public static final int BARRING_TYPE_UNCONDITIONAL =
- android.hardware.radio.V1_5.BarringType.UNCONDITIONAL;
+ android.hardware.radio.V1_5.BarringInfo.BarringType.UNCONDITIONAL;
/** The service may be barred based on additional factors */
public static final int BARRING_TYPE_CONDITIONAL =
- android.hardware.radio.V1_5.BarringType.CONDITIONAL;
+ android.hardware.radio.V1_5.BarringInfo.BarringType.CONDITIONAL;
/** If a modem does not report barring info, then the barring type will be UNKNOWN */
public static final int BARRING_TYPE_UNKNOWN = -1;
@@ -238,6 +239,12 @@ public final class BarringInfo implements Parcelable {
}
}
+ private static final BarringServiceInfo BARRING_SERVICE_INFO_UNKNOWN =
+ new BarringServiceInfo(BarringServiceInfo.BARRING_TYPE_UNKNOWN);
+
+ private static final BarringServiceInfo BARRING_SERVICE_INFO_UNBARRED =
+ new BarringServiceInfo(BarringServiceInfo.BARRING_TYPE_NONE);
+
private CellIdentity mCellIdentity;
// A SparseArray potentially mapping each BarringService type to a BarringServiceInfo config
@@ -271,44 +278,35 @@ public final class BarringInfo implements Parcelable {
SparseArray<BarringServiceInfo> serviceInfos = new SparseArray<>();
for (android.hardware.radio.V1_5.BarringInfo halBarringInfo : halBarringInfos) {
- if (halBarringInfo.type == android.hardware.radio.V1_5.BarringType.CONDITIONAL) {
- if (halBarringInfo.typeSpecificInfo.getDiscriminator()
- != android.hardware.radio.V1_5.BarringTypeSpecificInfo
- .hidl_discriminator.conditionalBarringInfo) {
+ if (halBarringInfo.barringType
+ == android.hardware.radio.V1_5.BarringInfo.BarringType.CONDITIONAL) {
+ if (halBarringInfo.barringTypeSpecificInfo.getDiscriminator()
+ != android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo
+ .hidl_discriminator.conditional) {
// this is an error case where the barring info is conditional but the
// conditional barring fields weren't included
continue;
}
- android.hardware.radio.V1_5.ConditionalBarringInfo conditionalInfo =
- halBarringInfo.typeSpecificInfo.conditionalBarringInfo();
+ android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo
+ .Conditional conditionalInfo =
+ halBarringInfo.barringTypeSpecificInfo.conditional();
serviceInfos.put(
- halBarringInfo.service, new BarringServiceInfo(
- halBarringInfo.type, // will always be CONDITIONAL here
+ halBarringInfo.serviceType, new BarringServiceInfo(
+ halBarringInfo.barringType, // will always be CONDITIONAL here
conditionalInfo.isBarred,
- conditionalInfo.barringFactor,
- conditionalInfo.barringTimeSeconds));
+ conditionalInfo.factor,
+ conditionalInfo.timeSeconds));
} else {
// Barring type is either NONE or UNCONDITIONAL
serviceInfos.put(
- halBarringInfo.service, new BarringServiceInfo(halBarringInfo.type,
- false, 0, 0));
+ halBarringInfo.serviceType, new BarringServiceInfo(
+ halBarringInfo.barringType, false, 0, 0));
}
}
return new BarringInfo(ci, serviceInfos);
}
/**
- * Return whether a service is currently barred based on the BarringInfo
- *
- * @param service the service to be checked.
- * @return true if the service is currently being barred, otherwise false
- */
- public boolean isServiceBarred(@BarringServiceType int service) {
- BarringServiceInfo bsi = mBarringServiceInfos.get(service);
- return bsi != null && (bsi.isBarred());
- }
-
- /**
* Get the BarringServiceInfo for a specified service.
*
* @return a BarringServiceInfo struct describing the current barring status for a service
@@ -319,14 +317,16 @@ public final class BarringInfo implements Parcelable {
// type as UNKNOWN; if the modem reports barring info but doesn't report for a particular
// service then we can safely assume that the service isn't barred (for instance because
// that particular service isn't applicable to the current RAN).
- return (bsi != null) ? bsi : new BarringServiceInfo(
- mBarringServiceInfos.size() > 0 ? BarringServiceInfo.BARRING_TYPE_NONE :
- BarringServiceInfo.BARRING_TYPE_UNKNOWN);
+ return (bsi != null) ? bsi : mBarringServiceInfos.size() > 0
+ ? BARRING_SERVICE_INFO_UNBARRED : BARRING_SERVICE_INFO_UNKNOWN;
}
/** @hide */
@SystemApi
public @NonNull BarringInfo createLocationInfoSanitizedCopy() {
+ // The only thing that would need sanitizing is the CellIdentity
+ if (mCellIdentity == null) return this;
+
return new BarringInfo(mCellIdentity.sanitizeLocationInfo(), mBarringServiceInfos);
}
diff --git a/telephony/java/android/telephony/CallForwardingInfo.java b/telephony/java/android/telephony/CallForwardingInfo.java
index 33ad5e8beea3..1dd7539420ac 100644
--- a/telephony/java/android/telephony/CallForwardingInfo.java
+++ b/telephony/java/android/telephony/CallForwardingInfo.java
@@ -15,7 +15,6 @@
*/
package android.telephony;
-
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
@@ -25,6 +24,8 @@ import android.os.Parcelable;
import android.telephony.Annotation.CallForwardingReason;
import android.telephony.Annotation.CallForwardingStatus;
+import com.android.telephony.Rlog;
+
import java.util.Objects;
/**
diff --git a/telephony/java/android/telephony/CbGeoUtils.java b/telephony/java/android/telephony/CbGeoUtils.java
index 719ba8d98773..c0ae99e89cb3 100644
--- a/telephony/java/android/telephony/CbGeoUtils.java
+++ b/telephony/java/android/telephony/CbGeoUtils.java
@@ -16,13 +16,12 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.text.TextUtils;
import com.android.internal.telephony.util.TelephonyUtils;
+import com.android.telephony.Rlog;
import java.util.ArrayList;
import java.util.List;
diff --git a/telephony/java/android/telephony/CellBroadcastService.java b/telephony/java/android/telephony/CellBroadcastService.java
index 09e22aa4eb24..ac775b391e94 100644
--- a/telephony/java/android/telephony/CellBroadcastService.java
+++ b/telephony/java/android/telephony/CellBroadcastService.java
@@ -20,6 +20,7 @@ import android.annotation.CallSuper;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.annotation.WorkerThread;
import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
@@ -102,6 +103,17 @@ public abstract class CellBroadcastService extends Service {
@NonNull String originatingAddress, @NonNull Consumer<Bundle> callback);
/**
+ * Get broadcasted area information.
+ *
+ * @param slotIndex the index of the slot which received the area information.
+ *
+ * @return The area information string sent from the network. This is usually the human readable
+ * string shown in Setting app's SIM status page.
+ */
+ @WorkerThread
+ public abstract @NonNull CharSequence getCellBroadcastAreaInfo(int slotIndex);
+
+ /**
* If overriding this method, call through to the super method for any unknown actions.
* {@inheritDoc}
*/
@@ -162,5 +174,17 @@ public abstract class CellBroadcastService extends Service {
CellBroadcastService.this.onCdmaScpMessage(slotIndex, smsCbProgramData,
originatingAddress, consumer);
}
+
+ /**
+ * Get broadcasted area information
+ *
+ * @param slotIndex the index of the slot which received the message
+ *
+ * @return The area information
+ */
+ @Override
+ public @NonNull CharSequence getCellBroadcastAreaInfo(int slotIndex) {
+ return CellBroadcastService.this.getCellBroadcastAreaInfo(slotIndex);
+ }
}
}
diff --git a/telephony/java/android/telephony/CellIdentity.java b/telephony/java/android/telephony/CellIdentity.java
index 3f0aeb54f132..0c2f1f325793 100644
--- a/telephony/java/android/telephony/CellIdentity.java
+++ b/telephony/java/android/telephony/CellIdentity.java
@@ -69,8 +69,8 @@ public abstract class CellIdentity implements Parcelable {
protected String mAlphaShort;
/** @hide */
- protected CellIdentity(String tag, int type, String mcc, String mnc, String alphal,
- String alphas) {
+ protected CellIdentity(@Nullable String tag, int type, @Nullable String mcc,
+ @Nullable String mnc, @Nullable String alphal, @Nullable String alphas) {
mTag = tag;
mType = type;
diff --git a/telephony/java/android/telephony/CellIdentityCdma.java b/telephony/java/android/telephony/CellIdentityCdma.java
index 1a6bf33cec71..e220b07d703a 100644
--- a/telephony/java/android/telephony/CellIdentityCdma.java
+++ b/telephony/java/android/telephony/CellIdentityCdma.java
@@ -17,6 +17,7 @@
package android.telephony;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.os.Parcel;
import android.telephony.cdma.CdmaCellLocation;
@@ -90,8 +91,8 @@ public final class CellIdentityCdma extends CellIdentity {
*
* @hide
*/
- public CellIdentityCdma(
- int nid, int sid, int bid, int lon, int lat, String alphal, String alphas) {
+ public CellIdentityCdma(int nid, int sid, int bid, int lon, int lat,
+ @Nullable String alphal, @Nullable String alphas) {
super(TAG, CellInfo.TYPE_CDMA, null, null, alphal, alphas);
mNetworkId = inRangeOrUnavailable(nid, 0, NETWORK_ID_MAX);
mSystemId = inRangeOrUnavailable(sid, 0, SYSTEM_ID_MAX);
@@ -108,22 +109,22 @@ public final class CellIdentityCdma extends CellIdentity {
}
/** @hide */
- public CellIdentityCdma(android.hardware.radio.V1_0.CellIdentityCdma cid) {
+ public CellIdentityCdma(@NonNull android.hardware.radio.V1_0.CellIdentityCdma cid) {
this(cid.networkId, cid.systemId, cid.baseStationId, cid.longitude, cid.latitude, "", "");
}
/** @hide */
- public CellIdentityCdma(android.hardware.radio.V1_2.CellIdentityCdma cid) {
+ public CellIdentityCdma(@NonNull android.hardware.radio.V1_2.CellIdentityCdma cid) {
this(cid.base.networkId, cid.base.systemId, cid.base.baseStationId, cid.base.longitude,
cid.base.latitude, cid.operatorNames.alphaLong, cid.operatorNames.alphaShort);
}
- private CellIdentityCdma(CellIdentityCdma cid) {
+ private CellIdentityCdma(@NonNull CellIdentityCdma cid) {
this(cid.mNetworkId, cid.mSystemId, cid.mBasestationId, cid.mLongitude, cid.mLatitude,
cid.mAlphaLong, cid.mAlphaShort);
}
- CellIdentityCdma copy() {
+ @NonNull CellIdentityCdma copy() {
return new CellIdentityCdma(this);
}
diff --git a/telephony/java/android/telephony/CellIdentityGsm.java b/telephony/java/android/telephony/CellIdentityGsm.java
index dc73cbf735b0..9f2537c7ed10 100644
--- a/telephony/java/android/telephony/CellIdentityGsm.java
+++ b/telephony/java/android/telephony/CellIdentityGsm.java
@@ -23,6 +23,7 @@ import android.os.Parcel;
import android.telephony.gsm.GsmCellLocation;
import android.text.TextUtils;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -78,26 +79,31 @@ public final class CellIdentityGsm extends CellIdentity {
*
* @hide
*/
- public CellIdentityGsm(int lac, int cid, int arfcn, int bsic, String mccStr,
- String mncStr, String alphal, String alphas,
- List<String> additionalPlmns) {
+ public CellIdentityGsm(int lac, int cid, int arfcn, int bsic, @Nullable String mccStr,
+ @Nullable String mncStr, @Nullable String alphal, @Nullable String alphas,
+ @NonNull List<String> additionalPlmns) {
super(TAG, CellInfo.TYPE_GSM, mccStr, mncStr, alphal, alphas);
mLac = inRangeOrUnavailable(lac, 0, MAX_LAC);
mCid = inRangeOrUnavailable(cid, 0, MAX_CID);
mArfcn = inRangeOrUnavailable(arfcn, 0, MAX_ARFCN);
mBsic = inRangeOrUnavailable(bsic, 0, MAX_BSIC);
- mAdditionalPlmns = additionalPlmns;
+ mAdditionalPlmns = new ArrayList<>(additionalPlmns.size());
+ for (String plmn : additionalPlmns) {
+ if (isValidPlmn(plmn)) {
+ mAdditionalPlmns.add(plmn);
+ }
+ }
}
/** @hide */
- public CellIdentityGsm(android.hardware.radio.V1_0.CellIdentityGsm cid) {
+ public CellIdentityGsm(@NonNull android.hardware.radio.V1_0.CellIdentityGsm cid) {
this(cid.lac, cid.cid, cid.arfcn,
cid.bsic == (byte) 0xFF ? CellInfo.UNAVAILABLE : cid.bsic,
cid.mcc, cid.mnc, "", "", Collections.emptyList());
}
/** @hide */
- public CellIdentityGsm(android.hardware.radio.V1_2.CellIdentityGsm cid) {
+ public CellIdentityGsm(@NonNull android.hardware.radio.V1_2.CellIdentityGsm cid) {
this(cid.base.lac, cid.base.cid, cid.base.arfcn,
cid.base.bsic == (byte) 0xFF ? CellInfo.UNAVAILABLE : cid.base.bsic, cid.base.mcc,
cid.base.mnc, cid.operatorNames.alphaLong, cid.operatorNames.alphaShort,
@@ -105,7 +111,7 @@ public final class CellIdentityGsm extends CellIdentity {
}
/** @hide */
- public CellIdentityGsm(android.hardware.radio.V1_5.CellIdentityGsm cid) {
+ public CellIdentityGsm(@NonNull android.hardware.radio.V1_5.CellIdentityGsm cid) {
this(cid.base.base.lac, cid.base.base.cid, cid.base.base.arfcn,
cid.base.base.bsic == (byte) 0xFF ? CellInfo.UNAVAILABLE
: cid.base.base.bsic, cid.base.base.mcc,
@@ -113,12 +119,12 @@ public final class CellIdentityGsm extends CellIdentity {
cid.base.operatorNames.alphaShort, cid.additionalPlmns);
}
- private CellIdentityGsm(CellIdentityGsm cid) {
+ private CellIdentityGsm(@NonNull CellIdentityGsm cid) {
this(cid.mLac, cid.mCid, cid.mArfcn, cid.mBsic, cid.mMccStr,
cid.mMncStr, cid.mAlphaLong, cid.mAlphaShort, cid.mAdditionalPlmns);
}
- CellIdentityGsm copy() {
+ @NonNull CellIdentityGsm copy() {
return new CellIdentityGsm(this);
}
diff --git a/telephony/java/android/telephony/CellIdentityLte.java b/telephony/java/android/telephony/CellIdentityLte.java
index cf8fe6a3c345..a194ae35216c 100644
--- a/telephony/java/android/telephony/CellIdentityLte.java
+++ b/telephony/java/android/telephony/CellIdentityLte.java
@@ -24,6 +24,7 @@ import android.os.Parcel;
import android.telephony.gsm.GsmCellLocation;
import android.text.TextUtils;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -104,34 +105,40 @@ public final class CellIdentityLte extends CellIdentity {
*
* @hide
*/
- public CellIdentityLte(int ci, int pci, int tac, int earfcn, int bandwidth, String mccStr,
- String mncStr, String alphal, String alphas, List<String> additionalPlmns,
- ClosedSubscriberGroupInfo csgInfo) {
+ public CellIdentityLte(int ci, int pci, int tac, int earfcn, int bandwidth,
+ @Nullable String mccStr, @Nullable String mncStr, @Nullable String alphal,
+ @Nullable String alphas, @NonNull List<String> additionalPlmns,
+ @Nullable ClosedSubscriberGroupInfo csgInfo) {
super(TAG, CellInfo.TYPE_LTE, mccStr, mncStr, alphal, alphas);
mCi = inRangeOrUnavailable(ci, 0, MAX_CI);
mPci = inRangeOrUnavailable(pci, 0, MAX_PCI);
mTac = inRangeOrUnavailable(tac, 0, MAX_TAC);
mEarfcn = inRangeOrUnavailable(earfcn, 0, MAX_EARFCN);
mBandwidth = inRangeOrUnavailable(bandwidth, 0, MAX_BANDWIDTH);
- mAdditionalPlmns = additionalPlmns;
+ mAdditionalPlmns = new ArrayList<>(additionalPlmns.size());
+ for (String plmn : additionalPlmns) {
+ if (isValidPlmn(plmn)) {
+ mAdditionalPlmns.add(plmn);
+ }
+ }
mCsgInfo = csgInfo;
}
/** @hide */
- public CellIdentityLte(android.hardware.radio.V1_0.CellIdentityLte cid) {
+ public CellIdentityLte(@NonNull android.hardware.radio.V1_0.CellIdentityLte cid) {
this(cid.ci, cid.pci, cid.tac, cid.earfcn,
CellInfo.UNAVAILABLE, cid.mcc, cid.mnc, "", "", Collections.emptyList(), null);
}
/** @hide */
- public CellIdentityLte(android.hardware.radio.V1_2.CellIdentityLte cid) {
+ public CellIdentityLte(@NonNull android.hardware.radio.V1_2.CellIdentityLte cid) {
this(cid.base.ci, cid.base.pci, cid.base.tac, cid.base.earfcn, cid.bandwidth,
cid.base.mcc, cid.base.mnc, cid.operatorNames.alphaLong,
cid.operatorNames.alphaShort, Collections.emptyList(), null);
}
/** @hide */
- public CellIdentityLte(android.hardware.radio.V1_5.CellIdentityLte cid) {
+ public CellIdentityLte(@NonNull android.hardware.radio.V1_5.CellIdentityLte cid) {
this(cid.base.base.ci, cid.base.base.pci, cid.base.base.tac, cid.base.base.earfcn,
cid.base.bandwidth, cid.base.base.mcc, cid.base.base.mnc,
cid.base.operatorNames.alphaLong, cid.base.operatorNames.alphaShort,
@@ -139,7 +146,7 @@ public final class CellIdentityLte extends CellIdentity {
? new ClosedSubscriberGroupInfo(cid.optionalCsgInfo.csgInfo()) : null);
}
- private CellIdentityLte(CellIdentityLte cid) {
+ private CellIdentityLte(@NonNull CellIdentityLte cid) {
this(cid.mCi, cid.mPci, cid.mTac, cid.mEarfcn, cid.mBandwidth, cid.mMccStr,
cid.mMncStr, cid.mAlphaLong, cid.mAlphaShort, cid.mAdditionalPlmns, cid.mCsgInfo);
}
@@ -152,7 +159,7 @@ public final class CellIdentityLte extends CellIdentity {
mMccStr, mMncStr, mAlphaLong, mAlphaShort, mAdditionalPlmns, null);
}
- CellIdentityLte copy() {
+ @NonNull CellIdentityLte copy() {
return new CellIdentityLte(this);
}
diff --git a/telephony/java/android/telephony/CellIdentityNr.java b/telephony/java/android/telephony/CellIdentityNr.java
index d4f181fc735a..a0ef5aa2feae 100644
--- a/telephony/java/android/telephony/CellIdentityNr.java
+++ b/telephony/java/android/telephony/CellIdentityNr.java
@@ -64,26 +64,32 @@ public final class CellIdentityNr extends CellIdentity {
* @hide
*/
public CellIdentityNr(int pci, int tac, int nrArfcn, @NgranBand List<Integer> bands,
- String mccStr, String mncStr, long nci, String alphal, String alphas,
- List<String> additionalPlmns) {
+ @Nullable String mccStr, @Nullable String mncStr, long nci,
+ @Nullable String alphal, @Nullable String alphas,
+ @NonNull List<String> additionalPlmns) {
super(TAG, CellInfo.TYPE_NR, mccStr, mncStr, alphal, alphas);
mPci = inRangeOrUnavailable(pci, 0, MAX_PCI);
mTac = inRangeOrUnavailable(tac, 0, MAX_TAC);
mNrArfcn = inRangeOrUnavailable(nrArfcn, 0, MAX_NRARFCN);
mBands = new ArrayList<>(bands);
mNci = inRangeOrUnavailable(nci, 0, MAX_NCI);
- mAdditionalPlmns = new ArrayList<>(additionalPlmns);
+ mAdditionalPlmns = new ArrayList<>(additionalPlmns.size());
+ for (String plmn : additionalPlmns) {
+ if (isValidPlmn(plmn)) {
+ mAdditionalPlmns.add(plmn);
+ }
+ }
}
/** @hide */
- public CellIdentityNr(android.hardware.radio.V1_4.CellIdentityNr cid) {
+ public CellIdentityNr(@NonNull android.hardware.radio.V1_4.CellIdentityNr cid) {
this(cid.pci, cid.tac, cid.nrarfcn, Collections.emptyList(), cid.mcc, cid.mnc, cid.nci,
cid.operatorNames.alphaLong, cid.operatorNames.alphaShort,
Collections.emptyList());
}
/** @hide */
- public CellIdentityNr(android.hardware.radio.V1_5.CellIdentityNr cid) {
+ public CellIdentityNr(@NonNull android.hardware.radio.V1_5.CellIdentityNr cid) {
this(cid.base.pci, cid.base.tac, cid.base.nrarfcn, cid.bands, cid.base.mcc, cid.base.mnc,
cid.base.nci, cid.base.operatorNames.alphaLong,
cid.base.operatorNames.alphaShort, cid.additionalPlmns);
diff --git a/telephony/java/android/telephony/CellIdentityTdscdma.java b/telephony/java/android/telephony/CellIdentityTdscdma.java
index 2ff351c17e9a..531487a313d9 100644
--- a/telephony/java/android/telephony/CellIdentityTdscdma.java
+++ b/telephony/java/android/telephony/CellIdentityTdscdma.java
@@ -21,6 +21,7 @@ import android.annotation.Nullable;
import android.os.Parcel;
import android.telephony.gsm.GsmCellLocation;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -82,39 +83,44 @@ public final class CellIdentityTdscdma extends CellIdentity {
*
* @hide
*/
- public CellIdentityTdscdma(String mcc, String mnc, int lac, int cid, int cpid, int uarfcn,
- String alphal, String alphas, @NonNull List<String> additionalPlmns,
- ClosedSubscriberGroupInfo csgInfo) {
+ public CellIdentityTdscdma(@Nullable String mcc, @Nullable String mnc, int lac, int cid,
+ int cpid, int uarfcn, @Nullable String alphal, @Nullable String alphas,
+ @NonNull List<String> additionalPlmns, @Nullable ClosedSubscriberGroupInfo csgInfo) {
super(TAG, CellInfo.TYPE_TDSCDMA, mcc, mnc, alphal, alphas);
mLac = inRangeOrUnavailable(lac, 0, MAX_LAC);
mCid = inRangeOrUnavailable(cid, 0, MAX_CID);
mCpid = inRangeOrUnavailable(cpid, 0, MAX_CPID);
mUarfcn = inRangeOrUnavailable(uarfcn, 0, MAX_UARFCN);
- mAdditionalPlmns = additionalPlmns;
+ mAdditionalPlmns = new ArrayList<>(additionalPlmns.size());
+ for (String plmn : additionalPlmns) {
+ if (isValidPlmn(plmn)) {
+ mAdditionalPlmns.add(plmn);
+ }
+ }
mCsgInfo = csgInfo;
}
- private CellIdentityTdscdma(CellIdentityTdscdma cid) {
+ private CellIdentityTdscdma(@NonNull CellIdentityTdscdma cid) {
this(cid.mMccStr, cid.mMncStr, cid.mLac, cid.mCid,
cid.mCpid, cid.mUarfcn, cid.mAlphaLong,
cid.mAlphaShort, cid.mAdditionalPlmns, cid.mCsgInfo);
}
/** @hide */
- public CellIdentityTdscdma(android.hardware.radio.V1_0.CellIdentityTdscdma cid) {
+ public CellIdentityTdscdma(@NonNull android.hardware.radio.V1_0.CellIdentityTdscdma cid) {
this(cid.mcc, cid.mnc, cid.lac, cid.cid, cid.cpid, CellInfo.UNAVAILABLE, "", "",
Collections.emptyList(), null);
}
/** @hide */
- public CellIdentityTdscdma(android.hardware.radio.V1_2.CellIdentityTdscdma cid) {
+ public CellIdentityTdscdma(@NonNull android.hardware.radio.V1_2.CellIdentityTdscdma cid) {
this(cid.base.mcc, cid.base.mnc, cid.base.lac, cid.base.cid, cid.base.cpid,
cid.uarfcn, cid.operatorNames.alphaLong, cid.operatorNames.alphaShort,
Collections.emptyList(), null);
}
/** @hide */
- public CellIdentityTdscdma(android.hardware.radio.V1_5.CellIdentityTdscdma cid) {
+ public CellIdentityTdscdma(@NonNull android.hardware.radio.V1_5.CellIdentityTdscdma cid) {
this(cid.base.base.mcc, cid.base.base.mnc, cid.base.base.lac, cid.base.base.cid,
cid.base.base.cpid, cid.base.uarfcn, cid.base.operatorNames.alphaLong,
cid.base.operatorNames.alphaShort,
@@ -130,7 +136,7 @@ public final class CellIdentityTdscdma extends CellIdentity {
mAdditionalPlmns, null);
}
- CellIdentityTdscdma copy() {
+ @NonNull CellIdentityTdscdma copy() {
return new CellIdentityTdscdma(this);
}
diff --git a/telephony/java/android/telephony/CellIdentityWcdma.java b/telephony/java/android/telephony/CellIdentityWcdma.java
index 9be42a17677b..15e491b66575 100644
--- a/telephony/java/android/telephony/CellIdentityWcdma.java
+++ b/telephony/java/android/telephony/CellIdentityWcdma.java
@@ -23,6 +23,7 @@ import android.os.Parcel;
import android.telephony.gsm.GsmCellLocation;
import android.text.TextUtils;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -83,34 +84,38 @@ public final class CellIdentityWcdma extends CellIdentity {
*
* @hide
*/
- public CellIdentityWcdma (int lac, int cid, int psc, int uarfcn,
- String mccStr, String mncStr, String alphal, String alphas,
- @NonNull List<String> additionalPlmns,
- @Nullable ClosedSubscriberGroupInfo csgInfo) {
+ public CellIdentityWcdma(int lac, int cid, int psc, int uarfcn, @Nullable String mccStr,
+ @Nullable String mncStr, @Nullable String alphal, @Nullable String alphas,
+ @NonNull List<String> additionalPlmns, @Nullable ClosedSubscriberGroupInfo csgInfo) {
super(TAG, CellInfo.TYPE_WCDMA, mccStr, mncStr, alphal, alphas);
mLac = inRangeOrUnavailable(lac, 0, MAX_LAC);
mCid = inRangeOrUnavailable(cid, 0, MAX_CID);
mPsc = inRangeOrUnavailable(psc, 0, MAX_PSC);
mUarfcn = inRangeOrUnavailable(uarfcn, 0, MAX_UARFCN);
- mAdditionalPlmns = additionalPlmns;
+ mAdditionalPlmns = new ArrayList<>(additionalPlmns.size());
+ for (String plmn : additionalPlmns) {
+ if (isValidPlmn(plmn)) {
+ mAdditionalPlmns.add(plmn);
+ }
+ }
mCsgInfo = csgInfo;
}
/** @hide */
- public CellIdentityWcdma(android.hardware.radio.V1_0.CellIdentityWcdma cid) {
+ public CellIdentityWcdma(@NonNull android.hardware.radio.V1_0.CellIdentityWcdma cid) {
this(cid.lac, cid.cid, cid.psc, cid.uarfcn, cid.mcc, cid.mnc, "", "",
Collections.emptyList(), null);
}
/** @hide */
- public CellIdentityWcdma(android.hardware.radio.V1_2.CellIdentityWcdma cid) {
+ public CellIdentityWcdma(@NonNull android.hardware.radio.V1_2.CellIdentityWcdma cid) {
this(cid.base.lac, cid.base.cid, cid.base.psc, cid.base.uarfcn,
cid.base.mcc, cid.base.mnc, cid.operatorNames.alphaLong,
cid.operatorNames.alphaShort, Collections.emptyList(), null);
}
/** @hide */
- public CellIdentityWcdma(android.hardware.radio.V1_5.CellIdentityWcdma cid) {
+ public CellIdentityWcdma(@NonNull android.hardware.radio.V1_5.CellIdentityWcdma cid) {
this(cid.base.base.lac, cid.base.base.cid, cid.base.base.psc, cid.base.base.uarfcn,
cid.base.base.mcc, cid.base.base.mnc, cid.base.operatorNames.alphaLong,
cid.base.operatorNames.alphaShort, cid.additionalPlmns,
@@ -118,7 +123,7 @@ public final class CellIdentityWcdma extends CellIdentity {
? new ClosedSubscriberGroupInfo(cid.optionalCsgInfo.csgInfo()) : null);
}
- private CellIdentityWcdma(CellIdentityWcdma cid) {
+ private CellIdentityWcdma(@NonNull CellIdentityWcdma cid) {
this(cid.mLac, cid.mCid, cid.mPsc, cid.mUarfcn, cid.mMccStr,
cid.mMncStr, cid.mAlphaLong, cid.mAlphaShort, cid.mAdditionalPlmns, cid.mCsgInfo);
}
@@ -131,7 +136,7 @@ public final class CellIdentityWcdma extends CellIdentity {
mAlphaLong, mAlphaShort, mAdditionalPlmns, null);
}
- CellIdentityWcdma copy() {
+ @NonNull CellIdentityWcdma copy() {
return new CellIdentityWcdma(this);
}
diff --git a/telephony/java/android/telephony/CellInfoCdma.java b/telephony/java/android/telephony/CellInfoCdma.java
index acb21f450243..0edb4a4eed9b 100644
--- a/telephony/java/android/telephony/CellInfoCdma.java
+++ b/telephony/java/android/telephony/CellInfoCdma.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.telephony.Rlog;
+
/**
* A {@link CellInfo} representing a CDMA cell that provides identity and measurement info.
*/
diff --git a/telephony/java/android/telephony/CellInfoGsm.java b/telephony/java/android/telephony/CellInfoGsm.java
index 79a9d44f36a2..2dddd3f935cd 100644
--- a/telephony/java/android/telephony/CellInfoGsm.java
+++ b/telephony/java/android/telephony/CellInfoGsm.java
@@ -16,13 +16,13 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.telephony.Rlog;
+
/**
* A {@link CellInfo} representing a GSM cell that provides identity and measurement info.
*/
diff --git a/telephony/java/android/telephony/CellInfoLte.java b/telephony/java/android/telephony/CellInfoLte.java
index fed3ebf4af03..a57c7cd136db 100644
--- a/telephony/java/android/telephony/CellInfoLte.java
+++ b/telephony/java/android/telephony/CellInfoLte.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.telephony.Rlog;
+
import java.util.Objects;
/**
diff --git a/telephony/java/android/telephony/CellInfoTdscdma.java b/telephony/java/android/telephony/CellInfoTdscdma.java
index 58ff8c9558d9..d2cc9c6ce422 100644
--- a/telephony/java/android/telephony/CellInfoTdscdma.java
+++ b/telephony/java/android/telephony/CellInfoTdscdma.java
@@ -16,12 +16,12 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.telephony.Rlog;
+
import java.util.Objects;
/**
diff --git a/telephony/java/android/telephony/CellInfoWcdma.java b/telephony/java/android/telephony/CellInfoWcdma.java
index 33f6a555414c..3f792d17b8ef 100644
--- a/telephony/java/android/telephony/CellInfoWcdma.java
+++ b/telephony/java/android/telephony/CellInfoWcdma.java
@@ -18,6 +18,7 @@ package android.telephony;
import android.os.Parcel;
import android.os.Parcelable;
+
import com.android.telephony.Rlog;
import java.util.Objects;
diff --git a/telephony/java/android/telephony/CellSignalStrengthCdma.java b/telephony/java/android/telephony/CellSignalStrengthCdma.java
index cab3b0cd3c47..1c92705b9422 100644
--- a/telephony/java/android/telephony/CellSignalStrengthCdma.java
+++ b/telephony/java/android/telephony/CellSignalStrengthCdma.java
@@ -20,6 +20,7 @@ import android.annotation.IntRange;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
+
import com.android.telephony.Rlog;
import java.util.Objects;
diff --git a/telephony/java/android/telephony/CellSignalStrengthGsm.java b/telephony/java/android/telephony/CellSignalStrengthGsm.java
index 28052aa93486..76d2df918423 100644
--- a/telephony/java/android/telephony/CellSignalStrengthGsm.java
+++ b/telephony/java/android/telephony/CellSignalStrengthGsm.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntRange;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
@@ -25,6 +23,8 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
+import com.android.telephony.Rlog;
+
import java.util.Objects;
/**
diff --git a/telephony/java/android/telephony/CellSignalStrengthLte.java b/telephony/java/android/telephony/CellSignalStrengthLte.java
index 2ef2a52977ff..6d6eaa4677f0 100644
--- a/telephony/java/android/telephony/CellSignalStrengthLte.java
+++ b/telephony/java/android/telephony/CellSignalStrengthLte.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntRange;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
+import com.android.telephony.Rlog;
+
import java.util.Arrays;
import java.util.Objects;
diff --git a/telephony/java/android/telephony/CellSignalStrengthNr.java b/telephony/java/android/telephony/CellSignalStrengthNr.java
index f4c13fff9943..e3d03a38b6b0 100644
--- a/telephony/java/android/telephony/CellSignalStrengthNr.java
+++ b/telephony/java/android/telephony/CellSignalStrengthNr.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
+import com.android.telephony.Rlog;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
diff --git a/telephony/java/android/telephony/CellSignalStrengthTdscdma.java b/telephony/java/android/telephony/CellSignalStrengthTdscdma.java
index 3bd9d5810136..e96f200280b6 100644
--- a/telephony/java/android/telephony/CellSignalStrengthTdscdma.java
+++ b/telephony/java/android/telephony/CellSignalStrengthTdscdma.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.PersistableBundle;
+import com.android.telephony.Rlog;
+
import java.util.Objects;
/**
diff --git a/telephony/java/android/telephony/CellSignalStrengthWcdma.java b/telephony/java/android/telephony/CellSignalStrengthWcdma.java
index 535e9520074d..8b14b7490679 100644
--- a/telephony/java/android/telephony/CellSignalStrengthWcdma.java
+++ b/telephony/java/android/telephony/CellSignalStrengthWcdma.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntRange;
import android.annotation.StringDef;
import android.compat.annotation.UnsupportedAppUsage;
@@ -26,6 +24,8 @@ import android.os.Parcelable;
import android.os.PersistableBundle;
import android.text.TextUtils;
+import com.android.telephony.Rlog;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Objects;
diff --git a/telephony/java/android/telephony/ICellBroadcastService.aidl b/telephony/java/android/telephony/ICellBroadcastService.aidl
index 11263d99cb8f..4f20ed67fda4 100644
--- a/telephony/java/android/telephony/ICellBroadcastService.aidl
+++ b/telephony/java/android/telephony/ICellBroadcastService.aidl
@@ -36,4 +36,7 @@ interface ICellBroadcastService {
/** @see android.telephony.CellBroadcastService#onCdmaScpMessage */
oneway void handleCdmaScpMessage(int slotId, in List<CdmaSmsCbProgramData> programData,
String originatingAddress, in RemoteCallback callback);
+
+ /** @see android.telephony.CellBroadcastService#getCellBroadcastAreaInfo */
+ CharSequence getCellBroadcastAreaInfo(int slotIndex);
}
diff --git a/telephony/java/android/telephony/NetworkRegistrationInfo.java b/telephony/java/android/telephony/NetworkRegistrationInfo.java
index 32ffb75f373c..f9de47d7677d 100644
--- a/telephony/java/android/telephony/NetworkRegistrationInfo.java
+++ b/telephony/java/android/telephony/NetworkRegistrationInfo.java
@@ -25,6 +25,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.AccessNetworkConstants.TransportType;
import android.telephony.Annotation.NetworkType;
+import android.text.TextUtils;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -214,6 +215,9 @@ public final class NetworkRegistrationInfo implements Parcelable {
@Nullable
private DataSpecificRegistrationInfo mDataSpecificInfo;
+ @NonNull
+ private String mRplmn;
+
/**
* @param domain Network domain. Must be a {@link Domain}. For transport type
* {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}, this must set to {@link #DOMAIN_PS}.
@@ -234,13 +238,14 @@ public final class NetworkRegistrationInfo implements Parcelable {
* @param availableServices The list of the supported services.
* @param cellIdentity The identity representing a unique cell or wifi AP. Set to null if the
* information is not available.
+ * @param rplmn the registered plmn or the last plmn for attempted registration if reg failed.
*/
private NetworkRegistrationInfo(@Domain int domain, @TransportType int transportType,
@RegistrationState int registrationState,
@NetworkType int accessNetworkTechnology, int rejectCause,
boolean emergencyOnly,
@Nullable @ServiceType List<Integer> availableServices,
- @Nullable CellIdentity cellIdentity) {
+ @Nullable CellIdentity cellIdentity, @Nullable String rplmn) {
mDomain = domain;
mTransportType = transportType;
mRegistrationState = registrationState;
@@ -253,6 +258,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
mCellIdentity = cellIdentity;
mEmergencyOnly = emergencyOnly;
mNrState = NR_STATE_NONE;
+ mRplmn = (rplmn == null) ? "" : rplmn;
}
/**
@@ -263,11 +269,11 @@ public final class NetworkRegistrationInfo implements Parcelable {
int registrationState, int accessNetworkTechnology,
int rejectCause, boolean emergencyOnly,
@Nullable List<Integer> availableServices,
- @Nullable CellIdentity cellIdentity, boolean cssSupported,
- int roamingIndicator, int systemIsInPrl,
+ @Nullable CellIdentity cellIdentity, @Nullable String rplmn,
+ boolean cssSupported, int roamingIndicator, int systemIsInPrl,
int defaultRoamingIndicator) {
this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
- emergencyOnly, availableServices, cellIdentity);
+ emergencyOnly, availableServices, cellIdentity, rplmn);
mVoiceSpecificInfo = new VoiceSpecificRegistrationInfo(cssSupported, roamingIndicator,
systemIsInPrl, defaultRoamingIndicator);
@@ -281,13 +287,13 @@ public final class NetworkRegistrationInfo implements Parcelable {
int registrationState, int accessNetworkTechnology,
int rejectCause, boolean emergencyOnly,
@Nullable List<Integer> availableServices,
- @Nullable CellIdentity cellIdentity, int maxDataCalls,
- boolean isDcNrRestricted, boolean isNrAvailable,
- boolean isEndcAvailable,
+ @Nullable CellIdentity cellIdentity, @Nullable String rplmn,
+ int maxDataCalls, boolean isDcNrRestricted,
+ boolean isNrAvailable, boolean isEndcAvailable,
LteVopsSupportInfo lteVopsSupportInfo,
boolean isUsingCarrierAggregation) {
this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
- emergencyOnly, availableServices, cellIdentity);
+ emergencyOnly, availableServices, cellIdentity, rplmn);
mDataSpecificInfo = new DataSpecificRegistrationInfo(
maxDataCalls, isDcNrRestricted, isNrAvailable, isEndcAvailable, lteVopsSupportInfo,
isUsingCarrierAggregation);
@@ -310,6 +316,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
mDataSpecificInfo = source.readParcelable(
DataSpecificRegistrationInfo.class.getClassLoader());
mNrState = source.readInt();
+ mRplmn = source.readString();
}
/**
@@ -343,6 +350,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
mDataSpecificInfo = new DataSpecificRegistrationInfo(nri.mDataSpecificInfo);
}
mNrState = nri.mNrState;
+ mRplmn = nri.mRplmn;
}
/**
@@ -395,6 +403,22 @@ public final class NetworkRegistrationInfo implements Parcelable {
}
/**
+ * Get the PLMN-ID for this Network Registration, also known as the RPLMN.
+ *
+ * <p>If the device is registered, this will return the registered PLMN-ID. If registration
+ * has failed, then this will return the PLMN ID of the last attempted registration. If the
+ * device is not registered, or if is registered to a non-3GPP radio technology, then this
+ * will return an empty string.
+ *
+ * <p>See 3GPP TS 23.122 for further information about the Registered PLMN.
+ *
+ * @return the registered PLMN-ID or an empty string.
+ */
+ @NonNull public String getRegisteredPlmn() {
+ return mRplmn;
+ }
+
+ /**
* @return {@code true} if registered on roaming network, {@code false} otherwise.
*/
public boolean isRoaming() {
@@ -590,6 +614,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
.append(" voiceSpecificInfo=").append(mVoiceSpecificInfo)
.append(" dataSpecificInfo=").append(mDataSpecificInfo)
.append(" nrState=").append(nrStateToString(mNrState))
+ .append(" rRplmn=").append(mRplmn)
.append("}").toString();
}
@@ -597,7 +622,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
public int hashCode() {
return Objects.hash(mDomain, mTransportType, mRegistrationState, mRoamingType,
mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
- mCellIdentity, mVoiceSpecificInfo, mDataSpecificInfo, mNrState);
+ mCellIdentity, mVoiceSpecificInfo, mDataSpecificInfo, mNrState, mRplmn);
}
@Override
@@ -620,6 +645,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
&& Objects.equals(mCellIdentity, other.mCellIdentity)
&& Objects.equals(mVoiceSpecificInfo, other.mVoiceSpecificInfo)
&& Objects.equals(mDataSpecificInfo, other.mDataSpecificInfo)
+ && TextUtils.equals(mRplmn, other.mRplmn)
&& mNrState == other.mNrState;
}
@@ -641,6 +667,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
dest.writeParcelable(mVoiceSpecificInfo, 0);
dest.writeParcelable(mDataSpecificInfo, 0);
dest.writeInt(mNrState);
+ dest.writeString(mRplmn);
}
/**
@@ -741,6 +768,9 @@ public final class NetworkRegistrationInfo implements Parcelable {
@Nullable
private CellIdentity mCellIdentity;
+ @NonNull
+ private String mRplmn = "";
+
/**
* Default constructor for Builder.
*/
@@ -855,6 +885,18 @@ public final class NetworkRegistrationInfo implements Parcelable {
}
/**
+ * Set the registered PLMN.
+ *
+ * @param rplmn the registered plmn.
+ *
+ * @return The same instance of the builder.
+ */
+ public @NonNull Builder setRegisteredPlmn(@Nullable String rplmn) {
+ mRplmn = (rplmn == null) ? "" : rplmn;
+ return this;
+ }
+
+ /**
* Build the NetworkRegistrationInfo.
* @return the NetworkRegistrationInfo object.
* @hide
@@ -863,7 +905,7 @@ public final class NetworkRegistrationInfo implements Parcelable {
public @NonNull NetworkRegistrationInfo build() {
return new NetworkRegistrationInfo(mDomain, mTransportType, mRegistrationState,
mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
- mCellIdentity);
+ mCellIdentity, mRplmn);
}
}
}
diff --git a/telephony/java/android/telephony/NetworkScan.java b/telephony/java/android/telephony/NetworkScan.java
index a6dedf761636..adf31ed45c9a 100644
--- a/telephony/java/android/telephony/NetworkScan.java
+++ b/telephony/java/android/telephony/NetworkScan.java
@@ -16,12 +16,11 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntDef;
import android.os.RemoteException;
import com.android.internal.telephony.ITelephony;
+import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/telephony/java/android/telephony/NetworkService.java b/telephony/java/android/telephony/NetworkService.java
index 844289ce75d4..87d94bfda662 100644
--- a/telephony/java/android/telephony/NetworkService.java
+++ b/telephony/java/android/telephony/NetworkService.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SdkConstant;
@@ -34,6 +32,7 @@ import android.telephony.NetworkRegistrationInfo.Domain;
import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.telephony.Rlog;
import java.util.ArrayList;
import java.util.List;
diff --git a/telephony/java/android/telephony/NetworkServiceCallback.java b/telephony/java/android/telephony/NetworkServiceCallback.java
index 214ab41ae4f2..e8e73ee86f58 100644
--- a/telephony/java/android/telephony/NetworkServiceCallback.java
+++ b/telephony/java/android/telephony/NetworkServiceCallback.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntDef;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.RemoteException;
import android.telephony.NetworkService.NetworkServiceProvider;
+import com.android.telephony.Rlog;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/telephony/java/android/telephony/PhoneCapability.java b/telephony/java/android/telephony/PhoneCapability.java
index 70931fbf2d6d..a53792802d92 100644
--- a/telephony/java/android/telephony/PhoneCapability.java
+++ b/telephony/java/android/telephony/PhoneCapability.java
@@ -25,7 +25,7 @@ import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.AccessNetworkConstants.RadioAccessNetworkType;
import android.telephony.TelephonyManager.NetworkTypeBitMask;
-import com.android.internal.util.CollectionUtils;
+import com.android.internal.telephony.util.TelephonyUtils;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -181,13 +181,13 @@ public final class PhoneCapability implements Parcelable {
this.mEutranUeCategoryUl = eutranUeCategoryUl;
this.mPsDataConnectionLingerTimeMillis = psDataConnectionLingerTimeMillis;
this.mSupportedRats = supportedRats;
- this.mGeranBands = CollectionUtils.emptyIfNull(geranBands);
- this.mUtranBands = CollectionUtils.emptyIfNull(utranBands);
- this.mEutranBands = CollectionUtils.emptyIfNull(eutranBands);
- this.mNgranBands = CollectionUtils.emptyIfNull(ngranBands);
- this.mLogicalModemUuids = CollectionUtils.emptyIfNull(logicalModemUuids);
- this.mSimSlotCapabilities = CollectionUtils.emptyIfNull(simSlotCapabilities);
- this.mConcurrentFeaturesSupport = CollectionUtils.emptyIfNull(concurrentFeaturesSupport);
+ this.mGeranBands = TelephonyUtils.emptyIfNull(geranBands);
+ this.mUtranBands = TelephonyUtils.emptyIfNull(utranBands);
+ this.mEutranBands = TelephonyUtils.emptyIfNull(eutranBands);
+ this.mNgranBands = TelephonyUtils.emptyIfNull(ngranBands);
+ this.mLogicalModemUuids = TelephonyUtils.emptyIfNull(logicalModemUuids);
+ this.mSimSlotCapabilities = TelephonyUtils.emptyIfNull(simSlotCapabilities);
+ this.mConcurrentFeaturesSupport = TelephonyUtils.emptyIfNull(concurrentFeaturesSupport);
}
private PhoneCapability(Parcel in) {
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java
index 0074772a221d..ec9940836afe 100644
--- a/telephony/java/android/telephony/PhoneNumberUtils.java
+++ b/telephony/java/android/telephony/PhoneNumberUtils.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -45,6 +43,7 @@ import com.android.i18n.phonenumbers.NumberParseException;
import com.android.i18n.phonenumbers.PhoneNumberUtil;
import com.android.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
import com.android.i18n.phonenumbers.Phonenumber.PhoneNumber;
+import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/telephony/java/android/telephony/PreciseDataConnectionState.java b/telephony/java/android/telephony/PreciseDataConnectionState.java
index 094b8b0d1631..708adebb6db3 100644
--- a/telephony/java/android/telephony/PreciseDataConnectionState.java
+++ b/telephony/java/android/telephony/PreciseDataConnectionState.java
@@ -135,11 +135,12 @@ public final class PreciseDataConnectionState implements Parcelable {
}
/**
- * To check the SDK version for {@code PreciseDataConnectionState#getDataConnectionState}.
+ * Used for checking if the SDK version for
+ * {@code PreciseDataConnectionState#getDataConnectionState} is above Q.
*/
@ChangeId
@EnabledAfter(targetSdkVersion = Build.VERSION_CODES.Q)
- private static final long GET_DATA_CONNECTION_STATE_CODE_CHANGE = 147600208L;
+ private static final long GET_DATA_CONNECTION_STATE_R_VERSION = 148535736L;
/**
* Returns the state of data connection that supported the apn types returned by
@@ -152,7 +153,7 @@ public final class PreciseDataConnectionState implements Parcelable {
@SystemApi
public @DataState int getDataConnectionState() {
if (mState == TelephonyManager.DATA_DISCONNECTING
- && !Compatibility.isChangeEnabled(GET_DATA_CONNECTION_STATE_CODE_CHANGE)) {
+ && !Compatibility.isChangeEnabled(GET_DATA_CONNECTION_STATE_R_VERSION)) {
return TelephonyManager.DATA_CONNECTED;
}
@@ -264,10 +265,10 @@ public final class PreciseDataConnectionState implements Parcelable {
/**
* Return the APN Settings for this data connection.
*
- * Returns the ApnSetting that was used to configure this data connection.
+ * @return the ApnSetting that was used to configure this data connection.
*/
// FIXME: This shouldn't be nullable; update once the ApnSetting is supplied correctly
- @Nullable ApnSetting getApnSetting() {
+ public @Nullable ApnSetting getApnSetting() {
return mApnSetting;
}
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 5b09cd9e6caa..a5a1ebc10139 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -1925,6 +1925,8 @@ public class ServiceState implements Parcelable {
/**
* Get the network registration state for the transport type and network domain.
+ * If multiple domains are in the input bitmask, only the first one from
+ * networkRegistrationInfo.getDomain() will be returned.
*
* @param domain The network {@link NetworkRegistrationInfo.Domain domain}
* @param transportType The transport type
@@ -2072,11 +2074,18 @@ public class ServiceState implements Parcelable {
public boolean isIwlanPreferred() {
return mIsIwlanPreferred;
}
- /**
- * @return {@code true}Returns True whenever the modem is searching for service.
- * To check both CS and PS domain
- */
+ /**
+ * This indicates whether the device is searching for service.
+ *
+ * This API reports the modem searching status for
+ * {@link AccessNetworkConstants#TRANSPORT_TYPE_WWAN} (cellular) service in either
+ * {@link NetworkRegistrationInfo#DOMAIN_CS} or {@link NetworkRegistrationInfo#DOMAIN_PS}.
+ * This API will not report searching status for
+ * {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}.
+ *
+ * @return {@code true} whenever the modem is searching for service.
+ */
public boolean isSearching() {
NetworkRegistrationInfo psRegState = getNetworkRegistrationInfo(
NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
diff --git a/telephony/java/android/telephony/SmsCbMessage.java b/telephony/java/android/telephony/SmsCbMessage.java
index 3c6709415281..752707e5a5dc 100644
--- a/telephony/java/android/telephony/SmsCbMessage.java
+++ b/telephony/java/android/telephony/SmsCbMessage.java
@@ -177,6 +177,9 @@ public final class SmsCbMessage implements Parcelable {
@Nullable
private final String mLanguage;
+ /** The 8-bit data coding scheme defined in 3GPP TS 23.038 section 4. */
+ private final int mDataCodingScheme;
+
/** Message body, as a String. */
@Nullable
private final String mBody;
@@ -220,7 +223,7 @@ public final class SmsCbMessage implements Parcelable {
@Nullable SmsCbCmasInfo cmasWarningInfo, int slotIndex, int subId) {
this(messageFormat, geographicalScope, serialNumber, location, serviceCategory, language,
- body, priority, etwsWarningInfo, cmasWarningInfo, 0 /* maximumWaitingTime */,
+ 0, body, priority, etwsWarningInfo, cmasWarningInfo, 0 /* maximumWaitingTime */,
null /* geometries */, System.currentTimeMillis(), slotIndex, subId);
}
@@ -230,8 +233,8 @@ public final class SmsCbMessage implements Parcelable {
*/
public SmsCbMessage(int messageFormat, int geographicalScope, int serialNumber,
@NonNull SmsCbLocation location, int serviceCategory,
- @Nullable String language, @Nullable String body, int priority,
- @Nullable SmsCbEtwsInfo etwsWarningInfo,
+ @Nullable String language, int dataCodingScheme, @Nullable String body,
+ int priority, @Nullable SmsCbEtwsInfo etwsWarningInfo,
@Nullable SmsCbCmasInfo cmasWarningInfo, int maximumWaitTimeSec,
@Nullable List<Geometry> geometries, long receivedTimeMillis, int slotIndex,
int subId) {
@@ -241,6 +244,7 @@ public final class SmsCbMessage implements Parcelable {
mLocation = location;
mServiceCategory = serviceCategory;
mLanguage = language;
+ mDataCodingScheme = dataCodingScheme;
mBody = body;
mPriority = priority;
mEtwsWarningInfo = etwsWarningInfo;
@@ -263,6 +267,7 @@ public final class SmsCbMessage implements Parcelable {
mLocation = new SmsCbLocation(in);
mServiceCategory = in.readInt();
mLanguage = in.readString();
+ mDataCodingScheme = in.readInt();
mBody = in.readString();
mPriority = in.readInt();
int type = in.readInt();
@@ -305,6 +310,7 @@ public final class SmsCbMessage implements Parcelable {
mLocation.writeToParcel(dest, flags);
dest.writeInt(mServiceCategory);
dest.writeString(mLanguage);
+ dest.writeInt(mDataCodingScheme);
dest.writeString(mBody);
dest.writeInt(mPriority);
if (mEtwsWarningInfo != null) {
@@ -398,6 +404,15 @@ public final class SmsCbMessage implements Parcelable {
}
/**
+ * Get data coding scheme of the message
+ *
+ * @return The 8-bit data coding scheme defined in 3GPP TS 23.038 section 4.
+ */
+ public int getDataCodingScheme() {
+ return mDataCodingScheme;
+ }
+
+ /**
* Get the body of this message, or null if no body available
*
* @return Body, or null
@@ -571,6 +586,7 @@ public final class SmsCbMessage implements Parcelable {
cv.put(CellBroadcasts.SERIAL_NUMBER, getSerialNumber());
cv.put(CellBroadcasts.SERVICE_CATEGORY, getServiceCategory());
cv.put(CellBroadcasts.LANGUAGE_CODE, getLanguageCode());
+ cv.put(CellBroadcasts.DATA_CODING_SCHEME, getDataCodingScheme());
cv.put(CellBroadcasts.MESSAGE_BODY, getMessageBody());
cv.put(CellBroadcasts.MESSAGE_FORMAT, getMessageFormat());
cv.put(CellBroadcasts.MESSAGE_PRIORITY, getMessagePriority());
@@ -718,7 +734,7 @@ public final class SmsCbMessage implements Parcelable {
cursor.getColumnIndexOrThrow(CellBroadcasts.MAXIMUM_WAIT_TIME));
return new SmsCbMessage(format, geoScope, serialNum, location, category,
- language, body, priority, etwsInfo, cmasInfo, maximumWaitTimeSec, geometries,
+ language, 0, body, priority, etwsInfo, cmasInfo, maximumWaitTimeSec, geometries,
receivedTimeMillis, slotIndex, subId);
}
diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java
index 5cd7cf8fae8a..8e83c4c11992 100644
--- a/telephony/java/android/telephony/SmsManager.java
+++ b/telephony/java/android/telephony/SmsManager.java
@@ -2543,7 +2543,7 @@ public final class SmsManager {
MmsManager m = (MmsManager) context.getSystemService(Context.MMS_SERVICE);
if (m != null) {
m.sendMultimediaMessage(getSubscriptionId(), contentUri, locationUrl, configOverrides,
- sentIntent);
+ sentIntent, 0L /* messageId */);
}
}
@@ -2581,7 +2581,7 @@ public final class SmsManager {
MmsManager m = (MmsManager) context.getSystemService(Context.MMS_SERVICE);
if (m != null) {
m.downloadMultimediaMessage(getSubscriptionId(), locationUrl, contentUri,
- configOverrides, downloadedIntent);
+ configOverrides, downloadedIntent, 0L /* messageId */);
}
}
diff --git a/telephony/java/android/telephony/SmsMessage.java b/telephony/java/android/telephony/SmsMessage.java
index 7a30f143a3a4..6d82e51c14af 100644
--- a/telephony/java/android/telephony/SmsMessage.java
+++ b/telephony/java/android/telephony/SmsMessage.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import static android.telephony.TelephonyManager.PHONE_TYPE_CDMA;
import android.Manifest;
@@ -40,13 +38,13 @@ import com.android.internal.telephony.SmsHeader;
import com.android.internal.telephony.SmsMessageBase;
import com.android.internal.telephony.SmsMessageBase.SubmitPduBase;
import com.android.internal.telephony.cdma.sms.UserData;
+import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Arrays;
-
/**
* A Short Message Service message.
* @see android.provider.Telephony.Sms.Intents#getMessagesFromIntent
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index c24eeb74f6cd..832771daa409 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.compat.annotation.UnsupportedAppUsage;
@@ -40,6 +38,7 @@ import android.util.DisplayMetrics;
import android.util.Log;
import com.android.internal.telephony.util.TelephonyUtils;
+import com.android.telephony.Rlog;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 4da3a54306ee..97f50fd314b8 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -33,7 +33,6 @@ import android.annotation.SuppressAutoDoc;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
-import android.app.BroadcastOptions;
import android.app.PendingIntent;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
@@ -43,7 +42,6 @@ import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.ContentObserver;
-import android.net.INetworkPolicyManager;
import android.net.NetworkCapabilities;
import android.net.NetworkPolicyManager;
import android.net.Uri;
@@ -54,11 +52,9 @@ import android.os.Looper;
import android.os.ParcelUuid;
import android.os.Process;
import android.os.RemoteException;
-import android.os.ServiceManager;
import android.provider.Telephony.SimInfo;
import android.telephony.euicc.EuiccManager;
import android.telephony.ims.ImsMmTelManager;
-import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
@@ -80,7 +76,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import java.util.stream.Collectors;
@@ -882,7 +877,6 @@ public class SubscriptionManager {
public static final String EXTRA_SLOT_INDEX = "android.telephony.extra.SLOT_INDEX";
private final Context mContext;
- private volatile INetworkPolicyManager mNetworkPolicy;
// Cache of Resource that has been created in getResourcesForSubId. Key is a Pair containing
// the Context and subId.
@@ -974,14 +968,6 @@ public class SubscriptionManager {
.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
}
- private INetworkPolicyManager getINetworkPolicyManager() {
- if (mNetworkPolicy == null) {
- mNetworkPolicy = INetworkPolicyManager.Stub.asInterface(
- ServiceManager.getService(Context.NETWORK_POLICY_SERVICE));
- }
- return mNetworkPolicy;
- }
-
/**
* Register for changes to the list of active {@link SubscriptionInfo} records or to the
* individual records themselves. When a change occurs the onSubscriptionsChanged method of
@@ -2513,23 +2499,24 @@ public class SubscriptionManager {
final SubscriptionInfo subInfo =
SubscriptionManager.from(context).getActiveSubscriptionInfo(subId);
- Configuration config = context.getResources().getConfiguration();
- Configuration newConfig = new Configuration();
- newConfig.setTo(config);
+ Configuration overrideConfig = new Configuration();
if (subInfo != null) {
- newConfig.mcc = subInfo.getMcc();
- newConfig.mnc = subInfo.getMnc();
- if (newConfig.mnc == 0) newConfig.mnc = Configuration.MNC_ZERO;
+ overrideConfig.mcc = subInfo.getMcc();
+ overrideConfig.mnc = subInfo.getMnc();
+ if (overrideConfig.mnc == 0) overrideConfig.mnc = Configuration.MNC_ZERO;
}
if (useRootLocale) {
- newConfig.setLocale(Locale.ROOT);
+ overrideConfig.setLocale(Locale.ROOT);
}
- DisplayMetrics metrics = context.getResources().getDisplayMetrics();
- DisplayMetrics newMetrics = new DisplayMetrics();
- newMetrics.setTo(metrics);
- Resources res = new Resources(context.getResources().getAssets(), newMetrics, newConfig);
+ // Create new context with new configuration so that we can avoid modifying the passed in
+ // context.
+ // Note that if the original context configuration changes, the resources here will also
+ // change for all values except those overridden by newConfig (e.g. if the device has an
+ // orientation change).
+ Context newContext = context.createConfigurationContext(overrideConfig);
+ Resources res = newContext.getResources();
if (cacheKey != null) {
// Save the newly created Resources in the resource cache.
@@ -2624,15 +2611,6 @@ public class SubscriptionManager {
plans.toArray(new SubscriptionPlan[plans.size()]), mContext.getOpPackageName());
}
- /** @hide */
- private String getSubscriptionPlansOwner(int subId) {
- try {
- return getINetworkPolicyManager().getSubscriptionPlansOwner(subId);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
/**
* Temporarily override the billing relationship plan between a carrier and
* a specific subscriber to be considered unmetered. This will be reflected
@@ -2696,89 +2674,6 @@ public class SubscriptionManager {
}
/**
- * Create an {@link Intent} that can be launched towards the carrier app
- * that is currently defining the billing relationship plan through
- * {@link #setSubscriptionPlans(int, List)}.
- *
- * @return ready to launch Intent targeted towards the carrier app, or
- * {@code null} if no carrier app is defined, or if the defined
- * carrier app provides no management activity.
- * @hide
- */
- public @Nullable Intent createManageSubscriptionIntent(int subId) {
- // Bail if no owner
- final String owner = getSubscriptionPlansOwner(subId);
- if (owner == null) return null;
-
- // Bail if no plans
- final List<SubscriptionPlan> plans = getSubscriptionPlans(subId);
- if (plans.isEmpty()) return null;
-
- final Intent intent = new Intent(ACTION_MANAGE_SUBSCRIPTION_PLANS);
- intent.setPackage(owner);
- intent.putExtra(EXTRA_SUBSCRIPTION_INDEX, subId);
-
- // Bail if not implemented
- if (mContext.getPackageManager().queryIntentActivities(intent,
- PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) {
- return null;
- }
-
- return intent;
- }
-
- /** @hide */
- private @Nullable Intent createRefreshSubscriptionIntent(int subId) {
- // Bail if no owner
- final String owner = getSubscriptionPlansOwner(subId);
- if (owner == null) return null;
-
- // Bail if no plans
- final List<SubscriptionPlan> plans = getSubscriptionPlans(subId);
- if (plans.isEmpty()) return null;
-
- final Intent intent = new Intent(ACTION_REFRESH_SUBSCRIPTION_PLANS);
- intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
- intent.setPackage(owner);
- intent.putExtra(EXTRA_SUBSCRIPTION_INDEX, subId);
-
- // Bail if not implemented
- if (mContext.getPackageManager().queryBroadcastReceivers(intent, 0).isEmpty()) {
- return null;
- }
-
- return intent;
- }
-
- /**
- * Check if there is a carrier app that is currently defining the billing
- * relationship plan through {@link #setSubscriptionPlans(int, List)} that
- * supports refreshing of subscription plans.
- *
- * @hide
- */
- public boolean isSubscriptionPlansRefreshSupported(int subId) {
- return createRefreshSubscriptionIntent(subId) != null;
- }
-
- /**
- * Request that the carrier app that is currently defining the billing
- * relationship plan through {@link #setSubscriptionPlans(int, List)}
- * refresh its subscription plans.
- * <p>
- * If the app is able to successfully update the plans, you'll expect to
- * receive the {@link #ACTION_SUBSCRIPTION_PLANS_CHANGED} broadcast.
- *
- * @hide
- */
- public void requestSubscriptionPlansRefresh(int subId) {
- final Intent intent = createRefreshSubscriptionIntent(subId);
- final BroadcastOptions options = BroadcastOptions.makeBasic();
- options.setTemporaryAppWhitelistDuration(TimeUnit.MINUTES.toMillis(1));
- mContext.sendBroadcast(intent, null, options.toBundle());
- }
-
- /**
* Checks whether the app with the given context is authorized to manage the given subscription
* according to its metadata.
*
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index ba28006c0018..672352211089 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -5562,11 +5562,11 @@ public class TelephonyManager {
public static final int DATA_DISCONNECTING = 4;
/**
- * To check the SDK version for {@link TelephonyManager#getDataState}.
+ * Used for checking if the SDK version for {@link TelephonyManager#getDataState} is above Q.
*/
@ChangeId
@EnabledAfter(targetSdkVersion = Build.VERSION_CODES.Q)
- private static final long GET_DATA_STATE_CODE_CHANGE = 147600208L;
+ private static final long GET_DATA_STATE_R_VERSION = 148534348L;
/**
* Returns a constant indicating the current data connection state
@@ -5586,7 +5586,7 @@ public class TelephonyManager {
int state = telephony.getDataStateForSubId(
getSubId(SubscriptionManager.getActiveDataSubscriptionId()));
if (state == TelephonyManager.DATA_DISCONNECTING
- && !Compatibility.isChangeEnabled(GET_DATA_STATE_CODE_CHANGE)) {
+ && !Compatibility.isChangeEnabled(GET_DATA_STATE_R_VERSION)) {
return TelephonyManager.DATA_CONNECTED;
}
@@ -5695,7 +5695,7 @@ public class TelephonyManager {
@NonNull
public CdmaEriInformation getCdmaEriInformation() {
return new CdmaEriInformation(
- getCdmaEriIconMode(getSubId()), getCdmaEriIconIndex(getSubId()));
+ getCdmaEriIconIndex(getSubId()), getCdmaEriIconMode(getSubId()));
}
/**
diff --git a/telephony/java/android/telephony/TelephonyScanManager.java b/telephony/java/android/telephony/TelephonyScanManager.java
index a1d40e85fb10..cdff651c9c3d 100644
--- a/telephony/java/android/telephony/TelephonyScanManager.java
+++ b/telephony/java/android/telephony/TelephonyScanManager.java
@@ -16,8 +16,6 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import static com.android.internal.util.Preconditions.checkNotNull;
import android.annotation.Nullable;
@@ -33,6 +31,7 @@ import android.os.RemoteException;
import android.util.SparseArray;
import com.android.internal.telephony.ITelephony;
+import com.android.telephony.Rlog;
import java.util.Arrays;
import java.util.List;
diff --git a/telephony/java/android/telephony/UiccAccessRule.java b/telephony/java/android/telephony/UiccAccessRule.java
index 81a09c645070..3e948fc75d00 100644
--- a/telephony/java/android/telephony/UiccAccessRule.java
+++ b/telephony/java/android/telephony/UiccAccessRule.java
@@ -15,8 +15,6 @@
*/
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
@@ -28,6 +26,7 @@ import android.os.Parcelable;
import android.text.TextUtils;
import com.android.internal.telephony.uicc.IccUtils;
+import com.android.telephony.Rlog;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
diff --git a/telephony/java/android/telephony/VoLteServiceState.java b/telephony/java/android/telephony/VoLteServiceState.java
index d4a27d925208..27187e68d5cc 100644
--- a/telephony/java/android/telephony/VoLteServiceState.java
+++ b/telephony/java/android/telephony/VoLteServiceState.java
@@ -16,14 +16,14 @@
package android.telephony;
-import com.android.telephony.Rlog;
-
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.telephony.Rlog;
+
/**
* Contains LTE network state related information.
* @deprecated Only contains SRVCC state, which isn't specific to LTE handovers. For SRVCC
diff --git a/telephony/java/android/telephony/data/DataService.java b/telephony/java/android/telephony/data/DataService.java
index bff12b624ae8..6c4e7ce51ebf 100644
--- a/telephony/java/android/telephony/data/DataService.java
+++ b/telephony/java/android/telephony/data/DataService.java
@@ -31,10 +31,10 @@ import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.telephony.AccessNetworkConstants;
-import com.android.telephony.Rlog;
import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/telephony/java/android/telephony/data/DataServiceCallback.java b/telephony/java/android/telephony/data/DataServiceCallback.java
index d33d3f9a5eee..72b68e4645c9 100644
--- a/telephony/java/android/telephony/data/DataServiceCallback.java
+++ b/telephony/java/android/telephony/data/DataServiceCallback.java
@@ -22,9 +22,10 @@ import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.net.LinkProperties;
import android.os.RemoteException;
-import com.android.telephony.Rlog;
import android.telephony.data.DataService.DataServiceProvider;
+import com.android.telephony.Rlog;
+
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.List;
diff --git a/telephony/java/android/telephony/data/QualifiedNetworksService.java b/telephony/java/android/telephony/data/QualifiedNetworksService.java
index 8220b16500de..05971c4d2e70 100644
--- a/telephony/java/android/telephony/data/QualifiedNetworksService.java
+++ b/telephony/java/android/telephony/data/QualifiedNetworksService.java
@@ -28,10 +28,10 @@ import android.os.Message;
import android.os.RemoteException;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.Annotation.ApnType;
-import com.android.telephony.Rlog;
import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.telephony.Rlog;
import java.util.List;
diff --git a/telephony/java/android/telephony/emergency/EmergencyNumber.java b/telephony/java/android/telephony/emergency/EmergencyNumber.java
index cd3fc953f9d2..d9d5c14735ea 100644
--- a/telephony/java/android/telephony/emergency/EmergencyNumber.java
+++ b/telephony/java/android/telephony/emergency/EmergencyNumber.java
@@ -25,6 +25,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.CarrierConfigManager;
import android.telephony.PhoneNumberUtils;
+
import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
diff --git a/telephony/java/android/telephony/ims/ImsConferenceState.java b/telephony/java/android/telephony/ims/ImsConferenceState.java
index abfee61930ed..21bef001efae 100644
--- a/telephony/java/android/telephony/ims/ImsConferenceState.java
+++ b/telephony/java/android/telephony/ims/ImsConferenceState.java
@@ -24,8 +24,8 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.telecom.Call;
import android.telecom.Connection;
+
import com.android.telephony.Rlog;
-import android.util.Log;
import java.util.HashMap;
import java.util.Iterator;
diff --git a/telephony/java/android/telephony/ims/ImsExternalCallState.java b/telephony/java/android/telephony/ims/ImsExternalCallState.java
index 136a83e2eec9..7d73165d4540 100644
--- a/telephony/java/android/telephony/ims/ImsExternalCallState.java
+++ b/telephony/java/android/telephony/ims/ImsExternalCallState.java
@@ -24,6 +24,7 @@ import android.annotation.TestApi;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
+
import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
diff --git a/telephony/java/android/telephony/ims/ImsSsData.java b/telephony/java/android/telephony/ims/ImsSsData.java
index 2d2e63812fad..70bf0c57366d 100644
--- a/telephony/java/android/telephony/ims/ImsSsData.java
+++ b/telephony/java/android/telephony/ims/ImsSsData.java
@@ -22,6 +22,7 @@ import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.os.Parcel;
import android.os.Parcelable;
+
import com.android.telephony.Rlog;
import java.lang.annotation.Retention;
diff --git a/telephony/java/com/android/ims/ImsConfig.java b/telephony/java/com/android/ims/ImsConfig.java
index 0f6ce13a6ce4..96f77d809183 100644
--- a/telephony/java/com/android/ims/ImsConfig.java
+++ b/telephony/java/com/android/ims/ImsConfig.java
@@ -19,13 +19,13 @@ package com.android.ims;
import android.os.Handler;
import android.os.Looper;
import android.os.RemoteException;
-import com.android.telephony.Rlog;
import android.telephony.ims.ImsReasonInfo;
import android.telephony.ims.ProvisioningManager;
import android.telephony.ims.aidl.IImsConfig;
import android.telephony.ims.aidl.IImsConfigCallback;
import com.android.internal.telephony.util.HandlerExecutor;
+import com.android.telephony.Rlog;
import java.util.concurrent.Executor;
diff --git a/telephony/java/com/android/internal/telephony/Sms7BitEncodingTranslator.java b/telephony/java/com/android/internal/telephony/Sms7BitEncodingTranslator.java
index 8e86ff788a08..3bd8cdd23df3 100644
--- a/telephony/java/com/android/internal/telephony/Sms7BitEncodingTranslator.java
+++ b/telephony/java/com/android/internal/telephony/Sms7BitEncodingTranslator.java
@@ -19,12 +19,12 @@ package com.android.internal.telephony;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
-import com.android.telephony.Rlog;
import android.util.SparseIntArray;
import com.android.internal.telephony.cdma.sms.UserData;
import com.android.internal.telephony.util.TelephonyUtils;
import com.android.internal.telephony.util.XmlUtils;
+import com.android.telephony.Rlog;
public class Sms7BitEncodingTranslator {
private static final String TAG = "Sms7BitEncodingTranslator";
diff --git a/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java b/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
index d0c8024c56fe..6ed0be24a0f1 100644
--- a/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
+++ b/telephony/java/com/android/internal/telephony/cdma/SmsMessage.java
@@ -20,7 +20,6 @@ import android.compat.annotation.UnsupportedAppUsage;
import android.content.res.Resources;
import android.sysprop.TelephonyProperties;
import android.telephony.PhoneNumberUtils;
-import com.android.telephony.Rlog;
import android.telephony.SmsCbLocation;
import android.telephony.SmsCbMessage;
import android.telephony.cdma.CdmaSmsCbProgramData;
@@ -41,6 +40,7 @@ import com.android.internal.telephony.cdma.sms.UserData;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.util.BitwiseInputStream;
import com.android.internal.util.HexDump;
+import com.android.telephony.Rlog;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
diff --git a/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java b/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java
index 6ad6dd119f50..6dc1e0e2c8e4 100644
--- a/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java
+++ b/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java
@@ -18,7 +18,6 @@ package com.android.internal.telephony.cdma.sms;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.res.Resources;
-import com.android.telephony.Rlog;
import android.telephony.SmsCbCmasInfo;
import android.telephony.cdma.CdmaSmsCbProgramData;
import android.telephony.cdma.CdmaSmsCbProgramResults;
@@ -31,6 +30,7 @@ import com.android.internal.telephony.SmsMessageBase;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.util.BitwiseInputStream;
import com.android.internal.util.BitwiseOutputStream;
+import com.android.telephony.Rlog;
import java.io.ByteArrayOutputStream;
import java.time.Instant;
diff --git a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
index c91ea696ec29..08580012ad17 100644
--- a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
@@ -28,7 +28,6 @@ import static com.android.internal.telephony.SmsConstants.MessageClass;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.res.Resources;
import android.telephony.PhoneNumberUtils;
-import com.android.telephony.Rlog;
import android.text.TextUtils;
import com.android.internal.telephony.EncodeException;
@@ -38,6 +37,7 @@ import com.android.internal.telephony.Sms7BitEncodingTranslator;
import com.android.internal.telephony.SmsHeader;
import com.android.internal.telephony.SmsMessageBase;
import com.android.internal.telephony.uicc.IccUtils;
+import com.android.telephony.Rlog;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
diff --git a/telephony/java/com/android/internal/telephony/uicc/IccUtils.java b/telephony/java/com/android/internal/telephony/uicc/IccUtils.java
index 0dc740194034..1d136924aa2c 100644
--- a/telephony/java/com/android/internal/telephony/uicc/IccUtils.java
+++ b/telephony/java/com/android/internal/telephony/uicc/IccUtils.java
@@ -21,10 +21,10 @@ import android.content.res.Resources;
import android.content.res.Resources.NotFoundException;
import android.graphics.Bitmap;
import android.graphics.Color;
-import com.android.telephony.Rlog;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.GsmAlphabet;
+import com.android.telephony.Rlog;
import java.io.UnsupportedEncodingException;
import java.util.List;
diff --git a/test-mock/src/android/test/mock/MockContentProvider.java b/test-mock/src/android/test/mock/MockContentProvider.java
index 85e5916a63df..f7ec11c79476 100644
--- a/test-mock/src/android/test/mock/MockContentProvider.java
+++ b/test-mock/src/android/test/mock/MockContentProvider.java
@@ -21,6 +21,7 @@ import android.annotation.Nullable;
import android.content.ContentProvider;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
+import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.IContentProvider;
@@ -31,10 +32,12 @@ import android.content.pm.ProviderInfo;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import java.io.FileNotFoundException;
@@ -81,6 +84,11 @@ public class MockContentProvider extends ContentProvider {
}
@Override
+ public void getTypeAsync(Uri uri, RemoteCallback callback) throws RemoteException {
+ MockContentProvider.this.getTypeAsync(uri, callback);
+ }
+
+ @Override
public Uri insert(String callingPackage, @Nullable String featureId, Uri url,
ContentValues initialValues, Bundle extras) throws RemoteException {
return MockContentProvider.this.insert(url, initialValues, extras);
@@ -212,6 +220,18 @@ public class MockContentProvider extends ContentProvider {
throw new UnsupportedOperationException("unimplemented mock method");
}
+ /**
+ * @hide
+ */
+ @SuppressWarnings("deprecation")
+ public void getTypeAsync(Uri uri, RemoteCallback remoteCallback) {
+ AsyncTask.SERIAL_EXECUTOR.execute(() -> {
+ final Bundle bundle = new Bundle();
+ bundle.putString(ContentResolver.REMOTE_CALLBACK_RESULT, getType(uri));
+ remoteCallback.sendResult(bundle);
+ });
+ }
+
@Override
public Uri insert(Uri uri, ContentValues values) {
throw new UnsupportedOperationException("unimplemented mock method");
diff --git a/test-mock/src/android/test/mock/MockContext.java b/test-mock/src/android/test/mock/MockContext.java
index 36074edd187e..359c44849634 100644
--- a/test-mock/src/android/test/mock/MockContext.java
+++ b/test-mock/src/android/test/mock/MockContext.java
@@ -812,7 +812,7 @@ public class MockContext extends Context {
}
@Override
- public @NonNull Context createWindowContext(int type) {
+ public @NonNull Context createWindowContext(int type, Bundle options) {
throw new UnsupportedOperationException();
}
diff --git a/test-mock/src/android/test/mock/MockIContentProvider.java b/test-mock/src/android/test/mock/MockIContentProvider.java
index 464abfb1a514..1831bcdf9df7 100644
--- a/test-mock/src/android/test/mock/MockIContentProvider.java
+++ b/test-mock/src/android/test/mock/MockIContentProvider.java
@@ -19,16 +19,19 @@ package android.test.mock;
import android.annotation.Nullable;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
+import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.EntityIterator;
import android.content.IContentProvider;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Bundle;
import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallback;
import android.os.RemoteException;
import java.io.FileNotFoundException;
@@ -61,6 +64,16 @@ public class MockIContentProvider implements IContentProvider {
}
@Override
+ @SuppressWarnings("deprecation")
+ public void getTypeAsync(Uri uri, RemoteCallback remoteCallback) {
+ AsyncTask.SERIAL_EXECUTOR.execute(() -> {
+ final Bundle bundle = new Bundle();
+ bundle.putString(ContentResolver.REMOTE_CALLBACK_RESULT, getType(uri));
+ remoteCallback.sendResult(bundle);
+ });
+ }
+
+ @Override
@SuppressWarnings("unused")
public Uri insert(String callingPackage, @Nullable String featureId, Uri url,
ContentValues initialValues, Bundle extras) throws RemoteException {
diff --git a/test-runner/src/android/test/TouchUtils.java b/test-runner/src/android/test/TouchUtils.java
index 28dc7b2f900c..bb4e00ba1ef9 100644
--- a/test-runner/src/android/test/TouchUtils.java
+++ b/test-runner/src/android/test/TouchUtils.java
@@ -222,7 +222,8 @@ public class TouchUtils {
*/
public static void dragViewToBottom(InstrumentationTestCase test, Activity activity, View v,
int stepCount) {
- int screenHeight = activity.getWindowManager().getDefaultDisplay().getHeight();
+ int screenHeight =
+ activity.getWindowManager().getCurrentWindowMetrics().getSize().getHeight();
int[] xy = new int[2];
v.getLocationOnScreen(xy);
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ChangeAppRotationTest.java b/tests/FlickerTests/src/com/android/server/wm/flicker/ChangeAppRotationTest.java
index 42cafd43f8bd..5a66e805c575 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/ChangeAppRotationTest.java
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ChangeAppRotationTest.java
@@ -66,7 +66,7 @@ public class ChangeAppRotationTest extends FlickerTestBase {
@Parameters(name = "{0}-{1}")
public static Collection<Object[]> getParams() {
int[] supportedRotations =
- {Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_270};
+ {Surface.ROTATION_0, Surface.ROTATION_90};
Collection<Object[]> params = new ArrayList<>();
for (int begin : supportedRotations) {
for (int end : supportedRotations) {
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/CloseImeWindowToHomeTest.java b/tests/FlickerTests/src/com/android/server/wm/flicker/CloseImeWindowToHomeTest.java
index fc6719e2f9d9..f740af9b89bf 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/CloseImeWindowToHomeTest.java
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/CloseImeWindowToHomeTest.java
@@ -25,6 +25,7 @@ import com.android.server.wm.flicker.helpers.ImeAppHelper;
import org.junit.Before;
import org.junit.FixMethodOrder;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
@@ -62,6 +63,7 @@ public class CloseImeWindowToHomeTest extends NonRotationTestBase {
.forAllEntries());
}
+ @Ignore("Flaky")
@Test
public void checkVisibility_imeLayerBecomesInvisible() {
checkResults(result -> LayersTraceSubject.assertThat(result)
@@ -71,6 +73,7 @@ public class CloseImeWindowToHomeTest extends NonRotationTestBase {
.forAllEntries());
}
+ @Ignore("Flaky")
@Test
public void checkVisibility_imeAppLayerBecomesInvisible() {
checkResults(result -> LayersTraceSubject.assertThat(result)
diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/SeamlessAppRotationTest.java b/tests/FlickerTests/src/com/android/server/wm/flicker/SeamlessAppRotationTest.java
index 8559cb9f51f7..37d7c4ca2b46 100644
--- a/tests/FlickerTests/src/com/android/server/wm/flicker/SeamlessAppRotationTest.java
+++ b/tests/FlickerTests/src/com/android/server/wm/flicker/SeamlessAppRotationTest.java
@@ -69,7 +69,7 @@ public class SeamlessAppRotationTest extends FlickerTestBase {
@Parameters(name = "{0}")
public static Collection<Object[]> getParams() {
int[] supportedRotations =
- {Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_270};
+ {Surface.ROTATION_0, Surface.ROTATION_90};
Collection<Object[]> params = new ArrayList<>();
ArrayList<Intent> testIntents = new ArrayList<>();
@@ -112,7 +112,7 @@ public class SeamlessAppRotationTest extends FlickerTestBase {
super.runTransition(
changeAppRotation(mIntent, intentId, InstrumentationRegistry.getContext(),
- mUiDevice, mBeginRotation, mEndRotation).repeat(5).build());
+ mUiDevice, mBeginRotation, mEndRotation).build());
}
@Test
diff --git a/tests/GamePerformance/src/android/gameperformance/BaseTest.java b/tests/GamePerformance/src/android/gameperformance/BaseTest.java
index b0640b444914..e7057565499c 100644
--- a/tests/GamePerformance/src/android/gameperformance/BaseTest.java
+++ b/tests/GamePerformance/src/android/gameperformance/BaseTest.java
@@ -21,7 +21,6 @@ import java.util.concurrent.TimeUnit;
import android.annotation.NonNull;
import android.content.Context;
import android.util.Log;
-import android.view.WindowManager;
/**
* Base class for a test that performs bisection to determine maximum
@@ -55,9 +54,7 @@ public abstract class BaseTest {
public BaseTest(@NonNull GamePerformanceActivity activity) {
mActivity = activity;
- final WindowManager windowManager =
- (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);
- mRefreshRate = windowManager.getDefaultDisplay().getRefreshRate();
+ mRefreshRate = activity.getDisplay().getRefreshRate();
}
@NonNull
diff --git a/tests/GamePerformance/src/android/gameperformance/CustomControlView.java b/tests/GamePerformance/src/android/gameperformance/CustomControlView.java
index 219085a83b2c..e63736b9ee61 100644
--- a/tests/GamePerformance/src/android/gameperformance/CustomControlView.java
+++ b/tests/GamePerformance/src/android/gameperformance/CustomControlView.java
@@ -25,18 +25,16 @@ import android.annotation.WorkerThread;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
+import android.graphics.Point;
import android.graphics.drawable.AnimationDrawable;
-import android.util.Log;
-import android.view.WindowManager;
import android.widget.AbsoluteLayout;
import android.widget.ImageView;
-import android.widget.RelativeLayout;
/**
* View that holds requested number of UI controls as ImageView with an infinite animation.
*/
public class CustomControlView extends AbsoluteLayout {
- private final static int CONTROL_DIMENTION = 48;
+ private final static int CONTROL_DIMENSION = 48;
private final int mPerRowControlCount;
private List<Long> mFrameTimes = new ArrayList<>();
@@ -44,8 +42,9 @@ public class CustomControlView extends AbsoluteLayout {
public CustomControlView(@NonNull Context context) {
super(context);
- final WindowManager windowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
- mPerRowControlCount = windowManager.getDefaultDisplay().getWidth() / CONTROL_DIMENTION;
+ final Point size = new Point();
+ context.getDisplay().getSize(size);
+ mPerRowControlCount = size.x / CONTROL_DIMENSION;
}
/**
@@ -76,11 +75,11 @@ public class CustomControlView extends AbsoluteLayout {
for (int i = 0; i < controlCount; ++i) {
final ImageView image = (i == 0) ?
new ReferenceImageView(activity) : new ImageView(activity);
- final int x = (i % mPerRowControlCount) * CONTROL_DIMENTION;
- final int y = (i / mPerRowControlCount) * CONTROL_DIMENTION;
+ final int x = (i % mPerRowControlCount) * CONTROL_DIMENSION;
+ final int y = (i / mPerRowControlCount) * CONTROL_DIMENSION;
final AbsoluteLayout.LayoutParams layoutParams =
new AbsoluteLayout.LayoutParams(
- CONTROL_DIMENTION, CONTROL_DIMENTION, x, y);
+ CONTROL_DIMENSION, CONTROL_DIMENSION, x, y);
image.setLayoutParams(layoutParams);
image.setBackgroundResource(R.drawable.animation);
final AnimationDrawable animation =
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/AlphaLayersActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/AlphaLayersActivity.java
index 1a68a93eed19..37661828da22 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/AlphaLayersActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/AlphaLayersActivity.java
@@ -50,7 +50,7 @@ public class AlphaLayersActivity extends Activity {
setContentView(container);
}
-
+
@SuppressWarnings({"UnusedDeclaration"})
static int dipToPx(Context c, int dip) {
return (int) (c.getResources().getDisplayMetrics().density * dip + 0.5f);
@@ -86,30 +86,24 @@ public class AlphaLayersActivity extends Activity {
canvas.save();
canvas.clipRect(20.0f, 0.0f, 40.0f, 20.0f);
Log.d(LOG_TAG, "clipRect = " + canvas.getClipBounds());
- Log.d(LOG_TAG, "rejected = " + canvas.quickReject(100.0f, 100.0f, 110.0f, 110.0f,
- Canvas.EdgeType.BW));
- Log.d(LOG_TAG, "rejected = " + canvas.quickReject(25.0f, 5.0f, 30.0f, 10.0f,
- Canvas.EdgeType.BW));
+ Log.d(LOG_TAG, "rejected = " + canvas.quickReject(100.0f, 100.0f, 110.0f, 110.0f));
+ Log.d(LOG_TAG, "rejected = " + canvas.quickReject(25.0f, 5.0f, 30.0f, 10.0f));
canvas.restore();
-
+
canvas.save();
canvas.scale(2.0f, 2.0f);
canvas.clipRect(20.0f, 0.0f, 40.0f, 20.0f);
Log.d(LOG_TAG, "clipRect = " + canvas.getClipBounds());
- Log.d(LOG_TAG, "rejected = " + canvas.quickReject(50.0f, 50.0f, 60.0f, 60.0f,
- Canvas.EdgeType.BW));
- Log.d(LOG_TAG, "rejected = " + canvas.quickReject(25.0f, 5.0f, 30.0f, 10.0f,
- Canvas.EdgeType.BW));
+ Log.d(LOG_TAG, "rejected = " + canvas.quickReject(50.0f, 50.0f, 60.0f, 60.0f));
+ Log.d(LOG_TAG, "rejected = " + canvas.quickReject(25.0f, 5.0f, 30.0f, 10.0f));
canvas.restore();
canvas.save();
canvas.translate(20.0f, 20.0f);
canvas.clipRect(20.0f, 0.0f, 40.0f, 20.0f);
Log.d(LOG_TAG, "clipRect = " + canvas.getClipBounds());
- Log.d(LOG_TAG, "rejected = " + canvas.quickReject(80.0f, 80.0f, 90.0f, 90.0f,
- Canvas.EdgeType.BW));
- Log.d(LOG_TAG, "rejected = " + canvas.quickReject(25.0f, 5.0f, 30.0f, 10.0f,
- Canvas.EdgeType.BW));
+ Log.d(LOG_TAG, "rejected = " + canvas.quickReject(80.0f, 80.0f, 90.0f, 90.0f));
+ Log.d(LOG_TAG, "rejected = " + canvas.quickReject(25.0f, 5.0f, 30.0f, 10.0f));
canvas.restore();
canvas.save();
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
index 0f4c66817a05..6d8c43c00acf 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/TextureViewActivity.java
@@ -122,7 +122,7 @@ public class TextureViewActivity extends Activity implements TextureView.Surface
if (info.facing == Camera.CameraInfo.CAMERA_FACING_BACK) break;
}
- int rotation = getWindowManager().getDefaultDisplay().getRotation();
+ int rotation = getDisplay().getRotation();
int degrees = 0;
switch (rotation) {
diff --git a/tests/MirrorSurfaceTest/src/com/google/android/test/mirrorsurface/MirrorSurfaceActivity.java b/tests/MirrorSurfaceTest/src/com/google/android/test/mirrorsurface/MirrorSurfaceActivity.java
index b863713df15b..e255ce234c65 100644
--- a/tests/MirrorSurfaceTest/src/com/google/android/test/mirrorsurface/MirrorSurfaceActivity.java
+++ b/tests/MirrorSurfaceTest/src/com/google/android/test/mirrorsurface/MirrorSurfaceActivity.java
@@ -16,6 +16,7 @@
package com.google.android.test.mirrorsurface;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
import android.app.Activity;
import android.graphics.Canvas;
@@ -26,7 +27,7 @@ import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
import android.os.RemoteException;
-import android.util.DisplayMetrics;
+import android.util.Size;
import android.view.Gravity;
import android.view.IWindowManager;
import android.view.MotionEvent;
@@ -48,6 +49,8 @@ public class MirrorSurfaceActivity extends Activity implements View.OnClickListe
private static final int MOVE_FRAME_AMOUNT = 20;
private IWindowManager mIWm;
+ // An instance of WindowManager that is adjusted for adding windows with type
+ // TYPE_APPLICATION_OVERLAY.
private WindowManager mWm;
private SurfaceControl mSurfaceControl = new SurfaceControl();
@@ -57,7 +60,7 @@ public class MirrorSurfaceActivity extends Activity implements View.OnClickListe
private View mOverlayView;
private View mArrowOverlay;
- private Rect mDisplayBounds = new Rect();
+ private Rect mWindowBounds = new Rect();
private EditText mScaleText;
private EditText mDisplayFrameText;
@@ -83,21 +86,21 @@ public class MirrorSurfaceActivity extends Activity implements View.OnClickListe
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mirror_surface);
- mWm = (WindowManager) getSystemService(WINDOW_SERVICE);
+ mWm = createWindowContext(TYPE_APPLICATION_OVERLAY, null /* options */)
+ .getSystemService(WindowManager.class);
mIWm = WindowManagerGlobal.getWindowManagerService();
- DisplayMetrics displayMetrics = new DisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
- mDisplayBounds.set(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
+ Size windowSize = mWm.getCurrentWindowMetrics().getSize();
+ mWindowBounds.set(0, 0, windowSize.getWidth(), windowSize.getHeight());
mScaleText = findViewById(R.id.scale);
mDisplayFrameText = findViewById(R.id.displayFrame);
mSourcePositionText = findViewById(R.id.sourcePosition);
- mCurrFrame.set(0, 0, mDisplayBounds.width() / 2, mDisplayBounds.height() / 2);
+ mCurrFrame.set(0, 0, mWindowBounds.width() / 2, mWindowBounds.height() / 2);
mCurrScale = DEFAULT_SCALE;
- mDisplayId = getWindowManager().getDefaultDisplay().getDisplayId();
+ mDisplayId = getDisplay().getDisplayId();
updateEditTexts();
findViewById(R.id.mirror_button).setOnClickListener(view -> {
@@ -194,8 +197,8 @@ public class MirrorSurfaceActivity extends Activity implements View.OnClickListe
private void createMirrorOverlay() {
mOverlayView = new LinearLayout(this);
- WindowManager.LayoutParams params = new WindowManager.LayoutParams(mDisplayBounds.width(),
- mDisplayBounds.height(),
+ WindowManager.LayoutParams params = new WindowManager.LayoutParams(mWindowBounds.width(),
+ mWindowBounds.height(),
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
@@ -290,7 +293,7 @@ public class MirrorSurfaceActivity extends Activity implements View.OnClickListe
private void updateMirror(Rect displayFrame, float scale) {
if (displayFrame.isEmpty()) {
- Rect bounds = mDisplayBounds;
+ Rect bounds = mWindowBounds;
int defaultCropW = Math.round(bounds.width() / 2);
int defaultCropH = Math.round(bounds.height() / 2);
displayFrame.set(0, 0, defaultCropW, defaultCropH);
diff --git a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java
index 80491cd98bc9..0fdcbc52bffa 100644
--- a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java
+++ b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java
@@ -584,6 +584,25 @@ public class StagedRollbackTest {
assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
}
+ @Test
+ public void testRollbackApexDataDirectories_Phase1() throws Exception {
+ int sessionId = Install.single(TEST_APEX_WITH_APK_V2).setStaged().setEnableRollback()
+ .commit();
+ InstallUtils.waitForSessionReady(sessionId);
+ }
+
+ @Test
+ public void testRollbackApexDataDirectories_Phase2() throws Exception {
+ RollbackInfo available = RollbackUtils.getAvailableRollback(APK_IN_APEX_TESTAPEX_NAME);
+
+ RollbackUtils.rollback(available.getRollbackId(), TEST_APEX_WITH_APK_V2);
+ RollbackInfo committed = RollbackUtils.getCommittedRollbackById(available.getRollbackId());
+
+ // Note: The app is not rolled back until after the rollback is staged
+ // and the device has been rebooted.
+ InstallUtils.waitForSessionReady(committed.getCommittedSessionId());
+ }
+
private static void runShellCommand(String cmd) {
ParcelFileDescriptor pfd = InstrumentationRegistry.getInstrumentation().getUiAutomation()
.executeShellCommand(cmd);
diff --git a/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java b/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java
index 672cbb084dae..82a524be5c1e 100644
--- a/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java
+++ b/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java
@@ -16,6 +16,8 @@
package com.android.tests.rollback.host;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeTrue;
import static org.testng.Assert.assertThrows;
@@ -53,6 +55,17 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
private static final String APK_IN_APEX_TESTAPEX_NAME = "com.android.apex.apkrollback.test";
+ private static final String TEST_SUBDIR = "/subdir/";
+
+ private static final String TEST_FILENAME_1 = "test_file.txt";
+ private static final String TEST_STRING_1 = "hello this is a test";
+ private static final String TEST_FILENAME_2 = "another_file.txt";
+ private static final String TEST_STRING_2 = "this is a different file";
+ private static final String TEST_FILENAME_3 = "also.xyz";
+ private static final String TEST_STRING_3 = "also\n a\n test\n string";
+ private static final String TEST_FILENAME_4 = "one_more.test";
+ private static final String TEST_STRING_4 = "once more unto the test";
+
@Before
public void setUp() throws Exception {
if (!getDevice().isAdbRoot()) {
@@ -77,6 +90,10 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
getDevice().executeShellCommand(
"rm -f /system/apex/" + APK_IN_APEX_TESTAPEX_NAME + "*.apex "
+ "/data/apex/active/" + APK_IN_APEX_TESTAPEX_NAME + "*.apex");
+ getDevice().executeShellCommand(
+ "rm -rf " + apexDataDirDeSys(APK_IN_APEX_TESTAPEX_NAME) + "*");
+ getDevice().executeShellCommand(
+ "rm -rf " + apexDataDirCe(APK_IN_APEX_TESTAPEX_NAME, 0) + "*");
getDevice().reboot();
}
@@ -245,15 +262,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
@Test
public void testRollbackApexWithApk() throws Exception {
getDevice().uninstallPackage("com.android.cts.install.lib.testapp.A");
- CompatibilityBuildHelper buildHelper = new CompatibilityBuildHelper(getBuild());
- final String fileName = APK_IN_APEX_TESTAPEX_NAME + "_v1.apex";
- final File apex = buildHelper.getTestFile(fileName);
- if (!getDevice().isAdbRoot()) {
- getDevice().enableAdbRoot();
- }
- getDevice().remountSystemWritable();
- assertTrue(getDevice().pushFile(apex, "/system/apex/" + fileName));
- getDevice().reboot();
+ pushTestApex();
runPhase("testRollbackApexWithApk_Phase1");
getDevice().reboot();
runPhase("testRollbackApexWithApk_Phase2");
@@ -267,15 +276,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
@Test
public void testRollbackApexWithApkCrashing() throws Exception {
getDevice().uninstallPackage("com.android.cts.install.lib.testapp.A");
- CompatibilityBuildHelper buildHelper = new CompatibilityBuildHelper(getBuild());
- final String fileName = APK_IN_APEX_TESTAPEX_NAME + "_v1.apex";
- final File apex = buildHelper.getTestFile(fileName);
- if (!getDevice().isAdbRoot()) {
- getDevice().enableAdbRoot();
- }
- getDevice().remountSystemWritable();
- assertTrue(getDevice().pushFile(apex, "/system/apex/" + fileName));
- getDevice().reboot();
+ pushTestApex();
// Install an apex with apk that crashes
runPhase("testRollbackApexWithApkCrashing_Phase1");
@@ -289,6 +290,146 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
runPhase("testRollbackApexWithApkCrashing_Phase3");
}
+ /**
+ * Tests that data in DE_sys apex data directory is restored when apex is rolled back.
+ */
+ @Test
+ public void testRollbackApexDataDirectories_DeSys() throws Exception {
+ pushTestApex();
+
+ // Push files to apex data directory
+ String oldFilePath1 = apexDataDirDeSys(APK_IN_APEX_TESTAPEX_NAME) + "/" + TEST_FILENAME_1;
+ String oldFilePath2 =
+ apexDataDirDeSys(APK_IN_APEX_TESTAPEX_NAME) + TEST_SUBDIR + TEST_FILENAME_2;
+ assertTrue(getDevice().pushString(TEST_STRING_1, oldFilePath1));
+ assertTrue(getDevice().pushString(TEST_STRING_2, oldFilePath2));
+
+ // Install new version of the APEX with rollback enabled
+ runPhase("testRollbackApexDataDirectories_Phase1");
+ getDevice().reboot();
+
+ // Replace files in data directory
+ getDevice().deleteFile(oldFilePath1);
+ getDevice().deleteFile(oldFilePath2);
+ String newFilePath3 = apexDataDirDeSys(APK_IN_APEX_TESTAPEX_NAME) + "/" + TEST_FILENAME_3;
+ String newFilePath4 =
+ apexDataDirDeSys(APK_IN_APEX_TESTAPEX_NAME) + TEST_SUBDIR + TEST_FILENAME_4;
+ assertTrue(getDevice().pushString(TEST_STRING_3, newFilePath3));
+ assertTrue(getDevice().pushString(TEST_STRING_4, newFilePath4));
+
+ // Roll back the APEX
+ runPhase("testRollbackApexDataDirectories_Phase2");
+ getDevice().reboot();
+
+ // Verify that old files have been restored and new files are gone
+ assertEquals(TEST_STRING_1, getDevice().pullFileContents(oldFilePath1));
+ assertEquals(TEST_STRING_2, getDevice().pullFileContents(oldFilePath2));
+ assertNull(getDevice().pullFile(newFilePath3));
+ assertNull(getDevice().pullFile(newFilePath4));
+ }
+
+ /**
+ * Tests that data in DE (user) apex data directory is restored when apex is rolled back.
+ */
+ @Test
+ public void testRollbackApexDataDirectories_DeUser() throws Exception {
+ pushTestApex();
+
+ // Push files to apex data directory
+ String oldFilePath1 = apexDataDirDeUser(
+ APK_IN_APEX_TESTAPEX_NAME, 0) + "/" + TEST_FILENAME_1;
+ String oldFilePath2 =
+ apexDataDirDeUser(APK_IN_APEX_TESTAPEX_NAME, 0) + TEST_SUBDIR + TEST_FILENAME_2;
+ assertTrue(getDevice().pushString(TEST_STRING_1, oldFilePath1));
+ assertTrue(getDevice().pushString(TEST_STRING_2, oldFilePath2));
+
+ // Install new version of the APEX with rollback enabled
+ runPhase("testRollbackApexDataDirectories_Phase1");
+ getDevice().reboot();
+
+ // Replace files in data directory
+ getDevice().deleteFile(oldFilePath1);
+ getDevice().deleteFile(oldFilePath2);
+ String newFilePath3 =
+ apexDataDirDeUser(APK_IN_APEX_TESTAPEX_NAME, 0) + "/" + TEST_FILENAME_3;
+ String newFilePath4 =
+ apexDataDirDeUser(APK_IN_APEX_TESTAPEX_NAME, 0) + TEST_SUBDIR + TEST_FILENAME_4;
+ assertTrue(getDevice().pushString(TEST_STRING_3, newFilePath3));
+ assertTrue(getDevice().pushString(TEST_STRING_4, newFilePath4));
+
+ // Roll back the APEX
+ runPhase("testRollbackApexDataDirectories_Phase2");
+ getDevice().reboot();
+
+ // Verify that old files have been restored and new files are gone
+ assertEquals(TEST_STRING_1, getDevice().pullFileContents(oldFilePath1));
+ assertEquals(TEST_STRING_2, getDevice().pullFileContents(oldFilePath2));
+ assertNull(getDevice().pullFile(newFilePath3));
+ assertNull(getDevice().pullFile(newFilePath4));
+ }
+
+ /**
+ * Tests that data in CE apex data directory is restored when apex is rolled back.
+ */
+ @Test
+ public void testRollbackApexDataDirectories_Ce() throws Exception {
+ pushTestApex();
+
+ // Push files to apex data directory
+ String oldFilePath1 = apexDataDirCe(APK_IN_APEX_TESTAPEX_NAME, 0) + "/" + TEST_FILENAME_1;
+ String oldFilePath2 =
+ apexDataDirCe(APK_IN_APEX_TESTAPEX_NAME, 0) + TEST_SUBDIR + TEST_FILENAME_2;
+ assertTrue(getDevice().pushString(TEST_STRING_1, oldFilePath1));
+ assertTrue(getDevice().pushString(TEST_STRING_2, oldFilePath2));
+
+ // Install new version of the APEX with rollback enabled
+ runPhase("testRollbackApexDataDirectories_Phase1");
+ getDevice().reboot();
+
+ // Replace files in data directory
+ getDevice().deleteFile(oldFilePath1);
+ getDevice().deleteFile(oldFilePath2);
+ String newFilePath3 = apexDataDirCe(APK_IN_APEX_TESTAPEX_NAME, 0) + "/" + TEST_FILENAME_3;
+ String newFilePath4 =
+ apexDataDirCe(APK_IN_APEX_TESTAPEX_NAME, 0) + TEST_SUBDIR + TEST_FILENAME_4;
+ assertTrue(getDevice().pushString(TEST_STRING_3, newFilePath3));
+ assertTrue(getDevice().pushString(TEST_STRING_4, newFilePath4));
+
+ // Roll back the APEX
+ runPhase("testRollbackApexDataDirectories_Phase2");
+ getDevice().reboot();
+
+ // Verify that old files have been restored and new files are gone
+ assertEquals(TEST_STRING_1, getDevice().pullFileContents(oldFilePath1));
+ assertEquals(TEST_STRING_2, getDevice().pullFileContents(oldFilePath2));
+ assertNull(getDevice().pullFile(newFilePath3));
+ assertNull(getDevice().pullFile(newFilePath4));
+ }
+
+ private void pushTestApex() throws Exception {
+ CompatibilityBuildHelper buildHelper = new CompatibilityBuildHelper(getBuild());
+ final String fileName = APK_IN_APEX_TESTAPEX_NAME + "_v1.apex";
+ final File apex = buildHelper.getTestFile(fileName);
+ if (!getDevice().isAdbRoot()) {
+ getDevice().enableAdbRoot();
+ }
+ getDevice().remountSystemWritable();
+ assertTrue(getDevice().pushFile(apex, "/system/apex/" + fileName));
+ getDevice().reboot();
+ }
+
+ private static String apexDataDirDeSys(String apexName) {
+ return String.format("/data/misc/apexdata/%s", apexName);
+ }
+
+ private static String apexDataDirDeUser(String apexName, int userId) {
+ return String.format("/data/misc_de/%d/apexdata/%s", userId, apexName);
+ }
+
+ private static String apexDataDirCe(String apexName, int userId) {
+ return String.format("/data/misc_ce/%d/apexdata/%s", userId, apexName);
+ }
+
private void crashProcess(String processName, int numberOfCrashes) throws Exception {
String pid = "";
String lastPid = "invalid";
diff --git a/tests/SurfaceComposition/src/android/surfacecomposition/SurfaceCompositionMeasuringActivity.java b/tests/SurfaceComposition/src/android/surfacecomposition/SurfaceCompositionMeasuringActivity.java
index 4771b6cfc750..e0a96689c191 100644
--- a/tests/SurfaceComposition/src/android/surfacecomposition/SurfaceCompositionMeasuringActivity.java
+++ b/tests/SurfaceComposition/src/android/surfacecomposition/SurfaceCompositionMeasuringActivity.java
@@ -23,7 +23,6 @@ import android.app.ActionBar;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
-import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.PixelFormat;
@@ -531,8 +530,7 @@ public class SurfaceCompositionMeasuringActivity extends Activity implements OnC
}
private void detectRefreshRate() {
- WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
- mRefreshRate = wm.getDefaultDisplay().getRefreshRate();
+ mRefreshRate = getDisplay().getRefreshRate();
if (mRefreshRate < MIN_REFRESH_RATE_SUPPORTED)
throw new RuntimeException("Unsupported display refresh rate: " + mRefreshRate);
mTargetFPS = mRefreshRate - 2.0f;
diff --git a/tests/TaskOrganizerTest/AndroidManifest.xml b/tests/TaskOrganizerTest/AndroidManifest.xml
index 0cb6c10a7ff5..a77d7ee80242 100644
--- a/tests/TaskOrganizerTest/AndroidManifest.xml
+++ b/tests/TaskOrganizerTest/AndroidManifest.xml
@@ -19,5 +19,11 @@
<service android:name=".TaskOrganizerPipTest"
android:exported="true">
</service>
+ <activity android:name="TaskOrganizerMultiWindowTest" android:label="TaskOrganizer MW Test">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+ <category android:name="android.intent.category.LAUNCHER"/>
+ </intent-filter>
+ </activity>
</application>
</manifest>
diff --git a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java
new file mode 100644
index 000000000000..3fb0050d0c55
--- /dev/null
+++ b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerMultiWindowTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.test.taskembed;
+
+import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
+
+import android.app.ActivityManager;
+import android.app.Activity;
+import android.app.ActivityOptions;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.view.ITaskOrganizer;
+import android.view.IWindowContainer;
+import android.view.SurfaceControl;
+import android.view.SurfaceHolder;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+
+public class TaskOrganizerMultiWindowTest extends Activity {
+ class TaskLaunchingView extends TaskView {
+ TaskLaunchingView(Context c, ITaskOrganizer o, int windowingMode) {
+ super(c, o, windowingMode);
+ }
+
+ @Override
+ public void surfaceChanged(SurfaceHolder h, int format, int width, int height) {
+ startCalculatorActivity(width, height);
+ }
+ }
+ TaskView mView;
+
+ class Organizer extends ITaskOrganizer.Stub {
+ @Override
+ public void taskAppeared(ActivityManager.RunningTaskInfo ti) {
+ mView.reparentTask(ti.token);
+ }
+ public void taskVanished(IWindowContainer wc) {
+ }
+ public void transactionReady(int id, SurfaceControl.Transaction t) {
+ }
+ @Override
+ public void onTaskInfoChanged(ActivityManager.RunningTaskInfo info) {
+ }
+ }
+
+ Organizer mOrganizer = new Organizer();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ mView = new TaskLaunchingView(this, mOrganizer, WINDOWING_MODE_MULTI_WINDOW);
+ setContentView(mView);
+ }
+
+ Intent makeCalculatorIntent() {
+ Intent intent = new Intent();
+ intent.setAction(Intent.ACTION_MAIN);
+ intent.addCategory(Intent.CATEGORY_APP_CALCULATOR);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ return intent;
+ }
+
+ Bundle makeLaunchOptions(int width, int height) {
+ ActivityOptions o = ActivityOptions.makeBasic();
+ o.setLaunchWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
+ o.setLaunchBounds(new Rect(0, 0, width, height));
+ return o.toBundle();
+ }
+
+ void startCalculatorActivity(int width, int height) {
+ startActivity(makeCalculatorIntent(), makeLaunchOptions(width, height));
+ }
+}
diff --git a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java
index 6ffa19d4ec98..8f3cb3442f5a 100644
--- a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java
+++ b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskOrganizerPipTest.java
@@ -16,21 +16,19 @@
package com.android.test.taskembed;
+import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+
import android.app.ActivityManager;
import android.app.ActivityTaskManager;
import android.app.Service;
-import android.app.WindowConfiguration;
-import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.os.IBinder;
import android.view.ITaskOrganizer;
import android.view.IWindowContainer;
-import android.view.WindowContainerTransaction;
import android.view.SurfaceControl;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
import android.view.ViewGroup;
+import android.view.WindowContainerTransaction;
import android.view.WindowManager;
import android.widget.FrameLayout;
@@ -38,53 +36,16 @@ public class TaskOrganizerPipTest extends Service {
static final int PIP_WIDTH = 640;
static final int PIP_HEIGHT = 360;
- class PipOrgView extends SurfaceView implements SurfaceHolder.Callback {
- PipOrgView(Context c) {
- super(c);
- getHolder().addCallback(this);
- setZOrderOnTop(true);
- }
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- try {
- ActivityTaskManager.getService().registerTaskOrganizer(mOrganizer,
- WindowConfiguration.WINDOWING_MODE_PINNED);
- } catch (Exception e) {
- }
- }
-
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
- }
-
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- }
-
- void reparentTask(IWindowContainer wc) {
- SurfaceControl.Transaction t = new SurfaceControl.Transaction();
- SurfaceControl leash = null;
- try {
- leash = wc.getLeash();
- } catch (Exception e) {
- // System server died.. oh well
- }
- t.reparent(leash, getSurfaceControl())
- .setPosition(leash, 0, 0)
- .apply();
- }
- }
-
- PipOrgView mPipView;
+ TaskView mTaskView;
class Organizer extends ITaskOrganizer.Stub {
- public void taskAppeared(IWindowContainer wc, ActivityManager.RunningTaskInfo ti) {
- mPipView.reparentTask(wc);
+ public void taskAppeared(ActivityManager.RunningTaskInfo ti) {
+ mTaskView.reparentTask(ti.token);
final WindowContainerTransaction wct = new WindowContainerTransaction();
- wct.scheduleFinishEnterPip(wc, new Rect(0, 0, PIP_WIDTH, PIP_HEIGHT));
+ wct.scheduleFinishEnterPip(ti.token, new Rect(0, 0, PIP_WIDTH, PIP_HEIGHT));
try {
- ActivityTaskManager.getService().applyContainerTransaction(wct);
+ ActivityTaskManager.getTaskOrganizerController().applyContainerTransaction(wct);
} catch (Exception e) {
}
}
@@ -92,6 +53,8 @@ public class TaskOrganizerPipTest extends Service {
}
public void transactionReady(int id, SurfaceControl.Transaction t) {
}
+ public void onTaskInfoChanged(ActivityManager.RunningTaskInfo info) {
+ }
}
Organizer mOrganizer = new Organizer();
@@ -113,8 +76,8 @@ public class TaskOrganizerPipTest extends Service {
FrameLayout layout = new FrameLayout(this);
ViewGroup.LayoutParams lp =
new ViewGroup.LayoutParams(PIP_WIDTH, PIP_HEIGHT);
- mPipView = new PipOrgView(this);
- layout.addView(mPipView, lp);
+ mTaskView = new TaskView(this, mOrganizer, WINDOWING_MODE_PINNED);
+ layout.addView(mTaskView, lp);
WindowManager wm = getSystemService(WindowManager.class);
wm.addView(layout, wlp);
diff --git a/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskView.java b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskView.java
new file mode 100644
index 000000000000..9f32bb8a0bf7
--- /dev/null
+++ b/tests/TaskOrganizerTest/src/com/android/test/taskembed/TaskView.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.test.taskembed;
+
+import android.app.ActivityTaskManager;
+import android.content.Context;
+import android.view.ITaskOrganizer;
+import android.view.IWindowContainer;
+import android.view.SurfaceControl;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
+/**
+ * Simple SurfaceView wrapper which registers a TaskOrganizer
+ * after it's Surface is ready.
+ */
+class TaskView extends SurfaceView implements SurfaceHolder.Callback {
+ final ITaskOrganizer mTaskOrganizer;
+ final int mWindowingMode;
+
+ TaskView(Context c, ITaskOrganizer o, int windowingMode) {
+ super(c);
+ getHolder().addCallback(this);
+ setZOrderOnTop(true);
+
+ mTaskOrganizer = o;
+ mWindowingMode = windowingMode;
+ }
+
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
+ try {
+ ActivityTaskManager.getTaskOrganizerController().registerTaskOrganizer(mTaskOrganizer,
+ mWindowingMode);
+ } catch (Exception e) {
+ }
+ }
+
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+ }
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ }
+
+ void reparentTask(IWindowContainer wc) {
+ SurfaceControl.Transaction t = new SurfaceControl.Transaction();
+ SurfaceControl leash = null;
+ try {
+ leash = wc.getLeash();
+ } catch (Exception e) {
+ // System server died.. oh well
+ }
+ t.reparent(leash, getSurfaceControl())
+ .setPosition(leash, 0, 0)
+ .apply();
+ }
+}
diff --git a/tests/net/TEST_MAPPING b/tests/net/TEST_MAPPING
index a7853b68c1c1..005cbe9ffdc4 100644
--- a/tests/net/TEST_MAPPING
+++ b/tests/net/TEST_MAPPING
@@ -1,7 +1,12 @@
{
- "postsubmit": [
+ "presubmit": [
{
"name": "FrameworksNetIntegrationTests"
}
+ ],
+ "postsubmit": [
+ {
+ "name": "FrameworksNetDeflakeTest"
+ }
]
} \ No newline at end of file
diff --git a/tests/net/common/java/android/net/NetworkScoreTest.kt b/tests/net/common/java/android/net/NetworkScoreTest.kt
index 30836b7c9be1..a63d58d5a0f6 100644
--- a/tests/net/common/java/android/net/NetworkScoreTest.kt
+++ b/tests/net/common/java/android/net/NetworkScoreTest.kt
@@ -16,7 +16,7 @@
package android.net
-import android.os.Parcelable
+import android.net.NetworkScore.Metrics.BANDWIDTH_UNKNOWN
import androidx.test.filters.SmallTest
import androidx.test.runner.AndroidJUnit4
import com.android.testutils.assertParcelSane
@@ -28,77 +28,49 @@ import org.junit.Test
import org.junit.runner.RunWith
private const val TEST_SCORE = 80
-private const val KEY_DEFAULT_CAPABILITIES = "DEFAULT_CAPABILITIES"
@RunWith(AndroidJUnit4::class)
@SmallTest
class NetworkScoreTest {
@Test
fun testParcelNetworkScore() {
- val networkScore = NetworkScore()
val defaultCap = NetworkCapabilities()
- networkScore.putExtension(KEY_DEFAULT_CAPABILITIES, defaultCap)
- assertEquals(defaultCap, networkScore.getExtension(KEY_DEFAULT_CAPABILITIES))
- networkScore.putIntExtension(NetworkScore.LEGACY_SCORE, TEST_SCORE)
- assertEquals(TEST_SCORE, networkScore.getIntExtension(NetworkScore.LEGACY_SCORE))
- assertParcelSane(networkScore, 1)
- }
+ val builder = NetworkScore.Builder().setLegacyScore(TEST_SCORE)
+ assertEquals(TEST_SCORE, builder.build().getLegacyScore())
+ assertParcelSane(builder.build(), 7)
- @Test
- fun testNullKeyAndValue() {
- val networkScore = NetworkScore()
- val defaultCap = NetworkCapabilities()
- networkScore.putIntExtension(null, TEST_SCORE)
- assertEquals(TEST_SCORE, networkScore.getIntExtension(null))
- networkScore.putExtension(null, defaultCap)
- assertEquals(defaultCap, networkScore.getExtension(null))
- networkScore.putExtension(null, null)
- val result: Parcelable? = networkScore.getExtension(null)
- assertEquals(null, result)
- }
+ builder.addPolicy(NetworkScore.POLICY_IGNORE_ON_WIFI)
+ .addPolicy(NetworkScore.POLICY_DEFAULT_SUBSCRIPTION)
+ .setLinkLayerMetrics(NetworkScore.Metrics(44 /* latency */,
+ 380 /* downlinkBandwidth */, BANDWIDTH_UNKNOWN /* uplinkBandwidth */))
+ .setEndToEndMetrics(NetworkScore.Metrics(11 /* latency */,
+ BANDWIDTH_UNKNOWN /* downlinkBandwidth */, 100_000 /* uplinkBandwidth */))
+ .setRange(NetworkScore.RANGE_MEDIUM)
+ assertParcelSane(builder.build(), 7)
+ builder.clearPolicy(NetworkScore.POLICY_IGNORE_ON_WIFI)
+ val ns = builder.build()
+ assertParcelSane(ns, 7)
+ assertFalse(ns.hasPolicy(NetworkScore.POLICY_IGNORE_ON_WIFI))
+ assertTrue(ns.hasPolicy(NetworkScore.POLICY_DEFAULT_SUBSCRIPTION))
- @Test
- fun testRemoveExtension() {
- val networkScore = NetworkScore()
- val defaultCap = NetworkCapabilities()
- networkScore.putExtension(KEY_DEFAULT_CAPABILITIES, defaultCap)
- networkScore.putIntExtension(NetworkScore.LEGACY_SCORE, TEST_SCORE)
- assertEquals(defaultCap, networkScore.getExtension(KEY_DEFAULT_CAPABILITIES))
- assertEquals(TEST_SCORE, networkScore.getIntExtension(NetworkScore.LEGACY_SCORE))
- networkScore.removeExtension(KEY_DEFAULT_CAPABILITIES)
- networkScore.removeExtension(NetworkScore.LEGACY_SCORE)
- val result: Parcelable? = networkScore.getExtension(KEY_DEFAULT_CAPABILITIES)
- assertEquals(null, result)
- assertEquals(0, networkScore.getIntExtension(NetworkScore.LEGACY_SCORE))
+ val exitingNs = ns.withExiting(true)
+ assertNotEquals(ns.isExiting, exitingNs.isExiting)
+ assertNotEquals(ns, exitingNs)
+ assertParcelSane(exitingNs, 7)
}
@Test
fun testEqualsNetworkScore() {
- val ns1 = NetworkScore()
- val ns2 = NetworkScore()
- assertTrue(ns1.equals(ns2))
- assertEquals(ns1.hashCode(), ns2.hashCode())
-
- ns1.putIntExtension(NetworkScore.LEGACY_SCORE, TEST_SCORE)
- assertFalse(ns1.equals(ns2))
- assertNotEquals(ns1.hashCode(), ns2.hashCode())
- ns2.putIntExtension(NetworkScore.LEGACY_SCORE, TEST_SCORE)
- assertTrue(ns1.equals(ns2))
- assertEquals(ns1.hashCode(), ns2.hashCode())
-
- val defaultCap = NetworkCapabilities()
- ns1.putExtension(KEY_DEFAULT_CAPABILITIES, defaultCap)
- assertFalse(ns1.equals(ns2))
- assertNotEquals(ns1.hashCode(), ns2.hashCode())
- ns2.putExtension(KEY_DEFAULT_CAPABILITIES, defaultCap)
- assertTrue(ns1.equals(ns2))
- assertEquals(ns1.hashCode(), ns2.hashCode())
+ val builder1 = NetworkScore.Builder()
+ val builder2 = NetworkScore.Builder()
+ assertTrue(builder1.build().equals(builder2.build()))
+ assertEquals(builder1.build().hashCode(), builder2.build().hashCode())
- ns1.putIntExtension(null, 10)
- assertFalse(ns1.equals(ns2))
- assertNotEquals(ns1.hashCode(), ns2.hashCode())
- ns2.putIntExtension(null, 10)
- assertTrue(ns1.equals(ns2))
- assertEquals(ns1.hashCode(), ns2.hashCode())
+ builder1.setLegacyScore(TEST_SCORE)
+ assertFalse(builder1.build().equals(builder2.build()))
+ assertNotEquals(builder1.hashCode(), builder2.hashCode())
+ builder2.setLegacyScore(TEST_SCORE)
+ assertTrue(builder1.build().equals(builder2.build()))
+ assertEquals(builder1.build().hashCode(), builder2.build().hashCode())
}
}
diff --git a/tests/net/deflake/Android.bp b/tests/net/deflake/Android.bp
index 1c48c749aacc..b1b017131c64 100644
--- a/tests/net/deflake/Android.bp
+++ b/tests/net/deflake/Android.bp
@@ -26,4 +26,5 @@ java_test_host {
"net-host-tests-utils",
],
data: [":FrameworksNetTests"],
-} \ No newline at end of file
+ test_suites: ["device-tests"],
+}
diff --git a/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java b/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java
index a35fb407bca9..7ae9e95a520f 100644
--- a/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java
+++ b/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java
@@ -40,6 +40,7 @@ import android.net.NetworkAgentConfig;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.NetworkProvider;
+import android.net.NetworkScore;
import android.net.NetworkSpecifier;
import android.net.SocketKeepalive;
import android.net.UidRange;
@@ -155,9 +156,13 @@ public class NetworkAgentWrapper implements TestableNetworkCallback.HasNetwork {
}
}
+ private NetworkScore makeNetworkScore(final int legacyScore) {
+ return new NetworkScore.Builder().setLegacyScore(legacyScore).build();
+ }
+
public void adjustScore(int change) {
mScore += change;
- mNetworkAgent.sendNetworkScore(mScore);
+ mNetworkAgent.sendNetworkScore(makeNetworkScore(mScore));
}
public int getScore() {
diff --git a/tests/net/java/android/net/ConnectivityDiagnosticsManagerTest.java b/tests/net/java/android/net/ConnectivityDiagnosticsManagerTest.java
index 7ab4b56fae80..2d5df4f47e00 100644
--- a/tests/net/java/android/net/ConnectivityDiagnosticsManagerTest.java
+++ b/tests/net/java/android/net/ConnectivityDiagnosticsManagerTest.java
@@ -27,12 +27,18 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import android.content.Context;
import android.os.PersistableBundle;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -52,15 +58,27 @@ public class ConnectivityDiagnosticsManagerTest {
private static final Executor INLINE_EXECUTOR = x -> x.run();
+ @Mock private Context mContext;
+ @Mock private IConnectivityManager mService;
@Mock private ConnectivityDiagnosticsCallback mCb;
private ConnectivityDiagnosticsBinder mBinder;
+ private ConnectivityDiagnosticsManager mManager;
@Before
public void setUp() {
+ mContext = mock(Context.class);
+ mService = mock(IConnectivityManager.class);
mCb = mock(ConnectivityDiagnosticsCallback.class);
mBinder = new ConnectivityDiagnosticsBinder(mCb, INLINE_EXECUTOR);
+ mManager = new ConnectivityDiagnosticsManager(mContext, mService);
+ }
+
+ @After
+ public void tearDown() {
+ // clear ConnectivityDiagnosticsManager callbacks map
+ ConnectivityDiagnosticsManager.sCallbacks.clear();
}
private ConnectivityReport createSampleConnectivityReport() {
@@ -245,4 +263,53 @@ public class ConnectivityDiagnosticsManagerTest {
// latch without waiting.
verify(mCb).onNetworkConnectivityReported(eq(n), eq(connectivity));
}
+
+ @Test
+ public void testRegisterConnectivityDiagnosticsCallback() throws Exception {
+ final NetworkRequest request = new NetworkRequest.Builder().build();
+
+ mManager.registerConnectivityDiagnosticsCallback(request, INLINE_EXECUTOR, mCb);
+
+ verify(mService).registerConnectivityDiagnosticsCallback(
+ any(ConnectivityDiagnosticsBinder.class), eq(request));
+ assertTrue(ConnectivityDiagnosticsManager.sCallbacks.containsKey(mCb));
+ }
+
+ @Test
+ public void testRegisterDuplicateConnectivityDiagnosticsCallback() throws Exception {
+ final NetworkRequest request = new NetworkRequest.Builder().build();
+
+ mManager.registerConnectivityDiagnosticsCallback(request, INLINE_EXECUTOR, mCb);
+
+ try {
+ mManager.registerConnectivityDiagnosticsCallback(request, INLINE_EXECUTOR, mCb);
+ fail("Duplicate callback registration should fail");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ @Test
+ public void testUnregisterConnectivityDiagnosticsCallback() throws Exception {
+ final NetworkRequest request = new NetworkRequest.Builder().build();
+ mManager.registerConnectivityDiagnosticsCallback(request, INLINE_EXECUTOR, mCb);
+
+ mManager.unregisterConnectivityDiagnosticsCallback(mCb);
+
+ verify(mService).unregisterConnectivityDiagnosticsCallback(
+ any(ConnectivityDiagnosticsBinder.class));
+ assertFalse(ConnectivityDiagnosticsManager.sCallbacks.containsKey(mCb));
+
+ // verify that re-registering is successful
+ mManager.registerConnectivityDiagnosticsCallback(request, INLINE_EXECUTOR, mCb);
+ verify(mService, times(2)).registerConnectivityDiagnosticsCallback(
+ any(ConnectivityDiagnosticsBinder.class), eq(request));
+ assertTrue(ConnectivityDiagnosticsManager.sCallbacks.containsKey(mCb));
+ }
+
+ @Test
+ public void testUnregisterUnknownConnectivityDiagnosticsCallback() throws Exception {
+ mManager.unregisterConnectivityDiagnosticsCallback(mCb);
+
+ verifyNoMoreInteractions(mService);
+ }
}
diff --git a/tests/net/java/android/net/VpnManagerTest.java b/tests/net/java/android/net/VpnManagerTest.java
index 655c4d118592..97551c94e2ae 100644
--- a/tests/net/java/android/net/VpnManagerTest.java
+++ b/tests/net/java/android/net/VpnManagerTest.java
@@ -16,13 +16,21 @@
package android.net;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import android.test.mock.MockContext;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
+import com.android.internal.net.VpnProfile;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,7 +39,12 @@ import org.junit.runner.RunWith;
@SmallTest
@RunWith(AndroidJUnit4.class)
public class VpnManagerTest {
- private static final String VPN_PROFILE_KEY = "KEY";
+ private static final String PKG_NAME = "fooPackage";
+
+ private static final String SESSION_NAME_STRING = "testSession";
+ private static final String SERVER_ADDR_STRING = "1.2.3.4";
+ private static final String IDENTITY_STRING = "Identity";
+ private static final byte[] PSK_BYTES = "preSharedKey".getBytes();
private IConnectivityManager mMockCs;
private VpnManager mVpnManager;
@@ -39,7 +52,7 @@ public class VpnManagerTest {
new MockContext() {
@Override
public String getOpPackageName() {
- return "fooPackage";
+ return PKG_NAME;
}
};
@@ -50,34 +63,49 @@ public class VpnManagerTest {
}
@Test
- public void testProvisionVpnProfile() throws Exception {
- try {
- mVpnManager.provisionVpnProfile(mock(PlatformVpnProfile.class));
- } catch (UnsupportedOperationException expected) {
- }
+ public void testProvisionVpnProfilePreconsented() throws Exception {
+ final PlatformVpnProfile profile = getPlatformVpnProfile();
+ when(mMockCs.provisionVpnProfile(any(VpnProfile.class), eq(PKG_NAME))).thenReturn(true);
+
+ // Expect there to be no intent returned, as consent has already been granted.
+ assertNull(mVpnManager.provisionVpnProfile(profile));
+ verify(mMockCs).provisionVpnProfile(eq(profile.toVpnProfile()), eq(PKG_NAME));
+ }
+
+ @Test
+ public void testProvisionVpnProfileNeedsConsent() throws Exception {
+ final PlatformVpnProfile profile = getPlatformVpnProfile();
+ when(mMockCs.provisionVpnProfile(any(VpnProfile.class), eq(PKG_NAME))).thenReturn(false);
+
+ // Expect intent to be returned, as consent has not already been granted.
+ assertNotNull(mVpnManager.provisionVpnProfile(profile));
+ verify(mMockCs).provisionVpnProfile(eq(profile.toVpnProfile()), eq(PKG_NAME));
}
@Test
public void testDeleteProvisionedVpnProfile() throws Exception {
- try {
- mVpnManager.deleteProvisionedVpnProfile();
- } catch (UnsupportedOperationException expected) {
- }
+ mVpnManager.deleteProvisionedVpnProfile();
+ verify(mMockCs).deleteVpnProfile(eq(PKG_NAME));
}
@Test
public void testStartProvisionedVpnProfile() throws Exception {
- try {
- mVpnManager.startProvisionedVpnProfile();
- } catch (UnsupportedOperationException expected) {
- }
+ mVpnManager.startProvisionedVpnProfile();
+ verify(mMockCs).startVpnProfile(eq(PKG_NAME));
}
@Test
public void testStopProvisionedVpnProfile() throws Exception {
- try {
- mVpnManager.stopProvisionedVpnProfile();
- } catch (UnsupportedOperationException expected) {
- }
+ mVpnManager.stopProvisionedVpnProfile();
+ verify(mMockCs).stopVpnProfile(eq(PKG_NAME));
+ }
+
+ private Ikev2VpnProfile getPlatformVpnProfile() throws Exception {
+ return new Ikev2VpnProfile.Builder(SERVER_ADDR_STRING, IDENTITY_STRING)
+ .setBypassable(true)
+ .setMaxMtu(1300)
+ .setMetered(true)
+ .setAuthPsk(PSK_BYTES)
+ .build();
}
}
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index a0a1352a6330..028c1dad82e4 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -139,6 +139,7 @@ import android.net.ConnectivityManager.PacketKeepalive;
import android.net.ConnectivityManager.PacketKeepaliveCallback;
import android.net.ConnectivityManager.TooManyRequestsException;
import android.net.ConnectivityThread;
+import android.net.IConnectivityDiagnosticsCallback;
import android.net.IDnsResolver;
import android.net.IIpConnectivityMetrics;
import android.net.INetd;
@@ -180,6 +181,7 @@ import android.os.Bundle;
import android.os.ConditionVariable;
import android.os.Handler;
import android.os.HandlerThread;
+import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.Looper;
import android.os.Parcel;
@@ -210,6 +212,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.WakeupMessage;
import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.internal.util.test.FakeSettingsProvider;
+import com.android.server.ConnectivityService.ConnectivityDiagnosticsCallbackInfo;
import com.android.server.connectivity.ConnectivityConstants;
import com.android.server.connectivity.DefaultNetworkMetrics;
import com.android.server.connectivity.IpConnectivityMetrics;
@@ -322,6 +325,8 @@ public class ConnectivityServiceTest {
@Mock UserManager mUserManager;
@Mock NotificationManager mNotificationManager;
@Mock AlarmManager mAlarmManager;
+ @Mock IConnectivityDiagnosticsCallback mConnectivityDiagnosticsCallback;
+ @Mock IBinder mIBinder;
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
ArgumentCaptor.forClass(ResolverParamsParcel.class);
@@ -5736,6 +5741,40 @@ public class ConnectivityServiceTest {
mCm.unregisterNetworkCallback(defaultCallback);
}
+ @Test
+ public final void testLoseTrusted() throws Exception {
+ final NetworkRequest trustedRequest = new NetworkRequest.Builder()
+ .addCapability(NET_CAPABILITY_TRUSTED)
+ .build();
+ final TestNetworkCallback trustedCallback = new TestNetworkCallback();
+ mCm.requestNetwork(trustedRequest, trustedCallback);
+
+ mCellNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_CELLULAR);
+ mCellNetworkAgent.connect(true);
+ trustedCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
+ verify(mNetworkManagementService).setDefaultNetId(eq(mCellNetworkAgent.getNetwork().netId));
+
+ mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
+ mWiFiNetworkAgent.connect(true);
+ trustedCallback.expectAvailableDoubleValidatedCallbacks(mWiFiNetworkAgent);
+ verify(mNetworkManagementService).setDefaultNetId(eq(mWiFiNetworkAgent.getNetwork().netId));
+
+ mWiFiNetworkAgent.removeCapability(NET_CAPABILITY_TRUSTED);
+ // There is currently a bug where losing the TRUSTED capability will send a LOST
+ // callback to requests before the available callback, in spite of the semantics
+ // of the requests dictating this should not happen. This is considered benign, but
+ // ideally should be fixed in the future.
+ trustedCallback.expectCallback(CallbackEntry.LOST, mWiFiNetworkAgent);
+ trustedCallback.expectAvailableCallbacksValidated(mCellNetworkAgent);
+ verify(mNetworkManagementService).setDefaultNetId(eq(mCellNetworkAgent.getNetwork().netId));
+
+ mCellNetworkAgent.removeCapability(NET_CAPABILITY_TRUSTED);
+ trustedCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent);
+ verify(mNetworkManagementService).clearDefaultNetId();
+
+ mCm.unregisterNetworkCallback(trustedCallback);
+ }
+
@Ignore // 40%+ flakiness : figure out why and re-enable.
@Test
public final void testBatteryStatsNetworkType() throws Exception {
@@ -6355,4 +6394,70 @@ public class ConnectivityServiceTest {
UserHandle.getAppId(uid));
return packageInfo;
}
+
+ @Test
+ public void testRegisterConnectivityDiagnosticsCallbackInvalidRequest() throws Exception {
+ final NetworkRequest request =
+ new NetworkRequest(
+ new NetworkCapabilities(), TYPE_ETHERNET, 0, NetworkRequest.Type.NONE);
+ try {
+ mService.registerConnectivityDiagnosticsCallback(
+ mConnectivityDiagnosticsCallback, request);
+ fail("registerConnectivityDiagnosticsCallback should throw on invalid NetworkRequest");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ @Test
+ public void testRegisterUnregisterConnectivityDiagnosticsCallback() throws Exception {
+ final NetworkRequest wifiRequest =
+ new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build();
+
+ when(mConnectivityDiagnosticsCallback.asBinder()).thenReturn(mIBinder);
+
+ mService.registerConnectivityDiagnosticsCallback(
+ mConnectivityDiagnosticsCallback, wifiRequest);
+
+ verify(mIBinder, timeout(TIMEOUT_MS))
+ .linkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt());
+ assertTrue(
+ mService.mConnectivityDiagnosticsCallbacks.containsKey(
+ mConnectivityDiagnosticsCallback));
+
+ mService.unregisterConnectivityDiagnosticsCallback(mConnectivityDiagnosticsCallback);
+ verify(mIBinder, timeout(TIMEOUT_MS))
+ .unlinkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt());
+ assertFalse(
+ mService.mConnectivityDiagnosticsCallbacks.containsKey(
+ mConnectivityDiagnosticsCallback));
+ verify(mConnectivityDiagnosticsCallback, atLeastOnce()).asBinder();
+ }
+
+ @Test
+ public void testRegisterDuplicateConnectivityDiagnosticsCallback() throws Exception {
+ final NetworkRequest wifiRequest =
+ new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build();
+ when(mConnectivityDiagnosticsCallback.asBinder()).thenReturn(mIBinder);
+
+ mService.registerConnectivityDiagnosticsCallback(
+ mConnectivityDiagnosticsCallback, wifiRequest);
+
+ verify(mIBinder, timeout(TIMEOUT_MS))
+ .linkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt());
+ verify(mConnectivityDiagnosticsCallback).asBinder();
+ assertTrue(
+ mService.mConnectivityDiagnosticsCallbacks.containsKey(
+ mConnectivityDiagnosticsCallback));
+
+ // Register the same callback again
+ mService.registerConnectivityDiagnosticsCallback(
+ mConnectivityDiagnosticsCallback, wifiRequest);
+
+ // Block until all other events are done processing.
+ HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
+
+ assertTrue(
+ mService.mConnectivityDiagnosticsCallbacks.containsKey(
+ mConnectivityDiagnosticsCallback));
+ }
}
diff --git a/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java
index e863266c4b49..25e9057fd13c 100644
--- a/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java
+++ b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java
@@ -353,8 +353,7 @@ public class LingerMonitorTest {
NetworkCapabilities caps = new NetworkCapabilities();
caps.addCapability(0);
caps.addTransportType(transport);
- NetworkScore ns = new NetworkScore();
- ns.putIntExtension(NetworkScore.LEGACY_SCORE, 50);
+ NetworkScore ns = new NetworkScore.Builder().setLegacyScore(50).build();
NetworkAgentInfo nai = new NetworkAgentInfo(null, null, new Network(netId), info, null,
caps, ns, mCtx, null, null /* config */, mConnService, mNetd, mDnsResolver, mNMS,
NetworkProvider.ID_NONE);
diff --git a/tests/net/java/com/android/server/connectivity/VpnTest.java b/tests/net/java/com/android/server/connectivity/VpnTest.java
index ce50bef53d75..084ec7330236 100644
--- a/tests/net/java/com/android/server/connectivity/VpnTest.java
+++ b/tests/net/java/com/android/server/connectivity/VpnTest.java
@@ -28,11 +28,11 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.net.NetworkCapabilities.TRANSPORT_VPN;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
-import static android.net.RouteInfo.RTN_UNREACHABLE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import static org.mockito.AdditionalMatchers.aryEq;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -43,6 +43,7 @@ import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -58,21 +59,20 @@ import android.content.pm.ServiceInfo;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.net.ConnectivityManager;
-import android.net.IpPrefix;
-import android.net.LinkProperties;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo.DetailedState;
-import android.net.RouteInfo;
import android.net.UidRange;
import android.net.VpnService;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.INetworkManagementService;
import android.os.Looper;
-import android.os.SystemClock;
+import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
+import android.security.Credentials;
+import android.security.KeyStore;
import android.util.ArrayMap;
import android.util.ArraySet;
@@ -81,6 +81,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.internal.R;
import com.android.internal.net.VpnConfig;
+import com.android.internal.net.VpnProfile;
import org.junit.Before;
import org.junit.Test;
@@ -90,9 +91,6 @@ import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.net.Inet4Address;
-import java.net.Inet6Address;
-import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -124,6 +122,8 @@ public class VpnTest {
managedProfileA.profileGroupId = primaryUser.id;
}
+ static final String TEST_VPN_PKG = "com.dummy.vpn";
+
/**
* Names and UIDs for some fake packages. Important points:
* - UID is ordered increasing.
@@ -148,6 +148,8 @@ public class VpnTest {
@Mock private NotificationManager mNotificationManager;
@Mock private Vpn.SystemServices mSystemServices;
@Mock private ConnectivityManager mConnectivityManager;
+ @Mock private KeyStore mKeyStore;
+ private final VpnProfile mVpnProfile = new VpnProfile("key");
@Before
public void setUp() throws Exception {
@@ -166,6 +168,7 @@ public class VpnTest {
when(mContext.getString(R.string.config_customVpnAlwaysOnDisconnectedDialogComponent))
.thenReturn(Resources.getSystem().getString(
R.string.config_customVpnAlwaysOnDisconnectedDialogComponent));
+ when(mSystemServices.isCallerSystem()).thenReturn(true);
// Used by {@link Notification.Builder}
ApplicationInfo applicationInfo = new ApplicationInfo();
@@ -175,6 +178,10 @@ public class VpnTest {
.thenReturn(applicationInfo);
doNothing().when(mNetService).registerObserver(any());
+
+ // Deny all appops by default.
+ when(mAppOps.noteOpNoThrow(anyInt(), anyInt(), anyString()))
+ .thenReturn(AppOpsManager.MODE_IGNORED);
}
@Test
@@ -464,12 +471,12 @@ public class VpnTest {
order.verify(mNetService).setAllowOnlyVpnForUids(eq(true), aryEq(entireUser));
// When a new VPN package is set the rules should change to cover that package.
- vpn.prepare(null, PKGS[0]);
+ vpn.prepare(null, PKGS[0], false /* isPlatformVpn */);
order.verify(mNetService).setAllowOnlyVpnForUids(eq(false), aryEq(entireUser));
order.verify(mNetService).setAllowOnlyVpnForUids(eq(true), aryEq(exceptPkg0));
// When that VPN package is unset, everything should be undone again in reverse.
- vpn.prepare(null, VpnConfig.LEGACY_VPN);
+ vpn.prepare(null, VpnConfig.LEGACY_VPN, false /* isPlatformVpn */);
order.verify(mNetService).setAllowOnlyVpnForUids(eq(false), aryEq(exceptPkg0));
order.verify(mNetService).setAllowOnlyVpnForUids(eq(true), aryEq(entireUser));
}
@@ -632,6 +639,185 @@ public class VpnTest {
}
/**
+ * The profile name should NOT change between releases for backwards compatibility
+ *
+ * <p>If this is changed between releases, the {@link Vpn#getVpnProfilePrivileged()} method MUST
+ * be updated to ensure backward compatibility.
+ */
+ @Test
+ public void testGetProfileNameForPackage() throws Exception {
+ final Vpn vpn = createVpn(primaryUser.id);
+ setMockedUsers(primaryUser);
+
+ final String expected = Credentials.PLATFORM_VPN + primaryUser.id + "_" + TEST_VPN_PKG;
+ assertEquals(expected, vpn.getProfileNameForPackage(TEST_VPN_PKG));
+ }
+
+ private Vpn createVpnAndSetupUidChecks(int... grantedOps) throws Exception {
+ final Vpn vpn = createVpn(primaryUser.id);
+ setMockedUsers(primaryUser);
+
+ when(mPackageManager.getPackageUidAsUser(eq(TEST_VPN_PKG), anyInt()))
+ .thenReturn(Process.myUid());
+
+ for (final int op : grantedOps) {
+ when(mAppOps.noteOpNoThrow(op, Process.myUid(), TEST_VPN_PKG))
+ .thenReturn(AppOpsManager.MODE_ALLOWED);
+ }
+
+ return vpn;
+ }
+
+ private void checkProvisionVpnProfile(Vpn vpn, boolean expectedResult, int... checkedOps) {
+ assertEquals(expectedResult, vpn.provisionVpnProfile(TEST_VPN_PKG, mVpnProfile, mKeyStore));
+
+ // The profile should always be stored, whether or not consent has been previously granted.
+ verify(mKeyStore)
+ .put(
+ eq(vpn.getProfileNameForPackage(TEST_VPN_PKG)),
+ eq(mVpnProfile.encode()),
+ eq(Process.SYSTEM_UID),
+ eq(0));
+
+ for (final int checkedOp : checkedOps) {
+ verify(mAppOps).noteOpNoThrow(checkedOp, Process.myUid(), TEST_VPN_PKG);
+ }
+ }
+
+ @Test
+ public void testProvisionVpnProfilePreconsented() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN);
+
+ checkProvisionVpnProfile(
+ vpn, true /* expectedResult */, AppOpsManager.OP_ACTIVATE_PLATFORM_VPN);
+ }
+
+ @Test
+ public void testProvisionVpnProfileNotPreconsented() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks();
+
+ // Expect that both the ACTIVATE_VPN and ACTIVATE_PLATFORM_VPN were tried, but the caller
+ // had neither.
+ checkProvisionVpnProfile(vpn, false /* expectedResult */,
+ AppOpsManager.OP_ACTIVATE_PLATFORM_VPN, AppOpsManager.OP_ACTIVATE_VPN);
+ }
+
+ @Test
+ public void testProvisionVpnProfileVpnServicePreconsented() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_VPN);
+
+ checkProvisionVpnProfile(vpn, true /* expectedResult */, AppOpsManager.OP_ACTIVATE_VPN);
+ }
+
+ @Test
+ public void testProvisionVpnProfileTooLarge() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN);
+
+ final VpnProfile bigProfile = new VpnProfile("");
+ bigProfile.name = new String(new byte[Vpn.MAX_VPN_PROFILE_SIZE_BYTES + 1]);
+
+ try {
+ vpn.provisionVpnProfile(TEST_VPN_PKG, bigProfile, mKeyStore);
+ fail("Expected IAE due to profile size");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ @Test
+ public void testDeleteVpnProfile() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks();
+
+ vpn.deleteVpnProfile(TEST_VPN_PKG, mKeyStore);
+
+ verify(mKeyStore)
+ .delete(eq(vpn.getProfileNameForPackage(TEST_VPN_PKG)), eq(Process.SYSTEM_UID));
+ }
+
+ @Test
+ public void testGetVpnProfilePrivileged() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks();
+
+ when(mKeyStore.get(vpn.getProfileNameForPackage(TEST_VPN_PKG)))
+ .thenReturn(new VpnProfile("").encode());
+
+ vpn.getVpnProfilePrivileged(TEST_VPN_PKG, mKeyStore);
+
+ verify(mKeyStore).get(eq(vpn.getProfileNameForPackage(TEST_VPN_PKG)));
+ }
+
+ @Test
+ public void testStartVpnProfile() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN);
+
+ when(mKeyStore.get(vpn.getProfileNameForPackage(TEST_VPN_PKG)))
+ .thenReturn(mVpnProfile.encode());
+
+ vpn.startVpnProfile(TEST_VPN_PKG, mKeyStore);
+
+ verify(mKeyStore).get(eq(vpn.getProfileNameForPackage(TEST_VPN_PKG)));
+ verify(mAppOps)
+ .noteOpNoThrow(
+ eq(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN),
+ eq(Process.myUid()),
+ eq(TEST_VPN_PKG));
+ }
+
+ @Test
+ public void testStartVpnProfileVpnServicePreconsented() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_VPN);
+
+ when(mKeyStore.get(vpn.getProfileNameForPackage(TEST_VPN_PKG)))
+ .thenReturn(mVpnProfile.encode());
+
+ vpn.startVpnProfile(TEST_VPN_PKG, mKeyStore);
+
+ // Verify that the the ACTIVATE_VPN appop was checked, but no error was thrown.
+ verify(mAppOps).noteOpNoThrow(AppOpsManager.OP_ACTIVATE_VPN, Process.myUid(), TEST_VPN_PKG);
+ }
+
+ @Test
+ public void testStartVpnProfileNotConsented() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks();
+
+ try {
+ vpn.startVpnProfile(TEST_VPN_PKG, mKeyStore);
+ fail("Expected failure due to no user consent");
+ } catch (SecurityException expected) {
+ }
+
+ // Verify both appops were checked.
+ verify(mAppOps)
+ .noteOpNoThrow(
+ eq(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN),
+ eq(Process.myUid()),
+ eq(TEST_VPN_PKG));
+ verify(mAppOps).noteOpNoThrow(AppOpsManager.OP_ACTIVATE_VPN, Process.myUid(), TEST_VPN_PKG);
+
+ // Keystore should never have been accessed.
+ verify(mKeyStore, never()).get(any());
+ }
+
+ @Test
+ public void testStartVpnProfileMissingProfile() throws Exception {
+ final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN);
+
+ when(mKeyStore.get(vpn.getProfileNameForPackage(TEST_VPN_PKG))).thenReturn(null);
+
+ try {
+ vpn.startVpnProfile(TEST_VPN_PKG, mKeyStore);
+ fail("Expected failure due to missing profile");
+ } catch (IllegalArgumentException expected) {
+ }
+
+ verify(mKeyStore).get(vpn.getProfileNameForPackage(TEST_VPN_PKG));
+ verify(mAppOps)
+ .noteOpNoThrow(
+ eq(AppOpsManager.OP_ACTIVATE_PLATFORM_VPN),
+ eq(Process.myUid()),
+ eq(TEST_VPN_PKG));
+ }
+
+ /**
* Mock some methods of vpn object.
*/
private Vpn createVpn(@UserIdInt int userId) {
diff --git a/tools/aapt2/link/ManifestFixer.cpp b/tools/aapt2/link/ManifestFixer.cpp
index 954d4010d181..2af118c40138 100644
--- a/tools/aapt2/link/ManifestFixer.cpp
+++ b/tools/aapt2/link/ManifestFixer.cpp
@@ -428,6 +428,12 @@ bool ManifestFixer::BuildRules(xml::XmlActionExecutor* executor,
application_action["meta-data"] = meta_data_action;
+ application_action["processes"];
+ application_action["processes"]["deny-permission"];
+ application_action["processes"]["allow-permission"];
+ application_action["processes"]["process"]["deny-permission"];
+ application_action["processes"]["process"]["allow-permission"];
+
application_action["activity"] = component_action;
application_action["activity"]["layout"];
diff --git a/tools/codegen/src/com/android/codegen/ImportsProvider.kt b/tools/codegen/src/com/android/codegen/ImportsProvider.kt
index ba0a0318c843..c830aaa0df3d 100644
--- a/tools/codegen/src/com/android/codegen/ImportsProvider.kt
+++ b/tools/codegen/src/com/android/codegen/ImportsProvider.kt
@@ -46,7 +46,7 @@ interface ImportsProvider {
val Parcelling: String get() { return classRef("com.android.internal.util.Parcelling") }
val Parcelable: String get() { return classRef("android.os.Parcelable") }
val Parcel: String get() { return classRef("android.os.Parcel") }
- val UnsupportedAppUsage: String get() { return classRef("android.annotation.UnsupportedAppUsage") }
+ val UnsupportedAppUsage: String get() { return classRef("android.compat.annotation.UnsupportedAppUsage") }
/**
* Optionally shortens a class reference if there's a corresponding import present
diff --git a/tools/hiddenapi/Android.bp b/tools/hiddenapi/Android.bp
new file mode 100644
index 000000000000..e0eb06cbea7f
--- /dev/null
+++ b/tools/hiddenapi/Android.bp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+python_binary_host {
+ name: "merge_csv",
+ main: "merge_csv.py",
+ srcs: ["merge_csv.py"],
+ version: {
+ py2: {
+ enabled: false,
+ },
+ py3: {
+ enabled: true,
+ embedded_launcher: true
+ },
+ },
+}
diff --git a/tools/hiddenapi/merge_csv.py b/tools/hiddenapi/merge_csv.py
index 48c07553ffef..96619273af8d 100755
--- a/tools/hiddenapi/merge_csv.py
+++ b/tools/hiddenapi/merge_csv.py
@@ -21,20 +21,19 @@ import csv
import sys
csv_readers = [
- csv.DictReader(open(csv_file, 'rb'), delimiter=',', quotechar='|')
+ csv.DictReader(open(csv_file, 'r'), delimiter=',', quotechar='|')
for csv_file in sys.argv[1:]
]
# Build union of all columns from source files:
headers = set()
for reader in csv_readers:
- headers = headers.union(reader.fieldnames)
+ headers = headers.union(reader.fieldnames)
# Concatenate all files to output:
-out = csv.DictWriter(sys.stdout, delimiter=',', quotechar='|', fieldnames = sorted(headers))
+out = csv.DictWriter(sys.stdout, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL,
+ dialect='unix', fieldnames=sorted(headers))
out.writeheader()
for reader in csv_readers:
- for row in reader:
- out.writerow(row)
-
-
+ for row in reader:
+ out.writerow(row)
diff --git a/tools/stats_log_api_gen/Android.bp b/tools/stats_log_api_gen/Android.bp
index d3958a65c704..0e32aee93ebd 100644
--- a/tools/stats_log_api_gen/Android.bp
+++ b/tools/stats_log_api_gen/Android.bp
@@ -30,7 +30,6 @@ cc_binary_host {
"utils.cpp",
],
cflags: [
- "-DSTATS_SCHEMA_LEGACY",
"-Wall",
"-Werror",
],
diff --git a/tools/stats_log_api_gen/Collation.cpp b/tools/stats_log_api_gen/Collation.cpp
index d290acae1967..8bccd7150050 100644
--- a/tools/stats_log_api_gen/Collation.cpp
+++ b/tools/stats_log_api_gen/Collation.cpp
@@ -40,18 +40,21 @@ AtomDecl::AtomDecl()
{
}
-AtomDecl::AtomDecl(const AtomDecl& that)
- : code(that.code),
- name(that.name),
- message(that.message),
- fields(that.fields),
- primaryFields(that.primaryFields),
- exclusiveField(that.exclusiveField),
- uidField(that.uidField),
- whitelisted(that.whitelisted),
- binaryFields(that.binaryFields),
- hasModule(that.hasModule),
- moduleName(that.moduleName) {}
+AtomDecl::AtomDecl(const AtomDecl &that)
+ : code(that.code),
+ name(that.name),
+ message(that.message),
+ fields(that.fields),
+ primaryFields(that.primaryFields),
+ exclusiveField(that.exclusiveField),
+ defaultState(that.defaultState),
+ resetState(that.resetState),
+ nested(that.nested),
+ uidField(that.uidField),
+ whitelisted(that.whitelisted),
+ binaryFields(that.binaryFields),
+ hasModule(that.hasModule),
+ moduleName(that.moduleName) {}
AtomDecl::AtomDecl(int c, const string& n, const string& m)
:code(c),
@@ -281,7 +284,7 @@ int collate_atom(const Descriptor *atom, AtomDecl *atomDecl,
atomDecl->fields.push_back(atField);
if (field->options().GetExtension(os::statsd::state_field_option).option() ==
- os::statsd::StateField::PRIMARY) {
+ os::statsd::StateField::PRIMARY_FIELD) {
if (javaType == JAVA_TYPE_UNKNOWN ||
javaType == JAVA_TYPE_ATTRIBUTION_CHAIN ||
javaType == JAVA_TYPE_OBJECT || javaType == JAVA_TYPE_BYTE_ARRAY) {
@@ -300,7 +303,7 @@ int collate_atom(const Descriptor *atom, AtomDecl *atomDecl,
}
if (field->options().GetExtension(os::statsd::state_field_option).option() ==
- os::statsd::StateField::EXCLUSIVE) {
+ os::statsd::StateField::EXCLUSIVE_STATE) {
if (javaType == JAVA_TYPE_UNKNOWN ||
javaType == JAVA_TYPE_ATTRIBUTION_CHAIN ||
javaType == JAVA_TYPE_OBJECT || javaType == JAVA_TYPE_BYTE_ARRAY) {
@@ -312,6 +315,21 @@ int collate_atom(const Descriptor *atom, AtomDecl *atomDecl,
} else {
errorCount++;
}
+
+ if (field->options()
+ .GetExtension(os::statsd::state_field_option)
+ .has_default_state_value()) {
+ atomDecl->defaultState = field->options()
+ .GetExtension(os::statsd::state_field_option)
+ .default_state_value();
+ }
+
+ if (field->options().GetExtension(os::statsd::state_field_option).has_reset_state_value()) {
+ atomDecl->resetState = field->options()
+ .GetExtension(os::statsd::state_field_option)
+ .reset_state_value();
+ }
+ atomDecl->nested = field->options().GetExtension(os::statsd::state_field_option).nested();
}
if (field->options().GetExtension(os::statsd::is_uid) == true) {
diff --git a/tools/stats_log_api_gen/Collation.h b/tools/stats_log_api_gen/Collation.h
index 87d4d5db0cee..65d8e3efee5b 100644
--- a/tools/stats_log_api_gen/Collation.h
+++ b/tools/stats_log_api_gen/Collation.h
@@ -88,6 +88,9 @@ struct AtomDecl {
vector<int> primaryFields;
int exclusiveField = 0;
+ int defaultState = INT_MAX;
+ int resetState = INT_MAX;
+ bool nested;
int uidField = 0;
diff --git a/tools/stats_log_api_gen/atoms_info_writer.cpp b/tools/stats_log_api_gen/atoms_info_writer.cpp
index 66ae96401974..984c929f63bd 100644
--- a/tools/stats_log_api_gen/atoms_info_writer.cpp
+++ b/tools/stats_log_api_gen/atoms_info_writer.cpp
@@ -25,11 +25,15 @@ namespace android {
namespace stats_log_api_gen {
static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) {
+ fprintf(out, "static int UNSET_VALUE = INT_MAX;\n");
fprintf(out, "static int FIRST_UID_IN_CHAIN = 0;\n");
fprintf(out, "struct StateAtomFieldOptions {\n");
fprintf(out, " std::vector<int> primaryFields;\n");
fprintf(out, " int exclusiveField;\n");
+ fprintf(out, " int defaultState = UNSET_VALUE;\n");
+ fprintf(out, " int resetState = UNSET_VALUE;\n");
+ fprintf(out, " bool nested;\n");
fprintf(out, "};\n");
fprintf(out, "\n");
@@ -126,7 +130,7 @@ static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) {
"static std::map<int, StateAtomFieldOptions> "
"getStateAtomFieldOptions() {\n");
fprintf(out, " std::map<int, StateAtomFieldOptions> options;\n");
- fprintf(out, " StateAtomFieldOptions opt;\n");
+ fprintf(out, " StateAtomFieldOptions* opt;\n");
for (set<AtomDecl>::const_iterator atom = atoms.decls.begin();
atom != atoms.decls.end(); atom++) {
if (atom->primaryFields.size() == 0 && atom->exclusiveField == 0) {
@@ -136,14 +140,26 @@ static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) {
"\n // Adding primary and exclusive fields for atom "
"(%d)%s\n",
atom->code, atom->name.c_str());
- fprintf(out, " opt.primaryFields.clear();\n");
+ fprintf(out, " opt = &(options[static_cast<int>(%s)]);\n",
+ make_constant_name(atom->name).c_str());
+ fprintf(out, " opt->primaryFields.reserve(%lu);\n", atom->primaryFields.size());
for (const auto& field : atom->primaryFields) {
- fprintf(out, " opt.primaryFields.push_back(%d);\n", field);
+ fprintf(out, " opt->primaryFields.push_back(%d);\n", field);
}
- fprintf(out, " opt.exclusiveField = %d;\n", atom->exclusiveField);
- fprintf(out, " options[static_cast<int>(%s)] = opt;\n",
- make_constant_name(atom->name).c_str());
+ fprintf(out, " opt->exclusiveField = %d;\n", atom->exclusiveField);
+ if (atom->defaultState != INT_MAX) {
+ fprintf(out, " opt->defaultState = %d;\n", atom->defaultState);
+ } else {
+ fprintf(out, " opt->defaultState = UNSET_VALUE;\n");
+ }
+
+ if (atom->resetState != INT_MAX) {
+ fprintf(out, " opt->resetState = %d;\n", atom->resetState);
+ } else {
+ fprintf(out, " opt->resetState = UNSET_VALUE;\n");
+ }
+ fprintf(out, " opt->nested = %d;\n", atom->nested);
}
fprintf(out, " return options;\n");
diff --git a/tools/stats_log_api_gen/java_writer_q.cpp b/tools/stats_log_api_gen/java_writer_q.cpp
index f8661294821e..a68c3a208869 100644
--- a/tools/stats_log_api_gen/java_writer_q.cpp
+++ b/tools/stats_log_api_gen/java_writer_q.cpp
@@ -75,9 +75,7 @@ int write_java_methods_q_schema(
java_type_name(chainField.javaType), chainField.name.c_str());
}
} else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
- // Module logging does not yet support key value pair.
- fprintf(stderr, "Module logging does not yet support key value pair.\n");
- continue;
+ fprintf(out, ", android.util.SparseArray<Object> valueMap");
} else {
fprintf(out, ", %s arg%d", java_type_name(*arg), argIndex);
}
@@ -161,9 +159,114 @@ int write_java_methods_q_schema(
fprintf(out, "%s needed += attrSize;\n", indent.c_str());
break;
}
+ case JAVA_TYPE_KEY_VALUE_PAIR:
+ {
+ fprintf(out,
+ "%s // Calculate bytes needed by Key Value Pairs.\n",
+ indent.c_str());
+ fprintf(out,
+ "%s final int count = valueMap.size();\n", indent.c_str());
+ fprintf(out,
+ "%s android.util.SparseIntArray intMap = null;\n", indent.c_str());
+ fprintf(out,
+ "%s android.util.SparseLongArray longMap = null;\n", indent.c_str());
+ fprintf(out,
+ "%s android.util.SparseArray<String> stringMap = null;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s android.util.SparseArray<Float> floatMap = null;\n", indent.c_str());
+ fprintf(out,
+ "%s int keyValuePairSize = LIST_TYPE_OVERHEAD * 5;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s for (int i = 0; i < count; i++) {\n", indent.c_str());
+ fprintf(out,
+ "%s final int key = valueMap.keyAt(i);\n", indent.c_str());
+ fprintf(out,
+ "%s final Object value = valueMap.valueAt(i);\n",
+ indent.c_str());
+ fprintf(out,
+ "%s if (value instanceof Integer) {\n", indent.c_str());
+ fprintf(out,
+ "%s keyValuePairSize += LIST_TYPE_OVERHEAD\n",
+ indent.c_str());
+ fprintf(out,
+ "%s + INT_TYPE_SIZE + INT_TYPE_SIZE;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s if (null == intMap) {\n", indent.c_str());
+ fprintf(out,
+ "%s intMap = new android.util.SparseIntArray();\n", indent.c_str());
+ fprintf(out,
+ "%s }\n", indent.c_str());
+ fprintf(out,
+ "%s intMap.put(key, (Integer) value);\n", indent.c_str());
+ fprintf(out,
+ "%s } else if (value instanceof Long) {\n", indent.c_str());
+ fprintf(out,
+ "%s keyValuePairSize += LIST_TYPE_OVERHEAD\n",
+ indent.c_str());
+ fprintf(out,
+ "%s + INT_TYPE_SIZE + LONG_TYPE_SIZE;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s if (null == longMap) {\n", indent.c_str());
+ fprintf(out,
+ "%s longMap = new android.util.SparseLongArray();\n", indent.c_str());
+ fprintf(out,
+ "%s }\n", indent.c_str());
+ fprintf(out,
+ "%s longMap.put(key, (Long) value);\n", indent.c_str());
+ fprintf(out,
+ "%s } else if (value instanceof String) {\n", indent.c_str());
+ fprintf(out,
+ "%s final String str = (value == null) ? \"\" : "
+ "(String) value;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s final int len = "
+ "str.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s keyValuePairSize += LIST_TYPE_OVERHEAD + INT_TYPE_SIZE\n",
+ indent.c_str());
+ fprintf(out,
+ "%s + STRING_TYPE_OVERHEAD + len;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s if (null == stringMap) {\n", indent.c_str());
+ fprintf(out,
+ "%s stringMap = new android.util.SparseArray<>();\n", indent.c_str());
+ fprintf(out,
+ "%s }\n", indent.c_str());
+ fprintf(out,
+ "%s stringMap.put(key, str);\n", indent.c_str());
+ fprintf(out,
+ "%s } else if (value instanceof Float) {\n", indent.c_str());
+ fprintf(out,
+ "%s keyValuePairSize += LIST_TYPE_OVERHEAD\n",
+ indent.c_str());
+ fprintf(out,
+ "%s + INT_TYPE_SIZE + FLOAT_TYPE_SIZE;\n",
+ indent.c_str());
+ fprintf(out,
+ "%s if (null == floatMap) {\n", indent.c_str());
+ fprintf(out,
+ "%s floatMap = new android.util.SparseArray<>();\n", indent.c_str());
+ fprintf(out,
+ "%s }\n", indent.c_str());
+ fprintf(out,
+ "%s floatMap.put(key, (Float) value);\n", indent.c_str());
+ fprintf(out,
+ "%s }\n", indent.c_str());
+ fprintf(out,
+ "%s }\n", indent.c_str());
+ fprintf(out, "%s needed += keyValuePairSize;\n", indent.c_str());
+ break;
+ }
default:
- // Unsupported types: OBJECT, DOUBLE, KEY_VALUE_PAIR.
- fprintf(stderr, "Module logging does not yet support key value pair.\n");
+ // Unsupported types: OBJECT, DOUBLE.
+ fprintf(stderr, "Module logging does not yet support Object and Double.\n");
return 1;
}
argIndex++;
@@ -253,10 +356,18 @@ int write_java_methods_q_schema(
fprintf(out, "%s pos += attrSize;\n", indent.c_str());
break;
}
+ case JAVA_TYPE_KEY_VALUE_PAIR:
+ requiredHelpers |= JAVA_MODULE_REQUIRES_FLOAT;
+ requiredHelpers |= JAVA_MODULE_REQUIRES_KEY_VALUE_PAIRS;
+ fprintf(out,
+ "%s writeKeyValuePairs(buff, pos, intMap, longMap, stringMap, "
+ "floatMap);\n", indent.c_str());
+ fprintf(out, "%s pos += keyValuePairSize;\n", indent.c_str());
+ break;
default:
- // Unsupported types: OBJECT, DOUBLE, KEY_VALUE_PAIR.
+ // Unsupported types: OBJECT, DOUBLE.
fprintf(stderr,
- "Object, Double, and KeyValuePairs are not supported in module logging");
+ "Object and Double are not supported in module logging");
return 1;
}
argIndex++;
@@ -359,6 +470,155 @@ void write_java_helpers_for_q_schema_methods(
fprintf(out, "%s}\n", indent.c_str());
fprintf(out, "\n");
}
+
+ if (requiredHelpers & JAVA_MODULE_REQUIRES_KEY_VALUE_PAIRS) {
+ fprintf(out, "%sprivate static void writeKeyValuePairs(byte[] buff, int pos,\n",
+ indent.c_str());
+ fprintf(out, "%s final android.util.SparseIntArray intMap,\n", indent.c_str());
+ fprintf(out, "%s final android.util.SparseLongArray longMap,\n", indent.c_str());
+ fprintf(out, "%s final android.util.SparseArray<String> stringMap,\n",
+ indent.c_str());
+ fprintf(out, "%s final android.util.SparseArray<Float> floatMap) {\n",
+ indent.c_str());
+
+ // Start list of lists.
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) 4;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+
+ // Write integers.
+ fprintf(out, "%s final int intMapSize = null == intMap ? 0 : intMap.size();\n",
+ indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) intMapSize;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s for (int i = 0; i < intMapSize; i++) {\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) 2;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s final int key = intMap.keyAt(i);\n", indent.c_str());
+ fprintf(out, "%s final int value = intMap.valueAt(i);\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = INT_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyInt(buff, pos + 1, key);\n", indent.c_str());
+ fprintf(out, "%s pos += INT_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = INT_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyInt(buff, pos + 1, value);\n", indent.c_str());
+ fprintf(out, "%s pos += INT_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s }\n", indent.c_str());
+
+ // Write longs.
+ fprintf(out, "%s final int longMapSize = null == longMap ? 0 : longMap.size();\n",
+ indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) longMapSize;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s for (int i = 0; i < longMapSize; i++) {\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) 2;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s final int key = longMap.keyAt(i);\n", indent.c_str());
+ fprintf(out, "%s final long value = longMap.valueAt(i);\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = INT_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyInt(buff, pos + 1, key);\n", indent.c_str());
+ fprintf(out, "%s pos += INT_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = LONG_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyLong(buff, pos + 1, value);\n", indent.c_str());
+ fprintf(out, "%s pos += LONG_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s }\n", indent.c_str());
+
+ // Write Strings.
+ fprintf(out, "%s final int stringMapSize = null == stringMap ? 0 : stringMap.size();\n",
+ indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) stringMapSize;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s for (int i = 0; i < stringMapSize; i++) {\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) 2;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s final int key = stringMap.keyAt(i);\n", indent.c_str());
+ fprintf(out, "%s final String value = stringMap.valueAt(i);\n", indent.c_str());
+ fprintf(out, "%s final byte[] valueBytes = "
+ "value.getBytes(java.nio.charset.StandardCharsets.UTF_8);\n",
+ indent.c_str());
+ fprintf(out, "%s buff[pos] = INT_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyInt(buff, pos + 1, key);\n", indent.c_str());
+ fprintf(out, "%s pos += INT_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = STRING_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyInt(buff, pos + 1, valueBytes.length);\n", indent.c_str());
+ fprintf(out, "%s System.arraycopy("
+ "valueBytes, 0, buff, pos + STRING_TYPE_OVERHEAD, valueBytes.length);\n",
+ indent.c_str());
+ fprintf(out, "%s pos += STRING_TYPE_OVERHEAD + valueBytes.length;\n",
+ indent.c_str());
+ fprintf(out, "%s }\n", indent.c_str());
+
+ // Write floats.
+ fprintf(out, "%s final int floatMapSize = null == floatMap ? 0 : floatMap.size();\n",
+ indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) floatMapSize;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s for (int i = 0; i < floatMapSize; i++) {\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = LIST_TYPE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos + 1] = (byte) 2;\n", indent.c_str());
+ fprintf(out, "%s pos += LIST_TYPE_OVERHEAD;\n", indent.c_str());
+ fprintf(out, "%s final int key = floatMap.keyAt(i);\n", indent.c_str());
+ fprintf(out, "%s final float value = floatMap.valueAt(i);\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = INT_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyInt(buff, pos + 1, key);\n", indent.c_str());
+ fprintf(out, "%s pos += INT_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s buff[pos] = FLOAT_TYPE;\n", indent.c_str());
+ fprintf(out, "%s copyFloat(buff, pos + 1, value);\n", indent.c_str());
+ fprintf(out, "%s pos += FLOAT_TYPE_SIZE;\n", indent.c_str());
+ fprintf(out, "%s }\n", indent.c_str());
+ fprintf(out, "%s}\n", indent.c_str());
+ fprintf(out, "\n");
+ }
+}
+
+// This method is called in main.cpp to generate StatsLog for modules that's compatible with
+// Q at compile-time.
+int write_stats_log_java_q_for_module(FILE* out, const Atoms& atoms,
+ const AtomDecl &attributionDecl, const string& moduleName,
+ const string& javaClass, const string& javaPackage,
+ const bool supportWorkSource) {
+ // Print prelude
+ fprintf(out, "// This file is autogenerated\n");
+ fprintf(out, "\n");
+ fprintf(out, "package %s;\n", javaPackage.c_str());
+ fprintf(out, "\n");
+ fprintf(out, "import static java.nio.charset.StandardCharsets.UTF_8;\n");
+ fprintf(out, "\n");
+ fprintf(out, "import android.util.StatsLog;\n");
+ fprintf(out, "import android.os.SystemClock;\n");
+ fprintf(out, "\n");
+ fprintf(out, "\n");
+ fprintf(out, "/**\n");
+ fprintf(out, " * Utility class for logging statistics events.\n");
+ fprintf(out, " */\n");
+ fprintf(out, "public class %s {\n", javaClass.c_str());
+
+ write_java_q_logging_constants(out, " ");
+
+ write_java_atom_codes(out, atoms, moduleName);
+
+ write_java_enum_values(out, atoms, moduleName);
+
+ int errors = 0;
+ // Print write methods
+ fprintf(out, " // Write methods\n");
+ errors += write_java_methods_q_schema(out, atoms.signatures_to_modules, attributionDecl,
+ moduleName, " ");
+ errors += write_java_non_chained_methods(out, atoms.non_chained_signatures_to_modules,
+ moduleName);
+ if (supportWorkSource) {
+ errors += write_java_work_source_methods(out, atoms.signatures_to_modules, moduleName);
+ }
+
+ fprintf(out, "}\n");
+
+ return errors;
}
#if defined(STATS_SCHEMA_LEGACY)
@@ -382,7 +642,7 @@ static void write_java_method(
java_type_name(chainField.javaType), chainField.name.c_str());
}
} else if (*arg == JAVA_TYPE_KEY_VALUE_PAIR) {
- fprintf(out, ", android.util.SparseArray<Object> value_map");
+ fprintf(out, ", android.util.SparseArray<Object> valueMap");
} else {
fprintf(out, ", %s arg%d", java_type_name(*arg), argIndex);
}
@@ -423,48 +683,6 @@ int write_stats_log_java_q(FILE* out, const Atoms& atoms, const AtomDecl &attrib
return 0;
}
-
-int write_stats_log_java_q_for_module(FILE* out, const Atoms& atoms,
- const AtomDecl &attributionDecl, const string& moduleName,
- const string& javaClass, const string& javaPackage,
- const bool supportWorkSource) {
- // Print prelude
- fprintf(out, "// This file is autogenerated\n");
- fprintf(out, "\n");
- fprintf(out, "package %s;\n", javaPackage.c_str());
- fprintf(out, "\n");
- fprintf(out, "import static java.nio.charset.StandardCharsets.UTF_8;\n");
- fprintf(out, "\n");
- fprintf(out, "import android.util.StatsLog;\n");
- fprintf(out, "import android.os.SystemClock;\n");
- fprintf(out, "\n");
- fprintf(out, "\n");
- fprintf(out, "/**\n");
- fprintf(out, " * Utility class for logging statistics events.\n");
- fprintf(out, " */\n");
- fprintf(out, "public class %s {\n", javaClass.c_str());
-
- write_java_q_logging_constants(out, " ");
-
- write_java_atom_codes(out, atoms, moduleName);
-
- write_java_enum_values(out, atoms, moduleName);
-
- int errors = 0;
- // Print write methods
- fprintf(out, " // Write methods\n");
- errors += write_java_methods_q_schema(out, atoms.signatures_to_modules, attributionDecl,
- moduleName, " ");
- errors += write_java_non_chained_methods(out, atoms.non_chained_signatures_to_modules,
- moduleName);
- if (supportWorkSource) {
- errors += write_java_work_source_methods(out, atoms.signatures_to_modules, moduleName);
- }
-
- fprintf(out, "}\n");
-
- return errors;
-}
#endif
} // namespace stats_log_api_gen
diff --git a/tools/stats_log_api_gen/java_writer_q.h b/tools/stats_log_api_gen/java_writer_q.h
index 36df1d8edbee..7d734df1e118 100644
--- a/tools/stats_log_api_gen/java_writer_q.h
+++ b/tools/stats_log_api_gen/java_writer_q.h
@@ -45,13 +45,13 @@ void write_java_helpers_for_q_schema_methods(
const int requiredHelpers,
const string& indent);
-#if defined(STATS_SCHEMA_LEGACY)
-int write_stats_log_java_q(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
- const bool supportWorkSource);
-
int write_stats_log_java_q_for_module(FILE* out, const Atoms& atoms,
const AtomDecl &attributionDecl, const string& moduleName, const string& javaClass,
const string& javaPackage, const bool supportWorkSource);
+
+#if defined(STATS_SCHEMA_LEGACY)
+int write_stats_log_java_q(FILE* out, const Atoms& atoms, const AtomDecl &attributionDecl,
+ const bool supportWorkSource);
#endif
} // namespace stats_log_api_gen
} // namespace android
diff --git a/tools/stats_log_api_gen/main.cpp b/tools/stats_log_api_gen/main.cpp
index 6089532e1ca4..ddbf22c7f12a 100644
--- a/tools/stats_log_api_gen/main.cpp
+++ b/tools/stats_log_api_gen/main.cpp
@@ -511,8 +511,10 @@ print_usage()
fprintf(stderr, " --javaClass CLASS the class name of the java class.\n");
fprintf(stderr, " Optional for Java with module.\n");
fprintf(stderr, " Default is \"StatsLogInternal\"\n");
- fprintf(stderr, " --supportQ Include support for Android Q.\n");
+ fprintf(stderr, " --supportQ Include runtime support for Android Q.\n");
fprintf(stderr, " --worksource Include support for logging WorkSource objects.\n");
+ fprintf(stderr, " --compileQ Include compile-time support for Android Q "
+ "(Java only).\n");
}
/**
@@ -536,6 +538,7 @@ run(int argc, char const*const* argv)
string javaClass = DEFAULT_JAVA_CLASS;
bool supportQ = false;
bool supportWorkSource = false;
+ bool compileQ = false;
int index = 1;
while (index < argc) {
@@ -630,6 +633,8 @@ run(int argc, char const*const* argv)
supportQ = true;
} else if (0 == strcmp("--worksource", argv[index])) {
supportWorkSource = true;
+ } else if (0 == strcmp("--compileQ", argv[index])) {
+ compileQ = true;
}
index++;
@@ -645,12 +650,18 @@ run(int argc, char const*const* argv)
return 1;
}
- if (DEFAULT_MODULE_NAME == moduleName && supportQ) {
+ if (DEFAULT_MODULE_NAME == moduleName && (supportQ || compileQ)) {
// Support for Q schema is not needed for default module.
fprintf(stderr, "%s cannot support Q schema\n", moduleName.c_str());
return 1;
}
+ if (supportQ && compileQ) {
+ // Runtime Q support is redundant if compile-time Q support is required.
+ fprintf(stderr, "Cannot specify compileQ and supportQ simultaneously.\n");
+ return 1;
+ }
+
// Collate the parameters
Atoms atoms;
int errorCount = collate_atoms(Atom::descriptor(), &atoms);
@@ -748,9 +759,15 @@ run(int argc, char const*const* argv)
javaClass = "StatsLogInternal";
javaPackage = "android.util";
}
- errorCount = android::stats_log_api_gen::write_stats_log_java(
- out, atoms, attributionDecl, moduleName, javaClass, javaPackage, supportQ,
- supportWorkSource);
+ if (compileQ) {
+ errorCount = android::stats_log_api_gen::write_stats_log_java_q_for_module(
+ out, atoms, attributionDecl, moduleName, javaClass, javaPackage,
+ supportWorkSource);
+ } else {
+ errorCount = android::stats_log_api_gen::write_stats_log_java(
+ out, atoms, attributionDecl, moduleName, javaClass, javaPackage, supportQ,
+ supportWorkSource);
+ }
#endif
fclose(out);
diff --git a/tools/stats_log_api_gen/test.proto b/tools/stats_log_api_gen/test.proto
index c9a47632b4bb..b892194410ae 100644
--- a/tools/stats_log_api_gen/test.proto
+++ b/tools/stats_log_api_gen/test.proto
@@ -148,53 +148,42 @@ message GoodStateAtoms {
// The atom has only primary field but no exclusive state field.
message BadStateAtom1 {
- optional int32 uid = 1
- [(android.os.statsd.state_field_option).option = PRIMARY];
+ optional int32 uid = 1 [(android.os.statsd.state_field_option).option = PRIMARY_FIELD];
}
// Only primative types can be annotated.
message BadStateAtom2 {
repeated android.os.statsd.AttributionNode attribution = 1
- [(android.os.statsd.state_field_option).option = PRIMARY];
- optional int32 state = 2
- [(android.os.statsd.state_field_option).option = EXCLUSIVE];
+ [(android.os.statsd.state_field_option).option = PRIMARY_FIELD];
+ optional int32 state = 2 [(android.os.statsd.state_field_option).option = EXCLUSIVE_STATE];
}
// Having 2 exclusive state field in the atom means the atom is badly designed.
// E.g., putting bluetooth state and wifi state in the same atom.
message BadStateAtom3 {
- optional int32 uid = 1
- [(android.os.statsd.state_field_option).option = PRIMARY];
- optional int32 state = 2
- [(android.os.statsd.state_field_option).option = EXCLUSIVE];
- optional int32 state2 = 3
- [(android.os.statsd.state_field_option).option = EXCLUSIVE];
+ optional int32 uid = 1 [(android.os.statsd.state_field_option).option = PRIMARY_FIELD];
+ optional int32 state = 2 [(android.os.statsd.state_field_option).option = EXCLUSIVE_STATE];
+ optional int32 state2 = 3 [(android.os.statsd.state_field_option).option = EXCLUSIVE_STATE];
}
message GoodStateAtom1 {
- optional int32 uid = 1
- [(android.os.statsd.state_field_option).option = PRIMARY];
- optional int32 state = 2
- [(android.os.statsd.state_field_option).option = EXCLUSIVE];
+ optional int32 uid = 1 [(android.os.statsd.state_field_option).option = PRIMARY_FIELD];
+ optional int32 state = 2 [(android.os.statsd.state_field_option).option = EXCLUSIVE_STATE];
}
// Atoms can have exclusive state field, but no primary field. That means
// the state is globally exclusive (e.g., DisplayState).
message GoodStateAtom2 {
optional int32 uid = 1;
- optional int32 state = 2
- [(android.os.statsd.state_field_option).option = EXCLUSIVE];
+ optional int32 state = 2 [(android.os.statsd.state_field_option).option = EXCLUSIVE_STATE];
}
// We can have more than one primary fields. That means their combination is a
// primary key.
message GoodStateAtom3 {
- optional int32 uid = 1
- [(android.os.statsd.state_field_option).option = PRIMARY];
- optional int32 tid = 2
- [(android.os.statsd.state_field_option).option = PRIMARY];
- optional int32 state = 3
- [(android.os.statsd.state_field_option).option = EXCLUSIVE];
+ optional int32 uid = 1 [(android.os.statsd.state_field_option).option = PRIMARY_FIELD];
+ optional int32 tid = 2 [(android.os.statsd.state_field_option).option = PRIMARY_FIELD];
+ optional int32 state = 3 [(android.os.statsd.state_field_option).option = EXCLUSIVE_STATE];
}
message WhitelistedAtom {
diff --git a/tools/stats_log_api_gen/utils.h b/tools/stats_log_api_gen/utils.h
index 50737a68bf89..cd602e53359a 100644
--- a/tools/stats_log_api_gen/utils.h
+++ b/tools/stats_log_api_gen/utils.h
@@ -39,6 +39,7 @@ const string DEFAULT_JAVA_CLASS = "StatsLogInternal";
const int JAVA_MODULE_REQUIRES_FLOAT = 0x01;
const int JAVA_MODULE_REQUIRES_ATTRIBUTION = 0x02;
+const int JAVA_MODULE_REQUIRES_KEY_VALUE_PAIRS = 0x04;
string make_constant_name(const string& str);
diff --git a/wifi/java/android/net/wifi/IScoreChangeCallback.aidl b/wifi/java/android/net/wifi/IScoreChangeCallback.aidl
index fd236107bc6e..462a97844d76 100644
--- a/wifi/java/android/net/wifi/IScoreChangeCallback.aidl
+++ b/wifi/java/android/net/wifi/IScoreChangeCallback.aidl
@@ -16,6 +16,8 @@
package android.net.wifi;
+import android.net.NetworkScore;
+
/**
* Interface for Wi-Fi network score callback.
*
@@ -23,7 +25,7 @@ package android.net.wifi;
*/
oneway interface IScoreChangeCallback
{
- void onStatusChange(int sessionId, boolean exiting);
+ void onScoreChange(int sessionId, in NetworkScore score);
void onTriggerUpdateOfWifiUsabilityStats(int sessionId);
}
diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl
index 31b3a5064932..1f1c0c12cf21 100644
--- a/wifi/java/android/net/wifi/IWifiManager.aidl
+++ b/wifi/java/android/net/wifi/IWifiManager.aidl
@@ -123,8 +123,6 @@ interface IWifiManager
boolean isWifiStandardSupported(int standard);
- boolean needs5GHzToAnyApBandConversion();
-
DhcpInfo getDhcpInfo();
boolean isScanAlwaysAvailable();
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index 0ef224a5f8ee..91b7df372e01 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -373,6 +373,7 @@ public class WifiConfiguration implements Parcelable {
* ECDHE_ECDSA
* ECDHE_RSA
* </pre>
+ * @hide
*/
public static class SuiteBCipher {
private SuiteBCipher() { }
@@ -715,8 +716,8 @@ public class WifiConfiguration implements Parcelable {
public BitSet allowedGroupManagementCiphers;
/**
* The set of SuiteB ciphers supported by this configuration.
- * To be used for WPA3-Enterprise mode.
- * See {@link SuiteBCipher} for descriptions of the values.
+ * To be used for WPA3-Enterprise mode. Set automatically by the framework based on the
+ * certificate type that is used in this configuration.
*/
@NonNull
public BitSet allowedSuiteBCiphers;
@@ -1251,8 +1252,8 @@ public class WifiConfiguration implements Parcelable {
/** @hide */
@Retention(RetentionPolicy.SOURCE)
- @IntDef(value = {
- NETWORK_SELECTION_ENABLE,
+ @IntDef(prefix = "DISABLED_", value = {
+ DISABLED_NONE,
DISABLED_ASSOCIATION_REJECTION,
DISABLED_AUTHENTICATION_FAILURE,
DISABLED_DHCP_FAILURE,
@@ -1266,7 +1267,7 @@ public class WifiConfiguration implements Parcelable {
// Quality Network disabled reasons
/** Default value. Means not disabled. */
- public static final int NETWORK_SELECTION_ENABLE = 0;
+ public static final int DISABLED_NONE = 0;
/**
* The starting index for network selection disabled reasons.
* @hide
@@ -1355,7 +1356,7 @@ public class WifiConfiguration implements Parcelable {
private static SparseArray<DisableReasonInfo> buildDisableReasonInfos() {
SparseArray<DisableReasonInfo> reasons = new SparseArray<>();
- reasons.append(NETWORK_SELECTION_ENABLE,
+ reasons.append(DISABLED_NONE,
new DisableReasonInfo(
// Note that these strings are persisted in
// XmlUtil.NetworkSelectionStatusXmlUtil#writeToXml,
@@ -1609,7 +1610,7 @@ public class WifiConfiguration implements Parcelable {
}
/** True if the device has ever connected to this network, false otherwise. */
- public boolean getHasEverConnected() {
+ public boolean hasEverConnected() {
return mHasEverConnected;
}
@@ -1649,7 +1650,7 @@ public class WifiConfiguration implements Parcelable {
/**
*
* Set the current network's disable reason.
- * One of the {@link #NETWORK_SELECTION_ENABLE} or DISABLED_* constants.
+ * One of the {@link #DISABLED_NONE} or DISABLED_* constants.
* e.g. {@link #DISABLED_ASSOCIATION_REJECTION}.
* @see NetworkSelectionStatus#getNetworkSelectionDisableReason()
*/
@@ -1673,7 +1674,7 @@ public class WifiConfiguration implements Parcelable {
/**
* Get the network disable reason string for a reason code (for debugging).
- * @param reason specific error reason. One of the {@link #NETWORK_SELECTION_ENABLE} or
+ * @param reason specific error reason. One of the {@link #DISABLED_NONE} or
* DISABLED_* constants e.g. {@link #DISABLED_ASSOCIATION_REJECTION}.
* @return network disable reason string, or null if the reason is invalid.
*/
@@ -1739,7 +1740,7 @@ public class WifiConfiguration implements Parcelable {
/**
* Returns the current network's disable reason.
- * One of the {@link #NETWORK_SELECTION_ENABLE} or DISABLED_* constants
+ * One of the {@link #DISABLED_NONE} or DISABLED_* constants
* e.g. {@link #DISABLED_ASSOCIATION_REJECTION}.
*/
@NetworkSelectionDisableReason
@@ -1779,13 +1780,13 @@ public class WifiConfiguration implements Parcelable {
/**
* Get the disable counter of a specific reason.
- * @param reason specific failure reason. One of the {@link #NETWORK_SELECTION_ENABLE} or
+ * @param reason specific failure reason. One of the {@link #DISABLED_NONE} or
* DISABLED_* constants e.g. {@link #DISABLED_ASSOCIATION_REJECTION}.
* @exception IllegalArgumentException for invalid reason
* @return counter number for specific error reason.
*/
public int getDisableReasonCounter(@NetworkSelectionDisableReason int reason) {
- if (reason >= NETWORK_SELECTION_ENABLE && reason < NETWORK_SELECTION_DISABLED_MAX) {
+ if (reason >= DISABLED_NONE && reason < NETWORK_SELECTION_DISABLED_MAX) {
return mNetworkSeclectionDisableCounter[reason];
} else {
throw new IllegalArgumentException("Illegal reason value: " + reason);
@@ -1800,7 +1801,7 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
public void setDisableReasonCounter(int reason, int value) {
- if (reason >= NETWORK_SELECTION_ENABLE && reason < NETWORK_SELECTION_DISABLED_MAX) {
+ if (reason >= DISABLED_NONE && reason < NETWORK_SELECTION_DISABLED_MAX) {
mNetworkSeclectionDisableCounter[reason] = value;
} else {
throw new IllegalArgumentException("Illegal reason value: " + reason);
@@ -1814,7 +1815,7 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
public void incrementDisableReasonCounter(int reason) {
- if (reason >= NETWORK_SELECTION_ENABLE && reason < NETWORK_SELECTION_DISABLED_MAX) {
+ if (reason >= DISABLED_NONE && reason < NETWORK_SELECTION_DISABLED_MAX) {
mNetworkSeclectionDisableCounter[reason]++;
} else {
throw new IllegalArgumentException("Illegal reason value: " + reason);
@@ -1828,8 +1829,8 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
public void clearDisableReasonCounter(int reason) {
- if (reason >= NETWORK_SELECTION_ENABLE && reason < NETWORK_SELECTION_DISABLED_MAX) {
- mNetworkSeclectionDisableCounter[reason] = NETWORK_SELECTION_ENABLE;
+ if (reason >= DISABLED_NONE && reason < NETWORK_SELECTION_DISABLED_MAX) {
+ mNetworkSeclectionDisableCounter[reason] = DISABLED_NONE;
} else {
throw new IllegalArgumentException("Illegal reason value: " + reason);
}
@@ -1840,7 +1841,7 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
public void clearDisableReasonCounter() {
- Arrays.fill(mNetworkSeclectionDisableCounter, NETWORK_SELECTION_ENABLE);
+ Arrays.fill(mNetworkSeclectionDisableCounter, DISABLED_NONE);
}
/**
@@ -1870,7 +1871,7 @@ public class WifiConfiguration implements Parcelable {
public void copy(NetworkSelectionStatus source) {
mStatus = source.mStatus;
mNetworkSelectionDisableReason = source.mNetworkSelectionDisableReason;
- for (int index = NETWORK_SELECTION_ENABLE; index < NETWORK_SELECTION_DISABLED_MAX;
+ for (int index = DISABLED_NONE; index < NETWORK_SELECTION_DISABLED_MAX;
index++) {
mNetworkSeclectionDisableCounter[index] =
source.mNetworkSeclectionDisableCounter[index];
@@ -1881,14 +1882,14 @@ public class WifiConfiguration implements Parcelable {
setCandidate(source.getCandidate());
setCandidateScore(source.getCandidateScore());
setConnectChoice(source.getConnectChoice());
- setHasEverConnected(source.getHasEverConnected());
+ setHasEverConnected(source.hasEverConnected());
}
/** @hide */
public void writeToParcel(Parcel dest) {
dest.writeInt(getNetworkSelectionStatus());
dest.writeInt(getNetworkSelectionDisableReason());
- for (int index = NETWORK_SELECTION_ENABLE; index < NETWORK_SELECTION_DISABLED_MAX;
+ for (int index = DISABLED_NONE; index < NETWORK_SELECTION_DISABLED_MAX;
index++) {
dest.writeInt(getDisableReasonCounter(index));
}
@@ -1900,14 +1901,14 @@ public class WifiConfiguration implements Parcelable {
} else {
dest.writeInt(CONNECT_CHOICE_NOT_EXISTS);
}
- dest.writeInt(getHasEverConnected() ? 1 : 0);
+ dest.writeInt(hasEverConnected() ? 1 : 0);
}
/** @hide */
public void readFromParcel(Parcel in) {
setNetworkSelectionStatus(in.readInt());
setNetworkSelectionDisableReason(in.readInt());
- for (int index = NETWORK_SELECTION_ENABLE; index < NETWORK_SELECTION_DISABLED_MAX;
+ for (int index = DISABLED_NONE; index < NETWORK_SELECTION_DISABLED_MAX;
index++) {
setDisableReasonCounter(index, in.readInt());
}
@@ -1929,54 +1930,38 @@ public class WifiConfiguration implements Parcelable {
private NetworkSelectionStatus mNetworkSelectionStatus = new NetworkSelectionStatus();
/**
- * @hide
* This class is intended to store extra failure reason information for the most recent
* connection attempt, so that it may be surfaced to the settings UI
+ * @hide
*/
- @SystemApi
+ // TODO(b/148626966): called by SUW via reflection, remove once SUW is updated
public static class RecentFailure {
private RecentFailure() {}
- /** @hide */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(value = {NONE, STATUS_AP_UNABLE_TO_HANDLE_NEW_STA})
- public @interface AssociationStatus {}
-
- /**
- * No recent failure, or no specific reason given for the recent connection failure
- */
- public static final int NONE = 0;
- /**
- * Connection to this network recently failed due to Association Rejection Status 17
- * (AP is full)
- */
- public static final int STATUS_AP_UNABLE_TO_HANDLE_NEW_STA = 17;
/**
* Association Rejection Status code (NONE for success/non-association-rejection-fail)
*/
- @AssociationStatus
- private int mAssociationStatus = NONE;
+ @RecentFailureReason
+ private int mAssociationStatus = RECENT_FAILURE_NONE;
/**
* @param status the association status code for the recent failure
- * @hide
*/
- public void setAssociationStatus(@AssociationStatus int status) {
+ public void setAssociationStatus(@RecentFailureReason int status) {
mAssociationStatus = status;
}
/**
* Sets the RecentFailure to NONE
- * @hide
*/
public void clear() {
- mAssociationStatus = NONE;
+ mAssociationStatus = RECENT_FAILURE_NONE;
}
/**
- * Get the recent failure code. One of {@link #NONE} or
- * {@link #STATUS_AP_UNABLE_TO_HANDLE_NEW_STA}.
+ * Get the recent failure code. One of {@link #RECENT_FAILURE_NONE} or
+ * {@link #RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA}.
*/
- @AssociationStatus
+ @RecentFailureReason
public int getAssociationStatus() {
return mAssociationStatus;
}
@@ -1986,10 +1971,47 @@ public class WifiConfiguration implements Parcelable {
* RecentFailure member
* @hide
*/
+ // TODO(b/148626966): called by SUW via reflection, once SUW is updated, make private and
+ // rename to mRecentFailure
@NonNull
- @SystemApi
public final RecentFailure recentFailure = new RecentFailure();
+ /** @hide */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = "RECENT_FAILURE_", value = {
+ RECENT_FAILURE_NONE,
+ RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA})
+ public @interface RecentFailureReason {}
+
+ /**
+ * No recent failure, or no specific reason given for the recent connection failure
+ * @hide
+ */
+ @SystemApi
+ public static final int RECENT_FAILURE_NONE = 0;
+ /**
+ * Connection to this network recently failed due to Association Rejection Status 17
+ * (AP is full)
+ * @hide
+ */
+ @SystemApi
+ public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17;
+
+ /**
+ * Get the failure reason for the most recent connection attempt, or
+ * {@link #RECENT_FAILURE_NONE} if there was no failure.
+ *
+ * Failure reasons include:
+ * {@link #RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA}
+ *
+ * @hide
+ */
+ @RecentFailureReason
+ @SystemApi
+ public int getRecentFailureReason() {
+ return recentFailure.getAssociationStatus();
+ }
+
/**
* Get the network selection status.
* @hide
@@ -2129,8 +2151,8 @@ public class WifiConfiguration implements Parcelable {
sbuf.append(" mNetworkSelectionDisableReason ")
.append(mNetworkSelectionStatus.getNetworkDisableReasonString() + "\n");
- for (int index = mNetworkSelectionStatus.NETWORK_SELECTION_ENABLE;
- index < mNetworkSelectionStatus.NETWORK_SELECTION_DISABLED_MAX; index++) {
+ for (int index = NetworkSelectionStatus.DISABLED_NONE;
+ index < NetworkSelectionStatus.NETWORK_SELECTION_DISABLED_MAX; index++) {
if (mNetworkSelectionStatus.getDisableReasonCounter(index) != 0) {
sbuf.append(NetworkSelectionStatus.getNetworkDisableReasonString(index)
+ " counter:" + mNetworkSelectionStatus.getDisableReasonCounter(index)
@@ -2142,7 +2164,7 @@ public class WifiConfiguration implements Parcelable {
sbuf.append(" connect choice: ").append(mNetworkSelectionStatus.getConnectChoice());
}
sbuf.append(" hasEverConnected: ")
- .append(mNetworkSelectionStatus.getHasEverConnected()).append("\n");
+ .append(mNetworkSelectionStatus.hasEverConnected()).append("\n");
if (this.numAssociation > 0) {
sbuf.append(" numAssociation ").append(this.numAssociation).append("\n");
@@ -2511,7 +2533,7 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
@Nullable
- @SystemApi
+ @UnsupportedAppUsage
public StaticIpConfiguration getStaticIpConfiguration() {
return mIpConfiguration.getStaticIpConfiguration();
}
@@ -2527,7 +2549,7 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
@NonNull
- @SystemApi
+ @UnsupportedAppUsage
public IpConfiguration.IpAssignment getIpAssignment() {
return mIpConfiguration.getIpAssignment();
}
@@ -2543,7 +2565,7 @@ public class WifiConfiguration implements Parcelable {
* @hide
*/
@NonNull
- @SystemApi
+ @UnsupportedAppUsage
public IpConfiguration.ProxySettings getProxySettings() {
return mIpConfiguration.getProxySettings();
}
@@ -2606,7 +2628,7 @@ public class WifiConfiguration implements Parcelable {
* Set the {@link ProxySettings} and {@link ProxyInfo} for this network.
* @hide
*/
- @SystemApi
+ @UnsupportedAppUsage
public void setProxy(@NonNull ProxySettings settings, @NonNull ProxyInfo proxy) {
mIpConfiguration.setProxySettings(settings);
mIpConfiguration.setHttpProxy(proxy);
diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
index 04016b606b96..db0d36e5c086 100644
--- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
+++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
@@ -60,13 +60,13 @@ public class WifiEnterpriseConfig implements Parcelable {
"android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
/**
- * Intent extra: name for WAPI AS certificates
+ * Intent extra: name for WAPI USER certificates
*/
public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME =
"android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
/**
- * Intent extra: data for WAPI AS certificates
+ * Intent extra: data for WAPI USER certificates
*/
public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA =
"android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java
index f8d48c5403f7..7c031eaaeaf4 100644
--- a/wifi/java/android/net/wifi/WifiInfo.java
+++ b/wifi/java/android/net/wifi/WifiInfo.java
@@ -889,6 +889,13 @@ public class WifiInfo implements Parcelable {
*/
@Nullable
@SystemApi
+ public static String sanitizeSsid(@Nullable String string) {
+ return removeDoubleQuotes(string);
+ }
+
+ /** @hide */
+ @UnsupportedAppUsage
+ @Nullable
public static String removeDoubleQuotes(@Nullable String string) {
if (string == null) return null;
final int length = string.length();
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 1d71cf972aec..da521ed4d8a1 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -38,6 +38,7 @@ import android.net.ConnectivityManager;
import android.net.DhcpInfo;
import android.net.MacAddress;
import android.net.Network;
+import android.net.NetworkScore;
import android.net.NetworkStack;
import android.net.wifi.hotspot2.IProvisioningCallback;
import android.net.wifi.hotspot2.OsuProvider;
@@ -1334,10 +1335,12 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will return an empty list,
- * except for:
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return an
+ * empty list.
+ * <p>
+ * Deprecation Exemptions:
* <ul>
- * <li>Device Owner (DO) & Profile Owner (PO) apps will have access to the full list.
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps will have access to the full list.
* <li>Callers with Carrier privilege will receive a restricted list only containing
* configurations which they created.
* </ul>
@@ -1528,7 +1531,13 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code -1}.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code -1}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public int addNetwork(WifiConfiguration config) {
@@ -1563,7 +1572,13 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code -1}.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code -1}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public int updateNetwork(WifiConfiguration config) {
@@ -1961,8 +1976,13 @@ public class WifiManager {
* See {@link #addNetworkSuggestions(List)}, {@link #removeNetworkSuggestions(List)} for new
* API to add Wi-Fi networks for consideration when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#R} or above, except for system of DO/PO apps, this API
- * will throw {@link IllegalArgumentException}
+ * {@link android.os.Build.VERSION_CODES#R} or above, this API will always fail and throw
+ * {@link IllegalArgumentException}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
public void addOrUpdatePasspointConfiguration(PasspointConfiguration config) {
try {
@@ -2088,7 +2108,13 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code false}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public boolean removeNetwork(int netId) {
@@ -2132,7 +2158,12 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code false}.
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public boolean enableNetwork(int netId, boolean attemptConnect) {
@@ -2162,7 +2193,13 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code false}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public boolean disableNetwork(int netId) {
@@ -2185,7 +2222,13 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code false}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public boolean disconnect() {
@@ -2209,7 +2252,13 @@ public class WifiManager {
* {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
* when auto-connecting to wifi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code false}.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public boolean reconnect() {
@@ -2754,29 +2803,6 @@ public class WifiManager {
}
/**
- * Check if the device is dual mode capable i.e. supports concurrent STA + Soft AP.
- *
- * If the device is dual mode capable, it may require conversion of the user's Soft AP band
- * selection {@link SoftApConfiguration#mBand} from {@link SoftApConfiguration#BAND_5GHZ} to
- * include also {@link SoftApConfiguration#BAND_2GHZ}, since if the device is connected to a
- * 5GHz DFS channel as a STA, it may be unable to honor a request to start Soft AP on the same
- * DFS channel.
- *
- * @return {@code true} if dual mode STA + AP is supported by this device, {@code false}
- * otherwise.
- * @hide
- */
- @SystemApi
- @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
- public boolean isDualModeSupported() {
- try {
- return mService.needs5GHzToAnyApBandConversion();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }
-
- /**
* Return the DHCP-assigned addresses from the last successful DHCP request,
* if any.
* @return the DHCP information
@@ -2803,9 +2829,14 @@ public class WifiManager {
* @deprecated Starting with Build.VERSION_CODES#Q, applications are not allowed to
* enable/disable Wi-Fi.
* <b>Compatibility Note:</b> For applications targeting
- * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code false}
- * and will have no effect. If apps are targeting an older SDK (
- * {@link android.os.Build.VERSION_CODES#P} or below), they can continue to use this API.
+ * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always fail and return
+ * {@code false}. If apps are targeting an older SDK ({@link android.os.Build.VERSION_CODES#P}
+ * or below), they can continue to use this API.
+ * <p>
+ * Deprecation Exemptions:
+ * <ul>
+ * <li>Device Owner (DO), Profile Owner (PO) and system apps.
+ * </ul>
*/
@Deprecated
public boolean setWifiEnabled(boolean enabled) {
@@ -5918,10 +5949,11 @@ public class WifiManager {
*
* @param sessionId The ID to indicate current Wi-Fi network connection obtained from
* {@link WifiConnectedNetworkScorer#start(int)}.
- * @param isUsable The bit to indicate whether current Wi-Fi network is usable or not.
- * Populated by connected network scorer in applications.
+ * @param score The {@link android.net.NetworkScore} object representing the
+ * characteristics of current Wi-Fi network. Populated by connected network
+ * scorer in applications.
*/
- void onStatusChange(int sessionId, boolean isUsable);
+ void onScoreChange(int sessionId, @NonNull NetworkScore score);
/**
* Called by applications to trigger an update of {@link WifiUsabilityStatsEntry}.
@@ -5947,9 +5979,9 @@ public class WifiManager {
}
@Override
- public void onStatusChange(int sessionId, boolean isUsable) {
+ public void onScoreChange(int sessionId, @NonNull NetworkScore score) {
try {
- mScoreChangeCallback.onStatusChange(sessionId, isUsable);
+ mScoreChangeCallback.onScoreChange(sessionId, score);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java
index 6f01350d8af4..8250a95c97a9 100644
--- a/wifi/java/android/net/wifi/WifiScanner.java
+++ b/wifi/java/android/net/wifi/WifiScanner.java
@@ -836,6 +836,8 @@ public class WifiScanner {
* Enable/Disable wifi scanning.
*
* @param enable set to true to enable scanning, set to false to disable all types of scanning.
+ *
+ * @see WifiManager#ACTION_WIFI_SCAN_AVAILABLE
* {@hide}
*/
@SystemApi
diff --git a/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java b/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
index 3a0d080594c8..756d679b8f21 100644
--- a/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
+++ b/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
@@ -19,6 +19,7 @@ package android.net.wifi.hotspot2;
import static android.net.wifi.WifiConfiguration.METERED_OVERRIDE_NONE;
import static android.net.wifi.WifiConfiguration.MeteredOverride;
+import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.net.wifi.hotspot2.pps.Credential;
@@ -895,4 +896,18 @@ public final class PasspointConfiguration implements Parcelable {
public boolean isOsuProvisioned() {
return getUpdateIdentifier() != Integer.MIN_VALUE;
}
+
+ /**
+ * Get a unique identifier for a PasspointConfiguration object.
+ *
+ * @return A unique identifier
+ * @throws IllegalStateException if Credential or HomeSP nodes are not initialized
+ */
+ public @NonNull String getUniqueId() throws IllegalStateException {
+ if (mCredential == null || mHomeSp == null || TextUtils.isEmpty(mHomeSp.getFqdn())) {
+ throw new IllegalStateException("Credential or HomeSP are not initialized");
+ }
+
+ return mHomeSp.getFqdn();
+ }
}
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
index 9562f95ac162..36c7213b3799 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
@@ -137,12 +137,12 @@ public class WifiP2pConfig implements Parcelable {
/** @hide */
@UnsupportedAppUsage
- public int netId = WifiP2pGroup.PERSISTENT_NET_ID;
+ public int netId = WifiP2pGroup.NETWORK_ID_PERSISTENT;
/**
* Get the network ID of this P2P configuration.
- * @return either a non-negative network ID, or one of {@link WifiP2pGroup#PERSISTENT_NET_ID} or
- * {@link WifiP2pGroup#TEMPORARY_NET_ID}.
+ * @return either a non-negative network ID, or one of
+ * {@link WifiP2pGroup#NETWORK_ID_PERSISTENT} or {@link WifiP2pGroup#NETWORK_ID_TEMPORARY}.
*/
public int getNetworkId() {
return netId;
@@ -280,7 +280,7 @@ public class WifiP2pConfig implements Parcelable {
private String mPassphrase = "";
private int mGroupOperatingBand = GROUP_OWNER_BAND_AUTO;
private int mGroupOperatingFrequency = GROUP_OWNER_BAND_AUTO;
- private int mNetId = WifiP2pGroup.TEMPORARY_NET_ID;
+ private int mNetId = WifiP2pGroup.NETWORK_ID_TEMPORARY;
/**
* Specify the peer's MAC address. If not set, the device will
@@ -460,9 +460,9 @@ public class WifiP2pConfig implements Parcelable {
*/
public @NonNull Builder enablePersistentMode(boolean persistent) {
if (persistent) {
- mNetId = WifiP2pGroup.PERSISTENT_NET_ID;
+ mNetId = WifiP2pGroup.NETWORK_ID_PERSISTENT;
} else {
- mNetId = WifiP2pGroup.TEMPORARY_NET_ID;
+ mNetId = WifiP2pGroup.NETWORK_ID_TEMPORARY;
}
return this;
}
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
index 21f6704be0bb..e497b22d7769 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
@@ -41,7 +41,15 @@ public class WifiP2pGroup implements Parcelable {
* The temporary network id.
* @see #getNetworkId()
*/
- public static final int TEMPORARY_NET_ID = -1;
+ public static final int NETWORK_ID_TEMPORARY = -1;
+
+ /**
+ * The temporary network id.
+ *
+ * @hide
+ */
+ @UnsupportedAppUsage
+ public static final int TEMPORARY_NET_ID = NETWORK_ID_TEMPORARY;
/**
* The persistent network id.
@@ -49,7 +57,7 @@ public class WifiP2pGroup implements Parcelable {
* Otherwise, create a new persistent profile.
* @see #getNetworkId()
*/
- public static final int PERSISTENT_NET_ID = -2;
+ public static final int NETWORK_ID_PERSISTENT = -2;
/** The network name */
private String mNetworkName;
@@ -130,13 +138,13 @@ public class WifiP2pGroup implements Parcelable {
mPassphrase = match.group(4);
mOwner = new WifiP2pDevice(match.group(5));
if (match.group(6) != null) {
- mNetId = PERSISTENT_NET_ID;
+ mNetId = NETWORK_ID_PERSISTENT;
} else {
- mNetId = TEMPORARY_NET_ID;
+ mNetId = NETWORK_ID_TEMPORARY;
}
} else if (tokens[0].equals("P2P-INVITATION-RECEIVED")) {
String sa = null;
- mNetId = PERSISTENT_NET_ID;
+ mNetId = NETWORK_ID_PERSISTENT;
for (String token : tokens) {
String[] nameValue = token.split("=");
if (nameValue.length != 2) continue;
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
index 3459c9496595..0fe06756a969 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
@@ -1293,7 +1293,7 @@ public class WifiP2pManager {
@RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION)
public void createGroup(Channel c, ActionListener listener) {
checkChannel(c);
- c.mAsyncChannel.sendMessage(CREATE_GROUP, WifiP2pGroup.PERSISTENT_NET_ID,
+ c.mAsyncChannel.sendMessage(CREATE_GROUP, WifiP2pGroup.NETWORK_ID_PERSISTENT,
c.putListener(listener));
}
diff --git a/wifi/java/com/android/server/wifi/BaseWifiService.java b/wifi/java/com/android/server/wifi/BaseWifiService.java
index b46755349ad7..060c85cac209 100644
--- a/wifi/java/com/android/server/wifi/BaseWifiService.java
+++ b/wifi/java/com/android/server/wifi/BaseWifiService.java
@@ -38,6 +38,7 @@ import android.net.wifi.ScanResult;
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
import android.net.wifi.WifiNetworkSuggestion;
import android.net.wifi.hotspot2.IProvisioningCallback;
import android.net.wifi.hotspot2.OsuProvider;
@@ -268,7 +269,8 @@ public class BaseWifiService extends IWifiManager.Stub {
throw new UnsupportedOperationException();
}
- @Override
+ /** @deprecated use {@link WifiManager#isStaApConcurrencySupported()} */
+ @Deprecated
public boolean needs5GHzToAnyApBandConversion() {
throw new UnsupportedOperationException();
}
diff --git a/wifi/tests/src/android/net/wifi/WifiManagerTest.java b/wifi/tests/src/android/net/wifi/WifiManagerTest.java
index 0c2876e340c1..a189d507a32a 100644
--- a/wifi/tests/src/android/net/wifi/WifiManagerTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiManagerTest.java
@@ -1928,16 +1928,6 @@ public class WifiManagerTest {
}
/**
- * Test behavior of {@link WifiManager#isDualModeSupported()} ()}
- */
- @Test
- public void testIsDualModeSupported() throws Exception {
- when(mWifiService.needs5GHzToAnyApBandConversion()).thenReturn(true);
- assertTrue(mWifiManager.isDualModeSupported());
- verify(mWifiService).needs5GHzToAnyApBandConversion();
- }
-
- /**
* Test behavior of {@link WifiManager#is5GHzBandSupported()}
*/
@Test
diff --git a/wifi/tests/src/android/net/wifi/hotspot2/PasspointConfigurationTest.java b/wifi/tests/src/android/net/wifi/hotspot2/PasspointConfigurationTest.java
index 654154d77b0d..e78c5bf992f3 100644
--- a/wifi/tests/src/android/net/wifi/hotspot2/PasspointConfigurationTest.java
+++ b/wifi/tests/src/android/net/wifi/hotspot2/PasspointConfigurationTest.java
@@ -18,6 +18,7 @@ package android.net.wifi.hotspot2;
import static android.net.wifi.WifiConfiguration.METERED_OVERRIDE_NONE;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -364,4 +365,54 @@ public class PasspointConfigurationTest {
assertTrue(config.validateForR2());
assertTrue(config.isOsuProvisioned());
}
+
+ /**
+ * Verify that the unique identifier generated is correct.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void validateUniqueId() throws Exception {
+ PasspointConfiguration config = PasspointTestUtils.createConfig();
+ String uniqueId;
+ uniqueId = config.getUniqueId();
+ assertEquals(uniqueId, config.getHomeSp().getFqdn());
+ }
+
+ /**
+ * Verify that the unique identifier API generates an exception if HomeSP is not initialized.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void validateUniqueIdExceptionWithEmptyHomeSp() throws Exception {
+ PasspointConfiguration config = PasspointTestUtils.createConfig();
+ config.setHomeSp(null);
+ boolean exceptionCaught = false;
+ try {
+ String uniqueId = config.getUniqueId();
+ } catch (IllegalStateException e) {
+ exceptionCaught = true;
+ }
+ assertTrue(exceptionCaught);
+ }
+
+ /**
+ * Verify that the unique identifier API generates an exception if Credential is not
+ * initialized.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void validateUniqueIdExceptionWithEmptyCredential() throws Exception {
+ PasspointConfiguration config = PasspointTestUtils.createConfig();
+ config.setCredential(null);
+ boolean exceptionCaught = false;
+ try {
+ String uniqueId = config.getUniqueId();
+ } catch (IllegalStateException e) {
+ exceptionCaught = true;
+ }
+ assertTrue(exceptionCaught);
+ }
}